@restforgejs/platform 4.2.8 → 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 (324) 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 +1 -1
  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 +3 -2
  18. package/generators/cli/schema/describe.js +3 -2
  19. package/generators/cli/schema/diff.js +3 -2
  20. package/generators/cli/schema/introspect.js +3 -2
  21. package/generators/cli/schema/list.js +3 -2
  22. package/generators/cli/schema/migrate.js +3 -2
  23. package/generators/lib/migration/audit-table-runner.js +213 -215
  24. package/generators/lib/templates/dashboard-catalog.js +1 -437
  25. package/generators/lib/templates/db-connection-env.js +1 -212
  26. package/generators/lib/templates/dbschema-catalog.js +1 -489
  27. package/generators/lib/templates/field-validation-catalog.js +1 -531
  28. package/generators/lib/templates/mysql-template.js +1 -3863
  29. package/generators/lib/templates/oracle-template.js +1 -3915
  30. package/generators/lib/templates/postgres-template.js +1 -5838
  31. package/generators/lib/templates/query-declarative-catalog.js +1 -199
  32. package/generators/lib/templates/sqlite-template.js +1 -3440
  33. package/generators/lib/utils/env-manager.js +6 -0
  34. package/generators/lib/utils/path-validator.js +71 -0
  35. package/generators/lib/validators/payload-validator.js +1 -2
  36. package/integrity-manifest.json +28 -10
  37. package/package.json +11 -3
  38. package/scripts/verify-integrity.js +1 -1
  39. package/server.js +1 -1
  40. package/src/components/handlers/adjust_handler.js +1 -1
  41. package/src/components/handlers/audit_handler.js +1 -1
  42. package/src/components/handlers/delete_handler.js +1 -1
  43. package/src/components/handlers/export_handler.js +1 -1
  44. package/src/components/handlers/import_handler.js +1 -1
  45. package/src/components/handlers/insert_handler.js +1 -1
  46. package/src/components/handlers/update_handler.js +1 -1
  47. package/src/components/handlers/upload_handler.js +1 -1
  48. package/src/components/handlers/workflow_handler.js +1 -1
  49. package/src/components/integrations/webhook.js +1 -1
  50. package/src/consumers/baseConsumer.js +1 -1
  51. package/src/consumers/declarativeMapper.js +1 -1
  52. package/src/consumers/handlers/apiHandler.js +1 -1
  53. package/src/consumers/handlers/consoleHandler.js +1 -1
  54. package/src/consumers/handlers/databaseHandler.js +1 -1
  55. package/src/consumers/handlers/index.js +1 -1
  56. package/src/consumers/handlers/kafkaHandler.js +1 -1
  57. package/src/consumers/index.js +1 -1
  58. package/src/consumers/messageTransformer.js +1 -1
  59. package/src/consumers/validator.js +1 -1
  60. package/src/core/db/dialect/base-dialect.js +1 -1
  61. package/src/core/db/dialect/index.js +1 -1
  62. package/src/core/db/dialect/mysql-dialect.js +1 -1
  63. package/src/core/db/dialect/oracle-dialect.js +1 -1
  64. package/src/core/db/dialect/postgres-dialect.js +1 -1
  65. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  66. package/src/core/db/flatten-helper.js +1 -1
  67. package/src/core/db/query-builder-error.js +1 -1
  68. package/src/core/db/query-builder.js +1 -1
  69. package/src/core/db/relation-helper.js +1 -1
  70. package/src/core/handlers/delete_handler.js +1 -1
  71. package/src/core/handlers/insert_handler.js +1 -1
  72. package/src/core/handlers/update_handler.js +1 -1
  73. package/src/core/models/base-model.js +1 -1
  74. package/src/core/utils/cache-manager.js +1 -1
  75. package/src/core/utils/component-engine.js +1 -1
  76. package/src/core/utils/context-builder.js +1 -1
  77. package/src/core/utils/datetime-formatter.js +1 -1
  78. package/src/core/utils/datetime-parser.js +1 -1
  79. package/src/core/utils/db.js +1 -1
  80. package/src/core/utils/logger.js +1 -1
  81. package/src/core/utils/payload-loader.js +1 -1
  82. package/src/core/utils/security-checks.js +1 -1
  83. package/src/middleware/body-options.js +1 -1
  84. package/src/middleware/cors.js +1 -1
  85. package/src/middleware/idempotency.js +1 -1
  86. package/src/middleware/rate-limiter.js +1 -1
  87. package/src/middleware/request-logger.js +1 -1
  88. package/src/middleware/security-headers.js +1 -1
  89. package/src/models/base-model-mysql.js +1 -1
  90. package/src/models/base-model-oracle.js +1 -1
  91. package/src/models/base-model-sqlite.js +1 -1
  92. package/src/models/base-model.js +1 -1
  93. package/src/pro/caching/redis-client.js +1 -1
  94. package/src/pro/caching/redis-helper.js +1 -1
  95. package/src/pro/consumers/baseConsumer.js +1 -1
  96. package/src/pro/consumers/declarativeMapper.js +1 -1
  97. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  98. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  99. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  100. package/src/pro/consumers/handlers/index.js +1 -1
  101. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  102. package/src/pro/consumers/index.js +1 -1
  103. package/src/pro/consumers/messageTransformer.js +1 -1
  104. package/src/pro/consumers/validator.js +1 -1
  105. package/src/pro/database/base-model-mysql.js +1 -1
  106. package/src/pro/database/base-model-oracle.js +1 -1
  107. package/src/pro/database/base-model-sqlite.js +1 -1
  108. package/src/pro/database/db-mysql.js +1 -1
  109. package/src/pro/database/db-oracle.js +1 -1
  110. package/src/pro/database/db-sqlite.js +1 -1
  111. package/src/pro/excel/excel-generator.js +1 -1
  112. package/src/pro/excel/excel-parser.js +1 -1
  113. package/src/pro/excel/export-service.js +1 -1
  114. package/src/pro/excel/export_handler.js +1 -1
  115. package/src/pro/excel/import-service.js +1 -1
  116. package/src/pro/excel/import-validator.js +1 -1
  117. package/src/pro/excel/import_handler.js +1 -1
  118. package/src/pro/excel/upsert-builder.js +1 -1
  119. package/src/pro/idgen/idgen-routes.js +1 -1
  120. package/src/pro/integrations/lookup-resolver.js +1 -1
  121. package/src/pro/integrations/upload-handler-v2.js +1 -1
  122. package/src/pro/integrations/upload-handler.js +1 -1
  123. package/src/pro/integrations/webhook.js +1 -1
  124. package/src/pro/locking/lock-routes.js +1 -1
  125. package/src/pro/locking/resource-lock-manager.js +1 -1
  126. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  127. package/src/pro/messaging/kafkaService.js +1 -1
  128. package/src/pro/messaging/messagehubService.js +1 -1
  129. package/src/pro/messaging/rabbitmqService.js +1 -1
  130. package/src/pro/scheduler/job-manager.js +1 -1
  131. package/src/pro/scheduler/job-routes.js +1 -1
  132. package/src/pro/scheduler/job-validator.js +1 -1
  133. package/src/pro/storage/base-storage-provider.js +1 -1
  134. package/src/pro/storage/file-metadata-helper.js +1 -1
  135. package/src/pro/storage/index.js +1 -1
  136. package/src/pro/storage/local-storage-provider.js +1 -1
  137. package/src/pro/storage/s3-storage-provider.js +1 -1
  138. package/src/pro/storage/upload-cleanup-job.js +1 -1
  139. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  140. package/src/pro/storage/upload-pending-tracker.js +1 -1
  141. package/src/pro/websocket/broadcast-helper.js +1 -1
  142. package/src/pro/websocket/index.js +1 -1
  143. package/src/pro/websocket/livesync-server.js +1 -1
  144. package/src/pro/websocket/ws-broadcaster.js +1 -1
  145. package/src/services/export-service.js +1 -1
  146. package/src/services/import-service.js +1 -1
  147. package/src/services/kafkaConsumerService.js +1 -1
  148. package/src/services/kafkaService.js +1 -1
  149. package/src/services/messagehubService.js +1 -1
  150. package/src/services/rabbitmqService.js +1 -1
  151. package/src/utils/cache-invalidation-registry.js +1 -1
  152. package/src/utils/cache-manager.js +1 -1
  153. package/src/utils/component-engine.js +1 -1
  154. package/src/utils/config-extractor.js +1 -1
  155. package/src/utils/consumerLogger.js +1 -1
  156. package/src/utils/context-builder.js +1 -1
  157. package/src/utils/dashboard-helpers.js +1 -1
  158. package/src/utils/dateHelper.js +1 -1
  159. package/src/utils/datetime-formatter.js +1 -1
  160. package/src/utils/datetime-parser.js +1 -1
  161. package/src/utils/db-bootstrap.js +1 -1
  162. package/src/utils/db-mysql.js +1 -1
  163. package/src/utils/db-oracle.js +1 -1
  164. package/src/utils/db-sqlite.js +1 -1
  165. package/src/utils/db.js +1 -1
  166. package/src/utils/demo-generator.js +1 -1
  167. package/src/utils/excel-generator.js +1 -1
  168. package/src/utils/excel-parser.js +1 -1
  169. package/src/utils/file-watcher.js +1 -1
  170. package/src/utils/id-generator.js +1 -1
  171. package/src/utils/idempotency-manager.js +1 -1
  172. package/src/utils/import-validator.js +1 -1
  173. package/src/utils/license-client.js +1 -1
  174. package/src/utils/lock-manager.js +1 -1
  175. package/src/utils/logger.js +1 -1
  176. package/src/utils/lookup-resolver.js +1 -1
  177. package/src/utils/payload-loader.js +1 -1
  178. package/src/utils/processor-response.js +1 -1
  179. package/src/utils/rabbitmq.js +1 -1
  180. package/src/utils/redis-client.js +1 -1
  181. package/src/utils/redis-helper.js +1 -1
  182. package/src/utils/request-scope.js +1 -1
  183. package/src/utils/security-checks.js +1 -1
  184. package/src/utils/service-resolver.js +1 -1
  185. package/src/utils/shutdown-coordinator.js +1 -1
  186. package/src/utils/trusted-keys.js +1 -1
  187. package/src/utils/upload-handler.js +1 -1
  188. package/src/utils/upsert-builder.js +1 -1
  189. package/src/utils/workflow-hook-executor.js +1 -1
  190. package/generators/metadata/global.json +0 -58
  191. package/generators/metadata/test-mysql-workbench.json +0 -118
  192. package/generators/metadata/test-mysql.json +0 -56
  193. package/generators/metadata/test-oracle-workbench.json +0 -118
  194. package/generators/metadata/test-oracle.json +0 -56
  195. package/generators/metadata/test-pg-workbench.json +0 -118
  196. package/generators/metadata/test-pg.json +0 -56
  197. package/generators/scripts/obfuscate-source.js +0 -356
  198. package/generators/scripts/validate-catalog.js +0 -430
  199. package/generators/scripts/validate-dbschema-catalog.js +0 -708
  200. package/generators/tests/baseline/mysql/mini_inventory_item/src/models/mini-inventory/item.js +0 -944
  201. package/generators/tests/baseline/mysql/mini_inventory_item/src/modules/mini-inventory/item.js +0 -740
  202. package/generators/tests/baseline/mysql/mini_inventory_item/src/modules/mini-inventory.js +0 -336
  203. package/generators/tests/baseline/oracle/mini_inventory_item/src/models/mini-inventory/item.js +0 -1002
  204. package/generators/tests/baseline/oracle/mini_inventory_item/src/modules/mini-inventory/item.js +0 -740
  205. package/generators/tests/baseline/oracle/mini_inventory_item/src/modules/mini-inventory.js +0 -336
  206. package/generators/tests/baseline/postgres/mini_inventory_item/src/models/mini-inventory/item.js +0 -1333
  207. package/generators/tests/baseline/postgres/mini_inventory_item/src/modules/mini-inventory/item.js +0 -1173
  208. package/generators/tests/baseline/postgres/mini_inventory_item/src/modules/mini-inventory.js +0 -496
  209. package/generators/tests/fixtures/payloads/custom-sensitive.json +0 -27
  210. package/generators/tests/fixtures/payloads/dynamic-search-optout.json +0 -23
  211. package/generators/tests/fixtures/payloads/login-with-password.json +0 -22
  212. package/generators/tests/fixtures/payloads/order-process.json +0 -52
  213. package/generators/tests/fixtures/payloads/with-inline-sql.json +0 -26
  214. package/generators/tests/integration-tahap4b/README.md +0 -145
  215. package/generators/tests/integration-tahap4b/run-concurrent.js +0 -77
  216. package/generators/tests/integration-tahap4b/seed.sql +0 -53
  217. package/generators/tests/integration-tahap4b/verify.sql +0 -110
  218. package/generators/tests/unit/cli/create-dashboard.test.js +0 -505
  219. package/generators/tests/unit/cli/create-processor.test.js +0 -319
  220. package/generators/tests/unit/cli/dispatch-dashboard.test.js +0 -149
  221. package/generators/tests/unit/lib/dashboard-generator.test.js +0 -895
  222. package/generators/tests/unit/lib/dashboard-validator.test.js +0 -354
  223. package/generators/tests/unit/lib/dbschema-kit/apply-executor.test.js +0 -437
  224. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-introspect.test.js +0 -393
  225. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-generate-ddl.test.js +0 -104
  226. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-init.test.js +0 -119
  227. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-list.test.js +0 -48
  228. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-migrate.test.js +0 -175
  229. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-validate.test.js +0 -102
  230. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-models.test.js +0 -43
  231. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/all-schemas-listing.js +0 -84
  232. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/connection-error.js +0 -13
  233. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/empty.js +0 -12
  234. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/multi-schema.js +0 -124
  235. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/single-schema-inventory.js +0 -64
  236. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/two-tables.js +0 -66
  237. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/connection-error.js +0 -9
  238. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/partial.js +0 -29
  239. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/rollback.js +0 -26
  240. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/success.js +0 -43
  241. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/audit/events.js +0 -18
  242. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/inventory/products.js +0 -9
  243. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/users.js +0 -8
  244. package/generators/tests/unit/lib/dbschema-kit/connection.test.js +0 -112
  245. package/generators/tests/unit/lib/dbschema-kit/ddl-generator.test.js +0 -205
  246. package/generators/tests/unit/lib/dbschema-kit/define-model.test.js +0 -56
  247. package/generators/tests/unit/lib/dbschema-kit/dialect/index.test.js +0 -46
  248. package/generators/tests/unit/lib/dbschema-kit/dialect/mysql.test.js +0 -126
  249. package/generators/tests/unit/lib/dbschema-kit/dialect/oracle.test.js +0 -126
  250. package/generators/tests/unit/lib/dbschema-kit/dialect/postgres.test.js +0 -131
  251. package/generators/tests/unit/lib/dbschema-kit/dialect/sqlite.test.js +0 -126
  252. package/generators/tests/unit/lib/dbschema-kit/driver-loader.test.js +0 -93
  253. package/generators/tests/unit/lib/dbschema-kit/emitters/create-index.test.js +0 -173
  254. package/generators/tests/unit/lib/dbschema-kit/emitters/create-table.test.js +0 -376
  255. package/generators/tests/unit/lib/dbschema-kit/emitters/drop-table.test.js +0 -78
  256. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/invalid-dialect.env +0 -6
  257. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/missing-dialect.env +0 -5
  258. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/missing-host.env +0 -5
  259. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/oracle-valid.env +0 -6
  260. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/postgres-valid.env +0 -7
  261. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/sqlite-valid.env +0 -2
  262. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/category.js +0 -11
  263. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/item_product.js +0 -11
  264. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/stock_inbound.js +0 -24
  265. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/stock_inbound_item.js +0 -28
  266. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/supplier.js +0 -9
  267. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/warehouse.js +0 -9
  268. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-invalid/orphan.js +0 -17
  269. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/category.js +0 -11
  270. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/item_product.js +0 -11
  271. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/supplier.js +0 -9
  272. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/warehouse.js +0 -9
  273. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/transactions/stock_inbound.js +0 -24
  274. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/transactions/stock_inbound_item.js +0 -28
  275. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/audit/events.js +0 -18
  276. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/inventory/products.js +0 -9
  277. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/public/users.js +0 -9
  278. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-subfolder/extra/category.js +0 -8
  279. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-subfolder/master/category.js +0 -8
  280. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-tablename/bar.js +0 -8
  281. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-tablename/foo.js +0 -8
  282. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/empty-folder/README.md +0 -1
  283. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/invalid-export/plain.js +0 -3
  284. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/invalid-schema/bad.js +0 -6
  285. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/legacy-pattern/legacy.js +0 -12
  286. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-distinct/audit/products.js +0 -9
  287. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-distinct/inventory/products.js +0 -9
  288. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-duplicate/a/products.js +0 -8
  289. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-duplicate/b/products.js +0 -8
  290. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/nested-deep/a/b/c/deep_table.js +0 -8
  291. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/.hidden/ignored.js +0 -7
  292. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/master/category.js +0 -8
  293. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/master/supplier.js +0 -8
  294. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/transactions/stock_inbound.js +0 -8
  295. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/transactions/stock_inbound_item.js +0 -8
  296. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-multiple/category.js +0 -8
  297. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-multiple/item_product.js +0 -9
  298. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-single/category.js +0 -8
  299. package/generators/tests/unit/lib/dbschema-kit/integration.test.js +0 -217
  300. package/generators/tests/unit/lib/dbschema-kit/introspect-mapper.test.js +0 -403
  301. package/generators/tests/unit/lib/dbschema-kit/ir-builder.test.js +0 -390
  302. package/generators/tests/unit/lib/dbschema-kit/loader.test.js +0 -128
  303. package/generators/tests/unit/lib/dbschema-kit/naming.test.js +0 -170
  304. package/generators/tests/unit/lib/dbschema-kit/parser/shorthand-parser.test.js +0 -237
  305. package/generators/tests/unit/lib/dbschema-kit/schema-printer.test.js +0 -251
  306. package/generators/tests/unit/lib/dbschema-kit/statement-modifier.test.js +0 -105
  307. package/generators/tests/unit/lib/dbschema-kit/statement-splitter.test.js +0 -165
  308. package/generators/tests/unit/lib/dbschema-kit/topological-sort.test.js +0 -135
  309. package/generators/tests/unit/lib/dbschema-kit/validator/check-compatibility-validator.test.js +0 -373
  310. package/generators/tests/unit/lib/dbschema-kit/validator/circular-relation-validator.test.js +0 -454
  311. package/generators/tests/unit/lib/dbschema-kit/validator/cross-model-validator.test.js +0 -512
  312. package/generators/tests/unit/lib/dbschema-kit/validator/enhanced-validate-integration.test.js +0 -390
  313. package/generators/tests/unit/lib/dbschema-kit/validator/naming-convention-validator.test.js +0 -306
  314. package/generators/tests/unit/lib/dbschema-kit/validator/schema-validator.test.js +0 -443
  315. package/generators/tests/unit/lib/dbschema-kit/validator/type-compatibility-validator.test.js +0 -440
  316. package/generators/tests/unit/lib/dbschema-kit/validator/validator-reporter.test.js +0 -172
  317. package/generators/tests/unit/lib/metadata-manager-dashboard.test.js +0 -256
  318. package/generators/tests/unit/lib/payload-validator-fieldpolicy.test.js +0 -240
  319. package/generators/tests/unit/lib/processor-validation-generator.test.js +0 -300
  320. package/generators/tests/unit/lib/sensitive-field-masker.test.js +0 -170
  321. package/generators/tests/unit/lib/sql-table-extractor.test.js +0 -119
  322. package/scripts/generate-integrity-manifest.js +0 -124
  323. package/scripts/snapshot-cli-contracts.js +0 -194
  324. package/scripts/verify-publish.js +0 -56
@@ -1 +1 @@
1
- function a0_0x352e(_0xcb2875,_0x14ab66){_0xcb2875=_0xcb2875-0x75;const _0x7174bc=a0_0x7174();let _0x352edf=_0x7174bc[_0xcb2875];if(a0_0x352e['HFVWEv']===undefined){var _0x535356=function(_0x5e8ab6){const _0x39f010='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2e5da5='',_0x31fff0='';for(let _0x25f5fc=0x0,_0x4eae13,_0x244de8,_0x5dfd04=0x0;_0x244de8=_0x5e8ab6['charAt'](_0x5dfd04++);~_0x244de8&&(_0x4eae13=_0x25f5fc%0x4?_0x4eae13*0x40+_0x244de8:_0x244de8,_0x25f5fc++%0x4)?_0x2e5da5+=String['fromCharCode'](0xff&_0x4eae13>>(-0x2*_0x25f5fc&0x6)):0x0){_0x244de8=_0x39f010['indexOf'](_0x244de8);}for(let _0x302534=0x0,_0x429ba8=_0x2e5da5['length'];_0x302534<_0x429ba8;_0x302534++){_0x31fff0+='%'+('00'+_0x2e5da5['charCodeAt'](_0x302534)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x31fff0);};a0_0x352e['cUwKQU']=_0x535356,a0_0x352e['OSAMgC']={},a0_0x352e['HFVWEv']=!![];}const _0x4ed5da=_0x7174bc[0x0],_0x36c2d4=_0xcb2875+_0x4ed5da,_0x6bba00=a0_0x352e['OSAMgC'][_0x36c2d4];return!_0x6bba00?(_0x352edf=a0_0x352e['cUwKQU'](_0x352edf),a0_0x352e['OSAMgC'][_0x36c2d4]=_0x352edf):_0x352edf=_0x6bba00,_0x352edf;}const a0_0x28580d=a0_0x352e;(function(_0x3d37d4,_0x115ef2){const _0x346e93=a0_0x352e,_0x19df3f=_0x3d37d4();while(!![]){try{const _0x1c6921=parseInt(_0x346e93(0x8e))/0x1+-parseInt(_0x346e93(0x7e))/0x2*(-parseInt(_0x346e93(0x97))/0x3)+-parseInt(_0x346e93(0x85))/0x4+-parseInt(_0x346e93(0x95))/0x5*(parseInt(_0x346e93(0x7c))/0x6)+parseInt(_0x346e93(0x8f))/0x7*(parseInt(_0x346e93(0x83))/0x8)+-parseInt(_0x346e93(0x96))/0x9*(-parseInt(_0x346e93(0x7b))/0xa)+-parseInt(_0x346e93(0x98))/0xb;if(_0x1c6921===_0x115ef2)break;else _0x19df3f['push'](_0x19df3f['shift']());}catch(_0x1ec1db){_0x19df3f['push'](_0x19df3f['shift']());}}}(a0_0x7174,0x1900c));function a0_0x7174(){const _0x21cd80=['zxDTELe','uu1MEha','mJaWodqZD3b2CNj1','ntq4mxLVzNnmuG','CMLJAfrLEhq','BgvUz3rO','rMfPBgvKihrVihbHCNnLiev4y2vSigzPBgu','v29YA2jVB2S','BwfW','odK4mZvlrePNCg4','mJa3ze1HugLn','oda1ntzTuu5lDem','mZGWmta3mK1QBfb3uq','CMvZDwX0','Aw5MBW','zxHJzwXFCgfYC2vFzxjYB3i','Bwf0y2G','zxHJzwXFCgfYC2vK','rxHJzwWGzMLSzsbWyxjZzwqGC3vJy2vZC2z1BgX5','Dg9mB3DLCKnHC2u','jdfFjdi','sMHPC3a','CgfKu3rHCNq','nJq2otbvDezpquq','ndjgyNv1ANa','z2v0rNvSBfLLyxi','ohDPwvDJBW','DMfSDwvZ','CMvWBgfJzq','zxjYB3i','lI9SB2DNzxi','mJa4ogDVy1joEG','BM9YBwfSAxPLsgvHzgvY','mZuWnJCYuujNAxb6','AgfZ','q3vzqxm','B2jQzwn0','BM9YBwfSAxPLq2vSBfzHBhvL','C3rYAw5N','tM8GD29YA3nOzwv0igzVDw5KigLUiev4y2vSigzPBgu'];a0_0x7174=function(){return _0x21cd80;};return a0_0x7174();}const ExcelJS=require('exceljs'),{logger}=require(a0_0x28580d(0x82));class ExcelParser{async['parseExcelFile'](_0x5dfe12){const _0x181307=a0_0x28580d,_0x4799d9={'QMfxp':function(_0x2f7b8c,_0x5d76a9){return _0x2f7b8c===_0x5d76a9;},'Jhisp':_0x181307(0x8b),'JJoos':_0x181307(0x75)};try{const _0x5aeeec=new ExcelJS[(_0x181307(0x93))]();await _0x5aeeec['xlsx']['readFile'](_0x5dfe12);const _0x3e4962=_0x5aeeec['worksheets'][0x0];if(!_0x3e4962)throw new Error(_0x4799d9[_0x181307(0x79)]);const _0x28e9ef=[];let _0x142da6=[];return _0x3e4962['eachRow']((_0x4bdd76,_0x14d09d)=>{const _0x423612=_0x181307,_0x189d70=_0x4bdd76[_0x423612(0x7f)];if(_0x4799d9[_0x423612(0x8d)](_0x14d09d,0x1))_0x142da6=_0x189d70['slice'](0x1)['map'](_0x44ff85=>this[_0x423612(0x84)](_0x44ff85));else{const _0x4ecab1={};_0x142da6['forEach']((_0x51fd2e,_0x5c920c)=>{const _0x2d7150=_0x423612,_0x3dad4e=_0x189d70[_0x5c920c+0x1];_0x4ecab1[_0x51fd2e]=this[_0x2d7150(0x89)](_0x3dad4e);}),_0x28e9ef['push'](_0x4ecab1);}}),logger[_0x181307(0x9a)]({'event':_0x4799d9['JJoos'],'filePath':_0x5dfe12,'totalRows':_0x28e9ef[_0x181307(0x91)],'headers':_0x142da6['length']},_0x181307(0x76)),{'headers':_0x142da6,'rows':_0x28e9ef,'totalRows':_0x28e9ef['length']};}catch(_0x5c82ca){logger[_0x181307(0x81)]({'event':_0x181307(0x9b),'filePath':_0x5dfe12,'error':_0x5c82ca['message']},_0x181307(0x92));throw new Error('Failed\x20to\x20parse\x20Excel\x20file:\x20'+_0x5c82ca['message']);}}['normalizeHeader'](_0x3de107){const _0x2f7939=a0_0x28580d,_0x4a2558={'Aeivt':'$1_$2'};if(_0x3de107===null||_0x3de107===undefined)return'';let _0x11dbe4=String(_0x3de107)['trim']();return _0x11dbe4=_0x11dbe4[_0x2f7939(0x80)](/\s+/g,'_')[_0x2f7939(0x80)](/([a-z])([A-Z])/g,_0x2f7939(0x78))['replace'](/([A-Z]+)([A-Z][a-z])/g,_0x4a2558['Aeivt'])[_0x2f7939(0x77)](),_0x11dbe4;}['normalizeCellValue'](_0x2ac620){const _0x401026=a0_0x28580d,_0x592788={'ewmzQ':function(_0x5e3365,_0x2e3efd){return _0x5e3365(_0x2e3efd);},'RibJv':function(_0x5b376f,_0x1bf0b1){return _0x5b376f===_0x1bf0b1;},'Vdsey':function(_0x50f0ca,_0x56ccf7){return _0x50f0ca(_0x56ccf7);},'CuYAs':_0x401026(0x88),'mxjvh':function(_0xcb810f,_0x2e190f){return _0xcb810f!==_0x2e190f;},'ZXwof':_0x401026(0x8a)};if(_0x2ac620===null||_0x2ac620===undefined)return null;if(_0x2ac620 instanceof Date){const _0x4fa11f=_0x2ac620[_0x401026(0x7d)](),_0x2def0e=_0x592788['ewmzQ'](String,_0x2ac620['getMonth']()+0x1)[_0x401026(0x7a)](0x2,'0'),_0x9ce602=_0x592788[_0x401026(0x8c)](String,_0x2ac620['getDate']())[_0x401026(0x7a)](0x2,'0');return _0x4fa11f+'-'+_0x2def0e+'-'+_0x9ce602;}if(_0x592788['RibJv'](typeof _0x2ac620,_0x401026(0x8a))){const _0x4d6354=_0x2ac620[_0x401026(0x9c)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x4d6354){const _0x509ffe=_0x592788['Vdsey'](String,_0x4d6354[0x1])['padStart'](0x2,'0'),_0x2f62bf=String(_0x4d6354[0x2])['padStart'](0x2,'0'),_0x5012d8=_0x4d6354[0x3];return _0x5012d8+'-'+_0x2f62bf+'-'+_0x509ffe;}}if(_0x2ac620&&_0x592788['RibJv'](typeof _0x2ac620,'object')&&_0x2ac620[_0x401026(0x90)])return _0x2ac620[_0x401026(0x90)][_0x401026(0x94)](_0x49dabe=>_0x49dabe['text'])['join']('');if(_0x2ac620&&typeof _0x2ac620===_0x592788[_0x401026(0x87)]&&_0x592788['mxjvh'](_0x2ac620[_0x401026(0x99)],undefined))return this['normalizeCellValue'](_0x2ac620['result']);if(_0x592788['RibJv'](typeof _0x2ac620,_0x592788['ZXwof']))return _0x2ac620['trim']();return _0x2ac620;}['validateExcelStructure'](_0x266349,_0x2114d4){const _0x1852bd=a0_0x28580d,_0x468602=new Set(_0x266349),_0x40758a=new Set(_0x2114d4),_0x59a4ca=_0x2114d4['filter'](_0x10568c=>!_0x468602[_0x1852bd(0x86)](_0x10568c)),_0x284236=_0x266349['filter'](_0x3c898d=>!_0x40758a['has'](_0x3c898d)),_0x2c12a9=_0x59a4ca['length']===0x0;return{'valid':_0x2c12a9,'missingFields':_0x59a4ca,'extraFields':_0x284236};}}module['exports']=new ExcelParser();
1
+ const a0_0x991bcf=a0_0x3334;function a0_0x3334(_0x407b03,_0x1b357a){_0x407b03=_0x407b03-0xff;const _0x243aab=a0_0x243a();let _0x3334cc=_0x243aab[_0x407b03];if(a0_0x3334['zTQGki']===undefined){var _0x59f56e=function(_0x47eef2){const _0x390bcf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x400e42='',_0x27cd3e='';for(let _0x4772a8=0x0,_0x540fdc,_0x214398,_0x23472e=0x0;_0x214398=_0x47eef2['charAt'](_0x23472e++);~_0x214398&&(_0x540fdc=_0x4772a8%0x4?_0x540fdc*0x40+_0x214398:_0x214398,_0x4772a8++%0x4)?_0x400e42+=String['fromCharCode'](0xff&_0x540fdc>>(-0x2*_0x4772a8&0x6)):0x0){_0x214398=_0x390bcf['indexOf'](_0x214398);}for(let _0xbba2e6=0x0,_0xa8f78d=_0x400e42['length'];_0xbba2e6<_0xa8f78d;_0xbba2e6++){_0x27cd3e+='%'+('00'+_0x400e42['charCodeAt'](_0xbba2e6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x27cd3e);};a0_0x3334['foihfx']=_0x59f56e,a0_0x3334['NIAhqE']={},a0_0x3334['zTQGki']=!![];}const _0xad4af0=_0x243aab[0x0],_0x38dca5=_0x407b03+_0xad4af0,_0x1984d5=a0_0x3334['NIAhqE'][_0x38dca5];return!_0x1984d5?(_0x3334cc=a0_0x3334['foihfx'](_0x3334cc),a0_0x3334['NIAhqE'][_0x38dca5]=_0x3334cc):_0x3334cc=_0x1984d5,_0x3334cc;}(function(_0x3b0cd0,_0x537812){const _0x23cd26=a0_0x3334,_0xc0c1b0=_0x3b0cd0();while(!![]){try{const _0x255962=-parseInt(_0x23cd26(0x114))/0x1+parseInt(_0x23cd26(0x11e))/0x2*(-parseInt(_0x23cd26(0x111))/0x3)+parseInt(_0x23cd26(0x123))/0x4*(parseInt(_0x23cd26(0x103))/0x5)+parseInt(_0x23cd26(0x129))/0x6*(-parseInt(_0x23cd26(0x109))/0x7)+-parseInt(_0x23cd26(0x124))/0x8*(parseInt(_0x23cd26(0x10f))/0x9)+-parseInt(_0x23cd26(0x10c))/0xa+parseInt(_0x23cd26(0x105))/0xb;if(_0x255962===_0x537812)break;else _0xc0c1b0['push'](_0xc0c1b0['shift']());}catch(_0x40a343){_0xc0c1b0['push'](_0xc0c1b0['shift']());}}}(a0_0x243a,0xebc50));const ExcelJS=require('exceljs'),{logger}=require(a0_0x991bcf(0x100));function a0_0x243a(){const _0x572a81=['CMLJAfrLEhq','BM9YBwfSAxPLq2vSBfzHBhvL','B2jQzwn0','ntqXndC1ngvsD1r6DG','BwvZC2fNzq','ChvZAa','DMHhCwq','jdfFjdi','zxHWB3j0CW','lI9SB2DNzxi','z2v0rNvSBfLLyxi','B0DODe8','mJe0odq1re5UEgvs','BwfW','oduWmtG5mdfwDK1svwK','q0DxvLm','CeXzEha','CgXLA2u','mtrRDLLPreO','DvnMy2C','rMfPBgvKihrVihbHCNnLiev4y2vSigzPBgu6ia','mtGYodK4mdb0we14CwW','rM50uNC','zMLSDgvY','ody1offJy3nurW','rurSEfK','ndeYotm1rw1HwwvI','t0XZAwC','CMvHzezPBgu','mtaYntqXnfDPAePfCG','C2XPy2u','BgvUz3rO','CgfKu3rHCNq','DMfSDwvZ','EgXZEa','BM9YBwfSAxPLsgvHzgvY','sxPdsMS','CgfYC2vfEgnLBezPBgu','y3zIu1C','mJzLzKXOuui','CMvWBgfJzq','zxHJzwXFCgfYC2vK','DhjPBq','Bwf0y2G','otzdA092zuO','mteXotjurfnTD3i','Dgv4Da'];a0_0x243a=function(){return _0x572a81;};return a0_0x243a();}class ExcelParser{async[a0_0x991bcf(0x11c)](_0x33a3db){const _0x2c7548=a0_0x991bcf,_0x2a970a={'OLsig':function(_0x186714,_0x5a9aff){return _0x186714===_0x5a9aff;},'CGWVS':'excel_parse_error','OSRmL':'Failed\x20to\x20parse\x20Excel\x20file'};try{const _0x55a508=new ExcelJS['Workbook']();await _0x55a508[_0x2c7548(0x119)][_0x2c7548(0x113)](_0x33a3db);const _0xcac2a=_0x55a508['worksheets'][0x0];if(!_0xcac2a)throw new Error('No\x20worksheet\x20found\x20in\x20Excel\x20file');const _0x62982b=[];let _0x525971=[];return _0xcac2a['eachRow']((_0x11cc0e,_0x3342ce)=>{const _0x3b105b=_0x2c7548,_0x1f55dc=_0x11cc0e[_0x3b105b(0x118)];if(_0x2a970a[_0x3b105b(0x112)](_0x3342ce,0x1))_0x525971=_0x1f55dc[_0x3b105b(0x115)](0x1)[_0x3b105b(0x104)](_0x15a7bb=>this[_0x3b105b(0x11a)](_0x15a7bb));else{const _0x3cb061={};_0x525971['forEach']((_0xb267fb,_0x1de249)=>{const _0x2012c3=_0x3b105b,_0x5b42bc=_0x1f55dc[_0x1de249+0x1];_0x3cb061[_0xb267fb]=this[_0x2012c3(0x127)](_0x5b42bc);}),_0x62982b[_0x3b105b(0x12b)](_0x3cb061);}}),logger['info']({'event':_0x2c7548(0x120),'filePath':_0x33a3db,'totalRows':_0x62982b['length'],'headers':_0x525971['length']},'Excel\x20file\x20parsed\x20successfully'),{'headers':_0x525971,'rows':_0x62982b,'totalRows':_0x62982b['length']};}catch(_0x474e3b){logger['error']({'event':_0x2a970a[_0x2c7548(0x106)],'filePath':_0x33a3db,'error':_0x474e3b[_0x2c7548(0x12a)]},_0x2a970a['OSRmL']);throw new Error(_0x2c7548(0x10b)+_0x474e3b['message']);}}[a0_0x991bcf(0x11a)](_0xcfab13){const _0x23b729=a0_0x991bcf,_0x1e3aca={'EDlxY':function(_0xf2bfa4,_0x122aff){return _0xf2bfa4===_0x122aff;}};if(_0x1e3aca[_0x23b729(0x110)](_0xcfab13,null)||_0xcfab13===undefined)return'';let _0x382669=String(_0xcfab13)[_0x23b729(0x121)]();return _0x382669=_0x382669[_0x23b729(0x11f)](/\s+/g,'_')['replace'](/([a-z])([A-Z])/g,_0x23b729(0x12d))[_0x23b729(0x11f)](/([A-Z]+)([A-Z][a-z])/g,'$1_$2')['toLowerCase'](),_0x382669;}['normalizeCellValue'](_0x380368){const _0x788e5=a0_0x991bcf,_0x22d33f={'FntRw':function(_0x3e880e,_0x186a7a){return _0x3e880e===_0x186a7a;},'pleke':function(_0x1bb25c,_0x35f1d8){return _0x1bb25c instanceof _0x35f1d8;},'uSfcg':function(_0x4d6c64,_0x33978b){return _0x4d6c64(_0x33978b);},'yVSnf':function(_0x431c20,_0x200d53){return _0x431c20===_0x200d53;},'sAniv':'object','pLYxp':function(_0x4795b3,_0x1b3353){return _0x4795b3===_0x1b3353;},'vhGqd':function(_0x3c3b76,_0x4e67c9){return _0x3c3b76!==_0x4e67c9;},'IzCJk':function(_0x3446ae,_0x39a7fc){return _0x3446ae===_0x39a7fc;},'oGhtO':'string'};if(_0x22d33f[_0x788e5(0x10d)](_0x380368,null)||_0x22d33f[_0x788e5(0x10d)](_0x380368,undefined))return null;if(_0x22d33f[_0x788e5(0x108)](_0x380368,Date)){const _0x5e755a=_0x380368[_0x788e5(0x101)](),_0x565943=_0x22d33f['uSfcg'](String,_0x380368['getMonth']()+0x1)['padStart'](0x2,'0'),_0x2e829b=String(_0x380368['getDate']())['padStart'](0x2,'0');return _0x5e755a+'-'+_0x565943+'-'+_0x2e829b;}if(typeof _0x380368==='string'){const _0x56fcfb=_0x380368[_0x788e5(0x122)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x56fcfb){const _0x2cb0bd=String(_0x56fcfb[0x1])[_0x788e5(0x117)](0x2,'0'),_0x1c0133=_0x22d33f[_0x788e5(0x10a)](String,_0x56fcfb[0x2])['padStart'](0x2,'0'),_0x558f1e=_0x56fcfb[0x3];return _0x558f1e+'-'+_0x1c0133+'-'+_0x2cb0bd;}}if(_0x380368&&_0x22d33f['yVSnf'](typeof _0x380368,_0x22d33f['sAniv'])&&_0x380368[_0x788e5(0x126)])return _0x380368['richText'][_0x788e5(0x104)](_0x2c8c77=>_0x2c8c77[_0x788e5(0x125)])['join']('');if(_0x380368&&_0x22d33f[_0x788e5(0x107)](typeof _0x380368,_0x788e5(0x128))&&_0x22d33f[_0x788e5(0x12c)](_0x380368['result'],undefined))return this['normalizeCellValue'](_0x380368['result']);if(_0x22d33f[_0x788e5(0x11b)](typeof _0x380368,_0x22d33f[_0x788e5(0x102)]))return _0x380368[_0x788e5(0x121)]();return _0x380368;}['validateExcelStructure'](_0x5377ce,_0x45c2e3){const _0x17e4cd=a0_0x991bcf,_0x54a94b={'cvbSW':function(_0x785e8a,_0x4b4056){return _0x785e8a===_0x4b4056;}},_0x6dece4=new Set(_0x5377ce),_0x2d4f4b=new Set(_0x45c2e3),_0x575d7e=_0x45c2e3[_0x17e4cd(0x10e)](_0x3f7e44=>!_0x6dece4['has'](_0x3f7e44)),_0x1121fc=_0x5377ce['filter'](_0x6dfb80=>!_0x2d4f4b['has'](_0x6dfb80)),_0x32d40e=_0x54a94b[_0x17e4cd(0x11d)](_0x575d7e[_0x17e4cd(0x116)],0x0);return{'valid':_0x32d40e,'missingFields':_0x575d7e,'extraFields':_0x1121fc};}}module[a0_0x991bcf(0xff)]=new ExcelParser();
@@ -1 +1 @@
1
- 'use strict';const a0_0x51f115=a0_0x22b5;function a0_0x340c(){const _0x2fd749=['mZa3ote3txDWzKLY','zxHWB3j0CW','mti5nJG4BNnAtxfl','icbBv0fuq0HDifDHCM5PBMC6ifDHDgnOzxiGzxjYB3iGB24G','zxH0zw5ZAw9UCW','y3DK','zgvIB3vUy2vuAw1LCG','C3rVCa','zxH0BMfTzq','lMPZ','nty1meHXBxfqDW','ChvZAa','n3PRtKfJua','D2f0y2HLCNm','zgLYzwn0B3jPzxm','D2f0y2G','mxjRse1hwq','icbBv0fuq0HDifDHCM5PBMC6iezHAwXLzcb0BYbZzxr1Ccb3yxrJAgvYigzVCIa','Aw5JBhvKzxm','BwvZC2fNzq','mZiWmJm4wMnQt1zq','zgvIB3vUy2vnCW','mZCXmdiWr0HMr1zj','lYaOCMvJDxjZAxzLkq','B2fmDvi','C3rHCNq','mty1mdCXn3jQAgfdwq','CMvSyxrPDMu','x2rLyM91BMnL','B25dAgfUz2u','zxHPC3rZu3LUyW','ntG0z2TzreT1','ndG4mJm3meXjvM9YrG'];a0_0x340c=function(){return _0x2fd749;};return a0_0x340c();}(function(_0x5d1f8d,_0xf2c8ac){const _0x1df75c=a0_0x22b5,_0x2a544a=_0x5d1f8d();while(!![]){try{const _0x55400d=-parseInt(_0x1df75c(0x1ac))/0x1*(parseInt(_0x1df75c(0x1b2))/0x2)+-parseInt(_0x1df75c(0x1bd))/0x3+parseInt(_0x1df75c(0x1bb))/0x4*(parseInt(_0x1df75c(0x1c7))/0x5)+-parseInt(_0x1df75c(0x1b0))/0x6+-parseInt(_0x1df75c(0x1a8))/0x7*(parseInt(_0x1df75c(0x1bf))/0x8)+-parseInt(_0x1df75c(0x1b6))/0x9+parseInt(_0x1df75c(0x1bc))/0xa;if(_0x55400d===_0xf2c8ac)break;else _0x2a544a['push'](_0x2a544a['shift']());}catch(_0x282079){_0x2a544a['push'](_0x2a544a['shift']());}}}(a0_0x340c,0x1b5c7));function a0_0x22b5(_0x261aa3,_0x716ad8){_0x261aa3=_0x261aa3-0x1a8;const _0x340cbd=a0_0x340c();let _0x22b50f=_0x340cbd[_0x261aa3];if(a0_0x22b5['PICqpg']===undefined){var _0x554424=function(_0x131049){const _0x3d6d70='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x439715='',_0x5245af='';for(let _0x5a5eeb=0x0,_0x37a6d9,_0x3773a4,_0x174362=0x0;_0x3773a4=_0x131049['charAt'](_0x174362++);~_0x3773a4&&(_0x37a6d9=_0x5a5eeb%0x4?_0x37a6d9*0x40+_0x3773a4:_0x3773a4,_0x5a5eeb++%0x4)?_0x439715+=String['fromCharCode'](0xff&_0x37a6d9>>(-0x2*_0x5a5eeb&0x6)):0x0){_0x3773a4=_0x3d6d70['indexOf'](_0x3773a4);}for(let _0x18e280=0x0,_0x5f2e2e=_0x439715['length'];_0x18e280<_0x5f2e2e;_0x18e280++){_0x5245af+='%'+('00'+_0x439715['charCodeAt'](_0x18e280)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5245af);};a0_0x22b5['UXgKnV']=_0x554424,a0_0x22b5['tKuxDY']={},a0_0x22b5['PICqpg']=!![];}const _0x167415=_0x340cbd[0x0],_0x36f9d3=_0x261aa3+_0x167415,_0x47ccb1=a0_0x22b5['tKuxDY'][_0x36f9d3];return!_0x47ccb1?(_0x22b50f=a0_0x22b5['UXgKnV'](_0x22b50f),a0_0x22b5['tKuxDY'][_0x36f9d3]=_0x22b50f):_0x22b50f=_0x47ccb1,_0x22b50f;}const fs=require('fs'),path=require('path');class FileWatcher{constructor(_0x5b522c={}){const _0x88d062=a0_0x22b5,_0x383f97={'oaLuR':'.json'};this[_0x88d062(0x1aa)]=_0x5b522c['directories']||[],this['extensions']=_0x5b522c[_0x88d062(0x1c1)]||[_0x88d062(0x1c6),_0x383f97[_0x88d062(0x1b4)]],this[_0x88d062(0x1b1)]=_0x5b522c['debounceMs']||0x1f4,this['onChange']=_0x5b522c[_0x88d062(0x1b9)]||(()=>{}),this[_0x88d062(0x1a9)]=[],this[_0x88d062(0x1c3)]=null;}[a0_0x51f115(0x1b5)](){const _0xd98a13=a0_0x51f115;for(const _0x18ddde of this[_0xd98a13(0x1aa)]){if(!fs[_0xd98a13(0x1ba)](_0x18ddde)){console['log']('\x20\x20[WATCH]\x20Warning:\x20Directory\x20not\x20found,\x20skipping:\x20'+(path[_0xd98a13(0x1b7)](process[_0xd98a13(0x1c2)](),_0x18ddde)||_0x18ddde));continue;}try{const _0x1f960c=fs[_0xd98a13(0x1ab)](_0x18ddde,{'recursive':!![]},(_0x55b26c,_0x35f9ad)=>{const _0x209bd3=_0xd98a13;if(!_0x35f9ad)return;const _0x47ee95=path[_0x209bd3(0x1c5)](_0x35f9ad)['toLowerCase']();if(!this[_0x209bd3(0x1c1)][_0x209bd3(0x1ae)](_0x47ee95))return;this['_debounce'](_0x35f9ad);});_0x1f960c['on']('error',_0x4a91f9=>{const _0x261ee0=_0xd98a13;console['log'](_0x261ee0(0x1c0)+path[_0x261ee0(0x1b7)](process[_0x261ee0(0x1c2)](),_0x18ddde)+':\x20'+_0x4a91f9[_0x261ee0(0x1af)]);}),this['watchers'][_0xd98a13(0x1c8)](_0x1f960c);const _0x5c4e64=path[_0xd98a13(0x1b7)](process[_0xd98a13(0x1c2)](),_0x18ddde)||_0x18ddde;console['log']('\x20\x20[WATCH]\x20Watching:\x20'+_0x5c4e64+_0xd98a13(0x1b3));}catch(_0x503e56){console['log'](_0xd98a13(0x1ad)+path[_0xd98a13(0x1b7)](process['cwd'](),_0x18ddde)+':\x20'+_0x503e56['message']);}}}[a0_0x51f115(0x1c4)](){const _0x338522=a0_0x51f115;for(const _0x5650e4 of this[_0x338522(0x1a9)]){try{_0x5650e4['close']();}catch(_0x3b8dd7){}}this[_0x338522(0x1a9)]=[],this['debounceTimer']&&(clearTimeout(this[_0x338522(0x1c3)]),this[_0x338522(0x1c3)]=null);}[a0_0x51f115(0x1b8)](_0x258dc1){const _0x270030=a0_0x51f115;this[_0x270030(0x1c3)]&&clearTimeout(this[_0x270030(0x1c3)]),this['debounceTimer']=setTimeout(()=>{const _0x87015d=_0x270030;this[_0x87015d(0x1c3)]=null,this[_0x87015d(0x1b9)](_0x258dc1);},this[_0x270030(0x1b1)]);}}module[a0_0x51f115(0x1be)]=FileWatcher;
1
+ 'use strict';function a0_0x56f9(){const _0x3e9b16=['x2rLyM91BMnL','mJrQuMLkwMO','zgLYzwn0B3jPzxm','Aw5JBhvKzxm','zgvIB3vUy2vuAw1LCG','nJK1wKDqsMfl','D2f0y2HLCNm','mJK2ognYEuPitq','C3bSAxq','CMvSyxrPDMu','mxWZFdv8mNWWFdq','Bg9N','nZe3nZe5EMDfDxjR','ndiWmdzYwgzWvMK','y3DK','icbBv0fuq0HDifDHCM5PBMC6ifDHDgnOzxiGzxjYB3iGB24G','m3HIAe5huq','C3rVCa','lYaOCMvJDxjZAxzLkq','y2XVC2u','B25dAgfUz2u','zgvIB3vUy2vnCW','mti0odniwwXosei','mtG0mtK2C0jQugzx','ChvZAa','odGXodqXmgXMD1jMEq','zxH0zw5ZAw9UCW','mJq0odG0mNDSAMTywa','Dg9mB3DLCKnHC2u','BwvZC2fNzq','D2f0y2G','lMPZB24','zxH0BMfTzq','Cg9oz3i','mKfsu0f1Da','mJCZndu5mLjhDefkEa'];a0_0x56f9=function(){return _0x3e9b16;};return a0_0x56f9();}const a0_0x45e54f=a0_0x3d11;(function(_0x3cd0cf,_0x1681f9){const _0x184c5c=a0_0x3d11,_0x14edb8=_0x3cd0cf();while(!![]){try{const _0x29b5db=-parseInt(_0x184c5c(0xdd))/0x1*(parseInt(_0x184c5c(0xf3))/0x2)+-parseInt(_0x184c5c(0xe1))/0x3*(parseInt(_0x184c5c(0xe8))/0x4)+parseInt(_0x184c5c(0xd6))/0x5*(parseInt(_0x184c5c(0xde))/0x6)+parseInt(_0x184c5c(0xf4))/0x7+parseInt(_0x184c5c(0xd8))/0x8*(-parseInt(_0x184c5c(0xe7))/0x9)+parseInt(_0x184c5c(0xea))/0xa+parseInt(_0x184c5c(0xec))/0xb*(-parseInt(_0x184c5c(0xf6))/0xc);if(_0x29b5db===_0x1681f9)break;else _0x14edb8['push'](_0x14edb8['shift']());}catch(_0x32220c){_0x14edb8['push'](_0x14edb8['shift']());}}}(a0_0x56f9,0x7f73f));const fs=require('fs'),path=require('path');class FileWatcher{constructor(_0x194cbc={}){const _0x343b25=a0_0x3d11,_0x3bc99f=_0x343b25(0xdb)[_0x343b25(0xd9)]('|');let _0x4ecf98=0x0;while(!![]){switch(_0x3bc99f[_0x4ecf98++]){case'0':this['watchers']=[];continue;case'1':this['directories']=_0x194cbc['directories']||[];continue;case'2':this[_0x343b25(0xe5)]=_0x194cbc['onChange']||(()=>{});continue;case'3':this['extensions']=_0x194cbc['extensions']||['.js',_0x343b25(0xf0)];continue;case'4':this[_0x343b25(0xd5)]=null;continue;case'5':this[_0x343b25(0xe6)]=_0x194cbc['debounceMs']||0x1f4;continue;}break;}}['start'](){const _0x411897=a0_0x3d11;for(const _0x3250ce of this[_0x411897(0xd3)]){if(!fs['existsSync'](_0x3250ce)){console['log']('\x20\x20[WATCH]\x20Warning:\x20Directory\x20not\x20found,\x20skipping:\x20'+(path['relative'](process[_0x411897(0xdf)](),_0x3250ce)||_0x3250ce));continue;}try{const _0xade8f1=fs[_0x411897(0xef)](_0x3250ce,{'recursive':!![]},(_0x455d12,_0x3170bc)=>{const _0x228c8b=_0x411897;if(!_0x3170bc)return;const _0xa5c33f=path[_0x228c8b(0xf1)](_0x3170bc)[_0x228c8b(0xed)]();if(!this[_0x228c8b(0xeb)][_0x228c8b(0xd4)](_0xa5c33f))return;this['_debounce'](_0x3170bc);});_0xade8f1['on']('error',_0x396ae5=>{const _0x22b526=_0x411897;console['log'](_0x22b526(0xe0)+path['relative'](process['cwd'](),_0x3250ce)+':\x20'+_0x396ae5['message']);}),this[_0x411897(0xd7)][_0x411897(0xe9)](_0xade8f1);const _0x17c0a5=path[_0x411897(0xda)](process['cwd'](),_0x3250ce)||_0x3250ce;console[_0x411897(0xdc)]('\x20\x20[WATCH]\x20Watching:\x20'+_0x17c0a5+_0x411897(0xe3));}catch(_0xd64194){console[_0x411897(0xdc)]('\x20\x20[WATCH]\x20Warning:\x20Failed\x20to\x20setup\x20watcher\x20for\x20'+path['relative'](process['cwd'](),_0x3250ce)+':\x20'+_0xd64194[_0x411897(0xee)]);}}}[a0_0x45e54f(0xe2)](){const _0x2e9736=a0_0x45e54f;for(const _0xd2a13a of this['watchers']){try{_0xd2a13a[_0x2e9736(0xe4)]();}catch(_0x1de6c5){}}this['watchers']=[],this[_0x2e9736(0xd5)]&&(clearTimeout(this[_0x2e9736(0xd5)]),this['debounceTimer']=null);}[a0_0x45e54f(0xf5)](_0x5520fe){const _0x47ae11=a0_0x45e54f,_0x3e3bd5={'poNgr':function(_0x23c159,_0x46e7ba){return _0x23c159(_0x46e7ba);},'GRsQi':function(_0xfb39f2,_0x397c52,_0x1c6068){return _0xfb39f2(_0x397c52,_0x1c6068);}};this['debounceTimer']&&_0x3e3bd5[_0x47ae11(0xf2)](clearTimeout,this[_0x47ae11(0xd5)]),this[_0x47ae11(0xd5)]=_0x3e3bd5['GRsQi'](setTimeout,()=>{const _0x554a6d=_0x47ae11;this['debounceTimer']=null,this[_0x554a6d(0xe5)](_0x5520fe);},this[_0x47ae11(0xe6)]);}}function a0_0x3d11(_0x4c41a4,_0x2d8589){_0x4c41a4=_0x4c41a4-0xd3;const _0x56f9c5=a0_0x56f9();let _0x3d11b9=_0x56f9c5[_0x4c41a4];if(a0_0x3d11['JHeUSO']===undefined){var _0x18f292=function(_0x134a18){const _0x16b1b3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x360e7c='',_0x53db30='';for(let _0x35cd40=0x0,_0xd3799b,_0x537a90,_0x18d9ff=0x0;_0x537a90=_0x134a18['charAt'](_0x18d9ff++);~_0x537a90&&(_0xd3799b=_0x35cd40%0x4?_0xd3799b*0x40+_0x537a90:_0x537a90,_0x35cd40++%0x4)?_0x360e7c+=String['fromCharCode'](0xff&_0xd3799b>>(-0x2*_0x35cd40&0x6)):0x0){_0x537a90=_0x16b1b3['indexOf'](_0x537a90);}for(let _0x23258c=0x0,_0xa40ea6=_0x360e7c['length'];_0x23258c<_0xa40ea6;_0x23258c++){_0x53db30+='%'+('00'+_0x360e7c['charCodeAt'](_0x23258c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x53db30);};a0_0x3d11['mvYLye']=_0x18f292,a0_0x3d11['GtAxJY']={},a0_0x3d11['JHeUSO']=!![];}const _0x34854f=_0x56f9c5[0x0],_0xb7d9a8=_0x4c41a4+_0x34854f,_0xe5510=a0_0x3d11['GtAxJY'][_0xb7d9a8];return!_0xe5510?(_0x3d11b9=a0_0x3d11['mvYLye'](_0x3d11b9),a0_0x3d11['GtAxJY'][_0xb7d9a8]=_0x3d11b9):_0x3d11b9=_0xe5510,_0x3d11b9;}module['exports']=FileWatcher;
@@ -1 +1 @@
1
- 'use strict';const a0_0x26f5ee=a0_0x2172;function a0_0x2c44(){const _0x3cae0f=['x2TLEvbYzwzPEa','CNn2swr4s2v5','zgvMyxvSDfnLCMLHBfbHDhrLCM4','ALbrC0m','Dg9Rzw4','u0vuie5yigzHAwXLzcbIDxqGy2fJAguGr0vuihjLDhvYBMvKigvTChr5iokaLcbMywXSAw5NigjHy2SGDg8GB3DUihjLC3vSDa','AwrNzw5FCMvZzxj2zv9VDMvYzMXVD19JB21Wzw5ZyxrPB25FzxjYB3i','surhru5Fsu5wquXjrf9ut0TftG','BgnMEvK','CgLU','B0z4q20','x2vUC3vYzuLUAxrPywXPEMvK','x3vWzgf0zu1LDge','AwrNzw4','BNvTrgLNAxrZ','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vY','BM5sAgq','z2vUzxjHDgvKqxq','BfDJBeS','rMfPBgvKihrVignHBMnLBcbYzxnLCNzHDgLVBIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','surhru5Fsurftv9uveW','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','sw52ywXPzcbYzxnLCNzHDgLVBIb0DgW6ig11C3qGyMuGAw50zwDLCIa','zefMCMm','uuHMy0q','lcbNB3qG','sfLlwfu','C3rVCMvK','CMrXsxa','wvv0ENa','x2j1AwXKuMv1C2vlzxK','zgvMyxvSDenVzgvqyxr0zxjU','ndCZnJKYnw1fv3zAwq','CuDmEfm','ks4Gsw5JCMvHC2uGBNvTrgLNAxrZlG','Dgv4Da','surhru5Fsu5wquXjrf9ovu1crvi','AKD3vhC','AhvZvem','Bwf4uMv0CNK','surhru5Fsu5wquXjrf9qqvrurvjo','AwrNzw5Fy29UC3vTzwq','x2nVDw50zxjuveXnyxa','surhru5Fsu5wquXjrf9nt0rf','x2fSBg93uMvZzxq','suqGr2vUzxjHDg9Yig51BwjLCIbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','tuzfB1e','DhrS','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','AwrNzw5FBNvTyMvYx2DLBMvYyxrLza','z0HYvxO','tfv5DuC','EgrHy3i','A2v5uhjLzML4','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','BNvTyMvY','C0H4Ewm','Dfbtuu8','v2Lft3K','CMvZzxj2zv9JB25MAxjT','zw5HyMXLza','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','nJiXnZq0mfD0Awzfqq','sw52ywXPzcbUDw1Izxi6ig11C3qGyMuGBM9UlwvTChr5ihn0CMLUzW','AwrNzw5FBwv0yv91CgrHDgvFzxjYB3i','Bw9Kzq','CKX2zKC','mtuZmZaXnMDfs3fvtG','qMDyCMW','C2vXoG','CMvZzxj2zu51BwjLCG','AKzHzxe','zgf0zvbYzwzPEa','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','ExL5Ew1Tzgq','swPbA3G','mJaYndroy0LUtvK','z2v0q2XPzw50','zKTZChq','qKP4uvi','C2nHCMq','CMvSzwfZzq','ven2r2W','AwrNzw5FAwrLBv9OAxq','x2j1AwXKsxnZDwvKs2v5','x3zHBgLKyxrLuMvZB3vYy2u','y291BNrLCG','AwrLBvruta','x2rLzMf1BhrqAw5eAwDPDhm','rMfPBgvKihrVihbLCNnPC3qGzM9YBwf0DgvKihzHBhvLihrVihjLC2vYDMf0Aw9UigHHC2G','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','mdeYmZq1nJC4oufcq0rfrG','suqGr2vUzxjHDg9YignVBMzPzYbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','x2j1AwXKqwn0AxzLs2v5','zM9YBwf0s2v5','surhru5FuKvtrvjwrv9eruzbvuXux1ruta','x3jLC2vYDMvnyxHuveW','rK9ztMW','swrLBxbVDgvUy3KGCMv0CMLLDMuGzxjYB3i','owLkqvD1sq','tgLpzwW','x3zHBgLKyxrLtwf4uMv0CNK','AwrNzw5FCMfUzg9Tx3vUzg9FzxjYB3i','D1HUyMW','sw52ywXPzcbYzxvZzurLBgv0ztOGBxvZDcbIzsbIB29SzwfUicHNB3q6ia','x3bHzdi','Eun3y3u','surhru5Fsu5wquXjrf9ovu1FreLhsvrt','Ahbzv3C','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','sK1rr2u','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','zxzHBa','sw52ywXPzcbWyxr0zxjUoIbTDxn0ignVBNrHAw4GyxqGBgvHC3qGB25LihbSywnLAg9SzgvYignOyxjHy3rLCIaOos9ol0eVys9ml1GVEc9il2GP','x2j1AwXKswrLBuTLEq','x2DLDenVDw50zxjuveW','AxnjBNrLz2vY','qw1sB3O','sw52ywXPzcbKAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','Dg9ju09tDhjPBMC','mtaZndG2nhPPzKrzEq','yM9VBgvHBG','rvjnvM4','AwrNzw5FCMfUzg9Tx2LKzw1FBg9Zzxi','lcbLEhbLy3rLzca','C1zvr1i','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2v4CgLYzxnbDcCSicDJB3vUDgvYjYWGj3zHBhvLjYWGj2zVCM1HDeTLEsCSicDPC1jLDxnLzcCSicDJCMvHDgvKqxqNkqPSB2nHBcbWCMv2rxHWAxjLC0f0id0GAfSXxqPSB2nHBcbUzxDuDgXnCYa9ihrVBNvTyMvYkefsr1zBmL0PcMXVy2fSig5LD0v4Ce1Zid0GDg9UDw1IzxiOqvjhvLSZxsKkCMvKAxmUy2fSBcGNuevyueLsrsCSieTfwvnBmv0Sig5LD1r0Be1ZkqPYzwrPCY5JywXSkcDiu0vujYWGs0vzu1SXxsWGj2v4CgLYzxnbDcCSiefsr1zBnf0PcNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZjDlcbUzxDfEhbnCYWGqvjhvLSXxsKkCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SYxsWGBwf0Ac5MBg9VCIHUzxDuDgXnCYaVideWmdaPicSGnJaPcNjLDhvYBIb7ideSihbYzxzfEhbPCMvZqxqSigHBmL0SigHBm10SigHBnf0SigHBnv0SigHBnL0GFqO','vw5RBM93BIbMB3jTyxq6ia','wwnwC20','rhrNrfi','Cgf0DgvYBG','Eu1jy2G','surhru5Fsu5wquXjrf9quKvgsvG','x3n0B3jLswrLBunHy2HLtLG','surhru5Fsu5wquXjrf9esuDjvfm','DgvZDa','ExL5Ew1T','x3vUzg9syw5KB21szxnLCNzHDgLVBG','ChzyANO','x2vUywjSzwq','z2v0rgf0zq','wK9WwMW','t2nfuM0','x2j1AwXKuMvZzxj2yxrPB25lzxK','C2vWyxjHDg9Y','yNLQyvm','se9QvxO','uhzrANK','u2H1D0S','ywjJzgvMz2HPAMTSBw5VChfYC3r1DND4ExO','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcaOz290oIa','mtm3owzxquLrAW','C3rYAw5N','ChjLzML4','rMfPBgvKihrVignVBxbLBNnHDguGCMvZzxj2yxrPB24Gywz0zxiGy291BNrLCIbVDMvYzMXVDW','y291BNrLCKLUDa','mtqZnZbWyLn6rha','mKfKA2zRza','ANnVtLq','q0TyDgK','uLj0wgC','ChvZAa','qNLytxm','zM9YBwf0s2v5igLZihjLCxvPCMvKigLUigXVDY1SzxzLBcbYzwXLyxnL','CMfUzg9Tsw50','C3rYAw5NAwz5','ignOyxjZicHNB3qGBgvUz3rOoIa','mtiWmJndvhfAB2C','x3jLDhjPzxzLswrLBunHy2HL','twv0ysb1CgrHDguGzxjYB3i','x2rLzMf1BhrtzxjPywXqyxr0zxjU','suqGr2vUzxjHDg9Yig51BwjLCIbYzxnLCNzLzdOG','surhru5Fsu5wquXjrf9gt1jnqvq','AgfZ','x3jLC2vYDMvezwzHDwX0vfrm','AwrNzw5FCMvZzxj2zv92ywX1zv9WzxjZAxn0x2vYCM9Y','mte2oteWmNnwAgrdDW','zxHWAxjLC0f0','C2fKza','tNvTyMvYignVDw50zxiGCgfYDcbTDxn0igjLigv4ywn0BhKG','ExL5Eq','zw5ZDxjLvw5PCxvL','zLfpC0i','AgDLDgfSBa','sw52ywXPzcb0DgW6ig11C3qGyMuGAw50zwDLCIaXlq','sw52ywXPzcbYzxnLCNzHDgLVBIb0B2TLBJOGBxvZDcbIzsbvvuLeihy0igzVCM1HDcaOz290oIa','Bfflv1e','yNvPBgrezxrLCM1PBMLZDgLJs2v5','AwrNzw5FAwrLBv9UEf9YywnLx2XVC3rFyNv0x2vTChr5','zxHWB3j0CW','AxnZDwvKoG','AwrLBxbVDgvUy3LlzxK','D2LUBMvYuMvZDwX0','icH0B2TLBJ0','AwrNzw5FBNvTyMvYx2LKzw1FBg9Zzxi','zgvS','tfDusLq','x2LUAxrPywXPEMvK','uxPSu2m','BwvZC2fNzq','BM93','AwrNzw5FAwrLBv9ZDg9Yzw54x2vYCM9Y','x2LKzw1uveW','x3zHBgLKyxrLugf0DgvYBG','CMy6AwrNzw46','x3bHCNnLtNvTyMvY','x2DLBMvYyxrLrNjVBvbHDhrLCM4','y3PRtNe','x2j1AwXKtwv0yuTLEq','EMnytMS','swrLBxbVDgvUy3KGy2fJAguGseLu','CgfKu3rHCNq','otb2zenVvLq','x3zHBgLKyxrLvfrm','zM9YBwf0','Bwf0y2G','surhru5FuKvtrvrFtK9ux0fmte9xruq','lwrPz2L0ignHCgfJAxr5icG','tKviuey','D2fYBG','zw52','AwrNzw5FCMvZzxj2yxrPB25Fy2fUy2vSBgvK','ywT0AMy','sw52ywXPzcbMB3jTyxq6ia','y29UC3vTzq','x3L5ExLF','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYWGj2LZuMv1C2vKjYWGj2nYzwf0zwrbDcCSicDLEhbPCMvZqxqNkqPYzwrPCY5JywXSkcDeruWNlcblrvLtwZfDkqPYzwrPCY5JywXSkcDAuKvnjYWGs0vzu1SYxsWGqvjhvLSXxsKkCMv0DxjUihSGmsWGAfSXxsWGAfSYxsWGAfSZxsWGAfS0xsWGAfS1xsWGAfS2xsb9cG','svvcruq','zw50CMLLCW','s2LwugC','thPeCey','surhru5Fq09vtLrfuL9uveXFrefjtfK','AhnLDa','otK5os05otK5','CgfYC2u','lcaR','suqGr2vUzxjHDg9YihjLC2vYDMuGAwrLBsbYywnLigXVC3qSihjLDhvYBMLUzYb3Aw5UzxiGzw52zwXVCgu','BNDtuvO','CMvZB3vYy2u','surhru5Fvu5juvvfx1jfvfjzx0vysefvu1rfra','rwz1yuK','mdeYmZq1nJC4oq','BgvUz3rO','tu1yveu','zxHWAxjL','A0fQrvi','zgvMyxvSDe1HEfjLDhj5','u0HxBfq','Aw5MBW','u0jYCfu','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKihrLEhqGzM9YBwf0icHNB3q6ia','CMvZzxj2zurLzMf1BhruveW','ywXS','x2j1AwXKrM9YBwf0s2v5','x3n0B3jLswrLBunHy2HL','ANLpre0','x2j1AwXKu2vXs2v5','Dhj1zq','surhru5FreLtqujmruq','uLbku1u','zLfjB1m','s2rIq0y','AwrNzw5FBNvTyMvYx3jLBgvHC2vK','rgncz3C','z2v0sw5MBW','DhrStxm','surhru5Fsu5wquXjrf9srvnfuLzfx1ruta','CMfUzg9T','x2rLzMf1BhrnyxHszxrYEq','suqGr2vUzxjHDg9YihjLC2v0oIa','Bwv0yq','AwrNzw5FAwrLBv9ZDg9Yzv9LCNjVCG','C2vX','ywXSB3DszxnLDa','CMvSzwfZzu51BwjLCG','thzgCMC','igrPz2L0CYaOz290oIa','x3zHBgLKyxrLuMvZzxj2zvruta','DMfSDwu','sw52ywXPzcbWyxr0zxjUoIbTDxn0igjLihn0CMLUzYaXlq','z2v0uMvZzxj2yxrPB24','zgvMyxvSDfbPBKrPz2L0CW'];a0_0x2c44=function(){return _0x3cae0f;};return a0_0x2c44();}(function(_0x1782c3,_0x4bd9f5){const _0x353e76=a0_0x2172,_0x5975e5=_0x1782c3();while(!![]){try{const _0x236c61=parseInt(_0x353e76(0xa0))/0x1*(parseInt(_0x353e76(0x8d))/0x2)+-parseInt(_0x353e76(0x16e))/0x3*(parseInt(_0x353e76(0x14e))/0x4)+-parseInt(_0x353e76(0x12b))/0x5+parseInt(_0x353e76(0x8c))/0x6*(parseInt(_0x353e76(0x87))/0x7)+-parseInt(_0x353e76(0x183))/0x8*(parseInt(_0x353e76(0xc4))/0x9)+parseInt(_0x353e76(0x149))/0xa+-parseInt(_0x353e76(0x97))/0xb*(-parseInt(_0x353e76(0x157))/0xc);if(_0x236c61===_0x4bd9f5)break;else _0x5975e5['push'](_0x5975e5['shift']());}catch(_0x20d1a0){_0x5975e5['push'](_0x5975e5['shift']());}}}(a0_0x2c44,0xaec31));const crypto=require('crypto'),redisClient=require('./redis-client'),{logger}=require('./logger'),idempotencyManager=require('./idempotency-manager'),ALLOWED_FORMATS=new Set(['text','yyyy',a0_0x26f5ee(0x78),'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=a0_0x26f5ee(0xe1),CHARSET_UPPER='ABCDEFGHIJKLMNOPQRSTUVWXYZ',CHARSET_LOWER=a0_0x26f5ee(0x85),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_0x26f5ee(0x166),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='\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='\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_0x26f5ee(0xd2),LUA_CANCEL_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\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27)\x0alocal\x20counter\x20=\x20h[1]\x0aif\x20counter\x20then\x0a\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[3],\x20counter,\x20counter)\x0a\x20\x20local\x20ttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20ttl\x20>\x200\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20ttl)\x0a\x20\x20end\x0aend\x0aredis.call(\x27DEL\x27,\x20KEYS[1])\x0aredis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0areturn\x20{\x201,\x20counter,\x20h[2],\x20h[3]\x20}\x0a',LUA_EXTEND_RESERVATION=a0_0x26f5ee(0x189);function a0_0x2172(_0x4f35b5,_0x516752){_0x4f35b5=_0x4f35b5-0x72;const _0x2c44bd=a0_0x2c44();let _0x2172b8=_0x2c44bd[_0x4f35b5];if(a0_0x2172['EmiPhs']===undefined){var _0x1e950a=function(_0x3a9693){const _0x24cbcd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3f71c6='',_0x519703='';for(let _0x5bb543=0x0,_0x1131d4,_0xaf9d73,_0x16a1b2=0x0;_0xaf9d73=_0x3a9693['charAt'](_0x16a1b2++);~_0xaf9d73&&(_0x1131d4=_0x5bb543%0x4?_0x1131d4*0x40+_0xaf9d73:_0xaf9d73,_0x5bb543++%0x4)?_0x3f71c6+=String['fromCharCode'](0xff&_0x1131d4>>(-0x2*_0x5bb543&0x6)):0x0){_0xaf9d73=_0x24cbcd['indexOf'](_0xaf9d73);}for(let _0x14ce57=0x0,_0x4e1b7c=_0x3f71c6['length'];_0x14ce57<_0x4e1b7c;_0x14ce57++){_0x519703+='%'+('00'+_0x3f71c6['charCodeAt'](_0x14ce57)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x519703);};a0_0x2172['kXCMoW']=_0x1e950a,a0_0x2172['OYpeRh']={},a0_0x2172['EmiPhs']=!![];}const _0x39cd48=_0x2c44bd[0x0],_0x55316f=_0x4f35b5+_0x39cd48,_0x5dca8b=a0_0x2172['OYpeRh'][_0x55316f];return!_0x5dca8b?(_0x2172b8=a0_0x2172['kXCMoW'](_0x2172b8),a0_0x2172['OYpeRh'][_0x55316f]=_0x2172b8):_0x2172b8=_0x5dca8b,_0x2172b8;}class IdGeneratorError extends Error{constructor(_0x3d16c1,_0x40d624,_0x20607e=null){const _0x1ad4e4={'fJBTx':function(_0x4eca12,_0x4ab121){return _0x4eca12||_0x4ab121;},'HuCew':'IdGeneratorError'};super(_0x1ad4e4['fJBTx'](_0x40d624,_0x3d16c1)),this['name']=_0x1ad4e4['HuCew'],this['code']=_0x3d16c1,this['details']=_0x20607e;}}class IdGenerator{constructor(){const _0x2a0f3f=a0_0x26f5ee;this['_initialized']=![],this[_0x2a0f3f(0x7b)]=null,this[_0x2a0f3f(0x10b)]=null,this[_0x2a0f3f(0xba)]=null,this['_allowReset']=null,this['_defaultMaxRetry']=null,this['_defaultPinDigits']=null,this['_defaultSerialPattern']=null,this['_defaultCodePattern']=null,this[_0x2a0f3f(0x135)]=null,this[_0x2a0f3f(0x9e)]=null,this[_0x2a0f3f(0x16b)]=null;}['_initConfig'](){const _0x1a2d03=a0_0x26f5ee,_0x584182={'qGLxS':function(_0x8c15de,_0x2fadbd){return _0x8c15de===_0x2fadbd;},'mtysd':_0x1a2d03(0xf2),'vpeiA':function(_0x528310,_0x128687,_0x56256a){return _0x528310(_0x128687,_0x56256a);},'prGQl':_0x1a2d03(0xd9),'uqepw':function(_0x384f9b,_0x434f1d,_0x181a28){return _0x384f9b(_0x434f1d,_0x181a28);}};this[_0x1a2d03(0x10b)]=_0x1a2d03(0xbc),this['_enabled']=_0x584182[_0x1a2d03(0x12c)](process['env']['IDGEN_ENABLED'],_0x584182['mtysd']),this['_idemTTL']=parseInt(process[_0x1a2d03(0xcc)][_0x1a2d03(0x11f)],0xa)||0x258,this[_0x1a2d03(0x137)]=process['env']['IDGEN_ALLOW_RESET']===_0x584182['mtysd'],this[_0x1a2d03(0xfd)]=_0x584182['vpeiA'](parseInt,process['env']['IDGEN_DEFAULT_MAX_RETRY'],0xa)||0xa,this['_defaultPinDigits']=parseInt(process[_0x1a2d03(0xcc)]['IDGEN_DEFAULT_PIN_DIGITS'],0xa)||0x6,this['_defaultSerialPattern']=process[_0x1a2d03(0xcc)]['IDGEN_DEFAULT_SERIAL_PATTERN']||'XXXX-XXXX-XXXX-XXXX',this['_defaultCodePattern']=process[_0x1a2d03(0xcc)]['IDGEN_DEFAULT_CODE_PATTERN']||_0x584182['prGQl'],this['_counterTTLMap']={'yyyymm':_0x584182['uqepw'](parseInt,process['env']['IDGEN_COUNTER_TTL_MONTHLY'],0xa)||0x2a3000,'yyyymmdd':parseInt(process[_0x1a2d03(0xcc)][_0x1a2d03(0xd7)],0xa)||0x2a300},this[_0x1a2d03(0x9e)]=parseInt(process[_0x1a2d03(0xcc)][_0x1a2d03(0x16a)],0xa)||DEFAULT_RESERVE_TTL,this['_reserveMaxTTL']=parseInt(process[_0x1a2d03(0xcc)]['IDGEN_RESERVE_MAX_TTL'],0xa)||MAX_RESERVE_TTL,this[_0x1a2d03(0xb5)]=!![],logger['info']({'event':'idgen_config_init','enabled':this[_0x1a2d03(0x7b)],'idemTTL':this[_0x1a2d03(0xba)],'allowReset':this['_allowReset'],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this['_defaultPinDigits'],'reserveDefaultTTL':this[_0x1a2d03(0x9e)],'reserveMaxTTL':this[_0x1a2d03(0x16b)]},_0x1a2d03(0x167)+this[_0x1a2d03(0x7b)]);}['_ensureInitialized'](){const _0x46edc0=a0_0x26f5ee;if(!this[_0x46edc0(0xb5)])this['_initConfig']();}get[a0_0x26f5ee(0x147)](){const _0x356758=a0_0x26f5ee;return this[_0x356758(0x116)](),this[_0x356758(0x7b)];}get['keyPrefix'](){return this['_ensureInitialized'](),this['_keyPrefix'];}get[a0_0x26f5ee(0x162)](){const _0x19b287=a0_0x26f5ee;return this[_0x19b287(0x116)](),this['_idemTTL'];}get[a0_0x26f5ee(0x102)](){const _0x560a1b=a0_0x26f5ee;return this[_0x560a1b(0x116)](),this['_allowReset'];}get[a0_0x26f5ee(0xe6)](){const _0x2432fd=a0_0x26f5ee;return this[_0x2432fd(0x116)](),this[_0x2432fd(0xfd)];}get['defaultPinDigits'](){const _0x548e26=a0_0x26f5ee;return this[_0x548e26(0x116)](),this[_0x548e26(0x163)];}get[a0_0x26f5ee(0x10d)](){const _0x4736b4=a0_0x26f5ee;return this[_0x4736b4(0x116)](),this[_0x4736b4(0x9a)];}get[a0_0x26f5ee(0x12a)](){return this['_ensureInitialized'](),this['_defaultCodePattern'];}get[a0_0x26f5ee(0xec)](){const _0x508c92=a0_0x26f5ee;return this[_0x508c92(0x116)](),this[_0x508c92(0x9e)];}get['reserveMaxTTL'](){const _0x2cd9d5=a0_0x26f5ee;return this[_0x2cd9d5(0x116)](),this['_reserveMaxTTL'];}['isEnabled'](){return this['enabled'];}[a0_0x26f5ee(0x160)](_0x165e26){const _0x4c1275=a0_0x26f5ee;if(typeof _0x165e26!=='string'||!RESOURCE_REGEX['test'](_0x165e26))throw new IdGeneratorError('IDGEN_INVALID_RESOURCE','Invalid\x20resource:\x20must\x20match\x20'+RESOURCE_REGEX+'\x20(got:\x20'+JSON[_0x4c1275(0x95)](_0x165e26)+')');}['_validateNumberParams'](_0x203a4a){const _0x2447a8=a0_0x26f5ee,_0x1c8751={'rLvfG':function(_0x1ba610,_0x3a7c2f){return _0x1ba610===_0x3a7c2f;},'msHNO':'IDGEN_INVALID_FORMAT','khzpg':function(_0x1ada24,_0x3500db){return _0x1ada24>_0x3500db;},'GBwNc':function(_0x54b839,_0xa39abe){return _0x54b839==_0xa39abe;},'jyODM':function(_0x5d75b7,_0x1a9c75){return _0x5d75b7!==_0x1a9c75;},'wJzKt':function(_0x823897,_0x25166d){return _0x823897!==_0x25166d;},'LWTJT':_0x2447a8(0x88),'tPSQO':function(_0x31b24f,_0x41a0dc){return _0x31b24f!=_0x41a0dc;},'DjcEO':_0x2447a8(0x184)},{resource:_0x56f2ad,format:_0x464670,prefix:_0x547b19,separator:_0x3f52d0,numDigits:_0xa0a0df,reuseDelete:_0x4ca230}=_0x203a4a;this['_validateResource'](_0x56f2ad);const _0x14f9c1=_0x1c8751[_0x2447a8(0x14d)](typeof _0x464670,_0x2447a8(0x88))?_0x464670['toLowerCase']():'';if(!ALLOWED_FORMATS['has'](_0x14f9c1))throw new IdGeneratorError(_0x1c8751['msHNO'],'Invalid\x20format:\x20must\x20be\x20one\x20of\x20'+[...ALLOWED_FORMATS]['join'](',\x20')+'\x20(got:\x20'+_0x464670+')');if(!Number['isInteger'](_0xa0a0df)||_0xa0a0df<MIN_NUM_DIGITS||_0x1c8751['khzpg'](_0xa0a0df,MAX_NUM_DIGITS))throw new IdGeneratorError(_0x2447a8(0x176),'Invalid\x20numDigits:\x20must\x20be\x20integer\x20'+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+'\x20(got:\x20'+_0xa0a0df+')');const _0x49e66d=_0x1c8751['GBwNc'](_0x547b19,null)?'':_0x547b19;if(_0x1c8751[_0x2447a8(0xf0)](typeof _0x49e66d,_0x2447a8(0x88))||!PREFIX_REGEX[_0x2447a8(0x77)](_0x49e66d))throw new IdGeneratorError(_0x2447a8(0x74),'Invalid\x20prefix:\x20must\x20match\x20'+PREFIX_REGEX+'\x20(got:\x20'+JSON[_0x2447a8(0x95)](_0x547b19)+')');const _0x136ac5=_0x3f52d0==null?'':_0x3f52d0;if(_0x1c8751['wJzKt'](typeof _0x136ac5,_0x1c8751[_0x2447a8(0xb4)])||_0x136ac5[_0x2447a8(0xe2)]>0x3||SEPARATOR_FORBIDDEN[_0x2447a8(0x77)](_0x136ac5))throw new IdGeneratorError('IDGEN_INVALID_SEPARATOR','Invalid\x20separator:\x20max\x203\x20char,\x20must\x20not\x20contain\x20\x27:\x27\x20(got:\x20'+JSON[_0x2447a8(0x95)](_0x3f52d0)+')');if(_0x1c8751[_0x2447a8(0x144)](_0x4ca230,null)&&_0x1c8751[_0x2447a8(0xf0)](typeof _0x4ca230,_0x1c8751['DjcEO']))throw new IdGeneratorError('IDGEN_INVALID_RESOURCE',_0x2447a8(0x173)+typeof _0x4ca230+')');return{'resource':_0x56f2ad,'format':_0x14f9c1,'prefix':_0x49e66d,'separator':_0x136ac5,'numDigits':_0xa0a0df,'reuseDelete':_0x1c8751['rLvfG'](_0x4ca230,!![])};}['_validatePattern'](_0x158d3a){const _0x48f657=a0_0x26f5ee,_0x5c9eb0={'KiVPg':function(_0x486d91,_0x12a4f1){return _0x486d91!==_0x12a4f1;},'ShuwK':function(_0x48fc09,_0x518356){return _0x48fc09===_0x518356;},'QzlSc':_0x48f657(0x133)};if(_0x5c9eb0[_0x48f657(0xd5)](typeof _0x158d3a,'string')||_0x5c9eb0[_0x48f657(0x84)](_0x158d3a[_0x48f657(0xe2)],0x0)||_0x158d3a[_0x48f657(0xe2)]>MAX_PATTERN_LENGTH)throw new IdGeneratorError(_0x5c9eb0[_0x48f657(0xb6)],_0x48f657(0x108)+MAX_PATTERN_LENGTH+_0x48f657(0x96)+(_0x158d3a&&_0x158d3a[_0x48f657(0xe2)])+')');let _0x4cb171=![];for(const _0x2d5650 of _0x158d3a){if(PLACEHOLDER_MAP[_0x2d5650]){_0x4cb171=!![];break;}}if(!_0x4cb171)throw new IdGeneratorError(_0x5c9eb0['QzlSc'],_0x48f657(0x17c));}[a0_0x26f5ee(0xc5)](_0x53dda4){const _0x427b10=a0_0x26f5ee,_0x247502={'kwdPz':function(_0xcd73d9,_0x5bfca9){return _0xcd73d9==_0x5bfca9;},'FOYNl':function(_0x53e325,_0x559d0c){return _0x53e325<_0x559d0c;},'UTpOq':function(_0x5323cd,_0x2de0af){return _0x5323cd>_0x2de0af;},'RznEe':'IDGEN_INVALID_TTL'};if(_0x247502['kwdPz'](_0x53dda4,null))return undefined;if(!Number[_0x427b10(0x17f)](_0x53dda4)||_0x247502[_0x427b10(0x16c)](_0x53dda4,0x1)||_0x247502['UTpOq'](_0x53dda4,MAX_TTL))throw new IdGeneratorError(_0x247502['RznEe'],_0x427b10(0xa8)+MAX_TTL+'\x20seconds\x20(got:\x20'+_0x53dda4+')');return _0x53dda4;}[a0_0x26f5ee(0x170)](_0x5e433c){const _0x586a5b=a0_0x26f5ee,_0x2320d9={'gHrUz':function(_0x26290a,_0x4a5848){return _0x26290a<_0x4a5848;},'IjAkx':function(_0x2606dd,_0x55f6a8){return _0x2606dd>_0x55f6a8;},'NVysA':'IDGEN_INVALID_MAX_RETRY'};if(_0x5e433c==null)return this[_0x586a5b(0xe6)];if(!Number['isInteger'](_0x5e433c)||_0x2320d9[_0x586a5b(0x13d)](_0x5e433c,0x1)||_0x2320d9[_0x586a5b(0x156)](_0x5e433c,MAX_RETRY_LIMIT))throw new IdGeneratorError(_0x2320d9['NVysA'],'Invalid\x20maxRetry:\x20must\x20be\x20integer\x201-'+MAX_RETRY_LIMIT+'\x20(got:\x20'+_0x5e433c+')');return _0x5e433c;}['_validateIdempotencyKey'](_0x11e0a9){const _0x514d60=a0_0x26f5ee,_0x571792={'pqMPl':function(_0xdcdf50,_0x2cff8b){return _0xdcdf50==_0x2cff8b;},'SBrpU':function(_0x3a677e,_0x4ea3ee){return _0x3a677e!==_0x4ea3ee;},'nwSQZ':function(_0x19b8a1,_0x2396b1){return _0x19b8a1>_0x2396b1;},'jGwTw':'IDGEN_INVALID_RESOURCE'};if(_0x571792['pqMPl'](_0x11e0a9,null))return undefined;if(_0x571792[_0x514d60(0xe9)](typeof _0x11e0a9,_0x514d60(0x88))||_0x11e0a9['length']===0x0||_0x571792[_0x514d60(0xdd)](_0x11e0a9[_0x514d60(0xe2)],MAX_IDEMPOTENCY_KEY_LENGTH))throw new IdGeneratorError(_0x571792[_0x514d60(0x130)],'Invalid\x20idempotencyKey:\x20must\x20be\x20string\x201-'+MAX_IDEMPOTENCY_KEY_LENGTH+'\x20chars');return _0x11e0a9;}['_validateReserveTTL'](_0x33d48b){const _0x55bae5=a0_0x26f5ee,_0x465017={'lVGuZ':function(_0x44d469,_0xfe881a){return _0x44d469>_0xfe881a;}};if(_0x33d48b==null)return this[_0x55bae5(0xec)];if(!Number['isInteger'](_0x33d48b)||_0x33d48b<MIN_RESERVE_TTL||_0x465017['lVGuZ'](_0x33d48b,this['reserveMaxTTL']))throw new IdGeneratorError(_0x55bae5(0xfb),_0x55bae5(0x121)+MIN_RESERVE_TTL+'-'+this['reserveMaxTTL']+'\x20seconds\x20(got:\x20'+_0x33d48b+')');return _0x33d48b;}[a0_0x26f5ee(0x17a)](_0x264129){const _0x1d82aa=a0_0x26f5ee,_0xe8aedf={'jFaeq':'string','NEHPF':_0x1d82aa(0x112)};if(typeof _0x264129!==_0xe8aedf[_0x1d82aa(0x152)]||!RESERVATION_TOKEN_REGEX[_0x1d82aa(0x77)](_0x264129))throw new IdGeneratorError(_0xe8aedf[_0x1d82aa(0xca)],_0x1d82aa(0xa9)+JSON['stringify'](_0x264129)+')');return _0x264129;}['_pad2'](_0x529f32){const _0x5e0f37={'dwReD':function(_0x5cfbff,_0x36e8d){return _0x5cfbff(_0x36e8d);}};return _0x5e0f37['dwReD'](String,_0x529f32)['padStart'](0x2,'0');}['_buildFormatKey'](_0x1b2b11,_0x1633a9,_0xc69901=new Date()){const _0x4ab753=a0_0x26f5ee,_0x3f6958={'fKspt':function(_0x2bab28,_0xb7e870){return _0x2bab28+_0xb7e870;},'SHWlT':_0x4ab753(0x12e),'tdMaK':_0x4ab753(0xa4),'ByXMs':_0x4ab753(0x155)},_0x5d2056=_0xc69901['getFullYear'](),_0x19c89a=this['_pad2'](_0x3f6958[_0x4ab753(0x159)](_0xc69901['getMonth'](),0x1)),_0x369337=this[_0x4ab753(0x174)](_0xc69901[_0x4ab753(0x7c)]()),_0xc49f5d=_0x1633a9||'_';let _0x2b334c,_0x1ddacf='';switch(_0x1b2b11){case _0x3f6958[_0x4ab753(0xe7)]:_0x2b334c=_0xc49f5d+'_text';break;case _0x3f6958['tdMaK']:_0x1ddacf=''+_0x5d2056,_0x2b334c=_0xc49f5d+_0x4ab753(0xd1)+_0x1ddacf;break;case _0x4ab753(0x78):_0x1ddacf=''+_0x5d2056+_0x19c89a,_0x2b334c=_0xc49f5d+'_yyyymm_'+_0x1ddacf;break;case _0x3f6958[_0x4ab753(0x92)]:_0x1ddacf=''+_0x5d2056+_0x19c89a+_0x369337,_0x2b334c=_0xc49f5d+'_yyyymmdd_'+_0x1ddacf;break;default:throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0x4ab753(0x18a)+_0x1b2b11);}return{'formatKey':_0x2b334c,'datePrefix':_0x1ddacf};}[a0_0x26f5ee(0xf1)](_0x584378,_0x45706d){const _0x43ce54=a0_0x26f5ee;return this['keyPrefix']+_0x43ce54(0x150)+_0x584378+':'+_0x45706d;}[a0_0x26f5ee(0x129)](_0xdea8d5,_0x4a003e){return this['keyPrefix']+'reuse:'+_0xdea8d5+':'+_0x4a003e;}['_buildMetaKey'](_0x4fff8e,_0x5bb4bb){const _0x2e8bcc=a0_0x26f5ee;return this[_0x2e8bcc(0x140)]+'meta:'+_0x4fff8e+':'+_0x5bb4bb;}['_buildIssuedKey'](_0x418fc5){const _0x1ca6ca=a0_0x26f5ee;return this['keyPrefix']+_0x1ca6ca(0xae)+_0x418fc5;}[a0_0x26f5ee(0x168)](_0x410121,_0x3a895a){const _0x3af31a=a0_0x26f5ee;return this[_0x3af31a(0x140)]+'active:'+_0x410121+':'+_0x3a895a;}[a0_0x26f5ee(0x7f)](_0x2598a5){const _0x456cf5=a0_0x26f5ee;return this[_0x456cf5(0x140)]+'rsv:'+_0x2598a5;}[a0_0x26f5ee(0x148)](_0x5f4040,_0x186dbc){return this['keyPrefix']+'rsv_idx:'+_0x5f4040+':'+_0x186dbc;}['_buildReservationKeyPrefix'](){return this['keyPrefix']+'rsv:';}['_buildIdemKey'](_0x5b2bd1,_0x7dea16,_0xa887b3,_0x221633){if(_0xa887b3)return idempotencyManager['buildDeterministicKey']('idgen',_0x5b2bd1,_0x7dea16+':'+_0xa887b3+':'+_0x221633);return idempotencyManager['buildDeterministicKey']('idgen',_0x5b2bd1,_0x7dea16+':'+_0x221633);}[a0_0x26f5ee(0x17e)](_0x2921cb){return this['_counterTTLMap'][_0x2921cb]||0x0;}['_formatNumber']({format:_0x88b8b8,prefix:_0x32dd44,datePrefix:_0x571f6a,separator:_0x2f4a24,numDigits:_0x1fb8aa,counterInt:_0x22b498}){const _0x18d6bd=a0_0x26f5ee,_0x3cc46a={'GonpK':'IDGEN_COUNTER_OVERFLOW','UApKg':function(_0x22f3a1,_0x18ea0a){return _0x22f3a1(_0x18ea0a);},'ckzdF':'text'},_0x1df616=Math['pow'](0xa,_0x1fb8aa)-0x1;if(_0x22b498>_0x1df616)throw new IdGeneratorError(_0x3cc46a['GonpK'],'Counter\x20overflow:\x20'+_0x22b498+'\x20exceeds\x20'+_0x1fb8aa+_0x18d6bd(0xc9)+_0x1df616+_0x18d6bd(0x12d),{'counterInt':_0x22b498,'numDigits':_0x1fb8aa,'max':_0x1df616});const _0x46b245=_0x3cc46a['UApKg'](String,_0x22b498)[_0x18d6bd(0xc3)](_0x1fb8aa,'0');if(_0x88b8b8===_0x3cc46a['ckzdF'])return _0x32dd44?''+_0x32dd44+_0x2f4a24+_0x46b245:_0x46b245;return _0x32dd44?''+_0x32dd44+_0x2f4a24+_0x571f6a+_0x2f4a24+_0x46b245:''+_0x571f6a+_0x2f4a24+_0x46b245;}[a0_0x26f5ee(0xbd)]({format:_0x29573f,prefix:_0x1d7c87,separator:_0xb4cdf2,numDigits:_0x22da6a,number:_0x42227b}){const _0x250d09=a0_0x26f5ee,_0x4bb9a6={'sRpFq':_0x250d09(0x88),'tehqV':function(_0x1aa548,_0x5ba1cb){return _0x1aa548===_0x5ba1cb;},'QHfcD':_0x250d09(0x12f),'IUBED':function(_0x34ce93,_0x38d40e){return _0x34ce93!==_0x38d40e;},'LzDpF':function(_0x12e74d,_0xc615cd){return _0x12e74d===_0xc615cd;},'nnRhd':_0x250d09(0x78),'jsoNT':function(_0xebd8ab,_0x4986a0){return _0xebd8ab||_0x4986a0;},'lcfyY':'text'};if(typeof _0x42227b!==_0x4bb9a6['sRpFq']||_0x4bb9a6['tehqV'](_0x42227b[_0x250d09(0xe2)],0x0))throw new IdGeneratorError(_0x4bb9a6[_0x250d09(0x123)],_0x250d09(0x14a));const _0x57d8a4=_0xb4cdf2||'',_0x1aa152=_0x57d8a4===''?[_0x42227b]:_0x42227b['split'](_0x57d8a4);let _0x4e691e='',_0x4ef728;if(_0x29573f===_0x250d09(0x12e)){if(_0x1d7c87){if(_0x1aa152[_0x250d09(0xe2)]!==0x2||_0x1aa152[0x0]!==_0x1d7c87)throw new IdGeneratorError(_0x250d09(0x12f),'Number\x20does\x20not\x20match\x20expected\x20format\x20prefix'+_0x57d8a4+'padded\x20(got:\x20'+_0x42227b+')');_0x4ef728=_0x1aa152[0x1];}else{if(_0x4bb9a6[_0x250d09(0xd3)](_0x1aa152['length'],0x1))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x250d09(0xeb)+_0x42227b+')');_0x4ef728=_0x1aa152[0x0];}}else{const _0x4f83a7=_0x1d7c87?0x3:0x2;if(_0x4bb9a6['IUBED'](_0x1aa152['length'],_0x4f83a7))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x250d09(0x86)+_0x42227b+_0x250d09(0x187)+_0x4f83a7+'\x20parts)');let _0x269f92=0x0;if(_0x1d7c87){if(_0x4bb9a6[_0x250d09(0xd3)](_0x1aa152[_0x269f92],_0x1d7c87))throw new IdGeneratorError(_0x4bb9a6[_0x250d09(0x123)],'Number\x20prefix\x20mismatch:\x20expected\x20'+_0x1d7c87+_0x250d09(0x124)+_0x1aa152[_0x269f92]);_0x269f92++;}_0x4e691e=_0x1aa152[_0x269f92++];const _0x3fc588=_0x4bb9a6[_0x250d09(0xd6)](_0x29573f,_0x250d09(0xa4))?/^\d{4}$/:_0x29573f===_0x4bb9a6[_0x250d09(0x11b)]?/^\d{6}$/:/^\d{8}$/;if(!_0x3fc588['test'](_0x4e691e))throw new IdGeneratorError(_0x250d09(0x12f),'Number\x20datePrefix\x20invalid\x20for\x20format\x20'+_0x29573f+':\x20'+_0x4e691e);_0x4ef728=_0x1aa152[_0x269f92];}if(!new RegExp('^\x5cd{'+_0x22da6a+'}$')[_0x250d09(0x77)](_0x4ef728))throw new IdGeneratorError(_0x4bb9a6[_0x250d09(0x123)],_0x250d09(0xa3)+_0x22da6a+_0x250d09(0x105)+_0x4ef728+')');const _0x20cf7d=parseInt(_0x4ef728,0xa),_0x2b184e=_0x4bb9a6[_0x250d09(0x8e)](_0x1d7c87,'_');let _0x524fcd;return _0x29573f===_0x4bb9a6[_0x250d09(0x113)]?_0x524fcd=_0x2b184e+'_text':_0x524fcd=_0x2b184e+'_'+_0x29573f+'_'+_0x4e691e,{'formatKey':_0x524fcd,'counterInt':_0x20cf7d,'datePrefix':_0x4e691e};}[a0_0x26f5ee(0xbe)](_0x49cbc1){const _0x487145=a0_0x26f5ee;let _0x5b1ccc='';for(const _0x274d79 of _0x49cbc1){const _0x32918e=PLACEHOLDER_MAP[_0x274d79];if(_0x32918e){const _0x3a5765=crypto[_0x487145(0x94)](0x0,_0x32918e[_0x487145(0xe2)]);_0x5b1ccc+=_0x32918e[_0x3a5765];}else _0x5b1ccc+=_0x274d79;}return _0x5b1ccc;}async[a0_0x26f5ee(0x98)](_0x37c31a){const _0x2ca3c9=a0_0x26f5ee,_0x415191={'DHLAn':'idgen_idem_retrieve_error','YcVsm':_0x2ca3c9(0x16d)};if(!_0x37c31a)return null;try{const _0x53e3b8=redisClient['getClient'](),_0x25cf1a=await _0x53e3b8['get'](_0x37c31a);if(_0x25cf1a)return logger[_0x2ca3c9(0xe8)]({'event':_0x2ca3c9(0x15e),'key':_0x37c31a},_0x2ca3c9(0xc2)),JSON[_0x2ca3c9(0xda)](_0x25cf1a);return null;}catch(_0x221181){return logger[_0x2ca3c9(0xcb)]({'event':_0x415191['DHLAn'],'error':_0x221181['message']},_0x415191[_0x2ca3c9(0x18b)]),null;}}async['_storeIdemCache'](_0xbb42ad,_0x176f3c){const _0x257d15=a0_0x26f5ee,_0x3d948c={'MMXTE':'Idempotency\x20store\x20error'};if(!_0xbb42ad)return;try{const _0x4b01bc=redisClient['getClient']();await _0x4b01bc['setex'](_0xbb42ad,this[_0x257d15(0x162)],JSON[_0x257d15(0x95)](_0x176f3c));}catch(_0x27dc1a){logger['warn']({'event':_0x257d15(0x100),'error':_0x27dc1a['message']},_0x3d948c[_0x257d15(0xe3)]);}}async['_storeIdemCacheNX'](_0x24876e,_0x2dac54){const _0x967b76=a0_0x26f5ee,_0x4b7717={'LiOel':function(_0x14a4d0,_0x1c6820){return _0x14a4d0===_0x1c6820;},'wXnbl':_0x967b76(0x110),'PtpwA':_0x967b76(0xb9),'husTC':'Idempotency\x20SET\x20NX\x20error'};if(!_0x24876e)return{'stored':!![],'winnerResult':null};try{const _0x4b2e56=redisClient[_0x967b76(0x158)](),_0x4be4cb=JSON['stringify'](_0x2dac54),_0x3c2eea=await _0x4b2e56['set'](_0x24876e,_0x4be4cb,'EX',this[_0x967b76(0x162)],'NX');if(_0x4b7717[_0x967b76(0x16f)](_0x3c2eea,'OK'))return{'stored':!![],'winnerResult':null};const _0x12cbcd=await _0x4b2e56['get'](_0x24876e);if(_0x12cbcd)return{'stored':![],'winnerResult':JSON[_0x967b76(0xda)](_0x12cbcd)};return logger['warn']({'event':_0x967b76(0xac),'key':_0x24876e},_0x4b7717[_0x967b76(0x172)]),{'stored':!![],'winnerResult':null};}catch(_0xd24319){return logger['warn']({'event':_0x4b7717['PtpwA'],'error':_0xd24319['message']},_0x4b7717[_0x967b76(0x131)]),{'stored':!![],'winnerResult':null};}}async[a0_0x26f5ee(0x79)](_0x3663e0,_0x1bf432,_0x5ef796){const _0x48acd0=a0_0x26f5ee,_0x4ef7cc={'BfWDN':_0x48acd0(0x171),'uheGR':'Random\x20reservation\x20undo\x20error\x20(orphan\x20slot\x20may\x20remain)'};try{const _0x7a00d9=redisClient[_0x48acd0(0x158)]();if(_0x5ef796){const _0x36b213=this[_0x48acd0(0x168)](_0x3663e0,_0x1bf432);await _0x7a00d9['del'](_0x36b213);}else{const _0x37c64c=this['_buildIssuedKey'](_0x3663e0);await _0x7a00d9['srem'](_0x37c64c,_0x1bf432);}}catch(_0x477c15){logger['warn']({'event':_0x4ef7cc['BfWDN'],'error':_0x477c15['message']},_0x4ef7cc['uheGR']);}}async[a0_0x26f5ee(0x117)](_0x1a392a,_0x50e26b,_0x26d3f5,_0x5b8b82=0x0){const _0xe1d382=a0_0x26f5ee,_0x379253={'fQOsB':function(_0x15584d,_0x1f4948){return _0x15584d(_0x1f4948);},'DLcZy':_0xe1d382(0x14b)};try{const _0x348e7a=redisClient[_0xe1d382(0x158)](),_0x199ba8=this[_0xe1d382(0xc0)](_0x1a392a,_0x50e26b),_0x1ccf15=[];for(const [_0x5c844d,_0x520277]of Object[_0xe1d382(0xd4)](_0x26d3f5)){_0x1ccf15['push'](_0x5c844d,_0x379253[_0xe1d382(0xa6)](String,_0x520277));}if(_0x1ccf15[_0xe1d382(0xe2)]>0x0){await _0x348e7a['hset'](_0x199ba8,..._0x1ccf15);if(_0x5b8b82>0x0)await _0x348e7a[_0xe1d382(0xe4)](_0x199ba8,_0x5b8b82);}}catch(_0x10a127){logger[_0xe1d382(0xcb)]({'event':_0x379253['DLcZy'],'error':_0x10a127['message']},_0xe1d382(0x99));}}async[a0_0x26f5ee(0x142)](_0x59feb3){const _0x31c83d=a0_0x26f5ee,_0x9edba6={'kAjER':_0x31c83d(0xf3),'RGBsb':'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)','mggoR':function(_0x193bbd,_0x36f626){return _0x193bbd(_0x36f626);},'jPQsC':'Failed\x20to\x20release\x20counter\x20for\x20idempotency\x20loser','dAfrc':_0x31c83d(0xb2)};if(!this[_0x31c83d(0x147)])throw new IdGeneratorError(_0x9edba6[_0x31c83d(0xe5)],_0x9edba6['RGBsb']);const _0x3bca63=this['_validateNumberParams'](_0x59feb3),_0x2520ea=this['_validateIdempotencyKey'](_0x59feb3[_0x31c83d(0xaf)]),{resource:_0x2f063c,format:_0x29b4ed,prefix:_0x1b9f1a,separator:_0x369ba5,numDigits:_0x53e4a0,reuseDelete:_0xb9a5cc}=_0x3bca63,{formatKey:_0x3b1f1f,datePrefix:_0x535079}=this['_buildFormatKey'](_0x29b4ed,_0x1b9f1a),_0x3225f1=this[_0x31c83d(0xf1)](_0x2f063c,_0x3b1f1f),_0x2a98e5=this[_0x31c83d(0x129)](_0x2f063c,_0x3b1f1f),_0x54aecc=this['_getCounterTTL'](_0x29b4ed);let _0x230cd5=null;if(_0x2520ea){_0x230cd5=this['_buildIdemKey']('number',_0x2f063c,_0x3b1f1f,_0x2520ea);const _0x1878c5=await this['_retrieveIdemCache'](_0x230cd5);if(_0x1878c5)return _0x1878c5;}const _0x72d53b=redisClient['getClient'](),_0x19bc41=await _0x72d53b['eval'](LUA_GENERATE_NUMBER,0x2,_0x3225f1,_0x2a98e5,_0xb9a5cc?'1':'0',_0x9edba6['mggoR'](String,_0x54aecc)),_0x3d0669=_0x19bc41[0x0],_0x40e2f3=_0x19bc41[0x1]===0x1,_0x20f4d3=this['_formatNumber']({'format':_0x29b4ed,'prefix':_0x1b9f1a,'datePrefix':_0x535079,'separator':_0x369ba5,'numDigits':_0x53e4a0,'counterInt':_0x3d0669}),_0x5b14af={'value':_0x20f4d3,'counter':_0x3d0669,'resource':_0x2f063c,'formatKey':_0x3b1f1f,'isReused':_0x40e2f3,'generatedAt':new Date()[_0x31c83d(0x182)]()},_0x4b4977=await this['_storeIdemCacheNX'](_0x230cd5,_0x5b14af);if(!_0x4b4977['stored']){try{await _0x72d53b[_0x31c83d(0x17b)](LUA_RELEASE_NUMBER,0x1,_0x2a98e5,_0x9edba6['mggoR'](String,_0x3d0669),String(_0x54aecc));}catch(_0x297722){logger['warn']({'event':'idgen_idem_loser_release_error','error':_0x297722[_0x31c83d(0xb7)],'resource':_0x2f063c,'formatKey':_0x3b1f1f,'counterInt':_0x3d0669},_0x9edba6[_0x31c83d(0x10e)]);}return logger[_0x31c83d(0xe8)]({'event':_0x9edba6[_0x31c83d(0x122)],'resource':_0x2f063c,'formatKey':_0x3b1f1f,'counter':_0x3d0669},_0x31c83d(0x138)),_0x4b4977['winnerResult'];}return this['_updateMeta'](_0x2f063c,_0x3b1f1f,{'lastValue':_0x20f4d3,'lastCounter':_0x3d0669,'lastIsReused':_0x40e2f3,'lastGeneratedAt':_0x5b14af[_0x31c83d(0x11c)]},_0x54aecc),logger[_0x31c83d(0xe8)]({'event':_0x31c83d(0x13c),'resource':_0x2f063c,'formatKey':_0x3b1f1f,'counter':_0x3d0669,'isReused':_0x40e2f3},'ID\x20Generator\x20number:\x20'+_0x20f4d3),_0x5b14af;}async[a0_0x26f5ee(0x103)](_0x27c468){const _0x85b3a7=a0_0x26f5ee,_0x460f77={'qIDcn':'IDGEN_DISABLED','JMQGe':function(_0xa6a4fa,_0x9ff279){return _0xa6a4fa!==_0x9ff279;},'xzRVe':_0x85b3a7(0x88),'lQKWQ':function(_0x20cf1b,_0x4a7ee8){return _0x20cf1b===_0x4a7ee8;},'kGLer':_0x85b3a7(0x93),'SmRUP':function(_0x529c79,_0x4c6e90){return _0x529c79<_0x4c6e90;},'tccVO':_0x85b3a7(0x12f),'oizRA':_0x85b3a7(0x15c)};if(!this['enabled'])throw new IdGeneratorError(_0x460f77['qIDcn'],_0x85b3a7(0x13b));let _0x783e15,_0x4d225d,_0x40af4a,_0x1dffa8;const _0x463e1d=this[_0x85b3a7(0x165)](_0x27c468['idempotencyKey']);if(_0x27c468['counterInt']!==undefined&&_0x460f77[_0x85b3a7(0x179)](_0x27c468[_0x85b3a7(0x8b)],null)){this['_validateResource'](_0x27c468[_0x85b3a7(0xde)]),_0x783e15=_0x27c468[_0x85b3a7(0xde)];if(typeof _0x27c468['formatKey']!==_0x460f77['xzRVe']||_0x460f77[_0x85b3a7(0xaa)](_0x27c468['formatKey']['length'],0x0))throw new IdGeneratorError(_0x85b3a7(0x12f),_0x460f77['kGLer']);_0x4d225d=_0x27c468[_0x85b3a7(0x169)];if(!Number[_0x85b3a7(0x17f)](_0x27c468['counterInt'])||_0x460f77['SmRUP'](_0x27c468[_0x85b3a7(0x8b)],0x1))throw new IdGeneratorError(_0x460f77['tccVO'],'counterInt\x20must\x20be\x20positive\x20integer\x20(got:\x20'+_0x27c468['counterInt']+')');_0x40af4a=_0x27c468['counterInt'];const _0x15eeb5=_0x4d225d[_0x85b3a7(0xc7)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x1dffa8=_0x15eeb5?_0x15eeb5[0x1]:'text';}else{const _0xed4f4c=this['_validateNumberParams'](_0x27c468),_0x350359=this['_parseNumber']({'format':_0xed4f4c[_0x85b3a7(0xc6)],'prefix':_0xed4f4c['prefix'],'separator':_0xed4f4c[_0x85b3a7(0x80)],'numDigits':_0xed4f4c[_0x85b3a7(0x119)],'number':_0x27c468[_0x85b3a7(0x142)]});_0x783e15=_0xed4f4c['resource'],_0x4d225d=_0x350359[_0x85b3a7(0x169)],_0x40af4a=_0x350359[_0x85b3a7(0x8b)],_0x1dffa8=_0xed4f4c['format'];}const _0x9ba6c0=this[_0x85b3a7(0x129)](_0x783e15,_0x4d225d),_0x5d1ec0=this[_0x85b3a7(0x17e)](_0x1dffa8);let _0x305812=null;if(_0x463e1d){_0x305812=this[_0x85b3a7(0x17d)](_0x460f77['oizRA'],_0x783e15,_0x4d225d,_0x463e1d);const _0x25e97a=await this['_retrieveIdemCache'](_0x305812);if(_0x25e97a)return _0x25e97a;}const _0x582541=redisClient['getClient']();await _0x582541['eval'](LUA_RELEASE_NUMBER,0x1,_0x9ba6c0,String(_0x40af4a),String(_0x5d1ec0));const _0x2e8a16={'released':!![],'resource':_0x783e15,'formatKey':_0x4d225d,'counter':_0x40af4a,'releasedAt':new Date()['toISOString']()};return await this[_0x85b3a7(0xef)](_0x305812,_0x2e8a16),this['_updateMeta'](_0x783e15,_0x4d225d,{'lastReleasedCounter':_0x40af4a,'lastReleasedAt':_0x2e8a16['releasedAt']},_0x5d1ec0),logger[_0x85b3a7(0xe8)]({'event':_0x85b3a7(0xf7),'resource':_0x783e15,'formatKey':_0x4d225d,'counter':_0x40af4a},'ID\x20Generator\x20number\x20released:\x20'+_0x40af4a),_0x2e8a16;}async[a0_0x26f5ee(0x151)](_0x1171d3){const _0x41223f=a0_0x26f5ee,_0x1f1fd8={'QRLtl':_0x41223f(0xf3),'Gizoe':'reserve','JBTLk':function(_0x3ab8c0,_0x337193){return _0x3ab8c0+_0x337193;},'rdqIp':_0x41223f(0xde),'Nbxix':_0x41223f(0x169),'fQIoS':_0x41223f(0xc6),'byjaS':'prefix','vghvv':_0x41223f(0x153),'DcBgw':function(_0x593c79,_0x400b43){return _0x593c79||_0x400b43;},'ZOpZl':'expiresAt','YtlnF':_0x41223f(0xfa),'PvQjy':function(_0x34eb80,_0x43afee){return _0x34eb80(_0x43afee);},'WiEOy':'idemKey','vurOr':function(_0x1eacbf,_0xb2dcdf){return _0x1eacbf(_0xb2dcdf);},'zcXNk':function(_0x3ad7c3,_0x1bd73a){return _0x3ad7c3(_0x1bd73a);},'GfCVn':_0x41223f(0x111),'YpnIF':_0x41223f(0x8a),'ZsMqP':'value','YUtzp':_0x41223f(0x9f),'TCvGl':_0x41223f(0x164),'nzAOk':_0x41223f(0x11e),'cgHWg':'idgen_number_reserved'};if(!this[_0x41223f(0x147)])throw new IdGeneratorError(_0x1f1fd8['QRLtl'],_0x41223f(0x120));const _0x7d1282=this[_0x41223f(0x178)](_0x1171d3),_0x411da6=this[_0x41223f(0x106)](_0x1171d3[_0x41223f(0x13a)]),_0x4af4f4=this[_0x41223f(0x165)](_0x1171d3['idempotencyKey']),{resource:_0xcbef4,format:_0x1a2e91,prefix:_0x441656,separator:_0x1db35a,numDigits:_0x5a4193,reuseDelete:_0x58d2ad}=_0x7d1282,{formatKey:_0x15b555,datePrefix:_0x2da3a6}=this[_0x41223f(0xee)](_0x1a2e91,_0x441656),_0x55ec66=this[_0x41223f(0xf1)](_0xcbef4,_0x15b555),_0x3994a0=this[_0x41223f(0x129)](_0xcbef4,_0x15b555),_0x166f1c=this['_buildReservationIndexKey'](_0xcbef4,_0x15b555),_0x594374=this['_getCounterTTL'](_0x1a2e91);let _0xa1328f=null;if(_0x4af4f4){_0xa1328f=this[_0x41223f(0x17d)](_0x1f1fd8['Gizoe'],_0xcbef4,_0x15b555,_0x4af4f4);const _0x278655=await this['_retrieveIdemCache'](_0xa1328f);if(_0x278655)return _0x278655;}const _0x50db7c=crypto['randomUUID'](),_0xdeaa48=this['_buildReservationKey'](_0x50db7c),_0x4a70b1=this['_buildReservationKeyPrefix'](),_0x398db3=Date[_0x41223f(0xb8)](),_0x3c22e6=_0x1f1fd8['JBTLk'](_0x398db3,_0x411da6*0x3e8),_0x22baa7=_0x411da6*0x3e8,_0xca69c4=new Date(_0x398db3)['toISOString'](),_0x4ccfe9=new Date(_0x3c22e6)['toISOString'](),_0x1d5cc8=[_0x1f1fd8[_0x41223f(0x127)],_0xcbef4,_0x1f1fd8['Nbxix'],_0x15b555,_0x1f1fd8[_0x41223f(0xf5)],_0x1a2e91,_0x1f1fd8[_0x41223f(0x81)],_0x441656,_0x41223f(0x80),_0x1db35a,'numDigits',String(_0x5a4193),_0x1f1fd8['vghvv'],_0x1f1fd8[_0x41223f(0xf8)](_0x2da3a6,''),'createdAt',_0xca69c4,_0x1f1fd8[_0x41223f(0x7d)],_0x4ccfe9,_0x1f1fd8['YtlnF'],_0x1f1fd8[_0x41223f(0x83)](String,_0x22baa7)];_0x4af4f4&&_0x1d5cc8[_0x41223f(0x91)](_0x1f1fd8[_0x41223f(0x145)],_0x4af4f4);const _0x415767=redisClient['getClient'](),_0x41342d=await _0x415767['eval'](LUA_RESERVE_NUMBER,0x3,_0x55ec66,_0x3994a0,_0x166f1c,_0x58d2ad?'1':'0',String(_0x594374),_0x50db7c,_0xdeaa48,_0x1f1fd8['vurOr'](String,_0x22baa7),String(_0x3c22e6),_0x1f1fd8['vurOr'](String,_0x398db3),_0x4a70b1,..._0x1d5cc8),_0xd8bfac=_0x41342d[0x0],_0x3f96a3=_0x41342d[0x1]===0x1,_0x5c6310=_0x41342d[0x2]||0x0;let _0x4cefab;try{_0x4cefab=this['_formatNumber']({'format':_0x1a2e91,'prefix':_0x441656,'datePrefix':_0x2da3a6,'separator':_0x1db35a,'numDigits':_0x5a4193,'counterInt':_0xd8bfac});}catch(_0x31d53e){try{await _0x415767[_0x41223f(0x17b)](LUA_CANCEL_RESERVATION,0x3,_0xdeaa48,_0x166f1c,_0x3994a0,_0x50db7c,_0x1f1fd8[_0x41223f(0xc1)](String,_0x594374));}catch(_0x25b896){logger['warn']({'event':_0x1f1fd8['GfCVn'],'error':_0x25b896[_0x41223f(0xb7)],'resource':_0xcbef4,'formatKey':_0x15b555,'counterInt':_0xd8bfac,'token':_0x50db7c},_0x1f1fd8['YpnIF']);}throw _0x31d53e;}try{await _0x415767[_0x41223f(0xd8)](_0xdeaa48,_0x1f1fd8['ZsMqP'],_0x4cefab);}catch(_0x2ee06a){logger[_0x41223f(0xcb)]({'event':_0x1f1fd8[_0x41223f(0x128)],'error':_0x2ee06a[_0x41223f(0xb7)],'resource':_0xcbef4,'formatKey':_0x15b555,'counterInt':_0xd8bfac,'token':_0x50db7c},_0x1f1fd8[_0x41223f(0x15d)]);}const _0x31d2ac={'token':_0x50db7c,'value':_0x4cefab,'counter':_0xd8bfac,'resource':_0xcbef4,'formatKey':_0x15b555,'isReused':_0x3f96a3,'createdAt':_0xca69c4,'expiresAt':_0x4ccfe9,'reapedCount':_0x5c6310},_0xca3233=await this[_0x41223f(0x75)](_0xa1328f,_0x31d2ac);if(!_0xca3233['stored']){try{await _0x415767['eval'](LUA_CANCEL_RESERVATION,0x3,_0xdeaa48,_0x166f1c,_0x3994a0,_0x50db7c,String(_0x594374));}catch(_0x745448){logger['warn']({'event':'idgen_reserve_idem_loser_cancel_error','error':_0x745448['message'],'resource':_0xcbef4,'formatKey':_0x15b555,'counterInt':_0xd8bfac,'token':_0x50db7c},_0x1f1fd8['nzAOk']);}return logger[_0x41223f(0xe8)]({'event':_0x41223f(0x11a),'resource':_0xcbef4,'formatKey':_0x15b555,'counter':_0xd8bfac,'token':_0x50db7c},_0x41223f(0xdc)),_0xca3233[_0x41223f(0xb0)];}return this['_updateMeta'](_0xcbef4,_0x15b555,{'lastReservedCounter':_0xd8bfac,'lastReservedAt':_0xca69c4,'lastReapedCount':_0x5c6310},_0x594374),logger['info']({'event':_0x1f1fd8['cgHWg'],'resource':_0xcbef4,'formatKey':_0x15b555,'counter':_0xd8bfac,'isReused':_0x3f96a3,'token':_0x50db7c,'ttl':_0x411da6,'reapedCount':_0x5c6310},_0x41223f(0x9b)+_0x4cefab+'\x20(token='+_0x50db7c+')'),_0x31d2ac;}async['confirmReservation'](_0xf922b1){const _0x308d90=a0_0x26f5ee,_0x3c9cdf={'BgXrl':_0x308d90(0xf3),'hoape':'ID\x20Generator\x20is\x20disabled','fSMWW':'idgen','wXLlw':_0x308d90(0x146),'gtWjo':'IDGEN_RESERVATION_NOT_FOUND'};if(!this['enabled'])throw new IdGeneratorError(_0x3c9cdf[_0x308d90(0x14f)],_0x3c9cdf['hoape']);const _0x45045e=this['_validateReservationToken'](_0xf922b1&&_0xf922b1['token']),_0x9ce03e=this[_0x308d90(0x165)](_0xf922b1&&_0xf922b1[_0x308d90(0xaf)]);let _0x39d817=null;if(_0x9ce03e){_0x39d817=idempotencyManager[_0x308d90(0xab)](_0x3c9cdf['fSMWW'],_0x3c9cdf['wXLlw'],_0x45045e+':'+_0x9ce03e);const _0x2f1460=await this['_retrieveIdemCache'](_0x39d817);if(_0x2f1460)return _0x2f1460;}const _0x3917d9=await this[_0x308d90(0x141)](_0x45045e),_0x2ee60a=redisClient[_0x308d90(0x158)](),_0x516eb1=await _0x2ee60a[_0x308d90(0x17b)](LUA_CONFIRM_RESERVATION,0x2,_0x3917d9['rsvKey'],_0x3917d9['rsvIdxKey'],_0x45045e);if(!_0x516eb1||_0x516eb1[0x0]!==0x1)throw new IdGeneratorError(_0x3c9cdf['gtWjo'],_0x308d90(0x154)+_0x45045e,{'token':_0x45045e});const _0xff45a6=parseInt(_0x516eb1[0x1],0xa),_0x2f9087=_0x516eb1[0x2],_0x274d66=_0x516eb1[0x3],_0x41fbad=new Date()['toISOString'](),_0x519b83={'confirmed':!![],'token':_0x45045e,'value':_0x2f9087,'counter':_0xff45a6,'resource':_0x3917d9[_0x308d90(0xde)],'formatKey':_0x274d66,'confirmedAt':_0x41fbad};await this[_0x308d90(0xef)](_0x39d817,_0x519b83);const _0x4e0b05=_0x274d66[_0x308d90(0xc7)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x5a9094=_0x4e0b05?_0x4e0b05[0x1]:'text',_0x211524=this[_0x308d90(0x17e)](_0x5a9094);return this[_0x308d90(0x117)](_0x3917d9[_0x308d90(0xde)],_0x274d66,{'lastConfirmedCounter':_0xff45a6,'lastConfirmedAt':_0x41fbad},_0x211524),logger[_0x308d90(0xe8)]({'event':'idgen_reservation_confirmed','resource':_0x3917d9[_0x308d90(0xde)],'formatKey':_0x274d66,'counter':_0xff45a6,'token':_0x45045e},'ID\x20Generator\x20reservation\x20confirmed:\x20'+_0x2f9087+'\x20(token='+_0x45045e+')'),_0x519b83;}async['cancelReservation'](_0x2beebf){const _0x4a0150=a0_0x26f5ee,_0x1a1f66={'Ykmrn':'reserve_cancel','laqqa':function(_0x155124,_0x9d8965){return _0x155124!==_0x9d8965;},'BJxQR':_0x4a0150(0xea),'hpYWw':function(_0x21f115,_0x2902a3,_0x2beb24){return _0x21f115(_0x2902a3,_0x2beb24);}};if(!this['enabled'])throw new IdGeneratorError(_0x4a0150(0xf3),'ID\x20Generator\x20is\x20disabled');const _0x48528d=this[_0x4a0150(0x17a)](_0x2beebf&&_0x2beebf[_0x4a0150(0x10f)]),_0x45e123=this['_validateIdempotencyKey'](_0x2beebf&&_0x2beebf[_0x4a0150(0xaf)]);let _0x1c272d=null;if(_0x45e123){_0x1c272d=idempotencyManager['buildDeterministicKey'](_0x4a0150(0x118),_0x1a1f66['Ykmrn'],_0x48528d+':'+_0x45e123);const _0x382c7c=await this['_retrieveIdemCache'](_0x1c272d);if(_0x382c7c)return _0x382c7c;}const _0x5d4e79=await this['_getReservationContext'](_0x48528d),_0x22d989=this['_buildReuseKey'](_0x5d4e79[_0x4a0150(0xde)],_0x5d4e79['formatKey']),_0xbe9c4b=_0x5d4e79[_0x4a0150(0x169)]['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x2fc316=_0xbe9c4b?_0xbe9c4b[0x1]:'text',_0x292cea=this['_getCounterTTL'](_0x2fc316),_0x1d6052=redisClient['getClient'](),_0x37cc0b=await _0x1d6052['eval'](LUA_CANCEL_RESERVATION,0x3,_0x5d4e79['rsvKey'],_0x5d4e79[_0x4a0150(0x10c)],_0x22d989,_0x48528d,String(_0x292cea));if(!_0x37cc0b||_0x1a1f66['laqqa'](_0x37cc0b[0x0],0x1))throw new IdGeneratorError(_0x1a1f66[_0x4a0150(0x15a)],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x48528d,{'token':_0x48528d});const _0x2b2216=_0x1a1f66[_0x4a0150(0x177)](parseInt,_0x37cc0b[0x1],0xa),_0x4159fa=_0x37cc0b[0x2],_0x472ccd=_0x37cc0b[0x3],_0x5c94bc=new Date()['toISOString'](),_0x4f1e08={'cancelled':!![],'token':_0x48528d,'value':_0x4159fa,'counter':_0x2b2216,'resource':_0x5d4e79[_0x4a0150(0xde)],'formatKey':_0x472ccd,'releasedToReuse':!![],'cancelledAt':_0x5c94bc};return await this['_storeIdemCache'](_0x1c272d,_0x4f1e08),this[_0x4a0150(0x117)](_0x5d4e79[_0x4a0150(0xde)],_0x472ccd,{'lastCancelledCounter':_0x2b2216,'lastCancelledAt':_0x5c94bc},_0x292cea),logger['info']({'event':_0x4a0150(0xcd),'resource':_0x5d4e79[_0x4a0150(0xde)],'formatKey':_0x472ccd,'counter':_0x2b2216,'token':_0x48528d},'ID\x20Generator\x20reservation\x20cancelled:\x20'+_0x4159fa+_0x4a0150(0xb1)+_0x48528d+')'),_0x4f1e08;}async['extendReservation'](_0x268c85){const _0x439863=a0_0x26f5ee,_0x10cfa1={'lWclK':'IDGEN_DISABLED','yCwcu':_0x439863(0x13b),'pvXjz':_0x439863(0x118),'lFYfW':function(_0x469663,_0x299738){return _0x469663*_0x299738;},'uDWsc':function(_0x267293,_0x27bf8f){return _0x267293(_0x27bf8f);},'EfuaI':'text'};if(!this['enabled'])throw new IdGeneratorError(_0x10cfa1[_0x439863(0x11d)],_0x10cfa1[_0x439863(0x175)]);const _0x5a4444=this['_validateReservationToken'](_0x268c85&&_0x268c85['token']),_0x133815=this[_0x439863(0x106)](_0x268c85&&_0x268c85['ttl']),_0x308ddf=this['_validateIdempotencyKey'](_0x268c85&&_0x268c85[_0x439863(0xaf)]);let _0x173e3d=null;if(_0x308ddf){_0x173e3d=idempotencyManager[_0x439863(0xab)](_0x10cfa1[_0x439863(0x7a)],'reserve_extend',_0x5a4444+':'+_0x308ddf);const _0x271e6e=await this[_0x439863(0x98)](_0x173e3d);if(_0x271e6e)return _0x271e6e;}const _0x9da52e=await this['_getReservationContext'](_0x5a4444),_0x28a791=Date['now'](),_0x5d975e=_0x28a791+_0x133815*0x3e8,_0xa1c20b=_0x10cfa1['lFYfW'](_0x133815,0x3e8),_0x4a709a=new Date(_0x5d975e)[_0x439863(0x182)](),_0x56dd13=redisClient[_0x439863(0x158)](),_0x2fba00=await _0x56dd13['eval'](LUA_EXTEND_RESERVATION,0x2,_0x9da52e['rsvKey'],_0x9da52e[_0x439863(0x10c)],_0x5a4444,String(_0xa1c20b),_0x10cfa1['uDWsc'](String,_0x5d975e),_0x4a709a);if(!_0x2fba00||_0x2fba00[0x0]!==0x1)throw new IdGeneratorError(_0x439863(0xea),_0x439863(0x154)+_0x5a4444,{'token':_0x5a4444});const _0x12ca06=_0x2fba00[0x1],_0x2bb4a1=parseInt(_0x2fba00[0x2],0xa),_0x40488c=_0x2fba00[0x3],_0x4e58f4=_0x2fba00[0x4],_0x772fa0=new Date(_0x28a791)['toISOString'](),_0x10dae6={'extended':!![],'token':_0x5a4444,'previousExpiresAt':_0x12ca06,'expiresAt':_0x4a709a,'ttlMs':_0xa1c20b,'resource':_0x9da52e[_0x439863(0xde)],'formatKey':_0x4e58f4,'counter':_0x2bb4a1,'value':_0x40488c,'extendedAt':_0x772fa0};await this['_storeIdemCache'](_0x173e3d,_0x10dae6);const _0x13d265=_0x4e58f4['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x4dffb4=_0x13d265?_0x13d265[0x1]:_0x10cfa1[_0x439863(0xe0)],_0x28b207=this[_0x439863(0x17e)](_0x4dffb4);return this['_updateMeta'](_0x9da52e['resource'],_0x4e58f4,{'lastExtendedCounter':_0x2bb4a1,'lastExtendedAt':_0x772fa0},_0x28b207),logger[_0x439863(0xe8)]({'event':'idgen_reservation_extended','resource':_0x9da52e[_0x439863(0xde)],'formatKey':_0x4e58f4,'counter':_0x2bb4a1,'token':_0x5a4444,'ttl':_0x133815},'ID\x20Generator\x20reservation\x20extended:\x20'+_0x40488c+'\x20(token='+_0x5a4444+_0x439863(0xdb)+_0x133815+'s)'),_0x10dae6;}async[a0_0x26f5ee(0x109)](_0x451aa3){const _0x13b5e0=a0_0x26f5ee,_0x25dbc7={'aktjf':'IDGEN_DISABLED','xKlle':'ID\x20Generator\x20is\x20disabled','LvFrg':'IDGEN_RESERVATION_NOT_FOUND','Pcurq':function(_0x12e498,_0x1d0f29,_0x304a93){return _0x12e498(_0x1d0f29,_0x304a93);},'LUyuG':function(_0x197813,_0x158fb1){return _0x197813===_0x158fb1;},'rEeRk':function(_0x29386d,_0x2db0df){return _0x29386d>=_0x2db0df;}};if(!this['enabled'])throw new IdGeneratorError(_0x25dbc7[_0x13b5e0(0xce)],_0x25dbc7['xKlle']);const _0x598739=this['_validateReservationToken'](_0x451aa3&&_0x451aa3[_0x13b5e0(0x10f)]),_0x3addc8=this['_buildReservationKey'](_0x598739),_0x24e0aa=redisClient[_0x13b5e0(0x158)](),_0x5757ae=_0x24e0aa['pipeline']();_0x5757ae['hgetall'](_0x3addc8),_0x5757ae['pttl'](_0x3addc8);const _0x28b6a5=await _0x5757ae['exec'](),_0x5ba367=_0x28b6a5&&_0x28b6a5[0x0]&&_0x28b6a5[0x0][0x1],_0x43e94b=_0x28b6a5&&_0x28b6a5[0x1]&&_0x28b6a5[0x1][0x1];if(!_0x5ba367||Object['keys'](_0x5ba367)[_0x13b5e0(0xe2)]===0x0)throw new IdGeneratorError(_0x25dbc7[_0x13b5e0(0x104)],_0x13b5e0(0x154)+_0x598739,{'token':_0x598739});return{'token':_0x598739,'resource':_0x5ba367[_0x13b5e0(0xde)]||null,'formatKey':_0x5ba367[_0x13b5e0(0x169)]||null,'format':_0x5ba367['format']||null,'prefix':_0x5ba367[_0x13b5e0(0x89)]||'','separator':_0x5ba367['separator']||'','numDigits':_0x5ba367[_0x13b5e0(0x119)]?parseInt(_0x5ba367[_0x13b5e0(0x119)],0xa):null,'datePrefix':_0x5ba367['datePrefix']||'','counter':_0x5ba367['counter']?_0x25dbc7['Pcurq'](parseInt,_0x5ba367[_0x13b5e0(0x161)],0xa):null,'value':_0x5ba367[_0x13b5e0(0x107)]||null,'isReused':_0x25dbc7['LUyuG'](_0x5ba367['isReused'],'1')||_0x5ba367['isReused']===0x1,'createdAt':_0x5ba367['createdAt']||null,'expiresAt':_0x5ba367['expiresAt']||null,'ttlRemainingMs':_0x25dbc7[_0x13b5e0(0x13e)](typeof _0x43e94b,'number')&&_0x25dbc7['rEeRk'](_0x43e94b,0x0)?_0x43e94b:null};}async['_getReservationContext'](_0x3d9866){const _0x2e4ed1=a0_0x26f5ee,_0x3a35b6={'keXMk':_0x2e4ed1(0xde),'RPJSU':'formatKey','HYKXU':function(_0x39eaf8,_0x3c08f2){return _0x39eaf8||_0x3c08f2;}},_0x4e924a=this['_buildReservationKey'](_0x3d9866),_0x55c61a=redisClient['getClient'](),_0x3c6034=await _0x55c61a['hmget'](_0x4e924a,_0x3a35b6['keXMk'],_0x3a35b6[_0x2e4ed1(0xf4)]),_0x55b444=_0x3c6034&&_0x3c6034[0x0],_0x290e01=_0x3c6034&&_0x3c6034[0x1];if(_0x3a35b6[_0x2e4ed1(0x125)](!_0x55b444,!_0x290e01))throw new IdGeneratorError(_0x2e4ed1(0xea),_0x2e4ed1(0x154)+_0x3d9866,{'token':_0x3d9866});return{'resource':_0x55b444,'formatKey':_0x290e01,'rsvKey':_0x4e924a,'rsvIdxKey':this[_0x2e4ed1(0x148)](_0x55b444,_0x290e01)};}async['random'](_0x49ea02){const _0x22af09=a0_0x26f5ee,_0x4c6001={'yMIch':_0x22af09(0x13b),'xdacr':function(_0x5e5fa2,_0x21f9fe){return _0x5e5fa2===_0x21f9fe;},'ERMVn':_0x22af09(0xfc),'NEBEB':_0x22af09(0x186),'WTWhb':'idgen_random_generated'};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x4c6001[_0x22af09(0x73)]);this[_0x22af09(0x160)](_0x49ea02['resource']),this[_0x22af09(0xbb)](_0x49ea02[_0x22af09(0x72)]);const _0x11302b=this['_validateTTL'](_0x49ea02[_0x22af09(0x13a)]),_0x5b23c7=this[_0x22af09(0x170)](_0x49ea02['maxRetry']),_0xe16f55=this['_validateIdempotencyKey'](_0x49ea02['idempotencyKey']),_0x4b283d=_0x4c6001[_0x22af09(0x13f)](_0x49ea02['ensureUnique'],!![]),{resource:_0x110487,pattern:_0x53b0a2}=_0x49ea02;let _0x4efcea=null;if(_0xe16f55){_0x4efcea=this[_0x22af09(0x17d)](_0x4c6001[_0x22af09(0x185)],_0x110487,null,_0xe16f55);const _0x553471=await this[_0x22af09(0x98)](_0x4efcea);if(_0x553471)return _0x553471;}const _0x557d89=redisClient['getClient']();let _0x73beab=null,_0xc7fce3=0x0;if(!_0x4b283d)_0x73beab=this['_generateFromPattern'](_0x53b0a2),_0xc7fce3=0x1;else{for(let _0x38bea3=0x0;_0x38bea3<_0x5b23c7;_0x38bea3++){_0xc7fce3++;const _0x57a986=this[_0x22af09(0xbe)](_0x53b0a2);if(_0x11302b){const _0x385973=this[_0x22af09(0x168)](_0x110487,_0x57a986),_0x669925=await _0x557d89['set'](_0x385973,'1','EX',_0x11302b,'NX');if(_0x669925==='OK'){_0x73beab=_0x57a986;break;}}else{const _0x12cb4e=this['_buildIssuedKey'](_0x110487),_0x929d2f=await _0x557d89[_0x22af09(0xa2)](_0x12cb4e,_0x57a986);if(_0x929d2f===0x1){_0x73beab=_0x57a986;break;}}}if(_0x73beab===null)throw new IdGeneratorError(_0x22af09(0xdf),'Could\x20not\x20generate\x20unique\x20value\x20after\x20'+_0x5b23c7+'\x20attempts.\x20Increase\x20pattern\x20length\x20or\x20maxRetry.',{'resource':_0x110487,'pattern':_0x53b0a2,'maxRetry':_0x5b23c7});}const _0x53acd6={'value':_0x73beab,'resource':_0x110487,'pattern':_0x53b0a2,'attemptCount':_0xc7fce3,'generatedAt':new Date()['toISOString']()};_0x11302b&&_0x4b283d&&(_0x53acd6[_0x22af09(0xa1)]=new Date(Date['now']()+_0x11302b*0x3e8)[_0x22af09(0x182)]());const _0x7d0dc7=await this['_storeIdemCacheNX'](_0x4efcea,_0x53acd6);if(!_0x7d0dc7[_0x22af09(0x126)])return _0x4b283d&&await this['_undoRandomReservation'](_0x110487,_0x73beab,_0x11302b),logger[_0x22af09(0xe8)]({'event':_0x4c6001['NEBEB'],'resource':_0x110487,'pattern':_0x53b0a2,'value':_0x73beab},'ID\x20Generator\x20random\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x7d0dc7['winnerResult'];return logger[_0x22af09(0xe8)]({'event':_0x4c6001['WTWhb'],'resource':_0x110487,'pattern':_0x53b0a2,'attemptCount':_0xc7fce3,'ensureUnique':_0x4b283d,'ttl':_0x11302b||0x0},'ID\x20Generator\x20random:\x20'+_0x73beab),_0x53acd6;}async[a0_0x26f5ee(0x114)](_0x3242cf){const _0x4a8757=a0_0x26f5ee,_0x487171={'wGaLy':function(_0x17af86,_0x211896){return _0x17af86==_0x211896;},'sVUGR':_0x4a8757(0x76),'MFEoQ':function(_0x17b0b1,_0x3d6fed){return _0x17b0b1===_0x3d6fed;}},_0x2e1678=_0x487171['wGaLy'](_0x3242cf['digits'],null)?this[_0x4a8757(0x10a)]:_0x3242cf['digits'];if(!Number[_0x4a8757(0x17f)](_0x2e1678)||_0x2e1678<MIN_PIN_DIGITS||_0x2e1678>MAX_PIN_DIGITS)throw new IdGeneratorError(_0x487171[_0x4a8757(0x188)],_0x4a8757(0x181)+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+'\x20(got:\x20'+_0x2e1678+')');const _0x32d6ca='9'['repeat'](_0x2e1678);return this['random']({'resource':_0x3242cf[_0x4a8757(0xde)],'pattern':_0x32d6ca,'ensureUnique':_0x487171[_0x4a8757(0x139)](_0x3242cf[_0x4a8757(0xa5)],!![]),'ttl':_0x3242cf[_0x4a8757(0x13a)],'maxRetry':_0x3242cf[_0x4a8757(0x132)],'idempotencyKey':_0x3242cf[_0x4a8757(0xaf)]});}async['serial'](_0x6dc1df){const _0x332ab3=a0_0x26f5ee,_0xcef8d4={'CKXti':function(_0x3120f0,_0x1422ae){return _0x3120f0!==_0x1422ae;}},_0x55d618=_0x6dc1df[_0x332ab3(0x72)]||this[_0x332ab3(0x10d)];return this[_0x332ab3(0xfc)]({'resource':_0x6dc1df['resource'],'pattern':_0x55d618,'ensureUnique':_0xcef8d4[_0x332ab3(0x8f)](_0x6dc1df[_0x332ab3(0xa5)],![]),'ttl':_0x6dc1df[_0x332ab3(0x13a)],'maxRetry':_0x6dc1df['maxRetry'],'idempotencyKey':_0x6dc1df['idempotencyKey']});}async['code'](_0x5e2cee){const _0x2714d1=a0_0x26f5ee,_0x1a352c={'AngVO':function(_0x2eaa20,_0x22134e){return _0x2eaa20!==_0x22134e;}},_0x2a42fa=_0x5e2cee['pattern']||this[_0x2714d1(0x12a)];return this[_0x2714d1(0xfc)]({'resource':_0x5e2cee['resource'],'pattern':_0x2a42fa,'ensureUnique':_0x1a352c['AngVO'](_0x5e2cee['ensureUnique'],![]),'ttl':_0x5e2cee['ttl'],'maxRetry':_0x5e2cee['maxRetry'],'idempotencyKey':_0x5e2cee[_0x2714d1(0xaf)]});}async[a0_0x26f5ee(0xd0)](_0x195675){const _0x3e4631=a0_0x26f5ee,_0x1f9e8d={'DtgDR':'IDGEN_DISABLED','OcERm':function(_0x3e51e6,_0x8bd2cd){return _0x3e51e6!==_0x8bd2cd;},'oFxCm':function(_0x842f52,_0x4e0089){return _0x842f52===_0x4e0089;},'KWRWh':_0x3e4631(0x12f),'gFEgb':function(_0x2559f1,_0x4ecf6b){return _0x2559f1+_0x4ecf6b;},'nCtPb':_0x3e4631(0x134)};if(!this['enabled'])throw new IdGeneratorError(_0x1f9e8d[_0x3e4631(0x18c)],_0x3e4631(0x13b));this['_validateResource'](_0x195675['resource']);if(_0x1f9e8d[_0x3e4631(0x7e)](typeof _0x195675[_0x3e4631(0x107)],'string')||_0x1f9e8d[_0x3e4631(0x115)](_0x195675[_0x3e4631(0x107)]['length'],0x0))throw new IdGeneratorError(_0x1f9e8d['KWRWh'],'value\x20is\x20required');const {resource:_0x33fc35,value:_0x200108}=_0x195675,_0x4e14b4=redisClient['getClient'](),_0x98f2f2=this[_0x3e4631(0x168)](_0x33fc35,_0x200108),_0x44fa9a=this[_0x3e4631(0x15f)](_0x33fc35),[_0x1b1a8b,_0x4cf044]=await Promise[_0x3e4631(0xed)]([_0x4e14b4['del'](_0x98f2f2),_0x4e14b4['srem'](_0x44fa9a,_0x200108)]),_0x485d32=_0x1f9e8d['gFEgb'](_0x1b1a8b,_0x4cf044)>0x0;return logger[_0x3e4631(0xe8)]({'event':_0x1f9e8d['nCtPb'],'resource':_0x33fc35,'value':_0x200108,'consumed':_0x485d32},'ID\x20Generator\x20consumed:\x20'+_0x200108),{'consumed':_0x485d32,'resource':_0x33fc35,'value':_0x200108,'consumedAt':new Date()[_0x3e4631(0x182)]()};}async['peek'](_0x1a0599){const _0x3897db=a0_0x26f5ee,_0x31a233={'eWAnw':'IDGEN_DISABLED','MWKCO':'text','HDidi':'IDGEN_INVALID_FORMAT','AmRoz':function(_0x151db3,_0x286f5e){return _0x151db3===_0x286f5e;}};if(!this[_0x3897db(0x147)])throw new IdGeneratorError(_0x31a233['eWAnw'],_0x3897db(0x13b));this[_0x3897db(0x160)](_0x1a0599['resource']);const _0xef77ee=_0x1a0599[_0x3897db(0x14c)]||_0x3897db(0x142),_0x354d34=redisClient[_0x3897db(0x158)]();if(_0xef77ee==='number'){const _0x3c6488=(_0x1a0599['format']||_0x31a233['MWKCO'])['toLowerCase']();if(!ALLOWED_FORMATS[_0x3897db(0x9d)](_0x3c6488))throw new IdGeneratorError(_0x31a233['HDidi'],_0x3897db(0xcf)+_0x1a0599[_0x3897db(0xc6)]);const {formatKey:_0x12b100}=this[_0x3897db(0xee)](_0x3c6488,_0x1a0599[_0x3897db(0x89)]||''),_0x2e2e35=this[_0x3897db(0xf1)](_0x1a0599[_0x3897db(0xde)],_0x12b100),_0x32b7dd=this['_buildReuseKey'](_0x1a0599[_0x3897db(0xde)],_0x12b100),[_0x3a2654,_0x4261a7]=await Promise['all']([_0x354d34['get'](_0x2e2e35),_0x354d34['zcard'](_0x32b7dd)]);return{'resource':_0x1a0599['resource'],'mode':_0x3897db(0x142),'formatKey':_0x12b100,'currentCounter':parseInt(_0x3a2654,0xa)||0x0,'reusePoolSize':_0x4261a7||0x0};}if(_0x31a233[_0x3897db(0x180)](_0xef77ee,_0x3897db(0xfc))){const _0x232cc8=this['_buildIssuedKey'](_0x1a0599['resource']),_0x1ddc94=await _0x354d34[_0x3897db(0x15b)](_0x232cc8);return{'resource':_0x1a0599['resource'],'mode':'random','issuedCount':_0x1ddc94||0x0};}throw new IdGeneratorError(_0x3897db(0x136),'Unknown\x20mode:\x20'+_0xef77ee);}async[a0_0x26f5ee(0xf9)](_0x35f197){const _0x149cc6=a0_0x26f5ee,_0x606d91=await this['peek'](_0x35f197);if(_0x606d91['mode']===_0x149cc6(0x142)){const _0x5df994=redisClient[_0x149cc6(0x158)](),_0x2dba06=this[_0x149cc6(0xc0)](_0x35f197[_0x149cc6(0xde)],_0x606d91['formatKey']),_0x453a73=this[_0x149cc6(0x129)](_0x35f197[_0x149cc6(0xde)],_0x606d91[_0x149cc6(0x169)]),[_0x272179,_0x4f9a14]=await Promise['all']([_0x5df994[_0x149cc6(0xa7)](_0x2dba06),_0x5df994['zrange'](_0x453a73,0x0,-0x1)]);return{..._0x606d91,'reusePoolValues':_0x4f9a14['map'](_0x31c272=>parseInt(_0x31c272,0xa)),'meta':_0x272179&&Object['keys'](_0x272179)[_0x149cc6(0xe2)]>0x0?_0x272179:null};}return _0x606d91;}async['reset'](_0x454ea3){const _0x376acd=a0_0x26f5ee,_0x132960={'Arlik':'IDGEN_DISABLED','HOjUz':_0x376acd(0x13b),'czkNq':'number','sHxyc':function(_0x26fb90,_0x87590a){return _0x26fb90===_0x87590a;},'RRtXg':_0x376acd(0x9c),'levsN':function(_0x114b21,_0x128a26){return _0x114b21===_0x128a26;},'KdbCF':_0x376acd(0xfc)};if(!this[_0x376acd(0x147)])throw new IdGeneratorError(_0x132960['Arlik'],_0x132960[_0x376acd(0x82)]);if(!this[_0x376acd(0x102)])throw new IdGeneratorError(_0x376acd(0xc8),'Reset\x20operation\x20not\x20allowed\x20(set\x20IDGEN_ALLOW_RESET=true\x20to\x20enable)');this[_0x376acd(0x160)](_0x454ea3['resource']);const _0x276482=_0x454ea3[_0x376acd(0x14c)]||_0x132960[_0x376acd(0xbf)],_0x10e995=redisClient[_0x376acd(0x158)]();if(_0x132960[_0x376acd(0x143)](_0x276482,'number')){const _0x42f7f6=(_0x454ea3[_0x376acd(0xc6)]||_0x376acd(0x12e))['toLowerCase']();if(!ALLOWED_FORMATS[_0x376acd(0x9d)](_0x42f7f6))throw new IdGeneratorError(_0x132960[_0x376acd(0x90)],_0x376acd(0xcf)+_0x454ea3[_0x376acd(0xc6)]);const {formatKey:_0x82784b}=this['_buildFormatKey'](_0x42f7f6,_0x454ea3[_0x376acd(0x89)]||''),_0x370647=this[_0x376acd(0xf1)](_0x454ea3['resource'],_0x82784b),_0x2633a9=this[_0x376acd(0x129)](_0x454ea3[_0x376acd(0xde)],_0x82784b),_0x82ef7d=this['_buildMetaKey'](_0x454ea3[_0x376acd(0xde)],_0x82784b);return await _0x10e995[_0x376acd(0xb3)](_0x370647,_0x2633a9,_0x82ef7d),logger[_0x376acd(0xcb)]({'event':'idgen_reset','resource':_0x454ea3['resource'],'mode':_0x132960['czkNq'],'formatKey':_0x82784b},_0x376acd(0xfe)+_0x454ea3[_0x376acd(0xde)]+':'+_0x82784b),{'reset':!![],'resource':_0x454ea3['resource'],'mode':_0x132960[_0x376acd(0xbf)],'formatKey':_0x82784b,'deletedKeys':[_0x376acd(0x101),'reuse',_0x376acd(0xff)]};}if(_0x132960['levsN'](_0x276482,_0x132960[_0x376acd(0xf6)])){const _0x3967bc=this['_buildIssuedKey'](_0x454ea3['resource']);return await _0x10e995['del'](_0x3967bc),logger['warn']({'event':'idgen_reset','resource':_0x454ea3['resource'],'mode':'random'},'ID\x20Generator\x20reset:\x20random:'+_0x454ea3[_0x376acd(0xde)]),{'reset':!![],'resource':_0x454ea3[_0x376acd(0xde)],'mode':_0x132960['KdbCF'],'deletedKeys':['issued']};}throw new IdGeneratorError('IDGEN_INVALID_MODE','Unknown\x20mode:\x20'+_0x276482);}}const instance=new IdGenerator();instance['IdGeneratorError']=IdGeneratorError,module['exports']=instance,module[a0_0x26f5ee(0xad)]['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_0x494a(){const _0x1de1ec=['Dw5RBM93BG','zgvIDwC','z2v0q2XPzw50','mtiXmta2n2fXyMvHDG','zw52','y3j5ChrV','AwrLBxbVDgvUy3LFy29UzMLNx2LUAxq','mta3nZy4m2P3swjoEG','CMv0CMLLDMu','x2vUywjSzwq','DhrS','AwrLBxbVDgvUy3LFC3rVCMvFzxjYB3i','nZi3mZy4wfzOENvt','BwvZC2fNzq','zw5HyMXLza','CMy6AwrLBtO','twPtDee','x3r0Ba','z2ztDuG','x2LUAxrdB25MAwC','ntq2ndC0Bvj2wvjK','lcbuveW6ia','mZa3mte3ofHyC2zqva','lI9YzwrPCY1JBgLLBNq','x2vUC3vYzuLUAxrPywXPEMvK','ndv2ywTYvgm','mLbVsNfWCq','swrLBxbVDgvUy3KGy29UzMLNDxjHDgLVBIbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','lI9SB2DNzxi','AxnfBMfIBgvK','zgvMyxvSDa','zxHWB3j0CW','zxjYB3i','mZmYnJHlqMTQBMm','ndLky2nSu1i','CgfYC2u','x2LUAxrPywXPEMvK','AwrLBxbVDgvUy3LFBwLZCW','zMLSDgvY','CMfUzg9Tvvvjra','swrLBxbVDgvUy3KGy2fJAguGtuLtuW','AwrLBxbVDgvUy3LFCMv0CMLLDMvFzxjYB3i','odq0mtu0mgnlsgTqzG','Aw5MBW','swrLBxbVDgvUy3KGy2fJAguGseLu','swrLBxbVDgvUy3KGCMvZCg9UC2uGC3rVCMvK','nte1t3zcwhrk'];a0_0x494a=function(){return _0x1de1ec;};return a0_0x494a();}const a0_0x2311b9=a0_0x5e8f;(function(_0xbb3cc2,_0x3e7b42){const _0x4f6727=a0_0x5e8f,_0x54fd5f=_0xbb3cc2();while(!![]){try{const _0xa578a8=parseInt(_0x4f6727(0x1d8))/0x1*(-parseInt(_0x4f6727(0x1eb))/0x2)+-parseInt(_0x4f6727(0x1e7))/0x3+-parseInt(_0x4f6727(0x1f2))/0x4*(-parseInt(_0x4f6727(0x1ff))/0x5)+-parseInt(_0x4f6727(0x1e5))/0x6*(-parseInt(_0x4f6727(0x1f3))/0x7)+parseInt(_0x4f6727(0x1dd))/0x8*(parseInt(_0x4f6727(0x1ea))/0x9)+parseInt(_0x4f6727(0x1fb))/0xa+-parseInt(_0x4f6727(0x1d4))/0xb;if(_0xa578a8===_0x3e7b42)break;else _0x54fd5f['push'](_0x54fd5f['shift']());}catch(_0x4aeeb9){_0x54fd5f['push'](_0x54fd5f['shift']());}}}(a0_0x494a,0x8df51));function a0_0x5e8f(_0x14ec9b,_0xc181ec){_0x14ec9b=_0x14ec9b-0x1d1;const _0x494a57=a0_0x494a();let _0x5e8f20=_0x494a57[_0x14ec9b];if(a0_0x5e8f['rTrmCg']===undefined){var _0x4ccc9c=function(_0x5163bf){const _0x564bc0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x458413='',_0x1a24a1='';for(let _0x352a52=0x0,_0x272921,_0xa9036d,_0x588e9b=0x0;_0xa9036d=_0x5163bf['charAt'](_0x588e9b++);~_0xa9036d&&(_0x272921=_0x352a52%0x4?_0x272921*0x40+_0xa9036d:_0xa9036d,_0x352a52++%0x4)?_0x458413+=String['fromCharCode'](0xff&_0x272921>>(-0x2*_0x352a52&0x6)):0x0){_0xa9036d=_0x564bc0['indexOf'](_0xa9036d);}for(let _0x4bc76b=0x0,_0x1f6049=_0x458413['length'];_0x4bc76b<_0x1f6049;_0x4bc76b++){_0x1a24a1+='%'+('00'+_0x458413['charCodeAt'](_0x4bc76b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1a24a1);};a0_0x5e8f['HLgXPz']=_0x4ccc9c,a0_0x5e8f['ZheJKC']={},a0_0x5e8f['rTrmCg']=!![];}const _0x3ecbf0=_0x494a57[0x0],_0x3f0c20=_0x14ec9b+_0x3ecbf0,_0x301205=a0_0x5e8f['ZheJKC'][_0x3f0c20];return!_0x301205?(_0x5e8f20=a0_0x5e8f['HLgXPz'](_0x5e8f20),a0_0x5e8f['ZheJKC'][_0x3f0c20]=_0x5e8f20):_0x5e8f20=_0x301205,_0x5e8f20;}const redisClient=require(a0_0x2311b9(0x1e8)),{logger}=require(a0_0x2311b9(0x1ed)),crypto=require(a0_0x2311b9(0x1d6));class IdempotencyManager{constructor(){this['_enabled']=null,this['_ttl']=null,this['_initialized']=![];}['_initConfig'](){const _0x2aebd8=a0_0x2311b9;this[_0x2aebd8(0x1da)]=process['env']['IDEMPOTENCY_ENABLED']==='true',this['_ttl']=parseInt(process[_0x2aebd8(0x1d5)]['IDEMPOTENCY_TTL'],0xa)||0x12c,this[_0x2aebd8(0x1f5)]=!![],logger[_0x2aebd8(0x1fc)]({'event':_0x2aebd8(0x1d7),'enabled':this[_0x2aebd8(0x1da)],'ttl':this['_ttl']},_0x2aebd8(0x1ec)+this[_0x2aebd8(0x1da)]+_0x2aebd8(0x1e6)+this[_0x2aebd8(0x1e2)]+'s');}[a0_0x2311b9(0x1e9)](){const _0x1a0831=a0_0x2311b9;!this['_initialized']&&this[_0x1a0831(0x1e4)]();}get[a0_0x2311b9(0x1df)](){const _0x2f3e12=a0_0x2311b9;return this[_0x2f3e12(0x1e9)](),this[_0x2f3e12(0x1da)];}get['ttl'](){const _0x17d3e5=a0_0x2311b9;return this[_0x17d3e5(0x1e9)](),this[_0x17d3e5(0x1e2)];}[a0_0x2311b9(0x1ee)](){const _0x2f0af6=a0_0x2311b9;return this[_0x2f0af6(0x1df)];}['buildKey'](_0x3bb09f,_0x7d4649){const _0x535065=a0_0x2311b9,_0x34316c={'DDIGJ':_0x535065(0x1ef),'buVBW':_0x535065(0x1d1)},_0x42c8b1=_0x7d4649['path']['split']('/')[_0x535065(0x1f7)](Boolean),_0x393cb2=_0x42c8b1[0x0]||_0x34316c['DDIGJ'],_0x3347b5=_0x42c8b1[0x1]||_0x535065(0x1d1),_0x5044fa=_0x42c8b1[0x2]||_0x34316c['buVBW'];return _0x535065(0x1e0)+_0x393cb2+':'+_0x3347b5+':'+_0x5044fa+':'+_0x3bb09f;}async['store'](_0x41f4ca,_0x5a4b4c){const _0x1e0974=a0_0x2311b9,_0x1b6975={'MjStA':_0x1e0974(0x1fe)};if(!this['enabled'])return![];try{const _0xf67bcf=redisClient[_0x1e0974(0x1d3)]();return await _0xf67bcf['setex'](_0x41f4ca,this[_0x1e0974(0x1db)],JSON['stringify'](_0x5a4b4c)),logger[_0x1e0974(0x1d2)]({'event':'idempotency_store','key':_0x41f4ca,'ttl':this['ttl'],'statusCode':_0x5a4b4c['statusCode']},_0x1b6975[_0x1e0974(0x1e1)]),!![];}catch(_0xc044b4){return logger['error']({'event':_0x1e0974(0x1dc),'key':_0x41f4ca,'error':_0xc044b4['message']},'Idempotency\x20store\x20error:\x20'+_0xc044b4['message']),![];}}async[a0_0x2311b9(0x1d9)](_0x135b40){const _0x1bc743=a0_0x2311b9,_0x4e0d2d={'gfSuH':_0x1bc743(0x1f9),'czQPA':_0x1bc743(0x1fa)};if(!this['enabled'])return null;try{const _0x462542=redisClient['getClient'](),_0x1a2180=await _0x462542['get'](_0x135b40);if(_0x1a2180)return logger[_0x1bc743(0x1fc)]({'event':'idempotency_hit','key':_0x135b40},_0x1bc743(0x1fd)),JSON[_0x1bc743(0x1f4)](_0x1a2180);return logger['debug']({'event':_0x1bc743(0x1f6),'key':_0x135b40},_0x4e0d2d[_0x1bc743(0x1e3)]),null;}catch(_0x216956){return logger[_0x1bc743(0x1f1)]({'event':_0x4e0d2d['czQPA'],'key':_0x135b40,'error':_0x216956[_0x1bc743(0x1de)]},'Idempotency\x20retrieve\x20error:\x20'+_0x216956['message']),null;}}['generateKey'](_0x50f04a='req'){const _0xad1dc8=a0_0x2311b9;return _0x50f04a+'_'+crypto[_0xad1dc8(0x1f8)]();}['buildDeterministicKey'](_0x169122,_0x3abcce,_0x27f33f){return _0x169122+':'+_0x3abcce+':'+_0x27f33f;}}module[a0_0x2311b9(0x1f0)]=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
- function a0_0x11ca(){const _0x241426=['CMvWBgfJzq','DvPXEem','qLHds3C','mZzHr2vWrLm','DMfSAwrHDgvfBwfPBa','mtG2mJyWmgvfsxDoAq','CuzrtKK','sw52ywXPzcbWAg9UzsbMB3jTyxq','qMf0y2GGDMfSAwrHDgLVBIbJB21WBgv0zwq','BwfW','yMf0y2HwywXPzgf0zvjVD3m','DxjS','zM9YBwf0','BgvUz3rO','C2v0','mJmZota4nxHQsNjRBW','DMfSAwrHDgvgAwvSzezVCM1HDa','nJi2nZL3B1bLwgW','t09Qvvy','uMvXDwLYzwqGzMLLBgqGAxmGzw1WDhK','BNvTyMvY','Aw5MBW','DMfSAwrHDgvvCMW','ChvZAa','mtKZnJu5C1z1B3j1','nJq0nZy2meLSrwP1ua','yMf0y2HFDMfSAwrHDgLVBL9JB21WBgv0zq','DgvZDa','AgfZ','mJy5mZG4EMjvANni','zM9YrwfJAa','A2v5CW','mta0ndm0nfH3D2Ltta','mZbWC21wvLq','DMfSAwrHDgvoDw1Izxi','A0HRteS','mtbKD3bLs08','CgHVBMu','t0j5Cwe','DMfSAwrHDgvqAg9Uzq'];a0_0x11ca=function(){return _0x241426;};return a0_0x11ca();}const a0_0x2cf49a=a0_0x374b;function a0_0x374b(_0x209154,_0x32c3c4){_0x209154=_0x209154-0x138;const _0x11ca78=a0_0x11ca();let _0x374b89=_0x11ca78[_0x209154];if(a0_0x374b['QRagXw']===undefined){var _0x1ab00d=function(_0x5ad45f){const _0x5f04d5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x23403d='',_0x568d46='';for(let _0x3f8d2f=0x0,_0x2f33ac,_0x1e60d0,_0x5d0375=0x0;_0x1e60d0=_0x5ad45f['charAt'](_0x5d0375++);~_0x1e60d0&&(_0x2f33ac=_0x3f8d2f%0x4?_0x2f33ac*0x40+_0x1e60d0:_0x1e60d0,_0x3f8d2f++%0x4)?_0x23403d+=String['fromCharCode'](0xff&_0x2f33ac>>(-0x2*_0x3f8d2f&0x6)):0x0){_0x1e60d0=_0x5f04d5['indexOf'](_0x1e60d0);}for(let _0x18c849=0x0,_0x193dac=_0x23403d['length'];_0x18c849<_0x193dac;_0x18c849++){_0x568d46+='%'+('00'+_0x23403d['charCodeAt'](_0x18c849)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x568d46);};a0_0x374b['qjkfrE']=_0x1ab00d,a0_0x374b['oFxhmz']={},a0_0x374b['QRagXw']=!![];}const _0x44ebe6=_0x11ca78[0x0],_0x38dcd0=_0x209154+_0x44ebe6,_0x45e42e=a0_0x374b['oFxhmz'][_0x38dcd0];return!_0x45e42e?(_0x374b89=a0_0x374b['qjkfrE'](_0x374b89),a0_0x374b['oFxhmz'][_0x38dcd0]=_0x374b89):_0x374b89=_0x45e42e,_0x374b89;}(function(_0x4538bc,_0x19dcbd){const _0x33191d=a0_0x374b,_0x1f0541=_0x4538bc();while(!![]){try{const _0x5d259f=-parseInt(_0x33191d(0x154))/0x1+-parseInt(_0x33191d(0x13f))/0x2*(-parseInt(_0x33191d(0x15b))/0x3)+-parseInt(_0x33191d(0x148))/0x4+-parseInt(_0x33191d(0x13c))/0x5*(parseInt(_0x33191d(0x138))/0x6)+-parseInt(_0x33191d(0x152))/0x7+parseInt(_0x33191d(0x13b))/0x8*(parseInt(_0x33191d(0x146))/0x9)+parseInt(_0x33191d(0x15c))/0xa;if(_0x5d259f===_0x19dcbd)break;else _0x1f0541['push'](_0x1f0541['shift']());}catch(_0x5dfa0e){_0x1f0541['push'](_0x1f0541['shift']());}}}(a0_0x11ca,0x575c7));const {logger}=require('./logger');class ImportValidator{['validateRow'](_0x11b83b,_0x55d267=[],_0x526a8e={}){const _0xa10320=a0_0x374b,_0x5a17dc={'OOjUV':function(_0x48ac00,_0x52dfe3){return _0x48ac00===_0x52dfe3;},'hQusZ':function(_0x1f2320,_0x1c2ada){return _0x1f2320===_0x1c2ada;},'kHkLK':function(_0x5ee609,_0x16280c){return _0x5ee609===_0x16280c;}},_0x3cc78a=[];return _0x55d267[_0xa10320(0x139)](_0x232884=>{const _0x21226f=_0xa10320,_0x1a8dd7=_0x11b83b[_0x232884];(_0x5a17dc[_0x21226f(0x155)](_0x1a8dd7,null)||_0x1a8dd7===undefined||_0x5a17dc['hQusZ'](_0x1a8dd7,''))&&_0x3cc78a['push']({'field':_0x232884,'type':'required','message':_0x21226f(0x156)});}),Object[_0xa10320(0x13a)](_0x526a8e)[_0xa10320(0x139)](_0x363b81=>{const _0x3f26c9=_0xa10320,_0x3afb8c=_0x11b83b[_0x363b81],_0x41fcf1=_0x526a8e[_0x363b81];if(_0x3afb8c===null||_0x5a17dc[_0x3f26c9(0x13e)](_0x3afb8c,undefined)||_0x3afb8c==='')return;const _0x5c1d0e=this[_0x3f26c9(0x153)](_0x363b81,_0x3afb8c,_0x41fcf1);_0x5c1d0e&&_0x3cc78a[_0x3f26c9(0x15a)](_0x5c1d0e);}),_0x3cc78a;}[a0_0x2cf49a(0x153)](_0x255728,_0x52eff9,_0x4c5536){const _0xe0b79b=a0_0x2cf49a,_0x4df326={'ODgAV':'email','xTPWm':_0xe0b79b(0x140),'BXCKw':_0xe0b79b(0x14e)};switch(_0x4c5536){case _0x4df326['ODgAV']:return this[_0xe0b79b(0x147)](_0x255728,_0x52eff9);case _0x4df326['xTPWm']:return this['validatePhone'](_0x255728,_0x52eff9);case _0x4df326[_0xe0b79b(0x145)]:return this[_0xe0b79b(0x159)](_0x255728,_0x52eff9);case _0xe0b79b(0x157):return this[_0xe0b79b(0x13d)](_0x255728,_0x52eff9);default:return null;}}[a0_0x2cf49a(0x147)](_0x1ef514,_0x5eb20c){const _0x5c75a1=a0_0x2cf49a,_0x21f481={'zDWpC':function(_0x20c339,_0x987878){return _0x20c339(_0x987878);}},_0x46924c=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x46924c[_0x5c75a1(0x15e)](_0x21f481['zDWpC'](String,_0x5eb20c)))return{'field':_0x1ef514,'type':_0x5c75a1(0x14f),'message':'Invalid\x20email\x20format'};return null;}[a0_0x2cf49a(0x142)](_0x3d6f4a,_0x5b760f){const _0x310e9e=a0_0x2cf49a,_0x5b267d={'qFQNI':'format'},_0x395ef3=String(_0x5b760f)[_0x310e9e(0x143)](/\s+/g,''),_0x259e8f=/^[\d\+\-\(\)]+$/;if(!_0x259e8f[_0x310e9e(0x15e)](_0x395ef3)||_0x395ef3[_0x310e9e(0x150)]<0x8)return{'field':_0x3d6f4a,'type':_0x5b267d[_0x310e9e(0x149)],'message':_0x310e9e(0x14a)};return null;}['validateUrl'](_0x59ddf2,_0x44b7fe){const _0x3304df=a0_0x2cf49a,_0x286594={'OByqa':function(_0x3923e0,_0x360188){return _0x3923e0(_0x360188);},'uZqxC':'Invalid\x20URL\x20format'};try{return new URL(_0x286594[_0x3304df(0x141)](String,_0x44b7fe)),null;}catch(_0xe2b1b3){return{'field':_0x59ddf2,'type':'format','message':_0x286594[_0x3304df(0x144)]};}}[a0_0x2cf49a(0x13d)](_0x418fb2,_0x5712be){const _0x4eebf8=a0_0x2cf49a;if(isNaN(_0x5712be))return{'field':_0x418fb2,'type':_0x4eebf8(0x14f),'message':'Invalid\x20number\x20format'};return null;}['detectDuplicatesInFile'](_0x27d05e,_0x2b3e5b){const _0x5cc06a=a0_0x2cf49a,_0x11ebba=new Map(),_0x34e94e=[];return _0x27d05e[_0x5cc06a(0x139)]((_0x345133,_0x564a99)=>{const _0x3201a4=_0x5cc06a,_0x55deba=_0x2b3e5b[_0x3201a4(0x14c)](_0x515874=>_0x345133[_0x515874])['join']('|');_0x11ebba[_0x3201a4(0x15f)](_0x55deba)?_0x34e94e['push']({'rowIndex':_0x564a99,'duplicateOf':_0x11ebba['get'](_0x55deba),'key':_0x55deba}):_0x11ebba[_0x3201a4(0x151)](_0x55deba,_0x564a99);}),_0x34e94e;}[a0_0x2cf49a(0x14d)](_0x100539,_0x3a2ed4,_0x5c1afa){const _0x3a0a73=a0_0x2cf49a,_0x2e7589=[];return _0x100539['forEach']((_0x24418b,_0x564428)=>{const _0x3b8f64=this['validateRow'](_0x24418b,_0x3a2ed4,_0x5c1afa);_0x3b8f64['length']>0x0&&_0x2e7589['push']({'rowIndex':_0x564428,'rowData':_0x24418b,'errors':_0x3b8f64});}),logger[_0x3a0a73(0x158)]({'event':_0x3a0a73(0x15d),'totalRows':_0x100539['length'],'errorCount':_0x2e7589[_0x3a0a73(0x150)]},_0x3a0a73(0x14b)),_0x2e7589;}}module['exports']=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();