@restforgejs/platform 4.3.8 → 5.0.1

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 (193) hide show
  1. package/bin/sdf-tools.exe +0 -0
  2. package/build-info.json +2 -2
  3. package/cli/consumer-deploy.js +1 -1
  4. package/cli/consumer.js +1 -1
  5. package/generators/cli/init.js +4 -104
  6. package/generators/cli/payload/migrate.js +96 -96
  7. package/generators/cli/schema/list.js +82 -18
  8. package/generators/cli/schema/migrate.js +23 -3
  9. package/generators/lib/dbschema-kit/apply-engine.js +211 -46
  10. package/generators/lib/dbschema-kit/diff-engine.js +715 -703
  11. package/generators/lib/dbschema-kit/emitters/alter-table.js +96 -2
  12. package/generators/lib/dbschema-kit/introspect-mapper.js +9 -0
  13. package/generators/lib/migrate/backend-payload-migrator.js +221 -221
  14. package/generators/lib/migrate/field-type-resolver.js +325 -319
  15. package/generators/lib/migrate/label-generator.js +38 -38
  16. package/generators/lib/migrate/migrate-runner.js +244 -38
  17. package/generators/lib/migrate/naming.js +52 -43
  18. package/generators/lib/migrate/sql-parser.js +124 -124
  19. package/generators/lib/templates/dashboard-catalog.js +1 -1
  20. package/generators/lib/templates/db-connection-env.js +1 -1
  21. package/generators/lib/templates/dbschema-catalog.js +1 -1
  22. package/generators/lib/templates/field-validation-catalog.js +1 -1
  23. package/generators/lib/templates/mysql-template.js +1 -1
  24. package/generators/lib/templates/oracle-template.js +1 -1
  25. package/generators/lib/templates/postgres-template.js +1 -1
  26. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  27. package/generators/lib/templates/sqlite-template.js +1 -1
  28. package/integrity-manifest.json +18 -18
  29. package/node_modules/brace-expansion/index.js +1 -1
  30. package/node_modules/brace-expansion/package.json +1 -1
  31. package/node_modules/dayjs/CHANGELOG.md +7 -0
  32. package/node_modules/dayjs/README.md +12 -10
  33. package/node_modules/dayjs/dayjs.min.js +1 -1
  34. package/node_modules/dayjs/esm/constant.js +1 -1
  35. package/node_modules/dayjs/esm/plugin/duration/index.js +5 -4
  36. package/node_modules/dayjs/locale.json +1 -1
  37. package/node_modules/dayjs/package.json +2 -2
  38. package/node_modules/dayjs/plugin/duration.js +1 -1
  39. package/node_modules/tmp/lib/tmp.js +37 -7
  40. package/node_modules/tmp/package.json +4 -16
  41. package/package.json +1 -1
  42. package/scripts/verify-integrity.js +1 -1
  43. package/server.js +1 -1
  44. package/src/components/handlers/adjust_handler.js +1 -1
  45. package/src/components/handlers/audit_handler.js +1 -1
  46. package/src/components/handlers/delete_handler.js +1 -1
  47. package/src/components/handlers/export_handler.js +1 -1
  48. package/src/components/handlers/import_handler.js +1 -1
  49. package/src/components/handlers/insert_handler.js +1 -1
  50. package/src/components/handlers/update_handler.js +1 -1
  51. package/src/components/handlers/upload_handler.js +1 -1
  52. package/src/components/handlers/workflow_handler.js +1 -1
  53. package/src/components/integrations/webhook.js +1 -1
  54. package/src/consumers/baseConsumer.js +1 -1
  55. package/src/consumers/declarativeMapper.js +1 -1
  56. package/src/consumers/handlers/apiHandler.js +1 -1
  57. package/src/consumers/handlers/consoleHandler.js +1 -1
  58. package/src/consumers/handlers/databaseHandler.js +1 -1
  59. package/src/consumers/handlers/index.js +1 -1
  60. package/src/consumers/handlers/kafkaHandler.js +1 -1
  61. package/src/consumers/index.js +1 -1
  62. package/src/consumers/messageTransformer.js +1 -1
  63. package/src/consumers/validator.js +1 -1
  64. package/src/core/db/dialect/base-dialect.js +1 -1
  65. package/src/core/db/dialect/index.js +1 -1
  66. package/src/core/db/dialect/mysql-dialect.js +1 -1
  67. package/src/core/db/dialect/oracle-dialect.js +1 -1
  68. package/src/core/db/dialect/postgres-dialect.js +1 -1
  69. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  70. package/src/core/db/flatten-helper.js +1 -1
  71. package/src/core/db/query-builder-error.js +1 -1
  72. package/src/core/db/query-builder.js +1 -1
  73. package/src/core/db/relation-helper.js +1 -1
  74. package/src/core/handlers/delete_handler.js +1 -1
  75. package/src/core/handlers/insert_handler.js +1 -1
  76. package/src/core/handlers/update_handler.js +1 -1
  77. package/src/core/models/base-model.js +1 -1
  78. package/src/core/utils/cache-manager.js +1 -1
  79. package/src/core/utils/component-engine.js +1 -1
  80. package/src/core/utils/context-builder.js +1 -1
  81. package/src/core/utils/datetime-formatter.js +1 -1
  82. package/src/core/utils/datetime-parser.js +1 -1
  83. package/src/core/utils/db.js +1 -1
  84. package/src/core/utils/logger.js +1 -1
  85. package/src/core/utils/payload-loader.js +1 -1
  86. package/src/core/utils/security-checks.js +1 -1
  87. package/src/middleware/body-options.js +1 -1
  88. package/src/middleware/cors.js +1 -1
  89. package/src/middleware/idempotency.js +1 -1
  90. package/src/middleware/rate-limiter.js +1 -1
  91. package/src/middleware/request-logger.js +1 -1
  92. package/src/middleware/security-headers.js +1 -1
  93. package/src/models/base-model-mysql.js +1 -1
  94. package/src/models/base-model-oracle.js +1 -1
  95. package/src/models/base-model-sqlite.js +1 -1
  96. package/src/models/base-model.js +1 -1
  97. package/src/pro/caching/redis-client.js +1 -1
  98. package/src/pro/caching/redis-helper.js +1 -1
  99. package/src/pro/consumers/baseConsumer.js +1 -1
  100. package/src/pro/consumers/declarativeMapper.js +1 -1
  101. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  102. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  103. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  104. package/src/pro/consumers/handlers/index.js +1 -1
  105. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  106. package/src/pro/consumers/index.js +1 -1
  107. package/src/pro/consumers/messageTransformer.js +1 -1
  108. package/src/pro/consumers/validator.js +1 -1
  109. package/src/pro/database/base-model-mysql.js +1 -1
  110. package/src/pro/database/base-model-oracle.js +1 -1
  111. package/src/pro/database/base-model-sqlite.js +1 -1
  112. package/src/pro/database/db-mysql.js +1 -1
  113. package/src/pro/database/db-oracle.js +1 -1
  114. package/src/pro/database/db-sqlite.js +1 -1
  115. package/src/pro/excel/excel-generator.js +1 -1
  116. package/src/pro/excel/excel-parser.js +1 -1
  117. package/src/pro/excel/export-service.js +1 -1
  118. package/src/pro/excel/export_handler.js +1 -1
  119. package/src/pro/excel/import-service.js +1 -1
  120. package/src/pro/excel/import-validator.js +1 -1
  121. package/src/pro/excel/import_handler.js +1 -1
  122. package/src/pro/excel/upsert-builder.js +1 -1
  123. package/src/pro/idgen/idgen-routes.js +1 -1
  124. package/src/pro/integrations/lookup-resolver.js +1 -1
  125. package/src/pro/integrations/upload-handler-v2.js +1 -1
  126. package/src/pro/integrations/upload-handler.js +1 -1
  127. package/src/pro/integrations/webhook.js +1 -1
  128. package/src/pro/locking/lock-routes.js +1 -1
  129. package/src/pro/locking/resource-lock-manager.js +1 -1
  130. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  131. package/src/pro/messaging/kafkaService.js +1 -1
  132. package/src/pro/messaging/messagehubService.js +1 -1
  133. package/src/pro/messaging/rabbitmqService.js +1 -1
  134. package/src/pro/scheduler/job-manager.js +1 -1
  135. package/src/pro/scheduler/job-routes.js +1 -1
  136. package/src/pro/scheduler/job-validator.js +1 -1
  137. package/src/pro/storage/base-storage-provider.js +1 -1
  138. package/src/pro/storage/file-metadata-helper.js +1 -1
  139. package/src/pro/storage/index.js +1 -1
  140. package/src/pro/storage/local-storage-provider.js +1 -1
  141. package/src/pro/storage/s3-storage-provider.js +1 -1
  142. package/src/pro/storage/upload-cleanup-job.js +1 -1
  143. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  144. package/src/pro/storage/upload-pending-tracker.js +1 -1
  145. package/src/pro/websocket/broadcast-helper.js +1 -1
  146. package/src/pro/websocket/index.js +1 -1
  147. package/src/pro/websocket/livesync-server.js +1 -1
  148. package/src/pro/websocket/ws-broadcaster.js +1 -1
  149. package/src/services/export-service.js +1 -1
  150. package/src/services/import-service.js +1 -1
  151. package/src/services/kafkaConsumerService.js +1 -1
  152. package/src/services/kafkaService.js +1 -1
  153. package/src/services/messagehubService.js +1 -1
  154. package/src/services/rabbitmqService.js +1 -1
  155. package/src/utils/cache-invalidation-registry.js +1 -1
  156. package/src/utils/cache-manager.js +1 -1
  157. package/src/utils/component-engine.js +1 -1
  158. package/src/utils/config-extractor.js +1 -1
  159. package/src/utils/consumerLogger.js +1 -1
  160. package/src/utils/context-builder.js +1 -1
  161. package/src/utils/dashboard-helpers.js +1 -1
  162. package/src/utils/dateHelper.js +1 -1
  163. package/src/utils/datetime-formatter.js +1 -1
  164. package/src/utils/datetime-parser.js +1 -1
  165. package/src/utils/db-bootstrap.js +1 -1
  166. package/src/utils/db-mysql.js +1 -1
  167. package/src/utils/db-oracle.js +1 -1
  168. package/src/utils/db-sqlite.js +1 -1
  169. package/src/utils/db.js +1 -1
  170. package/src/utils/demo-generator.js +1 -1
  171. package/src/utils/excel-generator.js +1 -1
  172. package/src/utils/excel-parser.js +1 -1
  173. package/src/utils/file-watcher.js +1 -1
  174. package/src/utils/id-generator.js +1 -1
  175. package/src/utils/idempotency-manager.js +1 -1
  176. package/src/utils/import-validator.js +1 -1
  177. package/src/utils/license-client.js +1 -1
  178. package/src/utils/lock-manager.js +1 -1
  179. package/src/utils/logger.js +1 -1
  180. package/src/utils/lookup-resolver.js +1 -1
  181. package/src/utils/payload-loader.js +1 -1
  182. package/src/utils/processor-response.js +1 -1
  183. package/src/utils/rabbitmq.js +1 -1
  184. package/src/utils/redis-client.js +1 -1
  185. package/src/utils/redis-helper.js +1 -1
  186. package/src/utils/request-scope.js +1 -1
  187. package/src/utils/security-checks.js +1 -1
  188. package/src/utils/service-resolver.js +1 -1
  189. package/src/utils/shutdown-coordinator.js +1 -1
  190. package/src/utils/trusted-keys.js +1 -1
  191. package/src/utils/upload-handler.js +1 -1
  192. package/src/utils/upsert-builder.js +1 -1
  193. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- 'use strict';const a0_0x12de6b=a0_0x4027;function a0_0x530d(){const _0x28ef1c=['BgvUz3rO','B3jPz2LUywXUyw1L','zxH0BMfTzq','mJq4mdaYmfL4BhH2rW','BhndBeG','rMfPBgvKihrVihbYB2nLC3mGDxbSB2fKzwqGzMLSztOG','Dg9mB3DLCKnHC2u','DhjPBq','mJfLA2vRthe','BwvZC2fNzq','yMfZzw5HBwu','v3zKzw4','Bw9KDwXL','z2vUzxjHDgvlzxK','x3rLBxbeAxi','BwLTzxr5Cgu','Aw5JBhvKzxm','DxbSB2fK','x2rLBgv0zvrLBxbgAwXL','iIbPCYbUB3qGywXSB3DLzc4GqwXSB3DLzcb0ExbLCZOG','mteYodG1r0PZywf2','zw52','mJC3mJrbBgr3vgC','mtyYndC5ngHvBfnysq','mtbnqG','mZm1nZiXnMvAr3HxzW','ChjVy2vZC1vWBg9HzgvKrMLSzxm','Cgf0Aa','vgzIvxC','DxbSB2fKCW','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','y3jLyxrLuMvHzfn0CMvHBq','C2L6zq','Dw5SAw5R','ovvQr3HVzW','vw1ju1G','yuDeB2W','BwTKAxjtEw5J','odqWnJG3mMj5wxvhza','Bwf4rMLSzxm','nhr2vMLmyq','ywXSB3DLzfr5CgvZ','BM93','mZeYoty5ndDwzfPtsum','ChjLzML4','yNvJA2v0','zxjYB3i','zxHPC3rZu3LUyW','DxjS','A0r5DvO','mtm2BxrPDNv4','CxbQrhu','EvzXwwC','zMLSzxm','D2fYBG','Bwf0y2G','AM9PBG','ChjVBwLZzxm','Dg9vChbLCKnHC2u','zxHWB3j0CW','DxbSB2fKlq'];a0_0x530d=function(){return _0x28ef1c;};return a0_0x530d();}function a0_0x4027(_0x365c4d,_0x1a8e50){_0x365c4d=_0x365c4d-0x82;const _0x530d19=a0_0x530d();let _0x40278e=_0x530d19[_0x365c4d];if(a0_0x4027['UPpVAu']===undefined){var _0x8ef194=function(_0x4dda7f){const _0x20f276='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x252360='',_0x32f070='';for(let _0xa0d11d=0x0,_0x2ea2a5,_0x15b3d6,_0x4839cf=0x0;_0x15b3d6=_0x4dda7f['charAt'](_0x4839cf++);~_0x15b3d6&&(_0x2ea2a5=_0xa0d11d%0x4?_0x2ea2a5*0x40+_0x15b3d6:_0x15b3d6,_0xa0d11d++%0x4)?_0x252360+=String['fromCharCode'](0xff&_0x2ea2a5>>(-0x2*_0xa0d11d&0x6)):0x0){_0x15b3d6=_0x20f276['indexOf'](_0x15b3d6);}for(let _0x563258=0x0,_0xecfc16=_0x252360['length'];_0x563258<_0xecfc16;_0x563258++){_0x32f070+='%'+('00'+_0x252360['charCodeAt'](_0x563258)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x32f070);};a0_0x4027['SxfqWp']=_0x8ef194,a0_0x4027['NVGBcT']={},a0_0x4027['UPpVAu']=!![];}const _0x5589b5=_0x530d19[0x0],_0x55ea40=_0x365c4d+_0x5589b5,_0x36a344=a0_0x4027['NVGBcT'][_0x55ea40];return!_0x36a344?(_0x40278e=a0_0x4027['SxfqWp'](_0x40278e),a0_0x4027['NVGBcT'][_0x55ea40]=_0x40278e):_0x40278e=_0x36a344,_0x40278e;}(function(_0x4ea835,_0x43a15a){const _0x439296=a0_0x4027,_0x21ed8b=_0x4ea835();while(!![]){try{const _0x519eca=-parseInt(_0x439296(0xac))/0x1*(parseInt(_0x439296(0xbe))/0x2)+-parseInt(_0x439296(0xaf))/0x3+parseInt(_0x439296(0x8b))/0x4*(parseInt(_0x439296(0xaa))/0x5)+parseInt(_0x439296(0xad))/0x6*(-parseInt(_0x439296(0x9e))/0x7)+-parseInt(_0x439296(0xbc))/0x8*(parseInt(_0x439296(0xb8))/0x9)+parseInt(_0x439296(0x99))/0xa+parseInt(_0x439296(0x84))/0xb;if(_0x519eca===_0x43a15a)break;else _0x21ed8b['push'](_0x21ed8b['shift']());}catch(_0x26a645){_0x21ed8b['push'](_0x21ed8b['shift']());}}}(a0_0x530d,0xc8eed));const multer=require('multer'),path=require(a0_0x12de6b(0xb1)),crypto=require('crypto'),fs=require('fs')[a0_0x12de6b(0x92)],fsSync=require('fs'),{logger}=require('./logger');class UploadHandlerV2{constructor(){this['_tempDir']=null;}get['tempDir'](){const _0x562788=a0_0x12de6b,_0x20f188={'yVqYg':'default','utVgL':_0x562788(0xb3)};if(!this['_tempDir']){const _0x81f1e4=process[_0x562788(0xab)][_0x562788(0xb4)]||_0x20f188[_0x562788(0x8d)];this[_0x562788(0xa4)]=process['env']['UPLOAD_TEMP_DIR']||path['join'](process['cwd'](),'temp',_0x20f188['utVgL'],_0x81f1e4),!fsSync['existsSync'](this['_tempDir'])&&fsSync[_0x562788(0xbb)](this[_0x562788(0xa4)],{'recursive':!![]});}return this['_tempDir'];}['createUploadMiddleware'](_0x141b28={}){const _0xe8fcbe=a0_0x12de6b,_0x39a1ab={'eJjYU':function(_0x28cd93,_0x1ced80,_0x43f68){return _0x28cd93(_0x1ced80,_0x43f68);},'kDyuZ':'hex','Wvden':function(_0x50057a,_0x5a3347){return _0x50057a===_0x5a3347;},'TfbUw':function(_0x366846,_0x464063,_0x2930f1){return _0x366846(_0x464063,_0x2930f1);},'lsClH':_0xe8fcbe(0xae),'aGDol':function(_0xda1d4c,_0x439481){return _0xda1d4c(_0x439481);}},_0x14bdd4=_0x141b28[_0xe8fcbe(0xbd)]||0x5,_0x3f5399=this['_parseFileSize'](_0x141b28['maxFileSize']||_0x39a1ab[_0xe8fcbe(0x9a)]),_0x400efd=_0x141b28[_0xe8fcbe(0x82)]||[],_0xd5f181=multer['diskStorage']({'destination':(_0x308923,_0x1443bf,_0x3ff0d5)=>{const _0xe58fb1=_0xe8fcbe;!fsSync[_0xe58fb1(0x88)](this['tempDir'])&&fsSync[_0xe58fb1(0xbb)](this['tempDir'],{'recursive':!![]}),_0x39a1ab['eJjYU'](_0x3ff0d5,null,this['tempDir']);},'filename':(_0x499ffd,_0x553450,_0x4bb257)=>{const _0x528f2f=_0xe8fcbe,_0xd2c2d8=crypto['randomBytes'](0x8)['toString'](_0x39a1ab[_0x528f2f(0x8a)]),_0x472cac=Date[_0x528f2f(0x83)](),_0x4cea8c=path['extname'](_0x553450[_0x528f2f(0x97)]);_0x4bb257(null,_0x528f2f(0x95)+_0x472cac+'-'+_0xd2c2d8+_0x4cea8c);}}),_0x2e16ad=(_0x32670e,_0x4fc825,_0xe7f70a)=>{const _0x4c14c5=_0xe8fcbe;if(_0x39a1ab[_0x4c14c5(0xa1)](_0x400efd[_0x4c14c5(0x96)],0x0))return _0x39a1ab[_0x4c14c5(0xb2)](_0xe7f70a,null,!![]);const _0x31e302=path[_0x4c14c5(0x98)](_0x4fc825[_0x4c14c5(0x97)])[_0x4c14c5(0x9c)]()['replace']('.','');_0x400efd[_0x4c14c5(0xa6)](_0x31e302)?_0x39a1ab['eJjYU'](_0xe7f70a,null,!![]):_0xe7f70a(new Error('File\x20type\x20\x22.'+_0x31e302+_0x4c14c5(0xa9)+_0x400efd[_0x4c14c5(0x91)](',\x20')));};return _0x39a1ab[_0xe8fcbe(0xba)](multer,{'storage':_0xd5f181,'limits':{'fileSize':_0x3f5399,'files':_0x14bdd4},'fileFilter':_0x2e16ad})['array'](_0xe8fcbe(0x8e),_0x14bdd4);}async[a0_0x12de6b(0xb0)](_0xd6203c,_0x4ad6e4,_0x5744e8={}){const _0x28dd36=a0_0x12de6b,_0x304776={'LxOpl':'upload_v2_process_error'},{createFileMetadata:_0x6b45ba}=require('../storage/file-metadata-helper'),_0x196983=[];for(const _0x58ffd of _0xd6203c){try{const _0x374b72=_0x4ad6e4[_0x28dd36(0xa3)](_0x58ffd[_0x28dd36(0x97)],{'prefix':_0x5744e8[_0x28dd36(0x85)]||'','project':_0x5744e8['project']||'','module':_0x5744e8[_0x28dd36(0xa2)]||'','endpoint':_0x5744e8['endpoint']||''}),_0x197a2a=fsSync[_0x28dd36(0xb5)](_0x58ffd['path']),_0x433691=await _0x4ad6e4[_0x28dd36(0xa7)](_0x197a2a,_0x374b72,{'contentType':_0x58ffd[_0x28dd36(0xa5)],'fileSize':_0x58ffd[_0x28dd36(0xb6)]}),_0x54ce9b=_0x6b45ba({'key':_0x433691['key'],'originalName':_0x58ffd['originalname'],'fileName':path[_0x28dd36(0xa0)](_0x374b72),'contentType':_0x58ffd['mimetype'],'size':_0x58ffd[_0x28dd36(0xb6)],'url':_0x433691[_0x28dd36(0x89)],'provider':_0x4ad6e4['providerName'],'bucket':_0x4ad6e4[_0x28dd36(0x86)]||null,'uploadedBy':_0x5744e8['uploadedBy']||null});_0x196983['push'](_0x54ce9b);}catch(_0x195258){logger[_0x28dd36(0x87)]({'event':_0x304776['LxOpl'],'file':_0x58ffd['originalname'],'error':_0x195258[_0x28dd36(0x9f)]},_0x28dd36(0x9b)+_0x58ffd[_0x28dd36(0x97)]);throw _0x195258;}finally{await this['_deleteTempFile'](_0x58ffd['path']);}}return _0x196983;}async[a0_0x12de6b(0xa8)](_0x30e1d0){const _0x486fd6=a0_0x12de6b,_0xf4df20={'uvtqC':'Failed\x20to\x20delete\x20temp\x20file'};try{await fs[_0x486fd6(0xb7)](_0x30e1d0);}catch(_0x29e721){logger[_0x486fd6(0x8f)]({'event':'upload_v2_temp_delete_warn','filePath':_0x30e1d0,'error':_0x29e721['message']},_0xf4df20['uvtqC']);}}['_parseFileSize'](_0x3e0bf3){const _0x184ede=a0_0x12de6b,_0x533d13={'cqtZb':'number','fgLQz':function(_0x25aa6f,_0x5e2ee2){return _0x25aa6f(_0x5e2ee2);},'qpjDu':function(_0x549b8e,_0x32ff24){return _0x549b8e*_0x32ff24;},'UmISX':function(_0x18ca34,_0x21544d){return _0x18ca34*_0x21544d;}};if(typeof _0x3e0bf3===_0x533d13['cqtZb'])return _0x3e0bf3;const _0x282631=_0x533d13['fgLQz'](String,_0x3e0bf3)[_0x184ede(0x9d)]()[_0x184ede(0x90)](/^(\d+(?:\.\d+)?)\s*(B|KB|MB|GB)$/i);if(!_0x282631)return _0x533d13[_0x184ede(0x8c)](0xa,0x400)*0x400;const _0x3301c4=_0x533d13['fgLQz'](parseFloat,_0x282631[0x1]),_0x3ba6de=_0x282631[0x2][_0x184ede(0x93)](),_0x1f5d36={'B':0x1,'KB':0x400,'MB':_0x533d13['qpjDu'](0x400,0x400),'GB':_0x533d13[_0x184ede(0x8c)](_0x533d13['qpjDu'](0x400,0x400),0x400)};return Math['floor'](_0x533d13[_0x184ede(0xb9)](_0x3301c4,_0x1f5d36[_0x3ba6de]||0x1));}}module[a0_0x12de6b(0x94)]=new UploadHandlerV2();
1
+ 'use strict';const a0_0x5c72a7=a0_0x3bc6;function a0_0x3bc6(_0x27b59a,_0x436bce){_0x27b59a=_0x27b59a-0xbc;const _0x5c761c=a0_0x5c76();let _0x3bc6bc=_0x5c761c[_0x27b59a];if(a0_0x3bc6['iHvFFN']===undefined){var _0x3d2c24=function(_0x45b004){const _0x332539='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1ef831='',_0x192017='';for(let _0x26cf4c=0x0,_0xeb1a8a,_0x237a11,_0x5ef0ee=0x0;_0x237a11=_0x45b004['charAt'](_0x5ef0ee++);~_0x237a11&&(_0xeb1a8a=_0x26cf4c%0x4?_0xeb1a8a*0x40+_0x237a11:_0x237a11,_0x26cf4c++%0x4)?_0x1ef831+=String['fromCharCode'](0xff&_0xeb1a8a>>(-0x2*_0x26cf4c&0x6)):0x0){_0x237a11=_0x332539['indexOf'](_0x237a11);}for(let _0x1ee7bc=0x0,_0x410594=_0x1ef831['length'];_0x1ee7bc<_0x410594;_0x1ee7bc++){_0x192017+='%'+('00'+_0x1ef831['charCodeAt'](_0x1ee7bc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x192017);};a0_0x3bc6['khkHpM']=_0x3d2c24,a0_0x3bc6['NHWgtj']={},a0_0x3bc6['iHvFFN']=!![];}const _0x3fca36=_0x5c761c[0x0],_0x3131bc=_0x27b59a+_0x3fca36,_0x131492=a0_0x3bc6['NHWgtj'][_0x3131bc];return!_0x131492?(_0x3bc6bc=a0_0x3bc6['khkHpM'](_0x3bc6bc),a0_0x3bc6['NHWgtj'][_0x3131bc]=_0x3bc6bc):_0x3bc6bc=_0x131492,_0x3bc6bc;}(function(_0x31f7b2,_0x546462){const _0x80e0bf=a0_0x3bc6,_0x385fb5=_0x31f7b2();while(!![]){try{const _0xe3e4b4=-parseInt(_0x80e0bf(0xc4))/0x1+parseInt(_0x80e0bf(0xf4))/0x2*(parseInt(_0x80e0bf(0xce))/0x3)+-parseInt(_0x80e0bf(0xf3))/0x4*(-parseInt(_0x80e0bf(0xdd))/0x5)+parseInt(_0x80e0bf(0xd2))/0x6*(parseInt(_0x80e0bf(0xe1))/0x7)+-parseInt(_0x80e0bf(0xc3))/0x8+parseInt(_0x80e0bf(0xf5))/0x9+parseInt(_0x80e0bf(0xe3))/0xa*(-parseInt(_0x80e0bf(0xc1))/0xb);if(_0xe3e4b4===_0x546462)break;else _0x385fb5['push'](_0x385fb5['shift']());}catch(_0x1816f1){_0x385fb5['push'](_0x385fb5['shift']());}}}(a0_0x5c76,0x3c8bb));const multer=require('multer'),path=require('path'),crypto=require(a0_0x5c72a7(0xd0)),fs=require('fs')[a0_0x5c72a7(0xcb)],fsSync=require('fs'),{logger}=require('./logger');class UploadHandlerV2{constructor(){const _0x4e7995=a0_0x5c72a7;this[_0x4e7995(0xc0)]=null;}get[a0_0x5c72a7(0xd7)](){const _0x5cf42c=a0_0x5c72a7,_0x19609e={'WJqdD':_0x5cf42c(0xcd),'QypVi':'uploads'};if(!this[_0x5cf42c(0xc0)]){const _0x424659=process['env']['RESTFORGE_PROJECT_NAME']||'default';this['_tempDir']=process[_0x5cf42c(0xe6)][_0x5cf42c(0xbd)]||path[_0x5cf42c(0xd3)](process['cwd'](),_0x19609e[_0x5cf42c(0xe0)],_0x19609e['QypVi'],_0x424659),!fsSync['existsSync'](this[_0x5cf42c(0xc0)])&&fsSync['mkdirSync'](this['_tempDir'],{'recursive':!![]});}return this[_0x5cf42c(0xc0)];}['createUploadMiddleware'](_0x15fed3={}){const _0x5d5508=a0_0x5c72a7,_0x586858={'fgZdl':function(_0x1d9254,_0x1d0e3a,_0x45a0d7){return _0x1d9254(_0x1d0e3a,_0x45a0d7);},'iqOvv':function(_0x1e17bf,_0x7e31c6){return _0x1e17bf===_0x7e31c6;},'AgbXG':function(_0x464aad,_0x451a63,_0x9a50ce){return _0x464aad(_0x451a63,_0x9a50ce);},'TKRSJ':function(_0x1faee0,_0x1cfc9e){return _0x1faee0(_0x1cfc9e);},'Gestt':'files'},_0x25beff=_0x15fed3[_0x5d5508(0xef)]||0x5,_0x982aee=this['_parseFileSize'](_0x15fed3['maxFileSize']||_0x5d5508(0xde)),_0x216191=_0x15fed3['allowedTypes']||[],_0x269c76=multer['diskStorage']({'destination':(_0x4c3b9c,_0x2fbb64,_0x398582)=>{const _0x432cec=_0x5d5508;!fsSync[_0x432cec(0xf2)](this['tempDir'])&&fsSync[_0x432cec(0xe2)](this[_0x432cec(0xd7)],{'recursive':!![]}),_0x586858[_0x432cec(0xd6)](_0x398582,null,this[_0x432cec(0xd7)]);},'filename':(_0x50fc21,_0x182064,_0x5e38b9)=>{const _0x4ea603=_0x5d5508,_0xb5a101=crypto[_0x4ea603(0xdf)](0x8)['toString'](_0x4ea603(0xca)),_0x411ccc=Date['now'](),_0x379bb1=path['extname'](_0x182064['originalname']);_0x5e38b9(null,'upload-'+_0x411ccc+'-'+_0xb5a101+_0x379bb1);}}),_0xf582d4=(_0x320880,_0x6279ca,_0x459185)=>{const _0x1968c9=_0x5d5508;if(_0x586858[_0x1968c9(0xe7)](_0x216191[_0x1968c9(0xc7)],0x0))return _0x586858['AgbXG'](_0x459185,null,!![]);const _0x43affb=path['extname'](_0x6279ca['originalname'])['toLowerCase']()[_0x1968c9(0xdc)]('.','');_0x216191['includes'](_0x43affb)?_0x586858['fgZdl'](_0x459185,null,!![]):_0x586858['TKRSJ'](_0x459185,new Error(_0x1968c9(0xd1)+_0x43affb+_0x1968c9(0xc8)+_0x216191[_0x1968c9(0xd3)](',\x20')));};return _0x586858['TKRSJ'](multer,{'storage':_0x269c76,'limits':{'fileSize':_0x982aee,'files':_0x25beff},'fileFilter':_0xf582d4})[_0x5d5508(0xbe)](_0x586858[_0x5d5508(0xdb)],_0x25beff);}async[a0_0x5c72a7(0xf1)](_0x2caae4,_0x168d2b,_0x5b31e2={}){const _0x14c389=a0_0x5c72a7,_0x3bc43b={'ENAkz':function(_0x516415,_0x2ec84f){return _0x516415(_0x2ec84f);}},{createFileMetadata:_0x39f7dc}=_0x3bc43b[_0x14c389(0xed)](require,'../storage/file-metadata-helper'),_0x45fbfb=[];for(const _0x53c11c of _0x2caae4){try{const _0x5c6af3=_0x168d2b[_0x14c389(0xcf)](_0x53c11c['originalname'],{'prefix':_0x5b31e2['prefix']||'','project':_0x5b31e2['project']||'','module':_0x5b31e2[_0x14c389(0xec)]||'','endpoint':_0x5b31e2[_0x14c389(0xbf)]||''}),_0x44249c=fsSync['createReadStream'](_0x53c11c['path']),_0x30bf03=await _0x168d2b[_0x14c389(0xc2)](_0x44249c,_0x5c6af3,{'contentType':_0x53c11c[_0x14c389(0xbc)],'fileSize':_0x53c11c['size']}),_0x1be397=_0x39f7dc({'key':_0x30bf03['key'],'originalName':_0x53c11c['originalname'],'fileName':path['basename'](_0x5c6af3),'contentType':_0x53c11c[_0x14c389(0xbc)],'size':_0x53c11c['size'],'url':_0x30bf03['url'],'provider':_0x168d2b['providerName'],'bucket':_0x168d2b['bucket']||null,'uploadedBy':_0x5b31e2['uploadedBy']||null});_0x45fbfb[_0x14c389(0xee)](_0x1be397);}catch(_0x3c2ab5){logger[_0x14c389(0xe5)]({'event':'upload_v2_process_error','file':_0x53c11c['originalname'],'error':_0x3c2ab5['message']},'Failed\x20to\x20process\x20uploaded\x20file:\x20'+_0x53c11c[_0x14c389(0xd8)]);throw _0x3c2ab5;}finally{await this['_deleteTempFile'](_0x53c11c[_0x14c389(0xd9)]);}}return _0x45fbfb;}async['_deleteTempFile'](_0x5ca1b9){const _0x4c51aa=a0_0x5c72a7,_0x1f7b28={'znhjj':_0x4c51aa(0xc6)};try{await fs[_0x4c51aa(0xd4)](_0x5ca1b9);}catch(_0x102e5b){logger['warn']({'event':_0x1f7b28[_0x4c51aa(0xea)],'filePath':_0x5ca1b9,'error':_0x102e5b[_0x4c51aa(0xf0)]},_0x4c51aa(0xda));}}['_parseFileSize'](_0x185722){const _0x6c6e8a=a0_0x5c72a7,_0x40e4c2={'PETNV':function(_0x11c4ec,_0x554058){return _0x11c4ec===_0x554058;},'OSKbE':function(_0x46b8a6,_0x4f54ab){return _0x46b8a6(_0x4f54ab);},'dZoCe':function(_0x32893f,_0x413797){return _0x32893f*_0x413797;}};if(_0x40e4c2[_0x6c6e8a(0xc5)](typeof _0x185722,_0x6c6e8a(0xe8)))return _0x185722;const _0x482d25=_0x40e4c2[_0x6c6e8a(0xe4)](String,_0x185722)[_0x6c6e8a(0xeb)]()['match'](/^(\d+(?:\.\d+)?)\s*(B|KB|MB|GB)$/i);if(!_0x482d25)return 0xa*0x400*0x400;const _0x58999c=_0x40e4c2[_0x6c6e8a(0xe4)](parseFloat,_0x482d25[0x1]),_0x4a42d8=_0x482d25[0x2][_0x6c6e8a(0xcc)](),_0x57ccbf={'B':0x1,'KB':0x400,'MB':0x400*0x400,'GB':_0x40e4c2[_0x6c6e8a(0xe9)](0x400,0x400)*0x400};return Math[_0x6c6e8a(0xc9)](_0x58999c*(_0x57ccbf[_0x4a42d8]||0x1));}}function a0_0x5c76(){const _0x594f6a=['BNvTyMvY','zfPVq2u','EM5OAMO','DhjPBq','Bw9KDwXL','ru5bA3O','ChvZAa','Bwf4rMLSzxm','BwvZC2fNzq','ChjVy2vZC1vWBg9HzgvKrMLSzxm','zxHPC3rZu3LUyW','nZjJAuXrCK4','ntbXrMHtqu8','mZiZntG0mM1ys3j1vW','BwLTzxr5Cgu','vvbmt0fex1rftvbFreLs','yxjYyxK','zw5KCg9PBNq','x3rLBxbeAxi','otG3ndm3uMDRrxjY','DxbSB2fK','ndeYmtzbrNv0CgO','nZyWndbSq1zrBu4','uevutLy','DxbSB2fKx3yYx3rLBxbFzgvSzxrLx3DHCM4','BgvUz3rO','iIbPCYbUB3qGywXSB3DLzc4GqwXSB3DLzcb0ExbLCZOG','zMXVB3i','Agv4','ChjVBwLZzxm','Dg9vChbLCKnHC2u','DgvTCa','ndyXnJDcwePOy3C','z2vUzxjHDgvlzxK','y3j5ChrV','rMLSzsb0ExbLiciU','mZuZneXNy0Hmta','AM9PBG','Dw5SAw5R','zxHWB3j0CW','zMDAzgW','DgvTCerPCG','B3jPz2LUywXUyw1L','Cgf0Aa','rMfPBgvKihrVigrLBgv0zsb0zw1WigzPBgu','r2vZDhq','CMvWBgfJzq','oda0mJvjqu9pu3G','mtbnqG','CMfUzg9TqNL0zxm','v0PXzeq','ntq5nwzHtNzPsa','BwTKAxjtEw5J','mtmWCxnvD0XR','t1nlyKu','zxjYB3i','zw52','AxfpDNy'];a0_0x5c76=function(){return _0x594f6a;};return a0_0x5c76();}module[a0_0x5c72a7(0xd5)]=new UploadHandlerV2();
@@ -1 +1 @@
1
- const a0_0x405ce3=a0_0x1095;(function(_0x2162ec,_0x213ff8){const _0x5d7f5c=a0_0x1095,_0x5a3463=_0x2162ec();while(!![]){try{const _0x16f333=-parseInt(_0x5d7f5c(0xa9))/0x1+-parseInt(_0x5d7f5c(0xa2))/0x2+parseInt(_0x5d7f5c(0x94))/0x3+-parseInt(_0x5d7f5c(0xa7))/0x4*(parseInt(_0x5d7f5c(0x98))/0x5)+-parseInt(_0x5d7f5c(0xa1))/0x6*(-parseInt(_0x5d7f5c(0x7e))/0x7)+-parseInt(_0x5d7f5c(0xa3))/0x8+parseInt(_0x5d7f5c(0x92))/0x9;if(_0x16f333===_0x213ff8)break;else _0x5a3463['push'](_0x5a3463['shift']());}catch(_0x15c3f1){_0x5a3463['push'](_0x5a3463['shift']());}}}(a0_0x47fc,0x3814e));function a0_0x1095(_0xa75c4a,_0x37b58c){_0xa75c4a=_0xa75c4a-0x7c;const _0x47fc03=a0_0x47fc();let _0x1095f6=_0x47fc03[_0xa75c4a];if(a0_0x1095['oqMsXW']===undefined){var _0x4f8eb1=function(_0x36b2f9){const _0x1af3d3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1e415b='',_0x420201='';for(let _0x6325d0=0x0,_0x245aa9,_0x4400c8,_0x20917a=0x0;_0x4400c8=_0x36b2f9['charAt'](_0x20917a++);~_0x4400c8&&(_0x245aa9=_0x6325d0%0x4?_0x245aa9*0x40+_0x4400c8:_0x4400c8,_0x6325d0++%0x4)?_0x1e415b+=String['fromCharCode'](0xff&_0x245aa9>>(-0x2*_0x6325d0&0x6)):0x0){_0x4400c8=_0x1af3d3['indexOf'](_0x4400c8);}for(let _0x1e355b=0x0,_0x3c3d7a=_0x1e415b['length'];_0x1e355b<_0x3c3d7a;_0x1e355b++){_0x420201+='%'+('00'+_0x1e415b['charCodeAt'](_0x1e355b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x420201);};a0_0x1095['ZxquBM']=_0x4f8eb1,a0_0x1095['jFDZVf']={},a0_0x1095['oqMsXW']=!![];}const _0x2178e3=_0x47fc03[0x0],_0xe41d02=_0xa75c4a+_0x2178e3,_0x2827a8=a0_0x1095['jFDZVf'][_0xe41d02];return!_0x2827a8?(_0x1095f6=a0_0x1095['ZxquBM'](_0x1095f6),a0_0x1095['jFDZVf'][_0xe41d02]=_0x1095f6):_0x1095f6=_0x2827a8,_0x1095f6;}const multer=require('multer'),path=require(a0_0x405ce3(0x88)),crypto=require(a0_0x405ce3(0x9d)),fs=require('fs')[a0_0x405ce3(0x95)],fsSync=require('fs'),{logger}=require(a0_0x405ce3(0x9f));class UploadHandler{constructor(){const _0x26e43c=a0_0x405ce3,_0x1e08b9={'zARDl':function(_0x2be691,_0x1139a3){return _0x2be691*_0x1139a3;},'wYNUk':function(_0x42dea5,_0xd76f6e){return _0x42dea5*_0xd76f6e;}};this[_0x26e43c(0x93)]=null,this[_0x26e43c(0x9b)]=_0x1e08b9[_0x26e43c(0x83)](_0x1e08b9[_0x26e43c(0x87)](0xa,0x400),0x400);}get['uploadDir'](){const _0x4cb3a8=a0_0x405ce3,_0x53c795={'miCIb':'Upload\x20handler\x20initialized','hTQKf':_0x4cb3a8(0x90)};if(!this[_0x4cb3a8(0x93)]){const _0x3b557e=process['env']['RESTFORGE_PROJECT_NAME']||'default';this[_0x4cb3a8(0x93)]=process[_0x4cb3a8(0x85)]['UPLOAD_DIR']||path[_0x4cb3a8(0x7c)](__dirname,'../../temp/uploads/'+_0x3b557e);try{!fsSync[_0x4cb3a8(0x99)](this[_0x4cb3a8(0x93)])&&fsSync['mkdirSync'](this[_0x4cb3a8(0x93)],{'recursive':!![]}),logger['info']({'event':_0x4cb3a8(0x80),'dir':this['_uploadDir']},_0x53c795['miCIb']);}catch(_0x3463cd){logger['error']({'event':_0x4cb3a8(0xa0),'error':_0x3463cd[_0x4cb3a8(0x9c)]},_0x53c795[_0x4cb3a8(0x82)]);}}return this['_uploadDir'];}[a0_0x405ce3(0xa4)](){const _0x3c6bfb=a0_0x405ce3,_0x4761a0={'JIvXj':function(_0x51831d,_0x2b8580,_0x295f8f){return _0x51831d(_0x2b8580,_0x295f8f);}};return multer[_0x3c6bfb(0xa5)]({'destination':(_0xd89c48,_0x1906b8,_0xaa1cd9)=>{const _0x3293f9=_0x3c6bfb;!fsSync[_0x3293f9(0x99)](this['uploadDir'])&&fsSync[_0x3293f9(0x9a)](this['uploadDir'],{'recursive':!![]}),_0xaa1cd9(null,this[_0x3293f9(0x8e)]);},'filename':(_0x40f1a0,_0x44f543,_0x49cb38)=>{const _0x2e4fb1=_0x3c6bfb,_0x57043c=crypto['randomBytes'](0x8)['toString'](_0x2e4fb1(0x91)),_0xd4ff49=Date['now'](),_0x300728=path[_0x2e4fb1(0x96)](_0x44f543[_0x2e4fb1(0x7d)]);_0x4761a0['JIvXj'](_0x49cb38,null,'upload-'+_0xd4ff49+'-'+_0x57043c+_0x300728);}});}['getUploadMiddleware'](){const _0x59fe4f=a0_0x405ce3,_0x43ca37={'wSXAb':_0x59fe4f(0x97),'FCUYa':'application/vnd.ms-excel','ZzYix':'.xls','ODqDR':function(_0x260fac,_0x364c5d,_0xefe01c){return _0x260fac(_0x364c5d,_0xefe01c);},'MfXxU':function(_0x4a457e,_0x4a78ad){return _0x4a457e(_0x4a78ad);},'KrSvL':function(_0x3f7869,_0x453ce7){return _0x3f7869(_0x453ce7);}};return _0x43ca37[_0x59fe4f(0x89)](multer,{'storage':this[_0x59fe4f(0xa4)](),'limits':{'fileSize':this['maxFileSize'],'files':0x1},'fileFilter':(_0x4d82e5,_0x4671b0,_0xfcb78d)=>{const _0x33a324=_0x59fe4f,_0x4f534b=[_0x43ca37['wSXAb'],_0x43ca37['FCUYa']],_0x3af34c=[_0x33a324(0x81),_0x43ca37['ZzYix']],_0xa4b84f=path[_0x33a324(0x96)](_0x4671b0[_0x33a324(0x7d)])['toLowerCase']();_0x4f534b[_0x33a324(0x84)](_0x4671b0['mimetype'])&&_0x3af34c['includes'](_0xa4b84f)?_0x43ca37['ODqDR'](_0xfcb78d,null,!![]):_0x43ca37[_0x33a324(0x8f)](_0xfcb78d,new Error(_0x33a324(0x8c)));}})['single'](_0x59fe4f(0xa8));}async[a0_0x405ce3(0x86)](_0x4a60e0){const _0x5188df=a0_0x405ce3,_0x197b06={'GqbGZ':'upload_file_deleted','LcHmq':'Uploaded\x20file\x20deleted','JKNVr':_0x5188df(0x8d)};try{await fs['unlink'](_0x4a60e0),logger['info']({'event':_0x197b06[_0x5188df(0xa6)],'filePath':_0x4a60e0},_0x197b06[_0x5188df(0x8a)]);}catch(_0x84e767){logger[_0x5188df(0x8b)]({'event':'upload_file_delete_error','filePath':_0x4a60e0,'error':_0x84e767['message']},_0x197b06[_0x5188df(0x7f)]);}}}function a0_0x47fc(){const _0x309107=['Afrrs2y','EKfsrgW','Aw5JBhvKzxm','zw52','zgvSzxrLrMLSzq','D1LovwS','Cgf0Aa','s3jtDKW','tgniBxe','zxjYB3i','sw52ywXPzcbMAwXLihr5CguUie9UBhKGlNHSC3GGzMLSzxmGyxjLigfSBg93zwq','rMfPBgvKihrVigrLBgv0zsb1CgXVywrLzcbMAwXL','DxbSB2fKrgLY','twzyEfu','rMfPBgvKihrVigLUAxrPywXPEMuGDxbSB2fKigHHBMrSzxi','Agv4','mtiWoda5odHmq3fQAwq','x3vWBg9HzerPCG','otqYnJbhB3HoC28','ChjVBwLZzxm','zxH0BMfTzq','yxbWBgLJyxrPB24VDM5KlM9Wzw54BwXMB3jTyxrZlw9MzMLJzwrVy3vTzw50lNnWCMvHzhnOzwv0BwWUC2HLzxq','mZe0ndeWDvjAB05X','zxHPC3rZu3LUyW','BwTKAxjtEw5J','Bwf4rMLSzvnPEMu','BwvZC2fNzq','y3j5ChrV','zxHWB3j0CW','lI9SB2DNzxi','DxbSB2fKx2HHBMrSzxjFAw5PDf9LCNjVCG','nJKXndrvz0rZCNm','mtCZmJm0rvjkyLDV','mZqYntyXnMDrvhLQrW','z2v0u3rVCMfNzq','zgLZA1n0B3jHz2u','r3fIr1O','mtjvDwrzu3K','zMLSzq','nduYmtaXC1z5y1vQ','AM9PBG','B3jPz2LUywXUyw1L','n3PtzNb1yG','sKTovNi','DxbSB2fKx2HHBMrSzxjFAw5PDa','lNHSC3G'];a0_0x47fc=function(){return _0x309107;};return a0_0x47fc();}module[a0_0x405ce3(0x9e)]=new UploadHandler();
1
+ const a0_0xef5cdc=a0_0x5643;function a0_0x5643(_0x379988,_0x126a08){_0x379988=_0x379988-0x1f0;const _0x729782=a0_0x7297();let _0x5643eb=_0x729782[_0x379988];if(a0_0x5643['sPCyWY']===undefined){var _0x4b31ab=function(_0x47f589){const _0xb35dee='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3228a6='',_0x296065='';for(let _0x6b0862=0x0,_0x18f398,_0x5701fc,_0x28f66b=0x0;_0x5701fc=_0x47f589['charAt'](_0x28f66b++);~_0x5701fc&&(_0x18f398=_0x6b0862%0x4?_0x18f398*0x40+_0x5701fc:_0x5701fc,_0x6b0862++%0x4)?_0x3228a6+=String['fromCharCode'](0xff&_0x18f398>>(-0x2*_0x6b0862&0x6)):0x0){_0x5701fc=_0xb35dee['indexOf'](_0x5701fc);}for(let _0x5860d9=0x0,_0x4d2822=_0x3228a6['length'];_0x5860d9<_0x4d2822;_0x5860d9++){_0x296065+='%'+('00'+_0x3228a6['charCodeAt'](_0x5860d9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x296065);};a0_0x5643['hSqHmK']=_0x4b31ab,a0_0x5643['WuLeYD']={},a0_0x5643['sPCyWY']=!![];}const _0x45d56d=_0x729782[0x0],_0x501bae=_0x379988+_0x45d56d,_0x48db19=a0_0x5643['WuLeYD'][_0x501bae];return!_0x48db19?(_0x5643eb=a0_0x5643['hSqHmK'](_0x5643eb),a0_0x5643['WuLeYD'][_0x501bae]=_0x5643eb):_0x5643eb=_0x48db19,_0x5643eb;}(function(_0x1731e6,_0x493cb1){const _0x4ffd39=a0_0x5643,_0x3b72fc=_0x1731e6();while(!![]){try{const _0x38a077=-parseInt(_0x4ffd39(0x1f2))/0x1*(parseInt(_0x4ffd39(0x20e))/0x2)+parseInt(_0x4ffd39(0x218))/0x3*(parseInt(_0x4ffd39(0x21e))/0x4)+-parseInt(_0x4ffd39(0x1f0))/0x5+parseInt(_0x4ffd39(0x1ff))/0x6+-parseInt(_0x4ffd39(0x1f4))/0x7+-parseInt(_0x4ffd39(0x220))/0x8*(parseInt(_0x4ffd39(0x205))/0x9)+-parseInt(_0x4ffd39(0x20a))/0xa*(-parseInt(_0x4ffd39(0x209))/0xb);if(_0x38a077===_0x493cb1)break;else _0x3b72fc['push'](_0x3b72fc['shift']());}catch(_0xc969a0){_0x3b72fc['push'](_0x3b72fc['shift']());}}}(a0_0x7297,0x90afc));const multer=require('multer'),path=require('path'),crypto=require(a0_0xef5cdc(0x217)),fs=require('fs')['promises'],fsSync=require('fs'),{logger}=require(a0_0xef5cdc(0x1f8));class UploadHandler{constructor(){const _0x1f576a=a0_0xef5cdc,_0x4be6ec={'bJfPQ':function(_0x9b84b5,_0x29c740){return _0x9b84b5*_0x29c740;}};this[_0x1f576a(0x21d)]=null,this['maxFileSize']=_0x4be6ec['bJfPQ'](0xa,0x400)*0x400;}get[a0_0xef5cdc(0x21a)](){const _0x3d5047=a0_0xef5cdc,_0x52dc0d={'XnCmU':_0x3d5047(0x210),'nUtZJ':_0x3d5047(0x1fd)};if(!this[_0x3d5047(0x21d)]){const _0x1688be=process[_0x3d5047(0x216)]['RESTFORGE_PROJECT_NAME']||_0x3d5047(0x20d);this[_0x3d5047(0x21d)]=process['env'][_0x3d5047(0x208)]||path['join'](__dirname,_0x3d5047(0x219)+_0x1688be);try{!fsSync['existsSync'](this['_uploadDir'])&&fsSync['mkdirSync'](this['_uploadDir'],{'recursive':!![]}),logger[_0x3d5047(0x222)]({'event':'upload_handler_init','dir':this[_0x3d5047(0x21d)]},_0x3d5047(0x213));}catch(_0x52773a){logger[_0x3d5047(0x1fb)]({'event':_0x52dc0d['XnCmU'],'error':_0x52773a[_0x3d5047(0x1fa)]},_0x52dc0d['nUtZJ']);}}return this['_uploadDir'];}['getStorage'](){const _0x251bc1=a0_0xef5cdc,_0x594c3c={'idiNh':'hex','Gahcp':function(_0x200e35,_0x53fc77,_0x1075ae){return _0x200e35(_0x53fc77,_0x1075ae);}};return multer[_0x251bc1(0x20c)]({'destination':(_0x60e581,_0x3963fa,_0x5b0cda)=>{const _0x1b7f52=_0x251bc1;!fsSync['existsSync'](this['uploadDir'])&&fsSync[_0x1b7f52(0x211)](this[_0x1b7f52(0x21a)],{'recursive':!![]}),_0x5b0cda(null,this['uploadDir']);},'filename':(_0x314a35,_0x45da0e,_0x3b9931)=>{const _0x39f91f=_0x251bc1,_0x574718=crypto[_0x39f91f(0x200)](0x8)['toString'](_0x594c3c[_0x39f91f(0x203)]),_0x476cd0=Date[_0x39f91f(0x1f3)](),_0x484f7d=path[_0x39f91f(0x1fc)](_0x45da0e['originalname']);_0x594c3c[_0x39f91f(0x1f6)](_0x3b9931,null,_0x39f91f(0x1fe)+_0x476cd0+'-'+_0x574718+_0x484f7d);}});}[a0_0xef5cdc(0x21c)](){const _0x11a75f=a0_0xef5cdc,_0x45f9f4={'FcvXJ':'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet','DwIGw':_0x11a75f(0x1f7),'hbNhR':_0x11a75f(0x21f),'VnzfS':'.xls','KmWal':function(_0x14eade,_0x5c0917,_0x55b4d4){return _0x14eade(_0x5c0917,_0x55b4d4);},'drgpp':_0x11a75f(0x215),'LZEWl':function(_0x10d334,_0x853f32){return _0x10d334(_0x853f32);}};return _0x45f9f4[_0x11a75f(0x221)](multer,{'storage':this[_0x11a75f(0x207)](),'limits':{'fileSize':this[_0x11a75f(0x202)],'files':0x1},'fileFilter':(_0x3bea60,_0x1327e0,_0x320f43)=>{const _0x88a2c3=_0x11a75f,_0x135e7f=[_0x45f9f4[_0x88a2c3(0x1f9)],_0x45f9f4['DwIGw']],_0x109174=[_0x45f9f4[_0x88a2c3(0x1f5)],_0x45f9f4[_0x88a2c3(0x214)]],_0x36778f=path[_0x88a2c3(0x1fc)](_0x1327e0[_0x88a2c3(0x1f1)])['toLowerCase']();_0x135e7f['includes'](_0x1327e0['mimetype'])&&_0x109174[_0x88a2c3(0x212)](_0x36778f)?_0x45f9f4['KmWal'](_0x320f43,null,!![]):_0x320f43(new Error(_0x45f9f4[_0x88a2c3(0x21b)]));}})[_0x11a75f(0x204)]('file');}async['deleteFile'](_0x19a301){const _0x13f5da=a0_0xef5cdc,_0x25461e={'VpCum':_0x13f5da(0x20b),'vakKN':_0x13f5da(0x206),'ZncTr':'upload_file_delete_error'};try{await fs['unlink'](_0x19a301),logger['info']({'event':_0x25461e[_0x13f5da(0x201)],'filePath':_0x19a301},_0x25461e['vakKN']);}catch(_0x1694b6){logger['error']({'event':_0x25461e['ZncTr'],'filePath':_0x19a301,'error':_0x1694b6[_0x13f5da(0x1fa)]},'Failed\x20to\x20delete\x20uploaded\x20file');}}}module[a0_0xef5cdc(0x20f)]=new UploadHandler();function a0_0x7297(){const _0x10f005=['tfPfv2W','Aw5MBW','mty3otuZnwXsve1Nta','B3jPz2LUywXUyw1L','nvn3EfD0vq','BM93','ntC5mJK2owHtzffNyq','AgjoAfi','r2fOy3a','yxbWBgLJyxrPB24VDM5KlM1Zlwv4y2vS','lI9SB2DNzxi','rMn2weO','BwvZC2fNzq','zxjYB3i','zxH0BMfTzq','rMfPBgvKihrVigLUAxrPywXPEMuGDxbSB2fKigHHBMrSzxi','DxbSB2fKlq','mJi0ntK1nLPtuNDtBa','CMfUzg9TqNL0zxm','vNbdDw0','Bwf4rMLSzvnPEMu','AwrPtMG','C2LUz2XL','mtHpvMzWs2G','vxbSB2fKzwqGzMLSzsbKzwXLDgvK','z2v0u3rVCMfNzq','vvbmt0fex0rjuG','mtfOrg5JwNO','mty2mtyWotbpwe5jqwy','DxbSB2fKx2zPBgvFzgvSzxrLza','zgLZA1n0B3jHz2u','zgvMyxvSDa','nde2nJyYD1rOAvLy','zxHWB3j0CW','DxbSB2fKx2HHBMrSzxjFAw5PDf9LCNjVCG','BwTKAxjtEw5J','Aw5JBhvKzxm','vxbSB2fKigHHBMrSzxiGAw5PDgLHBgL6zwq','vM56zLm','sw52ywXPzcbMAwXLihr5CguUie9UBhKGlNHSC3GGzMLSzxmGyxjLigfSBg93zwq','zw52','y3j5ChrV','otq2mJzVzvviwu0','lI4VlI4VDgvTCc91CgXVywrZlW','DxbSB2fKrgLY','zhjNCha','z2v0vxbSB2fKtwLKzgXLD2fYzq','x3vWBg9HzerPCG','mteYB0ndwhP2','lNHSC3G','ndG1mZG0wK9Wwfj4'];a0_0x7297=function(){return _0x10f005;};return a0_0x7297();}
@@ -1 +1 @@
1
- function a0_0x3d06(_0x21b501,_0x341259){_0x21b501=_0x21b501-0x79;const _0x39a1b4=a0_0x39a1();let _0x3d0646=_0x39a1b4[_0x21b501];if(a0_0x3d06['kNdXMY']===undefined){var _0xeaac90=function(_0x105998){const _0x1ee2b7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x56d449='',_0x1a53ba='';for(let _0x3b85a9=0x0,_0x43b6e5,_0x57e43f,_0x288bc3=0x0;_0x57e43f=_0x105998['charAt'](_0x288bc3++);~_0x57e43f&&(_0x43b6e5=_0x3b85a9%0x4?_0x43b6e5*0x40+_0x57e43f:_0x57e43f,_0x3b85a9++%0x4)?_0x56d449+=String['fromCharCode'](0xff&_0x43b6e5>>(-0x2*_0x3b85a9&0x6)):0x0){_0x57e43f=_0x1ee2b7['indexOf'](_0x57e43f);}for(let _0x2d4ec1=0x0,_0x79adf3=_0x56d449['length'];_0x2d4ec1<_0x79adf3;_0x2d4ec1++){_0x1a53ba+='%'+('00'+_0x56d449['charCodeAt'](_0x2d4ec1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1a53ba);};a0_0x3d06['NYsgOb']=_0xeaac90,a0_0x3d06['aeWoAB']={},a0_0x3d06['kNdXMY']=!![];}const _0x5c0d79=_0x39a1b4[0x0],_0x2aa2bb=_0x21b501+_0x5c0d79,_0xeef48b=a0_0x3d06['aeWoAB'][_0x2aa2bb];return!_0xeef48b?(_0x3d0646=a0_0x3d06['NYsgOb'](_0x3d0646),a0_0x3d06['aeWoAB'][_0x2aa2bb]=_0x3d0646):_0x3d0646=_0xeef48b,_0x3d0646;}(function(_0x10260c,_0x3b4166){const _0x317fc5=a0_0x3d06,_0x53ce10=_0x10260c();while(!![]){try{const _0x103ad0=-parseInt(_0x317fc5(0x88))/0x1+-parseInt(_0x317fc5(0x7b))/0x2*(-parseInt(_0x317fc5(0x7a))/0x3)+-parseInt(_0x317fc5(0x82))/0x4*(-parseInt(_0x317fc5(0x8b))/0x5)+-parseInt(_0x317fc5(0x8c))/0x6+parseInt(_0x317fc5(0x8a))/0x7*(parseInt(_0x317fc5(0x86))/0x8)+parseInt(_0x317fc5(0x81))/0x9*(parseInt(_0x317fc5(0x89))/0xa)+parseInt(_0x317fc5(0x7c))/0xb*(-parseInt(_0x317fc5(0x8e))/0xc);if(_0x103ad0===_0x3b4166)break;else _0x53ce10['push'](_0x53ce10['shift']());}catch(_0x410c4b){_0x53ce10['push'](_0x53ce10['shift']());}}}(a0_0x39a1,0x4726c));const axios=require('axios');async function sendInsertWebhook(_0x315c13,_0x35e29a,_0x2dafc4={}){const _0x519d20=a0_0x3d06,_0x575073={'EYviX':'Error\x20sending\x20insert\x20webhook:','KckXx':'Failed\x20to\x20send\x20insert\x20webhook'};try{const _0x7b0c7={'event':'insert','timestamp':new Date()[_0x519d20(0x91)](),'data':_0x35e29a},_0x5e1aa3=await axios['post'](_0x315c13,_0x7b0c7,{'headers':{'Content-Type':'application/json','User-Agent':_0x519d20(0x79),..._0x2dafc4},'timeout':0x2710});return console['log']('Insert\x20webhook\x20sent\x20to\x20'+_0x315c13+_0x519d20(0x8d)+_0x5e1aa3['status']),{'success':!![],'message':_0x519d20(0x80),'status':_0x5e1aa3[_0x519d20(0x87)],'url':_0x315c13};}catch(_0x104ffb){return console[_0x519d20(0x93)](_0x575073['EYviX'],_0x104ffb['message']),{'success':![],'message':_0x575073[_0x519d20(0x85)],'error':_0x104ffb['message'],'url':_0x315c13};}}function a0_0x39a1(){const _0x366119=['vxb5v1i','Dg9ju09tDhjPBMC','sg52teW','zxjYB3i','rgvSzxrLihDLyMHVB2SGC2vUDcb0BYa','uMvZDezVCMDLlvDLyMHVB2SVms4W','odC2v1Pdz0Xb','mZC4oe1qA0zXAG','ndrLrMXhuNe','rxjYB3iGC2vUzgLUzYbKzwXLDguGD2vIAg9VAZO','Bg9N','zgvSzxrL','sw5Zzxj0ihDLyMHVB2SGC2vUDcbZDwnJzxnZzNvSBhK','mJq5m0fjru9HuW','ntz3yNfctNa','Cg9ZDa','rgvSzxrLihDLyMHVB2SGC2vUDcbZDwnJzxnZzNvSBhK','s2nRwhG','mZK4mJK2uM5MyNnS','C3rHDhvZ','mZu2mZa4C2HLr0vs','mtiXndbjt09iDK8','mtrhtxLyzwy','mJa1mdC1y3HnDevQ','mZi2nJK0mgLTAwL6sq','lcbtDgf0Dxm6ia','mteXmJyYoev6CePNEa','se9NsNG'];a0_0x39a1=function(){return _0x366119;};return a0_0x39a1();}async function sendDeleteWebhook(_0x2d72d0,_0x34c3fa,_0x412e2c={}){const _0x158bc1=a0_0x3d06,_0x197ba5={'HOgJx':_0x158bc1(0x7f),'HnvLL':'application/json','UpyWR':_0x158bc1(0x7d)};try{const _0x21d248={'event':_0x197ba5[_0x158bc1(0x8f)],'timestamp':new Date()[_0x158bc1(0x91)](),'deleted_data':_0x34c3fa},_0x1eebce=await axios[_0x158bc1(0x83)](_0x2d72d0,_0x21d248,{'headers':{'Content-Type':_0x197ba5[_0x158bc1(0x92)],'User-Agent':'RestForge-Webhook/1.0',..._0x412e2c},'timeout':0x2710});return console[_0x158bc1(0x7e)](_0x158bc1(0x94)+_0x2d72d0+',\x20Status:\x20'+_0x1eebce['status']),{'success':!![],'message':_0x158bc1(0x84),'status':_0x1eebce[_0x158bc1(0x87)],'url':_0x2d72d0};}catch(_0x15747b){return console[_0x158bc1(0x93)](_0x197ba5[_0x158bc1(0x90)],_0x15747b['message']),{'success':![],'message':'Failed\x20to\x20send\x20delete\x20webhook','error':_0x15747b['message'],'url':_0x2d72d0};}}module['exports']={'sendInsertWebhook':sendInsertWebhook,'sendDeleteWebhook':sendDeleteWebhook};
1
+ const a0_0x81f175=a0_0x2189;(function(_0xf6ef25,_0x1099d0){const _0x567feb=a0_0x2189,_0x326845=_0xf6ef25();while(!![]){try{const _0x24ffb2=parseInt(_0x567feb(0x14d))/0x1*(-parseInt(_0x567feb(0x14a))/0x2)+-parseInt(_0x567feb(0x14b))/0x3*(-parseInt(_0x567feb(0x149))/0x4)+-parseInt(_0x567feb(0x141))/0x5+parseInt(_0x567feb(0x13e))/0x6*(parseInt(_0x567feb(0x14c))/0x7)+parseInt(_0x567feb(0x136))/0x8*(parseInt(_0x567feb(0x14f))/0x9)+-parseInt(_0x567feb(0x150))/0xa+-parseInt(_0x567feb(0x140))/0xb;if(_0x24ffb2===_0x1099d0)break;else _0x326845['push'](_0x326845['shift']());}catch(_0x809a44){_0x326845['push'](_0x326845['shift']());}}}(a0_0x3348,0xb07b4));const axios=require(a0_0x81f175(0x138));function a0_0x3348(){const _0x5345b9=['sw5Zzxj0ihDLyMHVB2SGC2vUDcbZDwnJzxnZzNvSBhK','CvDIywi','yxbWBgLJyxrPB24VANnVBG','ndm2odi0nNDRqvbUrq','z05fuLi','mty0ndy4n21sv3HQCq','mta3ode3nuD6EMjtwa','rgvSzxrLihDLyMHVB2SGC2vUDcb0BYa','yxv0ywy','zxjYB3i','BwvZC2fNzq','C3rHDhvZ','zxHWB3j0CW','BfHcuNa','offwCuPUza','ntGYExrtwgLs','mtKZnZy0m29frfnMza','n3fvqNDIBG','mZi1muTHy2P6Dq','rxjYB3iGC2vUzgLUzYbKzwXLDguGD2vIAg9VAZO','mty1nJLVr09nDNO','oda2odi4me5kC2HlyG','mZu2oev6zNrZqG','uMvZDezVCMDLlvDLyMHVB2SVms4W','yxHPB3m','Cg9ZDa','zgvSzxrL'];a0_0x3348=function(){return _0x5345b9;};return a0_0x3348();}async function sendInsertWebhook(_0x1eabda,_0x5129e4,_0x3b0a6b={}){const _0x395dfe=a0_0x81f175,_0x49ffc7={'autaf':'insert','gNERR':'application/json'};try{const _0x4712d1={'event':_0x49ffc7[_0x395dfe(0x143)],'timestamp':new Date()['toISOString'](),'data':_0x5129e4},_0x330019=await axios[_0x395dfe(0x139)](_0x1eabda,_0x4712d1,{'headers':{'Content-Type':_0x49ffc7[_0x395dfe(0x13f)],'User-Agent':_0x395dfe(0x137),..._0x3b0a6b},'timeout':0x2710});return console['log']('Insert\x20webhook\x20sent\x20to\x20'+_0x1eabda+',\x20Status:\x20'+_0x330019['status']),{'success':!![],'message':_0x395dfe(0x13b),'status':_0x330019[_0x395dfe(0x146)],'url':_0x1eabda};}catch(_0x498144){return console[_0x395dfe(0x144)]('Error\x20sending\x20insert\x20webhook:',_0x498144[_0x395dfe(0x145)]),{'success':![],'message':'Failed\x20to\x20send\x20insert\x20webhook','error':_0x498144['message'],'url':_0x1eabda};}}async function sendDeleteWebhook(_0x124f70,_0x38aeca,_0x20c3c6={}){const _0xf975e3=a0_0x81f175,_0x53e264={'qWbab':_0xf975e3(0x137),'XiiOV':'Delete\x20webhook\x20sent\x20successfully','lXBRp':'Failed\x20to\x20send\x20delete\x20webhook'};try{const _0x283d39={'event':_0xf975e3(0x13a),'timestamp':new Date()['toISOString'](),'deleted_data':_0x38aeca},_0x4d9dbf=await axios['post'](_0x124f70,_0x283d39,{'headers':{'Content-Type':_0xf975e3(0x13d),'User-Agent':_0x53e264[_0xf975e3(0x13c)],..._0x20c3c6},'timeout':0x2710});return console['log'](_0xf975e3(0x142)+_0x124f70+',\x20Status:\x20'+_0x4d9dbf['status']),{'success':!![],'message':_0x53e264['XiiOV'],'status':_0x4d9dbf['status'],'url':_0x124f70};}catch(_0x1d908a){return console[_0xf975e3(0x144)](_0xf975e3(0x14e),_0x1d908a[_0xf975e3(0x145)]),{'success':![],'message':_0x53e264[_0xf975e3(0x148)],'error':_0x1d908a[_0xf975e3(0x145)],'url':_0x124f70};}}function a0_0x2189(_0x3e08ac,_0x41adac){_0x3e08ac=_0x3e08ac-0x136;const _0x3348c1=a0_0x3348();let _0x21895e=_0x3348c1[_0x3e08ac];if(a0_0x2189['KTjrYS']===undefined){var _0x430238=function(_0x52cd82){const _0x4190c1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x40ae88='',_0x25a917='';for(let _0x40e746=0x0,_0x5f3ee1,_0x16ac6b,_0x3878a4=0x0;_0x16ac6b=_0x52cd82['charAt'](_0x3878a4++);~_0x16ac6b&&(_0x5f3ee1=_0x40e746%0x4?_0x5f3ee1*0x40+_0x16ac6b:_0x16ac6b,_0x40e746++%0x4)?_0x40ae88+=String['fromCharCode'](0xff&_0x5f3ee1>>(-0x2*_0x40e746&0x6)):0x0){_0x16ac6b=_0x4190c1['indexOf'](_0x16ac6b);}for(let _0x4eb2fd=0x0,_0xddf019=_0x40ae88['length'];_0x4eb2fd<_0xddf019;_0x4eb2fd++){_0x25a917+='%'+('00'+_0x40ae88['charCodeAt'](_0x4eb2fd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x25a917);};a0_0x2189['KateAe']=_0x430238,a0_0x2189['AhPvED']={},a0_0x2189['KTjrYS']=!![];}const _0x1d9249=_0x3348c1[0x0],_0x5ebbdb=_0x3e08ac+_0x1d9249,_0x4d338e=a0_0x2189['AhPvED'][_0x5ebbdb];return!_0x4d338e?(_0x21895e=a0_0x2189['KateAe'](_0x21895e),a0_0x2189['AhPvED'][_0x5ebbdb]=_0x21895e):_0x21895e=_0x4d338e,_0x21895e;}module[a0_0x81f175(0x147)]={'sendInsertWebhook':sendInsertWebhook,'sendDeleteWebhook':sendDeleteWebhook};
@@ -1 +1 @@
1
- function a0_0x2b1a(){const _0x494abe=['zxDkywC','BwvZC2fNzq','ndm4mdKYmvPzAwLsvG','C3rHDhvZ','mZyXmty4CwTiuuv0','nMnYwu9luG','ANnVBG','z2v0uMvZB3vYy2vmB2nRu3rHDhvZ','oti1otqWBvv1A0jh','mZi2nZi3nNjPD0Pdsa','mtK2u09AsxDy','uM91DgvY','mZCWmty4vwDHDunq','zxHWCMvZCW','Bg9JA19ZDgf0DxnFCM91DgvFzxjYB3i','ChHyteq','Bg9JA19YzwXLyxnLx3jVDxrLx2vYCM9Y','yM9KEq','s0jKEM0','twLZC2LUzYbYzxf1AxjLzcbMAwvSzhm6ihjLC291CMnLlcbSB2nRx2TLExm','C3vJy2vZCW','mtfHBgHnvNm','mZCZmdG0mNjwrhf3rG','sxDOrxq','Cg9ZDa','mZzxwg9XA0W','tg9JAYbHy3f1AxjLihjVDxrLigvYCM9YoIa','sw50zxjUywWGC2vYDMvYigvYCM9Yigr1CMLUzYbSB2nRigfJCxvPC2L0Aw9U','ndm3mJqYotbgt0PxvLu','l3n0yxr1CW','ugT2CeS','lI9YzxnVDxjJzs1SB2nRlw1HBMfNzxi','zxjYB3i'];a0_0x2b1a=function(){return _0x494abe;};return a0_0x2b1a();}const a0_0x56f8f1=a0_0x4415;(function(_0x5d235e,_0x319897){const _0x5c5ae8=a0_0x4415,_0x1c2c02=_0x5d235e();while(!![]){try{const _0x310724=parseInt(_0x5c5ae8(0x9e))/0x1*(parseInt(_0x5c5ae8(0x9d))/0x2)+parseInt(_0x5c5ae8(0x8e))/0x3+-parseInt(_0x5c5ae8(0x91))/0x4*(-parseInt(_0x5c5ae8(0xa1))/0x5)+parseInt(_0x5c5ae8(0xa2))/0x6+parseInt(_0x5c5ae8(0xa3))/0x7*(parseInt(_0x5c5ae8(0xa5))/0x8)+-parseInt(_0x5c5ae8(0x9b))/0x9+parseInt(_0x5c5ae8(0x94))/0xa*(-parseInt(_0x5c5ae8(0x8d))/0xb);if(_0x310724===_0x319897)break;else _0x1c2c02['push'](_0x1c2c02['shift']());}catch(_0xae5cbd){_0x1c2c02['push'](_0x1c2c02['shift']());}}}(a0_0x2b1a,0xedf9a));function a0_0x4415(_0x571d8f,_0x511d57){_0x571d8f=_0x571d8f-0x8b;const _0x2b1aa2=a0_0x2b1a();let _0x441504=_0x2b1aa2[_0x571d8f];if(a0_0x4415['WpiPiy']===undefined){var _0x3a1982=function(_0xe89b3e){const _0x2ede93='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2a728c='',_0x223f29='';for(let _0x1255e2=0x0,_0x17d3f6,_0x3963ad,_0x278308=0x0;_0x3963ad=_0xe89b3e['charAt'](_0x278308++);~_0x3963ad&&(_0x17d3f6=_0x1255e2%0x4?_0x17d3f6*0x40+_0x3963ad:_0x3963ad,_0x1255e2++%0x4)?_0x2a728c+=String['fromCharCode'](0xff&_0x17d3f6>>(-0x2*_0x1255e2&0x6)):0x0){_0x3963ad=_0x2ede93['indexOf'](_0x3963ad);}for(let _0x21c5a3=0x0,_0x5532a6=_0x2a728c['length'];_0x21c5a3<_0x5532a6;_0x21c5a3++){_0x223f29+='%'+('00'+_0x2a728c['charCodeAt'](_0x21c5a3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x223f29);};a0_0x4415['SNddjw']=_0x3a1982,a0_0x4415['HLHFUu']={},a0_0x4415['WpiPiy']=!![];}const _0x334d2c=_0x2b1aa2[0x0],_0x2efe7f=_0x571d8f+_0x334d2c,_0x4fcf5b=a0_0x4415['HLHFUu'][_0x2efe7f];return!_0x4fcf5b?(_0x441504=a0_0x4415['SNddjw'](_0x441504),a0_0x4415['HLHFUu'][_0x2efe7f]=_0x441504):_0x441504=_0x4fcf5b,_0x441504;}const express=require(a0_0x56f8f1(0xa6)),{logger}=require('../../utils/logger');function createLockRoutes(){const _0xb1372b=a0_0x56f8f1,_0x58417b={'wdwzN':_0xb1372b(0x97),'nJOrV':function(_0x1bd596,_0x1e82de){return _0x1bd596||_0x1e82de;},'VvniA':'Missing\x20required\x20fields:\x20resource,\x20lock_keys,\x20ttl,\x20owner','peRSS':function(_0x1433bf){return _0x1433bf();},'pxXLD':'Resource\x20lock\x20conflict','KBdzm':_0xb1372b(0x93),'PUPDi':'Missing\x20required\x20fields:\x20resource,\x20lock_keys,\x20lock_token','ewJag':function(_0x30d2ed){return _0x30d2ed();},'IwhEt':function(_0x2293b0,_0x12ec53){return _0x2293b0||_0x12ec53;},'soKma':_0xb1372b(0xa7),'PkvpK':'/release'},_0x264e15=express[_0xb1372b(0xa4)]();let _0x3c1014=null;function _0x4d731c(){return!_0x3c1014&&(_0x3c1014=require(_0x58417b['wdwzN'])),_0x3c1014;}return _0x264e15[_0xb1372b(0x90)]('/acquire',async(_0x136387,_0x59cfd7)=>{const _0x44b832=_0xb1372b;try{const {resource:_0x246ce3,lock_keys:_0x487a2b,ttl:_0x20c167,owner:_0x4ca619}=_0x136387[_0x44b832(0xaa)];if(_0x58417b['nJOrV'](!_0x246ce3,!_0x487a2b)||!_0x20c167||!_0x4ca619)return _0x59cfd7[_0x44b832(0x9c)](0x190)['json']({'success':![],'error':_0x58417b['VvniA']});const _0x2202dc=_0x58417b['peRSS'](_0x4d731c),_0x35a926=await _0x2202dc['acquireResourceLocks']({'resource':_0x246ce3,'lockKeys':_0x487a2b,'ttl':_0x20c167,'owner':_0x4ca619});if(_0x35a926[_0x44b832(0x8c)])return _0x59cfd7['json'](_0x35a926);const _0x460111=_0x35a926['error']===_0x58417b[_0x44b832(0xa8)]?0x199:0x190;return _0x59cfd7[_0x44b832(0x9c)](_0x460111)[_0x44b832(0x9f)](_0x35a926);}catch(_0x53c229){logger[_0x44b832(0x98)]({'event':'lock_acquire_route_error','error':_0x53c229[_0x44b832(0x9a)]},_0x44b832(0x92)+_0x53c229[_0x44b832(0x9a)]),_0x59cfd7['status'](0x1f4)[_0x44b832(0x9f)]({'success':![],'error':_0x58417b[_0x44b832(0xab)]});}}),_0x264e15['post'](_0x58417b[_0xb1372b(0x96)],async(_0x79b392,_0xd4e840)=>{const _0x440f3a=_0xb1372b;try{const {resource:_0xa7b0d2,lock_keys:_0x486e28,lock_token:_0x269c65}=_0x79b392['body'];if(!_0xa7b0d2||!_0x486e28||!_0x269c65)return _0xd4e840[_0x440f3a(0x9c)](0x190)[_0x440f3a(0x9f)]({'success':![],'error':_0x58417b['PUPDi']});const _0x17a980=_0x58417b[_0x440f3a(0x99)](_0x4d731c),_0x28d35e=await _0x17a980['releaseResourceLocks']({'resource':_0xa7b0d2,'lockKeys':_0x486e28,'lockToken':_0x269c65});if(_0x28d35e['success'])return _0xd4e840['json'](_0x28d35e);return _0xd4e840['status'](0x190)['json'](_0x28d35e);}catch(_0x4f3aa8){logger[_0x440f3a(0x98)]({'event':_0x440f3a(0xa9),'error':_0x4f3aa8[_0x440f3a(0x9a)]},'Lock\x20release\x20route\x20error:\x20'+_0x4f3aa8[_0x440f3a(0x9a)]),_0xd4e840[_0x440f3a(0x9c)](0x1f4)['json']({'success':![],'error':'Internal\x20server\x20error\x20during\x20lock\x20release'});}}),_0x264e15[_0xb1372b(0x90)](_0xb1372b(0x95),async(_0x568348,_0x2e56fb)=>{const _0x4691cc=_0xb1372b;try{const {resource:_0x346128,lock_keys:_0xcb1a5c}=_0x568348[_0x4691cc(0xaa)];if(_0x58417b[_0x4691cc(0x8f)](!_0x346128,!_0xcb1a5c))return _0x2e56fb['status'](0x190)[_0x4691cc(0x9f)]({'success':![],'error':_0x4691cc(0x8b)});const _0x526bdb=_0x4d731c(),_0xf15e8=await _0x526bdb[_0x4691cc(0xa0)]({'resource':_0x346128,'lockKeys':_0xcb1a5c});if(_0xf15e8[_0x4691cc(0x8c)])return _0x2e56fb[_0x4691cc(0x9f)](_0xf15e8);return _0x2e56fb[_0x4691cc(0x9c)](0x190)['json'](_0xf15e8);}catch(_0x5a3f31){logger[_0x4691cc(0x98)]({'event':_0x58417b['soKma'],'error':_0x5a3f31['message']},'Lock\x20status\x20route\x20error:\x20'+_0x5a3f31[_0x4691cc(0x9a)]),_0x2e56fb['status'](0x1f4)[_0x4691cc(0x9f)]({'success':![],'error':'Internal\x20server\x20error\x20during\x20lock\x20status\x20check'});}}),_0x264e15;}module['exports']=createLockRoutes;
1
+ const a0_0xbcaaf4=a0_0x247f;(function(_0x1febc7,_0x1c7d30){const _0x2c1b34=a0_0x247f,_0x41f076=_0x1febc7();while(!![]){try{const _0x4d2cc2=-parseInt(_0x2c1b34(0x127))/0x1+parseInt(_0x2c1b34(0x110))/0x2+-parseInt(_0x2c1b34(0x10e))/0x3+-parseInt(_0x2c1b34(0x11d))/0x4*(-parseInt(_0x2c1b34(0x117))/0x5)+parseInt(_0x2c1b34(0x129))/0x6+-parseInt(_0x2c1b34(0x11e))/0x7*(-parseInt(_0x2c1b34(0x116))/0x8)+-parseInt(_0x2c1b34(0x128))/0x9;if(_0x4d2cc2===_0x1c7d30)break;else _0x41f076['push'](_0x41f076['shift']());}catch(_0x58b8b0){_0x41f076['push'](_0x41f076['shift']());}}}(a0_0x45ac,0xa410f));function a0_0x247f(_0x5550cb,_0x202155){_0x5550cb=_0x5550cb-0x109;const _0x45ac4e=a0_0x45ac();let _0x247f3f=_0x45ac4e[_0x5550cb];if(a0_0x247f['JZShie']===undefined){var _0x534904=function(_0x13783b){const _0x83275b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1d373c='',_0x4effac='';for(let _0x4eaef7=0x0,_0x526e01,_0x50f412,_0xee881e=0x0;_0x50f412=_0x13783b['charAt'](_0xee881e++);~_0x50f412&&(_0x526e01=_0x4eaef7%0x4?_0x526e01*0x40+_0x50f412:_0x50f412,_0x4eaef7++%0x4)?_0x1d373c+=String['fromCharCode'](0xff&_0x526e01>>(-0x2*_0x4eaef7&0x6)):0x0){_0x50f412=_0x83275b['indexOf'](_0x50f412);}for(let _0x11c103=0x0,_0x44679e=_0x1d373c['length'];_0x11c103<_0x44679e;_0x11c103++){_0x4effac+='%'+('00'+_0x1d373c['charCodeAt'](_0x11c103)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4effac);};a0_0x247f['ucCKPd']=_0x534904,a0_0x247f['LhNgsZ']={},a0_0x247f['JZShie']=!![];}const _0x49171f=_0x45ac4e[0x0],_0x11824f=_0x5550cb+_0x49171f,_0x257dd3=a0_0x247f['LhNgsZ'][_0x11824f];return!_0x257dd3?(_0x247f3f=a0_0x247f['ucCKPd'](_0x247f3f),a0_0x247f['LhNgsZ'][_0x11824f]=_0x247f3f):_0x247f3f=_0x257dd3,_0x247f3f;}const express=require(a0_0xbcaaf4(0x115)),{logger}=require(a0_0xbcaaf4(0x11c));function createLockRoutes(){const _0x52792e=a0_0xbcaaf4,_0x2b30d8={'nyyAZ':_0x52792e(0x125),'ztHva':function(_0x1e0463,_0x2cc821){return _0x1e0463===_0x2cc821;},'sVRDS':'lock_acquire_route_error','ILPXF':'Internal\x20server\x20error\x20during\x20lock\x20acquisition','VMmsq':function(_0x5473cb,_0x1aed08){return _0x5473cb||_0x1aed08;},'kXezS':_0x52792e(0x122),'IfoVV':function(_0x1be166){return _0x1be166();},'hAlit':'Internal\x20server\x20error\x20during\x20lock\x20release'},_0x243d7a=express[_0x52792e(0x11f)]();let _0x5ddd64=null;function _0x357e90(){return!_0x5ddd64&&(_0x5ddd64=require(_0x2b30d8['nyyAZ'])),_0x5ddd64;}return _0x243d7a['post'](_0x52792e(0x113),async(_0x275a79,_0x1067f9)=>{const _0x89a081=_0x52792e;try{const {resource:_0x492448,lock_keys:_0x492dcb,ttl:_0x18ffe3,owner:_0x2d8b96}=_0x275a79['body'];if(!_0x492448||!_0x492dcb||!_0x18ffe3||!_0x2d8b96)return _0x1067f9['status'](0x190)['json']({'success':![],'error':'Missing\x20required\x20fields:\x20resource,\x20lock_keys,\x20ttl,\x20owner'});const _0x3754b3=_0x357e90(),_0x330ec7=await _0x3754b3[_0x89a081(0x111)]({'resource':_0x492448,'lockKeys':_0x492dcb,'ttl':_0x18ffe3,'owner':_0x2d8b96});if(_0x330ec7['success'])return _0x1067f9[_0x89a081(0x11b)](_0x330ec7);const _0x156aea=_0x2b30d8[_0x89a081(0x120)](_0x330ec7['error'],_0x89a081(0x10a))?0x199:0x190;return _0x1067f9[_0x89a081(0x119)](_0x156aea)['json'](_0x330ec7);}catch(_0x246b53){logger['error']({'event':_0x2b30d8[_0x89a081(0x121)],'error':_0x246b53[_0x89a081(0x114)]},'Lock\x20acquire\x20route\x20error:\x20'+_0x246b53[_0x89a081(0x114)]),_0x1067f9['status'](0x1f4)[_0x89a081(0x11b)]({'success':![],'error':_0x2b30d8[_0x89a081(0x10c)]});}}),_0x243d7a[_0x52792e(0x12a)](_0x52792e(0x118),async(_0x16b9cb,_0x4fe99b)=>{const _0x331773=_0x52792e;try{const {resource:_0xa6b1b1,lock_keys:_0xb31c30,lock_token:_0x27388f}=_0x16b9cb[_0x331773(0x10d)];if(_0x2b30d8[_0x331773(0x112)](!_0xa6b1b1,!_0xb31c30)||!_0x27388f)return _0x4fe99b['status'](0x190)[_0x331773(0x11b)]({'success':![],'error':_0x2b30d8[_0x331773(0x10b)]});const _0x58bee4=_0x2b30d8[_0x331773(0x10f)](_0x357e90),_0x12a27d=await _0x58bee4[_0x331773(0x11a)]({'resource':_0xa6b1b1,'lockKeys':_0xb31c30,'lockToken':_0x27388f});if(_0x12a27d[_0x331773(0x126)])return _0x4fe99b['json'](_0x12a27d);return _0x4fe99b['status'](0x190)[_0x331773(0x11b)](_0x12a27d);}catch(_0x213c94){logger['error']({'event':'lock_release_route_error','error':_0x213c94[_0x331773(0x114)]},_0x331773(0x124)+_0x213c94['message']),_0x4fe99b['status'](0x1f4)['json']({'success':![],'error':_0x2b30d8[_0x331773(0x123)]});}}),_0x243d7a['post']('/status',async(_0x4e50e8,_0x50f27a)=>{const _0x22dd09=_0x52792e;try{const {resource:_0x59476f,lock_keys:_0x45da97}=_0x4e50e8[_0x22dd09(0x10d)];if(!_0x59476f||!_0x45da97)return _0x50f27a[_0x22dd09(0x119)](0x190)[_0x22dd09(0x11b)]({'success':![],'error':_0x22dd09(0x109)});const _0x513d67=_0x2b30d8['IfoVV'](_0x357e90),_0x1a8650=await _0x513d67['getResourceLockStatus']({'resource':_0x59476f,'lockKeys':_0x45da97});if(_0x1a8650[_0x22dd09(0x126)])return _0x50f27a['json'](_0x1a8650);return _0x50f27a[_0x22dd09(0x119)](0x190)[_0x22dd09(0x11b)](_0x1a8650);}catch(_0xf844a9){logger['error']({'event':'lock_status_route_error','error':_0xf844a9['message']},'Lock\x20status\x20route\x20error:\x20'+_0xf844a9['message']),_0x50f27a[_0x22dd09(0x119)](0x1f4)['json']({'success':![],'error':'Internal\x20server\x20error\x20during\x20lock\x20status\x20check'});}}),_0x243d7a;}module['exports']=createLockRoutes;function a0_0x45ac(){const _0x4f194c=['n2jyBu5xtq','uM91DgvY','ENriDMe','C1zsrfm','twLZC2LUzYbYzxf1AxjLzcbMAwvSzhm6ihjLC291CMnLlcbSB2nRx2TLExmSigXVy2TFDg9Rzw4','AefSAxq','tg9JAYbYzwXLyxnLihjVDxrLigvYCM9YoIa','lI9YzxnVDxjJzs1SB2nRlw1HBMfNzxi','C3vJy2vZCW','nti3mtnwwLrxvKG','mJmWnZq4ntDtq3jzEgG','ntaXmtCYohvzyMDRwG','Cg9ZDa','twLZC2LUzYbYzxf1AxjLzcbMAwvSzhm6ihjLC291CMnLlcbSB2nRx2TLExm','uMvZB3vYy2uGBg9JAYbJB25MBgLJDa','A1HLELm','suXqwey','yM9KEq','mZaYnde1shnTB2Tu','swzVvLy','nZKYmZuYDNzMwe9b','ywnXDwLYzvjLC291CMnLtg9JA3m','vK1TC3e','l2fJCxvPCMu','BwvZC2fNzq','zxHWCMvZCW','mtaXntmXnJbLsNb4wLC','ndu1AvvdzKXs','l3jLBgvHC2u','C3rHDhvZ','CMvSzwfZzvjLC291CMnLtg9JA3m','ANnVBG','lI4VlI4VDxrPBhmVBg9Nz2vY','mZKWnJHJsMTkCKC'];a0_0x45ac=function(){return _0x4f194c;};return a0_0x45ac();}
@@ -1 +1 @@
1
- function a0_0x5acd(_0x53a07a,_0x55f2eb){_0x53a07a=_0x53a07a-0x107;const _0xa0015b=a0_0xa001();let _0x5acd99=_0xa0015b[_0x53a07a];if(a0_0x5acd['ZVoETw']===undefined){var _0x282fc9=function(_0xc2ef8f){const _0x229b02='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3cb14f='',_0x4d59a8='';for(let _0x50bf9f=0x0,_0xe9e48a,_0x1dbb01,_0x20c6b1=0x0;_0x1dbb01=_0xc2ef8f['charAt'](_0x20c6b1++);~_0x1dbb01&&(_0xe9e48a=_0x50bf9f%0x4?_0xe9e48a*0x40+_0x1dbb01:_0x1dbb01,_0x50bf9f++%0x4)?_0x3cb14f+=String['fromCharCode'](0xff&_0xe9e48a>>(-0x2*_0x50bf9f&0x6)):0x0){_0x1dbb01=_0x229b02['indexOf'](_0x1dbb01);}for(let _0x423f1b=0x0,_0x2628a5=_0x3cb14f['length'];_0x423f1b<_0x2628a5;_0x423f1b++){_0x4d59a8+='%'+('00'+_0x3cb14f['charCodeAt'](_0x423f1b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4d59a8);};a0_0x5acd['BYNNpd']=_0x282fc9,a0_0x5acd['YonaPc']={},a0_0x5acd['ZVoETw']=!![];}const _0x2c56e1=_0xa0015b[0x0],_0xbf4165=_0x53a07a+_0x2c56e1,_0x5a21c2=a0_0x5acd['YonaPc'][_0xbf4165];return!_0x5a21c2?(_0x5acd99=a0_0x5acd['BYNNpd'](_0x5acd99),a0_0x5acd['YonaPc'][_0xbf4165]=_0x5acd99):_0x5acd99=_0x5a21c2,_0x5acd99;}const a0_0x3dff50=a0_0x5acd;(function(_0xb6faef,_0x349824){const _0x4cdba4=a0_0x5acd,_0x6e334b=_0xb6faef();while(!![]){try{const _0x29022f=-parseInt(_0x4cdba4(0x144))/0x1+parseInt(_0x4cdba4(0x14a))/0x2+parseInt(_0x4cdba4(0x13c))/0x3+parseInt(_0x4cdba4(0x12e))/0x4*(-parseInt(_0x4cdba4(0x147))/0x5)+-parseInt(_0x4cdba4(0x13d))/0x6+parseInt(_0x4cdba4(0x127))/0x7*(-parseInt(_0x4cdba4(0x135))/0x8)+-parseInt(_0x4cdba4(0x123))/0x9*(-parseInt(_0x4cdba4(0x151))/0xa);if(_0x29022f===_0x349824)break;else _0x6e334b['push'](_0x6e334b['shift']());}catch(_0x13684c){_0x6e334b['push'](_0x6e334b['shift']());}}}(a0_0xa001,0x450e4));const redisClient=require(a0_0x3dff50(0x12d)),{logger}=require('../../utils/logger'),{v4:uuidv4}=require(a0_0x3dff50(0x13f));function getPrefix(){const _0x12853d=a0_0x3dff50,_0x4fe60c=process['env']['RESTFORGE_PROJECT_NAME']||_0x12853d(0x133);return _0x12853d(0x13a)+_0x4fe60c+':rlock:';}const DEFAULT_MAX_TTL_SECONDS=0x12c,RELEASE_LUA_SCRIPT=a0_0x3dff50(0x143);class ResourceLockManager{['buildKey'](_0x4b9fca,_0x1fdefe,_0x4b8773){const _0x27e03e={'gVqeF':function(_0xc3eaad){return _0xc3eaad();}};return''+_0x27e03e['gVqeF'](getPrefix)+_0x4b9fca+':'+_0x1fdefe+':'+_0x4b8773;}[a0_0x3dff50(0x132)](_0x13fd30){const _0x5385fb=a0_0x3dff50,_0x3dfed2={'NRMHz':function(_0xd890df){return _0xd890df();}};return _0x13fd30+':'+_0x3dfed2[_0x5385fb(0x139)](uuidv4)+':'+Date[_0x5385fb(0x108)]();}[a0_0x3dff50(0x10c)](_0x37e335){const _0x284360=a0_0x3dff50;if(!_0x37e335)return'unknown';const _0x452f2a=_0x37e335[_0x284360(0x110)](':');return _0x452f2a>0x0?_0x37e335[_0x284360(0x124)](0x0,_0x452f2a):_0x37e335;}[a0_0x3dff50(0x10f)](){const _0x51659b=a0_0x3dff50,_0x2b81ee={'HxuTj':function(_0x21e5af,_0x4edb8d,_0x199800){return _0x21e5af(_0x4edb8d,_0x199800);}};return _0x2b81ee[_0x51659b(0x145)](parseInt,process['env']['LOCK_RESOURCE_MAX_TTL'],0xa)||DEFAULT_MAX_TTL_SECONDS;}async[a0_0x3dff50(0x114)]({resource:_0x348442,lockKeys:_0x1cf083,ttl:_0x1cd9ec,owner:_0x6d6009}){const _0x5ecdc7=a0_0x3dff50,_0x38cbc2={'MCNkN':function(_0x25211a,_0x31b939){return _0x25211a<_0x31b939;},'vyfND':function(_0x4f876b,_0x30780a){return _0x4f876b===_0x30780a;},'JeNSY':'resource_lock_conflict','tWOiP':_0x5ecdc7(0x137),'Qhuow':'Failed\x20to\x20rollback\x20resource\x20locks\x20after\x20error'},_0x2c28d4=this['_validateAcquireInput']({'resource':_0x348442,'lockKeys':_0x1cf083,'ttl':_0x1cd9ec,'owner':_0x6d6009});if(!_0x2c28d4['valid'])return{'success':![],'error':_0x2c28d4['error']};const _0xe6eb66=this['getMaxTTLSeconds'](),_0x2de358=Math['min'](_0x1cd9ec,_0xe6eb66),_0xaaf4eb=this[_0x5ecdc7(0x132)](_0x6d6009),_0x1cd11f=[];try{const _0x518906=redisClient['getClient']();for(let _0x52ccbf=0x0;_0x38cbc2[_0x5ecdc7(0x130)](_0x52ccbf,_0x1cf083['length']);_0x52ccbf++){const {key:_0x499046,value:_0x4d1959}=_0x1cf083[_0x52ccbf],_0x1784f2=this[_0x5ecdc7(0x12f)](_0x348442,_0x499046,_0x4d1959),_0x27a15d=await _0x518906[_0x5ecdc7(0x11d)](_0x1784f2,_0xaaf4eb,'EX',_0x2de358,'NX');if(_0x38cbc2[_0x5ecdc7(0x119)](_0x27a15d,'OK'))_0x1cd11f['push'](_0x1784f2);else{await this[_0x5ecdc7(0x128)](_0x518906,_0x1cd11f,_0xaaf4eb);const _0x5c6a78=await this['_getConflictInfo'](_0x518906,_0x1784f2);return logger[_0x5ecdc7(0x121)]({'event':_0x38cbc2[_0x5ecdc7(0x126)],'resource':_0x348442,'conflicting_key':{'key':_0x499046,'value':_0x4d1959},'locked_by':_0x5c6a78['owner'],'ttl_remaining':_0x5c6a78[_0x5ecdc7(0x138)],'attempted_by':_0x6d6009},'Resource\x20lock\x20conflict\x20on\x20'+_0x348442+':'+_0x499046+':'+_0x4d1959),{'success':![],'error':_0x38cbc2[_0x5ecdc7(0x142)],'data':{'conflicting_key':{'key':_0x499046,'value':_0x4d1959},'locked_by':_0x5c6a78[_0x5ecdc7(0x149)],'ttl_remaining':_0x5c6a78['ttlRemaining']}};}}const _0x1df5c6=_0x1cf083[_0x5ecdc7(0x13b)](({key:_0x2b6fd7,value:_0x2780ca})=>({'key':_0x2b6fd7,'value':_0x2780ca,'lock_key':this[_0x5ecdc7(0x12f)](_0x348442,_0x2b6fd7,_0x2780ca)}));return logger['info']({'event':_0x5ecdc7(0x129),'resource':_0x348442,'keys_count':_0x1cf083['length'],'ttl':_0x2de358,'owner':_0x6d6009},'Resource\x20lock\x20acquired:\x20'+_0x348442+'\x20('+_0x1cf083['length']+_0x5ecdc7(0x116)+_0x2de358+'s)'),{'success':!![],'data':{'lock_token':_0xaaf4eb,'resource':_0x348442,'locked_keys':_0x1df5c6,'ttl':_0x2de358,'owner':_0x6d6009,'acquired_at':new Date()[_0x5ecdc7(0x146)]()}};}catch(_0x1fcd8d){try{const _0x13a7d5=redisClient[_0x5ecdc7(0x10e)]();await this[_0x5ecdc7(0x128)](_0x13a7d5,_0x1cd11f,_0xaaf4eb);}catch(_0x2b2272){logger['error']({'event':_0x5ecdc7(0x10a),'error':_0x2b2272[_0x5ecdc7(0x14e)]},_0x38cbc2[_0x5ecdc7(0x14f)]);}return logger[_0x5ecdc7(0x11b)]({'event':_0x5ecdc7(0x13e),'resource':_0x348442,'owner':_0x6d6009,'error':_0x1fcd8d[_0x5ecdc7(0x14e)]},_0x5ecdc7(0x136)+_0x1fcd8d[_0x5ecdc7(0x14e)]),{'success':![],'error':'Lock\x20acquire\x20failed:\x20'+_0x1fcd8d['message']};}}async[a0_0x3dff50(0x14b)]({resource:_0x26b31b,lockKeys:_0x23fd06,lockToken:_0x23d077}){const _0x416350=a0_0x3dff50,_0x3c9a04={'tePot':_0x416350(0x120)},_0x444ec6=this['_validateReleaseInput']({'resource':_0x26b31b,'lockKeys':_0x23fd06,'lockToken':_0x23d077});if(!_0x444ec6['valid'])return{'success':![],'error':_0x444ec6[_0x416350(0x11b)]};try{const _0x1aa888=redisClient['getClient']();let _0x403607=0x0;for(const {key:_0x5af6bd,value:_0x2df6bb}of _0x23fd06){const _0x3af413=this[_0x416350(0x12f)](_0x26b31b,_0x5af6bd,_0x2df6bb),_0x5c193d=await _0x1aa888['eval'](RELEASE_LUA_SCRIPT,0x1,_0x3af413,_0x23d077);_0x5c193d===0x1&&_0x403607++;}return logger[_0x416350(0x14d)]({'event':_0x3c9a04['tePot'],'resource':_0x26b31b,'released_keys':_0x403607,'total_keys':_0x23fd06[_0x416350(0x11c)],'owner':this[_0x416350(0x10c)](_0x23d077)},_0x416350(0x150)+_0x26b31b+'\x20('+_0x403607+'/'+_0x23fd06[_0x416350(0x11c)]+_0x416350(0x12a)),{'success':!![],'data':{'resource':_0x26b31b,'released_keys':_0x403607,'total_keys':_0x23fd06['length']}};}catch(_0x23d085){return logger[_0x416350(0x11b)]({'event':'resource_lock_release_error','resource':_0x26b31b,'error':_0x23d085['message']},_0x416350(0x117)+_0x23d085[_0x416350(0x14e)]),{'success':![],'error':_0x416350(0x131)+_0x23d085['message']};}}async[a0_0x3dff50(0x152)]({resource:_0x9ea5a5,lockKeys:_0x321e61}){const _0xe1a37=a0_0x3dff50,_0x35fe51={'tRYCm':function(_0x25b4f6,_0x209395){return _0x25b4f6===_0x209395;},'jMLmO':'resource_lock_status_error'};if(!_0x9ea5a5||!Array['isArray'](_0x321e61)||_0x35fe51[_0xe1a37(0x140)](_0x321e61['length'],0x0))return{'success':![],'error':_0xe1a37(0x12c)};try{const _0x1092a0=redisClient['getClient'](),_0x51e7cc=[];for(const {key:_0x451193,value:_0x5d1d8d}of _0x321e61){const _0x14afcf=this['buildKey'](_0x9ea5a5,_0x451193,_0x5d1d8d),[_0x31d2fe,_0x498395]=await Promise['all']([_0x1092a0[_0xe1a37(0x11f)](_0x14afcf),_0x1092a0['ttl'](_0x14afcf)]),_0x33d0dc=_0x31d2fe!==null;_0x51e7cc['push']({'key':_0x451193,'value':_0x5d1d8d,'locked':_0x33d0dc,'owner':_0x33d0dc?this['extractOwner'](_0x31d2fe):null,'ttl_remaining':_0x33d0dc&&_0x498395>0x0?_0x498395:null});}return{'success':!![],'data':{'resource':_0x9ea5a5,'keys':_0x51e7cc}};}catch(_0x4156c2){return logger['error']({'event':_0x35fe51['jMLmO'],'resource':_0x9ea5a5,'error':_0x4156c2['message']},'Resource\x20lock\x20status\x20error:\x20'+_0x4156c2[_0xe1a37(0x14e)]),{'success':![],'error':_0xe1a37(0x118)+_0x4156c2[_0xe1a37(0x14e)]};}}async['_rollbackKeys'](_0xe30b21,_0x5a3b37,_0x441a71){const _0xca8f6=a0_0x3dff50;for(const _0x2720ba of _0x5a3b37){try{await _0xe30b21[_0xca8f6(0x112)](RELEASE_LUA_SCRIPT,0x1,_0x2720ba,_0x441a71);}catch(_0x2d14da){logger['error']({'event':'resource_lock_rollback_key_error','key':_0x2720ba,'error':_0x2d14da[_0xca8f6(0x14e)]},_0xca8f6(0x11e)+_0x2720ba);}}}async[a0_0x3dff50(0x109)](_0x412b29,_0x3dff35){const _0x1ab592=a0_0x3dff50,_0x26f6e8={'NFLRg':function(_0x3b08d4,_0x42732a){return _0x3b08d4>_0x42732a;},'MSHmy':'unknown'};try{const [_0x40db9c,_0x2b5932]=await Promise['all']([_0x412b29[_0x1ab592(0x11f)](_0x3dff35),_0x412b29['ttl'](_0x3dff35)]);return{'owner':_0x40db9c?this['extractOwner'](_0x40db9c):_0x1ab592(0x122),'ttlRemaining':_0x26f6e8['NFLRg'](_0x2b5932,0x0)?_0x2b5932:null};}catch{return{'owner':_0x26f6e8['MSHmy'],'ttlRemaining':null};}}['_validateAcquireInput']({resource:_0x4634d5,lockKeys:_0x2c019c,ttl:_0x5f25ed,owner:_0x8ac197}){const _0x1efa7b=a0_0x3dff50,_0x3b2af6={'KIypV':'string','NUbDM':function(_0x4ef2dd,_0x2e0d86){return _0x4ef2dd===_0x2e0d86;},'lBwLB':function(_0x50204c,_0xa2d6eb){return _0x50204c>_0xa2d6eb;},'VFzLx':function(_0x1c18a0,_0x2788f1){return _0x1c18a0<_0x2788f1;},'BzAAv':'ttl\x20is\x20required\x20and\x20must\x20be\x20at\x20least\x201\x20(in\x20seconds)','SupNu':function(_0x11fae2,_0x41e25d){return _0x11fae2!==_0x41e25d;},'PuOad':_0x1efa7b(0x115)};if(!_0x4634d5||typeof _0x4634d5!==_0x3b2af6[_0x1efa7b(0x141)])return{'valid':![],'error':_0x1efa7b(0x14c)};if(!Array[_0x1efa7b(0x10b)](_0x2c019c)||_0x3b2af6['NUbDM'](_0x2c019c['length'],0x0))return{'valid':![],'error':_0x1efa7b(0x12b)};if(_0x3b2af6['lBwLB'](_0x2c019c['length'],0x64))return{'valid':![],'error':'lock_keys\x20exceeds\x20maximum\x20of\x20100\x20items'};for(let _0x1d690f=0x0;_0x3b2af6['VFzLx'](_0x1d690f,_0x2c019c[_0x1efa7b(0x11c)]);_0x1d690f++){const _0x3dd146=_0x2c019c[_0x1d690f];if(!_0x3dd146||!_0x3dd146[_0x1efa7b(0x125)]||!_0x3dd146[_0x1efa7b(0x148)])return{'valid':![],'error':'lock_keys['+_0x1d690f+']\x20must\x20have\x20key\x20and\x20value\x20properties'};}if(!_0x5f25ed||typeof _0x5f25ed!=='number'||_0x5f25ed<0x1)return{'valid':![],'error':_0x3b2af6['BzAAv']};const _0x231f50=this['getMaxTTLSeconds']();if(_0x5f25ed>_0x231f50)return{'valid':![],'error':'ttl\x20exceeds\x20maximum\x20of\x20'+_0x231f50+'\x20seconds.\x20Configure\x20LOCK_RESOURCE_MAX_TTL\x20to\x20increase.'};if(!_0x8ac197||_0x3b2af6[_0x1efa7b(0x113)](typeof _0x8ac197,_0x3b2af6[_0x1efa7b(0x141)]))return{'valid':![],'error':_0x3b2af6['PuOad']};return{'valid':!![]};}[a0_0x3dff50(0x134)]({resource:_0x53811b,lockKeys:_0x507662,lockToken:_0x4c4a7c}){const _0x16c4c0=a0_0x3dff50,_0xfa21f3={'VJnzT':_0x16c4c0(0x14c),'XvrsS':function(_0x1074a5,_0x2a643b){return _0x1074a5===_0x2a643b;},'WQxqW':_0x16c4c0(0x12b),'sbHan':'string'};if(!_0x53811b||typeof _0x53811b!==_0x16c4c0(0x10d))return{'valid':![],'error':_0xfa21f3['VJnzT']};if(!Array[_0x16c4c0(0x10b)](_0x507662)||_0xfa21f3['XvrsS'](_0x507662['length'],0x0))return{'valid':![],'error':_0xfa21f3[_0x16c4c0(0x111)]};for(let _0x2c526f=0x0;_0x2c526f<_0x507662[_0x16c4c0(0x11c)];_0x2c526f++){const _0x2c89a2=_0x507662[_0x2c526f];if(!_0x2c89a2||!_0x2c89a2[_0x16c4c0(0x125)]||!_0x2c89a2[_0x16c4c0(0x148)])return{'valid':![],'error':'lock_keys['+_0x2c526f+_0x16c4c0(0x11a)};}if(!_0x4c4a7c||typeof _0x4c4a7c!==_0xfa21f3['sbHan'])return{'valid':![],'error':_0x16c4c0(0x107)};return{'valid':!![]};}}module['exports']=new ResourceLockManager();function a0_0xa001(){const _0xb59962=['DMfSDwu','B3DUzxi','mtaYndmYnKjAuwvfsW','CMvSzwfZzvjLC291CMnLtg9JA3m','CMvZB3vYy2uGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','Aw5MBW','BwvZC2fNzq','uwH1B3C','uMvZB3vYy2uGBg9JAYbYzwXLyxnLzdOG','mJe2mtqZmfDNu3b1Eq','z2v0uMvZB3vYy2vmB2nRu3rHDhvZ','Bg9JA190B2TLBIbPCYbYzxf1AxjLzcbHBMqGBxvZDcbIzsbHihn0CMLUzW','BM93','x2DLDenVBMzSAwn0sw5MBW','CMvZB3vYy2vFBg9JA19YB2XSyMfJA19LCNjVCG','AxnbCNjHEq','zxH0CMfJDe93BMvY','C3rYAw5N','z2v0q2XPzw50','z2v0twf4vfrmu2vJB25KCW','Aw5KzxHpzG','v1f4CvC','zxzHBa','u3vWtNu','ywnXDwLYzvjLC291CMnLtg9JA3m','B3DUzxiGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','igTLExmSifrutdOG','uMvZB3vYy2uGBg9JAYbYzwXLyxnLigvYCM9YoIa','tg9JAYbZDgf0DxmGy2HLy2SGzMfPBgvKoIa','DNLMtKq','xsbTDxn0igHHDMuGA2v5igfUzcb2ywX1zsbWCM9Wzxj0AwvZ','zxjYB3i','BgvUz3rO','C2v0','rMfPBgvKihrVihjVBgXIywnRigTLEtOG','z2v0','CMvZB3vYy2vFBg9JA19YzwXLyxnLza','D2fYBG','Dw5RBM93BG','mtHfswv6A2K','C3vIC3rYAw5N','A2v5','sMvou1K','nZm2nfbNr09MvW','x3jVBgXIywnRs2v5CW','CMvZB3vYy2vFBg9JA19Hy3f1AxjLza','igTLExmP','Bg9JA19RzxLZigLZihjLCxvPCMvKigfUzcbTDxn0igjLigeGBM9UlwvTChr5igfYCMf5','CMvZB3vYy2uGyw5KigXVy2TFA2v5CYbHCMuGCMvXDwLYzwq','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','mty4D3D3CgDs','yNvPBgrlzxK','tunoA04','tg9JAYbYzwXLyxnLigzHAwXLzdOG','z2vUzxjHDgvuB2TLBG','zgvMyxvSDa','x3zHBgLKyxrLuMvSzwfZzuLUChv0','mJy4mhz0Bu5dCW','uMvZB3vYy2uGBg9JAYbHy3f1AxjLigvYCM9YoIa','uMvZB3vYy2uGBg9JAYbJB25MBgLJDa','DhrSuMvTywLUAw5N','tLjnshO','CMy6','BwfW','mty2mZiZmg9UyMfPqq','mty4nJa5nK9zwMzxEq','CMvZB3vYy2vFBg9JA19Hy3f1AxjLx2vYCM9Y','DxvPza','Dfjzq20','s0L5Cfy','DfDpAva','cIaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicbLBhnLcIaGicbYzxr1CM4GmaOGigvUzaO','mJC0mdm5zeLor0ru','shH1vgO','Dg9ju09tDhjPBMC','mZy3mZbHs2zOyw0'];a0_0xa001=function(){return _0xb59962;};return a0_0xa001();}
1
+ function a0_0x3d30(_0x49a820,_0x3a3798){_0x49a820=_0x49a820-0x1e1;const _0x2b61f1=a0_0x2b61();let _0x3d302b=_0x2b61f1[_0x49a820];if(a0_0x3d30['eaJMCQ']===undefined){var _0x202296=function(_0x449dcf){const _0x4495e7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xba49d9='',_0x483d8c='';for(let _0x2489f6=0x0,_0x4cbb39,_0x548a5c,_0x379b4e=0x0;_0x548a5c=_0x449dcf['charAt'](_0x379b4e++);~_0x548a5c&&(_0x4cbb39=_0x2489f6%0x4?_0x4cbb39*0x40+_0x548a5c:_0x548a5c,_0x2489f6++%0x4)?_0xba49d9+=String['fromCharCode'](0xff&_0x4cbb39>>(-0x2*_0x2489f6&0x6)):0x0){_0x548a5c=_0x4495e7['indexOf'](_0x548a5c);}for(let _0x5e78b9=0x0,_0x272862=_0xba49d9['length'];_0x5e78b9<_0x272862;_0x5e78b9++){_0x483d8c+='%'+('00'+_0xba49d9['charCodeAt'](_0x5e78b9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x483d8c);};a0_0x3d30['IDEdCc']=_0x202296,a0_0x3d30['wwYmac']={},a0_0x3d30['eaJMCQ']=!![];}const _0x3a3d14=_0x2b61f1[0x0],_0x38b210=_0x49a820+_0x3a3d14,_0x1592ad=a0_0x3d30['wwYmac'][_0x38b210];return!_0x1592ad?(_0x3d302b=a0_0x3d30['IDEdCc'](_0x3d302b),a0_0x3d30['wwYmac'][_0x38b210]=_0x3d302b):_0x3d302b=_0x1592ad,_0x3d302b;}const a0_0x6ba0c=a0_0x3d30;(function(_0xaccd57,_0x4eaf4d){const _0x74975c=a0_0x3d30,_0x137bfc=_0xaccd57();while(!![]){try{const _0x4d80f1=parseInt(_0x74975c(0x1fb))/0x1+-parseInt(_0x74975c(0x1ff))/0x2*(parseInt(_0x74975c(0x21c))/0x3)+-parseInt(_0x74975c(0x1f2))/0x4+-parseInt(_0x74975c(0x21b))/0x5*(-parseInt(_0x74975c(0x1fa))/0x6)+-parseInt(_0x74975c(0x1e5))/0x7*(parseInt(_0x74975c(0x1f0))/0x8)+-parseInt(_0x74975c(0x1fc))/0x9*(parseInt(_0x74975c(0x206))/0xa)+parseInt(_0x74975c(0x1e6))/0xb;if(_0x4d80f1===_0x4eaf4d)break;else _0x137bfc['push'](_0x137bfc['shift']());}catch(_0x357de4){_0x137bfc['push'](_0x137bfc['shift']());}}}(a0_0x2b61,0x515ed));const redisClient=require('../../utils/redis-client'),{logger}=require('../../utils/logger'),{v4:uuidv4}=require(a0_0x6ba0c(0x220));function a0_0x2b61(){const _0x8a0b83=['mZiZmda5vMnpBhDN','ntmZotK3whzQyK9o','igTLExmSifrutdOG','uMvZB3vYy2uGBg9JAYbYzwXLyxnLigvYCM9YoIa','mtu0mdqYquL6wuD0','CMvZB3vYy2vFBg9JA19YB2XSyMfJA19LCNjVCG','Bg9JA190B2TLBIbPCYbYzxf1AxjLzcbHBMqGBxvZDcbIzsbHihn0CMLUzW','z2vUzxjHDgvuB2TLBG','uMvZB3vYy2uGBg9JAYbJB25MBgLJDa','quvUveW','z2v0q2XPzw50','mZbqCMjPyuK','rMfPBgvKihrVihjVBgXIywnRihjLC291CMnLigXVy2TZigfMDgvYigvYCM9Y','rxLivK0','DhrSigv4y2vLzhmGBwf4Aw11BsbVzIa','cIaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicbLBhnLcIaGicbYzxr1CM4GmaOGigvUzaO','C2v0','BM93','uMvZB3vYy2uGBg9JAYbYzwXLyxnLzdOG','CMvZB3vYy2vFBg9JA19YzwXLyxnLx2vYCM9Y','z2v0uMvZB3vYy2vmB2nRu3rHDhvZ','CMvZB3vYy2uGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','zxH0CMfJDe93BMvY','DMfSAwq','DhrSuMvTywLUAw5N','xsbTDxn0igHHDMuGA2v5igfUzcb2ywX1zsbWCM9Wzxj0AwvZ','CMvZB3vYy2vFBg9JA19YB2XSyMfJA19RzxLFzxjYB3i','B3DUzxiGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','AxnbCNjHEq','Aw5KzxHpzG','z3fKEgG','CMy6','nJaXnw5MAhrxvq','m2njyKnRBq','Dw5RBM93BG','wNLxzfq','zw52','DxvPza','x3zHBgLKyxrLuMvSzwfZzuLUChv0','zxjYB3i','yNvPBgrlzxK','Bg9JA19RzxLZigLZihjLCxvPCMvKigfUzcbTDxn0igjLigeGBM9UlwvTChr5igfYCMf5','B3DUzxi','BgvUz3rO','z3rRBfi','ALb5se8','z2v0twf4vfrmu2vJB25KCW','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','CMvZB3vYy2uGyw5KigXVy2TFA2v5CYbHCMuGCMvXDwLYzwq','x3jVBgXIywnRs2v5CW','ywPXrfO','ywnXDwLYzvjLC291CMnLtg9JA3m','ihnLy29UzhmUienVBMzPz3vYzsbmt0nlx1jfu09vuKnfx01bwf9uveWGDg8GAw5JCMvHC2uU','mtiXntLiELLnCvu','mJe2mdC3ngz6thr1wG','AeXkrhO','Bg9JA19RzxLZwW','reX6Buu','C3rYAw5N','BwvZC2fNzq','zxzHBa','sLbPt0q','x3zHBgLKyxrLqwnXDwLYzuLUChv0','D0DwvfO','mtG0BLj5r2Hd','AuTiAuK','mtCXmdG2ofniDuDIuW','DhrS','CMvZB3vYy2vFBg9JA19YzwXLyxnLza','BxreuuK','CMvSzwfZzvjLC291CMnLtg9JA3m','Aw5MBW','s3DID3e','CMvZB3vYy2vFBg9JA19JB25MBgLJDa','mJy3nLPIAfjxua'];a0_0x2b61=function(){return _0x8a0b83;};return a0_0x2b61();}function getPrefix(){const _0x3d6d7=a0_0x6ba0c,_0x1afd16={'AMwrn':'default'},_0x3b3673=process[_0x3d6d7(0x21f)][_0x3d6d7(0x22a)]||_0x1afd16['AMwrn'];return _0x3d6d7(0x21a)+_0x3b3673+':rlock:';}const DEFAULT_MAX_TTL_SECONDS=0x12c,RELEASE_LUA_SCRIPT=a0_0x6ba0c(0x20a);class ResourceLockManager{['buildKey'](_0x123cf2,_0x511bf0,_0x3a054a){return''+getPrefix()+_0x123cf2+':'+_0x511bf0+':'+_0x3a054a;}[a0_0x6ba0c(0x202)](_0x52caee){const _0x253199=a0_0x6ba0c,_0x5c70c1={'wGVTZ':function(_0x3ed62c){return _0x3ed62c();}};return _0x52caee+':'+_0x5c70c1[_0x253199(0x1ef)](uuidv4)+':'+Date[_0x253199(0x20c)]();}[a0_0x6ba0c(0x211)](_0x30b220){const _0x559021=a0_0x6ba0c,_0x2951eb={'JPiOD':function(_0x1e1abf,_0x3774f6){return _0x1e1abf>_0x3774f6;}};if(!_0x30b220)return _0x559021(0x21d);const _0x17839e=_0x30b220[_0x559021(0x218)](':');return _0x2951eb[_0x559021(0x1ed)](_0x17839e,0x0)?_0x30b220['substring'](0x0,_0x17839e):_0x30b220;}['getMaxTTLSeconds'](){const _0x39a2ea={'UpZhO':function(_0x56ace2,_0x49fc4f,_0x253f9c){return _0x56ace2(_0x49fc4f,_0x253f9c);}};return _0x39a2ea['UpZhO'](parseInt,process['env']['LOCK_RESOURCE_MAX_TTL'],0xa)||DEFAULT_MAX_TTL_SECONDS;}async[a0_0x6ba0c(0x1e3)]({resource:_0x40ade6,lockKeys:_0x17be40,ttl:_0x4c2102,owner:_0x2080ff}){const _0x48fe62=a0_0x6ba0c,_0x371219={'bgDlI':function(_0x1b8430,_0x49acb0){return _0x1b8430<_0x49acb0;},'DLzmE':function(_0x57d8ec,_0x97b2c1){return _0x57d8ec===_0x97b2c1;},'EyHVM':_0x48fe62(0x1f9),'Kwbwq':_0x48fe62(0x203),'gqdxh':'resource_lock_acquired'},_0x41096a=this[_0x48fe62(0x1ee)]({'resource':_0x40ade6,'lockKeys':_0x17be40,'ttl':_0x4c2102,'owner':_0x2080ff});if(!_0x41096a['valid'])return{'success':![],'error':_0x41096a[_0x48fe62(0x222)]};const _0xb0ae65=this[_0x48fe62(0x229)](),_0x3441f9=Math['min'](_0x4c2102,_0xb0ae65),_0x59be29=this[_0x48fe62(0x202)](_0x2080ff),_0x183e5a=[];try{const _0x997a3f=redisClient[_0x48fe62(0x205)]();for(let _0x206207=0x0;_0x371219['bgDlI'](_0x206207,_0x17be40[_0x48fe62(0x226)]);_0x206207++){const {key:_0x929209,value:_0x4b168a}=_0x17be40[_0x206207],_0x43a409=this[_0x48fe62(0x223)](_0x40ade6,_0x929209,_0x4b168a),_0x2bd438=await _0x997a3f[_0x48fe62(0x20b)](_0x43a409,_0x59be29,'EX',_0x3441f9,'NX');if(_0x371219[_0x48fe62(0x1e9)](_0x2bd438,'OK'))_0x183e5a['push'](_0x43a409);else{await this[_0x48fe62(0x1e1)](_0x997a3f,_0x183e5a,_0x59be29);const _0x4a14c0=await this['_getConflictInfo'](_0x997a3f,_0x43a409);return logger['warn']({'event':_0x371219[_0x48fe62(0x208)],'resource':_0x40ade6,'conflicting_key':{'key':_0x929209,'value':_0x4b168a},'locked_by':_0x4a14c0[_0x48fe62(0x225)],'ttl_remaining':_0x4a14c0[_0x48fe62(0x213)],'attempted_by':_0x2080ff},'Resource\x20lock\x20conflict\x20on\x20'+_0x40ade6+':'+_0x929209+':'+_0x4b168a),{'success':![],'error':_0x371219[_0x48fe62(0x1f8)],'data':{'conflicting_key':{'key':_0x929209,'value':_0x4b168a},'locked_by':_0x4a14c0['owner'],'ttl_remaining':_0x4a14c0[_0x48fe62(0x213)]}};}}const _0x1bad89=_0x17be40['map'](({key:_0x1e8dee,value:_0x43362b})=>({'key':_0x1e8dee,'value':_0x43362b,'lock_key':this[_0x48fe62(0x223)](_0x40ade6,_0x1e8dee,_0x43362b)}));return logger[_0x48fe62(0x1f7)]({'event':_0x371219[_0x48fe62(0x219)],'resource':_0x40ade6,'keys_count':_0x17be40[_0x48fe62(0x226)],'ttl':_0x3441f9,'owner':_0x2080ff},'Resource\x20lock\x20acquired:\x20'+_0x40ade6+'\x20('+_0x17be40['length']+_0x48fe62(0x1fd)+_0x3441f9+'s)'),{'success':!![],'data':{'lock_token':_0x59be29,'resource':_0x40ade6,'locked_keys':_0x1bad89,'ttl':_0x3441f9,'owner':_0x2080ff,'acquired_at':new Date()['toISOString']()}};}catch(_0x3568cb){try{const _0x2b4c3f=redisClient[_0x48fe62(0x205)]();await this['_rollbackKeys'](_0x2b4c3f,_0x183e5a,_0x59be29);}catch(_0xda4ab2){logger['error']({'event':_0x48fe62(0x200),'error':_0xda4ab2['message']},_0x48fe62(0x207));}return logger['error']({'event':'resource_lock_acquire_error','resource':_0x40ade6,'owner':_0x2080ff,'error':_0x3568cb['message']},'Resource\x20lock\x20acquire\x20error:\x20'+_0x3568cb['message']),{'success':![],'error':'Lock\x20acquire\x20failed:\x20'+_0x3568cb[_0x48fe62(0x1eb)]};}}async[a0_0x6ba0c(0x1f6)]({resource:_0x2f2fce,lockKeys:_0x61f78b,lockToken:_0x5eaa16}){const _0x3994e3=a0_0x6ba0c,_0x2e2cae={'gtklR':function(_0x5167c6,_0x3f138c){return _0x5167c6===_0x3f138c;},'RCsXB':_0x3994e3(0x20e)},_0x178a6d=this[_0x3994e3(0x221)]({'resource':_0x2f2fce,'lockKeys':_0x61f78b,'lockToken':_0x5eaa16});if(!_0x178a6d[_0x3994e3(0x212)])return{'success':![],'error':_0x178a6d[_0x3994e3(0x222)]};try{const _0x567f9d=redisClient['getClient']();let _0x1fb411=0x0;for(const {key:_0x3d20b4,value:_0x4e471a}of _0x61f78b){const _0xdf746d=this[_0x3994e3(0x223)](_0x2f2fce,_0x3d20b4,_0x4e471a),_0x225db5=await _0x567f9d[_0x3994e3(0x1ec)](RELEASE_LUA_SCRIPT,0x1,_0xdf746d,_0x5eaa16);_0x2e2cae[_0x3994e3(0x227)](_0x225db5,0x1)&&_0x1fb411++;}return logger['info']({'event':_0x3994e3(0x1f4),'resource':_0x2f2fce,'released_keys':_0x1fb411,'total_keys':_0x61f78b['length'],'owner':this['extractOwner'](_0x5eaa16)},_0x3994e3(0x20d)+_0x2f2fce+'\x20('+_0x1fb411+'/'+_0x61f78b[_0x3994e3(0x226)]+'\x20keys)'),{'success':!![],'data':{'resource':_0x2f2fce,'released_keys':_0x1fb411,'total_keys':_0x61f78b['length']}};}catch(_0x3b6dff){return logger['error']({'event':_0x2e2cae['RCsXB'],'resource':_0x2f2fce,'error':_0x3b6dff[_0x3994e3(0x1eb)]},_0x3994e3(0x1fe)+_0x3b6dff['message']),{'success':![],'error':'Lock\x20release\x20failed:\x20'+_0x3b6dff[_0x3994e3(0x1eb)]};}}async[a0_0x6ba0c(0x20f)]({resource:_0x231c83,lockKeys:_0x1490f2}){const _0x32a5b7=a0_0x6ba0c,_0x59712a={'pCNAe':function(_0x144494,_0x178694){return _0x144494===_0x178694;},'DyRFY':function(_0xa6e953,_0x34da74){return _0xa6e953!==_0x34da74;}};if(!_0x231c83||!Array['isArray'](_0x1490f2)||_0x59712a['pCNAe'](_0x1490f2['length'],0x0))return{'success':![],'error':_0x32a5b7(0x22b)};try{const _0x5f7004=redisClient[_0x32a5b7(0x205)](),_0x2d6317=[];for(const {key:_0x3abf9f,value:_0x385efd}of _0x1490f2){const _0x576e48=this['buildKey'](_0x231c83,_0x3abf9f,_0x385efd),[_0x31dd96,_0x36f9a1]=await Promise['all']([_0x5f7004['get'](_0x576e48),_0x5f7004[_0x32a5b7(0x1f3)](_0x576e48)]),_0x1dec96=_0x59712a['DyRFY'](_0x31dd96,null);_0x2d6317['push']({'key':_0x3abf9f,'value':_0x385efd,'locked':_0x1dec96,'owner':_0x1dec96?this[_0x32a5b7(0x211)](_0x31dd96):null,'ttl_remaining':_0x1dec96&&_0x36f9a1>0x0?_0x36f9a1:null});}return{'success':!![],'data':{'resource':_0x231c83,'keys':_0x2d6317}};}catch(_0x4e4daa){return logger[_0x32a5b7(0x222)]({'event':'resource_lock_status_error','resource':_0x231c83,'error':_0x4e4daa[_0x32a5b7(0x1eb)]},'Resource\x20lock\x20status\x20error:\x20'+_0x4e4daa['message']),{'success':![],'error':'Lock\x20status\x20check\x20failed:\x20'+_0x4e4daa[_0x32a5b7(0x1eb)]};}}async['_rollbackKeys'](_0x2e4050,_0x238fdb,_0x208d86){const _0x3b726f=a0_0x6ba0c;for(const _0x49e553 of _0x238fdb){try{await _0x2e4050['eval'](RELEASE_LUA_SCRIPT,0x1,_0x49e553,_0x208d86);}catch(_0x348c75){logger[_0x3b726f(0x222)]({'event':_0x3b726f(0x215),'key':_0x49e553,'error':_0x348c75[_0x3b726f(0x1eb)]},'Failed\x20to\x20rollback\x20key:\x20'+_0x49e553);}}}async['_getConflictInfo'](_0x30419c,_0x4d5320){const _0x13dbea=a0_0x6ba0c,_0x2189ad={'AEnTL':_0x13dbea(0x21d),'mtDQI':function(_0x1dcd2c,_0x570303){return _0x1dcd2c>_0x570303;}};try{const [_0x5153ed,_0x3a4075]=await Promise['all']([_0x30419c['get'](_0x4d5320),_0x30419c[_0x13dbea(0x1f3)](_0x4d5320)]);return{'owner':_0x5153ed?this[_0x13dbea(0x211)](_0x5153ed):_0x2189ad[_0x13dbea(0x204)],'ttlRemaining':_0x2189ad[_0x13dbea(0x1f5)](_0x3a4075,0x0)?_0x3a4075:null};}catch{return{'owner':_0x2189ad['AEnTL'],'ttlRemaining':null};}}[a0_0x6ba0c(0x1ee)]({resource:_0x1b5b04,lockKeys:_0x3449d8,ttl:_0x48cfc4,owner:_0x18cd0c}){const _0x37eea7=a0_0x6ba0c,_0x189a51={'iKHiI':_0x37eea7(0x210),'hLJDz':function(_0x293e41,_0x51ebd6){return _0x293e41===_0x51ebd6;},'vTKPK':_0x37eea7(0x224),'jPyHO':function(_0x137e50,_0x59399b){return _0x137e50>_0x59399b;},'AxYGb':'lock_keys\x20exceeds\x20maximum\x20of\x20100\x20items','LtjEs':function(_0x303b20,_0x135a78){return _0x303b20<_0x135a78;},'ajqDZ':'number','yDMYp':function(_0x393ad2,_0x5e9d2c){return _0x393ad2>_0x5e9d2c;},'hVzaz':_0x37eea7(0x216)};if(!_0x1b5b04||typeof _0x1b5b04!=='string')return{'valid':![],'error':_0x189a51[_0x37eea7(0x1f1)]};if(!Array[_0x37eea7(0x217)](_0x3449d8)||_0x189a51[_0x37eea7(0x1e7)](_0x3449d8['length'],0x0))return{'valid':![],'error':_0x189a51['vTKPK']};if(_0x189a51[_0x37eea7(0x228)](_0x3449d8['length'],0x64))return{'valid':![],'error':_0x189a51['AxYGb']};for(let _0x38c607=0x0;_0x189a51['LtjEs'](_0x38c607,_0x3449d8['length']);_0x38c607++){const _0xff5aee=_0x3449d8[_0x38c607];if(!_0xff5aee||!_0xff5aee['key']||!_0xff5aee['value'])return{'valid':![],'error':'lock_keys['+_0x38c607+_0x37eea7(0x214)};}if(!_0x48cfc4||typeof _0x48cfc4!==_0x189a51[_0x37eea7(0x1e2)]||_0x48cfc4<0x1)return{'valid':![],'error':'ttl\x20is\x20required\x20and\x20must\x20be\x20at\x20least\x201\x20(in\x20seconds)'};const _0x120fdb=this[_0x37eea7(0x229)]();if(_0x189a51['yDMYp'](_0x48cfc4,_0x120fdb))return{'valid':![],'error':_0x37eea7(0x209)+_0x120fdb+_0x37eea7(0x1e4)};if(!_0x18cd0c||typeof _0x18cd0c!==_0x37eea7(0x1ea))return{'valid':![],'error':_0x189a51['hVzaz']};return{'valid':!![]};}[a0_0x6ba0c(0x221)]({resource:_0x14d30b,lockKeys:_0x2defda,lockToken:_0x3a4978}){const _0x72d059=a0_0x6ba0c,_0x5d675a={'wPEMd':'string','sNgcZ':_0x72d059(0x210),'tAbUr':function(_0x4416a9,_0x47899d){return _0x4416a9<_0x47899d;},'LvGiD':function(_0x394972,_0x2ea046){return _0x394972!==_0x2ea046;},'ZyWdT':_0x72d059(0x201)};if(!_0x14d30b||typeof _0x14d30b!==_0x5d675a['wPEMd'])return{'valid':![],'error':_0x5d675a['sNgcZ']};if(!Array[_0x72d059(0x217)](_0x2defda)||_0x2defda[_0x72d059(0x226)]===0x0)return{'valid':![],'error':'lock_keys\x20is\x20required\x20and\x20must\x20be\x20a\x20non-empty\x20array'};for(let _0x14f0ab=0x0;_0x5d675a['tAbUr'](_0x14f0ab,_0x2defda['length']);_0x14f0ab++){const _0x4e5368=_0x2defda[_0x14f0ab];if(!_0x4e5368||!_0x4e5368['key']||!_0x4e5368['value'])return{'valid':![],'error':_0x72d059(0x1e8)+_0x14f0ab+_0x72d059(0x214)};}if(!_0x3a4978||_0x5d675a['LvGiD'](typeof _0x3a4978,_0x5d675a['wPEMd']))return{'valid':![],'error':_0x5d675a[_0x72d059(0x21e)]};return{'valid':!![]};}}module['exports']=new ResourceLockManager();
@@ -1 +1 @@
1
- const a0_0x1f4f21=a0_0x3fc3;(function(_0x2978ce,_0x301113){const _0xfd3cc6=a0_0x3fc3,_0x3672ad=_0x2978ce();while(!![]){try{const _0x5b802a=parseInt(_0xfd3cc6(0x162))/0x1+-parseInt(_0xfd3cc6(0x14d))/0x2+-parseInt(_0xfd3cc6(0x112))/0x3*(-parseInt(_0xfd3cc6(0x10b))/0x4)+parseInt(_0xfd3cc6(0xf1))/0x5+parseInt(_0xfd3cc6(0x128))/0x6+parseInt(_0xfd3cc6(0x154))/0x7+-parseInt(_0xfd3cc6(0x120))/0x8;if(_0x5b802a===_0x301113)break;else _0x3672ad['push'](_0x3672ad['shift']());}catch(_0x35fd2f){_0x3672ad['push'](_0x3672ad['shift']());}}}(a0_0x1fc7,0x6f681));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require(a0_0x1f4f21(0xed));function a0_0x1fc7(){const _0x7b2c4a=['y29UC3vTzxiUzgLZy29UBMvJDa','y29UC3vTzxi','BM93','Bg9JywXOB3n0oJKWoti','yNjVA2vYCW','s0fgs0fFu0fttf9nruniqu5ju00','s0fgs0fFuKvuuLLFqvruru1qvfm','y29UBMvJDgLVBLbYB21PC2u','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','mJGWAgTxrerj','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','C3vIC2nYAwjLzfrVCgLJCW','CMvZzxrnzxrYAwnZ','C2v0DxbfDMvUDeHHBMrSzxjZ','s0fgs0fFuKvuuLLFtufyx0rftefz','Bg9Ntgv2zwW','mtu2nJnru2vWswe','s0fgs0fFu0fttf9qqvntv09sra','BgvUz3rO','s0fgs0fFru5bqKXfra','zwDVsMS','z3jVDxbjza','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','w0THzMTHq29UC3vTzxjDieTHzMTHignVBNn1BwvYigLZigrPC2fIBgvKigLUignVBMzPz3vYyxrPB24','wgncqLO','y2XPzw50swq','zw52','ChjVy2vZC2LUz1rPBwvZ','rvjst1i','BwvZC2fNzuHHBMrSzxi','mtuXmdu5odr0wMTvzK8','sePWthe','Dg9tDhjPBMC','Bwv0CMLJCW','z2v0twv0CMLJCW','s0fgs0fFsevbuLrcrufux0LovevsvKfm','A2fMA2e','wunLANa','nta2nZq2oeTLsK5wtW','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','qwPVAKu','s0fgs0fFu0vtu0LptL9usu1ft1vu','BwfW','zvzSvKq','Eer5Dgm','CNvU','CMv0CNLezwXHEq','BwvZC2fNzxnszwnLAxzLza','D2fYBG','DMfSDwu','zxHWB3j0CW','w0THzMTHq29UC3vTzxjDifjLC3vTzsbLCNjVCJOG','AxnbCNjHEq','mJuWmda','su5gtW','AM9PBG','Cgf1C2u','CMvZDw1L','mZaWma','zgvMyxvSDa','mtaWma','rK5bBeu','yxv0B0nVBw1PDa','BwvZC2fNzq','BgfZDe1LC3nHz2vuAw1L','ELD5tuG','Dhj1zq','icHNCM91CeLKoIa','y29UC3vTzxiUCMvIywXHBMnPBMC','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','CMvXDwvZDfrPBwvVDxq','B1PHu0y','AgvHzgvYCW','y29UC3vTzxiUC3rVCa','s0fgs0fFq0Xjru5ux0Le','mtq1ndmYtM5Lwhjf','AxnjBML0AwfSAxPPBMC','ELrMwKe','B2zMC2v0','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','uLrrDe4','AxnsDw5UAw5N','mJeXnti0nK1pDK1Vwq','C3vIC2nYAwjL','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','AxndB25Uzwn0zwq','DgnwEvG','CMvKDwnL','AhDtrhO','sNfmwLi','C3bSAxq','zuLxrwe','zhP1quO','AxnqyxvZzwq','s0fgs0fFuKvrvuvtvf9usu1ft1vu','Bg9N','nZu1mtC2D1LXu3Dk','wLjwu2u','DfLJsgW','BwLU','ChvZAa','CgDzquO','zxjYB3i','yvnWB2G','DxvPza','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','C2vLAW','nZq5nde1zMHHCufX','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','wuntBLG','z2v0q29UzMLN','C3rHCNruAw1L','CM91BMq','wNnYyKu','s0fgs0fFq09otKvdveLptL9usu1ft1vu','qNrjrMu','zw5HyMXLza','w0THzMTHq29UC3vTzxjDifbHDxnLigvYCM9YoIa','z2v0u3rHDhvZ','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','BwTNq3u','s0fgs0fFqvvut19dt01nsvq'];a0_0x1fc7=function(){return _0x7b2c4a;};return a0_0x1fc7();}class KafkaConsumerService{constructor(){const _0x199459=a0_0x1f4f21;this[_0x199459(0x126)]=null,this[_0x199459(0x103)]=null,this[_0x199459(0x157)]=![],this['isInitializing']=![],this[_0x199459(0x153)]=![],this[_0x199459(0x15f)]=![],this[_0x199459(0x109)]=null,this[_0x199459(0x10d)]=[],this[_0x199459(0x117)]=null,this['messageHandler']=null,this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};}[a0_0x1f4f21(0xf5)](){const _0x3a80f9=a0_0x1f4f21,_0x31f40e={'mkgCu':function(_0x56ff0a,_0x191c1a){return _0x56ff0a===_0x191c1a;},'egoJk':_0x3a80f9(0x105),'IeeXx':_0x3a80f9(0x13c),'HJpLq':_0x3a80f9(0x137),'qVAjc':function(_0x5897f4,_0x270f94){return _0x5897f4(_0x270f94);},'oZaSF':'1048576','LBGbN':function(_0x496413,_0x20745f){return _0x496413===_0x20745f;},'vSKds':_0x3a80f9(0x144),'zWyMH':'5000','YCSnX':function(_0x358c7f,_0x36fe48){return _0x358c7f(_0x36fe48);},'Eovnx':_0x3a80f9(0x13e)};return{'enabled':_0x31f40e[_0x3a80f9(0x100)](process['env'][_0x3a80f9(0x115)],_0x3a80f9(0x144)),'brokers':(process[_0x3a80f9(0x11c)]['KAFKA_BROKERS']||_0x31f40e[_0x3a80f9(0x116)])[_0x3a80f9(0x15c)](','),'clientId':process['env'][_0x3a80f9(0x14c)]||'restforge-'+(process[_0x3a80f9(0x11c)]['RESTFORGE_PROJECT_NAME']||'default')+'-consumer','connectionTimeout':parseInt(process[_0x3a80f9(0x11c)][_0x3a80f9(0xf9)]||_0x31f40e['IeeXx']),'requestTimeout':parseInt(process['env'][_0x3a80f9(0x160)]||_0x31f40e[_0x3a80f9(0x121)]),'sessionTimeout':_0x31f40e['qVAjc'](parseInt,process[_0x3a80f9(0x11c)][_0x3a80f9(0x12b)]||'30000'),'heartbeatInterval':parseInt(process[_0x3a80f9(0x11c)][_0x3a80f9(0x125)]||'3000'),'maxBytesPerPartition':parseInt(process['env'][_0x3a80f9(0x10c)]||_0x31f40e[_0x3a80f9(0x149)]),'autoCommit':_0x31f40e['LBGbN'](process['env'][_0x3a80f9(0x101)],_0x31f40e['vSKds']),'autoCommitInterval':parseInt(process['env']['KAFKA_AUTO_COMMIT_INTERVAL']||_0x31f40e[_0x3a80f9(0x143)]),'retryAttempts':parseInt(process[_0x3a80f9(0x11c)][_0x3a80f9(0x108)]||'3'),'retryDelay':_0x31f40e[_0x3a80f9(0xf4)](parseInt,process[_0x3a80f9(0x11c)]['KAFKA_RETRY_DELAY']||_0x31f40e['Eovnx']),'retryMaxDelay':_0x31f40e['YCSnX'](parseInt,process['env'][_0x3a80f9(0x110)]||'30000'),'logLevel':process['env']['KAFKA_LOG_LEVEL']||_0x3a80f9(0x132)};}['getLogLevel'](_0x530228){const _0x555f56=a0_0x1f4f21,_0x12d4d8={'nothing':logLevel['NOTHING'],'error':logLevel[_0x555f56(0x11e)],'warn':logLevel['WARN'],'info':logLevel[_0x555f56(0x138)],'debug':logLevel['DEBUG']};return _0x12d4d8[_0x530228['toLowerCase']()]||logLevel['WARN'];}async['initialize'](_0x458207={}){const _0x2a0d2b=a0_0x1f4f21,_0x45c509={'dzuAJ':function(_0x367e3b,_0x3563d0){return _0x367e3b===_0x3563d0;},'YCejp':'true','GoeMG':_0x2a0d2b(0x13d),'ZRVSe':function(_0x4a95cd,_0x2d8824){return _0x4a95cd(_0x2d8824);},'pgYAJ':_0x2a0d2b(0x119)},_0x26de5f=this['getConfig']();if(!_0x26de5f[_0x2a0d2b(0xfb)])return console[_0x2a0d2b(0x161)](_0x45c509[_0x2a0d2b(0xea)]),![];if(this[_0x2a0d2b(0x157)])return!![];if(this[_0x2a0d2b(0x14e)]&&this[_0x2a0d2b(0x109)])return this[_0x2a0d2b(0x109)];return this['isInitializing']=!![],this[_0x2a0d2b(0x109)]=new Promise(async _0x5d1f78=>{const _0x1bca89=_0x2a0d2b;try{let _0x13d0a2=undefined;_0x45c509[_0x1bca89(0x15e)](process['env']['KAFKA_SSL'],_0x45c509[_0x1bca89(0x127)])&&(_0x13d0a2=!![]);let _0x53e8c9=undefined;process[_0x1bca89(0x11c)][_0x1bca89(0x107)]&&(_0x53e8c9={'mechanism':process[_0x1bca89(0x11c)]['KAFKA_SASL_MECHANISM'],'username':process['env']['KAFKA_SASL_USERNAME']||'','password':process[_0x1bca89(0x11c)][_0x1bca89(0x113)]||''}),this['kafka']=new Kafka({'clientId':_0x458207[_0x1bca89(0x11b)]||_0x26de5f['clientId'],'brokers':_0x26de5f[_0x1bca89(0x106)],'connectionTimeout':_0x26de5f['connectionTimeout'],'requestTimeout':_0x26de5f[_0x1bca89(0x148)],'logLevel':this['getLogLevel'](_0x26de5f[_0x1bca89(0x111)]),'ssl':_0x13d0a2,'sasl':_0x53e8c9,'retry':{'initialRetryTime':_0x26de5f[_0x1bca89(0x130)],'retries':_0x26de5f['retryAttempts'],'maxRetryTime':_0x26de5f['retryMaxDelay']}}),this['groupId']=_0x458207['groupId']||'restforge-'+(process['env']['RESTFORGE_PROJECT_NAME']||_0x45c509['GoeMG'])+'-consumer-group',this['consumer']=this['kafka']['consumer']({'groupId':this[_0x1bca89(0x117)],'sessionTimeout':_0x26de5f['sessionTimeout'],'heartbeatInterval':_0x26de5f['heartbeatInterval'],'maxBytesPerPartition':_0x26de5f['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this[_0x1bca89(0x103)]['connect'](),this['isConnected']=!![],console[_0x1bca89(0x161)](_0x1bca89(0x151)+_0x26de5f[_0x1bca89(0x106)][_0x1bca89(0x139)](',\x20')+_0x1bca89(0x145)+this['groupId']+')'),this[_0x1bca89(0x10f)](),_0x5d1f78(!![]);}catch(_0x1821f7){console['error'](_0x1bca89(0x118)+_0x1821f7[_0x1bca89(0x141)]),this['isConnected']=![],_0x45c509[_0x1bca89(0x163)](_0x5d1f78,![]);}finally{this['isInitializing']=![];}}),this[_0x2a0d2b(0x109)];}['setupEventHandlers'](){const _0x3099b2=a0_0x1f4f21,_0x42961c={'tYcHl':_0x3099b2(0xff),'uCoSD':_0x3099b2(0x102),'MeCvQ':_0x3099b2(0x146)};if(!this[_0x3099b2(0x103)])return;this[_0x3099b2(0x103)]['on'](_0x42961c['uCoSD'],()=>{const _0x4f27ae=_0x3099b2;console['log'](_0x4f27ae(0x10a)),this[_0x4f27ae(0x157)]=![],this['isRunning']=![];}),this['consumer']['on'](_0x3099b2(0x14b),()=>{const _0x3b75f3=_0x3099b2;console['log'](_0x42961c[_0x3b75f3(0x164)]),this['isRunning']=![];}),this['consumer']['on']('consumer.crash',_0x49bf94=>{const _0x6ac46e=_0x3099b2;console[_0x6ac46e(0xeb)]('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x49bf94['payload'][_0x6ac46e(0xeb)]['message']),this['isRunning']=![];}),this['consumer']['on'](_0x42961c['MeCvQ'],()=>{const _0x4dcbc9=_0x3099b2;console['log'](_0x4dcbc9(0xef));});}async[a0_0x1f4f21(0x155)](_0x866ccd,_0x400425=![]){const _0x1e5a82=a0_0x1f4f21;if(!this['isConnected'])return console[_0x1e5a82(0xeb)](_0x1e5a82(0x129)),![];try{const _0x565d2b=Array[_0x1e5a82(0x136)](_0x866ccd)?_0x866ccd:[_0x866ccd];for(const _0x45b0b4 of _0x565d2b){await this['consumer'][_0x1e5a82(0x155)]({'topic':_0x45b0b4,'fromBeginning':_0x400425}),console[_0x1e5a82(0x161)](_0x1e5a82(0xee)+_0x45b0b4+'\x20(fromBeginning:\x20'+_0x400425+')');}return this['subscribedTopics']=[...new Set([...this['subscribedTopics'],..._0x565d2b])],!![];}catch(_0x47587f){return console['error']('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x47587f[_0x1e5a82(0x141)]),![];}}async['startConsuming'](_0x586f35,_0x36d0fe={}){const _0x1962a3=a0_0x1f4f21,_0xec6f6c={'BtIFe':function(_0x159ebd,_0xaeb8a6){return _0x159ebd(_0xaeb8a6);},'eIWEa':function(_0x291af0,_0x5ed562){return _0x291af0-_0x5ed562;},'XcBBZ':function(_0x243bce){return _0x243bce();}};if(!this['isConnected'])return console[_0x1962a3(0xeb)]('[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected'),![];if(this['isRunning'])return console[_0x1962a3(0x161)]('[KafkaConsumer]\x20Consumer\x20already\x20running'),!![];const _0x740703=this['getConfig']();this[_0x1962a3(0x11f)]=_0x586f35;try{return this['metrics'][_0x1962a3(0xf6)]=new Date(),await this[_0x1962a3(0x103)][_0x1962a3(0x12f)]({'autoCommit':_0x36d0fe[_0x1962a3(0x140)]!==undefined?_0x36d0fe['autoCommit']:_0x740703['autoCommit'],'autoCommitInterval':_0x740703['autoCommitInterval'],'eachMessage':async({topic:_0x2a68ce,partition:_0xf2e8ac,message:_0x503014,heartbeat:_0xe8423c})=>{const _0x486e2c=_0x1962a3,_0x5bb077=Date['now']();this[_0x486e2c(0x123)]['messagesReceived']++,this[_0x486e2c(0x123)][_0x486e2c(0x142)]=new Date();try{const _0x35b9de=_0x503014['value']?_0x503014[_0x486e2c(0x133)][_0x486e2c(0x122)]():null;let _0x1c28e3=null;try{_0x1c28e3=_0x35b9de?JSON['parse'](_0x35b9de):null;}catch(_0x1912e9){_0x1c28e3=_0x35b9de;}const _0x23026d={'topic':_0x2a68ce,'partition':_0xf2e8ac,'offset':_0x503014[_0x486e2c(0x150)],'key':_0x503014['key']?_0x503014['key'][_0x486e2c(0x122)]():null,'headers':this['parseHeaders'](_0x503014[_0x486e2c(0x14a)]),'timestamp':_0x503014['timestamp'],'value':_0x1c28e3,'raw':_0x35b9de};this['messageHandler']&&await this['messageHandler'](_0x23026d);!_0x740703[_0x486e2c(0x140)]&&await this['consumer']['commitOffsets']([{'topic':_0x2a68ce,'partition':_0xf2e8ac,'offset':(_0xec6f6c[_0x486e2c(0xfa)](parseInt,_0x503014['offset'])+0x1)[_0x486e2c(0x122)]()}]);this['metrics']['messagesProcessed']++;const _0x5cb88d=_0xec6f6c[_0x486e2c(0x15d)](Date['now'](),_0x5bb077);this[_0x486e2c(0x123)][_0x486e2c(0x11d)][_0x486e2c(0xe9)](_0x5cb88d),this[_0x486e2c(0x123)][_0x486e2c(0x11d)]['length']>0x64&&this['metrics'][_0x486e2c(0x11d)]['shift'](),await _0xec6f6c[_0x486e2c(0x11a)](_0xe8423c);}catch(_0x52e1fa){this['metrics']['messagesFailed']++,console['error'](_0x486e2c(0x147)+_0x52e1fa[_0x486e2c(0x141)]);throw _0x52e1fa;}}}),this[_0x1962a3(0x153)]=!![],console[_0x1962a3(0x161)](_0x1962a3(0xfe)+this['subscribedTopics']['join'](',\x20')),!![];}catch(_0x2b1c51){return console[_0x1962a3(0xeb)]('[KafkaConsumer]\x20Start\x20consuming\x20error:\x20'+_0x2b1c51[_0x1962a3(0x141)]),![];}}['parseHeaders'](_0x146d7c){const _0x248bb5=a0_0x1f4f21;if(!_0x146d7c)return{};const _0xfc4bdc={};for(const [_0x361eb1,_0x461d11]of Object['entries'](_0x146d7c)){_0xfc4bdc[_0x361eb1]=_0x461d11?_0x461d11[_0x248bb5(0x122)]():null;}return _0xfc4bdc;}async[a0_0x1f4f21(0x13a)](){const _0x3f356c=a0_0x1f4f21,_0x500d3a={'eVlVD':'[KafkaConsumer]\x20Consumer\x20paused'};if(!this['isConnected']||!this['isRunning'])return console[_0x3f356c(0x161)](_0x3f356c(0xf2)),![];if(this[_0x3f356c(0x15f)])return console['log']('[KafkaConsumer]\x20Consumer\x20already\x20paused'),!![];try{const _0x2b125d=this[_0x3f356c(0x10d)][_0x3f356c(0x12c)](_0x155ee3=>({'topic':_0x155ee3}));return this['consumer'][_0x3f356c(0x13a)](_0x2b125d),this[_0x3f356c(0x15f)]=!![],console['log'](_0x500d3a[_0x3f356c(0x12d)]),!![];}catch(_0x573ecd){return console[_0x3f356c(0xeb)](_0x3f356c(0xfc)+_0x573ecd['message']),![];}}async['resume'](){const _0x5eef46=a0_0x1f4f21,_0x1a1de4={'RTQtN':'[KafkaConsumer]\x20Cannot\x20resume\x20-\x20consumer\x20not\x20running','jGwRU':'[KafkaConsumer]\x20Consumer\x20not\x20paused'};if(!this['isConnected']||!this['isRunning'])return console['log'](_0x1a1de4[_0x5eef46(0x152)]),![];if(!this['isPaused'])return console['log'](_0x1a1de4['jGwRU']),!![];try{const _0x16fe30=this['subscribedTopics'][_0x5eef46(0x12c)](_0x3e4459=>({'topic':_0x3e4459}));return this[_0x5eef46(0x103)][_0x5eef46(0x13b)](_0x16fe30),this['isPaused']=![],console['log']('[KafkaConsumer]\x20Consumer\x20resumed'),!![];}catch(_0x6f6f2){return console[_0x5eef46(0xeb)](_0x5eef46(0x135)+_0x6f6f2[_0x5eef46(0x141)]),![];}}async['stop'](){const _0xbe790d=a0_0x1f4f21,_0x23164d={'thBGH':'[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected'};if(!this[_0xbe790d(0x157)])return console['log']('[KafkaConsumer]\x20Consumer\x20not\x20connected'),!![];try{return this['consumer']&&(await this['consumer']['stop'](),await this[_0xbe790d(0x103)]['disconnect']()),this[_0xbe790d(0x157)]=![],this[_0xbe790d(0x153)]=![],this[_0xbe790d(0x15f)]=![],console['log'](_0x23164d['thBGH']),!![];}catch(_0x29d6be){return console[_0xbe790d(0xeb)]('[KafkaConsumer]\x20Stop\x20error:\x20'+_0x29d6be[_0xbe790d(0x141)]),![];}}async['seekToOffset'](_0xb9fbea,_0x5d77a8,_0x586f2f){const _0x262056=a0_0x1f4f21,_0x276564={'FNAlE':'[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'};if(!this[_0x262056(0x157)])return console['error'](_0x276564[_0x262056(0x13f)]),![];try{return this['consumer'][_0x262056(0xf0)]({'topic':_0xb9fbea,'partition':_0x5d77a8,'offset':_0x586f2f[_0x262056(0x122)]()}),console['log']('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x586f2f+'\x20on\x20'+_0xb9fbea+':'+_0x5d77a8),!![];}catch(_0x32519f){return console[_0x262056(0xeb)](_0x262056(0xf3)+_0x32519f[_0x262056(0x141)]),![];}}[a0_0x1f4f21(0xfd)](){const _0x2814b4=a0_0x1f4f21,_0x2066d0=this['getConfig']();return{'enabled':_0x2066d0['enabled'],'connected':this[_0x2814b4(0x157)],'running':this[_0x2814b4(0x153)],'paused':this[_0x2814b4(0x15f)],'brokers':_0x2066d0[_0x2814b4(0x106)],'clientId':_0x2066d0['clientId'],'groupId':this['groupId'],'subscribedTopics':this[_0x2814b4(0x10d)]};}[a0_0x1f4f21(0x124)](){const _0x12700d=a0_0x1f4f21,_0xb4af5b={'aSpoh':function(_0x5c33ba,_0x4194a4){return _0x5c33ba>_0x4194a4;},'hwSDz':function(_0xe86453,_0x24ea55){return _0xe86453/_0x24ea55;},'tcVyX':function(_0x35a899,_0x29ddc1){return _0x35a899>_0x29ddc1;},'zTfZA':function(_0x1d713e,_0x406cc5){return _0x1d713e+_0x406cc5;},'JqLZR':function(_0x286426,_0x21ac97){return _0x286426+_0x21ac97;},'ZsrbE':function(_0x153b16,_0x1ed588){return _0x153b16/_0x1ed588;},'xDytc':function(_0x35dc87,_0x3843d2){return _0x35dc87-_0x3843d2;},'AjojE':function(_0x41c9fe,_0x581dd1){return _0x41c9fe+_0x581dd1;}},_0x19feb9=_0xb4af5b[_0x12700d(0xec)](this[_0x12700d(0x123)][_0x12700d(0x11d)]['length'],0x0)?_0xb4af5b[_0x12700d(0x15a)](this[_0x12700d(0x123)]['processingTimes'][_0x12700d(0x159)]((_0x1dd376,_0x3ebd0c)=>_0x1dd376+_0x3ebd0c,0x0),this[_0x12700d(0x123)][_0x12700d(0x11d)]['length']):0x0,_0xfaa8d2=this['metrics']['processingTimes'][_0x12700d(0x114)]>0x0?Math[_0x12700d(0x165)](...this['metrics'][_0x12700d(0x11d)]):0x0,_0x521a54=_0xb4af5b[_0x12700d(0x158)](this['metrics'][_0x12700d(0x11d)][_0x12700d(0x114)],0x0)?Math['max'](...this[_0x12700d(0x123)][_0x12700d(0x11d)]):0x0;return{'messagesReceived':this[_0x12700d(0x123)][_0x12700d(0x131)],'messagesProcessed':this['metrics']['messagesProcessed'],'messagesFailed':this['metrics']['messagesFailed'],'successRate':_0xb4af5b[_0x12700d(0xec)](this[_0x12700d(0x123)]['messagesReceived'],0x0)?_0xb4af5b[_0x12700d(0x14f)]((this['metrics']['messagesProcessed']/this['metrics']['messagesReceived']*0x64)['toFixed'](0x2),'%'):'0%','lastMessageTime':this[_0x12700d(0x123)]['lastMessageTime'],'startTime':this[_0x12700d(0x123)][_0x12700d(0xf6)],'uptime':this[_0x12700d(0x123)]['startTime']?_0xb4af5b[_0x12700d(0x15b)](Math['floor'](_0xb4af5b[_0x12700d(0xf8)](_0xb4af5b[_0x12700d(0x12e)](Date[_0x12700d(0x104)](),this[_0x12700d(0x123)]['startTime']['getTime']()),0x3e8)),'s'):'0s','processingTime':{'avg':_0xb4af5b['AjojE'](Math[_0x12700d(0xf7)](_0x19feb9),'ms'),'min':_0xb4af5b[_0x12700d(0x12a)](_0xfaa8d2,'ms'),'max':_0x521a54+'ms'}};}[a0_0x1f4f21(0x10e)](){const _0x28a9e9=a0_0x1f4f21;this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console[_0x28a9e9(0x161)](_0x28a9e9(0x156));}async['close'](){await this['stop']();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}function a0_0x3fc3(_0x192180,_0xd9c48){_0x192180=_0x192180-0xe9;const _0x1fc77d=a0_0x1fc7();let _0x3fc3f5=_0x1fc77d[_0x192180];if(a0_0x3fc3['oKnHKs']===undefined){var _0x15be0d=function(_0x161374){const _0x5b5d89='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3ab955='',_0x2d2c05='';for(let _0x24bd15=0x0,_0x5643ce,_0xfba47f,_0x338634=0x0;_0xfba47f=_0x161374['charAt'](_0x338634++);~_0xfba47f&&(_0x5643ce=_0x24bd15%0x4?_0x5643ce*0x40+_0xfba47f:_0xfba47f,_0x24bd15++%0x4)?_0x3ab955+=String['fromCharCode'](0xff&_0x5643ce>>(-0x2*_0x24bd15&0x6)):0x0){_0xfba47f=_0x5b5d89['indexOf'](_0xfba47f);}for(let _0x3873e6=0x0,_0x321a85=_0x3ab955['length'];_0x3873e6<_0x321a85;_0x3873e6++){_0x2d2c05+='%'+('00'+_0x3ab955['charCodeAt'](_0x3873e6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2d2c05);};a0_0x3fc3['IUKxOB']=_0x15be0d,a0_0x3fc3['aeEDRa']={},a0_0x3fc3['oKnHKs']=!![];}const _0x535c9b=_0x1fc77d[0x0],_0x32977e=_0x192180+_0x535c9b,_0x50863a=a0_0x3fc3['aeEDRa'][_0x32977e];return!_0x50863a?(_0x3fc3f5=a0_0x3fc3['IUKxOB'](_0x3fc3f5),a0_0x3fc3['aeEDRa'][_0x32977e]=_0x3fc3f5):_0x3fc3f5=_0x50863a,_0x3fc3f5;}function createInstance(){return new KafkaConsumerService();}module[a0_0x1f4f21(0x134)]={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
1
+ const a0_0x2b18a4=a0_0x2f22;(function(_0x5f042c,_0x564d1b){const _0x416790=a0_0x2f22,_0x2048d1=_0x5f042c();while(!![]){try{const _0x416f92=-parseInt(_0x416790(0xc6))/0x1*(-parseInt(_0x416790(0xdc))/0x2)+parseInt(_0x416790(0xf7))/0x3*(-parseInt(_0x416790(0x133))/0x4)+-parseInt(_0x416790(0xdd))/0x5+parseInt(_0x416790(0xd3))/0x6+parseInt(_0x416790(0x109))/0x7+-parseInt(_0x416790(0x11a))/0x8*(-parseInt(_0x416790(0x10c))/0x9)+-parseInt(_0x416790(0x108))/0xa;if(_0x416f92===_0x564d1b)break;else _0x2048d1['push'](_0x2048d1['shift']());}catch(_0x1fcd99){_0x2048d1['push'](_0x2048d1['shift']());}}}(a0_0x150c,0xca821));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require(a0_0x2b18a4(0x111));class KafkaConsumerService{constructor(){const _0x16a635=a0_0x2b18a4;this[_0x16a635(0xe3)]=null,this['consumer']=null,this[_0x16a635(0xf8)]=![],this['isInitializing']=![],this['isRunning']=![],this['isPaused']=![],this[_0x16a635(0x11c)]=null,this[_0x16a635(0x125)]=[],this['groupId']=null,this['messageHandler']=null,this[_0x16a635(0x103)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};}['getConfig'](){const _0x45d646=a0_0x2b18a4,_0x4ba8e9={'TKvaA':'localhost:9092','UrvJO':'default','humGH':function(_0x22d97f,_0x2a44dd){return _0x22d97f(_0x2a44dd);},'NBlrk':function(_0x2308d8,_0x5d67b8){return _0x2308d8(_0x5d67b8);},'ZAdvm':'3000','YfWUG':'1048576'};return{'enabled':process[_0x45d646(0x10d)][_0x45d646(0xde)]==='true','brokers':(process[_0x45d646(0x10d)][_0x45d646(0xf1)]||_0x4ba8e9[_0x45d646(0xd5)])['split'](','),'clientId':process['env'][_0x45d646(0x12a)]||'restforge-'+(process['env'][_0x45d646(0xff)]||_0x4ba8e9[_0x45d646(0x118)])+'-consumer','connectionTimeout':_0x4ba8e9['humGH'](parseInt,process['env'][_0x45d646(0x12e)]||_0x45d646(0xfb)),'requestTimeout':_0x4ba8e9[_0x45d646(0x120)](parseInt,process[_0x45d646(0x10d)]['KAFKA_REQUEST_TIMEOUT']||'25000'),'sessionTimeout':_0x4ba8e9[_0x45d646(0xe6)](parseInt,process['env'][_0x45d646(0x107)]||_0x45d646(0x11b)),'heartbeatInterval':parseInt(process[_0x45d646(0x10d)]['KAFKA_HEARTBEAT_INTERVAL']||_0x4ba8e9[_0x45d646(0x110)]),'maxBytesPerPartition':_0x4ba8e9[_0x45d646(0xe6)](parseInt,process['env'][_0x45d646(0xea)]||_0x4ba8e9['YfWUG']),'autoCommit':process['env']['KAFKA_AUTO_COMMIT']==='true','autoCommitInterval':parseInt(process['env'][_0x45d646(0xcf)]||'5000'),'retryAttempts':_0x4ba8e9['NBlrk'](parseInt,process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':_0x4ba8e9[_0x45d646(0xe6)](parseInt,process[_0x45d646(0x10d)]['KAFKA_RETRY_DELAY']||_0x45d646(0xef)),'retryMaxDelay':parseInt(process[_0x45d646(0x10d)][_0x45d646(0xf4)]||'30000'),'logLevel':process[_0x45d646(0x10d)]['KAFKA_LOG_LEVEL']||_0x45d646(0xed)};}['getLogLevel'](_0x1c7fac){const _0x5757a9=a0_0x2b18a4,_0x26b002={'nothing':logLevel['NOTHING'],'error':logLevel[_0x5757a9(0xe0)],'warn':logLevel['WARN'],'info':logLevel['INFO'],'debug':logLevel[_0x5757a9(0xd0)]};return _0x26b002[_0x1c7fac[_0x5757a9(0x134)]()]||logLevel[_0x5757a9(0x11e)];}async[a0_0x2b18a4(0x106)](_0x244de8={}){const _0x7c3991=a0_0x2b18a4,_0x3c0410={'DcXUf':function(_0x5ce4ee,_0x1242ff){return _0x5ce4ee(_0x1242ff);}},_0x2cb9d0=this[_0x7c3991(0xe4)]();if(!_0x2cb9d0['enabled'])return console[_0x7c3991(0xcd)]('[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'),![];if(this['isConnected'])return!![];if(this['isInitializing']&&this['connectionPromise'])return this[_0x7c3991(0x11c)];return this[_0x7c3991(0xfe)]=!![],this[_0x7c3991(0x11c)]=new Promise(async _0x583b5a=>{const _0x59af9c=_0x7c3991;try{let _0x56039d=undefined;process[_0x59af9c(0x10d)]['KAFKA_SSL']==='true'&&(_0x56039d=!![]);let _0x495711=undefined;process['env'][_0x59af9c(0x132)]&&(_0x495711={'mechanism':process[_0x59af9c(0x10d)]['KAFKA_SASL_MECHANISM'],'username':process['env'][_0x59af9c(0x129)]||'','password':process[_0x59af9c(0x10d)][_0x59af9c(0xe5)]||''}),this['kafka']=new Kafka({'clientId':_0x244de8['clientId']||_0x2cb9d0['clientId'],'brokers':_0x2cb9d0[_0x59af9c(0xd8)],'connectionTimeout':_0x2cb9d0['connectionTimeout'],'requestTimeout':_0x2cb9d0[_0x59af9c(0x115)],'logLevel':this['getLogLevel'](_0x2cb9d0[_0x59af9c(0x137)]),'ssl':_0x56039d,'sasl':_0x495711,'retry':{'initialRetryTime':_0x2cb9d0[_0x59af9c(0x122)],'retries':_0x2cb9d0[_0x59af9c(0xc8)],'maxRetryTime':_0x2cb9d0['retryMaxDelay']}}),this[_0x59af9c(0x121)]=_0x244de8['groupId']||'restforge-'+(process['env'][_0x59af9c(0xff)]||_0x59af9c(0xda))+'-consumer-group',this['consumer']=this[_0x59af9c(0xe3)][_0x59af9c(0x104)]({'groupId':this[_0x59af9c(0x121)],'sessionTimeout':_0x2cb9d0[_0x59af9c(0x126)],'heartbeatInterval':_0x2cb9d0['heartbeatInterval'],'maxBytesPerPartition':_0x2cb9d0['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this['consumer']['connect'](),this[_0x59af9c(0xf8)]=!![],console[_0x59af9c(0xcd)](_0x59af9c(0x136)+_0x2cb9d0['brokers'][_0x59af9c(0xdf)](',\x20')+'\x20(groupId:\x20'+this[_0x59af9c(0x121)]+')'),this[_0x59af9c(0xfd)](),_0x3c0410['DcXUf'](_0x583b5a,!![]);}catch(_0x55b603){console['error'](_0x59af9c(0x11d)+_0x55b603['message']),this[_0x59af9c(0xf8)]=![],_0x583b5a(![]);}finally{this[_0x59af9c(0xfe)]=![];}}),this['connectionPromise'];}['setupEventHandlers'](){const _0x33705c=a0_0x2b18a4,_0x567ff={'DAVGv':'[KafkaConsumer]\x20Consumer\x20stopped','GMkvV':'[KafkaConsumer]\x20Consumer\x20rebalancing...','cbxKi':_0x33705c(0xd2),'ICBCc':'consumer.crash'};if(!this['consumer'])return;this['consumer']['on'](_0x567ff['cbxKi'],()=>{const _0x5c9876=_0x33705c;console[_0x5c9876(0xcd)](_0x5c9876(0xcc)),this['isConnected']=![],this[_0x5c9876(0x138)]=![];}),this['consumer']['on'](_0x33705c(0x114),()=>{const _0x1d794d=_0x33705c;console[_0x1d794d(0xcd)](_0x567ff['DAVGv']),this['isRunning']=![];}),this[_0x33705c(0x104)]['on'](_0x567ff[_0x33705c(0xd9)],_0x59c238=>{const _0x167a64=_0x33705c;console[_0x167a64(0xfa)]('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x59c238['payload'][_0x167a64(0xfa)][_0x167a64(0x128)]),this[_0x167a64(0x138)]=![];}),this[_0x33705c(0x104)]['on'](_0x33705c(0x10a),()=>{const _0x2dc298=_0x33705c;console[_0x2dc298(0xcd)](_0x567ff['GMkvV']);});}async['subscribe'](_0x2c5300,_0x313fc2=![]){const _0x29c2b5=a0_0x2b18a4;if(!this[_0x29c2b5(0xf8)])return console[_0x29c2b5(0xfa)](_0x29c2b5(0x131)),![];try{const _0x2be339=Array['isArray'](_0x2c5300)?_0x2c5300:[_0x2c5300];for(const _0xa5c36b of _0x2be339){await this['consumer'][_0x29c2b5(0xf5)]({'topic':_0xa5c36b,'fromBeginning':_0x313fc2}),console['log']('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0xa5c36b+_0x29c2b5(0x10e)+_0x313fc2+')');}return this[_0x29c2b5(0x125)]=[...new Set([...this[_0x29c2b5(0x125)],..._0x2be339])],!![];}catch(_0x1d1280){return console[_0x29c2b5(0xfa)](_0x29c2b5(0x12b)+_0x1d1280['message']),![];}}async[a0_0x2b18a4(0x139)](_0x321836,_0xbdb9f3={}){const _0x4a3a23=a0_0x2b18a4,_0x5f4133={'ddUEJ':function(_0x3e4903,_0x2a6455){return _0x3e4903>_0x2a6455;},'vouxe':function(_0xebe460){return _0xebe460();},'SftVn':function(_0xe6a87a,_0x5f2ff2){return _0xe6a87a!==_0x5f2ff2;}};if(!this['isConnected'])return console[_0x4a3a23(0xfa)](_0x4a3a23(0x12d)),![];if(this['isRunning'])return console['log']('[KafkaConsumer]\x20Consumer\x20already\x20running'),!![];const _0x43711d=this['getConfig']();this['messageHandler']=_0x321836;try{return this['metrics']['startTime']=new Date(),await this[_0x4a3a23(0x104)]['run']({'autoCommit':_0x5f4133['SftVn'](_0xbdb9f3['autoCommit'],undefined)?_0xbdb9f3['autoCommit']:_0x43711d[_0x4a3a23(0x124)],'autoCommitInterval':_0x43711d['autoCommitInterval'],'eachMessage':async({topic:_0x20e55f,partition:_0x595cae,message:_0x2bb5e7,heartbeat:_0x573771})=>{const _0x47dc62=_0x4a3a23,_0x41144a=Date['now']();this['metrics']['messagesReceived']++,this[_0x47dc62(0x103)]['lastMessageTime']=new Date();try{const _0x105095=_0x2bb5e7[_0x47dc62(0xeb)]?_0x2bb5e7['value'][_0x47dc62(0xd1)]():null;let _0x3f0989=null;try{_0x3f0989=_0x105095?JSON[_0x47dc62(0x11f)](_0x105095):null;}catch(_0x348017){_0x3f0989=_0x105095;}const _0x1e027a={'topic':_0x20e55f,'partition':_0x595cae,'offset':_0x2bb5e7[_0x47dc62(0xc7)],'key':_0x2bb5e7[_0x47dc62(0x12f)]?_0x2bb5e7['key'][_0x47dc62(0xd1)]():null,'headers':this['parseHeaders'](_0x2bb5e7['headers']),'timestamp':_0x2bb5e7['timestamp'],'value':_0x3f0989,'raw':_0x105095};this[_0x47dc62(0xca)]&&await this[_0x47dc62(0xca)](_0x1e027a);!_0x43711d['autoCommit']&&await this[_0x47dc62(0x104)]['commitOffsets']([{'topic':_0x20e55f,'partition':_0x595cae,'offset':(parseInt(_0x2bb5e7['offset'])+0x1)['toString']()}]);this['metrics'][_0x47dc62(0xf0)]++;const _0x21fcf1=Date['now']()-_0x41144a;this['metrics']['processingTimes'][_0x47dc62(0xd7)](_0x21fcf1),_0x5f4133['ddUEJ'](this[_0x47dc62(0x103)]['processingTimes'][_0x47dc62(0x12c)],0x64)&&this['metrics'][_0x47dc62(0xe7)][_0x47dc62(0x105)](),await _0x5f4133['vouxe'](_0x573771);}catch(_0xf3f259){this[_0x47dc62(0x103)]['messagesFailed']++,console['error'](_0x47dc62(0xdb)+_0xf3f259['message']);throw _0xf3f259;}}}),this['isRunning']=!![],console['log'](_0x4a3a23(0xc9)+this[_0x4a3a23(0x125)][_0x4a3a23(0xdf)](',\x20')),!![];}catch(_0x321c83){return console['error']('[KafkaConsumer]\x20Start\x20consuming\x20error:\x20'+_0x321c83['message']),![];}}['parseHeaders'](_0x344ee4){const _0x172396=a0_0x2b18a4;if(!_0x344ee4)return{};const _0x26f1d2={};for(const [_0x1c194e,_0x2522d9]of Object['entries'](_0x344ee4)){_0x26f1d2[_0x1c194e]=_0x2522d9?_0x2522d9[_0x172396(0xd1)]():null;}return _0x26f1d2;}async[a0_0x2b18a4(0x119)](){const _0x3bd7cc=a0_0x2b18a4,_0x2eda62={'nrHNo':'[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running'};if(!this[_0x3bd7cc(0xf8)]||!this['isRunning'])return console[_0x3bd7cc(0xcd)](_0x2eda62[_0x3bd7cc(0xf6)]),![];if(this[_0x3bd7cc(0x113)])return console['log']('[KafkaConsumer]\x20Consumer\x20already\x20paused'),!![];try{const _0x5de2bf=this[_0x3bd7cc(0x125)]['map'](_0x5dafaf=>({'topic':_0x5dafaf}));return this[_0x3bd7cc(0x104)]['pause'](_0x5de2bf),this[_0x3bd7cc(0x113)]=!![],console['log'](_0x3bd7cc(0x101)),!![];}catch(_0x25ce13){return console[_0x3bd7cc(0xfa)](_0x3bd7cc(0x10f)+_0x25ce13[_0x3bd7cc(0x128)]),![];}}async[a0_0x2b18a4(0x102)](){const _0x4331dd=a0_0x2b18a4,_0x104d19={'LQpqw':_0x4331dd(0x130)};if(!this['isConnected']||!this[_0x4331dd(0x138)])return console['log']('[KafkaConsumer]\x20Cannot\x20resume\x20-\x20consumer\x20not\x20running'),![];if(!this[_0x4331dd(0x113)])return console['log'](_0x104d19[_0x4331dd(0xce)]),!![];try{const _0x576d3e=this[_0x4331dd(0x125)]['map'](_0x5802fd=>({'topic':_0x5802fd}));return this[_0x4331dd(0x104)]['resume'](_0x576d3e),this['isPaused']=![],console[_0x4331dd(0xcd)](_0x4331dd(0x117)),!![];}catch(_0x237df0){return console[_0x4331dd(0xfa)]('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x237df0[_0x4331dd(0x128)]),![];}}async[a0_0x2b18a4(0xcb)](){const _0x413d8e=a0_0x2b18a4,_0x53a839={'EWdtl':_0x413d8e(0xf9)};if(!this[_0x413d8e(0xf8)])return console['log'](_0x53a839['EWdtl']),!![];try{return this['consumer']&&(await this['consumer']['stop'](),await this['consumer']['disconnect']()),this[_0x413d8e(0xf8)]=![],this['isRunning']=![],this['isPaused']=![],console[_0x413d8e(0xcd)](_0x413d8e(0xfc)),!![];}catch(_0x4bf0dd){return console['error'](_0x413d8e(0xe8)+_0x4bf0dd[_0x413d8e(0x128)]),![];}}async['seekToOffset'](_0x476936,_0x1ba5c5,_0x2c5fdf){const _0x4194b9=a0_0x2b18a4,_0x122b50={'SBHng':'[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'};if(!this[_0x4194b9(0xf8)])return console['error'](_0x122b50[_0x4194b9(0xe2)]),![];try{return this['consumer'][_0x4194b9(0xd6)]({'topic':_0x476936,'partition':_0x1ba5c5,'offset':_0x2c5fdf[_0x4194b9(0xd1)]()}),console[_0x4194b9(0xcd)]('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x2c5fdf+_0x4194b9(0x135)+_0x476936+':'+_0x1ba5c5),!![];}catch(_0x5ecc77){return console[_0x4194b9(0xfa)](_0x4194b9(0x100)+_0x5ecc77[_0x4194b9(0x128)]),![];}}['getStatus'](){const _0x2f7ee3=a0_0x2b18a4,_0x829cc3=this[_0x2f7ee3(0xe4)]();return{'enabled':_0x829cc3['enabled'],'connected':this['isConnected'],'running':this['isRunning'],'paused':this[_0x2f7ee3(0x113)],'brokers':_0x829cc3[_0x2f7ee3(0xd8)],'clientId':_0x829cc3['clientId'],'groupId':this['groupId'],'subscribedTopics':this['subscribedTopics']};}['getMetrics'](){const _0x3f060c=a0_0x2b18a4,_0x11c583={'tNZBP':function(_0xf24d69,_0x22bb81){return _0xf24d69>_0x22bb81;},'yyplC':function(_0x151b48,_0x270827){return _0x151b48>_0x270827;},'vvmdO':function(_0x57f3e7,_0x39e690){return _0x57f3e7+_0x39e690;},'WZqwh':function(_0x40a110,_0x41255e){return _0x40a110/_0x41255e;},'rJahy':function(_0x3998ef,_0xaaf479){return _0x3998ef-_0xaaf479;},'kIZmB':function(_0x2b550a,_0x222cb2){return _0x2b550a+_0x222cb2;}},_0xc90864=_0x11c583['tNZBP'](this[_0x3f060c(0x103)][_0x3f060c(0xe7)]['length'],0x0)?this['metrics']['processingTimes'][_0x3f060c(0xe1)]((_0x177e5d,_0x498839)=>_0x177e5d+_0x498839,0x0)/this['metrics']['processingTimes']['length']:0x0,_0x2f31b2=this['metrics']['processingTimes']['length']>0x0?Math[_0x3f060c(0x116)](...this[_0x3f060c(0x103)]['processingTimes']):0x0,_0x3eb2dd=this['metrics']['processingTimes']['length']>0x0?Math[_0x3f060c(0xd4)](...this['metrics'][_0x3f060c(0xe7)]):0x0;return{'messagesReceived':this['metrics'][_0x3f060c(0xf2)],'messagesProcessed':this['metrics']['messagesProcessed'],'messagesFailed':this[_0x3f060c(0x103)]['messagesFailed'],'successRate':_0x11c583[_0x3f060c(0xe9)](this['metrics']['messagesReceived'],0x0)?_0x11c583['vvmdO']((this['metrics'][_0x3f060c(0xf0)]/this['metrics'][_0x3f060c(0xf2)]*0x64)['toFixed'](0x2),'%'):'0%','lastMessageTime':this['metrics'][_0x3f060c(0x10b)],'startTime':this[_0x3f060c(0x103)][_0x3f060c(0xec)],'uptime':this['metrics']['startTime']?Math[_0x3f060c(0x123)](_0x11c583['WZqwh'](_0x11c583[_0x3f060c(0xf3)](Date['now'](),this[_0x3f060c(0x103)]['startTime'][_0x3f060c(0x112)]()),0x3e8))+'s':'0s','processingTime':{'avg':_0x11c583[_0x3f060c(0xc5)](Math['round'](_0xc90864),'ms'),'min':_0x2f31b2+'ms','max':_0x11c583['kIZmB'](_0x3eb2dd,'ms')}};}[a0_0x2b18a4(0xee)](){const _0x406f41=a0_0x2b18a4,_0x1e2780={'JzInM':'[KafkaConsumer]\x20Metrics\x20reset'};this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x406f41(0x138)]?new Date():null,'processingTimes':[]},console['log'](_0x1e2780[_0x406f41(0x127)]);}async['close'](){const _0x3d8bfe=a0_0x2b18a4;await this[_0x3d8bfe(0xcb)]();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}function createInstance(){return new KafkaConsumerService();}function a0_0x150c(){const _0x28756c=['s0fgs0fFu0fttf9qqvntv09sra','AhvTr0G','ChjVy2vZC2LUz1rPBwvZ','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','ExLWBem','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','DMfSDwu','C3rHCNruAw1L','D2fYBG','CMvZzxrnzxrYAwnZ','mtaWma','BwvZC2fNzxnqCM9JzxnZzwq','s0fgs0fFqLjps0vsuW','BwvZC2fNzxnszwnLAxzLza','CKPHAhK','s0fgs0fFuKvuuLLFtufyx0rftefz','C3vIC2nYAwjL','BNjitM8','mJu1ugTWr21n','AxndB25Uzwn0zwq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','zxjYB3i','mZaWma','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','C2v0DxbfDMvUDeHHBMrSzxjZ','AxnjBML0AwfSAxPPBMC','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihbHDxnLza','CMvZDw1L','Bwv0CMLJCW','y29UC3vTzxi','C2HPzNq','Aw5PDgLHBgL6zq','s0fgs0fFu0vtu0LptL9usu1ft1vu','mtu5mZKWnZbiAvLLuNC','mJmZotuYnNDRA3nUtG','y29UC3vTzxiUCMvIywXHBMnPBMC','BgfZDe1LC3nHz2vuAw1L','ndu0mdvYDgLhCNK','zw52','icHMCM9TqMvNAw5UAw5NoIa','w0THzMTHq29UC3vTzxjDifbHDxnLigvYCM9YoIa','wKfKDM0','DxvPza','z2v0vgLTzq','AxnqyxvZzwq','y29UC3vTzxiUC3rVCa','CMvXDwvZDfrPBwvVDxq','BwLU','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLC3vTzwq','vxj2sK8','Cgf1C2u','mJq4og5usMr5ua','mZaWmda','y29UBMvJDgLVBLbYB21PC2u','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','v0fstG','CgfYC2u','tKjSCMS','z3jVDxbjza','CMv0CNLezwXHEq','zMXVB3i','yxv0B0nVBw1PDa','C3vIC2nYAwjLzfrVCgLJCW','C2vZC2LVBLrPBwvVDxq','sNPjBK0','BwvZC2fNzq','s0fgs0fFu0fttf9vu0vstKfnrq','s0fgs0fFq0Xjru5ux0Le','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzsbLCNjVCJOG','BgvUz3rO','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','s0fgs0fFq09otKvdveLptL9usu1ft1vu','A2v5','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbWyxvZzwq','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','s0fgs0fFu0fttf9nruniqu5ju00','nZqYnZzvvgveugu','Dg9mB3DLCKnHC2u','ig9Uia','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','Bg9Ntgv2zwW','AxnsDw5UAw5N','C3rHCNrdB25ZDw1PBMC','DNzTze8','nJznChPUqwm','B2zMC2v0','CMv0CNLbDhrLBxb0CW','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','BwvZC2fNzuHHBMrSzxi','C3rVCa','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','Bg9N','tffWCxC','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','revcvuC','Dg9tDhjPBMC','y29UC3vTzxiUzgLZy29UBMvJDa','odq0nZq5nNvntLzoBG','Bwf4','veT2yue','C2vLAW','ChvZAa','yNjVA2vYCW','suncq2m','zgvMyxvSDa','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','ndqYndrNtfDlB04','mZG0nZe4mfbLv2L4sG','s0fgs0fFru5bqKXfra','AM9PBG','rvjst1i','CMvKDwnL','u0jiBMC','A2fMA2e','z2v0q29UzMLN'];a0_0x150c=function(){return _0x28756c;};return a0_0x150c();}function a0_0x2f22(_0x59a21d,_0x2a0134){_0x59a21d=_0x59a21d-0xc5;const _0x150c43=a0_0x150c();let _0x2f22df=_0x150c43[_0x59a21d];if(a0_0x2f22['NCYjGn']===undefined){var _0x255a44=function(_0x313ccb){const _0x31166d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3c62c3='',_0xee8ba8='';for(let _0x2a4e06=0x0,_0x156024,_0x2a7c7a,_0x7ff757=0x0;_0x2a7c7a=_0x313ccb['charAt'](_0x7ff757++);~_0x2a7c7a&&(_0x156024=_0x2a4e06%0x4?_0x156024*0x40+_0x2a7c7a:_0x2a7c7a,_0x2a4e06++%0x4)?_0x3c62c3+=String['fromCharCode'](0xff&_0x156024>>(-0x2*_0x2a4e06&0x6)):0x0){_0x2a7c7a=_0x31166d['indexOf'](_0x2a7c7a);}for(let _0x33d5f9=0x0,_0x128a65=_0x3c62c3['length'];_0x33d5f9<_0x128a65;_0x33d5f9++){_0xee8ba8+='%'+('00'+_0x3c62c3['charCodeAt'](_0x33d5f9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xee8ba8);};a0_0x2f22['ucTiAq']=_0x255a44,a0_0x2f22['wgZOlM']={},a0_0x2f22['NCYjGn']=!![];}const _0x22d9de=_0x150c43[0x0],_0x2076e4=_0x59a21d+_0x22d9de,_0x75c59a=a0_0x2f22['wgZOlM'][_0x2076e4];return!_0x75c59a?(_0x2f22df=a0_0x2f22['ucTiAq'](_0x2f22df),a0_0x2f22['wgZOlM'][_0x2076e4]=_0x2f22df):_0x2f22df=_0x75c59a,_0x2f22df;}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
@@ -1 +1 @@
1
- const a0_0x18e820=a0_0x1bd7;(function(_0x524955,_0x111ab3){const _0x4b0645=a0_0x1bd7,_0x25a414=_0x524955();while(!![]){try{const _0x395769=parseInt(_0x4b0645(0x66))/0x1+-parseInt(_0x4b0645(0xba))/0x2*(parseInt(_0x4b0645(0x88))/0x3)+-parseInt(_0x4b0645(0x8f))/0x4+-parseInt(_0x4b0645(0xa5))/0x5+-parseInt(_0x4b0645(0x64))/0x6*(-parseInt(_0x4b0645(0x7c))/0x7)+parseInt(_0x4b0645(0x77))/0x8+-parseInt(_0x4b0645(0x8b))/0x9;if(_0x395769===_0x111ab3)break;else _0x25a414['push'](_0x25a414['shift']());}catch(_0x44edaa){_0x25a414['push'](_0x25a414['shift']());}}}(a0_0x5bba,0x73738));const {Kafka,logLevel,Partitioners}=require('kafkajs'),{v7:uuidv7}=require(a0_0x18e820(0x81));function a0_0x5bba(){const _0x295922=['lxbYB2r1y2vY','yNjVA2vYCW','DgfIBgvoyw1L','ChjVzhvJzxiUzgLZy29UBMvJDa','y29UBMvJDgLVBLrPBwvVDxq','Dw5RBM93BG','CMvZDgzVCMDLlq','odK0wfPgBuPY','AM9PBG','ndGXotiWwLHXuK5h','CuHpqvu','z2v0rgf0zq','s0fgs0fFru5bqKXfra','s0fgs0fFu1nm','C3bSAxq','w0THzMTHxsbdB25Uzwn0Aw9UigzHAwXLzdOG','AxndB25Uzwn0zwq','Aw5PDgLHBgL6zq','z2v0u2vJB25KCW','su5gtW','A2fMA2e','zw5KCg9PBNq','tfHTqM8','s0fgs0fFuKvrvuvtvf9usu1ft1vu','s0fgs0fFte9hx0XfvKvm','AxnjBML0AwfSAxPPBMC','nJi5odG2ngvuz2P0vG','s0fgs0fFu0fttf9qqvntv09sra','CMvWBgfJzq','s0fgs0fFu0fttf9nruniqu5ju00','zw52','mZq0mZnVtxPZvKu','revcvuC','s0fgs0fFuKvuuLLFrevmqvK','Evjlu1m','Dg9mB3DLCKnHC2u','DxvPza','z2v0q29UzMLN','E2fJDgLVBN0','Bg9N','mtaWma','y2XPzw50swq','rMfPBgvKihrVignVBM5Ly3qGDg8Gs2fMA2eGyNjVA2vY','mta0odC1nvnty3PkzG','ru5usvrzx0nsrufuruq','mxWWFdj8nhWZ','ode3mZe0m0LNugfYzG','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwqGz3jHy2vMDwXSEq','s0fgs0fFvevoqu5ux0Le','AvDQCg4','nJm3mdy4CezAEers','CMv0CNLezwXHEq','zgvMyxvSDa','zgvSzxrLza','y29UBMvJDgLVBLbYB21PC2u','Bw9KDwXL','wg1queO','zxjYB3i','zw5HyMXLza','rvjst1i','tK9useLorW','yMDPtvq','BvvLt2i','w0THzMTHxsbqCM9KDwnLCIbJB25Uzwn0zwqGDg8GyNjVA2vYCZOG','z2v0tw9UDgG','BwvZC2fNzq','t2r4Efy','y29YCMvSyxrPB25jza','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwq','E21VzhvSzx0','CMv0CNLbDhrLBxb0CW','mJuWmda','ntyXnZeWu29HrvzO','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','u1Ltvevn','Dhj1zq','Bg9Ntgv2zwW','q0Dot2K','Dg9vChbLCKnHC2u','tgvNywn5ugfYDgL0Aw9Uzxi','ChjVzhvJzxi','rxrqANG','ms4W','DgvUyw50swq','ChvIBgLZAfvWzgf0zq','ChvIBgLZAev2zw50','CgfYDgL0Aw9U','CgfKu3rHCNq','yNvPBgruB3bPy05HBwu','v0fstG','D01Wrfm','Dg9WAwnqyxr0zxjU','z2v0tg9Ntgv2zwW','mMzKwg9dza','A2v5rMLLBgq'];a0_0x5bba=function(){return _0x295922;};return a0_0x5bba();}class KafkaService{constructor(){const _0x5e3f58=a0_0x18e820,_0x186e7e={'nHFFd':_0x5e3f58(0x8a)},_0x812ee4=_0x186e7e['nHFFd']['split']('|');let _0x710ac2=0x0;while(!![]){switch(_0x812ee4[_0x710ac2++]){case'0':this['producer']=null;continue;case'1':this['kafka']=null;continue;case'2':this['isConnected']=![];continue;case'3':this['connectionPromise']=null;continue;case'4':this[_0x5e3f58(0x76)]=![];continue;}break;}}[a0_0x18e820(0x82)](){const _0xd0a194=a0_0x18e820,_0x4b4cd9={'LXmBo':function(_0x1e441a,_0x488f69){return _0x1e441a===_0x488f69;},'qBENX':'localhost:9092','qHOAU':_0xd0a194(0x91),'rnDVi':function(_0x403b7c,_0x5da762){return _0x403b7c(_0x5da762);},'AYTiT':'3000','XZuou':_0xd0a194(0xa4),'lNwmc':function(_0x5ae7e5,_0xcb1baa){return _0x5ae7e5(_0xcb1baa);}};return{'enabled':_0x4b4cd9[_0xd0a194(0x73)](process[_0xd0a194(0x7b)][_0xd0a194(0x69)],_0xd0a194(0xa8)),'brokers':(process['env']['KAFKA_BROKERS']||_0x4b4cd9['qBENX'])[_0xd0a194(0x6b)](','),'clientId':process['env']['KAFKA_CLIENT_ID']||_0xd0a194(0xc2)+(process[_0xd0a194(0x7b)][_0xd0a194(0xa6)]||_0x4b4cd9[_0xd0a194(0x67)])+_0xd0a194(0xbc),'connectionTimeout':_0x4b4cd9['rnDVi'](parseInt,process[_0xd0a194(0x7b)]['KAFKA_CONNECTION_TIMEOUT']||_0x4b4cd9['AYTiT']),'requestTimeout':_0x4b4cd9['rnDVi'](parseInt,process[_0xd0a194(0x7b)][_0xd0a194(0x74)]||_0x4b4cd9['XZuou']),'topicPattern':process['env']['KAFKA_TOPIC_PATTERN']||'{module}.{endpoint}.events','tenantId':process[_0xd0a194(0x7b)][_0xd0a194(0x8d)]||_0x4b4cd9[_0xd0a194(0x67)],'retryAttempts':parseInt(process[_0xd0a194(0x7b)]['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':_0x4b4cd9['lNwmc'](parseInt,process['env'][_0xd0a194(0x7e)]||_0xd0a194(0x85)),'logLevel':process['env'][_0xd0a194(0x75)]||'warn'};}[a0_0x18e820(0xb9)](_0x1ed3e7){const _0x52a4a5=a0_0x18e820,_0x20e788={'nothing':logLevel[_0x52a4a5(0x99)],'error':logLevel[_0x52a4a5(0x98)],'warn':logLevel[_0x52a4a5(0xb6)],'info':logLevel[_0x52a4a5(0x70)],'debug':logLevel[_0x52a4a5(0x7d)]};return _0x20e788[_0x1ed3e7[_0x52a4a5(0x80)]()]||logLevel[_0x52a4a5(0xb6)];}async[a0_0x18e820(0x6e)](){const _0x4c193b=a0_0x18e820,_0x9dbabb={'eroNS':_0x4c193b(0xa8),'XmPPJ':_0x4c193b(0xbf)},_0x25c077=this['getConfig']();if(!_0x25c077['enabled'])return console['log']('[Kafka]\x20Kafka\x20producer\x20is\x20disabled\x20in\x20configuration'),![];if(this[_0x4c193b(0x6d)])return!![];if(this[_0x4c193b(0x76)]&&this[_0x4c193b(0x93)])return this[_0x4c193b(0x93)];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x5081a7=>{const _0x3e25da=_0x4c193b;try{let _0x319ecb=undefined;process['env'][_0x3e25da(0x6a)]===_0x9dbabb['eroNS']&&(_0x319ecb=!![]);let _0x3cd07d=undefined;process['env'][_0x3e25da(0x7a)]&&(_0x3cd07d={'mechanism':process[_0x3e25da(0x7b)]['KAFKA_SASL_MECHANISM'],'username':process[_0x3e25da(0x7b)]['KAFKA_SASL_USERNAME']||'','password':process['env'][_0x3e25da(0x78)]||''}),this['kafka']=new Kafka({'clientId':_0x25c077[_0x3e25da(0x86)],'brokers':_0x25c077['brokers'],'connectionTimeout':_0x25c077[_0x3e25da(0xc0)],'requestTimeout':_0x25c077['requestTimeout'],'logLevel':this['getLogLevel'](_0x25c077[_0x3e25da(0xa9)]),'ssl':_0x319ecb,'sasl':_0x3cd07d,'retry':{'initialRetryTime':_0x25c077[_0x3e25da(0x90)],'retries':_0x25c077[_0x3e25da(0xa3)]}}),this['producer']=this[_0x3e25da(0x71)][_0x3e25da(0xad)]({'allowAutoTopicCreation':!![],'transactionTimeout':0x7530,'createPartitioner':Partitioners[_0x3e25da(0xac)]}),await this['producer']['connect'](),this[_0x3e25da(0x6d)]=!![],console[_0x3e25da(0x84)](_0x3e25da(0x9c)+_0x25c077[_0x3e25da(0xbd)][_0x3e25da(0x65)](',\x20')),this['producer']['on'](_0x9dbabb[_0x3e25da(0x95)],()=>{const _0x146fdf=_0x3e25da;console['log'](_0x146fdf(0xa1)),this[_0x146fdf(0x6d)]=![];}),_0x5081a7(!![]);}catch(_0x12bbff){console['error'](_0x3e25da(0x6c)+_0x12bbff['message']),this['isConnected']=![],_0x5081a7(![]);}finally{this[_0x3e25da(0x76)]=![];}}),this[_0x4c193b(0x93)];}['formatDateTime'](_0x53d7fe){const _0x387cad=a0_0x18e820,_0x1c2dd8={'LauKW':function(_0xae16ad,_0x564419){return _0xae16ad+_0x564419;},'WNGlz':function(_0xdc9a10,_0x2b6192){return _0xdc9a10(_0x2b6192);}},_0xfe19f9=_0x53d7fe||new Date(),_0x59115d=_0xfe19f9['getFullYear'](),_0x644bec=String(_0x1c2dd8['LauKW'](_0xfe19f9[_0x387cad(0x9d)](),0x1))['padStart'](0x2,'0'),_0x240951=_0x1c2dd8['WNGlz'](String,_0xfe19f9[_0x387cad(0x68)]())['padStart'](0x2,'0'),_0xd18830=String(_0xfe19f9['getHours']())[_0x387cad(0xb4)](0x2,'0'),_0x479dbb=String(_0xfe19f9['getMinutes']())['padStart'](0x2,'0'),_0xeafb2d=String(_0xfe19f9[_0x387cad(0x6f)]())['padStart'](0x2,'0');return _0x59115d+'-'+_0x644bec+'-'+_0x240951+'\x20'+_0xd18830+':'+_0x479dbb+':'+_0xeafb2d;}[a0_0x18e820(0xb5)](_0x496209,_0x2071c0,_0x3d6cfc,_0x3db1d0=null){const _0x54569f=a0_0x18e820,_0x36cae4={'EtPjx':_0x54569f(0xa2),'iWjpn':_0x54569f(0x83)};if(_0x3db1d0)return _0x3db1d0;const _0xe30450=this[_0x54569f(0x82)]()['topicPattern'];return _0xe30450[_0x54569f(0x79)](_0x36cae4[_0x54569f(0xae)],_0x496209)[_0x54569f(0x79)]('{endpoint}',_0x2071c0)[_0x54569f(0x79)](_0x36cae4[_0x54569f(0x8e)],_0x3d6cfc);}['buildEventMessage'](_0x10aa65,_0x23eb62,_0x4a24de,_0x10e31e={}){const _0x188469=a0_0x18e820,_0x448aac={'yRKSS':function(_0x3333ae){return _0x3333ae();},'mUeOb':_0x188469(0xc1)},_0x1b813f=new Date(),_0x11e3a8=this['formatDateTime'](_0x1b813f),_0xfbedfe=_0x10e31e['correlationId']||'corr-'+_0x448aac[_0x188469(0x7f)](uuidv7);return{'eventId':'evt-'+_0x448aac[_0x188469(0x7f)](uuidv7),'eventType':_0x10aa65,'eventTime':_0x11e3a8,'eventVersion':_0x188469(0xaf),'source':'restforge-'+(_0x10e31e[_0x188469(0x94)]||'unknown'),'correlationId':_0xfbedfe,'newData':_0x4a24de,'oldData':_0x23eb62,'metadata':{'createdBy':_0x10e31e['createdBy']||_0x188469(0xa7),'createdAt':_0x11e3a8,'systemId':'RESTFORGE-'+(_0x10e31e['module']||_0x448aac[_0x188469(0x9b)])[_0x188469(0xab)](),'tenantId':this['getConfig']()[_0x188469(0xb0)],'endpoint':_0x10e31e[_0x188469(0x72)]||null,'tableName':_0x10e31e[_0x188469(0xbe)]||null}};}async['publishEvent'](_0x9cab9,_0x3afe41,_0x264a33,_0x3d5294,_0x361b35={}){const _0x3c3c1b=a0_0x18e820,_0x2e2f04={'wMpDS':'Kafka\x20producer\x20is\x20disabled','WqRbx':function(_0x2b764b,_0xa96d9f){return _0x2b764b(_0xa96d9f);}},_0x1e3581=this[_0x3c3c1b(0x82)]();if(!_0x1e3581[_0x3c3c1b(0x97)])return{'success':![],'reason':_0x2e2f04[_0x3c3c1b(0xb7)],'published':![]};if(!this[_0x3c3c1b(0x6d)]){const _0x386674=await this[_0x3c3c1b(0x6e)]();if(!_0x386674)return{'success':![],'reason':_0x3c3c1b(0x87),'published':![]};}try{const _0x3e4fce=this['buildEventMessage'](_0x3afe41,_0x264a33,_0x3d5294,_0x361b35),_0x3bcc76=_0x361b35['keyField']||'id',_0x317fa9=_0x3d5294?.[_0x3bcc76]||_0x264a33?.[_0x3bcc76]||uuidv7(),_0x34952b=await this['producer']['send']({'topic':_0x9cab9,'messages':[{'key':_0x2e2f04['WqRbx'](String,_0x317fa9),'value':JSON['stringify'](_0x3e4fce),'headers':{'event-type':_0x3afe41,'correlation-id':_0x3e4fce['correlationId'],'source':_0x3e4fce['source']}}]});return console[_0x3c3c1b(0x84)]('[Kafka]\x20Event\x20published\x20to\x20'+_0x9cab9+':\x20'+_0x3afe41+'\x20(key:\x20'+_0x317fa9+')'),{'success':!![],'correlationId':_0x3e4fce['correlationId'],'topic':_0x9cab9,'partition':_0x34952b[0x0]?.[_0x3c3c1b(0xb3)],'offset':_0x34952b[0x0]?.['baseOffset'],'published':!![]};}catch(_0x4a74cb){return console[_0x3c3c1b(0x96)]('[Kafka]\x20Publish\x20error\x20to\x20'+_0x9cab9+':\x20'+_0x4a74cb['message']),{'success':![],'error':_0x4a74cb[_0x3c3c1b(0x9e)],'published':![]};}}async['publishInsert'](_0x9b6668,_0x320242,_0x16f938,_0x4ebd17={}){const _0x18311f=a0_0x18e820,_0x276b72={'HXhcP':_0x18311f(0x89)},_0x1993b2=this['buildTopicName'](_0x9b6668,_0x320242,'created',_0x4ebd17['topic']);return this['publishEvent'](_0x1993b2,_0x276b72['HXhcP'],null,_0x16f938,{'module':_0x9b6668,'endpoint':_0x320242,'keyField':_0x4ebd17['keyField'],'tableName':_0x4ebd17[_0x18311f(0xbe)],'correlationId':_0x4ebd17[_0x18311f(0xa0)]});}async[a0_0x18e820(0xb1)](_0x27f77c,_0x4db8e8,_0xdf2b72,_0x42f2d9,_0xe24d75={}){const _0x2c2109=a0_0x18e820,_0x471d10={'OdxxV':'updated','bgiMT':'ENTITY_UPDATED'},_0x385a22=this['buildTopicName'](_0x27f77c,_0x4db8e8,_0x471d10[_0x2c2109(0x9f)],_0xe24d75['topic']);return this['publishEvent'](_0x385a22,_0x471d10[_0x2c2109(0x9a)],_0xdf2b72,_0x42f2d9,{'module':_0x27f77c,'endpoint':_0x4db8e8,'keyField':_0xe24d75[_0x2c2109(0xbb)],'tableName':_0xe24d75['tableName'],'correlationId':_0xe24d75[_0x2c2109(0xa0)]});}async['publishDelete'](_0x5e55e2,_0x13c649,_0x81eb47,_0x226874={}){const _0x28974c=a0_0x18e820,_0xbfbb37=this['buildTopicName'](_0x5e55e2,_0x13c649,_0x28974c(0x92),_0x226874['topic']);return this[_0x28974c(0xb2)](_0xbfbb37,'ENTITY_DELETED',_0x81eb47,null,{'module':_0x5e55e2,'endpoint':_0x13c649,'keyField':_0x226874['keyField'],'tableName':_0x226874[_0x28974c(0xbe)],'correlationId':_0x226874['correlationId']});}['getStatus'](){const _0x97c72a=a0_0x18e820,_0x470039=this['getConfig']();return{'enabled':_0x470039[_0x97c72a(0x97)],'connected':this['isConnected'],'brokers':_0x470039['brokers'],'clientId':_0x470039[_0x97c72a(0x86)],'topicPattern':_0x470039[_0x97c72a(0xb8)]};}async['close'](){const _0x3e9ee4=a0_0x18e820,_0x2213b2={'CGNOi':_0x3e9ee4(0x8c)};if(this[_0x3e9ee4(0xad)]&&this['isConnected'])try{await this['producer']['disconnect'](),this['isConnected']=![],console[_0x3e9ee4(0x84)](_0x2213b2[_0x3e9ee4(0xaa)]);}catch(_0x2d32e1){console['error']('[Kafka]\x20Error\x20disconnecting:\x20'+_0x2d32e1[_0x3e9ee4(0x9e)]);}}}function a0_0x1bd7(_0x521c4e,_0x519e4a){_0x521c4e=_0x521c4e-0x64;const _0x5bbaad=a0_0x5bba();let _0x1bd7bb=_0x5bbaad[_0x521c4e];if(a0_0x1bd7['CKbUbI']===undefined){var _0x41870c=function(_0x5deda9){const _0x19939d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x21a039='',_0x436f21='';for(let _0x5a351f=0x0,_0x4dc0c3,_0xb92b7,_0xcede4c=0x0;_0xb92b7=_0x5deda9['charAt'](_0xcede4c++);~_0xb92b7&&(_0x4dc0c3=_0x5a351f%0x4?_0x4dc0c3*0x40+_0xb92b7:_0xb92b7,_0x5a351f++%0x4)?_0x21a039+=String['fromCharCode'](0xff&_0x4dc0c3>>(-0x2*_0x5a351f&0x6)):0x0){_0xb92b7=_0x19939d['indexOf'](_0xb92b7);}for(let _0x8c5233=0x0,_0x454543=_0x21a039['length'];_0x8c5233<_0x454543;_0x8c5233++){_0x436f21+='%'+('00'+_0x21a039['charCodeAt'](_0x8c5233)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x436f21);};a0_0x1bd7['OzTllr']=_0x41870c,a0_0x1bd7['SRiQZN']={},a0_0x1bd7['CKbUbI']=!![];}const _0x352a80=_0x5bbaad[0x0],_0x24af80=_0x521c4e+_0x352a80,_0xc581fa=a0_0x1bd7['SRiQZN'][_0x24af80];return!_0xc581fa?(_0x1bd7bb=a0_0x1bd7['OzTllr'](_0x1bd7bb),a0_0x1bd7['SRiQZN'][_0x24af80]=_0x1bd7bb):_0x1bd7bb=_0xc581fa,_0x1bd7bb;}let instance=null;function getInstance(){return!instance&&(instance=new KafkaService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'KafkaService':KafkaService};
1
+ const a0_0xe179d2=a0_0xed6d;(function(_0x2621f9,_0x14a643){const _0x4d66e0=a0_0xed6d,_0x2c4a13=_0x2621f9();while(!![]){try{const _0x336f49=-parseInt(_0x4d66e0(0x17d))/0x1+-parseInt(_0x4d66e0(0x172))/0x2+-parseInt(_0x4d66e0(0x186))/0x3+-parseInt(_0x4d66e0(0x178))/0x4+parseInt(_0x4d66e0(0x19f))/0x5+-parseInt(_0x4d66e0(0x170))/0x6+-parseInt(_0x4d66e0(0x1a6))/0x7*(-parseInt(_0x4d66e0(0x1ab))/0x8);if(_0x336f49===_0x14a643)break;else _0x2c4a13['push'](_0x2c4a13['shift']());}catch(_0x5e7860){_0x2c4a13['push'](_0x2c4a13['shift']());}}}(a0_0x552c,0x99250));function a0_0xed6d(_0x3b80c3,_0x4c5dd3){_0x3b80c3=_0x3b80c3-0x15c;const _0x552c5a=a0_0x552c();let _0xed6d0b=_0x552c5a[_0x3b80c3];if(a0_0xed6d['vxRXzv']===undefined){var _0x2fafe7=function(_0x5dfe23){const _0x31b72c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x54eb7b='',_0x41c7b7='';for(let _0x11eb74=0x0,_0x1b8090,_0x546d8d,_0x5436dc=0x0;_0x546d8d=_0x5dfe23['charAt'](_0x5436dc++);~_0x546d8d&&(_0x1b8090=_0x11eb74%0x4?_0x1b8090*0x40+_0x546d8d:_0x546d8d,_0x11eb74++%0x4)?_0x54eb7b+=String['fromCharCode'](0xff&_0x1b8090>>(-0x2*_0x11eb74&0x6)):0x0){_0x546d8d=_0x31b72c['indexOf'](_0x546d8d);}for(let _0x135f4a=0x0,_0x39916f=_0x54eb7b['length'];_0x135f4a<_0x39916f;_0x135f4a++){_0x41c7b7+='%'+('00'+_0x54eb7b['charCodeAt'](_0x135f4a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x41c7b7);};a0_0xed6d['oQPieu']=_0x2fafe7,a0_0xed6d['hQtksi']={},a0_0xed6d['vxRXzv']=!![];}const _0x294f64=_0x552c5a[0x0],_0x220fc0=_0x3b80c3+_0x294f64,_0x2e6196=a0_0xed6d['hQtksi'][_0x220fc0];return!_0x2e6196?(_0xed6d0b=a0_0xed6d['oQPieu'](_0xed6d0b),a0_0xed6d['hQtksi'][_0x220fc0]=_0xed6d0b):_0xed6d0b=_0x2e6196,_0xed6d0b;}const {Kafka,logLevel,Partitioners}=require('kafkajs'),{v7:uuidv7}=require(a0_0xe179d2(0x1a4));class KafkaService{constructor(){const _0x4a7a33=a0_0xe179d2;this[_0x4a7a33(0x199)]=null,this[_0x4a7a33(0x19b)]=null,this[_0x4a7a33(0x1ad)]=![],this[_0x4a7a33(0x166)]=![],this[_0x4a7a33(0x16a)]=null;}[a0_0xe179d2(0x1ac)](){const _0x43d142=a0_0xe179d2,_0x429444={'NjzKD':_0x43d142(0x15e),'ujTzE':'localhost:9092','esMxw':'default','TRaRQ':function(_0x1d9d22,_0x44d7b9){return _0x1d9d22(_0x44d7b9);},'vvUPq':'3000','PFlBT':'{module}.{endpoint}.events','TekpH':function(_0x4614fd,_0x4f3ea8){return _0x4614fd(_0x4f3ea8);},'fmbeG':function(_0x487a5c,_0x5cc0c1){return _0x487a5c(_0x5cc0c1);},'PgPOS':'warn'};return{'enabled':process['env'][_0x43d142(0x162)]===_0x429444['NjzKD'],'brokers':(process['env']['KAFKA_BROKERS']||_0x429444['ujTzE'])[_0x43d142(0x1a2)](','),'clientId':process['env'][_0x43d142(0x173)]||'restforge-'+(process['env']['RESTFORGE_PROJECT_NAME']||_0x429444['esMxw'])+_0x43d142(0x1ae),'connectionTimeout':_0x429444['TRaRQ'](parseInt,process[_0x43d142(0x1aa)][_0x43d142(0x167)]||_0x429444[_0x43d142(0x16b)]),'requestTimeout':_0x429444['TRaRQ'](parseInt,process['env']['KAFKA_REQUEST_TIMEOUT']||'25000'),'topicPattern':process[_0x43d142(0x1aa)][_0x43d142(0x17c)]||_0x429444[_0x43d142(0x196)],'tenantId':process[_0x43d142(0x1aa)]['KAFKA_TENANT_ID']||_0x429444[_0x43d142(0x198)],'retryAttempts':_0x429444[_0x43d142(0x192)](parseInt,process[_0x43d142(0x1aa)]['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':_0x429444['fmbeG'](parseInt,process[_0x43d142(0x1aa)][_0x43d142(0x1a3)]||'1000'),'logLevel':process[_0x43d142(0x1aa)][_0x43d142(0x17f)]||_0x429444[_0x43d142(0x182)]};}['getLogLevel'](_0x16d829){const _0x5d09c6=a0_0xe179d2,_0x5710f3={'nothing':logLevel[_0x5d09c6(0x169)],'error':logLevel['ERROR'],'warn':logLevel[_0x5d09c6(0x17a)],'info':logLevel['INFO'],'debug':logLevel[_0x5d09c6(0x19e)]};return _0x5710f3[_0x16d829[_0x5d09c6(0x184)]()]||logLevel['WARN'];}async['initialize'](){const _0x2d1471=a0_0xe179d2,_0x4e5cb7={'xsLbE':'[Kafka]\x20Producer\x20disconnected','Gsxfd':'true','WvvvD':function(_0x4cad70,_0x2f7140){return _0x4cad70(_0x2f7140);},'tVhXa':'[Kafka]\x20Kafka\x20producer\x20is\x20disabled\x20in\x20configuration'},_0x3f066=this['getConfig']();if(!_0x3f066[_0x2d1471(0x183)])return console['log'](_0x4e5cb7[_0x2d1471(0x168)]),![];if(this['isConnected'])return!![];if(this['isInitializing']&&this[_0x2d1471(0x16a)])return this['connectionPromise'];return this['isInitializing']=!![],this[_0x2d1471(0x16a)]=new Promise(async _0x1d7fdc=>{const _0x5311c9=_0x2d1471;try{let _0x50613c=undefined;process['env'][_0x5311c9(0x16f)]===_0x4e5cb7['Gsxfd']&&(_0x50613c=!![]);let _0x18c343=undefined;process[_0x5311c9(0x1aa)][_0x5311c9(0x181)]&&(_0x18c343={'mechanism':process[_0x5311c9(0x1aa)]['KAFKA_SASL_MECHANISM'],'username':process['env']['KAFKA_SASL_USERNAME']||'','password':process[_0x5311c9(0x1aa)][_0x5311c9(0x1a1)]||''}),this[_0x5311c9(0x199)]=new Kafka({'clientId':_0x3f066[_0x5311c9(0x1a5)],'brokers':_0x3f066['brokers'],'connectionTimeout':_0x3f066['connectionTimeout'],'requestTimeout':_0x3f066[_0x5311c9(0x191)],'logLevel':this[_0x5311c9(0x1b2)](_0x3f066['logLevel']),'ssl':_0x50613c,'sasl':_0x18c343,'retry':{'initialRetryTime':_0x3f066['retryDelay'],'retries':_0x3f066['retryAttempts']}}),this[_0x5311c9(0x19b)]=this['kafka']['producer']({'allowAutoTopicCreation':!![],'transactionTimeout':0x7530,'createPartitioner':Partitioners['LegacyPartitioner']}),await this[_0x5311c9(0x19b)][_0x5311c9(0x1a7)](),this['isConnected']=!![],console[_0x5311c9(0x18d)](_0x5311c9(0x17e)+_0x3f066[_0x5311c9(0x175)][_0x5311c9(0x185)](',\x20')),this[_0x5311c9(0x19b)]['on']('producer.disconnect',()=>{const _0x592beb=_0x5311c9;console['log'](_0x4e5cb7[_0x592beb(0x15f)]),this[_0x592beb(0x1ad)]=![];}),_0x4e5cb7['WvvvD'](_0x1d7fdc,!![]);}catch(_0x394335){console[_0x5311c9(0x177)]('[Kafka]\x20Connection\x20failed:\x20'+_0x394335['message']),this['isConnected']=![],_0x1d7fdc(![]);}finally{this[_0x5311c9(0x166)]=![];}}),this[_0x2d1471(0x16a)];}['formatDateTime'](_0x4702ce){const _0x2e0bd6=a0_0xe179d2,_0x3504bf={'RTYTs':function(_0x2ef648,_0x2755e7){return _0x2ef648+_0x2755e7;},'iltaE':function(_0x16aeff,_0xe4e3b7){return _0x16aeff(_0xe4e3b7);},'WRarO':function(_0x49e149,_0x59930f){return _0x49e149(_0x59930f);}},_0x44a885=_0x4702ce||new Date(),_0x36ced1=_0x44a885['getFullYear'](),_0x5a3a13=String(_0x3504bf['RTYTs'](_0x44a885['getMonth'](),0x1))['padStart'](0x2,'0'),_0x19a665=String(_0x44a885[_0x2e0bd6(0x164)]())['padStart'](0x2,'0'),_0x527f30=String(_0x44a885['getHours']())[_0x2e0bd6(0x19d)](0x2,'0'),_0x295f88=_0x3504bf['iltaE'](String,_0x44a885['getMinutes']())[_0x2e0bd6(0x19d)](0x2,'0'),_0x433e8c=_0x3504bf[_0x2e0bd6(0x179)](String,_0x44a885['getSeconds']())[_0x2e0bd6(0x19d)](0x2,'0');return _0x36ced1+'-'+_0x5a3a13+'-'+_0x19a665+'\x20'+_0x527f30+':'+_0x295f88+':'+_0x433e8c;}['buildTopicName'](_0x2d2149,_0x1c9dd1,_0x166d44,_0xe29b07=null){const _0x58b70b=a0_0xe179d2,_0x4cf3fc={'NcvYF':_0x58b70b(0x165)};if(_0xe29b07)return _0xe29b07;const _0x1a2bfe=this['getConfig']()[_0x58b70b(0x19c)];return _0x1a2bfe['replace'](_0x58b70b(0x171),_0x2d2149)['replace'](_0x4cf3fc['NcvYF'],_0x1c9dd1)['replace'](_0x58b70b(0x1a0),_0x166d44);}[a0_0xe179d2(0x18f)](_0x206e23,_0x58b79f,_0x3bd343,_0x13b243={}){const _0xe7fddf=a0_0xe179d2,_0x57f765={'wdFyC':function(_0x1d65af){return _0x1d65af();},'XxTRi':function(_0x25a970){return _0x25a970();},'lZDhF':_0xe7fddf(0x1b1),'lQohe':'SYSTEM'},_0x518003=new Date(),_0xd10fd1=this['formatDateTime'](_0x518003),_0x27d226=_0x13b243[_0xe7fddf(0x15c)]||_0xe7fddf(0x174)+_0x57f765['wdFyC'](uuidv7);return{'eventId':_0xe7fddf(0x176)+_0x57f765[_0xe7fddf(0x16e)](uuidv7),'eventType':_0x206e23,'eventTime':_0xd10fd1,'eventVersion':'1.0','source':_0xe7fddf(0x1a8)+(_0x13b243[_0xe7fddf(0x194)]||_0x57f765['lZDhF']),'correlationId':_0x27d226,'newData':_0x3bd343,'oldData':_0x58b79f,'metadata':{'createdBy':_0x13b243[_0xe7fddf(0x188)]||_0x57f765[_0xe7fddf(0x18e)],'createdAt':_0xd10fd1,'systemId':_0xe7fddf(0x187)+(_0x13b243[_0xe7fddf(0x194)]||_0x57f765['lZDhF'])['toUpperCase'](),'tenantId':this[_0xe7fddf(0x1ac)]()['tenantId'],'endpoint':_0x13b243['endpoint']||null,'tableName':_0x13b243['tableName']||null}};}async[a0_0xe179d2(0x16d)](_0x5e0998,_0x35f612,_0x523566,_0x3d32e0,_0x13c555={}){const _0x4de24d=a0_0xe179d2,_0x2f3854={'OzfVq':_0x4de24d(0x15d),'uQofM':function(_0x2db89e,_0x50ac01){return _0x2db89e(_0x50ac01);}},_0x2b70cc=this['getConfig']();if(!_0x2b70cc[_0x4de24d(0x183)])return{'success':![],'reason':'Kafka\x20producer\x20is\x20disabled','published':![]};if(!this[_0x4de24d(0x1ad)]){const _0x3ec812=await this[_0x4de24d(0x1a9)]();if(!_0x3ec812)return{'success':![],'reason':_0x2f3854[_0x4de24d(0x189)],'published':![]};}try{const _0x3f2bbf=this['buildEventMessage'](_0x35f612,_0x523566,_0x3d32e0,_0x13c555),_0xfce5f=_0x13c555['keyField']||'id',_0x384b9a=_0x3d32e0?.[_0xfce5f]||_0x523566?.[_0xfce5f]||uuidv7(),_0x3dbdcf=await this[_0x4de24d(0x19b)]['send']({'topic':_0x5e0998,'messages':[{'key':_0x2f3854[_0x4de24d(0x195)](String,_0x384b9a),'value':JSON[_0x4de24d(0x18a)](_0x3f2bbf),'headers':{'event-type':_0x35f612,'correlation-id':_0x3f2bbf['correlationId'],'source':_0x3f2bbf[_0x4de24d(0x180)]}}]});return console[_0x4de24d(0x18d)](_0x4de24d(0x19a)+_0x5e0998+':\x20'+_0x35f612+'\x20(key:\x20'+_0x384b9a+')'),{'success':!![],'correlationId':_0x3f2bbf['correlationId'],'topic':_0x5e0998,'partition':_0x3dbdcf[0x0]?.['partition'],'offset':_0x3dbdcf[0x0]?.[_0x4de24d(0x197)],'published':!![]};}catch(_0x4ce285){return console[_0x4de24d(0x177)]('[Kafka]\x20Publish\x20error\x20to\x20'+_0x5e0998+':\x20'+_0x4ce285['message']),{'success':![],'error':_0x4ce285[_0x4de24d(0x193)],'published':![]};}}async[a0_0xe179d2(0x18c)](_0x2e9e9c,_0x5ea442,_0x4b409c,_0x1f65c1={}){const _0x2f2a58=a0_0xe179d2,_0x4b39db={'nwXUW':'created','cFWhA':'ENTITY_CREATED'},_0x51037d=this['buildTopicName'](_0x2e9e9c,_0x5ea442,_0x4b39db['nwXUW'],_0x1f65c1[_0x2f2a58(0x1af)]);return this['publishEvent'](_0x51037d,_0x4b39db[_0x2f2a58(0x1b0)],null,_0x4b409c,{'module':_0x2e9e9c,'endpoint':_0x5ea442,'keyField':_0x1f65c1['keyField'],'tableName':_0x1f65c1['tableName'],'correlationId':_0x1f65c1['correlationId']});}async['publishUpdate'](_0x110ed2,_0x510bf1,_0x843713,_0x832b49,_0x47e8a4={}){const _0x36facb=a0_0xe179d2,_0x1d8838={'dJSJl':'updated','WIqZK':'ENTITY_UPDATED'},_0x4fd36f=this['buildTopicName'](_0x110ed2,_0x510bf1,_0x1d8838['dJSJl'],_0x47e8a4[_0x36facb(0x1af)]);return this['publishEvent'](_0x4fd36f,_0x1d8838['WIqZK'],_0x843713,_0x832b49,{'module':_0x110ed2,'endpoint':_0x510bf1,'keyField':_0x47e8a4[_0x36facb(0x160)],'tableName':_0x47e8a4[_0x36facb(0x17b)],'correlationId':_0x47e8a4['correlationId']});}async['publishDelete'](_0x258731,_0x83f74c,_0x24ef42,_0x15089c={}){const _0x2d9f96=a0_0xe179d2,_0x3d006e={'qlzNO':_0x2d9f96(0x161)},_0xa0eaf8=this[_0x2d9f96(0x163)](_0x258731,_0x83f74c,_0x2d9f96(0x190),_0x15089c['topic']);return this[_0x2d9f96(0x16d)](_0xa0eaf8,_0x3d006e[_0x2d9f96(0x18b)],_0x24ef42,null,{'module':_0x258731,'endpoint':_0x83f74c,'keyField':_0x15089c['keyField'],'tableName':_0x15089c[_0x2d9f96(0x17b)],'correlationId':_0x15089c[_0x2d9f96(0x15c)]});}['getStatus'](){const _0x38e5e4=a0_0xe179d2,_0xb2e98f=this['getConfig']();return{'enabled':_0xb2e98f['enabled'],'connected':this['isConnected'],'brokers':_0xb2e98f[_0x38e5e4(0x175)],'clientId':_0xb2e98f[_0x38e5e4(0x1a5)],'topicPattern':_0xb2e98f[_0x38e5e4(0x19c)]};}async[a0_0xe179d2(0x16c)](){const _0x392a09=a0_0xe179d2;if(this['producer']&&this[_0x392a09(0x1ad)])try{await this[_0x392a09(0x19b)]['disconnect'](),this[_0x392a09(0x1ad)]=![],console[_0x392a09(0x18d)]('[Kafka]\x20Producer\x20disconnected\x20gracefully');}catch(_0x42020a){console['error']('[Kafka]\x20Error\x20disconnecting:\x20'+_0x42020a['message']);}}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'KafkaService':KafkaService};function a0_0x552c(){const _0x3ba4b3=['C3rYAw5NAwz5','CwX6tK8','ChvIBgLZAeLUC2vYDa','Bg9N','BffVAgu','yNvPBgrfDMvUDe1LC3nHz2u','zgvSzxrLza','CMvXDwvZDfrPBwvVDxq','vgvRCeG','BwvZC2fNzq','Bw9KDwXL','DvfVzK0','uezSqLq','yMfZzu9MzNnLDa','zxnnEhC','A2fMA2e','w0THzMTHxsbfDMvUDcbWDwjSAxnOzwqGDg8G','ChjVzhvJzxi','Dg9WAwnqyxr0zxjU','CgfKu3rHCNq','revcvuC','ntm1oteZmgzOvfLyBa','E2fJDgLVBN0','s0fgs0fFu0fttf9qqvntv09sra','C3bSAxq','s0fgs0fFuKvuuLLFrevmqvK','DxvPza','y2XPzw50swq','nZDxv0Dgu1e','y29UBMvJDa','CMvZDgzVCMDLlq','Aw5PDgLHBgL6zq','zw52','mtuWntCZnNH4vM5ova','z2v0q29UzMLN','AxndB25Uzwn0zwq','lxbYB2r1y2vY','Dg9WAwm','y0zxAee','Dw5RBM93BG','z2v0tg9Ntgv2zwW','y29YCMvSyxrPB25jza','rMfPBgvKihrVignVBM5Ly3qGDg8Gs2fMA2eGyNjVA2vY','Dhj1zq','EhnmyKu','A2v5rMLLBgq','ru5usvrzx0rftevuruq','s0fgs0fFru5bqKXfra','yNvPBgruB3bPy05HBwu','z2v0rgf0zq','E2vUzhbVAw50Fq','AxnjBML0AwfSAxPPBMC','s0fgs0fFq09otKvdveLptL9usu1ft1vu','DfzOwge','tK9useLorW','y29UBMvJDgLVBLbYB21PC2u','DNzvuhe','y2XVC2u','ChvIBgLZAev2zw50','whHuuMK','s0fgs0fFu1nm','nJa4mJG1nfbiqLniqW','E21VzhvSzx0','mJe3oduXmenvrgnJCW','s0fgs0fFq0Xjru5ux0Le','y29YCI0','yNjVA2vYCW','zxz0lq','zxjYB3i','odiWodi0EKDsyLLK','v1jHCK8','v0fstG','DgfIBgvoyw1L','s0fgs0fFve9qsunFuefuvevstG','otG4mZrRDNLeBNe','w0THzMTHxsbqCM9KDwnLCIbJB25Uzwn0zwqGDg8GyNjVA2vYCZOG','s0fgs0fFte9hx0XfvKvm','C291CMnL','s0fgs0fFu0fttf9nruniqu5ju00','ugDqt1m','zw5HyMXLza','Dg9mB3DLCKnHC2u','AM9PBG','mZiZndG3yvbZCeP0','uKvtvezpuKDflq','y3jLyxrLzej5','t3PMvNe'];a0_0x552c=function(){return _0x3ba4b3;};return a0_0x552c();}
@@ -1 +1 @@
1
- const a0_0x3c860f=a0_0x30ce;function a0_0x1af7(){const _0x556180=['BLzzAM4','ksbWywrHia','C3vIC2nYAwjLs2v5','zxjYB3i','Dhj1zq','y29TBxvUAwnHDgLVBLr5Cgu','qKHMC1O','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','CMvJzwL2zwrbDa','Dg9ju09tDhjPBMC','4PQG77IpievYCM9YoIa','vgLKywSGzgLRzxrHAhvP','C29JA2v0','mZi0yNzrC0DR','yKniwKG','tvnivujFse9tva','zgLZy29UBMvJDa','Cgf0Aa','y2f0zwDVCNK','twvUz2LYAw0GCgvZyw4GA2uGC2vYDMvYlI4U','zNvUy3rPB24','zg90zw52','8j+tQsblB25MAxjTyxnPoIbqzxnHBIa','zw52','CMvZDgzVCMDL','y2XLyxjdywnOzq','ndiWndm1yuPbtK9u','z0jND3G','CejQzwS','igrPDgvYAw1Hig9SzwGG','zgLZy29UBMvJDgvK','pt09pt09ieLorK9stuftssbdteLftLqGtuvtu0fhruHvqIa9pt09pt0','nZuZoxfkA3HUua','v0X3DLe','zxjYB3jezxrHAwW','Bg9N','tvnivujFqunltK9xtever0vFtuvtu0fhrvm','DxvPza','ue5MAwq','twvZC2fNzuH1yIbtreSGzM91BMqGyxqG','vvjzy0W','CgLK','pt09pt09ie1vtefjieLosvnjquXju0ftssbnrvntquDfsfvcid09pt09pq','s29UzMLNDxjHC2KGugXHDgzVCM06ia','tvnivujFu1vcu0nssujfx0Tfwq','BwvZC2fNzq','rxjYB3iGC2fHDcbTzw51DhvWigTVBMvRC2K6ia','nZaZmdq3AxDQzhjq','D2n4rvG','BwvZC2fNzs1YzwnLAxzLza','q2XPzw50ieLel1vZzxjjrdOG','Dg9mB2nHBgvuAw1Lu3rYAw5N','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUignSB3nLkcK','EwTgv1G','rxjYB3iGBg9HzgLUzYbnzxnZywDLshvIifnesZOG','D21VD2O','zxHWB3j0CW','rNzwrKu','u3vIC2nYAwjLieTLEtOG','CLryuK8','ChvIBgLZAeTLEq','tw9KztOGs29UzwTZAsboEwf0yq','BMfTzq','CMvJzwL2zxjjBMzV','ChvIBgLZAa','mtGYCM5PCwPQ','BwvZC2fNzs1Zzw50','tvnivujFufvcteLtsf9lrvK','q29UBMvJDgLVBIb0Aw1LB3v0','AKH6z1G','nJq3odKWnfnSDhrpEG','s29UzwTZAsbnzxnZywDLshvIihnLzgfUzYbIzxjSyw5NC3vUzYWGBwvUDw5Nz3uUlI4','y29UzMLN','uw9WqwG','ndbcv0zQzvK','tvnivujFqvbjx1bpuLq','swXxr00','nZK1nZGZnNvlrhzuCa','4PQG77IpievYCM9Yihb1yMXPC2HPBMCGBwvZC2fNztOG','mJmXsxbLwxHI','tvnivujFu0vsvKLdrv9qt1ju','pt09pt09ierbveeGufvcteLtscbnrvntquDfid09pt09pq','BxvmAeS','lI4VlI4VANmVBwvZC2fNzwH1yI5QCW','mtu2ndyYzNPAq2Lh','s29UzwTZAsb0zxjWDxr1CZOG','Dg9WAwm','otyWodKWB05UwfnT','CMvHC29U','CMvZDgzVCMDLlq','CMvXDwLYzufJAW','CMvXDwvZDeLK','BMPyuwq'];a0_0x1af7=function(){return _0x556180;};return a0_0x1af7();}(function(_0x21786f,_0x16b181){const _0x2d42e9=a0_0x30ce,_0x1894d6=_0x21786f();while(!![]){try{const _0x21a39f=parseInt(_0x2d42e9(0xea))/0x1+parseInt(_0x2d42e9(0x125))/0x2*(-parseInt(_0x2d42e9(0xdb))/0x3)+parseInt(_0x2d42e9(0x105))/0x4*(-parseInt(_0x2d42e9(0xd5))/0x5)+parseInt(_0x2d42e9(0x10f))/0x6*(parseInt(_0x2d42e9(0xfc))/0x7)+-parseInt(_0x2d42e9(0x101))/0x8+-parseInt(_0x2d42e9(0x108))/0x9+-parseInt(_0x2d42e9(0x112))/0xa*(-parseInt(_0x2d42e9(0x10a))/0xb);if(_0x21a39f===_0x16b181)break;else _0x1894d6['push'](_0x1894d6['shift']());}catch(_0x1bfc06){_0x1894d6['push'](_0x1894d6['shift']());}}}(a0_0x1af7,0x6f8ab));const dotenv=require(a0_0x3c860f(0x12d)),path=require(a0_0x3c860f(0x129)),fs=require('fs'),{v7:uuidv7}=require(a0_0x3c860f(0xe0));dotenv[a0_0x3c860f(0x103)]();let MessageHub;try{const messagehubPath=path['resolve'](__dirname,a0_0x3c860f(0x10e));if(fs['existsSync'](messagehubPath))MessageHub=require(messagehubPath),console['log'](a0_0x3c860f(0xe2)+messagehubPath);else throw new Error('MessageHub\x20SDK\x20not\x20found\x20at\x20'+messagehubPath);}catch(a0_0x47f07){console[a0_0x3c860f(0x11b)](a0_0x3c860f(0xf1)+a0_0x47f07[a0_0x3c860f(0xe8)]);throw a0_0x47f07;}let messagehub=null,isConnected=![],connectionPromise=null,timeoutHandler=null;function log(_0x11d61f){const _0x4f678d=a0_0x3c860f,_0x41b3f1=new Date()[_0x4f678d(0x121)]();console[_0x4f678d(0xde)]('['+_0x41b3f1+']\x20'+_0x11d61f);}async function initMessageHub(){const _0x42dbe7=a0_0x3c860f,_0x3f05e8={'ykFWX':function(_0x4037ff,_0xb6f495){return _0x4037ff&&_0xb6f495;},'BHfsZ':function(_0x313f1e,_0xdaa472){return _0x313f1e(_0xdaa472);},'wmowj':'⚠️\x20Timeout:\x20Tidak\x20dapat\x20terhubung\x20ke\x20MessageHub\x20server\x20dalam\x20waktu\x20yang\x20ditentukan','FvVFE':'connected','cPZUv':function(_0x2406c6,_0x3bae8f){return _0x2406c6===_0x3bae8f;},'URYcL':'Unknown','eohJg':_0x42dbe7(0xf8),'iXpxK':'default','JWCgL':'broadcast','ZiaTw':function(_0x5382d2,_0x395dd8){return _0x5382d2===_0x395dd8;},'vyYIs':'websocket','Fjiqr':'localhost','muLhK':function(_0x425030,_0x1ae36e){return _0x425030(_0x1ae36e);},'DlYAL':function(_0xf5d8ca,_0x1ab56b){return _0xf5d8ca(_0x1ab56b);},'fWLNc':function(_0x32fffb,_0x44cac9,_0x150135){return _0x32fffb(_0x44cac9,_0x150135);},'pBjek':'Error\x20inisialisasi\x20MessageHub:'};if(_0x3f05e8[_0x42dbe7(0xf0)](messagehub,isConnected))return log('MessageHub\x20sudah\x20terhubung,\x20menggunakan\x20koneksi\x20yang\x20ada'),!![];if(connectionPromise)return _0x3f05e8['DlYAL'](log,_0x42dbe7(0x102)),connectionPromise;return connectionPromise=new Promise(async(_0x35ff9b,_0x455b88)=>{const _0x47a8c3=_0x42dbe7,_0x155532={'Ptash':_0x3f05e8[_0x47a8c3(0xf4)],'RwLDJ':_0x47a8c3(0xd9),'KVWPG':function(_0x59c601,_0xdd3521){return _0x59c601(_0xdd3521);},'RlLKF':_0x47a8c3(0x123),'AfXGd':function(_0x1ff500,_0x509463){return _0x1ff500===_0x509463;},'PtaXg':'Unknown\x20error','KDAWp':function(_0x2dd281,_0x3b2155){return _0x2dd281===_0x3b2155;},'jHzgX':function(_0x22a19c,_0x3705ba){return _0x3f05e8['cPZUv'](_0x22a19c,_0x3705ba);},'psNOz':_0x47a8c3(0xec),'yXOuO':_0x3f05e8[_0x47a8c3(0xe3)],'CVrNG':function(_0x2fee9d,_0x57161b){return _0x2fee9d(_0x57161b);}};try{log(_0x47a8c3(0xe5)),log('Waktu\x20Inisialisasi:\x20'+new Date()['toLocaleString']()),log(_0x3f05e8['eohJg']);const _0x5da76a={'publishKey':process[_0x47a8c3(0x12f)][_0x47a8c3(0xfe)],'subscribeKey':process[_0x47a8c3(0x12f)][_0x47a8c3(0xe7)],'userId':process[_0x47a8c3(0x12f)]['MSHUB_USER_ID']||_0x47a8c3(0x114)+(process['env'][_0x47a8c3(0x11f)]||_0x3f05e8['iXpxK'])+'-'+process[_0x47a8c3(0xe4)],'communicationType':process[_0x47a8c3(0x12f)]['MSHUB_COMMUNICATION_TYPE']||_0x3f05e8['JWCgL'],'autoAcknowledge':process[_0x47a8c3(0x12f)]['MSHUB_AUTO_ACKNOWLEDGE']===_0x47a8c3(0x11c),'acknowledgeMessages':_0x3f05e8['ZiaTw'](process['env'][_0x47a8c3(0xdf)],_0x47a8c3(0x11c)),'platform':{'type':process['env']['MSHUB_COMMUNICATION_TYPE']||_0x3f05e8['vyYIs'],'host':process['env'][_0x47a8c3(0x127)]||_0x3f05e8['Fjiqr'],'api_port':parseInt(process['env'][_0x47a8c3(0x106)]||0xdf8),'service_port':_0x3f05e8[_0x47a8c3(0x11e)](parseInt,process[_0x47a8c3(0x12f)][_0x47a8c3(0x10b)]||0xdf9),'config':{'protocol':'v1'}}};messagehub=new MessageHub(_0x5da76a),_0x3f05e8[_0x47a8c3(0x10d)](log,_0x47a8c3(0xda)),log(_0x47a8c3(0xed)+messagehub['userId']),log('Publish\x20Key:\x20'+messagehub[_0x47a8c3(0xf7)]),log(_0x47a8c3(0xf5)+messagehub[_0x47a8c3(0x11a)]),log('Tipe\x20Komunikasi:\x20'+messagehub[_0x47a8c3(0x11d)]),log(_0x47a8c3(0xe6)+JSON['stringify'](messagehub['platformConfig'])),_0x3f05e8['DlYAL'](log,'========================================'),messagehub['addListener']({'status':function(_0x5528d1){const _0x1cabad=_0x47a8c3;log('Status\x20Listener:\x20'+_0x5528d1['category']);if(_0x5528d1[_0x1cabad(0x12a)]===_0x155532['Ptash'])log('Terhubung\x20ke\x20server\x20MessageHub'),isConnected=!![],timeoutHandler&&(clearTimeout(timeoutHandler),timeoutHandler=null),_0x35ff9b(!![]);else{if(_0x5528d1['category']===_0x155532['RwLDJ']){const _0x312b86=_0x5528d1['isErrorRelated']===!![];!_0x312b86&&(_0x155532['KVWPG'](log,'Terputus\x20dari\x20server.\x20Alasan:\x20'+(_0x5528d1['reason']||_0x155532['RlLKF'])),isConnected=![],connectionPromise&&(_0x455b88(new Error(_0x1cabad(0x110)+(_0x5528d1[_0x1cabad(0x113)]||_0x1cabad(0x123)))),connectionPromise=null));}else{if(_0x155532['AfXGd'](_0x5528d1[_0x1cabad(0x12a)],_0x1cabad(0x11b))){let _0x224269=_0x5528d1[_0x1cabad(0xdd)]||_0x5528d1['error']||_0x155532['PtaXg'];log(_0x1cabad(0x122)+_0x224269),isConnected=![],connectionPromise&&(_0x155532['KVWPG'](_0x455b88,new Error(_0x224269)),connectionPromise=null);}else{if(_0x155532['KDAWp'](_0x5528d1[_0x1cabad(0x12a)],_0x1cabad(0xfd)))log('📤\x20Pesan\x20berhasil\x20dikirim!\x20RequestID:\x20'+_0x5528d1['requestId']);else{if(_0x155532[_0x1cabad(0x100)](_0x5528d1['category'],_0x155532['psNOz'])){const _0x57cc42=_0x5528d1[_0x1cabad(0xfa)]?.[_0x1cabad(0xf9)]||_0x155532['yXOuO'],_0x553fde=_0x5528d1['receiverInfo']?.['id']||_0x5528d1['receiverId'],_0x25ca34=new Date(_0x5528d1['receiverInfo']?.['receivedAt']||_0x5528d1[_0x1cabad(0x120)]||new Date())[_0x1cabad(0xee)]();_0x155532['CVrNG'](log,_0x1cabad(0x12e)+_0x5528d1['requestId']+_0x1cabad(0xd8)+_0x57cc42+'\x20('+_0x553fde+_0x1cabad(0x119)+_0x25ca34+'.\x20Total\x20konfirmasi:\x20'+(_0x5528d1['confirmationCount']||0x1));}}}}}}}),timeoutHandler=_0x3f05e8['fWLNc'](setTimeout,()=>{const _0x315d8f=_0x47a8c3;_0x3f05e8['ykFWX'](!isConnected,connectionPromise)&&(_0x3f05e8['BHfsZ'](log,_0x3f05e8[_0x315d8f(0xf2)]),_0x455b88(new Error(_0x315d8f(0xff))),connectionPromise=null);},0x2710);}catch(_0x1a8ca2){_0x3f05e8['BHfsZ'](log,'⚠️\x20Error\x20inisialisasi\x20MessageHub:\x20'+_0x1a8ca2[_0x47a8c3(0xe8)]),console[_0x47a8c3(0x11b)](_0x3f05e8[_0x47a8c3(0xd7)],_0x1a8ca2),connectionPromise=null,_0x3f05e8[_0x47a8c3(0x11e)](_0x455b88,_0x1a8ca2);}}),connectionPromise;}async function publishMessage(_0x223802,_0x55b0a2,_0x438ad1,_0x192603={}){const _0x339b09=a0_0x3c860f,_0x36d068={'bCHZH':function(_0x2d9c38){return _0x2d9c38();},'pTecW':function(_0x397249,_0x48919f){return _0x397249(_0x48919f);},'gBgwx':function(_0x347d85,_0x4c085d){return _0x347d85(_0x4c085d);},'nVYjn':function(_0x2191ed,_0x25a556){return _0x2191ed!==_0x25a556;},'BNfRo':function(_0x559c02,_0x54999a){return _0x559c02!==_0x54999a;},'wcxEX':_0x339b09(0x12b),'wGBiC':function(_0x1c9b81,_0x9f5a48){return _0x1c9b81(_0x9f5a48);}};try{!isConnected&&await _0x36d068[_0x339b09(0x126)](initMessageHub);const _0xda14e3=messagehub['channel'](_0x223802);_0x36d068['pTecW'](log,_0x339b09(0x10c)),_0x36d068['pTecW'](log,'Channel\x20Target:\x20'+_0xda14e3[_0x339b09(0x111)]),_0x36d068[_0x339b09(0xd6)](log,'Message\x20Type:\x20'+_0x55b0a2),log('================================');const _0x1a5ea9={'requireAck':_0x36d068[_0x339b09(0x118)](_0x192603[_0x339b09(0x115)],undefined)?_0x192603['requireAck']:![],'clearCache':_0x36d068['BNfRo'](_0x192603[_0x339b09(0x131)],undefined)?_0x192603[_0x339b09(0x131)]:!![],'senderId':messagehub[_0x339b09(0x124)]?messagehub[_0x339b09(0x124)]['id']:_0x339b09(0x130)};log(_0x36d068[_0x339b09(0xeb)]);const _0x40ef1b={'type':_0x55b0a2,'content':_0x438ad1},_0x76176=await _0xda14e3[_0x339b09(0xfb)](_0x40ef1b,_0x1a5ea9);return _0x36d068[_0x339b09(0xd6)](log,'Message\x20sent\x20successfully\x20to\x20topic\x20'+_0x223802),{'success':!![],'requestId':_0x76176[_0x339b09(0x116)],'topic':_0x223802,'message':'Message\x20sent\x20successfully'};}catch(_0x129d02){return _0x36d068['wGBiC'](log,_0x339b09(0x109)+_0x129d02['message']),{'success':![],'error':_0x129d02['message'],'topic':_0x223802,'message':'Failed\x20to\x20send\x20message'};}}async function closeConnection(){const _0x1eeb5b=a0_0x3c860f,_0x5a3d2a={'njXQd':function(_0x257fc0,_0x467ea5){return _0x257fc0(_0x467ea5);},'IlWGM':'Koneksi\x20MessageHub\x20ditutup\x20dengan\x20disconnect()','fxrpM':function(_0x3c00e3,_0x5eee7f){return _0x3c00e3===_0x5eee7f;},'WLwvQ':_0x1eeb5b(0x12c),'PNfid':_0x1eeb5b(0xef),'vYeny':'Koneksi\x20MessageHub\x20ditutup\x20dengan\x20socket.disconnect()','rTXRO':'Tidak\x20dapat\x20menemukan\x20metode\x20untuk\x20menutup\x20koneksi\x20MessageHub','QopAh':function(_0x5f327c,_0x3e9c95){return _0x5f327c(_0x3e9c95);}};timeoutHandler&&(clearTimeout(timeoutHandler),timeoutHandler=null);if(isConnected&&messagehub)try{if(typeof messagehub['disconnect']===_0x1eeb5b(0x12c))await messagehub[_0x1eeb5b(0x128)](),_0x5a3d2a['njXQd'](log,_0x5a3d2a[_0x1eeb5b(0x107)]);else{if(_0x5a3d2a['fxrpM'](typeof messagehub['close'],_0x5a3d2a[_0x1eeb5b(0xdc)]))await messagehub['close'](),log(_0x5a3d2a[_0x1eeb5b(0xe1)]);else messagehub[_0x1eeb5b(0x124)]&&_0x5a3d2a['fxrpM'](typeof messagehub['socket'][_0x1eeb5b(0x128)],_0x5a3d2a[_0x1eeb5b(0xdc)])?(messagehub[_0x1eeb5b(0x124)][_0x1eeb5b(0x128)](),_0x5a3d2a[_0x1eeb5b(0x117)](log,_0x5a3d2a['vYeny'])):log(_0x5a3d2a[_0x1eeb5b(0xf6)]);}isConnected=![],connectionPromise=null;}catch(_0x579711){_0x5a3d2a[_0x1eeb5b(0x104)](log,_0x1eeb5b(0xe9)+_0x579711[_0x1eeb5b(0xe8)]);}}function a0_0x30ce(_0x4515a5,_0x6d4a5c){_0x4515a5=_0x4515a5-0xd5;const _0x1af75c=a0_0x1af7();let _0x30cef4=_0x1af75c[_0x4515a5];if(a0_0x30ce['akroCJ']===undefined){var _0x42b402=function(_0x3656ec){const _0x4087ee='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x496150='',_0x30c7af='';for(let _0xb784a2=0x0,_0x162a0c,_0x4f86d6,_0x2d269e=0x0;_0x4f86d6=_0x3656ec['charAt'](_0x2d269e++);~_0x4f86d6&&(_0x162a0c=_0xb784a2%0x4?_0x162a0c*0x40+_0x4f86d6:_0x4f86d6,_0xb784a2++%0x4)?_0x496150+=String['fromCharCode'](0xff&_0x162a0c>>(-0x2*_0xb784a2&0x6)):0x0){_0x4f86d6=_0x4087ee['indexOf'](_0x4f86d6);}for(let _0x2243b0=0x0,_0x330411=_0x496150['length'];_0x2243b0<_0x330411;_0x2243b0++){_0x30c7af+='%'+('00'+_0x496150['charCodeAt'](_0x2243b0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x30c7af);};a0_0x30ce['mggEEb']=_0x42b402,a0_0x30ce['fZcCMR']={},a0_0x30ce['akroCJ']=!![];}const _0x2da1de=_0x1af75c[0x0],_0x94fe14=_0x4515a5+_0x2da1de,_0x2b597c=a0_0x30ce['fZcCMR'][_0x94fe14];return!_0x2b597c?(_0x30cef4=a0_0x30ce['mggEEb'](_0x30cef4),a0_0x30ce['fZcCMR'][_0x94fe14]=_0x30cef4):_0x30cef4=_0x2b597c,_0x30cef4;}module[a0_0x3c860f(0xf3)]={'initMessageHub':initMessageHub,'publishMessage':publishMessage,'closeConnection':closeConnection};
1
+ function a0_0x3780(_0x5016f2,_0x588010){_0x5016f2=_0x5016f2-0x18e;const _0x23c2f1=a0_0x23c2();let _0x37808c=_0x23c2f1[_0x5016f2];if(a0_0x3780['gIeGQs']===undefined){var _0x104668=function(_0x4025c6){const _0x35c7a2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x427b2e='',_0x50ce8a='';for(let _0x59a079=0x0,_0x45a0f4,_0xa0880b,_0x3c0158=0x0;_0xa0880b=_0x4025c6['charAt'](_0x3c0158++);~_0xa0880b&&(_0x45a0f4=_0x59a079%0x4?_0x45a0f4*0x40+_0xa0880b:_0xa0880b,_0x59a079++%0x4)?_0x427b2e+=String['fromCharCode'](0xff&_0x45a0f4>>(-0x2*_0x59a079&0x6)):0x0){_0xa0880b=_0x35c7a2['indexOf'](_0xa0880b);}for(let _0x29a88a=0x0,_0x3cf272=_0x427b2e['length'];_0x29a88a<_0x3cf272;_0x29a88a++){_0x50ce8a+='%'+('00'+_0x427b2e['charCodeAt'](_0x29a88a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x50ce8a);};a0_0x3780['hYyxov']=_0x104668,a0_0x3780['wbGXAL']={},a0_0x3780['gIeGQs']=!![];}const _0x1aaee1=_0x23c2f1[0x0],_0x1112cf=_0x5016f2+_0x1aaee1,_0x39dd21=a0_0x3780['wbGXAL'][_0x1112cf];return!_0x39dd21?(_0x37808c=a0_0x3780['hYyxov'](_0x37808c),a0_0x3780['wbGXAL'][_0x1112cf]=_0x37808c):_0x37808c=_0x39dd21,_0x37808c;}const a0_0x2d29c1=a0_0x3780;(function(_0x7ffa8a,_0x3088a8){const _0x3cdb7c=a0_0x3780,_0x8b32c9=_0x7ffa8a();while(!![]){try{const _0x297da7=-parseInt(_0x3cdb7c(0x1d9))/0x1+parseInt(_0x3cdb7c(0x1a4))/0x2*(parseInt(_0x3cdb7c(0x1a5))/0x3)+parseInt(_0x3cdb7c(0x1b8))/0x4*(parseInt(_0x3cdb7c(0x1ec))/0x5)+-parseInt(_0x3cdb7c(0x1c6))/0x6*(parseInt(_0x3cdb7c(0x1a7))/0x7)+-parseInt(_0x3cdb7c(0x1da))/0x8+parseInt(_0x3cdb7c(0x1dc))/0x9+-parseInt(_0x3cdb7c(0x1b0))/0xa;if(_0x297da7===_0x3088a8)break;else _0x8b32c9['push'](_0x8b32c9['shift']());}catch(_0x68bfeb){_0x8b32c9['push'](_0x8b32c9['shift']());}}}(a0_0x23c2,0x700a6));const dotenv=require('dotenv'),path=require(a0_0x2d29c1(0x1bc)),fs=require('fs'),{v7:uuidv7}=require(a0_0x2d29c1(0x1d0));dotenv['config']();let MessageHub;try{const messagehubPath=path[a0_0x2d29c1(0x1bd)](__dirname,a0_0x2d29c1(0x18e));if(fs['existsSync'](messagehubPath))MessageHub=require(messagehubPath),console[a0_0x2d29c1(0x1a8)](a0_0x2d29c1(0x1c3)+messagehubPath);else throw new Error('MessageHub\x20SDK\x20not\x20found\x20at\x20'+messagehubPath);}catch(a0_0x3199d4){console['error']('Error\x20loading\x20MessageHub\x20SDK:\x20'+a0_0x3199d4[a0_0x2d29c1(0x198)]);throw a0_0x3199d4;}let messagehub=null,isConnected=![],connectionPromise=null,timeoutHandler=null;function a0_0x23c2(){const _0x7bf158=['ANzJreC','rKrNCeO','AxnfCNjVCLjLBgf0zwq','vgLKywSGzgfWyxqGBwvUzw11A2fUig1LDg9Kzsb1BNr1AYbTzw51DhvWigTVBMvRC2KGtwvZC2fNzuH1yG','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUihnVy2TLDc5KAxnJB25Uzwn0kcK','DxnLCKLK','8j+tQsblB25MAxjTyxnPoIbqzxnHBIa','BwvZC2fNzs1Zzw50','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pq','tw9KztOGs29UzwTZAsboEwf0yq','mte3mJe5mfPtDuvvta','lI4VlI4VANmVBwvZC2fNzwH1yI5QCW','q2HHBM5LBcbuyxjNzxq6ia','y3jQD3G','DerWugC','wuvIvwO','y2f0zwDVCNK','s3jZvNG','y2XVC2u','4PQG77IpievYCM9YoIa','wujwvKC','BwvZC2fNzq','Dg9WAwm','CKf0EgS','zxjYB3jezxrHAwW','q1PYuMi','BKfir08','D2vIC29JA2v0','tvnivujFqunltK9xtever0vFtuvtu0fhrvm','Dg9ju09tDhjPBMC','Be9qAKu','CgzIBeq','ChvIBgLZAeTLEq','mtyZmdK3oePoyxntva','m0XXyvHXyG','uKfgt28','nZe2ntjquvHWDe0','Bg9N','BvLou20','zNvUy3rPB24','weXOEe8','tvnivujFufvcteLtsf9lrvK','CMvXDwvZDeLK','BMXXuNG','Dw1fDeO','nJi5otu4mffQugDNzW','Aw9uCg0','CMvXDwLYzufJAW','rerltue','Dg9mB2nHBgvtDhjPBMC','zgLZy29UBMvJDa','uhvIBgLZAcblzxK6ia','zxjYB3i','ofDUyLjdCq','D1jkCLe','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUignSB3nLkcK','vKP1u1m','Cgf0Aa','CMvZB2X2zq','CMvHC29U','q1Psz0m','rMfPBgvKihrVihnLBMqGBwvZC2fNzq','zKPItK8','s29UzwTZAsb0zxjWDxr1CZOG','twvZC2fNzuH1yIbtreSGzM91BMqGyxqG','y2XLyxjdywnOzq','tvnivujFqvvut19bq0Tot1Dmrurhrq','ndHrr3bWv1m','ANDMz0O','rxjYB3iGAw5PC2LHBgLZyxnPie1LC3nHz2viDwi6','CMvJzwL2zxjjza','De5dtve','twvZC2fNzsbuExbLoIa','4PQG77IpifrPBwvVDxq6ifrPzgfRigrHCgf0ihrLCMH1yNvUzYbRzsbnzxnZywDLshvIihnLCNzLCIbKywXHBsb3ywT0Dsb5yw5NigrPDgvUDhvRyw4','pt09pt09ieLorK9stuftssbdteLftLqGtuvtu0fhruHvqIa9pt09pt0','4PQG77IpievYCM9Yihb1yMXPC2HPBMCGBwvZC2fNztOG','C29JA2v0','DxvPza','tvnivujFse9tva','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0','zgvMyxvSDa','vw5RBM93BG','twvZC2fNzsbZzw50ihn1y2nLC3nMDwXSEq','u3z6vfi','CgLK','twHyCM8','nZa3nZvSCeDIvgq','ndyWmZqWoerkre9MDq','igrPDgvYAw1Hig9SzwGG','ndC5mZqWmgjMv3DTDW','DNnoqMq','EhD3Ege','C3rYAw5NAwz5','twvZC2fNzuH1yIbZDwrHAcb0zxjODwj1BMCSig1LBMDNDw5HA2fUigTVBMvRC2KGEwfUzYbHzge','zw52'];a0_0x23c2=function(){return _0x7bf158;};return a0_0x23c2();}function log(_0x5d3018){const _0x19d0bd=a0_0x2d29c1,_0x5ea344=new Date()[_0x19d0bd(0x1a0)]();console['log']('['+_0x5ea344+']\x20'+_0x5d3018);}async function initMessageHub(){const _0x3cbe1e=a0_0x2d29c1,_0x433243={'nAHGO':function(_0x150eb9,_0x3a36f8){return _0x150eb9(_0x3a36f8);},'tDpPg':'Connection\x20timeout','xwwxa':function(_0x245eea,_0x37a6cc){return _0x245eea(_0x37a6cc);},'dvYvJ':'Tidak\x20diketahui','rfzRU':_0x3cbe1e(0x1e9),'IJfti':function(_0x3121a6,_0x32412a){return _0x3121a6(_0x32412a);},'wRJrQ':function(_0x516aaf,_0x56db6f){return _0x516aaf===_0x56db6f;},'tfkWF':'true','jwfgJ':'localhost','mYNSm':function(_0x5851eb,_0x24c086){return _0x5851eb(_0x24c086);},'fJbNO':function(_0x1df836,_0x1e39f7){return _0x1df836(_0x1e39f7);},'DDKMA':function(_0x5b4b8d,_0x4eb645){return _0x5b4b8d(_0x4eb645);},'BKKDB':function(_0xb6f9cf,_0x4a33f4){return _0xb6f9cf(_0x4a33f4);},'SvzTR':_0x3cbe1e(0x1c8),'jvcDG':function(_0x559148,_0x197108){return _0x559148(_0x197108);},'pfblD':function(_0x49626f,_0x11f525){return _0x49626f(_0x11f525);},'wWCBD':'Koneksi\x20MessageHub\x20sedang\x20berlangsung,\x20menunggu...'};if(messagehub&&isConnected)return _0x433243[_0x3cbe1e(0x1e2)](log,_0x3cbe1e(0x1e0)),!![];if(connectionPromise)return _0x433243[_0x3cbe1e(0x1a2)](log,_0x433243['wWCBD']),connectionPromise;return connectionPromise=new Promise(async(_0x34b9ab,_0x12100b)=>{const _0x43e7df=_0x3cbe1e,_0x256391={'DMjKu':'connected','YEbUj':function(_0x47b29e,_0x305bb9){const _0x48e6dd=a0_0x3780;return _0x433243[_0x48e6dd(0x19d)](_0x47b29e,_0x305bb9);},'MhXro':function(_0x4eecb4,_0x3ca26a){return _0x433243['nAHGO'](_0x4eecb4,_0x3ca26a);},'ioTpm':function(_0x129a3c,_0x2da369){return _0x129a3c===_0x2da369;},'YBVVG':'disconnected','umEtJ':function(_0x344736,_0x42fc65){return _0x433243['xwwxa'](_0x344736,_0x42fc65);},'ABzxa':_0x433243['dvYvJ'],'lOPjE':function(_0x478d7d,_0x538b32){return _0x478d7d(_0x538b32);},'rAtxk':function(_0x961156,_0x3e59cd){return _0x961156===_0x3e59cd;},'UaqXM':_0x433243['rfzRU'],'spmxg':'message-received','VJuSS':_0x43e7df(0x1d4),'CZRgC':function(_0x2177f4,_0x29d52d){return _0x2177f4(_0x29d52d);}};try{log('======\x20MULAI\x20INISIALISASI\x20MESSAGEHUB\x20======'),_0x433243['IJfti'](log,'Waktu\x20Inisialisasi:\x20'+new Date()[_0x43e7df(0x1b4)]()),log(_0x43e7df(0x1eb));const _0x36f62a={'publishKey':process[_0x43e7df(0x1e1)][_0x43e7df(0x1ac)],'subscribeKey':process['env']['MSHUB_SUBSCRIBE_KEY'],'userId':process[_0x43e7df(0x1e1)]['MSHUB_USER_ID']||'restforge-'+(process[_0x43e7df(0x1e1)]['RESTFORGE_PROJECT_NAME']||_0x43e7df(0x1d3))+'-'+process[_0x43e7df(0x1d7)],'communicationType':process[_0x43e7df(0x1e1)]['MSHUB_COMMUNICATION_TYPE']||'broadcast','autoAcknowledge':_0x433243[_0x43e7df(0x1b9)](process['env'][_0x43e7df(0x1c5)],_0x433243['tfkWF']),'acknowledgeMessages':process[_0x43e7df(0x1e1)][_0x43e7df(0x19f)]===_0x433243['tfkWF'],'platform':{'type':process[_0x43e7df(0x1e1)]['MSHUB_COMMUNICATION_TYPE']||_0x43e7df(0x19e),'host':process[_0x43e7df(0x1e1)][_0x43e7df(0x1d1)]||_0x433243[_0x43e7df(0x1c7)],'api_port':_0x433243['IJfti'](parseInt,process[_0x43e7df(0x1e1)]['MSHUB_API_PORT']||0xdf8),'service_port':_0x433243[_0x43e7df(0x1a9)](parseInt,process['env']['MSHUB_SERVICE_PORT']||0xdf9),'config':{'protocol':'v1'}}};messagehub=new MessageHub(_0x36f62a),_0x433243[_0x43e7df(0x1c1)](log,_0x43e7df(0x1cd)),log('Client\x20ID/UserID:\x20'+messagehub[_0x43e7df(0x1e7)]),log(_0x43e7df(0x1b6)+messagehub[_0x43e7df(0x1a3)]),_0x433243['DDKMA'](log,'Subscribe\x20Key:\x20'+messagehub['subscribeKey']),_0x433243[_0x43e7df(0x1b3)](log,'Tipe\x20Komunikasi:\x20'+messagehub['communicationType']),_0x433243['BKKDB'](log,'Konfigurasi\x20Platform:\x20'+JSON[_0x43e7df(0x1df)](messagehub['platformConfig'])),_0x433243[_0x43e7df(0x1de)](log,_0x43e7df(0x1ea)),messagehub['addListener']({'status':function(_0x5d695c){const _0x13a27a=_0x43e7df;log('Status\x20Listener:\x20'+_0x5d695c['category']);if(_0x5d695c[_0x13a27a(0x193)]===_0x256391['DMjKu'])_0x256391[_0x13a27a(0x192)](log,'Terhubung\x20ke\x20server\x20MessageHub'),isConnected=!![],timeoutHandler&&(clearTimeout(timeoutHandler),timeoutHandler=null),_0x256391[_0x13a27a(0x1d8)](_0x34b9ab,!![]);else{if(_0x256391[_0x13a27a(0x1b1)](_0x5d695c['category'],_0x256391[_0x13a27a(0x197)])){const _0x4b9388=_0x5d695c[_0x13a27a(0x1e4)]===!![];!_0x4b9388&&(_0x256391[_0x13a27a(0x1af)](log,'Terputus\x20dari\x20server.\x20Alasan:\x20'+(_0x5d695c[_0x13a27a(0x1be)]||_0x256391['ABzxa'])),isConnected=![],connectionPromise&&(_0x12100b(new Error(_0x13a27a(0x1c2)+(_0x5d695c['reason']||'Tidak\x20diketahui'))),connectionPromise=null));}else{if(_0x5d695c['category']==='error'){let _0x479610=_0x5d695c[_0x13a27a(0x19b)]||_0x5d695c[_0x13a27a(0x1b7)]||'Unknown\x20error';_0x256391[_0x13a27a(0x1a1)](log,_0x13a27a(0x196)+_0x479610),isConnected=![],connectionPromise&&(_0x12100b(new Error(_0x479610)),connectionPromise=null);}else{if(_0x256391[_0x13a27a(0x19a)](_0x5d695c[_0x13a27a(0x193)],_0x256391['UaqXM']))_0x256391['lOPjE'](log,'📤\x20Pesan\x20berhasil\x20dikirim!\x20RequestID:\x20'+_0x5d695c[_0x13a27a(0x1ad)]);else{if(_0x5d695c['category']===_0x256391['spmxg']){const _0x27dfbf=_0x5d695c['receiverInfo']?.['name']||_0x256391[_0x13a27a(0x1bb)],_0x4769da=_0x5d695c['receiverInfo']?.['id']||_0x5d695c[_0x13a27a(0x1c9)],_0xb19e82=new Date(_0x5d695c['receiverInfo']?.['receivedAt']||_0x5d695c['receivedAt']||new Date())['toLocaleTimeString']();_0x256391[_0x13a27a(0x1bf)](log,_0x13a27a(0x1e8)+_0x5d695c[_0x13a27a(0x1ad)]+_0x13a27a(0x1db)+_0x27dfbf+'\x20('+_0x4769da+')\x20pada\x20'+_0xb19e82+'.\x20Total\x20konfirmasi:\x20'+(_0x5d695c['confirmationCount']||0x1));}}}}}}}),timeoutHandler=setTimeout(()=>{const _0x20a612=_0x43e7df;!isConnected&&connectionPromise&&(log(_0x20a612(0x1cc)),_0x433243['nAHGO'](_0x12100b,new Error(_0x433243[_0x20a612(0x191)])),connectionPromise=null);},0x2710);}catch(_0x153ca3){log('⚠️\x20Error\x20inisialisasi\x20MessageHub:\x20'+_0x153ca3['message']),console['error'](_0x433243[_0x43e7df(0x1d6)],_0x153ca3),connectionPromise=null,_0x12100b(_0x153ca3);}}),connectionPromise;}async function publishMessage(_0x325e07,_0x4a72b9,_0x4e4ae1,_0x42148b={}){const _0x286caa=a0_0x2d29c1,_0x286f98={'sblbE':function(_0x26a400,_0x241014){return _0x26a400(_0x241014);},'nlqRx':function(_0x286248,_0x57e5b7){return _0x286248(_0x57e5b7);},'KrsVx':_0x286caa(0x1d2),'vsNBd':function(_0x2e332f,_0x50edef){return _0x2e332f(_0x50edef);},'XLhxO':_0x286caa(0x1d5)};try{!isConnected&&await initMessageHub();const _0x121bf7=messagehub['channel'](_0x325e07);_0x286f98['sblbE'](log,'======\x20DATA\x20PUBLISH\x20MESSAGE\x20======'),_0x286f98[_0x286caa(0x1ae)](log,_0x286caa(0x18f)+_0x121bf7[_0x286caa(0x199)]),log(_0x286caa(0x1cb)+_0x4a72b9),log(_0x286f98[_0x286caa(0x194)]);const _0x125e1a={'requireAck':_0x42148b['requireAck']!==undefined?_0x42148b[_0x286caa(0x1b2)]:![],'clearCache':_0x42148b['clearCache']!==undefined?_0x42148b[_0x286caa(0x1c4)]:!![],'senderId':messagehub['socket']?messagehub['socket']['id']:'restforge'};_0x286f98[_0x286caa(0x1dd)](log,'Mengirim\x20pesan\x20ke\x20server...');const _0x19d27c={'type':_0x4a72b9,'content':_0x4e4ae1},_0x406045=await _0x121bf7['publish'](_0x19d27c,_0x125e1a);return log('Message\x20sent\x20successfully\x20to\x20topic\x20'+_0x325e07),{'success':!![],'requestId':_0x406045['requestId'],'topic':_0x325e07,'message':_0x286f98[_0x286caa(0x1ab)]};}catch(_0xa3e8df){return log(_0x286caa(0x1ce)+_0xa3e8df[_0x286caa(0x198)]),{'success':![],'error':_0xa3e8df['message'],'topic':_0x325e07,'message':_0x286caa(0x1c0)};}}async function closeConnection(){const _0x2fcbf8=a0_0x2d29c1,_0x87ee33={'crjwx':function(_0x311b7b,_0x52c20a){return _0x311b7b(_0x52c20a);},'tNCMQ':function(_0x837308,_0x1a7cf4){return _0x837308(_0x1a7cf4);},'OkCdL':'Koneksi\x20MessageHub\x20ditutup\x20dengan\x20disconnect()','RAFOo':'function','CZrRb':function(_0x63cb7c,_0xd37c9){return _0x63cb7c===_0xd37c9;},'FDgpJ':function(_0x1d485e,_0x4c49cb){return _0x1d485e(_0x4c49cb);}};timeoutHandler&&(_0x87ee33[_0x2fcbf8(0x190)](clearTimeout,timeoutHandler),timeoutHandler=null);if(isConnected&&messagehub)try{if(typeof messagehub[_0x2fcbf8(0x1b5)]===_0x2fcbf8(0x1aa))await messagehub['disconnect'](),_0x87ee33[_0x2fcbf8(0x1ca)](log,_0x87ee33['OkCdL']);else{if(typeof messagehub[_0x2fcbf8(0x195)]===_0x87ee33['RAFOo'])await messagehub['close'](),log(_0x2fcbf8(0x1ba));else messagehub[_0x2fcbf8(0x1cf)]&&_0x87ee33[_0x2fcbf8(0x19c)](typeof messagehub['socket']['disconnect'],_0x87ee33[_0x2fcbf8(0x1a6)])?(messagehub[_0x2fcbf8(0x1cf)][_0x2fcbf8(0x1b5)](),log(_0x2fcbf8(0x1e6))):_0x87ee33[_0x2fcbf8(0x1e3)](log,_0x2fcbf8(0x1e5));}isConnected=![],connectionPromise=null;}catch(_0x189be0){log('Error\x20saat\x20menutup\x20koneksi:\x20'+_0x189be0[_0x2fcbf8(0x198)]);}}module['exports']={'initMessageHub':initMessageHub,'publishMessage':publishMessage,'closeConnection':closeConnection};