@restforgejs/platform 4.3.1 → 4.3.4

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/dashboard/create.js +0 -1
  5. package/generators/cli/endpoint/create.js +1 -1
  6. package/generators/lib/generators/model-generator.js +1 -1
  7. package/generators/lib/payload/endpoint-schema-validator.js +11 -1
  8. package/generators/lib/payload/payload-runner.js +4 -4
  9. package/generators/lib/payload/schema-diff.js +186 -3
  10. package/generators/lib/templates/dashboard-catalog.js +1 -1
  11. package/generators/lib/templates/db-connection-env.js +1 -1
  12. package/generators/lib/templates/dbschema-catalog.js +1 -1
  13. package/generators/lib/templates/field-validation-catalog.js +1 -1
  14. package/generators/lib/templates/mysql-template.js +1 -1
  15. package/generators/lib/templates/oracle-template.js +1 -1
  16. package/generators/lib/templates/postgres-template.js +1 -1
  17. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  18. package/generators/lib/templates/sqlite-template.js +1 -1
  19. package/generators/lib/utils/conflict-checker.js +9 -57
  20. package/generators/lib/utils/database-introspector.js +84 -0
  21. package/generators/lib/utils/file-utils.js +0 -159
  22. package/generators/lib/utils/payload-processor.js +21 -112
  23. package/integrity-manifest.json +18 -18
  24. package/package.json +1 -1
  25. package/scripts/verify-integrity.js +1 -1
  26. package/server.js +1 -1
  27. package/src/components/handlers/adjust_handler.js +1 -1
  28. package/src/components/handlers/audit_handler.js +1 -1
  29. package/src/components/handlers/delete_handler.js +1 -1
  30. package/src/components/handlers/export_handler.js +1 -1
  31. package/src/components/handlers/import_handler.js +1 -1
  32. package/src/components/handlers/insert_handler.js +1 -1
  33. package/src/components/handlers/update_handler.js +1 -1
  34. package/src/components/handlers/upload_handler.js +1 -1
  35. package/src/components/handlers/workflow_handler.js +1 -1
  36. package/src/components/integrations/webhook.js +1 -1
  37. package/src/consumers/baseConsumer.js +1 -1
  38. package/src/consumers/declarativeMapper.js +1 -1
  39. package/src/consumers/handlers/apiHandler.js +1 -1
  40. package/src/consumers/handlers/consoleHandler.js +1 -1
  41. package/src/consumers/handlers/databaseHandler.js +1 -1
  42. package/src/consumers/handlers/index.js +1 -1
  43. package/src/consumers/handlers/kafkaHandler.js +1 -1
  44. package/src/consumers/index.js +1 -1
  45. package/src/consumers/messageTransformer.js +1 -1
  46. package/src/consumers/validator.js +1 -1
  47. package/src/core/db/dialect/base-dialect.js +1 -1
  48. package/src/core/db/dialect/index.js +1 -1
  49. package/src/core/db/dialect/mysql-dialect.js +1 -1
  50. package/src/core/db/dialect/oracle-dialect.js +1 -1
  51. package/src/core/db/dialect/postgres-dialect.js +1 -1
  52. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  53. package/src/core/db/flatten-helper.js +1 -1
  54. package/src/core/db/query-builder-error.js +1 -1
  55. package/src/core/db/query-builder.js +1 -1
  56. package/src/core/db/relation-helper.js +1 -1
  57. package/src/core/handlers/delete_handler.js +1 -1
  58. package/src/core/handlers/insert_handler.js +1 -1
  59. package/src/core/handlers/update_handler.js +1 -1
  60. package/src/core/models/base-model.js +1 -1
  61. package/src/core/utils/cache-manager.js +1 -1
  62. package/src/core/utils/component-engine.js +1 -1
  63. package/src/core/utils/context-builder.js +1 -1
  64. package/src/core/utils/datetime-formatter.js +1 -1
  65. package/src/core/utils/datetime-parser.js +1 -1
  66. package/src/core/utils/db.js +1 -1
  67. package/src/core/utils/logger.js +1 -1
  68. package/src/core/utils/payload-loader.js +1 -1
  69. package/src/core/utils/security-checks.js +1 -1
  70. package/src/middleware/body-options.js +1 -1
  71. package/src/middleware/cors.js +1 -1
  72. package/src/middleware/idempotency.js +1 -1
  73. package/src/middleware/rate-limiter.js +1 -1
  74. package/src/middleware/request-logger.js +1 -1
  75. package/src/middleware/security-headers.js +1 -1
  76. package/src/models/base-model-mysql.js +1 -1
  77. package/src/models/base-model-oracle.js +1 -1
  78. package/src/models/base-model-sqlite.js +1 -1
  79. package/src/models/base-model.js +1 -1
  80. package/src/pro/caching/redis-client.js +1 -1
  81. package/src/pro/caching/redis-helper.js +1 -1
  82. package/src/pro/consumers/baseConsumer.js +1 -1
  83. package/src/pro/consumers/declarativeMapper.js +1 -1
  84. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  85. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  86. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  87. package/src/pro/consumers/handlers/index.js +1 -1
  88. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  89. package/src/pro/consumers/index.js +1 -1
  90. package/src/pro/consumers/messageTransformer.js +1 -1
  91. package/src/pro/consumers/validator.js +1 -1
  92. package/src/pro/database/base-model-mysql.js +1 -1
  93. package/src/pro/database/base-model-oracle.js +1 -1
  94. package/src/pro/database/base-model-sqlite.js +1 -1
  95. package/src/pro/database/db-mysql.js +1 -1
  96. package/src/pro/database/db-oracle.js +1 -1
  97. package/src/pro/database/db-sqlite.js +1 -1
  98. package/src/pro/excel/excel-generator.js +1 -1
  99. package/src/pro/excel/excel-parser.js +1 -1
  100. package/src/pro/excel/export-service.js +1 -1
  101. package/src/pro/excel/export_handler.js +1 -1
  102. package/src/pro/excel/import-service.js +1 -1
  103. package/src/pro/excel/import-validator.js +1 -1
  104. package/src/pro/excel/import_handler.js +1 -1
  105. package/src/pro/excel/upsert-builder.js +1 -1
  106. package/src/pro/idgen/idgen-routes.js +1 -1
  107. package/src/pro/integrations/lookup-resolver.js +1 -1
  108. package/src/pro/integrations/upload-handler-v2.js +1 -1
  109. package/src/pro/integrations/upload-handler.js +1 -1
  110. package/src/pro/integrations/webhook.js +1 -1
  111. package/src/pro/locking/lock-routes.js +1 -1
  112. package/src/pro/locking/resource-lock-manager.js +1 -1
  113. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  114. package/src/pro/messaging/kafkaService.js +1 -1
  115. package/src/pro/messaging/messagehubService.js +1 -1
  116. package/src/pro/messaging/rabbitmqService.js +1 -1
  117. package/src/pro/scheduler/job-manager.js +1 -1
  118. package/src/pro/scheduler/job-routes.js +1 -1
  119. package/src/pro/scheduler/job-validator.js +1 -1
  120. package/src/pro/storage/base-storage-provider.js +1 -1
  121. package/src/pro/storage/file-metadata-helper.js +1 -1
  122. package/src/pro/storage/index.js +1 -1
  123. package/src/pro/storage/local-storage-provider.js +1 -1
  124. package/src/pro/storage/s3-storage-provider.js +1 -1
  125. package/src/pro/storage/upload-cleanup-job.js +1 -1
  126. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  127. package/src/pro/storage/upload-pending-tracker.js +1 -1
  128. package/src/pro/websocket/broadcast-helper.js +1 -1
  129. package/src/pro/websocket/index.js +1 -1
  130. package/src/pro/websocket/livesync-server.js +1 -1
  131. package/src/pro/websocket/ws-broadcaster.js +1 -1
  132. package/src/services/export-service.js +1 -1
  133. package/src/services/import-service.js +1 -1
  134. package/src/services/kafkaConsumerService.js +1 -1
  135. package/src/services/kafkaService.js +1 -1
  136. package/src/services/messagehubService.js +1 -1
  137. package/src/services/rabbitmqService.js +1 -1
  138. package/src/utils/cache-invalidation-registry.js +1 -1
  139. package/src/utils/cache-manager.js +1 -1
  140. package/src/utils/component-engine.js +1 -1
  141. package/src/utils/config-extractor.js +1 -1
  142. package/src/utils/consumerLogger.js +1 -1
  143. package/src/utils/context-builder.js +1 -1
  144. package/src/utils/dashboard-helpers.js +1 -1
  145. package/src/utils/dateHelper.js +1 -1
  146. package/src/utils/datetime-formatter.js +1 -1
  147. package/src/utils/datetime-parser.js +1 -1
  148. package/src/utils/db-bootstrap.js +1 -1
  149. package/src/utils/db-mysql.js +1 -1
  150. package/src/utils/db-oracle.js +1 -1
  151. package/src/utils/db-sqlite.js +1 -1
  152. package/src/utils/db.js +1 -1
  153. package/src/utils/demo-generator.js +1 -1
  154. package/src/utils/excel-generator.js +1 -1
  155. package/src/utils/excel-parser.js +1 -1
  156. package/src/utils/file-watcher.js +1 -1
  157. package/src/utils/id-generator.js +1 -1
  158. package/src/utils/idempotency-manager.js +1 -1
  159. package/src/utils/import-validator.js +1 -1
  160. package/src/utils/license-client.js +1 -1
  161. package/src/utils/lock-manager.js +1 -1
  162. package/src/utils/logger.js +1 -1
  163. package/src/utils/lookup-resolver.js +1 -1
  164. package/src/utils/payload-loader.js +1 -1
  165. package/src/utils/processor-response.js +1 -1
  166. package/src/utils/rabbitmq.js +1 -1
  167. package/src/utils/redis-client.js +1 -1
  168. package/src/utils/redis-helper.js +1 -1
  169. package/src/utils/request-scope.js +1 -1
  170. package/src/utils/security-checks.js +1 -1
  171. package/src/utils/service-resolver.js +1 -1
  172. package/src/utils/shutdown-coordinator.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
- const a0_0x5ab30b=a0_0x2280;(function(_0x41d946,_0xe3bc60){const _0x265054=a0_0x2280,_0x4135bb=_0x41d946();while(!![]){try{const _0x529c47=parseInt(_0x265054(0x1e6))/0x1+-parseInt(_0x265054(0x292))/0x2*(parseInt(_0x265054(0x267))/0x3)+parseInt(_0x265054(0x1a7))/0x4+-parseInt(_0x265054(0x17c))/0x5+-parseInt(_0x265054(0x171))/0x6+-parseInt(_0x265054(0x24c))/0x7*(parseInt(_0x265054(0x227))/0x8)+parseInt(_0x265054(0x250))/0x9*(parseInt(_0x265054(0x258))/0xa);if(_0x529c47===_0xe3bc60)break;else _0x4135bb['push'](_0x4135bb['shift']());}catch(_0x54a374){_0x4135bb['push'](_0x4135bb['shift']());}}}(a0_0x45be,0xcd8e1));function toCamelCase(_0x57cb89){const _0xe9f7cd=a0_0x2280,_0x5c20fc={'dLqFF':function(_0x4f98ed,_0x12b40c){return _0x4f98ed===_0x12b40c;},'LUlLD':_0xe9f7cd(0x27b)};if(!_0x57cb89||typeof _0x57cb89!==_0x5c20fc['LUlLD'])return'';return _0x57cb89['replace'](/(?:^\w|[A-Z]|\b\w)/g,(_0x52d597,_0x23826e)=>{const _0x40133e=_0xe9f7cd;return _0x5c20fc[_0x40133e(0x1ec)](_0x23826e,0x0)?_0x52d597['toLowerCase']():_0x52d597[_0x40133e(0x248)]();})[_0xe9f7cd(0x2a1)](/\s+/g,'')['replace'](/[-_]/g,'');}function toPascalCase(_0x188891){const _0x3790fb=a0_0x2280,_0x10f90a={'HfDJd':function(_0x3bd89c,_0x33f3cb){return _0x3bd89c!==_0x33f3cb;},'ypDVZ':function(_0x10a53a,_0x3138f7){return _0x10a53a+_0x3138f7;}};if(!_0x188891||_0x10f90a[_0x3790fb(0x190)](typeof _0x188891,'string'))return'';const _0x3734fe=toCamelCase(_0x188891);return _0x10f90a['ypDVZ'](_0x3734fe['charAt'](0x0)['toUpperCase'](),_0x3734fe[_0x3790fb(0x1bd)](0x1));}function buildAuditColumnsSection(_0x2ba219,_0x534d9d){const _0x650c31=a0_0x2280,_0x181d24={'OgGTr':function(_0x5ec9e9,_0x1949ae){return _0x5ec9e9!==_0x1949ae;},'CWHnS':'auditColumns','mtLOC':function(_0x391107,_0x2b42b6){return _0x391107===_0x2b42b6;},'SokOg':'object','AZHXQ':'createdAt','fuZCt':_0x650c31(0x263)};if(!(_0x181d24[_0x650c31(0x1d8)]in _0x2ba219))return'';const _0x4fb1a7=_0x2ba219[_0x650c31(0x287)];if(_0x4fb1a7===![]||_0x4fb1a7===null)return'\x0a'+_0x534d9d+_0x650c31(0x247)+_0x534d9d+_0x650c31(0x213);if(_0x181d24[_0x650c31(0x2af)](typeof _0x4fb1a7,_0x181d24[_0x650c31(0x185)])&&!Array['isArray'](_0x4fb1a7)){const _0x50bf50=[_0x181d24['AZHXQ'],_0x650c31(0x276),_0x181d24['fuZCt'],_0x650c31(0x19e)],_0x2c3acd={};_0x50bf50['forEach'](_0x1bbcb8=>{if(_0x181d24['OgGTr'](_0x4fb1a7[_0x1bbcb8],undefined))_0x2c3acd[_0x1bbcb8]=_0x4fb1a7[_0x1bbcb8];});const _0x1e853b=JSON[_0x650c31(0x2a6)](_0x2c3acd,null,0x2)[_0x650c31(0x18e)]('\x0a')[_0x650c31(0x2aa)]((_0x4928b9,_0x24e47e)=>_0x24e47e===0x0?_0x4928b9:_0x534d9d+_0x4928b9)['join']('\x0a');return'\x0a'+_0x534d9d+_0x650c31(0x186)+_0x534d9d+_0x650c31(0x22a)+_0x1e853b+';\x0a';}throw new Error(_0x650c31(0x199)+_0x2ba219[_0x650c31(0x223)]+':\x20must\x20be\x20false,\x20null,\x20or\x20object');}function detectTextColumn(_0x12528b){const _0x10f620=a0_0x2280,_0x296d59={'iiTQe':_0x10f620(0x201),'WNzEU':_0x10f620(0x1ba),'aqZTs':'description','uQwjD':_0x10f620(0x23a),'bIwbO':_0x10f620(0x1f3),'UZdRr':_0x10f620(0x20f),'hSfBP':'nama'},_0x24299d=[_0x296d59['iiTQe'],_0x10f620(0x1c7),_0x296d59[_0x10f620(0x19b)],_0x10f620(0x1a8),_0x296d59['aqZTs'],_0x296d59[_0x10f620(0x1ca)],_0x296d59[_0x10f620(0x1b4)],_0x296d59['UZdRr']];for(const _0x495897 of _0x24299d){const _0x55b618=_0x12528b[_0x10f620(0x229)](_0xd0d0b7=>_0xd0d0b7['toLowerCase']()[_0x10f620(0x24e)](_0x495897));if(_0x55b618)return _0x55b618;}return _0x12528b[_0x10f620(0x229)](_0x65616a=>_0x65616a!=='id')||_0x12528b[0x0]||_0x296d59['hSfBP'];}function createMysqlMainModuleTemplate(_0x3e3207){const _0x2d40fd=a0_0x2280,_0x1e273f={'gufor':function(_0x4d4126,_0x3a9459){return _0x4d4126(_0x3a9459);}},_0x3cd749=_0x1e273f['gufor'](toPascalCase,_0x3e3207);return'const\x20express\x20=\x20require(\x27express\x27);\x0aconst\x20bodyParser\x20=\x20require(\x27body-parser\x27);\x0aconst\x20path\x20=\x20require(\x27path\x27);\x0aconst\x20fs\x20=\x20require(\x27fs\x27);\x0aconst\x20{\x20v4:\x20uuidv4\x20}\x20=\x20require(\x27uuid\x27);\x0aconst\x20{\x20logger,\x20logServerReady,\x20logEndpointRegistered,\x20createRequestLogger,\x20logRequest\x20}\x20=\x20require(\x27@restforgejs/platform/src/utils/logger\x27);\x0aconst\x20ExportHandler\x20=\x20require(\x27@restforgejs/platform/src/components/handlers/export_handler\x27);\x0aconst\x20ImportHandler\x20=\x20require(\x27@restforgejs/platform/src/components/handlers/import_handler\x27);\x0aconst\x20UploadHandler\x20=\x20require(\x27@restforgejs/platform/src/components/handlers/upload_handler\x27);\x0aconst\x20{\x20extractExportConfigFromEndpoint,\x20extractImportConfigFromEndpoint,\x20extractUploadConfigFromEndpoint\x20}\x20=\x20require(\x27@restforgejs/platform/src/utils/config-extractor\x27);\x0aconst\x20rateLimiter\x20=\x20require(\x27@restforgejs/platform/src/middleware/rate-limiter\x27);\x0aconst\x20idempotencyMiddleware\x20=\x20require(\x27@restforgejs/platform/src/middleware/idempotency\x27);\x0aconst\x20bodyOptionsMiddleware\x20=\x20require(\x27@restforgejs/platform/src/middleware/body-options\x27);\x0aconst\x20corsMiddleware\x20=\x20require(\x27@restforgejs/platform/src/middleware/cors\x27);\x0aconst\x20securityHeaders\x20=\x20require(\x27@restforgejs/platform/src/middleware/security-headers\x27);\x0a\x0a/**\x0a\x20*\x20Fungsi\x20untuk\x20mengeksekusi\x20modul\x20'+_0x3e3207+'\x20(MySQL\x20Database)\x0a\x20*\x20@param\x20{Object}\x20config\x20-\x20Konfigurasi\x20untuk\x20menjalankan\x20modul\x0a\x20*\x20@param\x20{number}\x20config.port\x20-\x20Port\x20untuk\x20server\x0a\x20*\x20@param\x20{string}\x20config.key\x20-\x20API\x20Key\x20(opsional)\x0a\x20*\x20@returns\x20{Promise<void>}\x20Promise\x20yang\x20tidak\x20pernah\x20resolve\x20agar\x20server\x20tetap\x20berjalan\x0a\x20*/\x0aasync\x20function\x20execute(config)\x20{\x0a\x20\x20return\x20new\x20Promise((resolve)\x20=>\x20{\x0a\x20\x20\x20\x20const\x20app\x20=\x20express();\x0a\x20\x20\x20\x20const\x20port\x20=\x20config.port\x20||\x203000;\x0a\x20\x20\x20\x20const\x20serverAddress\x20=\x20config.serverAddress\x20||\x20\x270.0.0.0\x27;\x0a\x20\x20\x20\x20const\x20moduleNameCapitalized\x20=\x20\x27'+_0x3cd749+_0x2d40fd(0x2b5)+_0x3e3207+'\x27;\x0a\x20\x20\x20\x20const\x20pluginPath\x20=\x20path.join(__dirname,\x20\x27..\x27,\x20\x27plugins\x27,\x20`${moduleName}-plugin.js`);\x0a\x20\x20\x20\x20let\x20plugin\x20=\x20null;\x0a\x20\x20\x20\x20if\x20(fs.existsSync(pluginPath))\x20{\x0a\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20plugin\x20=\x20require(pluginPath);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(plugin.onBeforeEndpointsLoad)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20plugin.onBeforeEndpointsLoad(app,\x20config);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20logger.info({\x20event:\x20\x27plugin_loaded\x27,\x20plugin:\x20`${moduleName}-plugin`\x20},\x20`Plugin\x20loaded:\x20${moduleName}-plugin.js`);\x0a\x20\x20\x20\x20\x20\x20}\x20catch\x20(pluginError)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20logger.error({\x20event:\x20\x27plugin_load_error\x27,\x20error:\x20pluginError.message\x20},\x20`Failed\x20to\x20load\x20plugin:\x20${moduleName}-plugin.js`);\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Health\x20check\x20endpoint\x0a\x20\x20\x20\x20app.get(\x27/api/'+_0x3e3207+'/health\x27,\x20(req,\x20res)\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20healthInfo\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27ok\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString().replace(\x27T\x27,\x20\x27\x20\x27).replace(/\x5c.\x5cd{3}Z$/,\x20\x27\x27),\x0a\x20\x20\x20\x20\x20\x20\x20\x20service:\x20\x27'+_0x3e3207+_0x2d40fd(0x2ae)+_0x3e3207+_0x2d40fd(0x235)+_0x3e3207+_0x2d40fd(0x182)+_0x3e3207+'/${endpointName}`;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20app.use(endpointPrefix,\x20moduleRoutes);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20logEndpointRegistered(endpointName,\x20endpointPrefix);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20Register\x20export\x20routes\x20via\x20centralized\x20handler\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20exportConfig\x20=\x20extractExportConfigFromEndpoint(endpointPath);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(exportConfig)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ExportHandler.registerRoutes(app,\x20\x27'+_0x3e3207+_0x2d40fd(0x1cf)+_0x3e3207+_0x2d40fd(0x266)+_0x3e3207+_0x2d40fd(0x274)+_0x3e3207+_0x2d40fd(0x212)+_0x3e3207+'\x20API\x20(MySQL\x20Database)\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status:\x20\x27running\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20database:\x20\x27MySQL\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20});\x0a\x0a\x20\x20\x20\x20\x20\x20//\x20Error\x20handling\x20middleware\x0a\x20\x20\x20\x20\x20\x20app.use((err,\x20req,\x20res,\x20next)\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20console.error(\x27Error:\x27,\x20err);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(err\x20instanceof\x20SyntaxError\x20&&\x20err.status\x20===\x20400\x20&&\x20\x27body\x27\x20in\x20err\x20&&\x20!res.headersSent)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Invalid\x20JSON\x20payload\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27The\x20payload\x20sent\x20is\x20not\x20a\x20valid\x20JSON\x20format\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20details:\x20err.message\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!res.headersSent)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20res.status(500).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Internal\x20Server\x20Error\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27An\x20error\x20occurred\x20on\x20the\x20server\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20details:\x20err.message\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20next(err);\x0a\x20\x20\x20\x20\x20\x20});\x0a\x0a\x20\x20\x20\x20\x20\x20//\x20Hook\x20untuk\x20mount\x20middleware\x20tambahan\x20sebelum\x20catch-all\x20403\x0a\x20\x20\x20\x20\x20\x20//\x20Digunakan\x20oleh\x20runtime\x20untuk\x20register\x20admin\x20endpoint\x20dan\x20middleware\x20eksternal\x20lainnya\x0a\x20\x20\x20\x20\x20\x20if\x20(config.onAppReady\x20&&\x20typeof\x20config.onAppReady\x20===\x20\x27function\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20config.onAppReady(app);\x0a\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20app.use((req,\x20res)\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20res.status(403).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Forbidden\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Access\x20to\x20the\x20requested\x20resource\x20is\x20forbidden\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20});\x0a\x0a\x20\x20\x20\x20\x20\x20const\x20server\x20=\x20app.listen(port,\x20serverAddress,\x20(err)\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(err)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20console.error(`Failed\x20to\x20start\x20${moduleNameCapitalized}\x20server:`,\x20err);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20Determine\x20display\x20URL\x20based\x20on\x20serverAddress\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20displayHost\x20=\x20(serverAddress\x20===\x20\x270.0.0.0\x27\x20||\x20!serverAddress)\x20?\x20\x27localhost\x27\x20:\x20serverAddress;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20logServerReady({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20port,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20module:\x20\x27'+_0x3e3207+_0x2d40fd(0x25b)+_0x3e3207+'/health`,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20serviceInfo:\x20`http://${displayHost}:${port}/api/'+_0x3e3207+_0x2d40fd(0x20d)+_0x3e3207+_0x2d40fd(0x22d);}function buildDefaultScopeSQL(_0x5bb1bd,_0x1264ff=''){const _0x1b3fa1=a0_0x2280,_0x5ea66e={'Oscxr':function(_0x3d8f3c,_0x26adc0){return _0x3d8f3c===_0x26adc0;},'OKNZV':_0x1b3fa1(0x293)};if(!_0x5bb1bd||typeof _0x5bb1bd!==_0x1b3fa1(0x1c5))return'';const _0x26de87=[];for(const [_0x1b5dbe,_0x2d8d2c]of Object['entries'](_0x5bb1bd)){if(_0x5ea66e['Oscxr'](typeof _0x2d8d2c,_0x1b3fa1(0x1b5)))_0x26de87[_0x1b3fa1(0x281)](''+_0x1264ff+_0x1b5dbe+_0x1b3fa1(0x2a2)+_0x2d8d2c+'\x27');else{if(typeof _0x2d8d2c==='string')_0x26de87[_0x1b3fa1(0x281)](''+_0x1264ff+_0x1b5dbe+_0x1b3fa1(0x2a2)+_0x2d8d2c['replace'](/'/g,'\x27\x27')+'\x27');else _0x5ea66e['Oscxr'](typeof _0x2d8d2c,_0x1b3fa1(0x1bf))&&_0x26de87['push'](''+_0x1264ff+_0x1b5dbe+_0x1b3fa1(0x1db)+_0x2d8d2c);}}return _0x26de87[_0x1b3fa1(0x2b7)](_0x5ea66e[_0x1b3fa1(0x21b)]);}function buildRequestScopeMiddleware(_0x1c3b29,_0x3c825a){const _0x6cbfc4=a0_0x2280,_0x364206={'FAwdT':function(_0x5616bc,_0x5a7063){return _0x5616bc||_0x5a7063;}};if(!_0x1c3b29[_0x6cbfc4(0x172)])return'';const {column:_0x2f4607,source:_0x33792e,bypassRoles:_0x37981b}=_0x1c3b29['requestScope'],_0x3686ae=JSON[_0x6cbfc4(0x2a6)](_0x37981b||[]),_0x90192a=_0x364206['FAwdT'](_0x3c825a,'')['replace'](/-/g,'_');return'\x0a//\x20───\x20Request\x20Scope\x20Middleware\x20(Layer\x201\x20RLS)\x20──────────────────────────\x0a//\x20Dynamic\x20per-request\x20filtering\x20by\x20\x27'+_0x2f4607+_0x6cbfc4(0x169)+_0x33792e+_0x6cbfc4(0x179)+_0x3686ae+_0x6cbfc4(0x26d)+_0x33792e+_0x6cbfc4(0x2ab)+_0x2f4607+_0x6cbfc4(0x1fb)+_0x2f4607+_0x6cbfc4(0x1d3)+_0x2f4607+'\x27]\x20=\x20scopeValue;\x0a\x20\x20}\x0a\x0a\x20\x20//\x20UPDATE:\x20force\x20scope\x20column\x20value\x20(ownership\x20verified\x20in\x20/update\x20handler)\x0a\x20\x20if\x20(endpoint\x20===\x20\x27update\x27)\x20{\x0a\x20\x20\x20\x20req.body[\x27'+_0x2f4607+_0x6cbfc4(0x26a)+_0x90192a+'\x27]\x20||\x20req.body;\x0a\x20\x20\x20\x20masterBody[\x27'+_0x2f4607+'\x27]\x20=\x20scopeValue;\x0a\x20\x20}\x0a\x0a\x20\x20next();\x0a});\x0a';}function a0_0x2280(_0x4d9779,_0x58880c){_0x4d9779=_0x4d9779-0x166;const _0x45bedf=a0_0x45be();let _0x2280a9=_0x45bedf[_0x4d9779];if(a0_0x2280['UeUzyM']===undefined){var _0x4594bb=function(_0x117837){const _0x18c7b0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x297a9a='',_0x1e0831='';for(let _0x2a6fdf=0x0,_0x1c287a,_0x45c3a3,_0x14447d=0x0;_0x45c3a3=_0x117837['charAt'](_0x14447d++);~_0x45c3a3&&(_0x1c287a=_0x2a6fdf%0x4?_0x1c287a*0x40+_0x45c3a3:_0x45c3a3,_0x2a6fdf++%0x4)?_0x297a9a+=String['fromCharCode'](0xff&_0x1c287a>>(-0x2*_0x2a6fdf&0x6)):0x0){_0x45c3a3=_0x18c7b0['indexOf'](_0x45c3a3);}for(let _0x49f02f=0x0,_0x403f70=_0x297a9a['length'];_0x49f02f<_0x403f70;_0x49f02f++){_0x1e0831+='%'+('00'+_0x297a9a['charCodeAt'](_0x49f02f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1e0831);};a0_0x2280['PjJKXL']=_0x4594bb,a0_0x2280['SpcjFl']={},a0_0x2280['UeUzyM']=!![];}const _0x220720=_0x45bedf[0x0],_0x290043=_0x4d9779+_0x220720,_0x4a2126=a0_0x2280['SpcjFl'][_0x290043];return!_0x4a2126?(_0x2280a9=a0_0x2280['PjJKXL'](_0x2280a9),a0_0x2280['SpcjFl'][_0x290043]=_0x2280a9):_0x2280a9=_0x4a2126,_0x2280a9;}function createMysqlModelTemplate(_0x28dfaf,_0x442426,_0x23c0e2){const _0x4ab7e3=a0_0x2280,_0x1a0c02={'zvlcN':_0x4ab7e3(0x21c),'vhNwH':_0x4ab7e3(0x1d0),'pEBpV':'time','ZXisG':_0x4ab7e3(0x28b),'zjLbW':function(_0x40fbbe,_0x406482){return _0x40fbbe===_0x406482;},'qmQqs':'generated','VQkvh':_0x4ab7e3(0x204),'rXgcn':_0x4ab7e3(0x1e3),'bcHXc':function(_0x597a20,_0xb13fad){return _0x597a20+_0xb13fad;},'SKPli':function(_0x20b866,_0x13da51){return _0x20b866>_0x13da51;},'yBMqh':function(_0x4a6da2,_0x4c49b){return _0x4a6da2>_0x4c49b;},'urRyS':function(_0x309d1e,_0x559d00){return _0x309d1e===_0x559d00;},'xaxAA':'file:','cmleU':function(_0xd9d36a,_0x461c60,_0x5734fc){return _0xd9d36a(_0x461c60,_0x5734fc);},'TdqVK':function(_0x2d095a,_0x39175a){return _0x2d095a(_0x39175a);},'Swlae':_0x4ab7e3(0x20e),'QvLYy':function(_0x48cac2,_0x31baf3){return _0x48cac2>_0x31baf3;},'fjzTc':_0x4ab7e3(0x284),'HlHkG':'WHERE\x20'},_0x2b9fd7=_0x23c0e2[_0x4ab7e3(0x245)][_0x4ab7e3(0x2aa)](_0x20a2bc=>'\x27'+_0x20a2bc+'\x27')[_0x4ab7e3(0x2b7)](',\x20'),_0x4a474d=toPascalCase(_0x442426),_0x1c0059=_0x23c0e2[_0x4ab7e3(0x1fe)]||'id',_0x41524b=detectTextColumn(_0x23c0e2['fieldName']),_0x49feb1=new Date()[_0x4ab7e3(0x272)](),_0x52e707=_0x1a0c02[_0x4ab7e3(0x1e0)](buildAuditColumnsSection,_0x23c0e2,'\x20\x20'),_0x1e573f=_0x23c0e2['defaultScope']&&_0x23c0e2[_0x4ab7e3(0x194)]['lookup']?buildDefaultScopeSQL(_0x23c0e2[_0x4ab7e3(0x194)][_0x4ab7e3(0x2a4)]):'',_0x12c32e=_0x23c0e2['defaultScope']&&_0x23c0e2[_0x4ab7e3(0x194)][_0x4ab7e3(0x29a)]?_0x1a0c02[_0x4ab7e3(0x244)](buildDefaultScopeSQL,_0x23c0e2[_0x4ab7e3(0x194)][_0x4ab7e3(0x29a)]):'',_0x50972f={};return _0x23c0e2['fieldValidation']&&Array[_0x4ab7e3(0x1b7)](_0x23c0e2[_0x4ab7e3(0x22f)])&&_0x23c0e2[_0x4ab7e3(0x22f)][_0x4ab7e3(0x27c)](_0x6667e7=>{const _0x494d35=_0x4ab7e3;[_0x1a0c02['zvlcN'],'datetime',_0x1a0c02['vhNwH'],_0x1a0c02['pEBpV']]['includes'](_0x6667e7[_0x494d35(0x224)])&&(_0x50972f[_0x6667e7[_0x494d35(0x201)]]={'type':_0x6667e7['type'],'format':_0x6667e7['constraints']&&_0x6667e7[_0x494d35(0x232)]['format']||_0x1a0c02['ZXisG']});}),_0x4ab7e3(0x17e)+_0x4a474d+_0x4ab7e3(0x2a8)+_0x49feb1+'\x0a*\x0a*\x20Table:\x20'+_0x23c0e2[_0x4ab7e3(0x223)]+'\x0a*\x20Primary\x20Key:\x20'+_0x1c0059+'\x0a*\x20Fields:\x20'+_0x23c0e2[_0x4ab7e3(0x245)][_0x4ab7e3(0x256)]+_0x4ab7e3(0x278)+_0x4a474d+'Model\x20extends\x20BaseModel\x20{\x0a/**\x0a\x20*\x20Constructor\x0a\x20*/\x0aconstructor()\x20{\x0a\x20\x20const\x20validFields\x20=\x20[\x0a\x20\x20\x20\x20'+_0x2b9fd7+'\x0a\x20\x20];\x0a\x0a\x20\x20const\x20datatablesWhere\x20=\x20'+(_0x23c0e2['datatablesWhere']?JSON['stringify'](_0x23c0e2[_0x4ab7e3(0x16a)]):_0x1a0c02['Swlae'])+';\x0a\x0a\x20\x20super(\x27'+_0x23c0e2['tableName']+_0x4ab7e3(0x1e4)+_0x1c0059+_0x4ab7e3(0x286)+(_0x23c0e2['viewName']||_0x23c0e2[_0x4ab7e3(0x223)])+_0x4ab7e3(0x18a)+(_0x23c0e2['viewName']||_0x23c0e2['tableName'])+_0x4ab7e3(0x261)+_0x23c0e2[_0x4ab7e3(0x223)]+'\x27;\x0a'+_0x52e707+_0x4ab7e3(0x174)+!!_0x23c0e2['viewQuery']+_0x4ab7e3(0x29e)+!!_0x23c0e2['exportQuery']+';\x0a'+(_0x1a0c02['QvLYy'](Object[_0x4ab7e3(0x197)](_0x50972f)['length'],0x0)?'\x0a\x20\x20//\x20DateTime\x20fields\x20configuration\x20dari\x20fieldValidation\x0a\x20\x20this.dateTimeFields\x20=\x20'+JSON[_0x4ab7e3(0x2a6)](_0x50972f,null,0x4)[_0x4ab7e3(0x18e)]('\x0a')['join'](_0x4ab7e3(0x17b))+';\x0a':'')+(_0x23c0e2[_0x4ab7e3(0x16b)]&&_0x23c0e2['uploadConfig'][_0x4ab7e3(0x238)]?_0x4ab7e3(0x192)+JSON[_0x4ab7e3(0x2a6)](Object[_0x4ab7e3(0x197)](_0x23c0e2['uploadConfig'][_0x4ab7e3(0x238)]))+';\x0a':'')+_0x4ab7e3(0x2b4)+((()=>{const _0x5e99b9=_0x4ab7e3,_0x2522ad={'SAjao':'\x0a\x20\x20\x20\x20\x20\x20'};if(!_0x23c0e2[_0x5e99b9(0x22f)]||!Array['isArray'](_0x23c0e2['fieldValidation'])||_0x1a0c02[_0x5e99b9(0x23b)](_0x23c0e2[_0x5e99b9(0x22f)][_0x5e99b9(0x256)],0x0))return'\x20\x20this.validationConfig\x20=\x20{};\x20//\x20No\x20field\x20validation\x20config';const _0x2c31db=_0x23c0e2[_0x5e99b9(0x22f)]['map'](_0x21187e=>{const _0x5c5b24=_0x5e99b9,_0xb5bb49=JSON['stringify'](_0x21187e[_0x5c5b24(0x232)]||{},null,0x6)['replace'](/\n/g,_0x2522ad[_0x5c5b24(0x1a2)]);return'\x20\x20\x20\x20\x20\x20\x27'+_0x21187e[_0x5c5b24(0x201)]+'\x27:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20type:\x20\x27'+_0x21187e[_0x5c5b24(0x224)]+'\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20constraints:\x20'+_0xb5bb49+_0x5c5b24(0x170);})[_0x5e99b9(0x2b7)](',\x0a');return'\x20\x20this.validationConfig\x20=\x20{\x0a'+_0x2c31db+'\x0a\x20\x20\x20\x20}';})())+'\x0a\x0a\x20\x20//\x20Model\x20metadata\x0a\x20\x20this.modelMetadata\x20=\x20{\x0a\x20\x20\x20\x20endpointName:\x20\x27'+_0x442426+_0x4ab7e3(0x1e2)+_0x28dfaf+'\x27,\x0a\x20\x20\x20\x20tableName:\x20\x27'+_0x23c0e2['tableName']+_0x4ab7e3(0x240)+_0x1c0059+_0x4ab7e3(0x225)+_0x23c0e2[_0x4ab7e3(0x245)]['length']+_0x4ab7e3(0x1fc)+_0x49feb1+_0x4ab7e3(0x221)+(_0x23c0e2['advancedQueries']?Object['entries'](_0x23c0e2['advancedQueries'])[_0x4ab7e3(0x2aa)](([_0x3e22a2,_0x3042d9])=>_0x4ab7e3(0x277)+_0x3042d9+'\x22\x20===\x20\x27string\x27\x20&&\x20\x22'+_0x3042d9+'\x22.startsWith(\x27file:\x27))\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20relativePath\x20=\x20\x22'+_0x3042d9+_0x4ab7e3(0x18c)+_0x3e22a2+'\x22]\x20=\x20fs.readFileSync(filePath,\x20\x27utf8\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20console.log(`SQL\x20Template\x20'+_0x3e22a2+_0x4ab7e3(0x187)+_0x3e22a2+'\x20not\x20found:\x20${filePath}`);\x0a\x20\x20\x20\x20\x20\x20\x20\x20templates[\x22'+_0x3e22a2+'\x22]\x20=\x20null;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20templates[\x22'+_0x3e22a2+_0x4ab7e3(0x294)+_0x3042d9+_0x4ab7e3(0x1b2)+_0x3e22a2+_0x4ab7e3(0x1cb)+_0x3e22a2+_0x4ab7e3(0x1ef))['join'](''):_0x4ab7e3(0x1dd))+_0x4ab7e3(0x2b2)+_0x23c0e2['datatablesQuery']['replace'](/\$\{tableName\}/g,'${this.getTableSource(\x27read\x27)}')+_0x4ab7e3(0x253)+(_0x23c0e2['viewQuery']?'\x20\x20let\x20baseQuery\x20=\x20`\x0a\x20\x20\x20\x20'+_0x23c0e2[_0x4ab7e3(0x22b)][_0x4ab7e3(0x2a1)](/\$\{tableName\}/g,_0x1a0c02[_0x4ab7e3(0x1c4)])+'\x0a\x20\x20`.trim();\x0a\x20\x20baseQuery\x20=\x20this.convertToMysqlSQL(baseQuery);\x0a\x20\x20return\x20baseQuery;':'\x20\x20return\x20\x27SELECT\x20*\x20FROM\x20\x27\x20+\x20this.readSource;')+_0x4ab7e3(0x23d)+(_0x12c32e?'\x0a\x20\x20\x20\x20//\x20Default\x20scope\x20filter\x20untuk\x20read\x0a\x20\x20\x20\x20if\x20(whereClauseSql)\x20{\x0a\x20\x20\x20\x20\x20\x20whereClauseSql\x20=\x20`WHERE\x20'+_0x12c32e+_0x4ab7e3(0x231)+_0x12c32e+'\x27;\x0a\x20\x20\x20\x20}\x0a':'')+_0x4ab7e3(0x23f)+_0x1c0059+',\x20'+_0x41524b+'\x20FROM\x20${this.getTableSource(\x27read\x27)}\x20WHERE\x20'+_0x41524b+'\x20LIKE\x20?'+(_0x1e573f?_0x4ab7e3(0x293)+_0x1e573f:'')+_0x4ab7e3(0x246)+_0x41524b+_0x4ab7e3(0x1e9)+_0x1c0059+_0x4ab7e3(0x1a4)+_0x41524b+_0x4ab7e3(0x193)+(_0x1e573f?_0x4ab7e3(0x203)+_0x1e573f+'\x27);\x0a':'')+_0x4ab7e3(0x1be)+_0x41524b+_0x4ab7e3(0x242)+_0x1c0059+',\x20'+_0x41524b+'\x20FROM\x20${this.getTableSource(\x27read\x27)}\x20${whereClause}\x20ORDER\x20BY\x20'+_0x41524b+_0x4ab7e3(0x27f)+_0x1c0059+_0x4ab7e3(0x1a4)+_0x41524b+_0x4ab7e3(0x230)+_0x1c0059+',\x20'+_0x41524b+_0x4ab7e3(0x220)+(_0x1e573f?_0x4ab7e3(0x198)+_0x1e573f:'')+_0x4ab7e3(0x246)+_0x41524b+_0x4ab7e3(0x167)+_0x1c0059+',\x0a\x20\x20\x20\x20\x20\x20text:\x20item.'+_0x41524b+'\x0a\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20await\x20this.setCachedLookup(cacheOptions,\x20cacheData,\x20\x27static\x27);\x0a\x0a\x20\x20\x20\x20//\x20Return\x20dengan\x20selected\x20flag\x0a\x20\x20\x20\x20return\x20data.map(item\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20row\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20id:\x20item.'+_0x1c0059+_0x4ab7e3(0x1a3)+_0x41524b+_0x4ab7e3(0x2bb)+_0x1c0059+_0x4ab7e3(0x2ad)+_0x1c0059+'\x27,\x20\x27'+_0x41524b+_0x4ab7e3(0x21d)+_0x1c0059+'\x27;\x0a\x20\x20\x20\x20let\x20textField\x20=\x20\x27'+_0x41524b+'\x27;\x0a\x20\x20\x20\x20let\x20aliasField\x20=\x20null;\x0a\x0a\x20\x20\x20\x20//\x20Proses\x20setiap\x20column\x20dalam\x20select\x0a\x20\x20\x20\x20for\x20(const\x20column\x20of\x20selectColumns)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(column.toLowerCase()\x20===\x20\x27'+_0x1c0059+'\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20continue;\x20//\x20primary\x20key\x20sudah\x20ada\x0a\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20//\x20Check\x20jika\x20ada\x20SQL\x20expression\x20dengan\x20alias\x20(menggunakan\x20AS)\x0a\x20\x20\x20\x20\x20\x20const\x20aliasRegex\x20=\x20new\x20RegExp(\x27(.+)\x5c\x5cs+as\x5c\x5cs+(\x5c\x5cw+)$\x27,\x20\x27i\x27);\x0a\x20\x20\x20\x20\x20\x20const\x20aliasMatch\x20=\x20column.match(aliasRegex);\x0a\x20\x20\x20\x20\x20\x20if\x20(aliasMatch)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20expression\x20=\x20aliasMatch[1].trim();\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20alias\x20=\x20aliasMatch[2].trim();\x0a\x20\x20\x20\x20\x20\x20\x20\x20selectClause\x20+=\x20`,\x20${expression}\x20AS\x20${alias}`;\x0a\x20\x20\x20\x20\x20\x20\x20\x20textField\x20=\x20alias;\x0a\x20\x20\x20\x20\x20\x20\x20\x20aliasField\x20=\x20alias;\x0a\x20\x20\x20\x20\x20\x20\x20\x20break;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20//\x20Check\x20jika\x20simple\x20field\x20name\x0a\x20\x20\x20\x20\x20\x20if\x20(this.validFields.includes(column)\x20||\x20validTextFields.includes(column))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20selectClause\x20+=\x20`,\x20${column}`;\x0a\x20\x20\x20\x20\x20\x20\x20\x20textField\x20=\x20column;\x0a\x20\x20\x20\x20\x20\x20\x20\x20break;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20//\x20Computed\x20column\x0a\x20\x20\x20\x20\x20\x20selectClause\x20+=\x20`,\x20${column}`;\x0a\x20\x20\x20\x20\x20\x20textField\x20=\x20column;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20let\x20query\x20=\x20`SELECT\x20${selectClause}\x20FROM\x20${this.getTableSource(\x27read\x27)}\x20'+(_0x1e573f?_0x4ab7e3(0x25f)+_0x1e573f+'\x20':'')+_0x4ab7e3(0x255)+(_0x1e573f?'AND\x20(':_0x1a0c02[_0x4ab7e3(0x1b9)])+'${whereResult.sql}'+(_0x1e573f?')':'')+'\x20`;\x0a\x20\x20\x20\x20\x20\x20\x20\x20params\x20=\x20whereResult.params;\x0a\x20\x20\x20\x20\x20\x20}\x20catch\x20(e)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20error\x20=\x20new\x20Error(\x27Invalid\x20where\x20conditions:\x20\x27\x20+\x20e.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20error.statusCode\x20=\x20400;\x0a\x20\x20\x20\x20\x20\x20\x20\x20throw\x20error;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Handle\x20sort_columns\x0a\x20\x20\x20\x20if\x20(options.sort_columns\x20&&\x20Array.isArray(options.sort_columns)\x20&&\x20options.sort_columns.length\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20orderParts\x20=\x20options.sort_columns.map(item\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20column\x20=\x20item.column;\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20direction\x20=\x20(item.direction\x20||\x20\x27ASC\x27).toUpperCase();\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!column)\x20return\x20null;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!this.validFields.includes(column))\x20return\x20null;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(direction\x20!==\x20\x27ASC\x27\x20&&\x20direction\x20!==\x20\x27DESC\x27)\x20return\x20null;\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20`${column}\x20${direction}`;\x0a\x20\x20\x20\x20\x20\x20}).filter(Boolean);\x0a\x0a\x20\x20\x20\x20\x20\x20if\x20(orderParts.length\x20===\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20error\x20=\x20new\x20Error(\x27No\x20valid\x20sort\x20columns\x20provided\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20error.statusCode\x20=\x20400;\x0a\x20\x20\x20\x20\x20\x20\x20\x20throw\x20error;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20query\x20+=\x20`ORDER\x20BY\x20${orderParts.join(\x27,\x20\x27)}`;\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20query\x20+=\x20`ORDER\x20BY\x20${aliasField\x20||\x20textField}`;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20console.log(\x27MySQL\x20Lookup\x20Filter\x20Query:\x27,\x20query);\x0a\x20\x20\x20\x20console.log(\x27Parameters:\x27,\x20params);\x0a\x0a\x20\x20\x20\x20const\x20data\x20=\x20await\x20db.executeQuery(query,\x20params.length\x20>\x200\x20?\x20params\x20:\x20undefined);\x0a\x0a\x20\x20\x20\x20const\x20result\x20=\x20data.map(item\x20=>\x20({\x0a\x20\x20\x20\x20\x20\x20id:\x20item.'+_0x1c0059+',\x0a\x20\x20\x20\x20\x20\x20text:\x20item[aliasField\x20||\x20textField]\x20||\x20item.'+_0x41524b+_0x4ab7e3(0x2a9)+((()=>{const _0x2efa3f=_0x4ab7e3,_0x1e410f=_0x23c0e2[_0x2efa3f(0x1f4)]&&_0x23c0e2['masterDetail']['enabled'],_0x1f6c11=_0x23c0e2[_0x2efa3f(0x1c8)]||{};if(!_0x1e410f||!_0x1f6c11['createComposite']&&!_0x1f6c11[_0x2efa3f(0x1a9)]&&!_0x1f6c11[_0x2efa3f(0x23e)])return'';const _0x1808b8=_0x23c0e2['masterDetail'][_0x2efa3f(0x298)],_0x1ac5a5=_0x1808b8['split']('.')['pop'](),_0x4b1993=_0x23c0e2['masterDetail']['foreignKey'],_0x4f3ed6=_0x23c0e2[_0x2efa3f(0x1f4)]['detailConfig']?.['primaryKey']||_0x1ac5a5+_0x2efa3f(0x226),_0x418328=_0x23c0e2['masterDetail']['headerCalculations']||null,_0x154c45=_0x23c0e2['masterDetail'][_0x2efa3f(0x20a)]?.['autoCalculateFields']||{},_0x21e198=_0x23c0e2[_0x2efa3f(0x1f4)]['detailConfig']?.['detailQuery']||null,_0xac2a6a=[],_0x3bfcd2=[];for(const [_0x258317,_0x19d85c]of Object['entries'](_0x154c45)){if(_0x19d85c['type']===_0x1a0c02[_0x2efa3f(0x18d)])_0xac2a6a[_0x2efa3f(0x281)](_0x258317);else{const _0x49c54f=(_0x19d85c['formula']||'')[_0x2efa3f(0x18e)]('*')[_0x2efa3f(0x2aa)](_0x231425=>_0x231425[_0x2efa3f(0x1f5)]());_0x3bfcd2['push']({'fieldName':_0x258317,'qtyField':_0x49c54f[0x0],'priceField':_0x49c54f[0x1]});}}const _0x258d97=_0x154c45['total_amount']?.[_0x2efa3f(0x18f)]||'',_0x2d27f3=_0x258d97['split']('*')[_0x2efa3f(0x2aa)](_0x156a87=>_0x156a87[_0x2efa3f(0x1f5)]()),_0x588384=_0x418328?.[_0x2efa3f(0x1a1)]?.[_0x2efa3f(0x1c2)]?.['replace'](_0x1a0c02[_0x2efa3f(0x28d)],'')||'',_0x556075=_0x2d27f3[0x0]||_0x588384,_0x3b3754=_0x2d27f3[0x1]||_0x1a0c02[_0x2efa3f(0x1b8)],_0x5aaac3=_0x3bfcd2['map'](_0x4d20fb=>{const _0x569efd=_0x2efa3f;return _0x569efd(0x168)+_0x4d20fb['fieldName']+'\x20=\x20'+_0x4d20fb['qtyField']+'\x20*\x20'+_0x4d20fb[_0x569efd(0x22c)]+'\x0a\x20\x20\x20\x20\x20\x20item.'+_0x4d20fb['fieldName']+_0x569efd(0x236)+_0x4d20fb['qtyField']+')\x20||\x200)\x20*\x20(Number(item.'+_0x4d20fb[_0x569efd(0x22c)]+')\x20||\x200);';})['join']('\x0a');let _0x54874a='';_0x1f6c11[_0x2efa3f(0x1da)]&&(_0x54874a+=_0x2efa3f(0x27d)+_0x1ac5a5+'\x27;\x0a\x20\x20\x20\x20const\x20headerData\x20=\x20{\x20...data\x20};\x0a\x20\x20\x20\x20delete\x20headerData[detailKey];\x0a\x0a\x20\x20\x20\x20//\x20---\x20Hook:\x20onBeforeCompositeInsert\x20---\x0a\x20\x20\x20\x20if\x20(eventContext\x20&&\x20eventContext.componentEngine)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20_ce\x20=\x20eventContext.componentEngine;\x0a\x20\x20\x20\x20\x20\x20var\x20_CB\x20=\x20eventContext.ContextBuilder;\x0a\x20\x20\x20\x20\x20\x20var\x20_detailItems\x20=\x20data[detailKey]\x20||\x20[];\x0a\x20\x20\x20\x20\x20\x20var\x20_beforeCtx\x20=\x20_CB.buildCompositeInsertBeforeContext(headerData,\x20_detailItems,\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20tableName:\x20\x27'+_0x23c0e2[_0x2efa3f(0x223)]+'\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20detailTable:\x20\x27'+_0x1808b8+_0x2efa3f(0x1eb)+_0x4b1993+'\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20...(eventContext.additionalContext\x20||\x20{})\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20var\x20_beforeResult\x20=\x20await\x20_ce.executeOnBeforeComposite(\x27insert\x27,\x20_beforeCtx);\x0a\x20\x20\x20\x20\x20\x20if\x20(!_beforeResult.success)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20await\x20connection.rollback();\x0a\x20\x20\x20\x20\x20\x20\x20\x20throw\x20new\x20Error(\x27onBeforeCompositeInsert\x20failed:\x20\x27\x20+\x20_beforeResult.error);\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Build\x20header\x20INSERT\x0a\x20\x20\x20\x20const\x20headerFields\x20=\x20[];\x0a\x20\x20\x20\x20const\x20headerValues\x20=\x20[];\x0a\x20\x20\x20\x20const\x20headerPlaceholders\x20=\x20[];\x0a\x20\x20\x20\x20for\x20(const\x20[key,\x20value]\x20of\x20Object.entries(headerData))\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(value\x20!==\x20undefined\x20&&\x20value\x20!==\x20null)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20headerFields.push(key);\x0a\x20\x20\x20\x20\x20\x20\x20\x20headerValues.push(value);\x0a\x20\x20\x20\x20\x20\x20\x20\x20headerPlaceholders.push(\x27?\x27);\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Inject\x20audit\x20columns\x20(created_at,\x20created_by,\x20updated_at,\x20updated_by)\x20via\x20helper\x0a\x20\x20\x20\x20this._appendCreateAuditColumns(headerFields,\x20headerValues,\x20headerPlaceholders,\x20headerData,\x20eventContext);\x0a\x0a\x20\x20\x20\x20const\x20insertSql\x20=\x20\x27INSERT\x20INTO\x20\x27\x20+\x20this.writeSource\x20+\x20\x27\x20(\x27\x20+\x20headerFields.join(\x27,\x20\x27)\x20+\x20\x27)\x20VALUES\x20(\x27\x20+\x20headerPlaceholders.join(\x27,\x20\x27)\x20+\x20\x27)\x27;\x0a\x20\x20\x20\x20console.log(\x27Executing\x20header\x20INSERT:\x27,\x20{\x20query:\x20insertSql,\x20values:\x20headerValues\x20});\x0a\x20\x20\x20\x20await\x20connection.execute(insertSql,\x20headerValues);\x0a\x0a\x20\x20\x20\x20//\x20SELECT\x20back\x20inserted\x20header\x0a\x20\x20\x20\x20const\x20selectSql\x20=\x20\x27SELECT\x20*\x20FROM\x20\x27\x20+\x20this.getTableSource(\x27read\x27)\x20+\x20\x27\x20WHERE\x20\x27\x20+\x20this.primaryKey\x20+\x20\x27\x20=\x20?\x27;\x0a\x20\x20\x20\x20const\x20[headerRows]\x20=\x20await\x20connection.execute(selectSql,\x20[headerData[this.primaryKey]]);\x0a\x20\x20\x20\x20const\x20insertedHeader\x20=\x20headerRows[0];\x0a\x20\x20\x20\x20const\x20masterPkValue\x20=\x20headerData[this.primaryKey];\x0a\x0a\x20\x20\x20\x20console.log(\x27Header\x20inserted\x20successfully:\x20\x27\x20+\x20this.primaryKey\x20+\x20\x27=\x27\x20+\x20masterPkValue);\x0a\x0a\x20\x20\x20\x20//\x20Insert\x20detail\x20items\x0a\x20\x20\x20\x20const\x20insertedItems\x20=\x20[];\x0a\x20\x20\x20\x20const\x20detailTableFull\x20=\x20\x27'+_0x1808b8+'\x27;\x0a\x20\x20\x20\x20const\x20fk\x20=\x20\x27'+_0x4b1993+'\x27;\x0a\x20\x20\x20\x20const\x20detailPk\x20=\x20\x27'+_0x4f3ed6+_0x2efa3f(0x1b0)+(_0xac2a6a[_0x2efa3f(0x256)]>0x0?'const\x20generatedFields\x20=\x20'+JSON['stringify'](_0xac2a6a)+';':'')+'\x0a\x0a\x20\x20\x20\x20for\x20(const\x20item\x20of\x20data[detailKey]\x20||\x20[])\x20{\x0a\x20\x20\x20\x20\x20\x20item[fk]\x20=\x20masterPkValue;\x0a\x0a\x20\x20\x20\x20\x20\x20//\x20Auto-generate\x20UUID\x20untuk\x20detail\x20PK\x20bila\x20client\x20tidak\x20menyupply.\x0a\x20\x20\x20\x20\x20\x20//\x20MySQL\x20tidak\x20mendukung\x20RETURNING,\x20sehingga\x20generator\x20perlu\x20mengetahui\x0a\x20\x20\x20\x20\x20\x20//\x20nilai\x20PK\x20di\x20muka\x20agar\x20SELECT-back\x20dapat\x20me-retrieve\x20row.\x20Cocok\x20untuk\x0a\x20\x20\x20\x20\x20\x20//\x20kolom\x20VARCHAR\x20DEFAULT\x20(UUID());\x20untuk\x20AUTO_INCREMENT\x20integer,\x20client\x0a\x20\x20\x20\x20\x20\x20//\x20harus\x20mengirim\x20PK\x20atau\x20tidak\x20menggunakan\x20endpoint\x20composite.\x0a\x20\x20\x20\x20\x20\x20if\x20(item[detailPk]\x20===\x20undefined\x20||\x20item[detailPk]\x20===\x20null)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20item[detailPk]\x20=\x20require(\x27uuid\x27).v7();\x0a\x20\x20\x20\x20\x20\x20}\x0a'+(_0x5aaac3?_0x1a0c02[_0x2efa3f(0x2a3)]('\x0a',_0x5aaac3)+'\x0a':'')+'\x0a\x20\x20\x20\x20\x20\x20const\x20detailFields\x20=\x20[];\x0a\x20\x20\x20\x20\x20\x20const\x20detailValues\x20=\x20[];\x0a\x20\x20\x20\x20\x20\x20const\x20detailPlaceholders\x20=\x20[];\x0a\x0a\x20\x20\x20\x20\x20\x20for\x20(const\x20[key,\x20value]\x20of\x20Object.entries(item))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+(_0xac2a6a[_0x2efa3f(0x256)]>0x0?'if\x20(generatedFields.includes(key))\x20continue;':'')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(value\x20!==\x20undefined\x20&&\x20value\x20!==\x20null)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20detailFields.push(key);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20detailValues.push(value);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20detailPlaceholders.push(\x27?\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20//\x20Inject\x20audit\x20columns\x20ke\x20detail\x20INSERT\x20via\x20helper\x0a\x20\x20\x20\x20\x20\x20this._appendCreateAuditColumns(detailFields,\x20detailValues,\x20detailPlaceholders,\x20item,\x20eventContext);\x0a\x0a\x20\x20\x20\x20\x20\x20const\x20detailInsertSql\x20=\x20\x27INSERT\x20INTO\x20\x27\x20+\x20detailTableFull\x20+\x20\x27\x20(\x27\x20+\x20detailFields.join(\x27,\x20\x27)\x20+\x20\x27)\x20VALUES\x20(\x27\x20+\x20detailPlaceholders.join(\x27,\x20\x27)\x20+\x20\x27)\x27;\x0a\x20\x20\x20\x20\x20\x20console.log(\x27Executing\x20detail\x20INSERT:\x27,\x20{\x20query:\x20detailInsertSql,\x20values:\x20detailValues\x20});\x0a\x20\x20\x20\x20\x20\x20await\x20connection.execute(detailInsertSql,\x20detailValues);\x0a\x0a\x20\x20\x20\x20\x20\x20//\x20SELECT\x20back\x20inserted\x20detail\x0a\x20\x20\x20\x20\x20\x20const\x20detailSelectSql\x20=\x20\x27SELECT\x20*\x20FROM\x20\x27\x20+\x20detailTableFull\x20+\x20\x27\x20WHERE\x20\x27\x20+\x20detailPk\x20+\x20\x27\x20=\x20?\x27;\x0a\x20\x20\x20\x20\x20\x20const\x20[detailRows]\x20=\x20await\x20connection.execute(detailSelectSql,\x20[item[detailPk]]);\x0a\x20\x20\x20\x20\x20\x20if\x20(detailRows[0])\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20insertedItems.push(detailRows[0]);\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20console.log(\x27Inserted\x20\x27\x20+\x20insertedItems.length\x20+\x20\x27\x20detail\x20item(s)\x27);\x0a\x0a\x20\x20\x20\x20//\x20---\x20Hook:\x20onAfterCompositeInsert\x20---\x0a\x20\x20\x20\x20if\x20(eventContext\x20&&\x20eventContext.componentEngine)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20_ce2\x20=\x20eventContext.componentEngine;\x0a\x20\x20\x20\x20\x20\x20var\x20_CB2\x20=\x20eventContext.ContextBuilder;\x0a\x20\x20\x20\x20\x20\x20var\x20_afterCtx\x20=\x20_CB2.buildCompositeInsertAfterContext(headerData,\x20insertedHeader,\x20insertedItems,\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20tableName:\x20\x27'+_0x23c0e2['tableName']+'\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20detailTable:\x20\x27'+_0x1808b8+'\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20foreignKey:\x20\x27'+_0x4b1993+'\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20primaryKey:\x20this.primaryKey,\x0a\x20\x20\x20\x20\x20\x20\x20\x20...(eventContext.additionalContext\x20||\x20{})\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20var\x20_afterResult\x20=\x20await\x20_ce2.executeOnAfterComposite(\x27insert\x27,\x20_afterCtx);\x0a\x20\x20\x20\x20\x20\x20if\x20(!_afterResult.success)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20await\x20connection.rollback();\x0a\x20\x20\x20\x20\x20\x20\x20\x20throw\x20new\x20Error(\x27onAfterCompositeInsert\x20failed:\x20\x27\x20+\x20_afterResult.error);\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20await\x20connection.commit();\x0a\x20\x20\x20\x20console.log(\x27Transaction\x20committed\x20successfully\x27);\x0a\x0a\x20\x20\x20\x20//\x20Invalidate\x20cache\x20setelah\x20write\x20operation\x20berhasil\x0a\x20\x20\x20\x20await\x20this.invalidateCache();\x0a\x0a\x20\x20\x20\x20return\x20{\x0a\x20\x20\x20\x20\x20\x20...insertedHeader,\x0a\x20\x20\x20\x20\x20\x20[detailKey]:\x20insertedItems\x0a\x20\x20\x20\x20};\x0a\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20try\x20{\x20await\x20connection.rollback();\x20}\x20catch\x20(rbErr)\x20{\x20console.error(\x27Rollback\x20failed:\x27,\x20rbErr.message);\x20}\x0a\x20\x20\x20\x20console.error(\x27Error\x20in\x20createComposite:\x27,\x20error);\x0a\x20\x20\x20\x20throw\x20error;\x0a\x20\x20}\x20finally\x20{\x0a\x20\x20\x20\x20try\x20{\x20connection.release();\x20}\x20catch\x20(relErr)\x20{\x20console.error(\x27Connection\x20release\x20failed:\x27,\x20relErr.message);\x20}\x0a\x20\x20}\x0a}\x0a');_0x1f6c11[_0x2efa3f(0x1a9)]&&(_0x54874a+='\x0a/**\x0a\x20*\x20Composite\x20update\x20-\x20Update\x20header\x20with\x20granular\x20detail\x20operations\x20(MySQL)\x0a\x20*/\x0aasync\x20updateComposite(data,\x20eventContext\x20=\x20null)\x20{\x0a\x20\x20const\x20connection\x20=\x20await\x20db.getConnection();\x0a\x20\x20try\x20{\x0a\x20\x20\x20\x20await\x20connection.beginTransaction();\x0a\x0a\x20\x20\x20\x20const\x20primaryKeyValue\x20=\x20data[this.primaryKey];\x0a\x20\x20\x20\x20if\x20(!primaryKeyValue)\x20{\x0a\x20\x20\x20\x20\x20\x20throw\x20new\x20Error(\x27Primary\x20key\x20\x27\x20+\x20this.primaryKey\x20+\x20\x27\x20is\x20required\x20for\x20update\x27);\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Check\x20if\x20record\x20exists\x20(also\x20serves\x20as\x20prefetch\x20oldData\x20for\x20hooks)\x0a\x20\x20\x20\x20const\x20checkSql\x20=\x20\x27SELECT\x20*\x20FROM\x20\x27\x20+\x20this.writeSource\x20+\x20\x27\x20WHERE\x20\x27\x20+\x20this.primaryKey\x20+\x20\x27\x20=\x20?\x27;\x0a\x20\x20\x20\x20const\x20[checkRows]\x20=\x20await\x20connection.execute(checkSql,\x20[primaryKeyValue]);\x0a\x20\x20\x20\x20if\x20(!checkRows\x20||\x20checkRows.length\x20===\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20throw\x20new\x20Error(\x27Record\x20not\x20found\x27);\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20const\x20oldData\x20=\x20checkRows[0];\x0a\x0a\x20\x20\x20\x20//\x20Extract\x20header\x20data\x0a\x20\x20\x20\x20const\x20headerData\x20=\x20{\x20...data\x20};\x0a\x20\x20\x20\x20const\x20detailKey\x20=\x20\x27'+_0x1ac5a5+'\x27;\x0a\x20\x20\x20\x20delete\x20headerData[detailKey];\x0a\x20\x20\x20\x20delete\x20headerData[this.primaryKey];\x0a\x0a\x20\x20\x20\x20//\x20---\x20Hook:\x20onBeforeCompositeUpdate\x20---\x0a\x20\x20\x20\x20if\x20(eventContext\x20&&\x20eventContext.componentEngine)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20_ce\x20=\x20eventContext.componentEngine;\x0a\x20\x20\x20\x20\x20\x20var\x20_CB\x20=\x20eventContext.ContextBuilder;\x0a\x20\x20\x20\x20\x20\x20var\x20_detailOps\x20=\x20data[detailKey]\x20||\x20{};\x0a\x20\x20\x20\x20\x20\x20var\x20_beforeCtx\x20=\x20_CB.buildCompositeUpdateBeforeContext(headerData,\x20oldData,\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20insert:\x20_detailOps.insert\x20||\x20[],\x0a\x20\x20\x20\x20\x20\x20\x20\x20update:\x20_detailOps.update\x20||\x20[],\x0a\x20\x20\x20\x20\x20\x20\x20\x20delete:\x20_detailOps.delete\x20||\x20[]\x0a\x20\x20\x20\x20\x20\x20},\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20tableName:\x20\x27'+_0x23c0e2['tableName']+'\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20detailTable:\x20\x27'+_0x1808b8+_0x2efa3f(0x1eb)+_0x4b1993+'\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20primaryKey:\x20this.primaryKey,\x0a\x20\x20\x20\x20\x20\x20\x20\x20...(eventContext.additionalContext\x20||\x20{})\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20var\x20_beforeResult\x20=\x20await\x20_ce.executeOnBeforeComposite(\x27update\x27,\x20_beforeCtx);\x0a\x20\x20\x20\x20\x20\x20if\x20(!_beforeResult.success)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20await\x20connection.rollback();\x0a\x20\x20\x20\x20\x20\x20\x20\x20throw\x20new\x20Error(\x27onBeforeCompositeUpdate\x20failed:\x20\x27\x20+\x20_beforeResult.error);\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Build\x20header\x20UPDATE\x0a\x20\x20\x20\x20const\x20headerFields\x20=\x20[];\x0a\x20\x20\x20\x20const\x20headerValues\x20=\x20[];\x0a\x20\x20\x20\x20for\x20(const\x20[key,\x20value]\x20of\x20Object.entries(headerData))\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(value\x20!==\x20undefined\x20&&\x20value\x20!==\x20null)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20headerFields.push(key\x20+\x20\x27\x20=\x20?\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20headerValues.push(value);\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Inject\x20audit\x20columns\x20(updated_at,\x20updated_by)\x20via\x20base-model\x20helper.\x0a\x20\x20\x20\x20//\x20Helper\x20menangani\x20kolom\x20yang\x20benar-benar\x20ada\x20(this.auditColumns);\x20bila\x20tabel\x0a\x20\x20\x20\x20//\x20tidak\x20punya\x20audit\x20columns,\x20helper\x20no-op.\x0a\x20\x20\x20\x20this._appendUpdateAuditColumns(headerFields,\x20headerValues,\x20headerData,\x20eventContext);\x0a\x0a\x20\x20\x20\x20headerValues.push(primaryKeyValue);\x0a\x20\x20\x20\x20const\x20updateSql\x20=\x20\x27UPDATE\x20\x27\x20+\x20this.writeSource\x20+\x20\x27\x20SET\x20\x27\x20+\x20headerFields.join(\x27,\x20\x27)\x20+\x20\x27\x20WHERE\x20\x27\x20+\x20this.primaryKey\x20+\x20\x27\x20=\x20?\x27;\x0a\x20\x20\x20\x20console.log(\x27Executing\x20header\x20UPDATE:\x27,\x20{\x20query:\x20updateSql,\x20values:\x20headerValues\x20});\x0a\x20\x20\x20\x20await\x20connection.execute(updateSql,\x20headerValues);\x0a\x0a\x20\x20\x20\x20//\x20SELECT\x20back\x20updated\x20header\x0a\x20\x20\x20\x20const\x20selectSql\x20=\x20\x27SELECT\x20*\x20FROM\x20\x27\x20+\x20this.getTableSource(\x27read\x27)\x20+\x20\x27\x20WHERE\x20\x27\x20+\x20this.primaryKey\x20+\x20\x27\x20=\x20?\x27;\x0a\x20\x20\x20\x20const\x20[headerRows]\x20=\x20await\x20connection.execute(selectSql,\x20[primaryKeyValue]);\x0a\x20\x20\x20\x20let\x20updatedHeader\x20=\x20headerRows[0];\x0a\x0a\x20\x20\x20\x20//\x20Process\x20detail\x20items\x0a\x20\x20\x20\x20const\x20detailTableFull\x20=\x20\x27'+_0x1808b8+'\x27;\x0a\x20\x20\x20\x20const\x20fk\x20=\x20\x27'+_0x4b1993+'\x27;\x0a\x20\x20\x20\x20const\x20detailPk\x20=\x20\x27'+_0x4f3ed6+_0x2efa3f(0x1b0)+(_0x1a0c02[_0x2efa3f(0x1d7)](_0xac2a6a[_0x2efa3f(0x256)],0x0)?'const\x20generatedFields\x20=\x20'+JSON['stringify'](_0xac2a6a)+';':'')+'\x0a\x0a\x20\x20\x20\x20const\x20detailOperations\x20=\x20data[detailKey]\x20||\x20{};\x0a\x20\x20\x20\x20const\x20{\x20insert:\x20insertItems\x20=\x20[],\x20update:\x20updateItems\x20=\x20[],\x20delete:\x20deleteItems\x20=\x20[]\x20}\x20=\x20detailOperations;\x0a\x0a\x20\x20\x20\x20const\x20deletedItems\x20=\x20[];\x0a\x20\x20\x20\x20const\x20updatedItems\x20=\x20[];\x0a\x20\x20\x20\x20const\x20insertedItems\x20=\x20[];\x0a\x0a\x20\x20\x20\x20//\x201.\x20DELETE\x20operations\x0a\x20\x20\x20\x20for\x20(const\x20item\x20of\x20deleteItems)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(!item[detailPk])\x20throw\x20new\x20Error(\x27Missing\x20\x27\x20+\x20detailPk\x20+\x20\x27\x20in\x20delete\x20operation\x27);\x0a\x20\x20\x20\x20\x20\x20const\x20delSql\x20=\x20\x27DELETE\x20FROM\x20\x27\x20+\x20detailTableFull\x20+\x20\x27\x20WHERE\x20\x27\x20+\x20detailPk\x20+\x20\x27\x20=\x20?\x27;\x0a\x20\x20\x20\x20\x20\x20await\x20connection.execute(delSql,\x20[item[detailPk]]);\x0a\x20\x20\x20\x20\x20\x20deletedItems.push(item);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20console.log(\x27Deleted\x20\x27\x20+\x20deletedItems.length\x20+\x20\x27\x20detail\x20item(s)\x27);\x0a\x0a\x20\x20\x20\x20//\x202.\x20UPDATE\x20operations\x0a\x20\x20\x20\x20for\x20(const\x20item\x20of\x20updateItems)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(!item[detailPk])\x20throw\x20new\x20Error(\x27Missing\x20\x27\x20+\x20detailPk\x20+\x20\x27\x20in\x20update\x20operation\x27);\x0a'+(_0x5aaac3?'\x0a'+_0x5aaac3+'\x0a':'')+_0x2efa3f(0x16c)+(_0xac2a6a[_0x2efa3f(0x256)]>0x0?'if\x20(generatedFields.includes(key))\x20continue;':'')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(value\x20!==\x20undefined\x20&&\x20value\x20!==\x20null)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20dFields.push(key\x20+\x20\x27\x20=\x20?\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20dValues.push(value);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20//\x20Inject\x20audit\x20columns\x20(updated_at,\x20updated_by)\x20untuk\x20detail\x20UPDATE\x20via\x20helper\x0a\x20\x20\x20\x20\x20\x20this._appendUpdateAuditColumns(dFields,\x20dValues,\x20item,\x20eventContext);\x0a\x0a\x20\x20\x20\x20\x20\x20dValues.push(item[detailPk]);\x0a\x20\x20\x20\x20\x20\x20const\x20dUpdateSql\x20=\x20\x27UPDATE\x20\x27\x20+\x20detailTableFull\x20+\x20\x27\x20SET\x20\x27\x20+\x20dFields.join(\x27,\x20\x27)\x20+\x20\x27\x20WHERE\x20\x27\x20+\x20detailPk\x20+\x20\x27\x20=\x20?\x27;\x0a\x20\x20\x20\x20\x20\x20await\x20connection.execute(dUpdateSql,\x20dValues);\x0a\x20\x20\x20\x20\x20\x20updatedItems.push(item);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20console.log(\x27Updated\x20\x27\x20+\x20updatedItems.length\x20+\x20\x27\x20detail\x20item(s)\x27);\x0a\x0a\x20\x20\x20\x20//\x203.\x20INSERT\x20operations\x0a\x20\x20\x20\x20for\x20(const\x20item\x20of\x20insertItems)\x20{\x0a\x20\x20\x20\x20\x20\x20item[fk]\x20=\x20primaryKeyValue;\x0a\x0a\x20\x20\x20\x20\x20\x20//\x20Auto-generate\x20UUID\x20untuk\x20detail\x20PK\x20bila\x20client\x20tidak\x20menyupply\x0a\x20\x20\x20\x20\x20\x20//\x20(sama\x20seperti\x20di\x20createComposite;\x20konsisten\x20dengan\x20kolom\x20VARCHAR\x0a\x20\x20\x20\x20\x20\x20//\x20DEFAULT\x20(UUID()))\x0a\x20\x20\x20\x20\x20\x20if\x20(item[detailPk]\x20===\x20undefined\x20||\x20item[detailPk]\x20===\x20null)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20item[detailPk]\x20=\x20require(\x27uuid\x27).v7();\x0a\x20\x20\x20\x20\x20\x20}\x0a'+(_0x5aaac3?'\x0a'+_0x5aaac3+'\x0a':'')+_0x2efa3f(0x20c)+(_0x1a0c02['yBMqh'](_0xac2a6a[_0x2efa3f(0x256)],0x0)?_0x2efa3f(0x1a0):'')+_0x2efa3f(0x218)+(_0x418328?'\x0a\x20\x20\x20\x20//\x20Recalculate\x20header\x20totals\x0a\x20\x20\x20\x20const\x20calculations\x20=\x20'+JSON[_0x2efa3f(0x2a6)](_0x418328)+_0x2efa3f(0x2ba)+(_0x556075?_0x2efa3f(0x189)+_0x556075+')\x20||\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20price\x20=\x20Number(item.'+_0x3b3754+_0x2efa3f(0x288):'//\x20WARNING:\x20headerCalculations.total_amount\x20skipped\x20—\x20no\x20qty\x20field\x20configured')+_0x2efa3f(0x1b6):'')+_0x2efa3f(0x1e5)+_0x23c0e2[_0x2efa3f(0x223)]+'\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20detailTable:\x20\x27'+_0x1808b8+'\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20foreignKey:\x20\x27'+_0x4b1993+_0x2efa3f(0x2b1));if(_0x1f6c11['readComposite']){let _0x34e7b2;if(_0x21e198&&_0x1a0c02['urRyS'](typeof _0x21e198,'string')&&_0x21e198['startsWith'](_0x1a0c02['xaxAA'])){const _0x503edd=_0x21e198['replace']('file:',''),_0x4d2a2c=_0x503edd['split']('/')['pop']();_0x34e7b2=_0x2efa3f(0x26b)+_0x4d2a2c+_0x2efa3f(0x25c);}else _0x21e198?_0x34e7b2='const\x20detailSql\x20=\x20`'+_0x21e198[_0x2efa3f(0x2a1)](/\$1/g,'?')+'`;':_0x34e7b2=_0x2efa3f(0x1ff)+_0x1808b8+_0x2efa3f(0x198)+_0x4b1993+_0x2efa3f(0x259);_0x54874a+='\x0a/**\x0a\x20*\x20Composite\x20read\x20-\x20Read\x20header\x20with\x20detail\x20items\x20(MySQL)\x0a\x20*/\x0aasync\x20readComposite(options)\x20{\x0a\x20\x20try\x20{\x0a\x20\x20\x20\x20if\x20(!options.where)\x20{\x0a\x20\x20\x20\x20\x20\x20throw\x20new\x20Error(\x27Invalid\x20request\x20format:\x20where\x20parameter\x20is\x20required\x27);\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20let\x20whereClauseResult;\x0a\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20whereClauseResult\x20=\x20this.buildComplexWhereClause(options.where);\x0a\x20\x20\x20\x20}\x20catch\x20(e)\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20error\x20=\x20new\x20Error(\x27Invalid\x20where\x20conditions:\x20\x27\x20+\x20e.message);\x0a\x20\x20\x20\x20\x20\x20error.statusCode\x20=\x20400;\x0a\x20\x20\x20\x20\x20\x20throw\x20error;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20const\x20{\x20sql:\x20whereClause,\x20params\x20}\x20=\x20whereClauseResult;\x0a\x20\x20\x20\x20const\x20headerSql\x20=\x20\x27SELECT\x20*\x20FROM\x20\x27\x20+\x20this.getTableSource(\x27read\x27)\x20+\x20\x27\x20WHERE\x20\x27\x20+\x20whereClause;\x0a\x20\x20\x20\x20const\x20headerResults\x20=\x20await\x20db.executeQuery(headerSql,\x20params);\x0a\x0a\x20\x20\x20\x20if\x20(!headerResults\x20||\x20headerResults.length\x20===\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20{\x20success:\x20true,\x20count:\x200,\x20data:\x20[]\x20};\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20const\x20compositeResults\x20=\x20[];\x0a\x20\x20\x20\x20const\x20detailKey\x20=\x20\x27'+_0x1ac5a5+_0x2efa3f(0x1b0)+_0x34e7b2+_0x2efa3f(0x291);}return _0x54874a;})())+'\x0a}\x0a\x0amodule.exports\x20=\x20new\x20'+_0x4a474d+_0x4ab7e3(0x268);}function createMysqlSubmoduleTemplate(_0x176c0a,_0x3f2e01,_0x124b86){const _0x30b0ff=a0_0x2280,_0x13259c={'DdZiE':function(_0x90c0fb,_0x5f10e9){return _0x90c0fb+_0x5f10e9;},'VmjXu':function(_0x29e3ef,_0x1e5704){return _0x29e3ef(_0x1e5704);},'SkDwJ':'Model','wDsrV':'null','HLzJG':'let\x20componentEngine\x20=\x20null;\x0alet\x20ContextBuilder\x20=\x20null;\x0a','afdyI':function(_0x381848,_0x42d294){return _0x381848(_0x42d294);},'euMFA':_0x30b0ff(0x26c)},_0x46a517=_0x13259c[_0x30b0ff(0x1ac)](_0x13259c['VmjXu'](toCamelCase,_0x3f2e01),_0x13259c[_0x30b0ff(0x19f)]),_0xdc9a0e=_0x124b86[_0x30b0ff(0x1fe)]||'id',_0x4a8129=new Date()[_0x30b0ff(0x272)](),_0x12059b=Object[_0x30b0ff(0x1b3)](_0x124b86['action']||{})[_0x30b0ff(0x265)](([,_0x6d2bec])=>_0x6d2bec)[_0x30b0ff(0x2aa)](([_0x15925f])=>_0x15925f),_0x42931d=_0x124b86['components']&&Array[_0x30b0ff(0x1b7)](_0x124b86['components'])&&_0x124b86[_0x30b0ff(0x200)][_0x30b0ff(0x256)]>0x0,_0x39900b=_0x124b86['exportQuery']||'SELECT\x20'+_0x124b86[_0x30b0ff(0x245)][_0x30b0ff(0x2b7)](',\x20')+'\x20FROM\x20'+_0x124b86['tableName'],_0x3e97dd=_0x39900b['replace'](/\\/g,'\x5c\x5c')['replace'](/'/g,'\x5c\x27'),_0x48e6ca=JSON['stringify'](_0x124b86[_0x30b0ff(0x245)]),_0x49fca3=_0x124b86[_0x30b0ff(0x233)]?JSON['stringify'](_0x124b86[_0x30b0ff(0x233)]):_0x13259c[_0x30b0ff(0x184)],_0x2dcd5a=_0x124b86[_0x30b0ff(0x29f)]?JSON['stringify'](_0x124b86['fieldLabels']):_0x13259c[_0x30b0ff(0x184)],_0x5e65b3=_0x124b86[_0x30b0ff(0x1c8)]&&_0x124b86['action']['import']?{'enabled':!![],'upsertKeys':(_0x124b86[_0x30b0ff(0x19a)]||{})['upsertKeys']||[_0xdc9a0e],'upsertStrategy':(_0x124b86[_0x30b0ff(0x19a)]||{})['upsertStrategy']||_0x30b0ff(0x1ae),'requiredFields':(_0x124b86['importConfig']||{})['requiredFields']||[],'validations':(_0x124b86[_0x30b0ff(0x19a)]||{})[_0x30b0ff(0x1d4)]||{},'lookupFields':(_0x124b86['importConfig']||{})[_0x30b0ff(0x1d1)]||{},'excludeFromImport':(_0x124b86['importConfig']||{})['excludeFromImport']||[],'chunkSize':(_0x124b86['importConfig']||{})[_0x30b0ff(0x1f8)]||0x64}:null,_0x3b389c=_0x5e65b3?JSON['stringify'](_0x5e65b3):'null',_0x2ab034=_0x124b86['action']&&_0x124b86[_0x30b0ff(0x1c8)][_0x30b0ff(0x16f)]?'\x27'+_0x3e97dd+'\x27':_0x30b0ff(0x173),_0x3cf294=_0x124b86[_0x30b0ff(0x1c8)]&&_0x124b86[_0x30b0ff(0x1c8)][_0x30b0ff(0x195)]?_0x124b86['adjustConfig']||{}:null,_0x20a497=_0x3cf294?JSON['stringify'](_0x3cf294):_0x13259c['wDsrV'],_0x2a1093=_0x124b86[_0x30b0ff(0x2b6)]?',\x20'+JSON[_0x30b0ff(0x2a6)](_0x124b86[_0x30b0ff(0x2b6)]):'';let _0x2aefe4=_0x13259c[_0x30b0ff(0x196)];_0x42931d&&(_0x2aefe4+=_0x30b0ff(0x217),_0x2aefe4+=_0x30b0ff(0x296));const _0x4c3272=_0x124b86['requestScope']?_0x30b0ff(0x1df)+_0x46a517+_0x30b0ff(0x1f0)+_0x3f2e01+_0x30b0ff(0x178):'',_0x53e52a=_0x124b86['requestScope']?'\x0a\x20\x20\x20\x20//\x20Request\x20scope\x20ownership\x20verification\x20(Layer\x201\x20RLS)\x0a\x20\x20\x20\x20if\x20(req._requestScope\x20&&\x20result.data\x20&&\x20result.data.length\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20record\x20=\x20result.data[0];\x0a\x20\x20\x20\x20\x20\x20if\x20(record[req._requestScope.column]\x20!==\x20undefined\x20&&\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20String(record[req._requestScope.column])\x20!==\x20String(req._requestScope.value))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20res.status(404).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Data\x20not\x20found\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27'+_0x3f2e01+_0x30b0ff(0x211):'',_0x2ef97b=_0x124b86['requestScope']?'\x0a\x20\x20\x20\x20//\x20Request\x20scope\x20ownership\x20verification\x20(Layer\x201\x20RLS)\x20—\x20master\x20record\x0a\x20\x20\x20\x20if\x20(req._requestScope)\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20scopeCheck\x20=\x20await\x20'+_0x46a517+'.getData({\x0a\x20\x20\x20\x20\x20\x20\x20\x20where:\x20[\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{\x20key:\x20\x27'+_0xdc9a0e+'\x27,\x20value:\x20data.'+_0xdc9a0e+_0x30b0ff(0x1c0):'';let _0x1e3437='const\x20express\x20=\x20require(\x27express\x27);\x0aconst\x20router\x20=\x20express.Router();\x0aconst\x20'+_0x46a517+_0x30b0ff(0x166)+_0x176c0a+'/'+_0x3f2e01+_0x30b0ff(0x17f)+_0x2aefe4+_0x30b0ff(0x1f2)+_0x13259c[_0x30b0ff(0x1ab)](toPascalCase,_0x3f2e01)+_0x30b0ff(0x1fa)+_0x4a8129+_0x30b0ff(0x273)+_0x3f2e01+'\x0a*\x20Actions:\x20'+_0x12059b[_0x30b0ff(0x2b7)](',\x20')+'\x0a*\x20Table:\x20'+_0x124b86['tableName']+'\x0a*\x20Database:\x20MySQL\x0a*/\x0a\x0a//\x20Primary\x20key\x20untuk\x20endpoint\x20ini\x0aconst\x20primaryKey\x20=\x20\x27'+_0xdc9a0e+_0x30b0ff(0x24f)+_0x124b86['tableName']+_0x30b0ff(0x28c)+_0x48e6ca+',\x0a\x20\x20exportQuery:\x20'+_0x2ab034+_0x30b0ff(0x28f)+_0x49fca3+',\x0a\x20\x20fieldLabels:\x20'+_0x2dcd5a+_0x30b0ff(0x1ee)+_0x3b389c+_0x30b0ff(0x295)+_0x20a497+_0x30b0ff(0x24d)+(_0x124b86['uploadConfig']?JSON['stringify'](_0x124b86['uploadConfig']):_0x13259c[_0x30b0ff(0x184)])+_0x30b0ff(0x191)+(_0x124b86[_0x30b0ff(0x172)]?JSON[_0x30b0ff(0x2a6)](_0x124b86['requestScope']):'null')+'\x0a};\x0a'+(_0x42931d?_0x30b0ff(0x1e7)+JSON['stringify'](_0x124b86[_0x30b0ff(0x200)])+_0x30b0ff(0x188)+_0x176c0a+'/'+_0x3f2e01+_0x30b0ff(0x214)+_0x176c0a+'/'+_0x3f2e01+':`,\x20err.message);\x0a});\x0a':'')+'\x0a//\x20CORS\x20ditangani\x20di\x20level\x20app\x20oleh\x20cors\x20middleware\x20(lihat\x20konfigurasi\x20CORS_ENABLED\x20dan\x20CORS_ORIGINS\x20di\x20.env)\x0a\x0a//\x20Request\x20ID\x20untuk\x20tracing\x20—\x20support\x20correlation\x20ID\x20dari\x20upstream\x0arouter.use((req,\x20res,\x20next)\x20=>\x20{\x0a\x20\x20req.mysqlRequestId\x20=\x20req.headers[\x27x-correlation-id\x27]\x20||\x20`mysql_${Date.now()}_${Math.random().toString(36).substr(2,\x209)}`;\x0a\x20\x20res.setHeader(\x27X-Correlation-ID\x27,\x20req.mysqlRequestId);\x0a\x20\x20res.setHeader(\x27X-MySQL-Request-ID\x27,\x20req.mysqlRequestId);\x0a\x20\x20next();\x0a});\x0a\x0a\x0a\x0a//\x20Middleware\x20untuk\x20validasi\x20payload\x20MySQL\x0arouter.use((req,\x20res,\x20next)\x20=>\x20{\x0a\x20\x20if\x20(req.method\x20===\x20\x27POST\x27)\x20{\x0a\x20\x20\x20\x20//\x20Skip\x20validation\x20untuk\x20endpoint\x20export/import\x20(ditangani\x20oleh\x20centralized\x20handler)\x0a\x20\x20\x20\x20if\x20(req.path.startsWith(\x27/import\x27)\x20||\x20req.path.startsWith(\x27/export\x27))\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20next();\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(!req.body\x20||\x20Object.keys(req.body).length\x20===\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Missing\x20payload\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Payload\x20cannot\x20be\x20empty\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20const\x20endpoint\x20=\x20req.path.substring(1);\x0a\x0a\x20\x20\x20\x20\x20\x20if\x20(endpoint\x20===\x20\x27first\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(Array.isArray(req.body.where)\x20&&\x20req.body.where.length\x20===\x201)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20req.body.where\x20=\x20req.body.where[0];\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!req.body.where\x20||\x20typeof\x20req.body.where\x20!==\x20\x27object\x27\x20||\x20Array.isArray(req.body.where))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Invalid\x20payload\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Where\x20must\x20be\x20a\x20single\x20condition\x20{key,\x20value}\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20example:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22where\x22:\x20{\x20\x22key\x22:\x20\x22field_name\x22,\x20\x22value\x22:\x20\x22field_value\x22\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22select\x22:\x20[\x22field1\x22,\x20\x22field2\x22]\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(req.body.where.conditions\x20||\x20req.body.where.logic)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Invalid\x20payload\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Advanced\x20where\x20format\x20is\x20not\x20supported\x20in\x20/first\x20endpoint.\x20Use\x20/read\x20endpoint\x20for\x20complex\x20queries\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20example:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22where\x22:\x20{\x20\x22key\x22:\x20\x22field_name\x22,\x20\x22value\x22:\x20\x22field_value\x22\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20if\x20(endpoint\x20===\x20\x27delete\x27\x20&&\x20(!req.body.where))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Invalid\x20payload\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27DELETE\x20payload\x20must\x20include\x20a\x20where\x20property\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20example:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22where\x22:\x20[{\x20\x22key\x22:\x20\x22'+_0xdc9a0e+_0x30b0ff(0x251);_0x1e3437+=buildRequestScopeMiddleware(_0x124b86,_0x3f2e01);_0x124b86['action']&&_0x124b86['action'][_0x30b0ff(0x1f7)]&&(_0x1e3437+='//\x20POST\x20/api/'+_0x176c0a+'/'+_0x3f2e01+'/datatables\x20-\x20Data\x20untuk\x20DataTables\x0arouter.post(\x27/datatables\x27,\x20async\x20(req,\x20res)\x20=>\x20{\x0a\x20\x20try\x20{\x0a\x20\x20\x20\x20const\x20options\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20searchValue:\x20req.body.search?.value\x20||\x20req.body.searchValue\x20||\x20req.body.search_value\x20||\x20\x27\x27,\x0a\x20\x20\x20\x20\x20\x20searchBy:\x20req.body.searchBy\x20||\x20req.body.search_by\x20||\x20\x27all\x27,\x0a\x20\x20\x20\x20\x20\x20perPage:\x20Math.min(parseInt(req.body.length\x20||\x20req.body.pagination?.perpage\x20||\x2010,\x2010),\x201000),\x0a\x20\x20\x20\x20\x20\x20start:\x20Math.max(parseInt(req.body.start\x20||\x200,\x2010),\x200),\x0a\x20\x20\x20\x20\x20\x20draw:\x20req.body.draw\x20||\x20\x271\x27\x0a\x20\x20\x20\x20};\x0a\x0a\x20\x20\x20\x20//\x20Handle\x20sort_columns\x0a\x20\x20\x20\x20if\x20(req.body.sort_columns\x20&&\x20Array.isArray(req.body.sort_columns)\x20&&\x20req.body.sort_columns.length\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20options.sort_columns\x20=\x20req.body.sort_columns.map(item\x20=>\x20({\x0a\x20\x20\x20\x20\x20\x20\x20\x20column:\x20item.column,\x0a\x20\x20\x20\x20\x20\x20\x20\x20direction:\x20(item.direction\x20||\x20\x27ASC\x27).toUpperCase()\x0a\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Fallback:\x20Handle\x20DataTables\x20standard\x20format\x20(order[0][column]\x20dan\x20order[0][dir])\x0a\x20\x20\x20\x20if\x20(req.body[\x27order[0][column]\x27]\x20!==\x20undefined)\x20{\x0a\x20\x20\x20\x20\x20\x20options[\x27order[0][column]\x27]\x20=\x20req.body[\x27order[0][column]\x27];\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if\x20(req.body[\x27order[0][dir]\x27]\x20!==\x20undefined)\x20{\x0a\x20\x20\x20\x20\x20\x20options[\x27order[0][dir]\x27]\x20=\x20req.body[\x27order[0][dir]\x27];\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Handle\x20filters\x20dengan\x20sanitasi\x0a\x20\x20\x20\x20if\x20(req.body.filters\x20&&\x20typeof\x20req.body.filters\x20===\x20\x27object\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20sanitizedFilters\x20=\x20{};\x0a\x20\x20\x20\x20\x20\x20for\x20(const\x20[key,\x20value]\x20of\x20Object.entries(req.body.filters))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(value\x20!==\x20null\x20&&\x20value\x20!==\x20undefined\x20&&\x20value\x20!==\x20\x27\x27\x20&&\x20value\x20!==\x20\x27all\x27\x20&&\x20value\x20!==\x20\x27-\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20sanitizedFilters[key]\x20=\x20value;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20if\x20(Object.keys(sanitizedFilters).length\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20options.filters\x20=\x20sanitizedFilters;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Support\x20WHERE\x20conditions\x0a\x20\x20\x20\x20if\x20(req.body.where)\x20{\x0a\x20\x20\x20\x20\x20\x20options.where\x20=\x20req.body.where;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Advanced\x20filters\x20support\x0a\x20\x20\x20\x20if\x20(req.body.advanced_filters\x20&&\x20Array.isArray(req.body.advanced_filters))\x20{\x0a\x20\x20\x20\x20\x20\x20options.advancedFilters\x20=\x20req.body.advanced_filters;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Gunakan\x20model\x20untuk\x20mendapatkan\x20data\x0a\x20\x20\x20\x20const\x20result\x20=\x20await\x20'+_0x46a517+_0x30b0ff(0x2b3)+_0x3f2e01+'\x20datatables:\x27,\x20error);\x0a\x20\x20\x20\x20const\x20statusCode\x20=\x20error.statusCode\x20||\x20500;\x0a\x20\x20\x20\x20return\x20res.status(statusCode).json({\x0a\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20error:\x20statusCode\x20===\x20400\x20?\x20\x27Bad\x20Request\x27\x20:\x20\x27Internal\x20Server\x20Error\x27,\x0a\x20\x20\x20\x20\x20\x20message:\x20statusCode\x20===\x20400\x20?\x20error.message\x20:\x20\x27An\x20error\x20occurred\x20while\x20fetching\x20'+_0x3f2e01+'\x20data\x27,\x0a\x20\x20\x20\x20\x20\x20details:\x20process.env.NODE_ENV\x20===\x20\x27development\x27\x20?\x20error.message\x20:\x20undefined,\x0a\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a});\x0a\x0a');_0x124b86['action']&&_0x124b86[_0x30b0ff(0x1c8)][_0x30b0ff(0x2a4)]&&(_0x1e3437+='//\x20GET\x20/api/'+_0x176c0a+'/'+_0x3f2e01+'/lookup\x20-\x20MySQL\x20Dynamic\x20Lookup\x0arouter.get(\x27/lookup\x27,\x20async\x20(req,\x20res)\x20=>\x20{\x0a\x20\x20const\x20mysqlRequestId\x20=\x20req.mysqlRequestId;\x0a\x0a\x20\x20try\x20{\x0a\x20\x20\x20\x20const\x20requestMode\x20=\x20req.headers[\x27x-request-mode\x27];\x0a\x0a\x20\x20\x20\x20if\x20(requestMode\x20!==\x20\x27dynamic\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Invalid\x20Request\x20Mode\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27X-Request-Mode\x20header\x20must\x20be\x20set\x20to\x20dynamic\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20let\x20search\x20=\x20req.query.search\x20||\x20\x27\x27;\x0a\x20\x20\x20\x20if\x20(Array.isArray(search))\x20{\x0a\x20\x20\x20\x20\x20\x20search\x20=\x20search[0]\x20||\x20\x27\x27;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Search\x20length\x20validation\x0a\x20\x20\x20\x20if\x20(search.length\x20>\x20100)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Search\x20Too\x20Long\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Search\x20parameter\x20must\x20not\x20exceed\x20100\x20characters\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20console.log(`[MySQL-LKP]\x20${mysqlRequestId}\x20dynamic\x20search:\x20${search}`);\x0a\x0a\x20\x20\x20\x20//\x20Collect\x20extra\x20filters\x20dari\x20query\x20params\x0a\x20\x20\x20\x20const\x20extraFilters\x20=\x20{};\x0a\x20\x20\x20\x20for\x20(const\x20[key,\x20value]\x20of\x20Object.entries(req.query))\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(key\x20!==\x20\x27search\x27\x20&&\x20'+_0x46a517+'.validFields.includes(key)\x20&&\x20value)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20extraFilters[key]\x20=\x20value;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20const\x20startTime\x20=\x20Date.now();\x0a\x20\x20\x20\x20const\x20list\x20=\x20Object.keys(extraFilters).length\x20>\x200\x20?\x0a\x20\x20\x20\x20\x20\x20await\x20'+_0x46a517+'.getLookupDataDynamic(search,\x20extraFilters)\x20:\x0a\x20\x20\x20\x20\x20\x20await\x20'+_0x46a517+_0x30b0ff(0x1bc)+_0x3f2e01+'\x20data\x27,\x0a\x20\x20\x20\x20\x20\x20details:\x20error.message,\x0a\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a});\x0a\x0a');_0x124b86[_0x30b0ff(0x1c8)]&&_0x124b86[_0x30b0ff(0x1c8)]['lookup']&&(_0x1e3437+='//\x20POST\x20/api/'+_0x176c0a+'/'+_0x3f2e01+_0x30b0ff(0x22e)+_0x46a517+'.getLookupDataWithFilter(req.body);\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20//\x20Legacy\x20format\x20dengan\x20selected_tag\x0a\x20\x20\x20\x20\x20\x20const\x20selectedTag\x20=\x20req.body.selected_tag\x20||\x20\x27\x27;\x0a\x20\x20\x20\x20\x20\x20list\x20=\x20await\x20'+_0x46a517+_0x30b0ff(0x1c3)+_0x3f2e01+_0x30b0ff(0x275));_0x124b86[_0x30b0ff(0x1c8)]&&_0x124b86[_0x30b0ff(0x1c8)][_0x30b0ff(0x290)]&&(_0x1e3437+='//\x20POST\x20/api/'+_0x176c0a+'/'+_0x3f2e01+_0x30b0ff(0x19c)+_0x46a517+_0x30b0ff(0x29c)+_0x46a517+_0x30b0ff(0x29d)+(_0x42931d?'\x0a\x20\x20\x20\x20//\x20Component\x20engine:\x20build\x20eventContext\x20untuk\x20model-level\x20event\x20lifecycle\x0a\x20\x20\x20\x20if\x20(componentEngine\x20&&\x20ContextBuilder)\x20{\x0a\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20eventContext\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20componentEngine:\x20componentEngine,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ContextBuilder:\x20ContextBuilder,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20tableName:\x20\x27'+_0x124b86[_0x30b0ff(0x223)]+_0x30b0ff(0x215)+_0x46a517+'.addData(req.body,\x20eventContext);\x0a\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[INTEGRATED\x20TRANSACTION]\x20INSERT\x20completed\x20successfully\x20with\x20events\x27);\x0a\x20\x20\x20\x20\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20console.error(\x27[INTEGRATED\x20TRANSACTION]\x20INSERT\x20failed:\x27,\x20error.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20throw\x20error;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20result\x20=\x20await\x20'+_0x46a517+_0x30b0ff(0x27e):_0x30b0ff(0x1aa)+_0x46a517+'.addData(req.body,\x20{\x20additionalContext:\x20{\x20requestId:\x20req.id\x20||\x20null\x20}\x20});\x0a\x20\x20\x20\x20\x20\x20console.log(\x27[FALLBACK]\x20INSERT\x20completed\x20without\x20events\x27);\x0a\x20\x20\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20\x20\x20console.error(\x27[FALLBACK]\x20INSERT\x20failed:\x27,\x20error.message);\x0a\x20\x20\x20\x20\x20\x20throw\x20error;\x0a\x20\x20\x20\x20}\x0a')+_0x30b0ff(0x254)+_0x3f2e01+'\x20data\x20added\x20successfully:\x20${result.'+_0xdc9a0e+_0x30b0ff(0x234)+_0x3f2e01+'\x20data\x20successfully\x20added\x27,\x0a\x20\x20\x20\x20\x20\x20data:\x20result,\x0a\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20console.error(\x27Error\x20saat\x20menambahkan\x20data\x20'+_0x3f2e01+':\x27,\x20error);\x0a\x0a\x20\x20\x20\x20if\x20(error.code\x20===\x20\x27ER_DUP_ENTRY\x27\x20||\x20error.errno\x20===\x201062)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(409).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Duplicate\x20entry\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27A\x20record\x20with\x20this\x20value\x20already\x20exists\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20if\x20(error.code\x20===\x20\x27ER_NO_REFERENCED_ROW_2\x27\x20||\x20error.errno\x20===\x201452)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Foreign\x20key\x20constraint\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Referenced\x20data\x20not\x20found\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20return\x20res.status(500).json({\x0a\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20error:\x20\x27Internal\x20Server\x20Error\x27,\x0a\x20\x20\x20\x20\x20\x20message:\x20\x27An\x20error\x20occurred\x20while\x20adding\x20'+_0x3f2e01+'\x20data\x27,\x0a\x20\x20\x20\x20\x20\x20details:\x20process.env.NODE_ENV\x20===\x20\x27development\x27\x20?\x20error.message\x20:\x20undefined,\x0a\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a});\x0a\x0a');_0x124b86[_0x30b0ff(0x1c8)]&&_0x124b86[_0x30b0ff(0x1c8)]['update']&&(_0x1e3437+=_0x30b0ff(0x279)+_0x176c0a+'/'+_0x3f2e01+_0x30b0ff(0x202)+_0xdc9a0e+_0x30b0ff(0x2a0)+_0x4c3272+'\x0a\x20\x20\x20\x20//\x20Validasi\x20data\x20dengan\x20model\x20jika\x20tersedia\x0a\x20\x20\x20\x20if\x20(typeof\x20'+_0x46a517+'.validateData\x20===\x20\x27function\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20validation\x20=\x20await\x20'+_0x46a517+_0x30b0ff(0x1f1)+(_0x42931d?'\x0a\x20\x20\x20\x20//\x20Integrated\x20transaction\x20dengan\x20event\x20lifecycle\x0a\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20eventContext\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20componentEngine:\x20componentEngine,\x0a\x20\x20\x20\x20\x20\x20\x20\x20ContextBuilder:\x20ContextBuilder,\x0a\x20\x20\x20\x20\x20\x20\x20\x20tableName:\x20\x27'+_0x124b86[_0x30b0ff(0x223)]+_0x30b0ff(0x183)+_0x46a517+'.updateData(req.body,\x20eventContext'+_0x2a1093+_0x30b0ff(0x249):'\x0a\x20\x20\x20\x20//\x20Fallback:\x20mode\x20tanpa\x20events\x0a\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20responseData\x20=\x20await\x20'+_0x46a517+_0x30b0ff(0x1a5)+_0x2a1093+_0x30b0ff(0x25e))+'\x0a\x20\x20\x20\x20//\x20Log\x20successful\x20operation\x0a\x20\x20\x20\x20console.log(`'+_0x3f2e01+_0x30b0ff(0x21f)+_0xdc9a0e+_0x30b0ff(0x1fd)+_0xdc9a0e+_0x30b0ff(0x1c1)+_0x3f2e01+'\x20data\x20successfully\x20updated\x27,\x0a\x20\x20\x20\x20\x20\x20data:\x20responseData,\x0a\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20console.error(\x27Error\x20saat\x20mengupdate\x20data\x20'+_0x3f2e01+_0x30b0ff(0x1af)+_0x3f2e01+_0x30b0ff(0x289)+_0x3f2e01+'\x20data\x27,\x0a\x20\x20\x20\x20\x20\x20details:\x20process.env.NODE_ENV\x20===\x20\x27development\x27\x20?\x20error.message\x20:\x20undefined,\x0a\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a});\x0a\x0a');_0x124b86['action']&&_0x124b86[_0x30b0ff(0x1c8)][_0x30b0ff(0x195)]&&(_0x1e3437+=_0x30b0ff(0x279)+_0x176c0a+'/'+_0x3f2e01+'/adjust\x20-\x20MySQL\x20Adjust\x20(atomic\x20increment/decrement)\x0arouter.post(\x27/adjust\x27,\x20async\x20(req,\x20res)\x20=>\x20{\x0a\x20\x20try\x20{\x0a\x20\x20\x20\x20//\x20Validasi\x20payload\x0a\x20\x20\x20\x20if\x20(!req.body\x20||\x20Object.keys(req.body).length\x20===\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Invalid\x20payload\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Payload\x20cannot\x20be\x20empty\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Validasi\x20primary\x20key\x0a\x20\x20\x20\x20const\x20primaryKey\x20=\x20\x27'+_0xdc9a0e+'\x27;\x0a\x20\x20\x20\x20if\x20(!req.body[primaryKey])\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Missing\x20required\x20field\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20`Primary\x20key\x20(${primaryKey})\x20is\x20required\x20for\x20adjust`,\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Validasi\x20adjustments\x20array\x0a\x20\x20\x20\x20if\x20(!req.body.adjustments\x20||\x20!Array.isArray(req.body.adjustments)\x20||\x20req.body.adjustments.length\x20===\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Invalid\x20payload\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27adjustments\x20array\x20is\x20required\x20and\x20must\x20not\x20be\x20empty\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a'+_0x4c3272+'\x0a\x20\x20\x20\x20const\x20adjustConfig\x20=\x20componentConfig.adjustConfig\x20||\x20{};\x0a\x20\x20\x20\x20let\x20responseData\x20=\x20null;\x0a\x0a'+(_0x42931d?_0x30b0ff(0x271)+_0x124b86['tableName']+'\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20additionalContext:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20user_id:\x20req.headers[\x27user-id\x27]\x20||\x20req.headers[\x27x-user-id\x27]\x20||\x20\x27system\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20options:\x20req.bodyOptions\x20||\x20{}\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20responseData\x20=\x20await\x20'+_0x46a517+'.adjustData(req.body,\x20adjustConfig,\x20eventContext'+_0x2a1093+_0x30b0ff(0x27a):_0x30b0ff(0x1c6)+_0x46a517+'.adjustData(req.body,\x20adjustConfig,\x20{\x20additionalContext:\x20{\x20requestId:\x20req.id\x20||\x20null\x20}\x20}'+_0x2a1093+');\x0a\x20\x20\x20\x20\x20\x20console.log(\x27[FALLBACK]\x20ADJUST\x20completed\x20without\x20events\x27);\x0a\x20\x20\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20\x20\x20console.error(\x27[FALLBACK]\x20ADJUST\x20failed:\x27,\x20error.message);\x0a\x20\x20\x20\x20\x20\x20throw\x20error;\x0a\x20\x20\x20\x20}\x0a')+_0x30b0ff(0x24b)+_0x3f2e01+_0x30b0ff(0x1e8)+_0xdc9a0e+'=${req.body[\x27'+_0xdc9a0e+_0x30b0ff(0x1c1)+_0x3f2e01+_0x30b0ff(0x264)+_0x3f2e01+_0x30b0ff(0x297)+_0x3f2e01+_0x30b0ff(0x17a)+_0x3f2e01+_0x30b0ff(0x29b));if(_0x124b86[_0x30b0ff(0x1c8)]&&_0x124b86['action']['workflow']){const _0x89a27=_0x124b86['workflow']?JSON['stringify'](_0x124b86[_0x30b0ff(0x1d2)]):'{}';_0x1e3437+=_0x30b0ff(0x279)+_0x176c0a+'/'+_0x3f2e01+_0x30b0ff(0x239)+_0x3f2e01+'\x0arouter.post(\x27/change-status\x27,\x20async\x20(req,\x20res)\x20=>\x20{\x0a\x20\x20try\x20{\x0a\x20\x20\x20\x20if\x20(!req.body\x20||\x20Object.keys(req.body).length\x20===\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Invalid\x20payload\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Payload\x20cannot\x20be\x20empty\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20const\x20primaryKey\x20=\x20\x27'+_0xdc9a0e+'\x27;\x0a\x20\x20\x20\x20const\x20recordId\x20=\x20req.body[primaryKey]\x20||\x20req.body.id;\x0a\x20\x20\x20\x20if\x20(!recordId)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Missing\x20required\x20field\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20`Primary\x20key\x20(${primaryKey})\x20or\x20id\x20is\x20required\x20for\x20change-status`,\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20if\x20(!req.body.status)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Missing\x20required\x20field\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27status\x20is\x20required\x20for\x20change-status\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a'+_0x4c3272[_0x30b0ff(0x2a1)](/req\.body\[primaryKey\]/g,_0x13259c['euMFA'])+'\x0a\x20\x20\x20\x20const\x20workflowConfig\x20=\x20'+_0x89a27+_0x30b0ff(0x270)+_0x176c0a+_0x30b0ff(0x299)+(_0x42931d?'\x0a\x20\x20\x20\x20//\x20Integrated\x20transaction\x20dengan\x20event\x20lifecycle\x0a\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20eventContext\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20componentEngine:\x20componentEngine,\x0a\x20\x20\x20\x20\x20\x20\x20\x20ContextBuilder:\x20ContextBuilder,\x0a\x20\x20\x20\x20\x20\x20\x20\x20tableName:\x20\x27'+_0x124b86['tableName']+_0x30b0ff(0x1ed)+_0x46a517+_0x30b0ff(0x17d):'\x0a\x20\x20\x20\x20//\x20Fallback:\x20tanpa\x20component\x20engine\x20events\x20(tetap\x20forward\x20authHeader\x20untuk\x20hook\x20JWT\x20forwarding)\x0a\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20eventContext\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20additionalContext:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20user_id:\x20req.headers[\x27user-id\x27]\x20||\x20req.headers[\x27x-user-id\x27]\x20||\x20req.body.updated_by\x20||\x20\x27system\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20requestId:\x20req.id\x20||\x20null,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20authHeader:\x20req.headers.authorization\x20||\x20null\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20result\x20=\x20await\x20'+_0x46a517+_0x30b0ff(0x1f6))+_0x30b0ff(0x207)+_0x3f2e01+_0x30b0ff(0x16e)+_0x3f2e01+_0x30b0ff(0x210)+_0x3f2e01+'\x20data\x20not\x20found\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Lock\x20acquisition\x20failed\x0a\x20\x20\x20\x20if\x20(error.message.includes(\x27Failed\x20to\x20acquire\x20lock\x27))\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(409).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Resource\x20busy\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20error.message,\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20return\x20res.status(500).json({\x0a\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20error:\x20\x27Internal\x20Server\x20Error\x27,\x0a\x20\x20\x20\x20\x20\x20message:\x20\x27An\x20error\x20occurred\x20while\x20changing\x20status\x27,\x0a\x20\x20\x20\x20\x20\x20details:\x20process.env.NODE_ENV\x20===\x20\x27development\x27\x20?\x20error.message\x20:\x20undefined,\x0a\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a});\x0a\x0a';}if(_0x124b86['action']&&_0x124b86[_0x30b0ff(0x1c8)][_0x30b0ff(0x260)]){const _0x129b99=_0x124b86['aggregateConfig']?JSON['stringify'](_0x124b86[_0x30b0ff(0x25d)]):'{}';_0x1e3437+=_0x30b0ff(0x279)+_0x176c0a+'/'+_0x3f2e01+_0x30b0ff(0x1ad)+_0x129b99+';\x0a\x20\x20\x20\x20const\x20result\x20=\x20await\x20'+_0x46a517+_0x30b0ff(0x2ac)+_0x3f2e01+':\x27,\x20error);\x0a\x0a\x20\x20\x20\x20if\x20(error.statusCode\x20===\x20403)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(403).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Pro\x20Feature\x20Required\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20error.message,\x0a\x20\x20\x20\x20\x20\x20\x20\x20upgrade:\x20\x27https://restforge.dev/pricing\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20if\x20(error.statusCode\x20===\x20400\x20||\x0a\x20\x20\x20\x20\x20\x20\x20\x20error.message.includes(\x27not\x20a\x20valid\x20field\x27)\x20||\x0a\x20\x20\x20\x20\x20\x20\x20\x20error.message.includes(\x27Invalid\x20aggregate\x20function\x27)\x20||\x0a\x20\x20\x20\x20\x20\x20\x20\x20error.message.includes(\x27Invalid\x20alias\x27)\x20||\x0a\x20\x20\x20\x20\x20\x20\x20\x20error.message.includes(\x27only\x20allowed\x20with\x20COUNT\x27)\x20||\x0a\x20\x20\x20\x20\x20\x20\x20\x20error.message.includes(\x27not\x20defined\x20in\x20aggregate\x20config\x27)\x20||\x0a\x20\x20\x20\x20\x20\x20\x20\x20error.message.includes(\x27no\x20join\x20definitions\x20found\x27))\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Validation\x20error\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20error.message,\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20return\x20res.status(500).json({\x0a\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20error:\x20\x27Internal\x20Server\x20Error\x27,\x0a\x20\x20\x20\x20\x20\x20message:\x20\x27An\x20error\x20occurred\x20while\x20aggregating\x20'+_0x3f2e01+_0x30b0ff(0x29b);}_0x124b86['action']&&_0x124b86['action'][_0x30b0ff(0x216)]&&(_0x1e3437+='//\x20POST\x20/api/'+_0x176c0a+'/'+_0x3f2e01+'/delete\x20-\x20MySQL\x20Delete\x0arouter.post(\x27/delete\x27,\x20async\x20(req,\x20res)\x20=>\x20{\x0a\x20\x20try\x20{\x0a\x20\x20\x20\x20//\x20Validasi\x20request\x20body\x0a\x20\x20\x20\x20if\x20(!req.body\x20||\x20Object.keys(req.body).length\x20===\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Invalid\x20payload\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Payload\x20cannot\x20be\x20empty\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20if\x20(!req.body.where)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Missing\x20required\x20field\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Invalid\x20request\x20format:\x20where\x20parameter\x20is\x20required\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20example:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22where\x22:\x20[{\x20\x22key\x22:\x20\x22id\x22,\x20\x22value\x22:\x20\x22your-id-value\x22\x20}]\x0a\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Validasi\x20format\x20where\x0a\x20\x20\x20\x20if\x20(!Array.isArray(req.body.where)\x20&&\x20!req.body.where.conditions)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Invalid\x20where\x20format\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Invalid\x20where\x20format\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20example:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22where\x22:\x20[\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{\x20\x22key\x22:\x20\x22id\x22,\x20\x22value\x22:\x20\x22your-id-value\x22\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20]\x0a\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20let\x20responseData\x20=\x20null;\x0a\x0a\x20\x20\x20\x20//\x20Cek\x20apakah\x20data\x20exist\x20sebelum\x20delete\x20dan\x20ambil\x20old\x20data\x20untuk\x20event\x20lifecycle\x0a\x20\x20\x20\x20//\x20Menggunakan\x20SELECT\x20*\x20dari\x20tabel\x20utama\x20(tanpa\x20explicit\x20select)\x20karena\x20fieldName\x0a\x20\x20\x20\x20//\x20bisa\x20mengandung\x20kolom\x20dari\x20JOIN\x20(mis.\x20city_name)\x20yang\x20tidak\x20ada\x20di\x20tabel\x20utama\x0a\x20\x20\x20\x20if\x20(req.body.where\x20&&\x20Array.isArray(req.body.where)\x20&&\x20req.body.where.length\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20firstCondition\x20=\x20req.body.where[0];\x0a\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20existingData\x20=\x20await\x20'+_0x46a517+'.getData({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20where:\x20[{\x20key:\x20firstCondition.key,\x20value:\x20firstCondition.value\x20}]\x0a\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!existingData.success\x20||\x20!existingData.data\x20||\x20existingData.data.length\x20===\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20res.status(404).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Data\x20not\x20found\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27'+_0x3f2e01+_0x30b0ff(0x1cc)+(_0x42931d?'\x0a\x20\x20\x20\x20//\x20Integrated\x20transaction\x20dengan\x20event\x20lifecycle\x0a\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20eventContext\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20componentEngine:\x20componentEngine,\x0a\x20\x20\x20\x20\x20\x20\x20\x20ContextBuilder:\x20ContextBuilder,\x0a\x20\x20\x20\x20\x20\x20\x20\x20tableName:\x20\x27'+_0x124b86[_0x30b0ff(0x223)]+'\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20additionalContext:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20user_id:\x20req.headers[\x27user-id\x27]\x20||\x20req.headers[\x27x-user-id\x27]\x20||\x20\x27system\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20options:\x20req.bodyOptions\x20||\x20{}\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20responseData\x20=\x20await\x20'+_0x46a517+_0x30b0ff(0x16d):'\x0a\x20\x20\x20\x20//\x20Fallback:\x20mode\x20tanpa\x20events\x0a\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20responseData\x20=\x20await\x20'+_0x46a517+'.deleteData(req.body,\x20{\x20additionalContext:\x20{\x20requestId:\x20req.id\x20||\x20null\x20}\x20});\x0a\x20\x20\x20\x20\x20\x20console.log(\x27[FALLBACK]\x20DELETE\x20completed\x20without\x20events\x27);\x0a\x20\x20\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20\x20\x20console.error(\x27[FALLBACK]\x20DELETE\x20failed:\x27,\x20error.message);\x0a\x20\x20\x20\x20\x20\x20throw\x20error;\x0a\x20\x20\x20\x20}\x0a')+'\x0a\x20\x20\x20\x20//\x20Log\x20successful\x20operation\x0a\x20\x20\x20\x20console.log(`'+_0x3f2e01+_0x30b0ff(0x280)+_0x3f2e01+':\x27,\x20error);\x0a\x0a\x20\x20\x20\x20if\x20(error.code\x20===\x20\x27ER_ROW_IS_REFERENCED_2\x27\x20||\x20error.errno\x20===\x201451)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(409).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Foreign\x20key\x20constraint\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Cannot\x20delete:\x20record\x20is\x20still\x20referenced\x20by\x20other\x20data\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20return\x20res.status(500).json({\x0a\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20error:\x20\x27Internal\x20Server\x20Error\x27,\x0a\x20\x20\x20\x20\x20\x20message:\x20\x27An\x20error\x20occurred\x20while\x20deleting\x20'+_0x3f2e01+_0x30b0ff(0x29b));_0x124b86[_0x30b0ff(0x1c8)]&&_0x124b86['action']['first']&&(_0x1e3437+='//\x20POST\x20/api/'+_0x176c0a+'/'+_0x3f2e01+_0x30b0ff(0x21e)+_0xdc9a0e+'\x22,\x20\x22value\x22:\x20\x22your-id-value\x22\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22select\x22:\x20[\x22field1\x22,\x20\x22field2\x22]\x0a\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Validasi\x20where.key\x20dan\x20where.value\x0a\x20\x20\x20\x20if\x20(!req.body.where.key\x20||\x20req.body.where.value\x20===\x20undefined\x20||\x20req.body.where.value\x20===\x20null\x20||\x20req.body.where.value\x20===\x20\x27\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Invalid\x20where\x20format\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Where\x20key\x20and\x20value\x20are\x20required\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20example:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22where\x22:\x20{\x20\x22key\x22:\x20\x22'+_0xdc9a0e+_0x30b0ff(0x23c)+JSON[_0x30b0ff(0x2a6)](_0x124b86['fieldName'])+';\x0a\x20\x20\x20\x20if\x20(!validFields.includes(req.body.where.key))\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Invalid\x20where\x20field\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20`Invalid\x20field:\x20${req.body.where.key}`,\x0a\x20\x20\x20\x20\x20\x20\x20\x20validFields:\x20validFields,\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Validasi\x20select\x20fields\x20jika\x20ada\x0a\x20\x20\x20\x20if\x20(req.body.select\x20&&\x20Array.isArray(req.body.select))\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20invalidFields\x20=\x20req.body.select.filter(field\x20=>\x20!validFields.includes(field));\x0a\x0a\x20\x20\x20\x20\x20\x20if\x20(invalidFields.length\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Invalid\x20select\x20fields\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20`Invalid\x20field(s):\x20${invalidFields.join(\x27,\x20\x27)}`,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20validFields:\x20validFields,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Convert\x20ke\x20array\x20format\x20untuk\x20kompatibilitas\x20dengan\x20model.getData()\x20→\x20buildComplexWhereClause()\x0a\x20\x20\x20\x20const\x20getPayload\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20where:\x20[{\x20key:\x20req.body.where.key,\x20value:\x20req.body.where.value\x20}],\x0a\x20\x20\x20\x20\x20\x20select:\x20req.body.select\x0a\x20\x20\x20\x20};\x0a\x20\x20\x20\x20const\x20result\x20=\x20await\x20'+_0x46a517+_0x30b0ff(0x208)+_0x53e52a+_0x30b0ff(0x262)+_0x3f2e01+':\x27,\x20error);\x0a\x20\x20\x20\x20return\x20res.status(500).json({\x0a\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20error:\x20\x27Internal\x20Server\x20Error\x27,\x0a\x20\x20\x20\x20\x20\x20message:\x20\x27An\x20error\x20occurred\x20while\x20fetching\x20'+_0x3f2e01+_0x30b0ff(0x29b));_0x124b86['action']&&_0x124b86[_0x30b0ff(0x1c8)][_0x30b0ff(0x29a)]&&(_0x1e3437+='//\x20POST\x20/api/'+_0x176c0a+'/'+_0x3f2e01+'/read\x20-\x20Manual\x20pagination\x20endpoint\x0arouter.post(\x27/read\x27,\x20async\x20(req,\x20res)\x20=>\x20{\x0a\x20\x20try\x20{\x0a\x20\x20\x20\x20//\x20Deteksi\x20mode:\x20paginasi\x20(page\x20dikirim)\x20atau\x20non-paginasi\x20(page\x20tidak\x20dikirim)\x0a\x20\x20\x20\x20const\x20paginate\x20=\x20req.body.page\x20!==\x20undefined;\x0a\x20\x20\x20\x20const\x20page\x20=\x20paginate\x20?\x20parseInt(req.body.page,\x2010)\x20:\x20null;\x0a\x20\x20\x20\x20const\x20perPage\x20=\x20paginate\x20?\x20Math.min(parseInt(req.body.per_page\x20||\x2010,\x2010),\x20100)\x20:\x20null;\x0a\x20\x20\x20\x20const\x20limit\x20=\x20!paginate\x20?\x20Math.min(Math.max(parseInt(req.body.limit\x20||\x201000,\x2010),\x201),\x205000)\x20:\x20null;\x0a\x20\x20\x20\x20const\x20searchValue\x20=\x20req.body.search_value\x20||\x20\x27\x27;\x0a\x20\x20\x20\x20const\x20searchBy\x20=\x20req.body.search_by\x20||\x20\x27all\x27;\x0a\x0a\x20\x20\x20\x20//\x20Parse\x20sort_columns\x0a\x20\x20\x20\x20let\x20sort_columns\x20=\x20[];\x0a\x20\x20\x20\x20if\x20(req.body.sort_columns\x20&&\x20Array.isArray(req.body.sort_columns)\x20&&\x20req.body.sort_columns.length\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20sort_columns\x20=\x20req.body.sort_columns.map(item\x20=>\x20({\x0a\x20\x20\x20\x20\x20\x20\x20\x20column:\x20item.column,\x0a\x20\x20\x20\x20\x20\x20\x20\x20direction:\x20(item.direction\x20||\x20\x27ASC\x27).toUpperCase()\x0a\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Validasi\x20parameter\x20paginasi\x20(hanya\x20jika\x20mode\x20paginasi)\x0a\x20\x20\x20\x20if\x20(paginate\x20&&\x20page\x20<\x201)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Invalid\x20page\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Page\x20must\x20be\x20greater\x20than\x200\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Proses\x20parameter\x20where\x20dengan\x20format\x20advanced\x20conditions\x0a\x20\x20\x20\x20let\x20where\x20=\x20null;\x0a\x20\x20\x20\x20if\x20(req.body.where\x20&&\x20typeof\x20req.body.where\x20===\x20\x27object\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(Array.isArray(req.body.where)\x20||\x20(req.body.where.conditions\x20&&\x20Array.isArray(req.body.where.conditions)))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20where\x20=\x20req.body.where;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Proses\x20parameter\x20select\x20untuk\x20kolom\x20selektif\x0a\x20\x20\x20\x20const\x20validFields\x20=\x20'+JSON[_0x30b0ff(0x2a6)](_0x124b86[_0x30b0ff(0x245)]||[])+';\x0a\x20\x20\x20\x20let\x20select\x20=\x20null;\x0a\x20\x20\x20\x20if\x20(req.body.select\x20&&\x20Array.isArray(req.body.select))\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20invalidFields\x20=\x20req.body.select.filter(field\x20=>\x20!validFields.includes(field));\x0a\x20\x20\x20\x20\x20\x20if\x20(invalidFields.length\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Invalid\x20select\x20fields\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Invalid\x20field(s):\x20\x27\x20+\x20invalidFields.join(\x27,\x20\x27),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20validFields:\x20validFields,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20select\x20=\x20req.body.select;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20const\x20options\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20searchValue,\x0a\x20\x20\x20\x20\x20\x20searchBy,\x0a\x20\x20\x20\x20\x20\x20sort_columns,\x0a\x20\x20\x20\x20\x20\x20where:\x20where,\x0a\x20\x20\x20\x20\x20\x20select:\x20select\x0a\x20\x20\x20\x20};\x0a\x0a\x20\x20\x20\x20if\x20(paginate)\x20{\x0a\x20\x20\x20\x20\x20\x20options.page\x20=\x20page;\x0a\x20\x20\x20\x20\x20\x20options.perPage\x20=\x20perPage;\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20options.limit\x20=\x20limit;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20const\x20result\x20=\x20await\x20'+_0x46a517+_0x30b0ff(0x222)+_0x3f2e01+'\x20list:\x27,\x20error);\x0a\x20\x20\x20\x20const\x20statusCode\x20=\x20error.statusCode\x20||\x20500;\x0a\x20\x20\x20\x20return\x20res.status(statusCode).json({\x0a\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20error:\x20statusCode\x20===\x20400\x20?\x20\x27Bad\x20Request\x27\x20:\x20\x27Internal\x20Server\x20Error\x27,\x0a\x20\x20\x20\x20\x20\x20message:\x20statusCode\x20===\x20400\x20?\x20error.message\x20:\x20\x27An\x20error\x20occurred\x20while\x20fetching\x20'+_0x3f2e01+'\x20list\x20data\x27,\x0a\x20\x20\x20\x20\x20\x20details:\x20process.env.NODE_ENV\x20===\x20\x27development\x27\x20?\x20error.message\x20:\x20undefined,\x0a\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a});\x0a\x0a');if(_0x124b86[_0x30b0ff(0x1f4)]&&_0x124b86['masterDetail'][_0x30b0ff(0x1d6)]){const _0x5d3664=_0x124b86['masterDetail']['detailTable'][_0x30b0ff(0x18e)]('.')[_0x30b0ff(0x1de)](),_0xf69ae1=_0x3f2e01['replace'](/-/g,'_'),_0x45436c=_0x124b86['masterDetail']['headerCalculations']||null,_0x3b0719=_0x124b86['masterDetail']?.['detailConfig']?.[_0x30b0ff(0x2b0)]?.[_0x30b0ff(0x209)]?.[_0x30b0ff(0x18f)]||'',_0x4fa3ec=_0x3b0719['split']('*')['map'](_0x356ea8=>_0x356ea8[_0x30b0ff(0x1f5)]()),_0x31767d=_0x45436c?.['total_qty']?.[_0x30b0ff(0x1c2)]?.['replace']('items.','')||'',_0x3a1d33=_0x4fa3ec[0x0]||_0x31767d,_0x2d53bd=_0x4fa3ec[0x1]||_0x30b0ff(0x1e3);if(_0x124b86[_0x30b0ff(0x1c8)]&&_0x124b86['action'][_0x30b0ff(0x1da)]){const _0x456843=_0x45436c?'\x0a\x20\x20\x20\x20var\x20headerCalc\x20=\x20'+JSON[_0x30b0ff(0x2a6)](_0x45436c)+';\x0a\x20\x20\x20\x20if\x20(headerCalc.total_items)\x20{\x0a\x20\x20\x20\x20\x20\x20data.total_items\x20=\x20data.'+_0x5d3664+_0x30b0ff(0x26e)+_0x5d3664+_0x30b0ff(0x26f)+(_0x3a1d33?_0x30b0ff(0x2b9)+_0x5d3664+_0x30b0ff(0x2a7)+_0x3a1d33+')\x20||\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20price\x20=\x20Number(item.'+_0x2d53bd+_0x30b0ff(0x252):_0x30b0ff(0x1b1))+'\x0a\x20\x20\x20\x20console.log(\x27Calculated\x20totals:\x27,\x20{\x20total_items:\x20data.total_items,\x20total_qty:\x20data.total_qty,\x20total_amount:\x20data.total_amount\x20});\x0a\x20\x20\x20\x20':'';_0x1e3437+=_0x30b0ff(0x279)+_0x176c0a+'/'+_0x3f2e01+_0x30b0ff(0x206)+_0x3f2e01+'/create-composite:\x27,\x20JSON.stringify(req.body,\x20null,\x202));\x0a\x0a\x20\x20\x20\x20if\x20(!req.body\x20||\x20!req.body.'+_0xf69ae1+_0x30b0ff(0x1c9)+_0xf69ae1+'\x22\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20var\x20data\x20=\x20req.body.'+_0xf69ae1+_0x30b0ff(0x177)+_0x46a517+_0x30b0ff(0x228)+_0x5d3664+';\x0a\x0a\x20\x20\x20\x20\x20\x20var\x20validation\x20=\x20await\x20'+_0x46a517+_0x30b0ff(0x175)+_0x5d3664+'\x20||\x20!Array.isArray(data.'+_0x5d3664+_0x30b0ff(0x205)+_0x5d3664+_0x30b0ff(0x1ea)+_0x5d3664+_0x30b0ff(0x1a6)+_0x456843+_0x30b0ff(0x181)+_0x124b86[_0x30b0ff(0x223)]+'\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20additionalContext:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20detailTable:\x20\x27'+_0x124b86['masterDetail'][_0x30b0ff(0x298)]+'\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20foreignKey:\x20\x27'+_0x124b86[_0x30b0ff(0x1f4)][_0x30b0ff(0x25a)]+'\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20options:\x20req.bodyOptions\x20||\x20{},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20requestId:\x20req.id\x20||\x20null\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20var\x20result\x20=\x20await\x20'+_0x46a517+'.createComposite(data,\x20eventContext);\x0a\x0a\x20\x20\x20\x20console.log(\x27'+_0x3f2e01+_0x30b0ff(0x21a)+_0x3f2e01+_0x30b0ff(0x269)+_0x3f2e01+_0x30b0ff(0x180)+_0x3f2e01+'\x20data\x27,\x0a\x20\x20\x20\x20\x20\x20details:\x20process.env.NODE_ENV\x20===\x20\x27development\x27\x20?\x20error.message\x20:\x20undefined,\x0a\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a});\x0a\x0a';}_0x124b86[_0x30b0ff(0x1c8)]&&_0x124b86[_0x30b0ff(0x1c8)][_0x30b0ff(0x1a9)]&&(_0x1e3437+='//\x20POST\x20/api/'+_0x176c0a+'/'+_0x3f2e01+_0x30b0ff(0x1d5)+_0x3f2e01+'/update-composite:\x27,\x20JSON.stringify(req.body,\x20null,\x202));\x0a\x0a\x20\x20\x20\x20if\x20(!req.body\x20||\x20!req.body.'+_0xf69ae1+_0x30b0ff(0x1c9)+_0xf69ae1+_0x30b0ff(0x1ce)+_0xf69ae1+';\x0a\x0a\x20\x20\x20\x20if\x20(!data.'+_0xdc9a0e+_0x30b0ff(0x237)+_0xdc9a0e+')\x20is\x20required\x20for\x20update\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a'+_0x2ef97b+'\x0a\x20\x20\x20\x20//\x20Validasi\x20dan\x20sanitasi\x20header\x20data\x20dengan\x20constraint\x20(termasuk\x20hash)\x0a\x20\x20\x20\x20if\x20(typeof\x20'+_0x46a517+_0x30b0ff(0x228)+_0x5d3664+_0x30b0ff(0x176)+_0x46a517+_0x30b0ff(0x18b)+_0x5d3664+_0x30b0ff(0x20b)+_0x5d3664+'\x20!==\x20\x27object\x27\x20||\x20Array.isArray(data.'+_0x5d3664+_0x30b0ff(0x1f9)+_0x5d3664+'\x22\x20must\x20be\x20an\x20object\x20with\x20structure\x20{insert:\x20[],\x20update:\x20[],\x20delete:\x20[]}\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Build\x20eventContext\x20untuk\x20composite\x20hooks\x0a\x20\x20\x20\x20var\x20eventContext\x20=\x20null;\x0a\x20\x20\x20\x20if\x20(componentEngine\x20&&\x20ContextBuilder)\x20{\x0a\x20\x20\x20\x20\x20\x20eventContext\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20componentEngine:\x20componentEngine,\x0a\x20\x20\x20\x20\x20\x20\x20\x20ContextBuilder:\x20ContextBuilder,\x0a\x20\x20\x20\x20\x20\x20\x20\x20tableName:\x20\x27'+_0x124b86[_0x30b0ff(0x223)]+'\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20additionalContext:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20detailTable:\x20\x27'+_0x124b86[_0x30b0ff(0x1f4)][_0x30b0ff(0x298)]+_0x30b0ff(0x282)+_0x124b86['masterDetail']['foreignKey']+_0x30b0ff(0x1dc)+_0x46a517+_0x30b0ff(0x28a)+_0x3f2e01+'\x20composite\x20update\x20successful:\x20'+_0xdc9a0e+'=\x27\x20+\x20data.'+_0xdc9a0e+_0x30b0ff(0x28e)+_0x3f2e01+'\x20data\x20successfully\x20updated\x20(with\x20detail\x20items)\x27,\x0a\x20\x20\x20\x20\x20\x20data:\x20result,\x0a\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20console.error(\x27Error\x20saat\x20composite\x20update\x20'+_0x3f2e01+':\x27,\x20error);\x0a\x0a\x20\x20\x20\x20if\x20(error.message\x20===\x20\x27Record\x20not\x20found\x27\x20||\x20error.message.includes(\x27not\x20found\x27))\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(404).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Data\x20not\x20found\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27'+_0x3f2e01+_0x30b0ff(0x19d)+_0x3f2e01+_0x30b0ff(0x29b)),_0x124b86[_0x30b0ff(0x1c8)]&&_0x124b86[_0x30b0ff(0x1c8)]['readComposite']&&(_0x1e3437+='//\x20POST\x20/api/'+_0x176c0a+'/'+_0x3f2e01+_0x30b0ff(0x24a)+_0x3f2e01+'/read-composite:\x27,\x20JSON.stringify(req.body,\x20null,\x202));\x0a\x0a\x20\x20\x20\x20if\x20(!req.body\x20||\x20Object.keys(req.body).length\x20===\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x20success:\x20false,\x20error:\x20\x27Invalid\x20payload\x27,\x20message:\x20\x27Payload\x20cannot\x20be\x20empty\x27,\x20timestamp:\x20new\x20Date().toISOString()\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20if\x20(!req.body.where)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Missing\x20required\x20field\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Property\x20where\x20is\x20required\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20example:\x20{\x20\x22where\x22:\x20[{\x20\x22key\x22:\x20\x22field_name\x22,\x20\x22value\x22:\x20\x22field_value\x22\x20}]\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20if\x20(!Array.isArray(req.body.where)\x20&&\x20!req.body.where.conditions)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Invalid\x20where\x20format\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Invalid\x20where\x20format\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20example:\x20{\x20\x22where\x22:\x20[{\x20\x22key\x22:\x20\x22'+_0xdc9a0e+'\x22,\x20\x22value\x22:\x20\x22your-id-value\x22\x20}]\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20var\x20result\x20=\x20await\x20'+_0x46a517+'.readComposite(req.body);\x0a\x0a\x20\x20\x20\x20console.log(\x27'+_0x3f2e01+'\x20composite\x20read\x20successful:\x20\x27\x20+\x20(result.count\x20||\x200)\x20+\x20\x27\x20record(s)\x27);\x0a\x0a\x20\x20\x20\x20return\x20res.json({\x0a\x20\x20\x20\x20\x20\x20...result,\x0a\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20console.error(\x27Error\x20saat\x20composite\x20read\x20'+_0x3f2e01+_0x30b0ff(0x1cd)+_0x3f2e01+_0x30b0ff(0x241));}if(_0x124b86[_0x30b0ff(0x1c8)]?.[_0x30b0ff(0x1e1)]!==![]){const _0x56aed4={'datatables':!!_0x124b86[_0x30b0ff(0x1c8)]?.[_0x30b0ff(0x1f7)],'read':!!_0x124b86[_0x30b0ff(0x1c8)]?.['read'],'first':!!_0x124b86['action']?.['first'],'create':!!_0x124b86['action']?.[_0x30b0ff(0x290)],'update':!!_0x124b86[_0x30b0ff(0x1c8)]?.['update'],'delete':!!_0x124b86[_0x30b0ff(0x1c8)]?.[_0x30b0ff(0x216)],'lookup':!!_0x124b86['action']?.['lookup'],'export':!!_0x124b86['action']?.['export'],'import':!!_0x124b86[_0x30b0ff(0x1c8)]?.[_0x30b0ff(0x285)],'info':_0x124b86['action']?.[_0x30b0ff(0x1e1)]!==![]};_0x1e3437+=_0x30b0ff(0x243)+JSON['stringify'](_0x56aed4)+_0x30b0ff(0x1d9)+_0x46a517+'.getModelInfo(actions);\x0a\x0a\x20\x20\x20\x20res.json({\x0a\x20\x20\x20\x20\x20\x20success:\x20true,\x0a\x20\x20\x20\x20\x20\x20endpoint:\x20\x27'+_0x3f2e01+_0x30b0ff(0x257)+_0x176c0a+_0x30b0ff(0x1bb)+_0x4a8129+'\x27,\x0a\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20console.error(\x27MySQL\x20info\x20error:\x27,\x20error);\x0a\x20\x20\x20\x20res.status(500).json({\x0a\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20error:\x20\x27Info\x20Error\x27,\x0a\x20\x20\x20\x20\x20\x20message:\x20\x27An\x20error\x20occurred\x20while\x20fetching\x20endpoint\x20info\x27,\x0a\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a});';}else _0x1e3437+=_0x30b0ff(0x2b8);return _0x1e3437+='\x0a//\x20MySQL\x20health\x20check\x0arouter.get(\x27/health\x27,\x20async\x20(req,\x20res)\x20=>\x20{\x0a\x20\x20try\x20{\x0a\x20\x20\x20\x20const\x20connectionInfo\x20=\x20await\x20'+_0x46a517+_0x30b0ff(0x2a5)+_0x3f2e01+'\x27,\x0a\x20\x20\x20\x20\x20\x20database:\x20\x27mysql\x27,\x0a\x20\x20\x20\x20\x20\x20connection:\x20connectionInfo\x20?\x20\x27active\x27\x20:\x20\x27unknown\x27,\x0a\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20res.status(503).json({\x0a\x20\x20\x20\x20\x20\x20status:\x20\x27unhealthy\x27,\x0a\x20\x20\x20\x20\x20\x20endpoint:\x20\x27'+_0x3f2e01+_0x30b0ff(0x219),_0x1e3437+='module.exports\x20=\x20router;',_0x1e3437;}function a0_0x45be(){const _0x537900=['cGOGicaGzM9YicHJB25ZDcbOzwfKzxiGB2yGAgvHzgvYuMvZDwX0CYKGEWOGicaGicbJB25ZDcbWA1zHBhvLid0GAgvHzgvYw3rOAxmUChjPBwfYEuTLEv07cIaGicaGignVBNn0igrLDgfPBfjLC3vSDhmGpsbHD2fPDcbKyI5LEgvJDxrLuxvLCNKOzgv0ywLSu3fSlcbBCgTwywX1zv0PoWOGicaGicbJB21WB3nPDgvszxn1BhrZlNb1C2GOEWOGicaGicaGic4UlMHLywrLCIWkicaGicaGicbBzgv0ywLSs2v5xtOGzgv0ywLSuMvZDwX0CYb8FcbBxqOGicaGicb9ktSkicaGih0kcIaGicbYzxr1CM4GEWOGicaGicbZDwnJzxnZoIb0CNvLlaOGicaGicbJB3vUDdOGy29TCg9ZAxrLuMvZDwX0CY5Szw5NDgGScIaGicaGigrHDge6ignVBxbVC2L0zvjLC3vSDhmkicaGih07cIaGFsbJyxrJAcaOzxjYB3iPihSkicaGignVBNnVBguUzxjYB3iOj0vYCM9YigLUihjLywrdB21WB3nPDgu6jYWGzxjYB3iPoWOGicaGDgHYB3CGzxjYB3i7cIaGFqP9cG','nZy5mtq4B05xy092','ieforca','iL0GpsaI','laOGigfKANvZDenVBMzPzZOG','q29UDgv4Dej1AwXKzxiGpsbYzxf1AxjLkcDaCMvZDgzVCMDLANmVCgXHDgzVCM0VC3jJl3v0AwXZl2nVBNrLEhqTyNvPBgrLCICPoWO','oICSigvYCM9YktSkcIaGicbPzIaOzxjYB3iUC3rHDhvZq29Kzsa9pt0GndaZksb7cIaGicaGihjLDhvYBIbYzxmUC3rHDhvZkdqWmYKUANnVBIH7cIaGicaGicaGC3vJy2vZCZOGzMfSC2uScIaGicaGicaGzxjYB3i6icDqCM8GrMvHDhvYzsbszxf1AxjLzcCScIaGicaGicaGBwvZC2fNztOGzxjYB3iUBwvZC2fNzsWkicaGicaGicb1CgDYywrLoIaNAhr0Chm6lY9Yzxn0zM9Yz2uUzgv2l3bYAwnPBMCNlaOGicaGicaGihrPBwvZDgfTCdOGBMv3ierHDguOks50B0Ltt1n0CMLUzYGPcIaGicaGih0PoWOGicaGFqOkicaGigLMicHLCNjVCI5TzxnZywDLlMLUy2X1zgvZkcDJB25ZDhjHAw50ihzPB2XHDgLVBICPihX8igvYCM9YlM1LC3nHz2uUAw5JBhvKzxmOj2jLBg93ig1PBMLTDw0NksKGEWOGicaGicbYzxr1CM4GCMvZlNn0yxr1CYG0mdKPlMPZB24OEWOGicaGicaGihn1y2nLC3m6igzHBhnLlaOGicaGicaGigvYCM9YoIaNq29UC3rYywLUDcb2Aw9SyxrPB24NlaOGicaGicaGig1LC3nHz2u6igvYCM9YlM1LC3nHz2uScIaGicaGicaGDgLTzxn0yw1WoIbUzxCGrgf0zsGPlNrVsvnpu3rYAw5NkcKkicaGicaGFsK7cIaGicb9cGOGicaGAwyGkgvYCM9YlM1LC3nHz2uUAw5JBhvKzxmOj25VDcbJB25MAwD1CMvKigzVCIbHzgP1C3rTzw50jYKGFhWGzxjYB3iUBwvZC2fNzs5PBMnSDwrLCYGNAxmGCMvXDwLYzwqGzM9YigfKANvZDcCPihX8igvYCM9YlM1LC3nHz2uUAw5JBhvKzxmOj211C3qGyMuGysbUB24TEMvYBYbUDw1IzxiNksb8FcbLCNjVCI5TzxnZywDLlMLUy2X1zgvZkcDUB3qGysb2ywXPzcbMAwvSzcCPihX8igvYCM9YlM1LC3nHz2uUAw5JBhvKzxmOj211C3qGBM90igjLigvTChr5jYKPihSkicaGicaGCMv0DxjUihjLCY5ZDgf0DxmOndaWks5QC29UkhSkicaGicaGicbZDwnJzxnZoIbMywXZzsWkicaGicaGicbLCNjVCJOGj1zHBgLKyxrPB24GzxjYB3iNlaOGicaGicaGig1LC3nHz2u6igvYCM9YlM1LC3nHz2uScIaGicaGicaGDgLTzxn0yw1WoIbUzxCGrgf0zsGPlNrVsvnpu3rYAw5NkcKkicaGicaGFsK7cIaGicb9cGOGicaGAwyGkgvYCM9YlM1LC3nHz2uGpt09icDeyxrHihrPzgfRigrPDgvTDwTHBICGFhWGzxjYB3iUBwvZC2fNzs5PBMnSDwrLCYGNBM90igzVDw5KjYKPihSkicaGicaGCMv0DxjUihjLCY5ZDgf0DxmOnda0ks5QC29UkhSkicaGicaGicbZDwnJzxnZoIbMywXZzsWkicaGicaGicbLCNjVCJOGj0rHDgeGBM90igzVDw5KjYWkicaGicaGicbTzxnZywDLoIaN','zgv0ywLSvgfIBgu','jZSkicaGigXLDcbYzxn1BhqGpsbUDwXSoWOk','CMvHza','igrHDgeNlaOGicaGicbKzxrHAwXZoIbWCM9JzxnZlMvUDI5ot0rfx0vovIa9pt0Gj2rLDMvSB3bTzw50jYa/igvYCM9YlM1LC3nHz2uGoIb1BMrLzMLUzwqScIaGicaGihrPBwvZDgfTCdOGBMv3ierHDguOks50B0Ltt1n0CMLUzYGPcIaGicb9ktSkicb9cN0PoWOk','lNzHBgLKyxrLrgf0ysa9pt0Gj2z1BMn0Aw9UjYKGEWOGicaGicbJB25ZDcb2ywXPzgf0Aw9Uid0GyxDHAxqG','lNzHBgLKyxrLrgf0ysHYzxeUyM9KEsWGj2LUC2vYDcCPoWOGicaGicbPzIaOixzHBgLKyxrPB24UAxnwywXPzcKGEWOGicaGicaGihjLDhvYBIbYzxmUC3rHDhvZkdqWmcKUANnVBIH7cIaGicaGicaGicbZDwnJzxnZoIbMywXZzsWkicaGicaGicaGigvYCM9YoIaNvMfSAwrHDgLVBIbMywLSzwqNlaOGicaGicaGicaGBwvZC2fNztOGj0LUDMfSAwqGzgf0ysCScIaGicaGicaGicbLCNjVCNm6ihzHBgLKyxrPB24UzxjYB3jZlaOGicaGicaGicaGDgLTzxn0yw1WoIbUzxCGrgf0zsGPlNrVsvnpu3rYAw5NkcKkicaGicaGicb9ktSkicaGicaGFqOGicaGicbYzxeUyM9KEsa9ihSGlI4UCMvXlMjVzhKSic4UlNzHBgLKyxrPB24UC2fUAxrPEMvKrgf0ysb9oWOGicaGFqOk','oWOGihrOAxmUAgfZrxHWB3j0uxvLCNKGpsa','zMLLBgrmywjLBhm','jZSkicaGigLMicGHCMvXlMjVzhLBChjPBwfYEuTLEv0PihSkicaGicaGCMv0DxjUihjLCY5ZDgf0DxmOndaWks5QC29UkhSkicaGicaGicbZDwnJzxnZoIbMywXZzsWkicaGicaGicbLCNjVCJOGj01PC3nPBMCGCMvXDwLYzwqGzMLLBgqNlaOGicaGicaGig1LC3nHz2u6igbqCMLTyxj5igTLEsaOjhTWCMLTyxj5s2v5FsKGAxmGCMvXDwLYzwqGzM9YihvWzgf0zwaScIaGicaGicaGDgLTzxn0yw1WoIbUzxCGrgf0zsGPlNrVsvnpu3rYAw5NkcKkicaGicaGFsK7cIaGicb9cG','CMvWBgfJzq','id0GjW','yMniwgm','Bg9VA3vW','lMDLDenVBM5Ly3rPB25jBMzVkcK7cGOGicaGCMvZlMPZB24OEWOGicaGicbZDgf0Dxm6ignVBM5Ly3rPB25jBMzVid8Gj2HLywX0AhKNidOGj3vUA25VD24NlaOGicaGicbLBMrWB2LUDdOGjW','C3rYAw5NAwz5','lNjLzhvJzsHMDw5JDgLVBIHZDw0SigL0zw0PihSkicaGicaGicb2yxiGCxr5id0GtNvTyMvYkgL0zw0U','ie1VzgvSic0GtxLtuuWGrgf0ywjHC2ukkIbhzw5LCMf0zwq6ia','ihX8icCNcIaGicb9ksK7cGOGicaGlY8Gq2fJAguGDgHLihjLC3vSDaOGicaGyxDHAxqGDgHPCY5ZzxrdywnOzwrmB29RDxaOy2fJAgvpChrPB25ZlcbYzxn1BhqSicDMAwX0zxiNktSkcIaGicbYzxr1CM4GCMvZDwX0oWOGih0Gy2f0y2GGkgvYCM9Yksb7cIaGicbJB25ZB2XLlMvYCM9YkcDfCNjVCIbPBIbNzxrmB29RDxbeyxrHv2L0AezPBhrLCJONlcbLCNjVCIK7cIaGicb0AhjVDYbLCNjVCJSkicb9cN0kcI8QkGOGkIbcDwLSzcbHzhzHBMnLzcbMAwX0zxiGy29UzgL0Aw9UCYb1BNr1AYbnEvnrtaOGkIbaCgfYyw0GE0fYCMf5FsbMAwX0zxjZic0GqxjYyxKGB2yGE2nVBhvTBIWGDhLWzsWGDMfSDwuSihzHBhvLmN0kicOGqhjLDhvYBNmGE09IAMvJDh0GE3nXBcWGCgfYyw1ZFqOGkI8kyNvPBgrbzhzHBMnLzezPBhrLCKnVBMrPDgLVBIHMAwX0zxjZksb7cIaGAwyGkcfMAwX0zxjZihX8icfbCNjHEs5PC0fYCMf5kgzPBhrLCNmPihX8igzPBhrLCNmUBgvUz3rOid09psaWksb7cIaGicbYzxr1CM4GEYbZCwW6icCNlcbWyxjHBxm6ifTDih07cIaGFqOkicbJB25ZDcbJB25KAxrPB25Zid0Gw107cIaGy29UC3qGCgfYyw1Zid0Gw107cGOGigzVCIaOy29UC3qGzMLSDgvYig9MigzPBhrLCNmPihSkicaGignVBNn0ihSGy29SDw1Ulcb0ExbLlcb2ywX1zsWGDMfSDwuYih0GpsbMAwX0zxi7cGOGicaGAwyGkcfJB2X1Bw4GFhWGixrOAxmUDMfSAwrgAwvSzhmUAw5JBhvKzxmOy29SDw1UksKGy29UDgLUDwu7cGOGicaGC3DPDgnOicH0ExbLksb7cIaGicaGignHC2uGj2vXDwfSCYC6cIaGicaGicaGy29UzgL0Aw9UCY5WDxnOkgaKE2nVBhvTBN0Gpsa/ycK7cIaGicaGicaGCgfYyw1ZlNb1C2GODMfSDwuPoWOGicaGicaGigjYzwfRoWOGicaGicbJyxnLicDUB3rFzxf1ywXZjZOkicaGicaGicbJB25KAxrPB25ZlNb1C2GOycr7y29SDw1UFsa8pIa/ycK7cIaGicaGicaGCgfYyw1ZlNb1C2GODMfSDwuPoWOGicaGicaGigjYzwfRoWOGicaGicbJyxnLicDJB250ywLUCYC6cIaGicaGignHC2uGj2XPA2uNoGOGicaGicaGignVBMrPDgLVBNmUChvZAcHGjhTJB2X1Bw59ieXjs0uGp2aPoWOGicaGicaGihbHCMfTCY5WDxnOkgaLjhT2ywX1zx0LycK7cIaGicaGicaGyNjLywS7cIaGicaGignHC2uGj25VDf9JB250ywLUCYC6cIaGicaGignHC2uGj25VDf9SAwTLjZOkicaGicaGicbJB25KAxrPB25ZlNb1C2GOycr7y29SDw1UFsbot1qGteLlrsa/ycK7cIaGicaGicaGCgfYyw1ZlNb1C2GOycuKE3zHBhvLFsvGktSkicaGicaGicbICMvHAZSkicaGicaGy2fZzsaNC3rHCNrZx3DPDgGNoGOGicaGicaGignVBMrPDgLVBNmUChvZAcHGjhTJB2X1Bw59ieXjs0uGp2aPoWOGicaGicaGihbHCMfTCY5WDxnOkgaKE3zHBhvLFsvGktSkicaGicaGicbICMvHAZSkicaGicaGy2fZzsaNzw5KC193AxrOjZOkicaGicaGicbJB25KAxrPB25ZlNb1C2GOycr7y29SDw1UFsbmsuTfid9GktSkicaGicaGicbWyxjHBxmUChvZAcHGjsr7DMfSDwv9ycK7cIaGicaGicaGyNjLywS7cIaGicaGignHC2uGj2DYzwf0zxjFDgHHBIC6cIaGicaGicaGy29UzgL0Aw9UCY5WDxnOkgaKE2nVBhvTBN0GpIa/ycK7cIaGicaGicaGCgfYyw1ZlNb1C2GODMfSDwuPoWOGicaGicaGigjYzwfRoWOGicaGicbJyxnLicDSzxnZx3rOyw4NoGOGicaGicaGignVBMrPDgLVBNmUChvZAcHGjhTJB2X1Bw59idWGp2aPoWOGicaGicaGihbHCMfTCY5WDxnOkhzHBhvLktSkicaGicaGicbICMvHAZSkicaGicaGy2fZzsaNz3jLyxrLCL9LCxvHBcC6cIaGicaGicaGy29UzgL0Aw9UCY5WDxnOkgaKE2nVBhvTBN0GpJ0Gp2aPoWOGicaGicaGihbHCMfTCY5WDxnOkhzHBhvLktSkicaGicaGicbICMvHAZSkicaGicaGy2fZzsaNBgvZC19LCxvHBcC6cIaGicaGicaGy29UzgL0Aw9UCY5WDxnOkgaKE2nVBhvTBN0Gpd0Gp2aPoWOGicaGicaGihbHCMfTCY5WDxnOkhzHBhvLktSkicaGicaGicbICMvHAZSkicaGicaGy2fZzsaNyMv0D2vLBIC6cIaGicaGicaGy29UzgL0Aw9UCY5WDxnOkgaKE2nVBhvTBN0GqKvuv0vftIa/ieforca/ycK7cIaGicaGicaGCgfYyw1ZlNb1C2GODMfSDwuSihzHBhvLmIK7cIaGicaGicaGyNjLywS7cIaGicaGignHC2uGj2LUjZOkicaGicaGicbPzIaOqxjYyxKUAxnbCNjHEsH2ywX1zsKPihSkicaGicaGicaGignVBNn0igLUugXHy2vOB2XKzxjZid0GDMfSDwuUBwfWkcGPid0+icC/jYKUAM9PBIGNlcaNktSkicaGicaGicaGignVBMrPDgLVBNmUChvZAcHGjhTJB2X1Bw59ieLoicGKE2LUugXHy2vOB2XKzxjZFsLGktSkicaGicaGicaGihbHCMfTCY5WDxnOkc4UlNzHBhvLktSkicaGicaGicb9cIaGicaGicaGyNjLywS7cIaGicaGignHC2uGj25VDf9PBIC6cIaGicaGicaGAwyGkefYCMf5lMLZqxjYyxKODMfSDwuPksb7cIaGicaGicaGicbJB25ZDcbUB3rjBLbSywnLAg9SzgvYCYa9ihzHBhvLlM1HCcGOksa9pIaNpYCPlMPVAw4OjYWGjYK7cIaGicaGicaGicbJB25KAxrPB25ZlNb1C2GOycr7y29SDw1UFsbot1qGsu4Gkcr7BM90sw5qBgfJzwHVBgrLCNn9kwaPoWOGicaGicaGicaGCgfYyw1ZlNb1C2GOlI4UDMfSDwuPoWOGicaGicaGih0kicaGicaGicbICMvHAZSkicaGicaGy2fZzsaNAxnFBNvSBcC6cIaGicaGicaGy29UzgL0Aw9UCY5WDxnOkgaKE2nVBhvTBN0GsvmGtLvmtgaPoWOGicaGicaGigjYzwfRoWOGicaGicbJyxnLicDPC19UB3rFBNvSBcC6cIaGicaGicaGy29UzgL0Aw9UCY5WDxnO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CgrHDgukicaGicaGicaGicaGFqOGicaGicaGicaGicbLBhnLihSkicaGicaGicaGicaGicbJB25ZDcbTzxnZywDLid0Gy29UC3rYywLUDhmUCMvXDwLYzwrnzxnZywDLihX8igbgAwvSzcaNjhTMAwvSze5HBwv9jYbPCYbYzxf1AxjLzga7cIaGicaGicaGicaGicaGCMvZDwX0lMvYCM9YCY5WDxnOkg1LC3nHz2uPoWOGicaGicaGicaGicaGihjLC3vSDc5PC1zHBgLKid0GzMfSC2u7cIaGicaGicaGicaGih0kicaGicaGicaGih0kicaGicaGicaGignVBNrPBNvLoWOGicaGicaGih0kcIaGicaGicaGlY8Gu3rYAw5NigzPzwXKoIbOyxnOignVBNn0CMfPBNqGC3vWCg9YDaOGicaGicaGigLMicHJB25MAwCUDhLWzsa9pt0Gj3n0CMLUzYCGjIyGDhLWzw9MihzHBhvLid09psaNC3rYAw5NjYKGEWOGicaGicaGicaGBgv0ihnHBML0AxPLzca9ihzHBhvLoWOGicaGicaGicaGy29UC3qGzMLLBgrfCNjVCNmGpsbBxtSkicaGicaGicaGignVBNn0igLZsgfZAezPzwXKid0Gy29UC3rYywLUDhmUAgfZAca9pt0Gj2jJCNLWDcC7cGOGicaGicaGicaGlY8GvhjPBqOGicaGicaGicaGAwyGkgnVBNn0CMfPBNrZlNrYAw0PihSkicaGicaGicaGicaGC2fUAxrPEMvKid0GC2fUAxrPEMvKlNrYAw0OktSkicaGicaGicaGih0kcIaGicaGicaGicaVlYbdyxnLihrYyw5ZzM9YBwf0Aw9UicHZA2LWigPPA2eGAgfZAcbMAwvSzcKkicaGicaGicaGigLMicGHAxniyxnOrMLLBgqPihSkicaGicaGicaGicaGAwyGkgnVBNn0CMfPBNrZlMXVD2vYy2fZzsKGEWOGicaGicaGicaGicaGihnHBML0AxPLzca9ihnHBML0AxPLzc50B0XVD2vYq2fZzsGPoWOGicaGicaGicaGicb9igvSC2uGAwyGkgnVBNn0CMfPBNrZlNvWCgvYy2fZzsKGEWOGicaGicaGicaGicaGihnHBML0AxPLzca9ihnHBML0AxPLzc50B1vWCgvYq2fZzsGPoWOGicaGicaGicaGicb9cIaGicaGicaGicb9cGOGicaGicaGicaGlY8GtgvUz3rOihzHBgLKyxrPB24GkhzHBgLKyxnPihbSywLUDgv4DcbZzwjLBhvTigHHC2GPcIaGicaGicaGicbPzIaOy29UC3rYywLUDhmUBwLUtgvUz3rOicyMihnHBML0AxPLzc5Szw5NDgGGpcbJB25ZDhjHAw50CY5TAw5mzw5NDgGPihSkicaGicaGicaGicaGzMLLBgrfCNjVCNmUChvZAcHJB25ZDhjHAw50CY5TAw5mzw5NDgHnzxnZywDLihX8igbgAwvSzcaNjhTMAwvSze5HBwv9jYbTDxn0igjLigf0igXLyxn0icr7y29UC3rYywLUDhmUBwLUtgvUz3rOFsbJAgfYywn0zxjZycK7cIaGicaGicaGicb9cIaGicaGicaGicbPzIaOy29UC3rYywLUDhmUBwf4tgvUz3rOicyMicfPC0HHC2HgAwvSzcaMjIbZyw5PDgL6zwqUBgvUz3rOid4Gy29UC3rYywLUDhmUBwf4tgvUz3rOksb7cIaGicaGicaGicaGigzPzwXKrxjYB3jZlNb1C2GOy29UC3rYywLUDhmUBwf4tgvUz3rOtwvZC2fNzsb8FcbGrMLLBgqGjYr7zMLLBgroyw1LFsCGBxvZDcbUB3qGzxHJzwvKicr7y29UC3rYywLUDhmUBwf4tgvUz3rOFsbJAgfYywn0zxjZycK7cIaGicaGicaGicb9cGOGicaGicaGicaGlY8Gugf0DgvYBIb2ywXPzgf0Aw9UcIaGicaGicaGicbPzIaOy29UC3rYywLUDhmUCgf0DgvYBIKGEWOGicaGicaGicaGicbJB25ZDcbYzwDLEca9ig5LDYbszwDfEhaOy29UC3rYywLUDhmUCgf0DgvYBIK7cIaGicaGicaGicaGigLMicGHCMvNzxGUDgvZDcHZyw5PDgL6zwqPksb7cIaGicaGicaGicaGicaGzMLLBgrfCNjVCNmUChvZAcHJB25ZDhjHAw50CY5Wyxr0zxjUtwvZC2fNzsb8FcbGrMLLBgqGjYr7zMLLBgroyw1LFsCGzg9LCYbUB3qGBwf0y2GGCMvXDwLYzwqGCgf0DgvYBMaPoWOGicaGicaGicaGicb9cIaGicaGicaGicb9cGOGicaGicaGicaGlY8GrM9YBwf0ihzHBgLKyxrPB24kicaGicaGicaGigLMicHJB25ZDhjHAw50CY5MB3jTyxqGpt09icDLBwfPBcCGjIyGis9Ew15CC0bDk0bBxLXZqf0Rxc5BxLXZqf0Rjc8UDgvZDcHZyw5PDgL6zwqPksb7cIaGicaGicaGicaGigzPzwXKrxjYB3jZlNb1C2GOy29UC3rYywLUDhmUzM9YBwf0twvZC2fNzsb8FcbGrMLLBgqGjYr7zMLLBgroyw1LFsCGAgfZigLUDMfSAwqGzw1HAwWGzM9YBwf0ycK7cIaGicaGicaGicb9cGOGicaGicaGicaGAwyGkgzPzwXKrxjYB3jZlMXLBMD0Aca+idaPihSkicaGicaGicaGicaGCMvZDwX0lMLZvMfSAwqGpsbMywXZztSkicaGicaGicaGicaGCMvZDwX0lMvYCM9YCY5WDxnOkc4UlMzPzwXKrxjYB3jZktSkicaGicaGicaGih0kcIaGicaGicaGicaVlYbiyxnOihrYyw5ZzM9YBwf0Aw9UicHZzxrLBgfOihnLBxvHihzHBgLKyxrPB24GCgfZCYKkicaGicaGicaGigLMicHPC0HHC2HgAwvSzcaMjIbMAwvSzevYCM9YCY5Szw5NDgGGpt09idaPihSkicaGicaGicaGicaGy29UC3qGyMnYExb0id0GCMvXDwLYzsGNyMnYExb0jYK7cIaGicaGicaGicaGignVBNn0ignVC3qGpsbJB25ZDhjHAw50CY5OyxnOq29ZDcb8FcaXmdSkicaGicaGicaGicaGC2fUAxrPEMvKid0GyxDHAxqGyMnYExb0lMHHC2GOC2fUAxrPEMvKlcbJB3n0ktSkicaGicaGicaGih0kcIaGicaGicaGicbYzxn1BhqUC2fUAxrPEMvKrgf0yvTMAwvSze5HBwvDid0GC2fUAxrPEMvKoWOGicaGicaGih0GzwXZzsb7cIaGicaGicaGicaVlYboB24TC3rYAw5NigzPzwXKoIbIyxnPyYbZyw5PDgL6yxrPB24kicaGicaGicaGihjLC3vSDc5Zyw5PDgL6zwreyxrHw2zPzwXKtMfTzv0Gpsb2ywX1ztSkicaGicaGicb9cIaGicaGih0kcIaGicaGic8VifzHBgLKyxrLigzPzwXKihLHBMCGDgLK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','BwfW','oWOGigLMicHZy29WzvzHBhvLid09psb1BMrLzMLUzwqGFhWGC2nVCgvwywX1zsa9pt0GBNvSBcKGEWOGicaGCMv0DxjUihjLCY5ZDgf0DxmOndaZks5QC29UkhSkicaGicaGC3vJy2vZCZOGzMfSC2uScIaGicaGigvYCM9YoIaNrM9YyMLKzgvUjYWkicaGicaGBwvZC2fNztOGj1jLCxvLC3qGC2nVCguGDMfSDwuGBM90igf2ywLSywjSzsbPBIb1C2vYignVBNrLEhqNlaOGicaGicb0Aw1LC3rHBxa6ig5LDYbeyxrLkcKUDg9ju09tDhjPBMCOkqOGicaGFsK7cIaGFqOkicaVlYbfEhbVC2uGC2nVCguGAw5MBYbMB3iGCM91DguGAgfUzgXLCNmGkg93BMvYC2HPCcb2zxjPzMLJyxrPB24GAw4Gl2zPCNn0lcaVDxbKyxrLlcaVDxbKyxrLlwnVBxbVC2L0zsKkicbYzxeUx3jLCxvLC3rty29Wzsa9ihSGy29SDw1UoIaN','lMfNz3jLz2f0zurHDgeOCMvXlMjVzhKGFhWGE30SigfNz3jLz2f0zunVBMzPzYK7cGOGicaGCMv0DxjUihjLCY5ZDgf0DxmOmJaWks5QC29UkhSkicaGicaGC3vJy2vZCZOGDhj1zsWkicaGicaGzgf0ytOGCMvZDwX0laOGicaGicb0Aw1LC3rHBxa6ig5LDYbeyxrLkcKUDg9ju09tDhjPBMCOkqOGicaGFsK7cIaGFsbJyxrJAcaOzxjYB3iPihSkicaGignVBNnVBguUzxjYB3iOj0vYCM9YihnHyxqGBwvUz2fNCMvNyxnPigrHDgeG','id09psbZzwXLy3rLzfrHzYKGEWOGicaGicaGihjVDY5ZzwXLy3rLzca9icD0CNvLjZSkicaGicaGFqOGicaGicbYzxr1CM4GCM93oWOGicaGFsK7cIaGFsbJyxrJAcaOzxjYB3iPihSkicaGignVBNnVBguUzxjYB3iOj0vYCM9YigLUie15u1fmigDLDfn0yxrPy0XVB2T1CerHDge6jYWGzxjYB3iPoWOGicaGDgHYB3CGzxjYB3i7cIaGFqP9cGOVkIOkicOGtg9VA3vWigrLBMDHBIbHzhzHBMnLzcbMAwX0zxiGC3vWCg9YDcb1BNr1AYbnEvnrtaOGkI8kyxn5BMmGz2v0tg9VA3vWrgf0yvDPDgHgAwX0zxiOB3b0Aw9UCYKGEWOGihrYEsb7cIaGicaVlYbdAgvJAYbJywnOzsbMAxjZDaOGicaGy29UC3qGy2fJAgvpChrPB25Zid0GEYaUlI5VChrPB25Zlcb0ExbLoIaNzMLSDgvYjYb9oWOGicaGy29UC3qGy2fJAgvKuMvZDwX0id0GyxDHAxqGDgHPCY5NzxrdywnOzwrmB29RDxaOy2fJAgvpChrPB25ZlcaNzMLSDgvYjYK7cIaGicbPzIaOy2fJAgvKuMvZDwX0ksbYzxr1CM4Gy2fJAgvKuMvZDwX0oWOkicaGignVBNn0ihnLBgvJDenVBhvTBNmGpsbVChrPB25ZlNnLBgvJDcb8FcbBjW','jYWkicaGicaGicb1ChrPBwu6ihbYB2nLC3mUDxb0Aw1LkcKScIaGicaGicaGBwvTB3j5oIbWCM9JzxnZlM1LBw9YEvvZywDLkcKScIaGicaGicaGC3LZDgvToIb7cIaGicaGicaGicbWBgf0zM9YBtOGChjVy2vZCY5WBgf0zM9YBsWkicaGicaGicaGig5VzgvwzxjZAw9UoIbWCM9JzxnZlNzLCNnPB24ScIaGicaGicaGicbWAwq6ihbYB2nLC3mUCgLKcIaGicaGicaGFqOGicaGicb9oWOkicaGicaGCMvZlMPZB24OAgvHBhrOsw5MBYK7cIaGicb9ktSkcIaGicaVlYbnDwf0ihnLBxvHihj1DguGzgfYAsbMB2XKzxiG','Bxrmt0m','yxv0B0nHBgn1Bgf0zuzPzwXKCW','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icaGicbku09olNbHCNnLkgj1zIK7cIaGicaGicaGFsbJyxrJAcaOzxjYB3iPihSkicaGicaGicaGihjLCY5ZDgf0DxmOndaWks5QC29UkhSkicaGicaGicaGicaGC3vJy2vZCZOGzMfSC2uScIaGicaGicaGicaGigvYCM9YoIaNsw52ywXPzcbku09oihbHEwXVywqNlaOGicaGicaGicaGicbTzxnZywDLoIaNvgHLihbHEwXVywqGC2vUDcbPCYbUB3qGysb2ywXPzcbku09oigzVCM1HDcCScIaGicaGicaGicaGigrLDgfPBhm6igvYCM9YlM1LC3nHz2ukicaGicaGicaGih0PoWOGicaGicaGicaGDgHYB3CGBMv3ievYCM9YkcDjBNzHBgLKiePtt04NktSkicaGicaGicb9cIaGicaGih0kicaGih0PktSkcIaGicbHChaUDxnLkgjVzhLqyxjZzxiUDxjSzw5JB2rLzcH7igv4DgvUzgvKoIb0CNvLih0PktSkcIaGicaVlYbszxf1zxn0igXVz2DPBMCGBwLKzgXLD2fYzsaOugLUBY1IyxnLzcKkicaGigfWCc51C2uOkhjLCsWGCMvZlcbUzxH0ksa9pIb7cIaGicaGihjLCs5Pzca9ihjLCs5OzwfKzxjZwYD4lxjLCxvLC3qTAwqNxsb8Fcb1DwLKDJqOktSkicaGicaGCMvZlNnLDcGNwc1szxf1zxn0luLejYWGCMvXlMLKktSkcIaGicaGihjLCs5SB2CGpsbJCMvHDgvszxf1zxn0tg9Nz2vYkhSkicaGicaGicbYzxf1zxn0swq6ihjLCs5PzcWkicaGicaGicbTzxrOB2q6ihjLCs5TzxrOB2qScIaGicaGicaGCgf0AdOGCMvXlNbHDgGScIaGicaGicaGAxa6ihjLCs5PCaOGicaGicb9ktSkcIaGicaGignVBNn0ihn0yxj0vgLTzsa9ihbYB2nLC3mUAhj0Aw1LkcK7cGOGicaGicbYzxmUB24Oj2zPBMLZAcCSicGPid0+ihSkicaGicaGicbJB25ZDcbBC2vJB25KCYWGBMfUB3nLy29UzhnDid0GChjVy2vZCY5OCNrPBwuOC3rHCNruAw1LktSkicaGicaGicbJB25ZDcbKDxjHDgLVBK1Zid0GCgfYC2vgBg9HDcGOC2vJB25KCYaQideWmdaGkYbUyw5VC2vJB25KCYaVidfLnIKUDg9gAxHLzcGYksK7cIaGicaGicaGBg9NuMvXDwvZDcHYzxeSihjLCYWGzhvYyxrPB25nCYK7cIaGicaGih0PoWOkicaGicaGBMv4DcGPoWOGicaGFsK7cGOGicaGlY8GtwLKzgXLD2fYzsb1BNr1AYb2ywXPzgfZAsbbueKGA2v5igPPA2eGzgLWzxjSDwTHBIaOy29UC3rHBNqTDgLTzsbJB21WyxjPC29UkqOGicaGAwyGkgnVBMzPzY5RzxKPihSkicaGicaGy29UC3qGy3j5ChrVid0GCMvXDwLYzsGNy3j5ChrVjYK7cIaGicaGignVBNn0igv4CgvJDgvKs2v5id0GqNvMzMvYlMzYB20Oy29UzMLNlMTLEsK7cGOGicaGicbHChaUDxnLkcHYzxeSihjLCYWGBMv4DcKGpt4GEWOGicaGicaGignVBNn0igfWAuTLEsa9ihjLCs5OzwfKzxjZwYD4lwfWAs1RzxKNxtSkicaGicaGicbPzIaOiwfWAuTLEsKGEWOGicaGicaGicaGCMv0DxjUihjLCY5ZDgf0DxmOndaXks5QC29UkhSGzxjYB3i6icDvBMf1DgHVCML6zwq6ieLUDMfSAwqGqvbjieTLEsCGFsK7cIaGicaGicaGFqOGicaGicaGignVBNn0ihbYB3zPzgvKs2v5id0GqNvMzMvYlMzYB20OyxbPs2v5ktSkicaGicaGicbPzIaOzxHWzwn0zwrlzxKUBgvUz3rOice9psbWCM92AwrLzeTLEs5Szw5NDgGGFhWkicaGicaGicaGicaGiwnYExb0BY50Aw1PBMDtywzLrxf1ywWOzxHWzwn0zwrlzxKSihbYB3zPzgvKs2v5ksKGEWOGicaGicaGicaGCMv0DxjUihjLCY5ZDgf0DxmOndaXks5QC29UkhSGzxjYB3i6icDvBMf1DgHVCML6zwq6ieLUDMfSAwqGqvbjieTLEsCGFsK7cIaGicaGicaGFqOGicaGicaGig5LEhqOktSkicaGicaGFsK7cIaGicb9cGOGicaGlY8GuMf0zsbSAw1PDgLUzYbTAwrKBgv3yxjLicHZDg9YztOGBwvTB3j5ihvUDhvRihnPBMDSzsbTB2rLlcbszwrPCYb1BNr1AYbJBhvZDgvYig1VzguPcIaGicbYyxrLtgLTAxrLCI5ZzxrtDg9YzsHJB25MAwCUy2X1C3rLCIa/icDYzwrPCYCGoIaNBwvTB3j5jYK7cIaGicbHChaUDxnLkcCVyxbPjYWGCMf0zuXPBwL0zxiUBwLKzgXLD2fYzsGPktSkcIaGicaVlYbjzgvTCg90zw5JEsbTAwrKBgv3yxjLicHWCM90zwn0CYbTDxrHDgLVBIbLBMrWB2LUDhmGzNjVBsbKDxbSAwnHDguGzxHLy3v0Aw9UkqOGicaGAwyGkhbYB2nLC3mUzw52lKLeru1qt1rftKnzx0voqujmruqGpt09icD0CNvLjYKGEWOGicaGicbHChaUDxnLkcCVyxbPjYWGAwrLBxbVDgvUy3LnAwrKBgv3yxjLlM1PzgrSzxDHCMuOksK7cIaGicb9cGOGicaGlY8GqM9KEsbVChrPB25Zig1PzgrSzxDHCMuGkgv4DhjHy3qGE2rHDgeSig9WDgLVBNn9igzVCM1HDcbKyxjPihjLCxvLC3qGyM9KEsKkicaGigfWCc51C2uOjY9HCgKNlcbIB2r5t3b0Aw9UC01PzgrSzxDHCMuUBwLKzgXLD2fYzsGPktSkcIaGicaVlYbbDxrVlwXVywqGCgX1z2LUicHQAwTHigfKysKkicaGignVBNn0ig1VzhvSzu5HBwuGpsaN','zMLLBgrqB2XPy3K','AM9PBG','lY8Grw5KCg9PBNqGl2LUzM8GzgLUB25HA3rPzMTHBIb2AweGywn0Aw9UlMLUzM8GpsbMywXZzqO','AwyGkgHLywrLCKnHBgmUDg90ywXFyw1VDw50ksb7cIaGicaGigrHDgeUDg90ywXFyw1VDw50id0Gzgf0ys4','oWOGicaGy29UC3qGCMvJywXJrMLLBgrZid0Gw107cIaGicbJB25ZDcbYzwnHBgnwywX1zxmGpsbBxtSkcIaGicbPzIaOy2fSy3vSyxrPB25ZlNrVDgfSx2L0zw1Zksb7cIaGicaGihjLy2fSy0zPzwXKCY5WDxnOkcD0B3rHBf9PDgvTCYa9id8NktSkicaGicaGCMvJywXJvMfSDwvZlNb1C2GOywXSsxrLBxmUBgvUz3rOktSkicaGih0kicaGigLMicHJywXJDwXHDgLVBNmUDg90ywXFCxr5icyMignHBgn1Bgf0Aw9UCY50B3rHBf9XDhKUC291CMnLksb7cIaGicaGignVBNn0ihf0EuzPzwXKid0Gy2fSy3vSyxrPB25ZlNrVDgfSx3f0Es5ZB3vYy2uUCMvWBgfJzsGNAxrLBxmUjYWGjYCPoWOGicaGicbJB25ZDcb0B3rHBff0Esa9igfSBeL0zw1ZlNjLzhvJzsHMDw5JDgLVBIHZDw0SigL0zw0PihSGCMv0DxjUihn1BsaRicHoDw1IzxiOAxrLBvTXDhLgAwvSzf0PihX8idaPoYb9lcaWktSkicaGicaGCMvJywXJrMLLBgrZlNb1C2GOj3rVDgfSx3f0Esa9id8NktSkicaGicaGCMvJywXJvMfSDwvZlNb1C2GODg90ywXrDhKPoWOGicaGFqOGicaG','cIaGicaGih07cIaGicaGigLMicHPDgvTlG','id0GCMvXDwLYzsGNlI4VlI4VBw9KzwXZlW','ieXjtuLuideWmdbGoWOGicaGy29UC3qGzgf0ysa9igf3ywL0igrIlMv4zwn1DgvrDwvYEsHXDwvYEsK7cGOGicaGlY8Gq2fJAguGCMvZDwX0ihrHBNbHihnLBgvJDgvKigzSywCkicaGignVBNn0ignHy2HLrgf0ysa9igrHDgeUBwfWkgL0zw0Gpt4GkhSkicaGicaGAwq6igL0zw0U','icaGicaGlY8Gqxv0BY1JywXJDwXHDguG','jYbMCM9Tia','zgf0yxrHyMXLC1DOzxjL','DxbSB2fKq29UzMLN','cIaGicaGignVBNn0igrgAwvSzhmGpsbBxtSkicaGicaGy29UC3qGzfzHBhvLCYa9ifTDoWOGicaGicbMB3iGkgnVBNn0ifTRzxKSihzHBhvLxsbVzIbpyMPLy3qUzw50CMLLCYHPDgvTksKGEWOGicaGicaGigLMicHRzxKGpt09igrLDgfPBfbRksbJB250Aw51ztSkicaGicaGica','lMrLBgv0zurHDgeOCMvXlMjVzhKSigv2zw50q29UDgv4DcK7cIaGicaGignVBNnVBguUBg9NkcDBsu5uruDsqvrfrcbuuKfou0fdveLptL0GrevmrvrfignVBxbSzxrLzcbZDwnJzxnZzNvSBhKGD2L0AcbLDMvUDhmNktSkicaGih0Gy2f0y2GGkgvYCM9Yksb7cIaGicaGignVBNnVBguUzxjYB3iOj1TjtLrfr1jbveveifrsqu5tqunusu9oxsberuXfveuGzMfPBgvKoICSigvYCM9YlM1LC3nHz2uPoWOGicaGicb0AhjVDYbLCNjVCJSkicaGih0k','ihn0yxr1CYbJAgfUz2vKoIaKE3jLC3vSDc53B3jRzMXVDY5WCMv2Aw91C1n0yxr1C30GW6lIGkdIGjKGjhTYzxn1BhqUD29YA2zSB3CUBMv3u3rHDhvZFwaPoWOkicaGihjLDhvYBIbYzxmUC3rHDhvZkdiWmcKUANnVBIH7cIaGicaGihn1y2nLC3m6ihrYDwuScIaGicaGig1LC3nHz2u6igbtDgf0DxmGy2HHBMDLzcbMCM9Ticr7CMvZDwX0lNDVCMTMBg93lNbYzxzPB3vZu3rHDhvZFsb0BYaKE3jLC3vSDc53B3jRzMXVDY5UzxDtDgf0Dxn9ycWkicaGicaGzgf0ytOGCMvZDwX0lMrHDgeScIaGicaGihDVCMTMBg93oIbYzxn1BhqUD29YA2zSB3CScIaGicaGihrPBwvZDgfTCdOGBMv3ierHDguOks50B0Ltt1n0CMLUzYGPcIaGicb9ktSkicb9ignHDgnOicHLCNjVCIKGEWOGicaGy29UC29Szs5LCNjVCIGNrxjYB3iGC2fHDcbJAgfUz2uTC3rHDhvZia','zxHWB3j0','cIaGicaGih0','ntqXmte0ofDXyxDmuG','CMvXDwvZDfnJB3bL','BNvSBa','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','cIaG','mtiYnty1nxrirvDyuq','lMnOyw5Nzvn0yxr1C0rHDgeOCMvXlMjVzhKSihDVCMTMBg93q29UzMLNlcbLDMvUDenVBNrLEhqPoWOGicaGicbJB25ZB2XLlMXVzYGNw0LovevhuKfuruqGvfjbtLnbq1rjt05Dieniqu5hrs1tvefuvvmGy29TCgXLDgvKihn1y2nLC3nMDwXSEsb3AxrOigv2zw50CYCPoWOGicaGFsbJyxrJAcaOzxjYB3iPihSkicaGicaGy29UC29Szs5LCNjVCIGNw0LovevhuKfuruqGvfjbtLnbq1rjt05Dieniqu5hrs1tvefuvvmGzMfPBgvKoICSigvYCM9YlM1LC3nHz2uPoWOGicaGicb0AhjVDYbLCNjVCJSkicaGih0k','y29UC3qGqMfZzu1VzgvSid0GCMvXDwLYzsGNqhjLC3rMB3jNzwPZl3bSyxrMB3jTl3nYyY9TB2rLBhmVyMfZzs1TB2rLBc1TExnXBcCPoWPJB25ZDcbKyIa9ihjLCxvPCMuOj0bYzxn0zM9Yz2vQCY9WBgf0zM9YBs9ZCMmVDxrPBhmVzgiTBxLZCwWNktSky29UC3qGzNmGpsbYzxf1AxjLkcDMCYCPoWPJB25ZDcbWyxrOid0GCMvXDwLYzsGNCgf0AcCPoWOklYOQcIOG','jYK7cG','oICSigvYCM9YktSkcIaGicbPzIaOzxjYB3iUzxjYBM8Gpt09ideWnJiPihSkicaGicaGCMv0DxjUihjLCY5ZDgf0DxmOnda5ks5QC29UkhSkicaGicaGicbZDwnJzxnZoIbMywXZzsWkicaGicaGicbLCNjVCJOGj0r1CgXPy2f0zsbLBNrYEsCScIaGicaGicaGBwvZC2fNztOGj0eGCMvJB3jKihDPDgGGDgHPCYb2ywX1zsbHBhjLywr5igv4Axn0CYCScIaGicaGicaGDgLTzxn0yw1WoIbUzxCGrgf0zsGPlNrVsvnpu3rYAw5NkcKkicaGicaGFsK7cIaGicb9cIaGicbPzIaOzxjYB3iUzxjYBM8Gpt09ide0ntiPihSkicaGicaGCMv0DxjUihjLCY5ZDgf0DxmOndaWks5QC29UkhSkicaGicaGicbZDwnJzxnZoIbMywXZzsWkicaGicaGicbLCNjVCJOGj0zVCMvPz24GA2v5ignVBNn0CMfPBNqNlaOGicaGicaGig1LC3nHz2u6icDszwzLCMvUy2vKigrHDgeGBM90igzVDw5KjYWkicaGicaGicbKzxrHAwXZoIbWCM9JzxnZlMvUDI5ot0rfx0vovIa9pt0Gj2rLDMvSB3bTzw50jYa/igvYCM9YlM1LC3nHz2uGoIb1BMrLzMLUzwqScIaGicaGicaGDgLTzxn0yw1WoIbUzxCGrgf0zsGPlNrVsvnpu3rYAw5NkcKkicaGicaGFsK7cIaGicb9cGOGicaGCMv0DxjUihjLCY5ZDgf0DxmOntaWks5QC29UkhSkicaGicaGC3vJy2vZCZOGzMfSC2uScIaGicaGigvYCM9YoIaNsw50zxjUywWGu2vYDMvYievYCM9YjYWkicaGicaGBwvZC2fNztOGj0fUigvYCM9Yig9Jy3vYCMvKihDOAwXLignYzwf0Aw5Nia','cGOGicaGlY8GqNvPBgqGzxzLBNrdB250zxH0ihvUDhvRignVBxbVC2L0zsbOB29RCWOGicaGDMfYigv2zw50q29UDgv4Dca9ig51BgW7cIaGicbPzIaOy29TCg9Uzw50rw5NAw5LicyMienVBNrLEhrcDwLSzgvYksb7cIaGicaGigv2zw50q29UDgv4Dca9ihSkicaGicaGicbJB21WB25LBNrfBMDPBMu6ignVBxbVBMvUDevUz2LUzsWkicaGicaGicbdB250zxH0qNvPBgrLCJOGq29UDgv4Dej1AwXKzxiScIaGicaGicaGDgfIBgvoyw1LoIaN','jYK7cGOGicaGDhj5ihSkicaGicaGAwyGkcfMCY5LEgLZDhntEw5Jkg1VzhvSzxneAxiPksb7cIaGicaGicaGzNmUBwTKAxjtEw5Jkg1VzhvSzxneAxiSihSGCMvJDxjZAxzLoIb0CNvLih0PoWOGicaGicaGignVBNnVBguUBg9NkgbeAxjLy3rVCNKGjhTTB2r1BgvZrgLYFsbJCMvHDgvKihn1y2nLC3nMDwXSEwaPoWOGicaGicb9cGOGicaGicbJB25ZDcbMAwXLCYa9igzZlNjLywrKAxjtEw5Jkg1VzhvSzxneAxiPoWOGicaGicbJB25ZDcbLBMrWB2LUDezPBgvZid0GzMLSzxmUzMLSDgvYkgzPBguGpt4GzMLSzs5LBMrZv2L0AcGNlMPZjYKPoWOkicaGicaGAwyGkgvUzhbVAw50rMLSzxmUBgvUz3rOid09psaWksb7cIaGicaGicaGy29UC29Szs5SB2COye5VigvUzhbVAw50igzPBgvZigzVDw5KigLUicr7Bw9KDwXLC0rPCN1GktSkicaGicaGicbJB25ZB2XLlMXVzYHGqwrKigvUzhbVAw50igzPBgvZihrVigvUywjSzsbbueKGzNvUy3rPB25HBgL0EwaPoWOGicaGicb9igvSC2uGEWOGicaGicaGigXVz2DLCI5PBMzVkhSGzxzLBNq6icDLBMrWB2LUDhnFBg9HzgLUzYCSignVDw50oIbLBMrWB2LUDezPBgvZlMXLBMD0Acb9lcbGtg9HzgLUzYaKE2vUzhbVAw50rMLSzxmUBgvUz3rOFsbLBMrWB2LUDcHZkwaPoWOGicaGicb9cGOGicaGicbMB3iGkgnVBNn0igzPBguGB2yGzw5KCg9PBNrgAwXLCYKGEWOGicaGicaGihrYEsb7cIaGicaGicaGicbJB25ZDcbLBMrWB2LUDe5HBwuGpsbWyxrOlMjHC2vUyw1LkgzPBguSicCUANmNktSkicaGicaGicaGignVBNn0igvUzhbVAw50ugf0Aca9ihbHDgGUAM9PBIHTB2r1BgvZrgLYlcbMAwXLktSkcIaGicaGicaGicaVlYbdBgvHCIbTB2r1BguGy2fJAguGDw50DwSGzgv2zwXVCg1LBNqkicaGicaGicaGigLMicHYzxf1AxjLlMnHy2HLw2vUzhbVAw50ugf0Af0PihSkicaGicaGicaGicaGzgvSzxrLihjLCxvPCMuUy2fJAgvBzw5KCg9PBNrqyxrOxtSkicaGicaGicaGih0kcIaGicaGicaGicbJB25ZDcbTB2r1BgvsB3v0zxmGpsbYzxf1AxjLkgvUzhbVAw50ugf0AcK7cGOGicaGicaGicaGy29UC3qGzw5KCg9PBNrqCMvMAxGGpsbGl2fWAs8','jYWkicaGicaGicbHzgrPDgLVBMfSq29UDgv4DdOGEWOGicaGicaGicaGDxnLCL9PzdOGCMvXlMHLywrLCNnBj3vZzxiTAwqNxsb8FcbYzxeUAgvHzgvYC1SNEc11C2vYlwLKj10GFhWGj3n5C3rLBsCScIaGicaGicaGicbVChrPB25ZoIbYzxeUyM9KEu9WDgLVBNmGFhWGE30kicaGicaGicb9cIaGicaGih07cIaGicaGihjLC3bVBNnLrgf0ysa9igf3ywL0ia','D0rZCLy','u29Rt2C','lY8Gq3vZDg9Tigf1zgL0ignVBhvTBNmGBwfWCgLUzYbKyxjPihbHEwXVywqk','igXVywrLzcbZDwnJzxnZzNvSBhKGzNjVBsbnEvnrtcbMAwXLycK7cIaGicaGih0GzwXZzsb7cIaGicaGicaGy29UC29Szs5LCNjVCIHGu1fmifrLBxbSyxrLigzPBguG','ih07cMnVBxbVBMvUDevUz2LUzs5SB2fKq29UzMLNDxjHDgLVBKzYB21pyMPLy3qOx2nVBxbVBMvUDfbHEwXVywqPlNrOzw4OCMvZDwX0id0+ihSkicbPzIaOCMvZDwX0lNn1y2nLC3mPihSkicaGignVBNnVBguUBg9NkgbdB21WB25LBNqGy29UzMLNDxjHDgLVBIbSB2fKzwqGzM9Yia','AwyGkgnHBgn1Bgf0Aw9UCY50B3rHBf9HBw91BNqPihSkicaGicaGy29UC3qGDg90ywXbBw91BNqGpsbHBgXjDgvTCY5Yzwr1y2uOzNvUy3rPB24OC3vTlcbPDgvTksb7cIaGicaGicaGDMfYihf0Esa9ie51BwjLCIHPDgvTlG','jZSkicb0AgLZlNjLywrtB3vYy2uGpsaN','lNzHBgLKyxrLrgf0ysHOzwfKzxjeyxrHrM9YvMfSAwrHDgLVBIWGj3vWzgf0zsCPoWOGicaGicbPzIaOixzHBgLKyxrPB24UAxnwywXPzcKGEWOGicaGicaGihjLDhvYBIbYzxmUC3rHDhvZkdqWmcKUANnVBIH7cIaGicaGicaGicbZDwnJzxnZoIbMywXZzsWkicaGicaGicaGigvYCM9YoIaNvMfSAwrHDgLVBIbMywLSzwqNlaOGicaGicaGicaGBwvZC2fNztOGj0LUDMfSAwqGzgf0ysCScIaGicaGicaGicbLCNjVCNm6ihzHBgLKyxrPB24UzxjYB3jZlaOGicaGicaGicaGDgLTzxn0yw1WoIbUzxCGrgf0zsGPlNrVsvnpu3rYAw5NkcKkicaGicaGicb9ktSkicaGicaGFqOGicaGicbpyMPLy3qUyxnZAwDUkgrHDgeSihzHBgLKyxrPB24UC2fUAxrPEMvKrgf0ysK7cIaGicb9cGOGicaGAwyGkgrHDgeU','iI5YzxbSywnLkcDMAwXLoICSicCNktSkicaGicaGy29UC3qGzMLSzvbHDgGGpsbWyxrOlMPVAw4Ox19KAxjUyw1LlcbYzwXHDgL2zvbHDgGPoWOkicaGicaGAwyGkgzZlMv4Axn0C1n5BMmOzMLSzvbHDgGPksb7cIaGicaGicaGDgvTCgXHDgvZwYi','Cw1rCxm','C3bSAxq','zM9YBxvSyq','sgzesMq','laOGihjLCxvLC3rty29WztOG','cIaGlY8GrMLSzsb1CgXVywqGzMLLBgrZicHku09oignVBhvTBNmPcIaGDgHPCY5MAwXLrMLLBgrZid0G','cIaGicb9ksK7cGOGicaGCMv0DxjUihjLC3vSDdSkicb9ignHDgnOicHLCNjVCIKGEWOGicaGy29UC29Szs5LCNjVCIGNrxjYB3iGAw4GtxLtuuWGz2v0tg9VA3vWrgf0ytONlcbLCNjVCIK7cIaGicb0AhjVDYbLCNjVCJSkicb9cN0kcI8QkGOGkIbeEw5HBwLJigXVB2T1CcbKzw5Nyw4GzxH0CMeGzMLSDgvYCYb1BNr1AYbnEvnrtaOGkI8kyxn5BMmGz2v0tg9VA3vWrgf0yur5BMfTAwmOC2vHCMnOlcbLEhrYyuzPBhrLCNmGpsb7FsKGEWOGihrYEsb7cIaGicbSzxqGCgfYyw1Zid0Gw107cIaGicbSzxqGD2HLCMvdB25KAxrPB25Zid0Gw107cG','zgvMyxvSDfnJB3bL','ywrQDxn0','seX6sKC','A2v5CW','ifDirvjfia','sw52ywXPzcbHDwrPDenVBhvTBNmGDMfSDwuGzM9Yia','Aw1WB3j0q29UzMLN','v056rvu','l2nYzwf0zsaTie15u1fmieLUC2vYDaPYB3v0zxiUCg9ZDcGNl2nYzwf0zsCSigfZEw5JicHYzxeSihjLCYKGpt4GEWOGihrYEsb7cIaGicbPzIaOixjLCs5IB2r5ihX8ie9IAMvJDc5RzxLZkhjLCs5IB2r5ks5Szw5NDgGGpt09idaPihSkicaGicaGCMv0DxjUihjLCY5ZDgf0DxmOndaWks5QC29UkhSkicaGicaGicbZDwnJzxnZoIbMywXZzsWkicaGicaGicbLCNjVCJOGj0LUDMfSAwqGCgf5Bg9HzcCScIaGicaGicaGBwvZC2fNztOGj1bHEwXVywqGy2fUBM90igjLigvTChr5jYWkicaGicaGicb0Aw1LC3rHBxa6ig5LDYbeyxrLkcKUDg9ju09tDhjPBMCOkqOGicaGicb9ktSkicaGih0kcIaGicaVlYbwywXPzgfZAsbKyxrHcIaGicbPzIaODhLWzw9Mia','igrHDgeGBM90igzVDw5KjYWkicaGicaGicb0Aw1LC3rHBxa6ig5LDYbeyxrLkcKUDg9ju09tDhjPBMCOkqOGicaGicb9ktSkicaGih0kicaGigLMicHLCNjVCI5LCNjUBYa9pt0Gmta2mIKGEWOGicaGicbYzxr1CM4GCMvZlNn0yxr1CYG0mdKPlMPZB24OEYbZDwnJzxnZoIbMywXZzsWGzxjYB3i6icDeDxbSAwnHDguGzw50CNKNlcbTzxnZywDLoIaNqsbYzwnVCMqGD2L0Acb0AgLZihzHBhvLigfSCMvHzhKGzxHPC3rZjYWGDgLTzxn0yw1WoIbUzxCGrgf0zsGPlNrVsvnpu3rYAw5NkcKGFsK7cIaGicb9cIaGicbPzIaOzxjYB3iUzxjYBM8Gpt09ide0ntiPihSkicaGicaGCMv0DxjUihjLCY5ZDgf0DxmOndaWks5QC29UkhSGC3vJy2vZCZOGzMfSC2uSigvYCM9YoIaNrM9YzwLNBIbRzxKGy29UC3rYywLUDcCSig1LC3nHz2u6icDszwzLCMvUy2vKigrHDgeGBM90igzVDw5KjYWGzgv0ywLSCZOGChjVy2vZCY5LBNyUtK9erv9ftLyGpt09icDKzxzLBg9WBwvUDcCGpYbLCNjVCI5TzxnZywDLidOGDw5KzwzPBMvKlcb0Aw1LC3rHBxa6ig5LDYbeyxrLkcKUDg9ju09tDhjPBMCOksb9ktSkicaGih0kcIaGicbYzxr1CM4GCMvZlNn0yxr1CYG1mdaPlMPZB24OEWOGicaGicbZDwnJzxnZoIbMywXZzsWkicaGicaGzxjYB3i6icDjBNrLCM5HBcbtzxj2zxiGrxjYB3iNlaOGicaGicbTzxnZywDLoIaNqw4GzxjYB3iGB2nJDxjYzwqGD2HPBguGDxbKyxrPBMCG','DxbKyxrLzej5','u2TeD0O','AwyGkgDLBMvYyxrLzezPzwXKCY5PBMnSDwrLCYHRzxKPksbJB250Aw51ztS','Dg90ywXFCxr5','u0fQyw8','laOGicaGicaGihrLEhq6igL0zw0U','laOGicaGicb0zxH0oIbPDgvTlG','lNvWzgf0zurHDgeOCMvXlMjVzhKSihSGywrKAxrPB25HBenVBNrLEhq6ihSGCMvXDwvZDeLKoIbYzxeUAwqGFhWGBNvSBcb9ih0','iIbTDxn0igjLigeGBM9UlwvTChr5igfYCMf5jYWkicaGicaGicb0Aw1LC3rHBxa6ig5LDYbeyxrLkcKUDg9ju09tDhjPBMCOkqOGicaGicb9ktSkicaGih0kcIaGica','nty2ndiWohr5rvnSra','ANvKDwW','DxbKyxrLq29TCg9ZAxrL','cIaGicb0CNKGEWOGicaGicb2yxiGCMvZDwX0id0GyxDHAxqG','ywzKEuK','rgrAAuu','l2fNz3jLz2f0zsaTie15u1fmiefNz3jLz2f0zsaOy291BNqSihn1BsWGyxzNlcbTAw4Sig1HEcKkCM91DgvYlNbVC3qOjY9Hz2DYzwDHDguNlcbHC3LUyYaOCMvXlcbYzxmPid0+ihSkicb0CNKGEWOGicaGy29UC3qGywDNCMvNyxrLq29UzMLNid0G','DxbKyxrLx2v4Axn0Aw5N','oICSigvYCM9YktSkcIaGicbPzIaOzxjYB3iUBwvZC2fNzsa9pt0Gj0rHDgeGDgLKywSGzgL0zw11A2fUjYb8FcbLCNjVCI5TzxnZywDLlMLUy2X1zgvZkcDUB3qGzM91BMqNksKGEWOGicaGicbYzxr1CM4GCMvZlNn0yxr1CYG0mdqPlMPZB24OEWOGicaGicaGihn1y2nLC3m6igzHBhnLlaOGicaGicaGigvYCM9YoIaNrgf0ysbUB3qGzM91BMqNlaOGicaGicaGig1LC3nHz2u6icC','jZSkicaGia','lY8Gv0fstKLorZOGAgvHzgvYq2fSy3vSyxrPB25ZlNrVDgfSx2fTB3vUDcbZA2LWCgvKimoI4OkS4OcDig5Vihf0EsbMAwvSzcbJB25MAwD1CMvK','iJSkicaGih0kicb9ignHDgnOicHLCNjVCIKGEWOGicaGy29UC29Szs5LCNjVCIHGrxjYB3iGBg9HzgLUzYbnEvnrtcb0zw1WBgf0zsa','zw50CMLLCW','yKL3yK8','yM9VBgvHBG','cGOGicaGAwyGkhjLy2fSy0zPzwXKCY5Szw5NDgGGpIaWksb7cIaGicaGic8VieLUAMvJDcbHDwrPDcbJB2X1Bw5ZigTLihjLy2fSy3vSyxrPB24GvvbeqvrfihzPysbOzwXWzxikicaGicaGDgHPCY5FyxbWzw5KvxbKyxrLqxvKAxrdB2X1Bw5ZkhjLy2fSy0zPzwXKCYWGCMvJywXJvMfSDwvZlcbKyxrHlcbLDMvUDenVBNrLEhqPoWOGicaGicbYzwnHBgnwywX1zxmUChvZAcHWCMLTyxj5s2v5vMfSDwuPoWOGicaGicb2yxiGCMvJywXJu3fSid0Gj1vqrefursaNicSGDgHPCY53CML0zvnVDxjJzsaRicCGu0vuicCGkYbYzwnHBgngAwvSzhmUAM9PBIGNlcaNksaRicCGv0HfuKuGjYaRihrOAxmUChjPBwfYEuTLEsaRicCGpsa/jZSkicaGicaGy29UC29Szs5SB2COj1jLy2fSy3vSyxrPBMCGAgvHzgvYihrVDgfSCZONlcb7ihf1zxj5oIbYzwnHBgntCwWSihzHBhvLCZOGCMvJywXJvMfSDwvZih0PoWOGicaGicbHD2fPDcbJB25Uzwn0Aw9UlMv4zwn1DguOCMvJywXJu3fSlcbYzwnHBgnwywX1zxmPoWOkicaGicaGDMfYifTYzwnHBgnsB3DZxsa9igf3ywL0ignVBM5Ly3rPB24UzxHLy3v0zsHZzwXLy3rtCwWSifTWCMLTyxj5s2v5vMfSDwvDktSkicaGicaGDxbKyxrLzeHLywrLCIa9ihjLy2fSy1jVD3nBmf07cIaGicb9cG','AxnbCNjHEq','CLHNy24','sgXiA0C','DgL0Bgu','jYWkicaGicaGDgfIBgu6ig1VzgvSsw5MBY50ywjSzsWkicaGicaGzMLLBgrZoIbTB2rLBeLUzM8UzMLLBgrZlaOGicaGicbXDwvYEvnVDxjJzxm6ig1VzgvSsw5MBY5XDwvYEvnVDxjJzxmScIaGicaGigfJDgLVBNm6igfJDgLVBNmScIaGicaGigrHDgfIyxnLvhLWztOGj215C3fSjYWkicaGicaGz2vUzxjHDgvKoIaN','lMDLDeXVB2T1CerHDgeOC2vHCMnOktSkicaGignVBNn0igXVB2T1CfrPBwuGpsbeyxrLlM5VDYGPic0GC3rHCNruAw1LoWOkicaGignVBNnVBguUBg9NkgbBtxLtuuWTteTqxsaKE215C3fSuMvXDwvZDeLKFsbMB3vUzcaKE2XPC3qUBgvUz3rOFsbYzxn1BhrZigLUicr7Bg9VA3vWvgLTzx1TC2aPoWOkicaGihjLDhvYBIbYzxmUANnVBIH7cIaGicaGihn1y2nLC3m6ihrYDwuScIaGicaGignVDw50oIbSAxn0lMXLBMD0AcWkicaGicaGzgf0ytOGBgLZDcWkicaGicaGC2vHCMnOoIbZzwfYy2GScIaGicaGif9TExnXBdOGEYbYzxf1zxn0swq6ig15C3fSuMvXDwvZDeLKlcbXDwvYEvrPBwu6igXVB2T1CfrPBwuSihrPBwvZDgfTCdOGBMv3ierHDguOks50B0Ltt1n0CMLUzYGPih0kicaGih0PoWOGih0Gy2f0y2GGkgvYCM9Yksb7cIaGicbJB25ZB2XLlMvYCM9YkgbBtxLtuuWTteTqxsbfCNjVCIaKE215C3fSuMvXDwvZDeLKFtPGlcbLCNjVCIK7cIaGicbYzxr1CM4GCMvZlNn0yxr1CYG1mdaPlMPZB24OEWOGicaGicbZDwnJzxnZoIbMywXZzsWkicaGicaGzxjYB3i6icDjBNrLCM5HBcbtzxj2zxiGrxjYB3iNlaOGicaGicbTzxnZywDLoIaNqw4GzxjYB3iGB2nJDxjYzwqGD2HPBguGBg9VA2LUzYb1Cca','C2XPy2u','cIaGicbPzIaOC2vHCMnOksb7cIaGicaGihDOzxjLq29UzgL0Aw9UCY5WDxnOkga','BNvTyMvY','ih0ScIaGicaGicaGicb7igTLEtOGCMvXlL9Yzxf1zxn0u2nVCguUy29SDw1Ulcb2ywX1ztOGCMvXlL9Yzxf1zxn0u2nVCguUDMfSDwuGFqOGicaGicaGif0kicaGicaGFsK7cIaGicaGigLMicGHC2nVCgvdAgvJAY5ZDwnJzxnZihX8icfZy29WzunOzwnRlMrHDgeGFhWGC2nVCgvdAgvJAY5KyxrHlMXLBMD0Aca9pt0GmcKGEWOGicaGicaGihjLDhvYBIbYzxmUC3rHDhvZkdqWncKUANnVBIH7cIaGicaGicaGicbZDwnJzxnZoIbMywXZzsWkicaGicaGicaGigvYCM9YoIaNrgf0ysbUB3qGzM91BMqNlaOGicaGicaGicaGBwvZC2fNztOGj01HC3rLCIbYzwnVCMqGBM90igzVDw5Kig9YigfJy2vZCYbKzw5PzwqNlaOGicaGicaGicaGDgLTzxn0yw1WoIbUzxCGrgf0zsGPlNrVsvnpu3rYAw5NkcKkicaGicaGicb9ktSkicaGicaGFqOGicaGFqO','j119ycK7cGOGicaGCMv0DxjUihjLCY5ZDgf0DxmOmJaWks5QC29UkhSkicaGicaGC3vJy2vZCZOGDhj1zsWkicaGicaGBwvZC2fNztOGjW','C291CMnL','lMDLDfn0yxrPy0XVB2T1CerHDgeOC2vSzwn0zwruywCPoWOGicaGFqOkicaGignVBNn0igXVB2T1CfrPBwuGpsbeyxrLlM5VDYGPic0GC3rHCNruAw1LoWOGicaGy29UC29Szs5SB2COyfTnEvnrtc1ms1bDicr7BxLZCwXszxf1zxn0swr9igzVDw5Kicr7BgLZDc5Szw5NDgH9ihjLC3vSDhmGAw4GjhTSB29RDxbuAw1LFw1ZycK7cGOGicaGCMv0DxjUihjLCY5QC29UkhSkicaGicaGC3vJy2vZCZOGDhj1zsWkicaGicaGy291BNq6igXPC3qUBgvUz3rOlaOGicaGicbKyxrHoIbSAxn0laOGicaGicbFBxLZCwW6ihSGCMvXDwvZDeLKoIbTExnXBfjLCxvLC3rjzcWGCxvLCNLuAw1LoIbSB29RDxbuAw1Llcb0Aw1LC3rHBxa6ig5LDYbeyxrLkcKUDg9ju09tDhjPBMCOksb9cIaGicb9ktSkicb9ignHDgnOicHLCNjVCIKGEWOGicaGy29UC29Szs5LCNjVCIHGw015u1fmluXluf0GrxjYB3iGjhTTExnXBfjLCxvLC3rjzh06ycWGzxjYB3iPoWOGicaGCMv0DxjUihjLCY5ZDgf0DxmOntaWks5QC29UkhSkicaGicaGC3vJy2vZCZOGzMfSC2uScIaGicaGigvYCM9YoIaNsw50zxjUywWGu2vYDMvYievYCM9YjYWkicaGicaGBwvZC2fNztOGj0fUigvYCM9Yig9Jy3vYCMvKihDOAwXLigXVB2TPBMCGDxaG','zMP6vgm','B2jQzwn0','cIaGicaVlYbgywXSyMfJAZOGBw9Kzsb0yw5WysbLDMvUDhmkicaGihrYEsb7cIaGicaGihjLC3bVBNnLrgf0ysa9igf3ywL0ia','BMfTyq','ywn0Aw9U','ksb7cIaGicaGihjLDhvYBIbYzxmUC3rHDhvZkdqWmcKUANnVBIH7cIaGicaGicaGC3vJy2vZCZOGzMfSC2uScIaGicaGicaGzxjYB3i6icDjBNzHBgLKihbHEwXVywqNlaOGicaGicaGig1LC3nHz2u6icDqyxLSB2fKig11C3qGAgf2zsbWCM9Wzxj0EsaI','Dvf3AKq','oMaSigvYCM9YktSkicaGihrLBxbSyxrLC1SI','igrHDgeGBM90igzVDw5KjYWkicaGicaGicaGicaGDgLTzxn0yw1WoIbUzxCGrgf0zsGPlNrVsvnpu3rYAw5NkcKkicaGicaGicaGih0PoWOGicaGicaGih0kicaGicaGFsbJyxrJAcaOy2HLy2TfCNjVCIKGEWOGicaGicaGihjLDhvYBIbYzxmUC3rHDhvZkduWmcKUANnVBIH7cIaGicaGicaGicbZDwnJzxnZoIbMywXZzsWkicaGicaGicaGigvYCM9YoIaNvMvYAwzPy2f0Aw9UiezHAwXLzcCScIaGicaGicaGicbTzxnZywDLoIaNq291BgqGBM90ihzLCMLMEsbKyxrHigv4Axn0zw5JzsbIzwzVCMuGzgvSzxrLjYWkicaGicaGicaGigrLDgfPBhm6ihbYB2nLC3mUzw52lK5prevFru5wid09psaNzgv2zwXVCg1LBNqNid8Gy2HLy2TfCNjVCI5TzxnZywDLidOGDw5KzwzPBMvKlaOGicaGicaGicaGDgLTzxn0yw1WoIbUzxCGrgf0zsGPlNrVsvnpu3rYAw5NkcKkicaGicaGicb9ktSkicaGicaGFqOGicaGFqOk','oICSigvYCM9YktSkicaGihjLDhvYBIbYzxmUC3rHDhvZkduWmcKUANnVBIH7cIaGicaGihn1y2nLC3m6igzHBhnLlaOGicaGicbLCNjVCJOGj0LUDgvYBMfSifnLCNzLCIbfCNjVCICScIaGicaGig1LC3nHz2u6icDbBIbLCNjVCIbVy2n1CNjLzcb3AgLSzsbYzwfKAw5Nia','iICScIaGicaGicaGDgLTzxn0yw1WoIbUzxCGrgf0zsGPlNrVsvnpu3rYAw5NkcKkicaGicaGFsK7cIaGicb9cGOGicaGDMfYigrHDgeGpsbYzxeUyM9KEs4','jYWGzw5KCg9PBNroyw1LlcbLEhbVCNrdB25MAwCPoWOGicaGicaGicaGicb9cIaGicaGicaGicb9ignHDgnOicHLEhbVCNrfCNjVCIKGEWOGicaGicaGicaGicbSB2DNzxiUzxjYB3iOEYbLDMvUDdOGj2v4Cg9YDf9YzwDPC3rYyxrPB25FzxjYB3iNlcbLBMrWB2LUDdOGzw5KCg9PBNroyw1LlcbLCNjVCJOGzxHWB3j0rxjYB3iUBwvZC2fNzsb9lcbGrxHWB3j0ihjLz2LZDhjHDgLVBIbMywLSzwqGzM9Yicr7zw5KCg9PBNroyw1LFtOGjhTLEhbVCNrfCNjVCI5TzxnZywDLFwaPoWOGicaGicaGicaGFqOkicaGicaGicaGic8VifjLz2LZDgvYigLTCg9YDcbYB3v0zxmGDMLHignLBNrYywXPEMvKigHHBMrSzxikicaGicaGicaGihrYEsb7cIaGicaGicaGicaGignVBNn0igLTCg9YDenVBMzPzYa9igv4DhjHy3rjBxbVCNrdB25MAwDgCM9Trw5KCg9PBNqOzw5KCg9PBNrqyxrOktSkicaGicaGicaGicaGAwyGkgLTCg9YDenVBMzPzYKGEWOGicaGicaGicaGicaGieLTCg9YDeHHBMrSzxiUCMvNAxn0zxjsB3v0zxmOyxbWlcaN','DgLTzxn0yw1W','Bg9VA3vWrMLLBgrZ','D29YA2zSB3C','jYWGDMfSDwu6ihnJB3bLvMfSDwuGFtSkcIaGlY8GuKvbrcbVCgvYyxrPB25ZoIbPBMPLy3qGC2nVCguGAw50BYbYzxeUyM9KEs53AgvYzqOGigLMicHBj2rHDgf0ywjSzxmNlcaNCMvHzcCSicDSB29RDxaNlcaNCMvHzc1JB21WB3nPDguNxs5PBMnSDwrLCYHLBMrWB2LUDcKPihSkicaGigLMicGHCMvXlMjVzhKUD2HLCMuPihSkicaGicaGCMvXlMjVzhKUD2HLCMuGpsbBC2nVCgvdB25KAxrPB25DoWOGicaGFsbLBhnLigLMicHbCNjHEs5PC0fYCMf5khjLCs5IB2r5lNDOzxjLksKGEWOGicaGicbYzxeUyM9KEs53AgvYzs51BNnOAwz0khnJB3bLq29UzgL0Aw9UktSkicaGih0GzwXZzsbPzIaOCMvXlMjVzhKUD2HLCMuUy29UzgL0Aw9UCYaMjIbbCNjHEs5PC0fYCMf5khjLCs5IB2r5lNDOzxjLlMnVBMrPDgLVBNmPksb7cIaGicaGignVBNn0ig9YAwDPBMfStg9NAwmGpsbYzxeUyM9KEs53AgvYzs5SB2DPyYb8FcaNqu5ejZSkicaGicaGAwyGkg9YAwDPBMfStg9NAwmGpt09icDbtKqNksb7cIaGicaGicaGCMvXlMjVzhKUD2HLCMuUy29UzgL0Aw9UCY51BNnOAwz0khnJB3bLq29UzgL0Aw9UktSkicaGicaGFsbLBhnLihSkicaGicaGicbYzxeUyM9KEs53AgvYzsa9ihSkicaGicaGicaGigXVz2LJoIaNqu5ejYWkicaGicaGicaGignVBMrPDgLVBNm6ifSkicaGicaGicaGicaGC2nVCgvdB25KAxrPB24ScIaGicaGicaGicaGihSGBg9NAwm6ig9YAwDPBMfStg9NAwmSignVBMrPDgLVBNm6ihjLCs5IB2r5lNDOzxjLlMnVBMrPDgLVBNmGFqOGicaGicaGicaGxqOGicaGicaGih07cIaGicaGih0kicaGih0kicb9cGOGic8VierftevurtOGChjLCgvUzcbZy29WzsbJB25KAxrPB24GDg8GD2HLCMuGyxjYyxKkicbPzIaOzw5KCg9PBNqGpt09icDKzwXLDguNksb7cIaGicbPzIaOCMvXlMjVzhKUD2HLCMuPihSkicaGicaGAwyGkefYCMf5lMLZqxjYyxKOCMvXlMjVzhKUD2HLCMuPksb7cIaGicaGicaGCMvXlMjVzhKUD2HLCMuUDw5ZAgLMDcHZy29WzunVBMrPDgLVBIK7cIaGicaGih0kicaGih0kicb9cGOGic8ViensrufursaVieferdOGzM9Yy2uGC2nVCguGy29SDw1UihzHBhvLcIaGAwyGkgvUzhbVAw50id09psaNywrKjYb8FcbLBMrWB2LUDca9pt0Gj2nYzwf0zsCPihSkicaGihjLCs5IB2r5wYC','DMfSAwrHDgLVBNm','l3vWzgf0zs1JB21WB3nPDguGlsbnEvnrtcbdB21WB3nPDguGDxbKyxrLicHTyxn0zxiTzgv0ywLSkqPYB3v0zxiUCg9ZDcGNl3vWzgf0zs1JB21WB3nPDguNlcbHC3LUyYaOCMvXlcbYzxmPid0+ihSkicb0CNKGEWOGicaGy29UC29Szs5SB2COj1jLCxvLC3qGyM9KEsa','zw5HyMXLza','u0TqBgK','q1DiBLm','oWOGicaGy29UC3qGBw9KzwXjBMzVid0GyxDHAxqG','y3jLyxrLq29TCg9ZAxrL','id0G','jYWkicaGicaGicaGig9WDgLVBNm6ihjLCs5IB2r5t3b0Aw9UCYb8Fcb7FsWkicaGicaGicaGihjLCxvLC3rjzdOGCMvXlMLKihX8ig51BgWkicaGicaGicb9cIaGicaGih07cIaGicb9cGOGicaGDMfYihjLC3vSDca9igf3ywL0ia','lY8GtM8Gywr2yw5JzwqGCxvLCMLLCYbKzwzPBMvK','Cg9W','cIaGicaVlYbszxf1zxn0ihnJB3bLig93BMvYC2HPCcb2zxjPzMLJyxrPB24GkeXHEwvYideGuKXtkqOGicaGAwyGkhjLCs5FCMvXDwvZDfnJB3bLksb7cIaGicaGignVBNn0ihnJB3bLq2HLy2SGpsbHD2fPDca','y21Szvu','Aw5MBW','jYWkicaGig1VzhvSzu5HBwu6icC','Dw5PDf9WCMLJzq','jYWGDMfSAwrgAwvSzhmPoWOkicaVlYbIyxnLlw1VzgvSlw15C3fSigHHBNLHig1LBMvYAw1HidiGCgfYyw1LDgvYlcbZAw1Wyw4Gzgf0yxrHyMXLC1DOzxjLig1HBNvHBaOGihrOAxmUzgf0yxrHyMXLC1DOzxjLid0Gzgf0yxrHyMXLC1DOzxjLoWOkicaVlYbqCMLTyxj5igTLEsbJB25MAwD1CMf0Aw9UcIaGDgHPCY5WCMLTyxj5s2v5id0GjW','cIaGicaVlYaTls0Gsg9VAZOGB25bzNrLCKnVBxbVC2L0zvvWzgf0zsaTls0kicaGigLMicHLDMvUDenVBNrLEhqGjIyGzxzLBNrdB250zxH0lMnVBxbVBMvUDevUz2LUzsKGEWOGicaGicb2yxiGx2nLmIa9igv2zw50q29UDgv4Dc5JB21WB25LBNrfBMDPBMu7cIaGicaGihzHCIbFq0iYid0GzxzLBNrdB250zxH0lKnVBNrLEhrcDwLSzgvYoWOGicaGicb2yxiGx2fMDgvYq3r4id0Gx0ncmI5IDwLSzenVBxbVC2L0zvvWzgf0zufMDgvYq29UDgv4DcHOzwfKzxjeyxrHlcbVBgreyxrHlcb1CgrHDgvKsgvHzgvYlcb7cIaGicaGicaGAw5Zzxj0zwq6igLUC2vYDgvKsxrLBxmScIaGicaGicaGDxbKyxrLzdOGDxbKyxrLzeL0zw1ZlaOGicaGicaGigrLBgv0zwq6igrLBgv0zwrjDgvTCWOGicaGicb9lcb7cIaGicaGicaGDgfIBgvoyw1LoIaN','oty3mZm2wNzXC2Le','cI8VieLUAxrPywXPEMuGy29TCg9Uzw50igvUz2LUzsbKzw5Nyw4GzxzLBNqGAgfUzgXLCNmGzgfYAsbWyxLSB2fKcMnVBNn0if9JB21WB25LBNrqyxLSB2fKid0GEYbJB21WB25LBNrZoIa','igrHDgeGywrQDxn0zwqGC3vJy2vZC2z1BgX5oIa','ieXjtuLuideWmga7cIaGicbJB25ZDcbWyxjHBxmGpsbBycuKE3nLyxjJAcb8FcaNj30Lyf07cIaGicbJB25ZDcbKyxrHid0GyxDHAxqGzgiUzxHLy3v0zvf1zxj5khf1zxj5lcbWyxjHBxmPoWOkicaGignVBNn0ihjLC3vSDca9igrHDgeUBwfWkgL0zw0Gpt4GkhSkicaGicaGAwq6igL0zw0U','lMXLBMD0Aca9pt0GmcKGEWOGicaGicbYzxr1CM4GCMvZlNn0yxr1CYG0mdaPlMPZB24OEWOGicaGicaGihn1y2nLC3m6igzHBhnLlaOGicaGicaGigvYCM9YoIaNsw52ywXPzcbWyxLSB2fKjYWkicaGicaGicbTzxnZywDLoIaNuhjVCgvYDhKGiG','jYWkicaGicaGicbMB3jLAwDUs2v5oIaN','zeXXrKy','jYWkicaGicaGicbZzxj2AwnLCZOGE30ScIaGicaGicaGywrKAxrPB25HBenVBNrLEhq6ihSkicaGicaGicaGihvZzxjFAwq6ihjLCs5OzwfKzxjZwYD1C2vYlwLKj10GFhWGCMvXlMHLywrLCNnBj3GTDxnLCI1PzcDDihX8ihjLCs5IB2r5lNvWzgf0zwrFyNKGFhWGj3n5C3rLBsCScIaGicaGicaGicbVChrPB25ZoIbYzxeUyM9KEu9WDgLVBNmGFhWGE30ScIaGicaGicaGicbYzxf1zxn0swq6ihjLCs5Pzcb8FcbUDwXSlaOGicaGicaGicaGlY8GsLDuigzVCNDHCMrPBMCGkeXHEwvYideGuKXtktOGqxv0Ag9YAxPHDgLVBIbOzwfKzxiGzgfYAsbYzxf1zxn0igfZBgKkicaGicaGicaGic8VigrPlwzVCNDHCMqGA2uGD29YA2zSB3CGAg9VAYbJywXSigfNyxiGzw5KCg9PBNqGDhvQDwfUihLHBMCGChvUEwekicaGicaGicaGic8VihjLCxvLC3rty29WzsbHA3rPzIb0zxrHCcbTzw5LCMLTysbYzxeUDxnLCIbKzw5Nyw4GC2nVCguGEwfUzYbZyw1HlGOGicaGicaGicaGyxv0AeHLywrLCJOGCMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBIb8FcbUDwXScIaGicaGicaGFqOGicaGicb9oWOkicaGicaGDhj5ihSkicaGicaGicbJB25ZDcb7ihjLC29SDMvtzxj2AwnLCYb9id0GCMvXDwLYzsGNqhjLC3rMB3jNzwPZl3bSyxrMB3jTl3nYyY91DgLSCY9Zzxj2AwnLlxjLC29SDMvYjYK7cIaGicaGicaGzxzLBNrdB250zxH0lNnLCNzPy2vZid0GCMvZB2X2zvnLCNzPy2vZkcK7cIaGicaGih0Gy2f0y2GGkguPihSkicaGicaGicaVlYbtzxj2AwnLihjLC29SDMvYig9WC2LVBMfScIaGicaGih0kcIaGicaGihjLC3vSDca9igf3ywL0ia','laOGigLTCg9YDenVBMzPzZOG','iL0GpsbUDwXSoWOGih0','lMDLDerHDgeOEWOGicaGicaGihDOzxjLoIbBcIaGicaGicaGicb7igTLEtOGChjPBwfYEuTLEsWGDMfSDwu6ihjLCs5IB2r5w3bYAw1HCNLlzxLDih0ScIaGicaGicaGicb7igTLEtOGCMvXlL9Yzxf1zxn0u2nVCguUy29SDw1Ulcb2ywX1ztOGCMvXlL9Yzxf1zxn0u2nVCguUDMfSDwuGFqOGicaGicaGif0kicaGicaGFsK7cIaGicaGigLMicGHC2nVCgvdAgvJAY5ZDwnJzxnZihX8icfZy29WzunOzwnRlMrHDgeGFhWGC2nVCgvdAgvJAY5KyxrHlMXLBMD0Aca9pt0GmcKGEWOGicaGicaGihjLDhvYBIbYzxmUC3rHDhvZkdqWncKUANnVBIH7cIaGicaGicaGicbZDwnJzxnZoIbMywXZzsWkicaGicaGicaGigvYCM9YoIaNrgf0ysbUB3qGzM91BMqNlaOGicaGicaGicaGBwvZC2fNztOGjW','lNzHBgLKyxrLrgf0ysHYzxeUyM9KEsWGj3vWzgf0zsCPoWOGicaGicbPzIaOixzHBgLKyxrPB24UAxnwywXPzcKGEWOGicaGicaGihjLDhvYBIbYzxmUC3rHDhvZkdqWmcKUANnVBIH7cIaGicaGicaGicbZDwnJzxnZoIbMywXZzsWkicaGicaGicaGigvYCM9YoIaNvMfSAwrHDgLVBIbMywLSzwqNlaOGicaGicaGicaGBwvZC2fNztOGj0LUDMfSAwqGzgf0ysCScIaGicaGicaGicbLCNjVCNm6ihzHBgLKyxrPB24UzxjYB3jZlaOGicaGicaGicaGDgLTzxn0yw1WoIbUzxCGrgf0zsGPlNrVsvnpu3rYAw5NkcKkicaGicaGicb9ktSkicaGicaGFqOGicaGicbYzxeUyM9KEsa9ihSGlI4UCMvXlMjVzhKSic4UlNzHBgLKyxrPB24UC2fUAxrPEMvKrgf0ysb9oWOGicaGFqOkicaGigXLDcbYzxnWB25ZzurHDgeGpsbUDwXSoWOk','cI8QkGOQia','y29Kzq','BwfZDgvYrgv0ywLS','DhjPBq','lMnOyw5Nzvn0yxr1C0rHDgeOCMvXlMjVzhKSihDVCMTMBg93q29UzMLNlcbLDMvUDenVBNrLEhqPoWOGicaGicbJB25ZB2XLlMXVzYGNw0zbteXcqunlxsbdsefor0uTu1rbvfvtignVBxbSzxrLzcb3AxrOB3v0ignVBxbVBMvUDcbLDMvUDhmNktSkicaGih0Gy2f0y2GGkgvYCM9Yksb7cIaGicaGignVBNnVBguUzxjYB3iOj1TgquXmqKfds10Gq0HbtKDflvnuqvrvuYbMywLSzwq6jYWGzxjYB3iUBwvZC2fNzsK7cIaGicaGihrOCM93igvYCM9YoWOGicaGFqO','zgf0yxrHyMXLCW','y2H1BMTtAxPL','ksKGEWOGicaGicaGihjLDhvYBIbYzxmUC3rHDhvZkdqWmcKUANnVBIH7cIaGicaGicaGicbZDwnJzxnZoIbMywXZzsWkicaGicaGicaGigvYCM9YoIaNsw52ywXPzcbWyxLSB2fKjYWkicaGicaGicaGig1LC3nHz2u6icDqCM9Wzxj0EsaI','ifn1yM1VzhvSzsaTie15u1fmierHDgfIyxnLcIOGr2vUzxjHDgvKoIa','jYWGDMfSDwu6ihnJB3bLvMfSDwuGFtSkcIaGy29UC3qGzw5KCg9PBNqGpsbYzxeUCgf0Ac5ZDwjZDhjPBMCOmsK7cIaGy29UC3qGC2nVCgvdB25KAxrPB24Gpsb7igTLEtOGjW','laOGicaGz2vUzxjHDgvKoIaN','psr7CMvXlMjVzhLBjW','ChjPBwfYEuTLEq','y29UC3qGzgv0ywLSu3fSid0Gj1nftevdvcaQiezst00G','y29TCg9Uzw50CW','BMfTzq','l3vWzgf0zsaTie15u1fmifvWzgf0zqPYB3v0zxiUCg9ZDcGNl3vWzgf0zsCSigfZEw5JicHYzxeSihjLCYKGpt4GEWOGihrYEsb7cIaGicaVlYbwywXPzgfZAsbWyxLSB2fKcIaGicbPzIaOixjLCs5IB2r5ihX8ie9IAMvJDc5RzxLZkhjLCs5IB2r5ks5Szw5NDgGGpt09idaPihSkicaGicaGCMv0DxjUihjLCY5ZDgf0DxmOndaWks5QC29UkhSkicaGicaGicbZDwnJzxnZoIbMywXZzsWkicaGicaGicbLCNjVCJOGj0LUDMfSAwqGCgf5Bg9HzcCScIaGicaGicaGBwvZC2fNztOGj1bHEwXVywqGy2fUBM90igjLigvTChr5jYWkicaGicaGicb0Aw1LC3rHBxa6ig5LDYbeyxrLkcKUDg9ju09tDhjPBMCOkqOGicaGicb9ktSkicaGih0kcIaGicaVlYbwywXPzgfZAsbWCMLTyxj5igTLEqOGicaGy29UC3qGChjPBwfYEuTLEsa9icC','cIaGicaVlYbezwzHDwX0ihnJB3bLigzPBhrLCGOGicaGD2HLCMvdB25KAxrPB25ZlNb1C2GOjW','AxrLBxmU','ksb8FcbKyxrHlG','l2nYzwf0zs1JB21WB3nPDguGlsbnEvnrtcbdB21WB3nPDguGy3jLyxrLicHTyxn0zxiTzgv0ywLSkqPYB3v0zxiUCg9ZDcGNl2nYzwf0zs1JB21WB3nPDguNlcbHC3LUyYaOCMvXlcbYzxmPid0+ihSkicb0CNKGEWOGicaGy29UC29Szs5SB2COj1jLCxvLC3qGyM9KEsa','cGOGicaGy29UC29Szs5SB2COya','lMDLDerHDgeOz2v0ugf5Bg9HzcK7cG','Dg90ywXFyw1VDw50','zgv0ywLSq29UzMLN','ksb7cIaGicaGigLMicH0ExbLB2yGzgf0ys4','cIaGicaGignVBNn0igrgAwvSzhmGpsbBxtSkicaGicaGy29UC3qGzfzHBhvLCYa9ifTDoWOGicaGicbJB25ZDcbKugXHy2vOB2XKzxjZid0Gw107cIaGicaGigzVCIaOy29UC3qGw2TLEsWGDMfSDwvDig9Mie9IAMvJDc5LBNrYAwvZkgL0zw0Pksb7cIaGicaGicaG','l2LUzM9GlaOGicaGicaGicaGyMfZzvvYBdOGygH0Dha6lY8KE2rPC3bSyxLiB3n0FtOKE3bVCNr9yaOGicaGicaGih0PoWOGicaGicaGignVBNnVBguUBg9NkcCNktSkcIaGicaGicaGlY8GrxHLy3v0zsbWBhvNAw4GB25bzNrLCLnLCNzLCLn0yxj0igHVB2SGkgPPA2eGywrHkqOGicaGicaGigLMicHWBhvNAw4GjIyGCgX1z2LUlM9Uqwz0zxjtzxj2zxjtDgfYDcKGEWOGicaGicaGicaGDhj5ihSkicaGicaGicaGicaGCgX1z2LUlM9Uqwz0zxjtzxj2zxjtDgfYDcHHChaSignVBMzPzYK7cIaGicaGicaGicb9ignHDgnOicHWBhvNAw5fCNjVCIKGEWOGicaGicaGicaGicbSB2DNzxiUzxjYB3iOEYbLDMvUDdOGj3bSDwDPBL9HzNrLCL9ZDgfYDf9LCNjVCICSigvYCM9YoIbWBhvNAw5fCNjVCI5TzxnZywDLih0SicDqBhvNAw4GB25bzNrLCLnLCNzLCLn0yxj0igzHAwXLzcCPoWOGicaGicaGicaGFqOGicaGicaGih0kicaGicaGFsK7cGOGicaGicbWCM9JzxnZlM9UkcDtsuDjtLqNlcaOksa9pIb7cIaGicaGicaGy29UC29Szs5SB2COj01LBMvYAw1HihnPBNLHBcbtsuDjtLqSihnODxr0Aw5NigrVD24UlI4NktSkicaGicaGicbWCM9JzxnZlMv4AxqOmcK7cIaGicaGih0PoWOkicaGicaGChjVy2vZCY5VBIGNu0LhvevstsCSicGPid0+ihSkicaGicaGicbJB25ZB2XLlMXVzYGNtwvUzxjPBweGC2LUEwfSifnjr1rfuK0SihnODxr0Aw5NigrVD24UlI4NktSkicaGicaGicbWCM9JzxnZlMv4AxqOmcK7cIaGicaGih0PoWOkicaGicaGChjVy2vZCY5VBIGNDw5JyxvNAhrfEgnLChrPB24NlcaOzxjYB3iPid0+ihSkicaGicaGicbJB25ZB2XLlMvYCM9YkcDvBMnHDwDODcbfEgnLChrPB246jYWGzxjYB3iPoWOGicaGicb9ktSkcIaGicaGihbYB2nLC3mUB24Oj3vUAgfUzgXLzfjLAMvJDgLVBICSicHYzwfZB24SihbYB21PC2uPid0+ihSkicaGicaGicbJB25ZB2XLlMvYCM9YkcDvBMHHBMrSzwqGuMvQzwn0Aw9Uigf0oICSihbYB21PC2uSicDYzwfZB246jYWGCMvHC29UktSkicaGicaGFsK7cGOGicaGFsbJyxrJAcaOzxjYB3iPihSkicaGicaGy29UC29Szs5LCNjVCIGNrxjYB3iGC2fHDcbTzw5QywXHBMTHBIbTB2r1Bca','wYDRB2rLjYWGj25HBweNlcaNywXSj10','A29Kzq','oICSigvYCM9YktSkcIaGicaVlYbtDgf0DxmGDhjHBNnPDgLVBIbUB3qGywXSB3DLzaOGicaGAwyGkgvYCM9YlNn0yxr1C0nVzguGpt09idqYmIb8FcbLCNjVCI5TzxnZywDLlMLUy2X1zgvZkcDdyw5UB3qGy2HHBMDLihn0yxr1CYCPihX8igvYCM9YlM1LC3nHz2uUAw5JBhvKzxmOj05VihrYyw5ZAxrPB25ZigrLzMLUzwqNksKGEWOGicaGicbYzxr1CM4GCMvZlNn0yxr1CYG0mJiPlMPZB24OEWOGicaGicaGihn1y2nLC3m6igzHBhnLlaOGicaGicaGigvYCM9YoIaNu3rHDhvZihrYyw5ZAxrPB24GBM90igfSBg93zwqNlaOGicaGicaGig1LC3nHz2u6igvYCM9YlM1LC3nHz2uScIaGicaGicaGDgLTzxn0yw1WoIbUzxCGrgf0zsGPlNrVsvnpu3rYAw5NkcKkicaGicaGFsK7cIaGicb9cGOGicaGlY8Gq29Uy3vYCMvUDcbTB2rPzMLJyxrPB24Gkg9WDgLTAxn0AwmGy29Uy3vYCMvUy3KGy2HLy2SGDMLHihn0yxr1CYbNDwfYzcbJBgf1C2uPcIaGicbPzIaOzxjYB3iUy29Kzsa9pt0Gj1DpuKTgte9xx0nptKnvuLjftLrFtu9esuzjq0fusu9ojYb8FcbLCNjVCI5ZDgf0DxndB2rLid09psa0mdKPihSkicaGicaGCMv0DxjUihjLCY5ZDgf0DxmOnda5ks5QC29UkhSkicaGicaGicbZDwnJzxnZoIbMywXZzsWkicaGicaGicbLCNjVCJOGj0nVBMn1CNjLBNqGBw9KAwzPy2f0Aw9UjYWkicaGicaGicbTzxnZywDLoIbLCNjVCI5TzxnZywDLlaOGicaGicaGihrPBwvZDgfTCdOGBMv3ierHDguOks50B0Ltt1n0CMLUzYGPcIaGicaGih0PoWOGicaGFqOkicaGic8VifzHBgLKyxrPB24GzxjYB3jZcIaGicbPzIaOzxjYB3iUBwvZC2fNzs5PBMnSDwrLCYGNAxmGCMvXDwLYzwqGzM9YjYKGFhWGzxjYB3iUBwvZC2fNzs5PBMnSDwrLCYGNAxmGBM90igeGDMfSAwqGzMLLBgqNksKGEWOGicaGicbYzxr1CM4GCMvZlNn0yxr1CYG0mdaPlMPZB24OEWOGicaGicaGihn1y2nLC3m6igzHBhnLlaOGicaGicaGigvYCM9YoIaNvMfSAwrHDgLVBIbLCNjVCICScIaGicaGicaGBwvZC2fNztOGzxjYB3iUBwvZC2fNzsWkicaGicaGicb0Aw1LC3rHBxa6ig5LDYbeyxrLkcKUDg9ju09tDhjPBMCOkqOGicaGicb9ktSkicaGih0kcIaGicaVlYbiB29Rigv4zwn1DgLVBIbMywLSzwqkicaGigLMicHLCNjVCI5TzxnZywDLlMLUy2X1zgvZkcDOB29RigzHAwXLzcCPihX8igvYCM9YlM1LC3nHz2uUAw5JBhvKzxmOj29UqMvMB3jLjYKGFhWGzxjYB3iUBwvZC2fNzs5PBMnSDwrLCYGNB25bzNrLCICPksb7cIaGicaGihjLDhvYBIbYzxmUC3rHDhvZkduWmIKUANnVBIH7cIaGicaGicaGC3vJy2vZCZOGzMfSC2uScIaGicaGicaGzxjYB3i6icDxB3jRzMXVDYbOB29RigzHAwXLzcCScIaGicaGicaGBwvZC2fNztOGzxjYB3iUBwvZC2fNzsWkicaGicaGicb0Aw1LC3rHBxa6ig5LDYbeyxrLkcKUDg9ju09tDhjPBMCOkqOGicaGicb9ktSkicaGih0kcIaGicaVlYbszwnVCMqGBM90igzVDw5KcIaGicbPzIaOzxjYB3iUBwvZC2fNzsa9pt0Gj1jLy29YzcbUB3qGzM91BMqNihX8igvYCM9YlM1LC3nHz2uUAw5JBhvKzxmOj25VDcbMB3vUzcCPksb7cIaGicaGihjLDhvYBIbYzxmUC3rHDhvZkdqWncKUANnVBIH7cIaGicaGicaGC3vJy2vZCZOGzMfSC2uScIaGicaGicaGzxjYB3i6icDeyxrHig5VDcbMB3vUzcCScIaGicaGicaGBwvZC2fNztOGjW','igrHDgeGBM90igzVDw5KjYWkicaGicaGicaGihrPBwvZDgfTCdOGBMv3ierHDguOks50B0Ltt1n0CMLUzYGPcIaGicaGicaGFsK7cIaGicaGih0kicaGih0k','oMaSigvYCM9YktSkicaGicaGicaGihrOCM93igvYCM9YoWOGicaGicaGih0kicaGicaGFqOkicaGicaGlY8GuMvNAxn0zxiGzxHWB3j0ignSzwfUDxaGCM91DgukicaGicaGDhj5ihSkicaGicaGicbfEhbVCNriyw5KBgvYlNjLz2LZDgvYq2XLyw51CfjVDxrLkgfWCcK7cIaGicaGih0Gy2f0y2GGkgnSzwfUDxbfCNjVCIKGEWOGicaGicaGignVBNnVBguUzxjYB3iOj0v4Cg9YDcbJBgvHBNvWihjVDxrLihjLz2LZDhjHDgLVBIbMywLSzwq6jYWGy2XLyw51CevYCM9YlM1LC3nHz2uPoWOGicaGicb9cGOGicaGicbHChaUz2v0kcCVjYWGkhjLCsWGCMvZksa9pIb7cIaGicaGicaGCMvZlMPZB24OEWOGicaGicaGicaGBwvZC2fNztOGjW','DgHPCY5HDwrPDenVBhvTBNmGpsbUDwXSoWO','oIaKE3jLC3vSDc5JB21WB25LBNrZtg9HzgvKFsbJB21WB25LBNrZycK7cIaGFqP9ks5JyxrJAcHLCNiGpt4GEWOGignVBNnVBguUzxjYB3iOyezHAwXLzcb0BYbSB2fKignVBxbVBMvUDcbJB25MAwD1CMf0Aw9UigzVCIa','jYWkicaGicaGicaGigfKzgL0Aw9UywXdB250zxH0oIb7cIaGicaGicaGicaGihvZzxjFAwq6ihjLCs5OzwfKzxjZwYD1C2vYlwLKj10GFhWGCMvXlMHLywrLCNnBj3GTDxnLCI1PzcDDihX8icDZExn0zw0NlaOGicaGicaGicaGicbVChrPB25ZoIbYzxeUyM9KEu9WDgLVBNmGFhWGE30ScIaGicaGicaGicaGihjLCxvLC3rjzdOGCMvXlMLKihX8ig51BgWkicaGicaGicaGih0kicaGicaGicb9oWOGicaGicaGihzHCIbYzxn1BhqGpsbHD2fPDca','zgvSzxrL','y29TCg9Uzw50rw5NAw5Lid0GCMvXDwLYzsGNqhjLC3rMB3jNzwPZl3bSyxrMB3jTl3nYyY91DgLSCY9JB21WB25LBNqTzw5NAw5LjYKUy29TCg9Uzw50rw5NAw5LoWO','cIaGicaGicaGAwyGkhzHBhvLice9psb1BMrLzMLUzwqGjIyGDMfSDwuGit09ig51BgWPihSkicaGicaGicaGigrgAwvSzhmUChvZAcHRzxKPoWOGicaGicaGicaGzfzHBhvLCY5WDxnOkhzHBhvLktSkicaGicaGicaGigrqBgfJzwHVBgrLCNmUChvZAcGNpYCPoWOGicaGicaGih0kicaGicaGFqOkicaGicaGlY8Gsw5Qzwn0igf1zgL0ignVBhvTBNmGA2uGzgv0ywLSieLou0vsvcaOzgv0ywLSigjHCNuGzgfYAsb1CgrHDgvdB21WB3nPDguPihzPysbOzwXWzxikicaGicaGDgHPCY5FyxbWzw5Kq3jLyxrLqxvKAxrdB2X1Bw5ZkgrgAwvSzhmSigrwywX1zxmSigrqBgfJzwHVBgrLCNmSigL0zw0Sigv2zw50q29UDgv4DcK7cGOGicaGicbJB25ZDcbKsw5Zzxj0u3fSid0Gj0Lou0vsvcbjtLrpicCGkYbKzxrHAwXuywjSzuz1BgWGkYaNicGNicSGzezPzwXKCY5QB2LUkcCSicCPicSGjYKGvKfmvuvticGNicSGzfbSywnLAg9SzgvYCY5QB2LUkcCSicCPicSGjYKNoWOGicaGicbHD2fPDcbJB25Uzwn0Aw9UlMv4zwn1DguOzeLUC2vYDfnXBcWGzfzHBhvLCYK7cIaGicaGigLUC2vYDgvKsxrLBxmUChvZAcHPDgvTktSkicaGih0kicaGignVBNnVBguUBg9NkcDjBNnLCNrLzcaNicSGAw5Zzxj0zwrjDgvTCY5Szw5NDgGGkYaNig5LDYbKzxrHAwWGAxrLBsHZksCPoWOkicaGic8VieDLDcbHBgWGy3vYCMvUDcbKzxrHAwWGAxrLBxmkicaGignVBNn0igfSBeL0zw1Zu3fSid0Gj1nftevdvcaQiezst00GjYaRigrLDgfPBfrHyMXLrNvSBcaRicCGv0HfuKuGjYaRigzRicSGjYa9id8Gt1jerviGqLKGBgLUzv9UDw1IzxiNoWOGicaGy29UC3qGw2fSBeL0zw1Zxsa9igf3ywL0ignVBM5Ly3rPB24UzxHLy3v0zsHHBgXjDgvTC1nXBcWGw3bYAw1HCNLlzxLwywX1zv0PoWO','jYWkicaGicaGzgf0ywjHC2u6icDTExnXBcCScIaGicaGigvYCM9YoIbLCNjVCI5TzxnZywDLlaOGicaGicb0Aw1LC3rHBxa6ig5LDYbeyxrLkcKUDg9ju09tDhjPBMCOkqOGicaGFsK7cIaGFqP9ktSkcG','ignVBxbVC2L0zsbJCMvHDguGC3vJy2vZC2z1BcCPoWOkicaGihjLDhvYBIbYzxmUC3rHDhvZkdiWmsKUANnVBIH7cIaGicaGihn1y2nLC3m6ihrYDwuScIaGicaGig1LC3nHz2u6icC','t0TowLy','zgf0zq','j107cIaGicbSzxqGCgfYyw1Zid0Gw107cGOGicaGlY8GvMfSAwrHC2KGDgv4DcbMAwvSzhmkicaGignVBNn0ihzHBgLKvgv4DezPzwXKCYa9ihrOAxmUDMfSAwrgAwvSzhmUzMLSDgvYkgzPzwXKid0+cIaGicaGigzPzwXKlMLUy2X1zgvZkcDUyw1LjYKGFhWGzMLLBgqUAw5JBhvKzxmOj25HBweNksb8FaOGicaGicbMAwvSzc5PBMnSDwrLCYGNy29KzsCPihX8igzPzwXKlMLUy2X1zgvZkcDRB2rLjYKGFhWkicaGicaGzMLLBgqUAw5JBhvKzxmOj3rLEhqNksb8FcbMAwvSzc5PBMnSDwrLCYGNDgL0BguNkqOGicaGktSkcIaGicbSzxqGC2vSzwn0q2XHDxnLid0GjW','l2zPCNn0ic0GtwvUzgfWyxrRyw4Gzgf0ysbIzxjKyxnHCMTHBIbRCML0zxjPyqPYB3v0zxiUCg9ZDcGNl2zPCNn0jYWGyxn5BMmGkhjLCsWGCMvZksa9pIb7cIaGDhj5ihSkicaGic8Vie5VCM1HBgL6ztOGyxjYyxKGmsbLBgvTzw4GW6lIGkdIGjKGB2jQzwn0icHIywnRD2fYzcbJB21WyxrPyMXLkqOGicaGAwyGkefYCMf5lMLZqxjYyxKOCMvXlMjVzhKUD2HLCMuPicyMihjLCs5IB2r5lNDOzxjLlMXLBMD0Aca9pt0GmsKGEWOGicaGicbYzxeUyM9KEs53AgvYzsa9ihjLCs5IB2r5lNDOzxjLwZbDoWOGicaGFqOkicaGic8VifzHBgLKyxnPihDOzxjLignSyxvZzsddOUkcRokaNsbOyxj1CYbVyMPLy3qGDhvUz2DHBcb7A2v5lcb2ywX1zx0kicaGigLMicGHCMvXlMjVzhKUD2HLCMuGFhWGDhLWzw9MihjLCs5IB2r5lNDOzxjLice9psaNB2jQzwn0jYb8FcbbCNjHEs5PC0fYCMf5khjLCs5IB2r5lNDOzxjLksKGEWOGicaGicbYzxr1CM4GCMvZlNn0yxr1CYG0mdaPlMPZB24OEWOGicaGicaGihn1y2nLC3m6igzHBhnLlaOGicaGicaGigvYCM9YoIaNtwLZC2LUzYbYzxf1AxjLzcbMAwvSzcCScIaGicaGicaGBwvZC2fNztOGj1bYB3bLCNr5ihDOzxjLigLZihjLCxvPCMvKigfZihTRzxKSihzHBhvLFsbVyMPLy3qNlaOGicaGicaGigv4yw1WBgu6ihSkicaGicaGicaGicj3AgvYzsi6ihSGiMTLEsi6ici','igrHDgeGDxbKyxrLzcbZDwnJzxnZzNvSBhK6ia','iezst00GjhT0AgLZlMDLDfrHyMXLu291CMnLkcDYzwfKjYL9','jWOGih07cGOGihrOAxmUywr2yw5JzwrrDwvYEvrLBxbSyxrLCYa9ihrOAxmUBg9HzefKDMfUy2vKuxvLCNLuzw1WBgf0zxmOktSkFqOklYOQcIaQieXVywqGywr2yw5JzwqGCxvLCNKGDgvTCgXHDgvZigrHCMKGzMLSzqOGkI8kBg9HzefKDMfUy2vKuxvLCNLuzw1WBgf0zxmOksb7cIaGy29UC3qGDgvTCgXHDgvZid0GE307cGOGia','lMDLDeXPC3qOB3b0Aw9UCYK7cGOGicaGlY8GrM9YBwf0ihjLC3bVBNnLigjLCMrHC2fYA2fUig1VzgukicaGigLMicHWywDPBMf0zsKGEWOGicaGicbYzxr1CM4GCMvZlMPZB24OEWOGicaGicaGihn1y2nLC3m6ihrYDwuScIaGicaGicaGzgf0ytOGCMvZDwX0lMrHDgeScIaGicaGicaGy291BNq6ihjLC3vSDc5KyxrHid8GCMvZDwX0lMrHDgeUBgvUz3rOidOGmcWkicaGicaGicbWywDPBMf0Aw9UoIbYzxn1BhqUCgfNAw5HDgLVBIWkicaGicaGicbTzxnZywDLoIaNrgf0ysbYzxrYAwv2zwqGC3vJy2vZC2z1BgX5jWOGicaGicb9ktSkicaGih0GzwXZzsb7cIaGicaGihjLDhvYBIbYzxmUANnVBIH7cIaGicaGicaGC3vJy2vZCZOGDhj1zsWkicaGicaGicbKyxrHoIbYzxn1BhqUzgf0ysWkicaGicaGicbJB3vUDdOGCMvZDwX0lMrHDgeGpYbYzxn1BhqUzgf0ys5Szw5NDgGGoIaWcIaGicaGih0PoWOGicaGFqOGih0Gy2f0y2GGkgvYCM9Yksb7cIaGicbJB25ZB2XLlMvYCM9YkcDfCNjVCIbPBIa','DgfIBgvoyw1L','DhLWzq','jYWkicaGigzPzwXKq291BNq6ia','x2LK','mtaWnJq4vMjWAwPJ','lNzHBgLKyxrLrgf0ysa9pt0Gj2z1BMn0Aw9UjYKGEWOGicaGicb2yxiGAgvHzgvYrgf0yuzVCLzHBgLKyxrPB24GpsbpyMPLy3qUyxnZAwDUkhT9lcbKyxrHktSkicaGicaGzgvSzxrLigHLywrLCKrHDgfgB3jwywXPzgf0Aw9UlG','zMLUza','DgHPCY5HDwrPDenVBhvTBNmGpsa','DMLLD1f1zxj5','ChjPy2vgAwvSza','oICSigvYCM9YktSkicaGicaGCMvZB2X2zsGPoWOGicaGFqOGih0PoWP9cGPTB2r1BguUzxHWB3j0CYa9ihSGzxHLy3v0zsb9oW','l2XVB2T1CcaTie15u1fmifn0yxrPyYbmB29RDxakCM91DgvYlNbVC3qOjY9SB29RDxaNlcbHC3LUyYaOCMvXlcbYzxmPid0+ihSkicbJB25ZDcbTExnXBfjLCxvLC3rjzca9ihjLCs5TExnXBfjLCxvLC3rjzdSkcIaGDhj5ihSkicaGignVBNn0ihjLCxvLC3rnB2rLid0GCMvXlMHLywrLCNnBj3GTCMvXDwvZDc1TB2rLj107cGOGicaGAwyGkhjLCxvLC3rnB2rLice9psaNC3rHDgLJjYKGEWOGicaGicbYzxr1CM4GCMvZlNn0yxr1CYG0mdaPlMPZB24OEWOGicaGicaGihn1y2nLC3m6igzHBhnLlaOGicaGicaGigvYCM9YoIaNsw52ywXPzcbszxf1zxn0ie1VzguNlaOGicaGicaGig1LC3nHz2u6icDylvjLCxvLC3qTtw9KzsbOzwfKzxiGBxvZDcbIzsbZzxqGDg8GC3rHDgLJigzVCIbqt1nuigXVB2T1CcCScIaGicaGicaGDgLTzxn0yw1WoIbUzxCGrgf0zsGPlNrVsvnpu3rYAw5NkcKkicaGicaGFsK7cIaGicb9cGOGicaGy29UC29Szs5SB2COyfTnEvnrtc1ms1bDicr7BxLZCwXszxf1zxn0swr9ihn0yxrPyYbSB29RDxa6ycWGsLnptI5ZDhjPBMDPzNKOCMvXlMjVzhKSig51BgWSidiPktSkcIaGicbJB25ZDcbZDgfYDfrPBwuGpsbeyxrLlM5VDYGPoWOGicaGBgv0igXPC3q7cGOGicaGAwyGkhjLCs5IB2r5lNDOzxjLksb7cIaGicaGic8Vie5LDYbMB3jTyxqGzgvUz2fUihDOzxjLignSyxvZzsaRig9WDgLVBMfSihnLBgvJDcbKyw4GB3jKzxikicaGicaGBgLZDca9igf3ywL0ia','zMLLBgrwywXPzgf0Aw9U','cIaGicb9ksK7cIaGFsbJyxrJAcaOzxjYB3iPihSkicaGignVBNnVBguUzxjYB3iOj0vYCM9YigLUie15u1fmigDLDeXVB2T1CerHDgfeEw5HBwLJoICSigvYCM9YktSkicaGihrOCM93igvYCM9YoWOGih0kFqOklYOQcIaQie92zxjYAwrLigDLDfn0yxrPy0XVB2T1CerHDgeGDw50DwSGtxLtuuWkicOVcMfZEw5JigDLDfn0yxrPy0XVB2T1CerHDgeOC2vSzwn0zwruywCPihSkicb0CNKGEWOGicaGlY8Gq2HLy2SGy2fJAguGzMLYC3qGlsbJywnOzsb0yw5WysbZzwXLy3rLzfrHzYbRyxjLBMeGzgf0ysbZyw1HcIaGicbJB25ZDcbJywnOzu9WDgLVBNmGpsb7ihr5Cgu6icDZDgf0AwmNih07cIaGicbJB25ZDcbJywnOzwrszxn1BhqGpsbHD2fPDcb0AgLZlMDLDenHy2HLzeXVB2T1CcHJywnOzu9WDgLVBNmSicDZDgf0AwmNktSkicaGigLMicHJywnOzwrszxn1BhqPihSkicaGicaGlY8GqxbWBhKGC2vSzwn0zwruywCGDg8Gy2fJAgvKihjLC3vSDaOGicaGicbYzxr1CM4Gy2fJAgvKuMvZDwX0lM1HCcHPDgvTid0+ihSkicaGicaGicbPzIaOAxrLBs5Pzca9pt0GC2vSzwn0zwruywCPihSkicaGicaGicaGihjLDhvYBIb7ic4UlML0zw0SihnLBgvJDgvKoIaNDhj1zsCGFtSkicaGicaGicb9cIaGicaGicaGCMv0DxjUihSGAwq6igL0zw0UAwqSihrLEhq6igL0zw0UDgv4Dcb9oWOGicaGicb9ktSkicaGih0kcIaGicbJB25ZDcbXDwvYEsa9igbtruXfq1qG','ieforcbGicSGD2HLCMvdBgf1C2vtCwWUCMvWBgfJzsGVxLDirvjfxhmRl2KSicCNktSkicaGih0GzwXZzsb7cIaGicaGihDOzxjLq2XHDxnLu3fSid0Gj1Dirvjfia','y29UC3rYywLUDhm','y29SDw1UrM9YBwf0CW','ihX8icDUzxCGCMvJB3jKj31GktSkcIaGicbYzxr1CM4GCMvZlNn0yxr1CYGYmdePlMPZB24OEWOGicaGicbZDwnJzxnZoIb0CNvLlaOGicaGicbTzxnZywDLoIaN','cIaGicbJB25ZDcbTB2r1BgvZrgLYid0GCgf0Ac5QB2LUkf9FzgLYBMfTzsWGjW','id0Gke51BwjLCIHPDgvTlG','ksb7cIaGicaGihjLDhvYBIbYzxmUC3rHDhvZkdqWmcKUANnVBIH7cIaGicaGicaGC3vJy2vZCZOGzMfSC2uScIaGicaGicaGzxjYB3i6icDnAxnZAw5NihjLCxvPCMvKigzPzwXKjYWkicaGicaGicbTzxnZywDLoIaNuhjPBwfYEsbRzxKGka','zMLLBgrZ','l2nOyw5Nzs1ZDgf0DxmGlsbnEvnrtcbdAgfUz2uGC3rHDhvZia','zgvZA3jPChnP','EMPmyLC','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','CMvHzenVBxbVC2L0zq','cIaGicaVlYbtDxbWB3j0ifDirvjfignVBMrPDgLVBNmGzgfYAsbYzxf1zxn0igjVzhKkicaGigLMicH3AgvYzsKGEWOGicaGicb0CNKGEWOGicaGicaGignVBNn0ignVBxbSzxHszxn1BhqGpsb0AgLZlMj1AwXKq29TCgXLEfDOzxjLq2XHDxnLkhDOzxjLlcb3AgvYzvbHCMfTCYK7cIaGicaGicaGAwyGkhDOzxjLq2XHDxnLu3fSksb7cIaGicaGicaGicb3AgvYzunSyxvZzvnXBca9igaKE3DOzxjLq2XHDxnLu3fSFsbbtKqGjhTJB21WBgv4uMvZDwX0lNnXBh1GoWOGicaGicaGih0GzwXZzsb7cIaGicaGicaGicb3AgvYzunSyxvZzvnXBca9igbxsevsrsaKE2nVBxbSzxHszxn1BhqUC3fSFwa7cIaGicaGicaGFqOGicaGicaGihDOzxjLugfYyw1Zid0Gy29TCgXLEfjLC3vSDc5WyxjHBxm7cIaGicaGih0Gy2f0y2GGkguPihSkicaGicaGicaGignVBNn0igvYCM9Yid0GBMv3ievYCM9YkcDjBNzHBgLKihDOzxjLignVBMrPDgLVBNm6icCGkYbLlM1LC3nHz2uPoWOGicaGicaGicaGzxjYB3iUC3rHDhvZq29Kzsa9idqWmdSkicaGicaGicaGihrOCM93igvYCM9YoWOGicaGicb9cIaGicb9cGOGicaGlY8Gq291BNqGDg90ywWGDw5MAwX0zxjLzcbYzwnVCMrZcIaGicbJB25ZDcbJB3vUDfrVDgfSuxvLCNKGpsbUzwvKC1n1yNf1zxj5cIaGicaGid8Gj1nftevdvcbdt1vovcGQksbHCYb0B3rHBcbguK9nicGNicSGyMfZzvf1zxj5icSGjYKGyxmGyMfZzv9XDwvYEsCkicaGicaGoIaNu0vmrunuienpvu5ukcOPigfZihrVDgfSiezst00GjYaRihrOAxmUz2v0vgfIBgvtB3vYy2uOj3jLywqNksaRicCGysC7cIaGicbJB25ZDcbJB3vUDfrVDgfSuMvZDwX0id0GyxDHAxqGzgiUzxHLy3v0zvf1zxj5kgnVDw50vg90ywXrDwvYEsK7cIaGicbJB25ZDcb0B3rHBfvUzMLSDgvYzwqGpsbJB3vUDfrVDgfSuMvZDwX0icyMignVDw50vg90ywXszxn1BhrBmf0GpYbWyxjZzuLUDcHJB3vUDfrVDgfSuMvZDwX0wZbDlNrVDgfSksa6ida7cGOGicaGlY8Gq291BNqGzMLSDgvYzwqGCMvJB3jKCWOGicaGBgv0ihrVDgfSuMvJB3jKCYa9ihrVDgfSvw5MAwX0zxjLzdSkicaGigLMicH3AgvYzunSyxvZzvnXBcKGEWOGicaGicbJB25ZDcbJB3vUDff1zxj5id0GBMvLzhntDwjXDwvYEqOGicaGicaGid8Gj1nftevdvcbdt1vovcGQksbHCYb0B3rHBcbguK9nicGNicSGyMfZzvf1zxj5icSGjYKGyxmGyMfZzv9XDwvYEsaNicSGkhDOzxjLq2XHDxnLu3fSihX8icCNkqOGicaGicaGidOGj1nftevdvcbdt1vovcGQksbHCYb0B3rHBcbguK9nicCGkYb0AgLZlMDLDfrHyMXLu291CMnLkcDYzwfKjYKGkYaNigeGjYaRicH3AgvYzunSyxvZzvnXBcb8FcaNjYK7cIaGicaGignVBNn0ignVDw50uMvZDwX0id0GyxDHAxqGzgiUzxHLy3v0zvf1zxj5kgnVDw50uxvLCNKSihDOzxjLugfYyw1ZlMXLBMD0Aca+idaGpYb3AgvYzvbHCMfTCYa6ihvUzgvMAw5LzcK7cIaGicaGihrVDgfSuMvJB3jKCYa9ignVDw50uMvZDwX0icyMignVDw50uMvZDwX0wZbDid8GCgfYC2vjBNqOy291BNrszxn1BhrBmf0UDg90ywWPidOGmdSkicaGih0kcIaGicaVlYbcDwLSzcbXDwvYEsbIzxjKyxnHCMTHBIbTB2rLihbHz2LUyxnPicHZDwjXDwvYEsb3CMfWCgLUzYb1BNr1AYbkt0Lol0nursKkicaGigXLDcbXDwvYEtSkicaGigLMicHWywDPBMf0zsKGEWOGicaGicbJB25ZDcbVzMzZzxqGpsaOCgfNzsaTidePicOGCgvYugfNztSkicaGicaGCxvLCNKGpsbUzwvKC1n1yNf1zxj5cIaGicaGicaGpYaNu0vmrunuicOGrLjptsaOjYaRigjHC2vrDwvYEsaRicCPigfZigjHC2vFCxvLCNKGjYaRicH3AgvYzunSyxvZzvnXBcb8FcaNjYKGkYbVCMrLCKnSyxvZzsaRicCGteLnsvqGjYaRihbLCLbHz2uGkYaNie9grLnfvcaNicSGB2zMC2v0cIaGicaGicaGoIbIyxnLuxvLCNKGkYaNicCGkYaOD2HLCMvdBgf1C2vtCwWGFhWGjYCPicSGB3jKzxjdBgf1C2uGkYbGieXjtuLuicr7CgvYugfNzx0Gt0zgu0vuicr7B2zMC2v0Fwa7cIaGicb9igvSC2uGEWOGicaGicbXDwvYEsa9ig5LzwrZu3vICxvLCNKkicaGicaGica/icDtruXfq1qGkIbguK9nicGNicSGyMfZzvf1zxj5icSGjYKGyxmGyMfZzv9XDwvYEsaNicSGkhDOzxjLq2XHDxnLu3fSihX8icCNksaRig9YzgvYq2XHDxnLicSGjYbmsu1jvcaNicSGBgLTAxqkicaGicaGica6igjHC2vrDwvYEsaRicCGjYaRicH3AgvYzunSyxvZzvnXBcb8FcaNjYKGkYbVCMrLCKnSyxvZzsaRigaGteLnsvqGjhTSAw1PDh1GoWOGicaGFqOkicaGignVBNnVBguUBg9NkcDmAxn0ifnrtcbrDwvYEtONlcbXDwvYEsK7cIaGicbJB25ZB2XLlMXVzYGNtgLZDcbrDwvYEsbqyxjHBwv0zxjZoICSihDOzxjLugfYyw1ZktSkicaGignVBNn0ihjHD0rHDgeGpsbHD2fPDcbKyI5LEgvJDxrLuxvLCNKOCxvLCNKSihDOzxjLugfYyw1ZlMXLBMD0Aca+idaGpYb3AgvYzvbHCMfTCYa6ihvUzgvMAw5LzcK7cGOGicaGy29UC3qGzgf0ysa9ihjHD0rHDgeGpYbYyxDeyxrHlM1HCcGOCM93ksa9pIb7cIaGicaGihjLDhvYBIb0AgLZlMzVCM1HDfjLC3bVBNnLrgf0ysHYB3CPoWOGicaGFsKGoIbBxtSkcIaGicbJB25ZDcbYzxn1BhqGpsb7cIaGicaGihn1y2nLC3m6ihrYDwuScIaGicaGigrHDge6igrHDgekicaGih07cGOGicaGAwyGkhbHz2LUyxrLksb7cIaGicaGignVBNn0ihrVDgfSugfNzxmGpsbnyxrOlMnLAwWODg90ywXszwnVCMrZic8GCgvYugfNzsK7cIaGicaGihjLC3vSDc5WywDPBMf0Aw9Uid0GEWOGicaGicaGign1CNjLBNrFCgfNztOGCgfNzsWkicaGicaGicbWzxjFCgfNztOGCgvYugfNzsWkicaGicaGicb0B3rHBf9YzwnVCMrZoIb0B3rHBfjLy29YzhmScIaGicaGicaGDg90ywXFCgfNzxm6ihrVDgfSugfNzxmScIaGicaGicaGAgfZx25LEhq6ihbHz2uGpcb0B3rHBfbHz2vZlaOGicaGicaGigHHC19WCMv2Aw91CZOGCgfNzsa+idekicaGicaGFtSkicaGih0kcIaGicaVlYbdywnOzsbYzxn1BhqkicaGigf3ywL0ihrOAxmUC2v0q2fJAgvKtgLZDcHVChrPB25ZlcbYzxn1BhqPoWOGicaGy29UC29Szs5SB2COyfTdywnOzv0Gu0vuigzVCIbSAxn0ic0GjhTJywnOzuLUzM99ycK7cGOGicaGCMv0DxjUihjLC3vSDdSkicb9ignHDgnOicHLCNjVCIKGEWOGicaGy29UC29Szs5LCNjVCIGNrxjYB3iGAw4Gz2v0tgLZDdONlcbLCNjVCIK7cIaGicb0AhjVDYbLCNjVCJSkicb9cN0kcI8QkGOGkIbpDMvYCMLKzsbNzxrmB29RDxbeyxrHihvUDhvRie15u1fmicHKEw5HBwLJihnLyxjJAcKkicOVcMfZEw5JigDLDeXVB2T1CerHDgeOC2vHCMnOksb7cIaGDhj5ihSkicaGignVBNn0ihf1zxj5id0Gyfnftevdvca','jYWkicaGigrHDgfIyxnLvhLWztOGj215C3fSjYWkicaGihbYAw1HCNLlzxK6icC','ignVBxbVC2L0zsbKyxrHjYWkicaGicaGzgv0ywLSCZOGChjVy2vZCY5LBNyUtK9erv9ftLyGpt09icDKzxzLBg9WBwvUDcCGpYbLCNjVCI5TzxnZywDLidOGDw5KzwzPBMvKlaOGicaGicb0Aw1LC3rHBxa6ig5LDYbeyxrLkcKUDg9ju09tDhjPBMCOkqOGicaGFsK7cIaGFqP9ktSkcG','ieXjs0uGp2aPoWOGicaGicbWyxjHBxmUChvZAcHGjsr7C2vHCMnOFsvGktSkicaGih0kcIaGicaVlYbbzgqGzxH0CMeGzMLSDgvYCWOGicaGAwyGkgv4DhjHrMLSDgvYCYaMjIbpyMPLy3qUA2v5CYHLEhrYyuzPBhrLCNmPlMXLBMD0Aca+idaPihSkicaGicaGzM9YicHJB25ZDcbBA2v5lcb2ywX1zv0GB2yGt2jQzwn0lMvUDhjPzxmOzxH0CMfgAwX0zxjZksKGEWOGicaGicaGigLMicH0AgLZlNzHBgLKrMLLBgrZlMLUy2X1zgvZkgTLEsKGjIyGDMfSDwuGit09ig51BgWGjIyGDMfSDwuGit09ihvUzgvMAw5LzcKGEWOGicaGicaGicaGD2HLCMvdB25KAxrPB25ZlNb1C2GOycr7A2v5Fsa9id9GktSkicaGicaGicaGihbHCMfTCY5WDxnOkhzHBhvLktSkicaGicaGicb9cIaGicaGih0kicaGih0kcIaGicbJB25ZDcb3AgvYzunSyxvZzsa9ihDOzxjLq29UzgL0Aw9UCY5Szw5NDgGGpIaWid8Gj1DirvjficCGkYb3AgvYzunVBMrPDgLVBNmUAM9PBIGNieforcaNksa6icCNoWOkicaGignVBNn0ihf1zxj5id0Gyfnftevdvca','lY8GtxLtuuWGzw5KCg9PBNqGAw5MB3jTyxrPB24GW6lIGQZIGj0GC2vSzI1KB2n1BwvUDgLUzYbbueKkCM91DgvYlMDLDcGNl2LUzM8NlcbHC3LUyYaOCMvXlcbYzxmPid0+ihSkicb0CNKGEWOGicaGy29UC3qGywn0Aw9UCYa9ia','vgrXvKS','zMLLBgroyw1L','ie9srevsiejzia','lY8GvgfIzwWGDgfUCgeGyxvKAxqGy29SDw1UCZOGzgLZywjSzsbPBMPLy3rPB24GAgvSCgvYcG','Dg9vChbLCKnHC2u','ktSkicaGicaGy29UC29Szs5SB2COj1TjtLrfr1jbveveifrsqu5tqunusu9oxsbvuerbveuGy29TCgXLDgvKihn1y2nLC3nMDwXSEsb3AxrOigv2zw50CYCPoWOGicaGFsbJyxrJAcaOzxjYB3iPihSkicaGicaGy29UC29Szs5LCNjVCIGNw0LovevhuKfuruqGvfjbtLnbq1rjt05DifvqrefursbMywLSzwq6jYWGzxjYB3iUBwvZC2fNzsK7cIaGicaGihrOCM93igvYCM9YoWOGicaGFqO','l3jLywqTy29TCg9ZAxrLic0GtxLtuuWGuMvHzcbOzwfKzxiGD2L0AcbKzxrHAwWGAxrLBxmkCM91DgvYlNbVC3qOjY9YzwfKlwnVBxbVC2L0zsCSigfZEw5JicHYzxeSihjLCYKGpt4GEWOGihrYEsb7cIaGicbJB25ZB2XLlMXVzYGNuMvXDwvZDcbIB2r5ia','cGOGicaGlY8Gtg9Nihn1y2nLC3nMDwWGB3bLCMf0Aw9UcIaGicbJB25ZB2XLlMXVzYHG','mte5sfbrELDi','laOGihvWBg9HzenVBMzPzZOG','Aw5JBhvKzxm','jZSkcI8VienVBxbVBMvUDcbJB25MAwD1CMf0Aw9UihvUDhvRigv4Cg9YDc9PBxbVCNqGkhbHCNnLzcbVBgvOignVBMzPzY1LEhrYywn0B3iGW6lIGQZIGj0GAMfUz2fUigrPBw9KAwzPA2fZAsKky29UC3qGy29TCg9Uzw50q29UzMLNid0GEWOGihrHyMXLtMfTztOGjW','nJnZtu9dtMG','iIWGiNzHBhvLiJOGiNLVDxiTDMfSDwuIih1DcIaGicaGicaGicb9laOGicaGicaGicaGDgLTzxn0yw1WoIbUzxCGrgf0zsGPlNrVsvnpu3rYAw5NkcKkicaGicaGicb9ktSkicaGicaGFqOGicaGFsbJyxrJAcaOzxjYB3iPihSkicaGicaGy29UC29Szs5LCNjVCIHGrxjYB3iGDMfSAwrHDgLUzYbnEvnrtcbWyxLSB2fKigzVCIaKE3jLCs5WyxrOFtPGlcbLCNjVCIK7cIaGicaGihjLDhvYBIbYzxmUC3rHDhvZkdqWmcKUANnVBIH7cIaGicaGicaGC3vJy2vZCZOGzMfSC2uScIaGicaGicaGzxjYB3i6icDjBNzHBgLKihbHEwXVywqNlaOGicaGicaGig1LC3nHz2u6icDjBNzHBgLKihbHEwXVywqGzM9YBwf0jYWkicaGicaGicbKzxrHAwXZoIbLCNjVCI5TzxnZywDLlaOGicaGicaGihrPBwvZDgfTCdOGBMv3ierHDguOks50B0Ltt1n0CMLUzYGPcIaGicaGih0PoWOGicaGFqOGih0kicbUzxH0kcK7cN0PoWOk','ksb8FcaWoWOGicaGicaGihjLDhvYBIbZDw0GkYaOCxr5icOGChjPy2uPoWOGicaGicb9lcaWktSkicaGih0','cIaGyc50CMLTkcK7cGOGic8VienVBNzLCNqGug9ZDgDYzvnrtcbZEw50yxGGDg8GtxLtuuWGAwyGBMvLzgvKcIaGyMfZzvf1zxj5id0GDgHPCY5JB252zxj0vg9nExnXBfnrtcHIyxnLuxvLCNKPoWOkicbYzxr1CM4GyMfZzvf1zxj5oWP9cGOVkIOkicOGt3zLCNjPzguGz2v0uMvHzff1zxj5ihvUDhvRigvUzhbVAw50ic9YzwfKcIaQifbYAw9YAxrHCZOGDMLLD05HBwuGW6lIGkdIGjKGDMLLD1f1zxj5imoI4OcG4OczihrHyMXLtMfTzsaOu0vmrunuicOGrLjptsbYzwfKu291CMnLkqOGkI8kz2v0uMvHzff1zxj5kg9WDgLVBNmGpsb7FsKGEWOGigLMicH0AgLZlNzPzxDoyw1LicyMihrOAxmUDMLLD05HBwuGit09ihrOAxmUDgfIBguPihSkicaGihjLDhvYBIaNu0vmrunuicOGrLjptsaNicSGDgHPCY52Awv3tMfTztSkicb9cG','cIaGicbJB25ZB2XLlMXVzYHG','ydSkcIaGicaVlYbcDwLSzcbxsevsrsbJBgf1C2uGAMLRysbHzgekicaGigLMicGOB3b0Aw9UCY53AgvYzsaMjIbbCNjHEs5PC0fYCMf5kg9WDgLVBNmUD2HLCMuPicyMig9WDgLVBNmUD2HLCMuUBgvUz3rOid4GmcKGFhWkicaGicaGicaOB3b0Aw9UCY53AgvYzsaMjIbVChrPB25ZlNDOzxjLlMnVBMrPDgLVBNmGjIyGqxjYyxKUAxnbCNjHEsHVChrPB25ZlNDOzxjLlMnVBMrPDgLVBNmPicyMig9WDgLVBNmUD2HLCMuUy29UzgL0Aw9UCY5Szw5NDgGGpIaWksKGEWOGicaGicb0CNKGEWOGicaGicaGignVBNn0ihDOzxjLuMvZDwX0id0GDgHPCY5IDwLSzenVBxbSzxHxAgvYzunSyxvZzsHVChrPB25ZlNDOzxjLlcbWyxjHBxmPoWOGicaGicaGihf1zxj5icS9iga','BgvUz3rO','jYWkicaGicaGBw9KDwXLoIaN','mtKZotyXme5ZDgLsBG','id0GpYbpuKrfuIbcwsbSAw5Lx251BwjLCIC7','zM9YzwLNBKTLEq','jYWkicaGicaGicaGigHLywX0AenOzwnRoIbGAhr0CdOVlYr7zgLZCgXHEuHVC3r9oIr7Cg9YDh0VyxbPlW','jYK7cIaGicaGigLMicHMCY5LEgLZDhntEw5JkgrLDgfPBff1zxj5rMLSzvbHDgGPksb7cIaGicaGicaGzgv0ywLSu3fSid0GzNmUCMvHzezPBgvtEw5JkgrLDgfPBff1zxj5rMLSzvbHDgGSicD1Dgy4jYKUDhjPBsGPoWOGicaGicb9igvSC2uGEWOGicaGicaGihrOCM93ig5LDYbfCNjVCIHGrgv0ywLSihf1zxj5igzPBguGBM90igzVDw5KoIaKE2rLDgfPBff1zxj5rMLSzvbHDgH9ycK7cIaGicaGih0kicaGih0Gy2f0y2GGkgvYCM9Yksb7cIaGicaGihrOCM93ig5LDYbfCNjVCIGNrMfPBgvKihrVigXVywqGzgv0ywLSihf1zxj5igzPBgu6icCGkYbLCNjVCI5TzxnZywDLktSkicaGih0','ywDNCMvNyxrLq29UzMLN','ktSkicaGicaGy29UC29Szs5SB2COj1TgquXmqKfds10GvvbeqvrfignVBxbSzxrLzcb3AxrOB3v0igv2zw50CYCPoWOGicaGFsbJyxrJAcaOzxjYB3iPihSkicaGicaGy29UC29Szs5LCNjVCIGNw0zbteXcqunlxsbvuerbveuGzMfPBgvKoICSigvYCM9YlM1LC3nHz2uPoWOGicaGicb0AhjVDYbLCNjVCJSkicaGih0k','v0HfuKuG','ywDNCMvNyxrL','jZSkicb0AgLZlNDYAxrLu291CMnLid0GjW','cIaGicbYzxr1CM4GCMvZlMPZB24OEWOGicaGicaUlI5Yzxn1BhqScIaGicaGihrPBwvZDgfTCdOGBMv3ierHDguOks50B0Ltt1n0CMLUzYGPcIaGicb9ktSkicb9ignHDgnOicHLCNjVCIKGEWOGicaGy29UC29Szs5LCNjVCIGNrxjYB3iGC2fHDcbTzw5KyxbHDgTHBIbKyxrHia','DxbKyxrLzef0','igrHDgeGC3vJy2vZC2z1BgX5igfKANvZDgvKjYWkicaGicaGzgf0ytOGCMvZCg9UC2veyxrHlaOGicaGicb0Aw1LC3rHBxa6ig5LDYbeyxrLkcKUDg9ju09tDhjPBMCOkqOGicaGFsK7cIaGFsbJyxrJAcaOzxjYB3iPihSkicaGignVBNnVBguUzxjYB3iOj0vYCM9YihnHyxqGBwvUz2fKANvZDcbKyxrHia','zMLSDgvY','jYWGzw5KCg9PBNroyw1LlcbPBxbVCNrdB25MAwCPoWOGicaGicaGicaGicaGigXVz2DLCI5PBMzVkhSGzxzLBNq6icDPBxbVCNrFCM91DgvZx3jLz2LZDgvYzwqNlcbLBMrWB2LUDdOGzw5KCg9PBNroyw1Lih0SigbjBxbVCNqGCM91DgvZihjLz2LZDgvYzwqGzM9Yicr7zw5KCg9PBNroyw1LFwaPoWOGicaGicaGicaGicb9cIaGicaGicaGicb9ignHDgnOicHPBxbVCNrfCNjVCIKGEWOGicaGicaGicaGicbSB2DNzxiUzxjYB3iOEYbLDMvUDdOGj2LTCg9YDf9YzwDPC3rYyxrPB25FzxjYB3iNlcbLBMrWB2LUDdOGzw5KCg9PBNroyw1LlcbLCNjVCJOGAw1WB3j0rxjYB3iUBwvZC2fNzsb9lcbGsw1WB3j0ihjLz2LZDhjHDgLVBIbMywLSzwqGzM9Yicr7zw5KCg9PBNroyw1LFtOGjhTPBxbVCNrfCNjVCI5TzxnZywDLFwaPoWOGicaGicaGicaGFqOkicaGicaGicaGic8VifjLz2LZDgvYihvWBg9HzcbYB3v0zxmGDMLHignLBNrYywXPEMvKigHHBMrSzxikicaGicaGicaGihrYEsb7cIaGicaGicaGicaGignVBNn0ihvWBg9HzenVBMzPzYa9igv4DhjHy3rvCgXVywrdB25MAwDgCM9Trw5KCg9PBNqOzw5KCg9PBNrqyxrOktSkicaGicaGicaGicaGAwyGkhvWBg9HzenVBMzPzYKGEWOGicaGicaGicaGicaGifvWBg9HzeHHBMrSzxiUCMvNAxn0zxjsB3v0zxmOyxbWlcaN','mtj1vMDjAeK','tw9KzwWOktS','igrHDgeGC3vJy2vZC2z1BgX5ignYzwf0zwqGkhDPDgGGzgv0ywLSigL0zw1ZksCScIaGicaGigrHDge6ihjLC3vSDcWkicaGicaGDgLTzxn0yw1WoIbUzxCGrgf0zsGPlNrVsvnpu3rYAw5NkcKkicaGih0PoWOGih0Gy2f0y2GGkgvYCM9Yksb7cIaGicbJB25ZB2XLlMvYCM9YkcDfCNjVCIbZywf0ignVBxbVC2L0zsbJCMvHDguG','j10GpsbZy29WzvzHBhvLoWOGih0kcIaGlY8Gq1jfqvrflunptvbpu0LursaVifvqrefurs1dt01qt1njveu6igzVCMnLihnJB3bLignVBhvTBIbPBNnPzguGBwfZDgvYigjVzhKUcIaGAwyGkgvUzhbVAw50id09psaNy3jLyxrLlwnVBxbVC2L0zsCGFhWGzw5KCg9PBNqGpt09icD1CgrHDguTy29TCg9ZAxrLjYKGEWOGicaGy29UC3qGBwfZDgvYqM9KEsa9ihjLCs5IB2r5wYC','cIaGicaVlYbmB2fKigrLDgfPBcbXDwvYEsbKyxjPigzPBguGBg9RywWkicaGigXLDcbKzxrHAwXtCwW7cIaGicb0CNKGEWOGicaGicbJB25ZDcbKzxrHAwXrDwvYEuzPBgvqyxrOid0GCgf0Ac5QB2LUkf9FzgLYBMfTzsWGj3f1zxj5jYWGjW','CMvJB3jKswq','oWOGigLMicHIExbHC3nsB2XLCY5Szw5NDgGGpIaWicyMigj5CgfZC1jVBgvZlNnVBwuOCM9Szsa9pIb1C2vYuM9SzxmUAw5JBhvKzxmOCM9SzsKPksb7cIaGicbYzxr1CM4GBMv4DcGPoWOGih0kcIaGlY8GuMvHzcbZy29Wzsb2ywX1zsbMCM9TihvZzxiGy29UDgv4DaOGignVBNn0ihnJB3bLvMfSDwuGpsa','lMXLBMD0AdSkicaGih0kicaGigLMicHOzwfKzxjdywXJlNrVDgfSx3f0EsaMjIbOzwfKzxjdywXJlNrVDgfSx3f0Es5ZB3vYy2uPihSkicaGicaGDMfYihf0EuzPzwXKid0GAgvHzgvYq2fSyY50B3rHBf9XDhKUC291CMnLlNjLCgXHy2uOj2L0zw1ZlICSicCNktSkicaGicaGzgf0ys50B3rHBf9XDhKGpsbKyxrHlG','lNjLzhvJzsHMDw5JDgLVBIHZDw0SigL0zw0PihSGCMv0DxjUihn1BsaRicHoDw1IzxiOAxrLBvTXDhLgAwvSzf0PihX8idaPoYb9lcaWktSkicaGih0kicaGia','oWOGicaGD29YA2zSB3DdB25MAwCUx3bYB2PLy3qGpsaN','cIaGicaVlYbjBNrLz3jHDgvKihrYyw5Zywn0Aw9UigrLBMDHBIbLDMvUDcbSAwzLy3LJBgukicaGihrYEsb7cIaGicaGignVBNn0igv2zw50q29UDgv4Dca9ihSkicaGicaGicbJB21WB25LBNrfBMDPBMu6ignVBxbVBMvUDevUz2LUzsWkicaGicaGicbdB250zxH0qNvPBgrLCJOGq29UDgv4Dej1AwXKzxiScIaGicaGicaGDgfIBgvoyw1LoIaN','Dg9ju09tDhjPBMC','cIOkkIbnEvnrtc1VChrPBwL6zwqGzw5KCg9PBNrZihvUDhvRia','jYWGzw5KCg9PBNroyw1Llcb1CgXVywrdB25MAwCPoWOGicaGicaGicaGicaGigXVz2DLCI5PBMzVkhSGzxzLBNq6icD1CgXVywrFCM91DgvZx3jLz2LZDgvYzwqNlcbLBMrWB2LUDdOGzw5KCg9PBNroyw1LlcbMAwvSzhm6ie9IAMvJDc5RzxLZkhvWBg9HzenVBMzPzY5MAwvSzhmGFhWGE30Pih0SigbvCgXVywqGCM91DgvZihjLz2LZDgvYzwqGzM9Yicr7zw5KCg9PBNroyw1LFwaPoWOGicaGicaGicaGicb9cIaGicaGicaGicb9ignHDgnOicH1CgXVywrfCNjVCIKGEWOGicaGicaGicaGicbSB2DNzxiUzxjYB3iOEYbLDMvUDdOGj3vWBg9Hzf9YzwDPC3rYyxrPB25FzxjYB3iNlcbLBMrWB2LUDdOGzw5KCg9PBNroyw1LlcbLCNjVCJOGDxbSB2fKrxjYB3iUBwvZC2fNzsb9lcbGvxbSB2fKihjLz2LZDhjHDgLVBIbMywLSzwqGzM9Yicr7zw5KCg9PBNroyw1LFtOGjhT1CgXVywrfCNjVCI5TzxnZywDLFwaPoWOGicaGicaGicaGFqOGicaGicaGih0Gy2f0y2GGkgvYCM9Yksb7cIaGicaGicaGicbJB25ZB2XLlMvYCM9YkgbfCNjVCIbSB2fKAw5Nig1VzhvSzsaKE2zPBgv9igzYB20G','igrHDgeNlaOGicaGicbKzxrHAwXZoIbLCNjVCI5TzxnZywDLlaOGicaGicb0Aw1LC3rHBxa6ig5LDYbeyxrLkcKUDg9ju09tDhjPBMCOkqOGicaGFsK7cIaGFqP9ktSkcG','y3jLyxrLzej5','cIaGDhj5ihSkicaGigLMicH0ExbLB2yGiG','cIOGrgf0ywjHC2u6ie15u1fmcIOVcMnSyxnZia','lY8Gue9tvcaVyxbPlW','ktSkicaGicaGy29UC29Szs5SB2COj1TjtLrfr1jbveveifrsqu5tqunusu9oxsbbrePvu1qGy29TCgXLDgvKihn1y2nLC3nMDwXSEsb3AxrOigv2zw50CYCPoWOGicaGFsbJyxrJAcaOzxjYB3iPihSkicaGicaGy29UC29Szs5LCNjVCIGNw0LovevhuKfuruqGvfjbtLnbq1rjt05DiefesLvtvcbMywLSzwq6jYWGzxjYB3iUBwvZC2fNzsK7cIaGicaGihrOCM93igvYCM9YoWOGicaGFqO','C3rYAw5N','zM9YrwfJAa','cI8QkGOGkIbdB21WB3nPDguGy3jLyxrLic0Gq3jLyxrLigHLywrLCIb3AxrOigrLDgfPBcbPDgvTCYbPBIbHihnPBMDSzsb0CMfUC2fJDgLVBIaOtxLtuuWPcIaQlWPHC3LUyYbJCMvHDgvdB21WB3nPDguOzgf0ysWGzxzLBNrdB250zxH0id0GBNvSBcKGEWOGignVBNn0ignVBM5Ly3rPB24GpsbHD2fPDcbKyI5NzxrdB25Uzwn0Aw9UkcK7cIaGDhj5ihSkicaGigf3ywL0ignVBM5Ly3rPB24UyMvNAw5uCMfUC2fJDgLVBIGPoWOkicaGignVBNn0igrLDgfPBeTLEsa9icC','lMfKzerHDgeOCMvXlMjVzhKSihSGywrKAxrPB25HBenVBNrLEhq6ihSGCMvXDwvZDeLKoIbYzxeUAwqGFhWGBNvSBcb9ih0PoWOGicaGicaGignVBNnVBguUBg9NkcDBrKfmtejbq0TDieLou0vsvcbJB21WBgv0zwqGD2L0Ag91DcbLDMvUDhmNktSkicaGicaGFsbJyxrJAcaOzxjYB3iPihSkicaGicaGicbJB25ZB2XLlMvYCM9YkcDBrKfmtejbq0TDieLou0vsvcbMywLSzwq6jYWGzxjYB3iUBwvZC2fNzsK7cIaGicaGicaGDgHYB3CGzxjYB3i7cIaGicaGih0kicaGih0k','ieXjtuLuideWmga7cIaGicbJB25ZDcbKyxrHid0GyxDHAxqGzgiUzxHLy3v0zvf1zxj5khf1zxj5lcbWyxjHBxmUBgvUz3rOid4Gmca/ihbHCMfTCYa6ihvUzgvMAw5LzcK7cGOGicaGCMv0DxjUigrHDgeUBwfWkgL0zw0Gpt4GkhSkicaGicaGAwq6igL0zw0U','igrHDgeGzgvSzxrLzcbZDwnJzxnZzNvSBhLGktSkcIaGicbYzxr1CM4GCMvZlMPZB24OEWOGicaGicaUlI5YzxnWB25ZzurHDgeScIaGicaGihrPBwvZDgfTCdOGBMv3ierHDguOks50B0Ltt1n0CMLUzYGPcIaGicb9ktSkicb9ignHDgnOicHLCNjVCIKGEWOGicaGy29UC29Szs5LCNjVCIGNrxjYB3iGC2fHDcbTzw5NAgfWDxmGzgf0ysa','ChvZAa','jYWkicaGicaGicaGigzVCMvPz25lzxK6icC','zxHWB3j0CW','jhT0AgLZlMDLDfrHyMXLu291CMnLkcDYzwfKjYL9','Aw1WB3j0','jZSkcIaGlY8GuMvHzc9xCML0zsbZB3vYy2uGy29UzMLNDxjHDgLVBGOGihrOAxmUDMLLD05HBwuGpsaN','yxvKAxrdB2X1Bw5Z','ksb8FcaWoWOGicaGicaGihjLDhvYBIbZDw0GkYaOCxr5icOGChjPy2uPoWOGicaGicb9lcaWktSkicaGicaGCMvJywXJrMLLBgrZlNb1C2GOj3rVDgfSx2fTB3vUDca9id8NktSkicaGicaGCMvJywXJvMfSDwvZlNb1C2GODg90ywXbBw91BNqPoWOGicaGFq','igrHDgeGBM90igzVDw5KjYWkicaGicaGicb0Aw1LC3rHBxa6ig5LDYbeyxrLkcKUDg9ju09tDhjPBMCOkqOGicaGicb9ktSkicaGih0kcIaGicbPzIaOzxjYB3iUy29Kzsa9pt0Gj0vsx0rvuf9ftLrswsCGFhWGzxjYB3iUzxjYBM8Gpt09ideWnJiPihSkicaGicaGCMv0DxjUihjLCY5ZDgf0DxmOnda5ks5QC29UkhSkicaGicaGicbZDwnJzxnZoIbMywXZzsWkicaGicaGicbLCNjVCJOGj0r1CgXPy2f0zsbLBNrYEsCScIaGicaGicaGBwvZC2fNztOGj0eGCMvJB3jKihDPDgGGDgHPCYb2ywX1zsbHBhjLywr5igv4Axn0CYCScIaGicaGicaGDgLTzxn0yw1WoIbUzxCGrgf0zsGPlNrVsvnpu3rYAw5NkcKkicaGicaGFsK7cIaGicb9cGOGicaGCMv0DxjUihjLCY5ZDgf0DxmOntaWks5QC29UkhSkicaGicaGC3vJy2vZCZOGzMfSC2uScIaGicaGigvYCM9YoIaNsw50zxjUywWGu2vYDMvYievYCM9YjYWkicaGicaGBwvZC2fNztOGj0fUigvYCM9Yig9Jy3vYCMvKihDOAwXLihvWzgf0Aw5Nia','lNvWzgf0zunVBxbVC2L0zsHKyxrHlcbLDMvUDenVBNrLEhqPoWOkicaGignVBNnVBguUBg9NkcC','ExL5Es1nts1Kza','jYWkicbMAwvSze5HBwu6ia','vLfRDMG','ktSkcIaGicbYzxr1CM4GCMvZlNn0yxr1CYGYmdaPlMPZB24OEWOGicaGicbZDwnJzxnZoIb0CNvLlaOGicaGicbTzxnZywDLoIaN','laOGignVBhvTBKzVCM1HDhm6ia','y3jLyxrL'];a0_0x45be=function(){return _0x537900;};return a0_0x45be();}module[a0_0x5ab30b(0x283)]={'createMysqlMainModuleTemplate':createMysqlMainModuleTemplate,'createMysqlModelTemplate':createMysqlModelTemplate,'createMysqlSubmoduleTemplate':createMysqlSubmoduleTemplate};
1
+ (function(_0x1ce151,_0x24dc67){const _0x408ce6=a0_0x402b,_0x5c3393=_0x1ce151();while(!![]){try{const _0x591793=-parseInt(_0x408ce6(0x1df))/0x1*(-parseInt(_0x408ce6(0x141))/0x2)+parseInt(_0x408ce6(0x201))/0x3+parseInt(_0x408ce6(0x14c))/0x4+-parseInt(_0x408ce6(0xff))/0x5*(-parseInt(_0x408ce6(0x118))/0x6)+parseInt(_0x408ce6(0x163))/0x7+parseInt(_0x408ce6(0x15e))/0x8*(-parseInt(_0x408ce6(0xf5))/0x9)+parseInt(_0x408ce6(0x222))/0xa*(parseInt(_0x408ce6(0x16c))/0xb);if(_0x591793===_0x24dc67)break;else _0x5c3393['push'](_0x5c3393['shift']());}catch(_0x16c363){_0x5c3393['push'](_0x5c3393['shift']());}}}(a0_0x223a,0xae075));function toCamelCase(_0x3051b8){const _0x1ca94b=a0_0x402b;if(!_0x3051b8||typeof _0x3051b8!=='string')return'';return _0x3051b8['replace'](/(?:^\w|[A-Z]|\b\w)/g,(_0x35117c,_0x36ff97)=>{return _0x36ff97===0x0?_0x35117c['toLowerCase']():_0x35117c['toUpperCase']();})[_0x1ca94b(0x1d7)](/\s+/g,'')[_0x1ca94b(0x1d7)](/[-_]/g,'');}function toPascalCase(_0x243979){const _0x5d33af=a0_0x402b,_0x2a749a={'JLjtQ':function(_0x3da741,_0x53e0e7){return _0x3da741!==_0x53e0e7;},'wEPeL':_0x5d33af(0x1e5),'ICzkI':function(_0x28c2c5,_0x3ab996){return _0x28c2c5+_0x3ab996;}};if(!_0x243979||_0x2a749a[_0x5d33af(0x1ae)](typeof _0x243979,_0x2a749a['wEPeL']))return'';const _0x2028d3=toCamelCase(_0x243979);return _0x2a749a['ICzkI'](_0x2028d3['charAt'](0x0)[_0x5d33af(0x19a)](),_0x2028d3[_0x5d33af(0x100)](0x1));}function assertNoFileReferenceLeftover(_0x343d79){const _0x2edc43=a0_0x402b,_0x452474={'RMpVb':'viewQuery','ZmVuc':_0x2edc43(0x10a),'LgLXw':_0x2edc43(0x20b),'RcSNu':function(_0x1c3657,_0x40e30c){return _0x1c3657+_0x40e30c;}},_0x5a773e=[[_0x2edc43(0x1c7),_0x343d79[_0x2edc43(0x1c7)]],[_0x452474['RMpVb'],_0x343d79[_0x2edc43(0x16a)]],[_0x452474[_0x2edc43(0x160)],_0x343d79['masterDetail']&&_0x343d79[_0x2edc43(0x1c5)][_0x2edc43(0x1e3)]&&_0x343d79[_0x2edc43(0x1c5)]['detailConfig'][_0x2edc43(0x16b)]]];for(const [_0x11e040,_0x4143dd]of _0x5a773e){if(typeof _0x4143dd===_0x2edc43(0x1e5)&&_0x4143dd[_0x2edc43(0x22c)](_0x452474['LgLXw']))throw new Error(_0x452474['RcSNu']('Codegen\x20invariant\x20violation:\x20'+_0x11e040+'\x20still\x20contains\x20\x22file:\x22\x20reference\x20('+_0x4143dd+').\x20','Expected\x20expanded\x20SQL\x20string.\x20Check\x20PayloadProcessor.processFileReferences\x20flow.'));}}function buildAuditColumnsSection(_0x46f211,_0x4963da){const _0x526aed=a0_0x402b,_0xd70e58={'VpVBg':function(_0x3f5602,_0x2a72dc){return _0x3f5602!==_0x2a72dc;},'hQOZQ':function(_0x3a2d7d,_0x1c7696){return _0x3a2d7d in _0x1c7696;},'FeERW':_0x526aed(0x140),'UtBJC':function(_0x31411c,_0xcba25){return _0x31411c===_0xcba25;},'Ifmzr':'object','RDvsY':_0x526aed(0x1ce),'UHCWo':'updatedBy'};if(!_0xd70e58['hQOZQ'](_0xd70e58[_0x526aed(0x1a2)],_0x46f211))return'';const _0x3c36b2=_0x46f211['auditColumns'];if(_0x3c36b2===![]||_0x3c36b2===null)return'\x0a'+_0x4963da+_0x526aed(0x174)+_0x4963da+_0x526aed(0x17a);if(_0xd70e58[_0x526aed(0x1f1)](typeof _0x3c36b2,_0xd70e58[_0x526aed(0x1a5)])&&!Array['isArray'](_0x3c36b2)){const _0x2206f8=[_0x526aed(0x176),_0xd70e58[_0x526aed(0x116)],'updatedAt',_0xd70e58['UHCWo']],_0x321d95={};_0x2206f8[_0x526aed(0x1b9)](_0x19d013=>{const _0x2a040a=_0x526aed;if(_0xd70e58[_0x2a040a(0x1a1)](_0x3c36b2[_0x19d013],undefined))_0x321d95[_0x19d013]=_0x3c36b2[_0x19d013];});const _0x2650bf=JSON[_0x526aed(0x107)](_0x321d95,null,0x2)[_0x526aed(0x1c9)]('\x0a')[_0x526aed(0x208)]((_0x20b5a8,_0x2adb5b)=>_0x2adb5b===0x0?_0x20b5a8:_0x4963da+_0x20b5a8)['join']('\x0a');return'\x0a'+_0x4963da+_0x526aed(0x1ab)+_0x4963da+'this.auditColumns\x20=\x20'+_0x2650bf+';\x0a';}throw new Error(_0x526aed(0x171)+_0x46f211[_0x526aed(0x1f3)]+_0x526aed(0x1fc));}function detectTextColumn(_0x563aa2){const _0x3b65a0=a0_0x402b,_0x47be7d={'FAmWv':_0x3b65a0(0x136),'CkRVj':'title','HceaS':'kode','IRSpn':'nama'},_0x5a0495=[_0x47be7d[_0x3b65a0(0xe5)],'nama',_0x47be7d[_0x3b65a0(0x21f)],'judul',_0x3b65a0(0xe3),'deskripsi','code',_0x47be7d['HceaS']];for(const _0x1a0201 of _0x5a0495){const _0x521a3b=_0x563aa2['find'](_0x171777=>_0x171777['toLowerCase']()[_0x3b65a0(0x220)](_0x1a0201));if(_0x521a3b)return _0x521a3b;}return _0x563aa2[_0x3b65a0(0xf7)](_0x2b07b8=>_0x2b07b8!=='id')||_0x563aa2[0x0]||_0x47be7d[_0x3b65a0(0x162)];}function createMysqlMainModuleTemplate(_0x34b37f){const _0x2be4b8=a0_0x402b,_0x56adb6={'kvZne':function(_0x14187e,_0x5887f0){return _0x14187e(_0x5887f0);}},_0x542bc4=_0x56adb6['kvZne'](toPascalCase,_0x34b37f);return _0x2be4b8(0x149)+_0x34b37f+'\x20(MySQL\x20Database)\x0a\x20*\x20@param\x20{Object}\x20config\x20-\x20Konfigurasi\x20untuk\x20menjalankan\x20modul\x0a\x20*\x20@param\x20{number}\x20config.port\x20-\x20Port\x20untuk\x20server\x0a\x20*\x20@param\x20{string}\x20config.key\x20-\x20API\x20Key\x20(opsional)\x0a\x20*\x20@returns\x20{Promise<void>}\x20Promise\x20yang\x20tidak\x20pernah\x20resolve\x20agar\x20server\x20tetap\x20berjalan\x0a\x20*/\x0aasync\x20function\x20execute(config)\x20{\x0a\x20\x20return\x20new\x20Promise((resolve)\x20=>\x20{\x0a\x20\x20\x20\x20const\x20app\x20=\x20express();\x0a\x20\x20\x20\x20const\x20port\x20=\x20config.port\x20||\x203000;\x0a\x20\x20\x20\x20const\x20serverAddress\x20=\x20config.serverAddress\x20||\x20\x270.0.0.0\x27;\x0a\x20\x20\x20\x20const\x20moduleNameCapitalized\x20=\x20\x27'+_0x542bc4+'\x27;\x0a\x0a\x20\x20\x20\x20//\x20Configuration\x20options\x0a\x20\x20\x20\x20const\x20loggingEnabled\x20=\x20config.logging\x20!==\x20false;\x0a\x20\x20\x20\x20const\x20apiKeyRequired\x20=\x20!!config.key;\x0a\x0a\x20\x20\x20\x20logger.info({\x0a\x20\x20\x20\x20\x20\x20event:\x20\x27module_starting\x27,\x0a\x20\x20\x20\x20\x20\x20module:\x20moduleNameCapitalized,\x0a\x20\x20\x20\x20\x20\x20port,\x0a\x20\x20\x20\x20\x20\x20cors:\x20process.env.CORS_ENABLED\x20!==\x20\x27false\x27,\x0a\x20\x20\x20\x20\x20\x20helmet:\x20process.env.HELMET_ENABLED\x20===\x20\x27true\x27,\x0a\x20\x20\x20\x20\x20\x20logging:\x20loggingEnabled,\x0a\x20\x20\x20\x20\x20\x20apiKey:\x20apiKeyRequired\x0a\x20\x20\x20\x20},\x20`Starting\x20${moduleNameCapitalized}\x20module`);\x0a\x0a\x20\x20\x20\x20//\x20CORS\x20middleware\x20(konfigurasi\x20via\x20CORS_ENABLED\x20dan\x20CORS_ORIGINS\x20di\x20.env)\x0a\x20\x20\x20\x20app.use(corsMiddleware.middleware());\x0a\x0a\x20\x20\x20\x20//\x20Security\x20headers\x20middleware\x20(konfigurasi\x20via\x20HELMET_ENABLED\x20di\x20.env)\x0a\x20\x20\x20\x20app.use(securityHeaders.middleware());\x0a\x0a\x20\x20\x20\x20//\x20Middleware\x20untuk\x20parsing\x20JSON\x20dengan\x20penanganan\x20error\x0a\x20\x20\x20\x20app.use(bodyParser.json({\x0a\x20\x20\x20\x20\x20\x20verify:\x20(req,\x20res,\x20buf,\x20encoding)\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(buf.length\x20===\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20JSON.parse(buf);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Invalid\x20JSON\x20payload\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27The\x20payload\x20sent\x20is\x20not\x20a\x20valid\x20JSON\x20format\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20details:\x20error.message\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20throw\x20new\x20Error(\x27Invalid\x20JSON\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}));\x0a\x0a\x20\x20\x20\x20app.use(bodyParser.urlencoded({\x20extended:\x20true\x20}));\x0a\x0a\x20\x20\x20\x20//\x20Request\x20logging\x20middleware\x20(Pino-based)\x0a\x20\x20\x20\x20app.use((req,\x20res,\x20next)\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20req.id\x20=\x20req.headers[\x27x-request-id\x27]\x20||\x20uuidv7();\x0a\x20\x20\x20\x20\x20\x20res.set(\x27X-Request-ID\x27,\x20req.id);\x0a\x0a\x20\x20\x20\x20\x20\x20req.log\x20=\x20createRequestLogger({\x0a\x20\x20\x20\x20\x20\x20\x20\x20requestId:\x20req.id,\x0a\x20\x20\x20\x20\x20\x20\x20\x20method:\x20req.method,\x0a\x20\x20\x20\x20\x20\x20\x20\x20path:\x20req.path,\x0a\x20\x20\x20\x20\x20\x20\x20\x20ip:\x20req.ip\x0a\x20\x20\x20\x20\x20\x20});\x0a\x0a\x20\x20\x20\x20\x20\x20const\x20startTime\x20=\x20process.hrtime();\x0a\x0a\x20\x20\x20\x20\x20\x20res.on(\x27finish\x27,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20[seconds,\x20nanoseconds]\x20=\x20process.hrtime(startTime);\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20durationMs\x20=\x20parseFloat((seconds\x20*\x201000\x20+\x20nanoseconds\x20/\x201e6).toFixed(2));\x0a\x20\x20\x20\x20\x20\x20\x20\x20logRequest(req,\x20res,\x20durationMs);\x0a\x20\x20\x20\x20\x20\x20});\x0a\x0a\x20\x20\x20\x20\x20\x20next();\x0a\x20\x20\x20\x20});\x0a\x0a\x20\x20\x20\x20//\x20Middleware\x20untuk\x20validasi\x20API\x20key\x20jika\x20diperlukan\x20(constant-time\x20comparison)\x0a\x20\x20\x20\x20if\x20(config.key)\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20crypto\x20=\x20require(\x27crypto\x27);\x0a\x20\x20\x20\x20\x20\x20const\x20expectedKey\x20=\x20Buffer.from(config.key);\x0a\x0a\x20\x20\x20\x20\x20\x20app.use((req,\x20res,\x20next)\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20apiKey\x20=\x20req.headers[\x27x-api-key\x27];\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!apiKey)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20res.status(401).json({\x20error:\x20\x27Unauthorized:\x20Invalid\x20API\x20Key\x27\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20providedKey\x20=\x20Buffer.from(apiKey);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(expectedKey.length\x20!==\x20providedKey.length\x20||\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20!crypto.timingSafeEqual(expectedKey,\x20providedKey))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20res.status(401).json({\x20error:\x20\x27Unauthorized:\x20Invalid\x20API\x20Key\x27\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20next();\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Rate\x20limiting\x20middleware\x20(store:\x20memory\x20untuk\x20single\x20mode,\x20Redis\x20untuk\x20cluster\x20mode)\x0a\x20\x20\x20\x20rateLimiter.setStore(config.cluster\x20?\x20\x27redis\x27\x20:\x20\x27memory\x27);\x0a\x20\x20\x20\x20app.use(\x27/api\x27,\x20rateLimiter.middleware());\x0a\x0a\x20\x20\x20\x20//\x20Idempotency\x20middleware\x20(protects\x20mutation\x20endpoints\x20from\x20duplicate\x20execution)\x0a\x20\x20\x20\x20if\x20(process.env.IDEMPOTENCY_ENABLED\x20===\x20\x27true\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20app.use(\x27/api\x27,\x20idempotencyMiddleware.middleware());\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Body\x20options\x20middleware\x20(extract\x20{data,\x20options}\x20format\x20dari\x20request\x20body)\x0a\x20\x20\x20\x20app.use(\x27/api\x27,\x20bodyOptionsMiddleware.middleware());\x0a\x0a\x20\x20\x20\x20//\x20Auto-load\x20plugin\x20(jika\x20ada)\x0a\x20\x20\x20\x20const\x20moduleName\x20=\x20\x27'+_0x34b37f+_0x2be4b8(0x20e)+_0x34b37f+_0x2be4b8(0x188)+_0x34b37f+_0x2be4b8(0x1f2)+_0x34b37f+'\x0a\x20\x20\x20\x20const\x20modulesDir\x20=\x20path.join(__dirname,\x20\x27'+_0x34b37f+_0x2be4b8(0x1a6)+_0x34b37f+_0x2be4b8(0x20d)+_0x34b37f+_0x2be4b8(0x196)+_0x34b37f+_0x2be4b8(0x1b5)+_0x34b37f+_0x2be4b8(0x145)+_0x34b37f+':`,\x20error);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20throw\x20error;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20//\x20Register\x20export\x20cleanup\x20route\x0a\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20ExportHandler.registerCleanupRoute(app);\x0a\x20\x20\x20\x20\x20\x20}\x20catch\x20(cleanupError)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20console.error(\x27Export\x20cleanup\x20route\x20registration\x20failed:\x27,\x20cleanupError.message);\x0a\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20app.get(\x27/\x27,\x20(req,\x20res)\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20res.json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27'+_0x34b37f+_0x2be4b8(0x14f)+_0x34b37f+_0x2be4b8(0x1f5)+_0x34b37f+_0x2be4b8(0x17e)+_0x34b37f+'/info`,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20baseUrl:\x20`http://${displayHost}:${port}`\x0a\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27\x27);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20Execute\x20plugin\x20onAfterServerStart\x20hook\x20(jika\x20ada)\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(plugin\x20&&\x20plugin.onAfterServerStart)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20plugin.onAfterServerStart(app,\x20config);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20catch\x20(pluginError)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20logger.error({\x20event:\x20\x27plugin_after_start_error\x27,\x20error:\x20pluginError.message\x20},\x20\x27Plugin\x20onAfterServerStart\x20failed\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20});\x0a\x0a\x20\x20\x20\x20\x20\x20process.on(\x27SIGINT\x27,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27Menerima\x20sinyal\x20SIGINT,\x20shutting\x20down...\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20process.exit(0);\x0a\x20\x20\x20\x20\x20\x20});\x0a\x0a\x20\x20\x20\x20\x20\x20process.on(\x27SIGTERM\x27,\x20()\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27Menerima\x20sinyal\x20SIGTERM,\x20shutting\x20down...\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20process.exit(0);\x0a\x20\x20\x20\x20\x20\x20});\x0a\x0a\x20\x20\x20\x20\x20\x20process.on(\x27uncaughtException\x27,\x20(error)\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20console.error(\x27Uncaught\x20Exception:\x27,\x20error);\x0a\x20\x20\x20\x20\x20\x20});\x0a\x0a\x20\x20\x20\x20\x20\x20process.on(\x27unhandledRejection\x27,\x20(reason,\x20promise)\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20console.error(\x27Unhandled\x20Rejection\x20at:\x27,\x20promise,\x20\x27reason:\x27,\x20reason);\x0a\x20\x20\x20\x20\x20\x20});\x0a\x0a\x20\x20\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20\x20\x20console.error(\x27Error\x20saat\x20menjalankan\x20modul\x20'+_0x34b37f+_0x2be4b8(0x224);}function buildDefaultScopeSQL(_0x278803,_0x36c77c=''){const _0x26dfdd=a0_0x402b,_0x282666={'vqGPq':function(_0x5ea24f,_0x427778){return _0x5ea24f===_0x427778;},'VLPqu':'boolean','eynYx':'string','PNOlr':_0x26dfdd(0x137)};if(!_0x278803||typeof _0x278803!==_0x26dfdd(0x1e1))return'';const _0x3f6183=[];for(const [_0x167e2e,_0x75755c]of Object['entries'](_0x278803)){if(_0x282666[_0x26dfdd(0xe9)](typeof _0x75755c,_0x282666[_0x26dfdd(0xed)]))_0x3f6183['push'](''+_0x36c77c+_0x167e2e+_0x26dfdd(0x1a8)+_0x75755c+'\x27');else{if(typeof _0x75755c===_0x282666[_0x26dfdd(0x15a)])_0x3f6183[_0x26dfdd(0xf1)](''+_0x36c77c+_0x167e2e+'\x20=\x20\x27'+_0x75755c[_0x26dfdd(0x1d7)](/'/g,'\x27\x27')+'\x27');else _0x282666[_0x26dfdd(0xe9)](typeof _0x75755c,'number')&&_0x3f6183['push'](''+_0x36c77c+_0x167e2e+'\x20=\x20'+_0x75755c);}}return _0x3f6183[_0x26dfdd(0x228)](_0x282666[_0x26dfdd(0x147)]);}function a0_0x402b(_0x488992,_0x53a956){_0x488992=_0x488992-0xe0;const _0x223a68=a0_0x223a();let _0x402b59=_0x223a68[_0x488992];if(a0_0x402b['zwQYBb']===undefined){var _0x9fe21d=function(_0x48d92e){const _0xf4c237='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x10029c='',_0x2b8e89='';for(let _0x409326=0x0,_0x31f608,_0x187c45,_0x271016=0x0;_0x187c45=_0x48d92e['charAt'](_0x271016++);~_0x187c45&&(_0x31f608=_0x409326%0x4?_0x31f608*0x40+_0x187c45:_0x187c45,_0x409326++%0x4)?_0x10029c+=String['fromCharCode'](0xff&_0x31f608>>(-0x2*_0x409326&0x6)):0x0){_0x187c45=_0xf4c237['indexOf'](_0x187c45);}for(let _0x598b66=0x0,_0x1e3fc1=_0x10029c['length'];_0x598b66<_0x1e3fc1;_0x598b66++){_0x2b8e89+='%'+('00'+_0x10029c['charCodeAt'](_0x598b66)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2b8e89);};a0_0x402b['HhLTDF']=_0x9fe21d,a0_0x402b['lpoCgn']={},a0_0x402b['zwQYBb']=!![];}const _0x143ced=_0x223a68[0x0],_0x48629d=_0x488992+_0x143ced,_0x1454bc=a0_0x402b['lpoCgn'][_0x48629d];return!_0x1454bc?(_0x402b59=a0_0x402b['HhLTDF'](_0x402b59),a0_0x402b['lpoCgn'][_0x48629d]=_0x402b59):_0x402b59=_0x1454bc,_0x402b59;}function a0_0x223a(){const _0x29083a=['zxHWB3j0uxvLCNK','ywrQDxn0q29UzMLN','lMDLDerHDgeOEWOGicaGicaGihDOzxjLoIbBcIaGicaGicaGicb7igTLEtOGChjPBwfYEuTLEsWGDMfSDwu6ihjLCs5IB2r5w3bYAw1HCNLlzxLDih0ScIaGicaGicaGicb7igTLEtOGCMvXlL9Yzxf1zxn0u2nVCguUy29SDw1Ulcb2ywX1ztOGCMvXlL9Yzxf1zxn0u2nVCguUDMfSDwuGFqOGicaGicaGif0kicaGicaGFsK7cIaGicaGigLMicGHC2nVCgvdAgvJAY5ZDwnJzxnZihX8icfZy29WzunOzwnRlMrHDgeGFhWGC2nVCgvdAgvJAY5KyxrHlMXLBMD0Aca9pt0GmcKGEWOGicaGicaGihjLDhvYBIbYzxmUC3rHDhvZkdqWncKUANnVBIH7cIaGicaGicaGicbZDwnJzxnZoIbMywXZzsWkicaGicaGicaGigvYCM9YoIaNrgf0ysbUB3qGzM91BMqNlaOGicaGicaGicaGBwvZC2fNztOGjW','icb0AgLZlNzHBgLKyxrPB25dB25MAwCGpsb7FtSGlY8GtM8GzMLLBgqGDMfSAwrHDgLVBIbJB25MAwC','BgvUz3rO','cIaGicaVlYbdB21WB25LBNqGzw5NAw5LoIbIDwLSzcbLDMvUDenVBNrLEhqGDw50DwSGBw9KzwWTBgv2zwWGzxzLBNqGBgLMzwn5y2XLcIaGicbPzIaOy29TCg9Uzw50rw5NAw5LicyMienVBNrLEhrcDwLSzgvYksb7cIaGicaGihrYEsb7cIaGicaGicaGy29UC3qGzxzLBNrdB250zxH0id0GEWOGicaGicaGicaGy29TCg9Uzw50rw5NAw5LoIbJB21WB25LBNrfBMDPBMuScIaGicaGicaGicbdB250zxH0qNvPBgrLCJOGq29UDgv4Dej1AwXKzxiScIaGicaGicaGicb0ywjSzu5HBwu6icC','ksb8FcbKyxrHlG','l2XVB2T1CcaTie15u1fmifn0yxrPyYbmB29RDxakCM91DgvYlNbVC3qOjY9SB29RDxaNlcbHC3LUyYaOCMvXlcbYzxmPid0+ihSkicbJB25ZDcbTExnXBfjLCxvLC3rjzca9ihjLCs5TExnXBfjLCxvLC3rjzdSkcIaGDhj5ihSkicaGignVBNn0ihjLCxvLC3rnB2rLid0GCMvXlMHLywrLCNnBj3GTCMvXDwvZDc1TB2rLj107cGOGicaGAwyGkhjLCxvLC3rnB2rLice9psaNC3rHDgLJjYKGEWOGicaGicbYzxr1CM4GCMvZlNn0yxr1CYG0mdaPlMPZB24OEWOGicaGicaGihn1y2nLC3m6igzHBhnLlaOGicaGicaGigvYCM9YoIaNsw52ywXPzcbszxf1zxn0ie1VzguNlaOGicaGicaGig1LC3nHz2u6icDylvjLCxvLC3qTtw9KzsbOzwfKzxiGBxvZDcbIzsbZzxqGDg8GC3rHDgLJigzVCIbqt1nuigXVB2T1CcCScIaGicaGicaGDgLTzxn0yw1WoIbUzxCGrgf0zsGPlNrVsvnpu3rYAw5NkcKkicaGicaGFsK7cIaGicb9cGOGicaGy29UC29Szs5SB2COyfTnEvnrtc1ms1bDicr7BxLZCwXszxf1zxn0swr9ihn0yxrPyYbSB29RDxa6ycWGsLnptI5ZDhjPBMDPzNKOCMvXlMjVzhKSig51BgWSidiPktSkcIaGicbJB25ZDcbZDgfYDfrPBwuGpsbeyxrLlM5VDYGPoWOGicaGBgv0igXPC3q7cGOGicaGAwyGkhjLCs5IB2r5lNDOzxjLksb7cIaGicaGic8Vie5LDYbMB3jTyxqGzgvUz2fUihDOzxjLignSyxvZzsaRig9WDgLVBMfSihnLBgvJDcbKyw4GB3jKzxikicaGicaGBgLZDca9igf3ywL0ia','yxvKAxrdB2X1Bw5Z','mMLWvK9VvG','j119ycK7cGOGicaGCMv0DxjUihjLCY5ZDgf0DxmOmJaWks5QC29UkhSkicaGicaGC3vJy2vZCZOGDhj1zsWkicaGicaGBwvZC2fNztOGjW','cIaGicaGignVBNn0igrgAwvSzhmGpsbBxtSkicaGicaGy29UC3qGzfzHBhvLCYa9ifTDoWOGicaGicbMB3iGkgnVBNn0ifTRzxKSihzHBhvLxsbVzIbpyMPLy3qUzw50CMLLCYHPDgvTksKGEWOGicaGicaGigLMicHRzxKGpt09igrLDgfPBfbRksbJB250Aw51ztSkicaGicaGica','u3LhyKK','jYWGzw5KCg9PBNroyw1Llcb1CgXVywrdB25MAwCPoWOGicaGicaGicaGicaGigXVz2DLCI5PBMzVkhSGzxzLBNq6icD1CgXVywrFCM91DgvZx3jLz2LZDgvYzwqNlcbLBMrWB2LUDdOGzw5KCg9PBNroyw1LlcbMAwvSzhm6ie9IAMvJDc5RzxLZkhvWBg9HzenVBMzPzY5MAwvSzhmGFhWGE30Pih0SigbvCgXVywqGCM91DgvZihjLz2LZDgvYzwqGzM9Yicr7zw5KCg9PBNroyw1LFwaPoWOGicaGicaGicaGicb9cIaGicaGicaGicb9ignHDgnOicH1CgXVywrfCNjVCIKGEWOGicaGicaGicaGicbSB2DNzxiUzxjYB3iOEYbLDMvUDdOGj3vWBg9Hzf9YzwDPC3rYyxrPB25FzxjYB3iNlcbLBMrWB2LUDdOGzw5KCg9PBNroyw1LlcbLCNjVCJOGDxbSB2fKrxjYB3iUBwvZC2fNzsb9lcbGvxbSB2fKihjLz2LZDhjHDgLVBIbMywLSzwqGzM9Yicr7zw5KCg9PBNroyw1LFtOGjhT1CgXVywrfCNjVCI5TzxnZywDLFwaPoWOGicaGicaGicaGFqOGicaGicaGih0Gy2f0y2GGkgvYCM9Yksb7cIaGicaGicaGicbJB25ZB2XLlMvYCM9YkgbfCNjVCIbSB2fKAw5Nig1VzhvSzsaKE2zPBgv9igzYB20G','B1nuBw0','ue5pBhi','jZOGEWOGicaGicaGihr5Cgu6icC','y29UC3qGzxHWCMvZCYa9ihjLCxvPCMuOj2v4ChjLC3mNktSky29UC3qGyM9KEvbHCNnLCIa9ihjLCxvPCMuOj2jVzhKTCgfYC2vYjYK7cMnVBNn0ihbHDgGGpsbYzxf1AxjLkcDWyxrOjYK7cMnVBNn0igzZid0GCMvXDwLYzsGNzNmNktSky29UC3qGEYb2nZOGDxvPzhy3ih0GpsbYzxf1AxjLkcD1DwLKjYK7cMnVBNn0ihSGBg9Nz2vYlcbSB2Dtzxj2zxjszwfKEsWGBg9Nrw5KCg9PBNrszwDPC3rLCMvKlcbJCMvHDgvszxf1zxn0tg9Nz2vYlcbSB2Dszxf1zxn0ih0GpsbYzxf1AxjLkcDaCMvZDgzVCMDLANmVCgXHDgzVCM0VC3jJl3v0AwXZl2XVz2DLCICPoWPJB25ZDcbfEhbVCNriyw5KBgvYid0GCMvXDwLYzsGNqhjLC3rMB3jNzwPZl3bSyxrMB3jTl3nYyY9JB21WB25LBNrZl2HHBMrSzxjZl2v4Cg9YDf9Oyw5KBgvYjYK7cMnVBNn0ieLTCg9YDeHHBMrSzxiGpsbYzxf1AxjLkcDaCMvZDgzVCMDLANmVCgXHDgzVCM0VC3jJl2nVBxbVBMvUDhmVAgfUzgXLCNmVAw1WB3j0x2HHBMrSzxiNktSky29UC3qGvxbSB2fKsgfUzgXLCIa9ihjLCxvPCMuOj0bYzxn0zM9Yz2vQCY9WBgf0zM9YBs9ZCMmVy29TCg9Uzw50CY9Oyw5KBgvYCY91CgXVywrFAgfUzgXLCICPoWPJB25ZDcb7igv4DhjHy3rfEhbVCNrdB25MAwDgCM9Trw5KCg9PBNqSigv4DhjHy3rjBxbVCNrdB25MAwDgCM9Trw5KCg9PBNqSigv4DhjHy3rvCgXVywrdB25MAwDgCM9Trw5KCg9PBNqGFsa9ihjLCxvPCMuOj0bYzxn0zM9Yz2vQCY9WBgf0zM9YBs9ZCMmVDxrPBhmVy29UzMLNlwv4DhjHy3rVCICPoWPJB25ZDcbYyxrLtgLTAxrLCIa9ihjLCxvPCMuOj0bYzxn0zM9Yz2vQCY9WBgf0zM9YBs9ZCMmVBwLKzgXLD2fYzs9YyxrLlwXPBwL0zxiNktSky29UC3qGAwrLBxbVDgvUy3LnAwrKBgv3yxjLid0GCMvXDwLYzsGNqhjLC3rMB3jNzwPZl3bSyxrMB3jTl3nYyY9TAwrKBgv3yxjLl2LKzw1WB3rLBMn5jYK7cMnVBNn0igjVzhLpChrPB25ZtwLKzgXLD2fYzsa9ihjLCxvPCMuOj0bYzxn0zM9Yz2vQCY9WBgf0zM9YBs9ZCMmVBwLKzgXLD2fYzs9IB2r5lw9WDgLVBNmNktSky29UC3qGy29YC01PzgrSzxDHCMuGpsbYzxf1AxjLkcDaCMvZDgzVCMDLANmVCgXHDgzVCM0VC3jJl21PzgrSzxDHCMuVy29YCYCPoWPJB25ZDcbZzwn1CML0EuHLywrLCNmGpsbYzxf1AxjLkcDaCMvZDgzVCMDLANmVCgXHDgzVCM0VC3jJl21PzgrSzxDHCMuVC2vJDxjPDhKTAgvHzgvYCYCPoWOklYOQcIaQiez1BMDZAsb1BNr1AYbTzw5NzwTZzwT1C2KGBw9KDwWG','jYWkicaGicaGicbHzgrPDgLVBMfSq29UDgv4DdOGEWOGicaGicaGicaGzgv0ywLSvgfIBgu6icC','ignVBxbVC2L0zsb1CgrHDguGC3vJy2vZC2z1BdOG','nZe3otCYyNb6qwH5','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','jYWkicaGicaGicbMB3jLAwDUs2v5oIaN','ChjPy2vgAwvSza','cIaGicaGicaGAwyGkhzHBhvLice9psb1BMrLzMLUzwqGjIyGDMfSDwuGit09ig51BgWPihSkicaGicaGicaGigrgAwvSzhmUChvZAcHRzxKPoWOGicaGicaGicaGzfzHBhvLCY5WDxnOkhzHBhvLktSkicaGicaGicaGigrqBgfJzwHVBgrLCNmUChvZAcGNpYCPoWOGicaGicaGih0kicaGicaGFqOkicaGicaGlY8Gsw5Qzwn0igf1zgL0ignVBhvTBNmGA2uGzgv0ywLSieLou0vsvcaOzgv0ywLSigjHCNuGzgfYAsb1CgrHDgvdB21WB3nPDguPihzPysbOzwXWzxikicaGicaGDgHPCY5FyxbWzw5Kq3jLyxrLqxvKAxrdB2X1Bw5ZkgrgAwvSzhmSigrwywX1zxmSigrqBgfJzwHVBgrLCNmSigL0zw0Sigv2zw50q29UDgv4DcK7cGOGicaGicbJB25ZDcbKsw5Zzxj0u3fSid0Gj0Lou0vsvcbjtLrpicCGkYbKzxrHAwXuywjSzuz1BgWGkYaNicGNicSGzezPzwXKCY5QB2LUkcCSicCPicSGjYKGvKfmvuvticGNicSGzfbSywnLAg9SzgvYCY5QB2LUkcCSicCPicSGjYKNoWOGicaGicbHD2fPDcbJB25Uzwn0Aw9UlMv4zwn1DguOzeLUC2vYDfnXBcWGzfzHBhvLCYK7cIaGicaGigLUC2vYDgvKsxrLBxmUChvZAcHPDgvTktSkicaGih0kicaGignVBNnVBguUBg9NkcDjBNnLCNrLzcaNicSGAw5Zzxj0zwrjDgvTCY5Szw5NDgGGkYaNig5LDYbKzxrHAwWGAxrLBsHZksCPoWOkicaGic8VieDLDcbHBgWGy3vYCMvUDcbKzxrHAwWGAxrLBxmkicaGignVBNn0igfSBeL0zw1Zu3fSid0Gj1nftevdvcaQiezst00GjYaRigrLDgfPBfrHyMXLrNvSBcaRicCGv0HfuKuGjYaRigzRicSGjYa9id8Gt1jerviGqLKGBgLUzv9UDw1IzxiNoWOGicaGy29UC3qGw2fSBeL0zw1Zxsa9igf3ywL0ignVBM5Ly3rPB24UzxHLy3v0zsHHBgXjDgvTC1nXBcWGw3bYAw1HCNLlzxLwywX1zv0PoWO','lMnYzwf0zunVBxbVC2L0zsHKyxrHlcbLDMvUDenVBNrLEhqPoWOkicaGignVBNnVBguUBg9NkcC','oWOkicaGicaGDMfYihzHBgLKyxrPB24GpsbHD2fPDca','cIaGlY8GrMXHzYb1BNr1AYbZzwXMlwrVy3vTzw50Aw5NiefqssaOzw5KCg9PBNqGl2LUzM8PcIaGDgHPCY5OyxnwAwv3uxvLCNKGpsa','Cvzkt04','cGOGicaGy29UC3qGzgv0ywLSt3bLCMf0Aw9UCYa9igrHDgfBzgv0ywLSs2v5xsb8Fcb7FtSkicaGignVBNn0ihSGAw5Zzxj0oIbPBNnLCNrjDgvTCYa9ifTDlcb1CgrHDgu6ihvWzgf0zuL0zw1Zid0Gw10SigrLBgv0ztOGzgvSzxrLsxrLBxmGpsbBxsb9id0Gzgv0ywLSt3bLCMf0Aw9UCZSkcIaGicbJB25ZDcbKzwXLDgvKsxrLBxmGpsbBxtSkicaGignVBNn0ihvWzgf0zwrjDgvTCYa9ifTDoWOGicaGy29UC3qGAw5Zzxj0zwrjDgvTCYa9ifTDoWOkicaGic8VideUierftevursbVCgvYyxrPB25ZcIaGicbMB3iGkgnVBNn0igL0zw0GB2yGzgvSzxrLsxrLBxmPihSkicaGicaGAwyGkcfPDgvTw2rLDgfPBfbRxsKGDgHYB3CGBMv3ievYCM9YkcDnAxnZAw5NicCGkYbKzxrHAwXqAYaRicCGAw4GzgvSzxrLig9WzxjHDgLVBICPoWOGicaGicbJB25ZDcbKzwXtCwWGpsaNrevmrvrfiezst00GjYaRigrLDgfPBfrHyMXLrNvSBcaRicCGv0HfuKuGjYaRigrLDgfPBfbRicSGjYa9id8NoWOGicaGicbHD2fPDcbJB25Uzwn0Aw9UlMv4zwn1DguOzgvSu3fSlcbBAxrLBvTKzxrHAwXqA11DktSkicaGicaGzgvSzxrLzeL0zw1ZlNb1C2GOAxrLBsK7cIaGicb9cIaGicbJB25ZB2XLlMXVzYGNrgvSzxrLzcaNicSGzgvSzxrLzeL0zw1ZlMXLBMD0AcaRicCGzgv0ywLSigL0zw0OCYKNktSkcIaGicaVlYaYlIbvuerbveuGB3bLCMf0Aw9UCWOGicaGzM9YicHJB25ZDcbPDgvTig9MihvWzgf0zuL0zw1Zksb7cIaGicaGigLMicGHAxrLBvTKzxrHAwXqA10PihrOCM93ig5LDYbfCNjVCIGNtwLZC2LUzYaNicSGzgv0ywLSugSGkYaNigLUihvWzgf0zsbVCgvYyxrPB24NktSk','cIaGicaGia','zgf0yxrHyMXLC1DOzxjL','zxLUwxG','iICScIaGicaGicaGDgLTzxn0yw1WoIbUzxCGrgf0zsGPlNrVsvnpu3rYAw5NkcKkicaGicaGFsK7cIaGicb9cGOGicaGDMfYigrHDgeGpsbYzxeUyM9KEs4','cIaGicb9','lMfKzerHDgeOCMvXlMjVzhKSigv2zw50q29UDgv4DcK7cIaGicaGicaGy29UC29Szs5SB2COj1TjtLrfr1jbveveifrsqu5tqunusu9oxsbjtLnfuLqGy29TCgXLDgvKihn1y2nLC3nMDwXSEsb3AxrOigv2zw50CYCPoWOGicaGicb9ignHDgnOicHLCNjVCIKGEWOGicaGicaGignVBNnVBguUzxjYB3iOj1TjtLrfr1jbveveifrsqu5tqunusu9oxsbjtLnfuLqGzMfPBgvKoICSigvYCM9YlM1LC3nHz2uPoWOGicaGicaGihrOCM93igvYCM9YoWOGicaGicb9cIaGicb9igvSC2uGEWOGicaGicb0CNKGEWOGicaGicaGihzHCIbYzxn1BhqGpsbHD2fPDca','mte5odu2oejvCeHRsa','EeDtB0C','wM1wDwm','ieXjtuLuideWmdbGoWOGicaGy29UC3qGzgf0ysa9igf3ywL0igrIlMv4zwn1DgvrDwvYEsHXDwvYEsK7cGOGicaGlY8Gq2fJAguGCMvZDwX0ihrHBNbHihnLBgvJDgvKigzSywCkicaGignVBNn0ignHy2HLrgf0ysa9igrHDgeUBwfWkgL0zw0Gpt4GkhSkicaGicaGAwq6igL0zw0U','svjtCg4','ntmZnJu5n2DwuM9qEa','lMDLDfn0yxrPy0XVB2T1CerHDgeOC2vSzwn0zwruywCPoWOGicaGFqOkicaGignVBNn0igXVB2T1CfrPBwuGpsbeyxrLlM5VDYGPic0GC3rHCNruAw1LoWOGicaGy29UC29Szs5SB2COyfTnEvnrtc1ms1bDicr7BxLZCwXszxf1zxn0swr9igzVDw5Kicr7BgLZDc5Szw5NDgH9ihjLC3vSDhmGAw4GjhTSB29RDxbuAw1LFw1ZycK7cGOGicaGCMv0DxjUihjLCY5QC29UkhSkicaGicaGC3vJy2vZCZOGDhj1zsWkicaGicaGy291BNq6igXPC3qUBgvUz3rOlaOGicaGicbKyxrHoIbSAxn0laOGicaGicbFBxLZCwW6ihSGCMvXDwvZDeLKoIbTExnXBfjLCxvLC3rjzcWGCxvLCNLuAw1LoIbSB29RDxbuAw1Llcb0Aw1LC3rHBxa6ig5LDYbeyxrLkcKUDg9ju09tDhjPBMCOksb9cIaGicb9ktSkicb9ignHDgnOicHLCNjVCIKGEWOGicaGy29UC29Szs5LCNjVCIHGw015u1fmluXluf0GrxjYB3iGjhTTExnXBfjLCxvLC3rjzh06ycWGzxjYB3iPoWOGicaGCMv0DxjUihjLCY5ZDgf0DxmOntaWks5QC29UkhSkicaGicaGC3vJy2vZCZOGzMfSC2uScIaGicaGigvYCM9YoIaNsw50zxjUywWGu2vYDMvYievYCM9YjYWkicaGicaGBwvZC2fNztOGj0fUigvYCM9Yig9Jy3vYCMvKihDOAwXLigXVB2TPBMCGDxaG','qu5eicG','ksb7cIaGicaGihjLDhvYBIbYzxmUC3rHDhvZkdqWmcKUANnVBIH7cIaGicaGicaGC3vJy2vZCZOGzMfSC2uScIaGicaGicaGzxjYB3i6icDnAxnZAw5NihjLCxvPCMvKigzPzwXKjYWkicaGicaGicbTzxnZywDLoIaNuhjPBwfYEsbRzxKGka','C291CMnL','zNHOwhu','lMfKzerHDgeOCMvXlMjVzhKSihSGywrKAxrPB25HBenVBNrLEhq6ihSGCMvXDwvZDeLKoIbYzxeUAwqGFhWGBNvSBcb9ih0PoWOGicaGicbJB25ZB2XLlMXVzYGNw0zbteXcqunlxsbjtLnfuLqGy29TCgXLDgvKihDPDgHVDxqGzxzLBNrZjYK7cIaGicb9ignHDgnOicHLCNjVCIKGEWOGicaGicbJB25ZB2XLlMvYCM9YkcDBrKfmtejbq0TDieLou0vsvcbMywLSzwq6jYWGzxjYB3iUBwvZC2fNzsK7cIaGicaGihrOCM93igvYCM9YoWOGicaGFqO','DMLLD1f1zxj5','zgv0ywLSuxvLCNK','mZqXz3nyq29I','ywr2yw5JzwrrDwvYAwvZ','jYWkicaGicaGicbZzxj2AwnLCZOGE30ScIaGicaGicaGywrKAxrPB25HBenVBNrLEhq6ihSkicaGicaGicaGihvZzxjFAwq6ihjLCs5OzwfKzxjZwYD1C2vYlwLKj10GFhWGCMvXlMHLywrLCNnBj3GTDxnLCI1PzcDDihX8ihjLCs5IB2r5lNvWzgf0zwrFyNKGFhWGj3n5C3rLBsCScIaGicaGicaGicbVChrPB25ZoIbYzxeUyM9KEu9WDgLVBNmGFhWGE30ScIaGicaGicaGicbYzxf1zxn0swq6ihjLCs5Pzcb8FcbUDwXSlaOGicaGicaGicaGlY8GsLDuigzVCNDHCMrPBMCGkeXHEwvYideGuKXtktOGqxv0Ag9YAxPHDgLVBIbOzwfKzxiGzgfYAsbYzxf1zxn0igfZBgKkicaGicaGicaGic8VigrPlwzVCNDHCMqGA2uGD29YA2zSB3CGAg9VAYbJywXSigfNyxiGzw5KCg9PBNqGDhvQDwfUihLHBMCGChvUEwekicaGicaGicaGic8VihjLCxvLC3rty29WzsbHA3rPzIb0zxrHCcbTzw5LCMLTysbYzxeUDxnLCIbKzw5Nyw4GC2nVCguGEwfUzYbZyw1HlGOGicaGicaGicaGyxv0AeHLywrLCJOGCMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBIb8FcbUDwXScIaGicaGicaGFqOGicaGicb9oWOkicaGicaGDhj5ihSkicaGicaGicbJB25ZDcb7ihjLC29SDMvtzxj2AwnLCYb9id0GCMvXDwLYzsGNqhjLC3rMB3jNzwPZl3bSyxrMB3jTl3nYyY91DgLSCY9Zzxj2AwnLlxjLC29SDMvYjYK7cIaGicaGicaGzxzLBNrdB250zxH0lNnLCNzPy2vZid0GCMvZB2X2zvnLCNzPy2vZkcK7cIaGicaGih0Gy2f0y2GGkguPihSkicaGicaGicaVlYbtzxj2AwnLihjLC29SDMvYig9WC2LVBMfScIaGicaGih0kcIaGicaGihjLC3vSDca9igf3ywL0ia','icbSzxqGyMfZzvf1zxj5id0GyaOGicaG','BNvSBa','sw52ywXPzcbHDwrPDenVBhvTBNmGDMfSDwuGzM9Yia','Dg90ywXFCxr5','jYWkicaGicaGicaGigzVCMvPz25lzxK6icC','lY8GvgfIzwWGDgfUCgeGyxvKAxqGy29SDw1UCZOGzgLZywjSzsbPBMPLy3rPB24GAgvSCgvYcG','cIaGlY8GrMLSzsb1CgXVywqGzMLLBgrZicHku09oignVBhvTBNmPcIaGDgHPCY5MAwXLrMLLBgrZid0G','y3jLyxrLzef0','l2XVB2T1CcaTie15u1fmier5BMfTAwmGtg9VA3vWcNjVDxrLCI5NzxqOjY9SB29RDxaNlcbHC3LUyYaOCMvXlcbYzxmPid0+ihSkicbJB25ZDcbTExnXBfjLCxvLC3rjzca9ihjLCs5TExnXBfjLCxvLC3rjzdSkcIaGDhj5ihSkicaGignVBNn0ihjLCxvLC3rnB2rLid0GCMvXlMHLywrLCNnBj3GTCMvXDwvZDc1TB2rLj107cGOGicaGAwyGkhjLCxvLC3rnB2rLice9psaNzhLUyw1PyYCPihSkicaGicaGCMv0DxjUihjLCY5ZDgf0DxmOndaWks5QC29UkhSkicaGicaGicbZDwnJzxnZoIbMywXZzsWkicaGicaGicbLCNjVCJOGj0LUDMfSAwqGuMvXDwvZDcbnB2rLjYWkicaGicaGicbTzxnZywDLoIaNwc1szxf1zxn0lu1VzguGAgvHzgvYig11C3qGyMuGC2v0ihrVigr5BMfTAwmNlaOGicaGicaGihrPBwvZDgfTCdOGBMv3ierHDguOks50B0Ltt1n0CMLUzYGPcIaGicaGih0PoWOGicaGFqOkicaGigXLDcbZzwfYy2GGpsbYzxeUCxvLCNKUC2vHCMnOihX8icCNoWOGicaGAwyGkefYCMf5lMLZqxjYyxKOC2vHCMnOksKGEWOGicaGicbZzwfYy2GGpsbZzwfYy2HBmf0GFhWGjYC7cIaGicb9cGOGicaGlY8Gu2vHCMnOigXLBMD0Acb2ywXPzgf0Aw9UcIaGicbPzIaOC2vHCMnOlMXLBMD0Aca+ideWmcKGEWOGicaGicbYzxr1CM4GCMvZlNn0yxr1CYG0mdaPlMPZB24OEWOGicaGicaGihn1y2nLC3m6igzHBhnLlaOGicaGicaGigvYCM9YoIaNu2vHCMnOifrVBYbmB25NjYWkicaGicaGicbTzxnZywDLoIaNu2vHCMnOihbHCMfTzxrLCIbTDxn0ig5VDcbLEgnLzwqGmtaWignOyxjHy3rLCNmNlaOGicaGicaGihrPBwvZDgfTCdOGBMv3ierHDguOks50B0Ltt1n0CMLUzYGPcIaGicaGih0PoWOGicaGFqOkicaGignVBNnVBguUBg9NkgbBtxLtuuWTteTqxsaKE215C3fSuMvXDwvZDeLKFsbKEw5HBwLJihnLyxjJAdOGjhTZzwfYy2H9ycK7cGOGicaGlY8Gq29SBgvJDcbLEhrYysbMAwX0zxjZigrHCMKGCxvLCNKGCgfYyw1ZcIaGicbJB25ZDcbLEhrYyuzPBhrLCNmGpsb7FtSkicaGigzVCIaOy29UC3qGw2TLEsWGDMfSDwvDig9Mie9IAMvJDc5LBNrYAwvZkhjLCs5XDwvYEsKPihSkicaGicaGAwyGkgTLEsaHpt0Gj3nLyxjJAcCGjIyG','jYbMCM9Tia','igrHDgeNlaOGicaGicbKzxrHAwXZoIbWCM9JzxnZlMvUDI5ot0rfx0vovIa9pt0Gj2rLDMvSB3bTzw50jYa/igvYCM9YlM1LC3nHz2uGoIb1BMrLzMLUzwqScIaGicaGihrPBwvZDgfTCdOGBMv3ierHDguOks50B0Ltt1n0CMLUzYGPcIaGicb9ktSkicb9cN0PoWOk','DgHPCY5HDwrPDenVBhvTBNmGpsbUDwXSoWO','jYWkicaGicaGicbWCMLTyxj5s2v5oIb0AgLZlNbYAw1HCNLlzxKScIaGicaGicaGlI4Ukgv2zw50q29UDgv4Dc5HzgrPDgLVBMfSq29UDgv4Dcb8Fcb7FsKkicaGicaGFsK7cIaGicaGihzHCIbFywz0zxjszxn1BhqGpsbHD2fPDcbFy2uYlMv4zwn1DgvpBKfMDgvYq29TCg9ZAxrLkcDPBNnLCNqNlcbFywz0zxjdDhGPoWOGicaGicbPzIaOiv9HzNrLCLjLC3vSDc5ZDwnJzxnZksb7cIaGicaGicaGyxDHAxqGy29UBMvJDgLVBI5YB2XSyMfJAYGPoWOGicaGicaGihrOCM93ig5LDYbfCNjVCIGNB25bzNrLCKnVBxbVC2L0zuLUC2vYDcbMywLSzwq6icCGkYbFywz0zxjszxn1BhqUzxjYB3iPoWOGicaGicb9cIaGicb9cGOGicaGyxDHAxqGy29UBMvJDgLVBI5JB21TAxqOktSkicaGignVBNnVBguUBg9NkcDuCMfUC2fJDgLVBIbJB21TAxr0zwqGC3vJy2vZC2z1BgX5jYK7cGOGicaGlY8Gsw52ywXPzgf0zsbJywnOzsbZzxrLBgfOihDYAxrLig9WzxjHDgLVBIbIzxjOyxnPBaOGicaGyxDHAxqGDgHPCY5PBNzHBgLKyxrLq2fJAguOktSkcIaGicbYzxr1CM4GEWOGicaGicaUlI5PBNnLCNrLzeHLywrLCIWkicaGicaGw2rLDgfPBeTLEv06igLUC2vYDgvKsxrLBxmkicaGih07cIaGFsbJyxrJAcaOzxjYB3iPihSkicaGihrYEsb7igf3ywL0ignVBM5Ly3rPB24UCM9SBgjHy2SOktSGFsbJyxrJAcaOCMjfCNiPihSGy29UC29Szs5LCNjVCIGNuM9SBgjHy2SGzMfPBgvKoICSihjIrxjYlM1LC3nHz2uPoYb9cIaGicbJB25ZB2XLlMvYCM9YkcDfCNjVCIbPBIbJCMvHDgvdB21WB3nPDgu6jYWGzxjYB3iPoWOGicaGDgHYB3CGzxjYB3i7cIaGFsbMAw5HBgX5ihSkicaGihrYEsb7ignVBM5Ly3rPB24UCMvSzwfZzsGPoYb9ignHDgnOicHYzwXfCNiPihSGy29UC29Szs5LCNjVCIGNq29UBMvJDgLVBIbYzwXLyxnLigzHAwXLzdONlcbYzwXfCNiUBwvZC2fNzsK7ih0kicb9cN0k','A2v5CW','Dg90ywXFyw1VDw50','l2HLywX0AgaScIaGicaGicaGicbZzxj2AwnLsw5MBZOGygH0Dha6lY8KE2rPC3bSyxLiB3n0FtOKE3bVCNr9l2fWAs8','y29UC3qGzxHWCMvZCYa9ihjLCxvPCMuOj2v4ChjLC3mNktSky29UC3qGCM91DgvYid0GzxHWCMvZCY5sB3v0zxiOktSky29UC3qG','jZSkicaGignVBNn0igzRid0GjW','jZSkicaGigXLDcb0zxH0rMLLBgqGpsaN','B05uyxq','lNzHBgLKyxrLrgf0ysa9pt0Gj2z1BMn0Aw9UjYKGEWOGicaGicb2yxiGAgvHzgvYrgf0yuzVCLzHBgLKyxrPB24GpsbpyMPLy3qUyxnZAwDUkhT9lcbKyxrHktSkicaGicaGzgvSzxrLigHLywrLCKrHDgfgB3jwywXPzgf0Aw9UlG','zgf0zxrPBwu','oWOGicaGy29UC3qGBw9KzwXjBMzVid0GyxDHAxqG','cI8VimoI4OcD4OkSW6lIGj3IGQZdOUkaNEkcRcbszxf1zxn0ifnJB3bLie1PzgrSzxDHCMuGkeXHEwvYideGuKXtksddOUkaNEkcRmoI4OcD4OkSW6lIGj3IGQZdOUkaNEkcRmoI4OcD4OkSW6lIGj3IGQZdOUkaNEkcRmoI4OcD4OkSW6lIGj3IGQZdOUkaNEkcRmoI4OcD4OkSW6lIGj3IGQZdOUkaNEkcRmoI4OcD4OkSW6lIGj3IGQZdOUkaNEkcRmoI4OcD4OkSW6lIGj3IGQZdOUkaNEkcRmoI4OcD4OkSW6lIGj3IGQZdOUkaNEkcRmoI4OcD4OkSW6lIGj3IGQZdOUkaNEkcRmoI4OcD4OkScI8Vier5BMfTAwmGCgvYlxjLCxvLC3qGzMLSDgvYAw5Nigj5icC','l3vWzgf0zs1JB21WB3nPDgu6jYWGsLnptI5ZDhjPBMDPzNKOCMvXlMjVzhKSig51BgWSidiPktSkcIaGicbPzIaOixjLCs5IB2r5ihX8icfYzxeUyM9KEs4','l2HLywX0AcCSicHYzxeSihjLCYKGpt4GEWOGicaGicbJB25ZDcbOzwfSDgHjBMzVid0GEWOGicaGicaGihn0yxr1CZOGj29RjYWkicaGicaGicb0Aw1LC3rHBxa6ig5LDYbeyxrLkcKUDg9ju09tDhjPBMCOks5YzxbSywnLkcDujYWGjYaNks5YzxbSywnLkc9ClLXKEZn9wIqVlcaNjYKScIaGicaGicaGC2vYDMLJztOGjW','zM9YzwLNBKTLEq','cIaGicbJB25ZDcbHzgP1C3rdB25MAwCGpsbJB21WB25LBNrdB25MAwCUywrQDxn0q29UzMLNihX8ihT9oWOGicaGBgv0ihjLC3bVBNnLrgf0ysa9ig51BgW7cGO','igrHDgeGBM90igzVDw5KjYWkicaGicaGicb0Aw1LC3rHBxa6ig5LDYbeyxrLkcKUDg9ju09tDhjPBMCOkqOGicaGicb9ktSkicaGih0kicaGigLMicHLCNjVCI5LCNjUBYa9pt0Gmta2mIKGEWOGicaGicbYzxr1CM4GCMvZlNn0yxr1CYG0mdKPlMPZB24OEYbZDwnJzxnZoIbMywXZzsWGzxjYB3i6icDeDxbSAwnHDguGzw50CNKNlcbTzxnZywDLoIaNqsbYzwnVCMqGD2L0Acb0AgLZihzHBhvLigfSCMvHzhKGzxHPC3rZjYWGDgLTzxn0yw1WoIbUzxCGrgf0zsGPlNrVsvnpu3rYAw5NkcKGFsK7cIaGicb9cIaGicbPzIaOzxjYB3iUzxjYBM8Gpt09ide0ntiPihSkicaGicaGCMv0DxjUihjLCY5ZDgf0DxmOndaWks5QC29UkhSGC3vJy2vZCZOGzMfSC2uSigvYCM9YoIaNrM9YzwLNBIbRzxKGy29UC3rYywLUDcCSig1LC3nHz2u6icDszwzLCMvUy2vKigrHDgeGBM90igzVDw5KjYWGzgv0ywLSCZOGChjVy2vZCY5LBNyUtK9erv9ftLyGpt09icDKzxzLBg9WBwvUDcCGpYbLCNjVCI5TzxnZywDLidOGDw5KzwzPBMvKlcb0Aw1LC3rHBxa6ig5LDYbeyxrLkcKUDg9ju09tDhjPBMCOksb9ktSkicaGih0kcIaGicbYzxr1CM4GCMvZlNn0yxr1CYG1mdaPlMPZB24OEWOGicaGicbZDwnJzxnZoIbMywXZzsWkicaGicaGzxjYB3i6icDjBNrLCM5HBcbtzxj2zxiGrxjYB3iNlaOGicaGicbTzxnZywDLoIaNqw4GzxjYB3iGB2nJDxjYzwqGD2HPBguGDxbKyxrPBMCG','cI8QkGOGkIbdB21WB3nPDguGy3jLyxrLic0Gq3jLyxrLigHLywrLCIb3AxrOigrLDgfPBcbPDgvTCYbPBIbHihnPBMDSzsb0CMfUC2fJDgLVBIaOtxLtuuWPcIaQlWPHC3LUyYbJCMvHDgvdB21WB3nPDguOzgf0ysWGzxzLBNrdB250zxH0id0GBNvSBcKGEWOGignVBNn0ignVBM5Ly3rPB24GpsbHD2fPDcbKyI5NzxrdB25Uzwn0Aw9UkcK7cIaGDhj5ihSkicaGigf3ywL0ignVBM5Ly3rPB24UyMvNAw5uCMfUC2fJDgLVBIGPoWOkicaGignVBNn0igrLDgfPBeTLEsa9icC','ieXjtuLuideWmga7cIaGicbJB25ZDcbWyxjHBxmGpsbBycuKE3nLyxjJAcb8FcaNj30Lyf07cIaGicbJB25ZDcbKyxrHid0GyxDHAxqGzgiUzxHLy3v0zvf1zxj5khf1zxj5lcbWyxjHBxmPoWOkicaGignVBNn0ihjLC3vSDca9igrHDgeUBwfWkgL0zw0Gpt4GkhSkicaGicaGAwq6igL0zw0U','AxrLBxmU','CMvXDwvZDfnJB3bL','q29UDgv4Dej1AwXKzxiGpsbYzxf1AxjLkcDaCMvZDgzVCMDLANmVCgXHDgzVCM0VC3jJl3v0AwXZl2nVBNrLEhqTyNvPBgrLCICPoWO','ifDirvjfia','iL0GpsbMCY5YzwfKrMLSzvn5BMmOzMLSzvbHDgGSicD1Dgy4jYK7cIaGicaGicaGy29UC29Szs5SB2COyfnrtcbuzw1WBgf0zsa','CMvHzenVBxbVC2L0zq','oWOGihrOAxmUAgfZrxHWB3j0uxvLCNKGpsa','vK1yrM0','jYWGzw5KCg9PBNroyw1LlcbLEhbVCNrdB25MAwCPoWOGicaGicaGicaGicb9cIaGicaGicaGicb9ignHDgnOicHLEhbVCNrfCNjVCIKGEWOGicaGicaGicaGicbSB2DNzxiUzxjYB3iOEYbLDMvUDdOGj2v4Cg9YDf9YzwDPC3rYyxrPB25FzxjYB3iNlcbLBMrWB2LUDdOGzw5KCg9PBNroyw1LlcbLCNjVCJOGzxHWB3j0rxjYB3iUBwvZC2fNzsb9lcbGrxHWB3j0ihjLz2LZDhjHDgLVBIbMywLSzwqGzM9Yicr7zw5KCg9PBNroyw1LFtOGjhTLEhbVCNrfCNjVCI5TzxnZywDLFwaPoWOGicaGicaGicaGFqOkicaGicaGicaGic8VifjLz2LZDgvYigLTCg9YDcbYB3v0zxmGDMLHignLBNrYywXPEMvKigHHBMrSzxikicaGicaGicaGihrYEsb7cIaGicaGicaGicaGignVBNn0igLTCg9YDenVBMzPzYa9igv4DhjHy3rjBxbVCNrdB25MAwDgCM9Trw5KCg9PBNqOzw5KCg9PBNrqyxrOktSkicaGicaGicaGicaGAwyGkgLTCg9YDenVBMzPzYKGEWOGicaGicaGicaGicaGieLTCg9YDeHHBMrSzxiUCMvNAxn0zxjsB3v0zxmOyxbWlcaN','oWOGigLMicHZy29WzvzHBhvLid09psb1BMrLzMLUzwqGFhWGC2nVCgvwywX1zsa9pt0GBNvSBcKGEWOGicaGCMv0DxjUihjLCY5ZDgf0DxmOndaZks5QC29UkhSkicaGicaGC3vJy2vZCZOGzMfSC2uScIaGicaGigvYCM9YoIaNrM9YyMLKzgvUjYWkicaGicaGBwvZC2fNztOGj1jLCxvLC3qGC2nVCguGDMfSDwuGBM90igf2ywLSywjSzsbPBIb1C2vYignVBNrLEhqNlaOGicaGicb0Aw1LC3rHBxa6ig5LDYbeyxrLkcKUDg9ju09tDhjPBMCOkqOGicaGFsK7cIaGFqOkicaVlYbfEhbVC2uGC2nVCguGAw5MBYbMB3iGCM91DguGAgfUzgXLCNmGkg93BMvYC2HPCcb2zxjPzMLJyxrPB24GAw4Gl2zPCNn0lcaVDxbKyxrLlcaVDxbKyxrLlwnVBxbVC2L0zsKkicbYzxeUx3jLCxvLC3rty29Wzsa9ihSGy29SDw1UoIaN','y29UC3rYywLUDhm','y29UC3qGqMfZzu1VzgvSid0GCMvXDwLYzsGNqhjLC3rMB3jNzwPZl3bSyxrMB3jTl3nYyY9TB2rLBhmVyMfZzs1TB2rLBc1TExnXBcCPoWPJB25ZDcbKyIa9ihjLCxvPCMuOj0bYzxn0zM9Yz2vQCY9WBgf0zM9YBs9ZCMmVDxrPBhmVzgiTBxLZCwWNktSky29UC3qGzNmGpsbYzxf1AxjLkcDMCYCPoWPJB25ZDcbWyxrOid0GCMvXDwLYzsGNCgf0AcCPoWOklYOQcIOG','Dg9vChbLCKnHC2u','z2vUzxjHDgvK','id0GpYbpuKrfuIbcwsbSAw5Lx251BwjLCIC7','cI8QkGOQia','ChjPBwfYEuTLEq','jYWkicaGig1VzhvSzu5HBwu6icC','jYWkicaGigrHDgfIyxnLvhLWztOGj215C3fSjYWkicaGihbYAw1HCNLlzxK6icC','vNbwqMC','rMvfuLC','jZSkicaGigLMicGHCMvXlMjVzhLBChjPBwfYEuTLEv0PihSkicaGicaGCMv0DxjUihjLCY5ZDgf0DxmOndaWks5QC29UkhSkicaGicaGicbZDwnJzxnZoIbMywXZzsWkicaGicaGicbLCNjVCJOGj01PC3nPBMCGCMvXDwLYzwqGzMLLBgqNlaOGicaGicaGig1LC3nHz2u6igbqCMLTyxj5igTLEsaOjhTWCMLTyxj5s2v5FsKGAxmGCMvXDwLYzwqGzM9YigfKANvZDgaScIaGicaGicaGDgLTzxn0yw1WoIbUzxCGrgf0zsGPlNrVsvnpu3rYAw5NkcKkicaGicaGFsK7cIaGicb9cGOGicaGlY8GvMfSAwrHC2KGywrQDxn0BwvUDhmGyxjYyxKkicaGigLMicGHCMvXlMjVzhKUywrQDxn0BwvUDhmGFhWGiufYCMf5lMLZqxjYyxKOCMvXlMjVzhKUywrQDxn0BwvUDhmPihX8ihjLCs5IB2r5lMfKANvZDg1LBNrZlMXLBMD0Aca9pt0GmcKGEWOGicaGicbYzxr1CM4GCMvZlNn0yxr1CYG0mdaPlMPZB24OEWOGicaGicaGihn1y2nLC3m6igzHBhnLlaOGicaGicaGigvYCM9YoIaNsw52ywXPzcbWyxLSB2fKjYWkicaGicaGicbTzxnZywDLoIaNywrQDxn0BwvUDhmGyxjYyxKGAxmGCMvXDwLYzwqGyw5Kig11C3qGBM90igjLigvTChr5jYWkicaGicaGicb0Aw1LC3rHBxa6ig5LDYbeyxrLkcKUDg9ju09tDhjPBMCOkqOGicaGicb9ktSkicaGih0k','id09psbZzwXLy3rLzfrHzYKGEWOGicaGicaGihjVDY5ZzwXLy3rLzca9icD0CNvLjZSkicaGicaGFqOGicaGicbYzxr1CM4GCM93oWOGicaGFsK7cIaGFsbJyxrJAcaOzxjYB3iPihSkicaGignVBNnVBguUzxjYB3iOj0vYCM9YigLUie15u1fmigDLDfn0yxrPy0XVB2T1CerHDge6jYWGzxjYB3iPoWOGicaGDgHYB3CGzxjYB3i7cIaGFqP9cGOVkIOkicOGtg9VA3vWigrLBMDHBIbHzhzHBMnLzcbMAwX0zxiGC3vWCg9YDcb1BNr1AYbnEvnrtaOGkI8kyxn5BMmGz2v0tg9VA3vWrgf0yvDPDgHgAwX0zxiOB3b0Aw9UCYKGEWOGihrYEsb7cIaGicaVlYbdAgvJAYbJywnOzsbMAxjZDaOGicaGy29UC3qGy2fJAgvpChrPB25Zid0GEYaUlI5VChrPB25Zlcb0ExbLoIaNzMLSDgvYjYb9oWOGicaGy29UC3qGy2fJAgvKuMvZDwX0id0GyxDHAxqGDgHPCY5NzxrdywnOzwrmB29RDxaOy2fJAgvpChrPB25ZlcaNzMLSDgvYjYK7cIaGicbPzIaOy2fJAgvKuMvZDwX0ksbYzxr1CM4Gy2fJAgvKuMvZDwX0oWOkicaGignVBNn0ihnLBgvJDenVBhvTBNmGpsbVChrPB25ZlNnLBgvJDcb8FcbBjW','swzTENi','jYK7cGOGicaGDhj5ihSkicaGicaGAwyGkcfMCY5LEgLZDhntEw5Jkg1VzhvSzxneAxiPksb7cIaGicaGicaGzNmUBwTKAxjtEw5Jkg1VzhvSzxneAxiSihSGCMvJDxjZAxzLoIb0CNvLih0PoWOGicaGicaGignVBNnVBguUBg9NkgbeAxjLy3rVCNKGjhTTB2r1BgvZrgLYFsbJCMvHDgvKihn1y2nLC3nMDwXSEwaPoWOGicaGicb9cGOGicaGicbJB25ZDcbMAwXLCYa9igzZlNjLywrKAxjtEw5Jkg1VzhvSzxneAxiPoWOGicaGicbJB25ZDcbLBMrWB2LUDezPBgvZid0GzMLSzxmUzMLSDgvYkgzPBguGpt4GzMLSzs5LBMrZv2L0AcGNlMPZjYKPoWOkicaGicaGAwyGkgvUzhbVAw50rMLSzxmUBgvUz3rOid09psaWksb7cIaGicaGicaGy29UC29Szs5SB2COye5VigvUzhbVAw50igzPBgvZigzVDw5KigLUicr7Bw9KDwXLC0rPCN1GktSkicaGicaGicbJB25ZB2XLlMXVzYHGqwrKigvUzhbVAw50igzPBgvZihrVigvUywjSzsbbueKGzNvUy3rPB25HBgL0EwaPoWOGicaGicb9igvSC2uGEWOGicaGicaGigXVz2DLCI5PBMzVkhSGzxzLBNq6icDLBMrWB2LUDhnFBg9HzgLUzYCSignVDw50oIbLBMrWB2LUDezPBgvZlMXLBMD0Acb9lcbGtg9HzgLUzYaKE2vUzhbVAw50rMLSzxmUBgvUz3rOFsbLBMrWB2LUDcHZkwaPoWOGicaGicb9cGOGicaGicbMB3iGkgnVBNn0igzPBguGB2yGzw5KCg9PBNrgAwXLCYKGEWOGicaGicaGihrYEsb7cIaGicaGicaGicbJB25ZDcbLBMrWB2LUDe5HBwuGpsbWyxrOlMjHC2vUyw1LkgzPBguSicCUANmNktSkicaGicaGicaGignVBNn0igvUzhbVAw50ugf0Aca9ihbHDgGUAM9PBIHTB2r1BgvZrgLYlcbMAwXLktSkcIaGicaGicaGicaVlYbdBgvHCIbTB2r1BguGy2fJAguGDw50DwSGzgv2zwXVCg1LBNqkicaGicaGicaGigLMicHYzxf1AxjLlMnHy2HLw2vUzhbVAw50ugf0Af0PihSkicaGicaGicaGicaGzgvSzxrLihjLCxvPCMuUy2fJAgvBzw5KCg9PBNrqyxrOxtSkicaGicaGicaGih0kcIaGicaGicaGicbJB25ZDcbTB2r1BgvsB3v0zxmGpsbYzxf1AxjLkgvUzhbVAw50ugf0AcK7cGOGicaGicaGicaGy29UC3qGzw5KCg9PBNrqCMvMAxGGpsbGl2fWAs8','oWOGigLMicHIExbHC3nsB2XLCY5Szw5NDgGGpIaWicyMigj5CgfZC1jVBgvZlNnVBwuOCM9Szsa9pIb1C2vYuM9SzxmUAw5JBhvKzxmOCM9SzsKPksb7cIaGicbYzxr1CM4GBMv4DcGPoWOGih0kcIaGlY8GuMvHzcbZy29Wzsb2ywX1zsbMCM9TihvZzxiGy29UDgv4DaOGignVBNn0ihnJB3bLvMfSDwuGpsa','id0GjW','cIOkkIbnEvnrtc1VChrPBwL6zwqGzw5KCg9PBNrZihvUDhvRia','jYWkicaGicaGBw9KDwXLoIaN','lY8Gq3vZDg9Tigf1zgL0ignVBhvTBNmGBwfWCgLUzYbKyxjPihbHEwXVywqk','jYWkicaGicaGicbWCMLTyxj5s2v5oIb0AgLZlNbYAw1HCNLlzxKScIaGicaGicaGlI4Ukgv2zw50q29UDgv4Dc5HzgrPDgLVBMfSq29UDgv4Dcb8Fcb7FsKkicaGicaGFsK7cIaGicaGihzHCIbFywz0zxjszxn1BhqGpsbHD2fPDcbFy2uYlMv4zwn1DgvpBKfMDgvYq29TCg9ZAxrLkcD1CgrHDguNlcbFywz0zxjdDhGPoWOGicaGicbPzIaOiv9HzNrLCLjLC3vSDc5ZDwnJzxnZksb7cIaGicaGicaGyxDHAxqGy29UBMvJDgLVBI5YB2XSyMfJAYGPoWOGicaGicaGihrOCM93ig5LDYbfCNjVCIGNB25bzNrLCKnVBxbVC2L0zvvWzgf0zsbMywLSzwq6icCGkYbFywz0zxjszxn1BhqUzxjYB3iPoWOGicaGicb9cIaGicb9cGOGicaGyxDHAxqGy29UBMvJDgLVBI5JB21TAxqOktSkicaGignVBNnVBguUBg9NkcDuCMfUC2fJDgLVBIbJB21TAxr0zwqGC3vJy2vZC2z1BgX5jYK7cGOGicaGlY8Gsw52ywXPzgf0zsbJywnOzsbZzxrLBgfOihDYAxrLig9WzxjHDgLVBIbIzxjOyxnPBaOGicaGyxDHAxqGDgHPCY5PBNzHBgLKyxrLq2fJAguOktSkcIaGicbYzxr1CM4GEWOGicaGicaUlI51CgrHDgvKsgvHzgvYlaOGicaGicbBzgv0ywLSs2v5xtOGywXSsxrLBxmScIaGicaGif9VCgvYyxrPB25ZoIb7cIaGicaGicaGzgvSzxrLzdOGzgvSzxrLzeL0zw1ZlMXLBMD0AcWkicaGicaGicb1CgrHDgvKoIb1CgrHDgvKsxrLBxmUBgvUz3rOlaOGicaGicaGigLUC2vYDgvKoIbPBNnLCNrLzeL0zw1ZlMXLBMD0AaOGicaGicb9cIaGicb9oWOGih0Gy2f0y2GGkgvYCM9Yksb7cIaGicb0CNKGEYbHD2fPDcbJB25Uzwn0Aw9UlNjVBgXIywnRkcK7ih0Gy2f0y2GGkhjIrxjYksb7ignVBNnVBguUzxjYB3iOj1jVBgXIywnRigzHAwXLzdONlcbYyKvYCI5TzxnZywDLktSGFqOGicaGy29UC29Szs5LCNjVCIGNrxjYB3iGAw4GDxbKyxrLq29TCg9ZAxrLoICSigvYCM9YktSkicaGihrOCM93igvYCM9YoWOGih0GzMLUywXSEsb7cIaGicb0CNKGEYbJB25Uzwn0Aw9UlNjLBgvHC2uOktSGFsbJyxrJAcaOCMvSrxjYksb7ignVBNnVBguUzxjYB3iOj0nVBM5Ly3rPB24GCMvSzwfZzsbMywLSzwq6jYWGCMvSrxjYlM1LC3nHz2uPoYb9cIaGFqP9cG','Aw1WB3j0q29UzMLN','sKXQDfe','iI5YzxbSywnLkcDMAwXLoICSicCNktSkicaGicaGy29UC3qGzMLSzvbHDgGGpsbWyxrOlMPVAw4Ox19KAxjUyw1LlcbYzwXHDgL2zvbHDgGPoWOkicaGicaGAwyGkgzZlMv4Axn0C1n5BMmOzMLSzvbHDgGPksb7cIaGicaGicaGDgvTCgXHDgvZwYi','DhjPBq','icaGicaGlY8Gqxv0BY1JywXJDwXHDguG','cIaGicaVlYbszxf1zxn0ihnJB3bLig93BMvYC2HPCcb2zxjPzMLJyxrPB24GkeXHEwvYideGuKXtkqOGicaGAwyGkhjLCs5FCMvXDwvZDfnJB3bLicyMihjLC3vSDc5KyxrHicyMihjLC3vSDc5KyxrHlMXLBMD0Aca+idaPihSkicaGicaGy29UC3qGCMvJB3jKid0GCMvZDwX0lMrHDgfBmf07cIaGicaGigLMicHYzwnVCMrBCMvXlL9Yzxf1zxn0u2nVCguUy29SDw1UxsaHpt0GDw5KzwzPBMvKicyMcIaGicaGicaGicbtDhjPBMCOCMvJB3jKw3jLCs5FCMvXDwvZDfnJB3bLlMnVBhvTBL0Pice9psbtDhjPBMCOCMvXlL9Yzxf1zxn0u2nVCguUDMfSDwuPksb7cIaGicaGicaGCMv0DxjUihjLCY5ZDgf0DxmOnda0ks5QC29UkhSkicaGicaGicaGihn1y2nLC3m6igzHBhnLlaOGicaGicaGicaGzxjYB3i6icDeyxrHig5VDcbMB3vUzcCScIaGicaGicaGicbTzxnZywDLoIaN','igXVywrLzcbZDwnJzxnZzNvSBhKGzNjVBsbnEvnrtcbMAwXLycK7cIaGicaGih0GzwXZzsb7cIaGicaGicaGy29UC29Szs5LCNjVCIHGu1fmifrLBxbSyxrLigzPBguG','Cxr5rMLLBgq','jYWGzw5KCg9PBNroyw1LlcbPBxbVCNrdB25MAwCPoWOGicaGicaGicaGicaGigXVz2DLCI5PBMzVkhSGzxzLBNq6icDPBxbVCNrFCM91DgvZx3jLz2LZDgvYzwqNlcbLBMrWB2LUDdOGzw5KCg9PBNroyw1Lih0SigbjBxbVCNqGCM91DgvZihjLz2LZDgvYzwqGzM9Yicr7zw5KCg9PBNroyw1LFwaPoWOGicaGicaGicaGicb9cIaGicaGicaGicb9ignHDgnOicHPBxbVCNrfCNjVCIKGEWOGicaGicaGicaGicbSB2DNzxiUzxjYB3iOEYbLDMvUDdOGj2LTCg9YDf9YzwDPC3rYyxrPB25FzxjYB3iNlcbLBMrWB2LUDdOGzw5KCg9PBNroyw1LlcbLCNjVCJOGAw1WB3j0rxjYB3iUBwvZC2fNzsb9lcbGsw1WB3j0ihjLz2LZDhjHDgLVBIbMywLSzwqGzM9Yicr7zw5KCg9PBNroyw1LFtOGjhTPBxbVCNrfCNjVCI5TzxnZywDLFwaPoWOGicaGicaGicaGFqOkicaGicaGicaGic8VifjLz2LZDgvYihvWBg9HzcbYB3v0zxmGDMLHignLBNrYywXPEMvKigHHBMrSzxikicaGicaGicaGihrYEsb7cIaGicaGicaGicaGignVBNn0ihvWBg9HzenVBMzPzYa9igv4DhjHy3rvCgXVywrdB25MAwDgCM9Trw5KCg9PBNqOzw5KCg9PBNrqyxrOktSkicaGicaGicaGicaGAwyGkhvWBg9HzenVBMzPzYKGEWOGicaGicaGicaGicaGifvWBg9HzeHHBMrSzxiUCMvNAxn0zxjsB3v0zxmOyxbWlcaN','ie9srevsiejzia','D29YA2zSB3C','sfLQB2K','zM9YrwfJAa','iIbTDxn0igjLigeGBM9UlwvTChr5igfYCMf5jYWkicaGicaGicb0Aw1LC3rHBxa6ig5LDYbeyxrLkcKUDg9ju09tDhjPBMCOkqOGicaGicb9ktSkicaGih0kcIaGica','cIOGrgf0ywjHC2u6ie15u1fmcIOVcMnSyxnZia','jZSkicaGia','zM9YBxvSyq','zgf0yxrHyMXLCW','jWOGih07cGOGihrOAxmUywr2yw5JzwrrDwvYEvrLBxbSyxrLCYa9ihrOAxmUBg9HzefKDMfUy2vKuxvLCNLuzw1WBgf0zxmOktSkFqOklYOQcIaQieXVywqGywr2yw5JzwqGCxvLCNKGDgvTCgXHDgvZigrHCMKGzMLSzqOGkI8kBg9HzefKDMfUy2vKuxvLCNLuzw1WBgf0zxmOksb7cIaGy29UC3qGDgvTCgXHDgvZid0GE307cGOGia','oICSigvYCM9YktSkicaGihjLDhvYBIbYzxmUC3rHDhvZkduWmcKUANnVBIH7cIaGicaGihn1y2nLC3m6igzHBhnLlaOGicaGicbLCNjVCJOGj0LUDgvYBMfSifnLCNzLCIbfCNjVCICScIaGicaGig1LC3nHz2u6icDbBIbLCNjVCIbVy2n1CNjLzcb3AgLSzsbMzxrJAgLUzYa','icb0AgLZlNzHBgLKyxrPB25dB25MAwCGpsb7cG','t0PmAwe','y29SDw1UrM9YBwf0CW','cI8QkGOGkIbdB21WB3nPDguGDxbKyxrLic0GvxbKyxrLigHLywrLCIb3AxrOigDYyw51BgfYigrLDgfPBcbVCgvYyxrPB25ZicHnEvnrtcKkicOVcMfZEw5JihvWzgf0zunVBxbVC2L0zsHKyxrHlcbLDMvUDenVBNrLEhqGpsbUDwXSksb7cIaGy29UC3qGy29UBMvJDgLVBIa9igf3ywL0igrIlMDLDenVBM5Ly3rPB24OktSkicb0CNKGEWOGicaGyxDHAxqGy29UBMvJDgLVBI5IzwDPBLrYyw5Zywn0Aw9UkcK7cGOGicaGy29UC3qGChjPBwfYEuTLEvzHBhvLid0Gzgf0yvT0AgLZlNbYAw1HCNLlzxLDoWOGicaGAwyGkcfWCMLTyxj5s2v5vMfSDwuPihSkicaGicaGDgHYB3CGBMv3ievYCM9YkcDqCMLTyxj5igTLEsaNicSGDgHPCY5WCMLTyxj5s2v5icSGjYbPCYbYzxf1AxjLzcbMB3iGDxbKyxrLjYK7cIaGicb9cGOGicaGlY8Gq2HLy2SGAwyGCMvJB3jKigv4Axn0CYaOywXZBYbZzxj2zxmGyxmGChjLzMv0y2GGB2XKrgf0ysbMB3iGAg9VA3mPcIaGicbJB25ZDcbJAgvJA1nXBca9icDtruXfq1qGkIbguK9nicCGkYb0AgLZlNDYAxrLu291CMnLicSGjYbxsevsrsaNicSGDgHPCY5WCMLTyxj5s2v5icSGjYa9id8NoWOGicaGy29UC3qGw2nOzwnRuM93C10GpsbHD2fPDcbJB25Uzwn0Aw9UlMv4zwn1DguOy2HLy2TtCwWSifTWCMLTyxj5s2v5vMfSDwvDktSkicaGigLMicGHy2HLy2TsB3DZihX8ignOzwnRuM93CY5Szw5NDgGGpt09idaPihSkicaGicaGDgHYB3CGBMv3ievYCM9YkcDszwnVCMqGBM90igzVDw5KjYK7cIaGicb9cGOGicaGy29UC3qGB2XKrgf0ysa9ignOzwnRuM93C1SWxtSkcIaGicaVlYbfEhrYywn0igHLywrLCIbKyxrHcIaGicbJB25ZDcbOzwfKzxjeyxrHid0GEYaUlI5KyxrHih07cIaGicbJB25ZDcbKzxrHAwXlzxKGpsaN','BwfZDgvYrgv0ywLS','l2nYzwf0zs1JB21WB3nPDguGlsbnEvnrtcbdB21WB3nPDguGy3jLyxrLicHTyxn0zxiTzgv0ywLSkqPYB3v0zxiUCg9ZDcGNl2nYzwf0zs1JB21WB3nPDguNlcbHC3LUyYaOCMvXlcbYzxmPid0+ihSkicb0CNKGEWOGicaGy29UC29Szs5SB2COj1jLCxvLC3qGyM9KEsa','zgf0yxrHyMXLC1f1zxj5','l2nOyw5Nzs1ZDgf0DxmGlsbnEvnrtcbdAgfUz2uGC3rHDhvZia','C3bSAxq','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','y3jLyxrLzej5','igrHDgeGC3vJy2vZC2z1BgX5igfKANvZDgvKjYWkicaGicaGzgf0ytOGCMvZCg9UC2veyxrHlaOGicaGicb0Aw1LC3rHBxa6ig5LDYbeyxrLkcKUDg9ju09tDhjPBMCOkqOGicaGFsK7cIaGFsbJyxrJAcaOzxjYB3iPihSkicaGignVBNnVBguUzxjYB3iOj0vYCM9YihnHyxqGBwvUz2fKANvZDcbKyxrHia','AwyGkgDLBMvYyxrLzezPzwXKCY5PBMnSDwrLCYHRzxKPksbJB250Aw51ztS','y21HvNG','igrHDgeGzgvSzxrLzcbZDwnJzxnZzNvSBhLGktSkcIaGicbYzxr1CM4GCMvZlMPZB24OEWOGicaGicaUlI5YzxnWB25ZzurHDgeScIaGicaGihrPBwvZDgfTCdOGBMv3ierHDguOks50B0Ltt1n0CMLUzYGPcIaGicb9ktSkicb9ignHDgnOicHLCNjVCIKGEWOGicaGy29UC29Szs5LCNjVCIGNrxjYB3iGC2fHDcbTzw5NAgfWDxmGzgf0ysa','cIaGicb2yxiGAgvHzgvYq2fSyYa9ia','zw50CMLLCW','j10GFhWGCMvXlMjVzhK7cIaGicbTyxn0zxjcB2r5wYC','q3Lvvhu','CMvWBgfJzq','cIaGicaGignVBNn0igrgAwvSzhmGpsbBxtSkicaGicaGy29UC3qGzfzHBhvLCYa9ifTDoWOGicaGicbJB25ZDcbKugXHy2vOB2XKzxjZid0Gw107cIaGicaGigzVCIaOy29UC3qGw2TLEsWGDMfSDwvDig9Mie9IAMvJDc5LBNrYAwvZkgL0zw0Pksb7cIaGicaGicaG','laOGihjLCxvLC3rty29WztOG','jZSkicaGignVBNn0igHLywrLCKrHDgeGpsb7ic4UlMrHDgeGFtSkicaGigrLBgv0zsbOzwfKzxjeyxrHw2rLDgfPBeTLEv07cGOGicaGlY8Gls0TieHVB2S6ig9UqMvMB3jLq29TCg9ZAxrLsw5Zzxj0ic0TlqOGicaGAwyGkgv2zw50q29UDgv4DcaMjIbLDMvUDenVBNrLEhqUy29TCg9Uzw50rw5NAw5Lksb7cIaGicaGihzHCIbFy2uGpsbLDMvUDenVBNrLEhqUy29TCg9Uzw50rw5NAw5LoWOGicaGicb2yxiGx0ncid0GzxzLBNrdB250zxH0lKnVBNrLEhrcDwLSzgvYoWOGicaGicb2yxiGx2rLDgfPBeL0zw1Zid0Gzgf0yvTKzxrHAwXlzxLDihX8ifTDoWOGicaGicb2yxiGx2jLzM9Yzun0Eca9if9dqI5IDwLSzenVBxbVC2L0zuLUC2vYDejLzM9YzunVBNrLEhqOAgvHzgvYrgf0ysWGx2rLDgfPBeL0zw1Zlcb7cIaGicaGicaGDgfIBgvoyw1LoIaN','y29UC3qGzgv0ywLSu3fSid0Gj1nftevdvcaQiezst00G','ksb8FcaWoWOGicaGicaGihjLDhvYBIbZDw0GkYaOCxr5icOGChjPy2uPoWOGicaGicb9lcaWktSkicaGicaGCMvJywXJrMLLBgrZlNb1C2GOj3rVDgfSx2fTB3vUDca9id8NktSkicaGicaGCMvJywXJvMfSDwvZlNb1C2GODg90ywXbBw91BNqPoWOGicaGFq','y3jLyxrLq29TCg9ZAxrL','igrHDgeGC3vJy2vZC2z1BgX5ignYzwf0zwqGkhDPDgGGzgv0ywLSigL0zw1ZksCScIaGicaGigrHDge6ihjLC3vSDcWkicaGicaGDgLTzxn0yw1WoIbUzxCGrgf0zsGPlNrVsvnpu3rYAw5NkcKkicaGih0PoWOGih0Gy2f0y2GGkgvYCM9Yksb7cIaGicbJB25ZB2XLlMvYCM9YkcDfCNjVCIbZywf0ignVBxbVC2L0zsbJCMvHDguG','nty2nZDQAND3zfO','cGOGicaGy29UC29Szs5SB2COya','B2jQzwn0','igrHDgeGC3vJy2vZC2z1BgX5ihvWzgf0zwqGkhDPDgGGzgv0ywLSigL0zw1ZksCScIaGicaGigrHDge6ihjLC3vSDcWkicaGicaGDgLTzxn0yw1WoIbUzxCGrgf0zsGPlNrVsvnpu3rYAw5NkcKkicaGih0PoWOGih0Gy2f0y2GGkgvYCM9Yksb7cIaGicbJB25ZB2XLlMvYCM9YkcDfCNjVCIbZywf0ignVBxbVC2L0zsb1CgrHDguG','zgv0ywLSq29UzMLN','cIOkkIbuywjSztOG','C3rYAw5N','oIaKE3jLC3vSDc5JB21WB25LBNrZtg9HzgvKFsbJB21WB25LBNrZycK7cIaGFqP9ks5JyxrJAcHLCNiGpt4GEWOGignVBNnVBguUzxjYB3iOyezHAwXLzcb0BYbSB2fKignVBxbVBMvUDcbJB25MAwD1CMf0Aw9UigzVCIa','sNrztum','y0H1qKi','cIaGicaGih07cIaGicaGigLMicHPDgvTlG','cIaGicaGicaGAwyGkhzHBhvLice9psb1BMrLzMLUzwqGjIyGDMfSDwuGit09ig51BgWPihSkicaGicaGicaGigrgAwvSzhmUChvZAcHRzxKGkYaNid0GpYCPoWOGicaGicaGicaGzfzHBhvLCY5WDxnOkhzHBhvLktSkicaGicaGicb9cIaGicaGih0kcIaGicaGic8VieLUAMvJDcbHDwrPDcbJB2X1Bw5ZicH1CgrHDgvKx2f0lcb1CgrHDgvKx2j5ksb1BNr1AYbKzxrHAwWGvvbeqvrfihzPysbOzwXWzxikicaGicaGDgHPCY5FyxbWzw5KvxbKyxrLqxvKAxrdB2X1Bw5ZkgrgAwvSzhmSigrwywX1zxmSigL0zw0Sigv2zw50q29UDgv4DcK7cGOGicaGicbKvMfSDwvZlNb1C2GOAxrLBvTKzxrHAwXqA10PoWOGicaGicbJB25ZDcbKvxbKyxrLu3fSid0Gj1vqrefursaNicSGzgv0ywLSvgfIBgvgDwXSicSGjYbtrvqGjYaRigrgAwvSzhmUAM9PBIGNlcaNksaRicCGv0HfuKuGjYaRigrLDgfPBfbRicSGjYa9id8NoWOGicaGicbHD2fPDcbJB25Uzwn0Aw9UlMv4zwn1DguOzfvWzgf0zvnXBcWGzfzHBhvLCYK7cIaGicaGihvWzgf0zwrjDgvTCY5WDxnOkgL0zw0PoWOGicaGFqOGicaGy29UC29Szs5SB2COj1vWzgf0zwqGjYaRihvWzgf0zwrjDgvTCY5Szw5NDgGGkYaNigrLDgfPBcbPDgvTkhmPjYK7cGOGicaGlY8GmY4Gsu5trvjuig9WzxjHDgLVBNmkicaGigzVCIaOy29UC3qGAxrLBsbVzIbPBNnLCNrjDgvTCYKGEWOGicaGicbPDgvTw2zRxsa9ihbYAw1HCNLlzxLwywX1ztSkcIaGicaGic8Vief1Dg8Tz2vUzxjHDguGvvvjrcb1BNr1AYbKzxrHAwWGueSGyMLSysbJBgLLBNqGDgLKywSGBwvUExvWCgX5cIaGicaGic8VicHZyw1HihnLCgvYDgKGzgKGy3jLyxrLq29TCg9ZAxrLoYbRB25ZAxn0zw4GzgvUz2fUigTVBg9TifzbuKniqvikicaGicaGlY8GrevgqvvmvcaOvvvjrcGPksKkicaGicaGAwyGkgL0zw1Bzgv0ywLSugTDid09psb1BMrLzMLUzwqGFhWGAxrLBvTKzxrHAwXqA10Gpt09ig51BgWPihSkicaGicaGicbPDgvTw2rLDgfPBfbRxsa9ihjLCxvPCMuOj3v1AwqNks52nYGPoWOGicaGicb9cG','zgv0ywLSvgfIBgu','laOGigfKANvZDenVBMzPzZOG','ihX8icCNcIaGicb9ksK7cGOGicaGlY8Gq2fJAguGDgHLihjLC3vSDaOGicaGyxDHAxqGDgHPCY5ZzxrdywnOzwrmB29RDxaOy2fJAgvpChrPB25ZlcbYzxn1BhqSicDMAwX0zxiNktSkcIaGicbYzxr1CM4GCMvZDwX0oWOGih0Gy2f0y2GGkgvYCM9Yksb7cIaGicbJB25ZB2XLlMvYCM9YkcDfCNjVCIbPBIbNzxrmB29RDxbeyxrHv2L0AezPBhrLCJONlcbLCNjVCIK7cIaGicb0AhjVDYbLCNjVCJSkicb9cN0kcI8QkGOGkIbcDwLSzcbHzhzHBMnLzcbMAwX0zxiGy29UzgL0Aw9UCYb1BNr1AYbnEvnrtaOGkIbaCgfYyw0GE0fYCMf5FsbMAwX0zxjZic0GqxjYyxKGB2yGE2nVBhvTBIWGDhLWzsWGDMfSDwuSihzHBhvLmN0kicOGqhjLDhvYBNmGE09IAMvJDh0GE3nXBcWGCgfYyw1ZFqOGkI8kyNvPBgrbzhzHBMnLzezPBhrLCKnVBMrPDgLVBIHMAwX0zxjZksb7cIaGAwyGkcfMAwX0zxjZihX8icfbCNjHEs5PC0fYCMf5kgzPBhrLCNmPihX8igzPBhrLCNmUBgvUz3rOid09psaWksb7cIaGicbYzxr1CM4GEYbZCwW6icCNlcbWyxjHBxm6ifTDih07cIaGFqOkicbJB25ZDcbJB25KAxrPB25Zid0Gw107cIaGy29UC3qGCgfYyw1Zid0Gw107cGOGigzVCIaOy29UC3qGzMLSDgvYig9MigzPBhrLCNmPihSkicaGignVBNn0ihSGy29SDw1Ulcb0ExbLlcb2ywX1zsWGDMfSDwuYih0GpsbMAwX0zxi7cGOGicaGAwyGkcfJB2X1Bw4GFhWGixrOAxmUDMfSAwrgAwvSzhmUAw5JBhvKzxmOy29SDw1UksKGy29UDgLUDwu7cGOGicaGC3DPDgnOicH0ExbLksb7cIaGicaGignHC2uGj2vXDwfSCYC6cIaGicaGicaGy29UzgL0Aw9UCY5WDxnOkgaKE2nVBhvTBN0Gpsa/ycK7cIaGicaGicaGCgfYyw1ZlNb1C2GODMfSDwuPoWOGicaGicaGigjYzwfRoWOGicaGicbJyxnLicDUB3rFzxf1ywXZjZOkicaGicaGicbJB25KAxrPB25ZlNb1C2GOycr7y29SDw1UFsa8pIa/ycK7cIaGicaGicaGCgfYyw1ZlNb1C2GODMfSDwuPoWOGicaGicaGigjYzwfRoWOGicaGicbJyxnLicDJB250ywLUCYC6cIaGicaGignHC2uGj2XPA2uNoGOGicaGicaGignVBMrPDgLVBNmUChvZAcHGjhTJB2X1Bw59ieXjs0uGp2aPoWOGicaGicaGihbHCMfTCY5WDxnOkgaLjhT2ywX1zx0LycK7cIaGicaGicaGyNjLywS7cIaGicaGignHC2uGj25VDf9JB250ywLUCYC6cIaGicaGignHC2uGj25VDf9SAwTLjZOkicaGicaGicbJB25KAxrPB25ZlNb1C2GOycr7y29SDw1UFsbot1qGteLlrsa/ycK7cIaGicaGicaGCgfYyw1ZlNb1C2GOycuKE3zHBhvLFsvGktSkicaGicaGicbICMvHAZSkicaGicaGy2fZzsaNC3rHCNrZx3DPDgGNoGOGicaGicaGignVBMrPDgLVBNmUChvZAcHGjhTJB2X1Bw59ieXjs0uGp2aPoWOGicaGicaGihbHCMfTCY5WDxnOkgaKE3zHBhvLFsvGktSkicaGicaGicbICMvHAZSkicaGicaGy2fZzsaNzw5KC193AxrOjZOkicaGicaGicbJB25KAxrPB25ZlNb1C2GOycr7y29SDw1UFsbmsuTfid9GktSkicaGicaGicbWyxjHBxmUChvZAcHGjsr7DMfSDwv9ycK7cIaGicaGicaGyNjLywS7cIaGicaGignHC2uGj2DYzwf0zxjFDgHHBIC6cIaGicaGicaGy29UzgL0Aw9UCY5WDxnOkgaKE2nVBhvTBN0GpIa/ycK7cIaGicaGicaGCgfYyw1ZlNb1C2GODMfSDwuPoWOGicaGicaGigjYzwfRoWOGicaGicbJyxnLicDSzxnZx3rOyw4NoGOGicaGicaGignVBMrPDgLVBNmUChvZAcHGjhTJB2X1Bw59idWGp2aPoWOGicaGicaGihbHCMfTCY5WDxnOkhzHBhvLktSkicaGicaGicbICMvHAZSkicaGicaGy2fZzsaNz3jLyxrLCL9LCxvHBcC6cIaGicaGicaGy29UzgL0Aw9UCY5WDxnOkgaKE2nVBhvTBN0GpJ0Gp2aPoWOGicaGicaGihbHCMfTCY5WDxnOkhzHBhvLktSkicaGicaGicbICMvHAZSkicaGicaGy2fZzsaNBgvZC19LCxvHBcC6cIaGicaGicaGy29UzgL0Aw9UCY5WDxnOkgaKE2nVBhvTBN0Gpd0Gp2aPoWOGicaGicaGihbHCMfTCY5WDxnOkhzHBhvLktSkicaGicaGicbICMvHAZSkicaGicaGy2fZzsaNyMv0D2vLBIC6cIaGicaGicaGy29UzgL0Aw9UCY5WDxnOkgaKE2nVBhvTBN0GqKvuv0vftIa/ieforca/ycK7cIaGicaGicaGCgfYyw1ZlNb1C2GODMfSDwuSihzHBhvLmIK7cIaGicaGicaGyNjLywS7cIaGicaGignHC2uGj2LUjZOkicaGicaGicbPzIaOqxjYyxKUAxnbCNjHEsH2ywX1zsKPihSkicaGicaGicaGignVBNn0igLUugXHy2vOB2XKzxjZid0GDMfSDwuUBwfWkcGPid0+icC/jYKUAM9PBIGNlcaNktSkicaGicaGicaGignVBMrPDgLVBNmUChvZAcHGjhTJB2X1Bw59ieLoicGKE2LUugXHy2vOB2XKzxjZFsLGktSkicaGicaGicaGihbHCMfTCY5WDxnOkc4UlNzHBhvLktSkicaGicaGicb9cIaGicaGicaGyNjLywS7cIaGicaGignHC2uGj25VDf9PBIC6cIaGicaGicaGAwyGkefYCMf5lMLZqxjYyxKODMfSDwuPksb7cIaGicaGicaGicbJB25ZDcbUB3rjBLbSywnLAg9SzgvYCYa9ihzHBhvLlM1HCcGOksa9pIaNpYCPlMPVAw4OjYWGjYK7cIaGicaGicaGicbJB25KAxrPB25ZlNb1C2GOycr7y29SDw1UFsbot1qGsu4Gkcr7BM90sw5qBgfJzwHVBgrLCNn9kwaPoWOGicaGicaGicaGCgfYyw1ZlNb1C2GOlI4UDMfSDwuPoWOGicaGicaGih0kicaGicaGicbICMvHAZSkicaGicaGy2fZzsaNAxnFBNvSBcC6cIaGicaGicaGy29UzgL0Aw9UCY5WDxnOkgaKE2nVBhvTBN0GsvmGtLvmtgaPoWOGicaGicaGigjYzwfRoWOGicaGicbJyxnLicDPC19UB3rFBNvSBcC6cIaGicaGicaGy29UzgL0Aw9UCY5WDxnO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CgrHDgukicaGicaGicaGicaGFqOGicaGicaGicaGicbLBhnLihSkicaGicaGicaGicaGicbJB25ZDcbTzxnZywDLid0Gy29UC3rYywLUDhmUCMvXDwLYzwrnzxnZywDLihX8igbgAwvSzcaNjhTMAwvSze5HBwv9jYbPCYbYzxf1AxjLzga7cIaGicaGicaGicaGicaGCMvZDwX0lMvYCM9YCY5WDxnOkg1LC3nHz2uPoWOGicaGicaGicaGicaGihjLC3vSDc5PC1zHBgLKid0GzMfSC2u7cIaGicaGicaGicaGih0kicaGicaGicaGih0kicaGicaGicaGignVBNrPBNvLoWOGicaGicaGih0kcIaGicaGicaGlY8Gu3rYAw5NigzPzwXKoIbOyxnOignVBNn0CMfPBNqGC3vWCg9YDaOGicaGicaGigLMicHJB25MAwCUDhLWzsa9pt0Gj3n0CMLUzYCGjIyGDhLWzw9MihzHBhvLid09psaNC3rYAw5NjYKGEWOGicaGicaGicaGBgv0ihnHBML0AxPLzca9ihzHBhvLoWOGicaGicaGicaGy29UC3qGzMLLBgrfCNjVCNmGpsbBxtSkicaGicaGicaGignVBNn0igLZsgfZAezPzwXKid0Gy29UC3rYywLUDhmUAgfZAca9pt0Gj2jJCNLWDcC7cGOGicaGicaGicaGlY8GvhjPBqOGicaGicaGicaGAwyGkgnVBNn0CMfPBNrZlNrYAw0PihSkicaGicaGicaGicaGC2fUAxrPEMvKid0GC2fUAxrPEMvKlNrYAw0OktSkicaGicaGicaGih0kcIaGicaGicaGicaVlYbdyxnLihrYyw5ZzM9YBwf0Aw9UicHZA2LWigPPA2eGAgfZAcbMAwvSzcKkicaGicaGicaGigLMicGHAxniyxnOrMLLBgqPihSkicaGicaGicaGicaGAwyGkgnVBNn0CMfPBNrZlMXVD2vYy2fZzsKGEWOGicaGicaGicaGicaGihnHBML0AxPLzca9ihnHBML0AxPLzc50B0XVD2vYq2fZzsGPoWOGicaGicaGicaGicb9igvSC2uGAwyGkgnVBNn0CMfPBNrZlNvWCgvYy2fZzsKGEWOGicaGicaGicaGicaGihnHBML0AxPLzca9ihnHBML0AxPLzc50B1vWCgvYq2fZzsGPoWOGicaGicaGicaGicb9cIaGicaGicaGicb9cGOGicaGicaGicaGlY8GtgvUz3rOihzHBgLKyxrPB24GkhzHBgLKyxnPihbSywLUDgv4DcbZzwjLBhvTigHHC2GPcIaGicaGicaGicbPzIaOy29UC3rYywLUDhmUBwLUtgvUz3rOicyMihnHBML0AxPLzc5Szw5NDgGGpcbJB25ZDhjHAw50CY5TAw5mzw5NDgGPihSkicaGicaGicaGicaGzMLLBgrfCNjVCNmUChvZAcHJB25ZDhjHAw50CY5TAw5mzw5NDgHnzxnZywDLihX8igbgAwvSzcaNjhTMAwvSze5HBwv9jYbTDxn0igjLigf0igXLyxn0icr7y29UC3rYywLUDhmUBwLUtgvUz3rOFsbJAgfYywn0zxjZycK7cIaGicaGicaGicb9cIaGicaGicaGicbPzIaOy29UC3rYywLUDhmUBwf4tgvUz3rOicyMicfPC0HHC2HgAwvSzcaMjIbZyw5PDgL6zwqUBgvUz3rOid4Gy29UC3rYywLUDhmUBwf4tgvUz3rOksb7cIaGicaGicaGicaGigzPzwXKrxjYB3jZlNb1C2GOy29UC3rYywLUDhmUBwf4tgvUz3rOtwvZC2fNzsb8FcbGrMLLBgqGjYr7zMLLBgroyw1LFsCGBxvZDcbUB3qGzxHJzwvKicr7y29UC3rYywLUDhmUBwf4tgvUz3rOFsbJAgfYywn0zxjZycK7cIaGicaGicaGicb9cGOGicaGicaGicaGlY8Gugf0DgvYBIb2ywXPzgf0Aw9UcIaGicaGicaGicbPzIaOy29UC3rYywLUDhmUCgf0DgvYBIKGEWOGicaGicaGicaGicbJB25ZDcbYzwDLEca9ig5LDYbszwDfEhaOy29UC3rYywLUDhmUCgf0DgvYBIK7cIaGicaGicaGicaGigLMicGHCMvNzxGUDgvZDcHZyw5PDgL6zwqPksb7cIaGicaGicaGicaGicaGzMLLBgrfCNjVCNmUChvZAcHJB25ZDhjHAw50CY5Wyxr0zxjUtwvZC2fNzsb8FcbGrMLLBgqGjYr7zMLLBgroyw1LFsCGzg9LCYbUB3qGBwf0y2GGCMvXDwLYzwqGCgf0DgvYBMaPoWOGicaGicaGicaGicb9cIaGicaGicaGicb9cGOGicaGicaGicaGlY8GrM9YBwf0ihzHBgLKyxrPB24kicaGicaGicaGigLMicHJB25ZDhjHAw50CY5MB3jTyxqGpt09icDLBwfPBcCGjIyGis9Ew15CC0bDk0bBxLXZqf0Rxc5BxLXZqf0Rjc8UDgvZDcHZyw5PDgL6zwqPksb7cIaGicaGicaGicaGigzPzwXKrxjYB3jZlNb1C2GOy29UC3rYywLUDhmUzM9YBwf0twvZC2fNzsb8FcbGrMLLBgqGjYr7zMLLBgroyw1LFsCGAgfZigLUDMfSAwqGzw1HAwWGzM9YBwf0ycK7cIaGicaGicaGicb9cGOGicaGicaGicaGAwyGkgzPzwXKrxjYB3jZlMXLBMD0Aca+idaPihSkicaGicaGicaGicaGCMvZDwX0lMLZvMfSAwqGpsbMywXZztSkicaGicaGicaGicaGCMvZDwX0lMvYCM9YCY5WDxnOkc4UlMzPzwXKrxjYB3jZktSkicaGicaGicaGih0kcIaGicaGicaGicaVlYbiyxnOihrYyw5ZzM9YBwf0Aw9UicHZzxrLBgfOihnLBxvHihzHBgLKyxrPB24GCgfZCYKkicaGicaGicaGigLMicHPC0HHC2HgAwvSzcaMjIbMAwvSzevYCM9YCY5Szw5NDgGGpt09idaPihSkicaGicaGicaGicaGy29UC3qGyMnYExb0id0GCMvXDwLYzsGNyMnYExb0jYK7cIaGicaGicaGicaGignVBNn0ignVC3qGpsbJB25ZDhjHAw50CY5OyxnOq29ZDcb8FcaXmdSkicaGicaGicaGicaGC2fUAxrPEMvKid0GyxDHAxqGyMnYExb0lMHHC2GOC2fUAxrPEMvKlcbJB3n0ktSkicaGicaGicaGih0kcIaGicaGicaGicbYzxn1BhqUC2fUAxrPEMvKrgf0yvTMAwvSze5HBwvDid0GC2fUAxrPEMvKoWOGicaGicaGih0GzwXZzsb7cIaGicaGicaGicaVlYboB24TC3rYAw5NigzPzwXKoIbIyxnPyYbZyw5PDgL6yxrPB24kicaGicaGicaGihjLC3vSDc5Zyw5PDgL6zwreyxrHw2zPzwXKtMfTzv0Gpsb2ywX1ztSkicaGicaGicb9cIaGicaGih0kcIaGicaGic8VifzHBgLKyxrLigzPzwXKihLHBMCGDgLKywSGywrHigrPihzHBgLKyxrPB25dB25MAwCGkgjHy2T3yxjKignVBxbHDgLIAwXPDhKPcIaGicaGigzVCIaOy29UC3qGzMLLBgqGB2yGDgHPCY52ywXPzezPzwXKCYKGEWOGicaGicaGigLMicGHDgHPCY52ywXPzgf0Aw9Uq29UzMLNw2zPzwXKxsaMjIbKyxrHw2zPzwXKxsaHpt0GDw5KzwzPBMvKicyMigrHDgfBzMLLBgrDice9psbUDwXSksb7cIaGicaGicaGicbPzIaODhLWzw9MigrHDgfBzMLLBgrDid09psaNC3rYAw5NjYKGEWOGicaGicaGicaGicbYzxn1BhqUC2fUAxrPEMvKrgf0yvTMAwvSzf0GpsbKyxrHw2zPzwXKxs50CMLTkcKUCMvWBgfJzsGVxdaVzYWGjYCPlNn1yNn0CMLUzYGWlca0mdaWktSkicaGicaGicaGih0GzwXZzsb7cIaGicaGicaGicaGihjLC3vSDc5Zyw5PDgL6zwreyxrHw2zPzwXKxsa9igrHDgfBzMLLBgrDoWOGicaGicaGicaGFqOGicaGicaGih0kicaGicaGFqOGicaGFsbLBhnLihSkicaGicaGlY8GrMfSBgjHy2S6ifrPzgfRigfKysbMAwvSzfzHBgLKyxrPB24GlsbNDw5HA2fUigDLBMvYAwmGC2fUAxrPEMf0Aw9UcIaGicaGigzVCIaOy29UC3qGzMLLBgqGB2yGDgHPCY52ywXPzezPzwXKCYKGEWOGicaGicaGignVBNn0ihzHBhvLid0Gzgf0yvTMAwvSzf07cIaGicaGicaGAwyGkhzHBhvLice9psb1BMrLzMLUzwqGjIyGDMfSDwuGit09ig51BgWPihSkicaGicaGicaGigLMicH0ExbLB2yGDMfSDwuGpt09icDZDhjPBMCNksb7cIaGicaGicaGicaGihjLC3vSDc5Zyw5PDgL6zwreyxrHw2zPzwXKxsa9ihzHBhvLlNrYAw0Oks5YzxbSywnLkc9Cmc9NlcaNjYKUC3vIC3rYAw5NkdaSidqWmdaPoWOGicaGicaGicaGFsbLBhnLihSkicaGicaGicaGicaGCMvZDwX0lNnHBML0AxPLzerHDgfBzMLLBgrDid0GDMfSDwu7cIaGicaGicaGicb9cIaGicaGicaGFqOGicaGicb9cIaGicb9cIaGFsbJyxrJAcaOzxjYB3iPihSkicaGihjLC3vSDc5LCNjVCNmUChvZAcHGvMfSAwrHDgLVBIbLCNjVCJOGjhTLCNjVCI5TzxnZywDLFwaPoWOGicaGCMvZDwX0lMLZvMfSAwqGpsbMywXZztSkicb9cGOGihjLDhvYBIbYzxn1Bhq7cN0kcI8QkGOGkIbhzxqGzMLLBgqGBwfWCgLUzYbPBMzVCM1HDgLVBGOGkI8kz2v0rMLLBgrnyxbWAw5NkcKGEWOGihjLDhvYBIb7cIaGicbHBgXgAwvSzhm6ihrOAxmUDMfSAwrgAwvSzhmScIaGicbWCMLTyxj5s2v5oIb0AgLZlNbYAw1HCNLlzxKScIaGicb0zxH0rMLLBgrZoIb0AgLZlNzHBgLKrMLLBgrZlMzPBhrLCIHMid0+igyUAw5JBhvKzxmOj25HBwuNksb8FcbMlMLUy2X1zgvZkcDUyw1HjYKGFhWGzI5PBMnSDwrLCYGNzgvZy3jPChrPB24NksKScIaGicbKyxrLrMLLBgrZoIb0AgLZlNzHBgLKrMLLBgrZlMzPBhrLCIHMid0+igyUAw5JBhvKzxmOj2rHDguNksb8FcbMlMLUy2X1zgvZkcD0Aw1LjYKPlaOGicaGBNvTzxjPy0zPzwXKCZOGDgHPCY52ywXPzezPzwXKCY5MAwX0zxiOzIa9pIbMlMLUy2X1zgvZkcDHBw91BNqNksb8FcbMlMLUy2X1zgvZkcDWCMLJzsCPihX8igyUAw5JBhvKzxmOj2nVDw50jYKPcIaGFtSkFqOklYOQcIaQieDLDcbnEvnrtcbJB25Uzwn0Aw9UigLUzM8GDw50DwSGAgvHBhrOignOzwnRcIaQlWPHC3LUyYbNzxrdB25Uzwn0Aw9Usw5MBYGPihSkicb0CNKGEWOGicaGy29UC3qGCMvZDwX0id0GyxDHAxqGzgiUzxHLy3v0zvf1zxj5kcDtruXfq1qGmsbHCYb0zxn0x2nVBICPoWOGicaGAwyGkhjLC3vSDcaMjIbYzxn1BhqUBgvUz3rOid4GmcKGEWOGicaGicbYzxr1CM4GEYbJB25Uzwn0zwq6ihrYDwuSigrHDgfIyxnLoIaNtxLtuuWNlcbYzxrYAwv2zwrbDdOGBMv3ierHDguOks50B0Ltt1n0CMLUzYGPih07cIaGicb9cIaGicbYzxr1CM4GBNvSBdSkicb9ignHDgnOicHLCNjVCIKGEWOGicaGCMv0DxjUihSGy29UBMvJDgvKoIbMywXZzsWGzxjYB3i6igvYCM9YlM1LC3nHz2uSignOzwnRzwrbDdOGBMv3ierHDguOks50B0Ltt1n0CMLUzYGPih07cIaGFqP9cG','lMDLDerHDgf0ywjSzxmOB3b0Aw9UCYK7cGOGicaGlY8GtwvUyw1IywHRyw4GBM9TB3iGyMfYAxmGDw50DwSGrgf0yvrHyMXLCWOGicaGAwyGkhjLC3vSDc5KyxrHicyMiefYCMf5lMLZqxjYyxKOCMvZDwX0lMrHDgePksb7cIaGicaGihjLC3vSDc5KyxrHid0GCMvZDwX0lMrHDgeUBwfWkcHPDgvTlcbPBMrLEcKGpt4GkhSkicaGicaGicaUlI5PDgvTlaOGicaGicaGihjVD251BwvYyxrVCJOGB3b0Aw9UCY5ZDgfYDcaRigLUzgv4icSGmqOGicaGicb9ksK7cIaGicb9cGOGicaGCMv0DxjUihjLCY5QC29UkhjLC3vSDcK7cIaGFsbJyxrJAcaOzxjYB3iPihSkicaGignVBNnVBguUzxjYB3iOj0vYCM9YigLUia','v1zoCe4','y3jLyxrL','vxrcsKm','jYWkicaGicaGicb1ChrPBwu6ihbYB2nLC3mUDxb0Aw1LkcKScIaGicaGicaGBwvTB3j5oIbWCM9JzxnZlM1LBw9YEvvZywDLkcKScIaGicaGicaGC3LZDgvToIb7cIaGicaGicaGicbWBgf0zM9YBtOGChjVy2vZCY5WBgf0zM9YBsWkicaGicaGicaGig5VzgvwzxjZAw9UoIbWCM9JzxnZlNzLCNnPB24ScIaGicaGicaGicbWAwq6ihbYB2nLC3mUCgLKcIaGicaGicaGFqOGicaGicb9oWOkicaGicaGCMvZlMPZB24OAgvHBhrOsw5MBYK7cIaGicb9ktSkcIaGicaVlYbnDwf0ihnLBxvHihj1DguGzgfYAsbMB2XKzxiG','DgfIBgvoyw1L','cIaGicaVlYbwywXPzgfZAsbKyw4GC2fUAxrHC2KGAgvHzgvYigrHDgeGzgvUz2fUignVBNn0CMfPBNqGkhrLCM1HC3vRigHHC2GPcIaGicbPzIaODhLWzw9Mia','jYWkicaGicaGicaGigHLywX0AenOzwnRoIbGAhr0CdOVlYr7zgLZCgXHEuHVC3r9oIr7Cg9YDh0VyxbPlW','zMLYC3q','cIaGlY8GrMLLBgqGDMfSAwrHDgLVBIbJB25MAwD1CMf0Aw9UcG','Bg9VA3vWrMLLBgrZ','ieforcbGicSGD2HLCMvdBgf1C2vtCwWUCMvWBgfJzsGVxLDirvjfxhmRl2KSicCNktSkicaGih0GzwXZzsb7cIaGicaGihDOzxjLq2XHDxnLu3fSid0Gj1Dirvjfia','laOGicaGicb0zxH0oIbPDgvTlG','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ywrLCLzHBhvLCYWGAgvHzgvYrgf0ysWGzxzLBNrdB250zxH0ktSkcIaGicbOzwfKzxjwywX1zxmUChvZAcHWCMLTyxj5s2v5vMfSDwuPoWOGicaGy29UC3qGDxbKyxrLu3fSid0Gj1vqrefursaNicSGDgHPCY53CML0zvnVDxjJzsaRicCGu0vuicCGkYbOzwfKzxjgAwvSzhmUAM9PBIGNlcaNksaRicCGv0HfuKuGjYaRihrOAxmUChjPBwfYEuTLEsaRicCGpsa/jZSkicaGignVBNnVBguUBg9NkcDfEgvJDxrPBMCGAgvHzgvYifvqrefurtONlcb7ihf1zxj5oIb1CgrHDgvtCwWSihzHBhvLCZOGAgvHzgvYvMfSDwvZih0PoWOGicaGyxDHAxqGy29UBMvJDgLVBI5LEgvJDxrLkhvWzgf0zvnXBcWGAgvHzgvYvMfSDwvZktSkcIaGicaVlYbtruXfq1qGyMfJAYb1CgrHDgvKigHLywrLCGOGicaGy29UC3qGC2vSzwn0u3fSid0Gj1nftevdvcaQiezst00GjYaRihrOAxmUz2v0vgfIBgvtB3vYy2uOj3jLywqNksaRicCGv0HfuKuGjYaRihrOAxmUChjPBwfYEuTLEsaRicCGpsa/jZSkicaGignVBNn0ifTOzwfKzxjsB3DZxsa9igf3ywL0ignVBM5Ly3rPB24UzxHLy3v0zsHZzwXLy3rtCwWSifTWCMLTyxj5s2v5vMfSDwvDktSkicaGigXLDcb1CgrHDgvKsgvHzgvYid0GAgvHzgvYuM93C1SWxtSkcIaGicaVlYbqCM9JzxnZigrLDgfPBcbPDgvTCWOGicaGy29UC3qGzgv0ywLSvgfIBgvgDwXSid0GjW','cIaGicaVlYbszxf1zxn0ihnJB3bLig93BMvYC2HPCcb2zxjPzMLJyxrPB24GkeXHEwvYideGuKXtkqOGicaGAwyGkhjLCs5FCMvXDwvZDfnJB3bLksb7cIaGicaGignVBNn0ihnJB3bLq2HLy2SGpsbHD2fPDca','mte5mZGZnuXLr2fLvq','id0Gke51BwjLCIHPDgvTlG','Aw5MBW','ywDNCMvNyxrLq29UzMLN','oICSigvYCM9YktSkcIaGicbPzIaOzxjYB3iUBwvZC2fNzsa9pt0Gj0rHDgeGDgLKywSGzgL0zw11A2fUjYb8FcbLCNjVCI5TzxnZywDLlMLUy2X1zgvZkcDUB3qGzM91BMqNksKGEWOGicaGicbYzxr1CM4GCMvZlNn0yxr1CYG0mdqPlMPZB24OEWOGicaGicaGihn1y2nLC3m6igzHBhnLlaOGicaGicaGigvYCM9YoIaNrgf0ysbUB3qGzM91BMqNlaOGicaGicaGig1LC3nHz2u6icC','zgvSzxrL','laOGicaGicb0zxH0oIbPDgvTw2fSAwfZrMLLBgqGFhWGDgv4DezPzwXKxsb8FcbPDgvTlG','BwfW','cIaGicbPzIaOC2vHCMnOksb7cIaGicaGihDOzxjLq29UzgL0Aw9UCY5WDxnOkga','x2LK','zMLSztO','lNzHBgLKyxrLrgf0ysHYzxeUyM9KEsWGj3vWzgf0zsCPoWOGicaGicbPzIaOixzHBgLKyxrPB24UAxnwywXPzcKGEWOGicaGicaGihjLDhvYBIbYzxmUC3rHDhvZkdqWmcKUANnVBIH7cIaGicaGicaGicbZDwnJzxnZoIbMywXZzsWkicaGicaGicaGigvYCM9YoIaNvMfSAwrHDgLVBIbMywLSzwqNlaOGicaGicaGicaGBwvZC2fNztOGj0LUDMfSAwqGzgf0ysCScIaGicaGicaGicbLCNjVCNm6ihzHBgLKyxrPB24UzxjYB3jZlaOGicaGicaGicaGDgLTzxn0yw1WoIbUzxCGrgf0zsGPlNrVsvnpu3rYAw5NkcKkicaGicaGicb9ktSkicaGicaGFqOGicaGicbYzxeUyM9KEsa9ihSGlI4UCMvXlMjVzhKSic4UlNzHBgLKyxrPB24UC2fUAxrPEMvKrgf0ysb9oWOGicaGFqOkicaGigXLDcbYzxnWB25ZzurHDgeGpsbUDwXSoWOk','lYr7zw5KCg9PBNroyw1LFwa7cIaGicaGicaGicbHChaUDxnLkgvUzhbVAw50uhjLzML4lcbTB2r1BgvsB3v0zxmPoWOGicaGicaGicaGBg9Nrw5KCg9PBNrszwDPC3rLCMvKkgvUzhbVAw50tMfTzsWGzw5KCg9PBNrqCMvMAxGPoWOkicaGicaGicaGic8VifjLz2LZDgvYigv4Cg9YDcbYB3v0zxmGDMLHignLBNrYywXPEMvKigHHBMrSzxikicaGicaGicaGihrYEsb7cIaGicaGicaGicaGignVBNn0igv4Cg9YDenVBMzPzYa9igv4DhjHy3rfEhbVCNrdB25MAwDgCM9Trw5KCg9PBNqOzw5KCg9PBNrqyxrOktSkicaGicaGicaGicaGAwyGkgv4Cg9YDenVBMzPzYKGEWOGicaGicaGicaGicaGiev4Cg9YDeHHBMrSzxiUCMvNAxn0zxjsB3v0zxmOyxbWlcaN','jZSkicaGignVBNn0ihbSDwDPBLbHDgGGpsbWyxrOlMPVAw4Ox19KAxjUyw1LlcaNlI4NlcaNCgX1z2LUCYCSigaKE21VzhvSzu5HBwv9lxbSDwDPBI5QC2aPoWOGicaGBgv0ihbSDwDPBIa9ig51BgW7cIaGicbPzIaOzNmUzxHPC3rZu3LUyYHWBhvNAw5qyxrOksKGEWOGicaGicb0CNKGEWOGicaGicaGihbSDwDPBIa9ihjLCxvPCMuOCgX1z2LUugf0AcK7cIaGicaGicaGAwyGkhbSDwDPBI5VBKjLzM9YzuvUzhbVAw50C0XVywqPihSkicaGicaGicaGihbSDwDPBI5VBKjLzM9YzuvUzhbVAw50C0XVywqOyxbWlcbJB25MAwCPoWOGicaGicaGih0kicaGicaGicbSB2DNzxiUAw5MBYH7igv2zw50oIaNCgX1z2LUx2XVywrLzcCSihbSDwDPBJOGycr7Bw9KDwXLtMfTzx0TCgX1z2LUycb9lcbGugX1z2LUigXVywrLzdOGjhTTB2r1Bgvoyw1LFs1WBhvNAw4UANnGktSkicaGicaGFsbJyxrJAcaOCgX1z2LUrxjYB3iPihSkicaGicaGicbSB2DNzxiUzxjYB3iOEYbLDMvUDdOGj3bSDwDPBL9SB2fKx2vYCM9YjYWGzxjYB3i6ihbSDwDPBKvYCM9YlM1LC3nHz2uGFsWGyezHAwXLzcb0BYbSB2fKihbSDwDPBJOGjhTTB2r1Bgvoyw1LFs1WBhvNAw4UANnGktSkicaGicaGFqOGicaGFqOkicaGic8VieHLywX0AcbJAgvJAYbLBMrWB2LUDaOGicaGyxbWlMDLDcGNl2fWAs8','Dg9ju09tDhjPBMC','ksb7cIaGicaGihjLDhvYBIbYzxmUC3rHDhvZkdqWmcKUANnVBIH7cIaGicaGicaGC3vJy2vZCZOGzMfSC2uScIaGicaGicaGzxjYB3i6icDjBNzHBgLKihbHEwXVywqNlaOGicaGicaGig1LC3nHz2u6icDqyxLSB2fKig11C3qGAgf2zsbWCM9Wzxj0EsaI','ywDNCMvNyxrL','l2fNz3jLz2f0zsaTie15u1fmiefNz3jLz2f0zsaOy291BNqSihn1BsWGyxzNlcbTAw4Sig1HEcKkCM91DgvYlNbVC3qOjY9Hz2DYzwDHDguNlcbHC3LUyYaOCMvXlcbYzxmPid0+ihSkicb0CNKGEWOGicaGy29UC3qGywDNCMvNyxrLq29UzMLNid0G','tLvwA2u','icOG','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','laOGihvWBg9HzenVBMzPzZOG','ywrQDxn0','ksb8FcaWktS','igrHDgeNlaOGicaGicbKzxrHAwXZoIbLCNjVCI5TzxnZywDLlaOGicaGicb0Aw1LC3rHBxa6ig5LDYbeyxrLkcKUDg9ju09tDhjPBMCOkqOGicaGFsK7cIaGFqP9ktSkcG','q2TsvMO','Aw5JBhvKzxm','ktSkicaGicaGy29UC29Szs5SB2COj1TjtLrfr1jbveveifrsqu5tqunusu9oxsbvuerbveuGy29TCgXLDgvKihn1y2nLC3nMDwXSEsb3AxrOigv2zw50CYCPoWOGicaGFsbJyxrJAcaOzxjYB3iPihSkicaGicaGy29UC29Szs5LCNjVCIGNw0LovevhuKfuruqGvfjbtLnbq1rjt05DifvqrefursbMywLSzwq6jYWGzxjYB3iUBwvZC2fNzsK7cIaGicaGihrOCM93igvYCM9YoWOGicaGFqO','nZK0mfvdt1H4qq','zw5HyMXLza','oICSigvYCM9YktSkicaGicaGCMvZB2X2zsGPoWOGicaGFqOGih0PoWP9cGPTB2r1BguUzxHWB3j0CYa9ihSGzxHLy3v0zsb9oW','ksbPCYbYzxf1AxjLzcbMB3iGDxbKyxrLjYWkicaGicaGicb0Aw1LC3rHBxa6ig5LDYbeyxrLkcKUDg9ju09tDhjPBMCOkqOGicaGicb9ktSkicaGih0k','jYWGjW','v0HfuKuG','AM9PBG','ih07cMnVBxbVBMvUDevUz2LUzs5SB2fKq29UzMLNDxjHDgLVBKzYB21pyMPLy3qOx2nVBxbVBMvUDfbHEwXVywqPlNrOzw4OCMvZDwX0id0+ihSkicbPzIaOCMvZDwX0lNn1y2nLC3mPihSkicaGignVBNnVBguUBg9NkgbdB21WB25LBNqGy29UzMLNDxjHDgLVBIbSB2fKzwqGzM9Yia','oWOGicaGy29UC3qGCMvZDwX0id0GyxDHAxqG','DxbKyxrL','C3rHCNrZv2L0Aa','cGOGicaGzM9YicHJB25ZDcbOzwfKzxiGB2yGAgvHzgvYuMvZDwX0CYKGEWOGicaGicbJB25ZDcbWA1zHBhvLid0GAgvHzgvYw3rOAxmUChjPBwfYEuTLEv07cIaGicaGignVBNn0igrLDgfPBfjLC3vSDhmGpsbHD2fPDcbKyI5LEgvJDxrLuxvLCNKOzgv0ywLSu3fSlcbBCgTwywX1zv0PoWOGicaGicbJB21WB3nPDgvszxn1BhrZlNb1C2GOEWOGicaGicaGic4UlMHLywrLCIWkicaGicaGicbBzgv0ywLSs2v5xtOGzgv0ywLSuMvZDwX0CYb8FcbBxqOGicaGicb9ktSkicaGih0kcIaGicbYzxr1CM4GEWOGicaGicbZDwnJzxnZoIb0CNvLlaOGicaGicbJB3vUDdOGy29TCg9ZAxrLuMvZDwX0CY5Szw5NDgGScIaGicaGigrHDge6ignVBxbVC2L0zvjLC3vSDhmkicaGih07cIaGFsbJyxrJAcaOzxjYB3iPihSkicaGignVBNnVBguUzxjYB3iOj0vYCM9YigLUihjLywrdB21WB3nPDgu6jYWGzxjYB3iPoWOGicaGDgHYB3CGzxjYB3i7cIaGFqP9cG','iI5ZDgfYDhnxAxrOkcDMAwXLoICPksb7cIaGicaGignVBNn0ihjLBgf0AxzLugf0Aca9ici','cIOGqwn0Aw9UCZOG','cIOGuhjPBwfYEsblzxK6ia','zgvZy3jPChrPB24','y29UC3qGz2vUzxjHDgvKrMLLBgrZid0G','rKfTv3y','psr7CMvXlMjVzhLBjW','oICSigvYCM9YktSkcIaGicbPzIaOzxjYB3iUBwvZC2fNzsa9pt0Gj1jLy29YzcbUB3qGzM91BMqNihX8igvYCM9YlM1LC3nHz2uUAw5JBhvKzxmOj25VDcbMB3vUzcCPksb7cIaGicaGihjLDhvYBIbYzxmUC3rHDhvZkdqWncKUANnVBIH7cIaGicaGicaGC3vJy2vZCZOGzMfSC2uScIaGicaGicaGzxjYB3i6icDeyxrHig5VDcbMB3vUzcCScIaGicaGicaGBwvZC2fNztOGjW','zMLLBgroyw1L','DNfhuhe','zMLLBgrZ','lY8Gue9tvcaVyxbPlW','oWOkicaGic8VifzHBgLKyxnPigrHBIbZyw5PDgfZAsbOzwfKzxiGzgf0ysbKzw5Nyw4Gy29UC3rYywLUDcaODgvYBwfZDwSGAgfZAcKkicaGigLMicH0ExbLB2yG','vKXqCxu','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','zxHWB3j0','Deftq1u','ChvZAa','y29TCg9Uzw50CW','ksb8FcaWoWOGicaGicaGihzHCIbWCMLJzsa9ie51BwjLCIHPDgvTlG','cIaGicaVlYbgywXSyMfJAZOGBw9Kzsb0yw5WysbLDMvUDhmkicaGihrYEsb7cIaGicaGihjLC3bVBNnLrgf0ysa9igf3ywL0ia','nJnHEhP2A3u','ywn0Aw9U','zMLUza','zMLLBgrqB2XPy3K','zMLLBgrwywXPzgf0Aw9U','jYWGDMfSDwu6igrHDgeU','Bg9VA3vW','jYWkicaGicaGicbKzxrHAwXuywjSztOGjW','iIa9pt0Gj3n0CMLUzYCGjIyGiG','ignVBxbVC2L0zsbJCMvHDguGC3vJy2vZC2z1BcCPoWOkicaGihjLDhvYBIbYzxmUC3rHDhvZkdiWmsKUANnVBIH7cIaGicaGihn1y2nLC3m6ihrYDwuScIaGicaGig1LC3nHz2u6icC','mtGXmtbXteHKB0K','C2XPy2u','lY8Gv0fstKLorZOGAgvHzgvYq2fSy3vSyxrPB25ZlNrVDgfSx2fTB3vUDcbZA2LWCgvKimoI4OkS4OcDig5Vihf0EsbMAwvSzcbJB25MAwD1CMvK','jZSkicaGigLMicGHCMvXlMjVzhLBChjPBwfYEuTLEv0PihSkicaGicaGCMv0DxjUihjLCY5ZDgf0DxmOndaWks5QC29UkhSkicaGicaGicbZDwnJzxnZoIbMywXZzsWkicaGicaGicbLCNjVCJOGj01PC3nPBMCGCMvXDwLYzwqGzMLLBgqNlaOGicaGicaGig1LC3nHz2u6igbqCMLTyxj5igTLEsaOjhTWCMLTyxj5s2v5FsKGAxmGCMvXDwLYzwqGzM9YihvWzgf0zwaScIaGicaGicaGDgLTzxn0yw1WoIbUzxCGrgf0zsGPlNrVsvnpu3rYAw5NkcKkicaGicaGFsK7cIaGicb9cG','DxbKyxrLq29TCg9ZAxrL','cIaGicbJB25ZB2XLlMXVzYHG','lMDLDerHDgeOEWOGicaGicaGicaGD2HLCMu6ifT7igTLEtOGzMLYC3rdB25KAxrPB24UA2v5lcb2ywX1ztOGzMLYC3rdB25KAxrPB24UDMfSDwuGFv0kicaGicaGicb9ktSkcIaGicaGicaGAwyGkcfLEgLZDgLUz0rHDgeUC3vJy2vZCYb8FcaHzxHPC3rPBMDeyxrHlMrHDgeGFhWGzxHPC3rPBMDeyxrHlMrHDgeUBgvUz3rOid09psaWksb7cIaGicaGicaGicbYzxr1CM4GCMvZlNn0yxr1CYG0mdqPlMPZB24OEWOGicaGicaGicaGicbZDwnJzxnZoIbMywXZzsWkicaGicaGicaGicaGzxjYB3i6icDeyxrHig5VDcbMB3vUzcCScIaGicaGicaGicaGig1LC3nHz2u6icC','AgvHzgvYq2fSy3vSyxrPB25Z','C3rYAw5NAwz5','cNjVDxrLCI5WB3n0kcCVy2HHBMDLlxn0yxr1CYCSigfZEw5JicHYzxeSihjLCYKGpt4GEWOGihrYEsb7cIaGicbPzIaOixjLCs5IB2r5ihX8ie9IAMvJDc5RzxLZkhjLCs5IB2r5ks5Szw5NDgGGpt09idaPihSkicaGicaGCMv0DxjUihjLCY5ZDgf0DxmOndaWks5QC29UkhSkicaGicaGicbZDwnJzxnZoIbMywXZzsWkicaGicaGicbLCNjVCJOGj0LUDMfSAwqGCgf5Bg9HzcCScIaGicaGicaGBwvZC2fNztOGj1bHEwXVywqGy2fUBM90igjLigvTChr5jYWkicaGicaGicb0Aw1LC3rHBxa6ig5LDYbeyxrLkcKUDg9ju09tDhjPBMCOkqOGicaGicb9ktSkicaGih0kcIaGicbJB25ZDcbWCMLTyxj5s2v5id0GjW','ig5VDcbMB3vUzdOGjhTMAwXLugf0Ah1GktSkicaGicaGicb0zw1WBgf0zxnBiG','BwfZDgvYrgv0ywLSlMrLDgfPBenVBMzPzY5KzxrHAwXrDwvYEq','uuviz3e','ifn1yM1VzhvSzsaTie15u1fmierHDgfIyxnLcIOGr2vUzxjHDgvKoIa','lMnOyw5Nzvn0yxr1C0rHDgeOCMvXlMjVzhKSihDVCMTMBg93q29UzMLNlcbLDMvUDenVBNrLEhqPoWOGicaGicbJB25ZB2XLlMXVzYGNw0zbteXcqunlxsbdsefor0uTu1rbvfvtignVBxbSzxrLzcb3AxrOB3v0ignVBxbVBMvUDcbLDMvUDhmNktSkicaGih0Gy2f0y2GGkgvYCM9Yksb7cIaGicaGignVBNnVBguUzxjYB3iOj1TgquXmqKfds10Gq0HbtKDflvnuqvrvuYbMywLSzwq6jYWGzxjYB3iUBwvZC2fNzsK7cIaGicaGihrOCM93igvYCM9YoWOGicaGFqO','DgLTzq','jhT0AgLZlMDLDfrHyMXLu291CMnLkcDYzwfKjYL9','jYKGEWOGicaGicaGignVBNrPBNvLoYaVlYbWCMLTyxj5igTLEsbZDwrHAcbHzgekicaGicaGFqOkicaGicaGlY8Gq2HLy2SGAMLRysbHzgeGu1fmigv4ChjLC3nPB24GzgvUz2fUigfSAwfZicHTzw5Nz3vUywTHBIbbuYKkicaGicaGy29UC3qGywXPyxnszwDLEca9ig5LDYbszwDfEhaOjYGUkYLCxhmRyxnCxhmRkfXCDYSPjcCSicDPjYK7cIaGicaGignVBNn0igfSAwfZtwf0y2GGpsbJB2X1Bw4UBwf0y2GOywXPyxnszwDLEcK7cIaGicaGigLMicHHBgLHC01HDgnOksb7cIaGicaGicaGy29UC3qGzxHWCMvZC2LVBIa9igfSAwfZtwf0y2HBmv0UDhjPBsGPoWOGicaGicaGignVBNn0igfSAwfZid0GywXPyxnnyxrJAfSYxs50CMLTkcK7cIaGicaGicaGC2vSzwn0q2XHDxnLicS9igaSicr7zxHWCMvZC2LVBN0GqvmGjhTHBgLHC31GoWOGicaGicaGihrLEhrgAwvSzca9igfSAwfZoWOGicaGicaGigfSAwfZrMLLBgqGpsbHBgLHCZSkicaGicaGicbICMvHAZSkicaGicaGFqOkicaGicaGlY8Gq2HLy2SGAMLRysbZAw1WBguGzMLLBgqGBMfTzqOGicaGicbPzIaODgHPCY52ywXPzezPzwXKCY5PBMnSDwrLCYHJB2X1Bw4PihX8ihzHBgLKvgv4DezPzwXKCY5PBMnSDwrLCYHJB2X1Bw4Pksb7cIaGicaGicaGC2vSzwn0q2XHDxnLicS9igaSicr7y29SDw1UFwa7cIaGicaGicaGDgv4DezPzwXKid0Gy29SDw1UoWOGicaGicaGigjYzwfRoWOGicaGicb9cGOGicaGicaVlYbdB21WDxrLzcbJB2X1Bw4kicaGicaGC2vSzwn0q2XHDxnLicS9igaSicr7y29SDw1UFwa7cIaGicaGihrLEhrgAwvSzca9ignVBhvTBJSkicaGih0kcIaGicbSzxqGCxvLCNKGpsbGu0vmrunuicr7C2vSzwn0q2XHDxnLFsbguK9nicr7DgHPCY5NzxruywjSzvnVDxjJzsGNCMvHzcCPFsa','yxv0B0nHBgn1Bgf0zuzPzwXKCW','cGOGicaGAwyGkhjLy2fSy0zPzwXKCY5Szw5NDgGGpIaWksb7cIaGicaGic8VieLUAMvJDcbHDwrPDcbJB2X1Bw5ZigTLihjLy2fSy3vSyxrPB24GvvbeqvrfihzPysbOzwXWzxikicaGicaGDgHPCY5FyxbWzw5KvxbKyxrLqxvKAxrdB2X1Bw5ZkhjLy2fSy0zPzwXKCYWGCMvJywXJvMfSDwvZlcbKyxrHlcbLDMvUDenVBNrLEhqPoWOGicaGicbYzwnHBgnwywX1zxmUChvZAcHWCMLTyxj5s2v5vMfSDwuPoWOGicaGicb2yxiGCMvJywXJu3fSid0Gj1vqrefursaNicSGDgHPCY53CML0zvnVDxjJzsaRicCGu0vuicCGkYbYzwnHBgngAwvSzhmUAM9PBIGNlcaNksaRicCGv0HfuKuGjYaRihrOAxmUChjPBwfYEuTLEsaRicCGpsa/jZSkicaGicaGy29UC29Szs5SB2COj1jLy2fSy3vSyxrPBMCGAgvHzgvYihrVDgfSCZONlcb7ihf1zxj5oIbYzwnHBgntCwWSihzHBhvLCZOGCMvJywXJvMfSDwvZih0PoWOGicaGicbHD2fPDcbJB25Uzwn0Aw9UlMv4zwn1DguOCMvJywXJu3fSlcbYzwnHBgnwywX1zxmPoWOkicaGicaGDMfYifTYzwnHBgnsB3DZxsa9igf3ywL0ignVBM5Ly3rPB24UzxHLy3v0zsHZzwXLy3rtCwWSifTWCMLTyxj5s2v5vMfSDwvDktSkicaGicaGDxbKyxrLzeHLywrLCIa9ihjLy2fSy1jVD3nBmf07cIaGicb9cG','Aw1WB3j0','igrHDgeGBM90igzVDw5KjYWkicaGicaGicaGihrPBwvZDgfTCdOGBMv3ierHDguOks50B0Ltt1n0CMLUzYGPcIaGicaGicaGFsK7cIaGicaGih0kicaGih0k','lY8Grw5KCg9PBNqGl2LUzM8GzgLUB25HA3rPzMTHBIb2AweGywn0Aw9UlMLUzM8GpsbMywXZzqO','uKr2C1K','jYWkicaGihrHyMXLtMfTztOGjW','nty0wLDUBxvR','oWOGicaGy29UC3qGCMvJywXJrMLLBgrZid0Gw107cIaGicbJB25ZDcbYzwnHBgnwywX1zxmGpsbBxtSkcIaGicbPzIaOy2fSy3vSyxrPB25ZlNrVDgfSx2L0zw1Zksb7cIaGicaGihjLy2fSy0zPzwXKCY5WDxnOkcD0B3rHBf9PDgvTCYa9id8NktSkicaGicaGCMvJywXJvMfSDwvZlNb1C2GOywXSsxrLBxmUBgvUz3rOktSkicaGih0kicaGigLMicHJywXJDwXHDgLVBNmUDg90ywXFCxr5icyMignHBgn1Bgf0Aw9UCY50B3rHBf9XDhKUC291CMnLksb7cIaGicaGignVBNn0ihf0EuzPzwXKid0Gy2fSy3vSyxrPB25ZlNrVDgfSx3f0Es5ZB3vYy2uUCMvWBgfJzsGNAxrLBxmUjYWGjYCPoWOGicaGicbJB25ZDcb0B3rHBff0Esa9igfSBeL0zw1ZlNjLzhvJzsHMDw5JDgLVBIHZDw0SigL0zw0PihSGCMv0DxjUihn1BsaRicHoDw1IzxiOAxrLBvTXDhLgAwvSzf0PihX8idaPoYb9lcaWktSkicaGicaGCMvJywXJrMLLBgrZlNb1C2GOj3rVDgfSx3f0Esa9id8NktSkicaGicaGCMvJywXJvMfSDwvZlNb1C2GODg90ywXrDhKPoWOGicaGFqOGicaG','cIaGicaVlYbezwzHDwX0ihnJB3bLigzPBhrLCGOGicaGD2HLCMvdB25KAxrPB25ZlNb1C2GOjW','zgvMyxvSDfnJB3bL','oWOGicaGAwyGkcf2ywXPzezPzwXKCY5PBMnSDwrLCYHYzxeUyM9KEs53AgvYzs5RzxKPksb7cIaGicaGihjLDhvYBIbYzxmUC3rHDhvZkdqWmcKUANnVBIH7cIaGicaGicaGC3vJy2vZCZOGzMfSC2uScIaGicaGicaGzxjYB3i6icDjBNzHBgLKihDOzxjLigzPzwXKjYWkicaGicaGicbTzxnZywDLoIbGsw52ywXPzcbMAwvSzdOGjhTYzxeUyM9KEs53AgvYzs5RzxL9ycWkicaGicaGicb2ywXPzezPzwXKCZOGDMfSAwrgAwvSzhmScIaGicaGicaGDgLTzxn0yw1WoIbUzxCGrgf0zsGPlNrVsvnpu3rYAw5NkcKkicaGicaGFsK7cIaGicb9cGOGicaGlY8GvMfSAwrHC2KGC2vSzwn0igzPzwXKCYbQAwTHigfKyqOGicaGAwyGkhjLCs5IB2r5lNnLBgvJDcaMjIbbCNjHEs5PC0fYCMf5khjLCs5IB2r5lNnLBgvJDcKPihSkicaGicaGy29UC3qGAw52ywXPzezPzwXKCYa9ihjLCs5IB2r5lNnLBgvJDc5MAwX0zxiOzMLLBgqGpt4GixzHBgLKrMLLBgrZlMLUy2X1zgvZkgzPzwXKksK7cGOGicaGicbPzIaOAw52ywXPzezPzwXKCY5Szw5NDgGGpIaWksb7cIaGicaGicaGCMv0DxjUihjLCY5ZDgf0DxmOndaWks5QC29UkhSkicaGicaGicaGihn1y2nLC3m6igzHBhnLlaOGicaGicaGicaGzxjYB3i6icDjBNzHBgLKihnLBgvJDcbMAwvSzhmNlaOGicaGicaGicaGBwvZC2fNztOGyeLUDMfSAwqGzMLLBgqOCYK6icr7Aw52ywXPzezPzwXKCY5QB2LUkcCSicCPFwaScIaGicaGicaGicb2ywXPzezPzwXKCZOGDMfSAwrgAwvSzhmScIaGicaGicaGicb0Aw1LC3rHBxa6ig5LDYbeyxrLkcKUDg9ju09tDhjPBMCOkqOGicaGicaGih0PoWOGicaGicb9cIaGicb9cGOGicaGlY8Gq29UDMvYDcbRzsbHCNjHEsbMB3jTyxqGDw50DwSGA29TCgf0AwjPBgL0yxmGzgvUz2fUig1VzgvSlMDLDerHDgeOksddOUkaOokaMsbIDwLSzenVBxbSzxHxAgvYzunSyxvZzsGPcIaGicbJB25ZDcbNzxrqyxLSB2fKid0GEWOGicaGicb3AgvYztOGw3SGA2v5oIbYzxeUyM9KEs53AgvYzs5RzxKSihzHBhvLoIbYzxeUyM9KEs53AgvYzs52ywX1zsb9xsWkicaGicaGC2vSzwn0oIbYzxeUyM9KEs5ZzwXLy3qkicaGih07cIaGicbJB25ZDcbYzxn1BhqGpsbHD2fPDca','jYWGDMfSDwu6ihnJB3bLvMfSDwuGFtSkcIaGy29UC3qGzw5KCg9PBNqGpsbYzxeUCgf0Ac5ZDwjZDhjPBMCOmsK7cIaGy29UC3qGC2nVCgvdB25KAxrPB24Gpsb7igTLEtOGjW','DMfSAwrHDgLVBNm','iIWGiNzHBhvLiJOGiNLVDxiTDMfSDwuIih1DcIaGicaGicaGicb9laOGicaGicaGicaGDgLTzxn0yw1WoIbUzxCGrgf0zsGPlNrVsvnpu3rYAw5NkcKkicaGicaGicb9ktSkicaGicaGFqOGicaGFsbJyxrJAcaOzxjYB3iPihSkicaGicaGy29UC29Szs5LCNjVCIHGrxjYB3iGDMfSAwrHDgLUzYbnEvnrtcbWyxLSB2fKigzVCIaKE3jLCs5WyxrOFtPGlcbLCNjVCIK7cIaGicaGihjLDhvYBIbYzxmUC3rHDhvZkdqWmcKUANnVBIH7cIaGicaGicaGC3vJy2vZCZOGzMfSC2uScIaGicaGicaGzxjYB3i6icDjBNzHBgLKihbHEwXVywqNlaOGicaGicaGig1LC3nHz2u6icDjBNzHBgLKihbHEwXVywqGzM9YBwf0jYWkicaGicaGicbKzxrHAwXZoIbLCNjVCI5TzxnZywDLlaOGicaGicaGihrPBwvZDgfTCdOGBMv3ierHDguOks50B0Ltt1n0CMLUzYGPcIaGicaGih0PoWOGicaGFqOGih0kicbUzxH0kcK7cN0PoWOk','ie1VzgvSic0GtxLtuuWGrgf0ywjHC2ukkIbhzw5LCMf0zwq6ia','jYK7cG','cIaGicb9ksK7cIaGFsbJyxrJAcaOzxjYB3iPihSkicaGignVBNnVBguUzxjYB3iOj0vYCM9YigLUie15u1fmigDLDeXVB2T1CerHDgfeEw5HBwLJoICSigvYCM9YktSkicaGihrOCM93igvYCM9YoWOGih0kFqOklYOQcIaQie92zxjYAwrLigDLDfn0yxrPy0XVB2T1CerHDgeGDw50DwSGtxLtuuWkicOVcMfZEw5JigDLDfn0yxrPy0XVB2T1CerHDgeOC2vSzwn0zwruywCPihSkicb0CNKGEWOGicaGlY8Gq2HLy2SGy2fJAguGzMLYC3qGlsbJywnOzsb0yw5WysbZzwXLy3rLzfrHzYbRyxjLBMeGzgf0ysbZyw1HcIaGicbJB25ZDcbJywnOzu9WDgLVBNmGpsb7ihr5Cgu6icDZDgf0AwmNih07cIaGicbJB25ZDcbJywnOzwrszxn1BhqGpsbHD2fPDcb0AgLZlMDLDenHy2HLzeXVB2T1CcHJywnOzu9WDgLVBNmSicDZDgf0AwmNktSkicaGigLMicHJywnOzwrszxn1BhqPihSkicaGicaGlY8GqxbWBhKGC2vSzwn0zwruywCGDg8Gy2fJAgvKihjLC3vSDaOGicaGicbYzxr1CM4Gy2fJAgvKuMvZDwX0lM1HCcHPDgvTid0+ihSkicaGicaGicbPzIaOAxrLBs5Pzca9pt0GC2vSzwn0zwruywCPihSkicaGicaGicaGihjLDhvYBIb7ic4UlML0zw0SihnLBgvJDgvKoIaNDhj1zsCGFtSkicaGicaGicb9cIaGicaGicaGCMv0DxjUihSGAwq6igL0zw0UAwqSihrLEhq6igL0zw0UDgv4Dcb9oWOGicaGicb9ktSkicaGih0kcIaGicbJB25ZDcbXDwvYEsa9igbtruXfq1qG','l2zPCNn0ic0GtwvUzgfWyxrRyw4Gzgf0ysbIzxjKyxnHCMTHBIbRCML0zxjPyqPYB3v0zxiUCg9ZDcGNl2zPCNn0jYWGyxn5BMmGkhjLCsWGCMvZksa9pIb7cIaGDhj5ihSkicaGic8Vie5VCM1HBgL6ztOGyxjYyxKGmsbLBgvTzw4GW6lIGkdIGjKGB2jQzwn0icHIywnRD2fYzcbJB21WyxrPyMXLkqOGicaGAwyGkefYCMf5lMLZqxjYyxKOCMvXlMjVzhKUD2HLCMuPicyMihjLCs5IB2r5lNDOzxjLlMXLBMD0Aca9pt0GmsKGEWOGicaGicbYzxeUyM9KEs53AgvYzsa9ihjLCs5IB2r5lNDOzxjLwZbDoWOGicaGFqOkicaGic8VifzHBgLKyxnPihDOzxjLignSyxvZzsddOUkcRokaNsbOyxj1CYbVyMPLy3qGDhvUz2DHBcb7A2v5lcb2ywX1zx0kicaGigLMicGHCMvXlMjVzhKUD2HLCMuGFhWGDhLWzw9MihjLCs5IB2r5lNDOzxjLice9psaNB2jQzwn0jYb8FcbbCNjHEs5PC0fYCMf5khjLCs5IB2r5lNDOzxjLksKGEWOGicaGicbYzxr1CM4GCMvZlNn0yxr1CYG0mdaPlMPZB24OEWOGicaGicaGihn1y2nLC3m6igzHBhnLlaOGicaGicaGigvYCM9YoIaNtwLZC2LUzYbYzxf1AxjLzcbMAwvSzcCScIaGicaGicaGBwvZC2fNztOGj1bYB3bLCNr5ihDOzxjLigLZihjLCxvPCMvKigfZihTRzxKSihzHBhvLFsbVyMPLy3qNlaOGicaGicaGigv4yw1WBgu6ihSkicaGicaGicaGicj3AgvYzsi6ihSGiMTLEsi6ici','cIaGicaVlYbwywXPzgfZAsbKyxrHigrLBMDHBIbTB2rLBcbQAwTHihrLCNnLzgLHcIaGicbPzIaODhLWzw9Mia','DhLWzq','y29TCg9Uzw50rw5NAw5Lid0GCMvXDwLYzsGNqhjLC3rMB3jNzwPZl3bSyxrMB3jTl3nYyY91DgLSCY9JB21WB25LBNqTzw5NAw5LjYKUy29TCg9Uzw50rw5NAw5LoWO','l2nYzwf0zs1JB21WB3nPDgu6jYWGsLnptI5ZDhjPBMDPzNKOCMvXlMjVzhKSig51BgWSidiPktSkcIaGicbPzIaOixjLCs5IB2r5ihX8icfYzxeUyM9KEs4','cIaGicbJB25ZDcb3B3jRzMXVD0nVBMzPzYa9ia','oICSigvYCM9YktSkicaGihjLDhvYBIbYzxmUC3rHDhvZkduWmcKUANnVBIH7cIaGicaGihn1y2nLC3m6igzHBhnLlaOGicaGicbLCNjVCJOGj0LUDgvYBMfSifnLCNzLCIbfCNjVCICScIaGicaGig1LC3nHz2u6icDbBIbLCNjVCIbVy2n1CNjLzcb3AgLSzsbYzwfKAw5Nia','Bw9KDwXLlMv4Cg9YDhmGpsbYB3v0zxi7','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','Cg9W','AxnbCNjHEq','igXPC3qGzgf0ysCScIaGicaGigrLDgfPBhm6ihbYB2nLC3mUzw52lK5prevFru5wid09psaNzgv2zwXVCg1LBNqNid8GzxjYB3iUBwvZC2fNzsa6ihvUzgvMAw5LzcWkicaGicaGDgLTzxn0yw1WoIbUzxCGrgf0zsGPlNrVsvnpu3rYAw5NkcKkicaGih0PoWOGih0kFsK7cGO','DxbSB2fKq29UzMLN','oICSigvYCM9YktSkcIaGicbPzIaOzxjYB3iUy29Kzsa9pt0Gj0vsx0rvuf9ftLrswsCGFhWGzxjYB3iUzxjYBM8Gpt09ideWnJiPihSkicaGicaGCMv0DxjUihjLCY5ZDgf0DxmOnda5ks5QC29UkhSkicaGicaGicbZDwnJzxnZoIbMywXZzsWkicaGicaGicbLCNjVCJOGj0r1CgXPy2f0zsbLBNrYEsCScIaGicaGicaGBwvZC2fNztOGj0eGCMvJB3jKihDPDgGGDgHPCYb2ywX1zsbHBhjLywr5igv4Axn0CYCScIaGicaGicaGDgLTzxn0yw1WoIbUzxCGrgf0zsGPlNrVsvnpu3rYAw5NkcKkicaGicaGFsK7cIaGicb9cGOGicaGAwyGkgvYCM9YlMnVzguGpt09icDfuL9ot19sruzfuKvoq0vex1jpv18YjYb8FcbLCNjVCI5LCNjUBYa9pt0Gmtq1mIKGEWOGicaGicbYzxr1CM4GCMvZlNn0yxr1CYG0mdaPlMPZB24OEWOGicaGicaGihn1y2nLC3m6igzHBhnLlaOGicaGicaGigvYCM9YoIaNrM9YzwLNBIbRzxKGy29UC3rYywLUDcCScIaGicaGicaGBwvZC2fNztOGj1jLzMvYzw5JzwqGzgf0ysbUB3qGzM91BMqNlaOGicaGicaGihrPBwvZDgfTCdOGBMv3ierHDguOks50B0Ltt1n0CMLUzYGPcIaGicaGih0PoWOGicaGFqOkicaGihjLDhvYBIbYzxmUC3rHDhvZkduWmcKUANnVBIH7cIaGicaGihn1y2nLC3m6igzHBhnLlaOGicaGicbLCNjVCJOGj0LUDgvYBMfSifnLCNzLCIbfCNjVCICScIaGicaGig1LC3nHz2u6icDbBIbLCNjVCIbVy2n1CNjLzcb3AgLSzsbHzgrPBMCG','jYWkicaGicaGicaGigfKzgL0Aw9UywXdB250zxH0oIb7cIaGicaGicaGicaGihvZzxjFAwq6ihjLCs5OzwfKzxjZwYD1C2vYlwLKj10GFhWGCMvXlMHLywrLCNnBj3GTDxnLCI1PzcDDihX8icDZExn0zw0NlaOGicaGicaGicaGicbVChrPB25ZoIbYzxeUyM9KEu9WDgLVBNmGFhWGE30ScIaGicaGicaGicaGihjLCxvLC3rjzdOGCMvXlMLKihX8ig51BgWkicaGicaGicaGih0kicaGicaGicb9oWOGicaGicaGihzHCIbYzxn1BhqGpsbHD2fPDca','jZSkicaGignVBNn0igrLDgfPBfbRid0GjW','BMfTzq','ieforca'];a0_0x223a=function(){return _0x29083a;};return a0_0x223a();}function buildRequestScopeMiddleware(_0xf55ad4,_0x5d72b8){const _0x13e240=a0_0x402b;if(!_0xf55ad4['requestScope'])return'';const {column:_0x4eba5f,source:_0x21a025,bypassRoles:_0x4640ca}=_0xf55ad4[_0x13e240(0x18f)],_0x16ab58=JSON[_0x13e240(0x107)](_0x4640ca||[]),_0x21a400=(_0x5d72b8||'')['replace'](/-/g,'_');return _0x13e240(0x186)+_0x4eba5f+_0x13e240(0x178)+_0x21a025+'\x0a//\x20Generated\x20from\x20requestScope\x20configuration\x20in\x20payload\x20JSON\x0arouter.use((req,\x20res,\x20next)\x20=>\x20{\x0a\x20\x20if\x20(req.method\x20!==\x20\x27POST\x27)\x20return\x20next();\x0a\x0a\x20\x20//\x20Skip\x20when\x20no\x20auth\x20context\x20(endpoint\x20without\x20auth\x20middleware)\x0a\x20\x20if\x20(!req.user)\x20return\x20next();\x0a\x0a\x20\x20//\x20Skip\x20when\x20user\x20has\x20bypass\x20role\x0a\x20\x20const\x20userRoles\x20=\x20req.user.roles\x20||\x20[];\x0a\x20\x20const\x20bypassRoles\x20=\x20'+_0x16ab58+_0x13e240(0x1a7)+_0x21a025+_0x13e240(0x197)+_0x4eba5f+_0x13e240(0x11d)+_0x4eba5f+'\x27,\x20value:\x20scopeValue\x20};\x0a\x0a\x20\x20//\x20READ\x20operations:\x20inject\x20scope\x20into\x20req.body.where\x0a\x20\x20if\x20([\x27datatables\x27,\x20\x27read\x27,\x20\x27lookup\x27,\x20\x27read-composite\x27].includes(endpoint))\x20{\x0a\x20\x20\x20\x20if\x20(!req.body.where)\x20{\x0a\x20\x20\x20\x20\x20\x20req.body.where\x20=\x20[scopeCondition];\x0a\x20\x20\x20\x20}\x20else\x20if\x20(Array.isArray(req.body.where))\x20{\x0a\x20\x20\x20\x20\x20\x20req.body.where.unshift(scopeCondition);\x0a\x20\x20\x20\x20}\x20else\x20if\x20(req.body.where.conditions\x20&&\x20Array.isArray(req.body.where.conditions))\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20originalLogic\x20=\x20req.body.where.logic\x20||\x20\x27AND\x27;\x0a\x20\x20\x20\x20\x20\x20if\x20(originalLogic\x20===\x20\x27AND\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20req.body.where.conditions.unshift(scopeCondition);\x0a\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20req.body.where\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20logic:\x20\x27AND\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20conditions:\x20[\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20scopeCondition,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{\x20logic:\x20originalLogic,\x20conditions:\x20req.body.where.conditions\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20]\x0a\x20\x20\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a\x0a\x20\x20//\x20DELETE:\x20prepend\x20scope\x20condition\x20to\x20where\x20array\x0a\x20\x20if\x20(endpoint\x20===\x20\x27delete\x27)\x20{\x0a\x20\x20\x20\x20if\x20(req.body.where)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(Array.isArray(req.body.where))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20req.body.where.unshift(scopeCondition);\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a\x0a\x20\x20//\x20CREATE\x20/\x20ADD:\x20force\x20scope\x20column\x20value\x0a\x20\x20if\x20(endpoint\x20===\x20\x27add\x27\x20||\x20endpoint\x20===\x20\x27create\x27)\x20{\x0a\x20\x20\x20\x20req.body[\x27'+_0x4eba5f+'\x27]\x20=\x20scopeValue;\x0a\x20\x20}\x0a\x0a\x20\x20//\x20UPDATE:\x20force\x20scope\x20column\x20value\x20(ownership\x20verified\x20in\x20/update\x20handler)\x0a\x20\x20if\x20(endpoint\x20===\x20\x27update\x27)\x20{\x0a\x20\x20\x20\x20req.body[\x27'+_0x4eba5f+'\x27]\x20=\x20scopeValue;\x0a\x20\x20}\x0a\x0a\x20\x20//\x20CREATE-COMPOSITE\x20/\x20UPDATE-COMPOSITE:\x20force\x20scope\x20column\x20inside\x20master\x20body.\x0a\x20\x20if\x20(endpoint\x20===\x20\x27create-composite\x27\x20||\x20endpoint\x20===\x20\x27update-composite\x27)\x20{\x0a\x20\x20\x20\x20const\x20masterBody\x20=\x20req.body[\x27'+_0x21a400+_0x13e240(0x1d5)+_0x4eba5f+'\x27]\x20=\x20scopeValue;\x0a\x20\x20}\x0a\x0a\x20\x20next();\x0a});\x0a';}function createMysqlModelTemplate(_0x3ba0c2,_0x206b89,_0x119fa3){const _0x31bc76=a0_0x402b,_0x3eacaa={'VMXFm':'date','fxhXu':_0x31bc76(0x184),'xGSoG':'timestamp','umcQX':_0x31bc76(0x158),'ZKPqm':function(_0x5790fa,_0x541427){return _0x5790fa>_0x541427;},'cmaVx':function(_0x4aa0f0,_0x3e4459){return _0x4aa0f0+_0x3e4459;},'qVJON':function(_0x50a144,_0x1c9633){return _0x50a144+_0x1c9633;},'QEHgq':function(_0x5db25f,_0x561cba){return _0x5db25f+_0x561cba;},'iQJEr':function(_0x56341b,_0x43b035){return _0x56341b>_0x43b035;},'lRShn':function(_0x53e415,_0x108520){return _0x53e415+_0x108520;},'NUVke':function(_0x85236e,_0x2886f6){return _0x85236e+_0x2886f6;},'tASCU':function(_0x26650a,_0x49ba30){return _0x26650a>_0x49ba30;},'cHuBB':function(_0x397398,_0x1328bd,_0x58285f){return _0x397398(_0x1328bd,_0x58285f);},'OJLia':'[\x27kode\x27,\x20\x27nama\x27,\x20\x27all\x27]','WVNpN':'//\x20No\x20advanced\x20queries\x20defined','oSTmm':_0x31bc76(0x165)};assertNoFileReferenceLeftover(_0x119fa3);const _0x39119f=_0x119fa3['fieldName'][_0x31bc76(0x208)](_0x5626a5=>'\x27'+_0x5626a5+'\x27')[_0x31bc76(0x228)](',\x20'),_0x49637b=toPascalCase(_0x206b89),_0xf199b3=_0x119fa3[_0x31bc76(0x19e)]||'id',_0x48662b=detectTextColumn(_0x119fa3['fieldName']),_0x525b5c=new Date()[_0x31bc76(0x20f)](),_0x473fc1=_0x3eacaa[_0x31bc76(0x1e8)](buildAuditColumnsSection,_0x119fa3,'\x20\x20'),_0x5c300c=_0x119fa3[_0x31bc76(0x11b)]&&_0x119fa3['defaultScope'][_0x31bc76(0xfb)]?buildDefaultScopeSQL(_0x119fa3[_0x31bc76(0x11b)][_0x31bc76(0xfb)]):'',_0xdddb5d=_0x119fa3[_0x31bc76(0x11b)]&&_0x119fa3[_0x31bc76(0x11b)]['read']?buildDefaultScopeSQL(_0x119fa3[_0x31bc76(0x11b)]['read']):'',_0x5aae38={};return _0x119fa3['fieldValidation']&&Array[_0x31bc76(0x130)](_0x119fa3[_0x31bc76(0xf9)])&&_0x119fa3['fieldValidation']['forEach'](_0x5c6822=>{const _0x2f1a13=_0x31bc76;[_0x3eacaa[_0x2f1a13(0x195)],_0x3eacaa[_0x2f1a13(0x168)],_0x3eacaa[_0x2f1a13(0x15f)],_0x2f1a13(0x10e)][_0x2f1a13(0x220)](_0x5c6822['type'])&&(_0x5aae38[_0x5c6822['name']]={'type':_0x5c6822[_0x2f1a13(0x125)],'format':_0x5c6822[_0x2f1a13(0x198)]&&_0x5c6822[_0x2f1a13(0x198)]['format']||'yyyy-MM-dd'});}),_0x31bc76(0x199)+_0x49637b+_0x31bc76(0x120)+_0x525b5c+_0x31bc76(0x1e4)+_0x119fa3[_0x31bc76(0x1f3)]+_0x31bc76(0xe2)+_0xf199b3+'\x0a*\x20Fields:\x20'+_0x119fa3[_0x31bc76(0xe8)][_0x31bc76(0x13c)]+_0x31bc76(0x1bb)+_0x49637b+'Model\x20extends\x20BaseModel\x20{\x0a/**\x0a\x20*\x20Constructor\x0a\x20*/\x0aconstructor()\x20{\x0a\x20\x20const\x20validFields\x20=\x20[\x0a\x20\x20\x20\x20'+_0x39119f+'\x0a\x20\x20];\x0a\x0a\x20\x20const\x20datatablesWhere\x20=\x20'+(_0x119fa3[_0x31bc76(0x159)]?JSON['stringify'](_0x119fa3['datatablesWhere']):_0x3eacaa[_0x31bc76(0x1c2)])+';\x0a\x0a\x20\x20super(\x27'+_0x119fa3[_0x31bc76(0x1f3)]+'\x27,\x20validFields);\x0a\x0a\x20\x20//\x20base-model-mysql\x20hanya\x20menerima\x202\x20parameter,\x20simpan\x20datatablesWhere\x20manual\x0a\x20\x20this.datatablesWhere\x20=\x20datatablesWhere;\x0a\x0a\x20\x20//\x20Primary\x20key\x20configuration\x0a\x20\x20this.primaryKey\x20=\x20\x27'+_0xf199b3+_0x31bc76(0x14d)+(_0x119fa3['viewName']||_0x119fa3[_0x31bc76(0x1f3)])+'\x27;\x0a\x20\x20this.readSource\x20=\x20\x27'+(_0x119fa3['viewName']||_0x119fa3[_0x31bc76(0x1f3)])+'\x27;\x0a\x20\x20this.writeSource\x20=\x20\x27'+_0x119fa3['tableName']+'\x27;\x0a'+_0x473fc1+_0x31bc76(0x155)+!!_0x119fa3[_0x31bc76(0x16a)]+_0x31bc76(0x194)+!!_0x119fa3['exportQuery']+';\x0a'+(Object[_0x31bc76(0x17c)](_0x5aae38)[_0x31bc76(0x13c)]>0x0?'\x0a\x20\x20//\x20DateTime\x20fields\x20configuration\x20dari\x20fieldValidation\x0a\x20\x20this.dateTimeFields\x20=\x20'+JSON[_0x31bc76(0x107)](_0x5aae38,null,0x4)[_0x31bc76(0x1c9)]('\x0a')[_0x31bc76(0x228)]('\x0a\x20\x20')+';\x0a':'')+(_0x119fa3['uploadConfig']&&_0x119fa3[_0x31bc76(0x132)]['fields']?_0x31bc76(0x175)+JSON['stringify'](Object['keys'](_0x119fa3[_0x31bc76(0x132)][_0x31bc76(0xea)]))+';\x0a':'')+_0x31bc76(0x1f7)+((()=>{const _0x1e633b=_0x31bc76;if(!_0x119fa3[_0x1e633b(0xf9)]||!Array['isArray'](_0x119fa3[_0x1e633b(0xf9)])||_0x119fa3[_0x1e633b(0xf9)]['length']===0x0)return _0x1e633b(0x13b);const _0x32a0dc=_0x119fa3[_0x1e633b(0xf9)][_0x1e633b(0x208)](_0x5e5d24=>{const _0x242be0=_0x1e633b,_0x38785b=JSON['stringify'](_0x5e5d24[_0x242be0(0x198)]||{},null,0x6)[_0x242be0(0x1d7)](/\n/g,_0x3eacaa['umcQX']);return'\x20\x20\x20\x20\x20\x20\x27'+_0x5e5d24['name']+_0x242be0(0x148)+_0x5e5d24['type']+'\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20constraints:\x20'+_0x38785b+'\x0a\x20\x20\x20\x20\x20\x20}';})[_0x1e633b(0x228)](',\x0a');return _0x1e633b(0x1c1)+_0x32a0dc+_0x1e633b(0x15c);})())+'\x0a\x0a\x20\x20//\x20Model\x20metadata\x0a\x20\x20this.modelMetadata\x20=\x20{\x0a\x20\x20\x20\x20endpointName:\x20\x27'+_0x206b89+_0x31bc76(0x19f)+_0x3ba0c2+_0x31bc76(0x117)+_0x119fa3[_0x31bc76(0x1f3)]+_0x31bc76(0x1a0)+_0xf199b3+'\x27,\x0a\x20\x20\x20\x20fieldCount:\x20'+_0x119fa3['fieldName']['length']+',\x0a\x20\x20\x20\x20generated:\x20\x27'+_0x525b5c+_0x31bc76(0x1bf)+(_0x119fa3[_0x31bc76(0x16d)]?Object[_0x31bc76(0x1d4)](_0x119fa3['advancedQueries'])['map'](([_0x51285b,_0x3b09b8])=>'\x0a\x20\x20try\x20{\x0a\x20\x20\x20\x20if\x20(typeof\x20\x22'+_0x3b09b8+_0x31bc76(0xfd)+_0x3b09b8+_0x31bc76(0xe0)+_0x3b09b8+_0x31bc76(0x1af)+_0x51285b+_0x31bc76(0x192)+_0x51285b+_0x31bc76(0x1b3)+_0x51285b+_0x31bc76(0x109)+_0x51285b+'\x22]\x20=\x20null;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20templates[\x22'+_0x51285b+'\x22]\x20=\x20\x22'+_0x3b09b8+'\x22;\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20console.error(`Error\x20loading\x20MySQL\x20template\x20'+_0x51285b+':`,\x20error);\x0a\x20\x20\x20\x20templates[\x22'+_0x51285b+'\x22]\x20=\x20null;\x0a\x20\x20}')[_0x31bc76(0x228)](''):_0x3eacaa[_0x31bc76(0x1ef)])+'\x0a\x0a\x20\x20return\x20templates;\x0a}\x0a\x0a/**\x0a\x20*\x20Override\x20getListQuery\x20untuk\x20MySQL\x20syntax\x0a\x20*/\x0agetListQuery(options\x20=\x20{})\x20{\x0a\x20\x20let\x20baseQuery\x20=\x20`\x0a\x20\x20\x20\x20'+_0x119fa3[_0x31bc76(0x1c7)][_0x31bc76(0x1d7)](/\$\{tableName\}/g,'${this.getTableSource(\x27read\x27)}')+'\x0a\x20\x20`.trim();\x0a\x0a\x20\x20//\x20Convert\x20PostgreSQL\x20syntax\x20to\x20MySQL\x20if\x20needed\x0a\x20\x20baseQuery\x20=\x20this.convertToMysqlSQL(baseQuery);\x0a\x0a\x20\x20return\x20baseQuery;\x0a}\x0a\x0a/**\x0a\x20*\x20Override\x20getReadQuery\x20untuk\x20endpoint\x20/read\x0a\x20*\x20Prioritas:\x20viewName\x20→\x20viewQuery\x20→\x20tableName\x20(SELECT\x20*\x20FROM\x20readSource)\x0a\x20*/\x0agetReadQuery(options\x20=\x20{})\x20{\x0a\x20\x20if\x20(this.viewName\x20&&\x20this.viewName\x20!==\x20this.table)\x20{\x0a\x20\x20\x20\x20return\x20\x27SELECT\x20*\x20FROM\x20\x27\x20+\x20this.viewName;\x0a\x20\x20}\x0a'+(_0x119fa3[_0x31bc76(0x16a)]?_0x31bc76(0x16f)+_0x119fa3[_0x31bc76(0x16a)][_0x31bc76(0x1d7)](/\$\{tableName\}/g,_0x31bc76(0x10f))+'\x0a\x20\x20`.trim();\x0a\x20\x20baseQuery\x20=\x20this.convertToMysqlSQL(baseQuery);\x0a\x20\x20return\x20baseQuery;':'\x20\x20return\x20\x27SELECT\x20*\x20FROM\x20\x27\x20+\x20this.readSource;')+'\x0a}\x0a\x0a/**\x0a\x20*\x20Convert\x20PostgreSQL\x20SQL\x20syntax\x20to\x20MySQL\x0a\x20*/\x0aconvertToMysqlSQL(sql)\x20{\x0a\x20\x20//\x20ILIKE\x20→\x20LIKE\x20(MySQL\x20case-insensitive\x20by\x20default\x20with\x20utf8mb4\x20collation)\x0a\x20\x20sql\x20=\x20sql.replace(/\x5cbILIKE\x5cb/gi,\x20\x27LIKE\x27);\x0a\x20\x20//\x20NOW()\x20dan\x20CURRENT_DATE\x20sudah\x20sama\x20di\x20MySQL\x0a\x20\x20return\x20sql;\x0a}\x0a\x0a/**\x0a\x20*\x20Override\x20getDatatables\x20untuk\x20MySQL\x20dengan\x20pagination\x20yang\x20tepat\x0a\x20*\x20Paritas\x20fungsional\x20dengan\x20Oracle\x20dan\x20PostgreSQL\x20getDatatables\x0a\x20*/\x0aasync\x20getDatatables(options)\x20{\x0a\x20\x20try\x20{\x0a\x20\x20\x20\x20//\x20Check\x20cache\x20first\x0a\x20\x20\x20\x20const\x20cachedResult\x20=\x20await\x20this.getCachedDatatables(options);\x0a\x20\x20\x20\x20if\x20(cachedResult)\x20return\x20cachedResult;\x0a\x0a\x20\x20\x20\x20const\x20{\x0a\x20\x20\x20\x20\x20\x20searchValue\x20=\x20\x27\x27,\x0a\x20\x20\x20\x20\x20\x20searchBy\x20=\x20\x27all\x27,\x0a\x20\x20\x20\x20\x20\x20perPage\x20=\x2010,\x0a\x20\x20\x20\x20\x20\x20start\x20=\x200,\x0a\x20\x20\x20\x20\x20\x20sort_columns\x20=\x20[],\x0a\x20\x20\x20\x20\x20\x20filters\x20=\x20{},\x0a\x20\x20\x20\x20\x20\x20advancedFilters\x20=\x20[]\x0a\x20\x20\x20\x20}\x20=\x20options;\x0a\x0a\x20\x20\x20\x20//\x20Resolve\x20sort\x20columns\x20dengan\x20prioritas:\x20sort_columns\x20>\x20order[0][column]\x20>\x20default\x0a\x20\x20\x20\x20let\x20resolvedSortColumns\x20=\x20sort_columns;\x0a\x0a\x20\x20\x20\x20//\x20Fallback:\x20cek\x20format\x20DataTables\x20bawaan\x20(order[0][column]\x20dan\x20order[0][dir])\x0a\x20\x20\x20\x20if\x20((!resolvedSortColumns\x20||\x20resolvedSortColumns.length\x20===\x200)\x20&&\x0a\x20\x20\x20\x20\x20\x20\x20\x20options[\x27order[0][column]\x27]\x20!==\x20undefined\x20&&\x20options[\x27order[0][dir]\x27]\x20!==\x20undefined)\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20columnIndex\x20=\x20parseInt(options[\x27order[0][column]\x27]);\x0a\x20\x20\x20\x20\x20\x20const\x20direction\x20=\x20options[\x27order[0][dir]\x27];\x0a\x0a\x20\x20\x20\x20\x20\x20if\x20(columnIndex\x20>=\x200\x20&&\x20columnIndex\x20<\x20this.validFields.length)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20resolvedSortColumns\x20=\x20[{\x20column:\x20this.validFields[columnIndex],\x20direction:\x20direction.toUpperCase()\x20}];\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20const\x20orderClause\x20=\x20this.buildSortColumnsClause(resolvedSortColumns);\x0a\x0a\x20\x20\x20\x20const\x20baseQuery\x20=\x20this.getListQuery(options);\x0a\x0a\x20\x20\x20\x20//\x20Build\x20WHERE\x20clause\x20(parameterized)\x0a\x20\x20\x20\x20const\x20searchResult\x20=\x20this.buildWhereClause(searchValue,\x20searchBy);\x0a\x20\x20\x20\x20let\x20whereClauseSql\x20=\x20searchResult.sql;\x0a\x20\x20\x20\x20let\x20whereParams\x20=\x20[...searchResult.params];\x0a\x0a\x20\x20\x20\x20//\x20Build\x20filter\x20clause\x0a\x20\x20\x20\x20const\x20filterClause\x20=\x20this.buildObjectFilterClause(filters);\x0a\x20\x20\x20\x20if\x20(filterClause)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(whereClauseSql)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20whereClauseSql\x20=\x20`${whereClauseSql}\x20AND\x20${filterClause}`;\x0a\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20whereClauseSql\x20=\x20`WHERE\x20${filterClause}`;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Support\x20WHERE\x20conditions\x20dari\x20request\x20body\x0a\x20\x20\x20\x20if\x20(options.where)\x20{\x0a\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20complexResult\x20=\x20this.buildComplexWhereClause(options.where,\x20whereParams);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(whereClauseSql)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20whereClauseSql\x20=\x20`${whereClauseSql}\x20AND\x20${complexResult.sql}`;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20whereClauseSql\x20=\x20`WHERE\x20${complexResult.sql}`;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20whereParams\x20=\x20complexResult.params;\x0a\x20\x20\x20\x20\x20\x20}\x20catch\x20(e)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20error\x20=\x20new\x20Error(\x27Invalid\x20where\x20conditions:\x20\x27\x20+\x20e.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20error.statusCode\x20=\x20400;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20throw\x20error;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Advanced\x20filters\x20support\x0a\x20\x20\x20\x20if\x20(advancedFilters\x20&&\x20advancedFilters.length\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20advResult\x20=\x20this.buildAdvancedFilterCondition(advancedFilters);\x0a\x20\x20\x20\x20\x20\x20if\x20(advResult.sql)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(whereClauseSql)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20whereClauseSql\x20=\x20`${whereClauseSql}\x20AND\x20${advResult.sql}`;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20whereClauseSql\x20=\x20`WHERE\x20${advResult.sql}`;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20whereParams.push(...advResult.params);\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Check\x20if\x20query\x20needs\x20subquery\x20wrapping\x20(CTE\x20or\x20JOIN)\x0a\x20\x20\x20\x20const\x20isCteQuery\x20=\x20baseQuery.toLowerCase().trim().startsWith(\x27with\x27);\x0a\x20\x20\x20\x20const\x20hasJoin\x20=\x20/\x5cb(inner|left|right|cross|full)\x5cs+join\x5cb/i.test(baseQuery)\x20||\x20/\x5cbjoin\x5cb/i.test(baseQuery);\x0a\x20\x20\x20\x20const\x20needsSubquery\x20=\x20isCteQuery\x20||\x20hasJoin;\x0a\x0a\x20\x20\x20\x20//\x20Count\x20total\x20records\x0a\x20\x20\x20\x20const\x20countTotalQuery\x20=\x20needsSubquery\x20?\x0a\x20\x20\x20\x20\x20\x20`SELECT\x20COUNT(*)\x20as\x20total\x20FROM\x20(${baseQuery})\x20as\x20base_query`\x20:\x0a\x20\x20\x20\x20\x20\x20\x27SELECT\x20COUNT(*)\x20as\x20total\x20FROM\x20\x27\x20+\x20this.getTableSource(\x27read\x27)\x20+\x20\x27\x20a\x27;\x0a\x20\x20\x20\x20const\x20countTotalResult\x20=\x20await\x20db.executeQuery(countTotalQuery);\x0a\x20\x20\x20\x20const\x20totalRecords\x20=\x20countTotalResult\x20&&\x20countTotalResult[0]\x20?\x20parseInt(countTotalResult[0].total)\x20:\x200;\x0a\x0a\x20\x20\x20\x20//\x20Count\x20filtered\x20records\x0a\x20\x20\x20\x20let\x20filteredRecords\x20=\x20totalRecords;\x0a\x20\x20\x20\x20if\x20(whereClauseSql)\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20countFilteredQuery\x20=\x20needsSubquery\x20?\x0a\x20\x20\x20\x20\x20\x20\x20\x20`SELECT\x20COUNT(*)\x20as\x20total\x20FROM\x20(${baseQuery})\x20as\x20base_query\x20${whereClauseSql}`\x20:\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x27SELECT\x20COUNT(*)\x20as\x20total\x20FROM\x20\x27\x20+\x20this.getTableSource(\x27read\x27)\x20+\x20\x27\x20a\x20\x27\x20+\x20whereClauseSql;\x0a\x20\x20\x20\x20\x20\x20const\x20countFilteredResult\x20=\x20await\x20db.executeQuery(countFilteredQuery,\x20whereParams.length\x20>\x200\x20?\x20whereParams\x20:\x20undefined);\x0a\x20\x20\x20\x20\x20\x20filteredRecords\x20=\x20countFilteredResult\x20&&\x20countFilteredResult[0]\x20?\x20parseInt(countFilteredResult[0].total)\x20:\x200;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20MySQL\x20pagination\x20using\x20LIMIT/OFFSET\x0a\x20\x20\x20\x20const\x20query\x20=\x20needsSubquery\x20?\x0a\x20\x20\x20\x20\x20\x20`SELECT\x20*\x20FROM\x20(${baseQuery})\x20as\x20base_query\x20${whereClauseSql\x20||\x20\x27\x27}\x20${orderClause}\x20LIMIT\x20${perPage}\x20OFFSET\x20${start}`\x20:\x0a\x20\x20\x20\x20\x20\x20`${baseQuery}\x20${whereClauseSql\x20||\x20\x27\x27}\x20${orderClause}\x20LIMIT\x20${perPage}\x20OFFSET\x20${start}`;\x0a\x0a\x20\x20\x20\x20console.log(\x27Final\x20Query:\x27,\x20query);\x0a\x20\x20\x20\x20console.log(\x27Query\x20Parameters:\x27,\x20whereParams.length\x20>\x200\x20?\x20whereParams\x20:\x20[]);\x0a\x20\x20\x20\x20const\x20rawData\x20=\x20await\x20db.executeQuery(query,\x20whereParams.length\x20>\x200\x20?\x20whereParams\x20:\x20undefined);\x0a\x0a\x20\x20\x20\x20//\x20Format\x20data:\x20MySQL\x20returns\x20lowercase\x20keys\x20natively\x0a\x20\x20\x20\x20const\x20data\x20=\x20rawData\x20?\x20rawData.map((row,\x20index)\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20formatted\x20=\x20this.formatResponseData(row);\x0a\x20\x20\x20\x20\x20\x20return\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20...formatted,\x0a\x20\x20\x20\x20\x20\x20\x20\x20rownumerator:\x20start\x20+\x20index\x20+\x201\x0a\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20})\x20:\x20[];\x0a\x0a\x20\x20\x20\x20const\x20result\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20draw:\x20parseInt(options.draw\x20||\x20\x271\x27,\x2010),\x0a\x20\x20\x20\x20\x20\x20recordsTotal:\x20totalRecords,\x0a\x20\x20\x20\x20\x20\x20recordsFiltered:\x20filteredRecords,\x0a\x20\x20\x20\x20\x20\x20data:\x20data\x0a\x20\x20\x20\x20};\x0a\x0a\x20\x20\x20\x20//\x20Cache\x20result\x0a\x20\x20\x20\x20await\x20this.setCachedDatatables(options,\x20result);\x0a\x0a\x20\x20\x20\x20return\x20result;\x0a\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20console.error(\x27Error\x20in\x20getDatatables:\x27,\x20error);\x0a\x20\x20\x20\x20throw\x20error;\x0a\x20\x20}\x0a}\x0a\x0a/**\x0a\x20*\x20Build\x20WHERE\x20clause\x20untuk\x20search\x20(parameterized\x20query)\x0a\x20*\x20@returns\x20{Object}\x20{\x20sql:\x20string,\x20params:\x20array\x20}\x0a\x20*/\x0abuildWhereClause(searchValue,\x20searchBy)\x20{\x0a\x20\x20if\x20(!searchValue\x20||\x20searchValue\x20===\x20\x27\x27)\x20{\x0a\x20\x20\x20\x20return\x20{\x20sql:\x20\x27\x27,\x20params:\x20[]\x20};\x0a\x20\x20}\x0a\x0a\x20\x20const\x20params\x20=\x20[];\x0a\x20\x20const\x20searchPattern\x20=\x20`%${searchValue}%`;\x0a\x0a\x20\x20if\x20(searchBy\x20===\x20\x27all\x27)\x20{\x0a\x20\x20\x20\x20const\x20searchableFields\x20=\x20this.datatablesWhere.filter(field\x20=>\x20field\x20!==\x20\x27all\x27);\x0a\x20\x20\x20\x20if\x20(searchableFields.length\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20conditions\x20=\x20searchableFields.map(field\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20params.push(searchPattern);\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20`${field}\x20LIKE\x20?`;\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20return\x20{\x20sql:\x20`WHERE\x20(${conditions.join(\x27\x20OR\x20\x27)})`,\x20params\x20};\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x20else\x20if\x20(this.validFields.includes(searchBy))\x20{\x0a\x20\x20\x20\x20params.push(searchPattern);\x0a\x20\x20\x20\x20return\x20{\x20sql:\x20`WHERE\x20${searchBy}\x20LIKE\x20?`,\x20params\x20};\x0a\x20\x20}\x0a\x0a\x20\x20return\x20{\x20sql:\x20\x27\x27,\x20params:\x20[]\x20};\x0a}\x0a\x0a/**\x0a\x20*\x20Build\x20filter\x20clause\x20dari\x20object\x20filters\x0a\x20*\x20@param\x20{Object}\x20filters\x20-\x20Filter\x20object\x20{column:\x20value}\x0a\x20*\x20@returns\x20{string}\x20Filter\x20conditions\x20SQL\x20(tanpa\x20WHERE\x20prefix)\x0a\x20*/\x0abuildObjectFilterClause(filters)\x20{\x0a\x20\x20if\x20(!filters\x20||\x20typeof\x20filters\x20!==\x20\x27object\x27\x20||\x20Object.keys(filters).length\x20===\x200)\x20{\x0a\x20\x20\x20\x20return\x20\x27\x27;\x0a\x20\x20}\x0a\x0a\x20\x20const\x20conditions\x20=\x20[];\x0a\x20\x20for\x20(const\x20[column,\x20value]\x20of\x20Object.entries(filters))\x20{\x0a\x20\x20\x20\x20if\x20(!this.validFields.includes(column))\x20continue;\x0a\x20\x20\x20\x20if\x20(value\x20===\x20null\x20||\x20value\x20===\x20undefined\x20||\x20value\x20===\x20\x27\x27\x20||\x20value\x20===\x20\x27all\x27\x20||\x20value\x20===\x20\x27-\x27)\x20continue;\x0a\x0a\x20\x20\x20\x20const\x20escapedValue\x20=\x20value.toString().replace(/\x27/g,\x20\x22\x27\x27\x22);\x0a\x20\x20\x20\x20conditions.push(`${column}\x20=\x20\x27${escapedValue}\x27`);\x0a\x20\x20}\x0a\x0a\x20\x20return\x20conditions.length\x20>\x200\x20?\x20conditions.join(\x27\x20AND\x20\x27)\x20:\x20\x27\x27;\x0a}\x0a\x0a/**\x0a\x20*\x20Get\x20list\x20data\x20dengan\x20pagination\x20untuk\x20MySQL\x0a\x20*/\x0aasync\x20getList(options)\x20{\x0a\x20\x20try\x20{\x0a\x20\x20\x20\x20//\x20Check\x20cache\x20first\x0a\x20\x20\x20\x20const\x20cachedResult\x20=\x20await\x20this.getCachedList(options);\x0a\x20\x20\x20\x20if\x20(cachedResult)\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20{\x20page:\x20p\x20=\x20null,\x20perPage:\x20pp\x20=\x2010,\x20searchValue:\x20sv\x20=\x20\x27\x27,\x20sort_columns:\x20sc\x20=\x20[],\x20where:\x20w\x20=\x20null\x20}\x20=\x20options;\x0a\x20\x20\x20\x20\x20\x20const\x20scInfo\x20=\x20sc\x20&&\x20sc.length\x20>\x200\x20?\x20sc.map(s\x20=>\x20`${s.column}:${s.direction}`).join(\x27,\x27)\x20:\x20\x27default\x27;\x0a\x20\x20\x20\x20\x20\x20console.log(`[Cache]\x20HIT\x20for\x20list\x20-\x20page:${p},\x20perPage:${pp},\x20sort:${scInfo},\x20search:${sv\x20||\x20\x27none\x27}${w\x20?\x20\x27,\x20where:yes\x27\x20:\x20\x27\x27}`);\x0a\x20\x20\x20\x20\x20\x20return\x20cachedResult;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20const\x20{\x0a\x20\x20\x20\x20\x20\x20page\x20=\x20null,\x0a\x20\x20\x20\x20\x20\x20perPage\x20=\x2010,\x0a\x20\x20\x20\x20\x20\x20searchValue\x20=\x20\x27\x27,\x0a\x20\x20\x20\x20\x20\x20searchBy\x20=\x20\x27all\x27,\x0a\x20\x20\x20\x20\x20\x20sort_columns\x20=\x20[],\x0a\x20\x20\x20\x20\x20\x20where\x20=\x20null,\x0a\x20\x20\x20\x20\x20\x20select\x20=\x20null,\x0a\x20\x20\x20\x20\x20\x20limit\x20=\x201000\x0a\x20\x20\x20\x20}\x20=\x20options;\x0a\x0a\x20\x20\x20\x20const\x20paginate\x20=\x20page\x20!==\x20null;\x0a\x20\x20\x20\x20const\x20scInfo\x20=\x20sort_columns\x20&&\x20sort_columns.length\x20>\x200\x20?\x20sort_columns.map(s\x20=>\x20`${s.column}:${s.direction}`).join(\x27,\x27)\x20:\x20\x27default\x27;\x0a\x20\x20\x20\x20const\x20cacheInfo\x20=\x20`page:${page},\x20perPage:${perPage},\x20sort:${scInfo},\x20search:${searchValue\x20||\x20\x27none\x27}${where\x20?\x20\x27,\x20where:yes\x27\x20:\x20\x27\x27}`;\x0a\x0a\x20\x20\x20\x20console.log(`[Cache]\x20MISS\x20for\x20list\x20-\x20${cacheInfo}`);\x0a\x0a\x20\x20\x20\x20//\x201.\x20Mendapatkan\x20query\x20dasar\x0a\x20\x20\x20\x20let\x20baseQuery;\x0a\x20\x20\x20\x20if\x20(select\x20&&\x20Array.isArray(select)\x20&&\x20select.length\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20selectedValidColumns\x20=\x20select.filter(col\x20=>\x20this.validFields.includes(col));\x0a\x20\x20\x20\x20\x20\x20if\x20(selectedValidColumns.length\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20baseQuery\x20=\x20\x27SELECT\x20\x27\x20+\x20selectedValidColumns.map(col\x20=>\x20\x27`\x27\x20+\x20col\x20+\x20\x27`\x27).join(\x27,\x20\x27)\x20+\x20\x27\x20FROM\x20\x27\x20+\x20this.getTableSource(\x27read\x27)\x20+\x20\x27\x20a\x27;\x0a\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20baseQuery\x20=\x20\x27SELECT\x20*\x20FROM\x20\x27\x20+\x20this.getTableSource(\x27read\x27)\x20+\x20\x27\x20a\x27;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20baseQuery\x20=\x20this.getReadQuery(options);\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Deteksi\x20apakah\x20query\x20mengandung\x20JOIN\x20atau\x20CTE\x20(perlu\x20subquery\x20wrapping)\x0a\x20\x20\x20\x20const\x20isCteQuery\x20=\x20baseQuery.toLowerCase().trim().startsWith(\x27with\x27);\x0a\x20\x20\x20\x20const\x20hasJoin\x20=\x20/\x5cb(inner|left|right|cross|full)\x5cs+join\x5cb/i.test(baseQuery)\x20||\x20/\x5cbjoin\x5cb/i.test(baseQuery);\x0a\x20\x20\x20\x20const\x20needsSubquery\x20=\x20isCteQuery\x20||\x20hasJoin;\x0a\x0a\x20\x20\x20\x20const\x20searchResult\x20=\x20this.buildWhereClause(searchValue,\x20searchBy);\x0a\x20\x20\x20\x20let\x20whereClauseSql\x20=\x20searchResult.sql;\x0a\x20\x20\x20\x20let\x20whereParams\x20=\x20[...searchResult.params];\x0a\x20\x20\x20\x20const\x20orderClause\x20=\x20this.buildSortColumnsClause(sort_columns);\x0a'+(_0xdddb5d?'\x0a\x20\x20\x20\x20//\x20Default\x20scope\x20filter\x20untuk\x20read\x0a\x20\x20\x20\x20if\x20(whereClauseSql)\x20{\x0a\x20\x20\x20\x20\x20\x20whereClauseSql\x20=\x20`WHERE\x20'+_0xdddb5d+_0x31bc76(0x1f9)+_0xdddb5d+'\x27;\x0a\x20\x20\x20\x20}\x0a':'')+'\x0a\x20\x20\x20\x20//\x20Support\x20WHERE\x20conditions\x20dari\x20request\x20body\x0a\x20\x20\x20\x20if\x20(where)\x20{\x0a\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20complexResult\x20=\x20this.buildComplexWhereClause(where,\x20whereParams);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(whereClauseSql)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20whereClauseSql\x20=\x20`${whereClauseSql}\x20AND\x20${complexResult.sql}`;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20whereClauseSql\x20=\x20`WHERE\x20${complexResult.sql}`;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20whereParams\x20=\x20complexResult.params;\x0a\x20\x20\x20\x20\x20\x20}\x20catch\x20(e)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20error\x20=\x20new\x20Error(\x27Invalid\x20where\x20conditions:\x20\x27\x20+\x20e.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20error.statusCode\x20=\x20400;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20throw\x20error;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Count\x20total\x20unfiltered\x20records\x0a\x20\x20\x20\x20const\x20countTotalQuery\x20=\x20needsSubquery\x0a\x20\x20\x20\x20\x20\x20?\x20\x27SELECT\x20COUNT(*)\x20as\x20total\x20FROM\x20(\x27\x20+\x20baseQuery\x20+\x20\x27)\x20as\x20base_query\x27\x0a\x20\x20\x20\x20\x20\x20:\x20\x27SELECT\x20COUNT(*)\x20as\x20total\x20FROM\x20\x27\x20+\x20this.getTableSource(\x27read\x27)\x20+\x20\x27\x20a\x27;\x0a\x20\x20\x20\x20const\x20countTotalResult\x20=\x20await\x20db.executeQuery(countTotalQuery);\x0a\x20\x20\x20\x20const\x20totalUnfiltered\x20=\x20countTotalResult\x20&&\x20countTotalResult[0]\x20?\x20parseInt(countTotalResult[0].total)\x20:\x200;\x0a\x0a\x20\x20\x20\x20//\x20Count\x20filtered\x20records\x0a\x20\x20\x20\x20let\x20totalRecords\x20=\x20totalUnfiltered;\x0a\x20\x20\x20\x20if\x20(whereClauseSql)\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20countQuery\x20=\x20needsSubquery\x0a\x20\x20\x20\x20\x20\x20\x20\x20?\x20\x27SELECT\x20COUNT(*)\x20as\x20total\x20FROM\x20(\x27\x20+\x20baseQuery\x20+\x20\x27)\x20as\x20base_query\x20\x27\x20+\x20(whereClauseSql\x20||\x20\x27\x27)\x0a\x20\x20\x20\x20\x20\x20\x20\x20:\x20\x27SELECT\x20COUNT(*)\x20as\x20total\x20FROM\x20\x27\x20+\x20this.getTableSource(\x27read\x27)\x20+\x20\x27\x20a\x20\x27\x20+\x20(whereClauseSql\x20||\x20\x27\x27);\x0a\x20\x20\x20\x20\x20\x20const\x20countResult\x20=\x20await\x20db.executeQuery(countQuery,\x20whereParams.length\x20>\x200\x20?\x20whereParams\x20:\x20undefined);\x0a\x20\x20\x20\x20\x20\x20totalRecords\x20=\x20countResult\x20&&\x20countResult[0]\x20?\x20parseInt(countResult[0].total)\x20:\x200;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Build\x20query\x20berdasarkan\x20mode\x20paginasi\x20(subquery\x20wrapping\x20untuk\x20JOIN/CTE)\x0a\x20\x20\x20\x20let\x20query;\x0a\x20\x20\x20\x20if\x20(paginate)\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20offset\x20=\x20(page\x20-\x201)\x20*\x20perPage;\x0a\x20\x20\x20\x20\x20\x20query\x20=\x20needsSubquery\x0a\x20\x20\x20\x20\x20\x20\x20\x20?\x20\x27SELECT\x20*\x20FROM\x20(\x27\x20+\x20baseQuery\x20+\x20\x27)\x20as\x20base_query\x20\x27\x20+\x20(whereClauseSql\x20||\x20\x27\x27)\x20+\x20orderClause\x20+\x20\x27\x20LIMIT\x20\x27\x20+\x20perPage\x20+\x20\x27\x20OFFSET\x20\x27\x20+\x20offset\x0a\x20\x20\x20\x20\x20\x20\x20\x20:\x20baseQuery\x20+\x20\x27\x20\x27\x20+\x20(whereClauseSql\x20||\x20\x27\x27)\x20+\x20orderClause\x20+\x20`\x20LIMIT\x20${perPage}\x20OFFSET\x20${offset}`;\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20query\x20=\x20needsSubquery\x0a\x20\x20\x20\x20\x20\x20\x20\x20?\x20\x27SELECT\x20*\x20FROM\x20(\x27\x20+\x20baseQuery\x20+\x20\x27)\x20as\x20base_query\x20\x27\x20+\x20(whereClauseSql\x20||\x20\x27\x27)\x20+\x20orderClause\x20+\x20\x27\x20LIMIT\x20\x27\x20+\x20limit\x0a\x20\x20\x20\x20\x20\x20\x20\x20:\x20baseQuery\x20+\x20\x27\x20\x27\x20+\x20(whereClauseSql\x20||\x20\x27\x27)\x20+\x20orderClause\x20+\x20`\x20LIMIT\x20${limit}`;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20console.log(\x27List\x20SQL\x20Query:\x27,\x20query);\x0a\x20\x20\x20\x20console.log(\x27List\x20Query\x20Parameters:\x27,\x20whereParams);\x0a\x20\x20\x20\x20const\x20rawData\x20=\x20await\x20db.executeQuery(query,\x20whereParams.length\x20>\x200\x20?\x20whereParams\x20:\x20undefined);\x0a\x0a\x20\x20\x20\x20const\x20data\x20=\x20rawData\x20?\x20rawData.map((row)\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20this.formatResponseData(row);\x0a\x20\x20\x20\x20})\x20:\x20[];\x0a\x0a\x20\x20\x20\x20const\x20result\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20success:\x20true,\x0a\x20\x20\x20\x20\x20\x20data:\x20data\x0a\x20\x20\x20\x20};\x0a\x0a\x20\x20\x20\x20if\x20(paginate)\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20totalPages\x20=\x20Math.ceil(totalRecords\x20/\x20perPage);\x0a\x20\x20\x20\x20\x20\x20result.pagination\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20current_page:\x20page,\x0a\x20\x20\x20\x20\x20\x20\x20\x20per_page:\x20perPage,\x0a\x20\x20\x20\x20\x20\x20\x20\x20total_records:\x20totalRecords,\x0a\x20\x20\x20\x20\x20\x20\x20\x20total_pages:\x20totalPages,\x0a\x20\x20\x20\x20\x20\x20\x20\x20has_next:\x20page\x20<\x20totalPages,\x0a\x20\x20\x20\x20\x20\x20\x20\x20has_previous:\x20page\x20>\x201\x0a\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Cache\x20result\x0a\x20\x20\x20\x20await\x20this.setCachedList(options,\x20result);\x0a\x20\x20\x20\x20console.log(`[Cache]\x20SET\x20for\x20list\x20-\x20${cacheInfo}`);\x0a\x0a\x20\x20\x20\x20return\x20result;\x0a\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20console.error(\x27Error\x20in\x20getList:\x27,\x20error);\x0a\x20\x20\x20\x20throw\x20error;\x0a\x20\x20}\x0a}\x0a\x0a/**\x0a\x20*\x20Override\x20getLookupData\x20untuk\x20MySQL\x20(dynamic\x20search)\x0a\x20*/\x0aasync\x20getLookupData(search)\x20{\x0a\x20\x20try\x20{\x0a\x20\x20\x20\x20const\x20query\x20=\x20`SELECT\x20'+_0xf199b3+',\x20'+_0x48662b+'\x20FROM\x20${this.getTableSource(\x27read\x27)}\x20WHERE\x20'+_0x48662b+'\x20LIKE\x20?'+(_0x5c300c?_0x31bc76(0x137)+_0x5c300c:'')+_0x31bc76(0x1b6)+_0x48662b+_0x31bc76(0x18d)+_0xf199b3+_0x31bc76(0x1fa)+_0x48662b+'\x0a\x20\x20\x20\x20}));\x0a\x0a\x20\x20\x20\x20return\x20result;\x0a\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20console.error(\x27Error\x20in\x20MySQL\x20getLookupData:\x27,\x20error);\x0a\x20\x20\x20\x20throw\x20error;\x0a\x20\x20}\x0a}\x0a\x0a/**\x0a\x20*\x20Dynamic\x20lookup\x20dengan\x20extra\x20filters\x20untuk\x20MySQL\x0a\x20*/\x0aasync\x20getLookupDataDynamic(search,\x20extraFilters\x20=\x20{})\x20{\x0a\x20\x20try\x20{\x0a\x20\x20\x20\x20let\x20params\x20=\x20[];\x0a\x20\x20\x20\x20let\x20whereConditions\x20=\x20[];\x0a'+(_0x5c300c?_0x31bc76(0x11a)+_0x5c300c+'\x27);\x0a':'')+_0x31bc76(0x209)+_0x48662b+'\x20LIKE\x20?`);\x0a\x20\x20\x20\x20\x20\x20params.push(`%${search}%`);\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Add\x20extra\x20filters\x0a\x20\x20\x20\x20if\x20(extraFilters\x20&&\x20Object.keys(extraFilters).length\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20for\x20(const\x20[key,\x20value]\x20of\x20Object.entries(extraFilters))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(this.validFields.includes(key)\x20&&\x20value\x20!==\x20null\x20&&\x20value\x20!==\x20undefined)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20whereConditions.push(`${key}\x20=\x20?`);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20params.push(value);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20const\x20whereClause\x20=\x20whereConditions.length\x20>\x200\x20?\x20\x27WHERE\x20\x27\x20+\x20whereConditions.join(\x27\x20AND\x20\x27)\x20:\x20\x27\x27;\x0a\x0a\x20\x20\x20\x20const\x20query\x20=\x20`SELECT\x20'+_0xf199b3+',\x20'+_0x48662b+'\x20FROM\x20${this.getTableSource(\x27read\x27)}\x20${whereClause}\x20ORDER\x20BY\x20'+_0x48662b+'\x20LIMIT\x20100`;\x0a\x20\x20\x20\x20const\x20data\x20=\x20await\x20db.executeQuery(query,\x20params.length\x20>\x200\x20?\x20params\x20:\x20undefined);\x0a\x0a\x20\x20\x20\x20return\x20data.map(item\x20=>\x20({\x0a\x20\x20\x20\x20\x20\x20id:\x20item.'+_0xf199b3+',\x0a\x20\x20\x20\x20\x20\x20text:\x20item.'+_0x48662b+_0x31bc76(0x122)+_0xf199b3+',\x20'+_0x48662b+'\x20FROM\x20${this.getTableSource(\x27read\x27)}'+(_0x5c300c?'\x20WHERE\x20'+_0x5c300c:'')+'\x20ORDER\x20BY\x20'+_0x48662b+_0x31bc76(0x161)+_0xf199b3+',\x0a\x20\x20\x20\x20\x20\x20text:\x20item.'+_0x48662b+'\x0a\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20await\x20this.setCachedLookup(cacheOptions,\x20cacheData,\x20\x27static\x27);\x0a\x0a\x20\x20\x20\x20//\x20Return\x20dengan\x20selected\x20flag\x0a\x20\x20\x20\x20return\x20data.map(item\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20row\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20id:\x20item.'+_0xf199b3+',\x0a\x20\x20\x20\x20\x20\x20\x20\x20text:\x20item.'+_0x48662b+_0x31bc76(0x1e9)+_0xf199b3+_0x31bc76(0x1a4)+_0xf199b3+_0x31bc76(0x226)+_0x48662b+_0x31bc76(0x216)+_0xf199b3+_0x31bc76(0x181)+_0x48662b+'\x27;\x0a\x20\x20\x20\x20let\x20aliasField\x20=\x20null;\x0a\x0a\x20\x20\x20\x20//\x20Proses\x20setiap\x20column\x20dalam\x20select\x0a\x20\x20\x20\x20for\x20(const\x20column\x20of\x20selectColumns)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(column.toLowerCase()\x20===\x20\x27'+_0xf199b3+_0x31bc76(0x110)+(_0x5c300c?_0x31bc76(0x227)+_0x5c300c+'\x20':'')+'`;\x0a\x0a\x20\x20\x20\x20//\x20Build\x20WHERE\x20clause\x20jika\x20ada\x0a\x20\x20\x20\x20if\x20((options.where\x20&&\x20Array.isArray(options.where)\x20&&\x20options.where.length\x20>\x200)\x20||\x0a\x20\x20\x20\x20\x20\x20\x20\x20(options.where\x20&&\x20options.where.conditions\x20&&\x20Array.isArray(options.where.conditions)\x20&&\x20options.where.conditions.length\x20>\x200))\x20{\x0a\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20whereResult\x20=\x20this.buildComplexWhereClause(options.where,\x20params);\x0a\x20\x20\x20\x20\x20\x20\x20\x20query\x20+=\x20`'+(_0x5c300c?_0x3eacaa[_0x31bc76(0x146)]:_0x31bc76(0x227))+'${whereResult.sql}'+(_0x5c300c?')':'')+'\x20`;\x0a\x20\x20\x20\x20\x20\x20\x20\x20params\x20=\x20whereResult.params;\x0a\x20\x20\x20\x20\x20\x20}\x20catch\x20(e)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20error\x20=\x20new\x20Error(\x27Invalid\x20where\x20conditions:\x20\x27\x20+\x20e.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20error.statusCode\x20=\x20400;\x0a\x20\x20\x20\x20\x20\x20\x20\x20throw\x20error;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Handle\x20sort_columns\x0a\x20\x20\x20\x20if\x20(options.sort_columns\x20&&\x20Array.isArray(options.sort_columns)\x20&&\x20options.sort_columns.length\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20orderParts\x20=\x20options.sort_columns.map(item\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20column\x20=\x20item.column;\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20direction\x20=\x20(item.direction\x20||\x20\x27ASC\x27).toUpperCase();\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!column)\x20return\x20null;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!this.validFields.includes(column))\x20return\x20null;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(direction\x20!==\x20\x27ASC\x27\x20&&\x20direction\x20!==\x20\x27DESC\x27)\x20return\x20null;\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20`${column}\x20${direction}`;\x0a\x20\x20\x20\x20\x20\x20}).filter(Boolean);\x0a\x0a\x20\x20\x20\x20\x20\x20if\x20(orderParts.length\x20===\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20error\x20=\x20new\x20Error(\x27No\x20valid\x20sort\x20columns\x20provided\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20error.statusCode\x20=\x20400;\x0a\x20\x20\x20\x20\x20\x20\x20\x20throw\x20error;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20query\x20+=\x20`ORDER\x20BY\x20${orderParts.join(\x27,\x20\x27)}`;\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20query\x20+=\x20`ORDER\x20BY\x20${aliasField\x20||\x20textField}`;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20console.log(\x27MySQL\x20Lookup\x20Filter\x20Query:\x27,\x20query);\x0a\x20\x20\x20\x20console.log(\x27Parameters:\x27,\x20params);\x0a\x0a\x20\x20\x20\x20const\x20data\x20=\x20await\x20db.executeQuery(query,\x20params.length\x20>\x200\x20?\x20params\x20:\x20undefined);\x0a\x0a\x20\x20\x20\x20const\x20result\x20=\x20data.map(item\x20=>\x20({\x0a\x20\x20\x20\x20\x20\x20id:\x20item.'+_0xf199b3+_0x31bc76(0x207)+_0x48662b+_0x31bc76(0x1ed)+((()=>{const _0x158fee=_0x31bc76,_0x22bd42=_0x119fa3['masterDetail']&&_0x119fa3[_0x158fee(0x1c5)][_0x158fee(0x223)],_0x3152de=_0x119fa3[_0x158fee(0xf6)]||{};if(!_0x22bd42||!_0x3152de[_0x158fee(0x1dd)]&&!_0x3152de['updateComposite']&&!_0x3152de[_0x158fee(0x193)])return'';const _0x39f029=_0x119fa3[_0x158fee(0x1c5)]['detailTable'],_0x5c4c62=_0x39f029['split']('.')[_0x158fee(0x12f)](),_0x184683=_0x119fa3['masterDetail']['foreignKey'],_0x5b29e7=_0x119fa3['masterDetail'][_0x158fee(0x1e3)]?.['primaryKey']||_0x5c4c62+_0x158fee(0x20a),_0x3ea655=_0x119fa3['masterDetail']['headerCalculations']||null,_0x30f9cf=_0x119fa3[_0x158fee(0x1c5)][_0x158fee(0x1e3)]?.['autoCalculateFields']||{},_0x219b56=_0x119fa3['masterDetail']['detailConfig']?.[_0x158fee(0x16b)]||null,_0x2e90de=[],_0xb10ab8=[];for(const [_0x424fb1,_0x4a372b]of Object[_0x158fee(0x1d4)](_0x30f9cf)){if(_0x4a372b[_0x158fee(0x125)]===_0x158fee(0x19b))_0x2e90de[_0x158fee(0xf1)](_0x424fb1);else{const _0xaf8fc0=(_0x4a372b[_0x158fee(0x1bd)]||'')[_0x158fee(0x1c9)]('*')['map'](_0x46bc9d=>_0x46bc9d['trim']());_0xb10ab8[_0x158fee(0xf1)]({'fieldName':_0x424fb1,'qtyField':_0xaf8fc0[0x0],'priceField':_0xaf8fc0[0x1]});}}const _0x4fb0db=_0x30f9cf[_0x158fee(0x17d)]?.[_0x158fee(0x1bd)]||'',_0x205027=_0x4fb0db[_0x158fee(0x1c9)]('*')['map'](_0x595c41=>_0x595c41[_0x158fee(0x1b0)]()),_0x562450=_0x3ea655?.[_0x158fee(0x172)]?.[_0x158fee(0x167)]?.[_0x158fee(0x1d7)](_0x158fee(0x18e),'')||'',_0x2ab12d=_0x205027[0x0]||_0x562450,_0x2a6c07=_0x205027[0x1]||'unit_price',_0x287a49=_0xb10ab8[_0x158fee(0x208)](_0x4f70de=>{const _0x5f0d35=_0x158fee;return _0x5f0d35(0x1b1)+_0x4f70de['fieldName']+'\x20=\x20'+_0x4f70de[_0x5f0d35(0x1b4)]+_0x5f0d35(0x214)+_0x4f70de[_0x5f0d35(0x151)]+'\x0a\x20\x20\x20\x20\x20\x20item.'+_0x4f70de[_0x5f0d35(0xe8)]+_0x5f0d35(0x202)+_0x4f70de[_0x5f0d35(0x1b4)]+')\x20||\x200)\x20*\x20(Number(item.'+_0x4f70de['priceField']+_0x5f0d35(0x21d);})[_0x158fee(0x228)]('\x0a');let _0x31dcd8='';_0x3152de[_0x158fee(0x1dd)]&&(_0x31dcd8+=_0x158fee(0x18c)+_0x5c4c62+_0x158fee(0x1da)+_0x119fa3[_0x158fee(0x1f3)]+'\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20detailTable:\x20\x27'+_0x39f029+_0x158fee(0x150)+_0x184683+_0x158fee(0x14e)+_0x39f029+_0x158fee(0x180)+_0x184683+_0x158fee(0x135)+_0x5b29e7+_0x158fee(0x1bc)+(_0x3eacaa['ZKPqm'](_0x2e90de['length'],0x0)?_0x158fee(0xe4)+JSON['stringify'](_0x2e90de)+';':'')+_0x158fee(0x21a)+(_0x287a49?_0x3eacaa[_0x158fee(0x1d1)](_0x3eacaa[_0x158fee(0x156)]('\x0a',_0x287a49),'\x0a'):'')+'\x0a\x20\x20\x20\x20\x20\x20const\x20detailFields\x20=\x20[];\x0a\x20\x20\x20\x20\x20\x20const\x20detailValues\x20=\x20[];\x0a\x20\x20\x20\x20\x20\x20const\x20detailPlaceholders\x20=\x20[];\x0a\x0a\x20\x20\x20\x20\x20\x20for\x20(const\x20[key,\x20value]\x20of\x20Object.entries(item))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x2e90de['length']>0x0?'if\x20(generatedFields.includes(key))\x20continue;':'')+_0x158fee(0x1cd)+_0x119fa3[_0x158fee(0x1f3)]+_0x158fee(0xfc)+_0x39f029+'\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20foreignKey:\x20\x27'+_0x184683+_0x158fee(0x17b));_0x3152de['updateComposite']&&(_0x31dcd8+=_0x158fee(0x1c4)+_0x5c4c62+'\x27;\x0a\x20\x20\x20\x20delete\x20headerData[detailKey];\x0a\x20\x20\x20\x20delete\x20headerData[this.primaryKey];\x0a\x0a\x20\x20\x20\x20//\x20---\x20Hook:\x20onBeforeCompositeUpdate\x20---\x0a\x20\x20\x20\x20if\x20(eventContext\x20&&\x20eventContext.componentEngine)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20_ce\x20=\x20eventContext.componentEngine;\x0a\x20\x20\x20\x20\x20\x20var\x20_CB\x20=\x20eventContext.ContextBuilder;\x0a\x20\x20\x20\x20\x20\x20var\x20_detailOps\x20=\x20data[detailKey]\x20||\x20{};\x0a\x20\x20\x20\x20\x20\x20var\x20_beforeCtx\x20=\x20_CB.buildCompositeUpdateBeforeContext(headerData,\x20oldData,\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20insert:\x20_detailOps.insert\x20||\x20[],\x0a\x20\x20\x20\x20\x20\x20\x20\x20update:\x20_detailOps.update\x20||\x20[],\x0a\x20\x20\x20\x20\x20\x20\x20\x20delete:\x20_detailOps.delete\x20||\x20[]\x0a\x20\x20\x20\x20\x20\x20},\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20tableName:\x20\x27'+_0x119fa3['tableName']+'\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20detailTable:\x20\x27'+_0x39f029+_0x158fee(0x150)+_0x184683+_0x158fee(0x1ff)+_0x39f029+_0x158fee(0x180)+_0x184683+'\x27;\x0a\x20\x20\x20\x20const\x20detailPk\x20=\x20\x27'+_0x5b29e7+'\x27;\x0a\x20\x20\x20\x20'+(_0x3eacaa['ZKPqm'](_0x2e90de[_0x158fee(0x13c)],0x0)?_0x158fee(0xe4)+JSON['stringify'](_0x2e90de)+';':'')+_0x158fee(0x157)+(_0x287a49?_0x3eacaa[_0x158fee(0x10b)]('\x0a'+_0x287a49,'\x0a'):'')+_0x158fee(0x143)+(_0x3eacaa['iQJEr'](_0x2e90de[_0x158fee(0x13c)],0x0)?'if\x20(generatedFields.includes(key))\x20continue;':'')+_0x158fee(0x1ea)+(_0x287a49?_0x3eacaa['lRShn'](_0x3eacaa[_0x158fee(0x213)]('\x0a',_0x287a49),'\x0a'):'')+_0x158fee(0x1d8)+(_0x3eacaa[_0x158fee(0xf0)](_0x2e90de[_0x158fee(0x13c)],0x0)?_0x158fee(0x1d0):'')+_0x158fee(0x152)+(_0x3ea655?'\x0a\x20\x20\x20\x20//\x20Recalculate\x20header\x20totals\x0a\x20\x20\x20\x20const\x20calculations\x20=\x20'+JSON['stringify'](_0x3ea655)+_0x158fee(0x119)+(_0x2ab12d?'if\x20(calculations.total_amount)\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20totalAmount\x20=\x20allItems.reduce(function(sum,\x20item)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20qty\x20=\x20Number(item.'+_0x2ab12d+')\x20||\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20price\x20=\x20Number(item.'+_0x2a6c07+_0x158fee(0x1dc):'//\x20WARNING:\x20headerCalculations.total_amount\x20skipped\x20—\x20no\x20qty\x20field\x20configured')+_0x158fee(0x112):'')+'\x0a\x20\x20\x20\x20//\x20---\x20Hook:\x20onAfterCompositeUpdate\x20---\x0a\x20\x20\x20\x20if\x20(eventContext\x20&&\x20eventContext.componentEngine)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20_ce2\x20=\x20eventContext.componentEngine;\x0a\x20\x20\x20\x20\x20\x20var\x20_CB2\x20=\x20eventContext.ContextBuilder;\x0a\x20\x20\x20\x20\x20\x20var\x20_afterCtx\x20=\x20_CB2.buildCompositeUpdateAfterContext(headerData,\x20oldData,\x20updatedHeader,\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20inserted:\x20insertedItems,\x0a\x20\x20\x20\x20\x20\x20\x20\x20updated:\x20updatedItems,\x0a\x20\x20\x20\x20\x20\x20\x20\x20deleted:\x20deletedItems\x0a\x20\x20\x20\x20\x20\x20},\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20tableName:\x20\x27'+_0x119fa3[_0x158fee(0x1f3)]+_0x158fee(0xfc)+_0x39f029+_0x158fee(0x150)+_0x184683+_0x158fee(0x1ac));if(_0x3152de[_0x158fee(0x193)]){let _0x16060f;_0x219b56?_0x16060f='const\x20detailSql\x20=\x20`'+_0x219b56[_0x158fee(0x1d7)](/\$1/g,'?')+'`;':_0x16060f=_0x158fee(0x1db)+_0x39f029+_0x158fee(0x191)+_0x184683+_0x158fee(0x19c),_0x31dcd8+='\x0a/**\x0a\x20*\x20Composite\x20read\x20-\x20Read\x20header\x20with\x20detail\x20items\x20(MySQL)\x0a\x20*/\x0aasync\x20readComposite(options)\x20{\x0a\x20\x20try\x20{\x0a\x20\x20\x20\x20if\x20(!options.where)\x20{\x0a\x20\x20\x20\x20\x20\x20throw\x20new\x20Error(\x27Invalid\x20request\x20format:\x20where\x20parameter\x20is\x20required\x27);\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20let\x20whereClauseResult;\x0a\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20whereClauseResult\x20=\x20this.buildComplexWhereClause(options.where);\x0a\x20\x20\x20\x20}\x20catch\x20(e)\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20error\x20=\x20new\x20Error(\x27Invalid\x20where\x20conditions:\x20\x27\x20+\x20e.message);\x0a\x20\x20\x20\x20\x20\x20error.statusCode\x20=\x20400;\x0a\x20\x20\x20\x20\x20\x20throw\x20error;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20const\x20{\x20sql:\x20whereClause,\x20params\x20}\x20=\x20whereClauseResult;\x0a\x20\x20\x20\x20const\x20headerSql\x20=\x20\x27SELECT\x20*\x20FROM\x20\x27\x20+\x20this.getTableSource(\x27read\x27)\x20+\x20\x27\x20WHERE\x20\x27\x20+\x20whereClause;\x0a\x20\x20\x20\x20const\x20headerResults\x20=\x20await\x20db.executeQuery(headerSql,\x20params);\x0a\x0a\x20\x20\x20\x20if\x20(!headerResults\x20||\x20headerResults.length\x20===\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20{\x20success:\x20true,\x20count:\x200,\x20data:\x20[]\x20};\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20const\x20compositeResults\x20=\x20[];\x0a\x20\x20\x20\x20const\x20detailKey\x20=\x20\x27'+_0x5c4c62+_0x158fee(0x1bc)+_0x16060f+_0x158fee(0x22d);}return _0x31dcd8;})())+'\x0a}\x0a\x0amodule.exports\x20=\x20new\x20'+_0x49637b+'Model();';}function createMysqlSubmoduleTemplate(_0x1334ad,_0x1c5e49,_0x343c8c){const _0x7cd48f=a0_0x402b,_0x148206={'ALinY':function(_0x188b37,_0x205541){return _0x188b37+_0x205541;},'fHWbW':'Model','CyUTu':'null','scVaW':'update_existing','EVOYA':'let\x20componentEngine\x20=\x20null;\x0alet\x20ContextBuilder\x20=\x20null;\x0a','JtYMC':function(_0x54cbdd,_0x4f08ea){return _0x54cbdd(_0x4f08ea);},'HYjoi':function(_0x523f61,_0x2b6b60,_0x1b34a5){return _0x523f61(_0x2b6b60,_0x1b34a5);},'SyGbI':_0x7cd48f(0x18e),'oNTat':function(_0x3ccedf,_0x5a3d2b){return _0x3ccedf!==_0x5a3d2b;}},_0x43f8c2=_0x148206['ALinY'](toCamelCase(_0x1c5e49),_0x148206['fHWbW']),_0x1a9872=_0x343c8c['primaryKey']||'id',_0x10ab4e=new Date()[_0x7cd48f(0x20f)](),_0x38683a=Object['entries'](_0x343c8c['action']||{})['filter'](([,_0x599b6d])=>_0x599b6d)['map'](([_0x57acc1])=>_0x57acc1),_0x3ffc8f=_0x343c8c['components']&&Array[_0x7cd48f(0x130)](_0x343c8c[_0x7cd48f(0xf2)])&&_0x343c8c[_0x7cd48f(0xf2)][_0x7cd48f(0x13c)]>0x0,_0x27094e=_0x343c8c[_0x7cd48f(0x138)]||'SELECT\x20'+_0x343c8c['fieldName'][_0x7cd48f(0x228)](',\x20')+'\x20FROM\x20'+_0x343c8c[_0x7cd48f(0x1f3)],_0x104e28=_0x27094e[_0x7cd48f(0x1d7)](/\\/g,'\x5c\x5c')[_0x7cd48f(0x1d7)](/'/g,'\x5c\x27'),_0x1121f9=JSON[_0x7cd48f(0x107)](_0x343c8c[_0x7cd48f(0xe8)]),_0x30f367=_0x343c8c[_0x7cd48f(0x1c3)]?JSON[_0x7cd48f(0x107)](_0x343c8c[_0x7cd48f(0x1c3)]):_0x7cd48f(0x170),_0xcdeece=_0x343c8c['fieldLabels']?JSON[_0x7cd48f(0x107)](_0x343c8c['fieldLabels']):_0x148206['CyUTu'],_0x1a76b1=_0x343c8c[_0x7cd48f(0xf6)]&&_0x343c8c['action'][_0x7cd48f(0x113)]?{'enabled':!![],'upsertKeys':(_0x343c8c[_0x7cd48f(0x1ad)]||{})['upsertKeys']||[_0x1a9872],'upsertStrategy':(_0x343c8c['importConfig']||{})['upsertStrategy']||_0x148206['scVaW'],'requiredFields':(_0x343c8c['importConfig']||{})['requiredFields']||[],'validations':(_0x343c8c[_0x7cd48f(0x1ad)]||{})[_0x7cd48f(0x11e)]||{},'lookupFields':(_0x343c8c['importConfig']||{})[_0x7cd48f(0x1f8)]||{},'excludeFromImport':(_0x343c8c['importConfig']||{})['excludeFromImport']||[],'chunkSize':(_0x343c8c[_0x7cd48f(0x1ad)]||{})['chunkSize']||0x64}:null,_0x332e7a=_0x1a76b1?JSON['stringify'](_0x1a76b1):'null',_0x1628d9=_0x343c8c[_0x7cd48f(0xf6)]&&_0x343c8c['action']['export']?'\x27'+_0x104e28+'\x27':_0x148206[_0x7cd48f(0x1d6)],_0x200f75=_0x343c8c[_0x7cd48f(0xf6)]&&_0x343c8c[_0x7cd48f(0xf6)][_0x7cd48f(0x21c)]?_0x343c8c[_0x7cd48f(0x139)]||{}:null,_0x5218d2=_0x200f75?JSON['stringify'](_0x200f75):'null',_0x553b4f=_0x343c8c[_0x7cd48f(0xf8)]?',\x20'+JSON['stringify'](_0x343c8c[_0x7cd48f(0xf8)]):'';let _0x1897aa=_0x148206['EVOYA'];_0x3ffc8f&&(_0x1897aa+=_0x7cd48f(0x126),_0x1897aa+=_0x7cd48f(0x190));const _0x34abf5=_0x343c8c['requestScope']?_0x7cd48f(0x200)+_0x43f8c2+_0x7cd48f(0x13a)+_0x1c5e49+'\x20data\x20not\x20found\x20or\x20access\x20denied\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a':'',_0x20fc4b=_0x343c8c['requestScope']?_0x7cd48f(0x1b2)+_0x1c5e49+_0x7cd48f(0x114):'',_0x46f284=_0x343c8c['requestScope']?'\x0a\x20\x20\x20\x20//\x20Request\x20scope\x20ownership\x20verification\x20(Layer\x201\x20RLS)\x20—\x20master\x20record\x0a\x20\x20\x20\x20if\x20(req._requestScope)\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20scopeCheck\x20=\x20await\x20'+_0x43f8c2+'.getData({\x0a\x20\x20\x20\x20\x20\x20\x20\x20where:\x20[\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{\x20key:\x20\x27'+_0x1a9872+_0x7cd48f(0xfa)+_0x1a9872+'\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{\x20key:\x20req._requestScope.column,\x20value:\x20req._requestScope.value\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20]\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20if\x20(!scopeCheck.success\x20||\x20!scopeCheck.data\x20||\x20scopeCheck.data.length\x20===\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20res.status(404).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Data\x20not\x20found\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Master\x20record\x20not\x20found\x20or\x20access\x20denied\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a':'';let _0x557451=_0x7cd48f(0x17f)+_0x43f8c2+'\x20=\x20require(\x27../../models/'+_0x1334ad+'/'+_0x1c5e49+_0x7cd48f(0x121)+_0x1897aa+_0x7cd48f(0x19d)+_0x148206[_0x7cd48f(0x1e7)](toPascalCase,_0x1c5e49)+_0x7cd48f(0x10c)+_0x10ab4e+_0x7cd48f(0x1a9)+_0x1c5e49+_0x7cd48f(0xe1)+_0x38683a['join'](',\x20')+'\x0a*\x20Table:\x20'+_0x343c8c['tableName']+'\x0a*\x20Database:\x20MySQL\x0a*/\x0a\x0a//\x20Primary\x20key\x20untuk\x20endpoint\x20ini\x0aconst\x20primaryKey\x20=\x20\x27'+_0x1a9872+'\x27;\x0a\x0a//\x20Component\x20configuration\x20untuk\x20export/import\x20(parsed\x20oleh\x20config-extractor\x20—\x20jangan\x20dimodifikasi)\x0aconst\x20componentConfig\x20=\x20{\x0a\x20\x20tableName:\x20\x27'+_0x343c8c[_0x7cd48f(0x1f3)]+'\x27,\x0a\x20\x20fieldName:\x20'+_0x1121f9+',\x0a\x20\x20exportQuery:\x20'+_0x1628d9+',\x0a\x20\x20columnFormats:\x20'+_0x30f367+',\x0a\x20\x20fieldLabels:\x20'+_0xcdeece+',\x0a\x20\x20importConfig:\x20'+_0x332e7a+_0x7cd48f(0x1ec)+_0x5218d2+_0x7cd48f(0x21b)+(_0x343c8c[_0x7cd48f(0x132)]?JSON[_0x7cd48f(0x107)](_0x343c8c['uploadConfig']):'null')+_0x7cd48f(0x1d9)+(_0x343c8c['requestScope']?JSON[_0x7cd48f(0x107)](_0x343c8c['requestScope']):_0x7cd48f(0x170))+'\x0a};\x0a'+(_0x3ffc8f?'\x0a//\x20Initialize\x20component\x20engine\x20dengan\x20event\x20handlers\x20dari\x20payload\x0aconst\x20_componentPayload\x20=\x20{\x20components:\x20'+JSON['stringify'](_0x343c8c['components'])+_0x7cd48f(0x229)+_0x1334ad+'/'+_0x1c5e49+_0x7cd48f(0x1e6)+_0x1334ad+'/'+_0x1c5e49+':`,\x20err.message);\x0a});\x0a':'')+_0x7cd48f(0x1fb)+_0x1a9872+_0x7cd48f(0x11f);_0x557451+=_0x148206[_0x7cd48f(0x1b8)](buildRequestScopeMiddleware,_0x343c8c,_0x1c5e49);_0x343c8c['action']&&_0x343c8c['action'][_0x7cd48f(0x1be)]&&(_0x557451+='//\x20POST\x20/api/'+_0x1334ad+'/'+_0x1c5e49+_0x7cd48f(0xee)+_0x43f8c2+_0x7cd48f(0x1ee)+_0x1c5e49+'\x20datatables:\x27,\x20error);\x0a\x20\x20\x20\x20const\x20statusCode\x20=\x20error.statusCode\x20||\x20500;\x0a\x20\x20\x20\x20return\x20res.status(statusCode).json({\x0a\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20error:\x20statusCode\x20===\x20400\x20?\x20\x27Bad\x20Request\x27\x20:\x20\x27Internal\x20Server\x20Error\x27,\x0a\x20\x20\x20\x20\x20\x20message:\x20statusCode\x20===\x20400\x20?\x20error.message\x20:\x20\x27An\x20error\x20occurred\x20while\x20fetching\x20'+_0x1c5e49+_0x7cd48f(0x179));_0x343c8c[_0x7cd48f(0xf6)]&&_0x343c8c['action'][_0x7cd48f(0xfb)]&&(_0x557451+='//\x20GET\x20/api/'+_0x1334ad+'/'+_0x1c5e49+_0x7cd48f(0x177)+_0x43f8c2+'.validFields.includes(key)\x20&&\x20value)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20extraFilters[key]\x20=\x20value;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20const\x20startTime\x20=\x20Date.now();\x0a\x20\x20\x20\x20const\x20list\x20=\x20Object.keys(extraFilters).length\x20>\x200\x20?\x0a\x20\x20\x20\x20\x20\x20await\x20'+_0x43f8c2+'.getLookupDataDynamic(search,\x20extraFilters)\x20:\x0a\x20\x20\x20\x20\x20\x20await\x20'+_0x43f8c2+'.getLookupData(search);\x0a\x20\x20\x20\x20const\x20lookupTime\x20=\x20Date.now()\x20-\x20startTime;\x0a\x0a\x20\x20\x20\x20console.log(`[MySQL-LKP]\x20${mysqlRequestId}\x20found\x20${list.length}\x20results\x20in\x20${lookupTime}ms`);\x0a\x0a\x20\x20\x20\x20return\x20res.json({\x0a\x20\x20\x20\x20\x20\x20success:\x20true,\x0a\x20\x20\x20\x20\x20\x20count:\x20list.length,\x0a\x20\x20\x20\x20\x20\x20data:\x20list,\x0a\x20\x20\x20\x20\x20\x20search:\x20search,\x0a\x20\x20\x20\x20\x20\x20_mysql:\x20{\x20requestId:\x20mysqlRequestId,\x20queryTime:\x20lookupTime,\x20timestamp:\x20new\x20Date().toISOString()\x20}\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20console.error(`[MySQL-LKP]\x20Error\x20${mysqlRequestId}:`,\x20error);\x0a\x20\x20\x20\x20return\x20res.status(500).json({\x0a\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20error:\x20\x27Internal\x20Server\x20Error\x27,\x0a\x20\x20\x20\x20\x20\x20message:\x20\x27An\x20error\x20occurred\x20while\x20looking\x20up\x20'+_0x1c5e49+_0x7cd48f(0x21e));_0x343c8c[_0x7cd48f(0xf6)]&&_0x343c8c[_0x7cd48f(0xf6)][_0x7cd48f(0xfb)]&&(_0x557451+=_0x7cd48f(0xeb)+_0x1334ad+'/'+_0x1c5e49+_0x7cd48f(0x13f)+_0x43f8c2+'.getLookupDataWithFilter(req.body);\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20//\x20Legacy\x20format\x20dengan\x20selected_tag\x0a\x20\x20\x20\x20\x20\x20const\x20selectedTag\x20=\x20req.body.selected_tag\x20||\x20\x27\x27;\x0a\x20\x20\x20\x20\x20\x20list\x20=\x20await\x20'+_0x43f8c2+_0x7cd48f(0x164)+_0x1c5e49+'\x20data\x27,\x0a\x20\x20\x20\x20\x20\x20details:\x20error.message,\x0a\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a});\x0a\x0a');_0x343c8c[_0x7cd48f(0xf6)]&&_0x343c8c[_0x7cd48f(0xf6)]['create']&&(_0x557451+=_0x7cd48f(0xeb)+_0x1334ad+'/'+_0x1c5e49+'/create\x20-\x20MySQL\x20Insert\x0arouter.post(\x27/create\x27,\x20async\x20(req,\x20res)\x20=>\x20{\x0a\x20\x20try\x20{\x0a\x20\x20\x20\x20if\x20(!req.body\x20||\x20Object.keys(req.body).length\x20===\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Invalid\x20payload\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Payload\x20cannot\x20be\x20empty\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Validasi\x20data\x0a\x20\x20\x20\x20if\x20(typeof\x20'+_0x43f8c2+'.validateData\x20===\x20\x27function\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20validation\x20=\x20await\x20'+_0x43f8c2+'.validateData(req.body,\x20\x27insert\x27);\x0a\x20\x20\x20\x20\x20\x20if\x20(!validation.isValid)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Validation\x20failed\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Invalid\x20data\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20errors:\x20validation.errors,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20req.body\x20=\x20{\x20...req.body,\x20...validation.sanitizedData\x20};\x0a\x20\x20\x20\x20}\x0a\x0a'+(_0x3ffc8f?_0x7cd48f(0x13d)+_0x343c8c[_0x7cd48f(0x1f3)]+_0x7cd48f(0x134)+_0x43f8c2+_0x7cd48f(0x15d)+_0x43f8c2+'.addData(req.body,\x20{\x20additionalContext:\x20{\x20requestId:\x20req.id\x20||\x20null\x20}\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20console.log(\x27[FALLBACK]\x20INSERT\x20completed\x20without\x20events\x27);\x0a\x20\x20\x20\x20\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20console.error(\x27[FALLBACK]\x20INSERT\x20failed:\x27,\x20error.message);\x0a\x20\x20\x20\x20\x20\x20\x20\x20throw\x20error;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a':'\x0a\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20result\x20=\x20await\x20'+_0x43f8c2+_0x7cd48f(0x169))+_0x7cd48f(0x104)+_0x1c5e49+'\x20data\x20added\x20successfully:\x20${result.'+_0x1a9872+'\x20||\x20\x27new\x20record\x27}`);\x0a\x0a\x20\x20\x20\x20return\x20res.status(201).json({\x0a\x20\x20\x20\x20\x20\x20success:\x20true,\x0a\x20\x20\x20\x20\x20\x20message:\x20\x27'+_0x1c5e49+'\x20data\x20successfully\x20added\x27,\x0a\x20\x20\x20\x20\x20\x20data:\x20result,\x0a\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20console.error(\x27Error\x20saat\x20menambahkan\x20data\x20'+_0x1c5e49+_0x7cd48f(0x133)+_0x1c5e49+'\x20data\x27,\x0a\x20\x20\x20\x20\x20\x20details:\x20process.env.NODE_ENV\x20===\x20\x27development\x27\x20?\x20error.message\x20:\x20undefined,\x0a\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a});\x0a\x0a');_0x343c8c['action']&&_0x343c8c['action'][_0x7cd48f(0x22b)]&&(_0x557451+='//\x20POST\x20/api/'+_0x1334ad+'/'+_0x1c5e49+'/update\x20-\x20MySQL\x20Update\x0arouter.post(\x27/update\x27,\x20async\x20(req,\x20res)\x20=>\x20{\x0a\x20\x20try\x20{\x0a\x20\x20\x20\x20//\x20Validasi\x20payload\x0a\x20\x20\x20\x20if\x20(!req.body\x20||\x20Object.keys(req.body).length\x20===\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Invalid\x20payload\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Payload\x20cannot\x20be\x20empty\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Validasi\x20primary\x20key\x0a\x20\x20\x20\x20const\x20primaryKey\x20=\x20\x27'+_0x1a9872+_0x7cd48f(0x102)+_0x34abf5+_0x7cd48f(0x124)+_0x43f8c2+'.validateData\x20===\x20\x27function\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20validation\x20=\x20await\x20'+_0x43f8c2+_0x7cd48f(0x20c)+(_0x3ffc8f?_0x7cd48f(0x1cc)+_0x343c8c['tableName']+'\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20additionalContext:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20user_id:\x20req.headers[\x27user-id\x27]\x20||\x20req.headers[\x27x-user-id\x27]\x20||\x20\x27system\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20options:\x20req.bodyOptions\x20||\x20{}\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20responseData\x20=\x20await\x20'+_0x43f8c2+'.updateData(req.body,\x20eventContext'+_0x553b4f+_0x7cd48f(0x221):'\x0a\x20\x20\x20\x20//\x20Fallback:\x20mode\x20tanpa\x20events\x0a\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20responseData\x20=\x20await\x20'+_0x43f8c2+'.updateData(req.body,\x20{\x20additionalContext:\x20{\x20requestId:\x20req.id\x20||\x20null\x20}\x20}'+_0x553b4f+');\x0a\x20\x20\x20\x20\x20\x20console.log(\x27[FALLBACK]\x20UPDATE\x20completed\x20without\x20events\x27);\x0a\x20\x20\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20\x20\x20console.error(\x27[FALLBACK]\x20UPDATE\x20failed:\x27,\x20error.message);\x0a\x20\x20\x20\x20\x20\x20throw\x20error;\x0a\x20\x20\x20\x20}\x0a')+'\x0a\x20\x20\x20\x20//\x20Log\x20successful\x20operation\x0a\x20\x20\x20\x20console.log(`'+_0x1c5e49+'\x20data\x20updated\x20successfully:\x20'+_0x1a9872+_0x7cd48f(0xe6)+_0x1a9872+_0x7cd48f(0x142)+_0x1c5e49+'\x20data\x20successfully\x20updated\x27,\x0a\x20\x20\x20\x20\x20\x20data:\x20responseData,\x0a\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20console.error(\x27Error\x20saat\x20mengupdate\x20data\x20'+_0x1c5e49+_0x7cd48f(0x205)+_0x1c5e49+'\x20data\x20not\x20found\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20if\x20(error.code\x20===\x20\x27ER_DUP_ENTRY\x27\x20||\x20error.errno\x20===\x201062)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(409).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Duplicate\x20entry\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27A\x20record\x20with\x20this\x20value\x20already\x20exists\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20return\x20res.status(500).json({\x0a\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20error:\x20\x27Internal\x20Server\x20Error\x27,\x0a\x20\x20\x20\x20\x20\x20message:\x20\x27An\x20error\x20occurred\x20while\x20updating\x20'+_0x1c5e49+_0x7cd48f(0x179));_0x343c8c[_0x7cd48f(0xf6)]&&_0x343c8c['action'][_0x7cd48f(0x21c)]&&(_0x557451+='//\x20POST\x20/api/'+_0x1334ad+'/'+_0x1c5e49+'/adjust\x20-\x20MySQL\x20Adjust\x20(atomic\x20increment/decrement)\x0arouter.post(\x27/adjust\x27,\x20async\x20(req,\x20res)\x20=>\x20{\x0a\x20\x20try\x20{\x0a\x20\x20\x20\x20//\x20Validasi\x20payload\x0a\x20\x20\x20\x20if\x20(!req.body\x20||\x20Object.keys(req.body).length\x20===\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Invalid\x20payload\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Payload\x20cannot\x20be\x20empty\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Validasi\x20primary\x20key\x0a\x20\x20\x20\x20const\x20primaryKey\x20=\x20\x27'+_0x1a9872+_0x7cd48f(0x1a3)+_0x34abf5+_0x7cd48f(0x18a)+(_0x3ffc8f?_0x7cd48f(0x1cc)+_0x343c8c[_0x7cd48f(0x1f3)]+'\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20additionalContext:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20user_id:\x20req.headers[\x27user-id\x27]\x20||\x20req.headers[\x27x-user-id\x27]\x20||\x20\x27system\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20options:\x20req.bodyOptions\x20||\x20{}\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20responseData\x20=\x20await\x20'+_0x43f8c2+_0x7cd48f(0x215)+_0x553b4f+');\x0a\x20\x20\x20\x20\x20\x20console.log(\x27[INTEGRATED\x20TRANSACTION]\x20ADJUST\x20completed\x20successfully\x20with\x20events\x27);\x0a\x20\x20\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20\x20\x20console.error(\x27[INTEGRATED\x20TRANSACTION]\x20ADJUST\x20failed:\x27,\x20error.message);\x0a\x20\x20\x20\x20\x20\x20throw\x20error;\x0a\x20\x20\x20\x20}\x0a':_0x7cd48f(0xf4)+_0x43f8c2+'.adjustData(req.body,\x20adjustConfig,\x20{\x20additionalContext:\x20{\x20requestId:\x20req.id\x20||\x20null\x20}\x20}'+_0x553b4f+');\x0a\x20\x20\x20\x20\x20\x20console.log(\x27[FALLBACK]\x20ADJUST\x20completed\x20without\x20events\x27);\x0a\x20\x20\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20\x20\x20console.error(\x27[FALLBACK]\x20ADJUST\x20failed:\x27,\x20error.message);\x0a\x20\x20\x20\x20\x20\x20throw\x20error;\x0a\x20\x20\x20\x20}\x0a')+'\x0a\x0a\x20\x20\x20\x20//\x20Log\x20successful\x20operation\x0a\x20\x20\x20\x20console.log(`'+_0x1c5e49+'\x20data\x20adjusted\x20successfully:\x20'+_0x1a9872+'=${req.body[\x27'+_0x1a9872+_0x7cd48f(0x142)+_0x1c5e49+_0x7cd48f(0x1cf)+_0x1c5e49+':\x27,\x20error);\x0a\x0a\x20\x20\x20\x20if\x20(error.statusCode\x20===\x20403)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(403).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Pro\x20Feature\x20Required\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20error.message,\x0a\x20\x20\x20\x20\x20\x20\x20\x20upgrade:\x20\x27https://restforge.dev/pricing\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20if\x20(error.message.includes(\x27constraint\x20violation\x27)\x20||\x20error.message.includes(\x27below\x20minimum\x27))\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(409).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Constraint\x20violation\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20error.message,\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20if\x20(error.message.includes(\x27not\x20configured\x20for\x20adjustment\x27)\x20||\x20error.message.includes(\x27is\x20required\x20for\x20adjust\x27)\x20||\x20error.message.includes(\x27must\x20be\x20a\x20non-zero\x20number\x27)\x20||\x20error.message.includes(\x27not\x20a\x20valid\x20field\x27)\x20||\x20error.message.includes(\x27must\x20not\x20be\x20empty\x27))\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Validation\x20error\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20error.message,\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20if\x20(error.message\x20===\x20\x27Data\x20tidak\x20ditemukan\x27\x20||\x20error.message.includes(\x27not\x20found\x27))\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(404).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Data\x20not\x20found\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27'+_0x1c5e49+'\x20data\x20not\x20found\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20if\x20(error.code\x20===\x20\x27ER_DUP_ENTRY\x27\x20||\x20error.errno\x20===\x201062)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(409).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Duplicate\x20entry\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27A\x20record\x20with\x20this\x20value\x20already\x20exists\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20return\x20res.status(500).json({\x0a\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20error:\x20\x27Internal\x20Server\x20Error\x27,\x0a\x20\x20\x20\x20\x20\x20message:\x20\x27An\x20error\x20occurred\x20while\x20adjusting\x20'+_0x1c5e49+'\x20data\x27,\x0a\x20\x20\x20\x20\x20\x20details:\x20process.env.NODE_ENV\x20===\x20\x27development\x27\x20?\x20error.message\x20:\x20undefined,\x0a\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a});\x0a\x0a');if(_0x343c8c['action']&&_0x343c8c[_0x7cd48f(0xf6)]['workflow']){const _0x36fa27=_0x343c8c[_0x7cd48f(0x1b7)]?JSON['stringify'](_0x343c8c[_0x7cd48f(0x1b7)]):'{}';_0x557451+=_0x7cd48f(0xeb)+_0x1334ad+'/'+_0x1c5e49+_0x7cd48f(0x1c8)+_0x1c5e49+_0x7cd48f(0x108)+_0x1a9872+_0x7cd48f(0x1fd)+_0x34abf5['replace'](/req\.body\[primaryKey\]/g,'recordId')+_0x7cd48f(0x128)+_0x36fa27+';\x0a\x20\x20\x20\x20workflowConfig._project\x20=\x20\x27'+_0x1334ad+'\x27;\x0a\x20\x20\x20\x20let\x20result\x20=\x20null;\x0a\x0a'+(_0x3ffc8f?'\x0a\x20\x20\x20\x20//\x20Integrated\x20transaction\x20dengan\x20event\x20lifecycle\x0a\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20eventContext\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20componentEngine:\x20componentEngine,\x0a\x20\x20\x20\x20\x20\x20\x20\x20ContextBuilder:\x20ContextBuilder,\x0a\x20\x20\x20\x20\x20\x20\x20\x20tableName:\x20\x27'+_0x343c8c['tableName']+_0x7cd48f(0x16e)+_0x43f8c2+_0x7cd48f(0x12e):'\x0a\x20\x20\x20\x20//\x20Fallback:\x20tanpa\x20component\x20engine\x20events\x20(tetap\x20forward\x20authHeader\x20untuk\x20hook\x20JWT\x20forwarding)\x0a\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20eventContext\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20additionalContext:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20user_id:\x20req.headers[\x27user-id\x27]\x20||\x20req.headers[\x27x-user-id\x27]\x20||\x20req.body.updated_by\x20||\x20\x27system\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20requestId:\x20req.id\x20||\x20null,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20authHeader:\x20req.headers.authorization\x20||\x20null\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20result\x20=\x20await\x20'+_0x43f8c2+_0x7cd48f(0x10d))+_0x7cd48f(0x1e0)+_0x1c5e49+'\x20status\x20changed:\x20${result.workflow.previousStatus}\x20→\x20${result.workflow.newStatus}`);\x0a\x0a\x20\x20\x20\x20return\x20res.status(200).json({\x0a\x20\x20\x20\x20\x20\x20success:\x20true,\x0a\x20\x20\x20\x20\x20\x20message:\x20`Status\x20changed\x20from\x20${result.workflow.previousStatus}\x20to\x20${result.workflow.newStatus}`,\x0a\x20\x20\x20\x20\x20\x20data:\x20result.data,\x0a\x20\x20\x20\x20\x20\x20workflow:\x20result.workflow,\x0a\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20console.error(\x27Error\x20saat\x20change-status\x20'+_0x1c5e49+_0x7cd48f(0x12c)+_0x1c5e49+'\x20data\x20not\x20found\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Lock\x20acquisition\x20failed\x0a\x20\x20\x20\x20if\x20(error.message.includes(\x27Failed\x20to\x20acquire\x20lock\x27))\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(409).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Resource\x20busy\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20error.message,\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20return\x20res.status(500).json({\x0a\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20error:\x20\x27Internal\x20Server\x20Error\x27,\x0a\x20\x20\x20\x20\x20\x20message:\x20\x27An\x20error\x20occurred\x20while\x20changing\x20status\x27,\x0a\x20\x20\x20\x20\x20\x20details:\x20process.env.NODE_ENV\x20===\x20\x27development\x27\x20?\x20error.message\x20:\x20undefined,\x0a\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a});\x0a\x0a';}if(_0x343c8c['action']&&_0x343c8c[_0x7cd48f(0xf6)][_0x7cd48f(0x211)]){const _0x47d9ba=_0x343c8c['aggregateConfig']?JSON[_0x7cd48f(0x107)](_0x343c8c[_0x7cd48f(0x204)]):'{}';_0x557451+=_0x7cd48f(0xeb)+_0x1334ad+'/'+_0x1c5e49+_0x7cd48f(0x212)+_0x47d9ba+_0x7cd48f(0x22a)+_0x43f8c2+'.aggregateData(req.body\x20||\x20{},\x20aggregateConfig);\x0a\x0a\x20\x20\x20\x20return\x20res.status(200).json({\x0a\x20\x20\x20\x20\x20\x20success:\x20true,\x0a\x20\x20\x20\x20\x20\x20data:\x20result,\x0a\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20console.error(\x27Error\x20saat\x20mengagregasi\x20data\x20'+_0x1c5e49+_0x7cd48f(0x217)+_0x1c5e49+'\x20data\x27,\x0a\x20\x20\x20\x20\x20\x20details:\x20process.env.NODE_ENV\x20===\x20\x27development\x27\x20?\x20error.message\x20:\x20undefined,\x0a\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a});\x0a\x0a';}_0x343c8c[_0x7cd48f(0xf6)]&&_0x343c8c[_0x7cd48f(0xf6)][_0x7cd48f(0x206)]&&(_0x557451+='//\x20POST\x20/api/'+_0x1334ad+'/'+_0x1c5e49+'/delete\x20-\x20MySQL\x20Delete\x0arouter.post(\x27/delete\x27,\x20async\x20(req,\x20res)\x20=>\x20{\x0a\x20\x20try\x20{\x0a\x20\x20\x20\x20//\x20Validasi\x20request\x20body\x0a\x20\x20\x20\x20if\x20(!req.body\x20||\x20Object.keys(req.body).length\x20===\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Invalid\x20payload\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Payload\x20cannot\x20be\x20empty\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20if\x20(!req.body.where)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Missing\x20required\x20field\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Invalid\x20request\x20format:\x20where\x20parameter\x20is\x20required\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20example:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22where\x22:\x20[{\x20\x22key\x22:\x20\x22id\x22,\x20\x22value\x22:\x20\x22your-id-value\x22\x20}]\x0a\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Validasi\x20format\x20where\x0a\x20\x20\x20\x20if\x20(!Array.isArray(req.body.where)\x20&&\x20!req.body.where.conditions)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Invalid\x20where\x20format\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Invalid\x20where\x20format\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20example:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22where\x22:\x20[\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{\x20\x22key\x22:\x20\x22id\x22,\x20\x22value\x22:\x20\x22your-id-value\x22\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20]\x0a\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20let\x20responseData\x20=\x20null;\x0a\x0a\x20\x20\x20\x20//\x20Cek\x20apakah\x20data\x20exist\x20sebelum\x20delete\x20dan\x20ambil\x20old\x20data\x20untuk\x20event\x20lifecycle\x0a\x20\x20\x20\x20//\x20Menggunakan\x20SELECT\x20*\x20dari\x20tabel\x20utama\x20(tanpa\x20explicit\x20select)\x20karena\x20fieldName\x0a\x20\x20\x20\x20//\x20bisa\x20mengandung\x20kolom\x20dari\x20JOIN\x20(mis.\x20city_name)\x20yang\x20tidak\x20ada\x20di\x20tabel\x20utama\x0a\x20\x20\x20\x20if\x20(req.body.where\x20&&\x20Array.isArray(req.body.where)\x20&&\x20req.body.where.length\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20firstCondition\x20=\x20req.body.where[0];\x0a\x20\x20\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20existingData\x20=\x20await\x20'+_0x43f8c2+_0x7cd48f(0x105)+_0x1c5e49+'\x20data\x20not\x20found\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20}\x20catch\x20(checkError)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20res.status(500).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Verification\x20Failed\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Could\x20not\x20verify\x20data\x20existence\x20before\x20delete\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20details:\x20process.env.NODE_ENV\x20===\x20\x27development\x27\x20?\x20checkError.message\x20:\x20undefined,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x0a'+(_0x3ffc8f?'\x0a\x20\x20\x20\x20//\x20Integrated\x20transaction\x20dengan\x20event\x20lifecycle\x0a\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20eventContext\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20componentEngine:\x20componentEngine,\x0a\x20\x20\x20\x20\x20\x20\x20\x20ContextBuilder:\x20ContextBuilder,\x0a\x20\x20\x20\x20\x20\x20\x20\x20tableName:\x20\x27'+_0x343c8c['tableName']+'\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20additionalContext:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20user_id:\x20req.headers[\x27user-id\x27]\x20||\x20req.headers[\x27x-user-id\x27]\x20||\x20\x27system\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20options:\x20req.bodyOptions\x20||\x20{}\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20\x20\x20responseData\x20=\x20await\x20'+_0x43f8c2+_0x7cd48f(0x1cb):'\x0a\x20\x20\x20\x20//\x20Fallback:\x20mode\x20tanpa\x20events\x0a\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20responseData\x20=\x20await\x20'+_0x43f8c2+_0x7cd48f(0x12d))+'\x0a\x20\x20\x20\x20//\x20Log\x20successful\x20operation\x0a\x20\x20\x20\x20console.log(`'+_0x1c5e49+_0x7cd48f(0x1d2)+_0x1c5e49+':\x27,\x20error);\x0a\x0a\x20\x20\x20\x20if\x20(error.code\x20===\x20\x27ER_ROW_IS_REFERENCED_2\x27\x20||\x20error.errno\x20===\x201451)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(409).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Foreign\x20key\x20constraint\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Cannot\x20delete:\x20record\x20is\x20still\x20referenced\x20by\x20other\x20data\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20return\x20res.status(500).json({\x0a\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20error:\x20\x27Internal\x20Server\x20Error\x27,\x0a\x20\x20\x20\x20\x20\x20message:\x20\x27An\x20error\x20occurred\x20while\x20deleting\x20'+_0x1c5e49+'\x20data\x27,\x0a\x20\x20\x20\x20\x20\x20details:\x20process.env.NODE_ENV\x20===\x20\x27development\x27\x20?\x20error.message\x20:\x20undefined,\x0a\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a});\x0a\x0a');_0x343c8c[_0x7cd48f(0xf6)]&&_0x343c8c[_0x7cd48f(0xf6)][_0x7cd48f(0x1f6)]&&(_0x557451+='//\x20POST\x20/api/'+_0x1334ad+'/'+_0x1c5e49+_0x7cd48f(0x123)+_0x1a9872+'\x22,\x20\x22value\x22:\x20\x22your-id-value\x22\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22select\x22:\x20[\x22field1\x22,\x20\x22field2\x22]\x0a\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Validasi\x20where.key\x20dan\x20where.value\x0a\x20\x20\x20\x20if\x20(!req.body.where.key\x20||\x20req.body.where.value\x20===\x20undefined\x20||\x20req.body.where.value\x20===\x20null\x20||\x20req.body.where.value\x20===\x20\x27\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Invalid\x20where\x20format\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Where\x20key\x20and\x20value\x20are\x20required\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20example:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22where\x22:\x20{\x20\x22key\x22:\x20\x22'+_0x1a9872+'\x22,\x20\x22value\x22:\x20\x22your-id-value\x22\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Tolak\x20format\x20advanced\x20(conditions/logic)\x0a\x20\x20\x20\x20if\x20(req.body.where.conditions\x20||\x20req.body.where.logic)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Invalid\x20where\x20format\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Advanced\x20where\x20format\x20is\x20not\x20supported\x20in\x20/first\x20endpoint.\x20Use\x20/read\x20endpoint\x20for\x20complex\x20queries\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Validasi\x20where.key\x20ada\x20di\x20validFields\x0a\x20\x20\x20\x20const\x20validFields\x20=\x20'+JSON['stringify'](_0x343c8c['fieldName'])+_0x7cd48f(0x11c)+_0x43f8c2+'.getData(getPayload);\x0a'+_0x20fc4b+'\x0a\x20\x20\x20\x20return\x20res.json({\x0a\x20\x20\x20\x20\x20\x20...result,\x0a\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20console.error(\x27Error\x20saat\x20mendapatkan\x20data\x20'+_0x1c5e49+_0x7cd48f(0x1c0)+_0x1c5e49+_0x7cd48f(0x179));_0x343c8c[_0x7cd48f(0xf6)]&&_0x343c8c['action']['read']&&(_0x557451+=_0x7cd48f(0xeb)+_0x1334ad+'/'+_0x1c5e49+'/read\x20-\x20Manual\x20pagination\x20endpoint\x0arouter.post(\x27/read\x27,\x20async\x20(req,\x20res)\x20=>\x20{\x0a\x20\x20try\x20{\x0a\x20\x20\x20\x20//\x20Deteksi\x20mode:\x20paginasi\x20(page\x20dikirim)\x20atau\x20non-paginasi\x20(page\x20tidak\x20dikirim)\x0a\x20\x20\x20\x20const\x20paginate\x20=\x20req.body.page\x20!==\x20undefined;\x0a\x20\x20\x20\x20const\x20page\x20=\x20paginate\x20?\x20parseInt(req.body.page,\x2010)\x20:\x20null;\x0a\x20\x20\x20\x20const\x20perPage\x20=\x20paginate\x20?\x20Math.min(parseInt(req.body.per_page\x20||\x2010,\x2010),\x20100)\x20:\x20null;\x0a\x20\x20\x20\x20const\x20limit\x20=\x20!paginate\x20?\x20Math.min(Math.max(parseInt(req.body.limit\x20||\x201000,\x2010),\x201),\x205000)\x20:\x20null;\x0a\x20\x20\x20\x20const\x20searchValue\x20=\x20req.body.search_value\x20||\x20\x27\x27;\x0a\x20\x20\x20\x20const\x20searchBy\x20=\x20req.body.search_by\x20||\x20\x27all\x27;\x0a\x0a\x20\x20\x20\x20//\x20Parse\x20sort_columns\x0a\x20\x20\x20\x20let\x20sort_columns\x20=\x20[];\x0a\x20\x20\x20\x20if\x20(req.body.sort_columns\x20&&\x20Array.isArray(req.body.sort_columns)\x20&&\x20req.body.sort_columns.length\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20sort_columns\x20=\x20req.body.sort_columns.map(item\x20=>\x20({\x0a\x20\x20\x20\x20\x20\x20\x20\x20column:\x20item.column,\x0a\x20\x20\x20\x20\x20\x20\x20\x20direction:\x20(item.direction\x20||\x20\x27ASC\x27).toUpperCase()\x0a\x20\x20\x20\x20\x20\x20}));\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Validasi\x20parameter\x20paginasi\x20(hanya\x20jika\x20mode\x20paginasi)\x0a\x20\x20\x20\x20if\x20(paginate\x20&&\x20page\x20<\x201)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Invalid\x20page\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Page\x20must\x20be\x20greater\x20than\x200\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Proses\x20parameter\x20where\x20dengan\x20format\x20advanced\x20conditions\x0a\x20\x20\x20\x20let\x20where\x20=\x20null;\x0a\x20\x20\x20\x20if\x20(req.body.where\x20&&\x20typeof\x20req.body.where\x20===\x20\x27object\x27)\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(Array.isArray(req.body.where)\x20||\x20(req.body.where.conditions\x20&&\x20Array.isArray(req.body.where.conditions)))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20where\x20=\x20req.body.where;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Proses\x20parameter\x20select\x20untuk\x20kolom\x20selektif\x0a\x20\x20\x20\x20const\x20validFields\x20=\x20'+JSON['stringify'](_0x343c8c[_0x7cd48f(0xe8)]||[])+';\x0a\x20\x20\x20\x20let\x20select\x20=\x20null;\x0a\x20\x20\x20\x20if\x20(req.body.select\x20&&\x20Array.isArray(req.body.select))\x20{\x0a\x20\x20\x20\x20\x20\x20const\x20invalidFields\x20=\x20req.body.select.filter(field\x20=>\x20!validFields.includes(field));\x0a\x20\x20\x20\x20\x20\x20if\x20(invalidFields.length\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Invalid\x20select\x20fields\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Invalid\x20field(s):\x20\x27\x20+\x20invalidFields.join(\x27,\x20\x27),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20validFields:\x20validFields,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20select\x20=\x20req.body.select;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20const\x20options\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20searchValue,\x0a\x20\x20\x20\x20\x20\x20searchBy,\x0a\x20\x20\x20\x20\x20\x20sort_columns,\x0a\x20\x20\x20\x20\x20\x20where:\x20where,\x0a\x20\x20\x20\x20\x20\x20select:\x20select\x0a\x20\x20\x20\x20};\x0a\x0a\x20\x20\x20\x20if\x20(paginate)\x20{\x0a\x20\x20\x20\x20\x20\x20options.page\x20=\x20page;\x0a\x20\x20\x20\x20\x20\x20options.perPage\x20=\x20perPage;\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20options.limit\x20=\x20limit;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20const\x20result\x20=\x20await\x20'+_0x43f8c2+'.getList(options);\x0a\x0a\x20\x20\x20\x20//\x20Format\x20response\x20berdasarkan\x20mode\x0a\x20\x20\x20\x20if\x20(paginate)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20true,\x0a\x20\x20\x20\x20\x20\x20\x20\x20data:\x20result.data,\x0a\x20\x20\x20\x20\x20\x20\x20\x20count:\x20result.data\x20?\x20result.data.length\x20:\x200,\x0a\x20\x20\x20\x20\x20\x20\x20\x20pagination:\x20result.pagination,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Data\x20retrieved\x20successfully\x27\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20true,\x0a\x20\x20\x20\x20\x20\x20\x20\x20data:\x20result.data,\x0a\x20\x20\x20\x20\x20\x20\x20\x20count:\x20result.data\x20?\x20result.data.length\x20:\x200\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20console.error(\x27Error\x20in\x20'+_0x1c5e49+'\x20list:\x27,\x20error);\x0a\x20\x20\x20\x20const\x20statusCode\x20=\x20error.statusCode\x20||\x20500;\x0a\x20\x20\x20\x20return\x20res.status(statusCode).json({\x0a\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20error:\x20statusCode\x20===\x20400\x20?\x20\x27Bad\x20Request\x27\x20:\x20\x27Internal\x20Server\x20Error\x27,\x0a\x20\x20\x20\x20\x20\x20message:\x20statusCode\x20===\x20400\x20?\x20error.message\x20:\x20\x27An\x20error\x20occurred\x20while\x20fetching\x20'+_0x1c5e49+_0x7cd48f(0x131));if(_0x343c8c['masterDetail']&&_0x343c8c['masterDetail'][_0x7cd48f(0x223)]){const _0x2b9f03=_0x343c8c[_0x7cd48f(0x1c5)][_0x7cd48f(0x1eb)][_0x7cd48f(0x1c9)]('.')['pop'](),_0x366341=_0x1c5e49[_0x7cd48f(0x1d7)](/-/g,'_'),_0x1a8c9b=_0x343c8c[_0x7cd48f(0x1c5)][_0x7cd48f(0x106)]||null,_0x30a85a=_0x343c8c[_0x7cd48f(0x1c5)]?.['detailConfig']?.[_0x7cd48f(0x111)]?.[_0x7cd48f(0x17d)]?.[_0x7cd48f(0x1bd)]||'',_0x3d27ad=_0x30a85a['split']('*')['map'](_0x4c4d19=>_0x4c4d19['trim']()),_0x41a8f5=_0x1a8c9b?.['total_qty']?.['source']?.[_0x7cd48f(0x1d7)](_0x148206[_0x7cd48f(0x144)],'')||'',_0xe5db5a=_0x3d27ad[0x0]||_0x41a8f5,_0x3b1ae8=_0x3d27ad[0x1]||'unit_price';if(_0x343c8c[_0x7cd48f(0xf6)]&&_0x343c8c[_0x7cd48f(0xf6)]['createComposite']){const _0x69031e=_0x1a8c9b?_0x7cd48f(0x1d3)+JSON['stringify'](_0x1a8c9b)+';\x0a\x20\x20\x20\x20if\x20(headerCalc.total_items)\x20{\x0a\x20\x20\x20\x20\x20\x20data.total_items\x20=\x20data.'+_0x2b9f03+'.length;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if\x20(headerCalc.total_qty\x20&&\x20headerCalc.total_qty.source)\x20{\x0a\x20\x20\x20\x20\x20\x20var\x20qtyField\x20=\x20headerCalc.total_qty.source.replace(\x27items.\x27,\x20\x27\x27);\x0a\x20\x20\x20\x20\x20\x20data.total_qty\x20=\x20data.'+_0x2b9f03+'.reduce(function(sum,\x20item)\x20{\x20return\x20sum\x20+\x20(Number(item[qtyField])\x20||\x200);\x20},\x200);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20'+(_0xe5db5a?'if\x20(headerCalc.total_amount)\x20{\x0a\x20\x20\x20\x20\x20\x20data.total_amount\x20=\x20data.'+_0x2b9f03+_0x7cd48f(0x218)+_0xe5db5a+_0x7cd48f(0xf3)+_0x3b1ae8+')\x20||\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20sum\x20+\x20(qty\x20*\x20price);\x0a\x20\x20\x20\x20\x20\x20},\x200);\x0a\x20\x20\x20\x20}':_0x7cd48f(0x101))+'\x0a\x20\x20\x20\x20console.log(\x27Calculated\x20totals:\x27,\x20{\x20total_items:\x20data.total_items,\x20total_qty:\x20data.total_qty,\x20total_amount:\x20data.total_amount\x20});\x0a\x20\x20\x20\x20':'';_0x557451+=_0x7cd48f(0xeb)+_0x1334ad+'/'+_0x1c5e49+_0x7cd48f(0x1c6)+_0x1c5e49+_0x7cd48f(0x127)+_0x366341+')\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Invalid\x20payload\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Payload\x20must\x20have\x20property\x20\x22'+_0x366341+_0x7cd48f(0x15b)+_0x366341+_0x7cd48f(0xec)+_0x43f8c2+_0x7cd48f(0x183)+_0x2b9f03+_0x7cd48f(0x154)+_0x43f8c2+'.validateData(headerDataForValidation,\x20\x27insert\x27);\x0a\x20\x20\x20\x20\x20\x20if\x20(!validation.isValid)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Validation\x20failed\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Invalid\x20data\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20errors:\x20validation.errors,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20Object.assign(data,\x20validation.sanitizedData);\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20if\x20(!data.'+_0x2b9f03+'\x20||\x20!Array.isArray(data.'+_0x2b9f03+_0x7cd48f(0x13e)+_0x2b9f03+'.length\x20===\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Invalid\x20payload\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Property\x20\x22'+_0x2b9f03+_0x7cd48f(0x1ba)+_0x69031e+'\x0a\x0a\x20\x20\x20\x20//\x20Build\x20eventContext\x20untuk\x20composite\x20hooks\x0a\x20\x20\x20\x20var\x20eventContext\x20=\x20null;\x0a\x20\x20\x20\x20if\x20(componentEngine\x20&&\x20ContextBuilder)\x20{\x0a\x20\x20\x20\x20\x20\x20eventContext\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20componentEngine:\x20componentEngine,\x0a\x20\x20\x20\x20\x20\x20\x20\x20ContextBuilder:\x20ContextBuilder,\x0a\x20\x20\x20\x20\x20\x20\x20\x20tableName:\x20\x27'+_0x343c8c[_0x7cd48f(0x1f3)]+'\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20additionalContext:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20detailTable:\x20\x27'+_0x343c8c['masterDetail'][_0x7cd48f(0x1eb)]+'\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20foreignKey:\x20\x27'+_0x343c8c[_0x7cd48f(0x1c5)][_0x7cd48f(0x189)]+'\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20options:\x20req.bodyOptions\x20||\x20{},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20requestId:\x20req.id\x20||\x20null\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20var\x20result\x20=\x20await\x20'+_0x43f8c2+_0x7cd48f(0x153)+_0x1c5e49+_0x7cd48f(0xfe)+_0x1c5e49+_0x7cd48f(0x1de)+_0x1c5e49+':\x27,\x20error);\x0a\x0a\x20\x20\x20\x20if\x20(error.errno\x20===\x201062)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(409).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Duplicate\x20entry\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27A\x20record\x20with\x20this\x20value\x20already\x20exists\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if\x20(error.errno\x20===\x201452)\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Foreign\x20key\x20constraint\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Referenced\x20data\x20not\x20found\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20details:\x20process.env.NODE_ENV\x20===\x20\x27development\x27\x20?\x20error.message\x20:\x20undefined,\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20return\x20res.status(500).json({\x0a\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20error:\x20\x27Internal\x20Server\x20Error\x27,\x0a\x20\x20\x20\x20\x20\x20message:\x20\x27An\x20error\x20occurred\x20while\x20creating\x20'+_0x1c5e49+'\x20data\x27,\x0a\x20\x20\x20\x20\x20\x20details:\x20process.env.NODE_ENV\x20===\x20\x27development\x27\x20?\x20error.message\x20:\x20undefined,\x0a\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a});\x0a\x0a';}_0x343c8c['action']&&_0x343c8c[_0x7cd48f(0xf6)][_0x7cd48f(0x103)]&&(_0x557451+=_0x7cd48f(0xeb)+_0x1334ad+'/'+_0x1c5e49+'/update-composite\x20-\x20MySQL\x20Composite\x20update\x20(master-detail)\x0arouter.post(\x27/update-composite\x27,\x20async\x20(req,\x20res)\x20=>\x20{\x0a\x20\x20try\x20{\x0a\x20\x20\x20\x20console.log(\x27Request\x20body\x20'+_0x1c5e49+_0x7cd48f(0x187)+_0x366341+_0x7cd48f(0x210)+_0x366341+_0x7cd48f(0x15b)+_0x366341+';\x0a\x0a\x20\x20\x20\x20if\x20(!data.'+_0x1a9872+_0x7cd48f(0x166)+_0x1a9872+_0x7cd48f(0x225)+_0x46f284+_0x7cd48f(0x1f4)+_0x43f8c2+_0x7cd48f(0x183)+_0x2b9f03+_0x7cd48f(0x154)+_0x43f8c2+_0x7cd48f(0x219)+_0x2b9f03+')\x20{\x0a\x20\x20\x20\x20\x20\x20if\x20(typeof\x20data.'+_0x2b9f03+'\x20!==\x20\x27object\x27\x20||\x20Array.isArray(data.'+_0x2b9f03+'))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20res.status(400).json({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20error:\x20\x27Invalid\x20payload\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message:\x20\x27Property\x20\x22'+_0x2b9f03+'\x22\x20must\x20be\x20an\x20object\x20with\x20structure\x20{insert:\x20[],\x20update:\x20[],\x20delete:\x20[]}\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20Build\x20eventContext\x20untuk\x20composite\x20hooks\x0a\x20\x20\x20\x20var\x20eventContext\x20=\x20null;\x0a\x20\x20\x20\x20if\x20(componentEngine\x20&&\x20ContextBuilder)\x20{\x0a\x20\x20\x20\x20\x20\x20eventContext\x20=\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20componentEngine:\x20componentEngine,\x0a\x20\x20\x20\x20\x20\x20\x20\x20ContextBuilder:\x20ContextBuilder,\x0a\x20\x20\x20\x20\x20\x20\x20\x20tableName:\x20\x27'+_0x343c8c['tableName']+_0x7cd48f(0x14a)+_0x343c8c['masterDetail'][_0x7cd48f(0x1eb)]+_0x7cd48f(0x173)+_0x343c8c[_0x7cd48f(0x1c5)][_0x7cd48f(0x189)]+'\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20options:\x20req.bodyOptions\x20||\x20{},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20requestId:\x20req.id\x20||\x20null\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20};\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20var\x20result\x20=\x20await\x20'+_0x43f8c2+'.updateComposite(data,\x20eventContext);\x0a\x0a\x20\x20\x20\x20console.log(\x27'+_0x1c5e49+_0x7cd48f(0x14b)+_0x1a9872+'=\x27\x20+\x20data.'+_0x1a9872+');\x0a\x0a\x20\x20\x20\x20return\x20res.status(200).json({\x0a\x20\x20\x20\x20\x20\x20success:\x20true,\x0a\x20\x20\x20\x20\x20\x20message:\x20\x27'+_0x1c5e49+_0x7cd48f(0x1e2)+_0x1c5e49+_0x7cd48f(0xe7)+_0x1c5e49+_0x7cd48f(0x18b)+_0x1c5e49+_0x7cd48f(0x179)),_0x343c8c['action']&&_0x343c8c['action'][_0x7cd48f(0x193)]&&(_0x557451+='//\x20POST\x20/api/'+_0x1334ad+'/'+_0x1c5e49+'/read-composite\x20-\x20MySQL\x20Read\x20header\x20with\x20detail\x20items\x0arouter.post(\x27/read-composite\x27,\x20async\x20(req,\x20res)\x20=>\x20{\x0a\x20\x20try\x20{\x0a\x20\x20\x20\x20console.log(\x27Request\x20body\x20'+_0x1c5e49+_0x7cd48f(0x1fe)+_0x1a9872+'\x22,\x20\x22value\x22:\x20\x22your-id-value\x22\x20}]\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20var\x20result\x20=\x20await\x20'+_0x43f8c2+_0x7cd48f(0x12b)+_0x1c5e49+'\x20composite\x20read\x20successful:\x20\x27\x20+\x20(result.count\x20||\x200)\x20+\x20\x27\x20record(s)\x27);\x0a\x0a\x20\x20\x20\x20return\x20res.json({\x0a\x20\x20\x20\x20\x20\x20...result,\x0a\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20console.error(\x27Error\x20saat\x20composite\x20read\x20'+_0x1c5e49+_0x7cd48f(0x129)+_0x1c5e49+'\x20composite\x20data\x27,\x0a\x20\x20\x20\x20\x20\x20details:\x20process.env.NODE_ENV\x20===\x20\x27development\x27\x20?\x20error.message\x20:\x20undefined,\x0a\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a});\x0a\x0a');}if(_0x148206[_0x7cd48f(0x182)](_0x343c8c['action']?.['info'],![])){const _0x28f737={'datatables':!!_0x343c8c[_0x7cd48f(0xf6)]?.[_0x7cd48f(0x1be)],'read':!!_0x343c8c['action']?.['read'],'first':!!_0x343c8c['action']?.[_0x7cd48f(0x1f6)],'create':!!_0x343c8c[_0x7cd48f(0xf6)]?.[_0x7cd48f(0x1f0)],'update':!!_0x343c8c['action']?.['update'],'delete':!!_0x343c8c['action']?.['delete'],'lookup':!!_0x343c8c['action']?.[_0x7cd48f(0xfb)],'export':!!_0x343c8c['action']?.[_0x7cd48f(0xef)],'import':!!_0x343c8c['action']?.[_0x7cd48f(0x113)],'info':_0x148206[_0x7cd48f(0x182)](_0x343c8c[_0x7cd48f(0xf6)]?.[_0x7cd48f(0x203)],![])};_0x557451+='//\x20MySQL\x20endpoint\x20information\x20—\x20self-documenting\x20API\x0arouter.get(\x27/info\x27,\x20async\x20(req,\x20res)\x20=>\x20{\x0a\x20\x20try\x20{\x0a\x20\x20\x20\x20const\x20actions\x20=\x20'+JSON['stringify'](_0x28f737)+_0x7cd48f(0x185)+_0x43f8c2+'.getModelInfo(actions);\x0a\x0a\x20\x20\x20\x20res.json({\x0a\x20\x20\x20\x20\x20\x20success:\x20true,\x0a\x20\x20\x20\x20\x20\x20endpoint:\x20\x27'+_0x1c5e49+_0x7cd48f(0x1aa)+_0x1334ad+'\x27,\x0a\x20\x20\x20\x20\x20\x20table:\x20modelInfo.table,\x0a\x20\x20\x20\x20\x20\x20fields:\x20modelInfo.fields,\x0a\x20\x20\x20\x20\x20\x20querySources:\x20modelInfo.querySources,\x0a\x20\x20\x20\x20\x20\x20actions:\x20actions,\x0a\x20\x20\x20\x20\x20\x20databaseType:\x20\x27mysql\x27,\x0a\x20\x20\x20\x20\x20\x20generated:\x20\x27'+_0x10ab4e+'\x27,\x0a\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20console.error(\x27MySQL\x20info\x20error:\x27,\x20error);\x0a\x20\x20\x20\x20res.status(500).json({\x0a\x20\x20\x20\x20\x20\x20success:\x20false,\x0a\x20\x20\x20\x20\x20\x20error:\x20\x27Info\x20Error\x27,\x0a\x20\x20\x20\x20\x20\x20message:\x20\x27An\x20error\x20occurred\x20while\x20fetching\x20endpoint\x20info\x27,\x0a\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a});';}else _0x557451+=_0x7cd48f(0x115);return _0x557451+=_0x7cd48f(0x1ca)+_0x43f8c2+'.getConnectionInfo();\x0a\x0a\x20\x20\x20\x20res.json({\x0a\x20\x20\x20\x20\x20\x20status:\x20connectionInfo\x20?\x20\x27healthy\x27\x20:\x20\x27unknown\x27,\x0a\x20\x20\x20\x20\x20\x20endpoint:\x20\x27'+_0x1c5e49+'\x27,\x0a\x20\x20\x20\x20\x20\x20database:\x20\x27mysql\x27,\x0a\x20\x20\x20\x20\x20\x20connection:\x20connectionInfo\x20?\x20\x27active\x27\x20:\x20\x27unknown\x27,\x0a\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x20catch\x20(error)\x20{\x0a\x20\x20\x20\x20res.status(503).json({\x0a\x20\x20\x20\x20\x20\x20status:\x20\x27unhealthy\x27,\x0a\x20\x20\x20\x20\x20\x20endpoint:\x20\x27'+_0x1c5e49+'\x27,\x0a\x20\x20\x20\x20\x20\x20database:\x20\x27mysql\x27,\x0a\x20\x20\x20\x20\x20\x20error:\x20error.message,\x0a\x20\x20\x20\x20\x20\x20timestamp:\x20new\x20Date().toISOString()\x0a\x20\x20\x20\x20});\x0a\x20\x20}\x0a});\x0a\x0a',_0x557451+=_0x7cd48f(0x12a),_0x557451;}module['exports']={'createMysqlMainModuleTemplate':createMysqlMainModuleTemplate,'createMysqlModelTemplate':createMysqlModelTemplate,'createMysqlSubmoduleTemplate':createMysqlSubmoduleTemplate};