@restforgejs/platform 5.0.9 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/generators/cli/fast-track.js +963 -0
  5. package/generators/cli/payload/sync.js +18 -2
  6. package/generators/lib/migrate/field-type-resolver.js +18 -5
  7. package/generators/lib/payload/payload-runner.js +724 -39
  8. package/generators/lib/templates/dashboard-catalog.js +1 -1
  9. package/generators/lib/templates/db-connection-env.js +1 -1
  10. package/generators/lib/templates/dbschema-catalog.js +1 -1
  11. package/generators/lib/templates/field-validation-catalog.js +1 -1
  12. package/generators/lib/templates/mysql-template.js +1 -1
  13. package/generators/lib/templates/oracle-template.js +1 -1
  14. package/generators/lib/templates/postgres-template.js +1 -1
  15. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  16. package/generators/lib/templates/sqlite-template.js +1 -1
  17. package/integrity-manifest.json +18 -18
  18. package/package.json +1 -1
  19. package/scripts/verify-integrity.js +1 -1
  20. package/server.js +1 -1
  21. package/src/components/handlers/adjust_handler.js +1 -1
  22. package/src/components/handlers/audit_handler.js +1 -1
  23. package/src/components/handlers/delete_handler.js +1 -1
  24. package/src/components/handlers/export_handler.js +1 -1
  25. package/src/components/handlers/import_handler.js +1 -1
  26. package/src/components/handlers/insert_handler.js +1 -1
  27. package/src/components/handlers/update_handler.js +1 -1
  28. package/src/components/handlers/upload_handler.js +1 -1
  29. package/src/components/handlers/workflow_handler.js +1 -1
  30. package/src/components/integrations/webhook.js +1 -1
  31. package/src/consumers/baseConsumer.js +1 -1
  32. package/src/consumers/declarativeMapper.js +1 -1
  33. package/src/consumers/handlers/apiHandler.js +1 -1
  34. package/src/consumers/handlers/consoleHandler.js +1 -1
  35. package/src/consumers/handlers/databaseHandler.js +1 -1
  36. package/src/consumers/handlers/index.js +1 -1
  37. package/src/consumers/handlers/kafkaHandler.js +1 -1
  38. package/src/consumers/index.js +1 -1
  39. package/src/consumers/messageTransformer.js +1 -1
  40. package/src/consumers/validator.js +1 -1
  41. package/src/core/db/dialect/base-dialect.js +1 -1
  42. package/src/core/db/dialect/index.js +1 -1
  43. package/src/core/db/dialect/mysql-dialect.js +1 -1
  44. package/src/core/db/dialect/oracle-dialect.js +1 -1
  45. package/src/core/db/dialect/postgres-dialect.js +1 -1
  46. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  47. package/src/core/db/flatten-helper.js +1 -1
  48. package/src/core/db/query-builder-error.js +1 -1
  49. package/src/core/db/query-builder.js +1 -1
  50. package/src/core/db/relation-helper.js +1 -1
  51. package/src/core/handlers/delete_handler.js +1 -1
  52. package/src/core/handlers/insert_handler.js +1 -1
  53. package/src/core/handlers/update_handler.js +1 -1
  54. package/src/core/models/base-model.js +1 -1
  55. package/src/core/utils/cache-manager.js +1 -1
  56. package/src/core/utils/component-engine.js +1 -1
  57. package/src/core/utils/context-builder.js +1 -1
  58. package/src/core/utils/datetime-formatter.js +1 -1
  59. package/src/core/utils/datetime-parser.js +1 -1
  60. package/src/core/utils/db.js +1 -1
  61. package/src/core/utils/logger.js +1 -1
  62. package/src/core/utils/payload-loader.js +1 -1
  63. package/src/core/utils/security-checks.js +1 -1
  64. package/src/middleware/body-options.js +1 -1
  65. package/src/middleware/cors.js +1 -1
  66. package/src/middleware/idempotency.js +1 -1
  67. package/src/middleware/rate-limiter.js +1 -1
  68. package/src/middleware/request-logger.js +1 -1
  69. package/src/middleware/security-headers.js +1 -1
  70. package/src/models/base-model-mysql.js +1 -1
  71. package/src/models/base-model-oracle.js +1 -1
  72. package/src/models/base-model-sqlite.js +1 -1
  73. package/src/models/base-model.js +1 -1
  74. package/src/pro/caching/redis-client.js +1 -1
  75. package/src/pro/caching/redis-helper.js +1 -1
  76. package/src/pro/consumers/baseConsumer.js +1 -1
  77. package/src/pro/consumers/declarativeMapper.js +1 -1
  78. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  79. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  80. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  81. package/src/pro/consumers/handlers/index.js +1 -1
  82. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  83. package/src/pro/consumers/index.js +1 -1
  84. package/src/pro/consumers/messageTransformer.js +1 -1
  85. package/src/pro/consumers/validator.js +1 -1
  86. package/src/pro/database/base-model-mysql.js +1 -1
  87. package/src/pro/database/base-model-oracle.js +1 -1
  88. package/src/pro/database/base-model-sqlite.js +1 -1
  89. package/src/pro/database/db-mysql.js +1 -1
  90. package/src/pro/database/db-oracle.js +1 -1
  91. package/src/pro/database/db-sqlite.js +1 -1
  92. package/src/pro/excel/excel-generator.js +1 -1
  93. package/src/pro/excel/excel-parser.js +1 -1
  94. package/src/pro/excel/export-service.js +1 -1
  95. package/src/pro/excel/export_handler.js +1 -1
  96. package/src/pro/excel/import-service.js +1 -1
  97. package/src/pro/excel/import-validator.js +1 -1
  98. package/src/pro/excel/import_handler.js +1 -1
  99. package/src/pro/excel/upsert-builder.js +1 -1
  100. package/src/pro/idgen/idgen-routes.js +1 -1
  101. package/src/pro/integrations/lookup-resolver.js +1 -1
  102. package/src/pro/integrations/upload-handler-v2.js +1 -1
  103. package/src/pro/integrations/upload-handler.js +1 -1
  104. package/src/pro/integrations/webhook.js +1 -1
  105. package/src/pro/locking/lock-routes.js +1 -1
  106. package/src/pro/locking/resource-lock-manager.js +1 -1
  107. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  108. package/src/pro/messaging/kafkaService.js +1 -1
  109. package/src/pro/messaging/messagehubService.js +1 -1
  110. package/src/pro/messaging/rabbitmqService.js +1 -1
  111. package/src/pro/scheduler/job-manager.js +1 -1
  112. package/src/pro/scheduler/job-routes.js +1 -1
  113. package/src/pro/scheduler/job-validator.js +1 -1
  114. package/src/pro/storage/base-storage-provider.js +1 -1
  115. package/src/pro/storage/file-metadata-helper.js +1 -1
  116. package/src/pro/storage/index.js +1 -1
  117. package/src/pro/storage/local-storage-provider.js +1 -1
  118. package/src/pro/storage/s3-storage-provider.js +1 -1
  119. package/src/pro/storage/upload-cleanup-job.js +1 -1
  120. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  121. package/src/pro/storage/upload-pending-tracker.js +1 -1
  122. package/src/pro/websocket/broadcast-helper.js +1 -1
  123. package/src/pro/websocket/index.js +1 -1
  124. package/src/pro/websocket/livesync-server.js +1 -1
  125. package/src/pro/websocket/ws-broadcaster.js +1 -1
  126. package/src/services/export-service.js +1 -1
  127. package/src/services/import-service.js +1 -1
  128. package/src/services/kafkaConsumerService.js +1 -1
  129. package/src/services/kafkaService.js +1 -1
  130. package/src/services/messagehubService.js +1 -1
  131. package/src/services/rabbitmqService.js +1 -1
  132. package/src/utils/cache-invalidation-registry.js +1 -1
  133. package/src/utils/cache-manager.js +1 -1
  134. package/src/utils/component-engine.js +1 -1
  135. package/src/utils/config-extractor.js +1 -1
  136. package/src/utils/consumerLogger.js +1 -1
  137. package/src/utils/context-builder.js +1 -1
  138. package/src/utils/dashboard-helpers.js +1 -1
  139. package/src/utils/dateHelper.js +1 -1
  140. package/src/utils/datetime-formatter.js +1 -1
  141. package/src/utils/datetime-parser.js +1 -1
  142. package/src/utils/db-bootstrap.js +1 -1
  143. package/src/utils/db-mysql.js +1 -1
  144. package/src/utils/db-oracle.js +1 -1
  145. package/src/utils/db-sqlite.js +1 -1
  146. package/src/utils/db.js +1 -1
  147. package/src/utils/demo-generator.js +1 -1
  148. package/src/utils/excel-generator.js +1 -1
  149. package/src/utils/excel-parser.js +1 -1
  150. package/src/utils/file-watcher.js +1 -1
  151. package/src/utils/id-generator.js +1 -1
  152. package/src/utils/idempotency-manager.js +1 -1
  153. package/src/utils/import-validator.js +1 -1
  154. package/src/utils/license-client.js +1 -1
  155. package/src/utils/lock-manager.js +1 -1
  156. package/src/utils/logger.js +1 -1
  157. package/src/utils/lookup-resolver.js +1 -1
  158. package/src/utils/payload-loader.js +1 -1
  159. package/src/utils/processor-response.js +1 -1
  160. package/src/utils/rabbitmq.js +1 -1
  161. package/src/utils/redis-client.js +1 -1
  162. package/src/utils/redis-helper.js +1 -1
  163. package/src/utils/request-scope.js +1 -1
  164. package/src/utils/security-checks.js +1 -1
  165. package/src/utils/service-resolver.js +1 -1
  166. package/src/utils/shutdown-coordinator.js +1 -1
  167. package/src/utils/trusted-keys.js +1 -1
  168. package/src/utils/upload-handler.js +1 -1
  169. package/src/utils/upsert-builder.js +1 -1
  170. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- const a0_0x517987=a0_0x55c6;function a0_0x55c6(_0x55ca8c,_0x3be5f8){_0x55ca8c=_0x55ca8c-0x14b;const _0x5a3444=a0_0x5a34();let _0x55c6fd=_0x5a3444[_0x55ca8c];if(a0_0x55c6['qgMjYz']===undefined){var _0x1abe93=function(_0x499cbb){const _0x1dfd63='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x8b2891='',_0x21d7c6='';for(let _0x1f406b=0x0,_0x53e544,_0x5c9ef5,_0xcdb522=0x0;_0x5c9ef5=_0x499cbb['charAt'](_0xcdb522++);~_0x5c9ef5&&(_0x53e544=_0x1f406b%0x4?_0x53e544*0x40+_0x5c9ef5:_0x5c9ef5,_0x1f406b++%0x4)?_0x8b2891+=String['fromCharCode'](0xff&_0x53e544>>(-0x2*_0x1f406b&0x6)):0x0){_0x5c9ef5=_0x1dfd63['indexOf'](_0x5c9ef5);}for(let _0xe7785a=0x0,_0x33a712=_0x8b2891['length'];_0xe7785a<_0x33a712;_0xe7785a++){_0x21d7c6+='%'+('00'+_0x8b2891['charCodeAt'](_0xe7785a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x21d7c6);};a0_0x55c6['XyxyRB']=_0x1abe93,a0_0x55c6['ZCccqs']={},a0_0x55c6['qgMjYz']=!![];}const _0x822b2=_0x5a3444[0x0],_0x2b22a4=_0x55ca8c+_0x822b2,_0x4ed26d=a0_0x55c6['ZCccqs'][_0x2b22a4];return!_0x4ed26d?(_0x55c6fd=a0_0x55c6['XyxyRB'](_0x55c6fd),a0_0x55c6['ZCccqs'][_0x2b22a4]=_0x55c6fd):_0x55c6fd=_0x4ed26d,_0x55c6fd;}(function(_0x3395b5,_0x3176ff){const _0x180f65=a0_0x55c6,_0x36e50a=_0x3395b5();while(!![]){try{const _0x322b2f=-parseInt(_0x180f65(0x154))/0x1+parseInt(_0x180f65(0x163))/0x2*(-parseInt(_0x180f65(0x157))/0x3)+parseInt(_0x180f65(0x158))/0x4*(parseInt(_0x180f65(0x161))/0x5)+parseInt(_0x180f65(0x15c))/0x6*(-parseInt(_0x180f65(0x160))/0x7)+-parseInt(_0x180f65(0x14f))/0x8*(parseInt(_0x180f65(0x15d))/0x9)+-parseInt(_0x180f65(0x15a))/0xa+parseInt(_0x180f65(0x169))/0xb;if(_0x322b2f===_0x3176ff)break;else _0x36e50a['push'](_0x36e50a['shift']());}catch(_0x49e67e){_0x36e50a['push'](_0x36e50a['shift']());}}}(a0_0x5a34,0xe6c5a));function a0_0x5a34(){const _0x36eadc=['mtC1odGYogjssff2va','mJC0mdCYug5RBMrh','D2fYBG','mtq1nda3otb4DKzgCfG','DgLTzxn0yw1W','ndj0uvD5quO','mJuZody5m1HhsvH1Aa','Bwf0y2G','BgvUz3rO','ndG0mZC5yuzwt1Pb','ndbZr3D4uNO','vvLtCvy','ngH0vM5Tuq','vMLoqwW','zxjYB3i','ExL5Es1nts1KzcbisdPTBtPZCW','oJaW','zgf5','ndK1nZm3otLezeLPC0e','Bw9UDgG','C3bSAxq','zM9YrwfJAa','zgf0zq','mJrMu1jmEhm','iIbKB2vZBID0ig1HDgnOigzVCM1HDcaI','DgLTzq','EwvHCG','CgfYC2veyxrL','mtuYmZCWww1bCvrW','uhbZEei','CgfYC2vuAw1L'];a0_0x5a34=function(){return _0x36eadc;};return a0_0x5a34();}class DateTimeParser{static['parse'](_0x4745c5,_0x3c7ee0,_0x1e2057){const _0x15f64a=a0_0x55c6,_0xfa68d7={'UYSqV':function(_0x1ee9fb,_0x514f9a){return _0x1ee9fb===_0x514f9a;},'chSJX':_0x15f64a(0x14e),'XHXZh':_0x15f64a(0x15b),'Ckhiz':_0x15f64a(0x151)};if(!_0x4745c5||_0xfa68d7[_0x15f64a(0x162)](_0x4745c5,''))return null;try{if(_0x1e2057===_0xfa68d7['chSJX'])return this['parseDate'](_0x4745c5,_0x3c7ee0);else{if(_0xfa68d7['UYSqV'](_0x1e2057,_0xfa68d7['XHXZh']))return this['parseTimestamp'](_0x4745c5,_0x3c7ee0);else{if(_0xfa68d7[_0x15f64a(0x162)](_0x1e2057,_0xfa68d7['Ckhiz']))return this['parseTime'](_0x4745c5,_0x3c7ee0);}}return _0x4745c5;}catch(_0x7d1615){return console[_0x15f64a(0x165)]('Error\x20parsing\x20datetime:\x20'+_0x7d1615['message']),null;}}static['parseDate'](_0x1cc935,_0x4268f1){const _0x59dca1=a0_0x55c6,_0x5a0eaf={'ViNAl':_0x59dca1(0x14b),'JztTo':_0x59dca1(0x152),'kwyfh':_0x59dca1(0x168)};if(!_0x4268f1||_0x4268f1==='yyyy-MM-dd')return _0x1cc935;const _0x1760d0={'dd/MM/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':['day',_0x5a0eaf[_0x59dca1(0x164)],'year']},'dd-MM-yyyy':{'pattern':/^(\d{2})-(\d{2})-(\d{4})$/,'order':['day','month',_0x5a0eaf['JztTo']]},'MM/dd/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x5a0eaf['ViNAl'],_0x5a0eaf['kwyfh'],_0x5a0eaf['JztTo']]},'yyyy/MM/dd':{'pattern':/^(\d{4})\/(\d{2})\/(\d{2})$/,'order':[_0x5a0eaf['JztTo'],'month',_0x59dca1(0x168)]}},_0x494140=_0x1760d0[_0x4268f1];if(!_0x494140)return console['warn']('Unknown\x20date\x20format:\x20'+_0x4268f1+',\x20returning\x20null'),null;const _0x210b1e=_0x1cc935[_0x59dca1(0x15e)](_0x494140['pattern']);if(!_0x210b1e)return console['warn']('Date\x20value\x20\x22'+_0x1cc935+_0x59dca1(0x150)+_0x4268f1+'\x22'),null;const _0x2e8527={'day':null,'month':null,'year':null};return _0x494140['order'][_0x59dca1(0x14d)]((_0x123279,_0x4e78bd)=>{_0x2e8527[_0x123279]=_0x210b1e[_0x4e78bd+0x1];}),_0x2e8527['year']+'-'+_0x2e8527['month']+'-'+_0x2e8527['day'];}static['parseTimestamp'](_0xbd7903,_0x256fcb){const _0x4e88f9=a0_0x55c6,_0x57d641={'PpsxB':function(_0x52cc90,_0x351103){return _0x52cc90===_0x351103;}};if(!_0x256fcb||_0x256fcb===_0x4e88f9(0x166))return _0xbd7903;const _0x32a7f6=_0xbd7903['split']('\x20');if(_0x32a7f6[_0x4e88f9(0x15f)]!==0x2)return console[_0x4e88f9(0x159)]('Invalid\x20timestamp\x20format:\x20'+_0xbd7903),null;const [_0x3fcbff,_0xcd0317]=_0x32a7f6,_0x442740=_0x256fcb[_0x4e88f9(0x14c)]('\x20')[0x0],_0x4b81fc=this[_0x4e88f9(0x153)](_0x3fcbff,_0x442740);if(!_0x4b81fc)return null;const _0x3c18d3=_0x57d641[_0x4e88f9(0x155)](_0xcd0317['split'](':')[_0x4e88f9(0x15f)],0x2)?_0xcd0317+_0x4e88f9(0x167):_0xcd0317;return _0x4b81fc+'\x20'+_0x3c18d3;}static[a0_0x517987(0x156)](_0x2c3ca4,_0x443137){const _0x443206={'RZEoB':function(_0x185d39,_0x5f4e95){return _0x185d39===_0x5f4e95;}};if(!_0x443137||_0x443137==='HH:mm:ss')return _0x2c3ca4;if(_0x443206['RZEoB'](_0x443137,'HH:mm')){if(_0x2c3ca4['match'](/^\d{2}:\d{2}$/))return _0x2c3ca4+':00';}return _0x2c3ca4;}}module['exports']=DateTimeParser;
1
+ const a0_0x44a094=a0_0x1094;(function(_0x15831c,_0x560cce){const _0x263ab2=a0_0x1094,_0x2a258b=_0x15831c();while(!![]){try{const _0xd9b883=parseInt(_0x263ab2(0x15f))/0x1*(-parseInt(_0x263ab2(0x157))/0x2)+parseInt(_0x263ab2(0x146))/0x3*(-parseInt(_0x263ab2(0x155))/0x4)+parseInt(_0x263ab2(0x15c))/0x5+parseInt(_0x263ab2(0x162))/0x6+-parseInt(_0x263ab2(0x158))/0x7+parseInt(_0x263ab2(0x144))/0x8+-parseInt(_0x263ab2(0x15d))/0x9*(-parseInt(_0x263ab2(0x15b))/0xa);if(_0xd9b883===_0x560cce)break;else _0x2a258b['push'](_0x2a258b['shift']());}catch(_0x3a7ea1){_0x2a258b['push'](_0x2a258b['shift']());}}}(a0_0x48e7,0x8d04b));class DateTimeParser{static[a0_0x44a094(0x148)](_0x3b6e08,_0x6eebc7,_0x2f45c9){const _0x1aabdd=a0_0x44a094,_0x57ee0f={'ydLUD':function(_0x3da7d1,_0x3a6ad1){return _0x3da7d1===_0x3a6ad1;},'CrBpf':function(_0x122d09,_0x1449aa){return _0x122d09===_0x1449aa;},'TtYcJ':_0x1aabdd(0x14d),'nEONO':'timestamp'};if(!_0x3b6e08||_0x57ee0f['ydLUD'](_0x3b6e08,''))return null;try{if(_0x57ee0f['CrBpf'](_0x2f45c9,_0x57ee0f[_0x1aabdd(0x161)]))return this[_0x1aabdd(0x160)](_0x3b6e08,_0x6eebc7);else{if(_0x57ee0f[_0x1aabdd(0x152)](_0x2f45c9,_0x57ee0f[_0x1aabdd(0x164)]))return this['parseTimestamp'](_0x3b6e08,_0x6eebc7);else{if(_0x2f45c9===_0x1aabdd(0x15a))return this[_0x1aabdd(0x141)](_0x3b6e08,_0x6eebc7);}}return _0x3b6e08;}catch(_0x97a9a7){return console[_0x1aabdd(0x14b)](_0x1aabdd(0x159)+_0x97a9a7[_0x1aabdd(0x14a)]),null;}}static[a0_0x44a094(0x160)](_0x2cc24d,_0x4d4a74){const _0x3c0b1e=a0_0x44a094,_0x72b415={'NfHCO':function(_0x2fd5a2,_0x21c1b0){return _0x2fd5a2+_0x21c1b0;},'azQlT':function(_0x476cfc,_0x2aa2ef){return _0x476cfc===_0x2aa2ef;},'gTZCv':'day','RpcXl':_0x3c0b1e(0x150)};if(!_0x4d4a74||_0x72b415[_0x3c0b1e(0x153)](_0x4d4a74,'yyyy-MM-dd'))return _0x2cc24d;const _0x3b8d34={'dd/MM/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x72b415['gTZCv'],_0x72b415[_0x3c0b1e(0x149)],_0x3c0b1e(0x147)]},'dd-MM-yyyy':{'pattern':/^(\d{2})-(\d{2})-(\d{4})$/,'order':[_0x72b415['gTZCv'],'month','year']},'MM/dd/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':['month','day','year']},'yyyy/MM/dd':{'pattern':/^(\d{4})\/(\d{2})\/(\d{2})$/,'order':[_0x3c0b1e(0x147),_0x72b415[_0x3c0b1e(0x149)],_0x72b415['gTZCv']]}},_0x29b81d=_0x3b8d34[_0x4d4a74];if(!_0x29b81d)return console['warn']('Unknown\x20date\x20format:\x20'+_0x4d4a74+',\x20returning\x20null'),null;const _0x2db848=_0x2cc24d['match'](_0x29b81d['pattern']);if(!_0x2db848)return console[_0x3c0b1e(0x14f)](_0x3c0b1e(0x165)+_0x2cc24d+_0x3c0b1e(0x14e)+_0x4d4a74+'\x22'),null;const _0x4dcb37={'day':null,'month':null,'year':null};return _0x29b81d['order'][_0x3c0b1e(0x15e)]((_0x271fa8,_0x3f965d)=>{_0x4dcb37[_0x271fa8]=_0x2db848[_0x72b415['NfHCO'](_0x3f965d,0x1)];}),_0x4dcb37['year']+'-'+_0x4dcb37[_0x3c0b1e(0x150)]+'-'+_0x4dcb37[_0x3c0b1e(0x154)];}static['parseTimestamp'](_0x1eed47,_0x406786){const _0x20e4b0=a0_0x44a094,_0x3c280f={'HboJM':function(_0x78f8ad,_0x53362b){return _0x78f8ad===_0x53362b;},'ePPTS':_0x20e4b0(0x145)};if(!_0x406786||_0x3c280f[_0x20e4b0(0x14c)](_0x406786,_0x3c280f['ePPTS']))return _0x1eed47;const _0x546dbd=_0x1eed47[_0x20e4b0(0x156)]('\x20');if(_0x546dbd[_0x20e4b0(0x163)]!==0x2)return console['warn']('Invalid\x20timestamp\x20format:\x20'+_0x1eed47),null;const [_0x2900b0,_0x122ab2]=_0x546dbd,_0x20e333=_0x406786['split']('\x20')[0x0],_0x2aab49=this[_0x20e4b0(0x160)](_0x2900b0,_0x20e333);if(!_0x2aab49)return null;const _0x2d17ff=_0x122ab2['split'](':')['length']===0x2?_0x122ab2+':00':_0x122ab2;return _0x2aab49+'\x20'+_0x2d17ff;}static['parseTime'](_0xf25c01,_0x1cc151){const _0x1d1984=a0_0x44a094,_0x5f2cd0={'hnaKA':function(_0xbcfe12,_0x460dee){return _0xbcfe12===_0x460dee;},'LSpNK':'HH:mm'};if(!_0x1cc151||_0x1cc151==='HH:mm:ss')return _0xf25c01;if(_0x5f2cd0[_0x1d1984(0x151)](_0x1cc151,_0x5f2cd0[_0x1d1984(0x143)])){if(_0xf25c01['match'](/^\d{2}:\d{2}$/))return _0xf25c01+_0x1d1984(0x142);}return _0xf25c01;}}module[a0_0x44a094(0x140)]=DateTimeParser;function a0_0x1094(_0x58d0e4,_0x5312fa){_0x58d0e4=_0x58d0e4-0x140;const _0x48e782=a0_0x48e7();let _0x1094be=_0x48e782[_0x58d0e4];if(a0_0x1094['WKQiZq']===undefined){var _0xadc10b=function(_0x4d84f4){const _0x451726='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x55f54f='',_0x3b81f0='';for(let _0x2f906b=0x0,_0x19f690,_0x58204f,_0x32a014=0x0;_0x58204f=_0x4d84f4['charAt'](_0x32a014++);~_0x58204f&&(_0x19f690=_0x2f906b%0x4?_0x19f690*0x40+_0x58204f:_0x58204f,_0x2f906b++%0x4)?_0x55f54f+=String['fromCharCode'](0xff&_0x19f690>>(-0x2*_0x2f906b&0x6)):0x0){_0x58204f=_0x451726['indexOf'](_0x58204f);}for(let _0x526982=0x0,_0x299076=_0x55f54f['length'];_0x526982<_0x299076;_0x526982++){_0x3b81f0+='%'+('00'+_0x55f54f['charCodeAt'](_0x526982)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3b81f0);};a0_0x1094['XhrXkM']=_0xadc10b,a0_0x1094['GsgxAf']={},a0_0x1094['WKQiZq']=!![];}const _0x304441=_0x48e782[0x0],_0x595a33=_0x58d0e4+_0x304441,_0x3b16b3=a0_0x1094['GsgxAf'][_0x595a33];return!_0x3b16b3?(_0x1094be=a0_0x1094['XhrXkM'](_0x1094be),a0_0x1094['GsgxAf'][_0x595a33]=_0x1094be):_0x1094be=_0x3b16b3,_0x1094be;}function a0_0x48e7(){const _0x32ee87=['Ag5Hs0e','Ewrmvuq','yxPrBfq','zgf5','ntCZmMXtuwX0Ea','C3bSAxq','odG5mJjNwMflshK','nZKZnZaYmeXiDxfqvq','rxjYB3iGCgfYC2LUzYbKyxrLDgLTztOG','DgLTzq','otiWotG3mhbPqvjoEq','ntyWndC0mhPTq2PJqW','ou9ss1zoCW','zM9YrwfJAa','mJjoA2fkzeq','CgfYC2veyxrL','vhrzy0O','nde0nde4ofv5qLblAW','BgvUz3rO','BKvptK8','rgf0zsb2ywX1zsaI','zxHWB3j0CW','CgfYC2vuAw1L','oJaW','tfnWtKS','odaWmdHVtxzQz1O','ExL5Es1nts1KzcbisdPTBtPZCW','mteXsfjKANPo','EwvHCG','CgfYC2u','uNbJwgW','BwvZC2fNzq','zxjYB3i','sgjVsK0','zgf0zq','iIbKB2vZBID0ig1HDgnOigzVCM1HDcaI','D2fYBG','Bw9UDgG'];a0_0x48e7=function(){return _0x32ee87;};return a0_0x48e7();}
@@ -1 +1 @@
1
- const a0_0x51f419=a0_0x48f1;(function(_0x19d4f4,_0x5360a3){const _0x1ab410=a0_0x48f1,_0x327f66=_0x19d4f4();while(!![]){try{const _0x3dc383=-parseInt(_0x1ab410(0x117))/0x1*(-parseInt(_0x1ab410(0x11b))/0x2)+parseInt(_0x1ab410(0x101))/0x3+-parseInt(_0x1ab410(0x129))/0x4*(parseInt(_0x1ab410(0x10c))/0x5)+-parseInt(_0x1ab410(0x126))/0x6*(parseInt(_0x1ab410(0x136))/0x7)+-parseInt(_0x1ab410(0x119))/0x8+-parseInt(_0x1ab410(0x100))/0x9+parseInt(_0x1ab410(0x106))/0xa;if(_0x3dc383===_0x5360a3)break;else _0x327f66['push'](_0x327f66['shift']());}catch(_0x511ee8){_0x327f66['push'](_0x327f66['shift']());}}}(a0_0x1836,0x212ba));const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x51f419(0xfe)),dbConfig={'host':process['env']['DB_HOST']||'192.168.100.1','port':parseInt(process['env'][a0_0x51f419(0x10f)]||a0_0x51f419(0x116)),'user':process[a0_0x51f419(0x10e)]['DB_USER']||'postgres','password':process[a0_0x51f419(0x10e)]['DB_PASSWORD']||'postgres1234','database':process[a0_0x51f419(0x10e)][a0_0x51f419(0x128)]||a0_0x51f419(0x114)};function a0_0x1836(){const _0x327d0f=['nKTOEgvrwa','rgf0ywjHC2uGCg9VBcb3yxmGywXYzwfKEsbJBg9Zzwq','rejFtKfnrq','ntm2oduYzhLRrxDp','y29Kzq','mJHqmde','uK9mtejbq0S','vKnszeK','CM93q291BNq','CMvSzwfZzq','CM9SBgjHy2S','DhjHBNnHy3rPB25Fy29TCgXLDgu','zgjFCg9VBf9YzwnYzwf0zq','rgf0ywjHC2uGzxjYB3i6ia','wuXgu2G','zgjFCg9VBf9JBg9Zzv9LCNjVCG','mtq3odu0ueDIvufY','AfPtCve','ChvZAa','DhjHBNnHy3rPB25FzxjYB3i','zgjFy29UBMvJDgLVBL9JAgvJA19LCNjVCG','lI9SB2DNzxi','C3fSx2vYCM9Y','mJiZnZmWmwHeugfxta','mZmZnti4vLLowhjX','ihf1zxjPzxmP','y29TBwL0','zNvitxO','DMj0uui','nteYnJy4mgTgCgLpEq','Cg9ZDgDYzxnXBa','BgvUz3rO','C3vIC3rYAw5N','rgf0ywjHC2uGCg9VBcbJBg9ZzwqGC3vJy2vZC2z1BgX5','BvvOs0q','nwzfv0rNEa','CgfYyw1Z','zw52','rejFue9sva','Eg1Uuey','vhjHBNnHy3rPB24Gy29TBwL0DgvKicG','BwvZC2fNzq','q3jLyxrPBMCGBMv3igrHDgfIyxnLihbVB2WGkhbYzxzPB3vZihbVB2WGD2fZignSB3nLzcK','zgj4ytaZ','rxjYB3iGy2XVC2LUzYbKyxrHyMfZzsbWB29SoIa','ntqZmG','nJCZoezvv3bzAa','C3rHCNq','mty5nJyWoeTdy2vbCG','CxvLCNK','mZH3y0XJEM0','EKvSu0W','zgf0ywjHC2u','y29UBMvJDa','CM93CW','C3fS','B0fWChe','Cg9YDa','zMDXD2e','rfHMr3a','vefctevFtK9ux0zpvu5e'];a0_0x1836=function(){return _0x327d0f;};return a0_0x1836();}logDatabaseConfig({'host':dbConfig['host'],'port':dbConfig[a0_0x51f419(0x122)],'database':dbConfig[a0_0x51f419(0x11d)],'type':'postgresql','user':dbConfig['user']});let pool=new Pool(dbConfig),isPoolClosed=![];function a0_0x48f1(_0x772858,_0x10fbe4){_0x772858=_0x772858-0xfb;const _0x18368e=a0_0x1836();let _0x48f1fb=_0x18368e[_0x772858];if(a0_0x48f1['CZBYNE']===undefined){var _0x50811f=function(_0x187ffa){const _0x33d258='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x501e8e='',_0x42511a='';for(let _0x30032f=0x0,_0x1bc589,_0x43e985,_0xa4386d=0x0;_0x43e985=_0x187ffa['charAt'](_0xa4386d++);~_0x43e985&&(_0x1bc589=_0x30032f%0x4?_0x1bc589*0x40+_0x43e985:_0x43e985,_0x30032f++%0x4)?_0x501e8e+=String['fromCharCode'](0xff&_0x1bc589>>(-0x2*_0x30032f&0x6)):0x0){_0x43e985=_0x33d258['indexOf'](_0x43e985);}for(let _0x48caad=0x0,_0x5983cb=_0x501e8e['length'];_0x48caad<_0x5983cb;_0x48caad++){_0x42511a+='%'+('00'+_0x501e8e['charCodeAt'](_0x48caad)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x42511a);};a0_0x48f1['NhKOtf']=_0x50811f,a0_0x48f1['IbAtzl']={},a0_0x48f1['CZBYNE']=!![];}const _0x3fd439=_0x18368e[0x0],_0x35f0e4=_0x772858+_0x3fd439,_0x217bed=a0_0x48f1['IbAtzl'][_0x35f0e4];return!_0x217bed?(_0x48f1fb=a0_0x48f1['NhKOtf'](_0x48f1fb),a0_0x48f1['IbAtzl'][_0x35f0e4]=_0x48f1fb):_0x48f1fb=_0x217bed,_0x48f1fb;}function getPool(){const _0x8063b5=a0_0x51f419,_0x190a6c={'lsFaf':_0x8063b5(0x113)};return isPoolClosed&&(logger['info']({'event':_0x8063b5(0x132)},_0x190a6c['lsFaf']),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}async function executeQuery(_0xa18130,_0x2e1c1f=[]){const _0x5492d9=a0_0x51f419,_0x18b9bf={'cgdim':function(_0x15dca1){return _0x15dca1();},'SGPOw':function(_0xd9d8ab,_0x4f2734,_0x3e7152,_0x12a375){return _0xd9d8ab(_0x4f2734,_0x3e7152,_0x12a375);},'xmnPF':_0x5492d9(0x107),'zElSL':function(_0x1b2607){return _0x1b2607();}},_0x1a7b9d=_0x18b9bf['cgdim'](startQueryTimer);try{const _0x1617ec=getPool(),_0xf6a77b=await _0x1617ec['connect']();try{const _0x463ab7=await _0xf6a77b['query'](_0xa18130,_0x2e1c1f),_0x31628f=_0x1a7b9d();return _0x18b9bf['SGPOw'](logQuery,_0xa18130,_0x2e1c1f,{'duration':_0x31628f,'rowsAffected':_0x463ab7[_0x5492d9(0x12e)],'dbType':_0x18b9bf[_0x5492d9(0x110)]}),_0x463ab7[_0x5492d9(0x11f)];}finally{_0xf6a77b[_0x5492d9(0x12f)]();}}catch(_0xa3a5db){const _0xddc7ef=_0x18b9bf[_0x5492d9(0x11c)](_0x1a7b9d);logError(_0xa3a5db,{'event':_0x5492d9(0xff),'query':_0xa18130[_0x5492d9(0x109)](0x0,0x1f4),'paramCount':_0x2e1c1f['length'],'durationMs':_0xddc7ef,'code':_0xa3a5db[_0x5492d9(0x12a)],'dbType':_0x18b9bf[_0x5492d9(0x110)]},'SQL\x20Error:\x20'+_0xa3a5db['message']);throw _0xa3a5db;}}function formatResponse(_0x572e2f,_0x2a9253=null){const _0x42f854=a0_0x51f419,_0xbfa23c={'udjBo':'UNKNOWN_ERROR','RFllL':'syntax\x20error','cfAwd':'SYNTAX_ERROR','oAppq':function(_0x1fd934,_0x120389){return _0x1fd934===_0x120389;},'nkSdG':'42P01','mUhKD':_0x42f854(0x12b),'RixVC':'AUTHENTICATION_ERROR','hqrdc':function(_0x250dc2,_0x4cf2ec){return _0x250dc2===_0x4cf2ec;}};if(_0x2a9253){let _0x39bbb5=_0xbfa23c['udjBo'];if(_0x2a9253[_0x42f854(0x112)]['includes'](_0xbfa23c['RFllL']))_0x39bbb5=_0xbfa23c['cfAwd'];else{if(_0xbfa23c[_0x42f854(0x121)](_0x2a9253[_0x42f854(0x12a)],_0xbfa23c['nkSdG']))_0x39bbb5=_0x42f854(0x125);else{if(_0x2a9253['code']===_0xbfa23c[_0x42f854(0x10b)])_0x39bbb5=_0xbfa23c['RixVC'];else(_0x2a9253['code']==='08006'||_0xbfa23c[_0x42f854(0x121)](_0x2a9253['code'],'08001'))&&(_0x39bbb5='CONNECTION_ERROR');}}return{'success':![],'message':_0x42f854(0x133)+_0x2a9253[_0x42f854(0x112)],'count':-0x1,'error_code':_0x39bbb5};}else{if(!_0x572e2f||_0xbfa23c[_0x42f854(0x121)](_0x572e2f[_0x42f854(0x108)],0x0))return{'success':!![],'message':'No\x20data\x20found.','count':0x0,'data':[]};return{'success':!![],'message':'Query\x20returned\x20'+_0x572e2f[_0x42f854(0x108)]+'\x20row'+(_0xbfa23c['hqrdc'](_0x572e2f['length'],0x1)?'':'s')+'.','count':_0x572e2f['length'],'data':_0x572e2f};}}async function closePool(){const _0x2d0b69=a0_0x51f419,_0x51e4e6={'xoZYZ':'db_pool_closed','waPlC':_0x2d0b69(0x10a),'vbtQB':function(_0x159b05,_0x1867c8,_0x29e3e7,_0x54809a){return _0x159b05(_0x1867c8,_0x29e3e7,_0x54809a);}};if(!isPoolClosed)try{isPoolClosed=!![],await pool['end'](),logger['info']({'event':_0x51e4e6['xoZYZ']},_0x51e4e6['waPlC']);}catch(_0x4ba8c3){_0x51e4e6[_0x2d0b69(0x105)](logError,_0x4ba8c3,{'event':_0x2d0b69(0x135)},_0x2d0b69(0x115)+_0x4ba8c3['message']);}else logger['debug']({'event':'db_pool_already_closed'},_0x2d0b69(0x127));}async function checkConnection(){const _0x3554ff=a0_0x51f419,_0xa438c5={'kisTd':function(_0x2c6b12){return _0x2c6b12();},'YLFSh':_0x3554ff(0xfd)};try{const _0x5e0a2c=_0xa438c5['kisTd'](getPool),_0x1e9593=await _0x5e0a2c[_0x3554ff(0x11e)]();try{return await _0x1e9593['query']('SELECT\x201'),!![];}finally{_0x1e9593[_0x3554ff(0x12f)]();}}catch(_0x53b0b2){return logError(_0x53b0b2,{'event':_0xa438c5[_0x3554ff(0x134)]},'Error\x20checking\x20database\x20connection:\x20'+_0x53b0b2['message']),![];}}async function executeTransaction(_0x35338b){const _0x377f43=a0_0x51f419,_0x4c8d05={'hZSqQ':function(_0x389743){return _0x389743();},'xWMtr':'BEGIN','yvTeD':function(_0x341154){return _0x341154();},'jUNUd':function(_0x823678,_0x9e544b,_0x1e2f6d,_0x194b35){return _0x823678(_0x9e544b,_0x1e2f6d,_0x194b35);},'VCRdI':'COMMIT','DXfGp':_0x377f43(0x107),'fuHMz':_0x377f43(0x12c),'CjpUr':function(_0x1004b4,_0x48451a,_0x27bbfb,_0x7d0264){return _0x1004b4(_0x48451a,_0x27bbfb,_0x7d0264);},'fgqwa':'rollback_error'};let _0x3cdbda;const _0x35fb08=_0x4c8d05[_0x377f43(0x137)](startQueryTimer);try{const _0x3218b8=_0x4c8d05[_0x377f43(0x137)](getPool);_0x3cdbda=await _0x3218b8['connect'](),logTransaction(_0x377f43(0x118),_0x35338b[_0x377f43(0x108)]),await _0x3cdbda[_0x377f43(0x11a)](_0x4c8d05['xWMtr']);const _0x5a2559=[];for(const _0x2defab of _0x35338b){const _0x8d37f8=_0x4c8d05['yvTeD'](startQueryTimer),_0x2696ce=await _0x3cdbda[_0x377f43(0x11a)](_0x2defab[_0x377f43(0x120)],_0x2defab[_0x377f43(0x10d)]||[]),_0x47c658=_0x8d37f8();_0x4c8d05['jUNUd'](logQuery,_0x2defab['sql'],_0x2defab['params']||[],{'duration':_0x47c658,'rowsAffected':_0x2696ce['rowCount'],'dbType':'postgresql'}),_0x5a2559[_0x377f43(0xfb)](_0x2696ce['rows']);}await _0x3cdbda['query'](_0x4c8d05[_0x377f43(0x12d)]);const _0x10c519=_0x4c8d05['hZSqQ'](_0x35fb08);return logTransaction(_0x377f43(0x103),_0x35338b[_0x377f43(0x108)]),logger['info']({'event':_0x377f43(0x131),'queryCount':_0x35338b[_0x377f43(0x108)],'totalDurationMs':_0x10c519,'dbType':_0x4c8d05['DXfGp']},_0x377f43(0x111)+_0x10c519+'ms,\x20'+_0x35338b['length']+_0x377f43(0x102)),_0x5a2559;}catch(_0x5b6074){const _0x3498ad=_0x35fb08();logError(_0x5b6074,{'event':_0x377f43(0xfc),'queryCount':_0x35338b[_0x377f43(0x108)],'totalDurationMs':_0x3498ad,'code':_0x5b6074[_0x377f43(0x12a)],'dbType':'postgresql'},'Transaction\x20failed:\x20'+_0x5b6074[_0x377f43(0x112)]);if(_0x3cdbda)try{await _0x3cdbda[_0x377f43(0x11a)](_0x4c8d05[_0x377f43(0x104)]),logTransaction(_0x377f43(0x130),_0x35338b['length']);}catch(_0x4994ef){_0x4c8d05['CjpUr'](logError,_0x4994ef,{'event':_0x4c8d05[_0x377f43(0x123)],'dbType':_0x4c8d05[_0x377f43(0x124)]},'Error\x20rolling\x20back\x20transaction:\x20'+_0x4994ef['message']);}throw _0x5b6074;}finally{if(_0x3cdbda)try{_0x3cdbda[_0x377f43(0x12f)]();}catch(_0x1f492d){logger['error']({'event':'client_release_error','error':_0x1f492d[_0x377f43(0x112)],'dbType':_0x4c8d05[_0x377f43(0x124)]},'Error\x20releasing\x20transaction\x20client:\x20'+_0x1f492d[_0x377f43(0x112)]);}}}module['exports']={'executeQuery':executeQuery,'executeTransaction':executeTransaction,'formatResponse':formatResponse,'closePool':closePool,'getPool':getPool,'checkConnection':checkConnection};
1
+ const a0_0x59b2a8=a0_0x3211;function a0_0x27da(){const _0x91b2eb=['zgjFy29UBMvJDgLVBL9JAgvJA19LCNjVCG','tgfKsxy','mtq5mZy5nJbNBKvUsgS','mtKYlJe2oc4XmdaUmq','zgvIDwC','ChvZAa','Cg9ZDgDYzxmXmJm0','CM9SBgjHy2TFzxjYB3i','rwXfDha','CMvSzwfZzq','zw5K','C2LeqMW','rxjYB3iGy2XVC2LUzYbKyxrHyMfZzsbWB29SoIa','zxHWB3j0CW','Aw1Xy3O','mZu3mZu0mhvTBNzPrW','C3fS','vefctevFtK9ux0zpvu5e','y29Kzq','vhjHBNnHy3rPB24Gy29TBwL0DgvKicG','zgjFCg9VBf9JBg9Zzv9LCNjVCG','rfvXugS','AenKz2K','BgvUz3rO','CM93q291BNq','Aw5MBW','CM9SBgjHy2S','mJKWuezothLy','Cg9ZDgDYzxm','ihf1zxjPzxmP','Cg9ZDgDYzxnXBa','u1Lovefyx0vsuK9s','BxmSia','vhjHBNnHy3rPB24GzMfPBgvKoIa','rejFueftu1DpuKq','q0vSEe8','nwLqCgrXtW','rxjYB3iGCM9SBgLUzYbIywnRihrYyw5Zywn0Aw9UoIa','B1rzwhO','rxjYB3iGy2HLy2TPBMCGzgf0ywjHC2uGy29UBMvJDgLVBJOG','rgf0ywjHC2uGzxjYB3i6ia','CgfYyw1Z','ntq2mtK5nKzXB0TKzG','rgf0ywjHC2uGCg9VBcbJBg9ZzwqGC3vJy2vZC2z1BgX5','AM9NBNq','ve9vthO','q3jLyxrPBMCGBMv3igrHDgfIyxnLihbVB2WGkhbYzxzPB3vZihbVB2WGD2fZignSB3nLzcK','u253D2G','mZGYnJu4nfDTzNDyva','uvzbvfy','ndjqmde','nZm4nZC3ovzXs2XLsW','CxvLCNK','rejFse9tva','nJm3oxzWsNb2qq','zgjFCg9VBf9HBhjLywr5x2nSB3nLza','r0rmrfO','uxvLCNKGCMv0DxjUzwqG','q3LqDwG','C3LUDgf4igvYCM9Y','rfLUBNm','EKjRsKe','rxjYB3iGCMvSzwfZAw5NihrYyw5Zywn0Aw9UignSAwvUDdOG','Dxnit0G','BwvZC2fNzq','zw52','mtCXndK3otD0s3Luuw4','rejFue9sva','CK1JEKm','y29UBMvJDa'];a0_0x27da=function(){return _0x91b2eb;};return a0_0x27da();}(function(_0x27700d,_0x52cb84){const _0x5dd46d=a0_0x3211,_0x5c9aad=_0x27700d();while(!![]){try{const _0x868c52=parseInt(_0x5dd46d(0x1a1))/0x1*(-parseInt(_0x5dd46d(0x1cc))/0x2)+-parseInt(_0x5dd46d(0x1c0))/0x3+-parseInt(_0x5dd46d(0x195))/0x4*(-parseInt(_0x5dd46d(0x1d5))/0x5)+parseInt(_0x5dd46d(0x19b))/0x6+parseInt(_0x5dd46d(0x19e))/0x7+-parseInt(_0x5dd46d(0x1b3))/0x8+parseInt(_0x5dd46d(0x1ad))/0x9;if(_0x868c52===_0x52cb84)break;else _0x5c9aad['push'](_0x5c9aad['shift']());}catch(_0x556849){_0x5c9aad['push'](_0x5c9aad['shift']());}}}(a0_0x27da,0xef7ca));const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require('./logger'),dbConfig={'host':process['env'][a0_0x59b2a8(0x1a0)]||a0_0x59b2a8(0x1b4),'port':parseInt(process['env'][a0_0x59b2a8(0x1ae)]||'5432'),'user':process[a0_0x59b2a8(0x1ac)]['DB_USER']||a0_0x59b2a8(0x1cd),'password':process['env'][a0_0x59b2a8(0x1d3)]||a0_0x59b2a8(0x1b7),'database':process['env']['DB_NAME']||'dbxa03'};logDatabaseConfig({'host':dbConfig['host'],'port':dbConfig['port'],'database':dbConfig['database'],'type':'postgresql','user':dbConfig['user']});let pool=new Pool(dbConfig),isPoolClosed=![];function getPool(){const _0x241887=a0_0x59b2a8,_0x395ac4={'LadIv':_0x241887(0x199)};return isPoolClosed&&(logger[_0x241887(0x1ca)]({'event':'db_pool_recreate'},_0x395ac4[_0x241887(0x1b2)]),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}async function executeQuery(_0x1a54e2,_0x5e98e8=[]){const _0x3a7963=a0_0x59b2a8,_0x8830e={'DYnns':function(_0x4b5211){return _0x4b5211();},'imqcz':'postgresql','mAsqe':'sql_error'},_0x511fa0=startQueryTimer();try{const _0x3aba27=_0x8830e[_0x3a7963(0x1a7)](getPool),_0x51a36b=await _0x3aba27['connect']();try{const _0x3246c1=await _0x51a36b['query'](_0x1a54e2,_0x5e98e8),_0xe88777=_0x511fa0();return logQuery(_0x1a54e2,_0x5e98e8,{'duration':_0xe88777,'rowsAffected':_0x3246c1[_0x3a7963(0x1c9)],'dbType':_0x8830e[_0x3a7963(0x1bf)]}),_0x3246c1['rows'];}finally{_0x51a36b['release']();}}catch(_0xce0859){const _0xe62771=_0x511fa0();logError(_0xce0859,{'event':_0x8830e['mAsqe'],'query':_0x1a54e2['substring'](0x0,0x1f4),'paramCount':_0x5e98e8['length'],'durationMs':_0xe62771,'code':_0xce0859['code'],'dbType':_0x3a7963(0x1cf)},'SQL\x20Error:\x20'+_0xce0859[_0x3a7963(0x1ab)]);throw _0xce0859;}}function formatResponse(_0x294994,_0x5aa19a=null){const _0x1244ea=a0_0x59b2a8,_0x8fefe6={'usHOH':_0x1244ea(0x1a6),'Snwwh':function(_0x58434b,_0x53d7ff){return _0x58434b===_0x53d7ff;},'ZZkbG':'AUTHENTICATION_ERROR','zBkJA':function(_0x32bb0c,_0x1968be){return _0x32bb0c===_0x1968be;},'AUzWf':'08006','MEZNf':'CONNECTION_ERROR','CyPuh':function(_0x24bf05,_0x151832){return _0x24bf05===_0x151832;},'CElxO':'No\x20data\x20found.','ElEtp':function(_0x4da60d,_0x4d4865){return _0x4da60d===_0x4d4865;}};if(_0x5aa19a){let _0xb85273='UNKNOWN_ERROR';if(_0x5aa19a['message']['includes'](_0x8fefe6[_0x1244ea(0x1aa)]))_0xb85273=_0x1244ea(0x1d0);else{if(_0x8fefe6['Snwwh'](_0x5aa19a['code'],_0x1244ea(0x19d)))_0xb85273=_0x1244ea(0x1c2);else{if(_0x8fefe6[_0x1244ea(0x19a)](_0x5aa19a[_0x1244ea(0x1c3)],'28P01'))_0xb85273=_0x8fefe6['ZZkbG'];else(_0x8fefe6[_0x1244ea(0x1a8)](_0x5aa19a[_0x1244ea(0x1c3)],_0x8fefe6['AUzWf'])||_0x8fefe6[_0x1244ea(0x19a)](_0x5aa19a['code'],'08001'))&&(_0xb85273=_0x8fefe6['MEZNf']);}}return{'success':![],'message':_0x1244ea(0x1d9)+_0x5aa19a['message'],'count':-0x1,'error_code':_0xb85273};}else{if(!_0x294994||_0x8fefe6[_0x1244ea(0x1a5)](_0x294994['length'],0x0))return{'success':!![],'message':_0x8fefe6[_0x1244ea(0x1d4)],'count':0x0,'data':[]};return{'success':!![],'message':_0x1244ea(0x1a4)+_0x294994['length']+'\x20row'+(_0x8fefe6[_0x1244ea(0x1b9)](_0x294994[_0x1244ea(0x1c8)],0x1)?'':'s')+'.','count':_0x294994['length'],'data':_0x294994};}}async function closePool(){const _0xf05b55=a0_0x59b2a8,_0x4d877f={'QVATV':'db_pool_closed','TGrUG':function(_0x5a80aa,_0x4761be,_0x953b39,_0x4e40f1){return _0x5a80aa(_0x4761be,_0x953b39,_0x4e40f1);},'SQhGK':_0xf05b55(0x1c5),'cnWdO':_0xf05b55(0x1a2),'bykFs':'Database\x20pool\x20was\x20already\x20closed'};if(!isPoolClosed)try{isPoolClosed=!![],await pool[_0xf05b55(0x1bb)](),logger[_0xf05b55(0x1ca)]({'event':_0x4d877f[_0xf05b55(0x19c)]},_0xf05b55(0x196));}catch(_0x519029){_0x4d877f['TGrUG'](logError,_0x519029,{'event':_0x4d877f['SQhGK']},_0xf05b55(0x1bd)+_0x519029['message']);}else logger[_0xf05b55(0x1b5)]({'event':_0x4d877f['cnWdO']},_0x4d877f['bykFs']);}function a0_0x3211(_0xd84e13,_0x45f9a8){_0xd84e13=_0xd84e13-0x194;const _0x27da6d=a0_0x27da();let _0x3211e8=_0x27da6d[_0xd84e13];if(a0_0x3211['rLquph']===undefined){var _0x464667=function(_0x41229a){const _0x456353='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x25b3c5='',_0x2f23f9='';for(let _0x17a74c=0x0,_0x6a30d2,_0x3ecc36,_0x702729=0x0;_0x3ecc36=_0x41229a['charAt'](_0x702729++);~_0x3ecc36&&(_0x6a30d2=_0x17a74c%0x4?_0x6a30d2*0x40+_0x3ecc36:_0x3ecc36,_0x17a74c++%0x4)?_0x25b3c5+=String['fromCharCode'](0xff&_0x6a30d2>>(-0x2*_0x17a74c&0x6)):0x0){_0x3ecc36=_0x456353['indexOf'](_0x3ecc36);}for(let _0x1a9279=0x0,_0x39f8a7=_0x25b3c5['length'];_0x1a9279<_0x39f8a7;_0x1a9279++){_0x2f23f9+='%'+('00'+_0x25b3c5['charCodeAt'](_0x1a9279)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2f23f9);};a0_0x3211['Crkqcc']=_0x464667,a0_0x3211['nQpvab']={},a0_0x3211['rLquph']=!![];}const _0x297c47=_0x27da6d[0x0],_0x387f80=_0xd84e13+_0x297c47,_0x40820d=a0_0x3211['nQpvab'][_0x387f80];return!_0x40820d?(_0x3211e8=a0_0x3211['Crkqcc'](_0x3211e8),a0_0x3211['nQpvab'][_0x387f80]=_0x3211e8):_0x3211e8=_0x40820d,_0x3211e8;}async function checkConnection(){const _0x412ea5=a0_0x59b2a8,_0x2612da={'hCdgi':'SELECT\x201','siDBl':function(_0x17c9ef,_0xe6238f,_0x1d34d5,_0x4324d5){return _0x17c9ef(_0xe6238f,_0x1d34d5,_0x4324d5);}};try{const _0x4e7dd0=getPool(),_0x5f1853=await _0x4e7dd0['connect']();try{return await _0x5f1853[_0x412ea5(0x19f)](_0x2612da[_0x412ea5(0x1c7)]),!![];}finally{_0x5f1853['release']();}}catch(_0x48f02d){return _0x2612da[_0x412ea5(0x1bc)](logError,_0x48f02d,{'event':_0x412ea5(0x1b1)},_0x412ea5(0x1d8)+_0x48f02d[_0x412ea5(0x1ab)]),![];}}async function executeTransaction(_0x17c51e){const _0x21d28e=a0_0x59b2a8,_0x4d6ff0={'rMczC':function(_0x4ada8f){return _0x4ada8f();},'DUqPk':function(_0x2f9089){return _0x2f9089();},'GDLDZ':function(_0x1e4206,_0x2596c2,_0x4988cc){return _0x1e4206(_0x2596c2,_0x4988cc);},'RLGPF':function(_0x2d91f2,_0xc9fe04,_0x157eec,_0x23a79e){return _0x2d91f2(_0xc9fe04,_0x157eec,_0x23a79e);},'atGwi':function(_0x3128f6){return _0x3128f6();},'EGFou':'commit','jognt':_0x21d28e(0x1cf),'TOULz':function(_0x16658a,_0x4e9ad6,_0x4008af,_0x2b3b79){return _0x16658a(_0x4e9ad6,_0x4008af,_0x2b3b79);},'UsRcJ':'ROLLBACK','rlQNa':function(_0x22585c,_0x5ea555,_0x58277f){return _0x22585c(_0x5ea555,_0x58277f);},'klKvz':_0x21d28e(0x1cb),'PRIsL':function(_0x19cb4c,_0x41f456,_0x2a0a9d,_0x5d4134){return _0x19cb4c(_0x41f456,_0x2a0a9d,_0x5d4134);},'oTYXz':_0x21d28e(0x1b8)};let _0x8fb996;const _0x1aca3d=_0x4d6ff0[_0x21d28e(0x1af)](startQueryTimer);try{const _0x22179c=_0x4d6ff0[_0x21d28e(0x1c6)](getPool);_0x8fb996=await _0x22179c[_0x21d28e(0x1b0)](),_0x4d6ff0[_0x21d28e(0x1a3)](logTransaction,'start',_0x17c51e['length']),await _0x8fb996['query']('BEGIN');const _0x56ef28=[];for(const _0x4ad319 of _0x17c51e){const _0x221bb5=startQueryTimer(),_0x359162=await _0x8fb996[_0x21d28e(0x19f)](_0x4ad319['sql'],_0x4ad319[_0x21d28e(0x194)]||[]),_0x23dd8c=_0x221bb5();_0x4d6ff0['RLGPF'](logQuery,_0x4ad319[_0x21d28e(0x1c1)],_0x4ad319[_0x21d28e(0x194)]||[],{'duration':_0x23dd8c,'rowsAffected':_0x359162[_0x21d28e(0x1c9)],'dbType':_0x21d28e(0x1cf)}),_0x56ef28[_0x21d28e(0x1b6)](_0x359162['rows']);}await _0x8fb996[_0x21d28e(0x19f)]('COMMIT');const _0x760701=_0x4d6ff0['atGwi'](_0x1aca3d);return logTransaction(_0x4d6ff0['EGFou'],_0x17c51e['length']),logger['info']({'event':'transaction_complete','queryCount':_0x17c51e['length'],'totalDurationMs':_0x760701,'dbType':_0x4d6ff0[_0x21d28e(0x197)]},_0x21d28e(0x1c4)+_0x760701+_0x21d28e(0x1d1)+_0x17c51e[_0x21d28e(0x1c8)]+_0x21d28e(0x1ce)),_0x56ef28;}catch(_0x2bd963){const _0x2df54c=_0x4d6ff0['rMczC'](_0x1aca3d);_0x4d6ff0[_0x21d28e(0x198)](logError,_0x2bd963,{'event':'transaction_error','queryCount':_0x17c51e['length'],'totalDurationMs':_0x2df54c,'code':_0x2bd963['code'],'dbType':'postgresql'},_0x21d28e(0x1d2)+_0x2bd963[_0x21d28e(0x1ab)]);if(_0x8fb996)try{await _0x8fb996[_0x21d28e(0x19f)](_0x4d6ff0['UsRcJ']),_0x4d6ff0['rlQNa'](logTransaction,_0x4d6ff0['klKvz'],_0x17c51e[_0x21d28e(0x1c8)]);}catch(_0x344c65){_0x4d6ff0['PRIsL'](logError,_0x344c65,{'event':_0x4d6ff0[_0x21d28e(0x1d7)],'dbType':_0x4d6ff0[_0x21d28e(0x197)]},_0x21d28e(0x1d6)+_0x344c65[_0x21d28e(0x1ab)]);}throw _0x2bd963;}finally{if(_0x8fb996)try{_0x8fb996[_0x21d28e(0x1ba)]();}catch(_0x103813){logger['error']({'event':'client_release_error','error':_0x103813['message'],'dbType':_0x21d28e(0x1cf)},_0x21d28e(0x1a9)+_0x103813['message']);}}}module[a0_0x59b2a8(0x1be)]={'executeQuery':executeQuery,'executeTransaction':executeTransaction,'formatResponse':formatResponse,'closePool':closePool,'getPool':getPool,'checkConnection':checkConnection};
@@ -1 +1 @@
1
- const a0_0x42a245=a0_0x153d;function a0_0x2223(){const _0x23456d=['B3rW','zMf0ywW','Aw5JBhvKzxm','D3jPDgu','Dxb0Aw1L','BxLpyMC','zxHPC3rZu3LUyW','ze9mr2i','oI8V','qvbqx1zfuLnjt04','yxbPx3nLy3jLDa','nhPIz0v3rW','rfbQrge','ChjVzhvJDgLVBG','Cg9YDa','reiGuxvLCNK','Dfnwz0K','CgfZC3DVCMq','zw5KCg9PBNrFCMvNAxn0zxjLza','CgfYyw1Z','C2vYDMLJzuLUzM8','mtu3odeYCu5Aten0','DgvZDa','mtq1mfL3rKvQEG','vfbuwem','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','w1jfrefdvevexq','t1rRrwm','DhLWzq','AhvcA3O','Aw5MBW','zgv2zwXVCg1LBNq','CKfvtvK','zLfyt08','zhvYyxrPB25nCW','C2vJCMv0','y3jLzgvUDgLHBhm','y3jLzgvUDgLHBa','zxjY','uhjVy2vZCYbxyxjUAw5NoIa','rfb3yui','Bwf0y2G','C3rHDhvZ','qNv6AMm','CgLUBY1WCMv0DhK','BxmP','y3b1zwu','DgTbr1a','q0v6EM8','rxjYB3i','CgTpyMK','yM9KEq','Dhj1zq','q2rvu2e','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','mJu0ntm2nxr4AxDbsW','zgvIDwC','CgfZC3DK','zgf0ywjHC2u','CxvLCNK','Dg9mB3DLCKnHC2u','mZG2nZy0z0nvALLz','D2fYBG','zMf0ywXFzxjYB3i','mtjYyLnbs3i','q09ntuLu','Ec1Yzxf1zxn0lwLK','ntq5mdLeCKv0s08','EgXAz1e','C3rYAw5NAwz5','yMfZzvvYBa','mJK2nJqXmKXyqKDVsq','v2DPu3C','CgLUBW','rermx0rst1a','Dw5RBM93BG','u1fmx0Xpr19qqvjbtvm','yxbPs2v5','sLDux1nfq1jfva','rgvMyxvSDa','Dw5JyxvNAhrfEgnLChrPB24','Bwv0Ag9K','tfnnDhC','ChjVAMvJDf9SB2fKzwq','AxnVvgLTzq','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWRILzeGicaGicaGicaGicaGifjfu1rgt1jhrsbsvu5usu1fifnfuLzfuIaGicaGicaGicaGicaGicaG4PwrcUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','C3rKu2vYAwfSAxPLCNm','B3jPz2LUywXvCMW','sgj5r0S','y29Kzq','Ewfpt20','vfjbtLnbq1rjt05Fq09ntuLu','t1zfyLO','zw52','yu14Efa','Dg9vChbLCKnHC2u','C3rHy2S','BwfW','Dg9gAxHLza','DhjPBq','zgf0ywjHC2vFy29UzMLN','EvfPzNu','ChjVAMvJDa','AM9PBG','zu1HCgq','rfjpua','B2jQzwn0','BgvUz3rO','ms4WlJu','C3rHCNrZv2L0Aa','y3jLzgL0y2fYza','vfjbtLnbq1rjt05FqKvhsu4','BgnWChq','A2v5CW','Dg9ju09tDhjPBMC','C3nU','BMfTzq','revmrvrf','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','nduWntyZCgXgAefH','zxjYB3i','ChDK','C2vYDMvYx3n0yxj0Aw5N','EwvUAgm','Cgf0Aa','tgLvqvK','ywnJzxnZx3rVA2vU','yxbWlMXVzW','y3jLzgL0x2nHCMq','CMvZDgzVCMDL','nfLlyMzhCa','w09lxsbqCM9Qzwn0igXVywrLzdOG','u0vmrunu','shbpBgG','ChjPDMf0zwTLEq','C3rHDhvZq29Kzq','u1rbuLqGvfjbtLnbq1rjt04','quXurvi','BhzyC2m','vu5ltK9xtG','Ahj0Aw1L','AgvHBhrOq2HLy2S','BwvZC2fNzq','vfjbtLnbq1rjt05FuK9mtejbq0S','AgvHzgvYCW','icbizwfSDgG6ia','sMnythC','CxzqrMS','CgfKrw5K','D2fYBMLUzW','lI9SB2DZ','tgfADxO','E21Zz30','Bw9KDwXL','v0ngrui','wezouKK','u0vsvKLdrv9oqu1f','te9hx0XfvKvm','w1jfrefdveveoMHHC2HD','zMLSzv9SB2DNAw5Nx2vUywjSzwq','EKrjtKq','Ag9ZDa','Bg9N','Dw5Oyw5KBgvKuMvQzwn0Aw9U','yxv0Ag9YAxPHDgLVBG','z2v0','y3jLyxrLv3jPDgvtDhjLyw0','zMfSC2u','mta0mJiXmtjor1jrBhm','odaZugrxDMvW','CM93C0fMzMvJDgvK','shfeB1q','icbvuKW6icaGia','zgjFDhjHBNnHy3rPB24'];a0_0x2223=function(){return _0x23456d;};return a0_0x2223();}(function(_0x3033be,_0x1f25b1){const _0x4ca167=a0_0x153d,_0x32755e=_0x3033be();while(!![]){try{const _0x35fb5b=parseInt(_0x4ca167(0x195))/0x1*(-parseInt(_0x4ca167(0x1d7))/0x2)+parseInt(_0x4ca167(0x213))/0x3+-parseInt(_0x4ca167(0x1a0))/0x4*(parseInt(_0x4ca167(0x203))/0x5)+-parseInt(_0x4ca167(0x20c))/0x6*(parseInt(_0x4ca167(0x209))/0x7)+parseInt(_0x4ca167(0x1c6))/0x8+parseInt(_0x4ca167(0x20f))/0x9*(-parseInt(_0x4ca167(0x1e3))/0xa)+-parseInt(_0x4ca167(0x1c7))/0xb*(-parseInt(_0x4ca167(0x1e1))/0xc);if(_0x35fb5b===_0x1f25b1)break;else _0x32755e['push'](_0x32755e['shift']());}catch(_0x3590af){_0x32755e['push'](_0x32755e['shift']());}}}(a0_0x2223,0xce9a3));function a0_0x153d(_0x5d9419,_0x42ac6c){_0x5d9419=_0x5d9419-0x171;const _0x222307=a0_0x2223();let _0x153d91=_0x222307[_0x5d9419];if(a0_0x153d['vHclVa']===undefined){var _0x39829f=function(_0x3ce291){const _0x42b025='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x25e88b='',_0x2a1115='';for(let _0x5c7b9b=0x0,_0x5ec057,_0x1799a4,_0x5894f3=0x0;_0x1799a4=_0x3ce291['charAt'](_0x5894f3++);~_0x1799a4&&(_0x5ec057=_0x5c7b9b%0x4?_0x5ec057*0x40+_0x1799a4:_0x1799a4,_0x5c7b9b++%0x4)?_0x25e88b+=String['fromCharCode'](0xff&_0x5ec057>>(-0x2*_0x5c7b9b&0x6)):0x0){_0x1799a4=_0x42b025['indexOf'](_0x1799a4);}for(let _0x1e5b46=0x0,_0x50b66b=_0x25e88b['length'];_0x1e5b46<_0x50b66b;_0x1e5b46++){_0x2a1115+='%'+('00'+_0x25e88b['charCodeAt'](_0x1e5b46)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2a1115);};a0_0x153d['rgkszW']=_0x39829f,a0_0x153d['thgsCB']={},a0_0x153d['vHclVa']=!![];}const _0x42df12=_0x222307[0x0],_0x58a19a=_0x5d9419+_0x42df12,_0x47fbcc=a0_0x153d['thgsCB'][_0x58a19a];return!_0x47fbcc?(_0x153d91=a0_0x153d['rgkszW'](_0x153d91),a0_0x153d['thgsCB'][_0x58a19a]=_0x153d91):_0x153d91=_0x47fbcc,_0x153d91;}const pino=require(a0_0x42a245(0x215)),fs=require('fs'),path=require(a0_0x42a245(0x19a));let logToFile=![],logDir=a0_0x42a245(0x1b4),serviceName='restforge',sqlLogEnabled=![],sqlLogLevel=a0_0x42a245(0x204),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':a0_0x42a245(0x202),'singleLine':![],'levelFirst':!![],'messageFormat':a0_0x42a245(0x1b6),'customColors':a0_0x42a245(0x194),'hideObject':!![]},isDevelopment=process[a0_0x42a245(0x17b)]['NODE_ENV']!==a0_0x42a245(0x1d9),logLevel=process[a0_0x42a245(0x17b)][a0_0x42a245(0x1bb)]||a0_0x42a245(0x1ea);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x42a245(0x1f8),'options':prettyPrintOptions}:undefined,'base':{'service':a0_0x42a245(0x19f),'version':process[a0_0x42a245(0x17b)][a0_0x42a245(0x1d5)]||a0_0x42a245(0x18a),'env':process['env']['NODE_ENV']||a0_0x42a245(0x1eb)},'timestamp':pino['stdTimeFunctions'][a0_0x42a245(0x172)],'redact':{'paths':['req.headers.authorization',a0_0x42a245(0x1e5),a0_0x42a245(0x1dd),'token','apiKey','DB_PASSWORD',a0_0x42a245(0x21a)],'censor':a0_0x42a245(0x1e6)},'serializers':{'req':_0x441db2=>({'id':_0x441db2['id'],'method':_0x441db2[a0_0x42a245(0x21d)],'url':_0x441db2['url'],'path':_0x441db2[a0_0x42a245(0x19a)],'remoteAddress':_0x441db2['ip']||_0x441db2['connection']?.['remoteAddress']}),'res':_0x4babc5=>({'statusCode':_0x4babc5['statusCode'],'headers':_0x4babc5['getHeaders']?.()}),'err':pino[a0_0x42a245(0x174)][a0_0x42a245(0x1f2)]}});function initFileLogging(){const _0xd977a0=a0_0x42a245,_0x3ec3e7={'AGXWU':_0xd977a0(0x200),'LSMtw':function(_0x4f96c0,_0x165d18){return _0x4f96c0===_0x165d18;},'fHpJe':function(_0x4e1e14,_0x1ee9ca){return _0x4e1e14!==_0x1ee9ca;},'DPjDa':_0xd977a0(0x1c5),'tkAGP':'error.log','ysHmZ':function(_0x490e51,_0x379829,_0x252f74){return _0x490e51(_0x379829,_0x252f74);},'zDIND':'info'};if(fileLoggingInitialized)return;logToFile=process[_0xd977a0(0x17b)]['LOG_TO_FILE']===_0x3ec3e7['AGXWU'],logDir=process[_0xd977a0(0x17b)]['LOG_DIR']||_0xd977a0(0x1b4),serviceName=process[_0xd977a0(0x17b)][_0xd977a0(0x1ba)]||_0xd977a0(0x19f),sqlLogEnabled=_0x3ec3e7[_0xd977a0(0x21e)](process['env']['SQL_LOG_ENABLED'],_0x3ec3e7['AGXWU']),sqlLogLevel=process[_0xd977a0(0x17b)]['SQL_LOG_LEVEL']||_0xd977a0(0x204),sqlLogParams=_0x3ec3e7['fHpJe'](process[_0xd977a0(0x17b)][_0xd977a0(0x218)],_0x3ec3e7[_0xd977a0(0x1d8)]),sqlLogSlowThreshold=parseInt(process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x210abd=path['resolve'](process['cwd'](),logDir);try{!fs[_0xd977a0(0x1d2)](_0x210abd)&&fs['mkdirSync'](_0x210abd,{'recursive':!![]});}catch(_0x4d4379){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x210abd+':',_0x4d4379['message']),fileLoggingInitialized=!![];return;}const _0x423daf=path[_0xd977a0(0x185)](_0x210abd,_0xd977a0(0x19d)),_0x41d8b7=path[_0xd977a0(0x185)](_0x210abd,_0x3ec3e7[_0xd977a0(0x1fb)]);try{appLogStream=fs['createWriteStream'](_0x423daf,{'flags':'a'}),errorLogStream=fs[_0xd977a0(0x1c4)](_0x41d8b7,{'flags':'a'}),fileLoggingInitialized=!![];const _0x2ff4d7={'event':_0xd977a0(0x1bd),'logDir':_0x210abd,'files':[_0xd977a0(0x19d),'error.log']},_0x1434b2='File\x20logging\x20enabled:\x20'+_0x210abd;logger['info'](_0x2ff4d7,_0x1434b2),_0x3ec3e7['ysHmZ'](writeToFileLog,{..._0x2ff4d7,'level':_0xd977a0(0x1ea),'msg':_0x1434b2,'time':new Date()['toISOString']()},_0x3ec3e7[_0xd977a0(0x1be)]);}catch(_0x4e07dc){console[_0xd977a0(0x196)]('Failed\x20to\x20create\x20log\x20streams:',_0x4e07dc[_0xd977a0(0x1ac)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x1bdde1,_0x29a975){const _0x112536=a0_0x42a245,_0x2abe45={'LiUAY':function(_0x1330d7,_0x573bee){return _0x1330d7||_0x573bee;},'fQXOO':function(_0x2c4430,_0x3f7983){return _0x2c4430===_0x3f7983;},'pxaYx':'error','JcXLw':_0x112536(0x1cd)};if(_0x2abe45[_0x112536(0x19b)](!logToFile,!appLogStream))return;const _0x36da10={'service':serviceName,..._0x1bdde1},_0x21d731=JSON[_0x112536(0x211)](_0x36da10)+'\x0a';appLogStream[_0x112536(0x1cf)](_0x21d731),(_0x2abe45[_0x112536(0x1ed)](_0x29a975,_0x2abe45['pxaYx'])||_0x2abe45['fQXOO'](_0x29a975,_0x2abe45[_0x112536(0x1b0)]))&&(errorLogStream&&errorLogStream['write'](_0x21d731));}const createRequestLogger=(_0x31ea15={})=>{return logger['child'](_0x31ea15);},logServerStart=_0x39fa10=>{const _0x3de798=a0_0x42a245,_0x3beb6e={'yenhc':'N/A','nghVg':'ACTIVE','lvXsc':'NOT\x20ACTIVE'},_0x4af27a=_0x3de798(0x173)+(_0x39fa10['environment']||'Node.js')[_0x3de798(0x1b2)](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x39fa10['project']||_0x3beb6e[_0x3de798(0x199)])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0x39fa10['port']||0xbb8)[_0x3de798(0x1b2)](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x39fa10['configFile']||_0x3de798(0x21b))[_0x3de798(0x1b2)](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x39fa10[_0x3de798(0x219)]?_0x3beb6e['nghVg']:_0x3beb6e[_0x3de798(0x1a8)])[_0x3de798(0x1b2)](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x3de798(0x1c0)](_0x4af27a);const _0x2a34bb={'event':_0x3de798(0x198),'project':_0x39fa10['project'],'port':_0x39fa10['port'],'config':_0x39fa10['configFile'],'apiKeyEnabled':!!_0x39fa10[_0x3de798(0x219)]};logger['info'](_0x2a34bb),writeToFileLog({..._0x2a34bb,'level':_0x3de798(0x1ea),'msg':'Server\x20starting:\x20'+_0x39fa10[_0x3de798(0x184)]+'\x20on\x20port\x20'+_0x39fa10['port'],'time':new Date()['toISOString']()},'info');},logServerReady=_0x49be1c=>{const _0x4f771b=a0_0x42a245,_0x25bfa8={'WgiSw':'server_ready','OTkEc':'info'},_0x331265={'event':_0x25bfa8[_0x4f771b(0x214)],'port':_0x49be1c['port'],'module':_0x49be1c[_0x4f771b(0x1b7)],'healthCheck':_0x49be1c['healthCheck'],'serviceInfo':_0x49be1c['serviceInfo'],'baseUrl':_0x49be1c[_0x4f771b(0x212)]},_0x22b2fc='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x49be1c['port'];logger[_0x4f771b(0x1ea)](_0x331265,_0x22b2fc),writeToFileLog({..._0x331265,'level':_0x25bfa8[_0x4f771b(0x1e7)],'msg':_0x22b2fc,'time':new Date()[_0x4f771b(0x190)]()},_0x25bfa8['OTkEc']),_0x49be1c['healthCheck']&&logger['info'](_0x4f771b(0x1af)+_0x49be1c[_0x4f771b(0x1ab)]),_0x49be1c[_0x4f771b(0x1e0)]&&logger[_0x4f771b(0x1ea)]('\x20\x20Info:\x20\x20\x20'+_0x49be1c['serviceInfo']),_0x49be1c['baseUrl']&&logger[_0x4f771b(0x1ea)](_0x4f771b(0x1ca)+_0x49be1c['baseUrl']);},logProjectLoaded=(_0x275c5d,_0x402c41)=>{const _0x13b3af=a0_0x42a245,_0x12c187={'Llqhy':_0x13b3af(0x171),'JrOuz':'info'},_0x34169c={'event':_0x12c187['Llqhy'],'project':_0x275c5d,'path':_0x402c41},_0x174024=_0x13b3af(0x1a1)+_0x275c5d;logger['info'](_0x34169c,_0x174024),writeToFileLog({..._0x34169c,'level':_0x12c187['JrOuz'],'msg':_0x174024,'time':new Date()[_0x13b3af(0x190)]()},'info');},logEndpointRegistered=(_0x4eeba2,_0x5b680e)=>{const _0x4a152b=a0_0x42a245,_0x13ff67={'gApKL':_0x4a152b(0x1de),'PocBx':_0x4a152b(0x204)},_0xa658de={'event':_0x13ff67['gApKL'],'endpoint':_0x4eeba2,'route':_0x5b680e},_0x477b1e='\x20\x20→\x20'+_0x4eeba2+':\x20'+_0x5b680e;logger['debug'](_0xa658de,_0x477b1e),writeToFileLog({..._0xa658de,'level':_0x13ff67['PocBx'],'msg':_0x477b1e,'time':new Date()['toISOString']()},_0x4a152b(0x204));},logDatabaseConfig=_0x13ee68=>{const _0xfa95c7=a0_0x42a245,_0x1a7a4b={'dOLGb':_0xfa95c7(0x182),'duTKQ':function(_0x34110a,_0x366a12,_0xfe2b3d){return _0x34110a(_0x366a12,_0xfe2b3d);}},_0x317944={'event':_0x1a7a4b[_0xfa95c7(0x1d3)],'host':_0x13ee68['host'],'port':_0x13ee68[_0xfa95c7(0x1da)],'database':_0x13ee68[_0xfa95c7(0x206)],'type':_0x13ee68[_0xfa95c7(0x1e8)],'user':_0x13ee68['user']},_0x48545e='Database:\x20'+_0x13ee68['type']+_0xfa95c7(0x1d4)+_0x13ee68[_0xfa95c7(0x1bf)]+':'+_0x13ee68[_0xfa95c7(0x1da)]+'/'+_0x13ee68['database'];logger['debug'](_0x317944,_0x48545e),_0x1a7a4b['duTKQ'](writeToFileLog,{..._0x317944,'level':_0xfa95c7(0x204),'msg':_0x48545e,'time':new Date()['toISOString']()},_0xfa95c7(0x204));},logRequest=(_0x4f9cdc,_0x2ead3a,_0xac55bc)=>{const _0xe86a59=a0_0x42a245,_0x468c1e={'CEzzo':'http_request'},_0x4c4323={'event':_0x468c1e[_0xe86a59(0x1fc)],'method':_0x4f9cdc['method'],'path':_0x4f9cdc[_0xe86a59(0x19a)],'statusCode':_0x2ead3a[_0xe86a59(0x1a5)],'durationMs':_0xac55bc,'ip':_0x4f9cdc['ip']},_0x6155c7=_0x4f9cdc['method']+'\x20'+_0x4f9cdc[_0xe86a59(0x19a)]+'\x20-\x20'+_0x2ead3a[_0xe86a59(0x1a5)]+'\x20('+_0xac55bc+_0xe86a59(0x1f9);let _0x7089ab=_0xe86a59(0x1ea);if(_0x2ead3a[_0xe86a59(0x1a5)]>=0x1f4)_0x7089ab='error',logger[_0xe86a59(0x196)](_0x4c4323,_0x6155c7);else _0x2ead3a['statusCode']>=0x190?(_0x7089ab='warn',logger['warn'](_0x4c4323,_0x6155c7)):logger[_0xe86a59(0x1ea)](_0x4c4323,_0x6155c7);writeToFileLog({..._0x4c4323,'level':_0x7089ab,'msg':_0x6155c7,'time':new Date()[_0xe86a59(0x190)]()},_0x7089ab);},SENSITIVE_PARAM_PATTERNS=[a0_0x42a245(0x1dd),a0_0x42a245(0x205),a0_0x42a245(0x197),'token','access_token','refresh_token',a0_0x42a245(0x1ef),a0_0x42a245(0x1d6),'apikey','api_key',a0_0x42a245(0x1f1),a0_0x42a245(0x1f0),'pin',a0_0x42a245(0x1cc),'private_key','privatekey'],redactSensitiveParams=(_0x2d3bef,_0x45509a)=>{const _0x30d8d2=a0_0x42a245,_0x2d86ed={'CdUSa':'[REDACTED]','WCFEB':function(_0x387a9b,_0x23df40){return _0x387a9b===_0x23df40;},'jMbiO':function(_0x3dff5a,_0x4193c8){return _0x3dff5a>_0x4193c8;},'nJgoc':_0x30d8d2(0x1bc)};if(!_0x2d3bef||_0x2d3bef[_0x30d8d2(0x189)]===0x0)return _0x2d3bef;const _0x54be57=_0x45509a[_0x30d8d2(0x208)](),_0x57b34e=_0x54be57['match'](/\(([^)]+)\)\s*values/i);let _0x5edc63=[];_0x57b34e&&(_0x5edc63=_0x57b34e[0x1]['split'](',')[_0x30d8d2(0x17f)](_0x4c1336=>_0x4c1336[_0x30d8d2(0x181)]()[_0x30d8d2(0x208)]()));const _0x30565f=_0x54be57['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x30565f){const _0x9713b3=_0x30565f[0x1],_0x33e619=_0x9713b3[_0x30d8d2(0x1f5)](/(\w+)\s*=/g);_0x33e619&&(_0x5edc63=_0x33e619['map'](_0x4cbd8a=>_0x4cbd8a['replace'](/\s*=/,'')[_0x30d8d2(0x181)]()[_0x30d8d2(0x208)]()));}return _0x2d3bef['map']((_0x38f406,_0xfab5fb)=>{const _0xd78aaf=_0x30d8d2;if(_0x5edc63[_0xfab5fb]){const _0x28fe8b=_0x5edc63[_0xfab5fb],_0x52cd4c=SENSITIVE_PARAM_PATTERNS['some'](_0x5a56df=>_0x28fe8b[_0xd78aaf(0x1ce)](_0x5a56df));if(_0x52cd4c)return _0x2d86ed[_0xd78aaf(0x201)];}if(_0x2d86ed[_0xd78aaf(0x1b8)](typeof _0x38f406,'string')&&_0x2d86ed['jMbiO'](_0x38f406[_0xd78aaf(0x189)],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0xd78aaf(0x1e2)](_0x38f406)&&_0x38f406['includes']('.'))return'[REDACTED:token]';if(/^[a-fA-F0-9]{32,}$/[_0xd78aaf(0x1e2)](_0x38f406))return _0x2d86ed['nJgoc'];}return _0x38f406;});},parseQueryMetadata=_0x3ac4ca=>{const _0x3f7cf8=a0_0x42a245,_0x33edc6={'GsMIM':_0x3f7cf8(0x1a9),'xlZgQ':_0x3f7cf8(0x1a2),'LaZuz':'UPDATE','huBkz':_0x3f7cf8(0x193),'pkObi':_0x3f7cf8(0x18d),'VGnvE':_0x3f7cf8(0x1ad),'OVEbZ':'CREATE','HdhgM':_0x3f7cf8(0x187),'vyAne':_0x3f7cf8(0x216)},_0x1b9833=_0x3ac4ca[_0x3f7cf8(0x181)](),_0x25b621=_0x1b9833[_0x3f7cf8(0x17d)]();let _0x4eb333=_0x33edc6['GsMIM'],_0x2c67f4=null;if(_0x25b621[_0x3f7cf8(0x18b)](_0x33edc6['xlZgQ'])){_0x4eb333=_0x33edc6[_0x3f7cf8(0x210)];const _0x42bf35=_0x1b9833[_0x3f7cf8(0x1f5)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2c67f4=_0x42bf35?_0x42bf35[0x1]:null;}else{if(_0x25b621[_0x3f7cf8(0x18b)]('INSERT')){_0x4eb333='INSERT';const _0x153b9a=_0x1b9833['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2c67f4=_0x153b9a?_0x153b9a[0x1]:null;}else{if(_0x25b621[_0x3f7cf8(0x18b)](_0x33edc6[_0x3f7cf8(0x1b5)])){_0x4eb333=_0x33edc6['LaZuz'];const _0x14cf7d=_0x1b9833['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2c67f4=_0x14cf7d?_0x14cf7d[0x1]:null;}else{if(_0x25b621['startsWith'](_0x33edc6[_0x3f7cf8(0x1e9)])){_0x4eb333=_0x3f7cf8(0x193);const _0x239f41=_0x1b9833['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x2c67f4=_0x239f41?_0x239f41[0x1]:null;}else{if(_0x25b621[_0x3f7cf8(0x18b)]('BEGIN')||_0x25b621['startsWith'](_0x3f7cf8(0x1a6)))_0x4eb333=_0x33edc6[_0x3f7cf8(0x1fe)];else{if(_0x25b621[_0x3f7cf8(0x18b)](_0x3f7cf8(0x20d)))_0x4eb333=_0x3f7cf8(0x179);else{if(_0x25b621[_0x3f7cf8(0x18b)]('ROLLBACK'))_0x4eb333=_0x33edc6['VGnvE'];else{if(_0x25b621['startsWith'](_0x33edc6[_0x3f7cf8(0x17a)]))_0x4eb333='DDL_CREATE';else{if(_0x25b621['startsWith'](_0x3f7cf8(0x1a7)))_0x4eb333='DDL_ALTER';else _0x25b621['startsWith'](_0x33edc6['HdhgM'])&&(_0x4eb333=_0x33edc6['vyAne']);}}}}}}}}return{'type':_0x4eb333,'table':_0x2c67f4};},startQueryTimer=()=>{const _0x4e4bb5=a0_0x42a245,_0x3afe1a={'XFNRI':function(_0x587466,_0x56ef32){return _0x587466(_0x56ef32);},'vZTcW':function(_0x48439f,_0x1d0f1d){return _0x48439f/_0x1d0f1d;}},_0x483926=process[_0x4e4bb5(0x1aa)]();return()=>{const _0x5a212d=_0x4e4bb5,[_0x3ccce5,_0x249822]=process['hrtime'](_0x483926);return _0x3afe1a[_0x5a212d(0x1b9)](parseFloat,(_0x3ccce5*0x3e8+_0x3afe1a['vZTcW'](_0x249822,0xf4240))[_0x5a212d(0x180)](0x2));};},logQuery=(_0x4a4905,_0x2adbb0=[],_0x2f72da={})=>{const _0x227aa4=a0_0x42a245,_0xf5a7a8={'myObg':_0x227aa4(0x1db),'JXOiL':'postgresql','kBXEr':function(_0x174072,_0x2f3b8d,_0x5097b6){return _0x174072(_0x2f3b8d,_0x5097b6);},'yaOOm':function(_0xaf8909,_0x2e6148){return _0xaf8909!==_0x2e6148;},'enQTq':function(_0x474125,_0x1f8cc7){return _0x474125||_0x1f8cc7;},'HqDoT':'\x20[SLOW]','fllEm':function(_0x412a97,_0x1f087b){return _0x412a97===_0x1f087b;},'aMxxP':'info','bwAAU':function(_0x362033,_0x42e7ea,_0x39be48){return _0x362033(_0x42e7ea,_0x39be48);}};if(!sqlLogEnabled){logger['debug']({'event':'db_query','query':_0x4a4905['substring'](0x0,0xc8),'paramCount':_0x2adbb0[_0x227aa4(0x189)]},_0xf5a7a8[_0x227aa4(0x1d1)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0xf5a7a8['JXOiL']}=_0x2f72da,{type:_0x45c792,table:_0x2ed640}=parseQueryMetadata(_0x4a4905),_0x457f5b={'event':'sql_query','queryType':_0x45c792,'table':_0x2ed640,'query':_0x4a4905,'paramCount':_0x2adbb0[_0x227aa4(0x189)],'dbType':dbType};sqlLogParams&&_0x2adbb0[_0x227aa4(0x189)]>0x0&&(_0x457f5b[_0x227aa4(0x1df)]=_0xf5a7a8['kBXEr'](redactSensitiveParams,_0x2adbb0,_0x4a4905));_0xf5a7a8['yaOOm'](duration,null)&&(_0x457f5b[_0x227aa4(0x1ee)]=duration,_0x457f5b['isSlow']=duration>sqlLogSlowThreshold);_0xf5a7a8[_0x227aa4(0x178)](rowsAffected,null)&&(_0x457f5b[_0x227aa4(0x1c8)]=rowsAffected);const _0x2af25c=_0xf5a7a8['enQTq'](_0x2ed640,_0x227aa4(0x217));let _0x5824ad='['+_0x45c792+']\x20'+_0x2af25c;_0xf5a7a8[_0x227aa4(0x178)](duration,null)&&(_0x5824ad+='\x20('+duration+_0x227aa4(0x1f9));const _0x2d6343=duration!==null&&duration>sqlLogSlowThreshold;let _0x3241ae=_0x227aa4(0x204);if(_0x2d6343)_0x5824ad+=_0xf5a7a8[_0x227aa4(0x1c9)],_0x3241ae=_0x227aa4(0x20a),logger['warn'](_0x457f5b,_0x5824ad);else _0xf5a7a8['fllEm'](sqlLogLevel,_0xf5a7a8[_0x227aa4(0x17c)])?(_0x3241ae='info',logger[_0x227aa4(0x1ea)](_0x457f5b,_0x5824ad)):logger['debug'](_0x457f5b,_0x5824ad);_0xf5a7a8['bwAAU'](writeToFileLog,{..._0x457f5b,'level':_0x3241ae,'msg':_0x5824ad,'time':new Date()['toISOString']()},_0x3241ae);},logTransaction=(_0x4400f0,_0x1fd364)=>{const _0x47aa5d=a0_0x42a245,_0x533ee2={'FqAeP':_0x47aa5d(0x1cb),'tSVgI':_0x47aa5d(0x204)},_0x546344={'event':_0x533ee2['FqAeP'],'status':_0x4400f0,'queryCount':_0x1fd364},_0x713b16='Transaction\x20'+_0x4400f0;logger['debug'](_0x546344,_0x713b16),writeToFileLog({..._0x546344,'level':_0x533ee2[_0x47aa5d(0x1dc)],'msg':_0x713b16,'time':new Date()['toISOString']()},_0x533ee2[_0x47aa5d(0x1dc)]);},redactObject=_0x23877a=>{const _0x51635e=a0_0x42a245,_0x10bc7c={'yQifu':_0x51635e(0x188),'qvPFk':'password','QYaGZ':_0x51635e(0x197),'XaBtv':_0x51635e(0x1ef),'EesOQ':_0x51635e(0x1c2),'kHvmj':_0x51635e(0x19e),'xBMNT':'cvv','pzojB':_0x51635e(0x191),'PHlpc':'pin','HbyGK':function(_0x1226a2,_0x164171){return _0x1226a2(_0x164171);}};if(!_0x23877a||typeof _0x23877a!==_0x10bc7c['yQifu'])return _0x23877a;const _0x63dae9=[_0x10bc7c[_0x51635e(0x1b1)],'passwd',_0x10bc7c['QYaGZ'],'token',_0x10bc7c['XaBtv'],'apikey','api_key',_0x10bc7c['EesOQ'],_0x51635e(0x18c),_0x10bc7c['kHvmj'],_0x10bc7c['xBMNT'],_0x10bc7c['pzojB'],_0x10bc7c['PHlpc'],'private_key',_0x51635e(0x1a4),'refresh_token',_0x51635e(0x19c)],_0x2e4599=Array['isArray'](_0x23877a)?[..._0x23877a]:{..._0x23877a};for(const _0x2c3da4 of Object[_0x51635e(0x18f)](_0x2e4599)){const _0x4db4f4=_0x2c3da4['toLowerCase']();if(_0x63dae9['some'](_0x3c1bbe=>_0x4db4f4[_0x51635e(0x1ce)](_0x3c1bbe)))_0x2e4599[_0x2c3da4]=_0x51635e(0x1e6);else typeof _0x2e4599[_0x2c3da4]===_0x10bc7c[_0x51635e(0x183)]&&_0x2e4599[_0x2c3da4]!==null&&(_0x2e4599[_0x2c3da4]=_0x10bc7c[_0x51635e(0x176)](redactObject,_0x2e4599[_0x2c3da4]));}return _0x2e4599;},logError=(_0x51c783,_0x2b3ad5={},_0x3161b6=null)=>{const _0x3775e8=a0_0x42a245,_0xa6065d={'EAWdo':_0x3775e8(0x196)},_0x152ab4={'event':_0xa6065d['EAWdo'],'errorName':_0x51c783[_0x3775e8(0x192)]||'Error','errorMessage':_0x51c783['message'],'errorCode':_0x51c783['code']||null,'stack':_0x51c783['stack'],..._0x2b3ad5},_0x320665=_0x3161b6||'Error:\x20'+_0x51c783['message'];logger[_0x3775e8(0x196)](_0x152ab4,_0x320665),writeToFileLog({..._0x152ab4,'level':_0xa6065d['EAWdo'],'msg':_0x320665,'time':new Date()['toISOString']()},'error');},logFatalError=(_0x3650ed,_0x4e5b31={},_0x13bd2a=null)=>{const _0x3fd4b4=a0_0x42a245,_0x11d41f={'pxHQE':_0x3fd4b4(0x20b),'CoQqk':'CRITICAL','DPwaB':function(_0x26223d,_0x9994f1,_0x442bbc){return _0x26223d(_0x9994f1,_0x442bbc);},'RTeJe':'fatal','yNzSY':'error'},_0x1865f7={'event':_0x11d41f['pxHQE'],'errorName':_0x3650ed['name']||_0x3fd4b4(0x1fd),'errorMessage':_0x3650ed[_0x3fd4b4(0x1ac)],'errorCode':_0x3650ed['code']||null,'stack':_0x3650ed['stack'],'severity':_0x11d41f['CoQqk'],..._0x4e5b31},_0x4cbf85=_0x13bd2a||'FATAL:\x20'+_0x3650ed[_0x3fd4b4(0x1ac)];logger[_0x3fd4b4(0x1cd)](_0x1865f7,_0x4cbf85),_0x11d41f[_0x3fd4b4(0x1f4)](writeToFileLog,{..._0x1865f7,'level':_0x11d41f['RTeJe'],'msg':_0x4cbf85,'time':new Date()['toISOString']()},_0x11d41f['yNzSY']);},logHttpError=(_0x2558de,_0x36cada,_0x1ace13={})=>{const _0x239ffc=a0_0x42a245,_0x27127a={'Kptub':'http_error','BLnQy':'Error','NtChm':'user-agent','ZaStE':function(_0x3ae461,_0x12bce9){return _0x3ae461>=_0x12bce9;},'tshgn':function(_0x54cb78,_0x3fe9aa){return _0x54cb78>=_0x3fe9aa;},'PoMQn':_0x239ffc(0x20a),'TPTXC':'error'},_0x5cdb78={'event':_0x27127a['Kptub'],'errorName':_0x2558de[_0x239ffc(0x192)]||_0x27127a['BLnQy'],'errorMessage':_0x2558de[_0x239ffc(0x1ac)],'errorCode':_0x2558de[_0x239ffc(0x177)]||_0x2558de[_0x239ffc(0x1a5)]||0x1f4,'stack':_0x2558de['stack'],'method':_0x36cada?.[_0x239ffc(0x21d)],'url':_0x36cada?.['url']||_0x36cada?.[_0x239ffc(0x175)],'path':_0x36cada?.['path'],'ip':_0x36cada?.['ip']||_0x36cada?.['connection']?.['remoteAddress'],'userAgent':_0x36cada?.[_0x239ffc(0x1c3)]?.(_0x27127a['NtChm']),'requestId':_0x36cada?.['id']||_0x36cada?.[_0x239ffc(0x1ae)]?.[_0x239ffc(0x20e)],'body':_0x36cada?.[_0x239ffc(0x1ff)]?redactObject(_0x36cada[_0x239ffc(0x1ff)]):undefined,'query':_0x36cada?.[_0x239ffc(0x207)],..._0x1ace13},_0x4ef514=_0x2558de[_0x239ffc(0x1a5)]||_0x2558de['status']||0x1f4,_0x5a3334='HTTP\x20'+_0x4ef514+':\x20'+_0x2558de['message'];_0x27127a['ZaStE'](_0x4ef514,0x1f4)?logger[_0x239ffc(0x196)](_0x5cdb78,_0x5a3334):logger[_0x239ffc(0x20a)](_0x5cdb78,_0x5a3334),writeToFileLog({..._0x5cdb78,'level':_0x27127a['tshgn'](_0x4ef514,0x1f4)?'error':_0x27127a['PoMQn'],'msg':_0x5a3334,'time':new Date()[_0x239ffc(0x190)]()},_0x4ef514>=0x1f4?_0x27127a[_0x239ffc(0x1e4)]:_0x27127a['PoMQn']);},logUncaughtError=(_0x1da47d,_0x656ab8)=>{const _0x118fb8=a0_0x42a245,_0x23db6e={'EBcBW':function(_0x3dd0e1,_0x374225,_0x4d70fd){return _0x3dd0e1(_0x374225,_0x4d70fd);},'HpOlh':'error'},_0x4a0358={'event':_0x1da47d,'errorName':_0x656ab8?.['name']||_0x118fb8(0x1fd),'errorMessage':_0x656ab8?.[_0x118fb8(0x1ac)]||String(_0x656ab8),'errorCode':_0x656ab8?.[_0x118fb8(0x177)]||null,'stack':_0x656ab8?.[_0x118fb8(0x17e)],'severity':'CRITICAL','processId':process['pid'],'memoryUsage':process['memoryUsage'](),'uptime':process[_0x118fb8(0x1d0)]()},_0x36ec75='['+_0x1da47d['toUpperCase']()+']\x20'+(_0x656ab8?.['message']||_0x656ab8);logger['fatal'](_0x4a0358,_0x36ec75),_0x23db6e['EBcBW'](writeToFileLog,{..._0x4a0358,'level':'fatal','msg':_0x36ec75,'time':new Date()[_0x118fb8(0x190)]()},_0x23db6e[_0x118fb8(0x1a3)]);},setupGlobalErrorHandlers=()=>{const _0x508bd7=a0_0x42a245,_0x216721={'kPGFx':function(_0x35ce1d,_0x521242,_0x34c9ea){return _0x35ce1d(_0x521242,_0x34c9ea);},'PxtEM':'uncaughtException','eMapd':function(_0x4088f2,_0x528645,_0x5c9fa1){return _0x4088f2(_0x528645,_0x5c9fa1);},'dvtJJ':function(_0x5d92bc,_0x1f20df){return _0x5d92bc instanceof _0x1f20df;},'lcppt':function(_0x2b6c2c,_0x4068e3){return _0x2b6c2c(_0x4068e3);},'cpuee':'process_warning','aiskr':_0x508bd7(0x1b3),'YgkdG':'global_error_handlers_setup','rqywz':'Global\x20error\x20handlers\x20initialized','pLwxU':function(_0x83b778,_0x1a2741,_0xf8c6fa){return _0x83b778(_0x1a2741,_0xf8c6fa);},'CnDml':_0x508bd7(0x1ea)};process['on'](_0x508bd7(0x21c),_0x22d26e=>{const _0x28a343=_0x508bd7;_0x216721['kPGFx'](logUncaughtError,_0x216721['PxtEM'],_0x22d26e),_0x216721[_0x28a343(0x186)](setTimeout,()=>{process['exit'](0x1);},0x3e8);}),process['on']('unhandledRejection',(_0x5169fd,_0x800041)=>{const _0x46b6e8=_0x508bd7,_0x260789=_0x216721['dvtJJ'](_0x5169fd,Error)?_0x5169fd:new Error(_0x216721[_0x46b6e8(0x18e)](String,_0x5169fd));logUncaughtError(_0x46b6e8(0x1c1),_0x260789);}),process['on'](_0x216721['aiskr'],_0x3cf10b=>{const _0x2e4185=_0x508bd7;logger['warn']({'event':_0x216721[_0x2e4185(0x1fa)],'name':_0x3cf10b['name'],'message':_0x3cf10b['message'],'stack':_0x3cf10b[_0x2e4185(0x17e)]},_0x2e4185(0x1f3)+_0x3cf10b[_0x2e4185(0x1ac)]);});const _0x48ac1f={'event':_0x216721['YgkdG']},_0xfaed9d=_0x216721['rqywz'];logger[_0x508bd7(0x1ea)](_0x48ac1f,_0xfaed9d),_0x216721['pLwxU'](writeToFileLog,{..._0x48ac1f,'level':_0x216721['CnDml'],'msg':_0xfaed9d,'time':new Date()['toISOString']()},_0x216721['CnDml']);},createErrorHandlerMiddleware=()=>{const _0x17ff41={'rAUMY':function(_0x348390,_0x4c7baf,_0x371c1e){return _0x348390(_0x4c7baf,_0x371c1e);},'Buzjc':'x-request-id'};return(_0x13369f,_0x3b98fe,_0xe228bd,_0x50d736)=>{const _0x2368fc=a0_0x153d;_0x17ff41[_0x2368fc(0x1ec)](logHttpError,_0x13369f,_0x3b98fe);const _0x1a8140=_0x13369f['statusCode']||_0x13369f[_0x2368fc(0x1f6)]||0x1f4;_0xe228bd['status'](_0x1a8140)['json']({'success':![],'error':_0x1a8140>=0x1f4?'Internal\x20server\x20error':_0x13369f[_0x2368fc(0x1ac)],'requestId':_0x3b98fe['id']||_0x3b98fe['headers']?.[_0x17ff41[_0x2368fc(0x1f7)]]||null});};};module['exports']={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
1
+ const a0_0x1bfe63=a0_0x90f3;(function(_0x174b88,_0x5a2f86){const _0x2b2dbd=a0_0x90f3,_0x5e59dd=_0x174b88();while(!![]){try{const _0x48296f=-parseInt(_0x2b2dbd(0x1c0))/0x1+parseInt(_0x2b2dbd(0x1b0))/0x2*(-parseInt(_0x2b2dbd(0x202))/0x3)+parseInt(_0x2b2dbd(0x237))/0x4*(-parseInt(_0x2b2dbd(0x1eb))/0x5)+parseInt(_0x2b2dbd(0x1d2))/0x6*(parseInt(_0x2b2dbd(0x1fd))/0x7)+parseInt(_0x2b2dbd(0x1c9))/0x8+parseInt(_0x2b2dbd(0x21c))/0x9+parseInt(_0x2b2dbd(0x199))/0xa*(parseInt(_0x2b2dbd(0x1b7))/0xb);if(_0x48296f===_0x5a2f86)break;else _0x5e59dd['push'](_0x5e59dd['shift']());}catch(_0x387bbd){_0x5e59dd['push'](_0x5e59dd['shift']());}}}(a0_0x252d,0x937ce));const pino=require('pino'),fs=require('fs'),path=require('path');let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel=a0_0x1bfe63(0x21b),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':a0_0x1bfe63(0x19f),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process[a0_0x1bfe63(0x236)][a0_0x1bfe63(0x23d)]!==a0_0x1bfe63(0x1de),logLevel=process['env'][a0_0x1bfe63(0x20d)]||a0_0x1bfe63(0x1f2);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x1bfe63(0x220),'options':prettyPrintOptions}:undefined,'base':{'service':a0_0x1bfe63(0x221),'version':process[a0_0x1bfe63(0x236)]['APP_VERSION']||a0_0x1bfe63(0x19d),'env':process[a0_0x1bfe63(0x236)]['NODE_ENV']||a0_0x1bfe63(0x1af)},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':[a0_0x1bfe63(0x1c7),'req.headers[\x22x-api-key\x22]','password',a0_0x1bfe63(0x22e),'apiKey',a0_0x1bfe63(0x1b6),a0_0x1bfe63(0x1c4)],'censor':a0_0x1bfe63(0x1a1)},'serializers':{'req':_0xf743cd=>({'id':_0xf743cd['id'],'method':_0xf743cd['method'],'url':_0xf743cd['url'],'path':_0xf743cd[a0_0x1bfe63(0x190)],'remoteAddress':_0xf743cd['ip']||_0xf743cd[a0_0x1bfe63(0x238)]?.[a0_0x1bfe63(0x1f1)]}),'res':_0xcc2ec6=>({'statusCode':_0xcc2ec6['statusCode'],'headers':_0xcc2ec6['getHeaders']?.()}),'err':pino[a0_0x1bfe63(0x1d1)]['err']}});function a0_0x90f3(_0x14cb23,_0x5808cb){_0x14cb23=_0x14cb23-0x17e;const _0x252d50=a0_0x252d();let _0x90f32c=_0x252d50[_0x14cb23];if(a0_0x90f3['oczZnQ']===undefined){var _0x4cc608=function(_0x272ad5){const _0x244928='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x552671='',_0x283095='';for(let _0xafb438=0x0,_0x11657d,_0x1a2c4f,_0x527dfc=0x0;_0x1a2c4f=_0x272ad5['charAt'](_0x527dfc++);~_0x1a2c4f&&(_0x11657d=_0xafb438%0x4?_0x11657d*0x40+_0x1a2c4f:_0x1a2c4f,_0xafb438++%0x4)?_0x552671+=String['fromCharCode'](0xff&_0x11657d>>(-0x2*_0xafb438&0x6)):0x0){_0x1a2c4f=_0x244928['indexOf'](_0x1a2c4f);}for(let _0x30809b=0x0,_0x14588e=_0x552671['length'];_0x30809b<_0x14588e;_0x30809b++){_0x283095+='%'+('00'+_0x552671['charCodeAt'](_0x30809b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x283095);};a0_0x90f3['minUmi']=_0x4cc608,a0_0x90f3['NZcIXZ']={},a0_0x90f3['oczZnQ']=!![];}const _0x403009=_0x252d50[0x0],_0x3d474b=_0x14cb23+_0x403009,_0x1c26c2=a0_0x90f3['NZcIXZ'][_0x3d474b];return!_0x1c26c2?(_0x90f32c=a0_0x90f3['minUmi'](_0x90f32c),a0_0x90f3['NZcIXZ'][_0x3d474b]=_0x90f32c):_0x90f32c=_0x1c26c2,_0x90f32c;}function initFileLogging(){const _0x53eb98=a0_0x1bfe63,_0x32b210={'WVOJp':function(_0xf20b32,_0x525d4c){return _0xf20b32===_0x525d4c;},'OeeMZ':_0x53eb98(0x1f6),'xXTtD':'debug','WvKAN':function(_0x1749ab,_0x32b5da){return _0x1749ab!==_0x32b5da;},'RoEEN':_0x53eb98(0x188),'PVGpr':function(_0x2f6a09,_0x59179c){return _0x2f6a09(_0x59179c);},'WQCRm':_0x53eb98(0x23a),'nLNKo':_0x53eb98(0x189),'cpjxu':_0x53eb98(0x1f2)};if(fileLoggingInitialized)return;logToFile=_0x32b210[_0x53eb98(0x211)](process['env']['LOG_TO_FILE'],_0x32b210['OeeMZ']),logDir=process['env'][_0x53eb98(0x1d0)]||_0x53eb98(0x18e),serviceName=process['env'][_0x53eb98(0x223)]||_0x53eb98(0x221),sqlLogEnabled=process[_0x53eb98(0x236)]['SQL_LOG_ENABLED']===_0x32b210[_0x53eb98(0x233)],sqlLogLevel=process['env'][_0x53eb98(0x232)]||_0x32b210[_0x53eb98(0x1ba)],sqlLogParams=_0x32b210[_0x53eb98(0x1c8)](process[_0x53eb98(0x236)]['SQL_LOG_PARAMS'],_0x32b210[_0x53eb98(0x1ee)]),sqlLogSlowThreshold=_0x32b210[_0x53eb98(0x1b5)](parseInt,process['env'][_0x53eb98(0x20f)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x4f3544=path[_0x53eb98(0x1ea)](process['cwd'](),logDir);try{!fs[_0x53eb98(0x1d3)](_0x4f3544)&&fs['mkdirSync'](_0x4f3544,{'recursive':!![]});}catch(_0x342a24){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x4f3544+':',_0x342a24['message']),fileLoggingInitialized=!![];return;}const _0x417c55=path['join'](_0x4f3544,'app.log'),_0x50c5bc=path[_0x53eb98(0x1b4)](_0x4f3544,'error.log');try{appLogStream=fs[_0x53eb98(0x21e)](_0x417c55,{'flags':'a'}),errorLogStream=fs[_0x53eb98(0x21e)](_0x50c5bc,{'flags':'a'}),fileLoggingInitialized=!![];const _0x34c58d={'event':_0x32b210[_0x53eb98(0x1d7)],'logDir':_0x4f3544,'files':[_0x32b210['nLNKo'],_0x53eb98(0x1a7)]},_0x46c738=_0x53eb98(0x1a6)+_0x4f3544;logger['info'](_0x34c58d,_0x46c738),writeToFileLog({..._0x34c58d,'level':_0x32b210[_0x53eb98(0x210)],'msg':_0x46c738,'time':new Date()['toISOString']()},'info');}catch(_0x1c22c2){console[_0x53eb98(0x1f5)]('Failed\x20to\x20create\x20log\x20streams:',_0x1c22c2['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0x142216,_0xa245b5){const _0x30d5a1=a0_0x1bfe63,_0x1ac7a3={'fPrKc':function(_0x38a76f,_0x21e40c){return _0x38a76f||_0x21e40c;},'sUjZg':function(_0x39a678,_0x246381){return _0x39a678+_0x246381;},'gcJPk':function(_0x5844bb,_0xecd08d){return _0x5844bb===_0xecd08d;},'PIlij':'fatal'};if(_0x1ac7a3[_0x30d5a1(0x1fb)](!logToFile,!appLogStream))return;const _0x2223c6={'service':serviceName,..._0x142216},_0x5e3b63=_0x1ac7a3['sUjZg'](JSON['stringify'](_0x2223c6),'\x0a');appLogStream[_0x30d5a1(0x17e)](_0x5e3b63),(_0xa245b5===_0x30d5a1(0x1f5)||_0x1ac7a3['gcJPk'](_0xa245b5,_0x1ac7a3['PIlij']))&&(errorLogStream&&errorLogStream['write'](_0x5e3b63));}function a0_0x252d(){const _0x16bb85=['ufzhChi','rejFueftu1DpuKq','nJKWmtrutuX0rM8','zhvYyxrPB25nCW','zgjFCxvLCNK','EfHuDeq','tM9Kzs5QCW','zK1nuva','u0vmrunu','zNPZuuy','D2fYBG','otaZnJe1Eg90q2Dr','Ec1Yzxf1zxn0lwLK','C3bSAxq','C0fdvxK','sLDux1nfq1jfva','vwXeA3m','C2vJCMv0','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','v3zlqu4','nJiXodGWog9oAfz3uW','ANnVBG','CgfKrw5K','z2L3txC','C2vYDMLJzuLUzM8','Dw5Oyw5KBgvKuMvQzwn0Aw9U','zxHWB3j0CW','te9hx0rjuG','C3rKu2vYAwfSAxPLCNm','nKHpBxDKAq','zxHPC3rZu3LUyW','z2v0','BwvTB3j5vxnHz2u','C3rHCNrZv2L0Aa','v1fduM0','iokvKqRILzeGiefqssblzxKGicaGidOG','BwfW','Aw5JBhvKzxm','u2vYDMvYihn0yxj0Aw5NoIa','vfjbtLnbq1rjt05FuK9mtejbq0S','y3jLzgvUDgLHBhm','ChjVzhvJDgLVBG','y3jLzgL0y2fYza','yM9KEq','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','DKTQwMO','AgjoANO','DgvZDa','qunusvzf','yNvovxy','Dw5JyxvNAhrfEgnLChrPB24','rgvMyxvSDa','CgLK','CMvZB2X2zq','ntGZnte4mgPZDezKyW','CgfZC3DK','q1jjveLdquW','uM9fru4','yMfZzvvYBa','B2jQzwn0','CMvTB3rLqwrKCMvZCW','Aw5MBW','zgjFDhjHBNnHy3rPB24','C3rHDhvZq29Kzq','zxjYB3i','Dhj1zq','AxntBg93','B2HvC24','ANfHzfa','rxjYB3i','zLbYs2m','q1jfqvrf','nJe3odq2nLDUCeXjAq','CMvWBgfJzq','Bg9N','y3jLzgL0x2nHCMq','CgfYyw1Z','mJCYntqXm256AuTKtq','zMf0ywW','vu5ltK9xtG','rxjYB3i6ia','A2v5CW','CMvMCMvZAf90B2TLBG','zw52AxjVBM1LBNq','yLPwEuG','BLfABhq','C29Tzq','zfnwwMS','te9hx0XfvKvm','AgvHBhrOq2HLy2S','u1fmx0Xpr19tte9xx1riuKvtse9mra','y3bQEhu','v1zpsNa','ChjPDMf0zv9RzxK','C3rHDhvZ','Ahr0Cf9LCNjVCG','DxjS','Ahj0Aw1L','yxbPA2v5','r1LtsuC','zvjMreC','y3z2','zgvIDwC','mJK2nJGYm1nvv0LOBa','ChDK','y3jLyxrLv3jPDgvtDhjLyw0','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','CgLUBY1WCMv0DhK','CMvZDgzVCMDL','rermx0fmvevs','u0vsvKLdrv9oqu1f','Dg9ju09tDhjPBMC','uLjotg4','BgvUz3rO','z0fIzK0','rermx0rst1a','CuTHDwq','rKfuquW6ia','C2vYDMvYx3jLywr5','icdIHPiG','ChjPDMf0zwTLEq','Dg9Rzw4','vxnpuKy','w09lxsbqCM9Qzwn0igXVywrLzdOG','Dxb0Aw1L','u1fmx0Xpr19mrvzfta','t2vLtvO','Dw5RBM93BG','vLj6t2C','zw52','nhPurxzyzW','y29UBMvJDgLVBG','sw1ms3C','zMLSzv9SB2DNAw5Nx2vUywjSzwq','su5trvju','CxvLCNK','tK9erv9ftLy','D3jPDgu','v0nlyxq','Ahr0Cf9Yzxf1zxn0','yxv0Ag9YAxPHDgLVBG','Exf5req','ic0G','Cg9YDa','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','Dg9mB3DLCKnHC2u','yxbPs2v5','zMfSC2u','yxbWlMXVzW','tMnNqKe','DurlyLq','A2LItfa','u1rbuLqGvfjbtLnbq1rjt04','lI9SB2DZ','wuPKC28','Cgf0Aa','BxmP','tI9b','C3b1v24','Bwv0Ag9K','oI8V','DhLWzq','DKjLC2y','AxrlBMy','mJu0mg9Ks0j0wq','vvjkv3O','Bwf0y2G','wu5MsgG','ms4WlJu','BMfTzq','E21Zz30','q09ntuLu','w1jfrefdvevexq','B3LLCxi','ChjVAMvJDf9SB2fKzwq','zw5KCg9PBNrFCMvNAxn0zxjLza','BwvZC2fNzq','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','zxjYB3iUBg9N','AgvHzgvYCW','tKPVv28','sw50zxjUywWGC2vYDMvYigvYCM9Y','z2Xetge','y29Kzq','CgLU','DMLkuLy','zgv2zwXVCg1LBNq','mNbpt3DWyG','revmrvrf','Ag9ZDa','iokvKqRILzeGifbYB2PLy3qGicaGidOG','AM9PBG'];a0_0x252d=function(){return _0x16bb85;};return a0_0x252d();}const createRequestLogger=(_0x935f67={})=>{return logger['child'](_0x935f67);},logServerStart=_0x19b749=>{const _0x2e9186=a0_0x1bfe63,_0x437baf={'UlDks':_0x2e9186(0x1bb),'vBesf':_0x2e9186(0x1e8),'NJoWo':'NOT\x20ACTIVE','jbNqi':_0x2e9186(0x1f2)},_0x2e0207='\x0a╔═══════════════════════════════════════════════════════╗\x0a║\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20RESTFORGE\x20RUNTIME\x20SERVER\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20║\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x19b749[_0x2e9186(0x208)]||_0x437baf[_0x2e9186(0x1c5)])['padEnd'](0x26)+_0x2e9186(0x1b3)+(_0x19b749['project']||_0x2e9186(0x192))[_0x2e9186(0x1cb)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0x19b749[_0x2e9186(0x184)]||0xbb8)['padEnd'](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x19b749['configFile']||_0x437baf[_0x2e9186(0x197)])['padEnd'](0x26)+_0x2e9186(0x1d8)+(_0x19b749[_0x2e9186(0x187)]?_0x2e9186(0x1e5):_0x437baf[_0x2e9186(0x1a9)])[_0x2e9186(0x1cb)](0x26)+_0x2e9186(0x21f);console[_0x2e9186(0x1ff)](_0x2e0207);const _0x371029={'event':'server_starting','project':_0x19b749['project'],'port':_0x19b749[_0x2e9186(0x184)],'config':_0x19b749['configFile'],'apiKeyEnabled':!!_0x19b749['apiKey']};logger[_0x2e9186(0x1f2)](_0x371029),writeToFileLog({..._0x371029,'level':'info','msg':_0x2e9186(0x1db)+_0x19b749['project']+'\x20on\x20port\x20'+_0x19b749['port'],'time':new Date()['toISOString']()},_0x437baf['jbNqi']);},logServerReady=_0x3795b5=>{const _0x3e628a=a0_0x1bfe63,_0x228021={'dmgcE':_0x3e628a(0x22b),'uDKbT':function(_0x23f521,_0x48b5ba,_0x486e9a){return _0x23f521(_0x48b5ba,_0x486e9a);},'GYSIG':_0x3e628a(0x1f2)},_0x353ea2={'event':_0x228021['dmgcE'],'port':_0x3795b5[_0x3e628a(0x184)],'module':_0x3795b5['module'],'healthCheck':_0x3795b5[_0x3e628a(0x20e)],'serviceInfo':_0x3795b5[_0x3e628a(0x1cd)],'baseUrl':_0x3795b5['baseUrl']},_0x74bb24='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x3795b5['port'];logger[_0x3e628a(0x1f2)](_0x353ea2,_0x74bb24),_0x228021[_0x3e628a(0x18b)](writeToFileLog,{..._0x353ea2,'level':'info','msg':_0x74bb24,'time':new Date()[_0x3e628a(0x224)]()},_0x228021[_0x3e628a(0x218)]),_0x3795b5['healthCheck']&&logger[_0x3e628a(0x1f2)]('\x20\x20Health:\x20'+_0x3795b5[_0x3e628a(0x20e)]),_0x3795b5[_0x3e628a(0x1cd)]&&logger[_0x3e628a(0x1f2)]('\x20\x20Info:\x20\x20\x20'+_0x3795b5['serviceInfo']),_0x3795b5[_0x3e628a(0x1ef)]&&logger[_0x3e628a(0x1f2)]('\x20\x20URL:\x20\x20\x20\x20'+_0x3795b5['baseUrl']);},logProjectLoaded=(_0x962b9e,_0x3a06e9)=>{const _0x3a6136=a0_0x1bfe63,_0x568863={'PhHby':function(_0x2f6621,_0x6925b4,_0x17eced){return _0x2f6621(_0x6925b4,_0x17eced);},'mvQam':_0x3a6136(0x1f2)},_0x55d0e3={'event':_0x3a6136(0x1a3),'project':_0x962b9e,'path':_0x3a06e9},_0xf7de1b=_0x3a6136(0x230)+_0x962b9e;logger['info'](_0x55d0e3,_0xf7de1b),_0x568863['PhHby'](writeToFileLog,{..._0x55d0e3,'level':_0x568863['mvQam'],'msg':_0xf7de1b,'time':new Date()[_0x3a6136(0x224)]()},'info');},logEndpointRegistered=(_0x581ece,_0x1deec8)=>{const _0xce9fcd=a0_0x1bfe63,_0x3be213={'kibLP':_0xce9fcd(0x1a4),'zHQRI':'debug'},_0x4d23ab={'event':_0x3be213[_0xce9fcd(0x18c)],'endpoint':_0x581ece,'route':_0x1deec8},_0x262174=_0xce9fcd(0x22c)+_0x581ece+':\x20'+_0x1deec8;logger[_0xce9fcd(0x21b)](_0x4d23ab,_0x262174),writeToFileLog({..._0x4d23ab,'level':_0xce9fcd(0x21b),'msg':_0x262174,'time':new Date()['toISOString']()},_0x3be213['zHQRI']);},logDatabaseConfig=_0x439b3c=>{const _0x3769ca=a0_0x1bfe63,_0x69e0d2={'Durta':function(_0x3d5a02,_0x2fbcd4,_0x1c6ee2){return _0x3d5a02(_0x2fbcd4,_0x1c6ee2);},'WCKat':'debug'},_0x12aaeb={'event':'database_config','host':_0x439b3c['host'],'port':_0x439b3c['port'],'database':_0x439b3c['database'],'type':_0x439b3c[_0x3769ca(0x196)],'user':_0x439b3c['user']},_0x1d6ce4='Database:\x20'+_0x439b3c['type']+_0x3769ca(0x195)+_0x439b3c[_0x3769ca(0x1b2)]+':'+_0x439b3c['port']+'/'+_0x439b3c['database'];logger[_0x3769ca(0x21b)](_0x12aaeb,_0x1d6ce4),_0x69e0d2['Durta'](writeToFileLog,{..._0x12aaeb,'level':'debug','msg':_0x1d6ce4,'time':new Date()['toISOString']()},_0x69e0d2[_0x3769ca(0x17f)]);},logRequest=(_0x1d1384,_0x4a02f6,_0x4da5c9)=>{const _0x389f7f=a0_0x1bfe63,_0x14142f={'bztrK':_0x389f7f(0x1f2),'giwMw':function(_0x125376,_0x3d82e9){return _0x125376>=_0x3d82e9;},'eRfDG':_0x389f7f(0x1f5),'MUFot':function(_0x5b6599,_0xfd57ac,_0x3a5c34){return _0x5b6599(_0xfd57ac,_0x3a5c34);}},_0x17e7b7={'event':_0x389f7f(0x180),'method':_0x1d1384[_0x389f7f(0x194)],'path':_0x1d1384['path'],'statusCode':_0x4a02f6['statusCode'],'durationMs':_0x4da5c9,'ip':_0x1d1384['ip']},_0x92535e=_0x1d1384['method']+'\x20'+_0x1d1384['path']+_0x389f7f(0x183)+_0x4a02f6['statusCode']+'\x20('+_0x4da5c9+'ms)';let _0x5a151b=_0x14142f['bztrK'];if(_0x14142f[_0x389f7f(0x1cc)](_0x4a02f6['statusCode'],0x1f4))_0x5a151b=_0x14142f[_0x389f7f(0x219)],logger['error'](_0x17e7b7,_0x92535e);else _0x4a02f6['statusCode']>=0x190?(_0x5a151b=_0x389f7f(0x1bf),logger['warn'](_0x17e7b7,_0x92535e)):logger['info'](_0x17e7b7,_0x92535e);_0x14142f['MUFot'](writeToFileLog,{..._0x17e7b7,'level':_0x5a151b,'msg':_0x92535e,'time':new Date()['toISOString']()},_0x5a151b);},SENSITIVE_PARAM_PATTERNS=['password',a0_0x1bfe63(0x1ec),a0_0x1bfe63(0x21d),'token','access_token',a0_0x1bfe63(0x207),a0_0x1bfe63(0x1c6),'api_secret',a0_0x1bfe63(0x217),'api_key','credential',a0_0x1bfe63(0x1dd),'pin','otp','private_key','privatekey'],redactSensitiveParams=(_0x2e3947,_0x37beff)=>{const _0x4ac417=a0_0x1bfe63,_0x25c62b={'ltNDn':function(_0x92f2b4,_0x37762c){return _0x92f2b4>_0x37762c;},'oWrRA':'[REDACTED:token]','NMULV':function(_0x147f47,_0x3a8cad){return _0x147f47===_0x3a8cad;}};if(!_0x2e3947||_0x25c62b['NMULV'](_0x2e3947['length'],0x0))return _0x2e3947;const _0x36e1c6=_0x37beff[_0x4ac417(0x186)](),_0x5334f4=_0x36e1c6['match'](/\(([^)]+)\)\s*values/i);let _0x429285=[];_0x5334f4&&(_0x429285=_0x5334f4[0x1][_0x4ac417(0x1c2)](',')['map'](_0xdf79c7=>_0xdf79c7['trim']()['toLowerCase']()));const _0x1404d0=_0x36e1c6['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x1404d0){const _0x515c64=_0x1404d0[0x1],_0xbc84e4=_0x515c64[_0x4ac417(0x19b)](/(\w+)\s*=/g);_0xbc84e4&&(_0x429285=_0xbc84e4[_0x4ac417(0x1d9)](_0x4f2617=>_0x4f2617[_0x4ac417(0x1fe)](/\s*=/,'')['trim']()[_0x4ac417(0x186)]()));}return _0x2e3947[_0x4ac417(0x1d9)]((_0x5d26c6,_0x2e610a)=>{const _0x46d4f0=_0x4ac417;if(_0x429285[_0x2e610a]){const _0x36a4e6=_0x429285[_0x2e610a],_0x4d8e2c=SENSITIVE_PARAM_PATTERNS[_0x46d4f0(0x20b)](_0x296721=>_0x36a4e6[_0x46d4f0(0x1da)](_0x296721));if(_0x4d8e2c)return'[REDACTED]';}if(typeof _0x5d26c6==='string'&&_0x25c62b['ltNDn'](_0x5d26c6['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x5d26c6)&&_0x5d26c6[_0x46d4f0(0x1da)]('.'))return _0x25c62b['oWrRA'];if(/^[a-fA-F0-9]{32,}$/[_0x46d4f0(0x1e4)](_0x5d26c6))return'[REDACTED:hash]';}return _0x5d26c6;});},parseQueryMetadata=_0x10670d=>{const _0x3266ad=a0_0x1bfe63,_0x3191b={'XVSSB':'SELECT','buNUv':_0x3266ad(0x23b),'jqadP':'UPDATE','fzsQF':_0x3266ad(0x1b1),'nQZlt':'BEGIN','URJWz':_0x3266ad(0x18d),'dSVZk':'TRANSACTION_BEGIN','bZVyH':_0x3266ad(0x1a0),'SqHqi':'ROLLBACK','rSOBp':'ALTER'},_0x44de6a=_0x10670d['trim'](),_0x294fa0=_0x44de6a['toUpperCase']();let _0x4c0a4e=_0x3266ad(0x204),_0x30e5e1=null;if(_0x294fa0[_0x3266ad(0x1d6)](_0x3266ad(0x1bd))){_0x4c0a4e=_0x3191b['XVSSB'];const _0x949a13=_0x44de6a[_0x3266ad(0x19b)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x30e5e1=_0x949a13?_0x949a13[0x1]:null;}else{if(_0x294fa0['startsWith'](_0x3191b[_0x3266ad(0x1e6)])){_0x4c0a4e=_0x3191b['buNUv'];const _0x211607=_0x44de6a[_0x3266ad(0x19b)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x30e5e1=_0x211607?_0x211607[0x1]:null;}else{if(_0x294fa0[_0x3266ad(0x1d6)](_0x3191b['jqadP'])){_0x4c0a4e=_0x3191b[_0x3266ad(0x1f9)];const _0x385899=_0x44de6a['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x30e5e1=_0x385899?_0x385899[0x1]:null;}else{if(_0x294fa0[_0x3266ad(0x1d6)](_0x3191b[_0x3266ad(0x1be)])){_0x4c0a4e=_0x3191b[_0x3266ad(0x1be)];const _0x42b65c=_0x44de6a[_0x3266ad(0x19b)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x30e5e1=_0x42b65c?_0x42b65c[0x1]:null;}else{if(_0x294fa0[_0x3266ad(0x1d6)](_0x3191b[_0x3266ad(0x20a)])||_0x294fa0[_0x3266ad(0x1d6)](_0x3191b[_0x3266ad(0x19a)]))_0x4c0a4e=_0x3191b[_0x3266ad(0x20c)];else{if(_0x294fa0['startsWith'](_0x3191b[_0x3266ad(0x209)]))_0x4c0a4e='TRANSACTION_COMMIT';else{if(_0x294fa0[_0x3266ad(0x1d6)](_0x3191b['SqHqi']))_0x4c0a4e=_0x3266ad(0x1dc);else{if(_0x294fa0['startsWith'](_0x3266ad(0x1fc)))_0x4c0a4e='DDL_CREATE';else{if(_0x294fa0[_0x3266ad(0x1d6)](_0x3191b['rSOBp']))_0x4c0a4e=_0x3266ad(0x222);else _0x294fa0[_0x3266ad(0x1d6)]('DROP')&&(_0x4c0a4e=_0x3266ad(0x228));}}}}}}}}return{'type':_0x4c0a4e,'table':_0x30e5e1};},startQueryTimer=()=>{const _0x4004f0=a0_0x1bfe63,_0x52a910={'AhqKO':function(_0x393ec5,_0x5c63d3){return _0x393ec5(_0x5c63d3);},'CPvSG':function(_0x1af6b5,_0x374eed){return _0x1af6b5+_0x374eed;},'zlOEf':function(_0x5182bf,_0x172580){return _0x5182bf/_0x172580;}},_0x2d7caa=process[_0x4004f0(0x216)]();return()=>{const _0x396bce=_0x4004f0,[_0x3041d2,_0x378916]=process[_0x396bce(0x216)](_0x2d7caa);return _0x52a910['AhqKO'](parseFloat,_0x52a910['CPvSG'](_0x3041d2*0x3e8,_0x52a910['zlOEf'](_0x378916,0xf4240))['toFixed'](0x2));};},logQuery=(_0xd8c70,_0x518802=[],_0x7ab862={})=>{const _0x17b6cd=a0_0x1bfe63,_0x3f0df5={'nIkbg':_0x17b6cd(0x1b9),'CXnIK':'postgresql','fMMQP':function(_0x222659,_0x302330,_0x236785){return _0x222659(_0x302330,_0x236785);},'YJdso':function(_0xcf65ef,_0x5eda45){return _0xcf65ef!==_0x5eda45;},'sACUy':function(_0xda7c05,_0xfb99e2){return _0xda7c05>_0xfb99e2;},'gAbfM':'\x20[SLOW]','RRNLn':'warn','zPMJX':function(_0x472fda,_0x39ff06){return _0x472fda===_0x39ff06;}};if(!sqlLogEnabled){logger[_0x17b6cd(0x21b)]({'event':_0x3f0df5['nIkbg'],'query':_0xd8c70['substring'](0x0,0xc8),'paramCount':_0x518802['length']},'DB\x20Query');return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x3f0df5['CXnIK']}=_0x7ab862,{type:_0x18a087,table:_0x172f6d}=parseQueryMetadata(_0xd8c70),_0x450a4f={'event':'sql_query','queryType':_0x18a087,'table':_0x172f6d,'query':_0xd8c70,'paramCount':_0x518802[_0x17b6cd(0x226)],'dbType':dbType};sqlLogParams&&_0x518802[_0x17b6cd(0x226)]>0x0&&(_0x450a4f[_0x17b6cd(0x201)]=_0x3f0df5[_0x17b6cd(0x1bc)](redactSensitiveParams,_0x518802,_0xd8c70));_0x3f0df5[_0x17b6cd(0x18f)](duration,null)&&(_0x450a4f[_0x17b6cd(0x1b8)]=duration,_0x450a4f[_0x17b6cd(0x1f7)]=duration>sqlLogSlowThreshold);rowsAffected!==null&&(_0x450a4f['rowsAffected']=rowsAffected);const _0x4172ef=_0x172f6d||_0x17b6cd(0x234);let _0x5046db='['+_0x18a087+']\x20'+_0x4172ef;duration!==null&&(_0x5046db+='\x20('+duration+_0x17b6cd(0x191));const _0x28f508=duration!==null&&_0x3f0df5[_0x17b6cd(0x1c3)](duration,sqlLogSlowThreshold);let _0x2384a0=_0x17b6cd(0x21b);if(_0x28f508)_0x5046db+=_0x3f0df5[_0x17b6cd(0x227)],_0x2384a0=_0x3f0df5[_0x17b6cd(0x225)],logger['warn'](_0x450a4f,_0x5046db);else _0x3f0df5['zPMJX'](sqlLogLevel,'info')?(_0x2384a0=_0x17b6cd(0x1f2),logger['info'](_0x450a4f,_0x5046db)):logger[_0x17b6cd(0x21b)](_0x450a4f,_0x5046db);writeToFileLog({..._0x450a4f,'level':_0x2384a0,'msg':_0x5046db,'time':new Date()[_0x17b6cd(0x224)]()},_0x2384a0);},logTransaction=(_0x24a4a6,_0x66b4c4)=>{const _0x56d456=a0_0x1bfe63,_0x22352b={'DhbVa':_0x56d456(0x1f3),'VRzOg':'debug'},_0x47ad0b={'event':_0x22352b['DhbVa'],'status':_0x24a4a6,'queryCount':_0x66b4c4},_0x408f58='Transaction\x20'+_0x24a4a6;logger[_0x56d456(0x21b)](_0x47ad0b,_0x408f58),writeToFileLog({..._0x47ad0b,'level':'debug','msg':_0x408f58,'time':new Date()['toISOString']()},_0x22352b[_0x56d456(0x235)]);},redactObject=_0x4f2a9a=>{const _0x13f2e4=a0_0x1bfe63,_0x254673={'naihz':function(_0x27272c,_0xa7f68c){return _0x27272c!==_0xa7f68c;},'tOlov':'object','yqyDD':'pwd','itKnf':_0x13f2e4(0x181),'kGiOY':_0x13f2e4(0x1df),'UsORF':_0x13f2e4(0x200),'OtkWV':_0x13f2e4(0x21a),'vKjZj':_0x13f2e4(0x1ad),'wLHti':_0x13f2e4(0x22d),'pGrja':'[REDACTED]','YNfHh':function(_0x2a87b9,_0x4603e2){return _0x2a87b9(_0x4603e2);}};if(!_0x4f2a9a||_0x254673['naihz'](typeof _0x4f2a9a,_0x254673['tOlov']))return _0x4f2a9a;const _0x24f1f7=['password',_0x13f2e4(0x1ec),_0x254673[_0x13f2e4(0x182)],'token',_0x13f2e4(0x1c6),'apikey','api_key',_0x254673[_0x13f2e4(0x198)],_0x254673['kGiOY'],_0x254673[_0x13f2e4(0x22f)],_0x254673['OtkWV'],'ssn',_0x254673[_0x13f2e4(0x1e2)],_0x13f2e4(0x212),_0x254673['wLHti'],'refresh_token','access_token'],_0x358bd4=Array['isArray'](_0x4f2a9a)?[..._0x4f2a9a]:{..._0x4f2a9a};for(const _0x1ac90 of Object[_0x13f2e4(0x206)](_0x358bd4)){const _0x18a03f=_0x1ac90[_0x13f2e4(0x186)]();if(_0x24f1f7['some'](_0x43bbdf=>_0x18a03f['includes'](_0x43bbdf)))_0x358bd4[_0x1ac90]=_0x254673['pGrja'];else typeof _0x358bd4[_0x1ac90]===_0x13f2e4(0x1f0)&&_0x358bd4[_0x1ac90]!==null&&(_0x358bd4[_0x1ac90]=_0x254673[_0x13f2e4(0x19c)](redactObject,_0x358bd4[_0x1ac90]));}return _0x358bd4;},logError=(_0x38e3a1,_0x1517fb={},_0x255caf=null)=>{const _0x5c923a=a0_0x1bfe63,_0x27311d={'RwhTs':_0x5c923a(0x1f5),'hbNjz':_0x5c923a(0x1fa),'ImLKw':function(_0x4c837e,_0x4b726d,_0x388c32){return _0x4c837e(_0x4b726d,_0x388c32);}},_0x297f2c={'event':_0x27311d['RwhTs'],'errorName':_0x38e3a1[_0x5c923a(0x19e)]||_0x27311d[_0x5c923a(0x1e3)],'errorMessage':_0x38e3a1['message'],'errorCode':_0x38e3a1[_0x5c923a(0x1ac)]||null,'stack':_0x38e3a1['stack'],..._0x1517fb},_0x594ba3=_0x255caf||_0x5c923a(0x205)+_0x38e3a1[_0x5c923a(0x1a5)];logger[_0x5c923a(0x1f5)](_0x297f2c,_0x594ba3),_0x27311d[_0x5c923a(0x239)](writeToFileLog,{..._0x297f2c,'level':'error','msg':_0x594ba3,'time':new Date()['toISOString']()},_0x27311d['RwhTs']);},logFatalError=(_0x33fd2a,_0x2ca48e={},_0x169702=null)=>{const _0x7b8602=a0_0x1bfe63,_0x99e9c={'event':'fatal_error','errorName':_0x33fd2a[_0x7b8602(0x19e)]||_0x7b8602(0x1fa),'errorMessage':_0x33fd2a['message'],'errorCode':_0x33fd2a['code']||null,'stack':_0x33fd2a['stack'],'severity':'CRITICAL',..._0x2ca48e},_0x1de159=_0x169702||_0x7b8602(0x22a)+_0x33fd2a[_0x7b8602(0x1a5)];logger['fatal'](_0x99e9c,_0x1de159),writeToFileLog({..._0x99e9c,'level':_0x7b8602(0x203),'msg':_0x1de159,'time':new Date()[_0x7b8602(0x224)]()},_0x7b8602(0x1f5));},logHttpError=(_0x1e9bb3,_0x824ade,_0x3c58f4={})=>{const _0x4d4ab0=a0_0x1bfe63,_0x2ad7da={'vtcsm':'user-agent','NcgBA':_0x4d4ab0(0x1c1),'ptkpE':function(_0x58455d,_0xcaa2fa){return _0x58455d(_0xcaa2fa);},'qKaud':function(_0x56f909,_0x26d046){return _0x56f909>=_0x26d046;},'glDLa':function(_0x4a2c40,_0x39a7ff){return _0x4a2c40>=_0x39a7ff;},'ohUsn':_0x4d4ab0(0x1f5)},_0x18e44e={'event':_0x4d4ab0(0x214),'errorName':_0x1e9bb3['name']||'Error','errorMessage':_0x1e9bb3['message'],'errorCode':_0x1e9bb3['code']||_0x1e9bb3[_0x4d4ab0(0x1f4)]||0x1f4,'stack':_0x1e9bb3['stack'],'method':_0x824ade?.[_0x4d4ab0(0x194)],'url':_0x824ade?.[_0x4d4ab0(0x215)]||_0x824ade?.['originalUrl'],'path':_0x824ade?.[_0x4d4ab0(0x190)],'ip':_0x824ade?.['ip']||_0x824ade?.['connection']?.['remoteAddress'],'userAgent':_0x824ade?.[_0x4d4ab0(0x1d4)]?.(_0x2ad7da['vtcsm']),'requestId':_0x824ade?.['id']||_0x824ade?.[_0x4d4ab0(0x1a8)]?.[_0x2ad7da[_0x4d4ab0(0x18a)]],'body':_0x824ade?.[_0x4d4ab0(0x1e0)]?_0x2ad7da['ptkpE'](redactObject,_0x824ade[_0x4d4ab0(0x1e0)]):undefined,'query':_0x824ade?.[_0x4d4ab0(0x23c)],..._0x3c58f4},_0x40d066=_0x1e9bb3['statusCode']||_0x1e9bb3[_0x4d4ab0(0x213)]||0x1f4,_0x1759e3='HTTP\x20'+_0x40d066+':\x20'+_0x1e9bb3[_0x4d4ab0(0x1a5)];_0x2ad7da[_0x4d4ab0(0x229)](_0x40d066,0x1f4)?logger[_0x4d4ab0(0x1f5)](_0x18e44e,_0x1759e3):logger['warn'](_0x18e44e,_0x1759e3),writeToFileLog({..._0x18e44e,'level':_0x2ad7da['glDLa'](_0x40d066,0x1f4)?_0x4d4ab0(0x1f5):'warn','msg':_0x1759e3,'time':new Date()[_0x4d4ab0(0x224)]()},_0x2ad7da[_0x4d4ab0(0x1ab)](_0x40d066,0x1f4)?_0x2ad7da[_0x4d4ab0(0x1f8)]:'warn');},logUncaughtError=(_0x421e93,_0x307d1f)=>{const _0x16a75c=a0_0x1bfe63,_0x29fce3={'spuWn':'Error','gdUfk':function(_0x4e2821,_0x1837e8,_0x4e0e6f){return _0x4e2821(_0x1837e8,_0x4e0e6f);},'viJRV':_0x16a75c(0x1f5)},_0x88269f={'event':_0x421e93,'errorName':_0x307d1f?.[_0x16a75c(0x19e)]||_0x29fce3[_0x16a75c(0x193)],'errorMessage':_0x307d1f?.['message']||String(_0x307d1f),'errorCode':_0x307d1f?.['code']||null,'stack':_0x307d1f?.['stack'],'severity':_0x16a75c(0x1ed),'processId':process[_0x16a75c(0x1e9)],'memoryUsage':process[_0x16a75c(0x1d5)](),'uptime':process[_0x16a75c(0x231)]()},_0x483338='['+_0x421e93['toUpperCase']()+']\x20'+(_0x307d1f?.['message']||_0x307d1f);logger['fatal'](_0x88269f,_0x483338),_0x29fce3['gdUfk'](writeToFileLog,{..._0x88269f,'level':_0x16a75c(0x203),'msg':_0x483338,'time':new Date()['toISOString']()},_0x29fce3[_0x16a75c(0x1ae)]);},setupGlobalErrorHandlers=()=>{const _0x38c2d1=a0_0x1bfe63,_0x3f7323={'oyeqr':function(_0x2d1d0d,_0x5eb8e8,_0x329913){return _0x2d1d0d(_0x5eb8e8,_0x329913);},'jBhqQ':function(_0x2de8ff,_0x2f0491,_0xf8f681){return _0x2de8ff(_0x2f0491,_0xf8f681);},'HtIMK':function(_0x1ee30c,_0x424cbe){return _0x1ee30c(_0x424cbe);},'OORng':_0x38c2d1(0x1f2)};process['on'](_0x38c2d1(0x1e7),_0x1fbbc8=>{const _0x139e0d=_0x38c2d1;_0x3f7323[_0x139e0d(0x1a2)](logUncaughtError,'uncaughtException',_0x1fbbc8),_0x3f7323['jBhqQ'](setTimeout,()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x38c2d1(0x1ce),(_0x359d82,_0x198cd4)=>{const _0x143d53=_0x359d82 instanceof Error?_0x359d82:new Error(_0x3f7323['HtIMK'](String,_0x359d82));_0x3f7323['jBhqQ'](logUncaughtError,'unhandledRejection',_0x143d53);}),process['on']('warning',_0x3f60d1=>{const _0x18667d=_0x38c2d1;logger[_0x18667d(0x1bf)]({'event':'process_warning','name':_0x3f60d1[_0x18667d(0x19e)],'message':_0x3f60d1['message'],'stack':_0x3f60d1['stack']},'Process\x20Warning:\x20'+_0x3f60d1['message']);});const _0x4fed47={'event':_0x38c2d1(0x185)},_0x3d3ed4=_0x38c2d1(0x1e1);logger[_0x38c2d1(0x1f2)](_0x4fed47,_0x3d3ed4),_0x3f7323['oyeqr'](writeToFileLog,{..._0x4fed47,'level':'info','msg':_0x3d3ed4,'time':new Date()['toISOString']()},_0x3f7323['OORng']);},createErrorHandlerMiddleware=()=>{const _0x17471d=a0_0x1bfe63,_0x1a7cb0={'iMHhz':function(_0x3a0fc8,_0x2f8ca3){return _0x3a0fc8>=_0x2f8ca3;},'HyDxs':_0x17471d(0x1c1)};return(_0x5895e8,_0x593192,_0x1d48cd,_0x1f0b63)=>{const _0x2e5c4b=_0x17471d;logHttpError(_0x5895e8,_0x593192);const _0x1fe934=_0x5895e8['statusCode']||_0x5895e8[_0x2e5c4b(0x213)]||0x1f4;_0x1d48cd[_0x2e5c4b(0x213)](_0x1fe934)[_0x2e5c4b(0x1ca)]({'success':![],'error':_0x1a7cb0['iMHhz'](_0x1fe934,0x1f4)?_0x2e5c4b(0x1aa):_0x5895e8['message'],'requestId':_0x593192['id']||_0x593192['headers']?.[_0x1a7cb0['HyDxs']]||null});};};module[a0_0x1bfe63(0x1cf)]={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
@@ -1 +1 @@
1
- const a0_0x188a3a=a0_0x30e9;function a0_0x30e9(_0x3a04c3,_0x135e29){_0x3a04c3=_0x3a04c3-0x1ee;const _0x9bbd04=a0_0x9bbd();let _0x30e9b2=_0x9bbd04[_0x3a04c3];if(a0_0x30e9['htqsnS']===undefined){var _0x47e9b9=function(_0x3e7fa0){const _0x10a93e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x358d4f='',_0x250c5d='';for(let _0x667c14=0x0,_0xcbb48f,_0x28e23e,_0x161722=0x0;_0x28e23e=_0x3e7fa0['charAt'](_0x161722++);~_0x28e23e&&(_0xcbb48f=_0x667c14%0x4?_0xcbb48f*0x40+_0x28e23e:_0x28e23e,_0x667c14++%0x4)?_0x358d4f+=String['fromCharCode'](0xff&_0xcbb48f>>(-0x2*_0x667c14&0x6)):0x0){_0x28e23e=_0x10a93e['indexOf'](_0x28e23e);}for(let _0x5d42d8=0x0,_0x53ec00=_0x358d4f['length'];_0x5d42d8<_0x53ec00;_0x5d42d8++){_0x250c5d+='%'+('00'+_0x358d4f['charCodeAt'](_0x5d42d8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x250c5d);};a0_0x30e9['yFGKIx']=_0x47e9b9,a0_0x30e9['xLKLZf']={},a0_0x30e9['htqsnS']=!![];}const _0x5d243b=_0x9bbd04[0x0],_0x2dd53d=_0x3a04c3+_0x5d243b,_0x4717d9=a0_0x30e9['xLKLZf'][_0x2dd53d];return!_0x4717d9?(_0x30e9b2=a0_0x30e9['yFGKIx'](_0x30e9b2),a0_0x30e9['xLKLZf'][_0x2dd53d]=_0x30e9b2):_0x30e9b2=_0x4717d9,_0x30e9b2;}(function(_0x5dd84,_0x3824e6){const _0x41a540=a0_0x30e9,_0x26749b=_0x5dd84();while(!![]){try{const _0x5c63ed=parseInt(_0x41a540(0x1fb))/0x1*(-parseInt(_0x41a540(0x1fe))/0x2)+-parseInt(_0x41a540(0x1f0))/0x3+parseInt(_0x41a540(0x1f5))/0x4+-parseInt(_0x41a540(0x20c))/0x5+-parseInt(_0x41a540(0x210))/0x6*(-parseInt(_0x41a540(0x201))/0x7)+parseInt(_0x41a540(0x214))/0x8*(parseInt(_0x41a540(0x1f1))/0x9)+parseInt(_0x41a540(0x1f7))/0xa*(parseInt(_0x41a540(0x21a))/0xb);if(_0x5c63ed===_0x3824e6)break;else _0x26749b['push'](_0x26749b['shift']());}catch(_0x2a9353){_0x26749b['push'](_0x26749b['shift']());}}}(a0_0x9bbd,0x3479f));function a0_0x9bbd(){const _0x5035ff=['AM9PBG','Cgf5Bg9Hzf9SB2fKzwq','Dvj0rKC','y2fJAgu','mtfIExnXv0C','DgfIBgvoyw1L','rMPYCu8','D3DMBNm','mJqZotq4uu5gvNLM','mJC0nJe3qNPvzwPK','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','lwv4Cg9YDa','lI4VlI4VCgf5Bg9Hza','mta1odm5nMn3rfjgza','Cgf0Aa','mtaYmZy4mgTXAfv4tq','Axnby3rPB25fBMfIBgvK','zxjYB3i','ywn0Aw9U','mundu3fxEq','y2XLyxi','BwvZC2fNzq','oty2ntj3qLHgDKK','CgfYC2u','C2v0','mtKYmda3owzMCNjptG','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','wej5DxO','z2v0rxHWB3j0q29UzMLN','ugf5Bg9HzcbUB3qGzM91BMq6ia','zxHWB3j0CW','z2v0','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','Cgf5Bg9HzerPCG','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','y29SDw1UrM9YBwf0CW','mtyZntK2mgXvC3HVAG','DNror04','Bg9HzfbHEwXVywq','tMv1yLK','nKXxq0nPrW','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','ChjVBwLZzxm','ogvuDMzUta','ugf5Bg9HzcbJywnOzsbJBgvHCMvK'];a0_0x9bbd=function(){return _0x5035ff;};return a0_0x9bbd();}const fs=require('fs')[a0_0x188a3a(0x213)],path=require(a0_0x188a3a(0x1f6)),{logger}=require('./logger');class PayloadLoader{constructor(){const _0x36a60c=a0_0x188a3a;this['payloadDir']=path[_0x36a60c(0x216)](__dirname,_0x36a60c(0x1f4)),this['cache']=new Map();}async[a0_0x188a3a(0x20e)](_0x31e5e4,_0x2c31c6){const _0x79b88b=a0_0x188a3a,_0x38f766={'uRtFG':'payload_loaded','wwfns':_0x79b88b(0x1f2),'XByuz':_0x79b88b(0x208)},_0x11c0a6=_0x31e5e4+':'+_0x2c31c6;if(this['cache']['has'](_0x11c0a6))return this['cache'][_0x79b88b(0x207)](_0x11c0a6);const _0x49c286=path[_0x79b88b(0x216)](this['payloadDir'],_0x31e5e4+'_'+_0x2c31c6+'.json');try{const _0x4040df=await fs['readFile'](_0x49c286,'utf8'),_0x275b84=JSON['parse'](_0x4040df);return this[_0x79b88b(0x219)][_0x79b88b(0x200)](_0x11c0a6,_0x275b84),logger['debug']({'event':_0x38f766[_0x79b88b(0x218)],'project':_0x31e5e4,'resource':_0x2c31c6},_0x79b88b(0x211)),_0x275b84;}catch(_0x5d318c){logger[_0x79b88b(0x1f9)]({'event':_0x38f766[_0x79b88b(0x1ef)],'project':_0x31e5e4,'resource':_0x2c31c6,'error':_0x5d318c[_0x79b88b(0x1fd)]},_0x38f766[_0x79b88b(0x203)]);throw new Error('Payload\x20not\x20found:\x20'+_0x31e5e4+'_'+_0x2c31c6);}}async['loadPayloadByName'](_0x283ee4){const _0x1a5eec=a0_0x188a3a,_0x3a2f5d={'NeubY':_0x1a5eec(0x217),'vtNGN':_0x1a5eec(0x20a),'FjrqO':_0x1a5eec(0x1f2)},_0x231d6b='payload:'+_0x283ee4;if(this[_0x1a5eec(0x219)]['has'](_0x231d6b))return this['cache']['get'](_0x231d6b);const _0x1058fa=path[_0x1a5eec(0x216)](this[_0x1a5eec(0x209)],_0x283ee4+'.json');try{const _0x4445d8=await fs['readFile'](_0x1058fa,'utf8'),_0x136b4e=JSON[_0x1a5eec(0x1ff)](_0x4445d8);return this['cache'][_0x1a5eec(0x200)](_0x231d6b,_0x136b4e),logger['debug']({'event':_0x3a2f5d[_0x1a5eec(0x20f)],'payloadName':_0x283ee4},_0x3a2f5d[_0x1a5eec(0x20d)]),_0x136b4e;}catch(_0x4b7bce){logger[_0x1a5eec(0x1f9)]({'event':_0x3a2f5d[_0x1a5eec(0x1ee)],'payloadName':_0x283ee4,'error':_0x4b7bce['message']},_0x1a5eec(0x202));throw new Error(_0x1a5eec(0x205)+_0x283ee4);}}[a0_0x188a3a(0x1f8)](_0x4b1ffe,_0x1666af){const _0x4e66fe=a0_0x188a3a,_0x482667={'tWhPt':function(_0x5b5e4b,_0x531f7d){return _0x5b5e4b===_0x531f7d;}};return _0x4b1ffe['action']&&_0x482667['tWhPt'](_0x4b1ffe[_0x4e66fe(0x1fa)][_0x1666af],!![]);}[a0_0x188a3a(0x204)](_0x450df7){const _0x1d2ca5=a0_0x188a3a;return{'columns':_0x450df7['fieldName']||[],'filename':_0x450df7[_0x1d2ca5(0x21b)]['replace']('.','-')+_0x1d2ca5(0x1f3),'datatablesQuery':_0x450df7['datatablesQuery']||null,'columnFormats':_0x450df7[_0x1d2ca5(0x20b)]||null,'fieldLabels':_0x450df7['fieldLabels']||null};}['clearCache'](){const _0x146345=a0_0x188a3a,_0x220dd0={'bcjtH':_0x146345(0x212),'BUTGU':_0x146345(0x215)};this[_0x146345(0x219)][_0x146345(0x1fc)](),logger['info']({'event':_0x220dd0['bcjtH']},_0x220dd0['BUTGU']);}}module[a0_0x188a3a(0x206)]=new PayloadLoader();
1
+ function a0_0x4a9e(_0x4b3b0e,_0x261737){_0x4b3b0e=_0x4b3b0e-0x151;const _0x58c667=a0_0x58c6();let _0x4a9ef9=_0x58c667[_0x4b3b0e];if(a0_0x4a9e['XsZHZD']===undefined){var _0x114394=function(_0x292958){const _0x234aae='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x131438='',_0x289c83='';for(let _0x308180=0x0,_0x405602,_0x437ed9,_0x62f5ff=0x0;_0x437ed9=_0x292958['charAt'](_0x62f5ff++);~_0x437ed9&&(_0x405602=_0x308180%0x4?_0x405602*0x40+_0x437ed9:_0x437ed9,_0x308180++%0x4)?_0x131438+=String['fromCharCode'](0xff&_0x405602>>(-0x2*_0x308180&0x6)):0x0){_0x437ed9=_0x234aae['indexOf'](_0x437ed9);}for(let _0x150899=0x0,_0x198740=_0x131438['length'];_0x150899<_0x198740;_0x150899++){_0x289c83+='%'+('00'+_0x131438['charCodeAt'](_0x150899)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x289c83);};a0_0x4a9e['tdBmIW']=_0x114394,a0_0x4a9e['opaOar']={},a0_0x4a9e['XsZHZD']=!![];}const _0x220dbe=_0x58c667[0x0],_0x54dce5=_0x4b3b0e+_0x220dbe,_0x1df64d=a0_0x4a9e['opaOar'][_0x54dce5];return!_0x1df64d?(_0x4a9ef9=a0_0x4a9e['tdBmIW'](_0x4a9ef9),a0_0x4a9e['opaOar'][_0x54dce5]=_0x4a9ef9):_0x4a9ef9=_0x1df64d,_0x4a9ef9;}function a0_0x58c6(){const _0x476ac4=['zgvIDwC','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','Cgf5Bg9HzerPCG','zxjYB3i','y29SDw1UrM9YBwf0CW','y2XLyxi','mtyXmJG3n3LYzLzRqG','BwvZC2fNzq','mJaYzhPKA1nx','lMPZB24','mJaYnJC1mMPmAxfqzG','zxHWB3j0CW','yxHJvNa','mtC1ntGYog5zrvLPsa','ntq3oxvlBMPJtG','mJrUDhPZwxG','A3ryz1e','Cgf0Aa','Cgf5Bg9Hzf9SB2fKzwq','z2v0','DxrMoa','Cgf5Bg9HzdO','Cvfdv1i','AgfZ','lI4VlI4VCgf5Bg9Hza','zMLLBgrmywjLBhm','s0f6wu8','AM9PBG','zgf0yxrHyMXLC1f1zxj5','DgfIBgvoyw1L','mZa5mtmXmfHIrvnYzW','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','mtaZmdu0ndf2wLDoDxG','nZC0mde2offyq2TIEa','y2fJAgu','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','Bg9HzfbHEwXVywq','CMvHzezPBgu','y2XLyxjdywnOzq','zMLLBgroyw1L'];a0_0x58c6=function(){return _0x476ac4;};return a0_0x58c6();}const a0_0x4d7fd1=a0_0x4a9e;(function(_0xc3781c,_0x34b1de){const _0x173c7f=a0_0x4a9e,_0x2d59e2=_0xc3781c();while(!![]){try{const _0x112dd2=parseInt(_0x173c7f(0x152))/0x1*(parseInt(_0x173c7f(0x176))/0x2)+parseInt(_0x173c7f(0x151))/0x3+-parseInt(_0x173c7f(0x178))/0x4+parseInt(_0x173c7f(0x162))/0x5+parseInt(_0x173c7f(0x153))/0x6*(-parseInt(_0x173c7f(0x174))/0x7)+-parseInt(_0x173c7f(0x165))/0x8+parseInt(_0x173c7f(0x164))/0x9;if(_0x112dd2===_0x34b1de)break;else _0x2d59e2['push'](_0x2d59e2['shift']());}catch(_0x3f0165){_0x2d59e2['push'](_0x2d59e2['shift']());}}}(a0_0x58c6,0x7b901));const fs=require('fs')['promises'],path=require(a0_0x4d7fd1(0x155)),{logger}=require('./logger');class PayloadLoader{constructor(){const _0x4cfc34=a0_0x4d7fd1;this['payloadDir']=path['join'](__dirname,_0x4cfc34(0x15c)),this[_0x4cfc34(0x166)]=new Map();}async[a0_0x4d7fd1(0x169)](_0x447787,_0x3bcb71){const _0x25414a=a0_0x4d7fd1,_0x444636={'qQCWR':'payload_loaded','LGcqY':_0x25414a(0x16e),'tsUyC':_0x25414a(0x16f),'QeIEQ':'Failed\x20to\x20load\x20payload'},_0x20314b=_0x447787+':'+_0x3bcb71;if(this['cache'][_0x25414a(0x15b)](_0x20314b))return this[_0x25414a(0x166)][_0x25414a(0x157)](_0x20314b);const _0x131ac8=path[_0x25414a(0x15f)](this['payloadDir'],_0x447787+'_'+_0x3bcb71+_0x25414a(0x177));try{const _0x1fefc0=await fs[_0x25414a(0x16a)](_0x131ac8,_0x25414a(0x158)),_0x2d2448=JSON['parse'](_0x1fefc0);return this[_0x25414a(0x166)]['set'](_0x20314b,_0x2d2448),logger[_0x25414a(0x16d)]({'event':_0x444636[_0x25414a(0x15a)],'project':_0x447787,'resource':_0x3bcb71},_0x444636['LGcqY']),_0x2d2448;}catch(_0xebfa5c){logger['error']({'event':_0x444636['tsUyC'],'project':_0x447787,'resource':_0x3bcb71,'error':_0xebfa5c[_0x25414a(0x175)]},_0x444636['QeIEQ']);throw new Error('Payload\x20not\x20found:\x20'+_0x447787+'_'+_0x3bcb71);}}async['loadPayloadByName'](_0x10bc29){const _0x99b539=a0_0x4d7fd1,_0x26d0ae={'vsPgH':_0x99b539(0x158),'ktXgQ':'payload_load_error'},_0x805e7a=_0x99b539(0x159)+_0x10bc29;if(this[_0x99b539(0x166)]['has'](_0x805e7a))return this[_0x99b539(0x166)][_0x99b539(0x157)](_0x805e7a);const _0x38324f=path['join'](this[_0x99b539(0x170)],_0x10bc29+'.json');try{const _0x439513=await fs[_0x99b539(0x16a)](_0x38324f,_0x26d0ae['vsPgH']),_0x3ead80=JSON['parse'](_0x439513);return this[_0x99b539(0x166)]['set'](_0x805e7a,_0x3ead80),logger['debug']({'event':_0x99b539(0x156),'payloadName':_0x10bc29},'Payload\x20loaded\x20successfully\x20by\x20name'),_0x3ead80;}catch(_0xe37d51){logger[_0x99b539(0x171)]({'event':_0x26d0ae[_0x99b539(0x154)],'payloadName':_0x10bc29,'error':_0xe37d51['message']},_0x99b539(0x167));throw new Error('Payload\x20not\x20found:\x20'+_0x10bc29);}}['isActionEnabled'](_0x217b6f,_0x349dee){return _0x217b6f['action']&&_0x217b6f['action'][_0x349dee]===!![];}['getExportConfig'](_0x37d28f){const _0x186e92=a0_0x4d7fd1;return{'columns':_0x37d28f[_0x186e92(0x16c)]||[],'filename':_0x37d28f[_0x186e92(0x161)]['replace']('.','-')+'-export','datatablesQuery':_0x37d28f[_0x186e92(0x160)]||null,'columnFormats':_0x37d28f[_0x186e92(0x172)]||null,'fieldLabels':_0x37d28f[_0x186e92(0x15d)]||null};}[a0_0x4d7fd1(0x16b)](){const _0x1d882d=a0_0x4d7fd1,_0x113656={'axcVp':_0x1d882d(0x163),'KAzYO':_0x1d882d(0x168)};this[_0x1d882d(0x166)][_0x1d882d(0x173)](),logger['info']({'event':_0x113656[_0x1d882d(0x17a)]},_0x113656[_0x1d882d(0x15e)]);}}module[a0_0x4d7fd1(0x179)]=new PayloadLoader();