@restforgejs/platform 5.2.12 → 5.2.13
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/fast-track.js +4 -7
- 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/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/soft-delete-dashboard-guard.js +1 -1
- package/src/utils/sql-table-extractor.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';
|
|
1
|
+
'use strict';const a0_0x57ae81=a0_0x3266;(function(_0x5c5617,_0x543dab){const _0x12cc47=a0_0x3266,_0x1ea578=_0x5c5617();while(!![]){try{const _0x4da8ca=parseInt(_0x12cc47(0x8f))/0x1*(parseInt(_0x12cc47(0x77))/0x2)+parseInt(_0x12cc47(0x8e))/0x3+parseInt(_0x12cc47(0x84))/0x4*(-parseInt(_0x12cc47(0x72))/0x5)+parseInt(_0x12cc47(0x79))/0x6*(parseInt(_0x12cc47(0x7f))/0x7)+-parseInt(_0x12cc47(0x8a))/0x8*(parseInt(_0x12cc47(0x73))/0x9)+-parseInt(_0x12cc47(0x8b))/0xa+parseInt(_0x12cc47(0x8c))/0xb;if(_0x4da8ca===_0x543dab)break;else _0x1ea578['push'](_0x1ea578['shift']());}catch(_0x3de1c7){_0x1ea578['push'](_0x1ea578['shift']());}}}(a0_0x1d92,0x77e3f));function a0_0x3266(_0x15d2dd,_0xecc2b9){_0x15d2dd=_0x15d2dd-0x72;const _0x1d9201=a0_0x1d92();let _0x326686=_0x1d9201[_0x15d2dd];if(a0_0x3266['rwNkDF']===undefined){var _0x4a3d58=function(_0x510309){const _0x452363='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x80c38c='',_0x3d1541='';for(let _0x71e6f2=0x0,_0xefe2c8,_0x39d32d,_0x13d53a=0x0;_0x39d32d=_0x510309['charAt'](_0x13d53a++);~_0x39d32d&&(_0xefe2c8=_0x71e6f2%0x4?_0xefe2c8*0x40+_0x39d32d:_0x39d32d,_0x71e6f2++%0x4)?_0x80c38c+=String['fromCharCode'](0xff&_0xefe2c8>>(-0x2*_0x71e6f2&0x6)):0x0){_0x39d32d=_0x452363['indexOf'](_0x39d32d);}for(let _0x2860da=0x0,_0x330fec=_0x80c38c['length'];_0x2860da<_0x330fec;_0x2860da++){_0x3d1541+='%'+('00'+_0x80c38c['charCodeAt'](_0x2860da)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3d1541);};a0_0x3266['iVyklO']=_0x4a3d58,a0_0x3266['IBpPCv']={},a0_0x3266['rwNkDF']=!![];}const _0x45e7cc=_0x1d9201[0x0],_0x2e3ed7=_0x15d2dd+_0x45e7cc,_0x33af4f=a0_0x3266['IBpPCv'][_0x2e3ed7];return!_0x33af4f?(_0x326686=a0_0x3266['iVyklO'](_0x326686),a0_0x3266['IBpPCv'][_0x2e3ed7]=_0x326686):_0x326686=_0x33af4f,_0x326686;}function a0_0x1d92(){const _0x51e484=['zgvIB3vUy2vnCW','zgvIB3vUy2vuAw1LCG','oevxCMDuqW','Bg9N','zgLYzwn0B3jPzxm','lYaOCMvJDxjZAxzLkq','icbBv0fuq0HDifDHDgnOAw5NoIa','lMPZ','oe5SAg5vyG','mtaYnZyYmg5qEuT0wa','mZG5odG2mLf5EMHktG','icbBv0fuq0HDifDHCM5PBMC6ifDHDgnOzxiGzxjYB3iGB24G','mZGYnduYr2rmqM9R','mJKZntLKCgDWBNm','nJy3mdC1uuDcD1nl','mZC4otGZn0vnz1PVDW','D2f0y2HLCNm','Cgf0Aa','CMvSyxrPDMu','mZHpqxDrswK','y3DK','nK9mu3DADa','ChvZAa','zxH0zw5ZAw9UCW','icbBv0fuq0HDifDHCM5PBMC6ierPCMvJDg9YEsbUB3qGzM91BMqSihnRAxbWAw5NoIa','zxH0BMfTzq','zxjYB3i','mty5nda2m25mEuP0Aa','BwvZC2fNzq','B25dAgfUz2u'];a0_0x1d92=function(){return _0x51e484;};return a0_0x1d92();}const fs=require('fs'),path=require(a0_0x57ae81(0x75));class FileWatcher{constructor(_0x465cde={}){const _0x10e95b=a0_0x57ae81,_0x50b844={'xCheq':_0x10e95b(0x89),'vVyIK':'.json'};this[_0x10e95b(0x86)]=_0x465cde[_0x10e95b(0x86)]||[],this[_0x10e95b(0x7b)]=_0x465cde['extensions']||[_0x50b844['xCheq'],_0x50b844['vVyIK']],this['debounceMs']=_0x465cde[_0x10e95b(0x82)]||0x1f4,this[_0x10e95b(0x81)]=_0x465cde['onChange']||(()=>{}),this[_0x10e95b(0x74)]=[],this['debounceTimer']=null;}['start'](){const _0x41170c=a0_0x57ae81;for(const _0x1e2b54 of this['directories']){if(!fs['existsSync'](_0x1e2b54)){console[_0x41170c(0x85)](_0x41170c(0x7c)+(path[_0x41170c(0x76)](process[_0x41170c(0x78)](),_0x1e2b54)||_0x1e2b54));continue;}try{const _0x2aee7f=fs['watch'](_0x1e2b54,{'recursive':!![]},(_0x54e4a9,_0x5d066)=>{const _0x5e7a1c=_0x41170c;if(!_0x5d066)return;const _0x289bce=path[_0x5e7a1c(0x7d)](_0x5d066)['toLowerCase']();if(!this[_0x5e7a1c(0x7b)]['includes'](_0x289bce))return;this['_debounce'](_0x5d066);});_0x2aee7f['on'](_0x41170c(0x7e),_0x44e2ee=>{const _0x62a7cb=_0x41170c;console['log'](_0x62a7cb(0x8d)+path[_0x62a7cb(0x76)](process['cwd'](),_0x1e2b54)+':\x20'+_0x44e2ee['message']);}),this['watchers'][_0x41170c(0x7a)](_0x2aee7f);const _0x24a6a4=path['relative'](process[_0x41170c(0x78)](),_0x1e2b54)||_0x1e2b54;console[_0x41170c(0x85)](_0x41170c(0x88)+_0x24a6a4+_0x41170c(0x87));}catch(_0x4fa262){console['log']('\x20\x20[WATCH]\x20Warning:\x20Failed\x20to\x20setup\x20watcher\x20for\x20'+path[_0x41170c(0x76)](process[_0x41170c(0x78)](),_0x1e2b54)+':\x20'+_0x4fa262[_0x41170c(0x80)]);}}}['stop'](){const _0x37589c=a0_0x57ae81,_0x169bdb={'nqSmO':function(_0x543407,_0x159ad1){return _0x543407(_0x159ad1);}};for(const _0xe0f8ad of this['watchers']){try{_0xe0f8ad['close']();}catch(_0x3a4c7d){}}this['watchers']=[],this['debounceTimer']&&(_0x169bdb['nqSmO'](clearTimeout,this[_0x37589c(0x83)]),this[_0x37589c(0x83)]=null);}['_debounce'](_0x46e638){const _0x404856=a0_0x57ae81;this[_0x404856(0x83)]&&clearTimeout(this[_0x404856(0x83)]),this[_0x404856(0x83)]=setTimeout(()=>{const _0x1121e6=_0x404856;this[_0x1121e6(0x83)]=null,this['onChange'](_0x46e638);},this[_0x404856(0x82)]);}}module['exports']=FileWatcher;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const a0_0x22768f=a0_0x6545;(function(_0x1110a3,_0xd0527d){const _0x4318ac=a0_0x6545,_0x3af313=_0x1110a3();while(!![]){try{const _0x52274e=parseInt(_0x4318ac(0x18c))/0x1*(parseInt(_0x4318ac(0x10e))/0x2)+-parseInt(_0x4318ac(0x111))/0x3+parseInt(_0x4318ac(0x1b5))/0x4*(-parseInt(_0x4318ac(0x1b8))/0x5)+parseInt(_0x4318ac(0x11a))/0x6*(-parseInt(_0x4318ac(0x1ad))/0x7)+parseInt(_0x4318ac(0x1aa))/0x8*(parseInt(_0x4318ac(0xa3))/0x9)+-parseInt(_0x4318ac(0xb3))/0xa+parseInt(_0x4318ac(0x9c))/0xb*(parseInt(_0x4318ac(0x10f))/0xc);if(_0x52274e===_0xd0527d)break;else _0x3af313['push'](_0x3af313['shift']());}catch(_0x1d61ff){_0x3af313['push'](_0x3af313['shift']());}}}(a0_0x7417,0xb9d8e));const crypto=require('crypto'),redisClient=require('./redis-client'),{logger}=require(a0_0x22768f(0x1a5)),idempotencyManager=require(a0_0x22768f(0xa0)),ALLOWED_FORMATS=new Set([a0_0x22768f(0xd2),a0_0x22768f(0xe4),'yyyymm',a0_0x22768f(0x128)]),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_0x22768f(0xb6),CHARSET_UPPER=a0_0x22768f(0xf7),CHARSET_LOWER=a0_0x22768f(0x1bc),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=a0_0x22768f(0xae),PLACEHOLDER_MAP={'9':CHARSET_DIGIT,'N':CHARSET_DIGIT,'A':CHARSET_UPPER,'a':CHARSET_LOWER,'L':CHARSET_LETTERS,'X':CHARSET_UPPER_ALNUM,'x':CHARSET_MIXED_ALNUM,'H':CHARSET_HEX_UPPER,'h':CHARSET_HEX_LOWER},LUA_GENERATE_NUMBER='\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20reused\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#reused\x20>\x200\x20then\x0a\x20\x20\x20\x20return\x20{tonumber(reused[1]),\x201}\x0a\x20\x20end\x0aend\x0alocal\x20n\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0alocal\x20ttl\x20=\x20tonumber(ARGV[2])\x0aif\x20ttl\x20>\x200\x20and\x20n\x20==\x201\x20then\x0a\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20ttl)\x0aend\x0areturn\x20{n,\x200}\x0a',LUA_RELEASE_NUMBER='\x0aredis.call(\x27ZADD\x27,\x20KEYS[1],\x20ARGV[1],\x20ARGV[1])\x0alocal\x20ttl\x20=\x20tonumber(ARGV[2])\x0aif\x20ttl\x20>\x200\x20then\x0a\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20ttl)\x0aend\x0areturn\x201\x0a',LUA_RESERVE_NUMBER='\x0alocal\x20unpk\x20=\x20unpack\x20or\x20table.unpack\x0a\x0a--\x20Step\x201:\x20lazy\x20reap\x20expired\x20reservations\x20(cap\x20RESERVE_REAP_BATCH)\x0alocal\x20reaped\x20=\x200\x0alocal\x20nowMs\x20=\x20ARGV[7]\x0alocal\x20rsvPrefix\x20=\x20ARGV[8]\x0alocal\x20expired\x20=\x20redis.call(\x27ZRANGEBYSCORE\x27,\x20KEYS[3],\x20\x27-inf\x27,\x20\x27(\x27\x20..\x20nowMs,\x20\x27LIMIT\x27,\x200,\x2064)\x0afor\x20i\x20=\x201,\x20#expired\x20do\x0a\x20\x20local\x20expToken\x20=\x20expired[i]\x0a\x20\x20local\x20expRsvKey\x20=\x20rsvPrefix\x20..\x20expToken\x0a\x20\x20local\x20expCounter\x20=\x20redis.call(\x27HGET\x27,\x20expRsvKey,\x20\x27counter\x27)\x0a\x20\x20if\x20expCounter\x20then\x0a\x20\x20\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[2],\x20expCounter,\x20expCounter)\x0a\x20\x20end\x0a\x20\x20redis.call(\x27DEL\x27,\x20expRsvKey)\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[3],\x20expToken)\x0a\x20\x20reaped\x20=\x20reaped\x20+\x201\x0aend\x0a\x0a--\x20Step\x202:\x20allocate\x20counter\x20(ZPOPMIN\x20reuse\x20atau\x20INCR\x20seq)\x0alocal\x20counterInt\x0alocal\x20isReused\x20=\x200\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20r\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#r\x20>\x200\x20then\x0a\x20\x20\x20\x20counterInt\x20=\x20tonumber(r[1])\x0a\x20\x20\x20\x20isReused\x20=\x201\x0a\x20\x20end\x0aend\x0aif\x20not\x20counterInt\x20then\x0a\x20\x20counterInt\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0a\x20\x20local\x20cttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20cttl\x20>\x200\x20and\x20counterInt\x20==\x201\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20cttl)\x0a\x20\x20end\x0aend\x0a\x0a--\x20Step\x203:\x20write\x20reservation\x20hash\x20+\x20index\x20+\x20TTL\x0alocal\x20rsvKey\x20=\x20ARGV[4]\x0alocal\x20rsvTtlMs\x20=\x20tonumber(ARGV[5])\x0alocal\x20expiresAtMs\x20=\x20tonumber(ARGV[6])\x0alocal\x20nargs\x20=\x20#ARGV\x0alocal\x20fields\x20=\x20{}\x0afor\x20i\x20=\x209,\x20nargs\x20do\x0a\x20\x20fields[#fields\x20+\x201]\x20=\x20ARGV[i]\x0aend\x0aredis.call(\x27HSET\x27,\x20rsvKey,\x20\x27counter\x27,\x20counterInt,\x20\x27isReused\x27,\x20isReused,\x20unpk(fields))\x0aredis.call(\x27PEXPIRE\x27,\x20rsvKey,\x20rsvTtlMs)\x0aredis.call(\x27ZADD\x27,\x20KEYS[3],\x20expiresAtMs,\x20ARGV[3])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20math.floor(rsvTtlMs\x20/\x201000)\x20+\x2060)\x0a\x0areturn\x20{\x20counterInt,\x20isReused,\x20reaped\x20}\x0a',LUA_CONFIRM_RESERVATION='\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_0x22768f(0xda),LUA_EXTEND_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27,\x20\x27isReused\x27,\x20\x27createdAt\x27)\x0alocal\x20prevExpiresAt\x20=\x20h[1]\x0alocal\x20newTtlMs\x20=\x20tonumber(ARGV[2])\x0alocal\x20newExpMs\x20=\x20tonumber(ARGV[3])\x0aredis.call(\x27PEXPIRE\x27,\x20KEYS[1],\x20newTtlMs)\x0aredis.call(\x27HSET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20ARGV[4])\x0aredis.call(\x27ZADD\x27,\x20KEYS[2],\x20newExpMs,\x20ARGV[1])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[2],\x20math.floor(newTtlMs\x20/\x201000)\x20+\x2060)\x0areturn\x20{\x201,\x20prevExpiresAt,\x20h[2],\x20h[3],\x20h[4],\x20h[5],\x20h[6]\x20}\x0a';function a0_0x6545(_0x2c13dc,_0x3129a3){_0x2c13dc=_0x2c13dc-0x9a;const _0x741776=a0_0x7417();let _0x65455a=_0x741776[_0x2c13dc];if(a0_0x6545['OFwtSB']===undefined){var _0x4124c6=function(_0x2273f7){const _0x59576d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2f733f='',_0x250641='';for(let _0x4f8c8d=0x0,_0x5cf663,_0x166b4d,_0x5c50fc=0x0;_0x166b4d=_0x2273f7['charAt'](_0x5c50fc++);~_0x166b4d&&(_0x5cf663=_0x4f8c8d%0x4?_0x5cf663*0x40+_0x166b4d:_0x166b4d,_0x4f8c8d++%0x4)?_0x2f733f+=String['fromCharCode'](0xff&_0x5cf663>>(-0x2*_0x4f8c8d&0x6)):0x0){_0x166b4d=_0x59576d['indexOf'](_0x166b4d);}for(let _0x1b3fa5=0x0,_0x2baec4=_0x2f733f['length'];_0x1b3fa5<_0x2baec4;_0x1b3fa5++){_0x250641+='%'+('00'+_0x2f733f['charCodeAt'](_0x1b3fa5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x250641);};a0_0x6545['dUBrpW']=_0x4124c6,a0_0x6545['liqLhz']={},a0_0x6545['OFwtSB']=!![];}const _0x4d29c1=_0x741776[0x0],_0x340db3=_0x2c13dc+_0x4d29c1,_0xfd89f=a0_0x6545['liqLhz'][_0x340db3];return!_0xfd89f?(_0x65455a=a0_0x6545['dUBrpW'](_0x65455a),a0_0x6545['liqLhz'][_0x340db3]=_0x65455a):_0x65455a=_0xfd89f,_0x65455a;}function a0_0x7417(){const _0xe3f0bd=['tLzVwgK','nJK1vhfLuMDH','CgLWzwXPBMu','zxryrfO','x2DLBMvYyxrLrNjVBvbHDhrLCM4','tNrrChm','x2vUC3vYzuLUAxrPywXPEMvK','zgvMyxvSDfnLCMLHBfbHDhrLCM4','x2j1AwXKrM9YBwf0s2v5','igv4y2vLzhmG','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','lcbLEhbLy3rLzca','yKjdyui','x2j1AwXKswrLBuTLEq','x3jLDhjPzxzLswrLBunHy2HL','vw5RBM93BIbTB2rLoIa','x3rLEhq','C3bSAxq','C2vWyxjHDg9Y','x3zHBgLKyxrLuMvZzxj2zvruta','rgLQsMS','ugDQAue','rhHjwKW','tgn2qxK','zM9YBwf0','CNn2s2v5','lI9SB2DNzxi','EMnHCMq','Bwv0ytO','C3jLBq','sw52ywXPzcbMB3jTyxq6ia','mtK0mdb4ALn5teu','qMPZr1K','x3zHBgLKyxrLuMvZB3vYy2u','ndyYodeZnhHYsxDiCa','y29UC3vTzq','surhru5Fsu5wquXjrf9srvnfuLzfx1ruta','rNnwBMi','x3zHBgLKyxrLvfrm','zwD4vuG','surhru5FuKvtrvjwrv9nqvHFvfrm','CgfYC2u','nJu5nta4B2HhtwHQ','AwrNzw5FBNvTyMvYx2LKzw1FBg9Zzxi','uwHNshO','ndvbywLlEgS','DhvSzgG','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcaOz290oIa','uhfvANq','ywjJzgvMz2HPAMTSBw5VChfYC3r1DND4ExO','tND6AM0','DhrS','CMvZzxj2zv9JB25MAxjT','surhru5Fsu5wquXjrf9trvbbuKfut1i','surhru5Frevgqvvmvf9dt0rfx1bbvfrfuK4','sMDRy3G','ndqXmuHWqxLzwG','CMvZB3vYy2u','seLADMC','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','lI9PzgvTCg90zw5JEs1Tyw5Hz2vY','x2j1AwXKuMvZzxj2yxrPB25lzxLqCMvMAxG','rgPbuhu','nZy1Exnmwwvd','icHNB3q6ia','sw52ywXPzcbTyxHszxrYEtOGBxvZDcbIzsbPBNrLz2vYideT','AxnZDwvK','DxvIrem','uMvZzxqGB3bLCMf0Aw9Uig5VDcbHBgXVD2vKicHZzxqGsurhru5FquXmt1DFuKvtrvq9Dhj1zsb0BYbLBMfIBguP','svfjAhy','DMznvge','x3zHBgLKyxrLtwf4uMv0CNK','surhru5FquXmt1DFuKvtrvq','zM9YBwf0s2v5igLZihjLCxvPCMvKigLUigXVDY1SzxzLBcbYzwXLyxnL','mdeYmZq1nJC4owfIy2rLzG','z2v0rgf0zq','sNf6vMe','AM5esfq','DgvZDa','ndy0otu2meDLAe9LCG','CuvsC20','tgfNEhe','mdeYmZq1nJC4oq','AwrNzw4','rLfMrxa','x3vWzgf0zu1LDge','v2zwCKy','AwrNzw5FBNvTyMvYx2DLBMvYyxrLza','surhru5Fsu5wquXjrf9nt0rf','r1nvruW','BfPpu00','wMffz2G','CMvSzwfZzq','AwrNzw5Fy29UC3vTzwq','AwrNzw5FAwrLBv9UEf9YywnLx2XVC3rFyNv0x2vTChr5','BhLIwwS','u09OELu','x2fSBg93uMvZzxq','x3jLC2vYDMvnyxHuveW','y3jLyxrLzef0','zxHWAxjL','zgvMyxvSDenVzgvqyxr0zxjU','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','Cgf0DgvYBG','surhru5Fsu5wquXjrf9srvnpvvjdrq','ywXS','sw52ywXPzcbKAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','zw5ZDxjLvw5PCxvL','shjryuS','q3zpqNi','Dgv4Da','wM5XDM8','x2nVDw50zxjuveXnyxa','CMvSzwfZzu51BwjLCG','BM93','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcbWCMvMAxG','suqGr2vUzxjHDg9YihjLC2vYDMuGAwrLBsbYywnLigXVC3qSihjLDhvYBMLUzYb3Aw5UzxiGzw52zwXVCgu','Aw1jt3O','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYKkBg9JywWGy291BNrLCIa9igHBmv0kAwyGy291BNrLCIb0AgvUcIaGCMvKAxmUy2fSBcGNwKfercCSieTfwvnBm10SignVDw50zxiSignVDw50zxiPcIaGBg9JywWGDhrSid0GDg9UDw1IzxiOqvjhvLSYxsKkicbPzIb0DgWGpIaWihrOzw4kicaGihjLzgLZlMnHBgWOj0vyueLsrsCSieTfwvnBm10Sihr0BcKkicbLBMqkzw5KcNjLzgLZlMnHBgWOj0rftcCSieTfwvnBmv0PcNjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqPYzxr1CM4GEYaXlcbJB3vUDgvYlcbOwZjDlcbOwZnDih0k','y29UzMLYBvjLC2vYDMf0Aw9U','zvHqBhi','x3L5ExLF','q291BgqGBM90igDLBMvYyxrLihvUAxf1zsb2ywX1zsbHzNrLCIa','Ew1nEKS','zxHLyW','wuPcBve','txzAzKW','surhru5FuKvtrvjwrv9eruzbvuXux1ruta','ExL5Eq','rMfPBgvKihrVignVBxbLBNnHDguGCMvZzxj2yxrPB24Gywz0zxiGy291BNrLCIbVDMvYzMXVDW','AwrNzw5FCMfUzg9Tx2LKzw1FBg9Zzxi','x2j1AwXKsxnZDwvKs2v5','sw52ywXPzcb0DgW6ig11C3qGyMuGAw50zwDLCIaXlq','surhru5Fsu5wquXjrf9qqvrurvjo','r3nJAMq','AwrNzw5FCMvZzxq','zM9YBwf0s2v5','AwrLBxbVDgvUy3LlzxK','BNvTrgLNAxrZ','vNnezLO','zgf0zvbYzwzPEa','AwrNzw5FAwrLBv9ZDg9Yzw54x2vYCM9Y','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','x2TLEvbYzwzPEa','zw5HyMXLza','zw50CMLLCW','sw52ywXPzcbWyxr0zxjUoIbTDxn0igjLihn0CMLUzYaXlq','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvO','A2v5CW','s2zerfa','surhru5Fsu5wquXjrf9ovu1crvi','zLjWy0u','AxnszxvZzwq','CMvZzxj2zu1HEfruta','surhru5Fsu5wquXjrf9uveW','x2rLzMf1BhrnyxHszxrYEq','surhru5FuKvtrvrFtK9ux0fmte9xruq','sw52ywXPzcbYzxnVDxjJztOGBxvZDcbTyxrJAca','suqGr2vUzxjHDg9YihjHBMrVBtOG','D2fYBG','igrPz2L0CYaOz290oIa','BgvUz3rO','sw52ywXPzcbPzgvTCg90zw5JEuTLEtOGBxvZDcbIzsbZDhjPBMCGms0','De9YDxy','AeHNvwK','rMfPBgvKihrVignHBMnLBcbYzxnLCNzHDgLVBIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','q291BNrLCIbVDMvYzMXVDZOG','z2v0tw9UDgG','CMvZzxj2zurLzMf1BhruveW','DMzyuhq','mJi1mgTtt1vABa','mtaWmJq4q0LSsKvg','vxL5zeu','mJKWmdeZowzmq2DMDa','suqGr2vUzxjHDg9Yig51BwjLCIbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','AgfZ','zxHWB3j0CW','thrdtg8','tNvTyMvYigrHDgvqCMvMAxGGAw52ywXPzcbMB3iGzM9YBwf0ia','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','qMTJqMW','D1PLsfe','nLjsB0vuyW','swzNz0K','x2rLzMf1BhrtzxjPywXqyxr0zxjU','suqGr2vUzxjHDg9Yig51BwjLCIbYzxnLCNzLzdOG','s3n4rLO','x2j1AwXKqwn0AxzLs2v5','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9Uigv4DgvUzgvKoIa','BwfW','Dg9Rzw4','z2v0sw5MBW','AxnjBNrLz2vY','z2vUzxjHDgvKqxq','Bw9Kzq','qufWshu','ExL5Ew1Tzgq','surhru5FreLtqujmruq','tLnIrw0','surhru5Fsu5wquXjrf9ut0TftG','ELvXr0K','C2v0','AwrNzw5FBwv0yv91CgrHDgvFzxjYB3i','AgDLDgfSBa','y29Kzq','ENj6BK8','CNn2oG','zw52','AM9PBG','y291BNrLCG','BwvZC2fNzq','surhru5Frevgqvvmvf9qsu5FreLhsvrt','y3vKqxu','C3rYAw5NAwz5','surhru5Fq09vtLrfuL9pvKvsrKXpvW','x2j1AwXKuMv1C2vlzxK','CgvLAW','ihnLy29UzhmGkgDVDdOG','x2rLzMf1BhrdB2rLugf0DgvYBG','surhru5Fq09vtLrfuL9uveXFtu9oveHmwq','x3n0B3jLswrLBunHy2HLtLG','CMvZzxj2zq','ywXSB3DszxnLDa','Aw5MBW','AwrNzw5FBNvTyMvYx3jLC2vYDMvK','EwHiqvK','BNvTyMvY','x3bHCNnLtNvTyMvY','tNvTyMvYihbYzwzPEcbTAxnTyxrJAdOGzxHWzwn0zwqG','AwrNzw5FCMvZzxj2yxrPB25FzxH0zw5Kzwq','CNn2swr4s2v5','AwrLBvruta','DMfSDwu','x2LUAxrdB25MAwC','qLrpEKO','x2rLzMf1BhrqAw5eAwDPDhm','v2jirgS','CMy6AwrNzw46','ChvZAa','wgDpque','surhru5Frevgqvvmvf9nqvHFuKvuuLK','zez1D2u','x3jLC2vYDMvezwzHDwX0vfrm','CMfUzg9T','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','surhru5Fsu5wquXjrf9gt1jnqvq','rMHer2K','x2LKzw1uveW','zgvS','sw52ywXPzcbYzxnLCNzHDgLVBIb0B2TLBJOGBxvZDcbIzsbHihzHBgLKifvvsuqGzM9YBwf0icHNB3q6ia','zxzHBa','vvP0q3O','x2LUAxrPywXPEMvK','x3n0B3jLswrLBunHy2HL','AwrNzw5FCMfUzg9Tx2DLBMvYyxrLza','sw52ywXPzcbMB3jTyxq6ig11C3qGyMuGB25Lig9Mia','ks4Gsw5JCMvHC2uGBNvTrgLNAxrZlG','BNPHvKK','swrLBxbVDgvUy3KGCMv0CMLLDMuGzxjYB3i','tMLhC1K','x2vUywjSzwq','ChjLzML4','CeXXsgu','Ce9UquS','x2j1AwXKuMvZzxj2yxrPB25lzxK','zgvMyxvSDfbPBKrPz2L0CW','Bwf4uMv0CNK','AwrNzw5FBNvTyMvYx3jLBgvHC2vK','y291BNrLCKLUDa','C2fKza','Dg9ju09tDhjPBMC','surhru5Fru5bqKXfra','x2DLDenVDw50zxjuveW','lwrPz2L0ignHCgfJAxr5icG','otK5os05otK5','C3rYAw5N','x2j1AwXKu2vXs2v5','DeXruvq','z2v0uMvZzxj2yxrPB24','suqGr2vUzxjHDg9YihjLC2v0oIbYyw5KB206','CNfTwhO','Dhj1zq','CNn2x2LKEdO','swrLBxbVDgvUy3KGy2fJAguGseLu','EfrOsNG','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','AwrNzw5FAwrLBv9ZDg9Yzv9LCNjVCG','q3Dtqwm','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','zxHWAxjLC0f0','Bwf0y2G','A2v5uhjLzML4','CKPSzgy','z2v0q2XPzw50','EhvfuNa'];a0_0x7417=function(){return _0xe3f0bd;};return a0_0x7417();}class IdGeneratorError extends Error{constructor(_0x30028f,_0x3b9aa5,_0x3a89ee=null){const _0x8e0388=a0_0x22768f,_0xaa985={'JqzVa':function(_0xd860a8,_0x5139b6){return _0xd860a8||_0x5139b6;}};super(_0xaa985[_0x8e0388(0xb0)](_0x3b9aa5,_0x30028f)),this['name']='IdGeneratorError',this[_0x8e0388(0x130)]=_0x30028f,this['details']=_0x3a89ee;}}class IdGenerator{constructor(){const _0x1f4e01=a0_0x22768f;this['_initialized']=![],this[_0x1f4e01(0x168)]=null,this[_0x1f4e01(0xf3)]=null,this[_0x1f4e01(0x15b)]=null,this['_allowReset']=null,this[_0x1f4e01(0xff)]=null,this[_0x1f4e01(0x14f)]=null,this['_defaultSerialPattern']=null,this[_0x1f4e01(0x13e)]=null,this[_0x1f4e01(0xd4)]=null,this['_reserveDefaultTTL']=null,this[_0x1f4e01(0xc6)]=null;}[a0_0x22768f(0x14d)](){const _0x47c840=a0_0x22768f,_0xd39ad1={'iPmiI':_0x47c840(0x151),'eStWa':'true','DjAPu':function(_0x4ebf02,_0x261c15){return _0x4ebf02===_0x261c15;},'uubDC':function(_0x213083,_0xef2dec,_0x1f5aa1){return _0x213083(_0xef2dec,_0x1f5aa1);},'NVoXi':function(_0x392b2c,_0x5b9c74,_0x57e9c3){return _0x392b2c(_0x5b9c74,_0x57e9c3);}};this['_keyPrefix']=_0xd39ad1['iPmiI'],this['_enabled']=process[_0x47c840(0x133)][_0x47c840(0x173)]===_0xd39ad1['eStWa'],this[_0x47c840(0x15b)]=parseInt(process[_0x47c840(0x133)]['IDGEN_IDEM_TTL'],0xa)||0x258,this['_allowReset']=_0xd39ad1[_0x47c840(0xa2)](process['env'][_0x47c840(0xac)],_0x47c840(0x17d)),this[_0x47c840(0xff)]=parseInt(process[_0x47c840(0x133)][_0x47c840(0x154)],0xa)||0xa,this[_0x47c840(0x14f)]=parseInt(process[_0x47c840(0x133)][_0x47c840(0x137)],0xa)||0x6,this['_defaultSerialPattern']=process['env']['IDGEN_DEFAULT_SERIAL_PATTERN']||'XXXX-XXXX-XXXX-XXXX',this[_0x47c840(0x13e)]=process[_0x47c840(0x133)][_0x47c840(0x9a)]||_0x47c840(0x176),this['_counterTTLMap']={'yyyymm':_0xd39ad1[_0x47c840(0xa7)](parseInt,process['env'][_0x47c840(0x13f)],0xa)||0x2a3000,'yyyymmdd':parseInt(process['env']['IDGEN_COUNTER_TTL_DAILY'],0xa)||0x2a300},this[_0x47c840(0x156)]=parseInt(process[_0x47c840(0x133)][_0x47c840(0xe3)],0xa)||DEFAULT_RESERVE_TTL,this[_0x47c840(0xc6)]=_0xd39ad1[_0x47c840(0x18b)](parseInt,process['env'][_0x47c840(0x1b3)],0xa)||MAX_RESERVE_TTL,this['_initialized']=!![],logger[_0x47c840(0x143)]({'event':'idgen_config_init','enabled':this[_0x47c840(0x168)],'idemTTL':this[_0x47c840(0x15b)],'allowReset':this[_0x47c840(0xc5)],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this[_0x47c840(0x14f)],'reserveDefaultTTL':this['_reserveDefaultTTL'],'reserveMaxTTL':this[_0x47c840(0xc6)]},'ID\x20Generator\x20config\x20initialized\x20-\x20enabled:\x20'+this['_enabled']);}[a0_0x22768f(0x191)](){const _0x1abbfc=a0_0x22768f;if(!this[_0x1abbfc(0x160)])this['_initConfig']();}get[a0_0x22768f(0xf4)](){const _0x23de51=a0_0x22768f;return this[_0x23de51(0x191)](),this[_0x23de51(0x168)];}get['keyPrefix'](){return this['_ensureInitialized'](),this['_keyPrefix'];}get[a0_0x22768f(0x14b)](){return this['_ensureInitialized'](),this['_idemTTL'];}get[a0_0x22768f(0x142)](){const _0x45652a=a0_0x22768f;return this['_ensureInitialized'](),this[_0x45652a(0xc5)];}get['defaultMaxRetry'](){const _0xa49e4f=a0_0x22768f;return this[_0xa49e4f(0x191)](),this['_defaultMaxRetry'];}get['defaultPinDigits'](){const _0x72beae=a0_0x22768f;return this['_ensureInitialized'](),this[_0x72beae(0x14f)];}get[a0_0x22768f(0x192)](){const _0x45c318=a0_0x22768f;return this[_0x45c318(0x191)](),this[_0x45c318(0x11c)];}get[a0_0x22768f(0xc9)](){return this['_ensureInitialized'](),this['_defaultCodePattern'];}get['reserveDefaultTTL'](){const _0x6311ec=a0_0x22768f;return this[_0x6311ec(0x191)](),this[_0x6311ec(0x156)];}get['reserveMaxTTL'](){const _0x25dfe0=a0_0x22768f;return this[_0x25dfe0(0x191)](),this['_reserveMaxTTL'];}['isEnabled'](){const _0x233d4f=a0_0x22768f;return this[_0x233d4f(0xf4)];}[a0_0x22768f(0x1ac)](_0x5acea8){const _0xe538e6=a0_0x22768f,_0x507b3c={'tLQQT':function(_0x4ae3a3,_0x9ee6d){return _0x4ae3a3!==_0x9ee6d;},'UEkuu':_0xe538e6(0x177),'xTUGc':_0xe538e6(0xcc)};if(_0x507b3c[_0xe538e6(0x179)](typeof _0x5acea8,_0x507b3c['UEkuu'])||!RESOURCE_REGEX['test'](_0x5acea8))throw new IdGeneratorError(_0x507b3c['xTUGc'],_0xe538e6(0x101)+RESOURCE_REGEX+'\x20(got:\x20'+JSON['stringify'](_0x5acea8)+')');}[a0_0x22768f(0x195)](_0x10b6db){const _0x251241=a0_0x22768f,_0x461d09={'egxUH':function(_0x45775b,_0x45e1a2){return _0x45775b===_0x45e1a2;},'jnDHT':function(_0x491b95,_0x2486da){return _0x491b95<_0x2486da;},'bBCaB':function(_0x4edeab,_0x2344cf){return _0x4edeab==_0x2344cf;},'FsVnb':_0x251241(0x177),'EjDVr':'IDGEN_INVALID_PREFIX','rqmXz':function(_0x48a4f1,_0x5f3567){return _0x48a4f1!=_0x5f3567;},'bIftl':function(_0x2489bd,_0x14c449){return _0x2489bd!==_0x14c449;},'WbHDk':'boolean'},{resource:_0x51f055,format:_0x5ce934,prefix:_0x33cc2b,separator:_0x515912,numDigits:_0x275c88,reuseDelete:_0x44d652}=_0x10b6db;this['_validateResource'](_0x51f055);const _0x4f3f7e=_0x461d09[_0x251241(0x1b2)](typeof _0x5ce934,_0x251241(0x177))?_0x5ce934['toLowerCase']():'';if(!ALLOWED_FORMATS['has'](_0x4f3f7e))throw new IdGeneratorError(_0x251241(0x159),_0x251241(0x163)+[...ALLOWED_FORMATS][_0x251241(0x134)](',\x20')+'\x20(got:\x20'+_0x5ce934+')');if(!Number['isInteger'](_0x275c88)||_0x461d09[_0x251241(0xb1)](_0x275c88,MIN_NUM_DIGITS)||_0x275c88>MAX_NUM_DIGITS)throw new IdGeneratorError('IDGEN_INVALID_NUM_DIGITS','Invalid\x20numDigits:\x20must\x20be\x20integer\x20'+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+_0x251241(0xa4)+_0x275c88+')');const _0x849308=_0x461d09[_0x251241(0x197)](_0x33cc2b,null)?'':_0x33cc2b;if(typeof _0x849308!==_0x461d09['FsVnb']||!PREFIX_REGEX[_0x251241(0xb2)](_0x849308))throw new IdGeneratorError(_0x461d09['EjDVr'],'Invalid\x20prefix:\x20must\x20match\x20'+PREFIX_REGEX+_0x251241(0xa4)+JSON['stringify'](_0x33cc2b)+')');const _0x237802=_0x515912==null?'':_0x515912;if(typeof _0x237802!==_0x461d09[_0x251241(0x1b0)]||_0x237802['length']>0x3||SEPARATOR_FORBIDDEN[_0x251241(0xb2)](_0x237802))throw new IdGeneratorError(_0x251241(0x1c0),'Invalid\x20separator:\x20max\x203\x20char,\x20must\x20not\x20contain\x20\x27:\x27\x20(got:\x20'+JSON[_0x251241(0x139)](_0x515912)+')');if(_0x461d09[_0x251241(0x17c)](_0x44d652,null)&&_0x461d09['bIftl'](typeof _0x44d652,_0x461d09[_0x251241(0x150)]))throw new IdGeneratorError('IDGEN_INVALID_RESOURCE','Invalid\x20reuseDelete:\x20must\x20be\x20boolean\x20(got:\x20'+typeof _0x44d652+')');return{'resource':_0x51f055,'format':_0x4f3f7e,'prefix':_0x849308,'separator':_0x237802,'numDigits':_0x275c88,'reuseDelete':_0x44d652===!![]};}['_validatePattern'](_0x120060){const _0x199bd3=a0_0x22768f,_0x5be3a3={'GkyWv':function(_0x396c81,_0x3a3104){return _0x396c81!==_0x3a3104;}};if(_0x5be3a3['GkyWv'](typeof _0x120060,'string')||_0x120060['length']===0x0||_0x120060['length']>MAX_PATTERN_LENGTH)throw new IdGeneratorError('IDGEN_INVALID_PATTERN',_0x199bd3(0xf6)+MAX_PATTERN_LENGTH+'\x20chars\x20(got\x20length:\x20'+(_0x120060&&_0x120060[_0x199bd3(0x105)])+')');let _0x3e8665=![];for(const _0x62f265 of _0x120060){if(PLACEHOLDER_MAP[_0x62f265]){_0x3e8665=!![];break;}}if(!_0x3e8665)throw new IdGeneratorError(_0x199bd3(0xe9),'Invalid\x20pattern:\x20must\x20contain\x20at\x20least\x20one\x20placeholder\x20character\x20(9/N/A/a/L/X/x/H/h)');}['_validateTTL'](_0x6562c5){const _0x1dde1d=a0_0x22768f,_0x313719={'etXDZ':function(_0x4f4cd0,_0x5f4183){return _0x4f4cd0==_0x5f4183;},'osXEJ':function(_0x456565,_0x4d52b7){return _0x456565>_0x4d52b7;}};if(_0x313719[_0x1dde1d(0x18e)](_0x6562c5,null))return undefined;if(!Number[_0x1dde1d(0x124)](_0x6562c5)||_0x6562c5<0x1||_0x313719['osXEJ'](_0x6562c5,MAX_TTL))throw new IdGeneratorError(_0x1dde1d(0xfe),_0x1dde1d(0xe8)+MAX_TTL+_0x1dde1d(0x13d)+_0x6562c5+')');return _0x6562c5;}[a0_0x22768f(0xab)](_0x9d5b95){const _0x32fb59=a0_0x22768f,_0x322f6c={'lZOSM':function(_0x1f28e0,_0x2945ca){return _0x1f28e0==_0x2945ca;},'rRGdf':function(_0x170d7b,_0x4a2a38){return _0x170d7b<_0x4a2a38;},'SIZwu':function(_0x52b9c9,_0x4ee5d1){return _0x52b9c9>_0x4ee5d1;}};if(_0x322f6c[_0x32fb59(0xbe)](_0x9d5b95,null))return this['defaultMaxRetry'];if(!Number['isInteger'](_0x9d5b95)||_0x322f6c['rRGdf'](_0x9d5b95,0x1)||_0x322f6c['SIZwu'](_0x9d5b95,MAX_RETRY_LIMIT))throw new IdGeneratorError('IDGEN_INVALID_MAX_RETRY',_0x32fb59(0xa5)+MAX_RETRY_LIMIT+'\x20(got:\x20'+_0x9d5b95+')');return _0x9d5b95;}['_validateIdempotencyKey'](_0x6fa751){const _0x15708a=a0_0x22768f,_0x56663a={'dFuwe':function(_0x5c54ff,_0xb0e2cf){return _0x5c54ff!==_0xb0e2cf;},'HeFEh':'IDGEN_INVALID_RESOURCE'};if(_0x6fa751==null)return undefined;if(_0x56663a[_0x15708a(0x155)](typeof _0x6fa751,'string')||_0x6fa751[_0x15708a(0x105)]===0x0||_0x6fa751[_0x15708a(0x105)]>MAX_IDEMPOTENCY_KEY_LENGTH)throw new IdGeneratorError(_0x56663a['HeFEh'],_0x15708a(0x106)+MAX_IDEMPOTENCY_KEY_LENGTH+'\x20chars');return _0x6fa751;}['_validateReserveTTL'](_0x3f3ed5){const _0x3c4fae=a0_0x22768f,_0x255ef1={'TOkZE':function(_0x57d6c2,_0x5b6c21){return _0x57d6c2<_0x5b6c21;}};if(_0x3f3ed5==null)return this[_0x3c4fae(0x10c)];if(!Number['isInteger'](_0x3f3ed5)||_0x255ef1['TOkZE'](_0x3f3ed5,MIN_RESERVE_TTL)||_0x3f3ed5>this[_0x3c4fae(0xfd)])throw new IdGeneratorError(_0x3c4fae(0x1af),'Invalid\x20reservation\x20ttl:\x20must\x20be\x20integer\x20'+MIN_RESERVE_TTL+'-'+this['reserveMaxTTL']+_0x3c4fae(0x13d)+_0x3f3ed5+')');return _0x3f3ed5;}[a0_0x22768f(0x184)](_0x45fca3){const _0x5351cd=a0_0x22768f,_0x226bd6={'RaHFx':'string'};if(typeof _0x45fca3!==_0x226bd6['RaHFx']||!RESERVATION_TOKEN_REGEX[_0x5351cd(0xb2)](_0x45fca3))throw new IdGeneratorError(_0x5351cd(0x12b),_0x5351cd(0x15d)+JSON[_0x5351cd(0x139)](_0x45fca3)+')');return _0x45fca3;}['_pad2'](_0x2e3b38){return String(_0x2e3b38)['padStart'](0x2,'0');}['_buildFormatKey'](_0x45188a,_0x24483a,_0x28863d=new Date()){const _0x42cc25=a0_0x22768f,_0x310ac5={'nzaVI':function(_0x341877,_0x48bbb5){return _0x341877||_0x48bbb5;},'ZcpMf':_0x42cc25(0xd2),'PqUjt':_0x42cc25(0xe4),'MvZfL':'yyyymm','DijJk':_0x42cc25(0x128)},_0x1e14d0=_0x28863d['getFullYear'](),_0x898735=this['_pad2'](_0x28863d[_0x42cc25(0x10b)]()+0x1),_0x552394=this['_pad2'](_0x28863d[_0x42cc25(0xaf)]()),_0x90e95e=_0x310ac5[_0x42cc25(0x165)](_0x24483a,'_');let _0xdab689,_0x2752f5='';switch(_0x45188a){case _0x310ac5['ZcpMf']:_0xdab689=_0x90e95e+_0x42cc25(0x19b);break;case _0x310ac5[_0x42cc25(0x1bb)]:_0x2752f5=''+_0x1e14d0,_0xdab689=_0x90e95e+_0x42cc25(0xdd)+_0x2752f5;break;case _0x310ac5[_0x42cc25(0xe2)]:_0x2752f5=''+_0x1e14d0+_0x898735,_0xdab689=_0x90e95e+'_yyyymm_'+_0x2752f5;break;case _0x310ac5[_0x42cc25(0x19f)]:_0x2752f5=''+_0x1e14d0+_0x898735+_0x552394,_0xdab689=_0x90e95e+'_yyyymmdd_'+_0x2752f5;break;default:throw new IdGeneratorError(_0x42cc25(0x159),'Unknown\x20format:\x20'+_0x45188a);}return{'formatKey':_0xdab689,'datePrefix':_0x2752f5};}[a0_0x22768f(0x178)](_0x388bbc,_0x39c02a){return this['keyPrefix']+'seq:'+_0x388bbc+':'+_0x39c02a;}[a0_0x22768f(0x13b)](_0x1e35cd,_0x17df0c){return this['keyPrefix']+'reuse:'+_0x1e35cd+':'+_0x17df0c;}['_buildMetaKey'](_0x5900c9,_0x386b61){const _0x1b738d=a0_0x22768f;return this['keyPrefix']+_0x1b738d(0x1a7)+_0x5900c9+':'+_0x386b61;}['_buildIssuedKey'](_0x2cdefc){const _0x420790=a0_0x22768f;return this[_0x420790(0x187)]+'issued:'+_0x2cdefc;}['_buildActiveKey'](_0x1c017b,_0xbac6e2){const _0x1a40e9=a0_0x22768f;return this[_0x1a40e9(0x187)]+'active:'+_0x1c017b+':'+_0xbac6e2;}['_buildReservationKey'](_0x3fc369){const _0x2b0dc4=a0_0x22768f;return this['keyPrefix']+_0x2b0dc4(0x132)+_0x3fc369;}['_buildReservationIndexKey'](_0x3cd061,_0x1446fc){const _0x4c0910=a0_0x22768f;return this[_0x4c0910(0x187)]+_0x4c0910(0x17e)+_0x3cd061+':'+_0x1446fc;}['_buildReservationKeyPrefix'](){const _0x3a6368=a0_0x22768f;return this['keyPrefix']+_0x3a6368(0x132);}['_buildIdemKey'](_0x5b7179,_0x1c94ac,_0x161cd0,_0x295fbd){const _0x5e0afe=a0_0x22768f,_0x323f1b={'hGkIw':'idgen'};if(_0x161cd0)return idempotencyManager['buildDeterministicKey'](_0x5e0afe(0xb7),_0x5b7179,_0x1c94ac+':'+_0x161cd0+':'+_0x295fbd);return idempotencyManager['buildDeterministicKey'](_0x323f1b['hGkIw'],_0x5b7179,_0x1c94ac+':'+_0x295fbd);}['_getCounterTTL'](_0x561bf3){const _0x3a331e=a0_0x22768f;return this[_0x3a331e(0xd4)][_0x561bf3]||0x0;}['_formatNumber']({format:_0x35612f,prefix:_0x25bcd6,datePrefix:_0x542338,separator:_0x5e3f98,numDigits:_0x5a0cbc,counterInt:_0x5a304f}){const _0x436c43=a0_0x22768f,_0x2741ca={'fpqAq':function(_0x386564,_0x1234a7){return _0x386564-_0x1234a7;},'HSegz':function(_0x1052d0,_0x19fda4){return _0x1052d0>_0x19fda4;},'DxIZL':function(_0x12364a,_0x202bed){return _0x12364a(_0x202bed);},'wlFKA':'text'},_0x1650b2=_0x2741ca['fpqAq'](Math['pow'](0xa,_0x5a0cbc),0x1);if(_0x2741ca['HSegz'](_0x5a304f,_0x1650b2))throw new IdGeneratorError(_0x436c43(0x13a),_0x436c43(0x10a)+_0x5a304f+_0x436c43(0x194)+_0x5a0cbc+_0x436c43(0x175)+_0x1650b2+_0x436c43(0x164),{'counterInt':_0x5a304f,'numDigits':_0x5a0cbc,'max':_0x1650b2});const _0x2b85af=_0x2741ca[_0x436c43(0x1a1)](String,_0x5a304f)['padStart'](_0x5a0cbc,'0');if(_0x35612f===_0x2741ca['wlFKA'])return _0x25bcd6?''+_0x25bcd6+_0x5e3f98+_0x2b85af:_0x2b85af;return _0x25bcd6?''+_0x25bcd6+_0x5e3f98+_0x542338+_0x5e3f98+_0x2b85af:''+_0x542338+_0x5e3f98+_0x2b85af;}['_parseNumber']({format:_0x5c4d02,prefix:_0x596323,separator:_0x3ca251,numDigits:_0x4eeb3b,number:_0x50bea5}){const _0x18acdc=a0_0x22768f,_0x282680={'UZtCz':function(_0x5c8c50,_0x32a445){return _0x5c8c50!==_0x32a445;},'VsDfZ':function(_0xb9f1e2,_0x1e75d8){return _0xb9f1e2===_0x1e75d8;},'tXJCt':function(_0x5e22c4,_0x1c9105){return _0x5e22c4===_0x1c9105;},'JZbty':'text','APgvj':function(_0x59c89c,_0x4a4dff){return _0x59c89c!==_0x4a4dff;},'BkcBl':_0x18acdc(0xfa),'tOruv':'yyyymm'};if(_0x282680[_0x18acdc(0x15f)](typeof _0x50bea5,_0x18acdc(0x177))||_0x282680[_0x18acdc(0xef)](_0x50bea5[_0x18acdc(0x105)],0x0))throw new IdGeneratorError('IDGEN_INVALID_NUMBER','Invalid\x20number:\x20must\x20be\x20non-empty\x20string');const _0x28f80c=_0x3ca251||'',_0x3615ea=_0x282680['tXJCt'](_0x28f80c,'')?[_0x50bea5]:_0x50bea5[_0x18acdc(0x19c)](_0x28f80c);let _0x8b1b93='',_0x2158d9;if(_0x282680[_0x18acdc(0xef)](_0x5c4d02,_0x282680['JZbty'])){if(_0x596323){if(_0x282680['APgvj'](_0x3615ea[_0x18acdc(0x105)],0x2)||_0x3615ea[0x0]!==_0x596323)throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x18acdc(0xd7)+_0x28f80c+'padded\x20(got:\x20'+_0x50bea5+')');_0x2158d9=_0x3615ea[0x1];}else{if(_0x3615ea[_0x18acdc(0x105)]!==0x1)throw new IdGeneratorError('IDGEN_INVALID_NUMBER','Number\x20does\x20not\x20match\x20expected\x20text\x20format\x20(got:\x20'+_0x50bea5+')');_0x2158d9=_0x3615ea[0x0];}}else{const _0x7aad84=_0x596323?0x3:0x2;if(_0x3615ea[_0x18acdc(0x105)]!==_0x7aad84)throw new IdGeneratorError(_0x282680[_0x18acdc(0x118)],_0x18acdc(0x1ba)+_0x50bea5+_0x18acdc(0x196)+_0x7aad84+'\x20parts)');let _0x10e1dd=0x0;if(_0x596323){if(_0x3615ea[_0x10e1dd]!==_0x596323)throw new IdGeneratorError(_0x18acdc(0xfa),_0x18acdc(0x148)+_0x596323+',\x20got\x20'+_0x3615ea[_0x10e1dd]);_0x10e1dd++;}_0x8b1b93=_0x3615ea[_0x10e1dd++];const _0x49190d=_0x5c4d02==='yyyy'?/^\d{4}$/:_0x5c4d02===_0x282680[_0x18acdc(0x107)]?/^\d{6}$/:/^\d{8}$/;if(!_0x49190d[_0x18acdc(0xb2)](_0x8b1b93))throw new IdGeneratorError(_0x18acdc(0xfa),_0x18acdc(0x116)+_0x5c4d02+':\x20'+_0x8b1b93);_0x2158d9=_0x3615ea[_0x10e1dd];}if(!new RegExp('^\x5cd{'+_0x4eeb3b+'}$')[_0x18acdc(0xb2)](_0x2158d9))throw new IdGeneratorError('IDGEN_INVALID_NUMBER','Number\x20counter\x20part\x20must\x20be\x20exactly\x20'+_0x4eeb3b+_0x18acdc(0x104)+_0x2158d9+')');const _0x584973=parseInt(_0x2158d9,0xa),_0x2613e9=_0x596323||'_';let _0x234197;return _0x5c4d02==='text'?_0x234197=_0x2613e9+'_text':_0x234197=_0x2613e9+'_'+_0x5c4d02+'_'+_0x8b1b93,{'formatKey':_0x234197,'counterInt':_0x584973,'datePrefix':_0x8b1b93};}['_generateFromPattern'](_0xe9a805){const _0x7c5ab9=a0_0x22768f;let _0x36d41e='';for(const _0x15d91a of _0xe9a805){const _0xe082f5=PLACEHOLDER_MAP[_0x15d91a];if(_0xe082f5){const _0x23941e=crypto['randomInt'](0x0,_0xe082f5[_0x7c5ab9(0x105)]);_0x36d41e+=_0xe082f5[_0x23941e];}else _0x36d41e+=_0x15d91a;}return _0x36d41e;}async['_retrieveIdemCache'](_0x26aae8){const _0xc83715=a0_0x22768f,_0x1689a4={'Htyhx':_0xc83715(0x17f),'wZeHQ':_0xc83715(0x166)};if(!_0x26aae8)return null;try{const _0x315757=redisClient[_0xc83715(0x189)](),_0x2a997d=await _0x315757['get'](_0x26aae8);if(_0x2a997d)return logger[_0xc83715(0x143)]({'event':'idgen_idem_hit','key':_0x26aae8},_0x1689a4['Htyhx']),JSON[_0xc83715(0x1b4)](_0x2a997d);return null;}catch(_0xf1a815){return logger['warn']({'event':'idgen_idem_retrieve_error','error':_0xf1a815[_0xc83715(0x136)]},_0x1689a4[_0xc83715(0x119)]),null;}}async['_storeIdemCache'](_0x3fa0e0,_0x35cf77){const _0x39e070=a0_0x22768f;if(!_0x3fa0e0)return;try{const _0x146f67=redisClient[_0x39e070(0x189)]();await _0x146f67['setex'](_0x3fa0e0,this[_0x39e070(0x14b)],JSON[_0x39e070(0x139)](_0x35cf77));}catch(_0x3a8a19){logger[_0x39e070(0x103)]({'event':_0x39e070(0x182),'error':_0x3a8a19[_0x39e070(0x136)]},'Idempotency\x20store\x20error');}}async[a0_0x22768f(0x140)](_0x255385,_0x31db7e){const _0x380714=a0_0x22768f,_0x581450={'ofpnw':function(_0x1c9b96,_0xc17404){return _0x1c9b96===_0xc17404;},'uBrcp':'SET\x20NX\x20failed\x20but\x20cache\x20GET\x20returned\x20empty\x20—\x20falling\x20back\x20to\x20own\x20result','YKXcA':_0x380714(0xf1),'LtCLo':'Idempotency\x20SET\x20NX\x20error'};if(!_0x255385)return{'stored':!![],'winnerResult':null};try{const _0x348801=redisClient['getClient'](),_0x1768c9=JSON['stringify'](_0x31db7e),_0x1a505e=await _0x348801['set'](_0x255385,_0x1768c9,'EX',this[_0x380714(0x14b)],'NX');if(_0x581450['ofpnw'](_0x1a505e,'OK'))return{'stored':!![],'winnerResult':null};const _0x2cf804=await _0x348801['get'](_0x255385);if(_0x2cf804)return{'stored':![],'winnerResult':JSON['parse'](_0x2cf804)};return logger[_0x380714(0x103)]({'event':_0x380714(0xc2),'key':_0x255385},_0x581450['uBrcp']),{'stored':!![],'winnerResult':null};}catch(_0x15d600){return logger['warn']({'event':_0x581450['YKXcA'],'error':_0x15d600[_0x380714(0x136)]},_0x581450[_0x380714(0x115)]),{'stored':!![],'winnerResult':null};}}async['_undoRandomReservation'](_0x458c87,_0x22ec0b,_0xa6b2da){const _0x253250=a0_0x22768f;try{const _0x27a132=redisClient[_0x253250(0x189)]();if(_0xa6b2da){const _0x5da0e9=this['_buildActiveKey'](_0x458c87,_0x22ec0b);await _0x27a132['del'](_0x5da0e9);}else{const _0x5b46c5=this['_buildIssuedKey'](_0x458c87);await _0x27a132['srem'](_0x5b46c5,_0x22ec0b);}}catch(_0x2fac54){logger[_0x253250(0x103)]({'event':'idgen_random_undo_error','error':_0x2fac54['message']},'Random\x20reservation\x20undo\x20error\x20(orphan\x20slot\x20may\x20remain)');}}async[a0_0x22768f(0xb9)](_0x320376,_0x1e987e,_0x141d27,_0xc70c83=0x0){const _0x598351=a0_0x22768f,_0x1a16e2={'pLqHe':function(_0x26ac7a,_0x50124c){return _0x26ac7a(_0x50124c);},'FhDGi':function(_0x364311,_0x5c5ad2){return _0x364311>_0x5c5ad2;},'yAxjS':'Meta\x20update\x20error'};try{const _0x4dbc77=redisClient[_0x598351(0x189)](),_0x15ee3d=this['_buildMetaKey'](_0x320376,_0x1e987e),_0x399b85=[];for(const [_0xfc0ce7,_0x48ccc8]of Object[_0x598351(0xf5)](_0x141d27)){_0x399b85[_0x598351(0x152)](_0xfc0ce7,_0x1a16e2[_0x598351(0x16a)](String,_0x48ccc8));}if(_0x1a16e2[_0x598351(0x15a)](_0x399b85[_0x598351(0x105)],0x0)){await _0x4dbc77['hset'](_0x15ee3d,..._0x399b85);if(_0x1a16e2[_0x598351(0x15a)](_0xc70c83,0x0))await _0x4dbc77[_0x598351(0xc8)](_0x15ee3d,_0xc70c83);}}catch(_0x50f066){logger[_0x598351(0x103)]({'event':_0x598351(0x12e),'error':_0x50f066['message']},_0x1a16e2['yAxjS']);}}async[a0_0x22768f(0x146)](_0x69d468){const _0x410e88=a0_0x22768f,_0x2d847f={'IfggI':'IDGEN_DISABLED','PgjiA':_0x410e88(0x146),'xThJx':_0x410e88(0x1b6),'URUir':_0x410e88(0xbb)};if(!this[_0x410e88(0xf4)])throw new IdGeneratorError(_0x2d847f[_0x410e88(0x11b)],'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)');const _0x1fd9e7=this['_validateNumberParams'](_0x69d468),_0x5eb935=this[_0x410e88(0x9f)](_0x69d468[_0x410e88(0xed)]),{resource:_0x2c33c0,format:_0x3facc2,prefix:_0x50d61c,separator:_0x33619f,numDigits:_0x5bd6a7,reuseDelete:_0x2a25e0}=_0x1fd9e7,{formatKey:_0xb0dbc4,datePrefix:_0x502675}=this[_0x410e88(0x193)](_0x3facc2,_0x50d61c),_0x302343=this['_buildSeqKey'](_0x2c33c0,_0xb0dbc4),_0x2e9e6d=this['_buildReuseKey'](_0x2c33c0,_0xb0dbc4),_0x2bbf93=this[_0x410e88(0x174)](_0x3facc2);let _0x33141b=null;if(_0x5eb935){_0x33141b=this['_buildIdemKey'](_0x2d847f[_0x410e88(0x1a0)],_0x2c33c0,_0xb0dbc4,_0x5eb935);const _0x31f908=await this['_retrieveIdemCache'](_0x33141b);if(_0x31f908)return _0x31f908;}const _0x12a390=redisClient['getClient'](),_0xa24643=await _0x12a390['eval'](LUA_GENERATE_NUMBER,0x2,_0x302343,_0x2e9e6d,_0x2a25e0?'1':'0',String(_0x2bbf93)),_0x44dce6=_0xa24643[0x0],_0x4b0fcf=_0xa24643[0x1]===0x1,_0x4be9e0=this['_formatNumber']({'format':_0x3facc2,'prefix':_0x50d61c,'datePrefix':_0x502675,'separator':_0x33619f,'numDigits':_0x5bd6a7,'counterInt':_0x44dce6}),_0x294afb={'value':_0x4be9e0,'counter':_0x44dce6,'resource':_0x2c33c0,'formatKey':_0xb0dbc4,'isReused':_0x4b0fcf,'generatedAt':new Date()[_0x410e88(0x172)]()},_0x3afa76=await this[_0x410e88(0x140)](_0x33141b,_0x294afb);if(!_0x3afa76['stored']){try{await _0x12a390[_0x410e88(0x15e)](LUA_RELEASE_NUMBER,0x1,_0x2e9e6d,String(_0x44dce6),String(_0x2bbf93));}catch(_0x5e405d){logger['warn']({'event':'idgen_idem_loser_release_error','error':_0x5e405d[_0x410e88(0x136)],'resource':_0x2c33c0,'formatKey':_0xb0dbc4,'counterInt':_0x44dce6},'Failed\x20to\x20release\x20counter\x20for\x20idempotency\x20loser');}return logger['info']({'event':_0x2d847f[_0x410e88(0x180)],'resource':_0x2c33c0,'formatKey':_0xb0dbc4,'counter':_0x44dce6},_0x410e88(0x112)),_0x3afa76['winnerResult'];}return this[_0x410e88(0xb9)](_0x2c33c0,_0xb0dbc4,{'lastValue':_0x4be9e0,'lastCounter':_0x44dce6,'lastIsReused':_0x4b0fcf,'lastGeneratedAt':_0x294afb[_0x410e88(0x125)]},_0x2bbf93),logger[_0x410e88(0x143)]({'event':_0x2d847f['URUir'],'resource':_0x2c33c0,'formatKey':_0xb0dbc4,'counter':_0x44dce6,'isReused':_0x4b0fcf},'ID\x20Generator\x20number:\x20'+_0x4be9e0),_0x294afb;}async[a0_0x22768f(0xd5)](_0x16c688){const _0x3ba1b3=a0_0x22768f,_0x4fc403={'KtrES':'IDGEN_DISABLED','MUhmZ':_0x3ba1b3(0x158),'xOXUu':function(_0x5c1307,_0x237169){return _0x5c1307!==_0x237169;},'WfVrF':'string','BTOzJ':function(_0x5258a3,_0x38e196){return _0x5258a3===_0x38e196;},'CwSAc':'IDGEN_INVALID_NUMBER','Znqvo':'text','LcvAy':_0x3ba1b3(0xc0),'UyydE':function(_0x249704,_0x1b0d94){return _0x249704(_0x1b0d94);},'rJldf':_0x3ba1b3(0x16f)};if(!this[_0x3ba1b3(0xf4)])throw new IdGeneratorError(_0x4fc403['KtrES'],_0x4fc403['MUhmZ']);let _0x427ebb,_0x382b2f,_0x359862,_0x4fe34b;const _0x5eb2dc=this['_validateIdempotencyKey'](_0x16c688['idempotencyKey']);if(_0x16c688[_0x3ba1b3(0x170)]!==undefined&&_0x16c688[_0x3ba1b3(0x170)]!==null){this['_validateResource'](_0x16c688['resource']),_0x427ebb=_0x16c688['resource'];if(_0x4fc403['xOXUu'](typeof _0x16c688[_0x3ba1b3(0xec)],_0x4fc403[_0x3ba1b3(0xba)])||_0x4fc403[_0x3ba1b3(0x14e)](_0x16c688['formatKey']['length'],0x0))throw new IdGeneratorError(_0x4fc403[_0x3ba1b3(0x183)],_0x3ba1b3(0xad));_0x382b2f=_0x16c688[_0x3ba1b3(0xec)];if(!Number[_0x3ba1b3(0x124)](_0x16c688['counterInt'])||_0x16c688['counterInt']<0x1)throw new IdGeneratorError('IDGEN_INVALID_NUMBER','counterInt\x20must\x20be\x20positive\x20integer\x20(got:\x20'+_0x16c688[_0x3ba1b3(0x170)]+')');_0x359862=_0x16c688[_0x3ba1b3(0x170)];const _0x157089=_0x382b2f['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x4fe34b=_0x157089?_0x157089[0x1]:_0x4fc403[_0x3ba1b3(0xd3)];}else{const _0x77f06c=this[_0x3ba1b3(0x195)](_0x16c688),_0x2c1e4a=this[_0x3ba1b3(0x147)]({'format':_0x77f06c[_0x3ba1b3(0x1a3)],'prefix':_0x77f06c[_0x3ba1b3(0x169)],'separator':_0x77f06c[_0x3ba1b3(0x19d)],'numDigits':_0x77f06c[_0x3ba1b3(0xee)],'number':_0x16c688[_0x3ba1b3(0x146)]});_0x427ebb=_0x77f06c[_0x3ba1b3(0x9d)],_0x382b2f=_0x2c1e4a['formatKey'],_0x359862=_0x2c1e4a['counterInt'],_0x4fe34b=_0x77f06c[_0x3ba1b3(0x1a3)];}const _0x56afdc=this[_0x3ba1b3(0x13b)](_0x427ebb,_0x382b2f),_0x734930=this[_0x3ba1b3(0x174)](_0x4fe34b);let _0x562fed=null;if(_0x5eb2dc){_0x562fed=this[_0x3ba1b3(0x198)](_0x4fc403[_0x3ba1b3(0x1a2)],_0x427ebb,_0x382b2f,_0x5eb2dc);const _0x2b9b11=await this['_retrieveIdemCache'](_0x562fed);if(_0x2b9b11)return _0x2b9b11;}const _0x311f81=redisClient['getClient']();await _0x311f81['eval'](LUA_RELEASE_NUMBER,0x1,_0x56afdc,_0x4fc403[_0x3ba1b3(0x110)](String,_0x359862),String(_0x734930));const _0x58aadf={'released':!![],'resource':_0x427ebb,'formatKey':_0x382b2f,'counter':_0x359862,'releasedAt':new Date()[_0x3ba1b3(0x172)]()};return await this['_storeIdemCache'](_0x562fed,_0x58aadf),this[_0x3ba1b3(0xb9)](_0x427ebb,_0x382b2f,{'lastReleasedCounter':_0x359862,'lastReleasedAt':_0x58aadf['releasedAt']},_0x734930),logger[_0x3ba1b3(0x143)]({'event':_0x4fc403[_0x3ba1b3(0x188)],'resource':_0x427ebb,'formatKey':_0x382b2f,'counter':_0x359862},'ID\x20Generator\x20number\x20released:\x20'+_0x359862),_0x58aadf;}async['reserveNumber'](_0x45372b){const _0x2d5ab9=a0_0x22768f,_0x3b4c89={'wPgtI':'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)','KsxFZ':function(_0x5f2b8f,_0x18fc09){return _0x5f2b8f+_0x18fc09;},'qERsm':function(_0x24670a,_0x4786e0){return _0x24670a*_0x4786e0;},'VFgTh':_0x2d5ab9(0x9d),'MQXnP':_0x2d5ab9(0xec),'ZaEgh':_0x2d5ab9(0x1a3),'miKMV':_0x2d5ab9(0xee),'HtJxf':function(_0x23918a,_0x321d8f){return _0x23918a||_0x321d8f;},'diIWA':'ttlMs','zrznO':function(_0x3497bb,_0x16d22c){return _0x3497bb(_0x16d22c);},'NtQps':'idemKey','eQyqh':function(_0xb6b7b5,_0x3c6cda){return _0xb6b7b5(_0x3c6cda);},'NiGsY':'idgen_reserve_overflow_compensation_error','zUqGI':function(_0x3873f9,_0x4f4477){return _0x3873f9(_0x4f4477);},'BjsGY':'idgen_reserve_idem_loser'};if(!this[_0x2d5ab9(0xf4)])throw new IdGeneratorError('IDGEN_DISABLED',_0x3b4c89['wPgtI']);const _0x13dc0d=this[_0x2d5ab9(0x195)](_0x45372b),_0x4d4232=this[_0x2d5ab9(0x19e)](_0x45372b[_0x2d5ab9(0x1be)]),_0x5d80a5=this[_0x2d5ab9(0x9f)](_0x45372b[_0x2d5ab9(0xed)]),{resource:_0x4a4cb4,format:_0x3eae69,prefix:_0x50d51f,separator:_0xfa0a40,numDigits:_0x3d5021,reuseDelete:_0x447247}=_0x13dc0d,{formatKey:_0x5c3534,datePrefix:_0x11cf73}=this['_buildFormatKey'](_0x3eae69,_0x50d51f),_0x3950c1=this[_0x2d5ab9(0x178)](_0x4a4cb4,_0x5c3534),_0xbbf614=this[_0x2d5ab9(0x13b)](_0x4a4cb4,_0x5c3534),_0x5d3267=this[_0x2d5ab9(0xf2)](_0x4a4cb4,_0x5c3534),_0x105d4e=this['_getCounterTTL'](_0x3eae69);let _0x176a0c=null;if(_0x5d80a5){_0x176a0c=this['_buildIdemKey'](_0x2d5ab9(0x141),_0x4a4cb4,_0x5c3534,_0x5d80a5);const _0x14edff=await this['_retrieveIdemCache'](_0x176a0c);if(_0x14edff)return _0x14edff;}const _0x369b18=crypto['randomUUID'](),_0x220288=this[_0x2d5ab9(0x16c)](_0x369b18),_0x26f6d9=this[_0x2d5ab9(0xa1)](),_0x43682d=Date['now'](),_0x451fe0=_0x3b4c89[_0x2d5ab9(0x11e)](_0x43682d,_0x3b4c89[_0x2d5ab9(0xb4)](_0x4d4232,0x3e8)),_0x361637=_0x3b4c89['qERsm'](_0x4d4232,0x3e8),_0x197ef6=new Date(_0x43682d)[_0x2d5ab9(0x172)](),_0x152a77=new Date(_0x451fe0)[_0x2d5ab9(0x172)](),_0x2356cb=[_0x3b4c89['VFgTh'],_0x4a4cb4,_0x3b4c89['MQXnP'],_0x5c3534,_0x3b4c89[_0x2d5ab9(0xbf)],_0x3eae69,'prefix',_0x50d51f,'separator',_0xfa0a40,_0x3b4c89['miKMV'],String(_0x3d5021),_0x2d5ab9(0xf0),_0x3b4c89['HtJxf'](_0x11cf73,''),'createdAt',_0x197ef6,_0x2d5ab9(0x185),_0x152a77,_0x3b4c89['diIWA'],_0x3b4c89[_0x2d5ab9(0x131)](String,_0x361637)];_0x5d80a5&&_0x2356cb[_0x2d5ab9(0x152)](_0x3b4c89[_0x2d5ab9(0x190)],_0x5d80a5);const _0x44c567=redisClient['getClient'](),_0x130eff=await _0x44c567[_0x2d5ab9(0x15e)](LUA_RESERVE_NUMBER,0x3,_0x3950c1,_0xbbf614,_0x5d3267,_0x447247?'1':'0',_0x3b4c89['zrznO'](String,_0x105d4e),_0x369b18,_0x220288,String(_0x361637),_0x3b4c89['eQyqh'](String,_0x451fe0),_0x3b4c89['zrznO'](String,_0x43682d),_0x26f6d9,..._0x2356cb),_0x2b8d3c=_0x130eff[0x0],_0x4184fe=_0x130eff[0x1]===0x1,_0x471c50=_0x130eff[0x2]||0x0;let _0x1dbc54;try{_0x1dbc54=this['_formatNumber']({'format':_0x3eae69,'prefix':_0x50d51f,'datePrefix':_0x11cf73,'separator':_0xfa0a40,'numDigits':_0x3d5021,'counterInt':_0x2b8d3c});}catch(_0x597271){try{await _0x44c567['eval'](LUA_CANCEL_RESERVATION,0x3,_0x220288,_0x5d3267,_0xbbf614,_0x369b18,String(_0x105d4e));}catch(_0x16dc2b){logger['warn']({'event':_0x3b4c89[_0x2d5ab9(0x167)],'error':_0x16dc2b[_0x2d5ab9(0x136)],'resource':_0x4a4cb4,'formatKey':_0x5c3534,'counterInt':_0x2b8d3c,'token':_0x369b18},_0x2d5ab9(0xe5));}throw _0x597271;}try{await _0x44c567['hset'](_0x220288,_0x2d5ab9(0x14c),_0x1dbc54);}catch(_0x1f5926){logger['warn']({'event':'idgen_reserve_value_persist_error','error':_0x1f5926[_0x2d5ab9(0x136)],'resource':_0x4a4cb4,'formatKey':_0x5c3534,'counterInt':_0x2b8d3c,'token':_0x369b18},'Failed\x20to\x20persist\x20formatted\x20value\x20to\x20reservation\x20hash');}const _0x28f893={'token':_0x369b18,'value':_0x1dbc54,'counter':_0x2b8d3c,'resource':_0x4a4cb4,'formatKey':_0x5c3534,'isReused':_0x4184fe,'createdAt':_0x197ef6,'expiresAt':_0x152a77,'reapedCount':_0x471c50},_0x4c72fb=await this['_storeIdemCacheNX'](_0x176a0c,_0x28f893);if(!_0x4c72fb['stored']){try{await _0x44c567[_0x2d5ab9(0x15e)](LUA_CANCEL_RESERVATION,0x3,_0x220288,_0x5d3267,_0xbbf614,_0x369b18,_0x3b4c89[_0x2d5ab9(0x12c)](String,_0x105d4e));}catch(_0x171967){logger[_0x2d5ab9(0x103)]({'event':'idgen_reserve_idem_loser_cancel_error','error':_0x171967['message'],'resource':_0x4a4cb4,'formatKey':_0x5c3534,'counterInt':_0x2b8d3c,'token':_0x369b18},_0x2d5ab9(0x109));}return logger[_0x2d5ab9(0x143)]({'event':_0x3b4c89[_0x2d5ab9(0x1ab)],'resource':_0x4a4cb4,'formatKey':_0x5c3534,'counter':_0x2b8d3c,'token':_0x369b18},_0x2d5ab9(0xd8)),_0x4c72fb['winnerResult'];}return this['_updateMeta'](_0x4a4cb4,_0x5c3534,{'lastReservedCounter':_0x2b8d3c,'lastReservedAt':_0x197ef6,'lastReapedCount':_0x471c50},_0x105d4e),logger['info']({'event':_0x2d5ab9(0x144),'resource':_0x4a4cb4,'formatKey':_0x5c3534,'counter':_0x2b8d3c,'isReused':_0x4184fe,'token':_0x369b18,'ttl':_0x4d4232,'reapedCount':_0x471c50},_0x2d5ab9(0x11d)+_0x1dbc54+'\x20(token='+_0x369b18+')'),_0x28f893;}async[a0_0x22768f(0xdb)](_0x5b432f){const _0x5a1337=a0_0x22768f,_0x56830c={'SOhzU':'idgen','xuERp':_0x5a1337(0x1bf),'WOwjW':function(_0x2f101a,_0x1b417d){return _0x2f101a!==_0x1b417d;},'pOnAK':_0x5a1337(0xca),'bQKwh':function(_0x1ecfc0,_0x5b061c,_0x84585f){return _0x1ecfc0(_0x5b061c,_0x84585f);},'HOLiz':_0x5a1337(0xd2)};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED','ID\x20Generator\x20is\x20disabled');const _0x485ca4=this[_0x5a1337(0x184)](_0x5b432f&&_0x5b432f[_0x5a1337(0x122)]),_0xbbda0e=this[_0x5a1337(0x9f)](_0x5b432f&&_0x5b432f['idempotencyKey']);let _0x1f5cf1=null;if(_0xbbda0e){_0x1f5cf1=idempotencyManager['buildDeterministicKey'](_0x56830c[_0x5a1337(0xc4)],_0x56830c[_0x5a1337(0x18a)],_0x485ca4+':'+_0xbbda0e);const _0x393f73=await this['_retrieveIdemCache'](_0x1f5cf1);if(_0x393f73)return _0x393f73;}const _0x3212dd=await this['_getReservationContext'](_0x485ca4),_0x171c72=redisClient['getClient'](),_0x3cd026=await _0x171c72[_0x5a1337(0x15e)](LUA_CONFIRM_RESERVATION,0x2,_0x3212dd['rsvKey'],_0x3212dd['rsvIdxKey'],_0x485ca4);if(!_0x3cd026||_0x56830c['WOwjW'](_0x3cd026[0x0],0x1))throw new IdGeneratorError(_0x56830c[_0x5a1337(0x16b)],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x485ca4,{'token':_0x485ca4});const _0x1b4bc9=_0x56830c['bQKwh'](parseInt,_0x3cd026[0x1],0xa),_0x3e4fdf=_0x3cd026[0x2],_0x550ecf=_0x3cd026[0x3],_0x513f14=new Date()[_0x5a1337(0x172)](),_0x4fe597={'confirmed':!![],'token':_0x485ca4,'value':_0x3e4fdf,'counter':_0x1b4bc9,'resource':_0x3212dd[_0x5a1337(0x9d)],'formatKey':_0x550ecf,'confirmedAt':_0x513f14};await this['_storeIdemCache'](_0x1f5cf1,_0x4fe597);const _0x18aa13=_0x550ecf[_0x5a1337(0x186)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x2a9ffa=_0x18aa13?_0x18aa13[0x1]:_0x56830c['HOLiz'],_0x257a18=this[_0x5a1337(0x174)](_0x2a9ffa);return this[_0x5a1337(0xb9)](_0x3212dd[_0x5a1337(0x9d)],_0x550ecf,{'lastConfirmedCounter':_0x1b4bc9,'lastConfirmedAt':_0x513f14},_0x257a18),logger['info']({'event':'idgen_reservation_confirmed','resource':_0x3212dd[_0x5a1337(0x9d)],'formatKey':_0x550ecf,'counter':_0x1b4bc9,'token':_0x485ca4},'ID\x20Generator\x20reservation\x20confirmed:\x20'+_0x3e4fdf+'\x20(token='+_0x485ca4+')'),_0x4fe597;}async['cancelReservation'](_0x34e2bb){const _0x201d24=a0_0x22768f,_0xa3b581={'yhHAY':_0x201d24(0x129),'KfDDP':'reserve_cancel','XgOAA':function(_0x235854,_0x408858){return _0x235854(_0x408858);}};if(!this['enabled'])throw new IdGeneratorError(_0xa3b581[_0x201d24(0x145)],_0x201d24(0x158));const _0x23923c=this[_0x201d24(0x184)](_0x34e2bb&&_0x34e2bb['token']),_0x4dab2f=this['_validateIdempotencyKey'](_0x34e2bb&&_0x34e2bb[_0x201d24(0xed)]);let _0x2da8b1=null;if(_0x4dab2f){_0x2da8b1=idempotencyManager['buildDeterministicKey'](_0x201d24(0xb7),_0xa3b581[_0x201d24(0xf9)],_0x23923c+':'+_0x4dab2f);const _0xb51b6b=await this[_0x201d24(0x199)](_0x2da8b1);if(_0xb51b6b)return _0xb51b6b;}const _0x4a2f80=await this[_0x201d24(0x117)](_0x23923c),_0x2f0bad=this['_buildReuseKey'](_0x4a2f80[_0x201d24(0x9d)],_0x4a2f80['formatKey']),_0x12b277=_0x4a2f80['formatKey'][_0x201d24(0x186)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x579ab3=_0x12b277?_0x12b277[0x1]:_0x201d24(0xd2),_0x3a44f7=this['_getCounterTTL'](_0x579ab3),_0x58d6c3=redisClient[_0x201d24(0x189)](),_0x2d92e7=await _0x58d6c3[_0x201d24(0x15e)](LUA_CANCEL_RESERVATION,0x3,_0x4a2f80['rsvKey'],_0x4a2f80[_0x201d24(0x14a)],_0x2f0bad,_0x23923c,_0xa3b581[_0x201d24(0x153)](String,_0x3a44f7));if(!_0x2d92e7||_0x2d92e7[0x0]!==0x1)throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND','Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x23923c,{'token':_0x23923c});const _0x14f407=parseInt(_0x2d92e7[0x1],0xa),_0x662894=_0x2d92e7[0x2],_0x12c9b0=_0x2d92e7[0x3],_0x555228=new Date()['toISOString'](),_0x22093b={'cancelled':!![],'token':_0x23923c,'value':_0x662894,'counter':_0x14f407,'resource':_0x4a2f80[_0x201d24(0x9d)],'formatKey':_0x12c9b0,'releasedToReuse':!![],'cancelledAt':_0x555228};return await this[_0x201d24(0x161)](_0x2da8b1,_0x22093b),this[_0x201d24(0xb9)](_0x4a2f80['resource'],_0x12c9b0,{'lastCancelledCounter':_0x14f407,'lastCancelledAt':_0x555228},_0x3a44f7),logger['info']({'event':'idgen_reservation_cancelled','resource':_0x4a2f80['resource'],'formatKey':_0x12c9b0,'counter':_0x14f407,'token':_0x23923c},'ID\x20Generator\x20reservation\x20cancelled:\x20'+_0x662894+'\x20(token='+_0x23923c+')'),_0x22093b;}async['extendReservation'](_0x55bf90){const _0x2c8202=a0_0x22768f,_0xde889f={'IQIhv':'IDGEN_DISABLED','QhgHz':_0x2c8202(0x158),'imIOz':'idgen','gxrwv':function(_0x1b0fe7,_0x5f47e9){return _0x1b0fe7+_0x5f47e9;},'GSUEL':'text'};if(!this['enabled'])throw new IdGeneratorError(_0xde889f[_0x2c8202(0xa9)],_0xde889f[_0x2c8202(0x1b7)]);const _0x56a0ef=this['_validateReservationToken'](_0x55bf90&&_0x55bf90['token']),_0x162f38=this['_validateReserveTTL'](_0x55bf90&&_0x55bf90[_0x2c8202(0x1be)]),_0x52831f=this['_validateIdempotencyKey'](_0x55bf90&&_0x55bf90[_0x2c8202(0xed)]);let _0x18a359=null;if(_0x52831f){_0x18a359=idempotencyManager['buildDeterministicKey'](_0xde889f[_0x2c8202(0xd9)],'reserve_extend',_0x56a0ef+':'+_0x52831f);const _0x407315=await this[_0x2c8202(0x199)](_0x18a359);if(_0x407315)return _0x407315;}const _0x4e9a86=await this[_0x2c8202(0x117)](_0x56a0ef),_0x250964=Date[_0x2c8202(0xd6)](),_0x3cfbd1=_0xde889f['gxrwv'](_0x250964,_0x162f38*0x3e8),_0x4af4fb=_0x162f38*0x3e8,_0x4014d1=new Date(_0x3cfbd1)[_0x2c8202(0x172)](),_0x10707d=redisClient['getClient'](),_0x17b7ee=await _0x10707d['eval'](LUA_EXTEND_RESERVATION,0x2,_0x4e9a86[_0x2c8202(0x1a4)],_0x4e9a86['rsvIdxKey'],_0x56a0ef,String(_0x4af4fb),String(_0x3cfbd1),_0x4014d1);if(!_0x17b7ee||_0x17b7ee[0x0]!==0x1)throw new IdGeneratorError(_0x2c8202(0xca),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x56a0ef,{'token':_0x56a0ef});const _0x1bb077=_0x17b7ee[0x1],_0x31b4fe=parseInt(_0x17b7ee[0x2],0xa),_0x20b5ba=_0x17b7ee[0x3],_0x7996f4=_0x17b7ee[0x4],_0x2ab801=new Date(_0x250964)['toISOString'](),_0x28c32b={'extended':!![],'token':_0x56a0ef,'previousExpiresAt':_0x1bb077,'expiresAt':_0x4014d1,'ttlMs':_0x4af4fb,'resource':_0x4e9a86[_0x2c8202(0x9d)],'formatKey':_0x7996f4,'counter':_0x31b4fe,'value':_0x20b5ba,'extendedAt':_0x2ab801};await this[_0x2c8202(0x161)](_0x18a359,_0x28c32b);const _0x267643=_0x7996f4['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x5e732f=_0x267643?_0x267643[0x1]:_0xde889f[_0x2c8202(0xbd)],_0x14a3ce=this['_getCounterTTL'](_0x5e732f);return this['_updateMeta'](_0x4e9a86[_0x2c8202(0x9d)],_0x7996f4,{'lastExtendedCounter':_0x31b4fe,'lastExtendedAt':_0x2ab801},_0x14a3ce),logger[_0x2c8202(0x143)]({'event':_0x2c8202(0x149),'resource':_0x4e9a86[_0x2c8202(0x9d)],'formatKey':_0x7996f4,'counter':_0x31b4fe,'token':_0x56a0ef,'ttl':_0x162f38},_0x2c8202(0x120)+_0x20b5ba+'\x20(token='+_0x56a0ef+',\x20+'+_0x162f38+'s)'),_0x28c32b;}async[a0_0x22768f(0x17a)](_0x32f5ae){const _0x5b1f42=a0_0x22768f,_0x2957a6={'iupmP':'ID\x20Generator\x20is\x20disabled','CvOBr':function(_0x1acaba,_0x474462,_0x3f798b){return _0x1acaba(_0x474462,_0x3f798b);},'FQfEp':function(_0x52ac0d,_0x12a0d7){return _0x52ac0d>=_0x12a0d7;}};if(!this[_0x5b1f42(0xf4)])throw new IdGeneratorError('IDGEN_DISABLED',_0x2957a6['iupmP']);const _0x11d5ec=this[_0x5b1f42(0x184)](_0x32f5ae&&_0x32f5ae[_0x5b1f42(0x122)]),_0x20f6b4=this[_0x5b1f42(0x16c)](_0x11d5ec),_0x36b5f8=redisClient[_0x5b1f42(0x189)](),_0x20681f=_0x36b5f8[_0x5b1f42(0x18d)]();_0x20681f[_0x5b1f42(0x12f)](_0x20f6b4),_0x20681f['pttl'](_0x20f6b4);const _0x31817e=await _0x20681f[_0x5b1f42(0xe0)](),_0x4dbdbc=_0x31817e&&_0x31817e[0x0]&&_0x31817e[0x0][0x1],_0x5587ca=_0x31817e&&_0x31817e[0x1]&&_0x31817e[0x1][0x1];if(!_0x4dbdbc||Object[_0x5b1f42(0xf8)](_0x4dbdbc)['length']===0x0)throw new IdGeneratorError(_0x5b1f42(0xca),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x11d5ec,{'token':_0x11d5ec});return{'token':_0x11d5ec,'resource':_0x4dbdbc[_0x5b1f42(0x9d)]||null,'formatKey':_0x4dbdbc[_0x5b1f42(0xec)]||null,'format':_0x4dbdbc['format']||null,'prefix':_0x4dbdbc['prefix']||'','separator':_0x4dbdbc[_0x5b1f42(0x19d)]||'','numDigits':_0x4dbdbc[_0x5b1f42(0xee)]?_0x2957a6[_0x5b1f42(0xd1)](parseInt,_0x4dbdbc['numDigits'],0xa):null,'datePrefix':_0x4dbdbc[_0x5b1f42(0xf0)]||'','counter':_0x4dbdbc[_0x5b1f42(0x135)]?parseInt(_0x4dbdbc['counter'],0xa):null,'value':_0x4dbdbc[_0x5b1f42(0x14c)]||null,'isReused':_0x4dbdbc[_0x5b1f42(0xfc)]==='1'||_0x4dbdbc[_0x5b1f42(0xfc)]===0x1,'createdAt':_0x4dbdbc[_0x5b1f42(0xc7)]||null,'expiresAt':_0x4dbdbc['expiresAt']||null,'ttlRemainingMs':typeof _0x5587ca==='number'&&_0x2957a6[_0x5b1f42(0xb8)](_0x5587ca,0x0)?_0x5587ca:null};}async['_getReservationContext'](_0x707e19){const _0xec6f2a=a0_0x22768f,_0xf79ba7={'YJwDC':function(_0x3c1499,_0x763da){return _0x3c1499||_0x763da;},'xZKBG':_0xec6f2a(0xca)},_0x2f2e9d=this['_buildReservationKey'](_0x707e19),_0x5fcd46=redisClient['getClient'](),_0x593ec4=await _0x5fcd46['hmget'](_0x2f2e9d,'resource','formatKey'),_0x119171=_0x593ec4&&_0x593ec4[0x0],_0x237b83=_0x593ec4&&_0x593ec4[0x1];if(_0xf79ba7['YJwDC'](!_0x119171,!_0x237b83))throw new IdGeneratorError(_0xf79ba7['xZKBG'],_0xec6f2a(0x181)+_0x707e19,{'token':_0x707e19});return{'resource':_0x119171,'formatKey':_0x237b83,'rsvKey':_0x2f2e9d,'rsvIdxKey':this['_buildReservationIndexKey'](_0x119171,_0x237b83)};}async['random'](_0x9101ae){const _0x3863e2=a0_0x22768f,_0x174092={'cudAu':_0x3863e2(0x129),'pwinF':_0x3863e2(0x158),'VRrHs':function(_0x583749,_0xd5b56b){return _0x583749<_0xd5b56b;},'HIZvg':function(_0x2a21a6,_0x1f6e34){return _0x2a21a6===_0x1f6e34;},'hHbPS':function(_0x201c05,_0x3f74f1){return _0x201c05===_0x3f74f1;},'eXPlr':function(_0x222b0a,_0x5cd28a){return _0x222b0a&&_0x5cd28a;},'rqeCQ':function(_0x427d75,_0x4a0950){return _0x427d75*_0x4a0950;},'iFLzd':_0x3863e2(0xe6),'hHgUi':_0x3863e2(0x162),'AApHu':function(_0x3a0cd0,_0x909cf2){return _0x3a0cd0||_0x909cf2;}};if(!this[_0x3863e2(0xf4)])throw new IdGeneratorError(_0x174092[_0x3863e2(0x138)],_0x174092['pwinF']);this['_validateResource'](_0x9101ae[_0x3863e2(0x9d)]),this['_validatePattern'](_0x9101ae['pattern']);const _0x382f73=this[_0x3863e2(0x1b1)](_0x9101ae[_0x3863e2(0x1be)]),_0x2407e9=this['_validateMaxRetry'](_0x9101ae[_0x3863e2(0x16e)]),_0x2651cb=this[_0x3863e2(0x9f)](_0x9101ae[_0x3863e2(0xed)]),_0x1a9695=_0x9101ae['ensureUnique']===!![],{resource:_0x371b24,pattern:_0x4351c9}=_0x9101ae;let _0x5e7998=null;if(_0x2651cb){_0x5e7998=this[_0x3863e2(0x198)]('random',_0x371b24,null,_0x2651cb);const _0x581bfd=await this['_retrieveIdemCache'](_0x5e7998);if(_0x581bfd)return _0x581bfd;}const _0x102ac7=redisClient[_0x3863e2(0x189)]();let _0x52a3b7=null,_0x51776c=0x0;if(!_0x1a9695)_0x52a3b7=this['_generateFromPattern'](_0x4351c9),_0x51776c=0x1;else{for(let _0x4b0847=0x0;_0x174092['VRrHs'](_0x4b0847,_0x2407e9);_0x4b0847++){_0x51776c++;const _0x514a1f=this[_0x3863e2(0x18f)](_0x4351c9);if(_0x382f73){const _0x15e4a9=this[_0x3863e2(0x11f)](_0x371b24,_0x514a1f),_0x309ef7=await _0x102ac7[_0x3863e2(0x12d)](_0x15e4a9,'1','EX',_0x382f73,'NX');if(_0x174092[_0x3863e2(0x9e)](_0x309ef7,'OK')){_0x52a3b7=_0x514a1f;break;}}else{const _0x57edbe=this[_0x3863e2(0xe7)](_0x371b24),_0x321a30=await _0x102ac7[_0x3863e2(0x171)](_0x57edbe,_0x514a1f);if(_0x321a30===0x1){_0x52a3b7=_0x514a1f;break;}}}if(_0x174092['hHbPS'](_0x52a3b7,null))throw new IdGeneratorError('IDGEN_UNIQUE_RETRY_EXHAUSTED',_0x3863e2(0xde)+_0x2407e9+'\x20attempts.\x20Increase\x20pattern\x20length\x20or\x20maxRetry.',{'resource':_0x371b24,'pattern':_0x4351c9,'maxRetry':_0x2407e9});}const _0x19dc3d={'value':_0x52a3b7,'resource':_0x371b24,'pattern':_0x4351c9,'attemptCount':_0x51776c,'generatedAt':new Date()['toISOString']()};_0x174092[_0x3863e2(0xdc)](_0x382f73,_0x1a9695)&&(_0x19dc3d[_0x3863e2(0x185)]=new Date(Date['now']()+_0x174092['rqeCQ'](_0x382f73,0x3e8))['toISOString']());const _0x1a4dc0=await this[_0x3863e2(0x140)](_0x5e7998,_0x19dc3d);if(!_0x1a4dc0['stored'])return _0x1a9695&&await this['_undoRandomReservation'](_0x371b24,_0x52a3b7,_0x382f73),logger[_0x3863e2(0x143)]({'event':_0x174092['iFLzd'],'resource':_0x371b24,'pattern':_0x4351c9,'value':_0x52a3b7},'ID\x20Generator\x20random\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x1a4dc0['winnerResult'];return logger['info']({'event':_0x174092[_0x3863e2(0x108)],'resource':_0x371b24,'pattern':_0x4351c9,'attemptCount':_0x51776c,'ensureUnique':_0x1a9695,'ttl':_0x174092[_0x3863e2(0x127)](_0x382f73,0x0)},_0x3863e2(0x102)+_0x52a3b7),_0x19dc3d;}async['pin'](_0x4b1f1c){const _0x161012=a0_0x22768f,_0x3c6e4a={'HKvpV':function(_0x592298,_0x18a95c){return _0x592298==_0x18a95c;},'pEtij':'IDGEN_INVALID_DIGITS'},_0x504e3f=_0x3c6e4a['HKvpV'](_0x4b1f1c['digits'],null)?this[_0x161012(0x16d)]:_0x4b1f1c['digits'];if(!Number[_0x161012(0x124)](_0x504e3f)||_0x504e3f<MIN_PIN_DIGITS||_0x504e3f>MAX_PIN_DIGITS)throw new IdGeneratorError(_0x3c6e4a['pEtij'],_0x161012(0xce)+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+'\x20(got:\x20'+_0x504e3f+')');const _0x4ae436='9'['repeat'](_0x504e3f);return this[_0x161012(0x157)]({'resource':_0x4b1f1c['resource'],'pattern':_0x4ae436,'ensureUnique':_0x4b1f1c['ensureUnique']===!![],'ttl':_0x4b1f1c[_0x161012(0x1be)],'maxRetry':_0x4b1f1c['maxRetry'],'idempotencyKey':_0x4b1f1c[_0x161012(0xed)]});}async['serial'](_0x5f4c7b){const _0x29c887=a0_0x22768f,_0x4707a9={'tuldh':function(_0x431c79,_0x5e72a4){return _0x431c79!==_0x5e72a4;}},_0x101b2c=_0x5f4c7b['pattern']||this['defaultSerialPattern'];return this[_0x29c887(0x157)]({'resource':_0x5f4c7b[_0x29c887(0x9d)],'pattern':_0x101b2c,'ensureUnique':_0x4707a9[_0x29c887(0x1b9)](_0x5f4c7b[_0x29c887(0xcf)],![]),'ttl':_0x5f4c7b['ttl'],'maxRetry':_0x5f4c7b[_0x29c887(0x16e)],'idempotencyKey':_0x5f4c7b[_0x29c887(0xed)]});}async['code'](_0x1b36d6){const _0x44fe49=a0_0x22768f,_0x8d6f59=_0x1b36d6[_0x44fe49(0xcb)]||this[_0x44fe49(0xc9)];return this['random']({'resource':_0x1b36d6['resource'],'pattern':_0x8d6f59,'ensureUnique':_0x1b36d6['ensureUnique']!==![],'ttl':_0x1b36d6[_0x44fe49(0x1be)],'maxRetry':_0x1b36d6[_0x44fe49(0x16e)],'idempotencyKey':_0x1b36d6['idempotencyKey']});}async[a0_0x22768f(0x1ae)](_0xe754d2){const _0x2bf31e=a0_0x22768f,_0x32add4={'TLxOv':function(_0x28b82d,_0x3c07af){return _0x28b82d===_0x3c07af;},'YJBmQ':'value\x20is\x20required','NSbEm':function(_0x1c3267,_0x15c3a2){return _0x1c3267+_0x15c3a2;},'GJKru':_0x2bf31e(0xc1)};if(!this['enabled'])throw new IdGeneratorError(_0x2bf31e(0x129),'ID\x20Generator\x20is\x20disabled');this['_validateResource'](_0xe754d2['resource']);if(typeof _0xe754d2[_0x2bf31e(0x14c)]!==_0x2bf31e(0x177)||_0x32add4['TLxOv'](_0xe754d2['value'][_0x2bf31e(0x105)],0x0))throw new IdGeneratorError(_0x2bf31e(0xfa),_0x32add4[_0x2bf31e(0xe1)]);const {resource:_0x8fd47c,value:_0x2fe9f1}=_0xe754d2,_0x266eb0=redisClient['getClient'](),_0x5d4bf2=this[_0x2bf31e(0x11f)](_0x8fd47c,_0x2fe9f1),_0x448f16=this[_0x2bf31e(0xe7)](_0x8fd47c),[_0x1ad23c,_0x5682d4]=await Promise[_0x2bf31e(0xcd)]([_0x266eb0[_0x2bf31e(0x15c)](_0x5d4bf2),_0x266eb0[_0x2bf31e(0x1a8)](_0x448f16,_0x2fe9f1)]),_0x45761d=_0x32add4[_0x2bf31e(0x12a)](_0x1ad23c,_0x5682d4)>0x0;return logger[_0x2bf31e(0x143)]({'event':_0x32add4['GJKru'],'resource':_0x8fd47c,'value':_0x2fe9f1,'consumed':_0x45761d},'ID\x20Generator\x20consumed:\x20'+_0x2fe9f1),{'consumed':_0x45761d,'resource':_0x8fd47c,'value':_0x2fe9f1,'consumedAt':new Date()['toISOString']()};}async['peek'](_0x1a3bde){const _0x8e7448=a0_0x22768f,_0x2f7678={'HrQaK':_0x8e7448(0x129),'uoKml':'ID\x20Generator\x20is\x20disabled','aNoIE':'number','lybYk':'text','FUxbu':'IDGEN_INVALID_FORMAT','ymMzK':function(_0x21d43f,_0x259865,_0x43341b){return _0x21d43f(_0x259865,_0x43341b);},'Mbfnu':function(_0x33ce6d,_0x200de5){return _0x33ce6d||_0x200de5;},'Gscjd':function(_0x21ade5,_0x1a333a){return _0x21ade5===_0x1a333a;},'Nwzjm':_0x8e7448(0x157),'vfXPt':'IDGEN_INVALID_MODE'};if(!this['enabled'])throw new IdGeneratorError(_0x2f7678[_0x8e7448(0xd0)],_0x2f7678['uoKml']);this['_validateResource'](_0x1a3bde[_0x8e7448(0x9d)]);const _0x5c5d2c=_0x1a3bde[_0x8e7448(0x126)]||_0x8e7448(0x146),_0x2d5c7b=redisClient['getClient']();if(_0x5c5d2c===_0x2f7678['aNoIE']){const _0x49522f=(_0x1a3bde[_0x8e7448(0x1a3)]||_0x2f7678[_0x8e7448(0xc3)])['toLowerCase']();if(!ALLOWED_FORMATS['has'](_0x49522f))throw new IdGeneratorError(_0x2f7678['FUxbu'],'Invalid\x20format:\x20'+_0x1a3bde[_0x8e7448(0x1a3)]);const {formatKey:_0x4ec3a2}=this[_0x8e7448(0x193)](_0x49522f,_0x1a3bde['prefix']||''),_0x176cfd=this[_0x8e7448(0x178)](_0x1a3bde['resource'],_0x4ec3a2),_0x59329e=this['_buildReuseKey'](_0x1a3bde[_0x8e7448(0x9d)],_0x4ec3a2),[_0x306653,_0x2c5299]=await Promise[_0x8e7448(0xcd)]([_0x2d5c7b['get'](_0x176cfd),_0x2d5c7b[_0x8e7448(0x1a6)](_0x59329e)]);return{'resource':_0x1a3bde['resource'],'mode':_0x8e7448(0x146),'formatKey':_0x4ec3a2,'currentCounter':_0x2f7678[_0x8e7448(0xdf)](parseInt,_0x306653,0xa)||0x0,'reusePoolSize':_0x2f7678['Mbfnu'](_0x2c5299,0x0)};}if(_0x2f7678[_0x8e7448(0xea)](_0x5c5d2c,_0x8e7448(0x157))){const _0x5d3eb7=this['_buildIssuedKey'](_0x1a3bde[_0x8e7448(0x9d)]),_0x9ed49d=await _0x2d5c7b['scard'](_0x5d3eb7);return{'resource':_0x1a3bde['resource'],'mode':_0x2f7678[_0x8e7448(0x1bd)],'issuedCount':_0x9ed49d||0x0};}throw new IdGeneratorError(_0x2f7678[_0x8e7448(0x10d)],_0x8e7448(0x19a)+_0x5c5d2c);}async[a0_0x22768f(0x123)](_0x30cabc){const _0x90647a=a0_0x22768f,_0xb6d4a8={'cbgJI':function(_0x489567,_0x170d74){return _0x489567===_0x170d74;}},_0x263539=await this[_0x90647a(0x13c)](_0x30cabc);if(_0xb6d4a8['cbgJI'](_0x263539[_0x90647a(0x126)],'number')){const _0x9c7a20=redisClient[_0x90647a(0x189)](),_0x13abbe=this['_buildMetaKey'](_0x30cabc[_0x90647a(0x9d)],_0x263539[_0x90647a(0xec)]),_0x7dd08c=this[_0x90647a(0x13b)](_0x30cabc['resource'],_0x263539['formatKey']),[_0x6ee048,_0xee21cf]=await Promise['all']([_0x9c7a20['hgetall'](_0x13abbe),_0x9c7a20['zrange'](_0x7dd08c,0x0,-0x1)]);return{..._0x263539,'reusePoolValues':_0xee21cf[_0x90647a(0x121)](_0x4ec93c=>parseInt(_0x4ec93c,0xa)),'meta':_0x6ee048&&Object[_0x90647a(0xf8)](_0x6ee048)['length']>0x0?_0x6ee048:null};}return _0x263539;}async['reset'](_0x4b9189){const _0x7394a7=a0_0x22768f,_0x2b7d78={'ecyJb':'IDGEN_DISABLED','mpvxb':_0x7394a7(0x100),'zqTMz':_0x7394a7(0xa8),'Lagxq':function(_0xce0dec,_0x36318a){return _0xce0dec===_0x36318a;},'fRpcE':'number','vfMTa':'meta','CTrtq':_0x7394a7(0xeb),'Jgkcx':_0x7394a7(0xbc)};if(!this['enabled'])throw new IdGeneratorError(_0x2b7d78['ecyJb'],'ID\x20Generator\x20is\x20disabled');if(!this['allowReset'])throw new IdGeneratorError(_0x2b7d78['mpvxb'],_0x2b7d78['zqTMz']);this['_validateResource'](_0x4b9189['resource']);const _0x4e7665=_0x4b9189['mode']||'number',_0x2dafff=redisClient[_0x7394a7(0x189)]();if(_0x2b7d78[_0x7394a7(0xb5)](_0x4e7665,'number')){const _0x4c3829=(_0x4b9189['format']||_0x7394a7(0xd2))['toLowerCase']();if(!ALLOWED_FORMATS[_0x7394a7(0x113)](_0x4c3829))throw new IdGeneratorError(_0x7394a7(0x159),_0x7394a7(0x1a9)+_0x4b9189[_0x7394a7(0x1a3)]);const {formatKey:_0x268047}=this['_buildFormatKey'](_0x4c3829,_0x4b9189['prefix']||''),_0x53ff85=this[_0x7394a7(0x178)](_0x4b9189[_0x7394a7(0x9d)],_0x268047),_0x2253aa=this[_0x7394a7(0x13b)](_0x4b9189['resource'],_0x268047),_0x5b931c=this['_buildMetaKey'](_0x4b9189['resource'],_0x268047);return await _0x2dafff['del'](_0x53ff85,_0x2253aa,_0x5b931c),logger[_0x7394a7(0x103)]({'event':'idgen_reset','resource':_0x4b9189['resource'],'mode':_0x7394a7(0x146),'formatKey':_0x268047},'ID\x20Generator\x20reset:\x20'+_0x4b9189[_0x7394a7(0x9d)]+':'+_0x268047),{'reset':!![],'resource':_0x4b9189['resource'],'mode':_0x2b7d78[_0x7394a7(0xfb)],'formatKey':_0x268047,'deletedKeys':['seq','reuse',_0x2b7d78[_0x7394a7(0xaa)]]};}if(_0x2b7d78['Lagxq'](_0x4e7665,_0x7394a7(0x157))){const _0x4fa964=this[_0x7394a7(0xe7)](_0x4b9189[_0x7394a7(0x9d)]);return await _0x2dafff['del'](_0x4fa964),logger['warn']({'event':_0x2b7d78['CTrtq'],'resource':_0x4b9189['resource'],'mode':_0x7394a7(0x157)},_0x7394a7(0x17b)+_0x4b9189['resource']),{'reset':!![],'resource':_0x4b9189[_0x7394a7(0x9d)],'mode':_0x7394a7(0x157),'deletedKeys':[_0x7394a7(0xa6)]};}throw new IdGeneratorError(_0x2b7d78[_0x7394a7(0x9b)],_0x7394a7(0x19a)+_0x4e7665);}}const instance=new IdGenerator();instance['IdGeneratorError']=IdGeneratorError,module[a0_0x22768f(0x114)]=instance,module[a0_0x22768f(0x114)]['IdGeneratorError']=IdGeneratorError;
|
|
1
|
+
'use strict';const a0_0x397f95=a0_0x48f4;(function(_0x346017,_0x372c81){const _0x2be2a2=a0_0x48f4,_0x4dbe15=_0x346017();while(!![]){try{const _0xbe0ac1=parseInt(_0x2be2a2(0x2b5))/0x1+parseInt(_0x2be2a2(0x203))/0x2+-parseInt(_0x2be2a2(0x199))/0x3*(-parseInt(_0x2be2a2(0x1bd))/0x4)+-parseInt(_0x2be2a2(0x249))/0x5+-parseInt(_0x2be2a2(0x29b))/0x6+-parseInt(_0x2be2a2(0x1f9))/0x7+parseInt(_0x2be2a2(0x25c))/0x8*(-parseInt(_0x2be2a2(0x1a6))/0x9);if(_0xbe0ac1===_0x372c81)break;else _0x4dbe15['push'](_0x4dbe15['shift']());}catch(_0x53f595){_0x4dbe15['push'](_0x4dbe15['shift']());}}}(a0_0xd924,0x951c0));const crypto=require('crypto'),redisClient=require('./redis-client'),{logger}=require('./logger'),idempotencyManager=require(a0_0x397f95(0x217)),ALLOWED_FORMATS=new Set(['text',a0_0x397f95(0x1fe),a0_0x397f95(0x255),a0_0x397f95(0x234)]),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_0x397f95(0x242),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=a0_0x397f95(0x272),PLACEHOLDER_MAP={'9':CHARSET_DIGIT,'N':CHARSET_DIGIT,'A':CHARSET_UPPER,'a':CHARSET_LOWER,'L':CHARSET_LETTERS,'X':CHARSET_UPPER_ALNUM,'x':CHARSET_MIXED_ALNUM,'H':CHARSET_HEX_UPPER,'h':CHARSET_HEX_LOWER},LUA_GENERATE_NUMBER=a0_0x397f95(0x1b9),LUA_RELEASE_NUMBER=a0_0x397f95(0x1f4),LUA_RESERVE_NUMBER='\x0alocal\x20unpk\x20=\x20unpack\x20or\x20table.unpack\x0a\x0a--\x20Step\x201:\x20lazy\x20reap\x20expired\x20reservations\x20(cap\x20RESERVE_REAP_BATCH)\x0alocal\x20reaped\x20=\x200\x0alocal\x20nowMs\x20=\x20ARGV[7]\x0alocal\x20rsvPrefix\x20=\x20ARGV[8]\x0alocal\x20expired\x20=\x20redis.call(\x27ZRANGEBYSCORE\x27,\x20KEYS[3],\x20\x27-inf\x27,\x20\x27(\x27\x20..\x20nowMs,\x20\x27LIMIT\x27,\x200,\x2064)\x0afor\x20i\x20=\x201,\x20#expired\x20do\x0a\x20\x20local\x20expToken\x20=\x20expired[i]\x0a\x20\x20local\x20expRsvKey\x20=\x20rsvPrefix\x20..\x20expToken\x0a\x20\x20local\x20expCounter\x20=\x20redis.call(\x27HGET\x27,\x20expRsvKey,\x20\x27counter\x27)\x0a\x20\x20if\x20expCounter\x20then\x0a\x20\x20\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[2],\x20expCounter,\x20expCounter)\x0a\x20\x20end\x0a\x20\x20redis.call(\x27DEL\x27,\x20expRsvKey)\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[3],\x20expToken)\x0a\x20\x20reaped\x20=\x20reaped\x20+\x201\x0aend\x0a\x0a--\x20Step\x202:\x20allocate\x20counter\x20(ZPOPMIN\x20reuse\x20atau\x20INCR\x20seq)\x0alocal\x20counterInt\x0alocal\x20isReused\x20=\x200\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20r\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#r\x20>\x200\x20then\x0a\x20\x20\x20\x20counterInt\x20=\x20tonumber(r[1])\x0a\x20\x20\x20\x20isReused\x20=\x201\x0a\x20\x20end\x0aend\x0aif\x20not\x20counterInt\x20then\x0a\x20\x20counterInt\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0a\x20\x20local\x20cttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20cttl\x20>\x200\x20and\x20counterInt\x20==\x201\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20cttl)\x0a\x20\x20end\x0aend\x0a\x0a--\x20Step\x203:\x20write\x20reservation\x20hash\x20+\x20index\x20+\x20TTL\x0alocal\x20rsvKey\x20=\x20ARGV[4]\x0alocal\x20rsvTtlMs\x20=\x20tonumber(ARGV[5])\x0alocal\x20expiresAtMs\x20=\x20tonumber(ARGV[6])\x0alocal\x20nargs\x20=\x20#ARGV\x0alocal\x20fields\x20=\x20{}\x0afor\x20i\x20=\x209,\x20nargs\x20do\x0a\x20\x20fields[#fields\x20+\x201]\x20=\x20ARGV[i]\x0aend\x0aredis.call(\x27HSET\x27,\x20rsvKey,\x20\x27counter\x27,\x20counterInt,\x20\x27isReused\x27,\x20isReused,\x20unpk(fields))\x0aredis.call(\x27PEXPIRE\x27,\x20rsvKey,\x20rsvTtlMs)\x0aredis.call(\x27ZADD\x27,\x20KEYS[3],\x20expiresAtMs,\x20ARGV[3])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20math.floor(rsvTtlMs\x20/\x201000)\x20+\x2060)\x0a\x0areturn\x20{\x20counterInt,\x20isReused,\x20reaped\x20}\x0a',LUA_CONFIRM_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27,\x20\x27isReused\x27,\x20\x27createdAt\x27,\x20\x27expiresAt\x27)\x0aredis.call(\x27DEL\x27,\x20KEYS[1])\x0aredis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0areturn\x20{\x201,\x20h[1],\x20h[2],\x20h[3],\x20h[4],\x20h[5],\x20h[6]\x20}\x0a',LUA_CANCEL_RESERVATION=a0_0x397f95(0x22f),LUA_EXTEND_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27,\x20\x27isReused\x27,\x20\x27createdAt\x27)\x0alocal\x20prevExpiresAt\x20=\x20h[1]\x0alocal\x20newTtlMs\x20=\x20tonumber(ARGV[2])\x0alocal\x20newExpMs\x20=\x20tonumber(ARGV[3])\x0aredis.call(\x27PEXPIRE\x27,\x20KEYS[1],\x20newTtlMs)\x0aredis.call(\x27HSET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20ARGV[4])\x0aredis.call(\x27ZADD\x27,\x20KEYS[2],\x20newExpMs,\x20ARGV[1])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[2],\x20math.floor(newTtlMs\x20/\x201000)\x20+\x2060)\x0areturn\x20{\x201,\x20prevExpiresAt,\x20h[2],\x20h[3],\x20h[4],\x20h[5],\x20h[6]\x20}\x0a';function a0_0x48f4(_0x1e99c2,_0x3ed018){_0x1e99c2=_0x1e99c2-0x188;const _0xd9243b=a0_0xd924();let _0x48f4b5=_0xd9243b[_0x1e99c2];if(a0_0x48f4['bNVZgo']===undefined){var _0x4662f2=function(_0x2fb021){const _0x84cefc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4cc432='',_0xfb78bb='';for(let _0x59ca95=0x0,_0x1e82f3,_0x17a6be,_0x487505=0x0;_0x17a6be=_0x2fb021['charAt'](_0x487505++);~_0x17a6be&&(_0x1e82f3=_0x59ca95%0x4?_0x1e82f3*0x40+_0x17a6be:_0x17a6be,_0x59ca95++%0x4)?_0x4cc432+=String['fromCharCode'](0xff&_0x1e82f3>>(-0x2*_0x59ca95&0x6)):0x0){_0x17a6be=_0x84cefc['indexOf'](_0x17a6be);}for(let _0x1430ca=0x0,_0x104eb3=_0x4cc432['length'];_0x1430ca<_0x104eb3;_0x1430ca++){_0xfb78bb+='%'+('00'+_0x4cc432['charCodeAt'](_0x1430ca)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xfb78bb);};a0_0x48f4['LkUAvp']=_0x4662f2,a0_0x48f4['JJDJkt']={},a0_0x48f4['bNVZgo']=!![];}const _0x549cc8=_0xd9243b[0x0],_0x53cb5e=_0x1e99c2+_0x549cc8,_0x2f3ba1=a0_0x48f4['JJDJkt'][_0x53cb5e];return!_0x2f3ba1?(_0x48f4b5=a0_0x48f4['LkUAvp'](_0x48f4b5),a0_0x48f4['JJDJkt'][_0x53cb5e]=_0x48f4b5):_0x48f4b5=_0x2f3ba1,_0x48f4b5;}function a0_0xd924(){const _0x54200d=['venKAuu','AxnjBNrLz2vY','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','AwrNzw5FCMvZzxj2yxrPB25Fy29UzMLYBwvK','CMvZzxj2zurLzMf1BhruveW','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9Uigv4DgvUzgvKoIa','rMfPBgvKihrVihjLBgvHC2uGy291BNrLCIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','x3jLC2vYDMvezwzHDwX0vfrm','su96zge','CwDZu3a','y291BNrLCKLUDa','surhru5Fru5bqKXfra','y29UC3vTzq','zw52','Bwf0y2G','vwDLsfa','zgf0zvbYzwzPEa','z3rXDKW','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYKkBg9JywWGy291BNrLCIa9igHBmv0kAwyGy291BNrLCIb0AgvUcIaGCMvKAxmUy2fSBcGNwKfercCSieTfwvnBm10SignVDw50zxiSignVDw50zxiPcIaGBg9JywWGDhrSid0GDg9UDw1IzxiOqvjhvLSYxsKkicbPzIb0DgWGpIaWihrOzw4kicaGihjLzgLZlMnHBgWOj0vyueLsrsCSieTfwvnBm10Sihr0BcKkicbLBMqkzw5KcNjLzgLZlMnHBgWOj0rftcCSieTfwvnBmv0PcNjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqPYzxr1CM4GEYaXlcbJB3vUDgvYlcbOwZjDlcbOwZnDih0k','sM5VzK8','z2v0rgf0zq','Eez1EuC','A1vmuwq','ExL5Ew1Tzgq','AfzSqNC','sw52ywXPzcbWyxr0zxjUoIbTDxn0igjLihn0CMLUzYaXlq','surhru5Frevgqvvmvf9dt0rfx1bbvfrfuK4','Cg93','v21gq1i','C3rVCMvK','BNvTrgLNAxrZ','zMPAzK4','zgLNAxrZ','CMv1C2u6','AwrNzw5FAwrLBv9ZDg9Yzw54x2vYCM9Y','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vYx2nHBMnLBf9LCNjVCG','x3zHBgLKyxrLugf0DgvYBG','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvO','t015BMO','zxHWAxjL','x2j1AwXKu2vXs2v5','A2v5CW','ChjZtwu','ks4Gsw5JCMvHC2uGBNvTrgLNAxrZlG','ntiYode5me1bC1vXAq','uNDwz0K','z2v0uMvZzxj2yxrPB24','x2rLzMf1BhrtzxjPywXqyxr0zxjU','x3n0B3jLswrLBunHy2HLtLG','Bwf4uMv0CNK','AwrNzw5FBNvTyMvYx3jLC2vYDMvK','zxDJsMq','vvLdB2C','yxn2ALe','surhru5Fsu5wquXjrf9uveW','CgvLAW','ExL5Ew1T','C0P0zuW','Cgf0DgvYBG','BNvTyMvY','AwrNzw4','wvbsu2e','r0fZBKi','mtu1mLnQt1rwEq','A2v5uhjLzML4','AwrNzw5FCMvZzxj2zv9VDMvYzMXVD19JB21Wzw5ZyxrPB25FzxjYB3i','y2fUy2vSuMvZzxj2yxrPB24','y291BNrLCKLUDcbTDxn0igjLihbVC2L0AxzLigLUDgvNzxiGkgDVDdOG','D1bOrMe','A2LPDKG','sgr0veS','CMvZzxj2zu1HEfruta','x3bHzdi','D094B0e','D2fYBG','AwHAAve','surhru5Fsu5wquXjrf9trvbbuKfut1i','q1zsEwS','zw5ZDxjLvw5PCxvL','ihnLy29UzhmGkgDVDdOG','C3jrB0C','igv4y2vLzhmG','AwrNzw5FAwrLBv9OAxq','x3vWzgf0zu1LDge','C3jLBq','mdeYmZq1nJC4owfIy2rLzG','EejAvhi','BwvZC2fNzq','x2LKzw1uveW','Aw5MBW','twLRzxO','CMfUzg9Tvvvjra','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','zgvMyxvSDfbPBKrPz2L0CW','y29Kzq','x2rLzMf1BhrdB2rLugf0DgvYBG','sw52ywXPzcbWCMvMAxG6ig11C3qGBwf0y2GG','surhru5Fsu5wquXjrf9srvnpvvjdrq','Dw5lseO','sw52ywXPzcbYzxnLCNzHDgLVBIb0DgW6ig11C3qGyMuGAw50zwDLCIa','uMrJB0i','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignHBMnLBgXLzdOG','CgfYC2u','EgzqsxG','suqGr2vUzxjHDg9YihjLC2v0oIa','sw52ywXPzcbPzgvTCg90zw5JEuTLEtOGBxvZDcbIzsbZDhjPBMCGms0','CMvSzwfZzu51BwjLCG','x2j1AwXKrM9YBwf0s2v5','CMvZzxj2zv9LEhrLBMq','C3rYAw5N','AuzgD0m','AwrNzw5FCMfUzg9Tx2DLBMvYyxrLza','CMvZB3vYy2u','DgjIrfO','vw5RBM93BIbTB2rLoIa','y291BNrLCG','z2v0','DuvKC0y','vvrlwgC','CNn2s2v5','tLHKufy','surhru5Fsu5wquXjrf9ovu1FreLhsvrt','CMv1C2u','x2j1AwXKtwv0yuTLEq','Dg9Rzw4','z2v0rNvSBfLLyxi','odC1ndG0t0LPvNbf','igf0DgvTChrZlIbjBMnYzwfZzsbWyxr0zxjUigXLBMD0AcbVCIbTyxHszxrYEs4','C2fKza','uMfUzg9TihjLC2vYDMf0Aw9UihvUzg8GzxjYB3iGkg9YCgHHBIbZBg90ig1HEsbYzw1HAw4P','DKHxAeq','DMfSDwu','AxnszxvZzwq','AwTAuLO','sLfAvuq','rKzTA1a','ChjLzML4','surhru5Frevgqvvmvf9nqvHFuKvuuLK','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','CMfUzg9T','x2DLBMvYyxrLrNjVBvbHDhrLCM4','icHNB3q6ia','zxHWB3j0CW','x2j1AwXKqwn0AxzLs2v5','D3n6CNu','CgLZzfG','swrhzw5LCMf0B3jfCNjVCG','surhru5Fsu5wquXjrf9nt0rf','CLfjr1m','zLLcvwS','ueXcAMC','t3nnEhO','odiZmZK0B0jjquLx','surhru5Fq09vtLrfuL9uveXFtu9oveHmwq','C2v0','AwrNzw5FAwrLBv9YzxrYAwv2zv9LCNjVCG','x2j1AwXKswrLBuTLEq','CwLUsve','z3jzBei','suqGr2vUzxjHDg9YihjHBMrVBsbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','x3zHBgLKyxrLuMvZzxj2zvruta','x2j1AwXKuMv1C2vlzxK','zM9YBwf0','x3jLDhjPzxzLswrLBunHy2HL','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','x3vUzg9syw5KB21szxnLCNzHDgLVBG','x2rLzMf1BhrnyxHszxrYEq','vfPyrLq','Dfj6Bw0','v1HuBuu','rLbKwgu','BgvUz3rO','ntmZmvLXCxbOsW','BwfW','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','CgLU','AhnLDa','A3bXqLe','z2v0q2XPzw50','x3zHBgLKyxrLvfrm','AwrNzw5FAwrLBv9ZDg9Yzv9LCNjVCG','AuTlC1i','DgvZDa','zw5HyMXLza','z2v0tw9UDgG','mJq5mZLxtgvlBum','swrLBxbVDgvUy3KGu0vuie5yigvYCM9Y','CgfKu3rHCNq','z2vUzxjHDgvKqxq','ywXS','zwvuz0O','Dg9ju09tDhjPBMC','CMvZzxj2zv9JB25MAxjT','x2LUAxrPywXPEMvK','surhru5Fsu5wquXjrf9qqvrurvjo','lcbNB3qG','q291BgqGBM90igDLBMvYyxrLihvUAxf1zsb2ywX1zsbHzNrLCIa','ENn4seK','uffWy0y','sw52ywXPzcbZzxbHCMf0B3i6ig1HEcaZignOyxiSig11C3qGBM90ignVBNrHAw4GjZONicHNB3q6ia','DMfSDwuGAxmGCMvXDwLYzwq','sw52ywXPzcbMB3jTyxq6ia','x2vUywjSzwq','tvPbyvy','cMLMiefsr1zBmv0Gpt0GjZeNihrOzw4kicbSB2nHBcbYzxvZzwqGpsbYzwrPCY5JywXSkcDAue9qtuLojYWGs0vzu1SYxsWGmsKkicbPzIaJCMv1C2vKid4Gmcb0AgvUcIaGicbYzxr1CM4GE3rVBNvTyMvYkhjLDxnLzfSXxsKSidf9cIaGzw5KcMvUzaPSB2nHBcbUid0GCMvKAxmUy2fSBcGNsu5duICSieTfwvnBmv0PcMXVy2fSihr0Bca9ihrVBNvTyMvYkefsr1zBmL0PcMLMihr0Bca+idaGyw5Kig4Gpt0Gmsb0AgvUcIaGCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SXxsWGDhrSkqPLBMqkCMv0DxjUihTUlcaWFqO','AgDLDgfSBa','suqGr2vUzxjHDg9Yig51BwjLCIbYzwXLyxnLzdOG','Bwv0ytO','mtK1mMzrELbzvG','surhru5FreLtqujmruq','x3zHBgLKyxrLtwf4uMv0CNK','surhru5FuKvtrvrFtK9ux0fmte9xruq','yNvPBgrezxrLCM1PBMLZDgLJs2v5','C3rYAw5NAwz5','x2rLzMf1BhrqAw5eAwDPDhm','zgT1v1a','DM9yBuy','ChvZAa','uMvZzxqGB3bLCMf0Aw9Uig5VDcbHBgXVD2vKicHZzxqGsurhru5FquXmt1DFuKvtrvq9Dhj1zsb0BYbLBMfIBguP','zgvS','CMvSzwfZzwrbDa','Bw9Kzq','surhru5Frevgqvvmvf9qsu5FreLhsvrt','x2zVCM1HDe51BwjLCG','surhru5Fsu5wquXjrf9ovu1crvi','CNn2x2LKEdO','r2r5CMC','AwrNzw5FBwv0yv91CgrHDgvFzxjYB3i','tgfssvm','igrPz2L0CYaOz290oIa','swrLBxbVDgvUy3KGCMv0CMLLDMuGzxjYB3i','zxzHBa','Dhj1zq','AgfZ','AwrLBuTLEq','tvztyuu','lwrPz2L0ignHCgfJAxr5icG','surhru5Fsu5wquXjrf9gt1jnqvq','u2fWwhe','tM1fvxu','zeXIuwm','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignVBMzPCM1LzdOG','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','x3bHCNnLtNvTyMvY','x2vUC3vYzuLUAxrPywXPEMvK','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','zg9AA1a','AwrLBxbVDgvUy3LlzxK','AxnfBMfIBgvK','x3jLC2vYDMvnyxHuveW','qvDYvKW','ter2vMS','icH0B2TLBJ0','y1vLy28','B1Hts1e','swrLBxbVDgvUy3KGy2fJAguGseLu','rhbAvfO','D2LUBMvYuMvZDwX0','zM9YBwf0s2v5igLZihjLCxvPCMvKigLUigXVDY1SzxzLBcbYzwXLyxnL','AxnZDwvK','BM93','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','x2j1AwXKuMvZzxj2yxrPB25lzxK','cNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZfDlcbbuKDwwZfDlcbbuKDwwZfDkqPSB2nHBcb0DgWGpsb0B251BwjLCIHbuKDwwZjDkqPPzIb0DgWGpIaWihrOzw4kicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcb0DgWPcMvUzaPYzxr1CM4GmqO','surhru5Fsu5wquXjrf9ut0TftG','tMTfBve','q1LKwKW','tNvTyMvYihbYzwzPEcbTAxnTyxrJAdOGzxHWzwn0zwqG','mZu0ntC4mgndy0v0CW','x3rLEhq','uhrczum','CNn2oG','zM9YBwf0s2v5','ExL5Eq','zxHWAxjLC0f0','rw9cBfq','x2j1AwXKsxnZDwvKs2v5','Dgv4Da','mJmXmty5nNrjwhnuDa','Dg9mB3DLCKnHC2u','t0TSvMq','x2fSBg93uMvZzxq','x2DLDenVDw50zxjuveW','x3zHBgLKyxrLuMvZB3vYy2u','CNn2swr4s2v5','qu1UsLi','A3vMAum','CMvZzxj2zq','zgvMyxvSDfnLCMLHBfbHDhrLCM4','surhru5Fvu5juvvfx1jfvfjzx0vysefvu1rfra','C2vWyxjHDg9Y','A0Tbr1y','DhrS','AwrNzw5FCMvZzxj2yxrPB25FzxH0zw5Kzwq','y3jLyxrLzef0','rLLKu2y','vxvAEvm','sK5kwLG','lI9PzgvTCg90zw5JEs1Tyw5Hz2vY','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','surhru5Fq09vtLrfuL9pvKvsrKXpvW','x3L5ExLTBv8','tNvTyMvYigrHDgvqCMvMAxGGAw52ywXPzcbMB3iGzM9YBwf0ia','zgvMyxvSDenVzgvqyxr0zxjU'];a0_0xd924=function(){return _0x54200d;};return a0_0xd924();}class IdGeneratorError extends Error{constructor(_0x4e78b3,_0x309ea6,_0x1cb1a6=null){const _0x44c712=a0_0x397f95,_0x28ff19={'jeVKo':function(_0x3acb80,_0x2def4e){return _0x3acb80||_0x2def4e;},'PQpcF':_0x44c712(0x2af)};super(_0x28ff19['jeVKo'](_0x309ea6,_0x4e78b3)),this['name']=_0x28ff19[_0x44c712(0x1b3)],this[_0x44c712(0x27b)]=_0x4e78b3,this['details']=_0x1cb1a6;}}class IdGenerator{constructor(){const _0x33c2a5=a0_0x397f95;this[_0x33c2a5(0x1ae)]=![],this['_enabled']=null,this['_keyPrefix']=null,this[_0x33c2a5(0x275)]=null,this[_0x33c2a5(0x206)]=null,this[_0x33c2a5(0x193)]=null,this['_defaultPinDigits']=null,this['_defaultSerialPattern']=null,this[_0x33c2a5(0x27c)]=null,this['_counterTTLMap']=null,this[_0x33c2a5(0x224)]=null,this['_reserveMaxTTL']=null;}['_initConfig'](){const _0x326ad0=a0_0x397f95,_0x17b442={'LaRIS':function(_0x3d9c84,_0x5cde29){return _0x3d9c84===_0x5cde29;},'RwVgI':function(_0x2434e9,_0x422a4b,_0x16f1ae){return _0x2434e9(_0x422a4b,_0x16f1ae);},'FGPjQ':'XXXX-XXXX-XXXX-XXXX','CBekJ':function(_0x14bc76,_0x2e7540,_0x3f3c7a){return _0x14bc76(_0x2e7540,_0x3f3c7a);}};this['_keyPrefix']='rf:idgen:',this[_0x326ad0(0x1b7)]=_0x17b442[_0x326ad0(0x1d1)](process['env'][_0x326ad0(0x228)],'true'),this[_0x326ad0(0x275)]=parseInt(process[_0x326ad0(0x22a)]['IDGEN_IDEM_TTL'],0xa)||0x258,this[_0x326ad0(0x206)]=process[_0x326ad0(0x22a)]['IDGEN_ALLOW_RESET']===_0x326ad0(0x1d5),this[_0x326ad0(0x193)]=_0x17b442[_0x326ad0(0x24a)](parseInt,process[_0x326ad0(0x22a)][_0x326ad0(0x2a6)],0xa)||0xa,this[_0x326ad0(0x1c3)]=parseInt(process[_0x326ad0(0x22a)][_0x326ad0(0x1cb)],0xa)||0x6,this[_0x326ad0(0x24c)]=process[_0x326ad0(0x22a)]['IDGEN_DEFAULT_SERIAL_PATTERN']||_0x17b442['FGPjQ'],this[_0x326ad0(0x27c)]=process[_0x326ad0(0x22a)][_0x326ad0(0x237)]||'9999-9999',this['_counterTTLMap']={'yyyymm':_0x17b442['CBekJ'](parseInt,process['env'][_0x326ad0(0x2b6)],0xa)||0x2a3000,'yyyymmdd':parseInt(process[_0x326ad0(0x22a)]['IDGEN_COUNTER_TTL_DAILY'],0xa)||0x2a300},this[_0x326ad0(0x224)]=parseInt(process[_0x326ad0(0x22a)]['IDGEN_RESERVE_DEFAULT_TTL'],0xa)||DEFAULT_RESERVE_TTL,this['_reserveMaxTTL']=parseInt(process[_0x326ad0(0x22a)]['IDGEN_RESERVE_MAX_TTL'],0xa)||MAX_RESERVE_TTL,this['_initialized']=!![],logger[_0x326ad0(0x276)]({'event':'idgen_config_init','enabled':this[_0x326ad0(0x1b7)],'idemTTL':this[_0x326ad0(0x275)],'allowReset':this['_allowReset'],'defaultMaxRetry':this[_0x326ad0(0x193)],'defaultPinDigits':this['_defaultPinDigits'],'reserveDefaultTTL':this[_0x326ad0(0x224)],'reserveMaxTTL':this['_reserveMaxTTL']},'ID\x20Generator\x20config\x20initialized\x20-\x20enabled:\x20'+this[_0x326ad0(0x1b7)]);}['_ensureInitialized'](){if(!this['_initialized'])this['_initConfig']();}get[a0_0x397f95(0x1a4)](){const _0x12b62f=a0_0x397f95;return this['_ensureInitialized'](),this[_0x12b62f(0x1b7)];}get[a0_0x397f95(0x25d)](){return this['_ensureInitialized'](),this['_keyPrefix'];}get['idemTTL'](){const _0x3a01c8=a0_0x397f95;return this[_0x3a01c8(0x1e1)](),this[_0x3a01c8(0x275)];}get['allowReset'](){const _0x5749bb=a0_0x397f95;return this['_ensureInitialized'](),this[_0x5749bb(0x206)];}get['defaultMaxRetry'](){const _0x1c29ca=a0_0x397f95;return this['_ensureInitialized'](),this[_0x1c29ca(0x193)];}get[a0_0x397f95(0x27a)](){const _0x4e6207=a0_0x397f95;return this[_0x4e6207(0x1e1)](),this['_defaultPinDigits'];}get['defaultSerialPattern'](){const _0x566e12=a0_0x397f95;return this['_ensureInitialized'](),this[_0x566e12(0x24c)];}get[a0_0x397f95(0x21c)](){const _0x2b5082=a0_0x397f95;return this['_ensureInitialized'](),this[_0x2b5082(0x27c)];}get[a0_0x397f95(0x221)](){return this['_ensureInitialized'](),this['_reserveDefaultTTL'];}get['reserveMaxTTL'](){const _0x47ef03=a0_0x397f95;return this[_0x47ef03(0x1e1)](),this[_0x47ef03(0x1e6)];}[a0_0x397f95(0x1e5)](){return this['enabled'];}['_validateResource'](_0x32a572){const _0x953846=a0_0x397f95,_0xc7d424={'ImXrF':function(_0x12f823,_0x257376){return _0x12f823!==_0x257376;},'lAQEu':_0x953846(0x28a),'NmEUu':_0x953846(0x27e)};if(_0xc7d424['ImXrF'](typeof _0x32a572,_0xc7d424['lAQEu'])||!RESOURCE_REGEX['test'](_0x32a572))throw new IdGeneratorError(_0xc7d424[_0x953846(0x1dc)],'Invalid\x20resource:\x20must\x20match\x20'+RESOURCE_REGEX+'\x20(got:\x20'+JSON[_0x953846(0x1c2)](_0x32a572)+')');}['_validateNumberParams'](_0x4b7b2d){const _0x581001=a0_0x397f95,_0x27d57f={'NXdPV':function(_0x4ea982,_0x47a9ba){return _0x4ea982===_0x47a9ba;},'qgsSp':function(_0x1fe81a,_0x4e3516){return _0x1fe81a==_0x4e3516;},'cjiAW':function(_0x526f85,_0x398016){return _0x526f85!==_0x398016;},'hVlBw':_0x581001(0x28a),'cTpYT':function(_0x3abb23,_0x48216f){return _0x3abb23!=_0x48216f;},'kKAGV':_0x581001(0x27e)},{resource:_0x8c3004,format:_0x282327,prefix:_0x1393b9,separator:_0x51d292,numDigits:_0x4b112,reuseDelete:_0x459775}=_0x4b7b2d;this['_validateResource'](_0x8c3004);const _0x8489ef=_0x27d57f[_0x581001(0x295)](typeof _0x282327,'string')?_0x282327[_0x581001(0x204)]():'';if(!ALLOWED_FORMATS['has'](_0x8489ef))throw new IdGeneratorError('IDGEN_INVALID_FORMAT','Invalid\x20format:\x20must\x20be\x20one\x20of\x20'+[...ALLOWED_FORMATS]['join'](',\x20')+_0x581001(0x2aa)+_0x282327+')');if(!Number['isInteger'](_0x4b112)||_0x4b112<MIN_NUM_DIGITS||_0x4b112>MAX_NUM_DIGITS)throw new IdGeneratorError(_0x581001(0x296),'Invalid\x20numDigits:\x20must\x20be\x20integer\x20'+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+'\x20(got:\x20'+_0x4b112+')');const _0x5c068d=_0x27d57f[_0x581001(0x226)](_0x1393b9,null)?'':_0x1393b9;if(_0x27d57f['cjiAW'](typeof _0x5c068d,'string')||!PREFIX_REGEX[_0x581001(0x1a3)](_0x5c068d))throw new IdGeneratorError('IDGEN_INVALID_PREFIX',_0x581001(0x27d)+PREFIX_REGEX+'\x20(got:\x20'+JSON['stringify'](_0x1393b9)+')');const _0x54081d=_0x51d292==null?'':_0x51d292;if(typeof _0x54081d!==_0x27d57f[_0x581001(0x235)]||_0x54081d['length']>0x3||SEPARATOR_FORBIDDEN[_0x581001(0x1a3)](_0x54081d))throw new IdGeneratorError(_0x581001(0x269),_0x581001(0x1b4)+JSON['stringify'](_0x51d292)+')');if(_0x27d57f['cTpYT'](_0x459775,null)&&typeof _0x459775!=='boolean')throw new IdGeneratorError(_0x27d57f[_0x581001(0x210)],'Invalid\x20reuseDelete:\x20must\x20be\x20boolean\x20(got:\x20'+typeof _0x459775+')');return{'resource':_0x8c3004,'format':_0x8489ef,'prefix':_0x5c068d,'separator':_0x54081d,'numDigits':_0x4b112,'reuseDelete':_0x27d57f['NXdPV'](_0x459775,!![])};}[a0_0x397f95(0x241)](_0x3467d1){const _0x28f188=a0_0x397f95,_0x57746b={'tRzmm':_0x28f188(0x28a)};if(typeof _0x3467d1!==_0x57746b[_0x28f188(0x195)]||_0x3467d1[_0x28f188(0x198)]===0x0||_0x3467d1['length']>MAX_PATTERN_LENGTH)throw new IdGeneratorError('IDGEN_INVALID_PATTERN',_0x28f188(0x236)+MAX_PATTERN_LENGTH+'\x20chars\x20(got\x20length:\x20'+(_0x3467d1&&_0x3467d1['length'])+')');let _0x4ac268=![];for(const _0x1fc7c1 of _0x3467d1){if(PLACEHOLDER_MAP[_0x1fc7c1]){_0x4ac268=!![];break;}}if(!_0x4ac268)throw new IdGeneratorError(_0x28f188(0x1af),'Invalid\x20pattern:\x20must\x20contain\x20at\x20least\x20one\x20placeholder\x20character\x20(9/N/A/a/L/X/x/H/h)');}[a0_0x397f95(0x1a0)](_0x593995){const _0x42c834=a0_0x397f95,_0x100d13={'WmFCR':_0x42c834(0x253)};if(_0x593995==null)return undefined;if(!Number[_0x42c834(0x21e)](_0x593995)||_0x593995<0x1||_0x593995>MAX_TTL)throw new IdGeneratorError(_0x100d13[_0x42c834(0x239)],'Invalid\x20ttl:\x20must\x20be\x20integer\x201-'+MAX_TTL+_0x42c834(0x26c)+_0x593995+')');return _0x593995;}[a0_0x397f95(0x1bf)](_0x5674ce){const _0x481072=a0_0x397f95,_0x252e31={'JZgsE':function(_0x131bd5,_0x1ad196){return _0x131bd5<_0x1ad196;}};if(_0x5674ce==null)return this['defaultMaxRetry'];if(!Number[_0x481072(0x21e)](_0x5674ce)||_0x252e31['JZgsE'](_0x5674ce,0x1)||_0x5674ce>MAX_RETRY_LIMIT)throw new IdGeneratorError('IDGEN_INVALID_MAX_RETRY','Invalid\x20maxRetry:\x20must\x20be\x20integer\x201-'+MAX_RETRY_LIMIT+_0x481072(0x2aa)+_0x5674ce+')');return _0x5674ce;}['_validateIdempotencyKey'](_0x5b5a6f){const _0x18ef2d=a0_0x397f95,_0x3983f2={'qSaqK':function(_0xdd677f,_0x27cccf){return _0xdd677f==_0x27cccf;},'RdcoB':function(_0x4025e8,_0x540d2c){return _0x4025e8!==_0x540d2c;},'iFFwC':'string','xFuyG':_0x18ef2d(0x27e)};if(_0x3983f2['qSaqK'](_0x5b5a6f,null))return undefined;if(_0x3983f2[_0x18ef2d(0x281)](typeof _0x5b5a6f,_0x3983f2[_0x18ef2d(0x28b)])||_0x5b5a6f[_0x18ef2d(0x198)]===0x0||_0x5b5a6f['length']>MAX_IDEMPOTENCY_KEY_LENGTH)throw new IdGeneratorError(_0x3983f2[_0x18ef2d(0x232)],_0x18ef2d(0x286)+MAX_IDEMPOTENCY_KEY_LENGTH+'\x20chars');return _0x5b5a6f;}[a0_0x397f95(0x18d)](_0xf6caea){const _0x19a110=a0_0x397f95;if(_0xf6caea==null)return this['reserveDefaultTTL'];if(!Number[_0x19a110(0x21e)](_0xf6caea)||_0xf6caea<MIN_RESERVE_TTL||_0xf6caea>this['reserveMaxTTL'])throw new IdGeneratorError('IDGEN_INVALID_RESERVE_TTL',_0x19a110(0x280)+MIN_RESERVE_TTL+'-'+this[_0x19a110(0x264)]+_0x19a110(0x26c)+_0xf6caea+')');return _0xf6caea;}[a0_0x397f95(0x1df)](_0x2f4256){const _0x1d267=a0_0x397f95,_0x2488ac={'LwNQK':function(_0x31793e,_0x4e2edc){return _0x31793e!==_0x4e2edc;}};if(_0x2488ac['LwNQK'](typeof _0x2f4256,'string')||!RESERVATION_TOKEN_REGEX[_0x1d267(0x1a3)](_0x2f4256))throw new IdGeneratorError(_0x1d267(0x1f5),'Invalid\x20reservation\x20token:\x20must\x20be\x20a\x20valid\x20UUID\x20format\x20(got:\x20'+JSON['stringify'](_0x2f4256)+')');return _0x2f4256;}['_pad2'](_0x916739){const _0xfcb361=a0_0x397f95;return String(_0x916739)[_0xfcb361(0x1a8)](0x2,'0');}[a0_0x397f95(0x288)](_0x28dea0,_0x485cd,_0x1cf9dc=new Date()){const _0x4f1006=a0_0x397f95,_0x3eff19={'qinIQ':function(_0x57d0bb,_0x4dec63){return _0x57d0bb+_0x4dec63;},'JNJZX':function(_0x4938d9,_0x1bf595){return _0x4938d9||_0x1bf595;},'KqQok':_0x4f1006(0x202),'AlGlX':'yyyy','prsMe':'yyyymm','sJteL':_0x4f1006(0x234),'FJOse':_0x4f1006(0x1da)},_0x53d131=_0x1cf9dc[_0x4f1006(0x29a)](),_0x36ed20=this[_0x4f1006(0x265)](_0x3eff19[_0x4f1006(0x18a)](_0x1cf9dc[_0x4f1006(0x1a5)](),0x1)),_0x1e54c0=this[_0x4f1006(0x265)](_0x1cf9dc[_0x4f1006(0x231)]()),_0xf840e5=_0x3eff19[_0x4f1006(0x216)](_0x485cd,'_');let _0x382f28,_0x4c09f0='';switch(_0x28dea0){case _0x3eff19['KqQok']:_0x382f28=_0xf840e5+_0x4f1006(0x1fa);break;case _0x3eff19['AlGlX']:_0x4c09f0=''+_0x53d131,_0x382f28=_0xf840e5+'_yyyy_'+_0x4c09f0;break;case _0x3eff19[_0x4f1006(0x247)]:_0x4c09f0=''+_0x53d131+_0x36ed20,_0x382f28=_0xf840e5+_0x4f1006(0x21a)+_0x4c09f0;break;case _0x3eff19[_0x4f1006(0x256)]:_0x4c09f0=''+_0x53d131+_0x36ed20+_0x1e54c0,_0x382f28=_0xf840e5+'_yyyymmdd_'+_0x4c09f0;break;default:throw new IdGeneratorError(_0x3eff19['FJOse'],'Unknown\x20format:\x20'+_0x28dea0);}return{'formatKey':_0x382f28,'datePrefix':_0x4c09f0};}['_buildSeqKey'](_0x1e3819,_0x1bd444){const _0xaf8477=a0_0x397f95;return this[_0xaf8477(0x25d)]+'seq:'+_0x1e3819+':'+_0x1bd444;}['_buildReuseKey'](_0x2829b4,_0x54b3ff){const _0x44630d=a0_0x397f95;return this[_0x44630d(0x25d)]+_0x44630d(0x23e)+_0x2829b4+':'+_0x54b3ff;}[a0_0x397f95(0x298)](_0xe63471,_0x278c0e){const _0x523fc7=a0_0x397f95;return this[_0x523fc7(0x25d)]+_0x523fc7(0x1bc)+_0xe63471+':'+_0x278c0e;}[a0_0x397f95(0x201)](_0x2e1a0f){const _0x85167a=a0_0x397f95;return this[_0x85167a(0x25d)]+'issued:'+_0x2e1a0f;}[a0_0x397f95(0x2ac)](_0x1344f3,_0x25efc3){const _0x5857ce=a0_0x397f95;return this[_0x5857ce(0x25d)]+'active:'+_0x1344f3+':'+_0x25efc3;}['_buildReservationKey'](_0x164481){const _0x3bce51=a0_0x397f95;return this['keyPrefix']+_0x3bce51(0x1fc)+_0x164481;}['_buildReservationIndexKey'](_0x5906fb,_0x37da29){const _0x238314=a0_0x397f95;return this['keyPrefix']+_0x238314(0x1ce)+_0x5906fb+':'+_0x37da29;}['_buildReservationKeyPrefix'](){const _0x26d53f=a0_0x397f95;return this[_0x26d53f(0x25d)]+'rsv:';}[a0_0x397f95(0x189)](_0x597850,_0x278be3,_0x56db8f,_0x2e68d5){const _0x372a13=a0_0x397f95,_0x55b74a={'DpZTZ':'idgen'};if(_0x56db8f)return idempotencyManager[_0x372a13(0x1c1)](_0x55b74a[_0x372a13(0x1ed)],_0x597850,_0x278be3+':'+_0x56db8f+':'+_0x2e68d5);return idempotencyManager['buildDeterministicKey']('idgen',_0x597850,_0x278be3+':'+_0x2e68d5);}[a0_0x397f95(0x207)](_0x18c533){return this['_counterTTLMap'][_0x18c533]||0x0;}[a0_0x397f95(0x1cc)]({format:_0x3b8ec8,prefix:_0x1a59ed,datePrefix:_0x189f2e,separator:_0x539b9a,numDigits:_0x57faeb,counterInt:_0x16115b}){const _0x4d45b7=a0_0x397f95,_0x54041f={'wPhFa':function(_0x34b3ae,_0x9fb6af){return _0x34b3ae(_0x9fb6af);},'UgeHP':_0x4d45b7(0x202)},_0x2a7976=Math[_0x4d45b7(0x238)](0xa,_0x57faeb)-0x1;if(_0x16115b>_0x2a7976)throw new IdGeneratorError(_0x4d45b7(0x219),'Counter\x20overflow:\x20'+_0x16115b+_0x4d45b7(0x26e)+_0x57faeb+_0x4d45b7(0x1d9)+_0x2a7976+_0x4d45b7(0x248),{'counterInt':_0x16115b,'numDigits':_0x57faeb,'max':_0x2a7976});const _0x991a39=_0x54041f[_0x4d45b7(0x261)](String,_0x16115b)[_0x4d45b7(0x1a8)](_0x57faeb,'0');if(_0x3b8ec8===_0x54041f[_0x4d45b7(0x22c)])return _0x1a59ed?''+_0x1a59ed+_0x539b9a+_0x991a39:_0x991a39;return _0x1a59ed?''+_0x1a59ed+_0x539b9a+_0x189f2e+_0x539b9a+_0x991a39:''+_0x189f2e+_0x539b9a+_0x991a39;}['_parseNumber']({format:_0x2b70bb,prefix:_0x488482,separator:_0x59e3a3,numDigits:_0x12380a,number:_0x57c2e2}){const _0x37874b=a0_0x397f95,_0x55b22b={'OMynj':function(_0x234220,_0x38d848){return _0x234220!==_0x38d848;},'EoBlT':_0x37874b(0x1cd),'srQoG':function(_0x3fe71a,_0x318082){return _0x3fe71a||_0x318082;},'CVRyk':function(_0xa371c2,_0x4050d5){return _0xa371c2===_0x4050d5;},'UuZyS':_0x37874b(0x202),'tbbDZ':function(_0xaa3a38,_0x2dcd4b){return _0xaa3a38!==_0x2dcd4b;},'TSBKP':function(_0x5cd941,_0x22603a){return _0x5cd941===_0x22603a;},'svUAc':'yyyymm','CYdZL':function(_0x1ec7e1,_0x8a7b8c,_0x3cc422){return _0x1ec7e1(_0x8a7b8c,_0x3cc422);}};if(_0x55b22b[_0x37874b(0x243)](typeof _0x57c2e2,_0x37874b(0x28a))||_0x57c2e2[_0x37874b(0x198)]===0x0)throw new IdGeneratorError(_0x55b22b[_0x37874b(0x200)],'Invalid\x20number:\x20must\x20be\x20non-empty\x20string');const _0x3eb69c=_0x55b22b[_0x37874b(0x26d)](_0x59e3a3,''),_0xd94659=_0x55b22b[_0x37874b(0x26a)](_0x3eb69c,'')?[_0x57c2e2]:_0x57c2e2['split'](_0x3eb69c);let _0x374214='',_0x46e587;if(_0x2b70bb===_0x55b22b[_0x37874b(0x215)]){if(_0x488482){if(_0xd94659['length']!==0x2||_0xd94659[0x0]!==_0x488482)throw new IdGeneratorError(_0x55b22b[_0x37874b(0x200)],'Number\x20does\x20not\x20match\x20expected\x20format\x20prefix'+_0x3eb69c+'padded\x20(got:\x20'+_0x57c2e2+')');_0x46e587=_0xd94659[0x1];}else{if(_0xd94659[_0x37874b(0x198)]!==0x1)throw new IdGeneratorError(_0x37874b(0x1cd),'Number\x20does\x20not\x20match\x20expected\x20text\x20format\x20(got:\x20'+_0x57c2e2+')');_0x46e587=_0xd94659[0x0];}}else{const _0x4329f3=_0x488482?0x3:0x2;if(_0xd94659[_0x37874b(0x198)]!==_0x4329f3)throw new IdGeneratorError('IDGEN_INVALID_NUMBER','Number\x20does\x20not\x20match\x20expected\x20format\x20(got:\x20'+_0x57c2e2+',\x20expected\x20'+_0x4329f3+'\x20parts)');let _0xb39216=0x0;if(_0x488482){if(_0x55b22b[_0x37874b(0x28e)](_0xd94659[_0xb39216],_0x488482))throw new IdGeneratorError(_0x37874b(0x1cd),_0x37874b(0x1f8)+_0x488482+_0x37874b(0x1b0)+_0xd94659[_0xb39216]);_0xb39216++;}_0x374214=_0xd94659[_0xb39216++];const _0x2643ef=_0x2b70bb==='yyyy'?/^\d{4}$/:_0x55b22b['TSBKP'](_0x2b70bb,_0x55b22b['svUAc'])?/^\d{6}$/:/^\d{8}$/;if(!_0x2643ef[_0x37874b(0x1a3)](_0x374214))throw new IdGeneratorError(_0x55b22b[_0x37874b(0x200)],_0x37874b(0x21b)+_0x2b70bb+':\x20'+_0x374214);_0x46e587=_0xd94659[_0xb39216];}if(!new RegExp('^\x5cd{'+_0x12380a+'}$')[_0x37874b(0x1a3)](_0x46e587))throw new IdGeneratorError(_0x55b22b[_0x37874b(0x200)],'Number\x20counter\x20part\x20must\x20be\x20exactly\x20'+_0x12380a+_0x37874b(0x1d2)+_0x46e587+')');const _0x234a9c=_0x55b22b[_0x37874b(0x1f7)](parseInt,_0x46e587,0xa),_0x27a36c=_0x488482||'_';let _0x27b426;return _0x2b70bb===_0x55b22b[_0x37874b(0x215)]?_0x27b426=_0x27a36c+'_text':_0x27b426=_0x27a36c+'_'+_0x2b70bb+'_'+_0x374214,{'formatKey':_0x27b426,'counterInt':_0x234a9c,'datePrefix':_0x374214};}[a0_0x397f95(0x2a9)](_0x573eb6){const _0x45e288=a0_0x397f95;let _0x30338d='';for(const _0x15419d of _0x573eb6){const _0x6e1c2a=PLACEHOLDER_MAP[_0x15419d];if(_0x6e1c2a){const _0x5eb1e4=crypto['randomInt'](0x0,_0x6e1c2a[_0x45e288(0x198)]);_0x30338d+=_0x6e1c2a[_0x5eb1e4];}else _0x30338d+=_0x15419d;}return _0x30338d;}async[a0_0x397f95(0x190)](_0x449382){const _0x261e30=a0_0x397f95,_0x26c539={'YpdRR':_0x261e30(0x26f),'dkuWP':_0x261e30(0x1ec),'wOxoA':_0x261e30(0x1d3)};if(!_0x449382)return null;try{const _0x1c2d02=redisClient['getClient'](),_0x15e273=await _0x1c2d02['get'](_0x449382);if(_0x15e273)return logger['info']({'event':_0x26c539['YpdRR'],'key':_0x449382},_0x26c539[_0x261e30(0x1c4)]),JSON[_0x261e30(0x283)](_0x15e273);return null;}catch(_0x4c5176){return logger[_0x261e30(0x267)]({'event':_0x261e30(0x188),'error':_0x4c5176[_0x261e30(0x274)]},_0x26c539[_0x261e30(0x266)]),null;}}async['_storeIdemCache'](_0xe972bd,_0x5cd33f){const _0x16eb39=a0_0x397f95;if(!_0xe972bd)return;try{const _0x302035=redisClient[_0x16eb39(0x19f)]();await _0x302035['setex'](_0xe972bd,this['idemTTL'],JSON[_0x16eb39(0x1c2)](_0x5cd33f));}catch(_0x50bcbd){logger['warn']({'event':_0x16eb39(0x1a1),'error':_0x50bcbd['message']},'Idempotency\x20store\x20error');}}async[a0_0x397f95(0x24d)](_0x920a25,_0xf8b3aa){const _0x19d5e6=a0_0x397f95,_0x76b434={'grYlB':'idgen_idem_nx_race_lost_but_empty','osKVH':'SET\x20NX\x20failed\x20but\x20cache\x20GET\x20returned\x20empty\x20—\x20falling\x20back\x20to\x20own\x20result','cUeco':_0x19d5e6(0x23f),'MkWwe':_0x19d5e6(0x1a7)};if(!_0x920a25)return{'stored':!![],'winnerResult':null};try{const _0x120617=redisClient[_0x19d5e6(0x19f)](),_0x5e69f=JSON[_0x19d5e6(0x1c2)](_0xf8b3aa),_0x379129=await _0x120617[_0x19d5e6(0x2b7)](_0x920a25,_0x5e69f,'EX',this['idemTTL'],'NX');if(_0x379129==='OK')return{'stored':!![],'winnerResult':null};const _0xc332d6=await _0x120617['get'](_0x920a25);if(_0xc332d6)return{'stored':![],'winnerResult':JSON[_0x19d5e6(0x283)](_0xc332d6)};return logger[_0x19d5e6(0x267)]({'event':_0x76b434[_0x19d5e6(0x18b)],'key':_0x920a25},_0x76b434['osKVH']),{'stored':!![],'winnerResult':null};}catch(_0x239b1b){return logger[_0x19d5e6(0x267)]({'event':_0x76b434[_0x19d5e6(0x1ea)],'error':_0x239b1b[_0x19d5e6(0x274)]},_0x76b434['MkWwe']),{'stored':!![],'winnerResult':null};}}async[a0_0x397f95(0x192)](_0x2ccd03,_0x236f1a,_0x18398f){const _0x2dba0c=a0_0x397f95,_0x1b6e20={'UYCog':_0x2dba0c(0x29e)};try{const _0x41bb27=redisClient['getClient']();if(_0x18398f){const _0x1a792d=this[_0x2dba0c(0x2ac)](_0x2ccd03,_0x236f1a);await _0x41bb27[_0x2dba0c(0x1c8)](_0x1a792d);}else{const _0x309169=this[_0x2dba0c(0x201)](_0x2ccd03);await _0x41bb27[_0x2dba0c(0x271)](_0x309169,_0x236f1a);}}catch(_0x3b7935){logger[_0x2dba0c(0x267)]({'event':'idgen_random_undo_error','error':_0x3b7935['message']},_0x1b6e20[_0x2dba0c(0x251)]);}}async[a0_0x397f95(0x270)](_0x2d6787,_0x127fd3,_0x1d8cce,_0x156695=0x0){const _0x19c223=a0_0x397f95,_0x50da09={'Kmvpl':function(_0x501534,_0x487931){return _0x501534(_0x487931);},'NpGXT':_0x19c223(0x1d0)};try{const _0xbe7c68=redisClient['getClient'](),_0x1f9830=this['_buildMetaKey'](_0x2d6787,_0x127fd3),_0x227055=[];for(const [_0x1308a3,_0x2af836]of Object['entries'](_0x1d8cce)){_0x227055[_0x19c223(0x1c6)](_0x1308a3,_0x50da09['Kmvpl'](String,_0x2af836));}if(_0x227055['length']>0x0){await _0xbe7c68['hset'](_0x1f9830,..._0x227055);if(_0x156695>0x0)await _0xbe7c68[_0x19c223(0x244)](_0x1f9830,_0x156695);}}catch(_0x568f56){logger[_0x19c223(0x267)]({'event':_0x50da09['NpGXT'],'error':_0x568f56['message']},'Meta\x20update\x20error');}}async[a0_0x397f95(0x258)](_0x94e2e){const _0x51add5=a0_0x397f95,_0x4cd105={'JnofO':'number','GqpNl':function(_0x267ab6,_0x473370){return _0x267ab6(_0x473370);},'FdUZu':function(_0x51daa6,_0x456950){return _0x51daa6===_0x456950;},'AMnJR':'idgen_idem_loser_release_error','vHWhD':_0x51add5(0x223),'ewcJd':'idgen_number_generated'};if(!this[_0x51add5(0x1a4)])throw new IdGeneratorError(_0x51add5(0x1be),_0x51add5(0x218));const _0x2f2525=this['_validateNumberParams'](_0x94e2e),_0x344507=this[_0x51add5(0x21f)](_0x94e2e['idempotencyKey']),{resource:_0x5a0e2b,format:_0x16b4fb,prefix:_0x24f7c3,separator:_0x57bae0,numDigits:_0x177392,reuseDelete:_0x1f8e76}=_0x2f2525,{formatKey:_0x370a49,datePrefix:_0x204ac9}=this['_buildFormatKey'](_0x16b4fb,_0x24f7c3),_0x2037e2=this[_0x51add5(0x245)](_0x5a0e2b,_0x370a49),_0x576ffb=this[_0x51add5(0x18e)](_0x5a0e2b,_0x370a49),_0x1576d8=this[_0x51add5(0x207)](_0x16b4fb);let _0x1f54d0=null;if(_0x344507){_0x1f54d0=this['_buildIdemKey'](_0x4cd105[_0x51add5(0x230)],_0x5a0e2b,_0x370a49,_0x344507);const _0x206325=await this['_retrieveIdemCache'](_0x1f54d0);if(_0x206325)return _0x206325;}const _0x21a69c=redisClient[_0x51add5(0x19f)](),_0x1ed747=await _0x21a69c['eval'](LUA_GENERATE_NUMBER,0x2,_0x2037e2,_0x576ffb,_0x1f8e76?'1':'0',_0x4cd105['GqpNl'](String,_0x1576d8)),_0x238b08=_0x1ed747[0x0],_0x480f3d=_0x4cd105['FdUZu'](_0x1ed747[0x1],0x1),_0x18a73b=this[_0x51add5(0x1cc)]({'format':_0x16b4fb,'prefix':_0x24f7c3,'datePrefix':_0x204ac9,'separator':_0x57bae0,'numDigits':_0x177392,'counterInt':_0x238b08}),_0x50232d={'value':_0x18a73b,'counter':_0x238b08,'resource':_0x5a0e2b,'formatKey':_0x370a49,'isReused':_0x480f3d,'generatedAt':new Date()['toISOString']()},_0x2ef3da=await this['_storeIdemCacheNX'](_0x1f54d0,_0x50232d);if(!_0x2ef3da['stored']){try{await _0x21a69c['eval'](LUA_RELEASE_NUMBER,0x1,_0x576ffb,String(_0x238b08),String(_0x1576d8));}catch(_0x361856){logger[_0x51add5(0x267)]({'event':_0x4cd105[_0x51add5(0x20a)],'error':_0x361856['message'],'resource':_0x5a0e2b,'formatKey':_0x370a49,'counterInt':_0x238b08},_0x4cd105[_0x51add5(0x29f)]);}return logger['info']({'event':'idgen_number_idem_loser','resource':_0x5a0e2b,'formatKey':_0x370a49,'counter':_0x238b08},'ID\x20Generator\x20number\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x2ef3da[_0x51add5(0x1ee)];}return this['_updateMeta'](_0x5a0e2b,_0x370a49,{'lastValue':_0x18a73b,'lastCounter':_0x238b08,'lastIsReused':_0x480f3d,'lastGeneratedAt':_0x50232d[_0x51add5(0x1a9)]},_0x1576d8),logger['info']({'event':_0x4cd105[_0x51add5(0x250)],'resource':_0x5a0e2b,'formatKey':_0x370a49,'counter':_0x238b08,'isReused':_0x480f3d},'ID\x20Generator\x20number:\x20'+_0x18a73b),_0x50232d;}async[a0_0x397f95(0x287)](_0x435717){const _0x317a14=a0_0x397f95,_0x4eeeff={'gtqvL':function(_0x2b6d2e,_0x5560b2){return _0x2b6d2e!==_0x5560b2;},'YPRSa':'IDGEN_INVALID_NUMBER','MZAaV':_0x317a14(0x1ef),'FPdXe':'release','Gdyrg':function(_0x1b17fb,_0x308c79){return _0x1b17fb(_0x308c79);},'UPPxK':'idgen_number_released'};if(!this['enabled'])throw new IdGeneratorError(_0x317a14(0x1be),'ID\x20Generator\x20is\x20disabled');let _0xe94eb8,_0x92d859,_0xf6b8f4,_0x42d2f5;const _0x4c0feb=this[_0x317a14(0x21f)](_0x435717[_0x317a14(0x1e4)]);if(_0x435717[_0x317a14(0x227)]!==undefined&&_0x4eeeff['gtqvL'](_0x435717['counterInt'],null)){this['_validateResource'](_0x435717[_0x317a14(0x28d)]),_0xe94eb8=_0x435717['resource'];if(_0x4eeeff[_0x317a14(0x22e)](typeof _0x435717[_0x317a14(0x1fd)],'string')||_0x435717['formatKey']['length']===0x0)throw new IdGeneratorError(_0x4eeeff[_0x317a14(0x25a)],_0x4eeeff[_0x317a14(0x1b8)]);_0x92d859=_0x435717[_0x317a14(0x1fd)];if(!Number[_0x317a14(0x21e)](_0x435717[_0x317a14(0x227)])||_0x435717[_0x317a14(0x227)]<0x1)throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x317a14(0x260)+_0x435717['counterInt']+')');_0xf6b8f4=_0x435717['counterInt'];const _0x49f1aa=_0x92d859['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x42d2f5=_0x49f1aa?_0x49f1aa[0x1]:_0x317a14(0x202);}else{const _0x4147ee=this[_0x317a14(0x1e2)](_0x435717),_0x51ec8b=this[_0x317a14(0x1e0)]({'format':_0x4147ee['format'],'prefix':_0x4147ee['prefix'],'separator':_0x4147ee[_0x317a14(0x20f)],'numDigits':_0x4147ee[_0x317a14(0x23b)],'number':_0x435717['number']});_0xe94eb8=_0x4147ee[_0x317a14(0x28d)],_0x92d859=_0x51ec8b[_0x317a14(0x1fd)],_0xf6b8f4=_0x51ec8b[_0x317a14(0x227)],_0x42d2f5=_0x4147ee['format'];}const _0xf23b1=this[_0x317a14(0x18e)](_0xe94eb8,_0x92d859),_0x53a3dd=this['_getCounterTTL'](_0x42d2f5);let _0x41a220=null;if(_0x4c0feb){_0x41a220=this[_0x317a14(0x189)](_0x4eeeff[_0x317a14(0x197)],_0xe94eb8,_0x92d859,_0x4c0feb);const _0x38ec16=await this['_retrieveIdemCache'](_0x41a220);if(_0x38ec16)return _0x38ec16;}const _0x58fc52=redisClient[_0x317a14(0x19f)]();await _0x58fc52['eval'](LUA_RELEASE_NUMBER,0x1,_0xf23b1,_0x4eeeff[_0x317a14(0x1cf)](String,_0xf6b8f4),_0x4eeeff[_0x317a14(0x1cf)](String,_0x53a3dd));const _0x88a3e4={'released':!![],'resource':_0xe94eb8,'formatKey':_0x92d859,'counter':_0xf6b8f4,'releasedAt':new Date()['toISOString']()};return await this['_storeIdemCache'](_0x41a220,_0x88a3e4),this[_0x317a14(0x270)](_0xe94eb8,_0x92d859,{'lastReleasedCounter':_0xf6b8f4,'lastReleasedAt':_0x88a3e4[_0x317a14(0x1c9)]},_0x53a3dd),logger['info']({'event':_0x4eeeff['UPPxK'],'resource':_0xe94eb8,'formatKey':_0x92d859,'counter':_0xf6b8f4},_0x317a14(0x1bb)+_0xf6b8f4),_0x88a3e4;}async['reserveNumber'](_0x24342f){const _0x5ab84b=a0_0x397f95,_0x578440={'lSFAY':_0x5ab84b(0x1be),'WHBsQ':_0x5ab84b(0x20c),'Kbdlf':function(_0x3ad803,_0xf11ccc){return _0x3ad803*_0xf11ccc;},'kpqBQ':function(_0x1efe34,_0x367a3f){return _0x1efe34*_0x367a3f;},'SAhrf':'resource','uxSTR':'formatKey','pGcUY':_0x5ab84b(0x18f),'NkEmQ':_0x5ab84b(0x23b),'PtBeC':function(_0x49740a,_0x439e1e){return _0x49740a(_0x439e1e);},'zFDEl':_0x5ab84b(0x22d),'oXSKQ':function(_0x30e3c1,_0x4469d3){return _0x30e3c1||_0x4469d3;},'HdtTK':'ttlMs','AZgBs':_0x5ab84b(0x1d7),'Vwrfr':function(_0x17e4e6,_0x459dc7){return _0x17e4e6(_0x459dc7);},'OsMxz':function(_0x455634,_0x45762e){return _0x455634===_0x45762e;},'SMdeL':function(_0x3e05cb,_0x3c62dc){return _0x3e05cb(_0x3c62dc);},'voXmF':'Failed\x20to\x20compensate\x20reservation\x20after\x20counter\x20overflow','FYdSf':'idgen_reserve_value_persist_error','zsxHI':'Failed\x20to\x20persist\x20formatted\x20value\x20to\x20reservation\x20hash','VFnqu':_0x5ab84b(0x240),'TZXFT':'Failed\x20to\x20cancel\x20reservation\x20for\x20idempotency\x20loser','VhRrL':_0x5ab84b(0x24f)};if(!this['enabled'])throw new IdGeneratorError(_0x578440['lSFAY'],'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)');const _0x5b57eb=this[_0x5ab84b(0x1e2)](_0x24342f),_0xb54540=this[_0x5ab84b(0x18d)](_0x24342f['ttl']),_0x20cb0e=this['_validateIdempotencyKey'](_0x24342f['idempotencyKey']),{resource:_0x404ba9,format:_0x536b46,prefix:_0xeaf899,separator:_0x3b8fb3,numDigits:_0x37ee3b,reuseDelete:_0x1634cc}=_0x5b57eb,{formatKey:_0x16bff8,datePrefix:_0x559ab4}=this['_buildFormatKey'](_0x536b46,_0xeaf899),_0x4d0251=this[_0x5ab84b(0x245)](_0x404ba9,_0x16bff8),_0x278e26=this[_0x5ab84b(0x18e)](_0x404ba9,_0x16bff8),_0x480f71=this[_0x5ab84b(0x1f2)](_0x404ba9,_0x16bff8),_0x23bff7=this[_0x5ab84b(0x207)](_0x536b46);let _0x13a91f=null;if(_0x20cb0e){_0x13a91f=this[_0x5ab84b(0x189)](_0x578440['WHBsQ'],_0x404ba9,_0x16bff8,_0x20cb0e);const _0x450d58=await this[_0x5ab84b(0x190)](_0x13a91f);if(_0x450d58)return _0x450d58;}const _0x1ff6e4=crypto[_0x5ab84b(0x278)](),_0x2061a6=this[_0x5ab84b(0x1f3)](_0x1ff6e4),_0x36c6da=this['_buildReservationKeyPrefix'](),_0x47b126=Date[_0x5ab84b(0x1f1)](),_0x8123a=_0x47b126+_0x578440['Kbdlf'](_0xb54540,0x3e8),_0x348ef9=_0x578440[_0x5ab84b(0x19e)](_0xb54540,0x3e8),_0x363c4c=new Date(_0x47b126)['toISOString'](),_0x2fe2b5=new Date(_0x8123a)['toISOString'](),_0x48a77b=[_0x578440['SAhrf'],_0x404ba9,_0x578440['uxSTR'],_0x16bff8,_0x578440['pGcUY'],_0x536b46,_0x5ab84b(0x2a5),_0xeaf899,_0x5ab84b(0x20f),_0x3b8fb3,_0x578440[_0x5ab84b(0x1f6)],_0x578440['PtBeC'](String,_0x37ee3b),_0x578440['zFDEl'],_0x578440[_0x5ab84b(0x1eb)](_0x559ab4,''),'createdAt',_0x363c4c,_0x5ab84b(0x1ff),_0x2fe2b5,_0x578440[_0x5ab84b(0x263)],_0x578440[_0x5ab84b(0x1fb)](String,_0x348ef9)];_0x20cb0e&&_0x48a77b[_0x5ab84b(0x1c6)](_0x578440['AZgBs'],_0x20cb0e);const _0x3edff3=redisClient['getClient'](),_0x253f1c=await _0x3edff3[_0x5ab84b(0x1d4)](LUA_RESERVE_NUMBER,0x3,_0x4d0251,_0x278e26,_0x480f71,_0x1634cc?'1':'0',_0x578440['Vwrfr'](String,_0x23bff7),_0x1ff6e4,_0x2061a6,String(_0x348ef9),_0x578440['PtBeC'](String,_0x8123a),_0x578440[_0x5ab84b(0x1fb)](String,_0x47b126),_0x36c6da,..._0x48a77b),_0x1b6c12=_0x253f1c[0x0],_0x40392c=_0x578440[_0x5ab84b(0x2b4)](_0x253f1c[0x1],0x1),_0x480c29=_0x253f1c[0x2]||0x0;let _0x2baffb;try{_0x2baffb=this[_0x5ab84b(0x1cc)]({'format':_0x536b46,'prefix':_0xeaf899,'datePrefix':_0x559ab4,'separator':_0x3b8fb3,'numDigits':_0x37ee3b,'counterInt':_0x1b6c12});}catch(_0x4a03d2){try{await _0x3edff3[_0x5ab84b(0x1d4)](LUA_CANCEL_RESERVATION,0x3,_0x2061a6,_0x480f71,_0x278e26,_0x1ff6e4,_0x578440['SMdeL'](String,_0x23bff7));}catch(_0x5bd24a){logger[_0x5ab84b(0x267)]({'event':_0x5ab84b(0x25e),'error':_0x5bd24a['message'],'resource':_0x404ba9,'formatKey':_0x16bff8,'counterInt':_0x1b6c12,'token':_0x1ff6e4},_0x578440[_0x5ab84b(0x1c5)]);}throw _0x4a03d2;}try{await _0x3edff3[_0x5ab84b(0x19d)](_0x2061a6,_0x5ab84b(0x2a0),_0x2baffb);}catch(_0x42f665){logger[_0x5ab84b(0x267)]({'event':_0x578440[_0x5ab84b(0x214)],'error':_0x42f665['message'],'resource':_0x404ba9,'formatKey':_0x16bff8,'counterInt':_0x1b6c12,'token':_0x1ff6e4},_0x578440[_0x5ab84b(0x1b2)]);}const _0x18c7ed={'token':_0x1ff6e4,'value':_0x2baffb,'counter':_0x1b6c12,'resource':_0x404ba9,'formatKey':_0x16bff8,'isReused':_0x40392c,'createdAt':_0x363c4c,'expiresAt':_0x2fe2b5,'reapedCount':_0x480c29},_0x1ef508=await this['_storeIdemCacheNX'](_0x13a91f,_0x18c7ed);if(!_0x1ef508[_0x5ab84b(0x23a)]){try{await _0x3edff3[_0x5ab84b(0x1d4)](LUA_CANCEL_RESERVATION,0x3,_0x2061a6,_0x480f71,_0x278e26,_0x1ff6e4,String(_0x23bff7));}catch(_0x199214){logger[_0x5ab84b(0x267)]({'event':_0x578440['VFnqu'],'error':_0x199214['message'],'resource':_0x404ba9,'formatKey':_0x16bff8,'counterInt':_0x1b6c12,'token':_0x1ff6e4},_0x578440[_0x5ab84b(0x194)]);}return logger['info']({'event':'idgen_reserve_idem_loser','resource':_0x404ba9,'formatKey':_0x16bff8,'counter':_0x1b6c12,'token':_0x1ff6e4},'ID\x20Generator\x20reserve\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x1ef508['winnerResult'];}return this[_0x5ab84b(0x270)](_0x404ba9,_0x16bff8,{'lastReservedCounter':_0x1b6c12,'lastReservedAt':_0x363c4c,'lastReapedCount':_0x480c29},_0x23bff7),logger['info']({'event':_0x578440['VhRrL'],'resource':_0x404ba9,'formatKey':_0x16bff8,'counter':_0x1b6c12,'isReused':_0x40392c,'token':_0x1ff6e4,'ttl':_0xb54540,'reapedCount':_0x480c29},'ID\x20Generator\x20number\x20reserved:\x20'+_0x2baffb+'\x20(token='+_0x1ff6e4+')'),_0x18c7ed;}async['confirmReservation'](_0x4c4235){const _0x3f858e=a0_0x397f95,_0x3118f2={'MVSaE':'IDGEN_DISABLED','SAMcf':_0x3f858e(0x19b),'SapXq':function(_0x8f7577,_0x595fe0){return _0x8f7577!==_0x595fe0;},'IZUgK':'IDGEN_RESERVATION_NOT_FOUND'};if(!this['enabled'])throw new IdGeneratorError(_0x3118f2[_0x3f858e(0x1d8)],_0x3118f2['SAMcf']);const _0x490142=this['_validateReservationToken'](_0x4c4235&&_0x4c4235['token']),_0x1a481e=this['_validateIdempotencyKey'](_0x4c4235&&_0x4c4235[_0x3f858e(0x1e4)]);let _0x1bd810=null;if(_0x1a481e){_0x1bd810=idempotencyManager[_0x3f858e(0x1c1)]('idgen',_0x3f858e(0x1ad),_0x490142+':'+_0x1a481e);const _0x320e28=await this['_retrieveIdemCache'](_0x1bd810);if(_0x320e28)return _0x320e28;}const _0x91fce0=await this[_0x3f858e(0x279)](_0x490142),_0x57b83c=redisClient[_0x3f858e(0x19f)](),_0x42a5b3=await _0x57b83c[_0x3f858e(0x1d4)](LUA_CONFIRM_RESERVATION,0x2,_0x91fce0[_0x3f858e(0x294)],_0x91fce0['rsvIdxKey'],_0x490142);if(!_0x42a5b3||_0x3118f2[_0x3f858e(0x1db)](_0x42a5b3[0x0],0x1))throw new IdGeneratorError(_0x3118f2['IZUgK'],_0x3f858e(0x2a7)+_0x490142,{'token':_0x490142});const _0x10ebe6=parseInt(_0x42a5b3[0x1],0xa),_0x1707bf=_0x42a5b3[0x2],_0x4b47bf=_0x42a5b3[0x3],_0x5d2ec9=new Date()[_0x3f858e(0x1ac)](),_0x51430a={'confirmed':!![],'token':_0x490142,'value':_0x1707bf,'counter':_0x10ebe6,'resource':_0x91fce0['resource'],'formatKey':_0x4b47bf,'confirmedAt':_0x5d2ec9};await this['_storeIdemCache'](_0x1bd810,_0x51430a);const _0x5f152c=_0x4b47bf[_0x3f858e(0x22b)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x3cb4c0=_0x5f152c?_0x5f152c[0x1]:_0x3f858e(0x202),_0x3edbe5=this['_getCounterTTL'](_0x3cb4c0);return this[_0x3f858e(0x270)](_0x91fce0['resource'],_0x4b47bf,{'lastConfirmedCounter':_0x10ebe6,'lastConfirmedAt':_0x5d2ec9},_0x3edbe5),logger['info']({'event':_0x3f858e(0x220),'resource':_0x91fce0['resource'],'formatKey':_0x4b47bf,'counter':_0x10ebe6,'token':_0x490142},_0x3f858e(0x1de)+_0x1707bf+_0x3f858e(0x1e9)+_0x490142+')'),_0x51430a;}async[a0_0x397f95(0x25f)](_0x30a32e){const _0x5bbb33=a0_0x397f95,_0x5a1a66={'GAsnB':function(_0x5369b5,_0x10a975){return _0x5369b5(_0x10a975);},'rQIGS':function(_0x165740,_0x1b37b6,_0x320ef9){return _0x165740(_0x1b37b6,_0x320ef9);}};if(!this[_0x5bbb33(0x1a4)])throw new IdGeneratorError(_0x5bbb33(0x1be),_0x5bbb33(0x19b));const _0xafb99e=this[_0x5bbb33(0x1df)](_0x30a32e&&_0x30a32e[_0x5bbb33(0x299)]),_0x4a1649=this['_validateIdempotencyKey'](_0x30a32e&&_0x30a32e['idempotencyKey']);let _0x5da4b8=null;if(_0x4a1649){_0x5da4b8=idempotencyManager['buildDeterministicKey']('idgen','reserve_cancel',_0xafb99e+':'+_0x4a1649);const _0x1b6155=await this['_retrieveIdemCache'](_0x5da4b8);if(_0x1b6155)return _0x1b6155;}const _0x14c62d=await this[_0x5bbb33(0x279)](_0xafb99e),_0x4b33ef=this[_0x5bbb33(0x18e)](_0x14c62d['resource'],_0x14c62d[_0x5bbb33(0x1fd)]),_0x2777c1=_0x14c62d['formatKey']['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x1083d2=_0x2777c1?_0x2777c1[0x1]:'text',_0x205357=this[_0x5bbb33(0x207)](_0x1083d2),_0x1702ca=redisClient['getClient'](),_0x2ecefa=await _0x1702ca['eval'](LUA_CANCEL_RESERVATION,0x3,_0x14c62d[_0x5bbb33(0x294)],_0x14c62d[_0x5bbb33(0x209)],_0x4b33ef,_0xafb99e,_0x5a1a66[_0x5bbb33(0x25b)](String,_0x205357));if(!_0x2ecefa||_0x2ecefa[0x0]!==0x1)throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND','Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0xafb99e,{'token':_0xafb99e});const _0xc8a5e2=_0x5a1a66[_0x5bbb33(0x2b1)](parseInt,_0x2ecefa[0x1],0xa),_0x394458=_0x2ecefa[0x2],_0x363811=_0x2ecefa[0x3],_0x1a23a7=new Date()['toISOString'](),_0x3652fd={'cancelled':!![],'token':_0xafb99e,'value':_0x394458,'counter':_0xc8a5e2,'resource':_0x14c62d['resource'],'formatKey':_0x363811,'releasedToReuse':!![],'cancelledAt':_0x1a23a7};return await this['_storeIdemCache'](_0x5da4b8,_0x3652fd),this[_0x5bbb33(0x270)](_0x14c62d[_0x5bbb33(0x28d)],_0x363811,{'lastCancelledCounter':_0xc8a5e2,'lastCancelledAt':_0x1a23a7},_0x205357),logger['info']({'event':'idgen_reservation_cancelled','resource':_0x14c62d[_0x5bbb33(0x28d)],'formatKey':_0x363811,'counter':_0xc8a5e2,'token':_0xafb99e},_0x5bbb33(0x282)+_0x394458+_0x5bbb33(0x1e9)+_0xafb99e+')'),_0x3652fd;}async['extendReservation'](_0x4b5f42){const _0xe84c83=a0_0x397f95,_0x6c83cb={'IOzda':_0xe84c83(0x1be),'FFmkP':_0xe84c83(0x259),'ikZRZ':function(_0x350c7e,_0x14a3c3){return _0x350c7e*_0x14a3c3;},'wszru':function(_0x14ccf1,_0x361975){return _0x14ccf1(_0x361975);},'pWbnF':function(_0x1138b9,_0xd0ec2){return _0x1138b9!==_0xd0ec2;},'doZkP':'IDGEN_RESERVATION_NOT_FOUND','aPmeI':_0xe84c83(0x212)};if(!this['enabled'])throw new IdGeneratorError(_0x6c83cb[_0xe84c83(0x225)],_0xe84c83(0x19b));const _0x19f7cd=this[_0xe84c83(0x1df)](_0x4b5f42&&_0x4b5f42[_0xe84c83(0x299)]),_0x3ecd3b=this[_0xe84c83(0x18d)](_0x4b5f42&&_0x4b5f42[_0xe84c83(0x211)]),_0x543d58=this['_validateIdempotencyKey'](_0x4b5f42&&_0x4b5f42['idempotencyKey']);let _0x58de6f=null;if(_0x543d58){_0x58de6f=idempotencyManager['buildDeterministicKey'](_0x6c83cb[_0xe84c83(0x2a4)],_0xe84c83(0x289),_0x19f7cd+':'+_0x543d58);const _0x2abae3=await this[_0xe84c83(0x190)](_0x58de6f);if(_0x2abae3)return _0x2abae3;}const _0x4372a5=await this['_getReservationContext'](_0x19f7cd),_0x10e691=Date['now'](),_0x4eda6d=_0x10e691+_0x3ecd3b*0x3e8,_0x1208a7=_0x6c83cb[_0xe84c83(0x2a2)](_0x3ecd3b,0x3e8),_0x78f265=new Date(_0x4eda6d)['toISOString'](),_0x4ac286=redisClient['getClient'](),_0x1e551c=await _0x4ac286[_0xe84c83(0x1d4)](LUA_EXTEND_RESERVATION,0x2,_0x4372a5['rsvKey'],_0x4372a5['rsvIdxKey'],_0x19f7cd,_0x6c83cb[_0xe84c83(0x2ad)](String,_0x1208a7),_0x6c83cb[_0xe84c83(0x2ad)](String,_0x4eda6d),_0x78f265);if(!_0x1e551c||_0x6c83cb['pWbnF'](_0x1e551c[0x0],0x1))throw new IdGeneratorError(_0x6c83cb[_0xe84c83(0x1e3)],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x19f7cd,{'token':_0x19f7cd});const _0x529297=_0x1e551c[0x1],_0xf3871b=parseInt(_0x1e551c[0x2],0xa),_0x78ac8e=_0x1e551c[0x3],_0x396592=_0x1e551c[0x4],_0x50d95e=new Date(_0x10e691)[_0xe84c83(0x1ac)](),_0x493b06={'extended':!![],'token':_0x19f7cd,'previousExpiresAt':_0x529297,'expiresAt':_0x78f265,'ttlMs':_0x1208a7,'resource':_0x4372a5['resource'],'formatKey':_0x396592,'counter':_0xf3871b,'value':_0x78ac8e,'extendedAt':_0x50d95e};await this['_storeIdemCache'](_0x58de6f,_0x493b06);const _0x226093=_0x396592[_0xe84c83(0x22b)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x1a1840=_0x226093?_0x226093[0x1]:_0xe84c83(0x202),_0x11916e=this['_getCounterTTL'](_0x1a1840);return this[_0xe84c83(0x270)](_0x4372a5[_0xe84c83(0x28d)],_0x396592,{'lastExtendedCounter':_0xf3871b,'lastExtendedAt':_0x50d95e},_0x11916e),logger['info']({'event':_0x6c83cb['aPmeI'],'resource':_0x4372a5[_0xe84c83(0x28d)],'formatKey':_0x396592,'counter':_0xf3871b,'token':_0x19f7cd,'ttl':_0x3ecd3b},_0xe84c83(0x222)+_0x78ac8e+_0xe84c83(0x1e9)+_0x19f7cd+',\x20+'+_0x3ecd3b+'s)'),_0x493b06;}async[a0_0x397f95(0x24b)](_0x40a637){const _0x2e6798=a0_0x397f95,_0x80e170={'ZsFzW':_0x2e6798(0x19b),'LzACb':function(_0x54c601,_0x22d298){return _0x54c601===_0x22d298;},'WXTmE':function(_0xe6f35b,_0x177326,_0x3ce278){return _0xe6f35b(_0x177326,_0x3ce278);},'nrzqx':function(_0x3d5d5c,_0x206381){return _0x3d5d5c===_0x206381;},'kufiC':function(_0x1eaaed,_0xac51f3){return _0x1eaaed===_0xac51f3;},'DZvbz':'number'};if(!this['enabled'])throw new IdGeneratorError(_0x2e6798(0x1be),_0x80e170['ZsFzW']);const _0xe2d6b5=this[_0x2e6798(0x1df)](_0x40a637&&_0x40a637['token']),_0x87361f=this[_0x2e6798(0x1f3)](_0xe2d6b5),_0x304277=redisClient['getClient'](),_0x1773ba=_0x304277['pipeline']();_0x1773ba[_0x2e6798(0x1ba)](_0x87361f),_0x1773ba['pttl'](_0x87361f);const _0x3de89d=await _0x1773ba['exec'](),_0x3bb278=_0x3de89d&&_0x3de89d[0x0]&&_0x3de89d[0x0][0x1],_0xf66bc0=_0x3de89d&&_0x3de89d[0x1]&&_0x3de89d[0x1][0x1];if(!_0x3bb278||_0x80e170['LzACb'](Object[_0x2e6798(0x246)](_0x3bb278)['length'],0x0))throw new IdGeneratorError(_0x2e6798(0x191),_0x2e6798(0x2a7)+_0xe2d6b5,{'token':_0xe2d6b5});return{'token':_0xe2d6b5,'resource':_0x3bb278['resource']||null,'formatKey':_0x3bb278[_0x2e6798(0x1fd)]||null,'format':_0x3bb278[_0x2e6798(0x18f)]||null,'prefix':_0x3bb278['prefix']||'','separator':_0x3bb278[_0x2e6798(0x20f)]||'','numDigits':_0x3bb278[_0x2e6798(0x23b)]?_0x80e170[_0x2e6798(0x196)](parseInt,_0x3bb278[_0x2e6798(0x23b)],0xa):null,'datePrefix':_0x3bb278[_0x2e6798(0x22d)]||'','counter':_0x3bb278[_0x2e6798(0x290)]?_0x80e170[_0x2e6798(0x196)](parseInt,_0x3bb278['counter'],0xa):null,'value':_0x3bb278['value']||null,'isReused':_0x80e170['nrzqx'](_0x3bb278[_0x2e6798(0x2a1)],'1')||_0x80e170['LzACb'](_0x3bb278['isReused'],0x1),'createdAt':_0x3bb278[_0x2e6798(0x213)]||null,'expiresAt':_0x3bb278['expiresAt']||null,'ttlRemainingMs':_0x80e170[_0x2e6798(0x20b)](typeof _0xf66bc0,_0x80e170['DZvbz'])&&_0xf66bc0>=0x0?_0xf66bc0:null};}async['_getReservationContext'](_0x256f45){const _0x52c495=a0_0x397f95,_0xea67f6={'XqfWz':_0x52c495(0x28d),'dfWnk':function(_0x4d413d,_0x4168a3){return _0x4d413d||_0x4168a3;},'KHiSR':'IDGEN_RESERVATION_NOT_FOUND'},_0x1a046b=this['_buildReservationKey'](_0x256f45),_0x5a8dfb=redisClient[_0x52c495(0x19f)](),_0x2ba384=await _0x5a8dfb['hmget'](_0x1a046b,_0xea67f6['XqfWz'],'formatKey'),_0x21438a=_0x2ba384&&_0x2ba384[0x0],_0x10b454=_0x2ba384&&_0x2ba384[0x1];if(_0xea67f6['dfWnk'](!_0x21438a,!_0x10b454))throw new IdGeneratorError(_0xea67f6['KHiSR'],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x256f45,{'token':_0x256f45});return{'resource':_0x21438a,'formatKey':_0x10b454,'rsvKey':_0x1a046b,'rsvIdxKey':this[_0x52c495(0x1f2)](_0x21438a,_0x10b454)};}async[a0_0x397f95(0x2a8)](_0x4921f0){const _0x4ac62a=a0_0x397f95,_0xdb79e={'LiPcG':_0x4ac62a(0x19b),'CkzDw':_0x4ac62a(0x2a8),'xsUJB':function(_0x411c44,_0x44cc6c){return _0x411c44<_0x44cc6c;},'OKlVd':function(_0x4e2718,_0x28b6f1){return _0x4e2718===_0x28b6f1;},'fjZfN':function(_0x3b638c,_0x57b74d){return _0x3b638c===_0x57b74d;},'bRjai':_0x4ac62a(0x20e),'NKczL':function(_0x5d05ae,_0x4c563a){return _0x5d05ae&&_0x4c563a;},'TCdiE':function(_0x4320d5,_0x4296c3){return _0x4320d5+_0x4296c3;},'uEdsF':function(_0x46f634,_0x1d7963){return _0x46f634*_0x1d7963;},'asvjQ':_0x4ac62a(0x28c)};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0xdb79e['LiPcG']);this[_0x4ac62a(0x208)](_0x4921f0[_0x4ac62a(0x28d)]),this[_0x4ac62a(0x241)](_0x4921f0['pattern']);const _0x2e1286=this[_0x4ac62a(0x1a0)](_0x4921f0[_0x4ac62a(0x211)]),_0x52b7fe=this['_validateMaxRetry'](_0x4921f0[_0x4ac62a(0x24e)]),_0x3c7244=this[_0x4ac62a(0x21f)](_0x4921f0[_0x4ac62a(0x1e4)]),_0x1188a1=_0x4921f0[_0x4ac62a(0x26b)]===!![],{resource:_0x46da76,pattern:_0x2f92da}=_0x4921f0;let _0x480fec=null;if(_0x3c7244){_0x480fec=this[_0x4ac62a(0x189)](_0xdb79e['CkzDw'],_0x46da76,null,_0x3c7244);const _0xcfc986=await this[_0x4ac62a(0x190)](_0x480fec);if(_0xcfc986)return _0xcfc986;}const _0x4863db=redisClient['getClient']();let _0x2558a1=null,_0x14fb8b=0x0;if(!_0x1188a1)_0x2558a1=this[_0x4ac62a(0x2a9)](_0x2f92da),_0x14fb8b=0x1;else{for(let _0x44902a=0x0;_0xdb79e['xsUJB'](_0x44902a,_0x52b7fe);_0x44902a++){_0x14fb8b++;const _0x54b12b=this[_0x4ac62a(0x2a9)](_0x2f92da);if(_0x2e1286){const _0x1be839=this[_0x4ac62a(0x2ac)](_0x46da76,_0x54b12b),_0x12af94=await _0x4863db[_0x4ac62a(0x2b7)](_0x1be839,'1','EX',_0x2e1286,'NX');if(_0xdb79e[_0x4ac62a(0x205)](_0x12af94,'OK')){_0x2558a1=_0x54b12b;break;}}else{const _0x4f04df=this['_buildIssuedKey'](_0x46da76),_0x402fc1=await _0x4863db[_0x4ac62a(0x29d)](_0x4f04df,_0x54b12b);if(_0x402fc1===0x1){_0x2558a1=_0x54b12b;break;}}}if(_0xdb79e[_0x4ac62a(0x23c)](_0x2558a1,null))throw new IdGeneratorError(_0xdb79e['bRjai'],_0x4ac62a(0x1b1)+_0x52b7fe+_0x4ac62a(0x29c),{'resource':_0x46da76,'pattern':_0x2f92da,'maxRetry':_0x52b7fe});}const _0x2a1063={'value':_0x2558a1,'resource':_0x46da76,'pattern':_0x2f92da,'attemptCount':_0x14fb8b,'generatedAt':new Date()[_0x4ac62a(0x1ac)]()};_0xdb79e['NKczL'](_0x2e1286,_0x1188a1)&&(_0x2a1063['expiresAt']=new Date(_0xdb79e[_0x4ac62a(0x21d)](Date['now'](),_0xdb79e[_0x4ac62a(0x292)](_0x2e1286,0x3e8)))['toISOString']());const _0x217e30=await this['_storeIdemCacheNX'](_0x480fec,_0x2a1063);if(!_0x217e30['stored'])return _0x1188a1&&await this['_undoRandomReservation'](_0x46da76,_0x2558a1,_0x2e1286),logger['info']({'event':'idgen_random_idem_loser','resource':_0x46da76,'pattern':_0x2f92da,'value':_0x2558a1},_0x4ac62a(0x18c)),_0x217e30[_0x4ac62a(0x1ee)];return logger[_0x4ac62a(0x276)]({'event':_0xdb79e[_0x4ac62a(0x252)],'resource':_0x46da76,'pattern':_0x2f92da,'attemptCount':_0x14fb8b,'ensureUnique':_0x1188a1,'ttl':_0x2e1286||0x0},'ID\x20Generator\x20random:\x20'+_0x2558a1),_0x2a1063;}async[a0_0x397f95(0x19c)](_0xc2216){const _0x2cce8d=a0_0x397f95,_0x522b6a={'qqowG':function(_0x288299,_0xe899b3){return _0x288299>_0xe899b3;},'iKKsR':'IDGEN_INVALID_DIGITS','PLBjg':function(_0x3961be,_0x1fc8f8){return _0x3961be===_0x1fc8f8;}},_0x47903d=_0xc2216[_0x2cce8d(0x23d)]==null?this[_0x2cce8d(0x27a)]:_0xc2216[_0x2cce8d(0x23d)];if(!Number['isInteger'](_0x47903d)||_0x47903d<MIN_PIN_DIGITS||_0x522b6a['qqowG'](_0x47903d,MAX_PIN_DIGITS))throw new IdGeneratorError(_0x522b6a[_0x2cce8d(0x1a2)],'Invalid\x20digits:\x20must\x20be\x20integer\x20'+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+'\x20(got:\x20'+_0x47903d+')');const _0x1a6849='9'['repeat'](_0x47903d);return this[_0x2cce8d(0x2a8)]({'resource':_0xc2216['resource'],'pattern':_0x1a6849,'ensureUnique':_0x522b6a[_0x2cce8d(0x2b3)](_0xc2216['ensureUnique'],!![]),'ttl':_0xc2216['ttl'],'maxRetry':_0xc2216[_0x2cce8d(0x24e)],'idempotencyKey':_0xc2216[_0x2cce8d(0x1e4)]});}async['serial'](_0x145608){const _0x51bed3=a0_0x397f95,_0x4dfff4={'XDkQX':function(_0x31c50c,_0x5b74bb){return _0x31c50c!==_0x5b74bb;}},_0x2c0749=_0x145608[_0x51bed3(0x257)]||this[_0x51bed3(0x20d)];return this['random']({'resource':_0x145608[_0x51bed3(0x28d)],'pattern':_0x2c0749,'ensureUnique':_0x4dfff4['XDkQX'](_0x145608[_0x51bed3(0x26b)],![]),'ttl':_0x145608[_0x51bed3(0x211)],'maxRetry':_0x145608['maxRetry'],'idempotencyKey':_0x145608['idempotencyKey']});}async[a0_0x397f95(0x27b)](_0x48ae04){const _0x5015c3=a0_0x397f95,_0x3858a5={'poYYC':function(_0x482514,_0x169875){return _0x482514!==_0x169875;}},_0x1f196b=_0x48ae04[_0x5015c3(0x257)]||this[_0x5015c3(0x21c)];return this[_0x5015c3(0x2a8)]({'resource':_0x48ae04['resource'],'pattern':_0x1f196b,'ensureUnique':_0x3858a5['poYYC'](_0x48ae04['ensureUnique'],![]),'ttl':_0x48ae04['ttl'],'maxRetry':_0x48ae04[_0x5015c3(0x24e)],'idempotencyKey':_0x48ae04[_0x5015c3(0x1e4)]});}async[a0_0x397f95(0x229)](_0x35fe9a){const _0x16e91f=a0_0x397f95,_0x3bdd1e={'LDvVk':function(_0x5954ee,_0x50953d){return _0x5954ee!==_0x50953d;},'xfPIx':function(_0x158e15,_0x5c22ce){return _0x158e15===_0x5c22ce;},'RqVmo':_0x16e91f(0x1cd),'gBpIE':function(_0x51e5ea,_0x220fd9){return _0x51e5ea>_0x220fd9;},'vrbha':function(_0x41c975,_0x505085){return _0x41c975+_0x505085;},'unKHJ':'idgen_consumed'};if(!this['enabled'])throw new IdGeneratorError(_0x16e91f(0x1be),'ID\x20Generator\x20is\x20disabled');this['_validateResource'](_0x35fe9a[_0x16e91f(0x28d)]);if(_0x3bdd1e[_0x16e91f(0x1e8)](typeof _0x35fe9a[_0x16e91f(0x2a0)],_0x16e91f(0x28a))||_0x3bdd1e[_0x16e91f(0x284)](_0x35fe9a['value']['length'],0x0))throw new IdGeneratorError(_0x3bdd1e['RqVmo'],_0x16e91f(0x1b5));const {resource:_0x551511,value:_0x3ee908}=_0x35fe9a,_0x228c5f=redisClient[_0x16e91f(0x19f)](),_0xa66fdf=this[_0x16e91f(0x2ac)](_0x551511,_0x3ee908),_0x2e43bb=this[_0x16e91f(0x201)](_0x551511),[_0x577c55,_0x3534f1]=await Promise[_0x16e91f(0x1aa)]([_0x228c5f['del'](_0xa66fdf),_0x228c5f['srem'](_0x2e43bb,_0x3ee908)]),_0x3c4939=_0x3bdd1e['gBpIE'](_0x3bdd1e['vrbha'](_0x577c55,_0x3534f1),0x0);return logger[_0x16e91f(0x276)]({'event':_0x3bdd1e[_0x16e91f(0x27f)],'resource':_0x551511,'value':_0x3ee908,'consumed':_0x3c4939},'ID\x20Generator\x20consumed:\x20'+_0x3ee908),{'consumed':_0x3c4939,'resource':_0x551511,'value':_0x3ee908,'consumedAt':new Date()['toISOString']()};}async[a0_0x397f95(0x254)](_0xab1b08){const _0x17d1f2=a0_0x397f95,_0x162f83={'nChuM':_0x17d1f2(0x1be),'JQZUD':_0x17d1f2(0x19b),'kULQd':function(_0x33cc07,_0x5b7092){return _0x33cc07===_0x5b7092;},'pisdX':_0x17d1f2(0x258),'AWrVL':_0x17d1f2(0x202),'UTKXg':'IDGEN_INVALID_FORMAT','eeTgJ':function(_0x454225,_0x45e59c,_0x44faaf){return _0x454225(_0x45e59c,_0x44faaf);},'LsbyZ':function(_0x401d81,_0x1cab70){return _0x401d81||_0x1cab70;},'DrGtJ':'random','fYBUk':'IDGEN_INVALID_MODE'};if(!this['enabled'])throw new IdGeneratorError(_0x162f83['nChuM'],_0x162f83[_0x17d1f2(0x2a3)]);this[_0x17d1f2(0x208)](_0xab1b08['resource']);const _0x1ae38d=_0xab1b08[_0x17d1f2(0x1ca)]||_0x17d1f2(0x258),_0x51a796=redisClient[_0x17d1f2(0x19f)]();if(_0x162f83[_0x17d1f2(0x233)](_0x1ae38d,_0x162f83[_0x17d1f2(0x2ae)])){const _0x5332dc=(_0xab1b08['format']||_0x162f83[_0x17d1f2(0x1e7)])[_0x17d1f2(0x204)]();if(!ALLOWED_FORMATS[_0x17d1f2(0x1d6)](_0x5332dc))throw new IdGeneratorError(_0x162f83[_0x17d1f2(0x293)],_0x17d1f2(0x1b6)+_0xab1b08['format']);const {formatKey:_0x50f848}=this[_0x17d1f2(0x288)](_0x5332dc,_0xab1b08['prefix']||''),_0x3bacad=this[_0x17d1f2(0x245)](_0xab1b08[_0x17d1f2(0x28d)],_0x50f848),_0x3c624e=this['_buildReuseKey'](_0xab1b08[_0x17d1f2(0x28d)],_0x50f848),[_0x37af5b,_0x5ef4e]=await Promise['all']([_0x51a796[_0x17d1f2(0x291)](_0x3bacad),_0x51a796['zcard'](_0x3c624e)]);return{'resource':_0xab1b08[_0x17d1f2(0x28d)],'mode':_0x162f83[_0x17d1f2(0x2ae)],'formatKey':_0x50f848,'currentCounter':_0x162f83[_0x17d1f2(0x1ab)](parseInt,_0x37af5b,0xa)||0x0,'reusePoolSize':_0x162f83['LsbyZ'](_0x5ef4e,0x0)};}if(_0x1ae38d===_0x162f83['DrGtJ']){const _0xbfcbbe=this['_buildIssuedKey'](_0xab1b08['resource']),_0x128eb0=await _0x51a796['scard'](_0xbfcbbe);return{'resource':_0xab1b08[_0x17d1f2(0x28d)],'mode':'random','issuedCount':_0x128eb0||0x0};}throw new IdGeneratorError(_0x162f83[_0x17d1f2(0x2b2)],'Unknown\x20mode:\x20'+_0x1ae38d);}async['getInfo'](_0x802d03){const _0x1fea28=a0_0x397f95,_0x53e94d={'dLbQc':function(_0x3a4d10,_0x4ae0c5){return _0x3a4d10===_0x4ae0c5;}},_0x2ad61d=await this[_0x1fea28(0x254)](_0x802d03);if(_0x53e94d[_0x1fea28(0x1dd)](_0x2ad61d['mode'],'number')){const _0x4ac75f=redisClient[_0x1fea28(0x19f)](),_0x4e58f9=this[_0x1fea28(0x298)](_0x802d03['resource'],_0x2ad61d['formatKey']),_0x31afcd=this['_buildReuseKey'](_0x802d03['resource'],_0x2ad61d[_0x1fea28(0x1fd)]),[_0x44054b,_0x1daad4]=await Promise[_0x1fea28(0x1aa)]([_0x4ac75f[_0x1fea28(0x1ba)](_0x4e58f9),_0x4ac75f['zrange'](_0x31afcd,0x0,-0x1)]);return{..._0x2ad61d,'reusePoolValues':_0x1daad4[_0x1fea28(0x19a)](_0x5b1c16=>parseInt(_0x5b1c16,0xa)),'meta':_0x44054b&&Object[_0x1fea28(0x246)](_0x44054b)['length']>0x0?_0x44054b:null};}return _0x2ad61d;}async['reset'](_0x405f25){const _0x74c144=a0_0x397f95,_0x16548a={'Wqofo':_0x74c144(0x1be),'OzeUn':_0x74c144(0x258),'ffKvD':_0x74c144(0x1da),'NOGfX':'seq','ihZiQ':'meta','xBZTr':_0x74c144(0x2a8),'Mikez':'idgen_reset','xaPLX':_0x74c144(0x1f0),'kiivH':_0x74c144(0x2b0)};if(!this['enabled'])throw new IdGeneratorError(_0x16548a['Wqofo'],'ID\x20Generator\x20is\x20disabled');if(!this['allowReset'])throw new IdGeneratorError(_0x74c144(0x1c0),_0x74c144(0x1c7));this[_0x74c144(0x208)](_0x405f25[_0x74c144(0x28d)]);const _0x4f6dfe=_0x405f25['mode']||_0x16548a['OzeUn'],_0x50f4a8=redisClient[_0x74c144(0x19f)]();if(_0x4f6dfe==='number'){const _0x13c348=(_0x405f25['format']||_0x74c144(0x202))[_0x74c144(0x204)]();if(!ALLOWED_FORMATS['has'](_0x13c348))throw new IdGeneratorError(_0x16548a['ffKvD'],_0x74c144(0x1b6)+_0x405f25['format']);const {formatKey:_0x51301f}=this['_buildFormatKey'](_0x13c348,_0x405f25[_0x74c144(0x2a5)]||''),_0xc574c6=this[_0x74c144(0x245)](_0x405f25[_0x74c144(0x28d)],_0x51301f),_0xe92328=this[_0x74c144(0x18e)](_0x405f25[_0x74c144(0x28d)],_0x51301f),_0x1f424a=this[_0x74c144(0x298)](_0x405f25['resource'],_0x51301f);return await _0x50f4a8[_0x74c144(0x1c8)](_0xc574c6,_0xe92328,_0x1f424a),logger[_0x74c144(0x267)]({'event':'idgen_reset','resource':_0x405f25['resource'],'mode':_0x16548a['OzeUn'],'formatKey':_0x51301f},_0x74c144(0x285)+_0x405f25[_0x74c144(0x28d)]+':'+_0x51301f),{'reset':!![],'resource':_0x405f25['resource'],'mode':_0x16548a['OzeUn'],'formatKey':_0x51301f,'deletedKeys':[_0x16548a['NOGfX'],_0x74c144(0x297),_0x16548a[_0x74c144(0x268)]]};}if(_0x4f6dfe===_0x16548a[_0x74c144(0x273)]){const _0x5e5746=this['_buildIssuedKey'](_0x405f25['resource']);return await _0x50f4a8[_0x74c144(0x1c8)](_0x5e5746),logger['warn']({'event':_0x16548a[_0x74c144(0x277)],'resource':_0x405f25[_0x74c144(0x28d)],'mode':_0x16548a[_0x74c144(0x273)]},'ID\x20Generator\x20reset:\x20random:'+_0x405f25['resource']),{'reset':!![],'resource':_0x405f25[_0x74c144(0x28d)],'mode':_0x16548a[_0x74c144(0x273)],'deletedKeys':[_0x16548a['xaPLX']]};}throw new IdGeneratorError(_0x16548a[_0x74c144(0x262)],_0x74c144(0x28f)+_0x4f6dfe);}}const instance=new IdGenerator();instance['IdGeneratorError']=IdGeneratorError,module[a0_0x397f95(0x2ab)]=instance,module['exports'][a0_0x397f95(0x2af)]=IdGeneratorError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const
|
|
1
|
+
'use strict';const a0_0x303970=a0_0x5db4;(function(_0x467259,_0x18d6e2){const _0x4760fb=a0_0x5db4,_0x488dfd=_0x467259();while(!![]){try{const _0x40b04a=-parseInt(_0x4760fb(0xd5))/0x1*(-parseInt(_0x4760fb(0xd3))/0x2)+parseInt(_0x4760fb(0xb6))/0x3+-parseInt(_0x4760fb(0xcf))/0x4*(-parseInt(_0x4760fb(0xc1))/0x5)+-parseInt(_0x4760fb(0xd1))/0x6*(parseInt(_0x4760fb(0xb4))/0x7)+parseInt(_0x4760fb(0xcb))/0x8*(-parseInt(_0x4760fb(0xc7))/0x9)+parseInt(_0x4760fb(0xb5))/0xa*(parseInt(_0x4760fb(0xc6))/0xb)+parseInt(_0x4760fb(0xc3))/0xc;if(_0x40b04a===_0x18d6e2)break;else _0x488dfd['push'](_0x488dfd['shift']());}catch(_0x5a2a6e){_0x488dfd['push'](_0x488dfd['shift']());}}}(a0_0x4908,0x7b8a4));function a0_0x5db4(_0x50c200,_0x478d51){_0x50c200=_0x50c200-0xb0;const _0x490810=a0_0x4908();let _0x5db4e4=_0x490810[_0x50c200];if(a0_0x5db4['arsIke']===undefined){var _0x2bae56=function(_0x3bd43b){const _0x828bd7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1cd407='',_0x5567d0='';for(let _0x29ae66=0x0,_0x2cf86a,_0x3e6902,_0x2a9ee4=0x0;_0x3e6902=_0x3bd43b['charAt'](_0x2a9ee4++);~_0x3e6902&&(_0x2cf86a=_0x29ae66%0x4?_0x2cf86a*0x40+_0x3e6902:_0x3e6902,_0x29ae66++%0x4)?_0x1cd407+=String['fromCharCode'](0xff&_0x2cf86a>>(-0x2*_0x29ae66&0x6)):0x0){_0x3e6902=_0x828bd7['indexOf'](_0x3e6902);}for(let _0x3f36fc=0x0,_0x1db7af=_0x1cd407['length'];_0x3f36fc<_0x1db7af;_0x3f36fc++){_0x5567d0+='%'+('00'+_0x1cd407['charCodeAt'](_0x3f36fc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5567d0);};a0_0x5db4['pYjPnM']=_0x2bae56,a0_0x5db4['fzrnqg']={},a0_0x5db4['arsIke']=!![];}const _0x1fcff3=_0x490810[0x0],_0x1f7e9f=_0x50c200+_0x1fcff3,_0x3db10e=a0_0x5db4['fzrnqg'][_0x1f7e9f];return!_0x3db10e?(_0x5db4e4=a0_0x5db4['pYjPnM'](_0x5db4e4),a0_0x5db4['fzrnqg'][_0x1f7e9f]=_0x5db4e4):_0x5db4e4=_0x3db10e,_0x5db4e4;}const redisClient=require('./redis-client'),{logger}=require(a0_0x303970(0xb1)),crypto=require('crypto');function a0_0x4908(){const _0x4aff3c=['z2vUzxjHDgvlzxK','mJy1nJGZnNDuEhDpva','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i6ia','AwrLBxbVDgvUy3LFC3rVCMu','mJu3mtq4mw9Su0zcBq','odmYnZDYEwzyuvi','CMvX','x3r0Ba','zgvMyxvSDa','oda4tM5ZwfPi','zMLSDgvY','AwrLBxbVDgvUy3LFCMv0CMLLDMvFzxjYB3i','txH4tLa','nty0mde2uhn5r2nj','z2v0q2XPzw50','nLbOC1LKua','Dhj1zq','nJiYnKHVAMDrsa','swrLBxbVDgvUy3KGy29UzMLNDxjHDgLVBIbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','ntnJEfbIDeO','zxjYB3i','z2v0','AwrLBxbVDgvUy3LFC3rVCMvFzxjYB3i','zgvIDwC','swrLBxbVDgvUy3KGCMvZCg9UC2uGC3rVCMvK','lI9SB2DNzxi','x2vUywjSzwq','BwvZC2fNzq','nJGXnJG2nNbpBK5fCG','mtbjug1mBNm','mJG0ndy3mKPvCxrbzq','zxDxChO','zw52','vfbNwMG','DhrS','x2LUAxrdB25MAwC','zw5HyMXLza','C3rYAw5NAwz5','sKvNEMm','zxHWB3j0CW','surftvbpvevoq1LFvfrm','mZbKugfZBeC'];a0_0x4908=function(){return _0x4aff3c;};return a0_0x4908();}class IdempotencyManager{constructor(){const _0x2b6d4e=a0_0x303970;this['_enabled']=null,this[_0x2b6d4e(0xc9)]=null,this['_initialized']=![];}[a0_0x303970(0xbb)](){const _0x30c44d=a0_0x303970,_0x5849ae={'bXIeq':function(_0x12e5ef,_0x321145){return _0x12e5ef===_0x321145;},'JEgzc':_0x30c44d(0xd2),'CEQQS':function(_0x1a3b7b,_0x5a3af6,_0x59804f){return _0x1a3b7b(_0x5a3af6,_0x59804f);},'MNDOb':'idempotency_config_init'};this[_0x30c44d(0xb2)]=_0x5849ae['bXIeq'](process[_0x30c44d(0xb8)]['IDEMPOTENCY_ENABLED'],_0x5849ae[_0x30c44d(0xbe)]),this[_0x30c44d(0xc9)]=_0x5849ae['CEQQS'](parseInt,process[_0x30c44d(0xb8)][_0x30c44d(0xc0)],0xa)||0x12c,this['_initialized']=!![],logger['info']({'event':_0x5849ae['MNDOb'],'enabled':this[_0x30c44d(0xb2)],'ttl':this[_0x30c44d(0xc9)]},_0x30c44d(0xd4)+this[_0x30c44d(0xb2)]+',\x20TTL:\x20'+this[_0x30c44d(0xc9)]+'s');}['_ensureInitialized'](){const _0x336bbc=a0_0x303970;!this['_initialized']&&this[_0x336bbc(0xbb)]();}get[a0_0x303970(0xbc)](){const _0x2abac8=a0_0x303970;return this['_ensureInitialized'](),this[_0x2abac8(0xb2)];}get['ttl'](){const _0x22780b=a0_0x303970;return this['_ensureInitialized'](),this[_0x22780b(0xc9)];}['isEnabled'](){return this['enabled'];}['buildKey'](_0x23cd4e,_0xb1ef45){const _0x41eb5e=a0_0x303970,_0x178fb2={'zjhLl':_0x41eb5e(0xca),'ewWpz':'unknown'},_0x2c7845=_0xb1ef45['path']['split']('/')[_0x41eb5e(0xcc)](Boolean),_0x5c1430=_0x2c7845[0x0]||_0x178fb2['zjhLl'],_0x1406f1=_0x2c7845[0x1]||_0x178fb2['ewWpz'],_0x1cb5b3=_0x2c7845[0x2]||_0x178fb2[_0x41eb5e(0xb7)];return'rf:idem:'+_0x5c1430+':'+_0x1406f1+':'+_0x1cb5b3+':'+_0x23cd4e;}async['store'](_0x348dbf,_0x47f0c7){const _0x14d00d=a0_0x303970,_0x4fc802={'PSYVT':_0x14d00d(0xd8)};if(!this[_0x14d00d(0xbc)])return![];try{const _0x504813=redisClient[_0x14d00d(0xd0)]();return await _0x504813['setex'](_0x348dbf,this[_0x14d00d(0xba)],JSON[_0x14d00d(0xbd)](_0x47f0c7)),logger[_0x14d00d(0xd9)]({'event':_0x14d00d(0xc5),'key':_0x348dbf,'ttl':this['ttl'],'statusCode':_0x47f0c7['statusCode']},_0x14d00d(0xb0)),!![];}catch(_0x2c192c){return logger[_0x14d00d(0xd6)]({'event':_0x4fc802['PSYVT'],'key':_0x348dbf,'error':_0x2c192c[_0x14d00d(0xb3)]},_0x14d00d(0xc4)+_0x2c192c['message']),![];}}async['retrieve'](_0x2df707){const _0x271c07=a0_0x303970,_0x16e3b7={'TPgZh':'idempotency_hit','MxxNP':'Idempotency\x20cache\x20HIT'};if(!this['enabled'])return null;try{const _0x29f044=redisClient[_0x271c07(0xd0)](),_0x325ad2=await _0x29f044[_0x271c07(0xd7)](_0x2df707);if(_0x325ad2)return logger['info']({'event':_0x16e3b7[_0x271c07(0xb9)],'key':_0x2df707},_0x16e3b7[_0x271c07(0xce)]),JSON['parse'](_0x325ad2);return logger[_0x271c07(0xd9)]({'event':'idempotency_miss','key':_0x2df707},'Idempotency\x20cache\x20MISS'),null;}catch(_0x38680e){return logger[_0x271c07(0xd6)]({'event':_0x271c07(0xcd),'key':_0x2df707,'error':_0x38680e['message']},'Idempotency\x20retrieve\x20error:\x20'+_0x38680e[_0x271c07(0xb3)]),null;}}[a0_0x303970(0xc2)](_0x32af3a=a0_0x303970(0xc8)){return _0x32af3a+'_'+crypto['randomUUID']();}['buildDeterministicKey'](_0x452e66,_0x395329,_0x38a191){return _0x452e66+':'+_0x395329+':'+_0x38a191;}}module[a0_0x303970(0xbf)]=new IdempotencyManager();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x2433c8=a0_0x115a;(function(_0x3975a2,_0x3a8101){const _0xb7fbca=a0_0x115a,_0x5de1b3=_0x3975a2();while(!![]){try{const _0x28730b=parseInt(_0xb7fbca(0x1d1))/0x1*(parseInt(_0xb7fbca(0x1df))/0x2)+parseInt(_0xb7fbca(0x1e5))/0x3+parseInt(_0xb7fbca(0x1d5))/0x4*(-parseInt(_0xb7fbca(0x1e6))/0x5)+-parseInt(_0xb7fbca(0x1f0))/0x6+-parseInt(_0xb7fbca(0x1e1))/0x7+-parseInt(_0xb7fbca(0x1e3))/0x8*(parseInt(_0xb7fbca(0x1e8))/0x9)+parseInt(_0xb7fbca(0x1d9))/0xa;if(_0x28730b===_0x3a8101)break;else _0x5de1b3['push'](_0x5de1b3['shift']());}catch(_0x4fcde3){_0x5de1b3['push'](_0x5de1b3['shift']());}}}(a0_0x1c41,0x1bc02));function a0_0x1c41(){const _0x4da549=['nJi3mdC1zMnVv3nm','ntvsDgPsDu8','sKrlAM4','ntq5BvrlBgDV','BNvTyMvY','CMvWBgfJzq','vuTWAxC','yMf0y2HwywXPzgf0zvjVD3m','ANDNz1K','zM9YBwf0','C2v0','mZaWmdy2tvHKt2DJ','zM9YrwfJAa','mNnIsKvzsG','zw1HAwW','BwfW','DMfSAwrHDgvoDw1Izxi','mJKXntzRvvjQwfm','uMvXDwLYzwqGzMLLBgqGAxmGzw1WDhK','s1bvq1u','DMfSAwrHDgvvCMW','mtmWnZC3mfz2A1PPuW','BgvUz3rO','DMfSAwrHDgvfBwfPBa','zxHWB3j0CW','CxzpquC','yMf0y2HFDMfSAwrHDgLVBL9JB21WBgv0zq','mtuWotuWAxHVuefX','DMfSAwrHDgvqAg9Uzq','mZm5mJqXu1nWzefe','qMf0y2GGDMfSAwrHDgLVBIbJB21WBgv0zwq','mJyWmJrvwun6sMy','DMfSAwrHDgvsB3C'];a0_0x1c41=function(){return _0x4da549;};return a0_0x1c41();}const {logger}=require('./logger');function a0_0x115a(_0x52084b,_0x9bd867){_0x52084b=_0x52084b-0x1d1;const _0x1c41d8=a0_0x1c41();let _0x115ad5=_0x1c41d8[_0x52084b];if(a0_0x115a['dqWook']===undefined){var _0x46ecde=function(_0x2eaae1){const _0x1156ef='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1a36fc='',_0x5cd882='';for(let _0x5a6887=0x0,_0x4c6c55,_0xbd0344,_0x2f2086=0x0;_0xbd0344=_0x2eaae1['charAt'](_0x2f2086++);~_0xbd0344&&(_0x4c6c55=_0x5a6887%0x4?_0x4c6c55*0x40+_0xbd0344:_0xbd0344,_0x5a6887++%0x4)?_0x1a36fc+=String['fromCharCode'](0xff&_0x4c6c55>>(-0x2*_0x5a6887&0x6)):0x0){_0xbd0344=_0x1156ef['indexOf'](_0xbd0344);}for(let _0x5197e5=0x0,_0x3dcd1e=_0x1a36fc['length'];_0x5197e5<_0x3dcd1e;_0x5197e5++){_0x5cd882+='%'+('00'+_0x1a36fc['charCodeAt'](_0x5197e5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5cd882);};a0_0x115a['hYSzZd']=_0x46ecde,a0_0x115a['oBAMtY']={},a0_0x115a['dqWook']=!![];}const _0x2f1e85=_0x1c41d8[0x0],_0x1088cb=_0x52084b+_0x2f1e85,_0x23714b=a0_0x115a['oBAMtY'][_0x1088cb];return!_0x23714b?(_0x115ad5=a0_0x115a['hYSzZd'](_0x115ad5),a0_0x115a['oBAMtY'][_0x1088cb]=_0x115ad5):_0x115ad5=_0x23714b,_0x115ad5;}class ImportValidator{['validateRow'](_0x3de791,_0x809940=[],_0x281bf9={}){const _0x17be58=a0_0x115a,_0x43c647={'KPUCU':function(_0x1550b6,_0x3d7857){return _0x1550b6===_0x3d7857;},'RUBFf':'required','NTBga':function(_0x8fa9b7,_0x1754dd){return _0x8fa9b7===_0x1754dd;}},_0x5df00a=[];return _0x809940[_0x17be58(0x1f1)](_0x5c9efb=>{const _0x5ae10e=_0x17be58,_0x25170b=_0x3de791[_0x5c9efb];(_0x25170b===null||_0x25170b===undefined||_0x43c647[_0x5ae10e(0x1d7)](_0x25170b,''))&&_0x5df00a['push']({'field':_0x5c9efb,'type':_0x43c647['RUBFf'],'message':_0x5ae10e(0x1d6)});}),Object['keys'](_0x281bf9)['forEach'](_0x5e2b76=>{const _0xb7f146=_0x3de791[_0x5e2b76],_0x3fe169=_0x281bf9[_0x5e2b76];if(_0x43c647['NTBga'](_0xb7f146,null)||_0xb7f146===undefined||_0xb7f146==='')return;const _0x51f042=this['validateFieldFormat'](_0x5e2b76,_0xb7f146,_0x3fe169);_0x51f042&&_0x5df00a['push'](_0x51f042);}),_0x5df00a;}['validateFieldFormat'](_0x174a1a,_0x4bb46c,_0x350291){const _0x45726d=a0_0x115a,_0x3f3811={'qqrvK':'phone'};switch(_0x350291){case _0x45726d(0x1d2):return this[_0x45726d(0x1db)](_0x174a1a,_0x4bb46c);case _0x3f3811['qqrvK']:return this['validatePhone'](_0x174a1a,_0x4bb46c);case'url':return this[_0x45726d(0x1d8)](_0x174a1a,_0x4bb46c);case _0x45726d(0x1e9):return this[_0x45726d(0x1d4)](_0x174a1a,_0x4bb46c);default:return null;}}['validateEmail'](_0x41c403,_0x2e9adf){const _0x13061e={'plUxF':function(_0x16ad25,_0x20b126){return _0x16ad25(_0x20b126);}},_0x3e49ad=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x3e49ad['test'](_0x13061e['plUxF'](String,_0x2e9adf)))return{'field':_0x41c403,'type':'format','message':'Invalid\x20email\x20format'};return null;}[a0_0x2433c8(0x1e0)](_0x4cef16,_0x8ef495){const _0xc61e3a=a0_0x2433c8,_0xd827af={'HPXTf':function(_0x442414,_0x1f1750){return _0x442414(_0x1f1750);},'ccomM':function(_0x24ccb1,_0x2ca5f7){return _0x24ccb1<_0x2ca5f7;},'UKpiw':'Invalid\x20phone\x20format'},_0x213d3a=_0xd827af['HPXTf'](String,_0x8ef495)[_0xc61e3a(0x1ea)](/\s+/g,''),_0x31174c=/^[\d\+\-\(\)]+$/;if(!_0x31174c['test'](_0x213d3a)||_0xd827af['ccomM'](_0x213d3a[_0xc61e3a(0x1da)],0x8))return{'field':_0x4cef16,'type':'format','message':_0xd827af[_0xc61e3a(0x1eb)]};return null;}[a0_0x2433c8(0x1d8)](_0x3eb320,_0x144c70){try{return new URL(String(_0x144c70)),null;}catch(_0x4fc2ea){return{'field':_0x3eb320,'type':'format','message':'Invalid\x20URL\x20format'};}}[a0_0x2433c8(0x1d4)](_0xbdf3e2,_0x23a8cf){const _0x4799e9=a0_0x2433c8,_0x466ab5={'JDKjn':function(_0x3d4030,_0x1fd07f){return _0x3d4030(_0x1fd07f);}};if(_0x466ab5[_0x4799e9(0x1e7)](isNaN,_0x23a8cf))return{'field':_0xbdf3e2,'type':_0x4799e9(0x1ee),'message':'Invalid\x20number\x20format'};return null;}['detectDuplicatesInFile'](_0x208c4b,_0x57c9fe){const _0x5ebe06=a0_0x2433c8,_0x222402=new Map(),_0x51ab5d=[];return _0x208c4b[_0x5ebe06(0x1f1)]((_0x2bf340,_0x4836a2)=>{const _0x1dca7b=_0x5ebe06,_0x3c93be=_0x57c9fe[_0x1dca7b(0x1d3)](_0x3be6af=>_0x2bf340[_0x3be6af])['join']('|');_0x222402['has'](_0x3c93be)?_0x51ab5d['push']({'rowIndex':_0x4836a2,'duplicateOf':_0x222402['get'](_0x3c93be),'key':_0x3c93be}):_0x222402[_0x1dca7b(0x1ef)](_0x3c93be,_0x4836a2);}),_0x51ab5d;}[a0_0x2433c8(0x1ec)](_0x19af3a,_0x57410f,_0x4b6aa3){const _0x25bf41=a0_0x2433c8,_0x409395={'qvOAG':function(_0x4c6526,_0x7387ef){return _0x4c6526>_0x7387ef;},'jwggY':_0x25bf41(0x1e2)},_0x355437=[];return _0x19af3a[_0x25bf41(0x1f1)]((_0x2cc64e,_0x5d995f)=>{const _0x3574a2=_0x25bf41,_0x125cb5=this[_0x3574a2(0x1e4)](_0x2cc64e,_0x57410f,_0x4b6aa3);_0x409395[_0x3574a2(0x1dd)](_0x125cb5[_0x3574a2(0x1da)],0x0)&&_0x355437['push']({'rowIndex':_0x5d995f,'rowData':_0x2cc64e,'errors':_0x125cb5});}),logger['info']({'event':_0x25bf41(0x1de),'totalRows':_0x19af3a[_0x25bf41(0x1da)],'errorCount':_0x355437['length']},_0x409395[_0x25bf41(0x1ed)]),_0x355437;}}module[a0_0x2433c8(0x1dc)]=new ImportValidator();
|