@restforgejs/platform 5.1.16 → 5.1.20

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 (176) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/generators/cli/catalog/dbschema.js +2 -1
  5. package/generators/cli/endpoint/list.js +264 -0
  6. package/generators/cli/fast-track.js +395 -37
  7. package/generators/cli/processor/create.js +7 -7
  8. package/generators/cli/processor/list.js +229 -0
  9. package/generators/lib/generators/dashboard-generator.js +5 -5
  10. package/generators/lib/payload/payload-runner.js +63 -0
  11. package/generators/lib/templates/dashboard-catalog.js +1 -1
  12. package/generators/lib/templates/db-connection-env.js +1 -1
  13. package/generators/lib/templates/dbschema-catalog.js +1 -1
  14. package/generators/lib/templates/field-validation-catalog.js +1 -1
  15. package/generators/lib/templates/mysql-template.js +1 -1
  16. package/generators/lib/templates/oracle-template.js +1 -1
  17. package/generators/lib/templates/postgres-template.js +1 -1
  18. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  19. package/generators/lib/templates/sqlite-template.js +1 -1
  20. package/integrity-manifest.json +18 -18
  21. package/package.json +1 -1
  22. package/scripts/check-install.js +8 -8
  23. package/scripts/verify-integrity.js +1 -1
  24. package/server.js +1 -1
  25. package/src/components/handlers/adjust_handler.js +1 -1
  26. package/src/components/handlers/audit_handler.js +1 -1
  27. package/src/components/handlers/delete_handler.js +1 -1
  28. package/src/components/handlers/export_handler.js +1 -1
  29. package/src/components/handlers/import_handler.js +1 -1
  30. package/src/components/handlers/insert_handler.js +1 -1
  31. package/src/components/handlers/update_handler.js +1 -1
  32. package/src/components/handlers/upload_handler.js +1 -1
  33. package/src/components/handlers/workflow_handler.js +1 -1
  34. package/src/components/integrations/webhook.js +1 -1
  35. package/src/consumers/baseConsumer.js +1 -1
  36. package/src/consumers/declarativeMapper.js +1 -1
  37. package/src/consumers/handlers/apiHandler.js +1 -1
  38. package/src/consumers/handlers/consoleHandler.js +1 -1
  39. package/src/consumers/handlers/databaseHandler.js +1 -1
  40. package/src/consumers/handlers/index.js +1 -1
  41. package/src/consumers/handlers/kafkaHandler.js +1 -1
  42. package/src/consumers/index.js +1 -1
  43. package/src/consumers/messageTransformer.js +1 -1
  44. package/src/consumers/validator.js +1 -1
  45. package/src/core/db/dialect/base-dialect.js +1 -1
  46. package/src/core/db/dialect/index.js +1 -1
  47. package/src/core/db/dialect/mysql-dialect.js +1 -1
  48. package/src/core/db/dialect/oracle-dialect.js +1 -1
  49. package/src/core/db/dialect/postgres-dialect.js +1 -1
  50. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  51. package/src/core/db/flatten-helper.js +1 -1
  52. package/src/core/db/query-builder-error.js +1 -1
  53. package/src/core/db/query-builder.js +1 -1
  54. package/src/core/db/relation-helper.js +1 -1
  55. package/src/core/handlers/delete_handler.js +1 -1
  56. package/src/core/handlers/insert_handler.js +1 -1
  57. package/src/core/handlers/update_handler.js +1 -1
  58. package/src/core/models/base-model.js +1 -1
  59. package/src/core/utils/cache-manager.js +1 -1
  60. package/src/core/utils/component-engine.js +1 -1
  61. package/src/core/utils/context-builder.js +1 -1
  62. package/src/core/utils/datetime-formatter.js +1 -1
  63. package/src/core/utils/datetime-parser.js +1 -1
  64. package/src/core/utils/db.js +1 -1
  65. package/src/core/utils/logger.js +1 -1
  66. package/src/core/utils/payload-loader.js +1 -1
  67. package/src/core/utils/security-checks.js +1 -1
  68. package/src/middleware/body-options.js +1 -1
  69. package/src/middleware/cors.js +1 -1
  70. package/src/middleware/idempotency.js +1 -1
  71. package/src/middleware/rate-limiter.js +1 -1
  72. package/src/middleware/request-logger.js +1 -1
  73. package/src/middleware/security-headers.js +1 -1
  74. package/src/models/base-model-mysql.js +1 -1
  75. package/src/models/base-model-oracle.js +1 -1
  76. package/src/models/base-model-sqlite.js +1 -1
  77. package/src/models/base-model.js +1 -1
  78. package/src/pro/caching/redis-client.js +1 -1
  79. package/src/pro/caching/redis-helper.js +1 -1
  80. package/src/pro/consumers/baseConsumer.js +1 -1
  81. package/src/pro/consumers/declarativeMapper.js +1 -1
  82. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  83. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  84. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  85. package/src/pro/consumers/handlers/index.js +1 -1
  86. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  87. package/src/pro/consumers/index.js +1 -1
  88. package/src/pro/consumers/messageTransformer.js +1 -1
  89. package/src/pro/consumers/validator.js +1 -1
  90. package/src/pro/database/base-model-mysql.js +1 -1
  91. package/src/pro/database/base-model-oracle.js +1 -1
  92. package/src/pro/database/base-model-sqlite.js +1 -1
  93. package/src/pro/database/db-mysql.js +1 -1
  94. package/src/pro/database/db-oracle.js +1 -1
  95. package/src/pro/database/db-sqlite.js +1 -1
  96. package/src/pro/excel/excel-generator.js +1 -1
  97. package/src/pro/excel/excel-parser.js +1 -1
  98. package/src/pro/excel/export-service.js +1 -1
  99. package/src/pro/excel/export_handler.js +1 -1
  100. package/src/pro/excel/import-service.js +1 -1
  101. package/src/pro/excel/import-validator.js +1 -1
  102. package/src/pro/excel/import_handler.js +1 -1
  103. package/src/pro/excel/upsert-builder.js +1 -1
  104. package/src/pro/idgen/idgen-routes.js +1 -1
  105. package/src/pro/integrations/lookup-resolver.js +1 -1
  106. package/src/pro/integrations/upload-handler-v2.js +1 -1
  107. package/src/pro/integrations/upload-handler.js +1 -1
  108. package/src/pro/integrations/webhook.js +1 -1
  109. package/src/pro/locking/lock-routes.js +1 -1
  110. package/src/pro/locking/resource-lock-manager.js +1 -1
  111. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  112. package/src/pro/messaging/kafkaService.js +1 -1
  113. package/src/pro/messaging/messagehubService.js +1 -1
  114. package/src/pro/messaging/rabbitmqService.js +1 -1
  115. package/src/pro/scheduler/job-manager.js +1 -1
  116. package/src/pro/scheduler/job-routes.js +1 -1
  117. package/src/pro/scheduler/job-validator.js +1 -1
  118. package/src/pro/storage/base-storage-provider.js +1 -1
  119. package/src/pro/storage/file-metadata-helper.js +1 -1
  120. package/src/pro/storage/index.js +1 -1
  121. package/src/pro/storage/local-storage-provider.js +1 -1
  122. package/src/pro/storage/s3-storage-provider.js +1 -1
  123. package/src/pro/storage/upload-cleanup-job.js +1 -1
  124. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  125. package/src/pro/storage/upload-pending-tracker.js +1 -1
  126. package/src/pro/websocket/broadcast-helper.js +1 -1
  127. package/src/pro/websocket/index.js +1 -1
  128. package/src/pro/websocket/livesync-server.js +1 -1
  129. package/src/pro/websocket/ws-broadcaster.js +1 -1
  130. package/src/services/export-service.js +1 -1
  131. package/src/services/import-service.js +1 -1
  132. package/src/services/kafkaConsumerService.js +1 -1
  133. package/src/services/kafkaService.js +1 -1
  134. package/src/services/messagehubService.js +1 -1
  135. package/src/services/rabbitmqService.js +1 -1
  136. package/src/utils/cache-invalidation-registry.js +1 -1
  137. package/src/utils/cache-manager.js +1 -1
  138. package/src/utils/component-engine.js +1 -1
  139. package/src/utils/config-extractor.js +1 -1
  140. package/src/utils/consumerLogger.js +1 -1
  141. package/src/utils/context-builder.js +1 -1
  142. package/src/utils/dashboard-helpers.js +1 -1
  143. package/src/utils/dateHelper.js +1 -1
  144. package/src/utils/datetime-formatter.js +1 -1
  145. package/src/utils/datetime-parser.js +1 -1
  146. package/src/utils/db-bootstrap.js +1 -1
  147. package/src/utils/db-mysql.js +1 -1
  148. package/src/utils/db-oracle.js +1 -1
  149. package/src/utils/db-sqlite.js +1 -1
  150. package/src/utils/db.js +1 -1
  151. package/src/utils/demo-generator.js +1 -1
  152. package/src/utils/excel-generator.js +1 -1
  153. package/src/utils/excel-parser.js +1 -1
  154. package/src/utils/file-watcher.js +1 -1
  155. package/src/utils/id-generator.js +1 -1
  156. package/src/utils/idempotency-manager.js +1 -1
  157. package/src/utils/import-validator.js +1 -1
  158. package/src/utils/license-client.js +1 -1
  159. package/src/utils/lock-manager.js +1 -1
  160. package/src/utils/logger.js +1 -1
  161. package/src/utils/lookup-resolver.js +1 -1
  162. package/src/utils/payload-loader.js +1 -1
  163. package/src/utils/processor-response.js +1 -1
  164. package/src/utils/rabbitmq.js +1 -1
  165. package/src/utils/redis-client.js +1 -1
  166. package/src/utils/redis-helper.js +1 -1
  167. package/src/utils/request-scope.js +1 -1
  168. package/src/utils/security-checks.js +1 -1
  169. package/src/utils/service-resolver.js +1 -1
  170. package/src/utils/shutdown-coordinator.js +1 -1
  171. package/src/utils/soft-delete-dashboard-guard.js +1 -1
  172. package/src/utils/sql-table-extractor.js +1 -1
  173. package/src/utils/trusted-keys.js +1 -1
  174. package/src/utils/upload-handler.js +1 -1
  175. package/src/utils/upsert-builder.js +1 -1
  176. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- function a0_0x367c(_0x2b1050,_0x4f86bd){_0x2b1050=_0x2b1050-0xd6;const _0x503a9f=a0_0x503a();let _0x367c7f=_0x503a9f[_0x2b1050];if(a0_0x367c['mGgGSu']===undefined){var _0x781a38=function(_0x5cfee6){const _0x2d3e9b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x379100='',_0x5418ec='';for(let _0x3dea0e=0x0,_0x41e9ca,_0x23313d,_0x5a2a52=0x0;_0x23313d=_0x5cfee6['charAt'](_0x5a2a52++);~_0x23313d&&(_0x41e9ca=_0x3dea0e%0x4?_0x41e9ca*0x40+_0x23313d:_0x23313d,_0x3dea0e++%0x4)?_0x379100+=String['fromCharCode'](0xff&_0x41e9ca>>(-0x2*_0x3dea0e&0x6)):0x0){_0x23313d=_0x2d3e9b['indexOf'](_0x23313d);}for(let _0x47665e=0x0,_0x2a30ea=_0x379100['length'];_0x47665e<_0x2a30ea;_0x47665e++){_0x5418ec+='%'+('00'+_0x379100['charCodeAt'](_0x47665e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5418ec);};a0_0x367c['tGESgv']=_0x781a38,a0_0x367c['sILAvX']={},a0_0x367c['mGgGSu']=!![];}const _0x41b614=_0x503a9f[0x0],_0x29b69c=_0x2b1050+_0x41b614,_0x12ea45=a0_0x367c['sILAvX'][_0x29b69c];return!_0x12ea45?(_0x367c7f=a0_0x367c['tGESgv'](_0x367c7f),a0_0x367c['sILAvX'][_0x29b69c]=_0x367c7f):_0x367c7f=_0x12ea45,_0x367c7f;}function a0_0x503a(){const _0x16ddc8=['yNvPBgrpBKfMDgvYq29UDgv4Da','mJy2odG4yMvVzuXO','yNvPBgrezwXLDgvdB250zxH0','ntKWndiWA2HvAK9Y','mtjJDNjWCvi','zxH0CMfJDfjLy29YzeLKrNjVBvDOzxjL','yNvPBgrvCgrHDgvdB250zxH0','AxnbCNjHEq','odmYmtCXnuTwA3LdrG','D2HLCMu','C3LZDgvT','mJGXodCWnhzYEhj6EG','A2v5','uuvkAKi','DxbKyxrL','Aw5Zzxj0','zgvSzxrL','uundzNi','DxnLCL9Pza','vuTmu0O','mNv0BKrjtW','DMfSDwu','mJq3ndi2mK5nBgLUCW','yNvPBgrgAxjZDenVBNrLEhq','Dg9mB3DLCKnHC2u','vw5RBM93BIbVCgvYyxrPB246ia','ngXdEgP1sW','mtaXmJe5ntj2uufssMC','Dg9ju09tDhjPBMC','DgfIBgvoyw1L','yNvPBgrjBNnLCNrdB250zxH0','shDJz3i','yNvPBgrpBKjLzM9YzunVBNrLEhq','mJeWmZC0mdbgseXLz0q','zMLUza'];a0_0x503a=function(){return _0x16ddc8;};return a0_0x503a();}const a0_0x289667=a0_0x367c;(function(_0x480bf4,_0xe9acd4){const _0x8ef47c=a0_0x367c,_0x26eb15=_0x480bf4();while(!![]){try{const _0x1673d0=-parseInt(_0x8ef47c(0xe6))/0x1*(parseInt(_0x8ef47c(0xd6))/0x2)+-parseInt(_0x8ef47c(0xd8))/0x3+-parseInt(_0x8ef47c(0xdc))/0x4*(-parseInt(_0x8ef47c(0xe8))/0x5)+-parseInt(_0x8ef47c(0xe9))/0x6*(parseInt(_0x8ef47c(0xf0))/0x7)+parseInt(_0x8ef47c(0xdd))/0x8+-parseInt(_0x8ef47c(0xed))/0x9+parseInt(_0x8ef47c(0xe3))/0xa;if(_0x1673d0===_0xe9acd4)break;else _0x26eb15['push'](_0x26eb15['shift']());}catch(_0x5aa57c){_0x26eb15['push'](_0x26eb15['shift']());}}}(a0_0x503a,0xa2767));class ContextBuilder{static[a0_0x289667(0xe0)](_0x5ce01d,_0x41a73c=null,_0x4fa53b={}){return{'requestData':_0x5ce01d,'oldData':null,'newData':_0x41a73c,'responseData':_0x41a73c,'tableName':_0x4fa53b['tableName']||'','operation':'INSERT','user_id':_0x4fa53b['user_id']||'system','timestamp':new Date()['toISOString'](),'record_id':_0x41a73c?.['id']||_0x5ce01d?.['id']||null,'new_data':_0x41a73c,'deleted_data':null,'existing_data':null};}static[a0_0x289667(0xeb)](_0x3c3402,_0x2dd3f2,_0x3bbba7=null,_0x12c10c={}){const _0x56ad58=a0_0x289667;return{'requestData':_0x3c3402,'oldData':_0x2dd3f2,'newData':_0x3bbba7,'responseData':_0x3bbba7,'tableName':_0x12c10c[_0x56ad58(0xdf)]||'','operation':'UPDATE','user_id':_0x12c10c['user_id']||_0x56ad58(0xef),'timestamp':new Date()['toISOString'](),'record_id':_0x3c3402?.['id']||_0x2dd3f2?.['id']||null,'new_data':_0x3bbba7,'deleted_data':null,'existing_data':_0x2dd3f2};}static['buildDeleteContext'](_0x30e944,_0x7e8f35,_0x1764f9=null,_0x2edcb4={}){const _0x5337a1=a0_0x289667,_0x2566d2={'UKLSJ':'DELETE','Hwcgr':_0x5337a1(0xef)};return{'requestData':_0x30e944,'oldData':_0x7e8f35,'newData':null,'responseData':_0x1764f9,'tableName':_0x2edcb4['tableName']||'','operation':_0x2566d2[_0x5337a1(0xf8)],'user_id':_0x2edcb4['user_id']||_0x2566d2[_0x5337a1(0xe1)],'timestamp':new Date()[_0x5337a1(0xde)](),'record_id':_0x7e8f35?.['id']||this[_0x5337a1(0xea)](_0x30e944),'new_data':null,'deleted_data':_0x7e8f35,'existing_data':_0x7e8f35};}static[a0_0x289667(0xd9)](_0x688429,_0x260514,_0x14fa01={}){const _0x560017=a0_0x289667;return{'requestData':_0x688429,'oldData':null,'newData':null,'responseData':_0x260514,'tableName':_0x14fa01['tableName']||'','operation':'FIRST','user_id':_0x14fa01[_0x560017(0xf7)]||'system','timestamp':new Date()['toISOString'](),'record_id':null,'new_data':null,'deleted_data':null,'existing_data':_0x260514};}static[a0_0x289667(0xea)](_0x13b427){const _0x346c7c=a0_0x289667;if(!_0x13b427||!_0x13b427['where'])return null;if(Array[_0x346c7c(0xec)](_0x13b427['where'])){const _0x486f46=_0x13b427[_0x346c7c(0xee)][_0x346c7c(0xe4)](_0x54b9a7=>_0x54b9a7[_0x346c7c(0xf1)]==='id');return _0x486f46?_0x486f46['value']:null;}if(_0x13b427['where']['conditions']&&Array['isArray'](_0x13b427['where']['conditions'])){const _0x2506b8=_0x13b427['where']['conditions']['find'](_0x35f693=>_0x35f693['key']==='id');return _0x2506b8?_0x2506b8[_0x346c7c(0xd7)]:null;}return null;}static[a0_0x289667(0xe2)](_0x26dea5,_0x2f5409,_0x3468ac=null,_0x1f7601={}){const _0x270788=a0_0x289667,_0x35bc2c={'WSXCI':_0x270788(0xf4),'upvNt':'update','QCCfr':_0x270788(0xf5),'FReim':'first'};switch(_0x26dea5[_0x270788(0xda)]()){case _0x35bc2c['WSXCI']:return this['buildInsertContext'](_0x2f5409,null,_0x1f7601);case _0x35bc2c['upvNt']:return this['buildUpdateContext'](_0x2f5409,_0x3468ac,null,_0x1f7601);case _0x35bc2c[_0x270788(0xf6)]:return this['buildDeleteContext'](_0x2f5409,_0x3468ac,null,_0x1f7601);case _0x35bc2c['FReim']:return this['buildFirstContext'](_0x2f5409,null,_0x1f7601);default:throw new Error(_0x270788(0xdb)+_0x26dea5);}}static[a0_0x289667(0xe5)](_0x13c58c,_0x5a3f98,_0x353fa7=null,_0x54a2d0=null,_0x276c11={}){const _0x33dce8=a0_0x289667,_0x40e6cc={'mlNEU':'insert','QEJjB':_0x33dce8(0xf3)};switch(_0x13c58c['toLowerCase']()){case _0x40e6cc['mlNEU']:return this[_0x33dce8(0xe0)](_0x5a3f98,_0x54a2d0,_0x276c11);case _0x40e6cc[_0x33dce8(0xf2)]:return this[_0x33dce8(0xeb)](_0x5a3f98,_0x353fa7,_0x54a2d0,_0x276c11);case'delete':return this[_0x33dce8(0xe7)](_0x5a3f98,_0x353fa7,_0x54a2d0,_0x276c11);case'first':return this['buildFirstContext'](_0x5a3f98,_0x54a2d0,_0x276c11);default:throw new Error('Unknown\x20operation:\x20'+_0x13c58c);}}}module['exports']=ContextBuilder;
1
+ function a0_0x7c37(_0x2c49f1,_0x1e39d5){_0x2c49f1=_0x2c49f1-0x96;const _0x3e8373=a0_0x3e83();let _0x7c37b6=_0x3e8373[_0x2c49f1];if(a0_0x7c37['ZqHcKj']===undefined){var _0x5838bf=function(_0x3e1f72){const _0x5d9519='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4f469c='',_0xa80dd7='';for(let _0x55f164=0x0,_0x53d164,_0x2a6d6e,_0x158d16=0x0;_0x2a6d6e=_0x3e1f72['charAt'](_0x158d16++);~_0x2a6d6e&&(_0x53d164=_0x55f164%0x4?_0x53d164*0x40+_0x2a6d6e:_0x2a6d6e,_0x55f164++%0x4)?_0x4f469c+=String['fromCharCode'](0xff&_0x53d164>>(-0x2*_0x55f164&0x6)):0x0){_0x2a6d6e=_0x5d9519['indexOf'](_0x2a6d6e);}for(let _0xf2e001=0x0,_0x521b5e=_0x4f469c['length'];_0xf2e001<_0x521b5e;_0xf2e001++){_0xa80dd7+='%'+('00'+_0x4f469c['charCodeAt'](_0xf2e001)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xa80dd7);};a0_0x7c37['erNVNN']=_0x5838bf,a0_0x7c37['Vligic']={},a0_0x7c37['ZqHcKj']=!![];}const _0x39620d=_0x3e8373[0x0],_0x2a5eba=_0x2c49f1+_0x39620d,_0x3d227c=a0_0x7c37['Vligic'][_0x2a5eba];return!_0x3d227c?(_0x7c37b6=a0_0x7c37['erNVNN'](_0x7c37b6),a0_0x7c37['Vligic'][_0x2a5eba]=_0x7c37b6):_0x7c37b6=_0x3d227c,_0x7c37b6;}const a0_0x4312ea=a0_0x7c37;(function(_0x9fc832,_0x647729){const _0x362eed=a0_0x7c37,_0x4aa4a6=_0x9fc832();while(!![]){try{const _0x2bf9d9=parseInt(_0x362eed(0xa3))/0x1+-parseInt(_0x362eed(0xb4))/0x2+-parseInt(_0x362eed(0xb6))/0x3+-parseInt(_0x362eed(0xb2))/0x4+parseInt(_0x362eed(0xb3))/0x5+-parseInt(_0x362eed(0xa2))/0x6+parseInt(_0x362eed(0xa4))/0x7*(parseInt(_0x362eed(0xad))/0x8);if(_0x2bf9d9===_0x647729)break;else _0x4aa4a6['push'](_0x4aa4a6['shift']());}catch(_0x576291){_0x4aa4a6['push'](_0x4aa4a6['shift']());}}}(a0_0x3e83,0x6c8f5));class ContextBuilder{static[a0_0x4312ea(0xa5)](_0x2966e5,_0x1301df=null,_0x2593f9={}){const _0x16e5c8=a0_0x4312ea,_0x3f2998={'TvCGn':_0x16e5c8(0xb5),'HLUNV':'system'};return{'requestData':_0x2966e5,'oldData':null,'newData':_0x1301df,'responseData':_0x1301df,'tableName':_0x2593f9['tableName']||'','operation':_0x3f2998['TvCGn'],'user_id':_0x2593f9['user_id']||_0x3f2998[_0x16e5c8(0x96)],'timestamp':new Date()['toISOString'](),'record_id':_0x1301df?.['id']||_0x2966e5?.['id']||null,'new_data':_0x1301df,'deleted_data':null,'existing_data':null};}static['buildUpdateContext'](_0xc7ed6,_0x31fbb7,_0x56ff9f=null,_0x1ea93e={}){const _0x186769=a0_0x4312ea,_0x121cac={'TElSU':'system'};return{'requestData':_0xc7ed6,'oldData':_0x31fbb7,'newData':_0x56ff9f,'responseData':_0x56ff9f,'tableName':_0x1ea93e[_0x186769(0xb1)]||'','operation':_0x186769(0xa0),'user_id':_0x1ea93e['user_id']||_0x121cac[_0x186769(0x9b)],'timestamp':new Date()[_0x186769(0xac)](),'record_id':_0xc7ed6?.['id']||_0x31fbb7?.['id']||null,'new_data':_0x56ff9f,'deleted_data':null,'existing_data':_0x31fbb7};}static[a0_0x4312ea(0xb7)](_0xd86ce0,_0x1f23c3,_0x3ce476=null,_0x4f527d={}){const _0x1ae7a3=a0_0x4312ea,_0x2e5df7={'WxDhp':_0x1ae7a3(0xbb),'kQeCj':'system'};return{'requestData':_0xd86ce0,'oldData':_0x1f23c3,'newData':null,'responseData':_0x3ce476,'tableName':_0x4f527d['tableName']||'','operation':_0x2e5df7[_0x1ae7a3(0xab)],'user_id':_0x4f527d[_0x1ae7a3(0xa8)]||_0x2e5df7['kQeCj'],'timestamp':new Date()['toISOString'](),'record_id':_0x1f23c3?.['id']||this['extractRecordIdFromWhere'](_0xd86ce0),'new_data':null,'deleted_data':_0x1f23c3,'existing_data':_0x1f23c3};}static['buildFirstContext'](_0x5b7905,_0x51a93d,_0x3bf6e5={}){const _0x209904=a0_0x4312ea,_0x2f9e14={'eUGuy':_0x209904(0xa7),'VHCyP':_0x209904(0x9d)};return{'requestData':_0x5b7905,'oldData':null,'newData':null,'responseData':_0x51a93d,'tableName':_0x3bf6e5['tableName']||'','operation':_0x2f9e14[_0x209904(0xa1)],'user_id':_0x3bf6e5['user_id']||_0x2f9e14[_0x209904(0x97)],'timestamp':new Date()[_0x209904(0xac)](),'record_id':null,'new_data':null,'deleted_data':null,'existing_data':_0x51a93d};}static['extractRecordIdFromWhere'](_0x3eb6c0){const _0x5db9f3=a0_0x4312ea;if(!_0x3eb6c0||!_0x3eb6c0[_0x5db9f3(0x98)])return null;if(Array[_0x5db9f3(0x9f)](_0x3eb6c0[_0x5db9f3(0x98)])){const _0x582536=_0x3eb6c0[_0x5db9f3(0x98)][_0x5db9f3(0xae)](_0x43408b=>_0x43408b['key']==='id');return _0x582536?_0x582536[_0x5db9f3(0xa9)]:null;}if(_0x3eb6c0[_0x5db9f3(0x98)][_0x5db9f3(0x99)]&&Array['isArray'](_0x3eb6c0['where']['conditions'])){const _0x5abca1=_0x3eb6c0[_0x5db9f3(0x98)][_0x5db9f3(0x99)]['find'](_0x51fc3f=>_0x51fc3f[_0x5db9f3(0xaa)]==='id');return _0x5abca1?_0x5abca1['value']:null;}return null;}static['buildOnBeforeContext'](_0x354d73,_0x3763d2,_0x2dad02=null,_0x43d081={}){const _0x46874c=a0_0x4312ea,_0x1f9211={'HExhS':_0x46874c(0xb0),'TKnBw':_0x46874c(0x9a)};switch(_0x354d73['toLowerCase']()){case _0x1f9211[_0x46874c(0xa6)]:return this[_0x46874c(0xa5)](_0x3763d2,null,_0x43d081);case _0x1f9211['TKnBw']:return this[_0x46874c(0xaf)](_0x3763d2,_0x2dad02,null,_0x43d081);case _0x46874c(0xba):return this[_0x46874c(0xb7)](_0x3763d2,_0x2dad02,null,_0x43d081);case'first':return this[_0x46874c(0x9e)](_0x3763d2,null,_0x43d081);default:throw new Error(_0x46874c(0xb8)+_0x354d73);}}static['buildOnAfterContext'](_0xa05be7,_0x5392ca,_0x382179=null,_0x46e053=null,_0x464a7c={}){const _0xad7c77=a0_0x4312ea,_0x4f90a6={'IvdiB':'update','JbWWy':_0xad7c77(0xba),'XcGcN':'first'};switch(_0xa05be7[_0xad7c77(0xb9)]()){case'insert':return this[_0xad7c77(0xa5)](_0x5392ca,_0x46e053,_0x464a7c);case _0x4f90a6['IvdiB']:return this[_0xad7c77(0xaf)](_0x5392ca,_0x382179,_0x46e053,_0x464a7c);case _0x4f90a6['JbWWy']:return this['buildDeleteContext'](_0x5392ca,_0x382179,_0x46e053,_0x464a7c);case _0x4f90a6[_0xad7c77(0x9c)]:return this[_0xad7c77(0x9e)](_0x5392ca,_0x46e053,_0x464a7c);default:throw new Error(_0xad7c77(0xb8)+_0xa05be7);}}}module['exports']=ContextBuilder;function a0_0x3e83(){const _0x4dab5c=['mtrgBNLMCuK','yNvPBgrjBNnLCNrdB250zxH0','sev4Afm','rKLsu1q','DxnLCL9Pza','DMfSDwu','A2v5','v3HeAha','Dg9ju09tDhjPBMC','nJmWodaWogfrr1rgEa','zMLUza','yNvPBgrvCgrHDgvdB250zxH0','Aw5Zzxj0','DgfIBgvoyw1L','mZuWnJi4mgLLtujgva','mti5nJKZnufbr05ytG','nZaXmdC4s3jQwxnY','su5trvju','mtmZmta3mfzirfvvDW','yNvPBgrezwXLDgvdB250zxH0','vw5RBM93BIbVCgvYyxrPB246ia','Dg9mB3DLCKnHC2u','zgvSzxrL','revmrvrf','seXvtLy','vKHdEva','D2HLCMu','y29UzgL0Aw9UCW','DxbKyxrL','vevSu1u','wgnhy04','C3LZDgvT','yNvPBgrgAxjZDenVBNrLEhq','AxnbCNjHEq','vvbeqvrf','zvvhDxK','mZi3otqXngT0vfzTBa','odi1nJqWB1r4tLLl'];a0_0x3e83=function(){return _0x4dab5c;};return a0_0x3e83();}
@@ -1 +1 @@
1
- const a0_0x13d89c=a0_0x4e83;(function(_0x414273,_0x25da4f){const _0x2bfbc4=a0_0x4e83,_0x2eb36f=_0x414273();while(!![]){try{const _0x2b0ccd=parseInt(_0x2bfbc4(0x16f))/0x1*(parseInt(_0x2bfbc4(0x168))/0x2)+-parseInt(_0x2bfbc4(0x17a))/0x3*(-parseInt(_0x2bfbc4(0x177))/0x4)+parseInt(_0x2bfbc4(0x181))/0x5*(parseInt(_0x2bfbc4(0x179))/0x6)+-parseInt(_0x2bfbc4(0x17c))/0x7*(parseInt(_0x2bfbc4(0x170))/0x8)+-parseInt(_0x2bfbc4(0x16c))/0x9+parseInt(_0x2bfbc4(0x16e))/0xa+parseInt(_0x2bfbc4(0x173))/0xb;if(_0x2b0ccd===_0x25da4f)break;else _0x2eb36f['push'](_0x2eb36f['shift']());}catch(_0x60ce2b){_0x2eb36f['push'](_0x2eb36f['shift']());}}}(a0_0x28b0,0x872ed));function a0_0x4e83(_0x501ee4,_0x26e27a){_0x501ee4=_0x501ee4-0x167;const _0x28b02f=a0_0x28b0();let _0x4e8303=_0x28b02f[_0x501ee4];if(a0_0x4e83['RKpaUP']===undefined){var _0x30d482=function(_0x29e7a1){const _0x15e2be='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4e6f1e='',_0x3270d3='';for(let _0x1a4854=0x0,_0x5c8d0f,_0x4b4fd1,_0x2e051a=0x0;_0x4b4fd1=_0x29e7a1['charAt'](_0x2e051a++);~_0x4b4fd1&&(_0x5c8d0f=_0x1a4854%0x4?_0x5c8d0f*0x40+_0x4b4fd1:_0x4b4fd1,_0x1a4854++%0x4)?_0x4e6f1e+=String['fromCharCode'](0xff&_0x5c8d0f>>(-0x2*_0x1a4854&0x6)):0x0){_0x4b4fd1=_0x15e2be['indexOf'](_0x4b4fd1);}for(let _0x2ea9db=0x0,_0x3d34d7=_0x4e6f1e['length'];_0x2ea9db<_0x3d34d7;_0x2ea9db++){_0x3270d3+='%'+('00'+_0x4e6f1e['charCodeAt'](_0x2ea9db)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3270d3);};a0_0x4e83['IJtTjR']=_0x30d482,a0_0x4e83['oGRRmQ']={},a0_0x4e83['RKpaUP']=!![];}const _0x497972=_0x28b02f[0x0],_0x3b0693=_0x501ee4+_0x497972,_0x3e1679=a0_0x4e83['oGRRmQ'][_0x3b0693];return!_0x3e1679?(_0x4e8303=a0_0x4e83['IJtTjR'](_0x4e8303),a0_0x4e83['oGRRmQ'][_0x3b0693]=_0x4e8303):_0x4e8303=_0x3e1679,_0x4e8303;}class DateTimeFormatter{static['format'](_0x55a0c9,_0x4b01f4,_0x618631){const _0x2fef36=a0_0x4e83,_0x2b1c73={'FtQiB':function(_0x5790c1,_0x947dc7){return _0x5790c1===_0x947dc7;},'yzBCb':'timestamp','xLieS':'time'};if(!_0x55a0c9)return null;try{if(_0x2b1c73['FtQiB'](_0x618631,_0x2fef36(0x16a)))return this['formatDate'](_0x55a0c9,_0x4b01f4);else{if(_0x618631===_0x2b1c73['yzBCb'])return this['formatTimestamp'](_0x55a0c9,_0x4b01f4);else{if(_0x618631===_0x2b1c73[_0x2fef36(0x17f)])return this['formatTime'](_0x55a0c9,_0x4b01f4);}}return _0x55a0c9;}catch(_0x4d501e){return console[_0x2fef36(0x180)](_0x2fef36(0x182)+_0x4d501e[_0x2fef36(0x175)]),_0x55a0c9;}}static[a0_0x13d89c(0x16d)](_0x41b565,_0x4795f4){const _0x49f58c=a0_0x13d89c,_0x2e0115={'CRqNa':function(_0x31eb3e,_0x1c04c7){return _0x31eb3e(_0x1c04c7);},'bXtxm':function(_0x3eb449,_0x15253b){return _0x3eb449+_0x15253b;}},_0x2305c2=new Date(_0x41b565);if(isNaN(_0x2305c2['getTime']()))return console[_0x49f58c(0x171)]('Invalid\x20date\x20value:\x20'+_0x41b565),_0x41b565;const _0x173b9c=_0x2e0115['CRqNa'](String,_0x2305c2[_0x49f58c(0x174)]())['padStart'](0x2,'0'),_0x64203=_0x2e0115['CRqNa'](String,_0x2e0115['bXtxm'](_0x2305c2[_0x49f58c(0x17e)](),0x1))[_0x49f58c(0x169)](0x2,'0'),_0x158e82=_0x2305c2[_0x49f58c(0x16b)](),_0x20c32c={'dd/MM/yyyy':_0x173b9c+'/'+_0x64203+'/'+_0x158e82,'dd-MM-yyyy':_0x173b9c+'-'+_0x64203+'-'+_0x158e82,'MM/dd/yyyy':_0x64203+'/'+_0x173b9c+'/'+_0x158e82,'yyyy/MM/dd':_0x158e82+'/'+_0x64203+'/'+_0x173b9c,'yyyy-MM-dd':_0x158e82+'-'+_0x64203+'-'+_0x173b9c};return _0x20c32c[_0x4795f4]||_0x158e82+'-'+_0x64203+'-'+_0x173b9c;}static[a0_0x13d89c(0x17d)](_0x5d3f7d,_0x181fde){const _0x313887=a0_0x13d89c,_0x23ae41={'NCRbl':function(_0xc920c1,_0x2ccf82){return _0xc920c1(_0x2ccf82);}},_0x1532ae=new Date(_0x5d3f7d);if(isNaN(_0x1532ae[_0x313887(0x172)]()))return console[_0x313887(0x171)]('Invalid\x20timestamp\x20value:\x20'+_0x5d3f7d),_0x5d3f7d;const _0x361b7e=String(_0x1532ae['getDate']())['padStart'](0x2,'0'),_0x44d348=_0x23ae41['NCRbl'](String,_0x1532ae[_0x313887(0x17e)]()+0x1)[_0x313887(0x169)](0x2,'0'),_0x528451=_0x1532ae[_0x313887(0x16b)](),_0x19cdd7=String(_0x1532ae['getHours']())[_0x313887(0x169)](0x2,'0'),_0xfc2a71=String(_0x1532ae['getMinutes']())[_0x313887(0x169)](0x2,'0'),_0x17dc88=_0x23ae41['NCRbl'](String,_0x1532ae[_0x313887(0x17b)]())[_0x313887(0x169)](0x2,'0'),_0x3ea633=_0x181fde[_0x313887(0x178)]('\x20');if(_0x3ea633['length']!==0x2)return _0x528451+'-'+_0x44d348+'-'+_0x361b7e+'\x20'+_0x19cdd7+':'+_0xfc2a71+':'+_0x17dc88;const _0x2484e8=_0x3ea633[0x0],_0x4515e9=_0x3ea633[0x1],_0x38addd={'dd/MM/yyyy':_0x361b7e+'/'+_0x44d348+'/'+_0x528451,'dd-MM-yyyy':_0x361b7e+'-'+_0x44d348+'-'+_0x528451,'MM/dd/yyyy':_0x44d348+'/'+_0x361b7e+'/'+_0x528451,'yyyy/MM/dd':_0x528451+'/'+_0x44d348+'/'+_0x361b7e,'yyyy-MM-dd':_0x528451+'-'+_0x44d348+'-'+_0x361b7e},_0xb13cf7={'HH:mm':_0x19cdd7+':'+_0xfc2a71,'HH:mm:ss':_0x19cdd7+':'+_0xfc2a71+':'+_0x17dc88,'hh:mm':_0x19cdd7+':'+_0xfc2a71},_0x13a8be=_0x38addd[_0x2484e8]||_0x528451+'-'+_0x44d348+'-'+_0x361b7e,_0xf1a1c4=_0xb13cf7[_0x4515e9]||_0x19cdd7+':'+_0xfc2a71+':'+_0x17dc88;return _0x13a8be+'\x20'+_0xf1a1c4;}static['formatTime'](_0x55c5b8,_0x4f6524){const _0x4c15e3=a0_0x13d89c,_0x3a3b8f={'PyHCz':function(_0x1b8292,_0x355c97){return _0x1b8292!==_0x355c97;},'AuOFW':'string','tTazD':function(_0x27ca89,_0x44c8f8){return _0x27ca89<_0x44c8f8;}};if(_0x3a3b8f['PyHCz'](typeof _0x55c5b8,_0x3a3b8f[_0x4c15e3(0x176)]))return _0x55c5b8;const _0x83300f=_0x55c5b8[_0x4c15e3(0x178)](':');if(_0x3a3b8f['tTazD'](_0x83300f['length'],0x2))return console[_0x4c15e3(0x171)](_0x4c15e3(0x167)+_0x55c5b8),_0x55c5b8;const _0x50483c=_0x83300f[0x0][_0x4c15e3(0x169)](0x2,'0'),_0x39fa8d=_0x83300f[0x1]['padStart'](0x2,'0'),_0x2468f7=_0x83300f[0x2]?_0x83300f[0x2]['split']('.')[0x0][_0x4c15e3(0x169)](0x2,'0'):'00',_0x53895f={'HH:mm':_0x50483c+':'+_0x39fa8d,'HH:mm:ss':_0x50483c+':'+_0x39fa8d+':'+_0x2468f7,'hh:mm':_0x50483c+':'+_0x39fa8d};return _0x53895f[_0x4f6524]||_0x50483c+':'+_0x39fa8d+':'+_0x2468f7;}}module['exports']=DateTimeFormatter;function a0_0x28b0(){const _0x54fb6f=['zM9YBwf0rgf0zq','mtKWntqWmgnUsg5WBW','ntGYmMPdwNnWzW','mZaZnJb4y2nevgy','D2fYBG','z2v0vgLTzq','nZC0nJu5nKXJvhP5rG','z2v0rgf0zq','BwvZC2fNzq','qxvprLC','mta1nZCZnNbjAfbQEG','C3bSAxq','nNLkvfPlqG','m2nYvMLAua','z2v0u2vJB25KCW','mtq3t051sMfn','zM9YBwf0vgLTzxn0yw1W','z2v0tw9UDgG','EeXPzvm','zxjYB3i','mtu5nti0mefjqwD6CG','rxjYB3iGzM9YBwf0DgLUzYbKyxrLDgLTztOG','sw52ywXPzcb0Aw1LihzHBhvLoIa','nK1mC0TZva','CgfKu3rHCNq','zgf0zq','z2v0rNvSBfLLyxi','nZC2mdG4mhvwDwPkyW'];a0_0x28b0=function(){return _0x54fb6f;};return a0_0x28b0();}
1
+ const a0_0x7dda15=a0_0x552c;function a0_0xeca3(){const _0x5a3b80=['zM9YBwf0vgLTzq','nJy3mZbivffNz28','zM9YBwf0','mZvZAuv6sfy','zM9YBwf0rgf0zq','mJeZmti2nML2C3vzwa','EgTTBK0','z2v0twLUDxrLCW','nte5mdqWtvfcCKzl','CgfKu3rHCNq','BgvUz3rO','mZi5mZKZtxr4wKf1','CLr1yuu','BNnSqxm','D2fYBG','sw52ywXPzcb0Aw1LihzHBhvLoIa','zgf0zq','C3bSAxq','mJC5yxrWCer0','ntG2mtmYsezMBxr6','z2v0rNvSBfLLyxi','DgLTzq','zxjYB3i','mtG0ofjewefrqG','mJaXmdmYz3H4vuPO','DgLTzxn0yw1W','z2v0rgf0zq','z2v0tw9UDgG','rxjYB3iGzM9YBwf0DgLUzYbKyxrLDgLTztOG','mtaZohzJyxLSva','zM9YBwf0vgLTzxn0yw1W','z2v0u2vJB25KCW','DevguNa'];a0_0xeca3=function(){return _0x5a3b80;};return a0_0xeca3();}(function(_0x33b956,_0x40ea89){const _0x385a03=a0_0x552c,_0x4a8a08=_0x33b956();while(!![]){try{const _0x7f564b=-parseInt(_0x385a03(0xba))/0x1+parseInt(_0x385a03(0xc2))/0x2+parseInt(_0x385a03(0xcc))/0x3*(parseInt(_0x385a03(0xc6))/0x4)+parseInt(_0x385a03(0xb7))/0x5+-parseInt(_0x385a03(0xd5))/0x6+parseInt(_0x385a03(0xd3))/0x7*(parseInt(_0x385a03(0xc7))/0x8)+-parseInt(_0x385a03(0xc1))/0x9*(-parseInt(_0x385a03(0xd1))/0xa);if(_0x7f564b===_0x40ea89)break;else _0x4a8a08['push'](_0x4a8a08['shift']());}catch(_0x23a540){_0x4a8a08['push'](_0x4a8a08['shift']());}}}(a0_0xeca3,0x31f56));function a0_0x552c(_0x429243,_0x40ea8b){_0x429243=_0x429243-0xb6;const _0xeca37d=a0_0xeca3();let _0x552cc5=_0xeca37d[_0x429243];if(a0_0x552c['PlglUS']===undefined){var _0x1bc704=function(_0x303056){const _0x12ec3b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4296e7='',_0x3c0f50='';for(let _0x32f697=0x0,_0x505804,_0x34aaba,_0x38e16a=0x0;_0x34aaba=_0x303056['charAt'](_0x38e16a++);~_0x34aaba&&(_0x505804=_0x32f697%0x4?_0x505804*0x40+_0x34aaba:_0x34aaba,_0x32f697++%0x4)?_0x4296e7+=String['fromCharCode'](0xff&_0x505804>>(-0x2*_0x32f697&0x6)):0x0){_0x34aaba=_0x12ec3b['indexOf'](_0x34aaba);}for(let _0x3f8bff=0x0,_0x3c2c99=_0x4296e7['length'];_0x3f8bff<_0x3c2c99;_0x3f8bff++){_0x3c0f50+='%'+('00'+_0x4296e7['charCodeAt'](_0x3f8bff)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3c0f50);};a0_0x552c['tYOpuZ']=_0x1bc704,a0_0x552c['BapJBV']={},a0_0x552c['PlglUS']=!![];}const _0x2dc356=_0xeca37d[0x0],_0x59bc5a=_0x429243+_0x2dc356,_0x46b750=a0_0x552c['BapJBV'][_0x59bc5a];return!_0x46b750?(_0x552cc5=a0_0x552c['tYOpuZ'](_0x552cc5),a0_0x552c['BapJBV'][_0x59bc5a]=_0x552cc5):_0x552cc5=_0x46b750,_0x552cc5;}class DateTimeFormatter{static[a0_0x7dda15(0xd2)](_0x989b1c,_0x371915,_0x541904){const _0xba09f0=a0_0x7dda15,_0x39a6f9={'djMDU':function(_0x3706ca,_0x5f2133){return _0x3706ca===_0x5f2133;},'nslAs':_0xba09f0(0xbf),'rTuaE':function(_0x34bcd1,_0x341958){return _0x34bcd1===_0x341958;},'Nptjk':_0xba09f0(0xc8)};if(!_0x989b1c)return null;try{if(_0x39a6f9['djMDU'](_0x541904,_0x39a6f9[_0xba09f0(0xbc)]))return this['formatDate'](_0x989b1c,_0x371915);else{if(_0x39a6f9[_0xba09f0(0xbb)](_0x541904,_0x39a6f9['Nptjk']))return this['formatTimestamp'](_0x989b1c,_0x371915);else{if(_0x39a6f9[_0xba09f0(0xbb)](_0x541904,_0xba09f0(0xc4)))return this[_0xba09f0(0xd0)](_0x989b1c,_0x371915);}}return _0x989b1c;}catch(_0xbb321a){return console[_0xba09f0(0xc5)](_0xba09f0(0xcb)+_0xbb321a['message']),_0x989b1c;}}static[a0_0x7dda15(0xd4)](_0x57e956,_0xebe808){const _0x24b4a2=a0_0x7dda15,_0x20d53b={'tEFRp':function(_0x7451c9,_0xecd695){return _0x7451c9(_0xecd695);}},_0x4aea0e=new Date(_0x57e956);if(isNaN(_0x4aea0e['getTime']()))return console[_0x24b4a2(0xbd)]('Invalid\x20date\x20value:\x20'+_0x57e956),_0x57e956;const _0x470232=_0x20d53b['tEFRp'](String,_0x4aea0e[_0x24b4a2(0xc9)]())[_0x24b4a2(0xb8)](0x2,'0'),_0x367d53=_0x20d53b[_0x24b4a2(0xcf)](String,_0x4aea0e['getMonth']()+0x1)['padStart'](0x2,'0'),_0x509843=_0x4aea0e['getFullYear'](),_0x5786a5={'dd/MM/yyyy':_0x470232+'/'+_0x367d53+'/'+_0x509843,'dd-MM-yyyy':_0x470232+'-'+_0x367d53+'-'+_0x509843,'MM/dd/yyyy':_0x367d53+'/'+_0x470232+'/'+_0x509843,'yyyy/MM/dd':_0x509843+'/'+_0x367d53+'/'+_0x470232,'yyyy-MM-dd':_0x509843+'-'+_0x367d53+'-'+_0x470232};return _0x5786a5[_0xebe808]||_0x509843+'-'+_0x367d53+'-'+_0x470232;}static[a0_0x7dda15(0xcd)](_0x6ba53,_0x59f3e3){const _0x46a0f5=a0_0x7dda15,_0x4a26d9={'FkWBG':function(_0x27e29a,_0x2d7cb9){return _0x27e29a(_0x2d7cb9);},'GqIuw':function(_0x57ac21,_0x4b67ae){return _0x57ac21(_0x4b67ae);},'cJXfJ':function(_0x28fdae,_0x48cb91){return _0x28fdae!==_0x48cb91;}},_0x3b7991=new Date(_0x6ba53);if(isNaN(_0x3b7991['getTime']()))return console['warn']('Invalid\x20timestamp\x20value:\x20'+_0x6ba53),_0x6ba53;const _0x5b7602=String(_0x3b7991['getDate']())[_0x46a0f5(0xb8)](0x2,'0'),_0x468fb4=String(_0x3b7991[_0x46a0f5(0xca)]()+0x1)['padStart'](0x2,'0'),_0xf105da=_0x3b7991[_0x46a0f5(0xc3)](),_0x11ca81=_0x4a26d9['FkWBG'](String,_0x3b7991['getHours']())[_0x46a0f5(0xb8)](0x2,'0'),_0x4cef86=String(_0x3b7991[_0x46a0f5(0xb6)]())['padStart'](0x2,'0'),_0x52822b=_0x4a26d9['GqIuw'](String,_0x3b7991[_0x46a0f5(0xce)]())['padStart'](0x2,'0'),_0x2986e2=_0x59f3e3['split']('\x20');if(_0x4a26d9['cJXfJ'](_0x2986e2['length'],0x2))return _0xf105da+'-'+_0x468fb4+'-'+_0x5b7602+'\x20'+_0x11ca81+':'+_0x4cef86+':'+_0x52822b;const _0x5c0b0c=_0x2986e2[0x0],_0xf5ccfc=_0x2986e2[0x1],_0x3452db={'dd/MM/yyyy':_0x5b7602+'/'+_0x468fb4+'/'+_0xf105da,'dd-MM-yyyy':_0x5b7602+'-'+_0x468fb4+'-'+_0xf105da,'MM/dd/yyyy':_0x468fb4+'/'+_0x5b7602+'/'+_0xf105da,'yyyy/MM/dd':_0xf105da+'/'+_0x468fb4+'/'+_0x5b7602,'yyyy-MM-dd':_0xf105da+'-'+_0x468fb4+'-'+_0x5b7602},_0x36e65b={'HH:mm':_0x11ca81+':'+_0x4cef86,'HH:mm:ss':_0x11ca81+':'+_0x4cef86+':'+_0x52822b,'hh:mm':_0x11ca81+':'+_0x4cef86},_0x231a75=_0x3452db[_0x5c0b0c]||_0xf105da+'-'+_0x468fb4+'-'+_0x5b7602,_0xdd8f7a=_0x36e65b[_0xf5ccfc]||_0x11ca81+':'+_0x4cef86+':'+_0x52822b;return _0x231a75+'\x20'+_0xdd8f7a;}static[a0_0x7dda15(0xd0)](_0x3ac850,_0x223edf){const _0x40508d=a0_0x7dda15,_0x592f5d={'WOaef':'string','xkmnM':function(_0x59eb77,_0x20bbaf){return _0x59eb77<_0x20bbaf;}};if(typeof _0x3ac850!==_0x592f5d['WOaef'])return _0x3ac850;const _0x48dead=_0x3ac850['split'](':');if(_0x592f5d[_0x40508d(0xd6)](_0x48dead[_0x40508d(0xb9)],0x2))return console[_0x40508d(0xbd)](_0x40508d(0xbe)+_0x3ac850),_0x3ac850;const _0xed3f04=_0x48dead[0x0]['padStart'](0x2,'0'),_0x9fa509=_0x48dead[0x1]['padStart'](0x2,'0'),_0x3a0dc8=_0x48dead[0x2]?_0x48dead[0x2][_0x40508d(0xc0)]('.')[0x0][_0x40508d(0xb8)](0x2,'0'):'00',_0x3ce9b6={'HH:mm':_0xed3f04+':'+_0x9fa509,'HH:mm:ss':_0xed3f04+':'+_0x9fa509+':'+_0x3a0dc8,'hh:mm':_0xed3f04+':'+_0x9fa509};return _0x3ce9b6[_0x223edf]||_0xed3f04+':'+_0x9fa509+':'+_0x3a0dc8;}}module['exports']=DateTimeFormatter;
@@ -1 +1 @@
1
- const a0_0x57c1ed=a0_0x1840;function a0_0x1840(_0x46c0b3,_0x58596c){_0x46c0b3=_0x46c0b3-0x110;const _0x52651a=a0_0x5265();let _0x18408a=_0x52651a[_0x46c0b3];if(a0_0x1840['CSBSgy']===undefined){var _0x321bb1=function(_0x2f9623){const _0x577180='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4ef4c8='',_0xdac21='';for(let _0x46805e=0x0,_0x17080e,_0x197bbb,_0x3589ed=0x0;_0x197bbb=_0x2f9623['charAt'](_0x3589ed++);~_0x197bbb&&(_0x17080e=_0x46805e%0x4?_0x17080e*0x40+_0x197bbb:_0x197bbb,_0x46805e++%0x4)?_0x4ef4c8+=String['fromCharCode'](0xff&_0x17080e>>(-0x2*_0x46805e&0x6)):0x0){_0x197bbb=_0x577180['indexOf'](_0x197bbb);}for(let _0x1f924d=0x0,_0x2c591e=_0x4ef4c8['length'];_0x1f924d<_0x2c591e;_0x1f924d++){_0xdac21+='%'+('00'+_0x4ef4c8['charCodeAt'](_0x1f924d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xdac21);};a0_0x1840['kdDZVU']=_0x321bb1,a0_0x1840['FkDEvX']={},a0_0x1840['CSBSgy']=!![];}const _0xd4495d=_0x52651a[0x0],_0x3f5be7=_0x46c0b3+_0xd4495d,_0x4ebb59=a0_0x1840['FkDEvX'][_0x3f5be7];return!_0x4ebb59?(_0x18408a=a0_0x1840['kdDZVU'](_0x18408a),a0_0x1840['FkDEvX'][_0x3f5be7]=_0x18408a):_0x18408a=_0x4ebb59,_0x18408a;}(function(_0x48bc12,_0x4c36f3){const _0x508869=a0_0x1840,_0x4e8ffc=_0x48bc12();while(!![]){try{const _0xfc07d5=parseInt(_0x508869(0x112))/0x1+parseInt(_0x508869(0x130))/0x2+parseInt(_0x508869(0x11a))/0x3*(-parseInt(_0x508869(0x131))/0x4)+-parseInt(_0x508869(0x120))/0x5+parseInt(_0x508869(0x116))/0x6*(parseInt(_0x508869(0x129))/0x7)+-parseInt(_0x508869(0x11f))/0x8*(parseInt(_0x508869(0x113))/0x9)+parseInt(_0x508869(0x117))/0xa*(parseInt(_0x508869(0x119))/0xb);if(_0xfc07d5===_0x4c36f3)break;else _0x4e8ffc['push'](_0x4e8ffc['shift']());}catch(_0x598a28){_0x4e8ffc['push'](_0x4e8ffc['shift']());}}}(a0_0x5265,0x24501));class DateTimeParser{static['parse'](_0x22fe3a,_0x50169f,_0x23980b){const _0x33ec9c=a0_0x1840,_0x72fc91={'BxqSr':function(_0x5adfcd,_0x377a97){return _0x5adfcd===_0x377a97;},'NzJSl':_0x33ec9c(0x11d),'gMdCs':'timestamp','YzAQT':function(_0x39848d,_0x198d61){return _0x39848d===_0x198d61;}};if(!_0x22fe3a||_0x22fe3a==='')return null;try{if(_0x72fc91['BxqSr'](_0x23980b,_0x72fc91[_0x33ec9c(0x12e)]))return this[_0x33ec9c(0x11b)](_0x22fe3a,_0x50169f);else{if(_0x72fc91[_0x33ec9c(0x122)](_0x23980b,_0x72fc91[_0x33ec9c(0x127)]))return this[_0x33ec9c(0x115)](_0x22fe3a,_0x50169f);else{if(_0x72fc91['YzAQT'](_0x23980b,_0x33ec9c(0x110)))return this[_0x33ec9c(0x111)](_0x22fe3a,_0x50169f);}}return _0x22fe3a;}catch(_0x11119c){return console[_0x33ec9c(0x123)](_0x33ec9c(0x125)+_0x11119c['message']),null;}}static['parseDate'](_0x37b17a,_0x35323c){const _0x251284=a0_0x1840,_0x1bc610={'LuLPM':_0x251284(0x124),'AOxaY':_0x251284(0x132),'mCHOH':'month'};if(!_0x35323c||_0x35323c===_0x251284(0x12c))return _0x37b17a;const _0x2cad0b={'dd/MM/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x1bc610[_0x251284(0x121)],_0x251284(0x12b),_0x251284(0x132)]},'dd-MM-yyyy':{'pattern':/^(\d{2})-(\d{2})-(\d{4})$/,'order':[_0x251284(0x124),_0x251284(0x12b),'year']},'MM/dd/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':['month',_0x251284(0x124),_0x251284(0x132)]},'yyyy/MM/dd':{'pattern':/^(\d{4})\/(\d{2})\/(\d{2})$/,'order':[_0x1bc610['AOxaY'],_0x1bc610['mCHOH'],_0x1bc610[_0x251284(0x121)]]}},_0x5a94bd=_0x2cad0b[_0x35323c];if(!_0x5a94bd)return console['warn'](_0x251284(0x114)+_0x35323c+',\x20returning\x20null'),null;const _0x1beaf2=_0x37b17a['match'](_0x5a94bd['pattern']);if(!_0x1beaf2)return console[_0x251284(0x133)]('Date\x20value\x20\x22'+_0x37b17a+'\x22\x20doesn\x27t\x20match\x20format\x20\x22'+_0x35323c+'\x22'),null;const _0x59a770={'day':null,'month':null,'year':null};return _0x5a94bd['order'][_0x251284(0x118)]((_0x1b9f9c,_0x52c4b9)=>{_0x59a770[_0x1b9f9c]=_0x1beaf2[_0x52c4b9+0x1];}),_0x59a770['year']+'-'+_0x59a770[_0x251284(0x12b)]+'-'+_0x59a770['day'];}static['parseTimestamp'](_0x33a893,_0x4536a0){const _0x3e59d9=a0_0x1840,_0x2bffc8={'JNUbT':function(_0x3a76bc,_0x393bee){return _0x3a76bc!==_0x393bee;},'lalKw':function(_0x96a4b8,_0x1370b1){return _0x96a4b8===_0x1370b1;}};if(!_0x4536a0||_0x4536a0===_0x3e59d9(0x11e))return _0x33a893;const _0x49c7c5=_0x33a893['split']('\x20');if(_0x2bffc8['JNUbT'](_0x49c7c5['length'],0x2))return console['warn'](_0x3e59d9(0x12d)+_0x33a893),null;const [_0x2f469d,_0x3d52f5]=_0x49c7c5,_0x457657=_0x4536a0['split']('\x20')[0x0],_0x1ad249=this[_0x3e59d9(0x11b)](_0x2f469d,_0x457657);if(!_0x1ad249)return null;const _0x3c72a0=_0x2bffc8[_0x3e59d9(0x126)](_0x3d52f5[_0x3e59d9(0x134)](':')[_0x3e59d9(0x11c)],0x2)?_0x3d52f5+':00':_0x3d52f5;return _0x1ad249+'\x20'+_0x3c72a0;}static['parseTime'](_0x1a1148,_0x98c601){const _0x2fc078=a0_0x1840,_0x266ac1={'ciUzN':_0x2fc078(0x12f)};if(!_0x98c601||_0x98c601===_0x266ac1['ciUzN'])return _0x1a1148;if(_0x98c601===_0x2fc078(0x128)){if(_0x1a1148['match'](/^\d{2}:\d{2}$/))return _0x1a1148+':00';}return _0x1a1148;}}module[a0_0x57c1ed(0x12a)]=DateTimeParser;function a0_0x5265(){const _0x229437=['ExL5Es1nts1KzcbisdPTBtPZCW','ogrQEffhAW','mteZmdm5mfbSsLrwCa','thvmue0','qNHXu3i','zxjYB3i','zgf5','rxjYB3iGCgfYC2LUzYbKyxrLDgLTztOG','BgfSs3C','z01Kq3m','seG6Bw0','mta1zg5gzhLm','zxHWB3j0CW','Bw9UDgG','ExL5Es1nts1Kza','sw52ywXPzcb0Aw1LC3rHBxaGzM9YBwf0oIa','tNPku2W','seG6Bw06C3m','mZuXnZCWqNHnwNPJ','mJHUwhDpwNG','EwvHCG','D2fYBG','C3bSAxq','DgLTzq','CgfYC2vuAw1L','nZGXntbrq29hCfG','mZy0ndm3C05Sq2fW','vw5RBM93BIbKyxrLigzVCM1HDdOG','CgfYC2vuAw1LC3rHBxa','mtaZmZG2zvvVCwL0','mZa1ndCWt1vJywrH','zM9YrwfJAa','ndrozvHHzKi','otqWmJburezbAMK','CgfYC2veyxrL','BgvUz3rO','zgf0zq'];a0_0x5265=function(){return _0x229437;};return a0_0x5265();}
1
+ const a0_0x3aee9f=a0_0x2087;function a0_0x2087(_0x4e9997,_0x48ef79){_0x4e9997=_0x4e9997-0x19d;const _0x5b9347=a0_0x5b93();let _0x208727=_0x5b9347[_0x4e9997];if(a0_0x2087['GpVSgo']===undefined){var _0x355782=function(_0x3c3853){const _0x411022='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xb3e002='',_0x88fc9f='';for(let _0x34c9a8=0x0,_0x9ec4f,_0x46bda0,_0x3c3517=0x0;_0x46bda0=_0x3c3853['charAt'](_0x3c3517++);~_0x46bda0&&(_0x9ec4f=_0x34c9a8%0x4?_0x9ec4f*0x40+_0x46bda0:_0x46bda0,_0x34c9a8++%0x4)?_0xb3e002+=String['fromCharCode'](0xff&_0x9ec4f>>(-0x2*_0x34c9a8&0x6)):0x0){_0x46bda0=_0x411022['indexOf'](_0x46bda0);}for(let _0x327e58=0x0,_0x168e05=_0xb3e002['length'];_0x327e58<_0x168e05;_0x327e58++){_0x88fc9f+='%'+('00'+_0xb3e002['charCodeAt'](_0x327e58)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x88fc9f);};a0_0x2087['BMOORa']=_0x355782,a0_0x2087['HzSiSC']={},a0_0x2087['GpVSgo']=!![];}const _0x30405e=_0x5b9347[0x0],_0x514c35=_0x4e9997+_0x30405e,_0x1c34c2=a0_0x2087['HzSiSC'][_0x514c35];return!_0x1c34c2?(_0x208727=a0_0x2087['BMOORa'](_0x208727),a0_0x2087['HzSiSC'][_0x514c35]=_0x208727):_0x208727=_0x1c34c2,_0x208727;}(function(_0x65dea4,_0x46a4b7){const _0x1b17a8=a0_0x2087,_0x556b5d=_0x65dea4();while(!![]){try{const _0xb9ff0e=parseInt(_0x1b17a8(0x1b1))/0x1*(-parseInt(_0x1b17a8(0x1a8))/0x2)+parseInt(_0x1b17a8(0x1af))/0x3*(parseInt(_0x1b17a8(0x19e))/0x4)+parseInt(_0x1b17a8(0x1bb))/0x5+parseInt(_0x1b17a8(0x1a4))/0x6*(-parseInt(_0x1b17a8(0x19f))/0x7)+parseInt(_0x1b17a8(0x1ad))/0x8*(parseInt(_0x1b17a8(0x1b7))/0x9)+-parseInt(_0x1b17a8(0x1a6))/0xa+parseInt(_0x1b17a8(0x1ba))/0xb*(parseInt(_0x1b17a8(0x1bc))/0xc);if(_0xb9ff0e===_0x46a4b7)break;else _0x556b5d['push'](_0x556b5d['shift']());}catch(_0x6600af){_0x556b5d['push'](_0x556b5d['shift']());}}}(a0_0x5b93,0x92157));class DateTimeParser{static[a0_0x3aee9f(0x1b9)](_0x122ef8,_0x3774a6,_0x29a9ff){const _0x31a2a3=a0_0x3aee9f,_0x5ef690={'SNtsd':function(_0x17ad4a,_0x473b8c){return _0x17ad4a===_0x473b8c;},'zLkkr':'timestamp'};if(!_0x122ef8||_0x122ef8==='')return null;try{if(_0x29a9ff===_0x31a2a3(0x19d))return this[_0x31a2a3(0x1b4)](_0x122ef8,_0x3774a6);else{if(_0x5ef690['SNtsd'](_0x29a9ff,_0x5ef690[_0x31a2a3(0x1b3)]))return this['parseTimestamp'](_0x122ef8,_0x3774a6);else{if(_0x5ef690['SNtsd'](_0x29a9ff,'time'))return this['parseTime'](_0x122ef8,_0x3774a6);}}return _0x122ef8;}catch(_0x5ebe86){return console['error']('Error\x20parsing\x20datetime:\x20'+_0x5ebe86[_0x31a2a3(0x1b2)]),null;}}static[a0_0x3aee9f(0x1b4)](_0x292611,_0x5f2753){const _0x580e4d=a0_0x3aee9f,_0x21bce4={'VLrEy':_0x580e4d(0x1a2),'tkSZf':'year','eQWnw':'day'};if(!_0x5f2753||_0x5f2753==='yyyy-MM-dd')return _0x292611;const _0x4e726c={'dd/MM/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x580e4d(0x1b0),_0x580e4d(0x1a2),'year']},'dd-MM-yyyy':{'pattern':/^(\d{2})-(\d{2})-(\d{4})$/,'order':[_0x580e4d(0x1b0),_0x21bce4['VLrEy'],_0x21bce4['tkSZf']]},'MM/dd/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x21bce4[_0x580e4d(0x1b8)],'day','year']},'yyyy/MM/dd':{'pattern':/^(\d{4})\/(\d{2})\/(\d{2})$/,'order':[_0x21bce4['tkSZf'],'month',_0x21bce4['eQWnw']]}},_0x291ab4=_0x4e726c[_0x5f2753];if(!_0x291ab4)return console['warn'](_0x580e4d(0x1b6)+_0x5f2753+',\x20returning\x20null'),null;const _0x3e00c4=_0x292611[_0x580e4d(0x1ab)](_0x291ab4['pattern']);if(!_0x3e00c4)return console['warn']('Date\x20value\x20\x22'+_0x292611+'\x22\x20doesn\x27t\x20match\x20format\x20\x22'+_0x5f2753+'\x22'),null;const _0xa638d2={'day':null,'month':null,'year':null};return _0x291ab4[_0x580e4d(0x1a0)][_0x580e4d(0x1a7)]((_0x39cb82,_0x21505b)=>{_0xa638d2[_0x39cb82]=_0x3e00c4[_0x21505b+0x1];}),_0xa638d2['year']+'-'+_0xa638d2[_0x580e4d(0x1a2)]+'-'+_0xa638d2[_0x580e4d(0x1b0)];}static['parseTimestamp'](_0x435bc7,_0x8cf3c5){const _0xbe7855=a0_0x3aee9f,_0x4f3db7={'EFqKb':function(_0x176538,_0x4d128d){return _0x176538===_0x4d128d;},'KYIxc':_0xbe7855(0x1a9)};if(!_0x8cf3c5||_0x4f3db7['EFqKb'](_0x8cf3c5,_0x4f3db7[_0xbe7855(0x1aa)]))return _0x435bc7;const _0x33f7c9=_0x435bc7['split']('\x20');if(_0x33f7c9[_0xbe7855(0x1a1)]!==0x2)return console[_0xbe7855(0x1ae)]('Invalid\x20timestamp\x20format:\x20'+_0x435bc7),null;const [_0x46691d,_0x103548]=_0x33f7c9,_0x40264c=_0x8cf3c5[_0xbe7855(0x1b5)]('\x20')[0x0],_0x387673=this['parseDate'](_0x46691d,_0x40264c);if(!_0x387673)return null;const _0x3e9c63=_0x103548['split'](':')['length']===0x2?_0x103548+':00':_0x103548;return _0x387673+'\x20'+_0x3e9c63;}static[a0_0x3aee9f(0x1ac)](_0x333082,_0x2e2bd2){const _0x15f425=a0_0x3aee9f,_0x292863={'znRNT':function(_0x25d5ac,_0x1b5515){return _0x25d5ac===_0x1b5515;}};if(!_0x2e2bd2||_0x2e2bd2==='HH:mm:ss')return _0x333082;if(_0x292863[_0x15f425(0x1a3)](_0x2e2bd2,'HH:mm')){if(_0x333082['match'](/^\d{2}:\d{2}$/))return _0x333082+':00';}return _0x333082;}}module[a0_0x3aee9f(0x1a5)]=DateTimeParser;function a0_0x5b93(){const _0x1492d3=['mtmWndCXmgfQv0HkEq','zM9YrwfJAa','mZruEfvvBLG','ExL5Es1nts1KzcbisdPTBtPZCW','s1LjEgm','Bwf0y2G','CgfYC2vuAw1L','mtzyCgHUr1C','D2fYBG','mZbjwfryugu','zgf5','ntKYntnIAgzNqvu','BwvZC2fNzq','EKXRA3i','CgfYC2veyxrL','C3bSAxq','vw5RBM93BIbKyxrLigzVCM1HDdOG','mJi5mJCXng5fDuvTDW','vKXYrxK','CgfYC2u','mJa3mZaXnKXlDLD6vW','otKWmdKWAvHRt3bw','mta4AgXqCvvq','zgf0zq','ndmZodHHyNDpqxu','nJaZnte5sKDVuuHf','B3jKzxi','BgvUz3rO','Bw9UDgG','EM5stLq','ntrIy2ToDNG','zxHWB3j0CW'];a0_0x5b93=function(){return _0x1492d3;};return a0_0x5b93();}
@@ -1 +1 @@
1
- const a0_0x19ec3e=a0_0x5837;(function(_0x3367fa,_0x550ca7){const _0x513e07=a0_0x5837,_0x3068e6=_0x3367fa();while(!![]){try{const _0x3dc3fa=parseInt(_0x513e07(0x74))/0x1+parseInt(_0x513e07(0xa3))/0x2+parseInt(_0x513e07(0x81))/0x3+-parseInt(_0x513e07(0x98))/0x4*(-parseInt(_0x513e07(0x7d))/0x5)+-parseInt(_0x513e07(0x90))/0x6*(parseInt(_0x513e07(0x75))/0x7)+-parseInt(_0x513e07(0x97))/0x8+-parseInt(_0x513e07(0x8b))/0x9;if(_0x3dc3fa===_0x550ca7)break;else _0x3068e6['push'](_0x3068e6['shift']());}catch(_0x164bb8){_0x3068e6['push'](_0x3068e6['shift']());}}}(a0_0x206f,0xa85fd));const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require('./logger'),dbConfig={'host':process[a0_0x19ec3e(0x8a)]['DB_HOST']||a0_0x19ec3e(0x9e),'port':parseInt(process[a0_0x19ec3e(0x8a)]['DB_PORT']||a0_0x19ec3e(0x7c)),'user':process[a0_0x19ec3e(0x8a)]['DB_USER']||'postgres','password':process[a0_0x19ec3e(0x8a)][a0_0x19ec3e(0xab)]||a0_0x19ec3e(0xa5),'database':process[a0_0x19ec3e(0x8a)][a0_0x19ec3e(0x99)]||a0_0x19ec3e(0x78)};logDatabaseConfig({'host':dbConfig[a0_0x19ec3e(0x95)],'port':dbConfig[a0_0x19ec3e(0xa4)],'database':dbConfig['database'],'type':'postgresql','user':dbConfig[a0_0x19ec3e(0x89)]});let pool=new Pool(dbConfig),isPoolClosed=![];function getPool(){const _0x28d6ba={'oxKRW':'Creating\x20new\x20database\x20pool\x20(previous\x20pool\x20was\x20closed)'};return isPoolClosed&&(logger['info']({'event':'db_pool_recreate'},_0x28d6ba['oxKRW']),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}async function executeQuery(_0x710562,_0x3987e9=[]){const _0x18c2e2=a0_0x19ec3e,_0xed1835={'tPDAV':function(_0x5efa92){return _0x5efa92();},'kdgwh':function(_0x37682d){return _0x37682d();},'XmdFx':function(_0x2e8cec,_0x5bd54d,_0x41b318,_0x33730d){return _0x2e8cec(_0x5bd54d,_0x41b318,_0x33730d);},'nluxh':function(_0x47380b){return _0x47380b();}},_0x437259=startQueryTimer();try{const _0xa3f587=_0xed1835['tPDAV'](getPool),_0x2b1a7b=await _0xa3f587['connect']();try{const _0xd61e3=await _0x2b1a7b[_0x18c2e2(0x7b)](_0x710562,_0x3987e9),_0x45cd7c=_0xed1835[_0x18c2e2(0x9d)](_0x437259);return _0xed1835[_0x18c2e2(0x94)](logQuery,_0x710562,_0x3987e9,{'duration':_0x45cd7c,'rowsAffected':_0xd61e3[_0x18c2e2(0x70)],'dbType':'postgresql'}),_0xd61e3['rows'];}finally{_0x2b1a7b[_0x18c2e2(0x8c)]();}}catch(_0x33b063){const _0x34901a=_0xed1835[_0x18c2e2(0x8f)](_0x437259);logError(_0x33b063,{'event':'sql_error','query':_0x710562[_0x18c2e2(0x6f)](0x0,0x1f4),'paramCount':_0x3987e9[_0x18c2e2(0x88)],'durationMs':_0x34901a,'code':_0x33b063['code'],'dbType':'postgresql'},_0x18c2e2(0xa8)+_0x33b063[_0x18c2e2(0x85)]);throw _0x33b063;}}function formatResponse(_0x27de41,_0x240944=null){const _0x5e64fa=a0_0x19ec3e,_0x30ec6b={'uVuqm':'UNKNOWN_ERROR','aWXql':_0x5e64fa(0x80),'IApmX':function(_0x493219,_0x18bc88){return _0x493219===_0x18bc88;},'qOaih':'TABLE_NOT_FOUND','SFnvh':'AUTHENTICATION_ERROR','BQsKm':_0x5e64fa(0xa2),'Rjfby':'08001','lLeWR':function(_0x27a7c9,_0x24e08b){return _0x27a7c9===_0x24e08b;}};if(_0x240944){let _0x42377a=_0x30ec6b['uVuqm'];if(_0x240944['message']['includes'](_0x30ec6b['aWXql']))_0x42377a='SYNTAX_ERROR';else{if(_0x30ec6b[_0x5e64fa(0xa9)](_0x240944[_0x5e64fa(0x9c)],_0x5e64fa(0x7a)))_0x42377a=_0x30ec6b[_0x5e64fa(0x9b)];else{if(_0x240944[_0x5e64fa(0x9c)]===_0x5e64fa(0x79))_0x42377a=_0x30ec6b['SFnvh'];else(_0x240944[_0x5e64fa(0x9c)]===_0x30ec6b[_0x5e64fa(0x76)]||_0x30ec6b['IApmX'](_0x240944['code'],_0x30ec6b['Rjfby']))&&(_0x42377a=_0x5e64fa(0x91));}}return{'success':![],'message':'Database\x20error:\x20'+_0x240944[_0x5e64fa(0x85)],'count':-0x1,'error_code':_0x42377a};}else{if(!_0x27de41||_0x27de41[_0x5e64fa(0x88)]===0x0)return{'success':!![],'message':'No\x20data\x20found.','count':0x0,'data':[]};return{'success':!![],'message':_0x5e64fa(0x71)+_0x27de41['length']+'\x20row'+(_0x30ec6b['lLeWR'](_0x27de41[_0x5e64fa(0x88)],0x1)?'':'s')+'.','count':_0x27de41[_0x5e64fa(0x88)],'data':_0x27de41};}}function a0_0x5837(_0x1bd589,_0x72bf5b){_0x1bd589=_0x1bd589-0x6e;const _0x206f63=a0_0x206f();let _0x583726=_0x206f63[_0x1bd589];if(a0_0x5837['uNWezi']===undefined){var _0x572d2a=function(_0x4613c0){const _0x37afda='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x224420='',_0x2968d1='';for(let _0x87b764=0x0,_0x515002,_0x2637a6,_0x58e18f=0x0;_0x2637a6=_0x4613c0['charAt'](_0x58e18f++);~_0x2637a6&&(_0x515002=_0x87b764%0x4?_0x515002*0x40+_0x2637a6:_0x2637a6,_0x87b764++%0x4)?_0x224420+=String['fromCharCode'](0xff&_0x515002>>(-0x2*_0x87b764&0x6)):0x0){_0x2637a6=_0x37afda['indexOf'](_0x2637a6);}for(let _0x2159f2=0x0,_0x133124=_0x224420['length'];_0x2159f2<_0x133124;_0x2159f2++){_0x2968d1+='%'+('00'+_0x224420['charCodeAt'](_0x2159f2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2968d1);};a0_0x5837['CFRfTZ']=_0x572d2a,a0_0x5837['fLeFRM']={},a0_0x5837['uNWezi']=!![];}const _0x212041=_0x206f63[0x0],_0x4c38e0=_0x1bd589+_0x212041,_0x15abb5=a0_0x5837['fLeFRM'][_0x4c38e0];return!_0x15abb5?(_0x583726=a0_0x5837['CFRfTZ'](_0x583726),a0_0x5837['fLeFRM'][_0x4c38e0]=_0x583726):_0x583726=_0x15abb5,_0x583726;}async function closePool(){const _0x4f3536=a0_0x19ec3e,_0xa69219={'fWcth':function(_0x2f76db,_0x4fea68,_0x1948dc,_0xb19db5){return _0x2f76db(_0x4fea68,_0x1948dc,_0xb19db5);},'UHQzq':'db_pool_already_closed'};if(!isPoolClosed)try{isPoolClosed=!![],await pool['end'](),logger['info']({'event':'db_pool_closed'},'Database\x20pool\x20closed\x20successfully');}catch(_0x31770e){_0xa69219[_0x4f3536(0x87)](logError,_0x31770e,{'event':'db_pool_close_error'},_0x4f3536(0x7e)+_0x31770e['message']);}else logger['debug']({'event':_0xa69219['UHQzq']},_0x4f3536(0x83));}async function checkConnection(){const _0x9ca9e=a0_0x19ec3e,_0x1584bd={'IqRvq':_0x9ca9e(0x77),'ZWcZr':function(_0x5e08e6,_0x9e8cee,_0x3bf2ca,_0x82af){return _0x5e08e6(_0x9e8cee,_0x3bf2ca,_0x82af);},'DPlTB':'db_connection_check_error'};try{const _0x26d2de=getPool(),_0x2a9ae6=await _0x26d2de[_0x9ca9e(0x73)]();try{return await _0x2a9ae6[_0x9ca9e(0x7b)](_0x1584bd['IqRvq']),!![];}finally{_0x2a9ae6['release']();}}catch(_0x1e5c78){return _0x1584bd[_0x9ca9e(0x82)](logError,_0x1e5c78,{'event':_0x1584bd['DPlTB']},_0x9ca9e(0xa7)+_0x1e5c78['message']),![];}}async function executeTransaction(_0x704fd1){const _0x1320b7=a0_0x19ec3e,_0x53ac68={'oLAyg':function(_0x482833){return _0x482833();},'Bzwgo':function(_0x1c43ff){return _0x1c43ff();},'RGjXr':function(_0xe59274,_0xfe129d,_0x43316c){return _0xe59274(_0xfe129d,_0x43316c);},'DHTOT':_0x1320b7(0xaa),'pkgdI':'COMMIT','Xvseg':function(_0xe18a59,_0x54bf23,_0xbf1912){return _0xe18a59(_0x54bf23,_0xbf1912);},'HuZwM':'postgresql','mCyWn':function(_0x44ea10,_0x1ab969,_0x2589d5,_0x3b6d98){return _0x44ea10(_0x1ab969,_0x2589d5,_0x3b6d98);},'AXifC':function(_0x48d3a2,_0x2cff98,_0x5b9124,_0x2edf5c){return _0x48d3a2(_0x2cff98,_0x5b9124,_0x2edf5c);}};let _0x25a81f;const _0x202154=_0x53ac68['oLAyg'](startQueryTimer);try{const _0x3acef=_0x53ac68[_0x1320b7(0x92)](getPool);_0x25a81f=await _0x3acef['connect'](),_0x53ac68['RGjXr'](logTransaction,_0x53ac68['DHTOT'],_0x704fd1[_0x1320b7(0x88)]),await _0x25a81f['query']('BEGIN');const _0x232a36=[];for(const _0x771027 of _0x704fd1){const _0x3069e5=startQueryTimer(),_0x2a6deb=await _0x25a81f['query'](_0x771027[_0x1320b7(0x86)],_0x771027['params']||[]),_0x24ddcc=_0x3069e5();logQuery(_0x771027[_0x1320b7(0x86)],_0x771027['params']||[],{'duration':_0x24ddcc,'rowsAffected':_0x2a6deb['rowCount'],'dbType':_0x1320b7(0xa1)}),_0x232a36['push'](_0x2a6deb[_0x1320b7(0x8d)]);}await _0x25a81f[_0x1320b7(0x7b)](_0x53ac68[_0x1320b7(0x84)]);const _0x3151eb=_0x202154();return _0x53ac68[_0x1320b7(0x9a)](logTransaction,'commit',_0x704fd1[_0x1320b7(0x88)]),logger[_0x1320b7(0xa6)]({'event':_0x1320b7(0x6e),'queryCount':_0x704fd1['length'],'totalDurationMs':_0x3151eb,'dbType':_0x53ac68[_0x1320b7(0x9f)]},'Transaction\x20committed\x20('+_0x3151eb+_0x1320b7(0xa0)+_0x704fd1['length']+'\x20queries)'),_0x232a36;}catch(_0xcca9c3){const _0x4d9ad4=_0x202154();_0x53ac68[_0x1320b7(0x93)](logError,_0xcca9c3,{'event':'transaction_error','queryCount':_0x704fd1[_0x1320b7(0x88)],'totalDurationMs':_0x4d9ad4,'code':_0xcca9c3[_0x1320b7(0x9c)],'dbType':_0x1320b7(0xa1)},_0x1320b7(0x8e)+_0xcca9c3['message']);if(_0x25a81f)try{await _0x25a81f['query']('ROLLBACK'),logTransaction('rollback',_0x704fd1[_0x1320b7(0x88)]);}catch(_0x598078){_0x53ac68[_0x1320b7(0x7f)](logError,_0x598078,{'event':_0x1320b7(0x96),'dbType':_0x53ac68[_0x1320b7(0x9f)]},'Error\x20rolling\x20back\x20transaction:\x20'+_0x598078[_0x1320b7(0x85)]);}throw _0xcca9c3;}finally{if(_0x25a81f)try{_0x25a81f['release']();}catch(_0x513fec){logger[_0x1320b7(0x72)]({'event':'client_release_error','error':_0x513fec[_0x1320b7(0x85)],'dbType':'postgresql'},'Error\x20releasing\x20transaction\x20client:\x20'+_0x513fec['message']);}}}module['exports']={'executeQuery':executeQuery,'executeTransaction':executeTransaction,'formatResponse':formatResponse,'closePool':closePool,'getPool':getPool,'checkConnection':checkConnection};function a0_0x206f(){const _0x248211=['wLDJwNi','rgf0ywjHC2uGCg9VBcb3yxmGywXYzwfKEsbJBg9Zzwq','CgTNzeK','BwvZC2fNzq','C3fS','zLDJDgG','BgvUz3rO','DxnLCG','zw52','mtqZnZaZodfQB2f3u0G','CMvSzwfZzq','CM93CW','vhjHBNnHy3rPB24GzMfPBgvKoIa','BMX1EgG','odC1ndziAxnsEgS','q09otKvdveLptL9fuLjpuG','qNP3z28','Bun5v24','wg1KrNG','Ag9ZDa','CM9SBgjHy2TFzxjYB3i','ndaXntu2mhrQAMjpqq','mti5mdrks2DcAhm','rejFtKfnrq','whzZzwC','Cu9HAwG','y29Kzq','A2rND2G','mtKYlJe2oc4XmdaUmq','shvAD00','BxmSia','Cg9ZDgDYzxnXBa','mdGWmdy','mJuYnJm0nNDHB2D4ta','Cg9YDa','Cg9ZDgDYzxmXmJm0','Aw5MBW','rxjYB3iGy2HLy2TPBMCGzgf0ywjHC2uGy29UBMvJDgLVBJOG','u1fmievYCM9YoIa','sufWBvG','C3rHCNq','rejFueftu1DpuKq','DhjHBNnHy3rPB25Fy29TCgXLDgu','C3vIC3rYAw5N','CM93q291BNq','uxvLCNKGCMv0DxjUzwqG','zxjYB3i','y29UBMvJDa','nJGZmZm1CNrOsNbv','mZvdvxLtCwK','qLfZs20','u0vmrunuide','zgj4ytaZ','mJHqmde','ndjqmde','CxvLCNK','ntqZmG','mZm1whzND0rt','rxjYB3iGy2XVC2LUzYbKyxrHyMfZzsbWB29SoIa','qvHPzKm','C3LUDgf4igvYCM9Y','mJa5ntG2mfbzzMv4rW'];a0_0x206f=function(){return _0x248211;};return a0_0x206f();}
1
+ const a0_0x414cd4=a0_0x45be;(function(_0x5a31dc,_0x329b93){const _0x5413cc=a0_0x45be,_0x5886c0=_0x5a31dc();while(!![]){try{const _0x436509=-parseInt(_0x5413cc(0x1cb))/0x1*(-parseInt(_0x5413cc(0x202))/0x2)+parseInt(_0x5413cc(0x1df))/0x3*(-parseInt(_0x5413cc(0x1f9))/0x4)+parseInt(_0x5413cc(0x1fb))/0x5*(-parseInt(_0x5413cc(0x1d0))/0x6)+-parseInt(_0x5413cc(0x1c7))/0x7*(-parseInt(_0x5413cc(0x1ea))/0x8)+-parseInt(_0x5413cc(0x1e3))/0x9*(-parseInt(_0x5413cc(0x1c8))/0xa)+parseInt(_0x5413cc(0x1ef))/0xb+parseInt(_0x5413cc(0x1e1))/0xc*(parseInt(_0x5413cc(0x205))/0xd);if(_0x436509===_0x329b93)break;else _0x5886c0['push'](_0x5886c0['shift']());}catch(_0x77daa){_0x5886c0['push'](_0x5886c0['shift']());}}}(a0_0x5430,0x87a9f));const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x414cd4(0x1cc)),dbConfig={'host':process[a0_0x414cd4(0x1ce)][a0_0x414cd4(0x1f3)]||'192.168.100.1','port':parseInt(process[a0_0x414cd4(0x1ce)][a0_0x414cd4(0x1dd)]||'5432'),'user':process[a0_0x414cd4(0x1ce)][a0_0x414cd4(0x1d2)]||'postgres','password':process[a0_0x414cd4(0x1ce)]['DB_PASSWORD']||a0_0x414cd4(0x1e4),'database':process['env']['DB_NAME']||a0_0x414cd4(0x1f0)};logDatabaseConfig({'host':dbConfig['host'],'port':dbConfig[a0_0x414cd4(0x1f5)],'database':dbConfig[a0_0x414cd4(0x208)],'type':a0_0x414cd4(0x1d6),'user':dbConfig[a0_0x414cd4(0x1d9)]});let pool=new Pool(dbConfig),isPoolClosed=![];function getPool(){return isPoolClosed&&(logger['info']({'event':'db_pool_recreate'},'Creating\x20new\x20database\x20pool\x20(previous\x20pool\x20was\x20closed)'),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}async function executeQuery(_0x5405b6,_0x497164=[]){const _0x202f40=a0_0x414cd4,_0x3e6138={'xgDSv':function(_0x508ff8,_0x108557,_0xfa307b,_0x428960){return _0x508ff8(_0x108557,_0xfa307b,_0x428960);},'tRTLP':'postgresql'},_0x5d6a8b=startQueryTimer();try{const _0x3782a7=getPool(),_0x199121=await _0x3782a7[_0x202f40(0x1da)]();try{const _0x44c911=await _0x199121['query'](_0x5405b6,_0x497164),_0x548f3b=_0x5d6a8b();return _0x3e6138['xgDSv'](logQuery,_0x5405b6,_0x497164,{'duration':_0x548f3b,'rowsAffected':_0x44c911['rowCount'],'dbType':'postgresql'}),_0x44c911[_0x202f40(0x1f2)];}finally{_0x199121['release']();}}catch(_0x26cf11){const _0x3132cd=_0x5d6a8b();logError(_0x26cf11,{'event':_0x202f40(0x20f),'query':_0x5405b6['substring'](0x0,0x1f4),'paramCount':_0x497164['length'],'durationMs':_0x3132cd,'code':_0x26cf11[_0x202f40(0x1f8)],'dbType':_0x3e6138['tRTLP']},_0x202f40(0x1f6)+_0x26cf11['message']);throw _0x26cf11;}}function formatResponse(_0x3677fb,_0x192592=null){const _0x4ddcab=a0_0x414cd4,_0xeee1b3={'MlZzI':_0x4ddcab(0x1ee),'IuIQI':'syntax\x20error','lRmFH':'SYNTAX_ERROR','GVrlk':_0x4ddcab(0x204),'aDYuo':_0x4ddcab(0x1ec),'TpsMy':function(_0x276fd0,_0x290ca6){return _0x276fd0===_0x290ca6;},'lyfgA':'28P01','QRQmx':'08006','DjrND':_0x4ddcab(0x1de),'wMNAM':_0x4ddcab(0x1ed)};if(_0x192592){let _0x505979=_0xeee1b3['MlZzI'];if(_0x192592['message'][_0x4ddcab(0x1d1)](_0xeee1b3[_0x4ddcab(0x20c)]))_0x505979=_0xeee1b3['lRmFH'];else{if(_0x192592['code']===_0xeee1b3[_0x4ddcab(0x20a)])_0x505979=_0xeee1b3[_0x4ddcab(0x209)];else{if(_0xeee1b3[_0x4ddcab(0x1cd)](_0x192592['code'],_0xeee1b3[_0x4ddcab(0x20d)]))_0x505979='AUTHENTICATION_ERROR';else(_0xeee1b3['TpsMy'](_0x192592['code'],_0xeee1b3['QRQmx'])||_0x192592[_0x4ddcab(0x1f8)]==='08001')&&(_0x505979=_0xeee1b3['DjrND']);}}return{'success':![],'message':'Database\x20error:\x20'+_0x192592['message'],'count':-0x1,'error_code':_0x505979};}else{if(!_0x3677fb||_0xeee1b3['TpsMy'](_0x3677fb['length'],0x0))return{'success':!![],'message':_0xeee1b3['wMNAM'],'count':0x0,'data':[]};return{'success':!![],'message':'Query\x20returned\x20'+_0x3677fb[_0x4ddcab(0x1f4)]+_0x4ddcab(0x214)+(_0x3677fb[_0x4ddcab(0x1f4)]===0x1?'':'s')+'.','count':_0x3677fb[_0x4ddcab(0x1f4)],'data':_0x3677fb};}}async function closePool(){const _0x10f7d0=a0_0x414cd4,_0x5876cd={'PYBsB':_0x10f7d0(0x1e6),'VnjIj':function(_0x6ddecb,_0x19fdee,_0x3baec2,_0x5992f2){return _0x6ddecb(_0x19fdee,_0x3baec2,_0x5992f2);}};if(!isPoolClosed)try{isPoolClosed=!![],await pool[_0x10f7d0(0x1e7)](),logger[_0x10f7d0(0x20e)]({'event':_0x5876cd[_0x10f7d0(0x1fa)]},'Database\x20pool\x20closed\x20successfully');}catch(_0x5414a2){_0x5876cd[_0x10f7d0(0x203)](logError,_0x5414a2,{'event':_0x10f7d0(0x1eb)},_0x10f7d0(0x1e5)+_0x5414a2['message']);}else logger['debug']({'event':_0x10f7d0(0x211)},_0x10f7d0(0x1cf));}function a0_0x5430(){const _0x4c0b54=['y29UBMvJDa','rvnbzM4','CgfYyw1Z','rejFue9sva','q09otKvdveLptL9fuLjpuG','mtCYmdHNt3L3tu4','ihf1zxjPzxmP','mtGWCfvKwgfQ','ChvZAa','ntG1B1HUz2zK','Cg9ZDgDYzxmXmJm0','rxjYB3iGy2XVC2LUzYbKyxrHyMfZzsbWB29SoIa','zgjFCg9VBf9JBg9Zzwq','zw5K','t0nJu1e','DhjHBNnHy3rPB25FzxjYB3i','ndbgrvvlqwS','zgjFCg9VBf9JBg9Zzv9LCNjVCG','vefctevFtK9ux0zpvu5e','tM8Gzgf0ysbMB3vUzc4','vu5ltK9xtL9fuLjpuG','mJeXnJm0nxjyqxv2tq','zgj4ytaZ','BwvZC2fNzq','CM93CW','rejFse9tva','BgvUz3rO','Cg9YDa','u1fmievYCM9YoIa','BuzTCLC','y29Kzq','ndbXsuDZC0S','ufLcC0i','otiYntG1uvDyv0zK','y29TBwL0','zhvoAeW','CM93q291BNq','C3fS','zKHUreK','zgjFy29UBMvJDgLVBL9JAgvJA19LCNjVCG','otHJCevNBeO','vM5QswO','ndjqmde','mJy5ndLlzwXhrgO','CxvLCNK','v3LSELu','zgf0ywjHC2u','yurzDw8','r1zYBgS','vhjHBNnHy3rPB24GzMfPBgvKoIa','sxvjuuK','BhLMz0e','Aw5MBW','C3fSx2vYCM9Y','zxHWB3j0CW','zgjFCg9VBf9HBhjLywr5x2nSB3nLza','ufjPyvi','CMvSzwfZzq','ihjVDW','tu5KwxK','nJiWndfSqLjLDLa','mtiZodbJyKHvEKG','rxjYB3iGy2HLy2TPBMCGzgf0ywjHC2uGy29UBMvJDgLVBJOG','uNbgA0K','ote2ouD5wu9utq','lI9SB2DNzxi','vhbZtxK','zw52','rgf0ywjHC2uGCg9VBcb3yxmGywXYzwfKEsbJBg9Zzwq','nMXUywnNDW','Aw5JBhvKzxm','rejFvvnfuG','DhjHBNnHy3rPB25Fy29TCgXLDgu','vhjHBNnHy3rPB24Gy29TBwL0DgvKicG','ChbUD0m','Cg9ZDgDYzxnXBa','y2XPzw50x3jLBgvHC2vFzxjYB3i','u0vmrunuide','DxnLCG'];a0_0x5430=function(){return _0x4c0b54;};return a0_0x5430();}function a0_0x45be(_0x2e36cc,_0x2b7eaf){_0x2e36cc=_0x2e36cc-0x1c7;const _0x5430b3=a0_0x5430();let _0x45beca=_0x5430b3[_0x2e36cc];if(a0_0x45be['laVDBN']===undefined){var _0x446282=function(_0x1fbaf3){const _0x2b28a4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2d8048='',_0x21c999='';for(let _0x228eeb=0x0,_0x3b3890,_0x3c6e11,_0x44b284=0x0;_0x3c6e11=_0x1fbaf3['charAt'](_0x44b284++);~_0x3c6e11&&(_0x3b3890=_0x228eeb%0x4?_0x3b3890*0x40+_0x3c6e11:_0x3c6e11,_0x228eeb++%0x4)?_0x2d8048+=String['fromCharCode'](0xff&_0x3b3890>>(-0x2*_0x228eeb&0x6)):0x0){_0x3c6e11=_0x2b28a4['indexOf'](_0x3c6e11);}for(let _0x399262=0x0,_0x5beeb4=_0x2d8048['length'];_0x399262<_0x5beeb4;_0x399262++){_0x21c999+='%'+('00'+_0x2d8048['charCodeAt'](_0x399262)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x21c999);};a0_0x45be['VOvaoq']=_0x446282,a0_0x45be['rQrxBn']={},a0_0x45be['laVDBN']=!![];}const _0x27ec41=_0x5430b3[0x0],_0x49f5ce=_0x2e36cc+_0x27ec41,_0x2b71e6=a0_0x45be['rQrxBn'][_0x49f5ce];return!_0x2b71e6?(_0x45beca=a0_0x45be['VOvaoq'](_0x45beca),a0_0x45be['rQrxBn'][_0x49f5ce]=_0x45beca):_0x45beca=_0x2b71e6,_0x45beca;}async function checkConnection(){const _0x3706d6=a0_0x414cd4,_0xd2ff27={'JavJd':function(_0x4c373b,_0xc30b10,_0x29fb89,_0x3dd9d4){return _0x4c373b(_0xc30b10,_0x29fb89,_0x3dd9d4);},'fHnDI':_0x3706d6(0x201)};try{const _0x45c557=getPool(),_0x427f42=await _0x45c557[_0x3706d6(0x1da)]();try{return await _0x427f42['query'](_0x3706d6(0x1d8)),!![];}finally{_0x427f42['release']();}}catch(_0xf8e016){return _0xd2ff27['JavJd'](logError,_0xf8e016,{'event':_0xd2ff27[_0x3706d6(0x200)]},_0x3706d6(0x1c9)+_0xf8e016['message']),![];}}async function executeTransaction(_0x3dde46){const _0x10b7fd=a0_0x414cd4,_0x1f4cf3={'MNdYy':function(_0x301488){return _0x301488();},'OCcSQ':function(_0x4fdd55){return _0x4fdd55();},'ppnwC':function(_0x2a33ec,_0x205ce,_0x1f7355){return _0x2a33ec(_0x205ce,_0x1f7355);},'mFmrW':_0x10b7fd(0x1d6),'ESAfn':'COMMIT','tCawx':function(_0x29b8a0){return _0x29b8a0();},'RpFkI':_0x10b7fd(0x1d3),'NRsyu':function(_0x1aa839,_0x30eb70,_0x2d8d4e,_0x58878f){return _0x1aa839(_0x30eb70,_0x2d8d4e,_0x58878f);},'duNhL':'ROLLBACK','PRiaR':'rollback','WylzU':_0x10b7fd(0x1d7)};let _0x7483d1;const _0x4c5a49=_0x1f4cf3[_0x10b7fd(0x215)](startQueryTimer);try{const _0x193684=_0x1f4cf3[_0x10b7fd(0x1e8)](getPool);_0x7483d1=await _0x193684['connect'](),_0x1f4cf3['ppnwC'](logTransaction,'start',_0x3dde46['length']),await _0x7483d1['query']('BEGIN');const _0x315584=[];for(const _0x24a653 of _0x3dde46){const _0x56f723=startQueryTimer(),_0x256cae=await _0x7483d1['query'](_0x24a653[_0x10b7fd(0x1ff)],_0x24a653['params']||[]),_0x25e8ae=_0x56f723();logQuery(_0x24a653['sql'],_0x24a653[_0x10b7fd(0x1dc)]||[],{'duration':_0x25e8ae,'rowsAffected':_0x256cae[_0x10b7fd(0x1fe)],'dbType':_0x1f4cf3['mFmrW']}),_0x315584[_0x10b7fd(0x1e2)](_0x256cae[_0x10b7fd(0x1f2)]);}await _0x7483d1[_0x10b7fd(0x206)](_0x1f4cf3[_0x10b7fd(0x1db)]);const _0x5e4fd0=_0x1f4cf3['tCawx'](_0x4c5a49);return _0x1f4cf3[_0x10b7fd(0x1d5)](logTransaction,_0x10b7fd(0x1fc),_0x3dde46['length']),logger[_0x10b7fd(0x20e)]({'event':_0x1f4cf3[_0x10b7fd(0x1ca)],'queryCount':_0x3dde46[_0x10b7fd(0x1f4)],'totalDurationMs':_0x5e4fd0,'dbType':_0x1f4cf3['mFmrW']},_0x10b7fd(0x1d4)+_0x5e4fd0+'ms,\x20'+_0x3dde46[_0x10b7fd(0x1f4)]+_0x10b7fd(0x1e0)),_0x315584;}catch(_0x33fd7f){const _0x4a114e=_0x1f4cf3['OCcSQ'](_0x4c5a49);_0x1f4cf3['NRsyu'](logError,_0x33fd7f,{'event':_0x10b7fd(0x1e9),'queryCount':_0x3dde46['length'],'totalDurationMs':_0x4a114e,'code':_0x33fd7f[_0x10b7fd(0x1f8)],'dbType':_0x1f4cf3['mFmrW']},_0x10b7fd(0x20b)+_0x33fd7f[_0x10b7fd(0x1f1)]);if(_0x7483d1)try{await _0x7483d1[_0x10b7fd(0x206)](_0x1f4cf3[_0x10b7fd(0x1fd)]),logTransaction(_0x1f4cf3[_0x10b7fd(0x212)],_0x3dde46[_0x10b7fd(0x1f4)]);}catch(_0x48a170){logError(_0x48a170,{'event':'rollback_error','dbType':_0x1f4cf3[_0x10b7fd(0x1f7)]},'Error\x20rolling\x20back\x20transaction:\x20'+_0x48a170[_0x10b7fd(0x1f1)]);}throw _0x33fd7f;}finally{if(_0x7483d1)try{_0x7483d1[_0x10b7fd(0x213)]();}catch(_0x290264){logger['error']({'event':_0x1f4cf3[_0x10b7fd(0x207)],'error':_0x290264[_0x10b7fd(0x1f1)],'dbType':_0x1f4cf3[_0x10b7fd(0x1f7)]},'Error\x20releasing\x20transaction\x20client:\x20'+_0x290264['message']);}}}module[a0_0x414cd4(0x210)]={'executeQuery':executeQuery,'executeTransaction':executeTransaction,'formatResponse':formatResponse,'closePool':closePool,'getPool':getPool,'checkConnection':checkConnection};
@@ -1 +1 @@
1
- const a0_0x1f7e7c=a0_0x3736;(function(_0x2ca2d8,_0x4dc6bf){const _0x586b6e=a0_0x3736,_0x15cb27=_0x2ca2d8();while(!![]){try{const _0x3932fa=parseInt(_0x586b6e(0xda))/0x1+-parseInt(_0x586b6e(0x13a))/0x2*(-parseInt(_0x586b6e(0xd1))/0x3)+-parseInt(_0x586b6e(0x107))/0x4+-parseInt(_0x586b6e(0x113))/0x5+-parseInt(_0x586b6e(0xdc))/0x6*(-parseInt(_0x586b6e(0x15f))/0x7)+-parseInt(_0x586b6e(0x136))/0x8*(parseInt(_0x586b6e(0xd0))/0x9)+parseInt(_0x586b6e(0x142))/0xa;if(_0x3932fa===_0x4dc6bf)break;else _0x15cb27['push'](_0x15cb27['shift']());}catch(_0x50d896){_0x15cb27['push'](_0x15cb27['shift']());}}}(a0_0x1266,0xb7177));const pino=require(a0_0x1f7e7c(0x143)),fs=require('fs'),path=require(a0_0x1f7e7c(0x174));function a0_0x3736(_0x6f716f,_0x46d07e){_0x6f716f=_0x6f716f-0xc3;const _0x12661b=a0_0x1266();let _0x37369a=_0x12661b[_0x6f716f];if(a0_0x3736['LSsYZs']===undefined){var _0x5e78ca=function(_0x25d2ea){const _0x52e235='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x237f41='',_0x278f4c='';for(let _0x4f4ae5=0x0,_0x1a8d50,_0x33faa2,_0x596261=0x0;_0x33faa2=_0x25d2ea['charAt'](_0x596261++);~_0x33faa2&&(_0x1a8d50=_0x4f4ae5%0x4?_0x1a8d50*0x40+_0x33faa2:_0x33faa2,_0x4f4ae5++%0x4)?_0x237f41+=String['fromCharCode'](0xff&_0x1a8d50>>(-0x2*_0x4f4ae5&0x6)):0x0){_0x33faa2=_0x52e235['indexOf'](_0x33faa2);}for(let _0x5967dc=0x0,_0x136508=_0x237f41['length'];_0x5967dc<_0x136508;_0x5967dc++){_0x278f4c+='%'+('00'+_0x237f41['charCodeAt'](_0x5967dc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x278f4c);};a0_0x3736['yezIDQ']=_0x5e78ca,a0_0x3736['YswFRO']={},a0_0x3736['LSsYZs']=!![];}const _0x12a728=_0x12661b[0x0],_0x2912e1=_0x6f716f+_0x12a728,_0x504912=a0_0x3736['YswFRO'][_0x2912e1];return!_0x504912?(_0x37369a=a0_0x3736['yezIDQ'](_0x37369a),a0_0x3736['YswFRO'][_0x2912e1]=_0x37369a):_0x37369a=_0x504912,_0x37369a;}let logToFile=![],logDir=a0_0x1f7e7c(0xe3),serviceName=a0_0x1f7e7c(0xf9),sqlLogEnabled=![],sqlLogLevel='debug',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_0x1f7e7c(0xea),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env']['NODE_ENV']!==a0_0x1f7e7c(0x12c),logLevel=process['env'][a0_0x1f7e7c(0x153)]||'info';function a0_0x1266(){const _0x400d65=['B2jQzwn0','B3jPz2LUywXvCMW','BNnVq0e','zxHPC3rZu3LUyW','te9hx0XfvKvm','C3rHCNrZv2L0Aa','sLDux1nfq1jfva','CgfZC3DVCMq','CgLUBY1WCMv0DhK','ALfLDMe','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','zgv2zwXVCg1LBNq','qunusvzf','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','C3Lnt2C','ug14wgS','nZiXCMTICeXW','zfL6Ewu','BwvZC2fNzq','C0zlDve','q1jfqvrf','BwfW','C3rHy2S','rvLXu1K','Ec1Yzxf1zxn0lwLK','w1jfrefdveveoMHHC2HD','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','wuLTrfq','vhjHBNnHy3rPB24G','u0vmrunu','zMf0ywW','BurNufK','vfjbtLnbq1rjt05FqKvhsu4','q1jjveLdquW','Ahj0Aw1L','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','Cgf0Aa','D3jPDgu','DxnLCI1Hz2vUDa','CMvTB3rLqwrKCMvZCW','zhf6rgy','z2zABvy','rxjYB3i6ia','Bwv0Ag9K','t3HcEuO','w1jfrefdvevexq','Dg9ju09tDhjPBMC','Dg9vChbLCKnHC2u','A2jSEum','C2vYDMvYx3jLywr5','C2vJCMv0','C3rKvgLTzuz1BMn0Aw9UCW','Dxb0Aw1L','u3DtzfK','D2fYBG','C2vYDMLJzuLUzM8','CvrQEey','w09lxsbqCM9Qzwn0igXVywrLzdOG','zgvIDwC','nda0ntC3r2rprxLv','nti0mda3EMr2uKTm','wvjuEfm','y0Pwvfy','q2PYz1e','y3jLzgL0x2nHCMq','BKjhBe4','ic0G','CxzOAw4','ywnJzxnZx3rVA2vU','mJq2nJaWBgHzvKjf','zhvfrwu','ntm2odHetfnvA20','Cg9YDa','uK9mtejbq0S','qMTuwNy','wLjHufy','ChjVy2vZC193yxjUAw5N','tLDMu0m','lI9SB2DZ','ChjPDMf0zv9RzxK','wLrutLe','te9hx1rpx0zjteu','zw52','Ag9ZDa','Aw5JBhvKzxm','E21Zz30','su5trvju','BwTKAxjtEw5J','zxjY','Dw5Oyw5KBgvKuMvQzwn0Aw9U','AgvHBhrOq2HLy2S','zMfSC2u','rejFueftu1DpuKq','sg5Vve4','Bg9N','Bwf0y2G','y3DK','zgf0ywjHC2vFy29UzMLN','Ahr0Cf9Yzxf1zxn0','rermx0nsrufurq','CMvZDgzVCMDL','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','Dg9mB3DLCKnHC2u','yxv0Ag9YAxPHDgLVBG','ChDK','wgP3Dem','Cwfnvve','y3jLzgvUDgLHBa','BMXwywi','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWRILzeGicaGicaGicaGicaGifjfu1rgt1jhrsbsvu5usu1fifnfuLzfuIaGicaGicaGicaGicaGicaG4PwrcUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','vxv5zw8','yxbWlMXVzW','tK9erv9ftLy','t3DPzfC','nteYnZyYmfr5DfPXzq','Dw5JyxvNAhrfEgnLChrPB24','C3rHDhvZ','rermx0fmvevs','yK1dy0q','BeTPsLK','zxjYB3i','yxbPs2v5','zMf0ywXFzxjYB3i','vuPhz08','CgfZC3DK','CM93C0fMzMvJDgvK','nJuXodKWnxDWAgnAtq','y3jLzgvUDgLHBhm','BMfTzq','ChjVAMvJDf9SB2fKzwq','iokvKqRILzeGifbVCNqGicaGicaGidOG','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','zxHWB3j0CW','uhjVy2vZCYbxyxjUAw5NoIa','vvbeqvrf','rfjpua','vfjbtLnbq1rjt05Fq09ntuLu','DKT0zuG','t0ftsgS','iokvKqRILzeGiefqssblzxKGicaGidOG','Ahr0Cf9LCNjVCG','iokvKqRILzeGienVBMzPzYaGicaGidOG','A2v5CW','reL0q2W','y3jLyxrLv3jPDgvtDhjLyw0','yMfZzvvYBa','BgvUz3rO','CgLU','zgf0ywjHC2u','tI9b','y29UzMLNrMLSzq','ChjVzhvJDgLVBG','u1fmx0Xpr19mrvzfta','CgfKrw5K','DgvZDa','y29Kzq','DxnLCG','Dg9gAxHLza','C3nU','BxmP','Aw5MBW','ofzRwKTdBW','q21Avgm','vuPoww8','rxjYB3i','mtbTEuPrDfe','revmrvrf','uvHhDhq','C29Tzq','reiGuxvLCNK','C3rHDhvZq29Kzq','tLrpruW','CMvWBgfJzq','mtmZodK5mZbbDe5xrxG','CgLUBW','CgfYyw1Z','DhjPBq','zgjFCxvLCNK','C3rKu2vYAwfSAxPLCNm','tK9uiefdveLwrq','ifTtte9xxq','z2v0sgvHzgvYCW','ChjVAMvJDa','ChjPDMf0zwTLEq','CMvMCMvZAf90B2TLBG','icdIHPiG'];a0_0x1266=function(){return _0x400d65;};return a0_0x1266();}let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x1f7e7c(0x157),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env']['APP_VERSION']||'1.0.5','env':process[a0_0x1f7e7c(0xe7)][a0_0x1f7e7c(0x105)]||a0_0x1f7e7c(0x15a)},'timestamp':pino[a0_0x1f7e7c(0xc8)]['isoTime'],'redact':{'paths':[a0_0x1f7e7c(0x169),a0_0x1f7e7c(0x173),'password','token',a0_0x1f7e7c(0x10e),a0_0x1f7e7c(0xf1),a0_0x1f7e7c(0x155)],'censor':'[REDACTED]'},'serializers':{'req':_0x12779f=>({'id':_0x12779f['id'],'method':_0x12779f['method'],'url':_0x12779f['url'],'path':_0x12779f[a0_0x1f7e7c(0x174)],'remoteAddress':_0x12779f['ip']||_0x12779f['connection']?.['remoteAddress']}),'res':_0x5016d9=>({'statusCode':_0x5016d9[a0_0x1f7e7c(0x13f)],'headers':_0x5016d9[a0_0x1f7e7c(0x14a)]?.()}),'err':pino[a0_0x1f7e7c(0x147)][a0_0x1f7e7c(0xed)]}});function initFileLogging(){const _0x1cf8b6=a0_0x1f7e7c,_0x52e5d2={'YbKHP':_0x1cf8b6(0xe3),'UJNYo':'restforge','faFcR':function(_0x408868,_0x1e81b1){return _0x408868===_0x1e81b1;},'UJGgO':'debug','jQeva':'error.log','gfZmV':function(_0x54bffb,_0x4c6d69,_0x3d3bda){return _0x54bffb(_0x4c6d69,_0x3d3bda);}};if(fileLoggingInitialized)return;logToFile=process['env'][_0x1cf8b6(0xe6)]==='true',logDir=process[_0x1cf8b6(0xe7)]['LOG_DIR']||_0x52e5d2['YbKHP'],serviceName=process['env']['SERVICE_NAME']||_0x52e5d2[_0x1cf8b6(0x138)],sqlLogEnabled=_0x52e5d2['faFcR'](process['env']['SQL_LOG_ENABLED'],'true'),sqlLogLevel=process[_0x1cf8b6(0xe7)][_0x1cf8b6(0x12d)]||_0x52e5d2[_0x1cf8b6(0x110)],sqlLogParams=process[_0x1cf8b6(0xe7)]['SQL_LOG_PARAMS']!==_0x1cf8b6(0xf0),sqlLogSlowThreshold=parseInt(process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x3a6684=path['resolve'](process[_0x1cf8b6(0xf5)](),logDir);try{!fs[_0x1cf8b6(0x152)](_0x3a6684)&&fs[_0x1cf8b6(0xec)](_0x3a6684,{'recursive':!![]});}catch(_0x37a152){console[_0x1cf8b6(0x10d)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x3a6684+':',_0x37a152[_0x1cf8b6(0x161)]),fileLoggingInitialized=!![];return;}const _0x4cc07e=path['join'](_0x3a6684,_0x1cf8b6(0x104)),_0x1565e9=path['join'](_0x3a6684,_0x52e5d2[_0x1cf8b6(0x158)]);try{appLogStream=fs[_0x1cf8b6(0x125)](_0x4cc07e,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x1565e9,{'flags':'a'}),fileLoggingInitialized=!![];const _0x8e2301={'event':'file_logging_enabled','logDir':_0x3a6684,'files':[_0x1cf8b6(0x104),'error.log']},_0x500d85=_0x1cf8b6(0x172)+_0x3a6684;logger['info'](_0x8e2301,_0x500d85),_0x52e5d2[_0x1cf8b6(0x179)](writeToFileLog,{..._0x8e2301,'level':'info','msg':_0x500d85,'time':new Date()[_0x1cf8b6(0xc3)]()},'info');}catch(_0x249e6c){console[_0x1cf8b6(0x10d)](_0x1cf8b6(0x118),_0x249e6c[_0x1cf8b6(0x161)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x3b698a,_0x7618ae){const _0x4ab201=a0_0x1f7e7c,_0x50c51a={'ipoeF':'error','syMOg':_0x4ab201(0x16d)};if(!logToFile||!appLogStream)return;const _0x4f6ed0={'service':serviceName,..._0x3b698a},_0x53a959=JSON['stringify'](_0x4f6ed0)+'\x0a';appLogStream[_0x4ab201(0x175)](_0x53a959),(_0x7618ae===_0x50c51a['ipoeF']||_0x7618ae===_0x50c51a[_0x4ab201(0x15d)])&&(errorLogStream&&errorLogStream['write'](_0x53a959));}const createRequestLogger=(_0x5f1b8d={})=>{return logger['child'](_0x5f1b8d);},logServerStart=_0x3d5234=>{const _0x29ffda=a0_0x1f7e7c,_0x2fd62a={'SZgIn':'Node.js','Shibd':'Default','bBLdI':_0x29ffda(0x15b),'LVDZY':_0x29ffda(0x148),'cJVTV':function(_0x44ff1f,_0x1f7251,_0x27a725){return _0x44ff1f(_0x1f7251,_0x27a725);},'NxXLD':'info'},_0x26e676=_0x29ffda(0x102)+(_0x3d5234['environment']||_0x2fd62a['SZgIn'])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x3d5234['project']||_0x29ffda(0x12a))['padEnd'](0x26)+_0x29ffda(0x117)+String(_0x3d5234['port']||0xbb8)[_0x29ffda(0x12e)](0x26)+_0x29ffda(0x122)+(_0x3d5234[_0x29ffda(0x12b)]||_0x2fd62a['Shibd'])[_0x29ffda(0x12e)](0x26)+_0x29ffda(0x120)+(_0x3d5234['apiKey']?_0x2fd62a['bBLdI']:_0x2fd62a['LVDZY'])[_0x29ffda(0x12e)](0x26)+_0x29ffda(0xfa);console[_0x29ffda(0xf3)](_0x26e676);const _0x2f2449={'event':'server_starting','project':_0x3d5234['project'],'port':_0x3d5234[_0x29ffda(0xdd)],'config':_0x3d5234['configFile'],'apiKeyEnabled':!!_0x3d5234[_0x29ffda(0x10e)]};logger['info'](_0x2f2449),_0x2fd62a[_0x29ffda(0xd3)](writeToFileLog,{..._0x2f2449,'level':'info','msg':'Server\x20starting:\x20'+_0x3d5234[_0x29ffda(0x14b)]+'\x20on\x20port\x20'+_0x3d5234[_0x29ffda(0xdd)],'time':new Date()[_0x29ffda(0xc3)]()},_0x2fd62a['NxXLD']);},logServerReady=_0x2a1aa0=>{const _0x209d1c=a0_0x1f7e7c,_0x1284e5={'UFVEF':_0x209d1c(0xc6),'IKYjF':function(_0x449799,_0x4c4434,_0x484bdf){return _0x449799(_0x4c4434,_0x484bdf);},'CmZTc':_0x209d1c(0x135)},_0x372b05={'event':_0x1284e5['UFVEF'],'port':_0x2a1aa0['port'],'module':_0x2a1aa0['module'],'healthCheck':_0x2a1aa0['healthCheck'],'serviceInfo':_0x2a1aa0['serviceInfo'],'baseUrl':_0x2a1aa0[_0x209d1c(0x126)]},_0x1eeaaf=_0x209d1c(0x159)+_0x2a1aa0['port'];logger['info'](_0x372b05,_0x1eeaaf),_0x1284e5['IKYjF'](writeToFileLog,{..._0x372b05,'level':_0x1284e5['CmZTc'],'msg':_0x1eeaaf,'time':new Date()[_0x209d1c(0xc3)]()},_0x1284e5[_0x209d1c(0x137)]),_0x2a1aa0[_0x209d1c(0xef)]&&logger['info']('\x20\x20Health:\x20'+_0x2a1aa0[_0x209d1c(0xef)]),_0x2a1aa0[_0x209d1c(0xcc)]&&logger[_0x209d1c(0x135)]('\x20\x20Info:\x20\x20\x20'+_0x2a1aa0[_0x209d1c(0xcc)]),_0x2a1aa0[_0x209d1c(0x126)]&&logger[_0x209d1c(0x135)]('\x20\x20URL:\x20\x20\x20\x20'+_0x2a1aa0['baseUrl']);},logProjectLoaded=(_0x76b0b6,_0x4196c5)=>{const _0x23d668=a0_0x1f7e7c,_0x1e4ea8={'YImDT':function(_0x1759f1,_0x343fab,_0xb0c954){return _0x1759f1(_0x343fab,_0xb0c954);},'HnoTN':'info'},_0x339fe2={'event':_0x23d668(0x116),'project':_0x76b0b6,'path':_0x4196c5},_0x4b7c5c=_0x23d668(0xce)+_0x76b0b6;logger['info'](_0x339fe2,_0x4b7c5c),_0x1e4ea8[_0x23d668(0x16a)](writeToFileLog,{..._0x339fe2,'level':_0x1e4ea8['HnoTN'],'msg':_0x4b7c5c,'time':new Date()[_0x23d668(0xc3)]()},_0x1e4ea8[_0x23d668(0xf2)]);},logEndpointRegistered=(_0xf94904,_0x474fc6)=>{const _0x58d7d4=a0_0x1f7e7c,_0x27f077={'event':'endpoint_registered','endpoint':_0xf94904,'route':_0x474fc6},_0x581c81=_0x58d7d4(0x14e)+_0xf94904+':\x20'+_0x474fc6;logger['debug'](_0x27f077,_0x581c81),writeToFileLog({..._0x27f077,'level':_0x58d7d4(0xcf),'msg':_0x581c81,'time':new Date()[_0x58d7d4(0xc3)]()},_0x58d7d4(0xcf));},logDatabaseConfig=_0x15a342=>{const _0x361554=a0_0x1f7e7c,_0x158eb5={'qyYYQ':function(_0x1042ca,_0x1e5f4c,_0x5d3fd8){return _0x1042ca(_0x1e5f4c,_0x5d3fd8);},'ktdQs':'debug'},_0x133e25={'event':_0x361554(0xf6),'host':_0x15a342['host'],'port':_0x15a342[_0x361554(0xdd)],'database':_0x15a342[_0x361554(0x129)],'type':_0x15a342['type'],'user':_0x15a342[_0x361554(0x131)]},_0x34e136='Database:\x20'+_0x15a342['type']+'://'+_0x15a342[_0x361554(0xe8)]+':'+_0x15a342[_0x361554(0xdd)]+'/'+_0x15a342[_0x361554(0x129)];logger['debug'](_0x133e25,_0x34e136),_0x158eb5['qyYYQ'](writeToFileLog,{..._0x133e25,'level':_0x158eb5['ktdQs'],'msg':_0x34e136,'time':new Date()['toISOString']()},_0x158eb5['ktdQs']);},logRequest=(_0x324938,_0x4c6a5c,_0x514f95)=>{const _0x7c21ee=a0_0x1f7e7c,_0x3a8fe0={'rNKmz':_0x7c21ee(0xf7),'OeePu':_0x7c21ee(0x135),'NTOEL':function(_0x5d60ed,_0x1a3cbd){return _0x5d60ed>=_0x1a3cbd;},'MFqUh':function(_0xcb2792,_0x37b7b7){return _0xcb2792>=_0x37b7b7;},'OxByJ':_0x7c21ee(0xcb),'ZTTNQ':function(_0x5e9ee0,_0x36bc20,_0x253026){return _0x5e9ee0(_0x36bc20,_0x253026);}},_0x48415b={'event':_0x3a8fe0['rNKmz'],'method':_0x324938['method'],'path':_0x324938[_0x7c21ee(0x174)],'statusCode':_0x4c6a5c[_0x7c21ee(0x13f)],'durationMs':_0x514f95,'ip':_0x324938['ip']},_0x28eef5=_0x324938[_0x7c21ee(0x17b)]+'\x20'+_0x324938['path']+_0x7c21ee(0xd7)+_0x4c6a5c[_0x7c21ee(0x13f)]+'\x20('+_0x514f95+'ms)';let _0x1d8bdb=_0x3a8fe0['OeePu'];if(_0x3a8fe0[_0x7c21ee(0x140)](_0x4c6a5c['statusCode'],0x1f4))_0x1d8bdb='error',logger['error'](_0x48415b,_0x28eef5);else _0x3a8fe0['MFqUh'](_0x4c6a5c[_0x7c21ee(0x13f)],0x190)?(_0x1d8bdb=_0x3a8fe0[_0x7c21ee(0x17c)],logger[_0x7c21ee(0xcb)](_0x48415b,_0x28eef5)):logger[_0x7c21ee(0x135)](_0x48415b,_0x28eef5);_0x3a8fe0[_0x7c21ee(0xe5)](writeToFileLog,{..._0x48415b,'level':_0x1d8bdb,'msg':_0x28eef5,'time':new Date()[_0x7c21ee(0xc3)]()},_0x1d8bdb);},SENSITIVE_PARAM_PATTERNS=[a0_0x1f7e7c(0x156),a0_0x1f7e7c(0x111),a0_0x1f7e7c(0xfd),'token',a0_0x1f7e7c(0xd9),'refresh_token',a0_0x1f7e7c(0xc7),'api_secret','apikey','api_key',a0_0x1f7e7c(0x100),a0_0x1f7e7c(0x114),'pin','otp','private_key',a0_0x1f7e7c(0x14c)],redactSensitiveParams=(_0x2c0535,_0x3df95b)=>{const _0x205891=a0_0x1f7e7c,_0x4a1601={'mDgPY':_0x205891(0x17d),'ZUGCm':function(_0x1b2cfa,_0x31eb99){return _0x1b2cfa===_0x31eb99;},'DItCl':function(_0x119a6d,_0x3f039f){return _0x119a6d>_0x3f039f;},'wHgjz':'[REDACTED:token]','BkTZv':_0x205891(0x168)};if(!_0x2c0535||_0x2c0535[_0x205891(0x127)]===0x0)return _0x2c0535;const _0x4a0254=_0x3df95b['toLowerCase'](),_0x4b520b=_0x4a0254['match'](/\(([^)]+)\)\s*values/i);let _0x53b92f=[];_0x4b520b&&(_0x53b92f=_0x4b520b[0x1]['split'](',')['map'](_0x4cb9fd=>_0x4cb9fd['trim']()[_0x205891(0xfb)]()));const _0x23d4be=_0x4a0254['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x23d4be){const _0x3e1ccb=_0x23d4be[0x1],_0x3937a9=_0x3e1ccb['match'](/(\w+)\s*=/g);_0x3937a9&&(_0x53b92f=_0x3937a9['map'](_0x323eca=>_0x323eca[_0x205891(0x141)](/\s*=/,'')[_0x205891(0x145)]()[_0x205891(0xfb)]()));}return _0x2c0535[_0x205891(0x164)]((_0x23731f,_0x2d2d06)=>{const _0x3a9e2b=_0x205891;if(_0x53b92f[_0x2d2d06]){const _0x2c294e=_0x53b92f[_0x2d2d06],_0x3ab83f=SENSITIVE_PARAM_PATTERNS['some'](_0x1c3ce7=>_0x2c294e['includes'](_0x1c3ce7));if(_0x3ab83f)return _0x4a1601[_0x3a9e2b(0x16e)];}if(_0x4a1601['ZUGCm'](typeof _0x23731f,'string')&&_0x4a1601[_0x3a9e2b(0x124)](_0x23731f[_0x3a9e2b(0x127)],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x3a9e2b(0x12f)](_0x23731f)&&_0x23731f[_0x3a9e2b(0xe9)]('.'))return _0x4a1601['wHgjz'];if(/^[a-fA-F0-9]{32,}$/[_0x3a9e2b(0x12f)](_0x23731f))return _0x4a1601[_0x3a9e2b(0xdf)];}return _0x23731f;});},parseQueryMetadata=_0xedd75e=>{const _0x2f1e88=a0_0x1f7e7c,_0x4cb1b7={'lzcDo':'UNKNOWN','YfbiK':_0x2f1e88(0x16c),'bMCcD':'UPDATE','YRTxS':_0x2f1e88(0x13b),'mzwyl':_0x2f1e88(0x16f),'CjrgQ':'COMMIT','dqzDf':_0x2f1e88(0x163),'PmxXk':'ALTER','TYgeC':_0x2f1e88(0x11c),'kblyC':'DDL_DROP'},_0x3efad7=_0xedd75e['trim'](),_0x17acb2=_0x3efad7[_0x2f1e88(0xc4)]();let _0x2defa2=_0x4cb1b7['lzcDo'],_0x1ae1cf=null;if(_0x17acb2['startsWith'](_0x4cb1b7['YfbiK'])){_0x2defa2=_0x2f1e88(0x16c);const _0x56dfaa=_0x3efad7['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1ae1cf=_0x56dfaa?_0x56dfaa[0x1]:null;}else{if(_0x17acb2[_0x2f1e88(0x154)](_0x2f1e88(0xeb))){_0x2defa2=_0x2f1e88(0xeb);const _0x225113=_0x3efad7[_0x2f1e88(0xf4)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1ae1cf=_0x225113?_0x225113[0x1]:null;}else{if(_0x17acb2['startsWith'](_0x4cb1b7[_0x2f1e88(0x10b)])){_0x2defa2=_0x2f1e88(0x11b);const _0x545b83=_0x3efad7['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1ae1cf=_0x545b83?_0x545b83[0x1]:null;}else{if(_0x17acb2['startsWith'](_0x2f1e88(0x13b))){_0x2defa2=_0x4cb1b7[_0x2f1e88(0xd2)];const _0x40b015=_0x3efad7[_0x2f1e88(0xf4)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1ae1cf=_0x40b015?_0x40b015[0x1]:null;}else{if(_0x17acb2['startsWith']('BEGIN')||_0x17acb2[_0x2f1e88(0x154)]('START\x20TRANSACTION'))_0x2defa2=_0x4cb1b7['mzwyl'];else{if(_0x17acb2[_0x2f1e88(0x154)](_0x4cb1b7[_0x2f1e88(0xd4)]))_0x2defa2=_0x2f1e88(0x11d);else{if(_0x17acb2[_0x2f1e88(0x154)](_0x2f1e88(0xde)))_0x2defa2='TRANSACTION_ROLLBACK';else{if(_0x17acb2[_0x2f1e88(0x154)](_0x4cb1b7[_0x2f1e88(0x178)]))_0x2defa2=_0x2f1e88(0xf8);else{if(_0x17acb2['startsWith'](_0x4cb1b7[_0x2f1e88(0x15e)]))_0x2defa2=_0x2f1e88(0x10a);else _0x17acb2[_0x2f1e88(0x154)](_0x4cb1b7['TYgeC'])&&(_0x2defa2=_0x4cb1b7[_0x2f1e88(0xc5)]);}}}}}}}}return{'type':_0x2defa2,'table':_0x1ae1cf};},startQueryTimer=()=>{const _0x4e5e60=a0_0x1f7e7c,_0xb98da8={'OrFoK':function(_0x325231,_0x2404a0){return _0x325231+_0x2404a0;}},_0x51db79=process[_0x4e5e60(0x171)]();return()=>{const _0x538d7d=_0x4e5e60,[_0x5bb863,_0x26de9]=process['hrtime'](_0x51db79);return parseFloat(_0xb98da8['OrFoK'](_0x5bb863*0x3e8,_0x26de9/0xf4240)[_0x538d7d(0x132)](0x2));};},logQuery=(_0x192c4c,_0x4096b2=[],_0x4575b0={})=>{const _0x2e30db=a0_0x1f7e7c,_0xe75022={'qaMUQ':_0x2e30db(0x146),'EYqSY':function(_0x14a981,_0xa814c7){return _0x14a981!==_0xa814c7;},'TdLgS':function(_0x5304fe,_0x10ebdf){return _0x5304fe||_0x10ebdf;},'NWfSC':'unknown','qTjxF':function(_0x140535,_0x557b2b){return _0x140535!==_0x557b2b;},'CtjhA':_0x2e30db(0x149),'pSzwL':_0x2e30db(0xcb)};if(!sqlLogEnabled){logger['debug']({'event':_0xe75022[_0x2e30db(0xff)],'query':_0x192c4c['substring'](0x0,0xc8),'paramCount':_0x4096b2['length']},_0x2e30db(0x13e));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0x4575b0,{type:_0x24adfa,table:_0x2bad19}=parseQueryMetadata(_0x192c4c),_0x50f234={'event':'sql_query','queryType':_0x24adfa,'table':_0x2bad19,'query':_0x192c4c,'paramCount':_0x4096b2['length'],'dbType':dbType};sqlLogParams&&_0x4096b2[_0x2e30db(0x127)]>0x0&&(_0x50f234[_0x2e30db(0x144)]=redactSensitiveParams(_0x4096b2,_0x192c4c));_0xe75022[_0x2e30db(0x166)](duration,null)&&(_0x50f234['durationMs']=duration,_0x50f234['isSlow']=duration>sqlLogSlowThreshold);_0xe75022['EYqSY'](rowsAffected,null)&&(_0x50f234[_0x2e30db(0x112)]=rowsAffected);const _0x167615=_0xe75022['TdLgS'](_0x2bad19,_0xe75022[_0x2e30db(0xe2)]);let _0x260d35='['+_0x24adfa+']\x20'+_0x167615;_0xe75022['EYqSY'](duration,null)&&(_0x260d35+='\x20('+duration+_0x2e30db(0x134));const _0x25ed06=_0xe75022[_0x2e30db(0xcd)](duration,null)&&duration>sqlLogSlowThreshold;let _0x3e9c72='debug';if(_0x25ed06)_0x260d35+=_0xe75022['CtjhA'],_0x3e9c72=_0xe75022['pSzwL'],logger['warn'](_0x50f234,_0x260d35);else sqlLogLevel===_0x2e30db(0x135)?(_0x3e9c72='info',logger[_0x2e30db(0x135)](_0x50f234,_0x260d35)):logger[_0x2e30db(0xcf)](_0x50f234,_0x260d35);writeToFileLog({..._0x50f234,'level':_0x3e9c72,'msg':_0x260d35,'time':new Date()[_0x2e30db(0xc3)]()},_0x3e9c72);},logTransaction=(_0x14728e,_0x219168)=>{const _0x20ba31=a0_0x1f7e7c,_0x5516ef={'duEEe':'db_transaction','OASHk':'debug'},_0x10f2e5={'event':_0x5516ef[_0x20ba31(0xdb)],'status':_0x14728e,'queryCount':_0x219168},_0x38cf6c=_0x20ba31(0x16b)+_0x14728e;logger[_0x20ba31(0xcf)](_0x10f2e5,_0x38cf6c),writeToFileLog({..._0x10f2e5,'level':'debug','msg':_0x38cf6c,'time':new Date()[_0x20ba31(0xc3)]()},_0x5516ef[_0x20ba31(0x11f)]);},redactObject=_0x509a08=>{const _0x150ff4=a0_0x1f7e7c,_0x4b1da7={'ZRaPV':function(_0x3e5f07,_0x585ed6){return _0x3e5f07!==_0x585ed6;},'nquCu':'object','sFKuQ':'password','fspwa':_0x150ff4(0x111),'DkTMF':'apikey','vKteH':_0x150ff4(0xfc),'VThDe':_0x150ff4(0x128),'nBGlN':_0x150ff4(0xe4),'PSckb':_0x150ff4(0x14d),'nsoCA':'[REDACTED]'};if(!_0x509a08||_0x4b1da7[_0x150ff4(0xe0)](typeof _0x509a08,_0x4b1da7['nquCu']))return _0x509a08;const _0x1db41e=[_0x4b1da7[_0x150ff4(0x162)],_0x4b1da7['fspwa'],_0x150ff4(0xfd),'token','secret',_0x4b1da7['DkTMF'],'api_key',_0x4b1da7[_0x150ff4(0x11e)],'creditcard',_0x150ff4(0xd5),'cvv',_0x150ff4(0x133),_0x4b1da7['VThDe'],_0x4b1da7[_0x150ff4(0xd6)],'privatekey',_0x4b1da7['PSckb'],_0x150ff4(0xd9)],_0x1f04d1=Array['isArray'](_0x509a08)?[..._0x509a08]:{..._0x509a08};for(const _0x5318d9 of Object[_0x150ff4(0x123)](_0x1f04d1)){const _0x1e2164=_0x5318d9['toLowerCase']();if(_0x1db41e[_0x150ff4(0x13d)](_0x1036d9=>_0x1e2164['includes'](_0x1036d9)))_0x1f04d1[_0x5318d9]=_0x4b1da7[_0x150ff4(0x151)];else typeof _0x1f04d1[_0x5318d9]===_0x150ff4(0x14f)&&_0x1f04d1[_0x5318d9]!==null&&(_0x1f04d1[_0x5318d9]=redactObject(_0x1f04d1[_0x5318d9]));}return _0x1f04d1;},logError=(_0x191cc7,_0xef8d72={},_0x26ad45=null)=>{const _0x27e47e=a0_0x1f7e7c,_0x486ad9={'Uuyeo':_0x27e47e(0x10d)},_0x52ff60={'event':_0x486ad9[_0x27e47e(0x103)],'errorName':_0x191cc7[_0x27e47e(0x115)]||'Error','errorMessage':_0x191cc7['message'],'errorCode':_0x191cc7[_0x27e47e(0x130)]||null,'stack':_0x191cc7[_0x27e47e(0x165)],..._0xef8d72},_0x4a726e=_0x26ad45||_0x27e47e(0x17a)+_0x191cc7[_0x27e47e(0x161)];logger['error'](_0x52ff60,_0x4a726e),writeToFileLog({..._0x52ff60,'level':_0x27e47e(0x10d),'msg':_0x4a726e,'time':new Date()['toISOString']()},_0x27e47e(0x10d));},logFatalError=(_0x166dc4,_0x3622fe={},_0x32518b=null)=>{const _0x512878=a0_0x1f7e7c,_0x55f2a9={'KDqbX':_0x512878(0x10f),'lKiJY':'fatal'},_0x4dd32a={'event':_0x55f2a9['KDqbX'],'errorName':_0x166dc4[_0x512878(0x115)]||_0x512878(0x139),'errorMessage':_0x166dc4['message'],'errorCode':_0x166dc4['code']||null,'stack':_0x166dc4['stack'],'severity':_0x512878(0x170),..._0x3622fe},_0x49d54c=_0x32518b||'FATAL:\x20'+_0x166dc4['message'];logger[_0x512878(0x16d)](_0x4dd32a,_0x49d54c),writeToFileLog({..._0x4dd32a,'level':_0x55f2a9[_0x512878(0x10c)],'msg':_0x49d54c,'time':new Date()['toISOString']()},'error');},logHttpError=(_0x83dd53,_0x2acbc4,_0x6b926c={})=>{const _0x1181c5=a0_0x1f7e7c,_0x5bb4e9={'QXGtt':_0x1181c5(0x121),'ZkZhl':_0x1181c5(0x139),'XjwtC':_0x1181c5(0x176),'DxsMW':function(_0x58c0f3,_0x1c272d){return _0x58c0f3(_0x1c272d);},'Penaq':'error','EIQpi':'warn','dYzye':function(_0x4f7440,_0x19f48a){return _0x4f7440>=_0x19f48a;}},_0x455e0d={'event':_0x5bb4e9[_0x1181c5(0x13c)],'errorName':_0x83dd53[_0x1181c5(0x115)]||_0x5bb4e9['ZkZhl'],'errorMessage':_0x83dd53[_0x1181c5(0x161)],'errorCode':_0x83dd53['code']||_0x83dd53[_0x1181c5(0x13f)]||0x1f4,'stack':_0x83dd53[_0x1181c5(0x165)],'method':_0x2acbc4?.[_0x1181c5(0x17b)],'url':_0x2acbc4?.['url']||_0x2acbc4?.[_0x1181c5(0x150)],'path':_0x2acbc4?.['path'],'ip':_0x2acbc4?.['ip']||_0x2acbc4?.['connection']?.[_0x1181c5(0x177)],'userAgent':_0x2acbc4?.['get']?.(_0x5bb4e9[_0x1181c5(0xfe)]),'requestId':_0x2acbc4?.['id']||_0x2acbc4?.['headers']?.[_0x1181c5(0x167)],'body':_0x2acbc4?.['body']?_0x5bb4e9['DxsMW'](redactObject,_0x2acbc4['body']):undefined,'query':_0x2acbc4?.['query'],..._0x6b926c},_0x151b58=_0x83dd53[_0x1181c5(0x13f)]||_0x83dd53[_0x1181c5(0x109)]||0x1f4,_0x179a2e='HTTP\x20'+_0x151b58+':\x20'+_0x83dd53[_0x1181c5(0x161)];_0x151b58>=0x1f4?logger['error'](_0x455e0d,_0x179a2e):logger['warn'](_0x455e0d,_0x179a2e),writeToFileLog({..._0x455e0d,'level':_0x151b58>=0x1f4?_0x5bb4e9['Penaq']:_0x5bb4e9['EIQpi'],'msg':_0x179a2e,'time':new Date()[_0x1181c5(0xc3)]()},_0x5bb4e9[_0x1181c5(0x160)](_0x151b58,0x1f4)?_0x5bb4e9['Penaq']:_0x5bb4e9['EIQpi']);},logUncaughtError=(_0x75676b,_0x53ea58)=>{const _0x55c9c5=a0_0x1f7e7c,_0x4aab86={'OwidW':function(_0x27cf6f,_0x30ad32,_0x344e2f){return _0x27cf6f(_0x30ad32,_0x344e2f);},'LLnxj':'fatal','nlVab':_0x55c9c5(0x10d)},_0x4e32ea={'event':_0x75676b,'errorName':_0x53ea58?.[_0x55c9c5(0x115)]||'Error','errorMessage':_0x53ea58?.['message']||String(_0x53ea58),'errorCode':_0x53ea58?.['code']||null,'stack':_0x53ea58?.['stack'],'severity':'CRITICAL','processId':process['pid'],'memoryUsage':process['memoryUsage'](),'uptime':process[_0x55c9c5(0xc9)]()},_0xe40012='['+_0x75676b['toUpperCase']()+']\x20'+(_0x53ea58?.[_0x55c9c5(0x161)]||_0x53ea58);logger['fatal'](_0x4e32ea,_0xe40012),_0x4aab86[_0x55c9c5(0x106)](writeToFileLog,{..._0x4e32ea,'level':_0x4aab86['LLnxj'],'msg':_0xe40012,'time':new Date()[_0x55c9c5(0xc3)]()},_0x4aab86[_0x55c9c5(0x101)]);},setupGlobalErrorHandlers=()=>{const _0x294a8e=a0_0x1f7e7c,_0xc01f0d={'ksAcb':function(_0x396c1a,_0x30fd8c){return _0x396c1a(_0x30fd8c);},'SwSdY':_0x294a8e(0xee),'KKehU':_0x294a8e(0xe1),'NjeQT':_0x294a8e(0x15c),'ErTuW':_0x294a8e(0x135)};process['on'](_0x294a8e(0x108),_0x83307f=>{const _0x4e7081=_0x294a8e;logUncaughtError(_0x4e7081(0x108),_0x83307f),setTimeout(()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0xc01f0d[_0x294a8e(0xca)],(_0x3ba31b,_0x2d4cbc)=>{const _0x2bd156=_0x3ba31b instanceof Error?_0x3ba31b:new Error(_0xc01f0d['ksAcb'](String,_0x3ba31b));logUncaughtError(_0xc01f0d['SwSdY'],_0x2bd156);}),process['on']('warning',_0x55ca25=>{const _0x4837f5=_0x294a8e;logger[_0x4837f5(0xcb)]({'event':_0xc01f0d['KKehU'],'name':_0x55ca25['name'],'message':_0x55ca25[_0x4837f5(0x161)],'stack':_0x55ca25[_0x4837f5(0x165)]},_0x4837f5(0x11a)+_0x55ca25[_0x4837f5(0x161)]);});const _0x17c824={'event':'global_error_handlers_setup'},_0xd01d05=_0xc01f0d['NjeQT'];logger['info'](_0x17c824,_0xd01d05),writeToFileLog({..._0x17c824,'level':_0x294a8e(0x135),'msg':_0xd01d05,'time':new Date()['toISOString']()},_0xc01f0d['ErTuW']);},createErrorHandlerMiddleware=()=>{const _0x5311f1={'qvhin':'x-request-id'};return(_0x920751,_0x192584,_0x2ee7a0,_0x21fb28)=>{const _0x45cc10=a0_0x3736;logHttpError(_0x920751,_0x192584);const _0x1a6779=_0x920751['statusCode']||_0x920751[_0x45cc10(0x109)]||0x1f4;_0x2ee7a0[_0x45cc10(0x109)](_0x1a6779)['json']({'success':![],'error':_0x1a6779>=0x1f4?'Internal\x20server\x20error':_0x920751['message'],'requestId':_0x192584['id']||_0x192584['headers']?.[_0x5311f1[_0x45cc10(0xd8)]]||null});};};module[a0_0x1f7e7c(0x119)]={'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_0x59c4fe=a0_0xf6ef;function a0_0xf6ef(_0x263722,_0x569e60){_0x263722=_0x263722-0x1c8;const _0xff4281=a0_0xff42();let _0xf6efc5=_0xff4281[_0x263722];if(a0_0xf6ef['qJnJLp']===undefined){var _0x2ecb0c=function(_0x1df8df){const _0x4e8d79='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x58d72f='',_0x259e9e='';for(let _0x492cc8=0x0,_0x1015a6,_0x3d8324,_0x4227ec=0x0;_0x3d8324=_0x1df8df['charAt'](_0x4227ec++);~_0x3d8324&&(_0x1015a6=_0x492cc8%0x4?_0x1015a6*0x40+_0x3d8324:_0x3d8324,_0x492cc8++%0x4)?_0x58d72f+=String['fromCharCode'](0xff&_0x1015a6>>(-0x2*_0x492cc8&0x6)):0x0){_0x3d8324=_0x4e8d79['indexOf'](_0x3d8324);}for(let _0x19235e=0x0,_0xfaf95c=_0x58d72f['length'];_0x19235e<_0xfaf95c;_0x19235e++){_0x259e9e+='%'+('00'+_0x58d72f['charCodeAt'](_0x19235e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x259e9e);};a0_0xf6ef['nasSBE']=_0x2ecb0c,a0_0xf6ef['AFTdNx']={},a0_0xf6ef['qJnJLp']=!![];}const _0x1a7d26=_0xff4281[0x0],_0x5a7bb4=_0x263722+_0x1a7d26,_0x4b6255=a0_0xf6ef['AFTdNx'][_0x5a7bb4];return!_0x4b6255?(_0xf6efc5=a0_0xf6ef['nasSBE'](_0xf6efc5),a0_0xf6ef['AFTdNx'][_0x5a7bb4]=_0xf6efc5):_0xf6efc5=_0x4b6255,_0xf6efc5;}function a0_0xff42(){const _0x5e3822=['zMf0ywW','te9hx0XfvKvm','C0HhBgS','yxbWlMXVzW','Ahj0Aw1L','wuXzEvi','DxjS','vLvNBLa','yM9KEq','zw52AxjVBM1LBNq','w09lxsbqCM9Qzwn0igXVywrLzdOG','zgjFCxvLCNK','w1jfrefdveveoNrVA2vUxq','C3rHDhvZ','CxvLCNK','Dw5JyxvNAhrfEgnLChrPB24','zfrou3a','rKrfB2G','zgf0ywjHC2u','y2HPBgq','Dhj1zq','y29UBMvJDgLVBG','C29Tzq','BwvZC2fNzq','tK9uiefdveLwrq','CvL2ugC','mJq5odC0nen2sufQDW','CMvMCMvZAf90B2TLBG','zxjYB3i','Ag9ZDa','BKnYtfi','uMXlAK0','Cu9wAK8','y3jLzgL0y2fYza','otG2odq2r3rptNjk','tI9b','Aw5MBW','ChjVzhvJDgLVBG','yxbPx3nLy3jLDa','zw5KCg9PBNrFCMvNAxn0zxjLza','Bwv0Ag9K','qvbqx1zfuLnjt04','vu5ltK9xtG','ourer3DHqq','Cg9ZDgDYzxnXBa','ANnVBG','Bwf0y2G','C3bSAxq','vhjHBNnHy3rPB24G','te9hx0rjuG','mJaZogjPy2LVEG','AxntBg93','y29Kzq','y3jLzgvUDgLHBhm','DKrOCw0','Dg9Rzw4','CMvZDgzVCMDL','BMfTzq','reiGuxvLCNK','C3rHy2S','CgfZC3DVCMq','r1jytK4','vMf2vvy','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','zwv3qvy','CMvWBgfJzq','CMvZB2X2zq','CgLU','y29UzMLNrMLSzq','y3jLyxrLv3jPDgvtDhjLyw0','BxmP','rgf0ywjHC2u6ia','B2vWAM4','zw52','u0vsvKLdrv9oqu1f','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','Cgf0Aa','AM9PBG','B2jQzwn0','qLLwEMW','q1jfqvrf','BKTcEgK','C3rHDhvZq29Kzq','u1rbuLqGvfjbtLnbq1rjt04','ChjPDMf0zv9RzxK','y3DK','shzyDK8','ChjVAMvJDa','Cg9YDa','u2vYDMvYihn0yxj0Aw5NoIa','rfjpua','BwvTB3j5vxnHz2u','sgjsrLi','lI9SB2DZ','yxbPx2TLEq','w1jfrefdveveoMHHC2HD','Aen2weG','Evfjzhq','qunusvzf','yxbPs2v5','tM9Kzs5QCW','mJK2nJq1wMDHz0vn','zgf0ywjHC2vFy29UzMLN','mZyZmJeYuNLpBLPO','oI8V','ChjPDMf0zwTLEq','zgLMueO','sLDux1nfq1jfva','ig9UihbVCNqG','zxjYB3iUBg9N','Ec1Yzxf1zxn0lwLK','BwTKAxjtEw5J','A2v5CW','Dg9mB3DLCKnHC2u','sfruuca','CgLK','iokvKqRILzeGiefqssblzxKGicaGidOG','C2vYDMLJzuLUzM8','mtKXCg1SALLy','AxnbCNjHEq','tK9erv9ftLy','Dg9vChbLCKnHC2u','zhvYyxrPB25nCW','mteZmde0otjyu0vTC0q','ChDK','B3jPz2LUywXvCMW','Dg9ju09tDhjPBMC','DhjPBq','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','CgLUBY1WCMv0DhK','ENP3zhu','CgfKrw5K','oxHXuM1PEq','u0vmrunu','mtfKCMzcrhi','quDWug8','C3fSx3f1zxj5','zxHPC3rZu3LUyW','revmrvrf','BgvUz3rO','Ahr0Cf9LCNjVCG','BfHhtey','sw50zxjUywWGC2vYDMvYigvYCM9Y','y3z2','Ahr0Cf9Yzxf1zxn0','rhz2zNO','CgfZC3DK','CMvTB3rLqwrKCMvZCW','AgvHBhrOq2HLy2S','zgv2zwXVCg1LBNq','q3HpqMq','zgvIDwC','w1jfrefdvevexq','z2v0sgvHzgvYCW','ywPusg0','BwfW','Ae15vfe','DgvZDa','C3rHCNrZv2L0Aa','wMfywhe','C3nU','vfjbtLnbq1rjt05FuK9mtejbq0S','rxjYB3i','mJy5otm5me1JEKjgwG','senIwuC','D2fYBG','mtjTAe9Uvwy','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','Bw9KDwXL','rhDozuO','Dw5Oyw5KBgvKuMvQzwn0Aw9U','C3vIC3rYAw5N','y3jLzgL0x2nHCMq','vvbeqvrf'];a0_0xff42=function(){return _0x5e3822;};return a0_0xff42();}(function(_0x207bd9,_0x458ae9){const _0x23ab7d=a0_0xf6ef,_0xaa5954=_0x207bd9();while(!![]){try{const _0x27a513=parseInt(_0x23ab7d(0x253))/0x1*(-parseInt(_0x23ab7d(0x20f))/0x2)+-parseInt(_0x23ab7d(0x261))/0x3*(parseInt(_0x23ab7d(0x244))/0x4)+parseInt(_0x23ab7d(0x242))/0x5+parseInt(_0x23ab7d(0x1d5))/0x6*(-parseInt(_0x23ab7d(0x1ff))/0x7)+parseInt(_0x23ab7d(0x1f7))/0x8+parseInt(_0x23ab7d(0x208))/0x9*(-parseInt(_0x23ab7d(0x1d2))/0xa)+parseInt(_0x23ab7d(0x263))/0xb*(parseInt(_0x23ab7d(0x258))/0xc);if(_0x27a513===_0x458ae9)break;else _0xaa5954['push'](_0xaa5954['shift']());}catch(_0x2b0a78){_0xaa5954['push'](_0xaa5954['shift']());}}}(a0_0xff42,0x47e82));const pino=require('pino'),fs=require('fs'),path=require(a0_0x59c4fe(0x229));let logToFile=![],logDir=a0_0x59c4fe(0x23a),serviceName='restforge',sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':a0_0x59c4fe(0x25d),'singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env'][a0_0x59c4fe(0x255)]!==a0_0x59c4fe(0x202),logLevel=process[a0_0x59c4fe(0x226)][a0_0x59c4fe(0x1de)]||a0_0x59c4fe(0x201);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x59c4fe(0x25e),'options':prettyPrintOptions}:undefined,'base':{'service':a0_0x59c4fe(0x215),'version':process[a0_0x59c4fe(0x226)][a0_0x59c4fe(0x206)]||'1.0.5','env':process[a0_0x59c4fe(0x226)]['NODE_ENV']||a0_0x59c4fe(0x272)},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':[a0_0x59c4fe(0x1d6),'req.headers[\x22x-api-key\x22]',a0_0x59c4fe(0x219),'token','apiKey','DB_PASSWORD',a0_0x59c4fe(0x248)],'censor':a0_0x59c4fe(0x275)},'serializers':{'req':_0x60bf62=>({'id':_0x60bf62['id'],'method':_0x60bf62['method'],'url':_0x60bf62[a0_0x59c4fe(0x1e3)],'path':_0x60bf62['path'],'remoteAddress':_0x60bf62['ip']||_0x60bf62[a0_0x59c4fe(0x1f2)]?.['remoteAddress']}),'res':_0xa27c01=>({'statusCode':_0xa27c01['statusCode'],'headers':_0xa27c01[a0_0x59c4fe(0x1c8)]?.()}),'err':pino['stdSerializers']['err']}});function initFileLogging(){const _0x5aae5f=a0_0x59c4fe,_0x198ff2={'vGSbG':'./logs','Tldpy':_0x5aae5f(0x215),'qYvPg':function(_0x59ab53,_0x518442){return _0x59ab53===_0x518442;},'tpZXv':_0x5aae5f(0x274),'pwbtn':function(_0x21abbe,_0x4b05de){return _0x21abbe(_0x4b05de);},'nCrLR':'file_logging_enabled','KQXLj':function(_0x46f2b9,_0x24fdf8,_0x12b966){return _0x46f2b9(_0x24fdf8,_0x12b966);},'zrAmy':'info'};if(fileLoggingInitialized)return;logToFile=process['env']['LOG_TO_FILE']===_0x5aae5f(0x1f1),logDir=process[_0x5aae5f(0x226)][_0x5aae5f(0x20e)]||_0x198ff2['vGSbG'],serviceName=process[_0x5aae5f(0x226)][_0x5aae5f(0x227)]||_0x198ff2['Tldpy'],sqlLogEnabled=_0x198ff2[_0x5aae5f(0x1f6)](process[_0x5aae5f(0x226)]['SQL_LOG_ENABLED'],'true'),sqlLogLevel=process['env']['SQL_LOG_LEVEL']||_0x198ff2['tpZXv'],sqlLogParams=process['env']['SQL_LOG_PARAMS']!=='false',sqlLogSlowThreshold=_0x198ff2['pwbtn'](parseInt,process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x2e50ba=path[_0x5aae5f(0x21f)](process[_0x5aae5f(0x232)](),logDir);try{!fs[_0x5aae5f(0x266)](_0x2e50ba)&&fs[_0x5aae5f(0x24c)](_0x2e50ba,{'recursive':!![]});}catch(_0x416503){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x2e50ba+':',_0x416503['message']),fileLoggingInitialized=!![];return;}const _0x166d78=path[_0x5aae5f(0x22a)](_0x2e50ba,'app.log'),_0x15d7fb=path['join'](_0x2e50ba,_0x5aae5f(0x24a));try{appLogStream=fs['createWriteStream'](_0x166d78,{'flags':'a'}),errorLogStream=fs[_0x5aae5f(0x222)](_0x15d7fb,{'flags':'a'}),fileLoggingInitialized=!![];const _0x3d1dc4={'event':_0x198ff2[_0x5aae5f(0x1fb)],'logDir':_0x2e50ba,'files':[_0x5aae5f(0x1e0),'error.log']},_0x5d7097='File\x20logging\x20enabled:\x20'+_0x2e50ba;logger[_0x5aae5f(0x201)](_0x3d1dc4,_0x5d7097),_0x198ff2['KQXLj'](writeToFileLog,{..._0x3d1dc4,'level':_0x198ff2['zrAmy'],'msg':_0x5d7097,'time':new Date()['toISOString']()},_0x5aae5f(0x201));}catch(_0x3d2356){console['error'](_0x5aae5f(0x21c),_0x3d2356['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0x46751e,_0x455411){const _0x168681=a0_0x59c4fe,_0x5c9acd={'qOVjO':function(_0x45f7d1,_0x3266cf){return _0x45f7d1===_0x3266cf;}};if(!logToFile||!appLogStream)return;const _0x1eaee2={'service':serviceName,..._0x46751e},_0x1fe1ac=JSON['stringify'](_0x1eaee2)+'\x0a';appLogStream['write'](_0x1fe1ac),(_0x5c9acd[_0x168681(0x1fd)](_0x455411,'error')||_0x455411==='fatal')&&(errorLogStream&&errorLogStream['write'](_0x1fe1ac));}const createRequestLogger=(_0x215abc={})=>{const _0x1c37f5=a0_0x59c4fe;return logger[_0x1c37f5(0x1f0)](_0x215abc);},logServerStart=_0x2db03d=>{const _0x1d11e0=a0_0x59c4fe,_0x4b74fb={'erHQN':_0x1d11e0(0x241),'ykzIg':function(_0x3fa649,_0x5ae62c){return _0x3fa649(_0x5ae62c);},'cAVYj':'server_starting','HbRFR':'info'},_0x254f10='\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'+(_0x2db03d[_0x1d11e0(0x1e6)]||_0x4b74fb['erHQN'])[_0x1d11e0(0x260)](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x2db03d['project']||_0x1d11e0(0x200))['padEnd'](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+_0x4b74fb['ykzIg'](String,_0x2db03d['port']||0xbb8)['padEnd'](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x2db03d[_0x1d11e0(0x221)]||'Default')['padEnd'](0x26)+_0x1d11e0(0x251)+(_0x2db03d['apiKey']?_0x1d11e0(0x23f):_0x1d11e0(0x1f5))[_0x1d11e0(0x260)](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console['log'](_0x254f10);const _0x2d986e={'event':_0x4b74fb['cAVYj'],'project':_0x2db03d[_0x1d11e0(0x234)],'port':_0x2db03d['port'],'config':_0x2db03d[_0x1d11e0(0x221)],'apiKeyEnabled':!!_0x2db03d[_0x1d11e0(0x240)]};logger['info'](_0x2d986e),writeToFileLog({..._0x2d986e,'level':_0x4b74fb[_0x1d11e0(0x239)],'msg':_0x1d11e0(0x236)+_0x2db03d[_0x1d11e0(0x234)]+_0x1d11e0(0x249)+_0x2db03d['port'],'time':new Date()['toISOString']()},_0x4b74fb[_0x1d11e0(0x239)]);},logServerReady=_0x19ab44=>{const _0x50dd9a=a0_0x59c4fe,_0x18f96d={'aRXdg':function(_0x8e55ca,_0x329264,_0x5f0301){return _0x8e55ca(_0x329264,_0x5f0301);}},_0x57d0f7={'event':'server_ready','port':_0x19ab44[_0x50dd9a(0x235)],'module':_0x19ab44[_0x50dd9a(0x1d7)],'healthCheck':_0x19ab44[_0x50dd9a(0x271)],'serviceInfo':_0x19ab44[_0x50dd9a(0x252)],'baseUrl':_0x19ab44['baseUrl']},_0x2a628e='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x19ab44[_0x50dd9a(0x235)];logger[_0x50dd9a(0x201)](_0x57d0f7,_0x2a628e),_0x18f96d['aRXdg'](writeToFileLog,{..._0x57d0f7,'level':_0x50dd9a(0x201),'msg':_0x2a628e,'time':new Date()['toISOString']()},'info'),_0x19ab44['healthCheck']&&logger['info']('\x20\x20Health:\x20'+_0x19ab44['healthCheck']),_0x19ab44['serviceInfo']&&logger[_0x50dd9a(0x201)]('\x20\x20Info:\x20\x20\x20'+_0x19ab44['serviceInfo']),_0x19ab44['baseUrl']&&logger[_0x50dd9a(0x201)]('\x20\x20URL:\x20\x20\x20\x20'+_0x19ab44['baseUrl']);},logProjectLoaded=(_0x1adecd,_0xaae77b)=>{const _0x4f422b=a0_0x59c4fe,_0x1df9e1={'Dvvfz':function(_0xe63897,_0x3e2438,_0x32498e){return _0xe63897(_0x3e2438,_0x32498e);}},_0x1ad60e={'event':'project_loaded','project':_0x1adecd,'path':_0xaae77b},_0x52b429=_0x4f422b(0x1e7)+_0x1adecd;logger['info'](_0x1ad60e,_0x52b429),_0x1df9e1[_0x4f422b(0x26e)](writeToFileLog,{..._0x1ad60e,'level':'info','msg':_0x52b429,'time':new Date()['toISOString']()},'info');},logEndpointRegistered=(_0xc355b9,_0x388280)=>{const _0x157212=a0_0x59c4fe,_0xbea068={'mApDo':_0x157212(0x204),'eewAV':function(_0x5443f1,_0x39ddab,_0x219ce6){return _0x5443f1(_0x39ddab,_0x219ce6);}},_0x356659={'event':_0xbea068['mApDo'],'endpoint':_0xc355b9,'route':_0x388280},_0x2cb9b4='\x20\x20→\x20'+_0xc355b9+':\x20'+_0x388280;logger['debug'](_0x356659,_0x2cb9b4),_0xbea068[_0x157212(0x21d)](writeToFileLog,{..._0x356659,'level':_0x157212(0x274),'msg':_0x2cb9b4,'time':new Date()['toISOString']()},_0x157212(0x274));},logDatabaseConfig=_0x5ed9c0=>{const _0x48258b=a0_0x59c4fe,_0x39da23={'Lnckm':_0x48258b(0x243),'SBsoY':function(_0x4bbda2,_0x9f42a4,_0x2f6374){return _0x4bbda2(_0x9f42a4,_0x2f6374);},'vDhqm':_0x48258b(0x274)},_0x2685a0={'event':_0x39da23['Lnckm'],'host':_0x5ed9c0[_0x48258b(0x1fa)],'port':_0x5ed9c0[_0x48258b(0x235)],'database':_0x5ed9c0[_0x48258b(0x1ef)],'type':_0x5ed9c0['type'],'user':_0x5ed9c0['user']},_0x1f4191=_0x48258b(0x224)+_0x5ed9c0['type']+_0x48258b(0x245)+_0x5ed9c0['host']+':'+_0x5ed9c0[_0x48258b(0x235)]+'/'+_0x5ed9c0['database'];logger[_0x48258b(0x274)](_0x2685a0,_0x1f4191),_0x39da23['SBsoY'](writeToFileLog,{..._0x2685a0,'level':_0x48258b(0x274),'msg':_0x1f4191,'time':new Date()[_0x48258b(0x25b)]()},_0x39da23[_0x48258b(0x213)]);},logRequest=(_0x5b5210,_0x17eb8b,_0x109211)=>{const _0x17faef=a0_0x59c4fe,_0x439252={'zzwdu':_0x17faef(0x26d),'difPJ':'info'},_0x1ab4f4={'event':_0x439252[_0x17faef(0x25f)],'method':_0x5b5210[_0x17faef(0x205)],'path':_0x5b5210['path'],'statusCode':_0x17eb8b['statusCode'],'durationMs':_0x109211,'ip':_0x5b5210['ip']},_0x243dfd=_0x5b5210[_0x17faef(0x205)]+'\x20'+_0x5b5210['path']+'\x20-\x20'+_0x17eb8b['statusCode']+'\x20('+_0x109211+_0x17faef(0x223);let _0x40c1e3=_0x439252[_0x17faef(0x247)];if(_0x17eb8b[_0x17faef(0x22f)]>=0x1f4)_0x40c1e3=_0x17faef(0x1f9),logger[_0x17faef(0x1f9)](_0x1ab4f4,_0x243dfd);else _0x17eb8b['statusCode']>=0x190?(_0x40c1e3=_0x17faef(0x1d4),logger[_0x17faef(0x1d4)](_0x1ab4f4,_0x243dfd)):logger[_0x17faef(0x201)](_0x1ab4f4,_0x243dfd);writeToFileLog({..._0x1ab4f4,'level':_0x40c1e3,'msg':_0x243dfd,'time':new Date()['toISOString']()},_0x40c1e3);},SENSITIVE_PARAM_PATTERNS=[a0_0x59c4fe(0x219),a0_0x59c4fe(0x26f),'pwd',a0_0x59c4fe(0x214),'access_token',a0_0x59c4fe(0x1f8),'secret',a0_0x59c4fe(0x203),'apikey',a0_0x59c4fe(0x23b),'credential',a0_0x59c4fe(0x212),a0_0x59c4fe(0x220),'otp',a0_0x59c4fe(0x231),a0_0x59c4fe(0x246)],redactSensitiveParams=(_0x49a9eb,_0x37d33d)=>{const _0x5f48ce=a0_0x59c4fe,_0x1070df={'HvXvO':_0x5f48ce(0x275),'VavUV':function(_0x456040,_0x109ea5){return _0x456040===_0x109ea5;},'wvZXr':function(_0x434922,_0x1be117){return _0x434922>_0x1be117;},'THtzo':_0x5f48ce(0x23c)};if(!_0x49a9eb||_0x1070df['VavUV'](_0x49a9eb[_0x5f48ce(0x268)],0x0))return _0x49a9eb;const _0x21fefe=_0x37d33d['toLowerCase'](),_0x6de75e=_0x21fefe[_0x5f48ce(0x20b)](/\(([^)]+)\)\s*values/i);let _0x426f30=[];_0x6de75e&&(_0x426f30=_0x6de75e[0x1][_0x5f48ce(0x20c)](',')[_0x5f48ce(0x1ca)](_0x5b20ed=>_0x5b20ed[_0x5f48ce(0x25c)]()['toLowerCase']()));const _0x520f36=_0x21fefe['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x520f36){const _0x32ada0=_0x520f36[0x1],_0x3fc257=_0x32ada0[_0x5f48ce(0x20b)](/(\w+)\s*=/g);_0x3fc257&&(_0x426f30=_0x3fc257['map'](_0x48b5b4=>_0x48b5b4[_0x5f48ce(0x21e)](/\s*=/,'')[_0x5f48ce(0x25c)]()[_0x5f48ce(0x24e)]()));}return _0x49a9eb['map']((_0x2bac50,_0x323a4b)=>{const _0x589443=_0x5f48ce;if(_0x426f30[_0x323a4b]){const _0x826822=_0x426f30[_0x323a4b],_0xca061d=SENSITIVE_PARAM_PATTERNS[_0x589443(0x1f3)](_0x55d23c=>_0x826822['includes'](_0x55d23c));if(_0xca061d)return _0x1070df[_0x589443(0x233)];}if(_0x1070df[_0x589443(0x21b)](typeof _0x2bac50,'string')&&_0x1070df['wvZXr'](_0x2bac50[_0x589443(0x268)],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x589443(0x1cc)](_0x2bac50)&&_0x2bac50['includes']('.'))return _0x589443(0x1e9);if(/^[a-fA-F0-9]{32,}$/['test'](_0x2bac50))return _0x1070df['THtzo'];}return _0x2bac50;});},parseQueryMetadata=_0x3a24e8=>{const _0x266114=a0_0x59c4fe,_0x349b81={'ELuPE':_0x266114(0x207),'ulUMD':_0x266114(0x262),'RlKjM':'INSERT','gREDd':_0x266114(0x1dc),'jPvrf':'BEGIN','ClLmk':_0x266114(0x230),'dTNSp':'COMMIT','CxOBd':'ROLLBACK','hCvXH':'DDL_CREATE','bArUJ':'DDL_DROP'},_0x2ac8d1=_0x3a24e8['trim'](),_0x5a3ddf=_0x2ac8d1['toUpperCase']();let _0x1ad0f1=_0x349b81['ELuPE'],_0x238600=null;if(_0x5a3ddf[_0x266114(0x1cd)](_0x266114(0x262))){_0x1ad0f1=_0x349b81['ulUMD'];const _0x1813e1=_0x2ac8d1['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x238600=_0x1813e1?_0x1813e1[0x1]:null;}else{if(_0x5a3ddf[_0x266114(0x1cd)](_0x349b81[_0x266114(0x1fc)])){_0x1ad0f1='INSERT';const _0x115ead=_0x2ac8d1['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x238600=_0x115ead?_0x115ead[0x1]:null;}else{if(_0x5a3ddf[_0x266114(0x1cd)](_0x349b81['gREDd'])){_0x1ad0f1=_0x349b81['gREDd'];const _0x2efebe=_0x2ac8d1[_0x266114(0x20b)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x238600=_0x2efebe?_0x2efebe[0x1]:null;}else{if(_0x5a3ddf['startsWith']('DELETE')){_0x1ad0f1=_0x266114(0x267);const _0x22c5cc=_0x2ac8d1[_0x266114(0x20b)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x238600=_0x22c5cc?_0x22c5cc[0x1]:null;}else{if(_0x5a3ddf[_0x266114(0x1cd)](_0x349b81['jPvrf'])||_0x5a3ddf[_0x266114(0x1cd)](_0x349b81['ClLmk']))_0x1ad0f1='TRANSACTION_BEGIN';else{if(_0x5a3ddf['startsWith'](_0x349b81[_0x266114(0x1ed)]))_0x1ad0f1='TRANSACTION_COMMIT';else{if(_0x5a3ddf['startsWith'](_0x349b81[_0x266114(0x273)]))_0x1ad0f1=_0x266114(0x1d0);else{if(_0x5a3ddf[_0x266114(0x1cd)](_0x266114(0x22d)))_0x1ad0f1=_0x349b81[_0x266114(0x23d)];else{if(_0x5a3ddf['startsWith']('ALTER'))_0x1ad0f1='DDL_ALTER';else _0x5a3ddf[_0x266114(0x1cd)](_0x266114(0x237))&&(_0x1ad0f1=_0x349b81['bArUJ']);}}}}}}}}return{'type':_0x1ad0f1,'table':_0x238600};},startQueryTimer=()=>{const _0x4f3413=a0_0x59c4fe,_0x349a37={'dBccP':function(_0x1ee87,_0xb9db2d){return _0x1ee87(_0xb9db2d);},'dlHnI':function(_0x3a6f9f,_0x2b67e1){return _0x3a6f9f+_0x2b67e1;}},_0xe92ea4=process[_0x4f3413(0x1e1)]();return()=>{const [_0x467671,_0x58ef5b]=process['hrtime'](_0xe92ea4);return _0x349a37['dBccP'](parseFloat,_0x349a37['dlHnI'](_0x467671*0x3e8,_0x58ef5b/0xf4240)['toFixed'](0x2));};},logQuery=(_0x51545d,_0x432b1a=[],_0x2630f6={})=>{const _0x5c85f4=a0_0x59c4fe,_0xf1e154={'XsvWs':_0x5c85f4(0x1e8),'XWkYE':_0x5c85f4(0x217),'oepjn':_0x5c85f4(0x265),'yQIdt':function(_0x13edfb,_0x50b872){return _0x13edfb>_0x50b872;},'sAmSW':function(_0x48129b,_0x35d2f2){return _0x48129b||_0x35d2f2;},'ajTHm':'unknown','cYzRw':function(_0x312d2a,_0x593865){return _0x312d2a!==_0x593865;},'AGpPo':function(_0x401a27,_0x4c8580){return _0x401a27>_0x4c8580;},'JLAew':'\x20[SLOW]','GRXNN':_0x5c85f4(0x1d4),'mynTi':'info','nKBxi':function(_0x41c186,_0x3ef184,_0x48979e){return _0x41c186(_0x3ef184,_0x48979e);}};if(!sqlLogEnabled){logger['debug']({'event':_0xf1e154['XsvWs'],'query':_0x51545d[_0x5c85f4(0x1da)](0x0,0xc8),'paramCount':_0x432b1a[_0x5c85f4(0x268)]},_0xf1e154['XWkYE']);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x5c85f4(0x209)}=_0x2630f6,{type:_0xd0e039,table:_0x90a555}=parseQueryMetadata(_0x51545d),_0x161f78={'event':_0xf1e154[_0x5c85f4(0x225)],'queryType':_0xd0e039,'table':_0x90a555,'query':_0x51545d,'paramCount':_0x432b1a[_0x5c85f4(0x268)],'dbType':dbType};sqlLogParams&&_0xf1e154[_0x5c85f4(0x23e)](_0x432b1a[_0x5c85f4(0x268)],0x0)&&(_0x161f78['params']=redactSensitiveParams(_0x432b1a,_0x51545d));duration!==null&&(_0x161f78[_0x5c85f4(0x257)]=duration,_0x161f78[_0x5c85f4(0x210)]=duration>sqlLogSlowThreshold);rowsAffected!==null&&(_0x161f78['rowsAffected']=rowsAffected);const _0x3ba29e=_0xf1e154['sAmSW'](_0x90a555,_0xf1e154[_0x5c85f4(0x1c9)]);let _0x4886b9='['+_0xd0e039+']\x20'+_0x3ba29e;duration!==null&&(_0x4886b9+='\x20('+duration+_0x5c85f4(0x223));const _0x1439bd=_0xf1e154['cYzRw'](duration,null)&&_0xf1e154[_0x5c85f4(0x264)](duration,sqlLogSlowThreshold);let _0x3a85f5=_0x5c85f4(0x274);if(_0x1439bd)_0x4886b9+=_0xf1e154['JLAew'],_0x3a85f5=_0xf1e154[_0x5c85f4(0x21a)],logger['warn'](_0x161f78,_0x4886b9);else sqlLogLevel===_0xf1e154['mynTi']?(_0x3a85f5='info',logger[_0x5c85f4(0x201)](_0x161f78,_0x4886b9)):logger['debug'](_0x161f78,_0x4886b9);_0xf1e154[_0x5c85f4(0x22e)](writeToFileLog,{..._0x161f78,'level':_0x3a85f5,'msg':_0x4886b9,'time':new Date()['toISOString']()},_0x3a85f5);},logTransaction=(_0x5a8594,_0x12d737)=>{const _0x866db9=a0_0x59c4fe,_0x37418a={'event':'db_transaction','status':_0x5a8594,'queryCount':_0x12d737},_0x180b8d=_0x866db9(0x20d)+_0x5a8594;logger['debug'](_0x37418a,_0x180b8d),writeToFileLog({..._0x37418a,'level':_0x866db9(0x274),'msg':_0x180b8d,'time':new Date()[_0x866db9(0x25b)]()},'debug');},redactObject=_0xd7c2c6=>{const _0x21f1d2=a0_0x59c4fe,_0x2688f3={'lXGLF':_0x21f1d2(0x26f),'DwNeJ':'authorization','BYVzl':_0x21f1d2(0x1db),'MBJZd':_0x21f1d2(0x26c),'ZqrUJ':'privatekey','rVMcO':function(_0x221ff8,_0x4c14e6){return _0x221ff8!==_0x4c14e6;}};if(!_0xd7c2c6||typeof _0xd7c2c6!=='object')return _0xd7c2c6;const _0x28ff08=['password',_0x2688f3[_0x21f1d2(0x26a)],_0x21f1d2(0x259),'token','secret','apikey','api_key',_0x2688f3[_0x21f1d2(0x1d8)],_0x21f1d2(0x1fe),_0x2688f3[_0x21f1d2(0x22c)],_0x2688f3['MBJZd'],_0x21f1d2(0x1cf),_0x21f1d2(0x220),_0x21f1d2(0x231),_0x2688f3['ZqrUJ'],'refresh_token','access_token'],_0x22b0b1=Array[_0x21f1d2(0x254)](_0xd7c2c6)?[..._0xd7c2c6]:{..._0xd7c2c6};for(const _0x465b1f of Object[_0x21f1d2(0x24d)](_0x22b0b1)){const _0x1fd446=_0x465b1f[_0x21f1d2(0x24e)]();if(_0x28ff08['some'](_0x1ad924=>_0x1fd446['includes'](_0x1ad924)))_0x22b0b1[_0x465b1f]='[REDACTED]';else typeof _0x22b0b1[_0x465b1f]===_0x21f1d2(0x22b)&&_0x2688f3['rVMcO'](_0x22b0b1[_0x465b1f],null)&&(_0x22b0b1[_0x465b1f]=redactObject(_0x22b0b1[_0x465b1f]));}return _0x22b0b1;},logError=(_0x3f2cd3,_0x862d9c={},_0xaed5d1=null)=>{const _0x22ab5d=a0_0x59c4fe,_0x36e43b={'pOXEl':'error'},_0x3de216={'event':_0x22ab5d(0x1f9),'errorName':_0x3f2cd3[_0x22ab5d(0x216)]||'Error','errorMessage':_0x3f2cd3[_0x22ab5d(0x1f4)],'errorCode':_0x3f2cd3[_0x22ab5d(0x211)]||null,'stack':_0x3f2cd3['stack'],..._0x862d9c},_0x5154d9=_0xaed5d1||'Error:\x20'+_0x3f2cd3[_0x22ab5d(0x1f4)];logger['error'](_0x3de216,_0x5154d9),writeToFileLog({..._0x3de216,'level':_0x36e43b['pOXEl'],'msg':_0x5154d9,'time':new Date()['toISOString']()},_0x36e43b['pOXEl']);},logFatalError=(_0x4f547e,_0x16fd48={},_0x1f9ded=null)=>{const _0x3b3b58=a0_0x59c4fe,_0x4cd2f6={'YLYyR':'fatal_error','hMyTQ':'fatal'},_0x429318={'event':_0x4cd2f6[_0x3b3b58(0x1e2)],'errorName':_0x4f547e['name']||_0x3b3b58(0x1d1),'errorMessage':_0x4f547e[_0x3b3b58(0x1f4)],'errorCode':_0x4f547e[_0x3b3b58(0x211)]||null,'stack':_0x4f547e[_0x3b3b58(0x218)],'severity':'CRITICAL',..._0x16fd48},_0x5711ed=_0x1f9ded||'FATAL:\x20'+_0x4f547e['message'];logger['fatal'](_0x429318,_0x5711ed),writeToFileLog({..._0x429318,'level':_0x4cd2f6[_0x3b3b58(0x1cb)],'msg':_0x5711ed,'time':new Date()[_0x3b3b58(0x25b)]()},'error');},logHttpError=(_0x34c61b,_0x23ba1b,_0x534d3e={})=>{const _0x5cbd6a=a0_0x59c4fe,_0x267581={'cfMiT':_0x5cbd6a(0x1d1),'JkXgc':'x-request-id','uNvSP':function(_0x2e6a1f,_0x21e0e0){return _0x2e6a1f>=_0x21e0e0;},'VUgnP':'warn','ZaXXq':'error'},_0x5ef78a={'event':_0x5cbd6a(0x269),'errorName':_0x34c61b['name']||_0x267581['cfMiT'],'errorMessage':_0x34c61b[_0x5cbd6a(0x1f4)],'errorCode':_0x34c61b['code']||_0x34c61b['statusCode']||0x1f4,'stack':_0x34c61b['stack'],'method':_0x23ba1b?.[_0x5cbd6a(0x205)],'url':_0x23ba1b?.['url']||_0x23ba1b?.[_0x5cbd6a(0x25a)],'path':_0x23ba1b?.['path'],'ip':_0x23ba1b?.['ip']||_0x23ba1b?.[_0x5cbd6a(0x1f2)]?.[_0x5cbd6a(0x270)],'userAgent':_0x23ba1b?.['get']?.('user-agent'),'requestId':_0x23ba1b?.['id']||_0x23ba1b?.['headers']?.[_0x267581['JkXgc']],'body':_0x23ba1b?.[_0x5cbd6a(0x1e5)]?redactObject(_0x23ba1b[_0x5cbd6a(0x1e5)]):undefined,'query':_0x23ba1b?.[_0x5cbd6a(0x1eb)],..._0x534d3e},_0x23e719=_0x34c61b['statusCode']||_0x34c61b['status']||0x1f4,_0x3cc525=_0x5cbd6a(0x24f)+_0x23e719+':\x20'+_0x34c61b[_0x5cbd6a(0x1f4)];_0x267581['uNvSP'](_0x23e719,0x1f4)?logger['error'](_0x5ef78a,_0x3cc525):logger['warn'](_0x5ef78a,_0x3cc525),writeToFileLog({..._0x5ef78a,'level':_0x267581['uNvSP'](_0x23e719,0x1f4)?'error':_0x267581[_0x5cbd6a(0x1e4)],'msg':_0x3cc525,'time':new Date()['toISOString']()},_0x267581['uNvSP'](_0x23e719,0x1f4)?_0x267581[_0x5cbd6a(0x1ce)]:_0x267581[_0x5cbd6a(0x1e4)]);},logUncaughtError=(_0x151c56,_0x2813c3)=>{const _0x25c1e9=a0_0x59c4fe,_0x37dfaa={'nEnzV':_0x25c1e9(0x1d1),'JrKNB':_0x25c1e9(0x1dd),'FWnvP':_0x25c1e9(0x1f9)},_0x492991={'event':_0x151c56,'errorName':_0x2813c3?.['name']||_0x37dfaa['nEnzV'],'errorMessage':_0x2813c3?.['message']||String(_0x2813c3),'errorCode':_0x2813c3?.[_0x25c1e9(0x211)]||null,'stack':_0x2813c3?.[_0x25c1e9(0x218)],'severity':'CRITICAL','processId':process[_0x25c1e9(0x250)],'memoryUsage':process[_0x25c1e9(0x238)](),'uptime':process['uptime']()},_0x3d02a4='['+_0x151c56[_0x25c1e9(0x256)]()+']\x20'+(_0x2813c3?.['message']||_0x2813c3);logger[_0x25c1e9(0x1dd)](_0x492991,_0x3d02a4),writeToFileLog({..._0x492991,'level':_0x37dfaa['JrKNB'],'msg':_0x3d02a4,'time':new Date()['toISOString']()},_0x37dfaa['FWnvP']);},setupGlobalErrorHandlers=()=>{const _0x54ce68=a0_0x59c4fe,_0x1837c1={'cvCel':_0x54ce68(0x1ec),'HCbYG':function(_0x5e210b,_0x495309,_0xd9efde){return _0x5e210b(_0x495309,_0xd9efde);},'KVbZz':'global_error_handlers_setup','FDEoh':_0x54ce68(0x228),'sHGlk':'info'};process['on'](_0x54ce68(0x1ec),_0xc3feb5=>{logUncaughtError(_0x1837c1['cvCel'],_0xc3feb5),_0x1837c1['HCbYG'](setTimeout,()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x54ce68(0x1d9),(_0x5d7e75,_0x55d6f9)=>{const _0x308833=_0x5d7e75 instanceof Error?_0x5d7e75:new Error(String(_0x5d7e75));logUncaughtError('unhandledRejection',_0x308833);}),process['on']('warning',_0x29ad8c=>{const _0x220ff3=_0x54ce68;logger[_0x220ff3(0x1d4)]({'event':'process_warning','name':_0x29ad8c[_0x220ff3(0x216)],'message':_0x29ad8c['message'],'stack':_0x29ad8c['stack']},'Process\x20Warning:\x20'+_0x29ad8c['message']);});const _0x45a119={'event':_0x1837c1['KVbZz']},_0x10a32a=_0x1837c1[_0x54ce68(0x1ee)];logger['info'](_0x45a119,_0x10a32a),_0x1837c1[_0x54ce68(0x1d3)](writeToFileLog,{..._0x45a119,'level':_0x54ce68(0x201),'msg':_0x10a32a,'time':new Date()['toISOString']()},_0x1837c1[_0x54ce68(0x1df)]);},createErrorHandlerMiddleware=()=>{return(_0x12ec76,_0x3785da,_0x16a91b,_0x339d2c)=>{const _0x174f34=a0_0xf6ef;logHttpError(_0x12ec76,_0x3785da);const _0x496005=_0x12ec76[_0x174f34(0x22f)]||_0x12ec76[_0x174f34(0x1ea)]||0x1f4;_0x16a91b['status'](_0x496005)[_0x174f34(0x20a)]({'success':![],'error':_0x496005>=0x1f4?_0x174f34(0x26b):_0x12ec76['message'],'requestId':_0x3785da['id']||_0x3785da['headers']?.[_0x174f34(0x24b)]||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 +1 @@
1
- function a0_0x263e(_0x8d74d3,_0xe99cc4){_0x8d74d3=_0x8d74d3-0xfc;const _0x70160e=a0_0x7016();let _0x263e03=_0x70160e[_0x8d74d3];if(a0_0x263e['zvEUEw']===undefined){var _0x4d4b4c=function(_0x12adf2){const _0x1e3a84='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x24352e='',_0x2db3e5='';for(let _0x35a387=0x0,_0xe0e75e,_0x1e34c7,_0x1fc273=0x0;_0x1e34c7=_0x12adf2['charAt'](_0x1fc273++);~_0x1e34c7&&(_0xe0e75e=_0x35a387%0x4?_0xe0e75e*0x40+_0x1e34c7:_0x1e34c7,_0x35a387++%0x4)?_0x24352e+=String['fromCharCode'](0xff&_0xe0e75e>>(-0x2*_0x35a387&0x6)):0x0){_0x1e34c7=_0x1e3a84['indexOf'](_0x1e34c7);}for(let _0x2e2844=0x0,_0xacdb8c=_0x24352e['length'];_0x2e2844<_0xacdb8c;_0x2e2844++){_0x2db3e5+='%'+('00'+_0x24352e['charCodeAt'](_0x2e2844)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2db3e5);};a0_0x263e['SJJHPD']=_0x4d4b4c,a0_0x263e['VMvVso']={},a0_0x263e['zvEUEw']=!![];}const _0x148395=_0x70160e[0x0],_0x589945=_0x8d74d3+_0x148395,_0x5674d9=a0_0x263e['VMvVso'][_0x589945];return!_0x5674d9?(_0x263e03=a0_0x263e['SJJHPD'](_0x263e03),a0_0x263e['VMvVso'][_0x589945]=_0x263e03):_0x263e03=_0x5674d9,_0x263e03;}const a0_0x4e07f3=a0_0x263e;(function(_0x58adfc,_0x318754){const _0x8f4a9e=a0_0x263e,_0x55cc1d=_0x58adfc();while(!![]){try{const _0x526a9f=-parseInt(_0x8f4a9e(0x11f))/0x1*(-parseInt(_0x8f4a9e(0x11a))/0x2)+-parseInt(_0x8f4a9e(0x118))/0x3*(parseInt(_0x8f4a9e(0x117))/0x4)+-parseInt(_0x8f4a9e(0x107))/0x5*(parseInt(_0x8f4a9e(0x11c))/0x6)+parseInt(_0x8f4a9e(0xfe))/0x7*(parseInt(_0x8f4a9e(0x10d))/0x8)+parseInt(_0x8f4a9e(0x10a))/0x9*(parseInt(_0x8f4a9e(0x11d))/0xa)+-parseInt(_0x8f4a9e(0x121))/0xb*(parseInt(_0x8f4a9e(0x103))/0xc)+-parseInt(_0x8f4a9e(0x110))/0xd*(-parseInt(_0x8f4a9e(0x10e))/0xe);if(_0x526a9f===_0x318754)break;else _0x55cc1d['push'](_0x55cc1d['shift']());}catch(_0x44371d){_0x55cc1d['push'](_0x55cc1d['shift']());}}}(a0_0x7016,0x6f937));function a0_0x7016(){const _0x4561fc=['BwvZC2fNzq','ndq0nLjoA2TRzq','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','zgvIDwC','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','Cgf5Bg9HzerPCG','vKfnBLO','lI4VlI4VCgf5Bg9Hza','ohvnrvziDq','otu4odnuwM10rNK','AgfZ','mZqXnZmYzhHezhzx','AM9PBG','nK1PwM5AuG','nZmZmgr3Bg5Iuq','zMLLBgroyw1L','mvDRA2T3Aa','z2v0','mJKYnZyXn29LB1DoDG','zMLLBgrmywjLBhm','quPTvwC','ndq2mZqXn3fYDxzHza','C2v0','zgf0yxrHyMXLC1f1zxj5','zxjYB3i','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','mZzhDwjNrg8','z2v0rxHWB3j0q29UzMLN','DxrMoa','CMvHzezPBgu','mtC1nJmWnwvMBfvbrW','ywn0Aw9U','lI9SB2DNzxi','mZyZnMPMyw5RAq','y2fJAgu','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','ohHtquHiuq','mJmXnZbst09OEeu'];a0_0x7016=function(){return _0x4561fc;};return a0_0x7016();}const fs=require('fs')['promises'],path=require('path'),{logger}=require(a0_0x4e07f3(0x109));class PayloadLoader{constructor(){const _0x84fba1=a0_0x4e07f3,_0x127e4={'AJmUg':_0x84fba1(0x116)};this['payloadDir']=path[_0x84fba1(0x11b)](__dirname,_0x127e4[_0x84fba1(0xfd)]),this[_0x84fba1(0x10b)]=new Map();}async['loadPayload'](_0x290c08,_0x33955c){const _0x456f58=a0_0x4e07f3,_0x392902={'hXDqN':'Payload\x20loaded\x20successfully'},_0x434dba=_0x290c08+':'+_0x33955c;if(this[_0x456f58(0x10b)]['has'](_0x434dba))return this[_0x456f58(0x10b)]['get'](_0x434dba);const _0x1df6f8=path[_0x456f58(0x11b)](this[_0x456f58(0x114)],_0x290c08+'_'+_0x33955c+'.json');try{const _0x1fc5a6=await fs[_0x456f58(0x106)](_0x1df6f8,'utf8'),_0x86f8a4=JSON['parse'](_0x1fc5a6);return this['cache']['set'](_0x434dba,_0x86f8a4),logger[_0x456f58(0x112)]({'event':'payload_loaded','project':_0x290c08,'resource':_0x33955c},_0x392902['hXDqN']),_0x86f8a4;}catch(_0x42c12a){logger['error']({'event':'payload_load_error','project':_0x290c08,'resource':_0x33955c,'error':_0x42c12a['message']},'Failed\x20to\x20load\x20payload');throw new Error('Payload\x20not\x20found:\x20'+_0x290c08+'_'+_0x33955c);}}async['loadPayloadByName'](_0x10cbb7){const _0x2550f2=a0_0x4e07f3,_0x419d24={'VAMnZ':'payload_loaded'},_0x2d3ead='payload:'+_0x10cbb7;if(this[_0x2550f2(0x10b)][_0x2550f2(0x119)](_0x2d3ead))return this[_0x2550f2(0x10b)][_0x2550f2(0x120)](_0x2d3ead);const _0x24f649=path[_0x2550f2(0x11b)](this[_0x2550f2(0x114)],_0x10cbb7+'.json');try{const _0x53e7cf=await fs[_0x2550f2(0x106)](_0x24f649,_0x2550f2(0x105)),_0x1b8016=JSON['parse'](_0x53e7cf);return this['cache'][_0x2550f2(0xff)](_0x2d3ead,_0x1b8016),logger['debug']({'event':_0x419d24[_0x2550f2(0x115)],'payloadName':_0x10cbb7},_0x2550f2(0x10c)),_0x1b8016;}catch(_0x2966d8){logger[_0x2550f2(0x101)]({'event':_0x2550f2(0x102),'payloadName':_0x10cbb7,'error':_0x2966d8[_0x2550f2(0x10f)]},_0x2550f2(0x111));throw new Error('Payload\x20not\x20found:\x20'+_0x10cbb7);}}['isActionEnabled'](_0x3fdd0a,_0x29f121){const _0x51b5e5=a0_0x4e07f3;return _0x3fdd0a[_0x51b5e5(0x108)]&&_0x3fdd0a['action'][_0x29f121]===!![];}[a0_0x4e07f3(0x104)](_0x191525){const _0x4db9b2=a0_0x4e07f3;return{'columns':_0x191525[_0x4db9b2(0x11e)]||[],'filename':_0x191525['tableName']['replace']('.','-')+'-export','datatablesQuery':_0x191525[_0x4db9b2(0x100)]||null,'columnFormats':_0x191525['columnFormats']||null,'fieldLabels':_0x191525[_0x4db9b2(0xfc)]||null};}['clearCache'](){const _0x450045=a0_0x4e07f3;this['cache']['clear'](),logger['info']({'event':_0x450045(0x113)},'Payload\x20cache\x20cleared');}}module['exports']=new PayloadLoader();
1
+ const a0_0x29b5d7=a0_0x5d13;(function(_0xd9601d,_0x239019){const _0x2512ce=a0_0x5d13,_0x21220e=_0xd9601d();while(!![]){try{const _0x2d0edb=parseInt(_0x2512ce(0x82))/0x1*(-parseInt(_0x2512ce(0x7f))/0x2)+parseInt(_0x2512ce(0x87))/0x3+parseInt(_0x2512ce(0x90))/0x4+-parseInt(_0x2512ce(0x8a))/0x5+-parseInt(_0x2512ce(0x7e))/0x6*(-parseInt(_0x2512ce(0x98))/0x7)+-parseInt(_0x2512ce(0x81))/0x8+parseInt(_0x2512ce(0x80))/0x9;if(_0x2d0edb===_0x239019)break;else _0x21220e['push'](_0x21220e['shift']());}catch(_0x5ae7f5){_0x21220e['push'](_0x21220e['shift']());}}}(a0_0x3855,0x31331));const fs=require('fs')['promises'],path=require('path'),{logger}=require('./logger');class PayloadLoader{constructor(){const _0x75e3ea=a0_0x5d13;this['payloadDir']=path['join'](__dirname,'../../payload'),this[_0x75e3ea(0x92)]=new Map();}async['loadPayload'](_0x311287,_0x180de9){const _0x11a53f=a0_0x5d13,_0x392316={'IsXiR':'Payload\x20loaded\x20successfully','gsELG':'payload_load_error'},_0x22fd60=_0x311287+':'+_0x180de9;if(this['cache']['has'](_0x22fd60))return this['cache'][_0x11a53f(0x8d)](_0x22fd60);const _0x2835f5=path['join'](this['payloadDir'],_0x311287+'_'+_0x180de9+_0x11a53f(0x83));try{const _0x376fe5=await fs[_0x11a53f(0x8b)](_0x2835f5,_0x11a53f(0x8e)),_0x310743=JSON['parse'](_0x376fe5);return this['cache'][_0x11a53f(0x9a)](_0x22fd60,_0x310743),logger[_0x11a53f(0x93)]({'event':'payload_loaded','project':_0x311287,'resource':_0x180de9},_0x392316['IsXiR']),_0x310743;}catch(_0x4b470f){logger[_0x11a53f(0x8f)]({'event':_0x392316[_0x11a53f(0x84)],'project':_0x311287,'resource':_0x180de9,'error':_0x4b470f['message']},_0x11a53f(0x85));throw new Error(_0x11a53f(0x96)+_0x311287+'_'+_0x180de9);}}async[a0_0x29b5d7(0x88)](_0x4115ae){const _0x46a42f=a0_0x29b5d7,_0x19ab3f={'RvoJy':_0x46a42f(0x7d),'DjUNL':'Failed\x20to\x20load\x20payload\x20by\x20name'},_0xf0f88d=_0x46a42f(0x86)+_0x4115ae;if(this[_0x46a42f(0x92)]['has'](_0xf0f88d))return this['cache']['get'](_0xf0f88d);const _0x2ddf53=path['join'](this['payloadDir'],_0x4115ae+'.json');try{const _0x20ef99=await fs['readFile'](_0x2ddf53,_0x46a42f(0x8e)),_0x15e853=JSON[_0x46a42f(0x94)](_0x20ef99);return this['cache'][_0x46a42f(0x9a)](_0xf0f88d,_0x15e853),logger[_0x46a42f(0x93)]({'event':_0x19ab3f['RvoJy'],'payloadName':_0x4115ae},'Payload\x20loaded\x20successfully\x20by\x20name'),_0x15e853;}catch(_0x327ab3){logger[_0x46a42f(0x8f)]({'event':'payload_load_error','payloadName':_0x4115ae,'error':_0x327ab3['message']},_0x19ab3f['DjUNL']);throw new Error('Payload\x20not\x20found:\x20'+_0x4115ae);}}[a0_0x29b5d7(0x99)](_0x4ce2a1,_0x509c61){return _0x4ce2a1['action']&&_0x4ce2a1['action'][_0x509c61]===!![];}['getExportConfig'](_0x3d9515){const _0x328740=a0_0x29b5d7;return{'columns':_0x3d9515[_0x328740(0x97)]||[],'filename':_0x3d9515['tableName'][_0x328740(0x91)]('.','-')+'-export','datatablesQuery':_0x3d9515['datatablesQuery']||null,'columnFormats':_0x3d9515['columnFormats']||null,'fieldLabels':_0x3d9515[_0x328740(0x8c)]||null};}[a0_0x29b5d7(0x7c)](){const _0x6d3f59=a0_0x29b5d7,_0x2945ba={'PGevR':'payload_cache_cleared'};this[_0x6d3f59(0x92)][_0x6d3f59(0x89)](),logger['info']({'event':_0x2945ba['PGevR']},_0x6d3f59(0x95));}}function a0_0x3855(){const _0x37e982=['mZe4mduYoevtuxfdsW','mZzJtLHJwuO','lMPZB24','z3nfteC','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','Cgf5Bg9HzdO','odC5nJy5rvjdqM1L','Bg9HzfbHEwXVywrcEu5HBwu','y2XLyxi','mtu2mZe1nuHzCeHIDq','CMvHzezPBgu','zMLLBgrmywjLBhm','z2v0','DxrMoa','zxjYB3i','mtmYnde0mhjdyKLWvG','CMvWBgfJzq','y2fJAgu','zgvIDwC','CgfYC2u','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','ugf5Bg9HzcbUB3qGzM91BMq6ia','zMLLBgroyw1L','n0PXy0TiBW','Axnby3rPB25fBMfIBgvK','C2v0','y2XLyxjdywnOzq','Cgf5Bg9Hzf9SB2fKzwq','mteWntqXmff4t3vdta','ota0nMfQAfLfva','mJm5ndq3n1fzBvPICG'];a0_0x3855=function(){return _0x37e982;};return a0_0x3855();}function a0_0x5d13(_0x407df7,_0xaa1886){_0x407df7=_0x407df7-0x7c;const _0x3855d4=a0_0x3855();let _0x5d135b=_0x3855d4[_0x407df7];if(a0_0x5d13['LBsvlq']===undefined){var _0x16e459=function(_0x35143f){const _0x5ecadd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3c6158='',_0x52dffc='';for(let _0x18d842=0x0,_0x29399e,_0x4cc3f5,_0x4d3d89=0x0;_0x4cc3f5=_0x35143f['charAt'](_0x4d3d89++);~_0x4cc3f5&&(_0x29399e=_0x18d842%0x4?_0x29399e*0x40+_0x4cc3f5:_0x4cc3f5,_0x18d842++%0x4)?_0x3c6158+=String['fromCharCode'](0xff&_0x29399e>>(-0x2*_0x18d842&0x6)):0x0){_0x4cc3f5=_0x5ecadd['indexOf'](_0x4cc3f5);}for(let _0x44cd4e=0x0,_0x5cc12a=_0x3c6158['length'];_0x44cd4e<_0x5cc12a;_0x44cd4e++){_0x52dffc+='%'+('00'+_0x3c6158['charCodeAt'](_0x44cd4e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x52dffc);};a0_0x5d13['cmUjYQ']=_0x16e459,a0_0x5d13['bmQOeq']={},a0_0x5d13['LBsvlq']=!![];}const _0xd4a7c2=_0x3855d4[0x0],_0x5520f=_0x407df7+_0xd4a7c2,_0x1690a7=a0_0x5d13['bmQOeq'][_0x5520f];return!_0x1690a7?(_0x5d135b=a0_0x5d13['cmUjYQ'](_0x5d135b),a0_0x5d13['bmQOeq'][_0x5520f]=_0x5d135b):_0x5d135b=_0x1690a7,_0x5d135b;}module['exports']=new PayloadLoader();