@restforgejs/platform 4.3.2 → 4.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/dashboard/create.js +0 -1
- package/generators/cli/endpoint/create.js +1 -1
- package/generators/lib/generators/model-generator.js +1 -1
- package/generators/lib/payload/endpoint-schema-validator.js +11 -1
- package/generators/lib/payload/payload-runner.js +3 -3
- package/generators/lib/payload/schema-diff.js +186 -3
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/generators/lib/utils/conflict-checker.js +9 -57
- package/generators/lib/utils/database-introspector.js +84 -0
- package/generators/lib/utils/file-utils.js +0 -159
- package/generators/lib/utils/payload-processor.js +21 -112
- package/integrity-manifest.json +18 -18
- 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_0x4699fa=a0_0x48ec;(function(_0xbf0e14,_0x513675){const _0x4890f6=a0_0x48ec,_0x4b508d=_0xbf0e14();while(!![]){try{const _0x587a6f=parseInt(_0x4890f6(0x1e5))/0x1+-parseInt(_0x4890f6(0x260))/0x2*(-parseInt(_0x4890f6(0x18a))/0x3)+-parseInt(_0x4890f6(0x279))/0x4+-parseInt(_0x4890f6(0x197))/0x5*(-parseInt(_0x4890f6(0x1fd))/0x6)+-parseInt(_0x4890f6(0x250))/0x7*(parseInt(_0x4890f6(0x1c5))/0x8)+-parseInt(_0x4890f6(0x241))/0x9+parseInt(_0x4890f6(0x18b))/0xa*(-parseInt(_0x4890f6(0x274))/0xb);if(_0x587a6f===_0x513675)break;else _0x4b508d['push'](_0x4b508d['shift']());}catch(_0x1b35c1){_0x4b508d['push'](_0x4b508d['shift']());}}}(a0_0x25a6,0x8a069));function a0_0x48ec(_0x70a707,_0x4cb381){_0x70a707=_0x70a707-0x157;const _0x25a600=a0_0x25a6();let _0x48ec2b=_0x25a600[_0x70a707];if(a0_0x48ec['puKHIQ']===undefined){var _0x507c91=function(_0x51e40d){const _0x48a397='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x22d450='',_0x131fc0='';for(let _0x1a8da0=0x0,_0x47233f,_0x50056a,_0x5bc4c2=0x0;_0x50056a=_0x51e40d['charAt'](_0x5bc4c2++);~_0x50056a&&(_0x47233f=_0x1a8da0%0x4?_0x47233f*0x40+_0x50056a:_0x50056a,_0x1a8da0++%0x4)?_0x22d450+=String['fromCharCode'](0xff&_0x47233f>>(-0x2*_0x1a8da0&0x6)):0x0){_0x50056a=_0x48a397['indexOf'](_0x50056a);}for(let _0x35750d=0x0,_0x5e0297=_0x22d450['length'];_0x35750d<_0x5e0297;_0x35750d++){_0x131fc0+='%'+('00'+_0x22d450['charCodeAt'](_0x35750d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x131fc0);};a0_0x48ec['zEPTOD']=_0x507c91,a0_0x48ec['PilLaM']={},a0_0x48ec['puKHIQ']=!![];}const _0x1eccfe=_0x25a600[0x0],_0x897f0e=_0x70a707+_0x1eccfe,_0xc2b215=a0_0x48ec['PilLaM'][_0x897f0e];return!_0xc2b215?(_0x48ec2b=a0_0x48ec['zEPTOD'](_0x48ec2b),a0_0x48ec['PilLaM'][_0x897f0e]=_0x48ec2b):_0x48ec2b=_0xc2b215,_0x48ec2b;}const crypto=require('crypto'),redisClient=require('./redis-client'),{logger}=require('./logger'),idempotencyManager=require('./idempotency-manager'),ALLOWED_FORMATS=new Set(['text','yyyy','yyyymm',a0_0x4699fa(0x1d0)]),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=a0_0x4699fa(0x218),CHARSET_LOWER='abcdefghijklmnopqrstuvwxyz',CHARSET_LETTERS=CHARSET_UPPER+CHARSET_LOWER,CHARSET_UPPER_ALNUM=CHARSET_UPPER+CHARSET_DIGIT,CHARSET_MIXED_ALNUM=CHARSET_UPPER+CHARSET_LOWER+CHARSET_DIGIT,CHARSET_HEX_UPPER='0123456789ABCDEF',CHARSET_HEX_LOWER='0123456789abcdef',PLACEHOLDER_MAP={'9':CHARSET_DIGIT,'N':CHARSET_DIGIT,'A':CHARSET_UPPER,'a':CHARSET_LOWER,'L':CHARSET_LETTERS,'X':CHARSET_UPPER_ALNUM,'x':CHARSET_MIXED_ALNUM,'H':CHARSET_HEX_UPPER,'h':CHARSET_HEX_LOWER},LUA_GENERATE_NUMBER='\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_0x4699fa(0x1a3),LUA_CONFIRM_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27,\x20\x27isReused\x27,\x20\x27createdAt\x27,\x20\x27expiresAt\x27)\x0aredis.call(\x27DEL\x27,\x20KEYS[1])\x0aredis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0areturn\x20{\x201,\x20h[1],\x20h[2],\x20h[3],\x20h[4],\x20h[5],\x20h[6]\x20}\x0a',LUA_CANCEL_RESERVATION=a0_0x4699fa(0x1de),LUA_EXTEND_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27,\x20\x27isReused\x27,\x20\x27createdAt\x27)\x0alocal\x20prevExpiresAt\x20=\x20h[1]\x0alocal\x20newTtlMs\x20=\x20tonumber(ARGV[2])\x0alocal\x20newExpMs\x20=\x20tonumber(ARGV[3])\x0aredis.call(\x27PEXPIRE\x27,\x20KEYS[1],\x20newTtlMs)\x0aredis.call(\x27HSET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20ARGV[4])\x0aredis.call(\x27ZADD\x27,\x20KEYS[2],\x20newExpMs,\x20ARGV[1])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[2],\x20math.floor(newTtlMs\x20/\x201000)\x20+\x2060)\x0areturn\x20{\x201,\x20prevExpiresAt,\x20h[2],\x20h[3],\x20h[4],\x20h[5],\x20h[6]\x20}\x0a';class IdGeneratorError extends Error{constructor(_0x56d958,_0x55aa9b,_0x16581a=null){const _0xbdd0b2=a0_0x4699fa,_0x6cd12={'NVWtS':function(_0x544567,_0x1bd3d8){return _0x544567||_0x1bd3d8;}};super(_0x6cd12[_0xbdd0b2(0x240)](_0x55aa9b,_0x56d958)),this[_0xbdd0b2(0x187)]='IdGeneratorError',this[_0xbdd0b2(0x1f7)]=_0x56d958,this['details']=_0x16581a;}}class IdGenerator{constructor(){const _0x4828d8=a0_0x4699fa,_0x3f1232={'mGrMK':'4|10|8|1|5|0|2|6|3|11|7|9'},_0x87364d=_0x3f1232['mGrMK']['split']('|');let _0x33d098=0x0;while(!![]){switch(_0x87364d[_0x33d098++]){case'0':this['_defaultMaxRetry']=null;continue;case'1':this['_idemTTL']=null;continue;case'2':this['_defaultPinDigits']=null;continue;case'3':this['_defaultCodePattern']=null;continue;case'4':this[_0x4828d8(0x253)]=![];continue;case'5':this['_allowReset']=null;continue;case'6':this[_0x4828d8(0x1b2)]=null;continue;case'7':this['_reserveDefaultTTL']=null;continue;case'8':this['_keyPrefix']=null;continue;case'9':this['_reserveMaxTTL']=null;continue;case'10':this['_enabled']=null;continue;case'11':this['_counterTTLMap']=null;continue;}break;}}['_initConfig'](){const _0x49890f=a0_0x4699fa,_0x5d3040={'rlwjA':_0x49890f(0x25a),'rhLHL':'true','ZpQKM':function(_0x5ef272,_0x28b456,_0x474963){return _0x5ef272(_0x28b456,_0x474963);},'GtcWu':'9999-9999','QGzmg':'idgen_config_init'};this['_keyPrefix']=_0x5d3040[_0x49890f(0x200)],this[_0x49890f(0x1ae)]=process['env']['IDGEN_ENABLED']===_0x5d3040[_0x49890f(0x254)],this[_0x49890f(0x1ba)]=parseInt(process['env']['IDGEN_IDEM_TTL'],0xa)||0x258,this['_allowReset']=process['env']['IDGEN_ALLOW_RESET']===_0x5d3040['rhLHL'],this['_defaultMaxRetry']=parseInt(process['env'][_0x49890f(0x16b)],0xa)||0xa,this[_0x49890f(0x19c)]=_0x5d3040[_0x49890f(0x21d)](parseInt,process['env']['IDGEN_DEFAULT_PIN_DIGITS'],0xa)||0x6,this['_defaultSerialPattern']=process[_0x49890f(0x22c)]['IDGEN_DEFAULT_SERIAL_PATTERN']||'XXXX-XXXX-XXXX-XXXX',this['_defaultCodePattern']=process['env']['IDGEN_DEFAULT_CODE_PATTERN']||_0x5d3040[_0x49890f(0x23e)],this[_0x49890f(0x15a)]={'yyyymm':parseInt(process[_0x49890f(0x22c)]['IDGEN_COUNTER_TTL_MONTHLY'],0xa)||0x2a3000,'yyyymmdd':_0x5d3040[_0x49890f(0x21d)](parseInt,process['env']['IDGEN_COUNTER_TTL_DAILY'],0xa)||0x2a300},this['_reserveDefaultTTL']=parseInt(process[_0x49890f(0x22c)][_0x49890f(0x1ef)],0xa)||DEFAULT_RESERVE_TTL,this[_0x49890f(0x1a9)]=_0x5d3040['ZpQKM'](parseInt,process[_0x49890f(0x22c)][_0x49890f(0x1bf)],0xa)||MAX_RESERVE_TTL,this['_initialized']=!![],logger['info']({'event':_0x5d3040[_0x49890f(0x15e)],'enabled':this['_enabled'],'idemTTL':this['_idemTTL'],'allowReset':this['_allowReset'],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this['_defaultPinDigits'],'reserveDefaultTTL':this['_reserveDefaultTTL'],'reserveMaxTTL':this['_reserveMaxTTL']},_0x49890f(0x165)+this[_0x49890f(0x1ae)]);}[a0_0x4699fa(0x228)](){const _0x25a4b9=a0_0x4699fa;if(!this[_0x25a4b9(0x253)])this['_initConfig']();}get['enabled'](){return this['_ensureInitialized'](),this['_enabled'];}get['keyPrefix'](){const _0x39a346=a0_0x4699fa;return this[_0x39a346(0x228)](),this[_0x39a346(0x19f)];}get['idemTTL'](){const _0x169927=a0_0x4699fa;return this['_ensureInitialized'](),this[_0x169927(0x1ba)];}get['allowReset'](){const _0x456c3d=a0_0x4699fa;return this['_ensureInitialized'](),this[_0x456c3d(0x1c7)];}get['defaultMaxRetry'](){return this['_ensureInitialized'](),this['_defaultMaxRetry'];}get[a0_0x4699fa(0x21b)](){const _0x3a27ae=a0_0x4699fa;return this[_0x3a27ae(0x228)](),this[_0x3a27ae(0x19c)];}get[a0_0x4699fa(0x257)](){const _0x34ed66=a0_0x4699fa;return this['_ensureInitialized'](),this[_0x34ed66(0x1b2)];}get[a0_0x4699fa(0x267)](){return this['_ensureInitialized'](),this['_defaultCodePattern'];}get['reserveDefaultTTL'](){const _0x2562c6=a0_0x4699fa;return this[_0x2562c6(0x228)](),this[_0x2562c6(0x1d4)];}get[a0_0x4699fa(0x230)](){const _0x195147=a0_0x4699fa;return this['_ensureInitialized'](),this[_0x195147(0x1a9)];}['isEnabled'](){const _0x37b6f1=a0_0x4699fa;return this[_0x37b6f1(0x264)];}['_validateResource'](_0x3b8f8e){const _0x56250c=a0_0x4699fa;if(typeof _0x3b8f8e!==_0x56250c(0x1e4)||!RESOURCE_REGEX[_0x56250c(0x16d)](_0x3b8f8e))throw new IdGeneratorError(_0x56250c(0x192),_0x56250c(0x23a)+RESOURCE_REGEX+'\x20(got:\x20'+JSON['stringify'](_0x3b8f8e)+')');}[a0_0x4699fa(0x25b)](_0x9056a3){const _0x3547a4=a0_0x4699fa,_0x3162a3={'mFANe':_0x3547a4(0x1e4),'jiMHl':function(_0x2a25b4,_0x29f545){return _0x2a25b4<_0x29f545;},'yPwol':'IDGEN_INVALID_NUM_DIGITS','kUfvr':function(_0x567123,_0x11643b){return _0x567123==_0x11643b;},'hcJbJ':function(_0x3f733a,_0x48f3ec){return _0x3f733a!==_0x48f3ec;},'Vvaiu':'IDGEN_INVALID_PREFIX','GxnRb':function(_0x46c4bc,_0x2743ea){return _0x46c4bc!==_0x2743ea;},'xaFqk':_0x3547a4(0x192),'exRNx':function(_0x1b21f2,_0x83b15e){return _0x1b21f2===_0x83b15e;}},{resource:_0x2cbdf2,format:_0xc8be3b,prefix:_0x11de6f,separator:_0x37c07d,numDigits:_0x2ab674,reuseDelete:_0x4ad915}=_0x9056a3;this[_0x3547a4(0x1b5)](_0x2cbdf2);const _0x5c76bb=typeof _0xc8be3b===_0x3162a3['mFANe']?_0xc8be3b['toLowerCase']():'';if(!ALLOWED_FORMATS['has'](_0x5c76bb))throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0x3547a4(0x194)+[...ALLOWED_FORMATS][_0x3547a4(0x21c)](',\x20')+'\x20(got:\x20'+_0xc8be3b+')');if(!Number['isInteger'](_0x2ab674)||_0x3162a3['jiMHl'](_0x2ab674,MIN_NUM_DIGITS)||_0x2ab674>MAX_NUM_DIGITS)throw new IdGeneratorError(_0x3162a3['yPwol'],_0x3547a4(0x239)+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+'\x20(got:\x20'+_0x2ab674+')');const _0x46879a=_0x3162a3[_0x3547a4(0x161)](_0x11de6f,null)?'':_0x11de6f;if(_0x3162a3['hcJbJ'](typeof _0x46879a,_0x3162a3['mFANe'])||!PREFIX_REGEX['test'](_0x46879a))throw new IdGeneratorError(_0x3162a3[_0x3547a4(0x171)],_0x3547a4(0x237)+PREFIX_REGEX+_0x3547a4(0x27a)+JSON[_0x3547a4(0x238)](_0x11de6f)+')');const _0x4a6d30=_0x37c07d==null?'':_0x37c07d;if(_0x3162a3['GxnRb'](typeof _0x4a6d30,_0x3547a4(0x1e4))||_0x4a6d30[_0x3547a4(0x1ab)]>0x3||SEPARATOR_FORBIDDEN[_0x3547a4(0x16d)](_0x4a6d30))throw new IdGeneratorError('IDGEN_INVALID_SEPARATOR',_0x3547a4(0x1dc)+JSON['stringify'](_0x37c07d)+')');if(_0x4ad915!=null&&typeof _0x4ad915!==_0x3547a4(0x24d))throw new IdGeneratorError(_0x3162a3['xaFqk'],'Invalid\x20reuseDelete:\x20must\x20be\x20boolean\x20(got:\x20'+typeof _0x4ad915+')');return{'resource':_0x2cbdf2,'format':_0x5c76bb,'prefix':_0x46879a,'separator':_0x4a6d30,'numDigits':_0x2ab674,'reuseDelete':_0x3162a3[_0x3547a4(0x15b)](_0x4ad915,!![])};}[a0_0x4699fa(0x26e)](_0x3197fb){const _0x1757dd=a0_0x4699fa,_0x1c7f99={'rCmHA':function(_0x4c76d9,_0x7024a0){return _0x4c76d9!==_0x7024a0;},'Ptmuf':'string','LXVnS':'IDGEN_INVALID_PATTERN'};if(_0x1c7f99['rCmHA'](typeof _0x3197fb,_0x1c7f99['Ptmuf'])||_0x3197fb['length']===0x0||_0x3197fb[_0x1757dd(0x1ab)]>MAX_PATTERN_LENGTH)throw new IdGeneratorError(_0x1c7f99['LXVnS'],_0x1757dd(0x1f5)+MAX_PATTERN_LENGTH+_0x1757dd(0x246)+(_0x3197fb&&_0x3197fb[_0x1757dd(0x1ab)])+')');let _0x19231a=![];for(const _0x4722ad of _0x3197fb){if(PLACEHOLDER_MAP[_0x4722ad]){_0x19231a=!![];break;}}if(!_0x19231a)throw new IdGeneratorError(_0x1c7f99['LXVnS'],_0x1757dd(0x19e));}[a0_0x4699fa(0x1d2)](_0x5c77a5){const _0x16f00a=a0_0x4699fa,_0x131182={'AcKdi':function(_0x465000,_0x133b4e){return _0x465000==_0x133b4e;},'IzVfb':_0x16f00a(0x229)};if(_0x131182[_0x16f00a(0x271)](_0x5c77a5,null))return undefined;if(!Number['isInteger'](_0x5c77a5)||_0x5c77a5<0x1||_0x5c77a5>MAX_TTL)throw new IdGeneratorError(_0x131182['IzVfb'],_0x16f00a(0x1df)+MAX_TTL+_0x16f00a(0x1ed)+_0x5c77a5+')');return _0x5c77a5;}[a0_0x4699fa(0x22e)](_0x3b17a9){const _0x2ac408=a0_0x4699fa,_0x2a8fba={'SaOkO':function(_0x2740d4,_0x5146e0){return _0x2740d4<_0x5146e0;}};if(_0x3b17a9==null)return this[_0x2ac408(0x25d)];if(!Number[_0x2ac408(0x244)](_0x3b17a9)||_0x2a8fba[_0x2ac408(0x17b)](_0x3b17a9,0x1)||_0x3b17a9>MAX_RETRY_LIMIT)throw new IdGeneratorError(_0x2ac408(0x242),_0x2ac408(0x1ca)+MAX_RETRY_LIMIT+'\x20(got:\x20'+_0x3b17a9+')');return _0x3b17a9;}['_validateIdempotencyKey'](_0x385aad){const _0x2db34f=a0_0x4699fa,_0x9e5a15={'SkqdO':function(_0x359332,_0x581211){return _0x359332==_0x581211;},'hUtvR':function(_0x38edbc,_0x3373ec){return _0x38edbc!==_0x3373ec;},'GHzLF':'string','JXFlz':function(_0x17d1d7,_0x347064){return _0x17d1d7>_0x347064;},'DKgTm':'IDGEN_INVALID_RESOURCE'};if(_0x9e5a15[_0x2db34f(0x1ad)](_0x385aad,null))return undefined;if(_0x9e5a15['hUtvR'](typeof _0x385aad,_0x9e5a15[_0x2db34f(0x1cf)])||_0x385aad['length']===0x0||_0x9e5a15[_0x2db34f(0x1a5)](_0x385aad[_0x2db34f(0x1ab)],MAX_IDEMPOTENCY_KEY_LENGTH))throw new IdGeneratorError(_0x9e5a15['DKgTm'],_0x2db34f(0x159)+MAX_IDEMPOTENCY_KEY_LENGTH+_0x2db34f(0x18d));return _0x385aad;}[a0_0x4699fa(0x191)](_0xcaef92){const _0x428563=a0_0x4699fa,_0x30157b={'FvTAq':function(_0x4b7d89,_0x90cac5){return _0x4b7d89<_0x90cac5;},'oMLdJ':function(_0x1ccd4b,_0x33e58b){return _0x1ccd4b>_0x33e58b;}};if(_0xcaef92==null)return this['reserveDefaultTTL'];if(!Number[_0x428563(0x244)](_0xcaef92)||_0x30157b[_0x428563(0x1e7)](_0xcaef92,MIN_RESERVE_TTL)||_0x30157b['oMLdJ'](_0xcaef92,this['reserveMaxTTL']))throw new IdGeneratorError('IDGEN_INVALID_RESERVE_TTL','Invalid\x20reservation\x20ttl:\x20must\x20be\x20integer\x20'+MIN_RESERVE_TTL+'-'+this[_0x428563(0x230)]+'\x20seconds\x20(got:\x20'+_0xcaef92+')');return _0xcaef92;}['_validateReservationToken'](_0x4df318){const _0x42ce99=a0_0x4699fa,_0x3b8ce3={'dONyP':'IDGEN_INVALID_TOKEN'};if(typeof _0x4df318!=='string'||!RESERVATION_TOKEN_REGEX['test'](_0x4df318))throw new IdGeneratorError(_0x3b8ce3['dONyP'],_0x42ce99(0x202)+JSON[_0x42ce99(0x238)](_0x4df318)+')');return _0x4df318;}['_pad2'](_0x54cf8b){return String(_0x54cf8b)['padStart'](0x2,'0');}['_buildFormatKey'](_0x2f8a76,_0x4367d7,_0x52bbbd=new Date()){const _0x1e5320=a0_0x4699fa,_0x19ab95={'qftgV':function(_0x32282f,_0x4a249b){return _0x32282f+_0x4a249b;},'LjuoS':function(_0xaa6297,_0x490f0b){return _0xaa6297||_0x490f0b;},'fwkoU':_0x1e5320(0x219),'dbjPV':_0x1e5320(0x1d0),'CQNrm':'IDGEN_INVALID_FORMAT'},_0x4ddc3a=_0x52bbbd['getFullYear'](),_0x5ab96f=this[_0x1e5320(0x245)](_0x19ab95['qftgV'](_0x52bbbd[_0x1e5320(0x24c)](),0x1)),_0x9a899b=this[_0x1e5320(0x245)](_0x52bbbd[_0x1e5320(0x259)]()),_0x155321=_0x19ab95['LjuoS'](_0x4367d7,'_');let _0x13bdd6,_0x5db65c='';switch(_0x2f8a76){case'text':_0x13bdd6=_0x155321+'_text';break;case'yyyy':_0x5db65c=''+_0x4ddc3a,_0x13bdd6=_0x155321+_0x1e5320(0x16c)+_0x5db65c;break;case _0x19ab95[_0x1e5320(0x180)]:_0x5db65c=''+_0x4ddc3a+_0x5ab96f,_0x13bdd6=_0x155321+'_yyyymm_'+_0x5db65c;break;case _0x19ab95[_0x1e5320(0x22b)]:_0x5db65c=''+_0x4ddc3a+_0x5ab96f+_0x9a899b,_0x13bdd6=_0x155321+'_yyyymmdd_'+_0x5db65c;break;default:throw new IdGeneratorError(_0x19ab95['CQNrm'],'Unknown\x20format:\x20'+_0x2f8a76);}return{'formatKey':_0x13bdd6,'datePrefix':_0x5db65c};}['_buildSeqKey'](_0xc3378f,_0x3a464e){const _0x3de8a5=a0_0x4699fa;return this[_0x3de8a5(0x16e)]+'seq:'+_0xc3378f+':'+_0x3a464e;}[a0_0x4699fa(0x1c6)](_0x50fbf1,_0x1f9509){const _0x129a94=a0_0x4699fa;return this[_0x129a94(0x16e)]+_0x129a94(0x190)+_0x50fbf1+':'+_0x1f9509;}['_buildMetaKey'](_0x52d21c,_0x273d0c){const _0x22f1ad=a0_0x4699fa;return this['keyPrefix']+_0x22f1ad(0x1e3)+_0x52d21c+':'+_0x273d0c;}[a0_0x4699fa(0x1a6)](_0x106610){return this['keyPrefix']+'issued:'+_0x106610;}['_buildActiveKey'](_0x1c0f24,_0x3dd4d8){return this['keyPrefix']+'active:'+_0x1c0f24+':'+_0x3dd4d8;}['_buildReservationKey'](_0x24b4bb){const _0x3bd847=a0_0x4699fa;return this['keyPrefix']+_0x3bd847(0x157)+_0x24b4bb;}['_buildReservationIndexKey'](_0x2f6804,_0x3a1af7){const _0x5ed344=a0_0x4699fa;return this[_0x5ed344(0x16e)]+'rsv_idx:'+_0x2f6804+':'+_0x3a1af7;}[a0_0x4699fa(0x1b4)](){const _0x205ddd=a0_0x4699fa;return this[_0x205ddd(0x16e)]+_0x205ddd(0x157);}[a0_0x4699fa(0x25e)](_0x2cd3d0,_0x3f406b,_0x333b14,_0x1a038f){const _0x16379d=a0_0x4699fa,_0x350e5b={'KzHhz':_0x16379d(0x1a8)};if(_0x333b14)return idempotencyManager[_0x16379d(0x189)]('idgen',_0x2cd3d0,_0x3f406b+':'+_0x333b14+':'+_0x1a038f);return idempotencyManager[_0x16379d(0x189)](_0x350e5b[_0x16379d(0x1e0)],_0x2cd3d0,_0x3f406b+':'+_0x1a038f);}['_getCounterTTL'](_0x1a92ab){return this['_counterTTLMap'][_0x1a92ab]||0x0;}[a0_0x4699fa(0x183)]({format:_0x4d53c1,prefix:_0x3ded8d,datePrefix:_0xd16924,separator:_0x403230,numDigits:_0x4f16f4,counterInt:_0x2e444a}){const _0x1b4792=a0_0x4699fa,_0x749cb8={'otTwX':_0x1b4792(0x1a7)},_0x177c2e=Math['pow'](0xa,_0x4f16f4)-0x1;if(_0x2e444a>_0x177c2e)throw new IdGeneratorError(_0x1b4792(0x258),_0x1b4792(0x1db)+_0x2e444a+'\x20exceeds\x20'+_0x4f16f4+'-digit\x20capacity\x20('+_0x177c2e+_0x1b4792(0x1b8),{'counterInt':_0x2e444a,'numDigits':_0x4f16f4,'max':_0x177c2e});const _0x4641e3=String(_0x2e444a)['padStart'](_0x4f16f4,'0');if(_0x4d53c1===_0x749cb8['otTwX'])return _0x3ded8d?''+_0x3ded8d+_0x403230+_0x4641e3:_0x4641e3;return _0x3ded8d?''+_0x3ded8d+_0x403230+_0xd16924+_0x403230+_0x4641e3:''+_0xd16924+_0x403230+_0x4641e3;}['_parseNumber']({format:_0x469bba,prefix:_0x52ea20,separator:_0x3723a6,numDigits:_0x2eeb91,number:_0x35ac34}){const _0x210652=a0_0x4699fa,_0x6ed6b6={'umDrP':function(_0x5171ce,_0x2d2508){return _0x5171ce!==_0x2d2508;},'zSlVz':'string','nJzfT':'IDGEN_INVALID_NUMBER','gfwrH':function(_0x17cc95,_0x503027){return _0x17cc95||_0x503027;},'mznBA':function(_0x50975e,_0x5382b3){return _0x50975e===_0x5382b3;},'BziTp':function(_0x207f86,_0x22e868){return _0x207f86!==_0x22e868;},'zlJxm':function(_0x532264,_0x53716f){return _0x532264!==_0x53716f;},'BufNT':_0x210652(0x219)};if(_0x6ed6b6[_0x210652(0x1e2)](typeof _0x35ac34,_0x6ed6b6[_0x210652(0x23b)])||_0x35ac34['length']===0x0)throw new IdGeneratorError(_0x6ed6b6[_0x210652(0x1f4)],_0x210652(0x16a));const _0x2994ce=_0x6ed6b6['gfwrH'](_0x3723a6,''),_0x4e6797=_0x6ed6b6[_0x210652(0x20c)](_0x2994ce,'')?[_0x35ac34]:_0x35ac34['split'](_0x2994ce);let _0x4fdaee='',_0x269a7c;if(_0x469bba===_0x210652(0x1a7)){if(_0x52ea20){if(_0x4e6797[_0x210652(0x1ab)]!==0x2||_0x4e6797[0x0]!==_0x52ea20)throw new IdGeneratorError(_0x6ed6b6['nJzfT'],_0x210652(0x1a2)+_0x2994ce+_0x210652(0x167)+_0x35ac34+')');_0x269a7c=_0x4e6797[0x1];}else{if(_0x6ed6b6['BziTp'](_0x4e6797['length'],0x1))throw new IdGeneratorError(_0x6ed6b6[_0x210652(0x1f4)],'Number\x20does\x20not\x20match\x20expected\x20text\x20format\x20(got:\x20'+_0x35ac34+')');_0x269a7c=_0x4e6797[0x0];}}else{const _0x21b5e3=_0x52ea20?0x3:0x2;if(_0x6ed6b6[_0x210652(0x1b6)](_0x4e6797['length'],_0x21b5e3))throw new IdGeneratorError('IDGEN_INVALID_NUMBER','Number\x20does\x20not\x20match\x20expected\x20format\x20(got:\x20'+_0x35ac34+',\x20expected\x20'+_0x21b5e3+_0x210652(0x18c));let _0x24bcbd=0x0;if(_0x52ea20){if(_0x6ed6b6[_0x210652(0x1b6)](_0x4e6797[_0x24bcbd],_0x52ea20))throw new IdGeneratorError(_0x6ed6b6['nJzfT'],'Number\x20prefix\x20mismatch:\x20expected\x20'+_0x52ea20+_0x210652(0x17c)+_0x4e6797[_0x24bcbd]);_0x24bcbd++;}_0x4fdaee=_0x4e6797[_0x24bcbd++];const _0x34505c=_0x469bba==='yyyy'?/^\d{4}$/:_0x469bba===_0x6ed6b6[_0x210652(0x26b)]?/^\d{6}$/:/^\d{8}$/;if(!_0x34505c['test'](_0x4fdaee))throw new IdGeneratorError(_0x210652(0x193),'Number\x20datePrefix\x20invalid\x20for\x20format\x20'+_0x469bba+':\x20'+_0x4fdaee);_0x269a7c=_0x4e6797[_0x24bcbd];}if(!new RegExp(_0x210652(0x235)+_0x2eeb91+'}$')['test'](_0x269a7c))throw new IdGeneratorError(_0x6ed6b6['nJzfT'],_0x210652(0x272)+_0x2eeb91+'\x20digits\x20(got:\x20'+_0x269a7c+')');const _0x2cf10f=parseInt(_0x269a7c,0xa),_0x593da4=_0x6ed6b6[_0x210652(0x188)](_0x52ea20,'_');let _0x18292b;return _0x469bba==='text'?_0x18292b=_0x593da4+_0x210652(0x275):_0x18292b=_0x593da4+'_'+_0x469bba+'_'+_0x4fdaee,{'formatKey':_0x18292b,'counterInt':_0x2cf10f,'datePrefix':_0x4fdaee};}['_generateFromPattern'](_0x59489e){let _0x21eadd='';for(const _0x5581f4 of _0x59489e){const _0x1d2b8a=PLACEHOLDER_MAP[_0x5581f4];if(_0x1d2b8a){const _0x221bad=crypto['randomInt'](0x0,_0x1d2b8a['length']);_0x21eadd+=_0x1d2b8a[_0x221bad];}else _0x21eadd+=_0x5581f4;}return _0x21eadd;}async['_retrieveIdemCache'](_0x514857){const _0x343f9f=a0_0x4699fa,_0x2a1213={'xOAPe':_0x343f9f(0x1f0),'wBqbI':_0x343f9f(0x221),'EqVkI':'Idempotency\x20retrieve\x20error'};if(!_0x514857)return null;try{const _0x308ba6=redisClient[_0x343f9f(0x158)](),_0x2097a9=await _0x308ba6[_0x343f9f(0x1ac)](_0x514857);if(_0x2097a9)return logger['info']({'event':_0x343f9f(0x1cb),'key':_0x514857},_0x2a1213[_0x343f9f(0x214)]),JSON[_0x343f9f(0x20d)](_0x2097a9);return null;}catch(_0x23b3e2){return logger[_0x343f9f(0x277)]({'event':_0x2a1213[_0x343f9f(0x273)],'error':_0x23b3e2[_0x343f9f(0x26d)]},_0x2a1213['EqVkI']),null;}}async[a0_0x4699fa(0x269)](_0x82a7c1,_0xb69081){const _0x398b61=a0_0x4699fa,_0x2d44ba={'nmgPL':'idgen_idem_store_error','HnWFb':_0x398b61(0x24b)};if(!_0x82a7c1)return;try{const _0x5bebbe=redisClient[_0x398b61(0x158)]();await _0x5bebbe['setex'](_0x82a7c1,this['idemTTL'],JSON['stringify'](_0xb69081));}catch(_0x50a36c){logger['warn']({'event':_0x2d44ba['nmgPL'],'error':_0x50a36c['message']},_0x2d44ba['HnWFb']);}}async['_storeIdemCacheNX'](_0x544700,_0x4ce75c){const _0x207ce8=a0_0x4699fa,_0x1c26f2={'hDvTO':function(_0x3e325a,_0x2a892b){return _0x3e325a===_0x2a892b;},'mdTxo':_0x207ce8(0x1b7)};if(!_0x544700)return{'stored':!![],'winnerResult':null};try{const _0x8d100=redisClient['getClient'](),_0x53fadd=JSON['stringify'](_0x4ce75c),_0x439df0=await _0x8d100['set'](_0x544700,_0x53fadd,'EX',this['idemTTL'],'NX');if(_0x1c26f2['hDvTO'](_0x439df0,'OK'))return{'stored':!![],'winnerResult':null};const _0x504c95=await _0x8d100[_0x207ce8(0x1ac)](_0x544700);if(_0x504c95)return{'stored':![],'winnerResult':JSON[_0x207ce8(0x20d)](_0x504c95)};return logger[_0x207ce8(0x277)]({'event':_0x207ce8(0x255),'key':_0x544700},'SET\x20NX\x20failed\x20but\x20cache\x20GET\x20returned\x20empty\x20—\x20falling\x20back\x20to\x20own\x20result'),{'stored':!![],'winnerResult':null};}catch(_0x5a4131){return logger[_0x207ce8(0x277)]({'event':_0x1c26f2['mdTxo'],'error':_0x5a4131[_0x207ce8(0x26d)]},'Idempotency\x20SET\x20NX\x20error'),{'stored':!![],'winnerResult':null};}}async['_undoRandomReservation'](_0x327daa,_0x5c8d38,_0x265f40){const _0xd0fcde=a0_0x4699fa,_0x271dd0={'TsPjW':'idgen_random_undo_error'};try{const _0x40fc79=redisClient['getClient']();if(_0x265f40){const _0x189523=this[_0xd0fcde(0x181)](_0x327daa,_0x5c8d38);await _0x40fc79['del'](_0x189523);}else{const _0x3d734f=this[_0xd0fcde(0x1a6)](_0x327daa);await _0x40fc79[_0xd0fcde(0x184)](_0x3d734f,_0x5c8d38);}}catch(_0x21a59d){logger['warn']({'event':_0x271dd0[_0xd0fcde(0x170)],'error':_0x21a59d[_0xd0fcde(0x26d)]},_0xd0fcde(0x1af));}}async[a0_0x4699fa(0x1d1)](_0x52b376,_0x15f233,_0x38eec9,_0x35e376=0x0){const _0x4bc899=a0_0x4699fa,_0xc64ec1={'IxTId':function(_0x1757f4,_0x151375){return _0x1757f4>_0x151375;},'CENdb':'idgen_meta_update_error'};try{const _0x557d00=redisClient['getClient'](),_0x22ed35=this['_buildMetaKey'](_0x52b376,_0x15f233),_0x5ea069=[];for(const [_0x2aa0ce,_0x5bbf88]of Object['entries'](_0x38eec9)){_0x5ea069[_0x4bc899(0x26f)](_0x2aa0ce,String(_0x5bbf88));}if(_0x5ea069['length']>0x0){await _0x557d00[_0x4bc899(0x231)](_0x22ed35,..._0x5ea069);if(_0xc64ec1['IxTId'](_0x35e376,0x0))await _0x557d00[_0x4bc899(0x25f)](_0x22ed35,_0x35e376);}}catch(_0x477f0f){logger['warn']({'event':_0xc64ec1['CENdb'],'error':_0x477f0f[_0x4bc899(0x26d)]},_0x4bc899(0x268));}}async[a0_0x4699fa(0x1fc)](_0x38d642){const _0x344571=a0_0x4699fa,_0x1d6bbc={'ixepX':function(_0x4d6159,_0x20b03d){return _0x4d6159(_0x20b03d);},'Yufng':_0x344571(0x251)};if(!this[_0x344571(0x264)])throw new IdGeneratorError(_0x344571(0x1ce),'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)');const _0xac235e=this['_validateNumberParams'](_0x38d642),_0x1c8326=this[_0x344571(0x222)](_0x38d642[_0x344571(0x1c0)]),{resource:_0x25bb5b,format:_0x12292d,prefix:_0x250820,separator:_0x47acf2,numDigits:_0x57da81,reuseDelete:_0x3ff1ec}=_0xac235e,{formatKey:_0x5afd38,datePrefix:_0x5ecece}=this['_buildFormatKey'](_0x12292d,_0x250820),_0x458cbb=this['_buildSeqKey'](_0x25bb5b,_0x5afd38),_0x5288d=this[_0x344571(0x1c6)](_0x25bb5b,_0x5afd38),_0x2badb7=this['_getCounterTTL'](_0x12292d);let _0x1c371f=null;if(_0x1c8326){_0x1c371f=this['_buildIdemKey'](_0x344571(0x1fc),_0x25bb5b,_0x5afd38,_0x1c8326);const _0x5f5baf=await this[_0x344571(0x209)](_0x1c371f);if(_0x5f5baf)return _0x5f5baf;}const _0x433268=redisClient['getClient'](),_0x5e33e8=await _0x433268['eval'](LUA_GENERATE_NUMBER,0x2,_0x458cbb,_0x5288d,_0x3ff1ec?'1':'0',String(_0x2badb7)),_0xcc5dbe=_0x5e33e8[0x0],_0x4747ae=_0x5e33e8[0x1]===0x1,_0x84aad3=this['_formatNumber']({'format':_0x12292d,'prefix':_0x250820,'datePrefix':_0x5ecece,'separator':_0x47acf2,'numDigits':_0x57da81,'counterInt':_0xcc5dbe}),_0x175294={'value':_0x84aad3,'counter':_0xcc5dbe,'resource':_0x25bb5b,'formatKey':_0x5afd38,'isReused':_0x4747ae,'generatedAt':new Date()['toISOString']()},_0x31bc8f=await this[_0x344571(0x21e)](_0x1c371f,_0x175294);if(!_0x31bc8f['stored']){try{await _0x433268['eval'](LUA_RELEASE_NUMBER,0x1,_0x5288d,_0x1d6bbc[_0x344571(0x1f8)](String,_0xcc5dbe),String(_0x2badb7));}catch(_0x50ae6d){logger['warn']({'event':_0x344571(0x1e8),'error':_0x50ae6d['message'],'resource':_0x25bb5b,'formatKey':_0x5afd38,'counterInt':_0xcc5dbe},_0x1d6bbc['Yufng']);}return logger[_0x344571(0x1eb)]({'event':'idgen_number_idem_loser','resource':_0x25bb5b,'formatKey':_0x5afd38,'counter':_0xcc5dbe},'ID\x20Generator\x20number\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x31bc8f[_0x344571(0x18e)];}return this['_updateMeta'](_0x25bb5b,_0x5afd38,{'lastValue':_0x84aad3,'lastCounter':_0xcc5dbe,'lastIsReused':_0x4747ae,'lastGeneratedAt':_0x175294['generatedAt']},_0x2badb7),logger[_0x344571(0x1eb)]({'event':'idgen_number_generated','resource':_0x25bb5b,'formatKey':_0x5afd38,'counter':_0xcc5dbe,'isReused':_0x4747ae},'ID\x20Generator\x20number:\x20'+_0x84aad3),_0x175294;}async[a0_0x4699fa(0x225)](_0x4accce){const _0x357b13=a0_0x4699fa,_0x1ee32b={'eKqaf':'IDGEN_DISABLED','JODHI':'string','nsdIv':_0x357b13(0x193),'QBlbY':_0x357b13(0x1a7),'PdWZn':_0x357b13(0x1bb),'zwTAp':function(_0x53e474,_0x4837bc){return _0x53e474(_0x4837bc);},'GIhKO':function(_0x5bfddb,_0x1d8165){return _0x5bfddb(_0x1d8165);}};if(!this[_0x357b13(0x264)])throw new IdGeneratorError(_0x1ee32b[_0x357b13(0x226)],_0x357b13(0x19b));let _0x48e7c1,_0x2dd157,_0x21a770,_0x2570de;const _0x38b161=this['_validateIdempotencyKey'](_0x4accce['idempotencyKey']);if(_0x4accce['counterInt']!==undefined&&_0x4accce['counterInt']!==null){this[_0x357b13(0x1b5)](_0x4accce['resource']),_0x48e7c1=_0x4accce[_0x357b13(0x15d)];if(typeof _0x4accce[_0x357b13(0x223)]!==_0x1ee32b['JODHI']||_0x4accce['formatKey'][_0x357b13(0x1ab)]===0x0)throw new IdGeneratorError(_0x1ee32b[_0x357b13(0x172)],_0x357b13(0x252));_0x2dd157=_0x4accce['formatKey'];if(!Number['isInteger'](_0x4accce['counterInt'])||_0x4accce[_0x357b13(0x168)]<0x1)throw new IdGeneratorError(_0x1ee32b[_0x357b13(0x172)],'counterInt\x20must\x20be\x20positive\x20integer\x20(got:\x20'+_0x4accce[_0x357b13(0x168)]+')');_0x21a770=_0x4accce[_0x357b13(0x168)];const _0x1bb161=_0x2dd157[_0x357b13(0x196)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x2570de=_0x1bb161?_0x1bb161[0x1]:_0x1ee32b['QBlbY'];}else{const _0xb86e42=this[_0x357b13(0x25b)](_0x4accce),_0x312ad1=this[_0x357b13(0x176)]({'format':_0xb86e42['format'],'prefix':_0xb86e42['prefix'],'separator':_0xb86e42['separator'],'numDigits':_0xb86e42['numDigits'],'number':_0x4accce['number']});_0x48e7c1=_0xb86e42[_0x357b13(0x15d)],_0x2dd157=_0x312ad1[_0x357b13(0x223)],_0x21a770=_0x312ad1[_0x357b13(0x168)],_0x2570de=_0xb86e42['format'];}const _0x2abbab=this['_buildReuseKey'](_0x48e7c1,_0x2dd157),_0x21a868=this['_getCounterTTL'](_0x2570de);let _0x5d5c3e=null;if(_0x38b161){_0x5d5c3e=this['_buildIdemKey'](_0x1ee32b[_0x357b13(0x248)],_0x48e7c1,_0x2dd157,_0x38b161);const _0x23045b=await this[_0x357b13(0x209)](_0x5d5c3e);if(_0x23045b)return _0x23045b;}const _0x4b9941=redisClient['getClient']();await _0x4b9941[_0x357b13(0x1fb)](LUA_RELEASE_NUMBER,0x1,_0x2abbab,_0x1ee32b['zwTAp'](String,_0x21a770),_0x1ee32b[_0x357b13(0x217)](String,_0x21a868));const _0x445da3={'released':!![],'resource':_0x48e7c1,'formatKey':_0x2dd157,'counter':_0x21a770,'releasedAt':new Date()[_0x357b13(0x23d)]()};return await this[_0x357b13(0x269)](_0x5d5c3e,_0x445da3),this[_0x357b13(0x1d1)](_0x48e7c1,_0x2dd157,{'lastReleasedCounter':_0x21a770,'lastReleasedAt':_0x445da3[_0x357b13(0x1f2)]},_0x21a868),logger['info']({'event':_0x357b13(0x224),'resource':_0x48e7c1,'formatKey':_0x2dd157,'counter':_0x21a770},'ID\x20Generator\x20number\x20released:\x20'+_0x21a770),_0x445da3;}async['reserveNumber'](_0x20fb1f){const _0x591f9a=a0_0x4699fa,_0x1bb83e={'Sdukt':_0x591f9a(0x1ce),'WtDdW':'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)','PlrVN':_0x591f9a(0x163),'rlgJr':function(_0x28b340,_0x58bed2){return _0x28b340+_0x58bed2;},'MfbeU':function(_0x101287,_0x2d2d58){return _0x101287*_0x2d2d58;},'SIUUZ':'formatKey','eGDiP':function(_0x1519fe,_0x243eeb){return _0x1519fe(_0x243eeb);},'csIxa':_0x591f9a(0x182),'vmszY':_0x591f9a(0x205),'dfQwO':_0x591f9a(0x234),'mssob':'idemKey','rxoil':function(_0x2029bc,_0x38f633){return _0x2029bc(_0x38f633);},'EXXiM':function(_0x25db41,_0x140db5){return _0x25db41(_0x140db5);},'GPXgo':function(_0x3f07be,_0x2ef78f){return _0x3f07be===_0x2ef78f;},'uaCsc':_0x591f9a(0x1cc),'GBEHF':'value','rDYjT':'idgen_reserve_value_persist_error','PryMy':_0x591f9a(0x207),'NADcN':'Failed\x20to\x20cancel\x20reservation\x20for\x20idempotency\x20loser','RVFxg':_0x591f9a(0x262)};if(!this['enabled'])throw new IdGeneratorError(_0x1bb83e[_0x591f9a(0x20a)],_0x1bb83e['WtDdW']);const _0x55edac=this[_0x591f9a(0x25b)](_0x20fb1f),_0x2ecf08=this['_validateReserveTTL'](_0x20fb1f[_0x591f9a(0x249)]),_0x3ba162=this[_0x591f9a(0x222)](_0x20fb1f['idempotencyKey']),{resource:_0x5c48b4,format:_0x3efede,prefix:_0x11bfb4,separator:_0x5acc6b,numDigits:_0x297117,reuseDelete:_0x3956fe}=_0x55edac,{formatKey:_0xbb131d,datePrefix:_0x139bce}=this['_buildFormatKey'](_0x3efede,_0x11bfb4),_0x2d25cd=this[_0x591f9a(0x1c1)](_0x5c48b4,_0xbb131d),_0x13e5ef=this['_buildReuseKey'](_0x5c48b4,_0xbb131d),_0x5bf5b1=this[_0x591f9a(0x17f)](_0x5c48b4,_0xbb131d),_0x49baa7=this['_getCounterTTL'](_0x3efede);let _0x2ae6ac=null;if(_0x3ba162){_0x2ae6ac=this['_buildIdemKey'](_0x1bb83e[_0x591f9a(0x21f)],_0x5c48b4,_0xbb131d,_0x3ba162);const _0x33bfac=await this['_retrieveIdemCache'](_0x2ae6ac);if(_0x33bfac)return _0x33bfac;}const _0x5b031b=crypto['randomUUID'](),_0x2cde9c=this['_buildReservationKey'](_0x5b031b),_0x47e5b5=this[_0x591f9a(0x1b4)](),_0x5458b4=Date['now'](),_0x4ce098=_0x1bb83e['rlgJr'](_0x5458b4,_0x1bb83e[_0x591f9a(0x1ff)](_0x2ecf08,0x3e8)),_0x3856ad=_0x1bb83e[_0x591f9a(0x1ff)](_0x2ecf08,0x3e8),_0x244dec=new Date(_0x5458b4)[_0x591f9a(0x23d)](),_0x39f5e0=new Date(_0x4ce098)[_0x591f9a(0x23d)](),_0x1fd272=[_0x591f9a(0x15d),_0x5c48b4,_0x1bb83e['SIUUZ'],_0xbb131d,'format',_0x3efede,_0x591f9a(0x20b),_0x11bfb4,_0x591f9a(0x1b0),_0x5acc6b,'numDigits',_0x1bb83e[_0x591f9a(0x17a)](String,_0x297117),_0x1bb83e['csIxa'],_0x139bce||'',_0x1bb83e[_0x591f9a(0x213)],_0x244dec,_0x1bb83e[_0x591f9a(0x1b3)],_0x39f5e0,_0x591f9a(0x160),String(_0x3856ad)];_0x3ba162&&_0x1fd272[_0x591f9a(0x26f)](_0x1bb83e[_0x591f9a(0x169)],_0x3ba162);const _0x4b3290=redisClient['getClient'](),_0x49fce4=await _0x4b3290[_0x591f9a(0x1fb)](LUA_RESERVE_NUMBER,0x3,_0x2d25cd,_0x13e5ef,_0x5bf5b1,_0x3956fe?'1':'0',_0x1bb83e[_0x591f9a(0x208)](String,_0x49baa7),_0x5b031b,_0x2cde9c,String(_0x3856ad),String(_0x4ce098),_0x1bb83e[_0x591f9a(0x276)](String,_0x5458b4),_0x47e5b5,..._0x1fd272),_0x4f8011=_0x49fce4[0x0],_0x2351f1=_0x1bb83e[_0x591f9a(0x15c)](_0x49fce4[0x1],0x1),_0x361a9d=_0x49fce4[0x2]||0x0;let _0x309c22;try{_0x309c22=this['_formatNumber']({'format':_0x3efede,'prefix':_0x11bfb4,'datePrefix':_0x139bce,'separator':_0x5acc6b,'numDigits':_0x297117,'counterInt':_0x4f8011});}catch(_0x29531d){try{await _0x4b3290['eval'](LUA_CANCEL_RESERVATION,0x3,_0x2cde9c,_0x5bf5b1,_0x13e5ef,_0x5b031b,String(_0x49baa7));}catch(_0x563752){logger['warn']({'event':_0x1bb83e['uaCsc'],'error':_0x563752['message'],'resource':_0x5c48b4,'formatKey':_0xbb131d,'counterInt':_0x4f8011,'token':_0x5b031b},_0x591f9a(0x24f));}throw _0x29531d;}try{await _0x4b3290['hset'](_0x2cde9c,_0x1bb83e['GBEHF'],_0x309c22);}catch(_0x2a30bb){logger[_0x591f9a(0x277)]({'event':_0x1bb83e['rDYjT'],'error':_0x2a30bb['message'],'resource':_0x5c48b4,'formatKey':_0xbb131d,'counterInt':_0x4f8011,'token':_0x5b031b},_0x591f9a(0x261));}const _0x13d1bc={'token':_0x5b031b,'value':_0x309c22,'counter':_0x4f8011,'resource':_0x5c48b4,'formatKey':_0xbb131d,'isReused':_0x2351f1,'createdAt':_0x244dec,'expiresAt':_0x39f5e0,'reapedCount':_0x361a9d},_0x2aefc1=await this[_0x591f9a(0x21e)](_0x2ae6ac,_0x13d1bc);if(!_0x2aefc1[_0x591f9a(0x1a1)]){try{await _0x4b3290['eval'](LUA_CANCEL_RESERVATION,0x3,_0x2cde9c,_0x5bf5b1,_0x13e5ef,_0x5b031b,String(_0x49baa7));}catch(_0x48dee6){logger['warn']({'event':_0x1bb83e['PryMy'],'error':_0x48dee6['message'],'resource':_0x5c48b4,'formatKey':_0xbb131d,'counterInt':_0x4f8011,'token':_0x5b031b},_0x1bb83e['NADcN']);}return logger['info']({'event':'idgen_reserve_idem_loser','resource':_0x5c48b4,'formatKey':_0xbb131d,'counter':_0x4f8011,'token':_0x5b031b},'ID\x20Generator\x20reserve\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x2aefc1[_0x591f9a(0x18e)];}return this[_0x591f9a(0x1d1)](_0x5c48b4,_0xbb131d,{'lastReservedCounter':_0x4f8011,'lastReservedAt':_0x244dec,'lastReapedCount':_0x361a9d},_0x49baa7),logger[_0x591f9a(0x1eb)]({'event':_0x1bb83e[_0x591f9a(0x177)],'resource':_0x5c48b4,'formatKey':_0xbb131d,'counter':_0x4f8011,'isReused':_0x2351f1,'token':_0x5b031b,'ttl':_0x2ecf08,'reapedCount':_0x361a9d},'ID\x20Generator\x20number\x20reserved:\x20'+_0x309c22+_0x591f9a(0x1d8)+_0x5b031b+')'),_0x13d1bc;}async['confirmReservation'](_0x5d1175){const _0x35e30c=a0_0x4699fa,_0x1bddf6={'CpJYt':'ID\x20Generator\x20is\x20disabled','zvPQp':'idgen','IdqYa':_0x35e30c(0x233),'LnSGq':function(_0x15aa7a,_0x25ab2d){return _0x15aa7a!==_0x25ab2d;},'zPHjB':_0x35e30c(0x220),'cvZDQ':_0x35e30c(0x179)};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x1bddf6['CpJYt']);const _0x5f21bd=this['_validateReservationToken'](_0x5d1175&&_0x5d1175['token']),_0x49ad1b=this['_validateIdempotencyKey'](_0x5d1175&&_0x5d1175['idempotencyKey']);let _0x2a1c24=null;if(_0x49ad1b){_0x2a1c24=idempotencyManager['buildDeterministicKey'](_0x1bddf6['zvPQp'],_0x1bddf6['IdqYa'],_0x5f21bd+':'+_0x49ad1b);const _0x312472=await this['_retrieveIdemCache'](_0x2a1c24);if(_0x312472)return _0x312472;}const _0x1695b9=await this['_getReservationContext'](_0x5f21bd),_0x5a66ac=redisClient[_0x35e30c(0x158)](),_0x3d3e1a=await _0x5a66ac[_0x35e30c(0x1fb)](LUA_CONFIRM_RESERVATION,0x2,_0x1695b9[_0x35e30c(0x1c4)],_0x1695b9['rsvIdxKey'],_0x5f21bd);if(!_0x3d3e1a||_0x1bddf6[_0x35e30c(0x175)](_0x3d3e1a[0x0],0x1))throw new IdGeneratorError(_0x1bddf6[_0x35e30c(0x19d)],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x5f21bd,{'token':_0x5f21bd});const _0x1f0add=parseInt(_0x3d3e1a[0x1],0xa),_0x1f8710=_0x3d3e1a[0x2],_0x46f943=_0x3d3e1a[0x3],_0x55a4b7=new Date()[_0x35e30c(0x23d)](),_0x567383={'confirmed':!![],'token':_0x5f21bd,'value':_0x1f8710,'counter':_0x1f0add,'resource':_0x1695b9['resource'],'formatKey':_0x46f943,'confirmedAt':_0x55a4b7};await this[_0x35e30c(0x269)](_0x2a1c24,_0x567383);const _0x2f1e8a=_0x46f943[_0x35e30c(0x196)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x499bfe=_0x2f1e8a?_0x2f1e8a[0x1]:'text',_0x50d589=this[_0x35e30c(0x1c8)](_0x499bfe);return this[_0x35e30c(0x1d1)](_0x1695b9[_0x35e30c(0x15d)],_0x46f943,{'lastConfirmedCounter':_0x1f0add,'lastConfirmedAt':_0x55a4b7},_0x50d589),logger[_0x35e30c(0x1eb)]({'event':_0x1bddf6['cvZDQ'],'resource':_0x1695b9[_0x35e30c(0x15d)],'formatKey':_0x46f943,'counter':_0x1f0add,'token':_0x5f21bd},_0x35e30c(0x198)+_0x1f8710+_0x35e30c(0x1d8)+_0x5f21bd+')'),_0x567383;}async[a0_0x4699fa(0x22a)](_0x540da1){const _0x4a7575=a0_0x4699fa,_0x302f1c={'PwDou':_0x4a7575(0x19b),'ewWWi':'idgen','gaQzU':_0x4a7575(0x1a7),'LOPIP':function(_0x559071,_0x162053){return _0x559071!==_0x162053;},'jTBrY':'IDGEN_RESERVATION_NOT_FOUND','QgxIC':function(_0x26f8f9,_0x517d45,_0x16d712){return _0x26f8f9(_0x517d45,_0x16d712);},'udjnt':_0x4a7575(0x210)};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x302f1c['PwDou']);const _0x4957fc=this['_validateReservationToken'](_0x540da1&&_0x540da1['token']),_0x374bcd=this['_validateIdempotencyKey'](_0x540da1&&_0x540da1['idempotencyKey']);let _0x3a884e=null;if(_0x374bcd){_0x3a884e=idempotencyManager['buildDeterministicKey'](_0x302f1c['ewWWi'],'reserve_cancel',_0x4957fc+':'+_0x374bcd);const _0x7823f9=await this[_0x4a7575(0x209)](_0x3a884e);if(_0x7823f9)return _0x7823f9;}const _0x23ef0b=await this['_getReservationContext'](_0x4957fc),_0x10a343=this[_0x4a7575(0x1c6)](_0x23ef0b['resource'],_0x23ef0b['formatKey']),_0x144a33=_0x23ef0b[_0x4a7575(0x223)][_0x4a7575(0x196)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x36f169=_0x144a33?_0x144a33[0x1]:_0x302f1c['gaQzU'],_0xa63691=this['_getCounterTTL'](_0x36f169),_0x3ea3c8=redisClient['getClient'](),_0x30107e=await _0x3ea3c8['eval'](LUA_CANCEL_RESERVATION,0x3,_0x23ef0b[_0x4a7575(0x1c4)],_0x23ef0b['rsvIdxKey'],_0x10a343,_0x4957fc,String(_0xa63691));if(!_0x30107e||_0x302f1c['LOPIP'](_0x30107e[0x0],0x1))throw new IdGeneratorError(_0x302f1c[_0x4a7575(0x185)],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x4957fc,{'token':_0x4957fc});const _0x401940=_0x302f1c[_0x4a7575(0x1f3)](parseInt,_0x30107e[0x1],0xa),_0x1cb94b=_0x30107e[0x2],_0x2fe58a=_0x30107e[0x3],_0x41c995=new Date()[_0x4a7575(0x23d)](),_0x107de6={'cancelled':!![],'token':_0x4957fc,'value':_0x1cb94b,'counter':_0x401940,'resource':_0x23ef0b['resource'],'formatKey':_0x2fe58a,'releasedToReuse':!![],'cancelledAt':_0x41c995};return await this[_0x4a7575(0x269)](_0x3a884e,_0x107de6),this[_0x4a7575(0x1d1)](_0x23ef0b['resource'],_0x2fe58a,{'lastCancelledCounter':_0x401940,'lastCancelledAt':_0x41c995},_0xa63691),logger[_0x4a7575(0x1eb)]({'event':_0x302f1c[_0x4a7575(0x278)],'resource':_0x23ef0b['resource'],'formatKey':_0x2fe58a,'counter':_0x401940,'token':_0x4957fc},'ID\x20Generator\x20reservation\x20cancelled:\x20'+_0x1cb94b+'\x20(token='+_0x4957fc+')'),_0x107de6;}async['extendReservation'](_0x137f10){const _0x4ce985=a0_0x4699fa,_0x37f25d={'oEWDi':_0x4ce985(0x1ce),'JIuME':_0x4ce985(0x19b),'tjNBz':'idgen','BzSOv':function(_0x11cbca,_0x70cdda){return _0x11cbca*_0x70cdda;},'VsMwf':function(_0x396e64,_0x75af1e){return _0x396e64!==_0x75af1e;},'jrZoG':'IDGEN_RESERVATION_NOT_FOUND','uJXAh':function(_0x5aa9ca,_0x162033,_0x3c3fb8){return _0x5aa9ca(_0x162033,_0x3c3fb8);},'grujB':_0x4ce985(0x23f)};if(!this['enabled'])throw new IdGeneratorError(_0x37f25d[_0x4ce985(0x19a)],_0x37f25d['JIuME']);const _0x3ec207=this['_validateReservationToken'](_0x137f10&&_0x137f10[_0x4ce985(0x1e1)]),_0x4a4846=this['_validateReserveTTL'](_0x137f10&&_0x137f10[_0x4ce985(0x249)]),_0x1d0773=this['_validateIdempotencyKey'](_0x137f10&&_0x137f10['idempotencyKey']);let _0x528731=null;if(_0x1d0773){_0x528731=idempotencyManager['buildDeterministicKey'](_0x37f25d['tjNBz'],_0x4ce985(0x199),_0x3ec207+':'+_0x1d0773);const _0x209cad=await this['_retrieveIdemCache'](_0x528731);if(_0x209cad)return _0x209cad;}const _0x25c25e=await this['_getReservationContext'](_0x3ec207),_0x4998af=Date['now'](),_0x2c973e=_0x4998af+_0x4a4846*0x3e8,_0x2a7270=_0x37f25d[_0x4ce985(0x247)](_0x4a4846,0x3e8),_0x4dad5c=new Date(_0x2c973e)[_0x4ce985(0x23d)](),_0x49cdca=redisClient[_0x4ce985(0x158)](),_0xffe23d=await _0x49cdca[_0x4ce985(0x1fb)](LUA_EXTEND_RESERVATION,0x2,_0x25c25e['rsvKey'],_0x25c25e['rsvIdxKey'],_0x3ec207,String(_0x2a7270),String(_0x2c973e),_0x4dad5c);if(!_0xffe23d||_0x37f25d['VsMwf'](_0xffe23d[0x0],0x1))throw new IdGeneratorError(_0x37f25d['jrZoG'],_0x4ce985(0x1aa)+_0x3ec207,{'token':_0x3ec207});const _0x1c9637=_0xffe23d[0x1],_0x245236=_0x37f25d[_0x4ce985(0x216)](parseInt,_0xffe23d[0x2],0xa),_0x4a6761=_0xffe23d[0x3],_0x57b9f4=_0xffe23d[0x4],_0x5e09bd=new Date(_0x4998af)[_0x4ce985(0x23d)](),_0x2099c5={'extended':!![],'token':_0x3ec207,'previousExpiresAt':_0x1c9637,'expiresAt':_0x4dad5c,'ttlMs':_0x2a7270,'resource':_0x25c25e['resource'],'formatKey':_0x57b9f4,'counter':_0x245236,'value':_0x4a6761,'extendedAt':_0x5e09bd};await this['_storeIdemCache'](_0x528731,_0x2099c5);const _0x5c08d5=_0x57b9f4[_0x4ce985(0x196)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x3640a5=_0x5c08d5?_0x5c08d5[0x1]:'text',_0x1903ed=this['_getCounterTTL'](_0x3640a5);return this['_updateMeta'](_0x25c25e[_0x4ce985(0x15d)],_0x57b9f4,{'lastExtendedCounter':_0x245236,'lastExtendedAt':_0x5e09bd},_0x1903ed),logger[_0x4ce985(0x1eb)]({'event':_0x37f25d['grujB'],'resource':_0x25c25e[_0x4ce985(0x15d)],'formatKey':_0x57b9f4,'counter':_0x245236,'token':_0x3ec207,'ttl':_0x4a4846},'ID\x20Generator\x20reservation\x20extended:\x20'+_0x4a6761+_0x4ce985(0x1d8)+_0x3ec207+',\x20+'+_0x4a4846+'s)'),_0x2099c5;}async['getReservation'](_0x20b1e4){const _0x41c320=a0_0x4699fa,_0x26bb8d={'LwZIz':_0x41c320(0x1ce),'mgJjX':_0x41c320(0x19b),'ylLVx':function(_0x36be64,_0x2f702c){return _0x36be64===_0x2f702c;},'BZxOM':'IDGEN_RESERVATION_NOT_FOUND','JUOPL':function(_0x3791b9,_0x10732c,_0x23a17b){return _0x3791b9(_0x10732c,_0x23a17b);},'ZqmMA':function(_0xcf439e,_0x52b32e){return _0xcf439e===_0x52b32e;},'CNgzw':function(_0x247510,_0x4324aa){return _0x247510===_0x4324aa;},'xlAza':'number'};if(!this[_0x41c320(0x264)])throw new IdGeneratorError(_0x26bb8d[_0x41c320(0x1d7)],_0x26bb8d[_0x41c320(0x23c)]);const _0x2cb185=this[_0x41c320(0x1c3)](_0x20b1e4&&_0x20b1e4[_0x41c320(0x1e1)]),_0x272766=this['_buildReservationKey'](_0x2cb185),_0x1555e8=redisClient[_0x41c320(0x158)](),_0xd1dee4=_0x1555e8['pipeline']();_0xd1dee4[_0x41c320(0x1d9)](_0x272766),_0xd1dee4[_0x41c320(0x173)](_0x272766);const _0x53724f=await _0xd1dee4['exec'](),_0x532764=_0x53724f&&_0x53724f[0x0]&&_0x53724f[0x0][0x1],_0x3abc3b=_0x53724f&&_0x53724f[0x1]&&_0x53724f[0x1][0x1];if(!_0x532764||_0x26bb8d['ylLVx'](Object['keys'](_0x532764)['length'],0x0))throw new IdGeneratorError(_0x26bb8d[_0x41c320(0x1f9)],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x2cb185,{'token':_0x2cb185});return{'token':_0x2cb185,'resource':_0x532764[_0x41c320(0x15d)]||null,'formatKey':_0x532764[_0x41c320(0x223)]||null,'format':_0x532764[_0x41c320(0x24e)]||null,'prefix':_0x532764['prefix']||'','separator':_0x532764['separator']||'','numDigits':_0x532764[_0x41c320(0x178)]?_0x26bb8d['JUOPL'](parseInt,_0x532764[_0x41c320(0x178)],0xa):null,'datePrefix':_0x532764[_0x41c320(0x182)]||'','counter':_0x532764[_0x41c320(0x20e)]?parseInt(_0x532764[_0x41c320(0x20e)],0xa):null,'value':_0x532764['value']||null,'isReused':_0x532764['isReused']==='1'||_0x26bb8d['ZqmMA'](_0x532764[_0x41c320(0x174)],0x1),'createdAt':_0x532764['createdAt']||null,'expiresAt':_0x532764[_0x41c320(0x234)]||null,'ttlRemainingMs':_0x26bb8d[_0x41c320(0x227)](typeof _0x3abc3b,_0x26bb8d[_0x41c320(0x1bd)])&&_0x3abc3b>=0x0?_0x3abc3b:null};}async['_getReservationContext'](_0x39ccd5){const _0x28d530=a0_0x4699fa,_0x266e01={'DaLAH':_0x28d530(0x223),'aEObf':function(_0x5f51ec,_0x59cba4){return _0x5f51ec||_0x59cba4;}},_0xab1689=this['_buildReservationKey'](_0x39ccd5),_0x41b709=redisClient['getClient'](),_0x2cac6d=await _0x41b709[_0x28d530(0x270)](_0xab1689,_0x28d530(0x15d),_0x266e01[_0x28d530(0x1ea)]),_0x270076=_0x2cac6d&&_0x2cac6d[0x0],_0x9bb591=_0x2cac6d&&_0x2cac6d[0x1];if(_0x266e01[_0x28d530(0x215)](!_0x270076,!_0x9bb591))throw new IdGeneratorError(_0x28d530(0x220),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x39ccd5,{'token':_0x39ccd5});return{'resource':_0x270076,'formatKey':_0x9bb591,'rsvKey':_0xab1689,'rsvIdxKey':this[_0x28d530(0x17f)](_0x270076,_0x9bb591)};}async['random'](_0x5173c0){const _0x25c65a=a0_0x4699fa,_0x503f24={'OHtND':'ID\x20Generator\x20is\x20disabled','wmXKV':'random','tzBvj':function(_0x157ac2,_0xfa083e){return _0x157ac2===_0xfa083e;},'eBisf':function(_0x1b0c4d,_0x560385){return _0x1b0c4d===_0x560385;},'jWJZL':function(_0x2e603f,_0x195fa2){return _0x2e603f&&_0x195fa2;},'fHSiC':function(_0x2eb51b,_0x1804ac){return _0x2eb51b+_0x1804ac;},'keMrf':function(_0x156410,_0x5574dc){return _0x156410*_0x5574dc;},'EmYMH':'idgen_random_generated','BqaKh':function(_0x79ce5b,_0x4511ae){return _0x79ce5b||_0x4511ae;}};if(!this[_0x25c65a(0x264)])throw new IdGeneratorError('IDGEN_DISABLED',_0x503f24[_0x25c65a(0x186)]);this['_validateResource'](_0x5173c0['resource']),this['_validatePattern'](_0x5173c0['pattern']);const _0x495808=this['_validateTTL'](_0x5173c0['ttl']),_0x51448f=this['_validateMaxRetry'](_0x5173c0[_0x25c65a(0x1a4)]),_0x5e2f06=this['_validateIdempotencyKey'](_0x5173c0['idempotencyKey']),_0x447379=_0x5173c0[_0x25c65a(0x1e6)]===!![],{resource:_0x21c1ec,pattern:_0x16fdc7}=_0x5173c0;let _0x1126bb=null;if(_0x5e2f06){_0x1126bb=this['_buildIdemKey'](_0x503f24[_0x25c65a(0x266)],_0x21c1ec,null,_0x5e2f06);const _0x2af725=await this[_0x25c65a(0x209)](_0x1126bb);if(_0x2af725)return _0x2af725;}const _0x12752c=redisClient['getClient']();let _0x408dda=null,_0x3dc39a=0x0;if(!_0x447379)_0x408dda=this['_generateFromPattern'](_0x16fdc7),_0x3dc39a=0x1;else{for(let _0xdb8c92=0x0;_0xdb8c92<_0x51448f;_0xdb8c92++){_0x3dc39a++;const _0x127b13=this[_0x25c65a(0x20f)](_0x16fdc7);if(_0x495808){const _0x28aed6=this[_0x25c65a(0x181)](_0x21c1ec,_0x127b13),_0x4f60e4=await _0x12752c[_0x25c65a(0x1bc)](_0x28aed6,'1','EX',_0x495808,'NX');if(_0x503f24['tzBvj'](_0x4f60e4,'OK')){_0x408dda=_0x127b13;break;}}else{const _0x49ac53=this['_buildIssuedKey'](_0x21c1ec),_0x1b7dd1=await _0x12752c[_0x25c65a(0x206)](_0x49ac53,_0x127b13);if(_0x1b7dd1===0x1){_0x408dda=_0x127b13;break;}}}if(_0x503f24[_0x25c65a(0x17e)](_0x408dda,null))throw new IdGeneratorError(_0x25c65a(0x1c9),_0x25c65a(0x256)+_0x51448f+'\x20attempts.\x20Increase\x20pattern\x20length\x20or\x20maxRetry.',{'resource':_0x21c1ec,'pattern':_0x16fdc7,'maxRetry':_0x51448f});}const _0x4a756a={'value':_0x408dda,'resource':_0x21c1ec,'pattern':_0x16fdc7,'attemptCount':_0x3dc39a,'generatedAt':new Date()['toISOString']()};_0x503f24['jWJZL'](_0x495808,_0x447379)&&(_0x4a756a['expiresAt']=new Date(_0x503f24['fHSiC'](Date['now'](),_0x503f24[_0x25c65a(0x22f)](_0x495808,0x3e8)))[_0x25c65a(0x23d)]());const _0x4d8032=await this['_storeIdemCacheNX'](_0x1126bb,_0x4a756a);if(!_0x4d8032[_0x25c65a(0x1a1)])return _0x447379&&await this['_undoRandomReservation'](_0x21c1ec,_0x408dda,_0x495808),logger[_0x25c65a(0x1eb)]({'event':_0x25c65a(0x18f),'resource':_0x21c1ec,'pattern':_0x16fdc7,'value':_0x408dda},_0x25c65a(0x211)),_0x4d8032['winnerResult'];return logger['info']({'event':_0x503f24[_0x25c65a(0x162)],'resource':_0x21c1ec,'pattern':_0x16fdc7,'attemptCount':_0x3dc39a,'ensureUnique':_0x447379,'ttl':_0x503f24[_0x25c65a(0x1dd)](_0x495808,0x0)},'ID\x20Generator\x20random:\x20'+_0x408dda),_0x4a756a;}async['pin'](_0x17781a){const _0x5c384d=a0_0x4699fa,_0xd79580={'qIzqF':function(_0xbed04,_0x170778){return _0xbed04<_0x170778;},'NaSHU':'IDGEN_INVALID_DIGITS','ULYBJ':function(_0xe06867,_0x1f94a8){return _0xe06867===_0x1f94a8;}},_0x3dc00d=_0x17781a[_0x5c384d(0x243)]==null?this['defaultPinDigits']:_0x17781a[_0x5c384d(0x243)];if(!Number['isInteger'](_0x3dc00d)||_0xd79580['qIzqF'](_0x3dc00d,MIN_PIN_DIGITS)||_0x3dc00d>MAX_PIN_DIGITS)throw new IdGeneratorError(_0xd79580[_0x5c384d(0x1f1)],_0x5c384d(0x1b9)+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+_0x5c384d(0x27a)+_0x3dc00d+')');const _0x3409af='9'['repeat'](_0x3dc00d);return this['random']({'resource':_0x17781a[_0x5c384d(0x15d)],'pattern':_0x3409af,'ensureUnique':_0xd79580['ULYBJ'](_0x17781a['ensureUnique'],!![]),'ttl':_0x17781a[_0x5c384d(0x249)],'maxRetry':_0x17781a[_0x5c384d(0x1a4)],'idempotencyKey':_0x17781a[_0x5c384d(0x1c0)]});}async['serial'](_0x30b169){const _0x244f49=a0_0x4699fa,_0x1667eb={'qzcng':function(_0x53cad6,_0x527b3d){return _0x53cad6!==_0x527b3d;}},_0x2dddf6=_0x30b169['pattern']||this[_0x244f49(0x257)];return this[_0x244f49(0x1f6)]({'resource':_0x30b169[_0x244f49(0x15d)],'pattern':_0x2dddf6,'ensureUnique':_0x1667eb['qzcng'](_0x30b169['ensureUnique'],![]),'ttl':_0x30b169[_0x244f49(0x249)],'maxRetry':_0x30b169['maxRetry'],'idempotencyKey':_0x30b169['idempotencyKey']});}async[a0_0x4699fa(0x1f7)](_0x10482e){const _0x53cd84=a0_0x4699fa,_0x5790d5={'Thptc':function(_0x392078,_0x2ad3fe){return _0x392078!==_0x2ad3fe;}},_0x280691=_0x10482e[_0x53cd84(0x204)]||this['defaultCodePattern'];return this['random']({'resource':_0x10482e[_0x53cd84(0x15d)],'pattern':_0x280691,'ensureUnique':_0x5790d5[_0x53cd84(0x21a)](_0x10482e['ensureUnique'],![]),'ttl':_0x10482e[_0x53cd84(0x249)],'maxRetry':_0x10482e['maxRetry'],'idempotencyKey':_0x10482e[_0x53cd84(0x1c0)]});}async['consume'](_0x36c14e){const _0x2ddbe5=a0_0x4699fa,_0x396759={'FzayB':_0x2ddbe5(0x19b),'axONv':'string','hhxWq':function(_0x4d2a34,_0x287fbc){return _0x4d2a34>_0x287fbc;},'clDSf':function(_0x4087a6,_0x470e8f){return _0x4087a6+_0x470e8f;},'ZEzwu':_0x2ddbe5(0x236)};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x396759[_0x2ddbe5(0x16f)]);this['_validateResource'](_0x36c14e[_0x2ddbe5(0x15d)]);if(typeof _0x36c14e[_0x2ddbe5(0x1fa)]!==_0x396759[_0x2ddbe5(0x17d)]||_0x36c14e['value']['length']===0x0)throw new IdGeneratorError(_0x2ddbe5(0x193),'value\x20is\x20required');const {resource:_0x696c74,value:_0x2f9b89}=_0x36c14e,_0x12fb6e=redisClient['getClient'](),_0x5994c6=this['_buildActiveKey'](_0x696c74,_0x2f9b89),_0x4fb952=this[_0x2ddbe5(0x1a6)](_0x696c74),[_0x47c1e3,_0x22914c]=await Promise['all']([_0x12fb6e['del'](_0x5994c6),_0x12fb6e['srem'](_0x4fb952,_0x2f9b89)]),_0x3488c6=_0x396759[_0x2ddbe5(0x1d5)](_0x396759[_0x2ddbe5(0x15f)](_0x47c1e3,_0x22914c),0x0);return logger[_0x2ddbe5(0x1eb)]({'event':_0x396759[_0x2ddbe5(0x1e9)],'resource':_0x696c74,'value':_0x2f9b89,'consumed':_0x3488c6},'ID\x20Generator\x20consumed:\x20'+_0x2f9b89),{'consumed':_0x3488c6,'resource':_0x696c74,'value':_0x2f9b89,'consumedAt':new Date()[_0x2ddbe5(0x23d)]()};}async['peek'](_0x21a81e){const _0x1ae762=a0_0x4699fa,_0x11f387={'GNWKE':_0x1ae762(0x1ce),'TcfKu':function(_0x5ef411,_0x5bb30d,_0x192560){return _0x5ef411(_0x5bb30d,_0x192560);},'YbAmb':'random'};if(!this[_0x1ae762(0x264)])throw new IdGeneratorError(_0x11f387[_0x1ae762(0x1be)],'ID\x20Generator\x20is\x20disabled');this['_validateResource'](_0x21a81e['resource']);const _0x461af0=_0x21a81e['mode']||_0x1ae762(0x1fc),_0x170f99=redisClient['getClient']();if(_0x461af0===_0x1ae762(0x1fc)){const _0x511e5f=(_0x21a81e[_0x1ae762(0x24e)]||_0x1ae762(0x1a7))[_0x1ae762(0x25c)]();if(!ALLOWED_FORMATS[_0x1ae762(0x1ec)](_0x511e5f))throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0x1ae762(0x27b)+_0x21a81e['format']);const {formatKey:_0xd8fac6}=this['_buildFormatKey'](_0x511e5f,_0x21a81e[_0x1ae762(0x20b)]||''),_0x21633e=this[_0x1ae762(0x1c1)](_0x21a81e['resource'],_0xd8fac6),_0x52d33a=this['_buildReuseKey'](_0x21a81e[_0x1ae762(0x15d)],_0xd8fac6),[_0x236291,_0x26d42a]=await Promise['all']([_0x170f99['get'](_0x21633e),_0x170f99['zcard'](_0x52d33a)]);return{'resource':_0x21a81e[_0x1ae762(0x15d)],'mode':_0x1ae762(0x1fc),'formatKey':_0xd8fac6,'currentCounter':_0x11f387[_0x1ae762(0x212)](parseInt,_0x236291,0xa)||0x0,'reusePoolSize':_0x26d42a||0x0};}if(_0x461af0===_0x11f387['YbAmb']){const _0x57b306=this[_0x1ae762(0x1a6)](_0x21a81e[_0x1ae762(0x15d)]),_0x53e193=await _0x170f99['scard'](_0x57b306);return{'resource':_0x21a81e[_0x1ae762(0x15d)],'mode':'random','issuedCount':_0x53e193||0x0};}throw new IdGeneratorError(_0x1ae762(0x1b1),'Unknown\x20mode:\x20'+_0x461af0);}async['getInfo'](_0x56b12a){const _0x29c9a2=a0_0x4699fa,_0x17411a={'ilzyN':_0x29c9a2(0x1fc),'Byxap':function(_0x4b0d34,_0x10b143){return _0x4b0d34>_0x10b143;}},_0x4ba7fa=await this[_0x29c9a2(0x1fe)](_0x56b12a);if(_0x4ba7fa[_0x29c9a2(0x164)]===_0x17411a[_0x29c9a2(0x24a)]){const _0x1ee752=redisClient['getClient'](),_0x12cb13=this[_0x29c9a2(0x1d6)](_0x56b12a[_0x29c9a2(0x15d)],_0x4ba7fa[_0x29c9a2(0x223)]),_0x25475b=this[_0x29c9a2(0x1c6)](_0x56b12a['resource'],_0x4ba7fa['formatKey']),[_0x37105f,_0x1ef814]=await Promise[_0x29c9a2(0x26c)]([_0x1ee752['hgetall'](_0x12cb13),_0x1ee752['zrange'](_0x25475b,0x0,-0x1)]);return{..._0x4ba7fa,'reusePoolValues':_0x1ef814[_0x29c9a2(0x1ee)](_0xc5a915=>parseInt(_0xc5a915,0xa)),'meta':_0x37105f&&_0x17411a[_0x29c9a2(0x1da)](Object[_0x29c9a2(0x1cd)](_0x37105f)['length'],0x0)?_0x37105f:null};}return _0x4ba7fa;}async['reset'](_0x571d27){const _0x59f695=a0_0x4699fa,_0x49c086={'xXnrz':'IDGEN_DISABLED','jhWEh':_0x59f695(0x19b),'TBidX':function(_0x2031e8,_0x488352){return _0x2031e8===_0x488352;},'mGLdS':_0x59f695(0x1fc),'yGlnN':_0x59f695(0x265),'ecAsi':function(_0x134a1a,_0x5734b0){return _0x134a1a===_0x5734b0;},'KMlHN':'idgen_reset','qXCwD':'random','JxVvF':'IDGEN_INVALID_MODE'};if(!this[_0x59f695(0x264)])throw new IdGeneratorError(_0x49c086[_0x59f695(0x22d)],_0x49c086[_0x59f695(0x232)]);if(!this[_0x59f695(0x263)])throw new IdGeneratorError(_0x59f695(0x201),'Reset\x20operation\x20not\x20allowed\x20(set\x20IDGEN_ALLOW_RESET=true\x20to\x20enable)');this[_0x59f695(0x1b5)](_0x571d27[_0x59f695(0x15d)]);const _0x587cf5=_0x571d27[_0x59f695(0x164)]||_0x59f695(0x1fc),_0x1676c7=redisClient['getClient']();if(_0x49c086['TBidX'](_0x587cf5,_0x49c086[_0x59f695(0x1c2)])){const _0x150716=(_0x571d27[_0x59f695(0x24e)]||_0x59f695(0x1a7))[_0x59f695(0x25c)]();if(!ALLOWED_FORMATS[_0x59f695(0x1ec)](_0x150716))throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0x59f695(0x27b)+_0x571d27['format']);const {formatKey:_0x15edc7}=this[_0x59f695(0x203)](_0x150716,_0x571d27[_0x59f695(0x20b)]||''),_0x26702a=this['_buildSeqKey'](_0x571d27[_0x59f695(0x15d)],_0x15edc7),_0x22092c=this[_0x59f695(0x1c6)](_0x571d27['resource'],_0x15edc7),_0x4f4262=this['_buildMetaKey'](_0x571d27[_0x59f695(0x15d)],_0x15edc7);return await _0x1676c7['del'](_0x26702a,_0x22092c,_0x4f4262),logger[_0x59f695(0x277)]({'event':'idgen_reset','resource':_0x571d27[_0x59f695(0x15d)],'mode':_0x59f695(0x1fc),'formatKey':_0x15edc7},'ID\x20Generator\x20reset:\x20'+_0x571d27['resource']+':'+_0x15edc7),{'reset':!![],'resource':_0x571d27['resource'],'mode':_0x59f695(0x1fc),'formatKey':_0x15edc7,'deletedKeys':['seq',_0x59f695(0x166),_0x49c086[_0x59f695(0x195)]]};}if(_0x49c086['ecAsi'](_0x587cf5,_0x59f695(0x1f6))){const _0x312e4b=this[_0x59f695(0x1a6)](_0x571d27['resource']);return await _0x1676c7['del'](_0x312e4b),logger[_0x59f695(0x277)]({'event':_0x49c086['KMlHN'],'resource':_0x571d27['resource'],'mode':_0x49c086['qXCwD']},_0x59f695(0x26a)+_0x571d27[_0x59f695(0x15d)]),{'reset':!![],'resource':_0x571d27[_0x59f695(0x15d)],'mode':_0x59f695(0x1f6),'deletedKeys':['issued']};}throw new IdGeneratorError(_0x49c086['JxVvF'],_0x59f695(0x1d3)+_0x587cf5);}}const instance=new IdGenerator();instance[a0_0x4699fa(0x1a0)]=IdGeneratorError,module['exports']=instance,module['exports']['IdGeneratorError']=IdGeneratorError;function a0_0x25a6(){const _0x14afbd=['AgH4v3e','x2j1AwXKtwv0yuTLEq','thDAsxO','icH0B2TLBJ0','AgDLDgfSBa','qNL4yxa','q291BNrLCIbVDMvYzMXVDZOG','sw52ywXPzcbZzxbHCMf0B3i6ig1HEcaZignOyxiSig11C3qGBM90ignVBNrHAw4GjZONicHNB3q6ia','qNfHs2G','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYKkBg9JywWGy291BNrLCIa9igHBmv0kAwyGy291BNrLCIb0AgvUcIaGCMvKAxmUy2fSBcGNwKfercCSieTfwvnBm10SignVDw50zxiSignVDw50zxiPcIaGBg9JywWGDhrSid0GDg9UDw1IzxiOqvjhvLSYxsKkicbPzIb0DgWGpIaWihrOzw4kicaGihjLzgLZlMnHBgWOj0vyueLsrsCSieTfwvnBm10Sihr0BcKkicbLBMqkzw5KcNjLzgLZlMnHBgWOj0rftcCSieTfwvnBmv0PcNjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqPYzxr1CM4GEYaXlcbJB3vUDgvYlcbOwZjDlcbOwZnDih0k','sw52ywXPzcb0DgW6ig11C3qGyMuGAw50zwDLCIaXlq','s3PiAhO','Dg9Rzw4','Dw1eCLa','Bwv0ytO','C3rYAw5N','mtaWmJGYmM5AzwzKuq','zw5ZDxjLvw5PCxvL','rNzuqxe','AwrNzw5FAwrLBv9SB3nLCL9YzwXLyxnLx2vYCM9Y','wKv6D3u','rgfmquG','Aw5MBW','AgfZ','ihnLy29UzhmGkgDVDdOG','BwfW','surhru5FuKvtrvjwrv9eruzbvuXux1ruta','swrLBxbVDgvUy3KGy2fJAguGseLu','tMftsfu','CMvSzwfZzwrbDa','uwD4sum','BKP6zLq','sw52ywXPzcbWyxr0zxjUoIbTDxn0igjLihn0CMLUzYaXlq','CMfUzg9T','y29Kzq','AxHLCfG','qLP4t00','DMfSDwu','zxzHBa','BNvTyMvY','mJuWmKvHB29UrW','CgvLAW','twzIzvu','CMX3AKe','surhru5FuKvtrvrFtK9ux0fmte9xruq','sw52ywXPzcbYzxnLCNzHDgLVBIb0B2TLBJOGBxvZDcbIzsbHihzHBgLKifvvsuqGzM9YBwf0icHNB3q6ia','x2j1AwXKrM9YBwf0s2v5','Cgf0DgvYBG','y3jLyxrLzef0','C2fKza','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vYx2nHBMnLBf9LCNjVCG','CNHVAwW','x3jLDhjPzxzLswrLBunHy2HL','u2r1A3q','ChjLzML4','BxPUqKe','CgfYC2u','y291BNrLCG','x2DLBMvYyxrLrNjVBvbHDhrLCM4','AwrNzw5FCMvZzxj2yxrPB25Fy2fUy2vSBgvK','suqGr2vUzxjHDg9YihjHBMrVBsbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','vgnMs3u','DM1ZELK','Ee9bugu','yuvpyMy','DuPyqwG','r0LOs08','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvO','ExL5Ew1T','vgHWDgm','zgvMyxvSDfbPBKrPz2L0CW','AM9PBG','wNbrs00','x3n0B3jLswrLBunHy2HLtLG','ugXYvK4','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','AwrNzw5FAwrLBv9YzxrYAwv2zv9LCNjVCG','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','zM9YBwf0s2v5','AwrNzw5FBNvTyMvYx3jLBgvHC2vK','CMvSzwfZzu51BwjLCG','zuTXywy','q05NENC','x2vUC3vYzuLUAxrPywXPEMvK','surhru5Fsu5wquXjrf9uveW','y2fUy2vSuMvZzxj2yxrPB24','zgjQufy','zw52','EfHUCNO','x3zHBgLKyxrLtwf4uMv0CNK','A2vnCMy','CMvZzxj2zu1HEfruta','AhnLDa','AMHxrwG','CMvZzxj2zv9JB25MAxjT','zxHWAxjLC0f0','xLXKEW','AwrNzw5Fy29UC3vTzwq','sw52ywXPzcbWCMvMAxG6ig11C3qGBwf0y2GG','C3rYAw5NAwz5','sw52ywXPzcbUDw1eAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','sw52ywXPzcbYzxnVDxjJztOGBxvZDcbTyxrJAca','ELnSvNO','BwDkALG','Dg9ju09tDhjPBMC','r3rJv3u','AwrNzw5FCMvZzxj2yxrPB25FzxH0zw5Kzwq','tLzxDfm','nJi3nZuWAxLvsufM','surhru5Fsu5wquXjrf9nqvHFuKvuuLK','zgLNAxrZ','AxnjBNrLz2vY','x3bHzdi','ignOyxjZicHNB3qGBgvUz3rOoIa','qNPtt3y','ugrxwM4','DhrS','AwX6Eu4','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i','z2v0tw9UDgG','yM9VBgvHBG','zM9YBwf0','rMfPBgvKihrVignVBxbLBNnHDguGCMvZzxj2yxrPB24Gywz0zxiGy291BNrLCIbVDMvYzMXVDW','mJHmANnqy3m','rMfPBgvKihrVihjLBgvHC2uGy291BNrLCIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','zM9YBwf0s2v5igLZihjLCxvPCMvKigLUigXVDY1SzxzLBcbYzwXLyxnL','x2LUAxrPywXPEMvK','CMHmseW','AwrNzw5FAwrLBv9UEf9YywnLx2XVC3rFyNv0x2vTChr5','q291BgqGBM90igDLBMvYyxrLihvUAxf1zsb2ywX1zsbHzNrLCIa','zgvMyxvSDfnLCMLHBfbHDhrLCM4','surhru5Fq09vtLrfuL9pvKvsrKXpvW','z2v0rgf0zq','CMy6AwrNzw46','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','Dg9mB3DLCKnHC2u','zgvMyxvSDe1HEfjLDhj5','x2j1AwXKswrLBuTLEq','zxHWAxjL','mtKWmKfSyLH4qW','rMfPBgvKihrVihbLCNnPC3qGzM9YBwf0DgvKihzHBhvLihrVihjLC2vYDMf0Aw9UigHHC2G','AwrNzw5FBNvTyMvYx3jLC2vYDMvK','ywXSB3DszxnLDa','zw5HyMXLza','Bwv0yq','D21ys1y','zgvMyxvSDenVzgvqyxr0zxjU','twv0ysb1CgrHDguGzxjYB3i','x3n0B3jLswrLBunHy2HL','suqGr2vUzxjHDg9YihjLC2v0oIbYyw5KB206','qNvMtLq','ywXS','BwvZC2fNzq','x3zHBgLKyxrLugf0DgvYBG','ChvZAa','Ag1Nzxq','qwnlzgK','tNvTyMvYignVDw50zxiGCgfYDcbTDxn0igjLigv4ywn0BhKG','D0jXyKK','mtGYnZfUt2TUCKO','x3rLEhq','rvHyAu0','D2fYBG','DwrQBNq','mZuWmJeWnhrSzgPKDq','icHNB3q6ia','sw52ywXPzcbMB3jTyxq6ia','CNn2oG','z2v0q2XPzw50','sw52ywXPzcbPzgvTCg90zw5JEuTLEtOGBxvZDcbIzsbZDhjPBMCGms0','x2nVDw50zxjuveXnyxa','zxHstNG','r1byz28','CMvZB3vYy2u','uuD6BwC','y2Xeu2y','DhrStxm','A1vMDNi','rw1ztuG','CMvZzxj2zq','Bw9Kzq','suqGr2vUzxjHDg9YignVBMzPzYbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','CMv1C2u','CgfKzgvKicHNB3q6ia','y291BNrLCKLUDa','BxnZB2i','sw52ywXPzcbUDw1Izxi6ig11C3qGyMuGBM9UlwvTChr5ihn0CMLUzW','surhru5Frevgqvvmvf9nqvHFuKvuuLK','x3L5ExLF','DgvZDa','A2v5uhjLzML4','rNPHEui','vhnqALC','vNzHAxu','BNnKsxy','Chr0Ba','AxnszxvZzwq','tg5tr3e','x3bHCNnLtNvTyMvY','uLzgEgC','BNvTrgLNAxrZ','AwrNzw5FCMvZzxj2yxrPB25Fy29UzMLYBwvK','zuDeAva','u2fpA08','lcbNB3qG','yxHptNy','zujPC2y','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','zNDRB1u','x2j1AwXKqwn0AxzLs2v5','zgf0zvbYzwzPEa','x2zVCM1HDe51BwjLCG','C3jLBq','ALrcCLK','t0H0tKq','BMfTzq','z2z3CKG','yNvPBgrezxrLCM1PBMLZDgLJs2v5','odq5yuPuEwLw','mJa1mePAt2XYqq','ihbHCNrZkq','ignOyxjZ','D2LUBMvYuMvZDwX0','AwrNzw5FCMfUzg9Tx2LKzw1FBg9Zzxi','CMv1C2u6','x3zHBgLKyxrLuMvZzxj2zvruta','surhru5Fsu5wquXjrf9srvnpvvjdrq','surhru5Fsu5wquXjrf9ovu1crvi','sw52ywXPzcbMB3jTyxq6ig11C3qGyMuGB25Lig9Mia','EuDSBK4','Bwf0y2G','mtm0otvqvuLbqxi','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignVBMzPCM1LzdOG','CMvZzxj2zv9LEhrLBMq','B0vxrgK','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','x2rLzMf1BhrqAw5eAwDPDhm','ELbiAKi','sw52ywXPzcbWyxr0zxjUoIbTDxn0ignVBNrHAw4GyxqGBgvHC3qGB25LihbSywnLAg9SzgvYignOyxjHy3rLCIaOos9ol0eVys9ml1GVEc9il2GP','x2TLEvbYzwzPEa','swrhzw5LCMf0B3jfCNjVCG','C3rVCMvK','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcbWCMvMAxG','cMXVy2fSihvUCgSGpsb1BNbHy2SGB3iGDgfIBguUDw5WywnRcGOTlsbtDgvWide6igXHENKGCMvHCcbLEhbPCMvKihjLC2vYDMf0Aw9UCYaOy2fWifjfu0vsvKvFuKvbuf9cqvrdscKkBg9JywWGCMvHCgvKid0GmaPSB2nHBcbUB3DnCYa9iefsr1zBn10kBg9JywWGCNn2uhjLzML4id0GqvjhvLS4xqPSB2nHBcbLEhbPCMvKid0GCMvKAxmUy2fSBcGNwLjbtKDfqLLtq09srsCSieTfwvnBm10SicCTAw5MjYWGjYGNic4Uig5VD01ZlcaNteLnsvqNlcaWlca2ncKkzM9YigKGpsaXlcaJzxHWAxjLzcbKBWOGigXVy2fSigv4CfrVA2vUid0GzxHWAxjLzfTPxqOGigXVy2fSigv4CfjZDKTLEsa9ihjZDLbYzwzPEcaUlIbLEhbuB2TLBGOGigXVy2fSigv4CenVDw50zxiGpsbYzwrPCY5JywXSkcDir0vujYWGzxHWuNn2s2v5lcaNy291BNrLCICPcIaGAwyGzxHWq291BNrLCIb0AgvUcIaGicbYzwrPCY5JywXSkcDAqurejYWGs0vzu1SYxsWGzxHWq291BNrLCIWGzxHWq291BNrLCIKkicbLBMqkicbYzwrPCY5JywXSkcDeruWNlcbLEhbsC3zlzxKPcIaGCMvKAxmUy2fSBcGNwLjftsCSieTfwvnBm10Sigv4CfrVA2vUkqOGihjLyxbLzca9ihjLyxbLzcaRidekzw5KcGOTlsbtDgvWidi6igfSBg9JyxrLignVDw50zxiGkfPqt1bnsu4GCMv1C2uGyxrHDsbjtKnsihnLCsKkBg9JywWGy291BNrLCKLUDaPSB2nHBcbPC1jLDxnLzca9idakAwyGqvjhvLSXxsa9psaNmsCGDgHLBGOGigXVy2fSihiGpsbYzwrPCY5JywXSkcDAue9qtuLojYWGs0vzu1SYxsWGmsKkicbPzIaJCIa+idaGDgHLBGOGicaGy291BNrLCKLUDca9ihrVBNvTyMvYkhjBmv0PcIaGicbPC1jLDxnLzca9idekicbLBMqkzw5KcMLMig5VDcbJB3vUDgvYsw50ihrOzw4kicbJB3vUDgvYsw50id0GCMvKAxmUy2fSBcGNsu5duICSieTfwvnBmv0PcIaGBg9JywWGy3r0Bca9ihrVBNvTyMvYkefsr1zBmL0PcIaGAwyGy3r0Bca+idaGyw5KignVDw50zxjjBNqGpt0Gmsb0AgvUcIaGicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcbJDhrSkqOGigvUzaPLBMqkcI0Tifn0zxaGmZOGD3jPDguGCMvZzxj2yxrPB24GAgfZAcaRigLUzgv4icSGvfrmcMXVy2fSihjZDKTLEsa9iefsr1zBnf0kBg9JywWGCNn2vhrStxmGpsb0B251BwjLCIHbuKDwwZvDkqPSB2nHBcbLEhbPCMvZqxrnCYa9ihrVBNvTyMvYkefsr1zBnL0PcMXVy2fSig5HCMDZid0Gi0fsr1ykBg9JywWGzMLLBgrZid0GE30kzM9YigKGpsa5lcbUyxjNCYbKBWOGigzPzwXKC1SJzMLLBgrZicSGmv0GpsbbuKDww2LDcMvUzaPYzwrPCY5JywXSkcDiu0vujYWGCNn2s2v5lcaNy291BNrLCICSignVDw50zxjjBNqSicDPC1jLDxnLzcCSigLZuMv1C2vKlcb1BNbRkgzPzwXKCYKPcNjLzgLZlMnHBgWOj1bfwfbjuKuNlcbYC3zlzxKSihjZDLr0Be1ZkqPYzwrPCY5JywXSkcDAqurejYWGs0vzu1SZxsWGzxHWAxjLC0f0txmSiefsr1zBm10PcNjLzgLZlMnHBgWOj0vyueLsrsCSieTfwvnBm10Sig1HDgGUzMXVB3iOCNn2vhrStxmGlYaXmdaWksaRidyWkqOkCMv0DxjUihSGy291BNrLCKLUDcWGAxnszxvZzwqSihjLyxbLzcb9cG','Bwf4uMv0CNK','sLHgBhO','x2j1AwXKsxnZDwvKs2v5','Dgv4Da','AwrNzw4','x3jLC2vYDMvnyxHuveW','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','BgvUz3rO','z2v0','u2TXze8','x2vUywjSzwq','uMfUzg9TihjLC2vYDMf0Aw9UihvUzg8GzxjYB3iGkg9YCgHHBIbZBg90ig1HEsbYzw1HAw4P','C2vWyxjHDg9Y','surhru5Fsu5wquXjrf9nt0rf','x2rLzMf1BhrtzxjPywXqyxr0zxjU','zgzrD08','x2j1AwXKuMvZzxj2yxrPB25lzxLqCMvMAxG','x3zHBgLKyxrLuMvZB3vYy2u','EMXkEg0','AwrNzw5FAwrLBv9ZDg9Yzw54x2vYCM9Y','ks4Gsw5JCMvHC2uGBNvTrgLNAxrZlG','sw52ywXPzcbKAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','x2LKzw1uveW','CMvSzwfZzq','C2v0','EgXbEMe','r05xs0u','surhru5FuKvtrvjwrv9nqvHFvfrm','AwrLBxbVDgvUy3LlzxK','x2j1AwXKu2vXs2v5','BuDmzfm','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','CNn2s2v5','mta5mJyWogf2D0P2ra','x2j1AwXKuMv1C2vlzxK','x2fSBg93uMvZzxq','x2DLDenVDw50zxjuveW','surhru5Fvu5juvvfx1jfvfjzx0vysefvu1rfra','sw52ywXPzcbTyxHszxrYEtOGBxvZDcbIzsbPBNrLz2vYideT','AwrNzw5FAwrLBv9OAxq','AwrNzw5FCMvZzxj2zv9VDMvYzMXVD19JB21Wzw5ZyxrPB25FzxjYB3i','A2v5CW','surhru5FreLtqujmruq','r0H6tey','ExL5Ew1Tzgq','x3vWzgf0zu1LDge','x3zHBgLKyxrLvfrm','vw5RBM93BIbTB2rLoIa','x3jLC2vYDMvezwzHDwX0vfrm'];a0_0x25a6=function(){return _0x14afbd;};return a0_0x25a6();}
|
|
1
|
+
'use strict';const a0_0x563a93=a0_0x1b06;(function(_0x5159db,_0x29a0ad){const _0x9ba9b5=a0_0x1b06,_0x3e4449=_0x5159db();while(!![]){try{const _0x242f89=-parseInt(_0x9ba9b5(0x12c))/0x1*(parseInt(_0x9ba9b5(0x191))/0x2)+-parseInt(_0x9ba9b5(0xc4))/0x3*(-parseInt(_0x9ba9b5(0x123))/0x4)+-parseInt(_0x9ba9b5(0xc5))/0x5+-parseInt(_0x9ba9b5(0xb3))/0x6*(parseInt(_0x9ba9b5(0x8b))/0x7)+parseInt(_0x9ba9b5(0xc8))/0x8+-parseInt(_0x9ba9b5(0xf0))/0x9*(-parseInt(_0x9ba9b5(0x144))/0xa)+-parseInt(_0x9ba9b5(0xe5))/0xb*(parseInt(_0x9ba9b5(0x164))/0xc);if(_0x242f89===_0x29a0ad)break;else _0x3e4449['push'](_0x3e4449['shift']());}catch(_0x4ce885){_0x3e4449['push'](_0x3e4449['shift']());}}}(a0_0x21ab,0x2b2d6));const crypto=require(a0_0x563a93(0x197)),redisClient=require(a0_0x563a93(0x1a3)),{logger}=require(a0_0x563a93(0x129)),idempotencyManager=require(a0_0x563a93(0x84)),ALLOWED_FORMATS=new Set([a0_0x563a93(0x19c),'yyyy',a0_0x563a93(0x143),'yyyymmdd']),RESOURCE_REGEX=/^[A-Za-z0-9_-]{1,64}$/,PREFIX_REGEX=/^[A-Za-z0-9_-]{0,32}$/,SEPARATOR_FORBIDDEN=/:/,MAX_NUM_DIGITS=0xc,MIN_NUM_DIGITS=0x1,MAX_PIN_DIGITS=0xc,MIN_PIN_DIGITS=0x4,MAX_PATTERN_LENGTH=0x100,MAX_TTL=0x278d00,MAX_RETRY_LIMIT=0x64,MAX_IDEMPOTENCY_KEY_LENGTH=0x80,RESERVATION_TOKEN_REGEX=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,MIN_RESERVE_TTL=0xa,MAX_RESERVE_TTL=0x15180,DEFAULT_RESERVE_TTL=0x258,RESERVE_REAP_BATCH=0x40,CHARSET_DIGIT=a0_0x563a93(0x9b),CHARSET_UPPER='ABCDEFGHIJKLMNOPQRSTUVWXYZ',CHARSET_LOWER='abcdefghijklmnopqrstuvwxyz',CHARSET_LETTERS=CHARSET_UPPER+CHARSET_LOWER,CHARSET_UPPER_ALNUM=CHARSET_UPPER+CHARSET_DIGIT,CHARSET_MIXED_ALNUM=CHARSET_UPPER+CHARSET_LOWER+CHARSET_DIGIT,CHARSET_HEX_UPPER=a0_0x563a93(0xcb),CHARSET_HEX_LOWER='0123456789abcdef',PLACEHOLDER_MAP={'9':CHARSET_DIGIT,'N':CHARSET_DIGIT,'A':CHARSET_UPPER,'a':CHARSET_LOWER,'L':CHARSET_LETTERS,'X':CHARSET_UPPER_ALNUM,'x':CHARSET_MIXED_ALNUM,'H':CHARSET_HEX_UPPER,'h':CHARSET_HEX_LOWER},LUA_GENERATE_NUMBER='\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20reused\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#reused\x20>\x200\x20then\x0a\x20\x20\x20\x20return\x20{tonumber(reused[1]),\x201}\x0a\x20\x20end\x0aend\x0alocal\x20n\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0alocal\x20ttl\x20=\x20tonumber(ARGV[2])\x0aif\x20ttl\x20>\x200\x20and\x20n\x20==\x201\x20then\x0a\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20ttl)\x0aend\x0areturn\x20{n,\x200}\x0a',LUA_RELEASE_NUMBER=a0_0x563a93(0x98),LUA_RESERVE_NUMBER='\x0alocal\x20unpk\x20=\x20unpack\x20or\x20table.unpack\x0a\x0a--\x20Step\x201:\x20lazy\x20reap\x20expired\x20reservations\x20(cap\x20RESERVE_REAP_BATCH)\x0alocal\x20reaped\x20=\x200\x0alocal\x20nowMs\x20=\x20ARGV[7]\x0alocal\x20rsvPrefix\x20=\x20ARGV[8]\x0alocal\x20expired\x20=\x20redis.call(\x27ZRANGEBYSCORE\x27,\x20KEYS[3],\x20\x27-inf\x27,\x20\x27(\x27\x20..\x20nowMs,\x20\x27LIMIT\x27,\x200,\x2064)\x0afor\x20i\x20=\x201,\x20#expired\x20do\x0a\x20\x20local\x20expToken\x20=\x20expired[i]\x0a\x20\x20local\x20expRsvKey\x20=\x20rsvPrefix\x20..\x20expToken\x0a\x20\x20local\x20expCounter\x20=\x20redis.call(\x27HGET\x27,\x20expRsvKey,\x20\x27counter\x27)\x0a\x20\x20if\x20expCounter\x20then\x0a\x20\x20\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[2],\x20expCounter,\x20expCounter)\x0a\x20\x20end\x0a\x20\x20redis.call(\x27DEL\x27,\x20expRsvKey)\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[3],\x20expToken)\x0a\x20\x20reaped\x20=\x20reaped\x20+\x201\x0aend\x0a\x0a--\x20Step\x202:\x20allocate\x20counter\x20(ZPOPMIN\x20reuse\x20atau\x20INCR\x20seq)\x0alocal\x20counterInt\x0alocal\x20isReused\x20=\x200\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20r\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#r\x20>\x200\x20then\x0a\x20\x20\x20\x20counterInt\x20=\x20tonumber(r[1])\x0a\x20\x20\x20\x20isReused\x20=\x201\x0a\x20\x20end\x0aend\x0aif\x20not\x20counterInt\x20then\x0a\x20\x20counterInt\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0a\x20\x20local\x20cttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20cttl\x20>\x200\x20and\x20counterInt\x20==\x201\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20cttl)\x0a\x20\x20end\x0aend\x0a\x0a--\x20Step\x203:\x20write\x20reservation\x20hash\x20+\x20index\x20+\x20TTL\x0alocal\x20rsvKey\x20=\x20ARGV[4]\x0alocal\x20rsvTtlMs\x20=\x20tonumber(ARGV[5])\x0alocal\x20expiresAtMs\x20=\x20tonumber(ARGV[6])\x0alocal\x20nargs\x20=\x20#ARGV\x0alocal\x20fields\x20=\x20{}\x0afor\x20i\x20=\x209,\x20nargs\x20do\x0a\x20\x20fields[#fields\x20+\x201]\x20=\x20ARGV[i]\x0aend\x0aredis.call(\x27HSET\x27,\x20rsvKey,\x20\x27counter\x27,\x20counterInt,\x20\x27isReused\x27,\x20isReused,\x20unpk(fields))\x0aredis.call(\x27PEXPIRE\x27,\x20rsvKey,\x20rsvTtlMs)\x0aredis.call(\x27ZADD\x27,\x20KEYS[3],\x20expiresAtMs,\x20ARGV[3])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20math.floor(rsvTtlMs\x20/\x201000)\x20+\x2060)\x0a\x0areturn\x20{\x20counterInt,\x20isReused,\x20reaped\x20}\x0a',LUA_CONFIRM_RESERVATION=a0_0x563a93(0x19e),LUA_CANCEL_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27)\x0alocal\x20counter\x20=\x20h[1]\x0aif\x20counter\x20then\x0a\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[3],\x20counter,\x20counter)\x0a\x20\x20local\x20ttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20ttl\x20>\x200\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20ttl)\x0a\x20\x20end\x0aend\x0aredis.call(\x27DEL\x27,\x20KEYS[1])\x0aredis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0areturn\x20{\x201,\x20counter,\x20h[2],\x20h[3]\x20}\x0a',LUA_EXTEND_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27,\x20\x27isReused\x27,\x20\x27createdAt\x27)\x0alocal\x20prevExpiresAt\x20=\x20h[1]\x0alocal\x20newTtlMs\x20=\x20tonumber(ARGV[2])\x0alocal\x20newExpMs\x20=\x20tonumber(ARGV[3])\x0aredis.call(\x27PEXPIRE\x27,\x20KEYS[1],\x20newTtlMs)\x0aredis.call(\x27HSET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20ARGV[4])\x0aredis.call(\x27ZADD\x27,\x20KEYS[2],\x20newExpMs,\x20ARGV[1])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[2],\x20math.floor(newTtlMs\x20/\x201000)\x20+\x2060)\x0areturn\x20{\x201,\x20prevExpiresAt,\x20h[2],\x20h[3],\x20h[4],\x20h[5],\x20h[6]\x20}\x0a';class IdGeneratorError extends Error{constructor(_0xab6148,_0x903efc,_0x39f83e=null){const _0x137227=a0_0x563a93,_0xd77385={'SgYXG':function(_0x5f47ac,_0x3eba79){return _0x5f47ac||_0x3eba79;}};super(_0xd77385[_0x137227(0x162)](_0x903efc,_0xab6148)),this['name']='IdGeneratorError',this['code']=_0xab6148,this[_0x137227(0x148)]=_0x39f83e;}}function a0_0x1b06(_0x1908c9,_0x48f6ff){_0x1908c9=_0x1908c9-0x7a;const _0x21ab84=a0_0x21ab();let _0x1b06d2=_0x21ab84[_0x1908c9];if(a0_0x1b06['gixwsM']===undefined){var _0x3ea2ba=function(_0x1603b6){const _0x4eb5bc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x9c97f3='',_0x3840b7='';for(let _0xf0d831=0x0,_0x4fc4dd,_0x2de96b,_0x290787=0x0;_0x2de96b=_0x1603b6['charAt'](_0x290787++);~_0x2de96b&&(_0x4fc4dd=_0xf0d831%0x4?_0x4fc4dd*0x40+_0x2de96b:_0x2de96b,_0xf0d831++%0x4)?_0x9c97f3+=String['fromCharCode'](0xff&_0x4fc4dd>>(-0x2*_0xf0d831&0x6)):0x0){_0x2de96b=_0x4eb5bc['indexOf'](_0x2de96b);}for(let _0x4970a4=0x0,_0x302380=_0x9c97f3['length'];_0x4970a4<_0x302380;_0x4970a4++){_0x3840b7+='%'+('00'+_0x9c97f3['charCodeAt'](_0x4970a4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3840b7);};a0_0x1b06['rbfTMY']=_0x3ea2ba,a0_0x1b06['KCPoCx']={},a0_0x1b06['gixwsM']=!![];}const _0x5ea143=_0x21ab84[0x0],_0x114af0=_0x1908c9+_0x5ea143,_0x1dc9e6=a0_0x1b06['KCPoCx'][_0x114af0];return!_0x1dc9e6?(_0x1b06d2=a0_0x1b06['rbfTMY'](_0x1b06d2),a0_0x1b06['KCPoCx'][_0x114af0]=_0x1b06d2):_0x1b06d2=_0x1dc9e6,_0x1b06d2;}class IdGenerator{constructor(){const _0x5cacca=a0_0x563a93,_0x3f2d39={'LUZET':_0x5cacca(0x92)},_0x101963=_0x3f2d39['LUZET'][_0x5cacca(0x193)]('|');let _0x56ae05=0x0;while(!![]){switch(_0x101963[_0x56ae05++]){case'0':this['_reserveMaxTTL']=null;continue;case'1':this['_defaultSerialPattern']=null;continue;case'2':this['_idemTTL']=null;continue;case'3':this[_0x5cacca(0x134)]=null;continue;case'4':this[_0x5cacca(0xf2)]=null;continue;case'5':this['_allowReset']=null;continue;case'6':this['_defaultPinDigits']=null;continue;case'7':this[_0x5cacca(0x10e)]=null;continue;case'8':this['_counterTTLMap']=null;continue;case'9':this['_reserveDefaultTTL']=null;continue;case'10':this['_defaultMaxRetry']=null;continue;case'11':this['_initialized']=![];continue;}break;}}[a0_0x563a93(0x137)](){const _0x43f5e6=a0_0x563a93,_0x5697c0={'nxfbJ':function(_0x1094c2,_0x2815df,_0x3a8804){return _0x1094c2(_0x2815df,_0x3a8804);},'RUnDY':function(_0x4360e3,_0x5da140,_0x46f7b4){return _0x4360e3(_0x5da140,_0x46f7b4);},'jSCJS':function(_0x16529f,_0x370227){return _0x16529f===_0x370227;},'vwkbz':_0x43f5e6(0xb0),'PpGqB':'XXXX-XXXX-XXXX-XXXX'},_0x5c097d='1|11|8|4|5|2|12|10|6|3|0|9|7'['split']('|');let _0x591ad1=0x0;while(!![]){switch(_0x5c097d[_0x591ad1++]){case'0':this[_0x43f5e6(0xac)]=_0x5697c0['nxfbJ'](parseInt,process[_0x43f5e6(0x173)]['IDGEN_RESERVE_MAX_TTL'],0xa)||MAX_RESERVE_TTL;continue;case'1':this[_0x43f5e6(0xf2)]=_0x43f5e6(0xc0);continue;case'2':this[_0x43f5e6(0x97)]=_0x5697c0['RUnDY'](parseInt,process['env']['IDGEN_DEFAULT_PIN_DIGITS'],0xa)||0x6;continue;case'3':this['_reserveDefaultTTL']=parseInt(process['env'][_0x43f5e6(0xc6)],0xa)||DEFAULT_RESERVE_TTL;continue;case'4':this[_0x43f5e6(0x86)]=_0x5697c0['jSCJS'](process['env']['IDGEN_ALLOW_RESET'],_0x5697c0['vwkbz']);continue;case'5':this[_0x43f5e6(0x118)]=parseInt(process['env']['IDGEN_DEFAULT_MAX_RETRY'],0xa)||0xa;continue;case'6':this[_0x43f5e6(0x150)]={'yyyymm':parseInt(process[_0x43f5e6(0x173)][_0x43f5e6(0xd0)],0xa)||0x2a3000,'yyyymmdd':_0x5697c0['nxfbJ'](parseInt,process[_0x43f5e6(0x173)][_0x43f5e6(0x16b)],0xa)||0x2a300};continue;case'7':logger['info']({'event':_0x43f5e6(0xdf),'enabled':this[_0x43f5e6(0x10e)],'idemTTL':this[_0x43f5e6(0x178)],'allowReset':this['_allowReset'],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this['_defaultPinDigits'],'reserveDefaultTTL':this['_reserveDefaultTTL'],'reserveMaxTTL':this['_reserveMaxTTL']},_0x43f5e6(0x19b)+this[_0x43f5e6(0x10e)]);continue;case'8':this['_idemTTL']=_0x5697c0[_0x43f5e6(0x145)](parseInt,process['env'][_0x43f5e6(0x108)],0xa)||0x258;continue;case'9':this[_0x43f5e6(0x7d)]=!![];continue;case'10':this[_0x43f5e6(0x134)]=process[_0x43f5e6(0x173)]['IDGEN_DEFAULT_CODE_PATTERN']||_0x43f5e6(0xb5);continue;case'11':this['_enabled']=process[_0x43f5e6(0x173)]['IDGEN_ENABLED']===_0x5697c0['vwkbz'];continue;case'12':this[_0x43f5e6(0x136)]=process[_0x43f5e6(0x173)]['IDGEN_DEFAULT_SERIAL_PATTERN']||_0x5697c0['PpGqB'];continue;}break;}}['_ensureInitialized'](){const _0x4a5d93=a0_0x563a93;if(!this[_0x4a5d93(0x7d)])this[_0x4a5d93(0x137)]();}get[a0_0x563a93(0x17f)](){const _0xdb5984=a0_0x563a93;return this['_ensureInitialized'](),this[_0xdb5984(0x10e)];}get[a0_0x563a93(0x89)](){const _0x289ed=a0_0x563a93;return this[_0x289ed(0xde)](),this[_0x289ed(0xf2)];}get[a0_0x563a93(0x17d)](){return this['_ensureInitialized'](),this['_idemTTL'];}get[a0_0x563a93(0x146)](){return this['_ensureInitialized'](),this['_allowReset'];}get['defaultMaxRetry'](){return this['_ensureInitialized'](),this['_defaultMaxRetry'];}get['defaultPinDigits'](){return this['_ensureInitialized'](),this['_defaultPinDigits'];}get[a0_0x563a93(0x194)](){return this['_ensureInitialized'](),this['_defaultSerialPattern'];}get['defaultCodePattern'](){return this['_ensureInitialized'](),this['_defaultCodePattern'];}get[a0_0x563a93(0x1a4)](){const _0x563e3a=a0_0x563a93;return this['_ensureInitialized'](),this[_0x563e3a(0xae)];}get[a0_0x563a93(0x153)](){const _0x403ba8=a0_0x563a93;return this[_0x403ba8(0xde)](),this['_reserveMaxTTL'];}[a0_0x563a93(0xfb)](){return this['enabled'];}[a0_0x563a93(0x12a)](_0x345c8c){const _0x3a3a2e=a0_0x563a93,_0x20c995={'pDanC':function(_0x5b3b7e,_0x3b607e){return _0x5b3b7e!==_0x3b607e;}};if(_0x20c995[_0x3a3a2e(0x14c)](typeof _0x345c8c,'string')||!RESOURCE_REGEX[_0x3a3a2e(0x18a)](_0x345c8c))throw new IdGeneratorError('IDGEN_INVALID_RESOURCE','Invalid\x20resource:\x20must\x20match\x20'+RESOURCE_REGEX+'\x20(got:\x20'+JSON[_0x3a3a2e(0x11a)](_0x345c8c)+')');}[a0_0x563a93(0xfe)](_0x229c4e){const _0x4e0031=a0_0x563a93,_0x7c7f8e={'dSBdl':_0x4e0031(0x13e),'AWucN':function(_0xb66be1,_0x991a4f){return _0xb66be1>_0x991a4f;},'qVRgi':function(_0x354e53,_0x1d0f2d){return _0x354e53==_0x1d0f2d;},'DoYtm':function(_0x1919b6,_0x2a89e2){return _0x1919b6!==_0x2a89e2;},'fvgIF':_0x4e0031(0x9e),'TlPjL':'string','QJNNe':_0x4e0031(0x121),'yiPza':function(_0x1ca49d,_0xe437af){return _0x1ca49d!==_0xe437af;},'iPiSW':_0x4e0031(0xc7),'qSVaM':'IDGEN_INVALID_RESOURCE','yvMZJ':function(_0x2fd926,_0x3aa91e){return _0x2fd926===_0x3aa91e;}},{resource:_0x368801,format:_0x2fb80f,prefix:_0x35d1c4,separator:_0x1d77cd,numDigits:_0xff666c,reuseDelete:_0x57b1dc}=_0x229c4e;this['_validateResource'](_0x368801);const _0xeea9d7=typeof _0x2fb80f==='string'?_0x2fb80f[_0x4e0031(0x122)]():'';if(!ALLOWED_FORMATS['has'](_0xeea9d7))throw new IdGeneratorError(_0x7c7f8e[_0x4e0031(0x174)],'Invalid\x20format:\x20must\x20be\x20one\x20of\x20'+[...ALLOWED_FORMATS][_0x4e0031(0xcd)](',\x20')+'\x20(got:\x20'+_0x2fb80f+')');if(!Number[_0x4e0031(0x7b)](_0xff666c)||_0xff666c<MIN_NUM_DIGITS||_0x7c7f8e[_0x4e0031(0x156)](_0xff666c,MAX_NUM_DIGITS))throw new IdGeneratorError('IDGEN_INVALID_NUM_DIGITS','Invalid\x20numDigits:\x20must\x20be\x20integer\x20'+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+'\x20(got:\x20'+_0xff666c+')');const _0x56d276=_0x7c7f8e['qVRgi'](_0x35d1c4,null)?'':_0x35d1c4;if(_0x7c7f8e[_0x4e0031(0xf5)](typeof _0x56d276,_0x4e0031(0xaa))||!PREFIX_REGEX['test'](_0x56d276))throw new IdGeneratorError(_0x7c7f8e['fvgIF'],_0x4e0031(0x111)+PREFIX_REGEX+'\x20(got:\x20'+JSON['stringify'](_0x35d1c4)+')');const _0x5b76ae=_0x1d77cd==null?'':_0x1d77cd;if(_0x7c7f8e['DoYtm'](typeof _0x5b76ae,_0x7c7f8e[_0x4e0031(0x119)])||_0x7c7f8e['AWucN'](_0x5b76ae[_0x4e0031(0x10b)],0x3)||SEPARATOR_FORBIDDEN['test'](_0x5b76ae))throw new IdGeneratorError(_0x7c7f8e[_0x4e0031(0x83)],'Invalid\x20separator:\x20max\x203\x20char,\x20must\x20not\x20contain\x20\x27:\x27\x20(got:\x20'+JSON['stringify'](_0x1d77cd)+')');if(_0x57b1dc!=null&&_0x7c7f8e['yiPza'](typeof _0x57b1dc,_0x7c7f8e[_0x4e0031(0x15f)]))throw new IdGeneratorError(_0x7c7f8e[_0x4e0031(0xcf)],'Invalid\x20reuseDelete:\x20must\x20be\x20boolean\x20(got:\x20'+typeof _0x57b1dc+')');return{'resource':_0x368801,'format':_0xeea9d7,'prefix':_0x56d276,'separator':_0x5b76ae,'numDigits':_0xff666c,'reuseDelete':_0x7c7f8e[_0x4e0031(0x17b)](_0x57b1dc,!![])};}[a0_0x563a93(0xa3)](_0x29ac3c){const _0x108d9a=a0_0x563a93,_0x2781f2={'rvlJJ':'string'};if(typeof _0x29ac3c!==_0x2781f2['rvlJJ']||_0x29ac3c['length']===0x0||_0x29ac3c[_0x108d9a(0x10b)]>MAX_PATTERN_LENGTH)throw new IdGeneratorError(_0x108d9a(0xe7),'Invalid\x20pattern:\x20must\x20be\x20string\x201-'+MAX_PATTERN_LENGTH+'\x20chars\x20(got\x20length:\x20'+(_0x29ac3c&&_0x29ac3c['length'])+')');let _0x3553b1=![];for(const _0x2bc1c4 of _0x29ac3c){if(PLACEHOLDER_MAP[_0x2bc1c4]){_0x3553b1=!![];break;}}if(!_0x3553b1)throw new IdGeneratorError(_0x108d9a(0xe7),_0x108d9a(0x19f));}[a0_0x563a93(0xb9)](_0x24e89b){const _0x541d0e=a0_0x563a93,_0x31f647={'vtZYG':function(_0x472335,_0x372d29){return _0x472335==_0x372d29;},'OCGnL':function(_0x6a6146,_0x333d05){return _0x6a6146<_0x333d05;},'WUJVK':function(_0x5600ea,_0x5c9d2a){return _0x5600ea>_0x5c9d2a;},'qvEmM':_0x541d0e(0xa8)};if(_0x31f647[_0x541d0e(0xd2)](_0x24e89b,null))return undefined;if(!Number[_0x541d0e(0x7b)](_0x24e89b)||_0x31f647['OCGnL'](_0x24e89b,0x1)||_0x31f647[_0x541d0e(0xeb)](_0x24e89b,MAX_TTL))throw new IdGeneratorError(_0x31f647[_0x541d0e(0x189)],'Invalid\x20ttl:\x20must\x20be\x20integer\x201-'+MAX_TTL+_0x541d0e(0x93)+_0x24e89b+')');return _0x24e89b;}[a0_0x563a93(0xc1)](_0x57bf60){const _0x1eba1f=a0_0x563a93,_0x5ec881={'vIFeN':function(_0x1bb16a,_0x31d999){return _0x1bb16a<_0x31d999;},'OSvgu':'IDGEN_INVALID_MAX_RETRY'};if(_0x57bf60==null)return this['defaultMaxRetry'];if(!Number['isInteger'](_0x57bf60)||_0x5ec881[_0x1eba1f(0x128)](_0x57bf60,0x1)||_0x57bf60>MAX_RETRY_LIMIT)throw new IdGeneratorError(_0x5ec881['OSvgu'],_0x1eba1f(0x13b)+MAX_RETRY_LIMIT+_0x1eba1f(0xe2)+_0x57bf60+')');return _0x57bf60;}[a0_0x563a93(0x15e)](_0x205194){const _0x48d326=a0_0x563a93,_0x2acd51={'TigaS':function(_0x5581f3,_0x450271){return _0x5581f3==_0x450271;},'plPmH':'IDGEN_INVALID_RESOURCE'};if(_0x2acd51['TigaS'](_0x205194,null))return undefined;if(typeof _0x205194!=='string'||_0x205194['length']===0x0||_0x205194['length']>MAX_IDEMPOTENCY_KEY_LENGTH)throw new IdGeneratorError(_0x2acd51[_0x48d326(0x18e)],_0x48d326(0xe4)+MAX_IDEMPOTENCY_KEY_LENGTH+_0x48d326(0x151));return _0x205194;}[a0_0x563a93(0xcc)](_0x932798){const _0x5b649b=a0_0x563a93,_0x4b14ed={'wxHHl':function(_0x40a248,_0x4614a4){return _0x40a248==_0x4614a4;},'IOHnY':function(_0x45a07c,_0x58d609){return _0x45a07c<_0x58d609;},'fmLRE':_0x5b649b(0x107)};if(_0x4b14ed['wxHHl'](_0x932798,null))return this[_0x5b649b(0x1a4)];if(!Number['isInteger'](_0x932798)||_0x4b14ed['IOHnY'](_0x932798,MIN_RESERVE_TTL)||_0x932798>this['reserveMaxTTL'])throw new IdGeneratorError(_0x4b14ed['fmLRE'],'Invalid\x20reservation\x20ttl:\x20must\x20be\x20integer\x20'+MIN_RESERVE_TTL+'-'+this['reserveMaxTTL']+'\x20seconds\x20(got:\x20'+_0x932798+')');return _0x932798;}[a0_0x563a93(0x1a0)](_0x1cf9d6){const _0x2061db=a0_0x563a93,_0x260b56={'Pkxem':function(_0x2228ae,_0x4610ff){return _0x2228ae!==_0x4610ff;},'Cwfmq':_0x2061db(0xaa)};if(_0x260b56['Pkxem'](typeof _0x1cf9d6,_0x260b56[_0x2061db(0x8a)])||!RESERVATION_TOKEN_REGEX[_0x2061db(0x18a)](_0x1cf9d6))throw new IdGeneratorError('IDGEN_INVALID_TOKEN',_0x2061db(0x18f)+JSON[_0x2061db(0x11a)](_0x1cf9d6)+')');return _0x1cf9d6;}['_pad2'](_0xb1ae0a){const _0x38251a={'bHyqY':function(_0x51f077,_0x185a0c){return _0x51f077(_0x185a0c);}};return _0x38251a['bHyqY'](String,_0xb1ae0a)['padStart'](0x2,'0');}[a0_0x563a93(0xd3)](_0x23e98a,_0x253a97,_0x164ea4=new Date()){const _0x72706d=a0_0x563a93,_0x294ca0={'GEjQE':function(_0x289032,_0x17344e){return _0x289032+_0x17344e;},'DTwyH':function(_0x285a8d,_0x48676c){return _0x285a8d||_0x48676c;},'xlUBz':_0x72706d(0x13e)},_0x37689c=_0x164ea4['getFullYear'](),_0x311b57=this[_0x72706d(0x13d)](_0x294ca0[_0x72706d(0xce)](_0x164ea4[_0x72706d(0x10a)](),0x1)),_0x608bc5=this['_pad2'](_0x164ea4[_0x72706d(0x91)]()),_0x39cbab=_0x294ca0[_0x72706d(0x171)](_0x253a97,'_');let _0x1d6e5b,_0x41f6e9='';switch(_0x23e98a){case'text':_0x1d6e5b=_0x39cbab+'_text';break;case _0x72706d(0x102):_0x41f6e9=''+_0x37689c,_0x1d6e5b=_0x39cbab+'_yyyy_'+_0x41f6e9;break;case'yyyymm':_0x41f6e9=''+_0x37689c+_0x311b57,_0x1d6e5b=_0x39cbab+_0x72706d(0x80)+_0x41f6e9;break;case _0x72706d(0xc3):_0x41f6e9=''+_0x37689c+_0x311b57+_0x608bc5,_0x1d6e5b=_0x39cbab+_0x72706d(0x180)+_0x41f6e9;break;default:throw new IdGeneratorError(_0x294ca0['xlUBz'],'Unknown\x20format:\x20'+_0x23e98a);}return{'formatKey':_0x1d6e5b,'datePrefix':_0x41f6e9};}['_buildSeqKey'](_0x26a7ba,_0xac28cb){return this['keyPrefix']+'seq:'+_0x26a7ba+':'+_0xac28cb;}['_buildReuseKey'](_0x347734,_0x4a8fe7){const _0x1153fa=a0_0x563a93;return this[_0x1153fa(0x89)]+_0x1153fa(0xca)+_0x347734+':'+_0x4a8fe7;}['_buildMetaKey'](_0x5f2bf9,_0x127178){const _0x5778cd=a0_0x563a93;return this[_0x5778cd(0x89)]+_0x5778cd(0x1a2)+_0x5f2bf9+':'+_0x127178;}['_buildIssuedKey'](_0x22359d){const _0x1adf30=a0_0x563a93;return this[_0x1adf30(0x89)]+_0x1adf30(0x81)+_0x22359d;}[a0_0x563a93(0x188)](_0x38000a,_0x5f41b7){const _0x3d65a0=a0_0x563a93;return this[_0x3d65a0(0x89)]+'active:'+_0x38000a+':'+_0x5f41b7;}[a0_0x563a93(0x184)](_0x1b709c){const _0x28b000=a0_0x563a93;return this[_0x28b000(0x89)]+'rsv:'+_0x1b709c;}['_buildReservationIndexKey'](_0x24b6dd,_0x483d71){return this['keyPrefix']+'rsv_idx:'+_0x24b6dd+':'+_0x483d71;}['_buildReservationKeyPrefix'](){const _0x197844=a0_0x563a93;return this['keyPrefix']+_0x197844(0x104);}['_buildIdemKey'](_0x177a40,_0x2cf8d1,_0x3ee2da,_0x30a12d){const _0x48248f=a0_0x563a93;if(_0x3ee2da)return idempotencyManager['buildDeterministicKey'](_0x48248f(0x9a),_0x177a40,_0x2cf8d1+':'+_0x3ee2da+':'+_0x30a12d);return idempotencyManager[_0x48248f(0x15a)](_0x48248f(0x9a),_0x177a40,_0x2cf8d1+':'+_0x30a12d);}['_getCounterTTL'](_0x48a801){const _0x2fdd84=a0_0x563a93;return this[_0x2fdd84(0x150)][_0x48a801]||0x0;}[a0_0x563a93(0x16d)]({format:_0x3f84bb,prefix:_0x4aeda1,datePrefix:_0x1cfd49,separator:_0x161598,numDigits:_0x439d58,counterInt:_0x32995c}){const _0x18e4b5=a0_0x563a93,_0x216a5f={'inSCR':function(_0x824607,_0x46a0c1){return _0x824607>_0x46a0c1;}},_0x47cbdd=Math[_0x18e4b5(0x139)](0xa,_0x439d58)-0x1;if(_0x216a5f['inSCR'](_0x32995c,_0x47cbdd))throw new IdGeneratorError('IDGEN_COUNTER_OVERFLOW','Counter\x20overflow:\x20'+_0x32995c+_0x18e4b5(0x132)+_0x439d58+'-digit\x20capacity\x20('+_0x47cbdd+').\x20Increase\x20numDigits.',{'counterInt':_0x32995c,'numDigits':_0x439d58,'max':_0x47cbdd});const _0x1a5c45=String(_0x32995c)[_0x18e4b5(0x10c)](_0x439d58,'0');if(_0x3f84bb===_0x18e4b5(0x19c))return _0x4aeda1?''+_0x4aeda1+_0x161598+_0x1a5c45:_0x1a5c45;return _0x4aeda1?''+_0x4aeda1+_0x161598+_0x1cfd49+_0x161598+_0x1a5c45:''+_0x1cfd49+_0x161598+_0x1a5c45;}['_parseNumber']({format:_0x34335f,prefix:_0x356d54,separator:_0x4030d6,numDigits:_0x2e32ec,number:_0x47f1c8}){const _0x3241d0=a0_0x563a93,_0x8896d5={'qzTGJ':function(_0x582311,_0x4267ba){return _0x582311!==_0x4267ba;},'YVdOs':'string','mTKMJ':function(_0x4e78e8,_0x5d9b78){return _0x4e78e8===_0x5d9b78;},'DjofS':function(_0x51bdea,_0x41501b){return _0x51bdea||_0x41501b;},'YZGyD':function(_0x1d914d,_0x187d83){return _0x1d914d===_0x187d83;},'Qfarq':function(_0xfa6ac9,_0x30b76b){return _0xfa6ac9!==_0x30b76b;},'ZcqbK':'IDGEN_INVALID_NUMBER','SGMwz':function(_0x5bd747,_0x392353){return _0x5bd747!==_0x392353;},'CXmxM':function(_0x59df8f,_0xd65ccf){return _0x59df8f===_0xd65ccf;}};if(_0x8896d5[_0x3241d0(0xa0)](typeof _0x47f1c8,_0x8896d5['YVdOs'])||_0x8896d5['mTKMJ'](_0x47f1c8['length'],0x0))throw new IdGeneratorError(_0x3241d0(0xf4),_0x3241d0(0x199));const _0x508a27=_0x8896d5['DjofS'](_0x4030d6,''),_0x34af3e=_0x8896d5[_0x3241d0(0x15d)](_0x508a27,'')?[_0x47f1c8]:_0x47f1c8[_0x3241d0(0x193)](_0x508a27);let _0x3f4e38='',_0x5bb555;if(_0x8896d5['YZGyD'](_0x34335f,'text')){if(_0x356d54){if(_0x8896d5[_0x3241d0(0xa2)](_0x34af3e['length'],0x2)||_0x8896d5[_0x3241d0(0xa0)](_0x34af3e[0x0],_0x356d54))throw new IdGeneratorError(_0x8896d5['ZcqbK'],_0x3241d0(0xd4)+_0x508a27+'padded\x20(got:\x20'+_0x47f1c8+')');_0x5bb555=_0x34af3e[0x1];}else{if(_0x34af3e[_0x3241d0(0x10b)]!==0x1)throw new IdGeneratorError(_0x8896d5[_0x3241d0(0x152)],_0x3241d0(0xdb)+_0x47f1c8+')');_0x5bb555=_0x34af3e[0x0];}}else{const _0x545b1f=_0x356d54?0x3:0x2;if(_0x34af3e['length']!==_0x545b1f)throw new IdGeneratorError(_0x3241d0(0xf4),_0x3241d0(0x135)+_0x47f1c8+_0x3241d0(0x149)+_0x545b1f+'\x20parts)');let _0xfa5e30=0x0;if(_0x356d54){if(_0x8896d5['SGMwz'](_0x34af3e[_0xfa5e30],_0x356d54))throw new IdGeneratorError(_0x8896d5['ZcqbK'],_0x3241d0(0x167)+_0x356d54+_0x3241d0(0x87)+_0x34af3e[_0xfa5e30]);_0xfa5e30++;}_0x3f4e38=_0x34af3e[_0xfa5e30++];const _0x46ac15=_0x8896d5[_0x3241d0(0x15d)](_0x34335f,'yyyy')?/^\d{4}$/:_0x34335f==='yyyymm'?/^\d{6}$/:/^\d{8}$/;if(!_0x46ac15[_0x3241d0(0x18a)](_0x3f4e38))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x3241d0(0x13a)+_0x34335f+':\x20'+_0x3f4e38);_0x5bb555=_0x34af3e[_0xfa5e30];}if(!new RegExp('^\x5cd{'+_0x2e32ec+'}$')[_0x3241d0(0x18a)](_0x5bb555))throw new IdGeneratorError(_0x8896d5[_0x3241d0(0x152)],_0x3241d0(0xa4)+_0x2e32ec+'\x20digits\x20(got:\x20'+_0x5bb555+')');const _0x52e91c=parseInt(_0x5bb555,0xa),_0x3e3281=_0x8896d5[_0x3241d0(0xe3)](_0x356d54,'_');let _0x84994b;return _0x8896d5[_0x3241d0(0xb6)](_0x34335f,'text')?_0x84994b=_0x3e3281+_0x3241d0(0x113):_0x84994b=_0x3e3281+'_'+_0x34335f+'_'+_0x3f4e38,{'formatKey':_0x84994b,'counterInt':_0x52e91c,'datePrefix':_0x3f4e38};}[a0_0x563a93(0x7f)](_0x2567f5){const _0xe9fad6=a0_0x563a93;let _0xbbfd96='';for(const _0x2bb56f of _0x2567f5){const _0x5815ca=PLACEHOLDER_MAP[_0x2bb56f];if(_0x5815ca){const _0x38e2e4=crypto[_0xe9fad6(0xff)](0x0,_0x5815ca[_0xe9fad6(0x10b)]);_0xbbfd96+=_0x5815ca[_0x38e2e4];}else _0xbbfd96+=_0x2bb56f;}return _0xbbfd96;}async[a0_0x563a93(0x19a)](_0x735f2){const _0x512faf=a0_0x563a93;if(!_0x735f2)return null;try{const _0x1fde4d=redisClient['getClient'](),_0x302f29=await _0x1fde4d['get'](_0x735f2);if(_0x302f29)return logger[_0x512faf(0x130)]({'event':'idgen_idem_hit','key':_0x735f2},'Idempotency\x20cache\x20HIT'),JSON[_0x512faf(0x190)](_0x302f29);return null;}catch(_0x3de753){return logger['warn']({'event':_0x512faf(0x9c),'error':_0x3de753[_0x512faf(0x16a)]},'Idempotency\x20retrieve\x20error'),null;}}async['_storeIdemCache'](_0x457774,_0x3b9a4f){const _0x1cc4c3=a0_0x563a93,_0x5e034d={'BUoQg':_0x1cc4c3(0x116)};if(!_0x457774)return;try{const _0x10bce2=redisClient[_0x1cc4c3(0xea)]();await _0x10bce2['setex'](_0x457774,this[_0x1cc4c3(0x17d)],JSON['stringify'](_0x3b9a4f));}catch(_0x4cb938){logger[_0x1cc4c3(0xb1)]({'event':_0x1cc4c3(0x110),'error':_0x4cb938[_0x1cc4c3(0x16a)]},_0x5e034d[_0x1cc4c3(0x12b)]);}}async['_storeIdemCacheNX'](_0x56574a,_0x2f2aae){const _0x2fb1b3=a0_0x563a93,_0xaa9ba8={'wvwdc':_0x2fb1b3(0x169),'Abcyt':'idgen_idem_storenx_error','DPqpy':_0x2fb1b3(0x13f)};if(!_0x56574a)return{'stored':!![],'winnerResult':null};try{const _0x43f8fb=redisClient['getClient'](),_0x3a0483=JSON['stringify'](_0x2f2aae),_0x2eeeda=await _0x43f8fb[_0x2fb1b3(0x11f)](_0x56574a,_0x3a0483,'EX',this[_0x2fb1b3(0x17d)],'NX');if(_0x2eeeda==='OK')return{'stored':!![],'winnerResult':null};const _0x232185=await _0x43f8fb[_0x2fb1b3(0x140)](_0x56574a);if(_0x232185)return{'stored':![],'winnerResult':JSON['parse'](_0x232185)};return logger['warn']({'event':_0xaa9ba8[_0x2fb1b3(0xef)],'key':_0x56574a},_0x2fb1b3(0x170)),{'stored':!![],'winnerResult':null};}catch(_0x2f55f1){return logger[_0x2fb1b3(0xb1)]({'event':_0xaa9ba8[_0x2fb1b3(0x147)],'error':_0x2f55f1['message']},_0xaa9ba8[_0x2fb1b3(0x8d)]),{'stored':!![],'winnerResult':null};}}async[a0_0x563a93(0x99)](_0x159467,_0x147650,_0x28728e){const _0x2a4cfb=a0_0x563a93,_0x5335cd={'jrAxE':'idgen_random_undo_error','liuuv':_0x2a4cfb(0x142)};try{const _0xbae560=redisClient['getClient']();if(_0x28728e){const _0x1d41ea=this['_buildActiveKey'](_0x159467,_0x147650);await _0xbae560[_0x2a4cfb(0x17a)](_0x1d41ea);}else{const _0x21bcee=this['_buildIssuedKey'](_0x159467);await _0xbae560[_0x2a4cfb(0x9d)](_0x21bcee,_0x147650);}}catch(_0x5812a0){logger[_0x2a4cfb(0xb1)]({'event':_0x5335cd['jrAxE'],'error':_0x5812a0['message']},_0x5335cd[_0x2a4cfb(0x15b)]);}}async[a0_0x563a93(0x8f)](_0x12750f,_0x5aef2e,_0x514f88,_0x5264f6=0x0){const _0x22c6e8=a0_0x563a93,_0x2910c1={'nqhJh':function(_0x488087,_0x1ce58f){return _0x488087(_0x1ce58f);},'gmnID':function(_0x41ee54,_0x5ba2f2){return _0x41ee54>_0x5ba2f2;},'sVTCi':'Meta\x20update\x20error'};try{const _0x3fd83d=redisClient['getClient'](),_0x2d93d1=this[_0x22c6e8(0xf6)](_0x12750f,_0x5aef2e),_0x300367=[];for(const [_0x18a8e5,_0x4069ec]of Object[_0x22c6e8(0x12d)](_0x514f88)){_0x300367[_0x22c6e8(0x1a6)](_0x18a8e5,_0x2910c1['nqhJh'](String,_0x4069ec));}if(_0x2910c1[_0x22c6e8(0x18d)](_0x300367[_0x22c6e8(0x10b)],0x0)){await _0x3fd83d['hset'](_0x2d93d1,..._0x300367);if(_0x5264f6>0x0)await _0x3fd83d['expire'](_0x2d93d1,_0x5264f6);}}catch(_0x58866c){logger[_0x22c6e8(0xb1)]({'event':_0x22c6e8(0x105),'error':_0x58866c[_0x22c6e8(0x16a)]},_0x2910c1[_0x22c6e8(0xb8)]);}}async[a0_0x563a93(0xd5)](_0x2a4da9){const _0x395ec7=a0_0x563a93,_0x14258d={'nhPfi':function(_0x5e14ac,_0x374db1){return _0x5e14ac(_0x374db1);},'UxDOx':function(_0x414dc9,_0x4b66c7){return _0x414dc9===_0x4b66c7;},'vweUz':function(_0x2684ec,_0x5c923d){return _0x2684ec(_0x5c923d);},'ukrgL':_0x395ec7(0x12e)};if(!this[_0x395ec7(0x17f)])throw new IdGeneratorError('IDGEN_DISABLED',_0x395ec7(0x154));const _0x431c72=this[_0x395ec7(0xfe)](_0x2a4da9),_0x41ae97=this['_validateIdempotencyKey'](_0x2a4da9['idempotencyKey']),{resource:_0x5e7171,format:_0x318e4a,prefix:_0x4c22c3,separator:_0x544958,numDigits:_0x2ae557,reuseDelete:_0x399f42}=_0x431c72,{formatKey:_0x432df5,datePrefix:_0x5a872e}=this[_0x395ec7(0xd3)](_0x318e4a,_0x4c22c3),_0x14a45c=this[_0x395ec7(0x114)](_0x5e7171,_0x432df5),_0x423869=this['_buildReuseKey'](_0x5e7171,_0x432df5),_0x2b4238=this[_0x395ec7(0x141)](_0x318e4a);let _0xdb0418=null;if(_0x41ae97){_0xdb0418=this['_buildIdemKey']('number',_0x5e7171,_0x432df5,_0x41ae97);const _0x2f1af1=await this[_0x395ec7(0x19a)](_0xdb0418);if(_0x2f1af1)return _0x2f1af1;}const _0xda9906=redisClient['getClient'](),_0x384bd1=await _0xda9906[_0x395ec7(0xa9)](LUA_GENERATE_NUMBER,0x2,_0x14a45c,_0x423869,_0x399f42?'1':'0',_0x14258d['nhPfi'](String,_0x2b4238)),_0x383e7e=_0x384bd1[0x0],_0x54533b=_0x14258d['UxDOx'](_0x384bd1[0x1],0x1),_0x12d7d4=this[_0x395ec7(0x16d)]({'format':_0x318e4a,'prefix':_0x4c22c3,'datePrefix':_0x5a872e,'separator':_0x544958,'numDigits':_0x2ae557,'counterInt':_0x383e7e}),_0x48418f={'value':_0x12d7d4,'counter':_0x383e7e,'resource':_0x5e7171,'formatKey':_0x432df5,'isReused':_0x54533b,'generatedAt':new Date()[_0x395ec7(0x177)]()},_0x8eb9ae=await this[_0x395ec7(0x138)](_0xdb0418,_0x48418f);if(!_0x8eb9ae[_0x395ec7(0xb2)]){try{await _0xda9906['eval'](LUA_RELEASE_NUMBER,0x1,_0x423869,String(_0x383e7e),_0x14258d['vweUz'](String,_0x2b4238));}catch(_0x5bec1e){logger['warn']({'event':_0x395ec7(0x94),'error':_0x5bec1e[_0x395ec7(0x16a)],'resource':_0x5e7171,'formatKey':_0x432df5,'counterInt':_0x383e7e},'Failed\x20to\x20release\x20counter\x20for\x20idempotency\x20loser');}return logger['info']({'event':_0x14258d[_0x395ec7(0xfd)],'resource':_0x5e7171,'formatKey':_0x432df5,'counter':_0x383e7e},'ID\x20Generator\x20number\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x8eb9ae['winnerResult'];}return this[_0x395ec7(0x8f)](_0x5e7171,_0x432df5,{'lastValue':_0x12d7d4,'lastCounter':_0x383e7e,'lastIsReused':_0x54533b,'lastGeneratedAt':_0x48418f[_0x395ec7(0x14e)]},_0x2b4238),logger[_0x395ec7(0x130)]({'event':'idgen_number_generated','resource':_0x5e7171,'formatKey':_0x432df5,'counter':_0x383e7e,'isReused':_0x54533b},_0x395ec7(0xed)+_0x12d7d4),_0x48418f;}async['releaseNumber'](_0x4aaa68){const _0x3e1852=a0_0x563a93,_0x380a15={'AeJaj':'IDGEN_DISABLED','oUtYv':'ID\x20Generator\x20is\x20disabled','Wnlhg':function(_0x1480cb,_0x17cb6e){return _0x1480cb!==_0x17cb6e;},'IwsZH':function(_0x4a9f0a,_0x2b3dd8){return _0x4a9f0a!==_0x2b3dd8;},'zSIzM':function(_0x625176,_0x41f3cf){return _0x625176!==_0x41f3cf;},'aCqXI':'string','rrKCK':function(_0xce7b50,_0x377962){return _0xce7b50===_0x377962;},'yBSut':_0x3e1852(0xf4),'CKrIB':function(_0x12c21d,_0x36fc19){return _0x12c21d<_0x36fc19;},'WDYti':_0x3e1852(0x7a)};if(!this['enabled'])throw new IdGeneratorError(_0x380a15['AeJaj'],_0x380a15['oUtYv']);let _0x1aa3c7,_0x15854f,_0x41644a,_0x1cc2fe;const _0x878711=this['_validateIdempotencyKey'](_0x4aaa68['idempotencyKey']);if(_0x380a15['Wnlhg'](_0x4aaa68['counterInt'],undefined)&&_0x380a15[_0x3e1852(0x88)](_0x4aaa68[_0x3e1852(0x8e)],null)){this[_0x3e1852(0x12a)](_0x4aaa68[_0x3e1852(0xe0)]),_0x1aa3c7=_0x4aaa68['resource'];if(_0x380a15['zSIzM'](typeof _0x4aaa68['formatKey'],_0x380a15[_0x3e1852(0xbe)])||_0x380a15[_0x3e1852(0x165)](_0x4aaa68['formatKey'][_0x3e1852(0x10b)],0x0))throw new IdGeneratorError(_0x380a15[_0x3e1852(0xd9)],_0x3e1852(0x10d));_0x15854f=_0x4aaa68[_0x3e1852(0xd7)];if(!Number[_0x3e1852(0x7b)](_0x4aaa68['counterInt'])||_0x380a15[_0x3e1852(0x155)](_0x4aaa68['counterInt'],0x1))throw new IdGeneratorError(_0x380a15['yBSut'],'counterInt\x20must\x20be\x20positive\x20integer\x20(got:\x20'+_0x4aaa68['counterInt']+')');_0x41644a=_0x4aaa68[_0x3e1852(0x8e)];const _0x548946=_0x15854f['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x1cc2fe=_0x548946?_0x548946[0x1]:_0x3e1852(0x19c);}else{const _0x5d2643=this[_0x3e1852(0xfe)](_0x4aaa68),_0x5aa031=this[_0x3e1852(0x14f)]({'format':_0x5d2643['format'],'prefix':_0x5d2643[_0x3e1852(0x196)],'separator':_0x5d2643['separator'],'numDigits':_0x5d2643[_0x3e1852(0x14a)],'number':_0x4aaa68['number']});_0x1aa3c7=_0x5d2643['resource'],_0x15854f=_0x5aa031['formatKey'],_0x41644a=_0x5aa031['counterInt'],_0x1cc2fe=_0x5d2643['format'];}const _0x5f1b34=this['_buildReuseKey'](_0x1aa3c7,_0x15854f),_0x245d80=this['_getCounterTTL'](_0x1cc2fe);let _0x2dfb2d=null;if(_0x878711){_0x2dfb2d=this[_0x3e1852(0x90)](_0x380a15['WDYti'],_0x1aa3c7,_0x15854f,_0x878711);const _0x531c13=await this['_retrieveIdemCache'](_0x2dfb2d);if(_0x531c13)return _0x531c13;}const _0x57daae=redisClient[_0x3e1852(0xea)]();await _0x57daae[_0x3e1852(0xa9)](LUA_RELEASE_NUMBER,0x1,_0x5f1b34,String(_0x41644a),String(_0x245d80));const _0x1e5d8a={'released':!![],'resource':_0x1aa3c7,'formatKey':_0x15854f,'counter':_0x41644a,'releasedAt':new Date()['toISOString']()};return await this['_storeIdemCache'](_0x2dfb2d,_0x1e5d8a),this['_updateMeta'](_0x1aa3c7,_0x15854f,{'lastReleasedCounter':_0x41644a,'lastReleasedAt':_0x1e5d8a[_0x3e1852(0x17e)]},_0x245d80),logger['info']({'event':'idgen_number_released','resource':_0x1aa3c7,'formatKey':_0x15854f,'counter':_0x41644a},'ID\x20Generator\x20number\x20released:\x20'+_0x41644a),_0x1e5d8a;}async['reserveNumber'](_0x8166f6){const _0x4418ea=a0_0x563a93,_0x543182={'gzrBr':_0x4418ea(0x14d),'aHlhP':function(_0x31d4b1,_0x1f45b9){return _0x31d4b1+_0x1f45b9;},'dmMBr':function(_0x562bc5,_0x3d0c6b){return _0x562bc5*_0x3d0c6b;},'gINcD':'resource','wAqiz':_0x4418ea(0xa1),'ddBoh':function(_0x13eee2,_0x4a4df4){return _0x13eee2(_0x4a4df4);},'UkTIp':'datePrefix','ZTHwa':_0x4418ea(0x183),'lopcb':_0x4418ea(0x127),'LSeUf':function(_0x296f81,_0x33c488){return _0x296f81(_0x33c488);},'xpZwM':function(_0x3b0055,_0x3848c2){return _0x3b0055===_0x3848c2;},'xSoiM':_0x4418ea(0xab),'DKnYE':'idgen_reserve_idem_loser_cancel_error','rzGUz':_0x4418ea(0x187),'DnyId':'idgen_reserve_idem_loser'};if(!this['enabled'])throw new IdGeneratorError(_0x543182[_0x4418ea(0x12f)],_0x4418ea(0x154));const _0x197355=this[_0x4418ea(0xfe)](_0x8166f6),_0x2d789e=this[_0x4418ea(0xcc)](_0x8166f6['ttl']),_0x39a03b=this['_validateIdempotencyKey'](_0x8166f6['idempotencyKey']),{resource:_0x107498,format:_0x151eef,prefix:_0x34261c,separator:_0x2a1b19,numDigits:_0x24ce80,reuseDelete:_0x17d7b3}=_0x197355,{formatKey:_0x499ad1,datePrefix:_0x47d077}=this['_buildFormatKey'](_0x151eef,_0x34261c),_0x1890a2=this['_buildSeqKey'](_0x107498,_0x499ad1),_0x25aa63=this[_0x4418ea(0x124)](_0x107498,_0x499ad1),_0x16d204=this[_0x4418ea(0xc9)](_0x107498,_0x499ad1),_0x20229b=this['_getCounterTTL'](_0x151eef);let _0x5a31c4=null;if(_0x39a03b){_0x5a31c4=this[_0x4418ea(0x90)]('reserve',_0x107498,_0x499ad1,_0x39a03b);const _0x20a1a8=await this['_retrieveIdemCache'](_0x5a31c4);if(_0x20a1a8)return _0x20a1a8;}const _0x13ac4d=crypto['randomUUID'](),_0x172334=this[_0x4418ea(0x184)](_0x13ac4d),_0x6e8ed4=this[_0x4418ea(0xa5)](),_0x5e0623=Date['now'](),_0x14c280=_0x543182['aHlhP'](_0x5e0623,_0x2d789e*0x3e8),_0x1150f2=_0x543182['dmMBr'](_0x2d789e,0x3e8),_0x1f7cff=new Date(_0x5e0623)[_0x4418ea(0x177)](),_0x541b19=new Date(_0x14c280)['toISOString'](),_0x1f9ed8=[_0x543182['gINcD'],_0x107498,_0x4418ea(0xd7),_0x499ad1,_0x543182['wAqiz'],_0x151eef,_0x4418ea(0x196),_0x34261c,'separator',_0x2a1b19,'numDigits',_0x543182['ddBoh'](String,_0x24ce80),_0x543182['UkTIp'],_0x47d077||'','createdAt',_0x1f7cff,_0x543182[_0x4418ea(0xe9)],_0x541b19,_0x543182['lopcb'],String(_0x1150f2)];_0x39a03b&&_0x1f9ed8[_0x4418ea(0x1a6)](_0x4418ea(0x18c),_0x39a03b);const _0xda2f1b=redisClient['getClient'](),_0x1a6c93=await _0xda2f1b['eval'](LUA_RESERVE_NUMBER,0x3,_0x1890a2,_0x25aa63,_0x16d204,_0x17d7b3?'1':'0',_0x543182[_0x4418ea(0xf3)](String,_0x20229b),_0x13ac4d,_0x172334,String(_0x1150f2),_0x543182[_0x4418ea(0xf3)](String,_0x14c280),_0x543182[_0x4418ea(0x1a1)](String,_0x5e0623),_0x6e8ed4,..._0x1f9ed8),_0x3f485c=_0x1a6c93[0x0],_0x3f655d=_0x543182[_0x4418ea(0x168)](_0x1a6c93[0x1],0x1),_0xfd54fe=_0x1a6c93[0x2]||0x0;let _0x144876;try{_0x144876=this[_0x4418ea(0x16d)]({'format':_0x151eef,'prefix':_0x34261c,'datePrefix':_0x47d077,'separator':_0x2a1b19,'numDigits':_0x24ce80,'counterInt':_0x3f485c});}catch(_0x14a946){try{await _0xda2f1b['eval'](LUA_CANCEL_RESERVATION,0x3,_0x172334,_0x16d204,_0x25aa63,_0x13ac4d,String(_0x20229b));}catch(_0x23db06){logger['warn']({'event':'idgen_reserve_overflow_compensation_error','error':_0x23db06['message'],'resource':_0x107498,'formatKey':_0x499ad1,'counterInt':_0x3f485c,'token':_0x13ac4d},'Failed\x20to\x20compensate\x20reservation\x20after\x20counter\x20overflow');}throw _0x14a946;}try{await _0xda2f1b[_0x4418ea(0x159)](_0x172334,'value',_0x144876);}catch(_0x2d028e){logger[_0x4418ea(0xb1)]({'event':_0x543182[_0x4418ea(0x109)],'error':_0x2d028e[_0x4418ea(0x16a)],'resource':_0x107498,'formatKey':_0x499ad1,'counterInt':_0x3f485c,'token':_0x13ac4d},_0x4418ea(0x172));}const _0x3f3ada={'token':_0x13ac4d,'value':_0x144876,'counter':_0x3f485c,'resource':_0x107498,'formatKey':_0x499ad1,'isReused':_0x3f655d,'createdAt':_0x1f7cff,'expiresAt':_0x541b19,'reapedCount':_0xfd54fe},_0x3609aa=await this[_0x4418ea(0x138)](_0x5a31c4,_0x3f3ada);if(!_0x3609aa['stored']){try{await _0xda2f1b[_0x4418ea(0xa9)](LUA_CANCEL_RESERVATION,0x3,_0x172334,_0x16d204,_0x25aa63,_0x13ac4d,String(_0x20229b));}catch(_0x4594ec){logger[_0x4418ea(0xb1)]({'event':_0x543182['DKnYE'],'error':_0x4594ec['message'],'resource':_0x107498,'formatKey':_0x499ad1,'counterInt':_0x3f485c,'token':_0x13ac4d},_0x543182[_0x4418ea(0xa6)]);}return logger['info']({'event':_0x543182[_0x4418ea(0x19d)],'resource':_0x107498,'formatKey':_0x499ad1,'counter':_0x3f485c,'token':_0x13ac4d},'ID\x20Generator\x20reserve\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x3609aa[_0x4418ea(0x18b)];}return this['_updateMeta'](_0x107498,_0x499ad1,{'lastReservedCounter':_0x3f485c,'lastReservedAt':_0x1f7cff,'lastReapedCount':_0xfd54fe},_0x20229b),logger[_0x4418ea(0x130)]({'event':'idgen_number_reserved','resource':_0x107498,'formatKey':_0x499ad1,'counter':_0x3f485c,'isReused':_0x3f655d,'token':_0x13ac4d,'ttl':_0x2d789e,'reapedCount':_0xfd54fe},'ID\x20Generator\x20number\x20reserved:\x20'+_0x144876+_0x4418ea(0x185)+_0x13ac4d+')'),_0x3f3ada;}async[a0_0x563a93(0x179)](_0x223132){const _0x57875b=a0_0x563a93,_0x4aa360={'AVWKE':_0x57875b(0x163),'zDHAi':function(_0x3efaa1,_0x27500d,_0x5edf75){return _0x3efaa1(_0x27500d,_0x5edf75);},'aznLA':'idgen_reservation_confirmed'};if(!this[_0x57875b(0x17f)])throw new IdGeneratorError('IDGEN_DISABLED','ID\x20Generator\x20is\x20disabled');const _0x4c5f10=this['_validateReservationToken'](_0x223132&&_0x223132[_0x57875b(0x15c)]),_0x5176bc=this[_0x57875b(0x15e)](_0x223132&&_0x223132[_0x57875b(0x17c)]);let _0x30ab8d=null;if(_0x5176bc){_0x30ab8d=idempotencyManager['buildDeterministicKey'](_0x57875b(0x9a),_0x57875b(0x1a5),_0x4c5f10+':'+_0x5176bc);const _0x5f1d1c=await this['_retrieveIdemCache'](_0x30ab8d);if(_0x5f1d1c)return _0x5f1d1c;}const _0x56f52b=await this['_getReservationContext'](_0x4c5f10),_0x1ba33e=redisClient['getClient'](),_0x747d69=await _0x1ba33e['eval'](LUA_CONFIRM_RESERVATION,0x2,_0x56f52b[_0x57875b(0xe1)],_0x56f52b['rsvIdxKey'],_0x4c5f10);if(!_0x747d69||_0x747d69[0x0]!==0x1)throw new IdGeneratorError(_0x4aa360[_0x57875b(0xbb)],_0x57875b(0x126)+_0x4c5f10,{'token':_0x4c5f10});const _0x386b13=_0x4aa360['zDHAi'](parseInt,_0x747d69[0x1],0xa),_0x1cc513=_0x747d69[0x2],_0x3bcc72=_0x747d69[0x3],_0x2a9b0c=new Date()[_0x57875b(0x177)](),_0xb44428={'confirmed':!![],'token':_0x4c5f10,'value':_0x1cc513,'counter':_0x386b13,'resource':_0x56f52b['resource'],'formatKey':_0x3bcc72,'confirmedAt':_0x2a9b0c};await this['_storeIdemCache'](_0x30ab8d,_0xb44428);const _0x5b56e2=_0x3bcc72[_0x57875b(0xaf)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x293845=_0x5b56e2?_0x5b56e2[0x1]:'text',_0x40821b=this['_getCounterTTL'](_0x293845);return this[_0x57875b(0x8f)](_0x56f52b[_0x57875b(0xe0)],_0x3bcc72,{'lastConfirmedCounter':_0x386b13,'lastConfirmedAt':_0x2a9b0c},_0x40821b),logger[_0x57875b(0x130)]({'event':_0x4aa360['aznLA'],'resource':_0x56f52b['resource'],'formatKey':_0x3bcc72,'counter':_0x386b13,'token':_0x4c5f10},'ID\x20Generator\x20reservation\x20confirmed:\x20'+_0x1cc513+_0x57875b(0x185)+_0x4c5f10+')'),_0xb44428;}async['cancelReservation'](_0x164872){const _0x5c50d3=a0_0x563a93,_0x569ea2={'hetNd':_0x5c50d3(0xec),'QQVhF':function(_0x18b227,_0x151891,_0x4eed0d){return _0x18b227(_0x151891,_0x4eed0d);},'DXSfb':_0x5c50d3(0xfc)};if(!this[_0x5c50d3(0x17f)])throw new IdGeneratorError('IDGEN_DISABLED',_0x5c50d3(0x82));const _0x48b2a5=this[_0x5c50d3(0x1a0)](_0x164872&&_0x164872[_0x5c50d3(0x15c)]),_0x9bc5d9=this[_0x5c50d3(0x15e)](_0x164872&&_0x164872['idempotencyKey']);let _0x2b7d3f=null;if(_0x9bc5d9){_0x2b7d3f=idempotencyManager[_0x5c50d3(0x15a)]('idgen',_0x569ea2['hetNd'],_0x48b2a5+':'+_0x9bc5d9);const _0x519b06=await this['_retrieveIdemCache'](_0x2b7d3f);if(_0x519b06)return _0x519b06;}const _0x374107=await this['_getReservationContext'](_0x48b2a5),_0x49e64a=this['_buildReuseKey'](_0x374107['resource'],_0x374107['formatKey']),_0x49b0c3=_0x374107[_0x5c50d3(0xd7)]['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x2cf514=_0x49b0c3?_0x49b0c3[0x1]:_0x5c50d3(0x19c),_0x18b4a4=this['_getCounterTTL'](_0x2cf514),_0x41f072=redisClient['getClient'](),_0x5aa51d=await _0x41f072['eval'](LUA_CANCEL_RESERVATION,0x3,_0x374107['rsvKey'],_0x374107[_0x5c50d3(0x85)],_0x49e64a,_0x48b2a5,String(_0x18b4a4));if(!_0x5aa51d||_0x5aa51d[0x0]!==0x1)throw new IdGeneratorError(_0x5c50d3(0x163),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x48b2a5,{'token':_0x48b2a5});const _0x248a9d=_0x569ea2[_0x5c50d3(0x11e)](parseInt,_0x5aa51d[0x1],0xa),_0x2842cc=_0x5aa51d[0x2],_0x3de28e=_0x5aa51d[0x3],_0x17b45f=new Date()['toISOString'](),_0x31cfb9={'cancelled':!![],'token':_0x48b2a5,'value':_0x2842cc,'counter':_0x248a9d,'resource':_0x374107['resource'],'formatKey':_0x3de28e,'releasedToReuse':!![],'cancelledAt':_0x17b45f};return await this['_storeIdemCache'](_0x2b7d3f,_0x31cfb9),this[_0x5c50d3(0x8f)](_0x374107['resource'],_0x3de28e,{'lastCancelledCounter':_0x248a9d,'lastCancelledAt':_0x17b45f},_0x18b4a4),logger['info']({'event':_0x569ea2[_0x5c50d3(0x101)],'resource':_0x374107[_0x5c50d3(0xe0)],'formatKey':_0x3de28e,'counter':_0x248a9d,'token':_0x48b2a5},_0x5c50d3(0xc2)+_0x2842cc+_0x5c50d3(0x185)+_0x48b2a5+')'),_0x31cfb9;}async['extendReservation'](_0x5168d7){const _0x10469f=a0_0x563a93,_0x4dd581={'lVRtu':'ID\x20Generator\x20is\x20disabled','TPUcF':function(_0x2a4129,_0x3021c6){return _0x2a4129+_0x3021c6;},'QgbAX':function(_0x163c76,_0x8f02e){return _0x163c76*_0x8f02e;},'VLjoS':function(_0x520ca9,_0x5139ea){return _0x520ca9!==_0x5139ea;},'fQobH':function(_0x505014,_0x13edb2,_0x46c8e4){return _0x505014(_0x13edb2,_0x46c8e4);},'kroaN':'idgen_reservation_extended'};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x4dd581['lVRtu']);const _0x426159=this[_0x10469f(0x1a0)](_0x5168d7&&_0x5168d7['token']),_0x4bf1aa=this['_validateReserveTTL'](_0x5168d7&&_0x5168d7['ttl']),_0x2299ca=this[_0x10469f(0x15e)](_0x5168d7&&_0x5168d7['idempotencyKey']);let _0x1458b2=null;if(_0x2299ca){_0x1458b2=idempotencyManager['buildDeterministicKey']('idgen',_0x10469f(0xbc),_0x426159+':'+_0x2299ca);const _0x5453a5=await this[_0x10469f(0x19a)](_0x1458b2);if(_0x5453a5)return _0x5453a5;}const _0x3ac56b=await this[_0x10469f(0x103)](_0x426159),_0x1ba74f=Date['now'](),_0x418f21=_0x4dd581[_0x10469f(0x166)](_0x1ba74f,_0x4dd581[_0x10469f(0xf8)](_0x4bf1aa,0x3e8)),_0x37d710=_0x4bf1aa*0x3e8,_0x4350e3=new Date(_0x418f21)['toISOString'](),_0x5a5f77=redisClient[_0x10469f(0xea)](),_0x58e523=await _0x5a5f77[_0x10469f(0xa9)](LUA_EXTEND_RESERVATION,0x2,_0x3ac56b[_0x10469f(0xe1)],_0x3ac56b[_0x10469f(0x85)],_0x426159,String(_0x37d710),String(_0x418f21),_0x4350e3);if(!_0x58e523||_0x4dd581[_0x10469f(0x11c)](_0x58e523[0x0],0x1))throw new IdGeneratorError(_0x10469f(0x163),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x426159,{'token':_0x426159});const _0x4af582=_0x58e523[0x1],_0x1fe165=_0x4dd581[_0x10469f(0x181)](parseInt,_0x58e523[0x2],0xa),_0x59d7aa=_0x58e523[0x3],_0x4474e2=_0x58e523[0x4],_0x3b8fa3=new Date(_0x1ba74f)[_0x10469f(0x177)](),_0x3a64fa={'extended':!![],'token':_0x426159,'previousExpiresAt':_0x4af582,'expiresAt':_0x4350e3,'ttlMs':_0x37d710,'resource':_0x3ac56b['resource'],'formatKey':_0x4474e2,'counter':_0x1fe165,'value':_0x59d7aa,'extendedAt':_0x3b8fa3};await this[_0x10469f(0xbd)](_0x1458b2,_0x3a64fa);const _0x3bf526=_0x4474e2['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0xf7b203=_0x3bf526?_0x3bf526[0x1]:_0x10469f(0x19c),_0x1416ad=this['_getCounterTTL'](_0xf7b203);return this['_updateMeta'](_0x3ac56b['resource'],_0x4474e2,{'lastExtendedCounter':_0x1fe165,'lastExtendedAt':_0x3b8fa3},_0x1416ad),logger[_0x10469f(0x130)]({'event':_0x4dd581[_0x10469f(0x100)],'resource':_0x3ac56b['resource'],'formatKey':_0x4474e2,'counter':_0x1fe165,'token':_0x426159,'ttl':_0x4bf1aa},_0x10469f(0x11b)+_0x59d7aa+_0x10469f(0x185)+_0x426159+_0x10469f(0x186)+_0x4bf1aa+'s)'),_0x3a64fa;}async[a0_0x563a93(0x161)](_0x52fd81){const _0x40602f=a0_0x563a93,_0xfef737={'sMwzC':function(_0x43b581,_0x21d364){return _0x43b581===_0x21d364;},'guhtZ':_0x40602f(0xd5),'kCIAF':function(_0x1a4e1d,_0x2866e7){return _0x1a4e1d>=_0x2866e7;}};if(!this[_0x40602f(0x17f)])throw new IdGeneratorError(_0x40602f(0x14d),_0x40602f(0x82));const _0x17bae3=this['_validateReservationToken'](_0x52fd81&&_0x52fd81['token']),_0xe7ce00=this[_0x40602f(0x184)](_0x17bae3),_0x5e9c1d=redisClient[_0x40602f(0xea)](),_0x207fdd=_0x5e9c1d['pipeline']();_0x207fdd[_0x40602f(0x95)](_0xe7ce00),_0x207fdd[_0x40602f(0x175)](_0xe7ce00);const _0x2e42b0=await _0x207fdd['exec'](),_0x3cd354=_0x2e42b0&&_0x2e42b0[0x0]&&_0x2e42b0[0x0][0x1],_0x563fb2=_0x2e42b0&&_0x2e42b0[0x1]&&_0x2e42b0[0x1][0x1];if(!_0x3cd354||_0xfef737[_0x40602f(0x14b)](Object['keys'](_0x3cd354)[_0x40602f(0x10b)],0x0))throw new IdGeneratorError(_0x40602f(0x163),_0x40602f(0x126)+_0x17bae3,{'token':_0x17bae3});return{'token':_0x17bae3,'resource':_0x3cd354['resource']||null,'formatKey':_0x3cd354[_0x40602f(0xd7)]||null,'format':_0x3cd354['format']||null,'prefix':_0x3cd354['prefix']||'','separator':_0x3cd354[_0x40602f(0x7e)]||'','numDigits':_0x3cd354[_0x40602f(0x14a)]?parseInt(_0x3cd354[_0x40602f(0x14a)],0xa):null,'datePrefix':_0x3cd354['datePrefix']||'','counter':_0x3cd354[_0x40602f(0xf7)]?parseInt(_0x3cd354[_0x40602f(0xf7)],0xa):null,'value':_0x3cd354['value']||null,'isReused':_0xfef737[_0x40602f(0x14b)](_0x3cd354['isReused'],'1')||_0xfef737['sMwzC'](_0x3cd354['isReused'],0x1),'createdAt':_0x3cd354[_0x40602f(0x9f)]||null,'expiresAt':_0x3cd354[_0x40602f(0x183)]||null,'ttlRemainingMs':typeof _0x563fb2===_0xfef737['guhtZ']&&_0xfef737[_0x40602f(0x117)](_0x563fb2,0x0)?_0x563fb2:null};}async['_getReservationContext'](_0x1dafb0){const _0x97a701=a0_0x563a93,_0xe67f67={'FbHxe':'formatKey'},_0x266efc=this[_0x97a701(0x184)](_0x1dafb0),_0x76a5db=redisClient['getClient'](),_0x572dfb=await _0x76a5db[_0x97a701(0xdc)](_0x266efc,'resource',_0xe67f67['FbHxe']),_0x53fd9c=_0x572dfb&&_0x572dfb[0x0],_0x51b1fe=_0x572dfb&&_0x572dfb[0x1];if(!_0x53fd9c||!_0x51b1fe)throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND',_0x97a701(0x126)+_0x1dafb0,{'token':_0x1dafb0});return{'resource':_0x53fd9c,'formatKey':_0x51b1fe,'rsvKey':_0x266efc,'rsvIdxKey':this[_0x97a701(0xc9)](_0x53fd9c,_0x51b1fe)};}async['random'](_0x257b3e){const _0x1376a2=a0_0x563a93,_0x319d6f={'ziYaw':'IDGEN_DISABLED','DaHoj':_0x1376a2(0x82),'cSyyB':'random','LNhwZ':function(_0x4dec90,_0x41b6d7){return _0x4dec90<_0x41b6d7;},'lsrvk':function(_0x223efd,_0x5d89ae){return _0x223efd===_0x5d89ae;},'zMtBK':_0x1376a2(0xe6),'MoMSJ':function(_0x2f56b1,_0x241db7){return _0x2f56b1&&_0x241db7;},'ooUzI':function(_0x3780d1,_0x3c2dea){return _0x3780d1*_0x3c2dea;},'XpZuk':'idgen_random_idem_loser','vpVJH':function(_0x198402,_0x30bde6){return _0x198402||_0x30bde6;}};if(!this[_0x1376a2(0x17f)])throw new IdGeneratorError(_0x319d6f[_0x1376a2(0x133)],_0x319d6f['DaHoj']);this[_0x1376a2(0x12a)](_0x257b3e['resource']),this[_0x1376a2(0xa3)](_0x257b3e['pattern']);const _0x62434a=this[_0x1376a2(0xb9)](_0x257b3e['ttl']),_0x42135e=this['_validateMaxRetry'](_0x257b3e[_0x1376a2(0x125)]),_0xf01693=this[_0x1376a2(0x15e)](_0x257b3e['idempotencyKey']),_0xc8ffe6=_0x257b3e['ensureUnique']===!![],{resource:_0x4d7959,pattern:_0x59cb69}=_0x257b3e;let _0x1ce64b=null;if(_0xf01693){_0x1ce64b=this[_0x1376a2(0x90)](_0x319d6f[_0x1376a2(0x120)],_0x4d7959,null,_0xf01693);const _0x16b047=await this[_0x1376a2(0x19a)](_0x1ce64b);if(_0x16b047)return _0x16b047;}const _0x165d0f=redisClient['getClient']();let _0x26d308=null,_0x3f7b9f=0x0;if(!_0xc8ffe6)_0x26d308=this['_generateFromPattern'](_0x59cb69),_0x3f7b9f=0x1;else{for(let _0x49751d=0x0;_0x319d6f['LNhwZ'](_0x49751d,_0x42135e);_0x49751d++){_0x3f7b9f++;const _0x2ba768=this['_generateFromPattern'](_0x59cb69);if(_0x62434a){const _0x10b341=this[_0x1376a2(0x188)](_0x4d7959,_0x2ba768),_0x2b9c7a=await _0x165d0f['set'](_0x10b341,'1','EX',_0x62434a,'NX');if(_0x2b9c7a==='OK'){_0x26d308=_0x2ba768;break;}}else{const _0x10c56a=this['_buildIssuedKey'](_0x4d7959),_0x283913=await _0x165d0f[_0x1376a2(0x13c)](_0x10c56a,_0x2ba768);if(_0x319d6f['lsrvk'](_0x283913,0x1)){_0x26d308=_0x2ba768;break;}}}if(_0x26d308===null)throw new IdGeneratorError(_0x319d6f['zMtBK'],_0x1376a2(0xad)+_0x42135e+_0x1376a2(0x158),{'resource':_0x4d7959,'pattern':_0x59cb69,'maxRetry':_0x42135e});}const _0xf48164={'value':_0x26d308,'resource':_0x4d7959,'pattern':_0x59cb69,'attemptCount':_0x3f7b9f,'generatedAt':new Date()[_0x1376a2(0x177)]()};_0x319d6f['MoMSJ'](_0x62434a,_0xc8ffe6)&&(_0xf48164[_0x1376a2(0x183)]=new Date(Date[_0x1376a2(0xd8)]()+_0x319d6f[_0x1376a2(0x195)](_0x62434a,0x3e8))['toISOString']());const _0x16306e=await this[_0x1376a2(0x138)](_0x1ce64b,_0xf48164);if(!_0x16306e['stored'])return _0xc8ffe6&&await this[_0x1376a2(0x99)](_0x4d7959,_0x26d308,_0x62434a),logger[_0x1376a2(0x130)]({'event':_0x319d6f['XpZuk'],'resource':_0x4d7959,'pattern':_0x59cb69,'value':_0x26d308},'ID\x20Generator\x20random\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x16306e[_0x1376a2(0x18b)];return logger[_0x1376a2(0x130)]({'event':_0x1376a2(0xbf),'resource':_0x4d7959,'pattern':_0x59cb69,'attemptCount':_0x3f7b9f,'ensureUnique':_0xc8ffe6,'ttl':_0x319d6f[_0x1376a2(0x16f)](_0x62434a,0x0)},_0x1376a2(0x16c)+_0x26d308),_0xf48164;}async['pin'](_0x195a4f){const _0x3ae6a6=a0_0x563a93,_0x4225c9={'HkUqb':function(_0x669b75,_0x3de3e1){return _0x669b75>_0x3de3e1;}},_0x3b5ec0=_0x195a4f['digits']==null?this[_0x3ae6a6(0xb4)]:_0x195a4f['digits'];if(!Number['isInteger'](_0x3b5ec0)||_0x3b5ec0<MIN_PIN_DIGITS||_0x4225c9[_0x3ae6a6(0xb7)](_0x3b5ec0,MAX_PIN_DIGITS))throw new IdGeneratorError(_0x3ae6a6(0x192),_0x3ae6a6(0x11d)+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+_0x3ae6a6(0xe2)+_0x3b5ec0+')');const _0x38d2d6='9'[_0x3ae6a6(0x157)](_0x3b5ec0);return this[_0x3ae6a6(0x96)]({'resource':_0x195a4f['resource'],'pattern':_0x38d2d6,'ensureUnique':_0x195a4f['ensureUnique']===!![],'ttl':_0x195a4f[_0x3ae6a6(0x7c)],'maxRetry':_0x195a4f['maxRetry'],'idempotencyKey':_0x195a4f['idempotencyKey']});}async['serial'](_0x293ad6){const _0x2723f1=a0_0x563a93,_0x2259fe=_0x293ad6[_0x2723f1(0x182)]||this[_0x2723f1(0x194)];return this[_0x2723f1(0x96)]({'resource':_0x293ad6[_0x2723f1(0xe0)],'pattern':_0x2259fe,'ensureUnique':_0x293ad6[_0x2723f1(0xa7)]!==![],'ttl':_0x293ad6['ttl'],'maxRetry':_0x293ad6[_0x2723f1(0x125)],'idempotencyKey':_0x293ad6['idempotencyKey']});}async['code'](_0x1a9a85){const _0x16f84a=a0_0x563a93,_0x50c58f={'wwoSX':function(_0x265c27,_0x5deb0b){return _0x265c27!==_0x5deb0b;}},_0x47040b=_0x1a9a85[_0x16f84a(0x182)]||this['defaultCodePattern'];return this['random']({'resource':_0x1a9a85[_0x16f84a(0xe0)],'pattern':_0x47040b,'ensureUnique':_0x50c58f['wwoSX'](_0x1a9a85['ensureUnique'],![]),'ttl':_0x1a9a85['ttl'],'maxRetry':_0x1a9a85[_0x16f84a(0x125)],'idempotencyKey':_0x1a9a85['idempotencyKey']});}async['consume'](_0x4da450){const _0x25cb3b=a0_0x563a93,_0x4bad68={'RlWDF':'ID\x20Generator\x20is\x20disabled','xLfIW':'IDGEN_INVALID_NUMBER','LLVhv':function(_0x5d0a35,_0x281f5c){return _0x5d0a35>_0x281f5c;}};if(!this[_0x25cb3b(0x17f)])throw new IdGeneratorError('IDGEN_DISABLED',_0x4bad68['RlWDF']);this['_validateResource'](_0x4da450['resource']);if(typeof _0x4da450[_0x25cb3b(0xda)]!==_0x25cb3b(0xaa)||_0x4da450[_0x25cb3b(0xda)][_0x25cb3b(0x10b)]===0x0)throw new IdGeneratorError(_0x4bad68['xLfIW'],_0x25cb3b(0x176));const {resource:_0x490e2e,value:_0x470762}=_0x4da450,_0x836ca3=redisClient['getClient'](),_0x1e9569=this[_0x25cb3b(0x188)](_0x490e2e,_0x470762),_0x22e42e=this[_0x25cb3b(0xf9)](_0x490e2e),[_0x4e774e,_0x2f3dbb]=await Promise[_0x25cb3b(0x16e)]([_0x836ca3[_0x25cb3b(0x17a)](_0x1e9569),_0x836ca3[_0x25cb3b(0x9d)](_0x22e42e,_0x470762)]),_0x75aca8=_0x4bad68[_0x25cb3b(0x131)](_0x4e774e+_0x2f3dbb,0x0);return logger[_0x25cb3b(0x130)]({'event':'idgen_consumed','resource':_0x490e2e,'value':_0x470762,'consumed':_0x75aca8},'ID\x20Generator\x20consumed:\x20'+_0x470762),{'consumed':_0x75aca8,'resource':_0x490e2e,'value':_0x470762,'consumedAt':new Date()[_0x25cb3b(0x177)]()};}async[a0_0x563a93(0xba)](_0x125303){const _0xdeb363=a0_0x563a93,_0x57fe89={'bOMDR':'IDGEN_DISABLED','pCrXQ':function(_0x4274e5,_0x5d1db2){return _0x4274e5===_0x5d1db2;},'Xwxtt':_0xdeb363(0xd5),'UkQcF':function(_0x3546a4,_0x202af2){return _0x3546a4===_0x202af2;},'dEpEF':'random'};if(!this['enabled'])throw new IdGeneratorError(_0x57fe89['bOMDR'],'ID\x20Generator\x20is\x20disabled');this['_validateResource'](_0x125303['resource']);const _0x5560b1=_0x125303[_0xdeb363(0x10f)]||'number',_0x3b27c7=redisClient[_0xdeb363(0xea)]();if(_0x57fe89['pCrXQ'](_0x5560b1,_0x57fe89['Xwxtt'])){const _0x261299=(_0x125303['format']||_0xdeb363(0x19c))['toLowerCase']();if(!ALLOWED_FORMATS[_0xdeb363(0xe8)](_0x261299))throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0xdeb363(0xf1)+_0x125303[_0xdeb363(0xa1)]);const {formatKey:_0x43d5c6}=this[_0xdeb363(0xd3)](_0x261299,_0x125303['prefix']||''),_0x3d0610=this[_0xdeb363(0x114)](_0x125303['resource'],_0x43d5c6),_0x945678=this['_buildReuseKey'](_0x125303[_0xdeb363(0xe0)],_0x43d5c6),[_0x50906a,_0x1c9361]=await Promise[_0xdeb363(0x16e)]([_0x3b27c7['get'](_0x3d0610),_0x3b27c7['zcard'](_0x945678)]);return{'resource':_0x125303['resource'],'mode':_0x57fe89['Xwxtt'],'formatKey':_0x43d5c6,'currentCounter':parseInt(_0x50906a,0xa)||0x0,'reusePoolSize':_0x1c9361||0x0};}if(_0x57fe89['UkQcF'](_0x5560b1,_0x57fe89[_0xdeb363(0x106)])){const _0x3c4d6d=this[_0xdeb363(0xf9)](_0x125303['resource']),_0x32e8c4=await _0x3b27c7['scard'](_0x3c4d6d);return{'resource':_0x125303[_0xdeb363(0xe0)],'mode':'random','issuedCount':_0x32e8c4||0x0};}throw new IdGeneratorError(_0xdeb363(0x198),'Unknown\x20mode:\x20'+_0x5560b1);}async['getInfo'](_0x1ae227){const _0x5454b1=a0_0x563a93,_0x3bd6a4=await this['peek'](_0x1ae227);if(_0x3bd6a4[_0x5454b1(0x10f)]==='number'){const _0x717f6=redisClient['getClient'](),_0x4c44fc=this[_0x5454b1(0xf6)](_0x1ae227['resource'],_0x3bd6a4[_0x5454b1(0xd7)]),_0x25c771=this['_buildReuseKey'](_0x1ae227[_0x5454b1(0xe0)],_0x3bd6a4['formatKey']),[_0x520145,_0x27f8e9]=await Promise['all']([_0x717f6['hgetall'](_0x4c44fc),_0x717f6['zrange'](_0x25c771,0x0,-0x1)]);return{..._0x3bd6a4,'reusePoolValues':_0x27f8e9[_0x5454b1(0xfa)](_0x38b041=>parseInt(_0x38b041,0xa)),'meta':_0x520145&&Object['keys'](_0x520145)['length']>0x0?_0x520145:null};}return _0x3bd6a4;}async['reset'](_0x436c41){const _0x4ad86a=a0_0x563a93,_0x4287a9={'JhlZh':'IDGEN_DISABLED','ytSsy':'Reset\x20operation\x20not\x20allowed\x20(set\x20IDGEN_ALLOW_RESET=true\x20to\x20enable)','EIRdY':function(_0x53b29,_0x1a3593){return _0x53b29===_0x1a3593;},'buwgp':_0x4ad86a(0xd5),'birjn':_0x4ad86a(0xee),'KSXuv':'random','cfWEA':'issued','CVjIk':'IDGEN_INVALID_MODE'};if(!this[_0x4ad86a(0x17f)])throw new IdGeneratorError(_0x4287a9['JhlZh'],'ID\x20Generator\x20is\x20disabled');if(!this[_0x4ad86a(0x146)])throw new IdGeneratorError('IDGEN_RESET_NOT_ALLOWED',_0x4287a9['ytSsy']);this[_0x4ad86a(0x12a)](_0x436c41[_0x4ad86a(0xe0)]);const _0xe2cbbb=_0x436c41[_0x4ad86a(0x10f)]||_0x4ad86a(0xd5),_0x24ab58=redisClient['getClient']();if(_0x4287a9[_0x4ad86a(0xd1)](_0xe2cbbb,'number')){const _0x3815bc=(_0x436c41['format']||'text')[_0x4ad86a(0x122)]();if(!ALLOWED_FORMATS['has'](_0x3815bc))throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0x4ad86a(0xf1)+_0x436c41[_0x4ad86a(0xa1)]);const {formatKey:_0x3009be}=this[_0x4ad86a(0xd3)](_0x3815bc,_0x436c41['prefix']||''),_0x4ae335=this[_0x4ad86a(0x114)](_0x436c41[_0x4ad86a(0xe0)],_0x3009be),_0x421262=this['_buildReuseKey'](_0x436c41['resource'],_0x3009be),_0x884025=this['_buildMetaKey'](_0x436c41[_0x4ad86a(0xe0)],_0x3009be);return await _0x24ab58[_0x4ad86a(0x17a)](_0x4ae335,_0x421262,_0x884025),logger['warn']({'event':'idgen_reset','resource':_0x436c41[_0x4ad86a(0xe0)],'mode':_0x4287a9[_0x4ad86a(0xdd)],'formatKey':_0x3009be},'ID\x20Generator\x20reset:\x20'+_0x436c41['resource']+':'+_0x3009be),{'reset':!![],'resource':_0x436c41['resource'],'mode':'number','formatKey':_0x3009be,'deletedKeys':[_0x4287a9['birjn'],'reuse',_0x4ad86a(0x115)]};}if(_0xe2cbbb===_0x4287a9[_0x4ad86a(0x112)]){const _0x6ff735=this['_buildIssuedKey'](_0x436c41['resource']);return await _0x24ab58['del'](_0x6ff735),logger[_0x4ad86a(0xb1)]({'event':'idgen_reset','resource':_0x436c41['resource'],'mode':'random'},_0x4ad86a(0x160)+_0x436c41['resource']),{'reset':!![],'resource':_0x436c41['resource'],'mode':_0x4287a9['KSXuv'],'deletedKeys':[_0x4287a9['cfWEA']]};}throw new IdGeneratorError(_0x4287a9['CVjIk'],'Unknown\x20mode:\x20'+_0xe2cbbb);}}function a0_0x21ab(){const _0x1dc026=['Bwf0y2G','Dhj1zq','D2fYBG','C3rVCMvK','mtyWotHAEgTvzfq','zgvMyxvSDfbPBKrPz2L0CW','otK5os05otK5','q1HTEe0','sgTvCwi','C1zuq2K','x3zHBgLKyxrLvfrm','CgvLAW','qvzxs0u','CMvZzxj2zv9LEhrLBMq','x3n0B3jLswrLBunHy2HL','yunXweK','AwrNzw5FCMfUzg9Tx2DLBMvYyxrLza','CMy6AwrNzw46','x3zHBgLKyxrLtwf4uMv0CNK','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignHBMnLBgXLzdOG','ExL5Ew1Tzgq','ntrSD2Puq2e','mtu1mJy2nwjNA1LOsq','surhru5FuKvtrvjwrv9eruzbvuXux1ruta','yM9VBgvHBG','mJy1oti0mePAyuznsW','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','CMv1C2u6','mdeYmZq1nJC4oufcq0rfrG','x3zHBgLKyxrLuMvZzxj2zvruta','AM9PBG','r0vQuuu','Cvnwyu0','surhru5Fq09vtLrfuL9uveXFtu9oveHmwq','ruLszfK','DNrAwuC','x2j1AwXKrM9YBwf0s2v5','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcbWCMvMAxG','BNvTyMvY','swrhzw5LCMf0B3jfCNjVCG','zM9YBwf0s2v5','BM93','EujtDxq','DMfSDwu','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKihrLEhqGzM9YBwf0icHNB3q6ia','Ag1Nzxq','yNv3z3a','x2vUC3vYzuLUAxrPywXPEMvK','AwrNzw5Fy29UzMLNx2LUAxq','CMvZB3vYy2u','CNn2s2v5','icHNB3q6ia','rgPVzLm','sw52ywXPzcbPzgvTCg90zw5JEuTLEtOGBxvZDcbIzsbZDhjPBMCGms0','ntCZmvLKwwzLtG','surhru5Fvu5juvvfx1jfvfjzx0vysefvu1rfra','surhru5Fsu5wquXjrf9qqvrurvjo','AgfZ','wLriD2e','z2v0q2XPzw50','v1vkvKS','CMvZzxj2zv9Jyw5JzwW','suqGr2vUzxjHDg9Yig51BwjLCJOG','C2vX','D3z3zgm','mJD5uhrjt2W','sw52ywXPzcbMB3jTyxq6ia','x2TLEvbYzwzPEa','zgrcB2G','surhru5Fsu5wquXjrf9ovu1crvi','rg9zDg0','x2j1AwXKtwv0yuTLEq','y291BNrLCG','uwDIqvG','x2j1AwXKsxnZDwvKs2v5','BwfW','AxnfBMfIBgvK','AwrNzw5FCMvZzxj2yxrPB25Fy2fUy2vSBgvK','DwTYz0W','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','CMfUzg9Tsw50','A3jVyu4','rfHtzMi','ExL5Eq','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','CNn2oG','AwrNzw5FBwv0yv91CgrHDgvFzxjYB3i','zevWruy','surhru5Fsu5wquXjrf9srvnfuLzfx1ruta','surhru5Fsurftv9uveW','EfnVAu0','z2v0tw9UDgG','BgvUz3rO','CgfKu3rHCNq','zM9YBwf0s2v5igLZihjLCxvPCMvKigLUigXVDY1SzxzLBcbYzwXLyxnL','x2vUywjSzwq','Bw9Kzq','AwrNzw5FAwrLBv9ZDg9Yzv9LCNjVCG','sw52ywXPzcbWCMvMAxG6ig11C3qGBwf0y2GG','s1nyDxy','x3rLEhq','x2j1AwXKu2vXs2v5','Bwv0yq','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i','A0njquy','x2rLzMf1BhrnyxHszxrYEq','vgXqAKW','C3rYAw5NAwz5','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9Uigv4DgvUzgvKoIa','vKXQB1m','sw52ywXPzcbKAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','uvfwAey','C2v0','y1n5Eui','surhru5Fsu5wquXjrf9trvbbuKfut1i','Dg9mB3DLCKnHC2u','ntiXotjmwhHOv3O','x2j1AwXKuMv1C2vlzxK','Bwf4uMv0CNK','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','DhrStxm','DKLgzu4','lI9SB2DNzxi','x3zHBgLKyxrLuMvZB3vYy2u','qLvVuwC','nty1m3jnAK5lrq','zw50CMLLCW','AwrNzw5FBNvTyMvYx2LKzw1FBg9Zzxi','z3PYqNi','Aw5MBW','teXwAhy','igv4y2vLzhmG','EMLzyxC','x2rLzMf1BhrdB2rLugf0DgvYBG','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcaOz290oIa','x2rLzMf1BhrtzxjPywXqyxr0zxjU','x2LUAxrdB25MAwC','x3n0B3jLswrLBunHy2HLtLG','Cg93','tNvTyMvYigrHDgvqCMvMAxGGAw52ywXPzcbMB3iGzM9YBwf0ia','sw52ywXPzcbTyxHszxrYEtOGBxvZDcbIzsbPBNrLz2vYideT','C2fKza','x3bHzdi','surhru5Fsu5wquXjrf9gt1jnqvq','swrLBxbVDgvUy3KGu0vuie5yigvYCM9Y','z2v0','x2DLDenVDw50zxjuveW','uMfUzg9TihjLC2vYDMf0Aw9UihvUzg8GzxjYB3iGkg9YCgHHBIbZBg90ig1HEsbYzw1HAw4P','ExL5Ew1T','mta1mtKZmgnkC0vmwa','uLvUrfK','ywXSB3DszxnLDa','qwjJExq','zgv0ywLSCW','lcbLEhbLy3rLzca','BNvTrgLNAxrZ','C013EKm','CerHBKm','surhru5FreLtqujmruq','z2vUzxjHDgvKqxq','x3bHCNnLtNvTyMvY','x2nVDw50zxjuveXnyxa','ignOyxjZ','wMnXyKS','CMvZzxj2zu1HEfruta','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','q0TYsui','qvD1y04','CMvWzwf0','igf0DgvTChrZlIbjBMnYzwfZzsbWyxr0zxjUigXLBMD0AcbVCIbTyxHszxrYEs4','AhnLDa','yNvPBgrezxrLCM1PBMLZDgLJs2v5','BgL1Dxy','Dg9Rzw4','wvPhEuq','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','AvbPu1C','suqGr2vUzxjHDg9YihjLC2v0oIbYyw5KB206','z2v0uMvZzxj2yxrPB24','u2DzweC','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','mtq4oezcEePNwq','CNjlq0S','vfbvy0y','tNvTyMvYihbYzwzPEcbTAxnTyxrJAdOGzxHWzwn0zwqG','EhbAD00','AwrNzw5FAwrLBv9UEf9YywnLx2XVC3rFyNv0x2vTChr5','BwvZC2fNzq','surhru5Fq09vtLrfuL9uveXFrefjtfK','suqGr2vUzxjHDg9YihjHBMrVBtOG','x2zVCM1HDe51BwjLCG','ywXS','DNbwsKG','u0vuie5yigzHAwXLzcbIDxqGy2fJAguGr0vuihjLDhvYBMvKigvTChr5iokaLcbMywXSAw5NigjHy2SGDg8GB3DUihjLC3vSDa','rfr3EuG','rMfPBgvKihrVihbLCNnPC3qGzM9YBwf0DgvKihzHBhvLihrVihjLC2vYDMf0Aw9UigHHC2G','zw52','zfnczgW','Chr0Ba','DMfSDwuGAxmGCMvXDwLYzwq','Dg9ju09tDhjPBMC','x2LKzw1uveW','y29UzMLYBvjLC2vYDMf0Aw9U','zgvS','ExznwKO','AwrLBxbVDgvUy3LlzxK','AwrLBvruta','CMvSzwfZzwrbDa','zw5HyMXLza','x3L5ExLTBwrKxW','zLfVyKG','Cgf0DgvYBG','zxHWAxjLC0f0','x2j1AwXKuMvZzxj2yxrPB25lzxK','icH0B2TLBJ0','lcaR','rMfPBgvKihrVignHBMnLBcbYzxnLCNzHDgLVBIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','x2j1AwXKqwn0AxzLs2v5','CxzfBu0','DgvZDa','D2LUBMvYuMvZDwX0','AwrLBuTLEq','z21Usuq','CgXqBuG','sw52ywXPzcbYzxnLCNzHDgLVBIb0B2TLBJOGBxvZDcbIzsbHihzHBgLKifvvsuqGzM9YBwf0icHNB3q6ia','CgfYC2u','nJjxwMHQCLG','surhru5Fsu5wquXjrf9esuDjvfm','C3bSAxq','zgvMyxvSDfnLCMLHBfbHDhrLCM4','B29vEKK','ChjLzML4','y3j5ChrV','surhru5Fsu5wquXjrf9nt0rf','sw52ywXPzcbUDw1Izxi6ig11C3qGyMuGBM9UlwvTChr5ihn0CMLUzW','x3jLDhjPzxzLswrLBunHy2HL','suqGr2vUzxjHDg9YignVBMzPzYbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','Dgv4Da','rg55swq','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYWGj2LZuMv1C2vKjYWGj2nYzwf0zwrbDcCSicDLEhbPCMvZqxqNkqPYzwrPCY5JywXSkcDeruWNlcblrvLtwZfDkqPYzwrPCY5JywXSkcDAuKvnjYWGs0vzu1SYxsWGqvjhvLSXxsKkCMv0DxjUihSGmsWGAfSXxsWGAfSYxsWGAfSZxsWGAfS0xsWGAfS1xsWGAfS2xsb9cG','sw52ywXPzcbWyxr0zxjUoIbTDxn0ignVBNrHAw4GyxqGBgvHC3qGB25LihbSywnLAg9SzgvYignOyxjHy3rLCIaOos9ol0eVys9ml1GVEc9il2GP','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','tfnLvwy','Bwv0ytO','lI9YzwrPCY1JBgLLBNq','CMvZzxj2zurLzMf1BhruveW','CMvZzxj2zv9JB25MAxjT','ChvZAa','CMvSzwfZzq','AxnjBNrLz2vY','DhrS','x2LUAxrPywXPEMvK','C2vWyxjHDg9Y','x2DLBMvYyxrLrNjVBvbHDhrLCM4','x3L5ExLTBv8','AxnZDwvKoG','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','uuPotMu','lI9PzgvTCg90zw5JEs1Tyw5Hz2vY','CNn2swr4s2v5','x2fSBg93uMvZzxq','lcbNB3qG','sxDZwKG','A2v5uhjLzML4','q3DMBxe','nda2AKzMq0z3','zxHWB3j0CW','rfbXChK','y291BNrLCKLUDa','x3vWzgf0zu1LDge','x2j1AwXKswrLBuTLEq','z2v0rgf0zq','mtf8n3W0Fdj8nxWXmhW2Fdf8m3W4FdL8ma','ihnLy29UzhmGkgDVDdOG','AwrNzw5FAwrLBv9SB3nLCL9YzwXLyxnLx2vYCM9Y','AgDLDgfSBa','CMfUzg9T','x2rLzMf1BhrqAw5eAwDPDhm','cNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZfDlcbbuKDwwZfDlcbbuKDwwZfDkqPSB2nHBcb0DgWGpsb0B251BwjLCIHbuKDwwZjDkqPPzIb0DgWGpIaWihrOzw4kicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcb0DgWPcMvUzaPYzxr1CM4GmqO','x3vUzg9syw5KB21szxnLCNzHDgLVBG','AwrNzw4','mdeYmZq1nJC4oq','AwrNzw5FAwrLBv9YzxrYAwv2zv9LCNjVCG','C3jLBq','surhru5Fsu5wquXjrf9quKvgsvG','y3jLyxrLzef0','CxPur0O','zM9YBwf0','uwzHCNe','x3zHBgLKyxrLugf0DgvYBG','tNvTyMvYignVDw50zxiGCgfYDcbTDxn0igjLigv4ywn0BhKG','x2j1AwXKuMvZzxj2yxrPB25lzxLqCMvMAxG','CNPhvxO','zw5ZDxjLvw5PCxvL','surhru5Fsu5wquXjrf9uveW','zxzHBa','C3rYAw5N','AwrNzw5FCMvZzxj2zv92ywX1zv9WzxjZAxn0x2vYCM9Y','x3jLC2vYDMvnyxHuveW','q291BgqGBM90igDLBMvYyxrLihvUAxf1zsb2ywX1zsbHzNrLCIa','x3jLC2vYDMvezwzHDwX0vfrm'];a0_0x21ab=function(){return _0x1dc026;};return a0_0x21ab();}const instance=new IdGenerator();instance[a0_0x563a93(0xd6)]=IdGeneratorError,module[a0_0x563a93(0x8c)]=instance,module['exports'][a0_0x563a93(0xd6)]=IdGeneratorError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';function
|
|
1
|
+
'use strict';const a0_0xc3622d=a0_0x1cc1;function a0_0x4948(){const _0x32d116=['x2LUAxrdB25MAwC','CMfUzg9Tvvvjra','C2v0zxG','x2vUC3vYzuLUAxrPywXPEMvK','Cgf0Aa','swrLBxbVDgvUy3KGy29UzMLNDxjHDgLVBIbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','ELbju0m','y3r0BLG','x3r0Ba','swrLBxbVDgvUy3KGy2fJAguGseLu','DhrS','surftvbpvevoq1LFru5bqKXfra','CMv0CMLLDMu','nZaWmta0r3nrEwHt','AxnfBMfIBgvK','Aw5MBW','z2vUzxjHDgvlzxK','zgvIDwC','mJq1mdG1EeLlz29P','vfvgyKO','mtaZmZGYngXLqMzcDG','mJbSAurgzgq','zxHWB3j0CW','ndyXmdm4tuHzwfjh','AwX5Cem','mte1nZy0mM9yv2DoAa','AwrLBxbVDgvUy3LFy29UzMLNx2LUAxq','zw5HyMXLza','AwrLBxbVDgvUy3LFBwLZCW','mJi0mJq5oxL1qMjlyq','C3rYAw5NAwz5','BwvZC2fNzq','x2LUAxrPywXPEMvK','mtm3mJmXnLDhD0jLEG','AwrLBxbVDgvUy3LFCMv0CMLLDMvFzxjYB3i','surftvbpvevoq1LFvfrm','qLz5u1m','CgfYC2u','Dhj1zq','x2vUywjSzwq','zxjYB3i','qKPrreS'];a0_0x4948=function(){return _0x32d116;};return a0_0x4948();}(function(_0x2352d5,_0x20b326){const _0x5f8b8c=a0_0x1cc1,_0x484bbb=_0x2352d5();while(!![]){try{const _0x1db110=parseInt(_0x5f8b8c(0x11a))/0x1+parseInt(_0x5f8b8c(0xf2))/0x2+-parseInt(_0x5f8b8c(0x115))/0x3+-parseInt(_0x5f8b8c(0xfa))/0x4+parseInt(_0x5f8b8c(0x118))/0x5*(-parseInt(_0x5f8b8c(0x110))/0x6)+parseInt(_0x5f8b8c(0xf6))/0x7+-parseInt(_0x5f8b8c(0x117))/0x8;if(_0x1db110===_0x20b326)break;else _0x484bbb['push'](_0x484bbb['shift']());}catch(_0x394fbf){_0x484bbb['push'](_0x484bbb['shift']());}}}(a0_0x4948,0x52e16));function a0_0x1cc1(_0x370668,_0x7424e3){_0x370668=_0x370668-0xf1;const _0x494895=a0_0x4948();let _0x1cc14f=_0x494895[_0x370668];if(a0_0x1cc1['DfhPeY']===undefined){var _0x3012b5=function(_0x12c321){const _0x568c15='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x99ed74='',_0x558091='';for(let _0x3b166e=0x0,_0x299e0d,_0xe0663,_0x3629cc=0x0;_0xe0663=_0x12c321['charAt'](_0x3629cc++);~_0xe0663&&(_0x299e0d=_0x3b166e%0x4?_0x299e0d*0x40+_0xe0663:_0xe0663,_0x3b166e++%0x4)?_0x99ed74+=String['fromCharCode'](0xff&_0x299e0d>>(-0x2*_0x3b166e&0x6)):0x0){_0xe0663=_0x568c15['indexOf'](_0xe0663);}for(let _0x4dbe33=0x0,_0x3bbd74=_0x99ed74['length'];_0x4dbe33<_0x3bbd74;_0x4dbe33++){_0x558091+='%'+('00'+_0x99ed74['charCodeAt'](_0x4dbe33)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x558091);};a0_0x1cc1['edLuxD']=_0x3012b5,a0_0x1cc1['puUXKa']={},a0_0x1cc1['DfhPeY']=!![];}const _0x2d8fc0=_0x494895[0x0],_0x5a8ed2=_0x370668+_0x2d8fc0,_0x5384d2=a0_0x1cc1['puUXKa'][_0x5a8ed2];return!_0x5384d2?(_0x1cc14f=a0_0x1cc1['edLuxD'](_0x1cc14f),a0_0x1cc1['puUXKa'][_0x5a8ed2]=_0x1cc14f):_0x1cc14f=_0x5384d2,_0x1cc14f;}const redisClient=require('./redis-client'),{logger}=require('./logger'),crypto=require('crypto');class IdempotencyManager{constructor(){this['_enabled']=null,this['_ttl']=null,this['_initialized']=![];}[a0_0xc3622d(0x103)](){const _0x55b7f3=a0_0xc3622d,_0x2ea0de={'TUFbJ':_0x55b7f3(0xff),'BVySS':function(_0x430e3b,_0x2f9bed,_0x3585b0){return _0x430e3b(_0x2f9bed,_0x3585b0);},'cttnX':_0x55b7f3(0xf3)};this['_enabled']=process['env'][_0x55b7f3(0x10e)]===_0x2ea0de[_0x55b7f3(0x116)],this[_0x55b7f3(0x10b)]=_0x2ea0de[_0x55b7f3(0xfd)](parseInt,process['env'][_0x55b7f3(0xfc)],0xa)||0x12c,this[_0x55b7f3(0xf9)]=!![],logger['info']({'event':_0x2ea0de[_0x55b7f3(0x10a)],'enabled':this['_enabled'],'ttl':this['_ttl']},_0x55b7f3(0x108)+this['_enabled']+',\x20TTL:\x20'+this['_ttl']+'s');}['_ensureInitialized'](){const _0x59cb8b=a0_0xc3622d;!this[_0x59cb8b(0xf9)]&&this['_initConfig']();}get[a0_0xc3622d(0xf4)](){const _0x2ba985=a0_0xc3622d;return this[_0x2ba985(0x106)](),this[_0x2ba985(0x100)];}get[a0_0xc3622d(0x10d)](){const _0x408f8c=a0_0xc3622d;return this['_ensureInitialized'](),this[_0x408f8c(0x10b)];}[a0_0xc3622d(0x111)](){return this['enabled'];}['buildKey'](_0x30bee9,_0x2c56a5){const _0x18de18=a0_0xc3622d,_0x4d4f99={'ilypC':'unknown'},_0x1ad914=_0x2c56a5[_0x18de18(0x107)]['split']('/')['filter'](Boolean),_0x585dde=_0x1ad914[0x0]||'default',_0x1ccae5=_0x1ad914[0x1]||_0x4d4f99[_0x18de18(0xf1)],_0x1c4097=_0x1ad914[0x2]||'unknown';return'rf:idem:'+_0x585dde+':'+_0x1ccae5+':'+_0x1c4097+':'+_0x30bee9;}async['store'](_0x4a5ae4,_0x1db197){const _0x588719=a0_0xc3622d;if(!this['enabled'])return![];try{const _0x14c44b=redisClient['getClient']();return await _0x14c44b[_0x588719(0x105)](_0x4a5ae4,this[_0x588719(0x10d)],JSON[_0x588719(0xf7)](_0x1db197)),logger[_0x588719(0x114)]({'event':'idempotency_store','key':_0x4a5ae4,'ttl':this['ttl'],'statusCode':_0x1db197['statusCode']},'Idempotency\x20response\x20stored'),!![];}catch(_0x54aff2){return logger[_0x588719(0x101)]({'event':'idempotency_store_error','key':_0x4a5ae4,'error':_0x54aff2[_0x588719(0xf8)]},'Idempotency\x20store\x20error:\x20'+_0x54aff2['message']),![];}}async[a0_0xc3622d(0x10f)](_0x2ce694){const _0x53fb62=a0_0xc3622d,_0x37b2ef={'BJQDK':'idempotency_hit','PGjpE':_0x53fb62(0x10c),'zPISC':_0x53fb62(0xfb)};if(!this['enabled'])return null;try{const _0x5eee58=redisClient['getClient'](),_0x20f4e2=await _0x5eee58['get'](_0x2ce694);if(_0x20f4e2)return logger[_0x53fb62(0x112)]({'event':_0x37b2ef[_0x53fb62(0x102)],'key':_0x2ce694},_0x37b2ef['PGjpE']),JSON[_0x53fb62(0xfe)](_0x20f4e2);return logger[_0x53fb62(0x114)]({'event':_0x53fb62(0xf5),'key':_0x2ce694},'Idempotency\x20cache\x20MISS'),null;}catch(_0x5429e7){return logger[_0x53fb62(0x101)]({'event':_0x37b2ef[_0x53fb62(0x109)],'key':_0x2ce694,'error':_0x5429e7[_0x53fb62(0xf8)]},'Idempotency\x20retrieve\x20error:\x20'+_0x5429e7[_0x53fb62(0xf8)]),null;}}[a0_0xc3622d(0x113)](_0x55a714='req'){const _0xa2366=a0_0xc3622d;return _0x55a714+'_'+crypto[_0xa2366(0x104)]();}['buildDeterministicKey'](_0x2da99d,_0x13b6d6,_0x2a825c){return _0x2da99d+':'+_0x13b6d6+':'+_0x2a825c;}}module[a0_0xc3622d(0x119)]=new IdempotencyManager();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x2f5b75=a0_0x73a1;function a0_0x73a1(_0x5779e8,_0x1b1e79){_0x5779e8=_0x5779e8-0x1c8;const _0x1becaa=a0_0x1bec();let _0x73a171=_0x1becaa[_0x5779e8];if(a0_0x73a1['NBSfjR']===undefined){var _0x4b56a1=function(_0x4063c1){const _0x2b8cba='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xce234c='',_0x58bd42='';for(let _0x5ebaa5=0x0,_0x5eeaf9,_0x2b6642,_0x5aebe1=0x0;_0x2b6642=_0x4063c1['charAt'](_0x5aebe1++);~_0x2b6642&&(_0x5eeaf9=_0x5ebaa5%0x4?_0x5eeaf9*0x40+_0x2b6642:_0x2b6642,_0x5ebaa5++%0x4)?_0xce234c+=String['fromCharCode'](0xff&_0x5eeaf9>>(-0x2*_0x5ebaa5&0x6)):0x0){_0x2b6642=_0x2b8cba['indexOf'](_0x2b6642);}for(let _0x3998ec=0x0,_0x23a56a=_0xce234c['length'];_0x3998ec<_0x23a56a;_0x3998ec++){_0x58bd42+='%'+('00'+_0xce234c['charCodeAt'](_0x3998ec)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x58bd42);};a0_0x73a1['vMaOXe']=_0x4b56a1,a0_0x73a1['jNCafg']={},a0_0x73a1['NBSfjR']=!![];}const _0xbe27f=_0x1becaa[0x0],_0x9baa3d=_0x5779e8+_0xbe27f,_0x4629b4=a0_0x73a1['jNCafg'][_0x9baa3d];return!_0x4629b4?(_0x73a171=a0_0x73a1['vMaOXe'](_0x73a171),a0_0x73a1['jNCafg'][_0x9baa3d]=_0x73a171):_0x73a171=_0x4629b4,_0x73a171;}(function(_0x3dff97,_0x398a80){const _0x48bd90=a0_0x73a1,_0x242db7=_0x3dff97();while(!![]){try{const _0x3b0dec=-parseInt(_0x48bd90(0x1da))/0x1*(parseInt(_0x48bd90(0x1d6))/0x2)+-parseInt(_0x48bd90(0x1e5))/0x3*(parseInt(_0x48bd90(0x1f0))/0x4)+-parseInt(_0x48bd90(0x1ee))/0x5*(parseInt(_0x48bd90(0x1e6))/0x6)+-parseInt(_0x48bd90(0x1df))/0x7*(-parseInt(_0x48bd90(0x1f1))/0x8)+parseInt(_0x48bd90(0x1e8))/0x9*(parseInt(_0x48bd90(0x1d1))/0xa)+-parseInt(_0x48bd90(0x1c9))/0xb*(-parseInt(_0x48bd90(0x1db))/0xc)+-parseInt(_0x48bd90(0x1e9))/0xd;if(_0x3b0dec===_0x398a80)break;else _0x242db7['push'](_0x242db7['shift']());}catch(_0x5cd95a){_0x242db7['push'](_0x242db7['shift']());}}}(a0_0x1bec,0x79755));const {logger}=require(a0_0x2f5b75(0x1cf));class ImportValidator{[a0_0x2f5b75(0x1f2)](_0x29609f,_0x29974e=[],_0x568d9a={}){const _0x32ef54=a0_0x2f5b75,_0x84ab40={'GlIYR':function(_0xf0b785,_0x591c56){return _0xf0b785===_0x591c56;},'xXYKY':function(_0x297da4,_0x57a3c9){return _0x297da4===_0x57a3c9;}},_0x1d15ee=[];return _0x29974e[_0x32ef54(0x1e1)](_0x16dcd9=>{const _0x5a763c=_0x32ef54,_0x4b160c=_0x29609f[_0x16dcd9];(_0x4b160c===null||_0x84ab40[_0x5a763c(0x1ea)](_0x4b160c,undefined)||_0x4b160c==='')&&_0x1d15ee[_0x5a763c(0x1d7)]({'field':_0x16dcd9,'type':'required','message':_0x5a763c(0x1d8)});}),Object['keys'](_0x568d9a)[_0x32ef54(0x1e1)](_0x3f7bbf=>{const _0x1a3920=_0x32ef54,_0x4c21e4=_0x29609f[_0x3f7bbf],_0x26eefe=_0x568d9a[_0x3f7bbf];if(_0x84ab40[_0x1a3920(0x1d2)](_0x4c21e4,null)||_0x4c21e4===undefined||_0x4c21e4==='')return;const _0x5e8366=this[_0x1a3920(0x1e4)](_0x3f7bbf,_0x4c21e4,_0x26eefe);_0x5e8366&&_0x1d15ee[_0x1a3920(0x1d7)](_0x5e8366);}),_0x1d15ee;}['validateFieldFormat'](_0x4f1cc2,_0x2daad1,_0x26b48e){const _0x3fdddb=a0_0x2f5b75,_0x5add87={'qlMoG':'phone'};switch(_0x26b48e){case _0x3fdddb(0x1dc):return this['validateEmail'](_0x4f1cc2,_0x2daad1);case _0x5add87['qlMoG']:return this[_0x3fdddb(0x1c8)](_0x4f1cc2,_0x2daad1);case'url':return this[_0x3fdddb(0x1dd)](_0x4f1cc2,_0x2daad1);case'number':return this['validateNumber'](_0x4f1cc2,_0x2daad1);default:return null;}}['validateEmail'](_0x4ef97c,_0x565839){const _0x52553a=a0_0x2f5b75,_0xa2e8ea={'WHHfH':function(_0xe80c8c,_0x456a03){return _0xe80c8c(_0x456a03);},'Nfmpr':_0x52553a(0x1e0)},_0x303d0f=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x303d0f[_0x52553a(0x1e2)](_0xa2e8ea[_0x52553a(0x1d5)](String,_0x565839)))return{'field':_0x4ef97c,'type':'format','message':_0xa2e8ea['Nfmpr']};return null;}['validatePhone'](_0x275dbb,_0x27c933){const _0x13e98b=a0_0x2f5b75,_0x53511d={'CuAFc':function(_0x4570c4,_0xcbef1f){return _0x4570c4<_0xcbef1f;},'VcFHX':_0x13e98b(0x1d0),'obgka':'Invalid\x20phone\x20format'},_0x1ad38e=String(_0x27c933)['replace'](/\s+/g,''),_0xb2b3e=/^[\d\+\-\(\)]+$/;if(!_0xb2b3e[_0x13e98b(0x1e2)](_0x1ad38e)||_0x53511d['CuAFc'](_0x1ad38e['length'],0x8))return{'field':_0x275dbb,'type':_0x53511d[_0x13e98b(0x1d3)],'message':_0x53511d['obgka']};return null;}[a0_0x2f5b75(0x1dd)](_0x22a5e5,_0x55a87b){const _0x8d9ec9=a0_0x2f5b75,_0x155200={'SYQVk':'Invalid\x20URL\x20format'};try{return new URL(String(_0x55a87b)),null;}catch(_0x3d2ce3){return{'field':_0x22a5e5,'type':'format','message':_0x155200[_0x8d9ec9(0x1cc)]};}}[a0_0x2f5b75(0x1cd)](_0xec743f,_0x116ed4){const _0x113d75=a0_0x2f5b75,_0x431d17={'JCvhU':function(_0x22a0a8,_0x22f9df){return _0x22a0a8(_0x22f9df);}};if(_0x431d17['JCvhU'](isNaN,_0x116ed4))return{'field':_0xec743f,'type':'format','message':_0x113d75(0x1d4)};return null;}[a0_0x2f5b75(0x1ed)](_0x1cbe6e,_0x48da32){const _0x6219e6=new Map(),_0xb2149a=[];return _0x1cbe6e['forEach']((_0x3a4ead,_0x32f3ec)=>{const _0x2745a4=a0_0x73a1,_0x2af813=_0x48da32[_0x2745a4(0x1ce)](_0x408371=>_0x3a4ead[_0x408371])['join']('|');_0x6219e6[_0x2745a4(0x1d9)](_0x2af813)?_0xb2149a['push']({'rowIndex':_0x32f3ec,'duplicateOf':_0x6219e6[_0x2745a4(0x1ca)](_0x2af813),'key':_0x2af813}):_0x6219e6['set'](_0x2af813,_0x32f3ec);}),_0xb2149a;}[a0_0x2f5b75(0x1ef)](_0x3201db,_0x2486c1,_0x20675c){const _0x4824ba=a0_0x2f5b75,_0x27042c={'GkVCK':function(_0x195fc6,_0xbb4db3){return _0x195fc6>_0xbb4db3;},'NKsIg':_0x4824ba(0x1ec)},_0x49c61f=[];return _0x3201db[_0x4824ba(0x1e1)]((_0x30a1fc,_0x51fd71)=>{const _0x2d9d54=_0x4824ba,_0x599ad6=this[_0x2d9d54(0x1f2)](_0x30a1fc,_0x2486c1,_0x20675c);_0x27042c[_0x2d9d54(0x1e3)](_0x599ad6[_0x2d9d54(0x1de)],0x0)&&_0x49c61f['push']({'rowIndex':_0x51fd71,'rowData':_0x30a1fc,'errors':_0x599ad6});}),logger[_0x4824ba(0x1eb)]({'event':_0x27042c[_0x4824ba(0x1e7)],'totalRows':_0x3201db[_0x4824ba(0x1de)],'errorCount':_0x49c61f[_0x4824ba(0x1de)]},'Batch\x20validation\x20completed'),_0x49c61f;}}module[a0_0x2f5b75(0x1cb)]=new ImportValidator();function a0_0x1bec(){const _0xd653ac=['sw52ywXPzcbLBwfPBcbMB3jTyxq','zM9YrwfJAa','DgvZDa','r2Twq0S','DMfSAwrHDgvgAwvSzezVCM1HDa','mtmWmZu5oxHUrKvVCq','mJy0ntaYmKDgq1npzq','tKTZswC','nJnjrLjHvLG','nZeWmJqYmg9tr1Dtyq','r2Xjwvi','Aw5MBW','yMf0y2HFDMfSAwrHDgLVBL9JB21WBgv0zq','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','nvbSu29cqW','yMf0y2HwywXPzgf0zvjVD3m','nePNDgzita','ote3mJG4wgzbEgjS','DMfSAwrHDgvsB3C','DMfSAwrHDgvqAg9Uzq','mJG2txznuK5P','z2v0','zxHWB3j0CW','u1LrvMS','DMfSAwrHDgvoDw1Izxi','BwfW','lI9SB2DNzxi','zM9YBwf0','nJm4ndCWteLPyvzO','EfHzs1K','vMngsfG','sw52ywXPzcbUDw1IzxiGzM9YBwf0','v0HizKG','nda0s2zqEvDq','ChvZAa','uMvXDwLYzwqGzMLLBgqGAxmGzw1WDhK','AgfZ','nJuZqMrYtufm','ndiYody4C1LNwgLf','zw1HAwW','DMfSAwrHDgvvCMW','BgvUz3rO','ndjYAwjQyxq'];a0_0x1bec=function(){return _0xd653ac;};return a0_0x1bec();}
|