@restforgejs/platform 4.1.1 → 4.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. package/bin/sdf-tools.exe +0 -0
  2. package/build-info.json +2 -2
  3. package/cli/consumer-deploy.js +1 -1
  4. package/cli/consumer.js +1 -1
  5. package/generators/cli/endpoint/create.js +42 -3
  6. package/generators/cli/schema/apply.js +525 -0
  7. package/generators/cli/schema/diff.js +321 -0
  8. package/generators/cli/schema/generate-ddl.js +7 -10
  9. package/generators/cli/schema/init.js +95 -172
  10. package/generators/cli/schema/migrate.js +10 -16
  11. package/generators/cli/schema/models.js +8 -12
  12. package/generators/cli/schema/template.js +222 -0
  13. package/generators/cli/schema/validate.js +8 -12
  14. package/generators/cli-entry.js +17 -2
  15. package/generators/lib/dbschema-kit/apply-engine.js +582 -0
  16. package/generators/lib/dbschema-kit/diff-engine.js +703 -0
  17. package/generators/lib/dbschema-kit/diff-reporter.js +272 -0
  18. package/generators/lib/dbschema-kit/emitters/alter-table.js +275 -0
  19. package/generators/lib/payload/endpoint-schema-validator.js +171 -0
  20. package/generators/lib/payload/payload-runner.js +137 -220
  21. package/generators/lib/payload/schema-diff.js +277 -0
  22. package/generators/lib/utils/audit-columns.js +181 -0
  23. package/generators/lib/utils/cli-output.js +17 -0
  24. package/generators/lib/utils/database-introspector.js +16 -13
  25. package/integrity-manifest.json +8 -8
  26. package/package.json +1 -1
  27. package/scripts/verify-integrity.js +1 -1
  28. package/server.js +1 -1
  29. package/src/components/handlers/adjust_handler.js +1 -1
  30. package/src/components/handlers/audit_handler.js +1 -1
  31. package/src/components/handlers/delete_handler.js +1 -1
  32. package/src/components/handlers/export_handler.js +1 -1
  33. package/src/components/handlers/import_handler.js +1 -1
  34. package/src/components/handlers/insert_handler.js +1 -1
  35. package/src/components/handlers/update_handler.js +1 -1
  36. package/src/components/handlers/upload_handler.js +1 -1
  37. package/src/components/handlers/workflow_handler.js +1 -1
  38. package/src/components/integrations/webhook.js +1 -1
  39. package/src/consumers/baseConsumer.js +1 -1
  40. package/src/consumers/declarativeMapper.js +1 -1
  41. package/src/consumers/handlers/apiHandler.js +1 -1
  42. package/src/consumers/handlers/consoleHandler.js +1 -1
  43. package/src/consumers/handlers/databaseHandler.js +1 -1
  44. package/src/consumers/handlers/index.js +1 -1
  45. package/src/consumers/handlers/kafkaHandler.js +1 -1
  46. package/src/consumers/index.js +1 -1
  47. package/src/consumers/messageTransformer.js +1 -1
  48. package/src/consumers/validator.js +1 -1
  49. package/src/core/db/dialect/base-dialect.js +1 -1
  50. package/src/core/db/dialect/index.js +1 -1
  51. package/src/core/db/dialect/mysql-dialect.js +1 -1
  52. package/src/core/db/dialect/oracle-dialect.js +1 -1
  53. package/src/core/db/dialect/postgres-dialect.js +1 -1
  54. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  55. package/src/core/db/flatten-helper.js +1 -1
  56. package/src/core/db/query-builder-error.js +1 -1
  57. package/src/core/db/query-builder.js +1 -1
  58. package/src/core/db/relation-helper.js +1 -1
  59. package/src/core/handlers/delete_handler.js +1 -1
  60. package/src/core/handlers/insert_handler.js +1 -1
  61. package/src/core/handlers/update_handler.js +1 -1
  62. package/src/core/models/base-model.js +1 -1
  63. package/src/core/utils/cache-manager.js +1 -1
  64. package/src/core/utils/component-engine.js +1 -1
  65. package/src/core/utils/context-builder.js +1 -1
  66. package/src/core/utils/datetime-formatter.js +1 -1
  67. package/src/core/utils/datetime-parser.js +1 -1
  68. package/src/core/utils/db.js +1 -1
  69. package/src/core/utils/logger.js +1 -1
  70. package/src/core/utils/payload-loader.js +1 -1
  71. package/src/core/utils/security-checks.js +1 -1
  72. package/src/middleware/body-options.js +1 -1
  73. package/src/middleware/cors.js +1 -1
  74. package/src/middleware/idempotency.js +1 -1
  75. package/src/middleware/rate-limiter.js +1 -1
  76. package/src/middleware/request-logger.js +1 -1
  77. package/src/middleware/security-headers.js +1 -1
  78. package/src/models/base-model-mysql.js +1 -1
  79. package/src/models/base-model-oracle.js +1 -1
  80. package/src/models/base-model-sqlite.js +1 -1
  81. package/src/models/base-model.js +1 -1
  82. package/src/pro/caching/redis-client.js +1 -1
  83. package/src/pro/caching/redis-helper.js +1 -1
  84. package/src/pro/consumers/baseConsumer.js +1 -1
  85. package/src/pro/consumers/declarativeMapper.js +1 -1
  86. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  87. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  88. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  89. package/src/pro/consumers/handlers/index.js +1 -1
  90. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  91. package/src/pro/consumers/index.js +1 -1
  92. package/src/pro/consumers/messageTransformer.js +1 -1
  93. package/src/pro/consumers/validator.js +1 -1
  94. package/src/pro/database/base-model-mysql.js +1 -1
  95. package/src/pro/database/base-model-oracle.js +1 -1
  96. package/src/pro/database/base-model-sqlite.js +1 -1
  97. package/src/pro/database/db-mysql.js +1 -1
  98. package/src/pro/database/db-oracle.js +1 -1
  99. package/src/pro/database/db-sqlite.js +1 -1
  100. package/src/pro/excel/excel-generator.js +1 -1
  101. package/src/pro/excel/excel-parser.js +1 -1
  102. package/src/pro/excel/export-service.js +1 -1
  103. package/src/pro/excel/export_handler.js +1 -1
  104. package/src/pro/excel/import-service.js +1 -1
  105. package/src/pro/excel/import-validator.js +1 -1
  106. package/src/pro/excel/import_handler.js +1 -1
  107. package/src/pro/excel/upsert-builder.js +1 -1
  108. package/src/pro/idgen/idgen-routes.js +1 -1
  109. package/src/pro/integrations/lookup-resolver.js +1 -1
  110. package/src/pro/integrations/upload-handler-v2.js +1 -1
  111. package/src/pro/integrations/upload-handler.js +1 -1
  112. package/src/pro/integrations/webhook.js +1 -1
  113. package/src/pro/locking/lock-routes.js +1 -1
  114. package/src/pro/locking/resource-lock-manager.js +1 -1
  115. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  116. package/src/pro/messaging/kafkaService.js +1 -1
  117. package/src/pro/messaging/messagehubService.js +1 -1
  118. package/src/pro/messaging/rabbitmqService.js +1 -1
  119. package/src/pro/scheduler/job-manager.js +1 -1
  120. package/src/pro/scheduler/job-routes.js +1 -1
  121. package/src/pro/scheduler/job-validator.js +1 -1
  122. package/src/pro/storage/base-storage-provider.js +1 -1
  123. package/src/pro/storage/file-metadata-helper.js +1 -1
  124. package/src/pro/storage/index.js +1 -1
  125. package/src/pro/storage/local-storage-provider.js +1 -1
  126. package/src/pro/storage/s3-storage-provider.js +1 -1
  127. package/src/pro/storage/upload-cleanup-job.js +1 -1
  128. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  129. package/src/pro/storage/upload-pending-tracker.js +1 -1
  130. package/src/pro/websocket/broadcast-helper.js +1 -1
  131. package/src/pro/websocket/index.js +1 -1
  132. package/src/pro/websocket/livesync-server.js +1 -1
  133. package/src/pro/websocket/ws-broadcaster.js +1 -1
  134. package/src/services/export-service.js +1 -1
  135. package/src/services/import-service.js +1 -1
  136. package/src/services/kafkaConsumerService.js +1 -1
  137. package/src/services/kafkaService.js +1 -1
  138. package/src/services/messagehubService.js +1 -1
  139. package/src/services/rabbitmqService.js +1 -1
  140. package/src/utils/cache-invalidation-registry.js +1 -1
  141. package/src/utils/cache-manager.js +1 -1
  142. package/src/utils/component-engine.js +1 -1
  143. package/src/utils/config-extractor.js +1 -1
  144. package/src/utils/consumerLogger.js +1 -1
  145. package/src/utils/context-builder.js +1 -1
  146. package/src/utils/dashboard-helpers.js +1 -1
  147. package/src/utils/dateHelper.js +1 -1
  148. package/src/utils/datetime-formatter.js +1 -1
  149. package/src/utils/datetime-parser.js +1 -1
  150. package/src/utils/db-bootstrap.js +1 -1
  151. package/src/utils/db-mysql.js +1 -1
  152. package/src/utils/db-oracle.js +1 -1
  153. package/src/utils/db-sqlite.js +1 -1
  154. package/src/utils/db.js +1 -1
  155. package/src/utils/demo-generator.js +1 -1
  156. package/src/utils/excel-generator.js +1 -1
  157. package/src/utils/excel-parser.js +1 -1
  158. package/src/utils/file-watcher.js +1 -1
  159. package/src/utils/id-generator.js +1 -1
  160. package/src/utils/idempotency-manager.js +1 -1
  161. package/src/utils/import-validator.js +1 -1
  162. package/src/utils/license-client.js +1 -1
  163. package/src/utils/lock-manager.js +1 -1
  164. package/src/utils/logger.js +1 -1
  165. package/src/utils/lookup-resolver.js +1 -1
  166. package/src/utils/payload-loader.js +1 -1
  167. package/src/utils/processor-response.js +1 -1
  168. package/src/utils/rabbitmq.js +1 -1
  169. package/src/utils/redis-client.js +1 -1
  170. package/src/utils/redis-helper.js +1 -1
  171. package/src/utils/request-scope.js +1 -1
  172. package/src/utils/security-checks.js +1 -1
  173. package/src/utils/service-resolver.js +1 -1
  174. package/src/utils/shutdown-coordinator.js +1 -1
  175. package/src/utils/trusted-keys.js +1 -1
  176. package/src/utils/upload-handler.js +1 -1
  177. package/src/utils/upsert-builder.js +1 -1
  178. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- 'use strict';function a0_0xe31c(){const _0x40f188=['tgL2zsbtEw5Jia','u3Pdvei','x2HHBMrSzunVBM5Ly3rPB24','C05iBue','BuDjBLa','BwvZC2fNzq','z2v0','AKfzBhO','x2HHBMrSzvvUC3vIC2nYAwjL','Cg9UzW','BgL2zxn5BMnFC3vIC2nYAwjL','AxnbBgL2zq','x29WDgLVBNm','CMvTB3zLqwXStgLZDgvUzxjZ','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9KztOG','CgfYC2u','zgvSzxrL','zgvZDhjVEq','Aw5PDgLHBgL6zq','x293BLb1yMXPC2HLCG','mJrhAvr3Au4','vxnnzgi','zgvIDwC','BgL2zxn5BMnFy2XPzw50x2rPC2nVBM5Ly3rLza','vw5RBM93BIbTzxnZywDLihr5Cgu6ia','ANnYtgu','zgf0yq','Dw5ZDwjZy3jPyMu','AxnjBML0AwfSAxPLza','BgL2zxn5BMnFy2XPzw50x2nVBM5Ly3rLza','x3nLDhvWuMvKAxm','C2XPy2u','z2v0q2XPzw50','uKLJAei','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGChvIBgLZAgvYigzVCIbmAxzLifn5BMm','tgL2zsbtEw5Jihb1yMXPC2HLCIbPBML0AwfSAxPLzcaOuMvKAxmTB25SEsWGBM8Gv2vIu29JA2v0ihnLCNzLCIK','uNfWtuS','zhrtCKW','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLCL9MywLSzwq','AK1fzu4','x3n1yNnJCMLWDgLVBNm','mtmYmZC0ovDfD0LVvW','z1btB1G','ignSAwvUDcHZkq','sxb1vM0','x2LUAxrPywXPEMvK','Bg9Nz2vY','l3DZ','C3rHCNrZv2L0Aa','BgL2zxn5BMnFCMvKAxnFDw5HDMfPBgfIBgu','BKzkEKy','tgL2zsbtEw5JihnLCNzLCIbPBML0AwfSAxPLzcbHDcaVD3mGkgHLyxj0yMvHDdOG','x2XVz2DLCG','v2vIu29JA2v0ignSAwvUDcbLCNjVCJOG','DgvYBwLUyxrL','q2XPzw50ihn1yNnJCMLIzwqGDg86ia','x3jLzgLZuhvIBgLZAgvY','Ec1HCgKTA2v5','nvnzCwPSsW','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','BgvUz3rO','nZG2tuvnDLnr','y2XLyxi','u3ngv2C','BgL2zxn5BMnFy2XPzw50x2vYCM9Y','qNjVywrJyxn0ia','zxjYB3i','rursA1G','BhfotuW','C2vHCMnOugfYyw1Z','CMvXDwvZDeLK','rMHergG','Aw5JBhvKzxm','Aw5MBW','D2fYBG','x2HLyxj0yMvHDfrPBwvY','CgLUzW','AgvHzgvYCW','zxHWB3j0CW','AK1dtva','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLx2vYCM9Y','zNvSBa','DxjS','zw52','x3DZCW','t1HlyvC','Dw5ZDwjZy3jPyMvK','C2v0','ihrVia','x2HHBMrSzvn1yNnJCMLIzq','ufz2yKy','CMvTB3rLqwrKCMvZCW','zMHrv3u','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','Aw9YzwrPCW','y2XPzw50CW','DxbNCMfKzq','mZC3nZi2ogL3BMX1rW','y2f0y2G','AgfZ','rMfPBgvKihrVihn1yNnJCMLIzsb0BYbszwrPCYbJAgfUBMvSoIa','C29JA2v0','mJyZmxnyt3fmDG','ywrK','nZGXmtm0me95zwjbvq','ChvZAa','ExDWBxu','x3n0yxj0sgvHCNrIzwf0','Dg9ju09tDhjPBMC','y2DWD1y','x3nLDhvWvxbNCMfKzuf1DgG','mtu0mdKYzM9VruXl','lI4VlI4VDxrPBhmVBg9Nz2vY','CxvPDa','mJi3nZyXmtzZuNDOrgO','DwjNvKK','DhLWzq','C3vIC2nYAwjL','oxPyAxL6qq','Bg9JywXOB3n0','x21Vzgu','D3jPDgu','AxnbCNjHEq','wNn5DMm','uKvesvnFueftu1DpuKq','x3jLzgLZu3vIC2nYAwjLCG','C3rYAw5NAwz5','y29UBMvJDgLVBG','x3nLBMruB0nSAwvUDa','x3nLDhvWuMvKAxnqDwjSAxnOzxi','ywn0Aw9U','mJG5mZK1mLrgBLzIqG','y2XVC2u','C3vIC2nYAwjLzenOyw5UzwXZ','yNjVywrJyxn0'];a0_0xe31c=function(){return _0x40f188;};return a0_0xe31c();}const a0_0xa2ae=a0_0x4d8d;(function(_0x2634f1,_0x192f01){const _0x203d9d=a0_0x4d8d,_0x2ebb1d=_0x2634f1();while(!![]){try{const _0x39f16f=parseInt(_0x203d9d(0xfb))/0x1*(-parseInt(_0x203d9d(0xd2))/0x2)+parseInt(_0x203d9d(0x104))/0x3+parseInt(_0x203d9d(0xf6))/0x4*(-parseInt(_0x203d9d(0xcf))/0x5)+parseInt(_0x203d9d(0xa9))/0x6*(-parseInt(_0x203d9d(0xbe))/0x7)+parseInt(_0x203d9d(0x91))/0x8*(parseInt(_0x203d9d(0x10b))/0x9)+parseInt(_0x203d9d(0xfd))/0xa+parseInt(_0x203d9d(0x107))/0xb;if(_0x39f16f===_0x192f01)break;else _0x2ebb1d['push'](_0x2ebb1d['shift']());}catch(_0x5aed73){_0x2ebb1d['push'](_0x2ebb1d['shift']());}}}(a0_0xe31c,0x81696));function a0_0x4d8d(_0x560366,_0x3fbbfc){_0x560366=_0x560366-0x8a;const _0xe31c29=a0_0xe31c();let _0x4d8d33=_0xe31c29[_0x560366];if(a0_0x4d8d['EFXnir']===undefined){var _0x3ab57f=function(_0x16b1fe){const _0x74817c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4583bc='',_0x4ebba9='';for(let _0x2eccf4=0x0,_0x5de882,_0x19116f,_0x447fab=0x0;_0x19116f=_0x16b1fe['charAt'](_0x447fab++);~_0x19116f&&(_0x5de882=_0x2eccf4%0x4?_0x5de882*0x40+_0x19116f:_0x19116f,_0x2eccf4++%0x4)?_0x4583bc+=String['fromCharCode'](0xff&_0x5de882>>(-0x2*_0x2eccf4&0x6)):0x0){_0x19116f=_0x74817c['indexOf'](_0x19116f);}for(let _0x68113=0x0,_0x41c326=_0x4583bc['length'];_0x68113<_0x41c326;_0x68113++){_0x4ebba9+='%'+('00'+_0x4583bc['charCodeAt'](_0x68113)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4ebba9);};a0_0x4d8d['FOhnrf']=_0x3ab57f,a0_0x4d8d['ofdIsF']={},a0_0x4d8d['EFXnir']=!![];}const _0x3dc829=_0xe31c29[0x0],_0x6d3d51=_0x560366+_0x3dc829,_0x2fe52b=a0_0x4d8d['ofdIsF'][_0x6d3d51];return!_0x2fe52b?(_0x4d8d33=a0_0x4d8d['FOhnrf'](_0x4d8d33),a0_0x4d8d['ofdIsF'][_0x6d3d51]=_0x4d8d33):_0x4d8d33=_0x2fe52b,_0x4d8d33;}const {WebSocketServer}=require('ws'),{URL}=require(a0_0xa2ae(0xe7)),REDIS_CHANNEL_PREFIX='restforge:livesync:';class WebSocketBroadcaster{constructor(){const _0x41167c=a0_0xa2ae;this[_0x41167c(0xe9)]=null,this['_initialized']=![],this['_mode']=null,this[_0x41167c(0xa1)]={},this[_0x41167c(0xc9)]=console,this[_0x41167c(0xbd)]=new Map(),this[_0x41167c(0xe0)]=null,this['_redisPublisher']=null,this[_0x41167c(0x8b)]=null,this['_workerId']=process['pid'];}[a0_0xa2ae(0xa7)](_0x58238e,_0x301413={}){const _0x2c5a86=a0_0xa2ae,_0x17e170={'PAutb':function(_0x4a99c6,_0x4e7618,_0x5a55a8){return _0x4a99c6(_0x4e7618,_0x5a55a8);},'Zsyvc':'livesync_initialized','IpuVm':'/ws'};if(this['_initialized'])return;this['_options']=_0x301413,this[_0x2c5a86(0x10d)]=_0x2c5a86(0xe6);try{this['_logger']=require('../../utils/logger')[_0x2c5a86(0xc3)]||console;}catch(_0x14f192){this[_0x2c5a86(0xc9)]=console;}const _0x23de91=_0x17e170['PAutb'](parseInt,process['env']['LIVE_SYNC_HEARTBEAT_INTERVAL'],0xa)||0x1e;this['_wss']=new WebSocketServer({'server':_0x58238e,'path':_0x2c5a86(0xc4)}),this['_setupUpgradeAuth'](_0x58238e),this['_wss']['on']('connection',(_0x44a2e4,_0x51cb66)=>this[_0x2c5a86(0x97)](_0x44a2e4,_0x51cb66)),this[_0x2c5a86(0xe9)]['on']('error',_0x2a557b=>{const _0x18025e=_0x2c5a86;this['_logger']['error']({'event':'livesync_wss_error','error':_0x2a557b[_0x18025e(0x9a)]},'WebSocket\x20server\x20error:\x20'+_0x2a557b['message']);}),this['_startHeartbeat'](_0x23de91),this[_0x2c5a86(0xb3)](),this['_initialized']=!![],this[_0x2c5a86(0xc9)]['info']({'event':_0x17e170[_0x2c5a86(0x110)],'mode':_0x2c5a86(0xe6),'path':_0x17e170[_0x2c5a86(0xc1)],'heartbeat':_0x23de91+'s'},_0x2c5a86(0xc8)+_0x23de91+'s)');}['initializeAsPublisher'](_0x4f5fad={}){const _0x564615=a0_0xa2ae,_0x24ae03={'mauvs':function(_0xec5234,_0x103b77){return _0xec5234(_0x103b77);},'gbzGT':'livesync_publisher_initialized','PmEve':_0x564615(0xb8)};if(this[_0x564615(0xc2)])return;this['_options']=_0x4f5fad,this['_mode']='publisher';try{this['_logger']=_0x24ae03['mauvs'](require,_0x564615(0x105))['logger']||console;}catch(_0x5658c7){this['_logger']=console;}this[_0x564615(0x8f)](),this[_0x564615(0xc2)]=!![],this['_logger']['info']({'event':_0x24ae03['gbzGT'],'mode':'publisher'},_0x24ae03['PmEve']);}[a0_0xa2ae(0xb1)](){return this['_initialized'];}['broadcast'](_0x5f3205,_0x477564){const _0x15eb7f=a0_0xa2ae,_0x16c501={'FhDDh':'publisher','RIchB':'data_change','yjBNX':function(_0x5eaaf4,_0x201749){return _0x5eaaf4===_0x201749;},'dopUi':function(_0x1c7cad,_0xa93913){return _0x1c7cad>_0xa93913;}};if(!this['_initialized'])return;if(this['_mode']===_0x16c501[_0x15eb7f(0xdc)]){this['_publishToRedis'](_0x5f3205,_0x477564);return;}const _0x3a7b92=JSON[_0x15eb7f(0x8c)]({'type':_0x16c501[_0x15eb7f(0xb6)],'channel':_0x5f3205,'action':_0x477564['action'],'data':_0x477564[_0x15eb7f(0xaf)],'requestId':_0x477564[_0x15eb7f(0xdb)]||null,'timestamp':new Date()['toISOString']()}),[_0x12dbbb]=_0x5f3205['split'](':');let _0x3fcf6f=0x0;for(const [_0x37c39c,_0xedcac4]of this[_0x15eb7f(0xbd)]){const _0x1ebb3f=_0x16c501['yjBNX'](_0x37c39c,_0x5f3205),_0x5c3c86=_0x37c39c===_0x12dbbb+':*';if(_0x1ebb3f||_0x5c3c86)for(const _0x25d982 of _0xedcac4){if(_0x25d982['readyState']===0x1)try{_0x25d982['send'](_0x3a7b92),_0x3fcf6f++;}catch(_0x12c488){}}}_0x16c501['dopUi'](_0x3fcf6f,0x0)&&this[_0x15eb7f(0xc9)][_0x15eb7f(0xab)]({'event':'livesync_broadcast','channel':_0x5f3205,'action':_0x477564[_0x15eb7f(0x90)],'clients':_0x3fcf6f},_0x15eb7f(0xd6)+_0x477564['action']+'\x20on\x20'+_0x5f3205+_0x15eb7f(0xed)+_0x3fcf6f+_0x15eb7f(0xc0));}['_publishToRedis'](_0x16f191,_0x34b6b1){const _0x13c892=a0_0xa2ae;if(!this[_0x13c892(0xcd)])return;const _0x42cd67=JSON[_0x13c892(0x8c)]({'channel':_0x16f191,'message':_0x34b6b1,'workerId':this['_workerId']});this[_0x13c892(0xcd)]['publish'](REDIS_CHANNEL_PREFIX+_0x13c892(0x94),_0x42cd67)[_0x13c892(0xf7)](()=>{});}['shutdown'](){const _0xde0e5=a0_0xa2ae,_0x1ad228={'qVgDF':function(_0x1f2c55,_0x277849){return _0x1f2c55(_0x277849);}};if(!this[_0xde0e5(0xc2)])return;this['_heartbeatTimer']&&(_0x1ad228['qVgDF'](clearInterval,this[_0xde0e5(0xe0)]),this['_heartbeatTimer']=null);if(this['_wss']){for(const _0x2053bb of this['_wss'][_0xde0e5(0xf4)]){try{_0x2053bb['close'](0x3e9,'Server\x20shutting\x20down');}catch(_0x102c32){}}this['_wss']['close']();}if(this['_redisSubscriber'])try{this['_redisSubscriber'][_0xde0e5(0xb0)](),this[_0xde0e5(0x8b)][_0xde0e5(0x106)]();}catch(_0x47ee77){}if(this['_ownPublisher']&&this[_0xde0e5(0xcd)])try{this[_0xde0e5(0xcd)]['quit']();}catch(_0x433b8a){}this[_0xde0e5(0xbd)][_0xde0e5(0xd3)](),this[_0xde0e5(0xc2)]=![],this[_0xde0e5(0xc9)][_0xde0e5(0xde)]({'event':'livesync_shutdown','mode':this['_mode']},_0xde0e5(0x95)+this['_mode']+'\x20shut\x20down');}[a0_0xa2ae(0x103)](_0x2bc239){const _0x41bac8=a0_0xa2ae,_0x18d2a={'Zegsw':_0x41bac8(0x8d),'sNHmA':'/ws','PVvbF':_0x41bac8(0xce),'dtSrL':_0x41bac8(0xf5)},_0x81fd4e=_0x2bc239['listeners'](_0x18d2a['dtSrL'])[_0x41bac8(0xb4)]();_0x2bc239[_0x41bac8(0xa2)](_0x18d2a[_0x41bac8(0xba)]),_0x2bc239['on'](_0x41bac8(0xf5),(_0x2d6c20,_0x14e727,_0x4c6ffd)=>{const _0x571bfa=_0x41bac8;if(!_0x2d6c20[_0x571bfa(0xe7)]||!_0x2d6c20['url'][_0x571bfa(0xc5)](_0x18d2a[_0x571bfa(0x98)])){for(const _0x218694 of _0x81fd4e){_0x218694['call'](_0x2bc239,_0x2d6c20,_0x14e727,_0x4c6ffd);}return;}if(this['_options']['apiKey']){const _0x27c7f8=new URL(_0x2d6c20['url'],'http://'+(_0x2d6c20['headers']['host']||_0x571bfa(0x10c))),_0x6e4c1=_0x27c7f8[_0x571bfa(0xda)]['get']('x-api-key')||_0x2d6c20['headers'][_0x18d2a[_0x571bfa(0xef)]];if(!_0x6e4c1||_0x6e4c1!==this[_0x571bfa(0xa1)]['apiKey']){_0x14e727[_0x571bfa(0x10e)]('HTTP/1.1\x20401\x20Unauthorized\x0d\x0a\x0d\x0a'),_0x14e727[_0x571bfa(0xa6)]();return;}}this['_wss']['handleUpgrade'](_0x2d6c20,_0x14e727,_0x4c6ffd,_0x353881=>{this['_wss']['emit'](_0x18d2a['Zegsw'],_0x353881,_0x2d6c20);});});}[a0_0xa2ae(0x97)](_0x566cc1,_0x5ab03f){const _0x51e4d0=a0_0xa2ae,_0x31d0ae={'jsrLe':_0x51e4d0(0xd7),'zyPlW':_0x51e4d0(0xb2),'mGInP':_0x51e4d0(0x92)};_0x566cc1['isAlive']=!![],_0x566cc1['subscribedChannels']=new Set();const _0x4e17e1=_0x5ab03f[_0x51e4d0(0xe2)]['x-forwarded-for']||_0x5ab03f[_0x51e4d0(0xfa)][_0x51e4d0(0xf0)];this[_0x51e4d0(0xc9)]['info']({'event':_0x31d0ae['zyPlW'],'ip':_0x4e17e1},'Live\x20Sync\x20client\x20connected\x20from\x20'+_0x4e17e1),_0x566cc1['on'](_0x51e4d0(0x9e),()=>{_0x566cc1['isAlive']=!![];}),_0x566cc1['on']('message',_0x4f918d=>{const _0x29291d=_0x51e4d0;try{const _0x50978c=JSON[_0x29291d(0xa4)](_0x4f918d['toString']());this['_handleClientMessage'](_0x566cc1,_0x50978c);}catch(_0x4a5720){this[_0x29291d(0x8e)](_0x566cc1,{'type':_0x31d0ae[_0x29291d(0xae)],'message':'Invalid\x20JSON\x20message'});}}),_0x566cc1['on'](_0x31d0ae[_0x51e4d0(0x99)],()=>{const _0x4036d1=_0x51e4d0;this[_0x4036d1(0xd0)](_0x566cc1),this['_logger']['debug']({'event':_0x4036d1(0xac),'ip':_0x4e17e1},'Live\x20Sync\x20client\x20disconnected:\x20'+_0x4e17e1);}),_0x566cc1['on']('error',_0x3ea464=>{const _0x143097=_0x51e4d0;this['_logger']['warn']({'event':_0x143097(0xd5),'error':_0x3ea464[_0x143097(0x9a)]},_0x143097(0xca)+_0x3ea464['message']),this[_0x143097(0xd0)](_0x566cc1);});}['_handleClientMessage'](_0x42ca61,_0x552d64){const _0x3ffac0=a0_0xa2ae,_0x19e3a2={'rLyHH':_0x3ffac0(0x10a),'EDRkX':_0x3ffac0(0xb0),'OXZeh':_0x3ffac0(0x9e)};switch(_0x552d64[_0x3ffac0(0x109)]){case _0x19e3a2['rLyHH']:this[_0x3ffac0(0xee)](_0x42ca61,_0x552d64['channels']);break;case _0x19e3a2[_0x3ffac0(0xd8)]:this[_0x3ffac0(0x9d)](_0x42ca61,_0x552d64['channels']);break;case _0x19e3a2['OXZeh']:_0x42ca61[_0x3ffac0(0xa0)]=!![];break;default:this['_sendToClient'](_0x42ca61,{'type':'error','message':_0x3ffac0(0xad)+_0x552d64[_0x3ffac0(0x109)]});}}[a0_0xa2ae(0xee)](_0x1cf397,_0x3e4af7){const _0x2788e0=a0_0xa2ae,_0x4ad299={'nFJzF':function(_0x32eb3c,_0x8e36f7){return _0x32eb3c===_0x8e36f7;},'fAWYa':'string','RqpMK':'subscribed'};if(!Array[_0x2788e0(0x10f)](_0x3e4af7)||_0x4ad299[_0x2788e0(0xc7)](_0x3e4af7['length'],0x0)){this['_sendToClient'](_0x1cf397,{'type':'error','message':'channels\x20must\x20be\x20a\x20non-empty\x20array'});return;}const _0x1648ac=[];for(const _0x30d5b2 of _0x3e4af7){if(typeof _0x30d5b2!==_0x4ad299['fAWYa']||!_0x30d5b2[_0x2788e0(0xdd)](':'))continue;!this[_0x2788e0(0xbd)][_0x2788e0(0xf8)](_0x30d5b2)&&this['_subscriptions'][_0x2788e0(0xec)](_0x30d5b2,new Set()),this['_subscriptions']['get'](_0x30d5b2)['add'](_0x1cf397),_0x1cf397['subscribedChannels'][_0x2788e0(0xfc)](_0x30d5b2),_0x1648ac[_0x2788e0(0xfe)](_0x30d5b2);}_0x1648ac[_0x2788e0(0xd1)]>0x0&&(this[_0x2788e0(0x8e)](_0x1cf397,{'type':_0x4ad299[_0x2788e0(0xb9)],'channels':_0x1648ac,'timestamp':new Date()[_0x2788e0(0x101)]()}),this[_0x2788e0(0xc9)][_0x2788e0(0xab)]({'event':_0x2788e0(0x9f),'channels':_0x1648ac},_0x2788e0(0xcc)+_0x1648ac['join'](',\x20')));}[a0_0xa2ae(0x9d)](_0xa11dca,_0x28d383){const _0x1b551=a0_0xa2ae,_0x3846c8={'gPSoX':function(_0x24a493,_0x2bd87){return _0x24a493>_0x2bd87;},'SzCTB':_0x1b551(0xeb)};if(!Array[_0x1b551(0x10f)](_0x28d383))return;const _0x388dc0=[];for(const _0x3140cf of _0x28d383){this[_0x1b551(0xbd)]['has'](_0x3140cf)&&(this[_0x1b551(0xbd)][_0x1b551(0x9b)](_0x3140cf)['delete'](_0xa11dca),this['_subscriptions']['get'](_0x3140cf)['size']===0x0&&this['_subscriptions'][_0x1b551(0xa5)](_0x3140cf)),_0xa11dca[_0x1b551(0x93)]['delete'](_0x3140cf),_0x388dc0[_0x1b551(0xfe)](_0x3140cf);}_0x3846c8[_0x1b551(0xbf)](_0x388dc0['length'],0x0)&&this[_0x1b551(0x8e)](_0xa11dca,{'type':_0x3846c8[_0x1b551(0x96)],'channels':_0x388dc0,'timestamp':new Date()[_0x1b551(0x101)]()});}[a0_0xa2ae(0xd0)](_0x58d20c){const _0x56b7c1=a0_0xa2ae,_0x5983df={'fhQWu':function(_0x1a0f3f,_0x5e132b){return _0x1a0f3f===_0x5e132b;}};if(!_0x58d20c['subscribedChannels'])return;for(const _0x2e7130 of _0x58d20c[_0x56b7c1(0x93)]){this['_subscriptions']['has'](_0x2e7130)&&(this[_0x56b7c1(0xbd)][_0x56b7c1(0x9b)](_0x2e7130)[_0x56b7c1(0xa5)](_0x58d20c),_0x5983df[_0x56b7c1(0xf1)](this[_0x56b7c1(0xbd)]['get'](_0x2e7130)['size'],0x0)&&this[_0x56b7c1(0xbd)]['delete'](_0x2e7130));}_0x58d20c['subscribedChannels']['clear']();}[a0_0xa2ae(0x8e)](_0x229477,_0x2e0132){const _0x2b58c0=a0_0xa2ae;if(_0x229477['readyState']===0x1)try{_0x229477['send'](JSON[_0x2b58c0(0x8c)](_0x2e0132));}catch(_0x2e44c0){}}[a0_0xa2ae(0x100)](_0x4add1e){const _0x2f9d54=a0_0xa2ae,_0x410a14={'cgpwV':_0x2f9d54(0xe1),'UsMdb':function(_0x178645,_0x1136a3,_0x454c31){return _0x178645(_0x1136a3,_0x454c31);},'gwFZs':function(_0x4f60d5,_0x39c845){return _0x4f60d5*_0x39c845;}};this['_heartbeatTimer']=_0x410a14[_0x2f9d54(0xaa)](setInterval,()=>{const _0x156f69=_0x2f9d54;if(!this['_wss'])return;for(const _0x154ab0 of this['_wss']['clients']){if(!_0x154ab0[_0x156f69(0xa0)]){this[_0x156f69(0xd0)](_0x154ab0),_0x154ab0[_0x156f69(0xcb)]();continue;}_0x154ab0['isAlive']=![],this[_0x156f69(0x8e)](_0x154ab0,{'type':_0x410a14[_0x156f69(0x102)],'timestamp':new Date()[_0x156f69(0x101)]()});try{_0x154ab0[_0x156f69(0xe1)]();}catch(_0x36f7d6){}}},_0x410a14['gwFZs'](_0x4add1e,0x3e8));}['_setupRedisPublisher'](){const _0x4d8828=a0_0xa2ae,_0x442ee6={'POeKl':_0x4d8828(0xb7),'ywpmu':function(_0x112f93,_0x14dea1){return _0x112f93(_0x14dea1);},'jMEeN':'../../utils/redis-client'};this[_0x4d8828(0xa8)]=![];try{try{const _0x3352b0=_0x442ee6[_0x4d8828(0xff)](require,_0x442ee6[_0x4d8828(0xbc)]);this['_redisPublisher']=_0x3352b0[_0x4d8828(0xb5)]?_0x3352b0[_0x4d8828(0xb5)]():null;}catch(_0x4279eb){this['_redisPublisher']=null;}if(!this[_0x4d8828(0xcd)]){const _0x55a45c=require(_0x4d8828(0xf3)),_0x4ca467={'host':process[_0x4d8828(0xe8)]['REDIS_HOST']||'127.0.0.1','port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18eb,'password':process[_0x4d8828(0xe8)]['REDIS_PASSWORD']||undefined,'db':parseInt(process['env']['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};this['_redisPublisher']=new _0x55a45c(_0x4ca467),this['_ownPublisher']=!![],this[_0x4d8828(0xcd)]['connect']()['catch'](()=>{const _0x2079b1=_0x4d8828;this[_0x2079b1(0xc9)]['warn']({'event':'livesync_redis_publisher_failed'},_0x442ee6['POeKl']),this[_0x2079b1(0xcd)]=null;});}}catch(_0x5ebff4){this['_logger']['warn']({'event':_0x4d8828(0xc6),'error':_0x5ebff4['message']},'Redis\x20not\x20available\x20for\x20Live\x20Sync\x20publisher:\x20'+_0x5ebff4['message']);}}[a0_0xa2ae(0xb3)](){const _0x5d5f48=a0_0xa2ae,_0x3a33ea={'jMCMP':function(_0x31026d,_0x5a9f4b){return _0x31026d(_0x5a9f4b);},'jAYlz':_0x5d5f48(0xf3),'lqNML':function(_0x3021e2,_0x2e3d35,_0x417455){return _0x3021e2(_0x2e3d35,_0x417455);},'tidjc':_0x5d5f48(0xf2)};this['_ownPublisher']=![];try{const _0x120e3b=_0x3a33ea['jMCMP'](require,_0x3a33ea[_0x5d5f48(0x9c)]),_0x5a5810={'host':process['env']['REDIS_HOST']||'127.0.0.1','port':parseInt(process['env']['REDIS_PORT'],0xa)||0x18eb,'password':process['env'][_0x5d5f48(0x8a)]||undefined,'db':_0x3a33ea[_0x5d5f48(0xd9)](parseInt,process[_0x5d5f48(0xe8)]['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};try{const _0x39170a=_0x3a33ea[_0x5d5f48(0xe4)](require,_0x3a33ea['tidjc']);this[_0x5d5f48(0xcd)]=_0x39170a['getClient']?_0x39170a[_0x5d5f48(0xb5)]():null;}catch(_0x2c320c){this['_redisPublisher']=null;}!this[_0x5d5f48(0xcd)]&&(this[_0x5d5f48(0xcd)]=new _0x120e3b(_0x5a5810),this[_0x5d5f48(0xa8)]=!![],this[_0x5d5f48(0xcd)]['connect']()['catch'](()=>{const _0x3cb3e3=_0x5d5f48;this[_0x3cb3e3(0xc9)][_0x3cb3e3(0xdf)]({'event':'livesync_redis_publisher_failed'},_0x3cb3e3(0xb7)),this[_0x3cb3e3(0xcd)]=null;})),this[_0x5d5f48(0x8b)]=new _0x120e3b(_0x5a5810),this[_0x5d5f48(0x8b)]['connect']()['then'](()=>{const _0x54d8fc=_0x5d5f48,_0x3fccc0={'SsFWg':'Live\x20Sync\x20Redis\x20subscriber\x20active\x20for\x20cluster\x20mode'};this['_redisSubscriber'][_0x54d8fc(0x10a)](REDIS_CHANNEL_PREFIX+'broadcast',_0x492264=>{const _0x10fbb7=_0x54d8fc;if(_0x492264){this['_logger'][_0x10fbb7(0xd7)]({'event':_0x10fbb7(0xe5),'error':_0x492264['message']},_0x10fbb7(0xf9)+_0x492264[_0x10fbb7(0x9a)]);return;}this[_0x10fbb7(0xc9)]['info']({'event':'livesync_redis_subscribed'},_0x3fccc0[_0x10fbb7(0xd4)]);}),this[_0x54d8fc(0x8b)]['on']('message',(_0x53095b,_0x3f24f6)=>{const _0x8bf19=_0x54d8fc;try{const _0x4f4271=JSON[_0x8bf19(0xa4)](_0x3f24f6);if(_0x4f4271['workerId']===this['_workerId'])return;this['_broadcastLocal'](_0x4f4271['channel'],_0x4f4271['message']);}catch(_0x2a2f10){}});})[_0x5d5f48(0xf7)](()=>{const _0x2199b2=_0x5d5f48;this['_logger'][_0x2199b2(0xdf)]({'event':_0x2199b2(0xbb)},'Failed\x20to\x20connect\x20Redis\x20subscriber\x20for\x20Live\x20Sync\x20cluster\x20mode'),this['_redisSubscriber']=null;});}catch(_0x565740){this['_logger'][_0x5d5f48(0xdf)]({'event':_0x5d5f48(0xc6),'error':_0x565740[_0x5d5f48(0x9a)]},_0x5d5f48(0xa3)+_0x565740['message']);}}['_broadcastLocal'](_0x1fea32,_0x30892d){const _0x40ac1a=a0_0xa2ae,_0x73c21a={'ubgVI':function(_0xcad46c,_0x5a0238){return _0xcad46c===_0x5a0238;},'OXKaW':function(_0x1a73e1,_0x4d3c11){return _0x1a73e1||_0x4d3c11;}};if(!this['_wss'])return;const _0x518687=JSON['stringify']({'type':'data_change','channel':_0x1fea32,'action':_0x30892d['action'],'data':_0x30892d['data'],'requestId':_0x30892d['requestId']||null,'timestamp':new Date()[_0x40ac1a(0x101)]()}),[_0x4281d3]=_0x1fea32['split'](':');for(const [_0x4032d9,_0x26bf4f]of this[_0x40ac1a(0xbd)]){const _0x55ac9b=_0x4032d9===_0x1fea32,_0x47a2ed=_0x73c21a[_0x40ac1a(0x108)](_0x4032d9,_0x4281d3+':*');if(_0x73c21a[_0x40ac1a(0xea)](_0x55ac9b,_0x47a2ed))for(const _0xa0b56 of _0x26bf4f){if(_0xa0b56['readyState']===0x1)try{_0xa0b56['send'](_0x518687);}catch(_0x484189){}}}}}module[a0_0xa2ae(0xe3)]=WebSocketBroadcaster;
1
+ 'use strict';const a0_0xa0fec7=a0_0x18f7;(function(_0x2ab713,_0x209629){const _0x45bb1d=a0_0x18f7,_0x48ea3d=_0x2ab713();while(!![]){try{const _0x1db60e=parseInt(_0x45bb1d(0x111))/0x1+parseInt(_0x45bb1d(0x124))/0x2+-parseInt(_0x45bb1d(0x109))/0x3*(parseInt(_0x45bb1d(0xf2))/0x4)+-parseInt(_0x45bb1d(0xcb))/0x5*(-parseInt(_0x45bb1d(0xa8))/0x6)+parseInt(_0x45bb1d(0x10c))/0x7*(-parseInt(_0x45bb1d(0xb9))/0x8)+-parseInt(_0x45bb1d(0xab))/0x9+parseInt(_0x45bb1d(0xf5))/0xa*(-parseInt(_0x45bb1d(0x11c))/0xb);if(_0x1db60e===_0x209629)break;else _0x48ea3d['push'](_0x48ea3d['shift']());}catch(_0x3af714){_0x48ea3d['push'](_0x48ea3d['shift']());}}}(a0_0xf018,0x5a064));function a0_0x18f7(_0x6da574,_0x32af05){_0x6da574=_0x6da574-0x9e;const _0xf0180d=a0_0xf018();let _0x18f7f2=_0xf0180d[_0x6da574];if(a0_0x18f7['WbKWLj']===undefined){var _0x37b612=function(_0x5bb8b6){const _0x364909='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x51757d='',_0x3586b1='';for(let _0x5e70f1=0x0,_0x510ec2,_0x16d75c,_0xc63203=0x0;_0x16d75c=_0x5bb8b6['charAt'](_0xc63203++);~_0x16d75c&&(_0x510ec2=_0x5e70f1%0x4?_0x510ec2*0x40+_0x16d75c:_0x16d75c,_0x5e70f1++%0x4)?_0x51757d+=String['fromCharCode'](0xff&_0x510ec2>>(-0x2*_0x5e70f1&0x6)):0x0){_0x16d75c=_0x364909['indexOf'](_0x16d75c);}for(let _0x21c806=0x0,_0x3c9248=_0x51757d['length'];_0x21c806<_0x3c9248;_0x21c806++){_0x3586b1+='%'+('00'+_0x51757d['charCodeAt'](_0x21c806)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3586b1);};a0_0x18f7['XfItGE']=_0x37b612,a0_0x18f7['TyVdgw']={},a0_0x18f7['WbKWLj']=!![];}const _0x25d670=_0xf0180d[0x0],_0x49746e=_0x6da574+_0x25d670,_0x17a840=a0_0x18f7['TyVdgw'][_0x49746e];return!_0x17a840?(_0x18f7f2=a0_0x18f7['XfItGE'](_0x18f7f2),a0_0x18f7['TyVdgw'][_0x49746e]=_0x18f7f2):_0x18f7f2=_0x17a840,_0x18f7f2;}const {WebSocketServer}=require('ws'),{URL}=require(a0_0xa0fec7(0xf8)),REDIS_CHANNEL_PREFIX=a0_0xa0fec7(0xbe);class WebSocketBroadcaster{constructor(){const _0x1eb436=a0_0xa0fec7;this[_0x1eb436(0xdd)]=null,this[_0x1eb436(0x113)]=![],this[_0x1eb436(0xe3)]=null,this['_options']={},this[_0x1eb436(0x11b)]=console,this['_subscriptions']=new Map(),this['_heartbeatTimer']=null,this['_redisPublisher']=null,this[_0x1eb436(0x112)]=null,this['_workerId']=process['pid'];}['initialize'](_0x352b4a,_0x5b392c={}){const _0x12abcb=a0_0xa0fec7,_0x5d8b72={'RsItp':_0x12abcb(0xec),'nuaKX':'full','BCTHf':'../../utils/logger','KMZRW':function(_0x2ff40e,_0x2eb5f2,_0x45f79d){return _0x2ff40e(_0x2eb5f2,_0x45f79d);},'fNDfE':'/ws','iDqgh':_0x12abcb(0xad),'gtPfZ':_0x12abcb(0xa5)};if(this[_0x12abcb(0x113)])return;this['_options']=_0x5b392c,this[_0x12abcb(0xe3)]=_0x5d8b72[_0x12abcb(0xeb)];try{this['_logger']=require(_0x5d8b72[_0x12abcb(0x126)])['logger']||console;}catch(_0x57c0d3){this[_0x12abcb(0x11b)]=console;}const _0x3b015e=_0x5d8b72['KMZRW'](parseInt,process[_0x12abcb(0xce)][_0x12abcb(0xc4)],0xa)||0x1e;this['_wss']=new WebSocketServer({'server':_0x352b4a,'path':_0x5d8b72[_0x12abcb(0x100)]}),this[_0x12abcb(0xcf)](_0x352b4a),this[_0x12abcb(0xdd)]['on'](_0x5d8b72['iDqgh'],(_0x568c72,_0x45d039)=>this['_handleConnection'](_0x568c72,_0x45d039)),this['_wss']['on'](_0x5d8b72['gtPfZ'],_0x360803=>{const _0x4ca368=_0x12abcb;this[_0x4ca368(0x11b)][_0x4ca368(0xa5)]({'event':_0x5d8b72[_0x4ca368(0xf1)],'error':_0x360803[_0x4ca368(0xa7)]},_0x4ca368(0xb7)+_0x360803['message']);}),this[_0x12abcb(0xc0)](_0x3b015e),this['_setupRedis'](),this[_0x12abcb(0x113)]=!![],this[_0x12abcb(0x11b)][_0x12abcb(0xd9)]({'event':_0x12abcb(0xb0),'mode':_0x5d8b72[_0x12abcb(0xeb)],'path':_0x12abcb(0xe5),'heartbeat':_0x3b015e+'s'},_0x12abcb(0xc6)+_0x3b015e+'s)');}[a0_0xa0fec7(0xfc)](_0x294f9f={}){const _0x43408e=a0_0xa0fec7,_0xd0ce1={'MgDyw':_0x43408e(0x108),'pOeqt':'Live\x20Sync\x20publisher\x20initialized\x20(Redis-only,\x20no\x20WebSocket\x20server)'},_0x2b2d51='5|4|3|2|1|0|6'['split']('|');let _0x1ed95b=0x0;while(!![]){switch(_0x2b2d51[_0x1ed95b++]){case'0':this['_initialized']=!![];continue;case'1':this['_setupRedisPublisher']();continue;case'2':try{this['_logger']=require('../../utils/logger')[_0x43408e(0xe1)]||console;}catch(_0x5b6d6c){this['_logger']=console;}continue;case'3':this['_mode']=_0x43408e(0xdc);continue;case'4':this['_options']=_0x294f9f;continue;case'5':if(this['_initialized'])return;continue;case'6':this[_0x43408e(0x11b)][_0x43408e(0xd9)]({'event':_0xd0ce1['MgDyw'],'mode':'publisher'},_0xd0ce1[_0x43408e(0xde)]);continue;}break;}}['isInitialized'](){return this['_initialized'];}['broadcast'](_0x2bc692,_0x1c5c7d){const _0x5da308=a0_0xa0fec7,_0x2f508c={'dvTQC':function(_0x30feb7,_0x241401){return _0x30feb7===_0x241401;}};if(!this[_0x5da308(0x113)])return;if(_0x2f508c[_0x5da308(0xc8)](this[_0x5da308(0xe3)],'publisher')){this[_0x5da308(0xff)](_0x2bc692,_0x1c5c7d);return;}const _0x204139=JSON[_0x5da308(0xca)]({'type':_0x5da308(0x10e),'channel':_0x2bc692,'action':_0x1c5c7d[_0x5da308(0xc3)],'data':_0x1c5c7d['data'],'requestId':_0x1c5c7d[_0x5da308(0xe4)]||null,'timestamp':new Date()['toISOString']()}),[_0x39ab6b]=_0x2bc692['split'](':');let _0x4546bb=0x0;for(const [_0x503785,_0x527b25]of this['_subscriptions']){const _0x38936b=_0x503785===_0x2bc692,_0x1451d8=_0x503785===_0x39ab6b+':*';if(_0x38936b||_0x1451d8)for(const _0x3ac4c8 of _0x527b25){if(_0x3ac4c8['readyState']===0x1)try{_0x3ac4c8[_0x5da308(0xcd)](_0x204139),_0x4546bb++;}catch(_0x4527d3){}}}_0x4546bb>0x0&&this[_0x5da308(0x11b)][_0x5da308(0xf7)]({'event':'livesync_broadcast','channel':_0x2bc692,'action':_0x1c5c7d[_0x5da308(0xc3)],'clients':_0x4546bb},_0x5da308(0xa9)+_0x1c5c7d[_0x5da308(0xc3)]+'\x20on\x20'+_0x2bc692+'\x20to\x20'+_0x4546bb+'\x20client(s)');}[a0_0xa0fec7(0xff)](_0x4dd1cc,_0x2e23b1){const _0x1ee7ee=a0_0xa0fec7;if(!this[_0x1ee7ee(0xef)])return;const _0x11e9c9=JSON[_0x1ee7ee(0xca)]({'channel':_0x4dd1cc,'message':_0x2e23b1,'workerId':this['_workerId']});this[_0x1ee7ee(0xef)]['publish'](REDIS_CHANNEL_PREFIX+'broadcast',_0x11e9c9)['catch'](()=>{});}[a0_0xa0fec7(0xb3)](){const _0xfddc1b=a0_0xa0fec7,_0x15493f={'fnOOX':function(_0x14c6b0,_0x346559){return _0x14c6b0(_0x346559);},'zfafa':'Server\x20shutting\x20down','djqNu':_0xfddc1b(0xbc)};if(!this[_0xfddc1b(0x113)])return;this[_0xfddc1b(0xa1)]&&(_0x15493f[_0xfddc1b(0xf0)](clearInterval,this['_heartbeatTimer']),this[_0xfddc1b(0xa1)]=null);if(this['_wss']){for(const _0x2ec401 of this['_wss']['clients']){try{_0x2ec401[_0xfddc1b(0x127)](0x3e9,_0x15493f[_0xfddc1b(0x9f)]);}catch(_0x5415c2){}}this['_wss']['close']();}if(this[_0xfddc1b(0x112)])try{this[_0xfddc1b(0x112)][_0xfddc1b(0x103)](),this[_0xfddc1b(0x112)]['quit']();}catch(_0x3ffbc3){}if(this['_ownPublisher']&&this[_0xfddc1b(0xef)])try{this[_0xfddc1b(0xef)]['quit']();}catch(_0x1379d5){}this['_subscriptions']['clear'](),this[_0xfddc1b(0x113)]=![],this['_logger'][_0xfddc1b(0xd9)]({'event':_0x15493f['djqNu'],'mode':this['_mode']},'Live\x20Sync\x20'+this['_mode']+_0xfddc1b(0x12c));}['_setupUpgradeAuth'](_0x32a37a){const _0x137f54=a0_0xa0fec7,_0x1ad249={'RkQUr':_0x137f54(0x116),'exoih':'x-api-key','TBusn':function(_0x11e2d8,_0x290928){return _0x11e2d8!==_0x290928;},'cOogy':_0x137f54(0xed),'rfPvL':'upgrade'},_0x21b64e=_0x32a37a['listeners'](_0x137f54(0x11a))[_0x137f54(0x12b)]();_0x32a37a[_0x137f54(0xcc)](_0x1ad249['rfPvL']),_0x32a37a['on'](_0x137f54(0x11a),(_0x520934,_0x2f9c07,_0x209d57)=>{const _0x26df90=_0x137f54,_0x4654d8={'iRzML':_0x26df90(0xad)};if(!_0x520934[_0x26df90(0xf8)]||!_0x520934[_0x26df90(0xf8)][_0x26df90(0x121)]('/ws')){for(const _0x5965a2 of _0x21b64e){_0x5965a2['call'](_0x32a37a,_0x520934,_0x2f9c07,_0x209d57);}return;}if(this[_0x26df90(0x107)]['apiKey']){const _0x2152a7=new URL(_0x520934[_0x26df90(0xf8)],_0x26df90(0xd0)+(_0x520934[_0x26df90(0xa3)]['host']||_0x1ad249['RkQUr'])),_0x59487b=_0x2152a7[_0x26df90(0xbd)][_0x26df90(0xaf)](_0x1ad249[_0x26df90(0xf4)])||_0x520934[_0x26df90(0xa3)][_0x1ad249[_0x26df90(0xf4)]];if(!_0x59487b||_0x1ad249['TBusn'](_0x59487b,this['_options']['apiKey'])){_0x2f9c07['write'](_0x1ad249[_0x26df90(0x10f)]),_0x2f9c07[_0x26df90(0xee)]();return;}}this['_wss'][_0x26df90(0xf6)](_0x520934,_0x2f9c07,_0x209d57,_0x309af2=>{const _0x1edd4f=_0x26df90;this[_0x1edd4f(0xdd)][_0x1edd4f(0xac)](_0x4654d8[_0x1edd4f(0x119)],_0x309af2,_0x520934);});});}[a0_0xa0fec7(0xa0)](_0x14c640,_0x4532ad){const _0x48072b=a0_0xa0fec7,_0x2c8124={'bNLWx':_0x48072b(0xa5),'XMfsm':_0x48072b(0xda),'kaXuE':'livesync_client_connected','CgzaZ':_0x48072b(0x114),'edBJi':_0x48072b(0xa7),'qbMhf':'close'};_0x14c640[_0x48072b(0xc2)]=!![],_0x14c640[_0x48072b(0xc9)]=new Set();const _0x1f0b9b=_0x4532ad['headers'][_0x2c8124['XMfsm']]||_0x4532ad['socket'][_0x48072b(0x104)];this[_0x48072b(0x11b)]['info']({'event':_0x2c8124[_0x48072b(0xbb)],'ip':_0x1f0b9b},_0x48072b(0xae)+_0x1f0b9b),_0x14c640['on'](_0x2c8124['CgzaZ'],()=>{_0x14c640['isAlive']=!![];}),_0x14c640['on'](_0x2c8124['edBJi'],_0x45a5bd=>{const _0x4c0271=_0x48072b;try{const _0x28a5b6=JSON[_0x4c0271(0xd4)](_0x45a5bd[_0x4c0271(0xb2)]());this[_0x4c0271(0xc1)](_0x14c640,_0x28a5b6);}catch(_0x2d9656){this['_sendToClient'](_0x14c640,{'type':_0x2c8124[_0x4c0271(0x106)],'message':_0x4c0271(0xd6)});}}),_0x14c640['on'](_0x2c8124['qbMhf'],()=>{const _0x5928a7=_0x48072b;this[_0x5928a7(0xb1)](_0x14c640),this[_0x5928a7(0x11b)][_0x5928a7(0xf7)]({'event':'livesync_client_disconnected','ip':_0x1f0b9b},_0x5928a7(0xfd)+_0x1f0b9b);}),_0x14c640['on'](_0x2c8124[_0x48072b(0x106)],_0x508001=>{const _0x33ff7e=_0x48072b;this['_logger'][_0x33ff7e(0xea)]({'event':_0x33ff7e(0xfb),'error':_0x508001[_0x33ff7e(0xa7)]},_0x33ff7e(0xb6)+_0x508001['message']),this[_0x33ff7e(0xb1)](_0x14c640);});}['_handleClientMessage'](_0x1fa3a1,_0x575268){const _0x129d26=a0_0xa0fec7,_0x5d2537={'wKPTT':_0x129d26(0x103),'LGpjy':'pong'};switch(_0x575268[_0x129d26(0xbf)]){case'subscribe':this[_0x129d26(0x9e)](_0x1fa3a1,_0x575268['channels']);break;case _0x5d2537['wKPTT']:this['_handleUnsubscribe'](_0x1fa3a1,_0x575268['channels']);break;case _0x5d2537['LGpjy']:_0x1fa3a1['isAlive']=!![];break;default:this['_sendToClient'](_0x1fa3a1,{'type':_0x129d26(0xa5),'message':_0x129d26(0xc7)+_0x575268['type']});}}[a0_0xa0fec7(0x9e)](_0x39c178,_0x3e90f8){const _0x1df3c2=a0_0xa0fec7,_0xbc80fc={'VqKTL':'string','QlHAc':'subscribed','KWxZh':_0x1df3c2(0x123)};if(!Array[_0x1df3c2(0xdf)](_0x3e90f8)||_0x3e90f8[_0x1df3c2(0xd8)]===0x0){this['_sendToClient'](_0x39c178,{'type':'error','message':'channels\x20must\x20be\x20a\x20non-empty\x20array'});return;}const _0x189682=[];for(const _0x505ccb of _0x3e90f8){if(typeof _0x505ccb!==_0xbc80fc[_0x1df3c2(0xa6)]||!_0x505ccb['includes'](':'))continue;!this['_subscriptions']['has'](_0x505ccb)&&this[_0x1df3c2(0x120)]['set'](_0x505ccb,new Set()),this[_0x1df3c2(0x120)][_0x1df3c2(0xaf)](_0x505ccb)['add'](_0x39c178),_0x39c178[_0x1df3c2(0xc9)][_0x1df3c2(0x118)](_0x505ccb),_0x189682[_0x1df3c2(0xb5)](_0x505ccb);}_0x189682['length']>0x0&&(this['_sendToClient'](_0x39c178,{'type':_0xbc80fc[_0x1df3c2(0xfa)],'channels':_0x189682,'timestamp':new Date()['toISOString']()}),this['_logger'][_0x1df3c2(0xf7)]({'event':_0xbc80fc['KWxZh'],'channels':_0x189682},'Client\x20subscribed\x20to:\x20'+_0x189682['join'](',\x20')));}[a0_0xa0fec7(0x11e)](_0x3b8839,_0x18b158){const _0x579ad3=a0_0xa0fec7,_0x488460={'YDHGc':function(_0x292376,_0x58bd66){return _0x292376===_0x58bd66;},'UZqWV':function(_0x17c7c0,_0x31d2ab){return _0x17c7c0>_0x31d2ab;}};if(!Array[_0x579ad3(0xdf)](_0x18b158))return;const _0x3af39b=[];for(const _0x3eaddd of _0x18b158){this['_subscriptions']['has'](_0x3eaddd)&&(this[_0x579ad3(0x120)][_0x579ad3(0xaf)](_0x3eaddd)['delete'](_0x3b8839),_0x488460[_0x579ad3(0xa4)](this['_subscriptions']['get'](_0x3eaddd)['size'],0x0)&&this['_subscriptions']['delete'](_0x3eaddd)),_0x3b8839[_0x579ad3(0xc9)]['delete'](_0x3eaddd),_0x3af39b[_0x579ad3(0xb5)](_0x3eaddd);}_0x488460['UZqWV'](_0x3af39b[_0x579ad3(0xd8)],0x0)&&this['_sendToClient'](_0x3b8839,{'type':_0x579ad3(0xb4),'channels':_0x3af39b,'timestamp':new Date()[_0x579ad3(0xd7)]()});}[a0_0xa0fec7(0xb1)](_0x58a24c){const _0x5c94b7=a0_0xa0fec7,_0x443062={'Vhvau':function(_0x27a9aa,_0x599129){return _0x27a9aa===_0x599129;}};if(!_0x58a24c['subscribedChannels'])return;for(const _0x25e606 of _0x58a24c['subscribedChannels']){this['_subscriptions']['has'](_0x25e606)&&(this[_0x5c94b7(0x120)][_0x5c94b7(0xaf)](_0x25e606)['delete'](_0x58a24c),_0x443062['Vhvau'](this['_subscriptions'][_0x5c94b7(0xaf)](_0x25e606)['size'],0x0)&&this['_subscriptions'][_0x5c94b7(0xd3)](_0x25e606));}_0x58a24c['subscribedChannels']['clear']();}['_sendToClient'](_0x1d7023,_0x26128f){const _0x44239e=a0_0xa0fec7,_0x1684ed={'IJESc':function(_0x16b600,_0x10ef5b){return _0x16b600===_0x10ef5b;}};if(_0x1684ed[_0x44239e(0xe7)](_0x1d7023[_0x44239e(0x10d)],0x1))try{_0x1d7023['send'](JSON['stringify'](_0x26128f));}catch(_0x1ef1f6){}}['_startHeartbeat'](_0x3b0734){const _0x1261e6=a0_0xa0fec7,_0x4730ba={'TwomM':'ping'};this[_0x1261e6(0xa1)]=setInterval(()=>{const _0x17f1b0=_0x1261e6;if(!this['_wss'])return;for(const _0x18dbfb of this[_0x17f1b0(0xdd)]['clients']){if(!_0x18dbfb[_0x17f1b0(0xc2)]){this['_removeClientFromAllChannels'](_0x18dbfb),_0x18dbfb[_0x17f1b0(0x12a)]();continue;}_0x18dbfb[_0x17f1b0(0xc2)]=![],this['_sendToClient'](_0x18dbfb,{'type':_0x4730ba['TwomM'],'timestamp':new Date()['toISOString']()});try{_0x18dbfb[_0x17f1b0(0xaa)]();}catch(_0x41f524){}}},_0x3b0734*0x3e8);}['_setupRedisPublisher'](){const _0x3debe1=a0_0xa0fec7,_0x309f71={'EjMvS':_0x3debe1(0xe0),'ebZYh':_0x3debe1(0x11f),'HCQgE':function(_0xf61ab9,_0x39906a){return _0xf61ab9(_0x39906a);},'gsklT':_0x3debe1(0xdb),'EHoyG':function(_0x6f46d8,_0x3efd38,_0x42a6bb){return _0x6f46d8(_0x3efd38,_0x42a6bb);},'cbwbD':function(_0x22c678,_0x3be0a9,_0xd467a0){return _0x22c678(_0x3be0a9,_0xd467a0);}};this[_0x3debe1(0xc5)]=![];try{try{const _0x3e76da=require('../../utils/redis-client');this['_redisPublisher']=_0x3e76da['getClient']?_0x3e76da['getClient']():null;}catch(_0x2b14fe){this['_redisPublisher']=null;}if(!this['_redisPublisher']){const _0x49864e=_0x309f71['HCQgE'](require,'ioredis'),_0x3b13c3={'host':process['env'][_0x3debe1(0x102)]||_0x309f71[_0x3debe1(0xa2)],'port':_0x309f71['EHoyG'](parseInt,process['env']['REDIS_PORT'],0xa)||0x18eb,'password':process[_0x3debe1(0xce)][_0x3debe1(0x128)]||undefined,'db':_0x309f71[_0x3debe1(0x117)](parseInt,process['env']['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};this['_redisPublisher']=new _0x49864e(_0x3b13c3),this['_ownPublisher']=!![],this['_redisPublisher'][_0x3debe1(0xe8)]()['catch'](()=>{const _0x3e7e26=_0x3debe1;this[_0x3e7e26(0x11b)][_0x3e7e26(0xea)]({'event':_0x309f71[_0x3e7e26(0xe2)]},_0x309f71['ebZYh']),this['_redisPublisher']=null;});}}catch(_0x4be412){this['_logger'][_0x3debe1(0xea)]({'event':'livesync_redis_unavailable','error':_0x4be412[_0x3debe1(0xa7)]},_0x3debe1(0xba)+_0x4be412['message']);}}['_setupRedis'](){const _0x4db526=a0_0xa0fec7,_0x10d13b={'RNLNH':_0x4db526(0x101),'mzKEe':'message','XoUXF':'127.0.0.1','XOGlP':'../../utils/redis-client'};this[_0x4db526(0xc5)]=![];try{const _0x336aeb=require(_0x4db526(0xb8)),_0x4dd45f={'host':process['env'][_0x4db526(0x102)]||_0x10d13b['XoUXF'],'port':parseInt(process[_0x4db526(0xce)][_0x4db526(0x10b)],0xa)||0x18eb,'password':process[_0x4db526(0xce)]['REDIS_PASSWORD']||undefined,'db':parseInt(process[_0x4db526(0xce)]['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};try{const _0x4d525e=require(_0x10d13b[_0x4db526(0x11d)]);this['_redisPublisher']=_0x4d525e['getClient']?_0x4d525e[_0x4db526(0xd5)]():null;}catch(_0x49008a){this[_0x4db526(0xef)]=null;}!this['_redisPublisher']&&(this['_redisPublisher']=new _0x336aeb(_0x4dd45f),this['_ownPublisher']=!![],this['_redisPublisher'][_0x4db526(0xe8)]()[_0x4db526(0x125)](()=>{const _0x1652ea=_0x4db526;this[_0x1652ea(0x11b)]['warn']({'event':'livesync_redis_publisher_failed'},'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync'),this[_0x1652ea(0xef)]=null;})),this[_0x4db526(0x112)]=new _0x336aeb(_0x4dd45f),this[_0x4db526(0x112)][_0x4db526(0xe8)]()[_0x4db526(0xd2)](()=>{const _0x2b8df6=_0x4db526,_0x577544={'gnJoC':_0x10d13b['RNLNH']};this[_0x2b8df6(0x112)]['subscribe'](REDIS_CHANNEL_PREFIX+_0x2b8df6(0xf3),_0x49f57b=>{const _0x37adff=_0x2b8df6;if(_0x49f57b){this['_logger'][_0x37adff(0xa5)]({'event':_0x577544[_0x37adff(0x10a)],'error':_0x49f57b['message']},'Failed\x20to\x20subscribe\x20to\x20Redis\x20channel:\x20'+_0x49f57b['message']);return;}this['_logger'][_0x37adff(0xd9)]({'event':'livesync_redis_subscribed'},_0x37adff(0x122));}),this[_0x2b8df6(0x112)]['on'](_0x10d13b['mzKEe'],(_0x32eee0,_0x11614d)=>{const _0x33a05d=_0x2b8df6;try{const _0x459b94=JSON[_0x33a05d(0xd4)](_0x11614d);if(_0x459b94[_0x33a05d(0x115)]===this[_0x33a05d(0xfe)])return;this['_broadcastLocal'](_0x459b94[_0x33a05d(0xe9)],_0x459b94['message']);}catch(_0x355a3e){}});})[_0x4db526(0x125)](()=>{const _0x30d832=_0x4db526;this[_0x30d832(0x11b)]['warn']({'event':_0x30d832(0xe6)},_0x30d832(0xd1)),this['_redisSubscriber']=null;});}catch(_0x1666ce){this['_logger'][_0x4db526(0xea)]({'event':'livesync_redis_unavailable','error':_0x1666ce[_0x4db526(0xa7)]},_0x4db526(0x129)+_0x1666ce['message']);}}[a0_0xa0fec7(0xf9)](_0x2ff823,_0x35cb0f){const _0x26e800=a0_0xa0fec7,_0x567e4d={'SZxfh':function(_0x634407,_0x5961b6){return _0x634407===_0x5961b6;}};if(!this[_0x26e800(0xdd)])return;const _0x5baf76=JSON[_0x26e800(0xca)]({'type':'data_change','channel':_0x2ff823,'action':_0x35cb0f[_0x26e800(0xc3)],'data':_0x35cb0f['data'],'requestId':_0x35cb0f[_0x26e800(0xe4)]||null,'timestamp':new Date()[_0x26e800(0xd7)]()}),[_0x2c8fa7]=_0x2ff823['split'](':');for(const [_0xecc78,_0x47ec5f]of this['_subscriptions']){const _0x1ff49f=_0x567e4d[_0x26e800(0x110)](_0xecc78,_0x2ff823),_0x299fc=_0xecc78===_0x2c8fa7+':*';if(_0x1ff49f||_0x299fc)for(const _0x281e7a of _0x47ec5f){if(_0x281e7a['readyState']===0x1)try{_0x281e7a['send'](_0x5baf76);}catch(_0x4454e6){}}}}}function a0_0xf018(){const _0x461f1f=['CgfYC2u','z2v0q2XPzw50','sw52ywXPzcbku09oig1LC3nHz2u','Dg9ju09tDhjPBMC','BgvUz3rO','Aw5MBW','Ec1MB3j3yxjKzwqTzM9Y','mti3lJaUmc4X','ChvIBgLZAgvY','x3DZCW','Ce9LCxq','AxnbCNjHEq','BgL2zxn5BMnFCMvKAxnFChvIBgLZAgvYx2zHAwXLza','Bg9Nz2vY','rwPnDLm','x21Vzgu','CMvXDwvZDeLK','l3DZ','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLCL9MywLSzwq','suPfu2m','y29UBMvJDa','y2HHBM5LBa','D2fYBG','BNvHs1G','BgL2zxn5BMnFD3nZx2vYCM9Y','sfruuc8XlJeGndaXifvUyxv0Ag9YAxPLza0kdqO','zgvZDhjVEq','x3jLzgLZuhvIBgLZAgvY','zM5pt1G','uNnjDha','ng1Xzufktq','yNjVywrJyxn0','zxHVAwG','ndC3merwyuvzCa','AgfUzgXLvxbNCMfKzq','zgvIDwC','DxjS','x2jYB2fKy2fZDeXVy2fS','uwXiqwm','BgL2zxn5BMnFy2XPzw50x2vYCM9Y','Aw5PDgLHBgL6zufZuhvIBgLZAgvY','tgL2zsbtEw5JignSAwvUDcbKAxnJB25Uzwn0zwq6ia','x3DVCMTLCKLK','x3b1yMXPC2HuB1jLzgLZ','zK5ezKu','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLx2vYCM9Y','uKvesvnFse9tva','Dw5ZDwjZy3jPyMu','CMvTB3rLqwrKCMvZCW','zxHWB3j0CW','yK5mv3G','x29WDgLVBNm','BgL2zxn5BMnFChvIBgLZAgvYx2LUAxrPywXPEMvK','mJC4ndq1tgfXDfju','z25kB0m','uKvesvnFue9sva','ndeWmtKZwwH3zufm','CMvHzhLtDgf0zq','zgf0yv9JAgfUz2u','y09Vz3K','u1P4zMG','nti1mdKZquz6CKLz','x3jLzgLZu3vIC2nYAwjLCG','x2LUAxrPywXPEMvK','Cg9UzW','D29YA2vYswq','Bg9JywXOB3n0','y2j3yKq','ywrK','Avj6tuW','DxbNCMfKzq','x2XVz2DLCG','nJGWou90weDwsG','we9hBfa','x2HHBMrSzvvUC3vIC2nYAwjL','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGChvIBgLZAgvYigzVCIbmAxzLifn5BMm','x3n1yNnJCMLWDgLVBNm','C3rHCNrZv2L0Aa','tgL2zsbtEw5JifjLzgLZihn1yNnJCMLIzxiGywn0AxzLigzVCIbJBhvZDgvYig1Vzgu','BgL2zxn5BMnFC3vIC2nYAwjL','mtqWmJiZmerzs056Ca','y2f0y2G','qKnusgy','y2XVC2u','uKvesvnFueftu1DpuKq','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9KztOG','DgvYBwLUyxrL','C2XPy2u','ihnODxqGzg93BG','x2HHBMrSzvn1yNnJCMLIzq','EMzHzMe','x2HHBMrSzunVBM5Ly3rPB24','x2HLyxj0yMvHDfrPBwvY','z3nRBfq','AgvHzgvYCW','wurir2m','zxjYB3i','vNflveW','BwvZC2fNzq','nJK0nZrxDu1pt3u','qNjVywrJyxn0ia','CgLUzW','ndCZotiYovnkCw9LCW','zw1PDa','y29UBMvJDgLVBG','tgL2zsbtEw5JignSAwvUDcbJB25Uzwn0zwqGzNjVBsa','z2v0','BgL2zxn5BMnFAw5PDgLHBgL6zwq','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','Dg9tDhjPBMC','C2H1DgrVD24','Dw5ZDwjZy3jPyMvK','ChvZAa','v2vIu29JA2v0ignSAwvUDcbLCNjVCJOG','v2vIu29JA2v0ihnLCNzLCIbLCNjVCJOG','Aw9YzwrPCW','og5SBxfNqG','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5Jihb1yMXPC2HLCJOG','A2fyDuu','BgL2zxn5BMnFC2H1DgrVD24','C2vHCMnOugfYyw1Z','CMvZDgzVCMDLoMXPDMvZEw5JoG','DhLWzq','x3n0yxj0sgvHCNrIzwf0','x2HHBMrSzunSAwvUDe1LC3nHz2u','AxnbBgL2zq','ywn0Aw9U','teLwrv9twu5dx0HfqvjuqKvbvf9jtLrfuLzbta','x293BLb1yMXPC2HLCG','tgL2zsbtEw5JihnLCNzLCIbPBML0AwfSAxPLzcbHDcaVD3mGkgHLyxj0yMvHDdOG','vw5RBM93BIbTzxnZywDLihr5Cgu6ia','zhzuuum','C3vIC2nYAwjLzenOyw5UzwXZ','C3rYAw5NAwz5','ntb5y091Chu','CMvTB3zLqwXStgLZDgvUzxjZ','C2vUza','zw52','x3nLDhvWvxbNCMfKzuf1DgG','Ahr0CdOVlW','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGC3vIC2nYAwjLCIbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9Kzq','DgHLBG','zgvSzxrL'];a0_0xf018=function(){return _0x461f1f;};return a0_0xf018();}module[a0_0xa0fec7(0x105)]=WebSocketBroadcaster;
@@ -1 +1 @@
1
- const a0_0x12c6b4=a0_0x3490;(function(_0xf98d76,_0x5e2b0c){const _0x1bd0a6=a0_0x3490,_0x59b2df=_0xf98d76();while(!![]){try{const _0x399c19=-parseInt(_0x1bd0a6(0x247))/0x1*(parseInt(_0x1bd0a6(0x200))/0x2)+-parseInt(_0x1bd0a6(0x24b))/0x3*(-parseInt(_0x1bd0a6(0x22e))/0x4)+parseInt(_0x1bd0a6(0x1b4))/0x5+-parseInt(_0x1bd0a6(0x210))/0x6*(parseInt(_0x1bd0a6(0x22b))/0x7)+-parseInt(_0x1bd0a6(0x1da))/0x8+parseInt(_0x1bd0a6(0x1bc))/0x9+parseInt(_0x1bd0a6(0x24d))/0xa;if(_0x399c19===_0x5e2b0c)break;else _0x59b2df['push'](_0x59b2df['shift']());}catch(_0x54b540){_0x59b2df['push'](_0x59b2df['shift']());}}}(a0_0x68c1,0xec92a));const {v7:uuidv7}=require(a0_0x12c6b4(0x248)),path=require(a0_0x12c6b4(0x249)),fs=require('fs')[a0_0x12c6b4(0x222)],fsSync=require('fs'),redisHelper=require(a0_0x12c6b4(0x225)),{logger,logError}=require('../utils/logger'),dbType=(process[a0_0x12c6b4(0x1fe)][a0_0x12c6b4(0x211)]||a0_0x12c6b4(0x218))[a0_0x12c6b4(0x203)]();let executeQuery;if(dbType===a0_0x12c6b4(0x213)){const oracleDb=require(a0_0x12c6b4(0x1e4));executeQuery=(_0x37f43a,_0x260f6d)=>oracleDb['executeQuery'](_0x37f43a,_0x260f6d);}else{if(dbType===a0_0x12c6b4(0x1c5)){const mysqlDb=require(a0_0x12c6b4(0x20b));executeQuery=(_0x2362d1,_0x395462)=>mysqlDb[a0_0x12c6b4(0x209)](_0x2362d1,_0x395462);}else executeQuery=require('../utils/db')[a0_0x12c6b4(0x209)];}function a0_0x68c1(){const _0x1a19eb=['l2v4Cg9YDc1KB3DUBg9Hzd9QB2jFAwq9','nZK5odeZAKfdvffP','cLnftevdvcaQiezst00G','ieLoicG','mJGXnZC2nfnyuePzDW','zKzYDLy','qwnnC1K','id0G','D2fYBG','rxHWB3j0igPVyIbJCMvHDgvK','ignVBhvTBNmGzNjVBsbJDxn0B20GzxHWB3j0uxvLCNKGCMvZDwX0','rw13yuS','AxnbCNjHEq','iefticGkicaGifnftevdvca','Aw52ywXPzf9ZB3j0x2nVBhvTBG','vxnPBMCGyxv0BY1Nzw5LCMf0zwqGCxvLCNK','ChjVy2vZC0PVyG','C3vIC3rYAw5N','CgvUzgLUzW','CMvoy3q','CMvWBgfJzq','tg9HzgvKifnrtcbXDwvYEsbMCM9TigzPBguGka','AM9PBG','qvnd','DxbKyxrLsM9I','y29UzgL0Aw9UCW','zxHJzwXFy29SDw1UC19ZzwXLy3rFywXS','tfb5txu','Aw5MBW','mtCZnJC1ovLnq01IDq','DxvPza','Cgf0Aa','uxb1CeC','m01gzLLPsW','zxHWB3j0uxvLCNK','mtiYnty4mJbUtvHtA2G','zxjYB3i','y3jLyxrLzf9HDa','nJG1mty5nuz6ANbsuG','zxHWB3j0x2zHAwXLza','vxnPBMCG','vMHQswm','BwfW','BwTKAxjtEw5J','A3jtuwy','sw52ywXPzcbMAwXLoIbYzwzLCMvUy2uGlsbWyxrOigLZigvTChr5','ota4mZm3nNfRs0LTsq','zxHWB3j0x3bYB2nLC3nPBMDFC3rHCNq','zxHJzwXFy29SDw1UC19MCM9Tx2nVBMzPzW','zxHWB3j0x2nVBxbSzxrLza','revtqW','rxHWB3j0ihnLCNzPy2uGAw5PDgLHBgL6zwq','C3Phtum','yNvPBgrpCMrLCKj5q2XHDxnL','teLlrq','BxLZCwW','C3rHDhvZ','y29TCgXLDgvK','u2TPChbPBMCGAw52ywXPzcbZB3j0ignVBhvTBG','uLL1tuC','zMv0y2HeyxrH','rMv0y2HPBMCGzgf0ysbMCM9TigrHDgfIyxnL','y29SDw1UrM9YBwf0CW','ie9sia','z2v0sM9I','cIaGicbguK9nia','DhjPBq','DKrArLK','CeTYqNK','ChjVz3jLC3m','uMvZB2X2Aw5Nigv4Cg9YDff1zxj5igzYB20GzMLSztOG','y3fhAMu','vNPUB0G','Dw5SAw5R','CMvZB2X2zq','zxHPC3rZu3LUyW','mteWmdm1nZzoC2zHtwC','zxHWB3j0x2zLDgnOx3n0yxj0','rxHWB3j0ignVBxbSzxrLzcbZDwnJzxnZzNvSBhK','rxHWB3j0ihbYB2nLC3nPBMCGC3rHCNrLza','z2vUzxjHDgvkB2jjza','lI4VDxrPBhmVzxHJzwWTz2vUzxjHDg9Y','zMLSztO','C3rHCNrZv2L0Aa','C2fUAxrPEMvwywX1zq','tufnr3u','lI4VDxrPBhmVzgiTB3jHy2XL','BMzNtxC','vxnPBMCGy3vZDg9Tigv4Cg9YDff1zxj5','uMflB1i','cK9srevsiejzia','ignVBhvTBNmGzNjVBsbJB25MAwCGkg5VigrHDgeP','z2vUzxjHDgvfEgnLBa','iefticGkicaGia','sK1ctve','ywvTtgu','y3DK','vxnPBMCGywXSia','C3rYAw5N','uejsCe4','BgvUz3rO','AxPbzuq','CMvHzezPBgvtEw5J','EeLfBLa','Cgf5Bg9Hza','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','Dg9ju09tDhjPBMC','lI4VlI4VzxHWB3j0CY8','zxHWB3j0x2zLDgnOx2vYCM9Y','tvrUq2C','x2v4Cg9YDerPCG','Dg9vChbLCKnHC2u','zw52','zxHWB3j0x3f1zxj5x2zPBgvFBg9HzgvK','mLrOv1bYwq','zxHWB3j0x2nSzwfUDxbFC3rHCNq','CMvZB2X2zuv4Cg9YDff1zxj5','Dg9mB3DLCKnHC2u','y29SDw1UCW','rxHWB3j0igzPBguGzgvSzxrLza','rxHWB3j0ihbYB2nLC3nPBMCGzMfPBgvK','AM9Ix2LK','rMfPBgvKihrVigLUAxrPywXPEMuGzxHWB3j0ihnLCNzPy2u','zxHLy3v0zvf1zxj5','DgfIBgvoyw1LigfUzcbJB2X1Bw5ZigfYzsbYzxf1AxjLza','lI4VDxrPBhmVzgiTBxLZCwW','zxHWB3j0lq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','zw50CMLLCW','zMLSzv9WyxrO','mtjsC2fsq2i','rejFvfLqrq','EhLxrMu','B3jHy2XL','tKzZC3y','zMLLBgrmywjLBhm','svmGtLvmta','l2fWAs8','Cg9ZDgDYzxnXBa','z2v0qwXSsM9ICW','t1rorxi','ignVBhvTBNmGzNjVBsbXDwvYEsbYzxn1Bhq','zxHJzwXFy29SDw1UC19MCM9Tx2n1C3rVBv9XDwvYEq','CM91BMq','EuPquNm','rxHWB3j0ihf1zxj5igzPBguGAxmGzw1WDhK6ia','zxHJzwXFy29SDw1UC19MywXSyMfJAW','zxHWB3j0rgLY','ChjVBwLZzxm','zxHJzwXFy29SDw1UC19MCM9Tx3f1zxj5x3jLC3vSDa','zMLSzw5HBwu','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','zxHWB3j0x3vZAw5Nx2n1C3rVBv9XDwvYEq','BKDysgm','zxHJzwXFy29SDw1UC19MCM9Tx3jLCxvLC3q','zxHWB3j0CW'];a0_0x68c1=function(){return _0x1a19eb;};return a0_0x68c1();}function a0_0x3490(_0x5cfe2e,_0x2c7fda){_0x5cfe2e=_0x5cfe2e-0x1b2;const _0x68c18=a0_0x68c1();let _0x349000=_0x68c18[_0x5cfe2e];if(a0_0x3490['nadnYo']===undefined){var _0x1c06df=function(_0x43d381){const _0x1589a8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xae70fc='',_0x1b09b7='';for(let _0x3db7a9=0x0,_0x3493f2,_0x36c83e,_0x2636ab=0x0;_0x36c83e=_0x43d381['charAt'](_0x2636ab++);~_0x36c83e&&(_0x3493f2=_0x3db7a9%0x4?_0x3493f2*0x40+_0x36c83e:_0x36c83e,_0x3db7a9++%0x4)?_0xae70fc+=String['fromCharCode'](0xff&_0x3493f2>>(-0x2*_0x3db7a9&0x6)):0x0){_0x36c83e=_0x1589a8['indexOf'](_0x36c83e);}for(let _0x3e8e54=0x0,_0xccd32c=_0xae70fc['length'];_0x3e8e54<_0xccd32c;_0x3e8e54++){_0x1b09b7+='%'+('00'+_0xae70fc['charCodeAt'](_0x3e8e54)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1b09b7);};a0_0x3490['iKggig']=_0x1c06df,a0_0x3490['YjEVnR']={},a0_0x3490['nadnYo']=!![];}const _0x2a441b=_0x68c18[0x0],_0x21c6b4=_0x5cfe2e+_0x2a441b,_0x290eb5=a0_0x3490['YjEVnR'][_0x21c6b4];return!_0x290eb5?(_0x349000=a0_0x3490['iKggig'](_0x349000),a0_0x3490['YjEVnR'][_0x21c6b4]=_0x349000):_0x349000=_0x290eb5,_0x349000;}class ExportService{constructor(){const _0x5f506b=a0_0x12c6b4;this[_0x5f506b(0x1fc)]=null;}get[a0_0x12c6b4(0x221)](){const _0x2803b3=a0_0x12c6b4,_0x6788b8={'VhjIc':function(_0x1d3a45,_0x2ec88f,_0x2f6e00,_0x407dff){return _0x1d3a45(_0x2ec88f,_0x2f6e00,_0x407dff);},'MAMGu':'export_service_init_error'};if(!this[_0x2803b3(0x1fc)]){const _0x2d9f3d=process['env'][_0x2803b3(0x20d)]||'default';this[_0x2803b3(0x1fc)]=process[_0x2803b3(0x1fe)]['EXPORT_DIR']||path[_0x2803b3(0x240)](__dirname,_0x2803b3(0x1f9)+_0x2d9f3d);try{!fsSync[_0x2803b3(0x1d9)](this['_exportDir'])&&fsSync[_0x2803b3(0x1b9)](this['_exportDir'],{'recursive':!![]}),logger[_0x2803b3(0x246)]({'event':'export_service_init','dir':this['_exportDir']},_0x2803b3(0x1c1));}catch(_0x7f5430){_0x6788b8[_0x2803b3(0x1b7)](logError,_0x7f5430,{'event':_0x6788b8[_0x2803b3(0x1e3)]},_0x2803b3(0x208));}}return this[_0x2803b3(0x1fc)];}[a0_0x12c6b4(0x202)](_0x1f74ae,_0x1945c2=null){const _0x3ac867=a0_0x12c6b4,_0x585588={'frPIr':function(_0x95a510,_0x56d608){return _0x95a510!==_0x56d608;},'dywQp':'file:','EJfNk':'utf8','KLIYI':function(_0x328d4d,_0xa1f15c){return _0x328d4d===_0xa1f15c;}};if(!_0x1f74ae||_0x585588['frPIr'](typeof _0x1f74ae,'string'))return _0x1f74ae;const _0x2b49d1=_0x1f74ae['trim']();if(!_0x2b49d1[_0x3ac867(0x1e1)](_0x585588['dywQp']))return _0x2b49d1;const _0x104ba8=_0x2b49d1['replace'](/^file:/,'')['trim']();if(!_0x104ba8)throw new Error(_0x3ac867(0x1bb));const _0xf44bb2=_0x1945c2||path[_0x3ac867(0x240)](process[_0x3ac867(0x1ee)](),_0x3ac867(0x1f6)),_0x4e1b4b=path[_0x3ac867(0x1d8)](_0xf44bb2,_0x104ba8);logger[_0x3ac867(0x246)]({'event':'export_query_file_resolve','relativePath':_0x104ba8,'baseDir':_0xf44bb2,'absolutePath':_0x4e1b4b},_0x3ac867(0x1d4)+_0x104ba8);if(!fsSync['existsSync'](_0x4e1b4b))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x4e1b4b);try{const _0x2da4c8=fsSync[_0x3ac867(0x1f4)](_0x4e1b4b,_0x585588['EJfNk']);if(!_0x2da4c8||!_0x2da4c8['trim']())throw new Error(_0x3ac867(0x21f)+_0x4e1b4b);return logger['info']({'event':_0x3ac867(0x1ff),'file':_0x4e1b4b,'queryLength':_0x2da4c8[_0x3ac867(0x1f2)]},_0x3ac867(0x23f)+_0x2da4c8['length']+'\x20chars)'),_0x2da4c8[_0x3ac867(0x1d0)]();}catch(_0x70d71d){if(_0x585588['KLIYI'](_0x70d71d['code'],'ENOENT'))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x4e1b4b);throw new Error('Failed\x20to\x20read\x20export\x20query\x20file:\x20'+_0x70d71d['message']);}}[a0_0x12c6b4(0x1de)](){const _0x38f3d5=a0_0x12c6b4,_0x2d7079={'LPyMu':_0x38f3d5(0x1f7),'zMBvU':function(_0x5729c6,_0x259713){return _0x5729c6-_0x259713;},'NFssv':function(_0x58fb1c,_0x1c2de3){return _0x58fb1c+_0x1c2de3;},'MTnCg':function(_0x20033c,_0x1c9172){return _0x20033c<_0x1c9172;},'TJbDC':function(_0x1e1220,_0x53421b){return _0x1e1220*_0x53421b;}},_0x494a05=_0x2d7079[_0x38f3d5(0x245)],_0x2b04c5=Date['now']()['toString'](0x24),_0xacd26e=uuidv7()[_0x38f3d5(0x23e)](/-/g,'')[_0x38f3d5(0x23b)](0x0,_0x2d7079['zMBvU'](0xc,_0x2b04c5['length'])),_0x65a90=_0x2d7079[_0x38f3d5(0x214)](_0x2b04c5,_0xacd26e)['substring'](0x0,0xc);let _0x307126='';for(let _0x394d87=0x0;_0x2d7079[_0x38f3d5(0x1fb)](_0x394d87,0xc);_0x394d87++){_0x65a90[_0x394d87]?_0x307126+=_0x65a90[_0x394d87]:_0x307126+=_0x494a05['charAt'](Math['floor'](_0x2d7079['TJbDC'](Math['random'](),_0x494a05[_0x38f3d5(0x1f2)])));}return _0x307126;}async['createJob'](_0x1fbbbe){const _0x28e56b=a0_0x12c6b4,_0xc6db3d={'aemLe':function(_0xfe59cb,_0x3a0857,_0x4baf6b,_0x311ffe){return _0xfe59cb(_0x3a0857,_0x4baf6b,_0x311ffe);},'xyWFe':_0x28e56b(0x23c)},_0x302d28=this[_0x28e56b(0x1de)](),_0x140f1d={'job_id':_0x302d28,'status':_0xc6db3d[_0x28e56b(0x212)],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x1fbbbe,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x302d28,_0x140f1d),logger[_0x28e56b(0x246)]({'event':'export_job_created','jobId':_0x302d28,'params':_0x1fbbbe},_0x28e56b(0x233)),this[_0x28e56b(0x23a)](_0x302d28,_0x1fbbbe)['catch'](_0x2065b4=>{const _0x7e784f=_0x28e56b;_0xc6db3d[_0x7e784f(0x1ed)](logError,_0x2065b4,{'event':'export_process_error','jobId':_0x302d28},_0x7e784f(0x206));}),{'job_id':_0x302d28,'status':_0xc6db3d[_0x28e56b(0x212)]};}async['getJobStatus'](_0x3e7dc6){const _0x2a1b66=a0_0x12c6b4,_0x2c40d4={'rmccR':'Job\x20not\x20found\x20or\x20expired'},_0x1bb8a5=await redisHelper['getJob'](_0x3e7dc6);if(!_0x1bb8a5)return{'success':![],'error':_0x2c40d4['rmccR']};return{'success':!![],'data':{'job_id':_0x1bb8a5[_0x2a1b66(0x207)],'status':_0x1bb8a5[_0x2a1b66(0x1c6)],'progress':_0x1bb8a5[_0x2a1b66(0x1d3)],'total_rows':_0x1bb8a5['total_rows'],'processed_rows':_0x1bb8a5['processed_rows'],'file_url':_0x1bb8a5['status']===_0x2a1b66(0x1c7)?_0x2a1b66(0x217)+_0x1bb8a5['params']['moduleName']+'/'+_0x1bb8a5['params']['endpointName']+_0x2a1b66(0x22a)+_0x3e7dc6:null,'error':_0x1bb8a5[_0x2a1b66(0x1b2)]||null,'created_at':_0x1bb8a5[_0x2a1b66(0x1b3)],'completed_at':_0x1bb8a5['completed_at']||null}};}async[a0_0x12c6b4(0x23a)](_0x813b6e,_0xfb0c2a){const _0x4ffa2e=a0_0x12c6b4,_0x435530={'szGMC':_0x4ffa2e(0x1bd),'AcMsY':_0x4ffa2e(0x1c7),'OTNEr':_0x4ffa2e(0x1dc),'fVmNU':'failed'};try{await redisHelper[_0x4ffa2e(0x242)](_0x813b6e,{'status':'processing','started_at':new Date()[_0x4ffa2e(0x1f8)]()}),logger[_0x4ffa2e(0x246)]({'event':_0x435530[_0x4ffa2e(0x1c2)],'jobId':_0x813b6e},_0x4ffa2e(0x1dd));const _0x32686a=await this[_0x4ffa2e(0x1ca)](_0xfb0c2a);await redisHelper[_0x4ffa2e(0x242)](_0x813b6e,{'total_rows':_0x32686a[_0x4ffa2e(0x1f2)]});const _0x231609=await this[_0x4ffa2e(0x1ea)](_0x813b6e,_0x32686a,_0xfb0c2a);await redisHelper['updateJob'](_0x813b6e,{'status':_0x435530[_0x4ffa2e(0x230)],'progress':0x64,'file_path':_0x231609,'completed_at':new Date()['toISOString']()}),logger['info']({'event':_0x4ffa2e(0x1bf),'jobId':_0x813b6e,'rows':_0x32686a['length']},_0x435530[_0x4ffa2e(0x21a)]);}catch(_0x34572a){logError(_0x34572a,{'event':_0x4ffa2e(0x1b5),'jobId':_0x813b6e},'Export\x20failed'),await redisHelper['updateJob'](_0x813b6e,{'status':_0x435530['fVmNU'],'error':_0x34572a['message'],'failed_at':new Date()['toISOString']()});}}async[a0_0x12c6b4(0x1ca)](_0x3aae1d){const _0x126882=a0_0x12c6b4,_0x5e81f6={'JcAEc':function(_0x1807c3,_0x14670c){return _0x1807c3||_0x14670c;},'TcCOW':_0x126882(0x20a),'xIEnP':'export_using_auto_query','fFrvV':_0x126882(0x239),'Saufh':function(_0x3eb89a,_0x4bf393){return _0x3eb89a>_0x4bf393;},'waqaL':_0x126882(0x1db),'RaKoR':_0x126882(0x213),'nfgMw':'export_fetch_complete','nGXHc':'Data\x20fetched\x20successfully'};try{const {tableName:_0x53f8b0,columns:_0x5ef18d,exportQuery:_0x49e10f,where:_0x5d1031,sort_columns:_0x52213a}=_0x3aae1d;if(_0x5e81f6['JcAEc'](!_0x53f8b0,!_0x5ef18d)||_0x5ef18d[_0x126882(0x1f2)]===0x0)throw new Error(_0x5e81f6['TcCOW']);const _0x45a017=_0x53f8b0['replace'](/\./g,'_')+'_data';let _0x2323c1;if(_0x49e10f&&_0x49e10f[_0x126882(0x1d0)]()){let _0x412728=_0x49e10f;_0x49e10f[_0x126882(0x1d0)]()['startsWith'](_0x126882(0x1e0))&&(_0x412728=this['resolveExportQuery'](_0x49e10f)),_0x2323c1='WITH\x20'+_0x45a017+_0x126882(0x1eb)+_0x412728+'\x0a)',_0x2323c1+=_0x126882(0x22c)+_0x45a017,logger[_0x126882(0x246)]({'event':_0x126882(0x226),'query':_0x412728[_0x126882(0x23b)](0x0,0x64)},_0x126882(0x1e6));}else{const _0xc56c21=_0x5ef18d[_0x126882(0x1b8)](_0x54a536=>'\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x54a536)['join'](',');_0x2323c1='WITH\x20'+_0x45a017+_0x126882(0x237)+_0xc56c21+_0x126882(0x1cf)+_0x53f8b0+'\x0a)',_0x2323c1+='\x0aSELECT\x20*\x20FROM\x20'+_0x45a017,logger['info']({'event':_0x5e81f6[_0x126882(0x1f5)],'tableName':_0x53f8b0,'columnCount':_0x5ef18d['length']},_0x5e81f6[_0x126882(0x22f)]);}if(_0x5d1031){const _0x2c9a9d=this['buildWhereClause'](_0x5d1031);_0x2c9a9d&&(_0x2323c1+='\x0aWHERE\x20'+_0x2c9a9d);}if(_0x52213a&&_0x5e81f6['Saufh'](_0x52213a['length'],0x0)){const _0x22094d=this['buildOrderByClause'](_0x52213a);_0x22094d&&(_0x2323c1+=_0x126882(0x1e8)+_0x22094d);}logger[_0x126882(0x246)]({'event':_0x5e81f6['waqaL'],'query':_0x2323c1['substring'](0x0,0xc8)},_0x126882(0x1cb));const _0x5f3c25=await executeQuery(_0x2323c1);let _0x52f116=_0x5f3c25;return dbType===_0x5e81f6[_0x126882(0x1e7)]&&_0x5f3c25&&_0x5f3c25[_0x126882(0x1f2)]>0x0&&(_0x52f116=_0x5f3c25['map'](_0x167362=>{const _0x3bd7c3=_0x126882,_0x35d14f={};for(const [_0x24bea1,_0x5561fb]of Object[_0x3bd7c3(0x20e)](_0x167362)){_0x35d14f[_0x24bea1[_0x3bd7c3(0x203)]()]=_0x5561fb;}return _0x35d14f;})),logger[_0x126882(0x246)]({'event':_0x5e81f6[_0x126882(0x1e5)],'rows':_0x52f116['length']},_0x5e81f6[_0x126882(0x227)]),_0x52f116;}catch(_0x51976e){logError(_0x51976e,{'event':_0x126882(0x1fa)},'Failed\x20to\x20fetch\x20data');throw _0x51976e;}}[a0_0x12c6b4(0x1e2)](_0x39b6e4){const _0x45adbb=a0_0x12c6b4,_0x353a95={'kygrz':function(_0x301d69,_0x2ef591){return _0x301d69===_0x2ef591;}};if(_0x353a95['kygrz'](typeof _0x39b6e4,'string'))return _0x39b6e4['replace'](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')['trim']();else{if(Array[_0x45adbb(0x236)](_0x39b6e4))return _0x39b6e4['map'](_0x4e0d07=>this['sanitizeValue'](_0x4e0d07));}return _0x39b6e4;}['buildWhereClause'](_0x2b13e4){const _0x44d443=a0_0x12c6b4,_0x4bb2c2={'pKrBy':'string','zRczF':'Skipping\x20invalid\x20condition','IjqjY':function(_0x3e765f,_0x3e46e1){return _0x3e765f!==_0x3e46e1;},'VznoH':function(_0x5f3af6,_0x4de2e8){return _0x5f3af6===_0x4de2e8;},'PsTRO':'NOT\x20LIKE'};if(!_0x2b13e4||!_0x2b13e4['conditions']||_0x2b13e4[_0x44d443(0x243)]['length']===0x0)return'';const {logic:_0x523ade,conditions:_0x254bd3}=_0x2b13e4,_0x48afc5=_0x523ade&&_0x523ade[_0x44d443(0x1fd)]()==='OR'?_0x44d443(0x1cd):'\x20AND\x20',_0x1f4055=_0x254bd3[_0x44d443(0x1b8)](_0x57c5f1=>{const _0x3130d8=_0x44d443,_0xc8be3d={'izAeD':function(_0x6ca9fa,_0x3f2e9e){return _0x6ca9fa===_0x3f2e9e;},'teptm':_0x4bb2c2['pKrBy']},{key:_0x354b50,operator:_0x2c6594,value:_0x3cad38,sensitive:_0x2733a0}=_0x57c5f1;if(!_0x354b50||!_0x2c6594)return logger[_0x3130d8(0x232)]({'event':'invalid_condition','condition':_0x57c5f1},_0x4bb2c2['zRczF']),null;const _0x218577=this['sanitizeValue'](_0x3cad38),_0x24cb66=_0x4bb2c2['IjqjY'](_0x2733a0,undefined)?_0x2733a0:!![];let _0x1f689d=_0x354b50,_0x42f83b=_0x218577;!_0x24cb66&&(_0x1f689d='UPPER('+_0x354b50+')',_0x4bb2c2[_0x3130d8(0x1d6)](typeof _0x3cad38,_0x3130d8(0x1f0))&&(_0x42f83b=_0x3cad38['toUpperCase']()));const _0x29649b=_0x4bb2c2[_0x3130d8(0x1d6)](typeof _0x42f83b,'string')?'\x27'+_0x42f83b[_0x3130d8(0x23e)](/'/g,'\x27\x27')+'\x27':_0x42f83b;switch(_0x2c6594['toUpperCase']()){case'=':case'!=':case'<>':return _0x1f689d+'\x20'+_0x2c6594+'\x20'+_0x29649b;case'>':case'<':case'>=':case'<=':const _0x2a2a46=_0x4bb2c2['VznoH'](typeof _0x218577,_0x4bb2c2[_0x3130d8(0x1d2)])?'\x27'+_0x218577['replace'](/'/g,'\x27\x27')+'\x27':_0x218577;return _0x354b50+'\x20'+_0x2c6594+'\x20'+_0x2a2a46;case _0x3130d8(0x1c4):case _0x4bb2c2['PsTRO']:return _0x1f689d+'\x20'+_0x2c6594+'\x20'+_0x29649b;case'IN':if(Array['isArray'](_0x218577)){let _0x343b18;return!_0x24cb66?_0x343b18=_0x218577['map'](_0x207e6a=>{const _0x41dc57=_0x3130d8,_0x34d4e0=_0xc8be3d[_0x41dc57(0x1f3)](typeof _0x207e6a,_0xc8be3d['teptm'])?_0x207e6a['toUpperCase']():_0x207e6a;return typeof _0x34d4e0==='string'?'\x27'+_0x34d4e0['replace'](/'/g,'\x27\x27')+'\x27':_0x34d4e0;})['join'](',\x20'):_0x343b18=_0x218577[_0x3130d8(0x1b8)](_0x4bad79=>typeof _0x4bad79===_0x3130d8(0x1f0)?'\x27'+_0x4bad79['replace'](/'/g,'\x27\x27')+'\x27':_0x4bad79)['join'](',\x20'),_0x1f689d+_0x3130d8(0x22d)+_0x343b18+')';}return _0x1f689d+_0x3130d8(0x22d)+_0x29649b+')';case _0x3130d8(0x216):return _0x354b50+'\x20IS\x20NULL';case'IS\x20NOT\x20NULL':return _0x354b50+'\x20IS\x20NOT\x20NULL';default:logger[_0x3130d8(0x232)]({'event':'unknown_operator','operator':_0x2c6594},'Unknown\x20operator,\x20using\x20=\x20as\x20default');return _0x1f689d+_0x3130d8(0x231)+_0x29649b;}})['filter'](_0x8ee31f=>_0x8ee31f!==null);if(_0x1f4055['length']===0x0)return'';return _0x1f4055['join'](_0x48afc5);}[a0_0x12c6b4(0x1c3)](_0x553f66){const _0x5608fb=a0_0x12c6b4,_0x543a9c={'RYuMG':_0x5608fb(0x238),'yJPRs':_0x5608fb(0x1c8),'GRmwN':function(_0x502da3,_0xd488fc){return _0x502da3===_0xd488fc;}};if(!_0x553f66||_0x543a9c['GRmwN'](_0x553f66[_0x5608fb(0x1f2)],0x0))return'';const _0x226970=_0x553f66['map'](_0x1e2dd=>{const _0x363838=_0x5608fb,{column:_0x107e9b,direction:_0x597bda}=_0x1e2dd;if(!_0x107e9b)return logger[_0x363838(0x232)]({'event':_0x543a9c[_0x363838(0x1c9)],'item':_0x1e2dd},_0x543a9c[_0x363838(0x21e)]),null;const _0x1ebee8=_0x597bda&&_0x543a9c['GRmwN'](_0x597bda['toUpperCase'](),'DESC')?_0x363838(0x1c0):_0x363838(0x241);return _0x107e9b+'\x20'+_0x1ebee8;})['filter'](_0x4019ce=>_0x4019ce!==null);if(_0x226970['length']===0x0)return'';return _0x226970[_0x5608fb(0x240)](',\x20');}async[a0_0x12c6b4(0x1ea)](_0x17d3e7,_0x40074e,_0x3c0292){const _0x10bcb6=a0_0x12c6b4,_0x230ba1={'sLmKo':function(_0x2d7b27,_0x20ebda){return _0x2d7b27/_0x20ebda;},'reNct':function(_0x3f109c,_0x2ad76a){return _0x3f109c===_0x2ad76a;},'PBRpN':function(_0x1fd730,_0x44194a){return _0x1fd730===_0x44194a;},'krSQf':function(_0x2282c7,_0x4d1d12){return _0x2282c7>_0x4d1d12;},'oqPoU':_0x10bcb6(0x228)},_0x5be315=require(_0x10bcb6(0x1df)),_0x51d8cb=new _0x5be315(),_0x5c2250=_0x3c0292[_0x10bcb6(0x224)]?_0x3c0292[_0x10bcb6(0x224)]+'-'+_0x17d3e7:_0x10bcb6(0x20c)+_0x17d3e7,_0x579c97=path['join'](this['exportDir'],_0x5c2250+'.xlsx');let _0x4a3d8c=_0x3c0292['columns'];const _0x108d8b=_0x3c0292['exportQuery']&&_0x3c0292[_0x10bcb6(0x24c)]['trim'](),_0x1a2831=_0x4a3d8c&&_0x230ba1[_0x10bcb6(0x23d)](_0x4a3d8c['length'],0x1)&&(_0x230ba1['reNct'](_0x4a3d8c[0x0],'*')||_0x230ba1[_0x10bcb6(0x1f1)](_0x4a3d8c[0x0][_0x10bcb6(0x203)](),'all'));if(_0x230ba1[_0x10bcb6(0x1ba)](_0x40074e['length'],0x0)){const _0x560300=Object['keys'](_0x40074e[0x0]);if(_0x108d8b)_0x4a3d8c=_0x560300,logger[_0x10bcb6(0x246)]({'event':_0x10bcb6(0x21c),'columns':_0x4a3d8c},'Using\x20'+_0x4a3d8c['length']+_0x10bcb6(0x234));else{if(_0x1a2831)_0x4a3d8c=_0x560300,logger['info']({'event':_0x10bcb6(0x244),'columns':_0x4a3d8c},_0x10bcb6(0x1ef)+_0x4a3d8c[_0x10bcb6(0x1f2)]+'\x20columns\x20(wildcard\x20requested)');else{if(_0x4a3d8c&&_0x4a3d8c[_0x10bcb6(0x1f2)]>0x0){const _0x16f505=_0x4a3d8c['filter'](_0x3b13b7=>_0x560300['includes'](_0x3b13b7));_0x230ba1['krSQf'](_0x16f505[_0x10bcb6(0x1f2)],0x0)?(_0x4a3d8c=_0x16f505,logger[_0x10bcb6(0x246)]({'event':_0x230ba1['oqPoU'],'requestedColumns':_0x3c0292[_0x10bcb6(0x204)],'validColumns':_0x4a3d8c},'Using\x20'+_0x4a3d8c[_0x10bcb6(0x1f2)]+'\x20columns\x20from\x20request')):(_0x4a3d8c=_0x560300,logger[_0x10bcb6(0x232)]({'event':_0x10bcb6(0x220),'requestedColumns':_0x3c0292['columns'],'availableColumns':_0x560300},'Requested\x20columns\x20not\x20found\x20in\x20data,\x20using\x20all\x20'+_0x560300['length']+'\x20columns'));}else _0x4a3d8c=_0x560300,logger['info']({'event':_0x10bcb6(0x223),'columns':_0x4a3d8c},_0x10bcb6(0x1b6)+_0x4a3d8c['length']+_0x10bcb6(0x21b));}}}else logger[_0x10bcb6(0x246)]({'event':_0x10bcb6(0x1be),'columns':_0x4a3d8c},_0x10bcb6(0x1b6)+(_0x4a3d8c?.['length']||0x0)+_0x10bcb6(0x1e9));return await _0x51d8cb['generate']({'data':_0x40074e,'columns':_0x4a3d8c,'columnFormats':_0x3c0292[_0x10bcb6(0x1cc)]||null,'fieldLabels':_0x3c0292[_0x10bcb6(0x215)]||null,'filePath':_0x579c97,'onProgress':async _0x62de11=>{const _0x2c57e6=_0x10bcb6;await redisHelper[_0x2c57e6(0x242)](_0x17d3e7,{'progress':Math['round'](_0x62de11),'processed_rows':Math[_0x2c57e6(0x21d)](_0x230ba1['sLmKo'](_0x62de11,0x64)*_0x40074e[_0x2c57e6(0x1f2)])});}}),_0x579c97;}async['getFilePath'](_0x1df9a3){const _0x4f45b4=a0_0x12c6b4,_0x95b97b={'vDZFY':function(_0x309b1e,_0x1d624b){return _0x309b1e!==_0x1d624b;}},_0x2c73f1=await redisHelper[_0x4f45b4(0x1ce)](_0x1df9a3);if(!_0x2c73f1||_0x95b97b[_0x4f45b4(0x1d1)](_0x2c73f1[_0x4f45b4(0x1c6)],_0x4f45b4(0x1c7)))return null;try{return await fs['access'](_0x2c73f1['file_path']),_0x2c73f1[_0x4f45b4(0x20f)];}catch(_0x55112b){return logError(_0x55112b,{'event':'export_file_not_found','jobId':_0x1df9a3,'path':_0x2c73f1[_0x4f45b4(0x20f)]},'Export\x20file\x20not\x20found'),null;}}async['cleanup'](){const _0x476b6f=a0_0x12c6b4,_0x9488b2={'QpupG':'Starting\x20export\x20cleanup','OqHGf':function(_0x1ba49c,_0x2e7fa7){return _0x1ba49c/_0x2e7fa7;},'cqGje':function(_0x5587d6,_0x3015ce){return _0x5587d6>_0x3015ce;},'JMBMQ':_0x476b6f(0x205),'EmwaK':'Failed\x20to\x20delete\x20export\x20file','dFGlI':'export_cleanup_complete'};logger['info']({'event':_0x476b6f(0x201)},_0x9488b2[_0x476b6f(0x24a)]);const _0x262fd6=await redisHelper[_0x476b6f(0x219)]();let _0x5044c7=0x0;for(const _0x3dabae of _0x262fd6){const _0x349ef8=new Date(_0x3dabae[_0x476b6f(0x1b3)]),_0x3caa3a=new Date(),_0x45c11c=_0x9488b2['OqHGf'](_0x3caa3a-_0x349ef8,0x3e8*0x3c*0x3c);if(_0x9488b2[_0x476b6f(0x1d5)](_0x45c11c,0x1)){if(_0x3dabae['file_path'])try{await fs[_0x476b6f(0x1d7)](_0x3dabae[_0x476b6f(0x20f)]),logger[_0x476b6f(0x246)]({'event':'export_file_deleted','path':_0x3dabae[_0x476b6f(0x20f)]},_0x9488b2[_0x476b6f(0x1ec)]);}catch(_0x488991){logger['warn']({'event':'export_file_delete_error','path':_0x3dabae['file_path'],'error':_0x488991['message']},_0x9488b2[_0x476b6f(0x235)]);}await redisHelper['deleteJob'](_0x3dabae[_0x476b6f(0x207)]),_0x5044c7++;}}return logger[_0x476b6f(0x246)]({'event':_0x9488b2['dFGlI'],'deleted':_0x5044c7},'Export\x20cleanup\x20completed'),_0x5044c7;}}module[a0_0x12c6b4(0x229)]=new ExportService();
1
+ const a0_0x325f23=a0_0x38f0;function a0_0x38f0(_0x1aa4f6,_0x3fcddf){_0x1aa4f6=_0x1aa4f6-0xe6;const _0x34c1ba=a0_0x34c1();let _0x38f096=_0x34c1ba[_0x1aa4f6];if(a0_0x38f0['kmXYMS']===undefined){var _0x63cf5c=function(_0x4b54e8){const _0x1f97b8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x331398='',_0xf47e71='';for(let _0x2d93da=0x0,_0x34373d,_0x374aa7,_0x284a86=0x0;_0x374aa7=_0x4b54e8['charAt'](_0x284a86++);~_0x374aa7&&(_0x34373d=_0x2d93da%0x4?_0x34373d*0x40+_0x374aa7:_0x374aa7,_0x2d93da++%0x4)?_0x331398+=String['fromCharCode'](0xff&_0x34373d>>(-0x2*_0x2d93da&0x6)):0x0){_0x374aa7=_0x1f97b8['indexOf'](_0x374aa7);}for(let _0xbb86ce=0x0,_0x327b46=_0x331398['length'];_0xbb86ce<_0x327b46;_0xbb86ce++){_0xf47e71+='%'+('00'+_0x331398['charCodeAt'](_0xbb86ce)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xf47e71);};a0_0x38f0['rWwBnG']=_0x63cf5c,a0_0x38f0['LrDvjt']={},a0_0x38f0['kmXYMS']=!![];}const _0x3fd78f=_0x34c1ba[0x0],_0x4d3a3e=_0x1aa4f6+_0x3fd78f,_0x128763=a0_0x38f0['LrDvjt'][_0x4d3a3e];return!_0x128763?(_0x38f096=a0_0x38f0['rWwBnG'](_0x38f096),a0_0x38f0['LrDvjt'][_0x4d3a3e]=_0x38f096):_0x38f096=_0x128763,_0x38f096;}(function(_0x10442c,_0x525ef4){const _0x200fa5=a0_0x38f0,_0xd7f47a=_0x10442c();while(!![]){try{const _0x2dd7b0=-parseInt(_0x200fa5(0xf4))/0x1*(parseInt(_0x200fa5(0x129))/0x2)+parseInt(_0x200fa5(0x12d))/0x3*(parseInt(_0x200fa5(0x150))/0x4)+parseInt(_0x200fa5(0x16a))/0x5*(parseInt(_0x200fa5(0x17f))/0x6)+parseInt(_0x200fa5(0xe8))/0x7+parseInt(_0x200fa5(0xec))/0x8*(-parseInt(_0x200fa5(0x136))/0x9)+parseInt(_0x200fa5(0x167))/0xa+-parseInt(_0x200fa5(0x13c))/0xb*(-parseInt(_0x200fa5(0x11f))/0xc);if(_0x2dd7b0===_0x525ef4)break;else _0xd7f47a['push'](_0xd7f47a['shift']());}catch(_0xabc9ea){_0xd7f47a['push'](_0xd7f47a['shift']());}}}(a0_0x34c1,0x58512));const {v7:uuidv7}=require(a0_0x325f23(0x10c)),path=require('path'),fs=require('fs')[a0_0x325f23(0x10f)],fsSync=require('fs'),redisHelper=require('../utils/redis-helper'),{logger,logError}=require('../utils/logger'),dbType=(process['env']['DB_TYPE']||a0_0x325f23(0x125))['toLowerCase']();let executeQuery;if(dbType==='oracle'){const oracleDb=require(a0_0x325f23(0x112));executeQuery=(_0x149236,_0x74c23a)=>oracleDb['executeQuery'](_0x149236,_0x74c23a);}else{if(dbType==='mysql'){const mysqlDb=require(a0_0x325f23(0x102));executeQuery=(_0x25e6ba,_0xe03b12)=>mysqlDb[a0_0x325f23(0x143)](_0x25e6ba,_0xe03b12);}else executeQuery=require(a0_0x325f23(0x173))[a0_0x325f23(0x143)];}function a0_0x34c1(){const _0x1d5e69=['DxbKyxrLsM9I','rxHWB3j0ihbYB2nLC3nPBMCGC3rHCNrLza','u2TPChbPBMCGAw52ywXPzcbJB25KAxrPB24','ntq5mJjqENjPuw8','z2vUzxjHDgvfEgnLBa','zxHWB3j0x3f1zxj5x2zPBgvFCMvZB2X2zq','v3riA3K','BKf4Bei','ChjVy2vZC0PVyG','x2v4Cg9YDerPCG','vvbqrviO','revtqW','wMv2CLK','ywXS','zw50CMLLCW','y3jLyxrLsM9I','rvHqt1jux0rjuG','lI4VDxrPBhmVzgiTBxLZCwW','z1LvAxa','z2vUzxjHDgu','zMLSzv9WyxrO','q1f0vum','BwfW','C3rHDhvZ','vwTcEfi','C2fUAxrPEMvwywX1zq','Dg9vChbLCKnHC2u','DxvPza','DhjPBq','z2vUzxjHDgvkB2jjza','ChjVBwLZzxm','AM9Ix2LK','AxnbCNjHEq','lI4VDxrPBhmVzgiTB3jHy2XL','zw5KCg9PBNroyw1L','s1H3ruG','z2v0sM9I','ve9pwwq','v0Lusca','zxHWB3j0CW','cLnftevdvcaQiezst00G','ENH5CfO','zxHWB3j0x3nLCNzPy2vFAw5PDf9LCNjVCG','u3rHCNrPBMCGzxHWB3j0ignSzwfUDxa','zMLLBgrmywjLBhm','DxrMoa','mJy0mZu0mfn1A2H4qq','C3rYAw5N','D0LHD3G','rhbAD3C','BgvUz3rO','ieLoicG','Cg9ZDgDYzxnXBa','Aw5MBW','rMfPBgvKihrVihjLywqGzxHWB3j0ihf1zxj5igzPBgu6ia','s0nSz2C','mtr2zKn4D0y','AM9PBG','id0G','B1PAwK0','mJa5nhrcwhbQua','BwvZC2fNzq','zxHWB3j0x2zLDgnOx3n0yxj0','zgvSzxrLsM9I','CNHhvuS','C2v0sM9I','Aw52ywXPzf9JB25KAxrPB24','vuzpt2u','zxHJzwXFy29SDw1UC19MywXSyMfJAW','otbpt1vOrhe','zMLSDgvY','zgvMyxvSDa','zxHWB3j0x3vZAw5Nx2f1Dg9FCxvLCNK','vMjIs0y','zxHWB3j0x2PVyL9JCMvHDgvK','mZnctNf3zMG','y2XLyw51Ca','B1zhs3O','rMv0y2HPBMCGzgf0ysbMCM9TigrHDgfIyxnL','zxHWB3j0x3bYB2nLC3nPBMDFC3rHCNq','rMfPBgvKihrVigzLDgnOigrHDge','rMfPBgvKihrVigrLBgv0zsbLEhbVCNqGzMLSzq','zxHLy3v0zvf1zxj5','cLDirvjfia','yMX1ELK','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','Dw5SAw5R','Cgf5Bg9Hza','rxHWB3j0igPVyIbJCMvHDgvK','ie9sia','EvDTAM0','CMvWBgfJzq','vhfbANG','wuvxrLy','Bw9KDwXLtMfTzq','mty0BxPoqLvf','CMvZB2X2zuv4Cg9YDff1zxj5','zMLSzw5HBwu','y29SDw1UCW','y29UzgL0Aw9UCW','lI4VlI4VzxHWB3j0CY8','CgvUzgLUzW','Dg9tDhjPBMC','A2v5CW','ignVBhvTBNm','svmGtK9uie5vteW','zMLSztO','CMfUzg9T','CgfYyw1Z','teLlrq','zxHWB3j0rgLY','vxnPBMCGy3vZDg9Tigv4Cg9YDff1zxj5','zMv0y2HeyxrH','zMXVB3i','zxHWB3j0x2zPBgvFzgvSzxrLx2vYCM9Y','y3jLyxrLzf9HDa','zxHJzwXFy29SDw1UC19ZzwXLy3rFywXS','y3vMq1u','mtmZnJaXmhPWzK9fBG','CMvZB2X2zq','Dg9ju09tDhjPBMC','nwzvrwX4ua','zxHJzwXFy29SDw1UC19MCM9Tx2n1C3rVBv9XDwvYEq','uKfjAvG','y29TCgXLDgvKx2f0','vxnPBMCGywXSia','rLLeBvm','r1nAs0G','y3DK','ignVBhvTBNmGzNjVBsbJB25MAwCGkg5VigrHDgeP','lI4VDxrPBhmVzgi','DeTruNC','ChjVz3jLC3m','tLbLv0C','l2v4Cg9YDc1KB3DUBg9Hzd9QB2jFAwq9','C3vIC3rYAw5N','rxHWB3j0ignSzwfUDxaGy29TCgXLDgvK','y29TCgXLDgvK','y2HHCKf0','wgDts1e','zunjqNi','wg1qAeC','mtG2odu4DevIshf1','vxnPBMCG','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','s0rAsKC','ieLtie5pvcbovuXm','nde4nZyZmxnSqKDurG','zNf4sge','D2fYBG','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','nty1mdi0uuvzzLHZ','yujhA1q','zfveuNe','rxHWB3j0ihnLCNzPy2uGAw5PDgLHBgL6zwq','Dg90ywXFCM93CW'];a0_0x34c1=function(){return _0x1d5e69;};return a0_0x34c1();}class ExportService{constructor(){this['_exportDir']=null;}get[a0_0x325f23(0x15f)](){const _0x3d4cf9=a0_0x325f23,_0xeb47a7={'yWmjm':_0x3d4cf9(0x138),'rxGUK':function(_0x3c8754,_0x1614bb,_0x596c38,_0x4e6c42){return _0x3c8754(_0x1614bb,_0x596c38,_0x4e6c42);}};if(!this['_exportDir']){const _0x5d5d02=process['env'][_0x3d4cf9(0xeb)]||_0xeb47a7[_0x3d4cf9(0x14b)];this['_exportDir']=process['env'][_0x3d4cf9(0x101)]||path['join'](__dirname,_0x3d4cf9(0x155)+_0x5d5d02);try{!fsSync['existsSync'](this[_0x3d4cf9(0xfa)])&&fsSync['mkdirSync'](this[_0x3d4cf9(0xfa)],{'recursive':!![]}),logger[_0x3d4cf9(0x126)]({'event':'export_service_init','dir':this['_exportDir']},_0x3d4cf9(0xef));}catch(_0x85444c){_0xeb47a7[_0x3d4cf9(0x131)](logError,_0x85444c,{'event':_0x3d4cf9(0x11b)},'Failed\x20to\x20initialize\x20export\x20service');}}return this['_exportDir'];}[a0_0x325f23(0x151)](_0x19cc8c,_0x208d57=null){const _0x5ce86f=a0_0x325f23,_0xcbb5d3={'TOOYd':function(_0x386cd6,_0x437fb7){return _0x386cd6!==_0x437fb7;},'iSAJY':'Invalid\x20file:\x20reference\x20-\x20path\x20is\x20empty','dUDRq':_0x5ce86f(0x148),'kuVJF':'ENOENT'};if(!_0x19cc8c||_0xcbb5d3[_0x5ce86f(0x116)](typeof _0x19cc8c,'string'))return _0x19cc8c;const _0x349903=_0x19cc8c[_0x5ce86f(0x10d)]();if(!_0x349903['startsWith']('file:'))return _0x349903;const _0x576f43=_0x349903[_0x5ce86f(0x14c)](/^file:/,'')['trim']();if(!_0x576f43)throw new Error(_0xcbb5d3['iSAJY']);const _0x27c3b4=_0x208d57||path[_0x5ce86f(0x12a)](process[_0x5ce86f(0x171)](),_0xcbb5d3[_0x5ce86f(0xee)]),_0x119b1e=path[_0x5ce86f(0x168)](_0x27c3b4,_0x576f43);logger[_0x5ce86f(0x126)]({'event':_0x5ce86f(0xf6),'relativePath':_0x576f43,'baseDir':_0x27c3b4,'absolutePath':_0x119b1e},'Resolving\x20exportQuery\x20from\x20file:\x20'+_0x576f43);if(!fsSync['existsSync'](_0x119b1e))throw new Error(_0x5ce86f(0x181)+_0x119b1e);try{const _0x546d83=fsSync['readFileSync'](_0x119b1e,_0x5ce86f(0x11e));if(!_0x546d83||!_0x546d83[_0x5ce86f(0x10d)]())throw new Error('Export\x20query\x20file\x20is\x20empty:\x20'+_0x119b1e);return logger[_0x5ce86f(0x126)]({'event':'export_query_file_loaded','file':_0x119b1e,'queryLength':_0x546d83[_0x5ce86f(0x123)]},'Loaded\x20SQL\x20query\x20from\x20file\x20('+_0x546d83['length']+'\x20chars)'),_0x546d83[_0x5ce86f(0x10d)]();}catch(_0x57939a){if(_0x57939a['code']===_0xcbb5d3['kuVJF'])throw new Error(_0x5ce86f(0x181)+_0x119b1e);throw new Error(_0x5ce86f(0x127)+_0x57939a['message']);}}[a0_0x325f23(0x10e)](){const _0x40e402=a0_0x325f23,_0x179ac9={'UkBxR':function(_0x5188e6){return _0x5188e6();},'fqxHa':function(_0x335e10,_0x393982){return _0x335e10-_0x393982;}},_0x84f7a0=_0x40e402(0x146),_0xe0ce1a=Date['now']()[_0x40e402(0x157)](0x24),_0xcec6e3=_0x179ac9[_0x40e402(0x109)](uuidv7)[_0x40e402(0x14c)](/-/g,'')['substring'](0x0,_0x179ac9[_0x40e402(0xe9)](0xc,_0xe0ce1a['length'])),_0x34c960=(_0xe0ce1a+_0xcec6e3)['substring'](0x0,0xc);let _0x43e628='';for(let _0x56e0d7=0x0;_0x56e0d7<0xc;_0x56e0d7++){_0x34c960[_0x56e0d7]?_0x43e628+=_0x34c960[_0x56e0d7]:_0x43e628+=_0x84f7a0[_0x40e402(0x17b)](Math[_0x40e402(0x162)](Math[_0x40e402(0x15c)]()*_0x84f7a0['length']));}return _0x43e628;}async[a0_0x325f23(0x100)](_0x33c673){const _0x53dd91=a0_0x325f23,_0x360d9a={'WtHky':'Export\x20processing\x20failed','DpZww':_0x53dd91(0x156),'lfHkZ':_0x53dd91(0x13b)},_0x2ccbe1=this['generateJobId'](),_0x5c705f={'job_id':_0x2ccbe1,'status':_0x360d9a[_0x53dd91(0x122)],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x33c673,'total_rows':0x0,'processed_rows':0x0};return await redisHelper[_0x53dd91(0x132)](_0x2ccbe1,_0x5c705f),logger[_0x53dd91(0x126)]({'event':_0x360d9a['lfHkZ'],'jobId':_0x2ccbe1,'params':_0x33c673},_0x53dd91(0x149)),this[_0x53dd91(0xf9)](_0x2ccbe1,_0x33c673)['catch'](_0x3a69e5=>{const _0x358c33=_0x53dd91;logError(_0x3a69e5,{'event':'export_process_error','jobId':_0x2ccbe1},_0x360d9a[_0x358c33(0xf7)]);}),{'job_id':_0x2ccbe1,'status':_0x360d9a[_0x53dd91(0x122)]};}async['getJobStatus'](_0x3f8162){const _0x55c815=a0_0x325f23,_0x3223f1={'oVGKz':function(_0x430e6a,_0x2a26bc){return _0x430e6a===_0x2a26bc;},'nAxlB':_0x55c815(0x17a)},_0x32d05b=await redisHelper[_0x55c815(0x115)](_0x3f8162);if(!_0x32d05b)return{'success':![],'error':'Job\x20not\x20found\x20or\x20expired'};return{'success':!![],'data':{'job_id':_0x32d05b['job_id'],'status':_0x32d05b[_0x55c815(0x108)],'progress':_0x32d05b[_0x55c815(0x175)],'total_rows':_0x32d05b[_0x55c815(0xf0)],'processed_rows':_0x32d05b['processed_rows'],'file_url':_0x3223f1[_0x55c815(0x13e)](_0x32d05b['status'],_0x3223f1[_0x55c815(0xf8)])?'/api/'+_0x32d05b[_0x55c815(0x15d)][_0x55c815(0x14f)]+'/'+_0x32d05b['params'][_0x55c815(0x113)]+_0x55c815(0x177)+_0x3f8162:null,'error':_0x32d05b['error']||null,'created_at':_0x32d05b[_0x55c815(0x164)],'completed_at':_0x32d05b[_0x55c815(0x16d)]||null}};}async['processJob'](_0x33a95f,_0x37bdf3){const _0x4d492e=a0_0x325f23,_0x81a0e6={'aoHuM':_0x4d492e(0xf2),'cufCU':_0x4d492e(0x17a),'NTCtz':'export_completed','KClgg':'Export\x20completed\x20successfully','KXwEH':function(_0x24ac4f,_0x5421f3,_0x1d5544,_0xfa849f){return _0x24ac4f(_0x5421f3,_0x1d5544,_0xfa849f);},'GDqIy':'export_failed'};try{await redisHelper[_0x4d492e(0xf1)](_0x33a95f,{'status':'processing','started_at':new Date()['toISOString']()}),logger[_0x4d492e(0x126)]({'event':_0x4d492e(0x140),'jobId':_0x33a95f},_0x81a0e6['aoHuM']);const _0x36aef7=await this['fetchData'](_0x37bdf3);await redisHelper[_0x4d492e(0xf1)](_0x33a95f,{'total_rows':_0x36aef7[_0x4d492e(0x123)]});const _0x2a0e58=await this[_0x4d492e(0xf5)](_0x33a95f,_0x36aef7,_0x37bdf3);await redisHelper[_0x4d492e(0xf1)](_0x33a95f,{'status':_0x81a0e6[_0x4d492e(0x166)],'progress':0x64,'file_path':_0x2a0e58,'completed_at':new Date()[_0x4d492e(0x169)]()}),logger[_0x4d492e(0x126)]({'event':_0x81a0e6['NTCtz'],'jobId':_0x33a95f,'rows':_0x36aef7[_0x4d492e(0x123)]},_0x81a0e6[_0x4d492e(0x128)]);}catch(_0x5bcf60){_0x81a0e6[_0x4d492e(0x114)](logError,_0x5bcf60,{'event':_0x81a0e6['GDqIy'],'jobId':_0x33a95f},'Export\x20failed'),await redisHelper['updateJob'](_0x33a95f,{'status':'failed','error':_0x5bcf60[_0x4d492e(0x12e)],'failed_at':new Date()[_0x4d492e(0x169)]()});}}async[a0_0x325f23(0x161)](_0x29ab0e){const _0x470c6b=a0_0x325f23,_0x78b735={'zxypZ':'tableName\x20and\x20columns\x20are\x20required','ErfzB':function(_0x19fb67,_0x4b68e4){return _0x19fb67+_0x4b68e4;},'VbbKF':_0x470c6b(0x15b),'RAIiX':'export_using_custom_query','sOXNC':_0x470c6b(0x139),'QSjyQ':'Using\x20auto-generated\x20query','GSZKH':function(_0x42943f,_0x2b219f){return _0x42943f>_0x2b219f;},'jpRkJ':_0x470c6b(0x12f),'hbXyG':_0x470c6b(0x13f),'JVthP':function(_0xf7d407,_0x10c679){return _0xf7d407(_0x10c679);},'FYDmS':function(_0x38178a,_0x2f7fb8){return _0x38178a>_0x2f7fb8;},'ZevrY':'Data\x20fetched\x20successfully','EDXrH':'export_fetch_error','gYUip':_0x470c6b(0x141)};try{const {tableName:_0x49b1d9,columns:_0x15b00e,exportQuery:_0x223b87,where:_0x261c8c,sort_columns:_0x56343e}=_0x29ab0e;if(!_0x49b1d9||!_0x15b00e||_0x15b00e[_0x470c6b(0x123)]===0x0)throw new Error(_0x78b735[_0x470c6b(0x11a)]);const _0x2b9417=_0x78b735['ErfzB'](_0x49b1d9['replace'](/\./g,'_'),'_data');let _0x3dd17b;if(_0x223b87&&_0x223b87[_0x470c6b(0x10d)]()){let _0x8e5a5f=_0x223b87;_0x223b87[_0x470c6b(0x10d)]()['startsWith'](_0x78b735[_0x470c6b(0x13a)])&&(_0x8e5a5f=this['resolveExportQuery'](_0x223b87)),_0x3dd17b=_0x470c6b(0x117)+_0x2b9417+'\x20AS\x20(\x0a\x20\x20\x20\x20'+_0x8e5a5f+'\x0a)',_0x3dd17b+=_0x470c6b(0x119)+_0x2b9417,logger['info']({'event':_0x78b735[_0x470c6b(0x16c)],'query':_0x8e5a5f[_0x470c6b(0x178)](0x0,0x64)},_0x470c6b(0x160));}else{const _0x530f12=_0x15b00e[_0x470c6b(0x107)](_0x2cbcc3=>'\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x2cbcc3)[_0x470c6b(0x12a)](',');_0x3dd17b=_0x470c6b(0x117)+_0x2b9417+'\x20AS\x20(\x0a\x20\x20\x20\x20SELECT\x20'+_0x530f12+'\x0a\x20\x20\x20\x20FROM\x20'+_0x49b1d9+'\x0a)',_0x3dd17b+=_0x470c6b(0x119)+_0x2b9417,logger[_0x470c6b(0x126)]({'event':_0x78b735['sOXNC'],'tableName':_0x49b1d9,'columnCount':_0x15b00e[_0x470c6b(0x123)]},_0x78b735['QSjyQ']);}if(_0x261c8c){const _0x1c2fa6=this['buildWhereClause'](_0x261c8c);_0x1c2fa6&&(_0x3dd17b+=_0x470c6b(0x144)+_0x1c2fa6);}if(_0x56343e&&_0x78b735[_0x470c6b(0x170)](_0x56343e[_0x470c6b(0x123)],0x0)){const _0xc912ba=this['buildOrderByClause'](_0x56343e);_0xc912ba&&(_0x3dd17b+='\x0aORDER\x20BY\x20'+_0xc912ba);}logger[_0x470c6b(0x126)]({'event':_0x78b735['jpRkJ'],'query':_0x3dd17b[_0x470c6b(0x178)](0x0,0xc8)},_0x78b735['hbXyG']);const _0x98e06c=await _0x78b735['JVthP'](executeQuery,_0x3dd17b);let _0x4e4208=_0x98e06c;return dbType==='oracle'&&_0x98e06c&&_0x78b735[_0x470c6b(0x16f)](_0x98e06c['length'],0x0)&&(_0x4e4208=_0x98e06c['map'](_0x360019=>{const _0x859255=_0x470c6b,_0xe9b20={};for(const [_0x8ce27c,_0x1df4e5]of Object[_0x859255(0xff)](_0x360019)){_0xe9b20[_0x8ce27c['toLowerCase']()]=_0x1df4e5;}return _0xe9b20;})),logger['info']({'event':'export_fetch_complete','rows':_0x4e4208[_0x470c6b(0x123)]},_0x78b735[_0x470c6b(0xfd)]),_0x4e4208;}catch(_0x27b903){logError(_0x27b903,{'event':_0x78b735['EDXrH']},_0x78b735[_0x470c6b(0x103)]);throw _0x27b903;}}[a0_0x325f23(0x10a)](_0x5b3d89){const _0x2a1cdc=a0_0x325f23;if(typeof _0x5b3d89==='string')return _0x5b3d89[_0x2a1cdc(0x14c)](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')['trim']();else{if(Array[_0x2a1cdc(0x111)](_0x5b3d89))return _0x5b3d89['map'](_0x2aaeb3=>this[_0x2a1cdc(0x10a)](_0x2aaeb3));}return _0x5b3d89;}['buildWhereClause'](_0x3d0b5b){const _0x7d3a55=a0_0x325f23,_0xf9e7={'uSlkr':function(_0x2df3f2,_0x2f8963){return _0x2df3f2||_0x2f8963;},'eCIBr':_0x7d3a55(0xf3),'rBUHG':function(_0x1cee92,_0x148b00){return _0x1cee92===_0x148b00;},'CQtUC':_0x7d3a55(0x120),'YEWFV':function(_0x30726b,_0x55658a){return _0x30726b===_0x55658a;},'pvAcr':_0x7d3a55(0x15e),'Ucuyq':_0x7d3a55(0x15a),'IxaSF':'Unknown\x20operator,\x20using\x20=\x20as\x20default','UnsEo':function(_0x79bab7,_0x2a5601){return _0x79bab7===_0x2a5601;}};if(!_0x3d0b5b||!_0x3d0b5b[_0x7d3a55(0x154)]||_0x3d0b5b['conditions'][_0x7d3a55(0x123)]===0x0)return'';const {logic:_0x313d8e,conditions:_0x39fdfe}=_0x3d0b5b,_0xf8bb51=_0x313d8e&&_0xf9e7['UnsEo'](_0x313d8e[_0x7d3a55(0x10b)](),'OR')?_0x7d3a55(0x14a):'\x20AND\x20',_0x261ac4=_0x39fdfe['map'](_0x5d1481=>{const _0x2a5718=_0x7d3a55,_0x1f39fa={'NPeWG':function(_0x30eed1,_0x5ed02b){return _0x30eed1===_0x5ed02b;}},{key:_0x3f6d89,operator:_0x11f899,value:_0x4dc6cd,sensitive:_0x2a29d7}=_0x5d1481;if(_0xf9e7['uSlkr'](!_0x3f6d89,!_0x11f899))return logger[_0x2a5718(0xea)]({'event':_0x2a5718(0x133),'condition':_0x5d1481},_0xf9e7[_0x2a5718(0x17d)]),null;const _0x3b28a6=this[_0x2a5718(0x10a)](_0x4dc6cd),_0x2c632f=_0x2a29d7!==undefined?_0x2a29d7:!![];let _0x173d1e=_0x3f6d89,_0x3100a2=_0x3b28a6;!_0x2c632f&&(_0x173d1e=_0x2a5718(0xfb)+_0x3f6d89+')',_0xf9e7['rBUHG'](typeof _0x4dc6cd,_0xf9e7[_0x2a5718(0x106)])&&(_0x3100a2=_0x4dc6cd['toUpperCase']()));const _0x4d1212=typeof _0x3100a2===_0xf9e7[_0x2a5718(0x106)]?'\x27'+_0x3100a2['replace'](/'/g,'\x27\x27')+'\x27':_0x3100a2;switch(_0x11f899['toUpperCase']()){case'=':case'!=':case'<>':return _0x173d1e+'\x20'+_0x11f899+'\x20'+_0x4d1212;case'>':case'<':case'>=':case'<=':const _0x4392a9=_0xf9e7[_0x2a5718(0x14e)](typeof _0x3b28a6,_0xf9e7[_0x2a5718(0x106)])?'\x27'+_0x3b28a6['replace'](/'/g,'\x27\x27')+'\x27':_0x3b28a6;return _0x3f6d89+'\x20'+_0x11f899+'\x20'+_0x4392a9;case _0xf9e7['pvAcr']:case'NOT\x20LIKE':return _0x173d1e+'\x20'+_0x11f899+'\x20'+_0x4d1212;case'IN':if(Array[_0x2a5718(0x111)](_0x3b28a6)){let _0x3b93fc;return!_0x2c632f?_0x3b93fc=_0x3b28a6[_0x2a5718(0x107)](_0x1d2c51=>{const _0xd05c05=_0x2a5718,_0x47578d=_0x1f39fa[_0xd05c05(0x176)](typeof _0x1d2c51,'string')?_0x1d2c51['toUpperCase']():_0x1d2c51;return _0x1f39fa[_0xd05c05(0x176)](typeof _0x47578d,'string')?'\x27'+_0x47578d[_0xd05c05(0x14c)](/'/g,'\x27\x27')+'\x27':_0x47578d;})['join'](',\x20'):_0x3b93fc=_0x3b28a6[_0x2a5718(0x107)](_0x537a16=>typeof _0x537a16===_0x2a5718(0x120)?'\x27'+_0x537a16[_0x2a5718(0x14c)](/'/g,'\x27\x27')+'\x27':_0x537a16)[_0x2a5718(0x12a)](',\x20'),_0x173d1e+_0x2a5718(0x124)+_0x3b93fc+')';}return _0x173d1e+_0x2a5718(0x124)+_0x4d1212+')';case'IS\x20NULL':return _0x3f6d89+'\x20IS\x20NULL';case _0xf9e7['Ucuyq']:return _0x3f6d89+_0x2a5718(0xe7);default:logger[_0x2a5718(0xea)]({'event':'unknown_operator','operator':_0x11f899},_0xf9e7['IxaSF']);return _0x173d1e+_0x2a5718(0x12b)+_0x4d1212;}})[_0x7d3a55(0x137)](_0x15bb97=>_0x15bb97!==null);if(_0x261ac4[_0x7d3a55(0x123)]===0x0)return'';return _0x261ac4['join'](_0xf8bb51);}['buildOrderByClause'](_0x2b40a5){const _0xc6bbd8=a0_0x325f23,_0x3aa8d5={'wIawx':'invalid_sort_column','TqAjx':'Skipping\x20invalid\x20sort\x20column','aBGkT':function(_0xfe35cd,_0x2417bd){return _0xfe35cd===_0x2417bd;}};if(!_0x2b40a5||_0x3aa8d5[_0xc6bbd8(0xed)](_0x2b40a5['length'],0x0))return'';const _0x4678cc=_0x2b40a5['map'](_0x20160e=>{const _0x2615a4=_0xc6bbd8,{column:_0x37ae90,direction:_0x30e46b}=_0x20160e;if(!_0x37ae90)return logger['warn']({'event':_0x3aa8d5[_0x2615a4(0x121)],'item':_0x20160e},_0x3aa8d5[_0x2615a4(0x14d)]),null;const _0x11504e=_0x30e46b&&_0x30e46b[_0x2615a4(0x10b)]()==='DESC'?_0x2615a4(0xfc):'ASC';return _0x37ae90+'\x20'+_0x11504e;})[_0xc6bbd8(0x137)](_0x2c8476=>_0x2c8476!==null);if(_0x4678cc['length']===0x0)return'';return _0x4678cc[_0xc6bbd8(0x12a)](',\x20');}async[a0_0x325f23(0xf5)](_0x4b894c,_0x10524c,_0xf311d4){const _0x43ae91=a0_0x325f23,_0x3cc562={'TMtVK':function(_0x5c8393,_0x555a37){return _0x5c8393*_0x555a37;},'CCRgO':function(_0x204813,_0x53cd27){return _0x204813(_0x53cd27);},'mWGSI':'../utils/excel-generator','UFOOe':function(_0x46dba2,_0x79440a){return _0x46dba2===_0x79440a;},'bluzY':function(_0x4037f9,_0x44ed04){return _0x4037f9===_0x44ed04;},'mEJmx':'excel_columns_from_request','zZFOC':'excel_columns_from_config'},_0x4217c5=_0x3cc562['CCRgO'](require,_0x3cc562['mWGSI']),_0x410c2c=new _0x4217c5(),_0x389ca7=_0xf311d4[_0x43ae91(0x152)]?_0xf311d4[_0x43ae91(0x152)]+'-'+_0x4b894c:'export-'+_0x4b894c,_0xa2980b=path[_0x43ae91(0x12a)](this['exportDir'],_0x389ca7+'.xlsx');let _0x230f1b=_0xf311d4[_0x43ae91(0x153)];const _0x5748d8=_0xf311d4['exportQuery']&&_0xf311d4['exportQuery'][_0x43ae91(0x10d)](),_0x5ce08c=_0x230f1b&&_0x3cc562[_0x43ae91(0x134)](_0x230f1b['length'],0x1)&&(_0x3cc562[_0x43ae91(0x145)](_0x230f1b[0x0],'*')||_0x3cc562['UFOOe'](_0x230f1b[0x0]['toLowerCase'](),_0x43ae91(0xfe)));if(_0x10524c['length']>0x0){const _0xe240dc=Object[_0x43ae91(0x158)](_0x10524c[0x0]);if(_0x5748d8)_0x230f1b=_0xe240dc,logger['info']({'event':_0x43ae91(0x16b),'columns':_0x230f1b},'Using\x20'+_0x230f1b['length']+'\x20columns\x20from\x20custom\x20exportQuery\x20result');else{if(_0x5ce08c)_0x230f1b=_0xe240dc,logger[_0x43ae91(0x126)]({'event':_0x43ae91(0x165),'columns':_0x230f1b},_0x43ae91(0x16e)+_0x230f1b['length']+'\x20columns\x20(wildcard\x20requested)');else{if(_0x230f1b&&_0x230f1b[_0x43ae91(0x123)]>0x0){const _0x49a94f=_0x230f1b['filter'](_0x169948=>_0xe240dc['includes'](_0x169948));_0x49a94f['length']>0x0?(_0x230f1b=_0x49a94f,logger['info']({'event':_0x3cc562['mEJmx'],'requestedColumns':_0xf311d4[_0x43ae91(0x153)],'validColumns':_0x230f1b},_0x43ae91(0x180)+_0x230f1b['length']+'\x20columns\x20from\x20request')):(_0x230f1b=_0xe240dc,logger['warn']({'event':_0x43ae91(0x135),'requestedColumns':_0xf311d4[_0x43ae91(0x153)],'availableColumns':_0xe240dc},'Requested\x20columns\x20not\x20found\x20in\x20data,\x20using\x20all\x20'+_0xe240dc[_0x43ae91(0x123)]+_0x43ae91(0x159)));}else _0x230f1b=_0xe240dc,logger[_0x43ae91(0x126)]({'event':'excel_columns_from_query_result','columns':_0x230f1b},_0x43ae91(0x180)+_0x230f1b['length']+'\x20columns\x20from\x20query\x20result');}}}else logger[_0x43ae91(0x126)]({'event':_0x3cc562['zZFOC'],'columns':_0x230f1b},'Using\x20'+(_0x230f1b?.[_0x43ae91(0x123)]||0x0)+_0x43ae91(0x172));return await _0x410c2c[_0x43ae91(0x104)]({'data':_0x10524c,'columns':_0x230f1b,'columnFormats':_0xf311d4['columnFormats']||null,'fieldLabels':_0xf311d4[_0x43ae91(0x11d)]||null,'filePath':_0xa2980b,'onProgress':async _0x4e33e6=>{await redisHelper['updateJob'](_0x4b894c,{'progress':Math['round'](_0x4e33e6),'processed_rows':Math['round'](_0x3cc562['TMtVK'](_0x4e33e6/0x64,_0x10524c['length']))});}}),_0xa2980b;}async['getFilePath'](_0x54dd7e){const _0x3a6084=a0_0x325f23,_0x2c0676={'XmPhG':_0x3a6084(0x17a),'KDZJG':function(_0x503310,_0x323a83,_0x14b36b,_0x14c804){return _0x503310(_0x323a83,_0x14b36b,_0x14c804);}},_0x5c3476=await redisHelper[_0x3a6084(0x115)](_0x54dd7e);if(!_0x5c3476||_0x5c3476[_0x3a6084(0x108)]!==_0x2c0676[_0x3a6084(0x17e)])return null;try{return await fs['access'](_0x5c3476['file_path']),_0x5c3476[_0x3a6084(0x105)];}catch(_0x407dd5){return _0x2c0676[_0x3a6084(0xe6)](logError,_0x407dd5,{'event':'export_file_not_found','jobId':_0x54dd7e,'path':_0x5c3476['file_path']},'Export\x20file\x20not\x20found'),null;}}async[a0_0x325f23(0x13d)](){const _0x28ae52=a0_0x325f23,_0x460974={'CWKVn':function(_0x2e304c,_0x2c0fcc){return _0x2e304c/_0x2c0fcc;},'tKQRw':function(_0x577f87,_0x291d61){return _0x577f87*_0x291d61;},'oZZZM':function(_0xd00392,_0x3c02c1){return _0xd00392>_0x3c02c1;},'XgSKQ':'export_file_deleted','DRVKN':_0x28ae52(0x163),'IAyDO':_0x28ae52(0x142),'oUpEh':_0x28ae52(0x179)};logger[_0x28ae52(0x126)]({'event':'export_cleanup_start'},_0x28ae52(0x11c));const _0x378ffb=await redisHelper['getAllJobs']();let _0x5c6722=0x0;for(const _0x152498 of _0x378ffb){const _0x1864f4=new Date(_0x152498[_0x28ae52(0x164)]),_0x2bfb6b=new Date(),_0x2a8f83=_0x460974['CWKVn'](_0x2bfb6b-_0x1864f4,_0x460974[_0x28ae52(0x174)](_0x460974['tKQRw'](0x3e8,0x3c),0x3c));if(_0x460974[_0x28ae52(0x12c)](_0x2a8f83,0x1)){if(_0x152498['file_path'])try{await fs[_0x28ae52(0x147)](_0x152498['file_path']),logger[_0x28ae52(0x126)]({'event':_0x460974[_0x28ae52(0x17c)],'path':_0x152498[_0x28ae52(0x105)]},'Export\x20file\x20deleted');}catch(_0x4143a3){logger[_0x28ae52(0xea)]({'event':_0x460974['DRVKN'],'path':_0x152498[_0x28ae52(0x105)],'error':_0x4143a3['message']},_0x460974['IAyDO']);}await redisHelper[_0x28ae52(0x130)](_0x152498[_0x28ae52(0x110)]),_0x5c6722++;}}return logger['info']({'event':'export_cleanup_complete','deleted':_0x5c6722},_0x460974['oUpEh']),_0x5c6722;}}module[a0_0x325f23(0x118)]=new ExportService();
@@ -1 +1 @@
1
- const a0_0x465a0d=a0_0x5de9;(function(_0x575bda,_0xb21e8a){const _0x3c4207=a0_0x5de9,_0x2526a8=_0x575bda();while(!![]){try{const _0x18b7ea=parseInt(_0x3c4207(0x90))/0x1+parseInt(_0x3c4207(0x126))/0x2*(-parseInt(_0x3c4207(0x103))/0x3)+parseInt(_0x3c4207(0x96))/0x4*(-parseInt(_0x3c4207(0x10b))/0x5)+-parseInt(_0x3c4207(0xcf))/0x6+-parseInt(_0x3c4207(0xc5))/0x7+parseInt(_0x3c4207(0xf7))/0x8*(parseInt(_0x3c4207(0x10d))/0x9)+parseInt(_0x3c4207(0x98))/0xa*(parseInt(_0x3c4207(0xab))/0xb);if(_0x18b7ea===_0xb21e8a)break;else _0x2526a8['push'](_0x2526a8['shift']());}catch(_0x2b3687){_0x2526a8['push'](_0x2526a8['shift']());}}}(a0_0xf178,0x7bc5c));function a0_0x5de9(_0x107b44,_0x5991ac){_0x107b44=_0x107b44-0x8c;const _0xf1786e=a0_0xf178();let _0x5de974=_0xf1786e[_0x107b44];if(a0_0x5de9['EKAhGg']===undefined){var _0x393f8b=function(_0x4cb77f){const _0x3c019d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5a5c71='',_0x445836='';for(let _0x570bb6=0x0,_0x4734ce,_0x16d7b9,_0x5381fc=0x0;_0x16d7b9=_0x4cb77f['charAt'](_0x5381fc++);~_0x16d7b9&&(_0x4734ce=_0x570bb6%0x4?_0x4734ce*0x40+_0x16d7b9:_0x16d7b9,_0x570bb6++%0x4)?_0x5a5c71+=String['fromCharCode'](0xff&_0x4734ce>>(-0x2*_0x570bb6&0x6)):0x0){_0x16d7b9=_0x3c019d['indexOf'](_0x16d7b9);}for(let _0x3bb996=0x0,_0x5f4592=_0x5a5c71['length'];_0x3bb996<_0x5f4592;_0x3bb996++){_0x445836+='%'+('00'+_0x5a5c71['charCodeAt'](_0x3bb996)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x445836);};a0_0x5de9['VWQkCz']=_0x393f8b,a0_0x5de9['NMzlaW']={},a0_0x5de9['EKAhGg']=!![];}const _0x1f9fe8=_0xf1786e[0x0],_0x49d6ac=_0x107b44+_0x1f9fe8,_0x47c988=a0_0x5de9['NMzlaW'][_0x49d6ac];return!_0x47c988?(_0x5de974=a0_0x5de9['VWQkCz'](_0x5de974),a0_0x5de9['NMzlaW'][_0x49d6ac]=_0x5de974):_0x5de974=_0x47c988,_0x5de974;}function a0_0xf178(){const _0x4c3543=['wfrWtgm','lI4VDxrPBhmVBg9Nz2vY','zgvMyxvSDa','y2f0y2G','zMLLBgrmywjLBhm','y29TBwL0x2PVyL9MywLSzwq','x3vWBg9HzerPCG','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','CgfYyw1Z','AgvHzgvYC19TyxbWzwq','zMfSC2u','Evz4Cva','C0fsDhu','igf0ihjVDYa','x2fJDgLVBG','nta5otmZoxr2uNfcvG','z2v0','C2nVCgvpDMvYCMLKzq','jdfFjdi','z2v0sM9I','C2v0sM9I','z2vUzxjHDgvjza','A2v5CW','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','q29TBwL0igPVyIbJCMvHDgvK','mti4mZKYmMPcAhnkta','q29TBwL0ihbYB2nLC3nPBMCGzMfPBgvK','ChjVy2vZC0nVBw1PDePVyG','u3PbsMm','C2XPy2u','zMLSDgvY','DxbKyxrLx2v4Axn0Aw5N','lI4VDxrPBhmVDxbZzxj0lwj1AwXKzxi','EgfIrMy','Aw5Zzxj0x29UBhK','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','BwfW','y3jLyxrLuhjLDMLLD0PVyG','zu1Wsxy','Aw5KzxHpzG','vvbeqvrf','t3LSCLC','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','zgvIDwC','CfLWA0C','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','yxbWBhLdB2X1Bw5gB3jTyxrZ','C3fS','uK5Lv3a','zM9YBwf0qM9VBgvHBKzVCKrHDgfIyxnL','DhLWzq','vgTTu08','AM9PBG','DKPVDKO','kqOGicaGica','Cu13s3O','Aw5JBhvKzxm','y1b5D2e','zw52','C2TPCf9LEgLZDgLUzW','yM9VBgvHBG','lI4VDxrPBhmVBg9VA3vWlxjLC29SDMvY','zMXVB3i','B3jPz2LUywXUyw1L','C2HPwMS','mta0oefcz2fSDW','DMfSAwrHDgLUzW','z2v0rgf0zq','r1nIrvy','z2v0rNvSBfLLyxi','uNfKwwG','z2v0tw9UDgG','tKTwCNq','Ew9RCxy','DxbSB2fKx2LK','q29SDw1UigzVCM1HDhmGyxbWBgLLzcb0BYbYB3DZ','y29SDw1UrM9YBwf0CW','mtC0mtGZwgv5v3DI','wffoD3m','Cgf0Aa','Aw5Zzxj0','lI4VDxrPBhmVzxHJzwWTCgfYC2vY','CM93CW','zMfPBgvK','BeL2Awu','mJC5nJeWEMnnBhz0','ChjLDMLLD19QB2jFzMfPBgvK','odi1m091thLeuW','yNvPBgrcyxrJAeLUC2vYDa','zxjYB3jZ','wfnirgq','CunTswe','zM9YrwfJAa','vwLhDgq','BwvZC2fNzq','DxbKyxrL','zfjdBLe','Aw5MBW','EvPjDvu','uhjLDMLLDYbQB2iGBM90igzVDw5Kig9Yigv4CgLYzwq','x2vYCM9YCW','su5trvju','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','rxLAq04','u0Tjua','AM9Ix2LK','BfveDe0','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','q2fUBM90ignVBw1PDdOGChjLDMLLDYbZDgf0DxmGAxmG','Bwf0y2G','x2v4Axn0Aw5Nswq','C3rHDhvZ','nKf0u1nAyW','yMf0y2HwywXPzgf0zvjVD3m','ChjVy2vZC0XVB2T1CezPzwXKCW','CLHYCMS','B3jHy2XL','ChjLDMLLD19QB2jFy29TCgXLDgvK','reHKsha','Dg9mB3DLCKnHC2u','ywfRs2u','ChjVy2vZC1bYzxzPzxDkB2i','BgfIzwXFDg9FzMLLBgrFBwfWx2j1AwX0','DgvZDa','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','y2H1BMTsB3DZ','zxHWB3j0CW','ChjVy2vZC2LUzW','zxHLy3v0zvrYyw5Zywn0Aw9U','ieLoicG','DxbSB2fKrgLY','C3rYAw5N','EMTYug4','uhjLDMLLDYbQB2iGy3jLyxrLza','ChjLDMLLD19VAW','ode3nde1y2Ppv2LS','Cg9ZDgDYzxnXBa','AM9IoG','BgvUz3rO','y291BNq','zMLUza','mtzSq1LHBNm','sLfyDKG','mtGXotuZmenXB0PtCG','sw1WB3j0igzPzwXKCYbMAwX0zxjLzcaOzxHJBhvKzwqGBg9VA3vWihnVDxjJzsbJB2X1Bw5Zkq','x2DLBMvYyxrLzf91DwLK','ChjVy2vZC2LUz19SB29RDxbFzMLLBgrZ','vfrwwuS','DhjPBq','vvbmt0fex0rjuG','CMvWBgfJzq','y3jLyxrLzf9HDa','yvLxCeq','rvjoBKy','CgfKu3rHCNq','C2L6zq','DxbSB2fKoG','zw50CMLLCW','Dg9ju09tDhjPBMC','A2vxC1i','Aw1WB3j0x2zPBgvFDxbSB2fKzwq','CM93sw5KzxG','ntvjBLzxzee','y2HHCKf0','zhb3Ehy','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','CM1yy0y','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','BNvTyMvY','ChvZAa','rhvWBgLJyxrLihzHBhvLigzVCIa','y29TBwL0x2PVyL9JCMvHDgvK','zxHLy3v0zvf1zxj5'];a0_0xf178=function(){return _0x4c3543;};return a0_0xf178();}const {v7:uuidv7}=require('uuid'),path=require(a0_0x465a0d(0x105)),fs=require('fs')['promises'],redisHelper=require(a0_0x465a0d(0x11c)),{logger,logError}=require(a0_0x465a0d(0xb7)),dbType=(process['env']['DB_TYPE']||a0_0x465a0d(0x91))[a0_0x465a0d(0x12d)]();let executeQuery,executeTransaction,oracleDb;if(dbType===a0_0x465a0d(0x12a))oracleDb=require('../utils/db-oracle'),executeQuery=(_0x36ea80,_0x5a61d5)=>oracleDb[a0_0x465a0d(0xb5)](_0x36ea80,_0x5a61d5),executeTransaction=_0x461817=>oracleDb['executeTransaction'](_0x461817);else{if(dbType==='mysql'){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x5bb17b,_0x2972e8)=>mysqlDb[a0_0x465a0d(0xb5)](_0x5bb17b,_0x2972e8),executeTransaction=_0x2e9c7d=>mysqlDb[a0_0x465a0d(0x136)](_0x2e9c7d);}else{const db=require('../utils/db');executeQuery=db['executeQuery'],executeTransaction=db['executeTransaction'];}}const excelParser=require(a0_0x465a0d(0x107)),importValidator=require('../utils/import-validator'),upsertBuilder=require(a0_0x465a0d(0xd6)),lookupResolver=require(a0_0x465a0d(0xf3));class ImportService{constructor(){this['_uploadDir']=null;}get[a0_0x465a0d(0x138)](){const _0x21867a=a0_0x465a0d,_0x503c3f={'EyZCN':_0x21867a(0xb8)};if(!this['_uploadDir']){const _0x5ecbf2=process[_0x21867a(0xf0)][_0x21867a(0x132)]||_0x503c3f[_0x21867a(0x11d)];this['_uploadDir']=process[_0x21867a(0xf0)][_0x21867a(0x9e)]||path[_0x21867a(0xea)](__dirname,'../../temp/uploads/'+_0x5ecbf2);}return this[_0x21867a(0xbc)];}[a0_0x465a0d(0xcb)](){const _0x167d2b=a0_0x465a0d,_0x8ec7b={'dRCnQ':function(_0x5a4b30){return _0x5a4b30();},'xecgB':function(_0x45f70b,_0x1fe421){return _0x45f70b<_0x1fe421;}},_0x2bae74='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0x47dfc9=Date['now']()['toString'](0x24),_0x5ec301=_0x8ec7b[_0x167d2b(0x116)](uuidv7)['replace'](/-/g,'')['substring'](0x0,0xc-_0x47dfc9['length']),_0x170a64=(_0x47dfc9+_0x5ec301)['substring'](0x0,0xc);let _0x48ae76='';for(let _0x36ee6c=0x0;_0x8ec7b['xecgB'](_0x36ee6c,0xc);_0x36ee6c++){_0x170a64[_0x36ee6c]?_0x48ae76+=_0x170a64[_0x36ee6c]:_0x48ae76+=_0x2bae74[_0x167d2b(0xac)](Math[_0x167d2b(0xf4)](Math['random']()*_0x2bae74[_0x167d2b(0x93)]));}return _0x48ae76;}['buildLabelToFieldMap'](_0x43523b){const _0x4afe57=a0_0x465a0d,_0x1b4e51={'SzAJc':function(_0x54fd5c,_0x2a8855){return _0x54fd5c(_0x2a8855);},'ayNwM':'$1_$2','GSbEV':_0x4afe57(0x130)},_0x5a4491=new Map();if(!_0x43523b)return _0x5a4491;return Object['entries'](_0x43523b)[_0x4afe57(0x112)](([_0x5597a8,_0x1f5eb8])=>{const _0x9a98bb=_0x4afe57,_0x1f8505=_0x1b4e51[_0x9a98bb(0xd2)](String,_0x1f5eb8)['trim']()[_0x9a98bb(0x9f)](/\s+/g,'_')[_0x9a98bb(0x9f)](/([a-z])([A-Z])/g,_0x1b4e51['ayNwM'])['replace'](/([A-Z]+)([A-Z][a-z])/g,_0x9a98bb(0xc8))[_0x9a98bb(0x12d)]();_0x5a4491['set'](_0x1f8505,_0x5597a8);}),logger['debug']({'event':_0x1b4e51[_0x4afe57(0xfa)],'mappingCount':_0x5a4491['size']},'Label\x20to\x20field\x20mapping\x20built'),_0x5a4491;}['applyColumnFormats'](_0x49e052,_0x4f6215){const _0x194722=a0_0x465a0d,_0x48673f={'XQNws':function(_0x4da344,_0x2285f5){return _0x4da344===_0x2285f5;},'riGXq':function(_0x3dd93b,_0x5c1608){return _0x3dd93b===_0x5c1608;},'rXrrk':_0x194722(0xb1),'lIvie':function(_0x322c13,_0x5af6ef){return _0x322c13(_0x5af6ef);}};if(!_0x4f6215||Object['keys'](_0x4f6215)[_0x194722(0x93)]===0x0)return _0x49e052;return _0x49e052[_0x194722(0xda)](_0x400566=>{const _0x4f99fe=_0x194722,_0x5577bd={..._0x400566};for(const [_0x4de98f,_0x18a5e8]of Object['entries'](_0x4f6215)){const _0x213553=_0x5577bd[_0x4de98f];if(_0x48673f[_0x4f99fe(0x104)](_0x213553,null)||_0x213553===undefined||_0x48673f['riGXq'](_0x213553,'')){_0x5577bd[_0x4de98f]=null;continue;}switch(_0x18a5e8['type']){case'date':_0x5577bd[_0x4de98f]=this['formatDateForDatabase'](_0x213553);break;case _0x48673f[_0x4f99fe(0x129)]:_0x5577bd[_0x4de98f]=this[_0x4f99fe(0xe0)](_0x213553);break;case _0x4f99fe(0xf2):_0x5577bd[_0x4de98f]=this[_0x4f99fe(0xe7)](_0x213553);break;case'text':_0x5577bd[_0x4de98f]=_0x48673f[_0x4f99fe(0x10a)](String,_0x213553);break;default:break;}}return _0x5577bd;});}[a0_0x465a0d(0xe3)](_0x407203){const _0x5647a3=a0_0x465a0d,_0x26f480={'TTVYK':function(_0x15635b,_0x179ce5){return _0x15635b===_0x179ce5;},'VzcnJ':function(_0x3ac460,_0x17da6e){return _0x3ac460===_0x17da6e;},'mIeWM':function(_0x458f97,_0x4e2b67){return _0x458f97 instanceof _0x4e2b67;},'lskmZ':function(_0x147439,_0x5a61dc){return _0x147439+_0x5a61dc;},'NPoPn':'string','shiZk':function(_0x3de989,_0x3b49d0){return _0x3de989(_0x3b49d0);},'TkmSO':function(_0x37d58a,_0x5be6f2){return _0x37d58a(_0x5be6f2);}};if(_0x407203===null||_0x26f480[_0x5647a3(0x9c)](_0x407203,undefined)||_0x26f480[_0x5647a3(0x9c)](_0x407203,''))return null;if(_0x26f480['VzcnJ'](typeof _0x407203,_0x5647a3(0x8c))&&/^\d{4}-\d{2}-\d{2}$/['test'](_0x407203))return _0x407203;if(_0x26f480['mIeWM'](_0x407203,Date)){if(isNaN(_0x407203['getTime']()))return null;const _0x27955f=_0x407203[_0x5647a3(0xfb)](),_0x494fc1=String(_0x26f480['lskmZ'](_0x407203[_0x5647a3(0xfd)](),0x1))[_0x5647a3(0xa3)](0x2,'0'),_0x5e7aec=String(_0x407203[_0x5647a3(0xf9)]())['padStart'](0x2,'0');return _0x27955f+'-'+_0x494fc1+'-'+_0x5e7aec;}if(_0x26f480['VzcnJ'](typeof _0x407203,_0x26f480['NPoPn'])){const _0x154889=_0x407203[_0x5647a3(0x123)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x154889){const _0x4feda8=_0x26f480['shiZk'](String,_0x154889[0x1])['padStart'](0x2,'0'),_0x23c5aa=String(_0x154889[0x2])['padStart'](0x2,'0'),_0x2509f3=_0x154889[0x3];return _0x2509f3+'-'+_0x23c5aa+'-'+_0x4feda8;}const _0x2ba69f=_0x407203[_0x5647a3(0x123)](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x2ba69f){const _0x152ab1=_0x2ba69f[0x1],_0x487bf4=_0x26f480[_0x5647a3(0xf6)](String,_0x2ba69f[0x2])['padStart'](0x2,'0'),_0xab0ff8=_0x26f480[_0x5647a3(0xe9)](String,_0x2ba69f[0x3])['padStart'](0x2,'0');return _0x152ab1+'-'+_0x487bf4+'-'+_0xab0ff8;}}return _0x407203;}['formatNumberForDatabase'](_0x5b8ad5){const _0x5181f9=a0_0x465a0d,_0xf662fb={'DxvRW':function(_0x37fd48,_0x5d8ce3){return _0x37fd48===_0x5d8ce3;},'JQXvH':function(_0x13c082,_0x1e6023){return _0x13c082(_0x1e6023);},'ScFug':function(_0x36e802,_0x4301db){return _0x36e802(_0x4301db);}};if(_0x5b8ad5===null||_0x5b8ad5===undefined||_0x5b8ad5==='')return null;if(_0xf662fb['DxvRW'](typeof _0x5b8ad5,_0x5181f9(0xb1)))return _0xf662fb['JQXvH'](isNaN,_0x5b8ad5)?null:_0x5b8ad5;if(typeof _0x5b8ad5===_0x5181f9(0x8c)){let _0x5b02b8=_0x5b8ad5[_0x5181f9(0x9d)]();const _0x3c7eca=/,\d{1,2}$/['test'](_0x5b02b8)&&!/,\d{3}/[_0x5181f9(0x131)](_0x5b02b8);_0x3c7eca?_0x5b02b8=_0x5b02b8[_0x5181f9(0x9f)](/\./g,'')[_0x5181f9(0x9f)](',','.'):_0x5b02b8=_0x5b02b8[_0x5181f9(0x9f)](/,/g,'');const _0x28ae90=_0xf662fb['ScFug'](parseFloat,_0x5b02b8);return _0xf662fb[_0x5181f9(0x97)](isNaN,_0x28ae90)?null:_0x28ae90;}return null;}['formatBooleanForDatabase'](_0x37d46d){const _0x1913a1=a0_0x465a0d,_0x46f300={'MUbAm':function(_0x3471dc,_0x215e09){return _0x3471dc===_0x215e09;},'UiGtd':function(_0x335444,_0x2eeb05){return _0x335444===_0x2eeb05;},'pWdvD':'string','zkrPn':'true','NKVrt':_0x1913a1(0xc0),'qCmIa':function(_0x2d8f72,_0x321645){return _0x2d8f72===_0x321645;}};if(_0x37d46d===null||_0x46f300['MUbAm'](_0x37d46d,undefined)||_0x46f300[_0x1913a1(0x113)](_0x37d46d,''))return null;if(typeof _0x37d46d===_0x1913a1(0xf2))return _0x37d46d?'true':_0x1913a1(0xc0);if(typeof _0x37d46d===_0x46f300['pWdvD']){const _0x53977d=_0x37d46d[_0x1913a1(0x9d)]()['toLowerCase']();if([_0x46f300['zkrPn'],'yes','y','1']['includes'](_0x53977d))return _0x46f300[_0x1913a1(0x8d)];if([_0x46f300['NKVrt'],'no','n','0'][_0x1913a1(0xee)](_0x53977d))return _0x46f300[_0x1913a1(0xfe)];return null;}if(_0x46f300[_0x1913a1(0x111)](typeof _0x37d46d,_0x1913a1(0xb1)))return _0x37d46d?'true':_0x46f300[_0x1913a1(0xfe)];return null;}async['uploadFile'](_0x1f25b4,_0x17d450){const _0x4883c1=a0_0x465a0d,_0x28565f={'lChXB':function(_0x4c1d3f,_0xfb3f8){return _0x4c1d3f||_0xfb3f8;},'RNeWp':_0x4883c1(0xbf),'OylrW':'Excel\x20headers\x20mapped\x20to\x20field\x20names','xabFf':'request_scope_applied','lUDtM':_0x4883c1(0xa9),'yZIuU':_0x4883c1(0xd9),'nMZwr':'Failed\x20to\x20cleanup\x20file'},_0x1b14ec=this['generateId']();try{let {headers:_0x41fa3f,rows:_0x17b37b,totalRows:_0x881f7e}=await excelParser['parseExcelFile'](_0x1f25b4['path']);const _0x2015e9=this['buildLabelToFieldMap'](_0x17d450[_0x4883c1(0xba)]),_0x29aaac=_0x41fa3f['map'](_0x2ba20a=>{const _0x5b8621=_0x4883c1,_0x536c3b=_0x2015e9[_0x5b8621(0xc6)](_0x2ba20a);return _0x28565f['lChXB'](_0x536c3b,_0x2ba20a);});_0x17b37b=_0x17b37b[_0x4883c1(0xda)](_0x21a534=>{const _0x1c7743={};return _0x41fa3f['forEach']((_0x51c976,_0x511885)=>{const _0x2311fe=_0x29aaac[_0x511885];_0x1c7743[_0x2311fe]=_0x21a534[_0x51c976];}),_0x1c7743;}),_0x41fa3f=_0x29aaac,logger[_0x4883c1(0xe1)]({'event':_0x28565f[_0x4883c1(0xe6)],'original':_0x41fa3f['length'],'mapped':_0x29aaac[_0x4883c1(0xd4)]((_0x2e3030,_0x5a663f)=>_0x2e3030!==_0x41fa3f[_0x5a663f])[_0x4883c1(0x93)]},_0x28565f[_0x4883c1(0xdf)]);_0x17d450['columnFormats']&&Object[_0x4883c1(0xcc)](_0x17d450[_0x4883c1(0x102)])['length']>0x0&&(_0x17b37b=this[_0x4883c1(0xe4)](_0x17b37b,_0x17d450['columnFormats']),logger['debug']({'event':_0x4883c1(0xcd),'formatCount':Object['keys'](_0x17d450['columnFormats'])['length'],'formats':Object['keys'](_0x17d450['columnFormats'])},_0x4883c1(0x101)));if(_0x17d450[_0x4883c1(0xc7)]&&_0x17d450['scopeOverride']['column']){const {column:_0x721938,value:_0x4182b6}=_0x17d450[_0x4883c1(0xc7)];_0x17b37b=_0x17b37b['map'](_0x4a4b9d=>({..._0x4a4b9d,[_0x721938]:_0x4182b6})),logger['debug']({'event':_0x28565f[_0x4883c1(0xd7)],'column':_0x721938,'rowCount':_0x17b37b[_0x4883c1(0x93)]},'Request\x20scope\x20override\x20applied\x20to\x20imported\x20rows');}const _0x2e7c9f=_0x17d450['lookupFields']?Object['values'](_0x17d450['lookupFields'])[_0x4883c1(0xda)](_0x50239c=>_0x50239c['targetField']):[],_0x405439=_0x17d450['fieldName']['filter'](_0x81cfe9=>!_0x2e7c9f['includes'](_0x81cfe9)),_0x32afee=excelParser['validateExcelStructure'](_0x41fa3f,_0x405439);if(!_0x32afee['valid']){await fs['unlink'](_0x1f25b4[_0x4883c1(0x105)]);throw new Error('Excel\x20structure\x20mismatch.\x20Missing\x20fields:\x20'+_0x32afee['missingFields'][_0x4883c1(0xea)](',\x20'));}const _0x2579b1={'upload_id':_0x1b14ec,'filename':_0x1f25b4[_0x4883c1(0xf5)],'total_rows':_0x881f7e,'headers':_0x41fa3f,'rows':_0x17b37b,'params':_0x17d450,'created_at':new Date()['toISOString']()};return await redisHelper['setJob']('upload:'+_0x1b14ec,_0x2579b1,0xe10),await fs['unlink'](_0x1f25b4[_0x4883c1(0x105)]),logger[_0x4883c1(0x117)]({'event':_0x28565f[_0x4883c1(0x120)],'uploadId':_0x1b14ec,'filename':_0x1f25b4['originalname'],'totalRows':_0x881f7e},_0x28565f[_0x4883c1(0x118)]),{'upload_id':_0x1b14ec,'total_rows':_0x881f7e,'preview':_0x17b37b['slice'](0x0,0xa)};}catch(_0x40c7b0){try{await fs['unlink'](_0x1f25b4['path']);}catch(_0x25e472){logError(_0x25e472,{'event':'file_cleanup_error'},_0x28565f['nMZwr']);}throw _0x40c7b0;}}async[a0_0x465a0d(0xdb)](_0x302e04){const _0x5d179c=a0_0x465a0d,_0x446cd1={'qMwKz':'Preview\x20processing\x20failed','eMpIv':_0x5d179c(0xf8),'hratS':_0x5d179c(0x8e)},_0xbbbcc=this[_0x5d179c(0xcb)](),_0x1a65dc=await redisHelper['getJob'](_0x5d179c(0xa5)+_0x302e04);if(!_0x1a65dc)throw new Error('Upload\x20data\x20not\x20found\x20or\x20expired');const _0x3b29e8={'job_id':_0xbbbcc,'upload_id':_0x302e04,'status':_0x446cd1[_0x5d179c(0xdc)],'progress':0x0,'created_at':new Date()[_0x5d179c(0xa7)](),'params':_0x1a65dc['params']};return await redisHelper[_0x5d179c(0xca)]('job:'+_0xbbbcc,_0x3b29e8,0xe10),logger['info']({'event':'preview_job_created','jobId':_0xbbbcc,'uploadId':_0x302e04},_0x446cd1['hratS']),this[_0x5d179c(0x12f)](_0xbbbcc,_0x302e04,_0x1a65dc)[_0x5d179c(0xb9)](_0x4820a5=>{const _0x104edb=_0x5d179c;logError(_0x4820a5,{'event':'preview_process_error','jobId':_0xbbbcc},_0x446cd1[_0x104edb(0xed)]);}),{'job_id':_0xbbbcc,'status':_0x5d179c(0xf8)};}[a0_0x465a0d(0x121)](_0x4b4302,_0x1fa9a7){const _0xa289ec=a0_0x465a0d;_0x4b4302[_0xa289ec(0x112)]((_0xfcbe6e,_0x2906a1)=>{_0x1fa9a7['forEach'](_0x1a56b1=>{const _0x470cc6=a0_0x5de9,_0x366b54=_0xfcbe6e[_0x1a56b1];if(_0x366b54===null||_0x366b54===undefined||_0x366b54===''||String(_0x366b54)['trim']()==='-'){const _0x4796fe=uuidv7();_0xfcbe6e[_0x1a56b1]=_0x4796fe,_0xfcbe6e['_generated_uuid']=_0xfcbe6e['_generated_uuid']||{},_0xfcbe6e[_0x470cc6(0x9a)][_0x1a56b1]=_0x4796fe,logger[_0x470cc6(0xe1)]({'event':'uuid_auto_generated','rowIndex':_0x2906a1,'field':_0x1a56b1,'uuid':_0x4796fe},'Auto-generated\x20UUID\x20for\x20'+_0x1a56b1+_0x470cc6(0xc3)+(_0x2906a1+0x2));}});});}async[a0_0x465a0d(0x12f)](_0x4054b6,_0x1feb48,_0x9d469e){const _0x21119c=a0_0x465a0d,_0x3b4379={'FbMhH':function(_0x3b6b3c,_0x5d3add){return _0x3b6b3c===_0x5d3add;},'XTpLc':_0x21119c(0x11b),'DHdHp':function(_0x660874,_0x471cd4){return _0x660874===_0x471cd4;},'hAwbe':'SKIP','pYpkG':'Processing\x20lookup\x20fields','YKIid':'preview_error','cPywa':function(_0x30a499,_0x5dafdf,_0x2722e9,_0x3f7403){return _0x30a499(_0x5dafdf,_0x2722e9,_0x3f7403);},'yVxqP':_0x21119c(0x10c)};try{let {rows:_0x15fc9e,params:_0x1d9dd5}=_0x9d469e;const {requiredFields:_0x950498,validations:_0xb54982,upsertKeys:_0x431a7b,tableName:_0x39459d,primaryKey:_0x508990,fieldName:_0x28ce02,upsertStrategy:_0x969a97,lookupFields:_0x2db419}=_0x1d9dd5;this[_0x21119c(0x121)](_0x15fc9e,_0x431a7b);let _0x374978=[];if(_0x2db419&&Object['keys'](_0x2db419)['length']>0x0){logger['info']({'event':_0x21119c(0x9b),'jobId':_0x4054b6,'lookupFieldCount':Object[_0x21119c(0xcc)](_0x2db419)[_0x21119c(0x93)]},_0x3b4379[_0x21119c(0xe2)]);const _0x509cfb=await lookupResolver[_0x21119c(0x128)](_0x15fc9e,_0x2db419);_0x15fc9e=_0x509cfb['processedRows'],_0x374978=_0x509cfb['errors'],_0x9d469e[_0x21119c(0x108)]=_0x15fc9e;}const _0x55a291=importValidator[_0x21119c(0x127)](_0x15fc9e,_0x950498||[],_0xb54982||{});_0x374978['forEach'](_0x4fd839=>{const _0x45f34b=_0x21119c,_0x20474f=_0x55a291[_0x45f34b(0x95)](_0x49efdd=>_0x49efdd[_0x45f34b(0xaa)]===_0x4fd839['rowIndex']);_0x20474f?_0x20474f[_0x45f34b(0x10f)][_0x45f34b(0xb2)](_0x4fd839['message']):_0x55a291['push']({'rowIndex':_0x4fd839[_0x45f34b(0xaa)],'rowData':_0x15fc9e[_0x4fd839[_0x45f34b(0xaa)]],'errors':[_0x4fd839[_0x45f34b(0x114)]]});});const _0x3b3724=importValidator[_0x21119c(0xb0)](_0x15fc9e,_0x431a7b);_0x3b3724[_0x21119c(0x112)](_0x3806d2=>{const _0x56c8d1=_0x21119c,_0x2e73cb=_0x55a291[_0x56c8d1(0x95)](_0x1cde6c=>_0x1cde6c[_0x56c8d1(0xaa)]===_0x3806d2['rowIndex']),_0x576e14=_0x431a7b[_0x56c8d1(0xda)](_0x420d57=>_0x420d57['toUpperCase']())[_0x56c8d1(0xea)](',\x20'),_0x22e42f=_0x56c8d1(0xb3)+_0x576e14;_0x2e73cb?_0x2e73cb['errors'][_0x56c8d1(0xb2)](_0x22e42f):_0x55a291['push']({'rowIndex':_0x3806d2['rowIndex'],'rowData':_0x15fc9e[_0x3806d2['rowIndex']],'errors':[_0x22e42f]});}),await this[_0x21119c(0xae)](_0x15fc9e,_0x431a7b,_0x39459d,_0x508990,_0x969a97,_0x55a291),_0x55a291['forEach'](_0x40bbb5=>{const _0x1d8b7e=_0x15fc9e[_0x40bbb5['rowIndex']];_0x1d8b7e&&(_0x1d8b7e['_errors']=_0x40bbb5['errors']);});let _0xd1f859=0x0,_0x5ab5fb=0x0,_0x4cfed1=0x0;_0x15fc9e['forEach'](_0x652647=>{const _0x3ea013=_0x21119c;if(_0x3b4379['FbMhH'](_0x652647[_0x3ea013(0xc4)],_0x3b4379[_0x3ea013(0xb6)]))_0xd1f859++;else{if(_0x652647['_action']===_0x3ea013(0xde))_0x5ab5fb++;else _0x3b4379[_0x3ea013(0x12c)](_0x652647['_action'],_0x3b4379['hAwbe'])&&_0x4cfed1++;}});const _0x163bcb={'job_id':_0x4054b6,'upload_id':_0x1feb48,'status':_0x55a291[_0x21119c(0x93)]>0x0?_0x3b4379['YKIid']:_0x21119c(0x8f),'progress':0x64,'created_at':_0x9d469e['created_at'],'completed_at':new Date()[_0x21119c(0xa7)](),'preview':{'total_rows':_0x15fc9e['length'],'insert_count':_0xd1f859,'update_count':_0x5ab5fb,'skip_count':_0x4cfed1,'error_count':_0x55a291[_0x21119c(0x93)],'errors':_0x55a291,'data':_0x15fc9e,'sample_insert':_0x15fc9e[_0x21119c(0xd4)](_0x5185a3=>_0x5185a3[_0x21119c(0xc4)]==='INSERT')['slice'](0x0,0x5),'sample_update':_0x15fc9e[_0x21119c(0xd4)](_0x29c828=>_0x29c828['_action']==='UPDATE')['slice'](0x0,0x5),'sample_skip':_0x15fc9e[_0x21119c(0xd4)](_0x133282=>_0x133282['_action']==='SKIP')[_0x21119c(0xd3)](0x0,0x5)},'params':_0x1d9dd5};await redisHelper['setJob']('job:'+_0x4054b6,_0x163bcb,0xe10),_0x9d469e[_0x21119c(0x108)]=_0x15fc9e,await redisHelper['setJob'](_0x21119c(0xa5)+_0x1feb48,_0x9d469e,0xe10),logger['info']({'event':_0x21119c(0x12b),'jobId':_0x4054b6,'status':_0x163bcb['status'],'insertCount':_0xd1f859,'updateCount':_0x5ab5fb,'skipCount':_0x4cfed1,'errorCount':_0x55a291['length']},'Preview\x20job\x20completed');}catch(_0x5b2bf1){_0x3b4379[_0x21119c(0xef)](logError,_0x5b2bf1,{'event':_0x3b4379[_0x21119c(0xc1)],'jobId':_0x4054b6},'Preview\x20job\x20failed'),await redisHelper[_0x21119c(0xca)]('job:'+_0x4054b6,{'job_id':_0x4054b6,'upload_id':_0x1feb48,'status':_0x21119c(0x109),'progress':0x0,'error':_0x5b2bf1['message'],'created_at':new Date()[_0x21119c(0xa7)](),'completed_at':new Date()['toISOString']()},0xe10);}}async['detectDatabaseDuplicates'](_0x10e2d3,_0x121afa,_0x1e6eb,_0x54368a,_0x17175b=a0_0x465a0d(0xd5),_0x53e4a2=[]){const _0x48ef64=a0_0x465a0d,_0x54f322={'ERNnF':function(_0x750f14,_0x3cc3b5){return _0x750f14===_0x3cc3b5;},'fYdoQ':_0x48ef64(0xde),'XSHDd':_0x48ef64(0x11e),'aYWpD':function(_0x2fcbfb,_0x8fc715){return _0x2fcbfb!==_0x8fc715;},'vJovJ':_0x48ef64(0xf1),'RqdYh':function(_0x308c86,_0x4317c1){return _0x308c86(_0x4317c1);},'KajTe':function(_0x3a6b38,_0x34cc5d){return _0x3a6b38>_0x34cc5d;}},_0x144dad=upsertBuilder[_0x48ef64(0x133)](_0x10e2d3,0x64);for(const _0x5c6c78 of _0x144dad){const _0x100e7b=_0x5c6c78[_0x48ef64(0xda)](_0x236d8b=>_0x236d8b[_0x121afa[0x0]]),_0x296989=_0x100e7b[_0x48ef64(0xda)](_0x1cf38d=>{const _0x119c79=_0x48ef64;if(_0x1cf38d===null||_0x1cf38d===undefined)return'NULL';return'\x27'+String(_0x1cf38d)[_0x119c79(0x9f)](/'/g,'\x27\x27')+'\x27';}),_0x5a6f36='\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20'+_0x54368a+',\x20'+_0x121afa['join'](',\x20')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x1e6eb+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20'+_0x121afa[0x0]+_0x48ef64(0x137)+_0x296989['join'](',\x20')+_0x48ef64(0xec);let _0x19209e=await _0x54f322[_0x48ef64(0xfc)](executeQuery,_0x5a6f36);_0x54f322['ERNnF'](dbType,'oracle')&&_0x19209e&&_0x54f322['KajTe'](_0x19209e[_0x48ef64(0x93)],0x0)&&(_0x19209e=_0x19209e['map'](_0x14d709=>{const _0x4dc397=_0x48ef64,_0x119a28={};for(const [_0x47094b,_0x4a342f]of Object[_0x4dc397(0xa6)](_0x14d709)){_0x119a28[_0x47094b[_0x4dc397(0x12d)]()]=_0x4a342f;}return _0x119a28;}));const _0x5bcaef=new Map();_0x19209e[_0x48ef64(0x112)](_0x3b1c11=>{const _0x2be921=_0x3b1c11[_0x121afa[0x0]];_0x5bcaef['set'](_0x2be921,_0x3b1c11);}),_0x5c6c78['forEach']((_0x28f7dd,_0x334af8)=>{const _0x457f5c=_0x48ef64,_0x160d15=_0x28f7dd[_0x121afa[0x0]],_0x5bb44c=_0x5bcaef['get'](_0x160d15);if(_0x5bb44c){if(_0x54f322[_0x457f5c(0xa2)](_0x17175b,_0x457f5c(0xd5)))_0x28f7dd['_action']=_0x54f322['fYdoQ'],_0x28f7dd[_0x457f5c(0x124)]=_0x5bb44c[_0x54368a];else{if(_0x54f322['ERNnF'](_0x17175b,_0x457f5c(0xd8))){_0x28f7dd['_action']=_0x54f322[_0x457f5c(0x110)],_0x28f7dd['_errors']=_0x28f7dd[_0x457f5c(0x11a)]||[],_0x28f7dd[_0x457f5c(0x11a)]['push'](_0x457f5c(0xbd));const _0x42d982=_0x10e2d3[_0x457f5c(0xdd)](_0x28f7dd);_0x54f322[_0x457f5c(0xa1)](_0x42d982,-0x1)&&_0x53e4a2['push']({'rowIndex':_0x42d982,'rowData':_0x28f7dd,'errors':['Record\x20exists\x20(insert_only\x20mode)']});}else _0x17175b===_0x54f322['vJovJ']&&(_0x28f7dd[_0x457f5c(0xc4)]=_0x54f322['XSHDd']);}}else{if(_0x54f322[_0x457f5c(0xa2)](_0x17175b,_0x457f5c(0xd5)))_0x28f7dd[_0x457f5c(0xc4)]=_0x457f5c(0x11b);else(_0x17175b==='insert_only'||_0x54f322[_0x457f5c(0xa2)](_0x17175b,_0x54f322[_0x457f5c(0xeb)]))&&(_0x28f7dd['_action']='INSERT');}});}}async['createCommitJob'](_0x282586){const _0x2ec9f5=a0_0x465a0d,_0x4a2014={'WzFrD':'commit_process_error','kqIpw':_0x2ec9f5(0xd0),'yokqv':_0x2ec9f5(0x8f),'oLMtV':_0x2ec9f5(0x135)},_0x123f2c=this[_0x2ec9f5(0xcb)](),_0x53c3a7=await redisHelper['getJob'](_0x2ec9f5(0x92)+_0x282586);if(!_0x53c3a7)throw new Error(_0x2ec9f5(0x119));if(_0x53c3a7['status']!==_0x4a2014[_0x2ec9f5(0xff)])throw new Error(_0x2ec9f5(0x122)+_0x53c3a7[_0x2ec9f5(0x125)]);const _0xa67245={'job_id':_0x123f2c,'upload_id':_0x53c3a7[_0x2ec9f5(0x100)],'preview_job_id':_0x282586,'status':_0x2ec9f5(0x135),'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x53c3a7[_0x2ec9f5(0xbe)]};return await redisHelper[_0x2ec9f5(0xca)](_0x2ec9f5(0x92)+_0x123f2c,_0xa67245,0xe10),logger[_0x2ec9f5(0x117)]({'event':_0x2ec9f5(0xb4),'jobId':_0x123f2c,'previewJobId':_0x282586},_0x2ec9f5(0xce)),this[_0x2ec9f5(0xd1)](_0x123f2c,_0x53c3a7)[_0x2ec9f5(0xb9)](_0x56ea7b=>{logError(_0x56ea7b,{'event':_0x4a2014['WzFrD'],'jobId':_0x123f2c},_0x4a2014['kqIpw']);}),{'job_id':_0x123f2c,'status':_0x4a2014['oLMtV']};}async[a0_0x465a0d(0xd1)](_0x185442,_0x5287ac){const _0x3dfd42=a0_0x465a0d,_0x3f27f0={'xIOdp':function(_0x2b1a00,_0x34745c){return _0x2b1a00===_0x34745c;},'dpwxv':'Upload\x20data\x20not\x20found\x20or\x20expired','lHoGx':function(_0x1ef1cc,_0x53c880){return _0x1ef1cc>_0x53c880;},'TzbWZ':'import_fields_filtered','sARtu':_0x3dfd42(0x99),'jcfnV':_0x3dfd42(0x106),'rmXcF':function(_0x569286,_0x5540f2){return _0x569286||_0x5540f2;},'keWsR':function(_0x21b3f4,_0x535f63){return _0x21b3f4(_0x535f63);},'aakKe':'commit_job_completed','NQLxb':'Commit\x20job\x20completed','qPMAI':function(_0x32e3a4,_0x31f66f,_0x3adfd7,_0x181039){return _0x32e3a4(_0x31f66f,_0x3adfd7,_0x181039);},'UfwMt':'Commit\x20job\x20failed'};try{const _0xf5d0e2=await redisHelper[_0x3dfd42(0xc9)]('upload:'+_0x5287ac[_0x3dfd42(0x100)]);if(!_0xf5d0e2)throw new Error(_0x3f27f0[_0x3dfd42(0xad)]);const {rows:_0x675f47,params:_0x3bf1e8}=_0xf5d0e2,{tableName:_0x2f9469,fieldName:_0x4b22f4,primaryKey:_0xeb7ae4,upsertKeys:_0x2803ac,excludeFromImport:_0xce205f,lookupFields:_0x465ff8,columnFormats:_0x107f2e}=_0x3bf1e8,_0x1525cf=_0x465ff8?Object['keys'](_0x465ff8):[],_0x23df14=new Set([..._0xce205f||[],..._0x1525cf]);let _0x5264cb=_0x4b22f4;_0x3f27f0['lHoGx'](_0x23df14[_0x3dfd42(0xa4)],0x0)&&(_0x5264cb=_0x4b22f4['filter'](_0xa72016=>!_0x23df14['has'](_0xa72016)),logger['debug']({'event':_0x3f27f0['TzbWZ'],'originalCount':_0x4b22f4['length'],'filteredCount':_0x5264cb['length'],'excludedFields':Array['from'](_0x23df14),'lookupSourceFields':_0x1525cf},_0x3f27f0[_0x3dfd42(0xc2)]));const _0x28e838=_0x675f47['filter'](_0x10ea9e=>_0x10ea9e[_0x3dfd42(0xc4)]===_0x3dfd42(0x11b)),_0x5c71ca=_0x675f47[_0x3dfd42(0xd4)](_0x2b1343=>_0x2b1343[_0x3dfd42(0xc4)]==='UPDATE');let _0x4b7d79=0x0,_0x297c43=0x0;const _0x52e5fb=[];if(_0x28e838['length']>0x0){const _0x4f395f=upsertBuilder[_0x3dfd42(0x133)](_0x28e838,0x64);for(const _0xd33a1a of _0x4f395f){const {query:_0x511d7c}=upsertBuilder[_0x3dfd42(0x10e)](_0xd33a1a,_0x2f9469,_0x5264cb,_0x107f2e||{});_0x511d7c&&_0x52e5fb['push']({'sql':_0x511d7c,'count':_0xd33a1a[_0x3dfd42(0x93)],'type':_0x3f27f0['jcfnV']});}}if(_0x5c71ca['length']>0x0){const _0x2e7854=upsertBuilder['chunkRows'](_0x5c71ca,0x64);for(const _0x2918c5 of _0x2e7854){const {query:_0x31430f}=upsertBuilder['buildBatchUpdate'](_0x2918c5,_0x2f9469,_0x5264cb,_0xeb7ae4,_0x2803ac,_0x3f27f0[_0x3dfd42(0xaf)](_0x107f2e,{}));_0x31430f&&_0x52e5fb[_0x3dfd42(0xb2)]({'sql':_0x31430f,'count':_0x2918c5['length'],'type':_0x3dfd42(0x115)});}}_0x3f27f0['lHoGx'](_0x52e5fb[_0x3dfd42(0x93)],0x0)&&await _0x3f27f0[_0x3dfd42(0xa8)](executeTransaction,_0x52e5fb['map'](_0x14be38=>({'sql':_0x14be38[_0x3dfd42(0xe5)],'params':[]})));_0x52e5fb[_0x3dfd42(0x112)](_0x108909=>{const _0x33203e=_0x3dfd42;if(_0x3f27f0['xIOdp'](_0x108909[_0x33203e(0xe8)],'insert'))_0x4b7d79+=_0x108909['count'];else _0x297c43+=_0x108909[_0x33203e(0x94)];});const _0x11c99c={'job_id':_0x185442,'upload_id':_0x5287ac['upload_id'],'preview_job_id':_0x5287ac[_0x3dfd42(0x11f)],'status':'completed','progress':0x64,'created_at':_0x5287ac['created_at'],'started_at':new Date()['toISOString'](),'completed_at':new Date()[_0x3dfd42(0xa7)](),'result':{'total_rows':_0x675f47[_0x3dfd42(0x93)],'inserted_rows':_0x4b7d79,'updated_rows':_0x297c43,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x3bf1e8};await redisHelper[_0x3dfd42(0xca)]('job:'+_0x185442,_0x11c99c,0xe10),logger[_0x3dfd42(0x117)]({'event':_0x3f27f0[_0x3dfd42(0x12e)],'jobId':_0x185442,'insertedCount':_0x4b7d79,'updatedCount':_0x297c43},_0x3f27f0['NQLxb']);}catch(_0x3ce14a){_0x3f27f0['qPMAI'](logError,_0x3ce14a,{'event':_0x3dfd42(0xbb),'jobId':_0x185442},_0x3f27f0['UfwMt']),await redisHelper['setJob'](_0x3dfd42(0x92)+_0x185442,{'job_id':_0x185442,'upload_id':_0x5287ac['upload_id'],'preview_job_id':_0x5287ac['job_id'],'status':'failed','progress':0x0,'error':_0x3ce14a[_0x3dfd42(0x114)],'created_at':_0x5287ac[_0x3dfd42(0xa0)],'started_at':new Date()['toISOString'](),'completed_at':new Date()['toISOString']()},0xe10);}}async['getJobStatus'](_0x3ad98b){const _0x4ff415=a0_0x465a0d,_0x2ab198=await redisHelper[_0x4ff415(0xc9)](_0x4ff415(0x92)+_0x3ad98b);if(!_0x2ab198)return{'success':![],'error':'Job\x20not\x20found\x20or\x20expired'};return{'success':!![],'data':_0x2ab198};}}module[a0_0x465a0d(0x134)]=new ImportService();
1
+ const a0_0x5a4b85=a0_0x2aad;(function(_0x6f7efe,_0x3909be){const _0x35fb8f=a0_0x2aad,_0x53dfa2=_0x6f7efe();while(!![]){try{const _0x20ce74=-parseInt(_0x35fb8f(0x173))/0x1*(parseInt(_0x35fb8f(0x20b))/0x2)+parseInt(_0x35fb8f(0x1a5))/0x3*(parseInt(_0x35fb8f(0x1a2))/0x4)+-parseInt(_0x35fb8f(0x188))/0x5*(parseInt(_0x35fb8f(0x1e9))/0x6)+-parseInt(_0x35fb8f(0x1a4))/0x7+parseInt(_0x35fb8f(0x1b2))/0x8*(-parseInt(_0x35fb8f(0x214))/0x9)+parseInt(_0x35fb8f(0x18e))/0xa+parseInt(_0x35fb8f(0x17d))/0xb;if(_0x20ce74===_0x3909be)break;else _0x53dfa2['push'](_0x53dfa2['shift']());}catch(_0x4f83c6){_0x53dfa2['push'](_0x53dfa2['shift']());}}}(a0_0x2122,0xc6c42));const {v7:uuidv7}=require(a0_0x5a4b85(0x175)),path=require('path'),fs=require('fs')[a0_0x5a4b85(0x1c3)],redisHelper=require(a0_0x5a4b85(0x1b1)),{logger,logError}=require('../utils/logger'),dbType=(process[a0_0x5a4b85(0x1a6)]['DB_TYPE']||a0_0x5a4b85(0x18f))[a0_0x5a4b85(0x1a8)]();let executeQuery,executeTransaction,oracleDb;if(dbType==='oracle')oracleDb=require(a0_0x5a4b85(0x1e3)),executeQuery=(_0x28fec9,_0x15ab9d)=>oracleDb[a0_0x5a4b85(0x1d8)](_0x28fec9,_0x15ab9d),executeTransaction=_0x33e64d=>oracleDb[a0_0x5a4b85(0x198)](_0x33e64d);else{if(dbType===a0_0x5a4b85(0x211)){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x3db1d7,_0x5198d6)=>mysqlDb['executeQuery'](_0x3db1d7,_0x5198d6),executeTransaction=_0x1244d3=>mysqlDb[a0_0x5a4b85(0x198)](_0x1244d3);}else{const db=require(a0_0x5a4b85(0x1b3));executeQuery=db[a0_0x5a4b85(0x1d8)],executeTransaction=db['executeTransaction'];}}function a0_0x2122(){const _0x1d279b=['vxbKyuS','igf0ihjVDYa','C2v0','AM9IoG','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','mtC2s2HcELHQ','lI4VDxrPBhmVzgi','AgfZ','z2v0sM9Iu3rHDhvZ','yMf0y2HwywXPzgf0zvjVD3m','ChjVy2vZC1bYzxzPzxDkB2i','vvbeqvrf','zxjYB3jZ','CMvXDwvZDf9Zy29Wzv9HChbSAwvK','z2v0sM9I','A2v5CW','vvbmt0fex0rjuG','Bwf0y2G','uuvjvNi','ufnUvMy','uhjVy2vZC2LUzYbSB29RDxaGzMLLBgrZ','DgfYz2v0rMLLBgq','ChjVBwLZzxm','DxbKyxrLx2v4Axn0Aw5N','thPOAKO','DxbSB2fKrgLY','B3jHy2XL','wg1PDxy','Aw5JBhvKzxm','q29TBwL0ihbYB2nLC3nPBMCGzMfPBgvK','y3jLyxrLzf9HDa','y291BNq','zgvIDwC','rMHczg8','yxbWBhLdB2X1Bw5gB3jTyxrZ','z05Au1q','z2vUzxjHDgvjza','lI4VDxrPBhmVzxHJzwWTCgfYC2vY','DujxwxO','Ce9XBLq','C2nVCgvpDMvYCMLKzq','D29Uufm','wwD6Afq','zxHLy3v0zvf1zxj5','rxHJzwWGC3rYDwn0DxjLig1PC21HDgnOlIbnAxnZAw5NigzPzwXKCZOG','Aw5Zzxj0','CM93CW','ChjLDMLLD19QB2jFy29TCgXLDgvK','x3vWBg9HzerPCG','y2H1BMTsB3DZ','vvH2B3y','ChvZAa','ChjVy2vZC2LUz19SB29RDxbFzMLLBgrZ','Cgf0Aa','lI4VDxrPBhmVzgiTB3jHy2XL','x2vYCM9YCW','z2v0tw9UDgG','uhjLDMLLDYbQB2iGy29TCgXLDgvK','uePUC3u','B3jPz2LUywXUyw1L','mJrjy3vbyLm','Cu1Kq2i','lI4VDxrPBhmVDxbZzxj0lwj1AwXKzxi','EfL0u2i','zMXVB3i','lI4VDxrPBhmVBg9VA3vWlxjLC29SDMvY','DxbSB2fKoG','y29TBwL0x2PVyL9MywLSzwq','q05hEKu','Aw5Zzxj0x29UBhK','zM9YBwf0qM9VBgvHBKzVCKrHDgfIyxnL','ru1HCKG','DhjPBq','wKDvwMi','zMLSDgvY','sKThrfG','B09yveG','CvvNEMm','zMfPBgvK','y29SDw1UrM9YBwf0CW','DxbSB2fKrMLSzq','q29TBwL0igPVyIbJB21WBgv0zwq','yNvPBgrmywjLBfrVrMLLBgrnyxa','ChjLDMLLD19LCNjVCG','uxLTsM0','B1vVrvi','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','BNvTyMvY','DhLWzq','BwfW','AwXOr1a','DKvmC0G','ChjLDMLLD19WCM9JzxnZx2vYCM9Y','u2jMzLu','nfL2uvPWAa','C2v0sM9I','x2v4Axn0Aw5Nswq','tLHdAuW','ChjLDMLLD19QB2jFzMfPBgvK','Aw5MBW','BxLZCwW','DwnIq3e','CMvWBgfJzq','nda3nZm2u1n3tLPu','DxbSB2fKx2LK','y3jLyxrLuhjLDMLLD0PVyG','y0vpsuu','vuL6y2S','shbgzLy','tvHUExC','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','CNvqrMS','D1Dctwi','z1vcy2y','AgvHzgvYC19TyxbWzwq','Dw5SAw5R','y2f0y2G','uNjzyMu','tgfIzwWGDg8GzMLLBgqGBwfWCgLUzYbIDwLSDa','DgvZDa','uLzlDeG','B2Lwv0S','AvvQDKq','q29SDw1UigzVCM1HDhmGyxbWBgLLzcb0BYbYB3DZ','BM93','Bxfwq0G','CgfYyw1Z','C3rYAw5N','nJyYmdyYDvLwwuP2','zMLUza','DxvPza','C3rHDhvZ','ChjLDMLLD19VAW','uhPMDNy','CM93sw5KzxG','DMfSDwvZ','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','q29TBwL0igPVyIbJCMvHDgvK','ndaWmdaYnZLArhLVtxq','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','z2v0rNvSBfLLyxi','zMLLBgroyw1L','zMfSC2u','ugXeCwC','Bg9VA3vWrMLLBgrZ','uhHjvvC','BgvUz3rO','qNzrz2i','DMfSAwrHDgLUzW','mZq0otKWA2rJru9q','rMfPBgvKihrVignSzwfUDxaGzMLSzq','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','CwDTsfe','x2fJDgLVBG','z2v0','mJuZnJyWEvfNBM5Y','Cg9ZDgDYzxnXBa','DxvPzf9HDxrVx2DLBMvYyxrLza','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','AM9PBG','DxbKyxrL','BwLZC2LUz0zPzwXKCW','cIaGicaGicaGrLjptsa','BNjHzxe','yNvPBgrcyxrJAeLUC2vYDa','zxHLy3v0zvrYyw5Zywn0Aw9U','zM9YrwfJAa','AM9Ix2LK','DMfSAwq','Dg9ju09tDhjPBMC','C2XPy2u','zw50CMLLCW','Avz1q3G','EKLlCxK','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','mtm0oeH3AMPMrG','y29TBwL0x3bYB2nLC3nFzxjYB3i','mZu4mtuWmvngEvrnCa','mJmYmLfQsvPzzG','zw52','yM9VBgvHBG','Dg9mB3DLCKnHC2u','C2TPCf9LEgLZDgLUzW','jdfFjdi','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','CgfKu3rHCNq'];a0_0x2122=function(){return _0x1d279b;};return a0_0x2122();}function a0_0x2aad(_0xc000f6,_0x1885ed){_0xc000f6=_0xc000f6-0x171;const _0x2122da=a0_0x2122();let _0x2aad1c=_0x2122da[_0xc000f6];if(a0_0x2aad['MsaeKm']===undefined){var _0x416e92=function(_0x3d1ff0){const _0x4ac760='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5961d6='',_0x21de5a='';for(let _0x5de50a=0x0,_0x2fe6e2,_0x2df21f,_0x3a4eb0=0x0;_0x2df21f=_0x3d1ff0['charAt'](_0x3a4eb0++);~_0x2df21f&&(_0x2fe6e2=_0x5de50a%0x4?_0x2fe6e2*0x40+_0x2df21f:_0x2df21f,_0x5de50a++%0x4)?_0x5961d6+=String['fromCharCode'](0xff&_0x2fe6e2>>(-0x2*_0x5de50a&0x6)):0x0){_0x2df21f=_0x4ac760['indexOf'](_0x2df21f);}for(let _0x2202b9=0x0,_0x14abc8=_0x5961d6['length'];_0x2202b9<_0x14abc8;_0x2202b9++){_0x21de5a+='%'+('00'+_0x5961d6['charCodeAt'](_0x2202b9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x21de5a);};a0_0x2aad['AGZZIC']=_0x416e92,a0_0x2aad['NrLdnt']={},a0_0x2aad['MsaeKm']=!![];}const _0x2a2a8c=_0x2122da[0x0],_0x1f5cb0=_0xc000f6+_0x2a2a8c,_0x4c59d8=a0_0x2aad['NrLdnt'][_0x1f5cb0];return!_0x4c59d8?(_0x2aad1c=a0_0x2aad['AGZZIC'](_0x2aad1c),a0_0x2aad['NrLdnt'][_0x1f5cb0]=_0x2aad1c):_0x2aad1c=_0x4c59d8,_0x2aad1c;}const excelParser=require(a0_0x5a4b85(0x1d2)),importValidator=require('../utils/import-validator'),upsertBuilder=require(a0_0x5a4b85(0x1eb)),lookupResolver=require(a0_0x5a4b85(0x1ee));class ImportService{constructor(){this['_uploadDir']=null;}get[a0_0x5a4b85(0x1c6)](){const _0x2989af=a0_0x5a4b85;if(!this[_0x2989af(0x1dd)]){const _0x20607c=process[_0x2989af(0x1a6)][_0x2989af(0x17b)]||'default';this[_0x2989af(0x1dd)]=process[_0x2989af(0x1a6)][_0x2989af(0x1bd)]||path[_0x2989af(0x192)](__dirname,'../../temp/uploads/'+_0x20607c);}return this['_uploadDir'];}[a0_0x5a4b85(0x1d1)](){const _0x4ccfb8=a0_0x5a4b85,_0x1d4a7a={'ERZQv':function(_0x3d7522){return _0x3d7522();},'cJcBD':function(_0x37d15c,_0x4f079e){return _0x37d15c+_0x4f079e;},'qMdCb':function(_0x45061e,_0xd3dfdb){return _0x45061e<_0xd3dfdb;}},_0x8171e7=_0x4ccfb8(0x18a),_0x3682ca=Date[_0x4ccfb8(0x229)]()['toString'](0x24),_0x464d74=_0x1d4a7a['ERZQv'](uuidv7)['replace'](/-/g,'')['substring'](0x0,0xc-_0x3682ca['length']),_0x2832f4=_0x1d4a7a['cJcBD'](_0x3682ca,_0x464d74)['substring'](0x0,0xc);let _0x183664='';for(let _0x55f385=0x0;_0x1d4a7a[_0x4ccfb8(0x1ea)](_0x55f385,0xc);_0x55f385++){_0x2832f4[_0x55f385]?_0x183664+=_0x2832f4[_0x55f385]:_0x183664+=_0x8171e7['charAt'](Math[_0x4ccfb8(0x1ed)](Math['random']()*_0x8171e7[_0x4ccfb8(0x185)]));}return _0x183664;}['buildLabelToFieldMap'](_0x3de178){const _0x431c6b=a0_0x5a4b85,_0x15961e={'ATZIr':_0x431c6b(0x1aa),'PxIUW':'label_to_field_map_built','TCbse':_0x431c6b(0x223)},_0x571f91=new Map();if(!_0x3de178)return _0x571f91;return Object['entries'](_0x3de178)['forEach'](([_0x5611f9,_0x3aca84])=>{const _0x56feac=_0x431c6b,_0x474d05=String(_0x3aca84)['trim']()['replace'](/\s+/g,'_')['replace'](/([a-z])([A-Z])/g,_0x15961e['ATZIr'])[_0x56feac(0x213)](/([A-Z]+)([A-Z][a-z])/g,_0x56feac(0x1aa))['toLowerCase']();_0x571f91['set'](_0x474d05,_0x5611f9);}),logger[_0x431c6b(0x1cd)]({'event':_0x15961e[_0x431c6b(0x184)],'mappingCount':_0x571f91['size']},_0x15961e['TCbse']),_0x571f91;}['applyColumnFormats'](_0x1eab9a,_0x20ef98){const _0x34184a=a0_0x5a4b85,_0x33c581={'PlDqg':function(_0x4ecaee,_0x2635b2){return _0x4ecaee===_0x2635b2;},'sFMLr':'date','Pzfvv':function(_0x4b3e83,_0x99c685){return _0x4b3e83(_0x99c685);},'mqVCH':function(_0x5b2950,_0x4724e2){return _0x5b2950===_0x4724e2;}};if(!_0x20ef98||_0x33c581[_0x34184a(0x22a)](Object[_0x34184a(0x1bc)](_0x20ef98)[_0x34184a(0x185)],0x0))return _0x1eab9a;return _0x1eab9a[_0x34184a(0x206)](_0x513c4e=>{const _0x3a4b39=_0x34184a,_0x2355d5={..._0x513c4e};for(const [_0x1db4f0,_0x3ad8d6]of Object[_0x3a4b39(0x19e)](_0x20ef98)){const _0x27ef82=_0x2355d5[_0x1db4f0];if(_0x27ef82===null||_0x27ef82===undefined||_0x33c581[_0x3a4b39(0x182)](_0x27ef82,'')){_0x2355d5[_0x1db4f0]=null;continue;}switch(_0x3ad8d6['type']){case _0x33c581['sFMLr']:_0x2355d5[_0x1db4f0]=this['formatDateForDatabase'](_0x27ef82);break;case _0x3a4b39(0x204):_0x2355d5[_0x1db4f0]=this['formatNumberForDatabase'](_0x27ef82);break;case _0x3a4b39(0x1a7):_0x2355d5[_0x1db4f0]=this['formatBooleanForDatabase'](_0x27ef82);break;case'text':_0x2355d5[_0x1db4f0]=_0x33c581[_0x3a4b39(0x178)](String,_0x27ef82);break;default:break;}}return _0x2355d5;});}['formatDateForDatabase'](_0x20b009){const _0x13478c=a0_0x5a4b85,_0x1cc063={'YgzhT':function(_0x10cbae,_0x51782c){return _0x10cbae===_0x51782c;},'oiVWK':function(_0x95ea07,_0x5878bb){return _0x95ea07===_0x5878bb;},'eAYWk':_0x13478c(0x172),'UXvov':function(_0x545fed,_0x570f56){return _0x545fed instanceof _0x570f56;},'vELsH':function(_0x38ebc8,_0x2dbf95){return _0x38ebc8(_0x2dbf95);},'iVILD':function(_0x4e219b,_0x51590f){return _0x4e219b(_0x51590f);},'aloFm':function(_0x212118,_0x3863e4){return _0x212118(_0x3863e4);}};if(_0x20b009===null||_0x1cc063[_0x13478c(0x1d7)](_0x20b009,undefined)||_0x1cc063[_0x13478c(0x1d7)](_0x20b009,''))return null;if(_0x1cc063[_0x13478c(0x226)](typeof _0x20b009,_0x1cc063['eAYWk'])&&/^\d{4}-\d{2}-\d{2}$/['test'](_0x20b009))return _0x20b009;if(_0x1cc063[_0x13478c(0x1df)](_0x20b009,Date)){if(isNaN(_0x20b009['getTime']()))return null;const _0x5a73c8=_0x20b009[_0x13478c(0x17f)](),_0x40f16d=_0x1cc063[_0x13478c(0x208)](String,_0x20b009[_0x13478c(0x1e5)]()+0x1)[_0x13478c(0x1ac)](0x2,'0'),_0xb44bd5=String(_0x20b009['getDate']())[_0x13478c(0x1ac)](0x2,'0');return _0x5a73c8+'-'+_0x40f16d+'-'+_0xb44bd5;}if(_0x1cc063[_0x13478c(0x1d7)](typeof _0x20b009,_0x13478c(0x172))){const _0x3fc42b=_0x20b009[_0x13478c(0x1be)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x3fc42b){const _0x388bf4=_0x1cc063['vELsH'](String,_0x3fc42b[0x1])[_0x13478c(0x1ac)](0x2,'0'),_0x266276=String(_0x3fc42b[0x2])['padStart'](0x2,'0'),_0xad0b3=_0x3fc42b[0x3];return _0xad0b3+'-'+_0x266276+'-'+_0x388bf4;}const _0x3a8bd4=_0x20b009[_0x13478c(0x1be)](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x3a8bd4){const _0x4127b9=_0x3a8bd4[0x1],_0xa0f19e=_0x1cc063['iVILD'](String,_0x3a8bd4[0x2])[_0x13478c(0x1ac)](0x2,'0'),_0x5091fd=_0x1cc063['aloFm'](String,_0x3a8bd4[0x3])['padStart'](0x2,'0');return _0x4127b9+'-'+_0xa0f19e+'-'+_0x5091fd;}}return _0x20b009;}['formatNumberForDatabase'](_0x132486){const _0x50886a=a0_0x5a4b85,_0x53fe74={'PSnVf':function(_0x1af311,_0x451876){return _0x1af311===_0x451876;},'UpdaK':function(_0x3e9fc6,_0x352da7){return _0x3e9fc6===_0x352da7;},'RrYbe':'number','HpFfV':function(_0x3d3539,_0xd76f07){return _0x3d3539(_0xd76f07);}};if(_0x53fe74[_0x50886a(0x1c0)](_0x132486,null)||_0x53fe74['PSnVf'](_0x132486,undefined)||_0x132486==='')return null;if(_0x53fe74[_0x50886a(0x1ad)](typeof _0x132486,_0x53fe74[_0x50886a(0x222)]))return isNaN(_0x132486)?null:_0x132486;if(typeof _0x132486===_0x50886a(0x172)){let _0x1c60e6=_0x132486['trim']();const _0x333fbe=/,\d{1,2}$/['test'](_0x1c60e6)&&!/,\d{3}/[_0x50886a(0x224)](_0x1c60e6);_0x333fbe?_0x1c60e6=_0x1c60e6['replace'](/\./g,'')[_0x50886a(0x213)](',','.'):_0x1c60e6=_0x1c60e6[_0x50886a(0x213)](/,/g,'');const _0x2e5b5a=_0x53fe74[_0x50886a(0x219)](parseFloat,_0x1c60e6);return isNaN(_0x2e5b5a)?null:_0x2e5b5a;}return null;}[a0_0x5a4b85(0x1f3)](_0xfa3eb7){const _0x53d369=a0_0x5a4b85,_0x223a8={'zJfzr':function(_0x2d1eda,_0x4c5b2f){return _0x2d1eda===_0x4c5b2f;},'PJnsu':'true','TVrDw':_0x53d369(0x172),'Xmiuv':'yes','lbbuU':'number','nvIxJ':'false'};if(_0xfa3eb7===null||_0xfa3eb7===undefined||_0xfa3eb7==='')return null;if(_0x223a8['zJfzr'](typeof _0xfa3eb7,_0x53d369(0x1a7)))return _0xfa3eb7?_0x223a8['PJnsu']:_0x53d369(0x181);if(typeof _0xfa3eb7===_0x223a8['TVrDw']){const _0x1f8fe4=_0xfa3eb7[_0x53d369(0x1f5)]()[_0x53d369(0x1a8)]();if([_0x223a8[_0x53d369(0x1e7)],_0x223a8[_0x53d369(0x1c8)],'y','1']['includes'](_0x1f8fe4))return _0x223a8['PJnsu'];if([_0x53d369(0x181),'no','n','0']['includes'](_0x1f8fe4))return'false';return null;}if(typeof _0xfa3eb7===_0x223a8['lbbuU'])return _0xfa3eb7?_0x223a8[_0x53d369(0x1e7)]:_0x223a8['nvIxJ'];return null;}async[a0_0x5a4b85(0x1fd)](_0x4ee792,_0x4b3b07){const _0x21aa38=a0_0x5a4b85,_0x15dc08={'YjBHN':function(_0x508731,_0xb581ec){return _0x508731||_0xb581ec;},'QEIVr':_0x21aa38(0x21f),'ORMoi':'Excel\x20headers\x20mapped\x20to\x20field\x20names','ucbCq':'column_formats_applied','DHKWl':function(_0x437803,_0x3502b1,_0x14817b,_0x4a0127){return _0x437803(_0x3502b1,_0x14817b,_0x4a0127);},'QymJm':'file_cleanup_error','hfMar':_0x21aa38(0x189)},_0x4fa92b=this['generateId']();try{let {headers:_0x291a5f,rows:_0x11e43f,totalRows:_0x563a58}=await excelParser['parseExcelFile'](_0x4ee792[_0x21aa38(0x1e2)]);const _0x16305f=this[_0x21aa38(0x1ff)](_0x4b3b07['fieldLabels']),_0x5d8c38=_0x291a5f[_0x21aa38(0x206)](_0x48082d=>{const _0x4a1fa4=_0x16305f['get'](_0x48082d);return _0x15dc08['YjBHN'](_0x4a1fa4,_0x48082d);});_0x11e43f=_0x11e43f[_0x21aa38(0x206)](_0x395f93=>{const _0x5503ea={};return _0x291a5f['forEach']((_0x24fbad,_0x6be1e7)=>{const _0x4200ae=_0x5d8c38[_0x6be1e7];_0x5503ea[_0x4200ae]=_0x395f93[_0x24fbad];}),_0x5503ea;}),_0x291a5f=_0x5d8c38,logger['debug']({'event':_0x15dc08[_0x21aa38(0x1bf)],'original':_0x291a5f[_0x21aa38(0x185)],'mapped':_0x5d8c38[_0x21aa38(0x1f7)]((_0x32e893,_0x2a48e2)=>_0x32e893!==_0x291a5f[_0x2a48e2])['length']},_0x15dc08['ORMoi']);_0x4b3b07['columnFormats']&&Object[_0x21aa38(0x1bc)](_0x4b3b07['columnFormats'])['length']>0x0&&(_0x11e43f=this[_0x21aa38(0x1cf)](_0x11e43f,_0x4b3b07[_0x21aa38(0x1fc)]),logger['debug']({'event':_0x15dc08[_0x21aa38(0x212)],'formatCount':Object['keys'](_0x4b3b07[_0x21aa38(0x1fc)])['length'],'formats':Object['keys'](_0x4b3b07[_0x21aa38(0x1fc)])},_0x21aa38(0x228)));if(_0x4b3b07[_0x21aa38(0x1d5)]&&_0x4b3b07['scopeOverride']['column']){const {column:_0x57f3a7,value:_0x93c9e0}=_0x4b3b07[_0x21aa38(0x1d5)];_0x11e43f=_0x11e43f['map'](_0x4b8c36=>({..._0x4b8c36,[_0x57f3a7]:_0x93c9e0})),logger[_0x21aa38(0x1cd)]({'event':_0x21aa38(0x1ba),'column':_0x57f3a7,'rowCount':_0x11e43f[_0x21aa38(0x185)]},'Request\x20scope\x20override\x20applied\x20to\x20imported\x20rows');}const _0x5056b8=_0x4b3b07['lookupFields']?Object[_0x21aa38(0x17a)](_0x4b3b07[_0x21aa38(0x183)])['map'](_0x5106f2=>_0x5106f2[_0x21aa38(0x1c2)]):[],_0x154269=_0x4b3b07[_0x21aa38(0x180)]['filter'](_0x40329e=>!_0x5056b8[_0x21aa38(0x1c9)](_0x40329e)),_0x3672cb=excelParser['validateExcelStructure'](_0x291a5f,_0x154269);if(!_0x3672cb[_0x21aa38(0x19b)]){await fs[_0x21aa38(0x220)](_0x4ee792['path']);throw new Error(_0x21aa38(0x1d9)+_0x3672cb[_0x21aa38(0x194)][_0x21aa38(0x192)](',\x20'));}const _0x126d1a={'upload_id':_0x4fa92b,'filename':_0x4ee792[_0x21aa38(0x1e8)],'total_rows':_0x563a58,'headers':_0x291a5f,'rows':_0x11e43f,'params':_0x4b3b07,'created_at':new Date()[_0x21aa38(0x19c)]()};return await redisHelper[_0x21aa38(0x20c)]('upload:'+_0x4fa92b,_0x126d1a,0xe10),await fs[_0x21aa38(0x220)](_0x4ee792['path']),logger[_0x21aa38(0x210)]({'event':'import_file_uploaded','uploadId':_0x4fa92b,'filename':_0x4ee792[_0x21aa38(0x1e8)],'totalRows':_0x563a58},_0x21aa38(0x1ab)),{'upload_id':_0x4fa92b,'total_rows':_0x563a58,'preview':_0x11e43f['slice'](0x0,0xa)};}catch(_0x337957){try{await fs[_0x21aa38(0x220)](_0x4ee792[_0x21aa38(0x1e2)]);}catch(_0x2a5d82){_0x15dc08['DHKWl'](logError,_0x2a5d82,{'event':_0x15dc08[_0x21aa38(0x201)]},_0x15dc08['hfMar']);}throw _0x337957;}}async[a0_0x5a4b85(0x216)](_0xdac437){const _0x4ba662=a0_0x5a4b85,_0x5d552f={'NXCiL':'Preview\x20job\x20created','NlMPq':_0x4ba662(0x187)},_0x37f194=this['generateId'](),_0x325def=await redisHelper['getJob'](_0x4ba662(0x1ef)+_0xdac437);if(!_0x325def)throw new Error(_0x4ba662(0x1a1));const _0x17efc3={'job_id':_0x37f194,'upload_id':_0xdac437,'status':'validating','progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x325def[_0x4ba662(0x171)]};return await redisHelper[_0x4ba662(0x20c)]('job:'+_0x37f194,_0x17efc3,0xe10),logger['info']({'event':'preview_job_created','jobId':_0x37f194,'uploadId':_0xdac437},_0x5d552f[_0x4ba662(0x20e)]),this['processPreviewJob'](_0x37f194,_0xdac437,_0x325def)[_0x4ba662(0x221)](_0x8257b7=>{const _0x2df9a3=_0x4ba662;logError(_0x8257b7,{'event':_0x2df9a3(0x209),'jobId':_0x37f194},'Preview\x20processing\x20failed');}),{'job_id':_0x37f194,'status':_0x5d552f['NlMPq']};}[a0_0x5a4b85(0x191)](_0xb570b0,_0x2f290b){const _0x5b174e={'oOXTH':function(_0x56785a,_0x4cba2f){return _0x56785a===_0x4cba2f;},'BVnEK':function(_0xa5388d,_0x146282){return _0xa5388d(_0x146282);}};_0xb570b0['forEach']((_0x3d12d1,_0x490a7d)=>{const _0x423297=a0_0x2aad,_0x561909={'wWBMb':function(_0x1664b4,_0x4b8f8e){const _0x4dc3f4=a0_0x2aad;return _0x5b174e[_0x4dc3f4(0x1f9)](_0x1664b4,_0x4b8f8e);},'FnzkX':function(_0x409d71,_0x5216a0){return _0x5b174e['BVnEK'](_0x409d71,_0x5216a0);},'xiPgm':_0x423297(0x190)};_0x2f290b['forEach'](_0x24feeb=>{const _0x26d642=_0x423297,_0x590452=_0x3d12d1[_0x24feeb];if(_0x561909[_0x26d642(0x21d)](_0x590452,null)||_0x590452===undefined||_0x590452===''||_0x561909['wWBMb'](_0x561909['FnzkX'](String,_0x590452)['trim'](),'-')){const _0x5a44fc=uuidv7();_0x3d12d1[_0x24feeb]=_0x5a44fc,_0x3d12d1['_generated_uuid']=_0x3d12d1['_generated_uuid']||{},_0x3d12d1['_generated_uuid'][_0x24feeb]=_0x5a44fc,logger[_0x26d642(0x1cd)]({'event':_0x561909['xiPgm'],'rowIndex':_0x490a7d,'field':_0x24feeb,'uuid':_0x5a44fc},'Auto-generated\x20UUID\x20for\x20'+_0x24feeb+_0x26d642(0x1ae)+(_0x490a7d+0x2));}});});}async[a0_0x5a4b85(0x1b7)](_0x19bb85,_0x4dc30c,_0x167ad3){const _0x548ddf=a0_0x5a4b85,_0x1c7de5={'iUjvD':function(_0x21c423,_0x24ea0d){return _0x21c423===_0x24ea0d;},'pOqnT':'INSERT','ruPFk':'UPDATE','BvQgb':_0x548ddf(0x1e1),'MXnyw':function(_0x278436,_0x555820){return _0x278436||_0x555820;},'LzhjJ':function(_0x3903ba,_0x273b65){return _0x3903ba>_0x273b65;},'qmLsS':_0x548ddf(0x200),'FhBdo':_0x548ddf(0x177),'gUBcf':_0x548ddf(0x1e6),'xYtSb':_0x548ddf(0x20f),'JKGDX':'Preview\x20job\x20failed','GFQMJ':'failed'};try{let {rows:_0x5a2483,params:_0x34a59c}=_0x167ad3;const {requiredFields:_0x3b28b5,validations:_0x6b592a,upsertKeys:_0x4294eb,tableName:_0x38664f,primaryKey:_0x14f6dc,fieldName:_0x5c9106,upsertStrategy:_0x579eee,lookupFields:_0x20e772}=_0x34a59c;this['autoGenerateUpsertKeys'](_0x5a2483,_0x4294eb);let _0x4dde10=[];if(_0x20e772&&Object[_0x548ddf(0x1bc)](_0x20e772)['length']>0x0){logger[_0x548ddf(0x210)]({'event':_0x1c7de5[_0x548ddf(0x186)],'jobId':_0x19bb85,'lookupFieldCount':Object['keys'](_0x20e772)[_0x548ddf(0x185)]},_0x548ddf(0x1c1));const _0x59842c=await lookupResolver['processLookupFields'](_0x5a2483,_0x20e772);_0x5a2483=_0x59842c['processedRows'],_0x4dde10=_0x59842c[_0x548ddf(0x1b9)],_0x167ad3[_0x548ddf(0x1db)]=_0x5a2483;}const _0x2a03f9=importValidator[_0x548ddf(0x1b6)](_0x5a2483,_0x3b28b5||[],_0x1c7de5[_0x548ddf(0x21a)](_0x6b592a,{}));_0x4dde10['forEach'](_0x44cc2c=>{const _0x520109=_0x548ddf,_0x4dcf3f=_0x2a03f9[_0x520109(0x174)](_0x15e338=>_0x15e338['rowIndex']===_0x44cc2c['rowIndex']);_0x4dcf3f?_0x4dcf3f['errors'][_0x520109(0x1e0)](_0x44cc2c['message']):_0x2a03f9[_0x520109(0x1e0)]({'rowIndex':_0x44cc2c[_0x520109(0x179)],'rowData':_0x5a2483[_0x44cc2c[_0x520109(0x179)]],'errors':[_0x44cc2c['message']]});});const _0xdfbf55=importValidator[_0x548ddf(0x17e)](_0x5a2483,_0x4294eb);_0xdfbf55['forEach'](_0x20aef5=>{const _0x4a400c=_0x548ddf,_0x118283=_0x2a03f9[_0x4a400c(0x174)](_0x48aae2=>_0x48aae2[_0x4a400c(0x179)]===_0x20aef5[_0x4a400c(0x179)]),_0x149628=_0x4294eb['map'](_0xaf7212=>_0xaf7212['toUpperCase']())[_0x4a400c(0x192)](',\x20'),_0xef172f='Duplicate\x20value\x20for\x20'+_0x149628;_0x118283?_0x118283[_0x4a400c(0x1b9)][_0x4a400c(0x1e0)](_0xef172f):_0x2a03f9[_0x4a400c(0x1e0)]({'rowIndex':_0x20aef5[_0x4a400c(0x179)],'rowData':_0x5a2483[_0x20aef5['rowIndex']],'errors':[_0xef172f]});}),await this[_0x548ddf(0x21b)](_0x5a2483,_0x4294eb,_0x38664f,_0x14f6dc,_0x579eee,_0x2a03f9),_0x2a03f9['forEach'](_0x54b5f1=>{const _0x4858ad=_0x548ddf,_0xb1922f=_0x5a2483[_0x54b5f1[_0x4858ad(0x179)]];_0xb1922f&&(_0xb1922f['_errors']=_0x54b5f1['errors']);});let _0x84a372=0x0,_0x12de65=0x0,_0x2e4f18=0x0;_0x5a2483['forEach'](_0xc1eae7=>{const _0x7caebf=_0x548ddf;if(_0x1c7de5['iUjvD'](_0xc1eae7[_0x7caebf(0x18c)],_0x1c7de5[_0x7caebf(0x1d4)]))_0x84a372++;else{if(_0x1c7de5['iUjvD'](_0xc1eae7[_0x7caebf(0x18c)],_0x1c7de5[_0x7caebf(0x21c)]))_0x12de65++;else _0x1c7de5[_0x7caebf(0x227)](_0xc1eae7[_0x7caebf(0x18c)],'SKIP')&&_0x2e4f18++;}});const _0x4bcb2c={'job_id':_0x19bb85,'upload_id':_0x4dc30c,'status':_0x1c7de5[_0x548ddf(0x1c5)](_0x2a03f9['length'],0x0)?_0x1c7de5['qmLsS']:_0x1c7de5[_0x548ddf(0x1ce)],'progress':0x64,'created_at':_0x167ad3['created_at'],'completed_at':new Date()['toISOString'](),'preview':{'total_rows':_0x5a2483['length'],'insert_count':_0x84a372,'update_count':_0x12de65,'skip_count':_0x2e4f18,'error_count':_0x2a03f9['length'],'errors':_0x2a03f9,'data':_0x5a2483,'sample_insert':_0x5a2483[_0x548ddf(0x1f7)](_0x1abb3b=>_0x1abb3b[_0x548ddf(0x18c)]==='INSERT')['slice'](0x0,0x5),'sample_update':_0x5a2483['filter'](_0x4156fb=>_0x4156fb['_action']==='UPDATE')['slice'](0x0,0x5),'sample_skip':_0x5a2483['filter'](_0x310752=>_0x310752[_0x548ddf(0x18c)]==='SKIP')[_0x548ddf(0x19d)](0x0,0x5)},'params':_0x34a59c};await redisHelper[_0x548ddf(0x20c)](_0x548ddf(0x1b0)+_0x19bb85,_0x4bcb2c,0xe10),_0x167ad3['rows']=_0x5a2483,await redisHelper['setJob']('upload:'+_0x4dc30c,_0x167ad3,0xe10),logger['info']({'event':_0x548ddf(0x1dc),'jobId':_0x19bb85,'status':_0x4bcb2c['status'],'insertCount':_0x84a372,'updateCount':_0x12de65,'skipCount':_0x2e4f18,'errorCount':_0x2a03f9[_0x548ddf(0x185)]},_0x1c7de5[_0x548ddf(0x21e)]);}catch(_0x4f59f2){logError(_0x4f59f2,{'event':_0x1c7de5[_0x548ddf(0x1ec)],'jobId':_0x19bb85},_0x1c7de5[_0x548ddf(0x1f8)]),await redisHelper['setJob']('job:'+_0x19bb85,{'job_id':_0x19bb85,'upload_id':_0x4dc30c,'status':_0x1c7de5['GFQMJ'],'progress':0x0,'error':_0x4f59f2['message'],'created_at':new Date()[_0x548ddf(0x19c)](),'completed_at':new Date()['toISOString']()},0xe10);}}async[a0_0x5a4b85(0x21b)](_0x1cfcb0,_0x36939e,_0x7d7d93,_0x300f7e,_0x4c464f=a0_0x5a4b85(0x1c4),_0xfc2fd3=[]){const _0x322bf2=a0_0x5a4b85,_0x4d8989={'SbffU':function(_0x10bf67,_0x17960c){return _0x10bf67===_0x17960c;},'Qgubk':'NULL','bHMCQ':function(_0x3e9e8d,_0x4f3e88){return _0x3e9e8d(_0x4f3e88);},'iVuCx':'UPDATE','qgmHQ':'SKIP','uBWYz':function(_0x181a6c,_0x1d5400){return _0x181a6c!==_0x1d5400;},'UYHag':'INSERT','oUoER':'insert_only','cEOIE':_0x322bf2(0x1a9),'ZGUZb':function(_0x4ce94d,_0x72a618){return _0x4ce94d===_0x72a618;},'zIKqy':_0x322bf2(0x1c7)},_0x4694e0=upsertBuilder['chunkRows'](_0x1cfcb0,0x64);for(const _0x564964 of _0x4694e0){const _0x249b51=_0x564964['map'](_0xcc8821=>_0xcc8821[_0x36939e[0x0]]),_0x1a0018=_0x249b51['map'](_0x138f8e=>{const _0x16093e=_0x322bf2;if(_0x4d8989['SbffU'](_0x138f8e,null)||_0x4d8989[_0x16093e(0x20a)](_0x138f8e,undefined))return _0x4d8989['Qgubk'];return'\x27'+_0x4d8989['bHMCQ'](String,_0x138f8e)[_0x16093e(0x213)](/'/g,'\x27\x27')+'\x27';}),_0x46d65f='\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20'+_0x300f7e+',\x20'+_0x36939e[_0x322bf2(0x192)](',\x20')+_0x322bf2(0x195)+_0x7d7d93+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20'+_0x36939e[0x0]+'\x20IN\x20('+_0x1a0018['join'](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20';let _0x44a465=await _0x4d8989['bHMCQ'](executeQuery,_0x46d65f);_0x4d8989[_0x322bf2(0x1f6)](dbType,_0x4d8989[_0x322bf2(0x1a0)])&&_0x44a465&&_0x44a465[_0x322bf2(0x185)]>0x0&&(_0x44a465=_0x44a465[_0x322bf2(0x206)](_0x32bcd9=>{const _0x3c75cf={};for(const [_0xfab541,_0x512ff3]of Object['entries'](_0x32bcd9)){_0x3c75cf[_0xfab541['toLowerCase']()]=_0x512ff3;}return _0x3c75cf;}));const _0x24434b=new Map();_0x44a465[_0x322bf2(0x199)](_0x191442=>{const _0x34b362=_0x322bf2,_0x21ae9c=_0x191442[_0x36939e[0x0]];_0x24434b[_0x34b362(0x1af)](_0x21ae9c,_0x191442);}),_0x564964[_0x322bf2(0x199)]((_0x4e6e93,_0x40822c)=>{const _0x58f091=_0x322bf2,_0x38ba49=_0x4e6e93[_0x36939e[0x0]],_0x393874=_0x24434b[_0x58f091(0x18d)](_0x38ba49);if(_0x393874){if(_0x4c464f===_0x58f091(0x1c4))_0x4e6e93[_0x58f091(0x18c)]=_0x4d8989[_0x58f091(0x19f)],_0x4e6e93[_0x58f091(0x20d)]=_0x393874[_0x300f7e];else{if(_0x4d8989[_0x58f091(0x20a)](_0x4c464f,_0x58f091(0x1f2))){_0x4e6e93['_action']=_0x4d8989['qgmHQ'],_0x4e6e93['_errors']=_0x4e6e93['_errors']||[],_0x4e6e93[_0x58f091(0x1e4)]['push'](_0x58f091(0x203));const _0x20693d=_0x1cfcb0['indexOf'](_0x4e6e93);_0x4d8989[_0x58f091(0x1d3)](_0x20693d,-0x1)&&_0xfc2fd3['push']({'rowIndex':_0x20693d,'rowData':_0x4e6e93,'errors':[_0x58f091(0x203)]});}else _0x4c464f===_0x58f091(0x1a9)&&(_0x4e6e93[_0x58f091(0x18c)]=_0x4d8989[_0x58f091(0x18b)]);}}else{if(_0x4c464f===_0x58f091(0x1c4))_0x4e6e93['_action']=_0x4d8989['UYHag'];else(_0x4d8989['SbffU'](_0x4c464f,_0x4d8989[_0x58f091(0x202)])||_0x4c464f===_0x4d8989[_0x58f091(0x217)])&&(_0x4e6e93['_action']=_0x4d8989['UYHag']);}});}}async['createCommitJob'](_0x4a6ec4){const _0x104c34=a0_0x5a4b85,_0x453374={'UGqBn':_0x104c34(0x1a3),'CSlXX':_0x104c34(0x1ca),'gNZST':'preview_ok','wonPS':'processing','jilxb':_0x104c34(0x17c)},_0x54ef82=this['generateId'](),_0x5833d8=await redisHelper[_0x104c34(0x1bb)]('job:'+_0x4a6ec4);if(!_0x5833d8)throw new Error('Preview\x20job\x20not\x20found\x20or\x20expired');if(_0x5833d8['status']!==_0x453374[_0x104c34(0x1d0)])throw new Error('Cannot\x20commit:\x20preview\x20status\x20is\x20'+_0x5833d8[_0x104c34(0x176)]);const _0x4d7a1c={'job_id':_0x54ef82,'upload_id':_0x5833d8['upload_id'],'preview_job_id':_0x4a6ec4,'status':_0x453374[_0x104c34(0x1d6)],'progress':0x0,'created_at':new Date()[_0x104c34(0x19c)](),'params':_0x5833d8['params']};return await redisHelper[_0x104c34(0x20c)]('job:'+_0x54ef82,_0x4d7a1c,0xe10),logger['info']({'event':'commit_job_created','jobId':_0x54ef82,'previewJobId':_0x4a6ec4},_0x453374['jilxb']),this['processCommitJob'](_0x54ef82,_0x5833d8)['catch'](_0x1041a8=>{logError(_0x1041a8,{'event':_0x453374['UGqBn'],'jobId':_0x54ef82},_0x453374['CSlXX']);}),{'job_id':_0x54ef82,'status':_0x453374[_0x104c34(0x1d6)]};}async['processCommitJob'](_0x51117b,_0x1b845c){const _0x1c6b62=a0_0x5a4b85,_0x5a5dbb={'CNGzE':function(_0x5a1a0c,_0x26ac71){return _0x5a1a0c>_0x26ac71;},'RVKtH':'import_fields_filtered','qUgzc':'Import\x20fields\x20filtered\x20(excluded\x20lookup\x20source\x20columns)','sSsWN':function(_0x388ca3,_0x458a2e){return _0x388ca3>_0x458a2e;},'uJOBJ':function(_0x5cbe7e,_0x1216ae){return _0x5cbe7e||_0x1216ae;},'DxLsO':function(_0x3322f5,_0x1e49ca){return _0x3322f5>_0x1e49ca;},'ttqdH':_0x1c6b62(0x193),'xigvb':'completed','nraeq':_0x1c6b62(0x1fe),'gqEEH':function(_0x3c721c,_0x3598a9,_0x1d526c,_0x557a2f){return _0x3c721c(_0x3598a9,_0x1d526c,_0x557a2f);},'nsGze':_0x1c6b62(0x1f0),'UIzck':'Commit\x20job\x20failed','ilhGP':_0x1c6b62(0x1fb)};try{const _0x27cd01=await redisHelper[_0x1c6b62(0x1bb)]('upload:'+_0x1b845c[_0x1c6b62(0x215)]);if(!_0x27cd01)throw new Error('Upload\x20data\x20not\x20found\x20or\x20expired');const {rows:_0x4ba34f,params:_0x587d9e}=_0x27cd01,{tableName:_0x5b5c61,fieldName:_0x375480,primaryKey:_0x3aa0c7,upsertKeys:_0x29c05d,excludeFromImport:_0x4b09df,lookupFields:_0x2e78c2,columnFormats:_0x9c6859}=_0x587d9e,_0x29e80d=_0x2e78c2?Object['keys'](_0x2e78c2):[],_0x2b3cd5=new Set([..._0x4b09df||[],..._0x29e80d]);let _0x3ef694=_0x375480;_0x5a5dbb[_0x1c6b62(0x1f1)](_0x2b3cd5['size'],0x0)&&(_0x3ef694=_0x375480[_0x1c6b62(0x1f7)](_0x1472bc=>!_0x2b3cd5[_0x1c6b62(0x1b4)](_0x1472bc)),logger['debug']({'event':_0x5a5dbb[_0x1c6b62(0x225)],'originalCount':_0x375480[_0x1c6b62(0x185)],'filteredCount':_0x3ef694[_0x1c6b62(0x185)],'excludedFields':Array['from'](_0x2b3cd5),'lookupSourceFields':_0x29e80d},_0x5a5dbb[_0x1c6b62(0x1fa)]));const _0x1e614d=_0x4ba34f['filter'](_0x1c1bae=>_0x1c1bae['_action']==='INSERT'),_0x1c5672=_0x4ba34f[_0x1c6b62(0x1f7)](_0x5f0cc4=>_0x5f0cc4[_0x1c6b62(0x18c)]===_0x1c6b62(0x1b8));let _0x4b2101=0x0,_0x1c12ad=0x0;const _0x40dc21=[];if(_0x5a5dbb['sSsWN'](_0x1e614d[_0x1c6b62(0x185)],0x0)){const _0x4575b0=upsertBuilder[_0x1c6b62(0x1de)](_0x1e614d,0x64);for(const _0x2acaad of _0x4575b0){const {query:_0x452048}=upsertBuilder[_0x1c6b62(0x197)](_0x2acaad,_0x5b5c61,_0x3ef694,_0x5a5dbb['uJOBJ'](_0x9c6859,{}));_0x452048&&_0x40dc21['push']({'sql':_0x452048,'count':_0x2acaad['length'],'type':_0x1c6b62(0x1da)});}}if(_0x5a5dbb['DxLsO'](_0x1c5672['length'],0x0)){const _0x1f9af0=upsertBuilder[_0x1c6b62(0x1de)](_0x1c5672,0x64);for(const _0x1b1c69 of _0x1f9af0){const {query:_0x320456}=upsertBuilder['buildBatchUpdate'](_0x1b1c69,_0x5b5c61,_0x3ef694,_0x3aa0c7,_0x29c05d,_0x9c6859||{});_0x320456&&_0x40dc21['push']({'sql':_0x320456,'count':_0x1b1c69[_0x1c6b62(0x185)],'type':_0x5a5dbb['ttqdH']});}}_0x40dc21[_0x1c6b62(0x185)]>0x0&&await executeTransaction(_0x40dc21[_0x1c6b62(0x206)](_0x427ac5=>({'sql':_0x427ac5['sql'],'params':[]})));_0x40dc21[_0x1c6b62(0x199)](_0x3d7a72=>{const _0x3ea68c=_0x1c6b62;if(_0x3d7a72[_0x3ea68c(0x205)]==='insert')_0x4b2101+=_0x3d7a72[_0x3ea68c(0x1cc)];else _0x1c12ad+=_0x3d7a72['count'];});const _0x458ddd={'job_id':_0x51117b,'upload_id':_0x1b845c[_0x1c6b62(0x215)],'preview_job_id':_0x1b845c[_0x1c6b62(0x19a)],'status':_0x5a5dbb['xigvb'],'progress':0x64,'created_at':_0x1b845c[_0x1c6b62(0x1cb)],'started_at':new Date()[_0x1c6b62(0x19c)](),'completed_at':new Date()[_0x1c6b62(0x19c)](),'result':{'total_rows':_0x4ba34f['length'],'inserted_rows':_0x4b2101,'updated_rows':_0x1c12ad,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x587d9e};await redisHelper['setJob']('job:'+_0x51117b,_0x458ddd,0xe10),logger[_0x1c6b62(0x210)]({'event':'commit_job_completed','jobId':_0x51117b,'insertedCount':_0x4b2101,'updatedCount':_0x1c12ad},_0x5a5dbb[_0x1c6b62(0x196)]);}catch(_0x473122){_0x5a5dbb['gqEEH'](logError,_0x473122,{'event':_0x5a5dbb['nsGze'],'jobId':_0x51117b},_0x5a5dbb[_0x1c6b62(0x218)]),await redisHelper['setJob']('job:'+_0x51117b,{'job_id':_0x51117b,'upload_id':_0x1b845c[_0x1c6b62(0x215)],'preview_job_id':_0x1b845c['job_id'],'status':_0x5a5dbb[_0x1c6b62(0x207)],'progress':0x0,'error':_0x473122['message'],'created_at':_0x1b845c['created_at'],'started_at':new Date()[_0x1c6b62(0x19c)](),'completed_at':new Date()[_0x1c6b62(0x19c)]()},0xe10);}}async[a0_0x5a4b85(0x1b5)](_0x6812b4){const _0xd4826f=a0_0x5a4b85,_0x1eb163={'EMarH':'Job\x20not\x20found\x20or\x20expired'},_0x2ce7ef=await redisHelper['getJob'](_0xd4826f(0x1b0)+_0x6812b4);if(!_0x2ce7ef)return{'success':![],'error':_0x1eb163[_0xd4826f(0x1f4)]};return{'success':!![],'data':_0x2ce7ef};}}module['exports']=new ImportService();
@@ -1 +1 @@
1
- const a0_0x4372d3=a0_0x3fc7;(function(_0x53f9cd,_0x3017cb){const _0x5ff07d=a0_0x3fc7,_0x61f588=_0x53f9cd();while(!![]){try{const _0x40f0fa=parseInt(_0x5ff07d(0xf9))/0x1+parseInt(_0x5ff07d(0xa5))/0x2+parseInt(_0x5ff07d(0x109))/0x3+-parseInt(_0x5ff07d(0xb4))/0x4*(-parseInt(_0x5ff07d(0xa6))/0x5)+-parseInt(_0x5ff07d(0xdd))/0x6+parseInt(_0x5ff07d(0xdb))/0x7+-parseInt(_0x5ff07d(0x108))/0x8;if(_0x40f0fa===_0x3017cb)break;else _0x61f588['push'](_0x61f588['shift']());}catch(_0x42bddf){_0x61f588['push'](_0x61f588['shift']());}}}(a0_0x917a,0x9a95b));const {Kafka,logLevel}=require(a0_0x4372d3(0xca)),{v7:uuidv7}=require(a0_0x4372d3(0xbb));class KafkaConsumerService{constructor(){const _0x4893ed=a0_0x4372d3,_0x55e119='7|3|5|4|0|8|6|1|2|9|10'[_0x4893ed(0x94)]('|');let _0x536592=0x0;while(!![]){switch(_0x55e119[_0x536592++]){case'0':this['isRunning']=![];continue;case'1':this[_0x4893ed(0xa3)]=[];continue;case'2':this['groupId']=null;continue;case'3':this[_0x4893ed(0xc5)]=null;continue;case'4':this[_0x4893ed(0xfe)]=![];continue;case'5':this[_0x4893ed(0xb9)]=![];continue;case'6':this['connectionPromise']=null;continue;case'7':this['kafka']=null;continue;case'8':this['isPaused']=![];continue;case'9':this['messageHandler']=null;continue;case'10':this[_0x4893ed(0xba)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;}break;}}[a0_0x4372d3(0xbe)](){const _0x1a6c3e=a0_0x4372d3,_0x5897c0={'pIoxS':function(_0x3253bc,_0x54a206){return _0x3253bc===_0x54a206;},'uUttD':'localhost:9092','tSLzR':_0x1a6c3e(0xcb),'IvMyM':_0x1a6c3e(0xb1),'znexs':function(_0x4ef861,_0x2e16a){return _0x4ef861(_0x2e16a);},'xTCap':'5000','sgkzg':_0x1a6c3e(0xe0),'Ddcqt':function(_0x1b9e63,_0x13a2a6){return _0x1b9e63(_0x13a2a6);}};return{'enabled':_0x5897c0['pIoxS'](process['env']['KAFKA_ENABLED'],_0x1a6c3e(0x10c)),'brokers':(process['env']['KAFKA_BROKERS']||_0x5897c0[_0x1a6c3e(0xeb)])[_0x1a6c3e(0x94)](','),'clientId':process['env']['KAFKA_CLIENT_ID']||_0x1a6c3e(0xea)+(process[_0x1a6c3e(0xcd)][_0x1a6c3e(0xd0)]||_0x1a6c3e(0xe7))+'-consumer','connectionTimeout':parseInt(process[_0x1a6c3e(0xcd)]['KAFKA_CONNECTION_TIMEOUT']||_0x5897c0[_0x1a6c3e(0x98)]),'requestTimeout':parseInt(process['env'][_0x1a6c3e(0x9d)]||_0x5897c0['IvMyM']),'sessionTimeout':_0x5897c0[_0x1a6c3e(0x99)](parseInt,process[_0x1a6c3e(0xcd)]['KAFKA_SESSION_TIMEOUT']||'30000'),'heartbeatInterval':_0x5897c0[_0x1a6c3e(0x99)](parseInt,process[_0x1a6c3e(0xcd)]['KAFKA_HEARTBEAT_INTERVAL']||_0x1a6c3e(0xcb)),'maxBytesPerPartition':_0x5897c0[_0x1a6c3e(0x99)](parseInt,process['env']['KAFKA_MAX_BYTES_PER_PARTITION']||_0x1a6c3e(0xa1)),'autoCommit':_0x5897c0[_0x1a6c3e(0xad)](process[_0x1a6c3e(0xcd)][_0x1a6c3e(0xcc)],_0x1a6c3e(0x10c)),'autoCommitInterval':parseInt(process[_0x1a6c3e(0xcd)][_0x1a6c3e(0xda)]||_0x5897c0[_0x1a6c3e(0xc3)]),'retryAttempts':_0x5897c0[_0x1a6c3e(0x99)](parseInt,process['env'][_0x1a6c3e(0xfc)]||'3'),'retryDelay':_0x5897c0[_0x1a6c3e(0x99)](parseInt,process[_0x1a6c3e(0xcd)]['KAFKA_RETRY_DELAY']||_0x5897c0['sgkzg']),'retryMaxDelay':_0x5897c0[_0x1a6c3e(0xe3)](parseInt,process[_0x1a6c3e(0xcd)]['KAFKA_RETRY_MAX_DELAY']||'30000'),'logLevel':process[_0x1a6c3e(0xcd)][_0x1a6c3e(0xe5)]||'warn'};}[a0_0x4372d3(0xc4)](_0x29b709){const _0x21be19=a0_0x4372d3,_0x2fc9d7={'nothing':logLevel[_0x21be19(0xf5)],'error':logLevel[_0x21be19(0xed)],'warn':logLevel['WARN'],'info':logLevel[_0x21be19(0x105)],'debug':logLevel['DEBUG']};return _0x2fc9d7[_0x29b709['toLowerCase']()]||logLevel['WARN'];}async['initialize'](_0x24d7a8={}){const _0x16b0c3=a0_0x4372d3,_0x5a2806={'fNxeY':function(_0x1980f7,_0x4715b2){return _0x1980f7===_0x4715b2;},'QPJlk':_0x16b0c3(0xe7),'HTEtj':function(_0x1e8fc5,_0x203938){return _0x1e8fc5(_0x203938);}},_0x9dbafa=this['getConfig']();if(!_0x9dbafa[_0x16b0c3(0xd4)])return console['log']('[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'),![];if(this['isConnected'])return!![];if(this[_0x16b0c3(0xfe)]&&this[_0x16b0c3(0xde)])return this[_0x16b0c3(0xde)];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x23d0a2=>{const _0x27ce16=_0x16b0c3;try{let _0x28cc88=undefined;_0x5a2806['fNxeY'](process[_0x27ce16(0xcd)]['KAFKA_SSL'],'true')&&(_0x28cc88=!![]);let _0x307fe8=undefined;process[_0x27ce16(0xcd)][_0x27ce16(0xc1)]&&(_0x307fe8={'mechanism':process[_0x27ce16(0xcd)]['KAFKA_SASL_MECHANISM'],'username':process['env']['KAFKA_SASL_USERNAME']||'','password':process[_0x27ce16(0xcd)]['KAFKA_SASL_PASSWORD']||''}),this[_0x27ce16(0x10b)]=new Kafka({'clientId':_0x24d7a8['clientId']||_0x9dbafa[_0x27ce16(0xb3)],'brokers':_0x9dbafa[_0x27ce16(0xc2)],'connectionTimeout':_0x9dbafa[_0x27ce16(0x107)],'requestTimeout':_0x9dbafa[_0x27ce16(0x9e)],'logLevel':this[_0x27ce16(0xc4)](_0x9dbafa['logLevel']),'ssl':_0x28cc88,'sasl':_0x307fe8,'retry':{'initialRetryTime':_0x9dbafa[_0x27ce16(0xa4)],'retries':_0x9dbafa['retryAttempts'],'maxRetryTime':_0x9dbafa[_0x27ce16(0xe4)]}}),this['groupId']=_0x24d7a8['groupId']||_0x27ce16(0xea)+(process[_0x27ce16(0xcd)]['RESTFORGE_PROJECT_NAME']||_0x5a2806['QPJlk'])+_0x27ce16(0x9f),this[_0x27ce16(0xc5)]=this[_0x27ce16(0x10b)][_0x27ce16(0xc5)]({'groupId':this[_0x27ce16(0xab)],'sessionTimeout':_0x9dbafa[_0x27ce16(0xe9)],'heartbeatInterval':_0x9dbafa[_0x27ce16(0x102)],'maxBytesPerPartition':_0x9dbafa['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this[_0x27ce16(0xc5)]['connect'](),this[_0x27ce16(0xb9)]=!![],console[_0x27ce16(0xdc)](_0x27ce16(0xe2)+_0x9dbafa['brokers']['join'](',\x20')+'\x20(groupId:\x20'+this[_0x27ce16(0xab)]+')'),this['setupEventHandlers'](),_0x5a2806['HTEtj'](_0x23d0a2,!![]);}catch(_0x49a15f){console[_0x27ce16(0xbd)]('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x49a15f[_0x27ce16(0xf1)]),this['isConnected']=![],_0x23d0a2(![]);}finally{this[_0x27ce16(0xfe)]=![];}}),this['connectionPromise'];}['setupEventHandlers'](){const _0x4c7832=a0_0x4372d3,_0x29ab9d={'rkaaU':_0x4c7832(0xa0),'pFAwN':_0x4c7832(0xe1),'dWzIq':'consumer.crash','GdqLr':_0x4c7832(0xfd)};if(!this[_0x4c7832(0xc5)])return;this[_0x4c7832(0xc5)]['on']('consumer.disconnect',()=>{const _0x36e858=_0x4c7832;console[_0x36e858(0xdc)]('[KafkaConsumer]\x20Consumer\x20disconnected'),this['isConnected']=![],this['isRunning']=![];}),this['consumer']['on']('consumer.stop',()=>{const _0x2dce80=_0x4c7832;console[_0x2dce80(0xdc)](_0x29ab9d[_0x2dce80(0xd9)]),this['isRunning']=![];}),this[_0x4c7832(0xc5)]['on'](_0x29ab9d[_0x4c7832(0xb7)],_0x2a1502=>{const _0x44e3b5=_0x4c7832;console['error'](_0x44e3b5(0x10a)+_0x2a1502[_0x44e3b5(0xa7)]['error']['message']),this['isRunning']=![];}),this[_0x4c7832(0xc5)]['on'](_0x29ab9d[_0x4c7832(0xac)],()=>{const _0x18021d=_0x4c7832;console[_0x18021d(0xdc)](_0x29ab9d['pFAwN']);});}async[a0_0x4372d3(0xf2)](_0xf4c2e9,_0x3c986e=![]){const _0x1a3d61=a0_0x4372d3;if(!this['isConnected'])return console[_0x1a3d61(0xbd)]('[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'),![];try{const _0x27752b=Array['isArray'](_0xf4c2e9)?_0xf4c2e9:[_0xf4c2e9];for(const _0x2131ef of _0x27752b){await this[_0x1a3d61(0xc5)][_0x1a3d61(0xf2)]({'topic':_0x2131ef,'fromBeginning':_0x3c986e}),console['log'](_0x1a3d61(0xe6)+_0x2131ef+_0x1a3d61(0x9a)+_0x3c986e+')');}return this['subscribedTopics']=[...new Set([...this[_0x1a3d61(0xa3)],..._0x27752b])],!![];}catch(_0x56b931){return console[_0x1a3d61(0xbd)](_0x1a3d61(0xfa)+_0x56b931[_0x1a3d61(0xf1)]),![];}}async[a0_0x4372d3(0xf8)](_0x280089,_0x1ecb5c={}){const _0xda271=a0_0x4372d3,_0x57ed9c={'kSwvs':function(_0x3d7e8d,_0x2abcb3){return _0x3d7e8d+_0x2abcb3;},'CTnsn':function(_0x343fae,_0x4c0615){return _0x343fae>_0x4c0615;},'BTRjU':function(_0x5af794){return _0x5af794();},'cgaiL':'[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected','bwPFY':_0xda271(0xc0)};if(!this['isConnected'])return console['error'](_0x57ed9c['cgaiL']),![];if(this[_0xda271(0xe8)])return console['log'](_0x57ed9c['bwPFY']),!![];const _0x447aca=this['getConfig']();this['messageHandler']=_0x280089;try{return this['metrics'][_0xda271(0xee)]=new Date(),await this[_0xda271(0xc5)]['run']({'autoCommit':_0x1ecb5c[_0xda271(0xaa)]!==undefined?_0x1ecb5c['autoCommit']:_0x447aca['autoCommit'],'autoCommitInterval':_0x447aca[_0xda271(0xff)],'eachMessage':async({topic:_0x3633b2,partition:_0x5b4eee,message:_0x8bf899,heartbeat:_0x46492f})=>{const _0x5459a4=_0xda271,_0x5d5b9c=Date['now']();this[_0x5459a4(0xba)]['messagesReceived']++,this['metrics']['lastMessageTime']=new Date();try{const _0x2b5bfc=_0x8bf899[_0x5459a4(0xd7)]?_0x8bf899['value']['toString']():null;let _0x4a7195=null;try{_0x4a7195=_0x2b5bfc?JSON['parse'](_0x2b5bfc):null;}catch(_0x16061e){_0x4a7195=_0x2b5bfc;}const _0x1186c6={'topic':_0x3633b2,'partition':_0x5b4eee,'offset':_0x8bf899['offset'],'key':_0x8bf899[_0x5459a4(0xc7)]?_0x8bf899[_0x5459a4(0xc7)]['toString']():null,'headers':this[_0x5459a4(0xd3)](_0x8bf899['headers']),'timestamp':_0x8bf899[_0x5459a4(0x103)],'value':_0x4a7195,'raw':_0x2b5bfc};this['messageHandler']&&await this['messageHandler'](_0x1186c6);!_0x447aca[_0x5459a4(0xaa)]&&await this['consumer'][_0x5459a4(0x9c)]([{'topic':_0x3633b2,'partition':_0x5b4eee,'offset':_0x57ed9c[_0x5459a4(0xd1)](parseInt(_0x8bf899[_0x5459a4(0x101)]),0x1)['toString']()}]);this[_0x5459a4(0xba)]['messagesProcessed']++;const _0x162efc=Date['now']()-_0x5d5b9c;this['metrics']['processingTimes']['push'](_0x162efc),_0x57ed9c['CTnsn'](this[_0x5459a4(0xba)]['processingTimes'][_0x5459a4(0xce)],0x64)&&this[_0x5459a4(0xba)][_0x5459a4(0xd6)]['shift'](),await _0x57ed9c['BTRjU'](_0x46492f);}catch(_0xd7947){this['metrics']['messagesFailed']++,console[_0x5459a4(0xbd)](_0x5459a4(0xf0)+_0xd7947[_0x5459a4(0xf1)]);throw _0xd7947;}}}),this['isRunning']=!![],console['log']('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this[_0xda271(0xa3)][_0xda271(0xfb)](',\x20')),!![];}catch(_0x489e16){return console[_0xda271(0xbd)]('[KafkaConsumer]\x20Start\x20consuming\x20error:\x20'+_0x489e16['message']),![];}}['parseHeaders'](_0x17fc5d){const _0x1b28f3=a0_0x4372d3;if(!_0x17fc5d)return{};const _0x530482={};for(const [_0x100bbf,_0x588435]of Object['entries'](_0x17fc5d)){_0x530482[_0x100bbf]=_0x588435?_0x588435[_0x1b28f3(0xa9)]():null;}return _0x530482;}async[a0_0x4372d3(0xf3)](){const _0x3c6177=a0_0x4372d3,_0x1e6a05={'fnVAN':'[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running','wQrFk':'[KafkaConsumer]\x20Consumer\x20paused'};if(!this['isConnected']||!this['isRunning'])return console['log'](_0x1e6a05['fnVAN']),![];if(this['isPaused'])return console['log']('[KafkaConsumer]\x20Consumer\x20already\x20paused'),!![];try{const _0x1df834=this[_0x3c6177(0xa3)][_0x3c6177(0x106)](_0x5640b2=>({'topic':_0x5640b2}));return this['consumer'][_0x3c6177(0xf3)](_0x1df834),this['isPaused']=!![],console['log'](_0x1e6a05[_0x3c6177(0xf4)]),!![];}catch(_0x576a50){return console[_0x3c6177(0xbd)]('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x576a50[_0x3c6177(0xf1)]),![];}}async[a0_0x4372d3(0xc8)](){const _0x19d47c=a0_0x4372d3;if(!this['isConnected']||!this['isRunning'])return console['log'](_0x19d47c(0xbf)),![];if(!this['isPaused'])return console['log']('[KafkaConsumer]\x20Consumer\x20not\x20paused'),!![];try{const _0x3fbe83=this[_0x19d47c(0xa3)]['map'](_0x2fff7f=>({'topic':_0x2fff7f}));return this['consumer'][_0x19d47c(0xc8)](_0x3fbe83),this[_0x19d47c(0xf6)]=![],console[_0x19d47c(0xdc)]('[KafkaConsumer]\x20Consumer\x20resumed'),!![];}catch(_0x181f37){return console[_0x19d47c(0xbd)](_0x19d47c(0xa2)+_0x181f37[_0x19d47c(0xf1)]),![];}}async['stop'](){const _0x56493c=a0_0x4372d3,_0x4d00e2={'TffqG':_0x56493c(0xc6),'bKFqt':_0x56493c(0xd2)};if(!this[_0x56493c(0xb9)])return console['log'](_0x4d00e2[_0x56493c(0xc9)]),!![];try{const _0x25df7f=_0x4d00e2[_0x56493c(0xd8)][_0x56493c(0x94)]('|');let _0x1479a8=0x0;while(!![]){switch(_0x25df7f[_0x1479a8++]){case'0':console['log'](_0x56493c(0x9b));continue;case'1':this['isConnected']=![];continue;case'2':this['isPaused']=![];continue;case'3':this[_0x56493c(0xe8)]=![];continue;case'4':return!![];case'5':this[_0x56493c(0xc5)]&&(await this['consumer']['stop'](),await this['consumer']['disconnect']());continue;}break;}}catch(_0x2f810c){return console['error'](_0x56493c(0xef)+_0x2f810c['message']),![];}}async['seekToOffset'](_0x41dccf,_0x748096,_0x8d525c){const _0x4f8037=a0_0x4372d3;if(!this[_0x4f8037(0xb9)])return console[_0x4f8037(0xbd)](_0x4f8037(0xec)),![];try{return this['consumer'][_0x4f8037(0xb0)]({'topic':_0x41dccf,'partition':_0x748096,'offset':_0x8d525c[_0x4f8037(0xa9)]()}),console[_0x4f8037(0xdc)]('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x8d525c+_0x4f8037(0xcf)+_0x41dccf+':'+_0x748096),!![];}catch(_0x26e94c){return console[_0x4f8037(0xbd)](_0x4f8037(0xbc)+_0x26e94c[_0x4f8037(0xf1)]),![];}}[a0_0x4372d3(0xae)](){const _0x4a8868=a0_0x4372d3,_0x1914b2=this['getConfig']();return{'enabled':_0x1914b2[_0x4a8868(0xd4)],'connected':this['isConnected'],'running':this[_0x4a8868(0xe8)],'paused':this[_0x4a8868(0xf6)],'brokers':_0x1914b2['brokers'],'clientId':_0x1914b2[_0x4a8868(0xb3)],'groupId':this['groupId'],'subscribedTopics':this['subscribedTopics']};}[a0_0x4372d3(0xa8)](){const _0x393f5d=a0_0x4372d3,_0x351b71={'aTjmC':function(_0x494292,_0x132f55){return _0x494292>_0x132f55;},'zcYPQ':function(_0x8fcd92,_0x4fd959){return _0x8fcd92+_0x4fd959;},'URDXq':function(_0x35ca6e,_0x53071e){return _0x35ca6e/_0x53071e;},'QHmrQ':function(_0x408bdf,_0x3ef401){return _0x408bdf/_0x3ef401;},'HhGEh':function(_0x4f53d2,_0x3eed52){return _0x4f53d2+_0x3eed52;},'RaXsi':function(_0x13e4e5,_0x1991f3){return _0x13e4e5+_0x1991f3;}},_0x531574=_0x351b71[_0x393f5d(0x96)](this[_0x393f5d(0xba)]['processingTimes'][_0x393f5d(0xce)],0x0)?this[_0x393f5d(0xba)][_0x393f5d(0xd6)][_0x393f5d(0xb8)]((_0x5b8df9,_0xfdbea1)=>_0x5b8df9+_0xfdbea1,0x0)/this[_0x393f5d(0xba)]['processingTimes'][_0x393f5d(0xce)]:0x0,_0x45e402=this[_0x393f5d(0xba)][_0x393f5d(0xd6)]['length']>0x0?Math['min'](...this['metrics'][_0x393f5d(0xd6)]):0x0,_0x2b7453=this['metrics']['processingTimes']['length']>0x0?Math[_0x393f5d(0xb5)](...this['metrics']['processingTimes']):0x0;return{'messagesReceived':this['metrics']['messagesReceived'],'messagesProcessed':this[_0x393f5d(0xba)][_0x393f5d(0xaf)],'messagesFailed':this[_0x393f5d(0xba)][_0x393f5d(0x104)],'successRate':this[_0x393f5d(0xba)]['messagesReceived']>0x0?_0x351b71['zcYPQ']((_0x351b71['URDXq'](this[_0x393f5d(0xba)][_0x393f5d(0xaf)],this['metrics'][_0x393f5d(0xdf)])*0x64)['toFixed'](0x2),'%'):'0%','lastMessageTime':this[_0x393f5d(0xba)]['lastMessageTime'],'startTime':this['metrics'][_0x393f5d(0xee)],'uptime':this[_0x393f5d(0xba)][_0x393f5d(0xee)]?Math['floor'](_0x351b71['QHmrQ'](Date[_0x393f5d(0x100)]()-this['metrics'][_0x393f5d(0xee)][_0x393f5d(0xb2)](),0x3e8))+'s':'0s','processingTime':{'avg':Math[_0x393f5d(0xb6)](_0x531574)+'ms','min':_0x351b71['HhGEh'](_0x45e402,'ms'),'max':_0x351b71[_0x393f5d(0xd5)](_0x2b7453,'ms')}};}[a0_0x4372d3(0xf7)](){const _0x896e59=a0_0x4372d3,_0x3ffd44={'eQqPH':_0x896e59(0x95)};this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x896e59(0xe8)]?new Date():null,'processingTimes':[]},console[_0x896e59(0xdc)](_0x3ffd44['eQqPH']);}async['close'](){await this['stop']();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x31184a=a0_0x4372d3;instance&&(instance[_0x31184a(0x97)](),instance=null);}function a0_0x3fc7(_0x10b3c9,_0x11738d){_0x10b3c9=_0x10b3c9-0x94;const _0x917a3c=a0_0x917a();let _0x3fc7c3=_0x917a3c[_0x10b3c9];if(a0_0x3fc7['Fcsjgz']===undefined){var _0x546fed=function(_0x381551){const _0xefbc32='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1ca8b9='',_0x5c2e30='';for(let _0x56810b=0x0,_0x3aabe6,_0x747107,_0x596896=0x0;_0x747107=_0x381551['charAt'](_0x596896++);~_0x747107&&(_0x3aabe6=_0x56810b%0x4?_0x3aabe6*0x40+_0x747107:_0x747107,_0x56810b++%0x4)?_0x1ca8b9+=String['fromCharCode'](0xff&_0x3aabe6>>(-0x2*_0x56810b&0x6)):0x0){_0x747107=_0xefbc32['indexOf'](_0x747107);}for(let _0x229584=0x0,_0x3bb529=_0x1ca8b9['length'];_0x229584<_0x3bb529;_0x229584++){_0x5c2e30+='%'+('00'+_0x1ca8b9['charCodeAt'](_0x229584)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5c2e30);};a0_0x3fc7['IJFbiz']=_0x546fed,a0_0x3fc7['vnmypU']={},a0_0x3fc7['Fcsjgz']=!![];}const _0x39e570=_0x917a3c[0x0],_0x4d2b12=_0x10b3c9+_0x39e570,_0x13f847=a0_0x3fc7['vnmypU'][_0x4d2b12];return!_0x13f847?(_0x3fc7c3=a0_0x3fc7['IJFbiz'](_0x3fc7c3),a0_0x3fc7['vnmypU'][_0x4d2b12]=_0x3fc7c3):_0x3fc7c3=_0x13f847,_0x3fc7c3;}function a0_0x917a(){const _0x4d1ccb=['D1fYrMS','tK9useLorW','AxnqyxvZzwq','CMvZzxrnzxrYAwnZ','C3rHCNrdB25ZDw1PBMC','ndi4mtmZELLeqLjR','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzsbLCNjVCJOG','AM9PBG','s0fgs0fFuKvuuLLFqvruru1qvfm','y29UC3vTzxiUCMvIywXHBMnPBMC','AxnjBML0AwfSAxPPBMC','yxv0B0nVBw1PDeLUDgvYDMfS','BM93','B2zMC2v0','AgvHCNrIzwf0sw50zxj2ywW','DgLTzxn0yw1W','BwvZC2fNzxngywLSzwq','su5gtW','BwfW','y29UBMvJDgLVBLrPBwvVDxq','nZG1nta3mMzVDMLWqW','mtaYnteXmKPNrur1Ca','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignYyxnOzwq6ia','A2fMA2e','Dhj1zq','C3bSAxq','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','yvrQBum','y2XVC2u','DfnmELi','EM5LEhm','icHMCM9TqMvNAw5UAw5NoIa','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','y29TBwL0t2zMC2v0CW','s0fgs0fFuKvrvuvtvf9usu1ft1vu','CMvXDwvZDfrPBwvVDxq','lwnVBNn1BwvYlwDYB3vW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','mta0odu3nG','w0THzMTHq29UC3vTzxjDifjLC3vTzsbLCNjVCJOG','C3vIC2nYAwjLzfrVCgLJCW','CMv0CNLezwXHEq','nde5mJeWtMLqwNrM','nwLrswPjzG','Cgf5Bg9Hza','z2v0twv0CMLJCW','Dg9tDhjPBMC','yxv0B0nVBw1PDa','z3jVDxbjza','r2rXthi','CeLVEfm','z2v0u3rHDhvZ','BwvZC2fNzxnqCM9JzxnZzwq','C2vLAW','mJuWmda','z2v0vgLTzq','y2XPzw50swq','mtaXmZy5mLzvEuXZzW','Bwf4','CM91BMq','zfD6sxe','CMvKDwnL','AxndB25Uzwn0zwq','Bwv0CMLJCW','DxvPza','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','zxjYB3i','z2v0q29UzMLN','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','s0fgs0fFu0fttf9nruniqu5ju00','yNjVA2vYCW','Efrdyxa','z2v0tg9Ntgv2zwW','y29UC3vTzxi','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','A2v5','CMvZDw1L','vgzMCuC','A2fMA2fQCW','mZaWma','s0fgs0fFqvvut19dt01nsvq','zw52','BgvUz3rO','ig9Uia','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','A1n3DNm','nxWXFdn8mNWWFdq','CgfYC2vizwfKzxjZ','zw5HyMXLza','uMfyC2K','ChjVy2vZC2LUz1rPBwvZ','DMfSDwu','yKTgCxq','CMTHyvu','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','nJmWmtKZmKvTsuzNuW','Bg9N','mZeWodq2ogjvAML3DG','y29UBMvJDgLVBLbYB21PC2u','BwvZC2fNzxnszwnLAxzLza','mtaWma','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','rgrJCxq','CMv0CNLnyxHezwXHEq','s0fgs0fFte9hx0XfvKvm','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','zgvMyxvSDa','AxnsDw5UAw5N','C2vZC2LVBLrPBwvVDxq','CMvZDgzVCMDLlq','Dvv0Deq','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','rvjst1i','C3rHCNruAw1L','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','BwvZC2fNzq','C3vIC2nYAwjL','Cgf1C2u'];a0_0x917a=function(){return _0x4d1ccb;};return a0_0x917a();}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
1
+ const a0_0x56875a=a0_0x178f;(function(_0x328c48,_0x2ff676){const _0x56d512=a0_0x178f,_0x563016=_0x328c48();while(!![]){try{const _0x1777b2=parseInt(_0x56d512(0x133))/0x1*(parseInt(_0x56d512(0x134))/0x2)+-parseInt(_0x56d512(0x15b))/0x3+parseInt(_0x56d512(0x122))/0x4*(-parseInt(_0x56d512(0x165))/0x5)+parseInt(_0x56d512(0x17b))/0x6+parseInt(_0x56d512(0x17c))/0x7+-parseInt(_0x56d512(0x16c))/0x8*(-parseInt(_0x56d512(0x14b))/0x9)+parseInt(_0x56d512(0x120))/0xa*(-parseInt(_0x56d512(0x137))/0xb);if(_0x1777b2===_0x2ff676)break;else _0x563016['push'](_0x563016['shift']());}catch(_0x435465){_0x563016['push'](_0x563016['shift']());}}}(a0_0x4d55,0x24ab4));function a0_0x178f(_0x38fe90,_0x575c2d){_0x38fe90=_0x38fe90-0x10e;const _0x4d551d=a0_0x4d55();let _0x178f03=_0x4d551d[_0x38fe90];if(a0_0x178f['cPXRvm']===undefined){var _0x75d460=function(_0x269eb2){const _0x29d849='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1fdabd='',_0x4bc782='';for(let _0x16fe85=0x0,_0x31af52,_0x11b041,_0x2ab598=0x0;_0x11b041=_0x269eb2['charAt'](_0x2ab598++);~_0x11b041&&(_0x31af52=_0x16fe85%0x4?_0x31af52*0x40+_0x11b041:_0x11b041,_0x16fe85++%0x4)?_0x1fdabd+=String['fromCharCode'](0xff&_0x31af52>>(-0x2*_0x16fe85&0x6)):0x0){_0x11b041=_0x29d849['indexOf'](_0x11b041);}for(let _0x787cf0=0x0,_0xe4344b=_0x1fdabd['length'];_0x787cf0<_0xe4344b;_0x787cf0++){_0x4bc782+='%'+('00'+_0x1fdabd['charCodeAt'](_0x787cf0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4bc782);};a0_0x178f['PbbXTB']=_0x75d460,a0_0x178f['YEsGtc']={},a0_0x178f['cPXRvm']=!![];}const _0x429f53=_0x4d551d[0x0],_0x3faf18=_0x38fe90+_0x429f53,_0x3ce37e=a0_0x178f['YEsGtc'][_0x3faf18];return!_0x3ce37e?(_0x178f03=a0_0x178f['PbbXTB'](_0x178f03),a0_0x178f['YEsGtc'][_0x3faf18]=_0x178f03):_0x178f03=_0x3ce37e,_0x178f03;}const {Kafka,logLevel}=require(a0_0x56875a(0x13b)),{v7:uuidv7}=require(a0_0x56875a(0x119));class KafkaConsumerService{constructor(){const _0xd99b9b=a0_0x56875a,_0x9a1ce2={'UWHhk':_0xd99b9b(0x124)},_0x5ef935=_0x9a1ce2['UWHhk']['split']('|');let _0x1934d1=0x0;while(!![]){switch(_0x5ef935[_0x1934d1++]){case'0':this['connectionPromise']=null;continue;case'1':this[_0xd99b9b(0x12a)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;case'2':this[_0xd99b9b(0x18a)]=[];continue;case'3':this['messageHandler']=null;continue;case'4':this['isPaused']=![];continue;case'5':this['kafka']=null;continue;case'6':this[_0xd99b9b(0x180)]=![];continue;case'7':this[_0xd99b9b(0x16d)]=null;continue;case'8':this[_0xd99b9b(0x11c)]=![];continue;case'9':this['isConnected']=![];continue;case'10':this['groupId']=null;continue;}break;}}['getConfig'](){const _0x1aadb9=a0_0x56875a,_0x46e379={'rerCR':function(_0x4b7645,_0x40ded4){return _0x4b7645===_0x40ded4;},'rGAzz':_0x1aadb9(0x151),'FsXSo':_0x1aadb9(0x128),'deWFr':'25000','uWAiU':function(_0x59148c,_0x4934d1){return _0x59148c(_0x4934d1);},'ktPUu':_0x1aadb9(0x169),'dLOdW':'warn'};return{'enabled':_0x46e379['rerCR'](process['env']['KAFKA_ENABLED'],'true'),'brokers':(process[_0x1aadb9(0x123)][_0x1aadb9(0x174)]||_0x1aadb9(0x136))['split'](','),'clientId':process[_0x1aadb9(0x123)][_0x1aadb9(0x16b)]||'restforge-'+(process['env'][_0x1aadb9(0x11b)]||_0x46e379['rGAzz'])+_0x1aadb9(0x145),'connectionTimeout':parseInt(process['env']['KAFKA_CONNECTION_TIMEOUT']||_0x46e379[_0x1aadb9(0x15e)]),'requestTimeout':parseInt(process[_0x1aadb9(0x123)][_0x1aadb9(0x125)]||_0x46e379['deWFr']),'sessionTimeout':parseInt(process[_0x1aadb9(0x123)]['KAFKA_SESSION_TIMEOUT']||'30000'),'heartbeatInterval':_0x46e379[_0x1aadb9(0x158)](parseInt,process['env']['KAFKA_HEARTBEAT_INTERVAL']||'3000'),'maxBytesPerPartition':parseInt(process['env'][_0x1aadb9(0x162)]||_0x46e379['ktPUu']),'autoCommit':_0x46e379[_0x1aadb9(0x15f)](process['env'][_0x1aadb9(0x170)],_0x1aadb9(0x164)),'autoCommitInterval':parseInt(process['env'][_0x1aadb9(0x168)]||_0x1aadb9(0x114)),'retryAttempts':parseInt(process['env'][_0x1aadb9(0x185)]||'3'),'retryDelay':_0x46e379[_0x1aadb9(0x158)](parseInt,process['env']['KAFKA_RETRY_DELAY']||_0x1aadb9(0x183)),'retryMaxDelay':parseInt(process[_0x1aadb9(0x123)][_0x1aadb9(0x178)]||_0x1aadb9(0x11f)),'logLevel':process[_0x1aadb9(0x123)]['KAFKA_LOG_LEVEL']||_0x46e379['dLOdW']};}[a0_0x56875a(0x135)](_0x5b8490){const _0x1fd1af=a0_0x56875a,_0xa4f88c={'nothing':logLevel[_0x1fd1af(0x189)],'error':logLevel[_0x1fd1af(0x12f)],'warn':logLevel[_0x1fd1af(0x184)],'info':logLevel[_0x1fd1af(0x115)],'debug':logLevel['DEBUG']};return _0xa4f88c[_0x5b8490[_0x1fd1af(0x131)]()]||logLevel['WARN'];}async[a0_0x56875a(0x17d)](_0x603aa9={}){const _0x5dbad7=a0_0x56875a,_0x1e98c3={'budKt':function(_0x5cb6b0,_0xa4b17d){return _0x5cb6b0===_0xa4b17d;},'qbAMv':'true','gCyox':function(_0xb14932,_0x118cc2){return _0xb14932(_0x118cc2);}},_0x24428f=this[_0x5dbad7(0x112)]();if(!_0x24428f[_0x5dbad7(0x15c)])return console[_0x5dbad7(0x12b)](_0x5dbad7(0x110)),![];if(this[_0x5dbad7(0x126)])return!![];if(this[_0x5dbad7(0x180)]&&this['connectionPromise'])return this[_0x5dbad7(0x12e)];return this[_0x5dbad7(0x180)]=!![],this[_0x5dbad7(0x12e)]=new Promise(async _0x5edc82=>{const _0x5406a7=_0x5dbad7;try{let _0x51626b=undefined;_0x1e98c3[_0x5406a7(0x157)](process[_0x5406a7(0x123)][_0x5406a7(0x16a)],_0x1e98c3[_0x5406a7(0x177)])&&(_0x51626b=!![]);let _0x49d028=undefined;process['env']['KAFKA_SASL_MECHANISM']&&(_0x49d028={'mechanism':process['env']['KAFKA_SASL_MECHANISM'],'username':process[_0x5406a7(0x123)][_0x5406a7(0x171)]||'','password':process[_0x5406a7(0x123)][_0x5406a7(0x139)]||''}),this['kafka']=new Kafka({'clientId':_0x603aa9[_0x5406a7(0x146)]||_0x24428f['clientId'],'brokers':_0x24428f['brokers'],'connectionTimeout':_0x24428f[_0x5406a7(0x140)],'requestTimeout':_0x24428f['requestTimeout'],'logLevel':this[_0x5406a7(0x135)](_0x24428f[_0x5406a7(0x163)]),'ssl':_0x51626b,'sasl':_0x49d028,'retry':{'initialRetryTime':_0x24428f['retryDelay'],'retries':_0x24428f[_0x5406a7(0x142)],'maxRetryTime':_0x24428f['retryMaxDelay']}}),this['groupId']=_0x603aa9[_0x5406a7(0x14a)]||_0x5406a7(0x129)+(process['env'][_0x5406a7(0x11b)]||'default')+'-consumer-group',this[_0x5406a7(0x16d)]=this['kafka']['consumer']({'groupId':this['groupId'],'sessionTimeout':_0x24428f['sessionTimeout'],'heartbeatInterval':_0x24428f[_0x5406a7(0x17a)],'maxBytesPerPartition':_0x24428f[_0x5406a7(0x12d)],'allowAutoTopicCreation':![]}),await this['consumer']['connect'](),this['isConnected']=!![],console['log']('[KafkaConsumer]\x20Consumer\x20connected\x20to\x20brokers:\x20'+_0x24428f['brokers']['join'](',\x20')+_0x5406a7(0x16e)+this['groupId']+')'),this[_0x5406a7(0x14c)](),_0x1e98c3['gCyox'](_0x5edc82,!![]);}catch(_0x1951ea){console[_0x5406a7(0x127)]('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x1951ea[_0x5406a7(0x15a)]),this['isConnected']=![],_0x1e98c3['gCyox'](_0x5edc82,![]);}finally{this['isInitializing']=![];}}),this[_0x5dbad7(0x12e)];}['setupEventHandlers'](){const _0x4d7962=a0_0x56875a,_0x217fdd={'CsavF':_0x4d7962(0x118),'NPjBV':_0x4d7962(0x160),'jlvIH':'consumer.rebalancing'};if(!this['consumer'])return;this[_0x4d7962(0x16d)]['on'](_0x4d7962(0x10e),()=>{const _0xb06b9d=_0x4d7962;console['log'](_0x217fdd[_0xb06b9d(0x172)]),this[_0xb06b9d(0x126)]=![],this[_0xb06b9d(0x11c)]=![];}),this['consumer']['on'](_0x4d7962(0x179),()=>{console['log'](_0x217fdd['NPjBV']),this['isRunning']=![];}),this['consumer']['on']('consumer.crash',_0x54c9a1=>{const _0x3149bc=_0x4d7962;console[_0x3149bc(0x127)](_0x3149bc(0x17e)+_0x54c9a1[_0x3149bc(0x13a)][_0x3149bc(0x127)]['message']),this['isRunning']=![];}),this['consumer']['on'](_0x217fdd['jlvIH'],()=>{const _0xf59dd4=_0x4d7962;console[_0xf59dd4(0x12b)]('[KafkaConsumer]\x20Consumer\x20rebalancing...');});}async[a0_0x56875a(0x188)](_0x97e622,_0x59a8b6=![]){const _0x288460=a0_0x56875a;if(!this['isConnected'])return console['error'](_0x288460(0x150)),![];try{const _0x1588f0=Array[_0x288460(0x159)](_0x97e622)?_0x97e622:[_0x97e622];for(const _0x24c963 of _0x1588f0){await this[_0x288460(0x16d)]['subscribe']({'topic':_0x24c963,'fromBeginning':_0x59a8b6}),console['log'](_0x288460(0x13c)+_0x24c963+'\x20(fromBeginning:\x20'+_0x59a8b6+')');}return this[_0x288460(0x18a)]=[...new Set([...this['subscribedTopics'],..._0x1588f0])],!![];}catch(_0x4d8428){return console[_0x288460(0x127)]('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x4d8428['message']),![];}}async[a0_0x56875a(0x17f)](_0x4ffbcd,_0x80c4de={}){const _0x1e4bef=a0_0x56875a,_0x28f755={'NJgQj':function(_0x1b5fa3,_0x182f2b){return _0x1b5fa3+_0x182f2b;},'KknZB':_0x1e4bef(0x13d)};if(!this[_0x1e4bef(0x126)])return console[_0x1e4bef(0x127)]('[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected'),![];if(this['isRunning'])return console['log'](_0x28f755['KknZB']),!![];const _0x3f4059=this[_0x1e4bef(0x112)]();this['messageHandler']=_0x4ffbcd;try{return this[_0x1e4bef(0x12a)][_0x1e4bef(0x166)]=new Date(),await this['consumer']['run']({'autoCommit':_0x80c4de[_0x1e4bef(0x12c)]!==undefined?_0x80c4de[_0x1e4bef(0x12c)]:_0x3f4059['autoCommit'],'autoCommitInterval':_0x3f4059['autoCommitInterval'],'eachMessage':async({topic:_0x2a93d0,partition:_0x315421,message:_0x262e2a,heartbeat:_0x47c9d7})=>{const _0x47ef52=_0x1e4bef,_0x586ba9=Date[_0x47ef52(0x13f)]();this['metrics'][_0x47ef52(0x130)]++,this[_0x47ef52(0x12a)][_0x47ef52(0x147)]=new Date();try{const _0x30b6f4=_0x262e2a['value']?_0x262e2a['value']['toString']():null;let _0xf7d8e8=null;try{_0xf7d8e8=_0x30b6f4?JSON['parse'](_0x30b6f4):null;}catch(_0x52fdd9){_0xf7d8e8=_0x30b6f4;}const _0x304633={'topic':_0x2a93d0,'partition':_0x315421,'offset':_0x262e2a['offset'],'key':_0x262e2a[_0x47ef52(0x138)]?_0x262e2a[_0x47ef52(0x138)][_0x47ef52(0x175)]():null,'headers':this['parseHeaders'](_0x262e2a[_0x47ef52(0x121)]),'timestamp':_0x262e2a[_0x47ef52(0x153)],'value':_0xf7d8e8,'raw':_0x30b6f4};this['messageHandler']&&await this['messageHandler'](_0x304633);!_0x3f4059[_0x47ef52(0x12c)]&&await this['consumer']['commitOffsets']([{'topic':_0x2a93d0,'partition':_0x315421,'offset':_0x28f755[_0x47ef52(0x111)](parseInt(_0x262e2a['offset']),0x1)['toString']()}]);this[_0x47ef52(0x12a)][_0x47ef52(0x173)]++;const _0x492459=Date['now']()-_0x586ba9;this['metrics']['processingTimes']['push'](_0x492459),this['metrics'][_0x47ef52(0x176)][_0x47ef52(0x13e)]>0x64&&this[_0x47ef52(0x12a)][_0x47ef52(0x176)][_0x47ef52(0x14e)](),await _0x47c9d7();}catch(_0x16c3b0){this[_0x47ef52(0x12a)][_0x47ef52(0x141)]++,console['error']('[KafkaConsumer]\x20Message\x20processing\x20error:\x20'+_0x16c3b0[_0x47ef52(0x15a)]);throw _0x16c3b0;}}}),this['isRunning']=!![],console['log']('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this[_0x1e4bef(0x18a)]['join'](',\x20')),!![];}catch(_0x15338b){return console['error'](_0x1e4bef(0x14f)+_0x15338b[_0x1e4bef(0x15a)]),![];}}['parseHeaders'](_0x523f12){const _0x802104=a0_0x56875a;if(!_0x523f12)return{};const _0x41c84d={};for(const [_0x3aa2e5,_0xec925]of Object[_0x802104(0x144)](_0x523f12)){_0x41c84d[_0x3aa2e5]=_0xec925?_0xec925['toString']():null;}return _0x41c84d;}async[a0_0x56875a(0x155)](){const _0x33b334=a0_0x56875a,_0x5be5b6={'HOAfB':_0x33b334(0x152),'kcIKq':'[KafkaConsumer]\x20Consumer\x20paused'};if(!this[_0x33b334(0x126)]||!this[_0x33b334(0x11c)])return console['log'](_0x5be5b6[_0x33b334(0x15d)]),![];if(this[_0x33b334(0x132)])return console['log'](_0x33b334(0x11e)),!![];try{const _0x59473e=this[_0x33b334(0x18a)][_0x33b334(0x14d)](_0x69230a=>({'topic':_0x69230a}));return this[_0x33b334(0x16d)][_0x33b334(0x155)](_0x59473e),this['isPaused']=!![],console[_0x33b334(0x12b)](_0x5be5b6[_0x33b334(0x161)]),!![];}catch(_0x54e29e){return console['error']('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x54e29e[_0x33b334(0x15a)]),![];}}async['resume'](){const _0x2bb4f6=a0_0x56875a,_0x5cd6ec={'czAHR':_0x2bb4f6(0x143)};if(!this[_0x2bb4f6(0x126)]||!this[_0x2bb4f6(0x11c)])return console['log'](_0x5cd6ec['czAHR']),![];if(!this[_0x2bb4f6(0x132)])return console[_0x2bb4f6(0x12b)](_0x2bb4f6(0x11a)),!![];try{const _0x112eb8=this['subscribedTopics']['map'](_0x5622a2=>({'topic':_0x5622a2}));return this['consumer']['resume'](_0x112eb8),this[_0x2bb4f6(0x132)]=![],console['log']('[KafkaConsumer]\x20Consumer\x20resumed'),!![];}catch(_0x3d3a70){return console['error']('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x3d3a70['message']),![];}}async['stop'](){const _0x2407ca=a0_0x56875a;if(!this[_0x2407ca(0x126)])return console['log']('[KafkaConsumer]\x20Consumer\x20not\x20connected'),!![];try{return this['consumer']&&(await this['consumer']['stop'](),await this[_0x2407ca(0x16d)][_0x2407ca(0x156)]()),this[_0x2407ca(0x126)]=![],this['isRunning']=![],this['isPaused']=![],console[_0x2407ca(0x12b)]('[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected'),!![];}catch(_0x1d4167){return console[_0x2407ca(0x127)]('[KafkaConsumer]\x20Stop\x20error:\x20'+_0x1d4167[_0x2407ca(0x15a)]),![];}}async[a0_0x56875a(0x117)](_0x50b3be,_0x318bfd,_0x58db01){const _0x2aa838=a0_0x56875a,_0x53133={'eOhxI':_0x2aa838(0x186)};if(!this['isConnected'])return console['error'](_0x53133['eOhxI']),![];try{return this[_0x2aa838(0x16d)]['seek']({'topic':_0x50b3be,'partition':_0x318bfd,'offset':_0x58db01[_0x2aa838(0x175)]()}),console[_0x2aa838(0x12b)](_0x2aa838(0x10f)+_0x58db01+_0x2aa838(0x16f)+_0x50b3be+':'+_0x318bfd),!![];}catch(_0x3cb868){return console['error'](_0x2aa838(0x154)+_0x3cb868[_0x2aa838(0x15a)]),![];}}[a0_0x56875a(0x148)](){const _0x5ae807=a0_0x56875a,_0x4991df=this['getConfig']();return{'enabled':_0x4991df['enabled'],'connected':this[_0x5ae807(0x126)],'running':this['isRunning'],'paused':this[_0x5ae807(0x132)],'brokers':_0x4991df['brokers'],'clientId':_0x4991df[_0x5ae807(0x146)],'groupId':this[_0x5ae807(0x14a)],'subscribedTopics':this['subscribedTopics']};}[a0_0x56875a(0x149)](){const _0x1c0934=a0_0x56875a,_0x9531b0={'EYxtu':function(_0x27e3e7,_0x1e35d0){return _0x27e3e7>_0x1e35d0;},'cLRXm':function(_0x1193b6,_0x1621ab){return _0x1193b6+_0x1621ab;},'vwZih':function(_0x2c1721,_0x5d0170){return _0x2c1721*_0x5d0170;},'VKRcP':function(_0x2cd3dc,_0x37a8bb){return _0x2cd3dc/_0x37a8bb;},'tKhKS':function(_0x97ff61,_0x17b0ef){return _0x97ff61/_0x17b0ef;},'OOPsE':function(_0x1fbab3,_0x5e982b){return _0x1fbab3-_0x5e982b;},'BRzxX':function(_0x3890e1,_0xa61307){return _0x3890e1+_0xa61307;}},_0x10ce41=this['metrics']['processingTimes'][_0x1c0934(0x13e)]>0x0?this['metrics']['processingTimes'][_0x1c0934(0x116)]((_0x47a281,_0x29b8ac)=>_0x47a281+_0x29b8ac,0x0)/this['metrics']['processingTimes'][_0x1c0934(0x13e)]:0x0,_0x1876c6=_0x9531b0['EYxtu'](this['metrics'][_0x1c0934(0x176)][_0x1c0934(0x13e)],0x0)?Math['min'](...this[_0x1c0934(0x12a)]['processingTimes']):0x0,_0x57fdb8=this[_0x1c0934(0x12a)][_0x1c0934(0x176)]['length']>0x0?Math[_0x1c0934(0x113)](...this['metrics']['processingTimes']):0x0;return{'messagesReceived':this['metrics'][_0x1c0934(0x130)],'messagesProcessed':this['metrics']['messagesProcessed'],'messagesFailed':this[_0x1c0934(0x12a)][_0x1c0934(0x141)],'successRate':this[_0x1c0934(0x12a)]['messagesReceived']>0x0?_0x9531b0[_0x1c0934(0x181)](_0x9531b0[_0x1c0934(0x167)](_0x9531b0['VKRcP'](this['metrics']['messagesProcessed'],this[_0x1c0934(0x12a)][_0x1c0934(0x130)]),0x64)['toFixed'](0x2),'%'):'0%','lastMessageTime':this['metrics'][_0x1c0934(0x147)],'startTime':this['metrics']['startTime'],'uptime':this[_0x1c0934(0x12a)][_0x1c0934(0x166)]?Math[_0x1c0934(0x187)](_0x9531b0['tKhKS'](_0x9531b0['OOPsE'](Date[_0x1c0934(0x13f)](),this[_0x1c0934(0x12a)][_0x1c0934(0x166)][_0x1c0934(0x11d)]()),0x3e8))+'s':'0s','processingTime':{'avg':Math['round'](_0x10ce41)+'ms','min':_0x9531b0['BRzxX'](_0x1876c6,'ms'),'max':_0x9531b0['cLRXm'](_0x57fdb8,'ms')}};}['resetMetrics'](){const _0xaf4a71=a0_0x56875a;this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0xaf4a71(0x11c)]?new Date():null,'processingTimes':[]},console['log']('[KafkaConsumer]\x20Metrics\x20reset');}async['close'](){await this['stop']();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function a0_0x4d55(){const _0x396430=['Dhj1zq','mtq0mZbWzufKz2y','C3rHCNruAw1L','DNDAAwG','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','mta0odu3nG','s0fgs0fFu1nm','s0fgs0fFq0Xjru5ux0Le','mZjNDfPjB0u','y29UC3vTzxi','icHNCM91CeLKoIa','ig9Uia','s0fgs0fFqvvut19dt01nsvq','s0fgs0fFu0fttf9vu0vstKfnrq','q3nHDKy','BwvZC2fNzxnqCM9JzxnZzwq','s0fgs0fFqLjps0vsuW','Dg9tDhjPBMC','ChjVy2vZC2LUz1rPBwvZ','Cwjbtxy','s0fgs0fFuKvuuLLFtufyx0rftefz','y29UC3vTzxiUC3rVCa','AgvHCNrIzwf0sw50zxj2ywW','mtyXnJC3ogr5tKXusW','ntm2mde4uLzHsuHr','Aw5PDgLHBgL6zq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignYyxnOzwq6ia','C3rHCNrdB25ZDw1PBMC','AxnjBML0AwfSAxPPBMC','y0Xswg0','y2XVC2u','mtaWma','v0fstG','s0fgs0fFuKvuuLLFqvruru1qvfm','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','zMXVB3i','C3vIC2nYAwjL','tK9useLorW','C3vIC2nYAwjLzfrVCgLJCW','y29UC3vTzxiUzgLZy29UBMvJDa','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','w0THzMTHq29UC3vTzxjDieTHzMTHignVBNn1BwvYigLZigrPC2fIBgvKigLUignVBMzPz3vYyxrPB24','tKPNuwO','z2v0q29UzMLN','Bwf4','ntaWma','su5gtW','CMvKDwnL','C2vLA1rVt2zMC2v0','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','DxvPza','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbWyxvZzwq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','AxnsDw5UAw5N','z2v0vgLTzq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCgf1C2vK','mZaWmda','mJGZmdeXmgTPvK13uW','AgvHzgvYCW','mZi0wLPeCuLc','zw52','nxW3FdL8nNW4Fdr8mhWYFdeWFdn8mq','s0fgs0fFuKvrvuvtvf9usu1ft1vu','AxndB25Uzwn0zwq','zxjYB3i','mZaWma','CMvZDgzVCMDLlq','Bwv0CMLJCW','Bg9N','yxv0B0nVBw1PDa','Bwf4qNL0zxnqzxjqyxj0AxrPB24','y29UBMvJDgLVBLbYB21PC2u','rvjst1i','BwvZC2fNzxnszwnLAxzLza','Dg9mB3DLCKnHC2u','AxnqyxvZzwq','muT0zfHbzG','ndG2mda0ugPxA0j2','z2v0tg9Ntgv2zwW','Bg9JywXOB3n0oJKWoti','mtf6u3DsDhq','A2v5','s0fgs0fFu0fttf9qqvntv09sra','Cgf5Bg9Hza','A2fMA2fQCW','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','BgvUz3rO','BM93','y29UBMvJDgLVBLrPBwvVDxq','BwvZC2fNzxngywLSzwq','CMv0CNLbDhrLBxb0CW','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','zw50CMLLCW','lwnVBNn1BwvY','y2XPzw50swq','BgfZDe1LC3nHz2vuAw1L','z2v0u3rHDhvZ','z2v0twv0CMLJCW','z3jVDxbjza','nJm0mdqXyLnZyMPc','C2v0DxbfDMvUDeHHBMrSzxjZ','BwfW','C2HPzNq','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','zgvMyxvSDa','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','DgLTzxn0yw1W','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','Cgf1C2u','zgLZy29UBMvJDa','yNvKs3q','DvDbAvu','AxnbCNjHEq','BwvZC2fNzq','nJeXntG2uuHdwgPi','zw5HyMXLza','se9bzKi','rNnyu28','CMvYq1i','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','A2njs3e','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','Bg9Ntgv2zwW'];a0_0x4d55=function(){return _0x396430;};return a0_0x4d55();}function resetInstance(){const _0x54e807=a0_0x56875a;instance&&(instance[_0x54e807(0x182)](),instance=null);}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};