@restforgejs/platform 4.1.1 → 4.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (340) hide show
  1. package/SECURITY.md +83 -4
  2. package/bin/sdf-tools.exe +0 -0
  3. package/build-info.json +2 -2
  4. package/cli/consumer-deploy.js +1 -1
  5. package/cli/consumer.js +1 -1
  6. package/generators/cli/dashboard/create.js +4 -1
  7. package/generators/cli/endpoint/create.js +43 -4
  8. package/generators/cli/key/generate.js +2 -1
  9. package/generators/cli/key/revoke.js +2 -1
  10. package/generators/cli/payload/diff.js +3 -2
  11. package/generators/cli/payload/generate.js +3 -2
  12. package/generators/cli/payload/sync.js +3 -2
  13. package/generators/cli/payload/validate.js +3 -2
  14. package/generators/cli/processor/create.js +14 -3
  15. package/generators/cli/project/delete.js +2 -1
  16. package/generators/cli/query/validate.js +3 -2
  17. package/generators/cli/schema/apply.js +526 -0
  18. package/generators/cli/schema/describe.js +3 -2
  19. package/generators/cli/schema/diff.js +322 -0
  20. package/generators/cli/schema/generate-ddl.js +7 -10
  21. package/generators/cli/schema/init.js +95 -172
  22. package/generators/cli/schema/introspect.js +3 -2
  23. package/generators/cli/schema/list.js +3 -2
  24. package/generators/cli/schema/migrate.js +13 -18
  25. package/generators/cli/schema/models.js +8 -12
  26. package/generators/cli/schema/template.js +222 -0
  27. package/generators/cli/schema/validate.js +8 -12
  28. package/generators/cli-entry.js +17 -2
  29. package/generators/lib/dbschema-kit/apply-engine.js +582 -0
  30. package/generators/lib/dbschema-kit/diff-engine.js +703 -0
  31. package/generators/lib/dbschema-kit/diff-reporter.js +272 -0
  32. package/generators/lib/dbschema-kit/emitters/alter-table.js +275 -0
  33. package/generators/lib/migration/audit-table-runner.js +213 -215
  34. package/generators/lib/payload/endpoint-schema-validator.js +171 -0
  35. package/generators/lib/payload/payload-runner.js +137 -220
  36. package/generators/lib/payload/schema-diff.js +277 -0
  37. package/generators/lib/templates/dashboard-catalog.js +1 -437
  38. package/generators/lib/templates/db-connection-env.js +1 -212
  39. package/generators/lib/templates/dbschema-catalog.js +1 -489
  40. package/generators/lib/templates/field-validation-catalog.js +1 -531
  41. package/generators/lib/templates/mysql-template.js +1 -3863
  42. package/generators/lib/templates/oracle-template.js +1 -3915
  43. package/generators/lib/templates/postgres-template.js +1 -5838
  44. package/generators/lib/templates/query-declarative-catalog.js +1 -199
  45. package/generators/lib/templates/sqlite-template.js +1 -3440
  46. package/generators/lib/utils/audit-columns.js +181 -0
  47. package/generators/lib/utils/cli-output.js +17 -0
  48. package/generators/lib/utils/database-introspector.js +16 -13
  49. package/generators/lib/utils/env-manager.js +6 -0
  50. package/generators/lib/utils/path-validator.js +71 -0
  51. package/generators/lib/validators/payload-validator.js +1 -2
  52. package/integrity-manifest.json +28 -10
  53. package/package.json +11 -3
  54. package/scripts/verify-integrity.js +1 -1
  55. package/server.js +1 -1
  56. package/src/components/handlers/adjust_handler.js +1 -1
  57. package/src/components/handlers/audit_handler.js +1 -1
  58. package/src/components/handlers/delete_handler.js +1 -1
  59. package/src/components/handlers/export_handler.js +1 -1
  60. package/src/components/handlers/import_handler.js +1 -1
  61. package/src/components/handlers/insert_handler.js +1 -1
  62. package/src/components/handlers/update_handler.js +1 -1
  63. package/src/components/handlers/upload_handler.js +1 -1
  64. package/src/components/handlers/workflow_handler.js +1 -1
  65. package/src/components/integrations/webhook.js +1 -1
  66. package/src/consumers/baseConsumer.js +1 -1
  67. package/src/consumers/declarativeMapper.js +1 -1
  68. package/src/consumers/handlers/apiHandler.js +1 -1
  69. package/src/consumers/handlers/consoleHandler.js +1 -1
  70. package/src/consumers/handlers/databaseHandler.js +1 -1
  71. package/src/consumers/handlers/index.js +1 -1
  72. package/src/consumers/handlers/kafkaHandler.js +1 -1
  73. package/src/consumers/index.js +1 -1
  74. package/src/consumers/messageTransformer.js +1 -1
  75. package/src/consumers/validator.js +1 -1
  76. package/src/core/db/dialect/base-dialect.js +1 -1
  77. package/src/core/db/dialect/index.js +1 -1
  78. package/src/core/db/dialect/mysql-dialect.js +1 -1
  79. package/src/core/db/dialect/oracle-dialect.js +1 -1
  80. package/src/core/db/dialect/postgres-dialect.js +1 -1
  81. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  82. package/src/core/db/flatten-helper.js +1 -1
  83. package/src/core/db/query-builder-error.js +1 -1
  84. package/src/core/db/query-builder.js +1 -1
  85. package/src/core/db/relation-helper.js +1 -1
  86. package/src/core/handlers/delete_handler.js +1 -1
  87. package/src/core/handlers/insert_handler.js +1 -1
  88. package/src/core/handlers/update_handler.js +1 -1
  89. package/src/core/models/base-model.js +1 -1
  90. package/src/core/utils/cache-manager.js +1 -1
  91. package/src/core/utils/component-engine.js +1 -1
  92. package/src/core/utils/context-builder.js +1 -1
  93. package/src/core/utils/datetime-formatter.js +1 -1
  94. package/src/core/utils/datetime-parser.js +1 -1
  95. package/src/core/utils/db.js +1 -1
  96. package/src/core/utils/logger.js +1 -1
  97. package/src/core/utils/payload-loader.js +1 -1
  98. package/src/core/utils/security-checks.js +1 -1
  99. package/src/middleware/body-options.js +1 -1
  100. package/src/middleware/cors.js +1 -1
  101. package/src/middleware/idempotency.js +1 -1
  102. package/src/middleware/rate-limiter.js +1 -1
  103. package/src/middleware/request-logger.js +1 -1
  104. package/src/middleware/security-headers.js +1 -1
  105. package/src/models/base-model-mysql.js +1 -1
  106. package/src/models/base-model-oracle.js +1 -1
  107. package/src/models/base-model-sqlite.js +1 -1
  108. package/src/models/base-model.js +1 -1
  109. package/src/pro/caching/redis-client.js +1 -1
  110. package/src/pro/caching/redis-helper.js +1 -1
  111. package/src/pro/consumers/baseConsumer.js +1 -1
  112. package/src/pro/consumers/declarativeMapper.js +1 -1
  113. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  114. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  115. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  116. package/src/pro/consumers/handlers/index.js +1 -1
  117. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  118. package/src/pro/consumers/index.js +1 -1
  119. package/src/pro/consumers/messageTransformer.js +1 -1
  120. package/src/pro/consumers/validator.js +1 -1
  121. package/src/pro/database/base-model-mysql.js +1 -1
  122. package/src/pro/database/base-model-oracle.js +1 -1
  123. package/src/pro/database/base-model-sqlite.js +1 -1
  124. package/src/pro/database/db-mysql.js +1 -1
  125. package/src/pro/database/db-oracle.js +1 -1
  126. package/src/pro/database/db-sqlite.js +1 -1
  127. package/src/pro/excel/excel-generator.js +1 -1
  128. package/src/pro/excel/excel-parser.js +1 -1
  129. package/src/pro/excel/export-service.js +1 -1
  130. package/src/pro/excel/export_handler.js +1 -1
  131. package/src/pro/excel/import-service.js +1 -1
  132. package/src/pro/excel/import-validator.js +1 -1
  133. package/src/pro/excel/import_handler.js +1 -1
  134. package/src/pro/excel/upsert-builder.js +1 -1
  135. package/src/pro/idgen/idgen-routes.js +1 -1
  136. package/src/pro/integrations/lookup-resolver.js +1 -1
  137. package/src/pro/integrations/upload-handler-v2.js +1 -1
  138. package/src/pro/integrations/upload-handler.js +1 -1
  139. package/src/pro/integrations/webhook.js +1 -1
  140. package/src/pro/locking/lock-routes.js +1 -1
  141. package/src/pro/locking/resource-lock-manager.js +1 -1
  142. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  143. package/src/pro/messaging/kafkaService.js +1 -1
  144. package/src/pro/messaging/messagehubService.js +1 -1
  145. package/src/pro/messaging/rabbitmqService.js +1 -1
  146. package/src/pro/scheduler/job-manager.js +1 -1
  147. package/src/pro/scheduler/job-routes.js +1 -1
  148. package/src/pro/scheduler/job-validator.js +1 -1
  149. package/src/pro/storage/base-storage-provider.js +1 -1
  150. package/src/pro/storage/file-metadata-helper.js +1 -1
  151. package/src/pro/storage/index.js +1 -1
  152. package/src/pro/storage/local-storage-provider.js +1 -1
  153. package/src/pro/storage/s3-storage-provider.js +1 -1
  154. package/src/pro/storage/upload-cleanup-job.js +1 -1
  155. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  156. package/src/pro/storage/upload-pending-tracker.js +1 -1
  157. package/src/pro/websocket/broadcast-helper.js +1 -1
  158. package/src/pro/websocket/index.js +1 -1
  159. package/src/pro/websocket/livesync-server.js +1 -1
  160. package/src/pro/websocket/ws-broadcaster.js +1 -1
  161. package/src/services/export-service.js +1 -1
  162. package/src/services/import-service.js +1 -1
  163. package/src/services/kafkaConsumerService.js +1 -1
  164. package/src/services/kafkaService.js +1 -1
  165. package/src/services/messagehubService.js +1 -1
  166. package/src/services/rabbitmqService.js +1 -1
  167. package/src/utils/cache-invalidation-registry.js +1 -1
  168. package/src/utils/cache-manager.js +1 -1
  169. package/src/utils/component-engine.js +1 -1
  170. package/src/utils/config-extractor.js +1 -1
  171. package/src/utils/consumerLogger.js +1 -1
  172. package/src/utils/context-builder.js +1 -1
  173. package/src/utils/dashboard-helpers.js +1 -1
  174. package/src/utils/dateHelper.js +1 -1
  175. package/src/utils/datetime-formatter.js +1 -1
  176. package/src/utils/datetime-parser.js +1 -1
  177. package/src/utils/db-bootstrap.js +1 -1
  178. package/src/utils/db-mysql.js +1 -1
  179. package/src/utils/db-oracle.js +1 -1
  180. package/src/utils/db-sqlite.js +1 -1
  181. package/src/utils/db.js +1 -1
  182. package/src/utils/demo-generator.js +1 -1
  183. package/src/utils/excel-generator.js +1 -1
  184. package/src/utils/excel-parser.js +1 -1
  185. package/src/utils/file-watcher.js +1 -1
  186. package/src/utils/id-generator.js +1 -1
  187. package/src/utils/idempotency-manager.js +1 -1
  188. package/src/utils/import-validator.js +1 -1
  189. package/src/utils/license-client.js +1 -1
  190. package/src/utils/lock-manager.js +1 -1
  191. package/src/utils/logger.js +1 -1
  192. package/src/utils/lookup-resolver.js +1 -1
  193. package/src/utils/payload-loader.js +1 -1
  194. package/src/utils/processor-response.js +1 -1
  195. package/src/utils/rabbitmq.js +1 -1
  196. package/src/utils/redis-client.js +1 -1
  197. package/src/utils/redis-helper.js +1 -1
  198. package/src/utils/request-scope.js +1 -1
  199. package/src/utils/security-checks.js +1 -1
  200. package/src/utils/service-resolver.js +1 -1
  201. package/src/utils/shutdown-coordinator.js +1 -1
  202. package/src/utils/trusted-keys.js +1 -1
  203. package/src/utils/upload-handler.js +1 -1
  204. package/src/utils/upsert-builder.js +1 -1
  205. package/src/utils/workflow-hook-executor.js +1 -1
  206. package/generators/metadata/global.json +0 -58
  207. package/generators/metadata/test-mysql-workbench.json +0 -118
  208. package/generators/metadata/test-mysql.json +0 -56
  209. package/generators/metadata/test-oracle-workbench.json +0 -118
  210. package/generators/metadata/test-oracle.json +0 -56
  211. package/generators/metadata/test-pg-workbench.json +0 -118
  212. package/generators/metadata/test-pg.json +0 -56
  213. package/generators/scripts/obfuscate-source.js +0 -356
  214. package/generators/scripts/validate-catalog.js +0 -430
  215. package/generators/scripts/validate-dbschema-catalog.js +0 -708
  216. package/generators/tests/baseline/mysql/mini_inventory_item/src/models/mini-inventory/item.js +0 -944
  217. package/generators/tests/baseline/mysql/mini_inventory_item/src/modules/mini-inventory/item.js +0 -740
  218. package/generators/tests/baseline/mysql/mini_inventory_item/src/modules/mini-inventory.js +0 -336
  219. package/generators/tests/baseline/oracle/mini_inventory_item/src/models/mini-inventory/item.js +0 -1002
  220. package/generators/tests/baseline/oracle/mini_inventory_item/src/modules/mini-inventory/item.js +0 -740
  221. package/generators/tests/baseline/oracle/mini_inventory_item/src/modules/mini-inventory.js +0 -336
  222. package/generators/tests/baseline/postgres/mini_inventory_item/src/models/mini-inventory/item.js +0 -1333
  223. package/generators/tests/baseline/postgres/mini_inventory_item/src/modules/mini-inventory/item.js +0 -1173
  224. package/generators/tests/baseline/postgres/mini_inventory_item/src/modules/mini-inventory.js +0 -496
  225. package/generators/tests/fixtures/payloads/custom-sensitive.json +0 -27
  226. package/generators/tests/fixtures/payloads/dynamic-search-optout.json +0 -23
  227. package/generators/tests/fixtures/payloads/login-with-password.json +0 -22
  228. package/generators/tests/fixtures/payloads/order-process.json +0 -52
  229. package/generators/tests/fixtures/payloads/with-inline-sql.json +0 -26
  230. package/generators/tests/integration-tahap4b/README.md +0 -145
  231. package/generators/tests/integration-tahap4b/run-concurrent.js +0 -77
  232. package/generators/tests/integration-tahap4b/seed.sql +0 -53
  233. package/generators/tests/integration-tahap4b/verify.sql +0 -110
  234. package/generators/tests/unit/cli/create-dashboard.test.js +0 -505
  235. package/generators/tests/unit/cli/create-processor.test.js +0 -319
  236. package/generators/tests/unit/cli/dispatch-dashboard.test.js +0 -149
  237. package/generators/tests/unit/lib/dashboard-generator.test.js +0 -895
  238. package/generators/tests/unit/lib/dashboard-validator.test.js +0 -354
  239. package/generators/tests/unit/lib/dbschema-kit/apply-executor.test.js +0 -437
  240. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-introspect.test.js +0 -393
  241. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-generate-ddl.test.js +0 -104
  242. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-init.test.js +0 -119
  243. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-list.test.js +0 -48
  244. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-migrate.test.js +0 -175
  245. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-validate.test.js +0 -102
  246. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-models.test.js +0 -43
  247. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/all-schemas-listing.js +0 -84
  248. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/connection-error.js +0 -13
  249. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/empty.js +0 -12
  250. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/multi-schema.js +0 -124
  251. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/single-schema-inventory.js +0 -64
  252. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/two-tables.js +0 -66
  253. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/connection-error.js +0 -9
  254. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/partial.js +0 -29
  255. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/rollback.js +0 -26
  256. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/success.js +0 -43
  257. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/audit/events.js +0 -18
  258. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/inventory/products.js +0 -9
  259. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/users.js +0 -8
  260. package/generators/tests/unit/lib/dbschema-kit/connection.test.js +0 -112
  261. package/generators/tests/unit/lib/dbschema-kit/ddl-generator.test.js +0 -205
  262. package/generators/tests/unit/lib/dbschema-kit/define-model.test.js +0 -56
  263. package/generators/tests/unit/lib/dbschema-kit/dialect/index.test.js +0 -46
  264. package/generators/tests/unit/lib/dbschema-kit/dialect/mysql.test.js +0 -126
  265. package/generators/tests/unit/lib/dbschema-kit/dialect/oracle.test.js +0 -126
  266. package/generators/tests/unit/lib/dbschema-kit/dialect/postgres.test.js +0 -131
  267. package/generators/tests/unit/lib/dbschema-kit/dialect/sqlite.test.js +0 -126
  268. package/generators/tests/unit/lib/dbschema-kit/driver-loader.test.js +0 -93
  269. package/generators/tests/unit/lib/dbschema-kit/emitters/create-index.test.js +0 -173
  270. package/generators/tests/unit/lib/dbschema-kit/emitters/create-table.test.js +0 -376
  271. package/generators/tests/unit/lib/dbschema-kit/emitters/drop-table.test.js +0 -78
  272. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/invalid-dialect.env +0 -6
  273. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/missing-dialect.env +0 -5
  274. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/missing-host.env +0 -5
  275. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/oracle-valid.env +0 -6
  276. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/postgres-valid.env +0 -7
  277. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/sqlite-valid.env +0 -2
  278. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/category.js +0 -11
  279. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/item_product.js +0 -11
  280. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/stock_inbound.js +0 -24
  281. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/stock_inbound_item.js +0 -28
  282. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/supplier.js +0 -9
  283. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/warehouse.js +0 -9
  284. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-invalid/orphan.js +0 -17
  285. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/category.js +0 -11
  286. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/item_product.js +0 -11
  287. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/supplier.js +0 -9
  288. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/warehouse.js +0 -9
  289. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/transactions/stock_inbound.js +0 -24
  290. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/transactions/stock_inbound_item.js +0 -28
  291. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/audit/events.js +0 -18
  292. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/inventory/products.js +0 -9
  293. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/public/users.js +0 -9
  294. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-subfolder/extra/category.js +0 -8
  295. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-subfolder/master/category.js +0 -8
  296. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-tablename/bar.js +0 -8
  297. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-tablename/foo.js +0 -8
  298. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/empty-folder/README.md +0 -1
  299. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/invalid-export/plain.js +0 -3
  300. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/invalid-schema/bad.js +0 -6
  301. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/legacy-pattern/legacy.js +0 -12
  302. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-distinct/audit/products.js +0 -9
  303. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-distinct/inventory/products.js +0 -9
  304. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-duplicate/a/products.js +0 -8
  305. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-duplicate/b/products.js +0 -8
  306. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/nested-deep/a/b/c/deep_table.js +0 -8
  307. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/.hidden/ignored.js +0 -7
  308. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/master/category.js +0 -8
  309. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/master/supplier.js +0 -8
  310. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/transactions/stock_inbound.js +0 -8
  311. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/transactions/stock_inbound_item.js +0 -8
  312. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-multiple/category.js +0 -8
  313. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-multiple/item_product.js +0 -9
  314. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-single/category.js +0 -8
  315. package/generators/tests/unit/lib/dbschema-kit/integration.test.js +0 -217
  316. package/generators/tests/unit/lib/dbschema-kit/introspect-mapper.test.js +0 -403
  317. package/generators/tests/unit/lib/dbschema-kit/ir-builder.test.js +0 -390
  318. package/generators/tests/unit/lib/dbschema-kit/loader.test.js +0 -128
  319. package/generators/tests/unit/lib/dbschema-kit/naming.test.js +0 -170
  320. package/generators/tests/unit/lib/dbschema-kit/parser/shorthand-parser.test.js +0 -237
  321. package/generators/tests/unit/lib/dbschema-kit/schema-printer.test.js +0 -251
  322. package/generators/tests/unit/lib/dbschema-kit/statement-modifier.test.js +0 -105
  323. package/generators/tests/unit/lib/dbschema-kit/statement-splitter.test.js +0 -165
  324. package/generators/tests/unit/lib/dbschema-kit/topological-sort.test.js +0 -135
  325. package/generators/tests/unit/lib/dbschema-kit/validator/check-compatibility-validator.test.js +0 -373
  326. package/generators/tests/unit/lib/dbschema-kit/validator/circular-relation-validator.test.js +0 -454
  327. package/generators/tests/unit/lib/dbschema-kit/validator/cross-model-validator.test.js +0 -512
  328. package/generators/tests/unit/lib/dbschema-kit/validator/enhanced-validate-integration.test.js +0 -390
  329. package/generators/tests/unit/lib/dbschema-kit/validator/naming-convention-validator.test.js +0 -306
  330. package/generators/tests/unit/lib/dbschema-kit/validator/schema-validator.test.js +0 -443
  331. package/generators/tests/unit/lib/dbschema-kit/validator/type-compatibility-validator.test.js +0 -440
  332. package/generators/tests/unit/lib/dbschema-kit/validator/validator-reporter.test.js +0 -172
  333. package/generators/tests/unit/lib/metadata-manager-dashboard.test.js +0 -256
  334. package/generators/tests/unit/lib/payload-validator-fieldpolicy.test.js +0 -240
  335. package/generators/tests/unit/lib/processor-validation-generator.test.js +0 -300
  336. package/generators/tests/unit/lib/sensitive-field-masker.test.js +0 -170
  337. package/generators/tests/unit/lib/sql-table-extractor.test.js +0 -119
  338. package/scripts/generate-integrity-manifest.js +0 -124
  339. package/scripts/snapshot-cli-contracts.js +0 -194
  340. package/scripts/verify-publish.js +0 -56
@@ -1 +1 @@
1
- 'use strict';const a0_0x4b7b0d=a0_0x5e0c;function a0_0x5e0c(_0x5ec0b1,_0x24222a){_0x5ec0b1=_0x5ec0b1-0xd1;const _0x3b0d3e=a0_0x3b0d();let _0x5e0ca9=_0x3b0d3e[_0x5ec0b1];if(a0_0x5e0c['nzQCUF']===undefined){var _0x4dadf5=function(_0x477a0c){const _0x32f2d0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x185232='',_0x227654='';for(let _0x52d9fd=0x0,_0x2f6980,_0x3be788,_0x3eb8e0=0x0;_0x3be788=_0x477a0c['charAt'](_0x3eb8e0++);~_0x3be788&&(_0x2f6980=_0x52d9fd%0x4?_0x2f6980*0x40+_0x3be788:_0x3be788,_0x52d9fd++%0x4)?_0x185232+=String['fromCharCode'](0xff&_0x2f6980>>(-0x2*_0x52d9fd&0x6)):0x0){_0x3be788=_0x32f2d0['indexOf'](_0x3be788);}for(let _0x461c27=0x0,_0x5a21ea=_0x185232['length'];_0x461c27<_0x5a21ea;_0x461c27++){_0x227654+='%'+('00'+_0x185232['charCodeAt'](_0x461c27)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x227654);};a0_0x5e0c['arZTex']=_0x4dadf5,a0_0x5e0c['evLtar']={},a0_0x5e0c['nzQCUF']=!![];}const _0x31ac54=_0x3b0d3e[0x0],_0x699d36=_0x5ec0b1+_0x31ac54,_0x1323da=a0_0x5e0c['evLtar'][_0x699d36];return!_0x1323da?(_0x5e0ca9=a0_0x5e0c['arZTex'](_0x5e0ca9),a0_0x5e0c['evLtar'][_0x699d36]=_0x5e0ca9):_0x5e0ca9=_0x1323da,_0x5e0ca9;}(function(_0x564cba,_0x1ba8f7){const _0x4415ae=a0_0x5e0c,_0x17276c=_0x564cba();while(!![]){try{const _0x5ce8b5=-parseInt(_0x4415ae(0x1dc))/0x1*(-parseInt(_0x4415ae(0x127))/0x2)+-parseInt(_0x4415ae(0x1d4))/0x3*(-parseInt(_0x4415ae(0x158))/0x4)+parseInt(_0x4415ae(0x1e5))/0x5+-parseInt(_0x4415ae(0x140))/0x6+parseInt(_0x4415ae(0xe8))/0x7*(-parseInt(_0x4415ae(0x19d))/0x8)+-parseInt(_0x4415ae(0xfc))/0x9+parseInt(_0x4415ae(0x155))/0xa*(parseInt(_0x4415ae(0x10f))/0xb);if(_0x5ce8b5===_0x1ba8f7)break;else _0x17276c['push'](_0x17276c['shift']());}catch(_0x5a51fe){_0x17276c['push'](_0x17276c['shift']());}}}(a0_0x3b0d,0xab4f8));const crypto=require(a0_0x4b7b0d(0x100)),redisClient=require('./redis-client'),{logger}=require(a0_0x4b7b0d(0x1fd)),idempotencyManager=require(a0_0x4b7b0d(0x149)),ALLOWED_FORMATS=new Set(['text','yyyy',a0_0x4b7b0d(0x166),'yyyymmdd']),RESOURCE_REGEX=/^[A-Za-z0-9_-]{1,64}$/,PREFIX_REGEX=/^[A-Za-z0-9_-]{0,32}$/,SEPARATOR_FORBIDDEN=/:/,MAX_NUM_DIGITS=0xc,MIN_NUM_DIGITS=0x1,MAX_PIN_DIGITS=0xc,MIN_PIN_DIGITS=0x4,MAX_PATTERN_LENGTH=0x100,MAX_TTL=0x278d00,MAX_RETRY_LIMIT=0x64,MAX_IDEMPOTENCY_KEY_LENGTH=0x80,RESERVATION_TOKEN_REGEX=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,MIN_RESERVE_TTL=0xa,MAX_RESERVE_TTL=0x15180,DEFAULT_RESERVE_TTL=0x258,RESERVE_REAP_BATCH=0x40,CHARSET_DIGIT='0123456789',CHARSET_UPPER='ABCDEFGHIJKLMNOPQRSTUVWXYZ',CHARSET_LOWER='abcdefghijklmnopqrstuvwxyz',CHARSET_LETTERS=CHARSET_UPPER+CHARSET_LOWER,CHARSET_UPPER_ALNUM=CHARSET_UPPER+CHARSET_DIGIT,CHARSET_MIXED_ALNUM=CHARSET_UPPER+CHARSET_LOWER+CHARSET_DIGIT,CHARSET_HEX_UPPER=a0_0x4b7b0d(0xf1),CHARSET_HEX_LOWER=a0_0x4b7b0d(0x17d),PLACEHOLDER_MAP={'9':CHARSET_DIGIT,'N':CHARSET_DIGIT,'A':CHARSET_UPPER,'a':CHARSET_LOWER,'L':CHARSET_LETTERS,'X':CHARSET_UPPER_ALNUM,'x':CHARSET_MIXED_ALNUM,'H':CHARSET_HEX_UPPER,'h':CHARSET_HEX_LOWER},LUA_GENERATE_NUMBER='\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20reused\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#reused\x20>\x200\x20then\x0a\x20\x20\x20\x20return\x20{tonumber(reused[1]),\x201}\x0a\x20\x20end\x0aend\x0alocal\x20n\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0alocal\x20ttl\x20=\x20tonumber(ARGV[2])\x0aif\x20ttl\x20>\x200\x20and\x20n\x20==\x201\x20then\x0a\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20ttl)\x0aend\x0areturn\x20{n,\x200}\x0a',LUA_RELEASE_NUMBER='\x0aredis.call(\x27ZADD\x27,\x20KEYS[1],\x20ARGV[1],\x20ARGV[1])\x0alocal\x20ttl\x20=\x20tonumber(ARGV[2])\x0aif\x20ttl\x20>\x200\x20then\x0a\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20ttl)\x0aend\x0areturn\x201\x0a',LUA_RESERVE_NUMBER=a0_0x4b7b0d(0x197),LUA_CONFIRM_RESERVATION=a0_0x4b7b0d(0x17b),LUA_CANCEL_RESERVATION=a0_0x4b7b0d(0x12f),LUA_EXTEND_RESERVATION=a0_0x4b7b0d(0x188);class IdGeneratorError extends Error{constructor(_0x2e5767,_0x2f02a9,_0x50ea65=null){const _0x5be1b2=a0_0x4b7b0d,_0x190bf7={'SzWqX':'IdGeneratorError'};super(_0x2f02a9||_0x2e5767),this[_0x5be1b2(0x19e)]=_0x190bf7['SzWqX'],this[_0x5be1b2(0x107)]=_0x2e5767,this[_0x5be1b2(0x121)]=_0x50ea65;}}function a0_0x3b0d(){const _0x3bcba0=['tNvTyMvYignVDw50zxiGCgfYDcbTDxn0igjLigv4ywn0BhKG','ovjrD0zWwG','zw5HyMXLza','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','q291BNrLCIbVDMvYzMXVDZOG','AwrNzw4','zgvMyxvSDenVzgvqyxr0zxjU','sw52ywXPzcbYzxvZzurLBgv0ztOGBxvZDcbIzsbIB29SzwfUicHNB3q6ia','vw5RBM93BIbTB2rLoIa','mwHJveHZra','Bw9Kzq','x2rLzMf1BhrqAw5eAwDPDhm','zgf0zvbYzwzPEa','surhru5Fsu5wquXjrf9srvnpvvjdrq','x2j1AwXKuMvZzxj2yxrPB25lzxLqCMvMAxG','x2j1AwXKuMvZzxj2yxrPB25lzxK','qMzmvwW','x2DLDenVDw50zxjuveW','otu2ndeWC2Ttu1fO','s2LgvNi','BMH1ENq','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vY','t3P0AfC','zgvS','CMvZzxj2zu51BwjLCG','swrLBxbVDgvUy3KGy2fJAguGseLu','y2fcBKq','Bwf4uMv0CNK','y3jLyxrLzef0','wenizhy','CgfKzgvKicHNB3q6ia','rxzcqKK','x2j1AwXKuMv1C2vlzxK','surhru5Fsu5wquXjrf9esuDjvfm','x3zHBgLKyxrLtwf4uMv0CNK','C2vYAwfS','x2j1AwXKtwv0yuTLEq','v1LNsKi','ChvZAa','AxnfBMfIBgvK','zfzLywG','D2fYBG','lI9SB2DNzxi','suqGr2vUzxjHDg9Yig51BwjLCIbYzwXLyxnLzdOG','zw52','sw52ywXPzcbYzxnVDxjJztOGBxvZDcbTyxrJAca','tNvTyMvYihbYzwzPEcbTAxnTyxrJAdOGzxHWzwn0zwqG','A2v5uhjLzML4','vwvtvNq','swrLBxbVDgvUy3KGCMv0CMLLDMuGzxjYB3i','AwrLBvruta','ugH5Eu4','rMfPBgvKihrVihjLBgvHC2uGy291BNrLCIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','x3jLDhjPzxzLswrLBunHy2HL','AwrNzw5FBNvTyMvYx3jLC2vYDMvK','D2LUBMvYuMvZDwX0','Cg93','Dg9mB3DLCKnHC2u','DxHZtLm','qwniCeG','CMfUzg9Tsw50','ihnLy29UzhmGkgDVDdOG','yM9VBgvHBG','x3jLC2vYDMvezwzHDwX0vfrm','surhru5Frevgqvvmvf9nqvHFuKvuuLK','zxzHBa','x2TLEvbYzwzPEa','mJyYmJq4z01nEev2','otK5os05otK5','zxHWAxjLC0f0','suqGr2vUzxjHDg9YihjHBMrVBsbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','icHNB3q6ia','C2v0zxG','EMH5Du0','ChjLzML4','AhP2svq','mdeYmZq1nJC4oufcq0rfrG','qLDRDuC','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','x3bHCNnLtNvTyMvY','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','AwrNzw5FAwrLBv9YzxrYAwv2zv9LCNjVCG','x2DLBMvYyxrLrNjVBvbHDhrLCM4','surhru5FuKvtrvjwrv9eruzbvuXux1ruta','suqGr2vUzxjHDg9Yig51BwjLCIbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','AwrLBuTLEq','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','nduWmtK5ohHXAvfQzG','AwrNzw5FAwrLBv9ZDg9Yzw54x2vYCM9Y','lcbNB3qG','CMvZzxj2zu1HEfruta','y3j5ChrV','AgDLDgfSBa','AxnjBNrLz2vY','z1LssgS','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','twT2r3G','u0Hxz3K','y29Kzq','zgLNAxrZ','sNvqrui','surhru5FreLtqujmruq','suqGr2vUzxjHDg9YihjLC2v0oIa','CgXnvfy','CMvZzxj2zurLzMf1BhruveW','y291BNrLCKLUDa','mJaZmJC0odnxq2Hes28','sw52ywXPzcbWCMvMAxG6ig11C3qGBwf0y2GG','v3zsyuC','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','CfPiyuK','surhru5Fsu5wquXjrf9nqvHFuKvuuLK','rgvqAhC','x3rLEhq','DMfSDwuGAxmGCMvXDwLYzwq','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vYx2nHBMnLBf9LCNjVCG','shn1q0y','zgvMyxvSDfbPBKrPz2L0CW','sw52ywXPzcbMB3jTyxq6ia','ywXSB3DszxnLDa','surhru5Fq09vtLrfuL9pvKvsrKXpvW','Dgv4Da','surhru5Fsu5wquXjrf9gt1jnqvq','v1z4rge','zgv0ywLSCW','suqGr2vUzxjHDg9YihjLC2v0oIbYyw5KB206','Dg9Rzw4','qMf0CMy','x2j1AwXKswrLBuTLEq','z2v0','mta2nJG5nNPLCgvhDW','DgvZDa','veDqzvO','x2rLzMf1BhrdB2rLugf0DgvYBG','AwrNzw5FCMvZzxq','suqGr2vUzxjHDg9YihjHBMrVBtOG','C3rYAw5N','AwrNzw5Fy29UC3vTzwq','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYKkBg9JywWGy291BNrLCIa9igHBmv0kAwyGy291BNrLCIb0AgvUcIaGCMvKAxmUy2fSBcGNwKfercCSieTfwvnBm10SignVDw50zxiSignVDw50zxiPcIaGBg9JywWGDhrSid0GDg9UDw1IzxiOqvjhvLSYxsKkicbPzIb0DgWGpIaWihrOzw4kicaGihjLzgLZlMnHBgWOj0vyueLsrsCSieTfwvnBm10Sihr0BcKkicbLBMqkzw5KcNjLzgLZlMnHBgWOj0rftcCSieTfwvnBmv0PcNjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqPYzxr1CM4GEYaXlcbJB3vUDgvYlcbOwZjDlcbOwZnDih0k','AwrNzw5FAwrLBv9SB3nLCL9YzwXLyxnLx2vYCM9Y','ywXS','x3zHBgLKyxrLugf0DgvYBG','Chr0Ba','CNn2s2v5','CMv1C2u','surhru5Fq09vtLrfuL9uveXFrefjtfK','suqGr2vUzxjHDg9YihjLC2vYDMuGAwrLBsbYywnLigXVC3qSihjLDhvYBMLUzYb3Aw5UzxiGzw52zwXVCgu','AxnZDwvKoG','lcbLEhbLy3rLzca','ENjHBMDL','surhru5Frevgqvvmvf9trvjjquXFuefuvevstG','Aw5MBW','D3vkwhq','sw52ywXPzcbYzxnLCNzHDgLVBIb0DgW6ig11C3qGyMuGAw50zwDLCIa','x2j1AwXKu2vXs2v5','ntK5ntyYnKf4svzVuG','BgvUz3rO','x3zHBgLKyxrLuMvZB3vYy2u','x2rLzMf1BhrnyxHszxrYEq','CMvZzxj2zv9Jyw5JzwW','ruXdthe','CMvSzwfZzu51BwjLCG','vePwy0C','AwrNzw5FBNvTyMvYx3jLBgvHC2vK','lI9PzgvTCg90zw5JEs1Tyw5Hz2vY','CMfUzg9T','zM9YBwf0','vvHrAK4','x3vWzgf0zu1LDge','x3jLC2vYDMvnyxHuveW','AwrNzw5FCMvZzxj2yxrPB25Fy2fUy2vSBgvK','wKThsMi','AwrLBxbVDgvUy3LlzxK','C3rYAw5NAwz5','AwrNzw5FBNvTyMvYx2LKzw1FBg9Zzxi','rMfPBgvKihrVignVBxbLBNnHDguGCMvZzxj2yxrPB24Gywz0zxiGy291BNrLCIbVDMvYzMXVDW','mtbSrKLkDNm','CNn2swr4s2v5','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcaOz290oIa','nde4ne5vAgPvtW','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignHBMnLBgXLzdOG','EMnHCMq','AgfZ','Chr3BwW','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','suqGr2vUzxjHDg9YignVBNn1BwvKoIa','z0zks00','Dhj1zq','EKnXCMS','sw52ywXPzcbUDw1Izxi6ig11C3qGyMuGBM9UlwvTChr5ihn0CMLUzW','y21OCfi','CgfYC2u','x2j1AwXKrM9YBwf0s2v5','ExL5Ew1T','q2fjAMq','uhnWyNy','surhru5Fsu5wquXjrf9ut0TftG','x3L5ExLF','surhru5FuKvtrvrFtK9ux0fmte9xruq','x3n0B3jLswrLBunHy2HLtLG','C1LuCMe','sLr1A00','x2vUC3vYzuLUAxrPywXPEMvK','surhru5FuKvtrvjwrv9nqvHFvfrm','wwj1tKq','u3jRy1G','C3jLBq','DwjbAMW','zxHWAxjL','rwniAuK','surhru5FquXmt1DFuKvtrvq','BNvTyMvY','wxPvv0K','rMfPBgvKihrVignHBMnLBcbYzxnLCNzHDgLVBIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYWGj2LZuMv1C2vKjYWGj2nYzwf0zwrbDcCSicDLEhbPCMvZqxqNkqPYzwrPCY5JywXSkcDeruWNlcblrvLtwZfDkqPYzwrPCY5JywXSkcDAuKvnjYWGs0vzu1SYxsWGqvjhvLSXxsKkCMv0DxjUihSGmsWGAfSXxsWGAfSYxsWGAfSZxsWGAfS0xsWGAfS1xsWGAfS2xsb9cG','BwvZC2fNzq','mdeYmZq1nJC4owfIy2rLzG','icH0B2TLBJ0','yNvPBgrezxrLCM1PBMLZDgLJs2v5','x3vUzg9syw5KB21szxnLCNzHDgLVBG','A2v5CW','zgvMyxvSDe1HEfjLDhj5','DhrS','C3rVCMvK','tLbpBwK','Dg9ju09tDhjPBMC','AxnszxvZzwq','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2v4CgLYzxnbDcCSicDJB3vUDgvYjYWGj3zHBhvLjYWGj2zVCM1HDeTLEsCSicDPC1jLDxnLzcCSicDJCMvHDgvKqxqNkqPSB2nHBcbWCMv2rxHWAxjLC0f0id0GAfSXxqPSB2nHBcbUzxDuDgXnCYa9ihrVBNvTyMvYkefsr1zBmL0PcMXVy2fSig5LD0v4Ce1Zid0GDg9UDw1IzxiOqvjhvLSZxsKkCMvKAxmUy2fSBcGNuevyueLsrsCSieTfwvnBmv0Sig5LD1r0Be1ZkqPYzwrPCY5JywXSkcDiu0vujYWGs0vzu1SXxsWGj2v4CgLYzxnbDcCSiefsr1zBnf0PcNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZjDlcbUzxDfEhbnCYWGqvjhvLSXxsKkCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SYxsWGBwf0Ac5MBg9VCIHUzxDuDgXnCYaVideWmdaPicSGnJaPcNjLDhvYBIb7ideSihbYzxzfEhbPCMvZqxqSigHBmL0SigHBm10SigHBnf0SigHBnv0SigHBnL0GFqO','twv0ysb1CgrHDguGzxjYB3i','zgvMyxvSDfnLCMLHBfbHDhrLCM4','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','BwfW','AwrNzw5FAwrLBv9OAxq','C2vWyxjHDg9Y','sw52ywXPzcbTyxHszxrYEtOGBxvZDcbIzsbPBNrLz2vYideT','AwrNzw5FCMvZzxj2yxrPB25Fy29UzMLYBwvK','x2rLzMf1BhrtzxjPywXqyxr0zxjU','AwrNzw5FBNvTyMvYx2DLBMvYyxrLza','lcaR','suqGr2vUzxjHDg9Yig51BwjLCJOG','surhru5Fvu5juvvfx1jfvfjzx0vysefvu1rfra','vurpwem','cMXVy2fSihvUCgSGpsb1BNbHy2SGB3iGDgfIBguUDw5WywnRcGOTlsbtDgvWide6igXHENKGCMvHCcbLEhbPCMvKihjLC2vYDMf0Aw9UCYaOy2fWifjfu0vsvKvFuKvbuf9cqvrdscKkBg9JywWGCMvHCgvKid0GmaPSB2nHBcbUB3DnCYa9iefsr1zBn10kBg9JywWGCNn2uhjLzML4id0GqvjhvLS4xqPSB2nHBcbLEhbPCMvKid0GCMvKAxmUy2fSBcGNwLjbtKDfqLLtq09srsCSieTfwvnBm10SicCTAw5MjYWGjYGNic4Uig5VD01ZlcaNteLnsvqNlcaWlca2ncKkzM9YigKGpsaXlcaJzxHWAxjLzcbKBWOGigXVy2fSigv4CfrVA2vUid0GzxHWAxjLzfTPxqOGigXVy2fSigv4CfjZDKTLEsa9ihjZDLbYzwzPEcaUlIbLEhbuB2TLBGOGigXVy2fSigv4CenVDw50zxiGpsbYzwrPCY5JywXSkcDir0vujYWGzxHWuNn2s2v5lcaNy291BNrLCICPcIaGAwyGzxHWq291BNrLCIb0AgvUcIaGicbYzwrPCY5JywXSkcDAqurejYWGs0vzu1SYxsWGzxHWq291BNrLCIWGzxHWq291BNrLCIKkicbLBMqkicbYzwrPCY5JywXSkcDeruWNlcbLEhbsC3zlzxKPcIaGCMvKAxmUy2fSBcGNwLjftsCSieTfwvnBm10Sigv4CfrVA2vUkqOGihjLyxbLzca9ihjLyxbLzcaRidekzw5KcGOTlsbtDgvWidi6igfSBg9JyxrLignVDw50zxiGkfPqt1bnsu4GCMv1C2uGyxrHDsbjtKnsihnLCsKkBg9JywWGy291BNrLCKLUDaPSB2nHBcbPC1jLDxnLzca9idakAwyGqvjhvLSXxsa9psaNmsCGDgHLBGOGigXVy2fSihiGpsbYzwrPCY5JywXSkcDAue9qtuLojYWGs0vzu1SYxsWGmsKkicbPzIaJCIa+idaGDgHLBGOGicaGy291BNrLCKLUDca9ihrVBNvTyMvYkhjBmv0PcIaGicbPC1jLDxnLzca9idekicbLBMqkzw5KcMLMig5VDcbJB3vUDgvYsw50ihrOzw4kicbJB3vUDgvYsw50id0GCMvKAxmUy2fSBcGNsu5duICSieTfwvnBmv0PcIaGBg9JywWGy3r0Bca9ihrVBNvTyMvYkefsr1zBmL0PcIaGAwyGy3r0Bca+idaGyw5KignVDw50zxjjBNqGpt0Gmsb0AgvUcIaGicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcbJDhrSkqOGigvUzaPLBMqkcI0Tifn0zxaGmZOGD3jPDguGCMvZzxj2yxrPB24GAgfZAcaRigLUzgv4icSGvfrmcMXVy2fSihjZDKTLEsa9iefsr1zBnf0kBg9JywWGCNn2vhrStxmGpsb0B251BwjLCIHbuKDwwZvDkqPSB2nHBcbLEhbPCMvZqxrnCYa9ihrVBNvTyMvYkefsr1zBnL0PcMXVy2fSig5HCMDZid0Gi0fsr1ykBg9JywWGzMLLBgrZid0GE30kzM9YigKGpsa5lcbUyxjNCYbKBWOGigzPzwXKC1SJzMLLBgrZicSGmv0GpsbbuKDww2LDcMvUzaPYzwrPCY5JywXSkcDiu0vujYWGCNn2s2v5lcaNy291BNrLCICSignVDw50zxjjBNqSicDPC1jLDxnLzcCSigLZuMv1C2vKlcb1BNbRkgzPzwXKCYKPcNjLzgLZlMnHBgWOj1bfwfbjuKuNlcbYC3zlzxKSihjZDLr0Be1ZkqPYzwrPCY5JywXSkcDAqurejYWGs0vzu1SZxsWGzxHWAxjLC0f0txmSiefsr1zBm10PcNjLzgLZlMnHBgWOj0vyueLsrsCSieTfwvnBm10Sig1HDgGUzMXVB3iOCNn2vhrStxmGlYaXmdaWksaRidyWkqOkCMv0DxjUihSGy291BNrLCKLUDcWGAxnszxvZzwqSihjLyxbLzcb9cG','ExL5Eq','zxHLyW','x3zHBgLKyxrLuMvZzxj2zvruta','DxfUD0K','uePHtfm','odbsA2rKu0K','BMfTzq','zwvvAK4','D2XZC3G','x2fSBg93uMvZzxq','x3n0B3jLswrLBunHy2HL','uM52qNK','z2v0q2XPzw50','x2nVDw50zxjuveXnyxa','BvvSDLu','CMvZzxj2zq','x3bHzdi','CgfKu3rHCNq','tefOEhy','x2j1AwXKqwn0AxzLs2v5','igv4y2vLzhmG','BNvTrgLNAxrZ','wwnhEgS','BKv1uum','ru5vt1G','AvHYB1a','AxnZDwvK','y3v3vLG','sw5it0q','sw52ywXPzcbWyxr0zxjUoIbTDxn0ignVBNrHAw4GyxqGBgvHC3qGB25LihbSywnLAg9SzgvYignOyxjHy3rLCIaOos9ol0eVys9ml1GVEc9il2GP','AwjTEKu','surhru5Fsu5wquXjrf9ovu1crvi','y291BNrLCG','zw5ZDxjLvw5PCxvL','CMvWzwf0','suqGr2vUzxjHDg9YignVBMzPzYbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','x2LUAxrPywXPEMvK','CMvZzxj2zv9JB25MAxjT','CMvZzxq','A1LhzM4','zM9YBwf0s2v5igLZihjLCxvPCMvKigLUigXVDY1SzxzLBcbYzwXLyxnL','surhru5Fq09vtLrfuL9uveXFtu9oveHmwq','x2LKzw1uveW','x2vUywjSzwq','B3LtEhu','zxHWB3j0CW','x3zHBgLKyxrLvfrm','rLLPEMO','sw52ywXPzcbKAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','CMvZB3vYy2u','x2LUAxrdB25MAwC','Bwf0y2G','BM93','mxW4Fdb8nxWYFdD8m3W5FdeXFdz8mtb8na','zM9YBwf0s2v5','CgvLAW','vevrBgq','surhru5Fsu5wquXjrf9ovu1FreLhsvrt','vw5RBM93BIbMB3jTyxq6ia'];a0_0x3b0d=function(){return _0x3bcba0;};return a0_0x3b0d();}class IdGenerator{constructor(){const _0x2cff35=a0_0x4b7b0d,_0x4382e6={'plMTV':_0x2cff35(0x1cd)},_0x45cfb2=_0x4382e6[_0x2cff35(0x10c)]['split']('|');let _0x495b69=0x0;while(!![]){switch(_0x45cfb2[_0x495b69++]){case'0':this[_0x2cff35(0xe7)]=null;continue;case'1':this[_0x2cff35(0x1bc)]=![];continue;case'2':this[_0x2cff35(0x1a1)]=null;continue;case'3':this['_defaultPinDigits']=null;continue;case'4':this[_0x2cff35(0x14e)]=null;continue;case'5':this['_idemTTL']=null;continue;case'6':this[_0x2cff35(0x1a5)]=null;continue;case'7':this[_0x2cff35(0x143)]=null;continue;case'8':this[_0x2cff35(0x1c3)]=null;continue;case'9':this['_defaultSerialPattern']=null;continue;case'10':this['_reserveDefaultTTL']=null;continue;case'11':this[_0x2cff35(0x12a)]=null;continue;}break;}}[a0_0x4b7b0d(0x1ca)](){const _0x9d740a=a0_0x4b7b0d,_0x2b8c7a={'ELCLq':'rf:idgen:','PJaLS':function(_0x4ba755,_0xf40671){return _0x4ba755===_0xf40671;},'dLXFI':'true','iXroP':_0x9d740a(0xe9),'cvfwM':function(_0xd8868e,_0x4d7f91,_0x513666){return _0xd8868e(_0x4d7f91,_0x513666);},'yZpHY':function(_0x3cd51f,_0x560f05,_0x1fa025){return _0x3cd51f(_0x560f05,_0x1fa025);},'sXRsS':'idgen_config_init'};this[_0x9d740a(0xe7)]=_0x2b8c7a[_0x9d740a(0x145)],this[_0x9d740a(0x1c3)]=process['env']['IDGEN_ENABLED']===_0x9d740a(0x160),this[_0x9d740a(0x1c2)]=parseInt(process[_0x9d740a(0xd1)]['IDGEN_IDEM_TTL'],0xa)||0x258,this[_0x9d740a(0x1a1)]=_0x2b8c7a[_0x9d740a(0x19c)](process[_0x9d740a(0xd1)][_0x9d740a(0x177)],_0x2b8c7a['dLXFI']),this[_0x9d740a(0x143)]=parseInt(process['env'][_0x9d740a(0xe5)],0xa)||0xa,this['_defaultPinDigits']=parseInt(process['env']['IDGEN_DEFAULT_PIN_DIGITS'],0xa)||0x6,this[_0x9d740a(0x191)]=process[_0x9d740a(0xd1)][_0x9d740a(0x13b)]||'XXXX-XXXX-XXXX-XXXX',this['_defaultCodePattern']=process['env']['IDGEN_DEFAULT_CODE_PATTERN']||_0x2b8c7a[_0x9d740a(0x1b1)],this[_0x9d740a(0x1a5)]={'yyyymm':parseInt(process['env'][_0x9d740a(0x1c1)],0xa)||0x2a3000,'yyyymmdd':_0x2b8c7a['cvfwM'](parseInt,process[_0x9d740a(0xd1)][_0x9d740a(0x136)],0xa)||0x2a300},this['_reserveDefaultTTL']=_0x2b8c7a['yZpHY'](parseInt,process['env'][_0x9d740a(0xf8)],0xa)||DEFAULT_RESERVE_TTL,this[_0x9d740a(0x14e)]=_0x2b8c7a['cvfwM'](parseInt,process['env'][_0x9d740a(0x170)],0xa)||MAX_RESERVE_TTL,this['_initialized']=!![],logger[_0x9d740a(0x13c)]({'event':_0x2b8c7a['sXRsS'],'enabled':this['_enabled'],'idemTTL':this['_idemTTL'],'allowReset':this[_0x9d740a(0x1a1)],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this['_defaultPinDigits'],'reserveDefaultTTL':this[_0x9d740a(0xe4)],'reserveMaxTTL':this['_reserveMaxTTL']},_0x9d740a(0x1bb)+this[_0x9d740a(0x1c3)]);}['_ensureInitialized'](){const _0x17916c=a0_0x4b7b0d;if(!this['_initialized'])this[_0x17916c(0x1ca)]();}get['enabled'](){const _0x5a3724=a0_0x4b7b0d;return this['_ensureInitialized'](),this[_0x5a3724(0x1c3)];}get['keyPrefix'](){const _0x1b013d=a0_0x4b7b0d;return this['_ensureInitialized'](),this[_0x1b013d(0xe7)];}get['idemTTL'](){const _0x3df99f=a0_0x4b7b0d;return this[_0x3df99f(0x16f)](),this[_0x3df99f(0x1c2)];}get[a0_0x4b7b0d(0x11c)](){const _0x3dd850=a0_0x4b7b0d;return this['_ensureInitialized'](),this[_0x3dd850(0x1a1)];}get['defaultMaxRetry'](){const _0x5b353f=a0_0x4b7b0d;return this[_0x5b353f(0x16f)](),this['_defaultMaxRetry'];}get[a0_0x4b7b0d(0x11a)](){const _0xf70ba6=a0_0x4b7b0d;return this[_0xf70ba6(0x16f)](),this[_0xf70ba6(0x1de)];}get[a0_0x4b7b0d(0x18a)](){return this['_ensureInitialized'](),this['_defaultSerialPattern'];}get[a0_0x4b7b0d(0x1d9)](){const _0x5e0a2a=a0_0x4b7b0d;return this[_0x5e0a2a(0x16f)](),this[_0x5e0a2a(0x12a)];}get[a0_0x4b7b0d(0x10d)](){return this['_ensureInitialized'](),this['_reserveDefaultTTL'];}get[a0_0x4b7b0d(0xff)](){const _0x2b3d2d=a0_0x4b7b0d;return this['_ensureInitialized'](),this[_0x2b3d2d(0x14e)];}[a0_0x4b7b0d(0x1fa)](){return this['enabled'];}[a0_0x4b7b0d(0x142)](_0x4ea8fe){const _0x5bd700=a0_0x4b7b0d,_0x1624b8={'TGPeZ':function(_0x407762,_0x20af07){return _0x407762!==_0x20af07;},'wzjDM':_0x5bd700(0x12d),'OzthW':'IDGEN_INVALID_RESOURCE'};if(_0x1624b8[_0x5bd700(0x129)](typeof _0x4ea8fe,_0x1624b8['wzjDM'])||!RESOURCE_REGEX['test'](_0x4ea8fe))throw new IdGeneratorError(_0x1624b8[_0x5bd700(0x1e9)],_0x5bd700(0xd2)+RESOURCE_REGEX+_0x5bd700(0xec)+JSON[_0x5bd700(0x152)](_0x4ea8fe)+')');}[a0_0x4b7b0d(0xf5)](_0xb5faca){const _0x5083de=a0_0x4b7b0d,_0x4d4608={'HsuCF':function(_0x52002f,_0x5ebfee){return _0x52002f===_0x5ebfee;},'BmsaP':'string','eAXxZ':function(_0x3c4e14,_0x44af2c){return _0x3c4e14<_0x44af2c;},'NZNVS':function(_0x4f02c3,_0x524a06){return _0x4f02c3>_0x524a06;},'DePhw':_0x5083de(0x1d1),'CudmP':function(_0x493c89,_0x474764){return _0x493c89==_0x474764;},'dXciP':function(_0x599b41,_0x4a06b9){return _0x599b41!==_0x4a06b9;},'PhyyN':function(_0x3148b4,_0x3d1455){return _0x3148b4>_0x3d1455;},'WYgJB':function(_0x23753f,_0x23ebbb){return _0x23753f!=_0x23ebbb;},'ZKGJb':_0x5083de(0xe3),'YbuND':_0x5083de(0x1e0),'FYizj':function(_0x2487bc,_0x32f2cc){return _0x2487bc===_0x32f2cc;}},{resource:_0x1bdc64,format:_0x440494,prefix:_0x2b7c9f,separator:_0xe1d126,numDigits:_0x4c6a50,reuseDelete:_0xbddd83}=_0xb5faca;this['_validateResource'](_0x1bdc64);const _0x49729f=_0x4d4608[_0x5083de(0x119)](typeof _0x440494,_0x4d4608['BmsaP'])?_0x440494[_0x5083de(0xde)]():'';if(!ALLOWED_FORMATS[_0x5083de(0x15b)](_0x49729f))throw new IdGeneratorError('IDGEN_INVALID_FORMAT','Invalid\x20format:\x20must\x20be\x20one\x20of\x20'+[...ALLOWED_FORMATS]['join'](',\x20')+'\x20(got:\x20'+_0x440494+')');if(!Number[_0x5083de(0x102)](_0x4c6a50)||_0x4d4608['eAXxZ'](_0x4c6a50,MIN_NUM_DIGITS)||_0x4d4608['NZNVS'](_0x4c6a50,MAX_NUM_DIGITS))throw new IdGeneratorError(_0x4d4608[_0x5083de(0x115)],'Invalid\x20numDigits:\x20must\x20be\x20integer\x20'+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+'\x20(got:\x20'+_0x4c6a50+')');const _0x482ae7=_0x2b7c9f==null?'':_0x2b7c9f;if(typeof _0x482ae7!==_0x5083de(0x12d)||!PREFIX_REGEX['test'](_0x482ae7))throw new IdGeneratorError('IDGEN_INVALID_PREFIX',_0x5083de(0x110)+PREFIX_REGEX+_0x5083de(0xec)+JSON['stringify'](_0x2b7c9f)+')');const _0x480565=_0x4d4608['CudmP'](_0xe1d126,null)?'':_0xe1d126;if(_0x4d4608['dXciP'](typeof _0x480565,'string')||_0x4d4608[_0x5083de(0xd8)](_0x480565['length'],0x3)||SEPARATOR_FORBIDDEN[_0x5083de(0x128)](_0x480565))throw new IdGeneratorError('IDGEN_INVALID_SEPARATOR','Invalid\x20separator:\x20max\x203\x20char,\x20must\x20not\x20contain\x20\x27:\x27\x20(got:\x20'+JSON['stringify'](_0xe1d126)+')');if(_0x4d4608[_0x5083de(0x1f8)](_0xbddd83,null)&&typeof _0xbddd83!==_0x4d4608[_0x5083de(0x150)])throw new IdGeneratorError(_0x4d4608[_0x5083de(0x171)],_0x5083de(0x1da)+typeof _0xbddd83+')');return{'resource':_0x1bdc64,'format':_0x49729f,'prefix':_0x482ae7,'separator':_0x480565,'numDigits':_0x4c6a50,'reuseDelete':_0x4d4608[_0x5083de(0x1c7)](_0xbddd83,!![])};}[a0_0x4b7b0d(0x132)](_0x5821b5){const _0x143d7b=a0_0x4b7b0d,_0xf1d154={'UDOXC':'IDGEN_INVALID_PATTERN'};if(typeof _0x5821b5!=='string'||_0x5821b5['length']===0x0||_0x5821b5['length']>MAX_PATTERN_LENGTH)throw new IdGeneratorError(_0xf1d154[_0x143d7b(0x196)],'Invalid\x20pattern:\x20must\x20be\x20string\x201-'+MAX_PATTERN_LENGTH+'\x20chars\x20(got\x20length:\x20'+(_0x5821b5&&_0x5821b5['length'])+')');let _0x13491c=![];for(const _0x4632c7 of _0x5821b5){if(PLACEHOLDER_MAP[_0x4632c7]){_0x13491c=!![];break;}}if(!_0x13491c)throw new IdGeneratorError('IDGEN_INVALID_PATTERN',_0x143d7b(0x1b5));}[a0_0x4b7b0d(0x1c6)](_0x411a68){const _0x16c703=a0_0x4b7b0d,_0x4feaab={'bAtJr':function(_0x181eb9,_0x5eab21){return _0x181eb9==_0x5eab21;},'EcHiI':function(_0x1a353d,_0x310470){return _0x1a353d>_0x310470;}};if(_0x4feaab['bAtJr'](_0x411a68,null))return undefined;if(!Number['isInteger'](_0x411a68)||_0x411a68<0x1||_0x4feaab[_0x16c703(0x176)](_0x411a68,MAX_TTL))throw new IdGeneratorError('IDGEN_INVALID_TTL','Invalid\x20ttl:\x20must\x20be\x20integer\x201-'+MAX_TTL+'\x20seconds\x20(got:\x20'+_0x411a68+')');return _0x411a68;}['_validateMaxRetry'](_0x44ab34){const _0xd559c8=a0_0x4b7b0d,_0x48ee64={'MptfY':function(_0x1e3dbc,_0x2c6d91){return _0x1e3dbc<_0x2c6d91;},'UszWY':_0xd559c8(0x114)};if(_0x44ab34==null)return this[_0xd559c8(0x182)];if(!Number[_0xd559c8(0x102)](_0x44ab34)||_0x48ee64['MptfY'](_0x44ab34,0x1)||_0x44ab34>MAX_RETRY_LIMIT)throw new IdGeneratorError(_0x48ee64['UszWY'],_0xd559c8(0x18f)+MAX_RETRY_LIMIT+'\x20(got:\x20'+_0x44ab34+')');return _0x44ab34;}['_validateIdempotencyKey'](_0x30beef){const _0x4dc41b=a0_0x4b7b0d,_0x3d2433={'ibmzE':function(_0x5e0d97,_0x28686f){return _0x5e0d97>_0x28686f;},'KiFVr':_0x4dc41b(0x1e0)};if(_0x30beef==null)return undefined;if(typeof _0x30beef!==_0x4dc41b(0x12d)||_0x30beef[_0x4dc41b(0x141)]===0x0||_0x3d2433[_0x4dc41b(0x1b6)](_0x30beef['length'],MAX_IDEMPOTENCY_KEY_LENGTH))throw new IdGeneratorError(_0x3d2433[_0x4dc41b(0x1e6)],'Invalid\x20idempotencyKey:\x20must\x20be\x20string\x201-'+MAX_IDEMPOTENCY_KEY_LENGTH+'\x20chars');return _0x30beef;}[a0_0x4b7b0d(0x19a)](_0x31450f){const _0x166077=a0_0x4b7b0d,_0x439e72={'RRQkp':function(_0x5e4543,_0x1351f5){return _0x5e4543==_0x1351f5;},'ptwml':function(_0x49ed6f,_0x43243b){return _0x49ed6f<_0x43243b;},'TEQld':'IDGEN_INVALID_RESERVE_TTL'};if(_0x439e72['RRQkp'](_0x31450f,null))return this['reserveDefaultTTL'];if(!Number[_0x166077(0x102)](_0x31450f)||_0x439e72[_0x166077(0x15c)](_0x31450f,MIN_RESERVE_TTL)||_0x31450f>this['reserveMaxTTL'])throw new IdGeneratorError(_0x439e72[_0x166077(0x1d0)],_0x166077(0x13e)+MIN_RESERVE_TTL+'-'+this[_0x166077(0xff)]+_0x166077(0xe2)+_0x31450f+')');return _0x31450f;}['_validateReservationToken'](_0x123a0d){const _0x2d14df=a0_0x4b7b0d,_0x48e609={'bQkuK':function(_0x5dcfea,_0x1d4f57){return _0x5dcfea!==_0x1d4f57;},'UeSVt':_0x2d14df(0x169)};if(_0x48e609['bQkuK'](typeof _0x123a0d,'string')||!RESERVATION_TOKEN_REGEX['test'](_0x123a0d))throw new IdGeneratorError(_0x48e609[_0x2d14df(0xd5)],'Invalid\x20reservation\x20token:\x20must\x20be\x20UUID\x20v4\x20format\x20(got:\x20'+JSON['stringify'](_0x123a0d)+')');return _0x123a0d;}['_pad2'](_0x365484){const _0xa0102b=a0_0x4b7b0d,_0x336ff5={'CaIjd':function(_0x4a2db0,_0x2c21bb){return _0x4a2db0(_0x2c21bb);}};return _0x336ff5[_0xa0102b(0x167)](String,_0x365484)[_0xa0102b(0x1a9)](0x2,'0');}['_buildFormatKey'](_0xde8cc2,_0x1c3799,_0x3f92c5=new Date()){const _0x577418=a0_0x4b7b0d,_0x5165af={'aBTiY':_0x577418(0x198),'uxsNS':_0x577418(0x166),'oavnV':'yyyymmdd'},_0x14e451=_0x3f92c5['getFullYear'](),_0x1ebccf=this[_0x577418(0x1a8)](_0x3f92c5['getMonth']()+0x1),_0x2ee918=this['_pad2'](_0x3f92c5['getDate']()),_0x37d175=_0x1c3799||'_';let _0x5e9ece,_0x45c1f6='';switch(_0xde8cc2){case'text':_0x5e9ece=_0x37d175+'_text';break;case _0x5165af['aBTiY']:_0x45c1f6=''+_0x14e451,_0x5e9ece=_0x37d175+_0x577418(0x16a)+_0x45c1f6;break;case _0x5165af[_0x577418(0xdf)]:_0x45c1f6=''+_0x14e451+_0x1ebccf,_0x5e9ece=_0x37d175+'_yyyymm_'+_0x45c1f6;break;case _0x5165af['oavnV']:_0x45c1f6=''+_0x14e451+_0x1ebccf+_0x2ee918,_0x5e9ece=_0x37d175+'_yyyymmdd_'+_0x45c1f6;break;default:throw new IdGeneratorError(_0x577418(0x11f),_0x577418(0x1d2)+_0xde8cc2);}return{'formatKey':_0x5e9ece,'datePrefix':_0x45c1f6};}['_buildSeqKey'](_0x1da552,_0x47a98c){const _0x2396c0=a0_0x4b7b0d;return this[_0x2396c0(0xd4)]+'seq:'+_0x1da552+':'+_0x47a98c;}[a0_0x4b7b0d(0x1f3)](_0xdec4ee,_0x1d3be7){const _0x4af884=a0_0x4b7b0d;return this[_0x4af884(0xd4)]+'reuse:'+_0xdec4ee+':'+_0x1d3be7;}['_buildMetaKey'](_0x71c201,_0x1e2bb8){return this['keyPrefix']+'meta:'+_0x71c201+':'+_0x1e2bb8;}['_buildIssuedKey'](_0x5980b3){const _0x53ddaa=a0_0x4b7b0d;return this['keyPrefix']+_0x53ddaa(0x138)+_0x5980b3;}[a0_0x4b7b0d(0x1ab)](_0x301473,_0x547ba6){return this['keyPrefix']+'active:'+_0x301473+':'+_0x547ba6;}[a0_0x4b7b0d(0x1e2)](_0x4f824a){const _0x4b0558=a0_0x4b7b0d;return this[_0x4b0558(0xd4)]+'rsv:'+_0x4f824a;}['_buildReservationIndexKey'](_0x1a8c8a,_0x4d5784){return this['keyPrefix']+'rsv_idx:'+_0x1a8c8a+':'+_0x4d5784;}[a0_0x4b7b0d(0x1e1)](){return this['keyPrefix']+'rsv:';}['_buildIdemKey'](_0x53b968,_0x4f55c2,_0x535f0a,_0x4ddc9e){const _0x20c7dc=a0_0x4b7b0d,_0x299fc9={'JuPEB':'idgen'};if(_0x535f0a)return idempotencyManager['buildDeterministicKey'](_0x299fc9[_0x20c7dc(0x109)],_0x53b968,_0x4f55c2+':'+_0x535f0a+':'+_0x4ddc9e);return idempotencyManager[_0x20c7dc(0x17f)](_0x20c7dc(0x1d8),_0x53b968,_0x4f55c2+':'+_0x4ddc9e);}[a0_0x4b7b0d(0x1e4)](_0x1fca04){const _0x4304a2=a0_0x4b7b0d;return this[_0x4304a2(0x1a5)][_0x1fca04]||0x0;}['_formatNumber']({format:_0x220187,prefix:_0x1f3647,datePrefix:_0x47e7c6,separator:_0xb53f5c,numDigits:_0x9ce051,counterInt:_0x444556}){const _0x4717a8=a0_0x4b7b0d,_0x32b31d={'gFJKM':function(_0x3f1b68,_0x5d0dcd){return _0x3f1b68>_0x5d0dcd;},'BSMXJ':function(_0x2a629f,_0x2a1fd4){return _0x2a629f(_0x2a1fd4);},'uqnwI':_0x4717a8(0x11e)},_0x2054e3=Math[_0x4717a8(0xdd)](0xa,_0x9ce051)-0x1;if(_0x32b31d[_0x4717a8(0x15f)](_0x444556,_0x2054e3))throw new IdGeneratorError(_0x4717a8(0x11d),_0x4717a8(0x1d7)+_0x444556+_0x4717a8(0x1ac)+_0x9ce051+'-digit\x20capacity\x20('+_0x2054e3+').\x20Increase\x20numDigits.',{'counterInt':_0x444556,'numDigits':_0x9ce051,'max':_0x2054e3});const _0x58fba5=_0x32b31d['BSMXJ'](String,_0x444556)['padStart'](_0x9ce051,'0');if(_0x220187===_0x32b31d[_0x4717a8(0x19b)])return _0x1f3647?''+_0x1f3647+_0xb53f5c+_0x58fba5:_0x58fba5;return _0x1f3647?''+_0x1f3647+_0xb53f5c+_0x47e7c6+_0xb53f5c+_0x58fba5:''+_0x47e7c6+_0xb53f5c+_0x58fba5;}[a0_0x4b7b0d(0xf4)]({format:_0x3edfd0,prefix:_0x5a9e1d,separator:_0x501c56,numDigits:_0x3f28cc,number:_0xfe5676}){const _0x2cd82c=a0_0x4b7b0d,_0x1c990b={'SAmIp':function(_0x392aeb,_0x91562b){return _0x392aeb===_0x91562b;},'BmNxx':function(_0x574164,_0x515749){return _0x574164!==_0x515749;},'ScSpl':_0x2cd82c(0x1b7),'mjbeF':function(_0x5e2766,_0x1f119e){return _0x5e2766===_0x1f119e;},'IcWGE':function(_0x4b68b3,_0x44863c,_0x1e9e85){return _0x4b68b3(_0x44863c,_0x1e9e85);},'zCqrk':'text'};if(typeof _0xfe5676!=='string'||_0x1c990b['SAmIp'](_0xfe5676[_0x2cd82c(0x141)],0x0))throw new IdGeneratorError(_0x2cd82c(0x1b7),_0x2cd82c(0x162));const _0x52a3d6=_0x501c56||'',_0x31fba9=_0x52a3d6===''?[_0xfe5676]:_0xfe5676['split'](_0x52a3d6);let _0x221733='',_0x1a16e3;if(_0x3edfd0===_0x2cd82c(0x11e)){if(_0x5a9e1d){if(_0x1c990b['BmNxx'](_0x31fba9['length'],0x2)||_0x31fba9[0x0]!==_0x5a9e1d)throw new IdGeneratorError(_0x1c990b['ScSpl'],'Number\x20does\x20not\x20match\x20expected\x20format\x20prefix'+_0x52a3d6+_0x2cd82c(0x1f1)+_0xfe5676+')');_0x1a16e3=_0x31fba9[0x1];}else{if(_0x31fba9[_0x2cd82c(0x141)]!==0x1)throw new IdGeneratorError('IDGEN_INVALID_NUMBER','Number\x20does\x20not\x20match\x20expected\x20text\x20format\x20(got:\x20'+_0xfe5676+')');_0x1a16e3=_0x31fba9[0x0];}}else{const _0x2dc6e8=_0x5a9e1d?0x3:0x2;if(_0x31fba9['length']!==_0x2dc6e8)throw new IdGeneratorError(_0x2cd82c(0x1b7),_0x2cd82c(0x157)+_0xfe5676+_0x2cd82c(0x139)+_0x2dc6e8+'\x20parts)');let _0x3dddd5=0x0;if(_0x5a9e1d){if(_0x31fba9[_0x3dddd5]!==_0x5a9e1d)throw new IdGeneratorError(_0x2cd82c(0x1b7),_0x2cd82c(0xd3)+_0x5a9e1d+_0x2cd82c(0xfe)+_0x31fba9[_0x3dddd5]);_0x3dddd5++;}_0x221733=_0x31fba9[_0x3dddd5++];const _0x18998f=_0x1c990b['mjbeF'](_0x3edfd0,'yyyy')?/^\d{4}$/:_0x3edfd0===_0x2cd82c(0x166)?/^\d{6}$/:/^\d{8}$/;if(!_0x18998f['test'](_0x221733))throw new IdGeneratorError(_0x1c990b['ScSpl'],'Number\x20datePrefix\x20invalid\x20for\x20format\x20'+_0x3edfd0+':\x20'+_0x221733);_0x1a16e3=_0x31fba9[_0x3dddd5];}if(!new RegExp('^\x5cd{'+_0x3f28cc+'}$')['test'](_0x1a16e3))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x2cd82c(0x1d3)+_0x3f28cc+'\x20digits\x20(got:\x20'+_0x1a16e3+')');const _0x447f6=_0x1c990b['IcWGE'](parseInt,_0x1a16e3,0xa),_0x1f22aa=_0x5a9e1d||'_';let _0x49968c;return _0x3edfd0===_0x1c990b[_0x2cd82c(0x161)]?_0x49968c=_0x1f22aa+_0x2cd82c(0x116):_0x49968c=_0x1f22aa+'_'+_0x3edfd0+'_'+_0x221733,{'formatKey':_0x49968c,'counterInt':_0x447f6,'datePrefix':_0x221733};}[a0_0x4b7b0d(0xf7)](_0x13a99c){const _0x34cb38=a0_0x4b7b0d;let _0xec97ff='';for(const _0x24e638 of _0x13a99c){const _0x28e560=PLACEHOLDER_MAP[_0x24e638];if(_0x28e560){const _0x222d34=crypto[_0x34cb38(0xe1)](0x0,_0x28e560[_0x34cb38(0x141)]);_0xec97ff+=_0x28e560[_0x222d34];}else _0xec97ff+=_0x24e638;}return _0xec97ff;}async['_retrieveIdemCache'](_0x5a3cee){const _0x15ea38=a0_0x4b7b0d,_0x4b68dd={'cdSWK':_0x15ea38(0x18d),'qRpMN':_0x15ea38(0x1ec)};if(!_0x5a3cee)return null;try{const _0x312d28=redisClient['getClient'](),_0x525d63=await _0x312d28[_0x15ea38(0x126)](_0x5a3cee);if(_0x525d63)return logger[_0x15ea38(0x13c)]({'event':_0x4b68dd['cdSWK'],'key':_0x5a3cee},_0x4b68dd['qRpMN']),JSON[_0x15ea38(0x164)](_0x525d63);return null;}catch(_0x1b3afd){return logger['warn']({'event':_0x15ea38(0xf6),'error':_0x1b3afd['message']},_0x15ea38(0xd6)),null;}}async[a0_0x4b7b0d(0x1a2)](_0x2ac866,_0x5c85cc){const _0x30eee3=a0_0x4b7b0d,_0x46d2fd={'pZHaI':'Idempotency\x20store\x20error'};if(!_0x2ac866)return;try{const _0x2be55c=redisClient[_0x30eee3(0x1a4)]();await _0x2be55c[_0x30eee3(0xed)](_0x2ac866,this[_0x30eee3(0xd7)],JSON[_0x30eee3(0x152)](_0x5c85cc));}catch(_0x52ea82){logger[_0x30eee3(0x1fc)]({'event':'idgen_idem_store_error','error':_0x52ea82['message']},_0x46d2fd[_0x30eee3(0x113)]);}}async['_storeIdemCacheNX'](_0x5aff1d,_0x366f92){const _0x2f1c29=a0_0x4b7b0d,_0x5c959d={'eeUjN':'idgen_idem_nx_race_lost_but_empty','YzUWI':_0x2f1c29(0xfd)};if(!_0x5aff1d)return{'stored':!![],'winnerResult':null};try{const _0x3917db=redisClient[_0x2f1c29(0x1a4)](),_0x57c88b=JSON['stringify'](_0x366f92),_0x2ca6eb=await _0x3917db['set'](_0x5aff1d,_0x57c88b,'EX',this[_0x2f1c29(0xd7)],'NX');if(_0x2ca6eb==='OK')return{'stored':!![],'winnerResult':null};const _0x593b1f=await _0x3917db[_0x2f1c29(0x126)](_0x5aff1d);if(_0x593b1f)return{'stored':![],'winnerResult':JSON['parse'](_0x593b1f)};return logger[_0x2f1c29(0x1fc)]({'event':_0x5c959d[_0x2f1c29(0x19f)],'key':_0x5aff1d},'SET\x20NX\x20failed\x20but\x20cache\x20GET\x20returned\x20empty\x20—\x20falling\x20back\x20to\x20own\x20result'),{'stored':!![],'winnerResult':null};}catch(_0xd48c92){return logger['warn']({'event':_0x5c959d[_0x2f1c29(0x179)],'error':_0xd48c92[_0x2f1c29(0x17c)]},'Idempotency\x20SET\x20NX\x20error'),{'stored':!![],'winnerResult':null};}}async[a0_0x4b7b0d(0x180)](_0x25f40c,_0x38750c,_0x194ad9){const _0x3b304e=a0_0x4b7b0d,_0xe41bc5={'pinjW':'idgen_random_undo_error'};try{const _0x46710f=redisClient[_0x3b304e(0x1a4)]();if(_0x194ad9){const _0x56d02d=this['_buildActiveKey'](_0x25f40c,_0x38750c);await _0x46710f[_0x3b304e(0x1ea)](_0x56d02d);}else{const _0x1c22dc=this['_buildIssuedKey'](_0x25f40c);await _0x46710f['srem'](_0x1c22dc,_0x38750c);}}catch(_0xf839ee){logger[_0x3b304e(0x1fc)]({'event':_0xe41bc5['pinjW'],'error':_0xf839ee[_0x3b304e(0x17c)]},'Random\x20reservation\x20undo\x20error\x20(orphan\x20slot\x20may\x20remain)');}}async[a0_0x4b7b0d(0x14d)](_0x311c3b,_0x806487,_0x178e53,_0x5a3887=0x0){const _0x36fcc2=a0_0x4b7b0d,_0x3a5a53={'WVxDa':function(_0x12a3d6,_0x518a28){return _0x12a3d6(_0x518a28);},'JpdbE':function(_0x462ca3,_0x4df8ce){return _0x462ca3>_0x4df8ce;}};try{const _0xdfc99e=redisClient[_0x36fcc2(0x1a4)](),_0xfbb424=this[_0x36fcc2(0x1f7)](_0x311c3b,_0x806487),_0x5ee9d6=[];for(const [_0x399d07,_0x4d0d56]of Object['entries'](_0x178e53)){_0x5ee9d6[_0x36fcc2(0x1f9)](_0x399d07,_0x3a5a53[_0x36fcc2(0x120)](String,_0x4d0d56));}if(_0x3a5a53['JpdbE'](_0x5ee9d6[_0x36fcc2(0x141)],0x0)){await _0xdfc99e['hset'](_0xfbb424,..._0x5ee9d6);if(_0x5a3887>0x0)await _0xdfc99e[_0x36fcc2(0x175)](_0xfbb424,_0x5a3887);}}catch(_0x3e8dd8){logger['warn']({'event':'idgen_meta_update_error','error':_0x3e8dd8['message']},_0x36fcc2(0x189));}}async[a0_0x4b7b0d(0x178)](_0x8515c4){const _0x4bd982=a0_0x4b7b0d,_0x71f45f={'ENtju':function(_0x5884f7,_0xf4a368){return _0x5884f7(_0xf4a368);},'RaAMY':_0x4bd982(0xd9),'JBSro':_0x4bd982(0x153)};if(!this[_0x4bd982(0x1d5)])throw new IdGeneratorError(_0x4bd982(0x10a),_0x4bd982(0xf3));const _0x5be168=this[_0x4bd982(0xf5)](_0x8515c4),_0x45c0d3=this['_validateIdempotencyKey'](_0x8515c4['idempotencyKey']),{resource:_0x45deee,format:_0x2775d7,prefix:_0x52d9ba,separator:_0x3d103d,numDigits:_0x62d68a,reuseDelete:_0x719690}=_0x5be168,{formatKey:_0x1c8ee8,datePrefix:_0xbbb0a7}=this[_0x4bd982(0x165)](_0x2775d7,_0x52d9ba),_0x4421c1=this[_0x4bd982(0x13f)](_0x45deee,_0x1c8ee8),_0x32a821=this[_0x4bd982(0x1f3)](_0x45deee,_0x1c8ee8),_0x431541=this['_getCounterTTL'](_0x2775d7);let _0x154fd9=null;if(_0x45c0d3){_0x154fd9=this[_0x4bd982(0x125)]('number',_0x45deee,_0x1c8ee8,_0x45c0d3);const _0x2f78be=await this[_0x4bd982(0xda)](_0x154fd9);if(_0x2f78be)return _0x2f78be;}const _0x118055=redisClient[_0x4bd982(0x1a4)](),_0x66572=await _0x118055['eval'](LUA_GENERATE_NUMBER,0x2,_0x4421c1,_0x32a821,_0x719690?'1':'0',_0x71f45f['ENtju'](String,_0x431541)),_0x33fdb9=_0x66572[0x0],_0x4c6cec=_0x66572[0x1]===0x1,_0x13dcee=this['_formatNumber']({'format':_0x2775d7,'prefix':_0x52d9ba,'datePrefix':_0xbbb0a7,'separator':_0x3d103d,'numDigits':_0x62d68a,'counterInt':_0x33fdb9}),_0x13ec47={'value':_0x13dcee,'counter':_0x33fdb9,'resource':_0x45deee,'formatKey':_0x1c8ee8,'isReused':_0x4c6cec,'generatedAt':new Date()['toISOString']()},_0x4f44f3=await this[_0x4bd982(0x16c)](_0x154fd9,_0x13ec47);if(!_0x4f44f3[_0x4bd982(0x184)]){try{await _0x118055[_0x4bd982(0xe6)](LUA_RELEASE_NUMBER,0x1,_0x32a821,_0x71f45f['ENtju'](String,_0x33fdb9),String(_0x431541));}catch(_0x3e9d2a){logger[_0x4bd982(0x1fc)]({'event':_0x4bd982(0x130),'error':_0x3e9d2a[_0x4bd982(0x17c)],'resource':_0x45deee,'formatKey':_0x1c8ee8,'counterInt':_0x33fdb9},_0x71f45f['RaAMY']);}return logger['info']({'event':_0x71f45f['JBSro'],'resource':_0x45deee,'formatKey':_0x1c8ee8,'counter':_0x33fdb9},_0x4bd982(0xf9)),_0x4f44f3['winnerResult'];}return this[_0x4bd982(0x14d)](_0x45deee,_0x1c8ee8,{'lastValue':_0x13dcee,'lastCounter':_0x33fdb9,'lastIsReused':_0x4c6cec,'lastGeneratedAt':_0x13ec47['generatedAt']},_0x431541),logger[_0x4bd982(0x13c)]({'event':_0x4bd982(0x192),'resource':_0x45deee,'formatKey':_0x1c8ee8,'counter':_0x33fdb9,'isReused':_0x4c6cec},_0x4bd982(0x194)+_0x13dcee),_0x13ec47;}async[a0_0x4b7b0d(0x146)](_0x5c3834){const _0x175dc0=a0_0x4b7b0d,_0x47f74d={'gjvHV':function(_0x336279,_0x3643f3){return _0x336279!==_0x3643f3;},'xMlAd':function(_0x722782,_0x5e7dbd){return _0x722782!==_0x5e7dbd;},'icYkl':function(_0x51550d,_0x16bbb0){return _0x51550d!==_0x16bbb0;},'kYGfn':_0x175dc0(0x12d),'VdPfi':function(_0x466849,_0x411c2c){return _0x466849===_0x411c2c;},'Pspbv':'IDGEN_INVALID_NUMBER','JTukM':'text','nhuzt':function(_0x32602b,_0x36bab0){return _0x32602b(_0x36bab0);}};if(!this[_0x175dc0(0x1d5)])throw new IdGeneratorError(_0x175dc0(0x10a),_0x175dc0(0x112));let _0x190abf,_0x1490bc,_0xf262ee,_0x3c207b;const _0x1a4b33=this[_0x175dc0(0x1d6)](_0x5c3834['idempotencyKey']);if(_0x47f74d['gjvHV'](_0x5c3834[_0x175dc0(0x10e)],undefined)&&_0x47f74d['xMlAd'](_0x5c3834[_0x175dc0(0x10e)],null)){this[_0x175dc0(0x142)](_0x5c3834[_0x175dc0(0x1c9)]),_0x190abf=_0x5c3834[_0x175dc0(0x1c9)];if(_0x47f74d['icYkl'](typeof _0x5c3834[_0x175dc0(0x1ce)],_0x47f74d[_0x175dc0(0x1bf)])||_0x47f74d['VdPfi'](_0x5c3834['formatKey']['length'],0x0))throw new IdGeneratorError(_0x47f74d[_0x175dc0(0x168)],_0x175dc0(0x1c0));_0x1490bc=_0x5c3834['formatKey'];if(!Number[_0x175dc0(0x102)](_0x5c3834[_0x175dc0(0x10e)])||_0x5c3834['counterInt']<0x1)throw new IdGeneratorError(_0x47f74d['Pspbv'],'counterInt\x20must\x20be\x20positive\x20integer\x20(got:\x20'+_0x5c3834['counterInt']+')');_0xf262ee=_0x5c3834[_0x175dc0(0x10e)];const _0x155f1e=_0x1490bc['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x3c207b=_0x155f1e?_0x155f1e[0x1]:_0x47f74d[_0x175dc0(0x16e)];}else{const _0x59d4d2=this['_validateNumberParams'](_0x5c3834),_0x16cb38=this[_0x175dc0(0xf4)]({'format':_0x59d4d2[_0x175dc0(0x14b)],'prefix':_0x59d4d2['prefix'],'separator':_0x59d4d2[_0x175dc0(0x18e)],'numDigits':_0x59d4d2[_0x175dc0(0x1ad)],'number':_0x5c3834['number']});_0x190abf=_0x59d4d2[_0x175dc0(0x1c9)],_0x1490bc=_0x16cb38[_0x175dc0(0x1ce)],_0xf262ee=_0x16cb38['counterInt'],_0x3c207b=_0x59d4d2[_0x175dc0(0x14b)];}const _0x450806=this[_0x175dc0(0x1f3)](_0x190abf,_0x1490bc),_0x141ffd=this['_getCounterTTL'](_0x3c207b);let _0x41403b=null;if(_0x1a4b33){_0x41403b=this[_0x175dc0(0x125)]('release',_0x190abf,_0x1490bc,_0x1a4b33);const _0x12a33=await this['_retrieveIdemCache'](_0x41403b);if(_0x12a33)return _0x12a33;}const _0x49ef85=redisClient[_0x175dc0(0x1a4)]();await _0x49ef85[_0x175dc0(0xe6)](LUA_RELEASE_NUMBER,0x1,_0x450806,String(_0xf262ee),_0x47f74d[_0x175dc0(0x1e7)](String,_0x141ffd));const _0x5b26c0={'released':!![],'resource':_0x190abf,'formatKey':_0x1490bc,'counter':_0xf262ee,'releasedAt':new Date()[_0x175dc0(0x186)]()};return await this['_storeIdemCache'](_0x41403b,_0x5b26c0),this['_updateMeta'](_0x190abf,_0x1490bc,{'lastReleasedCounter':_0xf262ee,'lastReleasedAt':_0x5b26c0['releasedAt']},_0x141ffd),logger['info']({'event':_0x175dc0(0x148),'resource':_0x190abf,'formatKey':_0x1490bc,'counter':_0xf262ee},_0x175dc0(0x1fe)+_0xf262ee),_0x5b26c0;}async[a0_0x4b7b0d(0x1eb)](_0x51276f){const _0x2b6f62=a0_0x4b7b0d,_0x3988f6={'EALkP':'IDGEN_DISABLED','AHkjX':function(_0xcabd,_0xeba9f3){return _0xcabd*_0xeba9f3;},'sYTra':'resource','Zjrnq':_0x2b6f62(0x1ce),'kvpHO':'separator','wuJXt':'numDigits','AcHpH':function(_0x33117f,_0x425951){return _0x33117f(_0x425951);},'GnkNa':_0x2b6f62(0x1ef),'irjtX':_0x2b6f62(0xea),'InHOD':'ttlMs','FZSjy':'idgen_reserve_overflow_compensation_error','cmhpR':'idgen_reserve_value_persist_error','IFMOL':_0x2b6f62(0xdb)};if(!this[_0x2b6f62(0x1d5)])throw new IdGeneratorError(_0x3988f6['EALkP'],'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)');const _0xbdeed=this['_validateNumberParams'](_0x51276f),_0x512df4=this[_0x2b6f62(0x19a)](_0x51276f[_0x2b6f62(0x183)]),_0x206e31=this[_0x2b6f62(0x1d6)](_0x51276f[_0x2b6f62(0x151)]),{resource:_0x499d2b,format:_0x2e4264,prefix:_0x20ae3e,separator:_0x553864,numDigits:_0x4df7b4,reuseDelete:_0x1930bc}=_0xbdeed,{formatKey:_0x128636,datePrefix:_0x4a8769}=this['_buildFormatKey'](_0x2e4264,_0x20ae3e),_0x411430=this[_0x2b6f62(0x13f)](_0x499d2b,_0x128636),_0xc0f806=this['_buildReuseKey'](_0x499d2b,_0x128636),_0x430b22=this['_buildReservationIndexKey'](_0x499d2b,_0x128636),_0xf8bfe0=this[_0x2b6f62(0x1e4)](_0x2e4264);let _0x4abf1=null;if(_0x206e31){_0x4abf1=this['_buildIdemKey'](_0x2b6f62(0x1a7),_0x499d2b,_0x128636,_0x206e31);const _0x436fc2=await this[_0x2b6f62(0xda)](_0x4abf1);if(_0x436fc2)return _0x436fc2;}const _0x38c5e8=crypto['randomUUID'](),_0xef7b26=this[_0x2b6f62(0x1e2)](_0x38c5e8),_0x568021=this['_buildReservationKeyPrefix'](),_0x16dc76=Date[_0x2b6f62(0x1cc)](),_0x18e670=_0x16dc76+_0x3988f6['AHkjX'](_0x512df4,0x3e8),_0x34c974=_0x512df4*0x3e8,_0x22ad0f=new Date(_0x16dc76)['toISOString'](),_0x1c9515=new Date(_0x18e670)['toISOString'](),_0x214308=[_0x3988f6[_0x2b6f62(0x16d)],_0x499d2b,_0x3988f6['Zjrnq'],_0x128636,_0x2b6f62(0x14b),_0x2e4264,'prefix',_0x20ae3e,_0x3988f6['kvpHO'],_0x553864,_0x3988f6[_0x2b6f62(0x13d)],_0x3988f6[_0x2b6f62(0xe0)](String,_0x4df7b4),'datePrefix',_0x4a8769||'',_0x3988f6['GnkNa'],_0x22ad0f,_0x3988f6['irjtX'],_0x1c9515,_0x3988f6[_0x2b6f62(0x1b4)],String(_0x34c974)];_0x206e31&&_0x214308[_0x2b6f62(0x1f9)](_0x2b6f62(0xfa),_0x206e31);const _0x1d7260=redisClient['getClient'](),_0x555633=await _0x1d7260['eval'](LUA_RESERVE_NUMBER,0x3,_0x411430,_0xc0f806,_0x430b22,_0x1930bc?'1':'0',String(_0xf8bfe0),_0x38c5e8,_0xef7b26,String(_0x34c974),_0x3988f6[_0x2b6f62(0xe0)](String,_0x18e670),_0x3988f6[_0x2b6f62(0xe0)](String,_0x16dc76),_0x568021,..._0x214308),_0x262dc7=_0x555633[0x0],_0x19c2f9=_0x555633[0x1]===0x1,_0x338f78=_0x555633[0x2]||0x0;let _0x25a75b;try{_0x25a75b=this['_formatNumber']({'format':_0x2e4264,'prefix':_0x20ae3e,'datePrefix':_0x4a8769,'separator':_0x553864,'numDigits':_0x4df7b4,'counterInt':_0x262dc7});}catch(_0x496094){try{await _0x1d7260[_0x2b6f62(0xe6)](LUA_CANCEL_RESERVATION,0x3,_0xef7b26,_0x430b22,_0xc0f806,_0x38c5e8,String(_0xf8bfe0));}catch(_0x3cd8bb){logger[_0x2b6f62(0x1fc)]({'event':_0x3988f6['FZSjy'],'error':_0x3cd8bb[_0x2b6f62(0x17c)],'resource':_0x499d2b,'formatKey':_0x128636,'counterInt':_0x262dc7,'token':_0x38c5e8},_0x2b6f62(0x154));}throw _0x496094;}try{await _0x1d7260['hset'](_0xef7b26,'value',_0x25a75b);}catch(_0x2b1e30){logger[_0x2b6f62(0x1fc)]({'event':_0x3988f6[_0x2b6f62(0x163)],'error':_0x2b1e30[_0x2b6f62(0x17c)],'resource':_0x499d2b,'formatKey':_0x128636,'counterInt':_0x262dc7,'token':_0x38c5e8},'Failed\x20to\x20persist\x20formatted\x20value\x20to\x20reservation\x20hash');}const _0x36e726={'token':_0x38c5e8,'value':_0x25a75b,'counter':_0x262dc7,'resource':_0x499d2b,'formatKey':_0x128636,'isReused':_0x19c2f9,'createdAt':_0x22ad0f,'expiresAt':_0x1c9515,'reapedCount':_0x338f78},_0x46ba5f=await this[_0x2b6f62(0x16c)](_0x4abf1,_0x36e726);if(!_0x46ba5f[_0x2b6f62(0x184)]){try{await _0x1d7260[_0x2b6f62(0xe6)](LUA_CANCEL_RESERVATION,0x3,_0xef7b26,_0x430b22,_0xc0f806,_0x38c5e8,String(_0xf8bfe0));}catch(_0x563d14){logger['warn']({'event':_0x2b6f62(0x118),'error':_0x563d14[_0x2b6f62(0x17c)],'resource':_0x499d2b,'formatKey':_0x128636,'counterInt':_0x262dc7,'token':_0x38c5e8},_0x2b6f62(0x17a));}return logger[_0x2b6f62(0x13c)]({'event':_0x2b6f62(0x1e8),'resource':_0x499d2b,'formatKey':_0x128636,'counter':_0x262dc7,'token':_0x38c5e8},_0x2b6f62(0x137)),_0x46ba5f[_0x2b6f62(0xdc)];}return this[_0x2b6f62(0x14d)](_0x499d2b,_0x128636,{'lastReservedCounter':_0x262dc7,'lastReservedAt':_0x22ad0f,'lastReapedCount':_0x338f78},_0xf8bfe0),logger[_0x2b6f62(0x13c)]({'event':_0x3988f6['IFMOL'],'resource':_0x499d2b,'formatKey':_0x128636,'counter':_0x262dc7,'isReused':_0x19c2f9,'token':_0x38c5e8,'ttl':_0x512df4,'reapedCount':_0x338f78},'ID\x20Generator\x20number\x20reserved:\x20'+_0x25a75b+'\x20(token='+_0x38c5e8+')'),_0x36e726;}async['confirmReservation'](_0xc9794b){const _0x3630ae=a0_0x4b7b0d,_0x393755={'dVeah':_0x3630ae(0x10a),'mUlvU':_0x3630ae(0x112),'XCHdv':_0x3630ae(0x1bd),'vBPIu':'text'};if(!this['enabled'])throw new IdGeneratorError(_0x393755[_0x3630ae(0x1fb)],_0x393755[_0x3630ae(0x1a6)]);const _0x158d68=this[_0x3630ae(0x104)](_0xc9794b&&_0xc9794b['token']),_0x21accc=this[_0x3630ae(0x1d6)](_0xc9794b&&_0xc9794b[_0x3630ae(0x151)]);let _0x3f6328=null;if(_0x21accc){_0x3f6328=idempotencyManager['buildDeterministicKey'](_0x3630ae(0x1d8),_0x393755[_0x3630ae(0x1f0)],_0x158d68+':'+_0x21accc);const _0x4c62e3=await this[_0x3630ae(0xda)](_0x3f6328);if(_0x4c62e3)return _0x4c62e3;}const _0x438e3c=await this['_getReservationContext'](_0x158d68),_0x51a28d=redisClient[_0x3630ae(0x1a4)](),_0x128861=await _0x51a28d[_0x3630ae(0xe6)](LUA_CONFIRM_RESERVATION,0x2,_0x438e3c['rsvKey'],_0x438e3c[_0x3630ae(0x156)],_0x158d68);if(!_0x128861||_0x128861[0x0]!==0x1)throw new IdGeneratorError(_0x3630ae(0x18b),_0x3630ae(0x15d)+_0x158d68,{'token':_0x158d68});const _0x7c8d52=parseInt(_0x128861[0x1],0xa),_0x166a07=_0x128861[0x2],_0x448027=_0x128861[0x3],_0x159c91=new Date()[_0x3630ae(0x186)](),_0x5c451b={'confirmed':!![],'token':_0x158d68,'value':_0x166a07,'counter':_0x7c8d52,'resource':_0x438e3c[_0x3630ae(0x1c9)],'formatKey':_0x448027,'confirmedAt':_0x159c91};await this['_storeIdemCache'](_0x3f6328,_0x5c451b);const _0x5e5cba=_0x448027[_0x3630ae(0x1cb)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x1cc0b2=_0x5e5cba?_0x5e5cba[0x1]:_0x393755['vBPIu'],_0x12fe3c=this[_0x3630ae(0x1e4)](_0x1cc0b2);return this['_updateMeta'](_0x438e3c['resource'],_0x448027,{'lastConfirmedCounter':_0x7c8d52,'lastConfirmedAt':_0x159c91},_0x12fe3c),logger['info']({'event':_0x3630ae(0x190),'resource':_0x438e3c[_0x3630ae(0x1c9)],'formatKey':_0x448027,'counter':_0x7c8d52,'token':_0x158d68},'ID\x20Generator\x20reservation\x20confirmed:\x20'+_0x166a07+_0x3630ae(0x17e)+_0x158d68+')'),_0x5c451b;}async['cancelReservation'](_0x428cb1){const _0x2f3307=a0_0x4b7b0d,_0x8f378c={'PAIqL':'ID\x20Generator\x20is\x20disabled','QTkne':_0x2f3307(0x144),'lRGXh':'IDGEN_RESERVATION_NOT_FOUND'};if(!this[_0x2f3307(0x1d5)])throw new IdGeneratorError('IDGEN_DISABLED',_0x8f378c['PAIqL']);const _0x764b8=this['_validateReservationToken'](_0x428cb1&&_0x428cb1[_0x2f3307(0x123)]),_0x5666d2=this[_0x2f3307(0x1d6)](_0x428cb1&&_0x428cb1[_0x2f3307(0x151)]);let _0x5e6e59=null;if(_0x5666d2){_0x5e6e59=idempotencyManager['buildDeterministicKey']('idgen',_0x8f378c['QTkne'],_0x764b8+':'+_0x5666d2);const _0x228f8e=await this[_0x2f3307(0xda)](_0x5e6e59);if(_0x228f8e)return _0x228f8e;}const _0x2709ce=await this[_0x2f3307(0xfb)](_0x764b8),_0x4de895=this[_0x2f3307(0x1f3)](_0x2709ce['resource'],_0x2709ce['formatKey']),_0x20c332=_0x2709ce['formatKey']['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x3a2d99=_0x20c332?_0x20c332[0x1]:'text',_0x5fde04=this[_0x2f3307(0x1e4)](_0x3a2d99),_0x3561be=redisClient['getClient'](),_0x3872e4=await _0x3561be[_0x2f3307(0xe6)](LUA_CANCEL_RESERVATION,0x3,_0x2709ce[_0x2f3307(0x134)],_0x2709ce['rsvIdxKey'],_0x4de895,_0x764b8,String(_0x5fde04));if(!_0x3872e4||_0x3872e4[0x0]!==0x1)throw new IdGeneratorError(_0x8f378c['lRGXh'],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x764b8,{'token':_0x764b8});const _0x31c888=parseInt(_0x3872e4[0x1],0xa),_0x4d1002=_0x3872e4[0x2],_0x144a53=_0x3872e4[0x3],_0x22ca53=new Date()[_0x2f3307(0x186)](),_0x22c5e0={'cancelled':!![],'token':_0x764b8,'value':_0x4d1002,'counter':_0x31c888,'resource':_0x2709ce['resource'],'formatKey':_0x144a53,'releasedToReuse':!![],'cancelledAt':_0x22ca53};return await this['_storeIdemCache'](_0x5e6e59,_0x22c5e0),this[_0x2f3307(0x14d)](_0x2709ce['resource'],_0x144a53,{'lastCancelledCounter':_0x31c888,'lastCancelledAt':_0x22ca53},_0x5fde04),logger['info']({'event':_0x2f3307(0x14f),'resource':_0x2709ce[_0x2f3307(0x1c9)],'formatKey':_0x144a53,'counter':_0x31c888,'token':_0x764b8},_0x2f3307(0x159)+_0x4d1002+_0x2f3307(0x17e)+_0x764b8+')'),_0x22c5e0;}async['extendReservation'](_0x2452e0){const _0x31e93a=a0_0x4b7b0d,_0xa7c246={'dzWIm':'idgen','EvBBI':'reserve_extend','BWkuG':function(_0x175c84,_0x5224d2){return _0x175c84!==_0x5224d2;},'tBBXK':function(_0x46894d,_0x28de7d,_0x40c2ff){return _0x46894d(_0x28de7d,_0x40c2ff);}};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x31e93a(0x112));const _0x3bbcc7=this[_0x31e93a(0x104)](_0x2452e0&&_0x2452e0[_0x31e93a(0x123)]),_0x3bf2f5=this['_validateReserveTTL'](_0x2452e0&&_0x2452e0['ttl']),_0x2daac6=this['_validateIdempotencyKey'](_0x2452e0&&_0x2452e0[_0x31e93a(0x151)]);let _0x3f7939=null;if(_0x2daac6){_0x3f7939=idempotencyManager['buildDeterministicKey'](_0xa7c246['dzWIm'],_0xa7c246[_0x31e93a(0x1f2)],_0x3bbcc7+':'+_0x2daac6);const _0xbb53b0=await this['_retrieveIdemCache'](_0x3f7939);if(_0xbb53b0)return _0xbb53b0;}const _0x5ccff0=await this[_0x31e93a(0xfb)](_0x3bbcc7),_0x111f04=Date[_0x31e93a(0x1cc)](),_0x56dab7=_0x111f04+_0x3bf2f5*0x3e8,_0x2b6fa7=_0x3bf2f5*0x3e8,_0x585897=new Date(_0x56dab7)[_0x31e93a(0x186)](),_0x514b8f=redisClient[_0x31e93a(0x1a4)](),_0xb64dee=await _0x514b8f[_0x31e93a(0xe6)](LUA_EXTEND_RESERVATION,0x2,_0x5ccff0['rsvKey'],_0x5ccff0[_0x31e93a(0x156)],_0x3bbcc7,String(_0x2b6fa7),String(_0x56dab7),_0x585897);if(!_0xb64dee||_0xa7c246[_0x31e93a(0xf2)](_0xb64dee[0x0],0x1))throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND','Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x3bbcc7,{'token':_0x3bbcc7});const _0x29a626=_0xb64dee[0x1],_0x1a2233=_0xa7c246['tBBXK'](parseInt,_0xb64dee[0x2],0xa),_0x284dc3=_0xb64dee[0x3],_0x9d25d2=_0xb64dee[0x4],_0x4f7961=new Date(_0x111f04)[_0x31e93a(0x186)](),_0x2f14da={'extended':!![],'token':_0x3bbcc7,'previousExpiresAt':_0x29a626,'expiresAt':_0x585897,'ttlMs':_0x2b6fa7,'resource':_0x5ccff0[_0x31e93a(0x1c9)],'formatKey':_0x9d25d2,'counter':_0x1a2233,'value':_0x284dc3,'extendedAt':_0x4f7961};await this['_storeIdemCache'](_0x3f7939,_0x2f14da);const _0x581ad0=_0x9d25d2['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x493655=_0x581ad0?_0x581ad0[0x1]:'text',_0x310b58=this['_getCounterTTL'](_0x493655);return this[_0x31e93a(0x14d)](_0x5ccff0['resource'],_0x9d25d2,{'lastExtendedCounter':_0x1a2233,'lastExtendedAt':_0x4f7961},_0x310b58),logger['info']({'event':'idgen_reservation_extended','resource':_0x5ccff0[_0x31e93a(0x1c9)],'formatKey':_0x9d25d2,'counter':_0x1a2233,'token':_0x3bbcc7,'ttl':_0x3bf2f5},'ID\x20Generator\x20reservation\x20extended:\x20'+_0x284dc3+_0x31e93a(0x17e)+_0x3bbcc7+_0x31e93a(0x193)+_0x3bf2f5+'s)'),_0x2f14da;}async['getReservation'](_0x45b032){const _0x459dd9=a0_0x4b7b0d,_0x4c9ef1={'yHzyH':_0x459dd9(0x10a),'NPOmi':function(_0x26446b,_0x27e392){return _0x26446b===_0x27e392;},'cuwVX':function(_0x1c2cb2,_0x10a5eb,_0x171830){return _0x1c2cb2(_0x10a5eb,_0x171830);},'ENUOX':function(_0x2979e7,_0x527a49){return _0x2979e7===_0x527a49;}};if(!this[_0x459dd9(0x1d5)])throw new IdGeneratorError(_0x4c9ef1['yHzyH'],_0x459dd9(0x112));const _0x4bb8af=this['_validateReservationToken'](_0x45b032&&_0x45b032['token']),_0x3cbebb=this['_buildReservationKey'](_0x4bb8af),_0x3f2f98=redisClient[_0x459dd9(0x1a4)](),_0x8cd106=_0x3f2f98['pipeline']();_0x8cd106[_0x459dd9(0x101)](_0x3cbebb),_0x8cd106[_0x459dd9(0x133)](_0x3cbebb);const _0x447398=await _0x8cd106[_0x459dd9(0x199)](),_0x477e8f=_0x447398&&_0x447398[0x0]&&_0x447398[0x0][0x1],_0x535aa9=_0x447398&&_0x447398[0x1]&&_0x447398[0x1][0x1];if(!_0x477e8f||_0x4c9ef1[_0x459dd9(0x185)](Object[_0x459dd9(0x181)](_0x477e8f)['length'],0x0))throw new IdGeneratorError(_0x459dd9(0x18b),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x4bb8af,{'token':_0x4bb8af});return{'token':_0x4bb8af,'resource':_0x477e8f[_0x459dd9(0x1c9)]||null,'formatKey':_0x477e8f['formatKey']||null,'format':_0x477e8f['format']||null,'prefix':_0x477e8f[_0x459dd9(0xef)]||'','separator':_0x477e8f[_0x459dd9(0x18e)]||'','numDigits':_0x477e8f['numDigits']?parseInt(_0x477e8f['numDigits'],0xa):null,'datePrefix':_0x477e8f[_0x459dd9(0x1df)]||'','counter':_0x477e8f[_0x459dd9(0x1b8)]?_0x4c9ef1[_0x459dd9(0x1b3)](parseInt,_0x477e8f['counter'],0xa):null,'value':_0x477e8f['value']||null,'isReused':_0x4c9ef1[_0x459dd9(0x1b0)](_0x477e8f[_0x459dd9(0x187)],'1')||_0x477e8f[_0x459dd9(0x187)]===0x1,'createdAt':_0x477e8f['createdAt']||null,'expiresAt':_0x477e8f['expiresAt']||null,'ttlRemainingMs':typeof _0x535aa9==='number'&&_0x535aa9>=0x0?_0x535aa9:null};}async['_getReservationContext'](_0x501caf){const _0x543725=a0_0x4b7b0d,_0xd3ce17={'caBnD':'resource','URjDr':'formatKey','mrsPP':'IDGEN_RESERVATION_NOT_FOUND'},_0x580015=this[_0x543725(0x1e2)](_0x501caf),_0x265895=redisClient[_0x543725(0x1a4)](),_0x2697a1=await _0x265895['hmget'](_0x580015,_0xd3ce17[_0x543725(0x1ed)],_0xd3ce17['URjDr']),_0x25d6af=_0x2697a1&&_0x2697a1[0x0],_0x248284=_0x2697a1&&_0x2697a1[0x1];if(!_0x25d6af||!_0x248284)throw new IdGeneratorError(_0xd3ce17['mrsPP'],_0x543725(0x15d)+_0x501caf,{'token':_0x501caf});return{'resource':_0x25d6af,'formatKey':_0x248284,'rsvKey':_0x580015,'rsvIdxKey':this['_buildReservationIndexKey'](_0x25d6af,_0x248284)};}async[a0_0x4b7b0d(0x14a)](_0x436386){const _0xdc5bda=a0_0x4b7b0d,_0x2115e7={'YcGxk':'ID\x20Generator\x20is\x20disabled','ubAjl':function(_0x8584fb,_0x30ed6c){return _0x8584fb===_0x30ed6c;},'wlssx':function(_0x259e3d,_0x5905f4){return _0x259e3d===_0x5905f4;},'Tuxhx':_0xdc5bda(0x195),'RnvBy':function(_0x118c04,_0x5dfa6a){return _0x118c04&&_0x5dfa6a;},'KwUiz':function(_0x19df4a,_0x5a625d){return _0x19df4a+_0x5a625d;},'BfLUl':'idgen_random_generated','gYRHk':function(_0x46af48,_0x45edb8){return _0x46af48||_0x45edb8;}};if(!this[_0xdc5bda(0x1d5)])throw new IdGeneratorError('IDGEN_DISABLED',_0x2115e7[_0xdc5bda(0x1ae)]);this['_validateResource'](_0x436386[_0xdc5bda(0x1c9)]),this['_validatePattern'](_0x436386['pattern']);const _0x5b537f=this['_validateTTL'](_0x436386[_0xdc5bda(0x183)]),_0x429c7c=this[_0xdc5bda(0x1f5)](_0x436386[_0xdc5bda(0x1ee)]),_0x24f8e2=this['_validateIdempotencyKey'](_0x436386[_0xdc5bda(0x151)]),_0x5c4c63=_0x2115e7[_0xdc5bda(0x174)](_0x436386[_0xdc5bda(0x1b9)],!![]),{resource:_0x3d6f32,pattern:_0x261da4}=_0x436386;let _0x44c3cc=null;if(_0x24f8e2){_0x44c3cc=this['_buildIdemKey']('random',_0x3d6f32,null,_0x24f8e2);const _0xd2a730=await this[_0xdc5bda(0xda)](_0x44c3cc);if(_0xd2a730)return _0xd2a730;}const _0x5278ba=redisClient['getClient']();let _0x162aeb=null,_0x9e6659=0x0;if(!_0x5c4c63)_0x162aeb=this[_0xdc5bda(0xf7)](_0x261da4),_0x9e6659=0x1;else{for(let _0x579f79=0x0;_0x579f79<_0x429c7c;_0x579f79++){_0x9e6659++;const _0x4c83a3=this['_generateFromPattern'](_0x261da4);if(_0x5b537f){const _0x4b64e4=this[_0xdc5bda(0x1ab)](_0x3d6f32,_0x4c83a3),_0x19b101=await _0x5278ba['set'](_0x4b64e4,'1','EX',_0x5b537f,'NX');if(_0x2115e7[_0xdc5bda(0x1a0)](_0x19b101,'OK')){_0x162aeb=_0x4c83a3;break;}}else{const _0x452863=this['_buildIssuedKey'](_0x3d6f32),_0x5d4269=await _0x5278ba['sadd'](_0x452863,_0x4c83a3);if(_0x5d4269===0x1){_0x162aeb=_0x4c83a3;break;}}}if(_0x162aeb===null)throw new IdGeneratorError(_0x2115e7['Tuxhx'],'Could\x20not\x20generate\x20unique\x20value\x20after\x20'+_0x429c7c+'\x20attempts.\x20Increase\x20pattern\x20length\x20or\x20maxRetry.',{'resource':_0x3d6f32,'pattern':_0x261da4,'maxRetry':_0x429c7c});}const _0x37d33a={'value':_0x162aeb,'resource':_0x3d6f32,'pattern':_0x261da4,'attemptCount':_0x9e6659,'generatedAt':new Date()[_0xdc5bda(0x186)]()};_0x2115e7[_0xdc5bda(0x1a3)](_0x5b537f,_0x5c4c63)&&(_0x37d33a['expiresAt']=new Date(_0x2115e7['KwUiz'](Date['now'](),_0x5b537f*0x3e8))[_0xdc5bda(0x186)]());const _0x1be2d8=await this['_storeIdemCacheNX'](_0x44c3cc,_0x37d33a);if(!_0x1be2d8[_0xdc5bda(0x184)])return _0x5c4c63&&await this['_undoRandomReservation'](_0x3d6f32,_0x162aeb,_0x5b537f),logger[_0xdc5bda(0x13c)]({'event':'idgen_random_idem_loser','resource':_0x3d6f32,'pattern':_0x261da4,'value':_0x162aeb},_0xdc5bda(0xeb)),_0x1be2d8[_0xdc5bda(0xdc)];return logger['info']({'event':_0x2115e7[_0xdc5bda(0x1e3)],'resource':_0x3d6f32,'pattern':_0x261da4,'attemptCount':_0x9e6659,'ensureUnique':_0x5c4c63,'ttl':_0x2115e7[_0xdc5bda(0x103)](_0x5b537f,0x0)},_0xdc5bda(0x12c)+_0x162aeb),_0x37d33a;}async['pin'](_0x33662b){const _0x53b361=a0_0x4b7b0d,_0x34d665=_0x33662b[_0x53b361(0x108)]==null?this['defaultPinDigits']:_0x33662b[_0x53b361(0x108)];if(!Number[_0x53b361(0x102)](_0x34d665)||_0x34d665<MIN_PIN_DIGITS||_0x34d665>MAX_PIN_DIGITS)throw new IdGeneratorError(_0x53b361(0x1f4),_0x53b361(0x1c8)+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+'\x20(got:\x20'+_0x34d665+')');const _0x280206='9'[_0x53b361(0x1ba)](_0x34d665);return this['random']({'resource':_0x33662b[_0x53b361(0x1c9)],'pattern':_0x280206,'ensureUnique':_0x33662b[_0x53b361(0x1b9)]===!![],'ttl':_0x33662b[_0x53b361(0x183)],'maxRetry':_0x33662b[_0x53b361(0x1ee)],'idempotencyKey':_0x33662b['idempotencyKey']});}async[a0_0x4b7b0d(0x1f6)](_0x45fd2f){const _0x199e77=a0_0x4b7b0d,_0x556c9c={'CcpJT':function(_0xcc5b1,_0x5b0603){return _0xcc5b1!==_0x5b0603;}},_0x47cdad=_0x45fd2f['pattern']||this[_0x199e77(0x18a)];return this['random']({'resource':_0x45fd2f['resource'],'pattern':_0x47cdad,'ensureUnique':_0x556c9c['CcpJT'](_0x45fd2f['ensureUnique'],![]),'ttl':_0x45fd2f[_0x199e77(0x183)],'maxRetry':_0x45fd2f['maxRetry'],'idempotencyKey':_0x45fd2f[_0x199e77(0x151)]});}async[a0_0x4b7b0d(0x107)](_0x5645a3){const _0x16a88b=a0_0x4b7b0d,_0x5616fc=_0x5645a3['pattern']||this['defaultCodePattern'];return this[_0x16a88b(0x14a)]({'resource':_0x5645a3[_0x16a88b(0x1c9)],'pattern':_0x5616fc,'ensureUnique':_0x5645a3['ensureUnique']!==![],'ttl':_0x5645a3['ttl'],'maxRetry':_0x5645a3['maxRetry'],'idempotencyKey':_0x5645a3['idempotencyKey']});}async['consume'](_0x1d1790){const _0x3748fa=a0_0x4b7b0d,_0x5ebb0c={'XDhQT':'string','wmbgU':function(_0xf9707c,_0x14f8ad){return _0xf9707c===_0x14f8ad;},'SrkcX':function(_0x578337,_0x15d755){return _0x578337>_0x15d755;},'gFFHg':_0x3748fa(0x12e)};if(!this[_0x3748fa(0x1d5)])throw new IdGeneratorError(_0x3748fa(0x10a),_0x3748fa(0x112));this['_validateResource'](_0x1d1790['resource']);if(typeof _0x1d1790['value']!==_0x5ebb0c['XDhQT']||_0x5ebb0c['wmbgU'](_0x1d1790['value'][_0x3748fa(0x141)],0x0))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x3748fa(0x117));const {resource:_0x4a94ec,value:_0x3c1b3e}=_0x1d1790,_0x34933e=redisClient[_0x3748fa(0x1a4)](),_0x25728d=this[_0x3748fa(0x1ab)](_0x4a94ec,_0x3c1b3e),_0x568f22=this['_buildIssuedKey'](_0x4a94ec),[_0x503ea5,_0x38f278]=await Promise['all']([_0x34933e['del'](_0x25728d),_0x34933e[_0x3748fa(0x173)](_0x568f22,_0x3c1b3e)]),_0x14ac71=_0x5ebb0c[_0x3748fa(0x172)](_0x503ea5+_0x38f278,0x0);return logger['info']({'event':_0x5ebb0c['gFFHg'],'resource':_0x4a94ec,'value':_0x3c1b3e,'consumed':_0x14ac71},_0x3748fa(0x15e)+_0x3c1b3e),{'consumed':_0x14ac71,'resource':_0x4a94ec,'value':_0x3c1b3e,'consumedAt':new Date()['toISOString']()};}async[a0_0x4b7b0d(0x1cf)](_0x5e3dd7){const _0x4a3b03=a0_0x4b7b0d,_0x3af6bf={'zqTCe':_0x4a3b03(0x10a),'pPvSu':function(_0x10c869,_0x5aa0b){return _0x10c869===_0x5aa0b;},'Batrf':'number','hzvIT':'text','OxvdI':'IDGEN_INVALID_FORMAT','EiYAW':function(_0x2e89c7,_0x288a5a,_0x3edd8e){return _0x2e89c7(_0x288a5a,_0x3edd8e);},'zhyuM':function(_0x3a25b4,_0x7a15f4){return _0x3a25b4||_0x7a15f4;},'SHWgy':function(_0x4e0f10,_0x346727){return _0x4e0f10===_0x346727;},'omGef':function(_0xd5cca0,_0x4d272b){return _0xd5cca0||_0x4d272b;},'IgMPI':'IDGEN_INVALID_MODE'};if(!this[_0x4a3b03(0x1d5)])throw new IdGeneratorError(_0x3af6bf['zqTCe'],_0x4a3b03(0x112));this[_0x4a3b03(0x142)](_0x5e3dd7[_0x4a3b03(0x1c9)]);const _0x15857c=_0x5e3dd7[_0x4a3b03(0x1dd)]||'number',_0x31cfc2=redisClient['getClient']();if(_0x3af6bf['pPvSu'](_0x15857c,_0x3af6bf[_0x4a3b03(0x124)])){const _0x35bd75=(_0x5e3dd7[_0x4a3b03(0x14b)]||_0x3af6bf[_0x4a3b03(0xf0)])[_0x4a3b03(0xde)]();if(!ALLOWED_FORMATS[_0x4a3b03(0x15b)](_0x35bd75))throw new IdGeneratorError(_0x3af6bf['OxvdI'],_0x4a3b03(0x11b)+_0x5e3dd7['format']);const {formatKey:_0x48d2ec}=this[_0x4a3b03(0x165)](_0x35bd75,_0x5e3dd7['prefix']||''),_0x3a7a90=this[_0x4a3b03(0x13f)](_0x5e3dd7['resource'],_0x48d2ec),_0x230e2c=this['_buildReuseKey'](_0x5e3dd7[_0x4a3b03(0x1c9)],_0x48d2ec),[_0x924463,_0x17ca12]=await Promise['all']([_0x31cfc2[_0x4a3b03(0x126)](_0x3a7a90),_0x31cfc2[_0x4a3b03(0x15a)](_0x230e2c)]);return{'resource':_0x5e3dd7['resource'],'mode':_0x3af6bf['Batrf'],'formatKey':_0x48d2ec,'currentCounter':_0x3af6bf['EiYAW'](parseInt,_0x924463,0xa)||0x0,'reusePoolSize':_0x3af6bf[_0x4a3b03(0xee)](_0x17ca12,0x0)};}if(_0x3af6bf[_0x4a3b03(0x106)](_0x15857c,_0x4a3b03(0x14a))){const _0x333cf6=this['_buildIssuedKey'](_0x5e3dd7[_0x4a3b03(0x1c9)]),_0x4fc17c=await _0x31cfc2['scard'](_0x333cf6);return{'resource':_0x5e3dd7[_0x4a3b03(0x1c9)],'mode':_0x4a3b03(0x14a),'issuedCount':_0x3af6bf['omGef'](_0x4fc17c,0x0)};}throw new IdGeneratorError(_0x3af6bf['IgMPI'],'Unknown\x20mode:\x20'+_0x15857c);}async['getInfo'](_0x3bb77b){const _0x43b63b=a0_0x4b7b0d,_0x103383={'LAhxv':function(_0x4e448d,_0x30a8c9){return _0x4e448d===_0x30a8c9;}},_0x2cab73=await this[_0x43b63b(0x1cf)](_0x3bb77b);if(_0x103383[_0x43b63b(0x1aa)](_0x2cab73[_0x43b63b(0x1dd)],_0x43b63b(0x178))){const _0x4ec96e=redisClient[_0x43b63b(0x1a4)](),_0x4eaa90=this[_0x43b63b(0x1f7)](_0x3bb77b[_0x43b63b(0x1c9)],_0x2cab73['formatKey']),_0x511910=this['_buildReuseKey'](_0x3bb77b[_0x43b63b(0x1c9)],_0x2cab73[_0x43b63b(0x1ce)]),[_0xbb580a,_0x326783]=await Promise[_0x43b63b(0x131)]([_0x4ec96e['hgetall'](_0x4eaa90),_0x4ec96e[_0x43b63b(0x13a)](_0x511910,0x0,-0x1)]);return{..._0x2cab73,'reusePoolValues':_0x326783[_0x43b63b(0x18c)](_0x7df1ae=>parseInt(_0x7df1ae,0xa)),'meta':_0xbb580a&&Object[_0x43b63b(0x181)](_0xbb580a)[_0x43b63b(0x141)]>0x0?_0xbb580a:null};}return _0x2cab73;}async[a0_0x4b7b0d(0x1be)](_0x3c9feb){const _0x5defdf=a0_0x4b7b0d,_0x26937d={'nEuQC':_0x5defdf(0x16b),'gUsap':'Reset\x20operation\x20not\x20allowed\x20(set\x20IDGEN_ALLOW_RESET=true\x20to\x20enable)','WvRaG':_0x5defdf(0x178),'UXQjN':'text','WZmfK':'IDGEN_INVALID_FORMAT','MkvGx':'idgen_reset','koHao':_0x5defdf(0x135),'fMuJY':'meta','oySxu':_0x5defdf(0x14a),'TJVcG':_0x5defdf(0x1b2)};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED','ID\x20Generator\x20is\x20disabled');if(!this['allowReset'])throw new IdGeneratorError(_0x26937d[_0x5defdf(0x1af)],_0x26937d['gUsap']);this['_validateResource'](_0x3c9feb['resource']);const _0xc5e5cb=_0x3c9feb['mode']||_0x26937d['WvRaG'],_0x52ccbf=redisClient[_0x5defdf(0x1a4)]();if(_0xc5e5cb===_0x26937d[_0x5defdf(0x111)]){const _0x268de1=(_0x3c9feb['format']||_0x26937d[_0x5defdf(0x14c)])[_0x5defdf(0xde)]();if(!ALLOWED_FORMATS['has'](_0x268de1))throw new IdGeneratorError(_0x26937d['WZmfK'],_0x5defdf(0x11b)+_0x3c9feb['format']);const {formatKey:_0x115b21}=this[_0x5defdf(0x165)](_0x268de1,_0x3c9feb[_0x5defdf(0xef)]||''),_0x483a61=this['_buildSeqKey'](_0x3c9feb[_0x5defdf(0x1c9)],_0x115b21),_0xda14d2=this[_0x5defdf(0x1f3)](_0x3c9feb[_0x5defdf(0x1c9)],_0x115b21),_0x53f98b=this[_0x5defdf(0x1f7)](_0x3c9feb[_0x5defdf(0x1c9)],_0x115b21);return await _0x52ccbf['del'](_0x483a61,_0xda14d2,_0x53f98b),logger['warn']({'event':_0x26937d[_0x5defdf(0x105)],'resource':_0x3c9feb['resource'],'mode':_0x5defdf(0x178),'formatKey':_0x115b21},_0x5defdf(0x10b)+_0x3c9feb['resource']+':'+_0x115b21),{'reset':!![],'resource':_0x3c9feb[_0x5defdf(0x1c9)],'mode':_0x26937d['WvRaG'],'formatKey':_0x115b21,'deletedKeys':['seq',_0x26937d['koHao'],_0x26937d['fMuJY']]};}if(_0xc5e5cb===_0x26937d[_0x5defdf(0x1c4)]){const _0x5be825=this['_buildIssuedKey'](_0x3c9feb[_0x5defdf(0x1c9)]);return await _0x52ccbf[_0x5defdf(0x1ea)](_0x5be825),logger[_0x5defdf(0x1fc)]({'event':_0x5defdf(0x12b),'resource':_0x3c9feb['resource'],'mode':_0x5defdf(0x14a)},_0x5defdf(0x122)+_0x3c9feb['resource']),{'reset':!![],'resource':_0x3c9feb[_0x5defdf(0x1c9)],'mode':_0x26937d['oySxu'],'deletedKeys':[_0x26937d[_0x5defdf(0x147)]]};}throw new IdGeneratorError('IDGEN_INVALID_MODE',_0x5defdf(0x1db)+_0xc5e5cb);}}const instance=new IdGenerator();instance['IdGeneratorError']=IdGeneratorError,module['exports']=instance,module[a0_0x4b7b0d(0x1c5)]['IdGeneratorError']=IdGeneratorError;
1
+ 'use strict';const a0_0x2771b1=a0_0x1b21;function a0_0x106b(){const _0x507766=['Dg9ju09tDhjPBMC','surhru5Fsu5wquXjrf9srvnpvvjdrq','CgLU','CKHcveq','lI9YzwrPCY1JBgLLBNq','Dgv4Da','tK9NEg0','sgnwA28','qMjxrfi','sw52ywXPzcbWyxr0zxjUoIbTDxn0igjLihn0CMLUzYaXlq','z2v0uMvZzxj2yxrPB24','sw52ywXPzcbWyxr0zxjUoIbTDxn0ignVBNrHAw4GyxqGBgvHC3qGB25LihbSywnLAg9SzgvYignOyxjHy3rLCIaOos9ol0eVys9ml1GVEc9il2GP','wuXfzfm','AwrNzw5FCMvZzxj2zv92ywX1zv9WzxjZAxn0x2vYCM9Y','AM9PBG','zgLNAxrZ','DMfSDwu','x2rLzMf1BhrqAw5eAwDPDhm','swrLBxbVDgvUy3KGCMv0CMLLDMuGzxjYB3i','BwzVww4','surhru5Fsu5wquXjrf9srvnfuLzfx1ruta','rMfPBgvKihrVihjLBgvHC2uGy291BNrLCIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','x3bHCNnLtNvTyMvY','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcbWCMvMAxG','EMnHCMq','surhru5FreLtqujmruq','x3n0B3jLswrLBunHy2HL','wenNwNi','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYKkBg9JywWGy291BNrLCIa9igHBmv0kAwyGy291BNrLCIb0AgvUcIaGCMvKAxmUy2fSBcGNwKfercCSieTfwvnBm10SignVDw50zxiSignVDw50zxiPcIaGBg9JywWGDhrSid0GDg9UDw1IzxiOqvjhvLSYxsKkicbPzIb0DgWGpIaWihrOzw4kicaGihjLzgLZlMnHBgWOj0vyueLsrsCSieTfwvnBm10Sihr0BcKkicbLBMqkzw5KcNjLzgLZlMnHBgWOj0rftcCSieTfwvnBmv0PcNjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqPYzxr1CM4GEYaXlcbJB3vUDgvYlcbOwZjDlcbOwZnDih0k','wxnSy2O','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','DhrS','suqGr2vUzxjHDg9YihjLC2v0oIa','sw52ywXPzcbZzxbHCMf0B3i6ig1HEcaZignOyxiSig11C3qGBM90ignVBNrHAw4GjZONicHNB3q6ia','Aw5MBW','lcaR','zw5ZDxjLvw5PCxvL','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','r0PoqNi','CMy6AwrNzw46','y29UzMLYBvjLC2vYDMf0Aw9U','AwrNzw5FAwrLBv9UEf9YywnLx2XVC3rFyNv0x2vTChr5','mty0ndaWnhnJsejREG','mty1oda5ngnJvxrLBG','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKihrLEhqGzM9YBwf0icHNB3q6ia','x3vWzgf0zu1LDge','Bu5vD0K','Cgf0DgvYBG','mtiXntu5zwjuBfDc','vg5NwNK','x2TLEvbYzwzPEa','surhru5Fsu5wquXjrf9quKvgsvG','zM9YBwf0s2v5','CMvZzxj2zv9Jyw5JzwW','cMLMiefsr1zBmv0Gpt0GjZeNihrOzw4kicbSB2nHBcbYzxvZzwqGpsbYzwrPCY5JywXSkcDAue9qtuLojYWGs0vzu1SYxsWGmsKkicbPzIaJCMv1C2vKid4Gmcb0AgvUcIaGicbYzxr1CM4GE3rVBNvTyMvYkhjLDxnLzfSXxsKSidf9cIaGzw5KcMvUzaPSB2nHBcbUid0GCMvKAxmUy2fSBcGNsu5duICSieTfwvnBmv0PcMXVy2fSihr0Bca9ihrVBNvTyMvYkefsr1zBmL0PcMLMihr0Bca+idaGyw5Kig4Gpt0Gmsb0AgvUcIaGCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SXxsWGDhrSkqPLBMqkCMv0DxjUihTUlcaWFqO','C3rVCMvK','Dg9mB3DLCKnHC2u','n3W2Fdr8oxWXFdb8mtf8mtb8nxW4Fdn8mG','A2vUwva','AwrNzw5Fy29UzMLNx2LUAxq','sgDSDwm','AgfZ','CMfUzg9T','yNvPBgrezxrLCM1PBMLZDgLJs2v5','x2nVDw50zxjuveXnyxa','BNbzCem','BNvTrgLNAxrZ','q25pA1G','D2fYBG','ihbHCNrZkq','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','mJyYnuPLqM9Rvq','zxzHBa','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','AwrNzw5FCMvZzxj2yxrPB25Fy2fUy2vSBgvK','x3jLC2vYDMvezwzHDwX0vfrm','tg5ru2q','CMvZzxj2zv9LEhrLBMq','sgTwuuC','AwrNzw5FAwrLBv9YzxrYAwv2zv9LCNjVCG','ywXS','CMv1C2u6','icH0B2TLBJ0','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i','x3jLC2vYDMvnyxHuveW','CMvZzxj2zu1HEfruta','u2TSsKy','surhru5Fru5bqKXfra','Bwv0yq','tMfnExq','x3n0B3jLswrLBunHy2HLtLG','C2v0','C2vWyxjHDg9Y','x3bHzdi','vxDztMO','z2v0','AxnjBNrLz2vY','mJuYwfzutKHK','wwnmEeW','twv0ysb1CgrHDguGzxjYB3i','txLZvfK','CgfKzgvKicHNB3q6ia','Dw9ICe4','mdeYmZq1nJC4oufcq0rfrG','BwvZC2fNzq','otK5os05otK5','ignOyxjZicHNB3qGBgvUz3rOoIa','BNvTyMvY','A2v5uhjLzML4','surhru5Fq09vtLrfuL9pvKvsrKXpvW','q0jWwgS','sNvqAuS','ywXSB3DszxnLDa','vw5RBM93BIbTB2rLoIa','surhru5Frevgqvvmvf9trvjjquXFuefuvevstG','suqGr2vUzxjHDg9Yig51BwjLCJOG','x3zHBgLKyxrLuMvZB3vYy2u','BLjptKq','x2vUC3vYzuLUAxrPywXPEMvK','CgfYC2u','ExL5Ew1T','t2DgBg0','wfHywc1ywfHylvHywfGTwfHywa','x2j1AwXKrM9YBwf0s2v5','CMvZzxq','DgvZDa','x3jLDhjPzxzLswrLBunHy2HL','surhru5FuKvtrvjwrv9nqvHFvfrm','D2LUBMvYuMvZDwX0','wNfkzKq','CNn2swr4s2v5','DgP5vgG','AKnnwu8','zezqvLa','CfbTCfm','CMvSzwfZzu51BwjLCG','x2j1AwXKu2vXs2v5','zvzhDui','x2j1AwXKsxnZDwvKs2v5','mte3mZK2mdbnBNrlrfG','Bw9Kzq','AwrLBvruta','BwfW','x3zHBgLKyxrLugf0DgvYBG','wwfcve0','C3rYAw5N','Bwf0y2G','B3LjCLi','txjwrhi','C3rYAw5NAwz5','lcbLEhbLy3rLzca','surhru5Fvu5juvvfx1jfvfjzx0vysefvu1rfra','surhru5Fsu5wquXjrf9qqvrurvjo','mZy2mZqWmu9IBfnVra','x2LKzw1uveW','AwrNzw4','mtuXmZyZmNz6yMHjEq','sMH4sNG','zxHLyW','CKHTB24','z2v0q2XPzw50','vNbNCKu','Dg9Rzw4','x3rLEhq','x2zVCM1HDe51BwjLCG','surhru5Frevgqvvmvf9nqvHFuKvuuLK','te1Uwhq','CMfUzg9Tvvvjra','ruHbz0q','x2j1AwXKtwv0yuTLEq','vwrTCgq','x2DLBMvYyxrLrNjVBvbHDhrLCM4','x3zHBgLKyxrLtwf4uMv0CNK','CMvWzwf0','AhjHt1y','sw52ywXPzcbYzxvZzurLBgv0ztOGBxvZDcbIzsbIB29SzwfUicHNB3q6ia','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vYx2nHBMnLBf9LCNjVCG','A05AufC','Bwf4uMv0CNK','BNDWuKe','x2LUAxrPywXPEMvK','y291BNrLCKLUDa','AKXyC20','qwzxthK','ywn0AxzLoG','Bu9XzLK','EwfAAxa','surhru5Fq09vtLrfuL9uveXFrefjtfK','A2v5CW','surhru5Fsurftv9uveW','y291BNrLCKLUDcbTDxn0igjLihbVC2L0AxzLigLUDgvNzxiGkgDVDdOG','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','ugjlA3G','x2fSBg93uMvZzxq','yuPNv3K','ChjLzML4','sMvjEum','icHNB3q6ia','C2fKza','x3zHBgLKyxrLvfrm','x2vUywjSzwq','surhru5Fsu5wquXjrf9trvbbuKfut1i','sxDWseO','suqGr2vUzxjHDg9YignVBMzPzYbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','z2v0sw5MBW','zgf0zvbYzwzPEa','xLXKEW','zw52','CfzgCM4','x2j1AwXKswrLBuTLEq','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignHBMnLBgXLzdOG','surhru5Fsu5wquXjrf9uveW','C2vX','AfLltwW','B05iExi','uMvZzxqGB3bLCMf0Aw9Uig5VDcbHBgXVD2vKicHZzxqGsurhru5FquXmt1DFuKvtrvq9Dhj1zsb0BYbLBMfIBguP','suqGr2vUzxjHDg9YihjHBMrVBsbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYWGj2LZuMv1C2vKjYWGj2nYzwf0zwrbDcCSicDLEhbPCMvZqxqNkqPYzwrPCY5JywXSkcDeruWNlcblrvLtwZfDkqPYzwrPCY5JywXSkcDAuKvnjYWGs0vzu1SYxsWGqvjhvLSXxsKkCMv0DxjUihSGmsWGAfSXxsWGAfSYxsWGAfSZxsWGAfS0xsWGAfS1xsWGAfS2xsb9cG','ywjJzgvMz2HPAMTSBw5VChfYC3r1DND4ExO','Exz3txC','surhru5Frevgqvvmvf9dt0rfx1bbvfrfuK4','x2j1AwXKuMv1C2vlzxK','surhru5Fsu5wquXjrf9gt1jnqvq','ruzxBeK','x2j1AwXKqwn0AxzLs2v5','surhru5Fsu5wquXjrf9ovu1FreLhsvrt','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','sujhuLK','u25pC2q','ExL5Ew1Tzgq','zgvMyxvSDenVzgvqyxr0zxjU','z2v0rgf0zq','swrLBxbVDgvUy3KGy2fJAguGseLu','DMfSDwuGAxmGCMvXDwLYzwq','zgjRtgS','B3HLt1K','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','zM9YBwf0s2v5igLZihjLCxvPCMvKigLUigXVDY1SzxzLBcbYzwXLyxnL','ignOyxjZ','Bwv0ytO','C29ZvMq','yw5Ku2K','x2LUAxrdB25MAwC','zw5HyMXLza','AMTfrgG','DxPfC0u','uxjNBuC','CNn2oG','z2v0rNvSBfLLyxi','cNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZfDlcbbuKDwwZfDlcbbuKDwwZfDkqPSB2nHBcb0DgWGpsb0B251BwjLCIHbuKDwwZjDkqPPzIb0DgWGpIaWihrOzw4kicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcb0DgWPcMvUzaPYzxr1CM4GmqO','CMvZB3vYy2u','igv4y2vLzhmG','z0frCKq','swrhzw5LCMf0B3jfCNjVCG','x2j1AwXKuMvZzxj2yxrPB25lzxK','AhLxwMi','C2nHCMq','ihnLy29UzhmGkgDVDdOG','x2rLzMf1BhrdB2rLugf0DgvYBG','x3zHBgLKyxrLuMvZzxj2zvruta','u0vuie5yigzHAwXLzcbIDxqGy2fJAguGr0vuihjLDhvYBMvKigvTChr5iokaLcbMywXSAw5NigjHy2SGDg8GB3DUihjLC3vSDa','zgvS','x2rLzMf1BhrnyxHszxrYEq','uNrAA28','AwrLBxbVDgvUy3LlzxK','suqGr2vUzxjHDg9YignVBNn1BwvKoIa','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9Uigv4DgvUzgvKoIa','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','uMfUzg9TihjLC2vYDMf0Aw9UihvUzg8GzxjYB3iGkg9YCgHHBIbZBg90ig1HEsbYzw1HAw4P','C3jLBq','DgXQzxm','zgLHz0K','AwrNzw5FCMvZzxj2yxrPB25Fy29UzMLYBwvK','A1jVtge','tNb6ALi','q291BNrLCIbVDMvYzMXVDZOG','sw52ywXPzcbTyxHszxrYEtOGBxvZDcbIzsbPBNrLz2vYideT','nwTNvuDHAa','zxHWAxjLC0f0','EKDXEwm','yK1nwey','surhru5Frevgqvvmvf9qsu5FreLhsvrt','zgvMyxvSDfbPBKrPz2L0CW','BgvUz3rO','CMvSzwfZzq','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','surhru5Fsu5wquXjrf9ovu1crvi','zujhwgi','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vY','ExDZBwC','CgfKu3rHCNq','tNvTyMvYihbYzwzPEcbTAxnTyxrJAdOGzxHWzwn0zwqG','x2DLDenVDw50zxjuveW','Chr0Ba','y29UC3vTzq','yxjds1C','y1PrEMG','ExL5Eq','suqGr2vUzxjHDg9Yig51BwjLCIbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','zM9YBwf0'];a0_0x106b=function(){return _0x507766;};return a0_0x106b();}(function(_0x82d628,_0x43b544){const _0x4df977=a0_0x1b21,_0x2b0bd7=_0x82d628();while(!![]){try{const _0xe51cc1=parseInt(_0x4df977(0x167))/0x1+-parseInt(_0x4df977(0x198))/0x2*(parseInt(_0x4df977(0x17e))/0x3)+parseInt(_0x4df977(0x161))/0x4*(-parseInt(_0x4df977(0x120))/0x5)+-parseInt(_0x4df977(0x162))/0x6+-parseInt(_0x4df977(0xa4))/0x7+parseInt(_0x4df977(0xa7))/0x8+parseInt(_0x4df977(0x96))/0x9;if(_0xe51cc1===_0x43b544)break;else _0x2b0bd7['push'](_0x2b0bd7['shift']());}catch(_0x458bc5){_0x2b0bd7['push'](_0x2b0bd7['shift']());}}}(a0_0x106b,0x47d4c));const crypto=require('crypto'),redisClient=require(a0_0x2771b1(0x13b)),{logger}=require('./logger'),idempotencyManager=require('./idempotency-manager'),ALLOWED_FORMATS=new Set([a0_0x2771b1(0x13c),'yyyy',a0_0x2771b1(0x83),a0_0x2771b1(0xf0)]),RESOURCE_REGEX=/^[A-Za-z0-9_-]{1,64}$/,PREFIX_REGEX=/^[A-Za-z0-9_-]{0,32}$/,SEPARATOR_FORBIDDEN=/:/,MAX_NUM_DIGITS=0xc,MIN_NUM_DIGITS=0x1,MAX_PIN_DIGITS=0xc,MIN_PIN_DIGITS=0x4,MAX_PATTERN_LENGTH=0x100,MAX_TTL=0x278d00,MAX_RETRY_LIMIT=0x64,MAX_IDEMPOTENCY_KEY_LENGTH=0x80,RESERVATION_TOKEN_REGEX=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,MIN_RESERVE_TTL=0xa,MAX_RESERVE_TTL=0x15180,DEFAULT_RESERVE_TTL=0x258,RESERVE_REAP_BATCH=0x40,CHARSET_DIGIT='0123456789',CHARSET_UPPER='ABCDEFGHIJKLMNOPQRSTUVWXYZ',CHARSET_LOWER=a0_0x2771b1(0xe5),CHARSET_LETTERS=CHARSET_UPPER+CHARSET_LOWER,CHARSET_UPPER_ALNUM=CHARSET_UPPER+CHARSET_DIGIT,CHARSET_MIXED_ALNUM=CHARSET_UPPER+CHARSET_LOWER+CHARSET_DIGIT,CHARSET_HEX_UPPER=a0_0x2771b1(0x19e),CHARSET_HEX_LOWER='0123456789abcdef',PLACEHOLDER_MAP={'9':CHARSET_DIGIT,'N':CHARSET_DIGIT,'A':CHARSET_UPPER,'a':CHARSET_LOWER,'L':CHARSET_LETTERS,'X':CHARSET_UPPER_ALNUM,'x':CHARSET_MIXED_ALNUM,'H':CHARSET_HEX_UPPER,'h':CHARSET_HEX_LOWER},LUA_GENERATE_NUMBER=a0_0x2771b1(0x16d),LUA_RELEASE_NUMBER=a0_0x2771b1(0x104),LUA_RESERVE_NUMBER='\x0alocal\x20unpk\x20=\x20unpack\x20or\x20table.unpack\x0a\x0a--\x20Step\x201:\x20lazy\x20reap\x20expired\x20reservations\x20(cap\x20RESERVE_REAP_BATCH)\x0alocal\x20reaped\x20=\x200\x0alocal\x20nowMs\x20=\x20ARGV[7]\x0alocal\x20rsvPrefix\x20=\x20ARGV[8]\x0alocal\x20expired\x20=\x20redis.call(\x27ZRANGEBYSCORE\x27,\x20KEYS[3],\x20\x27-inf\x27,\x20\x27(\x27\x20..\x20nowMs,\x20\x27LIMIT\x27,\x200,\x2064)\x0afor\x20i\x20=\x201,\x20#expired\x20do\x0a\x20\x20local\x20expToken\x20=\x20expired[i]\x0a\x20\x20local\x20expRsvKey\x20=\x20rsvPrefix\x20..\x20expToken\x0a\x20\x20local\x20expCounter\x20=\x20redis.call(\x27HGET\x27,\x20expRsvKey,\x20\x27counter\x27)\x0a\x20\x20if\x20expCounter\x20then\x0a\x20\x20\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[2],\x20expCounter,\x20expCounter)\x0a\x20\x20end\x0a\x20\x20redis.call(\x27DEL\x27,\x20expRsvKey)\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[3],\x20expToken)\x0a\x20\x20reaped\x20=\x20reaped\x20+\x201\x0aend\x0a\x0a--\x20Step\x202:\x20allocate\x20counter\x20(ZPOPMIN\x20reuse\x20atau\x20INCR\x20seq)\x0alocal\x20counterInt\x0alocal\x20isReused\x20=\x200\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20r\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#r\x20>\x200\x20then\x0a\x20\x20\x20\x20counterInt\x20=\x20tonumber(r[1])\x0a\x20\x20\x20\x20isReused\x20=\x201\x0a\x20\x20end\x0aend\x0aif\x20not\x20counterInt\x20then\x0a\x20\x20counterInt\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0a\x20\x20local\x20cttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20cttl\x20>\x200\x20and\x20counterInt\x20==\x201\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20cttl)\x0a\x20\x20end\x0aend\x0a\x0a--\x20Step\x203:\x20write\x20reservation\x20hash\x20+\x20index\x20+\x20TTL\x0alocal\x20rsvKey\x20=\x20ARGV[4]\x0alocal\x20rsvTtlMs\x20=\x20tonumber(ARGV[5])\x0alocal\x20expiresAtMs\x20=\x20tonumber(ARGV[6])\x0alocal\x20nargs\x20=\x20#ARGV\x0alocal\x20fields\x20=\x20{}\x0afor\x20i\x20=\x209,\x20nargs\x20do\x0a\x20\x20fields[#fields\x20+\x201]\x20=\x20ARGV[i]\x0aend\x0aredis.call(\x27HSET\x27,\x20rsvKey,\x20\x27counter\x27,\x20counterInt,\x20\x27isReused\x27,\x20isReused,\x20unpk(fields))\x0aredis.call(\x27PEXPIRE\x27,\x20rsvKey,\x20rsvTtlMs)\x0aredis.call(\x27ZADD\x27,\x20KEYS[3],\x20expiresAtMs,\x20ARGV[3])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20math.floor(rsvTtlMs\x20/\x201000)\x20+\x2060)\x0a\x0areturn\x20{\x20counterInt,\x20isReused,\x20reaped\x20}\x0a',LUA_CONFIRM_RESERVATION=a0_0x2771b1(0xe4),LUA_CANCEL_RESERVATION=a0_0x2771b1(0x153),LUA_EXTEND_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27,\x20\x27isReused\x27,\x20\x27createdAt\x27)\x0alocal\x20prevExpiresAt\x20=\x20h[1]\x0alocal\x20newTtlMs\x20=\x20tonumber(ARGV[2])\x0alocal\x20newExpMs\x20=\x20tonumber(ARGV[3])\x0aredis.call(\x27PEXPIRE\x27,\x20KEYS[1],\x20newTtlMs)\x0aredis.call(\x27HSET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20ARGV[4])\x0aredis.call(\x27ZADD\x27,\x20KEYS[2],\x20newExpMs,\x20ARGV[1])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[2],\x20math.floor(newTtlMs\x20/\x201000)\x20+\x2060)\x0areturn\x20{\x201,\x20prevExpiresAt,\x20h[2],\x20h[3],\x20h[4],\x20h[5],\x20h[6]\x20}\x0a';function a0_0x1b21(_0x3e44f9,_0x46d017){_0x3e44f9=_0x3e44f9-0x74;const _0x106b5a=a0_0x106b();let _0x1b219a=_0x106b5a[_0x3e44f9];if(a0_0x1b21['OrIyqA']===undefined){var _0x31cc6c=function(_0x2c6d81){const _0x17d914='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x43683d='',_0x2e280f='';for(let _0x3bc804=0x0,_0x17180f,_0x139a16,_0x20c97b=0x0;_0x139a16=_0x2c6d81['charAt'](_0x20c97b++);~_0x139a16&&(_0x17180f=_0x3bc804%0x4?_0x17180f*0x40+_0x139a16:_0x139a16,_0x3bc804++%0x4)?_0x43683d+=String['fromCharCode'](0xff&_0x17180f>>(-0x2*_0x3bc804&0x6)):0x0){_0x139a16=_0x17d914['indexOf'](_0x139a16);}for(let _0x4b7557=0x0,_0x5175cc=_0x43683d['length'];_0x4b7557<_0x5175cc;_0x4b7557++){_0x2e280f+='%'+('00'+_0x43683d['charCodeAt'](_0x4b7557)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2e280f);};a0_0x1b21['ufhFKs']=_0x31cc6c,a0_0x1b21['jUrdEa']={},a0_0x1b21['OrIyqA']=!![];}const _0x34b9da=_0x106b5a[0x0],_0x36eb85=_0x3e44f9+_0x34b9da,_0x3f6343=a0_0x1b21['jUrdEa'][_0x36eb85];return!_0x3f6343?(_0x1b219a=a0_0x1b21['ufhFKs'](_0x1b219a),a0_0x1b21['jUrdEa'][_0x36eb85]=_0x1b219a):_0x1b219a=_0x3f6343,_0x1b219a;}class IdGeneratorError extends Error{constructor(_0x1f3780,_0x3ef690,_0x23bea6=null){const _0x4d4fb4=a0_0x2771b1,_0x58f1e2={'oxeOY':function(_0x36c55f,_0x25c12b){return _0x36c55f||_0x25c12b;},'BwUeu':'IdGeneratorError'};super(_0x58f1e2[_0x4d4fb4(0xf6)](_0x3ef690,_0x1f3780)),this['name']=_0x58f1e2['BwUeu'],this['code']=_0x1f3780,this['details']=_0x23bea6;}}class IdGenerator{constructor(){const _0x520a36=a0_0x2771b1,_0x2654e7=_0x520a36(0x170)['split']('|');let _0x4729c9=0x0;while(!![]){switch(_0x2654e7[_0x4729c9++]){case'0':this[_0x520a36(0x111)]=null;continue;case'1':this['_allowReset']=null;continue;case'2':this[_0x520a36(0x18b)]=null;continue;case'3':this['_reserveDefaultTTL']=null;continue;case'4':this[_0x520a36(0x169)]=null;continue;case'5':this[_0x520a36(0x10d)]=null;continue;case'6':this[_0x520a36(0xd3)]=null;continue;case'7':this[_0x520a36(0xbf)]=![];continue;case'8':this['_counterTTLMap']=null;continue;case'9':this[_0x520a36(0xa5)]=null;continue;case'10':this['_defaultSerialPattern']=null;continue;case'11':this['_defaultPinDigits']=null;continue;}break;}}['_initConfig'](){const _0x51e010=a0_0x2771b1,_0x4244fc={'gAQrD':function(_0x1b9814,_0x44603e){return _0x1b9814===_0x44603e;},'arCKW':function(_0x18ce48,_0x484475,_0x49c8c5){return _0x18ce48(_0x484475,_0x49c8c5);},'KFOWj':'true','UwYNj':function(_0x2c3dac,_0x2f2f68,_0x1b74dc){return _0x2c3dac(_0x2f2f68,_0x1b74dc);},'hraOV':_0x51e010(0x74)};this[_0x51e010(0x169)]=_0x51e010(0x15e),this[_0x51e010(0xd3)]=_0x4244fc['gAQrD'](process['env'][_0x51e010(0x18e)],'true'),this[_0x51e010(0xa5)]=_0x4244fc[_0x51e010(0x132)](parseInt,process['env'][_0x51e010(0xc8)],0xa)||0x258,this['_allowReset']=_0x4244fc[_0x51e010(0x107)](process[_0x51e010(0xda)]['IDGEN_ALLOW_RESET'],_0x4244fc['KFOWj']),this[_0x51e010(0x111)]=_0x4244fc[_0x51e010(0x195)](parseInt,process[_0x51e010(0xda)][_0x51e010(0xb0)],0xa)||0xa,this[_0x51e010(0x148)]=parseInt(process[_0x51e010(0xda)][_0x51e010(0x124)],0xa)||0x6,this['_defaultSerialPattern']=process['env'][_0x51e010(0x7d)]||_0x51e010(0x85),this['_defaultCodePattern']=process[_0x51e010(0xda)][_0x51e010(0xe7)]||_0x4244fc[_0x51e010(0xb9)],this[_0x51e010(0x177)]={'yyyymm':parseInt(process['env']['IDGEN_COUNTER_TTL_MONTHLY'],0xa)||0x2a3000,'yyyymmdd':parseInt(process['env'][_0x51e010(0xc6)],0xa)||0x2a300},this[_0x51e010(0x182)]=_0x4244fc['UwYNj'](parseInt,process['env']['IDGEN_RESERVE_DEFAULT_TTL'],0xa)||DEFAULT_RESERVE_TTL,this[_0x51e010(0x18b)]=_0x4244fc[_0x51e010(0x195)](parseInt,process['env'][_0x51e010(0x8a)],0xa)||MAX_RESERVE_TTL,this[_0x51e010(0xbf)]=!![],logger[_0x51e010(0x159)]({'event':_0x51e010(0x172),'enabled':this['_enabled'],'idemTTL':this['_idemTTL'],'allowReset':this['_allowReset'],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this[_0x51e010(0x148)],'reserveDefaultTTL':this['_reserveDefaultTTL'],'reserveMaxTTL':this['_reserveMaxTTL']},_0x51e010(0xd6)+this['_enabled']);}[a0_0x2771b1(0x81)](){const _0x5ad440=a0_0x2771b1;if(!this[_0x5ad440(0xbf)])this[_0x5ad440(0xfd)]();}get['enabled'](){const _0x58ea40=a0_0x2771b1;return this[_0x58ea40(0x81)](),this[_0x58ea40(0xd3)];}get['keyPrefix'](){const _0x4be345=a0_0x2771b1;return this[_0x4be345(0x81)](),this[_0x4be345(0x169)];}get['idemTTL'](){return this['_ensureInitialized'](),this['_idemTTL'];}get[a0_0x2771b1(0x7b)](){const _0x2b6726=a0_0x2771b1;return this[_0x2b6726(0x81)](),this[_0x2b6726(0xcc)];}get['defaultMaxRetry'](){return this['_ensureInitialized'](),this['_defaultMaxRetry'];}get[a0_0x2771b1(0x125)](){const _0x7fe8ea=a0_0x2771b1;return this['_ensureInitialized'](),this[_0x7fe8ea(0x148)];}get['defaultSerialPattern'](){return this['_ensureInitialized'](),this['_defaultSerialPattern'];}get[a0_0x2771b1(0xf1)](){const _0x3379c8=a0_0x2771b1;return this[_0x3379c8(0x81)](),this[_0x3379c8(0x10d)];}get['reserveDefaultTTL'](){const _0x49053b=a0_0x2771b1;return this['_ensureInitialized'](),this[_0x49053b(0x182)];}get[a0_0x2771b1(0x18c)](){const _0x443319=a0_0x2771b1;return this[_0x443319(0x81)](),this[_0x443319(0x18b)];}['isEnabled'](){const _0x53666b=a0_0x2771b1;return this[_0x53666b(0xfe)];}[a0_0x2771b1(0x7f)](_0x2db603){const _0x3b92fa=a0_0x2771b1;if(typeof _0x2db603!==_0x3b92fa(0x9c)||!RESOURCE_REGEX[_0x3b92fa(0x88)](_0x2db603))throw new IdGeneratorError('IDGEN_INVALID_RESOURCE','Invalid\x20resource:\x20must\x20match\x20'+RESOURCE_REGEX+'\x20(got:\x20'+JSON['stringify'](_0x2db603)+')');}['_validateNumberParams'](_0x289bed){const _0x1b9f8f=a0_0x2771b1,_0xb7e234={'RtZko':_0x1b9f8f(0x9c),'jkEDh':_0x1b9f8f(0xe9),'oyIrR':function(_0x290f9c,_0x257ee6){return _0x290f9c!==_0x257ee6;},'WXUDw':_0x1b9f8f(0x16a),'VpgrE':function(_0x39c6a1,_0x2f4bfa){return _0x39c6a1>_0x2f4bfa;},'PMKrY':_0x1b9f8f(0xd4),'eBGXb':'boolean','mOqfY':_0x1b9f8f(0x138)},{resource:_0x1535f8,format:_0x485ebb,prefix:_0x30a619,separator:_0x3378da,numDigits:_0x393335,reuseDelete:_0x399973}=_0x289bed;this['_validateResource'](_0x1535f8);const _0x330e47=typeof _0x485ebb===_0xb7e234['RtZko']?_0x485ebb['toLowerCase']():'';if(!ALLOWED_FORMATS['has'](_0x330e47))throw new IdGeneratorError(_0xb7e234[_0x1b9f8f(0xff)],'Invalid\x20format:\x20must\x20be\x20one\x20of\x20'+[...ALLOWED_FORMATS][_0x1b9f8f(0x145)](',\x20')+'\x20(got:\x20'+_0x485ebb+')');if(!Number[_0x1b9f8f(0x197)](_0x393335)||_0x393335<MIN_NUM_DIGITS||_0x393335>MAX_NUM_DIGITS)throw new IdGeneratorError(_0x1b9f8f(0xec),'Invalid\x20numDigits:\x20must\x20be\x20integer\x20'+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+_0x1b9f8f(0xd0)+_0x393335+')');const _0x2643a9=_0x30a619==null?'':_0x30a619;if(_0xb7e234[_0x1b9f8f(0x9e)](typeof _0x2643a9,_0xb7e234[_0x1b9f8f(0x112)])||!PREFIX_REGEX[_0x1b9f8f(0x88)](_0x2643a9))throw new IdGeneratorError(_0xb7e234['WXUDw'],'Invalid\x20prefix:\x20must\x20match\x20'+PREFIX_REGEX+_0x1b9f8f(0xd0)+JSON[_0x1b9f8f(0xa0)](_0x30a619)+')');const _0x5213b6=_0x3378da==null?'':_0x3378da;if(_0xb7e234['oyIrR'](typeof _0x5213b6,_0x1b9f8f(0x9c))||_0xb7e234[_0x1b9f8f(0xac)](_0x5213b6[_0x1b9f8f(0x126)],0x3)||SEPARATOR_FORBIDDEN[_0x1b9f8f(0x88)](_0x5213b6))throw new IdGeneratorError(_0xb7e234['PMKrY'],_0x1b9f8f(0x158)+JSON['stringify'](_0x3378da)+')');if(_0x399973!=null&&typeof _0x399973!==_0xb7e234[_0x1b9f8f(0x12a)])throw new IdGeneratorError(_0xb7e234[_0x1b9f8f(0xc4)],_0x1b9f8f(0xba)+typeof _0x399973+')');return{'resource':_0x1535f8,'format':_0x330e47,'prefix':_0x2643a9,'separator':_0x5213b6,'numDigits':_0x393335,'reuseDelete':_0x399973===!![]};}[a0_0x2771b1(0x9a)](_0x143f37){const _0x5c3614=a0_0x2771b1,_0x8f22cb={'hYKMl':function(_0x4c65ac,_0x41d730){return _0x4c65ac!==_0x41d730;},'hCxRH':function(_0x126b64,_0x21fadd){return _0x126b64===_0x21fadd;},'MeEMP':function(_0x3a42dd,_0x1b4114){return _0x3a42dd>_0x1b4114;},'MysTY':_0x5c3614(0xa3)};if(_0x8f22cb[_0x5c3614(0xe0)](typeof _0x143f37,_0x5c3614(0x9c))||_0x8f22cb['hCxRH'](_0x143f37['length'],0x0)||_0x8f22cb['MeEMP'](_0x143f37['length'],MAX_PATTERN_LENGTH))throw new IdGeneratorError(_0x8f22cb[_0x5c3614(0x19b)],_0x5c3614(0x140)+MAX_PATTERN_LENGTH+_0x5c3614(0x75)+(_0x143f37&&_0x143f37['length'])+')');let _0x603de0=![];for(const _0x4f85e1 of _0x143f37){if(PLACEHOLDER_MAP[_0x4f85e1]){_0x603de0=!![];break;}}if(!_0x603de0)throw new IdGeneratorError('IDGEN_INVALID_PATTERN',_0x5c3614(0x142));}[a0_0x2771b1(0xd2)](_0x47c319){const _0x3baa6a=a0_0x2771b1,_0x50666f={'WqLfz':_0x3baa6a(0xde)};if(_0x47c319==null)return undefined;if(!Number['isInteger'](_0x47c319)||_0x47c319<0x1||_0x47c319>MAX_TTL)throw new IdGeneratorError(_0x50666f['WqLfz'],'Invalid\x20ttl:\x20must\x20be\x20integer\x201-'+MAX_TTL+_0x3baa6a(0x10c)+_0x47c319+')');return _0x47c319;}[a0_0x2771b1(0xb7)](_0x57b0ad){const _0xa5b0d4=a0_0x2771b1,_0x49968d={'dVNMD':function(_0x305f0d,_0x9058b6){return _0x305f0d<_0x9058b6;},'CKXFo':'IDGEN_INVALID_MAX_RETRY'};if(_0x57b0ad==null)return this['defaultMaxRetry'];if(!Number[_0xa5b0d4(0x197)](_0x57b0ad)||_0x49968d['dVNMD'](_0x57b0ad,0x1)||_0x57b0ad>MAX_RETRY_LIMIT)throw new IdGeneratorError(_0x49968d['CKXFo'],_0xa5b0d4(0x11f)+MAX_RETRY_LIMIT+'\x20(got:\x20'+_0x57b0ad+')');return _0x57b0ad;}[a0_0x2771b1(0x180)](_0x256680){const _0x521f73=a0_0x2771b1,_0x1fb434={'lPwUr':'IDGEN_INVALID_RESOURCE'};if(_0x256680==null)return undefined;if(typeof _0x256680!==_0x521f73(0x9c)||_0x256680['length']===0x0||_0x256680['length']>MAX_IDEMPOTENCY_KEY_LENGTH)throw new IdGeneratorError(_0x1fb434['lPwUr'],'Invalid\x20idempotencyKey:\x20must\x20be\x20string\x201-'+MAX_IDEMPOTENCY_KEY_LENGTH+_0x521f73(0xf9));return _0x256680;}[a0_0x2771b1(0x10e)](_0xdc5993){const _0x215dec=a0_0x2771b1,_0x5829ec={'pPmpS':function(_0x553b8a,_0x5a2258){return _0x553b8a==_0x5a2258;},'npYpC':function(_0x2ebcd1,_0x1ee67a){return _0x2ebcd1<_0x1ee67a;},'BbWDR':_0x215dec(0x14b)};if(_0x5829ec[_0x215dec(0x91)](_0xdc5993,null))return this['reserveDefaultTTL'];if(!Number['isInteger'](_0xdc5993)||_0x5829ec[_0x215dec(0x178)](_0xdc5993,MIN_RESERVE_TTL)||_0xdc5993>this['reserveMaxTTL'])throw new IdGeneratorError(_0x5829ec[_0x215dec(0x13f)],'Invalid\x20reservation\x20ttl:\x20must\x20be\x20integer\x20'+MIN_RESERVE_TTL+'-'+this['reserveMaxTTL']+_0x215dec(0x10c)+_0xdc5993+')');return _0xdc5993;}[a0_0x2771b1(0xf7)](_0x523b68){const _0x480ac0=a0_0x2771b1,_0x184c6a={'sNcbY':'string'};if(typeof _0x523b68!==_0x184c6a['sNcbY']||!RESERVATION_TOKEN_REGEX['test'](_0x523b68))throw new IdGeneratorError('IDGEN_INVALID_TOKEN','Invalid\x20reservation\x20token:\x20must\x20be\x20UUID\x20v4\x20format\x20(got:\x20'+JSON[_0x480ac0(0xa0)](_0x523b68)+')');return _0x523b68;}[a0_0x2771b1(0x194)](_0x254c1a){const _0x4af4e9=a0_0x2771b1;return String(_0x254c1a)[_0x4af4e9(0x12d)](0x2,'0');}[a0_0x2771b1(0x86)](_0x3f1bf4,_0x3cfd45,_0x425bcd=new Date()){const _0x55901d=a0_0x2771b1,_0x15a0d9={'TxrwV':function(_0x4bbefa,_0x2d0979){return _0x4bbefa+_0x2d0979;},'IwpHJ':function(_0x4a0823,_0x1983cb){return _0x4a0823||_0x1983cb;},'EcOGc':'yyyymm','IprGw':'IDGEN_INVALID_FORMAT'},_0x484094=_0x425bcd[_0x55901d(0x103)](),_0x2e1765=this['_pad2'](_0x15a0d9['TxrwV'](_0x425bcd['getMonth'](),0x1)),_0x3408fd=this['_pad2'](_0x425bcd[_0x55901d(0xf2)]()),_0x5aa969=_0x15a0d9[_0x55901d(0xd5)](_0x3cfd45,'_');let _0x2e04a2,_0x206959='';switch(_0x3f1bf4){case _0x55901d(0x13c):_0x2e04a2=_0x5aa969+_0x55901d(0xae);break;case'yyyy':_0x206959=''+_0x484094,_0x2e04a2=_0x5aa969+'_yyyy_'+_0x206959;break;case _0x15a0d9['EcOGc']:_0x206959=''+_0x484094+_0x2e1765,_0x2e04a2=_0x5aa969+'_yyyymm_'+_0x206959;break;case'yyyymmdd':_0x206959=''+_0x484094+_0x2e1765+_0x3408fd,_0x2e04a2=_0x5aa969+'_yyyymmdd_'+_0x206959;break;default:throw new IdGeneratorError(_0x15a0d9['IprGw'],'Unknown\x20format:\x20'+_0x3f1bf4);}return{'formatKey':_0x2e04a2,'datePrefix':_0x206959};}[a0_0x2771b1(0x93)](_0x4c5ecb,_0x1c9d59){const _0x832cb8=a0_0x2771b1;return this[_0x832cb8(0x77)]+'seq:'+_0x4c5ecb+':'+_0x1c9d59;}['_buildReuseKey'](_0x43d731,_0x3c1b95){const _0x6d03b6=a0_0x2771b1;return this[_0x6d03b6(0x77)]+_0x6d03b6(0x188)+_0x43d731+':'+_0x3c1b95;}[a0_0x2771b1(0xb4)](_0x52836d,_0xca405d){const _0x137ec4=a0_0x2771b1;return this[_0x137ec4(0x77)]+_0x137ec4(0xfa)+_0x52836d+':'+_0xca405d;}[a0_0x2771b1(0x95)](_0x379d51){const _0x130d96=a0_0x2771b1;return this[_0x130d96(0x77)]+'issued:'+_0x379d51;}[a0_0x2771b1(0xeb)](_0x11fae5,_0x5b7580){const _0x184ce7=a0_0x2771b1;return this[_0x184ce7(0x77)]+_0x184ce7(0xc3)+_0x11fae5+':'+_0x5b7580;}['_buildReservationKey'](_0x1d91a1){const _0x76665b=a0_0x2771b1;return this[_0x76665b(0x77)]+_0x76665b(0x102)+_0x1d91a1;}['_buildReservationIndexKey'](_0x1d2eac,_0x2a786f){return this['keyPrefix']+'rsv_idx:'+_0x1d2eac+':'+_0x2a786f;}['_buildReservationKeyPrefix'](){const _0x37a0b3=a0_0x2771b1;return this['keyPrefix']+_0x37a0b3(0x102);}[a0_0x2771b1(0xdc)](_0x4f3372,_0x570c2f,_0x1f5fc3,_0x20d0bf){const _0x430fc5=a0_0x2771b1,_0x2fcd36={'JuPiK':'idgen'};if(_0x1f5fc3)return idempotencyManager['buildDeterministicKey'](_0x430fc5(0xa6),_0x4f3372,_0x570c2f+':'+_0x1f5fc3+':'+_0x20d0bf);return idempotencyManager['buildDeterministicKey'](_0x2fcd36[_0x430fc5(0x7a)],_0x4f3372,_0x570c2f+':'+_0x20d0bf);}[a0_0x2771b1(0x12f)](_0x185b8b){const _0xcf24f8=a0_0x2771b1;return this[_0xcf24f8(0x177)][_0x185b8b]||0x0;}['_formatNumber']({format:_0x6bec15,prefix:_0x160645,datePrefix:_0x255009,separator:_0x11bf02,numDigits:_0x250946,counterInt:_0x2a0399}){const _0x4a2ce7=a0_0x2771b1,_0x12262c={'sosVd':function(_0x58af8c,_0x935b69){return _0x58af8c-_0x935b69;},'nejWe':_0x4a2ce7(0x78),'XjkGP':function(_0x4d8cc7,_0xef79a4){return _0x4d8cc7===_0xef79a4;},'hyWZb':_0x4a2ce7(0x13c)},_0x4ae907=_0x12262c[_0x4a2ce7(0xfb)](Math['pow'](0xa,_0x250946),0x1);if(_0x2a0399>_0x4ae907)throw new IdGeneratorError(_0x12262c['nejWe'],_0x4a2ce7(0x11e)+_0x2a0399+_0x4a2ce7(0x106)+_0x250946+'-digit\x20capacity\x20('+_0x4ae907+').\x20Increase\x20numDigits.',{'counterInt':_0x2a0399,'numDigits':_0x250946,'max':_0x4ae907});const _0x56b0bc=String(_0x2a0399)['padStart'](_0x250946,'0');if(_0x12262c['XjkGP'](_0x6bec15,_0x12262c[_0x4a2ce7(0x10a)]))return _0x160645?''+_0x160645+_0x11bf02+_0x56b0bc:_0x56b0bc;return _0x160645?''+_0x160645+_0x11bf02+_0x255009+_0x11bf02+_0x56b0bc:''+_0x255009+_0x11bf02+_0x56b0bc;}[a0_0x2771b1(0x14d)]({format:_0x246ba5,prefix:_0x371fbb,separator:_0x18620b,numDigits:_0x5d37ac,number:_0x401ac3}){const _0x49646a=a0_0x2771b1,_0x5399cd={'eVGuB':_0x49646a(0x9c),'ncKje':function(_0x1809e3,_0x392006){return _0x1809e3===_0x392006;},'SyfnD':function(_0x3e4c19,_0x5942a5){return _0x3e4c19||_0x5942a5;},'GJNBr':_0x49646a(0x13c),'pVFrn':function(_0x4a4a68,_0x58599d){return _0x4a4a68!==_0x58599d;},'TpzWe':function(_0x42aa12,_0x2a8476){return _0x42aa12!==_0x2a8476;},'eQbgn':function(_0x43181a,_0x22145b){return _0x43181a!==_0x22145b;},'dnWgd':_0x49646a(0x129),'TZVuw':function(_0x15ae16,_0x4e4520){return _0x15ae16===_0x4e4520;},'cmRPi':_0x49646a(0x134),'diagI':_0x49646a(0x83),'TuJZv':function(_0x17febb,_0x429d49){return _0x17febb||_0x429d49;},'YLEdS':function(_0x1be45e,_0x292ba1){return _0x1be45e===_0x292ba1;}};if(typeof _0x401ac3!==_0x5399cd[_0x49646a(0x94)]||_0x5399cd['ncKje'](_0x401ac3['length'],0x0))throw new IdGeneratorError(_0x49646a(0x129),'Invalid\x20number:\x20must\x20be\x20non-empty\x20string');const _0x4582a1=_0x5399cd['SyfnD'](_0x18620b,''),_0x14ce2a=_0x4582a1===''?[_0x401ac3]:_0x401ac3['split'](_0x4582a1);let _0x251c99='',_0x41a6ed;if(_0x246ba5===_0x5399cd['GJNBr']){if(_0x371fbb){if(_0x5399cd[_0x49646a(0xdb)](_0x14ce2a['length'],0x2)||_0x5399cd[_0x49646a(0xdb)](_0x14ce2a[0x0],_0x371fbb))throw new IdGeneratorError(_0x49646a(0x129),_0x49646a(0x14e)+_0x4582a1+_0x49646a(0x19c)+_0x401ac3+')');_0x41a6ed=_0x14ce2a[0x1];}else{if(_0x14ce2a['length']!==0x1)throw new IdGeneratorError(_0x49646a(0x129),_0x49646a(0x163)+_0x401ac3+')');_0x41a6ed=_0x14ce2a[0x0];}}else{const _0x297dfd=_0x371fbb?0x3:0x2;if(_0x5399cd['TpzWe'](_0x14ce2a[_0x49646a(0x126)],_0x297dfd))throw new IdGeneratorError(_0x49646a(0x129),'Number\x20does\x20not\x20match\x20expected\x20format\x20(got:\x20'+_0x401ac3+_0x49646a(0xa1)+_0x297dfd+_0x49646a(0x17c));let _0x20818e=0x0;if(_0x371fbb){if(_0x5399cd['eQbgn'](_0x14ce2a[_0x20818e],_0x371fbb))throw new IdGeneratorError(_0x5399cd['dnWgd'],_0x49646a(0x12e)+_0x371fbb+',\x20got\x20'+_0x14ce2a[_0x20818e]);_0x20818e++;}_0x251c99=_0x14ce2a[_0x20818e++];const _0xcdbe2c=_0x5399cd['TZVuw'](_0x246ba5,_0x5399cd['cmRPi'])?/^\d{4}$/:_0x246ba5===_0x5399cd[_0x49646a(0x11a)]?/^\d{6}$/:/^\d{8}$/;if(!_0xcdbe2c['test'](_0x251c99))throw new IdGeneratorError(_0x49646a(0x129),'Number\x20datePrefix\x20invalid\x20for\x20format\x20'+_0x246ba5+':\x20'+_0x251c99);_0x41a6ed=_0x14ce2a[_0x20818e];}if(!new RegExp(_0x49646a(0xd9)+_0x5d37ac+'}$')[_0x49646a(0x88)](_0x41a6ed))throw new IdGeneratorError(_0x49646a(0x129),'Number\x20counter\x20part\x20must\x20be\x20exactly\x20'+_0x5d37ac+'\x20digits\x20(got:\x20'+_0x41a6ed+')');const _0x9f0d12=parseInt(_0x41a6ed,0xa),_0x12d17c=_0x5399cd['TuJZv'](_0x371fbb,'_');let _0x232929;return _0x5399cd[_0x49646a(0x143)](_0x246ba5,_0x5399cd[_0x49646a(0x15d)])?_0x232929=_0x12d17c+_0x49646a(0xae):_0x232929=_0x12d17c+'_'+_0x246ba5+'_'+_0x251c99,{'formatKey':_0x232929,'counterInt':_0x9f0d12,'datePrefix':_0x251c99};}['_generateFromPattern'](_0x2767a3){let _0x2de9c2='';for(const _0x56f77d of _0x2767a3){const _0x126498=PLACEHOLDER_MAP[_0x56f77d];if(_0x126498){const _0x53d992=crypto['randomInt'](0x0,_0x126498['length']);_0x2de9c2+=_0x126498[_0x53d992];}else _0x2de9c2+=_0x56f77d;}return _0x2de9c2;}async['_retrieveIdemCache'](_0x417caa){const _0x2d8459=a0_0x2771b1,_0x51ac0f={'tjyTh':'idgen_idem_hit','HcVko':_0x2d8459(0xf3),'CBpXk':_0x2d8459(0x186),'dbkLk':_0x2d8459(0x149)};if(!_0x417caa)return null;try{const _0x1eed92=redisClient[_0x2d8459(0xab)](),_0x317e5c=await _0x1eed92['get'](_0x417caa);if(_0x317e5c)return logger['info']({'event':_0x51ac0f[_0x2d8459(0x8e)],'key':_0x417caa},_0x51ac0f[_0x2d8459(0x13e)]),JSON[_0x2d8459(0x82)](_0x317e5c);return null;}catch(_0x540aa1){return logger['warn']({'event':_0x51ac0f[_0x2d8459(0x79)],'error':_0x540aa1['message']},_0x51ac0f[_0x2d8459(0xf5)]),null;}}async[a0_0x2771b1(0x151)](_0x51f0f3,_0x104e0c){const _0x5f05f1=a0_0x2771b1,_0x25aafe={'OgFlm':'idgen_idem_store_error'};if(!_0x51f0f3)return;try{const _0x3484ad=redisClient[_0x5f05f1(0xab)]();await _0x3484ad['setex'](_0x51f0f3,this['idemTTL'],JSON['stringify'](_0x104e0c));}catch(_0x200eeb){logger['warn']({'event':_0x25aafe[_0x5f05f1(0x84)],'error':_0x200eeb['message']},_0x5f05f1(0x18a));}}async[a0_0x2771b1(0x191)](_0x372f69,_0x24b3da){const _0x5c5f1c=a0_0x2771b1,_0x49b08c={'rAozM':'idgen_idem_storenx_error','YLGfU':'Idempotency\x20SET\x20NX\x20error'};if(!_0x372f69)return{'stored':!![],'winnerResult':null};try{const _0x489088=redisClient['getClient'](),_0x5f2f19=JSON['stringify'](_0x24b3da),_0x1cf2f4=await _0x489088['set'](_0x372f69,_0x5f2f19,'EX',this[_0x5c5f1c(0x98)],'NX');if(_0x1cf2f4==='OK')return{'stored':!![],'winnerResult':null};const _0x12b583=await _0x489088[_0x5c5f1c(0x196)](_0x372f69);if(_0x12b583)return{'stored':![],'winnerResult':JSON[_0x5c5f1c(0x82)](_0x12b583)};return logger[_0x5c5f1c(0x17b)]({'event':_0x5c5f1c(0x160),'key':_0x372f69},_0x5c5f1c(0x10f)),{'stored':!![],'winnerResult':null};}catch(_0x50ad5d){return logger[_0x5c5f1c(0x17b)]({'event':_0x49b08c['rAozM'],'error':_0x50ad5d['message']},_0x49b08c['YLGfU']),{'stored':!![],'winnerResult':null};}}async['_undoRandomReservation'](_0x2f4cb1,_0x3ad882,_0x3521ba){const _0x1057ef=a0_0x2771b1,_0x2bc64d={'ZqJfD':'idgen_random_undo_error'};try{const _0x4ffee8=redisClient[_0x1057ef(0xab)]();if(_0x3521ba){const _0x33e1cf=this['_buildActiveKey'](_0x2f4cb1,_0x3ad882);await _0x4ffee8['del'](_0x33e1cf);}else{const _0x536b99=this[_0x1057ef(0x95)](_0x2f4cb1);await _0x4ffee8[_0x1057ef(0x118)](_0x536b99,_0x3ad882);}}catch(_0x2682f6){logger[_0x1057ef(0x17b)]({'event':_0x2bc64d[_0x1057ef(0x8c)],'error':_0x2682f6['message']},_0x1057ef(0x117));}}async['_updateMeta'](_0x319df1,_0x46bb00,_0x5298ed,_0x335d93=0x0){const _0xb6c978=a0_0x2771b1,_0x287374={'EFWlI':function(_0x100859,_0x40dd29){return _0x100859>_0x40dd29;},'XCgZr':_0xb6c978(0x19a)};try{const _0x247c51=redisClient[_0xb6c978(0xab)](),_0x2a733f=this['_buildMetaKey'](_0x319df1,_0x46bb00),_0xd62d19=[];for(const [_0x35e0e8,_0x2301d4]of Object['entries'](_0x5298ed)){_0xd62d19['push'](_0x35e0e8,String(_0x2301d4));}if(_0x287374[_0xb6c978(0xea)](_0xd62d19[_0xb6c978(0x126)],0x0)){await _0x247c51['hset'](_0x2a733f,..._0xd62d19);if(_0x335d93>0x0)await _0x247c51['expire'](_0x2a733f,_0x335d93);}}catch(_0x4136e7){logger[_0xb6c978(0x17b)]({'event':'idgen_meta_update_error','error':_0x4136e7[_0xb6c978(0x19f)]},_0x287374[_0xb6c978(0x152)]);}}async['number'](_0x2ce249){const _0x1e2c9a=a0_0x2771b1,_0x197296={'jLXsm':'IDGEN_DISABLED','JTpzy':_0x1e2c9a(0xed),'zGqyc':'number','TngZy':function(_0x5bc673,_0x27cb3c){return _0x5bc673(_0x27cb3c);},'JhxJx':function(_0x55f6a8,_0x1e8197){return _0x55f6a8(_0x1e8197);},'Hgluc':'idgen_idem_loser_release_error','Kkkmj':'idgen_number_idem_loser'};if(!this[_0x1e2c9a(0xfe)])throw new IdGeneratorError(_0x197296[_0x1e2c9a(0xc1)],_0x197296['JTpzy']);const _0x2a02f6=this['_validateNumberParams'](_0x2ce249),_0x3ed947=this['_validateIdempotencyKey'](_0x2ce249[_0x1e2c9a(0x113)]),{resource:_0xad3142,format:_0x2d8546,prefix:_0xa3ce9c,separator:_0x257484,numDigits:_0x47d15f,reuseDelete:_0xd6da4b}=_0x2a02f6,{formatKey:_0xd0bba6,datePrefix:_0x34672f}=this[_0x1e2c9a(0x86)](_0x2d8546,_0xa3ce9c),_0x1750f4=this['_buildSeqKey'](_0xad3142,_0xd0bba6),_0x17e2df=this['_buildReuseKey'](_0xad3142,_0xd0bba6),_0x1ec97f=this['_getCounterTTL'](_0x2d8546);let _0x54e098=null;if(_0x3ed947){_0x54e098=this['_buildIdemKey'](_0x197296[_0x1e2c9a(0x122)],_0xad3142,_0xd0bba6,_0x3ed947);const _0x1c0ab9=await this['_retrieveIdemCache'](_0x54e098);if(_0x1c0ab9)return _0x1c0ab9;}const _0x2b217f=redisClient['getClient'](),_0x32e9bc=await _0x2b217f[_0x1e2c9a(0x17f)](LUA_GENERATE_NUMBER,0x2,_0x1750f4,_0x17e2df,_0xd6da4b?'1':'0',_0x197296['TngZy'](String,_0x1ec97f)),_0x45d712=_0x32e9bc[0x0],_0xb2f172=_0x32e9bc[0x1]===0x1,_0x197af3=this['_formatNumber']({'format':_0x2d8546,'prefix':_0xa3ce9c,'datePrefix':_0x34672f,'separator':_0x257484,'numDigits':_0x47d15f,'counterInt':_0x45d712}),_0x472831={'value':_0x197af3,'counter':_0x45d712,'resource':_0xad3142,'formatKey':_0xd0bba6,'isReused':_0xb2f172,'generatedAt':new Date()['toISOString']()},_0x38d591=await this['_storeIdemCacheNX'](_0x54e098,_0x472831);if(!_0x38d591[_0x1e2c9a(0x16e)]){try{await _0x2b217f[_0x1e2c9a(0x17f)](LUA_RELEASE_NUMBER,0x1,_0x17e2df,_0x197296[_0x1e2c9a(0x168)](String,_0x45d712),_0x197296[_0x1e2c9a(0xa8)](String,_0x1ec97f));}catch(_0x1f5c29){logger[_0x1e2c9a(0x17b)]({'event':_0x197296[_0x1e2c9a(0x173)],'error':_0x1f5c29['message'],'resource':_0xad3142,'formatKey':_0xd0bba6,'counterInt':_0x45d712},_0x1e2c9a(0x14c));}return logger['info']({'event':_0x197296['Kkkmj'],'resource':_0xad3142,'formatKey':_0xd0bba6,'counter':_0x45d712},_0x1e2c9a(0x135)),_0x38d591['winnerResult'];}return this[_0x1e2c9a(0x164)](_0xad3142,_0xd0bba6,{'lastValue':_0x197af3,'lastCounter':_0x45d712,'lastIsReused':_0xb2f172,'lastGeneratedAt':_0x472831['generatedAt']},_0x1ec97f),logger['info']({'event':'idgen_number_generated','resource':_0xad3142,'formatKey':_0xd0bba6,'counter':_0x45d712,'isReused':_0xb2f172},_0x1e2c9a(0x7e)+_0x197af3),_0x472831;}async[a0_0x2771b1(0x92)](_0x29e406){const _0x231ef5=a0_0x2771b1,_0x3b88a7={'PhFkt':'ID\x20Generator\x20is\x20disabled','NpzjR':function(_0x4ef78f,_0x30db90){return _0x4ef78f===_0x30db90;},'QrgmG':_0x231ef5(0x129),'HwfEy':_0x231ef5(0x127),'EHAgD':function(_0x38d118,_0x5678a7){return _0x38d118(_0x5678a7);},'yaZip':'idgen_number_released'};if(!this[_0x231ef5(0xfe)])throw new IdGeneratorError(_0x231ef5(0x150),_0x3b88a7['PhFkt']);let _0x1d1b1b,_0xae19ba,_0x1cedf4,_0x582d22;const _0x2498c6=this['_validateIdempotencyKey'](_0x29e406[_0x231ef5(0x113)]);if(_0x29e406[_0x231ef5(0xc0)]!==undefined&&_0x29e406[_0x231ef5(0xc0)]!==null){this[_0x231ef5(0x7f)](_0x29e406[_0x231ef5(0x105)]),_0x1d1b1b=_0x29e406[_0x231ef5(0x105)];if(typeof _0x29e406[_0x231ef5(0x16b)]!=='string'||_0x3b88a7[_0x231ef5(0x11d)](_0x29e406[_0x231ef5(0x16b)]['length'],0x0))throw new IdGeneratorError(_0x3b88a7[_0x231ef5(0x101)],_0x231ef5(0xf8));_0xae19ba=_0x29e406[_0x231ef5(0x16b)];if(!Number['isInteger'](_0x29e406['counterInt'])||_0x29e406['counterInt']<0x1)throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x231ef5(0xc9)+_0x29e406['counterInt']+')');_0x1cedf4=_0x29e406['counterInt'];const _0xcdff13=_0xae19ba['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x582d22=_0xcdff13?_0xcdff13[0x1]:'text';}else{const _0x3c1c5d=this[_0x231ef5(0xca)](_0x29e406),_0x3e6b2e=this['_parseNumber']({'format':_0x3c1c5d['format'],'prefix':_0x3c1c5d['prefix'],'separator':_0x3c1c5d[_0x231ef5(0x193)],'numDigits':_0x3c1c5d['numDigits'],'number':_0x29e406[_0x231ef5(0x76)]});_0x1d1b1b=_0x3c1c5d['resource'],_0xae19ba=_0x3e6b2e['formatKey'],_0x1cedf4=_0x3e6b2e['counterInt'],_0x582d22=_0x3c1c5d[_0x231ef5(0x136)];}const _0x5e21e5=this[_0x231ef5(0xe8)](_0x1d1b1b,_0xae19ba),_0x26543e=this['_getCounterTTL'](_0x582d22);let _0x404cbd=null;if(_0x2498c6){_0x404cbd=this[_0x231ef5(0xdc)](_0x3b88a7['HwfEy'],_0x1d1b1b,_0xae19ba,_0x2498c6);const _0x1dd7b5=await this[_0x231ef5(0x89)](_0x404cbd);if(_0x1dd7b5)return _0x1dd7b5;}const _0x9479a9=redisClient['getClient']();await _0x9479a9[_0x231ef5(0x17f)](LUA_RELEASE_NUMBER,0x1,_0x5e21e5,String(_0x1cedf4),_0x3b88a7[_0x231ef5(0xb3)](String,_0x26543e));const _0x2d9efb={'released':!![],'resource':_0x1d1b1b,'formatKey':_0xae19ba,'counter':_0x1cedf4,'releasedAt':new Date()[_0x231ef5(0x137)]()};return await this['_storeIdemCache'](_0x404cbd,_0x2d9efb),this[_0x231ef5(0x164)](_0x1d1b1b,_0xae19ba,{'lastReleasedCounter':_0x1cedf4,'lastReleasedAt':_0x2d9efb['releasedAt']},_0x26543e),logger['info']({'event':_0x3b88a7[_0x231ef5(0xc5)],'resource':_0x1d1b1b,'formatKey':_0xae19ba,'counter':_0x1cedf4},'ID\x20Generator\x20number\x20released:\x20'+_0x1cedf4),_0x2d9efb;}async['reserveNumber'](_0x6dad09){const _0x39db17=a0_0x2771b1,_0x1d1559={'dneCy':'reserve','qKcvc':function(_0x85747e,_0x5efe97){return _0x85747e*_0x5efe97;},'SnOsd':_0x39db17(0x16b),'aJgWy':_0x39db17(0xce),'FzxXZ':'separator','YaBTM':'numDigits','IBGRY':_0x39db17(0xd8),'cZQzh':function(_0x5ebf5f,_0x5439ba){return _0x5ebf5f||_0x5439ba;},'SOTmT':'createdAt','ejNli':_0x39db17(0x121),'QLzKK':'ttlMs','VQmKJ':'idemKey','kenYP':function(_0x2676c8,_0x1eaf4d){return _0x2676c8(_0x1eaf4d);},'MhVhj':function(_0x4725fc,_0x5da669){return _0x4725fc(_0x5da669);},'AChhl':function(_0x4213b8,_0x860746){return _0x4213b8===_0x860746;},'Yotda':_0x39db17(0x144),'OPyUg':_0x39db17(0xbb),'yDmNI':_0x39db17(0x12b)};if(!this['enabled'])throw new IdGeneratorError(_0x39db17(0x150),'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)');const _0x40b464=this[_0x39db17(0xca)](_0x6dad09),_0x46ae58=this[_0x39db17(0x10e)](_0x6dad09[_0x39db17(0x156)]),_0x671949=this[_0x39db17(0x180)](_0x6dad09[_0x39db17(0x113)]),{resource:_0x3abf84,format:_0x43f2e5,prefix:_0x5a7004,separator:_0x1fdaa1,numDigits:_0x190098,reuseDelete:_0x486dce}=_0x40b464,{formatKey:_0x19522f,datePrefix:_0x17d0cb}=this[_0x39db17(0x86)](_0x43f2e5,_0x5a7004),_0x2636bc=this['_buildSeqKey'](_0x3abf84,_0x19522f),_0x2da229=this[_0x39db17(0xe8)](_0x3abf84,_0x19522f),_0x310b8b=this['_buildReservationIndexKey'](_0x3abf84,_0x19522f),_0x5c79b9=this['_getCounterTTL'](_0x43f2e5);let _0x45a42c=null;if(_0x671949){_0x45a42c=this[_0x39db17(0xdc)](_0x1d1559['dneCy'],_0x3abf84,_0x19522f,_0x671949);const _0xa519b7=await this[_0x39db17(0x89)](_0x45a42c);if(_0xa519b7)return _0xa519b7;}const _0x306abb=crypto[_0x39db17(0xb2)](),_0x1c4dd7=this['_buildReservationKey'](_0x306abb),_0x59a7e8=this['_buildReservationKeyPrefix'](),_0x62c984=Date['now'](),_0x19e84a=_0x62c984+_0x1d1559['qKcvc'](_0x46ae58,0x3e8),_0xd10f0=_0x1d1559['qKcvc'](_0x46ae58,0x3e8),_0x1ea519=new Date(_0x62c984)['toISOString'](),_0x3bcf82=new Date(_0x19e84a)[_0x39db17(0x137)](),_0x3ac48e=[_0x39db17(0x105),_0x3abf84,_0x1d1559[_0x39db17(0xef)],_0x19522f,'format',_0x43f2e5,_0x1d1559[_0x39db17(0xcd)],_0x5a7004,_0x1d1559['FzxXZ'],_0x1fdaa1,_0x1d1559[_0x39db17(0x9b)],String(_0x190098),_0x1d1559[_0x39db17(0xee)],_0x1d1559[_0x39db17(0x133)](_0x17d0cb,''),_0x1d1559['SOTmT'],_0x1ea519,_0x1d1559['ejNli'],_0x3bcf82,_0x1d1559['QLzKK'],String(_0xd10f0)];_0x671949&&_0x3ac48e['push'](_0x1d1559['VQmKJ'],_0x671949);const _0x3a5da5=redisClient['getClient'](),_0x25c302=await _0x3a5da5[_0x39db17(0x17f)](LUA_RESERVE_NUMBER,0x3,_0x2636bc,_0x2da229,_0x310b8b,_0x486dce?'1':'0',String(_0x5c79b9),_0x306abb,_0x1c4dd7,String(_0xd10f0),_0x1d1559[_0x39db17(0x171)](String,_0x19e84a),_0x1d1559['MhVhj'](String,_0x62c984),_0x59a7e8,..._0x3ac48e),_0x3ec434=_0x25c302[0x0],_0x569d3e=_0x1d1559['AChhl'](_0x25c302[0x1],0x1),_0x99e3b8=_0x25c302[0x2]||0x0;let _0x494a45;try{_0x494a45=this[_0x39db17(0xaf)]({'format':_0x43f2e5,'prefix':_0x5a7004,'datePrefix':_0x17d0cb,'separator':_0x1fdaa1,'numDigits':_0x190098,'counterInt':_0x3ec434});}catch(_0x1b878c){try{await _0x3a5da5[_0x39db17(0x17f)](LUA_CANCEL_RESERVATION,0x3,_0x1c4dd7,_0x310b8b,_0x2da229,_0x306abb,String(_0x5c79b9));}catch(_0xa5e5f5){logger['warn']({'event':'idgen_reserve_overflow_compensation_error','error':_0xa5e5f5[_0x39db17(0x19f)],'resource':_0x3abf84,'formatKey':_0x19522f,'counterInt':_0x3ec434,'token':_0x306abb},'Failed\x20to\x20compensate\x20reservation\x20after\x20counter\x20overflow');}throw _0x1b878c;}try{await _0x3a5da5['hset'](_0x1c4dd7,_0x39db17(0x147),_0x494a45);}catch(_0x1c9c8b){logger[_0x39db17(0x17b)]({'event':_0x1d1559['Yotda'],'error':_0x1c9c8b[_0x39db17(0x19f)],'resource':_0x3abf84,'formatKey':_0x19522f,'counterInt':_0x3ec434,'token':_0x306abb},'Failed\x20to\x20persist\x20formatted\x20value\x20to\x20reservation\x20hash');}const _0x48a7a1={'token':_0x306abb,'value':_0x494a45,'counter':_0x3ec434,'resource':_0x3abf84,'formatKey':_0x19522f,'isReused':_0x569d3e,'createdAt':_0x1ea519,'expiresAt':_0x3bcf82,'reapedCount':_0x99e3b8},_0x2c6e1c=await this[_0x39db17(0x191)](_0x45a42c,_0x48a7a1);if(!_0x2c6e1c[_0x39db17(0x16e)]){try{await _0x3a5da5['eval'](LUA_CANCEL_RESERVATION,0x3,_0x1c4dd7,_0x310b8b,_0x2da229,_0x306abb,_0x1d1559['kenYP'](String,_0x5c79b9));}catch(_0x5b0a85){logger[_0x39db17(0x17b)]({'event':_0x1d1559['OPyUg'],'error':_0x5b0a85[_0x39db17(0x19f)],'resource':_0x3abf84,'formatKey':_0x19522f,'counterInt':_0x3ec434,'token':_0x306abb},'Failed\x20to\x20cancel\x20reservation\x20for\x20idempotency\x20loser');}return logger[_0x39db17(0x159)]({'event':_0x1d1559['yDmNI'],'resource':_0x3abf84,'formatKey':_0x19522f,'counter':_0x3ec434,'token':_0x306abb},'ID\x20Generator\x20reserve\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x2c6e1c[_0x39db17(0x8b)];}return this[_0x39db17(0x164)](_0x3abf84,_0x19522f,{'lastReservedCounter':_0x3ec434,'lastReservedAt':_0x1ea519,'lastReapedCount':_0x99e3b8},_0x5c79b9),logger['info']({'event':'idgen_number_reserved','resource':_0x3abf84,'formatKey':_0x19522f,'counter':_0x3ec434,'isReused':_0x569d3e,'token':_0x306abb,'ttl':_0x46ae58,'reapedCount':_0x99e3b8},'ID\x20Generator\x20number\x20reserved:\x20'+_0x494a45+_0x39db17(0x189)+_0x306abb+')'),_0x48a7a1;}async[a0_0x2771b1(0x15f)](_0xb2bbcf){const _0x44a29e=a0_0x2771b1,_0xf7bbf1={'EdDWh':_0x44a29e(0x17d),'ZSbRb':_0x44a29e(0xa6),'VmKyh':function(_0x263ccf,_0x3b8437,_0x1d8e42){return _0x263ccf(_0x3b8437,_0x1d8e42);},'PbKkx':'text'};if(!this[_0x44a29e(0xfe)])throw new IdGeneratorError('IDGEN_DISABLED',_0xf7bbf1['EdDWh']);const _0x4393bb=this['_validateReservationToken'](_0xb2bbcf&&_0xb2bbcf[_0x44a29e(0xad)]),_0x4c7e44=this[_0x44a29e(0x180)](_0xb2bbcf&&_0xb2bbcf['idempotencyKey']);let _0x1a165a=null;if(_0x4c7e44){_0x1a165a=idempotencyManager['buildDeterministicKey'](_0xf7bbf1['ZSbRb'],'reserve_confirm',_0x4393bb+':'+_0x4c7e44);const _0x4a5825=await this['_retrieveIdemCache'](_0x1a165a);if(_0x4a5825)return _0x4a5825;}const _0x41e46f=await this['_getReservationContext'](_0x4393bb),_0x44d9e6=redisClient[_0x44a29e(0xab)](),_0x481a17=await _0x44d9e6['eval'](LUA_CONFIRM_RESERVATION,0x2,_0x41e46f['rsvKey'],_0x41e46f['rsvIdxKey'],_0x4393bb);if(!_0x481a17||_0x481a17[0x0]!==0x1)throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND',_0x44a29e(0x116)+_0x4393bb,{'token':_0x4393bb});const _0x21bcc7=_0xf7bbf1['VmKyh'](parseInt,_0x481a17[0x1],0xa),_0x401f22=_0x481a17[0x2],_0x18e9bb=_0x481a17[0x3],_0x3b0b0b=new Date()['toISOString'](),_0x3b3cf9={'confirmed':!![],'token':_0x4393bb,'value':_0x401f22,'counter':_0x21bcc7,'resource':_0x41e46f['resource'],'formatKey':_0x18e9bb,'confirmedAt':_0x3b0b0b};await this['_storeIdemCache'](_0x1a165a,_0x3b3cf9);const _0x457589=_0x18e9bb[_0x44a29e(0x9d)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x16adaa=_0x457589?_0x457589[0x1]:_0xf7bbf1[_0x44a29e(0xcb)],_0x25ab6c=this[_0x44a29e(0x12f)](_0x16adaa);return this['_updateMeta'](_0x41e46f['resource'],_0x18e9bb,{'lastConfirmedCounter':_0x21bcc7,'lastConfirmedAt':_0x3b0b0b},_0x25ab6c),logger['info']({'event':_0x44a29e(0x11b),'resource':_0x41e46f[_0x44a29e(0x105)],'formatKey':_0x18e9bb,'counter':_0x21bcc7,'token':_0x4393bb},'ID\x20Generator\x20reservation\x20confirmed:\x20'+_0x401f22+_0x44a29e(0x189)+_0x4393bb+')'),_0x3b3cf9;}async['cancelReservation'](_0x12a29c){const _0x4ba823=a0_0x2771b1,_0x26dfda={'kNZPW':'IDGEN_DISABLED','MrVDr':'ID\x20Generator\x20is\x20disabled','HkVQG':function(_0x574d78,_0x19b6a2){return _0x574d78(_0x19b6a2);}};if(!this['enabled'])throw new IdGeneratorError(_0x26dfda[_0x4ba823(0xbc)],_0x26dfda[_0x4ba823(0x9f)]);const _0xeb503d=this[_0x4ba823(0xf7)](_0x12a29c&&_0x12a29c['token']),_0x53f674=this[_0x4ba823(0x180)](_0x12a29c&&_0x12a29c[_0x4ba823(0x113)]);let _0x359680=null;if(_0x53f674){_0x359680=idempotencyManager[_0x4ba823(0x176)]('idgen',_0x4ba823(0x16c),_0xeb503d+':'+_0x53f674);const _0x35aea9=await this[_0x4ba823(0x89)](_0x359680);if(_0x35aea9)return _0x35aea9;}const _0x264695=await this['_getReservationContext'](_0xeb503d),_0x3fe4a7=this['_buildReuseKey'](_0x264695['resource'],_0x264695[_0x4ba823(0x16b)]),_0x2ce256=_0x264695['formatKey'][_0x4ba823(0x9d)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x331e95=_0x2ce256?_0x2ce256[0x1]:_0x4ba823(0x13c),_0x520c17=this['_getCounterTTL'](_0x331e95),_0x1bd0e0=redisClient['getClient'](),_0x822295=await _0x1bd0e0['eval'](LUA_CANCEL_RESERVATION,0x3,_0x264695['rsvKey'],_0x264695[_0x4ba823(0x8d)],_0x3fe4a7,_0xeb503d,_0x26dfda[_0x4ba823(0x185)](String,_0x520c17));if(!_0x822295||_0x822295[0x0]!==0x1)throw new IdGeneratorError(_0x4ba823(0x15c),_0x4ba823(0x116)+_0xeb503d,{'token':_0xeb503d});const _0x46b9f1=parseInt(_0x822295[0x1],0xa),_0x4a1f3c=_0x822295[0x2],_0x2aa7a4=_0x822295[0x3],_0x1a2b2e=new Date()[_0x4ba823(0x137)](),_0x487eaa={'cancelled':!![],'token':_0xeb503d,'value':_0x4a1f3c,'counter':_0x46b9f1,'resource':_0x264695['resource'],'formatKey':_0x2aa7a4,'releasedToReuse':!![],'cancelledAt':_0x1a2b2e};return await this[_0x4ba823(0x151)](_0x359680,_0x487eaa),this['_updateMeta'](_0x264695[_0x4ba823(0x105)],_0x2aa7a4,{'lastCancelledCounter':_0x46b9f1,'lastCancelledAt':_0x1a2b2e},_0x520c17),logger[_0x4ba823(0x159)]({'event':_0x4ba823(0x181),'resource':_0x264695[_0x4ba823(0x105)],'formatKey':_0x2aa7a4,'counter':_0x46b9f1,'token':_0xeb503d},_0x4ba823(0xdd)+_0x4a1f3c+'\x20(token='+_0xeb503d+')'),_0x487eaa;}async['extendReservation'](_0x210c3a){const _0x5f3cff=a0_0x2771b1,_0x4c71df={'mfoYn':_0x5f3cff(0x17d),'HSCKF':_0x5f3cff(0x184),'ywsmg':function(_0x4f4098,_0x176743){return _0x4f4098+_0x176743;},'yvpjs':function(_0xe31075,_0x11cb87){return _0xe31075*_0x11cb87;},'QmSEk':function(_0x71cd29,_0x560991){return _0x71cd29(_0x560991);},'iDqlo':function(_0x762d3e,_0x2ab74a){return _0x762d3e!==_0x2ab74a;},'fAXQc':'IDGEN_RESERVATION_NOT_FOUND','RlDRw':'text'};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x4c71df[_0x5f3cff(0x14a)]);const _0x5eaabf=this[_0x5f3cff(0xf7)](_0x210c3a&&_0x210c3a['token']),_0x3baef4=this[_0x5f3cff(0x10e)](_0x210c3a&&_0x210c3a[_0x5f3cff(0x156)]),_0x19c089=this['_validateIdempotencyKey'](_0x210c3a&&_0x210c3a['idempotencyKey']);let _0x3b9ec9=null;if(_0x19c089){_0x3b9ec9=idempotencyManager['buildDeterministicKey'](_0x5f3cff(0xa6),_0x4c71df['HSCKF'],_0x5eaabf+':'+_0x19c089);const _0x414ad2=await this['_retrieveIdemCache'](_0x3b9ec9);if(_0x414ad2)return _0x414ad2;}const _0x943c36=await this[_0x5f3cff(0x155)](_0x5eaabf),_0xeea073=Date['now'](),_0x4243fd=_0x4c71df[_0x5f3cff(0x12c)](_0xeea073,_0x4c71df['yvpjs'](_0x3baef4,0x3e8)),_0x4de946=_0x3baef4*0x3e8,_0x1420aa=new Date(_0x4243fd)[_0x5f3cff(0x137)](),_0x54ad67=redisClient['getClient'](),_0x3ddddc=await _0x54ad67[_0x5f3cff(0x17f)](LUA_EXTEND_RESERVATION,0x2,_0x943c36['rsvKey'],_0x943c36[_0x5f3cff(0x8d)],_0x5eaabf,_0x4c71df['QmSEk'](String,_0x4de946),String(_0x4243fd),_0x1420aa);if(!_0x3ddddc||_0x4c71df['iDqlo'](_0x3ddddc[0x0],0x1))throw new IdGeneratorError(_0x4c71df['fAXQc'],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x5eaabf,{'token':_0x5eaabf});const _0x358cee=_0x3ddddc[0x1],_0x385e44=parseInt(_0x3ddddc[0x2],0xa),_0x5c6480=_0x3ddddc[0x3],_0x16d2a6=_0x3ddddc[0x4],_0x2b75f4=new Date(_0xeea073)['toISOString'](),_0x4ba8a2={'extended':!![],'token':_0x5eaabf,'previousExpiresAt':_0x358cee,'expiresAt':_0x1420aa,'ttlMs':_0x4de946,'resource':_0x943c36['resource'],'formatKey':_0x16d2a6,'counter':_0x385e44,'value':_0x5c6480,'extendedAt':_0x2b75f4};await this['_storeIdemCache'](_0x3b9ec9,_0x4ba8a2);const _0xdbef65=_0x16d2a6['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x233d8c=_0xdbef65?_0xdbef65[0x1]:_0x4c71df['RlDRw'],_0x217b33=this[_0x5f3cff(0x12f)](_0x233d8c);return this['_updateMeta'](_0x943c36['resource'],_0x16d2a6,{'lastExtendedCounter':_0x385e44,'lastExtendedAt':_0x2b75f4},_0x217b33),logger['info']({'event':'idgen_reservation_extended','resource':_0x943c36['resource'],'formatKey':_0x16d2a6,'counter':_0x385e44,'token':_0x5eaabf,'ttl':_0x3baef4},_0x5f3cff(0x115)+_0x5c6480+'\x20(token='+_0x5eaabf+_0x5f3cff(0x15a)+_0x3baef4+'s)'),_0x4ba8a2;}async[a0_0x2771b1(0x141)](_0x591281){const _0x1df027=a0_0x2771b1,_0x1577f7={'RRYkH':'ID\x20Generator\x20is\x20disabled','YcLxL':'IDGEN_RESERVATION_NOT_FOUND','cfzcl':function(_0x3da1e3,_0x2361f0,_0x14c790){return _0x3da1e3(_0x2361f0,_0x14c790);},'nwpRA':function(_0x1f285b,_0x3eb756){return _0x1f285b===_0x3eb756;},'addqe':_0x1df027(0x76),'Yslcj':function(_0xb18778,_0xee5cbd){return _0xb18778>=_0xee5cbd;}};if(!this['enabled'])throw new IdGeneratorError(_0x1df027(0x150),_0x1577f7['RRYkH']);const _0x4b2641=this[_0x1df027(0xf7)](_0x591281&&_0x591281['token']),_0x191080=this['_buildReservationKey'](_0x4b2641),_0x1261a5=redisClient['getClient'](),_0x48d24f=_0x1261a5['pipeline']();_0x48d24f['hgetall'](_0x191080),_0x48d24f[_0x1df027(0x130)](_0x191080);const _0x165a93=await _0x48d24f[_0x1df027(0xa9)](),_0x51dcdf=_0x165a93&&_0x165a93[0x0]&&_0x165a93[0x0][0x1],_0x1cdf8e=_0x165a93&&_0x165a93[0x1]&&_0x165a93[0x1][0x1];if(!_0x51dcdf||Object['keys'](_0x51dcdf)[_0x1df027(0x126)]===0x0)throw new IdGeneratorError(_0x1577f7[_0x1df027(0x199)],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x4b2641,{'token':_0x4b2641});return{'token':_0x4b2641,'resource':_0x51dcdf['resource']||null,'formatKey':_0x51dcdf['formatKey']||null,'format':_0x51dcdf['format']||null,'prefix':_0x51dcdf[_0x1df027(0xce)]||'','separator':_0x51dcdf['separator']||'','numDigits':_0x51dcdf[_0x1df027(0x179)]?parseInt(_0x51dcdf[_0x1df027(0x179)],0xa):null,'datePrefix':_0x51dcdf['datePrefix']||'','counter':_0x51dcdf['counter']?_0x1577f7['cfzcl'](parseInt,_0x51dcdf['counter'],0xa):null,'value':_0x51dcdf[_0x1df027(0x147)]||null,'isReused':_0x51dcdf['isReused']==='1'||_0x51dcdf['isReused']===0x1,'createdAt':_0x51dcdf['createdAt']||null,'expiresAt':_0x51dcdf['expiresAt']||null,'ttlRemainingMs':_0x1577f7[_0x1df027(0xbe)](typeof _0x1cdf8e,_0x1577f7['addqe'])&&_0x1577f7[_0x1df027(0x154)](_0x1cdf8e,0x0)?_0x1cdf8e:null};}async[a0_0x2771b1(0x155)](_0x2916b6){const _0x382acd=a0_0x2771b1,_0x379c51={'Udmpd':_0x382acd(0x105),'wpmFW':_0x382acd(0x16b),'IijGl':_0x382acd(0x15c)},_0x11f49d=this[_0x382acd(0x109)](_0x2916b6),_0x220d4a=redisClient[_0x382acd(0xab)](),_0x1d81f9=await _0x220d4a['hmget'](_0x11f49d,_0x379c51[_0x382acd(0xb5)],_0x379c51['wpmFW']),_0x51c616=_0x1d81f9&&_0x1d81f9[0x0],_0xc00227=_0x1d81f9&&_0x1d81f9[0x1];if(!_0x51c616||!_0xc00227)throw new IdGeneratorError(_0x379c51['IijGl'],_0x382acd(0x116)+_0x2916b6,{'token':_0x2916b6});return{'resource':_0x51c616,'formatKey':_0xc00227,'rsvKey':_0x11f49d,'rsvIdxKey':this[_0x382acd(0x128)](_0x51c616,_0xc00227)};}async['random'](_0x35faf3){const _0x178af5=a0_0x2771b1,_0x13cc85={'uzEsE':function(_0x489e0b,_0x1ac138){return _0x489e0b===_0x1ac138;},'uobpN':'random','fBbdP':function(_0x408a4d,_0x378526){return _0x408a4d<_0x378526;},'siyMk':function(_0x184c8d,_0x25c144){return _0x184c8d===_0x25c144;},'andSi':function(_0x172ba6,_0x33489c){return _0x172ba6+_0x33489c;},'rHmon':function(_0x2548a9,_0x1302f2){return _0x2548a9*_0x1302f2;},'SklJF':function(_0x2e1fd8,_0x3cad1c){return _0x2e1fd8||_0x3cad1c;}};if(!this[_0x178af5(0xfe)])throw new IdGeneratorError('IDGEN_DISABLED',_0x178af5(0x17d));this['_validateResource'](_0x35faf3['resource']),this[_0x178af5(0x9a)](_0x35faf3[_0x178af5(0x166)]);const _0x328b4a=this['_validateTTL'](_0x35faf3[_0x178af5(0x156)]),_0x116ca9=this['_validateMaxRetry'](_0x35faf3[_0x178af5(0xbd)]),_0x48ce6b=this['_validateIdempotencyKey'](_0x35faf3[_0x178af5(0x113)]),_0x2d4926=_0x13cc85['uzEsE'](_0x35faf3['ensureUnique'],!![]),{resource:_0x579db9,pattern:_0x5ee2e4}=_0x35faf3;let _0x8687ec=null;if(_0x48ce6b){_0x8687ec=this[_0x178af5(0xdc)](_0x13cc85[_0x178af5(0x19d)],_0x579db9,null,_0x48ce6b);const _0x3bbcad=await this['_retrieveIdemCache'](_0x8687ec);if(_0x3bbcad)return _0x3bbcad;}const _0x2f5104=redisClient[_0x178af5(0xab)]();let _0x2cafa7=null,_0x15ab68=0x0;if(!_0x2d4926)_0x2cafa7=this[_0x178af5(0xb6)](_0x5ee2e4),_0x15ab68=0x1;else{for(let _0x116722=0x0;_0x13cc85['fBbdP'](_0x116722,_0x116ca9);_0x116722++){_0x15ab68++;const _0x35d8bc=this[_0x178af5(0xb6)](_0x5ee2e4);if(_0x328b4a){const _0x38c699=this[_0x178af5(0xeb)](_0x579db9,_0x35d8bc),_0x441808=await _0x2f5104[_0x178af5(0x192)](_0x38c699,'1','EX',_0x328b4a,'NX');if(_0x13cc85[_0x178af5(0x100)](_0x441808,'OK')){_0x2cafa7=_0x35d8bc;break;}}else{const _0x247317=this[_0x178af5(0x95)](_0x579db9),_0x5dedf3=await _0x2f5104[_0x178af5(0xd1)](_0x247317,_0x35d8bc);if(_0x13cc85['uzEsE'](_0x5dedf3,0x1)){_0x2cafa7=_0x35d8bc;break;}}}if(_0x13cc85['siyMk'](_0x2cafa7,null))throw new IdGeneratorError(_0x178af5(0xa2),'Could\x20not\x20generate\x20unique\x20value\x20after\x20'+_0x116ca9+'\x20attempts.\x20Increase\x20pattern\x20length\x20or\x20maxRetry.',{'resource':_0x579db9,'pattern':_0x5ee2e4,'maxRetry':_0x116ca9});}const _0x53b9bc={'value':_0x2cafa7,'resource':_0x579db9,'pattern':_0x5ee2e4,'attemptCount':_0x15ab68,'generatedAt':new Date()['toISOString']()};_0x328b4a&&_0x2d4926&&(_0x53b9bc[_0x178af5(0x121)]=new Date(_0x13cc85[_0x178af5(0xfc)](Date['now'](),_0x13cc85[_0x178af5(0xaa)](_0x328b4a,0x3e8)))['toISOString']());const _0x5e1363=await this[_0x178af5(0x191)](_0x8687ec,_0x53b9bc);if(!_0x5e1363['stored'])return _0x2d4926&&await this['_undoRandomReservation'](_0x579db9,_0x2cafa7,_0x328b4a),logger['info']({'event':'idgen_random_idem_loser','resource':_0x579db9,'pattern':_0x5ee2e4,'value':_0x2cafa7},_0x178af5(0xe3)),_0x5e1363['winnerResult'];return logger['info']({'event':'idgen_random_generated','resource':_0x579db9,'pattern':_0x5ee2e4,'attemptCount':_0x15ab68,'ensureUnique':_0x2d4926,'ttl':_0x13cc85[_0x178af5(0x18d)](_0x328b4a,0x0)},'ID\x20Generator\x20random:\x20'+_0x2cafa7),_0x53b9bc;}async[a0_0x2771b1(0x139)](_0xe3567c){const _0x47062c=a0_0x2771b1,_0x488fd8={'jCMYO':function(_0x16b8bd,_0x50f92f){return _0x16b8bd==_0x50f92f;},'mivXI':'IDGEN_INVALID_DIGITS','oNHyr':function(_0x161afb,_0x40dc93){return _0x161afb===_0x40dc93;}},_0x214dd5=_0x488fd8[_0x47062c(0x8f)](_0xe3567c[_0x47062c(0x146)],null)?this[_0x47062c(0x125)]:_0xe3567c[_0x47062c(0x146)];if(!Number['isInteger'](_0x214dd5)||_0x214dd5<MIN_PIN_DIGITS||_0x214dd5>MAX_PIN_DIGITS)throw new IdGeneratorError(_0x488fd8['mivXI'],'Invalid\x20digits:\x20must\x20be\x20integer\x20'+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+_0x47062c(0xd0)+_0x214dd5+')');const _0xf37fcb='9'[_0x47062c(0xb8)](_0x214dd5);return this['random']({'resource':_0xe3567c[_0x47062c(0x105)],'pattern':_0xf37fcb,'ensureUnique':_0x488fd8[_0x47062c(0xe1)](_0xe3567c['ensureUnique'],!![]),'ttl':_0xe3567c['ttl'],'maxRetry':_0xe3567c[_0x47062c(0xbd)],'idempotencyKey':_0xe3567c['idempotencyKey']});}async['serial'](_0x45b4e5){const _0x5a185c=a0_0x2771b1,_0x55f1ea={'bDnvM':function(_0x350062,_0x100990){return _0x350062!==_0x100990;}},_0x471cbb=_0x45b4e5[_0x5a185c(0x166)]||this['defaultSerialPattern'];return this[_0x5a185c(0x175)]({'resource':_0x45b4e5['resource'],'pattern':_0x471cbb,'ensureUnique':_0x55f1ea['bDnvM'](_0x45b4e5[_0x5a185c(0x15b)],![]),'ttl':_0x45b4e5[_0x5a185c(0x156)],'maxRetry':_0x45b4e5['maxRetry'],'idempotencyKey':_0x45b4e5['idempotencyKey']});}async['code'](_0x4cf0ae){const _0xae118c=a0_0x2771b1,_0x3eaaec={'wJPgf':function(_0x1c9544,_0x2a2c04){return _0x1c9544!==_0x2a2c04;}},_0x41ee03=_0x4cf0ae[_0xae118c(0x166)]||this['defaultCodePattern'];return this[_0xae118c(0x175)]({'resource':_0x4cf0ae[_0xae118c(0x105)],'pattern':_0x41ee03,'ensureUnique':_0x3eaaec['wJPgf'](_0x4cf0ae[_0xae118c(0x15b)],![]),'ttl':_0x4cf0ae[_0xae118c(0x156)],'maxRetry':_0x4cf0ae[_0xae118c(0xbd)],'idempotencyKey':_0x4cf0ae['idempotencyKey']});}async[a0_0x2771b1(0x131)](_0x41c3af){const _0x4193a5=a0_0x2771b1,_0x22c631={'InuPI':_0x4193a5(0x17d),'NaMyt':'idgen_consumed'};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x22c631['InuPI']);this['_validateResource'](_0x41c3af['resource']);if(typeof _0x41c3af[_0x4193a5(0x147)]!==_0x4193a5(0x9c)||_0x41c3af['value'][_0x4193a5(0x126)]===0x0)throw new IdGeneratorError(_0x4193a5(0x129),_0x4193a5(0xf4));const {resource:_0xfa4784,value:_0x70e177}=_0x41c3af,_0x4d2ced=redisClient['getClient'](),_0xb6a636=this['_buildActiveKey'](_0xfa4784,_0x70e177),_0x592d6e=this[_0x4193a5(0x95)](_0xfa4784),[_0x1f4421,_0x2ded9d]=await Promise[_0x4193a5(0x187)]([_0x4d2ced['del'](_0xb6a636),_0x4d2ced[_0x4193a5(0x118)](_0x592d6e,_0x70e177)]),_0x5c40bb=_0x1f4421+_0x2ded9d>0x0;return logger[_0x4193a5(0x159)]({'event':_0x22c631[_0x4193a5(0x190)],'resource':_0xfa4784,'value':_0x70e177,'consumed':_0x5c40bb},_0x4193a5(0x114)+_0x70e177),{'consumed':_0x5c40bb,'resource':_0xfa4784,'value':_0x70e177,'consumedAt':new Date()['toISOString']()};}async['peek'](_0x284b48){const _0x1656d3=a0_0x2771b1,_0x1c9c1b={'ZUPXX':'IDGEN_DISABLED','rHBTD':'ID\x20Generator\x20is\x20disabled','LMnXt':_0x1656d3(0x76),'AfWLy':function(_0x370128,_0x29b0d1){return _0x370128===_0x29b0d1;},'mNUwI':_0x1656d3(0xe9),'dFPVP':function(_0x3065af,_0x1626d7,_0x33273f){return _0x3065af(_0x1626d7,_0x33273f);},'yvwMw':function(_0x1fc18a,_0x51fc0e){return _0x1fc18a||_0x51fc0e;},'zXqAQ':'random','OkjKs':'IDGEN_INVALID_MODE'};if(!this['enabled'])throw new IdGeneratorError(_0x1c9c1b['ZUPXX'],_0x1c9c1b[_0x1656d3(0x13a)]);this['_validateResource'](_0x284b48[_0x1656d3(0x105)]);const _0x3c49b3=_0x284b48[_0x1656d3(0x97)]||_0x1c9c1b[_0x1656d3(0xb1)],_0x2d4edf=redisClient['getClient']();if(_0x1c9c1b[_0x1656d3(0xc2)](_0x3c49b3,_0x1656d3(0x76))){const _0x5d2603=(_0x284b48['format']||'text')[_0x1656d3(0x16f)]();if(!ALLOWED_FORMATS[_0x1656d3(0x174)](_0x5d2603))throw new IdGeneratorError(_0x1c9c1b[_0x1656d3(0x165)],'Invalid\x20format:\x20'+_0x284b48[_0x1656d3(0x136)]);const {formatKey:_0x2e6b98}=this['_buildFormatKey'](_0x5d2603,_0x284b48['prefix']||''),_0x59a6b0=this['_buildSeqKey'](_0x284b48[_0x1656d3(0x105)],_0x2e6b98),_0xc86d73=this['_buildReuseKey'](_0x284b48['resource'],_0x2e6b98),[_0x5e5c9e,_0x44fad2]=await Promise['all']([_0x2d4edf[_0x1656d3(0x196)](_0x59a6b0),_0x2d4edf[_0x1656d3(0x14f)](_0xc86d73)]);return{'resource':_0x284b48[_0x1656d3(0x105)],'mode':_0x1c9c1b['LMnXt'],'formatKey':_0x2e6b98,'currentCounter':_0x1c9c1b[_0x1656d3(0x90)](parseInt,_0x5e5c9e,0xa)||0x0,'reusePoolSize':_0x1c9c1b[_0x1656d3(0xe6)](_0x44fad2,0x0)};}if(_0x3c49b3===_0x1c9c1b['zXqAQ']){const _0x1e25a3=this['_buildIssuedKey'](_0x284b48[_0x1656d3(0x105)]),_0x3fc171=await _0x2d4edf[_0x1656d3(0x10b)](_0x1e25a3);return{'resource':_0x284b48[_0x1656d3(0x105)],'mode':_0x1c9c1b['zXqAQ'],'issuedCount':_0x3fc171||0x0};}throw new IdGeneratorError(_0x1c9c1b['OkjKs'],_0x1656d3(0x7c)+_0x3c49b3);}async[a0_0x2771b1(0xd7)](_0x6a9584){const _0xf22d2a=a0_0x2771b1,_0x2dcd4e={'bMMXF':'number'},_0x37156b=await this['peek'](_0x6a9584);if(_0x37156b['mode']===_0x2dcd4e[_0xf22d2a(0x123)]){const _0x515e1b=redisClient[_0xf22d2a(0xab)](),_0x35af8e=this['_buildMetaKey'](_0x6a9584['resource'],_0x37156b[_0xf22d2a(0x16b)]),_0x225513=this[_0xf22d2a(0xe8)](_0x6a9584[_0xf22d2a(0x105)],_0x37156b[_0xf22d2a(0x16b)]),[_0x1e3205,_0x4a5430]=await Promise[_0xf22d2a(0x187)]([_0x515e1b['hgetall'](_0x35af8e),_0x515e1b['zrange'](_0x225513,0x0,-0x1)]);return{..._0x37156b,'reusePoolValues':_0x4a5430[_0xf22d2a(0x99)](_0x141d2d=>parseInt(_0x141d2d,0xa)),'meta':_0x1e3205&&Object[_0xf22d2a(0xc7)](_0x1e3205)[_0xf22d2a(0x126)]>0x0?_0x1e3205:null};}return _0x37156b;}async[a0_0x2771b1(0x87)](_0x1a4c5b){const _0x2c4f0a=a0_0x2771b1,_0x4b1746={'jQfXV':_0x2c4f0a(0x17d),'LnQSd':_0x2c4f0a(0xe2),'kRoLa':'number','JeIyC':_0x2c4f0a(0x13c),'NOgxm':'IDGEN_INVALID_FORMAT','CnOkX':'idgen_reset','YJYFr':_0x2c4f0a(0xdf),'IhfnP':'reuse','tljes':_0x2c4f0a(0x18f),'nROND':'random','dJyVQ':'issued','VZXAS':'IDGEN_INVALID_MODE'};if(!this['enabled'])throw new IdGeneratorError(_0x2c4f0a(0x150),_0x4b1746['jQfXV']);if(!this['allowReset'])throw new IdGeneratorError('IDGEN_RESET_NOT_ALLOWED',_0x4b1746[_0x2c4f0a(0x183)]);this['_validateResource'](_0x1a4c5b['resource']);const _0x5cff26=_0x1a4c5b['mode']||_0x4b1746['kRoLa'],_0x446957=redisClient['getClient']();if(_0x5cff26===_0x4b1746[_0x2c4f0a(0x11c)]){const _0xa23db=(_0x1a4c5b[_0x2c4f0a(0x136)]||_0x4b1746[_0x2c4f0a(0xcf)])[_0x2c4f0a(0x16f)]();if(!ALLOWED_FORMATS[_0x2c4f0a(0x174)](_0xa23db))throw new IdGeneratorError(_0x4b1746[_0x2c4f0a(0x13d)],'Invalid\x20format:\x20'+_0x1a4c5b[_0x2c4f0a(0x136)]);const {formatKey:_0x24539c}=this['_buildFormatKey'](_0xa23db,_0x1a4c5b[_0x2c4f0a(0xce)]||''),_0x9c1964=this['_buildSeqKey'](_0x1a4c5b[_0x2c4f0a(0x105)],_0x24539c),_0xa1b4e7=this['_buildReuseKey'](_0x1a4c5b[_0x2c4f0a(0x105)],_0x24539c),_0x1316c1=this['_buildMetaKey'](_0x1a4c5b[_0x2c4f0a(0x105)],_0x24539c);return await _0x446957['del'](_0x9c1964,_0xa1b4e7,_0x1316c1),logger['warn']({'event':_0x4b1746[_0x2c4f0a(0x17a)],'resource':_0x1a4c5b['resource'],'mode':_0x4b1746['kRoLa'],'formatKey':_0x24539c},_0x2c4f0a(0x157)+_0x1a4c5b['resource']+':'+_0x24539c),{'reset':!![],'resource':_0x1a4c5b[_0x2c4f0a(0x105)],'mode':_0x4b1746['kRoLa'],'formatKey':_0x24539c,'deletedKeys':[_0x4b1746['YJYFr'],_0x4b1746['IhfnP'],_0x4b1746[_0x2c4f0a(0x119)]]};}if(_0x5cff26===_0x4b1746[_0x2c4f0a(0x80)]){const _0xe0166=this[_0x2c4f0a(0x95)](_0x1a4c5b['resource']);return await _0x446957[_0x2c4f0a(0x110)](_0xe0166),logger[_0x2c4f0a(0x17b)]({'event':_0x4b1746[_0x2c4f0a(0x17a)],'resource':_0x1a4c5b['resource'],'mode':_0x2c4f0a(0x175)},'ID\x20Generator\x20reset:\x20random:'+_0x1a4c5b['resource']),{'reset':!![],'resource':_0x1a4c5b[_0x2c4f0a(0x105)],'mode':_0x2c4f0a(0x175),'deletedKeys':[_0x4b1746['dJyVQ']]};}throw new IdGeneratorError(_0x4b1746['VZXAS'],'Unknown\x20mode:\x20'+_0x5cff26);}}const instance=new IdGenerator();instance[a0_0x2771b1(0x108)]=IdGeneratorError,module['exports']=instance,module['exports']['IdGeneratorError']=IdGeneratorError;
@@ -1 +1 @@
1
- 'use strict';function a0_0x5ec6(){const _0x5d5c59=['mtuWotK5nJrszxPTv0C','zMLSDgvY','ugHjA2m','x2LUAxrPywXPEMvK','swrLBxbVDgvUy3KGCMvZCg9UC2uGC3rVCMvK','AwrLBxbVDgvUy3LFC3rVCMu','Cgf0Aa','z2v0','mteZntjyteHWA3O','mZq1oeLXuu53rq','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i6ia','DhrVC0q','AwrLBxbVDgvUy3LFCMv0CMLLDMvFzxjYB3i','ntyZnhzuyurfBq','zxjYB3i','zgvMyxvSDa','lI9SB2DNzxi','qwHnyxa','x2LUAxrdB25MAwC','x2vUC3vYzuLUAxrPywXPEMvK','ndK0u0rJCMDR','yNvPBgrezxrLCM1PBMLZDgLJs2v5','BwvZC2fNzq','mtaYnwvYrxjkvW','mZKWmtaYmgLPu3bcvW','x2vUywjSzwq','zw5HyMXLza','y3j5ChrV','mtCZmdbRDvvSELK','yNvPBgrlzxK','mtqXodCWm1LZq3Hjyq','CMvX','wxfly0C','C2v0zxG','DhrS','mZuYow1jr01qyq','mtaXotrcEvvyBgu','Aw5MBW','x3r0Ba','CMv0CMLLDMu','z2v0q2XPzw50','swrLBxbVDgvUy3KGy2fJAguGseLu','surftvbpvevoq1LFvfrm','Dw5RBM93BG','AwrLBxbVDgvUy3LFBwLZCW'];a0_0x5ec6=function(){return _0x5d5c59;};return a0_0x5ec6();}const a0_0x5ad004=a0_0x1718;(function(_0x156bcc,_0x1c52bd){const _0x5c0910=a0_0x1718,_0x5c31f5=_0x156bcc();while(!![]){try{const _0x2a2d7a=-parseInt(_0x5c0910(0xe8))/0x1*(-parseInt(_0x5c0910(0x106))/0x2)+-parseInt(_0x5c0910(0xe3))/0x3+parseInt(_0x5c0910(0x10e))/0x4*(-parseInt(_0x5c0910(0x109))/0x5)+parseInt(_0x5c0910(0xe9))/0x6*(-parseInt(_0x5c0910(0xfb))/0x7)+parseInt(_0x5c0910(0xfa))/0x8*(parseInt(_0x5c0910(0xff))/0x9)+-parseInt(_0x5c0910(0x10a))/0xa+parseInt(_0x5c0910(0xf2))/0xb;if(_0x2a2d7a===_0x1c52bd)break;else _0x5c31f5['push'](_0x5c31f5['shift']());}catch(_0x15cce1){_0x5c31f5['push'](_0x5c31f5['shift']());}}}(a0_0x5ec6,0x84c03));function a0_0x1718(_0x3a5952,_0x13e245){_0x3a5952=_0x3a5952-0xe2;const _0x5ec621=a0_0x5ec6();let _0x17185a=_0x5ec621[_0x3a5952];if(a0_0x1718['kmoMfI']===undefined){var _0x2a1aa7=function(_0x52021f){const _0x5853d8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2ee9ec='',_0x5572d5='';for(let _0x42c338=0x0,_0x5c78e5,_0x542d34,_0x3f4658=0x0;_0x542d34=_0x52021f['charAt'](_0x3f4658++);~_0x542d34&&(_0x5c78e5=_0x42c338%0x4?_0x5c78e5*0x40+_0x542d34:_0x542d34,_0x42c338++%0x4)?_0x2ee9ec+=String['fromCharCode'](0xff&_0x5c78e5>>(-0x2*_0x42c338&0x6)):0x0){_0x542d34=_0x5853d8['indexOf'](_0x542d34);}for(let _0x521f24=0x0,_0x1ece7c=_0x2ee9ec['length'];_0x521f24<_0x1ece7c;_0x521f24++){_0x5572d5+='%'+('00'+_0x2ee9ec['charCodeAt'](_0x521f24)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5572d5);};a0_0x1718['RCwHVi']=_0x2a1aa7,a0_0x1718['nxYbam']={},a0_0x1718['kmoMfI']=!![];}const _0x450e30=_0x5ec621[0x0],_0x6e3d03=_0x3a5952+_0x450e30,_0x6fc75f=a0_0x1718['nxYbam'][_0x6e3d03];return!_0x6fc75f?(_0x17185a=a0_0x1718['RCwHVi'](_0x17185a),a0_0x1718['nxYbam'][_0x6e3d03]=_0x17185a):_0x17185a=_0x6fc75f,_0x17185a;}const redisClient=require('./redis-client'),{logger}=require(a0_0x5ad004(0x102)),crypto=require(a0_0x5ad004(0x10d));class IdempotencyManager{constructor(){const _0x7be3ec=a0_0x5ad004;this['_enabled']=null,this['_ttl']=null,this[_0x7be3ec(0xf5)]=![];}[a0_0x5ad004(0x104)](){const _0x23d138=a0_0x5ad004,_0x280ee0={'VpcEj':'true','YqKcG':function(_0x374ec7,_0x4d5fa0,_0x28881b){return _0x374ec7(_0x4d5fa0,_0x28881b);},'CCBdT':'idempotency_config_init'};this['_enabled']=process['env']['IDEMPOTENCY_ENABLED']===_0x280ee0['VpcEj'],this[_0x23d138(0xeb)]=_0x280ee0[_0x23d138(0xe5)](parseInt,process['env'][_0x23d138(0xef)],0xa)||0x12c,this['_initialized']=!![],logger[_0x23d138(0xea)]({'event':_0x280ee0['CCBdT'],'enabled':this[_0x23d138(0x10b)],'ttl':this[_0x23d138(0xeb)]},'Idempotency\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+',\x20TTL:\x20'+this['_ttl']+'s');}[a0_0x5ad004(0x105)](){const _0x41d1e3=a0_0x5ad004;!this[_0x41d1e3(0xf5)]&&this['_initConfig']();}get['enabled'](){const _0x186b1b=a0_0x5ad004;return this[_0x186b1b(0x105)](),this[_0x186b1b(0x10b)];}get[a0_0x5ad004(0xe7)](){const _0x2bfd2c=a0_0x5ad004;return this[_0x2bfd2c(0x105)](),this['_ttl'];}['isEnabled'](){const _0x151119=a0_0x5ad004;return this[_0x151119(0x10c)];}[a0_0x5ad004(0xe2)](_0x461581,_0x30b4b8){const _0x2d428b=a0_0x5ad004,_0xa337a8=_0x30b4b8[_0x2d428b(0xf8)]['split']('/')[_0x2d428b(0xf3)](Boolean),_0x1d748e=_0xa337a8[0x0]||_0x2d428b(0x101),_0x147d4a=_0xa337a8[0x1]||'unknown',_0x5565a6=_0xa337a8[0x2]||_0x2d428b(0xf0);return'rf:idem:'+_0x1d748e+':'+_0x147d4a+':'+_0x5565a6+':'+_0x461581;}async['store'](_0x329d15,_0x23afb4){const _0x5f2c3c=a0_0x5ad004,_0x1975b1={'PhIkc':_0x5f2c3c(0xf7),'eaofu':_0x5f2c3c(0xf6),'ttosD':'idempotency_store_error'};if(!this[_0x5f2c3c(0x10c)])return![];try{const _0x5e3203=redisClient[_0x5f2c3c(0xed)]();return await _0x5e3203[_0x5f2c3c(0xe6)](_0x329d15,this[_0x5f2c3c(0xe7)],JSON['stringify'](_0x23afb4)),logger['debug']({'event':_0x1975b1[_0x5f2c3c(0xf4)],'key':_0x329d15,'ttl':this[_0x5f2c3c(0xe7)],'statusCode':_0x23afb4['statusCode']},_0x1975b1['eaofu']),!![];}catch(_0x4da715){return logger['error']({'event':_0x1975b1[_0x5f2c3c(0xfd)],'key':_0x329d15,'error':_0x4da715['message']},_0x5f2c3c(0xfc)+_0x4da715['message']),![];}}async[a0_0x5ad004(0xec)](_0x3a75cd){const _0x1fa23d=a0_0x5ad004,_0x5b2595={'AhMap':'idempotency_hit','qhoHz':_0x1fa23d(0xee)};if(!this['enabled'])return null;try{const _0xa9a6bd=redisClient[_0x1fa23d(0xed)](),_0x2f15af=await _0xa9a6bd[_0x1fa23d(0xf9)](_0x3a75cd);if(_0x2f15af)return logger[_0x1fa23d(0xea)]({'event':_0x5b2595[_0x1fa23d(0x103)],'key':_0x3a75cd},_0x5b2595['qhoHz']),JSON['parse'](_0x2f15af);return logger['debug']({'event':_0x1fa23d(0xf1),'key':_0x3a75cd},'Idempotency\x20cache\x20MISS'),null;}catch(_0x443f87){return logger[_0x1fa23d(0x100)]({'event':_0x1fa23d(0xfe),'key':_0x3a75cd,'error':_0x443f87['message']},'Idempotency\x20retrieve\x20error:\x20'+_0x443f87[_0x1fa23d(0x108)]),null;}}['generateKey'](_0x1885af=a0_0x5ad004(0xe4)){return _0x1885af+'_'+crypto['randomUUID']();}[a0_0x5ad004(0x107)](_0x2f8dce,_0x3c2b3e,_0x2373d8){return _0x2f8dce+':'+_0x3c2b3e+':'+_0x2373d8;}}module['exports']=new IdempotencyManager();
1
+ 'use strict';const a0_0x813f6d=a0_0x50cc;(function(_0x375336,_0x206319){const _0x2f8c61=a0_0x50cc,_0x114943=_0x375336();while(!![]){try{const _0x1a4fd7=-parseInt(_0x2f8c61(0x204))/0x1*(-parseInt(_0x2f8c61(0x206))/0x2)+-parseInt(_0x2f8c61(0x208))/0x3+parseInt(_0x2f8c61(0x214))/0x4+-parseInt(_0x2f8c61(0x209))/0x5+parseInt(_0x2f8c61(0x213))/0x6*(parseInt(_0x2f8c61(0x21a))/0x7)+parseInt(_0x2f8c61(0x201))/0x8+-parseInt(_0x2f8c61(0x218))/0x9;if(_0x1a4fd7===_0x206319)break;else _0x114943['push'](_0x114943['shift']());}catch(_0x3a9314){_0x114943['push'](_0x114943['shift']());}}}(a0_0x2e44,0xc4679));function a0_0x50cc(_0x1670db,_0x5d9598){_0x1670db=_0x1670db-0x1f0;const _0x2e44e0=a0_0x2e44();let _0x50cc24=_0x2e44e0[_0x1670db];if(a0_0x50cc['kYXQTl']===undefined){var _0xb8ce64=function(_0x4d5316){const _0x28da2a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5c4efb='',_0x55e340='';for(let _0x47a949=0x0,_0x2d5bac,_0x128108,_0x5aadf5=0x0;_0x128108=_0x4d5316['charAt'](_0x5aadf5++);~_0x128108&&(_0x2d5bac=_0x47a949%0x4?_0x2d5bac*0x40+_0x128108:_0x128108,_0x47a949++%0x4)?_0x5c4efb+=String['fromCharCode'](0xff&_0x2d5bac>>(-0x2*_0x47a949&0x6)):0x0){_0x128108=_0x28da2a['indexOf'](_0x128108);}for(let _0x2e376d=0x0,_0x4eb47d=_0x5c4efb['length'];_0x2e376d<_0x4eb47d;_0x2e376d++){_0x55e340+='%'+('00'+_0x5c4efb['charCodeAt'](_0x2e376d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x55e340);};a0_0x50cc['ZRWcqI']=_0xb8ce64,a0_0x50cc['rFojAS']={},a0_0x50cc['kYXQTl']=!![];}const _0x470414=_0x2e44e0[0x0],_0x30bea3=_0x1670db+_0x470414,_0x1071ce=a0_0x50cc['rFojAS'][_0x30bea3];return!_0x1071ce?(_0x50cc24=a0_0x50cc['ZRWcqI'](_0x50cc24),a0_0x50cc['rFojAS'][_0x30bea3]=_0x50cc24):_0x50cc24=_0x1071ce,_0x50cc24;}const redisClient=require(a0_0x813f6d(0x217)),{logger}=require(a0_0x813f6d(0x1f5)),crypto=require('crypto');function a0_0x2e44(){const _0xebd36c=['x2vUywjSzwq','swrLBxbVDgvUy3KGy29UzMLNDxjHDgLVBIbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i6ia','mJe5mfrmr1LuDa','mZG0mZm4menHBMX4uG','z2v0q2XPzw50','C3bSAxq','lI9YzwrPCY1JBgLLBNq','nJm3mteWmeDPzuTzqW','Dhj1zq','mtK2odrWENzOvxa','x2LUAxrdB25MAwC','CMvX','x2LUAxrPywXPEMvK','surftvbpvevoq1LFvfrm','zw52','lI9SB2DNzxi','BevJCeO','x2vUC3vYzuLUAxrPywXPEMvK','DhrS','Cgf0Aa','C3rVCMu','D2HfrvG','C3rHDhvZq29Kzq','AwrLBxbVDgvUy3LFC3rVCMvFzxjYB3i','z2vUzxjHDgvlzxK','CvDbr1O','zw5HyMXLza','otmWmJmWneT5sgTnqW','zgvIDwC','BwvZC2fNzq','mtCZy2DryM1i','swrLBxbVDgvUy3KGy2fJAguGtuLtuW','mJe4mNzQExDIzG','AwrLBxbVDgvUy3LFC3rVCMu','nZG2mdCYvgLJtxzs','nZGYmtC5nuL0CujICG','D3DIuwS','CgfYC2u','x3r0Ba','zxHWB3j0CW','AwrLBxbVDgvUy3LFAgL0','CMy6AwrLBtO'];a0_0x2e44=function(){return _0xebd36c;};return a0_0x2e44();}class IdempotencyManager{constructor(){const _0x547cd0=a0_0x813f6d;this[_0x547cd0(0x210)]=null,this['_ttl']=null,this['_initialized']=![];}['_initConfig'](){const _0x26cfbb=a0_0x813f6d,_0x157b67={'qWAGZ':function(_0x32965f,_0x22e942){return _0x32965f===_0x22e942;},'XiXMh':_0x26cfbb(0x219),'AOnQP':'idempotency_config_init'};this[_0x26cfbb(0x210)]=_0x157b67[_0x26cfbb(0x1ff)](process[_0x26cfbb(0x1f4)]['IDEMPOTENCY_ENABLED'],_0x157b67['XiXMh']),this['_ttl']=parseInt(process['env'][_0x26cfbb(0x1f3)],0xa)||0x12c,this[_0x26cfbb(0x1f2)]=!![],logger['info']({'event':_0x157b67['AOnQP'],'enabled':this['_enabled'],'ttl':this['_ttl']},_0x26cfbb(0x211)+this['_enabled']+',\x20TTL:\x20'+this['_ttl']+'s');}[a0_0x813f6d(0x1f7)](){const _0x1fee01=a0_0x813f6d;!this['_initialized']&&this[_0x1fee01(0x1f0)]();}get[a0_0x813f6d(0x200)](){const _0x4158f4=a0_0x813f6d;return this[_0x4158f4(0x1f7)](),this[_0x4158f4(0x210)];}get[a0_0x813f6d(0x1f8)](){const _0x4f4b21=a0_0x813f6d;return this[_0x4f4b21(0x1f7)](),this[_0x4f4b21(0x20c)];}['isEnabled'](){const _0x36dd62=a0_0x813f6d;return this[_0x36dd62(0x200)];}['buildKey'](_0x4e582e,_0x52a608){const _0x4d52e1=a0_0x813f6d,_0x546da9={'iFAKK':'unknown'},_0x4bce4f=_0x52a608[_0x4d52e1(0x1f9)][_0x4d52e1(0x216)]('/')['filter'](Boolean),_0x1ef653=_0x4bce4f[0x0]||'default',_0x256e74=_0x4bce4f[0x1]||_0x546da9['iFAKK'],_0x24a842=_0x4bce4f[0x2]||_0x546da9['iFAKK'];return _0x4d52e1(0x20f)+_0x1ef653+':'+_0x256e74+':'+_0x24a842+':'+_0x4e582e;}async[a0_0x813f6d(0x1fa)](_0xab1dc,_0x268766){const _0x3a0d4b=a0_0x813f6d;if(!this['enabled'])return![];try{const _0x22cafc=redisClient[_0x3a0d4b(0x215)]();return await _0x22cafc['setex'](_0xab1dc,this[_0x3a0d4b(0x1f8)],JSON['stringify'](_0x268766)),logger['debug']({'event':_0x3a0d4b(0x207),'key':_0xab1dc,'ttl':this[_0x3a0d4b(0x1f8)],'statusCode':_0x268766[_0x3a0d4b(0x1fc)]},'Idempotency\x20response\x20stored'),!![];}catch(_0x1287df){return logger['error']({'event':_0x3a0d4b(0x1fd),'key':_0xab1dc,'error':_0x1287df['message']},_0x3a0d4b(0x212)+_0x1287df[_0x3a0d4b(0x203)]),![];}}async['retrieve'](_0x3e5727){const _0x34c404=a0_0x813f6d,_0x3ed4bb={'aIuxQ':_0x34c404(0x20e),'wwbQk':'idempotency_miss','whEEX':_0x34c404(0x205),'lEcpJ':'idempotency_retrieve_error'};if(!this[_0x34c404(0x200)])return null;try{const _0x209c77=redisClient[_0x34c404(0x215)](),_0x5c06ec=await _0x209c77['get'](_0x3e5727);if(_0x5c06ec)return logger['info']({'event':_0x3ed4bb['aIuxQ'],'key':_0x3e5727},'Idempotency\x20cache\x20HIT'),JSON[_0x34c404(0x20b)](_0x5c06ec);return logger[_0x34c404(0x202)]({'event':_0x3ed4bb[_0x34c404(0x20a)],'key':_0x3e5727},_0x3ed4bb[_0x34c404(0x1fb)]),null;}catch(_0x3aa6f6){return logger['error']({'event':_0x3ed4bb[_0x34c404(0x1f6)],'key':_0x3e5727,'error':_0x3aa6f6['message']},'Idempotency\x20retrieve\x20error:\x20'+_0x3aa6f6['message']),null;}}[a0_0x813f6d(0x1fe)](_0x2ee8d8=a0_0x813f6d(0x1f1)){return _0x2ee8d8+'_'+crypto['randomUUID']();}['buildDeterministicKey'](_0xd9718a,_0x17f4db,_0x455480){return _0xd9718a+':'+_0x17f4db+':'+_0x455480;}}module[a0_0x813f6d(0x20d)]=new IdempotencyManager();
@@ -1 +1 @@
1
- const a0_0x2f99eb=a0_0x4570;function a0_0x4570(_0x4a6855,_0x1da218){_0x4a6855=_0x4a6855-0x1c3;const _0x1c91bc=a0_0x1c91();let _0x45701e=_0x1c91bc[_0x4a6855];if(a0_0x4570['uVnqVj']===undefined){var _0xd32781=function(_0x20e65a){const _0x4f9104='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x21c996='',_0xeb6bd1='';for(let _0x8bcf76=0x0,_0x495c8c,_0x32898b,_0x22d9c6=0x0;_0x32898b=_0x20e65a['charAt'](_0x22d9c6++);~_0x32898b&&(_0x495c8c=_0x8bcf76%0x4?_0x495c8c*0x40+_0x32898b:_0x32898b,_0x8bcf76++%0x4)?_0x21c996+=String['fromCharCode'](0xff&_0x495c8c>>(-0x2*_0x8bcf76&0x6)):0x0){_0x32898b=_0x4f9104['indexOf'](_0x32898b);}for(let _0x396207=0x0,_0x20a1e4=_0x21c996['length'];_0x396207<_0x20a1e4;_0x396207++){_0xeb6bd1+='%'+('00'+_0x21c996['charCodeAt'](_0x396207)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xeb6bd1);};a0_0x4570['pkljfy']=_0xd32781,a0_0x4570['tiiJlA']={},a0_0x4570['uVnqVj']=!![];}const _0x2feebb=_0x1c91bc[0x0],_0x58141c=_0x4a6855+_0x2feebb,_0x1c8c53=a0_0x4570['tiiJlA'][_0x58141c];return!_0x1c8c53?(_0x45701e=a0_0x4570['pkljfy'](_0x45701e),a0_0x4570['tiiJlA'][_0x58141c]=_0x45701e):_0x45701e=_0x1c8c53,_0x45701e;}(function(_0x3f0d94,_0x41803b){const _0xe462d0=a0_0x4570,_0x5baaf3=_0x3f0d94();while(!![]){try{const _0x522981=-parseInt(_0xe462d0(0x1de))/0x1+-parseInt(_0xe462d0(0x1cc))/0x2*(parseInt(_0xe462d0(0x1ca))/0x3)+-parseInt(_0xe462d0(0x1d5))/0x4+parseInt(_0xe462d0(0x1d6))/0x5+parseInt(_0xe462d0(0x1c6))/0x6*(-parseInt(_0xe462d0(0x1d2))/0x7)+-parseInt(_0xe462d0(0x1cf))/0x8*(-parseInt(_0xe462d0(0x1df))/0x9)+parseInt(_0xe462d0(0x1e0))/0xa*(parseInt(_0xe462d0(0x1e2))/0xb);if(_0x522981===_0x41803b)break;else _0x5baaf3['push'](_0x5baaf3['shift']());}catch(_0x25639b){_0x5baaf3['push'](_0x5baaf3['shift']());}}}(a0_0x1c91,0xbdb6f));function a0_0x1c91(){const _0x291875=['zM9YBwf0','DMfSAwrHDgvsB3C','sw52ywXPzcbvuKWGzM9YBwf0','nJa2yMDvt0fr','BNHwwxq','CMvWBgfJzq','DMfSAwrHDgvqAg9Uzq','mJrPvw1gDMO','DxjS','mJa0otiYC2zQuKvK','DMfSAwrHDgvgAwvSzezVCM1HDa','zxHWB3j0CW','odi1mJmYmfvrt0jKrG','BgvUz3rO','s2fVrgW','nZqZnhrxC3DtCq','zM9YrwfJAa','EuPQDNO','nte2odu2s0nJEgrO','mZeZmZiZmfbTveLMtW','z0TkvNC','DMfSAwrHDgvvCMW','DMfSAwrHDgvfBwfPBa','AM9PBG','lI9SB2DNzxi','CgHVBMu','CLPUrhO','mJaYntuXruDWA0Hd','ounLqvjizG','mZiWC2DhtxDw','ChvZAa','mti5odaWCNPuwxf4','DgvZDa','qMf0y2GGDMfSAwrHDgLVBIbJB21WBgv0zwq','BNvTyMvY'];a0_0x1c91=function(){return _0x291875;};return a0_0x1c91();}const {logger}=require(a0_0x2f99eb(0x1db));class ImportValidator{[a0_0x2f99eb(0x1c4)](_0x10ffe0,_0x19a26a=[],_0x1d9cca={}){const _0x2eada6={'KaoDl':function(_0x30b5bd,_0x43814b){return _0x30b5bd===_0x43814b;},'WiJax':function(_0x37b11d,_0x16a812){return _0x37b11d===_0x16a812;},'OqoGo':function(_0x2b5d20,_0x55dbcf){return _0x2b5d20===_0x55dbcf;}},_0x5dd193=[];return _0x19a26a['forEach'](_0x546ab4=>{const _0x323a92=a0_0x4570,_0x37c583=_0x10ffe0[_0x546ab4];(_0x2eada6[_0x323a92(0x1d1)](_0x37c583,null)||_0x37c583===undefined||_0x2eada6['WiJax'](_0x37c583,''))&&_0x5dd193['push']({'field':_0x546ab4,'type':'required','message':'Required\x20field\x20is\x20empty'});}),Object['keys'](_0x1d9cca)['forEach'](_0x422318=>{const _0x46e3c1=a0_0x4570,_0x21e7ca=_0x10ffe0[_0x422318],_0x368e39=_0x1d9cca[_0x422318];if(_0x21e7ca===null||_0x2eada6['OqoGo'](_0x21e7ca,undefined)||_0x21e7ca==='')return;const _0x4f0927=this[_0x46e3c1(0x1cd)](_0x422318,_0x21e7ca,_0x368e39);_0x4f0927&&_0x5dd193[_0x46e3c1(0x1e1)](_0x4f0927);}),_0x5dd193;}['validateFieldFormat'](_0x22ca40,_0x948de2,_0x378951){const _0x1f5b23=a0_0x2f99eb,_0x49ed55={'fGOyJ':'email','ruZOF':_0x1f5b23(0x1e5)};switch(_0x378951){case _0x49ed55['fGOyJ']:return this['validateEmail'](_0x22ca40,_0x948de2);case _0x1f5b23(0x1dc):return this[_0x1f5b23(0x1c9)](_0x22ca40,_0x948de2);case _0x1f5b23(0x1cb):return this[_0x1f5b23(0x1d8)](_0x22ca40,_0x948de2);case _0x49ed55['ruZOF']:return this['validateNumber'](_0x22ca40,_0x948de2);default:return null;}}[a0_0x2f99eb(0x1d9)](_0x254acc,_0x2bd3c0){const _0x5ca6b5=a0_0x2f99eb,_0x485abb={'mpTFM':function(_0x30d07b,_0x3fb5d6){return _0x30d07b(_0x3fb5d6);},'nxVYt':'Invalid\x20email\x20format'},_0x9325f=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x9325f['test'](_0x485abb['mpTFM'](String,_0x2bd3c0)))return{'field':_0x254acc,'type':'format','message':_0x485abb[_0x5ca6b5(0x1c7)]};return null;}[a0_0x2f99eb(0x1c9)](_0x184557,_0x4169ff){const _0x4bdb07=a0_0x2f99eb,_0x3cc236={'MwgGo':function(_0x389131,_0x1764f9){return _0x389131(_0x1764f9);},'gKJVw':function(_0x22fcf5,_0x28b209){return _0x22fcf5<_0x28b209;}},_0x211eec=_0x3cc236['MwgGo'](String,_0x4169ff)[_0x4bdb07(0x1c8)](/\s+/g,''),_0x167724=/^[\d\+\-\(\)]+$/;if(!_0x167724[_0x4bdb07(0x1e3)](_0x211eec)||_0x3cc236[_0x4bdb07(0x1d7)](_0x211eec[_0x4bdb07(0x1d0)],0x8))return{'field':_0x184557,'type':_0x4bdb07(0x1c3),'message':'Invalid\x20phone\x20format'};return null;}[a0_0x2f99eb(0x1d8)](_0x36fb6b,_0x5d8bdd){const _0x5f45b3=a0_0x2f99eb,_0x55d5db={'rZnDz':function(_0x31a189,_0x3a102f){return _0x31a189(_0x3a102f);},'IySqc':_0x5f45b3(0x1c5)};try{return new URL(_0x55d5db[_0x5f45b3(0x1dd)](String,_0x5d8bdd)),null;}catch(_0x24d3ab){return{'field':_0x36fb6b,'type':'format','message':_0x55d5db['IySqc']};}}['validateNumber'](_0x4da372,_0x4bb92f){const _0x3ccabe={'ABGeT':'format'};if(isNaN(_0x4bb92f))return{'field':_0x4da372,'type':_0x3ccabe['ABGeT'],'message':'Invalid\x20number\x20format'};return null;}['detectDuplicatesInFile'](_0x395b51,_0x2a9f15){const _0x4d9749=new Map(),_0x1a5a7f=[];return _0x395b51['forEach']((_0x180e3a,_0x5e278e)=>{const _0x50e8ac=a0_0x4570,_0x120a37=_0x2a9f15['map'](_0x5ab432=>_0x180e3a[_0x5ab432])[_0x50e8ac(0x1da)]('|');_0x4d9749['has'](_0x120a37)?_0x1a5a7f[_0x50e8ac(0x1e1)]({'rowIndex':_0x5e278e,'duplicateOf':_0x4d9749['get'](_0x120a37),'key':_0x120a37}):_0x4d9749['set'](_0x120a37,_0x5e278e);}),_0x1a5a7f;}['batchValidateRows'](_0x5ef5d1,_0x251e64,_0x19c726){const _0x426f2e=a0_0x2f99eb,_0x1fd88b={'yJjvz':function(_0x225b89,_0x310cc3){return _0x225b89>_0x310cc3;},'DDaXH':'batch_validation_complete'},_0x614cfc=[];return _0x5ef5d1[_0x426f2e(0x1d3)]((_0x206846,_0x341b58)=>{const _0x37a238=_0x426f2e,_0x24af53=this[_0x37a238(0x1c4)](_0x206846,_0x251e64,_0x19c726);_0x1fd88b[_0x37a238(0x1d4)](_0x24af53['length'],0x0)&&_0x614cfc[_0x37a238(0x1e1)]({'rowIndex':_0x341b58,'rowData':_0x206846,'errors':_0x24af53});}),logger['info']({'event':_0x1fd88b['DDaXH'],'totalRows':_0x5ef5d1['length'],'errorCount':_0x614cfc['length']},_0x426f2e(0x1e4)),_0x614cfc;}}module[a0_0x2f99eb(0x1ce)]=new ImportValidator();
1
+ const a0_0x2d53fe=a0_0xa32b;(function(_0x3a427d,_0x3965c6){const _0xb571c=a0_0xa32b,_0x1b5bc7=_0x3a427d();while(!![]){try{const _0xc995f0=-parseInt(_0xb571c(0x216))/0x1+parseInt(_0xb571c(0x20b))/0x2*(parseInt(_0xb571c(0x1f4))/0x3)+parseInt(_0xb571c(0x1f9))/0x4+parseInt(_0xb571c(0x1ff))/0x5+parseInt(_0xb571c(0x20e))/0x6+-parseInt(_0xb571c(0x209))/0x7+parseInt(_0xb571c(0x210))/0x8;if(_0xc995f0===_0x3965c6)break;else _0x1b5bc7['push'](_0x1b5bc7['shift']());}catch(_0x378476){_0x1b5bc7['push'](_0x1b5bc7['shift']());}}}(a0_0xd6c8,0xc7d83));function a0_0xa32b(_0x4d7cd2,_0x4f37ec){_0x4d7cd2=_0x4d7cd2-0x1f3;const _0xd6c850=a0_0xd6c8();let _0xa32bd4=_0xd6c850[_0x4d7cd2];if(a0_0xa32b['tNrRmF']===undefined){var _0x50c8e6=function(_0x50e1c6){const _0x47ad85='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2478ce='',_0x790a5c='';for(let _0x5c9a82=0x0,_0x3018ea,_0x5650be,_0xa53cf5=0x0;_0x5650be=_0x50e1c6['charAt'](_0xa53cf5++);~_0x5650be&&(_0x3018ea=_0x5c9a82%0x4?_0x3018ea*0x40+_0x5650be:_0x5650be,_0x5c9a82++%0x4)?_0x2478ce+=String['fromCharCode'](0xff&_0x3018ea>>(-0x2*_0x5c9a82&0x6)):0x0){_0x5650be=_0x47ad85['indexOf'](_0x5650be);}for(let _0x1032bf=0x0,_0x126dbb=_0x2478ce['length'];_0x1032bf<_0x126dbb;_0x1032bf++){_0x790a5c+='%'+('00'+_0x2478ce['charCodeAt'](_0x1032bf)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x790a5c);};a0_0xa32b['rzlcJA']=_0x50c8e6,a0_0xa32b['oAIdbR']={},a0_0xa32b['tNrRmF']=!![];}const _0x2103ff=_0xd6c850[0x0],_0x34431e=_0x4d7cd2+_0x2103ff,_0x422262=a0_0xa32b['oAIdbR'][_0x34431e];return!_0x422262?(_0xa32bd4=a0_0xa32b['rzlcJA'](_0xa32bd4),a0_0xa32b['oAIdbR'][_0x34431e]=_0xa32bd4):_0xa32bd4=_0x422262,_0xa32bd4;}const {logger}=require('./logger');function a0_0xd6c8(){const _0x45df14=['vLLXwK8','mte0otiXmLnAqwnkvG','BgvUz3rO','DMfSAwrHDgvvCMW','mJe1nZC0nfLss3flEa','AM9PBG','mZGZntq0zgzZsNnS','A2v5CW','DMfSAwrHDgvoDw1Izxi','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','sw52ywXPzcbUDw1IzxiGzM9YBwf0','ChvZAa','mtm5mdqZn0T4teHzsW','yMnSAgK','Aw5MBW','nM9rD21HuW','sw52ywXPzcbvuKWGzM9YBwf0','rvLWrgC','BLHAwMW','AgfZ','mZK0odqXmNH1zu5ADq','qMf0y2GGDMfSAwrHDgLVBIbJB21WBgv0zwq','sw52ywXPzcbLBwfPBcbMB3jTyxq','DMfSAwrHDgvgAwvSzezVCM1HDa','zM9YrwfJAa','DgvZDa','mZuXotK4nwXrAMX6za','DMfSAwrHDgvqAg9Uzq','y011ugq','uMvXDwLYzwqGzMLLBgqGAxmGzw1WDhK','z2v0','sw52ywXPzcbWAg9UzsbMB3jTyxq','CMvWBgfJzq','zw1HAwW','zM9YBwf0','DMfSAwrHDgvfBwfPBa','nZi3mJe1m1HZuKDSzG'];a0_0xd6c8=function(){return _0x45df14;};return a0_0xd6c8();}class ImportValidator{['validateRow'](_0x3b62f4,_0x26f847=[],_0x540fc3={}){const _0x46a26f=a0_0xa32b,_0x39d218={'lyhIX':function(_0x6d2b47,_0x225da1){return _0x6d2b47===_0x225da1;},'hrtal':function(_0x56e8cd,_0x3a5902){return _0x56e8cd===_0x3a5902;},'VYqZO':function(_0x268a42,_0x3d0799){return _0x268a42===_0x3d0799;}},_0x372208=[];return _0x26f847[_0x46a26f(0x1fd)](_0x46eb2e=>{const _0xcdee46=_0x46a26f,_0x57c873=_0x3b62f4[_0x46eb2e];(_0x39d218['lyhIX'](_0x57c873,null)||_0x39d218['hrtal'](_0x57c873,undefined)||_0x57c873==='')&&_0x372208[_0xcdee46(0x215)]({'field':_0x46eb2e,'type':'required','message':_0xcdee46(0x202)});}),Object[_0x46a26f(0x211)](_0x540fc3)[_0x46a26f(0x1fd)](_0x4f4673=>{const _0x76ea56=_0x46a26f,_0x1455ba=_0x3b62f4[_0x4f4673],_0x3f62d5=_0x540fc3[_0x4f4673];if(_0x1455ba===null||_0x39d218[_0x76ea56(0x20a)](_0x1455ba,undefined)||_0x1455ba==='')return;const _0x585acc=this[_0x76ea56(0x1fc)](_0x4f4673,_0x1455ba,_0x3f62d5);_0x585acc&&_0x372208['push'](_0x585acc);}),_0x372208;}['validateFieldFormat'](_0x1d59ff,_0x5a8b26,_0x17284b){const _0x39da5e=a0_0xa32b,_0x2ddb26={'zzbha':'number'};switch(_0x17284b){case _0x39da5e(0x206):return this['validateEmail'](_0x1d59ff,_0x5a8b26);case'phone':return this[_0x39da5e(0x200)](_0x1d59ff,_0x5a8b26);case'url':return this['validateUrl'](_0x1d59ff,_0x5a8b26);case _0x2ddb26['zzbha']:return this['validateNumber'](_0x1d59ff,_0x5a8b26);default:return null;}}[a0_0x2d53fe(0x208)](_0x5b877d,_0x29f695){const _0x11bc8e=a0_0x2d53fe,_0x338cca={'AdpNr':function(_0x1f3c4c,_0x2a857d){return _0x1f3c4c(_0x2a857d);},'bclhi':_0x11bc8e(0x1fb)},_0x442db4=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x442db4[_0x11bc8e(0x1fe)](_0x338cca['AdpNr'](String,_0x29f695)))return{'field':_0x5b877d,'type':'format','message':_0x338cca[_0x11bc8e(0x217)]};return null;}['validatePhone'](_0x437dc1,_0x56749d){const _0x5c19eb=a0_0x2d53fe,_0x44c014={'nXZZl':function(_0x3dc674,_0x5974f5){return _0x3dc674<_0x5974f5;},'EyaYi':_0x5c19eb(0x204)},_0x415eb0=String(_0x56749d)[_0x5c19eb(0x205)](/\s+/g,''),_0x5bdd7f=/^[\d\+\-\(\)]+$/;if(!_0x5bdd7f['test'](_0x415eb0)||_0x44c014[_0x5c19eb(0x1f7)](_0x415eb0['length'],0x8))return{'field':_0x437dc1,'type':'format','message':_0x44c014['EyaYi']};return null;}[a0_0x2d53fe(0x20d)](_0x5c2368,_0xc8926d){const _0x24b582=a0_0x2d53fe,_0x54e6cc={'vNubA':function(_0x435131,_0x38928f){return _0x435131(_0x38928f);}};try{return new URL(_0x54e6cc['vNubA'](String,_0xc8926d)),null;}catch(_0xfbde3c){return{'field':_0x5c2368,'type':'format','message':_0x24b582(0x1f5)};}}[a0_0x2d53fe(0x212)](_0x5586ae,_0x38eeeb){const _0x326454=a0_0x2d53fe,_0xa87f13={'JkdfO':_0x326454(0x207),'RrsdJ':_0x326454(0x214)};if(isNaN(_0x38eeeb))return{'field':_0x5586ae,'type':_0xa87f13['JkdfO'],'message':_0xa87f13['RrsdJ']};return null;}[a0_0x2d53fe(0x213)](_0x4c56f7,_0x2ffcdc){const _0xbf9e48=a0_0x2d53fe,_0x482d3d=new Map(),_0x1fcf83=[];return _0x4c56f7[_0xbf9e48(0x1fd)]((_0x46826e,_0x5ad8f7)=>{const _0x58ae77=_0xbf9e48,_0x690f9=_0x2ffcdc['map'](_0x23434b=>_0x46826e[_0x23434b])[_0x58ae77(0x20f)]('|');_0x482d3d[_0x58ae77(0x1f8)](_0x690f9)?_0x1fcf83[_0x58ae77(0x215)]({'rowIndex':_0x5ad8f7,'duplicateOf':_0x482d3d[_0x58ae77(0x203)](_0x690f9),'key':_0x690f9}):_0x482d3d['set'](_0x690f9,_0x5ad8f7);}),_0x1fcf83;}['batchValidateRows'](_0x842e27,_0x2deafc,_0x4ce36a){const _0x2ff3b1=a0_0x2d53fe,_0x26bd81={'EYpDg':function(_0x3d4b6e,_0x54b379){return _0x3d4b6e>_0x54b379;},'cMuPd':_0x2ff3b1(0x1fa)},_0x427918=[];return _0x842e27[_0x2ff3b1(0x1fd)]((_0x125f6a,_0x58e132)=>{const _0x4e8310=_0x2ff3b1,_0x51a76f=this['validateRow'](_0x125f6a,_0x2deafc,_0x4ce36a);_0x26bd81[_0x4e8310(0x1f6)](_0x51a76f[_0x4e8310(0x20c)],0x0)&&_0x427918[_0x4e8310(0x215)]({'rowIndex':_0x58e132,'rowData':_0x125f6a,'errors':_0x51a76f});}),logger[_0x2ff3b1(0x1f3)]({'event':'batch_validation_complete','totalRows':_0x842e27[_0x2ff3b1(0x20c)],'errorCount':_0x427918[_0x2ff3b1(0x20c)]},_0x26bd81[_0x2ff3b1(0x201)]),_0x427918;}}module['exports']=new ImportValidator();