@restforgejs/platform 4.1.1 → 4.2.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.
- package/bin/sdf-tools.exe +0 -0
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/endpoint/create.js +42 -3
- package/generators/cli/schema/apply.js +525 -0
- package/generators/cli/schema/diff.js +321 -0
- package/generators/cli/schema/generate-ddl.js +7 -10
- package/generators/cli/schema/init.js +95 -172
- package/generators/cli/schema/migrate.js +10 -16
- package/generators/cli/schema/models.js +8 -12
- package/generators/cli/schema/template.js +222 -0
- package/generators/cli/schema/validate.js +8 -12
- package/generators/cli-entry.js +17 -2
- package/generators/lib/dbschema-kit/apply-engine.js +582 -0
- package/generators/lib/dbschema-kit/diff-engine.js +703 -0
- package/generators/lib/dbschema-kit/diff-reporter.js +272 -0
- package/generators/lib/dbschema-kit/emitters/alter-table.js +275 -0
- package/generators/lib/payload/endpoint-schema-validator.js +171 -0
- package/generators/lib/payload/payload-runner.js +137 -220
- package/generators/lib/payload/schema-diff.js +277 -0
- package/generators/lib/utils/audit-columns.js +181 -0
- package/generators/lib/utils/cli-output.js +17 -0
- package/generators/lib/utils/database-introspector.js +16 -13
- package/integrity-manifest.json +8 -8
- package/package.json +1 -1
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const a0_0x4b7b0d=a0_0x5e0c;function a0_0x5e0c(_0x5ec0b1,_0x24222a){_0x5ec0b1=_0x5ec0b1-0xd1;const _0x3b0d3e=a0_0x3b0d();let _0x5e0ca9=_0x3b0d3e[_0x5ec0b1];if(a0_0x5e0c['nzQCUF']===undefined){var _0x4dadf5=function(_0x477a0c){const _0x32f2d0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x185232='',_0x227654='';for(let _0x52d9fd=0x0,_0x2f6980,_0x3be788,_0x3eb8e0=0x0;_0x3be788=_0x477a0c['charAt'](_0x3eb8e0++);~_0x3be788&&(_0x2f6980=_0x52d9fd%0x4?_0x2f6980*0x40+_0x3be788:_0x3be788,_0x52d9fd++%0x4)?_0x185232+=String['fromCharCode'](0xff&_0x2f6980>>(-0x2*_0x52d9fd&0x6)):0x0){_0x3be788=_0x32f2d0['indexOf'](_0x3be788);}for(let _0x461c27=0x0,_0x5a21ea=_0x185232['length'];_0x461c27<_0x5a21ea;_0x461c27++){_0x227654+='%'+('00'+_0x185232['charCodeAt'](_0x461c27)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x227654);};a0_0x5e0c['arZTex']=_0x4dadf5,a0_0x5e0c['evLtar']={},a0_0x5e0c['nzQCUF']=!![];}const _0x31ac54=_0x3b0d3e[0x0],_0x699d36=_0x5ec0b1+_0x31ac54,_0x1323da=a0_0x5e0c['evLtar'][_0x699d36];return!_0x1323da?(_0x5e0ca9=a0_0x5e0c['arZTex'](_0x5e0ca9),a0_0x5e0c['evLtar'][_0x699d36]=_0x5e0ca9):_0x5e0ca9=_0x1323da,_0x5e0ca9;}(function(_0x564cba,_0x1ba8f7){const _0x4415ae=a0_0x5e0c,_0x17276c=_0x564cba();while(!![]){try{const _0x5ce8b5=-parseInt(_0x4415ae(0x1dc))/0x1*(-parseInt(_0x4415ae(0x127))/0x2)+-parseInt(_0x4415ae(0x1d4))/0x3*(-parseInt(_0x4415ae(0x158))/0x4)+parseInt(_0x4415ae(0x1e5))/0x5+-parseInt(_0x4415ae(0x140))/0x6+parseInt(_0x4415ae(0xe8))/0x7*(-parseInt(_0x4415ae(0x19d))/0x8)+-parseInt(_0x4415ae(0xfc))/0x9+parseInt(_0x4415ae(0x155))/0xa*(parseInt(_0x4415ae(0x10f))/0xb);if(_0x5ce8b5===_0x1ba8f7)break;else _0x17276c['push'](_0x17276c['shift']());}catch(_0x5a51fe){_0x17276c['push'](_0x17276c['shift']());}}}(a0_0x3b0d,0xab4f8));const crypto=require(a0_0x4b7b0d(0x100)),redisClient=require('./redis-client'),{logger}=require(a0_0x4b7b0d(0x1fd)),idempotencyManager=require(a0_0x4b7b0d(0x149)),ALLOWED_FORMATS=new Set(['text','yyyy',a0_0x4b7b0d(0x166),'yyyymmdd']),RESOURCE_REGEX=/^[A-Za-z0-9_-]{1,64}$/,PREFIX_REGEX=/^[A-Za-z0-9_-]{0,32}$/,SEPARATOR_FORBIDDEN=/:/,MAX_NUM_DIGITS=0xc,MIN_NUM_DIGITS=0x1,MAX_PIN_DIGITS=0xc,MIN_PIN_DIGITS=0x4,MAX_PATTERN_LENGTH=0x100,MAX_TTL=0x278d00,MAX_RETRY_LIMIT=0x64,MAX_IDEMPOTENCY_KEY_LENGTH=0x80,RESERVATION_TOKEN_REGEX=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,MIN_RESERVE_TTL=0xa,MAX_RESERVE_TTL=0x15180,DEFAULT_RESERVE_TTL=0x258,RESERVE_REAP_BATCH=0x40,CHARSET_DIGIT='0123456789',CHARSET_UPPER='ABCDEFGHIJKLMNOPQRSTUVWXYZ',CHARSET_LOWER='abcdefghijklmnopqrstuvwxyz',CHARSET_LETTERS=CHARSET_UPPER+CHARSET_LOWER,CHARSET_UPPER_ALNUM=CHARSET_UPPER+CHARSET_DIGIT,CHARSET_MIXED_ALNUM=CHARSET_UPPER+CHARSET_LOWER+CHARSET_DIGIT,CHARSET_HEX_UPPER=a0_0x4b7b0d(0xf1),CHARSET_HEX_LOWER=a0_0x4b7b0d(0x17d),PLACEHOLDER_MAP={'9':CHARSET_DIGIT,'N':CHARSET_DIGIT,'A':CHARSET_UPPER,'a':CHARSET_LOWER,'L':CHARSET_LETTERS,'X':CHARSET_UPPER_ALNUM,'x':CHARSET_MIXED_ALNUM,'H':CHARSET_HEX_UPPER,'h':CHARSET_HEX_LOWER},LUA_GENERATE_NUMBER='\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20reused\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#reused\x20>\x200\x20then\x0a\x20\x20\x20\x20return\x20{tonumber(reused[1]),\x201}\x0a\x20\x20end\x0aend\x0alocal\x20n\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0alocal\x20ttl\x20=\x20tonumber(ARGV[2])\x0aif\x20ttl\x20>\x200\x20and\x20n\x20==\x201\x20then\x0a\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20ttl)\x0aend\x0areturn\x20{n,\x200}\x0a',LUA_RELEASE_NUMBER='\x0aredis.call(\x27ZADD\x27,\x20KEYS[1],\x20ARGV[1],\x20ARGV[1])\x0alocal\x20ttl\x20=\x20tonumber(ARGV[2])\x0aif\x20ttl\x20>\x200\x20then\x0a\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20ttl)\x0aend\x0areturn\x201\x0a',LUA_RESERVE_NUMBER=a0_0x4b7b0d(0x197),LUA_CONFIRM_RESERVATION=a0_0x4b7b0d(0x17b),LUA_CANCEL_RESERVATION=a0_0x4b7b0d(0x12f),LUA_EXTEND_RESERVATION=a0_0x4b7b0d(0x188);class IdGeneratorError extends Error{constructor(_0x2e5767,_0x2f02a9,_0x50ea65=null){const _0x5be1b2=a0_0x4b7b0d,_0x190bf7={'SzWqX':'IdGeneratorError'};super(_0x2f02a9||_0x2e5767),this[_0x5be1b2(0x19e)]=_0x190bf7['SzWqX'],this[_0x5be1b2(0x107)]=_0x2e5767,this[_0x5be1b2(0x121)]=_0x50ea65;}}function a0_0x3b0d(){const _0x3bcba0=['tNvTyMvYignVDw50zxiGCgfYDcbTDxn0igjLigv4ywn0BhKG','ovjrD0zWwG','zw5HyMXLza','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','q291BNrLCIbVDMvYzMXVDZOG','AwrNzw4','zgvMyxvSDenVzgvqyxr0zxjU','sw52ywXPzcbYzxvZzurLBgv0ztOGBxvZDcbIzsbIB29SzwfUicHNB3q6ia','vw5RBM93BIbTB2rLoIa','mwHJveHZra','Bw9Kzq','x2rLzMf1BhrqAw5eAwDPDhm','zgf0zvbYzwzPEa','surhru5Fsu5wquXjrf9srvnpvvjdrq','x2j1AwXKuMvZzxj2yxrPB25lzxLqCMvMAxG','x2j1AwXKuMvZzxj2yxrPB25lzxK','qMzmvwW','x2DLDenVDw50zxjuveW','otu2ndeWC2Ttu1fO','s2LgvNi','BMH1ENq','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vY','t3P0AfC','zgvS','CMvZzxj2zu51BwjLCG','swrLBxbVDgvUy3KGy2fJAguGseLu','y2fcBKq','Bwf4uMv0CNK','y3jLyxrLzef0','wenizhy','CgfKzgvKicHNB3q6ia','rxzcqKK','x2j1AwXKuMv1C2vlzxK','surhru5Fsu5wquXjrf9esuDjvfm','x3zHBgLKyxrLtwf4uMv0CNK','C2vYAwfS','x2j1AwXKtwv0yuTLEq','v1LNsKi','ChvZAa','AxnfBMfIBgvK','zfzLywG','D2fYBG','lI9SB2DNzxi','suqGr2vUzxjHDg9Yig51BwjLCIbYzwXLyxnLzdOG','zw52','sw52ywXPzcbYzxnVDxjJztOGBxvZDcbTyxrJAca','tNvTyMvYihbYzwzPEcbTAxnTyxrJAdOGzxHWzwn0zwqG','A2v5uhjLzML4','vwvtvNq','swrLBxbVDgvUy3KGCMv0CMLLDMuGzxjYB3i','AwrLBvruta','ugH5Eu4','rMfPBgvKihrVihjLBgvHC2uGy291BNrLCIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','x3jLDhjPzxzLswrLBunHy2HL','AwrNzw5FBNvTyMvYx3jLC2vYDMvK','D2LUBMvYuMvZDwX0','Cg93','Dg9mB3DLCKnHC2u','DxHZtLm','qwniCeG','CMfUzg9Tsw50','ihnLy29UzhmGkgDVDdOG','yM9VBgvHBG','x3jLC2vYDMvezwzHDwX0vfrm','surhru5Frevgqvvmvf9nqvHFuKvuuLK','zxzHBa','x2TLEvbYzwzPEa','mJyYmJq4z01nEev2','otK5os05otK5','zxHWAxjLC0f0','suqGr2vUzxjHDg9YihjHBMrVBsbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','icHNB3q6ia','C2v0zxG','EMH5Du0','ChjLzML4','AhP2svq','mdeYmZq1nJC4oufcq0rfrG','qLDRDuC','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','x3bHCNnLtNvTyMvY','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','AwrNzw5FAwrLBv9YzxrYAwv2zv9LCNjVCG','x2DLBMvYyxrLrNjVBvbHDhrLCM4','surhru5FuKvtrvjwrv9eruzbvuXux1ruta','suqGr2vUzxjHDg9Yig51BwjLCIbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','AwrLBuTLEq','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','nduWmtK5ohHXAvfQzG','AwrNzw5FAwrLBv9ZDg9Yzw54x2vYCM9Y','lcbNB3qG','CMvZzxj2zu1HEfruta','y3j5ChrV','AgDLDgfSBa','AxnjBNrLz2vY','z1LssgS','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','twT2r3G','u0Hxz3K','y29Kzq','zgLNAxrZ','sNvqrui','surhru5FreLtqujmruq','suqGr2vUzxjHDg9YihjLC2v0oIa','CgXnvfy','CMvZzxj2zurLzMf1BhruveW','y291BNrLCKLUDa','mJaZmJC0odnxq2Hes28','sw52ywXPzcbWCMvMAxG6ig11C3qGBwf0y2GG','v3zsyuC','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','CfPiyuK','surhru5Fsu5wquXjrf9nqvHFuKvuuLK','rgvqAhC','x3rLEhq','DMfSDwuGAxmGCMvXDwLYzwq','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vYx2nHBMnLBf9LCNjVCG','shn1q0y','zgvMyxvSDfbPBKrPz2L0CW','sw52ywXPzcbMB3jTyxq6ia','ywXSB3DszxnLDa','surhru5Fq09vtLrfuL9pvKvsrKXpvW','Dgv4Da','surhru5Fsu5wquXjrf9gt1jnqvq','v1z4rge','zgv0ywLSCW','suqGr2vUzxjHDg9YihjLC2v0oIbYyw5KB206','Dg9Rzw4','qMf0CMy','x2j1AwXKswrLBuTLEq','z2v0','mta2nJG5nNPLCgvhDW','DgvZDa','veDqzvO','x2rLzMf1BhrdB2rLugf0DgvYBG','AwrNzw5FCMvZzxq','suqGr2vUzxjHDg9YihjHBMrVBtOG','C3rYAw5N','AwrNzw5Fy29UC3vTzwq','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYKkBg9JywWGy291BNrLCIa9igHBmv0kAwyGy291BNrLCIb0AgvUcIaGCMvKAxmUy2fSBcGNwKfercCSieTfwvnBm10SignVDw50zxiSignVDw50zxiPcIaGBg9JywWGDhrSid0GDg9UDw1IzxiOqvjhvLSYxsKkicbPzIb0DgWGpIaWihrOzw4kicaGihjLzgLZlMnHBgWOj0vyueLsrsCSieTfwvnBm10Sihr0BcKkicbLBMqkzw5KcNjLzgLZlMnHBgWOj0rftcCSieTfwvnBmv0PcNjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqPYzxr1CM4GEYaXlcbJB3vUDgvYlcbOwZjDlcbOwZnDih0k','AwrNzw5FAwrLBv9SB3nLCL9YzwXLyxnLx2vYCM9Y','ywXS','x3zHBgLKyxrLugf0DgvYBG','Chr0Ba','CNn2s2v5','CMv1C2u','surhru5Fq09vtLrfuL9uveXFrefjtfK','suqGr2vUzxjHDg9YihjLC2vYDMuGAwrLBsbYywnLigXVC3qSihjLDhvYBMLUzYb3Aw5UzxiGzw52zwXVCgu','AxnZDwvKoG','lcbLEhbLy3rLzca','ENjHBMDL','surhru5Frevgqvvmvf9trvjjquXFuefuvevstG','Aw5MBW','D3vkwhq','sw52ywXPzcbYzxnLCNzHDgLVBIb0DgW6ig11C3qGyMuGAw50zwDLCIa','x2j1AwXKu2vXs2v5','ntK5ntyYnKf4svzVuG','BgvUz3rO','x3zHBgLKyxrLuMvZB3vYy2u','x2rLzMf1BhrnyxHszxrYEq','CMvZzxj2zv9Jyw5JzwW','ruXdthe','CMvSzwfZzu51BwjLCG','vePwy0C','AwrNzw5FBNvTyMvYx3jLBgvHC2vK','lI9PzgvTCg90zw5JEs1Tyw5Hz2vY','CMfUzg9T','zM9YBwf0','vvHrAK4','x3vWzgf0zu1LDge','x3jLC2vYDMvnyxHuveW','AwrNzw5FCMvZzxj2yxrPB25Fy2fUy2vSBgvK','wKThsMi','AwrLBxbVDgvUy3LlzxK','C3rYAw5NAwz5','AwrNzw5FBNvTyMvYx2LKzw1FBg9Zzxi','rMfPBgvKihrVignVBxbLBNnHDguGCMvZzxj2yxrPB24Gywz0zxiGy291BNrLCIbVDMvYzMXVDW','mtbSrKLkDNm','CNn2swr4s2v5','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcaOz290oIa','nde4ne5vAgPvtW','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignHBMnLBgXLzdOG','EMnHCMq','AgfZ','Chr3BwW','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','suqGr2vUzxjHDg9YignVBNn1BwvKoIa','z0zks00','Dhj1zq','EKnXCMS','sw52ywXPzcbUDw1Izxi6ig11C3qGyMuGBM9UlwvTChr5ihn0CMLUzW','y21OCfi','CgfYC2u','x2j1AwXKrM9YBwf0s2v5','ExL5Ew1T','q2fjAMq','uhnWyNy','surhru5Fsu5wquXjrf9ut0TftG','x3L5ExLF','surhru5FuKvtrvrFtK9ux0fmte9xruq','x3n0B3jLswrLBunHy2HLtLG','C1LuCMe','sLr1A00','x2vUC3vYzuLUAxrPywXPEMvK','surhru5FuKvtrvjwrv9nqvHFvfrm','wwj1tKq','u3jRy1G','C3jLBq','DwjbAMW','zxHWAxjL','rwniAuK','surhru5FquXmt1DFuKvtrvq','BNvTyMvY','wxPvv0K','rMfPBgvKihrVignHBMnLBcbYzxnLCNzHDgLVBIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYWGj2LZuMv1C2vKjYWGj2nYzwf0zwrbDcCSicDLEhbPCMvZqxqNkqPYzwrPCY5JywXSkcDeruWNlcblrvLtwZfDkqPYzwrPCY5JywXSkcDAuKvnjYWGs0vzu1SYxsWGqvjhvLSXxsKkCMv0DxjUihSGmsWGAfSXxsWGAfSYxsWGAfSZxsWGAfS0xsWGAfS1xsWGAfS2xsb9cG','BwvZC2fNzq','mdeYmZq1nJC4owfIy2rLzG','icH0B2TLBJ0','yNvPBgrezxrLCM1PBMLZDgLJs2v5','x3vUzg9syw5KB21szxnLCNzHDgLVBG','A2v5CW','zgvMyxvSDe1HEfjLDhj5','DhrS','C3rVCMvK','tLbpBwK','Dg9ju09tDhjPBMC','AxnszxvZzwq','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2v4CgLYzxnbDcCSicDJB3vUDgvYjYWGj3zHBhvLjYWGj2zVCM1HDeTLEsCSicDPC1jLDxnLzcCSicDJCMvHDgvKqxqNkqPSB2nHBcbWCMv2rxHWAxjLC0f0id0GAfSXxqPSB2nHBcbUzxDuDgXnCYa9ihrVBNvTyMvYkefsr1zBmL0PcMXVy2fSig5LD0v4Ce1Zid0GDg9UDw1IzxiOqvjhvLSZxsKkCMvKAxmUy2fSBcGNuevyueLsrsCSieTfwvnBmv0Sig5LD1r0Be1ZkqPYzwrPCY5JywXSkcDiu0vujYWGs0vzu1SXxsWGj2v4CgLYzxnbDcCSiefsr1zBnf0PcNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZjDlcbUzxDfEhbnCYWGqvjhvLSXxsKkCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SYxsWGBwf0Ac5MBg9VCIHUzxDuDgXnCYaVideWmdaPicSGnJaPcNjLDhvYBIb7ideSihbYzxzfEhbPCMvZqxqSigHBmL0SigHBm10SigHBnf0SigHBnv0SigHBnL0GFqO','twv0ysb1CgrHDguGzxjYB3i','zgvMyxvSDfnLCMLHBfbHDhrLCM4','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','BwfW','AwrNzw5FAwrLBv9OAxq','C2vWyxjHDg9Y','sw52ywXPzcbTyxHszxrYEtOGBxvZDcbIzsbPBNrLz2vYideT','AwrNzw5FCMvZzxj2yxrPB25Fy29UzMLYBwvK','x2rLzMf1BhrtzxjPywXqyxr0zxjU','AwrNzw5FBNvTyMvYx2DLBMvYyxrLza','lcaR','suqGr2vUzxjHDg9Yig51BwjLCJOG','surhru5Fvu5juvvfx1jfvfjzx0vysefvu1rfra','vurpwem','cMXVy2fSihvUCgSGpsb1BNbHy2SGB3iGDgfIBguUDw5WywnRcGOTlsbtDgvWide6igXHENKGCMvHCcbLEhbPCMvKihjLC2vYDMf0Aw9UCYaOy2fWifjfu0vsvKvFuKvbuf9cqvrdscKkBg9JywWGCMvHCgvKid0GmaPSB2nHBcbUB3DnCYa9iefsr1zBn10kBg9JywWGCNn2uhjLzML4id0GqvjhvLS4xqPSB2nHBcbLEhbPCMvKid0GCMvKAxmUy2fSBcGNwLjbtKDfqLLtq09srsCSieTfwvnBm10SicCTAw5MjYWGjYGNic4Uig5VD01ZlcaNteLnsvqNlcaWlca2ncKkzM9YigKGpsaXlcaJzxHWAxjLzcbKBWOGigXVy2fSigv4CfrVA2vUid0GzxHWAxjLzfTPxqOGigXVy2fSigv4CfjZDKTLEsa9ihjZDLbYzwzPEcaUlIbLEhbuB2TLBGOGigXVy2fSigv4CenVDw50zxiGpsbYzwrPCY5JywXSkcDir0vujYWGzxHWuNn2s2v5lcaNy291BNrLCICPcIaGAwyGzxHWq291BNrLCIb0AgvUcIaGicbYzwrPCY5JywXSkcDAqurejYWGs0vzu1SYxsWGzxHWq291BNrLCIWGzxHWq291BNrLCIKkicbLBMqkicbYzwrPCY5JywXSkcDeruWNlcbLEhbsC3zlzxKPcIaGCMvKAxmUy2fSBcGNwLjftsCSieTfwvnBm10Sigv4CfrVA2vUkqOGihjLyxbLzca9ihjLyxbLzcaRidekzw5KcGOTlsbtDgvWidi6igfSBg9JyxrLignVDw50zxiGkfPqt1bnsu4GCMv1C2uGyxrHDsbjtKnsihnLCsKkBg9JywWGy291BNrLCKLUDaPSB2nHBcbPC1jLDxnLzca9idakAwyGqvjhvLSXxsa9psaNmsCGDgHLBGOGigXVy2fSihiGpsbYzwrPCY5JywXSkcDAue9qtuLojYWGs0vzu1SYxsWGmsKkicbPzIaJCIa+idaGDgHLBGOGicaGy291BNrLCKLUDca9ihrVBNvTyMvYkhjBmv0PcIaGicbPC1jLDxnLzca9idekicbLBMqkzw5KcMLMig5VDcbJB3vUDgvYsw50ihrOzw4kicbJB3vUDgvYsw50id0GCMvKAxmUy2fSBcGNsu5duICSieTfwvnBmv0PcIaGBg9JywWGy3r0Bca9ihrVBNvTyMvYkefsr1zBmL0PcIaGAwyGy3r0Bca+idaGyw5KignVDw50zxjjBNqGpt0Gmsb0AgvUcIaGicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcbJDhrSkqOGigvUzaPLBMqkcI0Tifn0zxaGmZOGD3jPDguGCMvZzxj2yxrPB24GAgfZAcaRigLUzgv4icSGvfrmcMXVy2fSihjZDKTLEsa9iefsr1zBnf0kBg9JywWGCNn2vhrStxmGpsb0B251BwjLCIHbuKDwwZvDkqPSB2nHBcbLEhbPCMvZqxrnCYa9ihrVBNvTyMvYkefsr1zBnL0PcMXVy2fSig5HCMDZid0Gi0fsr1ykBg9JywWGzMLLBgrZid0GE30kzM9YigKGpsa5lcbUyxjNCYbKBWOGigzPzwXKC1SJzMLLBgrZicSGmv0GpsbbuKDww2LDcMvUzaPYzwrPCY5JywXSkcDiu0vujYWGCNn2s2v5lcaNy291BNrLCICSignVDw50zxjjBNqSicDPC1jLDxnLzcCSigLZuMv1C2vKlcb1BNbRkgzPzwXKCYKPcNjLzgLZlMnHBgWOj1bfwfbjuKuNlcbYC3zlzxKSihjZDLr0Be1ZkqPYzwrPCY5JywXSkcDAqurejYWGs0vzu1SZxsWGzxHWAxjLC0f0txmSiefsr1zBm10PcNjLzgLZlMnHBgWOj0vyueLsrsCSieTfwvnBm10Sig1HDgGUzMXVB3iOCNn2vhrStxmGlYaXmdaWksaRidyWkqOkCMv0DxjUihSGy291BNrLCKLUDcWGAxnszxvZzwqSihjLyxbLzcb9cG','ExL5Eq','zxHLyW','x3zHBgLKyxrLuMvZzxj2zvruta','DxfUD0K','uePHtfm','odbsA2rKu0K','BMfTzq','zwvvAK4','D2XZC3G','x2fSBg93uMvZzxq','x3n0B3jLswrLBunHy2HL','uM52qNK','z2v0q2XPzw50','x2nVDw50zxjuveXnyxa','BvvSDLu','CMvZzxj2zq','x3bHzdi','CgfKu3rHCNq','tefOEhy','x2j1AwXKqwn0AxzLs2v5','igv4y2vLzhmG','BNvTrgLNAxrZ','wwnhEgS','BKv1uum','ru5vt1G','AvHYB1a','AxnZDwvK','y3v3vLG','sw5it0q','sw52ywXPzcbWyxr0zxjUoIbTDxn0ignVBNrHAw4GyxqGBgvHC3qGB25LihbSywnLAg9SzgvYignOyxjHy3rLCIaOos9ol0eVys9ml1GVEc9il2GP','AwjTEKu','surhru5Fsu5wquXjrf9ovu1crvi','y291BNrLCG','zw5ZDxjLvw5PCxvL','CMvWzwf0','suqGr2vUzxjHDg9YignVBMzPzYbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','x2LUAxrPywXPEMvK','CMvZzxj2zv9JB25MAxjT','CMvZzxq','A1LhzM4','zM9YBwf0s2v5igLZihjLCxvPCMvKigLUigXVDY1SzxzLBcbYzwXLyxnL','surhru5Fq09vtLrfuL9uveXFtu9oveHmwq','x2LKzw1uveW','x2vUywjSzwq','B3LtEhu','zxHWB3j0CW','x3zHBgLKyxrLvfrm','rLLPEMO','sw52ywXPzcbKAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','CMvZB3vYy2u','x2LUAxrdB25MAwC','Bwf0y2G','BM93','mxW4Fdb8nxWYFdD8m3W5FdeXFdz8mtb8na','zM9YBwf0s2v5','CgvLAW','vevrBgq','surhru5Fsu5wquXjrf9ovu1FreLhsvrt','vw5RBM93BIbMB3jTyxq6ia'];a0_0x3b0d=function(){return _0x3bcba0;};return a0_0x3b0d();}class IdGenerator{constructor(){const _0x2cff35=a0_0x4b7b0d,_0x4382e6={'plMTV':_0x2cff35(0x1cd)},_0x45cfb2=_0x4382e6[_0x2cff35(0x10c)]['split']('|');let _0x495b69=0x0;while(!![]){switch(_0x45cfb2[_0x495b69++]){case'0':this[_0x2cff35(0xe7)]=null;continue;case'1':this[_0x2cff35(0x1bc)]=![];continue;case'2':this[_0x2cff35(0x1a1)]=null;continue;case'3':this['_defaultPinDigits']=null;continue;case'4':this[_0x2cff35(0x14e)]=null;continue;case'5':this['_idemTTL']=null;continue;case'6':this[_0x2cff35(0x1a5)]=null;continue;case'7':this[_0x2cff35(0x143)]=null;continue;case'8':this[_0x2cff35(0x1c3)]=null;continue;case'9':this['_defaultSerialPattern']=null;continue;case'10':this['_reserveDefaultTTL']=null;continue;case'11':this[_0x2cff35(0x12a)]=null;continue;}break;}}[a0_0x4b7b0d(0x1ca)](){const _0x9d740a=a0_0x4b7b0d,_0x2b8c7a={'ELCLq':'rf:idgen:','PJaLS':function(_0x4ba755,_0xf40671){return _0x4ba755===_0xf40671;},'dLXFI':'true','iXroP':_0x9d740a(0xe9),'cvfwM':function(_0xd8868e,_0x4d7f91,_0x513666){return _0xd8868e(_0x4d7f91,_0x513666);},'yZpHY':function(_0x3cd51f,_0x560f05,_0x1fa025){return _0x3cd51f(_0x560f05,_0x1fa025);},'sXRsS':'idgen_config_init'};this[_0x9d740a(0xe7)]=_0x2b8c7a[_0x9d740a(0x145)],this[_0x9d740a(0x1c3)]=process['env']['IDGEN_ENABLED']===_0x9d740a(0x160),this[_0x9d740a(0x1c2)]=parseInt(process[_0x9d740a(0xd1)]['IDGEN_IDEM_TTL'],0xa)||0x258,this[_0x9d740a(0x1a1)]=_0x2b8c7a[_0x9d740a(0x19c)](process[_0x9d740a(0xd1)][_0x9d740a(0x177)],_0x2b8c7a['dLXFI']),this[_0x9d740a(0x143)]=parseInt(process['env'][_0x9d740a(0xe5)],0xa)||0xa,this['_defaultPinDigits']=parseInt(process['env']['IDGEN_DEFAULT_PIN_DIGITS'],0xa)||0x6,this[_0x9d740a(0x191)]=process[_0x9d740a(0xd1)][_0x9d740a(0x13b)]||'XXXX-XXXX-XXXX-XXXX',this['_defaultCodePattern']=process['env']['IDGEN_DEFAULT_CODE_PATTERN']||_0x2b8c7a[_0x9d740a(0x1b1)],this[_0x9d740a(0x1a5)]={'yyyymm':parseInt(process['env'][_0x9d740a(0x1c1)],0xa)||0x2a3000,'yyyymmdd':_0x2b8c7a['cvfwM'](parseInt,process[_0x9d740a(0xd1)][_0x9d740a(0x136)],0xa)||0x2a300},this['_reserveDefaultTTL']=_0x2b8c7a['yZpHY'](parseInt,process['env'][_0x9d740a(0xf8)],0xa)||DEFAULT_RESERVE_TTL,this[_0x9d740a(0x14e)]=_0x2b8c7a['cvfwM'](parseInt,process['env'][_0x9d740a(0x170)],0xa)||MAX_RESERVE_TTL,this['_initialized']=!![],logger[_0x9d740a(0x13c)]({'event':_0x2b8c7a['sXRsS'],'enabled':this['_enabled'],'idemTTL':this['_idemTTL'],'allowReset':this[_0x9d740a(0x1a1)],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this['_defaultPinDigits'],'reserveDefaultTTL':this[_0x9d740a(0xe4)],'reserveMaxTTL':this['_reserveMaxTTL']},_0x9d740a(0x1bb)+this[_0x9d740a(0x1c3)]);}['_ensureInitialized'](){const _0x17916c=a0_0x4b7b0d;if(!this['_initialized'])this[_0x17916c(0x1ca)]();}get['enabled'](){const _0x5a3724=a0_0x4b7b0d;return this['_ensureInitialized'](),this[_0x5a3724(0x1c3)];}get['keyPrefix'](){const _0x1b013d=a0_0x4b7b0d;return this['_ensureInitialized'](),this[_0x1b013d(0xe7)];}get['idemTTL'](){const _0x3df99f=a0_0x4b7b0d;return this[_0x3df99f(0x16f)](),this[_0x3df99f(0x1c2)];}get[a0_0x4b7b0d(0x11c)](){const _0x3dd850=a0_0x4b7b0d;return this['_ensureInitialized'](),this[_0x3dd850(0x1a1)];}get['defaultMaxRetry'](){const _0x5b353f=a0_0x4b7b0d;return this[_0x5b353f(0x16f)](),this['_defaultMaxRetry'];}get[a0_0x4b7b0d(0x11a)](){const _0xf70ba6=a0_0x4b7b0d;return this[_0xf70ba6(0x16f)](),this[_0xf70ba6(0x1de)];}get[a0_0x4b7b0d(0x18a)](){return this['_ensureInitialized'](),this['_defaultSerialPattern'];}get[a0_0x4b7b0d(0x1d9)](){const _0x5e0a2a=a0_0x4b7b0d;return this[_0x5e0a2a(0x16f)](),this[_0x5e0a2a(0x12a)];}get[a0_0x4b7b0d(0x10d)](){return this['_ensureInitialized'](),this['_reserveDefaultTTL'];}get[a0_0x4b7b0d(0xff)](){const _0x2b3d2d=a0_0x4b7b0d;return this['_ensureInitialized'](),this[_0x2b3d2d(0x14e)];}[a0_0x4b7b0d(0x1fa)](){return this['enabled'];}[a0_0x4b7b0d(0x142)](_0x4ea8fe){const _0x5bd700=a0_0x4b7b0d,_0x1624b8={'TGPeZ':function(_0x407762,_0x20af07){return _0x407762!==_0x20af07;},'wzjDM':_0x5bd700(0x12d),'OzthW':'IDGEN_INVALID_RESOURCE'};if(_0x1624b8[_0x5bd700(0x129)](typeof _0x4ea8fe,_0x1624b8['wzjDM'])||!RESOURCE_REGEX['test'](_0x4ea8fe))throw new IdGeneratorError(_0x1624b8[_0x5bd700(0x1e9)],_0x5bd700(0xd2)+RESOURCE_REGEX+_0x5bd700(0xec)+JSON[_0x5bd700(0x152)](_0x4ea8fe)+')');}[a0_0x4b7b0d(0xf5)](_0xb5faca){const _0x5083de=a0_0x4b7b0d,_0x4d4608={'HsuCF':function(_0x52002f,_0x5ebfee){return _0x52002f===_0x5ebfee;},'BmsaP':'string','eAXxZ':function(_0x3c4e14,_0x44af2c){return _0x3c4e14<_0x44af2c;},'NZNVS':function(_0x4f02c3,_0x524a06){return _0x4f02c3>_0x524a06;},'DePhw':_0x5083de(0x1d1),'CudmP':function(_0x493c89,_0x474764){return _0x493c89==_0x474764;},'dXciP':function(_0x599b41,_0x4a06b9){return _0x599b41!==_0x4a06b9;},'PhyyN':function(_0x3148b4,_0x3d1455){return _0x3148b4>_0x3d1455;},'WYgJB':function(_0x23753f,_0x23ebbb){return _0x23753f!=_0x23ebbb;},'ZKGJb':_0x5083de(0xe3),'YbuND':_0x5083de(0x1e0),'FYizj':function(_0x2487bc,_0x32f2cc){return _0x2487bc===_0x32f2cc;}},{resource:_0x1bdc64,format:_0x440494,prefix:_0x2b7c9f,separator:_0xe1d126,numDigits:_0x4c6a50,reuseDelete:_0xbddd83}=_0xb5faca;this['_validateResource'](_0x1bdc64);const _0x49729f=_0x4d4608[_0x5083de(0x119)](typeof _0x440494,_0x4d4608['BmsaP'])?_0x440494[_0x5083de(0xde)]():'';if(!ALLOWED_FORMATS[_0x5083de(0x15b)](_0x49729f))throw new IdGeneratorError('IDGEN_INVALID_FORMAT','Invalid\x20format:\x20must\x20be\x20one\x20of\x20'+[...ALLOWED_FORMATS]['join'](',\x20')+'\x20(got:\x20'+_0x440494+')');if(!Number[_0x5083de(0x102)](_0x4c6a50)||_0x4d4608['eAXxZ'](_0x4c6a50,MIN_NUM_DIGITS)||_0x4d4608['NZNVS'](_0x4c6a50,MAX_NUM_DIGITS))throw new IdGeneratorError(_0x4d4608[_0x5083de(0x115)],'Invalid\x20numDigits:\x20must\x20be\x20integer\x20'+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+'\x20(got:\x20'+_0x4c6a50+')');const _0x482ae7=_0x2b7c9f==null?'':_0x2b7c9f;if(typeof _0x482ae7!==_0x5083de(0x12d)||!PREFIX_REGEX['test'](_0x482ae7))throw new IdGeneratorError('IDGEN_INVALID_PREFIX',_0x5083de(0x110)+PREFIX_REGEX+_0x5083de(0xec)+JSON['stringify'](_0x2b7c9f)+')');const _0x480565=_0x4d4608['CudmP'](_0xe1d126,null)?'':_0xe1d126;if(_0x4d4608['dXciP'](typeof _0x480565,'string')||_0x4d4608[_0x5083de(0xd8)](_0x480565['length'],0x3)||SEPARATOR_FORBIDDEN[_0x5083de(0x128)](_0x480565))throw new IdGeneratorError('IDGEN_INVALID_SEPARATOR','Invalid\x20separator:\x20max\x203\x20char,\x20must\x20not\x20contain\x20\x27:\x27\x20(got:\x20'+JSON['stringify'](_0xe1d126)+')');if(_0x4d4608[_0x5083de(0x1f8)](_0xbddd83,null)&&typeof _0xbddd83!==_0x4d4608[_0x5083de(0x150)])throw new IdGeneratorError(_0x4d4608[_0x5083de(0x171)],_0x5083de(0x1da)+typeof _0xbddd83+')');return{'resource':_0x1bdc64,'format':_0x49729f,'prefix':_0x482ae7,'separator':_0x480565,'numDigits':_0x4c6a50,'reuseDelete':_0x4d4608[_0x5083de(0x1c7)](_0xbddd83,!![])};}[a0_0x4b7b0d(0x132)](_0x5821b5){const _0x143d7b=a0_0x4b7b0d,_0xf1d154={'UDOXC':'IDGEN_INVALID_PATTERN'};if(typeof _0x5821b5!=='string'||_0x5821b5['length']===0x0||_0x5821b5['length']>MAX_PATTERN_LENGTH)throw new IdGeneratorError(_0xf1d154[_0x143d7b(0x196)],'Invalid\x20pattern:\x20must\x20be\x20string\x201-'+MAX_PATTERN_LENGTH+'\x20chars\x20(got\x20length:\x20'+(_0x5821b5&&_0x5821b5['length'])+')');let _0x13491c=![];for(const _0x4632c7 of _0x5821b5){if(PLACEHOLDER_MAP[_0x4632c7]){_0x13491c=!![];break;}}if(!_0x13491c)throw new IdGeneratorError('IDGEN_INVALID_PATTERN',_0x143d7b(0x1b5));}[a0_0x4b7b0d(0x1c6)](_0x411a68){const _0x16c703=a0_0x4b7b0d,_0x4feaab={'bAtJr':function(_0x181eb9,_0x5eab21){return _0x181eb9==_0x5eab21;},'EcHiI':function(_0x1a353d,_0x310470){return _0x1a353d>_0x310470;}};if(_0x4feaab['bAtJr'](_0x411a68,null))return undefined;if(!Number['isInteger'](_0x411a68)||_0x411a68<0x1||_0x4feaab[_0x16c703(0x176)](_0x411a68,MAX_TTL))throw new IdGeneratorError('IDGEN_INVALID_TTL','Invalid\x20ttl:\x20must\x20be\x20integer\x201-'+MAX_TTL+'\x20seconds\x20(got:\x20'+_0x411a68+')');return _0x411a68;}['_validateMaxRetry'](_0x44ab34){const _0xd559c8=a0_0x4b7b0d,_0x48ee64={'MptfY':function(_0x1e3dbc,_0x2c6d91){return _0x1e3dbc<_0x2c6d91;},'UszWY':_0xd559c8(0x114)};if(_0x44ab34==null)return this[_0xd559c8(0x182)];if(!Number[_0xd559c8(0x102)](_0x44ab34)||_0x48ee64['MptfY'](_0x44ab34,0x1)||_0x44ab34>MAX_RETRY_LIMIT)throw new IdGeneratorError(_0x48ee64['UszWY'],_0xd559c8(0x18f)+MAX_RETRY_LIMIT+'\x20(got:\x20'+_0x44ab34+')');return _0x44ab34;}['_validateIdempotencyKey'](_0x30beef){const _0x4dc41b=a0_0x4b7b0d,_0x3d2433={'ibmzE':function(_0x5e0d97,_0x28686f){return _0x5e0d97>_0x28686f;},'KiFVr':_0x4dc41b(0x1e0)};if(_0x30beef==null)return undefined;if(typeof _0x30beef!==_0x4dc41b(0x12d)||_0x30beef[_0x4dc41b(0x141)]===0x0||_0x3d2433[_0x4dc41b(0x1b6)](_0x30beef['length'],MAX_IDEMPOTENCY_KEY_LENGTH))throw new IdGeneratorError(_0x3d2433[_0x4dc41b(0x1e6)],'Invalid\x20idempotencyKey:\x20must\x20be\x20string\x201-'+MAX_IDEMPOTENCY_KEY_LENGTH+'\x20chars');return _0x30beef;}[a0_0x4b7b0d(0x19a)](_0x31450f){const _0x166077=a0_0x4b7b0d,_0x439e72={'RRQkp':function(_0x5e4543,_0x1351f5){return _0x5e4543==_0x1351f5;},'ptwml':function(_0x49ed6f,_0x43243b){return _0x49ed6f<_0x43243b;},'TEQld':'IDGEN_INVALID_RESERVE_TTL'};if(_0x439e72['RRQkp'](_0x31450f,null))return this['reserveDefaultTTL'];if(!Number[_0x166077(0x102)](_0x31450f)||_0x439e72[_0x166077(0x15c)](_0x31450f,MIN_RESERVE_TTL)||_0x31450f>this['reserveMaxTTL'])throw new IdGeneratorError(_0x439e72[_0x166077(0x1d0)],_0x166077(0x13e)+MIN_RESERVE_TTL+'-'+this[_0x166077(0xff)]+_0x166077(0xe2)+_0x31450f+')');return _0x31450f;}['_validateReservationToken'](_0x123a0d){const _0x2d14df=a0_0x4b7b0d,_0x48e609={'bQkuK':function(_0x5dcfea,_0x1d4f57){return _0x5dcfea!==_0x1d4f57;},'UeSVt':_0x2d14df(0x169)};if(_0x48e609['bQkuK'](typeof _0x123a0d,'string')||!RESERVATION_TOKEN_REGEX['test'](_0x123a0d))throw new IdGeneratorError(_0x48e609[_0x2d14df(0xd5)],'Invalid\x20reservation\x20token:\x20must\x20be\x20UUID\x20v4\x20format\x20(got:\x20'+JSON['stringify'](_0x123a0d)+')');return _0x123a0d;}['_pad2'](_0x365484){const _0xa0102b=a0_0x4b7b0d,_0x336ff5={'CaIjd':function(_0x4a2db0,_0x2c21bb){return _0x4a2db0(_0x2c21bb);}};return _0x336ff5[_0xa0102b(0x167)](String,_0x365484)[_0xa0102b(0x1a9)](0x2,'0');}['_buildFormatKey'](_0xde8cc2,_0x1c3799,_0x3f92c5=new Date()){const _0x577418=a0_0x4b7b0d,_0x5165af={'aBTiY':_0x577418(0x198),'uxsNS':_0x577418(0x166),'oavnV':'yyyymmdd'},_0x14e451=_0x3f92c5['getFullYear'](),_0x1ebccf=this[_0x577418(0x1a8)](_0x3f92c5['getMonth']()+0x1),_0x2ee918=this['_pad2'](_0x3f92c5['getDate']()),_0x37d175=_0x1c3799||'_';let _0x5e9ece,_0x45c1f6='';switch(_0xde8cc2){case'text':_0x5e9ece=_0x37d175+'_text';break;case _0x5165af['aBTiY']:_0x45c1f6=''+_0x14e451,_0x5e9ece=_0x37d175+_0x577418(0x16a)+_0x45c1f6;break;case _0x5165af[_0x577418(0xdf)]:_0x45c1f6=''+_0x14e451+_0x1ebccf,_0x5e9ece=_0x37d175+'_yyyymm_'+_0x45c1f6;break;case _0x5165af['oavnV']:_0x45c1f6=''+_0x14e451+_0x1ebccf+_0x2ee918,_0x5e9ece=_0x37d175+'_yyyymmdd_'+_0x45c1f6;break;default:throw new IdGeneratorError(_0x577418(0x11f),_0x577418(0x1d2)+_0xde8cc2);}return{'formatKey':_0x5e9ece,'datePrefix':_0x45c1f6};}['_buildSeqKey'](_0x1da552,_0x47a98c){const _0x2396c0=a0_0x4b7b0d;return this[_0x2396c0(0xd4)]+'seq:'+_0x1da552+':'+_0x47a98c;}[a0_0x4b7b0d(0x1f3)](_0xdec4ee,_0x1d3be7){const _0x4af884=a0_0x4b7b0d;return this[_0x4af884(0xd4)]+'reuse:'+_0xdec4ee+':'+_0x1d3be7;}['_buildMetaKey'](_0x71c201,_0x1e2bb8){return this['keyPrefix']+'meta:'+_0x71c201+':'+_0x1e2bb8;}['_buildIssuedKey'](_0x5980b3){const _0x53ddaa=a0_0x4b7b0d;return this['keyPrefix']+_0x53ddaa(0x138)+_0x5980b3;}[a0_0x4b7b0d(0x1ab)](_0x301473,_0x547ba6){return this['keyPrefix']+'active:'+_0x301473+':'+_0x547ba6;}[a0_0x4b7b0d(0x1e2)](_0x4f824a){const _0x4b0558=a0_0x4b7b0d;return this[_0x4b0558(0xd4)]+'rsv:'+_0x4f824a;}['_buildReservationIndexKey'](_0x1a8c8a,_0x4d5784){return this['keyPrefix']+'rsv_idx:'+_0x1a8c8a+':'+_0x4d5784;}[a0_0x4b7b0d(0x1e1)](){return this['keyPrefix']+'rsv:';}['_buildIdemKey'](_0x53b968,_0x4f55c2,_0x535f0a,_0x4ddc9e){const _0x20c7dc=a0_0x4b7b0d,_0x299fc9={'JuPEB':'idgen'};if(_0x535f0a)return idempotencyManager['buildDeterministicKey'](_0x299fc9[_0x20c7dc(0x109)],_0x53b968,_0x4f55c2+':'+_0x535f0a+':'+_0x4ddc9e);return idempotencyManager[_0x20c7dc(0x17f)](_0x20c7dc(0x1d8),_0x53b968,_0x4f55c2+':'+_0x4ddc9e);}[a0_0x4b7b0d(0x1e4)](_0x1fca04){const _0x4304a2=a0_0x4b7b0d;return this[_0x4304a2(0x1a5)][_0x1fca04]||0x0;}['_formatNumber']({format:_0x220187,prefix:_0x1f3647,datePrefix:_0x47e7c6,separator:_0xb53f5c,numDigits:_0x9ce051,counterInt:_0x444556}){const _0x4717a8=a0_0x4b7b0d,_0x32b31d={'gFJKM':function(_0x3f1b68,_0x5d0dcd){return _0x3f1b68>_0x5d0dcd;},'BSMXJ':function(_0x2a629f,_0x2a1fd4){return _0x2a629f(_0x2a1fd4);},'uqnwI':_0x4717a8(0x11e)},_0x2054e3=Math[_0x4717a8(0xdd)](0xa,_0x9ce051)-0x1;if(_0x32b31d[_0x4717a8(0x15f)](_0x444556,_0x2054e3))throw new IdGeneratorError(_0x4717a8(0x11d),_0x4717a8(0x1d7)+_0x444556+_0x4717a8(0x1ac)+_0x9ce051+'-digit\x20capacity\x20('+_0x2054e3+').\x20Increase\x20numDigits.',{'counterInt':_0x444556,'numDigits':_0x9ce051,'max':_0x2054e3});const _0x58fba5=_0x32b31d['BSMXJ'](String,_0x444556)['padStart'](_0x9ce051,'0');if(_0x220187===_0x32b31d[_0x4717a8(0x19b)])return _0x1f3647?''+_0x1f3647+_0xb53f5c+_0x58fba5:_0x58fba5;return _0x1f3647?''+_0x1f3647+_0xb53f5c+_0x47e7c6+_0xb53f5c+_0x58fba5:''+_0x47e7c6+_0xb53f5c+_0x58fba5;}[a0_0x4b7b0d(0xf4)]({format:_0x3edfd0,prefix:_0x5a9e1d,separator:_0x501c56,numDigits:_0x3f28cc,number:_0xfe5676}){const _0x2cd82c=a0_0x4b7b0d,_0x1c990b={'SAmIp':function(_0x392aeb,_0x91562b){return _0x392aeb===_0x91562b;},'BmNxx':function(_0x574164,_0x515749){return _0x574164!==_0x515749;},'ScSpl':_0x2cd82c(0x1b7),'mjbeF':function(_0x5e2766,_0x1f119e){return _0x5e2766===_0x1f119e;},'IcWGE':function(_0x4b68b3,_0x44863c,_0x1e9e85){return _0x4b68b3(_0x44863c,_0x1e9e85);},'zCqrk':'text'};if(typeof _0xfe5676!=='string'||_0x1c990b['SAmIp'](_0xfe5676[_0x2cd82c(0x141)],0x0))throw new IdGeneratorError(_0x2cd82c(0x1b7),_0x2cd82c(0x162));const _0x52a3d6=_0x501c56||'',_0x31fba9=_0x52a3d6===''?[_0xfe5676]:_0xfe5676['split'](_0x52a3d6);let _0x221733='',_0x1a16e3;if(_0x3edfd0===_0x2cd82c(0x11e)){if(_0x5a9e1d){if(_0x1c990b['BmNxx'](_0x31fba9['length'],0x2)||_0x31fba9[0x0]!==_0x5a9e1d)throw new IdGeneratorError(_0x1c990b['ScSpl'],'Number\x20does\x20not\x20match\x20expected\x20format\x20prefix'+_0x52a3d6+_0x2cd82c(0x1f1)+_0xfe5676+')');_0x1a16e3=_0x31fba9[0x1];}else{if(_0x31fba9[_0x2cd82c(0x141)]!==0x1)throw new IdGeneratorError('IDGEN_INVALID_NUMBER','Number\x20does\x20not\x20match\x20expected\x20text\x20format\x20(got:\x20'+_0xfe5676+')');_0x1a16e3=_0x31fba9[0x0];}}else{const _0x2dc6e8=_0x5a9e1d?0x3:0x2;if(_0x31fba9['length']!==_0x2dc6e8)throw new IdGeneratorError(_0x2cd82c(0x1b7),_0x2cd82c(0x157)+_0xfe5676+_0x2cd82c(0x139)+_0x2dc6e8+'\x20parts)');let _0x3dddd5=0x0;if(_0x5a9e1d){if(_0x31fba9[_0x3dddd5]!==_0x5a9e1d)throw new IdGeneratorError(_0x2cd82c(0x1b7),_0x2cd82c(0xd3)+_0x5a9e1d+_0x2cd82c(0xfe)+_0x31fba9[_0x3dddd5]);_0x3dddd5++;}_0x221733=_0x31fba9[_0x3dddd5++];const _0x18998f=_0x1c990b['mjbeF'](_0x3edfd0,'yyyy')?/^\d{4}$/:_0x3edfd0===_0x2cd82c(0x166)?/^\d{6}$/:/^\d{8}$/;if(!_0x18998f['test'](_0x221733))throw new IdGeneratorError(_0x1c990b['ScSpl'],'Number\x20datePrefix\x20invalid\x20for\x20format\x20'+_0x3edfd0+':\x20'+_0x221733);_0x1a16e3=_0x31fba9[_0x3dddd5];}if(!new RegExp('^\x5cd{'+_0x3f28cc+'}$')['test'](_0x1a16e3))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x2cd82c(0x1d3)+_0x3f28cc+'\x20digits\x20(got:\x20'+_0x1a16e3+')');const _0x447f6=_0x1c990b['IcWGE'](parseInt,_0x1a16e3,0xa),_0x1f22aa=_0x5a9e1d||'_';let _0x49968c;return _0x3edfd0===_0x1c990b[_0x2cd82c(0x161)]?_0x49968c=_0x1f22aa+_0x2cd82c(0x116):_0x49968c=_0x1f22aa+'_'+_0x3edfd0+'_'+_0x221733,{'formatKey':_0x49968c,'counterInt':_0x447f6,'datePrefix':_0x221733};}[a0_0x4b7b0d(0xf7)](_0x13a99c){const _0x34cb38=a0_0x4b7b0d;let _0xec97ff='';for(const _0x24e638 of _0x13a99c){const _0x28e560=PLACEHOLDER_MAP[_0x24e638];if(_0x28e560){const _0x222d34=crypto[_0x34cb38(0xe1)](0x0,_0x28e560[_0x34cb38(0x141)]);_0xec97ff+=_0x28e560[_0x222d34];}else _0xec97ff+=_0x24e638;}return _0xec97ff;}async['_retrieveIdemCache'](_0x5a3cee){const _0x15ea38=a0_0x4b7b0d,_0x4b68dd={'cdSWK':_0x15ea38(0x18d),'qRpMN':_0x15ea38(0x1ec)};if(!_0x5a3cee)return null;try{const _0x312d28=redisClient['getClient'](),_0x525d63=await _0x312d28[_0x15ea38(0x126)](_0x5a3cee);if(_0x525d63)return logger[_0x15ea38(0x13c)]({'event':_0x4b68dd['cdSWK'],'key':_0x5a3cee},_0x4b68dd['qRpMN']),JSON[_0x15ea38(0x164)](_0x525d63);return null;}catch(_0x1b3afd){return logger['warn']({'event':_0x15ea38(0xf6),'error':_0x1b3afd['message']},_0x15ea38(0xd6)),null;}}async[a0_0x4b7b0d(0x1a2)](_0x2ac866,_0x5c85cc){const _0x30eee3=a0_0x4b7b0d,_0x46d2fd={'pZHaI':'Idempotency\x20store\x20error'};if(!_0x2ac866)return;try{const _0x2be55c=redisClient[_0x30eee3(0x1a4)]();await _0x2be55c[_0x30eee3(0xed)](_0x2ac866,this[_0x30eee3(0xd7)],JSON[_0x30eee3(0x152)](_0x5c85cc));}catch(_0x52ea82){logger[_0x30eee3(0x1fc)]({'event':'idgen_idem_store_error','error':_0x52ea82['message']},_0x46d2fd[_0x30eee3(0x113)]);}}async['_storeIdemCacheNX'](_0x5aff1d,_0x366f92){const _0x2f1c29=a0_0x4b7b0d,_0x5c959d={'eeUjN':'idgen_idem_nx_race_lost_but_empty','YzUWI':_0x2f1c29(0xfd)};if(!_0x5aff1d)return{'stored':!![],'winnerResult':null};try{const _0x3917db=redisClient[_0x2f1c29(0x1a4)](),_0x57c88b=JSON['stringify'](_0x366f92),_0x2ca6eb=await _0x3917db['set'](_0x5aff1d,_0x57c88b,'EX',this[_0x2f1c29(0xd7)],'NX');if(_0x2ca6eb==='OK')return{'stored':!![],'winnerResult':null};const _0x593b1f=await _0x3917db[_0x2f1c29(0x126)](_0x5aff1d);if(_0x593b1f)return{'stored':![],'winnerResult':JSON['parse'](_0x593b1f)};return logger[_0x2f1c29(0x1fc)]({'event':_0x5c959d[_0x2f1c29(0x19f)],'key':_0x5aff1d},'SET\x20NX\x20failed\x20but\x20cache\x20GET\x20returned\x20empty\x20—\x20falling\x20back\x20to\x20own\x20result'),{'stored':!![],'winnerResult':null};}catch(_0xd48c92){return logger['warn']({'event':_0x5c959d[_0x2f1c29(0x179)],'error':_0xd48c92[_0x2f1c29(0x17c)]},'Idempotency\x20SET\x20NX\x20error'),{'stored':!![],'winnerResult':null};}}async[a0_0x4b7b0d(0x180)](_0x25f40c,_0x38750c,_0x194ad9){const _0x3b304e=a0_0x4b7b0d,_0xe41bc5={'pinjW':'idgen_random_undo_error'};try{const _0x46710f=redisClient[_0x3b304e(0x1a4)]();if(_0x194ad9){const _0x56d02d=this['_buildActiveKey'](_0x25f40c,_0x38750c);await _0x46710f[_0x3b304e(0x1ea)](_0x56d02d);}else{const _0x1c22dc=this['_buildIssuedKey'](_0x25f40c);await _0x46710f['srem'](_0x1c22dc,_0x38750c);}}catch(_0xf839ee){logger[_0x3b304e(0x1fc)]({'event':_0xe41bc5['pinjW'],'error':_0xf839ee[_0x3b304e(0x17c)]},'Random\x20reservation\x20undo\x20error\x20(orphan\x20slot\x20may\x20remain)');}}async[a0_0x4b7b0d(0x14d)](_0x311c3b,_0x806487,_0x178e53,_0x5a3887=0x0){const _0x36fcc2=a0_0x4b7b0d,_0x3a5a53={'WVxDa':function(_0x12a3d6,_0x518a28){return _0x12a3d6(_0x518a28);},'JpdbE':function(_0x462ca3,_0x4df8ce){return _0x462ca3>_0x4df8ce;}};try{const _0xdfc99e=redisClient[_0x36fcc2(0x1a4)](),_0xfbb424=this[_0x36fcc2(0x1f7)](_0x311c3b,_0x806487),_0x5ee9d6=[];for(const [_0x399d07,_0x4d0d56]of Object['entries'](_0x178e53)){_0x5ee9d6[_0x36fcc2(0x1f9)](_0x399d07,_0x3a5a53[_0x36fcc2(0x120)](String,_0x4d0d56));}if(_0x3a5a53['JpdbE'](_0x5ee9d6[_0x36fcc2(0x141)],0x0)){await _0xdfc99e['hset'](_0xfbb424,..._0x5ee9d6);if(_0x5a3887>0x0)await _0xdfc99e[_0x36fcc2(0x175)](_0xfbb424,_0x5a3887);}}catch(_0x3e8dd8){logger['warn']({'event':'idgen_meta_update_error','error':_0x3e8dd8['message']},_0x36fcc2(0x189));}}async[a0_0x4b7b0d(0x178)](_0x8515c4){const _0x4bd982=a0_0x4b7b0d,_0x71f45f={'ENtju':function(_0x5884f7,_0xf4a368){return _0x5884f7(_0xf4a368);},'RaAMY':_0x4bd982(0xd9),'JBSro':_0x4bd982(0x153)};if(!this[_0x4bd982(0x1d5)])throw new IdGeneratorError(_0x4bd982(0x10a),_0x4bd982(0xf3));const _0x5be168=this[_0x4bd982(0xf5)](_0x8515c4),_0x45c0d3=this['_validateIdempotencyKey'](_0x8515c4['idempotencyKey']),{resource:_0x45deee,format:_0x2775d7,prefix:_0x52d9ba,separator:_0x3d103d,numDigits:_0x62d68a,reuseDelete:_0x719690}=_0x5be168,{formatKey:_0x1c8ee8,datePrefix:_0xbbb0a7}=this[_0x4bd982(0x165)](_0x2775d7,_0x52d9ba),_0x4421c1=this[_0x4bd982(0x13f)](_0x45deee,_0x1c8ee8),_0x32a821=this[_0x4bd982(0x1f3)](_0x45deee,_0x1c8ee8),_0x431541=this['_getCounterTTL'](_0x2775d7);let _0x154fd9=null;if(_0x45c0d3){_0x154fd9=this[_0x4bd982(0x125)]('number',_0x45deee,_0x1c8ee8,_0x45c0d3);const _0x2f78be=await this[_0x4bd982(0xda)](_0x154fd9);if(_0x2f78be)return _0x2f78be;}const _0x118055=redisClient[_0x4bd982(0x1a4)](),_0x66572=await _0x118055['eval'](LUA_GENERATE_NUMBER,0x2,_0x4421c1,_0x32a821,_0x719690?'1':'0',_0x71f45f['ENtju'](String,_0x431541)),_0x33fdb9=_0x66572[0x0],_0x4c6cec=_0x66572[0x1]===0x1,_0x13dcee=this['_formatNumber']({'format':_0x2775d7,'prefix':_0x52d9ba,'datePrefix':_0xbbb0a7,'separator':_0x3d103d,'numDigits':_0x62d68a,'counterInt':_0x33fdb9}),_0x13ec47={'value':_0x13dcee,'counter':_0x33fdb9,'resource':_0x45deee,'formatKey':_0x1c8ee8,'isReused':_0x4c6cec,'generatedAt':new Date()['toISOString']()},_0x4f44f3=await this[_0x4bd982(0x16c)](_0x154fd9,_0x13ec47);if(!_0x4f44f3[_0x4bd982(0x184)]){try{await _0x118055[_0x4bd982(0xe6)](LUA_RELEASE_NUMBER,0x1,_0x32a821,_0x71f45f['ENtju'](String,_0x33fdb9),String(_0x431541));}catch(_0x3e9d2a){logger[_0x4bd982(0x1fc)]({'event':_0x4bd982(0x130),'error':_0x3e9d2a[_0x4bd982(0x17c)],'resource':_0x45deee,'formatKey':_0x1c8ee8,'counterInt':_0x33fdb9},_0x71f45f['RaAMY']);}return logger['info']({'event':_0x71f45f['JBSro'],'resource':_0x45deee,'formatKey':_0x1c8ee8,'counter':_0x33fdb9},_0x4bd982(0xf9)),_0x4f44f3['winnerResult'];}return this[_0x4bd982(0x14d)](_0x45deee,_0x1c8ee8,{'lastValue':_0x13dcee,'lastCounter':_0x33fdb9,'lastIsReused':_0x4c6cec,'lastGeneratedAt':_0x13ec47['generatedAt']},_0x431541),logger[_0x4bd982(0x13c)]({'event':_0x4bd982(0x192),'resource':_0x45deee,'formatKey':_0x1c8ee8,'counter':_0x33fdb9,'isReused':_0x4c6cec},_0x4bd982(0x194)+_0x13dcee),_0x13ec47;}async[a0_0x4b7b0d(0x146)](_0x5c3834){const _0x175dc0=a0_0x4b7b0d,_0x47f74d={'gjvHV':function(_0x336279,_0x3643f3){return _0x336279!==_0x3643f3;},'xMlAd':function(_0x722782,_0x5e7dbd){return _0x722782!==_0x5e7dbd;},'icYkl':function(_0x51550d,_0x16bbb0){return _0x51550d!==_0x16bbb0;},'kYGfn':_0x175dc0(0x12d),'VdPfi':function(_0x466849,_0x411c2c){return _0x466849===_0x411c2c;},'Pspbv':'IDGEN_INVALID_NUMBER','JTukM':'text','nhuzt':function(_0x32602b,_0x36bab0){return _0x32602b(_0x36bab0);}};if(!this[_0x175dc0(0x1d5)])throw new IdGeneratorError(_0x175dc0(0x10a),_0x175dc0(0x112));let _0x190abf,_0x1490bc,_0xf262ee,_0x3c207b;const _0x1a4b33=this[_0x175dc0(0x1d6)](_0x5c3834['idempotencyKey']);if(_0x47f74d['gjvHV'](_0x5c3834[_0x175dc0(0x10e)],undefined)&&_0x47f74d['xMlAd'](_0x5c3834[_0x175dc0(0x10e)],null)){this[_0x175dc0(0x142)](_0x5c3834[_0x175dc0(0x1c9)]),_0x190abf=_0x5c3834[_0x175dc0(0x1c9)];if(_0x47f74d['icYkl'](typeof _0x5c3834[_0x175dc0(0x1ce)],_0x47f74d[_0x175dc0(0x1bf)])||_0x47f74d['VdPfi'](_0x5c3834['formatKey']['length'],0x0))throw new IdGeneratorError(_0x47f74d[_0x175dc0(0x168)],_0x175dc0(0x1c0));_0x1490bc=_0x5c3834['formatKey'];if(!Number[_0x175dc0(0x102)](_0x5c3834[_0x175dc0(0x10e)])||_0x5c3834['counterInt']<0x1)throw new IdGeneratorError(_0x47f74d['Pspbv'],'counterInt\x20must\x20be\x20positive\x20integer\x20(got:\x20'+_0x5c3834['counterInt']+')');_0xf262ee=_0x5c3834[_0x175dc0(0x10e)];const _0x155f1e=_0x1490bc['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x3c207b=_0x155f1e?_0x155f1e[0x1]:_0x47f74d[_0x175dc0(0x16e)];}else{const _0x59d4d2=this['_validateNumberParams'](_0x5c3834),_0x16cb38=this[_0x175dc0(0xf4)]({'format':_0x59d4d2[_0x175dc0(0x14b)],'prefix':_0x59d4d2['prefix'],'separator':_0x59d4d2[_0x175dc0(0x18e)],'numDigits':_0x59d4d2[_0x175dc0(0x1ad)],'number':_0x5c3834['number']});_0x190abf=_0x59d4d2[_0x175dc0(0x1c9)],_0x1490bc=_0x16cb38[_0x175dc0(0x1ce)],_0xf262ee=_0x16cb38['counterInt'],_0x3c207b=_0x59d4d2[_0x175dc0(0x14b)];}const _0x450806=this[_0x175dc0(0x1f3)](_0x190abf,_0x1490bc),_0x141ffd=this['_getCounterTTL'](_0x3c207b);let _0x41403b=null;if(_0x1a4b33){_0x41403b=this[_0x175dc0(0x125)]('release',_0x190abf,_0x1490bc,_0x1a4b33);const _0x12a33=await this['_retrieveIdemCache'](_0x41403b);if(_0x12a33)return _0x12a33;}const _0x49ef85=redisClient[_0x175dc0(0x1a4)]();await _0x49ef85[_0x175dc0(0xe6)](LUA_RELEASE_NUMBER,0x1,_0x450806,String(_0xf262ee),_0x47f74d[_0x175dc0(0x1e7)](String,_0x141ffd));const _0x5b26c0={'released':!![],'resource':_0x190abf,'formatKey':_0x1490bc,'counter':_0xf262ee,'releasedAt':new Date()[_0x175dc0(0x186)]()};return await this['_storeIdemCache'](_0x41403b,_0x5b26c0),this['_updateMeta'](_0x190abf,_0x1490bc,{'lastReleasedCounter':_0xf262ee,'lastReleasedAt':_0x5b26c0['releasedAt']},_0x141ffd),logger['info']({'event':_0x175dc0(0x148),'resource':_0x190abf,'formatKey':_0x1490bc,'counter':_0xf262ee},_0x175dc0(0x1fe)+_0xf262ee),_0x5b26c0;}async[a0_0x4b7b0d(0x1eb)](_0x51276f){const _0x2b6f62=a0_0x4b7b0d,_0x3988f6={'EALkP':'IDGEN_DISABLED','AHkjX':function(_0xcabd,_0xeba9f3){return _0xcabd*_0xeba9f3;},'sYTra':'resource','Zjrnq':_0x2b6f62(0x1ce),'kvpHO':'separator','wuJXt':'numDigits','AcHpH':function(_0x33117f,_0x425951){return _0x33117f(_0x425951);},'GnkNa':_0x2b6f62(0x1ef),'irjtX':_0x2b6f62(0xea),'InHOD':'ttlMs','FZSjy':'idgen_reserve_overflow_compensation_error','cmhpR':'idgen_reserve_value_persist_error','IFMOL':_0x2b6f62(0xdb)};if(!this[_0x2b6f62(0x1d5)])throw new IdGeneratorError(_0x3988f6['EALkP'],'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)');const _0xbdeed=this['_validateNumberParams'](_0x51276f),_0x512df4=this[_0x2b6f62(0x19a)](_0x51276f[_0x2b6f62(0x183)]),_0x206e31=this[_0x2b6f62(0x1d6)](_0x51276f[_0x2b6f62(0x151)]),{resource:_0x499d2b,format:_0x2e4264,prefix:_0x20ae3e,separator:_0x553864,numDigits:_0x4df7b4,reuseDelete:_0x1930bc}=_0xbdeed,{formatKey:_0x128636,datePrefix:_0x4a8769}=this['_buildFormatKey'](_0x2e4264,_0x20ae3e),_0x411430=this[_0x2b6f62(0x13f)](_0x499d2b,_0x128636),_0xc0f806=this['_buildReuseKey'](_0x499d2b,_0x128636),_0x430b22=this['_buildReservationIndexKey'](_0x499d2b,_0x128636),_0xf8bfe0=this[_0x2b6f62(0x1e4)](_0x2e4264);let _0x4abf1=null;if(_0x206e31){_0x4abf1=this['_buildIdemKey'](_0x2b6f62(0x1a7),_0x499d2b,_0x128636,_0x206e31);const _0x436fc2=await this[_0x2b6f62(0xda)](_0x4abf1);if(_0x436fc2)return _0x436fc2;}const _0x38c5e8=crypto['randomUUID'](),_0xef7b26=this[_0x2b6f62(0x1e2)](_0x38c5e8),_0x568021=this['_buildReservationKeyPrefix'](),_0x16dc76=Date[_0x2b6f62(0x1cc)](),_0x18e670=_0x16dc76+_0x3988f6['AHkjX'](_0x512df4,0x3e8),_0x34c974=_0x512df4*0x3e8,_0x22ad0f=new Date(_0x16dc76)['toISOString'](),_0x1c9515=new Date(_0x18e670)['toISOString'](),_0x214308=[_0x3988f6[_0x2b6f62(0x16d)],_0x499d2b,_0x3988f6['Zjrnq'],_0x128636,_0x2b6f62(0x14b),_0x2e4264,'prefix',_0x20ae3e,_0x3988f6['kvpHO'],_0x553864,_0x3988f6[_0x2b6f62(0x13d)],_0x3988f6[_0x2b6f62(0xe0)](String,_0x4df7b4),'datePrefix',_0x4a8769||'',_0x3988f6['GnkNa'],_0x22ad0f,_0x3988f6['irjtX'],_0x1c9515,_0x3988f6[_0x2b6f62(0x1b4)],String(_0x34c974)];_0x206e31&&_0x214308[_0x2b6f62(0x1f9)](_0x2b6f62(0xfa),_0x206e31);const _0x1d7260=redisClient['getClient'](),_0x555633=await _0x1d7260['eval'](LUA_RESERVE_NUMBER,0x3,_0x411430,_0xc0f806,_0x430b22,_0x1930bc?'1':'0',String(_0xf8bfe0),_0x38c5e8,_0xef7b26,String(_0x34c974),_0x3988f6[_0x2b6f62(0xe0)](String,_0x18e670),_0x3988f6[_0x2b6f62(0xe0)](String,_0x16dc76),_0x568021,..._0x214308),_0x262dc7=_0x555633[0x0],_0x19c2f9=_0x555633[0x1]===0x1,_0x338f78=_0x555633[0x2]||0x0;let _0x25a75b;try{_0x25a75b=this['_formatNumber']({'format':_0x2e4264,'prefix':_0x20ae3e,'datePrefix':_0x4a8769,'separator':_0x553864,'numDigits':_0x4df7b4,'counterInt':_0x262dc7});}catch(_0x496094){try{await _0x1d7260[_0x2b6f62(0xe6)](LUA_CANCEL_RESERVATION,0x3,_0xef7b26,_0x430b22,_0xc0f806,_0x38c5e8,String(_0xf8bfe0));}catch(_0x3cd8bb){logger[_0x2b6f62(0x1fc)]({'event':_0x3988f6['FZSjy'],'error':_0x3cd8bb[_0x2b6f62(0x17c)],'resource':_0x499d2b,'formatKey':_0x128636,'counterInt':_0x262dc7,'token':_0x38c5e8},_0x2b6f62(0x154));}throw _0x496094;}try{await _0x1d7260['hset'](_0xef7b26,'value',_0x25a75b);}catch(_0x2b1e30){logger[_0x2b6f62(0x1fc)]({'event':_0x3988f6[_0x2b6f62(0x163)],'error':_0x2b1e30[_0x2b6f62(0x17c)],'resource':_0x499d2b,'formatKey':_0x128636,'counterInt':_0x262dc7,'token':_0x38c5e8},'Failed\x20to\x20persist\x20formatted\x20value\x20to\x20reservation\x20hash');}const _0x36e726={'token':_0x38c5e8,'value':_0x25a75b,'counter':_0x262dc7,'resource':_0x499d2b,'formatKey':_0x128636,'isReused':_0x19c2f9,'createdAt':_0x22ad0f,'expiresAt':_0x1c9515,'reapedCount':_0x338f78},_0x46ba5f=await this[_0x2b6f62(0x16c)](_0x4abf1,_0x36e726);if(!_0x46ba5f[_0x2b6f62(0x184)]){try{await _0x1d7260[_0x2b6f62(0xe6)](LUA_CANCEL_RESERVATION,0x3,_0xef7b26,_0x430b22,_0xc0f806,_0x38c5e8,String(_0xf8bfe0));}catch(_0x563d14){logger['warn']({'event':_0x2b6f62(0x118),'error':_0x563d14[_0x2b6f62(0x17c)],'resource':_0x499d2b,'formatKey':_0x128636,'counterInt':_0x262dc7,'token':_0x38c5e8},_0x2b6f62(0x17a));}return logger[_0x2b6f62(0x13c)]({'event':_0x2b6f62(0x1e8),'resource':_0x499d2b,'formatKey':_0x128636,'counter':_0x262dc7,'token':_0x38c5e8},_0x2b6f62(0x137)),_0x46ba5f[_0x2b6f62(0xdc)];}return this[_0x2b6f62(0x14d)](_0x499d2b,_0x128636,{'lastReservedCounter':_0x262dc7,'lastReservedAt':_0x22ad0f,'lastReapedCount':_0x338f78},_0xf8bfe0),logger[_0x2b6f62(0x13c)]({'event':_0x3988f6['IFMOL'],'resource':_0x499d2b,'formatKey':_0x128636,'counter':_0x262dc7,'isReused':_0x19c2f9,'token':_0x38c5e8,'ttl':_0x512df4,'reapedCount':_0x338f78},'ID\x20Generator\x20number\x20reserved:\x20'+_0x25a75b+'\x20(token='+_0x38c5e8+')'),_0x36e726;}async['confirmReservation'](_0xc9794b){const _0x3630ae=a0_0x4b7b0d,_0x393755={'dVeah':_0x3630ae(0x10a),'mUlvU':_0x3630ae(0x112),'XCHdv':_0x3630ae(0x1bd),'vBPIu':'text'};if(!this['enabled'])throw new IdGeneratorError(_0x393755[_0x3630ae(0x1fb)],_0x393755[_0x3630ae(0x1a6)]);const _0x158d68=this[_0x3630ae(0x104)](_0xc9794b&&_0xc9794b['token']),_0x21accc=this[_0x3630ae(0x1d6)](_0xc9794b&&_0xc9794b[_0x3630ae(0x151)]);let _0x3f6328=null;if(_0x21accc){_0x3f6328=idempotencyManager['buildDeterministicKey'](_0x3630ae(0x1d8),_0x393755[_0x3630ae(0x1f0)],_0x158d68+':'+_0x21accc);const _0x4c62e3=await this[_0x3630ae(0xda)](_0x3f6328);if(_0x4c62e3)return _0x4c62e3;}const _0x438e3c=await this['_getReservationContext'](_0x158d68),_0x51a28d=redisClient[_0x3630ae(0x1a4)](),_0x128861=await _0x51a28d[_0x3630ae(0xe6)](LUA_CONFIRM_RESERVATION,0x2,_0x438e3c['rsvKey'],_0x438e3c[_0x3630ae(0x156)],_0x158d68);if(!_0x128861||_0x128861[0x0]!==0x1)throw new IdGeneratorError(_0x3630ae(0x18b),_0x3630ae(0x15d)+_0x158d68,{'token':_0x158d68});const _0x7c8d52=parseInt(_0x128861[0x1],0xa),_0x166a07=_0x128861[0x2],_0x448027=_0x128861[0x3],_0x159c91=new Date()[_0x3630ae(0x186)](),_0x5c451b={'confirmed':!![],'token':_0x158d68,'value':_0x166a07,'counter':_0x7c8d52,'resource':_0x438e3c[_0x3630ae(0x1c9)],'formatKey':_0x448027,'confirmedAt':_0x159c91};await this['_storeIdemCache'](_0x3f6328,_0x5c451b);const _0x5e5cba=_0x448027[_0x3630ae(0x1cb)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x1cc0b2=_0x5e5cba?_0x5e5cba[0x1]:_0x393755['vBPIu'],_0x12fe3c=this[_0x3630ae(0x1e4)](_0x1cc0b2);return this['_updateMeta'](_0x438e3c['resource'],_0x448027,{'lastConfirmedCounter':_0x7c8d52,'lastConfirmedAt':_0x159c91},_0x12fe3c),logger['info']({'event':_0x3630ae(0x190),'resource':_0x438e3c[_0x3630ae(0x1c9)],'formatKey':_0x448027,'counter':_0x7c8d52,'token':_0x158d68},'ID\x20Generator\x20reservation\x20confirmed:\x20'+_0x166a07+_0x3630ae(0x17e)+_0x158d68+')'),_0x5c451b;}async['cancelReservation'](_0x428cb1){const _0x2f3307=a0_0x4b7b0d,_0x8f378c={'PAIqL':'ID\x20Generator\x20is\x20disabled','QTkne':_0x2f3307(0x144),'lRGXh':'IDGEN_RESERVATION_NOT_FOUND'};if(!this[_0x2f3307(0x1d5)])throw new IdGeneratorError('IDGEN_DISABLED',_0x8f378c['PAIqL']);const _0x764b8=this['_validateReservationToken'](_0x428cb1&&_0x428cb1[_0x2f3307(0x123)]),_0x5666d2=this[_0x2f3307(0x1d6)](_0x428cb1&&_0x428cb1[_0x2f3307(0x151)]);let _0x5e6e59=null;if(_0x5666d2){_0x5e6e59=idempotencyManager['buildDeterministicKey']('idgen',_0x8f378c['QTkne'],_0x764b8+':'+_0x5666d2);const _0x228f8e=await this[_0x2f3307(0xda)](_0x5e6e59);if(_0x228f8e)return _0x228f8e;}const _0x2709ce=await this[_0x2f3307(0xfb)](_0x764b8),_0x4de895=this[_0x2f3307(0x1f3)](_0x2709ce['resource'],_0x2709ce['formatKey']),_0x20c332=_0x2709ce['formatKey']['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x3a2d99=_0x20c332?_0x20c332[0x1]:'text',_0x5fde04=this[_0x2f3307(0x1e4)](_0x3a2d99),_0x3561be=redisClient['getClient'](),_0x3872e4=await _0x3561be[_0x2f3307(0xe6)](LUA_CANCEL_RESERVATION,0x3,_0x2709ce[_0x2f3307(0x134)],_0x2709ce['rsvIdxKey'],_0x4de895,_0x764b8,String(_0x5fde04));if(!_0x3872e4||_0x3872e4[0x0]!==0x1)throw new IdGeneratorError(_0x8f378c['lRGXh'],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x764b8,{'token':_0x764b8});const _0x31c888=parseInt(_0x3872e4[0x1],0xa),_0x4d1002=_0x3872e4[0x2],_0x144a53=_0x3872e4[0x3],_0x22ca53=new Date()[_0x2f3307(0x186)](),_0x22c5e0={'cancelled':!![],'token':_0x764b8,'value':_0x4d1002,'counter':_0x31c888,'resource':_0x2709ce['resource'],'formatKey':_0x144a53,'releasedToReuse':!![],'cancelledAt':_0x22ca53};return await this['_storeIdemCache'](_0x5e6e59,_0x22c5e0),this[_0x2f3307(0x14d)](_0x2709ce['resource'],_0x144a53,{'lastCancelledCounter':_0x31c888,'lastCancelledAt':_0x22ca53},_0x5fde04),logger['info']({'event':_0x2f3307(0x14f),'resource':_0x2709ce[_0x2f3307(0x1c9)],'formatKey':_0x144a53,'counter':_0x31c888,'token':_0x764b8},_0x2f3307(0x159)+_0x4d1002+_0x2f3307(0x17e)+_0x764b8+')'),_0x22c5e0;}async['extendReservation'](_0x2452e0){const _0x31e93a=a0_0x4b7b0d,_0xa7c246={'dzWIm':'idgen','EvBBI':'reserve_extend','BWkuG':function(_0x175c84,_0x5224d2){return _0x175c84!==_0x5224d2;},'tBBXK':function(_0x46894d,_0x28de7d,_0x40c2ff){return _0x46894d(_0x28de7d,_0x40c2ff);}};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x31e93a(0x112));const _0x3bbcc7=this[_0x31e93a(0x104)](_0x2452e0&&_0x2452e0[_0x31e93a(0x123)]),_0x3bf2f5=this['_validateReserveTTL'](_0x2452e0&&_0x2452e0['ttl']),_0x2daac6=this['_validateIdempotencyKey'](_0x2452e0&&_0x2452e0[_0x31e93a(0x151)]);let _0x3f7939=null;if(_0x2daac6){_0x3f7939=idempotencyManager['buildDeterministicKey'](_0xa7c246['dzWIm'],_0xa7c246[_0x31e93a(0x1f2)],_0x3bbcc7+':'+_0x2daac6);const _0xbb53b0=await this['_retrieveIdemCache'](_0x3f7939);if(_0xbb53b0)return _0xbb53b0;}const _0x5ccff0=await this[_0x31e93a(0xfb)](_0x3bbcc7),_0x111f04=Date[_0x31e93a(0x1cc)](),_0x56dab7=_0x111f04+_0x3bf2f5*0x3e8,_0x2b6fa7=_0x3bf2f5*0x3e8,_0x585897=new Date(_0x56dab7)[_0x31e93a(0x186)](),_0x514b8f=redisClient[_0x31e93a(0x1a4)](),_0xb64dee=await _0x514b8f[_0x31e93a(0xe6)](LUA_EXTEND_RESERVATION,0x2,_0x5ccff0['rsvKey'],_0x5ccff0[_0x31e93a(0x156)],_0x3bbcc7,String(_0x2b6fa7),String(_0x56dab7),_0x585897);if(!_0xb64dee||_0xa7c246[_0x31e93a(0xf2)](_0xb64dee[0x0],0x1))throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND','Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x3bbcc7,{'token':_0x3bbcc7});const _0x29a626=_0xb64dee[0x1],_0x1a2233=_0xa7c246['tBBXK'](parseInt,_0xb64dee[0x2],0xa),_0x284dc3=_0xb64dee[0x3],_0x9d25d2=_0xb64dee[0x4],_0x4f7961=new Date(_0x111f04)[_0x31e93a(0x186)](),_0x2f14da={'extended':!![],'token':_0x3bbcc7,'previousExpiresAt':_0x29a626,'expiresAt':_0x585897,'ttlMs':_0x2b6fa7,'resource':_0x5ccff0[_0x31e93a(0x1c9)],'formatKey':_0x9d25d2,'counter':_0x1a2233,'value':_0x284dc3,'extendedAt':_0x4f7961};await this['_storeIdemCache'](_0x3f7939,_0x2f14da);const _0x581ad0=_0x9d25d2['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x493655=_0x581ad0?_0x581ad0[0x1]:'text',_0x310b58=this['_getCounterTTL'](_0x493655);return this[_0x31e93a(0x14d)](_0x5ccff0['resource'],_0x9d25d2,{'lastExtendedCounter':_0x1a2233,'lastExtendedAt':_0x4f7961},_0x310b58),logger['info']({'event':'idgen_reservation_extended','resource':_0x5ccff0[_0x31e93a(0x1c9)],'formatKey':_0x9d25d2,'counter':_0x1a2233,'token':_0x3bbcc7,'ttl':_0x3bf2f5},'ID\x20Generator\x20reservation\x20extended:\x20'+_0x284dc3+_0x31e93a(0x17e)+_0x3bbcc7+_0x31e93a(0x193)+_0x3bf2f5+'s)'),_0x2f14da;}async['getReservation'](_0x45b032){const _0x459dd9=a0_0x4b7b0d,_0x4c9ef1={'yHzyH':_0x459dd9(0x10a),'NPOmi':function(_0x26446b,_0x27e392){return _0x26446b===_0x27e392;},'cuwVX':function(_0x1c2cb2,_0x10a5eb,_0x171830){return _0x1c2cb2(_0x10a5eb,_0x171830);},'ENUOX':function(_0x2979e7,_0x527a49){return _0x2979e7===_0x527a49;}};if(!this[_0x459dd9(0x1d5)])throw new IdGeneratorError(_0x4c9ef1['yHzyH'],_0x459dd9(0x112));const _0x4bb8af=this['_validateReservationToken'](_0x45b032&&_0x45b032['token']),_0x3cbebb=this['_buildReservationKey'](_0x4bb8af),_0x3f2f98=redisClient[_0x459dd9(0x1a4)](),_0x8cd106=_0x3f2f98['pipeline']();_0x8cd106[_0x459dd9(0x101)](_0x3cbebb),_0x8cd106[_0x459dd9(0x133)](_0x3cbebb);const _0x447398=await _0x8cd106[_0x459dd9(0x199)](),_0x477e8f=_0x447398&&_0x447398[0x0]&&_0x447398[0x0][0x1],_0x535aa9=_0x447398&&_0x447398[0x1]&&_0x447398[0x1][0x1];if(!_0x477e8f||_0x4c9ef1[_0x459dd9(0x185)](Object[_0x459dd9(0x181)](_0x477e8f)['length'],0x0))throw new IdGeneratorError(_0x459dd9(0x18b),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x4bb8af,{'token':_0x4bb8af});return{'token':_0x4bb8af,'resource':_0x477e8f[_0x459dd9(0x1c9)]||null,'formatKey':_0x477e8f['formatKey']||null,'format':_0x477e8f['format']||null,'prefix':_0x477e8f[_0x459dd9(0xef)]||'','separator':_0x477e8f[_0x459dd9(0x18e)]||'','numDigits':_0x477e8f['numDigits']?parseInt(_0x477e8f['numDigits'],0xa):null,'datePrefix':_0x477e8f[_0x459dd9(0x1df)]||'','counter':_0x477e8f[_0x459dd9(0x1b8)]?_0x4c9ef1[_0x459dd9(0x1b3)](parseInt,_0x477e8f['counter'],0xa):null,'value':_0x477e8f['value']||null,'isReused':_0x4c9ef1[_0x459dd9(0x1b0)](_0x477e8f[_0x459dd9(0x187)],'1')||_0x477e8f[_0x459dd9(0x187)]===0x1,'createdAt':_0x477e8f['createdAt']||null,'expiresAt':_0x477e8f['expiresAt']||null,'ttlRemainingMs':typeof _0x535aa9==='number'&&_0x535aa9>=0x0?_0x535aa9:null};}async['_getReservationContext'](_0x501caf){const _0x543725=a0_0x4b7b0d,_0xd3ce17={'caBnD':'resource','URjDr':'formatKey','mrsPP':'IDGEN_RESERVATION_NOT_FOUND'},_0x580015=this[_0x543725(0x1e2)](_0x501caf),_0x265895=redisClient[_0x543725(0x1a4)](),_0x2697a1=await _0x265895['hmget'](_0x580015,_0xd3ce17[_0x543725(0x1ed)],_0xd3ce17['URjDr']),_0x25d6af=_0x2697a1&&_0x2697a1[0x0],_0x248284=_0x2697a1&&_0x2697a1[0x1];if(!_0x25d6af||!_0x248284)throw new IdGeneratorError(_0xd3ce17['mrsPP'],_0x543725(0x15d)+_0x501caf,{'token':_0x501caf});return{'resource':_0x25d6af,'formatKey':_0x248284,'rsvKey':_0x580015,'rsvIdxKey':this['_buildReservationIndexKey'](_0x25d6af,_0x248284)};}async[a0_0x4b7b0d(0x14a)](_0x436386){const _0xdc5bda=a0_0x4b7b0d,_0x2115e7={'YcGxk':'ID\x20Generator\x20is\x20disabled','ubAjl':function(_0x8584fb,_0x30ed6c){return _0x8584fb===_0x30ed6c;},'wlssx':function(_0x259e3d,_0x5905f4){return _0x259e3d===_0x5905f4;},'Tuxhx':_0xdc5bda(0x195),'RnvBy':function(_0x118c04,_0x5dfa6a){return _0x118c04&&_0x5dfa6a;},'KwUiz':function(_0x19df4a,_0x5a625d){return _0x19df4a+_0x5a625d;},'BfLUl':'idgen_random_generated','gYRHk':function(_0x46af48,_0x45edb8){return _0x46af48||_0x45edb8;}};if(!this[_0xdc5bda(0x1d5)])throw new IdGeneratorError('IDGEN_DISABLED',_0x2115e7[_0xdc5bda(0x1ae)]);this['_validateResource'](_0x436386[_0xdc5bda(0x1c9)]),this['_validatePattern'](_0x436386['pattern']);const _0x5b537f=this['_validateTTL'](_0x436386[_0xdc5bda(0x183)]),_0x429c7c=this[_0xdc5bda(0x1f5)](_0x436386[_0xdc5bda(0x1ee)]),_0x24f8e2=this['_validateIdempotencyKey'](_0x436386[_0xdc5bda(0x151)]),_0x5c4c63=_0x2115e7[_0xdc5bda(0x174)](_0x436386[_0xdc5bda(0x1b9)],!![]),{resource:_0x3d6f32,pattern:_0x261da4}=_0x436386;let _0x44c3cc=null;if(_0x24f8e2){_0x44c3cc=this['_buildIdemKey']('random',_0x3d6f32,null,_0x24f8e2);const _0xd2a730=await this[_0xdc5bda(0xda)](_0x44c3cc);if(_0xd2a730)return _0xd2a730;}const _0x5278ba=redisClient['getClient']();let _0x162aeb=null,_0x9e6659=0x0;if(!_0x5c4c63)_0x162aeb=this[_0xdc5bda(0xf7)](_0x261da4),_0x9e6659=0x1;else{for(let _0x579f79=0x0;_0x579f79<_0x429c7c;_0x579f79++){_0x9e6659++;const _0x4c83a3=this['_generateFromPattern'](_0x261da4);if(_0x5b537f){const _0x4b64e4=this[_0xdc5bda(0x1ab)](_0x3d6f32,_0x4c83a3),_0x19b101=await _0x5278ba['set'](_0x4b64e4,'1','EX',_0x5b537f,'NX');if(_0x2115e7[_0xdc5bda(0x1a0)](_0x19b101,'OK')){_0x162aeb=_0x4c83a3;break;}}else{const _0x452863=this['_buildIssuedKey'](_0x3d6f32),_0x5d4269=await _0x5278ba['sadd'](_0x452863,_0x4c83a3);if(_0x5d4269===0x1){_0x162aeb=_0x4c83a3;break;}}}if(_0x162aeb===null)throw new IdGeneratorError(_0x2115e7['Tuxhx'],'Could\x20not\x20generate\x20unique\x20value\x20after\x20'+_0x429c7c+'\x20attempts.\x20Increase\x20pattern\x20length\x20or\x20maxRetry.',{'resource':_0x3d6f32,'pattern':_0x261da4,'maxRetry':_0x429c7c});}const _0x37d33a={'value':_0x162aeb,'resource':_0x3d6f32,'pattern':_0x261da4,'attemptCount':_0x9e6659,'generatedAt':new Date()[_0xdc5bda(0x186)]()};_0x2115e7[_0xdc5bda(0x1a3)](_0x5b537f,_0x5c4c63)&&(_0x37d33a['expiresAt']=new Date(_0x2115e7['KwUiz'](Date['now'](),_0x5b537f*0x3e8))[_0xdc5bda(0x186)]());const _0x1be2d8=await this['_storeIdemCacheNX'](_0x44c3cc,_0x37d33a);if(!_0x1be2d8[_0xdc5bda(0x184)])return _0x5c4c63&&await this['_undoRandomReservation'](_0x3d6f32,_0x162aeb,_0x5b537f),logger[_0xdc5bda(0x13c)]({'event':'idgen_random_idem_loser','resource':_0x3d6f32,'pattern':_0x261da4,'value':_0x162aeb},_0xdc5bda(0xeb)),_0x1be2d8[_0xdc5bda(0xdc)];return logger['info']({'event':_0x2115e7[_0xdc5bda(0x1e3)],'resource':_0x3d6f32,'pattern':_0x261da4,'attemptCount':_0x9e6659,'ensureUnique':_0x5c4c63,'ttl':_0x2115e7[_0xdc5bda(0x103)](_0x5b537f,0x0)},_0xdc5bda(0x12c)+_0x162aeb),_0x37d33a;}async['pin'](_0x33662b){const _0x53b361=a0_0x4b7b0d,_0x34d665=_0x33662b[_0x53b361(0x108)]==null?this['defaultPinDigits']:_0x33662b[_0x53b361(0x108)];if(!Number[_0x53b361(0x102)](_0x34d665)||_0x34d665<MIN_PIN_DIGITS||_0x34d665>MAX_PIN_DIGITS)throw new IdGeneratorError(_0x53b361(0x1f4),_0x53b361(0x1c8)+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+'\x20(got:\x20'+_0x34d665+')');const _0x280206='9'[_0x53b361(0x1ba)](_0x34d665);return this['random']({'resource':_0x33662b[_0x53b361(0x1c9)],'pattern':_0x280206,'ensureUnique':_0x33662b[_0x53b361(0x1b9)]===!![],'ttl':_0x33662b[_0x53b361(0x183)],'maxRetry':_0x33662b[_0x53b361(0x1ee)],'idempotencyKey':_0x33662b['idempotencyKey']});}async[a0_0x4b7b0d(0x1f6)](_0x45fd2f){const _0x199e77=a0_0x4b7b0d,_0x556c9c={'CcpJT':function(_0xcc5b1,_0x5b0603){return _0xcc5b1!==_0x5b0603;}},_0x47cdad=_0x45fd2f['pattern']||this[_0x199e77(0x18a)];return this['random']({'resource':_0x45fd2f['resource'],'pattern':_0x47cdad,'ensureUnique':_0x556c9c['CcpJT'](_0x45fd2f['ensureUnique'],![]),'ttl':_0x45fd2f[_0x199e77(0x183)],'maxRetry':_0x45fd2f['maxRetry'],'idempotencyKey':_0x45fd2f[_0x199e77(0x151)]});}async[a0_0x4b7b0d(0x107)](_0x5645a3){const _0x16a88b=a0_0x4b7b0d,_0x5616fc=_0x5645a3['pattern']||this['defaultCodePattern'];return this[_0x16a88b(0x14a)]({'resource':_0x5645a3[_0x16a88b(0x1c9)],'pattern':_0x5616fc,'ensureUnique':_0x5645a3['ensureUnique']!==![],'ttl':_0x5645a3['ttl'],'maxRetry':_0x5645a3['maxRetry'],'idempotencyKey':_0x5645a3['idempotencyKey']});}async['consume'](_0x1d1790){const _0x3748fa=a0_0x4b7b0d,_0x5ebb0c={'XDhQT':'string','wmbgU':function(_0xf9707c,_0x14f8ad){return _0xf9707c===_0x14f8ad;},'SrkcX':function(_0x578337,_0x15d755){return _0x578337>_0x15d755;},'gFFHg':_0x3748fa(0x12e)};if(!this[_0x3748fa(0x1d5)])throw new IdGeneratorError(_0x3748fa(0x10a),_0x3748fa(0x112));this['_validateResource'](_0x1d1790['resource']);if(typeof _0x1d1790['value']!==_0x5ebb0c['XDhQT']||_0x5ebb0c['wmbgU'](_0x1d1790['value'][_0x3748fa(0x141)],0x0))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x3748fa(0x117));const {resource:_0x4a94ec,value:_0x3c1b3e}=_0x1d1790,_0x34933e=redisClient[_0x3748fa(0x1a4)](),_0x25728d=this[_0x3748fa(0x1ab)](_0x4a94ec,_0x3c1b3e),_0x568f22=this['_buildIssuedKey'](_0x4a94ec),[_0x503ea5,_0x38f278]=await Promise['all']([_0x34933e['del'](_0x25728d),_0x34933e[_0x3748fa(0x173)](_0x568f22,_0x3c1b3e)]),_0x14ac71=_0x5ebb0c[_0x3748fa(0x172)](_0x503ea5+_0x38f278,0x0);return logger['info']({'event':_0x5ebb0c['gFFHg'],'resource':_0x4a94ec,'value':_0x3c1b3e,'consumed':_0x14ac71},_0x3748fa(0x15e)+_0x3c1b3e),{'consumed':_0x14ac71,'resource':_0x4a94ec,'value':_0x3c1b3e,'consumedAt':new Date()['toISOString']()};}async[a0_0x4b7b0d(0x1cf)](_0x5e3dd7){const _0x4a3b03=a0_0x4b7b0d,_0x3af6bf={'zqTCe':_0x4a3b03(0x10a),'pPvSu':function(_0x10c869,_0x5aa0b){return _0x10c869===_0x5aa0b;},'Batrf':'number','hzvIT':'text','OxvdI':'IDGEN_INVALID_FORMAT','EiYAW':function(_0x2e89c7,_0x288a5a,_0x3edd8e){return _0x2e89c7(_0x288a5a,_0x3edd8e);},'zhyuM':function(_0x3a25b4,_0x7a15f4){return _0x3a25b4||_0x7a15f4;},'SHWgy':function(_0x4e0f10,_0x346727){return _0x4e0f10===_0x346727;},'omGef':function(_0xd5cca0,_0x4d272b){return _0xd5cca0||_0x4d272b;},'IgMPI':'IDGEN_INVALID_MODE'};if(!this[_0x4a3b03(0x1d5)])throw new IdGeneratorError(_0x3af6bf['zqTCe'],_0x4a3b03(0x112));this[_0x4a3b03(0x142)](_0x5e3dd7[_0x4a3b03(0x1c9)]);const _0x15857c=_0x5e3dd7[_0x4a3b03(0x1dd)]||'number',_0x31cfc2=redisClient['getClient']();if(_0x3af6bf['pPvSu'](_0x15857c,_0x3af6bf[_0x4a3b03(0x124)])){const _0x35bd75=(_0x5e3dd7[_0x4a3b03(0x14b)]||_0x3af6bf[_0x4a3b03(0xf0)])[_0x4a3b03(0xde)]();if(!ALLOWED_FORMATS[_0x4a3b03(0x15b)](_0x35bd75))throw new IdGeneratorError(_0x3af6bf['OxvdI'],_0x4a3b03(0x11b)+_0x5e3dd7['format']);const {formatKey:_0x48d2ec}=this[_0x4a3b03(0x165)](_0x35bd75,_0x5e3dd7['prefix']||''),_0x3a7a90=this[_0x4a3b03(0x13f)](_0x5e3dd7['resource'],_0x48d2ec),_0x230e2c=this['_buildReuseKey'](_0x5e3dd7[_0x4a3b03(0x1c9)],_0x48d2ec),[_0x924463,_0x17ca12]=await Promise['all']([_0x31cfc2[_0x4a3b03(0x126)](_0x3a7a90),_0x31cfc2[_0x4a3b03(0x15a)](_0x230e2c)]);return{'resource':_0x5e3dd7['resource'],'mode':_0x3af6bf['Batrf'],'formatKey':_0x48d2ec,'currentCounter':_0x3af6bf['EiYAW'](parseInt,_0x924463,0xa)||0x0,'reusePoolSize':_0x3af6bf[_0x4a3b03(0xee)](_0x17ca12,0x0)};}if(_0x3af6bf[_0x4a3b03(0x106)](_0x15857c,_0x4a3b03(0x14a))){const _0x333cf6=this['_buildIssuedKey'](_0x5e3dd7[_0x4a3b03(0x1c9)]),_0x4fc17c=await _0x31cfc2['scard'](_0x333cf6);return{'resource':_0x5e3dd7[_0x4a3b03(0x1c9)],'mode':_0x4a3b03(0x14a),'issuedCount':_0x3af6bf['omGef'](_0x4fc17c,0x0)};}throw new IdGeneratorError(_0x3af6bf['IgMPI'],'Unknown\x20mode:\x20'+_0x15857c);}async['getInfo'](_0x3bb77b){const _0x43b63b=a0_0x4b7b0d,_0x103383={'LAhxv':function(_0x4e448d,_0x30a8c9){return _0x4e448d===_0x30a8c9;}},_0x2cab73=await this[_0x43b63b(0x1cf)](_0x3bb77b);if(_0x103383[_0x43b63b(0x1aa)](_0x2cab73[_0x43b63b(0x1dd)],_0x43b63b(0x178))){const _0x4ec96e=redisClient[_0x43b63b(0x1a4)](),_0x4eaa90=this[_0x43b63b(0x1f7)](_0x3bb77b[_0x43b63b(0x1c9)],_0x2cab73['formatKey']),_0x511910=this['_buildReuseKey'](_0x3bb77b[_0x43b63b(0x1c9)],_0x2cab73[_0x43b63b(0x1ce)]),[_0xbb580a,_0x326783]=await Promise[_0x43b63b(0x131)]([_0x4ec96e['hgetall'](_0x4eaa90),_0x4ec96e[_0x43b63b(0x13a)](_0x511910,0x0,-0x1)]);return{..._0x2cab73,'reusePoolValues':_0x326783[_0x43b63b(0x18c)](_0x7df1ae=>parseInt(_0x7df1ae,0xa)),'meta':_0xbb580a&&Object[_0x43b63b(0x181)](_0xbb580a)[_0x43b63b(0x141)]>0x0?_0xbb580a:null};}return _0x2cab73;}async[a0_0x4b7b0d(0x1be)](_0x3c9feb){const _0x5defdf=a0_0x4b7b0d,_0x26937d={'nEuQC':_0x5defdf(0x16b),'gUsap':'Reset\x20operation\x20not\x20allowed\x20(set\x20IDGEN_ALLOW_RESET=true\x20to\x20enable)','WvRaG':_0x5defdf(0x178),'UXQjN':'text','WZmfK':'IDGEN_INVALID_FORMAT','MkvGx':'idgen_reset','koHao':_0x5defdf(0x135),'fMuJY':'meta','oySxu':_0x5defdf(0x14a),'TJVcG':_0x5defdf(0x1b2)};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED','ID\x20Generator\x20is\x20disabled');if(!this['allowReset'])throw new IdGeneratorError(_0x26937d[_0x5defdf(0x1af)],_0x26937d['gUsap']);this['_validateResource'](_0x3c9feb['resource']);const _0xc5e5cb=_0x3c9feb['mode']||_0x26937d['WvRaG'],_0x52ccbf=redisClient[_0x5defdf(0x1a4)]();if(_0xc5e5cb===_0x26937d[_0x5defdf(0x111)]){const _0x268de1=(_0x3c9feb['format']||_0x26937d[_0x5defdf(0x14c)])[_0x5defdf(0xde)]();if(!ALLOWED_FORMATS['has'](_0x268de1))throw new IdGeneratorError(_0x26937d['WZmfK'],_0x5defdf(0x11b)+_0x3c9feb['format']);const {formatKey:_0x115b21}=this[_0x5defdf(0x165)](_0x268de1,_0x3c9feb[_0x5defdf(0xef)]||''),_0x483a61=this['_buildSeqKey'](_0x3c9feb[_0x5defdf(0x1c9)],_0x115b21),_0xda14d2=this[_0x5defdf(0x1f3)](_0x3c9feb[_0x5defdf(0x1c9)],_0x115b21),_0x53f98b=this[_0x5defdf(0x1f7)](_0x3c9feb[_0x5defdf(0x1c9)],_0x115b21);return await _0x52ccbf['del'](_0x483a61,_0xda14d2,_0x53f98b),logger['warn']({'event':_0x26937d[_0x5defdf(0x105)],'resource':_0x3c9feb['resource'],'mode':_0x5defdf(0x178),'formatKey':_0x115b21},_0x5defdf(0x10b)+_0x3c9feb['resource']+':'+_0x115b21),{'reset':!![],'resource':_0x3c9feb[_0x5defdf(0x1c9)],'mode':_0x26937d['WvRaG'],'formatKey':_0x115b21,'deletedKeys':['seq',_0x26937d['koHao'],_0x26937d['fMuJY']]};}if(_0xc5e5cb===_0x26937d[_0x5defdf(0x1c4)]){const _0x5be825=this['_buildIssuedKey'](_0x3c9feb[_0x5defdf(0x1c9)]);return await _0x52ccbf[_0x5defdf(0x1ea)](_0x5be825),logger[_0x5defdf(0x1fc)]({'event':_0x5defdf(0x12b),'resource':_0x3c9feb['resource'],'mode':_0x5defdf(0x14a)},_0x5defdf(0x122)+_0x3c9feb['resource']),{'reset':!![],'resource':_0x3c9feb[_0x5defdf(0x1c9)],'mode':_0x26937d['oySxu'],'deletedKeys':[_0x26937d[_0x5defdf(0x147)]]};}throw new IdGeneratorError('IDGEN_INVALID_MODE',_0x5defdf(0x1db)+_0xc5e5cb);}}const instance=new IdGenerator();instance['IdGeneratorError']=IdGeneratorError,module['exports']=instance,module[a0_0x4b7b0d(0x1c5)]['IdGeneratorError']=IdGeneratorError;
|
|
1
|
+
'use strict';const a0_0x26f5ee=a0_0x2172;function a0_0x2c44(){const _0x3cae0f=['x2TLEvbYzwzPEa','CNn2swr4s2v5','zgvMyxvSDfnLCMLHBfbHDhrLCM4','ALbrC0m','Dg9Rzw4','u0vuie5yigzHAwXLzcbIDxqGy2fJAguGr0vuihjLDhvYBMvKigvTChr5iokaLcbMywXSAw5NigjHy2SGDg8GB3DUihjLC3vSDa','AwrNzw5FCMvZzxj2zv9VDMvYzMXVD19JB21Wzw5ZyxrPB25FzxjYB3i','surhru5Fsu5wquXjrf9ut0TftG','BgnMEvK','CgLU','B0z4q20','x2vUC3vYzuLUAxrPywXPEMvK','x3vWzgf0zu1LDge','AwrNzw4','BNvTrgLNAxrZ','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vY','BM5sAgq','z2vUzxjHDgvKqxq','BfDJBeS','rMfPBgvKihrVignHBMnLBcbYzxnLCNzHDgLVBIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','surhru5Fsurftv9uveW','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','sw52ywXPzcbYzxnLCNzHDgLVBIb0DgW6ig11C3qGyMuGAw50zwDLCIa','zefMCMm','uuHMy0q','lcbNB3qG','sfLlwfu','C3rVCMvK','CMrXsxa','wvv0ENa','x2j1AwXKuMv1C2vlzxK','zgvMyxvSDenVzgvqyxr0zxjU','ndCZnJKYnw1fv3zAwq','CuDmEfm','ks4Gsw5JCMvHC2uGBNvTrgLNAxrZlG','Dgv4Da','surhru5Fsu5wquXjrf9ovu1crvi','AKD3vhC','AhvZvem','Bwf4uMv0CNK','surhru5Fsu5wquXjrf9qqvrurvjo','AwrNzw5Fy29UC3vTzwq','x2nVDw50zxjuveXnyxa','surhru5Fsu5wquXjrf9nt0rf','x2fSBg93uMvZzxq','suqGr2vUzxjHDg9Yig51BwjLCIbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','tuzfB1e','DhrS','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','AwrNzw5FBNvTyMvYx2DLBMvYyxrLza','z0HYvxO','tfv5DuC','EgrHy3i','A2v5uhjLzML4','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','BNvTyMvY','C0H4Ewm','Dfbtuu8','v2Lft3K','CMvZzxj2zv9JB25MAxjT','zw5HyMXLza','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','nJiXnZq0mfD0Awzfqq','sw52ywXPzcbUDw1Izxi6ig11C3qGyMuGBM9UlwvTChr5ihn0CMLUzW','AwrNzw5FBwv0yv91CgrHDgvFzxjYB3i','Bw9Kzq','CKX2zKC','mtuZmZaXnMDfs3fvtG','qMDyCMW','C2vXoG','CMvZzxj2zu51BwjLCG','AKzHzxe','zgf0zvbYzwzPEa','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','ExL5Ew1Tzgq','swPbA3G','mJaYndroy0LUtvK','z2v0q2XPzw50','zKTZChq','qKP4uvi','C2nHCMq','CMvSzwfZzq','ven2r2W','AwrNzw5FAwrLBv9OAxq','x2j1AwXKsxnZDwvKs2v5','x3zHBgLKyxrLuMvZB3vYy2u','y291BNrLCG','AwrLBvruta','x2rLzMf1BhrqAw5eAwDPDhm','rMfPBgvKihrVihbLCNnPC3qGzM9YBwf0DgvKihzHBhvLihrVihjLC2vYDMf0Aw9UigHHC2G','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','mdeYmZq1nJC4oufcq0rfrG','suqGr2vUzxjHDg9YignVBMzPzYbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','x2j1AwXKqwn0AxzLs2v5','zM9YBwf0s2v5','surhru5FuKvtrvjwrv9eruzbvuXux1ruta','x3jLC2vYDMvnyxHuveW','rK9ztMW','swrLBxbVDgvUy3KGCMv0CMLLDMuGzxjYB3i','owLkqvD1sq','tgLpzwW','x3zHBgLKyxrLtwf4uMv0CNK','AwrNzw5FCMfUzg9Tx3vUzg9FzxjYB3i','D1HUyMW','sw52ywXPzcbYzxvZzurLBgv0ztOGBxvZDcbIzsbIB29SzwfUicHNB3q6ia','x3bHzdi','Eun3y3u','surhru5Fsu5wquXjrf9ovu1FreLhsvrt','Ahbzv3C','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','sK1rr2u','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','zxzHBa','sw52ywXPzcbWyxr0zxjUoIbTDxn0ignVBNrHAw4GyxqGBgvHC3qGB25LihbSywnLAg9SzgvYignOyxjHy3rLCIaOos9ol0eVys9ml1GVEc9il2GP','x2j1AwXKswrLBuTLEq','x2DLDenVDw50zxjuveW','AxnjBNrLz2vY','qw1sB3O','sw52ywXPzcbKAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','Dg9ju09tDhjPBMC','mtaZndG2nhPPzKrzEq','yM9VBgvHBG','rvjnvM4','AwrNzw5FCMfUzg9Tx2LKzw1FBg9Zzxi','lcbLEhbLy3rLzca','C1zvr1i','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2v4CgLYzxnbDcCSicDJB3vUDgvYjYWGj3zHBhvLjYWGj2zVCM1HDeTLEsCSicDPC1jLDxnLzcCSicDJCMvHDgvKqxqNkqPSB2nHBcbWCMv2rxHWAxjLC0f0id0GAfSXxqPSB2nHBcbUzxDuDgXnCYa9ihrVBNvTyMvYkefsr1zBmL0PcMXVy2fSig5LD0v4Ce1Zid0GDg9UDw1IzxiOqvjhvLSZxsKkCMvKAxmUy2fSBcGNuevyueLsrsCSieTfwvnBmv0Sig5LD1r0Be1ZkqPYzwrPCY5JywXSkcDiu0vujYWGs0vzu1SXxsWGj2v4CgLYzxnbDcCSiefsr1zBnf0PcNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZjDlcbUzxDfEhbnCYWGqvjhvLSXxsKkCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SYxsWGBwf0Ac5MBg9VCIHUzxDuDgXnCYaVideWmdaPicSGnJaPcNjLDhvYBIb7ideSihbYzxzfEhbPCMvZqxqSigHBmL0SigHBm10SigHBnf0SigHBnv0SigHBnL0GFqO','vw5RBM93BIbMB3jTyxq6ia','wwnwC20','rhrNrfi','Cgf0DgvYBG','Eu1jy2G','surhru5Fsu5wquXjrf9quKvgsvG','x3n0B3jLswrLBunHy2HLtLG','surhru5Fsu5wquXjrf9esuDjvfm','DgvZDa','ExL5Ew1T','x3vUzg9syw5KB21szxnLCNzHDgLVBG','ChzyANO','x2vUywjSzwq','z2v0rgf0zq','wK9WwMW','t2nfuM0','x2j1AwXKuMvZzxj2yxrPB25lzxK','C2vWyxjHDg9Y','yNLQyvm','se9QvxO','uhzrANK','u2H1D0S','ywjJzgvMz2HPAMTSBw5VChfYC3r1DND4ExO','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcaOz290oIa','mtm3owzxquLrAW','C3rYAw5N','ChjLzML4','rMfPBgvKihrVignVBxbLBNnHDguGCMvZzxj2yxrPB24Gywz0zxiGy291BNrLCIbVDMvYzMXVDW','y291BNrLCKLUDa','mtqZnZbWyLn6rha','mKfKA2zRza','ANnVtLq','q0TyDgK','uLj0wgC','ChvZAa','qNLytxm','zM9YBwf0s2v5igLZihjLCxvPCMvKigLUigXVDY1SzxzLBcbYzwXLyxnL','CMfUzg9Tsw50','C3rYAw5NAwz5','ignOyxjZicHNB3qGBgvUz3rOoIa','mtiWmJndvhfAB2C','x3jLDhjPzxzLswrLBunHy2HL','twv0ysb1CgrHDguGzxjYB3i','x2rLzMf1BhrtzxjPywXqyxr0zxjU','suqGr2vUzxjHDg9Yig51BwjLCIbYzxnLCNzLzdOG','surhru5Fsu5wquXjrf9gt1jnqvq','AgfZ','x3jLC2vYDMvezwzHDwX0vfrm','AwrNzw5FCMvZzxj2zv92ywX1zv9WzxjZAxn0x2vYCM9Y','mte2oteWmNnwAgrdDW','zxHWAxjLC0f0','C2fKza','tNvTyMvYignVDw50zxiGCgfYDcbTDxn0igjLigv4ywn0BhKG','ExL5Eq','zw5ZDxjLvw5PCxvL','zLfpC0i','AgDLDgfSBa','sw52ywXPzcb0DgW6ig11C3qGyMuGAw50zwDLCIaXlq','sw52ywXPzcbYzxnLCNzHDgLVBIb0B2TLBJOGBxvZDcbIzsbvvuLeihy0igzVCM1HDcaOz290oIa','Bfflv1e','yNvPBgrezxrLCM1PBMLZDgLJs2v5','AwrNzw5FAwrLBv9UEf9YywnLx2XVC3rFyNv0x2vTChr5','zxHWB3j0CW','AxnZDwvKoG','AwrLBxbVDgvUy3LlzxK','D2LUBMvYuMvZDwX0','icH0B2TLBJ0','AwrNzw5FBNvTyMvYx2LKzw1FBg9Zzxi','zgvS','tfDusLq','x2LUAxrPywXPEMvK','uxPSu2m','BwvZC2fNzq','BM93','AwrNzw5FAwrLBv9ZDg9Yzw54x2vYCM9Y','x2LKzw1uveW','x3zHBgLKyxrLugf0DgvYBG','CMy6AwrNzw46','x3bHCNnLtNvTyMvY','x2DLBMvYyxrLrNjVBvbHDhrLCM4','y3PRtNe','x2j1AwXKtwv0yuTLEq','EMnytMS','swrLBxbVDgvUy3KGy2fJAguGseLu','CgfKu3rHCNq','otb2zenVvLq','x3zHBgLKyxrLvfrm','zM9YBwf0','Bwf0y2G','surhru5FuKvtrvrFtK9ux0fmte9xruq','lwrPz2L0ignHCgfJAxr5icG','tKviuey','D2fYBG','zw52','AwrNzw5FCMvZzxj2yxrPB25Fy2fUy2vSBgvK','ywT0AMy','sw52ywXPzcbMB3jTyxq6ia','y29UC3vTzq','x3L5ExLF','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYWGj2LZuMv1C2vKjYWGj2nYzwf0zwrbDcCSicDLEhbPCMvZqxqNkqPYzwrPCY5JywXSkcDeruWNlcblrvLtwZfDkqPYzwrPCY5JywXSkcDAuKvnjYWGs0vzu1SYxsWGqvjhvLSXxsKkCMv0DxjUihSGmsWGAfSXxsWGAfSYxsWGAfSZxsWGAfS0xsWGAfS1xsWGAfS2xsb9cG','svvcruq','zw50CMLLCW','s2LwugC','thPeCey','surhru5Fq09vtLrfuL9uveXFrefjtfK','AhnLDa','otK5os05otK5','CgfYC2u','lcaR','suqGr2vUzxjHDg9YihjLC2vYDMuGAwrLBsbYywnLigXVC3qSihjLDhvYBMLUzYb3Aw5UzxiGzw52zwXVCgu','BNDtuvO','CMvZB3vYy2u','surhru5Fvu5juvvfx1jfvfjzx0vysefvu1rfra','rwz1yuK','mdeYmZq1nJC4oq','BgvUz3rO','tu1yveu','zxHWAxjL','A0fQrvi','zgvMyxvSDe1HEfjLDhj5','u0HxBfq','Aw5MBW','u0jYCfu','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKihrLEhqGzM9YBwf0icHNB3q6ia','CMvZzxj2zurLzMf1BhruveW','ywXS','x2j1AwXKrM9YBwf0s2v5','x3n0B3jLswrLBunHy2HL','ANLpre0','x2j1AwXKu2vXs2v5','Dhj1zq','surhru5FreLtqujmruq','uLbku1u','zLfjB1m','s2rIq0y','AwrNzw5FBNvTyMvYx3jLBgvHC2vK','rgncz3C','z2v0sw5MBW','DhrStxm','surhru5Fsu5wquXjrf9srvnfuLzfx1ruta','CMfUzg9T','x2rLzMf1BhrnyxHszxrYEq','suqGr2vUzxjHDg9YihjLC2v0oIa','Bwv0yq','AwrNzw5FAwrLBv9ZDg9Yzv9LCNjVCG','C2vX','ywXSB3DszxnLDa','CMvSzwfZzu51BwjLCG','thzgCMC','igrPz2L0CYaOz290oIa','x3zHBgLKyxrLuMvZzxj2zvruta','DMfSDwu','sw52ywXPzcbWyxr0zxjUoIbTDxn0igjLihn0CMLUzYaXlq','z2v0uMvZzxj2yxrPB24','zgvMyxvSDfbPBKrPz2L0CW'];a0_0x2c44=function(){return _0x3cae0f;};return a0_0x2c44();}(function(_0x1782c3,_0x4bd9f5){const _0x353e76=a0_0x2172,_0x5975e5=_0x1782c3();while(!![]){try{const _0x236c61=parseInt(_0x353e76(0xa0))/0x1*(parseInt(_0x353e76(0x8d))/0x2)+-parseInt(_0x353e76(0x16e))/0x3*(parseInt(_0x353e76(0x14e))/0x4)+-parseInt(_0x353e76(0x12b))/0x5+parseInt(_0x353e76(0x8c))/0x6*(parseInt(_0x353e76(0x87))/0x7)+-parseInt(_0x353e76(0x183))/0x8*(parseInt(_0x353e76(0xc4))/0x9)+parseInt(_0x353e76(0x149))/0xa+-parseInt(_0x353e76(0x97))/0xb*(-parseInt(_0x353e76(0x157))/0xc);if(_0x236c61===_0x4bd9f5)break;else _0x5975e5['push'](_0x5975e5['shift']());}catch(_0x20d1a0){_0x5975e5['push'](_0x5975e5['shift']());}}}(a0_0x2c44,0xaec31));const crypto=require('crypto'),redisClient=require('./redis-client'),{logger}=require('./logger'),idempotencyManager=require('./idempotency-manager'),ALLOWED_FORMATS=new Set(['text','yyyy',a0_0x26f5ee(0x78),'yyyymmdd']),RESOURCE_REGEX=/^[A-Za-z0-9_-]{1,64}$/,PREFIX_REGEX=/^[A-Za-z0-9_-]{0,32}$/,SEPARATOR_FORBIDDEN=/:/,MAX_NUM_DIGITS=0xc,MIN_NUM_DIGITS=0x1,MAX_PIN_DIGITS=0xc,MIN_PIN_DIGITS=0x4,MAX_PATTERN_LENGTH=0x100,MAX_TTL=0x278d00,MAX_RETRY_LIMIT=0x64,MAX_IDEMPOTENCY_KEY_LENGTH=0x80,RESERVATION_TOKEN_REGEX=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,MIN_RESERVE_TTL=0xa,MAX_RESERVE_TTL=0x15180,DEFAULT_RESERVE_TTL=0x258,RESERVE_REAP_BATCH=0x40,CHARSET_DIGIT=a0_0x26f5ee(0xe1),CHARSET_UPPER='ABCDEFGHIJKLMNOPQRSTUVWXYZ',CHARSET_LOWER=a0_0x26f5ee(0x85),CHARSET_LETTERS=CHARSET_UPPER+CHARSET_LOWER,CHARSET_UPPER_ALNUM=CHARSET_UPPER+CHARSET_DIGIT,CHARSET_MIXED_ALNUM=CHARSET_UPPER+CHARSET_LOWER+CHARSET_DIGIT,CHARSET_HEX_UPPER=a0_0x26f5ee(0x166),CHARSET_HEX_LOWER='0123456789abcdef',PLACEHOLDER_MAP={'9':CHARSET_DIGIT,'N':CHARSET_DIGIT,'A':CHARSET_UPPER,'a':CHARSET_LOWER,'L':CHARSET_LETTERS,'X':CHARSET_UPPER_ALNUM,'x':CHARSET_MIXED_ALNUM,'H':CHARSET_HEX_UPPER,'h':CHARSET_HEX_LOWER},LUA_GENERATE_NUMBER='\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20reused\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#reused\x20>\x200\x20then\x0a\x20\x20\x20\x20return\x20{tonumber(reused[1]),\x201}\x0a\x20\x20end\x0aend\x0alocal\x20n\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0alocal\x20ttl\x20=\x20tonumber(ARGV[2])\x0aif\x20ttl\x20>\x200\x20and\x20n\x20==\x201\x20then\x0a\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20ttl)\x0aend\x0areturn\x20{n,\x200}\x0a',LUA_RELEASE_NUMBER='\x0aredis.call(\x27ZADD\x27,\x20KEYS[1],\x20ARGV[1],\x20ARGV[1])\x0alocal\x20ttl\x20=\x20tonumber(ARGV[2])\x0aif\x20ttl\x20>\x200\x20then\x0a\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20ttl)\x0aend\x0areturn\x201\x0a',LUA_RESERVE_NUMBER='\x0alocal\x20unpk\x20=\x20unpack\x20or\x20table.unpack\x0a\x0a--\x20Step\x201:\x20lazy\x20reap\x20expired\x20reservations\x20(cap\x20RESERVE_REAP_BATCH)\x0alocal\x20reaped\x20=\x200\x0alocal\x20nowMs\x20=\x20ARGV[7]\x0alocal\x20rsvPrefix\x20=\x20ARGV[8]\x0alocal\x20expired\x20=\x20redis.call(\x27ZRANGEBYSCORE\x27,\x20KEYS[3],\x20\x27-inf\x27,\x20\x27(\x27\x20..\x20nowMs,\x20\x27LIMIT\x27,\x200,\x2064)\x0afor\x20i\x20=\x201,\x20#expired\x20do\x0a\x20\x20local\x20expToken\x20=\x20expired[i]\x0a\x20\x20local\x20expRsvKey\x20=\x20rsvPrefix\x20..\x20expToken\x0a\x20\x20local\x20expCounter\x20=\x20redis.call(\x27HGET\x27,\x20expRsvKey,\x20\x27counter\x27)\x0a\x20\x20if\x20expCounter\x20then\x0a\x20\x20\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[2],\x20expCounter,\x20expCounter)\x0a\x20\x20end\x0a\x20\x20redis.call(\x27DEL\x27,\x20expRsvKey)\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[3],\x20expToken)\x0a\x20\x20reaped\x20=\x20reaped\x20+\x201\x0aend\x0a\x0a--\x20Step\x202:\x20allocate\x20counter\x20(ZPOPMIN\x20reuse\x20atau\x20INCR\x20seq)\x0alocal\x20counterInt\x0alocal\x20isReused\x20=\x200\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20r\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#r\x20>\x200\x20then\x0a\x20\x20\x20\x20counterInt\x20=\x20tonumber(r[1])\x0a\x20\x20\x20\x20isReused\x20=\x201\x0a\x20\x20end\x0aend\x0aif\x20not\x20counterInt\x20then\x0a\x20\x20counterInt\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0a\x20\x20local\x20cttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20cttl\x20>\x200\x20and\x20counterInt\x20==\x201\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20cttl)\x0a\x20\x20end\x0aend\x0a\x0a--\x20Step\x203:\x20write\x20reservation\x20hash\x20+\x20index\x20+\x20TTL\x0alocal\x20rsvKey\x20=\x20ARGV[4]\x0alocal\x20rsvTtlMs\x20=\x20tonumber(ARGV[5])\x0alocal\x20expiresAtMs\x20=\x20tonumber(ARGV[6])\x0alocal\x20nargs\x20=\x20#ARGV\x0alocal\x20fields\x20=\x20{}\x0afor\x20i\x20=\x209,\x20nargs\x20do\x0a\x20\x20fields[#fields\x20+\x201]\x20=\x20ARGV[i]\x0aend\x0aredis.call(\x27HSET\x27,\x20rsvKey,\x20\x27counter\x27,\x20counterInt,\x20\x27isReused\x27,\x20isReused,\x20unpk(fields))\x0aredis.call(\x27PEXPIRE\x27,\x20rsvKey,\x20rsvTtlMs)\x0aredis.call(\x27ZADD\x27,\x20KEYS[3],\x20expiresAtMs,\x20ARGV[3])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20math.floor(rsvTtlMs\x20/\x201000)\x20+\x2060)\x0a\x0areturn\x20{\x20counterInt,\x20isReused,\x20reaped\x20}\x0a',LUA_CONFIRM_RESERVATION=a0_0x26f5ee(0xd2),LUA_CANCEL_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27)\x0alocal\x20counter\x20=\x20h[1]\x0aif\x20counter\x20then\x0a\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[3],\x20counter,\x20counter)\x0a\x20\x20local\x20ttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20ttl\x20>\x200\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20ttl)\x0a\x20\x20end\x0aend\x0aredis.call(\x27DEL\x27,\x20KEYS[1])\x0aredis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0areturn\x20{\x201,\x20counter,\x20h[2],\x20h[3]\x20}\x0a',LUA_EXTEND_RESERVATION=a0_0x26f5ee(0x189);function a0_0x2172(_0x4f35b5,_0x516752){_0x4f35b5=_0x4f35b5-0x72;const _0x2c44bd=a0_0x2c44();let _0x2172b8=_0x2c44bd[_0x4f35b5];if(a0_0x2172['EmiPhs']===undefined){var _0x1e950a=function(_0x3a9693){const _0x24cbcd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3f71c6='',_0x519703='';for(let _0x5bb543=0x0,_0x1131d4,_0xaf9d73,_0x16a1b2=0x0;_0xaf9d73=_0x3a9693['charAt'](_0x16a1b2++);~_0xaf9d73&&(_0x1131d4=_0x5bb543%0x4?_0x1131d4*0x40+_0xaf9d73:_0xaf9d73,_0x5bb543++%0x4)?_0x3f71c6+=String['fromCharCode'](0xff&_0x1131d4>>(-0x2*_0x5bb543&0x6)):0x0){_0xaf9d73=_0x24cbcd['indexOf'](_0xaf9d73);}for(let _0x14ce57=0x0,_0x4e1b7c=_0x3f71c6['length'];_0x14ce57<_0x4e1b7c;_0x14ce57++){_0x519703+='%'+('00'+_0x3f71c6['charCodeAt'](_0x14ce57)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x519703);};a0_0x2172['kXCMoW']=_0x1e950a,a0_0x2172['OYpeRh']={},a0_0x2172['EmiPhs']=!![];}const _0x39cd48=_0x2c44bd[0x0],_0x55316f=_0x4f35b5+_0x39cd48,_0x5dca8b=a0_0x2172['OYpeRh'][_0x55316f];return!_0x5dca8b?(_0x2172b8=a0_0x2172['kXCMoW'](_0x2172b8),a0_0x2172['OYpeRh'][_0x55316f]=_0x2172b8):_0x2172b8=_0x5dca8b,_0x2172b8;}class IdGeneratorError extends Error{constructor(_0x3d16c1,_0x40d624,_0x20607e=null){const _0x1ad4e4={'fJBTx':function(_0x4eca12,_0x4ab121){return _0x4eca12||_0x4ab121;},'HuCew':'IdGeneratorError'};super(_0x1ad4e4['fJBTx'](_0x40d624,_0x3d16c1)),this['name']=_0x1ad4e4['HuCew'],this['code']=_0x3d16c1,this['details']=_0x20607e;}}class IdGenerator{constructor(){const _0x2a0f3f=a0_0x26f5ee;this['_initialized']=![],this[_0x2a0f3f(0x7b)]=null,this[_0x2a0f3f(0x10b)]=null,this[_0x2a0f3f(0xba)]=null,this['_allowReset']=null,this['_defaultMaxRetry']=null,this['_defaultPinDigits']=null,this['_defaultSerialPattern']=null,this['_defaultCodePattern']=null,this[_0x2a0f3f(0x135)]=null,this[_0x2a0f3f(0x9e)]=null,this[_0x2a0f3f(0x16b)]=null;}['_initConfig'](){const _0x1a2d03=a0_0x26f5ee,_0x584182={'qGLxS':function(_0x8c15de,_0x2fadbd){return _0x8c15de===_0x2fadbd;},'mtysd':_0x1a2d03(0xf2),'vpeiA':function(_0x528310,_0x128687,_0x56256a){return _0x528310(_0x128687,_0x56256a);},'prGQl':_0x1a2d03(0xd9),'uqepw':function(_0x384f9b,_0x434f1d,_0x181a28){return _0x384f9b(_0x434f1d,_0x181a28);}};this[_0x1a2d03(0x10b)]=_0x1a2d03(0xbc),this['_enabled']=_0x584182[_0x1a2d03(0x12c)](process['env']['IDGEN_ENABLED'],_0x584182['mtysd']),this['_idemTTL']=parseInt(process[_0x1a2d03(0xcc)][_0x1a2d03(0x11f)],0xa)||0x258,this[_0x1a2d03(0x137)]=process['env']['IDGEN_ALLOW_RESET']===_0x584182['mtysd'],this[_0x1a2d03(0xfd)]=_0x584182['vpeiA'](parseInt,process['env']['IDGEN_DEFAULT_MAX_RETRY'],0xa)||0xa,this['_defaultPinDigits']=parseInt(process[_0x1a2d03(0xcc)]['IDGEN_DEFAULT_PIN_DIGITS'],0xa)||0x6,this['_defaultSerialPattern']=process[_0x1a2d03(0xcc)]['IDGEN_DEFAULT_SERIAL_PATTERN']||'XXXX-XXXX-XXXX-XXXX',this['_defaultCodePattern']=process[_0x1a2d03(0xcc)]['IDGEN_DEFAULT_CODE_PATTERN']||_0x584182['prGQl'],this['_counterTTLMap']={'yyyymm':_0x584182['uqepw'](parseInt,process['env']['IDGEN_COUNTER_TTL_MONTHLY'],0xa)||0x2a3000,'yyyymmdd':parseInt(process[_0x1a2d03(0xcc)][_0x1a2d03(0xd7)],0xa)||0x2a300},this[_0x1a2d03(0x9e)]=parseInt(process[_0x1a2d03(0xcc)][_0x1a2d03(0x16a)],0xa)||DEFAULT_RESERVE_TTL,this['_reserveMaxTTL']=parseInt(process[_0x1a2d03(0xcc)]['IDGEN_RESERVE_MAX_TTL'],0xa)||MAX_RESERVE_TTL,this[_0x1a2d03(0xb5)]=!![],logger['info']({'event':'idgen_config_init','enabled':this[_0x1a2d03(0x7b)],'idemTTL':this[_0x1a2d03(0xba)],'allowReset':this['_allowReset'],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this['_defaultPinDigits'],'reserveDefaultTTL':this[_0x1a2d03(0x9e)],'reserveMaxTTL':this[_0x1a2d03(0x16b)]},_0x1a2d03(0x167)+this[_0x1a2d03(0x7b)]);}['_ensureInitialized'](){const _0x46edc0=a0_0x26f5ee;if(!this[_0x46edc0(0xb5)])this['_initConfig']();}get[a0_0x26f5ee(0x147)](){const _0x356758=a0_0x26f5ee;return this[_0x356758(0x116)](),this[_0x356758(0x7b)];}get['keyPrefix'](){return this['_ensureInitialized'](),this['_keyPrefix'];}get[a0_0x26f5ee(0x162)](){const _0x19b287=a0_0x26f5ee;return this[_0x19b287(0x116)](),this['_idemTTL'];}get[a0_0x26f5ee(0x102)](){const _0x560a1b=a0_0x26f5ee;return this[_0x560a1b(0x116)](),this['_allowReset'];}get[a0_0x26f5ee(0xe6)](){const _0x2432fd=a0_0x26f5ee;return this[_0x2432fd(0x116)](),this[_0x2432fd(0xfd)];}get['defaultPinDigits'](){const _0x548e26=a0_0x26f5ee;return this[_0x548e26(0x116)](),this[_0x548e26(0x163)];}get[a0_0x26f5ee(0x10d)](){const _0x4736b4=a0_0x26f5ee;return this[_0x4736b4(0x116)](),this[_0x4736b4(0x9a)];}get[a0_0x26f5ee(0x12a)](){return this['_ensureInitialized'](),this['_defaultCodePattern'];}get[a0_0x26f5ee(0xec)](){const _0x508c92=a0_0x26f5ee;return this[_0x508c92(0x116)](),this[_0x508c92(0x9e)];}get['reserveMaxTTL'](){const _0x2cd9d5=a0_0x26f5ee;return this[_0x2cd9d5(0x116)](),this['_reserveMaxTTL'];}['isEnabled'](){return this['enabled'];}[a0_0x26f5ee(0x160)](_0x165e26){const _0x4c1275=a0_0x26f5ee;if(typeof _0x165e26!=='string'||!RESOURCE_REGEX['test'](_0x165e26))throw new IdGeneratorError('IDGEN_INVALID_RESOURCE','Invalid\x20resource:\x20must\x20match\x20'+RESOURCE_REGEX+'\x20(got:\x20'+JSON[_0x4c1275(0x95)](_0x165e26)+')');}['_validateNumberParams'](_0x203a4a){const _0x2447a8=a0_0x26f5ee,_0x1c8751={'rLvfG':function(_0x1ba610,_0x3a7c2f){return _0x1ba610===_0x3a7c2f;},'msHNO':'IDGEN_INVALID_FORMAT','khzpg':function(_0x1ada24,_0x3500db){return _0x1ada24>_0x3500db;},'GBwNc':function(_0x54b839,_0xa39abe){return _0x54b839==_0xa39abe;},'jyODM':function(_0x5d75b7,_0x1a9c75){return _0x5d75b7!==_0x1a9c75;},'wJzKt':function(_0x823897,_0x25166d){return _0x823897!==_0x25166d;},'LWTJT':_0x2447a8(0x88),'tPSQO':function(_0x31b24f,_0x41a0dc){return _0x31b24f!=_0x41a0dc;},'DjcEO':_0x2447a8(0x184)},{resource:_0x56f2ad,format:_0x464670,prefix:_0x547b19,separator:_0x3f52d0,numDigits:_0xa0a0df,reuseDelete:_0x4ca230}=_0x203a4a;this['_validateResource'](_0x56f2ad);const _0x14f9c1=_0x1c8751[_0x2447a8(0x14d)](typeof _0x464670,_0x2447a8(0x88))?_0x464670['toLowerCase']():'';if(!ALLOWED_FORMATS['has'](_0x14f9c1))throw new IdGeneratorError(_0x1c8751['msHNO'],'Invalid\x20format:\x20must\x20be\x20one\x20of\x20'+[...ALLOWED_FORMATS]['join'](',\x20')+'\x20(got:\x20'+_0x464670+')');if(!Number['isInteger'](_0xa0a0df)||_0xa0a0df<MIN_NUM_DIGITS||_0x1c8751['khzpg'](_0xa0a0df,MAX_NUM_DIGITS))throw new IdGeneratorError(_0x2447a8(0x176),'Invalid\x20numDigits:\x20must\x20be\x20integer\x20'+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+'\x20(got:\x20'+_0xa0a0df+')');const _0x49e66d=_0x1c8751['GBwNc'](_0x547b19,null)?'':_0x547b19;if(_0x1c8751[_0x2447a8(0xf0)](typeof _0x49e66d,_0x2447a8(0x88))||!PREFIX_REGEX[_0x2447a8(0x77)](_0x49e66d))throw new IdGeneratorError(_0x2447a8(0x74),'Invalid\x20prefix:\x20must\x20match\x20'+PREFIX_REGEX+'\x20(got:\x20'+JSON[_0x2447a8(0x95)](_0x547b19)+')');const _0x136ac5=_0x3f52d0==null?'':_0x3f52d0;if(_0x1c8751['wJzKt'](typeof _0x136ac5,_0x1c8751[_0x2447a8(0xb4)])||_0x136ac5[_0x2447a8(0xe2)]>0x3||SEPARATOR_FORBIDDEN[_0x2447a8(0x77)](_0x136ac5))throw new IdGeneratorError('IDGEN_INVALID_SEPARATOR','Invalid\x20separator:\x20max\x203\x20char,\x20must\x20not\x20contain\x20\x27:\x27\x20(got:\x20'+JSON[_0x2447a8(0x95)](_0x3f52d0)+')');if(_0x1c8751[_0x2447a8(0x144)](_0x4ca230,null)&&_0x1c8751[_0x2447a8(0xf0)](typeof _0x4ca230,_0x1c8751['DjcEO']))throw new IdGeneratorError('IDGEN_INVALID_RESOURCE',_0x2447a8(0x173)+typeof _0x4ca230+')');return{'resource':_0x56f2ad,'format':_0x14f9c1,'prefix':_0x49e66d,'separator':_0x136ac5,'numDigits':_0xa0a0df,'reuseDelete':_0x1c8751['rLvfG'](_0x4ca230,!![])};}['_validatePattern'](_0x158d3a){const _0x48f657=a0_0x26f5ee,_0x5c9eb0={'KiVPg':function(_0x486d91,_0x12a4f1){return _0x486d91!==_0x12a4f1;},'ShuwK':function(_0x48fc09,_0x518356){return _0x48fc09===_0x518356;},'QzlSc':_0x48f657(0x133)};if(_0x5c9eb0[_0x48f657(0xd5)](typeof _0x158d3a,'string')||_0x5c9eb0[_0x48f657(0x84)](_0x158d3a[_0x48f657(0xe2)],0x0)||_0x158d3a[_0x48f657(0xe2)]>MAX_PATTERN_LENGTH)throw new IdGeneratorError(_0x5c9eb0[_0x48f657(0xb6)],_0x48f657(0x108)+MAX_PATTERN_LENGTH+_0x48f657(0x96)+(_0x158d3a&&_0x158d3a[_0x48f657(0xe2)])+')');let _0x4cb171=![];for(const _0x2d5650 of _0x158d3a){if(PLACEHOLDER_MAP[_0x2d5650]){_0x4cb171=!![];break;}}if(!_0x4cb171)throw new IdGeneratorError(_0x5c9eb0['QzlSc'],_0x48f657(0x17c));}[a0_0x26f5ee(0xc5)](_0x53dda4){const _0x427b10=a0_0x26f5ee,_0x247502={'kwdPz':function(_0xcd73d9,_0x5bfca9){return _0xcd73d9==_0x5bfca9;},'FOYNl':function(_0x53e325,_0x559d0c){return _0x53e325<_0x559d0c;},'UTpOq':function(_0x5323cd,_0x2de0af){return _0x5323cd>_0x2de0af;},'RznEe':'IDGEN_INVALID_TTL'};if(_0x247502['kwdPz'](_0x53dda4,null))return undefined;if(!Number[_0x427b10(0x17f)](_0x53dda4)||_0x247502[_0x427b10(0x16c)](_0x53dda4,0x1)||_0x247502['UTpOq'](_0x53dda4,MAX_TTL))throw new IdGeneratorError(_0x247502['RznEe'],_0x427b10(0xa8)+MAX_TTL+'\x20seconds\x20(got:\x20'+_0x53dda4+')');return _0x53dda4;}[a0_0x26f5ee(0x170)](_0x5e433c){const _0x586a5b=a0_0x26f5ee,_0x2320d9={'gHrUz':function(_0x26290a,_0x4a5848){return _0x26290a<_0x4a5848;},'IjAkx':function(_0x2606dd,_0x55f6a8){return _0x2606dd>_0x55f6a8;},'NVysA':'IDGEN_INVALID_MAX_RETRY'};if(_0x5e433c==null)return this[_0x586a5b(0xe6)];if(!Number['isInteger'](_0x5e433c)||_0x2320d9[_0x586a5b(0x13d)](_0x5e433c,0x1)||_0x2320d9[_0x586a5b(0x156)](_0x5e433c,MAX_RETRY_LIMIT))throw new IdGeneratorError(_0x2320d9['NVysA'],'Invalid\x20maxRetry:\x20must\x20be\x20integer\x201-'+MAX_RETRY_LIMIT+'\x20(got:\x20'+_0x5e433c+')');return _0x5e433c;}['_validateIdempotencyKey'](_0x11e0a9){const _0x514d60=a0_0x26f5ee,_0x571792={'pqMPl':function(_0xdcdf50,_0x2cff8b){return _0xdcdf50==_0x2cff8b;},'SBrpU':function(_0x3a677e,_0x4ea3ee){return _0x3a677e!==_0x4ea3ee;},'nwSQZ':function(_0x19b8a1,_0x2396b1){return _0x19b8a1>_0x2396b1;},'jGwTw':'IDGEN_INVALID_RESOURCE'};if(_0x571792['pqMPl'](_0x11e0a9,null))return undefined;if(_0x571792[_0x514d60(0xe9)](typeof _0x11e0a9,_0x514d60(0x88))||_0x11e0a9['length']===0x0||_0x571792[_0x514d60(0xdd)](_0x11e0a9[_0x514d60(0xe2)],MAX_IDEMPOTENCY_KEY_LENGTH))throw new IdGeneratorError(_0x571792[_0x514d60(0x130)],'Invalid\x20idempotencyKey:\x20must\x20be\x20string\x201-'+MAX_IDEMPOTENCY_KEY_LENGTH+'\x20chars');return _0x11e0a9;}['_validateReserveTTL'](_0x33d48b){const _0x55bae5=a0_0x26f5ee,_0x465017={'lVGuZ':function(_0x44d469,_0xfe881a){return _0x44d469>_0xfe881a;}};if(_0x33d48b==null)return this[_0x55bae5(0xec)];if(!Number['isInteger'](_0x33d48b)||_0x33d48b<MIN_RESERVE_TTL||_0x465017['lVGuZ'](_0x33d48b,this['reserveMaxTTL']))throw new IdGeneratorError(_0x55bae5(0xfb),_0x55bae5(0x121)+MIN_RESERVE_TTL+'-'+this['reserveMaxTTL']+'\x20seconds\x20(got:\x20'+_0x33d48b+')');return _0x33d48b;}[a0_0x26f5ee(0x17a)](_0x264129){const _0x1d82aa=a0_0x26f5ee,_0xe8aedf={'jFaeq':'string','NEHPF':_0x1d82aa(0x112)};if(typeof _0x264129!==_0xe8aedf[_0x1d82aa(0x152)]||!RESERVATION_TOKEN_REGEX[_0x1d82aa(0x77)](_0x264129))throw new IdGeneratorError(_0xe8aedf[_0x1d82aa(0xca)],_0x1d82aa(0xa9)+JSON['stringify'](_0x264129)+')');return _0x264129;}['_pad2'](_0x529f32){const _0x5e0f37={'dwReD':function(_0x5cfbff,_0x36e8d){return _0x5cfbff(_0x36e8d);}};return _0x5e0f37['dwReD'](String,_0x529f32)['padStart'](0x2,'0');}['_buildFormatKey'](_0x1b2b11,_0x1633a9,_0xc69901=new Date()){const _0x4ab753=a0_0x26f5ee,_0x3f6958={'fKspt':function(_0x2bab28,_0xb7e870){return _0x2bab28+_0xb7e870;},'SHWlT':_0x4ab753(0x12e),'tdMaK':_0x4ab753(0xa4),'ByXMs':_0x4ab753(0x155)},_0x5d2056=_0xc69901['getFullYear'](),_0x19c89a=this['_pad2'](_0x3f6958[_0x4ab753(0x159)](_0xc69901['getMonth'](),0x1)),_0x369337=this[_0x4ab753(0x174)](_0xc69901[_0x4ab753(0x7c)]()),_0xc49f5d=_0x1633a9||'_';let _0x2b334c,_0x1ddacf='';switch(_0x1b2b11){case _0x3f6958[_0x4ab753(0xe7)]:_0x2b334c=_0xc49f5d+'_text';break;case _0x3f6958['tdMaK']:_0x1ddacf=''+_0x5d2056,_0x2b334c=_0xc49f5d+_0x4ab753(0xd1)+_0x1ddacf;break;case _0x4ab753(0x78):_0x1ddacf=''+_0x5d2056+_0x19c89a,_0x2b334c=_0xc49f5d+'_yyyymm_'+_0x1ddacf;break;case _0x3f6958[_0x4ab753(0x92)]:_0x1ddacf=''+_0x5d2056+_0x19c89a+_0x369337,_0x2b334c=_0xc49f5d+'_yyyymmdd_'+_0x1ddacf;break;default:throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0x4ab753(0x18a)+_0x1b2b11);}return{'formatKey':_0x2b334c,'datePrefix':_0x1ddacf};}[a0_0x26f5ee(0xf1)](_0x584378,_0x45706d){const _0x43ce54=a0_0x26f5ee;return this['keyPrefix']+_0x43ce54(0x150)+_0x584378+':'+_0x45706d;}[a0_0x26f5ee(0x129)](_0xdea8d5,_0x4a003e){return this['keyPrefix']+'reuse:'+_0xdea8d5+':'+_0x4a003e;}['_buildMetaKey'](_0x4fff8e,_0x5bb4bb){const _0x2e8bcc=a0_0x26f5ee;return this[_0x2e8bcc(0x140)]+'meta:'+_0x4fff8e+':'+_0x5bb4bb;}['_buildIssuedKey'](_0x418fc5){const _0x1ca6ca=a0_0x26f5ee;return this['keyPrefix']+_0x1ca6ca(0xae)+_0x418fc5;}[a0_0x26f5ee(0x168)](_0x410121,_0x3a895a){const _0x3af31a=a0_0x26f5ee;return this[_0x3af31a(0x140)]+'active:'+_0x410121+':'+_0x3a895a;}[a0_0x26f5ee(0x7f)](_0x2598a5){const _0x456cf5=a0_0x26f5ee;return this[_0x456cf5(0x140)]+'rsv:'+_0x2598a5;}[a0_0x26f5ee(0x148)](_0x5f4040,_0x186dbc){return this['keyPrefix']+'rsv_idx:'+_0x5f4040+':'+_0x186dbc;}['_buildReservationKeyPrefix'](){return this['keyPrefix']+'rsv:';}['_buildIdemKey'](_0x5b2bd1,_0x7dea16,_0xa887b3,_0x221633){if(_0xa887b3)return idempotencyManager['buildDeterministicKey']('idgen',_0x5b2bd1,_0x7dea16+':'+_0xa887b3+':'+_0x221633);return idempotencyManager['buildDeterministicKey']('idgen',_0x5b2bd1,_0x7dea16+':'+_0x221633);}[a0_0x26f5ee(0x17e)](_0x2921cb){return this['_counterTTLMap'][_0x2921cb]||0x0;}['_formatNumber']({format:_0x88b8b8,prefix:_0x32dd44,datePrefix:_0x571f6a,separator:_0x2f4a24,numDigits:_0x1fb8aa,counterInt:_0x22b498}){const _0x18d6bd=a0_0x26f5ee,_0x3cc46a={'GonpK':'IDGEN_COUNTER_OVERFLOW','UApKg':function(_0x22f3a1,_0x18ea0a){return _0x22f3a1(_0x18ea0a);},'ckzdF':'text'},_0x1df616=Math['pow'](0xa,_0x1fb8aa)-0x1;if(_0x22b498>_0x1df616)throw new IdGeneratorError(_0x3cc46a['GonpK'],'Counter\x20overflow:\x20'+_0x22b498+'\x20exceeds\x20'+_0x1fb8aa+_0x18d6bd(0xc9)+_0x1df616+_0x18d6bd(0x12d),{'counterInt':_0x22b498,'numDigits':_0x1fb8aa,'max':_0x1df616});const _0x46b245=_0x3cc46a['UApKg'](String,_0x22b498)[_0x18d6bd(0xc3)](_0x1fb8aa,'0');if(_0x88b8b8===_0x3cc46a['ckzdF'])return _0x32dd44?''+_0x32dd44+_0x2f4a24+_0x46b245:_0x46b245;return _0x32dd44?''+_0x32dd44+_0x2f4a24+_0x571f6a+_0x2f4a24+_0x46b245:''+_0x571f6a+_0x2f4a24+_0x46b245;}[a0_0x26f5ee(0xbd)]({format:_0x29573f,prefix:_0x1d7c87,separator:_0xb4cdf2,numDigits:_0x22da6a,number:_0x42227b}){const _0x250d09=a0_0x26f5ee,_0x4bb9a6={'sRpFq':_0x250d09(0x88),'tehqV':function(_0x1aa548,_0x5ba1cb){return _0x1aa548===_0x5ba1cb;},'QHfcD':_0x250d09(0x12f),'IUBED':function(_0x34ce93,_0x38d40e){return _0x34ce93!==_0x38d40e;},'LzDpF':function(_0x12e74d,_0xc615cd){return _0x12e74d===_0xc615cd;},'nnRhd':_0x250d09(0x78),'jsoNT':function(_0xebd8ab,_0x4986a0){return _0xebd8ab||_0x4986a0;},'lcfyY':'text'};if(typeof _0x42227b!==_0x4bb9a6['sRpFq']||_0x4bb9a6['tehqV'](_0x42227b[_0x250d09(0xe2)],0x0))throw new IdGeneratorError(_0x4bb9a6[_0x250d09(0x123)],_0x250d09(0x14a));const _0x57d8a4=_0xb4cdf2||'',_0x1aa152=_0x57d8a4===''?[_0x42227b]:_0x42227b['split'](_0x57d8a4);let _0x4e691e='',_0x4ef728;if(_0x29573f===_0x250d09(0x12e)){if(_0x1d7c87){if(_0x1aa152[_0x250d09(0xe2)]!==0x2||_0x1aa152[0x0]!==_0x1d7c87)throw new IdGeneratorError(_0x250d09(0x12f),'Number\x20does\x20not\x20match\x20expected\x20format\x20prefix'+_0x57d8a4+'padded\x20(got:\x20'+_0x42227b+')');_0x4ef728=_0x1aa152[0x1];}else{if(_0x4bb9a6[_0x250d09(0xd3)](_0x1aa152['length'],0x1))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x250d09(0xeb)+_0x42227b+')');_0x4ef728=_0x1aa152[0x0];}}else{const _0x4f83a7=_0x1d7c87?0x3:0x2;if(_0x4bb9a6['IUBED'](_0x1aa152['length'],_0x4f83a7))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x250d09(0x86)+_0x42227b+_0x250d09(0x187)+_0x4f83a7+'\x20parts)');let _0x269f92=0x0;if(_0x1d7c87){if(_0x4bb9a6[_0x250d09(0xd3)](_0x1aa152[_0x269f92],_0x1d7c87))throw new IdGeneratorError(_0x4bb9a6[_0x250d09(0x123)],'Number\x20prefix\x20mismatch:\x20expected\x20'+_0x1d7c87+_0x250d09(0x124)+_0x1aa152[_0x269f92]);_0x269f92++;}_0x4e691e=_0x1aa152[_0x269f92++];const _0x3fc588=_0x4bb9a6[_0x250d09(0xd6)](_0x29573f,_0x250d09(0xa4))?/^\d{4}$/:_0x29573f===_0x4bb9a6[_0x250d09(0x11b)]?/^\d{6}$/:/^\d{8}$/;if(!_0x3fc588['test'](_0x4e691e))throw new IdGeneratorError(_0x250d09(0x12f),'Number\x20datePrefix\x20invalid\x20for\x20format\x20'+_0x29573f+':\x20'+_0x4e691e);_0x4ef728=_0x1aa152[_0x269f92];}if(!new RegExp('^\x5cd{'+_0x22da6a+'}$')[_0x250d09(0x77)](_0x4ef728))throw new IdGeneratorError(_0x4bb9a6[_0x250d09(0x123)],_0x250d09(0xa3)+_0x22da6a+_0x250d09(0x105)+_0x4ef728+')');const _0x20cf7d=parseInt(_0x4ef728,0xa),_0x2b184e=_0x4bb9a6[_0x250d09(0x8e)](_0x1d7c87,'_');let _0x524fcd;return _0x29573f===_0x4bb9a6[_0x250d09(0x113)]?_0x524fcd=_0x2b184e+'_text':_0x524fcd=_0x2b184e+'_'+_0x29573f+'_'+_0x4e691e,{'formatKey':_0x524fcd,'counterInt':_0x20cf7d,'datePrefix':_0x4e691e};}[a0_0x26f5ee(0xbe)](_0x49cbc1){const _0x487145=a0_0x26f5ee;let _0x5b1ccc='';for(const _0x274d79 of _0x49cbc1){const _0x32918e=PLACEHOLDER_MAP[_0x274d79];if(_0x32918e){const _0x3a5765=crypto[_0x487145(0x94)](0x0,_0x32918e[_0x487145(0xe2)]);_0x5b1ccc+=_0x32918e[_0x3a5765];}else _0x5b1ccc+=_0x274d79;}return _0x5b1ccc;}async[a0_0x26f5ee(0x98)](_0x37c31a){const _0x2ca3c9=a0_0x26f5ee,_0x415191={'DHLAn':'idgen_idem_retrieve_error','YcVsm':_0x2ca3c9(0x16d)};if(!_0x37c31a)return null;try{const _0x53e3b8=redisClient['getClient'](),_0x25cf1a=await _0x53e3b8['get'](_0x37c31a);if(_0x25cf1a)return logger[_0x2ca3c9(0xe8)]({'event':_0x2ca3c9(0x15e),'key':_0x37c31a},_0x2ca3c9(0xc2)),JSON[_0x2ca3c9(0xda)](_0x25cf1a);return null;}catch(_0x221181){return logger[_0x2ca3c9(0xcb)]({'event':_0x415191['DHLAn'],'error':_0x221181['message']},_0x415191[_0x2ca3c9(0x18b)]),null;}}async['_storeIdemCache'](_0xbb42ad,_0x176f3c){const _0x257d15=a0_0x26f5ee,_0x3d948c={'MMXTE':'Idempotency\x20store\x20error'};if(!_0xbb42ad)return;try{const _0x4b01bc=redisClient['getClient']();await _0x4b01bc['setex'](_0xbb42ad,this[_0x257d15(0x162)],JSON[_0x257d15(0x95)](_0x176f3c));}catch(_0x27dc1a){logger['warn']({'event':_0x257d15(0x100),'error':_0x27dc1a['message']},_0x3d948c[_0x257d15(0xe3)]);}}async['_storeIdemCacheNX'](_0x24876e,_0x2dac54){const _0x967b76=a0_0x26f5ee,_0x4b7717={'LiOel':function(_0x14a4d0,_0x1c6820){return _0x14a4d0===_0x1c6820;},'wXnbl':_0x967b76(0x110),'PtpwA':_0x967b76(0xb9),'husTC':'Idempotency\x20SET\x20NX\x20error'};if(!_0x24876e)return{'stored':!![],'winnerResult':null};try{const _0x4b2e56=redisClient[_0x967b76(0x158)](),_0x4be4cb=JSON['stringify'](_0x2dac54),_0x3c2eea=await _0x4b2e56['set'](_0x24876e,_0x4be4cb,'EX',this[_0x967b76(0x162)],'NX');if(_0x4b7717[_0x967b76(0x16f)](_0x3c2eea,'OK'))return{'stored':!![],'winnerResult':null};const _0x12cbcd=await _0x4b2e56['get'](_0x24876e);if(_0x12cbcd)return{'stored':![],'winnerResult':JSON[_0x967b76(0xda)](_0x12cbcd)};return logger['warn']({'event':_0x967b76(0xac),'key':_0x24876e},_0x4b7717[_0x967b76(0x172)]),{'stored':!![],'winnerResult':null};}catch(_0xd24319){return logger['warn']({'event':_0x4b7717['PtpwA'],'error':_0xd24319['message']},_0x4b7717[_0x967b76(0x131)]),{'stored':!![],'winnerResult':null};}}async[a0_0x26f5ee(0x79)](_0x3663e0,_0x1bf432,_0x5ef796){const _0x48acd0=a0_0x26f5ee,_0x4ef7cc={'BfWDN':_0x48acd0(0x171),'uheGR':'Random\x20reservation\x20undo\x20error\x20(orphan\x20slot\x20may\x20remain)'};try{const _0x7a00d9=redisClient[_0x48acd0(0x158)]();if(_0x5ef796){const _0x36b213=this[_0x48acd0(0x168)](_0x3663e0,_0x1bf432);await _0x7a00d9['del'](_0x36b213);}else{const _0x37c64c=this['_buildIssuedKey'](_0x3663e0);await _0x7a00d9['srem'](_0x37c64c,_0x1bf432);}}catch(_0x477c15){logger['warn']({'event':_0x4ef7cc['BfWDN'],'error':_0x477c15['message']},_0x4ef7cc['uheGR']);}}async[a0_0x26f5ee(0x117)](_0x1a392a,_0x50e26b,_0x26d3f5,_0x5b8b82=0x0){const _0xe1d382=a0_0x26f5ee,_0x379253={'fQOsB':function(_0x15584d,_0x1f4948){return _0x15584d(_0x1f4948);},'DLcZy':_0xe1d382(0x14b)};try{const _0x348e7a=redisClient[_0xe1d382(0x158)](),_0x199ba8=this[_0xe1d382(0xc0)](_0x1a392a,_0x50e26b),_0x1ccf15=[];for(const [_0x5c844d,_0x520277]of Object[_0xe1d382(0xd4)](_0x26d3f5)){_0x1ccf15['push'](_0x5c844d,_0x379253[_0xe1d382(0xa6)](String,_0x520277));}if(_0x1ccf15[_0xe1d382(0xe2)]>0x0){await _0x348e7a['hset'](_0x199ba8,..._0x1ccf15);if(_0x5b8b82>0x0)await _0x348e7a[_0xe1d382(0xe4)](_0x199ba8,_0x5b8b82);}}catch(_0x10a127){logger[_0xe1d382(0xcb)]({'event':_0x379253['DLcZy'],'error':_0x10a127['message']},_0xe1d382(0x99));}}async[a0_0x26f5ee(0x142)](_0x59feb3){const _0x31c83d=a0_0x26f5ee,_0x9edba6={'kAjER':_0x31c83d(0xf3),'RGBsb':'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)','mggoR':function(_0x193bbd,_0x36f626){return _0x193bbd(_0x36f626);},'jPQsC':'Failed\x20to\x20release\x20counter\x20for\x20idempotency\x20loser','dAfrc':_0x31c83d(0xb2)};if(!this[_0x31c83d(0x147)])throw new IdGeneratorError(_0x9edba6[_0x31c83d(0xe5)],_0x9edba6['RGBsb']);const _0x3bca63=this['_validateNumberParams'](_0x59feb3),_0x2520ea=this['_validateIdempotencyKey'](_0x59feb3[_0x31c83d(0xaf)]),{resource:_0x2f063c,format:_0x29b4ed,prefix:_0x1b9f1a,separator:_0x369ba5,numDigits:_0x53e4a0,reuseDelete:_0xb9a5cc}=_0x3bca63,{formatKey:_0x3b1f1f,datePrefix:_0x535079}=this['_buildFormatKey'](_0x29b4ed,_0x1b9f1a),_0x3225f1=this[_0x31c83d(0xf1)](_0x2f063c,_0x3b1f1f),_0x2a98e5=this[_0x31c83d(0x129)](_0x2f063c,_0x3b1f1f),_0x54aecc=this['_getCounterTTL'](_0x29b4ed);let _0x230cd5=null;if(_0x2520ea){_0x230cd5=this['_buildIdemKey']('number',_0x2f063c,_0x3b1f1f,_0x2520ea);const _0x1878c5=await this['_retrieveIdemCache'](_0x230cd5);if(_0x1878c5)return _0x1878c5;}const _0x72d53b=redisClient['getClient'](),_0x19bc41=await _0x72d53b['eval'](LUA_GENERATE_NUMBER,0x2,_0x3225f1,_0x2a98e5,_0xb9a5cc?'1':'0',_0x9edba6['mggoR'](String,_0x54aecc)),_0x3d0669=_0x19bc41[0x0],_0x40e2f3=_0x19bc41[0x1]===0x1,_0x20f4d3=this['_formatNumber']({'format':_0x29b4ed,'prefix':_0x1b9f1a,'datePrefix':_0x535079,'separator':_0x369ba5,'numDigits':_0x53e4a0,'counterInt':_0x3d0669}),_0x5b14af={'value':_0x20f4d3,'counter':_0x3d0669,'resource':_0x2f063c,'formatKey':_0x3b1f1f,'isReused':_0x40e2f3,'generatedAt':new Date()[_0x31c83d(0x182)]()},_0x4b4977=await this['_storeIdemCacheNX'](_0x230cd5,_0x5b14af);if(!_0x4b4977['stored']){try{await _0x72d53b[_0x31c83d(0x17b)](LUA_RELEASE_NUMBER,0x1,_0x2a98e5,_0x9edba6['mggoR'](String,_0x3d0669),String(_0x54aecc));}catch(_0x297722){logger['warn']({'event':'idgen_idem_loser_release_error','error':_0x297722[_0x31c83d(0xb7)],'resource':_0x2f063c,'formatKey':_0x3b1f1f,'counterInt':_0x3d0669},_0x9edba6[_0x31c83d(0x10e)]);}return logger[_0x31c83d(0xe8)]({'event':_0x9edba6[_0x31c83d(0x122)],'resource':_0x2f063c,'formatKey':_0x3b1f1f,'counter':_0x3d0669},_0x31c83d(0x138)),_0x4b4977['winnerResult'];}return this['_updateMeta'](_0x2f063c,_0x3b1f1f,{'lastValue':_0x20f4d3,'lastCounter':_0x3d0669,'lastIsReused':_0x40e2f3,'lastGeneratedAt':_0x5b14af[_0x31c83d(0x11c)]},_0x54aecc),logger[_0x31c83d(0xe8)]({'event':_0x31c83d(0x13c),'resource':_0x2f063c,'formatKey':_0x3b1f1f,'counter':_0x3d0669,'isReused':_0x40e2f3},'ID\x20Generator\x20number:\x20'+_0x20f4d3),_0x5b14af;}async[a0_0x26f5ee(0x103)](_0x27c468){const _0x85b3a7=a0_0x26f5ee,_0x460f77={'qIDcn':'IDGEN_DISABLED','JMQGe':function(_0xa6a4fa,_0x9ff279){return _0xa6a4fa!==_0x9ff279;},'xzRVe':_0x85b3a7(0x88),'lQKWQ':function(_0x20cf1b,_0x4a7ee8){return _0x20cf1b===_0x4a7ee8;},'kGLer':_0x85b3a7(0x93),'SmRUP':function(_0x529c79,_0x4c6e90){return _0x529c79<_0x4c6e90;},'tccVO':_0x85b3a7(0x12f),'oizRA':_0x85b3a7(0x15c)};if(!this['enabled'])throw new IdGeneratorError(_0x460f77['qIDcn'],_0x85b3a7(0x13b));let _0x783e15,_0x4d225d,_0x40af4a,_0x1dffa8;const _0x463e1d=this[_0x85b3a7(0x165)](_0x27c468['idempotencyKey']);if(_0x27c468['counterInt']!==undefined&&_0x460f77[_0x85b3a7(0x179)](_0x27c468[_0x85b3a7(0x8b)],null)){this['_validateResource'](_0x27c468[_0x85b3a7(0xde)]),_0x783e15=_0x27c468[_0x85b3a7(0xde)];if(typeof _0x27c468['formatKey']!==_0x460f77['xzRVe']||_0x460f77[_0x85b3a7(0xaa)](_0x27c468['formatKey']['length'],0x0))throw new IdGeneratorError(_0x85b3a7(0x12f),_0x460f77['kGLer']);_0x4d225d=_0x27c468[_0x85b3a7(0x169)];if(!Number[_0x85b3a7(0x17f)](_0x27c468['counterInt'])||_0x460f77['SmRUP'](_0x27c468[_0x85b3a7(0x8b)],0x1))throw new IdGeneratorError(_0x460f77['tccVO'],'counterInt\x20must\x20be\x20positive\x20integer\x20(got:\x20'+_0x27c468['counterInt']+')');_0x40af4a=_0x27c468['counterInt'];const _0x15eeb5=_0x4d225d[_0x85b3a7(0xc7)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x1dffa8=_0x15eeb5?_0x15eeb5[0x1]:'text';}else{const _0xed4f4c=this['_validateNumberParams'](_0x27c468),_0x350359=this['_parseNumber']({'format':_0xed4f4c[_0x85b3a7(0xc6)],'prefix':_0xed4f4c['prefix'],'separator':_0xed4f4c[_0x85b3a7(0x80)],'numDigits':_0xed4f4c[_0x85b3a7(0x119)],'number':_0x27c468[_0x85b3a7(0x142)]});_0x783e15=_0xed4f4c['resource'],_0x4d225d=_0x350359[_0x85b3a7(0x169)],_0x40af4a=_0x350359[_0x85b3a7(0x8b)],_0x1dffa8=_0xed4f4c['format'];}const _0x9ba6c0=this[_0x85b3a7(0x129)](_0x783e15,_0x4d225d),_0x5d1ec0=this[_0x85b3a7(0x17e)](_0x1dffa8);let _0x305812=null;if(_0x463e1d){_0x305812=this[_0x85b3a7(0x17d)](_0x460f77['oizRA'],_0x783e15,_0x4d225d,_0x463e1d);const _0x25e97a=await this['_retrieveIdemCache'](_0x305812);if(_0x25e97a)return _0x25e97a;}const _0x582541=redisClient['getClient']();await _0x582541['eval'](LUA_RELEASE_NUMBER,0x1,_0x9ba6c0,String(_0x40af4a),String(_0x5d1ec0));const _0x2e8a16={'released':!![],'resource':_0x783e15,'formatKey':_0x4d225d,'counter':_0x40af4a,'releasedAt':new Date()['toISOString']()};return await this[_0x85b3a7(0xef)](_0x305812,_0x2e8a16),this['_updateMeta'](_0x783e15,_0x4d225d,{'lastReleasedCounter':_0x40af4a,'lastReleasedAt':_0x2e8a16['releasedAt']},_0x5d1ec0),logger[_0x85b3a7(0xe8)]({'event':_0x85b3a7(0xf7),'resource':_0x783e15,'formatKey':_0x4d225d,'counter':_0x40af4a},'ID\x20Generator\x20number\x20released:\x20'+_0x40af4a),_0x2e8a16;}async[a0_0x26f5ee(0x151)](_0x1171d3){const _0x41223f=a0_0x26f5ee,_0x1f1fd8={'QRLtl':_0x41223f(0xf3),'Gizoe':'reserve','JBTLk':function(_0x3ab8c0,_0x337193){return _0x3ab8c0+_0x337193;},'rdqIp':_0x41223f(0xde),'Nbxix':_0x41223f(0x169),'fQIoS':_0x41223f(0xc6),'byjaS':'prefix','vghvv':_0x41223f(0x153),'DcBgw':function(_0x593c79,_0x400b43){return _0x593c79||_0x400b43;},'ZOpZl':'expiresAt','YtlnF':_0x41223f(0xfa),'PvQjy':function(_0x34eb80,_0x43afee){return _0x34eb80(_0x43afee);},'WiEOy':'idemKey','vurOr':function(_0x1eacbf,_0xb2dcdf){return _0x1eacbf(_0xb2dcdf);},'zcXNk':function(_0x3ad7c3,_0x1bd73a){return _0x3ad7c3(_0x1bd73a);},'GfCVn':_0x41223f(0x111),'YpnIF':_0x41223f(0x8a),'ZsMqP':'value','YUtzp':_0x41223f(0x9f),'TCvGl':_0x41223f(0x164),'nzAOk':_0x41223f(0x11e),'cgHWg':'idgen_number_reserved'};if(!this[_0x41223f(0x147)])throw new IdGeneratorError(_0x1f1fd8['QRLtl'],_0x41223f(0x120));const _0x7d1282=this[_0x41223f(0x178)](_0x1171d3),_0x411da6=this[_0x41223f(0x106)](_0x1171d3[_0x41223f(0x13a)]),_0x4af4f4=this[_0x41223f(0x165)](_0x1171d3['idempotencyKey']),{resource:_0xcbef4,format:_0x1a2e91,prefix:_0x441656,separator:_0x1db35a,numDigits:_0x5a4193,reuseDelete:_0x58d2ad}=_0x7d1282,{formatKey:_0x15b555,datePrefix:_0x2da3a6}=this[_0x41223f(0xee)](_0x1a2e91,_0x441656),_0x55ec66=this[_0x41223f(0xf1)](_0xcbef4,_0x15b555),_0x3994a0=this[_0x41223f(0x129)](_0xcbef4,_0x15b555),_0x166f1c=this['_buildReservationIndexKey'](_0xcbef4,_0x15b555),_0x594374=this['_getCounterTTL'](_0x1a2e91);let _0xa1328f=null;if(_0x4af4f4){_0xa1328f=this[_0x41223f(0x17d)](_0x1f1fd8['Gizoe'],_0xcbef4,_0x15b555,_0x4af4f4);const _0x278655=await this['_retrieveIdemCache'](_0xa1328f);if(_0x278655)return _0x278655;}const _0x50db7c=crypto['randomUUID'](),_0xdeaa48=this['_buildReservationKey'](_0x50db7c),_0x4a70b1=this['_buildReservationKeyPrefix'](),_0x398db3=Date[_0x41223f(0xb8)](),_0x3c22e6=_0x1f1fd8['JBTLk'](_0x398db3,_0x411da6*0x3e8),_0x22baa7=_0x411da6*0x3e8,_0xca69c4=new Date(_0x398db3)['toISOString'](),_0x4ccfe9=new Date(_0x3c22e6)['toISOString'](),_0x1d5cc8=[_0x1f1fd8[_0x41223f(0x127)],_0xcbef4,_0x1f1fd8['Nbxix'],_0x15b555,_0x1f1fd8[_0x41223f(0xf5)],_0x1a2e91,_0x1f1fd8[_0x41223f(0x81)],_0x441656,_0x41223f(0x80),_0x1db35a,'numDigits',String(_0x5a4193),_0x1f1fd8['vghvv'],_0x1f1fd8[_0x41223f(0xf8)](_0x2da3a6,''),'createdAt',_0xca69c4,_0x1f1fd8[_0x41223f(0x7d)],_0x4ccfe9,_0x1f1fd8['YtlnF'],_0x1f1fd8[_0x41223f(0x83)](String,_0x22baa7)];_0x4af4f4&&_0x1d5cc8[_0x41223f(0x91)](_0x1f1fd8[_0x41223f(0x145)],_0x4af4f4);const _0x415767=redisClient['getClient'](),_0x41342d=await _0x415767['eval'](LUA_RESERVE_NUMBER,0x3,_0x55ec66,_0x3994a0,_0x166f1c,_0x58d2ad?'1':'0',String(_0x594374),_0x50db7c,_0xdeaa48,_0x1f1fd8['vurOr'](String,_0x22baa7),String(_0x3c22e6),_0x1f1fd8['vurOr'](String,_0x398db3),_0x4a70b1,..._0x1d5cc8),_0xd8bfac=_0x41342d[0x0],_0x3f96a3=_0x41342d[0x1]===0x1,_0x5c6310=_0x41342d[0x2]||0x0;let _0x4cefab;try{_0x4cefab=this['_formatNumber']({'format':_0x1a2e91,'prefix':_0x441656,'datePrefix':_0x2da3a6,'separator':_0x1db35a,'numDigits':_0x5a4193,'counterInt':_0xd8bfac});}catch(_0x31d53e){try{await _0x415767[_0x41223f(0x17b)](LUA_CANCEL_RESERVATION,0x3,_0xdeaa48,_0x166f1c,_0x3994a0,_0x50db7c,_0x1f1fd8[_0x41223f(0xc1)](String,_0x594374));}catch(_0x25b896){logger['warn']({'event':_0x1f1fd8['GfCVn'],'error':_0x25b896[_0x41223f(0xb7)],'resource':_0xcbef4,'formatKey':_0x15b555,'counterInt':_0xd8bfac,'token':_0x50db7c},_0x1f1fd8['YpnIF']);}throw _0x31d53e;}try{await _0x415767[_0x41223f(0xd8)](_0xdeaa48,_0x1f1fd8['ZsMqP'],_0x4cefab);}catch(_0x2ee06a){logger[_0x41223f(0xcb)]({'event':_0x1f1fd8[_0x41223f(0x128)],'error':_0x2ee06a[_0x41223f(0xb7)],'resource':_0xcbef4,'formatKey':_0x15b555,'counterInt':_0xd8bfac,'token':_0x50db7c},_0x1f1fd8[_0x41223f(0x15d)]);}const _0x31d2ac={'token':_0x50db7c,'value':_0x4cefab,'counter':_0xd8bfac,'resource':_0xcbef4,'formatKey':_0x15b555,'isReused':_0x3f96a3,'createdAt':_0xca69c4,'expiresAt':_0x4ccfe9,'reapedCount':_0x5c6310},_0xca3233=await this[_0x41223f(0x75)](_0xa1328f,_0x31d2ac);if(!_0xca3233['stored']){try{await _0x415767['eval'](LUA_CANCEL_RESERVATION,0x3,_0xdeaa48,_0x166f1c,_0x3994a0,_0x50db7c,String(_0x594374));}catch(_0x745448){logger['warn']({'event':'idgen_reserve_idem_loser_cancel_error','error':_0x745448['message'],'resource':_0xcbef4,'formatKey':_0x15b555,'counterInt':_0xd8bfac,'token':_0x50db7c},_0x1f1fd8['nzAOk']);}return logger[_0x41223f(0xe8)]({'event':_0x41223f(0x11a),'resource':_0xcbef4,'formatKey':_0x15b555,'counter':_0xd8bfac,'token':_0x50db7c},_0x41223f(0xdc)),_0xca3233[_0x41223f(0xb0)];}return this['_updateMeta'](_0xcbef4,_0x15b555,{'lastReservedCounter':_0xd8bfac,'lastReservedAt':_0xca69c4,'lastReapedCount':_0x5c6310},_0x594374),logger['info']({'event':_0x1f1fd8['cgHWg'],'resource':_0xcbef4,'formatKey':_0x15b555,'counter':_0xd8bfac,'isReused':_0x3f96a3,'token':_0x50db7c,'ttl':_0x411da6,'reapedCount':_0x5c6310},_0x41223f(0x9b)+_0x4cefab+'\x20(token='+_0x50db7c+')'),_0x31d2ac;}async['confirmReservation'](_0xf922b1){const _0x308d90=a0_0x26f5ee,_0x3c9cdf={'BgXrl':_0x308d90(0xf3),'hoape':'ID\x20Generator\x20is\x20disabled','fSMWW':'idgen','wXLlw':_0x308d90(0x146),'gtWjo':'IDGEN_RESERVATION_NOT_FOUND'};if(!this['enabled'])throw new IdGeneratorError(_0x3c9cdf[_0x308d90(0x14f)],_0x3c9cdf['hoape']);const _0x45045e=this['_validateReservationToken'](_0xf922b1&&_0xf922b1['token']),_0x9ce03e=this[_0x308d90(0x165)](_0xf922b1&&_0xf922b1[_0x308d90(0xaf)]);let _0x39d817=null;if(_0x9ce03e){_0x39d817=idempotencyManager[_0x308d90(0xab)](_0x3c9cdf['fSMWW'],_0x3c9cdf['wXLlw'],_0x45045e+':'+_0x9ce03e);const _0x2f1460=await this['_retrieveIdemCache'](_0x39d817);if(_0x2f1460)return _0x2f1460;}const _0x3917d9=await this[_0x308d90(0x141)](_0x45045e),_0x2ee60a=redisClient[_0x308d90(0x158)](),_0x516eb1=await _0x2ee60a[_0x308d90(0x17b)](LUA_CONFIRM_RESERVATION,0x2,_0x3917d9['rsvKey'],_0x3917d9['rsvIdxKey'],_0x45045e);if(!_0x516eb1||_0x516eb1[0x0]!==0x1)throw new IdGeneratorError(_0x3c9cdf['gtWjo'],_0x308d90(0x154)+_0x45045e,{'token':_0x45045e});const _0xff45a6=parseInt(_0x516eb1[0x1],0xa),_0x2f9087=_0x516eb1[0x2],_0x274d66=_0x516eb1[0x3],_0x41fbad=new Date()['toISOString'](),_0x519b83={'confirmed':!![],'token':_0x45045e,'value':_0x2f9087,'counter':_0xff45a6,'resource':_0x3917d9[_0x308d90(0xde)],'formatKey':_0x274d66,'confirmedAt':_0x41fbad};await this[_0x308d90(0xef)](_0x39d817,_0x519b83);const _0x4e0b05=_0x274d66[_0x308d90(0xc7)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x5a9094=_0x4e0b05?_0x4e0b05[0x1]:'text',_0x211524=this[_0x308d90(0x17e)](_0x5a9094);return this[_0x308d90(0x117)](_0x3917d9[_0x308d90(0xde)],_0x274d66,{'lastConfirmedCounter':_0xff45a6,'lastConfirmedAt':_0x41fbad},_0x211524),logger[_0x308d90(0xe8)]({'event':'idgen_reservation_confirmed','resource':_0x3917d9[_0x308d90(0xde)],'formatKey':_0x274d66,'counter':_0xff45a6,'token':_0x45045e},'ID\x20Generator\x20reservation\x20confirmed:\x20'+_0x2f9087+'\x20(token='+_0x45045e+')'),_0x519b83;}async['cancelReservation'](_0x2beebf){const _0x4a0150=a0_0x26f5ee,_0x1a1f66={'Ykmrn':'reserve_cancel','laqqa':function(_0x155124,_0x9d8965){return _0x155124!==_0x9d8965;},'BJxQR':_0x4a0150(0xea),'hpYWw':function(_0x21f115,_0x2902a3,_0x2beb24){return _0x21f115(_0x2902a3,_0x2beb24);}};if(!this['enabled'])throw new IdGeneratorError(_0x4a0150(0xf3),'ID\x20Generator\x20is\x20disabled');const _0x48528d=this[_0x4a0150(0x17a)](_0x2beebf&&_0x2beebf[_0x4a0150(0x10f)]),_0x45e123=this['_validateIdempotencyKey'](_0x2beebf&&_0x2beebf[_0x4a0150(0xaf)]);let _0x1c272d=null;if(_0x45e123){_0x1c272d=idempotencyManager['buildDeterministicKey'](_0x4a0150(0x118),_0x1a1f66['Ykmrn'],_0x48528d+':'+_0x45e123);const _0x382c7c=await this['_retrieveIdemCache'](_0x1c272d);if(_0x382c7c)return _0x382c7c;}const _0x5d4e79=await this['_getReservationContext'](_0x48528d),_0x22d989=this['_buildReuseKey'](_0x5d4e79[_0x4a0150(0xde)],_0x5d4e79['formatKey']),_0xbe9c4b=_0x5d4e79[_0x4a0150(0x169)]['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x2fc316=_0xbe9c4b?_0xbe9c4b[0x1]:'text',_0x292cea=this['_getCounterTTL'](_0x2fc316),_0x1d6052=redisClient['getClient'](),_0x37cc0b=await _0x1d6052['eval'](LUA_CANCEL_RESERVATION,0x3,_0x5d4e79['rsvKey'],_0x5d4e79[_0x4a0150(0x10c)],_0x22d989,_0x48528d,String(_0x292cea));if(!_0x37cc0b||_0x1a1f66['laqqa'](_0x37cc0b[0x0],0x1))throw new IdGeneratorError(_0x1a1f66[_0x4a0150(0x15a)],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x48528d,{'token':_0x48528d});const _0x2b2216=_0x1a1f66[_0x4a0150(0x177)](parseInt,_0x37cc0b[0x1],0xa),_0x4159fa=_0x37cc0b[0x2],_0x472ccd=_0x37cc0b[0x3],_0x5c94bc=new Date()['toISOString'](),_0x4f1e08={'cancelled':!![],'token':_0x48528d,'value':_0x4159fa,'counter':_0x2b2216,'resource':_0x5d4e79[_0x4a0150(0xde)],'formatKey':_0x472ccd,'releasedToReuse':!![],'cancelledAt':_0x5c94bc};return await this['_storeIdemCache'](_0x1c272d,_0x4f1e08),this[_0x4a0150(0x117)](_0x5d4e79[_0x4a0150(0xde)],_0x472ccd,{'lastCancelledCounter':_0x2b2216,'lastCancelledAt':_0x5c94bc},_0x292cea),logger['info']({'event':_0x4a0150(0xcd),'resource':_0x5d4e79[_0x4a0150(0xde)],'formatKey':_0x472ccd,'counter':_0x2b2216,'token':_0x48528d},'ID\x20Generator\x20reservation\x20cancelled:\x20'+_0x4159fa+_0x4a0150(0xb1)+_0x48528d+')'),_0x4f1e08;}async['extendReservation'](_0x268c85){const _0x439863=a0_0x26f5ee,_0x10cfa1={'lWclK':'IDGEN_DISABLED','yCwcu':_0x439863(0x13b),'pvXjz':_0x439863(0x118),'lFYfW':function(_0x469663,_0x299738){return _0x469663*_0x299738;},'uDWsc':function(_0x267293,_0x27bf8f){return _0x267293(_0x27bf8f);},'EfuaI':'text'};if(!this['enabled'])throw new IdGeneratorError(_0x10cfa1[_0x439863(0x11d)],_0x10cfa1[_0x439863(0x175)]);const _0x5a4444=this['_validateReservationToken'](_0x268c85&&_0x268c85['token']),_0x133815=this[_0x439863(0x106)](_0x268c85&&_0x268c85['ttl']),_0x308ddf=this['_validateIdempotencyKey'](_0x268c85&&_0x268c85[_0x439863(0xaf)]);let _0x173e3d=null;if(_0x308ddf){_0x173e3d=idempotencyManager[_0x439863(0xab)](_0x10cfa1[_0x439863(0x7a)],'reserve_extend',_0x5a4444+':'+_0x308ddf);const _0x271e6e=await this[_0x439863(0x98)](_0x173e3d);if(_0x271e6e)return _0x271e6e;}const _0x9da52e=await this['_getReservationContext'](_0x5a4444),_0x28a791=Date['now'](),_0x5d975e=_0x28a791+_0x133815*0x3e8,_0xa1c20b=_0x10cfa1['lFYfW'](_0x133815,0x3e8),_0x4a709a=new Date(_0x5d975e)[_0x439863(0x182)](),_0x56dd13=redisClient[_0x439863(0x158)](),_0x2fba00=await _0x56dd13['eval'](LUA_EXTEND_RESERVATION,0x2,_0x9da52e['rsvKey'],_0x9da52e[_0x439863(0x10c)],_0x5a4444,String(_0xa1c20b),_0x10cfa1['uDWsc'](String,_0x5d975e),_0x4a709a);if(!_0x2fba00||_0x2fba00[0x0]!==0x1)throw new IdGeneratorError(_0x439863(0xea),_0x439863(0x154)+_0x5a4444,{'token':_0x5a4444});const _0x12ca06=_0x2fba00[0x1],_0x2bb4a1=parseInt(_0x2fba00[0x2],0xa),_0x40488c=_0x2fba00[0x3],_0x4e58f4=_0x2fba00[0x4],_0x772fa0=new Date(_0x28a791)['toISOString'](),_0x10dae6={'extended':!![],'token':_0x5a4444,'previousExpiresAt':_0x12ca06,'expiresAt':_0x4a709a,'ttlMs':_0xa1c20b,'resource':_0x9da52e[_0x439863(0xde)],'formatKey':_0x4e58f4,'counter':_0x2bb4a1,'value':_0x40488c,'extendedAt':_0x772fa0};await this['_storeIdemCache'](_0x173e3d,_0x10dae6);const _0x13d265=_0x4e58f4['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x4dffb4=_0x13d265?_0x13d265[0x1]:_0x10cfa1[_0x439863(0xe0)],_0x28b207=this[_0x439863(0x17e)](_0x4dffb4);return this['_updateMeta'](_0x9da52e['resource'],_0x4e58f4,{'lastExtendedCounter':_0x2bb4a1,'lastExtendedAt':_0x772fa0},_0x28b207),logger[_0x439863(0xe8)]({'event':'idgen_reservation_extended','resource':_0x9da52e[_0x439863(0xde)],'formatKey':_0x4e58f4,'counter':_0x2bb4a1,'token':_0x5a4444,'ttl':_0x133815},'ID\x20Generator\x20reservation\x20extended:\x20'+_0x40488c+'\x20(token='+_0x5a4444+_0x439863(0xdb)+_0x133815+'s)'),_0x10dae6;}async[a0_0x26f5ee(0x109)](_0x451aa3){const _0x13b5e0=a0_0x26f5ee,_0x25dbc7={'aktjf':'IDGEN_DISABLED','xKlle':'ID\x20Generator\x20is\x20disabled','LvFrg':'IDGEN_RESERVATION_NOT_FOUND','Pcurq':function(_0x12e498,_0x1d0f29,_0x304a93){return _0x12e498(_0x1d0f29,_0x304a93);},'LUyuG':function(_0x197813,_0x158fb1){return _0x197813===_0x158fb1;},'rEeRk':function(_0x29386d,_0x2db0df){return _0x29386d>=_0x2db0df;}};if(!this['enabled'])throw new IdGeneratorError(_0x25dbc7[_0x13b5e0(0xce)],_0x25dbc7['xKlle']);const _0x598739=this['_validateReservationToken'](_0x451aa3&&_0x451aa3[_0x13b5e0(0x10f)]),_0x3addc8=this['_buildReservationKey'](_0x598739),_0x24e0aa=redisClient[_0x13b5e0(0x158)](),_0x5757ae=_0x24e0aa['pipeline']();_0x5757ae['hgetall'](_0x3addc8),_0x5757ae['pttl'](_0x3addc8);const _0x28b6a5=await _0x5757ae['exec'](),_0x5ba367=_0x28b6a5&&_0x28b6a5[0x0]&&_0x28b6a5[0x0][0x1],_0x43e94b=_0x28b6a5&&_0x28b6a5[0x1]&&_0x28b6a5[0x1][0x1];if(!_0x5ba367||Object['keys'](_0x5ba367)[_0x13b5e0(0xe2)]===0x0)throw new IdGeneratorError(_0x25dbc7[_0x13b5e0(0x104)],_0x13b5e0(0x154)+_0x598739,{'token':_0x598739});return{'token':_0x598739,'resource':_0x5ba367[_0x13b5e0(0xde)]||null,'formatKey':_0x5ba367[_0x13b5e0(0x169)]||null,'format':_0x5ba367['format']||null,'prefix':_0x5ba367[_0x13b5e0(0x89)]||'','separator':_0x5ba367['separator']||'','numDigits':_0x5ba367[_0x13b5e0(0x119)]?parseInt(_0x5ba367[_0x13b5e0(0x119)],0xa):null,'datePrefix':_0x5ba367['datePrefix']||'','counter':_0x5ba367['counter']?_0x25dbc7['Pcurq'](parseInt,_0x5ba367[_0x13b5e0(0x161)],0xa):null,'value':_0x5ba367[_0x13b5e0(0x107)]||null,'isReused':_0x25dbc7['LUyuG'](_0x5ba367['isReused'],'1')||_0x5ba367['isReused']===0x1,'createdAt':_0x5ba367['createdAt']||null,'expiresAt':_0x5ba367['expiresAt']||null,'ttlRemainingMs':_0x25dbc7[_0x13b5e0(0x13e)](typeof _0x43e94b,'number')&&_0x25dbc7['rEeRk'](_0x43e94b,0x0)?_0x43e94b:null};}async['_getReservationContext'](_0x3d9866){const _0x2e4ed1=a0_0x26f5ee,_0x3a35b6={'keXMk':_0x2e4ed1(0xde),'RPJSU':'formatKey','HYKXU':function(_0x39eaf8,_0x3c08f2){return _0x39eaf8||_0x3c08f2;}},_0x4e924a=this['_buildReservationKey'](_0x3d9866),_0x55c61a=redisClient['getClient'](),_0x3c6034=await _0x55c61a['hmget'](_0x4e924a,_0x3a35b6['keXMk'],_0x3a35b6[_0x2e4ed1(0xf4)]),_0x55b444=_0x3c6034&&_0x3c6034[0x0],_0x290e01=_0x3c6034&&_0x3c6034[0x1];if(_0x3a35b6[_0x2e4ed1(0x125)](!_0x55b444,!_0x290e01))throw new IdGeneratorError(_0x2e4ed1(0xea),_0x2e4ed1(0x154)+_0x3d9866,{'token':_0x3d9866});return{'resource':_0x55b444,'formatKey':_0x290e01,'rsvKey':_0x4e924a,'rsvIdxKey':this[_0x2e4ed1(0x148)](_0x55b444,_0x290e01)};}async['random'](_0x49ea02){const _0x22af09=a0_0x26f5ee,_0x4c6001={'yMIch':_0x22af09(0x13b),'xdacr':function(_0x5e5fa2,_0x21f9fe){return _0x5e5fa2===_0x21f9fe;},'ERMVn':_0x22af09(0xfc),'NEBEB':_0x22af09(0x186),'WTWhb':'idgen_random_generated'};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x4c6001[_0x22af09(0x73)]);this[_0x22af09(0x160)](_0x49ea02['resource']),this[_0x22af09(0xbb)](_0x49ea02[_0x22af09(0x72)]);const _0x11302b=this['_validateTTL'](_0x49ea02[_0x22af09(0x13a)]),_0x5b23c7=this[_0x22af09(0x170)](_0x49ea02['maxRetry']),_0xe16f55=this['_validateIdempotencyKey'](_0x49ea02['idempotencyKey']),_0x4b283d=_0x4c6001[_0x22af09(0x13f)](_0x49ea02['ensureUnique'],!![]),{resource:_0x110487,pattern:_0x53b0a2}=_0x49ea02;let _0x4efcea=null;if(_0xe16f55){_0x4efcea=this[_0x22af09(0x17d)](_0x4c6001[_0x22af09(0x185)],_0x110487,null,_0xe16f55);const _0x553471=await this[_0x22af09(0x98)](_0x4efcea);if(_0x553471)return _0x553471;}const _0x557d89=redisClient['getClient']();let _0x73beab=null,_0xc7fce3=0x0;if(!_0x4b283d)_0x73beab=this['_generateFromPattern'](_0x53b0a2),_0xc7fce3=0x1;else{for(let _0x38bea3=0x0;_0x38bea3<_0x5b23c7;_0x38bea3++){_0xc7fce3++;const _0x57a986=this[_0x22af09(0xbe)](_0x53b0a2);if(_0x11302b){const _0x385973=this[_0x22af09(0x168)](_0x110487,_0x57a986),_0x669925=await _0x557d89['set'](_0x385973,'1','EX',_0x11302b,'NX');if(_0x669925==='OK'){_0x73beab=_0x57a986;break;}}else{const _0x12cb4e=this['_buildIssuedKey'](_0x110487),_0x929d2f=await _0x557d89[_0x22af09(0xa2)](_0x12cb4e,_0x57a986);if(_0x929d2f===0x1){_0x73beab=_0x57a986;break;}}}if(_0x73beab===null)throw new IdGeneratorError(_0x22af09(0xdf),'Could\x20not\x20generate\x20unique\x20value\x20after\x20'+_0x5b23c7+'\x20attempts.\x20Increase\x20pattern\x20length\x20or\x20maxRetry.',{'resource':_0x110487,'pattern':_0x53b0a2,'maxRetry':_0x5b23c7});}const _0x53acd6={'value':_0x73beab,'resource':_0x110487,'pattern':_0x53b0a2,'attemptCount':_0xc7fce3,'generatedAt':new Date()['toISOString']()};_0x11302b&&_0x4b283d&&(_0x53acd6[_0x22af09(0xa1)]=new Date(Date['now']()+_0x11302b*0x3e8)[_0x22af09(0x182)]());const _0x7d0dc7=await this['_storeIdemCacheNX'](_0x4efcea,_0x53acd6);if(!_0x7d0dc7[_0x22af09(0x126)])return _0x4b283d&&await this['_undoRandomReservation'](_0x110487,_0x73beab,_0x11302b),logger[_0x22af09(0xe8)]({'event':_0x4c6001['NEBEB'],'resource':_0x110487,'pattern':_0x53b0a2,'value':_0x73beab},'ID\x20Generator\x20random\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x7d0dc7['winnerResult'];return logger[_0x22af09(0xe8)]({'event':_0x4c6001['WTWhb'],'resource':_0x110487,'pattern':_0x53b0a2,'attemptCount':_0xc7fce3,'ensureUnique':_0x4b283d,'ttl':_0x11302b||0x0},'ID\x20Generator\x20random:\x20'+_0x73beab),_0x53acd6;}async[a0_0x26f5ee(0x114)](_0x3242cf){const _0x4a8757=a0_0x26f5ee,_0x487171={'wGaLy':function(_0x17af86,_0x211896){return _0x17af86==_0x211896;},'sVUGR':_0x4a8757(0x76),'MFEoQ':function(_0x17b0b1,_0x3d6fed){return _0x17b0b1===_0x3d6fed;}},_0x2e1678=_0x487171['wGaLy'](_0x3242cf['digits'],null)?this[_0x4a8757(0x10a)]:_0x3242cf['digits'];if(!Number[_0x4a8757(0x17f)](_0x2e1678)||_0x2e1678<MIN_PIN_DIGITS||_0x2e1678>MAX_PIN_DIGITS)throw new IdGeneratorError(_0x487171[_0x4a8757(0x188)],_0x4a8757(0x181)+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+'\x20(got:\x20'+_0x2e1678+')');const _0x32d6ca='9'['repeat'](_0x2e1678);return this['random']({'resource':_0x3242cf[_0x4a8757(0xde)],'pattern':_0x32d6ca,'ensureUnique':_0x487171[_0x4a8757(0x139)](_0x3242cf[_0x4a8757(0xa5)],!![]),'ttl':_0x3242cf[_0x4a8757(0x13a)],'maxRetry':_0x3242cf[_0x4a8757(0x132)],'idempotencyKey':_0x3242cf[_0x4a8757(0xaf)]});}async['serial'](_0x6dc1df){const _0x332ab3=a0_0x26f5ee,_0xcef8d4={'CKXti':function(_0x3120f0,_0x1422ae){return _0x3120f0!==_0x1422ae;}},_0x55d618=_0x6dc1df[_0x332ab3(0x72)]||this[_0x332ab3(0x10d)];return this[_0x332ab3(0xfc)]({'resource':_0x6dc1df['resource'],'pattern':_0x55d618,'ensureUnique':_0xcef8d4[_0x332ab3(0x8f)](_0x6dc1df[_0x332ab3(0xa5)],![]),'ttl':_0x6dc1df[_0x332ab3(0x13a)],'maxRetry':_0x6dc1df['maxRetry'],'idempotencyKey':_0x6dc1df['idempotencyKey']});}async['code'](_0x5e2cee){const _0x2714d1=a0_0x26f5ee,_0x1a352c={'AngVO':function(_0x2eaa20,_0x22134e){return _0x2eaa20!==_0x22134e;}},_0x2a42fa=_0x5e2cee['pattern']||this[_0x2714d1(0x12a)];return this[_0x2714d1(0xfc)]({'resource':_0x5e2cee['resource'],'pattern':_0x2a42fa,'ensureUnique':_0x1a352c['AngVO'](_0x5e2cee['ensureUnique'],![]),'ttl':_0x5e2cee['ttl'],'maxRetry':_0x5e2cee['maxRetry'],'idempotencyKey':_0x5e2cee[_0x2714d1(0xaf)]});}async[a0_0x26f5ee(0xd0)](_0x195675){const _0x3e4631=a0_0x26f5ee,_0x1f9e8d={'DtgDR':'IDGEN_DISABLED','OcERm':function(_0x3e51e6,_0x8bd2cd){return _0x3e51e6!==_0x8bd2cd;},'oFxCm':function(_0x842f52,_0x4e0089){return _0x842f52===_0x4e0089;},'KWRWh':_0x3e4631(0x12f),'gFEgb':function(_0x2559f1,_0x4ecf6b){return _0x2559f1+_0x4ecf6b;},'nCtPb':_0x3e4631(0x134)};if(!this['enabled'])throw new IdGeneratorError(_0x1f9e8d[_0x3e4631(0x18c)],_0x3e4631(0x13b));this['_validateResource'](_0x195675['resource']);if(_0x1f9e8d[_0x3e4631(0x7e)](typeof _0x195675[_0x3e4631(0x107)],'string')||_0x1f9e8d[_0x3e4631(0x115)](_0x195675[_0x3e4631(0x107)]['length'],0x0))throw new IdGeneratorError(_0x1f9e8d['KWRWh'],'value\x20is\x20required');const {resource:_0x33fc35,value:_0x200108}=_0x195675,_0x4e14b4=redisClient['getClient'](),_0x98f2f2=this[_0x3e4631(0x168)](_0x33fc35,_0x200108),_0x44fa9a=this[_0x3e4631(0x15f)](_0x33fc35),[_0x1b1a8b,_0x4cf044]=await Promise[_0x3e4631(0xed)]([_0x4e14b4['del'](_0x98f2f2),_0x4e14b4['srem'](_0x44fa9a,_0x200108)]),_0x485d32=_0x1f9e8d['gFEgb'](_0x1b1a8b,_0x4cf044)>0x0;return logger[_0x3e4631(0xe8)]({'event':_0x1f9e8d['nCtPb'],'resource':_0x33fc35,'value':_0x200108,'consumed':_0x485d32},'ID\x20Generator\x20consumed:\x20'+_0x200108),{'consumed':_0x485d32,'resource':_0x33fc35,'value':_0x200108,'consumedAt':new Date()[_0x3e4631(0x182)]()};}async['peek'](_0x1a0599){const _0x3897db=a0_0x26f5ee,_0x31a233={'eWAnw':'IDGEN_DISABLED','MWKCO':'text','HDidi':'IDGEN_INVALID_FORMAT','AmRoz':function(_0x151db3,_0x286f5e){return _0x151db3===_0x286f5e;}};if(!this[_0x3897db(0x147)])throw new IdGeneratorError(_0x31a233['eWAnw'],_0x3897db(0x13b));this[_0x3897db(0x160)](_0x1a0599['resource']);const _0xef77ee=_0x1a0599[_0x3897db(0x14c)]||_0x3897db(0x142),_0x354d34=redisClient[_0x3897db(0x158)]();if(_0xef77ee==='number'){const _0x3c6488=(_0x1a0599['format']||_0x31a233['MWKCO'])['toLowerCase']();if(!ALLOWED_FORMATS[_0x3897db(0x9d)](_0x3c6488))throw new IdGeneratorError(_0x31a233['HDidi'],_0x3897db(0xcf)+_0x1a0599[_0x3897db(0xc6)]);const {formatKey:_0x12b100}=this[_0x3897db(0xee)](_0x3c6488,_0x1a0599[_0x3897db(0x89)]||''),_0x2e2e35=this[_0x3897db(0xf1)](_0x1a0599[_0x3897db(0xde)],_0x12b100),_0x32b7dd=this['_buildReuseKey'](_0x1a0599[_0x3897db(0xde)],_0x12b100),[_0x3a2654,_0x4261a7]=await Promise['all']([_0x354d34['get'](_0x2e2e35),_0x354d34['zcard'](_0x32b7dd)]);return{'resource':_0x1a0599['resource'],'mode':_0x3897db(0x142),'formatKey':_0x12b100,'currentCounter':parseInt(_0x3a2654,0xa)||0x0,'reusePoolSize':_0x4261a7||0x0};}if(_0x31a233[_0x3897db(0x180)](_0xef77ee,_0x3897db(0xfc))){const _0x232cc8=this['_buildIssuedKey'](_0x1a0599['resource']),_0x1ddc94=await _0x354d34[_0x3897db(0x15b)](_0x232cc8);return{'resource':_0x1a0599['resource'],'mode':'random','issuedCount':_0x1ddc94||0x0};}throw new IdGeneratorError(_0x3897db(0x136),'Unknown\x20mode:\x20'+_0xef77ee);}async[a0_0x26f5ee(0xf9)](_0x35f197){const _0x149cc6=a0_0x26f5ee,_0x606d91=await this['peek'](_0x35f197);if(_0x606d91['mode']===_0x149cc6(0x142)){const _0x5df994=redisClient[_0x149cc6(0x158)](),_0x2dba06=this[_0x149cc6(0xc0)](_0x35f197[_0x149cc6(0xde)],_0x606d91['formatKey']),_0x453a73=this[_0x149cc6(0x129)](_0x35f197[_0x149cc6(0xde)],_0x606d91[_0x149cc6(0x169)]),[_0x272179,_0x4f9a14]=await Promise['all']([_0x5df994[_0x149cc6(0xa7)](_0x2dba06),_0x5df994['zrange'](_0x453a73,0x0,-0x1)]);return{..._0x606d91,'reusePoolValues':_0x4f9a14['map'](_0x31c272=>parseInt(_0x31c272,0xa)),'meta':_0x272179&&Object['keys'](_0x272179)[_0x149cc6(0xe2)]>0x0?_0x272179:null};}return _0x606d91;}async['reset'](_0x454ea3){const _0x376acd=a0_0x26f5ee,_0x132960={'Arlik':'IDGEN_DISABLED','HOjUz':_0x376acd(0x13b),'czkNq':'number','sHxyc':function(_0x26fb90,_0x87590a){return _0x26fb90===_0x87590a;},'RRtXg':_0x376acd(0x9c),'levsN':function(_0x114b21,_0x128a26){return _0x114b21===_0x128a26;},'KdbCF':_0x376acd(0xfc)};if(!this[_0x376acd(0x147)])throw new IdGeneratorError(_0x132960['Arlik'],_0x132960[_0x376acd(0x82)]);if(!this[_0x376acd(0x102)])throw new IdGeneratorError(_0x376acd(0xc8),'Reset\x20operation\x20not\x20allowed\x20(set\x20IDGEN_ALLOW_RESET=true\x20to\x20enable)');this[_0x376acd(0x160)](_0x454ea3['resource']);const _0x276482=_0x454ea3[_0x376acd(0x14c)]||_0x132960[_0x376acd(0xbf)],_0x10e995=redisClient[_0x376acd(0x158)]();if(_0x132960[_0x376acd(0x143)](_0x276482,'number')){const _0x42f7f6=(_0x454ea3[_0x376acd(0xc6)]||_0x376acd(0x12e))['toLowerCase']();if(!ALLOWED_FORMATS[_0x376acd(0x9d)](_0x42f7f6))throw new IdGeneratorError(_0x132960[_0x376acd(0x90)],_0x376acd(0xcf)+_0x454ea3[_0x376acd(0xc6)]);const {formatKey:_0x82784b}=this['_buildFormatKey'](_0x42f7f6,_0x454ea3[_0x376acd(0x89)]||''),_0x370647=this[_0x376acd(0xf1)](_0x454ea3['resource'],_0x82784b),_0x2633a9=this[_0x376acd(0x129)](_0x454ea3[_0x376acd(0xde)],_0x82784b),_0x82ef7d=this['_buildMetaKey'](_0x454ea3[_0x376acd(0xde)],_0x82784b);return await _0x10e995[_0x376acd(0xb3)](_0x370647,_0x2633a9,_0x82ef7d),logger[_0x376acd(0xcb)]({'event':'idgen_reset','resource':_0x454ea3['resource'],'mode':_0x132960['czkNq'],'formatKey':_0x82784b},_0x376acd(0xfe)+_0x454ea3[_0x376acd(0xde)]+':'+_0x82784b),{'reset':!![],'resource':_0x454ea3['resource'],'mode':_0x132960[_0x376acd(0xbf)],'formatKey':_0x82784b,'deletedKeys':[_0x376acd(0x101),'reuse',_0x376acd(0xff)]};}if(_0x132960['levsN'](_0x276482,_0x132960[_0x376acd(0xf6)])){const _0x3967bc=this['_buildIssuedKey'](_0x454ea3['resource']);return await _0x10e995['del'](_0x3967bc),logger['warn']({'event':'idgen_reset','resource':_0x454ea3['resource'],'mode':'random'},'ID\x20Generator\x20reset:\x20random:'+_0x454ea3[_0x376acd(0xde)]),{'reset':!![],'resource':_0x454ea3[_0x376acd(0xde)],'mode':_0x132960['KdbCF'],'deletedKeys':['issued']};}throw new IdGeneratorError('IDGEN_INVALID_MODE','Unknown\x20mode:\x20'+_0x276482);}}const instance=new IdGenerator();instance['IdGeneratorError']=IdGeneratorError,module['exports']=instance,module[a0_0x26f5ee(0xad)]['IdGeneratorError']=IdGeneratorError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';function
|
|
1
|
+
'use strict';function a0_0x494a(){const _0x1de1ec=['Dw5RBM93BG','zgvIDwC','z2v0q2XPzw50','mtiXmta2n2fXyMvHDG','zw52','y3j5ChrV','AwrLBxbVDgvUy3LFy29UzMLNx2LUAxq','mta3nZy4m2P3swjoEG','CMv0CMLLDMu','x2vUywjSzwq','DhrS','AwrLBxbVDgvUy3LFC3rVCMvFzxjYB3i','nZi3mZy4wfzOENvt','BwvZC2fNzq','zw5HyMXLza','CMy6AwrLBtO','twPtDee','x3r0Ba','z2ztDuG','x2LUAxrdB25MAwC','ntq2ndC0Bvj2wvjK','lcbuveW6ia','mZa3mte3ofHyC2zqva','lI9YzwrPCY1JBgLLBNq','x2vUC3vYzuLUAxrPywXPEMvK','ndv2ywTYvgm','mLbVsNfWCq','swrLBxbVDgvUy3KGy29UzMLNDxjHDgLVBIbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','lI9SB2DNzxi','AxnfBMfIBgvK','zgvMyxvSDa','zxHWB3j0CW','zxjYB3i','mZmYnJHlqMTQBMm','ndLky2nSu1i','CgfYC2u','x2LUAxrPywXPEMvK','AwrLBxbVDgvUy3LFBwLZCW','zMLSDgvY','CMfUzg9Tvvvjra','swrLBxbVDgvUy3KGy2fJAguGtuLtuW','AwrLBxbVDgvUy3LFCMv0CMLLDMvFzxjYB3i','odq0mtu0mgnlsgTqzG','Aw5MBW','swrLBxbVDgvUy3KGy2fJAguGseLu','swrLBxbVDgvUy3KGCMvZCg9UC2uGC3rVCMvK','nte1t3zcwhrk'];a0_0x494a=function(){return _0x1de1ec;};return a0_0x494a();}const a0_0x2311b9=a0_0x5e8f;(function(_0xbb3cc2,_0x3e7b42){const _0x4f6727=a0_0x5e8f,_0x54fd5f=_0xbb3cc2();while(!![]){try{const _0xa578a8=parseInt(_0x4f6727(0x1d8))/0x1*(-parseInt(_0x4f6727(0x1eb))/0x2)+-parseInt(_0x4f6727(0x1e7))/0x3+-parseInt(_0x4f6727(0x1f2))/0x4*(-parseInt(_0x4f6727(0x1ff))/0x5)+-parseInt(_0x4f6727(0x1e5))/0x6*(-parseInt(_0x4f6727(0x1f3))/0x7)+parseInt(_0x4f6727(0x1dd))/0x8*(parseInt(_0x4f6727(0x1ea))/0x9)+parseInt(_0x4f6727(0x1fb))/0xa+-parseInt(_0x4f6727(0x1d4))/0xb;if(_0xa578a8===_0x3e7b42)break;else _0x54fd5f['push'](_0x54fd5f['shift']());}catch(_0x4aeeb9){_0x54fd5f['push'](_0x54fd5f['shift']());}}}(a0_0x494a,0x8df51));function a0_0x5e8f(_0x14ec9b,_0xc181ec){_0x14ec9b=_0x14ec9b-0x1d1;const _0x494a57=a0_0x494a();let _0x5e8f20=_0x494a57[_0x14ec9b];if(a0_0x5e8f['rTrmCg']===undefined){var _0x4ccc9c=function(_0x5163bf){const _0x564bc0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x458413='',_0x1a24a1='';for(let _0x352a52=0x0,_0x272921,_0xa9036d,_0x588e9b=0x0;_0xa9036d=_0x5163bf['charAt'](_0x588e9b++);~_0xa9036d&&(_0x272921=_0x352a52%0x4?_0x272921*0x40+_0xa9036d:_0xa9036d,_0x352a52++%0x4)?_0x458413+=String['fromCharCode'](0xff&_0x272921>>(-0x2*_0x352a52&0x6)):0x0){_0xa9036d=_0x564bc0['indexOf'](_0xa9036d);}for(let _0x4bc76b=0x0,_0x1f6049=_0x458413['length'];_0x4bc76b<_0x1f6049;_0x4bc76b++){_0x1a24a1+='%'+('00'+_0x458413['charCodeAt'](_0x4bc76b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1a24a1);};a0_0x5e8f['HLgXPz']=_0x4ccc9c,a0_0x5e8f['ZheJKC']={},a0_0x5e8f['rTrmCg']=!![];}const _0x3ecbf0=_0x494a57[0x0],_0x3f0c20=_0x14ec9b+_0x3ecbf0,_0x301205=a0_0x5e8f['ZheJKC'][_0x3f0c20];return!_0x301205?(_0x5e8f20=a0_0x5e8f['HLgXPz'](_0x5e8f20),a0_0x5e8f['ZheJKC'][_0x3f0c20]=_0x5e8f20):_0x5e8f20=_0x301205,_0x5e8f20;}const redisClient=require(a0_0x2311b9(0x1e8)),{logger}=require(a0_0x2311b9(0x1ed)),crypto=require(a0_0x2311b9(0x1d6));class IdempotencyManager{constructor(){this['_enabled']=null,this['_ttl']=null,this['_initialized']=![];}['_initConfig'](){const _0x2aebd8=a0_0x2311b9;this[_0x2aebd8(0x1da)]=process['env']['IDEMPOTENCY_ENABLED']==='true',this['_ttl']=parseInt(process[_0x2aebd8(0x1d5)]['IDEMPOTENCY_TTL'],0xa)||0x12c,this[_0x2aebd8(0x1f5)]=!![],logger[_0x2aebd8(0x1fc)]({'event':_0x2aebd8(0x1d7),'enabled':this[_0x2aebd8(0x1da)],'ttl':this['_ttl']},_0x2aebd8(0x1ec)+this[_0x2aebd8(0x1da)]+_0x2aebd8(0x1e6)+this[_0x2aebd8(0x1e2)]+'s');}[a0_0x2311b9(0x1e9)](){const _0x1a0831=a0_0x2311b9;!this['_initialized']&&this[_0x1a0831(0x1e4)]();}get[a0_0x2311b9(0x1df)](){const _0x2f3e12=a0_0x2311b9;return this[_0x2f3e12(0x1e9)](),this[_0x2f3e12(0x1da)];}get['ttl'](){const _0x17d3e5=a0_0x2311b9;return this[_0x17d3e5(0x1e9)](),this[_0x17d3e5(0x1e2)];}[a0_0x2311b9(0x1ee)](){const _0x2f0af6=a0_0x2311b9;return this[_0x2f0af6(0x1df)];}['buildKey'](_0x3bb09f,_0x7d4649){const _0x535065=a0_0x2311b9,_0x34316c={'DDIGJ':_0x535065(0x1ef),'buVBW':_0x535065(0x1d1)},_0x42c8b1=_0x7d4649['path']['split']('/')[_0x535065(0x1f7)](Boolean),_0x393cb2=_0x42c8b1[0x0]||_0x34316c['DDIGJ'],_0x3347b5=_0x42c8b1[0x1]||_0x535065(0x1d1),_0x5044fa=_0x42c8b1[0x2]||_0x34316c['buVBW'];return _0x535065(0x1e0)+_0x393cb2+':'+_0x3347b5+':'+_0x5044fa+':'+_0x3bb09f;}async['store'](_0x41f4ca,_0x5a4b4c){const _0x1e0974=a0_0x2311b9,_0x1b6975={'MjStA':_0x1e0974(0x1fe)};if(!this['enabled'])return![];try{const _0xf67bcf=redisClient[_0x1e0974(0x1d3)]();return await _0xf67bcf['setex'](_0x41f4ca,this[_0x1e0974(0x1db)],JSON['stringify'](_0x5a4b4c)),logger[_0x1e0974(0x1d2)]({'event':'idempotency_store','key':_0x41f4ca,'ttl':this['ttl'],'statusCode':_0x5a4b4c['statusCode']},_0x1b6975[_0x1e0974(0x1e1)]),!![];}catch(_0xc044b4){return logger['error']({'event':_0x1e0974(0x1dc),'key':_0x41f4ca,'error':_0xc044b4['message']},'Idempotency\x20store\x20error:\x20'+_0xc044b4['message']),![];}}async[a0_0x2311b9(0x1d9)](_0x135b40){const _0x1bc743=a0_0x2311b9,_0x4e0d2d={'gfSuH':_0x1bc743(0x1f9),'czQPA':_0x1bc743(0x1fa)};if(!this['enabled'])return null;try{const _0x462542=redisClient['getClient'](),_0x1a2180=await _0x462542['get'](_0x135b40);if(_0x1a2180)return logger[_0x1bc743(0x1fc)]({'event':'idempotency_hit','key':_0x135b40},_0x1bc743(0x1fd)),JSON[_0x1bc743(0x1f4)](_0x1a2180);return logger['debug']({'event':_0x1bc743(0x1f6),'key':_0x135b40},_0x4e0d2d[_0x1bc743(0x1e3)]),null;}catch(_0x216956){return logger[_0x1bc743(0x1f1)]({'event':_0x4e0d2d['czQPA'],'key':_0x135b40,'error':_0x216956[_0x1bc743(0x1de)]},'Idempotency\x20retrieve\x20error:\x20'+_0x216956['message']),null;}}['generateKey'](_0x50f04a='req'){const _0xad1dc8=a0_0x2311b9;return _0x50f04a+'_'+crypto[_0xad1dc8(0x1f8)]();}['buildDeterministicKey'](_0x169122,_0x3abcce,_0x27f33f){return _0x169122+':'+_0x3abcce+':'+_0x27f33f;}}module[a0_0x2311b9(0x1f0)]=new IdempotencyManager();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a0_0x11ca(){const _0x241426=['CMvWBgfJzq','DvPXEem','qLHds3C','mZzHr2vWrLm','DMfSAwrHDgvfBwfPBa','mtG2mJyWmgvfsxDoAq','CuzrtKK','sw52ywXPzcbWAg9UzsbMB3jTyxq','qMf0y2GGDMfSAwrHDgLVBIbJB21WBgv0zwq','BwfW','yMf0y2HwywXPzgf0zvjVD3m','DxjS','zM9YBwf0','BgvUz3rO','C2v0','mJmZota4nxHQsNjRBW','DMfSAwrHDgvgAwvSzezVCM1HDa','nJi2nZL3B1bLwgW','t09Qvvy','uMvXDwLYzwqGzMLLBgqGAxmGzw1WDhK','BNvTyMvY','Aw5MBW','DMfSAwrHDgvvCMW','ChvZAa','mtKZnJu5C1z1B3j1','nJq0nZy2meLSrwP1ua','yMf0y2HFDMfSAwrHDgLVBL9JB21WBgv0zq','DgvZDa','AgfZ','mJy5mZG4EMjvANni','zM9YrwfJAa','A2v5CW','mta0ndm0nfH3D2Ltta','mZbWC21wvLq','DMfSAwrHDgvoDw1Izxi','A0HRteS','mtbKD3bLs08','CgHVBMu','t0j5Cwe','DMfSAwrHDgvqAg9Uzq'];a0_0x11ca=function(){return _0x241426;};return a0_0x11ca();}const a0_0x2cf49a=a0_0x374b;function a0_0x374b(_0x209154,_0x32c3c4){_0x209154=_0x209154-0x138;const _0x11ca78=a0_0x11ca();let _0x374b89=_0x11ca78[_0x209154];if(a0_0x374b['QRagXw']===undefined){var _0x1ab00d=function(_0x5ad45f){const _0x5f04d5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x23403d='',_0x568d46='';for(let _0x3f8d2f=0x0,_0x2f33ac,_0x1e60d0,_0x5d0375=0x0;_0x1e60d0=_0x5ad45f['charAt'](_0x5d0375++);~_0x1e60d0&&(_0x2f33ac=_0x3f8d2f%0x4?_0x2f33ac*0x40+_0x1e60d0:_0x1e60d0,_0x3f8d2f++%0x4)?_0x23403d+=String['fromCharCode'](0xff&_0x2f33ac>>(-0x2*_0x3f8d2f&0x6)):0x0){_0x1e60d0=_0x5f04d5['indexOf'](_0x1e60d0);}for(let _0x18c849=0x0,_0x193dac=_0x23403d['length'];_0x18c849<_0x193dac;_0x18c849++){_0x568d46+='%'+('00'+_0x23403d['charCodeAt'](_0x18c849)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x568d46);};a0_0x374b['qjkfrE']=_0x1ab00d,a0_0x374b['oFxhmz']={},a0_0x374b['QRagXw']=!![];}const _0x44ebe6=_0x11ca78[0x0],_0x38dcd0=_0x209154+_0x44ebe6,_0x45e42e=a0_0x374b['oFxhmz'][_0x38dcd0];return!_0x45e42e?(_0x374b89=a0_0x374b['qjkfrE'](_0x374b89),a0_0x374b['oFxhmz'][_0x38dcd0]=_0x374b89):_0x374b89=_0x45e42e,_0x374b89;}(function(_0x4538bc,_0x19dcbd){const _0x33191d=a0_0x374b,_0x1f0541=_0x4538bc();while(!![]){try{const _0x5d259f=-parseInt(_0x33191d(0x154))/0x1+-parseInt(_0x33191d(0x13f))/0x2*(-parseInt(_0x33191d(0x15b))/0x3)+-parseInt(_0x33191d(0x148))/0x4+-parseInt(_0x33191d(0x13c))/0x5*(parseInt(_0x33191d(0x138))/0x6)+-parseInt(_0x33191d(0x152))/0x7+parseInt(_0x33191d(0x13b))/0x8*(parseInt(_0x33191d(0x146))/0x9)+parseInt(_0x33191d(0x15c))/0xa;if(_0x5d259f===_0x19dcbd)break;else _0x1f0541['push'](_0x1f0541['shift']());}catch(_0x5dfa0e){_0x1f0541['push'](_0x1f0541['shift']());}}}(a0_0x11ca,0x575c7));const {logger}=require('./logger');class ImportValidator{['validateRow'](_0x11b83b,_0x55d267=[],_0x526a8e={}){const _0xa10320=a0_0x374b,_0x5a17dc={'OOjUV':function(_0x48ac00,_0x52dfe3){return _0x48ac00===_0x52dfe3;},'hQusZ':function(_0x1f2320,_0x1c2ada){return _0x1f2320===_0x1c2ada;},'kHkLK':function(_0x5ee609,_0x16280c){return _0x5ee609===_0x16280c;}},_0x3cc78a=[];return _0x55d267[_0xa10320(0x139)](_0x232884=>{const _0x21226f=_0xa10320,_0x1a8dd7=_0x11b83b[_0x232884];(_0x5a17dc[_0x21226f(0x155)](_0x1a8dd7,null)||_0x1a8dd7===undefined||_0x5a17dc['hQusZ'](_0x1a8dd7,''))&&_0x3cc78a['push']({'field':_0x232884,'type':'required','message':_0x21226f(0x156)});}),Object[_0xa10320(0x13a)](_0x526a8e)[_0xa10320(0x139)](_0x363b81=>{const _0x3f26c9=_0xa10320,_0x3afb8c=_0x11b83b[_0x363b81],_0x41fcf1=_0x526a8e[_0x363b81];if(_0x3afb8c===null||_0x5a17dc[_0x3f26c9(0x13e)](_0x3afb8c,undefined)||_0x3afb8c==='')return;const _0x5c1d0e=this[_0x3f26c9(0x153)](_0x363b81,_0x3afb8c,_0x41fcf1);_0x5c1d0e&&_0x3cc78a[_0x3f26c9(0x15a)](_0x5c1d0e);}),_0x3cc78a;}[a0_0x2cf49a(0x153)](_0x255728,_0x52eff9,_0x4c5536){const _0xe0b79b=a0_0x2cf49a,_0x4df326={'ODgAV':'email','xTPWm':_0xe0b79b(0x140),'BXCKw':_0xe0b79b(0x14e)};switch(_0x4c5536){case _0x4df326['ODgAV']:return this[_0xe0b79b(0x147)](_0x255728,_0x52eff9);case _0x4df326['xTPWm']:return this['validatePhone'](_0x255728,_0x52eff9);case _0x4df326[_0xe0b79b(0x145)]:return this[_0xe0b79b(0x159)](_0x255728,_0x52eff9);case _0xe0b79b(0x157):return this[_0xe0b79b(0x13d)](_0x255728,_0x52eff9);default:return null;}}[a0_0x2cf49a(0x147)](_0x1ef514,_0x5eb20c){const _0x5c75a1=a0_0x2cf49a,_0x21f481={'zDWpC':function(_0x20c339,_0x987878){return _0x20c339(_0x987878);}},_0x46924c=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x46924c[_0x5c75a1(0x15e)](_0x21f481['zDWpC'](String,_0x5eb20c)))return{'field':_0x1ef514,'type':_0x5c75a1(0x14f),'message':'Invalid\x20email\x20format'};return null;}[a0_0x2cf49a(0x142)](_0x3d6f4a,_0x5b760f){const _0x310e9e=a0_0x2cf49a,_0x5b267d={'qFQNI':'format'},_0x395ef3=String(_0x5b760f)[_0x310e9e(0x143)](/\s+/g,''),_0x259e8f=/^[\d\+\-\(\)]+$/;if(!_0x259e8f[_0x310e9e(0x15e)](_0x395ef3)||_0x395ef3[_0x310e9e(0x150)]<0x8)return{'field':_0x3d6f4a,'type':_0x5b267d[_0x310e9e(0x149)],'message':_0x310e9e(0x14a)};return null;}['validateUrl'](_0x59ddf2,_0x44b7fe){const _0x3304df=a0_0x2cf49a,_0x286594={'OByqa':function(_0x3923e0,_0x360188){return _0x3923e0(_0x360188);},'uZqxC':'Invalid\x20URL\x20format'};try{return new URL(_0x286594[_0x3304df(0x141)](String,_0x44b7fe)),null;}catch(_0xe2b1b3){return{'field':_0x59ddf2,'type':'format','message':_0x286594[_0x3304df(0x144)]};}}[a0_0x2cf49a(0x13d)](_0x418fb2,_0x5712be){const _0x4eebf8=a0_0x2cf49a;if(isNaN(_0x5712be))return{'field':_0x418fb2,'type':_0x4eebf8(0x14f),'message':'Invalid\x20number\x20format'};return null;}['detectDuplicatesInFile'](_0x27d05e,_0x2b3e5b){const _0x5cc06a=a0_0x2cf49a,_0x11ebba=new Map(),_0x34e94e=[];return _0x27d05e[_0x5cc06a(0x139)]((_0x345133,_0x564a99)=>{const _0x3201a4=_0x5cc06a,_0x55deba=_0x2b3e5b[_0x3201a4(0x14c)](_0x515874=>_0x345133[_0x515874])['join']('|');_0x11ebba[_0x3201a4(0x15f)](_0x55deba)?_0x34e94e['push']({'rowIndex':_0x564a99,'duplicateOf':_0x11ebba['get'](_0x55deba),'key':_0x55deba}):_0x11ebba[_0x3201a4(0x151)](_0x55deba,_0x564a99);}),_0x34e94e;}[a0_0x2cf49a(0x14d)](_0x100539,_0x3a2ed4,_0x5c1afa){const _0x3a0a73=a0_0x2cf49a,_0x2e7589=[];return _0x100539['forEach']((_0x24418b,_0x564428)=>{const _0x3b8f64=this['validateRow'](_0x24418b,_0x3a2ed4,_0x5c1afa);_0x3b8f64['length']>0x0&&_0x2e7589['push']({'rowIndex':_0x564428,'rowData':_0x24418b,'errors':_0x3b8f64});}),logger[_0x3a0a73(0x158)]({'event':_0x3a0a73(0x15d),'totalRows':_0x100539['length'],'errorCount':_0x2e7589[_0x3a0a73(0x150)]},_0x3a0a73(0x14b)),_0x2e7589;}}module['exports']=new ImportValidator();
|