@restforgejs/platform 4.3.4 → 4.3.8

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 (178) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/generators/cli/payload/migrate.js +96 -0
  5. package/generators/lib/migrate/backend-payload-migrator.js +221 -0
  6. package/generators/lib/migrate/field-type-resolver.js +319 -0
  7. package/generators/lib/migrate/label-generator.js +38 -0
  8. package/generators/lib/migrate/migrate-runner.js +187 -0
  9. package/generators/lib/migrate/naming.js +43 -0
  10. package/generators/lib/migrate/sql-parser.js +124 -0
  11. package/generators/lib/payload/endpoint-schema-validator.js +181 -181
  12. package/generators/lib/payload/payload-runner.js +1313 -1218
  13. package/generators/lib/payload/schema-diff.js +460 -460
  14. package/generators/lib/templates/dashboard-catalog.js +1 -1
  15. package/generators/lib/templates/db-connection-env.js +1 -1
  16. package/generators/lib/templates/dbschema-catalog.js +1 -1
  17. package/generators/lib/templates/field-validation-catalog.js +1 -1
  18. package/generators/lib/templates/mysql-template.js +1 -1
  19. package/generators/lib/templates/oracle-template.js +1 -1
  20. package/generators/lib/templates/postgres-template.js +1 -1
  21. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  22. package/generators/lib/templates/sqlite-template.js +1 -1
  23. package/integrity-manifest.json +18 -18
  24. package/node_modules/readdir-glob/node_modules/brace-expansion/index.js +1 -1
  25. package/node_modules/readdir-glob/node_modules/brace-expansion/package.json +1 -1
  26. package/package.json +1 -1
  27. package/scripts/verify-integrity.js +1 -1
  28. package/server.js +1 -1
  29. package/src/components/handlers/adjust_handler.js +1 -1
  30. package/src/components/handlers/audit_handler.js +1 -1
  31. package/src/components/handlers/delete_handler.js +1 -1
  32. package/src/components/handlers/export_handler.js +1 -1
  33. package/src/components/handlers/import_handler.js +1 -1
  34. package/src/components/handlers/insert_handler.js +1 -1
  35. package/src/components/handlers/update_handler.js +1 -1
  36. package/src/components/handlers/upload_handler.js +1 -1
  37. package/src/components/handlers/workflow_handler.js +1 -1
  38. package/src/components/integrations/webhook.js +1 -1
  39. package/src/consumers/baseConsumer.js +1 -1
  40. package/src/consumers/declarativeMapper.js +1 -1
  41. package/src/consumers/handlers/apiHandler.js +1 -1
  42. package/src/consumers/handlers/consoleHandler.js +1 -1
  43. package/src/consumers/handlers/databaseHandler.js +1 -1
  44. package/src/consumers/handlers/index.js +1 -1
  45. package/src/consumers/handlers/kafkaHandler.js +1 -1
  46. package/src/consumers/index.js +1 -1
  47. package/src/consumers/messageTransformer.js +1 -1
  48. package/src/consumers/validator.js +1 -1
  49. package/src/core/db/dialect/base-dialect.js +1 -1
  50. package/src/core/db/dialect/index.js +1 -1
  51. package/src/core/db/dialect/mysql-dialect.js +1 -1
  52. package/src/core/db/dialect/oracle-dialect.js +1 -1
  53. package/src/core/db/dialect/postgres-dialect.js +1 -1
  54. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  55. package/src/core/db/flatten-helper.js +1 -1
  56. package/src/core/db/query-builder-error.js +1 -1
  57. package/src/core/db/query-builder.js +1 -1
  58. package/src/core/db/relation-helper.js +1 -1
  59. package/src/core/handlers/delete_handler.js +1 -1
  60. package/src/core/handlers/insert_handler.js +1 -1
  61. package/src/core/handlers/update_handler.js +1 -1
  62. package/src/core/models/base-model.js +1 -1
  63. package/src/core/utils/cache-manager.js +1 -1
  64. package/src/core/utils/component-engine.js +1 -1
  65. package/src/core/utils/context-builder.js +1 -1
  66. package/src/core/utils/datetime-formatter.js +1 -1
  67. package/src/core/utils/datetime-parser.js +1 -1
  68. package/src/core/utils/db.js +1 -1
  69. package/src/core/utils/logger.js +1 -1
  70. package/src/core/utils/payload-loader.js +1 -1
  71. package/src/core/utils/security-checks.js +1 -1
  72. package/src/middleware/body-options.js +1 -1
  73. package/src/middleware/cors.js +1 -1
  74. package/src/middleware/idempotency.js +1 -1
  75. package/src/middleware/rate-limiter.js +1 -1
  76. package/src/middleware/request-logger.js +1 -1
  77. package/src/middleware/security-headers.js +1 -1
  78. package/src/models/base-model-mysql.js +1 -1
  79. package/src/models/base-model-oracle.js +1 -1
  80. package/src/models/base-model-sqlite.js +1 -1
  81. package/src/models/base-model.js +1 -1
  82. package/src/pro/caching/redis-client.js +1 -1
  83. package/src/pro/caching/redis-helper.js +1 -1
  84. package/src/pro/consumers/baseConsumer.js +1 -1
  85. package/src/pro/consumers/declarativeMapper.js +1 -1
  86. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  87. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  88. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  89. package/src/pro/consumers/handlers/index.js +1 -1
  90. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  91. package/src/pro/consumers/index.js +1 -1
  92. package/src/pro/consumers/messageTransformer.js +1 -1
  93. package/src/pro/consumers/validator.js +1 -1
  94. package/src/pro/database/base-model-mysql.js +1 -1
  95. package/src/pro/database/base-model-oracle.js +1 -1
  96. package/src/pro/database/base-model-sqlite.js +1 -1
  97. package/src/pro/database/db-mysql.js +1 -1
  98. package/src/pro/database/db-oracle.js +1 -1
  99. package/src/pro/database/db-sqlite.js +1 -1
  100. package/src/pro/excel/excel-generator.js +1 -1
  101. package/src/pro/excel/excel-parser.js +1 -1
  102. package/src/pro/excel/export-service.js +1 -1
  103. package/src/pro/excel/export_handler.js +1 -1
  104. package/src/pro/excel/import-service.js +1 -1
  105. package/src/pro/excel/import-validator.js +1 -1
  106. package/src/pro/excel/import_handler.js +1 -1
  107. package/src/pro/excel/upsert-builder.js +1 -1
  108. package/src/pro/idgen/idgen-routes.js +1 -1
  109. package/src/pro/integrations/lookup-resolver.js +1 -1
  110. package/src/pro/integrations/upload-handler-v2.js +1 -1
  111. package/src/pro/integrations/upload-handler.js +1 -1
  112. package/src/pro/integrations/webhook.js +1 -1
  113. package/src/pro/locking/lock-routes.js +1 -1
  114. package/src/pro/locking/resource-lock-manager.js +1 -1
  115. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  116. package/src/pro/messaging/kafkaService.js +1 -1
  117. package/src/pro/messaging/messagehubService.js +1 -1
  118. package/src/pro/messaging/rabbitmqService.js +1 -1
  119. package/src/pro/scheduler/job-manager.js +1 -1
  120. package/src/pro/scheduler/job-routes.js +1 -1
  121. package/src/pro/scheduler/job-validator.js +1 -1
  122. package/src/pro/storage/base-storage-provider.js +1 -1
  123. package/src/pro/storage/file-metadata-helper.js +1 -1
  124. package/src/pro/storage/index.js +1 -1
  125. package/src/pro/storage/local-storage-provider.js +1 -1
  126. package/src/pro/storage/s3-storage-provider.js +1 -1
  127. package/src/pro/storage/upload-cleanup-job.js +1 -1
  128. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  129. package/src/pro/storage/upload-pending-tracker.js +1 -1
  130. package/src/pro/websocket/broadcast-helper.js +1 -1
  131. package/src/pro/websocket/index.js +1 -1
  132. package/src/pro/websocket/livesync-server.js +1 -1
  133. package/src/pro/websocket/ws-broadcaster.js +1 -1
  134. package/src/services/export-service.js +1 -1
  135. package/src/services/import-service.js +1 -1
  136. package/src/services/kafkaConsumerService.js +1 -1
  137. package/src/services/kafkaService.js +1 -1
  138. package/src/services/messagehubService.js +1 -1
  139. package/src/services/rabbitmqService.js +1 -1
  140. package/src/utils/cache-invalidation-registry.js +1 -1
  141. package/src/utils/cache-manager.js +1 -1
  142. package/src/utils/component-engine.js +1 -1
  143. package/src/utils/config-extractor.js +1 -1
  144. package/src/utils/consumerLogger.js +1 -1
  145. package/src/utils/context-builder.js +1 -1
  146. package/src/utils/dashboard-helpers.js +1 -1
  147. package/src/utils/dateHelper.js +1 -1
  148. package/src/utils/datetime-formatter.js +1 -1
  149. package/src/utils/datetime-parser.js +1 -1
  150. package/src/utils/db-bootstrap.js +1 -1
  151. package/src/utils/db-mysql.js +1 -1
  152. package/src/utils/db-oracle.js +1 -1
  153. package/src/utils/db-sqlite.js +1 -1
  154. package/src/utils/db.js +1 -1
  155. package/src/utils/demo-generator.js +1 -1
  156. package/src/utils/excel-generator.js +1 -1
  157. package/src/utils/excel-parser.js +1 -1
  158. package/src/utils/file-watcher.js +1 -1
  159. package/src/utils/id-generator.js +1 -1
  160. package/src/utils/idempotency-manager.js +1 -1
  161. package/src/utils/import-validator.js +1 -1
  162. package/src/utils/license-client.js +1 -1
  163. package/src/utils/lock-manager.js +1 -1
  164. package/src/utils/logger.js +1 -1
  165. package/src/utils/lookup-resolver.js +1 -1
  166. package/src/utils/payload-loader.js +1 -1
  167. package/src/utils/processor-response.js +1 -1
  168. package/src/utils/rabbitmq.js +1 -1
  169. package/src/utils/redis-client.js +1 -1
  170. package/src/utils/redis-helper.js +1 -1
  171. package/src/utils/request-scope.js +1 -1
  172. package/src/utils/security-checks.js +1 -1
  173. package/src/utils/service-resolver.js +1 -1
  174. package/src/utils/shutdown-coordinator.js +1 -1
  175. package/src/utils/trusted-keys.js +1 -1
  176. package/src/utils/upload-handler.js +1 -1
  177. package/src/utils/upsert-builder.js +1 -1
  178. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- 'use strict';const a0_0x563a93=a0_0x1b06;(function(_0x5159db,_0x29a0ad){const _0x9ba9b5=a0_0x1b06,_0x3e4449=_0x5159db();while(!![]){try{const _0x242f89=-parseInt(_0x9ba9b5(0x12c))/0x1*(parseInt(_0x9ba9b5(0x191))/0x2)+-parseInt(_0x9ba9b5(0xc4))/0x3*(-parseInt(_0x9ba9b5(0x123))/0x4)+-parseInt(_0x9ba9b5(0xc5))/0x5+-parseInt(_0x9ba9b5(0xb3))/0x6*(parseInt(_0x9ba9b5(0x8b))/0x7)+parseInt(_0x9ba9b5(0xc8))/0x8+-parseInt(_0x9ba9b5(0xf0))/0x9*(-parseInt(_0x9ba9b5(0x144))/0xa)+-parseInt(_0x9ba9b5(0xe5))/0xb*(parseInt(_0x9ba9b5(0x164))/0xc);if(_0x242f89===_0x29a0ad)break;else _0x3e4449['push'](_0x3e4449['shift']());}catch(_0x4ce885){_0x3e4449['push'](_0x3e4449['shift']());}}}(a0_0x21ab,0x2b2d6));const crypto=require(a0_0x563a93(0x197)),redisClient=require(a0_0x563a93(0x1a3)),{logger}=require(a0_0x563a93(0x129)),idempotencyManager=require(a0_0x563a93(0x84)),ALLOWED_FORMATS=new Set([a0_0x563a93(0x19c),'yyyy',a0_0x563a93(0x143),'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_0x563a93(0x9b),CHARSET_UPPER='ABCDEFGHIJKLMNOPQRSTUVWXYZ',CHARSET_LOWER='abcdefghijklmnopqrstuvwxyz',CHARSET_LETTERS=CHARSET_UPPER+CHARSET_LOWER,CHARSET_UPPER_ALNUM=CHARSET_UPPER+CHARSET_DIGIT,CHARSET_MIXED_ALNUM=CHARSET_UPPER+CHARSET_LOWER+CHARSET_DIGIT,CHARSET_HEX_UPPER=a0_0x563a93(0xcb),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=a0_0x563a93(0x98),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_0x563a93(0x19e),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='\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';class IdGeneratorError extends Error{constructor(_0xab6148,_0x903efc,_0x39f83e=null){const _0x137227=a0_0x563a93,_0xd77385={'SgYXG':function(_0x5f47ac,_0x3eba79){return _0x5f47ac||_0x3eba79;}};super(_0xd77385[_0x137227(0x162)](_0x903efc,_0xab6148)),this['name']='IdGeneratorError',this['code']=_0xab6148,this[_0x137227(0x148)]=_0x39f83e;}}function a0_0x1b06(_0x1908c9,_0x48f6ff){_0x1908c9=_0x1908c9-0x7a;const _0x21ab84=a0_0x21ab();let _0x1b06d2=_0x21ab84[_0x1908c9];if(a0_0x1b06['gixwsM']===undefined){var _0x3ea2ba=function(_0x1603b6){const _0x4eb5bc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x9c97f3='',_0x3840b7='';for(let _0xf0d831=0x0,_0x4fc4dd,_0x2de96b,_0x290787=0x0;_0x2de96b=_0x1603b6['charAt'](_0x290787++);~_0x2de96b&&(_0x4fc4dd=_0xf0d831%0x4?_0x4fc4dd*0x40+_0x2de96b:_0x2de96b,_0xf0d831++%0x4)?_0x9c97f3+=String['fromCharCode'](0xff&_0x4fc4dd>>(-0x2*_0xf0d831&0x6)):0x0){_0x2de96b=_0x4eb5bc['indexOf'](_0x2de96b);}for(let _0x4970a4=0x0,_0x302380=_0x9c97f3['length'];_0x4970a4<_0x302380;_0x4970a4++){_0x3840b7+='%'+('00'+_0x9c97f3['charCodeAt'](_0x4970a4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3840b7);};a0_0x1b06['rbfTMY']=_0x3ea2ba,a0_0x1b06['KCPoCx']={},a0_0x1b06['gixwsM']=!![];}const _0x5ea143=_0x21ab84[0x0],_0x114af0=_0x1908c9+_0x5ea143,_0x1dc9e6=a0_0x1b06['KCPoCx'][_0x114af0];return!_0x1dc9e6?(_0x1b06d2=a0_0x1b06['rbfTMY'](_0x1b06d2),a0_0x1b06['KCPoCx'][_0x114af0]=_0x1b06d2):_0x1b06d2=_0x1dc9e6,_0x1b06d2;}class IdGenerator{constructor(){const _0x5cacca=a0_0x563a93,_0x3f2d39={'LUZET':_0x5cacca(0x92)},_0x101963=_0x3f2d39['LUZET'][_0x5cacca(0x193)]('|');let _0x56ae05=0x0;while(!![]){switch(_0x101963[_0x56ae05++]){case'0':this['_reserveMaxTTL']=null;continue;case'1':this['_defaultSerialPattern']=null;continue;case'2':this['_idemTTL']=null;continue;case'3':this[_0x5cacca(0x134)]=null;continue;case'4':this[_0x5cacca(0xf2)]=null;continue;case'5':this['_allowReset']=null;continue;case'6':this['_defaultPinDigits']=null;continue;case'7':this[_0x5cacca(0x10e)]=null;continue;case'8':this['_counterTTLMap']=null;continue;case'9':this['_reserveDefaultTTL']=null;continue;case'10':this['_defaultMaxRetry']=null;continue;case'11':this['_initialized']=![];continue;}break;}}[a0_0x563a93(0x137)](){const _0x43f5e6=a0_0x563a93,_0x5697c0={'nxfbJ':function(_0x1094c2,_0x2815df,_0x3a8804){return _0x1094c2(_0x2815df,_0x3a8804);},'RUnDY':function(_0x4360e3,_0x5da140,_0x46f7b4){return _0x4360e3(_0x5da140,_0x46f7b4);},'jSCJS':function(_0x16529f,_0x370227){return _0x16529f===_0x370227;},'vwkbz':_0x43f5e6(0xb0),'PpGqB':'XXXX-XXXX-XXXX-XXXX'},_0x5c097d='1|11|8|4|5|2|12|10|6|3|0|9|7'['split']('|');let _0x591ad1=0x0;while(!![]){switch(_0x5c097d[_0x591ad1++]){case'0':this[_0x43f5e6(0xac)]=_0x5697c0['nxfbJ'](parseInt,process[_0x43f5e6(0x173)]['IDGEN_RESERVE_MAX_TTL'],0xa)||MAX_RESERVE_TTL;continue;case'1':this[_0x43f5e6(0xf2)]=_0x43f5e6(0xc0);continue;case'2':this[_0x43f5e6(0x97)]=_0x5697c0['RUnDY'](parseInt,process['env']['IDGEN_DEFAULT_PIN_DIGITS'],0xa)||0x6;continue;case'3':this['_reserveDefaultTTL']=parseInt(process['env'][_0x43f5e6(0xc6)],0xa)||DEFAULT_RESERVE_TTL;continue;case'4':this[_0x43f5e6(0x86)]=_0x5697c0['jSCJS'](process['env']['IDGEN_ALLOW_RESET'],_0x5697c0['vwkbz']);continue;case'5':this[_0x43f5e6(0x118)]=parseInt(process['env']['IDGEN_DEFAULT_MAX_RETRY'],0xa)||0xa;continue;case'6':this[_0x43f5e6(0x150)]={'yyyymm':parseInt(process[_0x43f5e6(0x173)][_0x43f5e6(0xd0)],0xa)||0x2a3000,'yyyymmdd':_0x5697c0['nxfbJ'](parseInt,process[_0x43f5e6(0x173)][_0x43f5e6(0x16b)],0xa)||0x2a300};continue;case'7':logger['info']({'event':_0x43f5e6(0xdf),'enabled':this[_0x43f5e6(0x10e)],'idemTTL':this[_0x43f5e6(0x178)],'allowReset':this['_allowReset'],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this['_defaultPinDigits'],'reserveDefaultTTL':this['_reserveDefaultTTL'],'reserveMaxTTL':this['_reserveMaxTTL']},_0x43f5e6(0x19b)+this[_0x43f5e6(0x10e)]);continue;case'8':this['_idemTTL']=_0x5697c0[_0x43f5e6(0x145)](parseInt,process['env'][_0x43f5e6(0x108)],0xa)||0x258;continue;case'9':this[_0x43f5e6(0x7d)]=!![];continue;case'10':this[_0x43f5e6(0x134)]=process[_0x43f5e6(0x173)]['IDGEN_DEFAULT_CODE_PATTERN']||_0x43f5e6(0xb5);continue;case'11':this['_enabled']=process[_0x43f5e6(0x173)]['IDGEN_ENABLED']===_0x5697c0['vwkbz'];continue;case'12':this[_0x43f5e6(0x136)]=process[_0x43f5e6(0x173)]['IDGEN_DEFAULT_SERIAL_PATTERN']||_0x5697c0['PpGqB'];continue;}break;}}['_ensureInitialized'](){const _0x4a5d93=a0_0x563a93;if(!this[_0x4a5d93(0x7d)])this[_0x4a5d93(0x137)]();}get[a0_0x563a93(0x17f)](){const _0xdb5984=a0_0x563a93;return this['_ensureInitialized'](),this[_0xdb5984(0x10e)];}get[a0_0x563a93(0x89)](){const _0x289ed=a0_0x563a93;return this[_0x289ed(0xde)](),this[_0x289ed(0xf2)];}get[a0_0x563a93(0x17d)](){return this['_ensureInitialized'](),this['_idemTTL'];}get[a0_0x563a93(0x146)](){return this['_ensureInitialized'](),this['_allowReset'];}get['defaultMaxRetry'](){return this['_ensureInitialized'](),this['_defaultMaxRetry'];}get['defaultPinDigits'](){return this['_ensureInitialized'](),this['_defaultPinDigits'];}get[a0_0x563a93(0x194)](){return this['_ensureInitialized'](),this['_defaultSerialPattern'];}get['defaultCodePattern'](){return this['_ensureInitialized'](),this['_defaultCodePattern'];}get[a0_0x563a93(0x1a4)](){const _0x563e3a=a0_0x563a93;return this['_ensureInitialized'](),this[_0x563e3a(0xae)];}get[a0_0x563a93(0x153)](){const _0x403ba8=a0_0x563a93;return this[_0x403ba8(0xde)](),this['_reserveMaxTTL'];}[a0_0x563a93(0xfb)](){return this['enabled'];}[a0_0x563a93(0x12a)](_0x345c8c){const _0x3a3a2e=a0_0x563a93,_0x20c995={'pDanC':function(_0x5b3b7e,_0x3b607e){return _0x5b3b7e!==_0x3b607e;}};if(_0x20c995[_0x3a3a2e(0x14c)](typeof _0x345c8c,'string')||!RESOURCE_REGEX[_0x3a3a2e(0x18a)](_0x345c8c))throw new IdGeneratorError('IDGEN_INVALID_RESOURCE','Invalid\x20resource:\x20must\x20match\x20'+RESOURCE_REGEX+'\x20(got:\x20'+JSON[_0x3a3a2e(0x11a)](_0x345c8c)+')');}[a0_0x563a93(0xfe)](_0x229c4e){const _0x4e0031=a0_0x563a93,_0x7c7f8e={'dSBdl':_0x4e0031(0x13e),'AWucN':function(_0xb66be1,_0x991a4f){return _0xb66be1>_0x991a4f;},'qVRgi':function(_0x354e53,_0x1d0f2d){return _0x354e53==_0x1d0f2d;},'DoYtm':function(_0x1919b6,_0x2a89e2){return _0x1919b6!==_0x2a89e2;},'fvgIF':_0x4e0031(0x9e),'TlPjL':'string','QJNNe':_0x4e0031(0x121),'yiPza':function(_0x1ca49d,_0xe437af){return _0x1ca49d!==_0xe437af;},'iPiSW':_0x4e0031(0xc7),'qSVaM':'IDGEN_INVALID_RESOURCE','yvMZJ':function(_0x2fd926,_0x3aa91e){return _0x2fd926===_0x3aa91e;}},{resource:_0x368801,format:_0x2fb80f,prefix:_0x35d1c4,separator:_0x1d77cd,numDigits:_0xff666c,reuseDelete:_0x57b1dc}=_0x229c4e;this['_validateResource'](_0x368801);const _0xeea9d7=typeof _0x2fb80f==='string'?_0x2fb80f[_0x4e0031(0x122)]():'';if(!ALLOWED_FORMATS['has'](_0xeea9d7))throw new IdGeneratorError(_0x7c7f8e[_0x4e0031(0x174)],'Invalid\x20format:\x20must\x20be\x20one\x20of\x20'+[...ALLOWED_FORMATS][_0x4e0031(0xcd)](',\x20')+'\x20(got:\x20'+_0x2fb80f+')');if(!Number[_0x4e0031(0x7b)](_0xff666c)||_0xff666c<MIN_NUM_DIGITS||_0x7c7f8e[_0x4e0031(0x156)](_0xff666c,MAX_NUM_DIGITS))throw new IdGeneratorError('IDGEN_INVALID_NUM_DIGITS','Invalid\x20numDigits:\x20must\x20be\x20integer\x20'+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+'\x20(got:\x20'+_0xff666c+')');const _0x56d276=_0x7c7f8e['qVRgi'](_0x35d1c4,null)?'':_0x35d1c4;if(_0x7c7f8e[_0x4e0031(0xf5)](typeof _0x56d276,_0x4e0031(0xaa))||!PREFIX_REGEX['test'](_0x56d276))throw new IdGeneratorError(_0x7c7f8e['fvgIF'],_0x4e0031(0x111)+PREFIX_REGEX+'\x20(got:\x20'+JSON['stringify'](_0x35d1c4)+')');const _0x5b76ae=_0x1d77cd==null?'':_0x1d77cd;if(_0x7c7f8e['DoYtm'](typeof _0x5b76ae,_0x7c7f8e[_0x4e0031(0x119)])||_0x7c7f8e['AWucN'](_0x5b76ae[_0x4e0031(0x10b)],0x3)||SEPARATOR_FORBIDDEN['test'](_0x5b76ae))throw new IdGeneratorError(_0x7c7f8e[_0x4e0031(0x83)],'Invalid\x20separator:\x20max\x203\x20char,\x20must\x20not\x20contain\x20\x27:\x27\x20(got:\x20'+JSON['stringify'](_0x1d77cd)+')');if(_0x57b1dc!=null&&_0x7c7f8e['yiPza'](typeof _0x57b1dc,_0x7c7f8e[_0x4e0031(0x15f)]))throw new IdGeneratorError(_0x7c7f8e[_0x4e0031(0xcf)],'Invalid\x20reuseDelete:\x20must\x20be\x20boolean\x20(got:\x20'+typeof _0x57b1dc+')');return{'resource':_0x368801,'format':_0xeea9d7,'prefix':_0x56d276,'separator':_0x5b76ae,'numDigits':_0xff666c,'reuseDelete':_0x7c7f8e[_0x4e0031(0x17b)](_0x57b1dc,!![])};}[a0_0x563a93(0xa3)](_0x29ac3c){const _0x108d9a=a0_0x563a93,_0x2781f2={'rvlJJ':'string'};if(typeof _0x29ac3c!==_0x2781f2['rvlJJ']||_0x29ac3c['length']===0x0||_0x29ac3c[_0x108d9a(0x10b)]>MAX_PATTERN_LENGTH)throw new IdGeneratorError(_0x108d9a(0xe7),'Invalid\x20pattern:\x20must\x20be\x20string\x201-'+MAX_PATTERN_LENGTH+'\x20chars\x20(got\x20length:\x20'+(_0x29ac3c&&_0x29ac3c['length'])+')');let _0x3553b1=![];for(const _0x2bc1c4 of _0x29ac3c){if(PLACEHOLDER_MAP[_0x2bc1c4]){_0x3553b1=!![];break;}}if(!_0x3553b1)throw new IdGeneratorError(_0x108d9a(0xe7),_0x108d9a(0x19f));}[a0_0x563a93(0xb9)](_0x24e89b){const _0x541d0e=a0_0x563a93,_0x31f647={'vtZYG':function(_0x472335,_0x372d29){return _0x472335==_0x372d29;},'OCGnL':function(_0x6a6146,_0x333d05){return _0x6a6146<_0x333d05;},'WUJVK':function(_0x5600ea,_0x5c9d2a){return _0x5600ea>_0x5c9d2a;},'qvEmM':_0x541d0e(0xa8)};if(_0x31f647[_0x541d0e(0xd2)](_0x24e89b,null))return undefined;if(!Number[_0x541d0e(0x7b)](_0x24e89b)||_0x31f647['OCGnL'](_0x24e89b,0x1)||_0x31f647[_0x541d0e(0xeb)](_0x24e89b,MAX_TTL))throw new IdGeneratorError(_0x31f647[_0x541d0e(0x189)],'Invalid\x20ttl:\x20must\x20be\x20integer\x201-'+MAX_TTL+_0x541d0e(0x93)+_0x24e89b+')');return _0x24e89b;}[a0_0x563a93(0xc1)](_0x57bf60){const _0x1eba1f=a0_0x563a93,_0x5ec881={'vIFeN':function(_0x1bb16a,_0x31d999){return _0x1bb16a<_0x31d999;},'OSvgu':'IDGEN_INVALID_MAX_RETRY'};if(_0x57bf60==null)return this['defaultMaxRetry'];if(!Number['isInteger'](_0x57bf60)||_0x5ec881[_0x1eba1f(0x128)](_0x57bf60,0x1)||_0x57bf60>MAX_RETRY_LIMIT)throw new IdGeneratorError(_0x5ec881['OSvgu'],_0x1eba1f(0x13b)+MAX_RETRY_LIMIT+_0x1eba1f(0xe2)+_0x57bf60+')');return _0x57bf60;}[a0_0x563a93(0x15e)](_0x205194){const _0x48d326=a0_0x563a93,_0x2acd51={'TigaS':function(_0x5581f3,_0x450271){return _0x5581f3==_0x450271;},'plPmH':'IDGEN_INVALID_RESOURCE'};if(_0x2acd51['TigaS'](_0x205194,null))return undefined;if(typeof _0x205194!=='string'||_0x205194['length']===0x0||_0x205194['length']>MAX_IDEMPOTENCY_KEY_LENGTH)throw new IdGeneratorError(_0x2acd51[_0x48d326(0x18e)],_0x48d326(0xe4)+MAX_IDEMPOTENCY_KEY_LENGTH+_0x48d326(0x151));return _0x205194;}[a0_0x563a93(0xcc)](_0x932798){const _0x5b649b=a0_0x563a93,_0x4b14ed={'wxHHl':function(_0x40a248,_0x4614a4){return _0x40a248==_0x4614a4;},'IOHnY':function(_0x45a07c,_0x58d609){return _0x45a07c<_0x58d609;},'fmLRE':_0x5b649b(0x107)};if(_0x4b14ed['wxHHl'](_0x932798,null))return this[_0x5b649b(0x1a4)];if(!Number['isInteger'](_0x932798)||_0x4b14ed['IOHnY'](_0x932798,MIN_RESERVE_TTL)||_0x932798>this['reserveMaxTTL'])throw new IdGeneratorError(_0x4b14ed['fmLRE'],'Invalid\x20reservation\x20ttl:\x20must\x20be\x20integer\x20'+MIN_RESERVE_TTL+'-'+this['reserveMaxTTL']+'\x20seconds\x20(got:\x20'+_0x932798+')');return _0x932798;}[a0_0x563a93(0x1a0)](_0x1cf9d6){const _0x2061db=a0_0x563a93,_0x260b56={'Pkxem':function(_0x2228ae,_0x4610ff){return _0x2228ae!==_0x4610ff;},'Cwfmq':_0x2061db(0xaa)};if(_0x260b56['Pkxem'](typeof _0x1cf9d6,_0x260b56[_0x2061db(0x8a)])||!RESERVATION_TOKEN_REGEX[_0x2061db(0x18a)](_0x1cf9d6))throw new IdGeneratorError('IDGEN_INVALID_TOKEN',_0x2061db(0x18f)+JSON[_0x2061db(0x11a)](_0x1cf9d6)+')');return _0x1cf9d6;}['_pad2'](_0xb1ae0a){const _0x38251a={'bHyqY':function(_0x51f077,_0x185a0c){return _0x51f077(_0x185a0c);}};return _0x38251a['bHyqY'](String,_0xb1ae0a)['padStart'](0x2,'0');}[a0_0x563a93(0xd3)](_0x23e98a,_0x253a97,_0x164ea4=new Date()){const _0x72706d=a0_0x563a93,_0x294ca0={'GEjQE':function(_0x289032,_0x17344e){return _0x289032+_0x17344e;},'DTwyH':function(_0x285a8d,_0x48676c){return _0x285a8d||_0x48676c;},'xlUBz':_0x72706d(0x13e)},_0x37689c=_0x164ea4['getFullYear'](),_0x311b57=this[_0x72706d(0x13d)](_0x294ca0[_0x72706d(0xce)](_0x164ea4[_0x72706d(0x10a)](),0x1)),_0x608bc5=this['_pad2'](_0x164ea4[_0x72706d(0x91)]()),_0x39cbab=_0x294ca0[_0x72706d(0x171)](_0x253a97,'_');let _0x1d6e5b,_0x41f6e9='';switch(_0x23e98a){case'text':_0x1d6e5b=_0x39cbab+'_text';break;case _0x72706d(0x102):_0x41f6e9=''+_0x37689c,_0x1d6e5b=_0x39cbab+'_yyyy_'+_0x41f6e9;break;case'yyyymm':_0x41f6e9=''+_0x37689c+_0x311b57,_0x1d6e5b=_0x39cbab+_0x72706d(0x80)+_0x41f6e9;break;case _0x72706d(0xc3):_0x41f6e9=''+_0x37689c+_0x311b57+_0x608bc5,_0x1d6e5b=_0x39cbab+_0x72706d(0x180)+_0x41f6e9;break;default:throw new IdGeneratorError(_0x294ca0['xlUBz'],'Unknown\x20format:\x20'+_0x23e98a);}return{'formatKey':_0x1d6e5b,'datePrefix':_0x41f6e9};}['_buildSeqKey'](_0x26a7ba,_0xac28cb){return this['keyPrefix']+'seq:'+_0x26a7ba+':'+_0xac28cb;}['_buildReuseKey'](_0x347734,_0x4a8fe7){const _0x1153fa=a0_0x563a93;return this[_0x1153fa(0x89)]+_0x1153fa(0xca)+_0x347734+':'+_0x4a8fe7;}['_buildMetaKey'](_0x5f2bf9,_0x127178){const _0x5778cd=a0_0x563a93;return this[_0x5778cd(0x89)]+_0x5778cd(0x1a2)+_0x5f2bf9+':'+_0x127178;}['_buildIssuedKey'](_0x22359d){const _0x1adf30=a0_0x563a93;return this[_0x1adf30(0x89)]+_0x1adf30(0x81)+_0x22359d;}[a0_0x563a93(0x188)](_0x38000a,_0x5f41b7){const _0x3d65a0=a0_0x563a93;return this[_0x3d65a0(0x89)]+'active:'+_0x38000a+':'+_0x5f41b7;}[a0_0x563a93(0x184)](_0x1b709c){const _0x28b000=a0_0x563a93;return this[_0x28b000(0x89)]+'rsv:'+_0x1b709c;}['_buildReservationIndexKey'](_0x24b6dd,_0x483d71){return this['keyPrefix']+'rsv_idx:'+_0x24b6dd+':'+_0x483d71;}['_buildReservationKeyPrefix'](){const _0x197844=a0_0x563a93;return this['keyPrefix']+_0x197844(0x104);}['_buildIdemKey'](_0x177a40,_0x2cf8d1,_0x3ee2da,_0x30a12d){const _0x48248f=a0_0x563a93;if(_0x3ee2da)return idempotencyManager['buildDeterministicKey'](_0x48248f(0x9a),_0x177a40,_0x2cf8d1+':'+_0x3ee2da+':'+_0x30a12d);return idempotencyManager[_0x48248f(0x15a)](_0x48248f(0x9a),_0x177a40,_0x2cf8d1+':'+_0x30a12d);}['_getCounterTTL'](_0x48a801){const _0x2fdd84=a0_0x563a93;return this[_0x2fdd84(0x150)][_0x48a801]||0x0;}[a0_0x563a93(0x16d)]({format:_0x3f84bb,prefix:_0x4aeda1,datePrefix:_0x1cfd49,separator:_0x161598,numDigits:_0x439d58,counterInt:_0x32995c}){const _0x18e4b5=a0_0x563a93,_0x216a5f={'inSCR':function(_0x824607,_0x46a0c1){return _0x824607>_0x46a0c1;}},_0x47cbdd=Math[_0x18e4b5(0x139)](0xa,_0x439d58)-0x1;if(_0x216a5f['inSCR'](_0x32995c,_0x47cbdd))throw new IdGeneratorError('IDGEN_COUNTER_OVERFLOW','Counter\x20overflow:\x20'+_0x32995c+_0x18e4b5(0x132)+_0x439d58+'-digit\x20capacity\x20('+_0x47cbdd+').\x20Increase\x20numDigits.',{'counterInt':_0x32995c,'numDigits':_0x439d58,'max':_0x47cbdd});const _0x1a5c45=String(_0x32995c)[_0x18e4b5(0x10c)](_0x439d58,'0');if(_0x3f84bb===_0x18e4b5(0x19c))return _0x4aeda1?''+_0x4aeda1+_0x161598+_0x1a5c45:_0x1a5c45;return _0x4aeda1?''+_0x4aeda1+_0x161598+_0x1cfd49+_0x161598+_0x1a5c45:''+_0x1cfd49+_0x161598+_0x1a5c45;}['_parseNumber']({format:_0x34335f,prefix:_0x356d54,separator:_0x4030d6,numDigits:_0x2e32ec,number:_0x47f1c8}){const _0x3241d0=a0_0x563a93,_0x8896d5={'qzTGJ':function(_0x582311,_0x4267ba){return _0x582311!==_0x4267ba;},'YVdOs':'string','mTKMJ':function(_0x4e78e8,_0x5d9b78){return _0x4e78e8===_0x5d9b78;},'DjofS':function(_0x51bdea,_0x41501b){return _0x51bdea||_0x41501b;},'YZGyD':function(_0x1d914d,_0x187d83){return _0x1d914d===_0x187d83;},'Qfarq':function(_0xfa6ac9,_0x30b76b){return _0xfa6ac9!==_0x30b76b;},'ZcqbK':'IDGEN_INVALID_NUMBER','SGMwz':function(_0x5bd747,_0x392353){return _0x5bd747!==_0x392353;},'CXmxM':function(_0x59df8f,_0xd65ccf){return _0x59df8f===_0xd65ccf;}};if(_0x8896d5[_0x3241d0(0xa0)](typeof _0x47f1c8,_0x8896d5['YVdOs'])||_0x8896d5['mTKMJ'](_0x47f1c8['length'],0x0))throw new IdGeneratorError(_0x3241d0(0xf4),_0x3241d0(0x199));const _0x508a27=_0x8896d5['DjofS'](_0x4030d6,''),_0x34af3e=_0x8896d5[_0x3241d0(0x15d)](_0x508a27,'')?[_0x47f1c8]:_0x47f1c8[_0x3241d0(0x193)](_0x508a27);let _0x3f4e38='',_0x5bb555;if(_0x8896d5['YZGyD'](_0x34335f,'text')){if(_0x356d54){if(_0x8896d5[_0x3241d0(0xa2)](_0x34af3e['length'],0x2)||_0x8896d5[_0x3241d0(0xa0)](_0x34af3e[0x0],_0x356d54))throw new IdGeneratorError(_0x8896d5['ZcqbK'],_0x3241d0(0xd4)+_0x508a27+'padded\x20(got:\x20'+_0x47f1c8+')');_0x5bb555=_0x34af3e[0x1];}else{if(_0x34af3e[_0x3241d0(0x10b)]!==0x1)throw new IdGeneratorError(_0x8896d5[_0x3241d0(0x152)],_0x3241d0(0xdb)+_0x47f1c8+')');_0x5bb555=_0x34af3e[0x0];}}else{const _0x545b1f=_0x356d54?0x3:0x2;if(_0x34af3e['length']!==_0x545b1f)throw new IdGeneratorError(_0x3241d0(0xf4),_0x3241d0(0x135)+_0x47f1c8+_0x3241d0(0x149)+_0x545b1f+'\x20parts)');let _0xfa5e30=0x0;if(_0x356d54){if(_0x8896d5['SGMwz'](_0x34af3e[_0xfa5e30],_0x356d54))throw new IdGeneratorError(_0x8896d5['ZcqbK'],_0x3241d0(0x167)+_0x356d54+_0x3241d0(0x87)+_0x34af3e[_0xfa5e30]);_0xfa5e30++;}_0x3f4e38=_0x34af3e[_0xfa5e30++];const _0x46ac15=_0x8896d5[_0x3241d0(0x15d)](_0x34335f,'yyyy')?/^\d{4}$/:_0x34335f==='yyyymm'?/^\d{6}$/:/^\d{8}$/;if(!_0x46ac15[_0x3241d0(0x18a)](_0x3f4e38))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x3241d0(0x13a)+_0x34335f+':\x20'+_0x3f4e38);_0x5bb555=_0x34af3e[_0xfa5e30];}if(!new RegExp('^\x5cd{'+_0x2e32ec+'}$')[_0x3241d0(0x18a)](_0x5bb555))throw new IdGeneratorError(_0x8896d5[_0x3241d0(0x152)],_0x3241d0(0xa4)+_0x2e32ec+'\x20digits\x20(got:\x20'+_0x5bb555+')');const _0x52e91c=parseInt(_0x5bb555,0xa),_0x3e3281=_0x8896d5[_0x3241d0(0xe3)](_0x356d54,'_');let _0x84994b;return _0x8896d5[_0x3241d0(0xb6)](_0x34335f,'text')?_0x84994b=_0x3e3281+_0x3241d0(0x113):_0x84994b=_0x3e3281+'_'+_0x34335f+'_'+_0x3f4e38,{'formatKey':_0x84994b,'counterInt':_0x52e91c,'datePrefix':_0x3f4e38};}[a0_0x563a93(0x7f)](_0x2567f5){const _0xe9fad6=a0_0x563a93;let _0xbbfd96='';for(const _0x2bb56f of _0x2567f5){const _0x5815ca=PLACEHOLDER_MAP[_0x2bb56f];if(_0x5815ca){const _0x38e2e4=crypto[_0xe9fad6(0xff)](0x0,_0x5815ca[_0xe9fad6(0x10b)]);_0xbbfd96+=_0x5815ca[_0x38e2e4];}else _0xbbfd96+=_0x2bb56f;}return _0xbbfd96;}async[a0_0x563a93(0x19a)](_0x735f2){const _0x512faf=a0_0x563a93;if(!_0x735f2)return null;try{const _0x1fde4d=redisClient['getClient'](),_0x302f29=await _0x1fde4d['get'](_0x735f2);if(_0x302f29)return logger[_0x512faf(0x130)]({'event':'idgen_idem_hit','key':_0x735f2},'Idempotency\x20cache\x20HIT'),JSON[_0x512faf(0x190)](_0x302f29);return null;}catch(_0x3de753){return logger['warn']({'event':_0x512faf(0x9c),'error':_0x3de753[_0x512faf(0x16a)]},'Idempotency\x20retrieve\x20error'),null;}}async['_storeIdemCache'](_0x457774,_0x3b9a4f){const _0x1cc4c3=a0_0x563a93,_0x5e034d={'BUoQg':_0x1cc4c3(0x116)};if(!_0x457774)return;try{const _0x10bce2=redisClient[_0x1cc4c3(0xea)]();await _0x10bce2['setex'](_0x457774,this[_0x1cc4c3(0x17d)],JSON['stringify'](_0x3b9a4f));}catch(_0x4cb938){logger[_0x1cc4c3(0xb1)]({'event':_0x1cc4c3(0x110),'error':_0x4cb938[_0x1cc4c3(0x16a)]},_0x5e034d[_0x1cc4c3(0x12b)]);}}async['_storeIdemCacheNX'](_0x56574a,_0x2f2aae){const _0x2fb1b3=a0_0x563a93,_0xaa9ba8={'wvwdc':_0x2fb1b3(0x169),'Abcyt':'idgen_idem_storenx_error','DPqpy':_0x2fb1b3(0x13f)};if(!_0x56574a)return{'stored':!![],'winnerResult':null};try{const _0x43f8fb=redisClient['getClient'](),_0x3a0483=JSON['stringify'](_0x2f2aae),_0x2eeeda=await _0x43f8fb[_0x2fb1b3(0x11f)](_0x56574a,_0x3a0483,'EX',this[_0x2fb1b3(0x17d)],'NX');if(_0x2eeeda==='OK')return{'stored':!![],'winnerResult':null};const _0x232185=await _0x43f8fb[_0x2fb1b3(0x140)](_0x56574a);if(_0x232185)return{'stored':![],'winnerResult':JSON['parse'](_0x232185)};return logger['warn']({'event':_0xaa9ba8[_0x2fb1b3(0xef)],'key':_0x56574a},_0x2fb1b3(0x170)),{'stored':!![],'winnerResult':null};}catch(_0x2f55f1){return logger[_0x2fb1b3(0xb1)]({'event':_0xaa9ba8[_0x2fb1b3(0x147)],'error':_0x2f55f1['message']},_0xaa9ba8[_0x2fb1b3(0x8d)]),{'stored':!![],'winnerResult':null};}}async[a0_0x563a93(0x99)](_0x159467,_0x147650,_0x28728e){const _0x2a4cfb=a0_0x563a93,_0x5335cd={'jrAxE':'idgen_random_undo_error','liuuv':_0x2a4cfb(0x142)};try{const _0xbae560=redisClient['getClient']();if(_0x28728e){const _0x1d41ea=this['_buildActiveKey'](_0x159467,_0x147650);await _0xbae560[_0x2a4cfb(0x17a)](_0x1d41ea);}else{const _0x21bcee=this['_buildIssuedKey'](_0x159467);await _0xbae560[_0x2a4cfb(0x9d)](_0x21bcee,_0x147650);}}catch(_0x5812a0){logger[_0x2a4cfb(0xb1)]({'event':_0x5335cd['jrAxE'],'error':_0x5812a0['message']},_0x5335cd[_0x2a4cfb(0x15b)]);}}async[a0_0x563a93(0x8f)](_0x12750f,_0x5aef2e,_0x514f88,_0x5264f6=0x0){const _0x22c6e8=a0_0x563a93,_0x2910c1={'nqhJh':function(_0x488087,_0x1ce58f){return _0x488087(_0x1ce58f);},'gmnID':function(_0x41ee54,_0x5ba2f2){return _0x41ee54>_0x5ba2f2;},'sVTCi':'Meta\x20update\x20error'};try{const _0x3fd83d=redisClient['getClient'](),_0x2d93d1=this[_0x22c6e8(0xf6)](_0x12750f,_0x5aef2e),_0x300367=[];for(const [_0x18a8e5,_0x4069ec]of Object[_0x22c6e8(0x12d)](_0x514f88)){_0x300367[_0x22c6e8(0x1a6)](_0x18a8e5,_0x2910c1['nqhJh'](String,_0x4069ec));}if(_0x2910c1[_0x22c6e8(0x18d)](_0x300367[_0x22c6e8(0x10b)],0x0)){await _0x3fd83d['hset'](_0x2d93d1,..._0x300367);if(_0x5264f6>0x0)await _0x3fd83d['expire'](_0x2d93d1,_0x5264f6);}}catch(_0x58866c){logger[_0x22c6e8(0xb1)]({'event':_0x22c6e8(0x105),'error':_0x58866c[_0x22c6e8(0x16a)]},_0x2910c1[_0x22c6e8(0xb8)]);}}async[a0_0x563a93(0xd5)](_0x2a4da9){const _0x395ec7=a0_0x563a93,_0x14258d={'nhPfi':function(_0x5e14ac,_0x374db1){return _0x5e14ac(_0x374db1);},'UxDOx':function(_0x414dc9,_0x4b66c7){return _0x414dc9===_0x4b66c7;},'vweUz':function(_0x2684ec,_0x5c923d){return _0x2684ec(_0x5c923d);},'ukrgL':_0x395ec7(0x12e)};if(!this[_0x395ec7(0x17f)])throw new IdGeneratorError('IDGEN_DISABLED',_0x395ec7(0x154));const _0x431c72=this[_0x395ec7(0xfe)](_0x2a4da9),_0x41ae97=this['_validateIdempotencyKey'](_0x2a4da9['idempotencyKey']),{resource:_0x5e7171,format:_0x318e4a,prefix:_0x4c22c3,separator:_0x544958,numDigits:_0x2ae557,reuseDelete:_0x399f42}=_0x431c72,{formatKey:_0x432df5,datePrefix:_0x5a872e}=this[_0x395ec7(0xd3)](_0x318e4a,_0x4c22c3),_0x14a45c=this[_0x395ec7(0x114)](_0x5e7171,_0x432df5),_0x423869=this['_buildReuseKey'](_0x5e7171,_0x432df5),_0x2b4238=this[_0x395ec7(0x141)](_0x318e4a);let _0xdb0418=null;if(_0x41ae97){_0xdb0418=this['_buildIdemKey']('number',_0x5e7171,_0x432df5,_0x41ae97);const _0x2f1af1=await this[_0x395ec7(0x19a)](_0xdb0418);if(_0x2f1af1)return _0x2f1af1;}const _0xda9906=redisClient['getClient'](),_0x384bd1=await _0xda9906[_0x395ec7(0xa9)](LUA_GENERATE_NUMBER,0x2,_0x14a45c,_0x423869,_0x399f42?'1':'0',_0x14258d['nhPfi'](String,_0x2b4238)),_0x383e7e=_0x384bd1[0x0],_0x54533b=_0x14258d['UxDOx'](_0x384bd1[0x1],0x1),_0x12d7d4=this[_0x395ec7(0x16d)]({'format':_0x318e4a,'prefix':_0x4c22c3,'datePrefix':_0x5a872e,'separator':_0x544958,'numDigits':_0x2ae557,'counterInt':_0x383e7e}),_0x48418f={'value':_0x12d7d4,'counter':_0x383e7e,'resource':_0x5e7171,'formatKey':_0x432df5,'isReused':_0x54533b,'generatedAt':new Date()[_0x395ec7(0x177)]()},_0x8eb9ae=await this[_0x395ec7(0x138)](_0xdb0418,_0x48418f);if(!_0x8eb9ae[_0x395ec7(0xb2)]){try{await _0xda9906['eval'](LUA_RELEASE_NUMBER,0x1,_0x423869,String(_0x383e7e),_0x14258d['vweUz'](String,_0x2b4238));}catch(_0x5bec1e){logger['warn']({'event':_0x395ec7(0x94),'error':_0x5bec1e[_0x395ec7(0x16a)],'resource':_0x5e7171,'formatKey':_0x432df5,'counterInt':_0x383e7e},'Failed\x20to\x20release\x20counter\x20for\x20idempotency\x20loser');}return logger['info']({'event':_0x14258d[_0x395ec7(0xfd)],'resource':_0x5e7171,'formatKey':_0x432df5,'counter':_0x383e7e},'ID\x20Generator\x20number\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x8eb9ae['winnerResult'];}return this[_0x395ec7(0x8f)](_0x5e7171,_0x432df5,{'lastValue':_0x12d7d4,'lastCounter':_0x383e7e,'lastIsReused':_0x54533b,'lastGeneratedAt':_0x48418f[_0x395ec7(0x14e)]},_0x2b4238),logger[_0x395ec7(0x130)]({'event':'idgen_number_generated','resource':_0x5e7171,'formatKey':_0x432df5,'counter':_0x383e7e,'isReused':_0x54533b},_0x395ec7(0xed)+_0x12d7d4),_0x48418f;}async['releaseNumber'](_0x4aaa68){const _0x3e1852=a0_0x563a93,_0x380a15={'AeJaj':'IDGEN_DISABLED','oUtYv':'ID\x20Generator\x20is\x20disabled','Wnlhg':function(_0x1480cb,_0x17cb6e){return _0x1480cb!==_0x17cb6e;},'IwsZH':function(_0x4a9f0a,_0x2b3dd8){return _0x4a9f0a!==_0x2b3dd8;},'zSIzM':function(_0x625176,_0x41f3cf){return _0x625176!==_0x41f3cf;},'aCqXI':'string','rrKCK':function(_0xce7b50,_0x377962){return _0xce7b50===_0x377962;},'yBSut':_0x3e1852(0xf4),'CKrIB':function(_0x12c21d,_0x36fc19){return _0x12c21d<_0x36fc19;},'WDYti':_0x3e1852(0x7a)};if(!this['enabled'])throw new IdGeneratorError(_0x380a15['AeJaj'],_0x380a15['oUtYv']);let _0x1aa3c7,_0x15854f,_0x41644a,_0x1cc2fe;const _0x878711=this['_validateIdempotencyKey'](_0x4aaa68['idempotencyKey']);if(_0x380a15['Wnlhg'](_0x4aaa68['counterInt'],undefined)&&_0x380a15[_0x3e1852(0x88)](_0x4aaa68[_0x3e1852(0x8e)],null)){this[_0x3e1852(0x12a)](_0x4aaa68[_0x3e1852(0xe0)]),_0x1aa3c7=_0x4aaa68['resource'];if(_0x380a15['zSIzM'](typeof _0x4aaa68['formatKey'],_0x380a15[_0x3e1852(0xbe)])||_0x380a15[_0x3e1852(0x165)](_0x4aaa68['formatKey'][_0x3e1852(0x10b)],0x0))throw new IdGeneratorError(_0x380a15[_0x3e1852(0xd9)],_0x3e1852(0x10d));_0x15854f=_0x4aaa68[_0x3e1852(0xd7)];if(!Number[_0x3e1852(0x7b)](_0x4aaa68['counterInt'])||_0x380a15[_0x3e1852(0x155)](_0x4aaa68['counterInt'],0x1))throw new IdGeneratorError(_0x380a15['yBSut'],'counterInt\x20must\x20be\x20positive\x20integer\x20(got:\x20'+_0x4aaa68['counterInt']+')');_0x41644a=_0x4aaa68[_0x3e1852(0x8e)];const _0x548946=_0x15854f['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x1cc2fe=_0x548946?_0x548946[0x1]:_0x3e1852(0x19c);}else{const _0x5d2643=this[_0x3e1852(0xfe)](_0x4aaa68),_0x5aa031=this[_0x3e1852(0x14f)]({'format':_0x5d2643['format'],'prefix':_0x5d2643[_0x3e1852(0x196)],'separator':_0x5d2643['separator'],'numDigits':_0x5d2643[_0x3e1852(0x14a)],'number':_0x4aaa68['number']});_0x1aa3c7=_0x5d2643['resource'],_0x15854f=_0x5aa031['formatKey'],_0x41644a=_0x5aa031['counterInt'],_0x1cc2fe=_0x5d2643['format'];}const _0x5f1b34=this['_buildReuseKey'](_0x1aa3c7,_0x15854f),_0x245d80=this['_getCounterTTL'](_0x1cc2fe);let _0x2dfb2d=null;if(_0x878711){_0x2dfb2d=this[_0x3e1852(0x90)](_0x380a15['WDYti'],_0x1aa3c7,_0x15854f,_0x878711);const _0x531c13=await this['_retrieveIdemCache'](_0x2dfb2d);if(_0x531c13)return _0x531c13;}const _0x57daae=redisClient[_0x3e1852(0xea)]();await _0x57daae[_0x3e1852(0xa9)](LUA_RELEASE_NUMBER,0x1,_0x5f1b34,String(_0x41644a),String(_0x245d80));const _0x1e5d8a={'released':!![],'resource':_0x1aa3c7,'formatKey':_0x15854f,'counter':_0x41644a,'releasedAt':new Date()['toISOString']()};return await this['_storeIdemCache'](_0x2dfb2d,_0x1e5d8a),this['_updateMeta'](_0x1aa3c7,_0x15854f,{'lastReleasedCounter':_0x41644a,'lastReleasedAt':_0x1e5d8a[_0x3e1852(0x17e)]},_0x245d80),logger['info']({'event':'idgen_number_released','resource':_0x1aa3c7,'formatKey':_0x15854f,'counter':_0x41644a},'ID\x20Generator\x20number\x20released:\x20'+_0x41644a),_0x1e5d8a;}async['reserveNumber'](_0x8166f6){const _0x4418ea=a0_0x563a93,_0x543182={'gzrBr':_0x4418ea(0x14d),'aHlhP':function(_0x31d4b1,_0x1f45b9){return _0x31d4b1+_0x1f45b9;},'dmMBr':function(_0x562bc5,_0x3d0c6b){return _0x562bc5*_0x3d0c6b;},'gINcD':'resource','wAqiz':_0x4418ea(0xa1),'ddBoh':function(_0x13eee2,_0x4a4df4){return _0x13eee2(_0x4a4df4);},'UkTIp':'datePrefix','ZTHwa':_0x4418ea(0x183),'lopcb':_0x4418ea(0x127),'LSeUf':function(_0x296f81,_0x33c488){return _0x296f81(_0x33c488);},'xpZwM':function(_0x3b0055,_0x3848c2){return _0x3b0055===_0x3848c2;},'xSoiM':_0x4418ea(0xab),'DKnYE':'idgen_reserve_idem_loser_cancel_error','rzGUz':_0x4418ea(0x187),'DnyId':'idgen_reserve_idem_loser'};if(!this['enabled'])throw new IdGeneratorError(_0x543182[_0x4418ea(0x12f)],_0x4418ea(0x154));const _0x197355=this[_0x4418ea(0xfe)](_0x8166f6),_0x2d789e=this[_0x4418ea(0xcc)](_0x8166f6['ttl']),_0x39a03b=this['_validateIdempotencyKey'](_0x8166f6['idempotencyKey']),{resource:_0x107498,format:_0x151eef,prefix:_0x34261c,separator:_0x2a1b19,numDigits:_0x24ce80,reuseDelete:_0x17d7b3}=_0x197355,{formatKey:_0x499ad1,datePrefix:_0x47d077}=this['_buildFormatKey'](_0x151eef,_0x34261c),_0x1890a2=this['_buildSeqKey'](_0x107498,_0x499ad1),_0x25aa63=this[_0x4418ea(0x124)](_0x107498,_0x499ad1),_0x16d204=this[_0x4418ea(0xc9)](_0x107498,_0x499ad1),_0x20229b=this['_getCounterTTL'](_0x151eef);let _0x5a31c4=null;if(_0x39a03b){_0x5a31c4=this[_0x4418ea(0x90)]('reserve',_0x107498,_0x499ad1,_0x39a03b);const _0x20a1a8=await this['_retrieveIdemCache'](_0x5a31c4);if(_0x20a1a8)return _0x20a1a8;}const _0x13ac4d=crypto['randomUUID'](),_0x172334=this[_0x4418ea(0x184)](_0x13ac4d),_0x6e8ed4=this[_0x4418ea(0xa5)](),_0x5e0623=Date['now'](),_0x14c280=_0x543182['aHlhP'](_0x5e0623,_0x2d789e*0x3e8),_0x1150f2=_0x543182['dmMBr'](_0x2d789e,0x3e8),_0x1f7cff=new Date(_0x5e0623)[_0x4418ea(0x177)](),_0x541b19=new Date(_0x14c280)['toISOString'](),_0x1f9ed8=[_0x543182['gINcD'],_0x107498,_0x4418ea(0xd7),_0x499ad1,_0x543182['wAqiz'],_0x151eef,_0x4418ea(0x196),_0x34261c,'separator',_0x2a1b19,'numDigits',_0x543182['ddBoh'](String,_0x24ce80),_0x543182['UkTIp'],_0x47d077||'','createdAt',_0x1f7cff,_0x543182[_0x4418ea(0xe9)],_0x541b19,_0x543182['lopcb'],String(_0x1150f2)];_0x39a03b&&_0x1f9ed8[_0x4418ea(0x1a6)](_0x4418ea(0x18c),_0x39a03b);const _0xda2f1b=redisClient['getClient'](),_0x1a6c93=await _0xda2f1b['eval'](LUA_RESERVE_NUMBER,0x3,_0x1890a2,_0x25aa63,_0x16d204,_0x17d7b3?'1':'0',_0x543182[_0x4418ea(0xf3)](String,_0x20229b),_0x13ac4d,_0x172334,String(_0x1150f2),_0x543182[_0x4418ea(0xf3)](String,_0x14c280),_0x543182[_0x4418ea(0x1a1)](String,_0x5e0623),_0x6e8ed4,..._0x1f9ed8),_0x3f485c=_0x1a6c93[0x0],_0x3f655d=_0x543182[_0x4418ea(0x168)](_0x1a6c93[0x1],0x1),_0xfd54fe=_0x1a6c93[0x2]||0x0;let _0x144876;try{_0x144876=this[_0x4418ea(0x16d)]({'format':_0x151eef,'prefix':_0x34261c,'datePrefix':_0x47d077,'separator':_0x2a1b19,'numDigits':_0x24ce80,'counterInt':_0x3f485c});}catch(_0x14a946){try{await _0xda2f1b['eval'](LUA_CANCEL_RESERVATION,0x3,_0x172334,_0x16d204,_0x25aa63,_0x13ac4d,String(_0x20229b));}catch(_0x23db06){logger['warn']({'event':'idgen_reserve_overflow_compensation_error','error':_0x23db06['message'],'resource':_0x107498,'formatKey':_0x499ad1,'counterInt':_0x3f485c,'token':_0x13ac4d},'Failed\x20to\x20compensate\x20reservation\x20after\x20counter\x20overflow');}throw _0x14a946;}try{await _0xda2f1b[_0x4418ea(0x159)](_0x172334,'value',_0x144876);}catch(_0x2d028e){logger[_0x4418ea(0xb1)]({'event':_0x543182[_0x4418ea(0x109)],'error':_0x2d028e[_0x4418ea(0x16a)],'resource':_0x107498,'formatKey':_0x499ad1,'counterInt':_0x3f485c,'token':_0x13ac4d},_0x4418ea(0x172));}const _0x3f3ada={'token':_0x13ac4d,'value':_0x144876,'counter':_0x3f485c,'resource':_0x107498,'formatKey':_0x499ad1,'isReused':_0x3f655d,'createdAt':_0x1f7cff,'expiresAt':_0x541b19,'reapedCount':_0xfd54fe},_0x3609aa=await this[_0x4418ea(0x138)](_0x5a31c4,_0x3f3ada);if(!_0x3609aa['stored']){try{await _0xda2f1b[_0x4418ea(0xa9)](LUA_CANCEL_RESERVATION,0x3,_0x172334,_0x16d204,_0x25aa63,_0x13ac4d,String(_0x20229b));}catch(_0x4594ec){logger[_0x4418ea(0xb1)]({'event':_0x543182['DKnYE'],'error':_0x4594ec['message'],'resource':_0x107498,'formatKey':_0x499ad1,'counterInt':_0x3f485c,'token':_0x13ac4d},_0x543182[_0x4418ea(0xa6)]);}return logger['info']({'event':_0x543182[_0x4418ea(0x19d)],'resource':_0x107498,'formatKey':_0x499ad1,'counter':_0x3f485c,'token':_0x13ac4d},'ID\x20Generator\x20reserve\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x3609aa[_0x4418ea(0x18b)];}return this['_updateMeta'](_0x107498,_0x499ad1,{'lastReservedCounter':_0x3f485c,'lastReservedAt':_0x1f7cff,'lastReapedCount':_0xfd54fe},_0x20229b),logger[_0x4418ea(0x130)]({'event':'idgen_number_reserved','resource':_0x107498,'formatKey':_0x499ad1,'counter':_0x3f485c,'isReused':_0x3f655d,'token':_0x13ac4d,'ttl':_0x2d789e,'reapedCount':_0xfd54fe},'ID\x20Generator\x20number\x20reserved:\x20'+_0x144876+_0x4418ea(0x185)+_0x13ac4d+')'),_0x3f3ada;}async[a0_0x563a93(0x179)](_0x223132){const _0x57875b=a0_0x563a93,_0x4aa360={'AVWKE':_0x57875b(0x163),'zDHAi':function(_0x3efaa1,_0x27500d,_0x5edf75){return _0x3efaa1(_0x27500d,_0x5edf75);},'aznLA':'idgen_reservation_confirmed'};if(!this[_0x57875b(0x17f)])throw new IdGeneratorError('IDGEN_DISABLED','ID\x20Generator\x20is\x20disabled');const _0x4c5f10=this['_validateReservationToken'](_0x223132&&_0x223132[_0x57875b(0x15c)]),_0x5176bc=this[_0x57875b(0x15e)](_0x223132&&_0x223132[_0x57875b(0x17c)]);let _0x30ab8d=null;if(_0x5176bc){_0x30ab8d=idempotencyManager['buildDeterministicKey'](_0x57875b(0x9a),_0x57875b(0x1a5),_0x4c5f10+':'+_0x5176bc);const _0x5f1d1c=await this['_retrieveIdemCache'](_0x30ab8d);if(_0x5f1d1c)return _0x5f1d1c;}const _0x56f52b=await this['_getReservationContext'](_0x4c5f10),_0x1ba33e=redisClient['getClient'](),_0x747d69=await _0x1ba33e['eval'](LUA_CONFIRM_RESERVATION,0x2,_0x56f52b[_0x57875b(0xe1)],_0x56f52b['rsvIdxKey'],_0x4c5f10);if(!_0x747d69||_0x747d69[0x0]!==0x1)throw new IdGeneratorError(_0x4aa360[_0x57875b(0xbb)],_0x57875b(0x126)+_0x4c5f10,{'token':_0x4c5f10});const _0x386b13=_0x4aa360['zDHAi'](parseInt,_0x747d69[0x1],0xa),_0x1cc513=_0x747d69[0x2],_0x3bcc72=_0x747d69[0x3],_0x2a9b0c=new Date()[_0x57875b(0x177)](),_0xb44428={'confirmed':!![],'token':_0x4c5f10,'value':_0x1cc513,'counter':_0x386b13,'resource':_0x56f52b['resource'],'formatKey':_0x3bcc72,'confirmedAt':_0x2a9b0c};await this['_storeIdemCache'](_0x30ab8d,_0xb44428);const _0x5b56e2=_0x3bcc72[_0x57875b(0xaf)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x293845=_0x5b56e2?_0x5b56e2[0x1]:'text',_0x40821b=this['_getCounterTTL'](_0x293845);return this[_0x57875b(0x8f)](_0x56f52b[_0x57875b(0xe0)],_0x3bcc72,{'lastConfirmedCounter':_0x386b13,'lastConfirmedAt':_0x2a9b0c},_0x40821b),logger[_0x57875b(0x130)]({'event':_0x4aa360['aznLA'],'resource':_0x56f52b['resource'],'formatKey':_0x3bcc72,'counter':_0x386b13,'token':_0x4c5f10},'ID\x20Generator\x20reservation\x20confirmed:\x20'+_0x1cc513+_0x57875b(0x185)+_0x4c5f10+')'),_0xb44428;}async['cancelReservation'](_0x164872){const _0x5c50d3=a0_0x563a93,_0x569ea2={'hetNd':_0x5c50d3(0xec),'QQVhF':function(_0x18b227,_0x151891,_0x4eed0d){return _0x18b227(_0x151891,_0x4eed0d);},'DXSfb':_0x5c50d3(0xfc)};if(!this[_0x5c50d3(0x17f)])throw new IdGeneratorError('IDGEN_DISABLED',_0x5c50d3(0x82));const _0x48b2a5=this[_0x5c50d3(0x1a0)](_0x164872&&_0x164872[_0x5c50d3(0x15c)]),_0x9bc5d9=this[_0x5c50d3(0x15e)](_0x164872&&_0x164872['idempotencyKey']);let _0x2b7d3f=null;if(_0x9bc5d9){_0x2b7d3f=idempotencyManager[_0x5c50d3(0x15a)]('idgen',_0x569ea2['hetNd'],_0x48b2a5+':'+_0x9bc5d9);const _0x519b06=await this['_retrieveIdemCache'](_0x2b7d3f);if(_0x519b06)return _0x519b06;}const _0x374107=await this['_getReservationContext'](_0x48b2a5),_0x49e64a=this['_buildReuseKey'](_0x374107['resource'],_0x374107['formatKey']),_0x49b0c3=_0x374107[_0x5c50d3(0xd7)]['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x2cf514=_0x49b0c3?_0x49b0c3[0x1]:_0x5c50d3(0x19c),_0x18b4a4=this['_getCounterTTL'](_0x2cf514),_0x41f072=redisClient['getClient'](),_0x5aa51d=await _0x41f072['eval'](LUA_CANCEL_RESERVATION,0x3,_0x374107['rsvKey'],_0x374107[_0x5c50d3(0x85)],_0x49e64a,_0x48b2a5,String(_0x18b4a4));if(!_0x5aa51d||_0x5aa51d[0x0]!==0x1)throw new IdGeneratorError(_0x5c50d3(0x163),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x48b2a5,{'token':_0x48b2a5});const _0x248a9d=_0x569ea2[_0x5c50d3(0x11e)](parseInt,_0x5aa51d[0x1],0xa),_0x2842cc=_0x5aa51d[0x2],_0x3de28e=_0x5aa51d[0x3],_0x17b45f=new Date()['toISOString'](),_0x31cfb9={'cancelled':!![],'token':_0x48b2a5,'value':_0x2842cc,'counter':_0x248a9d,'resource':_0x374107['resource'],'formatKey':_0x3de28e,'releasedToReuse':!![],'cancelledAt':_0x17b45f};return await this['_storeIdemCache'](_0x2b7d3f,_0x31cfb9),this[_0x5c50d3(0x8f)](_0x374107['resource'],_0x3de28e,{'lastCancelledCounter':_0x248a9d,'lastCancelledAt':_0x17b45f},_0x18b4a4),logger['info']({'event':_0x569ea2[_0x5c50d3(0x101)],'resource':_0x374107[_0x5c50d3(0xe0)],'formatKey':_0x3de28e,'counter':_0x248a9d,'token':_0x48b2a5},_0x5c50d3(0xc2)+_0x2842cc+_0x5c50d3(0x185)+_0x48b2a5+')'),_0x31cfb9;}async['extendReservation'](_0x5168d7){const _0x10469f=a0_0x563a93,_0x4dd581={'lVRtu':'ID\x20Generator\x20is\x20disabled','TPUcF':function(_0x2a4129,_0x3021c6){return _0x2a4129+_0x3021c6;},'QgbAX':function(_0x163c76,_0x8f02e){return _0x163c76*_0x8f02e;},'VLjoS':function(_0x520ca9,_0x5139ea){return _0x520ca9!==_0x5139ea;},'fQobH':function(_0x505014,_0x13edb2,_0x46c8e4){return _0x505014(_0x13edb2,_0x46c8e4);},'kroaN':'idgen_reservation_extended'};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x4dd581['lVRtu']);const _0x426159=this[_0x10469f(0x1a0)](_0x5168d7&&_0x5168d7['token']),_0x4bf1aa=this['_validateReserveTTL'](_0x5168d7&&_0x5168d7['ttl']),_0x2299ca=this[_0x10469f(0x15e)](_0x5168d7&&_0x5168d7['idempotencyKey']);let _0x1458b2=null;if(_0x2299ca){_0x1458b2=idempotencyManager['buildDeterministicKey']('idgen',_0x10469f(0xbc),_0x426159+':'+_0x2299ca);const _0x5453a5=await this[_0x10469f(0x19a)](_0x1458b2);if(_0x5453a5)return _0x5453a5;}const _0x3ac56b=await this[_0x10469f(0x103)](_0x426159),_0x1ba74f=Date['now'](),_0x418f21=_0x4dd581[_0x10469f(0x166)](_0x1ba74f,_0x4dd581[_0x10469f(0xf8)](_0x4bf1aa,0x3e8)),_0x37d710=_0x4bf1aa*0x3e8,_0x4350e3=new Date(_0x418f21)['toISOString'](),_0x5a5f77=redisClient[_0x10469f(0xea)](),_0x58e523=await _0x5a5f77[_0x10469f(0xa9)](LUA_EXTEND_RESERVATION,0x2,_0x3ac56b[_0x10469f(0xe1)],_0x3ac56b[_0x10469f(0x85)],_0x426159,String(_0x37d710),String(_0x418f21),_0x4350e3);if(!_0x58e523||_0x4dd581[_0x10469f(0x11c)](_0x58e523[0x0],0x1))throw new IdGeneratorError(_0x10469f(0x163),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x426159,{'token':_0x426159});const _0x4af582=_0x58e523[0x1],_0x1fe165=_0x4dd581[_0x10469f(0x181)](parseInt,_0x58e523[0x2],0xa),_0x59d7aa=_0x58e523[0x3],_0x4474e2=_0x58e523[0x4],_0x3b8fa3=new Date(_0x1ba74f)[_0x10469f(0x177)](),_0x3a64fa={'extended':!![],'token':_0x426159,'previousExpiresAt':_0x4af582,'expiresAt':_0x4350e3,'ttlMs':_0x37d710,'resource':_0x3ac56b['resource'],'formatKey':_0x4474e2,'counter':_0x1fe165,'value':_0x59d7aa,'extendedAt':_0x3b8fa3};await this[_0x10469f(0xbd)](_0x1458b2,_0x3a64fa);const _0x3bf526=_0x4474e2['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0xf7b203=_0x3bf526?_0x3bf526[0x1]:_0x10469f(0x19c),_0x1416ad=this['_getCounterTTL'](_0xf7b203);return this['_updateMeta'](_0x3ac56b['resource'],_0x4474e2,{'lastExtendedCounter':_0x1fe165,'lastExtendedAt':_0x3b8fa3},_0x1416ad),logger[_0x10469f(0x130)]({'event':_0x4dd581[_0x10469f(0x100)],'resource':_0x3ac56b['resource'],'formatKey':_0x4474e2,'counter':_0x1fe165,'token':_0x426159,'ttl':_0x4bf1aa},_0x10469f(0x11b)+_0x59d7aa+_0x10469f(0x185)+_0x426159+_0x10469f(0x186)+_0x4bf1aa+'s)'),_0x3a64fa;}async[a0_0x563a93(0x161)](_0x52fd81){const _0x40602f=a0_0x563a93,_0xfef737={'sMwzC':function(_0x43b581,_0x21d364){return _0x43b581===_0x21d364;},'guhtZ':_0x40602f(0xd5),'kCIAF':function(_0x1a4e1d,_0x2866e7){return _0x1a4e1d>=_0x2866e7;}};if(!this[_0x40602f(0x17f)])throw new IdGeneratorError(_0x40602f(0x14d),_0x40602f(0x82));const _0x17bae3=this['_validateReservationToken'](_0x52fd81&&_0x52fd81['token']),_0xe7ce00=this[_0x40602f(0x184)](_0x17bae3),_0x5e9c1d=redisClient[_0x40602f(0xea)](),_0x207fdd=_0x5e9c1d['pipeline']();_0x207fdd[_0x40602f(0x95)](_0xe7ce00),_0x207fdd[_0x40602f(0x175)](_0xe7ce00);const _0x2e42b0=await _0x207fdd['exec'](),_0x3cd354=_0x2e42b0&&_0x2e42b0[0x0]&&_0x2e42b0[0x0][0x1],_0x563fb2=_0x2e42b0&&_0x2e42b0[0x1]&&_0x2e42b0[0x1][0x1];if(!_0x3cd354||_0xfef737[_0x40602f(0x14b)](Object['keys'](_0x3cd354)[_0x40602f(0x10b)],0x0))throw new IdGeneratorError(_0x40602f(0x163),_0x40602f(0x126)+_0x17bae3,{'token':_0x17bae3});return{'token':_0x17bae3,'resource':_0x3cd354['resource']||null,'formatKey':_0x3cd354[_0x40602f(0xd7)]||null,'format':_0x3cd354['format']||null,'prefix':_0x3cd354['prefix']||'','separator':_0x3cd354[_0x40602f(0x7e)]||'','numDigits':_0x3cd354[_0x40602f(0x14a)]?parseInt(_0x3cd354[_0x40602f(0x14a)],0xa):null,'datePrefix':_0x3cd354['datePrefix']||'','counter':_0x3cd354[_0x40602f(0xf7)]?parseInt(_0x3cd354[_0x40602f(0xf7)],0xa):null,'value':_0x3cd354['value']||null,'isReused':_0xfef737[_0x40602f(0x14b)](_0x3cd354['isReused'],'1')||_0xfef737['sMwzC'](_0x3cd354['isReused'],0x1),'createdAt':_0x3cd354[_0x40602f(0x9f)]||null,'expiresAt':_0x3cd354[_0x40602f(0x183)]||null,'ttlRemainingMs':typeof _0x563fb2===_0xfef737['guhtZ']&&_0xfef737[_0x40602f(0x117)](_0x563fb2,0x0)?_0x563fb2:null};}async['_getReservationContext'](_0x1dafb0){const _0x97a701=a0_0x563a93,_0xe67f67={'FbHxe':'formatKey'},_0x266efc=this[_0x97a701(0x184)](_0x1dafb0),_0x76a5db=redisClient['getClient'](),_0x572dfb=await _0x76a5db[_0x97a701(0xdc)](_0x266efc,'resource',_0xe67f67['FbHxe']),_0x53fd9c=_0x572dfb&&_0x572dfb[0x0],_0x51b1fe=_0x572dfb&&_0x572dfb[0x1];if(!_0x53fd9c||!_0x51b1fe)throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND',_0x97a701(0x126)+_0x1dafb0,{'token':_0x1dafb0});return{'resource':_0x53fd9c,'formatKey':_0x51b1fe,'rsvKey':_0x266efc,'rsvIdxKey':this[_0x97a701(0xc9)](_0x53fd9c,_0x51b1fe)};}async['random'](_0x257b3e){const _0x1376a2=a0_0x563a93,_0x319d6f={'ziYaw':'IDGEN_DISABLED','DaHoj':_0x1376a2(0x82),'cSyyB':'random','LNhwZ':function(_0x4dec90,_0x41b6d7){return _0x4dec90<_0x41b6d7;},'lsrvk':function(_0x223efd,_0x5d89ae){return _0x223efd===_0x5d89ae;},'zMtBK':_0x1376a2(0xe6),'MoMSJ':function(_0x2f56b1,_0x241db7){return _0x2f56b1&&_0x241db7;},'ooUzI':function(_0x3780d1,_0x3c2dea){return _0x3780d1*_0x3c2dea;},'XpZuk':'idgen_random_idem_loser','vpVJH':function(_0x198402,_0x30bde6){return _0x198402||_0x30bde6;}};if(!this[_0x1376a2(0x17f)])throw new IdGeneratorError(_0x319d6f[_0x1376a2(0x133)],_0x319d6f['DaHoj']);this[_0x1376a2(0x12a)](_0x257b3e['resource']),this[_0x1376a2(0xa3)](_0x257b3e['pattern']);const _0x62434a=this[_0x1376a2(0xb9)](_0x257b3e['ttl']),_0x42135e=this['_validateMaxRetry'](_0x257b3e[_0x1376a2(0x125)]),_0xf01693=this[_0x1376a2(0x15e)](_0x257b3e['idempotencyKey']),_0xc8ffe6=_0x257b3e['ensureUnique']===!![],{resource:_0x4d7959,pattern:_0x59cb69}=_0x257b3e;let _0x1ce64b=null;if(_0xf01693){_0x1ce64b=this[_0x1376a2(0x90)](_0x319d6f[_0x1376a2(0x120)],_0x4d7959,null,_0xf01693);const _0x16b047=await this[_0x1376a2(0x19a)](_0x1ce64b);if(_0x16b047)return _0x16b047;}const _0x165d0f=redisClient['getClient']();let _0x26d308=null,_0x3f7b9f=0x0;if(!_0xc8ffe6)_0x26d308=this['_generateFromPattern'](_0x59cb69),_0x3f7b9f=0x1;else{for(let _0x49751d=0x0;_0x319d6f['LNhwZ'](_0x49751d,_0x42135e);_0x49751d++){_0x3f7b9f++;const _0x2ba768=this['_generateFromPattern'](_0x59cb69);if(_0x62434a){const _0x10b341=this[_0x1376a2(0x188)](_0x4d7959,_0x2ba768),_0x2b9c7a=await _0x165d0f['set'](_0x10b341,'1','EX',_0x62434a,'NX');if(_0x2b9c7a==='OK'){_0x26d308=_0x2ba768;break;}}else{const _0x10c56a=this['_buildIssuedKey'](_0x4d7959),_0x283913=await _0x165d0f[_0x1376a2(0x13c)](_0x10c56a,_0x2ba768);if(_0x319d6f['lsrvk'](_0x283913,0x1)){_0x26d308=_0x2ba768;break;}}}if(_0x26d308===null)throw new IdGeneratorError(_0x319d6f['zMtBK'],_0x1376a2(0xad)+_0x42135e+_0x1376a2(0x158),{'resource':_0x4d7959,'pattern':_0x59cb69,'maxRetry':_0x42135e});}const _0xf48164={'value':_0x26d308,'resource':_0x4d7959,'pattern':_0x59cb69,'attemptCount':_0x3f7b9f,'generatedAt':new Date()[_0x1376a2(0x177)]()};_0x319d6f['MoMSJ'](_0x62434a,_0xc8ffe6)&&(_0xf48164[_0x1376a2(0x183)]=new Date(Date[_0x1376a2(0xd8)]()+_0x319d6f[_0x1376a2(0x195)](_0x62434a,0x3e8))['toISOString']());const _0x16306e=await this[_0x1376a2(0x138)](_0x1ce64b,_0xf48164);if(!_0x16306e['stored'])return _0xc8ffe6&&await this[_0x1376a2(0x99)](_0x4d7959,_0x26d308,_0x62434a),logger[_0x1376a2(0x130)]({'event':_0x319d6f['XpZuk'],'resource':_0x4d7959,'pattern':_0x59cb69,'value':_0x26d308},'ID\x20Generator\x20random\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x16306e[_0x1376a2(0x18b)];return logger[_0x1376a2(0x130)]({'event':_0x1376a2(0xbf),'resource':_0x4d7959,'pattern':_0x59cb69,'attemptCount':_0x3f7b9f,'ensureUnique':_0xc8ffe6,'ttl':_0x319d6f[_0x1376a2(0x16f)](_0x62434a,0x0)},_0x1376a2(0x16c)+_0x26d308),_0xf48164;}async['pin'](_0x195a4f){const _0x3ae6a6=a0_0x563a93,_0x4225c9={'HkUqb':function(_0x669b75,_0x3de3e1){return _0x669b75>_0x3de3e1;}},_0x3b5ec0=_0x195a4f['digits']==null?this[_0x3ae6a6(0xb4)]:_0x195a4f['digits'];if(!Number['isInteger'](_0x3b5ec0)||_0x3b5ec0<MIN_PIN_DIGITS||_0x4225c9[_0x3ae6a6(0xb7)](_0x3b5ec0,MAX_PIN_DIGITS))throw new IdGeneratorError(_0x3ae6a6(0x192),_0x3ae6a6(0x11d)+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+_0x3ae6a6(0xe2)+_0x3b5ec0+')');const _0x38d2d6='9'[_0x3ae6a6(0x157)](_0x3b5ec0);return this[_0x3ae6a6(0x96)]({'resource':_0x195a4f['resource'],'pattern':_0x38d2d6,'ensureUnique':_0x195a4f['ensureUnique']===!![],'ttl':_0x195a4f[_0x3ae6a6(0x7c)],'maxRetry':_0x195a4f['maxRetry'],'idempotencyKey':_0x195a4f['idempotencyKey']});}async['serial'](_0x293ad6){const _0x2723f1=a0_0x563a93,_0x2259fe=_0x293ad6[_0x2723f1(0x182)]||this[_0x2723f1(0x194)];return this[_0x2723f1(0x96)]({'resource':_0x293ad6[_0x2723f1(0xe0)],'pattern':_0x2259fe,'ensureUnique':_0x293ad6[_0x2723f1(0xa7)]!==![],'ttl':_0x293ad6['ttl'],'maxRetry':_0x293ad6[_0x2723f1(0x125)],'idempotencyKey':_0x293ad6['idempotencyKey']});}async['code'](_0x1a9a85){const _0x16f84a=a0_0x563a93,_0x50c58f={'wwoSX':function(_0x265c27,_0x5deb0b){return _0x265c27!==_0x5deb0b;}},_0x47040b=_0x1a9a85[_0x16f84a(0x182)]||this['defaultCodePattern'];return this['random']({'resource':_0x1a9a85[_0x16f84a(0xe0)],'pattern':_0x47040b,'ensureUnique':_0x50c58f['wwoSX'](_0x1a9a85['ensureUnique'],![]),'ttl':_0x1a9a85['ttl'],'maxRetry':_0x1a9a85[_0x16f84a(0x125)],'idempotencyKey':_0x1a9a85['idempotencyKey']});}async['consume'](_0x4da450){const _0x25cb3b=a0_0x563a93,_0x4bad68={'RlWDF':'ID\x20Generator\x20is\x20disabled','xLfIW':'IDGEN_INVALID_NUMBER','LLVhv':function(_0x5d0a35,_0x281f5c){return _0x5d0a35>_0x281f5c;}};if(!this[_0x25cb3b(0x17f)])throw new IdGeneratorError('IDGEN_DISABLED',_0x4bad68['RlWDF']);this['_validateResource'](_0x4da450['resource']);if(typeof _0x4da450[_0x25cb3b(0xda)]!==_0x25cb3b(0xaa)||_0x4da450[_0x25cb3b(0xda)][_0x25cb3b(0x10b)]===0x0)throw new IdGeneratorError(_0x4bad68['xLfIW'],_0x25cb3b(0x176));const {resource:_0x490e2e,value:_0x470762}=_0x4da450,_0x836ca3=redisClient['getClient'](),_0x1e9569=this[_0x25cb3b(0x188)](_0x490e2e,_0x470762),_0x22e42e=this[_0x25cb3b(0xf9)](_0x490e2e),[_0x4e774e,_0x2f3dbb]=await Promise[_0x25cb3b(0x16e)]([_0x836ca3[_0x25cb3b(0x17a)](_0x1e9569),_0x836ca3[_0x25cb3b(0x9d)](_0x22e42e,_0x470762)]),_0x75aca8=_0x4bad68[_0x25cb3b(0x131)](_0x4e774e+_0x2f3dbb,0x0);return logger[_0x25cb3b(0x130)]({'event':'idgen_consumed','resource':_0x490e2e,'value':_0x470762,'consumed':_0x75aca8},'ID\x20Generator\x20consumed:\x20'+_0x470762),{'consumed':_0x75aca8,'resource':_0x490e2e,'value':_0x470762,'consumedAt':new Date()[_0x25cb3b(0x177)]()};}async[a0_0x563a93(0xba)](_0x125303){const _0xdeb363=a0_0x563a93,_0x57fe89={'bOMDR':'IDGEN_DISABLED','pCrXQ':function(_0x4274e5,_0x5d1db2){return _0x4274e5===_0x5d1db2;},'Xwxtt':_0xdeb363(0xd5),'UkQcF':function(_0x3546a4,_0x202af2){return _0x3546a4===_0x202af2;},'dEpEF':'random'};if(!this['enabled'])throw new IdGeneratorError(_0x57fe89['bOMDR'],'ID\x20Generator\x20is\x20disabled');this['_validateResource'](_0x125303['resource']);const _0x5560b1=_0x125303[_0xdeb363(0x10f)]||'number',_0x3b27c7=redisClient[_0xdeb363(0xea)]();if(_0x57fe89['pCrXQ'](_0x5560b1,_0x57fe89['Xwxtt'])){const _0x261299=(_0x125303['format']||_0xdeb363(0x19c))['toLowerCase']();if(!ALLOWED_FORMATS[_0xdeb363(0xe8)](_0x261299))throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0xdeb363(0xf1)+_0x125303[_0xdeb363(0xa1)]);const {formatKey:_0x43d5c6}=this[_0xdeb363(0xd3)](_0x261299,_0x125303['prefix']||''),_0x3d0610=this[_0xdeb363(0x114)](_0x125303['resource'],_0x43d5c6),_0x945678=this['_buildReuseKey'](_0x125303[_0xdeb363(0xe0)],_0x43d5c6),[_0x50906a,_0x1c9361]=await Promise[_0xdeb363(0x16e)]([_0x3b27c7['get'](_0x3d0610),_0x3b27c7['zcard'](_0x945678)]);return{'resource':_0x125303['resource'],'mode':_0x57fe89['Xwxtt'],'formatKey':_0x43d5c6,'currentCounter':parseInt(_0x50906a,0xa)||0x0,'reusePoolSize':_0x1c9361||0x0};}if(_0x57fe89['UkQcF'](_0x5560b1,_0x57fe89[_0xdeb363(0x106)])){const _0x3c4d6d=this[_0xdeb363(0xf9)](_0x125303['resource']),_0x32e8c4=await _0x3b27c7['scard'](_0x3c4d6d);return{'resource':_0x125303[_0xdeb363(0xe0)],'mode':'random','issuedCount':_0x32e8c4||0x0};}throw new IdGeneratorError(_0xdeb363(0x198),'Unknown\x20mode:\x20'+_0x5560b1);}async['getInfo'](_0x1ae227){const _0x5454b1=a0_0x563a93,_0x3bd6a4=await this['peek'](_0x1ae227);if(_0x3bd6a4[_0x5454b1(0x10f)]==='number'){const _0x717f6=redisClient['getClient'](),_0x4c44fc=this[_0x5454b1(0xf6)](_0x1ae227['resource'],_0x3bd6a4[_0x5454b1(0xd7)]),_0x25c771=this['_buildReuseKey'](_0x1ae227[_0x5454b1(0xe0)],_0x3bd6a4['formatKey']),[_0x520145,_0x27f8e9]=await Promise['all']([_0x717f6['hgetall'](_0x4c44fc),_0x717f6['zrange'](_0x25c771,0x0,-0x1)]);return{..._0x3bd6a4,'reusePoolValues':_0x27f8e9[_0x5454b1(0xfa)](_0x38b041=>parseInt(_0x38b041,0xa)),'meta':_0x520145&&Object['keys'](_0x520145)['length']>0x0?_0x520145:null};}return _0x3bd6a4;}async['reset'](_0x436c41){const _0x4ad86a=a0_0x563a93,_0x4287a9={'JhlZh':'IDGEN_DISABLED','ytSsy':'Reset\x20operation\x20not\x20allowed\x20(set\x20IDGEN_ALLOW_RESET=true\x20to\x20enable)','EIRdY':function(_0x53b29,_0x1a3593){return _0x53b29===_0x1a3593;},'buwgp':_0x4ad86a(0xd5),'birjn':_0x4ad86a(0xee),'KSXuv':'random','cfWEA':'issued','CVjIk':'IDGEN_INVALID_MODE'};if(!this[_0x4ad86a(0x17f)])throw new IdGeneratorError(_0x4287a9['JhlZh'],'ID\x20Generator\x20is\x20disabled');if(!this[_0x4ad86a(0x146)])throw new IdGeneratorError('IDGEN_RESET_NOT_ALLOWED',_0x4287a9['ytSsy']);this[_0x4ad86a(0x12a)](_0x436c41[_0x4ad86a(0xe0)]);const _0xe2cbbb=_0x436c41[_0x4ad86a(0x10f)]||_0x4ad86a(0xd5),_0x24ab58=redisClient['getClient']();if(_0x4287a9[_0x4ad86a(0xd1)](_0xe2cbbb,'number')){const _0x3815bc=(_0x436c41['format']||'text')[_0x4ad86a(0x122)]();if(!ALLOWED_FORMATS['has'](_0x3815bc))throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0x4ad86a(0xf1)+_0x436c41[_0x4ad86a(0xa1)]);const {formatKey:_0x3009be}=this[_0x4ad86a(0xd3)](_0x3815bc,_0x436c41['prefix']||''),_0x4ae335=this[_0x4ad86a(0x114)](_0x436c41[_0x4ad86a(0xe0)],_0x3009be),_0x421262=this['_buildReuseKey'](_0x436c41['resource'],_0x3009be),_0x884025=this['_buildMetaKey'](_0x436c41[_0x4ad86a(0xe0)],_0x3009be);return await _0x24ab58[_0x4ad86a(0x17a)](_0x4ae335,_0x421262,_0x884025),logger['warn']({'event':'idgen_reset','resource':_0x436c41[_0x4ad86a(0xe0)],'mode':_0x4287a9[_0x4ad86a(0xdd)],'formatKey':_0x3009be},'ID\x20Generator\x20reset:\x20'+_0x436c41['resource']+':'+_0x3009be),{'reset':!![],'resource':_0x436c41['resource'],'mode':'number','formatKey':_0x3009be,'deletedKeys':[_0x4287a9['birjn'],'reuse',_0x4ad86a(0x115)]};}if(_0xe2cbbb===_0x4287a9[_0x4ad86a(0x112)]){const _0x6ff735=this['_buildIssuedKey'](_0x436c41['resource']);return await _0x24ab58['del'](_0x6ff735),logger[_0x4ad86a(0xb1)]({'event':'idgen_reset','resource':_0x436c41['resource'],'mode':'random'},_0x4ad86a(0x160)+_0x436c41['resource']),{'reset':!![],'resource':_0x436c41['resource'],'mode':_0x4287a9['KSXuv'],'deletedKeys':[_0x4287a9['cfWEA']]};}throw new IdGeneratorError(_0x4287a9['CVjIk'],'Unknown\x20mode:\x20'+_0xe2cbbb);}}function a0_0x21ab(){const _0x1dc026=['Bwf0y2G','Dhj1zq','D2fYBG','C3rVCMvK','mtyWotHAEgTvzfq','zgvMyxvSDfbPBKrPz2L0CW','otK5os05otK5','q1HTEe0','sgTvCwi','C1zuq2K','x3zHBgLKyxrLvfrm','CgvLAW','qvzxs0u','CMvZzxj2zv9LEhrLBMq','x3n0B3jLswrLBunHy2HL','yunXweK','AwrNzw5FCMfUzg9Tx2DLBMvYyxrLza','CMy6AwrNzw46','x3zHBgLKyxrLtwf4uMv0CNK','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignHBMnLBgXLzdOG','ExL5Ew1Tzgq','ntrSD2Puq2e','mtu1mJy2nwjNA1LOsq','surhru5FuKvtrvjwrv9eruzbvuXux1ruta','yM9VBgvHBG','mJy1oti0mePAyuznsW','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','CMv1C2u6','mdeYmZq1nJC4oufcq0rfrG','x3zHBgLKyxrLuMvZzxj2zvruta','AM9PBG','r0vQuuu','Cvnwyu0','surhru5Fq09vtLrfuL9uveXFtu9oveHmwq','ruLszfK','DNrAwuC','x2j1AwXKrM9YBwf0s2v5','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcbWCMvMAxG','BNvTyMvY','swrhzw5LCMf0B3jfCNjVCG','zM9YBwf0s2v5','BM93','EujtDxq','DMfSDwu','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKihrLEhqGzM9YBwf0icHNB3q6ia','Ag1Nzxq','yNv3z3a','x2vUC3vYzuLUAxrPywXPEMvK','AwrNzw5Fy29UzMLNx2LUAxq','CMvZB3vYy2u','CNn2s2v5','icHNB3q6ia','rgPVzLm','sw52ywXPzcbPzgvTCg90zw5JEuTLEtOGBxvZDcbIzsbZDhjPBMCGms0','ntCZmvLKwwzLtG','surhru5Fvu5juvvfx1jfvfjzx0vysefvu1rfra','surhru5Fsu5wquXjrf9qqvrurvjo','AgfZ','wLriD2e','z2v0q2XPzw50','v1vkvKS','CMvZzxj2zv9Jyw5JzwW','suqGr2vUzxjHDg9Yig51BwjLCJOG','C2vX','D3z3zgm','mJD5uhrjt2W','sw52ywXPzcbMB3jTyxq6ia','x2TLEvbYzwzPEa','zgrcB2G','surhru5Fsu5wquXjrf9ovu1crvi','rg9zDg0','x2j1AwXKtwv0yuTLEq','y291BNrLCG','uwDIqvG','x2j1AwXKsxnZDwvKs2v5','BwfW','AxnfBMfIBgvK','AwrNzw5FCMvZzxj2yxrPB25Fy2fUy2vSBgvK','DwTYz0W','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','CMfUzg9Tsw50','A3jVyu4','rfHtzMi','ExL5Eq','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','CNn2oG','AwrNzw5FBwv0yv91CgrHDgvFzxjYB3i','zevWruy','surhru5Fsu5wquXjrf9srvnfuLzfx1ruta','surhru5Fsurftv9uveW','EfnVAu0','z2v0tw9UDgG','BgvUz3rO','CgfKu3rHCNq','zM9YBwf0s2v5igLZihjLCxvPCMvKigLUigXVDY1SzxzLBcbYzwXLyxnL','x2vUywjSzwq','Bw9Kzq','AwrNzw5FAwrLBv9ZDg9Yzv9LCNjVCG','sw52ywXPzcbWCMvMAxG6ig11C3qGBwf0y2GG','s1nyDxy','x3rLEhq','x2j1AwXKu2vXs2v5','Bwv0yq','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i','A0njquy','x2rLzMf1BhrnyxHszxrYEq','vgXqAKW','C3rYAw5NAwz5','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9Uigv4DgvUzgvKoIa','vKXQB1m','sw52ywXPzcbKAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','uvfwAey','C2v0','y1n5Eui','surhru5Fsu5wquXjrf9trvbbuKfut1i','Dg9mB3DLCKnHC2u','ntiXotjmwhHOv3O','x2j1AwXKuMv1C2vlzxK','Bwf4uMv0CNK','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','DhrStxm','DKLgzu4','lI9SB2DNzxi','x3zHBgLKyxrLuMvZB3vYy2u','qLvVuwC','nty1m3jnAK5lrq','zw50CMLLCW','AwrNzw5FBNvTyMvYx2LKzw1FBg9Zzxi','z3PYqNi','Aw5MBW','teXwAhy','igv4y2vLzhmG','EMLzyxC','x2rLzMf1BhrdB2rLugf0DgvYBG','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcaOz290oIa','x2rLzMf1BhrtzxjPywXqyxr0zxjU','x2LUAxrdB25MAwC','x3n0B3jLswrLBunHy2HLtLG','Cg93','tNvTyMvYigrHDgvqCMvMAxGGAw52ywXPzcbMB3iGzM9YBwf0ia','sw52ywXPzcbTyxHszxrYEtOGBxvZDcbIzsbPBNrLz2vYideT','C2fKza','x3bHzdi','surhru5Fsu5wquXjrf9gt1jnqvq','swrLBxbVDgvUy3KGu0vuie5yigvYCM9Y','z2v0','x2DLDenVDw50zxjuveW','uMfUzg9TihjLC2vYDMf0Aw9UihvUzg8GzxjYB3iGkg9YCgHHBIbZBg90ig1HEsbYzw1HAw4P','ExL5Ew1T','mta1mtKZmgnkC0vmwa','uLvUrfK','ywXSB3DszxnLDa','qwjJExq','zgv0ywLSCW','lcbLEhbLy3rLzca','BNvTrgLNAxrZ','C013EKm','CerHBKm','surhru5FreLtqujmruq','z2vUzxjHDgvKqxq','x3bHCNnLtNvTyMvY','x2nVDw50zxjuveXnyxa','ignOyxjZ','wMnXyKS','CMvZzxj2zu1HEfruta','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','q0TYsui','qvD1y04','CMvWzwf0','igf0DgvTChrZlIbjBMnYzwfZzsbWyxr0zxjUigXLBMD0AcbVCIbTyxHszxrYEs4','AhnLDa','yNvPBgrezxrLCM1PBMLZDgLJs2v5','BgL1Dxy','Dg9Rzw4','wvPhEuq','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','AvbPu1C','suqGr2vUzxjHDg9YihjLC2v0oIbYyw5KB206','z2v0uMvZzxj2yxrPB24','u2DzweC','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','mtq4oezcEePNwq','CNjlq0S','vfbvy0y','tNvTyMvYihbYzwzPEcbTAxnTyxrJAdOGzxHWzwn0zwqG','EhbAD00','AwrNzw5FAwrLBv9UEf9YywnLx2XVC3rFyNv0x2vTChr5','BwvZC2fNzq','surhru5Fq09vtLrfuL9uveXFrefjtfK','suqGr2vUzxjHDg9YihjHBMrVBtOG','x2zVCM1HDe51BwjLCG','ywXS','DNbwsKG','u0vuie5yigzHAwXLzcbIDxqGy2fJAguGr0vuihjLDhvYBMvKigvTChr5iokaLcbMywXSAw5NigjHy2SGDg8GB3DUihjLC3vSDa','rfr3EuG','rMfPBgvKihrVihbLCNnPC3qGzM9YBwf0DgvKihzHBhvLihrVihjLC2vYDMf0Aw9UigHHC2G','zw52','zfnczgW','Chr0Ba','DMfSDwuGAxmGCMvXDwLYzwq','Dg9ju09tDhjPBMC','x2LKzw1uveW','y29UzMLYBvjLC2vYDMf0Aw9U','zgvS','ExznwKO','AwrLBxbVDgvUy3LlzxK','AwrLBvruta','CMvSzwfZzwrbDa','zw5HyMXLza','x3L5ExLTBwrKxW','zLfVyKG','Cgf0DgvYBG','zxHWAxjLC0f0','x2j1AwXKuMvZzxj2yxrPB25lzxK','icH0B2TLBJ0','lcaR','rMfPBgvKihrVignHBMnLBcbYzxnLCNzHDgLVBIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','x2j1AwXKqwn0AxzLs2v5','CxzfBu0','DgvZDa','D2LUBMvYuMvZDwX0','AwrLBuTLEq','z21Usuq','CgXqBuG','sw52ywXPzcbYzxnLCNzHDgLVBIb0B2TLBJOGBxvZDcbIzsbHihzHBgLKifvvsuqGzM9YBwf0icHNB3q6ia','CgfYC2u','nJjxwMHQCLG','surhru5Fsu5wquXjrf9esuDjvfm','C3bSAxq','zgvMyxvSDfnLCMLHBfbHDhrLCM4','B29vEKK','ChjLzML4','y3j5ChrV','surhru5Fsu5wquXjrf9nt0rf','sw52ywXPzcbUDw1Izxi6ig11C3qGyMuGBM9UlwvTChr5ihn0CMLUzW','x3jLDhjPzxzLswrLBunHy2HL','suqGr2vUzxjHDg9YignVBMzPzYbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','Dgv4Da','rg55swq','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYWGj2LZuMv1C2vKjYWGj2nYzwf0zwrbDcCSicDLEhbPCMvZqxqNkqPYzwrPCY5JywXSkcDeruWNlcblrvLtwZfDkqPYzwrPCY5JywXSkcDAuKvnjYWGs0vzu1SYxsWGqvjhvLSXxsKkCMv0DxjUihSGmsWGAfSXxsWGAfSYxsWGAfSZxsWGAfS0xsWGAfS1xsWGAfS2xsb9cG','sw52ywXPzcbWyxr0zxjUoIbTDxn0ignVBNrHAw4GyxqGBgvHC3qGB25LihbSywnLAg9SzgvYignOyxjHy3rLCIaOos9ol0eVys9ml1GVEc9il2GP','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','tfnLvwy','Bwv0ytO','lI9YzwrPCY1JBgLLBNq','CMvZzxj2zurLzMf1BhruveW','CMvZzxj2zv9JB25MAxjT','ChvZAa','CMvSzwfZzq','AxnjBNrLz2vY','DhrS','x2LUAxrPywXPEMvK','C2vWyxjHDg9Y','x2DLBMvYyxrLrNjVBvbHDhrLCM4','x3L5ExLTBv8','AxnZDwvKoG','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','uuPotMu','lI9PzgvTCg90zw5JEs1Tyw5Hz2vY','CNn2swr4s2v5','x2fSBg93uMvZzxq','lcbNB3qG','sxDZwKG','A2v5uhjLzML4','q3DMBxe','nda2AKzMq0z3','zxHWB3j0CW','rfbXChK','y291BNrLCKLUDa','x3vWzgf0zu1LDge','x2j1AwXKswrLBuTLEq','z2v0rgf0zq','mtf8n3W0Fdj8nxWXmhW2Fdf8m3W4FdL8ma','ihnLy29UzhmGkgDVDdOG','AwrNzw5FAwrLBv9SB3nLCL9YzwXLyxnLx2vYCM9Y','AgDLDgfSBa','CMfUzg9T','x2rLzMf1BhrqAw5eAwDPDhm','cNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZfDlcbbuKDwwZfDlcbbuKDwwZfDkqPSB2nHBcb0DgWGpsb0B251BwjLCIHbuKDwwZjDkqPPzIb0DgWGpIaWihrOzw4kicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcb0DgWPcMvUzaPYzxr1CM4GmqO','x3vUzg9syw5KB21szxnLCNzHDgLVBG','AwrNzw4','mdeYmZq1nJC4oq','AwrNzw5FAwrLBv9YzxrYAwv2zv9LCNjVCG','C3jLBq','surhru5Fsu5wquXjrf9quKvgsvG','y3jLyxrLzef0','CxPur0O','zM9YBwf0','uwzHCNe','x3zHBgLKyxrLugf0DgvYBG','tNvTyMvYignVDw50zxiGCgfYDcbTDxn0igjLigv4ywn0BhKG','x2j1AwXKuMvZzxj2yxrPB25lzxLqCMvMAxG','CNPhvxO','zw5ZDxjLvw5PCxvL','surhru5Fsu5wquXjrf9uveW','zxzHBa','C3rYAw5N','AwrNzw5FCMvZzxj2zv92ywX1zv9WzxjZAxn0x2vYCM9Y','x3jLC2vYDMvnyxHuveW','q291BgqGBM90igDLBMvYyxrLihvUAxf1zsb2ywX1zsbHzNrLCIa','x3jLC2vYDMvezwzHDwX0vfrm'];a0_0x21ab=function(){return _0x1dc026;};return a0_0x21ab();}const instance=new IdGenerator();instance[a0_0x563a93(0xd6)]=IdGeneratorError,module[a0_0x563a93(0x8c)]=instance,module['exports'][a0_0x563a93(0xd6)]=IdGeneratorError;
1
+ 'use strict';const a0_0x4dc06d=a0_0x4ac6;(function(_0x5a2943,_0x25cd36){const _0x4e48f8=a0_0x4ac6,_0x1ef6a5=_0x5a2943();while(!![]){try{const _0x3c26bb=-parseInt(_0x4e48f8(0xe4))/0x1*(-parseInt(_0x4e48f8(0x119))/0x2)+-parseInt(_0x4e48f8(0x103))/0x3+parseInt(_0x4e48f8(0xd2))/0x4*(-parseInt(_0x4e48f8(0xab))/0x5)+-parseInt(_0x4e48f8(0xf7))/0x6*(-parseInt(_0x4e48f8(0x188))/0x7)+-parseInt(_0x4e48f8(0x142))/0x8*(parseInt(_0x4e48f8(0xe2))/0x9)+parseInt(_0x4e48f8(0xfb))/0xa*(parseInt(_0x4e48f8(0x17c))/0xb)+-parseInt(_0x4e48f8(0xaf))/0xc*(-parseInt(_0x4e48f8(0xc3))/0xd);if(_0x3c26bb===_0x25cd36)break;else _0x1ef6a5['push'](_0x1ef6a5['shift']());}catch(_0x2af77f){_0x1ef6a5['push'](_0x1ef6a5['shift']());}}}(a0_0x1077,0xaef98));function a0_0x4ac6(_0x5b2ac9,_0x4f3362){_0x5b2ac9=_0x5b2ac9-0x9c;const _0x1077bc=a0_0x1077();let _0x4ac61c=_0x1077bc[_0x5b2ac9];if(a0_0x4ac6['NlrRlz']===undefined){var _0x277257=function(_0x1e3741){const _0x321eeb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1fe9ef='',_0x2491ed='';for(let _0x1528de=0x0,_0x4aadaa,_0x5bda50,_0x18fa12=0x0;_0x5bda50=_0x1e3741['charAt'](_0x18fa12++);~_0x5bda50&&(_0x4aadaa=_0x1528de%0x4?_0x4aadaa*0x40+_0x5bda50:_0x5bda50,_0x1528de++%0x4)?_0x1fe9ef+=String['fromCharCode'](0xff&_0x4aadaa>>(-0x2*_0x1528de&0x6)):0x0){_0x5bda50=_0x321eeb['indexOf'](_0x5bda50);}for(let _0x5915b1=0x0,_0x1c2659=_0x1fe9ef['length'];_0x5915b1<_0x1c2659;_0x5915b1++){_0x2491ed+='%'+('00'+_0x1fe9ef['charCodeAt'](_0x5915b1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2491ed);};a0_0x4ac6['fBsxTh']=_0x277257,a0_0x4ac6['cwpoLH']={},a0_0x4ac6['NlrRlz']=!![];}const _0x23ea36=_0x1077bc[0x0],_0x503598=_0x5b2ac9+_0x23ea36,_0xf1cd6f=a0_0x4ac6['cwpoLH'][_0x503598];return!_0xf1cd6f?(_0x4ac61c=a0_0x4ac6['fBsxTh'](_0x4ac61c),a0_0x4ac6['cwpoLH'][_0x503598]=_0x4ac61c):_0x4ac61c=_0xf1cd6f,_0x4ac61c;}function a0_0x1077(){const _0x5e23ab=['sw52ywXPzcbMB3jTyxq6ia','x3zHBgLKyxrLtwf4uMv0CNK','sw52ywXPzcbWyxr0zxjUoIbTDxn0igjLihn0CMLUzYaXlq','x2j1AwXKsxnZDwvKs2v5','CMPIz3q','C2vX','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignHBMnLBgXLzdOG','AwrNzw5FCMvZzxq','nMvItw9vua','surhru5Fru5bqKXfra','x2LKzw1uveW','x3rLEhq','mta3mfLRz2HTCa','y3jLyxrLzef0','DwzRr1m','igrPz2L0CYaOz290oIa','x2fSBg93uMvZzxq','BNLuv2K','AgfZ','x2j1AwXKuMv1C2vlzxK','mZiYndyYnuH5CfvHva','Chr0Ba','DhrS','CMXxtuW','EMjfuey','C2rfDKW','zw5ZDxjLvw5PCxvL','zuzcz1u','sw52ywXPzcbYzxnVDxjJztOGBxvZDcbTyxrJAca','ihbHCNrZkq','y291BNrLCKLUDa','Bwf0y2G','A2v5uhjLzML4','u0vuie5yigzHAwXLzcbIDxqGy2fJAguGr0vuihjLDhvYBMvKigvTChr5iokaLcbMywXSAw5NigjHy2SGDg8GB3DUihjLC3vSDa','C3rYAw5NAwz5','z21IwLu','AwrNzw5FCMvZzxj2yxrPB25Fy29UzMLYBwvK','BLz6s2S','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','x2j1AwXKuMvZzxj2yxrPB25lzxK','C2vWyxjHDg9Y','x2zVCM1HDe51BwjLCG','otH1B0nYBg4','x2j1AwXKu2vXs2v5','surhru5Fsu5wquXjrf9qqvrurvjo','CMvZzxj2zu1HEfruta','y291BNrLCG','Dg9mB3DLCKnHC2u','CLfHrhO','Dgv4Da','AwrNzw5FAwrLBv9ZDg9Yzv9LCNjVCG','surhru5Fsu5wquXjrf9ovu1crvi','cMLMiefsr1zBmv0Gpt0GjZeNihrOzw4kicbSB2nHBcbYzxvZzwqGpsbYzwrPCY5JywXSkcDAue9qtuLojYWGs0vzu1SYxsWGmsKkicbPzIaJCMv1C2vKid4Gmcb0AgvUcIaGicbYzxr1CM4GE3rVBNvTyMvYkhjLDxnLzfSXxsKSidf9cIaGzw5KcMvUzaPSB2nHBcbUid0GCMvKAxmUy2fSBcGNsu5duICSieTfwvnBmv0PcMXVy2fSihr0Bca9ihrVBNvTyMvYkefsr1zBmL0PcMLMihr0Bca+idaGyw5Kig4Gpt0Gmsb0AgvUcIaGCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SXxsWGDhrSkqPLBMqkCMv0DxjUihTUlcaWFqO','Bwf4uMv0CNK','suqGr2vUzxjHDg9Yig51BwjLCIbYzwXLyxnLzdOG','zxHWB3j0CW','yNvPBgrezxrLCM1PBMLZDgLJs2v5','zgvMyxvSDfnLCMLHBfbHDhrLCM4','vw5RBM93BIbMB3jTyxq6ia','tLHIs2y','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','ywn0AxzLoG','D2vrB00','zxHWAxjL','Dg9Rzw4','x2vUC3vYzuLUAxrPywXPEMvK','sw52ywXPzcbWCMvMAxG6ig11C3qGBwf0y2GG','C3jLBq','sw52ywXPzcbKAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','CMjTqLi','yM9VBgvHBG','rMfPBgvKihrVignHBMnLBcbYzxnLCNzHDgLVBIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','CNn2swr4s2v5','zgvMyxvSDenVzgvqyxr0zxjU','zK1Xuey','BNvTrgLNAxrZ','zgvS','zM9YBwf0s2v5igLZihjLCxvPCMvKigLUigXVDY1SzxzLBcbYzwXLyxnL','zfzgseC','x2rLzMf1BhrtzxjPywXqyxr0zxjU','surhru5Fsu5wquXjrf9uveW','AwrNzw5FCMfUzg9Tx2DLBMvYyxrLza','surhru5Fq09vtLrfuL9uveXFrefjtfK','nJiXmZq0ofPVzLbosq','qu1RCwO','DvPms0G','x2rLzMf1BhrdB2rLugf0DgvYBG','swrhzw5LCMf0B3jfCNjVCG','CMfUzg9Tsw50','sw52ywXPzcbYzxvZzurLBgv0ztOGBxvZDcbIzsbIB29SzwfUicHNB3q6ia','AwrNzw5Fy29UC3vTzwq','AwrNzw5FBNvTyMvYx3jLBgvHC2vK','z2v0','ExL5Ew1Tzgq','ENjHBMDL','surhru5Fsu5wquXjrf9esuDjvfm','EhPHBxu','icHNB3q6ia','qu1xtwm','sw52ywXPzcbYzxnLCNzHDgLVBIb0DgW6ig11C3qGyMuGAw50zwDLCIa','B2f6vLG','Be9hzgq','suqGr2vUzxjHDg9YihjHBMrVBsbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','Dhj1zq','DMfSDwu','x3zHBgLKyxrLvfrm','CvLTq0O','BMfTzq','D2fYBG','C2nHCMq','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','x2LUAxrPywXPEMvK','zxHLyW','wfHywc1ywfHylvHywfGTwfHywa','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','x2j1AwXKtwv0yuTLEq','zM9YBwf0s2v5','yNzMAuC','y2fUy2vSuMvZzxj2yxrPB24','se5JCvG','xLXKEW','CMfUzg9T','x3zHBgLKyxrLuMvZB3vYy2u','De5NCeS','yLnUuNa','sw52ywXPzcbYzxnLCNzHDgLVBIb0B2TLBJOGBxvZDcbIzsbHihzHBgLKifvvsuqGzM9YBwf0icHNB3q6ia','CML4q2W','surhru5Fvu5juvvfx1jfvfjzx0vysefvu1rfra','AwrNzw5FBNvTyMvYx2DLBMvYyxrLza','BNvTyMvY','uK91Eee','x2DLBMvYyxrLrNjVBvbHDhrLCM4','t09ivgm','re5KrfG','CNn2oG','yKXjt3G','BgvUz3rO','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','zMrhvhe','u01twxK','cNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZfDlcbbuKDwwZfDlcbbuKDwwZfDkqPSB2nHBcb0DgWGpsb0B251BwjLCIHbuKDwwZjDkqPPzIb0DgWGpIaWihrOzw4kicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcb0DgWPcMvUzaPYzxr1CM4GmqO','mta5mJe5Eu9bs1vb','zxzHBa','suvZuwW','D2v1EKC','z2vUzxjHDgvKqxq','x3bHzdi','CgvLAW','ywzfEg4','BxDJrLi','CgfKu3rHCNq','werOAKm','x2j1AwXKqwn0AxzLs2v5','ndG5mZGZm2PmDvjKDq','z2v0uMvZzxj2yxrPB24','y29Kzq','zgf0zvbYzwzPEa','BvnIuLa','DMTIyva','CvDkD2i','x2j1AwXKrM9YBwf0s2v5','AwrLBxbVDgvUy3LlzxK','De5KCgy','AxnjBNrLz2vY','AxnszxvZzwq','uhb1AhK','CgfYC2u','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvO','tNvTyMvYignVDw50zxiGCgfYDcbTDxn0igjLigv4ywn0BhKG','uwXOEMG','wKDKtMS','AwrNzw4','x2rLzMf1BhrnyxHszxrYEq','CMvWzwf0','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i','x3vWzgf0zu1LDge','x3jLDhjPzxzLswrLBunHy2HL','C2v0','q291BgqGBM90igDLBMvYyxrLihvUAxf1zsb2ywX1zsbHzNrLCIa','D2LUBMvYuMvZDwX0','CMvSzwfZzwrbDa','y3j5ChrV','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','C3rYAw5N','C2v0zxG','CMvZB3vYy2u','Dg9ju09tDhjPBMC','sw52ywXPzcbMB3jTyxq6ig11C3qGyMuGB25Lig9Mia','z2v0rgf0zq','x3n0B3jLswrLBunHy2HL','CMv1C2u','y2XVq3C','CMvSzwfZzu51BwjLCG','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKihrLEhqGzM9YBwf0icHNB3q6ia','lcbNB3qG','ihnLy29UzhmGkgDVDdOG','lwrPz2L0ignHCgfJAxr5icG','x2j1AwXKswrLBuTLEq','zgvMyxvSDfbPBKrPz2L0CW','sw52ywXPzcbUDw1eAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','x2LUAxrdB25MAwC','v2zoyMe','tvnWqLi','DMfSDwuGAxmGCMvXDwLYzwq','igf0DgvTChrZlIbjBMnYzwfZzsbWyxr0zxjUigXLBMD0AcbVCIbTyxHszxrYEs4','CMvZzxj2zv9JB25MAxjT','CML0B0u','sw52ywXPzcbTyxHszxrYEtOGBxvZDcbIzsbPBNrLz2vYideT','qK1mq0C','surhru5Fsu5wquXjrf9gt1jnqvq','sw52ywXPzcb0DgW6ig11C3qGyMuGAw50zwDLCIaXlq','AgDLDgfSBa','rMfPBgvKihrVihjLBgvHC2uGy291BNrLCIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','y29UC3vTzq','x3n0B3jLswrLBunHy2HLtLG','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','suqGr2vUzxjHDg9Yig51BwjLCIbYzxnLCNzLzdOG','mta0odGWnxvsCen4Bq','suqGr2vUzxjHDg9Yig51BwjLCJOG','suqGr2vUzxjHDg9YignVBMzPzYbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','surhru5Fsu5wquXjrf9ovu1FreLhsvrt','mZmYnfb1txD6Aa','zM9YBwf0','yxLSwLG','u1LZCK0','surhru5FuKvtrvrFtK9ux0fmte9xruq','z2f5yLy','mdeYmZq1nJC4oq','AuXbvM4','AxnfBMfIBgvK','AhnLDa','icH0B2TLBJ0','x3jLC2vYDMvnyxHuveW','z2v0rNvSBfLLyxi','wNr1suC','z2v0q2XPzw50','ywXS','AwrNzw5FBNvTyMvYx2LKzw1FBg9Zzxi','ChvZAa','ExL5Ew1T','qKrQqKq','nduWmtLlv0n4qwS','surhru5Fq09vtLrfuL9pvKvsrKXpvW','otK5os05otK5','x3zHBgLKyxrLuMvZzxj2zvruta','x2nVDw50zxjuveXnyxa','surhru5Frevgqvvmvf9dt0rfx1bbvfrfuK4','x3jLC2vYDMvezwzHDwX0vfrm','zw5HyMXLza','Aw5MBW','C3rVCMvK','DNnfr2O','Cvrwwe4','zgrJqxK','sgzLzfG','BwvZC2fNzq','ohrvu3bbrW','AxnZDwvK','surhru5FreLtqujmruq','suqGr2vUzxjHDg9YignVBNn1BwvKoIa','C2fKza','x2rLzMf1BhrqAw5eAwDPDhm','BLrhBvm','CgLWzwXPBMu','AwrNzw5FAwrLBv9ZDg9Yzw54x2vYCM9Y','zgv0ywLSCW','lI9YzwrPCY1JBgLLBNq','zgHIq1i','zMrzrfK','rxPHsuS','C3bSAxq','Bw9Kzq','oxvQDujbBW','x2TLEvbYzwzPEa','ntq0owjis2L2qG','CMXuDM8','sw52ywXPzcbWyxr0zxjUoIbTDxn0ignVBNrHAw4GyxqGBgvHC3qGB25LihbSywnLAg9SzgvYignOyxjHy3rLCIaOos9ol0eVys9ml1GVEc9il2GP','x2DLDenVDw50zxjuveW','t0v5rM4','Eu1yv0m','x2vUywjSzwq','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','zw52','DgvZDa'];a0_0x1077=function(){return _0x5e23ab;};return a0_0x1077();}const crypto=require(a0_0x4dc06d(0x1a4)),redisClient=require(a0_0x4dc06d(0xdc)),{logger}=require('./logger'),idempotencyManager=require('./idempotency-manager'),ALLOWED_FORMATS=new Set(['text','yyyy',a0_0x4dc06d(0xc1),a0_0x4dc06d(0x14c)]),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_0x4dc06d(0xb5),CHARSET_UPPER=a0_0x4dc06d(0x196),CHARSET_LOWER='abcdefghijklmnopqrstuvwxyz',CHARSET_LETTERS=CHARSET_UPPER+CHARSET_LOWER,CHARSET_UPPER_ALNUM=CHARSET_UPPER+CHARSET_DIGIT,CHARSET_MIXED_ALNUM=CHARSET_UPPER+CHARSET_LOWER+CHARSET_DIGIT,CHARSET_HEX_UPPER='0123456789ABCDEF',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_0x4dc06d(0x123),LUA_RELEASE_NUMBER=a0_0x4dc06d(0x17b),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='\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,\x20\x27isReused\x27,\x20\x27createdAt\x27,\x20\x27expiresAt\x27)\x0aredis.call(\x27DEL\x27,\x20KEYS[1])\x0aredis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0areturn\x20{\x201,\x20h[1],\x20h[2],\x20h[3],\x20h[4],\x20h[5],\x20h[6]\x20}\x0a',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='\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';class IdGeneratorError extends Error{constructor(_0xaab07a,_0xbe1250,_0x20414f=null){const _0x4a824b=a0_0x4dc06d;super(_0xbe1250||_0xaab07a),this[_0x4a824b(0x15a)]='IdGeneratorError',this[_0x4a824b(0x18a)]=_0xaab07a,this[_0x4a824b(0xdb)]=_0x20414f;}}class IdGenerator{constructor(){const _0xa5c0f9=a0_0x4dc06d;this[_0xa5c0f9(0x15e)]=![],this[_0xa5c0f9(0xea)]=null,this['_keyPrefix']=null,this['_idemTTL']=null,this[_0xa5c0f9(0xff)]=null,this['_defaultMaxRetry']=null,this['_defaultPinDigits']=null,this['_defaultSerialPattern']=null,this['_defaultCodePattern']=null,this[_0xa5c0f9(0xc7)]=null,this['_reserveDefaultTTL']=null,this['_reserveMaxTTL']=null;}[a0_0x4dc06d(0x1b7)](){const _0x15e3f3=a0_0x4dc06d,_0x1d83dd={'KwUAU':'rf:idgen:','KlePy':function(_0xff8535,_0x2e2b0e){return _0xff8535===_0x2e2b0e;},'fOGrR':function(_0x9595db,_0xb4b1c5,_0x86551a){return _0x9595db(_0xb4b1c5,_0x86551a);},'dhbCR':_0x15e3f3(0xc5),'yMXWC':function(_0x2c6d31,_0x4b421b,_0xbec4c6){return _0x2c6d31(_0x4b421b,_0xbec4c6);}};this[_0x15e3f3(0xe3)]=_0x1d83dd['KwUAU'],this['_enabled']=_0x1d83dd['KlePy'](process['env'][_0x15e3f3(0xf8)],_0x15e3f3(0x156)),this[_0x15e3f3(0xf9)]=_0x1d83dd['fOGrR'](parseInt,process['env']['IDGEN_IDEM_TTL'],0xa)||0x258,this['_allowReset']=process['env']['IDGEN_ALLOW_RESET']==='true',this[_0x15e3f3(0x19b)]=parseInt(process['env']['IDGEN_DEFAULT_MAX_RETRY'],0xa)||0xa,this[_0x15e3f3(0xd7)]=parseInt(process['env']['IDGEN_DEFAULT_PIN_DIGITS'],0xa)||0x6,this[_0x15e3f3(0x13e)]=process[_0x15e3f3(0xed)]['IDGEN_DEFAULT_SERIAL_PATTERN']||_0x15e3f3(0x160),this['_defaultCodePattern']=process['env'][_0x15e3f3(0xc8)]||_0x1d83dd[_0x15e3f3(0xdd)],this[_0x15e3f3(0xc7)]={'yyyymm':_0x1d83dd[_0x15e3f3(0xe9)](parseInt,process[_0x15e3f3(0xed)]['IDGEN_COUNTER_TTL_MONTHLY'],0xa)||0x2a3000,'yyyymmdd':parseInt(process[_0x15e3f3(0xed)][_0x15e3f3(0x141)],0xa)||0x2a300},this['_reserveDefaultTTL']=parseInt(process[_0x15e3f3(0xed)]['IDGEN_RESERVE_DEFAULT_TTL'],0xa)||DEFAULT_RESERVE_TTL,this[_0x15e3f3(0xba)]=parseInt(process['env']['IDGEN_RESERVE_MAX_TTL'],0xa)||MAX_RESERVE_TTL,this[_0x15e3f3(0x15e)]=!![],logger[_0x15e3f3(0xcb)]({'event':'idgen_config_init','enabled':this[_0x15e3f3(0xea)],'idemTTL':this['_idemTTL'],'allowReset':this['_allowReset'],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this[_0x15e3f3(0xd7)],'reserveDefaultTTL':this[_0x15e3f3(0xc9)],'reserveMaxTTL':this[_0x15e3f3(0xba)]},_0x15e3f3(0xad)+this[_0x15e3f3(0xea)]);}[a0_0x4dc06d(0x130)](){const _0x525747=a0_0x4dc06d;if(!this[_0x525747(0x15e)])this[_0x525747(0x1b7)]();}get['enabled'](){const _0x18e5fb=a0_0x4dc06d;return this[_0x18e5fb(0x130)](),this['_enabled'];}get['keyPrefix'](){const _0x179dda=a0_0x4dc06d;return this[_0x179dda(0x130)](),this[_0x179dda(0xe3)];}get['idemTTL'](){const _0x515e1c=a0_0x4dc06d;return this[_0x515e1c(0x130)](),this['_idemTTL'];}get['allowReset'](){return this['_ensureInitialized'](),this['_allowReset'];}get['defaultMaxRetry'](){const _0x3e35af=a0_0x4dc06d;return this[_0x3e35af(0x130)](),this[_0x3e35af(0x19b)];}get[a0_0x4dc06d(0x1b5)](){const _0x224dd3=a0_0x4dc06d;return this[_0x224dd3(0x130)](),this[_0x224dd3(0xd7)];}get[a0_0x4dc06d(0x128)](){return this['_ensureInitialized'](),this['_defaultSerialPattern'];}get[a0_0x4dc06d(0x138)](){const _0x8c173f=a0_0x4dc06d;return this['_ensureInitialized'](),this[_0x8c173f(0x145)];}get['reserveDefaultTTL'](){const _0x2f8411=a0_0x4dc06d;return this[_0x2f8411(0x130)](),this[_0x2f8411(0xc9)];}get[a0_0x4dc06d(0x11c)](){const _0x4d2670=a0_0x4dc06d;return this['_ensureInitialized'](),this[_0x4d2670(0xba)];}[a0_0x4dc06d(0xb7)](){return this['enabled'];}[a0_0x4dc06d(0x169)](_0x211534){const _0x24f7d4=a0_0x4dc06d,_0x414740={'oazVX':function(_0x5f4189,_0xa52b8f){return _0x5f4189!==_0xa52b8f;},'qTVXN':'IDGEN_INVALID_RESOURCE'};if(_0x414740[_0x24f7d4(0x153)](typeof _0x211534,'string')||!RESOURCE_REGEX[_0x24f7d4(0xee)](_0x211534))throw new IdGeneratorError(_0x414740[_0x24f7d4(0xce)],_0x24f7d4(0x10b)+RESOURCE_REGEX+_0x24f7d4(0x150)+JSON[_0x24f7d4(0x111)](_0x211534)+')');}[a0_0x4dc06d(0x161)](_0x198bd3){const _0x369e9b=a0_0x4dc06d,_0x2e85a8={'gaybV':function(_0x2d66f1,_0x43a63a){return _0x2d66f1===_0x43a63a;},'weQoM':function(_0x2a0330,_0x5a8976){return _0x2a0330>_0x5a8976;},'tNdpf':function(_0x2b00ce,_0x17775c){return _0x2b00ce==_0x17775c;},'rjbgt':function(_0x2ad28c,_0x369d21){return _0x2ad28c!==_0x369d21;},'SbhUl':'IDGEN_INVALID_PREFIX','xJnnc':'IDGEN_INVALID_SEPARATOR','weuzG':function(_0xbaf406,_0xda475){return _0xbaf406!=_0xda475;},'wuTdL':function(_0xccf4ea,_0x4d1943){return _0xccf4ea!==_0x4d1943;},'mwcFR':_0x369e9b(0x135),'OOHTc':'IDGEN_INVALID_RESOURCE'},{resource:_0x1fd444,format:_0x1790da,prefix:_0x25e509,separator:_0x2f99e8,numDigits:_0x556480,reuseDelete:_0x327051}=_0x198bd3;this['_validateResource'](_0x1fd444);const _0xf1585f=_0x2e85a8[_0x369e9b(0xb4)](typeof _0x1790da,_0x369e9b(0x1a6))?_0x1790da['toLowerCase']():'';if(!ALLOWED_FORMATS[_0x369e9b(0x101)](_0xf1585f))throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0x369e9b(0x1aa)+[...ALLOWED_FORMATS]['join'](',\x20')+_0x369e9b(0x150)+_0x1790da+')');if(!Number['isInteger'](_0x556480)||_0x556480<MIN_NUM_DIGITS||_0x2e85a8[_0x369e9b(0x12d)](_0x556480,MAX_NUM_DIGITS))throw new IdGeneratorError(_0x369e9b(0xae),_0x369e9b(0x1b6)+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+_0x369e9b(0x150)+_0x556480+')');const _0x4bd61d=_0x2e85a8[_0x369e9b(0x191)](_0x25e509,null)?'':_0x25e509;if(_0x2e85a8[_0x369e9b(0xf3)](typeof _0x4bd61d,_0x369e9b(0x1a6))||!PREFIX_REGEX['test'](_0x4bd61d))throw new IdGeneratorError(_0x2e85a8['SbhUl'],_0x369e9b(0x131)+PREFIX_REGEX+_0x369e9b(0x150)+JSON[_0x369e9b(0x111)](_0x25e509)+')');const _0x57379c=_0x2f99e8==null?'':_0x2f99e8;if(typeof _0x57379c!=='string'||_0x57379c[_0x369e9b(0x177)]>0x3||SEPARATOR_FORBIDDEN[_0x369e9b(0xee)](_0x57379c))throw new IdGeneratorError(_0x2e85a8['xJnnc'],'Invalid\x20separator:\x20max\x203\x20char,\x20must\x20not\x20contain\x20\x27:\x27\x20(got:\x20'+JSON['stringify'](_0x2f99e8)+')');if(_0x2e85a8[_0x369e9b(0x17f)](_0x327051,null)&&_0x2e85a8['wuTdL'](typeof _0x327051,_0x2e85a8[_0x369e9b(0x184)]))throw new IdGeneratorError(_0x2e85a8[_0x369e9b(0x173)],_0x369e9b(0x148)+typeof _0x327051+')');return{'resource':_0x1fd444,'format':_0xf1585f,'prefix':_0x4bd61d,'separator':_0x57379c,'numDigits':_0x556480,'reuseDelete':_0x327051===!![]};}['_validatePattern'](_0x16a119){const _0x2343c6=a0_0x4dc06d,_0x5da05c={'UpnCz':function(_0x215a51,_0x3c9ee4){return _0x215a51!==_0x3c9ee4;},'AMWMc':function(_0x5b69d0,_0x35eb77){return _0x5b69d0===_0x35eb77;},'SrGGi':_0x2343c6(0x11b)};if(_0x5da05c['UpnCz'](typeof _0x16a119,'string')||_0x5da05c[_0x2343c6(0x151)](_0x16a119[_0x2343c6(0x177)],0x0)||_0x16a119[_0x2343c6(0x177)]>MAX_PATTERN_LENGTH)throw new IdGeneratorError(_0x5da05c['SrGGi'],_0x2343c6(0xf1)+MAX_PATTERN_LENGTH+'\x20chars\x20(got\x20length:\x20'+(_0x16a119&&_0x16a119[_0x2343c6(0x177)])+')');let _0x5e3d1d=![];for(const _0xc5e097 of _0x16a119){if(PLACEHOLDER_MAP[_0xc5e097]){_0x5e3d1d=!![];break;}}if(!_0x5e3d1d)throw new IdGeneratorError('IDGEN_INVALID_PATTERN',_0x2343c6(0xe6));}[a0_0x4dc06d(0x158)](_0x3ca9b5){const _0x3915da=a0_0x4dc06d,_0x438ddb={'IEsQl':function(_0x4fc12b,_0x454069){return _0x4fc12b==_0x454069;}};if(_0x438ddb[_0x3915da(0x17e)](_0x3ca9b5,null))return undefined;if(!Number['isInteger'](_0x3ca9b5)||_0x3ca9b5<0x1||_0x3ca9b5>MAX_TTL)throw new IdGeneratorError(_0x3915da(0x13f),_0x3915da(0xa4)+MAX_TTL+_0x3915da(0x1b2)+_0x3ca9b5+')');return _0x3ca9b5;}['_validateMaxRetry'](_0x1a3b28){const _0xdf6b66=a0_0x4dc06d,_0x600adb={'uZLKH':function(_0x70d2bd,_0x5bac80){return _0x70d2bd==_0x5bac80;},'TbamP':function(_0x5058f8,_0x228ced){return _0x5058f8>_0x228ced;},'zLZbU':'IDGEN_INVALID_MAX_RETRY'};if(_0x600adb[_0xdf6b66(0x144)](_0x1a3b28,null))return this['defaultMaxRetry'];if(!Number['isInteger'](_0x1a3b28)||_0x1a3b28<0x1||_0x600adb['TbamP'](_0x1a3b28,MAX_RETRY_LIMIT))throw new IdGeneratorError(_0x600adb['zLZbU'],_0xdf6b66(0xa1)+MAX_RETRY_LIMIT+_0xdf6b66(0x150)+_0x1a3b28+')');return _0x1a3b28;}['_validateIdempotencyKey'](_0x122f5d){const _0x53d022=a0_0x4dc06d,_0x648193={'qYmCJ':function(_0x5cc8a8,_0x2dd4b8){return _0x5cc8a8!==_0x2dd4b8;},'pfHHC':'IDGEN_INVALID_RESOURCE'};if(_0x122f5d==null)return undefined;if(_0x648193[_0x53d022(0x159)](typeof _0x122f5d,'string')||_0x122f5d[_0x53d022(0x177)]===0x0||_0x122f5d['length']>MAX_IDEMPOTENCY_KEY_LENGTH)throw new IdGeneratorError(_0x648193['pfHHC'],'Invalid\x20idempotencyKey:\x20must\x20be\x20string\x201-'+MAX_IDEMPOTENCY_KEY_LENGTH+'\x20chars');return _0x122f5d;}[a0_0x4dc06d(0xc6)](_0x2fe3c8){const _0x525366=a0_0x4dc06d,_0x52517c={'ritoE':'IDGEN_INVALID_RESERVE_TTL'};if(_0x2fe3c8==null)return this['reserveDefaultTTL'];if(!Number[_0x525366(0x192)](_0x2fe3c8)||_0x2fe3c8<MIN_RESERVE_TTL||_0x2fe3c8>this['reserveMaxTTL'])throw new IdGeneratorError(_0x52517c[_0x525366(0xa0)],_0x525366(0x152)+MIN_RESERVE_TTL+'-'+this[_0x525366(0x11c)]+_0x525366(0x1b2)+_0x2fe3c8+')');return _0x2fe3c8;}[a0_0x4dc06d(0xec)](_0x18a32e){const _0x5724be=a0_0x4dc06d;if(typeof _0x18a32e!=='string'||!RESERVATION_TOKEN_REGEX['test'](_0x18a32e))throw new IdGeneratorError('IDGEN_INVALID_TOKEN',_0x5724be(0x16c)+JSON['stringify'](_0x18a32e)+')');return _0x18a32e;}['_pad2'](_0x3c4605){const _0x48023c=a0_0x4dc06d;return String(_0x3c4605)[_0x48023c(0x185)](0x2,'0');}['_buildFormatKey'](_0x2f0a5e,_0xd0bfab,_0x247e58=new Date()){const _0x487985=a0_0x4dc06d,_0x4ebbbe={'vsEGj':function(_0x4c50d0,_0x3a7f25){return _0x4c50d0||_0x3a7f25;},'qcKdS':'yyyymm'},_0x1356e6=_0x247e58[_0x487985(0xbb)](),_0x322475=this[_0x487985(0x181)](_0x247e58['getMonth']()+0x1),_0x10326c=this['_pad2'](_0x247e58[_0x487985(0x1ab)]()),_0x59e757=_0x4ebbbe[_0x487985(0xcd)](_0xd0bfab,'_');let _0x4d7bbe,_0x2e736c='';switch(_0x2f0a5e){case _0x487985(0x120):_0x4d7bbe=_0x59e757+'_text';break;case'yyyy':_0x2e736c=''+_0x1356e6,_0x4d7bbe=_0x59e757+'_yyyy_'+_0x2e736c;break;case _0x4ebbbe['qcKdS']:_0x2e736c=''+_0x1356e6+_0x322475,_0x4d7bbe=_0x59e757+'_yyyymm_'+_0x2e736c;break;case _0x487985(0x14c):_0x2e736c=''+_0x1356e6+_0x322475+_0x10326c,_0x4d7bbe=_0x59e757+'_yyyymmdd_'+_0x2e736c;break;default:throw new IdGeneratorError(_0x487985(0xa3),_0x487985(0x129)+_0x2f0a5e);}return{'formatKey':_0x4d7bbe,'datePrefix':_0x2e736c};}[a0_0x4dc06d(0x11a)](_0x20fc8a,_0x4ba78d){const _0xb32149=a0_0x4dc06d;return this[_0xb32149(0x10f)]+'seq:'+_0x20fc8a+':'+_0x4ba78d;}['_buildReuseKey'](_0x56ebac,_0x3aeac0){return this['keyPrefix']+'reuse:'+_0x56ebac+':'+_0x3aeac0;}['_buildMetaKey'](_0xdc29af,_0x2f1ce3){return this['keyPrefix']+'meta:'+_0xdc29af+':'+_0x2f1ce3;}[a0_0x4dc06d(0xf2)](_0x291e17){const _0x27b128=a0_0x4dc06d;return this[_0x27b128(0x10f)]+'issued:'+_0x291e17;}[a0_0x4dc06d(0x187)](_0x147beb,_0x1cd055){const _0x2c3d70=a0_0x4dc06d;return this['keyPrefix']+_0x2c3d70(0x12c)+_0x147beb+':'+_0x1cd055;}['_buildReservationKey'](_0xc3a361){const _0x290000=a0_0x4dc06d;return this['keyPrefix']+_0x290000(0x175)+_0xc3a361;}['_buildReservationIndexKey'](_0x544f11,_0x12827f){return this['keyPrefix']+'rsv_idx:'+_0x544f11+':'+_0x12827f;}['_buildReservationKeyPrefix'](){const _0x3f00ff=a0_0x4dc06d;return this[_0x3f00ff(0x10f)]+'rsv:';}['_buildIdemKey'](_0x116f6e,_0x30085e,_0x9f00f,_0x396a8e){const _0x566197=a0_0x4dc06d,_0x17602c={'SMSYy':'idgen'};if(_0x9f00f)return idempotencyManager[_0x566197(0x127)](_0x17602c[_0x566197(0x17a)],_0x116f6e,_0x30085e+':'+_0x9f00f+':'+_0x396a8e);return idempotencyManager['buildDeterministicKey']('idgen',_0x116f6e,_0x30085e+':'+_0x396a8e);}['_getCounterTTL'](_0x113739){return this['_counterTTLMap'][_0x113739]||0x0;}['_formatNumber']({format:_0x180364,prefix:_0x5ed08b,datePrefix:_0x2ac13b,separator:_0x2aa56f,numDigits:_0x4ec086,counterInt:_0x4af997}){const _0x4d214e=a0_0x4dc06d,_0x426fdd={'rQaDz':function(_0x4995cc,_0x35906d){return _0x4995cc-_0x35906d;},'tNgpK':_0x4d214e(0xc4)},_0x432c22=_0x426fdd[_0x4d214e(0x11f)](Math['pow'](0xa,_0x4ec086),0x1);if(_0x4af997>_0x432c22)throw new IdGeneratorError(_0x426fdd[_0x4d214e(0x16a)],'Counter\x20overflow:\x20'+_0x4af997+'\x20exceeds\x20'+_0x4ec086+_0x4d214e(0x1b3)+_0x432c22+').\x20Increase\x20numDigits.',{'counterInt':_0x4af997,'numDigits':_0x4ec086,'max':_0x432c22});const _0x2fbc7a=String(_0x4af997)[_0x4d214e(0x185)](_0x4ec086,'0');if(_0x180364===_0x4d214e(0x120))return _0x5ed08b?''+_0x5ed08b+_0x2aa56f+_0x2fbc7a:_0x2fbc7a;return _0x5ed08b?''+_0x5ed08b+_0x2aa56f+_0x2ac13b+_0x2aa56f+_0x2fbc7a:''+_0x2ac13b+_0x2aa56f+_0x2fbc7a;}['_parseNumber']({format:_0x28ae53,prefix:_0x58dc88,separator:_0x334f39,numDigits:_0x46252b,number:_0x5f5bde}){const _0x1487db=a0_0x4dc06d,_0x5b3676={'xzamu':function(_0x1e4f19,_0x38c816){return _0x1e4f19===_0x38c816;},'TLlNi':function(_0x5b74d6,_0x4978d2){return _0x5b74d6!==_0x4978d2;},'vuWZj':function(_0x4c90b8,_0x311d92){return _0x4c90b8!==_0x311d92;},'bLIOx':'IDGEN_INVALID_NUMBER','TzAtA':function(_0x26171d,_0x59b5d1){return _0x26171d!==_0x59b5d1;},'WfNba':function(_0x358f38,_0x25de5c){return _0x358f38===_0x25de5c;},'JYhob':'yyyy','PsDHS':function(_0x3a9ee3,_0x26c40c,_0x2188bb){return _0x3a9ee3(_0x26c40c,_0x2188bb);},'uRXUK':_0x1487db(0x120)};if(typeof _0x5f5bde!==_0x1487db(0x1a6)||_0x5b3676['xzamu'](_0x5f5bde['length'],0x0))throw new IdGeneratorError(_0x1487db(0x122),'Invalid\x20number:\x20must\x20be\x20non-empty\x20string');const _0xe42409=_0x334f39||'',_0x3ca1f1=_0x5b3676[_0x1487db(0x14f)](_0xe42409,'')?[_0x5f5bde]:_0x5f5bde[_0x1487db(0xe0)](_0xe42409);let _0x2bcdea='',_0x216f3c;if(_0x28ae53==='text'){if(_0x58dc88){if(_0x5b3676['TLlNi'](_0x3ca1f1['length'],0x2)||_0x5b3676['vuWZj'](_0x3ca1f1[0x0],_0x58dc88))throw new IdGeneratorError(_0x5b3676[_0x1487db(0x176)],'Number\x20does\x20not\x20match\x20expected\x20format\x20prefix'+_0xe42409+'padded\x20(got:\x20'+_0x5f5bde+')');_0x216f3c=_0x3ca1f1[0x1];}else{if(_0x5b3676['TzAtA'](_0x3ca1f1['length'],0x1))throw new IdGeneratorError(_0x5b3676[_0x1487db(0x176)],_0x1487db(0x1b0)+_0x5f5bde+')');_0x216f3c=_0x3ca1f1[0x0];}}else{const _0x54147f=_0x58dc88?0x3:0x2;if(_0x3ca1f1[_0x1487db(0x177)]!==_0x54147f)throw new IdGeneratorError(_0x5b3676['bLIOx'],'Number\x20does\x20not\x20match\x20expected\x20format\x20(got:\x20'+_0x5f5bde+',\x20expected\x20'+_0x54147f+_0x1487db(0x10c));let _0x280fce=0x0;if(_0x58dc88){if(_0x3ca1f1[_0x280fce]!==_0x58dc88)throw new IdGeneratorError(_0x1487db(0x122),'Number\x20prefix\x20mismatch:\x20expected\x20'+_0x58dc88+_0x1487db(0x1b1)+_0x3ca1f1[_0x280fce]);_0x280fce++;}_0x2bcdea=_0x3ca1f1[_0x280fce++];const _0x889129=_0x5b3676[_0x1487db(0x1b8)](_0x28ae53,_0x5b3676['JYhob'])?/^\d{4}$/:_0x28ae53===_0x1487db(0xc1)?/^\d{6}$/:/^\d{8}$/;if(!_0x889129[_0x1487db(0xee)](_0x2bcdea))throw new IdGeneratorError(_0x1487db(0x122),'Number\x20datePrefix\x20invalid\x20for\x20format\x20'+_0x28ae53+':\x20'+_0x2bcdea);_0x216f3c=_0x3ca1f1[_0x280fce];}if(!new RegExp(_0x1487db(0x167)+_0x46252b+'}$')['test'](_0x216f3c))throw new IdGeneratorError(_0x1487db(0x122),_0x1487db(0x197)+_0x46252b+_0x1487db(0xfe)+_0x216f3c+')');const _0x427294=_0x5b3676['PsDHS'](parseInt,_0x216f3c,0xa),_0x2a07b2=_0x58dc88||'_';let _0x590b65;return _0x28ae53===_0x5b3676['uRXUK']?_0x590b65=_0x2a07b2+_0x1487db(0xfa):_0x590b65=_0x2a07b2+'_'+_0x28ae53+'_'+_0x2bcdea,{'formatKey':_0x590b65,'counterInt':_0x427294,'datePrefix':_0x2bcdea};}['_generateFromPattern'](_0x51e69c){const _0x7acbfb=a0_0x4dc06d;let _0x233c68='';for(const _0xcaba32 of _0x51e69c){const _0x5a31b2=PLACEHOLDER_MAP[_0xcaba32];if(_0x5a31b2){const _0x3cb29f=crypto[_0x7acbfb(0x147)](0x0,_0x5a31b2['length']);_0x233c68+=_0x5a31b2[_0x3cb29f];}else _0x233c68+=_0xcaba32;}return _0x233c68;}async[a0_0x4dc06d(0x19f)](_0x1a216c){const _0x42dc94=a0_0x4dc06d,_0x18126e={'eHzln':'idgen_idem_hit','nVzKk':'Idempotency\x20retrieve\x20error'};if(!_0x1a216c)return null;try{const _0x513797=redisClient['getClient'](),_0x1ffa9a=await _0x513797['get'](_0x1a216c);if(_0x1ffa9a)return logger[_0x42dc94(0xcb)]({'event':_0x18126e['eHzln'],'key':_0x1a216c},'Idempotency\x20cache\x20HIT'),JSON[_0x42dc94(0x195)](_0x1ffa9a);return null;}catch(_0x123972){return logger['warn']({'event':'idgen_idem_retrieve_error','error':_0x123972['message']},_0x18126e[_0x42dc94(0x114)]),null;}}async[a0_0x4dc06d(0x1ac)](_0x41f637,_0x133a70){const _0xaef46c=a0_0x4dc06d;if(!_0x41f637)return;try{const _0x5b262e=redisClient['getClient']();await _0x5b262e[_0xaef46c(0x1a7)](_0x41f637,this['idemTTL'],JSON['stringify'](_0x133a70));}catch(_0x1fb36b){logger['warn']({'event':_0xaef46c(0x121),'error':_0x1fb36b['message']},_0xaef46c(0x19d));}}async[a0_0x4dc06d(0xa8)](_0x36a6a5,_0x44b639){const _0x16141e=a0_0x4dc06d,_0x39e3d8={'qLEad':function(_0x46afa5,_0x274781){return _0x46afa5===_0x274781;},'EpOsQ':_0x16141e(0x110),'JpvWD':'Idempotency\x20SET\x20NX\x20error'};if(!_0x36a6a5)return{'stored':!![],'winnerResult':null};try{const _0x5d0e26=redisClient[_0x16141e(0xbd)](),_0x398034=JSON[_0x16141e(0x111)](_0x44b639),_0x35c107=await _0x5d0e26[_0x16141e(0x1a0)](_0x36a6a5,_0x398034,'EX',this['idemTTL'],'NX');if(_0x39e3d8['qLEad'](_0x35c107,'OK'))return{'stored':!![],'winnerResult':null};const _0x5cbc76=await _0x5d0e26[_0x16141e(0x14b)](_0x36a6a5);if(_0x5cbc76)return{'stored':![],'winnerResult':JSON['parse'](_0x5cbc76)};return logger['warn']({'event':'idgen_idem_nx_race_lost_but_empty','key':_0x36a6a5},_0x39e3d8['EpOsQ']),{'stored':!![],'winnerResult':null};}catch(_0xd822dc){return logger[_0x16141e(0x15b)]({'event':_0x16141e(0xda),'error':_0xd822dc[_0x16141e(0xd1)]},_0x39e3d8['JpvWD']),{'stored':!![],'winnerResult':null};}}async['_undoRandomReservation'](_0x500ec0,_0x37b7b0,_0x16cb70){const _0x1ca067=a0_0x4dc06d,_0x7f3eab={'szyIj':'idgen_random_undo_error','yukfo':'Random\x20reservation\x20undo\x20error\x20(orphan\x20slot\x20may\x20remain)'};try{const _0x16c94b=redisClient[_0x1ca067(0xbd)]();if(_0x16cb70){const _0x18fe1e=this['_buildActiveKey'](_0x500ec0,_0x37b7b0);await _0x16c94b['del'](_0x18fe1e);}else{const _0x5d26f9=this[_0x1ca067(0xf2)](_0x500ec0);await _0x16c94b[_0x1ca067(0x132)](_0x5d26f9,_0x37b7b0);}}catch(_0x2b2c90){logger['warn']({'event':_0x7f3eab['szyIj'],'error':_0x2b2c90['message']},_0x7f3eab['yukfo']);}}async[a0_0x4dc06d(0x19e)](_0x1d9bdb,_0x149153,_0x44a909,_0x2911fb=0x0){const _0x10b1e1=a0_0x4dc06d,_0x2f9645={'rlTvo':function(_0xede001,_0x3c185e){return _0xede001>_0x3c185e;},'MYOya':'idgen_meta_update_error','ITWPJ':'Meta\x20update\x20error'};try{const _0x5dcc96=redisClient[_0x10b1e1(0xbd)](),_0x1031a1=this[_0x10b1e1(0x162)](_0x1d9bdb,_0x149153),_0x2bf2ef=[];for(const [_0x142e05,_0x165b73]of Object['entries'](_0x44a909)){_0x2bf2ef[_0x10b1e1(0xc0)](_0x142e05,String(_0x165b73));}if(_0x2bf2ef['length']>0x0){await _0x5dcc96[_0x10b1e1(0xb8)](_0x1031a1,..._0x2bf2ef);if(_0x2f9645[_0x10b1e1(0xe5)](_0x2911fb,0x0))await _0x5dcc96[_0x10b1e1(0x12e)](_0x1031a1,_0x2911fb);}}catch(_0x19d221){logger['warn']({'event':_0x2f9645['MYOya'],'error':_0x19d221[_0x10b1e1(0xd1)]},_0x2f9645['ITWPJ']);}}async['number'](_0x2eba5d){const _0x1bfce2=a0_0x4dc06d,_0x50391a={'sOUMu':_0x1bfce2(0xd4),'XQnAG':function(_0x3767bd,_0x15187a){return _0x3767bd(_0x15187a);},'XDhjC':function(_0x434720,_0x4ce543){return _0x434720(_0x4ce543);},'HfedX':function(_0x445eeb,_0x59267b){return _0x445eeb(_0x59267b);},'bvfiG':_0x1bfce2(0xa6),'OZDWZ':_0x1bfce2(0xbf)};if(!this['enabled'])throw new IdGeneratorError(_0x50391a['sOUMu'],_0x1bfce2(0xeb));const _0x56a9ea=this[_0x1bfce2(0x161)](_0x2eba5d),_0x43c3ae=this['_validateIdempotencyKey'](_0x2eba5d['idempotencyKey']),{resource:_0x16460c,format:_0x40a8cf,prefix:_0x2d0927,separator:_0x412a9d,numDigits:_0x1a7f3e,reuseDelete:_0x262634}=_0x56a9ea,{formatKey:_0x16ae54,datePrefix:_0x184dcd}=this['_buildFormatKey'](_0x40a8cf,_0x2d0927),_0x4ae8ce=this[_0x1bfce2(0x11a)](_0x16460c,_0x16ae54),_0x7c571d=this['_buildReuseKey'](_0x16460c,_0x16ae54),_0x5a0fad=this['_getCounterTTL'](_0x40a8cf);let _0x47d9d9=null;if(_0x43c3ae){_0x47d9d9=this['_buildIdemKey'](_0x1bfce2(0x170),_0x16460c,_0x16ae54,_0x43c3ae);const _0x4f56cc=await this[_0x1bfce2(0x19f)](_0x47d9d9);if(_0x4f56cc)return _0x4f56cc;}const _0x408400=redisClient[_0x1bfce2(0xbd)](),_0x47ce65=await _0x408400['eval'](LUA_GENERATE_NUMBER,0x2,_0x4ae8ce,_0x7c571d,_0x262634?'1':'0',_0x50391a['XQnAG'](String,_0x5a0fad)),_0x378722=_0x47ce65[0x0],_0x322dc2=_0x47ce65[0x1]===0x1,_0x1484d6=this['_formatNumber']({'format':_0x40a8cf,'prefix':_0x2d0927,'datePrefix':_0x184dcd,'separator':_0x412a9d,'numDigits':_0x1a7f3e,'counterInt':_0x378722}),_0x43eb3b={'value':_0x1484d6,'counter':_0x378722,'resource':_0x16460c,'formatKey':_0x16ae54,'isReused':_0x322dc2,'generatedAt':new Date()[_0x1bfce2(0x1a9)]()},_0x5db52e=await this[_0x1bfce2(0xa8)](_0x47d9d9,_0x43eb3b);if(!_0x5db52e['stored']){try{await _0x408400[_0x1bfce2(0x17d)](LUA_RELEASE_NUMBER,0x1,_0x7c571d,_0x50391a[_0x1bfce2(0x186)](String,_0x378722),_0x50391a[_0x1bfce2(0xd0)](String,_0x5a0fad));}catch(_0x3a42a9){logger[_0x1bfce2(0x15b)]({'event':'idgen_idem_loser_release_error','error':_0x3a42a9['message'],'resource':_0x16460c,'formatKey':_0x16ae54,'counterInt':_0x378722},_0x50391a[_0x1bfce2(0x164)]);}return logger['info']({'event':_0x50391a['OZDWZ'],'resource':_0x16460c,'formatKey':_0x16ae54,'counter':_0x378722},'ID\x20Generator\x20number\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x5db52e['winnerResult'];}return this[_0x1bfce2(0x19e)](_0x16460c,_0x16ae54,{'lastValue':_0x1484d6,'lastCounter':_0x378722,'lastIsReused':_0x322dc2,'lastGeneratedAt':_0x43eb3b[_0x1bfce2(0x180)]},_0x5a0fad),logger['info']({'event':_0x1bfce2(0x16f),'resource':_0x16460c,'formatKey':_0x16ae54,'counter':_0x378722,'isReused':_0x322dc2},_0x1bfce2(0xac)+_0x1484d6),_0x43eb3b;}async[a0_0x4dc06d(0x1af)](_0x18fa55){const _0xcfb9c=a0_0x4dc06d,_0xe06fea={'CqYAy':_0xcfb9c(0xd4),'AMkqj':_0xcfb9c(0x178),'OFJJj':function(_0xec7d44,_0x44f580){return _0xec7d44!==_0x44f580;},'afExn':function(_0x3a874a,_0x54a451){return _0x3a874a!==_0x54a451;},'hOgaJ':_0xcfb9c(0x1a6),'bulas':_0xcfb9c(0x122),'iLAVn':'release','cloCw':function(_0x146a92,_0x235b3c){return _0x146a92(_0x235b3c);},'GHpfF':function(_0x3d269a,_0x3ff62f){return _0x3d269a(_0x3ff62f);},'vkbaP':_0xcfb9c(0x14a)};if(!this['enabled'])throw new IdGeneratorError(_0xe06fea['CqYAy'],_0xe06fea[_0xcfb9c(0x143)]);let _0x1ecc0,_0xa3fc15,_0x51f066,_0x11d2ae;const _0x3ad83d=this['_validateIdempotencyKey'](_0x18fa55[_0xcfb9c(0x190)]);if(_0xe06fea['OFJJj'](_0x18fa55['counterInt'],undefined)&&_0xe06fea[_0xcfb9c(0x183)](_0x18fa55[_0xcfb9c(0x10d)],null)){this['_validateResource'](_0x18fa55['resource']),_0x1ecc0=_0x18fa55[_0xcfb9c(0x1a8)];if(typeof _0x18fa55['formatKey']!==_0xe06fea['hOgaJ']||_0x18fa55[_0xcfb9c(0x163)][_0xcfb9c(0x177)]===0x0)throw new IdGeneratorError(_0xe06fea['bulas'],_0xcfb9c(0x13c));_0xa3fc15=_0x18fa55[_0xcfb9c(0x163)];if(!Number[_0xcfb9c(0x192)](_0x18fa55[_0xcfb9c(0x10d)])||_0x18fa55['counterInt']<0x1)throw new IdGeneratorError(_0xe06fea['bulas'],'counterInt\x20must\x20be\x20positive\x20integer\x20(got:\x20'+_0x18fa55['counterInt']+')');_0x51f066=_0x18fa55['counterInt'];const _0xfc5665=_0xa3fc15['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x11d2ae=_0xfc5665?_0xfc5665[0x1]:_0xcfb9c(0x120);}else{const _0x3dc464=this['_validateNumberParams'](_0x18fa55),_0x26acb1=this['_parseNumber']({'format':_0x3dc464['format'],'prefix':_0x3dc464['prefix'],'separator':_0x3dc464[_0xcfb9c(0x117)],'numDigits':_0x3dc464[_0xcfb9c(0x13a)],'number':_0x18fa55['number']});_0x1ecc0=_0x3dc464[_0xcfb9c(0x1a8)],_0xa3fc15=_0x26acb1[_0xcfb9c(0x163)],_0x51f066=_0x26acb1['counterInt'],_0x11d2ae=_0x3dc464[_0xcfb9c(0xb0)];}const _0x4b11e9=this['_buildReuseKey'](_0x1ecc0,_0xa3fc15),_0x2da0bb=this[_0xcfb9c(0xe7)](_0x11d2ae);let _0x823108=null;if(_0x3ad83d){_0x823108=this['_buildIdemKey'](_0xe06fea[_0xcfb9c(0xb6)],_0x1ecc0,_0xa3fc15,_0x3ad83d);const _0x1d4566=await this[_0xcfb9c(0x19f)](_0x823108);if(_0x1d4566)return _0x1d4566;}const _0x147145=redisClient['getClient']();await _0x147145[_0xcfb9c(0x17d)](LUA_RELEASE_NUMBER,0x1,_0x4b11e9,_0xe06fea[_0xcfb9c(0x1ae)](String,_0x51f066),_0xe06fea['GHpfF'](String,_0x2da0bb));const _0x41f9d8={'released':!![],'resource':_0x1ecc0,'formatKey':_0xa3fc15,'counter':_0x51f066,'releasedAt':new Date()['toISOString']()};return await this['_storeIdemCache'](_0x823108,_0x41f9d8),this[_0xcfb9c(0x19e)](_0x1ecc0,_0xa3fc15,{'lastReleasedCounter':_0x51f066,'lastReleasedAt':_0x41f9d8[_0xcfb9c(0x1a3)]},_0x2da0bb),logger['info']({'event':_0xe06fea[_0xcfb9c(0x18d)],'resource':_0x1ecc0,'formatKey':_0xa3fc15,'counter':_0x51f066},_0xcfb9c(0x125)+_0x51f066),_0x41f9d8;}async['reserveNumber'](_0x443564){const _0xdaaa7d=a0_0x4dc06d,_0x22225e={'ahDPT':'reserve','rbmBR':function(_0x1cc8ce,_0x234f1e){return _0x1cc8ce*_0x234f1e;},'Qlhzh':function(_0x3e76e4,_0x3d20a7){return _0x3e76e4*_0x3d20a7;},'BDjBD':_0xdaaa7d(0x1a8),'DtXwd':'prefix','fMqPF':_0xdaaa7d(0x117),'DNdDX':'numDigits','nyTWi':function(_0x58bb80,_0x158427){return _0x58bb80(_0x158427);},'mSbRP':function(_0x30058c,_0x144548){return _0x30058c||_0x144548;},'fdYDY':_0xdaaa7d(0xfc),'ROuxA':'idemKey','ddcAy':function(_0x2e17f7,_0x887085){return _0x2e17f7===_0x887085;},'jYXFm':function(_0x43e070,_0x5b3df3){return _0x43e070(_0x5b3df3);},'OjWqI':'idgen_reserve_overflow_compensation_error','fdGTq':'Failed\x20to\x20compensate\x20reservation\x20after\x20counter\x20overflow','dVFHG':'value','FGfWo':'Failed\x20to\x20persist\x20formatted\x20value\x20to\x20reservation\x20hash','XRGsz':'idgen_reserve_idem_loser_cancel_error','HNcqX':_0xdaaa7d(0x136),'WQZHC':'idgen_reserve_idem_loser'};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0xdaaa7d(0xeb));const _0x23dbfa=this[_0xdaaa7d(0x161)](_0x443564),_0x1a8a70=this[_0xdaaa7d(0xc6)](_0x443564[_0xdaaa7d(0x105)]),_0x4570ea=this['_validateIdempotencyKey'](_0x443564[_0xdaaa7d(0x190)]),{resource:_0x47a96f,format:_0x50dac4,prefix:_0x2e5e18,separator:_0x513901,numDigits:_0x16b232,reuseDelete:_0x408fc1}=_0x23dbfa,{formatKey:_0x40fda7,datePrefix:_0x6f0cc6}=this['_buildFormatKey'](_0x50dac4,_0x2e5e18),_0x163bb1=this['_buildSeqKey'](_0x47a96f,_0x40fda7),_0x1b8cb5=this['_buildReuseKey'](_0x47a96f,_0x40fda7),_0x1b57ce=this[_0xdaaa7d(0x115)](_0x47a96f,_0x40fda7),_0x1f3ba6=this['_getCounterTTL'](_0x50dac4);let _0x2640d8=null;if(_0x4570ea){_0x2640d8=this['_buildIdemKey'](_0x22225e['ahDPT'],_0x47a96f,_0x40fda7,_0x4570ea);const _0xe33071=await this[_0xdaaa7d(0x19f)](_0x2640d8);if(_0xe33071)return _0xe33071;}const _0x2eac62=crypto['randomUUID'](),_0x5006ff=this[_0xdaaa7d(0x116)](_0x2eac62),_0xa7c259=this['_buildReservationKeyPrefix'](),_0x16174f=Date['now'](),_0x5d0e18=_0x16174f+_0x22225e[_0xdaaa7d(0x134)](_0x1a8a70,0x3e8),_0x2ec7b8=_0x22225e[_0xdaaa7d(0x198)](_0x1a8a70,0x3e8),_0x215cb8=new Date(_0x16174f)[_0xdaaa7d(0x1a9)](),_0x21d12c=new Date(_0x5d0e18)['toISOString'](),_0x352e68=[_0x22225e[_0xdaaa7d(0xc2)],_0x47a96f,'formatKey',_0x40fda7,_0xdaaa7d(0xb0),_0x50dac4,_0x22225e['DtXwd'],_0x2e5e18,_0x22225e[_0xdaaa7d(0x139)],_0x513901,_0x22225e[_0xdaaa7d(0x174)],_0x22225e[_0xdaaa7d(0x100)](String,_0x16b232),_0xdaaa7d(0x18b),_0x22225e[_0xdaaa7d(0x18c)](_0x6f0cc6,''),_0x22225e[_0xdaaa7d(0xde)],_0x215cb8,'expiresAt',_0x21d12c,'ttlMs',String(_0x2ec7b8)];_0x4570ea&&_0x352e68[_0xdaaa7d(0xc0)](_0x22225e[_0xdaaa7d(0x171)],_0x4570ea);const _0x4c19f8=redisClient[_0xdaaa7d(0xbd)](),_0x491575=await _0x4c19f8[_0xdaaa7d(0x17d)](LUA_RESERVE_NUMBER,0x3,_0x163bb1,_0x1b8cb5,_0x1b57ce,_0x408fc1?'1':'0',_0x22225e[_0xdaaa7d(0x100)](String,_0x1f3ba6),_0x2eac62,_0x5006ff,String(_0x2ec7b8),_0x22225e[_0xdaaa7d(0x100)](String,_0x5d0e18),_0x22225e['nyTWi'](String,_0x16174f),_0xa7c259,..._0x352e68),_0x5a1817=_0x491575[0x0],_0x55ca7d=_0x22225e[_0xdaaa7d(0xcf)](_0x491575[0x1],0x1),_0x208c1d=_0x491575[0x2]||0x0;let _0x13f3d0;try{_0x13f3d0=this[_0xdaaa7d(0x118)]({'format':_0x50dac4,'prefix':_0x2e5e18,'datePrefix':_0x6f0cc6,'separator':_0x513901,'numDigits':_0x16b232,'counterInt':_0x5a1817});}catch(_0x5c26ba){try{await _0x4c19f8['eval'](LUA_CANCEL_RESERVATION,0x3,_0x5006ff,_0x1b57ce,_0x1b8cb5,_0x2eac62,_0x22225e['jYXFm'](String,_0x1f3ba6));}catch(_0x13e678){logger['warn']({'event':_0x22225e['OjWqI'],'error':_0x13e678['message'],'resource':_0x47a96f,'formatKey':_0x40fda7,'counterInt':_0x5a1817,'token':_0x2eac62},_0x22225e[_0xdaaa7d(0x179)]);}throw _0x5c26ba;}try{await _0x4c19f8['hset'](_0x5006ff,_0x22225e[_0xdaaa7d(0x13d)],_0x13f3d0);}catch(_0x51e4c1){logger['warn']({'event':'idgen_reserve_value_persist_error','error':_0x51e4c1[_0xdaaa7d(0xd1)],'resource':_0x47a96f,'formatKey':_0x40fda7,'counterInt':_0x5a1817,'token':_0x2eac62},_0x22225e['FGfWo']);}const _0x59a9ed={'token':_0x2eac62,'value':_0x13f3d0,'counter':_0x5a1817,'resource':_0x47a96f,'formatKey':_0x40fda7,'isReused':_0x55ca7d,'createdAt':_0x215cb8,'expiresAt':_0x21d12c,'reapedCount':_0x208c1d},_0x48bb64=await this[_0xdaaa7d(0xa8)](_0x2640d8,_0x59a9ed);if(!_0x48bb64['stored']){try{await _0x4c19f8[_0xdaaa7d(0x17d)](LUA_CANCEL_RESERVATION,0x3,_0x5006ff,_0x1b57ce,_0x1b8cb5,_0x2eac62,String(_0x1f3ba6));}catch(_0x3d3d17){logger['warn']({'event':_0x22225e['XRGsz'],'error':_0x3d3d17[_0xdaaa7d(0xd1)],'resource':_0x47a96f,'formatKey':_0x40fda7,'counterInt':_0x5a1817,'token':_0x2eac62},_0x22225e[_0xdaaa7d(0x166)]);}return logger['info']({'event':_0x22225e['WQZHC'],'resource':_0x47a96f,'formatKey':_0x40fda7,'counter':_0x5a1817,'token':_0x2eac62},'ID\x20Generator\x20reserve\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x48bb64['winnerResult'];}return this[_0xdaaa7d(0x19e)](_0x47a96f,_0x40fda7,{'lastReservedCounter':_0x5a1817,'lastReservedAt':_0x215cb8,'lastReapedCount':_0x208c1d},_0x1f3ba6),logger['info']({'event':'idgen_number_reserved','resource':_0x47a96f,'formatKey':_0x40fda7,'counter':_0x5a1817,'isReused':_0x55ca7d,'token':_0x2eac62,'ttl':_0x1a8a70,'reapedCount':_0x208c1d},_0xdaaa7d(0xaa)+_0x13f3d0+_0xdaaa7d(0xb9)+_0x2eac62+')'),_0x59a9ed;}async['confirmReservation'](_0x355c88){const _0x2b2943=a0_0x4dc06d,_0x347982={'vbvwT':'IDGEN_DISABLED','sSnrW':function(_0x59bc64,_0x3daba1,_0x4f1f18){return _0x59bc64(_0x3daba1,_0x4f1f18);}};if(!this[_0x2b2943(0xca)])throw new IdGeneratorError(_0x347982['vbvwT'],'ID\x20Generator\x20is\x20disabled');const _0x3911a3=this[_0x2b2943(0xec)](_0x355c88&&_0x355c88[_0x2b2943(0x12f)]),_0x36a168=this['_validateIdempotencyKey'](_0x355c88&&_0x355c88[_0x2b2943(0x190)]);let _0x32b4f6=null;if(_0x36a168){_0x32b4f6=idempotencyManager[_0x2b2943(0x127)](_0x2b2943(0x19a),_0x2b2943(0x9f),_0x3911a3+':'+_0x36a168);const _0x1db1c3=await this[_0x2b2943(0x19f)](_0x32b4f6);if(_0x1db1c3)return _0x1db1c3;}const _0x19e4ec=await this[_0x2b2943(0x15d)](_0x3911a3),_0x10c5d6=redisClient['getClient'](),_0x2ffb28=await _0x10c5d6[_0x2b2943(0x17d)](LUA_CONFIRM_RESERVATION,0x2,_0x19e4ec['rsvKey'],_0x19e4ec[_0x2b2943(0x137)],_0x3911a3);if(!_0x2ffb28||_0x2ffb28[0x0]!==0x1)throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND',_0x2b2943(0xa9)+_0x3911a3,{'token':_0x3911a3});const _0x33fb84=_0x347982['sSnrW'](parseInt,_0x2ffb28[0x1],0xa),_0x286167=_0x2ffb28[0x2],_0x23f196=_0x2ffb28[0x3],_0xef9813=new Date()['toISOString'](),_0x35cebb={'confirmed':!![],'token':_0x3911a3,'value':_0x286167,'counter':_0x33fb84,'resource':_0x19e4ec['resource'],'formatKey':_0x23f196,'confirmedAt':_0xef9813};await this[_0x2b2943(0x1ac)](_0x32b4f6,_0x35cebb);const _0x411a3b=_0x23f196['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x48a73b=_0x411a3b?_0x411a3b[0x1]:_0x2b2943(0x120),_0x2979f0=this[_0x2b2943(0xe7)](_0x48a73b);return this['_updateMeta'](_0x19e4ec['resource'],_0x23f196,{'lastConfirmedCounter':_0x33fb84,'lastConfirmedAt':_0xef9813},_0x2979f0),logger['info']({'event':_0x2b2943(0x113),'resource':_0x19e4ec[_0x2b2943(0x1a8)],'formatKey':_0x23f196,'counter':_0x33fb84,'token':_0x3911a3},'ID\x20Generator\x20reservation\x20confirmed:\x20'+_0x286167+'\x20(token='+_0x3911a3+')'),_0x35cebb;}async[a0_0x4dc06d(0x165)](_0x48f20f){const _0x46c546=a0_0x4dc06d,_0x1cfdef={'Opahb':'IDGEN_DISABLED','EzaIK':_0x46c546(0x19a),'uUgDF':function(_0x41ebc6,_0x5c2c41){return _0x41ebc6(_0x5c2c41);},'rixCl':function(_0x4db259,_0xced456){return _0x4db259!==_0xced456;},'AgKfv':_0x46c546(0x12b),'ZgjIN':function(_0x4315c0,_0x1aafb6,_0xc115bf){return _0x4315c0(_0x1aafb6,_0xc115bf);}};if(!this['enabled'])throw new IdGeneratorError(_0x1cfdef['Opahb'],'ID\x20Generator\x20is\x20disabled');const _0x207c6d=this['_validateReservationToken'](_0x48f20f&&_0x48f20f[_0x46c546(0x12f)]),_0x59e3d6=this['_validateIdempotencyKey'](_0x48f20f&&_0x48f20f['idempotencyKey']);let _0x30d368=null;if(_0x59e3d6){_0x30d368=idempotencyManager[_0x46c546(0x127)](_0x1cfdef[_0x46c546(0xdf)],'reserve_cancel',_0x207c6d+':'+_0x59e3d6);const _0x3babd4=await this[_0x46c546(0x19f)](_0x30d368);if(_0x3babd4)return _0x3babd4;}const _0x443d89=await this['_getReservationContext'](_0x207c6d),_0x7cda93=this['_buildReuseKey'](_0x443d89[_0x46c546(0x1a8)],_0x443d89['formatKey']),_0x9703b3=_0x443d89[_0x46c546(0x163)]['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x422653=_0x9703b3?_0x9703b3[0x1]:'text',_0x4b5e3d=this['_getCounterTTL'](_0x422653),_0x342bd4=redisClient['getClient'](),_0x2da410=await _0x342bd4['eval'](LUA_CANCEL_RESERVATION,0x3,_0x443d89['rsvKey'],_0x443d89['rsvIdxKey'],_0x7cda93,_0x207c6d,_0x1cfdef['uUgDF'](String,_0x4b5e3d));if(!_0x2da410||_0x1cfdef[_0x46c546(0x16d)](_0x2da410[0x0],0x1))throw new IdGeneratorError(_0x1cfdef['AgKfv'],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x207c6d,{'token':_0x207c6d});const _0x1c9d1d=_0x1cfdef['ZgjIN'](parseInt,_0x2da410[0x1],0xa),_0x305340=_0x2da410[0x2],_0x1d5b1d=_0x2da410[0x3],_0x2784cc=new Date()[_0x46c546(0x1a9)](),_0x10bf79={'cancelled':!![],'token':_0x207c6d,'value':_0x305340,'counter':_0x1c9d1d,'resource':_0x443d89['resource'],'formatKey':_0x1d5b1d,'releasedToReuse':!![],'cancelledAt':_0x2784cc};return await this['_storeIdemCache'](_0x30d368,_0x10bf79),this[_0x46c546(0x19e)](_0x443d89['resource'],_0x1d5b1d,{'lastCancelledCounter':_0x1c9d1d,'lastCancelledAt':_0x2784cc},_0x4b5e3d),logger['info']({'event':'idgen_reservation_cancelled','resource':_0x443d89[_0x46c546(0x1a8)],'formatKey':_0x1d5b1d,'counter':_0x1c9d1d,'token':_0x207c6d},_0x46c546(0xf5)+_0x305340+'\x20(token='+_0x207c6d+')'),_0x10bf79;}async['extendReservation'](_0x463528){const _0xc1e60b=a0_0x4dc06d,_0x359acd={'ioZwL':'reserve_extend','BMLCG':function(_0x30b406,_0x2f7e14){return _0x30b406*_0x2f7e14;},'WDOnS':'text'};if(!this[_0xc1e60b(0xca)])throw new IdGeneratorError('IDGEN_DISABLED','ID\x20Generator\x20is\x20disabled');const _0x16eb50=this[_0xc1e60b(0xec)](_0x463528&&_0x463528[_0xc1e60b(0x12f)]),_0x49fe9a=this[_0xc1e60b(0xc6)](_0x463528&&_0x463528[_0xc1e60b(0x105)]),_0x21175d=this[_0xc1e60b(0x1a5)](_0x463528&&_0x463528['idempotencyKey']);let _0x303351=null;if(_0x21175d){_0x303351=idempotencyManager[_0xc1e60b(0x127)](_0xc1e60b(0x19a),_0x359acd['ioZwL'],_0x16eb50+':'+_0x21175d);const _0x53a1ce=await this[_0xc1e60b(0x19f)](_0x303351);if(_0x53a1ce)return _0x53a1ce;}const _0x45795d=await this[_0xc1e60b(0x15d)](_0x16eb50),_0x11e35a=Date['now'](),_0x50343e=_0x11e35a+_0x359acd[_0xc1e60b(0xa2)](_0x49fe9a,0x3e8),_0x44ca2e=_0x49fe9a*0x3e8,_0x475afa=new Date(_0x50343e)['toISOString'](),_0x1a1759=redisClient[_0xc1e60b(0xbd)](),_0x5e81ca=await _0x1a1759[_0xc1e60b(0x17d)](LUA_EXTEND_RESERVATION,0x2,_0x45795d['rsvKey'],_0x45795d[_0xc1e60b(0x137)],_0x16eb50,String(_0x44ca2e),String(_0x50343e),_0x475afa);if(!_0x5e81ca||_0x5e81ca[0x0]!==0x1)throw new IdGeneratorError(_0xc1e60b(0x12b),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x16eb50,{'token':_0x16eb50});const _0x18b282=_0x5e81ca[0x1],_0x12f8d2=parseInt(_0x5e81ca[0x2],0xa),_0x1581d0=_0x5e81ca[0x3],_0x3bd756=_0x5e81ca[0x4],_0xb75700=new Date(_0x11e35a)[_0xc1e60b(0x1a9)](),_0x529518={'extended':!![],'token':_0x16eb50,'previousExpiresAt':_0x18b282,'expiresAt':_0x475afa,'ttlMs':_0x44ca2e,'resource':_0x45795d[_0xc1e60b(0x1a8)],'formatKey':_0x3bd756,'counter':_0x12f8d2,'value':_0x1581d0,'extendedAt':_0xb75700};await this[_0xc1e60b(0x1ac)](_0x303351,_0x529518);const _0x489e87=_0x3bd756[_0xc1e60b(0x10e)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x2bc83e=_0x489e87?_0x489e87[0x1]:_0x359acd['WDOnS'],_0x3649a2=this[_0xc1e60b(0xe7)](_0x2bc83e);return this[_0xc1e60b(0x19e)](_0x45795d[_0xc1e60b(0x1a8)],_0x3bd756,{'lastExtendedCounter':_0x12f8d2,'lastExtendedAt':_0xb75700},_0x3649a2),logger['info']({'event':'idgen_reservation_extended','resource':_0x45795d['resource'],'formatKey':_0x3bd756,'counter':_0x12f8d2,'token':_0x16eb50,'ttl':_0x49fe9a},'ID\x20Generator\x20reservation\x20extended:\x20'+_0x1581d0+'\x20(token='+_0x16eb50+',\x20+'+_0x49fe9a+'s)'),_0x529518;}async[a0_0x4dc06d(0x189)](_0x5da9fb){const _0x4f2356=a0_0x4dc06d,_0x473803={'sdEvL':'IDGEN_DISABLED','Vczop':'IDGEN_RESERVATION_NOT_FOUND','eFBgU':function(_0x274057,_0x40eec1){return _0x274057===_0x40eec1;},'ufkGS':_0x4f2356(0x170),'gEFOB':function(_0xc2dea6,_0x482095){return _0xc2dea6>=_0x482095;}};if(!this[_0x4f2356(0xca)])throw new IdGeneratorError(_0x473803[_0x4f2356(0x108)],'ID\x20Generator\x20is\x20disabled');const _0x4aaa68=this['_validateReservationToken'](_0x5da9fb&&_0x5da9fb['token']),_0x2370c5=this['_buildReservationKey'](_0x4aaa68),_0x5761e4=redisClient['getClient'](),_0x4276d3=_0x5761e4[_0x4f2356(0xd9)]();_0x4276d3[_0x4f2356(0xa5)](_0x2370c5),_0x4276d3[_0x4f2356(0x104)](_0x2370c5);const _0xb1e9ab=await _0x4276d3[_0x4f2356(0x15f)](),_0x1f5684=_0xb1e9ab&&_0xb1e9ab[0x0]&&_0xb1e9ab[0x0][0x1],_0x333d29=_0xb1e9ab&&_0xb1e9ab[0x1]&&_0xb1e9ab[0x1][0x1];if(!_0x1f5684||Object['keys'](_0x1f5684)[_0x4f2356(0x177)]===0x0)throw new IdGeneratorError(_0x473803['Vczop'],_0x4f2356(0xa9)+_0x4aaa68,{'token':_0x4aaa68});return{'token':_0x4aaa68,'resource':_0x1f5684['resource']||null,'formatKey':_0x1f5684['formatKey']||null,'format':_0x1f5684['format']||null,'prefix':_0x1f5684['prefix']||'','separator':_0x1f5684['separator']||'','numDigits':_0x1f5684['numDigits']?parseInt(_0x1f5684[_0x4f2356(0x13a)],0xa):null,'datePrefix':_0x1f5684[_0x4f2356(0x18b)]||'','counter':_0x1f5684[_0x4f2356(0x11d)]?parseInt(_0x1f5684[_0x4f2356(0x11d)],0xa):null,'value':_0x1f5684[_0x4f2356(0x157)]||null,'isReused':_0x473803[_0x4f2356(0x10a)](_0x1f5684[_0x4f2356(0x193)],'1')||_0x1f5684['isReused']===0x1,'createdAt':_0x1f5684['createdAt']||null,'expiresAt':_0x1f5684['expiresAt']||null,'ttlRemainingMs':typeof _0x333d29===_0x473803[_0x4f2356(0xfd)]&&_0x473803['gEFOB'](_0x333d29,0x0)?_0x333d29:null};}async['_getReservationContext'](_0x1b8256){const _0x504a66=a0_0x4dc06d,_0x2cedf2=this['_buildReservationKey'](_0x1b8256),_0x5e5987=redisClient[_0x504a66(0xbd)](),_0x46b656=await _0x5e5987['hmget'](_0x2cedf2,'resource',_0x504a66(0x163)),_0x2fb36e=_0x46b656&&_0x46b656[0x0],_0x391ede=_0x46b656&&_0x46b656[0x1];if(!_0x2fb36e||!_0x391ede)throw new IdGeneratorError(_0x504a66(0x12b),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x1b8256,{'token':_0x1b8256});return{'resource':_0x2fb36e,'formatKey':_0x391ede,'rsvKey':_0x2cedf2,'rsvIdxKey':this[_0x504a66(0x115)](_0x2fb36e,_0x391ede)};}async[a0_0x4dc06d(0x168)](_0x1f2c87){const _0x3128eb=a0_0x4dc06d,_0x32d46d={'EQGNE':'IDGEN_DISABLED','gmbZU':'random','hEFaD':function(_0x1f1536,_0x556e28){return _0x1f1536<_0x556e28;},'rFoLb':function(_0x568b82,_0x34a1da){return _0x568b82===_0x34a1da;},'nTGmS':_0x3128eb(0x16e),'qWJwb':function(_0x4629ec,_0x218de6){return _0x4629ec*_0x218de6;},'oLaUZ':function(_0x5e7709,_0x5af815){return _0x5e7709||_0x5af815;}};if(!this['enabled'])throw new IdGeneratorError(_0x32d46d['EQGNE'],_0x3128eb(0x178));this[_0x3128eb(0x169)](_0x1f2c87[_0x3128eb(0x1a8)]),this['_validatePattern'](_0x1f2c87['pattern']);const _0x3e8a32=this[_0x3128eb(0x158)](_0x1f2c87[_0x3128eb(0x105)]),_0x29c465=this[_0x3128eb(0xf0)](_0x1f2c87[_0x3128eb(0x124)]),_0x145ab4=this[_0x3128eb(0x1a5)](_0x1f2c87[_0x3128eb(0x190)]),_0x439bdf=_0x1f2c87[_0x3128eb(0x109)]===!![],{resource:_0x4a4b53,pattern:_0x4a3d3c}=_0x1f2c87;let _0x572f0a=null;if(_0x145ab4){_0x572f0a=this[_0x3128eb(0x1b4)](_0x32d46d[_0x3128eb(0x112)],_0x4a4b53,null,_0x145ab4);const _0x4ed27c=await this[_0x3128eb(0x19f)](_0x572f0a);if(_0x4ed27c)return _0x4ed27c;}const _0x1547d5=redisClient['getClient']();let _0x42020b=null,_0x3d6c36=0x0;if(!_0x439bdf)_0x42020b=this[_0x3128eb(0x172)](_0x4a3d3c),_0x3d6c36=0x1;else{for(let _0x2bddee=0x0;_0x32d46d['hEFaD'](_0x2bddee,_0x29c465);_0x2bddee++){_0x3d6c36++;const _0x4b9892=this['_generateFromPattern'](_0x4a3d3c);if(_0x3e8a32){const _0x47966c=this['_buildActiveKey'](_0x4a4b53,_0x4b9892),_0x2f706a=await _0x1547d5[_0x3128eb(0x1a0)](_0x47966c,'1','EX',_0x3e8a32,'NX');if(_0x2f706a==='OK'){_0x42020b=_0x4b9892;break;}}else{const _0x17e6d6=this['_buildIssuedKey'](_0x4a4b53),_0x2c2dab=await _0x1547d5[_0x3128eb(0xd6)](_0x17e6d6,_0x4b9892);if(_0x2c2dab===0x1){_0x42020b=_0x4b9892;break;}}}if(_0x32d46d['rFoLb'](_0x42020b,null))throw new IdGeneratorError(_0x32d46d[_0x3128eb(0xd8)],_0x3128eb(0x1a1)+_0x29c465+_0x3128eb(0x9e),{'resource':_0x4a4b53,'pattern':_0x4a3d3c,'maxRetry':_0x29c465});}const _0x477d15={'value':_0x42020b,'resource':_0x4a4b53,'pattern':_0x4a3d3c,'attemptCount':_0x3d6c36,'generatedAt':new Date()[_0x3128eb(0x1a9)]()};_0x3e8a32&&_0x439bdf&&(_0x477d15['expiresAt']=new Date(Date['now']()+_0x32d46d[_0x3128eb(0x18e)](_0x3e8a32,0x3e8))[_0x3128eb(0x1a9)]());const _0x447adc=await this['_storeIdemCacheNX'](_0x572f0a,_0x477d15);if(!_0x447adc[_0x3128eb(0xcc)])return _0x439bdf&&await this['_undoRandomReservation'](_0x4a4b53,_0x42020b,_0x3e8a32),logger['info']({'event':'idgen_random_idem_loser','resource':_0x4a4b53,'pattern':_0x4a3d3c,'value':_0x42020b},_0x3128eb(0x155)),_0x447adc[_0x3128eb(0x1a2)];return logger['info']({'event':_0x3128eb(0x140),'resource':_0x4a4b53,'pattern':_0x4a3d3c,'attemptCount':_0x3d6c36,'ensureUnique':_0x439bdf,'ttl':_0x32d46d['oLaUZ'](_0x3e8a32,0x0)},'ID\x20Generator\x20random:\x20'+_0x42020b),_0x477d15;}async['pin'](_0x2ec5ad){const _0x1acf9f=a0_0x4dc06d,_0x5172e4={'BGEFc':function(_0x1734ee,_0x35a625){return _0x1734ee<_0x35a625;},'sJYje':function(_0x531a3d,_0x71140c){return _0x531a3d>_0x71140c;},'ZGdNk':_0x1acf9f(0x14e),'rlWML':function(_0x5037ed,_0x8eddc1){return _0x5037ed===_0x8eddc1;}},_0xca75=_0x2ec5ad['digits']==null?this[_0x1acf9f(0x1b5)]:_0x2ec5ad['digits'];if(!Number['isInteger'](_0xca75)||_0x5172e4['BGEFc'](_0xca75,MIN_PIN_DIGITS)||_0x5172e4['sJYje'](_0xca75,MAX_PIN_DIGITS))throw new IdGeneratorError(_0x5172e4[_0x1acf9f(0x199)],_0x1acf9f(0x133)+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+'\x20(got:\x20'+_0xca75+')');const _0x255889='9'[_0x1acf9f(0x19c)](_0xca75);return this[_0x1acf9f(0x168)]({'resource':_0x2ec5ad['resource'],'pattern':_0x255889,'ensureUnique':_0x5172e4[_0x1acf9f(0x106)](_0x2ec5ad[_0x1acf9f(0x109)],!![]),'ttl':_0x2ec5ad['ttl'],'maxRetry':_0x2ec5ad['maxRetry'],'idempotencyKey':_0x2ec5ad[_0x1acf9f(0x190)]});}async['serial'](_0x5d8533){const _0x5c6d62=a0_0x4dc06d,_0x43afe6=_0x5d8533['pattern']||this['defaultSerialPattern'];return this['random']({'resource':_0x5d8533['resource'],'pattern':_0x43afe6,'ensureUnique':_0x5d8533[_0x5c6d62(0x109)]!==![],'ttl':_0x5d8533[_0x5c6d62(0x105)],'maxRetry':_0x5d8533['maxRetry'],'idempotencyKey':_0x5d8533['idempotencyKey']});}async['code'](_0x309fcf){const _0x1f475a=a0_0x4dc06d,_0x2dac26=_0x309fcf['pattern']||this[_0x1f475a(0x138)];return this[_0x1f475a(0x168)]({'resource':_0x309fcf[_0x1f475a(0x1a8)],'pattern':_0x2dac26,'ensureUnique':_0x309fcf[_0x1f475a(0x109)]!==![],'ttl':_0x309fcf['ttl'],'maxRetry':_0x309fcf['maxRetry'],'idempotencyKey':_0x309fcf[_0x1f475a(0x190)]});}async[a0_0x4dc06d(0xa7)](_0x205779){const _0x58ab6f=a0_0x4dc06d,_0x358f75={'DpiNi':'ID\x20Generator\x20is\x20disabled','UxkMA':'string','hVsUF':function(_0x5c03ea,_0x22c340){return _0x5c03ea===_0x22c340;},'vXhZr':_0x58ab6f(0x122),'SYsrM':_0x58ab6f(0x9d),'qJoxR':_0x58ab6f(0x149)};if(!this['enabled'])throw new IdGeneratorError(_0x58ab6f(0xd4),_0x358f75['DpiNi']);this[_0x58ab6f(0x169)](_0x205779[_0x58ab6f(0x1a8)]);if(typeof _0x205779['value']!==_0x358f75['UxkMA']||_0x358f75['hVsUF'](_0x205779['value'][_0x58ab6f(0x177)],0x0))throw new IdGeneratorError(_0x358f75['vXhZr'],_0x358f75[_0x58ab6f(0xb2)]);const {resource:_0x4a9f25,value:_0x26cffd}=_0x205779,_0x4cb4d0=redisClient['getClient'](),_0xde13d4=this['_buildActiveKey'](_0x4a9f25,_0x26cffd),_0x21ce3f=this[_0x58ab6f(0xf2)](_0x4a9f25),[_0x306dc7,_0x239157]=await Promise[_0x58ab6f(0xbe)]([_0x4cb4d0['del'](_0xde13d4),_0x4cb4d0[_0x58ab6f(0x132)](_0x21ce3f,_0x26cffd)]),_0x33c68d=_0x306dc7+_0x239157>0x0;return logger[_0x58ab6f(0xcb)]({'event':_0x358f75['qJoxR'],'resource':_0x4a9f25,'value':_0x26cffd,'consumed':_0x33c68d},_0x58ab6f(0xd5)+_0x26cffd),{'consumed':_0x33c68d,'resource':_0x4a9f25,'value':_0x26cffd,'consumedAt':new Date()['toISOString']()};}async['peek'](_0x51c05d){const _0x1e809c=a0_0x4dc06d,_0x5d93ce={'zQrQO':'ID\x20Generator\x20is\x20disabled','OEyFn':_0x1e809c(0x170),'kJSXb':'text','lOGdd':function(_0x742dad,_0x2df82c,_0x34425a){return _0x742dad(_0x2df82c,_0x34425a);},'FnceR':function(_0x18c46a,_0x3f8f6e){return _0x18c46a||_0x3f8f6e;},'Ppuhy':'random'};if(!this[_0x1e809c(0xca)])throw new IdGeneratorError(_0x1e809c(0xd4),_0x5d93ce['zQrQO']);this[_0x1e809c(0x169)](_0x51c05d['resource']);const _0x16af5d=_0x51c05d[_0x1e809c(0xe1)]||_0x5d93ce[_0x1e809c(0xe8)],_0x360785=redisClient[_0x1e809c(0xbd)]();if(_0x16af5d===_0x5d93ce[_0x1e809c(0xe8)]){const _0x21eb75=(_0x51c05d[_0x1e809c(0xb0)]||_0x5d93ce['kJSXb'])[_0x1e809c(0x11e)]();if(!ALLOWED_FORMATS[_0x1e809c(0x101)](_0x21eb75))throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0x1e809c(0xef)+_0x51c05d['format']);const {formatKey:_0x12292e}=this[_0x1e809c(0x18f)](_0x21eb75,_0x51c05d['prefix']||''),_0x3e2bb7=this['_buildSeqKey'](_0x51c05d['resource'],_0x12292e),_0x4a8c9b=this[_0x1e809c(0x102)](_0x51c05d['resource'],_0x12292e),[_0x45f84c,_0x146630]=await Promise[_0x1e809c(0xbe)]([_0x360785[_0x1e809c(0x14b)](_0x3e2bb7),_0x360785['zcard'](_0x4a8c9b)]);return{'resource':_0x51c05d['resource'],'mode':_0x5d93ce['OEyFn'],'formatKey':_0x12292e,'currentCounter':_0x5d93ce[_0x1e809c(0x154)](parseInt,_0x45f84c,0xa)||0x0,'reusePoolSize':_0x5d93ce['FnceR'](_0x146630,0x0)};}if(_0x16af5d==='random'){const _0x550a6e=this[_0x1e809c(0xf2)](_0x51c05d[_0x1e809c(0x1a8)]),_0xba0660=await _0x360785[_0x1e809c(0x15c)](_0x550a6e);return{'resource':_0x51c05d[_0x1e809c(0x1a8)],'mode':_0x5d93ce[_0x1e809c(0x194)],'issuedCount':_0xba0660||0x0};}throw new IdGeneratorError('IDGEN_INVALID_MODE','Unknown\x20mode:\x20'+_0x16af5d);}async['getInfo'](_0x5a86e4){const _0x1b4345=a0_0x4dc06d,_0x13553c={'ZXxVp':function(_0xc40550,_0x447b39){return _0xc40550===_0x447b39;},'zbEPF':'number'},_0x3fa879=await this[_0x1b4345(0x182)](_0x5a86e4);if(_0x13553c['ZXxVp'](_0x3fa879['mode'],_0x13553c[_0x1b4345(0x107)])){const _0x4aac01=redisClient['getClient'](),_0x1cf83c=this[_0x1b4345(0x162)](_0x5a86e4[_0x1b4345(0x1a8)],_0x3fa879[_0x1b4345(0x163)]),_0xcf860e=this['_buildReuseKey'](_0x5a86e4[_0x1b4345(0x1a8)],_0x3fa879['formatKey']),[_0x3177aa,_0x5ddb84]=await Promise['all']([_0x4aac01[_0x1b4345(0xa5)](_0x1cf83c),_0x4aac01[_0x1b4345(0x14d)](_0xcf860e,0x0,-0x1)]);return{..._0x3fa879,'reusePoolValues':_0x5ddb84['map'](_0x301165=>parseInt(_0x301165,0xa)),'meta':_0x3177aa&&Object['keys'](_0x3177aa)[_0x1b4345(0x177)]>0x0?_0x3177aa:null};}return _0x3fa879;}async['reset'](_0xbd714e){const _0x5e18c3=a0_0x4dc06d,_0x476e64={'ZtuIG':'ID\x20Generator\x20is\x20disabled','YUVFR':function(_0x2bc06d,_0x5ce7ba){return _0x2bc06d===_0x5ce7ba;},'QWRcd':'number','bSnRp':'IDGEN_INVALID_FORMAT','MSpBR':_0x5e18c3(0xf6),'NXbKf':'meta','QiCZx':_0x5e18c3(0x168),'aylZX':'IDGEN_INVALID_MODE'};if(!this['enabled'])throw new IdGeneratorError(_0x5e18c3(0xd4),_0x476e64[_0x5e18c3(0xbc)]);if(!this['allowReset'])throw new IdGeneratorError(_0x5e18c3(0xb3),'Reset\x20operation\x20not\x20allowed\x20(set\x20IDGEN_ALLOW_RESET=true\x20to\x20enable)');this[_0x5e18c3(0x169)](_0xbd714e[_0x5e18c3(0x1a8)]);const _0x311c42=_0xbd714e[_0x5e18c3(0xe1)]||'number',_0x628013=redisClient['getClient']();if(_0x476e64['YUVFR'](_0x311c42,_0x476e64['QWRcd'])){const _0x44338a=(_0xbd714e[_0x5e18c3(0xb0)]||_0x5e18c3(0x120))[_0x5e18c3(0x11e)]();if(!ALLOWED_FORMATS[_0x5e18c3(0x101)](_0x44338a))throw new IdGeneratorError(_0x476e64[_0x5e18c3(0x16b)],_0x5e18c3(0xef)+_0xbd714e[_0x5e18c3(0xb0)]);const {formatKey:_0x33753d}=this[_0x5e18c3(0x18f)](_0x44338a,_0xbd714e['prefix']||''),_0x2529c9=this['_buildSeqKey'](_0xbd714e['resource'],_0x33753d),_0x42573e=this['_buildReuseKey'](_0xbd714e['resource'],_0x33753d),_0x4c012c=this['_buildMetaKey'](_0xbd714e['resource'],_0x33753d);return await _0x628013[_0x5e18c3(0x13b)](_0x2529c9,_0x42573e,_0x4c012c),logger[_0x5e18c3(0x15b)]({'event':_0x476e64[_0x5e18c3(0x9c)],'resource':_0xbd714e[_0x5e18c3(0x1a8)],'mode':_0x5e18c3(0x170),'formatKey':_0x33753d},'ID\x20Generator\x20reset:\x20'+_0xbd714e['resource']+':'+_0x33753d),{'reset':!![],'resource':_0xbd714e['resource'],'mode':'number','formatKey':_0x33753d,'deletedKeys':[_0x5e18c3(0xf4),_0x5e18c3(0x1ad),_0x476e64[_0x5e18c3(0x12a)]]};}if(_0x311c42==='random'){const _0x2e6983=this[_0x5e18c3(0xf2)](_0xbd714e['resource']);return await _0x628013['del'](_0x2e6983),logger['warn']({'event':'idgen_reset','resource':_0xbd714e['resource'],'mode':_0x476e64['QiCZx']},'ID\x20Generator\x20reset:\x20random:'+_0xbd714e['resource']),{'reset':!![],'resource':_0xbd714e['resource'],'mode':_0x5e18c3(0x168),'deletedKeys':[_0x5e18c3(0xd3)]};}throw new IdGeneratorError(_0x476e64[_0x5e18c3(0xb1)],'Unknown\x20mode:\x20'+_0x311c42);}}const instance=new IdGenerator();instance[a0_0x4dc06d(0x146)]=IdGeneratorError,module['exports']=instance,module[a0_0x4dc06d(0x126)][a0_0x4dc06d(0x146)]=IdGeneratorError;
@@ -1 +1 @@
1
- 'use strict';const a0_0xc3622d=a0_0x1cc1;function a0_0x4948(){const _0x32d116=['x2LUAxrdB25MAwC','CMfUzg9Tvvvjra','C2v0zxG','x2vUC3vYzuLUAxrPywXPEMvK','Cgf0Aa','swrLBxbVDgvUy3KGy29UzMLNDxjHDgLVBIbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','ELbju0m','y3r0BLG','x3r0Ba','swrLBxbVDgvUy3KGy2fJAguGseLu','DhrS','surftvbpvevoq1LFru5bqKXfra','CMv0CMLLDMu','nZaWmta0r3nrEwHt','AxnfBMfIBgvK','Aw5MBW','z2vUzxjHDgvlzxK','zgvIDwC','mJq1mdG1EeLlz29P','vfvgyKO','mtaZmZGYngXLqMzcDG','mJbSAurgzgq','zxHWB3j0CW','ndyXmdm4tuHzwfjh','AwX5Cem','mte1nZy0mM9yv2DoAa','AwrLBxbVDgvUy3LFy29UzMLNx2LUAxq','zw5HyMXLza','AwrLBxbVDgvUy3LFBwLZCW','mJi0mJq5oxL1qMjlyq','C3rYAw5NAwz5','BwvZC2fNzq','x2LUAxrPywXPEMvK','mtm3mJmXnLDhD0jLEG','AwrLBxbVDgvUy3LFCMv0CMLLDMvFzxjYB3i','surftvbpvevoq1LFvfrm','qLz5u1m','CgfYC2u','Dhj1zq','x2vUywjSzwq','zxjYB3i','qKPrreS'];a0_0x4948=function(){return _0x32d116;};return a0_0x4948();}(function(_0x2352d5,_0x20b326){const _0x5f8b8c=a0_0x1cc1,_0x484bbb=_0x2352d5();while(!![]){try{const _0x1db110=parseInt(_0x5f8b8c(0x11a))/0x1+parseInt(_0x5f8b8c(0xf2))/0x2+-parseInt(_0x5f8b8c(0x115))/0x3+-parseInt(_0x5f8b8c(0xfa))/0x4+parseInt(_0x5f8b8c(0x118))/0x5*(-parseInt(_0x5f8b8c(0x110))/0x6)+parseInt(_0x5f8b8c(0xf6))/0x7+-parseInt(_0x5f8b8c(0x117))/0x8;if(_0x1db110===_0x20b326)break;else _0x484bbb['push'](_0x484bbb['shift']());}catch(_0x394fbf){_0x484bbb['push'](_0x484bbb['shift']());}}}(a0_0x4948,0x52e16));function a0_0x1cc1(_0x370668,_0x7424e3){_0x370668=_0x370668-0xf1;const _0x494895=a0_0x4948();let _0x1cc14f=_0x494895[_0x370668];if(a0_0x1cc1['DfhPeY']===undefined){var _0x3012b5=function(_0x12c321){const _0x568c15='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x99ed74='',_0x558091='';for(let _0x3b166e=0x0,_0x299e0d,_0xe0663,_0x3629cc=0x0;_0xe0663=_0x12c321['charAt'](_0x3629cc++);~_0xe0663&&(_0x299e0d=_0x3b166e%0x4?_0x299e0d*0x40+_0xe0663:_0xe0663,_0x3b166e++%0x4)?_0x99ed74+=String['fromCharCode'](0xff&_0x299e0d>>(-0x2*_0x3b166e&0x6)):0x0){_0xe0663=_0x568c15['indexOf'](_0xe0663);}for(let _0x4dbe33=0x0,_0x3bbd74=_0x99ed74['length'];_0x4dbe33<_0x3bbd74;_0x4dbe33++){_0x558091+='%'+('00'+_0x99ed74['charCodeAt'](_0x4dbe33)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x558091);};a0_0x1cc1['edLuxD']=_0x3012b5,a0_0x1cc1['puUXKa']={},a0_0x1cc1['DfhPeY']=!![];}const _0x2d8fc0=_0x494895[0x0],_0x5a8ed2=_0x370668+_0x2d8fc0,_0x5384d2=a0_0x1cc1['puUXKa'][_0x5a8ed2];return!_0x5384d2?(_0x1cc14f=a0_0x1cc1['edLuxD'](_0x1cc14f),a0_0x1cc1['puUXKa'][_0x5a8ed2]=_0x1cc14f):_0x1cc14f=_0x5384d2,_0x1cc14f;}const redisClient=require('./redis-client'),{logger}=require('./logger'),crypto=require('crypto');class IdempotencyManager{constructor(){this['_enabled']=null,this['_ttl']=null,this['_initialized']=![];}[a0_0xc3622d(0x103)](){const _0x55b7f3=a0_0xc3622d,_0x2ea0de={'TUFbJ':_0x55b7f3(0xff),'BVySS':function(_0x430e3b,_0x2f9bed,_0x3585b0){return _0x430e3b(_0x2f9bed,_0x3585b0);},'cttnX':_0x55b7f3(0xf3)};this['_enabled']=process['env'][_0x55b7f3(0x10e)]===_0x2ea0de[_0x55b7f3(0x116)],this[_0x55b7f3(0x10b)]=_0x2ea0de[_0x55b7f3(0xfd)](parseInt,process['env'][_0x55b7f3(0xfc)],0xa)||0x12c,this[_0x55b7f3(0xf9)]=!![],logger['info']({'event':_0x2ea0de[_0x55b7f3(0x10a)],'enabled':this['_enabled'],'ttl':this['_ttl']},_0x55b7f3(0x108)+this['_enabled']+',\x20TTL:\x20'+this['_ttl']+'s');}['_ensureInitialized'](){const _0x59cb8b=a0_0xc3622d;!this[_0x59cb8b(0xf9)]&&this['_initConfig']();}get[a0_0xc3622d(0xf4)](){const _0x2ba985=a0_0xc3622d;return this[_0x2ba985(0x106)](),this[_0x2ba985(0x100)];}get[a0_0xc3622d(0x10d)](){const _0x408f8c=a0_0xc3622d;return this['_ensureInitialized'](),this[_0x408f8c(0x10b)];}[a0_0xc3622d(0x111)](){return this['enabled'];}['buildKey'](_0x30bee9,_0x2c56a5){const _0x18de18=a0_0xc3622d,_0x4d4f99={'ilypC':'unknown'},_0x1ad914=_0x2c56a5[_0x18de18(0x107)]['split']('/')['filter'](Boolean),_0x585dde=_0x1ad914[0x0]||'default',_0x1ccae5=_0x1ad914[0x1]||_0x4d4f99[_0x18de18(0xf1)],_0x1c4097=_0x1ad914[0x2]||'unknown';return'rf:idem:'+_0x585dde+':'+_0x1ccae5+':'+_0x1c4097+':'+_0x30bee9;}async['store'](_0x4a5ae4,_0x1db197){const _0x588719=a0_0xc3622d;if(!this['enabled'])return![];try{const _0x14c44b=redisClient['getClient']();return await _0x14c44b[_0x588719(0x105)](_0x4a5ae4,this[_0x588719(0x10d)],JSON[_0x588719(0xf7)](_0x1db197)),logger[_0x588719(0x114)]({'event':'idempotency_store','key':_0x4a5ae4,'ttl':this['ttl'],'statusCode':_0x1db197['statusCode']},'Idempotency\x20response\x20stored'),!![];}catch(_0x54aff2){return logger[_0x588719(0x101)]({'event':'idempotency_store_error','key':_0x4a5ae4,'error':_0x54aff2[_0x588719(0xf8)]},'Idempotency\x20store\x20error:\x20'+_0x54aff2['message']),![];}}async[a0_0xc3622d(0x10f)](_0x2ce694){const _0x53fb62=a0_0xc3622d,_0x37b2ef={'BJQDK':'idempotency_hit','PGjpE':_0x53fb62(0x10c),'zPISC':_0x53fb62(0xfb)};if(!this['enabled'])return null;try{const _0x5eee58=redisClient['getClient'](),_0x20f4e2=await _0x5eee58['get'](_0x2ce694);if(_0x20f4e2)return logger[_0x53fb62(0x112)]({'event':_0x37b2ef[_0x53fb62(0x102)],'key':_0x2ce694},_0x37b2ef['PGjpE']),JSON[_0x53fb62(0xfe)](_0x20f4e2);return logger[_0x53fb62(0x114)]({'event':_0x53fb62(0xf5),'key':_0x2ce694},'Idempotency\x20cache\x20MISS'),null;}catch(_0x5429e7){return logger[_0x53fb62(0x101)]({'event':_0x37b2ef[_0x53fb62(0x109)],'key':_0x2ce694,'error':_0x5429e7[_0x53fb62(0xf8)]},'Idempotency\x20retrieve\x20error:\x20'+_0x5429e7[_0x53fb62(0xf8)]),null;}}[a0_0xc3622d(0x113)](_0x55a714='req'){const _0xa2366=a0_0xc3622d;return _0x55a714+'_'+crypto[_0xa2366(0x104)]();}['buildDeterministicKey'](_0x2da99d,_0x13b6d6,_0x2a825c){return _0x2da99d+':'+_0x13b6d6+':'+_0x2a825c;}}module[a0_0xc3622d(0x119)]=new IdempotencyManager();
1
+ 'use strict';const a0_0x1310c3=a0_0x555c;(function(_0x9cea52,_0x49b35d){const _0x34be8e=a0_0x555c,_0xd45ff7=_0x9cea52();while(!![]){try{const _0x3e43e3=-parseInt(_0x34be8e(0x124))/0x1+-parseInt(_0x34be8e(0x10e))/0x2*(parseInt(_0x34be8e(0x10d))/0x3)+parseInt(_0x34be8e(0x112))/0x4*(-parseInt(_0x34be8e(0xfe))/0x5)+-parseInt(_0x34be8e(0x11c))/0x6*(parseInt(_0x34be8e(0x11d))/0x7)+parseInt(_0x34be8e(0x127))/0x8*(-parseInt(_0x34be8e(0x11e))/0x9)+-parseInt(_0x34be8e(0x126))/0xa+parseInt(_0x34be8e(0x104))/0xb*(parseInt(_0x34be8e(0x107))/0xc);if(_0x3e43e3===_0x49b35d)break;else _0xd45ff7['push'](_0xd45ff7['shift']());}catch(_0x2cc6c6){_0xd45ff7['push'](_0xd45ff7['shift']());}}}(a0_0x4ce1,0xb3877));function a0_0x555c(_0x222966,_0x3f3d93){_0x222966=_0x222966-0xfe;const _0x4ce123=a0_0x4ce1();let _0x555cbe=_0x4ce123[_0x222966];if(a0_0x555c['QjtvOJ']===undefined){var _0x1157c9=function(_0x4c003a){const _0x5b0522='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4438b7='',_0x523fb5='';for(let _0x3ce13a=0x0,_0xf773f6,_0x3f3647,_0x4d0b9b=0x0;_0x3f3647=_0x4c003a['charAt'](_0x4d0b9b++);~_0x3f3647&&(_0xf773f6=_0x3ce13a%0x4?_0xf773f6*0x40+_0x3f3647:_0x3f3647,_0x3ce13a++%0x4)?_0x4438b7+=String['fromCharCode'](0xff&_0xf773f6>>(-0x2*_0x3ce13a&0x6)):0x0){_0x3f3647=_0x5b0522['indexOf'](_0x3f3647);}for(let _0x5331c1=0x0,_0x1261d0=_0x4438b7['length'];_0x5331c1<_0x1261d0;_0x5331c1++){_0x523fb5+='%'+('00'+_0x4438b7['charCodeAt'](_0x5331c1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x523fb5);};a0_0x555c['fnnTBO']=_0x1157c9,a0_0x555c['EDMzcp']={},a0_0x555c['QjtvOJ']=!![];}const _0x2c618d=_0x4ce123[0x0],_0x255c60=_0x222966+_0x2c618d,_0x364542=a0_0x555c['EDMzcp'][_0x255c60];return!_0x364542?(_0x555cbe=a0_0x555c['fnnTBO'](_0x555cbe),a0_0x555c['EDMzcp'][_0x255c60]=_0x555cbe):_0x555cbe=_0x364542,_0x555cbe;}function a0_0x4ce1(){const _0x4ccd26=['zgvMyxvSDa','x3r0Ba','CMv0CMLLDMu','Aw5MBW','AwrLBxbVDgvUy3LFBwLZCW','C3rHDhvZq29Kzq','mZmXmdGYnfbbwLDgDG','n2LAB3brtW','oxfSs21Jvq','DhrS','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i6ia','C2v0zxG','Cgf0Aa','BwvZC2fNzq','nJi1ndGXze13EurY','yNvPBgrlzxK','oda3nZC1mfHrBxb5uW','nZeZmty4mhHdD2fyyG','nwHfEgnVrG','A3f4rM0','swrLBxbVDgvUy3KGy29UzMLNDxjHDgLVBIbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','x2LUAxrPywXPEMvK','lcbuveW6ia','swrLBxbVDgvUy3KGy2fJAguGseLu','nJa4mdKYodDtuKXIsMC','lI9SB2DNzxi','CMfUzg9Tvvvjra','mtjYyMDqrKm','C3bSAxq','x2vUC3vYzuLUAxrPywXPEMvK','zxHWB3j0CW','zw52','z2vUzxjHDgvlzxK','mta2nti4mM5Zte9ZqG','nfvbrwzxBG','Dw5RBM93BG','EKvhDMK','zxjYB3i','ndGYndiZmKrvu2fNvW','zw5HyMXLza','Bffgz0O','x2vUywjSzwq'];a0_0x4ce1=function(){return _0x4ccd26;};return a0_0x4ce1();}const redisClient=require('./redis-client'),{logger}=require(a0_0x1310c3(0x105)),crypto=require('crypto');class IdempotencyManager{constructor(){const _0x1b75f2=a0_0x1310c3;this[_0x1b75f2(0x115)]=null,this['_ttl']=null,this['_initialized']=![];}['_initConfig'](){const _0x35e833=a0_0x1310c3,_0x54d6a9={'lQFgJ':function(_0x4a2293,_0x578a9a){return _0x4a2293===_0x578a9a;},'kIVwI':'true','FkJnE':function(_0x574f7b,_0x34f95e,_0xe1aa45){return _0x574f7b(_0x34f95e,_0xe1aa45);}};this['_enabled']=_0x54d6a9[_0x35e833(0x114)](process[_0x35e833(0x10b)]['IDEMPOTENCY_ENABLED'],_0x54d6a9['kIVwI']),this['_ttl']=_0x54d6a9['FkJnE'](parseInt,process[_0x35e833(0x10b)]['IDEMPOTENCY_TTL'],0xa)||0x12c,this['_initialized']=!![],logger[_0x35e833(0x119)]({'event':'idempotency_config_init','enabled':this['_enabled'],'ttl':this['_ttl']},_0x35e833(0x100)+this[_0x35e833(0x115)]+_0x35e833(0x102)+this[_0x35e833(0x117)]+'s');}[a0_0x1310c3(0x109)](){const _0x3c5386=a0_0x1310c3;!this[_0x3c5386(0x101)]&&this['_initConfig']();}get[a0_0x1310c3(0x113)](){const _0x31f6bc=a0_0x1310c3;return this['_ensureInitialized'](),this[_0x31f6bc(0x115)];}get[a0_0x1310c3(0x11f)](){const _0x2486e7=a0_0x1310c3;return this[_0x2486e7(0x109)](),this[_0x2486e7(0x117)];}['isEnabled'](){return this['enabled'];}[a0_0x1310c3(0x125)](_0x57214c,_0x47d679){const _0x48ae48=a0_0x1310c3,_0x4dd14f={'crkuz':_0x48ae48(0x116),'MPgXP':_0x48ae48(0x10f)},_0xf7563b=_0x47d679[_0x48ae48(0x122)][_0x48ae48(0x108)]('/')['filter'](Boolean),_0x536416=_0xf7563b[0x0]||_0x4dd14f['crkuz'],_0x2b6d15=_0xf7563b[0x1]||'unknown',_0x1e378e=_0xf7563b[0x2]||_0x4dd14f['MPgXP'];return'rf:idem:'+_0x536416+':'+_0x2b6d15+':'+_0x1e378e+':'+_0x57214c;}async['store'](_0x40c92a,_0x1ef9de){const _0x349142=a0_0x1310c3,_0x18b4ae={'kqxFm':'idempotency_store_error'};if(!this[_0x349142(0x113)])return![];try{const _0x33aebb=redisClient['getClient']();return await _0x33aebb[_0x349142(0x121)](_0x40c92a,this[_0x349142(0x11f)],JSON['stringify'](_0x1ef9de)),logger['debug']({'event':'idempotency_store','key':_0x40c92a,'ttl':this[_0x349142(0x11f)],'statusCode':_0x1ef9de[_0x349142(0x11b)]},'Idempotency\x20response\x20stored'),!![];}catch(_0x419a60){return logger[_0x349142(0x111)]({'event':_0x18b4ae[_0x349142(0xff)],'key':_0x40c92a,'error':_0x419a60['message']},_0x349142(0x120)+_0x419a60['message']),![];}}async[a0_0x1310c3(0x118)](_0x2e355e){const _0x1551fc=a0_0x1310c3,_0x273356={'fugiI':'idempotency_hit','hYGjJ':_0x1551fc(0x103),'zEGvi':_0x1551fc(0x11a)};if(!this['enabled'])return null;try{const _0x51faa8=redisClient['getClient'](),_0x5d88cc=await _0x51faa8['get'](_0x2e355e);if(_0x5d88cc)return logger[_0x1551fc(0x119)]({'event':_0x273356['fugiI'],'key':_0x2e355e},_0x273356['hYGjJ']),JSON['parse'](_0x5d88cc);return logger['debug']({'event':_0x273356[_0x1551fc(0x110)],'key':_0x2e355e},'Idempotency\x20cache\x20MISS'),null;}catch(_0x1661e8){return logger['error']({'event':'idempotency_retrieve_error','key':_0x2e355e,'error':_0x1661e8['message']},'Idempotency\x20retrieve\x20error:\x20'+_0x1661e8[_0x1551fc(0x123)]),null;}}[a0_0x1310c3(0x10c)](_0x37f095='req'){const _0x1a7740=a0_0x1310c3;return _0x37f095+'_'+crypto[_0x1a7740(0x106)]();}['buildDeterministicKey'](_0x2b806e,_0x197c84,_0x37dc88){return _0x2b806e+':'+_0x197c84+':'+_0x37dc88;}}module[a0_0x1310c3(0x10a)]=new IdempotencyManager();
@@ -1 +1 @@
1
- const a0_0x2f5b75=a0_0x73a1;function a0_0x73a1(_0x5779e8,_0x1b1e79){_0x5779e8=_0x5779e8-0x1c8;const _0x1becaa=a0_0x1bec();let _0x73a171=_0x1becaa[_0x5779e8];if(a0_0x73a1['NBSfjR']===undefined){var _0x4b56a1=function(_0x4063c1){const _0x2b8cba='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xce234c='',_0x58bd42='';for(let _0x5ebaa5=0x0,_0x5eeaf9,_0x2b6642,_0x5aebe1=0x0;_0x2b6642=_0x4063c1['charAt'](_0x5aebe1++);~_0x2b6642&&(_0x5eeaf9=_0x5ebaa5%0x4?_0x5eeaf9*0x40+_0x2b6642:_0x2b6642,_0x5ebaa5++%0x4)?_0xce234c+=String['fromCharCode'](0xff&_0x5eeaf9>>(-0x2*_0x5ebaa5&0x6)):0x0){_0x2b6642=_0x2b8cba['indexOf'](_0x2b6642);}for(let _0x3998ec=0x0,_0x23a56a=_0xce234c['length'];_0x3998ec<_0x23a56a;_0x3998ec++){_0x58bd42+='%'+('00'+_0xce234c['charCodeAt'](_0x3998ec)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x58bd42);};a0_0x73a1['vMaOXe']=_0x4b56a1,a0_0x73a1['jNCafg']={},a0_0x73a1['NBSfjR']=!![];}const _0xbe27f=_0x1becaa[0x0],_0x9baa3d=_0x5779e8+_0xbe27f,_0x4629b4=a0_0x73a1['jNCafg'][_0x9baa3d];return!_0x4629b4?(_0x73a171=a0_0x73a1['vMaOXe'](_0x73a171),a0_0x73a1['jNCafg'][_0x9baa3d]=_0x73a171):_0x73a171=_0x4629b4,_0x73a171;}(function(_0x3dff97,_0x398a80){const _0x48bd90=a0_0x73a1,_0x242db7=_0x3dff97();while(!![]){try{const _0x3b0dec=-parseInt(_0x48bd90(0x1da))/0x1*(parseInt(_0x48bd90(0x1d6))/0x2)+-parseInt(_0x48bd90(0x1e5))/0x3*(parseInt(_0x48bd90(0x1f0))/0x4)+-parseInt(_0x48bd90(0x1ee))/0x5*(parseInt(_0x48bd90(0x1e6))/0x6)+-parseInt(_0x48bd90(0x1df))/0x7*(-parseInt(_0x48bd90(0x1f1))/0x8)+parseInt(_0x48bd90(0x1e8))/0x9*(parseInt(_0x48bd90(0x1d1))/0xa)+-parseInt(_0x48bd90(0x1c9))/0xb*(-parseInt(_0x48bd90(0x1db))/0xc)+-parseInt(_0x48bd90(0x1e9))/0xd;if(_0x3b0dec===_0x398a80)break;else _0x242db7['push'](_0x242db7['shift']());}catch(_0x5cd95a){_0x242db7['push'](_0x242db7['shift']());}}}(a0_0x1bec,0x79755));const {logger}=require(a0_0x2f5b75(0x1cf));class ImportValidator{[a0_0x2f5b75(0x1f2)](_0x29609f,_0x29974e=[],_0x568d9a={}){const _0x32ef54=a0_0x2f5b75,_0x84ab40={'GlIYR':function(_0xf0b785,_0x591c56){return _0xf0b785===_0x591c56;},'xXYKY':function(_0x297da4,_0x57a3c9){return _0x297da4===_0x57a3c9;}},_0x1d15ee=[];return _0x29974e[_0x32ef54(0x1e1)](_0x16dcd9=>{const _0x5a763c=_0x32ef54,_0x4b160c=_0x29609f[_0x16dcd9];(_0x4b160c===null||_0x84ab40[_0x5a763c(0x1ea)](_0x4b160c,undefined)||_0x4b160c==='')&&_0x1d15ee[_0x5a763c(0x1d7)]({'field':_0x16dcd9,'type':'required','message':_0x5a763c(0x1d8)});}),Object['keys'](_0x568d9a)[_0x32ef54(0x1e1)](_0x3f7bbf=>{const _0x1a3920=_0x32ef54,_0x4c21e4=_0x29609f[_0x3f7bbf],_0x26eefe=_0x568d9a[_0x3f7bbf];if(_0x84ab40[_0x1a3920(0x1d2)](_0x4c21e4,null)||_0x4c21e4===undefined||_0x4c21e4==='')return;const _0x5e8366=this[_0x1a3920(0x1e4)](_0x3f7bbf,_0x4c21e4,_0x26eefe);_0x5e8366&&_0x1d15ee[_0x1a3920(0x1d7)](_0x5e8366);}),_0x1d15ee;}['validateFieldFormat'](_0x4f1cc2,_0x2daad1,_0x26b48e){const _0x3fdddb=a0_0x2f5b75,_0x5add87={'qlMoG':'phone'};switch(_0x26b48e){case _0x3fdddb(0x1dc):return this['validateEmail'](_0x4f1cc2,_0x2daad1);case _0x5add87['qlMoG']:return this[_0x3fdddb(0x1c8)](_0x4f1cc2,_0x2daad1);case'url':return this[_0x3fdddb(0x1dd)](_0x4f1cc2,_0x2daad1);case'number':return this['validateNumber'](_0x4f1cc2,_0x2daad1);default:return null;}}['validateEmail'](_0x4ef97c,_0x565839){const _0x52553a=a0_0x2f5b75,_0xa2e8ea={'WHHfH':function(_0xe80c8c,_0x456a03){return _0xe80c8c(_0x456a03);},'Nfmpr':_0x52553a(0x1e0)},_0x303d0f=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x303d0f[_0x52553a(0x1e2)](_0xa2e8ea[_0x52553a(0x1d5)](String,_0x565839)))return{'field':_0x4ef97c,'type':'format','message':_0xa2e8ea['Nfmpr']};return null;}['validatePhone'](_0x275dbb,_0x27c933){const _0x13e98b=a0_0x2f5b75,_0x53511d={'CuAFc':function(_0x4570c4,_0xcbef1f){return _0x4570c4<_0xcbef1f;},'VcFHX':_0x13e98b(0x1d0),'obgka':'Invalid\x20phone\x20format'},_0x1ad38e=String(_0x27c933)['replace'](/\s+/g,''),_0xb2b3e=/^[\d\+\-\(\)]+$/;if(!_0xb2b3e[_0x13e98b(0x1e2)](_0x1ad38e)||_0x53511d['CuAFc'](_0x1ad38e['length'],0x8))return{'field':_0x275dbb,'type':_0x53511d[_0x13e98b(0x1d3)],'message':_0x53511d['obgka']};return null;}[a0_0x2f5b75(0x1dd)](_0x22a5e5,_0x55a87b){const _0x8d9ec9=a0_0x2f5b75,_0x155200={'SYQVk':'Invalid\x20URL\x20format'};try{return new URL(String(_0x55a87b)),null;}catch(_0x3d2ce3){return{'field':_0x22a5e5,'type':'format','message':_0x155200[_0x8d9ec9(0x1cc)]};}}[a0_0x2f5b75(0x1cd)](_0xec743f,_0x116ed4){const _0x113d75=a0_0x2f5b75,_0x431d17={'JCvhU':function(_0x22a0a8,_0x22f9df){return _0x22a0a8(_0x22f9df);}};if(_0x431d17['JCvhU'](isNaN,_0x116ed4))return{'field':_0xec743f,'type':'format','message':_0x113d75(0x1d4)};return null;}[a0_0x2f5b75(0x1ed)](_0x1cbe6e,_0x48da32){const _0x6219e6=new Map(),_0xb2149a=[];return _0x1cbe6e['forEach']((_0x3a4ead,_0x32f3ec)=>{const _0x2745a4=a0_0x73a1,_0x2af813=_0x48da32[_0x2745a4(0x1ce)](_0x408371=>_0x3a4ead[_0x408371])['join']('|');_0x6219e6[_0x2745a4(0x1d9)](_0x2af813)?_0xb2149a['push']({'rowIndex':_0x32f3ec,'duplicateOf':_0x6219e6[_0x2745a4(0x1ca)](_0x2af813),'key':_0x2af813}):_0x6219e6['set'](_0x2af813,_0x32f3ec);}),_0xb2149a;}[a0_0x2f5b75(0x1ef)](_0x3201db,_0x2486c1,_0x20675c){const _0x4824ba=a0_0x2f5b75,_0x27042c={'GkVCK':function(_0x195fc6,_0xbb4db3){return _0x195fc6>_0xbb4db3;},'NKsIg':_0x4824ba(0x1ec)},_0x49c61f=[];return _0x3201db[_0x4824ba(0x1e1)]((_0x30a1fc,_0x51fd71)=>{const _0x2d9d54=_0x4824ba,_0x599ad6=this[_0x2d9d54(0x1f2)](_0x30a1fc,_0x2486c1,_0x20675c);_0x27042c[_0x2d9d54(0x1e3)](_0x599ad6[_0x2d9d54(0x1de)],0x0)&&_0x49c61f['push']({'rowIndex':_0x51fd71,'rowData':_0x30a1fc,'errors':_0x599ad6});}),logger[_0x4824ba(0x1eb)]({'event':_0x27042c[_0x4824ba(0x1e7)],'totalRows':_0x3201db[_0x4824ba(0x1de)],'errorCount':_0x49c61f[_0x4824ba(0x1de)]},'Batch\x20validation\x20completed'),_0x49c61f;}}module[a0_0x2f5b75(0x1cb)]=new ImportValidator();function a0_0x1bec(){const _0xd653ac=['sw52ywXPzcbLBwfPBcbMB3jTyxq','zM9YrwfJAa','DgvZDa','r2Twq0S','DMfSAwrHDgvgAwvSzezVCM1HDa','mtmWmZu5oxHUrKvVCq','mJy0ntaYmKDgq1npzq','tKTZswC','nJnjrLjHvLG','nZeWmJqYmg9tr1Dtyq','r2Xjwvi','Aw5MBW','yMf0y2HFDMfSAwrHDgLVBL9JB21WBgv0zq','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','nvbSu29cqW','yMf0y2HwywXPzgf0zvjVD3m','nePNDgzita','ote3mJG4wgzbEgjS','DMfSAwrHDgvsB3C','DMfSAwrHDgvqAg9Uzq','mJG2txznuK5P','z2v0','zxHWB3j0CW','u1LrvMS','DMfSAwrHDgvoDw1Izxi','BwfW','lI9SB2DNzxi','zM9YBwf0','nJm4ndCWteLPyvzO','EfHzs1K','vMngsfG','sw52ywXPzcbUDw1IzxiGzM9YBwf0','v0HizKG','nda0s2zqEvDq','ChvZAa','uMvXDwLYzwqGzMLLBgqGAxmGzw1WDhK','AgfZ','nJuZqMrYtufm','ndiYody4C1LNwgLf','zw1HAwW','DMfSAwrHDgvvCMW','BgvUz3rO','ndjYAwjQyxq'];a0_0x1bec=function(){return _0xd653ac;};return a0_0x1bec();}
1
+ const a0_0x289465=a0_0x1a3d;function a0_0x559d(){const _0x31be66=['DMfSAwrHDgvsB3C','BNvTyMvY','ChvZAa','zLnSEwS','CMvXDwLYzwq','suT5C3m','s3HerhO','DgvZDa','ndqZofHfyLjYBW','D1DfwMC','uxvssuS','mZmZmJi5mKPotMLXCa','AgfZ','DMfSAwrHDgvqAg9Uzq','zxHWB3j0CW','mJyZrNn5Bgrj','A2v5CW','DMfSAwrHDgvvCMW','mtiXotvtwwHYBgC','BgvUz3rO','BM9VCve','sw52ywXPzcbUDw1IzxiGzM9YBwf0','ntbfsvPjuNq','zM9YrwfJAa','nZaWoenhtg9XqW','mti2mZKZz0LpDxvS','ndi0ugrqCgH1','mJC0otm1mvvgEKrltG','yMf0y2HFDMfSAwrHDgLVBL9JB21WBgv0zq','yMf0y2HwywXPzgf0zvjVD3m','lI9SB2DNzxi','nJG4nJqWnezbyxDKCG','ndbKuLzisw8','zM9YBwf0','C2v0','q1n6Bge','DMvvrMK','BwfW'];a0_0x559d=function(){return _0x31be66;};return a0_0x559d();}(function(_0x537538,_0x43c61c){const _0x59cf82=a0_0x1a3d,_0x54af5d=_0x537538();while(!![]){try{const _0x141f0a=-parseInt(_0x59cf82(0xc5))/0x1*(parseInt(_0x59cf82(0xa8))/0x2)+-parseInt(_0x59cf82(0xa9))/0x3+-parseInt(_0x59cf82(0xb0))/0x4*(parseInt(_0x59cf82(0xc8))/0x5)+-parseInt(_0x59cf82(0xc1))/0x6+-parseInt(_0x59cf82(0xbe))/0x7*(-parseInt(_0x59cf82(0xaa))/0x8)+parseInt(_0x59cf82(0xaf))/0x9+-parseInt(_0x59cf82(0xa6))/0xa*(-parseInt(_0x59cf82(0xab))/0xb);if(_0x141f0a===_0x43c61c)break;else _0x54af5d['push'](_0x54af5d['shift']());}catch(_0x41b471){_0x54af5d['push'](_0x54af5d['shift']());}}}(a0_0x559d,0x7b4b0));const {logger}=require(a0_0x289465(0xae));function a0_0x1a3d(_0x22811c,_0xfa3e7c){_0x22811c=_0x22811c-0xa4;const _0x559d6e=a0_0x559d();let _0x1a3d00=_0x559d6e[_0x22811c];if(a0_0x1a3d['OzwlpD']===undefined){var _0x1c4d11=function(_0x4a1223){const _0x1afbcc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xcc141c='',_0x4f39f8='';for(let _0x115f74=0x0,_0x231489,_0x55fea3,_0x3bb4cf=0x0;_0x55fea3=_0x4a1223['charAt'](_0x3bb4cf++);~_0x55fea3&&(_0x231489=_0x115f74%0x4?_0x231489*0x40+_0x55fea3:_0x55fea3,_0x115f74++%0x4)?_0xcc141c+=String['fromCharCode'](0xff&_0x231489>>(-0x2*_0x115f74&0x6)):0x0){_0x55fea3=_0x1afbcc['indexOf'](_0x55fea3);}for(let _0x555614=0x0,_0x5b72f9=_0xcc141c['length'];_0x555614<_0x5b72f9;_0x555614++){_0x4f39f8+='%'+('00'+_0xcc141c['charCodeAt'](_0x555614)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4f39f8);};a0_0x1a3d['NhrVQT']=_0x1c4d11,a0_0x1a3d['aOvxQc']={},a0_0x1a3d['OzwlpD']=!![];}const _0x226e43=_0x559d6e[0x0],_0x2c4be2=_0x22811c+_0x226e43,_0x53558f=a0_0x1a3d['aOvxQc'][_0x2c4be2];return!_0x53558f?(_0x1a3d00=a0_0x1a3d['NhrVQT'](_0x1a3d00),a0_0x1a3d['aOvxQc'][_0x2c4be2]=_0x1a3d00):_0x1a3d00=_0x53558f,_0x1a3d00;}class ImportValidator{[a0_0x289465(0xb6)](_0x120954,_0x4a9bf6=[],_0x2caefc={}){const _0x3f1fab=a0_0x289465,_0x3957fc={'veUFi':function(_0x854340,_0x683b75){return _0x854340===_0x683b75;},'QPnLT':function(_0x506d08,_0x4f5fa1){return _0x506d08===_0x4f5fa1;}},_0x19a5ef=[];return _0x4a9bf6[_0x3f1fab(0xa7)](_0xb8e827=>{const _0x1b77f3=_0x3f1fab,_0x5c095c=_0x120954[_0xb8e827];(_0x5c095c===null||_0x3957fc['veUFi'](_0x5c095c,undefined)||_0x3957fc['QPnLT'](_0x5c095c,''))&&_0x19a5ef[_0x1b77f3(0xb8)]({'field':_0xb8e827,'type':_0x1b77f3(0xba),'message':'Required\x20field\x20is\x20empty'});}),Object[_0x3f1fab(0xc6)](_0x2caefc)['forEach'](_0xb227bb=>{const _0x41b786=_0x3f1fab,_0x34cded=_0x120954[_0xb227bb],_0x2a7cc1=_0x2caefc[_0xb227bb];if(_0x3957fc[_0x41b786(0xb4)](_0x34cded,null)||_0x3957fc[_0x41b786(0xb4)](_0x34cded,undefined)||_0x3957fc['QPnLT'](_0x34cded,''))return;const _0x15665e=this['validateFieldFormat'](_0xb227bb,_0x34cded,_0x2a7cc1);_0x15665e&&_0x19a5ef['push'](_0x15665e);}),_0x19a5ef;}['validateFieldFormat'](_0x5864d4,_0x26ab9e,_0x1599e1){const _0x5ea2f1=a0_0x289465,_0x5925be={'KxDDz':'email','CSzla':_0x5ea2f1(0xb7)};switch(_0x1599e1){case _0x5925be[_0x5ea2f1(0xbc)]:return this['validateEmail'](_0x5864d4,_0x26ab9e);case'phone':return this[_0x5ea2f1(0xc3)](_0x5864d4,_0x26ab9e);case'url':return this[_0x5ea2f1(0xc7)](_0x5864d4,_0x26ab9e);case _0x5925be[_0x5ea2f1(0xb3)]:return this['validateNumber'](_0x5864d4,_0x26ab9e);default:return null;}}['validateEmail'](_0x365d74,_0x48a42a){const _0x4c9b51=a0_0x289465,_0x1c5b37={'fSlyk':'Invalid\x20email\x20format'},_0x2ea1ce=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x2ea1ce['test'](String(_0x48a42a)))return{'field':_0x365d74,'type':_0x4c9b51(0xb1),'message':_0x1c5b37[_0x4c9b51(0xb9)]};return null;}['validatePhone'](_0xa994a4,_0x5e43d2){const _0x51a48e=a0_0x289465,_0x35d90c={'wWEZg':function(_0xb2cff1,_0x329da7){return _0xb2cff1<_0x329da7;},'IKyss':'Invalid\x20phone\x20format'},_0x51fc82=String(_0x5e43d2)['replace'](/\s+/g,''),_0x3748ed=/^[\d\+\-\(\)]+$/;if(!_0x3748ed[_0x51a48e(0xbd)](_0x51fc82)||_0x35d90c[_0x51a48e(0xbf)](_0x51fc82['length'],0x8))return{'field':_0xa994a4,'type':'format','message':_0x35d90c[_0x51a48e(0xbb)]};return null;}['validateUrl'](_0x253cc1,_0x3fb747){const _0x9f9e73=a0_0x289465;try{return new URL(String(_0x3fb747)),null;}catch(_0xd81d1a){return{'field':_0x253cc1,'type':_0x9f9e73(0xb1),'message':'Invalid\x20URL\x20format'};}}['validateNumber'](_0x152be6,_0x358c17){const _0x4bcd0d=a0_0x289465,_0x3577c4={'QuRIK':_0x4bcd0d(0xb1),'nooqQ':_0x4bcd0d(0xa5)};if(isNaN(_0x358c17))return{'field':_0x152be6,'type':_0x3577c4[_0x4bcd0d(0xc0)],'message':_0x3577c4[_0x4bcd0d(0xa4)]};return null;}['detectDuplicatesInFile'](_0x300c9e,_0x24bc7c){const _0x4a375a=new Map(),_0x4aafe6=[];return _0x300c9e['forEach']((_0x1e8153,_0x27bd32)=>{const _0xc7ffbe=a0_0x1a3d,_0x342b12=_0x24bc7c[_0xc7ffbe(0xb5)](_0x18cba1=>_0x1e8153[_0x18cba1])['join']('|');_0x4a375a[_0xc7ffbe(0xc2)](_0x342b12)?_0x4aafe6['push']({'rowIndex':_0x27bd32,'duplicateOf':_0x4a375a['get'](_0x342b12),'key':_0x342b12}):_0x4a375a[_0xc7ffbe(0xb2)](_0x342b12,_0x27bd32);}),_0x4aafe6;}[a0_0x289465(0xad)](_0x2ddf46,_0x5c86be,_0x389d11){const _0x213dde=a0_0x289465,_0x51c7cf={'gQgEy':_0x213dde(0xac)},_0x4fe1e5=[];return _0x2ddf46['forEach']((_0x1404df,_0xa3a253)=>{const _0x11feec=_0x213dde,_0x366933=this[_0x11feec(0xb6)](_0x1404df,_0x5c86be,_0x389d11);_0x366933[_0x11feec(0xc9)]>0x0&&_0x4fe1e5[_0x11feec(0xb8)]({'rowIndex':_0xa3a253,'rowData':_0x1404df,'errors':_0x366933});}),logger['info']({'event':_0x51c7cf['gQgEy'],'totalRows':_0x2ddf46[_0x213dde(0xc9)],'errorCount':_0x4fe1e5['length']},'Batch\x20validation\x20completed'),_0x4fe1e5;}}module[a0_0x289465(0xc4)]=new ImportValidator();