@restforgejs/platform 5.2.10 → 5.2.11

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 (172) hide show
  1. package/bin/drift-check-linux +0 -0
  2. package/bin/sdf-tools-linux +0 -0
  3. package/build-info.json +2 -2
  4. package/cli/consumer-deploy.js +1 -1
  5. package/cli/consumer.js +1 -1
  6. package/generators/cli/schema/init.js +20 -6
  7. package/generators/cli/schema/template.js +24 -9
  8. package/generators/lib/templates/dashboard-catalog.js +1 -1
  9. package/generators/lib/templates/db-connection-env.js +1 -1
  10. package/generators/lib/templates/dbschema-catalog.js +1 -1
  11. package/generators/lib/templates/field-validation-catalog.js +1 -1
  12. package/generators/lib/templates/mysql-template.js +1 -1
  13. package/generators/lib/templates/oracle-template.js +1 -1
  14. package/generators/lib/templates/postgres-template.js +1 -1
  15. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  16. package/generators/lib/templates/sqlite-template.js +1 -1
  17. package/integrity-manifest.json +18 -18
  18. package/package.json +1 -1
  19. package/scripts/verify-integrity.js +1 -1
  20. package/server.js +1 -1
  21. package/src/components/handlers/adjust_handler.js +1 -1
  22. package/src/components/handlers/audit_handler.js +1 -1
  23. package/src/components/handlers/delete_handler.js +1 -1
  24. package/src/components/handlers/export_handler.js +1 -1
  25. package/src/components/handlers/import_handler.js +1 -1
  26. package/src/components/handlers/insert_handler.js +1 -1
  27. package/src/components/handlers/update_handler.js +1 -1
  28. package/src/components/handlers/upload_handler.js +1 -1
  29. package/src/components/handlers/workflow_handler.js +1 -1
  30. package/src/components/integrations/webhook.js +1 -1
  31. package/src/consumers/baseConsumer.js +1 -1
  32. package/src/consumers/declarativeMapper.js +1 -1
  33. package/src/consumers/handlers/apiHandler.js +1 -1
  34. package/src/consumers/handlers/consoleHandler.js +1 -1
  35. package/src/consumers/handlers/databaseHandler.js +1 -1
  36. package/src/consumers/handlers/index.js +1 -1
  37. package/src/consumers/handlers/kafkaHandler.js +1 -1
  38. package/src/consumers/index.js +1 -1
  39. package/src/consumers/messageTransformer.js +1 -1
  40. package/src/consumers/validator.js +1 -1
  41. package/src/core/db/dialect/base-dialect.js +1 -1
  42. package/src/core/db/dialect/index.js +1 -1
  43. package/src/core/db/dialect/mysql-dialect.js +1 -1
  44. package/src/core/db/dialect/oracle-dialect.js +1 -1
  45. package/src/core/db/dialect/postgres-dialect.js +1 -1
  46. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  47. package/src/core/db/flatten-helper.js +1 -1
  48. package/src/core/db/query-builder-error.js +1 -1
  49. package/src/core/db/query-builder.js +1 -1
  50. package/src/core/db/relation-helper.js +1 -1
  51. package/src/core/handlers/delete_handler.js +1 -1
  52. package/src/core/handlers/insert_handler.js +1 -1
  53. package/src/core/handlers/update_handler.js +1 -1
  54. package/src/core/models/base-model.js +1 -1
  55. package/src/core/utils/cache-manager.js +1 -1
  56. package/src/core/utils/component-engine.js +1 -1
  57. package/src/core/utils/context-builder.js +1 -1
  58. package/src/core/utils/datetime-formatter.js +1 -1
  59. package/src/core/utils/datetime-parser.js +1 -1
  60. package/src/core/utils/db.js +1 -1
  61. package/src/core/utils/logger.js +1 -1
  62. package/src/core/utils/payload-loader.js +1 -1
  63. package/src/core/utils/security-checks.js +1 -1
  64. package/src/middleware/body-options.js +1 -1
  65. package/src/middleware/cors.js +1 -1
  66. package/src/middleware/idempotency.js +1 -1
  67. package/src/middleware/rate-limiter.js +1 -1
  68. package/src/middleware/request-logger.js +1 -1
  69. package/src/middleware/security-headers.js +1 -1
  70. package/src/models/base-model-mysql.js +1 -1
  71. package/src/models/base-model-oracle.js +1 -1
  72. package/src/models/base-model-sqlite.js +1 -1
  73. package/src/models/base-model.js +1 -1
  74. package/src/pro/caching/redis-client.js +1 -1
  75. package/src/pro/caching/redis-helper.js +1 -1
  76. package/src/pro/consumers/baseConsumer.js +1 -1
  77. package/src/pro/consumers/declarativeMapper.js +1 -1
  78. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  79. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  80. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  81. package/src/pro/consumers/handlers/index.js +1 -1
  82. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  83. package/src/pro/consumers/index.js +1 -1
  84. package/src/pro/consumers/messageTransformer.js +1 -1
  85. package/src/pro/consumers/validator.js +1 -1
  86. package/src/pro/database/base-model-mysql.js +1 -1
  87. package/src/pro/database/base-model-oracle.js +1 -1
  88. package/src/pro/database/base-model-sqlite.js +1 -1
  89. package/src/pro/database/db-mysql.js +1 -1
  90. package/src/pro/database/db-oracle.js +1 -1
  91. package/src/pro/database/db-sqlite.js +1 -1
  92. package/src/pro/excel/excel-generator.js +1 -1
  93. package/src/pro/excel/excel-parser.js +1 -1
  94. package/src/pro/excel/export-service.js +1 -1
  95. package/src/pro/excel/export_handler.js +1 -1
  96. package/src/pro/excel/import-service.js +1 -1
  97. package/src/pro/excel/import-validator.js +1 -1
  98. package/src/pro/excel/import_handler.js +1 -1
  99. package/src/pro/excel/upsert-builder.js +1 -1
  100. package/src/pro/idgen/idgen-routes.js +1 -1
  101. package/src/pro/integrations/lookup-resolver.js +1 -1
  102. package/src/pro/integrations/upload-handler-v2.js +1 -1
  103. package/src/pro/integrations/upload-handler.js +1 -1
  104. package/src/pro/integrations/webhook.js +1 -1
  105. package/src/pro/locking/lock-routes.js +1 -1
  106. package/src/pro/locking/resource-lock-manager.js +1 -1
  107. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  108. package/src/pro/messaging/kafkaService.js +1 -1
  109. package/src/pro/messaging/messagehubService.js +1 -1
  110. package/src/pro/messaging/rabbitmqService.js +1 -1
  111. package/src/pro/scheduler/job-manager.js +1 -1
  112. package/src/pro/scheduler/job-routes.js +1 -1
  113. package/src/pro/scheduler/job-validator.js +1 -1
  114. package/src/pro/storage/base-storage-provider.js +1 -1
  115. package/src/pro/storage/file-metadata-helper.js +1 -1
  116. package/src/pro/storage/index.js +1 -1
  117. package/src/pro/storage/local-storage-provider.js +1 -1
  118. package/src/pro/storage/s3-storage-provider.js +1 -1
  119. package/src/pro/storage/upload-cleanup-job.js +1 -1
  120. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  121. package/src/pro/storage/upload-pending-tracker.js +1 -1
  122. package/src/pro/websocket/broadcast-helper.js +1 -1
  123. package/src/pro/websocket/index.js +1 -1
  124. package/src/pro/websocket/livesync-server.js +1 -1
  125. package/src/pro/websocket/ws-broadcaster.js +1 -1
  126. package/src/services/export-service.js +1 -1
  127. package/src/services/import-service.js +1 -1
  128. package/src/services/kafkaConsumerService.js +1 -1
  129. package/src/services/kafkaService.js +1 -1
  130. package/src/services/messagehubService.js +1 -1
  131. package/src/services/rabbitmqService.js +1 -1
  132. package/src/utils/cache-invalidation-registry.js +1 -1
  133. package/src/utils/cache-manager.js +1 -1
  134. package/src/utils/component-engine.js +1 -1
  135. package/src/utils/config-extractor.js +1 -1
  136. package/src/utils/consumerLogger.js +1 -1
  137. package/src/utils/context-builder.js +1 -1
  138. package/src/utils/dashboard-helpers.js +1 -1
  139. package/src/utils/dateHelper.js +1 -1
  140. package/src/utils/datetime-formatter.js +1 -1
  141. package/src/utils/datetime-parser.js +1 -1
  142. package/src/utils/db-bootstrap.js +1 -1
  143. package/src/utils/db-mysql.js +1 -1
  144. package/src/utils/db-oracle.js +1 -1
  145. package/src/utils/db-sqlite.js +1 -1
  146. package/src/utils/db.js +1 -1
  147. package/src/utils/demo-generator.js +1 -1
  148. package/src/utils/excel-generator.js +1 -1
  149. package/src/utils/excel-parser.js +1 -1
  150. package/src/utils/file-watcher.js +1 -1
  151. package/src/utils/id-generator.js +1 -1
  152. package/src/utils/idempotency-manager.js +1 -1
  153. package/src/utils/import-validator.js +1 -1
  154. package/src/utils/license-client.js +1 -1
  155. package/src/utils/lock-manager.js +1 -1
  156. package/src/utils/logger.js +1 -1
  157. package/src/utils/lookup-resolver.js +1 -1
  158. package/src/utils/payload-loader.js +1 -1
  159. package/src/utils/processor-response.js +1 -1
  160. package/src/utils/rabbitmq.js +1 -1
  161. package/src/utils/redis-client.js +1 -1
  162. package/src/utils/redis-helper.js +1 -1
  163. package/src/utils/request-scope.js +1 -1
  164. package/src/utils/security-checks.js +1 -1
  165. package/src/utils/service-resolver.js +1 -1
  166. package/src/utils/shutdown-coordinator.js +1 -1
  167. package/src/utils/soft-delete-dashboard-guard.js +1 -1
  168. package/src/utils/sql-table-extractor.js +1 -1
  169. package/src/utils/trusted-keys.js +1 -1
  170. package/src/utils/upload-handler.js +1 -1
  171. package/src/utils/upsert-builder.js +1 -1
  172. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- 'use strict';const a0_0x258e5d=a0_0x4898;(function(_0x3f78cf,_0x3c4135){const _0x2b3710=a0_0x4898,_0x251dac=_0x3f78cf();while(!![]){try{const _0x31630f=parseInt(_0x2b3710(0x21d))/0x1+-parseInt(_0x2b3710(0x1cd))/0x2*(parseInt(_0x2b3710(0x222))/0x3)+parseInt(_0x2b3710(0x24e))/0x4*(parseInt(_0x2b3710(0x240))/0x5)+-parseInt(_0x2b3710(0x200))/0x6+parseInt(_0x2b3710(0x1d5))/0x7*(parseInt(_0x2b3710(0x223))/0x8)+-parseInt(_0x2b3710(0x234))/0x9+parseInt(_0x2b3710(0x23f))/0xa;if(_0x31630f===_0x3c4135)break;else _0x251dac['push'](_0x251dac['shift']());}catch(_0x38c6f6){_0x251dac['push'](_0x251dac['shift']());}}}(a0_0x112b,0x3cb14));const {WebSocketServer}=require('ws'),{URL}=require(a0_0x258e5d(0x216)),REDIS_CHANNEL_PREFIX='restforge:livesync:';class WebSocketBroadcaster{constructor(){const _0x481e3a=a0_0x258e5d,_0x35de74={'HwVmE':'5|3|1|9|7|4|0|2|6|8'},_0x354dd5=_0x35de74[_0x481e3a(0x1dc)][_0x481e3a(0x220)]('|');let _0x17f733=0x0;while(!![]){switch(_0x354dd5[_0x17f733++]){case'0':this['_heartbeatTimer']=null;continue;case'1':this[_0x481e3a(0x1f0)]=null;continue;case'2':this['_redisPublisher']=null;continue;case'3':this[_0x481e3a(0x1e9)]=![];continue;case'4':this['_subscriptions']=new Map();continue;case'5':this[_0x481e3a(0x242)]=null;continue;case'6':this['_redisSubscriber']=null;continue;case'7':this['_logger']=console;continue;case'8':this['_workerId']=process['pid'];continue;case'9':this['_options']={};continue;}break;}}[a0_0x258e5d(0x214)](_0x47da10,_0x24662f={}){const _0x545ad1=a0_0x258e5d,_0x20381d={'xGdGy':'livesync_wss_error','PKQns':_0x545ad1(0x24c),'LjOue':function(_0x2e4cb9,_0x1cf07c){return _0x2e4cb9(_0x1cf07c);},'aLsVU':'connection'};if(this['_initialized'])return;this[_0x545ad1(0x20b)]=_0x24662f,this['_mode']=_0x20381d[_0x545ad1(0x249)];try{this['_logger']=_0x20381d[_0x545ad1(0x250)](require,_0x545ad1(0x204))['logger']||console;}catch(_0x1f68e5){this['_logger']=console;}const _0x59d110=parseInt(process['env'][_0x545ad1(0x1e5)],0xa)||0x1e;this['_wss']=new WebSocketServer({'server':_0x47da10,'path':'/ws'}),this[_0x545ad1(0x22b)](_0x47da10),this['_wss']['on'](_0x20381d['aLsVU'],(_0x65cba8,_0x33ebed)=>this['_handleConnection'](_0x65cba8,_0x33ebed)),this['_wss']['on']('error',_0x2ae47b=>{const _0x98d720=_0x545ad1;this['_logger'][_0x98d720(0x20d)]({'event':_0x20381d[_0x98d720(0x1ee)],'error':_0x2ae47b[_0x98d720(0x210)]},_0x98d720(0x212)+_0x2ae47b['message']);}),this[_0x545ad1(0x1f7)](_0x59d110),this[_0x545ad1(0x22e)](),this['_initialized']=!![],this[_0x545ad1(0x1e8)]['info']({'event':'livesync_initialized','mode':_0x20381d['PKQns'],'path':_0x545ad1(0x20e),'heartbeat':_0x59d110+'s'},'Live\x20Sync\x20server\x20initialized\x20at\x20/ws\x20(heartbeat:\x20'+_0x59d110+'s)');}[a0_0x258e5d(0x203)](_0x1c773c={}){const _0x38eed3=a0_0x258e5d,_0x4158cd={'cpCdu':_0x38eed3(0x204),'uHbQh':'publisher','jHgrj':_0x38eed3(0x221)};if(this[_0x38eed3(0x1e9)])return;this['_options']=_0x1c773c,this[_0x38eed3(0x1f0)]=_0x38eed3(0x1f1);try{this[_0x38eed3(0x1e8)]=require(_0x4158cd['cpCdu'])[_0x38eed3(0x233)]||console;}catch(_0x3662b1){this[_0x38eed3(0x1e8)]=console;}this[_0x38eed3(0x1eb)](),this[_0x38eed3(0x1e9)]=!![],this['_logger'][_0x38eed3(0x1ed)]({'event':_0x38eed3(0x24f),'mode':_0x4158cd['uHbQh']},_0x4158cd[_0x38eed3(0x1d8)]);}[a0_0x258e5d(0x243)](){return this['_initialized'];}[a0_0x258e5d(0x21f)](_0x1aaafc,_0x204d1d){const _0x5091a8=a0_0x258e5d,_0x332fc9={'oewmq':function(_0x40f347,_0x577bb8){return _0x40f347===_0x577bb8;},'kazMZ':_0x5091a8(0x1f1),'MuGAF':function(_0x557254,_0xb3fa0){return _0x557254||_0xb3fa0;},'FkDlx':function(_0x415a28,_0x3e7a89){return _0x415a28===_0x3e7a89;},'GEwVl':function(_0x4def5a,_0x4f7dd4){return _0x4def5a>_0x4f7dd4;}};if(!this[_0x5091a8(0x1e9)])return;if(_0x332fc9[_0x5091a8(0x230)](this[_0x5091a8(0x1f0)],_0x332fc9['kazMZ'])){this['_publishToRedis'](_0x1aaafc,_0x204d1d);return;}const _0x3748b9=JSON['stringify']({'type':'data_change','channel':_0x1aaafc,'action':_0x204d1d[_0x5091a8(0x1dd)],'data':_0x204d1d[_0x5091a8(0x21a)],'requestId':_0x204d1d[_0x5091a8(0x22f)]||null,'timestamp':new Date()[_0x5091a8(0x202)]()}),[_0xf1dee3]=_0x1aaafc[_0x5091a8(0x220)](':');let _0x274a01=0x0;for(const [_0x1ab880,_0x387b9b]of this['_subscriptions']){const _0x2ae9ed=_0x1ab880===_0x1aaafc,_0x5f2f3a=_0x1ab880===_0xf1dee3+':*';if(_0x332fc9[_0x5091a8(0x206)](_0x2ae9ed,_0x5f2f3a))for(const _0x4fc35b of _0x387b9b){if(_0x332fc9[_0x5091a8(0x207)](_0x4fc35b[_0x5091a8(0x1cf)],0x1))try{_0x4fc35b['send'](_0x3748b9),_0x274a01++;}catch(_0x429cbf){}}}_0x332fc9['GEwVl'](_0x274a01,0x0)&&this[_0x5091a8(0x1e8)][_0x5091a8(0x224)]({'event':'livesync_broadcast','channel':_0x1aaafc,'action':_0x204d1d[_0x5091a8(0x1dd)],'clients':_0x274a01},_0x5091a8(0x211)+_0x204d1d['action']+'\x20on\x20'+_0x1aaafc+'\x20to\x20'+_0x274a01+'\x20client(s)');}['_publishToRedis'](_0x4207bb,_0x402bd7){const _0x385b97=a0_0x258e5d;if(!this[_0x385b97(0x24b)])return;const _0x188f54=JSON['stringify']({'channel':_0x4207bb,'message':_0x402bd7,'workerId':this['_workerId']});this[_0x385b97(0x24b)][_0x385b97(0x219)](REDIS_CHANNEL_PREFIX+'broadcast',_0x188f54)[_0x385b97(0x1d7)](()=>{});}[a0_0x258e5d(0x209)](){const _0x1941b6=a0_0x258e5d,_0x13c4ba={'GIGbm':function(_0x276e9c,_0x4e6e5c){return _0x276e9c(_0x4e6e5c);},'IZieS':_0x1941b6(0x226)};if(!this['_initialized'])return;this['_heartbeatTimer']&&(_0x13c4ba['GIGbm'](clearInterval,this['_heartbeatTimer']),this[_0x1941b6(0x227)]=null);if(this[_0x1941b6(0x242)]){for(const _0x27bce9 of this[_0x1941b6(0x242)]['clients']){try{_0x27bce9[_0x1941b6(0x1de)](0x3e9,_0x13c4ba[_0x1941b6(0x1ce)]);}catch(_0x352a40){}}this[_0x1941b6(0x242)]['close']();}if(this[_0x1941b6(0x1c8)])try{this['_redisSubscriber'][_0x1941b6(0x229)](),this[_0x1941b6(0x1c8)]['quit']();}catch(_0x5420b0){}if(this[_0x1941b6(0x20a)]&&this['_redisPublisher'])try{this['_redisPublisher']['quit']();}catch(_0x3a6d2e){}this['_subscriptions']['clear'](),this['_initialized']=![],this[_0x1941b6(0x1e8)]['info']({'event':'livesync_shutdown','mode':this['_mode']},_0x1941b6(0x1db)+this[_0x1941b6(0x1f0)]+_0x1941b6(0x1e7));}['_setupUpgradeAuth'](_0x3d1015){const _0x5648c3=a0_0x258e5d,_0x1c55c6={'QBLnc':'connection','KADOX':'/ws','rlDvZ':'x-api-key','aVmmj':'HTTP/1.1\x20401\x20Unauthorized\x0d\x0a\x0d\x0a','jFLrr':'upgrade'},_0x1e2fbe=_0x3d1015['listeners'](_0x5648c3(0x1d3))[_0x5648c3(0x23a)]();_0x3d1015['removeAllListeners'](_0x1c55c6[_0x5648c3(0x1e1)]),_0x3d1015['on'](_0x1c55c6['jFLrr'],(_0x458b79,_0x27a325,_0x5fac3a)=>{const _0x131bce=_0x5648c3;if(!_0x458b79['url']||!_0x458b79['url']['startsWith'](_0x1c55c6['KADOX'])){for(const _0x5beb49 of _0x1e2fbe){_0x5beb49['call'](_0x3d1015,_0x458b79,_0x27a325,_0x5fac3a);}return;}if(this['_options']['apiKey']){const _0x3ec764=new URL(_0x458b79['url'],_0x131bce(0x20f)+(_0x458b79[_0x131bce(0x251)]['host']||'localhost')),_0x1d63fd=_0x3ec764[_0x131bce(0x1fe)][_0x131bce(0x201)](_0x1c55c6['rlDvZ'])||_0x458b79['headers'][_0x1c55c6['rlDvZ']];if(!_0x1d63fd||_0x1d63fd!==this[_0x131bce(0x20b)]['apiKey']){_0x27a325['write'](_0x1c55c6[_0x131bce(0x24a)]),_0x27a325['destroy']();return;}}this['_wss'][_0x131bce(0x20c)](_0x458b79,_0x27a325,_0x5fac3a,_0x4268ef=>{const _0x5d065c=_0x131bce;this['_wss']['emit'](_0x1c55c6[_0x5d065c(0x241)],_0x4268ef,_0x458b79);});});}['_handleConnection'](_0xe0fd94,_0x46c4e4){const _0x56fd98=a0_0x258e5d,_0xd44873={'TOtdK':'error','tKfjk':_0x56fd98(0x23c),'QgQkR':_0x56fd98(0x1fd),'WHFlf':'pong','RVbFE':'message','KjsSM':'close'};_0xe0fd94['isAlive']=!![],_0xe0fd94['subscribedChannels']=new Set();const _0xa19b0e=_0x46c4e4[_0x56fd98(0x251)]['x-forwarded-for']||_0x46c4e4['socket'][_0x56fd98(0x228)];this[_0x56fd98(0x1e8)]['info']({'event':_0xd44873[_0x56fd98(0x1d2)],'ip':_0xa19b0e},_0x56fd98(0x213)+_0xa19b0e),_0xe0fd94['on'](_0xd44873[_0x56fd98(0x215)],()=>{const _0xd7881c=_0x56fd98;_0xe0fd94[_0xd7881c(0x231)]=!![];}),_0xe0fd94['on'](_0xd44873[_0x56fd98(0x1fb)],_0x3c02f2=>{const _0x1a08e5=_0x56fd98;try{const _0x34a210=JSON[_0x1a08e5(0x1d1)](_0x3c02f2['toString']());this['_handleClientMessage'](_0xe0fd94,_0x34a210);}catch(_0x5811ae){this[_0x1a08e5(0x246)](_0xe0fd94,{'type':_0xd44873['TOtdK'],'message':_0x1a08e5(0x1cc)});}}),_0xe0fd94['on'](_0xd44873['KjsSM'],()=>{const _0x18fbb5=_0x56fd98;this['_removeClientFromAllChannels'](_0xe0fd94),this[_0x18fbb5(0x1e8)][_0x18fbb5(0x224)]({'event':_0x18fbb5(0x1ff),'ip':_0xa19b0e},_0x18fbb5(0x1d0)+_0xa19b0e);}),_0xe0fd94['on'](_0xd44873[_0x56fd98(0x248)],_0x2e5a9e=>{const _0x45d9fb=_0x56fd98;this[_0x45d9fb(0x1e8)]['warn']({'event':_0xd44873['tKfjk'],'error':_0x2e5a9e['message']},'WebSocket\x20client\x20error:\x20'+_0x2e5a9e['message']),this[_0x45d9fb(0x1e2)](_0xe0fd94);});}['_handleClientMessage'](_0x533fee,_0x3109b){const _0x2fc483=a0_0x258e5d,_0x4a7ddb={'Jfang':_0x2fc483(0x20d)};switch(_0x3109b[_0x2fc483(0x1f6)]){case _0x2fc483(0x239):this['_handleSubscribe'](_0x533fee,_0x3109b['channels']);break;case'unsubscribe':this['_handleUnsubscribe'](_0x533fee,_0x3109b[_0x2fc483(0x1d4)]);break;case _0x2fc483(0x225):_0x533fee[_0x2fc483(0x231)]=!![];break;default:this['_sendToClient'](_0x533fee,{'type':_0x4a7ddb['Jfang'],'message':_0x2fc483(0x237)+_0x3109b[_0x2fc483(0x1f6)]});}}[a0_0x258e5d(0x1c7)](_0x238078,_0x20fd18){const _0x138abc=a0_0x258e5d,_0x2abb1f={'LjZtR':function(_0x350e9c,_0x59acb7){return _0x350e9c===_0x59acb7;},'KafNL':_0x138abc(0x20d),'Zklpz':_0x138abc(0x1d9),'yQLrG':_0x138abc(0x208)};if(!Array['isArray'](_0x20fd18)||_0x2abb1f[_0x138abc(0x1f9)](_0x20fd18[_0x138abc(0x23b)],0x0)){this['_sendToClient'](_0x238078,{'type':_0x2abb1f['KafNL'],'message':_0x138abc(0x1c9)});return;}const _0x4dd3e2=[];for(const _0x764804 of _0x20fd18){if(typeof _0x764804!=='string'||!_0x764804[_0x138abc(0x23e)](':'))continue;!this[_0x138abc(0x1ca)]['has'](_0x764804)&&this[_0x138abc(0x1ca)][_0x138abc(0x22c)](_0x764804,new Set()),this[_0x138abc(0x1ca)][_0x138abc(0x201)](_0x764804)['add'](_0x238078),_0x238078['subscribedChannels']['add'](_0x764804),_0x4dd3e2['push'](_0x764804);}_0x4dd3e2[_0x138abc(0x23b)]>0x0&&(this[_0x138abc(0x246)](_0x238078,{'type':_0x2abb1f[_0x138abc(0x1fa)],'channels':_0x4dd3e2,'timestamp':new Date()['toISOString']()}),this[_0x138abc(0x1e8)][_0x138abc(0x224)]({'event':_0x2abb1f[_0x138abc(0x1f2)],'channels':_0x4dd3e2},'Client\x20subscribed\x20to:\x20'+_0x4dd3e2[_0x138abc(0x252)](',\x20')));}[a0_0x258e5d(0x21b)](_0x3fa24e,_0x38df74){const _0x2a0c67=a0_0x258e5d,_0x3242e5={'aQfvH':function(_0x15aaae,_0x525520){return _0x15aaae===_0x525520;}};if(!Array['isArray'](_0x38df74))return;const _0x2bb862=[];for(const _0x2b88a4 of _0x38df74){this['_subscriptions'][_0x2a0c67(0x1cb)](_0x2b88a4)&&(this['_subscriptions']['get'](_0x2b88a4)['delete'](_0x3fa24e),_0x3242e5['aQfvH'](this[_0x2a0c67(0x1ca)][_0x2a0c67(0x201)](_0x2b88a4)['size'],0x0)&&this[_0x2a0c67(0x1ca)]['delete'](_0x2b88a4)),_0x3fa24e['subscribedChannels']['delete'](_0x2b88a4),_0x2bb862['push'](_0x2b88a4);}_0x2bb862[_0x2a0c67(0x23b)]>0x0&&this['_sendToClient'](_0x3fa24e,{'type':_0x2a0c67(0x1e3),'channels':_0x2bb862,'timestamp':new Date()[_0x2a0c67(0x202)]()});}['_removeClientFromAllChannels'](_0x2339af){const _0xe97fb=a0_0x258e5d;if(!_0x2339af[_0xe97fb(0x1f4)])return;for(const _0x305a6a of _0x2339af['subscribedChannels']){this['_subscriptions']['has'](_0x305a6a)&&(this[_0xe97fb(0x1ca)][_0xe97fb(0x201)](_0x305a6a)['delete'](_0x2339af),this[_0xe97fb(0x1ca)]['get'](_0x305a6a)['size']===0x0&&this[_0xe97fb(0x1ca)]['delete'](_0x305a6a));}_0x2339af['subscribedChannels'][_0xe97fb(0x1f8)]();}['_sendToClient'](_0x3d1538,_0x3a6634){const _0x4530b0=a0_0x258e5d;if(_0x3d1538[_0x4530b0(0x1cf)]===0x1)try{_0x3d1538['send'](JSON[_0x4530b0(0x24d)](_0x3a6634));}catch(_0x3bb9cf){}}[a0_0x258e5d(0x1f7)](_0x57f64f){const _0x3622cf={'zMTZG':'ping'};this['_heartbeatTimer']=setInterval(()=>{const _0x17dcdd=a0_0x4898;if(!this['_wss'])return;for(const _0x502a9d of this[_0x17dcdd(0x242)][_0x17dcdd(0x218)]){if(!_0x502a9d['isAlive']){this['_removeClientFromAllChannels'](_0x502a9d),_0x502a9d['terminate']();continue;}_0x502a9d['isAlive']=![],this['_sendToClient'](_0x502a9d,{'type':_0x3622cf[_0x17dcdd(0x245)],'timestamp':new Date()[_0x17dcdd(0x202)]()});try{_0x502a9d['ping']();}catch(_0x4f656f){}}},_0x57f64f*0x3e8);}['_setupRedisPublisher'](){const _0xf12426=a0_0x258e5d,_0x50d7dd={'UNKjO':function(_0x39571c,_0x194f96){return _0x39571c(_0x194f96);},'sgqVc':'127.0.0.1','POJDs':function(_0x41ccf2,_0x3e84e4,_0x109aa6){return _0x41ccf2(_0x3e84e4,_0x109aa6);},'ClZJx':'livesync_redis_unavailable'};this['_ownPublisher']=![];try{try{const _0x12e3e7=_0x50d7dd['UNKjO'](require,_0xf12426(0x1f3));this['_redisPublisher']=_0x12e3e7[_0xf12426(0x21c)]?_0x12e3e7['getClient']():null;}catch(_0x134f9e){this['_redisPublisher']=null;}if(!this[_0xf12426(0x24b)]){const _0xdd6c8f=require(_0xf12426(0x247)),_0x3d170d={'host':process['env']['REDIS_HOST']||_0x50d7dd['sgqVc'],'port':_0x50d7dd['POJDs'](parseInt,process[_0xf12426(0x217)][_0xf12426(0x1df)],0xa)||0x18eb,'password':process[_0xf12426(0x217)]['REDIS_PASSWORD']||undefined,'db':parseInt(process['env'][_0xf12426(0x22a)],0xa)||0x0,'lazyConnect':!![]};this['_redisPublisher']=new _0xdd6c8f(_0x3d170d),this['_ownPublisher']=!![],this['_redisPublisher'][_0xf12426(0x236)]()[_0xf12426(0x1d7)](()=>{const _0x445383=_0xf12426;this['_logger'][_0x445383(0x1e6)]({'event':'livesync_redis_publisher_failed'},'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync'),this['_redisPublisher']=null;});}}catch(_0x5c1036){this['_logger']['warn']({'event':_0x50d7dd['ClZJx'],'error':_0x5c1036['message']},_0xf12426(0x1c6)+_0x5c1036[_0xf12426(0x210)]);}}['_setupRedis'](){const _0x1228e0=a0_0x258e5d,_0x40923a={'EQqCP':_0x1228e0(0x1ec),'GahoS':_0x1228e0(0x1ef),'FAxMF':'message','YCXqr':'Failed\x20to\x20connect\x20Redis\x20subscriber\x20for\x20Live\x20Sync\x20cluster\x20mode','ftKrv':function(_0x72dfc0,_0x1e199b){return _0x72dfc0(_0x1e199b);},'nhoWL':'ioredis','tIDKo':function(_0x5dddf9,_0x3f2616,_0x1ff24e){return _0x5dddf9(_0x3f2616,_0x1ff24e);},'LXqMW':function(_0x77ecac,_0x421235){return _0x77ecac(_0x421235);},'FKitA':_0x1228e0(0x1f3)};this[_0x1228e0(0x20a)]=![];try{const _0x537281=_0x40923a['ftKrv'](require,_0x40923a[_0x1228e0(0x1da)]),_0x4dce9e={'host':process['env'][_0x1228e0(0x1e4)]||_0x1228e0(0x244),'port':_0x40923a['tIDKo'](parseInt,process['env']['REDIS_PORT'],0xa)||0x18eb,'password':process['env'][_0x1228e0(0x1e0)]||undefined,'db':parseInt(process[_0x1228e0(0x217)][_0x1228e0(0x22a)],0xa)||0x0,'lazyConnect':!![]};try{const _0x390fef=_0x40923a['LXqMW'](require,_0x40923a[_0x1228e0(0x238)]);this[_0x1228e0(0x24b)]=_0x390fef[_0x1228e0(0x21c)]?_0x390fef[_0x1228e0(0x21c)]():null;}catch(_0x323a7c){this[_0x1228e0(0x24b)]=null;}!this['_redisPublisher']&&(this['_redisPublisher']=new _0x537281(_0x4dce9e),this['_ownPublisher']=!![],this['_redisPublisher'][_0x1228e0(0x236)]()[_0x1228e0(0x1d7)](()=>{const _0x36a3bc=_0x1228e0;this[_0x36a3bc(0x1e8)]['warn']({'event':_0x36a3bc(0x235)},_0x40923a['EQqCP']),this['_redisPublisher']=null;})),this[_0x1228e0(0x1c8)]=new _0x537281(_0x4dce9e),this[_0x1228e0(0x1c8)]['connect']()['then'](()=>{const _0x39973c=_0x1228e0,_0x3eb8f2={'iHmhv':_0x40923a[_0x39973c(0x1f5)]};this['_redisSubscriber'][_0x39973c(0x239)](REDIS_CHANNEL_PREFIX+_0x39973c(0x21f),_0xe5242=>{const _0x30f587=_0x39973c;if(_0xe5242){this['_logger']['error']({'event':_0x3eb8f2['iHmhv'],'error':_0xe5242[_0x30f587(0x210)]},_0x30f587(0x205)+_0xe5242['message']);return;}this[_0x30f587(0x1e8)][_0x30f587(0x1ed)]({'event':'livesync_redis_subscribed'},'Live\x20Sync\x20Redis\x20subscriber\x20active\x20for\x20cluster\x20mode');}),this['_redisSubscriber']['on'](_0x40923a['FAxMF'],(_0x4c9a16,_0x190ff6)=>{const _0x244774=_0x39973c;try{const _0x239d1e=JSON['parse'](_0x190ff6);if(_0x239d1e[_0x244774(0x1fc)]===this[_0x244774(0x22d)])return;this['_broadcastLocal'](_0x239d1e['channel'],_0x239d1e['message']);}catch(_0x17888d){}});})['catch'](()=>{const _0x268359=_0x1228e0;this[_0x268359(0x1e8)][_0x268359(0x1e6)]({'event':_0x268359(0x232)},_0x40923a[_0x268359(0x1d6)]),this['_redisSubscriber']=null;});}catch(_0x12eef4){this['_logger']['warn']({'event':'livesync_redis_unavailable','error':_0x12eef4['message']},_0x1228e0(0x21e)+_0x12eef4[_0x1228e0(0x210)]);}}[a0_0x258e5d(0x23d)](_0x3efdac,_0x48cb24){const _0x3d0e30=a0_0x258e5d,_0x384220={'vnUfK':function(_0x4e52e5,_0x4970a0){return _0x4e52e5===_0x4970a0;},'ITyvb':function(_0xcbe2a2,_0x37c70d){return _0xcbe2a2===_0x37c70d;}};if(!this['_wss'])return;const _0xb41355=JSON['stringify']({'type':'data_change','channel':_0x3efdac,'action':_0x48cb24[_0x3d0e30(0x1dd)],'data':_0x48cb24['data'],'requestId':_0x48cb24['requestId']||null,'timestamp':new Date()[_0x3d0e30(0x202)]()}),[_0x7b8173]=_0x3efdac['split'](':');for(const [_0x27a761,_0x24f507]of this['_subscriptions']){const _0x448ae7=_0x384220['vnUfK'](_0x27a761,_0x3efdac),_0x3b53f9=_0x384220['vnUfK'](_0x27a761,_0x7b8173+':*');if(_0x448ae7||_0x3b53f9)for(const _0x214515 of _0x24f507){if(_0x384220[_0x3d0e30(0x1ea)](_0x214515['readyState'],0x1))try{_0x214515['send'](_0xb41355);}catch(_0x247400){}}}}}function a0_0x4898(_0x4ca625,_0x3682ef){_0x4ca625=_0x4ca625-0x1c6;const _0x112b98=a0_0x112b();let _0x489823=_0x112b98[_0x4ca625];if(a0_0x4898['oVtsCT']===undefined){var _0x3d01a1=function(_0x4b3114){const _0x22add5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1f3a5c='',_0x20b6d5='';for(let _0x2582aa=0x0,_0x346571,_0x29f895,_0x938fea=0x0;_0x29f895=_0x4b3114['charAt'](_0x938fea++);~_0x29f895&&(_0x346571=_0x2582aa%0x4?_0x346571*0x40+_0x29f895:_0x29f895,_0x2582aa++%0x4)?_0x1f3a5c+=String['fromCharCode'](0xff&_0x346571>>(-0x2*_0x2582aa&0x6)):0x0){_0x29f895=_0x22add5['indexOf'](_0x29f895);}for(let _0x74b5b5=0x0,_0x18cbcf=_0x1f3a5c['length'];_0x74b5b5<_0x18cbcf;_0x74b5b5++){_0x20b6d5+='%'+('00'+_0x1f3a5c['charCodeAt'](_0x74b5b5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x20b6d5);};a0_0x4898['uOKeHb']=_0x3d01a1,a0_0x4898['CcdIpD']={},a0_0x4898['oVtsCT']=!![];}const _0x386b78=_0x112b98[0x0],_0x5457ba=_0x4ca625+_0x386b78,_0x29b5fe=a0_0x4898['CcdIpD'][_0x5457ba];return!_0x29b5fe?(_0x489823=a0_0x4898['uOKeHb'](_0x489823),a0_0x4898['CcdIpD'][_0x5457ba]=_0x489823):_0x489823=_0x29b5fe,_0x489823;}module['exports']=WebSocketBroadcaster;function a0_0x112b(){const _0x3674c4=['x3nLBMruB0nSAwvUDa','Aw9YzwrPCW','ve90zeS','ueTrBNm','yvzTBwO','x3jLzgLZuhvIBgLZAgvY','zNvSBa','C3rYAw5NAwz5','mtj0BvjABhK','BgL2zxn5BMnFChvIBgLZAgvYx2LUAxrPywXPEMvK','tgPpDwu','AgvHzgvYCW','AM9PBG','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5Jihb1yMXPC2HLCJOG','x2HHBMrSzvn1yNnJCMLIzq','x3jLzgLZu3vIC2nYAwjLCG','y2HHBM5LBhmGBxvZDcbIzsbHig5VBI1LBxb0EsbHCNjHEq','x3n1yNnJCMLWDgLVBNm','AgfZ','sw52ywXPzcbku09oig1LC3nHz2u','nZrlq1vJrei','svPPzvm','CMvHzhLtDgf0zq','tgL2zsbtEw5JignSAwvUDcbKAxnJB25Uzwn0zwq6ia','CgfYC2u','uwDrA1i','DxbNCMfKzq','y2HHBM5LBhm','mZi5n2PfugLhBW','wunyCxi','y2f0y2G','AKHNCMO','C3vIC2nYAwjLza','BMHVv0W','tgL2zsbtEw5Jia','shDwBuu','ywn0Aw9U','y2XVC2u','uKvesvnFue9sva','uKvesvnFueftu1DpuKq','AKzmCNi','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','Dw5ZDwjZy3jPyMvK','uKvesvnFse9tva','teLwrv9twu5dx0HfqvjuqKvbvf9jtLrfuLzbta','D2fYBG','ihnODxqGzg93BG','x2XVz2DLCG','x2LUAxrPywXPEMvK','svr5DMi','x3nLDhvWuMvKAxnqDwjSAxnOzxi','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGChvIBgLZAgvYigzVCIbmAxzLifn5BMm','Aw5MBW','EeDKr3K','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLx2vYCM9Y','x21Vzgu','ChvIBgLZAgvY','EvfmCKC','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','C3vIC2nYAwjLzenOyw5UzwXZ','r2fOB1m','DhLWzq','x3n0yxj0sgvHCNrIzwf0','y2XLyxi','tgPADfi','wMTSChO','uLzIrKu','D29YA2vYswq','BgL2zxn5BMnFy2XPzw50x2nVBM5Ly3rLza','C2vHCMnOugfYyw1Z','BgL2zxn5BMnFy2XPzw50x2rPC2nVBM5Ly3rLza','odm3mZqYBNrHvgDr','z2v0','Dg9ju09tDhjPBMC','Aw5PDgLHBgL6zufZuhvIBgLZAgvY','lI4VlI4VDxrPBhmVBg9Nz2vY','rMfPBgvKihrVihn1yNnJCMLIzsb0BYbszwrPCYbJAgfUBMvSoIa','txvhquy','rMTeBhG','BgL2zxn5BMnFC3vIC2nYAwjL','C2H1DgrVD24','x293BLb1yMXPC2HLCG','x29WDgLVBNm','AgfUzgXLvxbNCMfKzq','zxjYB3i','l3DZ','Ahr0CdOVlW','BwvZC2fNzq','qNjVywrJyxn0ia','v2vIu29JA2v0ihnLCNzLCIbLCNjVCJOG','tgL2zsbtEw5JignSAwvUDcbJB25Uzwn0zwqGzNjVBsa','Aw5PDgLHBgL6zq','v0HgBgy','DxjS','zw52','y2XPzw50CW','ChvIBgLZAa','zgf0yq','x2HHBMrSzvvUC3vIC2nYAwjL','z2v0q2XPzw50','mtiYmJCWtKHREhzN','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9KztOG','yNjVywrJyxn0','C3bSAxq','tgL2zsbtEw5Jihb1yMXPC2HLCIbPBML0AwfSAxPLzcaOuMvKAxmTB25SEsWGBM8Gv2vIu29JA2v0ihnLCNzLCIK','mZqXndbmuxnesge','mJu2ogDwEMvyqG','zgvIDwC','Cg9UzW','u2vYDMvYihnODxr0Aw5NigrVD24','x2HLyxj0yMvHDfrPBwvY','CMvTB3rLqwrKCMvZCW','Dw5ZDwjZy3jPyMu','uKvesvnFrei','x3nLDhvWvxbNCMfKzuf1DgG','C2v0','x3DVCMTLCKLK','x3nLDhvWuMvKAxm','CMvXDwvZDeLK','B2v3Bxe','AxnbBgL2zq','BgL2zxn5BMnFCMvKAxnFC3vIC2nYAwjLCL9MywLSzwq','Bg9Nz2vY','mZm2otaZm3f3zvLfzG','BgL2zxn5BMnFCMvKAxnFChvIBgLZAgvYx2zHAwXLza','y29UBMvJDa','vw5RBM93BIbTzxnZywDLihr5Cgu6ia','rKTPDee','C3vIC2nYAwjL','C2XPy2u','BgvUz3rO','BgL2zxn5BMnFy2XPzw50x2vYCM9Y','x2jYB2fKy2fZDeXVy2fS','Aw5JBhvKzxm','odC2ody3mgHMtKfPvq','ntuZnZberfHJAhy','uujmBMm','x3DZCW','AxnjBML0AwfSAxPLza','mti3lJaUmc4X','EK1uwKC'];a0_0x112b=function(){return _0x3674c4;};return a0_0x112b();}
1
+ 'use strict';const a0_0x54e254=a0_0x6aee;(function(_0x35a306,_0x1b693c){const _0x5acb85=a0_0x6aee,_0x71ef2e=_0x35a306();while(!![]){try{const _0x5654bc=-parseInt(_0x5acb85(0x201))/0x1*(parseInt(_0x5acb85(0x239))/0x2)+-parseInt(_0x5acb85(0x213))/0x3+-parseInt(_0x5acb85(0x211))/0x4*(-parseInt(_0x5acb85(0x233))/0x5)+-parseInt(_0x5acb85(0x1fe))/0x6*(parseInt(_0x5acb85(0x216))/0x7)+-parseInt(_0x5acb85(0x234))/0x8+-parseInt(_0x5acb85(0x251))/0x9+-parseInt(_0x5acb85(0x240))/0xa*(-parseInt(_0x5acb85(0x21e))/0xb);if(_0x5654bc===_0x1b693c)break;else _0x71ef2e['push'](_0x71ef2e['shift']());}catch(_0x1b3ed2){_0x71ef2e['push'](_0x71ef2e['shift']());}}}(a0_0x24be,0xcbf64));function a0_0x6aee(_0x3398de,_0x10dda3){_0x3398de=_0x3398de-0x1e2;const _0x24beb6=a0_0x24be();let _0x6aee50=_0x24beb6[_0x3398de];if(a0_0x6aee['JmVTnc']===undefined){var _0x3519be=function(_0x1ee5fa){const _0x11600f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5f0d70='',_0x29b50a='';for(let _0x5cb3c0=0x0,_0x4d8c6e,_0x80f326,_0x5948d2=0x0;_0x80f326=_0x1ee5fa['charAt'](_0x5948d2++);~_0x80f326&&(_0x4d8c6e=_0x5cb3c0%0x4?_0x4d8c6e*0x40+_0x80f326:_0x80f326,_0x5cb3c0++%0x4)?_0x5f0d70+=String['fromCharCode'](0xff&_0x4d8c6e>>(-0x2*_0x5cb3c0&0x6)):0x0){_0x80f326=_0x11600f['indexOf'](_0x80f326);}for(let _0x425b0a=0x0,_0x35d62=_0x5f0d70['length'];_0x425b0a<_0x35d62;_0x425b0a++){_0x29b50a+='%'+('00'+_0x5f0d70['charCodeAt'](_0x425b0a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x29b50a);};a0_0x6aee['xqcKbO']=_0x3519be,a0_0x6aee['WpUNbP']={},a0_0x6aee['JmVTnc']=!![];}const _0xef0df8=_0x24beb6[0x0],_0x5ce4a2=_0x3398de+_0xef0df8,_0x1e4754=a0_0x6aee['WpUNbP'][_0x5ce4a2];return!_0x1e4754?(_0x6aee50=a0_0x6aee['xqcKbO'](_0x6aee50),a0_0x6aee['WpUNbP'][_0x5ce4a2]=_0x6aee50):_0x6aee50=_0x1e4754,_0x6aee50;}const {WebSocketServer}=require('ws'),{URL}=require('url'),REDIS_CHANNEL_PREFIX='restforge:livesync:';class WebSocketBroadcaster{constructor(){const _0x3461ec=a0_0x6aee;this[_0x3461ec(0x224)]=null,this[_0x3461ec(0x241)]=![],this[_0x3461ec(0x204)]=null,this['_options']={},this['_logger']=console,this['_subscriptions']=new Map(),this['_heartbeatTimer']=null,this['_redisPublisher']=null,this[_0x3461ec(0x1fb)]=null,this['_workerId']=process['pid'];}[a0_0x54e254(0x217)](_0x517552,_0x46a16e={}){const _0xc7d920=a0_0x54e254,_0x188531={'eAIHK':_0xc7d920(0x248),'YDDxa':function(_0x178e21,_0x36c62b,_0x4e68bc){return _0x178e21(_0x36c62b,_0x4e68bc);},'bFxOx':_0xc7d920(0x238),'WrRSj':_0xc7d920(0x1fa),'bPnrr':_0xc7d920(0x1e2)};if(this['_initialized'])return;this['_options']=_0x46a16e,this[_0xc7d920(0x204)]='full';try{this['_logger']=require(_0x188531['eAIHK'])['logger']||console;}catch(_0x4fc7c8){this[_0xc7d920(0x1ee)]=console;}const _0x2f29ef=_0x188531['YDDxa'](parseInt,process['env']['LIVE_SYNC_HEARTBEAT_INTERVAL'],0xa)||0x1e;this['_wss']=new WebSocketServer({'server':_0x517552,'path':_0x188531[_0xc7d920(0x20a)]}),this['_setupUpgradeAuth'](_0x517552),this['_wss']['on'](_0xc7d920(0x21a),(_0x5c75c9,_0x5cba3e)=>this['_handleConnection'](_0x5c75c9,_0x5cba3e)),this[_0xc7d920(0x224)]['on'](_0x188531[_0xc7d920(0x253)],_0x3d1bc3=>{const _0xdc4843=_0xc7d920;this[_0xdc4843(0x1ee)][_0xdc4843(0x1fa)]({'event':_0xdc4843(0x200),'error':_0x3d1bc3[_0xdc4843(0x219)]},_0xdc4843(0x1ed)+_0x3d1bc3[_0xdc4843(0x219)]);}),this['_startHeartbeat'](_0x2f29ef),this['_setupRedis'](),this['_initialized']=!![],this['_logger']['info']({'event':_0x188531[_0xc7d920(0x257)],'mode':'full','path':_0x188531[_0xc7d920(0x20a)],'heartbeat':_0x2f29ef+'s'},_0xc7d920(0x22e)+_0x2f29ef+'s)');}[a0_0x54e254(0x227)](_0x1bbbeb={}){const _0x191d24=a0_0x54e254,_0x51531f={'AiRlw':_0x191d24(0x245),'WUURA':_0x191d24(0x1e5),'TBbmv':_0x191d24(0x248)},_0x378f09=_0x51531f[_0x191d24(0x264)][_0x191d24(0x244)]('|');let _0x4f45d3=0x0;while(!![]){switch(_0x378f09[_0x4f45d3++]){case'0':if(this[_0x191d24(0x241)])return;continue;case'1':this[_0x191d24(0x204)]=_0x51531f['WUURA'];continue;case'2':this['_logger']['info']({'event':'livesync_publisher_initialized','mode':_0x191d24(0x1e5)},'Live\x20Sync\x20publisher\x20initialized\x20(Redis-only,\x20no\x20WebSocket\x20server)');continue;case'3':this[_0x191d24(0x241)]=!![];continue;case'4':try{this[_0x191d24(0x1ee)]=require(_0x51531f['TBbmv'])[_0x191d24(0x247)]||console;}catch(_0x29edd7){this['_logger']=console;}continue;case'5':this[_0x191d24(0x23f)]();continue;case'6':this[_0x191d24(0x262)]=_0x1bbbeb;continue;}break;}}['isInitialized'](){const _0x4ea162=a0_0x54e254;return this[_0x4ea162(0x241)];}['broadcast'](_0x1543d5,_0x53828e){const _0x518df8=a0_0x54e254,_0x1119f9={'APFvq':function(_0x25f7ff,_0x31732a){return _0x25f7ff===_0x31732a;},'EgxIL':function(_0x304817,_0x4b984c){return _0x304817===_0x4b984c;},'hVgTd':function(_0x12d974,_0x49967f){return _0x12d974>_0x49967f;}};if(!this[_0x518df8(0x241)])return;if(this['_mode']===_0x518df8(0x1e5)){this['_publishToRedis'](_0x1543d5,_0x53828e);return;}const _0x5b0882=JSON['stringify']({'type':'data_change','channel':_0x1543d5,'action':_0x53828e['action'],'data':_0x53828e['data'],'requestId':_0x53828e['requestId']||null,'timestamp':new Date()['toISOString']()}),[_0x13ad0b]=_0x1543d5['split'](':');let _0x5f0f05=0x0;for(const [_0x4a2725,_0x59c8bd]of this['_subscriptions']){const _0x136d4b=_0x1119f9['APFvq'](_0x4a2725,_0x1543d5),_0x504b77=_0x1119f9['EgxIL'](_0x4a2725,_0x13ad0b+':*');if(_0x136d4b||_0x504b77)for(const _0x545145 of _0x59c8bd){if(_0x1119f9[_0x518df8(0x218)](_0x545145['readyState'],0x1))try{_0x545145[_0x518df8(0x23b)](_0x5b0882),_0x5f0f05++;}catch(_0x32059b){}}}_0x1119f9[_0x518df8(0x203)](_0x5f0f05,0x0)&&this['_logger']['debug']({'event':'livesync_broadcast','channel':_0x1543d5,'action':_0x53828e['action'],'clients':_0x5f0f05},'Broadcast\x20'+_0x53828e[_0x518df8(0x1f2)]+'\x20on\x20'+_0x1543d5+_0x518df8(0x25b)+_0x5f0f05+'\x20client(s)');}['_publishToRedis'](_0x41b4c1,_0x3c4a16){const _0xf92fa1=a0_0x54e254;if(!this['_redisPublisher'])return;const _0x433645=JSON['stringify']({'channel':_0x41b4c1,'message':_0x3c4a16,'workerId':this[_0xf92fa1(0x249)]});this[_0xf92fa1(0x225)]['publish'](REDIS_CHANNEL_PREFIX+'broadcast',_0x433645)['catch'](()=>{});}['shutdown'](){const _0x15bfeb=a0_0x54e254,_0x5a41cc={'jtTfC':function(_0xe0e37b,_0x5aaaa8){return _0xe0e37b(_0x5aaaa8);},'ifUyl':'Server\x20shutting\x20down','jWQyn':'livesync_shutdown'};if(!this['_initialized'])return;this[_0x15bfeb(0x205)]&&(_0x5a41cc['jtTfC'](clearInterval,this['_heartbeatTimer']),this[_0x15bfeb(0x205)]=null);if(this['_wss']){for(const _0x392e5a of this[_0x15bfeb(0x224)][_0x15bfeb(0x1f0)]){try{_0x392e5a[_0x15bfeb(0x212)](0x3e9,_0x5a41cc[_0x15bfeb(0x242)]);}catch(_0x2b6bb8){}}this[_0x15bfeb(0x224)][_0x15bfeb(0x212)]();}if(this['_redisSubscriber'])try{this[_0x15bfeb(0x1fb)]['unsubscribe'](),this[_0x15bfeb(0x1fb)]['quit']();}catch(_0x3c8401){}if(this['_ownPublisher']&&this[_0x15bfeb(0x225)])try{this[_0x15bfeb(0x225)][_0x15bfeb(0x1ea)]();}catch(_0x2d3893){}this[_0x15bfeb(0x207)]['clear'](),this['_initialized']=![],this[_0x15bfeb(0x1ee)]['info']({'event':_0x5a41cc[_0x15bfeb(0x202)],'mode':this[_0x15bfeb(0x204)]},_0x15bfeb(0x230)+this[_0x15bfeb(0x204)]+_0x15bfeb(0x1f1));}['_setupUpgradeAuth'](_0x525bd0){const _0x12a0f7=a0_0x54e254,_0x198f61={'UVpJu':_0x12a0f7(0x21a),'ZCjKm':_0x12a0f7(0x25c)},_0xaf980=_0x525bd0[_0x12a0f7(0x254)]('upgrade')[_0x12a0f7(0x229)]();_0x525bd0['removeAllListeners'](_0x198f61[_0x12a0f7(0x215)]),_0x525bd0['on'](_0x12a0f7(0x25c),(_0x22aed4,_0x562912,_0x481820)=>{const _0x3a95de=_0x12a0f7;if(!_0x22aed4[_0x3a95de(0x1e7)]||!_0x22aed4['url']['startsWith']('/ws')){for(const _0x3f8c1b of _0xaf980){_0x3f8c1b[_0x3a95de(0x250)](_0x525bd0,_0x22aed4,_0x562912,_0x481820);}return;}if(this['_options']['apiKey']){const _0x553730=new URL(_0x22aed4['url'],_0x3a95de(0x210)+(_0x22aed4['headers']['host']||'localhost')),_0x163c0b=_0x553730['searchParams']['get']('x-api-key')||_0x22aed4[_0x3a95de(0x21f)]['x-api-key'];if(!_0x163c0b||_0x163c0b!==this['_options']['apiKey']){_0x562912[_0x3a95de(0x256)]('HTTP/1.1\x20401\x20Unauthorized\x0d\x0a\x0d\x0a'),_0x562912['destroy']();return;}}this['_wss']['handleUpgrade'](_0x22aed4,_0x562912,_0x481820,_0x47b089=>{const _0x4bf146=_0x3a95de;this['_wss']['emit'](_0x198f61[_0x4bf146(0x20e)],_0x47b089,_0x22aed4);});});}['_handleConnection'](_0x3a82e3,_0x12f720){const _0x56672c=a0_0x54e254,_0x128e13={'oxyhu':_0x56672c(0x24e),'xjKos':'x-forwarded-for','FrHIw':'pong','nqtKA':'close','ZVGkX':'error'};_0x3a82e3[_0x56672c(0x1e6)]=!![],_0x3a82e3[_0x56672c(0x1ff)]=new Set();const _0x2002e9=_0x12f720['headers'][_0x128e13[_0x56672c(0x1e4)]]||_0x12f720['socket']['remoteAddress'];this['_logger']['info']({'event':_0x56672c(0x22b),'ip':_0x2002e9},'Live\x20Sync\x20client\x20connected\x20from\x20'+_0x2002e9),_0x3a82e3['on'](_0x128e13['FrHIw'],()=>{const _0x405986=_0x56672c;_0x3a82e3[_0x405986(0x1e6)]=!![];}),_0x3a82e3['on'](_0x56672c(0x219),_0x585114=>{const _0x1573fa=_0x56672c;try{const _0x139615=JSON[_0x1573fa(0x260)](_0x585114[_0x1573fa(0x206)]());this['_handleClientMessage'](_0x3a82e3,_0x139615);}catch(_0x52d12a){this[_0x1573fa(0x21c)](_0x3a82e3,{'type':'error','message':'Invalid\x20JSON\x20message'});}}),_0x3a82e3['on'](_0x128e13['nqtKA'],()=>{const _0x2128d0=_0x56672c;this['_removeClientFromAllChannels'](_0x3a82e3),this[_0x2128d0(0x1ee)][_0x2128d0(0x1fc)]({'event':'livesync_client_disconnected','ip':_0x2002e9},'Live\x20Sync\x20client\x20disconnected:\x20'+_0x2002e9);}),_0x3a82e3['on'](_0x128e13['ZVGkX'],_0x37118f=>{const _0x59bac9=_0x56672c;this['_logger']['warn']({'event':_0x128e13[_0x59bac9(0x208)],'error':_0x37118f[_0x59bac9(0x219)]},_0x59bac9(0x1f5)+_0x37118f[_0x59bac9(0x219)]),this['_removeClientFromAllChannels'](_0x3a82e3);});}['_handleClientMessage'](_0x14f261,_0x2415b4){const _0x48d160=a0_0x54e254,_0x4b638c={'WeUqb':'pong','UjeIh':_0x48d160(0x1fa)};switch(_0x2415b4[_0x48d160(0x24d)]){case _0x48d160(0x209):this['_handleSubscribe'](_0x14f261,_0x2415b4[_0x48d160(0x258)]);break;case _0x48d160(0x22a):this['_handleUnsubscribe'](_0x14f261,_0x2415b4[_0x48d160(0x258)]);break;case _0x4b638c[_0x48d160(0x255)]:_0x14f261[_0x48d160(0x1e6)]=!![];break;default:this[_0x48d160(0x21c)](_0x14f261,{'type':_0x4b638c[_0x48d160(0x22f)],'message':'Unknown\x20message\x20type:\x20'+_0x2415b4[_0x48d160(0x24d)]});}}[a0_0x54e254(0x1e8)](_0x556a14,_0x42a0f8){const _0xe49a8f=a0_0x54e254,_0x7ccad2={'OlzbY':function(_0x1784d8,_0x12d172){return _0x1784d8===_0x12d172;},'BGwWI':_0xe49a8f(0x1fa),'hLolM':'string','fWibQ':'subscribed'};if(!Array[_0xe49a8f(0x20d)](_0x42a0f8)||_0x7ccad2['OlzbY'](_0x42a0f8['length'],0x0)){this[_0xe49a8f(0x21c)](_0x556a14,{'type':_0x7ccad2['BGwWI'],'message':'channels\x20must\x20be\x20a\x20non-empty\x20array'});return;}const _0x455380=[];for(const _0x520f6e of _0x42a0f8){if(typeof _0x520f6e!==_0x7ccad2[_0xe49a8f(0x22c)]||!_0x520f6e['includes'](':'))continue;!this[_0xe49a8f(0x207)][_0xe49a8f(0x1f4)](_0x520f6e)&&this[_0xe49a8f(0x207)][_0xe49a8f(0x235)](_0x520f6e,new Set()),this[_0xe49a8f(0x207)]['get'](_0x520f6e)['add'](_0x556a14),_0x556a14[_0xe49a8f(0x1ff)]['add'](_0x520f6e),_0x455380['push'](_0x520f6e);}_0x455380[_0xe49a8f(0x23c)]>0x0&&(this['_sendToClient'](_0x556a14,{'type':_0x7ccad2['fWibQ'],'channels':_0x455380,'timestamp':new Date()['toISOString']()}),this[_0xe49a8f(0x1ee)]['debug']({'event':'livesync_subscribe','channels':_0x455380},'Client\x20subscribed\x20to:\x20'+_0x455380['join'](',\x20')));}[a0_0x54e254(0x231)](_0x201e63,_0x487f0a){const _0x524287=a0_0x54e254,_0x3b9a4a={'IziqH':function(_0x430724,_0x17c5f3){return _0x430724===_0x17c5f3;}};if(!Array['isArray'](_0x487f0a))return;const _0xecd8bf=[];for(const _0x2f67b0 of _0x487f0a){this['_subscriptions']['has'](_0x2f67b0)&&(this['_subscriptions']['get'](_0x2f67b0)[_0x524287(0x25a)](_0x201e63),_0x3b9a4a[_0x524287(0x1f8)](this['_subscriptions']['get'](_0x2f67b0)[_0x524287(0x223)],0x0)&&this[_0x524287(0x207)]['delete'](_0x2f67b0)),_0x201e63['subscribedChannels']['delete'](_0x2f67b0),_0xecd8bf['push'](_0x2f67b0);}_0xecd8bf['length']>0x0&&this['_sendToClient'](_0x201e63,{'type':_0x524287(0x24a),'channels':_0xecd8bf,'timestamp':new Date()[_0x524287(0x1fd)]()});}['_removeClientFromAllChannels'](_0x59748a){const _0x169e35=a0_0x54e254,_0x33945a={'KXHDW':function(_0x4a2856,_0x3e0d32){return _0x4a2856===_0x3e0d32;}};if(!_0x59748a[_0x169e35(0x1ff)])return;for(const _0x512f04 of _0x59748a['subscribedChannels']){this['_subscriptions'][_0x169e35(0x1f4)](_0x512f04)&&(this['_subscriptions'][_0x169e35(0x259)](_0x512f04)[_0x169e35(0x25a)](_0x59748a),_0x33945a['KXHDW'](this[_0x169e35(0x207)][_0x169e35(0x259)](_0x512f04)[_0x169e35(0x223)],0x0)&&this['_subscriptions'][_0x169e35(0x25a)](_0x512f04));}_0x59748a['subscribedChannels']['clear']();}['_sendToClient'](_0x5b9c44,_0x4e632b){const _0x57c917=a0_0x54e254,_0x51119b={'ijbIH':function(_0x31bf66,_0x591d81){return _0x31bf66===_0x591d81;}};if(_0x51119b['ijbIH'](_0x5b9c44[_0x57c917(0x23e)],0x1))try{_0x5b9c44[_0x57c917(0x23b)](JSON['stringify'](_0x4e632b));}catch(_0x15f7c3){}}[a0_0x54e254(0x25e)](_0x2f3144){const _0x174c21=a0_0x54e254,_0x378b3b={'wqQjW':_0x174c21(0x24b),'kBCYD':function(_0x33640c,_0xfea3ed,_0x5b76ff){return _0x33640c(_0xfea3ed,_0x5b76ff);},'Wupnl':function(_0x2a1713,_0x375b9d){return _0x2a1713*_0x375b9d;}};this[_0x174c21(0x205)]=_0x378b3b['kBCYD'](setInterval,()=>{const _0x43f1ed=_0x174c21;if(!this['_wss'])return;for(const _0x13a8ea of this[_0x43f1ed(0x224)]['clients']){if(!_0x13a8ea[_0x43f1ed(0x1e6)]){this[_0x43f1ed(0x220)](_0x13a8ea),_0x13a8ea[_0x43f1ed(0x21b)]();continue;}_0x13a8ea[_0x43f1ed(0x1e6)]=![],this['_sendToClient'](_0x13a8ea,{'type':_0x378b3b['wqQjW'],'timestamp':new Date()['toISOString']()});try{_0x13a8ea[_0x43f1ed(0x24b)]();}catch(_0x4b8a66){}}},_0x378b3b[_0x174c21(0x1f9)](_0x2f3144,0x3e8));}['_setupRedisPublisher'](){const _0x15d2fb=a0_0x54e254,_0x1a7f77={'RciXu':function(_0x235422,_0x4afb62){return _0x235422(_0x4afb62);},'qiKAB':_0x15d2fb(0x24c),'dYNSJ':'livesync_redis_unavailable'};this['_ownPublisher']=![];try{try{const _0x43e62e=require(_0x15d2fb(0x20b));this[_0x15d2fb(0x225)]=_0x43e62e['getClient']?_0x43e62e['getClient']():null;}catch(_0x416c15){this[_0x15d2fb(0x225)]=null;}if(!this[_0x15d2fb(0x225)]){const _0x34e311=_0x1a7f77['RciXu'](require,_0x1a7f77['qiKAB']),_0x5ec468={'host':process['env']['REDIS_HOST']||'127.0.0.1','port':parseInt(process[_0x15d2fb(0x20c)]['REDIS_PORT'],0xa)||0x18eb,'password':process[_0x15d2fb(0x20c)]['REDIS_PASSWORD']||undefined,'db':parseInt(process['env']['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};this[_0x15d2fb(0x225)]=new _0x34e311(_0x5ec468),this['_ownPublisher']=!![],this['_redisPublisher']['connect']()['catch'](()=>{const _0x40750b=_0x15d2fb;this[_0x40750b(0x1ee)][_0x40750b(0x25f)]({'event':'livesync_redis_publisher_failed'},'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync'),this[_0x40750b(0x225)]=null;});}}catch(_0x4276fd){this[_0x15d2fb(0x1ee)]['warn']({'event':_0x1a7f77[_0x15d2fb(0x261)],'error':_0x4276fd['message']},_0x15d2fb(0x23d)+_0x4276fd['message']);}}[a0_0x54e254(0x263)](){const _0x119918=a0_0x54e254,_0x14ffcc={'XRHvp':'livesync_redis_publisher_failed','oGvgn':'Failed\x20to\x20connect\x20Redis\x20publisher\x20for\x20Live\x20Sync','qvzXG':'livesync_redis_subscribed','ovupE':_0x119918(0x1eb),'xUfZE':_0x119918(0x24c),'uuBkR':function(_0x399814,_0x479b1b,_0x47f43c){return _0x399814(_0x479b1b,_0x47f43c);},'XyIeF':function(_0x9b87c1,_0x487f5d){return _0x9b87c1(_0x487f5d);},'nRQjf':'livesync_redis_unavailable'};this[_0x119918(0x1f6)]=![];try{const _0x33d8d6=require(_0x14ffcc['xUfZE']),_0x9a6428={'host':process['env']['REDIS_HOST']||_0x119918(0x1f3),'port':parseInt(process['env'][_0x119918(0x1e9)],0xa)||0x18eb,'password':process[_0x119918(0x20c)][_0x119918(0x1ec)]||undefined,'db':_0x14ffcc['uuBkR'](parseInt,process['env']['REDIS_DB'],0xa)||0x0,'lazyConnect':!![]};try{const _0x412210=_0x14ffcc[_0x119918(0x24f)](require,_0x119918(0x20b));this['_redisPublisher']=_0x412210[_0x119918(0x246)]?_0x412210['getClient']():null;}catch(_0x464c0f){this[_0x119918(0x225)]=null;}!this['_redisPublisher']&&(this['_redisPublisher']=new _0x33d8d6(_0x9a6428),this[_0x119918(0x1f6)]=!![],this[_0x119918(0x225)]['connect']()[_0x119918(0x23a)](()=>{const _0x255326=_0x119918;this['_logger'][_0x255326(0x25f)]({'event':_0x14ffcc[_0x255326(0x252)]},_0x14ffcc[_0x255326(0x22d)]),this[_0x255326(0x225)]=null;})),this['_redisSubscriber']=new _0x33d8d6(_0x9a6428),this[_0x119918(0x1fb)]['connect']()[_0x119918(0x1f7)](()=>{const _0x1491e9=_0x119918,_0x17e2dd={'IjQWx':_0x14ffcc[_0x1491e9(0x236)]};this[_0x1491e9(0x1fb)][_0x1491e9(0x209)](REDIS_CHANNEL_PREFIX+_0x1491e9(0x20f),_0x540ed8=>{const _0x53e7c3=_0x1491e9;if(_0x540ed8){this['_logger'][_0x53e7c3(0x1fa)]({'event':'livesync_redis_subscribe_error','error':_0x540ed8[_0x53e7c3(0x219)]},'Failed\x20to\x20subscribe\x20to\x20Redis\x20channel:\x20'+_0x540ed8['message']);return;}this['_logger'][_0x53e7c3(0x226)]({'event':_0x17e2dd[_0x53e7c3(0x237)]},'Live\x20Sync\x20Redis\x20subscriber\x20active\x20for\x20cluster\x20mode');}),this[_0x1491e9(0x1fb)]['on'](_0x1491e9(0x219),(_0xf14b7b,_0x1c3238)=>{const _0x597fa2=_0x1491e9;try{const _0x5a371d=JSON[_0x597fa2(0x260)](_0x1c3238);if(_0x5a371d[_0x597fa2(0x243)]===this['_workerId'])return;this['_broadcastLocal'](_0x5a371d['channel'],_0x5a371d['message']);}catch(_0x1aa644){}});})['catch'](()=>{const _0x150b7b=_0x119918;this[_0x150b7b(0x1ee)]['warn']({'event':'livesync_redis_subscriber_failed'},_0x14ffcc['ovupE']),this['_redisSubscriber']=null;});}catch(_0x494e1d){this[_0x119918(0x1ee)][_0x119918(0x25f)]({'event':_0x14ffcc[_0x119918(0x221)],'error':_0x494e1d['message']},_0x119918(0x25d)+_0x494e1d[_0x119918(0x219)]);}}[a0_0x54e254(0x1e3)](_0x6375bc,_0x435781){const _0x1d4385=a0_0x54e254,_0x5b7fcd={'PghRi':function(_0x43971f,_0xefe3fc){return _0x43971f===_0xefe3fc;},'kKZMN':function(_0x13e458,_0x396f15){return _0x13e458||_0x396f15;}};if(!this[_0x1d4385(0x224)])return;const _0x2d7e35=JSON[_0x1d4385(0x21d)]({'type':'data_change','channel':_0x6375bc,'action':_0x435781['action'],'data':_0x435781[_0x1d4385(0x228)],'requestId':_0x435781[_0x1d4385(0x1ef)]||null,'timestamp':new Date()['toISOString']()}),[_0x298ecf]=_0x6375bc[_0x1d4385(0x244)](':');for(const [_0x4a82d5,_0x5a8522]of this[_0x1d4385(0x207)]){const _0x41ce23=_0x5b7fcd[_0x1d4385(0x232)](_0x4a82d5,_0x6375bc),_0x3bd1ba=_0x4a82d5===_0x298ecf+':*';if(_0x5b7fcd[_0x1d4385(0x222)](_0x41ce23,_0x3bd1ba))for(const _0x217213 of _0x5a8522){if(_0x5b7fcd['PghRi'](_0x217213['readyState'],0x1))try{_0x217213[_0x1d4385(0x23b)](_0x2d7e35);}catch(_0x14c46a){}}}}}function a0_0x24be(){const _0x2406b3=['v3jsu2O','BgLZDgvUzxjZ','v2vvCwi','D3jPDgu','yLbUCNi','y2HHBM5LBhm','z2v0','zgvSzxrL','ihrVia','DxbNCMfKzq','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9KztOG','x3n0yxj0sgvHCNrIzwf0','D2fYBG','CgfYC2u','zfLou0O','x29WDgLVBNm','x3nLDhvWuMvKAxm','qwLsBhC','BgL2zxn5BMnFAw5PDgLHBgL6zwq','x2jYB2fKy2fZDeXVy2fS','EgPlB3m','ChvIBgLZAgvY','AxnbBgL2zq','DxjS','x2HHBMrSzvn1yNnJCMLIzq','uKvesvnFue9sva','CxvPDa','rMfPBgvKihrVignVBM5Ly3qGuMvKAxmGC3vIC2nYAwjLCIbMB3iGtgL2zsbtEw5JignSDxn0zxiGBw9Kzq','uKvesvnFueftu1DpuKq','v2vIu29JA2v0ihnLCNzLCIbLCNjVCJOG','x2XVz2DLCG','CMvXDwvZDeLK','y2XPzw50CW','ihnODxqGzg93BG','ywn0Aw9U','mti3lJaUmc4X','AgfZ','v2vIu29JA2v0ignSAwvUDcbLCNjVCJOG','x293BLb1yMXPC2HLCG','DgHLBG','sxPPCuG','v3vWBMW','zxjYB3i','x3jLzgLZu3vIC2nYAwjLCG','zgvIDwC','Dg9ju09tDhjPBMC','mJa4mJG0vvvjseH1','C3vIC2nYAwjLzenOyw5UzwXZ','BgL2zxn5BMnFD3nZx2vYCM9Y','mZK4mM1Qt1LREG','ALDrEw4','AfzNvgq','x21Vzgu','x2HLyxj0yMvHDfrPBwvY','Dg9tDhjPBMC','x3n1yNnJCMLWDgLVBNm','B3H5Ahu','C3vIC2nYAwjL','yKz4t3G','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','zw52','AxnbCNjHEq','vvzWsNu','yNjVywrJyxn0','Ahr0CdOVlW','mJq4otjNtKLOA1C','y2XVC2u','mJC2nZq2neDNzMjezq','zxHWB3j0CW','wKnQs20','mte5rNLfDgfJ','Aw5PDgLHBgL6zq','qvbgDNe','BwvZC2fNzq','y29UBMvJDgLVBG','DgvYBwLUyxrL','x3nLBMruB0nSAwvUDa','C3rYAw5NAwz5','mtq3otq4ndzLtuPmCgG','AgvHzgvYCW','x3jLBw92zunSAwvUDezYB21bBgXdAgfUBMvSCW','BLjrAMy','A0TAtu4','C2L6zq','x3DZCW','x3jLzgLZuhvIBgLZAgvY','Aw5MBW','Aw5PDgLHBgL6zufZuhvIBgLZAgvY','zgf0yq','C2XPy2u','Dw5ZDwjZy3jPyMu','BgL2zxn5BMnFy2XPzw50x2nVBM5Ly3rLza','AeXVBe0','B0D2z24','tgL2zsbtEw5JihnLCNzLCIbPBML0AwfSAxPLzcbHDcaVD3mGkgHLyxj0yMvHDdOG','vwPLswG','tgL2zsbtEw5Jia','x2HHBMrSzvvUC3vIC2nYAwjL','ugDOuMK','mti0nuPRzvrVrW','odm5mJC5mLjnrvzHrG','C2v0','Cxz6weC','swPrv3G','l3DZ','mtbUzhP3Cfm','y2f0y2G','C2vUza','BgvUz3rO','uMvKAxmGBM90igf2ywLSywjSzsbMB3iGtgL2zsbtEw5Jihb1yMXPC2HLCJOG','CMvHzhLtDgf0zq','x3nLDhvWuMvKAxnqDwjSAxnOzxi','mJblq3PSCe4','x2LUAxrPywXPEMvK','AwzvEwW','D29YA2vYswq','C3bSAxq','mhW2Fdf8nhW1Fdn8mG','z2v0q2XPzw50','Bg9Nz2vY','lI4VlI4VDxrPBhmVBg9Nz2vY','x3DVCMTLCKLK','Dw5ZDwjZy3jPyMvK','CgLUzW','Aw9YzwrPCW','DhLWzq','BgL2zxn5BMnFy2XPzw50x2vYCM9Y','whLjzuy','y2fSBa','nZqWmtKYnfLKuMjSEa','wfjiDNa'];a0_0x24be=function(){return _0x2406b3;};return a0_0x24be();}module[a0_0x54e254(0x214)]=WebSocketBroadcaster;
@@ -1 +1 @@
1
- const a0_0x4caf5e=a0_0x137b;(function(_0x55af1c,_0x450f1b){const _0x25ff30=a0_0x137b,_0xc204eb=_0x55af1c();while(!![]){try{const _0x2789f6=-parseInt(_0x25ff30(0x1ae))/0x1+-parseInt(_0x25ff30(0x190))/0x2+parseInt(_0x25ff30(0x146))/0x3*(-parseInt(_0x25ff30(0x130))/0x4)+-parseInt(_0x25ff30(0x180))/0x5+parseInt(_0x25ff30(0x142))/0x6*(parseInt(_0x25ff30(0x17e))/0x7)+parseInt(_0x25ff30(0x155))/0x8+parseInt(_0x25ff30(0x15d))/0x9;if(_0x2789f6===_0x450f1b)break;else _0xc204eb['push'](_0xc204eb['shift']());}catch(_0x2b910f){_0xc204eb['push'](_0xc204eb['shift']());}}}(a0_0x4653,0x70b9f));const {v7:uuidv7}=require(a0_0x4caf5e(0x197)),path=require(a0_0x4caf5e(0x170)),fs=require('fs')['promises'],fsSync=require('fs'),redisHelper=require(a0_0x4caf5e(0x165)),{logger,logError}=require('../utils/logger'),dbType=(process[a0_0x4caf5e(0x1b0)][a0_0x4caf5e(0x135)]||'postgresql')[a0_0x4caf5e(0x169)]();let executeQuery;function a0_0x4653(){const _0x3fd910=['tLznC3i','zw52','BMT5ue8','C1nNu1e','lI4VDxrPBhmVzgiTB3jHy2XL','yvLuqKy','DNHSuuq','y2HHCKf0','rxHWB3j0igzPBguGBM90igzVDw5K','zxHWB3j0x3vZAw5Nx2n1C3rVBv9XDwvYEq','Dg9ju09tDhjPBMC','ignVBhvTBNmGzNjVBsbXDwvYEsbYzxn1Bhq','z2vUzxjHDgu','z2vUzxjHDgvfEgnLBa','DgfIBgvoyw1LigfUzcbJB2X1Bw5ZigfYzsbYzxf1AxjLza','Aw5MBW','id0G','ntjtA0rcu2O','DhjPBq','DxbKyxrLsM9I','svmGtLvmta','zMLSDgvY','rejFvfLqrq','BwTKAxjtEw5J','zLrHyvO','DxrMoa','zxHWB3j0x2zHAwXLza','zMXVB3i','AM9PBG','y29TCgXLDgvKx2f0','x2v4Cg9YDerPCG','y29SDw1UCW','AxDrCLi','BKXHEhC','rMfPBgvKihrVigzLDgnOigrHDge','mta5oePnzgDiwq','cLnftevdvcaQiezst00G','ieLtie5pvcbovuXm','lI4VlI4VzxHWB3j0CY8','otGXmgHRAeHdvW','z2v0qwXSsM9ICW','rxHWB3j0igzPBguGzgvSzxrLza','CMvZB2X2zuv4Cg9YDff1zxj5','zxHJzwXFy29SDw1UC19MCM9Tx2n1C3rVBv9XDwvYEq','z2vUzxjHDgvkB2jjza','vefAu3m','rxHWB3j0ihbYB2nLC3nPBMCGC3rHCNrLza','ywTvDva','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','uuD4DM0','y3jLyxrLzf9HDa','qwzMwui','zMLSztO','z2v0rMLSzvbHDgG','mZi0oti1nMn0q1PhwG','zxHJzwXFy29SDw1UC19ZzwXLy3rFywXS','Dg9vChbLCKnHC2u','zw5KCg9PBNroyw1L','y29SDw1UrM9YBwf0CW','rxHWB3j0igzHAwXLza','zxHWB3j0x3bYB2nLC3nPBMDFC3rHCNq','ignVBhvTBNmGkhDPBgrJyxjKihjLCxvLC3rLzcK','mteZnJC3mZHwvhDXwKm','uMvXDwvZDgvKignVBhvTBNmGBM90igzVDw5KigLUigrHDgeSihvZAw5NigfSBca','qwPHD1m','ywnJzxnZ','CM91BMq','cIaGicbguK9nia','CMvWBgfJzq','rxHWB3j0igPVyIbJCMvHDgvK','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','EMTtDK0','uhHvAwy','CgfYyw1Z','Dg9mB3DLCKnHC2u','zxHJzwXFy29SDw1UC19MCM9Tx2nVBMzPzW','rxHWB3j0ihbYB2nLC3nPBMCGzMfPBgvK','q3noDuK','Aw52ywXPzf9ZB3j0x2nVBhvTBG','BwfW','zgvMyxvSDa','Cgf0Aa','zxjYB3i','rwDyAhe','y29TCgXLDgvK','ChjVy2vZC0PVyG','A2v5CW','zxHLy3v0zvf1zxj5','Dg9tDhjPBMC','BgvUz3rO','svmGtK9uie5vteW','vw1Prvy','v0Lusca','cIaGicaGicaG','C3rHDhvZ','mZi1ndnVqwjJBxG','zxHWB3j0uxvLCNK','mZKYoti3mhjus3PXza','uMvZB2X2Aw5Nigv4Cg9YDff1zxj5igzYB20GzMLSztOG','yNbdzg8','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','ignVBhvTBNmGzNjVBsbJB25MAwCGkg5VigrHDgeP','wgzlueG','rxHWB3j0ignVBxbSzxrLzcbZDwnJzxnZzNvSBhK','ieforca','q2HLve8','zMfPBgvK','x2rHDge','D2fYBG','y29UzgL0Aw9UCW','zMv0y2HeyxrH','Aw52ywXPzf9JB25KAxrPB24','zxHWB3j0x3bYB2nLC3nFzxjYB3i','mtC3mJa2nMzuz1nJCq','zw50CMLLCW','C2v0sM9I','vxnPBMCG','sNL5yw0','ChjVy2vZC2LUzW','CgvUzgLUzW','DxvPza','zxHJzwXFy29SDw1UC19MCM9Tx3jLCxvLC3q','sw52ywXPzcbMAwXLoIbYzwzLCMvUy2uGlsbWyxrOigLZigvTChr5','ru5pru5u','C2fUAxrPEMvwywX1zq','zxHWB3j0x3f1zxj5x2zPBgvFCMvZB2X2zq','s29AzeK','C3vIC3rYAw5N','DMXbDfa','B0DpueK','Dg9qBLy','iefticGkicaGia','lI4VDxrPBhmVzxHJzwWTz2vUzxjHDg9Y','BwvZC2fNzq','rxHWB3j0ihf1zxj5igzPBguGAxmGzw1WDhK6ia','ignVBhvTBNmGzNjVBsbYzxf1zxn0','C3rYAw5N','cLDirvjfia','z2v0sM9I','tMjZuhG','iefticGkicaGifnftevdvca','zMLSzv9WyxrO','yNvPBgrpCMrLCKj5q2XHDxnL','mZqZodGYv211AMfo'];a0_0x4653=function(){return _0x3fd910;};return a0_0x4653();}if(dbType==='oracle'){const oracleDb=require(a0_0x4caf5e(0x1b3));executeQuery=(_0x3917dd,_0xebc956)=>oracleDb[a0_0x4caf5e(0x176)](_0x3917dd,_0xebc956);}else{if(dbType==='mysql'){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x54dad5,_0x49123d)=>mysqlDb[a0_0x4caf5e(0x176)](_0x54dad5,_0x49123d);}else executeQuery=require('../utils/db')[a0_0x4caf5e(0x176)];}function a0_0x137b(_0xd9dcb6,_0x140bac){_0xd9dcb6=_0xd9dcb6-0x12d;const _0x4653ed=a0_0x4653();let _0x137bfd=_0x4653ed[_0xd9dcb6];if(a0_0x137b['UrJVGP']===undefined){var _0x45865e=function(_0x5eca60){const _0x10aa6d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x309a70='',_0x40d3f0='';for(let _0x1b70ec=0x0,_0x568fc2,_0x10bd65,_0x539f30=0x0;_0x10bd65=_0x5eca60['charAt'](_0x539f30++);~_0x10bd65&&(_0x568fc2=_0x1b70ec%0x4?_0x568fc2*0x40+_0x10bd65:_0x10bd65,_0x1b70ec++%0x4)?_0x309a70+=String['fromCharCode'](0xff&_0x568fc2>>(-0x2*_0x1b70ec&0x6)):0x0){_0x10bd65=_0x10aa6d['indexOf'](_0x10bd65);}for(let _0x28a6d9=0x0,_0x112ab0=_0x309a70['length'];_0x28a6d9<_0x112ab0;_0x28a6d9++){_0x40d3f0+='%'+('00'+_0x309a70['charCodeAt'](_0x28a6d9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x40d3f0);};a0_0x137b['ZkChxJ']=_0x45865e,a0_0x137b['CqTxiZ']={},a0_0x137b['UrJVGP']=!![];}const _0x334387=_0x4653ed[0x0],_0x505336=_0xd9dcb6+_0x334387,_0x41300a=a0_0x137b['CqTxiZ'][_0x505336];return!_0x41300a?(_0x137bfd=a0_0x137b['ZkChxJ'](_0x137bfd),a0_0x137b['CqTxiZ'][_0x505336]=_0x137bfd):_0x137bfd=_0x41300a,_0x137bfd;}class ExportService{constructor(){this['_exportDir']=null;}get['exportDir'](){const _0xd1a3d3=a0_0x4caf5e,_0x2fa587={'WpUeR':_0xd1a3d3(0x16f),'zkSvM':'Export\x20service\x20initialized','HKTUC':function(_0x4f7b7f,_0x7dee0,_0x88c8f9,_0x1bc03e){return _0x4f7b7f(_0x7dee0,_0x88c8f9,_0x1bc03e);},'ECJbo':'export_service_init_error','KoZdI':'Failed\x20to\x20initialize\x20export\x20service'};if(!this[_0xd1a3d3(0x13d)]){const _0x457847=process['env']['RESTFORGE_PROJECT_NAME']||_0x2fa587['WpUeR'];this['_exportDir']=process['env']['EXPORT_DIR']||path['join'](__dirname,_0xd1a3d3(0x145)+_0x457847);try{!fsSync['existsSync'](this[_0xd1a3d3(0x13d)])&&fsSync[_0xd1a3d3(0x136)](this['_exportDir'],{'recursive':!![]}),logger['info']({'event':'export_service_init','dir':this['_exportDir']},_0x2fa587[_0xd1a3d3(0x166)]);}catch(_0x593eba){_0x2fa587['HKTUC'](logError,_0x593eba,{'event':_0x2fa587['ECJbo']},_0x2fa587[_0xd1a3d3(0x19d)]);}}return this[_0xd1a3d3(0x13d)];}['resolveExportQuery'](_0x2f3d2f,_0x46e80a=null){const _0x287c11=a0_0x4caf5e,_0xa863c9={'WOiNP':_0x287c11(0x199),'CsNuI':_0x287c11(0x19a)};if(!_0x2f3d2f||typeof _0x2f3d2f!==_0x287c11(0x1a7))return _0x2f3d2f;const _0x3f6b8a=_0x2f3d2f[_0x287c11(0x131)]();if(!_0x3f6b8a['startsWith'](_0x287c11(0x153)))return _0x3f6b8a;const _0x59ebd0=_0x3f6b8a[_0x287c11(0x163)](/^file:/,'')[_0x287c11(0x131)]();if(!_0x59ebd0)throw new Error(_0xa863c9['WOiNP']);const _0x521a60=_0x46e80a||path[_0x287c11(0x13b)](process['cwd'](),'payload'),_0x5487e7=path['resolve'](_0x521a60,_0x59ebd0);logger[_0x287c11(0x12e)]({'event':_0x287c11(0x19c),'relativePath':_0x59ebd0,'baseDir':_0x521a60,'absolutePath':_0x5487e7},_0x287c11(0x181)+_0x59ebd0);if(!fsSync['existsSync'](_0x5487e7))throw new Error(_0x287c11(0x183)+_0x5487e7);try{const _0x146e8f=fsSync['readFileSync'](_0x5487e7,_0x287c11(0x138));if(!_0x146e8f||!_0x146e8f[_0x287c11(0x131)]())throw new Error(_0x287c11(0x1a5)+_0x5487e7);return logger['info']({'event':'export_query_file_loaded','file':_0x5487e7,'queryLength':_0x146e8f[_0x287c11(0x178)]},'Loaded\x20SQL\x20query\x20from\x20file\x20('+_0x146e8f[_0x287c11(0x178)]+'\x20chars)'),_0x146e8f[_0x287c11(0x131)]();}catch(_0xf933bd){if(_0xf933bd['code']===_0xa863c9[_0x287c11(0x16c)])throw new Error(_0x287c11(0x183)+_0x5487e7);throw new Error('Failed\x20to\x20read\x20export\x20query\x20file:\x20'+_0xf933bd[_0x287c11(0x1a4)]);}}[a0_0x4caf5e(0x14b)](){const _0x5d104e=a0_0x4caf5e,_0x57db8c={'CQudS':function(_0x114902){return _0x114902();},'zZoeD':function(_0x49ea2d,_0x18858f){return _0x49ea2d+_0x18858f;},'npMLQ':function(_0x495a1b,_0x53a37d){return _0x495a1b<_0x53a37d;},'cBNUu':function(_0x1c4f9c,_0x156be5){return _0x1c4f9c*_0x156be5;}},_0x3bb95c='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0x489b25=Date['now']()[_0x5d104e(0x177)](0x24),_0x4b837d=_0x57db8c['CQudS'](uuidv7)['replace'](/-/g,'')[_0x5d104e(0x19e)](0x0,0xc-_0x489b25[_0x5d104e(0x178)]),_0x4c1781=_0x57db8c['zZoeD'](_0x489b25,_0x4b837d)['substring'](0x0,0xc);let _0x7fabf6='';for(let _0x2c3e52=0x0;_0x57db8c['npMLQ'](_0x2c3e52,0xc);_0x2c3e52++){_0x4c1781[_0x2c3e52]?_0x7fabf6+=_0x4c1781[_0x2c3e52]:_0x7fabf6+=_0x3bb95c[_0x5d104e(0x1b6)](Math[_0x5d104e(0x13a)](_0x57db8c['cBNUu'](Math['random'](),_0x3bb95c[_0x5d104e(0x178)])));}return _0x7fabf6;}async['createJob'](_0x2a00fa){const _0x2a23b6=a0_0x4caf5e,_0x3c5fe7={'fTaaZ':function(_0x24532d,_0x3bfd25,_0x51d62e,_0x18b104){return _0x24532d(_0x3bfd25,_0x51d62e,_0x18b104);},'CheTO':_0x2a23b6(0x18f),'cfiqk':_0x2a23b6(0x16b),'kkHvR':'export_job_created','fRVhg':_0x2a23b6(0x164),'Cpnyj':_0x2a23b6(0x196)},_0x467600=this[_0x2a23b6(0x14b)](),_0xc5c2e1={'job_id':_0x467600,'status':'pending','progress':0x0,'created_at':new Date()[_0x2a23b6(0x1b9)](),'params':_0x2a00fa,'total_rows':0x0,'processed_rows':0x0};return await redisHelper[_0x2a23b6(0x192)](_0x467600,_0xc5c2e1),logger['info']({'event':_0x3c5fe7['kkHvR'],'jobId':_0x467600,'params':_0x2a00fa},_0x3c5fe7['fRVhg']),this[_0x2a23b6(0x174)](_0x467600,_0x2a00fa)['catch'](_0x136841=>{const _0x3eede3=_0x2a23b6;_0x3c5fe7[_0x3eede3(0x137)](logError,_0x136841,{'event':_0x3c5fe7[_0x3eede3(0x188)],'jobId':_0x467600},_0x3c5fe7['cfiqk']);}),{'job_id':_0x467600,'status':_0x3c5fe7['Cpnyj']};}async['getJobStatus'](_0x494502){const _0x55db1f=a0_0x4caf5e,_0x425f7c=await redisHelper[_0x55db1f(0x1a9)](_0x494502);if(!_0x425f7c)return{'success':![],'error':_0x55db1f(0x14f)};return{'success':!![],'data':{'job_id':_0x425f7c['job_id'],'status':_0x425f7c[_0x55db1f(0x17d)],'progress':_0x425f7c['progress'],'total_rows':_0x425f7c['total_rows'],'processed_rows':_0x425f7c['processed_rows'],'file_url':_0x425f7c['status']==='completed'?'/api/'+_0x425f7c[_0x55db1f(0x168)]['moduleName']+'/'+_0x425f7c['params'][_0x55db1f(0x158)]+'/export-download?job_id='+_0x494502:null,'error':_0x425f7c[_0x55db1f(0x171)]||null,'created_at':_0x425f7c[_0x55db1f(0x151)],'completed_at':_0x425f7c[_0x55db1f(0x13c)]||null}};}async['processJob'](_0x5ff393,_0x5382a1){const _0x311b3c=a0_0x4caf5e,_0x22c733={'Idawp':_0x311b3c(0x14d),'pedjQ':'export_completed','AiLkD':_0x311b3c(0x186),'sFKXD':function(_0x23a922,_0x32d6f4,_0x30d0d6,_0x198135){return _0x23a922(_0x32d6f4,_0x30d0d6,_0x198135);},'vxlQD':_0x311b3c(0x139)};try{await redisHelper[_0x311b3c(0x132)](_0x5ff393,{'status':_0x311b3c(0x195),'started_at':new Date()['toISOString']()}),logger[_0x311b3c(0x12e)]({'event':_0x311b3c(0x15b),'jobId':_0x5ff393},_0x22c733['Idawp']);const _0x342e47=await this[_0x311b3c(0x18d)](_0x5382a1);await redisHelper['updateJob'](_0x5ff393,{'total_rows':_0x342e47['length']});const _0x181fd6=await this['generateExcel'](_0x5ff393,_0x342e47,_0x5382a1);await redisHelper['updateJob'](_0x5ff393,{'status':_0x311b3c(0x173),'progress':0x64,'file_path':_0x181fd6,'completed_at':new Date()['toISOString']()}),logger['info']({'event':_0x22c733['pedjQ'],'jobId':_0x5ff393,'rows':_0x342e47[_0x311b3c(0x178)]},_0x22c733['AiLkD']);}catch(_0x2b0f9a){_0x22c733['sFKXD'](logError,_0x2b0f9a,{'event':_0x22c733[_0x311b3c(0x1b5)],'jobId':_0x5ff393},_0x311b3c(0x15a)),await redisHelper['updateJob'](_0x5ff393,{'status':_0x311b3c(0x189),'error':_0x2b0f9a[_0x311b3c(0x1a4)],'failed_at':new Date()[_0x311b3c(0x1b9)]()});}}async['fetchData'](_0x554c66){const _0x441224=a0_0x4caf5e,_0x1948c5={'bpCdo':function(_0x2b4882,_0x4de8e1){return _0x2b4882||_0x4de8e1;},'rXZDC':_0x441224(0x18a),'AffYB':'Using\x20auto-generated\x20query','cnfhL':'export_fetch_start','EgXhq':'Fetching\x20data\x20from\x20database','sSgSQ':function(_0x12e80c,_0x329069){return _0x12e80c(_0x329069);},'vMocf':function(_0x5c0b97,_0xffee0){return _0x5c0b97===_0xffee0;},'kJAlp':function(_0x21d7ee,_0x1af05a){return _0x21d7ee>_0x1af05a;},'akUuP':'Data\x20fetched\x20successfully','BeXqP':function(_0x1eb937,_0x2d3621,_0x432862,_0x118d83){return _0x1eb937(_0x2d3621,_0x432862,_0x118d83);}};try{const {tableName:_0x1d63c3,columns:_0x1f1054,exportQuery:_0x4dd954,where:_0x2c976d,sort_columns:_0x5f087a}=_0x554c66;if(_0x1948c5[_0x441224(0x182)](!_0x1d63c3,!_0x1f1054)||_0x1f1054['length']===0x0)throw new Error(_0x441224(0x12d));const _0x41805c=_0x1d63c3['replace'](/\./g,'_')+_0x1948c5['rXZDC'];let _0x33f4b2;if(_0x4dd954&&_0x4dd954['trim']()){let _0x8de61=_0x4dd954;_0x4dd954[_0x441224(0x131)]()['startsWith'](_0x441224(0x153))&&(_0x8de61=this[_0x441224(0x149)](_0x4dd954)),_0x33f4b2=_0x441224(0x17b)+_0x41805c+_0x441224(0x1a2)+_0x8de61+'\x0a)',_0x33f4b2+=_0x441224(0x143)+_0x41805c,logger[_0x441224(0x12e)]({'event':_0x441224(0x1b8),'query':_0x8de61['substring'](0x0,0x64)},'Using\x20custom\x20exportQuery');}else{const _0x2d3781=_0x1f1054['map'](_0x182625=>_0x441224(0x17c)+_0x182625)[_0x441224(0x13b)](',');_0x33f4b2=_0x441224(0x17b)+_0x41805c+_0x441224(0x1ab)+_0x2d3781+_0x441224(0x162)+_0x1d63c3+'\x0a)',_0x33f4b2+=_0x441224(0x143)+_0x41805c,logger[_0x441224(0x12e)]({'event':'export_using_auto_query','tableName':_0x1d63c3,'columnCount':_0x1f1054['length']},_0x1948c5[_0x441224(0x152)]);}if(_0x2c976d){const _0x33749c=this['buildWhereClause'](_0x2c976d);_0x33749c&&(_0x33f4b2+=_0x441224(0x1a8)+_0x33749c);}if(_0x5f087a&&_0x5f087a['length']>0x0){const _0x3fde28=this[_0x441224(0x1ad)](_0x5f087a);_0x3fde28&&(_0x33f4b2+='\x0aORDER\x20BY\x20'+_0x3fde28);}logger['info']({'event':_0x1948c5['cnfhL'],'query':_0x33f4b2['substring'](0x0,0xc8)},_0x1948c5[_0x441224(0x172)]);const _0xf2c44d=await _0x1948c5[_0x441224(0x1b2)](executeQuery,_0x33f4b2);let _0x2eb750=_0xf2c44d;return _0x1948c5['vMocf'](dbType,'oracle')&&_0xf2c44d&&_0x1948c5['kJAlp'](_0xf2c44d[_0x441224(0x178)],0x0)&&(_0x2eb750=_0xf2c44d['map'](_0x4757d1=>{const _0x4cb251=_0x441224,_0x3a40db={};for(const [_0x3fcda8,_0x4a985f]of Object[_0x4cb251(0x191)](_0x4757d1)){_0x3a40db[_0x3fcda8['toLowerCase']()]=_0x4a985f;}return _0x3a40db;})),logger['info']({'event':'export_fetch_complete','rows':_0x2eb750[_0x441224(0x178)]},_0x1948c5[_0x441224(0x14e)]),_0x2eb750;}catch(_0x140e45){_0x1948c5['BeXqP'](logError,_0x140e45,{'event':'export_fetch_error'},_0x441224(0x141));throw _0x140e45;}}[a0_0x4caf5e(0x19b)](_0xa34662){const _0x531d53=a0_0x4caf5e,_0x284871={'nLaxw':function(_0x4127ca,_0x46bc0d){return _0x4127ca===_0x46bc0d;},'uhLym':_0x531d53(0x1a7)};if(_0x284871[_0x531d53(0x140)](typeof _0xa34662,_0x284871['uhLym']))return _0xa34662[_0x531d53(0x163)](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')['trim']();else{if(Array['isArray'](_0xa34662))return _0xa34662['map'](_0x2c15aa=>this[_0x531d53(0x19b)](_0x2c15aa));}return _0xa34662;}['buildWhereClause'](_0xd678d1){const _0x5461b1=a0_0x4caf5e,_0x35b94e={'aYTBF':function(_0x3cc710,_0x2967cc){return _0x3cc710||_0x2967cc;},'mArnZ':'Skipping\x20invalid\x20condition','NbsPx':function(_0x1945eb,_0x55e175){return _0x1945eb!==_0x55e175;},'vlAtP':function(_0x46e93f,_0x30ba41){return _0x46e93f===_0x30ba41;},'BXslT':'string','NVMsr':'LIKE','sWfpd':'NOT\x20LIKE','KNFej':'Unknown\x20operator,\x20using\x20=\x20as\x20default','TAZSs':function(_0xd85f5e,_0x2d9941){return _0xd85f5e===_0x2d9941;}};if(!_0xd678d1||!_0xd678d1['conditions']||_0x35b94e[_0x5461b1(0x14c)](_0xd678d1[_0x5461b1(0x18c)][_0x5461b1(0x178)],0x0))return'';const {logic:_0x410334,conditions:_0x10a91e}=_0xd678d1,_0x29a122=_0x410334&&_0x35b94e[_0x5461b1(0x14c)](_0x410334[_0x5461b1(0x157)](),'OR')?'\x20OR\x20':_0x5461b1(0x187),_0x2721f6=_0x10a91e['map'](_0xde4caa=>{const _0x2225bd=_0x5461b1,_0x531dd9={'LUfsi':'string'},{key:_0x2566ac,operator:_0x59fe21,value:_0x5efbb8,sensitive:_0xf2ad7b}=_0xde4caa;if(_0x35b94e[_0x2225bd(0x1b4)](!_0x2566ac,!_0x59fe21))return logger[_0x2225bd(0x18b)]({'event':_0x2225bd(0x18e),'condition':_0xde4caa},_0x35b94e['mArnZ']),null;const _0x46b548=this['sanitizeValue'](_0x5efbb8),_0x5ce16b=_0x35b94e[_0x2225bd(0x1aa)](_0xf2ad7b,undefined)?_0xf2ad7b:!![];let _0x5323be=_0x2566ac,_0x5e2ca0=_0x46b548;!_0x5ce16b&&(_0x5323be='UPPER('+_0x2566ac+')',_0x35b94e[_0x2225bd(0x19f)](typeof _0x5efbb8,_0x35b94e['BXslT'])&&(_0x5e2ca0=_0x5efbb8[_0x2225bd(0x157)]()));const _0x118a35=typeof _0x5e2ca0==='string'?'\x27'+_0x5e2ca0['replace'](/'/g,'\x27\x27')+'\x27':_0x5e2ca0;switch(_0x59fe21[_0x2225bd(0x157)]()){case'=':case'!=':case'<>':return _0x5323be+'\x20'+_0x59fe21+'\x20'+_0x118a35;case'>':case'<':case'>=':case'<=':const _0x11822c=typeof _0x46b548===_0x2225bd(0x1a7)?'\x27'+_0x46b548[_0x2225bd(0x163)](/'/g,'\x27\x27')+'\x27':_0x46b548;return _0x2566ac+'\x20'+_0x59fe21+'\x20'+_0x11822c;case _0x35b94e[_0x2225bd(0x1af)]:case _0x35b94e['sWfpd']:return _0x5323be+'\x20'+_0x59fe21+'\x20'+_0x118a35;case'IN':if(Array['isArray'](_0x46b548)){let _0x47c8e3;return!_0x5ce16b?_0x47c8e3=_0x46b548[_0x2225bd(0x16e)](_0xf2a56c=>{const _0x1a6ab5=_0x2225bd,_0x5a259b=typeof _0xf2a56c==='string'?_0xf2a56c[_0x1a6ab5(0x157)]():_0xf2a56c;return typeof _0x5a259b===_0x531dd9['LUfsi']?'\x27'+_0x5a259b['replace'](/'/g,'\x27\x27')+'\x27':_0x5a259b;})['join'](',\x20'):_0x47c8e3=_0x46b548['map'](_0x4a1de0=>typeof _0x4a1de0==='string'?'\x27'+_0x4a1de0[_0x2225bd(0x163)](/'/g,'\x27\x27')+'\x27':_0x4a1de0)[_0x2225bd(0x13b)](',\x20'),_0x5323be+'\x20IN\x20('+_0x47c8e3+')';}return _0x5323be+'\x20IN\x20('+_0x118a35+')';case _0x2225bd(0x133):return _0x2566ac+'\x20IS\x20NULL';case _0x2225bd(0x179):return _0x2566ac+_0x2225bd(0x144);default:logger['warn']({'event':'unknown_operator','operator':_0x59fe21},_0x35b94e['KNFej']);return _0x5323be+_0x2225bd(0x12f)+_0x118a35;}})['filter'](_0x1f24f1=>_0x1f24f1!==null);if(_0x35b94e[_0x5461b1(0x19f)](_0x2721f6[_0x5461b1(0x178)],0x0))return'';return _0x2721f6[_0x5461b1(0x13b)](_0x29a122);}[a0_0x4caf5e(0x1ad)](_0x57949b){const _0x294806=a0_0x4caf5e,_0x19989d={'asRXH':_0x294806(0x16d),'PxUif':'Skipping\x20invalid\x20sort\x20column','GsVzs':'DESC','iwQrR':'ASC','oGOPI':function(_0xcf6db8,_0x442257){return _0xcf6db8===_0x442257;},'Jyyam':function(_0x1d969d,_0x22c55b){return _0x1d969d===_0x22c55b;}};if(!_0x57949b||_0x19989d[_0x294806(0x1a0)](_0x57949b['length'],0x0))return'';const _0x1aed98=_0x57949b['map'](_0x4d7333=>{const _0x28d20c=_0x294806,{column:_0x2a1325,direction:_0xcefb91}=_0x4d7333;if(!_0x2a1325)return logger['warn']({'event':_0x19989d['asRXH'],'item':_0x4d7333},_0x19989d[_0x28d20c(0x167)]),null;const _0x401ccd=_0xcefb91&&_0xcefb91['toUpperCase']()===_0x19989d['GsVzs']?'DESC':_0x19989d[_0x28d20c(0x13f)];return _0x2a1325+'\x20'+_0x401ccd;})[_0x294806(0x134)](_0x1f8423=>_0x1f8423!==null);if(_0x19989d[_0x294806(0x194)](_0x1aed98['length'],0x0))return'';return _0x1aed98['join'](',\x20');}async[a0_0x4caf5e(0x1bc)](_0x36462d,_0x3c96f4,_0xa91bec){const _0x5e66d4=a0_0x4caf5e,_0x123229={'eikUc':function(_0x563b50,_0x572f3e){return _0x563b50*_0x572f3e;},'UmiEV':_0x5e66d4(0x1a3),'uWOfg':function(_0x3b912f,_0x878acc){return _0x3b912f===_0x878acc;},'toPnV':function(_0x47c2cd,_0x328725){return _0x47c2cd>_0x328725;},'drwvg':'excel_columns_from_query_result','RrCqw':_0x5e66d4(0x16a)},_0x603dd9=require(_0x123229[_0x5e66d4(0x17a)]),_0x17f2b6=new _0x603dd9(),_0x2bf651=_0xa91bec['filename']?_0xa91bec['filename']+'-'+_0x36462d:'export-'+_0x36462d,_0x1805f5=path[_0x5e66d4(0x13b)](this['exportDir'],_0x2bf651+'.xlsx');let _0x456e0d=_0xa91bec[_0x5e66d4(0x13e)];const _0x489672=_0xa91bec[_0x5e66d4(0x17f)]&&_0xa91bec[_0x5e66d4(0x17f)][_0x5e66d4(0x131)](),_0x4064a3=_0x456e0d&&_0x456e0d['length']===0x1&&(_0x456e0d[0x0]==='*'||_0x123229['uWOfg'](_0x456e0d[0x0]['toLowerCase'](),'all'));if(_0x3c96f4['length']>0x0){const _0x565351=Object[_0x5e66d4(0x175)](_0x3c96f4[0x0]);if(_0x489672)_0x456e0d=_0x565351,logger['info']({'event':_0x5e66d4(0x14a),'columns':_0x456e0d},_0x5e66d4(0x193)+_0x456e0d[_0x5e66d4(0x178)]+'\x20columns\x20from\x20custom\x20exportQuery\x20result');else{if(_0x4064a3)_0x456e0d=_0x565351,logger['info']({'event':_0x5e66d4(0x156),'columns':_0x456e0d},'Using\x20all\x20'+_0x456e0d['length']+_0x5e66d4(0x15c));else{if(_0x456e0d&&_0x123229[_0x5e66d4(0x1a1)](_0x456e0d[_0x5e66d4(0x178)],0x0)){const _0xc24b55=_0x456e0d['filter'](_0x7f3d2e=>_0x565351['includes'](_0x7f3d2e));_0xc24b55['length']>0x0?(_0x456e0d=_0xc24b55,logger[_0x5e66d4(0x12e)]({'event':_0x5e66d4(0x198),'requestedColumns':_0xa91bec[_0x5e66d4(0x13e)],'validColumns':_0x456e0d},_0x5e66d4(0x193)+_0x456e0d[_0x5e66d4(0x178)]+_0x5e66d4(0x1a6))):(_0x456e0d=_0x565351,logger[_0x5e66d4(0x18b)]({'event':'excel_columns_fallback','requestedColumns':_0xa91bec[_0x5e66d4(0x13e)],'availableColumns':_0x565351},_0x5e66d4(0x15e)+_0x565351[_0x5e66d4(0x178)]+'\x20columns'));}else _0x456e0d=_0x565351,logger[_0x5e66d4(0x12e)]({'event':_0x123229['drwvg'],'columns':_0x456e0d},_0x5e66d4(0x193)+_0x456e0d[_0x5e66d4(0x178)]+_0x5e66d4(0x1ba));}}}else logger['info']({'event':_0x123229['RrCqw'],'columns':_0x456e0d},'Using\x20'+(_0x456e0d?.[_0x5e66d4(0x178)]||0x0)+_0x5e66d4(0x184));return await _0x17f2b6[_0x5e66d4(0x1bb)]({'data':_0x3c96f4,'columns':_0x456e0d,'columnFormats':_0xa91bec[_0x5e66d4(0x159)]||null,'fieldLabels':_0xa91bec['fieldLabels']||null,'filePath':_0x1805f5,'onProgress':async _0x39a013=>{const _0x2a2190=_0x5e66d4;await redisHelper[_0x2a2190(0x132)](_0x36462d,{'progress':Math[_0x2a2190(0x161)](_0x39a013),'processed_rows':Math['round'](_0x123229['eikUc'](_0x39a013/0x64,_0x3c96f4[_0x2a2190(0x178)]))});}}),_0x1805f5;}async[a0_0x4caf5e(0x154)](_0x4a1d15){const _0x11f60b=a0_0x4caf5e,_0x10e651={'XfKPH':'export_file_not_found'},_0x3daab8=await redisHelper['getJob'](_0x4a1d15);if(!_0x3daab8||_0x3daab8[_0x11f60b(0x17d)]!=='completed')return null;try{return await fs[_0x11f60b(0x160)](_0x3daab8[_0x11f60b(0x1ac)]),_0x3daab8['file_path'];}catch(_0x51c39e){return logError(_0x51c39e,{'event':_0x10e651[_0x11f60b(0x185)],'jobId':_0x4a1d15,'path':_0x3daab8[_0x11f60b(0x1ac)]},_0x11f60b(0x1b7)),null;}}async['cleanup'](){const _0x580066=a0_0x4caf5e,_0x39e801={'AjawS':'export_cleanup_start','onLKN':'Starting\x20export\x20cleanup','nkyPO':function(_0x2a3680,_0x4085da){return _0x2a3680-_0x4085da;},'QGxvm':_0x580066(0x148),'Tlxmn':'export_cleanup_complete'};logger[_0x580066(0x12e)]({'event':_0x39e801[_0x580066(0x15f)]},_0x39e801['onLKN']);const _0x148ef2=await redisHelper[_0x580066(0x147)]();let _0x16816c=0x0;for(const _0x463eb1 of _0x148ef2){const _0x363ac1=new Date(_0x463eb1[_0x580066(0x151)]),_0x138b06=new Date(),_0x935ec9=_0x39e801[_0x580066(0x1b1)](_0x138b06,_0x363ac1)/(0x3e8*0x3c*0x3c);if(_0x935ec9>0x1){if(_0x463eb1['file_path'])try{await fs['unlink'](_0x463eb1['file_path']),logger[_0x580066(0x12e)]({'event':'export_file_deleted','path':_0x463eb1['file_path']},_0x39e801[_0x580066(0x150)]);}catch(_0x24ef3c){logger[_0x580066(0x18b)]({'event':'export_file_delete_error','path':_0x463eb1[_0x580066(0x1ac)],'error':_0x24ef3c[_0x580066(0x1a4)]},'Failed\x20to\x20delete\x20export\x20file');}await redisHelper['deleteJob'](_0x463eb1['job_id']),_0x16816c++;}}return logger[_0x580066(0x12e)]({'event':_0x39e801['Tlxmn'],'deleted':_0x16816c},'Export\x20cleanup\x20completed'),_0x16816c;}}module['exports']=new ExportService();
1
+ function a0_0x2d99(){const _0x1ab7b7=['rxHWB3j0igzPBguGzgvSzxrLza','zxHWB3j0x2nSzwfUDxbFC3rHCNq','mM1brM5IsW','y29SDw1UCW','A3vNq0K','BgvUz3rO','lI4VlI4VzxHWB3j0CY8','y29TCgXLDgvK','CM91BMq','nda0ndCYuxHTDeTd','DgDes1a','zxHWB3j0x2zHAwXLza','ignVBhvTBNm','y3jLyxrLzf9HDa','ignVBhvTBNmGzNjVBsbJDxn0B20GzxHWB3j0uxvLCNKGCMvZDwX0','rMfPBgvKihrVigzLDgnOigrHDge','zxHWB3j0x2nVBxbSzxrLza','C3rHDhvZ','DfPpEfa','Aw5MBW','BM93','rxHWB3j0ignSzwfUDxaGy29TCgXLDgvK','cIaGicaGicaG','CgvUzgLUzW','CMfUzg9T','C3rYAw5N','r1zjCKK','l2fWAs8','wwTYrhq','vxnPBMCGy3vZDg9Tigv4Cg9YDff1zxj5','x2v4Cg9YDerPCG','A0XAuNq','rMfPBgvKihrVigrLBgv0zsbLEhbVCNqGzMLSzq','AM9PBG','C2fUAxrPEMvwywX1zq','q1fksLC','EwnXBfq','zxHJzwXFy29SDw1UC19MywXSyMfJAW','zMLSDgvY','rxHWB3j0ihnLCNzPy2uGAw5PDgLHBgL6zwq','ChjVy2vZC2LUzW','Dg9mB3DLCKnHC2u','ChjVz3jLC3m','rxHWB3j0igPVyIbJCMvHDgvK','AM9Ix2LK','z2jHvum','Dg9vChbLCKnHC2u','s0fsr0O','mtfeAKLPrKm','mJi0ofzbEMfcwG','D1z2wvK','u2TPChbPBMCGAw52ywXPzcbZB3j0ignVBhvTBG','zxHWB3j0x2zLDgnOx3n0yxj0','mtu0ntGXmeTIz0rjrW','mZu3mhHTBufbBW','Cgf0Aa','zwDfBe0','ChjVy2vZC0PVyG','z2vUzxjHDgvkB2jjza','id0G','zxHWB3j0x3f1zxj5x2zPBgvFBg9HzgvK','rxHWB3j0igzPBguGBM90igzVDw5K','we9Iyvu','wKzOv1e','l2v4Cg9YDc1KB3DUBg9Hzd9QB2jFAwq9','z2v0sM9I','Dg9ju09tDhjPBMC','iefticGkicaGia','lI4VDxrPBhmVzgi','Aw52ywXPzf9JB25KAxrPB24','mJC5otCZogXIuLDeBW','D2fYBG','rxHWB3j0ihf1zxj5igzPBguGBM90igzVDw5KoIa','mteYmZG4uvHrqMXV','revtqW','AM5rB3e','DhjPBq','vxnPBMCG','wMzpu3K','y3jLyxrLsM9I','A2v5CW','rMfPBgvKihrVigLUAxrPywXPEMuGzxHWB3j0ihnLCNzPy2u','z2v0rMLSzvbHDgG','rejFvfLqrq','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','vLjHvfO','zNbmv08','mJyWoty3r0Xhs0nA','vw5RBM93BIbVCgvYyxrVCIWGDxnPBMCGpsbHCYbKzwzHDwX0','odi1mZaYmfDrtNbNCW','yNvPBgrxAgvYzunSyxvZzq','ieforca','zxHPC3rZu3LUyW','rMfPBgvKihrVihjLywqGzxHWB3j0ihf1zxj5igzPBgu6ia','zxHWB3j0uxvLCNK','zxHJzwXFy29SDw1UC19ZzwXLy3rFywXS','CMvWBgfJzq','z2vUzxjHDgvfEgnLBa','tNvwDgm','zg1MqxO','BwfW','z2v0qwXSsM9ICW','ywnJzxnZ','zgvMyxvSDa','AxnbCNjHEq','rg5Rz0K','ignOyxjZkq','DwHjywG','rKHlqKS','zMLSzw5HBwu','zMLSzv9WyxrO','teLlrq','DxbKyxrLsM9I','y3DK','DLf1tw8','uMvZB2X2Aw5Nigv4Cg9YDff1zxj5igzYB20GzMLSztOG','ChjVBwLZzxm','ruDjBKG','zxHWB3j0x2nSzwfUDxbFy29TCgXLDgu','CMvHzezPBgvtEw5J','q2LlA0e','zw52','zxHWB3j0x2zLDgnOx2vYCM9Y','ignVBhvTBNmGzNjVBsbYzxf1zxn0','zMLLBgrmywjLBhm','Bw9KDwXLtMfTzq','iefticGkicaGifnftevdvca','z0XlsNu','vvbqrviO','zxHLy3v0zvf1zxj5','y2HHCKf0','y2XLyw51Ca','Dg11tMC','rxHWB3j0ihbYB2nLC3nPBMCGzMfPBgvK','cIaGicbguK9nia','CgfYyw1Z','lI4VDxrPBhmVBg9Nz2vY','q2jJuLC','lNHSC3G','CMvZB2X2zuv4Cg9YDff1zxj5','BwvZC2fNzq','Ehb4Ewi','nNbLrgXpDG','BxLZCwW','DxrMoa','Dg90ywXFCM93CW','ieLtie5vteW','tLjUtNi','y1zTzhG','yMnbuxe','zxHWB3j0x2zLDgnOx2nVBxbSzxrL','C3vIC3rYAw5N','rvHqt1jux0rjuG','rMXzC0e','zw5KCg9PBNroyw1L','y29SDw1UrM9YBwf0CW'];a0_0x2d99=function(){return _0x1ab7b7;};return a0_0x2d99();}const a0_0x281a3e=a0_0x5281;(function(_0x4ec071,_0x2c469e){const _0x390c4f=a0_0x5281,_0xa6bd05=_0x4ec071();while(!![]){try{const _0x14cd95=parseInt(_0x390c4f(0xd6))/0x1*(parseInt(_0x390c4f(0x11d))/0x2)+-parseInt(_0x390c4f(0x124))/0x3+-parseInt(_0x390c4f(0xc8))/0x4+parseInt(_0x390c4f(0xb4))/0x5*(-parseInt(_0x390c4f(0x10d))/0x6)+-parseInt(_0x390c4f(0xb5))/0x7*(parseInt(_0x390c4f(0xb0))/0x8)+-parseInt(_0x390c4f(0xc5))/0x9+-parseInt(_0x390c4f(0xd8))/0xa*(-parseInt(_0x390c4f(0xaf))/0xb);if(_0x14cd95===_0x2c469e)break;else _0xa6bd05['push'](_0xa6bd05['shift']());}catch(_0x6b443a){_0xa6bd05['push'](_0xa6bd05['shift']());}}}(a0_0x2d99,0x27032));const {v7:uuidv7}=require('uuid'),path=require(a0_0x281a3e(0xb6)),fs=require('fs')[a0_0x281a3e(0xf3)],fsSync=require('fs'),redisHelper=require(a0_0x281a3e(0xd3)),{logger,logError}=require(a0_0x281a3e(0x107)),dbType=(process['env'][a0_0x281a3e(0xd2)]||'postgresql')['toLowerCase']();function a0_0x5281(_0x37396f,_0x109aaa){_0x37396f=_0x37396f-0x91;const _0x2d99e5=a0_0x2d99();let _0x52813d=_0x2d99e5[_0x37396f];if(a0_0x5281['mRVimQ']===undefined){var _0x17570c=function(_0x19f70c){const _0x567b3e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x185d09='',_0x448705='';for(let _0x4a898a=0x0,_0x312312,_0x3470ca,_0xf465d3=0x0;_0x3470ca=_0x19f70c['charAt'](_0xf465d3++);~_0x3470ca&&(_0x312312=_0x4a898a%0x4?_0x312312*0x40+_0x3470ca:_0x3470ca,_0x4a898a++%0x4)?_0x185d09+=String['fromCharCode'](0xff&_0x312312>>(-0x2*_0x4a898a&0x6)):0x0){_0x3470ca=_0x567b3e['indexOf'](_0x3470ca);}for(let _0x3c984e=0x0,_0x412515=_0x185d09['length'];_0x3c984e<_0x412515;_0x3c984e++){_0x448705+='%'+('00'+_0x185d09['charCodeAt'](_0x3c984e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x448705);};a0_0x5281['LRMEmt']=_0x17570c,a0_0x5281['JkxFyu']={},a0_0x5281['mRVimQ']=!![];}const _0x10ae7a=_0x2d99e5[0x0],_0x9a9404=_0x37396f+_0x10ae7a,_0x5e92ef=a0_0x5281['JkxFyu'][_0x9a9404];return!_0x5e92ef?(_0x52813d=a0_0x5281['LRMEmt'](_0x52813d),a0_0x5281['JkxFyu'][_0x9a9404]=_0x52813d):_0x52813d=_0x5e92ef,_0x52813d;}let executeQuery;if(dbType==='oracle'){const oracleDb=require('../utils/db-oracle');executeQuery=(_0x47c36e,_0x49c83d)=>oracleDb[a0_0x281a3e(0x100)](_0x47c36e,_0x49c83d);}else{if(dbType===a0_0x281a3e(0x10e)){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x4f18ef,_0x50b5ec)=>mysqlDb[a0_0x281a3e(0x100)](_0x4f18ef,_0x50b5ec);}else executeQuery=require(a0_0x281a3e(0xc3))[a0_0x281a3e(0x100)];}class ExportService{constructor(){this['_exportDir']=null;}get['exportDir'](){const _0x58e2e1=a0_0x281a3e,_0x3df11c={'PKqNb':_0x58e2e1(0xe6),'yHKSK':'export_service_init_error','DvaAM':_0x58e2e1(0xd0)};if(!this['_exportDir']){const _0x5ea7f6=process[_0x58e2e1(0xf8)]['RESTFORGE_PROJECT_NAME']||_0x3df11c['PKqNb'];this[_0x58e2e1(0x9d)]=process['env'][_0x58e2e1(0x117)]||path['join'](__dirname,_0x58e2e1(0x121)+_0x5ea7f6);try{!fsSync['existsSync'](this[_0x58e2e1(0x9d)])&&fsSync['mkdirSync'](this['_exportDir'],{'recursive':!![]}),logger['info']({'event':'export_service_init','dir':this['_exportDir']},_0x58e2e1(0xa6));}catch(_0x1a08c1){logError(_0x1a08c1,{'event':_0x3df11c['yHKSK']},_0x3df11c['DvaAM']);}}return this[_0x58e2e1(0x9d)];}[a0_0x281a3e(0x10a)](_0x1539c8,_0x4b2592=null){const _0x155241=a0_0x281a3e,_0x939aae={'GVIrI':'string','izPDf':_0x155241(0x10f),'ozzIt':function(_0x4c0737,_0x4cb2fa){return _0x4c0737===_0x4cb2fa;}};if(!_0x1539c8||typeof _0x1539c8!==_0x939aae[_0x155241(0x99)])return _0x1539c8;const _0x2903d3=_0x1539c8['trim']();if(!_0x2903d3['startsWith']('file:'))return _0x2903d3;const _0x34682f=_0x2903d3['replace'](/^file:/,'')[_0x155241(0xcb)]();if(!_0x34682f)throw new Error('Invalid\x20file:\x20reference\x20-\x20path\x20is\x20empty');const _0x1334fb=_0x4b2592||path['join'](process[_0x155241(0xf0)](),'payload'),_0x315dda=path['resolve'](_0x1334fb,_0x34682f);logger['info']({'event':'export_query_file_resolve','relativePath':_0x34682f,'baseDir':_0x1334fb,'absolutePath':_0x315dda},_0x155241(0xf2)+_0x34682f);if(!fsSync[_0x155241(0xdb)](_0x315dda))throw new Error(_0x155241(0xc7)+_0x315dda);try{const _0x123967=fsSync[_0x155241(0xf6)](_0x315dda,_0x939aae['izPDf']);if(!_0x123967||!_0x123967['trim']())throw new Error('Export\x20query\x20file\x20is\x20empty:\x20'+_0x315dda);return logger[_0x155241(0x92)]({'event':_0x155241(0xbb),'file':_0x315dda,'queryLength':_0x123967[_0x155241(0x120)]},'Loaded\x20SQL\x20query\x20from\x20file\x20('+_0x123967[_0x155241(0x120)]+_0x155241(0xe9)),_0x123967['trim']();}catch(_0x367fa3){if(_0x939aae['ozzIt'](_0x367fa3['code'],'ENOENT'))throw new Error('Export\x20query\x20file\x20not\x20found:\x20'+_0x315dda);throw new Error(_0x155241(0xdc)+_0x367fa3['message']);}}[a0_0x281a3e(0xb9)](){const _0x420694=a0_0x281a3e,_0x7881c7={'tZOxP':function(_0x1044d6){return _0x1044d6();},'XUcuR':function(_0x29524,_0x3faef3){return _0x29524-_0x3faef3;},'CiKkA':function(_0x4043eb,_0x3a6311){return _0x4043eb+_0x3a6311;},'hHrko':function(_0x40628b,_0xe4b901){return _0x40628b<_0xe4b901;}},_0x3b91b3='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0x44a18b=Date[_0x420694(0x93)]()['toString'](0x24),_0x31f44b=_0x7881c7[_0x420694(0x91)](uuidv7)[_0x420694(0xdf)](/-/g,'')['substring'](0x0,_0x7881c7['XUcuR'](0xc,_0x44a18b[_0x420694(0x120)])),_0x21f75d=_0x7881c7[_0x420694(0xf7)](_0x44a18b,_0x31f44b)['substring'](0x0,0xc);let _0x14ca47='';for(let _0x3cd01f=0x0;_0x7881c7['hHrko'](_0x3cd01f,0xc);_0x3cd01f++){_0x21f75d[_0x3cd01f]?_0x14ca47+=_0x21f75d[_0x3cd01f]:_0x14ca47+=_0x3b91b3[_0x420694(0x101)](Math['floor'](Math[_0x420694(0x97)]()*_0x3b91b3[_0x420694(0x120)]));}return _0x14ca47;}async[a0_0x281a3e(0xce)](_0x40c7aa){const _0x3d98ad=a0_0x281a3e,_0x2a2561={'aIXdp':function(_0x38487a,_0xb7d2a0,_0x1722f0,_0x3336a3){return _0x38487a(_0xb7d2a0,_0x1722f0,_0x3336a3);},'iSaDa':'export_process_error','FlYsA':_0x3d98ad(0x96),'CQJJW':_0x3d98ad(0xaa)},_0x4daf91=this[_0x3d98ad(0xb9)](),_0x4e46e1={'job_id':_0x4daf91,'status':_0x2a2561[_0x3d98ad(0x118)],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x40c7aa,'total_rows':0x0,'processed_rows':0x0};return await redisHelper['setJob'](_0x4daf91,_0x4e46e1),logger['info']({'event':'export_job_created','jobId':_0x4daf91,'params':_0x40c7aa},_0x2a2561[_0x3d98ad(0xa2)]),this[_0x3d98ad(0xb8)](_0x4daf91,_0x40c7aa)['catch'](_0x5f2db0=>{const _0x591780=_0x3d98ad;_0x2a2561['aIXdp'](logError,_0x5f2db0,{'event':_0x2a2561['iSaDa'],'jobId':_0x4daf91},_0x591780(0x104));}),{'job_id':_0x4daf91,'status':_0x3d98ad(0x96)};}async['getJobStatus'](_0x219550){const _0x500ee3=a0_0x281a3e,_0x520d47={'VbWmO':'completed'},_0x1f4321=await redisHelper[_0x500ee3(0xc0)](_0x219550);if(!_0x1f4321)return{'success':![],'error':'Job\x20not\x20found\x20or\x20expired'};return{'success':!![],'data':{'job_id':_0x1f4321[_0x500ee3(0xab)],'status':_0x1f4321['status'],'progress':_0x1f4321[_0x500ee3(0xa9)],'total_rows':_0x1f4321[_0x500ee3(0x110)],'processed_rows':_0x1f4321['processed_rows'],'file_url':_0x1f4321['status']===_0x520d47['VbWmO']?_0x500ee3(0x9a)+_0x1f4321[_0x500ee3(0x106)][_0x500ee3(0xfc)]+'/'+_0x1f4321[_0x500ee3(0x106)][_0x500ee3(0x119)]+_0x500ee3(0xbf)+_0x219550:null,'error':_0x1f4321['error']||null,'created_at':_0x1f4321['created_at'],'completed_at':_0x1f4321['completed_at']||null}};}async[a0_0x281a3e(0xb8)](_0x25752a,_0x42b6eb){const _0x38555b=a0_0x281a3e,_0x4bbcfd={'OkmCY':'completed','tgDKP':_0x38555b(0x12b),'XObaU':'Export\x20completed\x20successfully','CbcRW':_0x38555b(0x126)};try{await redisHelper['updateJob'](_0x25752a,{'status':_0x38555b(0xa7),'started_at':new Date()[_0x38555b(0xc1)]()}),logger['info']({'event':'export_processing_start','jobId':_0x25752a},'Export\x20processing\x20started');const _0x39e7c9=await this['fetchData'](_0x42b6eb);await redisHelper[_0x38555b(0xef)](_0x25752a,{'total_rows':_0x39e7c9['length']});const _0x28f367=await this['generateExcel'](_0x25752a,_0x39e7c9,_0x42b6eb);await redisHelper['updateJob'](_0x25752a,{'status':_0x4bbcfd['OkmCY'],'progress':0x64,'file_path':_0x28f367,'completed_at':new Date()['toISOString']()}),logger[_0x38555b(0x92)]({'event':_0x4bbcfd[_0x38555b(0x125)],'jobId':_0x25752a,'rows':_0x39e7c9['length']},_0x4bbcfd[_0x38555b(0xbd)]);}catch(_0x19b0c7){logError(_0x19b0c7,{'event':_0x4bbcfd[_0x38555b(0x108)],'jobId':_0x25752a},'Export\x20failed'),await redisHelper[_0x38555b(0xef)](_0x25752a,{'status':'failed','error':_0x19b0c7[_0x38555b(0x10b)],'failed_at':new Date()['toISOString']()});}}async['fetchData'](_0x23d6c8){const _0x5c5cfa=a0_0x281a3e,_0x4f993a={'KARGJ':function(_0x4438ea,_0x336e7a){return _0x4438ea===_0x336e7a;},'uOLxU':function(_0x3ffda2,_0x3853b7){return _0x3ffda2+_0x3853b7;},'tmuNg':'file:','kLZRt':_0x5c5cfa(0x9c),'NTTMZ':'export_using_auto_query','fkOJg':_0x5c5cfa(0xb3),'fpLWO':'Fetching\x20data\x20from\x20database','FHKBK':function(_0x170336,_0x13347e){return _0x170336(_0x13347e);},'NuVtc':function(_0x46f268,_0x5d1ce8){return _0x46f268>_0x5d1ce8;},'jnQoq':_0x5c5cfa(0xf9)};try{const {tableName:_0x408c68,columns:_0x26a5fc,exportQuery:_0x3618d4,where:_0x1e49e2,sort_columns:_0x2e263e}=_0x23d6c8;if(!_0x408c68||!_0x26a5fc||_0x4f993a[_0x5c5cfa(0xae)](_0x26a5fc['length'],0x0))throw new Error('tableName\x20and\x20columns\x20are\x20required');const _0xd3fba9=_0x4f993a['uOLxU'](_0x408c68[_0x5c5cfa(0xdf)](/\./g,'_'),'_data');let _0x1c5180;if(_0x3618d4&&_0x3618d4[_0x5c5cfa(0xcb)]()){let _0x3916c2=_0x3618d4;_0x3618d4['trim']()['startsWith'](_0x4f993a[_0x5c5cfa(0x103)])&&(_0x3916c2=this[_0x5c5cfa(0x10a)](_0x3618d4)),_0x1c5180='WITH\x20'+_0xd3fba9+_0x5c5cfa(0xc2)+_0x3916c2+'\x0a)',_0x1c5180+='\x0aSELECT\x20*\x20FROM\x20'+_0xd3fba9,logger['info']({'event':'export_using_custom_query','query':_0x3916c2[_0x5c5cfa(0x116)](0x0,0x64)},_0x4f993a[_0x5c5cfa(0x9e)]);}else{const _0xe9cb99=_0x26a5fc['map'](_0x557c20=>_0x5c5cfa(0x95)+_0x557c20)['join'](',');_0x1c5180='WITH\x20'+_0xd3fba9+_0x5c5cfa(0xfd)+_0xe9cb99+_0x5c5cfa(0x105)+_0x408c68+'\x0a)',_0x1c5180+='\x0aSELECT\x20*\x20FROM\x20'+_0xd3fba9,logger['info']({'event':_0x4f993a['NTTMZ'],'tableName':_0x408c68,'columnCount':_0x26a5fc[_0x5c5cfa(0x120)]},'Using\x20auto-generated\x20query');}if(_0x1e49e2){const _0x239ddc=this[_0x5c5cfa(0xd9)](_0x1e49e2);_0x239ddc&&(_0x1c5180+='\x0aWHERE\x20'+_0x239ddc);}if(_0x2e263e&&_0x2e263e['length']>0x0){const _0x122f92=this['buildOrderByClause'](_0x2e263e);_0x122f92&&(_0x1c5180+='\x0aORDER\x20BY\x20'+_0x122f92);}logger[_0x5c5cfa(0x92)]({'event':_0x4f993a['fkOJg'],'query':_0x1c5180['substring'](0x0,0xc8)},_0x4f993a[_0x5c5cfa(0xd5)]);const _0x504b7a=await _0x4f993a[_0x5c5cfa(0xeb)](executeQuery,_0x1c5180);let _0x3fae89=_0x504b7a;return _0x4f993a['KARGJ'](dbType,'oracle')&&_0x504b7a&&_0x4f993a[_0x5c5cfa(0xe1)](_0x504b7a['length'],0x0)&&(_0x3fae89=_0x504b7a['map'](_0xd2d5d=>{const _0x34ed7c=_0x5c5cfa,_0x2b7057={};for(const [_0x2a8996,_0x47fa3b]of Object['entries'](_0xd2d5d)){_0x2b7057[_0x2a8996[_0x34ed7c(0xa8)]()]=_0x47fa3b;}return _0x2b7057;})),logger[_0x5c5cfa(0x92)]({'event':_0x5c5cfa(0x115),'rows':_0x3fae89[_0x5c5cfa(0x120)]},'Data\x20fetched\x20successfully'),_0x3fae89;}catch(_0xb6203c){logError(_0xb6203c,{'event':_0x4f993a[_0x5c5cfa(0xca)]},_0x5c5cfa(0x12a));throw _0xb6203c;}}[a0_0x281a3e(0xa1)](_0x279581){const _0x8d3111=a0_0x281a3e;if(typeof _0x279581===_0x8d3111(0x98))return _0x279581['replace'](/[\u200B-\u200D\uFEFF\u2060\u00AD]/g,'')[_0x8d3111(0xcb)]();else{if(Array['isArray'](_0x279581))return _0x279581['map'](_0xc9963f=>this['sanitizeValue'](_0xc9963f));}return _0x279581;}[a0_0x281a3e(0xd9)](_0x4e4cc7){const _0x44ad0a=a0_0x281a3e,_0x1f2c3a={'cVmdx':function(_0x187e77,_0x43b5d3){return _0x187e77===_0x43b5d3;},'wtsLv':_0x44ad0a(0xc4),'ycqlT':'string','ZfOSy':_0x44ad0a(0xee),'uhIah':'IS\x20NOT\x20NULL','BVobF':_0x44ad0a(0xd7),'kugCI':function(_0x560f16,_0x496ef0){return _0x560f16===_0x496ef0;},'bcAQq':_0x44ad0a(0xda)};if(!_0x4e4cc7||!_0x4e4cc7['conditions']||_0x4e4cc7['conditions'][_0x44ad0a(0x120)]===0x0)return'';const {logic:_0x43208b,conditions:_0x350249}=_0x4e4cc7,_0x1e814e=_0x43208b&&_0x1f2c3a[_0x44ad0a(0x11f)](_0x43208b['toUpperCase'](),'OR')?'\x20OR\x20':_0x1f2c3a[_0x44ad0a(0x114)],_0x503683=_0x350249[_0x44ad0a(0xe3)](_0x21dd87=>{const _0x2b53e9=_0x44ad0a,_0x4463ff={'mDAdq':function(_0x106b28,_0x55aa6e){return _0x1f2c3a['cVmdx'](_0x106b28,_0x55aa6e);}},{key:_0x548be3,operator:_0x528fe0,value:_0x33fdfe,sensitive:_0x42b5f0}=_0x21dd87;if(!_0x548be3||!_0x528fe0)return logger['warn']({'event':_0x1f2c3a['wtsLv'],'condition':_0x21dd87},'Skipping\x20invalid\x20condition'),null;const _0x4a88ab=this[_0x2b53e9(0xa1)](_0x33fdfe),_0x5e1ae8=_0x42b5f0!==undefined?_0x42b5f0:!![];let _0x58ba62=_0x548be3,_0x576665=_0x4a88ab;!_0x5e1ae8&&(_0x58ba62=_0x2b53e9(0xff)+_0x548be3+')',typeof _0x33fdfe==='string'&&(_0x576665=_0x33fdfe['toUpperCase']()));const _0x54fe9d=_0x1f2c3a[_0x2b53e9(0x113)](typeof _0x576665,_0x1f2c3a[_0x2b53e9(0xa3)])?'\x27'+_0x576665['replace'](/'/g,'\x27\x27')+'\x27':_0x576665;switch(_0x528fe0['toUpperCase']()){case'=':case'!=':case'<>':return _0x58ba62+'\x20'+_0x528fe0+'\x20'+_0x54fe9d;case'>':case'<':case'>=':case'<=':const _0xeceba1=typeof _0x4a88ab===_0x1f2c3a[_0x2b53e9(0xa3)]?'\x27'+_0x4a88ab[_0x2b53e9(0xdf)](/'/g,'\x27\x27')+'\x27':_0x4a88ab;return _0x548be3+'\x20'+_0x528fe0+'\x20'+_0xeceba1;case _0x1f2c3a[_0x2b53e9(0xcd)]:case'NOT\x20LIKE':return _0x58ba62+'\x20'+_0x528fe0+'\x20'+_0x54fe9d;case'IN':if(Array[_0x2b53e9(0xe7)](_0x4a88ab)){let _0xe5d698;return!_0x5e1ae8?_0xe5d698=_0x4a88ab['map'](_0x24c928=>{const _0x5929e5=_0x2b53e9,_0x4fe8c8=typeof _0x24c928===_0x5929e5(0x98)?_0x24c928['toUpperCase']():_0x24c928;return _0x4463ff['mDAdq'](typeof _0x4fe8c8,'string')?'\x27'+_0x4fe8c8['replace'](/'/g,'\x27\x27')+'\x27':_0x4fe8c8;})[_0x2b53e9(0xa0)](',\x20'):_0xe5d698=_0x4a88ab['map'](_0x2c9fe2=>typeof _0x2c9fe2===_0x2b53e9(0x98)?'\x27'+_0x2c9fe2['replace'](/'/g,'\x27\x27')+'\x27':_0x2c9fe2)[_0x2b53e9(0xa0)](',\x20'),_0x58ba62+'\x20IN\x20('+_0xe5d698+')';}return _0x58ba62+'\x20IN\x20('+_0x54fe9d+')';case'IS\x20NULL':return _0x548be3+_0x2b53e9(0x111);case _0x1f2c3a[_0x2b53e9(0xea)]:return _0x548be3+'\x20IS\x20NOT\x20NULL';default:logger[_0x2b53e9(0xc6)]({'event':'unknown_operator','operator':_0x528fe0},_0x1f2c3a['BVobF']);return _0x58ba62+_0x2b53e9(0xba)+_0x54fe9d;}})[_0x44ad0a(0xa5)](_0x58eca2=>_0x58eca2!==null);if(_0x503683[_0x44ad0a(0x120)]===0x0)return'';return _0x503683['join'](_0x1e814e);}['buildOrderByClause'](_0x37c6b4){const _0x32b5b0=a0_0x281a3e,_0x5758b1={'xpxyb':_0x32b5b0(0xb2),'DEDTu':function(_0x26fd72,_0x25bfb7){return _0x26fd72===_0x25bfb7;},'dmfAz':_0x32b5b0(0xc9),'YkrDt':'ASC','DnkgI':function(_0x4940b0,_0xbd6079){return _0x4940b0===_0xbd6079;}};if(!_0x37c6b4||_0x5758b1[_0x32b5b0(0xe8)](_0x37c6b4[_0x32b5b0(0x120)],0x0))return'';const _0x35e0ef=_0x37c6b4['map'](_0x3fdb5c=>{const _0x1d8e27=_0x32b5b0,{column:_0x32ea83,direction:_0x1aa97d}=_0x3fdb5c;if(!_0x32ea83)return logger[_0x1d8e27(0xc6)]({'event':'invalid_sort_column','item':_0x3fdb5c},_0x5758b1[_0x1d8e27(0x10c)]),null;const _0x58ebfa=_0x1aa97d&&_0x5758b1['DEDTu'](_0x1aa97d[_0x1d8e27(0xad)](),_0x1d8e27(0xc9))?_0x5758b1[_0x1d8e27(0xe2)]:_0x5758b1[_0x1d8e27(0x9b)];return _0x32ea83+'\x20'+_0x58ebfa;})['filter'](_0x1e8da2=>_0x1e8da2!==null);if(_0x5758b1[_0x32b5b0(0xe8)](_0x35e0ef['length'],0x0))return'';return _0x35e0ef['join'](',\x20');}async[a0_0x281a3e(0xe0)](_0x5d5e52,_0x8ef5ad,_0xa8c925){const _0xf9dad7=a0_0x281a3e,_0x2e4764={'SmrcK':function(_0x23b527,_0x52a918){return _0x23b527/_0x52a918;},'EGInH':function(_0x3f4ab9,_0x242471){return _0x3f4ab9(_0x242471);},'wVvYY':function(_0x35d33f,_0xae04d2){return _0x35d33f===_0xae04d2;},'VRaTZ':function(_0x5aef36,_0x29880d){return _0x5aef36>_0x29880d;},'NRnNr':'excel_columns_from_custom_query','gbaUC':_0xf9dad7(0xde),'NBOQo':'excel_columns_from_config'},_0x498da3=_0x2e4764[_0xf9dad7(0xf4)](require,'../utils/excel-generator'),_0x1e8a04=new _0x498da3(),_0x3c9636=_0xa8c925['filename']?_0xa8c925[_0xf9dad7(0xec)]+'-'+_0x5d5e52:'export-'+_0x5d5e52,_0x58c775=path[_0xf9dad7(0xa0)](this['exportDir'],_0x3c9636+_0xf9dad7(0x109));let _0x50ea2b=_0xa8c925[_0xf9dad7(0x11e)];const _0x43dccf=_0xa8c925[_0xf9dad7(0xdd)]&&_0xa8c925[_0xf9dad7(0xdd)][_0xf9dad7(0xcb)](),_0x2ce50c=_0x50ea2b&&_0x50ea2b['length']===0x1&&(_0x50ea2b[0x0]==='*'||_0x2e4764[_0xf9dad7(0xb1)](_0x50ea2b[0x0]['toLowerCase'](),'all'));if(_0x2e4764[_0xf9dad7(0xd4)](_0x8ef5ad['length'],0x0)){const _0x502a72=Object[_0xf9dad7(0xcf)](_0x8ef5ad[0x0]);if(_0x43dccf)_0x50ea2b=_0x502a72,logger[_0xf9dad7(0x92)]({'event':_0x2e4764[_0xf9dad7(0x112)],'columns':_0x50ea2b},'Using\x20'+_0x50ea2b['length']+_0xf9dad7(0x129));else{if(_0x2ce50c)_0x50ea2b=_0x502a72,logger[_0xf9dad7(0x92)]({'event':_0x2e4764[_0xf9dad7(0xac)],'columns':_0x50ea2b},'Using\x20all\x20'+_0x50ea2b['length']+'\x20columns\x20(wildcard\x20requested)');else{if(_0x50ea2b&&_0x50ea2b[_0xf9dad7(0x120)]>0x0){const _0x55e75b=_0x50ea2b['filter'](_0x2b44b6=>_0x502a72['includes'](_0x2b44b6));_0x2e4764['VRaTZ'](_0x55e75b['length'],0x0)?(_0x50ea2b=_0x55e75b,logger['info']({'event':'excel_columns_from_request','requestedColumns':_0xa8c925['columns'],'validColumns':_0x50ea2b},'Using\x20'+_0x50ea2b[_0xf9dad7(0x120)]+_0xf9dad7(0xfa))):(_0x50ea2b=_0x502a72,logger['warn']({'event':_0xf9dad7(0xa4),'requestedColumns':_0xa8c925[_0xf9dad7(0x11e)],'availableColumns':_0x502a72},'Requested\x20columns\x20not\x20found\x20in\x20data,\x20using\x20all\x20'+_0x502a72[_0xf9dad7(0x120)]+_0xf9dad7(0x127)));}else _0x50ea2b=_0x502a72,logger['info']({'event':'excel_columns_from_query_result','columns':_0x50ea2b},_0xf9dad7(0xcc)+_0x50ea2b['length']+'\x20columns\x20from\x20query\x20result');}}}else logger[_0xf9dad7(0x92)]({'event':_0x2e4764['NBOQo'],'columns':_0x50ea2b},_0xf9dad7(0xcc)+(_0x50ea2b?.[_0xf9dad7(0x120)]||0x0)+'\x20columns\x20from\x20config\x20(no\x20data)');return await _0x1e8a04['generate']({'data':_0x8ef5ad,'columns':_0x50ea2b,'columnFormats':_0xa8c925[_0xf9dad7(0x11a)]||null,'fieldLabels':_0xa8c925[_0xf9dad7(0xfb)]||null,'filePath':_0x58c775,'onProgress':async _0x7e8512=>{const _0x3b022b=_0xf9dad7;await redisHelper[_0x3b022b(0xef)](_0x5d5e52,{'progress':Math[_0x3b022b(0x123)](_0x7e8512),'processed_rows':Math[_0x3b022b(0x123)](_0x2e4764['SmrcK'](_0x7e8512,0x64)*_0x8ef5ad['length'])});}}),_0x58c775;}async[a0_0x281a3e(0xd1)](_0x237db6){const _0x1e2b77=a0_0x281a3e,_0x2d6475={'MCGxb':function(_0x17a490,_0x3267e4){return _0x17a490!==_0x3267e4;},'vQuMo':_0x1e2b77(0x122)},_0x201c61=await redisHelper[_0x1e2b77(0xc0)](_0x237db6);if(!_0x201c61||_0x2d6475['MCGxb'](_0x201c61[_0x1e2b77(0x12c)],_0x2d6475[_0x1e2b77(0xf1)]))return null;try{return await fs[_0x1e2b77(0xe5)](_0x201c61['file_path']),_0x201c61['file_path'];}catch(_0xcc8bc8){return logError(_0xcc8bc8,{'event':'export_file_not_found','jobId':_0x237db6,'path':_0x201c61[_0x1e2b77(0xed)]},_0x1e2b77(0xbc)),null;}}async[a0_0x281a3e(0x102)](){const _0x2187c9=a0_0x281a3e,_0x3b6d6e={'ZFhWQ':'Starting\x20export\x20cleanup','ZCMGS':function(_0x5aa6f7,_0x357375){return _0x5aa6f7/_0x357375;},'WuYda':function(_0x4b2707,_0x11c337){return _0x4b2707-_0x11c337;},'JLxCt':function(_0x3bd34a,_0x471ec0){return _0x3bd34a>_0x471ec0;},'gLKJu':'export_file_delete_error','egElM':_0x2187c9(0xf5)};logger[_0x2187c9(0x92)]({'event':_0x2187c9(0x11c)},_0x3b6d6e[_0x2187c9(0xbe)]);const _0x4a4298=await redisHelper[_0x2187c9(0xe4)]();let _0x585e72=0x0;for(const _0x52e1ac of _0x4a4298){const _0x57c006=new Date(_0x52e1ac[_0x2187c9(0x128)]),_0x51f884=new Date(),_0x21487c=_0x3b6d6e['ZCMGS'](_0x3b6d6e['WuYda'](_0x51f884,_0x57c006),0x3e8*0x3c*0x3c);if(_0x3b6d6e['JLxCt'](_0x21487c,0x1)){if(_0x52e1ac[_0x2187c9(0xed)])try{await fs['unlink'](_0x52e1ac[_0x2187c9(0xed)]),logger['info']({'event':'export_file_deleted','path':_0x52e1ac['file_path']},_0x2187c9(0x11b));}catch(_0x1b9fd1){logger[_0x2187c9(0xc6)]({'event':_0x3b6d6e[_0x2187c9(0xfe)],'path':_0x52e1ac['file_path'],'error':_0x1b9fd1['message']},_0x2187c9(0x9f));}await redisHelper['deleteJob'](_0x52e1ac['job_id']),_0x585e72++;}}return logger[_0x2187c9(0x92)]({'event':_0x3b6d6e[_0x2187c9(0xb7)],'deleted':_0x585e72},_0x2187c9(0x94)),_0x585e72;}}module['exports']=new ExportService();
@@ -1 +1 @@
1
- const a0_0x12b2bd=a0_0xe4ca;(function(_0x27a11d,_0x229829){const _0x4bdb9d=a0_0xe4ca,_0x123af8=_0x27a11d();while(!![]){try{const _0x3adcc8=parseInt(_0x4bdb9d(0x165))/0x1+parseInt(_0x4bdb9d(0xd0))/0x2*(parseInt(_0x4bdb9d(0xc6))/0x3)+parseInt(_0x4bdb9d(0x102))/0x4*(parseInt(_0x4bdb9d(0xc0))/0x5)+parseInt(_0x4bdb9d(0x15f))/0x6*(parseInt(_0x4bdb9d(0x113))/0x7)+parseInt(_0x4bdb9d(0x12a))/0x8*(parseInt(_0x4bdb9d(0x111))/0x9)+parseInt(_0x4bdb9d(0xe3))/0xa*(-parseInt(_0x4bdb9d(0x160))/0xb)+-parseInt(_0x4bdb9d(0xc4))/0xc;if(_0x3adcc8===_0x229829)break;else _0x123af8['push'](_0x123af8['shift']());}catch(_0x55393d){_0x123af8['push'](_0x123af8['shift']());}}}(a0_0x221b,0xf2d83));const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')[a0_0x12b2bd(0x14d)],redisHelper=require(a0_0x12b2bd(0xe8)),{logger,logError}=require('../utils/logger'),dbType=(process['env'][a0_0x12b2bd(0xea)]||a0_0x12b2bd(0x161))[a0_0x12b2bd(0xe7)]();function a0_0x221b(){const _0x472e3b=['CgfYyw1Z','y29TBwL0x3bYB2nLC3nFzxjYB3i','uhjLDMLLDYbQB2iGy29TCgXLDgvK','u2PgEue','mti0mJa2mdnduvHnDeq','zxjYB3jZ','ndLxz3vTuwq','r0ncwMm','yxbWBhLdB2X1Bw5gB3jTyxrZ','y291BNq','lI4VDxrPBhmVzgiTB3jHy2XL','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','s3rwEKS','su5trvju','BgvUz3rO','tg9qEvm','ChjLDMLLD19LCNjVCG','vvbeqvrf','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','ChjVy2vZC2vKuM93CW','zMLUza','AM9IoG','B3jHy2XL','AM9PBG','Aw5MBW','ChjVy2vZC2LUzW','C2TPCf9LEgLZDgLUzW','y3HRrwW','q29TBwL0igPVyIbJCMvHDgvK','ognlrwj2sG','DxbKyxrLx2v4Axn0Aw5N','ChjVy2vZC0XVB2T1CezPzwXKCW','zgf0zq','y29TBwL0x2PVyL9JB21WBgv0zwq','Aw1WB3j0x2zPBgvFDxbSB2fKzwq','Bg9VA3vWrMLLBgrZ','x3vWBg9HzerPCG','rwrXDMu','x2v4Axn0Aw5Nswq','CM93sw5KzxG','wxjmswy','vNzZB0y','ChvZAa','zMLSzv9JBgvHBNvWx2vYCM9Y','ChjVy2vZC0nVBw1PDePVyG','rg9iD1i','lI4VDxrPBhmVBg9VA3vWlxjLC29SDMvY','uKLcu2e','ChjLDMLLD19VAW','qxv0BY1Nzw5LCMf0zwqGvvvjrcbMB3iG','q29TBwL0igPVyIbJB21WBgv0zwq','DNbUvxq','lI4VlI4VDgvTCc91CgXVywrZlW','uhjLDMLLDYbQB2iGzMfPBgvK','DMfSAwrHDgLUzW','Axf0wuO','x2DLBMvYyxrLzf91DwLK','sgrdAfG','rxHJzwWGAgvHzgvYCYbTyxbWzwqGDg8GzMLLBgqGBMfTzxm','C2v0sM9I','DxvPzf9HDxrVx2DLBMvYyxrLza','zwfrwxG','DMvLBfa','DMfSAwq','ChjVBwLZzxm','BwfW','wLf1ruq','qLv5Cw0','C3vIC3rYAw5N','uhjLDMLLDYbWCM9JzxnZAw5NigzHAwXLza','yNvPBgrcyxrJAfvWzgf0zq','C2v0','zNjVBq','y2vVtKi','y0fHrgS','EKzxueS','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','ChjLDMLLD19QB2jFy3jLyxrLza','Dg9ju09tDhjPBMC','r2DVrLG','zw50CMLLCW','z2v0sM9I','mtaYmJC5nNnXwLnKzW','mJa4odq5m0jJvLj6vW','Cg9ZDgDYzxnXBa','z2v0','CLrcufu','Aw5Zzxj0','mtq5nZi5nuXwwNHmCa','zgvMyxvSDa','u0Tjua','y29SDw1UrM9YBwf0CW','C2nVCgvpDMvYCMLKzq','q0nuwKK','DxbSB2fKrMLSzq','BNvTyMvY','z2v0tw9UDgG','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','zMfPBgvK','shnqu0O','x2vYCM9YCW','y29TBwL0x2PVyL9JCMvHDgvK','cIaGicaGicaGv0HfuKuG','BxLZCwW','uufXwxe','r0vivvq','uhjLDMLLDYbQB2iGy3jLyxrLza','s2DkuLG','z2vUzxjHDgvjza','zxHLy3v0zvf1zxj5','Aw5JBhvKzxm','DhLWzq','mta1D1fssvvk','DgvZDa','DgfYz2v0rMLLBgq','AgfZ','ntG2mZu4nJrADe55twG','ieLoicG','nK9esKjqsW','BeLbCe8','C2XPy2u','y1bHuNq','DxbSB2fKx2LK','zgDSywy','qxHzu3O','zMLSDgvY','rhnAyu0','A2v5CW','mtC3nti2mK52DKXosq','lI4VDxrPBhmVzxHJzwWTCgfYC2vY','q2fUBM90ignVBw1PDdOGChjLDMLLDYbZDgf0DxmGAxmG','ENvPsM8','Dhj1zq','Dg9tDhjPBMC','AMLWEvu','yM9VBgvHBG','r29ArMm','DMXYCva','C3rHDhvZ','x2fJDgLVBG','Dg9vChbLCKnHC2u','ChjLDMLLD19WCM9JzxnZx2vYCM9Y','zw52','C3rYAw5N','EwvZ','rxHJzwWGC3rYDwn0DxjLig1PC21HDgnOlIbnAxnZAw5NigzPzwXKCZOG','DhjPBq','mZbwquvXs2y','tgfIzwWGDg8GzMLLBgqGBwfWCgLUzYbIDwLSDa','ChjLDMLLD19QB2jFzMfPBgvK','u2nUzvG','Dg9mB3DLCKnHC2u','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','yNvPBgrmywjLBfrVrMLLBgrnyxa','rejFvfLqrq','tNPvqMu','y2H1BMTsB3DZ','rKH5wfu','CuLmANm','vxLZy1C','zgvIDwC','CMvWBgfJzq','DMfSDwvZ','yMf0y2HwywXPzgf0zvjVD3m','vuLSBgS','CgfYC2vfEgnLBezPBgu','lI4VDxrPBhmVDxbZzxj0lwj1AwXKzxi','B3jPz2LUywXUyw1L','Dw5SAw5R','y3jLyxrLq29TBwL0sM9I','zgTrueS','CM93CW','zM9YrwfJAa','BwvZC2fNzq','Cgf0Aa','CgfKu3rHCNq','zMLLBgrmywjLBhm','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','mte1mtG0BwnbAwPT','EK1RAuK','Aw5Zzxj0x29UBhK','wfbWzKy','zxHLy3v0zvrYyw5Zywn0Aw9U','sxz2qMq','DxbSB2fKoG','BwLZC2LUz0zPzwXKCW','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','y29SDw1U','ChjVy2vZC1bYzxzPzxDkB2i'];a0_0x221b=function(){return _0x472e3b;};return a0_0x221b();}let executeQuery,executeTransaction,oracleDb;if(dbType==='oracle')oracleDb=require(a0_0x12b2bd(0x117)),executeQuery=(_0xce79f1,_0x3fd45c)=>oracleDb[a0_0x12b2bd(0xbd)](_0xce79f1,_0x3fd45c),executeTransaction=_0x25245f=>oracleDb[a0_0x12b2bd(0x106)](_0x25245f);else{if(dbType===a0_0x12b2bd(0xb7)){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x574eac,_0xcf0294)=>mysqlDb['executeQuery'](_0x574eac,_0xcf0294),executeTransaction=_0x3389fe=>mysqlDb['executeTransaction'](_0x3389fe);}else{const db=require('../utils/db');executeQuery=db[a0_0x12b2bd(0xbd)],executeTransaction=db[a0_0x12b2bd(0x106)];}}const excelParser=require(a0_0x12b2bd(0xd1)),importValidator=require('../utils/import-validator'),upsertBuilder=require(a0_0x12b2bd(0xf6)),lookupResolver=require(a0_0x12b2bd(0x13b));function a0_0xe4ca(_0x5382a3,_0x3d63ed){_0x5382a3=_0x5382a3-0xaf;const _0x221b95=a0_0x221b();let _0xe4caa1=_0x221b95[_0x5382a3];if(a0_0xe4ca['vRclek']===undefined){var _0x44a5cc=function(_0x5e7e1e){const _0x2bd466='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x366399='',_0x327d8f='';for(let _0x50629a=0x0,_0x374e31,_0x4b7986,_0x4b0dae=0x0;_0x4b7986=_0x5e7e1e['charAt'](_0x4b0dae++);~_0x4b7986&&(_0x374e31=_0x50629a%0x4?_0x374e31*0x40+_0x4b7986:_0x4b7986,_0x50629a++%0x4)?_0x366399+=String['fromCharCode'](0xff&_0x374e31>>(-0x2*_0x50629a&0x6)):0x0){_0x4b7986=_0x2bd466['indexOf'](_0x4b7986);}for(let _0x3da4e6=0x0,_0x3b8f94=_0x366399['length'];_0x3da4e6<_0x3b8f94;_0x3da4e6++){_0x327d8f+='%'+('00'+_0x366399['charCodeAt'](_0x3da4e6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x327d8f);};a0_0xe4ca['ElZLTj']=_0x44a5cc,a0_0xe4ca['DdvRni']={},a0_0xe4ca['vRclek']=!![];}const _0x222fa7=_0x221b95[0x0],_0x485a6d=_0x5382a3+_0x222fa7,_0x2a4a06=a0_0xe4ca['DdvRni'][_0x485a6d];return!_0x2a4a06?(_0xe4caa1=a0_0xe4ca['ElZLTj'](_0xe4caa1),a0_0xe4ca['DdvRni'][_0x485a6d]=_0xe4caa1):_0xe4caa1=_0x2a4a06,_0xe4caa1;}class ImportService{constructor(){const _0x132b1a=a0_0x12b2bd;this[_0x132b1a(0x131)]=null;}get['uploadDir'](){const _0x1a20fc=a0_0x12b2bd;if(!this[_0x1a20fc(0x131)]){const _0x26f695=process[_0x1a20fc(0xde)][_0x1a20fc(0x159)]||_0x1a20fc(0x166);this['_uploadDir']=process[_0x1a20fc(0xde)]['UPLOAD_DIR']||path[_0x1a20fc(0x124)](__dirname,_0x1a20fc(0x141)+_0x26f695);}return this['_uploadDir'];}[a0_0x12b2bd(0xbc)](){const _0xf717eb=a0_0x12b2bd,_0x18ea14={'mfOSv':function(_0x387a40){return _0x387a40();},'Edqve':function(_0x35404d,_0x3435fb){return _0x35404d-_0x3435fb;},'dkQPK':function(_0x24f97e,_0x3b0053){return _0x24f97e<_0x3b0053;}},_0x45aeed='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',_0xc2acaf=Date['now']()[_0xf717eb(0xd5)](0x24),_0xb642d6=_0x18ea14['mfOSv'](uuidv7)['replace'](/-/g,'')[_0xf717eb(0x151)](0x0,_0x18ea14[_0xf717eb(0x132)](0xc,_0xc2acaf[_0xf717eb(0x11b)])),_0x1d185b=(_0xc2acaf+_0xb642d6)[_0xf717eb(0x151)](0x0,0xc);let _0x216199='';for(let _0x30bc7a=0x0;_0x18ea14[_0xf717eb(0xfa)](_0x30bc7a,0xc);_0x30bc7a++){_0x1d185b[_0x30bc7a]?_0x216199+=_0x1d185b[_0x30bc7a]:_0x216199+=_0x45aeed['charAt'](Math['floor'](Math['random']()*_0x45aeed[_0xf717eb(0x11b)]));}return _0x216199;}[a0_0x12b2bd(0xe9)](_0x5d3b3d){const _0x494f7e=a0_0x12b2bd,_0x543b05={'tGyRZ':function(_0x2ffecb,_0x59d557){return _0x2ffecb(_0x59d557);},'xMQHz':'label_to_field_map_built','veelP':_0x494f7e(0xe4)},_0x8a75ac=new Map();if(!_0x5d3b3d)return _0x8a75ac;return Object['entries'](_0x5d3b3d)['forEach'](([_0x265222,_0x257ac0])=>{const _0x2ce697=_0x494f7e,_0x560d18=_0x543b05['tGyRZ'](String,_0x257ac0)['trim']()[_0x2ce697(0xf1)](/\s+/g,'_')['replace'](/([a-z])([A-Z])/g,'$1_$2')['replace'](/([A-Z]+)([A-Z][a-z])/g,'$1_$2')['toLowerCase']();_0x8a75ac[_0x2ce697(0x154)](_0x560d18,_0x265222);}),logger['debug']({'event':_0x543b05['xMQHz'],'mappingCount':_0x8a75ac['size']},_0x543b05[_0x494f7e(0x14b)]),_0x8a75ac;}[a0_0x12b2bd(0x115)](_0x123e83,_0x8d6096){const _0x20644a=a0_0x12b2bd,_0x214161={'fuXHN':function(_0x2ce883,_0x2e615c){return _0x2ce883===_0x2e615c;},'cxkEl':_0x20644a(0xaf),'eaQYx':'boolean','gzStz':'text','QAqYq':function(_0x416df3,_0x457f69){return _0x416df3===_0x457f69;}};if(!_0x8d6096||_0x214161[_0x20644a(0xb8)](Object['keys'](_0x8d6096)['length'],0x0))return _0x123e83;return _0x123e83['map'](_0x4314c0=>{const _0x72bc4d=_0x20644a,_0x225e10={..._0x4314c0};for(const [_0x43164b,_0x38f586]of Object[_0x72bc4d(0x15d)](_0x8d6096)){const _0x1c3173=_0x225e10[_0x43164b];if(_0x1c3173===null||_0x1c3173===undefined||_0x214161['fuXHN'](_0x1c3173,'')){_0x225e10[_0x43164b]=null;continue;}switch(_0x38f586[_0x72bc4d(0xbf)]){case _0x72bc4d(0x12d):_0x225e10[_0x43164b]=this['formatDateForDatabase'](_0x1c3173);break;case _0x214161[_0x72bc4d(0x128)]:_0x225e10[_0x43164b]=this['formatNumberForDatabase'](_0x1c3173);break;case _0x214161[_0x72bc4d(0x14a)]:_0x225e10[_0x43164b]=this['formatBooleanForDatabase'](_0x1c3173);break;case _0x214161['gzStz']:_0x225e10[_0x43164b]=String(_0x1c3173);break;default:break;}}return _0x225e10;});}[a0_0x12b2bd(0x118)](_0x3479d6){const _0x55dbb7=a0_0x12b2bd,_0x3d5346={'AGTTQ':function(_0x2cc723,_0x5d43a1){return _0x2cc723===_0x5d43a1;},'zFWPK':function(_0x31002b,_0x2240ac){return _0x31002b(_0x2240ac);},'SjFyA':function(_0x2e192d,_0x2ad827){return _0x2e192d(_0x2ad827);},'NNjPR':function(_0x2f9a52,_0x4302fa){return _0x2f9a52+_0x4302fa;},'jipyU':function(_0x3eeb28,_0x564acb){return _0x3eeb28(_0x564acb);},'DlQUr':function(_0x427bad,_0x23f30e){return _0x427bad===_0x23f30e;},'cAaDk':'string','NzUBe':function(_0x560028,_0x451674){return _0x560028(_0x451674);},'XEVEc':function(_0x55a301,_0x4b8116){return _0x55a301(_0x4b8116);}};if(_0x3479d6===null||_0x3d5346['AGTTQ'](_0x3479d6,undefined)||_0x3479d6==='')return null;if(typeof _0x3479d6==='string'&&/^\d{4}-\d{2}-\d{2}$/[_0x55dbb7(0xc1)](_0x3479d6))return _0x3479d6;if(_0x3479d6 instanceof Date){if(_0x3d5346[_0x55dbb7(0x158)](isNaN,_0x3479d6['getTime']()))return null;const _0x3519be=_0x3479d6['getFullYear'](),_0x3e373a=_0x3d5346[_0x55dbb7(0x110)](String,_0x3d5346['NNjPR'](_0x3479d6[_0x55dbb7(0xb0)](),0x1))['padStart'](0x2,'0'),_0x27134b=_0x3d5346[_0x55dbb7(0xd6)](String,_0x3479d6['getDate']())['padStart'](0x2,'0');return _0x3519be+'-'+_0x3e373a+'-'+_0x27134b;}if(_0x3d5346['DlQUr'](typeof _0x3479d6,_0x3d5346[_0x55dbb7(0x157)])){const _0x5a3e15=_0x3479d6['match'](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x5a3e15){const _0x11d995=String(_0x5a3e15[0x1])['padStart'](0x2,'0'),_0x1c18b0=_0x3d5346[_0x55dbb7(0xeb)](String,_0x5a3e15[0x2])[_0x55dbb7(0xff)](0x2,'0'),_0x5f5951=_0x5a3e15[0x3];return _0x5f5951+'-'+_0x1c18b0+'-'+_0x11d995;}const _0x5630ac=_0x3479d6['match'](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x5630ac){const _0xeb312c=_0x5630ac[0x1],_0x432a48=_0x3d5346['XEVEc'](String,_0x5630ac[0x2])['padStart'](0x2,'0'),_0x44a474=_0x3d5346['SjFyA'](String,_0x5630ac[0x3])[_0x55dbb7(0xff)](0x2,'0');return _0xeb312c+'-'+_0x432a48+'-'+_0x44a474;}}return _0x3479d6;}['formatNumberForDatabase'](_0x34e2d0){const _0x5eb27a=a0_0x12b2bd,_0x3c7295={'lCFOO':function(_0x52ff76,_0x27cebd){return _0x52ff76===_0x27cebd;},'LqyBp':_0x5eb27a(0xaf),'GoZFc':function(_0x4abfdf,_0xdc49cd){return _0x4abfdf(_0xdc49cd);},'DoHwR':_0x5eb27a(0xdf)};if(_0x34e2d0===null||_0x34e2d0===undefined||_0x3c7295['lCFOO'](_0x34e2d0,''))return null;if(typeof _0x34e2d0===_0x3c7295['LqyBp'])return _0x3c7295[_0x5eb27a(0xd8)](isNaN,_0x34e2d0)?null:_0x34e2d0;if(_0x3c7295['lCFOO'](typeof _0x34e2d0,_0x3c7295[_0x5eb27a(0x13a)])){let _0x5a7e53=_0x34e2d0['trim']();const _0x2726f2=/,\d{1,2}$/['test'](_0x5a7e53)&&!/,\d{3}/[_0x5eb27a(0xc1)](_0x5a7e53);_0x2726f2?_0x5a7e53=_0x5a7e53[_0x5eb27a(0xf1)](/\./g,'')[_0x5eb27a(0xf1)](',','.'):_0x5a7e53=_0x5a7e53[_0x5eb27a(0xf1)](/,/g,'');const _0x44e24a=parseFloat(_0x5a7e53);return _0x3c7295['GoZFc'](isNaN,_0x44e24a)?null:_0x44e24a;}return null;}['formatBooleanForDatabase'](_0x456715){const _0x341764=a0_0x12b2bd,_0x46fb2c={'BnOBH':function(_0x5e0db9,_0x515dd0){return _0x5e0db9===_0x515dd0;},'HdChX':function(_0x51bdb0,_0x2e9839){return _0x51bdb0===_0x2e9839;},'GgoFX':_0x341764(0xd4),'UyscW':'false','GEHUT':function(_0x483704,_0xe31a50){return _0x483704===_0xe31a50;},'RIBSa':'string'};if(_0x456715===null||_0x46fb2c['BnOBH'](_0x456715,undefined)||_0x46fb2c[_0x341764(0x146)](_0x456715,''))return null;if(typeof _0x456715===_0x341764(0xd7))return _0x456715?_0x46fb2c['GgoFX']:_0x46fb2c['UyscW'];if(_0x46fb2c[_0x341764(0xb9)](typeof _0x456715,_0x46fb2c[_0x341764(0x13c)])){const _0x2ce037=_0x456715[_0x341764(0xe2)]()['toLowerCase']();if([_0x46fb2c[_0x341764(0x15c)],_0x341764(0xe0),'y','1'][_0x341764(0xbe)](_0x2ce037))return _0x46fb2c['GgoFX'];if(['false','no','n','0'][_0x341764(0xbe)](_0x2ce037))return _0x46fb2c[_0x341764(0xef)];return null;}if(typeof _0x456715===_0x341764(0xaf))return _0x456715?'true':_0x46fb2c[_0x341764(0xef)];return null;}async[a0_0x12b2bd(0x16b)](_0x4f279e,_0x12b0a6){const _0x433d78=a0_0x12b2bd,_0x40b649={'KtVzK':'headers_mapped','IvvBd':_0x433d78(0x147),'UPReQ':function(_0x28e774,_0x28cd37){return _0x28e774>_0x28cd37;},'VvsoF':'Column\x20formats\x20applied\x20to\x20rows','hxZoy':function(_0x19b595,_0x4d3198,_0x3c1be0,_0x1e21c1){return _0x19b595(_0x4d3198,_0x3c1be0,_0x1e21c1);},'ceoNB':'Failed\x20to\x20cleanup\x20file'},_0x442dc8=this['generateId']();try{let {headers:_0x9d3bc3,rows:_0x555f66,totalRows:_0x2c5f2c}=await excelParser[_0x433d78(0xf5)](_0x4f279e[_0x433d78(0xfe)]);const _0x5dc030=this[_0x433d78(0xe9)](_0x12b0a6[_0x433d78(0x100)]),_0x5efb02=_0x9d3bc3[_0x433d78(0x14e)](_0x5b0837=>{const _0x33794e=_0x433d78,_0x508137=_0x5dc030[_0x33794e(0x162)](_0x5b0837);return _0x508137||_0x5b0837;});_0x555f66=_0x555f66['map'](_0x324543=>{const _0x4e0fbd=_0x433d78,_0x1efd65={};return _0x9d3bc3[_0x4e0fbd(0xfc)]((_0x101070,_0x14dfaa)=>{const _0x5cbaba=_0x5efb02[_0x14dfaa];_0x1efd65[_0x5cbaba]=_0x324543[_0x101070];}),_0x1efd65;}),_0x9d3bc3=_0x5efb02,logger['debug']({'event':_0x40b649[_0x433d78(0x119)],'original':_0x9d3bc3[_0x433d78(0x11b)],'mapped':_0x5efb02['filter']((_0x15bbf1,_0x4f3d02)=>_0x15bbf1!==_0x9d3bc3[_0x4f3d02])['length']},_0x40b649[_0x433d78(0x107)]);_0x12b0a6['columnFormats']&&_0x40b649['UPReQ'](Object['keys'](_0x12b0a6['columnFormats'])['length'],0x0)&&(_0x555f66=this[_0x433d78(0x115)](_0x555f66,_0x12b0a6[_0x433d78(0x168)]),logger['debug']({'event':'column_formats_applied','formatCount':Object['keys'](_0x12b0a6['columnFormats'])[_0x433d78(0x11b)],'formats':Object[_0x433d78(0xcf)](_0x12b0a6['columnFormats'])},_0x40b649[_0x433d78(0x136)]));if(_0x12b0a6[_0x433d78(0x169)]&&_0x12b0a6['scopeOverride'][_0x433d78(0x10b)]){const {column:_0x2af418,value:_0x3c9d36}=_0x12b0a6['scopeOverride'];_0x555f66=_0x555f66['map'](_0x42d2c4=>({..._0x42d2c4,[_0x2af418]:_0x3c9d36})),logger[_0x433d78(0xf0)]({'event':'request_scope_applied','column':_0x2af418,'rowCount':_0x555f66[_0x433d78(0x11b)]},'Request\x20scope\x20override\x20applied\x20to\x20imported\x20rows');}const _0x2bb2f4=_0x12b0a6[_0x433d78(0x130)]?Object[_0x433d78(0xf2)](_0x12b0a6['lookupFields'])[_0x433d78(0x14e)](_0xe36acf=>_0xe36acf[_0x433d78(0xc2)]):[],_0x46344c=_0x12b0a6['fieldName']['filter'](_0x45eeb2=>!_0x2bb2f4['includes'](_0x45eeb2)),_0x48fbc1=excelParser['validateExcelStructure'](_0x9d3bc3,_0x46344c);if(!_0x48fbc1[_0x433d78(0x14c)]){await fs[_0x433d78(0xf8)](_0x4f279e[_0x433d78(0xfe)]);throw new Error(_0x433d78(0xe1)+_0x48fbc1[_0x433d78(0x109)][_0x433d78(0x124)](',\x20'));}const _0x12e3ae={'upload_id':_0x442dc8,'filename':_0x4f279e[_0x433d78(0xf7)],'total_rows':_0x2c5f2c,'headers':_0x9d3bc3,'rows':_0x555f66,'params':_0x12b0a6,'created_at':new Date()['toISOString']()};return await redisHelper['setJob'](_0x433d78(0x108)+_0x442dc8,_0x12e3ae,0xe10),await fs[_0x433d78(0xf8)](_0x4f279e['path']),logger[_0x433d78(0x125)]({'event':_0x433d78(0x12f),'uploadId':_0x442dc8,'filename':_0x4f279e[_0x433d78(0xf7)],'totalRows':_0x2c5f2c},'Import\x20file\x20uploaded\x20and\x20parsed'),{'upload_id':_0x442dc8,'total_rows':_0x2c5f2c,'preview':_0x555f66['slice'](0x0,0xa)};}catch(_0x86d175){try{await fs[_0x433d78(0xf8)](_0x4f279e[_0x433d78(0xfe)]);}catch(_0x209f10){_0x40b649['hxZoy'](logError,_0x209f10,{'event':_0x433d78(0x138)},_0x40b649[_0x433d78(0x156)]);}throw _0x86d175;}}async['createPreviewJob'](_0x23f5ec){const _0x8b66fe=a0_0x12b2bd,_0x39849f={'wcNiI':'Upload\x20data\x20not\x20found\x20or\x20expired','jaJMi':_0x8b66fe(0x143),'WGfAe':_0x8b66fe(0xba)},_0x2a160c=this['generateId'](),_0x57e785=await redisHelper['getJob']('upload:'+_0x23f5ec);if(!_0x57e785)throw new Error(_0x39849f['wcNiI']);const _0xf41dce={'job_id':_0x2a160c,'upload_id':_0x23f5ec,'status':_0x39849f['jaJMi'],'progress':0x0,'created_at':new Date()[_0x8b66fe(0x15b)](),'params':_0x57e785[_0x8b66fe(0x10d)]};return await redisHelper['setJob'](_0x8b66fe(0x122)+_0x2a160c,_0xf41dce,0xe10),logger['info']({'event':_0x8b66fe(0x15a),'jobId':_0x2a160c,'uploadId':_0x23f5ec},_0x39849f['WGfAe']),this[_0x8b66fe(0x10c)](_0x2a160c,_0x23f5ec,_0x57e785)['catch'](_0x4abcb6=>{const _0x235853=_0x8b66fe;logError(_0x4abcb6,{'event':_0x235853(0xdd),'jobId':_0x2a160c},_0x235853(0x152));}),{'job_id':_0x2a160c,'status':_0x39849f['jaJMi']};}['autoGenerateUpsertKeys'](_0x1dff18,_0x5148d5){const _0x5d8c98={'YrLIf':function(_0xad6404,_0x847b48){return _0xad6404===_0x847b48;},'ZQuED':function(_0x425252,_0x323a76){return _0x425252(_0x323a76);},'sbPzF':function(_0x239711){return _0x239711();}};_0x1dff18['forEach']((_0xb3c0d9,_0x41aa5f)=>{const _0x34c57d=a0_0xe4ca,_0x54335b={'hthIl':function(_0x3bf9fa,_0xa9ee8c){const _0x5d4c25=a0_0xe4ca;return _0x5d8c98[_0x5d4c25(0x135)](_0x3bf9fa,_0xa9ee8c);},'TTNRN':function(_0x18d697,_0x1e7163){const _0x57795f=a0_0xe4ca;return _0x5d8c98[_0x57795f(0x14f)](_0x18d697,_0x1e7163);},'UAxUi':function(_0x7d28b8){return _0x5d8c98['sbPzF'](_0x7d28b8);},'SPkXi':_0x34c57d(0x149),'KgJRX':function(_0x116134,_0x257e25){return _0x116134+_0x257e25;}};_0x5148d5[_0x34c57d(0xfc)](_0x5c6403=>{const _0x3993f4=_0x34c57d,_0x3d477b=_0xb3c0d9[_0x5c6403];if(_0x3d477b===null||_0x3d477b===undefined||_0x3d477b===''||_0x54335b['hthIl'](_0x54335b['TTNRN'](String,_0x3d477b)[_0x3993f4(0xe2)](),'-')){const _0x5e5797=_0x54335b['UAxUi'](uuidv7);_0xb3c0d9[_0x5c6403]=_0x5e5797,_0xb3c0d9[_0x3993f4(0x145)]=_0xb3c0d9[_0x3993f4(0x145)]||{},_0xb3c0d9[_0x3993f4(0x145)][_0x5c6403]=_0x5e5797,logger['debug']({'event':_0x54335b['SPkXi'],'rowIndex':_0x41aa5f,'field':_0x5c6403,'uuid':_0x5e5797},_0x3993f4(0x13e)+_0x5c6403+'\x20at\x20row\x20'+_0x54335b[_0x3993f4(0xbb)](_0x41aa5f,0x2));}});});}async[a0_0x12b2bd(0x10c)](_0x413e66,_0x56bd90,_0x1839e4){const _0x331159=a0_0x12b2bd,_0x64fbbf={'iqtYJ':function(_0x1c32cd,_0x3030be){return _0x1c32cd===_0x3030be;},'tFPPz':function(_0x18a2d6,_0x4298be){return _0x18a2d6>_0x4298be;},'XPpfF':'processing_lookup_fields','LoPyS':'Processing\x20lookup\x20fields','CCTZI':_0x331159(0x11d),'DsZaM':function(_0x4cd8ee,_0x3c1e19,_0x2e361c,_0xa3fea9){return _0x4cd8ee(_0x3c1e19,_0x2e361c,_0xa3fea9);},'TRVzL':_0x331159(0xe5),'RgkZh':_0x331159(0x142),'vlrqP':_0x331159(0xb2)};try{let {rows:_0x4bd655,params:_0x2dedc7}=_0x1839e4;const {requiredFields:_0x14b3cc,validations:_0x173f98,upsertKeys:_0xa9d28,tableName:_0x5064fe,primaryKey:_0x3f22d2,fieldName:_0x1cd274,upsertStrategy:_0x5b9706,lookupFields:_0x178d27}=_0x2dedc7;this[_0x331159(0xb1)](_0x4bd655,_0xa9d28);let _0x32b20d=[];if(_0x178d27&&_0x64fbbf['tFPPz'](Object['keys'](_0x178d27)[_0x331159(0x11b)],0x0)){logger[_0x331159(0x125)]({'event':_0x64fbbf[_0x331159(0x105)],'jobId':_0x413e66,'lookupFieldCount':Object['keys'](_0x178d27)[_0x331159(0x11b)]},_0x64fbbf[_0x331159(0x11c)]);const _0x95d034=await lookupResolver[_0x331159(0x12c)](_0x4bd655,_0x178d27);_0x4bd655=_0x95d034[_0x331159(0x120)],_0x32b20d=_0x95d034['errors'],_0x1839e4[_0x331159(0xfb)]=_0x4bd655;}const _0x152879=importValidator[_0x331159(0xf3)](_0x4bd655,_0x14b3cc||[],_0x173f98||{});_0x32b20d[_0x331159(0xfc)](_0x5c8620=>{const _0xef62bd=_0x331159,_0x1e4061=_0x152879[_0xef62bd(0x121)](_0x458cd2=>_0x458cd2['rowIndex']===_0x5c8620['rowIndex']);_0x1e4061?_0x1e4061[_0xef62bd(0x112)]['push'](_0x5c8620[_0xef62bd(0xfd)]):_0x152879[_0xef62bd(0x137)]({'rowIndex':_0x5c8620[_0xef62bd(0x134)],'rowData':_0x4bd655[_0x5c8620['rowIndex']],'errors':[_0x5c8620[_0xef62bd(0xfd)]]});});const _0x4b1d6f=importValidator[_0x331159(0x101)](_0x4bd655,_0xa9d28);_0x4b1d6f['forEach'](_0x1e9463=>{const _0xabe551=_0x331159,_0xa5f2bc=_0x152879[_0xabe551(0x121)](_0x394d41=>_0x394d41[_0xabe551(0x134)]===_0x1e9463[_0xabe551(0x134)]),_0x5c77ee=_0xa9d28[_0xabe551(0x14e)](_0x1303a7=>_0x1303a7[_0xabe551(0xdc)]())[_0xabe551(0x124)](',\x20'),_0x525e6c='Duplicate\x20value\x20for\x20'+_0x5c77ee;_0xa5f2bc?_0xa5f2bc[_0xabe551(0x112)]['push'](_0x525e6c):_0x152879[_0xabe551(0x137)]({'rowIndex':_0x1e9463['rowIndex'],'rowData':_0x4bd655[_0x1e9463['rowIndex']],'errors':[_0x525e6c]});}),await this[_0x331159(0x10a)](_0x4bd655,_0xa9d28,_0x5064fe,_0x3f22d2,_0x5b9706,_0x152879),_0x152879['forEach'](_0x46adb0=>{const _0x1093b2=_0x331159,_0x30008f=_0x4bd655[_0x46adb0['rowIndex']];_0x30008f&&(_0x30008f[_0x1093b2(0xb4)]=_0x46adb0['errors']);});let _0x2c1a3f=0x0,_0x322f2f=0x0,_0xdd33e1=0x0;_0x4bd655['forEach'](_0x93f62b=>{const _0x255473=_0x331159;if(_0x64fbbf[_0x255473(0x144)](_0x93f62b['_action'],'INSERT'))_0x2c1a3f++;else{if(_0x93f62b['_action']===_0x255473(0x11e))_0x322f2f++;else _0x93f62b['_action']==='SKIP'&&_0xdd33e1++;}});const _0x208cfa={'job_id':_0x413e66,'upload_id':_0x56bd90,'status':_0x152879[_0x331159(0x11b)]>0x0?_0x64fbbf[_0x331159(0x16a)]:_0x331159(0x13d),'progress':0x64,'created_at':_0x1839e4['created_at'],'completed_at':new Date()['toISOString'](),'preview':{'total_rows':_0x4bd655['length'],'insert_count':_0x2c1a3f,'update_count':_0x322f2f,'skip_count':_0xdd33e1,'error_count':_0x152879['length'],'errors':_0x152879,'data':_0x4bd655,'sample_insert':_0x4bd655['filter'](_0x4840b9=>_0x4840b9[_0x331159(0xdb)]===_0x331159(0x11a))[_0x331159(0xc8)](0x0,0x5),'sample_update':_0x4bd655['filter'](_0x869644=>_0x869644['_action']==='UPDATE')['slice'](0x0,0x5),'sample_skip':_0x4bd655['filter'](_0x4f468d=>_0x4f468d['_action']===_0x331159(0x167))[_0x331159(0xc8)](0x0,0x5)},'params':_0x2dedc7};await redisHelper['setJob'](_0x331159(0x122)+_0x413e66,_0x208cfa,0xe10),_0x1839e4[_0x331159(0xfb)]=_0x4bd655,await redisHelper[_0x331159(0x148)](_0x331159(0x108)+_0x56bd90,_0x1839e4,0xe10),logger['info']({'event':'preview_job_completed','jobId':_0x413e66,'status':_0x208cfa['status'],'insertCount':_0x2c1a3f,'updateCount':_0x322f2f,'skipCount':_0xdd33e1,'errorCount':_0x152879['length']},_0x331159(0x10f));}catch(_0x4446c8){_0x64fbbf[_0x331159(0xce)](logError,_0x4446c8,{'event':_0x64fbbf['TRVzL'],'jobId':_0x413e66},_0x64fbbf['RgkZh']),await redisHelper['setJob']('job:'+_0x413e66,{'job_id':_0x413e66,'upload_id':_0x56bd90,'status':_0x64fbbf[_0x331159(0xd9)],'progress':0x0,'error':_0x4446c8['message'],'created_at':new Date()[_0x331159(0x15b)](),'completed_at':new Date()['toISOString']()},0xe10);}}async[a0_0x12b2bd(0x10a)](_0x2e7836,_0x423a76,_0x32f0b3,_0x900bde,_0x32996f='update_existing',_0x5a76d2=[]){const _0x491948=a0_0x12b2bd,_0x3daf95={'ScneX':function(_0xc63666,_0x1762a4){return _0xc63666===_0x1762a4;},'UIllk':'UPDATE','rTBPU':_0x491948(0x104),'Umioa':_0x491948(0x167),'lIApO':function(_0x2e8ec6,_0x525080){return _0x2e8ec6===_0x525080;},'bqadi':'INSERT','KnKMC':_0x491948(0x123)},_0x222cd7=upsertBuilder['chunkRows'](_0x2e7836,0x64);for(const _0x4ccdd6 of _0x222cd7){const _0x33b7da=_0x4ccdd6['map'](_0x5886ab=>_0x5886ab[_0x423a76[0x0]]),_0x2fd71c=_0x33b7da['map'](_0x403e0f=>{const _0x3eb0f6=_0x491948;if(_0x3daf95[_0x3eb0f6(0xe6)](_0x403e0f,null)||_0x403e0f===undefined)return'NULL';return'\x27'+String(_0x403e0f)['replace'](/'/g,'\x27\x27')+'\x27';}),_0x2d57ee='\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20'+_0x900bde+',\x20'+_0x423a76[_0x491948(0x124)](',\x20')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x32f0b3+_0x491948(0xb6)+_0x423a76[0x0]+_0x491948(0xc5)+_0x2fd71c[_0x491948(0x124)](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20';let _0x265bde=await executeQuery(_0x2d57ee);_0x3daf95[_0x491948(0xc7)](dbType,_0x3daf95['KnKMC'])&&_0x265bde&&_0x265bde['length']>0x0&&(_0x265bde=_0x265bde['map'](_0x40e611=>{const _0x1bedee=_0x491948,_0x4c6c79={};for(const [_0x5cf04e,_0x1ba151]of Object[_0x1bedee(0x15d)](_0x40e611)){_0x4c6c79[_0x5cf04e[_0x1bedee(0xe7)]()]=_0x1ba151;}return _0x4c6c79;}));const _0x479f23=new Map();_0x265bde['forEach'](_0x19e44a=>{const _0x282050=_0x19e44a[_0x423a76[0x0]];_0x479f23['set'](_0x282050,_0x19e44a);}),_0x4ccdd6['forEach']((_0x44111b,_0x5c91f4)=>{const _0x209129=_0x491948,_0xe090d=_0x44111b[_0x423a76[0x0]],_0xca69b4=_0x479f23[_0x209129(0x162)](_0xe090d);if(_0xca69b4){if(_0x3daf95[_0x209129(0xe6)](_0x32996f,'update_existing'))_0x44111b[_0x209129(0xdb)]=_0x3daf95[_0x209129(0xf4)],_0x44111b[_0x209129(0x133)]=_0xca69b4[_0x900bde];else{if(_0x32996f===_0x3daf95[_0x209129(0x163)]){_0x44111b['_action']=_0x3daf95['Umioa'],_0x44111b['_errors']=_0x44111b[_0x209129(0xb4)]||[],_0x44111b['_errors']['push'](_0x209129(0x11f));const _0x304b54=_0x2e7836['indexOf'](_0x44111b);_0x304b54!==-0x1&&_0x5a76d2['push']({'rowIndex':_0x304b54,'rowData':_0x44111b,'errors':[_0x209129(0x11f)]});}else _0x3daf95[_0x209129(0xc7)](_0x32996f,_0x209129(0x127))&&(_0x44111b['_action']='SKIP');}}else{if(_0x32996f===_0x209129(0x12b))_0x44111b[_0x209129(0xdb)]=_0x3daf95['bqadi'];else(_0x32996f===_0x209129(0x104)||_0x32996f==='skip_existing')&&(_0x44111b['_action']=_0x209129(0x11a));}});}}async[a0_0x12b2bd(0xf9)](_0x25e48d){const _0x265348=a0_0x12b2bd,_0x19983b={'HsPSJ':_0x265348(0x10e),'cPaRt':'Commit\x20processing\x20failed','zuiJo':'preview_ok','vpnUt':_0x265348(0x129),'gmNbI':_0x265348(0x126)},_0x8b56d7=this['generateId'](),_0x1cfaf1=await redisHelper['getJob'](_0x265348(0x122)+_0x25e48d);if(!_0x1cfaf1)throw new Error('Preview\x20job\x20not\x20found\x20or\x20expired');if(_0x1cfaf1[_0x265348(0xda)]!==_0x19983b[_0x265348(0xd3)])throw new Error(_0x265348(0xd2)+_0x1cfaf1['status']);const _0xdf6628={'job_id':_0x8b56d7,'upload_id':_0x1cfaf1['upload_id'],'preview_job_id':_0x25e48d,'status':_0x265348(0x126),'progress':0x0,'created_at':new Date()[_0x265348(0x15b)](),'params':_0x1cfaf1[_0x265348(0x10d)]};return await redisHelper[_0x265348(0x148)]('job:'+_0x8b56d7,_0xdf6628,0xe10),logger[_0x265348(0x125)]({'event':_0x265348(0xb5),'jobId':_0x8b56d7,'previewJobId':_0x25e48d},_0x19983b[_0x265348(0x140)]),this[_0x265348(0x139)](_0x8b56d7,_0x1cfaf1)['catch'](_0x4afdff=>{const _0x50e44c=_0x265348;logError(_0x4afdff,{'event':_0x19983b[_0x50e44c(0xb3)],'jobId':_0x8b56d7},_0x19983b[_0x50e44c(0xc9)]);}),{'job_id':_0x8b56d7,'status':_0x19983b['gmNbI']};}async[a0_0x12b2bd(0x139)](_0x207162,_0x461bd4){const _0x393f6f=a0_0x12b2bd,_0x4bc1ae={'HlLXl':function(_0x4cdfa1,_0x5b14e1){return _0x4cdfa1===_0x5b14e1;},'BXprG':'Upload\x20data\x20not\x20found\x20or\x20expired','qILjs':function(_0x4d90f2,_0xb38c6){return _0x4d90f2>_0xb38c6;},'zMkiI':'import_fields_filtered','AxYSz':function(_0x427cb5,_0x41d2e4){return _0x427cb5>_0x41d2e4;},'uhqKk':_0x393f6f(0x164),'FHyXU':'update','GEMKv':'completed','GCBZc':_0x393f6f(0x12e),'BUyqm':'commit_job_failed','aEHeT':'failed'};try{const _0x1d59f3=await redisHelper['getJob']('upload:'+_0x461bd4['upload_id']);if(!_0x1d59f3)throw new Error(_0x4bc1ae['BXprG']);const {rows:_0x5e4e60,params:_0x16dc10}=_0x1d59f3,{tableName:_0x30cb64,fieldName:_0x2ffc94,primaryKey:_0xbce9ed,upsertKeys:_0x2da0af,excludeFromImport:_0x59b048,lookupFields:_0x5b280d,columnFormats:_0x32a8f9}=_0x16dc10,_0x330462=_0x5b280d?Object[_0x393f6f(0xcf)](_0x5b280d):[],_0x1eb988=new Set([..._0x59b048||[],..._0x330462]);let _0x30750f=_0x2ffc94;_0x4bc1ae[_0x393f6f(0xee)](_0x1eb988['size'],0x0)&&(_0x30750f=_0x2ffc94['filter'](_0x423c4a=>!_0x1eb988[_0x393f6f(0xc3)](_0x423c4a)),logger['debug']({'event':_0x4bc1ae[_0x393f6f(0x103)],'originalCount':_0x2ffc94[_0x393f6f(0x11b)],'filteredCount':_0x30750f[_0x393f6f(0x11b)],'excludedFields':Array[_0x393f6f(0x155)](_0x1eb988),'lookupSourceFields':_0x330462},'Import\x20fields\x20filtered\x20(excluded\x20lookup\x20source\x20columns)'));const _0x20902e=_0x5e4e60[_0x393f6f(0xcd)](_0x5ecc0a=>_0x5ecc0a['_action']==='INSERT'),_0x2be9e0=_0x5e4e60['filter'](_0x547fd7=>_0x547fd7['_action']==='UPDATE');let _0xe4111=0x0,_0x3db914=0x0;const _0x2e9d7b=[];if(_0x4bc1ae[_0x393f6f(0xcc)](_0x20902e['length'],0x0)){const _0x47f124=upsertBuilder[_0x393f6f(0xec)](_0x20902e,0x64);for(const _0x26fccf of _0x47f124){const {query:_0x556ba3}=upsertBuilder['buildBatchInsert'](_0x26fccf,_0x30cb64,_0x30750f,_0x32a8f9||{});_0x556ba3&&_0x2e9d7b[_0x393f6f(0x137)]({'sql':_0x556ba3,'count':_0x26fccf[_0x393f6f(0x11b)],'type':_0x4bc1ae['uhqKk']});}}if(_0x4bc1ae['AxYSz'](_0x2be9e0[_0x393f6f(0x11b)],0x0)){const _0xdbd293=upsertBuilder[_0x393f6f(0xec)](_0x2be9e0,0x64);for(const _0x5071f3 of _0xdbd293){const {query:_0x537cfb}=upsertBuilder[_0x393f6f(0x153)](_0x5071f3,_0x30cb64,_0x30750f,_0xbce9ed,_0x2da0af,_0x32a8f9||{});_0x537cfb&&_0x2e9d7b[_0x393f6f(0x137)]({'sql':_0x537cfb,'count':_0x5071f3[_0x393f6f(0x11b)],'type':_0x4bc1ae[_0x393f6f(0xed)]});}}_0x2e9d7b[_0x393f6f(0x11b)]>0x0&&await executeTransaction(_0x2e9d7b['map'](_0xbe6585=>({'sql':_0xbe6585['sql'],'params':[]})));_0x2e9d7b['forEach'](_0x59016e=>{const _0x4c52fb=_0x393f6f;if(_0x4bc1ae['HlLXl'](_0x59016e['type'],'insert'))_0xe4111+=_0x59016e[_0x4c52fb(0x116)];else _0x3db914+=_0x59016e[_0x4c52fb(0x116)];});const _0x39e857={'job_id':_0x207162,'upload_id':_0x461bd4[_0x393f6f(0xca)],'preview_job_id':_0x461bd4['job_id'],'status':_0x4bc1ae['GEMKv'],'progress':0x64,'created_at':_0x461bd4['created_at'],'started_at':new Date()[_0x393f6f(0x15b)](),'completed_at':new Date()['toISOString'](),'result':{'total_rows':_0x5e4e60[_0x393f6f(0x11b)],'inserted_rows':_0xe4111,'updated_rows':_0x3db914,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x16dc10};await redisHelper[_0x393f6f(0x148)]('job:'+_0x207162,_0x39e857,0xe10),logger[_0x393f6f(0x125)]({'event':_0x4bc1ae[_0x393f6f(0x114)],'jobId':_0x207162,'insertedCount':_0xe4111,'updatedCount':_0x3db914},_0x393f6f(0x13f));}catch(_0x100833){logError(_0x100833,{'event':_0x4bc1ae[_0x393f6f(0x150)],'jobId':_0x207162},'Commit\x20job\x20failed'),await redisHelper['setJob'](_0x393f6f(0x122)+_0x207162,{'job_id':_0x207162,'upload_id':_0x461bd4['upload_id'],'preview_job_id':_0x461bd4['job_id'],'status':_0x4bc1ae['aEHeT'],'progress':0x0,'error':_0x100833['message'],'created_at':_0x461bd4['created_at'],'started_at':new Date()['toISOString'](),'completed_at':new Date()[_0x393f6f(0x15b)]()},0xe10);}}async['getJobStatus'](_0x49e8af){const _0x3ddeab=a0_0x12b2bd,_0x42f6c9={'dglaf':'Job\x20not\x20found\x20or\x20expired'},_0x407d1f=await redisHelper[_0x3ddeab(0x15e)]('job:'+_0x49e8af);if(!_0x407d1f)return{'success':![],'error':_0x42f6c9[_0x3ddeab(0xcb)]};return{'success':!![],'data':_0x407d1f};}}module['exports']=new ImportService();
1
+ const a0_0x548d70=a0_0x4abe;function a0_0x1395(){const _0x5b908f=['wKPTCwK','y3jLyxrLq29TBwL0sM9I','mtDJELHnENK','ChjLDMLLD19QB2jFy29TCgXLDgvK','qxv0BY1Nzw5LCMf0zwqGvvvjrcbMB3iG','s0rktfy','zxHLy3v0zvf1zxj5','ChjLDMLLD19QB2jFy3jLyxrLza','Dw5SAw5R','zMLSDgvY','ChjLDMLLD19VAW','ntaXndqZmxfWvMPvCG','x2v4Axn0Aw5Nswq','ndiXnZHfAw5SAg8','CMvWBgfJzq','rhvWBgLJyxrLihzHBhvLigzVCIa','mJC0mtGYmgf1weHKuW','qvbTywm','zw5Prhu','y29SDw1UrM9YBwf0CW','C2TPCf9LEgLZDgLUzW','CKTfA3K','t0nJqMe','mJiYoujnr3DkCW','ChjVy2vZC2vKuM93CW','uhjLDMLLDYbQB2iGy29TCgXLDgvK','AhzMs2C','twXWvMC','ChjVy2vZC0XVB2T1CezPzwXKCW','uhrnBMS','u0vis2G','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','u3bXrMu','y29TBwL0x3bYB2nLC3nFzxjYB3i','wNrgs2e','lI4VDxrPBhmVBg9VA3vWlxjLC29SDMvY','DxbSB2fKrgLY','AgfrDhm','z2v0tw9UDgG','yMf0y2HwywXPzgf0zvjVD3m','Bg9VA3vWrMLLBgrZ','rMfPBgvKihrVignSzwfUDxaGzMLSzq','EuDxsMe','DhjPBq','BwfW','ChvZAa','q29SDw1UigzVCM1HDhmGyxbWBgLLzcb0BYbYB3DZ','zhLgCLu','C1zVDwm','CfLYCvO','DMfSAwq','uMvXDwvZDcbZy29WzsbVDMvYCMLKzsbHChbSAwvKihrVigLTCg9YDgvKihjVD3m','x2vYCM9YCW','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','BxLZCwW','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','Avfuq3a','lI4VlI4VDgvTCc91CgXVywrZlW','DgfYz2v0rMLLBgq','ChjVy2vZC1bYzxzPzxDkB2i','zw52','DxbSB2fKx2LK','CgfKu3rHCNq','CM93CW','y2f0y2G','y29TBwL0x2PVyL9JB21WBgv0zwq','z2vUzxjHDgvjza','Dg9ju09tDhjPBMC','mZq4nZC3nZD6uMDUtw4','BgvUz3rO','Aw5KzxHpzG','kqOGicaGica','AM9IoG','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','uhjLDMLLDYbQB2iGBM90igzVDw5Kig9Yigv4CgLYzwq','lI4VDxrPBhmVzgi','DxbKyxrL','Dhj1zq','zM9YrwfJAa','C3PvDKy','BhHtCNK','y3jLyxrLzf9HDa','s3P0vwy','ndy2mgjNzLHUBW','u0Tjua','BNvTyMvY','DhLWzq','BNLSyu8','CM93sw5KzxG','DKrkzwC','wMHlvNm','D25Py1a','y29TBwL0x2PVyL9MywLSzwq','C2L6zq','y1b1Aha','z2v0sM9I','lI4VDxrPBhmVzxHJzwWTCgfYC2vY','DMf3ueK','A1D1veq','yNvPBgrcyxrJAfvWzgf0zq','mtbxtg5XEhi','Aw5Zzxj0','s2PRChy','DMfSAwrHDgLUzW','tLvmta','DxbSB2fKoG','CgfYyw1Z','zxHLy3v0zvrYyw5Zywn0Aw9U','zM9YBwf0qM9VBgvHBKzVCKrHDgfIyxnL','uK5ksNy','vvbeqvrf','y29TCgXLDgvK','BwvZC2fNzq','zLbiu2G','cIaGicaGicaGv0HfuKuG','wuzswwe','Dg9vChbLCKnHC2u','cIaGicaGicaGu0vmrunuia','jdfFjdi','AujtDfy','y3jLyxrLuhjLDMLLD0PVyG','zw50CMLLCW','mZe2oda1ngTpAuTxzW','q29TBwL0igPVyIbJCMvHDgvK','z2v0vgLTzq','DxbKyxrLx2v4Axn0Aw5N','D05AvgO','x2fJDgLVBG','z3LRt2S','uhjVy2vZC2LUzYbSB29RDxaGzMLLBgrZ','zNvpBhC','sw1WB3j0igzPzwXKCYbMAwX0zxjLzcaOzxHJBhvKzwqGBg9VA3vWihnVDxjJzsbJB2X1Bw5Zkq','qK1pBg8','mJrly1nbtgq','vfjMuxa','y2H1BMTsB3DZ','z2v0','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvPHyMnKzwzNAgLQA2XTBM9WCxjZDhv2D3H5EJaXmJm0nty3odK','Aw5MBW','q0PHD2C','Dg9mB3DLCKnHC2u','DgvZDa','lI4VDxrPBhmVBg9Nz2vY','C2XPy2u','uhjLDMLLDYbQB2iGzMfPBgvK','lI4VDxrPBhmVCMvKAxmTAgvSCgvY','A2v5CW','rxHJzwWGC3rYDwn0DxjLig1PC21HDgnOlIbnAxnZAw5NigzPzwXKCZOG','x2DLBMvYyxrLzf91DwLK','C3vIC3rYAw5N','zgvIDwC','q29TBwL0igPVyIbJB21WBgv0zwq','Aw5JBhvKzxm','C3rHDhvZ','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','ChjVy2vZC2LUzW','vvbmt0fex0rjuG','C3rYAw5N','qvvOv2q','C2jUsKq','mtC5mZGYmerPCfbmwG','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','ieLoicG','su5trvju','DuzNtK8','x3vWBg9HzerPCG','DxbSB2fKrMLSzq','AM9PBG','Aw5Zzxj0x29UBhK','C2v0','uxbIEw0','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','B3jHy2XL','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','BgfIzwXFDg9FzMLLBgrFBwfWx2j1AwX0','C2v0sM9I','zMLUza','rhD3C08','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','zxjYB3jZ','yM9VBgvHBG','rejFvfLqrq','lI4VDxrPBhmVDxbZzxj0lwj1AwXKzxi'];a0_0x1395=function(){return _0x5b908f;};return a0_0x1395();}(function(_0x33f7de,_0x22defc){const _0x11c7c8=a0_0x4abe,_0x84691b=_0x33f7de();while(!![]){try{const _0x25e9b8=parseInt(_0x11c7c8(0x1e1))/0x1*(parseInt(_0x11c7c8(0x1ec))/0x2)+parseInt(_0x11c7c8(0x1f6))/0x3*(-parseInt(_0x11c7c8(0x17a))/0x4)+-parseInt(_0x11c7c8(0x18b))/0x5*(parseInt(_0x11c7c8(0x1a1))/0x6)+-parseInt(_0x11c7c8(0x1c7))/0x7*(parseInt(_0x11c7c8(0x1ac))/0x8)+-parseInt(_0x11c7c8(0x1ea))/0x9+parseInt(_0x11c7c8(0x1ef))/0xa+parseInt(_0x11c7c8(0x16b))/0xb;if(_0x25e9b8===_0x22defc)break;else _0x84691b['push'](_0x84691b['shift']());}catch(_0x369ece){_0x84691b['push'](_0x84691b['shift']());}}}(a0_0x1395,0x87b4a));const {v7:uuidv7}=require('uuid'),path=require('path'),fs=require('fs')['promises'],redisHelper=require(a0_0x548d70(0x1b8)),{logger,logError}=require(a0_0x548d70(0x1b5)),dbType=(process[a0_0x548d70(0x163)][a0_0x548d70(0x1dd)]||'postgresql')[a0_0x548d70(0x1b3)]();function a0_0x4abe(_0x34f53d,_0x46a099){_0x34f53d=_0x34f53d-0x163;const _0x139590=a0_0x1395();let _0x4abe16=_0x139590[_0x34f53d];if(a0_0x4abe['xlQxNh']===undefined){var _0x3b033e=function(_0x5e0250){const _0x1ea5a7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1d439b='',_0x4c3ecd='';for(let _0x6ccafe=0x0,_0x47cc75,_0xfcef80,_0x3ea31e=0x0;_0xfcef80=_0x5e0250['charAt'](_0x3ea31e++);~_0xfcef80&&(_0x47cc75=_0x6ccafe%0x4?_0x47cc75*0x40+_0xfcef80:_0xfcef80,_0x6ccafe++%0x4)?_0x1d439b+=String['fromCharCode'](0xff&_0x47cc75>>(-0x2*_0x6ccafe&0x6)):0x0){_0xfcef80=_0x1ea5a7['indexOf'](_0xfcef80);}for(let _0x68b2cc=0x0,_0x49620a=_0x1d439b['length'];_0x68b2cc<_0x49620a;_0x68b2cc++){_0x4c3ecd+='%'+('00'+_0x1d439b['charCodeAt'](_0x68b2cc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4c3ecd);};a0_0x4abe['aaVGIt']=_0x3b033e,a0_0x4abe['mbQYGo']={},a0_0x4abe['xlQxNh']=!![];}const _0x52e204=_0x139590[0x0],_0xe04b4e=_0x34f53d+_0x52e204,_0x328eb5=a0_0x4abe['mbQYGo'][_0xe04b4e];return!_0x328eb5?(_0x4abe16=a0_0x4abe['aaVGIt'](_0x4abe16),a0_0x4abe['mbQYGo'][_0xe04b4e]=_0x4abe16):_0x4abe16=_0x328eb5,_0x4abe16;}let executeQuery,executeTransaction,oracleDb;if(dbType==='oracle')oracleDb=require('../utils/db-oracle'),executeQuery=(_0x4b8171,_0x42c1b0)=>oracleDb[a0_0x548d70(0x1e5)](_0x4b8171,_0x42c1b0),executeTransaction=_0x11728c=>oracleDb[a0_0x548d70(0x192)](_0x11728c);else{if(dbType===a0_0x548d70(0x215)){const mysqlDb=require('../utils/db-mysql');executeQuery=(_0x1b943c,_0x118953)=>mysqlDb['executeQuery'](_0x1b943c,_0x118953),executeTransaction=_0x3e630f=>mysqlDb['executeTransaction'](_0x3e630f);}else{const db=require(a0_0x548d70(0x172));executeQuery=db[a0_0x548d70(0x1e5)],executeTransaction=db[a0_0x548d70(0x192)];}}const excelParser=require(a0_0x548d70(0x187)),importValidator=require('../utils/import-validator'),upsertBuilder=require(a0_0x548d70(0x1de)),lookupResolver=require(a0_0x548d70(0x202));class ImportService{constructor(){this['_uploadDir']=null;}get[a0_0x548d70(0x203)](){const _0x5f3a3a=a0_0x548d70;if(!this['_uploadDir']){const _0x3ddc26=process['env'][_0x5f3a3a(0x214)]||'default';this[_0x5f3a3a(0x1cc)]=process['env'][_0x5f3a3a(0x1c3)]||path['join'](__dirname,_0x5f3a3a(0x218)+_0x3ddc26);}return this[_0x5f3a3a(0x1cc)];}['generateId'](){const _0x4e1a17=a0_0x548d70,_0x518c9e={'ZJmqi':_0x4e1a17(0x1b0),'MlpVg':function(_0x2fe682,_0x30adc7){return _0x2fe682-_0x30adc7;},'cPuhp':function(_0x39d3b3,_0x445f32){return _0x39d3b3*_0x445f32;}},_0x5b741d=_0x518c9e[_0x4e1a17(0x1df)],_0x11c748=Date['now']()['toString'](0x24),_0x2fda1d=uuidv7()[_0x4e1a17(0x1ed)](/-/g,'')['substring'](0x0,_0x518c9e[_0x4e1a17(0x1fa)](0xc,_0x11c748[_0x4e1a17(0x16c)])),_0x54eec2=(_0x11c748+_0x2fda1d)[_0x4e1a17(0x1bc)](0x0,0xc);let _0x1b78f6='';for(let _0x7bb0ae=0x0;_0x7bb0ae<0xc;_0x7bb0ae++){_0x54eec2[_0x7bb0ae]?_0x1b78f6+=_0x54eec2[_0x7bb0ae]:_0x1b78f6+=_0x5b741d['charAt'](Math['floor'](_0x518c9e[_0x4e1a17(0x185)](Math['random'](),_0x5b741d['length'])));}return _0x1b78f6;}['buildLabelToFieldMap'](_0x35872c){const _0x542f9d=a0_0x548d70,_0x192c45={'awUwC':'Label\x20to\x20field\x20mapping\x20built'},_0x59d0dc=new Map();if(!_0x35872c)return _0x59d0dc;return Object['entries'](_0x35872c)['forEach'](([_0x306055,_0x446bbd])=>{const _0x11c58e=a0_0x4abe,_0x4e7f1a=String(_0x446bbd)[_0x11c58e(0x20a)]()['replace'](/\s+/g,'_')['replace'](/([a-z])([A-Z])/g,_0x11c58e(0x19d))[_0x11c58e(0x1ed)](/([A-Z]+)([A-Z][a-z])/g,_0x11c58e(0x19d))['toLowerCase']();_0x59d0dc[_0x11c58e(0x1d0)](_0x4e7f1a,_0x306055);}),logger['debug']({'event':_0x542f9d(0x1d6),'mappingCount':_0x59d0dc[_0x542f9d(0x184)]},_0x192c45['awUwC']),_0x59d0dc;}['applyColumnFormats'](_0xa3cde,_0x43ed65){const _0x501f74=a0_0x548d70,_0x49660b={'vawPI':function(_0x2ed432,_0x34957c){return _0x2ed432===_0x34957c;},'vWTjQ':function(_0x3e4a12,_0x1a0176){return _0x3e4a12===_0x1a0176;},'KiGkE':function(_0x31e1ae,_0xc769e3){return _0x31e1ae===_0xc769e3;},'sbnJD':_0x501f74(0x17c),'SzDKv':_0x501f74(0x1dc),'fPHSh':'text','YFRYa':function(_0x587f12,_0x5073bd){return _0x587f12===_0x5073bd;}};if(!_0x43ed65||_0x49660b[_0x501f74(0x19a)](Object['keys'](_0x43ed65)[_0x501f74(0x16c)],0x0))return _0xa3cde;return _0xa3cde['map'](_0x2e3a7a=>{const _0x4ccbe7=_0x501f74,_0x2e7f6d={..._0x2e3a7a};for(const [_0x3c10a4,_0x253afa]of Object[_0x4ccbe7(0x1a0)](_0x43ed65)){const _0x23532b=_0x2e7f6d[_0x3c10a4];if(_0x49660b[_0x4ccbe7(0x188)](_0x23532b,null)||_0x49660b['vWTjQ'](_0x23532b,undefined)||_0x49660b['KiGkE'](_0x23532b,'')){_0x2e7f6d[_0x3c10a4]=null;continue;}switch(_0x253afa[_0x4ccbe7(0x17d)]){case'date':_0x2e7f6d[_0x3c10a4]=this['formatDateForDatabase'](_0x23532b);break;case _0x49660b[_0x4ccbe7(0x1c6)]:_0x2e7f6d[_0x3c10a4]=this[_0x4ccbe7(0x1d4)](_0x23532b);break;case _0x49660b['SzDKv']:_0x2e7f6d[_0x3c10a4]=this[_0x4ccbe7(0x193)](_0x23532b);break;case _0x49660b[_0x4ccbe7(0x198)]:_0x2e7f6d[_0x3c10a4]=String(_0x23532b);break;default:break;}}return _0x2e7f6d;});}[a0_0x548d70(0x1da)](_0x1d18b0){const _0x5467f3=a0_0x548d70,_0x1b6734={'BJBKc':function(_0x4cc254,_0x490915){return _0x4cc254===_0x490915;},'npMtm':function(_0x2368ea,_0x539fd2){return _0x2368ea===_0x539fd2;},'DwwsO':_0x5467f3(0x1c4),'RNJJv':function(_0xf46f8e,_0x1811d1){return _0xf46f8e instanceof _0x1811d1;},'YIlMS':function(_0x387c68,_0x5b9bb1){return _0x387c68+_0x5b9bb1;},'yGWJa':function(_0x34e3b7,_0x24133f){return _0x34e3b7(_0x24133f);}};if(_0x1b6734['BJBKc'](_0x1d18b0,null)||_0x1d18b0===undefined||_0x1b6734['npMtm'](_0x1d18b0,''))return null;if(_0x1b6734['npMtm'](typeof _0x1d18b0,_0x1b6734[_0x5467f3(0x1d9)])&&/^\d{4}-\d{2}-\d{2}$/['test'](_0x1d18b0))return _0x1d18b0;if(_0x1b6734[_0x5467f3(0x194)](_0x1d18b0,Date)){if(isNaN(_0x1d18b0[_0x5467f3(0x1a3)]()))return null;const _0x284d0e=_0x1d18b0['getFullYear'](),_0x55af0c=String(_0x1b6734['YIlMS'](_0x1d18b0[_0x5467f3(0x205)](),0x1))[_0x5467f3(0x165)](0x2,'0'),_0x214c9e=_0x1b6734[_0x5467f3(0x209)](String,_0x1d18b0['getDate']())[_0x5467f3(0x165)](0x2,'0');return _0x284d0e+'-'+_0x55af0c+'-'+_0x214c9e;}if(typeof _0x1d18b0===_0x1b6734[_0x5467f3(0x1d9)]){const _0x33f8e4=_0x1d18b0['match'](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x33f8e4){const _0x14d827=String(_0x33f8e4[0x1])['padStart'](0x2,'0'),_0x2cc076=String(_0x33f8e4[0x2])[_0x5467f3(0x165)](0x2,'0'),_0x1bf99b=_0x33f8e4[0x3];return _0x1bf99b+'-'+_0x2cc076+'-'+_0x14d827;}const _0x5c2420=_0x1d18b0['match'](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x5c2420){const _0x124d50=_0x5c2420[0x1],_0x4c0bc8=_0x1b6734['yGWJa'](String,_0x5c2420[0x2])[_0x5467f3(0x165)](0x2,'0'),_0x2eed59=_0x1b6734[_0x5467f3(0x209)](String,_0x5c2420[0x3])['padStart'](0x2,'0');return _0x124d50+'-'+_0x4c0bc8+'-'+_0x2eed59;}}return _0x1d18b0;}[a0_0x548d70(0x1d4)](_0x39d10c){const _0x186069=a0_0x548d70,_0x43110a={'sVouc':function(_0x4b16d9,_0x4e0fb4){return _0x4b16d9===_0x4e0fb4;},'ZtFKa':'string','wnicP':function(_0x10ddab,_0x1d9a19){return _0x10ddab(_0x1d9a19);}};if(_0x39d10c===null||_0x43110a[_0x186069(0x20f)](_0x39d10c,undefined)||_0x39d10c==='')return null;if(typeof _0x39d10c==='number')return isNaN(_0x39d10c)?null:_0x39d10c;if(typeof _0x39d10c===_0x43110a[_0x186069(0x201)]){let _0x50e01f=_0x39d10c['trim']();const _0x261b6c=/,\d{1,2}$/['test'](_0x50e01f)&&!/,\d{3}/[_0x186069(0x1b4)](_0x50e01f);_0x261b6c?_0x50e01f=_0x50e01f[_0x186069(0x1ed)](/\./g,'')[_0x186069(0x1ed)](',','.'):_0x50e01f=_0x50e01f['replace'](/,/g,'');const _0x3f2e9a=_0x43110a[_0x186069(0x182)](parseFloat,_0x50e01f);return isNaN(_0x3f2e9a)?null:_0x3f2e9a;}return null;}[a0_0x548d70(0x193)](_0x64a150){const _0x1c28f2=a0_0x548d70,_0xd227af={'lsigH':function(_0x473da4,_0x3f2969){return _0x473da4===_0x3f2969;},'JyXCw':function(_0x57e6df,_0x2c1e3e){return _0x57e6df===_0x2c1e3e;},'CJawg':function(_0x54820e,_0x48946e){return _0x54820e===_0x48946e;},'KztUf':_0x1c28f2(0x174),'Qpbym':'false','eniDu':_0x1c28f2(0x1c4),'APmac':_0x1c28f2(0x17c)};if(_0xd227af['lsigH'](_0x64a150,null)||_0x64a150===undefined||_0xd227af['JyXCw'](_0x64a150,''))return null;if(_0xd227af[_0x1c28f2(0x1b2)](typeof _0x64a150,'boolean'))return _0x64a150?_0xd227af['KztUf']:_0xd227af[_0x1c28f2(0x1d1)];if(typeof _0x64a150===_0xd227af[_0x1c28f2(0x1f1)]){const _0x325000=_0x64a150[_0x1c28f2(0x20a)]()[_0x1c28f2(0x1b3)]();if([_0xd227af[_0x1c28f2(0x179)],'yes','y','1'][_0x1c28f2(0x1bf)](_0x325000))return'true';if(['false','no','n','0'][_0x1c28f2(0x1bf)](_0x325000))return _0xd227af[_0x1c28f2(0x1d1)];return null;}if(typeof _0x64a150===_0xd227af[_0x1c28f2(0x1f0)])return _0x64a150?_0xd227af['KztUf']:'false';return null;}async[a0_0x548d70(0x1cd)](_0x494cb4,_0x19ca42){const _0xcd01f9=a0_0x548d70,_0x1f43f7={'TRfQp':function(_0x2b03a0,_0x21b959){return _0x2b03a0||_0x21b959;},'Kjkpv':'headers_mapped','eLYqt':'request_scope_applied','sCdBS':_0xcd01f9(0x212),'fuOlw':'import_file_uploaded','ounpT':_0xcd01f9(0x1fe),'tkMji':function(_0x2087aa,_0x2b7a17,_0x459cc3,_0x394cf0){return _0x2087aa(_0x2b7a17,_0x459cc3,_0x394cf0);},'AdjYw':'file_cleanup_error','KDKmL':_0xcd01f9(0x208)},_0x1e140c=this[_0xcd01f9(0x169)]();try{let {headers:_0x52b2b7,rows:_0x2c4f7a,totalRows:_0x5e3ae9}=await excelParser['parseExcelFile'](_0x494cb4['path']);const _0x8425e6=this['buildLabelToFieldMap'](_0x19ca42['fieldLabels']),_0xbed73f=_0x52b2b7['map'](_0x5cd251=>{const _0x1dc436=_0xcd01f9,_0x392e42=_0x8425e6[_0x1dc436(0x1af)](_0x5cd251);return _0x1f43f7[_0x1dc436(0x1ad)](_0x392e42,_0x5cd251);});_0x2c4f7a=_0x2c4f7a[_0xcd01f9(0x20b)](_0x2a83e4=>{const _0x665c8={};return _0x52b2b7['forEach']((_0x3a2771,_0x1e3de7)=>{const _0x1a0955=_0xbed73f[_0x1e3de7];_0x665c8[_0x1a0955]=_0x2a83e4[_0x3a2771];}),_0x665c8;}),_0x52b2b7=_0xbed73f,logger[_0xcd01f9(0x1bd)]({'event':_0x1f43f7[_0xcd01f9(0x18d)],'original':_0x52b2b7[_0xcd01f9(0x16c)],'mapped':_0xbed73f['filter']((_0x572247,_0x30d812)=>_0x572247!==_0x52b2b7[_0x30d812])['length']},'Excel\x20headers\x20mapped\x20to\x20field\x20names');_0x19ca42[_0xcd01f9(0x1f2)]&&Object['keys'](_0x19ca42[_0xcd01f9(0x1f2)])[_0xcd01f9(0x16c)]>0x0&&(_0x2c4f7a=this['applyColumnFormats'](_0x2c4f7a,_0x19ca42[_0xcd01f9(0x1f2)]),logger[_0xcd01f9(0x1bd)]({'event':_0xcd01f9(0x1c1),'formatCount':Object[_0xcd01f9(0x1b9)](_0x19ca42[_0xcd01f9(0x1f2)])['length'],'formats':Object[_0xcd01f9(0x1b9)](_0x19ca42[_0xcd01f9(0x1f2)])},_0xcd01f9(0x20d)));if(_0x19ca42['scopeOverride']&&_0x19ca42['scopeOverride']['column']){const {column:_0x4b620c,value:_0x33d1ac}=_0x19ca42['scopeOverride'];_0x2c4f7a=_0x2c4f7a[_0xcd01f9(0x20b)](_0x36a695=>({..._0x36a695,[_0x4b620c]:_0x33d1ac})),logger['debug']({'event':_0x1f43f7['eLYqt'],'column':_0x4b620c,'rowCount':_0x2c4f7a['length']},_0x1f43f7['sCdBS']);}const _0x42f3c7=_0x19ca42[_0xcd01f9(0x207)]?Object['values'](_0x19ca42['lookupFields'])['map'](_0x30882c=>_0x30882c[_0xcd01f9(0x219)]):[],_0x369077=_0x19ca42['fieldName'][_0xcd01f9(0x1e8)](_0x42d071=>!_0x42f3c7[_0xcd01f9(0x1bf)](_0x42d071)),_0x523512=excelParser['validateExcelStructure'](_0x52b2b7,_0x369077);if(!_0x523512[_0xcd01f9(0x211)]){await fs[_0xcd01f9(0x1e7)](_0x494cb4['path']);throw new Error(_0xcd01f9(0x1ba)+_0x523512['missingFields'][_0xcd01f9(0x1ce)](',\x20'));}const _0x372200={'upload_id':_0x1e140c,'filename':_0x494cb4['originalname'],'total_rows':_0x5e3ae9,'headers':_0x52b2b7,'rows':_0x2c4f7a,'params':_0x19ca42,'created_at':new Date()[_0xcd01f9(0x16a)]()};return await redisHelper['setJob'](_0xcd01f9(0x190)+_0x1e140c,_0x372200,0xe10),await fs['unlink'](_0x494cb4['path']),logger[_0xcd01f9(0x1b1)]({'event':_0x1f43f7[_0xcd01f9(0x1a9)],'uploadId':_0x1e140c,'filename':_0x494cb4['originalname'],'totalRows':_0x5e3ae9},_0x1f43f7['ounpT']),{'upload_id':_0x1e140c,'total_rows':_0x5e3ae9,'preview':_0x2c4f7a[_0xcd01f9(0x1b6)](0x0,0xa)};}catch(_0x1d30c3){try{await fs['unlink'](_0x494cb4['path']);}catch(_0x3e9bec){_0x1f43f7['tkMji'](logError,_0x3e9bec,{'event':_0x1f43f7['AdjYw']},_0x1f43f7['KDKmL']);}throw _0x1d30c3;}}async[a0_0x548d70(0x19f)](_0x18d40e){const _0x461efd=a0_0x548d70,_0x425c68={'KrFRU':function(_0xaae9c5,_0x4d9b6c,_0x1a6cc1,_0x4826ba){return _0xaae9c5(_0x4d9b6c,_0x1a6cc1,_0x4826ba);},'cFRWo':'Preview\x20processing\x20failed','BMOlo':'validating','OCcBa':'Preview\x20job\x20created'},_0x56cc25=this[_0x461efd(0x169)](),_0x5a782e=await redisHelper['getJob']('upload:'+_0x18d40e);if(!_0x5a782e)throw new Error(_0x461efd(0x216));const _0xfa0de={'job_id':_0x56cc25,'upload_id':_0x18d40e,'status':_0x425c68[_0x461efd(0x1ab)],'progress':0x0,'created_at':new Date()[_0x461efd(0x16a)](),'params':_0x5a782e[_0x461efd(0x191)]};return await redisHelper[_0x461efd(0x1d7)](_0x461efd(0x16f)+_0x56cc25,_0xfa0de,0xe10),logger['info']({'event':_0x461efd(0x1e6),'jobId':_0x56cc25,'uploadId':_0x18d40e},_0x425c68[_0x461efd(0x1f5)]),this[_0x461efd(0x21a)](_0x56cc25,_0x18d40e,_0x5a782e)['catch'](_0x4e4ff7=>{_0x425c68['KrFRU'](logError,_0x4e4ff7,{'event':'preview_process_error','jobId':_0x56cc25},_0x425c68['cFRWo']);}),{'job_id':_0x56cc25,'status':_0x461efd(0x18e)};}[a0_0x548d70(0x1d5)](_0x46bd3c,_0x3b7d41){const _0x2aff9a={'dyFrU':function(_0x35e9ed,_0x115346){return _0x35e9ed===_0x115346;},'iQTCp':function(_0x11bc5b,_0x30b031){return _0x11bc5b===_0x30b031;},'rsrXZ':function(_0x371692,_0x579371){return _0x371692(_0x579371);},'rKEky':function(_0x18838c){return _0x18838c();},'uFgNO':'uuid_auto_generated'};_0x46bd3c['forEach']((_0x4c9199,_0x250c9b)=>{const _0x52ad09=a0_0x4abe;_0x3b7d41[_0x52ad09(0x175)](_0x53a7cf=>{const _0x20c8de=_0x52ad09,_0x31e44f=_0x4c9199[_0x53a7cf];if(_0x31e44f===null||_0x2aff9a[_0x20c8de(0x20e)](_0x31e44f,undefined)||_0x31e44f===''||_0x2aff9a[_0x20c8de(0x217)](_0x2aff9a['rsrXZ'](String,_0x31e44f)[_0x20c8de(0x20a)](),'-')){const _0x3eb37d=_0x2aff9a[_0x20c8de(0x1f4)](uuidv7);_0x4c9199[_0x53a7cf]=_0x3eb37d,_0x4c9199['_generated_uuid']=_0x4c9199[_0x20c8de(0x1bb)]||{},_0x4c9199['_generated_uuid'][_0x53a7cf]=_0x3eb37d,logger['debug']({'event':_0x2aff9a[_0x20c8de(0x1cb)],'rowIndex':_0x250c9b,'field':_0x53a7cf,'uuid':_0x3eb37d},_0x20c8de(0x1e3)+_0x53a7cf+'\x20at\x20row\x20'+(_0x250c9b+0x2));}});});}async['processPreviewJob'](_0x537c02,_0x55ff3d,_0x26e6d9){const _0x196d8b=a0_0x548d70,_0x210ec7={'hvfKg':function(_0x672f1c,_0x3e1553){return _0x672f1c===_0x3e1553;},'vDJeg':function(_0x18027c,_0x315923){return _0x18027c===_0x315923;},'LgTpS':_0x196d8b(0x17b),'SpqFe':function(_0x120353,_0x2ce8a0){return _0x120353>_0x2ce8a0;},'Rwkyu':'processing_lookup_fields','ZhKVs':'preview_error','PtMnk':_0x196d8b(0x1f8),'iBStV':_0x196d8b(0x1b7)};try{let {rows:_0x53af6c,params:_0x282878}=_0x26e6d9;const {requiredFields:_0x1f3bd2,validations:_0x540dbd,upsertKeys:_0x3ca214,tableName:_0x253cd6,primaryKey:_0x256946,fieldName:_0x5c1e6f,upsertStrategy:_0x15d2b5,lookupFields:_0x4287cf}=_0x282878;this[_0x196d8b(0x1d5)](_0x53af6c,_0x3ca214);let _0x10827e=[];if(_0x4287cf&&_0x210ec7[_0x196d8b(0x1ff)](Object['keys'](_0x4287cf)['length'],0x0)){logger[_0x196d8b(0x1b1)]({'event':_0x210ec7['Rwkyu'],'jobId':_0x537c02,'lookupFieldCount':Object[_0x196d8b(0x1b9)](_0x4287cf)[_0x196d8b(0x16c)]},_0x196d8b(0x1a8));const _0x2a72a8=await lookupResolver[_0x196d8b(0x1fb)](_0x53af6c,_0x4287cf);_0x53af6c=_0x2a72a8[_0x196d8b(0x1f7)],_0x10827e=_0x2a72a8[_0x196d8b(0x1db)],_0x26e6d9[_0x196d8b(0x166)]=_0x53af6c;}const _0x495167=importValidator[_0x196d8b(0x206)](_0x53af6c,_0x1f3bd2||[],_0x540dbd||{});_0x10827e[_0x196d8b(0x175)](_0xbde3c=>{const _0x3c95f1=_0x196d8b,_0x1ce72a=_0x495167[_0x3c95f1(0x1d8)](_0x31086f=>_0x31086f['rowIndex']===_0xbde3c[_0x3c95f1(0x17f)]);_0x1ce72a?_0x1ce72a[_0x3c95f1(0x1db)]['push'](_0xbde3c['message']):_0x495167['push']({'rowIndex':_0xbde3c['rowIndex'],'rowData':_0x53af6c[_0xbde3c['rowIndex']],'errors':[_0xbde3c['message']]});});const _0x1a5b43=importValidator['detectDuplicatesInFile'](_0x53af6c,_0x3ca214);_0x1a5b43[_0x196d8b(0x175)](_0x1fcff3=>{const _0x111bd3=_0x196d8b,_0x986e77=_0x495167['find'](_0x8d32ae=>_0x8d32ae[_0x111bd3(0x17f)]===_0x1fcff3[_0x111bd3(0x17f)]),_0x5ee69c=_0x3ca214['map'](_0x4ae795=>_0x4ae795[_0x111bd3(0x19b)]())[_0x111bd3(0x1ce)](',\x20'),_0x43469b=_0x111bd3(0x1ee)+_0x5ee69c;_0x986e77?_0x986e77[_0x111bd3(0x1db)]['push'](_0x43469b):_0x495167[_0x111bd3(0x20c)]({'rowIndex':_0x1fcff3[_0x111bd3(0x17f)],'rowData':_0x53af6c[_0x1fcff3[_0x111bd3(0x17f)]],'errors':[_0x43469b]});}),await this['detectDatabaseDuplicates'](_0x53af6c,_0x3ca214,_0x253cd6,_0x256946,_0x15d2b5,_0x495167),_0x495167['forEach'](_0x4bf280=>{const _0x23b5de=_0x196d8b,_0xd599be=_0x53af6c[_0x4bf280['rowIndex']];_0xd599be&&(_0xd599be['_errors']=_0x4bf280[_0x23b5de(0x1db)]);});let _0x334f3f=0x0,_0x350053=0x0,_0x5e7043=0x0;_0x53af6c[_0x196d8b(0x175)](_0x1fc711=>{const _0x1f0c04=_0x196d8b;if(_0x210ec7[_0x1f0c04(0x1f9)](_0x1fc711['_action'],_0x1f0c04(0x1ca)))_0x334f3f++;else{if(_0x210ec7[_0x1f0c04(0x180)](_0x1fc711[_0x1f0c04(0x1a6)],_0x1f0c04(0x195)))_0x350053++;else _0x210ec7['hvfKg'](_0x1fc711[_0x1f0c04(0x1a6)],_0x210ec7['LgTpS'])&&_0x5e7043++;}});const _0xe59c65={'job_id':_0x537c02,'upload_id':_0x55ff3d,'status':_0x210ec7['SpqFe'](_0x495167[_0x196d8b(0x16c)],0x0)?_0x210ec7[_0x196d8b(0x181)]:_0x196d8b(0x1e9),'progress':0x64,'created_at':_0x26e6d9[_0x196d8b(0x178)],'completed_at':new Date()['toISOString'](),'preview':{'total_rows':_0x53af6c[_0x196d8b(0x16c)],'insert_count':_0x334f3f,'update_count':_0x350053,'skip_count':_0x5e7043,'error_count':_0x495167['length'],'errors':_0x495167,'data':_0x53af6c,'sample_insert':_0x53af6c['filter'](_0x5a81bd=>_0x5a81bd['_action']==='INSERT')['slice'](0x0,0x5),'sample_update':_0x53af6c['filter'](_0x13501f=>_0x13501f['_action']===_0x196d8b(0x195))[_0x196d8b(0x1b6)](0x0,0x5),'sample_skip':_0x53af6c[_0x196d8b(0x1e8)](_0x3fea09=>_0x3fea09[_0x196d8b(0x1a6)]==='SKIP')['slice'](0x0,0x5)},'params':_0x282878};await redisHelper[_0x196d8b(0x1d7)](_0x196d8b(0x16f)+_0x537c02,_0xe59c65,0xe10),_0x26e6d9[_0x196d8b(0x166)]=_0x53af6c,await redisHelper['setJob']('upload:'+_0x55ff3d,_0x26e6d9,0xe10),logger[_0x196d8b(0x1b1)]({'event':_0x196d8b(0x1e2),'jobId':_0x537c02,'status':_0xe59c65['status'],'insertCount':_0x334f3f,'updateCount':_0x350053,'skipCount':_0x5e7043,'errorCount':_0x495167[_0x196d8b(0x16c)]},_0x210ec7[_0x196d8b(0x1fc)]);}catch(_0x44eb2d){logError(_0x44eb2d,{'event':'preview_job_failed','jobId':_0x537c02},_0x210ec7[_0x196d8b(0x19e)]),await redisHelper['setJob']('job:'+_0x537c02,{'job_id':_0x537c02,'upload_id':_0x55ff3d,'status':'failed','progress':0x0,'error':_0x44eb2d[_0x196d8b(0x197)],'created_at':new Date()[_0x196d8b(0x16a)](),'completed_at':new Date()['toISOString']()},0xe10);}}async[a0_0x548d70(0x1d2)](_0x535c89,_0xb19eb7,_0x20248f,_0x5b4b71,_0x1c7eb2=a0_0x548d70(0x1a4),_0x1c3b7a=[]){const _0x277622=a0_0x548d70,_0x8bf303={'gykOk':function(_0x3cfaa7,_0xb3af8f){return _0x3cfaa7===_0xb3af8f;},'wNZTj':'UPDATE','lxSry':_0x277622(0x1cf),'JHOcY':function(_0x58a7e0,_0x1639c4){return _0x58a7e0!==_0x1639c4;},'haQts':_0x277622(0x1f3),'lbChv':_0x277622(0x17b),'SEHKh':'update_existing','nylaO':_0x277622(0x1d3)},_0xdf09d3=upsertBuilder['chunkRows'](_0x535c89,0x64);for(const _0x248f8d of _0xdf09d3){const _0x23f67e=_0x248f8d[_0x277622(0x20b)](_0x2835fe=>_0x2835fe[_0xb19eb7[0x0]]),_0x16af5f=_0x23f67e[_0x277622(0x20b)](_0x3ec832=>{const _0x105584=_0x277622;if(_0x3ec832===null||_0x3ec832===undefined)return _0x105584(0x18f);return'\x27'+String(_0x3ec832)['replace'](/'/g,'\x27\x27')+'\x27';}),_0x5902ec=_0x277622(0x19c)+_0x5b4b71+',\x20'+_0xb19eb7[_0x277622(0x1ce)](',\x20')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x20248f+_0x277622(0x199)+_0xb19eb7[0x0]+_0x277622(0x1c9)+_0x16af5f['join'](',\x20')+_0x277622(0x16e);let _0x3a3f6e=await executeQuery(_0x5902ec);_0x8bf303[_0x277622(0x1a7)](dbType,_0x8bf303[_0x277622(0x17e)])&&_0x3a3f6e&&_0x3a3f6e[_0x277622(0x16c)]>0x0&&(_0x3a3f6e=_0x3a3f6e['map'](_0x3973e3=>{const _0x19339f=_0x277622,_0x52585e={};for(const [_0x319445,_0x52a26f]of Object[_0x19339f(0x1a0)](_0x3973e3)){_0x52585e[_0x319445['toLowerCase']()]=_0x52a26f;}return _0x52585e;}));const _0x1b5c2c=new Map();_0x3a3f6e['forEach'](_0x41a5ab=>{const _0x4e233c=_0x277622,_0x108a26=_0x41a5ab[_0xb19eb7[0x0]];_0x1b5c2c[_0x4e233c(0x1d0)](_0x108a26,_0x41a5ab);}),_0x248f8d[_0x277622(0x175)]((_0x1c3f16,_0xfe37bb)=>{const _0x1c14d9=_0x277622,_0x5ab88a=_0x1c3f16[_0xb19eb7[0x0]],_0x581662=_0x1b5c2c[_0x1c14d9(0x1af)](_0x5ab88a);if(_0x581662){if(_0x8bf303[_0x1c14d9(0x1a7)](_0x1c7eb2,'update_existing'))_0x1c3f16['_action']=_0x8bf303[_0x1c14d9(0x1a5)],_0x1c3f16[_0x1c14d9(0x1eb)]=_0x581662[_0x5b4b71];else{if(_0x8bf303[_0x1c14d9(0x1a7)](_0x1c7eb2,_0x8bf303[_0x1c14d9(0x177)])){_0x1c3f16['_action']='SKIP',_0x1c3f16['_errors']=_0x1c3f16[_0x1c14d9(0x213)]||[],_0x1c3f16[_0x1c14d9(0x213)]['push'](_0x1c14d9(0x1c8));const _0x1084de=_0x535c89[_0x1c14d9(0x16d)](_0x1c3f16);_0x8bf303['JHOcY'](_0x1084de,-0x1)&&_0x1c3b7a['push']({'rowIndex':_0x1084de,'rowData':_0x1c3f16,'errors':['Record\x20exists\x20(insert_only\x20mode)']});}else _0x1c7eb2===_0x8bf303[_0x1c14d9(0x204)]&&(_0x1c3f16['_action']=_0x8bf303['lbChv']);}}else{if(_0x1c7eb2===_0x8bf303[_0x1c14d9(0x1fd)])_0x1c3f16['_action']='INSERT';else(_0x1c7eb2===_0x8bf303['lxSry']||_0x1c7eb2==='skip_existing')&&(_0x1c3f16[_0x1c14d9(0x1a6)]=_0x1c14d9(0x1ca));}});}}async[a0_0x548d70(0x1e0)](_0xbbe527){const _0x1f35ba=a0_0x548d70,_0x545e13={'YdGlr':'Commit\x20processing\x20failed','cadeO':_0x1f35ba(0x171),'KDJLV':'preview_ok','szUvF':_0x1f35ba(0x1a2),'pYrqZ':_0x1f35ba(0x1c2)},_0x4788a2=this[_0x1f35ba(0x169)](),_0x5f4462=await redisHelper[_0x1f35ba(0x186)]('job:'+_0xbbe527);if(!_0x5f4462)throw new Error(_0x545e13['cadeO']);if(_0x5f4462['status']!==_0x545e13[_0x1f35ba(0x1e4)])throw new Error('Cannot\x20commit:\x20preview\x20status\x20is\x20'+_0x5f4462[_0x1f35ba(0x1c0)]);const _0x17d5d3={'job_id':_0x4788a2,'upload_id':_0x5f4462['upload_id'],'preview_job_id':_0xbbe527,'status':'processing','progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x5f4462['params']};return await redisHelper[_0x1f35ba(0x1d7)]('job:'+_0x4788a2,_0x17d5d3,0xe10),logger['info']({'event':'commit_job_created','jobId':_0x4788a2,'previewJobId':_0xbbe527},_0x545e13[_0x1f35ba(0x176)]),this['processCommitJob'](_0x4788a2,_0x5f4462)[_0x1f35ba(0x167)](_0x3359f4=>{const _0xd950b6=_0x1f35ba;logError(_0x3359f4,{'event':_0xd950b6(0x200),'jobId':_0x4788a2},_0x545e13['YdGlr']);}),{'job_id':_0x4788a2,'status':_0x545e13[_0x1f35ba(0x210)]};}async['processCommitJob'](_0x3b3857,_0x1d0163){const _0x112ab9=a0_0x548d70,_0x56a43d={'CVYEV':function(_0x28416c,_0xc0ef20){return _0x28416c===_0xc0ef20;},'AUhWd':_0x112ab9(0x18c),'wiUtR':function(_0x94d084,_0x92e58b){return _0x94d084>_0x92e58b;},'YsDDO':'import_fields_filtered','kWuTD':function(_0x35c9d1,_0x88fafc){return _0x35c9d1||_0x88fafc;},'JWrWI':function(_0x31ab6d,_0x196146){return _0x31ab6d>_0x196146;},'cLAJU':_0x112ab9(0x183),'TmmNz':'Commit\x20job\x20failed'};try{const _0x3abaa4=await redisHelper[_0x112ab9(0x186)]('upload:'+_0x1d0163[_0x112ab9(0x164)]);if(!_0x3abaa4)throw new Error(_0x112ab9(0x216));const {rows:_0x1bdaf3,params:_0x29fc70}=_0x3abaa4,{tableName:_0x530acc,fieldName:_0x35d8aa,primaryKey:_0x12b5ac,upsertKeys:_0x21f5fa,excludeFromImport:_0x4acc78,lookupFields:_0x464c5f,columnFormats:_0x321add}=_0x29fc70,_0x2340ad=_0x464c5f?Object[_0x112ab9(0x1b9)](_0x464c5f):[],_0x50bdf9=new Set([..._0x4acc78||[],..._0x2340ad]);let _0x1a369b=_0x35d8aa;_0x56a43d['wiUtR'](_0x50bdf9[_0x112ab9(0x184)],0x0)&&(_0x1a369b=_0x35d8aa['filter'](_0x5e730b=>!_0x50bdf9['has'](_0x5e730b)),logger['debug']({'event':_0x56a43d['YsDDO'],'originalCount':_0x35d8aa[_0x112ab9(0x16c)],'filteredCount':_0x1a369b['length'],'excludedFields':Array['from'](_0x50bdf9),'lookupSourceFields':_0x2340ad},_0x112ab9(0x1aa)));const _0x52e65a=_0x1bdaf3['filter'](_0x2d186d=>_0x2d186d[_0x112ab9(0x1a6)]==='INSERT'),_0x302c63=_0x1bdaf3['filter'](_0xc8bdd8=>_0xc8bdd8['_action']==='UPDATE');let _0xe66901=0x0,_0x1e4f86=0x0;const _0x581018=[];if(_0x52e65a[_0x112ab9(0x16c)]>0x0){const _0x2adfd6=upsertBuilder['chunkRows'](_0x52e65a,0x64);for(const _0x1334b3 of _0x2adfd6){const {query:_0x14f12f}=upsertBuilder['buildBatchInsert'](_0x1334b3,_0x530acc,_0x1a369b,_0x56a43d[_0x112ab9(0x189)](_0x321add,{}));_0x14f12f&&_0x581018['push']({'sql':_0x14f12f,'count':_0x1334b3['length'],'type':_0x56a43d[_0x112ab9(0x1c5)]});}}if(_0x56a43d['wiUtR'](_0x302c63[_0x112ab9(0x16c)],0x0)){const _0x1ea790=upsertBuilder[_0x112ab9(0x1ae)](_0x302c63,0x64);for(const _0x2ce7fb of _0x1ea790){const {query:_0x419bf5}=upsertBuilder[_0x112ab9(0x18a)](_0x2ce7fb,_0x530acc,_0x1a369b,_0x12b5ac,_0x21f5fa,_0x321add||{});_0x419bf5&&_0x581018['push']({'sql':_0x419bf5,'count':_0x2ce7fb[_0x112ab9(0x16c)],'type':_0x112ab9(0x173)});}}_0x56a43d['JWrWI'](_0x581018[_0x112ab9(0x16c)],0x0)&&await executeTransaction(_0x581018['map'](_0x27ac54=>({'sql':_0x27ac54['sql'],'params':[]})));_0x581018['forEach'](_0x5c720c=>{const _0x89cdb4=_0x112ab9;if(_0x56a43d['CVYEV'](_0x5c720c[_0x89cdb4(0x17d)],_0x56a43d['AUhWd']))_0xe66901+=_0x5c720c['count'];else _0x1e4f86+=_0x5c720c['count'];});const _0x5cf0c3={'job_id':_0x3b3857,'upload_id':_0x1d0163[_0x112ab9(0x164)],'preview_job_id':_0x1d0163['job_id'],'status':_0x112ab9(0x196),'progress':0x64,'created_at':_0x1d0163[_0x112ab9(0x178)],'started_at':new Date()[_0x112ab9(0x16a)](),'completed_at':new Date()[_0x112ab9(0x16a)](),'result':{'total_rows':_0x1bdaf3[_0x112ab9(0x16c)],'inserted_rows':_0xe66901,'updated_rows':_0x1e4f86,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x29fc70};await redisHelper[_0x112ab9(0x1d7)]('job:'+_0x3b3857,_0x5cf0c3,0xe10),logger['info']({'event':_0x112ab9(0x168),'jobId':_0x3b3857,'insertedCount':_0xe66901,'updatedCount':_0x1e4f86},_0x112ab9(0x1be));}catch(_0x21f11a){logError(_0x21f11a,{'event':_0x56a43d['cLAJU'],'jobId':_0x3b3857},_0x56a43d['TmmNz']),await redisHelper['setJob']('job:'+_0x3b3857,{'job_id':_0x3b3857,'upload_id':_0x1d0163[_0x112ab9(0x164)],'preview_job_id':_0x1d0163['job_id'],'status':'failed','progress':0x0,'error':_0x21f11a[_0x112ab9(0x197)],'created_at':_0x1d0163['created_at'],'started_at':new Date()[_0x112ab9(0x16a)](),'completed_at':new Date()['toISOString']()},0xe10);}}async['getJobStatus'](_0x401962){const _0xb34673=a0_0x548d70,_0x28ef60={'qrBAG':_0xb34673(0x170)},_0x382142=await redisHelper['getJob'](_0xb34673(0x16f)+_0x401962);if(!_0x382142)return{'success':![],'error':_0x28ef60['qrBAG']};return{'success':!![],'data':_0x382142};}}module['exports']=new ImportService();
@@ -1 +1 @@
1
- const a0_0x2efdae=a0_0x581a;(function(_0x4118e9,_0x3cccee){const _0x2dbb5f=a0_0x581a,_0x2d8ae6=_0x4118e9();while(!![]){try{const _0x36b99c=parseInt(_0x2dbb5f(0x20a))/0x1+parseInt(_0x2dbb5f(0x218))/0x2*(-parseInt(_0x2dbb5f(0x21f))/0x3)+-parseInt(_0x2dbb5f(0x214))/0x4+-parseInt(_0x2dbb5f(0x216))/0x5*(-parseInt(_0x2dbb5f(0x22d))/0x6)+parseInt(_0x2dbb5f(0x221))/0x7*(-parseInt(_0x2dbb5f(0x1e4))/0x8)+parseInt(_0x2dbb5f(0x231))/0x9*(parseInt(_0x2dbb5f(0x1ec))/0xa)+parseInt(_0x2dbb5f(0x1f5))/0xb*(parseInt(_0x2dbb5f(0x1e7))/0xc);if(_0x36b99c===_0x3cccee)break;else _0x2d8ae6['push'](_0x2d8ae6['shift']());}catch(_0x2247a7){_0x2d8ae6['push'](_0x2d8ae6['shift']());}}}(a0_0x5c44,0xb806d));const {Kafka,logLevel}=require(a0_0x2efdae(0x1e9)),{v7:uuidv7}=require(a0_0x2efdae(0x236));class KafkaConsumerService{constructor(){const _0x3d2cc9=a0_0x2efdae;this[_0x3d2cc9(0x210)]=null,this['consumer']=null,this['isConnected']=![],this[_0x3d2cc9(0x22f)]=![],this['isRunning']=![],this['isPaused']=![],this[_0x3d2cc9(0x235)]=null,this['subscribedTopics']=[],this[_0x3d2cc9(0x225)]=null,this['messageHandler']=null,this[_0x3d2cc9(0x22a)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};}['getConfig'](){const _0x34d2a2=a0_0x2efdae,_0x5d9e23={'sIgcN':function(_0x3e6d97,_0x2a4bfd){return _0x3e6d97===_0x2a4bfd;},'rGPki':'3000','VGCic':function(_0x3f6dd0,_0x58eb61){return _0x3f6dd0(_0x58eb61);},'nFOtB':function(_0x3ce226,_0x4059dd){return _0x3ce226(_0x4059dd);},'LJpVx':function(_0x99b4ff,_0x909d93){return _0x99b4ff(_0x909d93);},'mnrEc':_0x34d2a2(0x202)};return{'enabled':_0x5d9e23['sIgcN'](process['env']['KAFKA_ENABLED'],'true'),'brokers':(process[_0x34d2a2(0x201)][_0x34d2a2(0x237)]||'localhost:9092')['split'](','),'clientId':process['env']['KAFKA_CLIENT_ID']||'restforge-'+(process[_0x34d2a2(0x201)][_0x34d2a2(0x242)]||_0x34d2a2(0x1d7))+'-consumer','connectionTimeout':parseInt(process[_0x34d2a2(0x201)]['KAFKA_CONNECTION_TIMEOUT']||_0x5d9e23['rGPki']),'requestTimeout':parseInt(process['env'][_0x34d2a2(0x1da)]||'25000'),'sessionTimeout':_0x5d9e23[_0x34d2a2(0x204)](parseInt,process['env']['KAFKA_SESSION_TIMEOUT']||'30000'),'heartbeatInterval':parseInt(process['env'][_0x34d2a2(0x1ee)]||_0x34d2a2(0x1e1)),'maxBytesPerPartition':_0x5d9e23[_0x34d2a2(0x209)](parseInt,process['env']['KAFKA_MAX_BYTES_PER_PARTITION']||_0x34d2a2(0x220)),'autoCommit':_0x5d9e23[_0x34d2a2(0x1dd)](process[_0x34d2a2(0x201)][_0x34d2a2(0x207)],'true'),'autoCommitInterval':_0x5d9e23['LJpVx'](parseInt,process[_0x34d2a2(0x201)]['KAFKA_AUTO_COMMIT_INTERVAL']||_0x34d2a2(0x20b)),'retryAttempts':parseInt(process[_0x34d2a2(0x201)]['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process['env']['KAFKA_RETRY_DELAY']||_0x5d9e23['mnrEc']),'retryMaxDelay':parseInt(process['env'][_0x34d2a2(0x1f6)]||_0x34d2a2(0x206)),'logLevel':process[_0x34d2a2(0x201)][_0x34d2a2(0x1ea)]||_0x34d2a2(0x226)};}[a0_0x2efdae(0x1f9)](_0x2173ef){const _0x17d7f7=a0_0x2efdae,_0xd35f95={'nothing':logLevel['NOTHING'],'error':logLevel['ERROR'],'warn':logLevel[_0x17d7f7(0x1f1)],'info':logLevel['INFO'],'debug':logLevel['DEBUG']};return _0xd35f95[_0x2173ef[_0x17d7f7(0x229)]()]||logLevel[_0x17d7f7(0x1f1)];}async['initialize'](_0x3eb4bc={}){const _0x15bdf0=a0_0x2efdae,_0x2e5b09={'ipIkC':function(_0x51c7c8,_0x51493e){return _0x51c7c8===_0x51493e;},'GqefB':'default','tMhdI':_0x15bdf0(0x1df)},_0x244259=this['getConfig']();if(!_0x244259['enabled'])return console['log'](_0x2e5b09[_0x15bdf0(0x1d5)]),![];if(this[_0x15bdf0(0x23e)])return!![];if(this[_0x15bdf0(0x22f)]&&this[_0x15bdf0(0x235)])return this['connectionPromise'];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x601ea2=>{const _0xff3d05=_0x15bdf0;try{let _0x435428=undefined;_0x2e5b09['ipIkC'](process[_0xff3d05(0x201)]['KAFKA_SSL'],'true')&&(_0x435428=!![]);let _0x5a08c9=undefined;process['env']['KAFKA_SASL_MECHANISM']&&(_0x5a08c9={'mechanism':process['env']['KAFKA_SASL_MECHANISM'],'username':process[_0xff3d05(0x201)]['KAFKA_SASL_USERNAME']||'','password':process[_0xff3d05(0x201)]['KAFKA_SASL_PASSWORD']||''}),this[_0xff3d05(0x210)]=new Kafka({'clientId':_0x3eb4bc['clientId']||_0x244259[_0xff3d05(0x23f)],'brokers':_0x244259['brokers'],'connectionTimeout':_0x244259[_0xff3d05(0x1de)],'requestTimeout':_0x244259['requestTimeout'],'logLevel':this[_0xff3d05(0x1f9)](_0x244259['logLevel']),'ssl':_0x435428,'sasl':_0x5a08c9,'retry':{'initialRetryTime':_0x244259[_0xff3d05(0x20c)],'retries':_0x244259[_0xff3d05(0x222)],'maxRetryTime':_0x244259['retryMaxDelay']}}),this[_0xff3d05(0x225)]=_0x3eb4bc[_0xff3d05(0x225)]||_0xff3d05(0x215)+(process[_0xff3d05(0x201)][_0xff3d05(0x242)]||_0x2e5b09['GqefB'])+'-consumer-group',this[_0xff3d05(0x1d9)]=this[_0xff3d05(0x210)][_0xff3d05(0x1d9)]({'groupId':this[_0xff3d05(0x225)],'sessionTimeout':_0x244259['sessionTimeout'],'heartbeatInterval':_0x244259['heartbeatInterval'],'maxBytesPerPartition':_0x244259[_0xff3d05(0x20f)],'allowAutoTopicCreation':![]}),await this['consumer']['connect'](),this['isConnected']=!![],console[_0xff3d05(0x1f3)](_0xff3d05(0x219)+_0x244259[_0xff3d05(0x240)][_0xff3d05(0x23d)](',\x20')+_0xff3d05(0x1fe)+this['groupId']+')'),this[_0xff3d05(0x21c)](),_0x601ea2(!![]);}catch(_0x1ccbd9){console[_0xff3d05(0x21d)](_0xff3d05(0x1ff)+_0x1ccbd9[_0xff3d05(0x1e6)]),this['isConnected']=![],_0x601ea2(![]);}finally{this['isInitializing']=![];}}),this['connectionPromise'];}['setupEventHandlers'](){const _0x1162f5=a0_0x2efdae,_0x57d830={'vCvGr':_0x1162f5(0x203),'auYqV':_0x1162f5(0x1f4),'WmWMg':'consumer.disconnect','ftAtN':_0x1162f5(0x228),'fWuXk':_0x1162f5(0x238)};if(!this['consumer'])return;this['consumer']['on'](_0x57d830[_0x1162f5(0x241)],()=>{const _0x498646=_0x1162f5;console[_0x498646(0x1f3)]('[KafkaConsumer]\x20Consumer\x20disconnected'),this[_0x498646(0x23e)]=![],this[_0x498646(0x243)]=![];}),this['consumer']['on']('consumer.stop',()=>{console['log'](_0x57d830['vCvGr']),this['isRunning']=![];}),this['consumer']['on'](_0x57d830[_0x1162f5(0x239)],_0x36ce78=>{const _0x203dfc=_0x1162f5;console['error']('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x36ce78[_0x203dfc(0x1e0)]['error'][_0x203dfc(0x1e6)]),this['isRunning']=![];}),this[_0x1162f5(0x1d9)]['on'](_0x57d830[_0x1162f5(0x1dc)],()=>{const _0xa1fde3=_0x1162f5;console[_0xa1fde3(0x1f3)](_0x57d830['auYqV']);});}async['subscribe'](_0x3acf33,_0x597e0f=![]){const _0x1b6817=a0_0x2efdae,_0x2c9639={'aQFbG':_0x1b6817(0x23b)};if(!this[_0x1b6817(0x23e)])return console['error'](_0x2c9639['aQFbG']),![];try{const _0x4bf125=Array[_0x1b6817(0x1f2)](_0x3acf33)?_0x3acf33:[_0x3acf33];for(const _0x59c7c8 of _0x4bf125){await this['consumer']['subscribe']({'topic':_0x59c7c8,'fromBeginning':_0x597e0f}),console[_0x1b6817(0x1f3)]('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x59c7c8+_0x1b6817(0x1eb)+_0x597e0f+')');}return this[_0x1b6817(0x21a)]=[...new Set([...this[_0x1b6817(0x21a)],..._0x4bf125])],!![];}catch(_0x1ad2b1){return console[_0x1b6817(0x21d)]('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x1ad2b1['message']),![];}}async[a0_0x2efdae(0x224)](_0x1e96f8,_0x8459b8={}){const _0x43aabb=a0_0x2efdae,_0x2a6908={'UTtsr':function(_0x32758a,_0x171cd8){return _0x32758a(_0x171cd8);},'aLJsC':function(_0x294ef8,_0x459346){return _0x294ef8>_0x459346;},'Kymvt':'[KafkaConsumer]\x20Consumer\x20already\x20running','qRyjL':function(_0x37a1b6,_0x4e8e7d){return _0x37a1b6!==_0x4e8e7d;}};if(!this[_0x43aabb(0x23e)])return console['error']('[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected'),![];if(this['isRunning'])return console['log'](_0x2a6908[_0x43aabb(0x244)]),!![];const _0x376916=this['getConfig']();this['messageHandler']=_0x1e96f8;try{return this[_0x43aabb(0x22a)][_0x43aabb(0x22e)]=new Date(),await this[_0x43aabb(0x1d9)]['run']({'autoCommit':_0x2a6908[_0x43aabb(0x1d8)](_0x8459b8[_0x43aabb(0x211)],undefined)?_0x8459b8[_0x43aabb(0x211)]:_0x376916['autoCommit'],'autoCommitInterval':_0x376916['autoCommitInterval'],'eachMessage':async({topic:_0x260888,partition:_0x76eed3,message:_0x4debe4,heartbeat:_0x4cf28d})=>{const _0x15bd72=_0x43aabb,_0x4232b0=Date['now']();this['metrics'][_0x15bd72(0x234)]++,this[_0x15bd72(0x22a)][_0x15bd72(0x1ef)]=new Date();try{const _0x4dd625=_0x4debe4[_0x15bd72(0x230)]?_0x4debe4[_0x15bd72(0x230)][_0x15bd72(0x227)]():null;let _0x1b6c09=null;try{_0x1b6c09=_0x4dd625?JSON['parse'](_0x4dd625):null;}catch(_0x1b82ee){_0x1b6c09=_0x4dd625;}const _0xa9cc={'topic':_0x260888,'partition':_0x76eed3,'offset':_0x4debe4['offset'],'key':_0x4debe4[_0x15bd72(0x1ed)]?_0x4debe4[_0x15bd72(0x1ed)][_0x15bd72(0x227)]():null,'headers':this['parseHeaders'](_0x4debe4[_0x15bd72(0x23c)]),'timestamp':_0x4debe4['timestamp'],'value':_0x1b6c09,'raw':_0x4dd625};this[_0x15bd72(0x1fd)]&&await this[_0x15bd72(0x1fd)](_0xa9cc);!_0x376916['autoCommit']&&await this[_0x15bd72(0x1d9)]['commitOffsets']([{'topic':_0x260888,'partition':_0x76eed3,'offset':(_0x2a6908[_0x15bd72(0x1db)](parseInt,_0x4debe4['offset'])+0x1)['toString']()}]);this[_0x15bd72(0x22a)]['messagesProcessed']++;const _0x330998=Date['now']()-_0x4232b0;this['metrics']['processingTimes']['push'](_0x330998),_0x2a6908['aLJsC'](this[_0x15bd72(0x22a)]['processingTimes']['length'],0x64)&&this['metrics']['processingTimes'][_0x15bd72(0x232)](),await _0x4cf28d();}catch(_0x25f66b){this['metrics'][_0x15bd72(0x205)]++,console[_0x15bd72(0x21d)]('[KafkaConsumer]\x20Message\x20processing\x20error:\x20'+_0x25f66b['message']);throw _0x25f66b;}}}),this[_0x43aabb(0x243)]=!![],console[_0x43aabb(0x1f3)](_0x43aabb(0x208)+this['subscribedTopics']['join'](',\x20')),!![];}catch(_0x3e43b3){return console['error'](_0x43aabb(0x1e2)+_0x3e43b3[_0x43aabb(0x1e6)]),![];}}[a0_0x2efdae(0x1f8)](_0x56f76d){if(!_0x56f76d)return{};const _0x43c242={};for(const [_0x4cb7a7,_0x158514]of Object['entries'](_0x56f76d)){_0x43c242[_0x4cb7a7]=_0x158514?_0x158514['toString']():null;}return _0x43c242;}async[a0_0x2efdae(0x233)](){const _0x7884fc=a0_0x2efdae,_0x3731e9={'dZJpa':'[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running','cYgNk':_0x7884fc(0x217)};if(!this[_0x7884fc(0x23e)]||!this[_0x7884fc(0x243)])return console['log'](_0x3731e9['dZJpa']),![];if(this[_0x7884fc(0x1e3)])return console['log'](_0x3731e9['cYgNk']),!![];try{const _0x481bc5=this[_0x7884fc(0x21a)][_0x7884fc(0x1f7)](_0x3c7bb4=>({'topic':_0x3c7bb4}));return this['consumer'][_0x7884fc(0x233)](_0x481bc5),this[_0x7884fc(0x1e3)]=!![],console[_0x7884fc(0x1f3)](_0x7884fc(0x22c)),!![];}catch(_0x35433c){return console[_0x7884fc(0x21d)](_0x7884fc(0x223)+_0x35433c['message']),![];}}async['resume'](){const _0x5e2d0c=a0_0x2efdae,_0x249973={'qGlWh':'[KafkaConsumer]\x20Consumer\x20resumed'};if(!this['isConnected']||!this['isRunning'])return console[_0x5e2d0c(0x1f3)]('[KafkaConsumer]\x20Cannot\x20resume\x20-\x20consumer\x20not\x20running'),![];if(!this[_0x5e2d0c(0x1e3)])return console['log']('[KafkaConsumer]\x20Consumer\x20not\x20paused'),!![];try{const _0x462946=this[_0x5e2d0c(0x21a)][_0x5e2d0c(0x1f7)](_0x29d293=>({'topic':_0x29d293}));return this['consumer']['resume'](_0x462946),this[_0x5e2d0c(0x1e3)]=![],console['log'](_0x249973[_0x5e2d0c(0x21e)]),!![];}catch(_0x4feb42){return console[_0x5e2d0c(0x21d)]('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x4feb42['message']),![];}}async['stop'](){const _0x389c0d=a0_0x2efdae;if(!this['isConnected'])return console[_0x389c0d(0x1f3)]('[KafkaConsumer]\x20Consumer\x20not\x20connected'),!![];try{return this[_0x389c0d(0x1d9)]&&(await this['consumer'][_0x389c0d(0x1fa)](),await this[_0x389c0d(0x1d9)]['disconnect']()),this['isConnected']=![],this['isRunning']=![],this['isPaused']=![],console[_0x389c0d(0x1f3)](_0x389c0d(0x212)),!![];}catch(_0x5ab49a){return console['error']('[KafkaConsumer]\x20Stop\x20error:\x20'+_0x5ab49a[_0x389c0d(0x1e6)]),![];}}async['seekToOffset'](_0x3559d8,_0x17c4fd,_0x19bbda){const _0x2975f9=a0_0x2efdae,_0x85b556={'OHVZZ':'[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'};if(!this[_0x2975f9(0x23e)])return console['error'](_0x85b556[_0x2975f9(0x1fb)]),![];try{return this['consumer']['seek']({'topic':_0x3559d8,'partition':_0x17c4fd,'offset':_0x19bbda[_0x2975f9(0x227)]()}),console['log']('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x19bbda+'\x20on\x20'+_0x3559d8+':'+_0x17c4fd),!![];}catch(_0x319554){return console['error'](_0x2975f9(0x200)+_0x319554[_0x2975f9(0x1e6)]),![];}}[a0_0x2efdae(0x23a)](){const _0x352b6a=a0_0x2efdae,_0x4fec12=this[_0x352b6a(0x22b)]();return{'enabled':_0x4fec12[_0x352b6a(0x20e)],'connected':this[_0x352b6a(0x23e)],'running':this[_0x352b6a(0x243)],'paused':this[_0x352b6a(0x1e3)],'brokers':_0x4fec12[_0x352b6a(0x240)],'clientId':_0x4fec12[_0x352b6a(0x23f)],'groupId':this[_0x352b6a(0x225)],'subscribedTopics':this[_0x352b6a(0x21a)]};}['getMetrics'](){const _0x43be3f=a0_0x2efdae,_0x474b99={'GFvhV':function(_0x2d0fa3,_0x14b45d){return _0x2d0fa3>_0x14b45d;},'VtZYi':function(_0x27deda,_0x119f30){return _0x27deda*_0x119f30;},'aJVPq':function(_0x1a7a6d,_0x26b673){return _0x1a7a6d/_0x26b673;},'YaqUK':function(_0x829946,_0x2abc90){return _0x829946-_0x2abc90;},'kpsUu':function(_0x1bccb8,_0x5da80c){return _0x1bccb8+_0x5da80c;}},_0x598e9f=_0x474b99['GFvhV'](this[_0x43be3f(0x22a)][_0x43be3f(0x1fc)]['length'],0x0)?this['metrics'][_0x43be3f(0x1fc)][_0x43be3f(0x20d)]((_0x2e73b2,_0x2fc073)=>_0x2e73b2+_0x2fc073,0x0)/this['metrics'][_0x43be3f(0x1fc)][_0x43be3f(0x1d6)]:0x0,_0x1e9c58=this[_0x43be3f(0x22a)][_0x43be3f(0x1fc)][_0x43be3f(0x1d6)]>0x0?Math[_0x43be3f(0x213)](...this[_0x43be3f(0x22a)]['processingTimes']):0x0,_0x1db8c9=this['metrics'][_0x43be3f(0x1fc)][_0x43be3f(0x1d6)]>0x0?Math['max'](...this['metrics']['processingTimes']):0x0;return{'messagesReceived':this[_0x43be3f(0x22a)]['messagesReceived'],'messagesProcessed':this['metrics']['messagesProcessed'],'messagesFailed':this['metrics'][_0x43be3f(0x205)],'successRate':this[_0x43be3f(0x22a)]['messagesReceived']>0x0?_0x474b99['VtZYi'](_0x474b99['aJVPq'](this['metrics']['messagesProcessed'],this[_0x43be3f(0x22a)]['messagesReceived']),0x64)[_0x43be3f(0x21b)](0x2)+'%':'0%','lastMessageTime':this['metrics'][_0x43be3f(0x1ef)],'startTime':this['metrics'][_0x43be3f(0x22e)],'uptime':this['metrics'][_0x43be3f(0x22e)]?Math[_0x43be3f(0x1e5)](_0x474b99['YaqUK'](Date['now'](),this[_0x43be3f(0x22a)][_0x43be3f(0x22e)]['getTime']())/0x3e8)+'s':'0s','processingTime':{'avg':_0x474b99[_0x43be3f(0x1e8)](Math['round'](_0x598e9f),'ms'),'min':_0x1e9c58+'ms','max':_0x1db8c9+'ms'}};}['resetMetrics'](){this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console['log']('[KafkaConsumer]\x20Metrics\x20reset');}async[a0_0x2efdae(0x1f0)](){const _0x3a962f=a0_0x2efdae;await this[_0x3a962f(0x1fa)]();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function a0_0x581a(_0x263cad,_0x49f298){_0x263cad=_0x263cad-0x1d5;const _0x5c44e8=a0_0x5c44();let _0x581a7e=_0x5c44e8[_0x263cad];if(a0_0x581a['iYphpj']===undefined){var _0xae1df1=function(_0x1830ba){const _0x455c39='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x48a14b='',_0x2d2e63='';for(let _0x2f6f5d=0x0,_0x4d16f2,_0x45dd99,_0x5c90b5=0x0;_0x45dd99=_0x1830ba['charAt'](_0x5c90b5++);~_0x45dd99&&(_0x4d16f2=_0x2f6f5d%0x4?_0x4d16f2*0x40+_0x45dd99:_0x45dd99,_0x2f6f5d++%0x4)?_0x48a14b+=String['fromCharCode'](0xff&_0x4d16f2>>(-0x2*_0x2f6f5d&0x6)):0x0){_0x45dd99=_0x455c39['indexOf'](_0x45dd99);}for(let _0x13d3a4=0x0,_0x4a4dd9=_0x48a14b['length'];_0x13d3a4<_0x4a4dd9;_0x13d3a4++){_0x2d2e63+='%'+('00'+_0x48a14b['charCodeAt'](_0x13d3a4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2d2e63);};a0_0x581a['mglqju']=_0xae1df1,a0_0x581a['DwiriI']={},a0_0x581a['iYphpj']=!![];}const _0x2dd74a=_0x5c44e8[0x0],_0xaf052d=_0x263cad+_0x2dd74a,_0x3e4e77=a0_0x581a['DwiriI'][_0xaf052d];return!_0x3e4e77?(_0x581a7e=a0_0x581a['mglqju'](_0x581a7e),a0_0x581a['DwiriI'][_0xaf052d]=_0x581a7e):_0x581a7e=_0x3e4e77,_0x581a7e;}function resetInstance(){const _0x5cd53d=a0_0x2efdae;instance&&(instance[_0x5cd53d(0x1f0)](),instance=null);}function a0_0x5c44(){const _0x5f349f=['mJG0mJK5oengs1DkqW','C3rHCNruAw1L','AxnjBML0AwfSAxPPBMC','DMfSDwu','ndq2mteXmuTcsu1VAG','C2HPzNq','Cgf1C2u','BwvZC2fNzxnszwnLAxzLza','y29UBMvJDgLVBLbYB21PC2u','DxvPza','s0fgs0fFqLjps0vsuW','y29UC3vTzxiUCMvIywXHBMnPBMC','zNrbDe4','z2v0u3rHDhvZ','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','AgvHzgvYCW','AM9PBG','AxndB25Uzwn0zwq','y2XPzw50swq','yNjVA2vYCW','v21xtwC','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','AxnsDw5UAw5N','s3LTDNq','De1OzeK','BgvUz3rO','zgvMyxvSDa','Cvj5AKW','y29UC3vTzxi','s0fgs0fFuKvrvuvtvf9usu1ft1vu','vvr0C3i','zLD1wgS','C0LNy04','y29UBMvJDgLVBLrPBwvVDxq','w0THzMTHq29UC3vTzxjDieTHzMTHignVBNn1BwvYigLZigrPC2fIBgvKigLUignVBMzPz3vYyxrPB24','Cgf5Bg9Hza','mZaWma','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','AxnqyxvZzwq','nZC2ntzvzKzfwg8','zMXVB3i','BwvZC2fNzq','nZjdrfPmAKK','A3bZvxu','A2fMA2fQCW','s0fgs0fFte9hx0XfvKvm','icHMCM9TqMvNAw5UAw5NoIa','mJbouxzgwK8','A2v5','s0fgs0fFsevbuLrcrufux0LovevsvKfm','BgfZDe1LC3nHz2vuAw1L','y2XVC2u','v0fstG','AxnbCNjHEq','Bg9N','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','mJq3mdyWuw1TB0j6','s0fgs0fFuKvuuLLFtufyx0rftefz','BwfW','CgfYC2vizwfKzxjZ','z2v0tg9Ntgv2zwW','C3rVCa','t0HwwLO','ChjVy2vZC2LUz1rPBwvZ','BwvZC2fNzuHHBMrSzxi','icHNCM91CeLKoIa','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','zw52','mtaWma','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','vKDdAwm','BwvZC2fNzxngywLSzwq','mZaWmda','s0fgs0fFqvvut19dt01nsvq','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','BKzpDei','ode0nJeZy0HNDxvW','ntaWma','CMv0CNLezwXHEq','CMvKDwnL','zw5HyMXLza','Bwf4qNL0zxnqzxjqyxj0AxrPB24','A2fMA2e','yxv0B0nVBw1PDa','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','BwLU','mtG2nJq3mLPMCefTDW','CMvZDgzVCMDLlq','mtvvsu1duNm','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCgf1C2vK','mJa1mta2ognhrhv1yW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','C3vIC2nYAwjLzfrVCgLJCW','Dg9gAxHLza','C2v0DxbfDMvUDeHHBMrSzxjZ','zxjYB3i','CuDSv2G','m0DyyxbzBW','mta0odu3nG','oda1CK9KBg9i','CMv0CNLbDhrLBxb0CW','w0THzMTHq29UC3vTzxjDifbHDxnLigvYCM9YoIa','C3rHCNrdB25ZDw1PBMC','z3jVDxbjza','D2fYBG','Dg9tDhjPBMC','y29UC3vTzxiUy3jHC2G','Dg9mB3DLCKnHC2u','Bwv0CMLJCW','z2v0q29UzMLN','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihbHDxnLza'];a0_0x5c44=function(){return _0x5f349f;};return a0_0x5c44();}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
1
+ const a0_0x4a86e6=a0_0x4ed6;(function(_0x390799,_0x173ba1){const _0x3cf98f=a0_0x4ed6,_0x54c36c=_0x390799();while(!![]){try{const _0x4eb343=-parseInt(_0x3cf98f(0x16f))/0x1*(parseInt(_0x3cf98f(0x171))/0x2)+parseInt(_0x3cf98f(0x101))/0x3+-parseInt(_0x3cf98f(0x15a))/0x4+-parseInt(_0x3cf98f(0x15b))/0x5*(parseInt(_0x3cf98f(0x145))/0x6)+parseInt(_0x3cf98f(0x105))/0x7+parseInt(_0x3cf98f(0x170))/0x8+parseInt(_0x3cf98f(0x10f))/0x9;if(_0x4eb343===_0x173ba1)break;else _0x54c36c['push'](_0x54c36c['shift']());}catch(_0x60d475){_0x54c36c['push'](_0x54c36c['shift']());}}}(a0_0x24ee,0x257d9));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require(a0_0x4a86e6(0x118));function a0_0x4ed6(_0x5298ff,_0x505d49){_0x5298ff=_0x5298ff-0xfd;const _0x24eeba=a0_0x24ee();let _0x4ed6b8=_0x24eeba[_0x5298ff];if(a0_0x4ed6['mRGuDl']===undefined){var _0x5bc78d=function(_0x25285d){const _0x17f196='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xce62a8='',_0x1e3f68='';for(let _0x1a3359=0x0,_0x65f430,_0x41f596,_0x45190b=0x0;_0x41f596=_0x25285d['charAt'](_0x45190b++);~_0x41f596&&(_0x65f430=_0x1a3359%0x4?_0x65f430*0x40+_0x41f596:_0x41f596,_0x1a3359++%0x4)?_0xce62a8+=String['fromCharCode'](0xff&_0x65f430>>(-0x2*_0x1a3359&0x6)):0x0){_0x41f596=_0x17f196['indexOf'](_0x41f596);}for(let _0x227714=0x0,_0x2fe68f=_0xce62a8['length'];_0x227714<_0x2fe68f;_0x227714++){_0x1e3f68+='%'+('00'+_0xce62a8['charCodeAt'](_0x227714)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1e3f68);};a0_0x4ed6['FxriJX']=_0x5bc78d,a0_0x4ed6['KhHpTn']={},a0_0x4ed6['mRGuDl']=!![];}const _0x235623=_0x24eeba[0x0],_0x1d4ee3=_0x5298ff+_0x235623,_0x2e7fd1=a0_0x4ed6['KhHpTn'][_0x1d4ee3];return!_0x2e7fd1?(_0x4ed6b8=a0_0x4ed6['FxriJX'](_0x4ed6b8),a0_0x4ed6['KhHpTn'][_0x1d4ee3]=_0x4ed6b8):_0x4ed6b8=_0x2e7fd1,_0x4ed6b8;}class KafkaConsumerService{constructor(){const _0x274081=a0_0x4a86e6,_0x5abf5b=_0x274081(0x11e)[_0x274081(0x16c)]('|');let _0x3b2e2d=0x0;while(!![]){switch(_0x5abf5b[_0x3b2e2d++]){case'0':this[_0x274081(0x11c)]=![];continue;case'1':this[_0x274081(0x13f)]=null;continue;case'2':this[_0x274081(0x166)]=null;continue;case'3':this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;case'4':this[_0x274081(0x128)]=null;continue;case'5':this['messageHandler']=null;continue;case'6':this['subscribedTopics']=[];continue;case'7':this[_0x274081(0x104)]=![];continue;case'8':this[_0x274081(0x162)]=null;continue;case'9':this['isConnected']=![];continue;case'10':this['isInitializing']=![];continue;}break;}}[a0_0x4a86e6(0x156)](){const _0x24ece0=a0_0x4a86e6,_0x60df66={'egwqJ':_0x24ece0(0x113),'gpANv':_0x24ece0(0x120),'KBVmu':'25000','AUvLa':_0x24ece0(0x14a),'izAaM':function(_0x4165ac,_0x43d486){return _0x4165ac(_0x43d486);},'GhQHe':function(_0x27b6b9,_0x22208f){return _0x27b6b9===_0x22208f;},'bFkgv':function(_0x57d822,_0x52f793){return _0x57d822(_0x52f793);},'KPSvV':'5000','GmWKT':_0x24ece0(0x165),'tQUth':'30000','myeBF':_0x24ece0(0xff)};return{'enabled':process['env']['KAFKA_ENABLED']===_0x60df66[_0x24ece0(0x16e)],'brokers':(process['env'][_0x24ece0(0x127)]||'localhost:9092')[_0x24ece0(0x16c)](','),'clientId':process[_0x24ece0(0x153)][_0x24ece0(0x139)]||'restforge-'+(process['env'][_0x24ece0(0x134)]||_0x60df66[_0x24ece0(0x16b)])+'-consumer','connectionTimeout':parseInt(process[_0x24ece0(0x153)][_0x24ece0(0x150)]||_0x24ece0(0x14a)),'requestTimeout':parseInt(process[_0x24ece0(0x153)]['KAFKA_REQUEST_TIMEOUT']||_0x60df66['KBVmu']),'sessionTimeout':parseInt(process['env']['KAFKA_SESSION_TIMEOUT']||'30000'),'heartbeatInterval':parseInt(process['env']['KAFKA_HEARTBEAT_INTERVAL']||_0x60df66['AUvLa']),'maxBytesPerPartition':_0x60df66['izAaM'](parseInt,process['env'][_0x24ece0(0x10d)]||_0x24ece0(0x148)),'autoCommit':_0x60df66[_0x24ece0(0xfe)](process[_0x24ece0(0x153)]['KAFKA_AUTO_COMMIT'],_0x60df66['egwqJ']),'autoCommitInterval':_0x60df66[_0x24ece0(0x119)](parseInt,process['env'][_0x24ece0(0x117)]||_0x60df66[_0x24ece0(0x14d)]),'retryAttempts':parseInt(process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process[_0x24ece0(0x153)]['KAFKA_RETRY_DELAY']||_0x60df66[_0x24ece0(0x147)]),'retryMaxDelay':parseInt(process[_0x24ece0(0x153)]['KAFKA_RETRY_MAX_DELAY']||_0x60df66[_0x24ece0(0x12d)]),'logLevel':process[_0x24ece0(0x153)]['KAFKA_LOG_LEVEL']||_0x60df66[_0x24ece0(0x129)]};}[a0_0x4a86e6(0x106)](_0x34db74){const _0x4b9cdf=a0_0x4a86e6,_0x2843cc={'nothing':logLevel[_0x4b9cdf(0x143)],'error':logLevel['ERROR'],'warn':logLevel[_0x4b9cdf(0x111)],'info':logLevel[_0x4b9cdf(0x141)],'debug':logLevel[_0x4b9cdf(0x161)]};return _0x2843cc[_0x34db74['toLowerCase']()]||logLevel[_0x4b9cdf(0x111)];}async['initialize'](_0x443d23={}){const _0x5b6b88=a0_0x4a86e6,_0x30da98={'wYHhE':function(_0x35d01a,_0x1f1320){return _0x35d01a===_0x1f1320;},'ODHgs':'true','gvnao':_0x5b6b88(0x120),'sUPux':function(_0x1ce240,_0x8e9106){return _0x1ce240(_0x8e9106);},'KqnTC':'[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'},_0x5f5d7f=this[_0x5b6b88(0x156)]();if(!_0x5f5d7f['enabled'])return console[_0x5b6b88(0x169)](_0x30da98[_0x5b6b88(0x131)]),![];if(this['isConnected'])return!![];if(this['isInitializing']&&this['connectionPromise'])return this['connectionPromise'];return this['isInitializing']=!![],this[_0x5b6b88(0x128)]=new Promise(async _0x55104c=>{const _0x36b7c6=_0x5b6b88;try{let _0xa601df=undefined;_0x30da98[_0x36b7c6(0x126)](process[_0x36b7c6(0x153)][_0x36b7c6(0x160)],_0x30da98[_0x36b7c6(0x14f)])&&(_0xa601df=!![]);let _0x5ad90c=undefined;process['env']['KAFKA_SASL_MECHANISM']&&(_0x5ad90c={'mechanism':process[_0x36b7c6(0x153)][_0x36b7c6(0x135)],'username':process[_0x36b7c6(0x153)][_0x36b7c6(0x11a)]||'','password':process['env'][_0x36b7c6(0x14b)]||''}),this[_0x36b7c6(0x162)]=new Kafka({'clientId':_0x443d23['clientId']||_0x5f5d7f[_0x36b7c6(0x116)],'brokers':_0x5f5d7f[_0x36b7c6(0x10a)],'connectionTimeout':_0x5f5d7f[_0x36b7c6(0x137)],'requestTimeout':_0x5f5d7f['requestTimeout'],'logLevel':this['getLogLevel'](_0x5f5d7f['logLevel']),'ssl':_0xa601df,'sasl':_0x5ad90c,'retry':{'initialRetryTime':_0x5f5d7f[_0x36b7c6(0x109)],'retries':_0x5f5d7f[_0x36b7c6(0x159)],'maxRetryTime':_0x5f5d7f['retryMaxDelay']}}),this['groupId']=_0x443d23['groupId']||_0x36b7c6(0x149)+(process['env']['RESTFORGE_PROJECT_NAME']||_0x30da98['gvnao'])+'-consumer-group',this['consumer']=this[_0x36b7c6(0x162)]['consumer']({'groupId':this[_0x36b7c6(0x166)],'sessionTimeout':_0x5f5d7f['sessionTimeout'],'heartbeatInterval':_0x5f5d7f[_0x36b7c6(0x167)],'maxBytesPerPartition':_0x5f5d7f[_0x36b7c6(0x155)],'allowAutoTopicCreation':![]}),await this['consumer'][_0x36b7c6(0x10b)](),this[_0x36b7c6(0x151)]=!![],console[_0x36b7c6(0x169)](_0x36b7c6(0x11f)+_0x5f5d7f['brokers']['join'](',\x20')+'\x20(groupId:\x20'+this[_0x36b7c6(0x166)]+')'),this['setupEventHandlers'](),_0x30da98['sUPux'](_0x55104c,!![]);}catch(_0xe2e141){console[_0x36b7c6(0x136)](_0x36b7c6(0x12a)+_0xe2e141[_0x36b7c6(0x115)]),this[_0x36b7c6(0x151)]=![],_0x55104c(![]);}finally{this[_0x36b7c6(0x154)]=![];}}),this[_0x5b6b88(0x128)];}['setupEventHandlers'](){const _0x53bb00=a0_0x4a86e6,_0x1bb749={'NcstB':_0x53bb00(0x163),'WMyWR':_0x53bb00(0x133),'hzBXg':_0x53bb00(0x122),'FZXkY':'consumer.crash'};if(!this[_0x53bb00(0x13f)])return;this['consumer']['on'](_0x1bb749['hzBXg'],()=>{const _0x2c48dc=_0x53bb00;console[_0x2c48dc(0x169)](_0x1bb749[_0x2c48dc(0x12b)]),this['isConnected']=![],this[_0x2c48dc(0x11c)]=![];}),this[_0x53bb00(0x13f)]['on']('consumer.stop',()=>{const _0x42034e=_0x53bb00;console[_0x42034e(0x169)](_0x1bb749['WMyWR']),this[_0x42034e(0x11c)]=![];}),this[_0x53bb00(0x13f)]['on'](_0x1bb749['FZXkY'],_0x2aa085=>{const _0x1e6b71=_0x53bb00;console[_0x1e6b71(0x136)]('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x2aa085['payload'][_0x1e6b71(0x136)][_0x1e6b71(0x115)]),this[_0x1e6b71(0x11c)]=![];}),this[_0x53bb00(0x13f)]['on'](_0x53bb00(0x15d),()=>{const _0x3652ca=_0x53bb00;console[_0x3652ca(0x169)]('[KafkaConsumer]\x20Consumer\x20rebalancing...');});}async[a0_0x4a86e6(0x144)](_0x132431,_0x29fc01=![]){const _0x31bcb1=a0_0x4a86e6;if(!this['isConnected'])return console['error']('[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'),![];try{const _0x2a94f8=Array['isArray'](_0x132431)?_0x132431:[_0x132431];for(const _0x21db3b of _0x2a94f8){await this[_0x31bcb1(0x13f)][_0x31bcb1(0x144)]({'topic':_0x21db3b,'fromBeginning':_0x29fc01}),console['log']('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x21db3b+'\x20(fromBeginning:\x20'+_0x29fc01+')');}return this[_0x31bcb1(0x11d)]=[...new Set([...this['subscribedTopics'],..._0x2a94f8])],!![];}catch(_0x2708d0){return console['error'](_0x31bcb1(0x13d)+_0x2708d0['message']),![];}}async[a0_0x4a86e6(0x168)](_0x24b893,_0x26a938={}){const _0x441008=a0_0x4a86e6,_0x2f2031={'ytkuU':function(_0x192064,_0x4e9181){return _0x192064+_0x4e9181;},'aoHma':function(_0x9f017a,_0x4bb92f){return _0x9f017a-_0x4bb92f;}};if(!this[_0x441008(0x151)])return console['error']('[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected'),![];if(this[_0x441008(0x11c)])return console['log'](_0x441008(0x123)),!![];const _0x5582a0=this['getConfig']();this['messageHandler']=_0x24b893;try{return this['metrics']['startTime']=new Date(),await this['consumer'][_0x441008(0x158)]({'autoCommit':_0x26a938[_0x441008(0x14e)]!==undefined?_0x26a938['autoCommit']:_0x5582a0[_0x441008(0x14e)],'autoCommitInterval':_0x5582a0['autoCommitInterval'],'eachMessage':async({topic:_0x1f40f3,partition:_0x527234,message:_0x230e1f,heartbeat:_0x359051})=>{const _0x3d33ea=_0x441008,_0x591c95=Date[_0x3d33ea(0x107)]();this[_0x3d33ea(0x142)]['messagesReceived']++,this[_0x3d33ea(0x142)]['lastMessageTime']=new Date();try{const _0x21ce4f=_0x230e1f['value']?_0x230e1f[_0x3d33ea(0x12f)][_0x3d33ea(0x125)]():null;let _0x370ecd=null;try{_0x370ecd=_0x21ce4f?JSON[_0x3d33ea(0x15e)](_0x21ce4f):null;}catch(_0xc2ab23){_0x370ecd=_0x21ce4f;}const _0x102a21={'topic':_0x1f40f3,'partition':_0x527234,'offset':_0x230e1f['offset'],'key':_0x230e1f['key']?_0x230e1f['key']['toString']():null,'headers':this[_0x3d33ea(0x10e)](_0x230e1f['headers']),'timestamp':_0x230e1f[_0x3d33ea(0x15f)],'value':_0x370ecd,'raw':_0x21ce4f};this['messageHandler']&&await this['messageHandler'](_0x102a21);!_0x5582a0['autoCommit']&&await this[_0x3d33ea(0x13f)][_0x3d33ea(0x14c)]([{'topic':_0x1f40f3,'partition':_0x527234,'offset':_0x2f2031['ytkuU'](parseInt(_0x230e1f['offset']),0x1)['toString']()}]);this['metrics']['messagesProcessed']++;const _0x1f38e1=_0x2f2031['aoHma'](Date['now'](),_0x591c95);this['metrics'][_0x3d33ea(0x16a)]['push'](_0x1f38e1),this['metrics'][_0x3d33ea(0x16a)]['length']>0x64&&this['metrics']['processingTimes']['shift'](),await _0x359051();}catch(_0xb0b695){this[_0x3d33ea(0x142)]['messagesFailed']++,console['error'](_0x3d33ea(0x146)+_0xb0b695['message']);throw _0xb0b695;}}}),this[_0x441008(0x11c)]=!![],console['log']('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this[_0x441008(0x11d)]['join'](',\x20')),!![];}catch(_0x3c0819){return console['error'](_0x441008(0x13c)+_0x3c0819['message']),![];}}[a0_0x4a86e6(0x10e)](_0x552eba){const _0x54324b=a0_0x4a86e6;if(!_0x552eba)return{};const _0x33a5d5={};for(const [_0x5ff4c1,_0x32340b]of Object[_0x54324b(0x130)](_0x552eba)){_0x33a5d5[_0x5ff4c1]=_0x32340b?_0x32340b[_0x54324b(0x125)]():null;}return _0x33a5d5;}async[a0_0x4a86e6(0x121)](){const _0x1ba92e=a0_0x4a86e6,_0x59b177={'ebgMz':'[KafkaConsumer]\x20Consumer\x20already\x20paused','cMeZP':'[KafkaConsumer]\x20Consumer\x20paused'};if(!this['isConnected']||!this['isRunning'])return console['log']('[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running'),![];if(this['isPaused'])return console[_0x1ba92e(0x169)](_0x59b177['ebgMz']),!![];try{const _0x52253f=this['subscribedTopics'][_0x1ba92e(0x140)](_0x20b94b=>({'topic':_0x20b94b}));return this['consumer']['pause'](_0x52253f),this['isPaused']=!![],console[_0x1ba92e(0x169)](_0x59b177[_0x1ba92e(0xfd)]),!![];}catch(_0x4db27e){return console['error']('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x4db27e[_0x1ba92e(0x115)]),![];}}async['resume'](){const _0x22919b=a0_0x4a86e6,_0x219e13={'VSUkb':'[KafkaConsumer]\x20Cannot\x20resume\x20-\x20consumer\x20not\x20running'};if(!this[_0x22919b(0x151)]||!this[_0x22919b(0x11c)])return console['log'](_0x219e13[_0x22919b(0x112)]),![];if(!this[_0x22919b(0x104)])return console['log']('[KafkaConsumer]\x20Consumer\x20not\x20paused'),!![];try{const _0x258305=this[_0x22919b(0x11d)][_0x22919b(0x140)](_0x145814=>({'topic':_0x145814}));return this[_0x22919b(0x13f)]['resume'](_0x258305),this[_0x22919b(0x104)]=![],console['log'](_0x22919b(0x12e)),!![];}catch(_0x3462dc){return console['error']('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x3462dc['message']),![];}}async['stop'](){const _0x162364=a0_0x4a86e6,_0x1d070f={'HdOri':_0x162364(0x13a),'VidLx':'[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected'};if(!this[_0x162364(0x151)])return console['log'](_0x1d070f['HdOri']),!![];try{return this[_0x162364(0x13f)]&&(await this[_0x162364(0x13f)][_0x162364(0x114)](),await this['consumer']['disconnect']()),this['isConnected']=![],this[_0x162364(0x11c)]=![],this['isPaused']=![],console[_0x162364(0x169)](_0x1d070f[_0x162364(0x10c)]),!![];}catch(_0xe9189a){return console[_0x162364(0x136)]('[KafkaConsumer]\x20Stop\x20error:\x20'+_0xe9189a['message']),![];}}async[a0_0x4a86e6(0x110)](_0x39c360,_0x3654bf,_0x5a2259){const _0x1712cc=a0_0x4a86e6,_0x552de0={'mkxfE':'[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'};if(!this['isConnected'])return console[_0x1712cc(0x136)](_0x552de0['mkxfE']),![];try{return this['consumer'][_0x1712cc(0x138)]({'topic':_0x39c360,'partition':_0x3654bf,'offset':_0x5a2259[_0x1712cc(0x125)]()}),console['log']('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x5a2259+_0x1712cc(0x100)+_0x39c360+':'+_0x3654bf),!![];}catch(_0x1d3cb0){return console[_0x1712cc(0x136)](_0x1712cc(0x164)+_0x1d3cb0['message']),![];}}[a0_0x4a86e6(0x16d)](){const _0x28e5bd=a0_0x4a86e6,_0x6a6d5e=this[_0x28e5bd(0x156)]();return{'enabled':_0x6a6d5e[_0x28e5bd(0x11b)],'connected':this['isConnected'],'running':this[_0x28e5bd(0x11c)],'paused':this[_0x28e5bd(0x104)],'brokers':_0x6a6d5e['brokers'],'clientId':_0x6a6d5e[_0x28e5bd(0x116)],'groupId':this[_0x28e5bd(0x166)],'subscribedTopics':this['subscribedTopics']};}['getMetrics'](){const _0x27ab56=a0_0x4a86e6,_0x571688={'upiCq':function(_0x60dc9d,_0x563c2e){return _0x60dc9d>_0x563c2e;},'osxso':function(_0x58965f,_0x391674){return _0x58965f>_0x391674;},'PITLl':function(_0x10cf42,_0x170fe3){return _0x10cf42+_0x170fe3;},'iBUVp':function(_0x218912,_0x24e43e){return _0x218912/_0x24e43e;},'fDoEq':function(_0x4db74d,_0x437fc4){return _0x4db74d+_0x437fc4;}},_0x364d08=this['metrics']['processingTimes'][_0x27ab56(0x124)]>0x0?this[_0x27ab56(0x142)]['processingTimes']['reduce']((_0x2f004a,_0x2bdb82)=>_0x2f004a+_0x2bdb82,0x0)/this[_0x27ab56(0x142)][_0x27ab56(0x16a)]['length']:0x0,_0x43483c=this['metrics']['processingTimes']['length']>0x0?Math[_0x27ab56(0x13e)](...this[_0x27ab56(0x142)][_0x27ab56(0x16a)]):0x0,_0x229260=_0x571688['upiCq'](this['metrics'][_0x27ab56(0x16a)]['length'],0x0)?Math[_0x27ab56(0x108)](...this['metrics'][_0x27ab56(0x16a)]):0x0;return{'messagesReceived':this['metrics'][_0x27ab56(0x102)],'messagesProcessed':this['metrics'][_0x27ab56(0x172)],'messagesFailed':this['metrics'][_0x27ab56(0x103)],'successRate':_0x571688['osxso'](this['metrics'][_0x27ab56(0x102)],0x0)?_0x571688[_0x27ab56(0x12c)]((_0x571688['iBUVp'](this['metrics'][_0x27ab56(0x172)],this[_0x27ab56(0x142)][_0x27ab56(0x102)])*0x64)['toFixed'](0x2),'%'):'0%','lastMessageTime':this['metrics']['lastMessageTime'],'startTime':this[_0x27ab56(0x142)]['startTime'],'uptime':this['metrics']['startTime']?Math['floor'](_0x571688['iBUVp'](Date[_0x27ab56(0x107)]()-this['metrics'][_0x27ab56(0x13b)][_0x27ab56(0x132)](),0x3e8))+'s':'0s','processingTime':{'avg':Math['round'](_0x364d08)+'ms','min':_0x571688[_0x27ab56(0x152)](_0x43483c,'ms'),'max':_0x229260+'ms'}};}['resetMetrics'](){const _0x3f6135=a0_0x4a86e6,_0x50a174={'gpMuv':_0x3f6135(0x15c)};this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x3f6135(0x11c)]?new Date():null,'processingTimes':[]},console[_0x3f6135(0x169)](_0x50a174['gpMuv']);}async['close'](){await this['stop']();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function a0_0x24ee(){const _0x49d8c0=['BwvZC2fNzxnqCM9JzxnZzwq','y01LwLa','r2Hrsgu','D2fYBG','ig9Uia','odeXnJq0t0zVBMzj','BwvZC2fNzxnszwnLAxzLza','BwvZC2fNzxngywLSzwq','AxnqyxvZzwq','mtG5mdK4uwP1uxnk','z2v0tg9Ntgv2zwW','BM93','Bwf4','CMv0CNLezwXHEq','yNjVA2vYCW','y29UBMvJDa','vMLKthG','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','CgfYC2vizwfKzxjZ','otG3mtjiExbKze8','C2vLA1rVt2zMC2v0','v0fstG','vLnvA2i','Dhj1zq','C3rVCa','BwvZC2fNzq','y2XPzw50swq','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','DxvPza','yKzRz3y','s0fgs0fFu0fttf9vu0vstKfnrq','zw5HyMXLza','AxnsDw5UAw5N','C3vIC2nYAwjLzfrVCgLJCW','ohWXFdL8mtb8mhW3Fdr8nNWYFdv8mW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','zgvMyxvSDa','Cgf1C2u','y29UC3vTzxiUzgLZy29UBMvJDa','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','BgvUz3rO','Dg9tDhjPBMC','D1LiAeu','s0fgs0fFqLjps0vsuW','y29UBMvJDgLVBLbYB21PC2u','BxLLqKy','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','tMnZDei','ueLutgW','DffvDgG','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLC3vTzwq','DMfSDwu','zw50CMLLCW','s3fUvem','z2v0vgLTzq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','s0fgs0fFu0fttf9nruniqu5ju00','zxjYB3i','y29UBMvJDgLVBLrPBwvVDxq','C2vLAW','s0fgs0fFq0Xjru5ux0Le','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','C3rHCNruAw1L','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzsbLCNjVCJOG','BwLU','y29UC3vTzxi','BwfW','su5gtW','Bwv0CMLJCW','tK9useLorW','C3vIC2nYAwjL','mtm4twvdBMfb','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','r21xs1q','mta0odu3nG','CMvZDgzVCMDLlq','mZaWma','s0fgs0fFu0fttf9qqvntv09sra','y29TBwL0t2zMC2v0CW','s1btDLy','yxv0B0nVBw1PDa','t0riz3m','s0fgs0fFq09otKvdveLptL9usu1ft1vu','AxndB25Uzwn0zwq','zKrVrxe','zw52','AxnjBML0AwfSAxPPBMC','Bwf4qNL0zxnqzxjqyxj0AxrPB24','z2v0q29UzMLN','zxHWB3j0CW','CNvU','CMv0CNLbDhrLBxb0CW','mZC3mtG4BNvvD1ng','ntKYnJb0rNDyuMe','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','y29UC3vTzxiUCMvIywXHBMnPBMC','CgfYC2u','DgLTzxn0yw1W','s0fgs0fFu1nm','revcvuC','A2fMA2e','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','mtaWma','z3jVDxbjza','AgvHCNrIzwf0sw50zxj2ywW','C3rHCNrdB25ZDw1PBMC','Bg9N','ChjVy2vZC2LUz1rPBwvZ','z3bbtNy','C3bSAxq','z2v0u3rHDhvZ','zwD3CuO','ntnOvu9yB00','mtC4mZu4nfnrExD6sq','nde2we5pDgH2'];a0_0x24ee=function(){return _0x49d8c0;};return a0_0x24ee();}function resetInstance(){instance&&(instance['close'](),instance=null);}function createInstance(){return new KafkaConsumerService();}module[a0_0x4a86e6(0x157)]={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};