@restforgejs/platform 5.1.21 → 5.2.0

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 (211) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/generators/cli/catalog/dashboard.js +1 -1
  5. package/generators/cli/catalog/dbschema.js +3 -3
  6. package/generators/cli/catalog/field-validation.js +1 -1
  7. package/generators/cli/catalog/query-declarative.js +1 -1
  8. package/generators/cli/config/clear-default.js +1 -1
  9. package/generators/cli/config/get-default.js +1 -1
  10. package/generators/cli/config/list.js +1 -1
  11. package/generators/cli/config/schema.js +1 -1
  12. package/generators/cli/config/set-default.js +2 -2
  13. package/generators/cli/config/template.js +1 -1
  14. package/generators/cli/dashboard/create.js +7 -7
  15. package/generators/cli/data/pull.js +12 -12
  16. package/generators/cli/data/push.js +9 -9
  17. package/generators/cli/endpoint/create.js +11 -11
  18. package/generators/cli/endpoint/list.js +3 -3
  19. package/generators/cli/fast-track.js +7 -7
  20. package/generators/cli/init.js +2 -2
  21. package/generators/cli/kafka/consumer-create.js +5 -5
  22. package/generators/cli/key/generate.js +3 -3
  23. package/generators/cli/key/list.js +2 -2
  24. package/generators/cli/key/revoke.js +3 -3
  25. package/generators/cli/payload/diff.js +3 -3
  26. package/generators/cli/payload/generate.js +5 -5
  27. package/generators/cli/payload/sync.js +5 -5
  28. package/generators/cli/payload/validate.js +3 -3
  29. package/generators/cli/processor/create.js +7 -7
  30. package/generators/cli/processor/list.js +3 -3
  31. package/generators/cli/project/delete.js +2 -2
  32. package/generators/cli/project/list.js +1 -1
  33. package/generators/cli/query/validate.js +3 -3
  34. package/generators/cli/schema/apply.js +13 -13
  35. package/generators/cli/schema/describe.js +6 -6
  36. package/generators/cli/schema/diff.js +10 -10
  37. package/generators/cli/schema/generate-ddl.js +11 -11
  38. package/generators/cli/schema/init.js +95 -95
  39. package/generators/cli/schema/introspect.js +8 -8
  40. package/generators/cli/schema/list.js +6 -6
  41. package/generators/cli/schema/migrate.js +91 -13
  42. package/generators/cli/schema/models.js +6 -6
  43. package/generators/cli/schema/template.js +223 -222
  44. package/generators/cli/schema/validate.js +6 -6
  45. package/generators/cli/test/generate.js +6 -6
  46. package/generators/lib/dbschema-kit/introspect-mapper.js +20 -0
  47. package/generators/lib/templates/dashboard-catalog.js +1 -1
  48. package/generators/lib/templates/db-connection-env.js +1 -1
  49. package/generators/lib/templates/dbschema-catalog.js +1 -1
  50. package/generators/lib/templates/field-validation-catalog.js +1 -1
  51. package/generators/lib/templates/mysql-template.js +1 -1
  52. package/generators/lib/templates/oracle-template.js +1 -1
  53. package/generators/lib/templates/postgres-template.js +1 -1
  54. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  55. package/generators/lib/templates/sqlite-template.js +1 -1
  56. package/integrity-manifest.json +18 -18
  57. package/package.json +1 -1
  58. package/scripts/verify-integrity.js +1 -1
  59. package/server.js +1 -1
  60. package/src/components/handlers/adjust_handler.js +1 -1
  61. package/src/components/handlers/audit_handler.js +1 -1
  62. package/src/components/handlers/delete_handler.js +1 -1
  63. package/src/components/handlers/export_handler.js +1 -1
  64. package/src/components/handlers/import_handler.js +1 -1
  65. package/src/components/handlers/insert_handler.js +1 -1
  66. package/src/components/handlers/update_handler.js +1 -1
  67. package/src/components/handlers/upload_handler.js +1 -1
  68. package/src/components/handlers/workflow_handler.js +1 -1
  69. package/src/components/integrations/webhook.js +1 -1
  70. package/src/consumers/baseConsumer.js +1 -1
  71. package/src/consumers/declarativeMapper.js +1 -1
  72. package/src/consumers/handlers/apiHandler.js +1 -1
  73. package/src/consumers/handlers/consoleHandler.js +1 -1
  74. package/src/consumers/handlers/databaseHandler.js +1 -1
  75. package/src/consumers/handlers/index.js +1 -1
  76. package/src/consumers/handlers/kafkaHandler.js +1 -1
  77. package/src/consumers/index.js +1 -1
  78. package/src/consumers/messageTransformer.js +1 -1
  79. package/src/consumers/validator.js +1 -1
  80. package/src/core/db/dialect/base-dialect.js +1 -1
  81. package/src/core/db/dialect/index.js +1 -1
  82. package/src/core/db/dialect/mysql-dialect.js +1 -1
  83. package/src/core/db/dialect/oracle-dialect.js +1 -1
  84. package/src/core/db/dialect/postgres-dialect.js +1 -1
  85. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  86. package/src/core/db/flatten-helper.js +1 -1
  87. package/src/core/db/query-builder-error.js +1 -1
  88. package/src/core/db/query-builder.js +1 -1
  89. package/src/core/db/relation-helper.js +1 -1
  90. package/src/core/handlers/delete_handler.js +1 -1
  91. package/src/core/handlers/insert_handler.js +1 -1
  92. package/src/core/handlers/update_handler.js +1 -1
  93. package/src/core/models/base-model.js +1 -1
  94. package/src/core/utils/cache-manager.js +1 -1
  95. package/src/core/utils/component-engine.js +1 -1
  96. package/src/core/utils/context-builder.js +1 -1
  97. package/src/core/utils/datetime-formatter.js +1 -1
  98. package/src/core/utils/datetime-parser.js +1 -1
  99. package/src/core/utils/db.js +1 -1
  100. package/src/core/utils/logger.js +1 -1
  101. package/src/core/utils/payload-loader.js +1 -1
  102. package/src/core/utils/security-checks.js +1 -1
  103. package/src/middleware/body-options.js +1 -1
  104. package/src/middleware/cors.js +1 -1
  105. package/src/middleware/idempotency.js +1 -1
  106. package/src/middleware/rate-limiter.js +1 -1
  107. package/src/middleware/request-logger.js +1 -1
  108. package/src/middleware/security-headers.js +1 -1
  109. package/src/models/base-model-mysql.js +1 -1
  110. package/src/models/base-model-oracle.js +1 -1
  111. package/src/models/base-model-sqlite.js +1 -1
  112. package/src/models/base-model.js +1 -1
  113. package/src/pro/caching/redis-client.js +1 -1
  114. package/src/pro/caching/redis-helper.js +1 -1
  115. package/src/pro/consumers/baseConsumer.js +1 -1
  116. package/src/pro/consumers/declarativeMapper.js +1 -1
  117. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  118. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  119. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  120. package/src/pro/consumers/handlers/index.js +1 -1
  121. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  122. package/src/pro/consumers/index.js +1 -1
  123. package/src/pro/consumers/messageTransformer.js +1 -1
  124. package/src/pro/consumers/validator.js +1 -1
  125. package/src/pro/database/base-model-mysql.js +1 -1
  126. package/src/pro/database/base-model-oracle.js +1 -1
  127. package/src/pro/database/base-model-sqlite.js +1 -1
  128. package/src/pro/database/db-mysql.js +1 -1
  129. package/src/pro/database/db-oracle.js +1 -1
  130. package/src/pro/database/db-sqlite.js +1 -1
  131. package/src/pro/excel/excel-generator.js +1 -1
  132. package/src/pro/excel/excel-parser.js +1 -1
  133. package/src/pro/excel/export-service.js +1 -1
  134. package/src/pro/excel/export_handler.js +1 -1
  135. package/src/pro/excel/import-service.js +1 -1
  136. package/src/pro/excel/import-validator.js +1 -1
  137. package/src/pro/excel/import_handler.js +1 -1
  138. package/src/pro/excel/upsert-builder.js +1 -1
  139. package/src/pro/idgen/idgen-routes.js +1 -1
  140. package/src/pro/integrations/lookup-resolver.js +1 -1
  141. package/src/pro/integrations/upload-handler-v2.js +1 -1
  142. package/src/pro/integrations/upload-handler.js +1 -1
  143. package/src/pro/integrations/webhook.js +1 -1
  144. package/src/pro/locking/lock-routes.js +1 -1
  145. package/src/pro/locking/resource-lock-manager.js +1 -1
  146. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  147. package/src/pro/messaging/kafkaService.js +1 -1
  148. package/src/pro/messaging/messagehubService.js +1 -1
  149. package/src/pro/messaging/rabbitmqService.js +1 -1
  150. package/src/pro/scheduler/job-manager.js +1 -1
  151. package/src/pro/scheduler/job-routes.js +1 -1
  152. package/src/pro/scheduler/job-validator.js +1 -1
  153. package/src/pro/storage/base-storage-provider.js +1 -1
  154. package/src/pro/storage/file-metadata-helper.js +1 -1
  155. package/src/pro/storage/index.js +1 -1
  156. package/src/pro/storage/local-storage-provider.js +1 -1
  157. package/src/pro/storage/s3-storage-provider.js +1 -1
  158. package/src/pro/storage/upload-cleanup-job.js +1 -1
  159. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  160. package/src/pro/storage/upload-pending-tracker.js +1 -1
  161. package/src/pro/websocket/broadcast-helper.js +1 -1
  162. package/src/pro/websocket/index.js +1 -1
  163. package/src/pro/websocket/livesync-server.js +1 -1
  164. package/src/pro/websocket/ws-broadcaster.js +1 -1
  165. package/src/services/export-service.js +1 -1
  166. package/src/services/import-service.js +1 -1
  167. package/src/services/kafkaConsumerService.js +1 -1
  168. package/src/services/kafkaService.js +1 -1
  169. package/src/services/messagehubService.js +1 -1
  170. package/src/services/rabbitmqService.js +1 -1
  171. package/src/utils/cache-invalidation-registry.js +1 -1
  172. package/src/utils/cache-manager.js +1 -1
  173. package/src/utils/component-engine.js +1 -1
  174. package/src/utils/config-extractor.js +1 -1
  175. package/src/utils/consumerLogger.js +1 -1
  176. package/src/utils/context-builder.js +1 -1
  177. package/src/utils/dashboard-helpers.js +1 -1
  178. package/src/utils/dateHelper.js +1 -1
  179. package/src/utils/datetime-formatter.js +1 -1
  180. package/src/utils/datetime-parser.js +1 -1
  181. package/src/utils/db-bootstrap.js +1 -1
  182. package/src/utils/db-mysql.js +1 -1
  183. package/src/utils/db-oracle.js +1 -1
  184. package/src/utils/db-sqlite.js +1 -1
  185. package/src/utils/db.js +1 -1
  186. package/src/utils/demo-generator.js +1 -1
  187. package/src/utils/excel-generator.js +1 -1
  188. package/src/utils/excel-parser.js +1 -1
  189. package/src/utils/file-watcher.js +1 -1
  190. package/src/utils/id-generator.js +1 -1
  191. package/src/utils/idempotency-manager.js +1 -1
  192. package/src/utils/import-validator.js +1 -1
  193. package/src/utils/license-client.js +1 -1
  194. package/src/utils/lock-manager.js +1 -1
  195. package/src/utils/logger.js +1 -1
  196. package/src/utils/lookup-resolver.js +1 -1
  197. package/src/utils/payload-loader.js +1 -1
  198. package/src/utils/processor-response.js +1 -1
  199. package/src/utils/rabbitmq.js +1 -1
  200. package/src/utils/redis-client.js +1 -1
  201. package/src/utils/redis-helper.js +1 -1
  202. package/src/utils/request-scope.js +1 -1
  203. package/src/utils/security-checks.js +1 -1
  204. package/src/utils/service-resolver.js +1 -1
  205. package/src/utils/shutdown-coordinator.js +1 -1
  206. package/src/utils/soft-delete-dashboard-guard.js +1 -1
  207. package/src/utils/sql-table-extractor.js +1 -1
  208. package/src/utils/trusted-keys.js +1 -1
  209. package/src/utils/upload-handler.js +1 -1
  210. package/src/utils/upsert-builder.js +1 -1
  211. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- 'use strict';function a0_0x3e63(){const _0x543c80=['sw52ywXPzcbku09oig1LC3nHz2u','zgvZDhjVEq','s1fkAuK','mti3lJaUmc4X','x2HHBMrSzvvUC3vIC2nYAwjL','EvP0q1y','C2L6zq','uePlyu0','teLwrv9twu5dx0HfqvjuqKvbvf9jtLrfuLzbta','C2H1DgrVD24','ihrVia','q2XPzw50ihn1yNnJCMLIzwqGDg86ia','CMvHzhLtDgf0zq','zw52','Aw9YzwrPCW','Aw5JBhvKzxm','z2v0','CMvZDgzVCMDLoMXPDMvZEw5JoG','y2f0y2G','uKvesvnFrei','C3bSAxq','x3b1yMXPC2HuB1jLzgLZ','x3jLzgLZu3vIC2nYAwjLCG','Bg9JywXOB3n0','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGC3vIC2nYAwjLCIbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9Kzq','C2vHCMnOugfYyw1Z','BgL2zxn5BMnFy2XPzw50x2nVBM5Ly3rLza','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLza','CMvXDwvZDeLK','Cg9UzW','ywvcuuy','uKvesvnFueftu1DpuKq','zxHWB3j0CW','tgL2zsbtEw5JifjLzgLZihn1yNnJCMLIzxiGywn0AxzLigzVCIbJBhvZDgvYig1Vzgu','AgfZ','mtr3tKjythm','qNjVywrJyxn0ia','C3vIC2nYAwjLzenOyw5UzwXZ','DxjS','EMXQy2K','zgf0yv9JAgfUz2u','svzOuhK','Aw5PDgLHBgL6zq','y2XPzw50CW','BgL2zxn5BMnFC2H1DgrVD24','Dg9ju09tDhjPBMC','zgvIDwC','C2vUza','D2fYBG','BgvUz3rO','u2vYDMvYihnODxr0Aw5NigrVD24','x2LUAxrPywXPEMvK','mti2wfPvu3HV','ng9lyNPYzW','x3n1yNnJCMLWDgLVBNm','zxjYB3i','Dw5ZDwjZy3jPyMvK','tgL2zsbtEw5Jia','mti5otmWChLqCwjQ','Ahr0CdOVlW','yxbPs2v5','x2HLyxj0yMvHDfrPBwvY','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','mtm4otaYmgzOqK5YqG','uKvesvnFue9sva','x21Vzgu','x3nLBMruB0nSAwvUDa','BgL2zxn5BMnFC3vIC2nYAwjL','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9KztOG','nte2mteYqKLTEKT3','Bg9Nz2vY','x3DZCW','y29UBMvJDa','r0HyDKq','zw1PDa','DxbNCMfKzq','BwvZC2fNzq','D29YA2vYswq','ndy3mdC2uxbryuDV','nJzswKLvy3m','zMLpB2K','qxHkzLK','ywn0Aw9U','tgL2zsbtEw5JihnLCNzLCIbPBML0AwfSAxPLzcbHDcaVD3mGkgHLyxj0yMvHDdOG','x2jYB2fKy2fZDeXVy2fS','v2vIu29JA2v0ignSAwvUDcbLCNjVCJOG','x29WDgLVBNm','CgLUzW','nxWXFdz8mNW3Fdn8nhW4FdL8ma','mZy0mJGXsMXtD1H6','x3jLzgLZuhvIBgLZAgvY','Dw5ZDwjZy3jPyMu','ChvIBgLZAgvY','Aw5MBW','C29JA2v0','Ec1MB3j3yxjKzwqTzM9Y','ndaWnZLitvzPEKG','mtaZnurzz2XlvW','C2XPy2u','tMTeuK4','CMvTB3zLqwXStgLZDgvUzxjZ','x2XVz2DLCG','yvbdExa','x2HHBMrSzunVBM5Ly3rPB24','vw5RBM93BIbTzxnZywDLihr5Cgu6ia','EM9OyMG','y29UBMvJDgLVBG','Ce5pze4','nMTWBM52rq','B3rUENK','y2XVC2u','C3rYAw5NAwz5','BgL2zxn5BMnFD3nZx2vYCM9Y','AgvHzgvYCW','BeP0u2S','AgfUzgXLvxbNCMfKzq','zNvSBa','z2v0q2XPzw50','BgL2zxn5BMnFy2XPzw50x2rPC2nVBM5Ly3rLza','zgvSzxrL','AxnbBgL2zq','zgf0yq','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','x3nLDhvWvxbNCMfKzuf1DgG','C3vIC2nYAwjL','uKvesvnFse9tva','y2fSBa','DwTxuxy','ndu0u1jVCNLt','otLirxrsvu4'];a0_0x3e63=function(){return _0x543c80;};return a0_0x3e63();}const a0_0x1a64f2=a0_0x1038;function a0_0x1038(_0x10a4d1,_0x1b9497){_0x10a4d1=_0x10a4d1-0x99;const _0x3e6348=a0_0x3e63();let _0x1038e7=_0x3e6348[_0x10a4d1];if(a0_0x1038['MFQAHg']===undefined){var _0x1bbadd=function(_0x28f55f){const _0x25b92d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xfbf776='',_0x549a7c='';for(let _0x4b28e3=0x0,_0x394141,_0x252d32,_0xb8fdb5=0x0;_0x252d32=_0x28f55f['charAt'](_0xb8fdb5++);~_0x252d32&&(_0x394141=_0x4b28e3%0x4?_0x394141*0x40+_0x252d32:_0x252d32,_0x4b28e3++%0x4)?_0xfbf776+=String['fromCharCode'](0xff&_0x394141>>(-0x2*_0x4b28e3&0x6)):0x0){_0x252d32=_0x25b92d['indexOf'](_0x252d32);}for(let _0x373658=0x0,_0x7b402b=_0xfbf776['length'];_0x373658<_0x7b402b;_0x373658++){_0x549a7c+='%'+('00'+_0xfbf776['charCodeAt'](_0x373658)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x549a7c);};a0_0x1038['YKCrPr']=_0x1bbadd,a0_0x1038['GbiDZT']={},a0_0x1038['MFQAHg']=!![];}const _0x48cc7b=_0x3e6348[0x0],_0x3792c4=_0x10a4d1+_0x48cc7b,_0x3b2bf6=a0_0x1038['GbiDZT'][_0x3792c4];return!_0x3b2bf6?(_0x1038e7=a0_0x1038['YKCrPr'](_0x1038e7),a0_0x1038['GbiDZT'][_0x3792c4]=_0x1038e7):_0x1038e7=_0x3b2bf6,_0x1038e7;}(function(_0x59e38c,_0x4d6203){const _0xc8ea59=a0_0x1038,_0x19292e=_0x59e38c();while(!![]){try{const _0x4b6fc4=parseInt(_0xc8ea59(0xdc))/0x1*(-parseInt(_0xc8ea59(0xfb))/0x2)+-parseInt(_0xc8ea59(0xd4))/0x3*(parseInt(_0xc8ea59(0xb0))/0x4)+parseInt(_0xc8ea59(0xba))/0x5*(parseInt(_0xc8ea59(0xe7))/0x6)+parseInt(_0xc8ea59(0x9e))/0x7*(-parseInt(_0xc8ea59(0xc0))/0x8)+parseInt(_0xc8ea59(0xfc))/0x9*(parseInt(_0xc8ea59(0xb5))/0xa)+parseInt(_0xc8ea59(0xca))/0xb*(parseInt(_0xc8ea59(0xc9))/0xc)+parseInt(_0xc8ea59(0xdb))/0xd*(parseInt(_0xc8ea59(0xaf))/0xe);if(_0x4b6fc4===_0x4d6203)break;else _0x19292e['push'](_0x19292e['shift']());}catch(_0x291fab){_0x19292e['push'](_0x19292e['shift']());}}}(a0_0x3e63,0x30004));const {WebSocketServer}=require('ws'),{URL}=require(a0_0x1a64f2(0xa1)),REDIS_CHANNEL_PREFIX=a0_0x1a64f2(0x10e);class WebSocketBroadcaster{constructor(){const _0x35e00d=a0_0x1a64f2,_0x357bc4=_0x35e00d(0xd3)[_0x35e00d(0x111)]('|');let _0x384638=0x0;while(!![]){switch(_0x357bc4[_0x384638++]){case'0':this['_workerId']=process['pid'];continue;case'1':this[_0x35e00d(0xae)]=![];continue;case'2':this[_0x35e00d(0xd1)]={};continue;case'3':this[_0x35e00d(0xb1)]=new Map();continue;case'4':this['_heartbeatTimer']=null;continue;case'5':this[_0x35e00d(0xc2)]=null;continue;case'6':this['_mode']=null;continue;case'7':this['_logger']=console;continue;case'8':this['_redisPublisher']=null;continue;case'9':this[_0x35e00d(0x113)]=null;continue;}break;}}[a0_0x1a64f2(0xa5)](_0x28df16,_0x5c7fb1={}){const _0x4ed258=a0_0x1a64f2,_0x26fe89={'otnzy':_0x4ed258(0xeb),'PJKaM':'../../utils/logger','tIEyq':function(_0x3226d3,_0x4e9336,_0x52c1a2){return _0x3226d3(_0x4e9336,_0x52c1a2);},'aPCyp':_0x4ed258(0xe5),'mgwwI':_0x4ed258(0xef)};if(this[_0x4ed258(0xae)])return;this['_options']=_0x5c7fb1,this[_0x4ed258(0xbc)]=_0x4ed258(0xef);try{this[_0x4ed258(0xe0)]=require(_0x26fe89[_0x4ed258(0x104)])['logger']||console;}catch(_0x114abb){this[_0x4ed258(0xe0)]=console;}const _0x40d0aa=_0x26fe89['tIEyq'](parseInt,process['env'][_0x4ed258(0x105)],0xa)||0x1e;this['_wss']=new WebSocketServer({'server':_0x28df16,'path':'/ws'}),this[_0x4ed258(0xf6)](_0x28df16),this['_wss']['on'](_0x26fe89[_0x4ed258(0xe1)],(_0x5a5c8a,_0x5d4b09)=>this[_0x4ed258(0xe2)](_0x5a5c8a,_0x5d4b09)),this[_0x4ed258(0xc2)]['on'](_0x4ed258(0xb2),_0x484847=>{const _0x58bd0d=_0x4ed258;this['_logger']['error']({'event':_0x26fe89[_0x58bd0d(0xe8)],'error':_0x484847[_0x58bd0d(0xc7)]},'WebSocket\x20server\x20error:\x20'+_0x484847['message']);}),this['_startHeartbeat'](_0x40d0aa),this['_setupRedis'](),this['_initialized']=!![],this[_0x4ed258(0xe0)]['info']({'event':'livesync_initialized','mode':_0x26fe89['mgwwI'],'path':'/ws','heartbeat':_0x40d0aa+'s'},_0x4ed258(0xce)+_0x40d0aa+'s)');}['initializeAsPublisher'](_0x5af942={}){const _0x43c178=a0_0x1a64f2,_0x3c221c={'lKCyC':function(_0x5b2539,_0x104292){return _0x5b2539(_0x104292);}};if(this['_initialized'])return;this['_options']=_0x5af942,this[_0x43c178(0xbc)]='publisher';try{this['_logger']=_0x3c221c['lKCyC'](require,'../../utils/logger')[_0x43c178(0xc1)]||console;}catch(_0x1e1506){this['_logger']=console;}this['_setupRedisPublisher'](),this[_0x43c178(0xae)]=!![],this[_0x43c178(0xe0)][_0x43c178(0xd8)]({'event':'livesync_publisher_initialized','mode':'publisher'},'Live\x20Sync\x20publisher\x20initialized\x20(Redis-only,\x20no\x20WebSocket\x20server)');}['isInitialized'](){return this['_initialized'];}['broadcast'](_0x1101ee,_0x154175){const _0x253120=a0_0x1a64f2,_0x1aa945={'jFIar':function(_0x324d6c,_0x57c0c9){return _0x324d6c===_0x57c0c9;},'AxJfY':_0x253120(0xa3),'ukWQv':function(_0x457f41,_0x1dd3d1){return _0x457f41>_0x1dd3d1;}};if(!this['_initialized'])return;if(_0x1aa945['jFIar'](this['_mode'],_0x253120(0xd7))){this[_0x253120(0x112)](_0x1101ee,_0x154175);return;}const _0x15cf91=JSON['stringify']({'type':_0x1aa945[_0x253120(0xcc)],'channel':_0x1101ee,'action':_0x154175[_0x253120(0xcd)],'data':_0x154175['data'],'requestId':_0x154175[_0x253120(0x119)]||null,'timestamp':new Date()['toISOString']()}),[_0x5b445b]=_0x1101ee[_0x253120(0x111)](':');let _0x25b972=0x0;for(const [_0x415984,_0x3b287c]of this['_subscriptions']){const _0x1164dc=_0x415984===_0x1101ee,_0x410c3b=_0x415984===_0x5b445b+':*';if(_0x1164dc||_0x410c3b)for(const _0x3b5bfa of _0x3b287c){if(_0x3b5bfa[_0x253120(0x109)]===0x1)try{_0x3b5bfa['send'](_0x15cf91),_0x25b972++;}catch(_0x292ef6){}}}_0x1aa945[_0x253120(0xfa)](_0x25b972,0x0)&&this['_logger'][_0x253120(0xa9)]({'event':'livesync_broadcast','channel':_0x1101ee,'action':_0x154175[_0x253120(0xcd)],'clients':_0x25b972},_0x253120(0x9f)+_0x154175[_0x253120(0xcd)]+'\x20on\x20'+_0x1101ee+_0x253120(0x107)+_0x25b972+'\x20client(s)');}['_publishToRedis'](_0x247f91,_0x27225d){const _0x5ee1b5=a0_0x1a64f2;if(!this['_redisPublisher'])return;const _0x2b401a=JSON[_0x5ee1b5(0xea)]({'channel':_0x247f91,'message':_0x27225d,'workerId':this['_workerId']});this[_0x5ee1b5(0xd5)]['publish'](REDIS_CHANNEL_PREFIX+'broadcast',_0x2b401a)[_0x5ee1b5(0x10f)](()=>{});}[a0_0x1a64f2(0x106)](){const _0x223834=a0_0x1a64f2;if(!this[_0x223834(0xae)])return;this['_heartbeatTimer']&&(clearInterval(this[_0x223834(0xb8)]),this[_0x223834(0xb8)]=null);if(this[_0x223834(0xc2)]){for(const _0x46d4b7 of this[_0x223834(0xc2)][_0x223834(0xa6)]){try{_0x46d4b7[_0x223834(0xe9)](0x3e9,_0x223834(0xad));}catch(_0x1c3980){}}this[_0x223834(0xc2)]['close']();}if(this['_redisSubscriber'])try{this['_redisSubscriber'][_0x223834(0xd6)](),this['_redisSubscriber']['quit']();}catch(_0xc06c44){}if(this['_ownPublisher']&&this['_redisPublisher'])try{this['_redisPublisher']['quit']();}catch(_0x14fd87){}this['_subscriptions']['clear'](),this['_initialized']=![],this['_logger'][_0x223834(0xd8)]({'event':_0x223834(0xa7),'mode':this[_0x223834(0xbc)]},_0x223834(0xb4)+this['_mode']+'\x20shut\x20down');}['_setupUpgradeAuth'](_0x25569e){const _0x546b5e=a0_0x1a64f2,_0x47bb9a={'WGEZE':'/ws','pWnnT':_0x546b5e(0x114),'lJtSk':'x-api-key','jixcA':function(_0x2acdf2,_0x2f0f10){return _0x2acdf2!==_0x2f0f10;},'hvkJM':_0x546b5e(0xc6)},_0x3b4223=_0x25569e['listeners'](_0x47bb9a['hvkJM'])[_0x546b5e(0xdd)]();_0x25569e[_0x546b5e(0xdf)]('upgrade'),_0x25569e['on'](_0x47bb9a['hvkJM'],(_0x4e72ec,_0xf378f,_0x2b054e)=>{const _0x531808=_0x546b5e,_0xda9faa={'zljci':_0x531808(0xe5)};if(!_0x4e72ec['url']||!_0x4e72ec['url']['startsWith'](_0x47bb9a['WGEZE'])){for(const _0x41061f of _0x3b4223){_0x41061f[_0x531808(0xf9)](_0x25569e,_0x4e72ec,_0xf378f,_0x2b054e);}return;}if(this['_options']['apiKey']){const _0x1e9f9b=new URL(_0x4e72ec['url'],_0x531808(0xb6)+(_0x4e72ec[_0x531808(0xec)]['host']||_0x47bb9a['pWnnT'])),_0x2fbb45=_0x1e9f9b[_0x531808(0x116)][_0x531808(0x10d)]('x-api-key')||_0x4e72ec[_0x531808(0xec)][_0x47bb9a[_0x531808(0xed)]];if(!_0x2fbb45||_0x47bb9a['jixcA'](_0x2fbb45,this[_0x531808(0xd1)][_0x531808(0xb7)])){_0xf378f['write']('HTTP/1.1\x20401\x20Unauthorized\x0d\x0a\x0d\x0a'),_0xf378f[_0x531808(0xfe)]();return;}}this[_0x531808(0xc2)][_0x531808(0xee)](_0x4e72ec,_0xf378f,_0x2b054e,_0x52faf8=>{const _0x2d0ad6=_0x531808;this[_0x2d0ad6(0xc2)][_0x2d0ad6(0xc5)](_0xda9faa[_0x2d0ad6(0xa2)],_0x52faf8,_0x4e72ec);});});}['_handleConnection'](_0x244f66,_0x1e3412){const _0x40f255=a0_0x1a64f2,_0x77cd80={'raIUX':_0x40f255(0xda),'iZcpx':_0x40f255(0x117),'DuqMW':'pong','GRiux':'error'};_0x244f66['isAlive']=!![],_0x244f66[_0x40f255(0xa0)]=new Set();const _0x5794e9=_0x1e3412['headers'][_0x77cd80['raIUX']]||_0x1e3412[_0x40f255(0xd9)]['remoteAddress'];this[_0x40f255(0xe0)]['info']({'event':_0x77cd80['iZcpx'],'ip':_0x5794e9},'Live\x20Sync\x20client\x20connected\x20from\x20'+_0x5794e9),_0x244f66['on'](_0x77cd80['DuqMW'],()=>{_0x244f66['isAlive']=!![];}),_0x244f66['on']('message',_0x4568c7=>{const _0x1883f5=_0x40f255;try{const _0x357d37=JSON['parse'](_0x4568c7['toString']());this['_handleClientMessage'](_0x244f66,_0x357d37);}catch(_0x228932){this[_0x1883f5(0xbd)](_0x244f66,{'type':'error','message':_0x1883f5(0xfd)});}}),_0x244f66['on'](_0x40f255(0xe9),()=>{const _0x78e8e6=_0x40f255;this[_0x78e8e6(0xb9)](_0x244f66),this[_0x78e8e6(0xe0)]['debug']({'event':_0x78e8e6(0xf1),'ip':_0x5794e9},'Live\x20Sync\x20client\x20disconnected:\x20'+_0x5794e9);}),_0x244f66['on'](_0x77cd80['GRiux'],_0x1c1918=>{const _0x30378b=_0x40f255;this[_0x30378b(0xe0)]['warn']({'event':'livesync_client_error','error':_0x1c1918[_0x30378b(0xc7)]},_0x30378b(0xd0)+_0x1c1918['message']),this['_removeClientFromAllChannels'](_0x244f66);});}['_handleClientMessage'](_0x5e3ef4,_0x5ed5c2){const _0x17b60a=a0_0x1a64f2,_0x404c3e={'MylwA':'unsubscribe','IVhPy':_0x17b60a(0xb2)};switch(_0x5ed5c2['type']){case'subscribe':this['_handleSubscribe'](_0x5e3ef4,_0x5ed5c2['channels']);break;case _0x404c3e['MylwA']:this['_handleUnsubscribe'](_0x5e3ef4,_0x5ed5c2['channels']);break;case _0x17b60a(0x11a):_0x5e3ef4[_0x17b60a(0xf3)]=!![];break;default:this[_0x17b60a(0xbd)](_0x5e3ef4,{'type':_0x404c3e[_0x17b60a(0xa4)],'message':_0x17b60a(0xe3)+_0x5ed5c2['type']});}}['_handleSubscribe'](_0x90700c,_0x51f084){const _0x56498c=a0_0x1a64f2,_0x59e5f2={'KaTdi':function(_0x14bcf5,_0x3aa800){return _0x14bcf5===_0x3aa800;},'PWUOn':function(_0x3d5e1c,_0x117667){return _0x3d5e1c!==_0x117667;},'GHXvD':'subscribed','LLDjq':_0x56498c(0xbe)};if(!Array['isArray'](_0x51f084)||_0x59e5f2['KaTdi'](_0x51f084['length'],0x0)){this[_0x56498c(0xbd)](_0x90700c,{'type':'error','message':'channels\x20must\x20be\x20a\x20non-empty\x20array'});return;}const _0x23ba8e=[];for(const _0x47ebf6 of _0x51f084){if(_0x59e5f2['PWUOn'](typeof _0x47ebf6,'string')||!_0x47ebf6[_0x56498c(0x10c)](':'))continue;!this[_0x56498c(0xb1)][_0x56498c(0x9d)](_0x47ebf6)&&this[_0x56498c(0xb1)]['set'](_0x47ebf6,new Set()),this[_0x56498c(0xb1)]['get'](_0x47ebf6)['add'](_0x90700c),_0x90700c['subscribedChannels']['add'](_0x47ebf6),_0x23ba8e['push'](_0x47ebf6);}_0x23ba8e['length']>0x0&&(this[_0x56498c(0xbd)](_0x90700c,{'type':_0x59e5f2[_0x56498c(0xc4)],'channels':_0x23ba8e,'timestamp':new Date()['toISOString']()}),this[_0x56498c(0xe0)][_0x56498c(0xa9)]({'event':_0x59e5f2['LLDjq'],'channels':_0x23ba8e},_0x56498c(0x108)+_0x23ba8e['join'](',\x20')));}[a0_0x1a64f2(0x101)](_0x4b0571,_0x5ddccd){const _0x3096f4=a0_0x1a64f2,_0x9289c={'iyqFc':function(_0x511aa3,_0x10498b){return _0x511aa3===_0x10498b;}};if(!Array['isArray'](_0x5ddccd))return;const _0x2012db=[];for(const _0x455934 of _0x5ddccd){this[_0x3096f4(0xb1)][_0x3096f4(0x9d)](_0x455934)&&(this[_0x3096f4(0xb1)]['get'](_0x455934)['delete'](_0x4b0571),_0x9289c['iyqFc'](this[_0x3096f4(0xb1)][_0x3096f4(0x10d)](_0x455934)[_0x3096f4(0x103)],0x0)&&this[_0x3096f4(0xb1)]['delete'](_0x455934)),_0x4b0571['subscribedChannels'][_0x3096f4(0xf2)](_0x455934),_0x2012db['push'](_0x455934);}_0x2012db[_0x3096f4(0xac)]>0x0&&this[_0x3096f4(0xbd)](_0x4b0571,{'type':_0x3096f4(0xb3),'channels':_0x2012db,'timestamp':new Date()[_0x3096f4(0xa8)]()});}['_removeClientFromAllChannels'](_0x5b7b6f){const _0x5e2ac8=a0_0x1a64f2,_0x4ec9c9={'dFsAx':function(_0x367ac5,_0x6b3c4f){return _0x367ac5===_0x6b3c4f;}};if(!_0x5b7b6f[_0x5e2ac8(0xa0)])return;for(const _0x236702 of _0x5b7b6f['subscribedChannels']){this['_subscriptions'][_0x5e2ac8(0x9d)](_0x236702)&&(this['_subscriptions']['get'](_0x236702)[_0x5e2ac8(0xf2)](_0x5b7b6f),_0x4ec9c9['dFsAx'](this['_subscriptions'][_0x5e2ac8(0x10d)](_0x236702)['size'],0x0)&&this['_subscriptions']['delete'](_0x236702));}_0x5b7b6f['subscribedChannels']['clear']();}[a0_0x1a64f2(0xbd)](_0x388ee9,_0xf0b958){const _0x3887c6=a0_0x1a64f2;if(_0x388ee9[_0x3887c6(0x109)]===0x1)try{_0x388ee9[_0x3887c6(0xaa)](JSON[_0x3887c6(0xea)](_0xf0b958));}catch(_0x14d4e0){}}['_startHeartbeat'](_0x429a02){const _0x394ed5={'yZtCV':'ping'};this['_heartbeatTimer']=setInterval(()=>{const _0xa98141=a0_0x1038;if(!this[_0xa98141(0xc2)])return;for(const _0x32c56e of this[_0xa98141(0xc2)][_0xa98141(0xa6)]){if(!_0x32c56e[_0xa98141(0xf3)]){this['_removeClientFromAllChannels'](_0x32c56e),_0x32c56e['terminate']();continue;}_0x32c56e['isAlive']=![],this['_sendToClient'](_0x32c56e,{'type':_0x394ed5[_0xa98141(0x102)],'timestamp':new Date()['toISOString']()});try{_0x32c56e[_0xa98141(0xd2)]();}catch(_0x57a128){}}},_0x429a02*0x3e8);}['_setupRedisPublisher'](){const _0x1e6367=a0_0x1a64f2,_0x2c07fc={'KQJiI':'livesync_redis_publisher_failed','agzMN':'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync','Pzjmf':_0x1e6367(0xf5),'PziQe':function(_0x549859,_0x486b6a,_0x36dfbd){return _0x549859(_0x486b6a,_0x36dfbd);}};this['_ownPublisher']=![];try{try{const _0x4d1f28=require(_0x2c07fc['Pzjmf']);this[_0x1e6367(0xd5)]=_0x4d1f28['getClient']?_0x4d1f28['getClient']():null;}catch(_0x242fa6){this['_redisPublisher']=null;}if(!this[_0x1e6367(0xd5)]){const _0x3f2f37=require(_0x1e6367(0x10b)),_0x109076={'host':process['env'][_0x1e6367(0xf8)]||'127.0.0.1','port':parseInt(process[_0x1e6367(0x10a)][_0x1e6367(0xbb)],0xa)||0x18eb,'password':process[_0x1e6367(0x10a)][_0x1e6367(0x9a)]||undefined,'db':_0x2c07fc['PziQe'](parseInt,process[_0x1e6367(0x10a)][_0x1e6367(0x110)],0xa)||0x0,'lazyConnect':!![]};this[_0x1e6367(0xd5)]=new _0x3f2f37(_0x109076),this['_ownPublisher']=!![],this[_0x1e6367(0xd5)][_0x1e6367(0xc3)]()['catch'](()=>{const _0x2e069a=_0x1e6367;this['_logger'][_0x2e069a(0xab)]({'event':_0x2c07fc[_0x2e069a(0xff)]},_0x2c07fc['agzMN']),this['_redisPublisher']=null;});}}catch(_0x261ab2){this['_logger'][_0x1e6367(0xab)]({'event':'livesync_redis_unavailable','error':_0x261ab2[_0x1e6367(0xc7)]},'Redis\x20not\x20available\x20for\x20Live\x20Sync\x20publisher:\x20'+_0x261ab2['message']);}}['_setupRedis'](){const _0x464466=a0_0x1a64f2,_0x1150fa={'NkDRN':'livesync_redis_publisher_failed','zENFF':'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync','qQfqO':_0x464466(0xc7),'pNOdN':_0x464466(0x115),'fiOoi':'ioredis','zohbh':'livesync_redis_unavailable'};this['_ownPublisher']=![];try{const _0x128e7c=require(_0x1150fa[_0x464466(0xcb)]),_0x5838cf={'host':process[_0x464466(0x10a)]['REDIS_HOST']||_0x464466(0x100),'port':parseInt(process['env'][_0x464466(0xbb)],0xa)||0x18eb,'password':process['env']['REDIS_PASSWORD']||undefined,'db':parseInt(process[_0x464466(0x10a)][_0x464466(0x110)],0xa)||0x0,'lazyConnect':!![]};try{const _0x2855a8=require('../../utils/redis-client');this['_redisPublisher']=_0x2855a8['getClient']?_0x2855a8[_0x464466(0xf0)]():null;}catch(_0x136ac8){this['_redisPublisher']=null;}!this['_redisPublisher']&&(this[_0x464466(0xd5)]=new _0x128e7c(_0x5838cf),this['_ownPublisher']=!![],this[_0x464466(0xd5)][_0x464466(0xc3)]()[_0x464466(0x10f)](()=>{const _0x6bc6af=_0x464466;this['_logger'][_0x6bc6af(0xab)]({'event':_0x1150fa[_0x6bc6af(0xde)]},_0x1150fa['zENFF']),this['_redisPublisher']=null;})),this[_0x464466(0x113)]=new _0x128e7c(_0x5838cf),this['_redisSubscriber'][_0x464466(0xc3)]()['then'](()=>{const _0x440e68=_0x464466;this[_0x440e68(0x113)][_0x440e68(0xf7)](REDIS_CHANNEL_PREFIX+'broadcast',_0x7df8d6=>{const _0x3c847e=_0x440e68;if(_0x7df8d6){this[_0x3c847e(0xe0)]['error']({'event':'livesync_redis_subscribe_error','error':_0x7df8d6['message']},'Failed\x20to\x20subscribe\x20to\x20Redis\x20channel:\x20'+_0x7df8d6['message']);return;}this[_0x3c847e(0xe0)][_0x3c847e(0xd8)]({'event':_0x3c847e(0x118)},_0x3c847e(0x9c));}),this['_redisSubscriber']['on'](_0x1150fa['qQfqO'],(_0x2ab011,_0x4fd448)=>{const _0x9d0e78=_0x440e68;try{const _0x358baf=JSON['parse'](_0x4fd448);if(_0x358baf[_0x9d0e78(0xc8)]===this['_workerId'])return;this[_0x9d0e78(0xcf)](_0x358baf['channel'],_0x358baf['message']);}catch(_0x165183){}});})['catch'](()=>{const _0x59d5b0=_0x464466;this['_logger']['warn']({'event':'livesync_redis_subscriber_failed'},_0x1150fa[_0x59d5b0(0xe6)]),this[_0x59d5b0(0x113)]=null;});}catch(_0xc40b24){this['_logger'][_0x464466(0xab)]({'event':_0x1150fa[_0x464466(0xe4)],'error':_0xc40b24['message']},_0x464466(0xbf)+_0xc40b24[_0x464466(0xc7)]);}}['_broadcastLocal'](_0x330608,_0x160a98){const _0x5025c4=a0_0x1a64f2,_0xcb44a3={'aeBQF':'data_change','EFQHy':function(_0x9e41b4,_0x4ad6eb){return _0x9e41b4===_0x4ad6eb;}};if(!this['_wss'])return;const _0x1cf759=JSON['stringify']({'type':_0xcb44a3[_0x5025c4(0x99)],'channel':_0x330608,'action':_0x160a98[_0x5025c4(0xcd)],'data':_0x160a98[_0x5025c4(0xf4)],'requestId':_0x160a98['requestId']||null,'timestamp':new Date()['toISOString']()}),[_0x364c9c]=_0x330608['split'](':');for(const [_0x5ae672,_0x2a5c14]of this[_0x5025c4(0xb1)]){const _0x30d284=_0xcb44a3['EFQHy'](_0x5ae672,_0x330608),_0x572c38=_0xcb44a3['EFQHy'](_0x5ae672,_0x364c9c+':*');if(_0x30d284||_0x572c38)for(const _0x16d902 of _0x2a5c14){if(_0x16d902[_0x5025c4(0x109)]===0x1)try{_0x16d902['send'](_0x1cf759);}catch(_0x28c243){}}}}}module[a0_0x1a64f2(0x9b)]=WebSocketBroadcaster;
1
+ 'use strict';const a0_0x372f5e=a0_0x23f3;function a0_0x23f3(_0x31038b,_0x2e11e8){_0x31038b=_0x31038b-0xfc;const _0x22ca9b=a0_0x22ca();let _0x23f38b=_0x22ca9b[_0x31038b];if(a0_0x23f3['gLlujm']===undefined){var _0x123266=function(_0x40a193){const _0x595f1a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2bd3da='',_0x200f1b='';for(let _0xe884a5=0x0,_0x25c1d6,_0x41b8ca,_0x384871=0x0;_0x41b8ca=_0x40a193['charAt'](_0x384871++);~_0x41b8ca&&(_0x25c1d6=_0xe884a5%0x4?_0x25c1d6*0x40+_0x41b8ca:_0x41b8ca,_0xe884a5++%0x4)?_0x2bd3da+=String['fromCharCode'](0xff&_0x25c1d6>>(-0x2*_0xe884a5&0x6)):0x0){_0x41b8ca=_0x595f1a['indexOf'](_0x41b8ca);}for(let _0x7fd0ae=0x0,_0x3b52f9=_0x2bd3da['length'];_0x7fd0ae<_0x3b52f9;_0x7fd0ae++){_0x200f1b+='%'+('00'+_0x2bd3da['charCodeAt'](_0x7fd0ae)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x200f1b);};a0_0x23f3['hfDxME']=_0x123266,a0_0x23f3['eapntQ']={},a0_0x23f3['gLlujm']=!![];}const _0x37b37b=_0x22ca9b[0x0],_0x4d25d9=_0x31038b+_0x37b37b,_0x38a45d=a0_0x23f3['eapntQ'][_0x4d25d9];return!_0x38a45d?(_0x23f38b=a0_0x23f3['hfDxME'](_0x23f38b),a0_0x23f3['eapntQ'][_0x4d25d9]=_0x23f38b):_0x23f38b=_0x38a45d,_0x23f38b;}(function(_0x5d72bd,_0x461963){const _0x2a8ffd=a0_0x23f3,_0x145ed9=_0x5d72bd();while(!![]){try{const _0xdc1526=parseInt(_0x2a8ffd(0x13d))/0x1*(parseInt(_0x2a8ffd(0x117))/0x2)+parseInt(_0x2a8ffd(0x131))/0x3+-parseInt(_0x2a8ffd(0x151))/0x4+-parseInt(_0x2a8ffd(0x13e))/0x5*(parseInt(_0x2a8ffd(0x10d))/0x6)+-parseInt(_0x2a8ffd(0x120))/0x7*(parseInt(_0x2a8ffd(0x139))/0x8)+parseInt(_0x2a8ffd(0x167))/0x9*(parseInt(_0x2a8ffd(0x141))/0xa)+parseInt(_0x2a8ffd(0x10b))/0xb*(-parseInt(_0x2a8ffd(0x181))/0xc);if(_0xdc1526===_0x461963)break;else _0x145ed9['push'](_0x145ed9['shift']());}catch(_0x41b221){_0x145ed9['push'](_0x145ed9['shift']());}}}(a0_0x22ca,0x5143a));function a0_0x22ca(){const _0x1b6d88=['C2H1DgrVD24','CMvZDgzVCMDLoMXPDMvZEw5JoG','CMvTB3zLqwXStgLZDgvUzxjZ','ChvIBgLZAgvY','x3b1yMXPC2HuB1jLzgLZ','EvH5zvO','AgvHzgvYCW','x2HHBMrSzvvUC3vIC2nYAwjL','Bg9JywXOB3n0','uKvesvnFue9sva','nhW4Fdn8oxW2Fdj8mxW1Fdb8nW','t3PfwwS','Bg9Nz2vY','BgL2zxn5BMnFCMvKAxnFDw5HDMfPBgfIBgu','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLza','Dg9ju09tDhjPBMC','C2vUza','y29UBMvJDgLVBG','y2f0y2G','CwPyuK8','DxjS','nJa3mdC2nfvXCwL6Aq','v2vIu29JA2v0ihnLCNzLCIbLCNjVCJOG','BgL2zxn5BMnFyNjVywrJyxn0','Dg9Osha','y2XLyxi','uKvesvnFrei','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','vLPzwu4','x293BLb1yMXPC2HLCG','BgL2zxn5BMnFy2XPzw50x2vYCM9Y','x3n0yxj0sgvHCNrIzwf0','Aw9YzwrPCW','z2v0q2XPzw50','AKrbDLC','tgL2zsbtEw5Jia','zgf0yq','Dg9tDhjPBMC','Cg9UzW','sfruuc8XlJeGndaXifvUyxv0Ag9YAxPLza0kdqO','x2XVz2DLCG','x3nLDhvWuMvKAxm','D3jPDgu','ChvZAa','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','mtf3CwDJweS','BwvZC2fNzq','mtj5wxzgA0G','D2fYBG','z2v0','x21Vzgu','z2rnsM4','lI4VlI4VDxrPBhmVBg9Nz2vY','BgL2zxn5BMnFChvIBgLZAgvYx2LUAxrPywXPEMvK','C3rYAw5N','ywn0Aw9U','zgvSzxrL','nKPtv1vAtq','x3nLBMruB0nSAwvUDa','DNzfEvm','zgvIDwC','zxjYB3i','C3vIC2nYAwjLzenOyw5UzwXZ','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9KztOG','y2XVC2u','x2LUAxrPywXPEMvK','mtrIyKv3AMq','CgLUzW','yxbPs2v5','AgfZ','CxvPDa','tejoqMu','DM9HD3a','x2HHBMrSzunVBM5Ly3rPB24','v2v5whO','x2HHBMrSzvn1yNnJCMLIzq','y2XPzw50CW','AxnbCNjHEq','rNzyz2y','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGC3vIC2nYAwjLCIbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9Kzq','yNvkwxm','tgL2zsbtEw5Jihb1yMXPC2HLCIbPBML0AwfSAxPLzcaOuMvKAxmTB25SEsWGBM8Gv2vIu29JA2v0ihnLCNzLCIK','CMvTB3rLqwrKCMvZCW','mtm3mtm2ouzUtKHVzW','AxnjBML0AwfSAxPLza','mti3lJaUmc4X','ueDuzLe','x3DVCMTLCKLK','ihrVia','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5Jihb1yMXPC2HLCJOG','x29WDgLVBNm','mZeZmtKYtxPnt015','l3DZ','wxztBgS','AxnbBgL2zq','mtuYndu1B1zpC0Hc','nta5mJu1Dfj1BwP1','C3bSAxq','AMfNDKq','otuYmJbWEg9XvK8','Aw5PDgLHBgL6zq','y2HHBM5LBhm','Aw5MBW','C2vHCMnOugfYyw1Z','x3jLzgLZuhvIBgLZAgvY','zw52','AgfUzgXLvxbNCMfKzq','Ec1MB3j3yxjKzwqTzM9Y','Aw5JBhvKzxm','y29UBMvJDa','uxDNsMS','C2L6zq','zw1PDa','D29YA2vYswq','x2HLyxj0yMvHDfrPBwvY','mty1mdy1mLb5u01gEa','x3DZCW','x3n1yNnJCMLWDgLVBNm','BgvUz3rO','s3DPAKS','q2XPzw50ihn1yNnJCMLIzwqGDg86ia','x2HHBMrSzunSAwvUDe1LC3nHz2u','zgvZDhjVEq','AM9PBG','rgLnu2O','BgL2zxn5BMnFy2XPzw50x2nVBM5Ly3rLza','x3jLzgLZu3vIC2nYAwjLCG','zgf0yv9JAgfUz2u','C3rYAw5NAwz5','yNjVywrJyxn0','x3nLDhvWvxbNCMfKzuf1DgG','sw52ywXPzcbku09oig1LC3nHz2u','CMvHzhLtDgf0zq','Dw5ZDwjZy3jPyMvK','C3PfqNC','vvPXvNK','mxWYFdr8m3W1Fdz8ma','ntG1sKfuDwXp','vvvyuxi','teLwrv9twu5dx0HfqvjuqKvbvf9jtLrfuLzbta','rMzxDLa','DxbNCMfKzq'];a0_0x22ca=function(){return _0x1b6d88;};return a0_0x22ca();}const {WebSocketServer}=require('ws'),{URL}=require(a0_0x372f5e(0x180)),REDIS_CHANNEL_PREFIX=a0_0x372f5e(0x16d);class WebSocketBroadcaster{constructor(){const _0x2eacf8=a0_0x372f5e,_0x307427=_0x2eacf8(0x176)[_0x2eacf8(0x13f)]('|');let _0x57c5d0=0x0;while(!![]){switch(_0x307427[_0x57c5d0++]){case'0':this[_0x2eacf8(0x15c)]=null;continue;case'1':this[_0x2eacf8(0x150)]=null;continue;case'2':this['_subscriptions']=new Map();continue;case'3':this[_0x2eacf8(0x110)]=null;continue;case'4':this[_0x2eacf8(0x152)]=null;continue;case'5':this[_0x2eacf8(0x146)]=null;continue;case'6':this[_0x2eacf8(0x106)]=console;continue;case'7':this[_0x2eacf8(0x135)]=process['pid'];continue;case'8':this[_0x2eacf8(0x11f)]=![];continue;case'9':this[_0x2eacf8(0x138)]={};continue;}break;}}[a0_0x372f5e(0x142)](_0xab9ad,_0x1bcaab={}){const _0xb48989=a0_0x372f5e,_0x33c80a={'mODFv':'livesync_wss_error','vESil':'full','cRbUX':function(_0x3cc4d6,_0x359477){return _0x3cc4d6(_0x359477);},'KwijK':_0xb48989(0x112),'IeHNg':function(_0x23c743,_0x55b581,_0x574a0d){return _0x23c743(_0x55b581,_0x574a0d);},'UswLz':_0xb48989(0x13a),'rpmIq':'error','QwgJk':'livesync_initialized'};if(this['_initialized'])return;this[_0xb48989(0x138)]=_0x1bcaab,this[_0xb48989(0x110)]=_0x33c80a['vESil'];try{this['_logger']=_0x33c80a['cRbUX'](require,_0x33c80a[_0xb48989(0x155)])[_0xb48989(0x178)]||console;}catch(_0x378c3f){this[_0xb48989(0x106)]=console;}const _0x44ca13=_0x33c80a['IeHNg'](parseInt,process['env'][_0xb48989(0x169)],0xa)||0x1e;this['_wss']=new WebSocketServer({'server':_0xab9ad,'path':_0x33c80a['UswLz']}),this[_0xb48989(0x160)](_0xab9ad),this[_0xb48989(0x152)]['on'](_0xb48989(0x17d),(_0x554b64,_0x3e8020)=>this['_handleConnection'](_0x554b64,_0x3e8020)),this['_wss']['on'](_0x33c80a['rpmIq'],_0x55a804=>{const _0x5c11d7=_0xb48989;this['_logger'][_0x5c11d7(0x11b)]({'event':_0x33c80a['mODFv'],'error':_0x55a804[_0x5c11d7(0x10c)]},_0x5c11d7(0x182)+_0x55a804['message']);}),this['_startHeartbeat'](_0x44ca13),this[_0xb48989(0x107)](),this[_0xb48989(0x11f)]=!![],this[_0xb48989(0x106)]['info']({'event':_0x33c80a[_0xb48989(0x14c)],'mode':'full','path':_0x33c80a['UswLz'],'heartbeat':_0x44ca13+'s'},'Live\x20Sync\x20server\x20initialized\x20at\x20/ws\x20(heartbeat:\x20'+_0x44ca13+'s)');}['initializeAsPublisher'](_0x3a8933={}){const _0x831b24=a0_0x372f5e,_0x246272={'LZSpR':_0x831b24(0x113),'jsnTy':'publisher'},_0x523df0=_0x831b24(0x166)['split']('|');let _0x1029c8=0x0;while(!![]){switch(_0x523df0[_0x1029c8++]){case'0':this['_logger']['info']({'event':_0x246272['LZSpR'],'mode':_0x246272['jsnTy']},_0x831b24(0x12f));continue;case'1':if(this['_initialized'])return;continue;case'2':this['_options']=_0x3a8933;continue;case'3':try{this['_logger']=require(_0x831b24(0x112))[_0x831b24(0x178)]||console;}catch(_0x593bfb){this['_logger']=console;}continue;case'4':this[_0x831b24(0x110)]=_0x831b24(0x16f);continue;case'5':this['_setupRedisPublisher']();continue;case'6':this[_0x831b24(0x11f)]=!![];continue;}break;}}[a0_0x372f5e(0x132)](){return this['_initialized'];}['broadcast'](_0x1200d0,_0x2ded82){const _0x182024=a0_0x372f5e,_0x1bc5f9={'VZYYN':'publisher','sxyRZ':_0x182024(0x15d),'jagvD':function(_0x5322e5,_0x1d4ba9){return _0x5322e5===_0x1d4ba9;},'PGTfQ':function(_0x3d102f,_0xde4285){return _0x3d102f===_0xde4285;}};if(!this['_initialized'])return;if(this[_0x182024(0x110)]===_0x1bc5f9[_0x182024(0x188)]){this[_0x182024(0x170)](_0x1200d0,_0x2ded82);return;}const _0x196d9b=JSON[_0x182024(0x15e)]({'type':_0x1bc5f9['sxyRZ'],'channel':_0x1200d0,'action':_0x2ded82[_0x182024(0x115)],'data':_0x2ded82[_0x182024(0x102)],'requestId':_0x2ded82['requestId']||null,'timestamp':new Date()['toISOString']()}),[_0x4961e6]=_0x1200d0['split'](':');let _0x250abd=0x0;for(const [_0x5a94e8,_0x470869]of this[_0x182024(0x153)]){const _0x3aea0c=_0x1bc5f9[_0x182024(0x140)](_0x5a94e8,_0x1200d0),_0x14419d=_0x1bc5f9[_0x182024(0x134)](_0x5a94e8,_0x4961e6+':*');if(_0x3aea0c||_0x14419d)for(const _0x20f206 of _0x470869){if(_0x20f206['readyState']===0x1)try{_0x20f206['send'](_0x196d9b),_0x250abd++;}catch(_0x2fc231){}}}_0x250abd>0x0&&this[_0x182024(0x106)]['debug']({'event':_0x182024(0x183),'channel':_0x1200d0,'action':_0x2ded82[_0x182024(0x115)],'clients':_0x250abd},'Broadcast\x20'+_0x2ded82['action']+'\x20on\x20'+_0x1200d0+_0x182024(0x136)+_0x250abd+'\x20client(s)');}[a0_0x372f5e(0x170)](_0x421db4,_0x38100b){const _0x443d76=a0_0x372f5e;if(!this['_redisPublisher'])return;const _0x583a97=JSON['stringify']({'channel':_0x421db4,'message':_0x38100b,'workerId':this[_0x443d76(0x135)]});this[_0x443d76(0x146)]['publish'](REDIS_CHANNEL_PREFIX+_0x443d76(0x15f),_0x583a97)['catch'](()=>{});}[a0_0x372f5e(0x16c)](){const _0x446d4d=a0_0x372f5e,_0x4e4a46={'gdMJn':function(_0x583e08,_0x28cd0c){return _0x583e08(_0x28cd0c);},'iNxZS':'livesync_shutdown'};if(!this[_0x446d4d(0x11f)])return;this[_0x446d4d(0x150)]&&(_0x4e4a46[_0x446d4d(0x111)](clearInterval,this[_0x446d4d(0x150)]),this[_0x446d4d(0x150)]=null);if(this['_wss']){for(const _0x124f80 of this['_wss']['clients']){try{_0x124f80['close'](0x3e9,'Server\x20shutting\x20down');}catch(_0x1be8a4){}}this['_wss'][_0x446d4d(0x11e)]();}if(this[_0x446d4d(0x15c)])try{this['_redisSubscriber']['unsubscribe'](),this[_0x446d4d(0x15c)]['quit']();}catch(_0x3916ec){}if(this['_ownPublisher']&&this['_redisPublisher'])try{this[_0x446d4d(0x146)][_0x446d4d(0x124)]();}catch(_0x23f4a2){}this[_0x446d4d(0x153)]['clear'](),this[_0x446d4d(0x11f)]=![],this['_logger'][_0x446d4d(0x144)]({'event':_0x4e4a46['iNxZS'],'mode':this[_0x446d4d(0x110)]},_0x446d4d(0x101)+this['_mode']+'\x20shut\x20down');}['_setupUpgradeAuth'](_0x39f191){const _0x57de52=a0_0x372f5e,_0x1ad51d={'YCVKW':function(_0x289b67,_0xee3ed2){return _0x289b67!==_0xee3ed2;},'qjXRO':'upgrade'},_0x1cab2f=_0x39f191['listeners'](_0x1ad51d[_0x57de52(0x17f)])['slice']();_0x39f191[_0x57de52(0x16e)](_0x57de52(0x16b)),_0x39f191['on'](_0x1ad51d[_0x57de52(0x17f)],(_0x3b1054,_0x2df1a5,_0x149738)=>{const _0x5c1a69=_0x57de52;if(!_0x3b1054['url']||!_0x3b1054[_0x5c1a69(0x180)]['startsWith']('/ws')){for(const _0x53f7e5 of _0x1cab2f){_0x53f7e5['call'](_0x39f191,_0x3b1054,_0x2df1a5,_0x149738);}return;}if(this[_0x5c1a69(0x138)]['apiKey']){const _0x528fef=new URL(_0x3b1054['url'],'http://'+(_0x3b1054[_0x5c1a69(0x172)]['host']||_0x5c1a69(0x174))),_0x5f035a=_0x528fef[_0x5c1a69(0x145)][_0x5c1a69(0x10f)]('x-api-key')||_0x3b1054[_0x5c1a69(0x172)]['x-api-key'];if(!_0x5f035a||_0x1ad51d['YCVKW'](_0x5f035a,this[_0x5c1a69(0x138)][_0x5c1a69(0x122)])){_0x2df1a5[_0x5c1a69(0x108)](_0x5c1a69(0x105)),_0x2df1a5[_0x5c1a69(0x158)]();return;}}this['_wss'][_0x5c1a69(0x148)](_0x3b1054,_0x2df1a5,_0x149738,_0x8bd5a2=>{const _0x2ce7ec=_0x5c1a69;this['_wss'][_0x2ce7ec(0x14e)]('connection',_0x8bd5a2,_0x3b1054);});});}[a0_0x372f5e(0x127)](_0x416d16,_0x492cf1){const _0x176d71=a0_0x372f5e,_0x177152={'voawp':'error','xkGcM':_0x176d71(0xfc),'YWPUC':'message','OzEYk':_0x176d71(0x11e)};_0x416d16['isAlive']=!![],_0x416d16[_0x176d71(0x11c)]=new Set();const _0x910abf=_0x492cf1['headers'][_0x176d71(0x149)]||_0x492cf1['socket'][_0x176d71(0x130)];this['_logger'][_0x176d71(0x144)]({'event':_0x176d71(0x15b),'ip':_0x910abf},'Live\x20Sync\x20client\x20connected\x20from\x20'+_0x910abf),_0x416d16['on'](_0x176d71(0x104),()=>{_0x416d16['isAlive']=!![];}),_0x416d16['on'](_0x177152['YWPUC'],_0xbaf3a7=>{const _0xf2cc17=_0x176d71;try{const _0x1ae148=JSON['parse'](_0xbaf3a7[_0xf2cc17(0x103)]());this['_handleClientMessage'](_0x416d16,_0x1ae148);}catch(_0x32b23d){this[_0xf2cc17(0x118)](_0x416d16,{'type':_0x177152[_0xf2cc17(0x126)],'message':_0xf2cc17(0x161)});}}),_0x416d16['on'](_0x177152[_0x176d71(0x177)],()=>{const _0x30935d=_0x176d71;this['_removeClientFromAllChannels'](_0x416d16),this['_logger'][_0x30935d(0x11a)]({'event':'livesync_client_disconnected','ip':_0x910abf},'Live\x20Sync\x20client\x20disconnected:\x20'+_0x910abf);}),_0x416d16['on'](_0x177152['voawp'],_0x4bf295=>{const _0x42849f=_0x176d71;this['_logger'][_0x42849f(0x10e)]({'event':_0x177152['xkGcM'],'error':_0x4bf295['message']},'WebSocket\x20client\x20error:\x20'+_0x4bf295['message']),this[_0x42849f(0x187)](_0x416d16);});}[a0_0x372f5e(0x157)](_0x4734a9,_0x4f9e64){const _0x198162=a0_0x372f5e,_0x1ca489={'hScjj':'subscribe','DiMSj':'unsubscribe','UkiSa':'pong','sGBqx':_0x198162(0x11b)};switch(_0x4f9e64['type']){case _0x1ca489['hScjj']:this[_0x198162(0x129)](_0x4734a9,_0x4f9e64[_0x198162(0x143)]);break;case _0x1ca489[_0x198162(0x15a)]:this[_0x198162(0x173)](_0x4734a9,_0x4f9e64[_0x198162(0x143)]);break;case _0x1ca489['UkiSa']:_0x4734a9['isAlive']=!![];break;default:this[_0x198162(0x118)](_0x4734a9,{'type':_0x1ca489['sGBqx'],'message':'Unknown\x20message\x20type:\x20'+_0x4f9e64['type']});}}['_handleSubscribe'](_0x57d6cd,_0x26dcd3){const _0x5e2fdc=a0_0x372f5e,_0xab6644={'buJYs':function(_0x5eb06c,_0x477ffe){return _0x5eb06c===_0x477ffe;},'OYNmN':'channels\x20must\x20be\x20a\x20non-empty\x20array','szEBw':_0x5e2fdc(0x114),'yXyeZ':function(_0x57f385,_0xab3609){return _0x57f385>_0xab3609;},'Xkqlz':'subscribed','QoXnT':'livesync_subscribe'};if(!Array['isArray'](_0x26dcd3)||_0xab6644[_0x5e2fdc(0x12e)](_0x26dcd3[_0x5e2fdc(0x154)],0x0)){this[_0x5e2fdc(0x118)](_0x57d6cd,{'type':'error','message':_0xab6644['OYNmN']});return;}const _0x534193=[];for(const _0x2e8db9 of _0x26dcd3){if(typeof _0x2e8db9!==_0xab6644[_0x5e2fdc(0x164)]||!_0x2e8db9[_0x5e2fdc(0x14a)](':'))continue;!this['_subscriptions'][_0x5e2fdc(0x123)](_0x2e8db9)&&this['_subscriptions']['set'](_0x2e8db9,new Set()),this[_0x5e2fdc(0x153)][_0x5e2fdc(0x10f)](_0x2e8db9)['add'](_0x57d6cd),_0x57d6cd['subscribedChannels']['add'](_0x2e8db9),_0x534193[_0x5e2fdc(0x109)](_0x2e8db9);}_0xab6644[_0x5e2fdc(0x171)](_0x534193[_0x5e2fdc(0x154)],0x0)&&(this['_sendToClient'](_0x57d6cd,{'type':_0xab6644['Xkqlz'],'channels':_0x534193,'timestamp':new Date()[_0x5e2fdc(0x17b)]()}),this['_logger']['debug']({'event':_0xab6644['QoXnT'],'channels':_0x534193},_0x5e2fdc(0x156)+_0x534193[_0x5e2fdc(0x159)](',\x20')));}[a0_0x372f5e(0x173)](_0x35a56c,_0x1a2ba0){const _0x9ccc5=a0_0x372f5e;if(!Array[_0x9ccc5(0x12b)](_0x1a2ba0))return;const _0x2913c5=[];for(const _0x47c71c of _0x1a2ba0){this[_0x9ccc5(0x153)][_0x9ccc5(0x123)](_0x47c71c)&&(this['_subscriptions']['get'](_0x47c71c)[_0x9ccc5(0x116)](_0x35a56c),this['_subscriptions'][_0x9ccc5(0x10f)](_0x47c71c)['size']===0x0&&this[_0x9ccc5(0x153)][_0x9ccc5(0x116)](_0x47c71c)),_0x35a56c[_0x9ccc5(0x11c)][_0x9ccc5(0x116)](_0x47c71c),_0x2913c5[_0x9ccc5(0x109)](_0x47c71c);}_0x2913c5[_0x9ccc5(0x154)]>0x0&&this['_sendToClient'](_0x35a56c,{'type':_0x9ccc5(0x163),'channels':_0x2913c5,'timestamp':new Date()['toISOString']()});}['_removeClientFromAllChannels'](_0x4edcd1){const _0x418cdf=a0_0x372f5e,_0x2df7a8={'YvSlk':function(_0x341038,_0x3d2da7){return _0x341038===_0x3d2da7;}};if(!_0x4edcd1[_0x418cdf(0x11c)])return;for(const _0x565952 of _0x4edcd1['subscribedChannels']){this['_subscriptions'][_0x418cdf(0x123)](_0x565952)&&(this[_0x418cdf(0x153)][_0x418cdf(0x10f)](_0x565952)['delete'](_0x4edcd1),_0x2df7a8[_0x418cdf(0x13b)](this['_subscriptions']['get'](_0x565952)[_0x418cdf(0x14d)],0x0)&&this[_0x418cdf(0x153)]['delete'](_0x565952));}_0x4edcd1[_0x418cdf(0x11c)][_0x418cdf(0x185)]();}['_sendToClient'](_0x3142fb,_0x562403){const _0x554fdc=a0_0x372f5e;if(_0x3142fb['readyState']===0x1)try{_0x3142fb[_0x554fdc(0x17c)](JSON[_0x554fdc(0x15e)](_0x562403));}catch(_0x38c932){}}[a0_0x372f5e(0xfd)](_0x551840){const _0x151689=a0_0x372f5e,_0x18f579={'msGCz':_0x151689(0x121),'FvXgf':function(_0x1b4cb7,_0x2e3887,_0x13724a){return _0x1b4cb7(_0x2e3887,_0x13724a);}};this[_0x151689(0x150)]=_0x18f579[_0x151689(0x12c)](setInterval,()=>{const _0x30cbc4=_0x151689;if(!this['_wss'])return;for(const _0x54ef0f of this[_0x30cbc4(0x152)][_0x30cbc4(0x12a)]){if(!_0x54ef0f[_0x30cbc4(0x13c)]){this[_0x30cbc4(0x187)](_0x54ef0f),_0x54ef0f['terminate']();continue;}_0x54ef0f['isAlive']=![],this['_sendToClient'](_0x54ef0f,{'type':_0x18f579['msGCz'],'timestamp':new Date()[_0x30cbc4(0x17b)]()});try{_0x54ef0f[_0x30cbc4(0x121)]();}catch(_0x5b6462){}}},_0x551840*0x3e8);}['_setupRedisPublisher'](){const _0x24dd25=a0_0x372f5e,_0xbcaf5c={'WeyXz':function(_0x355ac0,_0x34e700){return _0x355ac0(_0x34e700);},'yhnUf':'ioredis','LBNBe':_0x24dd25(0x179)};this[_0x24dd25(0x189)]=![];try{try{const _0x389ca1=_0xbcaf5c[_0x24dd25(0x128)](require,_0x24dd25(0x10a));this['_redisPublisher']=_0x389ca1[_0x24dd25(0xff)]?_0x389ca1['getClient']():null;}catch(_0x201a61){this['_redisPublisher']=null;}if(!this['_redisPublisher']){const _0x352b73=require(_0xbcaf5c['yhnUf']),_0x40ed43={'host':process['env']['REDIS_HOST']||'127.0.0.1','port':parseInt(process[_0x24dd25(0x147)][_0x24dd25(0x175)],0xa)||0x18eb,'password':process['env']['REDIS_PASSWORD']||undefined,'db':parseInt(process['env'][_0x24dd25(0x186)],0xa)||0x0,'lazyConnect':!![]};this['_redisPublisher']=new _0x352b73(_0x40ed43),this['_ownPublisher']=!![],this[_0x24dd25(0x146)][_0x24dd25(0x14b)]()[_0x24dd25(0x17e)](()=>{const _0x127fea=_0x24dd25;this[_0x127fea(0x106)]['warn']({'event':'livesync_redis_publisher_failed'},'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync'),this['_redisPublisher']=null;});}}catch(_0x422127){this['_logger'][_0x24dd25(0x10e)]({'event':_0xbcaf5c[_0x24dd25(0x125)],'error':_0x422127['message']},_0x24dd25(0x137)+_0x422127[_0x24dd25(0x10c)]);}}['_setupRedis'](){const _0x138b6e=a0_0x372f5e,_0x16466a={'qgOvR':'livesync_redis_publisher_failed','vvEyS':'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync','FfWvP':function(_0x17e423,_0x45416a){return _0x17e423===_0x45416a;},'UUXQr':function(_0x50f65a,_0x33340c){return _0x50f65a(_0x33340c);},'Nfipr':_0x138b6e(0xfe),'geVwM':function(_0x1c8f1a,_0x2dba0c,_0x3eb95a){return _0x1c8f1a(_0x2dba0c,_0x3eb95a);},'wIMSN':function(_0xad4225,_0x1c09e3,_0x23fc9f){return _0xad4225(_0x1c09e3,_0x23fc9f);},'HjrIz':function(_0x11d7ee,_0x5c1176){return _0x11d7ee(_0x5c1176);},'YwfcU':_0x138b6e(0x10a),'UZqVy':_0x138b6e(0x179)};this[_0x138b6e(0x189)]=![];try{const _0x121f4b=_0x16466a[_0x138b6e(0x168)](require,_0x16466a['Nfipr']),_0x374078={'host':process[_0x138b6e(0x147)]['REDIS_HOST']||_0x138b6e(0x133),'port':_0x16466a['geVwM'](parseInt,process[_0x138b6e(0x147)]['REDIS_PORT'],0xa)||0x18eb,'password':process['env']['REDIS_PASSWORD']||undefined,'db':_0x16466a['wIMSN'](parseInt,process[_0x138b6e(0x147)][_0x138b6e(0x186)],0xa)||0x0,'lazyConnect':!![]};try{const _0x16f94c=_0x16466a['HjrIz'](require,_0x16466a['YwfcU']);this[_0x138b6e(0x146)]=_0x16f94c[_0x138b6e(0xff)]?_0x16f94c[_0x138b6e(0xff)]():null;}catch(_0x5c140d){this['_redisPublisher']=null;}!this[_0x138b6e(0x146)]&&(this[_0x138b6e(0x146)]=new _0x121f4b(_0x374078),this['_ownPublisher']=!![],this[_0x138b6e(0x146)]['connect']()['catch'](()=>{const _0x1952d6=_0x138b6e;this['_logger']['warn']({'event':_0x16466a['qgOvR']},_0x16466a[_0x1952d6(0x119)]),this[_0x1952d6(0x146)]=null;})),this['_redisSubscriber']=new _0x121f4b(_0x374078),this[_0x138b6e(0x15c)]['connect']()['then'](()=>{this['_redisSubscriber']['subscribe'](REDIS_CHANNEL_PREFIX+'broadcast',_0x2de2da=>{const _0x1a9f09=a0_0x23f3;if(_0x2de2da){this[_0x1a9f09(0x106)]['error']({'event':'livesync_redis_subscribe_error','error':_0x2de2da['message']},'Failed\x20to\x20subscribe\x20to\x20Redis\x20channel:\x20'+_0x2de2da['message']);return;}this[_0x1a9f09(0x106)][_0x1a9f09(0x144)]({'event':_0x1a9f09(0x17a)},'Live\x20Sync\x20Redis\x20subscriber\x20active\x20for\x20cluster\x20mode');}),this['_redisSubscriber']['on']('message',(_0x3b0662,_0x50b08e)=>{const _0x589e9c=a0_0x23f3;try{const _0x2496e5=JSON['parse'](_0x50b08e);if(_0x16466a[_0x589e9c(0x16a)](_0x2496e5[_0x589e9c(0x14f)],this[_0x589e9c(0x135)]))return;this['_broadcastLocal'](_0x2496e5['channel'],_0x2496e5['message']);}catch(_0x318863){}});})['catch'](()=>{const _0xa67d2a=_0x138b6e;this['_logger'][_0xa67d2a(0x10e)]({'event':'livesync_redis_subscriber_failed'},_0xa67d2a(0x12d)),this[_0xa67d2a(0x15c)]=null;});}catch(_0x5581f9){this[_0x138b6e(0x106)][_0x138b6e(0x10e)]({'event':_0x16466a[_0x138b6e(0x165)],'error':_0x5581f9['message']},_0x138b6e(0x11d)+_0x5581f9['message']);}}['_broadcastLocal'](_0x466a3d,_0x1c35d6){const _0x48b69f=a0_0x372f5e,_0x4e97fd={'tohHp':function(_0x47e604,_0x4eea46){return _0x47e604===_0x4eea46;},'jDAvW':function(_0x5de882,_0x122378){return _0x5de882||_0x122378;}};if(!this['_wss'])return;const _0x343979=JSON[_0x48b69f(0x15e)]({'type':'data_change','channel':_0x466a3d,'action':_0x1c35d6['action'],'data':_0x1c35d6[_0x48b69f(0x102)],'requestId':_0x1c35d6['requestId']||null,'timestamp':new Date()[_0x48b69f(0x17b)]()}),[_0x4806a6]=_0x466a3d['split'](':');for(const [_0x101f40,_0x4b1644]of this[_0x48b69f(0x153)]){const _0x57229f=_0x4e97fd[_0x48b69f(0x184)](_0x101f40,_0x466a3d),_0x19cb09=_0x101f40===_0x4806a6+':*';if(_0x4e97fd[_0x48b69f(0x100)](_0x57229f,_0x19cb09))for(const _0x1d7a69 of _0x4b1644){if(_0x4e97fd['tohHp'](_0x1d7a69[_0x48b69f(0x162)],0x1))try{_0x1d7a69[_0x48b69f(0x17c)](_0x343979);}catch(_0x4bff84){}}}}}module['exports']=WebSocketBroadcaster;
@@ -1 +1 @@
1
- const a0_0x31d52c=a0_0x46a7;(function(_0x523c08,_0x3addf0){const _0x2af990=a0_0x46a7,_0x25c5d3=_0x523c08();while(!![]){try{const _0x6df1a4=-parseInt(_0x2af990(0x239))/0x1+parseInt(_0x2af990(0x1fd))/0x2+-parseInt(_0x2af990(0x263))/0x3*(parseInt(_0x2af990(0x270))/0x4)+-parseInt(_0x2af990(0x233))/0x5+parseInt(_0x2af990(0x20f))/0x6+parseInt(_0x2af990(0x22f))/0x7+-parseInt(_0x2af990(0x26f))/0x8*(parseInt(_0x2af990(0x215))/0x9);if(_0x6df1a4===_0x3addf0)break;else _0x25c5d3['push'](_0x25c5d3['shift']());}catch(_0x475184){_0x25c5d3['push'](_0x25c5d3['shift']());}}}(a0_0xae16,0x864a5));function a0_0x46a7(_0x5ebc15,_0x1f0e70){_0x5ebc15=_0x5ebc15-0x1df;const _0xae1641=a0_0xae16();let _0x46a768=_0xae1641[_0x5ebc15];if(a0_0x46a7['TNWBIt']===undefined){var _0x44fcb2=function(_0x3f112c){const _0x66885c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1c012f='',_0x275eb5='';for(let _0x4a7868=0x0,_0x45bde0,_0x21e125,_0x26521f=0x0;_0x21e125=_0x3f112c['charAt'](_0x26521f++);~_0x21e125&&(_0x45bde0=_0x4a7868%0x4?_0x45bde0*0x40+_0x21e125:_0x21e125,_0x4a7868++%0x4)?_0x1c012f+=String['fromCharCode'](0xff&_0x45bde0>>(-0x2*_0x4a7868&0x6)):0x0){_0x21e125=_0x66885c['indexOf'](_0x21e125);}for(let _0x45321d=0x0,_0x19ea38=_0x1c012f['length'];_0x45321d<_0x19ea38;_0x45321d++){_0x275eb5+='%'+('00'+_0x1c012f['charCodeAt'](_0x45321d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x275eb5);};a0_0x46a7['IkqTiv']=_0x44fcb2,a0_0x46a7['Xzoceb']={},a0_0x46a7['TNWBIt']=!![];}const _0x4ecaa9=_0xae1641[0x0],_0x2e95ec=_0x5ebc15+_0x4ecaa9,_0x58b5ac=a0_0x46a7['Xzoceb'][_0x2e95ec];return!_0x58b5ac?(_0x46a768=a0_0x46a7['IkqTiv'](_0x46a768),a0_0x46a7['Xzoceb'][_0x2e95ec]=_0x46a768):_0x46a768=_0x58b5ac,_0x46a768;}const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')[a0_0x31d52c(0x230)],fsSync=require('fs'),redisHelper=require(a0_0x31d52c(0x251)),{logger,logError}=require(a0_0x31d52c(0x1e8)),dbType=(process[a0_0x31d52c(0x1f7)]['DB_TYPE']||a0_0x31d52c(0x224))['toLowerCase']();let executeQuery;if(dbType==='oracle'){const oracleDb=require('../utils/db-oracle');executeQuery=(_0x196db8,_0x2df504)=>oracleDb['executeQuery'](_0x196db8,_0x2df504);}else{if(dbType===a0_0x31d52c(0x261)){const mysqlDb=require(a0_0x31d52c(0x203));executeQuery=(_0x42fb02,_0x1b0d85)=>mysqlDb[a0_0x31d52c(0x256)](_0x42fb02,_0x1b0d85);}else executeQuery=require(a0_0x31d52c(0x20e))[a0_0x31d52c(0x256)];}class ExportService{constructor(){this['_exportDir']=null;}get[a0_0x31d52c(0x23a)](){const _0x29157e=a0_0x31d52c,_0x38527f={'XneAn':'Export\x20service\x20initialized','DXNrK':function(_0x224a86,_0x1a05bf,_0x3b0288,_0x5cb653){return _0x224a86(_0x1a05bf,_0x3b0288,_0x5cb653);}};if(!this[_0x29157e(0x210)]){const _0x4c5c9f=process['env'][_0x29157e(0x214)]||_0x29157e(0x254);this['_exportDir']=process[_0x29157e(0x1f7)][_0x29157e(0x1eb)]||path[_0x29157e(0x212)](__dirname,_0x29157e(0x206)+_0x4c5c9f);try{!fsSync[_0x29157e(0x229)](this[_0x29157e(0x210)])&&fsSync['mkdirSync'](this[_0x29157e(0x210)],{'recursive':!![]}),logger['info']({'event':_0x29157e(0x21d),'dir':this[_0x29157e(0x210)]},_0x38527f['XneAn']);}catch(_0x5af639){_0x38527f['DXNrK'](logError,_0x5af639,{'event':'export_service_init_error'},'Failed\x20to\x20initialize\x20export\x20service');}}return this[_0x29157e(0x210)];}['resolveExportQuery'](_0x1917f7,_0x59450e=null){const _0x1b47d4=a0_0x31d52c,_0x3a189e={'glSOQ':'string','MBBfv':'Invalid\x20file:\x20reference\x20-\x20path\x20is\x20empty','bQSsd':'export_query_file_resolve','gPdvh':_0x1b47d4(0x245)};if(!_0x1917f7||typeof _0x1917f7!==_0x3a189e[_0x1b47d4(0x22d)])return _0x1917f7;const _0x4d388c=_0x1917f7[_0x1b47d4(0x217)]();if(!_0x4d388c['startsWith']('file:'))return _0x4d388c;const _0x6d3f4b=_0x4d388c[_0x1b47d4(0x22b)](/^file:/,'')[_0x1b47d4(0x217)]();if(!_0x6d3f4b)throw new Error(_0x3a189e['MBBfv']);const _0x4a973c=_0x59450e||path['join'](process[_0x1b47d4(0x20c)](),'payload'),_0x23287f=path[_0x1b47d4(0x1ee)](_0x4a973c,_0x6d3f4b);logger[_0x1b47d4(0x1ec)]({'event':_0x3a189e['bQSsd'],'relativePath':_0x6d3f4b,'baseDir':_0x4a973c,'absolutePath':_0x23287f},'Resolving\x20exportQuery\x20from\x20file:\x20'+_0x6d3f4b);if(!fsSync[_0x1b47d4(0x229)](_0x23287f))throw new Error(_0x1b47d4(0x209)+_0x23287f);try{const _0x10104a=fsSync['readFileSync'](_0x23287f,'utf8');if(!_0x10104a||!_0x10104a['trim']())throw new Error('Export\x20query\x20file\x20is\x20empty:\x20'+_0x23287f);return logger['info']({'event':_0x3a189e['gPdvh'],'file':_0x23287f,'queryLength':_0x10104a[_0x1b47d4(0x25f)]},_0x1b47d4(0x1f3)+_0x10104a['length']+_0x1b47d4(0x1f6)),_0x10104a[_0x1b47d4(0x217)]();}catch(_0x36ff1a){if(_0x36ff1a[_0x1b47d4(0x1e2)]==='ENOENT')throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x23287f);throw new Error(_0x1b47d4(0x267)+_0x36ff1a['message']);}}['generateJobId'](){const _0x3ff475=a0_0x31d52c,_0xfe37e9={'SGGka':function(_0xe4ba68,_0x3b0ca1){return _0xe4ba68*_0x3b0ca1;}},_0x274556='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0x10aa2b=Date['now']()['toString'](0x24),_0x523b13=uuidv7()['replace'](/-/g,'')['substring'](0x0,0xc-_0x10aa2b[_0x3ff475(0x25f)]),_0x13fcc1=(_0x10aa2b+_0x523b13)[_0x3ff475(0x218)](0x0,0xc);let _0x1bc8f3='';for(let _0x5194b=0x0;_0x5194b<0xc;_0x5194b++){_0x13fcc1[_0x5194b]?_0x1bc8f3+=_0x13fcc1[_0x5194b]:_0x1bc8f3+=_0x274556[_0x3ff475(0x202)](Math[_0x3ff475(0x227)](_0xfe37e9['SGGka'](Math['random'](),_0x274556['length'])));}return _0x1bc8f3;}async[a0_0x31d52c(0x1f4)](_0x241104){const _0x133bab=a0_0x31d52c,_0x564142={'zsCrO':function(_0x21eec0,_0x2b8081,_0x1c2bd1,_0x2a0a4e){return _0x21eec0(_0x2b8081,_0x1c2bd1,_0x2a0a4e);},'kxoeC':'Export\x20processing\x20failed','mtZJI':'pending','ybQMg':_0x133bab(0x260)},_0x47c4fb=this[_0x133bab(0x23e)](),_0x391e91={'job_id':_0x47c4fb,'status':_0x564142[_0x133bab(0x24e)],'progress':0x0,'created_at':new Date()[_0x133bab(0x24a)](),'params':_0x241104,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x47c4fb,_0x391e91),logger[_0x133bab(0x1ec)]({'event':_0x564142[_0x133bab(0x1f5)],'jobId':_0x47c4fb,'params':_0x241104},_0x133bab(0x205)),this[_0x133bab(0x1df)](_0x47c4fb,_0x241104)['catch'](_0x41479f=>{const _0x4a6a24=_0x133bab;_0x564142[_0x4a6a24(0x1e1)](logError,_0x41479f,{'event':_0x4a6a24(0x225),'jobId':_0x47c4fb},_0x564142[_0x4a6a24(0x252)]);}),{'job_id':_0x47c4fb,'status':_0x564142[_0x133bab(0x24e)]};}async['getJobStatus'](_0x2ad83f){const _0x10d895=a0_0x31d52c,_0x4cbbb2={'CzcHp':function(_0x503058,_0x5ed203){return _0x503058===_0x5ed203;},'GJygR':_0x10d895(0x273)},_0x2dc41d=await redisHelper['getJob'](_0x2ad83f);if(!_0x2dc41d)return{'success':![],'error':_0x10d895(0x1f8)};return{'success':!![],'data':{'job_id':_0x2dc41d['job_id'],'status':_0x2dc41d['status'],'progress':_0x2dc41d['progress'],'total_rows':_0x2dc41d[_0x10d895(0x21c)],'processed_rows':_0x2dc41d['processed_rows'],'file_url':_0x4cbbb2['CzcHp'](_0x2dc41d['status'],_0x4cbbb2[_0x10d895(0x22c)])?'/api/'+_0x2dc41d[_0x10d895(0x21b)][_0x10d895(0x26d)]+'/'+_0x2dc41d['params']['endpointName']+_0x10d895(0x268)+_0x2ad83f:null,'error':_0x2dc41d['error']||null,'created_at':_0x2dc41d[_0x10d895(0x25c)],'completed_at':_0x2dc41d['completed_at']||null}};}async['processJob'](_0x23a348,_0xca68ab){const _0xca60de=a0_0x31d52c,_0x1e1d57={'IYPRT':'processing','lyrTU':_0xca60de(0x238),'EbDSg':'completed','uJXWc':'Export\x20completed\x20successfully'};try{await redisHelper['updateJob'](_0x23a348,{'status':_0x1e1d57['IYPRT'],'started_at':new Date()[_0xca60de(0x24a)]()}),logger['info']({'event':'export_processing_start','jobId':_0x23a348},_0x1e1d57[_0xca60de(0x232)]);const _0x4642ef=await this['fetchData'](_0xca68ab);await redisHelper[_0xca60de(0x20d)](_0x23a348,{'total_rows':_0x4642ef['length']});const _0x405660=await this[_0xca60de(0x1e3)](_0x23a348,_0x4642ef,_0xca68ab);await redisHelper['updateJob'](_0x23a348,{'status':_0x1e1d57[_0xca60de(0x1f2)],'progress':0x64,'file_path':_0x405660,'completed_at':new Date()[_0xca60de(0x24a)]()}),logger[_0xca60de(0x1ec)]({'event':'export_completed','jobId':_0x23a348,'rows':_0x4642ef[_0xca60de(0x25f)]},_0x1e1d57[_0xca60de(0x236)]);}catch(_0x1c5acb){logError(_0x1c5acb,{'event':_0xca60de(0x272),'jobId':_0x23a348},'Export\x20failed'),await redisHelper[_0xca60de(0x20d)](_0x23a348,{'status':_0xca60de(0x1f9),'error':_0x1c5acb['message'],'failed_at':new Date()['toISOString']()});}}async[a0_0x31d52c(0x24f)](_0x35631c){const _0xe20618=a0_0x31d52c,_0x11af20={'EKdfK':function(_0x309c72,_0x15bbdc){return _0x309c72===_0x15bbdc;},'WcHmo':'tableName\x20and\x20columns\x20are\x20required','UbZYz':function(_0x19ade1,_0x129d9d){return _0x19ade1+_0x129d9d;},'hQwcY':_0xe20618(0x1f1),'wrqmU':'export_using_custom_query','bvODU':'Using\x20custom\x20exportQuery','QPYzY':'Using\x20auto-generated\x20query','BhjHV':'export_fetch_start','MPwXA':function(_0x2c7fc9,_0x37cfad){return _0x2c7fc9(_0x37cfad);},'JvlFR':function(_0x1c0cfc,_0x5be5c6){return _0x1c0cfc>_0x5be5c6;},'ZADUp':_0xe20618(0x237),'PxUwz':'Data\x20fetched\x20successfully','lRkRF':function(_0x5040a4,_0x2ff2b1,_0xe0522f,_0x4cddde){return _0x5040a4(_0x2ff2b1,_0xe0522f,_0x4cddde);},'YSgcz':'export_fetch_error'};try{const {tableName:_0x4ba43d,columns:_0x4ca037,exportQuery:_0x3f2a3d,where:_0x3327cb,sort_columns:_0x312ac9}=_0x35631c;if(!_0x4ba43d||!_0x4ca037||_0x11af20[_0xe20618(0x207)](_0x4ca037[_0xe20618(0x25f)],0x0))throw new Error(_0x11af20[_0xe20618(0x241)]);const _0x248c09=_0x11af20['UbZYz'](_0x4ba43d[_0xe20618(0x22b)](/\./g,'_'),_0xe20618(0x264));let _0xf9470e;if(_0x3f2a3d&&_0x3f2a3d['trim']()){let _0x4ce890=_0x3f2a3d;_0x3f2a3d['trim']()[_0xe20618(0x244)](_0x11af20[_0xe20618(0x242)])&&(_0x4ce890=this['resolveExportQuery'](_0x3f2a3d)),_0xf9470e='WITH\x20'+_0x248c09+'\x20AS\x20(\x0a\x20\x20\x20\x20'+_0x4ce890+'\x0a)',_0xf9470e+=_0xe20618(0x26a)+_0x248c09,logger['info']({'event':_0x11af20['wrqmU'],'query':_0x4ce890[_0xe20618(0x218)](0x0,0x64)},_0x11af20['bvODU']);}else{const _0x117180=_0x4ca037[_0xe20618(0x228)](_0x3db9fb=>_0xe20618(0x1fe)+_0x3db9fb)[_0xe20618(0x212)](',');_0xf9470e='WITH\x20'+_0x248c09+_0xe20618(0x200)+_0x117180+'\x0a\x20\x20\x20\x20FROM\x20'+_0x4ba43d+'\x0a)',_0xf9470e+=_0xe20618(0x26a)+_0x248c09,logger['info']({'event':_0xe20618(0x1ff),'tableName':_0x4ba43d,'columnCount':_0x4ca037[_0xe20618(0x25f)]},_0x11af20['QPYzY']);}if(_0x3327cb){const _0x54b0df=this[_0xe20618(0x22a)](_0x3327cb);_0x54b0df&&(_0xf9470e+='\x0aWHERE\x20'+_0x54b0df);}if(_0x312ac9&&_0x312ac9['length']>0x0){const _0x340911=this[_0xe20618(0x211)](_0x312ac9);_0x340911&&(_0xf9470e+='\x0aORDER\x20BY\x20'+_0x340911);}logger['info']({'event':_0x11af20['BhjHV'],'query':_0xf9470e['substring'](0x0,0xc8)},'Fetching\x20data\x20from\x20database');const _0x1086c3=await _0x11af20[_0xe20618(0x222)](executeQuery,_0xf9470e);let _0x4e92c1=_0x1086c3;return _0x11af20['EKdfK'](dbType,'oracle')&&_0x1086c3&&_0x11af20[_0xe20618(0x240)](_0x1086c3['length'],0x0)&&(_0x4e92c1=_0x1086c3[_0xe20618(0x228)](_0x461549=>{const _0x58fcff={};for(const [_0x4d77b9,_0x560f7b]of Object['entries'](_0x461549)){_0x58fcff[_0x4d77b9['toLowerCase']()]=_0x560f7b;}return _0x58fcff;})),logger[_0xe20618(0x1ec)]({'event':_0x11af20[_0xe20618(0x1e4)],'rows':_0x4e92c1[_0xe20618(0x25f)]},_0x11af20['PxUwz']),_0x4e92c1;}catch(_0x257446){_0x11af20['lRkRF'](logError,_0x257446,{'event':_0x11af20[_0xe20618(0x219)]},'Failed\x20to\x20fetch\x20data');throw _0x257446;}}[a0_0x31d52c(0x249)](_0x4d998c){const _0x38f95c=a0_0x31d52c,_0x13a279={'fugSF':function(_0x8096e9,_0x167013){return _0x8096e9===_0x167013;},'oSsdq':_0x38f95c(0x1e0)};if(_0x13a279[_0x38f95c(0x216)](typeof _0x4d998c,_0x13a279[_0x38f95c(0x1f0)]))return _0x4d998c[_0x38f95c(0x22b)](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')[_0x38f95c(0x217)]();else{if(Array[_0x38f95c(0x1fb)](_0x4d998c))return _0x4d998c['map'](_0x1809fe=>this[_0x38f95c(0x249)](_0x1809fe));}return _0x4d998c;}['buildWhereClause'](_0x2348a9){const _0x494ddf=a0_0x31d52c,_0x30ade2={'mfKqR':_0x494ddf(0x1e0),'PhbjN':function(_0xe33c85,_0xea5afd){return _0xe33c85===_0xea5afd;},'zDDht':function(_0x127757,_0x1fcdcd){return _0x127757||_0x1fcdcd;},'NfKlm':_0x494ddf(0x26c),'KGLWe':function(_0x48c7aa,_0x48ddbd){return _0x48c7aa===_0x48ddbd;},'Gscfp':_0x494ddf(0x24d),'aAhuD':_0x494ddf(0x208),'EzbYg':'IS\x20NULL','cjKaQ':function(_0x45a961,_0x5afb04){return _0x45a961===_0x5afb04;},'ICMzi':_0x494ddf(0x20b),'bDINX':function(_0x4f1cc2,_0x33ced8){return _0x4f1cc2===_0x33ced8;}};if(!_0x2348a9||!_0x2348a9[_0x494ddf(0x257)]||_0x30ade2[_0x494ddf(0x20a)](_0x2348a9['conditions']['length'],0x0))return'';const {logic:_0x1e294d,conditions:_0x3ac1ae}=_0x2348a9,_0x5efd41=_0x1e294d&&_0x1e294d[_0x494ddf(0x255)]()==='OR'?_0x30ade2[_0x494ddf(0x21f)]:'\x20AND\x20',_0x5ae31b=_0x3ac1ae[_0x494ddf(0x228)](_0x48a2e1=>{const _0x3345c3=_0x494ddf,_0x45eda3={'yfqrF':function(_0x1c2af8,_0x2e2c6f){return _0x1c2af8===_0x2e2c6f;},'sXLUW':_0x30ade2['mfKqR'],'PkctS':function(_0x228e92,_0x4235a5){const _0x38b23d=a0_0x46a7;return _0x30ade2[_0x38b23d(0x21a)](_0x228e92,_0x4235a5);}},{key:_0x5171e9,operator:_0x48c660,value:_0x38b5aa,sensitive:_0x4dafca}=_0x48a2e1;if(_0x30ade2['zDDht'](!_0x5171e9,!_0x48c660))return logger['warn']({'event':_0x30ade2['NfKlm'],'condition':_0x48a2e1},_0x3345c3(0x266)),null;const _0x38b141=this['sanitizeValue'](_0x38b5aa),_0x23b96e=_0x4dafca!==undefined?_0x4dafca:!![];let _0x4b01aa=_0x5171e9,_0x4b8eb5=_0x38b141;!_0x23b96e&&(_0x4b01aa=_0x3345c3(0x262)+_0x5171e9+')',typeof _0x38b5aa===_0x30ade2[_0x3345c3(0x259)]&&(_0x4b8eb5=_0x38b5aa[_0x3345c3(0x255)]()));const _0x2ef9a9=_0x30ade2['KGLWe'](typeof _0x4b8eb5,'string')?'\x27'+_0x4b8eb5['replace'](/'/g,'\x27\x27')+'\x27':_0x4b8eb5;switch(_0x48c660[_0x3345c3(0x255)]()){case'=':case'!=':case'<>':return _0x4b01aa+'\x20'+_0x48c660+'\x20'+_0x2ef9a9;case'>':case'<':case'>=':case'<=':const _0x28caa7=typeof _0x38b141===_0x3345c3(0x1e0)?'\x27'+_0x38b141[_0x3345c3(0x22b)](/'/g,'\x27\x27')+'\x27':_0x38b141;return _0x5171e9+'\x20'+_0x48c660+'\x20'+_0x28caa7;case _0x30ade2[_0x3345c3(0x23b)]:case _0x30ade2[_0x3345c3(0x25b)]:return _0x4b01aa+'\x20'+_0x48c660+'\x20'+_0x2ef9a9;case'IN':if(Array['isArray'](_0x38b141)){let _0x42be80;return!_0x23b96e?_0x42be80=_0x38b141[_0x3345c3(0x228)](_0x298dab=>{const _0x1ba1bb=_0x3345c3,_0x43c894=_0x45eda3[_0x1ba1bb(0x21e)](typeof _0x298dab,_0x45eda3['sXLUW'])?_0x298dab[_0x1ba1bb(0x255)]():_0x298dab;return _0x45eda3['PkctS'](typeof _0x43c894,_0x1ba1bb(0x1e0))?'\x27'+_0x43c894[_0x1ba1bb(0x22b)](/'/g,'\x27\x27')+'\x27':_0x43c894;})[_0x3345c3(0x212)](',\x20'):_0x42be80=_0x38b141['map'](_0x1aa48f=>typeof _0x1aa48f===_0x3345c3(0x1e0)?'\x27'+_0x1aa48f[_0x3345c3(0x22b)](/'/g,'\x27\x27')+'\x27':_0x1aa48f)[_0x3345c3(0x212)](',\x20'),_0x4b01aa+'\x20IN\x20('+_0x42be80+')';}return _0x4b01aa+'\x20IN\x20('+_0x2ef9a9+')';case _0x30ade2['EzbYg']:return _0x5171e9+'\x20IS\x20NULL';case _0x3345c3(0x1ef):return _0x5171e9+'\x20IS\x20NOT\x20NULL';default:logger['warn']({'event':_0x3345c3(0x25e),'operator':_0x48c660},'Unknown\x20operator,\x20using\x20=\x20as\x20default');return _0x4b01aa+'\x20=\x20'+_0x2ef9a9;}})['filter'](_0x329213=>_0x329213!==null);if(_0x30ade2['bDINX'](_0x5ae31b['length'],0x0))return'';return _0x5ae31b[_0x494ddf(0x212)](_0x5efd41);}[a0_0x31d52c(0x211)](_0x311064){const _0x2f1617=a0_0x31d52c,_0x379931={'lOHNN':_0x2f1617(0x247),'ezXqw':function(_0x511503,_0x491521){return _0x511503===_0x491521;}};if(!_0x311064||_0x379931['ezXqw'](_0x311064[_0x2f1617(0x25f)],0x0))return'';const _0x2f8b1a=_0x311064[_0x2f1617(0x228)](_0x6608b1=>{const _0xb62d34=_0x2f1617,{column:_0x35176c,direction:_0x298e77}=_0x6608b1;if(!_0x35176c)return logger[_0xb62d34(0x23f)]({'event':_0x379931[_0xb62d34(0x1e9)],'item':_0x6608b1},_0xb62d34(0x25a)),null;const _0x338024=_0x298e77&&_0x298e77['toUpperCase']()===_0xb62d34(0x26e)?'DESC':'ASC';return _0x35176c+'\x20'+_0x338024;})['filter'](_0x274997=>_0x274997!==null);if(_0x379931['ezXqw'](_0x2f8b1a['length'],0x0))return'';return _0x2f8b1a['join'](',\x20');}async[a0_0x31d52c(0x1e3)](_0x4dcb3a,_0x5f09a3,_0x3fdeef){const _0x468654=a0_0x31d52c,_0xd89b3c={'UPkqo':function(_0x39122f,_0x4e0a6f){return _0x39122f(_0x4e0a6f);},'lzpIl':function(_0x4bcc1a,_0x50d6ae){return _0x4bcc1a===_0x50d6ae;},'omTiT':function(_0x489519,_0x5a54cc){return _0x489519===_0x5a54cc;},'aWbFh':'all','RnTBy':function(_0x3b4b2a,_0x59b638){return _0x3b4b2a>_0x59b638;},'DDxnb':function(_0x80c482,_0x327876){return _0x80c482>_0x327876;},'BCJIX':_0x468654(0x1e7),'xcrGk':'excel_columns_from_config'},_0x2c3f97=_0xd89b3c[_0x468654(0x23c)](require,_0x468654(0x213)),_0x188b24=new _0x2c3f97(),_0x2bc259=_0x3fdeef['filename']?_0x3fdeef['filename']+'-'+_0x4dcb3a:_0x468654(0x201)+_0x4dcb3a,_0x214358=path[_0x468654(0x212)](this[_0x468654(0x23a)],_0x2bc259+'.xlsx');let _0x3257e2=_0x3fdeef['columns'];const _0x5c3573=_0x3fdeef['exportQuery']&&_0x3fdeef[_0x468654(0x221)]['trim'](),_0x3a2f2e=_0x3257e2&&_0xd89b3c['lzpIl'](_0x3257e2[_0x468654(0x25f)],0x1)&&(_0xd89b3c['omTiT'](_0x3257e2[0x0],'*')||_0x3257e2[0x0]['toLowerCase']()===_0xd89b3c['aWbFh']);if(_0x5f09a3['length']>0x0){const _0x447c57=Object['keys'](_0x5f09a3[0x0]);if(_0x5c3573)_0x3257e2=_0x447c57,logger['info']({'event':'excel_columns_from_custom_query','columns':_0x3257e2},_0x468654(0x231)+_0x3257e2['length']+'\x20columns\x20from\x20custom\x20exportQuery\x20result');else{if(_0x3a2f2e)_0x3257e2=_0x447c57,logger[_0x468654(0x1ec)]({'event':_0x468654(0x23d),'columns':_0x3257e2},_0x468654(0x253)+_0x3257e2['length']+_0x468654(0x271));else{if(_0x3257e2&&_0xd89b3c[_0x468654(0x24c)](_0x3257e2['length'],0x0)){const _0xf190b4=_0x3257e2['filter'](_0x19ceac=>_0x447c57['includes'](_0x19ceac));_0xd89b3c['DDxnb'](_0xf190b4['length'],0x0)?(_0x3257e2=_0xf190b4,logger['info']({'event':'excel_columns_from_request','requestedColumns':_0x3fdeef[_0x468654(0x220)],'validColumns':_0x3257e2},'Using\x20'+_0x3257e2[_0x468654(0x25f)]+_0x468654(0x24b))):(_0x3257e2=_0x447c57,logger['warn']({'event':_0xd89b3c[_0x468654(0x223)],'requestedColumns':_0x3fdeef[_0x468654(0x220)],'availableColumns':_0x447c57},_0x468654(0x258)+_0x447c57['length']+_0x468654(0x269)));}else _0x3257e2=_0x447c57,logger[_0x468654(0x1ec)]({'event':_0x468654(0x1e6),'columns':_0x3257e2},_0x468654(0x231)+_0x3257e2['length']+_0x468654(0x265));}}}else logger[_0x468654(0x1ec)]({'event':_0xd89b3c['xcrGk'],'columns':_0x3257e2},'Using\x20'+(_0x3257e2?.[_0x468654(0x25f)]||0x0)+'\x20columns\x20from\x20config\x20(no\x20data)');return await _0x188b24['generate']({'data':_0x5f09a3,'columns':_0x3257e2,'columnFormats':_0x3fdeef[_0x468654(0x1fc)]||null,'fieldLabels':_0x3fdeef[_0x468654(0x235)]||null,'filePath':_0x214358,'onProgress':async _0x184a6c=>{const _0xde2aaa=_0x468654;await redisHelper[_0xde2aaa(0x20d)](_0x4dcb3a,{'progress':Math['round'](_0x184a6c),'processed_rows':Math[_0xde2aaa(0x248)](_0x184a6c/0x64*_0x5f09a3['length'])});}}),_0x214358;}async['getFilePath'](_0x4a1b68){const _0x5ddbe0=a0_0x31d52c,_0x895e69={'RsWBv':'completed','NBtgE':_0x5ddbe0(0x26b)},_0x27211e=await redisHelper[_0x5ddbe0(0x1ea)](_0x4a1b68);if(!_0x27211e||_0x27211e[_0x5ddbe0(0x1fa)]!==_0x895e69['RsWBv'])return null;try{return await fs[_0x5ddbe0(0x25d)](_0x27211e[_0x5ddbe0(0x226)]),_0x27211e['file_path'];}catch(_0x2e4aae){return logError(_0x2e4aae,{'event':_0x895e69['NBtgE'],'jobId':_0x4a1b68,'path':_0x27211e[_0x5ddbe0(0x226)]},'Export\x20file\x20not\x20found'),null;}}async['cleanup'](){const _0x3ecfaf=a0_0x31d52c,_0x499174={'NYqBs':'Starting\x20export\x20cleanup','mwYiW':function(_0x57b544,_0x4b4896){return _0x57b544*_0x4b4896;},'yLhoL':_0x3ecfaf(0x1e5),'HJpSZ':_0x3ecfaf(0x250),'nLOFP':'export_cleanup_complete','XYPGE':_0x3ecfaf(0x1ed)};logger['info']({'event':_0x3ecfaf(0x204)},_0x499174['NYqBs']);const _0xdf84a6=await redisHelper['getAllJobs']();let _0x8c2d66=0x0;for(const _0x26d4d3 of _0xdf84a6){const _0x1cf122=new Date(_0x26d4d3[_0x3ecfaf(0x25c)]),_0x42a76c=new Date(),_0x1f28ce=(_0x42a76c-_0x1cf122)/_0x499174[_0x3ecfaf(0x246)](0x3e8*0x3c,0x3c);if(_0x1f28ce>0x1){if(_0x26d4d3[_0x3ecfaf(0x226)])try{await fs['unlink'](_0x26d4d3[_0x3ecfaf(0x226)]),logger['info']({'event':'export_file_deleted','path':_0x26d4d3['file_path']},_0x499174['yLhoL']);}catch(_0x20ef00){logger['warn']({'event':_0x499174['HJpSZ'],'path':_0x26d4d3['file_path'],'error':_0x20ef00[_0x3ecfaf(0x243)]},'Failed\x20to\x20delete\x20export\x20file');}await redisHelper['deleteJob'](_0x26d4d3['job_id']),_0x8c2d66++;}}return logger['info']({'event':_0x499174['nLOFP'],'deleted':_0x8c2d66},_0x499174[_0x3ecfaf(0x234)]),_0x8c2d66;}}function a0_0xae16(){const _0x3f29b2=['qKnksvG','Cg9ZDgDYzxnXBa','zxHWB3j0x3bYB2nLC3nFzxjYB3i','zMLSzv9WyxrO','zMXVB3i','BwfW','zxHPC3rZu3LUyW','yNvPBgrxAgvYzunSyxvZzq','CMvWBgfJzq','r0P5z1i','z2Xtt1e','zxHWB3j0CW','mtu0mtu0n2D3CwHztq','ChjVBwLZzxm','vxnPBMCG','BhLYvfu','mtu4nJqYmgjUrNvTqq','wfLqr0u','zMLLBgrmywjLBhm','DuPyv2m','zxHWB3j0x2zLDgnOx2nVBxbSzxrL','rxHWB3j0ihbYB2nLC3nPBMCGC3rHCNrLza','mZe5mJGZuKDzwfD4','zxHWB3j0rgLY','r3nJzNa','vvbRCw8','zxHJzwXFy29SDw1UC19ZzwXLy3rFywXS','z2vUzxjHDgvkB2jjza','D2fYBG','sNzSrLi','v2niBw8','Aff3y1K','BwvZC2fNzq','C3rHCNrZv2L0Aa','zxHWB3j0x3f1zxj5x2zPBgvFBg9HzgvK','BxDzAvC','Aw52ywXPzf9ZB3j0x2nVBhvTBG','CM91BMq','C2fUAxrPEMvwywX1zq','Dg9ju09tDhjPBMC','ignVBhvTBNmGzNjVBsbYzxf1zxn0','uM5uqNK','teLlrq','BxrAsKK','zMv0y2HeyxrH','zxHWB3j0x2zPBgvFzgvSzxrLx2vYCM9Y','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','A3HVzum','vxnPBMCGywXSia','zgvMyxvSDa','Dg9vChbLCKnHC2u','zxHLy3v0zvf1zxj5','y29UzgL0Aw9UCW','uMvXDwvZDgvKignVBhvTBNmGBM90igzVDw5KigLUigrHDgeSihvZAw5NigfSBca','BwzlCvi','u2TPChbPBMCGAw52ywXPzcbZB3j0ignVBhvTBG','yufODuq','y3jLyxrLzf9HDa','ywnJzxnZ','Dw5RBM93BL9VCgvYyxrVCG','BgvUz3rO','zxHWB3j0x2PVyL9JCMvHDgvK','BxLZCwW','vvbqrviO','m1LVC1DgsG','x2rHDge','ignVBhvTBNmGzNjVBsbXDwvYEsbYzxn1Bhq','u2TPChbPBMCGAw52ywXPzcbJB25KAxrPB24','rMfPBgvKihrVihjLywqGzxHWB3j0ihf1zxj5igzPBgu6ia','l2v4Cg9YDc1KB3DUBg9Hzd9QB2jFAwq9','ignVBhvTBNm','cLnftevdvcaQiezst00G','zxHWB3j0x2zPBgvFBM90x2zVDw5K','Aw52ywXPzf9JB25KAxrPB24','Bw9KDwXLtMfTzq','revtqW','odiWmZeYr3rWtxbI','mJqWotmXnMveqvDxza','ignVBhvTBNmGkhDPBgrJyxjKihjLCxvLC3rLzcK','zxHWB3j0x2zHAwXLza','y29TCgXLDgvK','ChjVy2vZC0PVyG','C3rYAw5N','ENndCK8','y29Kzq','z2vUzxjHDgvfEgnLBa','wKfevxa','rxHWB3j0igzPBguGzgvSzxrLza','zxHJzwXFy29SDw1UC19MCM9Tx3f1zxj5x3jLC3vSDa','zxHJzwXFy29SDw1UC19MywXSyMfJAW','lI4VDxrPBhmVBg9Nz2vY','Be9itK4','z2v0sM9I','rvHqt1jux0rjuG','Aw5MBW','rxHWB3j0ignSzwfUDxaGy29TCgXLDgvK','CMvZB2X2zq','svmGtK9uie5vteW','B1nZzhe','zMLSztO','rwjeu2C','tg9HzgvKifnrtcbXDwvYEsbMCM9TigzPBguGka','y3jLyxrLsM9I','EwjrtwC','ignOyxjZkq','zw52','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','zMfPBgvK','C3rHDhvZ','AxnbCNjHEq','y29SDw1UrM9YBwf0CW','mtC5odKYmhjhz3Dgqq','cIaGicaGicaG','zxHWB3j0x3vZAw5Nx2f1Dg9FCxvLCNK','iefticGkicaGifnftevdvca','zxHWB3j0lq','y2HHCKf0','lI4VDxrPBhmVzgiTBxLZCwW','zxHWB3j0x2nSzwfUDxbFC3rHCNq','rxHWB3j0igPVyIbJCMvHDgvK','lI4VlI4VzxHWB3j0CY8','ruTKzKS','tK9uieXjs0u','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','y2Plyve','ie9sia','y3DK','DxbKyxrLsM9I','lI4VDxrPBhmVzgi','ntG2mtmXmeHbAwfIwG','x2v4Cg9YDerPCG','yNvPBgrpCMrLCKj5q2XHDxnL','AM9PBG','lI4VDxrPBhmVzxHJzwWTz2vUzxjHDg9Y','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','mJDhB3r3q3O','zNvNu0y','DhjPBq','C3vIC3rYAw5N','wvnNy3O','ugHIAK4','CgfYyw1Z','Dg90ywXFCM93CW','zxHWB3j0x3nLCNzPy2vFAw5PDa','EwzXCKy','sunnEMK','y29SDw1UCW','zxHWB3j0uxvLCNK','tvb3wee'];a0_0xae16=function(){return _0x3f29b2;};return a0_0xae16();}module[a0_0x31d52c(0x22e)]=new ExportService();
1
+ const a0_0x39d910=a0_0xf492;(function(_0x2bc0c6,_0x3c78f7){const _0x2ec56f=a0_0xf492,_0x53cd5e=_0x2bc0c6();while(!![]){try{const _0x2d6347=parseInt(_0x2ec56f(0x1e2))/0x1*(parseInt(_0x2ec56f(0x16c))/0x2)+parseInt(_0x2ec56f(0x1e9))/0x3*(parseInt(_0x2ec56f(0x1ad))/0x4)+-parseInt(_0x2ec56f(0x1e7))/0x5*(-parseInt(_0x2ec56f(0x18e))/0x6)+-parseInt(_0x2ec56f(0x150))/0x7+parseInt(_0x2ec56f(0x1d3))/0x8*(-parseInt(_0x2ec56f(0x158))/0x9)+-parseInt(_0x2ec56f(0x18a))/0xa+parseInt(_0x2ec56f(0x159))/0xb;if(_0x2d6347===_0x3c78f7)break;else _0x53cd5e['push'](_0x53cd5e['shift']());}catch(_0x3ce6a1){_0x53cd5e['push'](_0x53cd5e['shift']());}}}(a0_0x3481,0x44751));const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')['promises'],fsSync=require('fs'),redisHelper=require(a0_0x39d910(0x15c)),{logger,logError}=require('../utils/logger'),dbType=(process['env'][a0_0x39d910(0x154)]||a0_0x39d910(0x166))[a0_0x39d910(0x1a5)]();function a0_0xf492(_0x4ae943,_0x2e44e1){_0x4ae943=_0x4ae943-0x150;const _0x34812d=a0_0x3481();let _0xf492f=_0x34812d[_0x4ae943];if(a0_0xf492['AIktWl']===undefined){var _0x40b5e8=function(_0x2bb1a7){const _0x37f5f2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x394bbc='',_0x13c233='';for(let _0xd947a9=0x0,_0x604ebf,_0x23f848,_0x2ab4a3=0x0;_0x23f848=_0x2bb1a7['charAt'](_0x2ab4a3++);~_0x23f848&&(_0x604ebf=_0xd947a9%0x4?_0x604ebf*0x40+_0x23f848:_0x23f848,_0xd947a9++%0x4)?_0x394bbc+=String['fromCharCode'](0xff&_0x604ebf>>(-0x2*_0xd947a9&0x6)):0x0){_0x23f848=_0x37f5f2['indexOf'](_0x23f848);}for(let _0x3228a9=0x0,_0x46477a=_0x394bbc['length'];_0x3228a9<_0x46477a;_0x3228a9++){_0x13c233+='%'+('00'+_0x394bbc['charCodeAt'](_0x3228a9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x13c233);};a0_0xf492['UNCnKG']=_0x40b5e8,a0_0xf492['gWbrdQ']={},a0_0xf492['AIktWl']=!![];}const _0x1927b0=_0x34812d[0x0],_0x486f6d=_0x4ae943+_0x1927b0,_0x4966cc=a0_0xf492['gWbrdQ'][_0x486f6d];return!_0x4966cc?(_0xf492f=a0_0xf492['UNCnKG'](_0xf492f),a0_0xf492['gWbrdQ'][_0x486f6d]=_0xf492f):_0xf492f=_0x4966cc,_0xf492f;}let executeQuery;if(dbType==='oracle'){const oracleDb=require(a0_0x39d910(0x1c8));executeQuery=(_0x2388b8,_0x50d0aa)=>oracleDb[a0_0x39d910(0x195)](_0x2388b8,_0x50d0aa);}else{if(dbType===a0_0x39d910(0x152)){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x26a0e3,_0x1f0aa9)=>mysqlDb['executeQuery'](_0x26a0e3,_0x1f0aa9);}else executeQuery=require(a0_0x39d910(0x1c4))['executeQuery'];}class ExportService{constructor(){this['_exportDir']=null;}get['exportDir'](){const _0x452eae=a0_0x39d910,_0x1d4e81={'xrdKG':_0x452eae(0x177),'CFOis':'export_service_init_error'};if(!this['_exportDir']){const _0x2d1481=process['env'][_0x452eae(0x1c2)]||_0x452eae(0x1b2);this['_exportDir']=process['env']['EXPORT_DIR']||path['join'](__dirname,_0x452eae(0x16d)+_0x2d1481);try{!fsSync[_0x452eae(0x1f1)](this[_0x452eae(0x1bc)])&&fsSync['mkdirSync'](this[_0x452eae(0x1bc)],{'recursive':!![]}),logger[_0x452eae(0x19b)]({'event':'export_service_init','dir':this[_0x452eae(0x1bc)]},_0x1d4e81[_0x452eae(0x151)]);}catch(_0x17382f){logError(_0x17382f,{'event':_0x1d4e81['CFOis']},'Failed\x20to\x20initialize\x20export\x20service');}}return this['_exportDir'];}[a0_0x39d910(0x194)](_0x4a6687,_0x3aa706=null){const _0x56c255=a0_0x39d910;if(!_0x4a6687||typeof _0x4a6687!==_0x56c255(0x19c))return _0x4a6687;const _0x31cb17=_0x4a6687[_0x56c255(0x182)]();if(!_0x31cb17['startsWith'](_0x56c255(0x1dc)))return _0x31cb17;const _0x57f118=_0x31cb17[_0x56c255(0x1c9)](/^file:/,'')['trim']();if(!_0x57f118)throw new Error(_0x56c255(0x192));const _0x5b71d9=_0x3aa706||path[_0x56c255(0x1af)](process[_0x56c255(0x1c3)](),_0x56c255(0x15f)),_0x3821fb=path[_0x56c255(0x1b5)](_0x5b71d9,_0x57f118);logger['info']({'event':_0x56c255(0x183),'relativePath':_0x57f118,'baseDir':_0x5b71d9,'absolutePath':_0x3821fb},'Resolving\x20exportQuery\x20from\x20file:\x20'+_0x57f118);if(!fsSync['existsSync'](_0x3821fb))throw new Error(_0x56c255(0x1a8)+_0x3821fb);try{const _0x2ffaaf=fsSync['readFileSync'](_0x3821fb,'utf8');if(!_0x2ffaaf||!_0x2ffaaf[_0x56c255(0x182)]())throw new Error(_0x56c255(0x1e3)+_0x3821fb);return logger['info']({'event':'export_query_file_loaded','file':_0x3821fb,'queryLength':_0x2ffaaf[_0x56c255(0x1a4)]},_0x56c255(0x171)+_0x2ffaaf['length']+'\x20chars)'),_0x2ffaaf['trim']();}catch(_0x5481d4){if(_0x5481d4['code']===_0x56c255(0x1b7))throw new Error(_0x56c255(0x1a8)+_0x3821fb);throw new Error(_0x56c255(0x164)+_0x5481d4[_0x56c255(0x1e5)]);}}[a0_0x39d910(0x156)](){const _0x54f927=a0_0x39d910,_0x10ad05={'gHIqv':function(_0x3f59bc,_0xf568d9){return _0x3f59bc<_0xf568d9;},'tSyDS':function(_0x1541b4,_0x37f4a9){return _0x1541b4*_0x37f4a9;}},_0x108132='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0x1e6fc8=Date['now']()['toString'](0x24),_0x4a0949=uuidv7()['replace'](/-/g,'')[_0x54f927(0x1cd)](0x0,0xc-_0x1e6fc8['length']),_0x3ec224=(_0x1e6fc8+_0x4a0949)[_0x54f927(0x1cd)](0x0,0xc);let _0x56e2a1='';for(let _0x70c38=0x0;_0x10ad05[_0x54f927(0x1bb)](_0x70c38,0xc);_0x70c38++){_0x3ec224[_0x70c38]?_0x56e2a1+=_0x3ec224[_0x70c38]:_0x56e2a1+=_0x108132['charAt'](Math[_0x54f927(0x16e)](_0x10ad05[_0x54f927(0x1da)](Math[_0x54f927(0x1b1)](),_0x108132[_0x54f927(0x1a4)])));}return _0x56e2a1;}async[a0_0x39d910(0x1a1)](_0x2bf721){const _0x391285=a0_0x39d910,_0x254256={'YfbMC':_0x391285(0x1ca),'vGtYA':_0x391285(0x1ce)},_0x103182=this['generateJobId'](),_0x5741bd={'job_id':_0x103182,'status':'pending','progress':0x0,'created_at':new Date()[_0x391285(0x1e4)](),'params':_0x2bf721,'total_rows':0x0,'processed_rows':0x0};return await redisHelper[_0x391285(0x188)](_0x103182,_0x5741bd),logger['info']({'event':'export_job_created','jobId':_0x103182,'params':_0x2bf721},_0x254256['YfbMC']),this['processJob'](_0x103182,_0x2bf721)[_0x391285(0x163)](_0x3c03ab=>{const _0x45f0a4=_0x391285;logError(_0x3c03ab,{'event':_0x45f0a4(0x1b8),'jobId':_0x103182},_0x45f0a4(0x19e));}),{'job_id':_0x103182,'status':_0x254256[_0x391285(0x19d)]};}async['getJobStatus'](_0x799e8c){const _0x5dbbe2=a0_0x39d910,_0x335cb4={'Dbeme':function(_0xcc2999,_0x234f31){return _0xcc2999===_0x234f31;}},_0x53bf60=await redisHelper['getJob'](_0x799e8c);if(!_0x53bf60)return{'success':![],'error':'Job\x20not\x20found\x20or\x20expired'};return{'success':!![],'data':{'job_id':_0x53bf60['job_id'],'status':_0x53bf60['status'],'progress':_0x53bf60[_0x5dbbe2(0x1de)],'total_rows':_0x53bf60['total_rows'],'processed_rows':_0x53bf60[_0x5dbbe2(0x1a2)],'file_url':_0x335cb4[_0x5dbbe2(0x17d)](_0x53bf60[_0x5dbbe2(0x174)],'completed')?'/api/'+_0x53bf60[_0x5dbbe2(0x178)]['moduleName']+'/'+_0x53bf60['params'][_0x5dbbe2(0x162)]+'/export-download?job_id='+_0x799e8c:null,'error':_0x53bf60[_0x5dbbe2(0x17c)]||null,'created_at':_0x53bf60[_0x5dbbe2(0x17b)],'completed_at':_0x53bf60['completed_at']||null}};}async['processJob'](_0x185e78,_0x30f5a8){const _0x510d69=a0_0x39d910,_0x4306ce={'Qumjr':_0x510d69(0x1b3),'pXXGN':'completed','RVNKo':_0x510d69(0x1a0)};try{await redisHelper[_0x510d69(0x1d1)](_0x185e78,{'status':'processing','started_at':new Date()['toISOString']()}),logger[_0x510d69(0x19b)]({'event':_0x510d69(0x191),'jobId':_0x185e78},_0x4306ce[_0x510d69(0x1f3)]);const _0x190029=await this[_0x510d69(0x1c5)](_0x30f5a8);await redisHelper[_0x510d69(0x1d1)](_0x185e78,{'total_rows':_0x190029[_0x510d69(0x1a4)]});const _0x3d4dad=await this[_0x510d69(0x1d2)](_0x185e78,_0x190029,_0x30f5a8);await redisHelper['updateJob'](_0x185e78,{'status':_0x4306ce['pXXGN'],'progress':0x64,'file_path':_0x3d4dad,'completed_at':new Date()[_0x510d69(0x1e4)]()}),logger[_0x510d69(0x19b)]({'event':_0x510d69(0x1d7),'jobId':_0x185e78,'rows':_0x190029['length']},_0x510d69(0x198));}catch(_0x588344){logError(_0x588344,{'event':_0x510d69(0x169),'jobId':_0x185e78},_0x4306ce[_0x510d69(0x1d0)]),await redisHelper['updateJob'](_0x185e78,{'status':'failed','error':_0x588344['message'],'failed_at':new Date()['toISOString']()});}}async['fetchData'](_0x136bb8){const _0x479e81=a0_0x39d910,_0x3fbb37={'ksSLE':function(_0xf0a1d7,_0x39ad7e){return _0xf0a1d7===_0x39ad7e;},'ktamh':_0x479e81(0x19f),'yePwe':function(_0x45f699,_0x5252c1){return _0x45f699+_0x5252c1;},'kaSPg':'file:','PQteJ':'export_using_custom_query','FLSpv':'Using\x20custom\x20exportQuery','dSMVx':_0x479e81(0x1e0),'FoQYb':'Fetching\x20data\x20from\x20database','IcwxX':function(_0x579fb6,_0x2275ef){return _0x579fb6>_0x2275ef;},'FFRSh':_0x479e81(0x181),'pSzyY':'Failed\x20to\x20fetch\x20data'};try{const {tableName:_0x400031,columns:_0x6b8fac,exportQuery:_0x1b494e,where:_0x1b3eaa,sort_columns:_0x84eba8}=_0x136bb8;if(!_0x400031||!_0x6b8fac||_0x3fbb37['ksSLE'](_0x6b8fac[_0x479e81(0x1a4)],0x0))throw new Error(_0x3fbb37['ktamh']);const _0x1bb45a=_0x3fbb37[_0x479e81(0x187)](_0x400031['replace'](/\./g,'_'),_0x479e81(0x1cc));let _0xd23b45;if(_0x1b494e&&_0x1b494e['trim']()){let _0x41606d=_0x1b494e;_0x1b494e[_0x479e81(0x182)]()[_0x479e81(0x184)](_0x3fbb37['kaSPg'])&&(_0x41606d=this['resolveExportQuery'](_0x1b494e)),_0xd23b45='WITH\x20'+_0x1bb45a+'\x20AS\x20(\x0a\x20\x20\x20\x20'+_0x41606d+'\x0a)',_0xd23b45+='\x0aSELECT\x20*\x20FROM\x20'+_0x1bb45a,logger['info']({'event':_0x3fbb37['PQteJ'],'query':_0x41606d[_0x479e81(0x1cd)](0x0,0x64)},_0x3fbb37[_0x479e81(0x17a)]);}else{const _0x2453f9=_0x6b8fac['map'](_0x1c73dc=>'\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x1c73dc)[_0x479e81(0x1af)](',');_0xd23b45=_0x479e81(0x153)+_0x1bb45a+_0x479e81(0x1a7)+_0x2453f9+_0x479e81(0x168)+_0x400031+'\x0a)',_0xd23b45+='\x0aSELECT\x20*\x20FROM\x20'+_0x1bb45a,logger[_0x479e81(0x19b)]({'event':_0x479e81(0x1b9),'tableName':_0x400031,'columnCount':_0x6b8fac['length']},_0x479e81(0x1b6));}if(_0x1b3eaa){const _0x5997bd=this[_0x479e81(0x186)](_0x1b3eaa);_0x5997bd&&(_0xd23b45+='\x0aWHERE\x20'+_0x5997bd);}if(_0x84eba8&&_0x84eba8[_0x479e81(0x1a4)]>0x0){const _0x23546c=this[_0x479e81(0x180)](_0x84eba8);_0x23546c&&(_0xd23b45+='\x0aORDER\x20BY\x20'+_0x23546c);}logger[_0x479e81(0x19b)]({'event':_0x3fbb37['dSMVx'],'query':_0xd23b45[_0x479e81(0x1cd)](0x0,0xc8)},_0x3fbb37['FoQYb']);const _0x23731d=await executeQuery(_0xd23b45);let _0x4f08da=_0x23731d;return dbType==='oracle'&&_0x23731d&&_0x3fbb37['IcwxX'](_0x23731d['length'],0x0)&&(_0x4f08da=_0x23731d['map'](_0x33b3f5=>{const _0x120545=_0x479e81,_0x3d14af={};for(const [_0x355b91,_0x5d168d]of Object[_0x120545(0x1c0)](_0x33b3f5)){_0x3d14af[_0x355b91['toLowerCase']()]=_0x5d168d;}return _0x3d14af;})),logger[_0x479e81(0x19b)]({'event':_0x3fbb37['FFRSh'],'rows':_0x4f08da['length']},_0x479e81(0x1a6)),_0x4f08da;}catch(_0x16652b){logError(_0x16652b,{'event':_0x479e81(0x17f)},_0x3fbb37[_0x479e81(0x16f)]);throw _0x16652b;}}['sanitizeValue'](_0x1a67bd){const _0x7fd81f=a0_0x39d910,_0x48af15={'ldUfz':function(_0x3a8823,_0x941f21){return _0x3a8823===_0x941f21;}};if(_0x48af15[_0x7fd81f(0x1be)](typeof _0x1a67bd,_0x7fd81f(0x19c)))return _0x1a67bd[_0x7fd81f(0x1c9)](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')[_0x7fd81f(0x182)]();else{if(Array['isArray'](_0x1a67bd))return _0x1a67bd['map'](_0x268a05=>this[_0x7fd81f(0x18d)](_0x268a05));}return _0x1a67bd;}[a0_0x39d910(0x186)](_0x2c24fe){const _0x4d2684=a0_0x39d910,_0x9bb658={'FRCVt':function(_0x3b9248,_0x1fbdb2){return _0x3b9248||_0x1fbdb2;},'FxpoG':_0x4d2684(0x189),'NrSyT':function(_0x2ad1cd,_0x3fbfef){return _0x2ad1cd===_0x3fbfef;},'nIDLC':function(_0x41921a,_0x1acdfd){return _0x41921a===_0x1acdfd;},'MbKPo':_0x4d2684(0x19c),'wcdRM':'LIKE','JpvYX':_0x4d2684(0x179),'pagZz':_0x4d2684(0x1cf),'swXNE':_0x4d2684(0x18f)};if(!_0x2c24fe||!_0x2c24fe['conditions']||_0x2c24fe[_0x4d2684(0x1f0)]['length']===0x0)return'';const {logic:_0x5e9587,conditions:_0x118439}=_0x2c24fe,_0x30908d=_0x5e9587&&_0x5e9587['toUpperCase']()==='OR'?_0x9bb658[_0x4d2684(0x18c)]:_0x4d2684(0x1d5),_0x2cbc5a=_0x118439[_0x4d2684(0x197)](_0x5430ab=>{const _0x5bf0aa=_0x4d2684,_0x52a4d0={'lGuwF':_0x5bf0aa(0x19c),'kBcvq':function(_0x3c40a0,_0x3b413d){return _0x3c40a0===_0x3b413d;}},{key:_0x4f9894,operator:_0x3181e7,value:_0x3c92b2,sensitive:_0x175a3a}=_0x5430ab;if(_0x9bb658[_0x5bf0aa(0x1d9)](!_0x4f9894,!_0x3181e7))return logger['warn']({'event':_0x9bb658['FxpoG'],'condition':_0x5430ab},'Skipping\x20invalid\x20condition'),null;const _0x51617b=this['sanitizeValue'](_0x3c92b2),_0x2c66c1=_0x175a3a!==undefined?_0x175a3a:!![];let _0x571c0a=_0x4f9894,_0x39596e=_0x51617b;!_0x2c66c1&&(_0x571c0a=_0x5bf0aa(0x199)+_0x4f9894+')',_0x9bb658['NrSyT'](typeof _0x3c92b2,_0x5bf0aa(0x19c))&&(_0x39596e=_0x3c92b2['toUpperCase']()));const _0x5f2973=_0x9bb658[_0x5bf0aa(0x196)](typeof _0x39596e,_0x9bb658['MbKPo'])?'\x27'+_0x39596e['replace'](/'/g,'\x27\x27')+'\x27':_0x39596e;switch(_0x3181e7['toUpperCase']()){case'=':case'!=':case'<>':return _0x571c0a+'\x20'+_0x3181e7+'\x20'+_0x5f2973;case'>':case'<':case'>=':case'<=':const _0x5e1266=_0x9bb658[_0x5bf0aa(0x196)](typeof _0x51617b,_0x9bb658['MbKPo'])?'\x27'+_0x51617b[_0x5bf0aa(0x1c9)](/'/g,'\x27\x27')+'\x27':_0x51617b;return _0x4f9894+'\x20'+_0x3181e7+'\x20'+_0x5e1266;case _0x9bb658[_0x5bf0aa(0x16b)]:case _0x9bb658['JpvYX']:return _0x571c0a+'\x20'+_0x3181e7+'\x20'+_0x5f2973;case'IN':if(Array[_0x5bf0aa(0x1c6)](_0x51617b)){let _0x5af330;return!_0x2c66c1?_0x5af330=_0x51617b['map'](_0x5298c1=>{const _0x395a1e=_0x5bf0aa,_0x149696=typeof _0x5298c1===_0x52a4d0['lGuwF']?_0x5298c1[_0x395a1e(0x1b0)]():_0x5298c1;return _0x52a4d0['kBcvq'](typeof _0x149696,'string')?'\x27'+_0x149696[_0x395a1e(0x1c9)](/'/g,'\x27\x27')+'\x27':_0x149696;})[_0x5bf0aa(0x1af)](',\x20'):_0x5af330=_0x51617b['map'](_0x8936d9=>typeof _0x8936d9===_0x5bf0aa(0x19c)?'\x27'+_0x8936d9['replace'](/'/g,'\x27\x27')+'\x27':_0x8936d9)[_0x5bf0aa(0x1af)](',\x20'),_0x571c0a+'\x20IN\x20('+_0x5af330+')';}return _0x571c0a+_0x5bf0aa(0x1d6)+_0x5f2973+')';case _0x9bb658['pagZz']:return _0x4f9894+'\x20IS\x20NULL';case _0x5bf0aa(0x18b):return _0x4f9894+_0x5bf0aa(0x1df);default:logger[_0x5bf0aa(0x19a)]({'event':_0x5bf0aa(0x1ab),'operator':_0x3181e7},'Unknown\x20operator,\x20using\x20=\x20as\x20default');return _0x571c0a+_0x5bf0aa(0x1d4)+_0x5f2973;}})[_0x4d2684(0x1ef)](_0x702cfa=>_0x702cfa!==null);if(_0x9bb658['nIDLC'](_0x2cbc5a['length'],0x0))return'';return _0x2cbc5a['join'](_0x30908d);}[a0_0x39d910(0x180)](_0x2933c3){const _0x526195=a0_0x39d910,_0x75b002={'IKpIU':_0x526195(0x175),'YLTXy':_0x526195(0x173),'UNKRr':_0x526195(0x1c1),'LDDlq':'ASC','JKlxS':function(_0x1dd3df,_0x2f09ba){return _0x1dd3df===_0x2f09ba;},'kzYNY':function(_0x2dbd23,_0x331547){return _0x2dbd23===_0x331547;}};if(!_0x2933c3||_0x75b002[_0x526195(0x1a3)](_0x2933c3['length'],0x0))return'';const _0x2522bc=_0x2933c3[_0x526195(0x197)](_0x1e3675=>{const _0x523035=_0x526195,{column:_0x5593ad,direction:_0x1f8238}=_0x1e3675;if(!_0x5593ad)return logger['warn']({'event':_0x75b002['IKpIU'],'item':_0x1e3675},_0x75b002['YLTXy']),null;const _0x37cae6=_0x1f8238&&_0x1f8238[_0x523035(0x1b0)]()===_0x75b002['UNKRr']?'DESC':_0x75b002[_0x523035(0x1aa)];return _0x5593ad+'\x20'+_0x37cae6;})[_0x526195(0x1ef)](_0x28c714=>_0x28c714!==null);if(_0x75b002[_0x526195(0x1cb)](_0x2522bc['length'],0x0))return'';return _0x2522bc['join'](',\x20');}async['generateExcel'](_0x28bf48,_0x2ad04f,_0x35da00){const _0x36573e=a0_0x39d910,_0x5728c4={'ryDve':function(_0x5ad3ad,_0xc7483a){return _0x5ad3ad*_0xc7483a;},'JCaqB':function(_0x250ac8,_0x52baf8){return _0x250ac8(_0x52baf8);},'wSBWU':function(_0x417d88,_0xd58022){return _0x417d88===_0xd58022;},'XRhkW':function(_0x415798,_0x2cf7c4){return _0x415798===_0x2cf7c4;},'ssvOw':'all','csaPq':function(_0xcfe247,_0x383079){return _0xcfe247>_0x383079;},'dsFHV':_0x36573e(0x1ac),'PGrxu':_0x36573e(0x16a),'cngZf':function(_0x2d29de,_0x18610f){return _0x2d29de>_0x18610f;},'GMmce':'excel_columns_from_request','pjpgA':_0x36573e(0x15a),'XrdzA':_0x36573e(0x1e8),'qOpzj':_0x36573e(0x161)},_0xe11c94=_0x5728c4[_0x36573e(0x170)](require,'../utils/excel-generator'),_0x4cc74d=new _0xe11c94(),_0x220a68=_0x35da00['filename']?_0x35da00['filename']+'-'+_0x28bf48:'export-'+_0x28bf48,_0x15b0a4=path[_0x36573e(0x1af)](this['exportDir'],_0x220a68+'.xlsx');let _0x3a8276=_0x35da00['columns'];const _0x1d372a=_0x35da00[_0x36573e(0x1ee)]&&_0x35da00['exportQuery']['trim'](),_0xdb6467=_0x3a8276&&_0x5728c4[_0x36573e(0x1ed)](_0x3a8276[_0x36573e(0x1a4)],0x1)&&(_0x5728c4['wSBWU'](_0x3a8276[0x0],'*')||_0x5728c4[_0x36573e(0x1ec)](_0x3a8276[0x0]['toLowerCase'](),_0x5728c4['ssvOw']));if(_0x5728c4[_0x36573e(0x1ea)](_0x2ad04f['length'],0x0)){const _0x38828a=Object['keys'](_0x2ad04f[0x0]);if(_0x1d372a)_0x3a8276=_0x38828a,logger[_0x36573e(0x19b)]({'event':_0x5728c4['dsFHV'],'columns':_0x3a8276},_0x36573e(0x1db)+_0x3a8276['length']+'\x20columns\x20from\x20custom\x20exportQuery\x20result');else{if(_0xdb6467)_0x3a8276=_0x38828a,logger[_0x36573e(0x19b)]({'event':_0x5728c4['PGrxu'],'columns':_0x3a8276},_0x36573e(0x1a9)+_0x3a8276[_0x36573e(0x1a4)]+_0x36573e(0x157));else{if(_0x3a8276&&_0x5728c4[_0x36573e(0x1ea)](_0x3a8276['length'],0x0)){const _0x5682d9=_0x3a8276[_0x36573e(0x1ef)](_0x55a168=>_0x38828a['includes'](_0x55a168));_0x5728c4[_0x36573e(0x190)](_0x5682d9[_0x36573e(0x1a4)],0x0)?(_0x3a8276=_0x5682d9,logger[_0x36573e(0x19b)]({'event':_0x5728c4['GMmce'],'requestedColumns':_0x35da00[_0x36573e(0x172)],'validColumns':_0x3a8276},'Using\x20'+_0x3a8276['length']+'\x20columns\x20from\x20request')):(_0x3a8276=_0x38828a,logger['warn']({'event':_0x5728c4[_0x36573e(0x1ba)],'requestedColumns':_0x35da00['columns'],'availableColumns':_0x38828a},_0x36573e(0x1bf)+_0x38828a[_0x36573e(0x1a4)]+'\x20columns'));}else _0x3a8276=_0x38828a,logger['info']({'event':_0x5728c4['XrdzA'],'columns':_0x3a8276},'Using\x20'+_0x3a8276[_0x36573e(0x1a4)]+_0x36573e(0x165));}}}else logger[_0x36573e(0x19b)]({'event':_0x5728c4[_0x36573e(0x1e6)],'columns':_0x3a8276},'Using\x20'+(_0x3a8276?.['length']||0x0)+_0x36573e(0x1d8));return await _0x4cc74d['generate']({'data':_0x2ad04f,'columns':_0x3a8276,'columnFormats':_0x35da00[_0x36573e(0x1f2)]||null,'fieldLabels':_0x35da00[_0x36573e(0x176)]||null,'filePath':_0x15b0a4,'onProgress':async _0x2605f8=>{const _0x295b3b=_0x36573e;await redisHelper['updateJob'](_0x28bf48,{'progress':Math['round'](_0x2605f8),'processed_rows':Math['round'](_0x5728c4[_0x295b3b(0x1dd)](_0x2605f8/0x64,_0x2ad04f['length']))});}}),_0x15b0a4;}async[a0_0x39d910(0x160)](_0x5a7216){const _0x2482f8=a0_0x39d910,_0x173c4f={'jkdBQ':function(_0x44a554,_0x58063e){return _0x44a554!==_0x58063e;},'IeWog':'export_file_not_found','NyeNU':'Export\x20file\x20not\x20found'},_0x23767b=await redisHelper['getJob'](_0x5a7216);if(!_0x23767b||_0x173c4f[_0x2482f8(0x155)](_0x23767b[_0x2482f8(0x174)],_0x2482f8(0x1bd)))return null;try{return await fs['access'](_0x23767b[_0x2482f8(0x17e)]),_0x23767b[_0x2482f8(0x17e)];}catch(_0x361168){return logError(_0x361168,{'event':_0x173c4f['IeWog'],'jobId':_0x5a7216,'path':_0x23767b['file_path']},_0x173c4f['NyeNU']),null;}}async['cleanup'](){const _0x2215cb=a0_0x39d910,_0x10b479={'SLrfG':'export_cleanup_start','IuTHY':function(_0x542a85,_0x596ccf){return _0x542a85-_0x596ccf;},'vXnzY':function(_0x189e67,_0x3d86f5){return _0x189e67*_0x3d86f5;},'ajaUH':_0x2215cb(0x167),'Iwizh':_0x2215cb(0x185),'bUMeC':_0x2215cb(0x1b4)};logger['info']({'event':_0x10b479[_0x2215cb(0x15b)]},'Starting\x20export\x20cleanup');const _0x55c5dd=await redisHelper['getAllJobs']();let _0x4f633f=0x0;for(const _0x2a3c80 of _0x55c5dd){const _0x5550c6=new Date(_0x2a3c80[_0x2215cb(0x17b)]),_0xd09d9d=new Date(),_0x408b74=_0x10b479['IuTHY'](_0xd09d9d,_0x5550c6)/(_0x10b479[_0x2215cb(0x1e1)](0x3e8,0x3c)*0x3c);if(_0x408b74>0x1){if(_0x2a3c80[_0x2215cb(0x17e)])try{await fs['unlink'](_0x2a3c80['file_path']),logger['info']({'event':_0x10b479[_0x2215cb(0x15e)],'path':_0x2a3c80[_0x2215cb(0x17e)]},_0x10b479[_0x2215cb(0x1c7)]);}catch(_0x3cdf12){logger['warn']({'event':_0x10b479[_0x2215cb(0x193)],'path':_0x2a3c80[_0x2215cb(0x17e)],'error':_0x3cdf12['message']},_0x2215cb(0x1ae));}await redisHelper[_0x2215cb(0x1eb)](_0x2a3c80['job_id']),_0x4f633f++;}}return logger[_0x2215cb(0x19b)]({'event':_0x2215cb(0x15d),'deleted':_0x4f633f},'Export\x20cleanup\x20completed'),_0x4f633f;}}function a0_0x3481(){const _0x3fa23d=['DKD0wue','rxHWB3j0ihbYB2nLC3nPBMCGzMfPBgvK','DgfIBgvoyw1LigfUzcbJB2X1Bw5ZigfYzsbYzxf1AxjLza','rxHWB3j0igzHAwXLza','y3jLyxrLsM9I','ChjVy2vZC2vKx3jVD3m','sKTSEfm','BgvUz3rO','Dg9mB3DLCKnHC2u','rgf0ysbMzxrJAgvKihn1y2nLC3nMDwXSEq','iefticGkicaGifnftevdvca','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','vxnPBMCGywXSia','tereBhe','Dw5RBM93BL9VCgvYyxrVCG','zxHJzwXFy29SDw1UC19MCM9Tx2n1C3rVBv9XDwvYEq','mJyZnZj6z1LSEei','rMfPBgvKihrVigrLBgv0zsbLEhbVCNqGzMLSzq','AM9PBG','Dg9vChbLCKnHC2u','CMfUzg9T','zgvMyxvSDa','rxHWB3j0ihbYB2nLC3nPBMCGC3rHCNrLza','zxHWB3j0x2zPBgvFzgvSzxrLx2vYCM9Y','CMvZB2X2zq','vxnPBMCGyxv0BY1Nzw5LCMf0zwqGCxvLCNK','ru5pru5u','zxHWB3j0x3bYB2nLC3nFzxjYB3i','zxHWB3j0x3vZAw5Nx2f1Dg9FCxvLCNK','CgPWz0e','z0HjCxy','x2v4Cg9YDerPCG','y29TCgXLDgvK','BgrvzNO','uMvXDwvZDgvKignVBhvTBNmGBM90igzVDw5KigLUigrHDgeSihvZAw5NigfSBca','zw50CMLLCW','revtqW','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','y3DK','lI4VDxrPBhmVzgi','zMv0y2HeyxrH','AxnbCNjHEq','sxDPEMG','lI4VDxrPBhmVzgiTB3jHy2XL','CMvWBgfJzq','rxHWB3j0igPVyIbJCMvHDgvK','A3PztLK','x2rHDge','C3vIC3rYAw5N','CgvUzgLUzW','svmGtLvmta','uLzos28','DxbKyxrLsM9I','z2vUzxjHDgvfEgnLBa','mZGYngTKww1gEq','id0G','ieforca','ieLoicG','zxHWB3j0x2nVBxbSzxrLza','ignVBhvTBNmGzNjVBsbJB25MAwCGkg5VigrHDgeP','rLjdvNq','Dfn5rfm','vxnPBMCG','zMLSztO','CNLeDMu','ChjVz3jLC3m','ieLtie5pvcbovuXm','zxHWB3j0x2zLDgnOx3n0yxj0','DLHUELK','mZa1otyYsMvVsuPo','rxHWB3j0ihf1zxj5igzPBguGAxmGzw1WDhK6ia','Dg9ju09tDhjPBMC','BwvZC2fNzq','Cu9WEMO','nZi5mJu1zurWvfbf','zxHJzwXFy29SDw1UC19MCM9Tx3f1zxj5x3jLC3vSDa','odDfAevjreO','y3nHuhe','zgvSzxrLsM9I','wfjOA1C','D1ncv1u','zxHWB3j0uxvLCNK','zMLSDgvY','y29UzgL0Aw9UCW','zxHPC3rZu3LUyW','y29SDw1UrM9YBwf0CW','uxvTANi','mJeXndq1nvv1s1bMta','EhjKs0C','BxLZCwW','v0Lusca','rejFvfLqrq','AMTKqLe','z2vUzxjHDgvkB2jjza','ignVBhvTBNmGkhDPBgrJyxjKihjLCxvLC3rLzcK','mJK3BMHbqwzy','mZe3ntyWmxvOuKz4rW','zxHJzwXFy29SDw1UC19MywXSyMfJAW','u0XYzKC','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','zxHWB3j0x2nSzwfUDxbFy29TCgXLDgu','ywPHvuG','Cgf5Bg9Hza','z2v0rMLSzvbHDgG','zxHJzwXFy29SDw1UC19MCM9Tx2nVBMzPzW','zw5KCg9PBNroyw1L','y2f0y2G','rMfPBgvKihrVihjLywqGzxHWB3j0ihf1zxj5igzPBgu6ia','ignVBhvTBNmGzNjVBsbXDwvYEsbYzxn1Bhq','Cg9ZDgDYzxnXBa','zxHWB3j0x2zPBgvFzgvSzxrLza','cIaGicbguK9nia','zxHWB3j0x2zHAwXLza','zxHJzwXFy29SDw1UC19ZzwXLy3rFywXS','D2nKuK0','mNbpBKDvyq','lI4VlI4VzxHWB3j0CY8','zMXVB3i','Cfn6EvK','sKnHCui','tg9HzgvKifnrtcbXDwvYEsbMCM9TigzPBguGka','y29SDw1UCW','u2TPChbPBMCGAw52ywXPzcbZB3j0ignVBhvTBG','C3rHDhvZ','Aw52ywXPzf9ZB3j0x2nVBhvTBG','zMLLBgrmywjLBhm','rxHWB3j0ihnLCNzPy2uGAw5PDgLHBgL6zwq','CgfYyw1Z','tK9uieXjs0u','rKXtChy','y3jLyxrLzf9HDa','zxjYB3i','rgjLBwu','zMLSzv9WyxrO','zxHWB3j0x2zLDgnOx2vYCM9Y','yNvPBgrpCMrLCKj5q2XHDxnL','zxHWB3j0x2zLDgnOx2nVBxbSzxrL','DhjPBq','zxHWB3j0x3f1zxj5x2zPBgvFCMvZB2X2zq','C3rHCNrZv2L0Aa','rxHWB3j0igzPBguGzgvSzxrLza','yNvPBgrxAgvYzunSyxvZzq','EwvqD2u','C2v0sM9I','Aw52ywXPzf9JB25KAxrPB24','mZmZndyXmeXxuurLyG','svmGtK9uie5vteW','C3DytKu','C2fUAxrPEMvwywX1zq','nLDwwgTxDq','ie9sia','y25NwMy','zxHWB3j0x3bYB2nLC3nPBMDFC3rHCNq','sw52ywXPzcbMAwXLoIbYzwzLCMvUy2uGlsbWyxrOigLZigvTChr5','yLvnzum','CMvZB2X2zuv4Cg9YDff1zxj5','zxHLy3v0zvf1zxj5','BKLetem','BwfW','rxHWB3j0ignVBxbSzxrLzcbZDwnJzxnZzNvSBhK','vvbqrviO','D2fYBG','Aw5MBW','C3rYAw5N'];a0_0x3481=function(){return _0x3fa23d;};return a0_0x3481();}module['exports']=new ExportService();
@@ -1 +1 @@
1
- const a0_0x38e9c5=a0_0xbde6;(function(_0x129a09,_0x335a92){const _0x27d757=a0_0xbde6,_0x475d8f=_0x129a09();while(!![]){try{const _0x2ef186=parseInt(_0x27d757(0x1e9))/0x1+parseInt(_0x27d757(0x1fb))/0x2+-parseInt(_0x27d757(0x203))/0x3*(-parseInt(_0x27d757(0x202))/0x4)+-parseInt(_0x27d757(0x18e))/0x5*(parseInt(_0x27d757(0x1d3))/0x6)+-parseInt(_0x27d757(0x1b4))/0x7*(-parseInt(_0x27d757(0x1d6))/0x8)+parseInt(_0x27d757(0x20a))/0x9*(-parseInt(_0x27d757(0x22d))/0xa)+parseInt(_0x27d757(0x1f3))/0xb;if(_0x2ef186===_0x335a92)break;else _0x475d8f['push'](_0x475d8f['shift']());}catch(_0x284fe8){_0x475d8f['push'](_0x475d8f['shift']());}}}(a0_0x1757,0x3b40f));const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')[a0_0x38e9c5(0x194)],redisHelper=require(a0_0x38e9c5(0x1a5)),{logger,logError}=require('../utils/logger'),dbType=(process['env']['DB_TYPE']||'postgresql')[a0_0x38e9c5(0x1be)]();function a0_0xbde6(_0x4433cb,_0x3de62c){_0x4433cb=_0x4433cb-0x17d;const _0x1757bd=a0_0x1757();let _0xbde686=_0x1757bd[_0x4433cb];if(a0_0xbde6['KcwcyH']===undefined){var _0x4b1a06=function(_0x19d0a2){const _0x274bf4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x574ded='',_0x3089b0='';for(let _0x46dc96=0x0,_0x484fd4,_0x284e6b,_0x2bc28f=0x0;_0x284e6b=_0x19d0a2['charAt'](_0x2bc28f++);~_0x284e6b&&(_0x484fd4=_0x46dc96%0x4?_0x484fd4*0x40+_0x284e6b:_0x284e6b,_0x46dc96++%0x4)?_0x574ded+=String['fromCharCode'](0xff&_0x484fd4>>(-0x2*_0x46dc96&0x6)):0x0){_0x284e6b=_0x274bf4['indexOf'](_0x284e6b);}for(let _0x1faf4d=0x0,_0x33865c=_0x574ded['length'];_0x1faf4d<_0x33865c;_0x1faf4d++){_0x3089b0+='%'+('00'+_0x574ded['charCodeAt'](_0x1faf4d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3089b0);};a0_0xbde6['fWSwWa']=_0x4b1a06,a0_0xbde6['rCdrXP']={},a0_0xbde6['KcwcyH']=!![];}const _0x4fa851=_0x1757bd[0x0],_0x251f74=_0x4433cb+_0x4fa851,_0x5258a4=a0_0xbde6['rCdrXP'][_0x251f74];return!_0x5258a4?(_0xbde686=a0_0xbde6['fWSwWa'](_0xbde686),a0_0xbde6['rCdrXP'][_0x251f74]=_0xbde686):_0xbde686=_0x5258a4,_0xbde686;}function a0_0x1757(){const _0xcdcb26=['lI4VDxrPBhmVzgiTB3jHy2XL','zxbcu1O','qxv0BY1Nzw5LCMf0zwqGvvvjrcbMB3iG','zNP1r3i','CM93sw5KzxG','DMfSAwrHDgLUzW','BwvZC2fNzq','y3jLyxrLzf9HDa','zxjYB3jZ','x2v4Axn0Aw5Nswq','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','ChjVy2vZC2LUzW','tgT2qM8','uhjVy2vZC2LUzYbSB29RDxaGzMLLBgrZ','A2vrv0G','DePrEwK','zNjVBq','zxHLy3v0zvf1zxj5','y29TBwL0x2PVyL9MywLSzwq','Aw1WB3j0x2zPBgvFDxbSB2fKzwq','mtyWy3HfqvbZ','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','yMf0y2HwywXPzgf0zvjVD3m','C3rYAw5N','A2v5CW','lI4VDxrPBhmVzxHJzwWTCgfYC2vY','BgfIzwXFDg9FzMLLBgrFBwfWx2j1AwX0','y3jLyxrLuhjLDMLLD0PVyG','C2v0','q29TBwL0igPVyIbJCMvHDgvK','t2vjEKu','ChjLDMLLD19LCNjVCG','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','AM9IoG','vKHOthO','whPwqLa','C2L6zq','BM1kwuW','Dvbzteu','tLvmta','y2H3uNy','ugnprxC','x2DLBMvYyxrLzf91DwLK','ndy1wgLNyxjs','vvPSCMS','yNvPBgrmywjLBfrVrMLLBgrnyxa','svHlDMm','y29SDw1UrM9YBwf0CW','C0PAywe','ChjVBwLZzxm','q29TBwL0igPVyIbJB21WBgv0zwq','q1Hiv1O','CMfUzg9T','DxbTsw4','C2TPCf9LEgLZDgLUzW','Ahb5D1K','zMXVB3i','shHmzuS','ChvZAa','Cgf0Aa','BM93','z2v0sM9Iu3rHDhvZ','Bwf0y2G','tgfIzwWGDg8GzMLLBgqGBwfWCgLUzYbIDwLSDa','BwfW','zgf0zq','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','DxbSB2fKx2LK','reTKq24','Aw5JBhvKzxm','zMLSzv9JBgvHBNvWx2vYCM9Y','AKXtswm','zMLUza','ChjVy2vZC1bYzxzPzxDkB2i','zw50CMLLCW','DxbSB2fKrMLSzq','u0Tjua','zwD6A2G','lI4VDxrPBhmVAw1WB3j0lxzHBgLKyxrVCG','uMHQzhy','A3PSDMS','nde5m2DluurdCG','DgfYz2v0rMLLBgq','lI4VDxrPBhmVDxbZzxj0lwj1AwXKzxi','zMfSC2u','rxj2z1e','yxbWBhLdB2X1Bw5gB3jTyxrZ','vgvlsNy','y29TBwL0x2PVyL9JCMvHDgvK','AgvHzgvYC19TyxbWzwq','x3vWBg9HzerPCG','Dg9mB3DLCKnHC2u','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','BwvXqNy','DxbKyxrLx2v4Axn0Aw5N','BxLZCwW','zMfPBgvK','z2v0rgf0zq','wu5fDNa','DxbSB2fKrgLY','q29TBwL0ihbYB2nLC3nPBMCGzMfPBgvK','BNvTyMvY','Bg9VA3vWrMLLBgrZ','vvbeqvrf','Dg9vChbLCKnHC2u','DvzTtMy','y29SDw1U','y2f0y2G','sLbAyMq','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','z2v0sM9I','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','mJGXndz0BMvWzvG','zgvIDwC','C2v0sM9I','ndmYofDqyLLpta','Dg9ju09tDhjPBMC','yNvPBgrcyxrJAfvWzgf0zq','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','Aw5Zzxj0','C3rHDhvZ','CMvWBgfJzq','y29TBwL0x3bYB2nLC3nFzxjYB3i','AM9Ix2LK','wLvZy08','u0fdB1O','BgvUz3rO','qxbIwei','Dw5SAw5R','BevnvKu','zgvMyxvSDa','jdfFjdi','CgfYyw1Z','q0PgwvG','mJu5ntq2EuLQvLPs','C2XPy2u','AM9PBG','rfzmzKy','y3jLyxrLq29TBwL0sM9I','zM9YrwfJAa','svnhvLu','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','tenfu0y','uhjLDMLLDYbWCM9JzxnZAw5NigzHAwXLza','mJG0mdeXmLHWrLL5za','vLbIqLK','DKnLy3a','D1rIsLq','ChjVy2vZC2vKuM93CW','zM9YBwf0qM9VBgvHBKzVCKrHDgfIyxnL','DMfSAwq','yM9VBgvHBG','otm0otrMEMDrs2K','y29TCgXLDgvK','uMvXDwvZDcbZy29WzsbVDMvYCMLKzsbHChbSAwvKihrVigLTCg9YDgvKihjVD3m','x2fJDgLVBG','yw5At3m','su5trvju','AvnowKq','mZm2odH0uMfxA3u','ntfJwgjXtLO','ChjLDMLLD19QB2jFy29TCgXLDgvK','rwXUAvG','CM93CW','CgfKu3rHCNq','z2v0','zMLSDgvY','mtK4ndiZv1znA0nv','ChjVy2vZC2LUz19SB29RDxbFzMLLBgrZ','zw52','q29TBwL0igPVyIbMywLSzwq','DxbSB2fKoG','cIaGicaGicaGv0HfuKuG','z2v0vgLTzq','C3vIC3rYAw5N','C2nVCgvpDMvYCMLKzq','sgP1yxO','Dgv4Da','ChjLDMLLD19VAW','yNvPBgrcyxrJAeLUC2vYDa','A3fnt1O','Aw1WB3j0x2zPzwXKC19MAwX0zxjLza'];a0_0x1757=function(){return _0xcdcb26;};return a0_0x1757();}let executeQuery,executeTransaction,oracleDb;if(dbType==='oracle')oracleDb=require(a0_0x38e9c5(0x219)),executeQuery=(_0x49fb95,_0x3e5abf)=>oracleDb[a0_0x38e9c5(0x22a)](_0x49fb95,_0x3e5abf),executeTransaction=_0xfaed7f=>oracleDb['executeTransaction'](_0xfaed7f);else{if(dbType===a0_0x38e9c5(0x1c2)){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x34e2f5,_0x24ed96)=>mysqlDb['executeQuery'](_0x34e2f5,_0x24ed96),executeTransaction=_0x4ce119=>mysqlDb['executeTransaction'](_0x4ce119);}else{const db=require('../utils/db');executeQuery=db['executeQuery'],executeTransaction=db['executeTransaction'];}}const excelParser=require(a0_0x38e9c5(0x232)),importValidator=require(a0_0x38e9c5(0x1b1)),upsertBuilder=require(a0_0x38e9c5(0x1b6)),lookupResolver=require('../utils/lookup-resolver');class ImportService{constructor(){this['_uploadDir']=null;}get[a0_0x38e9c5(0x1c6)](){const _0xd923dd=a0_0x38e9c5;if(!this['_uploadDir']){const _0x57602c=process[_0xd923dd(0x20c)]['RESTFORGE_PROJECT_NAME']||_0xd923dd(0x1e5);this[_0xd923dd(0x1bd)]=process[_0xd923dd(0x20c)]['UPLOAD_DIR']||path[_0xd923dd(0x1eb)](__dirname,'../../temp/uploads/'+_0x57602c);}return this[_0xd923dd(0x1bd)];}['generateId'](){const _0xf311cf=a0_0x38e9c5,_0x2cae20={'chwRv':function(_0x25c2f4,_0x320501){return _0x25c2f4<_0x320501;},'epBSZ':function(_0x36029e,_0x1db48c){return _0x36029e*_0x1db48c;}},_0x2f3900='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0xa8fecd=Date[_0xf311cf(0x19f)]()['toString'](0x24),_0x497336=uuidv7()[_0xf311cf(0x1dc)](/-/g,'')[_0xf311cf(0x211)](0x0,0xc-_0xa8fecd['length']),_0x38b995=(_0xa8fecd+_0x497336)[_0xf311cf(0x211)](0x0,0xc);let _0x13703c='';for(let _0x411f4b=0x0;_0x2cae20[_0xf311cf(0x18b)](_0x411f4b,0xc);_0x411f4b++){_0x38b995[_0x411f4b]?_0x13703c+=_0x38b995[_0x411f4b]:_0x13703c+=_0x2f3900['charAt'](Math[_0xf311cf(0x19b)](_0x2cae20[_0xf311cf(0x21a)](Math[_0xf311cf(0x197)](),_0x2f3900[_0xf311cf(0x1e1)])));}return _0x13703c;}[a0_0x38e9c5(0x190)](_0x3792b5){const _0x2ca1d4=a0_0x38e9c5,_0x3894cf={'DVLfF':function(_0x3087ed,_0x39e733){return _0x3087ed(_0x39e733);},'LuvFJ':'$1_$2','FlCsG':_0x2ca1d4(0x17d),'LkvBo':_0x2ca1d4(0x1a2)},_0x354f65=new Map();if(!_0x3792b5)return _0x354f65;return Object[_0x2ca1d4(0x1ad)](_0x3792b5)[_0x2ca1d4(0x1ee)](([_0x1f22f3,_0x5b3d1c])=>{const _0x5819dc=_0x2ca1d4,_0x452959=_0x3894cf[_0x5819dc(0x1ec)](String,_0x5b3d1c)['trim']()[_0x5819dc(0x1dc)](/\s+/g,'_')['replace'](/([a-z])([A-Z])/g,_0x5819dc(0x1e6))['replace'](/([A-Z]+)([A-Z][a-z])/g,_0x3894cf['LuvFJ'])[_0x5819dc(0x1be)]();_0x354f65[_0x5819dc(0x17f)](_0x452959,_0x1f22f3);}),logger['debug']({'event':_0x3894cf['FlCsG'],'mappingCount':_0x354f65[_0x2ca1d4(0x187)]},_0x3894cf[_0x2ca1d4(0x225)]),_0x354f65;}['applyColumnFormats'](_0x44b80a,_0x321693){const _0x378ebf=a0_0x38e9c5,_0xc2d829={'sJZaa':function(_0x2cb5c8,_0x12f589){return _0x2cb5c8===_0x12f589;},'ueOsk':_0x378ebf(0x1a4),'meqBv':_0x378ebf(0x214)};if(!_0x321693||Object[_0x378ebf(0x231)](_0x321693)[_0x378ebf(0x1e1)]===0x0)return _0x44b80a;return _0x44b80a['map'](_0xa2ec60=>{const _0x8111c9=_0x378ebf,_0x1d3592={..._0xa2ec60};for(const [_0x2bb7b4,_0x19053c]of Object[_0x8111c9(0x1ad)](_0x321693)){const _0x2f2f64=_0x1d3592[_0x2bb7b4];if(_0x2f2f64===null||_0xc2d829[_0x8111c9(0x193)](_0x2f2f64,undefined)||_0xc2d829['sJZaa'](_0x2f2f64,'')){_0x1d3592[_0x2bb7b4]=null;continue;}switch(_0x19053c['type']){case _0xc2d829['ueOsk']:_0x1d3592[_0x2bb7b4]=this['formatDateForDatabase'](_0x2f2f64);break;case'number':_0x1d3592[_0x2bb7b4]=this['formatNumberForDatabase'](_0x2f2f64);break;case _0x8111c9(0x1fa):_0x1d3592[_0x2bb7b4]=this['formatBooleanForDatabase'](_0x2f2f64);break;case _0xc2d829[_0x8111c9(0x1c0)]:_0x1d3592[_0x2bb7b4]=String(_0x2f2f64);break;default:break;}}return _0x1d3592;});}[a0_0x38e9c5(0x22e)](_0x4225c4){const _0x1daf51=a0_0x38e9c5,_0x323979={'lEMVE':function(_0x34fb18,_0x4244cd){return _0x34fb18===_0x4244cd;},'TeKJv':_0x1daf51(0x230),'uVmNf':function(_0x1455e0,_0x3ca21d){return _0x1455e0 instanceof _0x3ca21d;},'upmIn':function(_0x583331,_0x18e900){return _0x583331(_0x18e900);},'wHWjI':function(_0x5151ff,_0x466dcd){return _0x5151ff+_0x466dcd;},'YNawK':function(_0x2b1edb,_0x31af65){return _0x2b1edb(_0x31af65);},'jeRXm':function(_0xd6430,_0x500365){return _0xd6430(_0x500365);}};if(_0x323979[_0x1daf51(0x1e4)](_0x4225c4,null)||_0x323979[_0x1daf51(0x1e4)](_0x4225c4,undefined)||_0x323979[_0x1daf51(0x1e4)](_0x4225c4,''))return null;if(typeof _0x4225c4===_0x323979[_0x1daf51(0x1ba)]&&/^\d{4}-\d{2}-\d{2}$/['test'](_0x4225c4))return _0x4225c4;if(_0x323979[_0x1daf51(0x1cc)](_0x4225c4,Date)){if(_0x323979[_0x1daf51(0x198)](isNaN,_0x4225c4[_0x1daf51(0x210)]()))return null;const _0x4b7332=_0x4225c4['getFullYear'](),_0x90f685=String(_0x323979['wHWjI'](_0x4225c4['getMonth'](),0x1))[_0x1daf51(0x207)](0x2,'0'),_0x2c7444=String(_0x4225c4[_0x1daf51(0x1c4)]())[_0x1daf51(0x207)](0x2,'0');return _0x4b7332+'-'+_0x90f685+'-'+_0x2c7444;}if(_0x323979['lEMVE'](typeof _0x4225c4,_0x323979[_0x1daf51(0x1ba)])){const _0xd472f4=_0x4225c4[_0x1daf51(0x1a1)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0xd472f4){const _0x2896d7=_0x323979['YNawK'](String,_0xd472f4[0x1])['padStart'](0x2,'0'),_0x332e0a=String(_0xd472f4[0x2])[_0x1daf51(0x207)](0x2,'0'),_0x3c114c=_0xd472f4[0x3];return _0x3c114c+'-'+_0x332e0a+'-'+_0x2896d7;}const _0x504b8d=_0x4225c4['match'](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x504b8d){const _0xa193b8=_0x504b8d[0x1],_0x31ac08=_0x323979['jeRXm'](String,_0x504b8d[0x2])['padStart'](0x2,'0'),_0x1a4dd6=_0x323979['YNawK'](String,_0x504b8d[0x3])['padStart'](0x2,'0');return _0xa193b8+'-'+_0x31ac08+'-'+_0x1a4dd6;}}return _0x4225c4;}[a0_0x38e9c5(0x183)](_0x3df49f){const _0x2708b6=a0_0x38e9c5,_0x481926={'Rhjdv':function(_0xfc3df4,_0x4d7541){return _0xfc3df4===_0x4d7541;},'CJFYX':function(_0x5d6f7f,_0x3175e2){return _0x5d6f7f===_0x3175e2;},'jLSIc':_0x2708b6(0x1c8),'Fxjqe':function(_0x368955,_0x5297ab){return _0x368955(_0x5297ab);},'yTTOd':function(_0x2bf0a9,_0x1226e5){return _0x2bf0a9(_0x1226e5);}};if(_0x481926[_0x2708b6(0x1b2)](_0x3df49f,null)||_0x3df49f===undefined||_0x3df49f==='')return null;if(_0x481926[_0x2708b6(0x1e8)](typeof _0x3df49f,_0x481926[_0x2708b6(0x1aa)]))return _0x481926['Fxjqe'](isNaN,_0x3df49f)?null:_0x3df49f;if(typeof _0x3df49f==='string'){let _0x51764b=_0x3df49f['trim']();const _0x587a22=/,\d{1,2}$/['test'](_0x51764b)&&!/,\d{3}/['test'](_0x51764b);_0x587a22?_0x51764b=_0x51764b['replace'](/\./g,'')[_0x2708b6(0x1dc)](',','.'):_0x51764b=_0x51764b[_0x2708b6(0x1dc)](/,/g,'');const _0x36074f=parseFloat(_0x51764b);return _0x481926['yTTOd'](isNaN,_0x36074f)?null:_0x36074f;}return null;}[a0_0x38e9c5(0x1f8)](_0x45f77b){const _0x3d3aec=a0_0x38e9c5,_0x191c00={'egzkh':'true','VNRAt':function(_0x1c0b7d,_0x333774){return _0x1c0b7d===_0x333774;},'kqMOZ':_0x3d3aec(0x230),'uMUKt':'yes','hpywY':_0x3d3aec(0x1b7),'gHACf':function(_0x1f5e09,_0xe9419f){return _0x1f5e09===_0xe9419f;}};if(_0x45f77b===null||_0x45f77b===undefined||_0x45f77b==='')return null;if(typeof _0x45f77b==='boolean')return _0x45f77b?_0x191c00[_0x3d3aec(0x1b0)]:'false';if(_0x191c00['VNRAt'](typeof _0x45f77b,_0x191c00[_0x3d3aec(0x217)])){const _0x3cfbe4=_0x45f77b['trim']()[_0x3d3aec(0x1be)]();if(['true',_0x191c00['uMUKt'],'y','1']['includes'](_0x3cfbe4))return _0x191c00[_0x3d3aec(0x1b0)];if([_0x191c00['hpywY'],'no','n','0']['includes'](_0x3cfbe4))return _0x191c00[_0x3d3aec(0x19a)];return null;}if(_0x191c00['gHACf'](typeof _0x45f77b,'number'))return _0x45f77b?'true':_0x191c00['hpywY'];return null;}async[a0_0x38e9c5(0x1ae)](_0x584c1e,_0x1e5bca){const _0x379b6b=a0_0x38e9c5,_0x3f956e={'vCecp':'Excel\x20headers\x20mapped\x20to\x20field\x20names','IyZiL':_0x379b6b(0x1f0),'Rqsta':'Column\x20formats\x20applied\x20to\x20rows','ewJGt':_0x379b6b(0x1d2)},_0x4570ac=this['generateId']();try{let {headers:_0xefe9fb,rows:_0xce32d1,totalRows:_0x39dded}=await excelParser['parseExcelFile'](_0x584c1e['path']);const _0x2f1a41=this['buildLabelToFieldMap'](_0x1e5bca['fieldLabels']),_0x23baa9=_0xefe9fb['map'](_0x572c28=>{const _0x3ef942=_0x379b6b,_0x39ec17=_0x2f1a41[_0x3ef942(0x208)](_0x572c28);return _0x39ec17||_0x572c28;});_0xce32d1=_0xce32d1['map'](_0x2695c1=>{const _0x5cef09={};return _0xefe9fb['forEach']((_0x178a06,_0x2ac6f0)=>{const _0xc45587=_0x23baa9[_0x2ac6f0];_0x5cef09[_0xc45587]=_0x2695c1[_0x178a06];}),_0x5cef09;}),_0xefe9fb=_0x23baa9,logger['debug']({'event':_0x379b6b(0x1bc),'original':_0xefe9fb[_0x379b6b(0x1e1)],'mapped':_0x23baa9['filter']((_0x20129d,_0x360977)=>_0x20129d!==_0xefe9fb[_0x360977])['length']},_0x3f956e[_0x379b6b(0x1f5)]);_0x1e5bca[_0x379b6b(0x192)]&&Object[_0x379b6b(0x231)](_0x1e5bca[_0x379b6b(0x192)])['length']>0x0&&(_0xce32d1=this[_0x379b6b(0x1b9)](_0xce32d1,_0x1e5bca[_0x379b6b(0x192)]),logger[_0x379b6b(0x1d4)]({'event':_0x3f956e['IyZiL'],'formatCount':Object['keys'](_0x1e5bca[_0x379b6b(0x192)])[_0x379b6b(0x1e1)],'formats':Object['keys'](_0x1e5bca['columnFormats'])},_0x3f956e['Rqsta']));if(_0x1e5bca[_0x379b6b(0x212)]&&_0x1e5bca[_0x379b6b(0x212)][_0x379b6b(0x1cd)]){const {column:_0x5208b2,value:_0x467cb9}=_0x1e5bca[_0x379b6b(0x212)];_0xce32d1=_0xce32d1['map'](_0x45236=>({..._0x45236,[_0x5208b2]:_0x467cb9})),logger[_0x379b6b(0x1d4)]({'event':'request_scope_applied','column':_0x5208b2,'rowCount':_0xce32d1[_0x379b6b(0x1e1)]},_0x379b6b(0x1fd));}const _0x2c2f0a=_0x1e5bca['lookupFields']?Object['values'](_0x1e5bca[_0x379b6b(0x1c9)])[_0x379b6b(0x1a3)](_0x49c5a8=>_0x49c5a8[_0x379b6b(0x1b5)]):[],_0x3d5d3b=_0x1e5bca['fieldName']['filter'](_0x1e4336=>!_0x2c2f0a[_0x379b6b(0x1a8)](_0x1e4336)),_0xfeb9e7=excelParser['validateExcelStructure'](_0xefe9fb,_0x3d5d3b);if(!_0xfeb9e7[_0x379b6b(0x1f9)]){await fs['unlink'](_0x584c1e[_0x379b6b(0x19e)]);throw new Error('Excel\x20structure\x20mismatch.\x20Missing\x20fields:\x20'+_0xfeb9e7['missingFields'][_0x379b6b(0x1eb)](',\x20'));}const _0x417b50={'upload_id':_0x4570ac,'filename':_0x584c1e['originalname'],'total_rows':_0x39dded,'headers':_0xefe9fb,'rows':_0xce32d1,'params':_0x1e5bca,'created_at':new Date()[_0x379b6b(0x1d7)]()};return await redisHelper[_0x379b6b(0x1d5)]('upload:'+_0x4570ac,_0x417b50,0xe10),await fs[_0x379b6b(0x1e3)](_0x584c1e['path']),logger['info']({'event':_0x379b6b(0x22c),'uploadId':_0x4570ac,'filename':_0x584c1e['originalname'],'totalRows':_0x39dded},_0x3f956e['ewJGt']),{'upload_id':_0x4570ac,'total_rows':_0x39dded,'preview':_0xce32d1['slice'](0x0,0xa)};}catch(_0x866c51){try{await fs['unlink'](_0x584c1e[_0x379b6b(0x19e)]);}catch(_0xa72056){logError(_0xa72056,{'event':_0x379b6b(0x1a9)},'Failed\x20to\x20cleanup\x20file');}throw _0x866c51;}}async[a0_0x38e9c5(0x17e)](_0x1b0b65){const _0x443fa8=a0_0x38e9c5,_0x229d6d={'XzVBP':_0x443fa8(0x1f2),'KbsjW':'Upload\x20data\x20not\x20found\x20or\x20expired','ISGVU':_0x443fa8(0x21e),'CXHWZ':'preview_job_created'},_0xc139e9=this['generateId'](),_0x30fc51=await redisHelper[_0x443fa8(0x1d1)]('upload:'+_0x1b0b65);if(!_0x30fc51)throw new Error(_0x229d6d['KbsjW']);const _0xf7496d={'job_id':_0xc139e9,'upload_id':_0x1b0b65,'status':_0x229d6d[_0x443fa8(0x1ef)],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x30fc51[_0x443fa8(0x1e7)]};return await redisHelper['setJob']('job:'+_0xc139e9,_0xf7496d,0xe10),logger['info']({'event':_0x229d6d[_0x443fa8(0x196)],'jobId':_0xc139e9,'uploadId':_0x1b0b65},'Preview\x20job\x20created'),this[_0x443fa8(0x1ac)](_0xc139e9,_0x1b0b65,_0x30fc51)[_0x443fa8(0x1ce)](_0x29d8ea=>{const _0xd0c45c=_0x443fa8;logError(_0x29d8ea,{'event':'preview_process_error','jobId':_0xc139e9},_0x229d6d[_0xd0c45c(0x186)]);}),{'job_id':_0xc139e9,'status':_0x229d6d[_0x443fa8(0x1ef)]};}[a0_0x38e9c5(0x1d0)](_0x45ec76,_0x41bc0e){const _0x31aa1c=a0_0x38e9c5,_0x2f6e18={'SACoZ':function(_0x2bc499,_0x144d6a){return _0x2bc499===_0x144d6a;},'IXKvc':function(_0x4d5354,_0x109efd){return _0x4d5354(_0x109efd);},'itlye':function(_0x18af62){return _0x18af62();},'PcOEw':'uuid_auto_generated'};_0x45ec76[_0x31aa1c(0x1ee)]((_0x1740ff,_0xe63313)=>{_0x41bc0e['forEach'](_0x2abbc7=>{const _0x30663a=a0_0xbde6,_0x1d63c9=_0x1740ff[_0x2abbc7];if(_0x2f6e18['SACoZ'](_0x1d63c9,null)||_0x1d63c9===undefined||_0x2f6e18[_0x30663a(0x1e0)](_0x1d63c9,'')||_0x2f6e18[_0x30663a(0x191)](String,_0x1d63c9)['trim']()==='-'){const _0x57f793=_0x2f6e18['itlye'](uuidv7);_0x1740ff[_0x2abbc7]=_0x57f793,_0x1740ff[_0x30663a(0x18d)]=_0x1740ff['_generated_uuid']||{},_0x1740ff['_generated_uuid'][_0x2abbc7]=_0x57f793,logger[_0x30663a(0x1d4)]({'event':_0x2f6e18[_0x30663a(0x18c)],'rowIndex':_0xe63313,'field':_0x2abbc7,'uuid':_0x57f793},_0x30663a(0x21b)+_0x2abbc7+'\x20at\x20row\x20'+(_0xe63313+0x2));}});});}async['processPreviewJob'](_0xf9607c,_0x595e10,_0x449af5){const _0x52d28d=a0_0x38e9c5,_0x15595b={'ApbXB':function(_0x20366e,_0x270594){return _0x20366e===_0x270594;},'tJQyi':'INSERT','ErvgQ':function(_0x542ae8,_0x4f622b){return _0x542ae8===_0x4f622b;},'YNEvp':_0x52d28d(0x1ca),'VHhLz':_0x52d28d(0x1af),'qQnnU':_0x52d28d(0x20b),'FFGbR':_0x52d28d(0x226),'keQWH':_0x52d28d(0x215),'Hjuaz':_0x52d28d(0x204),'DKdCn':function(_0x37102c,_0x43fb87,_0x1cb8cb,_0x42becc){return _0x37102c(_0x43fb87,_0x1cb8cb,_0x42becc);},'XGxPx':'preview_job_failed','kzlvk':_0x52d28d(0x1c3)};try{let {rows:_0x1f31e6,params:_0x3230cf}=_0x449af5;const {requiredFields:_0x63b75d,validations:_0x155775,upsertKeys:_0x11e5e2,tableName:_0x496089,primaryKey:_0x417dd7,fieldName:_0x2bd2a3,upsertStrategy:_0x4817b5,lookupFields:_0x48a906}=_0x3230cf;this[_0x52d28d(0x1d0)](_0x1f31e6,_0x11e5e2);let _0x5c9693=[];if(_0x48a906&&Object['keys'](_0x48a906)[_0x52d28d(0x1e1)]>0x0){logger['info']({'event':_0x15595b['qQnnU'],'jobId':_0xf9607c,'lookupFieldCount':Object[_0x52d28d(0x231)](_0x48a906)[_0x52d28d(0x1e1)]},_0x15595b['FFGbR']);const _0x29b433=await lookupResolver['processLookupFields'](_0x1f31e6,_0x48a906);_0x1f31e6=_0x29b433[_0x52d28d(0x1f7)],_0x5c9693=_0x29b433['errors'],_0x449af5['rows']=_0x1f31e6;}const _0x1c23bb=importValidator[_0x52d28d(0x22f)](_0x1f31e6,_0x63b75d||[],_0x155775||{});_0x5c9693['forEach'](_0x41e0ef=>{const _0xd0769a=_0x52d28d,_0x3292d6=_0x1c23bb[_0xd0769a(0x1ab)](_0x38740a=>_0x38740a[_0xd0769a(0x21d)]===_0x41e0ef[_0xd0769a(0x21d)]);_0x3292d6?_0x3292d6[_0xd0769a(0x221)][_0xd0769a(0x19d)](_0x41e0ef['message']):_0x1c23bb[_0xd0769a(0x19d)]({'rowIndex':_0x41e0ef['rowIndex'],'rowData':_0x1f31e6[_0x41e0ef['rowIndex']],'errors':[_0x41e0ef['message']]});});const _0x33a150=importValidator[_0x52d28d(0x1d9)](_0x1f31e6,_0x11e5e2);_0x33a150[_0x52d28d(0x1ee)](_0x278d1f=>{const _0x41f1d5=_0x52d28d,_0x3709e3=_0x1c23bb[_0x41f1d5(0x1ab)](_0x4537e9=>_0x4537e9[_0x41f1d5(0x21d)]===_0x278d1f['rowIndex']),_0xf213db=_0x11e5e2['map'](_0x589521=>_0x589521[_0x41f1d5(0x1cb)]())[_0x41f1d5(0x1eb)](',\x20'),_0x25d7ef='Duplicate\x20value\x20for\x20'+_0xf213db;_0x3709e3?_0x3709e3['errors']['push'](_0x25d7ef):_0x1c23bb['push']({'rowIndex':_0x278d1f['rowIndex'],'rowData':_0x1f31e6[_0x278d1f['rowIndex']],'errors':[_0x25d7ef]});}),await this[_0x52d28d(0x223)](_0x1f31e6,_0x11e5e2,_0x496089,_0x417dd7,_0x4817b5,_0x1c23bb),_0x1c23bb[_0x52d28d(0x1ee)](_0x293b15=>{const _0x330eff=_0x1f31e6[_0x293b15['rowIndex']];_0x330eff&&(_0x330eff['_errors']=_0x293b15['errors']);});let _0x524ac9=0x0,_0xbf883f=0x0,_0x1ab129=0x0;_0x1f31e6[_0x52d28d(0x1ee)](_0x55522f=>{const _0x49397e=_0x52d28d;if(_0x15595b[_0x49397e(0x1e2)](_0x55522f['_action'],_0x15595b[_0x49397e(0x228)]))_0x524ac9++;else{if(_0x15595b[_0x49397e(0x1b8)](_0x55522f['_action'],_0x15595b[_0x49397e(0x1c5)]))_0xbf883f++;else _0x15595b['ApbXB'](_0x55522f['_action'],_0x15595b[_0x49397e(0x185)])&&_0x1ab129++;}});const _0x9cf5d={'job_id':_0xf9607c,'upload_id':_0x595e10,'status':_0x1c23bb['length']>0x0?_0x52d28d(0x182):_0x15595b[_0x52d28d(0x227)],'progress':0x64,'created_at':_0x449af5['created_at'],'completed_at':new Date()['toISOString'](),'preview':{'total_rows':_0x1f31e6['length'],'insert_count':_0x524ac9,'update_count':_0xbf883f,'skip_count':_0x1ab129,'error_count':_0x1c23bb['length'],'errors':_0x1c23bb,'data':_0x1f31e6,'sample_insert':_0x1f31e6['filter'](_0x4f2b61=>_0x4f2b61[_0x52d28d(0x1fe)]==='INSERT')[_0x52d28d(0x1ea)](0x0,0x5),'sample_update':_0x1f31e6[_0x52d28d(0x209)](_0x2b96f2=>_0x2b96f2['_action']===_0x52d28d(0x1ca))['slice'](0x0,0x5),'sample_skip':_0x1f31e6['filter'](_0x155fa8=>_0x155fa8[_0x52d28d(0x1fe)]==='SKIP')[_0x52d28d(0x1ea)](0x0,0x5)},'params':_0x3230cf};await redisHelper[_0x52d28d(0x1d5)](_0x52d28d(0x184)+_0xf9607c,_0x9cf5d,0xe10),_0x449af5[_0x52d28d(0x206)]=_0x1f31e6,await redisHelper[_0x52d28d(0x1d5)](_0x52d28d(0x20e)+_0x595e10,_0x449af5,0xe10),logger['info']({'event':_0x15595b[_0x52d28d(0x213)],'jobId':_0xf9607c,'status':_0x9cf5d['status'],'insertCount':_0x524ac9,'updateCount':_0xbf883f,'skipCount':_0x1ab129,'errorCount':_0x1c23bb[_0x52d28d(0x1e1)]},'Preview\x20job\x20completed');}catch(_0xc6254){_0x15595b[_0x52d28d(0x1a7)](logError,_0xc6254,{'event':_0x15595b['XGxPx'],'jobId':_0xf9607c},'Preview\x20job\x20failed'),await redisHelper['setJob'](_0x52d28d(0x184)+_0xf9607c,{'job_id':_0xf9607c,'upload_id':_0x595e10,'status':_0x15595b[_0x52d28d(0x1b3)],'progress':0x0,'error':_0xc6254['message'],'created_at':new Date()['toISOString'](),'completed_at':new Date()[_0x52d28d(0x1d7)]()},0xe10);}}async['detectDatabaseDuplicates'](_0x35a500,_0x407bc1,_0xb05661,_0x46347b,_0x225467=a0_0x38e9c5(0x1c1),_0x5c507d=[]){const _0x5cb71e=a0_0x38e9c5,_0x2b8f1b={'VPbBY':function(_0x1dd2f6,_0x10dc25){return _0x1dd2f6===_0x10dc25;},'HxLeK':function(_0x17f664,_0x2f9c9c){return _0x17f664(_0x2f9c9c);},'OeIzE':'update_existing','XwgtS':'insert_only','KzFoD':_0x5cb71e(0x1af),'sIfBT':function(_0x12e236,_0x3cf7c7){return _0x12e236===_0x3cf7c7;},'fzuGr':'INSERT','iEQaZ':function(_0x49ca69,_0x509f21){return _0x49ca69===_0x509f21;},'ElniX':'skip_existing','SWJAv':function(_0x1fa86c,_0x72c856){return _0x1fa86c===_0x72c856;},'uPYLE':function(_0x340fa8,_0x5bb873){return _0x340fa8>_0x5bb873;}},_0x54fba5=upsertBuilder['chunkRows'](_0x35a500,0x64);for(const _0x4e68a7 of _0x54fba5){const _0x367f86=_0x4e68a7['map'](_0x237217=>_0x237217[_0x407bc1[0x0]]),_0x1a64e5=_0x367f86['map'](_0x1e9eaa=>{const _0x34521c=_0x5cb71e;if(_0x1e9eaa===null||_0x2b8f1b[_0x34521c(0x1f4)](_0x1e9eaa,undefined))return _0x34521c(0x18a);return'\x27'+_0x2b8f1b[_0x34521c(0x19c)](String,_0x1e9eaa)['replace'](/'/g,'\x27\x27')+'\x27';}),_0x297db0='\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20'+_0x46347b+',\x20'+_0x407bc1['join'](',\x20')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0xb05661+_0x5cb71e(0x20f)+_0x407bc1[0x0]+'\x20IN\x20('+_0x1a64e5['join'](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20';let _0x30f6d2=await _0x2b8f1b['HxLeK'](executeQuery,_0x297db0);_0x2b8f1b['SWJAv'](dbType,'oracle')&&_0x30f6d2&&_0x2b8f1b[_0x5cb71e(0x189)](_0x30f6d2['length'],0x0)&&(_0x30f6d2=_0x30f6d2[_0x5cb71e(0x1a3)](_0x30b3aa=>{const _0x210766={};for(const [_0x545a25,_0x26031e]of Object['entries'](_0x30b3aa)){_0x210766[_0x545a25['toLowerCase']()]=_0x26031e;}return _0x210766;}));const _0x595a0e=new Map();_0x30f6d2['forEach'](_0x21b2b2=>{const _0x1868c7=_0x5cb71e,_0x39727f=_0x21b2b2[_0x407bc1[0x0]];_0x595a0e[_0x1868c7(0x17f)](_0x39727f,_0x21b2b2);}),_0x4e68a7['forEach']((_0x53b485,_0x341101)=>{const _0x14844f=_0x5cb71e,_0x107524=_0x53b485[_0x407bc1[0x0]],_0x464111=_0x595a0e[_0x14844f(0x208)](_0x107524);if(_0x464111){if(_0x225467===_0x2b8f1b[_0x14844f(0x181)])_0x53b485[_0x14844f(0x1fe)]='UPDATE',_0x53b485[_0x14844f(0x222)]=_0x464111[_0x46347b];else{if(_0x225467===_0x2b8f1b['XwgtS']){_0x53b485[_0x14844f(0x1fe)]=_0x2b8f1b['KzFoD'],_0x53b485['_errors']=_0x53b485['_errors']||[],_0x53b485['_errors']['push']('Record\x20exists\x20(insert_only\x20mode)');const _0x37736b=_0x35a500['indexOf'](_0x53b485);_0x37736b!==-0x1&&_0x5c507d[_0x14844f(0x19d)]({'rowIndex':_0x37736b,'rowData':_0x53b485,'errors':[_0x14844f(0x1bf)]});}else _0x2b8f1b['sIfBT'](_0x225467,_0x14844f(0x199))&&(_0x53b485[_0x14844f(0x1fe)]=_0x2b8f1b['KzFoD']);}}else{if(_0x225467===_0x2b8f1b[_0x14844f(0x181)])_0x53b485[_0x14844f(0x1fe)]=_0x2b8f1b[_0x14844f(0x21c)];else(_0x2b8f1b['iEQaZ'](_0x225467,'insert_only')||_0x2b8f1b['VPbBY'](_0x225467,_0x2b8f1b[_0x14844f(0x205)]))&&(_0x53b485['_action']=_0x2b8f1b['fzuGr']);}});}}async[a0_0x38e9c5(0x1ed)](_0x4880e7){const _0x56319e=a0_0x38e9c5,_0x50bfa6={'ZskeR':function(_0x1794f3,_0xdb7720,_0x58f005,_0x3a5739){return _0x1794f3(_0xdb7720,_0x58f005,_0x3a5739);},'Nuvmf':_0x56319e(0x1dd),'ZkvUz':_0x56319e(0x1c7),'UZlrk':function(_0x23cbc9,_0x1429c6){return _0x23cbc9!==_0x1429c6;},'JPZbd':_0x56319e(0x224),'EnjnO':_0x56319e(0x1bb),'anZOs':_0x56319e(0x180)},_0x4bfbb4=this['generateId'](),_0x16912b=await redisHelper[_0x56319e(0x1d1)](_0x56319e(0x184)+_0x4880e7);if(!_0x16912b)throw new Error('Preview\x20job\x20not\x20found\x20or\x20expired');if(_0x50bfa6[_0x56319e(0x18f)](_0x16912b['status'],'preview_ok'))throw new Error('Cannot\x20commit:\x20preview\x20status\x20is\x20'+_0x16912b[_0x56319e(0x1db)]);const _0x329211={'job_id':_0x4bfbb4,'upload_id':_0x16912b['upload_id'],'preview_job_id':_0x4880e7,'status':_0x50bfa6['JPZbd'],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x16912b[_0x56319e(0x1e7)]};return await redisHelper['setJob']('job:'+_0x4bfbb4,_0x329211,0xe10),logger['info']({'event':_0x50bfa6['EnjnO'],'jobId':_0x4bfbb4,'previewJobId':_0x4880e7},_0x50bfa6[_0x56319e(0x1ff)]),this['processCommitJob'](_0x4bfbb4,_0x16912b)['catch'](_0x383572=>{_0x50bfa6['ZskeR'](logError,_0x383572,{'event':_0x50bfa6['Nuvmf'],'jobId':_0x4bfbb4},_0x50bfa6['ZkvUz']);}),{'job_id':_0x4bfbb4,'status':_0x50bfa6[_0x56319e(0x1cf)]};}async['processCommitJob'](_0x488101,_0x19d6cc){const _0x16fbba=a0_0x38e9c5,_0x4831e7={'ZUscO':function(_0x10c497,_0x166421){return _0x10c497===_0x166421;},'dpBwL':_0x16fbba(0x1da),'UTnBb':'Upload\x20data\x20not\x20found\x20or\x20expired','iSNZD':function(_0x2142dc,_0x1e5e04){return _0x2142dc>_0x1e5e04;},'wTbJT':'Import\x20fields\x20filtered\x20(excluded\x20lookup\x20source\x20columns)','RLnbe':'update','Ifkup':_0x16fbba(0x1fc),'nmJYL':_0x16fbba(0x195),'GMDTr':_0x16fbba(0x22b)};try{const _0x6cef52=await redisHelper['getJob']('upload:'+_0x19d6cc['upload_id']);if(!_0x6cef52)throw new Error(_0x4831e7['UTnBb']);const {rows:_0x3d1103,params:_0x22633e}=_0x6cef52,{tableName:_0x2d379a,fieldName:_0x3d9bfd,primaryKey:_0x3a7786,upsertKeys:_0x4477e7,excludeFromImport:_0x55f63f,lookupFields:_0x47c561,columnFormats:_0x4819da}=_0x22633e,_0x2dc289=_0x47c561?Object[_0x16fbba(0x231)](_0x47c561):[],_0x2b2ae0=new Set([..._0x55f63f||[],..._0x2dc289]);let _0x2c7df0=_0x3d9bfd;_0x4831e7['iSNZD'](_0x2b2ae0['size'],0x0)&&(_0x2c7df0=_0x3d9bfd['filter'](_0x586e99=>!_0x2b2ae0['has'](_0x586e99)),logger['debug']({'event':_0x16fbba(0x218),'originalCount':_0x3d9bfd[_0x16fbba(0x1e1)],'filteredCount':_0x2c7df0[_0x16fbba(0x1e1)],'excludedFields':Array[_0x16fbba(0x229)](_0x2b2ae0),'lookupSourceFields':_0x2dc289},_0x4831e7[_0x16fbba(0x1f6)]));const _0xe5497d=_0x3d1103['filter'](_0x53ad27=>_0x53ad27['_action']===_0x16fbba(0x200)),_0x44db7c=_0x3d1103[_0x16fbba(0x209)](_0x5bfb3f=>_0x5bfb3f['_action']==='UPDATE');let _0xa5b26=0x0,_0x1db395=0x0;const _0x3496f0=[];if(_0x4831e7[_0x16fbba(0x201)](_0xe5497d[_0x16fbba(0x1e1)],0x0)){const _0x3dbf20=upsertBuilder['chunkRows'](_0xe5497d,0x64);for(const _0x3519da of _0x3dbf20){const {query:_0x3f64f1}=upsertBuilder[_0x16fbba(0x216)](_0x3519da,_0x2d379a,_0x2c7df0,_0x4819da||{});_0x3f64f1&&_0x3496f0['push']({'sql':_0x3f64f1,'count':_0x3519da[_0x16fbba(0x1e1)],'type':_0x4831e7['dpBwL']});}}if(_0x44db7c[_0x16fbba(0x1e1)]>0x0){const _0x56abee=upsertBuilder['chunkRows'](_0x44db7c,0x64);for(const _0x29f88f of _0x56abee){const {query:_0x53a352}=upsertBuilder[_0x16fbba(0x1d8)](_0x29f88f,_0x2d379a,_0x2c7df0,_0x3a7786,_0x4477e7,_0x4819da||{});_0x53a352&&_0x3496f0['push']({'sql':_0x53a352,'count':_0x29f88f[_0x16fbba(0x1e1)],'type':_0x4831e7['RLnbe']});}}_0x3496f0[_0x16fbba(0x1e1)]>0x0&&await executeTransaction(_0x3496f0['map'](_0x10e7d4=>({'sql':_0x10e7d4['sql'],'params':[]})));_0x3496f0['forEach'](_0x17cdf9=>{const _0x3fd4ec=_0x16fbba;if(_0x4831e7[_0x3fd4ec(0x1df)](_0x17cdf9['type'],_0x4831e7['dpBwL']))_0xa5b26+=_0x17cdf9['count'];else _0x1db395+=_0x17cdf9['count'];});const _0x2c3346={'job_id':_0x488101,'upload_id':_0x19d6cc[_0x16fbba(0x1a6)],'preview_job_id':_0x19d6cc['job_id'],'status':_0x4831e7['Ifkup'],'progress':0x64,'created_at':_0x19d6cc[_0x16fbba(0x220)],'started_at':new Date()[_0x16fbba(0x1d7)](),'completed_at':new Date()[_0x16fbba(0x1d7)](),'result':{'total_rows':_0x3d1103[_0x16fbba(0x1e1)],'inserted_rows':_0xa5b26,'updated_rows':_0x1db395,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x22633e};await redisHelper['setJob'](_0x16fbba(0x184)+_0x488101,_0x2c3346,0xe10),logger['info']({'event':'commit_job_completed','jobId':_0x488101,'insertedCount':_0xa5b26,'updatedCount':_0x1db395},_0x4831e7[_0x16fbba(0x188)]);}catch(_0x5c53d3){logError(_0x5c53d3,{'event':_0x4831e7['GMDTr'],'jobId':_0x488101},_0x16fbba(0x20d)),await redisHelper[_0x16fbba(0x1d5)](_0x16fbba(0x184)+_0x488101,{'job_id':_0x488101,'upload_id':_0x19d6cc['upload_id'],'preview_job_id':_0x19d6cc[_0x16fbba(0x1de)],'status':_0x16fbba(0x1c3),'progress':0x0,'error':_0x5c53d3[_0x16fbba(0x21f)],'created_at':_0x19d6cc['created_at'],'started_at':new Date()['toISOString'](),'completed_at':new Date()[_0x16fbba(0x1d7)]()},0xe10);}}async[a0_0x38e9c5(0x1a0)](_0x5c138a){const _0x3882f1=a0_0x38e9c5,_0x404c33={'LCESF':'Job\x20not\x20found\x20or\x20expired'},_0x52c5e8=await redisHelper['getJob']('job:'+_0x5c138a);if(!_0x52c5e8)return{'success':![],'error':_0x404c33[_0x3882f1(0x1f1)]};return{'success':!![],'data':_0x52c5e8};}}module['exports']=new ImportService();
1
+ const a0_0x44a0=a0_0x4aa4;function a0_0x3ce7(){const _0x2d3e11=['ChjVy2vZC1bYzxzPzxDkB2i','cIaGicaGicaGrLjptsa','qxv0BY1Nzw5LCMf0zwqGvvvjrcbMB3iG','lI4VDxrPBhmVzxHJzwWTCgfYC2vY','DvDqEg0','ntmYBwjhz09H','y29TBwL0x2PVyL9MywLSzwq','ndy5mtK1AhHSBuTL','C2v0','tvjbB1q','y3jLyxrLq29TBwL0sM9I','C2XPy2u','wvrNEMu','y29SDw1U','u0Tjua','DMfSAwq','y3jLyxrLzf9HDa','zM9YrwfJAa','zMLUza','B3jHy2XL','DuXYqwS','zMfPBgvK','zxHWB3j0CW','ndK5ntnREgnqtMG','C1bWvM0','Aw5Zzxj0x29UBhK','wvbUCeq','C2nVCgvpDMvYCMLKzq','DxvPzf9HDxrVx2DLBMvYyxrLza','BwvZC2fNzq','nJbcu3DYAvO','CgfKu3rHCNq','vvbeqvrf','sw1WB3j0igzPzwXKCYbMAwX0zxjLzcaOzxHJBhvKzwqGBg9VA3vWihnVDxjJzsbJB2X1Bw5Zkq','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','ue1uwKG','z2v0vgLTzq','ChjVy2vZC0nVBw1PDePVyG','q29jvgi','ChjVy2vZC0XVB2T1CezPzwXKCW','DxbKyxrLx2v4Axn0Aw5N','EwvZ','z2v0rNvSBfLLyxi','CM93CW','uhjLDMLLDYbQB2iGzMfPBgvK','BgvUz3rO','Aw5KzxHpzG','tLvmta','CgfYyw1Z','CM93sw5KzxG','vMXdsva','lI4VDxrPBhmVzgi','AM9PBG','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','y3jLyxrLuhjLDMLLD0PVyG','uhjLDMLLDYbWCM9JzxnZAw5NigzHAwXLza','DhjPBq','x2DLBMvYyxrLzf91DwLK','t2rjvha','lI4VDxrPBhmVBg9VA3vWlxjLC29SDMvY','Dg9mB3DLCKnHC2u','zMLSDgvY','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','z2vUzxjHDgvjza','Aw5Zzxj0','uMvXDwvZDcbZy29WzsbVDMvYCMLKzsbHChbSAwvKihrVigLTCg9YDgvKihjVD3m','DhLWzq','mte5otG0z0vQwez1','EujOEwi','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','D0Tzwhe','y29SDw1UrM9YBwf0CW','qwvzsxy','Aw5MBW','CgHmqLi','ChjVy2vZC2LUzW','zMLLBgrmywjLBhm','uhjLDMLLDYbQB2iGy29TCgXLDgvK','BNLXte0','ChjVBwLZzxm','C2v0sM9I','zxHLy3v0zvrYyw5Zywn0Aw9U','C3rHDhvZ','Dg9vChbLCKnHC2u','wffNBfi','ue1uuuq','ChjLDMLLD19QB2jFy29TCgXLDgvK','x2fJDgLVBG','A2DMAKq','Dhj1zq','ChjVy2vZC2vKuM93CW','Dw5SAw5R','DKTetha','ChjLDMLLD19VAW','y291BNq','y2H1BMTsB3DZ','zgvMyxvSDa','qxz3ANi','otKWnta0wufAt0vU','B2POvNu','q29SDw1UigzVCM1HDhmGyxbWBgLLzcb0BYbYB3DZ','cIaGicaGicaGu0vmrunuia','vvfJBLC','C2L6zq','DgvZDa','DxbSB2fKx2LK','DxbSB2fKoG','C3rYAw5N','ChjVy2vZC2LUz19SB29RDxbFzMLLBgrZ','BgfIzwXFDg9FzMLLBgrFBwfWx2j1AwX0','CgfYC2vfEgnLBezPBgu','ChvZAa','zgvIDwC','y2f0y2G','AM9IoG','jdfFjdi','x3vWBg9HzerPCG','zMfSC2u','ogvZC0vQza','C0rSwhi','Cgf0Aa','y29TBwL0x2PVyL9JCMvHDgvK','Dg9ju09tDhjPBMC','mJeZndKXnhzfu1nsqq','A2v5CW','z2v0sM9I','qLzfqNq','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','mtm3otyWqND4ueLh','BffzBe8','yMTjyMK','zw50CMLLCW','AgfZ','BwLZC2LUz0zPzwXKCW','te5pC08','Cg9ZDgDYzxnXBa','t3jgv3e','tMjjDuO','kqOGicaGica','su5trvju','sM9lExG','zxjYB3jZ','nZi5ndKYB0Xeten5','CMvWBgfJzq','zxHLy3v0zvf1zxj5','x2vYCM9YCW','uhjLDMLLDYbQB2iGy3jLyxrLza','rxHJzwWGAgvHzgvYCYbTyxbWzwqGDg8GzMLLBgqGBMfTzxm','Aw5JBhvKzxm','BwfW','yMf0y2HwywXPzgf0zvjVD3m','zgLNz1e','sfn3zvq','yM9VBgvHBG'];a0_0x3ce7=function(){return _0x2d3e11;};return a0_0x3ce7();}(function(_0x24536d,_0x4bfa0d){const _0x29cae0=a0_0x4aa4,_0x542be7=_0x24536d();while(!![]){try{const _0x5637ba=-parseInt(_0x29cae0(0x1c0))/0x1+-parseInt(_0x29cae0(0x18f))/0x2+-parseInt(_0x29cae0(0x18a))/0x3+parseInt(_0x29cae0(0x185))/0x4*(-parseInt(_0x29cae0(0x1b0))/0x5)+parseInt(_0x29cae0(0x19d))/0x6+-parseInt(_0x29cae0(0x1ae))/0x7*(-parseInt(_0x29cae0(0x151))/0x8)+parseInt(_0x29cae0(0x171))/0x9*(parseInt(_0x29cae0(0x12b))/0xa);if(_0x5637ba===_0x4bfa0d)break;else _0x542be7['push'](_0x542be7['shift']());}catch(_0x5c80f7){_0x542be7['push'](_0x542be7['shift']());}}}(a0_0x3ce7,0xdc95d));const {v7:uuidv7}=require('uuid'),path=require(a0_0x44a0(0x187)),fs=require('fs')[a0_0x44a0(0x15e)],redisHelper=require('../utils/redis-helper'),{logger,logError}=require('../utils/logger'),dbType=(process['env']['DB_TYPE']||a0_0x44a0(0x196))['toLowerCase']();function a0_0x4aa4(_0x3b3f03,_0x672b42){_0x3b3f03=_0x3b3f03-0x12b;const _0x3ce776=a0_0x3ce7();let _0x4aa49d=_0x3ce776[_0x3b3f03];if(a0_0x4aa4['ihTpLY']===undefined){var _0xe76fc6=function(_0x33837d){const _0x41a944='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x124b0f='',_0x119e2f='';for(let _0x17d6a7=0x0,_0x51ced1,_0x3fcd7a,_0x353da1=0x0;_0x3fcd7a=_0x33837d['charAt'](_0x353da1++);~_0x3fcd7a&&(_0x51ced1=_0x17d6a7%0x4?_0x51ced1*0x40+_0x3fcd7a:_0x3fcd7a,_0x17d6a7++%0x4)?_0x124b0f+=String['fromCharCode'](0xff&_0x51ced1>>(-0x2*_0x17d6a7&0x6)):0x0){_0x3fcd7a=_0x41a944['indexOf'](_0x3fcd7a);}for(let _0x8dc161=0x0,_0x8dee77=_0x124b0f['length'];_0x8dc161<_0x8dee77;_0x8dc161++){_0x119e2f+='%'+('00'+_0x124b0f['charCodeAt'](_0x8dc161)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x119e2f);};a0_0x4aa4['lkOrTD']=_0xe76fc6,a0_0x4aa4['wCSclZ']={},a0_0x4aa4['ihTpLY']=!![];}const _0x31a8e0=_0x3ce776[0x0],_0x2f7606=_0x3b3f03+_0x31a8e0,_0x245328=a0_0x4aa4['wCSclZ'][_0x2f7606];return!_0x245328?(_0x4aa49d=a0_0x4aa4['lkOrTD'](_0x4aa49d),a0_0x4aa4['wCSclZ'][_0x2f7606]=_0x4aa49d):_0x4aa49d=_0x245328,_0x4aa49d;}let executeQuery,executeTransaction,oracleDb;if(dbType===a0_0x44a0(0x1bc))oracleDb=require('../utils/db-oracle'),executeQuery=(_0x432b94,_0x12ff9c)=>oracleDb[a0_0x44a0(0x19f)](_0x432b94,_0x12ff9c),executeTransaction=_0x58d0ea=>oracleDb[a0_0x44a0(0x160)](_0x58d0ea);else{if(dbType==='mysql'){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x481d64,_0x1e3d2d)=>mysqlDb[a0_0x44a0(0x19f)](_0x481d64,_0x1e3d2d),executeTransaction=_0x45d559=>mysqlDb[a0_0x44a0(0x160)](_0x45d559);}else{const db=require(a0_0x44a0(0x141));executeQuery=db['executeQuery'],executeTransaction=db['executeTransaction'];}}const excelParser=require(a0_0x44a0(0x1ac)),importValidator=require('../utils/import-validator'),upsertBuilder=require('../utils/upsert-builder'),lookupResolver=require(a0_0x44a0(0x149));class ImportService{constructor(){this['_uploadDir']=null;}get['uploadDir'](){const _0x52d34d=a0_0x44a0;if(!this['_uploadDir']){const _0x5dd7da=process['env']['RESTFORGE_PROJECT_NAME']||_0x52d34d(0x16f);this['_uploadDir']=process['env']['UPLOAD_DIR']||path[_0x52d34d(0x142)](__dirname,'../../temp/uploads/'+_0x5dd7da);}return this[_0x52d34d(0x183)];}[a0_0x44a0(0x14d)](){const _0x2c2b44=a0_0x44a0,_0x2e3698={'gTYkF':'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789','AeYIv':function(_0x5c19ee,_0x4e8398){return _0x5c19ee-_0x4e8398;},'orWsI':function(_0x1a3785,_0x1322c6){return _0x1a3785*_0x1322c6;}},_0x1fd46f=_0x2e3698['gTYkF'],_0xa86c69=Date['now']()['toString'](0x24),_0x265797=uuidv7()[_0x2c2b44(0x19e)](/-/g,'')['substring'](0x0,_0x2e3698[_0x2c2b44(0x157)](0xc,_0xa86c69[_0x2c2b44(0x13b)])),_0x235a62=(_0xa86c69+_0x265797)['substring'](0x0,0xc);let _0xe0af55='';for(let _0x1688c3=0x0;_0x1688c3<0xc;_0x1688c3++){_0x235a62[_0x1688c3]?_0xe0af55+=_0x235a62[_0x1688c3]:_0xe0af55+=_0x1fd46f['charAt'](Math['floor'](_0x2e3698['orWsI'](Math['random'](),_0x1fd46f['length'])));}return _0xe0af55;}['buildLabelToFieldMap'](_0x112529){const _0x4cd98b=a0_0x44a0,_0x184c91={'hZXIg':_0x4cd98b(0x182)},_0x320963=new Map();if(!_0x112529)return _0x320963;return Object['entries'](_0x112529)[_0x4cd98b(0x1ba)](([_0x1fb647,_0x469ed2])=>{const _0x3ad674=_0x4cd98b,_0x3f4b05=String(_0x469ed2)[_0x3ad674(0x146)]()['replace'](/\s+/g,'_')[_0x3ad674(0x19e)](/([a-z])([A-Z])/g,_0x3ad674(0x182))[_0x3ad674(0x19e)](/([A-Z]+)([A-Z][a-z])/g,_0x184c91['hZXIg'])[_0x3ad674(0x14a)]();_0x320963[_0x3ad674(0x1b1)](_0x3f4b05,_0x1fb647);}),logger[_0x4cd98b(0x17f)]({'event':_0x4cd98b(0x17c),'mappingCount':_0x320963[_0x4cd98b(0x176)]},'Label\x20to\x20field\x20mapping\x20built'),_0x320963;}['applyColumnFormats'](_0x10b8ef,_0x9ca36e){const _0x5687dd=a0_0x44a0,_0x3b2ec9={'PMTQD':function(_0x34f652,_0x402cc9){return _0x34f652===_0x402cc9;},'HSweT':'date','ojhVu':'number','MRAoT':function(_0x457a90,_0xccbc05){return _0x457a90(_0xccbc05);},'URZsn':function(_0x2d86cd,_0x496d45){return _0x2d86cd===_0x496d45;}};if(!_0x9ca36e||_0x3b2ec9['URZsn'](Object[_0x5687dd(0x18b)](_0x9ca36e)['length'],0x0))return _0x10b8ef;return _0x10b8ef[_0x5687dd(0x1a4)](_0x32df2b=>{const _0xb0e129=_0x5687dd,_0x4aa76b={..._0x32df2b};for(const [_0x2e8723,_0x3c70ab]of Object['entries'](_0x9ca36e)){const _0x5a402e=_0x4aa76b[_0x2e8723];if(_0x3b2ec9[_0xb0e129(0x164)](_0x5a402e,null)||_0x5a402e===undefined||_0x3b2ec9[_0xb0e129(0x164)](_0x5a402e,'')){_0x4aa76b[_0x2e8723]=null;continue;}switch(_0x3c70ab[_0xb0e129(0x150)]){case _0x3b2ec9[_0xb0e129(0x1a7)]:_0x4aa76b[_0x2e8723]=this[_0xb0e129(0x143)](_0x5a402e);break;case _0x3b2ec9[_0xb0e129(0x172)]:_0x4aa76b[_0x2e8723]=this[_0xb0e129(0x153)](_0x5a402e);break;case _0xb0e129(0x1a8):_0x4aa76b[_0x2e8723]=this['formatBooleanForDatabase'](_0x5a402e);break;case'text':_0x4aa76b[_0x2e8723]=_0x3b2ec9[_0xb0e129(0x1b2)](String,_0x5a402e);break;default:break;}}return _0x4aa76b;});}['formatDateForDatabase'](_0x22cee0){const _0x2ef5d2=a0_0x44a0,_0x12f389={'VlCIP':function(_0x596937,_0x6f85f5){return _0x596937===_0x6f85f5;},'XQglR':_0x2ef5d2(0x17a),'hHuYl':function(_0x4a2c74,_0xd06319){return _0x4a2c74 instanceof _0xd06319;},'rOdJx':function(_0x345c7c,_0x24dab4){return _0x345c7c(_0x24dab4);},'YTgze':function(_0x24e0ee,_0x55efa5){return _0x24e0ee(_0x55efa5);},'JoKyx':function(_0x38449e,_0x2e088c){return _0x38449e+_0x2e088c;},'DyPjM':function(_0x37934e,_0x390c57){return _0x37934e(_0x390c57);},'rNcCJ':function(_0x4e9ded,_0x506842){return _0x4e9ded===_0x506842;},'yZNbP':function(_0x17248d,_0x847579){return _0x17248d(_0x847579);}};if(_0x22cee0===null||_0x22cee0===undefined||_0x12f389[_0x2ef5d2(0x140)](_0x22cee0,''))return null;if(typeof _0x22cee0===_0x12f389['XQglR']&&/^\d{4}-\d{2}-\d{2}$/[_0x2ef5d2(0x177)](_0x22cee0))return _0x22cee0;if(_0x12f389['hHuYl'](_0x22cee0,Date)){if(_0x12f389['rOdJx'](isNaN,_0x22cee0[_0x2ef5d2(0x132)]()))return null;const _0x37d986=_0x22cee0[_0x2ef5d2(0x138)](),_0x2c579d=_0x12f389[_0x2ef5d2(0x1b5)](String,_0x12f389[_0x2ef5d2(0x19b)](_0x22cee0['getMonth'](),0x1))[_0x2ef5d2(0x12c)](0x2,'0'),_0x530bf6=_0x12f389['DyPjM'](String,_0x22cee0['getDate']())[_0x2ef5d2(0x12c)](0x2,'0');return _0x37d986+'-'+_0x2c579d+'-'+_0x530bf6;}if(_0x12f389['rNcCJ'](typeof _0x22cee0,_0x12f389[_0x2ef5d2(0x163)])){const _0x39bb0f=_0x22cee0['match'](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x39bb0f){const _0x1d0ae4=String(_0x39bb0f[0x1])['padStart'](0x2,'0'),_0x462d62=_0x12f389['YTgze'](String,_0x39bb0f[0x2])[_0x2ef5d2(0x12c)](0x2,'0'),_0x2e964a=_0x39bb0f[0x3];return _0x2e964a+'-'+_0x462d62+'-'+_0x1d0ae4;}const _0x11b008=_0x22cee0['match'](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x11b008){const _0x5570e4=_0x11b008[0x1],_0x428bfd=_0x12f389['yZNbP'](String,_0x11b008[0x2])[_0x2ef5d2(0x12c)](0x2,'0'),_0x321a92=_0x12f389['DyPjM'](String,_0x11b008[0x3])['padStart'](0x2,'0');return _0x5570e4+'-'+_0x428bfd+'-'+_0x321a92;}}return _0x22cee0;}[a0_0x44a0(0x153)](_0x1e37bd){const _0x3b2fa4=a0_0x44a0,_0x371467={'YPnpD':function(_0x40cba0,_0x5698f1){return _0x40cba0===_0x5698f1;},'hXNdV':'number'};if(_0x1e37bd===null||_0x1e37bd===undefined||_0x371467['YPnpD'](_0x1e37bd,''))return null;if(_0x371467[_0x3b2fa4(0x1c3)](typeof _0x1e37bd,_0x371467['hXNdV']))return isNaN(_0x1e37bd)?null:_0x1e37bd;if(_0x371467['YPnpD'](typeof _0x1e37bd,'string')){let _0x4ee0ff=_0x1e37bd['trim']();const _0x14f9a6=/,\d{1,2}$/['test'](_0x4ee0ff)&&!/,\d{3}/['test'](_0x4ee0ff);_0x14f9a6?_0x4ee0ff=_0x4ee0ff[_0x3b2fa4(0x19e)](/\./g,'')[_0x3b2fa4(0x19e)](',','.'):_0x4ee0ff=_0x4ee0ff[_0x3b2fa4(0x19e)](/,/g,'');const _0x35eec2=parseFloat(_0x4ee0ff);return isNaN(_0x35eec2)?null:_0x35eec2;}return null;}['formatBooleanForDatabase'](_0x1a0271){const _0x171e8b=a0_0x44a0,_0x55c671={'vKDLp':function(_0x38704a,_0xdcdf9e){return _0x38704a===_0xdcdf9e;},'sDlXr':function(_0x4e65c3,_0x10c249){return _0x4e65c3===_0x10c249;},'yBhyb':'boolean','zEWnH':_0x171e8b(0x168),'AtzZP':'false','RYtob':'number'};if(_0x1a0271===null||_0x55c671[_0x171e8b(0x16b)](_0x1a0271,undefined)||_0x1a0271==='')return null;if(_0x55c671[_0x171e8b(0x186)](typeof _0x1a0271,_0x55c671[_0x171e8b(0x152)]))return _0x1a0271?_0x55c671['zEWnH']:_0x55c671['AtzZP'];if(typeof _0x1a0271===_0x171e8b(0x17a)){const _0x4e4d6c=_0x1a0271[_0x171e8b(0x146)]()['toLowerCase']();if([_0x171e8b(0x168),_0x171e8b(0x137),'y','1']['includes'](_0x4e4d6c))return _0x55c671['zEWnH'];if([_0x171e8b(0x184),'no','n','0']['includes'](_0x4e4d6c))return _0x171e8b(0x184);return null;}if(_0x55c671[_0x171e8b(0x16b)](typeof _0x1a0271,_0x55c671['RYtob']))return _0x1a0271?'true':'false';return null;}async['uploadFile'](_0x7ef09c,_0x1282e0){const _0x4097b1=a0_0x44a0,_0x4ef435={'OdDNF':_0x4097b1(0x1a2),'gbXxs':_0x4097b1(0x18e),'laOWE':_0x4097b1(0x173),'Avwjr':'request_scope_applied','LAIDf':_0x4097b1(0x14f)},_0x3ca52e=this['generateId']();try{let {headers:_0x5ec752,rows:_0x192e15,totalRows:_0x2fb8b2}=await excelParser[_0x4097b1(0x17d)](_0x7ef09c[_0x4097b1(0x187)]);const _0x153b5e=this['buildLabelToFieldMap'](_0x1282e0[_0x4097b1(0x15b)]),_0x37e0a4=_0x5ec752[_0x4097b1(0x1a4)](_0x341095=>{const _0x24f2c5=_0x153b5e['get'](_0x341095);return _0x24f2c5||_0x341095;});_0x192e15=_0x192e15[_0x4097b1(0x1a4)](_0x2876f3=>{const _0x336d4b={};return _0x5ec752['forEach']((_0x1dd47f,_0x4387c1)=>{const _0x433a48=_0x37e0a4[_0x4387c1];_0x336d4b[_0x433a48]=_0x2876f3[_0x1dd47f];}),_0x336d4b;}),_0x5ec752=_0x37e0a4,logger[_0x4097b1(0x17f)]({'event':'headers_mapped','original':_0x5ec752[_0x4097b1(0x13b)],'mapped':_0x37e0a4[_0x4097b1(0x14b)]((_0x1ba3b4,_0x3af38d)=>_0x1ba3b4!==_0x5ec752[_0x3af38d])[_0x4097b1(0x13b)]},_0x4ef435['OdDNF']);_0x1282e0['columnFormats']&&Object['keys'](_0x1282e0[_0x4097b1(0x156)])[_0x4097b1(0x13b)]>0x0&&(_0x192e15=this['applyColumnFormats'](_0x192e15,_0x1282e0[_0x4097b1(0x156)]),logger[_0x4097b1(0x17f)]({'event':_0x4ef435['gbXxs'],'formatCount':Object['keys'](_0x1282e0[_0x4097b1(0x156)])['length'],'formats':Object[_0x4097b1(0x18b)](_0x1282e0[_0x4097b1(0x156)])},_0x4ef435['laOWE']));if(_0x1282e0[_0x4097b1(0x1c4)]&&_0x1282e0[_0x4097b1(0x1c4)][_0x4097b1(0x1b6)]){const {column:_0x464fd2,value:_0x393c04}=_0x1282e0[_0x4097b1(0x1c4)];_0x192e15=_0x192e15['map'](_0x482643=>({..._0x482643,[_0x464fd2]:_0x393c04})),logger[_0x4097b1(0x17f)]({'event':_0x4ef435[_0x4097b1(0x170)],'column':_0x464fd2,'rowCount':_0x192e15['length']},_0x4ef435['LAIDf']);}const _0x38786e=_0x1282e0['lookupFields']?Object['values'](_0x1282e0['lookupFields'])['map'](_0x3f508b=>_0x3f508b['targetField']):[],_0x49b637=_0x1282e0['fieldName'][_0x4097b1(0x14b)](_0x10da00=>!_0x38786e[_0x4097b1(0x1a3)](_0x10da00)),_0x2110e0=excelParser[_0x4097b1(0x154)](_0x5ec752,_0x49b637);if(!_0x2110e0[_0x4097b1(0x1b8)]){await fs[_0x4097b1(0x16a)](_0x7ef09c['path']);throw new Error('Excel\x20structure\x20mismatch.\x20Missing\x20fields:\x20'+_0x2110e0[_0x4097b1(0x194)][_0x4097b1(0x142)](',\x20'));}const _0x1cb927={'upload_id':_0x3ca52e,'filename':_0x7ef09c['originalname'],'total_rows':_0x2fb8b2,'headers':_0x5ec752,'rows':_0x192e15,'params':_0x1282e0,'created_at':new Date()[_0x4097b1(0x189)]()};return await redisHelper['setJob'](_0x4097b1(0x179)+_0x3ca52e,_0x1cb927,0xe10),await fs['unlink'](_0x7ef09c[_0x4097b1(0x187)]),logger[_0x4097b1(0x158)]({'event':'import_file_uploaded','uploadId':_0x3ca52e,'filename':_0x7ef09c['originalname'],'totalRows':_0x2fb8b2},_0x4097b1(0x14c)),{'upload_id':_0x3ca52e,'total_rows':_0x2fb8b2,'preview':_0x192e15['slice'](0x0,0xa)};}catch(_0x1f496e){try{await fs['unlink'](_0x7ef09c[_0x4097b1(0x187)]);}catch(_0x133aef){logError(_0x133aef,{'event':'file_cleanup_error'},'Failed\x20to\x20cleanup\x20file');}throw _0x1f496e;}}async[a0_0x44a0(0x144)](_0x5ab9f6){const _0x911c23=a0_0x44a0,_0x128cbd={'xoYOY':function(_0xf7fe99,_0x1f22b,_0x34fb01,_0x31d81e){return _0xf7fe99(_0x1f22b,_0x34fb01,_0x31d81e);},'wYgLS':'validating','ZClMy':_0x911c23(0x1a1)},_0x252149=this[_0x911c23(0x14d)](),_0x5df572=await redisHelper['getJob'](_0x911c23(0x179)+_0x5ab9f6);if(!_0x5df572)throw new Error(_0x911c23(0x130));const _0x5313e8={'job_id':_0x252149,'upload_id':_0x5ab9f6,'status':_0x128cbd['wYgLS'],'progress':0x0,'created_at':new Date()[_0x911c23(0x189)](),'params':_0x5df572['params']};return await redisHelper[_0x911c23(0x15f)]('job:'+_0x252149,_0x5313e8,0xe10),logger[_0x911c23(0x158)]({'event':'preview_job_created','jobId':_0x252149,'uploadId':_0x5ab9f6},_0x128cbd['ZClMy']),this[_0x911c23(0x1a9)](_0x252149,_0x5ab9f6,_0x5df572)[_0x911c23(0x180)](_0x11250c=>{const _0x56baeb=_0x911c23;_0x128cbd['xoYOY'](logError,_0x11250c,{'event':'preview_process_error','jobId':_0x252149},_0x56baeb(0x145));}),{'job_id':_0x252149,'status':_0x128cbd['wYgLS']};}['autoGenerateUpsertKeys'](_0x5a7b97,_0x18167c){const _0x587d46=a0_0x44a0,_0xcbd435={'kgfjD':function(_0x451602,_0x40ed5e){return _0x451602(_0x40ed5e);},'TqiWv':_0x587d46(0x1c5)};_0x5a7b97['forEach']((_0x3d7e98,_0x571d96)=>{const _0x5b6c45={'phLBR':function(_0x63cdbc,_0x3b4661){const _0x5ad23c=a0_0x4aa4;return _0xcbd435[_0x5ad23c(0x167)](_0x63cdbc,_0x3b4661);},'lQYlO':_0xcbd435['TqiWv'],'sttio':function(_0x234267,_0x575ac5){return _0x234267+_0x575ac5;}};_0x18167c['forEach'](_0x7bf2c9=>{const _0x56ffe4=a0_0x4aa4,_0x4ff008=_0x3d7e98[_0x7bf2c9];if(_0x4ff008===null||_0x4ff008===undefined||_0x4ff008===''||_0x5b6c45[_0x56ffe4(0x159)](String,_0x4ff008)[_0x56ffe4(0x146)]()==='-'){const _0x561653=uuidv7();_0x3d7e98[_0x7bf2c9]=_0x561653,_0x3d7e98[_0x56ffe4(0x147)]=_0x3d7e98[_0x56ffe4(0x147)]||{},_0x3d7e98[_0x56ffe4(0x147)][_0x7bf2c9]=_0x561653,logger[_0x56ffe4(0x17f)]({'event':_0x5b6c45[_0x56ffe4(0x190)],'rowIndex':_0x571d96,'field':_0x7bf2c9,'uuid':_0x561653},_0x56ffe4(0x1ab)+_0x7bf2c9+'\x20at\x20row\x20'+_0x5b6c45['sttio'](_0x571d96,0x2));}});});}async[a0_0x44a0(0x1a9)](_0x179bc5,_0xdf5d02,_0x5db87){const _0x246d59=a0_0x44a0,_0x238a47={'MlWLr':function(_0x442184,_0x518a00){return _0x442184===_0x518a00;},'uWPxm':'SKIP','XGWtI':function(_0x5db15f,_0x474fa8){return _0x5db15f>_0x474fa8;},'LNOsO':_0x246d59(0x17b),'QADwO':'preview_error','uLrAk':_0x246d59(0x16c),'XYZrd':_0x246d59(0x165),'OdITp':_0x246d59(0x15c)};try{let {rows:_0x2ce52d,params:_0x307555}=_0x5db87;const {requiredFields:_0x31a613,validations:_0x4b28a0,upsertKeys:_0x3364da,tableName:_0x4553cc,primaryKey:_0x2c88c8,fieldName:_0x2aad45,upsertStrategy:_0x2a85e3,lookupFields:_0x3147a4}=_0x307555;this[_0x246d59(0x12f)](_0x2ce52d,_0x3364da);let _0x1e490f=[];if(_0x3147a4&&_0x238a47['XGWtI'](Object[_0x246d59(0x18b)](_0x3147a4)['length'],0x0)){logger[_0x246d59(0x158)]({'event':_0x238a47[_0x246d59(0x195)],'jobId':_0x179bc5,'lookupFieldCount':Object['keys'](_0x3147a4)[_0x246d59(0x13b)]},'Processing\x20lookup\x20fields');const _0x412c1a=await lookupResolver[_0x246d59(0x135)](_0x2ce52d,_0x3147a4);_0x2ce52d=_0x412c1a[_0x246d59(0x169)],_0x1e490f=_0x412c1a[_0x246d59(0x19c)],_0x5db87[_0x246d59(0x139)]=_0x2ce52d;}const _0x3fda86=importValidator[_0x246d59(0x1a5)](_0x2ce52d,_0x31a613||[],_0x4b28a0||{});_0x1e490f['forEach'](_0x25e5c6=>{const _0x1e35f4=_0x246d59,_0x2b5afe=_0x3fda86[_0x1e35f4(0x1bb)](_0x4699a8=>_0x4699a8['rowIndex']===_0x25e5c6['rowIndex']);_0x2b5afe?_0x2b5afe['errors'][_0x1e35f4(0x17e)](_0x25e5c6[_0x1e35f4(0x1c6)]):_0x3fda86['push']({'rowIndex':_0x25e5c6[_0x1e35f4(0x13f)],'rowData':_0x2ce52d[_0x25e5c6['rowIndex']],'errors':[_0x25e5c6[_0x1e35f4(0x1c6)]]});});const _0x249dbc=importValidator['detectDuplicatesInFile'](_0x2ce52d,_0x3364da);_0x249dbc[_0x246d59(0x1ba)](_0x7727c5=>{const _0x44b067=_0x246d59,_0xc910bd=_0x3fda86['find'](_0x280545=>_0x280545[_0x44b067(0x13f)]===_0x7727c5['rowIndex']),_0x4559a7=_0x3364da[_0x44b067(0x1a4)](_0x2f1d61=>_0x2f1d61[_0x44b067(0x162)]())['join'](',\x20'),_0x288ca5='Duplicate\x20value\x20for\x20'+_0x4559a7;_0xc910bd?_0xc910bd['errors']['push'](_0x288ca5):_0x3fda86[_0x44b067(0x17e)]({'rowIndex':_0x7727c5[_0x44b067(0x13f)],'rowData':_0x2ce52d[_0x7727c5[_0x44b067(0x13f)]],'errors':[_0x288ca5]});}),await this['detectDatabaseDuplicates'](_0x2ce52d,_0x3364da,_0x4553cc,_0x2c88c8,_0x2a85e3,_0x3fda86),_0x3fda86['forEach'](_0x482d73=>{const _0x2cab68=_0x246d59,_0x528103=_0x2ce52d[_0x482d73[_0x2cab68(0x13f)]];_0x528103&&(_0x528103[_0x2cab68(0x1a0)]=_0x482d73[_0x2cab68(0x19c)]);});let _0x7c8477=0x0,_0x4421c4=0x0,_0x2e28d6=0x0;_0x2ce52d['forEach'](_0x7d23a9=>{const _0x1d23ed=_0x246d59;if(_0x7d23a9['_action']===_0x1d23ed(0x19a))_0x7c8477++;else{if(_0x238a47['MlWLr'](_0x7d23a9[_0x1d23ed(0x166)],'UPDATE'))_0x4421c4++;else _0x7d23a9[_0x1d23ed(0x166)]===_0x238a47[_0x1d23ed(0x1ad)]&&_0x2e28d6++;}});const _0x2b6002={'job_id':_0x179bc5,'upload_id':_0xdf5d02,'status':_0x238a47['XGWtI'](_0x3fda86[_0x246d59(0x13b)],0x0)?_0x238a47['QADwO']:_0x238a47[_0x246d59(0x1bd)],'progress':0x64,'created_at':_0x5db87[_0x246d59(0x1b9)],'completed_at':new Date()['toISOString'](),'preview':{'total_rows':_0x2ce52d['length'],'insert_count':_0x7c8477,'update_count':_0x4421c4,'skip_count':_0x2e28d6,'error_count':_0x3fda86[_0x246d59(0x13b)],'errors':_0x3fda86,'data':_0x2ce52d,'sample_insert':_0x2ce52d['filter'](_0x3b6ebc=>_0x3b6ebc['_action']==='INSERT')[_0x246d59(0x1b4)](0x0,0x5),'sample_update':_0x2ce52d[_0x246d59(0x14b)](_0x44a860=>_0x44a860['_action']===_0x246d59(0x12d))[_0x246d59(0x1b4)](0x0,0x5),'sample_skip':_0x2ce52d[_0x246d59(0x14b)](_0x1a7928=>_0x1a7928[_0x246d59(0x166)]===_0x246d59(0x1b7))['slice'](0x0,0x5)},'params':_0x307555};await redisHelper['setJob'](_0x246d59(0x181)+_0x179bc5,_0x2b6002,0xe10),_0x5db87['rows']=_0x2ce52d,await redisHelper['setJob']('upload:'+_0xdf5d02,_0x5db87,0xe10),logger[_0x246d59(0x158)]({'event':_0x238a47['XYZrd'],'jobId':_0x179bc5,'status':_0x2b6002['status'],'insertCount':_0x7c8477,'updateCount':_0x4421c4,'skipCount':_0x2e28d6,'errorCount':_0x3fda86[_0x246d59(0x13b)]},_0x238a47[_0x246d59(0x148)]);}catch(_0x6e56b1){logError(_0x6e56b1,{'event':'preview_job_failed','jobId':_0x179bc5},_0x246d59(0x13a)),await redisHelper['setJob']('job:'+_0x179bc5,{'job_id':_0x179bc5,'upload_id':_0xdf5d02,'status':_0x246d59(0x1be),'progress':0x0,'error':_0x6e56b1['message'],'created_at':new Date()['toISOString'](),'completed_at':new Date()['toISOString']()},0xe10);}}async['detectDatabaseDuplicates'](_0x363d71,_0x379d09,_0x985891,_0x34cf2b,_0xdc5d12='update_existing',_0x288563=[]){const _0x504154=a0_0x44a0,_0x28a51b={'bftAo':function(_0x1ffd45,_0x29722e){return _0x1ffd45===_0x29722e;},'Fnrpk':_0x504154(0x13d),'wkOVn':_0x504154(0x136),'aTLRu':_0x504154(0x1c2),'rQnGS':function(_0x19724d,_0xb7503e){return _0x19724d===_0xb7503e;},'nyqLM':'skip_existing','ijEdM':function(_0x4f0d10,_0x1044b6){return _0x4f0d10===_0x1044b6;},'CoITb':_0x504154(0x19a),'SwBqu':function(_0x551c57,_0x44967b){return _0x551c57===_0x44967b;},'cDnkN':_0x504154(0x1bc),'uhkcs':function(_0x1caf2d,_0xfdaba6){return _0x1caf2d>_0xfdaba6;}},_0x591b04=upsertBuilder['chunkRows'](_0x363d71,0x64);for(const _0x99dfde of _0x591b04){const _0x572d7e=_0x99dfde['map'](_0x562328=>_0x562328[_0x379d09[0x0]]),_0x20c9a5=_0x572d7e['map'](_0x754093=>{if(_0x28a51b['bftAo'](_0x754093,null)||_0x754093===undefined)return _0x28a51b['Fnrpk'];return'\x27'+String(_0x754093)['replace'](/'/g,'\x27\x27')+'\x27';}),_0x42bb71=_0x504154(0x174)+_0x34cf2b+',\x20'+_0x379d09[_0x504154(0x142)](',\x20')+_0x504154(0x1aa)+_0x985891+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20'+_0x379d09[0x0]+'\x20IN\x20('+_0x20c9a5[_0x504154(0x142)](',\x20')+_0x504154(0x199);let _0x4e6374=await executeQuery(_0x42bb71);dbType===_0x28a51b['cDnkN']&&_0x4e6374&&_0x28a51b['uhkcs'](_0x4e6374['length'],0x0)&&(_0x4e6374=_0x4e6374['map'](_0x14f971=>{const _0xc3c77d=_0x504154,_0x5522dd={};for(const [_0x149eac,_0x32b436]of Object[_0xc3c77d(0x192)](_0x14f971)){_0x5522dd[_0x149eac['toLowerCase']()]=_0x32b436;}return _0x5522dd;}));const _0x1e2a01=new Map();_0x4e6374[_0x504154(0x1ba)](_0x4b4b0e=>{const _0x6c9b52=_0x504154,_0x4aceea=_0x4b4b0e[_0x379d09[0x0]];_0x1e2a01[_0x6c9b52(0x1b1)](_0x4aceea,_0x4b4b0e);}),_0x99dfde[_0x504154(0x1ba)]((_0x4d706f,_0x28acb8)=>{const _0x1140df=_0x504154,_0x18c8ee=_0x4d706f[_0x379d09[0x0]],_0x4cf044=_0x1e2a01['get'](_0x18c8ee);if(_0x4cf044){if(_0xdc5d12===_0x28a51b['wkOVn'])_0x4d706f[_0x1140df(0x166)]=_0x1140df(0x12d),_0x4d706f['_existingId']=_0x4cf044[_0x34cf2b];else{if(_0xdc5d12===_0x28a51b['aTLRu']){_0x4d706f[_0x1140df(0x166)]=_0x1140df(0x1b7),_0x4d706f['_errors']=_0x4d706f[_0x1140df(0x1a0)]||[],_0x4d706f[_0x1140df(0x1a0)]['push']('Record\x20exists\x20(insert_only\x20mode)');const _0x240228=_0x363d71[_0x1140df(0x13c)](_0x4d706f);_0x240228!==-0x1&&_0x288563['push']({'rowIndex':_0x240228,'rowData':_0x4d706f,'errors':['Record\x20exists\x20(insert_only\x20mode)']});}else _0x28a51b['rQnGS'](_0xdc5d12,_0x28a51b['nyqLM'])&&(_0x4d706f[_0x1140df(0x166)]=_0x1140df(0x1b7));}}else{if(_0x28a51b['ijEdM'](_0xdc5d12,'update_existing'))_0x4d706f[_0x1140df(0x166)]=_0x28a51b[_0x1140df(0x134)];else(_0x28a51b['SwBqu'](_0xdc5d12,_0x1140df(0x1c2))||_0xdc5d12===_0x28a51b[_0x1140df(0x15d)])&&(_0x4d706f['_action']='INSERT');}});}}async[a0_0x44a0(0x1b3)](_0x491f46){const _0x271bc7=a0_0x44a0,_0xaa79a2={'bkIbi':'commit_process_error','dmPdX':function(_0x1378f7,_0xd2534){return _0x1378f7!==_0xd2534;},'wKYXq':_0x271bc7(0x16c),'PMTZH':_0x271bc7(0x15a),'UjiIE':'Commit\x20job\x20created'},_0x575ddf=this[_0x271bc7(0x14d)](),_0x4564ac=await redisHelper['getJob'](_0x271bc7(0x181)+_0x491f46);if(!_0x4564ac)throw new Error('Preview\x20job\x20not\x20found\x20or\x20expired');if(_0xaa79a2['dmPdX'](_0x4564ac['status'],_0xaa79a2[_0x271bc7(0x155)]))throw new Error('Cannot\x20commit:\x20preview\x20status\x20is\x20'+_0x4564ac[_0x271bc7(0x161)]);const _0x1f05b8={'job_id':_0x575ddf,'upload_id':_0x4564ac['upload_id'],'preview_job_id':_0x491f46,'status':_0xaa79a2[_0x271bc7(0x131)],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x4564ac[_0x271bc7(0x13e)]};return await redisHelper[_0x271bc7(0x15f)](_0x271bc7(0x181)+_0x575ddf,_0x1f05b8,0xe10),logger[_0x271bc7(0x158)]({'event':_0x271bc7(0x188),'jobId':_0x575ddf,'previewJobId':_0x491f46},_0xaa79a2['UjiIE']),this[_0x271bc7(0x133)](_0x575ddf,_0x4564ac)[_0x271bc7(0x180)](_0x5c106d=>{const _0x2be4ed=_0x271bc7;logError(_0x5c106d,{'event':_0xaa79a2[_0x2be4ed(0x191)],'jobId':_0x575ddf},'Commit\x20processing\x20failed');}),{'job_id':_0x575ddf,'status':_0x271bc7(0x15a)};}async['processCommitJob'](_0x10be84,_0x3d0078){const _0x57e973=a0_0x44a0,_0x49f9d5={'NbIuJ':function(_0x264bc3,_0x3280b8){return _0x264bc3===_0x3280b8;},'OrFWq':_0x57e973(0x130),'BVEBt':function(_0xbae953,_0x2e2dd4){return _0xbae953>_0x2e2dd4;},'diggQ':'import_fields_filtered','uKLNl':_0x57e973(0x12e),'UQcnW':function(_0x1b5ec6,_0x21b313){return _0x1b5ec6||_0x21b313;},'yirce':function(_0x4d249f,_0xb0616){return _0x4d249f(_0xb0616);},'sPpVm':function(_0x327593,_0x34abe8,_0x28d86a,_0x65a16b){return _0x327593(_0x34abe8,_0x28d86a,_0x65a16b);}};try{const _0x3bb95f=await redisHelper[_0x57e973(0x18c)](_0x57e973(0x179)+_0x3d0078[_0x57e973(0x178)]);if(!_0x3bb95f)throw new Error(_0x49f9d5[_0x57e973(0x197)]);const {rows:_0x6ce31f,params:_0x3b50c8}=_0x3bb95f,{tableName:_0x42331c,fieldName:_0x2550ac,primaryKey:_0x3337a8,upsertKeys:_0x2bc6fe,excludeFromImport:_0x31fa46,lookupFields:_0x4b0694,columnFormats:_0x10f1c8}=_0x3b50c8,_0xb8e365=_0x4b0694?Object[_0x57e973(0x18b)](_0x4b0694):[],_0x2ec7f3=new Set([..._0x31fa46||[],..._0xb8e365]);let _0x5ed4bc=_0x2550ac;_0x49f9d5[_0x57e973(0x18d)](_0x2ec7f3[_0x57e973(0x176)],0x0)&&(_0x5ed4bc=_0x2550ac['filter'](_0x4d243b=>!_0x2ec7f3[_0x57e973(0x193)](_0x4d243b)),logger[_0x57e973(0x17f)]({'event':_0x49f9d5[_0x57e973(0x1a6)],'originalCount':_0x2550ac[_0x57e973(0x13b)],'filteredCount':_0x5ed4bc['length'],'excludedFields':Array['from'](_0x2ec7f3),'lookupSourceFields':_0xb8e365},_0x49f9d5['uKLNl']));const _0x3ae187=_0x6ce31f[_0x57e973(0x14b)](_0x4ff074=>_0x4ff074[_0x57e973(0x166)]==='INSERT'),_0x2a7fec=_0x6ce31f[_0x57e973(0x14b)](_0x5b240d=>_0x5b240d[_0x57e973(0x166)]===_0x57e973(0x12d));let _0x4af946=0x0,_0x21755c=0x0;const _0x2433a9=[];if(_0x49f9d5['BVEBt'](_0x3ae187[_0x57e973(0x13b)],0x0)){const _0xcac4fd=upsertBuilder['chunkRows'](_0x3ae187,0x64);for(const _0xce4b93 of _0xcac4fd){const {query:_0xe576a0}=upsertBuilder['buildBatchInsert'](_0xce4b93,_0x42331c,_0x5ed4bc,_0x49f9d5[_0x57e973(0x175)](_0x10f1c8,{}));_0xe576a0&&_0x2433a9[_0x57e973(0x17e)]({'sql':_0xe576a0,'count':_0xce4b93[_0x57e973(0x13b)],'type':'insert'});}}if(_0x2a7fec['length']>0x0){const _0x13ba52=upsertBuilder[_0x57e973(0x16e)](_0x2a7fec,0x64);for(const _0x5a10f9 of _0x13ba52){const {query:_0x2571df}=upsertBuilder['buildBatchUpdate'](_0x5a10f9,_0x42331c,_0x5ed4bc,_0x3337a8,_0x2bc6fe,_0x10f1c8||{});_0x2571df&&_0x2433a9['push']({'sql':_0x2571df,'count':_0x5a10f9[_0x57e973(0x13b)],'type':'update'});}}_0x2433a9['length']>0x0&&await _0x49f9d5['yirce'](executeTransaction,_0x2433a9[_0x57e973(0x1a4)](_0x88a067=>({'sql':_0x88a067['sql'],'params':[]})));_0x2433a9[_0x57e973(0x1ba)](_0x5d2a66=>{const _0x1582e1=_0x57e973;if(_0x49f9d5[_0x1582e1(0x198)](_0x5d2a66['type'],_0x1582e1(0x14e)))_0x4af946+=_0x5d2a66[_0x1582e1(0x16d)];else _0x21755c+=_0x5d2a66['count'];});const _0x5c8f69={'job_id':_0x10be84,'upload_id':_0x3d0078[_0x57e973(0x178)],'preview_job_id':_0x3d0078['job_id'],'status':'completed','progress':0x64,'created_at':_0x3d0078[_0x57e973(0x1b9)],'started_at':new Date()[_0x57e973(0x189)](),'completed_at':new Date()['toISOString'](),'result':{'total_rows':_0x6ce31f['length'],'inserted_rows':_0x4af946,'updated_rows':_0x21755c,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x3b50c8};await redisHelper['setJob']('job:'+_0x10be84,_0x5c8f69,0xe10),logger['info']({'event':'commit_job_completed','jobId':_0x10be84,'insertedCount':_0x4af946,'updatedCount':_0x21755c},'Commit\x20job\x20completed');}catch(_0x1bb479){_0x49f9d5[_0x57e973(0x1c1)](logError,_0x1bb479,{'event':_0x57e973(0x1af),'jobId':_0x10be84},'Commit\x20job\x20failed'),await redisHelper['setJob'](_0x57e973(0x181)+_0x10be84,{'job_id':_0x10be84,'upload_id':_0x3d0078['upload_id'],'preview_job_id':_0x3d0078['job_id'],'status':'failed','progress':0x0,'error':_0x1bb479[_0x57e973(0x1c6)],'created_at':_0x3d0078['created_at'],'started_at':new Date()[_0x57e973(0x189)](),'completed_at':new Date()['toISOString']()},0xe10);}}async['getJobStatus'](_0x515b49){const _0x1e9f74=a0_0x44a0,_0x396742=await redisHelper[_0x1e9f74(0x18c)](_0x1e9f74(0x181)+_0x515b49);if(!_0x396742)return{'success':![],'error':'Job\x20not\x20found\x20or\x20expired'};return{'success':!![],'data':_0x396742};}}module[a0_0x44a0(0x1bf)]=new ImportService();
@@ -1 +1 @@
1
- const a0_0x11a5f1=a0_0x5016;(function(_0x1ea74a,_0x3e7ee7){const _0xe4487=a0_0x5016,_0x1f1217=_0x1ea74a();while(!![]){try{const _0x304252=parseInt(_0xe4487(0x202))/0x1+parseInt(_0xe4487(0x1e0))/0x2+-parseInt(_0xe4487(0x229))/0x3+parseInt(_0xe4487(0x223))/0x4+-parseInt(_0xe4487(0x217))/0x5+parseInt(_0xe4487(0x24e))/0x6+-parseInt(_0xe4487(0x207))/0x7;if(_0x304252===_0x3e7ee7)break;else _0x1f1217['push'](_0x1f1217['shift']());}catch(_0xca7b0){_0x1f1217['push'](_0x1f1217['shift']());}}}(a0_0x1c55,0x9145e));function a0_0x1c55(){const _0x3a345e=['y29UBMvJDgLVBLbYB21PC2u','ywHnufu','AgvHzgvYCW','Exn3wgm','C3vIC2nYAwjL','s0fgs0fFru5bqKXfra','z2v0q29UzMLN','Bg9JywXOB3n0oJKWoti','C2v0DxbfDMvUDeHHBMrSzxjZ','y29UC3vTzxiUzgLZy29UBMvJDa','odK2otmXvhPTvM9t','CMvXDwvZDfrPBwvVDxq','zxjYB3i','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','wgjJt2y','mta1mdG1mJzkrNj6rKS','CMv0CNLnyxHezwXHEq','CMvZzxrnzxrYAwnZ','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','CgfYC2vizwfKzxjZ','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','s0fgs0fFsevbuLrcrufux0LovevsvKfm','z2v0tg9Ntgv2zwW','tK9useLorW','s0fgs0fFuKvuuLLFrevmqvK','Bg9N','s0fgs0fFu0vtu0LptL9usu1ft1vu','yxv0B0nVBw1PDa','C3bSAxq','vNrSqw8','nJy4ote1BLftzfzn','y2DgBwO','zgLZy29UBMvJDa','y2XVC2u','EvPuDgm','icHNCM91CeLKoIa','zMXVB3i','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','t251tgW','zw52','qxfoqxm','AxnsDw5UAw5N','mZuXmtG1mKztENzwAq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','C3vIC2nYAwjLzfrVCgLJCW','B2zMC2v0','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','rLDWAhe','otuXodCZqM5qEhfv','z3jVDxbjza','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','icHMCM9TqMvNAw5UAw5NoIa','CM91BMq','C2vLA1rVt2zMC2v0','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','BwvZC2fNzuHHBMrSzxi','A2fMA2fQCW','C2vZC2LVBLrPBwvVDxq','Bwf4qNL0zxnqzxjqyxj0AxrPB24','CMv0CNLezwXHEq','tuvmuxC','s0fgs0fFu1nm','BwfW','z2v0twv0CMLJCW','mZaWma','zw50CMLLCW','C3rHCNruAw1L','AKn5Dxu','yNjVA2vYCW','BhzXsgC','BwvZC2fNzxnszwnLAxzLza','CMvKDwnL','Dhj1zq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbWyxvZzwq','CMvZDw1L','revcvuC','Dg9tDhjPBMC','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','Cgf1C2u','DMfSDwu','s0fgs0fFu0fttf9nruniqu5ju00','BwvZC2fNzxnqCM9JzxnZzwq','uefnrei','t1vhtKi','ndq2nJeWmhvuwwLYAa','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','C3rVCa','v0fstG','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCgf1C2vK','s0fgs0fFte9hx0XfvKvm','zw5HyMXLza','A2fMA2e','BgvUz3rO','AxnqyxvZzwq','ntyXnZjJuw9rvhm','BgfZDe1LC3nHz2vuAw1L','Bwv0CMLJCW','mZaWmda','s0fgs0fFuKvrvuvtvf9usu1ft1vu','y29UC3vTzxiUCMvIywXHBMnPBMC','ChjVy2vZC2LUz1rPBwvZ','y29UBMvJDa','z2v0vgLTzq','BwvZC2fNzq','AxnjBML0AwfSAxPPBMC','y2XPzw50swq','BM93','BwvZC2fNzxngywLSzwq','AxndB25Uzwn0zwq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','y29UC3vTzxi','s0fgs0fFqvvut19dt01nsvq','wxLnq3a','y29UBMvJDgLVBLrPBwvVDxq','C2HPzNq','Dg9gAxHLza','Effrsfm','AM9PBG'];a0_0x1c55=function(){return _0x3a345e;};return a0_0x1c55();}const {Kafka,logLevel}=require(a0_0x11a5f1(0x231)),{v7:uuidv7}=require('uuid');class KafkaConsumerService{constructor(){const _0x51deda=a0_0x11a5f1;this['kafka']=null,this[_0x51deda(0x1f0)]=null,this[_0x51deda(0x1ee)]=![],this[_0x51deda(0x1ea)]=![],this['isRunning']=![],this[_0x51deda(0x257)]=![],this[_0x51deda(0x1f8)]=null,this['subscribedTopics']=[],this[_0x51deda(0x22a)]=null,this[_0x51deda(0x230)]=null,this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};}[a0_0x11a5f1(0x1fe)](){const _0x4fe471=a0_0x11a5f1,_0x1f352f={'xQQHS':_0x4fe471(0x1ff),'ahMPU':function(_0x2002e3,_0x495461){return _0x2002e3(_0x495461);},'YyMCp':function(_0x2b82d3,_0xb31f62){return _0x2b82d3(_0xb31f62);},'FWphq':_0x4fe471(0x1e3),'rdPyM':_0x4fe471(0x239),'uadPR':'1048576','juEQc':function(_0x59e1fd,_0x1d3921){return _0x59e1fd===_0x1d3921;},'DsWZq':_0x4fe471(0x241),'zknCM':'5000','OUGNB':'1000','XbcOf':'warn'};return{'enabled':process['env'][_0x4fe471(0x1fd)]===_0x4fe471(0x241),'brokers':(process[_0x4fe471(0x220)]['KAFKA_BROKERS']||_0x1f352f[_0x4fe471(0x1f6)])[_0x4fe471(0x215)](','),'clientId':process[_0x4fe471(0x220)]['KAFKA_CLIENT_ID']||'restforge-'+(process[_0x4fe471(0x220)][_0x4fe471(0x205)]||'default')+'-consumer','connectionTimeout':parseInt(process[_0x4fe471(0x220)]['KAFKA_CONNECTION_TIMEOUT']||_0x4fe471(0x239)),'requestTimeout':_0x1f352f[_0x4fe471(0x1f9)](parseInt,process[_0x4fe471(0x220)][_0x4fe471(0x1e4)]||'25000'),'sessionTimeout':_0x1f352f[_0x4fe471(0x1f2)](parseInt,process['env'][_0x4fe471(0x213)]||_0x1f352f['FWphq']),'heartbeatInterval':_0x1f352f['YyMCp'](parseInt,process[_0x4fe471(0x220)][_0x4fe471(0x20e)]||_0x1f352f['rdPyM']),'maxBytesPerPartition':parseInt(process[_0x4fe471(0x220)][_0x4fe471(0x20c)]||_0x1f352f['uadPR']),'autoCommit':_0x1f352f['juEQc'](process['env'][_0x4fe471(0x1f1)],_0x1f352f['DsWZq']),'autoCommitInterval':_0x1f352f['ahMPU'](parseInt,process['env']['KAFKA_AUTO_COMMIT_INTERVAL']||_0x1f352f['zknCM']),'retryAttempts':parseInt(process[_0x4fe471(0x220)]['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process['env'][_0x4fe471(0x211)]||_0x1f352f[_0x4fe471(0x24d)]),'retryMaxDelay':parseInt(process[_0x4fe471(0x220)]['KAFKA_RETRY_MAX_DELAY']||_0x1f352f[_0x4fe471(0x228)]),'logLevel':process[_0x4fe471(0x220)][_0x4fe471(0x253)]||_0x1f352f[_0x4fe471(0x206)]};}[a0_0x11a5f1(0x20f)](_0x4e336d){const _0x34daa9=a0_0x11a5f1,_0x4f89e5={'nothing':logLevel[_0x34daa9(0x210)],'error':logLevel['ERROR'],'warn':logLevel['WARN'],'info':logLevel['INFO'],'debug':logLevel[_0x34daa9(0x245)]};return _0x4f89e5[_0x4e336d['toLowerCase']()]||logLevel[_0x34daa9(0x251)];}async['initialize'](_0x4cc057={}){const _0x3c6efe=a0_0x11a5f1,_0x7d80b7={'OnuLl':'default','sfckm':function(_0x29c732,_0x34c51b){return _0x29c732(_0x34c51b);}},_0x33b5ce=this['getConfig']();if(!_0x33b5ce[_0x3c6efe(0x254)])return console['log']('[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'),![];if(this['isConnected'])return!![];if(this['isInitializing']&&this[_0x3c6efe(0x1f8)])return this[_0x3c6efe(0x1f8)];return this[_0x3c6efe(0x1ea)]=!![],this[_0x3c6efe(0x1f8)]=new Promise(async _0x42ad38=>{const _0x1c9f8b=_0x3c6efe;try{let _0x2dbffc=undefined;process[_0x1c9f8b(0x220)][_0x1c9f8b(0x236)]==='true'&&(_0x2dbffc=!![]);let _0x2c7a5c=undefined;process[_0x1c9f8b(0x220)][_0x1c9f8b(0x24a)]&&(_0x2c7a5c={'mechanism':process['env'][_0x1c9f8b(0x24a)],'username':process['env']['KAFKA_SASL_USERNAME']||'','password':process[_0x1c9f8b(0x220)]['KAFKA_SASL_PASSWORD']||''}),this[_0x1c9f8b(0x255)]=new Kafka({'clientId':_0x4cc057['clientId']||_0x33b5ce[_0x1c9f8b(0x1eb)],'brokers':_0x33b5ce[_0x1c9f8b(0x23d)],'connectionTimeout':_0x33b5ce[_0x1c9f8b(0x1f3)],'requestTimeout':_0x33b5ce[_0x1c9f8b(0x203)],'logLevel':this[_0x1c9f8b(0x20f)](_0x33b5ce['logLevel']),'ssl':_0x2dbffc,'sasl':_0x2c7a5c,'retry':{'initialRetryTime':_0x33b5ce[_0x1c9f8b(0x234)],'retries':_0x33b5ce['retryAttempts'],'maxRetryTime':_0x33b5ce[_0x1c9f8b(0x208)]}}),this['groupId']=_0x4cc057['groupId']||'restforge-'+(process[_0x1c9f8b(0x220)][_0x1c9f8b(0x205)]||_0x7d80b7[_0x1c9f8b(0x21f)])+'-consumer-group',this['consumer']=this['kafka'][_0x1c9f8b(0x1f0)]({'groupId':this[_0x1c9f8b(0x22a)],'sessionTimeout':_0x33b5ce[_0x1c9f8b(0x232)],'heartbeatInterval':_0x33b5ce['heartbeatInterval'],'maxBytesPerPartition':_0x33b5ce[_0x1c9f8b(0x233)],'allowAutoTopicCreation':![]}),await this[_0x1c9f8b(0x1f0)][_0x1c9f8b(0x1e7)](),this['isConnected']=!![],console[_0x1c9f8b(0x212)](_0x1c9f8b(0x24f)+_0x33b5ce[_0x1c9f8b(0x23d)][_0x1c9f8b(0x1f7)](',\x20')+_0x1c9f8b(0x21c)+this[_0x1c9f8b(0x22a)]+')'),this['setupEventHandlers'](),_0x42ad38(!![]);}catch(_0x2a13af){console[_0x1c9f8b(0x204)]('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x2a13af['message']),this[_0x1c9f8b(0x1ee)]=![],_0x7d80b7['sfckm'](_0x42ad38,![]);}finally{this['isInitializing']=![];}}),this['connectionPromise'];}[a0_0x11a5f1(0x200)](){const _0x5cc9aa=a0_0x11a5f1,_0x4d5f02={'ZiaWn':_0x5cc9aa(0x1ef),'MELQw':_0x5cc9aa(0x201),'uDPaz':'consumer.crash','yswXc':_0x5cc9aa(0x1e5)};if(!this[_0x5cc9aa(0x1f0)])return;this[_0x5cc9aa(0x1f0)]['on'](_0x4d5f02[_0x5cc9aa(0x235)],()=>{const _0x250162=_0x5cc9aa;console[_0x250162(0x212)](_0x4d5f02['ZiaWn']),this['isConnected']=![],this['isRunning']=![];}),this[_0x5cc9aa(0x1f0)]['on']('consumer.stop',()=>{console['log']('[KafkaConsumer]\x20Consumer\x20stopped'),this['isRunning']=![];}),this[_0x5cc9aa(0x1f0)]['on'](_0x4d5f02['uDPaz'],_0x4c3e2d=>{const _0x3eedc2=_0x5cc9aa;console['error']('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x4c3e2d['payload'][_0x3eedc2(0x204)]['message']),this[_0x3eedc2(0x222)]=![];}),this['consumer']['on'](_0x4d5f02[_0x5cc9aa(0x1fb)],()=>{const _0x522ebf=_0x5cc9aa;console[_0x522ebf(0x212)](_0x522ebf(0x20d));});}async[a0_0x11a5f1(0x1fc)](_0x48dd07,_0xf06bb6=![]){const _0x563ddf=a0_0x11a5f1;if(!this['isConnected'])return console[_0x563ddf(0x204)]('[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'),![];try{const _0x20447c=Array['isArray'](_0x48dd07)?_0x48dd07:[_0x48dd07];for(const _0x21ab7a of _0x20447c){await this[_0x563ddf(0x1f0)][_0x563ddf(0x1fc)]({'topic':_0x21ab7a,'fromBeginning':_0xf06bb6}),console['log'](_0x563ddf(0x22b)+_0x21ab7a+_0x563ddf(0x22c)+_0xf06bb6+')');}return this['subscribedTopics']=[...new Set([...this[_0x563ddf(0x225)],..._0x20447c])],!![];}catch(_0x254d2b){return console['error']('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x254d2b[_0x563ddf(0x1e9)]),![];}}async['startConsuming'](_0x50db38,_0x539782={}){const _0xd7d8eb=a0_0x11a5f1,_0x4ebd2d={'yZTtc':function(_0x1d0e63,_0x16a2cd){return _0x1d0e63-_0x16a2cd;},'tOsQU':function(_0x39bbee,_0xacbd1f){return _0x39bbee>_0xacbd1f;},'lvqHg':function(_0x3efa2d){return _0x3efa2d();},'QRzEd':'[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected','VtlAo':_0xd7d8eb(0x224)};if(!this[_0xd7d8eb(0x1ee)])return console[_0xd7d8eb(0x204)](_0x4ebd2d['QRzEd']),![];if(this['isRunning'])return console['log'](_0x4ebd2d[_0xd7d8eb(0x216)]),!![];const _0x27f7f7=this[_0xd7d8eb(0x1fe)]();this[_0xd7d8eb(0x230)]=_0x50db38;try{return this[_0xd7d8eb(0x1e2)]['startTime']=new Date(),await this['consumer']['run']({'autoCommit':_0x539782[_0xd7d8eb(0x214)]!==undefined?_0x539782[_0xd7d8eb(0x214)]:_0x27f7f7[_0xd7d8eb(0x214)],'autoCommitInterval':_0x27f7f7['autoCommitInterval'],'eachMessage':async({topic:_0x479f7f,partition:_0xa575d7,message:_0x2ad5c4,heartbeat:_0x387271})=>{const _0x46973f=_0xd7d8eb,_0x6681bc=Date['now']();this[_0x46973f(0x1e2)]['messagesReceived']++,this[_0x46973f(0x1e2)][_0x46973f(0x1e1)]=new Date();try{const _0x4debd5=_0x2ad5c4[_0x46973f(0x249)]?_0x2ad5c4[_0x46973f(0x249)][_0x46973f(0x246)]():null;let _0x340cbf=null;try{_0x340cbf=_0x4debd5?JSON['parse'](_0x4debd5):null;}catch(_0x5a5109){_0x340cbf=_0x4debd5;}const _0x597f42={'topic':_0x479f7f,'partition':_0xa575d7,'offset':_0x2ad5c4[_0x46973f(0x226)],'key':_0x2ad5c4['key']?_0x2ad5c4['key'][_0x46973f(0x246)]():null,'headers':this[_0x46973f(0x20b)](_0x2ad5c4[_0x46973f(0x1fa)]),'timestamp':_0x2ad5c4['timestamp'],'value':_0x340cbf,'raw':_0x4debd5};this[_0x46973f(0x230)]&&await this['messageHandler'](_0x597f42);!_0x27f7f7['autoCommit']&&await this['consumer']['commitOffsets']([{'topic':_0x479f7f,'partition':_0xa575d7,'offset':(parseInt(_0x2ad5c4[_0x46973f(0x226)])+0x1)[_0x46973f(0x246)]()}]);this['metrics'][_0x46973f(0x24b)]++;const _0x774a3e=_0x4ebd2d[_0x46973f(0x21b)](Date['now'](),_0x6681bc);this['metrics'][_0x46973f(0x1e6)]['push'](_0x774a3e),_0x4ebd2d['tOsQU'](this[_0x46973f(0x1e2)][_0x46973f(0x1e6)]['length'],0x64)&&this[_0x46973f(0x1e2)]['processingTimes'][_0x46973f(0x1f4)](),await _0x4ebd2d[_0x46973f(0x23e)](_0x387271);}catch(_0x4ce798){this['metrics'][_0x46973f(0x1ed)]++,console['error']('[KafkaConsumer]\x20Message\x20processing\x20error:\x20'+_0x4ce798[_0x46973f(0x1e9)]);throw _0x4ce798;}}}),this['isRunning']=!![],console[_0xd7d8eb(0x212)](_0xd7d8eb(0x20a)+this['subscribedTopics']['join'](',\x20')),!![];}catch(_0x5a146b){return console[_0xd7d8eb(0x204)]('[KafkaConsumer]\x20Start\x20consuming\x20error:\x20'+_0x5a146b['message']),![];}}[a0_0x11a5f1(0x20b)](_0x4fe3d6){const _0x441e11=a0_0x11a5f1;if(!_0x4fe3d6)return{};const _0x4bec1e={};for(const [_0x3502d6,_0x27aff8]of Object[_0x441e11(0x23a)](_0x4fe3d6)){_0x4bec1e[_0x3502d6]=_0x27aff8?_0x27aff8[_0x441e11(0x246)]():null;}return _0x4bec1e;}async['pause'](){const _0x30ac0d=a0_0x11a5f1,_0x349014={'FTsIV':_0x30ac0d(0x252),'PAMDB':'[KafkaConsumer]\x20Consumer\x20paused'};if(!this[_0x30ac0d(0x1ee)]||!this['isRunning'])return console['log']('[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running'),![];if(this[_0x30ac0d(0x257)])return console[_0x30ac0d(0x212)](_0x349014['FTsIV']),!![];try{const _0x6d4033=this['subscribedTopics'][_0x30ac0d(0x237)](_0x2ab33f=>({'topic':_0x2ab33f}));return this[_0x30ac0d(0x1f0)][_0x30ac0d(0x248)](_0x6d4033),this['isPaused']=!![],console['log'](_0x349014[_0x30ac0d(0x24c)]),!![];}catch(_0x34e5db){return console[_0x30ac0d(0x204)]('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x34e5db['message']),![];}}async['resume'](){const _0x20c42a=a0_0x11a5f1,_0x49f660={'cgFmj':_0x20c42a(0x21e),'AbGMc':'[KafkaConsumer]\x20Consumer\x20resumed'};if(!this['isConnected']||!this['isRunning'])return console[_0x20c42a(0x212)](_0x49f660[_0x20c42a(0x218)]),![];if(!this['isPaused'])return console[_0x20c42a(0x212)](_0x20c42a(0x243)),!![];try{const _0x13d0bf=this[_0x20c42a(0x225)]['map'](_0x32573a=>({'topic':_0x32573a}));return this[_0x20c42a(0x1f0)][_0x20c42a(0x244)](_0x13d0bf),this[_0x20c42a(0x257)]=![],console[_0x20c42a(0x212)](_0x49f660['AbGMc']),!![];}catch(_0x51b3fe){return console['error']('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x51b3fe[_0x20c42a(0x1e9)]),![];}}async[a0_0x11a5f1(0x250)](){const _0x4bb1d5=a0_0x11a5f1,_0x11126b={'MPlaZ':_0x4bb1d5(0x242)};if(!this['isConnected'])return console['log'](_0x11126b['MPlaZ']),!![];try{return this['consumer']&&(await this['consumer'][_0x4bb1d5(0x250)](),await this[_0x4bb1d5(0x1f0)][_0x4bb1d5(0x219)]()),this['isConnected']=![],this[_0x4bb1d5(0x222)]=![],this[_0x4bb1d5(0x257)]=![],console['log'](_0x4bb1d5(0x247)),!![];}catch(_0x39af77){return console[_0x4bb1d5(0x204)]('[KafkaConsumer]\x20Stop\x20error:\x20'+_0x39af77[_0x4bb1d5(0x1e9)]),![];}}async[a0_0x11a5f1(0x22e)](_0x520f31,_0x2ea33d,_0x6eb98d){const _0x470cb5=a0_0x11a5f1,_0x9f10ce={'jCyuu':'[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'};if(!this['isConnected'])return console['error'](_0x9f10ce[_0x470cb5(0x23c)]),![];try{return this['consumer']['seek']({'topic':_0x520f31,'partition':_0x2ea33d,'offset':_0x6eb98d['toString']()}),console[_0x470cb5(0x212)](_0x470cb5(0x22f)+_0x6eb98d+'\x20on\x20'+_0x520f31+':'+_0x2ea33d),!![];}catch(_0x8b3f86){return console['error']('[KafkaConsumer]\x20Seek\x20error:\x20'+_0x8b3f86[_0x470cb5(0x1e9)]),![];}}['getStatus'](){const _0x36fbab=a0_0x11a5f1,_0x5ed19c=this['getConfig']();return{'enabled':_0x5ed19c['enabled'],'connected':this['isConnected'],'running':this[_0x36fbab(0x222)],'paused':this[_0x36fbab(0x257)],'brokers':_0x5ed19c['brokers'],'clientId':_0x5ed19c[_0x36fbab(0x1eb)],'groupId':this['groupId'],'subscribedTopics':this['subscribedTopics']};}[a0_0x11a5f1(0x238)](){const _0x3a9d68=a0_0x11a5f1,_0xea73c8={'oUdCn':function(_0x58397a,_0x2038f6){return _0x58397a/_0x2038f6;},'AqNAs':function(_0x29a5cd,_0x51a922){return _0x29a5cd>_0x51a922;},'LArLA':function(_0x1d21c1,_0x5323de){return _0x1d21c1+_0x5323de;}},_0x487f7a=this[_0x3a9d68(0x1e2)]['processingTimes']['length']>0x0?_0xea73c8['oUdCn'](this[_0x3a9d68(0x1e2)][_0x3a9d68(0x1e6)][_0x3a9d68(0x240)]((_0x2c0830,_0x3349fb)=>_0x2c0830+_0x3349fb,0x0),this[_0x3a9d68(0x1e2)][_0x3a9d68(0x1e6)][_0x3a9d68(0x256)]):0x0,_0x297c38=_0xea73c8[_0x3a9d68(0x221)](this['metrics'][_0x3a9d68(0x1e6)]['length'],0x0)?Math['min'](...this[_0x3a9d68(0x1e2)][_0x3a9d68(0x1e6)]):0x0,_0x3ad5e5=this['metrics'][_0x3a9d68(0x1e6)][_0x3a9d68(0x256)]>0x0?Math['max'](...this['metrics']['processingTimes']):0x0;return{'messagesReceived':this[_0x3a9d68(0x1e2)]['messagesReceived'],'messagesProcessed':this['metrics'][_0x3a9d68(0x24b)],'messagesFailed':this[_0x3a9d68(0x1e2)]['messagesFailed'],'successRate':_0xea73c8['AqNAs'](this[_0x3a9d68(0x1e2)][_0x3a9d68(0x23f)],0x0)?(this['metrics'][_0x3a9d68(0x24b)]/this[_0x3a9d68(0x1e2)][_0x3a9d68(0x23f)]*0x64)[_0x3a9d68(0x1f5)](0x2)+'%':'0%','lastMessageTime':this['metrics']['lastMessageTime'],'startTime':this['metrics'][_0x3a9d68(0x23b)],'uptime':this['metrics'][_0x3a9d68(0x23b)]?Math[_0x3a9d68(0x21d)]((Date[_0x3a9d68(0x1ec)]()-this[_0x3a9d68(0x1e2)]['startTime'][_0x3a9d68(0x1e8)]())/0x3e8)+'s':'0s','processingTime':{'avg':Math[_0x3a9d68(0x22d)](_0x487f7a)+'ms','min':_0x297c38+'ms','max':_0xea73c8['LArLA'](_0x3ad5e5,'ms')}};}[a0_0x11a5f1(0x209)](){const _0x50fa97=a0_0x11a5f1,_0x400e20={'mBGOM':_0x50fa97(0x227)};this[_0x50fa97(0x1e2)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console[_0x50fa97(0x212)](_0x400e20['mBGOM']);}async[a0_0x11a5f1(0x21a)](){await this['stop']();}}let instance=null;function a0_0x5016(_0xe49aff,_0xda63a2){_0xe49aff=_0xe49aff-0x1e0;const _0x1c55a1=a0_0x1c55();let _0x50161a=_0x1c55a1[_0xe49aff];if(a0_0x5016['SldKDp']===undefined){var _0x2b0db4=function(_0x25ec51){const _0x420ce2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3605dc='',_0x273ea0='';for(let _0x50e7d7=0x0,_0x232c9f,_0x4a72be,_0x178f9a=0x0;_0x4a72be=_0x25ec51['charAt'](_0x178f9a++);~_0x4a72be&&(_0x232c9f=_0x50e7d7%0x4?_0x232c9f*0x40+_0x4a72be:_0x4a72be,_0x50e7d7++%0x4)?_0x3605dc+=String['fromCharCode'](0xff&_0x232c9f>>(-0x2*_0x50e7d7&0x6)):0x0){_0x4a72be=_0x420ce2['indexOf'](_0x4a72be);}for(let _0x31666e=0x0,_0x450cd2=_0x3605dc['length'];_0x31666e<_0x450cd2;_0x31666e++){_0x273ea0+='%'+('00'+_0x3605dc['charCodeAt'](_0x31666e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x273ea0);};a0_0x5016['qCEqWy']=_0x2b0db4,a0_0x5016['uEPomz']={},a0_0x5016['SldKDp']=!![];}const _0x408916=_0x1c55a1[0x0],_0x152c77=_0xe49aff+_0x408916,_0x253b37=a0_0x5016['uEPomz'][_0x152c77];return!_0x253b37?(_0x50161a=a0_0x5016['qCEqWy'](_0x50161a),a0_0x5016['uEPomz'][_0x152c77]=_0x50161a):_0x50161a=_0x253b37,_0x50161a;}function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x1b5ce9=a0_0x11a5f1;instance&&(instance[_0x1b5ce9(0x21a)](),instance=null);}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
1
+ const a0_0x177484=a0_0x37eb;function a0_0x37eb(_0x1146c1,_0x3dc228){_0x1146c1=_0x1146c1-0x135;const _0x589016=a0_0x5890();let _0x37eb27=_0x589016[_0x1146c1];if(a0_0x37eb['FFwOyS']===undefined){var _0x437a1c=function(_0x1cec29){const _0x525e79='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x54cfd7='',_0x298cf5='';for(let _0x4c01ff=0x0,_0x4cb7d6,_0x2c2813,_0x4e5150=0x0;_0x2c2813=_0x1cec29['charAt'](_0x4e5150++);~_0x2c2813&&(_0x4cb7d6=_0x4c01ff%0x4?_0x4cb7d6*0x40+_0x2c2813:_0x2c2813,_0x4c01ff++%0x4)?_0x54cfd7+=String['fromCharCode'](0xff&_0x4cb7d6>>(-0x2*_0x4c01ff&0x6)):0x0){_0x2c2813=_0x525e79['indexOf'](_0x2c2813);}for(let _0x6e4cf3=0x0,_0x9860bc=_0x54cfd7['length'];_0x6e4cf3<_0x9860bc;_0x6e4cf3++){_0x298cf5+='%'+('00'+_0x54cfd7['charCodeAt'](_0x6e4cf3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x298cf5);};a0_0x37eb['frXefw']=_0x437a1c,a0_0x37eb['lQaYve']={},a0_0x37eb['FFwOyS']=!![];}const _0x4cd851=_0x589016[0x0],_0x309a0e=_0x1146c1+_0x4cd851,_0x2607ee=a0_0x37eb['lQaYve'][_0x309a0e];return!_0x2607ee?(_0x37eb27=a0_0x37eb['frXefw'](_0x37eb27),a0_0x37eb['lQaYve'][_0x309a0e]=_0x37eb27):_0x37eb27=_0x2607ee,_0x37eb27;}(function(_0x4783b7,_0x5d709e){const _0x38d12d=a0_0x37eb,_0x498dfd=_0x4783b7();while(!![]){try{const _0x50e288=parseInt(_0x38d12d(0x194))/0x1+parseInt(_0x38d12d(0x148))/0x2*(parseInt(_0x38d12d(0x18b))/0x3)+parseInt(_0x38d12d(0x139))/0x4*(-parseInt(_0x38d12d(0x1a7))/0x5)+parseInt(_0x38d12d(0x1a9))/0x6*(-parseInt(_0x38d12d(0x18e))/0x7)+parseInt(_0x38d12d(0x15b))/0x8+parseInt(_0x38d12d(0x164))/0x9+-parseInt(_0x38d12d(0x17d))/0xa;if(_0x50e288===_0x5d709e)break;else _0x498dfd['push'](_0x498dfd['shift']());}catch(_0x2d14dc){_0x498dfd['push'](_0x498dfd['shift']());}}}(a0_0x5890,0x36fc2));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require(a0_0x177484(0x159));class KafkaConsumerService{constructor(){const _0x4f6911=a0_0x177484;this['kafka']=null,this['consumer']=null,this[_0x4f6911(0x18a)]=![],this['isInitializing']=![],this['isRunning']=![],this['isPaused']=![],this[_0x4f6911(0x19f)]=null,this[_0x4f6911(0x184)]=[],this['groupId']=null,this[_0x4f6911(0x153)]=null,this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};}[a0_0x177484(0x16e)](){const _0x30af1d=a0_0x177484,_0x1ab14b={'pPxen':'localhost:9092','FJLGu':function(_0x2fb0f8,_0x24327b){return _0x2fb0f8(_0x24327b);},'QfCWh':_0x30af1d(0x14f),'lwgdx':'3000','dWlrJ':function(_0x51fe73,_0x6b613a){return _0x51fe73(_0x6b613a);},'MFfAN':function(_0x2992d1,_0x22a115){return _0x2992d1===_0x22a115;},'KTYCp':'warn'};return{'enabled':process['env']['KAFKA_ENABLED']===_0x30af1d(0x199),'brokers':(process[_0x30af1d(0x171)]['KAFKA_BROKERS']||_0x1ab14b[_0x30af1d(0x17b)])['split'](','),'clientId':process[_0x30af1d(0x171)][_0x30af1d(0x18f)]||'restforge-'+(process[_0x30af1d(0x171)]['RESTFORGE_PROJECT_NAME']||_0x30af1d(0x14e))+'-consumer','connectionTimeout':parseInt(process[_0x30af1d(0x171)][_0x30af1d(0x135)]||_0x30af1d(0x142)),'requestTimeout':parseInt(process[_0x30af1d(0x171)]['KAFKA_REQUEST_TIMEOUT']||'25000'),'sessionTimeout':_0x1ab14b[_0x30af1d(0x1a6)](parseInt,process['env']['KAFKA_SESSION_TIMEOUT']||_0x1ab14b[_0x30af1d(0x156)]),'heartbeatInterval':parseInt(process['env'][_0x30af1d(0x196)]||_0x1ab14b[_0x30af1d(0x15a)]),'maxBytesPerPartition':_0x1ab14b[_0x30af1d(0x187)](parseInt,process[_0x30af1d(0x171)]['KAFKA_MAX_BYTES_PER_PARTITION']||_0x30af1d(0x19b)),'autoCommit':_0x1ab14b['MFfAN'](process[_0x30af1d(0x171)]['KAFKA_AUTO_COMMIT'],_0x30af1d(0x199)),'autoCommitInterval':_0x1ab14b[_0x30af1d(0x187)](parseInt,process[_0x30af1d(0x171)]['KAFKA_AUTO_COMMIT_INTERVAL']||_0x30af1d(0x176)),'retryAttempts':parseInt(process['env'][_0x30af1d(0x138)]||'3'),'retryDelay':parseInt(process['env']['KAFKA_RETRY_DELAY']||_0x30af1d(0x193)),'retryMaxDelay':_0x1ab14b[_0x30af1d(0x1a6)](parseInt,process['env'][_0x30af1d(0x18d)]||_0x1ab14b[_0x30af1d(0x156)]),'logLevel':process[_0x30af1d(0x171)]['KAFKA_LOG_LEVEL']||_0x1ab14b[_0x30af1d(0x16b)]};}['getLogLevel'](_0x51c328){const _0x273d93=a0_0x177484,_0x98a838={'nothing':logLevel[_0x273d93(0x13b)],'error':logLevel[_0x273d93(0x152)],'warn':logLevel['WARN'],'info':logLevel[_0x273d93(0x15f)],'debug':logLevel['DEBUG']};return _0x98a838[_0x51c328[_0x273d93(0x161)]()]||logLevel['WARN'];}async['initialize'](_0xde769d={}){const _0x1a2b2a=a0_0x177484,_0x9014bf={'BJsXA':function(_0x598b69,_0x2eb27e){return _0x598b69===_0x2eb27e;},'ZXKkt':'default','zvhjx':function(_0x3dfdd1,_0xdacd44){return _0x3dfdd1(_0xdacd44);}},_0x4cd422=this[_0x1a2b2a(0x16e)]();if(!_0x4cd422['enabled'])return console[_0x1a2b2a(0x186)]('[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'),![];if(this['isConnected'])return!![];if(this['isInitializing']&&this[_0x1a2b2a(0x19f)])return this['connectionPromise'];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x4c9e58=>{const _0x1330b1=_0x1a2b2a;try{let _0x46bc0c=undefined;_0x9014bf['BJsXA'](process['env'][_0x1330b1(0x16d)],_0x1330b1(0x199))&&(_0x46bc0c=!![]);let _0x1257f2=undefined;process['env']['KAFKA_SASL_MECHANISM']&&(_0x1257f2={'mechanism':process['env'][_0x1330b1(0x1a4)],'username':process[_0x1330b1(0x171)]['KAFKA_SASL_USERNAME']||'','password':process[_0x1330b1(0x171)][_0x1330b1(0x14d)]||''}),this[_0x1330b1(0x19d)]=new Kafka({'clientId':_0xde769d[_0x1330b1(0x183)]||_0x4cd422['clientId'],'brokers':_0x4cd422['brokers'],'connectionTimeout':_0x4cd422[_0x1330b1(0x158)],'requestTimeout':_0x4cd422['requestTimeout'],'logLevel':this['getLogLevel'](_0x4cd422['logLevel']),'ssl':_0x46bc0c,'sasl':_0x1257f2,'retry':{'initialRetryTime':_0x4cd422['retryDelay'],'retries':_0x4cd422['retryAttempts'],'maxRetryTime':_0x4cd422[_0x1330b1(0x174)]}}),this[_0x1330b1(0x13c)]=_0xde769d[_0x1330b1(0x13c)]||_0x1330b1(0x172)+(process['env']['RESTFORGE_PROJECT_NAME']||_0x9014bf['ZXKkt'])+_0x1330b1(0x144),this[_0x1330b1(0x189)]=this['kafka'][_0x1330b1(0x189)]({'groupId':this['groupId'],'sessionTimeout':_0x4cd422[_0x1330b1(0x191)],'heartbeatInterval':_0x4cd422[_0x1330b1(0x1a2)],'maxBytesPerPartition':_0x4cd422['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this[_0x1330b1(0x189)][_0x1330b1(0x13f)](),this[_0x1330b1(0x18a)]=!![],console['log'](_0x1330b1(0x157)+_0x4cd422[_0x1330b1(0x192)][_0x1330b1(0x190)](',\x20')+'\x20(groupId:\x20'+this[_0x1330b1(0x13c)]+')'),this[_0x1330b1(0x14c)](),_0x4c9e58(!![]);}catch(_0xefd625){console['error']('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0xefd625[_0x1330b1(0x167)]),this[_0x1330b1(0x18a)]=![],_0x9014bf['zvhjx'](_0x4c9e58,![]);}finally{this[_0x1330b1(0x17e)]=![];}}),this[_0x1a2b2a(0x19f)];}[a0_0x177484(0x14c)](){const _0x3d7143=a0_0x177484,_0x158093={'LKbOp':_0x3d7143(0x185),'PLBuG':'consumer.rebalancing'};if(!this['consumer'])return;this[_0x3d7143(0x189)]['on']('consumer.disconnect',()=>{const _0x3b9a66=_0x3d7143;console[_0x3b9a66(0x186)]('[KafkaConsumer]\x20Consumer\x20disconnected'),this[_0x3b9a66(0x18a)]=![],this[_0x3b9a66(0x165)]=![];}),this['consumer']['on']('consumer.stop',()=>{console['log']('[KafkaConsumer]\x20Consumer\x20stopped'),this['isRunning']=![];}),this['consumer']['on'](_0x3d7143(0x15c),_0x31afbf=>{console['error']('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x31afbf['payload']['error']['message']),this['isRunning']=![];}),this['consumer']['on'](_0x158093[_0x3d7143(0x178)],()=>{const _0xb48ca2=_0x3d7143;console['log'](_0x158093[_0xb48ca2(0x141)]);});}async[a0_0x177484(0x179)](_0x4acbc0,_0x2ac2d9=![]){const _0xee670f=a0_0x177484;if(!this['isConnected'])return console['error']('[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'),![];try{const _0x50501b=Array[_0xee670f(0x140)](_0x4acbc0)?_0x4acbc0:[_0x4acbc0];for(const _0x42d7bf of _0x50501b){await this[_0xee670f(0x189)][_0xee670f(0x179)]({'topic':_0x42d7bf,'fromBeginning':_0x2ac2d9}),console['log'](_0xee670f(0x15e)+_0x42d7bf+_0xee670f(0x175)+_0x2ac2d9+')');}return this[_0xee670f(0x184)]=[...new Set([...this['subscribedTopics'],..._0x50501b])],!![];}catch(_0x1cdfb3){return console['error'](_0xee670f(0x16a)+_0x1cdfb3[_0xee670f(0x167)]),![];}}async['startConsuming'](_0x4afa0f,_0xd558f9={}){const _0x4502b0=a0_0x177484,_0x21ee10={'ecKdt':function(_0x1b4d1f){return _0x1b4d1f();}};if(!this['isConnected'])return console[_0x4502b0(0x14b)](_0x4502b0(0x1a1)),![];if(this[_0x4502b0(0x165)])return console[_0x4502b0(0x186)]('[KafkaConsumer]\x20Consumer\x20already\x20running'),!![];const _0x9f6658=this['getConfig']();this['messageHandler']=_0x4afa0f;try{return this['metrics'][_0x4502b0(0x19c)]=new Date(),await this['consumer'][_0x4502b0(0x137)]({'autoCommit':_0xd558f9['autoCommit']!==undefined?_0xd558f9[_0x4502b0(0x16f)]:_0x9f6658['autoCommit'],'autoCommitInterval':_0x9f6658['autoCommitInterval'],'eachMessage':async({topic:_0x2b96dd,partition:_0x2015fe,message:_0x505c1a,heartbeat:_0x3cc2b6})=>{const _0x230f79=_0x4502b0,_0x41f1fd=Date[_0x230f79(0x14a)]();this[_0x230f79(0x17f)]['messagesReceived']++,this['metrics'][_0x230f79(0x151)]=new Date();try{const _0x33d15e=_0x505c1a['value']?_0x505c1a[_0x230f79(0x177)]['toString']():null;let _0x374b40=null;try{_0x374b40=_0x33d15e?JSON[_0x230f79(0x188)](_0x33d15e):null;}catch(_0x2ad749){_0x374b40=_0x33d15e;}const _0x40aed3={'topic':_0x2b96dd,'partition':_0x2015fe,'offset':_0x505c1a['offset'],'key':_0x505c1a['key']?_0x505c1a['key'][_0x230f79(0x16c)]():null,'headers':this['parseHeaders'](_0x505c1a['headers']),'timestamp':_0x505c1a['timestamp'],'value':_0x374b40,'raw':_0x33d15e};this[_0x230f79(0x153)]&&await this[_0x230f79(0x153)](_0x40aed3);!_0x9f6658['autoCommit']&&await this['consumer']['commitOffsets']([{'topic':_0x2b96dd,'partition':_0x2015fe,'offset':(parseInt(_0x505c1a['offset'])+0x1)[_0x230f79(0x16c)]()}]);this['metrics'][_0x230f79(0x1a0)]++;const _0x5c66ba=Date['now']()-_0x41f1fd;this[_0x230f79(0x17f)]['processingTimes'][_0x230f79(0x168)](_0x5c66ba),this['metrics']['processingTimes'][_0x230f79(0x170)]>0x64&&this[_0x230f79(0x17f)]['processingTimes']['shift'](),await _0x21ee10['ecKdt'](_0x3cc2b6);}catch(_0x4ab464){this[_0x230f79(0x17f)][_0x230f79(0x136)]++,console['error']('[KafkaConsumer]\x20Message\x20processing\x20error:\x20'+_0x4ab464['message']);throw _0x4ab464;}}}),this['isRunning']=!![],console[_0x4502b0(0x186)](_0x4502b0(0x198)+this['subscribedTopics']['join'](',\x20')),!![];}catch(_0x4d617a){return console[_0x4502b0(0x14b)]('[KafkaConsumer]\x20Start\x20consuming\x20error:\x20'+_0x4d617a['message']),![];}}[a0_0x177484(0x146)](_0x5c1ab5){if(!_0x5c1ab5)return{};const _0x2151bc={};for(const [_0x42f8e1,_0x4545e5]of Object['entries'](_0x5c1ab5)){_0x2151bc[_0x42f8e1]=_0x4545e5?_0x4545e5['toString']():null;}return _0x2151bc;}async[a0_0x177484(0x150)](){const _0x178030=a0_0x177484,_0x57a3cc={'dUxMV':_0x178030(0x145),'HRcAf':'[KafkaConsumer]\x20Consumer\x20paused'};if(!this['isConnected']||!this[_0x178030(0x165)])return console[_0x178030(0x186)]('[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running'),![];if(this['isPaused'])return console['log'](_0x57a3cc[_0x178030(0x19e)]),!![];try{const _0x32921e=this[_0x178030(0x184)]['map'](_0x55c5f7=>({'topic':_0x55c5f7}));return this['consumer'][_0x178030(0x150)](_0x32921e),this[_0x178030(0x182)]=!![],console['log'](_0x57a3cc[_0x178030(0x149)]),!![];}catch(_0x584b85){return console[_0x178030(0x14b)]('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x584b85['message']),![];}}async['resume'](){const _0xd87497=a0_0x177484,_0xc8e4d={'xgzmj':'[KafkaConsumer]\x20Cannot\x20resume\x20-\x20consumer\x20not\x20running'};if(!this['isConnected']||!this[_0xd87497(0x165)])return console[_0xd87497(0x186)](_0xc8e4d['xgzmj']),![];if(!this[_0xd87497(0x182)])return console[_0xd87497(0x186)](_0xd87497(0x180)),!![];try{const _0x3c3e35=this[_0xd87497(0x184)]['map'](_0x5109aa=>({'topic':_0x5109aa}));return this[_0xd87497(0x189)][_0xd87497(0x1a8)](_0x3c3e35),this['isPaused']=![],console['log']('[KafkaConsumer]\x20Consumer\x20resumed'),!![];}catch(_0x3fbe7d){return console['error'](_0xd87497(0x143)+_0x3fbe7d[_0xd87497(0x167)]),![];}}async[a0_0x177484(0x17a)](){const _0x4a7604=a0_0x177484,_0x966058={'NMhfI':_0x4a7604(0x1aa),'EdfYG':'[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected'};if(!this['isConnected'])return console[_0x4a7604(0x186)](_0x966058['NMhfI']),!![];try{const _0x4bee7e=_0x4a7604(0x17c)['split']('|');let _0x1ff399=0x0;while(!![]){switch(_0x4bee7e[_0x1ff399++]){case'0':return!![];case'1':this[_0x4a7604(0x165)]=![];continue;case'2':this[_0x4a7604(0x18a)]=![];continue;case'3':this[_0x4a7604(0x182)]=![];continue;case'4':this[_0x4a7604(0x189)]&&(await this['consumer']['stop'](),await this['consumer']['disconnect']());continue;case'5':console['log'](_0x966058['EdfYG']);continue;}break;}}catch(_0x100872){return console[_0x4a7604(0x14b)]('[KafkaConsumer]\x20Stop\x20error:\x20'+_0x100872['message']),![];}}async[a0_0x177484(0x147)](_0x251d46,_0x4c8cde,_0x20b34f){const _0x77e75c=a0_0x177484;if(!this[_0x77e75c(0x18a)])return console[_0x77e75c(0x14b)](_0x77e75c(0x155)),![];try{return this[_0x77e75c(0x189)]['seek']({'topic':_0x251d46,'partition':_0x4c8cde,'offset':_0x20b34f['toString']()}),console['log'](_0x77e75c(0x154)+_0x20b34f+'\x20on\x20'+_0x251d46+':'+_0x4c8cde),!![];}catch(_0x44b69c){return console[_0x77e75c(0x14b)](_0x77e75c(0x195)+_0x44b69c[_0x77e75c(0x167)]),![];}}[a0_0x177484(0x1a3)](){const _0x2526ac=a0_0x177484,_0x18f90e=this[_0x2526ac(0x16e)]();return{'enabled':_0x18f90e[_0x2526ac(0x13e)],'connected':this['isConnected'],'running':this['isRunning'],'paused':this[_0x2526ac(0x182)],'brokers':_0x18f90e['brokers'],'clientId':_0x18f90e['clientId'],'groupId':this[_0x2526ac(0x13c)],'subscribedTopics':this['subscribedTopics']};}[a0_0x177484(0x19a)](){const _0x50cf80=a0_0x177484,_0x58a2c8={'ZblIJ':function(_0x593a5a,_0x4f703f){return _0x593a5a>_0x4f703f;},'AFPDd':function(_0x52bdf2,_0x5bba40){return _0x52bdf2>_0x5bba40;},'Bqsux':function(_0x4ca00e,_0x1e39e8){return _0x4ca00e>_0x1e39e8;},'htdnE':function(_0x45b2db,_0x20f7a1){return _0x45b2db/_0x20f7a1;},'KPsie':function(_0x3f7c71,_0x138c9c){return _0x3f7c71+_0x138c9c;},'pkkSC':function(_0x1ae612,_0x32f712){return _0x1ae612-_0x32f712;}},_0x55e116=_0x58a2c8[_0x50cf80(0x163)](this[_0x50cf80(0x17f)][_0x50cf80(0x13d)][_0x50cf80(0x170)],0x0)?this[_0x50cf80(0x17f)][_0x50cf80(0x13d)]['reduce']((_0x2f17c6,_0x87f646)=>_0x2f17c6+_0x87f646,0x0)/this[_0x50cf80(0x17f)]['processingTimes']['length']:0x0,_0xbfc4e4=_0x58a2c8['AFPDd'](this['metrics'][_0x50cf80(0x13d)][_0x50cf80(0x170)],0x0)?Math[_0x50cf80(0x162)](...this[_0x50cf80(0x17f)][_0x50cf80(0x13d)]):0x0,_0x46bb3f=_0x58a2c8[_0x50cf80(0x197)](this[_0x50cf80(0x17f)]['processingTimes']['length'],0x0)?Math[_0x50cf80(0x18c)](...this[_0x50cf80(0x17f)][_0x50cf80(0x13d)]):0x0;return{'messagesReceived':this['metrics'][_0x50cf80(0x169)],'messagesProcessed':this[_0x50cf80(0x17f)][_0x50cf80(0x1a0)],'messagesFailed':this[_0x50cf80(0x17f)]['messagesFailed'],'successRate':this['metrics'][_0x50cf80(0x169)]>0x0?(_0x58a2c8[_0x50cf80(0x166)](this[_0x50cf80(0x17f)]['messagesProcessed'],this['metrics']['messagesReceived'])*0x64)['toFixed'](0x2)+'%':'0%','lastMessageTime':this['metrics']['lastMessageTime'],'startTime':this[_0x50cf80(0x17f)][_0x50cf80(0x19c)],'uptime':this[_0x50cf80(0x17f)]['startTime']?_0x58a2c8['KPsie'](Math[_0x50cf80(0x160)](_0x58a2c8[_0x50cf80(0x181)](Date['now'](),this[_0x50cf80(0x17f)]['startTime']['getTime']())/0x3e8),'s'):'0s','processingTime':{'avg':Math[_0x50cf80(0x173)](_0x55e116)+'ms','min':_0xbfc4e4+'ms','max':_0x58a2c8[_0x50cf80(0x15d)](_0x46bb3f,'ms')}};}['resetMetrics'](){const _0x1b8dd6=a0_0x177484,_0x39da94={'HZhzn':_0x1b8dd6(0x13a)};this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x1b8dd6(0x165)]?new Date():null,'processingTimes':[]},console[_0x1b8dd6(0x186)](_0x39da94['HZhzn']);}async['close'](){await this['stop']();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x5badd6=a0_0x177484;instance&&(instance[_0x5badd6(0x1a5)](),instance=null);}function a0_0x5890(){const _0x3a7a89=['s0fgs0fFuKvuuLLFqvruru1qvfm','mJHzvNvyvNC','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','tK9useLorW','z3jVDxbjza','ChjVy2vZC2LUz1rPBwvZ','zw5HyMXLza','y29UBMvJDa','AxnbCNjHEq','teTIt3a','mZaWma','w0THzMTHq29UC3vTzxjDifjLC3vTzsbLCNjVCJOG','lwnVBNn1BwvYlwDYB3vW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCgf1C2vK','CgfYC2vizwfKzxjZ','C2vLA1rVt2zMC2v0','ndu1nLHJruvIrq','sfjJqwy','BM93','zxjYB3i','C2v0DxbfDMvUDeHHBMrSzxjZ','s0fgs0fFu0fttf9qqvntv09sra','zgvMyxvSDa','mZaWmda','Cgf1C2u','BgfZDe1LC3nHz2vuAw1L','rvjst1i','BwvZC2fNzuHHBMrSzxi','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','uwzdv2G','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','y29UBMvJDgLVBLrPBwvVDxq','DxvPza','BhDNzhG','mtCWmdy2nhP5CMr2Eq','y29UC3vTzxiUy3jHC2G','s1bZAwu','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','su5gtW','zMXVB3i','Dg9mB3DLCKnHC2u','BwLU','wMjSsuO','mJy0nZGYn2D6yxfgAa','AxnsDw5UAw5N','AhrKBKu','BwvZC2fNzq','ChvZAa','BwvZC2fNzxnszwnLAxzLza','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzsbLCNjVCJOG','s1rzq3a','Dg9tDhjPBMC','s0fgs0fFu1nm','z2v0q29UzMLN','yxv0B0nVBw1PDa','BgvUz3rO','zw52','CMvZDgzVCMDLlq','CM91BMq','CMv0CNLnyxHezwXHEq','icHMCM9TqMvNAw5UAw5NoIa','ntaWma','DMfSDwu','ueXcDuC','C3vIC2nYAwjL','C3rVCa','Cfb4zw4','nhWYFdf8m3W1Fda','mJu2mJu3menIvxjIDW','AxnjBML0AwfSAxPPBMC','Bwv0CMLJCW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbWyxvZzwq','CgTRu0m','AxnqyxvZzwq','y2XPzw50swq','C3vIC2nYAwjLzfrVCgLJCW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','Bg9N','zfDSCKO','CgfYC2u','y29UC3vTzxi','AxndB25Uzwn0zwq','mtu2wMTVquvQ','Bwf4','s0fgs0fFuKvuuLLFtufyx0rftefz','mtG0odG1ngXzA1HrEq','s0fgs0fFq0Xjru5ux0Le','AM9PBG','C2vZC2LVBLrPBwvVDxq','yNjVA2vYCW','mtaWma','mJa1ndyXtuHXsNDZ','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','s0fgs0fFsevbuLrcrufux0LovevsvKfm','qNfZDxG','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','Dhj1zq','z2v0twv0CMLJCW','mta0odu3nG','C3rHCNruAw1L','A2fMA2e','zfv4tvy','y29UBMvJDgLVBLbYB21PC2u','BwvZC2fNzxnqCM9JzxnZzwq','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','AgvHCNrIzwf0sw50zxj2ywW','z2v0u3rHDhvZ','s0fgs0fFu0fttf9nruniqu5ju00','y2XVC2u','rKPmr3u','nJa3otbxAwXlzNe','CMvZDw1L','nM9jELPMDG','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','s0fgs0fFq09otKvdveLptL9usu1ft1vu','BwvZC2fNzxngywLSzwq','CNvU'];a0_0x5890=function(){return _0x3a7a89;};return a0_0x5890();}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};