@restforgejs/platform 4.2.8 → 4.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SECURITY.md +83 -4
- package/bin/sdf-tools.exe +0 -0
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/dashboard/create.js +4 -1
- package/generators/cli/endpoint/create.js +1 -1
- package/generators/cli/key/generate.js +2 -1
- package/generators/cli/key/revoke.js +2 -1
- package/generators/cli/payload/diff.js +3 -2
- package/generators/cli/payload/generate.js +3 -2
- package/generators/cli/payload/sync.js +3 -2
- package/generators/cli/payload/validate.js +3 -2
- package/generators/cli/processor/create.js +14 -3
- package/generators/cli/project/delete.js +2 -1
- package/generators/cli/query/validate.js +3 -2
- package/generators/cli/schema/apply.js +3 -2
- package/generators/cli/schema/describe.js +3 -2
- package/generators/cli/schema/diff.js +3 -2
- package/generators/cli/schema/introspect.js +3 -2
- package/generators/cli/schema/list.js +3 -2
- package/generators/cli/schema/migrate.js +3 -2
- package/generators/lib/migration/audit-table-runner.js +213 -215
- package/generators/lib/templates/dashboard-catalog.js +1 -437
- package/generators/lib/templates/db-connection-env.js +1 -212
- package/generators/lib/templates/dbschema-catalog.js +1 -489
- package/generators/lib/templates/field-validation-catalog.js +1 -531
- package/generators/lib/templates/mysql-template.js +1 -3863
- package/generators/lib/templates/oracle-template.js +1 -3915
- package/generators/lib/templates/postgres-template.js +1 -5838
- package/generators/lib/templates/query-declarative-catalog.js +1 -199
- package/generators/lib/templates/sqlite-template.js +1 -3440
- package/generators/lib/utils/env-manager.js +6 -0
- package/generators/lib/utils/path-validator.js +71 -0
- package/generators/lib/validators/payload-validator.js +1 -2
- package/integrity-manifest.json +28 -10
- package/package.json +11 -3
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
- package/generators/metadata/global.json +0 -58
- package/generators/metadata/test-mysql-workbench.json +0 -118
- package/generators/metadata/test-mysql.json +0 -56
- package/generators/metadata/test-oracle-workbench.json +0 -118
- package/generators/metadata/test-oracle.json +0 -56
- package/generators/metadata/test-pg-workbench.json +0 -118
- package/generators/metadata/test-pg.json +0 -56
- package/generators/scripts/obfuscate-source.js +0 -356
- package/generators/scripts/validate-catalog.js +0 -430
- package/generators/scripts/validate-dbschema-catalog.js +0 -708
- package/generators/tests/baseline/mysql/mini_inventory_item/src/models/mini-inventory/item.js +0 -944
- package/generators/tests/baseline/mysql/mini_inventory_item/src/modules/mini-inventory/item.js +0 -740
- package/generators/tests/baseline/mysql/mini_inventory_item/src/modules/mini-inventory.js +0 -336
- package/generators/tests/baseline/oracle/mini_inventory_item/src/models/mini-inventory/item.js +0 -1002
- package/generators/tests/baseline/oracle/mini_inventory_item/src/modules/mini-inventory/item.js +0 -740
- package/generators/tests/baseline/oracle/mini_inventory_item/src/modules/mini-inventory.js +0 -336
- package/generators/tests/baseline/postgres/mini_inventory_item/src/models/mini-inventory/item.js +0 -1333
- package/generators/tests/baseline/postgres/mini_inventory_item/src/modules/mini-inventory/item.js +0 -1173
- package/generators/tests/baseline/postgres/mini_inventory_item/src/modules/mini-inventory.js +0 -496
- package/generators/tests/fixtures/payloads/custom-sensitive.json +0 -27
- package/generators/tests/fixtures/payloads/dynamic-search-optout.json +0 -23
- package/generators/tests/fixtures/payloads/login-with-password.json +0 -22
- package/generators/tests/fixtures/payloads/order-process.json +0 -52
- package/generators/tests/fixtures/payloads/with-inline-sql.json +0 -26
- package/generators/tests/integration-tahap4b/README.md +0 -145
- package/generators/tests/integration-tahap4b/run-concurrent.js +0 -77
- package/generators/tests/integration-tahap4b/seed.sql +0 -53
- package/generators/tests/integration-tahap4b/verify.sql +0 -110
- package/generators/tests/unit/cli/create-dashboard.test.js +0 -505
- package/generators/tests/unit/cli/create-processor.test.js +0 -319
- package/generators/tests/unit/cli/dispatch-dashboard.test.js +0 -149
- package/generators/tests/unit/lib/dashboard-generator.test.js +0 -895
- package/generators/tests/unit/lib/dashboard-validator.test.js +0 -354
- package/generators/tests/unit/lib/dbschema-kit/apply-executor.test.js +0 -437
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-introspect.test.js +0 -393
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-generate-ddl.test.js +0 -104
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-init.test.js +0 -119
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-list.test.js +0 -48
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-migrate.test.js +0 -175
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-validate.test.js +0 -102
- package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-models.test.js +0 -43
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/all-schemas-listing.js +0 -84
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/connection-error.js +0 -13
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/empty.js +0 -12
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/multi-schema.js +0 -124
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/single-schema-inventory.js +0 -64
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/two-tables.js +0 -66
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/connection-error.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/partial.js +0 -29
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/rollback.js +0 -26
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/success.js +0 -43
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/audit/events.js +0 -18
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/inventory/products.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/users.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/connection.test.js +0 -112
- package/generators/tests/unit/lib/dbschema-kit/ddl-generator.test.js +0 -205
- package/generators/tests/unit/lib/dbschema-kit/define-model.test.js +0 -56
- package/generators/tests/unit/lib/dbschema-kit/dialect/index.test.js +0 -46
- package/generators/tests/unit/lib/dbschema-kit/dialect/mysql.test.js +0 -126
- package/generators/tests/unit/lib/dbschema-kit/dialect/oracle.test.js +0 -126
- package/generators/tests/unit/lib/dbschema-kit/dialect/postgres.test.js +0 -131
- package/generators/tests/unit/lib/dbschema-kit/dialect/sqlite.test.js +0 -126
- package/generators/tests/unit/lib/dbschema-kit/driver-loader.test.js +0 -93
- package/generators/tests/unit/lib/dbschema-kit/emitters/create-index.test.js +0 -173
- package/generators/tests/unit/lib/dbschema-kit/emitters/create-table.test.js +0 -376
- package/generators/tests/unit/lib/dbschema-kit/emitters/drop-table.test.js +0 -78
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/invalid-dialect.env +0 -6
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/missing-dialect.env +0 -5
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/missing-host.env +0 -5
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/oracle-valid.env +0 -6
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/postgres-valid.env +0 -7
- package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/sqlite-valid.env +0 -2
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/category.js +0 -11
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/item_product.js +0 -11
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/stock_inbound.js +0 -24
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/stock_inbound_item.js +0 -28
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/supplier.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/warehouse.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-invalid/orphan.js +0 -17
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/category.js +0 -11
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/item_product.js +0 -11
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/supplier.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/warehouse.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/transactions/stock_inbound.js +0 -24
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/transactions/stock_inbound_item.js +0 -28
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/audit/events.js +0 -18
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/inventory/products.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/public/users.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-subfolder/extra/category.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-subfolder/master/category.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-tablename/bar.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-tablename/foo.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/empty-folder/README.md +0 -1
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/invalid-export/plain.js +0 -3
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/invalid-schema/bad.js +0 -6
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/legacy-pattern/legacy.js +0 -12
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-distinct/audit/products.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-distinct/inventory/products.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-duplicate/a/products.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-duplicate/b/products.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/nested-deep/a/b/c/deep_table.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/.hidden/ignored.js +0 -7
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/master/category.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/master/supplier.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/transactions/stock_inbound.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/transactions/stock_inbound_item.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-multiple/category.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-multiple/item_product.js +0 -9
- package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-single/category.js +0 -8
- package/generators/tests/unit/lib/dbschema-kit/integration.test.js +0 -217
- package/generators/tests/unit/lib/dbschema-kit/introspect-mapper.test.js +0 -403
- package/generators/tests/unit/lib/dbschema-kit/ir-builder.test.js +0 -390
- package/generators/tests/unit/lib/dbschema-kit/loader.test.js +0 -128
- package/generators/tests/unit/lib/dbschema-kit/naming.test.js +0 -170
- package/generators/tests/unit/lib/dbschema-kit/parser/shorthand-parser.test.js +0 -237
- package/generators/tests/unit/lib/dbschema-kit/schema-printer.test.js +0 -251
- package/generators/tests/unit/lib/dbschema-kit/statement-modifier.test.js +0 -105
- package/generators/tests/unit/lib/dbschema-kit/statement-splitter.test.js +0 -165
- package/generators/tests/unit/lib/dbschema-kit/topological-sort.test.js +0 -135
- package/generators/tests/unit/lib/dbschema-kit/validator/check-compatibility-validator.test.js +0 -373
- package/generators/tests/unit/lib/dbschema-kit/validator/circular-relation-validator.test.js +0 -454
- package/generators/tests/unit/lib/dbschema-kit/validator/cross-model-validator.test.js +0 -512
- package/generators/tests/unit/lib/dbschema-kit/validator/enhanced-validate-integration.test.js +0 -390
- package/generators/tests/unit/lib/dbschema-kit/validator/naming-convention-validator.test.js +0 -306
- package/generators/tests/unit/lib/dbschema-kit/validator/schema-validator.test.js +0 -443
- package/generators/tests/unit/lib/dbschema-kit/validator/type-compatibility-validator.test.js +0 -440
- package/generators/tests/unit/lib/dbschema-kit/validator/validator-reporter.test.js +0 -172
- package/generators/tests/unit/lib/metadata-manager-dashboard.test.js +0 -256
- package/generators/tests/unit/lib/payload-validator-fieldpolicy.test.js +0 -240
- package/generators/tests/unit/lib/processor-validation-generator.test.js +0 -300
- package/generators/tests/unit/lib/sensitive-field-masker.test.js +0 -170
- package/generators/tests/unit/lib/sql-table-extractor.test.js +0 -119
- package/scripts/generate-integrity-manifest.js +0 -124
- package/scripts/snapshot-cli-contracts.js +0 -194
- package/scripts/verify-publish.js +0 -56
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a0_0x991bcf=a0_0x3334;function a0_0x3334(_0x407b03,_0x1b357a){_0x407b03=_0x407b03-0xff;const _0x243aab=a0_0x243a();let _0x3334cc=_0x243aab[_0x407b03];if(a0_0x3334['zTQGki']===undefined){var _0x59f56e=function(_0x47eef2){const _0x390bcf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x400e42='',_0x27cd3e='';for(let _0x4772a8=0x0,_0x540fdc,_0x214398,_0x23472e=0x0;_0x214398=_0x47eef2['charAt'](_0x23472e++);~_0x214398&&(_0x540fdc=_0x4772a8%0x4?_0x540fdc*0x40+_0x214398:_0x214398,_0x4772a8++%0x4)?_0x400e42+=String['fromCharCode'](0xff&_0x540fdc>>(-0x2*_0x4772a8&0x6)):0x0){_0x214398=_0x390bcf['indexOf'](_0x214398);}for(let _0xbba2e6=0x0,_0xa8f78d=_0x400e42['length'];_0xbba2e6<_0xa8f78d;_0xbba2e6++){_0x27cd3e+='%'+('00'+_0x400e42['charCodeAt'](_0xbba2e6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x27cd3e);};a0_0x3334['foihfx']=_0x59f56e,a0_0x3334['NIAhqE']={},a0_0x3334['zTQGki']=!![];}const _0xad4af0=_0x243aab[0x0],_0x38dca5=_0x407b03+_0xad4af0,_0x1984d5=a0_0x3334['NIAhqE'][_0x38dca5];return!_0x1984d5?(_0x3334cc=a0_0x3334['foihfx'](_0x3334cc),a0_0x3334['NIAhqE'][_0x38dca5]=_0x3334cc):_0x3334cc=_0x1984d5,_0x3334cc;}(function(_0x3b0cd0,_0x537812){const _0x23cd26=a0_0x3334,_0xc0c1b0=_0x3b0cd0();while(!![]){try{const _0x255962=-parseInt(_0x23cd26(0x114))/0x1+parseInt(_0x23cd26(0x11e))/0x2*(-parseInt(_0x23cd26(0x111))/0x3)+parseInt(_0x23cd26(0x123))/0x4*(parseInt(_0x23cd26(0x103))/0x5)+parseInt(_0x23cd26(0x129))/0x6*(-parseInt(_0x23cd26(0x109))/0x7)+-parseInt(_0x23cd26(0x124))/0x8*(parseInt(_0x23cd26(0x10f))/0x9)+-parseInt(_0x23cd26(0x10c))/0xa+parseInt(_0x23cd26(0x105))/0xb;if(_0x255962===_0x537812)break;else _0xc0c1b0['push'](_0xc0c1b0['shift']());}catch(_0x40a343){_0xc0c1b0['push'](_0xc0c1b0['shift']());}}}(a0_0x243a,0xebc50));const ExcelJS=require('exceljs'),{logger}=require(a0_0x991bcf(0x100));function a0_0x243a(){const _0x572a81=['CMLJAfrLEhq','BM9YBwfSAxPLq2vSBfzHBhvL','B2jQzwn0','ntqXndC1ngvsD1r6DG','BwvZC2fNzq','ChvZAa','DMHhCwq','jdfFjdi','zxHWB3j0CW','lI9SB2DNzxi','z2v0rNvSBfLLyxi','B0DODe8','mJe0odq1re5UEgvs','BwfW','oduWmtG5mdfwDK1svwK','q0DxvLm','CeXzEha','CgXLA2u','mtrRDLLPreO','DvnMy2C','rMfPBgvKihrVihbHCNnLiev4y2vSigzPBgu6ia','mtGYodK4mdb0we14CwW','rM50uNC','zMLSDgvY','ody1offJy3nurW','rurSEfK','ndeYotm1rw1HwwvI','t0XZAwC','CMvHzezPBgu','mtaYntqXnfDPAePfCG','C2XPy2u','BgvUz3rO','CgfKu3rHCNq','DMfSDwvZ','EgXZEa','BM9YBwfSAxPLsgvHzgvY','sxPdsMS','CgfYC2vfEgnLBezPBgu','y3zIu1C','mJzLzKXOuui','CMvWBgfJzq','zxHJzwXFCgfYC2vK','DhjPBq','Bwf0y2G','otzdA092zuO','mteXotjurfnTD3i','Dgv4Da'];a0_0x243a=function(){return _0x572a81;};return a0_0x243a();}class ExcelParser{async[a0_0x991bcf(0x11c)](_0x33a3db){const _0x2c7548=a0_0x991bcf,_0x2a970a={'OLsig':function(_0x186714,_0x5a9aff){return _0x186714===_0x5a9aff;},'CGWVS':'excel_parse_error','OSRmL':'Failed\x20to\x20parse\x20Excel\x20file'};try{const _0x55a508=new ExcelJS['Workbook']();await _0x55a508[_0x2c7548(0x119)][_0x2c7548(0x113)](_0x33a3db);const _0xcac2a=_0x55a508['worksheets'][0x0];if(!_0xcac2a)throw new Error('No\x20worksheet\x20found\x20in\x20Excel\x20file');const _0x62982b=[];let _0x525971=[];return _0xcac2a['eachRow']((_0x11cc0e,_0x3342ce)=>{const _0x3b105b=_0x2c7548,_0x1f55dc=_0x11cc0e[_0x3b105b(0x118)];if(_0x2a970a[_0x3b105b(0x112)](_0x3342ce,0x1))_0x525971=_0x1f55dc[_0x3b105b(0x115)](0x1)[_0x3b105b(0x104)](_0x15a7bb=>this[_0x3b105b(0x11a)](_0x15a7bb));else{const _0x3cb061={};_0x525971['forEach']((_0xb267fb,_0x1de249)=>{const _0x2012c3=_0x3b105b,_0x5b42bc=_0x1f55dc[_0x1de249+0x1];_0x3cb061[_0xb267fb]=this[_0x2012c3(0x127)](_0x5b42bc);}),_0x62982b[_0x3b105b(0x12b)](_0x3cb061);}}),logger['info']({'event':_0x2c7548(0x120),'filePath':_0x33a3db,'totalRows':_0x62982b['length'],'headers':_0x525971['length']},'Excel\x20file\x20parsed\x20successfully'),{'headers':_0x525971,'rows':_0x62982b,'totalRows':_0x62982b['length']};}catch(_0x474e3b){logger['error']({'event':_0x2a970a[_0x2c7548(0x106)],'filePath':_0x33a3db,'error':_0x474e3b[_0x2c7548(0x12a)]},_0x2a970a['OSRmL']);throw new Error(_0x2c7548(0x10b)+_0x474e3b['message']);}}[a0_0x991bcf(0x11a)](_0xcfab13){const _0x23b729=a0_0x991bcf,_0x1e3aca={'EDlxY':function(_0xf2bfa4,_0x122aff){return _0xf2bfa4===_0x122aff;}};if(_0x1e3aca[_0x23b729(0x110)](_0xcfab13,null)||_0xcfab13===undefined)return'';let _0x382669=String(_0xcfab13)[_0x23b729(0x121)]();return _0x382669=_0x382669[_0x23b729(0x11f)](/\s+/g,'_')['replace'](/([a-z])([A-Z])/g,_0x23b729(0x12d))[_0x23b729(0x11f)](/([A-Z]+)([A-Z][a-z])/g,'$1_$2')['toLowerCase'](),_0x382669;}['normalizeCellValue'](_0x380368){const _0x788e5=a0_0x991bcf,_0x22d33f={'FntRw':function(_0x3e880e,_0x186a7a){return _0x3e880e===_0x186a7a;},'pleke':function(_0x1bb25c,_0x35f1d8){return _0x1bb25c instanceof _0x35f1d8;},'uSfcg':function(_0x4d6c64,_0x33978b){return _0x4d6c64(_0x33978b);},'yVSnf':function(_0x431c20,_0x200d53){return _0x431c20===_0x200d53;},'sAniv':'object','pLYxp':function(_0x4795b3,_0x1b3353){return _0x4795b3===_0x1b3353;},'vhGqd':function(_0x3c3b76,_0x4e67c9){return _0x3c3b76!==_0x4e67c9;},'IzCJk':function(_0x3446ae,_0x39a7fc){return _0x3446ae===_0x39a7fc;},'oGhtO':'string'};if(_0x22d33f[_0x788e5(0x10d)](_0x380368,null)||_0x22d33f[_0x788e5(0x10d)](_0x380368,undefined))return null;if(_0x22d33f[_0x788e5(0x108)](_0x380368,Date)){const _0x5e755a=_0x380368[_0x788e5(0x101)](),_0x565943=_0x22d33f['uSfcg'](String,_0x380368['getMonth']()+0x1)['padStart'](0x2,'0'),_0x2e829b=String(_0x380368['getDate']())['padStart'](0x2,'0');return _0x5e755a+'-'+_0x565943+'-'+_0x2e829b;}if(typeof _0x380368==='string'){const _0x56fcfb=_0x380368[_0x788e5(0x122)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x56fcfb){const _0x2cb0bd=String(_0x56fcfb[0x1])[_0x788e5(0x117)](0x2,'0'),_0x1c0133=_0x22d33f[_0x788e5(0x10a)](String,_0x56fcfb[0x2])['padStart'](0x2,'0'),_0x558f1e=_0x56fcfb[0x3];return _0x558f1e+'-'+_0x1c0133+'-'+_0x2cb0bd;}}if(_0x380368&&_0x22d33f['yVSnf'](typeof _0x380368,_0x22d33f['sAniv'])&&_0x380368[_0x788e5(0x126)])return _0x380368['richText'][_0x788e5(0x104)](_0x2c8c77=>_0x2c8c77[_0x788e5(0x125)])['join']('');if(_0x380368&&_0x22d33f[_0x788e5(0x107)](typeof _0x380368,_0x788e5(0x128))&&_0x22d33f[_0x788e5(0x12c)](_0x380368['result'],undefined))return this['normalizeCellValue'](_0x380368['result']);if(_0x22d33f[_0x788e5(0x11b)](typeof _0x380368,_0x22d33f[_0x788e5(0x102)]))return _0x380368[_0x788e5(0x121)]();return _0x380368;}['validateExcelStructure'](_0x5377ce,_0x45c2e3){const _0x17e4cd=a0_0x991bcf,_0x54a94b={'cvbSW':function(_0x785e8a,_0x4b4056){return _0x785e8a===_0x4b4056;}},_0x6dece4=new Set(_0x5377ce),_0x2d4f4b=new Set(_0x45c2e3),_0x575d7e=_0x45c2e3[_0x17e4cd(0x10e)](_0x3f7e44=>!_0x6dece4['has'](_0x3f7e44)),_0x1121fc=_0x5377ce['filter'](_0x6dfb80=>!_0x2d4f4b['has'](_0x6dfb80)),_0x32d40e=_0x54a94b[_0x17e4cd(0x11d)](_0x575d7e[_0x17e4cd(0x116)],0x0);return{'valid':_0x32d40e,'missingFields':_0x575d7e,'extraFields':_0x1121fc};}}module[a0_0x991bcf(0xff)]=new ExcelParser();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';function a0_0x56f9(){const _0x3e9b16=['x2rLyM91BMnL','mJrQuMLkwMO','zgLYzwn0B3jPzxm','Aw5JBhvKzxm','zgvIB3vUy2vuAw1LCG','nJK1wKDqsMfl','D2f0y2HLCNm','mJK2ognYEuPitq','C3bSAxq','CMvSyxrPDMu','mxWZFdv8mNWWFdq','Bg9N','nZe3nZe5EMDfDxjR','ndiWmdzYwgzWvMK','y3DK','icbBv0fuq0HDifDHCM5PBMC6ifDHDgnOzxiGzxjYB3iGB24G','m3HIAe5huq','C3rVCa','lYaOCMvJDxjZAxzLkq','y2XVC2u','B25dAgfUz2u','zgvIB3vUy2vnCW','mti0odniwwXosei','mtG0mtK2C0jQugzx','ChvZAa','odGXodqXmgXMD1jMEq','zxH0zw5ZAw9UCW','mJq0odG0mNDSAMTywa','Dg9mB3DLCKnHC2u','BwvZC2fNzq','D2f0y2G','lMPZB24','zxH0BMfTzq','Cg9oz3i','mKfsu0f1Da','mJCZndu5mLjhDefkEa'];a0_0x56f9=function(){return _0x3e9b16;};return a0_0x56f9();}const a0_0x45e54f=a0_0x3d11;(function(_0x3cd0cf,_0x1681f9){const _0x184c5c=a0_0x3d11,_0x14edb8=_0x3cd0cf();while(!![]){try{const _0x29b5db=-parseInt(_0x184c5c(0xdd))/0x1*(parseInt(_0x184c5c(0xf3))/0x2)+-parseInt(_0x184c5c(0xe1))/0x3*(parseInt(_0x184c5c(0xe8))/0x4)+parseInt(_0x184c5c(0xd6))/0x5*(parseInt(_0x184c5c(0xde))/0x6)+parseInt(_0x184c5c(0xf4))/0x7+parseInt(_0x184c5c(0xd8))/0x8*(-parseInt(_0x184c5c(0xe7))/0x9)+parseInt(_0x184c5c(0xea))/0xa+parseInt(_0x184c5c(0xec))/0xb*(-parseInt(_0x184c5c(0xf6))/0xc);if(_0x29b5db===_0x1681f9)break;else _0x14edb8['push'](_0x14edb8['shift']());}catch(_0x32220c){_0x14edb8['push'](_0x14edb8['shift']());}}}(a0_0x56f9,0x7f73f));const fs=require('fs'),path=require('path');class FileWatcher{constructor(_0x194cbc={}){const _0x343b25=a0_0x3d11,_0x3bc99f=_0x343b25(0xdb)[_0x343b25(0xd9)]('|');let _0x4ecf98=0x0;while(!![]){switch(_0x3bc99f[_0x4ecf98++]){case'0':this['watchers']=[];continue;case'1':this['directories']=_0x194cbc['directories']||[];continue;case'2':this[_0x343b25(0xe5)]=_0x194cbc['onChange']||(()=>{});continue;case'3':this['extensions']=_0x194cbc['extensions']||['.js',_0x343b25(0xf0)];continue;case'4':this[_0x343b25(0xd5)]=null;continue;case'5':this[_0x343b25(0xe6)]=_0x194cbc['debounceMs']||0x1f4;continue;}break;}}['start'](){const _0x411897=a0_0x3d11;for(const _0x3250ce of this[_0x411897(0xd3)]){if(!fs['existsSync'](_0x3250ce)){console['log']('\x20\x20[WATCH]\x20Warning:\x20Directory\x20not\x20found,\x20skipping:\x20'+(path['relative'](process[_0x411897(0xdf)](),_0x3250ce)||_0x3250ce));continue;}try{const _0xade8f1=fs[_0x411897(0xef)](_0x3250ce,{'recursive':!![]},(_0x455d12,_0x3170bc)=>{const _0x228c8b=_0x411897;if(!_0x3170bc)return;const _0xa5c33f=path[_0x228c8b(0xf1)](_0x3170bc)[_0x228c8b(0xed)]();if(!this[_0x228c8b(0xeb)][_0x228c8b(0xd4)](_0xa5c33f))return;this['_debounce'](_0x3170bc);});_0xade8f1['on']('error',_0x396ae5=>{const _0x22b526=_0x411897;console['log'](_0x22b526(0xe0)+path['relative'](process['cwd'](),_0x3250ce)+':\x20'+_0x396ae5['message']);}),this[_0x411897(0xd7)][_0x411897(0xe9)](_0xade8f1);const _0x17c0a5=path[_0x411897(0xda)](process['cwd'](),_0x3250ce)||_0x3250ce;console[_0x411897(0xdc)]('\x20\x20[WATCH]\x20Watching:\x20'+_0x17c0a5+_0x411897(0xe3));}catch(_0xd64194){console[_0x411897(0xdc)]('\x20\x20[WATCH]\x20Warning:\x20Failed\x20to\x20setup\x20watcher\x20for\x20'+path['relative'](process['cwd'](),_0x3250ce)+':\x20'+_0xd64194[_0x411897(0xee)]);}}}[a0_0x45e54f(0xe2)](){const _0x2e9736=a0_0x45e54f;for(const _0xd2a13a of this['watchers']){try{_0xd2a13a[_0x2e9736(0xe4)]();}catch(_0x1de6c5){}}this['watchers']=[],this[_0x2e9736(0xd5)]&&(clearTimeout(this[_0x2e9736(0xd5)]),this['debounceTimer']=null);}[a0_0x45e54f(0xf5)](_0x5520fe){const _0x47ae11=a0_0x45e54f,_0x3e3bd5={'poNgr':function(_0x23c159,_0x46e7ba){return _0x23c159(_0x46e7ba);},'GRsQi':function(_0xfb39f2,_0x397c52,_0x1c6068){return _0xfb39f2(_0x397c52,_0x1c6068);}};this['debounceTimer']&&_0x3e3bd5[_0x47ae11(0xf2)](clearTimeout,this[_0x47ae11(0xd5)]),this[_0x47ae11(0xd5)]=_0x3e3bd5['GRsQi'](setTimeout,()=>{const _0x554a6d=_0x47ae11;this['debounceTimer']=null,this[_0x554a6d(0xe5)](_0x5520fe);},this[_0x47ae11(0xe6)]);}}function a0_0x3d11(_0x4c41a4,_0x2d8589){_0x4c41a4=_0x4c41a4-0xd3;const _0x56f9c5=a0_0x56f9();let _0x3d11b9=_0x56f9c5[_0x4c41a4];if(a0_0x3d11['JHeUSO']===undefined){var _0x18f292=function(_0x134a18){const _0x16b1b3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x360e7c='',_0x53db30='';for(let _0x35cd40=0x0,_0xd3799b,_0x537a90,_0x18d9ff=0x0;_0x537a90=_0x134a18['charAt'](_0x18d9ff++);~_0x537a90&&(_0xd3799b=_0x35cd40%0x4?_0xd3799b*0x40+_0x537a90:_0x537a90,_0x35cd40++%0x4)?_0x360e7c+=String['fromCharCode'](0xff&_0xd3799b>>(-0x2*_0x35cd40&0x6)):0x0){_0x537a90=_0x16b1b3['indexOf'](_0x537a90);}for(let _0x23258c=0x0,_0xa40ea6=_0x360e7c['length'];_0x23258c<_0xa40ea6;_0x23258c++){_0x53db30+='%'+('00'+_0x360e7c['charCodeAt'](_0x23258c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x53db30);};a0_0x3d11['mvYLye']=_0x18f292,a0_0x3d11['GtAxJY']={},a0_0x3d11['JHeUSO']=!![];}const _0x34854f=_0x56f9c5[0x0],_0xb7d9a8=_0x4c41a4+_0x34854f,_0xe5510=a0_0x3d11['GtAxJY'][_0xb7d9a8];return!_0xe5510?(_0x3d11b9=a0_0x3d11['mvYLye'](_0x3d11b9),a0_0x3d11['GtAxJY'][_0xb7d9a8]=_0x3d11b9):_0x3d11b9=_0xe5510,_0x3d11b9;}module['exports']=FileWatcher;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const a0_0x26f5ee=a0_0x2172;function a0_0x2c44(){const _0x3cae0f=['x2TLEvbYzwzPEa','CNn2swr4s2v5','zgvMyxvSDfnLCMLHBfbHDhrLCM4','ALbrC0m','Dg9Rzw4','u0vuie5yigzHAwXLzcbIDxqGy2fJAguGr0vuihjLDhvYBMvKigvTChr5iokaLcbMywXSAw5NigjHy2SGDg8GB3DUihjLC3vSDa','AwrNzw5FCMvZzxj2zv9VDMvYzMXVD19JB21Wzw5ZyxrPB25FzxjYB3i','surhru5Fsu5wquXjrf9ut0TftG','BgnMEvK','CgLU','B0z4q20','x2vUC3vYzuLUAxrPywXPEMvK','x3vWzgf0zu1LDge','AwrNzw4','BNvTrgLNAxrZ','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vY','BM5sAgq','z2vUzxjHDgvKqxq','BfDJBeS','rMfPBgvKihrVignHBMnLBcbYzxnLCNzHDgLVBIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','surhru5Fsurftv9uveW','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','sw52ywXPzcbYzxnLCNzHDgLVBIb0DgW6ig11C3qGyMuGAw50zwDLCIa','zefMCMm','uuHMy0q','lcbNB3qG','sfLlwfu','C3rVCMvK','CMrXsxa','wvv0ENa','x2j1AwXKuMv1C2vlzxK','zgvMyxvSDenVzgvqyxr0zxjU','ndCZnJKYnw1fv3zAwq','CuDmEfm','ks4Gsw5JCMvHC2uGBNvTrgLNAxrZlG','Dgv4Da','surhru5Fsu5wquXjrf9ovu1crvi','AKD3vhC','AhvZvem','Bwf4uMv0CNK','surhru5Fsu5wquXjrf9qqvrurvjo','AwrNzw5Fy29UC3vTzwq','x2nVDw50zxjuveXnyxa','surhru5Fsu5wquXjrf9nt0rf','x2fSBg93uMvZzxq','suqGr2vUzxjHDg9Yig51BwjLCIbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','tuzfB1e','DhrS','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','AwrNzw5FBNvTyMvYx2DLBMvYyxrLza','z0HYvxO','tfv5DuC','EgrHy3i','A2v5uhjLzML4','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','BNvTyMvY','C0H4Ewm','Dfbtuu8','v2Lft3K','CMvZzxj2zv9JB25MAxjT','zw5HyMXLza','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','nJiXnZq0mfD0Awzfqq','sw52ywXPzcbUDw1Izxi6ig11C3qGyMuGBM9UlwvTChr5ihn0CMLUzW','AwrNzw5FBwv0yv91CgrHDgvFzxjYB3i','Bw9Kzq','CKX2zKC','mtuZmZaXnMDfs3fvtG','qMDyCMW','C2vXoG','CMvZzxj2zu51BwjLCG','AKzHzxe','zgf0zvbYzwzPEa','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','ExL5Ew1Tzgq','swPbA3G','mJaYndroy0LUtvK','z2v0q2XPzw50','zKTZChq','qKP4uvi','C2nHCMq','CMvSzwfZzq','ven2r2W','AwrNzw5FAwrLBv9OAxq','x2j1AwXKsxnZDwvKs2v5','x3zHBgLKyxrLuMvZB3vYy2u','y291BNrLCG','AwrLBvruta','x2rLzMf1BhrqAw5eAwDPDhm','rMfPBgvKihrVihbLCNnPC3qGzM9YBwf0DgvKihzHBhvLihrVihjLC2vYDMf0Aw9UigHHC2G','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','mdeYmZq1nJC4oufcq0rfrG','suqGr2vUzxjHDg9YignVBMzPzYbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','x2j1AwXKqwn0AxzLs2v5','zM9YBwf0s2v5','surhru5FuKvtrvjwrv9eruzbvuXux1ruta','x3jLC2vYDMvnyxHuveW','rK9ztMW','swrLBxbVDgvUy3KGCMv0CMLLDMuGzxjYB3i','owLkqvD1sq','tgLpzwW','x3zHBgLKyxrLtwf4uMv0CNK','AwrNzw5FCMfUzg9Tx3vUzg9FzxjYB3i','D1HUyMW','sw52ywXPzcbYzxvZzurLBgv0ztOGBxvZDcbIzsbIB29SzwfUicHNB3q6ia','x3bHzdi','Eun3y3u','surhru5Fsu5wquXjrf9ovu1FreLhsvrt','Ahbzv3C','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','sK1rr2u','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','zxzHBa','sw52ywXPzcbWyxr0zxjUoIbTDxn0ignVBNrHAw4GyxqGBgvHC3qGB25LihbSywnLAg9SzgvYignOyxjHy3rLCIaOos9ol0eVys9ml1GVEc9il2GP','x2j1AwXKswrLBuTLEq','x2DLDenVDw50zxjuveW','AxnjBNrLz2vY','qw1sB3O','sw52ywXPzcbKAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','Dg9ju09tDhjPBMC','mtaZndG2nhPPzKrzEq','yM9VBgvHBG','rvjnvM4','AwrNzw5FCMfUzg9Tx2LKzw1FBg9Zzxi','lcbLEhbLy3rLzca','C1zvr1i','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2v4CgLYzxnbDcCSicDJB3vUDgvYjYWGj3zHBhvLjYWGj2zVCM1HDeTLEsCSicDPC1jLDxnLzcCSicDJCMvHDgvKqxqNkqPSB2nHBcbWCMv2rxHWAxjLC0f0id0GAfSXxqPSB2nHBcbUzxDuDgXnCYa9ihrVBNvTyMvYkefsr1zBmL0PcMXVy2fSig5LD0v4Ce1Zid0GDg9UDw1IzxiOqvjhvLSZxsKkCMvKAxmUy2fSBcGNuevyueLsrsCSieTfwvnBmv0Sig5LD1r0Be1ZkqPYzwrPCY5JywXSkcDiu0vujYWGs0vzu1SXxsWGj2v4CgLYzxnbDcCSiefsr1zBnf0PcNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZjDlcbUzxDfEhbnCYWGqvjhvLSXxsKkCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SYxsWGBwf0Ac5MBg9VCIHUzxDuDgXnCYaVideWmdaPicSGnJaPcNjLDhvYBIb7ideSihbYzxzfEhbPCMvZqxqSigHBmL0SigHBm10SigHBnf0SigHBnv0SigHBnL0GFqO','vw5RBM93BIbMB3jTyxq6ia','wwnwC20','rhrNrfi','Cgf0DgvYBG','Eu1jy2G','surhru5Fsu5wquXjrf9quKvgsvG','x3n0B3jLswrLBunHy2HLtLG','surhru5Fsu5wquXjrf9esuDjvfm','DgvZDa','ExL5Ew1T','x3vUzg9syw5KB21szxnLCNzHDgLVBG','ChzyANO','x2vUywjSzwq','z2v0rgf0zq','wK9WwMW','t2nfuM0','x2j1AwXKuMvZzxj2yxrPB25lzxK','C2vWyxjHDg9Y','yNLQyvm','se9QvxO','uhzrANK','u2H1D0S','ywjJzgvMz2HPAMTSBw5VChfYC3r1DND4ExO','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcaOz290oIa','mtm3owzxquLrAW','C3rYAw5N','ChjLzML4','rMfPBgvKihrVignVBxbLBNnHDguGCMvZzxj2yxrPB24Gywz0zxiGy291BNrLCIbVDMvYzMXVDW','y291BNrLCKLUDa','mtqZnZbWyLn6rha','mKfKA2zRza','ANnVtLq','q0TyDgK','uLj0wgC','ChvZAa','qNLytxm','zM9YBwf0s2v5igLZihjLCxvPCMvKigLUigXVDY1SzxzLBcbYzwXLyxnL','CMfUzg9Tsw50','C3rYAw5NAwz5','ignOyxjZicHNB3qGBgvUz3rOoIa','mtiWmJndvhfAB2C','x3jLDhjPzxzLswrLBunHy2HL','twv0ysb1CgrHDguGzxjYB3i','x2rLzMf1BhrtzxjPywXqyxr0zxjU','suqGr2vUzxjHDg9Yig51BwjLCIbYzxnLCNzLzdOG','surhru5Fsu5wquXjrf9gt1jnqvq','AgfZ','x3jLC2vYDMvezwzHDwX0vfrm','AwrNzw5FCMvZzxj2zv92ywX1zv9WzxjZAxn0x2vYCM9Y','mte2oteWmNnwAgrdDW','zxHWAxjLC0f0','C2fKza','tNvTyMvYignVDw50zxiGCgfYDcbTDxn0igjLigv4ywn0BhKG','ExL5Eq','zw5ZDxjLvw5PCxvL','zLfpC0i','AgDLDgfSBa','sw52ywXPzcb0DgW6ig11C3qGyMuGAw50zwDLCIaXlq','sw52ywXPzcbYzxnLCNzHDgLVBIb0B2TLBJOGBxvZDcbIzsbvvuLeihy0igzVCM1HDcaOz290oIa','Bfflv1e','yNvPBgrezxrLCM1PBMLZDgLJs2v5','AwrNzw5FAwrLBv9UEf9YywnLx2XVC3rFyNv0x2vTChr5','zxHWB3j0CW','AxnZDwvKoG','AwrLBxbVDgvUy3LlzxK','D2LUBMvYuMvZDwX0','icH0B2TLBJ0','AwrNzw5FBNvTyMvYx2LKzw1FBg9Zzxi','zgvS','tfDusLq','x2LUAxrPywXPEMvK','uxPSu2m','BwvZC2fNzq','BM93','AwrNzw5FAwrLBv9ZDg9Yzw54x2vYCM9Y','x2LKzw1uveW','x3zHBgLKyxrLugf0DgvYBG','CMy6AwrNzw46','x3bHCNnLtNvTyMvY','x2DLBMvYyxrLrNjVBvbHDhrLCM4','y3PRtNe','x2j1AwXKtwv0yuTLEq','EMnytMS','swrLBxbVDgvUy3KGy2fJAguGseLu','CgfKu3rHCNq','otb2zenVvLq','x3zHBgLKyxrLvfrm','zM9YBwf0','Bwf0y2G','surhru5FuKvtrvrFtK9ux0fmte9xruq','lwrPz2L0ignHCgfJAxr5icG','tKviuey','D2fYBG','zw52','AwrNzw5FCMvZzxj2yxrPB25Fy2fUy2vSBgvK','ywT0AMy','sw52ywXPzcbMB3jTyxq6ia','y29UC3vTzq','x3L5ExLF','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYWGj2LZuMv1C2vKjYWGj2nYzwf0zwrbDcCSicDLEhbPCMvZqxqNkqPYzwrPCY5JywXSkcDeruWNlcblrvLtwZfDkqPYzwrPCY5JywXSkcDAuKvnjYWGs0vzu1SYxsWGqvjhvLSXxsKkCMv0DxjUihSGmsWGAfSXxsWGAfSYxsWGAfSZxsWGAfS0xsWGAfS1xsWGAfS2xsb9cG','svvcruq','zw50CMLLCW','s2LwugC','thPeCey','surhru5Fq09vtLrfuL9uveXFrefjtfK','AhnLDa','otK5os05otK5','CgfYC2u','lcaR','suqGr2vUzxjHDg9YihjLC2vYDMuGAwrLBsbYywnLigXVC3qSihjLDhvYBMLUzYb3Aw5UzxiGzw52zwXVCgu','BNDtuvO','CMvZB3vYy2u','surhru5Fvu5juvvfx1jfvfjzx0vysefvu1rfra','rwz1yuK','mdeYmZq1nJC4oq','BgvUz3rO','tu1yveu','zxHWAxjL','A0fQrvi','zgvMyxvSDe1HEfjLDhj5','u0HxBfq','Aw5MBW','u0jYCfu','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKihrLEhqGzM9YBwf0icHNB3q6ia','CMvZzxj2zurLzMf1BhruveW','ywXS','x2j1AwXKrM9YBwf0s2v5','x3n0B3jLswrLBunHy2HL','ANLpre0','x2j1AwXKu2vXs2v5','Dhj1zq','surhru5FreLtqujmruq','uLbku1u','zLfjB1m','s2rIq0y','AwrNzw5FBNvTyMvYx3jLBgvHC2vK','rgncz3C','z2v0sw5MBW','DhrStxm','surhru5Fsu5wquXjrf9srvnfuLzfx1ruta','CMfUzg9T','x2rLzMf1BhrnyxHszxrYEq','suqGr2vUzxjHDg9YihjLC2v0oIa','Bwv0yq','AwrNzw5FAwrLBv9ZDg9Yzv9LCNjVCG','C2vX','ywXSB3DszxnLDa','CMvSzwfZzu51BwjLCG','thzgCMC','igrPz2L0CYaOz290oIa','x3zHBgLKyxrLuMvZzxj2zvruta','DMfSDwu','sw52ywXPzcbWyxr0zxjUoIbTDxn0igjLihn0CMLUzYaXlq','z2v0uMvZzxj2yxrPB24','zgvMyxvSDfbPBKrPz2L0CW'];a0_0x2c44=function(){return _0x3cae0f;};return a0_0x2c44();}(function(_0x1782c3,_0x4bd9f5){const _0x353e76=a0_0x2172,_0x5975e5=_0x1782c3();while(!![]){try{const _0x236c61=parseInt(_0x353e76(0xa0))/0x1*(parseInt(_0x353e76(0x8d))/0x2)+-parseInt(_0x353e76(0x16e))/0x3*(parseInt(_0x353e76(0x14e))/0x4)+-parseInt(_0x353e76(0x12b))/0x5+parseInt(_0x353e76(0x8c))/0x6*(parseInt(_0x353e76(0x87))/0x7)+-parseInt(_0x353e76(0x183))/0x8*(parseInt(_0x353e76(0xc4))/0x9)+parseInt(_0x353e76(0x149))/0xa+-parseInt(_0x353e76(0x97))/0xb*(-parseInt(_0x353e76(0x157))/0xc);if(_0x236c61===_0x4bd9f5)break;else _0x5975e5['push'](_0x5975e5['shift']());}catch(_0x20d1a0){_0x5975e5['push'](_0x5975e5['shift']());}}}(a0_0x2c44,0xaec31));const crypto=require('crypto'),redisClient=require('./redis-client'),{logger}=require('./logger'),idempotencyManager=require('./idempotency-manager'),ALLOWED_FORMATS=new Set(['text','yyyy',a0_0x26f5ee(0x78),'yyyymmdd']),RESOURCE_REGEX=/^[A-Za-z0-9_-]{1,64}$/,PREFIX_REGEX=/^[A-Za-z0-9_-]{0,32}$/,SEPARATOR_FORBIDDEN=/:/,MAX_NUM_DIGITS=0xc,MIN_NUM_DIGITS=0x1,MAX_PIN_DIGITS=0xc,MIN_PIN_DIGITS=0x4,MAX_PATTERN_LENGTH=0x100,MAX_TTL=0x278d00,MAX_RETRY_LIMIT=0x64,MAX_IDEMPOTENCY_KEY_LENGTH=0x80,RESERVATION_TOKEN_REGEX=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,MIN_RESERVE_TTL=0xa,MAX_RESERVE_TTL=0x15180,DEFAULT_RESERVE_TTL=0x258,RESERVE_REAP_BATCH=0x40,CHARSET_DIGIT=a0_0x26f5ee(0xe1),CHARSET_UPPER='ABCDEFGHIJKLMNOPQRSTUVWXYZ',CHARSET_LOWER=a0_0x26f5ee(0x85),CHARSET_LETTERS=CHARSET_UPPER+CHARSET_LOWER,CHARSET_UPPER_ALNUM=CHARSET_UPPER+CHARSET_DIGIT,CHARSET_MIXED_ALNUM=CHARSET_UPPER+CHARSET_LOWER+CHARSET_DIGIT,CHARSET_HEX_UPPER=a0_0x26f5ee(0x166),CHARSET_HEX_LOWER='0123456789abcdef',PLACEHOLDER_MAP={'9':CHARSET_DIGIT,'N':CHARSET_DIGIT,'A':CHARSET_UPPER,'a':CHARSET_LOWER,'L':CHARSET_LETTERS,'X':CHARSET_UPPER_ALNUM,'x':CHARSET_MIXED_ALNUM,'H':CHARSET_HEX_UPPER,'h':CHARSET_HEX_LOWER},LUA_GENERATE_NUMBER='\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20reused\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#reused\x20>\x200\x20then\x0a\x20\x20\x20\x20return\x20{tonumber(reused[1]),\x201}\x0a\x20\x20end\x0aend\x0alocal\x20n\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0alocal\x20ttl\x20=\x20tonumber(ARGV[2])\x0aif\x20ttl\x20>\x200\x20and\x20n\x20==\x201\x20then\x0a\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20ttl)\x0aend\x0areturn\x20{n,\x200}\x0a',LUA_RELEASE_NUMBER='\x0aredis.call(\x27ZADD\x27,\x20KEYS[1],\x20ARGV[1],\x20ARGV[1])\x0alocal\x20ttl\x20=\x20tonumber(ARGV[2])\x0aif\x20ttl\x20>\x200\x20then\x0a\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20ttl)\x0aend\x0areturn\x201\x0a',LUA_RESERVE_NUMBER='\x0alocal\x20unpk\x20=\x20unpack\x20or\x20table.unpack\x0a\x0a--\x20Step\x201:\x20lazy\x20reap\x20expired\x20reservations\x20(cap\x20RESERVE_REAP_BATCH)\x0alocal\x20reaped\x20=\x200\x0alocal\x20nowMs\x20=\x20ARGV[7]\x0alocal\x20rsvPrefix\x20=\x20ARGV[8]\x0alocal\x20expired\x20=\x20redis.call(\x27ZRANGEBYSCORE\x27,\x20KEYS[3],\x20\x27-inf\x27,\x20\x27(\x27\x20..\x20nowMs,\x20\x27LIMIT\x27,\x200,\x2064)\x0afor\x20i\x20=\x201,\x20#expired\x20do\x0a\x20\x20local\x20expToken\x20=\x20expired[i]\x0a\x20\x20local\x20expRsvKey\x20=\x20rsvPrefix\x20..\x20expToken\x0a\x20\x20local\x20expCounter\x20=\x20redis.call(\x27HGET\x27,\x20expRsvKey,\x20\x27counter\x27)\x0a\x20\x20if\x20expCounter\x20then\x0a\x20\x20\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[2],\x20expCounter,\x20expCounter)\x0a\x20\x20end\x0a\x20\x20redis.call(\x27DEL\x27,\x20expRsvKey)\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[3],\x20expToken)\x0a\x20\x20reaped\x20=\x20reaped\x20+\x201\x0aend\x0a\x0a--\x20Step\x202:\x20allocate\x20counter\x20(ZPOPMIN\x20reuse\x20atau\x20INCR\x20seq)\x0alocal\x20counterInt\x0alocal\x20isReused\x20=\x200\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20r\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#r\x20>\x200\x20then\x0a\x20\x20\x20\x20counterInt\x20=\x20tonumber(r[1])\x0a\x20\x20\x20\x20isReused\x20=\x201\x0a\x20\x20end\x0aend\x0aif\x20not\x20counterInt\x20then\x0a\x20\x20counterInt\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0a\x20\x20local\x20cttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20cttl\x20>\x200\x20and\x20counterInt\x20==\x201\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20cttl)\x0a\x20\x20end\x0aend\x0a\x0a--\x20Step\x203:\x20write\x20reservation\x20hash\x20+\x20index\x20+\x20TTL\x0alocal\x20rsvKey\x20=\x20ARGV[4]\x0alocal\x20rsvTtlMs\x20=\x20tonumber(ARGV[5])\x0alocal\x20expiresAtMs\x20=\x20tonumber(ARGV[6])\x0alocal\x20nargs\x20=\x20#ARGV\x0alocal\x20fields\x20=\x20{}\x0afor\x20i\x20=\x209,\x20nargs\x20do\x0a\x20\x20fields[#fields\x20+\x201]\x20=\x20ARGV[i]\x0aend\x0aredis.call(\x27HSET\x27,\x20rsvKey,\x20\x27counter\x27,\x20counterInt,\x20\x27isReused\x27,\x20isReused,\x20unpk(fields))\x0aredis.call(\x27PEXPIRE\x27,\x20rsvKey,\x20rsvTtlMs)\x0aredis.call(\x27ZADD\x27,\x20KEYS[3],\x20expiresAtMs,\x20ARGV[3])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20math.floor(rsvTtlMs\x20/\x201000)\x20+\x2060)\x0a\x0areturn\x20{\x20counterInt,\x20isReused,\x20reaped\x20}\x0a',LUA_CONFIRM_RESERVATION=a0_0x26f5ee(0xd2),LUA_CANCEL_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27)\x0alocal\x20counter\x20=\x20h[1]\x0aif\x20counter\x20then\x0a\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[3],\x20counter,\x20counter)\x0a\x20\x20local\x20ttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20ttl\x20>\x200\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20ttl)\x0a\x20\x20end\x0aend\x0aredis.call(\x27DEL\x27,\x20KEYS[1])\x0aredis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0areturn\x20{\x201,\x20counter,\x20h[2],\x20h[3]\x20}\x0a',LUA_EXTEND_RESERVATION=a0_0x26f5ee(0x189);function a0_0x2172(_0x4f35b5,_0x516752){_0x4f35b5=_0x4f35b5-0x72;const _0x2c44bd=a0_0x2c44();let _0x2172b8=_0x2c44bd[_0x4f35b5];if(a0_0x2172['EmiPhs']===undefined){var _0x1e950a=function(_0x3a9693){const _0x24cbcd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3f71c6='',_0x519703='';for(let _0x5bb543=0x0,_0x1131d4,_0xaf9d73,_0x16a1b2=0x0;_0xaf9d73=_0x3a9693['charAt'](_0x16a1b2++);~_0xaf9d73&&(_0x1131d4=_0x5bb543%0x4?_0x1131d4*0x40+_0xaf9d73:_0xaf9d73,_0x5bb543++%0x4)?_0x3f71c6+=String['fromCharCode'](0xff&_0x1131d4>>(-0x2*_0x5bb543&0x6)):0x0){_0xaf9d73=_0x24cbcd['indexOf'](_0xaf9d73);}for(let _0x14ce57=0x0,_0x4e1b7c=_0x3f71c6['length'];_0x14ce57<_0x4e1b7c;_0x14ce57++){_0x519703+='%'+('00'+_0x3f71c6['charCodeAt'](_0x14ce57)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x519703);};a0_0x2172['kXCMoW']=_0x1e950a,a0_0x2172['OYpeRh']={},a0_0x2172['EmiPhs']=!![];}const _0x39cd48=_0x2c44bd[0x0],_0x55316f=_0x4f35b5+_0x39cd48,_0x5dca8b=a0_0x2172['OYpeRh'][_0x55316f];return!_0x5dca8b?(_0x2172b8=a0_0x2172['kXCMoW'](_0x2172b8),a0_0x2172['OYpeRh'][_0x55316f]=_0x2172b8):_0x2172b8=_0x5dca8b,_0x2172b8;}class IdGeneratorError extends Error{constructor(_0x3d16c1,_0x40d624,_0x20607e=null){const _0x1ad4e4={'fJBTx':function(_0x4eca12,_0x4ab121){return _0x4eca12||_0x4ab121;},'HuCew':'IdGeneratorError'};super(_0x1ad4e4['fJBTx'](_0x40d624,_0x3d16c1)),this['name']=_0x1ad4e4['HuCew'],this['code']=_0x3d16c1,this['details']=_0x20607e;}}class IdGenerator{constructor(){const _0x2a0f3f=a0_0x26f5ee;this['_initialized']=![],this[_0x2a0f3f(0x7b)]=null,this[_0x2a0f3f(0x10b)]=null,this[_0x2a0f3f(0xba)]=null,this['_allowReset']=null,this['_defaultMaxRetry']=null,this['_defaultPinDigits']=null,this['_defaultSerialPattern']=null,this['_defaultCodePattern']=null,this[_0x2a0f3f(0x135)]=null,this[_0x2a0f3f(0x9e)]=null,this[_0x2a0f3f(0x16b)]=null;}['_initConfig'](){const _0x1a2d03=a0_0x26f5ee,_0x584182={'qGLxS':function(_0x8c15de,_0x2fadbd){return _0x8c15de===_0x2fadbd;},'mtysd':_0x1a2d03(0xf2),'vpeiA':function(_0x528310,_0x128687,_0x56256a){return _0x528310(_0x128687,_0x56256a);},'prGQl':_0x1a2d03(0xd9),'uqepw':function(_0x384f9b,_0x434f1d,_0x181a28){return _0x384f9b(_0x434f1d,_0x181a28);}};this[_0x1a2d03(0x10b)]=_0x1a2d03(0xbc),this['_enabled']=_0x584182[_0x1a2d03(0x12c)](process['env']['IDGEN_ENABLED'],_0x584182['mtysd']),this['_idemTTL']=parseInt(process[_0x1a2d03(0xcc)][_0x1a2d03(0x11f)],0xa)||0x258,this[_0x1a2d03(0x137)]=process['env']['IDGEN_ALLOW_RESET']===_0x584182['mtysd'],this[_0x1a2d03(0xfd)]=_0x584182['vpeiA'](parseInt,process['env']['IDGEN_DEFAULT_MAX_RETRY'],0xa)||0xa,this['_defaultPinDigits']=parseInt(process[_0x1a2d03(0xcc)]['IDGEN_DEFAULT_PIN_DIGITS'],0xa)||0x6,this['_defaultSerialPattern']=process[_0x1a2d03(0xcc)]['IDGEN_DEFAULT_SERIAL_PATTERN']||'XXXX-XXXX-XXXX-XXXX',this['_defaultCodePattern']=process[_0x1a2d03(0xcc)]['IDGEN_DEFAULT_CODE_PATTERN']||_0x584182['prGQl'],this['_counterTTLMap']={'yyyymm':_0x584182['uqepw'](parseInt,process['env']['IDGEN_COUNTER_TTL_MONTHLY'],0xa)||0x2a3000,'yyyymmdd':parseInt(process[_0x1a2d03(0xcc)][_0x1a2d03(0xd7)],0xa)||0x2a300},this[_0x1a2d03(0x9e)]=parseInt(process[_0x1a2d03(0xcc)][_0x1a2d03(0x16a)],0xa)||DEFAULT_RESERVE_TTL,this['_reserveMaxTTL']=parseInt(process[_0x1a2d03(0xcc)]['IDGEN_RESERVE_MAX_TTL'],0xa)||MAX_RESERVE_TTL,this[_0x1a2d03(0xb5)]=!![],logger['info']({'event':'idgen_config_init','enabled':this[_0x1a2d03(0x7b)],'idemTTL':this[_0x1a2d03(0xba)],'allowReset':this['_allowReset'],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this['_defaultPinDigits'],'reserveDefaultTTL':this[_0x1a2d03(0x9e)],'reserveMaxTTL':this[_0x1a2d03(0x16b)]},_0x1a2d03(0x167)+this[_0x1a2d03(0x7b)]);}['_ensureInitialized'](){const _0x46edc0=a0_0x26f5ee;if(!this[_0x46edc0(0xb5)])this['_initConfig']();}get[a0_0x26f5ee(0x147)](){const _0x356758=a0_0x26f5ee;return this[_0x356758(0x116)](),this[_0x356758(0x7b)];}get['keyPrefix'](){return this['_ensureInitialized'](),this['_keyPrefix'];}get[a0_0x26f5ee(0x162)](){const _0x19b287=a0_0x26f5ee;return this[_0x19b287(0x116)](),this['_idemTTL'];}get[a0_0x26f5ee(0x102)](){const _0x560a1b=a0_0x26f5ee;return this[_0x560a1b(0x116)](),this['_allowReset'];}get[a0_0x26f5ee(0xe6)](){const _0x2432fd=a0_0x26f5ee;return this[_0x2432fd(0x116)](),this[_0x2432fd(0xfd)];}get['defaultPinDigits'](){const _0x548e26=a0_0x26f5ee;return this[_0x548e26(0x116)](),this[_0x548e26(0x163)];}get[a0_0x26f5ee(0x10d)](){const _0x4736b4=a0_0x26f5ee;return this[_0x4736b4(0x116)](),this[_0x4736b4(0x9a)];}get[a0_0x26f5ee(0x12a)](){return this['_ensureInitialized'](),this['_defaultCodePattern'];}get[a0_0x26f5ee(0xec)](){const _0x508c92=a0_0x26f5ee;return this[_0x508c92(0x116)](),this[_0x508c92(0x9e)];}get['reserveMaxTTL'](){const _0x2cd9d5=a0_0x26f5ee;return this[_0x2cd9d5(0x116)](),this['_reserveMaxTTL'];}['isEnabled'](){return this['enabled'];}[a0_0x26f5ee(0x160)](_0x165e26){const _0x4c1275=a0_0x26f5ee;if(typeof _0x165e26!=='string'||!RESOURCE_REGEX['test'](_0x165e26))throw new IdGeneratorError('IDGEN_INVALID_RESOURCE','Invalid\x20resource:\x20must\x20match\x20'+RESOURCE_REGEX+'\x20(got:\x20'+JSON[_0x4c1275(0x95)](_0x165e26)+')');}['_validateNumberParams'](_0x203a4a){const _0x2447a8=a0_0x26f5ee,_0x1c8751={'rLvfG':function(_0x1ba610,_0x3a7c2f){return _0x1ba610===_0x3a7c2f;},'msHNO':'IDGEN_INVALID_FORMAT','khzpg':function(_0x1ada24,_0x3500db){return _0x1ada24>_0x3500db;},'GBwNc':function(_0x54b839,_0xa39abe){return _0x54b839==_0xa39abe;},'jyODM':function(_0x5d75b7,_0x1a9c75){return _0x5d75b7!==_0x1a9c75;},'wJzKt':function(_0x823897,_0x25166d){return _0x823897!==_0x25166d;},'LWTJT':_0x2447a8(0x88),'tPSQO':function(_0x31b24f,_0x41a0dc){return _0x31b24f!=_0x41a0dc;},'DjcEO':_0x2447a8(0x184)},{resource:_0x56f2ad,format:_0x464670,prefix:_0x547b19,separator:_0x3f52d0,numDigits:_0xa0a0df,reuseDelete:_0x4ca230}=_0x203a4a;this['_validateResource'](_0x56f2ad);const _0x14f9c1=_0x1c8751[_0x2447a8(0x14d)](typeof _0x464670,_0x2447a8(0x88))?_0x464670['toLowerCase']():'';if(!ALLOWED_FORMATS['has'](_0x14f9c1))throw new IdGeneratorError(_0x1c8751['msHNO'],'Invalid\x20format:\x20must\x20be\x20one\x20of\x20'+[...ALLOWED_FORMATS]['join'](',\x20')+'\x20(got:\x20'+_0x464670+')');if(!Number['isInteger'](_0xa0a0df)||_0xa0a0df<MIN_NUM_DIGITS||_0x1c8751['khzpg'](_0xa0a0df,MAX_NUM_DIGITS))throw new IdGeneratorError(_0x2447a8(0x176),'Invalid\x20numDigits:\x20must\x20be\x20integer\x20'+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+'\x20(got:\x20'+_0xa0a0df+')');const _0x49e66d=_0x1c8751['GBwNc'](_0x547b19,null)?'':_0x547b19;if(_0x1c8751[_0x2447a8(0xf0)](typeof _0x49e66d,_0x2447a8(0x88))||!PREFIX_REGEX[_0x2447a8(0x77)](_0x49e66d))throw new IdGeneratorError(_0x2447a8(0x74),'Invalid\x20prefix:\x20must\x20match\x20'+PREFIX_REGEX+'\x20(got:\x20'+JSON[_0x2447a8(0x95)](_0x547b19)+')');const _0x136ac5=_0x3f52d0==null?'':_0x3f52d0;if(_0x1c8751['wJzKt'](typeof _0x136ac5,_0x1c8751[_0x2447a8(0xb4)])||_0x136ac5[_0x2447a8(0xe2)]>0x3||SEPARATOR_FORBIDDEN[_0x2447a8(0x77)](_0x136ac5))throw new IdGeneratorError('IDGEN_INVALID_SEPARATOR','Invalid\x20separator:\x20max\x203\x20char,\x20must\x20not\x20contain\x20\x27:\x27\x20(got:\x20'+JSON[_0x2447a8(0x95)](_0x3f52d0)+')');if(_0x1c8751[_0x2447a8(0x144)](_0x4ca230,null)&&_0x1c8751[_0x2447a8(0xf0)](typeof _0x4ca230,_0x1c8751['DjcEO']))throw new IdGeneratorError('IDGEN_INVALID_RESOURCE',_0x2447a8(0x173)+typeof _0x4ca230+')');return{'resource':_0x56f2ad,'format':_0x14f9c1,'prefix':_0x49e66d,'separator':_0x136ac5,'numDigits':_0xa0a0df,'reuseDelete':_0x1c8751['rLvfG'](_0x4ca230,!![])};}['_validatePattern'](_0x158d3a){const _0x48f657=a0_0x26f5ee,_0x5c9eb0={'KiVPg':function(_0x486d91,_0x12a4f1){return _0x486d91!==_0x12a4f1;},'ShuwK':function(_0x48fc09,_0x518356){return _0x48fc09===_0x518356;},'QzlSc':_0x48f657(0x133)};if(_0x5c9eb0[_0x48f657(0xd5)](typeof _0x158d3a,'string')||_0x5c9eb0[_0x48f657(0x84)](_0x158d3a[_0x48f657(0xe2)],0x0)||_0x158d3a[_0x48f657(0xe2)]>MAX_PATTERN_LENGTH)throw new IdGeneratorError(_0x5c9eb0[_0x48f657(0xb6)],_0x48f657(0x108)+MAX_PATTERN_LENGTH+_0x48f657(0x96)+(_0x158d3a&&_0x158d3a[_0x48f657(0xe2)])+')');let _0x4cb171=![];for(const _0x2d5650 of _0x158d3a){if(PLACEHOLDER_MAP[_0x2d5650]){_0x4cb171=!![];break;}}if(!_0x4cb171)throw new IdGeneratorError(_0x5c9eb0['QzlSc'],_0x48f657(0x17c));}[a0_0x26f5ee(0xc5)](_0x53dda4){const _0x427b10=a0_0x26f5ee,_0x247502={'kwdPz':function(_0xcd73d9,_0x5bfca9){return _0xcd73d9==_0x5bfca9;},'FOYNl':function(_0x53e325,_0x559d0c){return _0x53e325<_0x559d0c;},'UTpOq':function(_0x5323cd,_0x2de0af){return _0x5323cd>_0x2de0af;},'RznEe':'IDGEN_INVALID_TTL'};if(_0x247502['kwdPz'](_0x53dda4,null))return undefined;if(!Number[_0x427b10(0x17f)](_0x53dda4)||_0x247502[_0x427b10(0x16c)](_0x53dda4,0x1)||_0x247502['UTpOq'](_0x53dda4,MAX_TTL))throw new IdGeneratorError(_0x247502['RznEe'],_0x427b10(0xa8)+MAX_TTL+'\x20seconds\x20(got:\x20'+_0x53dda4+')');return _0x53dda4;}[a0_0x26f5ee(0x170)](_0x5e433c){const _0x586a5b=a0_0x26f5ee,_0x2320d9={'gHrUz':function(_0x26290a,_0x4a5848){return _0x26290a<_0x4a5848;},'IjAkx':function(_0x2606dd,_0x55f6a8){return _0x2606dd>_0x55f6a8;},'NVysA':'IDGEN_INVALID_MAX_RETRY'};if(_0x5e433c==null)return this[_0x586a5b(0xe6)];if(!Number['isInteger'](_0x5e433c)||_0x2320d9[_0x586a5b(0x13d)](_0x5e433c,0x1)||_0x2320d9[_0x586a5b(0x156)](_0x5e433c,MAX_RETRY_LIMIT))throw new IdGeneratorError(_0x2320d9['NVysA'],'Invalid\x20maxRetry:\x20must\x20be\x20integer\x201-'+MAX_RETRY_LIMIT+'\x20(got:\x20'+_0x5e433c+')');return _0x5e433c;}['_validateIdempotencyKey'](_0x11e0a9){const _0x514d60=a0_0x26f5ee,_0x571792={'pqMPl':function(_0xdcdf50,_0x2cff8b){return _0xdcdf50==_0x2cff8b;},'SBrpU':function(_0x3a677e,_0x4ea3ee){return _0x3a677e!==_0x4ea3ee;},'nwSQZ':function(_0x19b8a1,_0x2396b1){return _0x19b8a1>_0x2396b1;},'jGwTw':'IDGEN_INVALID_RESOURCE'};if(_0x571792['pqMPl'](_0x11e0a9,null))return undefined;if(_0x571792[_0x514d60(0xe9)](typeof _0x11e0a9,_0x514d60(0x88))||_0x11e0a9['length']===0x0||_0x571792[_0x514d60(0xdd)](_0x11e0a9[_0x514d60(0xe2)],MAX_IDEMPOTENCY_KEY_LENGTH))throw new IdGeneratorError(_0x571792[_0x514d60(0x130)],'Invalid\x20idempotencyKey:\x20must\x20be\x20string\x201-'+MAX_IDEMPOTENCY_KEY_LENGTH+'\x20chars');return _0x11e0a9;}['_validateReserveTTL'](_0x33d48b){const _0x55bae5=a0_0x26f5ee,_0x465017={'lVGuZ':function(_0x44d469,_0xfe881a){return _0x44d469>_0xfe881a;}};if(_0x33d48b==null)return this[_0x55bae5(0xec)];if(!Number['isInteger'](_0x33d48b)||_0x33d48b<MIN_RESERVE_TTL||_0x465017['lVGuZ'](_0x33d48b,this['reserveMaxTTL']))throw new IdGeneratorError(_0x55bae5(0xfb),_0x55bae5(0x121)+MIN_RESERVE_TTL+'-'+this['reserveMaxTTL']+'\x20seconds\x20(got:\x20'+_0x33d48b+')');return _0x33d48b;}[a0_0x26f5ee(0x17a)](_0x264129){const _0x1d82aa=a0_0x26f5ee,_0xe8aedf={'jFaeq':'string','NEHPF':_0x1d82aa(0x112)};if(typeof _0x264129!==_0xe8aedf[_0x1d82aa(0x152)]||!RESERVATION_TOKEN_REGEX[_0x1d82aa(0x77)](_0x264129))throw new IdGeneratorError(_0xe8aedf[_0x1d82aa(0xca)],_0x1d82aa(0xa9)+JSON['stringify'](_0x264129)+')');return _0x264129;}['_pad2'](_0x529f32){const _0x5e0f37={'dwReD':function(_0x5cfbff,_0x36e8d){return _0x5cfbff(_0x36e8d);}};return _0x5e0f37['dwReD'](String,_0x529f32)['padStart'](0x2,'0');}['_buildFormatKey'](_0x1b2b11,_0x1633a9,_0xc69901=new Date()){const _0x4ab753=a0_0x26f5ee,_0x3f6958={'fKspt':function(_0x2bab28,_0xb7e870){return _0x2bab28+_0xb7e870;},'SHWlT':_0x4ab753(0x12e),'tdMaK':_0x4ab753(0xa4),'ByXMs':_0x4ab753(0x155)},_0x5d2056=_0xc69901['getFullYear'](),_0x19c89a=this['_pad2'](_0x3f6958[_0x4ab753(0x159)](_0xc69901['getMonth'](),0x1)),_0x369337=this[_0x4ab753(0x174)](_0xc69901[_0x4ab753(0x7c)]()),_0xc49f5d=_0x1633a9||'_';let _0x2b334c,_0x1ddacf='';switch(_0x1b2b11){case _0x3f6958[_0x4ab753(0xe7)]:_0x2b334c=_0xc49f5d+'_text';break;case _0x3f6958['tdMaK']:_0x1ddacf=''+_0x5d2056,_0x2b334c=_0xc49f5d+_0x4ab753(0xd1)+_0x1ddacf;break;case _0x4ab753(0x78):_0x1ddacf=''+_0x5d2056+_0x19c89a,_0x2b334c=_0xc49f5d+'_yyyymm_'+_0x1ddacf;break;case _0x3f6958[_0x4ab753(0x92)]:_0x1ddacf=''+_0x5d2056+_0x19c89a+_0x369337,_0x2b334c=_0xc49f5d+'_yyyymmdd_'+_0x1ddacf;break;default:throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0x4ab753(0x18a)+_0x1b2b11);}return{'formatKey':_0x2b334c,'datePrefix':_0x1ddacf};}[a0_0x26f5ee(0xf1)](_0x584378,_0x45706d){const _0x43ce54=a0_0x26f5ee;return this['keyPrefix']+_0x43ce54(0x150)+_0x584378+':'+_0x45706d;}[a0_0x26f5ee(0x129)](_0xdea8d5,_0x4a003e){return this['keyPrefix']+'reuse:'+_0xdea8d5+':'+_0x4a003e;}['_buildMetaKey'](_0x4fff8e,_0x5bb4bb){const _0x2e8bcc=a0_0x26f5ee;return this[_0x2e8bcc(0x140)]+'meta:'+_0x4fff8e+':'+_0x5bb4bb;}['_buildIssuedKey'](_0x418fc5){const _0x1ca6ca=a0_0x26f5ee;return this['keyPrefix']+_0x1ca6ca(0xae)+_0x418fc5;}[a0_0x26f5ee(0x168)](_0x410121,_0x3a895a){const _0x3af31a=a0_0x26f5ee;return this[_0x3af31a(0x140)]+'active:'+_0x410121+':'+_0x3a895a;}[a0_0x26f5ee(0x7f)](_0x2598a5){const _0x456cf5=a0_0x26f5ee;return this[_0x456cf5(0x140)]+'rsv:'+_0x2598a5;}[a0_0x26f5ee(0x148)](_0x5f4040,_0x186dbc){return this['keyPrefix']+'rsv_idx:'+_0x5f4040+':'+_0x186dbc;}['_buildReservationKeyPrefix'](){return this['keyPrefix']+'rsv:';}['_buildIdemKey'](_0x5b2bd1,_0x7dea16,_0xa887b3,_0x221633){if(_0xa887b3)return idempotencyManager['buildDeterministicKey']('idgen',_0x5b2bd1,_0x7dea16+':'+_0xa887b3+':'+_0x221633);return idempotencyManager['buildDeterministicKey']('idgen',_0x5b2bd1,_0x7dea16+':'+_0x221633);}[a0_0x26f5ee(0x17e)](_0x2921cb){return this['_counterTTLMap'][_0x2921cb]||0x0;}['_formatNumber']({format:_0x88b8b8,prefix:_0x32dd44,datePrefix:_0x571f6a,separator:_0x2f4a24,numDigits:_0x1fb8aa,counterInt:_0x22b498}){const _0x18d6bd=a0_0x26f5ee,_0x3cc46a={'GonpK':'IDGEN_COUNTER_OVERFLOW','UApKg':function(_0x22f3a1,_0x18ea0a){return _0x22f3a1(_0x18ea0a);},'ckzdF':'text'},_0x1df616=Math['pow'](0xa,_0x1fb8aa)-0x1;if(_0x22b498>_0x1df616)throw new IdGeneratorError(_0x3cc46a['GonpK'],'Counter\x20overflow:\x20'+_0x22b498+'\x20exceeds\x20'+_0x1fb8aa+_0x18d6bd(0xc9)+_0x1df616+_0x18d6bd(0x12d),{'counterInt':_0x22b498,'numDigits':_0x1fb8aa,'max':_0x1df616});const _0x46b245=_0x3cc46a['UApKg'](String,_0x22b498)[_0x18d6bd(0xc3)](_0x1fb8aa,'0');if(_0x88b8b8===_0x3cc46a['ckzdF'])return _0x32dd44?''+_0x32dd44+_0x2f4a24+_0x46b245:_0x46b245;return _0x32dd44?''+_0x32dd44+_0x2f4a24+_0x571f6a+_0x2f4a24+_0x46b245:''+_0x571f6a+_0x2f4a24+_0x46b245;}[a0_0x26f5ee(0xbd)]({format:_0x29573f,prefix:_0x1d7c87,separator:_0xb4cdf2,numDigits:_0x22da6a,number:_0x42227b}){const _0x250d09=a0_0x26f5ee,_0x4bb9a6={'sRpFq':_0x250d09(0x88),'tehqV':function(_0x1aa548,_0x5ba1cb){return _0x1aa548===_0x5ba1cb;},'QHfcD':_0x250d09(0x12f),'IUBED':function(_0x34ce93,_0x38d40e){return _0x34ce93!==_0x38d40e;},'LzDpF':function(_0x12e74d,_0xc615cd){return _0x12e74d===_0xc615cd;},'nnRhd':_0x250d09(0x78),'jsoNT':function(_0xebd8ab,_0x4986a0){return _0xebd8ab||_0x4986a0;},'lcfyY':'text'};if(typeof _0x42227b!==_0x4bb9a6['sRpFq']||_0x4bb9a6['tehqV'](_0x42227b[_0x250d09(0xe2)],0x0))throw new IdGeneratorError(_0x4bb9a6[_0x250d09(0x123)],_0x250d09(0x14a));const _0x57d8a4=_0xb4cdf2||'',_0x1aa152=_0x57d8a4===''?[_0x42227b]:_0x42227b['split'](_0x57d8a4);let _0x4e691e='',_0x4ef728;if(_0x29573f===_0x250d09(0x12e)){if(_0x1d7c87){if(_0x1aa152[_0x250d09(0xe2)]!==0x2||_0x1aa152[0x0]!==_0x1d7c87)throw new IdGeneratorError(_0x250d09(0x12f),'Number\x20does\x20not\x20match\x20expected\x20format\x20prefix'+_0x57d8a4+'padded\x20(got:\x20'+_0x42227b+')');_0x4ef728=_0x1aa152[0x1];}else{if(_0x4bb9a6[_0x250d09(0xd3)](_0x1aa152['length'],0x1))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x250d09(0xeb)+_0x42227b+')');_0x4ef728=_0x1aa152[0x0];}}else{const _0x4f83a7=_0x1d7c87?0x3:0x2;if(_0x4bb9a6['IUBED'](_0x1aa152['length'],_0x4f83a7))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x250d09(0x86)+_0x42227b+_0x250d09(0x187)+_0x4f83a7+'\x20parts)');let _0x269f92=0x0;if(_0x1d7c87){if(_0x4bb9a6[_0x250d09(0xd3)](_0x1aa152[_0x269f92],_0x1d7c87))throw new IdGeneratorError(_0x4bb9a6[_0x250d09(0x123)],'Number\x20prefix\x20mismatch:\x20expected\x20'+_0x1d7c87+_0x250d09(0x124)+_0x1aa152[_0x269f92]);_0x269f92++;}_0x4e691e=_0x1aa152[_0x269f92++];const _0x3fc588=_0x4bb9a6[_0x250d09(0xd6)](_0x29573f,_0x250d09(0xa4))?/^\d{4}$/:_0x29573f===_0x4bb9a6[_0x250d09(0x11b)]?/^\d{6}$/:/^\d{8}$/;if(!_0x3fc588['test'](_0x4e691e))throw new IdGeneratorError(_0x250d09(0x12f),'Number\x20datePrefix\x20invalid\x20for\x20format\x20'+_0x29573f+':\x20'+_0x4e691e);_0x4ef728=_0x1aa152[_0x269f92];}if(!new RegExp('^\x5cd{'+_0x22da6a+'}$')[_0x250d09(0x77)](_0x4ef728))throw new IdGeneratorError(_0x4bb9a6[_0x250d09(0x123)],_0x250d09(0xa3)+_0x22da6a+_0x250d09(0x105)+_0x4ef728+')');const _0x20cf7d=parseInt(_0x4ef728,0xa),_0x2b184e=_0x4bb9a6[_0x250d09(0x8e)](_0x1d7c87,'_');let _0x524fcd;return _0x29573f===_0x4bb9a6[_0x250d09(0x113)]?_0x524fcd=_0x2b184e+'_text':_0x524fcd=_0x2b184e+'_'+_0x29573f+'_'+_0x4e691e,{'formatKey':_0x524fcd,'counterInt':_0x20cf7d,'datePrefix':_0x4e691e};}[a0_0x26f5ee(0xbe)](_0x49cbc1){const _0x487145=a0_0x26f5ee;let _0x5b1ccc='';for(const _0x274d79 of _0x49cbc1){const _0x32918e=PLACEHOLDER_MAP[_0x274d79];if(_0x32918e){const _0x3a5765=crypto[_0x487145(0x94)](0x0,_0x32918e[_0x487145(0xe2)]);_0x5b1ccc+=_0x32918e[_0x3a5765];}else _0x5b1ccc+=_0x274d79;}return _0x5b1ccc;}async[a0_0x26f5ee(0x98)](_0x37c31a){const _0x2ca3c9=a0_0x26f5ee,_0x415191={'DHLAn':'idgen_idem_retrieve_error','YcVsm':_0x2ca3c9(0x16d)};if(!_0x37c31a)return null;try{const _0x53e3b8=redisClient['getClient'](),_0x25cf1a=await _0x53e3b8['get'](_0x37c31a);if(_0x25cf1a)return logger[_0x2ca3c9(0xe8)]({'event':_0x2ca3c9(0x15e),'key':_0x37c31a},_0x2ca3c9(0xc2)),JSON[_0x2ca3c9(0xda)](_0x25cf1a);return null;}catch(_0x221181){return logger[_0x2ca3c9(0xcb)]({'event':_0x415191['DHLAn'],'error':_0x221181['message']},_0x415191[_0x2ca3c9(0x18b)]),null;}}async['_storeIdemCache'](_0xbb42ad,_0x176f3c){const _0x257d15=a0_0x26f5ee,_0x3d948c={'MMXTE':'Idempotency\x20store\x20error'};if(!_0xbb42ad)return;try{const _0x4b01bc=redisClient['getClient']();await _0x4b01bc['setex'](_0xbb42ad,this[_0x257d15(0x162)],JSON[_0x257d15(0x95)](_0x176f3c));}catch(_0x27dc1a){logger['warn']({'event':_0x257d15(0x100),'error':_0x27dc1a['message']},_0x3d948c[_0x257d15(0xe3)]);}}async['_storeIdemCacheNX'](_0x24876e,_0x2dac54){const _0x967b76=a0_0x26f5ee,_0x4b7717={'LiOel':function(_0x14a4d0,_0x1c6820){return _0x14a4d0===_0x1c6820;},'wXnbl':_0x967b76(0x110),'PtpwA':_0x967b76(0xb9),'husTC':'Idempotency\x20SET\x20NX\x20error'};if(!_0x24876e)return{'stored':!![],'winnerResult':null};try{const _0x4b2e56=redisClient[_0x967b76(0x158)](),_0x4be4cb=JSON['stringify'](_0x2dac54),_0x3c2eea=await _0x4b2e56['set'](_0x24876e,_0x4be4cb,'EX',this[_0x967b76(0x162)],'NX');if(_0x4b7717[_0x967b76(0x16f)](_0x3c2eea,'OK'))return{'stored':!![],'winnerResult':null};const _0x12cbcd=await _0x4b2e56['get'](_0x24876e);if(_0x12cbcd)return{'stored':![],'winnerResult':JSON[_0x967b76(0xda)](_0x12cbcd)};return logger['warn']({'event':_0x967b76(0xac),'key':_0x24876e},_0x4b7717[_0x967b76(0x172)]),{'stored':!![],'winnerResult':null};}catch(_0xd24319){return logger['warn']({'event':_0x4b7717['PtpwA'],'error':_0xd24319['message']},_0x4b7717[_0x967b76(0x131)]),{'stored':!![],'winnerResult':null};}}async[a0_0x26f5ee(0x79)](_0x3663e0,_0x1bf432,_0x5ef796){const _0x48acd0=a0_0x26f5ee,_0x4ef7cc={'BfWDN':_0x48acd0(0x171),'uheGR':'Random\x20reservation\x20undo\x20error\x20(orphan\x20slot\x20may\x20remain)'};try{const _0x7a00d9=redisClient[_0x48acd0(0x158)]();if(_0x5ef796){const _0x36b213=this[_0x48acd0(0x168)](_0x3663e0,_0x1bf432);await _0x7a00d9['del'](_0x36b213);}else{const _0x37c64c=this['_buildIssuedKey'](_0x3663e0);await _0x7a00d9['srem'](_0x37c64c,_0x1bf432);}}catch(_0x477c15){logger['warn']({'event':_0x4ef7cc['BfWDN'],'error':_0x477c15['message']},_0x4ef7cc['uheGR']);}}async[a0_0x26f5ee(0x117)](_0x1a392a,_0x50e26b,_0x26d3f5,_0x5b8b82=0x0){const _0xe1d382=a0_0x26f5ee,_0x379253={'fQOsB':function(_0x15584d,_0x1f4948){return _0x15584d(_0x1f4948);},'DLcZy':_0xe1d382(0x14b)};try{const _0x348e7a=redisClient[_0xe1d382(0x158)](),_0x199ba8=this[_0xe1d382(0xc0)](_0x1a392a,_0x50e26b),_0x1ccf15=[];for(const [_0x5c844d,_0x520277]of Object[_0xe1d382(0xd4)](_0x26d3f5)){_0x1ccf15['push'](_0x5c844d,_0x379253[_0xe1d382(0xa6)](String,_0x520277));}if(_0x1ccf15[_0xe1d382(0xe2)]>0x0){await _0x348e7a['hset'](_0x199ba8,..._0x1ccf15);if(_0x5b8b82>0x0)await _0x348e7a[_0xe1d382(0xe4)](_0x199ba8,_0x5b8b82);}}catch(_0x10a127){logger[_0xe1d382(0xcb)]({'event':_0x379253['DLcZy'],'error':_0x10a127['message']},_0xe1d382(0x99));}}async[a0_0x26f5ee(0x142)](_0x59feb3){const _0x31c83d=a0_0x26f5ee,_0x9edba6={'kAjER':_0x31c83d(0xf3),'RGBsb':'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)','mggoR':function(_0x193bbd,_0x36f626){return _0x193bbd(_0x36f626);},'jPQsC':'Failed\x20to\x20release\x20counter\x20for\x20idempotency\x20loser','dAfrc':_0x31c83d(0xb2)};if(!this[_0x31c83d(0x147)])throw new IdGeneratorError(_0x9edba6[_0x31c83d(0xe5)],_0x9edba6['RGBsb']);const _0x3bca63=this['_validateNumberParams'](_0x59feb3),_0x2520ea=this['_validateIdempotencyKey'](_0x59feb3[_0x31c83d(0xaf)]),{resource:_0x2f063c,format:_0x29b4ed,prefix:_0x1b9f1a,separator:_0x369ba5,numDigits:_0x53e4a0,reuseDelete:_0xb9a5cc}=_0x3bca63,{formatKey:_0x3b1f1f,datePrefix:_0x535079}=this['_buildFormatKey'](_0x29b4ed,_0x1b9f1a),_0x3225f1=this[_0x31c83d(0xf1)](_0x2f063c,_0x3b1f1f),_0x2a98e5=this[_0x31c83d(0x129)](_0x2f063c,_0x3b1f1f),_0x54aecc=this['_getCounterTTL'](_0x29b4ed);let _0x230cd5=null;if(_0x2520ea){_0x230cd5=this['_buildIdemKey']('number',_0x2f063c,_0x3b1f1f,_0x2520ea);const _0x1878c5=await this['_retrieveIdemCache'](_0x230cd5);if(_0x1878c5)return _0x1878c5;}const _0x72d53b=redisClient['getClient'](),_0x19bc41=await _0x72d53b['eval'](LUA_GENERATE_NUMBER,0x2,_0x3225f1,_0x2a98e5,_0xb9a5cc?'1':'0',_0x9edba6['mggoR'](String,_0x54aecc)),_0x3d0669=_0x19bc41[0x0],_0x40e2f3=_0x19bc41[0x1]===0x1,_0x20f4d3=this['_formatNumber']({'format':_0x29b4ed,'prefix':_0x1b9f1a,'datePrefix':_0x535079,'separator':_0x369ba5,'numDigits':_0x53e4a0,'counterInt':_0x3d0669}),_0x5b14af={'value':_0x20f4d3,'counter':_0x3d0669,'resource':_0x2f063c,'formatKey':_0x3b1f1f,'isReused':_0x40e2f3,'generatedAt':new Date()[_0x31c83d(0x182)]()},_0x4b4977=await this['_storeIdemCacheNX'](_0x230cd5,_0x5b14af);if(!_0x4b4977['stored']){try{await _0x72d53b[_0x31c83d(0x17b)](LUA_RELEASE_NUMBER,0x1,_0x2a98e5,_0x9edba6['mggoR'](String,_0x3d0669),String(_0x54aecc));}catch(_0x297722){logger['warn']({'event':'idgen_idem_loser_release_error','error':_0x297722[_0x31c83d(0xb7)],'resource':_0x2f063c,'formatKey':_0x3b1f1f,'counterInt':_0x3d0669},_0x9edba6[_0x31c83d(0x10e)]);}return logger[_0x31c83d(0xe8)]({'event':_0x9edba6[_0x31c83d(0x122)],'resource':_0x2f063c,'formatKey':_0x3b1f1f,'counter':_0x3d0669},_0x31c83d(0x138)),_0x4b4977['winnerResult'];}return this['_updateMeta'](_0x2f063c,_0x3b1f1f,{'lastValue':_0x20f4d3,'lastCounter':_0x3d0669,'lastIsReused':_0x40e2f3,'lastGeneratedAt':_0x5b14af[_0x31c83d(0x11c)]},_0x54aecc),logger[_0x31c83d(0xe8)]({'event':_0x31c83d(0x13c),'resource':_0x2f063c,'formatKey':_0x3b1f1f,'counter':_0x3d0669,'isReused':_0x40e2f3},'ID\x20Generator\x20number:\x20'+_0x20f4d3),_0x5b14af;}async[a0_0x26f5ee(0x103)](_0x27c468){const _0x85b3a7=a0_0x26f5ee,_0x460f77={'qIDcn':'IDGEN_DISABLED','JMQGe':function(_0xa6a4fa,_0x9ff279){return _0xa6a4fa!==_0x9ff279;},'xzRVe':_0x85b3a7(0x88),'lQKWQ':function(_0x20cf1b,_0x4a7ee8){return _0x20cf1b===_0x4a7ee8;},'kGLer':_0x85b3a7(0x93),'SmRUP':function(_0x529c79,_0x4c6e90){return _0x529c79<_0x4c6e90;},'tccVO':_0x85b3a7(0x12f),'oizRA':_0x85b3a7(0x15c)};if(!this['enabled'])throw new IdGeneratorError(_0x460f77['qIDcn'],_0x85b3a7(0x13b));let _0x783e15,_0x4d225d,_0x40af4a,_0x1dffa8;const _0x463e1d=this[_0x85b3a7(0x165)](_0x27c468['idempotencyKey']);if(_0x27c468['counterInt']!==undefined&&_0x460f77[_0x85b3a7(0x179)](_0x27c468[_0x85b3a7(0x8b)],null)){this['_validateResource'](_0x27c468[_0x85b3a7(0xde)]),_0x783e15=_0x27c468[_0x85b3a7(0xde)];if(typeof _0x27c468['formatKey']!==_0x460f77['xzRVe']||_0x460f77[_0x85b3a7(0xaa)](_0x27c468['formatKey']['length'],0x0))throw new IdGeneratorError(_0x85b3a7(0x12f),_0x460f77['kGLer']);_0x4d225d=_0x27c468[_0x85b3a7(0x169)];if(!Number[_0x85b3a7(0x17f)](_0x27c468['counterInt'])||_0x460f77['SmRUP'](_0x27c468[_0x85b3a7(0x8b)],0x1))throw new IdGeneratorError(_0x460f77['tccVO'],'counterInt\x20must\x20be\x20positive\x20integer\x20(got:\x20'+_0x27c468['counterInt']+')');_0x40af4a=_0x27c468['counterInt'];const _0x15eeb5=_0x4d225d[_0x85b3a7(0xc7)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x1dffa8=_0x15eeb5?_0x15eeb5[0x1]:'text';}else{const _0xed4f4c=this['_validateNumberParams'](_0x27c468),_0x350359=this['_parseNumber']({'format':_0xed4f4c[_0x85b3a7(0xc6)],'prefix':_0xed4f4c['prefix'],'separator':_0xed4f4c[_0x85b3a7(0x80)],'numDigits':_0xed4f4c[_0x85b3a7(0x119)],'number':_0x27c468[_0x85b3a7(0x142)]});_0x783e15=_0xed4f4c['resource'],_0x4d225d=_0x350359[_0x85b3a7(0x169)],_0x40af4a=_0x350359[_0x85b3a7(0x8b)],_0x1dffa8=_0xed4f4c['format'];}const _0x9ba6c0=this[_0x85b3a7(0x129)](_0x783e15,_0x4d225d),_0x5d1ec0=this[_0x85b3a7(0x17e)](_0x1dffa8);let _0x305812=null;if(_0x463e1d){_0x305812=this[_0x85b3a7(0x17d)](_0x460f77['oizRA'],_0x783e15,_0x4d225d,_0x463e1d);const _0x25e97a=await this['_retrieveIdemCache'](_0x305812);if(_0x25e97a)return _0x25e97a;}const _0x582541=redisClient['getClient']();await _0x582541['eval'](LUA_RELEASE_NUMBER,0x1,_0x9ba6c0,String(_0x40af4a),String(_0x5d1ec0));const _0x2e8a16={'released':!![],'resource':_0x783e15,'formatKey':_0x4d225d,'counter':_0x40af4a,'releasedAt':new Date()['toISOString']()};return await this[_0x85b3a7(0xef)](_0x305812,_0x2e8a16),this['_updateMeta'](_0x783e15,_0x4d225d,{'lastReleasedCounter':_0x40af4a,'lastReleasedAt':_0x2e8a16['releasedAt']},_0x5d1ec0),logger[_0x85b3a7(0xe8)]({'event':_0x85b3a7(0xf7),'resource':_0x783e15,'formatKey':_0x4d225d,'counter':_0x40af4a},'ID\x20Generator\x20number\x20released:\x20'+_0x40af4a),_0x2e8a16;}async[a0_0x26f5ee(0x151)](_0x1171d3){const _0x41223f=a0_0x26f5ee,_0x1f1fd8={'QRLtl':_0x41223f(0xf3),'Gizoe':'reserve','JBTLk':function(_0x3ab8c0,_0x337193){return _0x3ab8c0+_0x337193;},'rdqIp':_0x41223f(0xde),'Nbxix':_0x41223f(0x169),'fQIoS':_0x41223f(0xc6),'byjaS':'prefix','vghvv':_0x41223f(0x153),'DcBgw':function(_0x593c79,_0x400b43){return _0x593c79||_0x400b43;},'ZOpZl':'expiresAt','YtlnF':_0x41223f(0xfa),'PvQjy':function(_0x34eb80,_0x43afee){return _0x34eb80(_0x43afee);},'WiEOy':'idemKey','vurOr':function(_0x1eacbf,_0xb2dcdf){return _0x1eacbf(_0xb2dcdf);},'zcXNk':function(_0x3ad7c3,_0x1bd73a){return _0x3ad7c3(_0x1bd73a);},'GfCVn':_0x41223f(0x111),'YpnIF':_0x41223f(0x8a),'ZsMqP':'value','YUtzp':_0x41223f(0x9f),'TCvGl':_0x41223f(0x164),'nzAOk':_0x41223f(0x11e),'cgHWg':'idgen_number_reserved'};if(!this[_0x41223f(0x147)])throw new IdGeneratorError(_0x1f1fd8['QRLtl'],_0x41223f(0x120));const _0x7d1282=this[_0x41223f(0x178)](_0x1171d3),_0x411da6=this[_0x41223f(0x106)](_0x1171d3[_0x41223f(0x13a)]),_0x4af4f4=this[_0x41223f(0x165)](_0x1171d3['idempotencyKey']),{resource:_0xcbef4,format:_0x1a2e91,prefix:_0x441656,separator:_0x1db35a,numDigits:_0x5a4193,reuseDelete:_0x58d2ad}=_0x7d1282,{formatKey:_0x15b555,datePrefix:_0x2da3a6}=this[_0x41223f(0xee)](_0x1a2e91,_0x441656),_0x55ec66=this[_0x41223f(0xf1)](_0xcbef4,_0x15b555),_0x3994a0=this[_0x41223f(0x129)](_0xcbef4,_0x15b555),_0x166f1c=this['_buildReservationIndexKey'](_0xcbef4,_0x15b555),_0x594374=this['_getCounterTTL'](_0x1a2e91);let _0xa1328f=null;if(_0x4af4f4){_0xa1328f=this[_0x41223f(0x17d)](_0x1f1fd8['Gizoe'],_0xcbef4,_0x15b555,_0x4af4f4);const _0x278655=await this['_retrieveIdemCache'](_0xa1328f);if(_0x278655)return _0x278655;}const _0x50db7c=crypto['randomUUID'](),_0xdeaa48=this['_buildReservationKey'](_0x50db7c),_0x4a70b1=this['_buildReservationKeyPrefix'](),_0x398db3=Date[_0x41223f(0xb8)](),_0x3c22e6=_0x1f1fd8['JBTLk'](_0x398db3,_0x411da6*0x3e8),_0x22baa7=_0x411da6*0x3e8,_0xca69c4=new Date(_0x398db3)['toISOString'](),_0x4ccfe9=new Date(_0x3c22e6)['toISOString'](),_0x1d5cc8=[_0x1f1fd8[_0x41223f(0x127)],_0xcbef4,_0x1f1fd8['Nbxix'],_0x15b555,_0x1f1fd8[_0x41223f(0xf5)],_0x1a2e91,_0x1f1fd8[_0x41223f(0x81)],_0x441656,_0x41223f(0x80),_0x1db35a,'numDigits',String(_0x5a4193),_0x1f1fd8['vghvv'],_0x1f1fd8[_0x41223f(0xf8)](_0x2da3a6,''),'createdAt',_0xca69c4,_0x1f1fd8[_0x41223f(0x7d)],_0x4ccfe9,_0x1f1fd8['YtlnF'],_0x1f1fd8[_0x41223f(0x83)](String,_0x22baa7)];_0x4af4f4&&_0x1d5cc8[_0x41223f(0x91)](_0x1f1fd8[_0x41223f(0x145)],_0x4af4f4);const _0x415767=redisClient['getClient'](),_0x41342d=await _0x415767['eval'](LUA_RESERVE_NUMBER,0x3,_0x55ec66,_0x3994a0,_0x166f1c,_0x58d2ad?'1':'0',String(_0x594374),_0x50db7c,_0xdeaa48,_0x1f1fd8['vurOr'](String,_0x22baa7),String(_0x3c22e6),_0x1f1fd8['vurOr'](String,_0x398db3),_0x4a70b1,..._0x1d5cc8),_0xd8bfac=_0x41342d[0x0],_0x3f96a3=_0x41342d[0x1]===0x1,_0x5c6310=_0x41342d[0x2]||0x0;let _0x4cefab;try{_0x4cefab=this['_formatNumber']({'format':_0x1a2e91,'prefix':_0x441656,'datePrefix':_0x2da3a6,'separator':_0x1db35a,'numDigits':_0x5a4193,'counterInt':_0xd8bfac});}catch(_0x31d53e){try{await _0x415767[_0x41223f(0x17b)](LUA_CANCEL_RESERVATION,0x3,_0xdeaa48,_0x166f1c,_0x3994a0,_0x50db7c,_0x1f1fd8[_0x41223f(0xc1)](String,_0x594374));}catch(_0x25b896){logger['warn']({'event':_0x1f1fd8['GfCVn'],'error':_0x25b896[_0x41223f(0xb7)],'resource':_0xcbef4,'formatKey':_0x15b555,'counterInt':_0xd8bfac,'token':_0x50db7c},_0x1f1fd8['YpnIF']);}throw _0x31d53e;}try{await _0x415767[_0x41223f(0xd8)](_0xdeaa48,_0x1f1fd8['ZsMqP'],_0x4cefab);}catch(_0x2ee06a){logger[_0x41223f(0xcb)]({'event':_0x1f1fd8[_0x41223f(0x128)],'error':_0x2ee06a[_0x41223f(0xb7)],'resource':_0xcbef4,'formatKey':_0x15b555,'counterInt':_0xd8bfac,'token':_0x50db7c},_0x1f1fd8[_0x41223f(0x15d)]);}const _0x31d2ac={'token':_0x50db7c,'value':_0x4cefab,'counter':_0xd8bfac,'resource':_0xcbef4,'formatKey':_0x15b555,'isReused':_0x3f96a3,'createdAt':_0xca69c4,'expiresAt':_0x4ccfe9,'reapedCount':_0x5c6310},_0xca3233=await this[_0x41223f(0x75)](_0xa1328f,_0x31d2ac);if(!_0xca3233['stored']){try{await _0x415767['eval'](LUA_CANCEL_RESERVATION,0x3,_0xdeaa48,_0x166f1c,_0x3994a0,_0x50db7c,String(_0x594374));}catch(_0x745448){logger['warn']({'event':'idgen_reserve_idem_loser_cancel_error','error':_0x745448['message'],'resource':_0xcbef4,'formatKey':_0x15b555,'counterInt':_0xd8bfac,'token':_0x50db7c},_0x1f1fd8['nzAOk']);}return logger[_0x41223f(0xe8)]({'event':_0x41223f(0x11a),'resource':_0xcbef4,'formatKey':_0x15b555,'counter':_0xd8bfac,'token':_0x50db7c},_0x41223f(0xdc)),_0xca3233[_0x41223f(0xb0)];}return this['_updateMeta'](_0xcbef4,_0x15b555,{'lastReservedCounter':_0xd8bfac,'lastReservedAt':_0xca69c4,'lastReapedCount':_0x5c6310},_0x594374),logger['info']({'event':_0x1f1fd8['cgHWg'],'resource':_0xcbef4,'formatKey':_0x15b555,'counter':_0xd8bfac,'isReused':_0x3f96a3,'token':_0x50db7c,'ttl':_0x411da6,'reapedCount':_0x5c6310},_0x41223f(0x9b)+_0x4cefab+'\x20(token='+_0x50db7c+')'),_0x31d2ac;}async['confirmReservation'](_0xf922b1){const _0x308d90=a0_0x26f5ee,_0x3c9cdf={'BgXrl':_0x308d90(0xf3),'hoape':'ID\x20Generator\x20is\x20disabled','fSMWW':'idgen','wXLlw':_0x308d90(0x146),'gtWjo':'IDGEN_RESERVATION_NOT_FOUND'};if(!this['enabled'])throw new IdGeneratorError(_0x3c9cdf[_0x308d90(0x14f)],_0x3c9cdf['hoape']);const _0x45045e=this['_validateReservationToken'](_0xf922b1&&_0xf922b1['token']),_0x9ce03e=this[_0x308d90(0x165)](_0xf922b1&&_0xf922b1[_0x308d90(0xaf)]);let _0x39d817=null;if(_0x9ce03e){_0x39d817=idempotencyManager[_0x308d90(0xab)](_0x3c9cdf['fSMWW'],_0x3c9cdf['wXLlw'],_0x45045e+':'+_0x9ce03e);const _0x2f1460=await this['_retrieveIdemCache'](_0x39d817);if(_0x2f1460)return _0x2f1460;}const _0x3917d9=await this[_0x308d90(0x141)](_0x45045e),_0x2ee60a=redisClient[_0x308d90(0x158)](),_0x516eb1=await _0x2ee60a[_0x308d90(0x17b)](LUA_CONFIRM_RESERVATION,0x2,_0x3917d9['rsvKey'],_0x3917d9['rsvIdxKey'],_0x45045e);if(!_0x516eb1||_0x516eb1[0x0]!==0x1)throw new IdGeneratorError(_0x3c9cdf['gtWjo'],_0x308d90(0x154)+_0x45045e,{'token':_0x45045e});const _0xff45a6=parseInt(_0x516eb1[0x1],0xa),_0x2f9087=_0x516eb1[0x2],_0x274d66=_0x516eb1[0x3],_0x41fbad=new Date()['toISOString'](),_0x519b83={'confirmed':!![],'token':_0x45045e,'value':_0x2f9087,'counter':_0xff45a6,'resource':_0x3917d9[_0x308d90(0xde)],'formatKey':_0x274d66,'confirmedAt':_0x41fbad};await this[_0x308d90(0xef)](_0x39d817,_0x519b83);const _0x4e0b05=_0x274d66[_0x308d90(0xc7)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x5a9094=_0x4e0b05?_0x4e0b05[0x1]:'text',_0x211524=this[_0x308d90(0x17e)](_0x5a9094);return this[_0x308d90(0x117)](_0x3917d9[_0x308d90(0xde)],_0x274d66,{'lastConfirmedCounter':_0xff45a6,'lastConfirmedAt':_0x41fbad},_0x211524),logger[_0x308d90(0xe8)]({'event':'idgen_reservation_confirmed','resource':_0x3917d9[_0x308d90(0xde)],'formatKey':_0x274d66,'counter':_0xff45a6,'token':_0x45045e},'ID\x20Generator\x20reservation\x20confirmed:\x20'+_0x2f9087+'\x20(token='+_0x45045e+')'),_0x519b83;}async['cancelReservation'](_0x2beebf){const _0x4a0150=a0_0x26f5ee,_0x1a1f66={'Ykmrn':'reserve_cancel','laqqa':function(_0x155124,_0x9d8965){return _0x155124!==_0x9d8965;},'BJxQR':_0x4a0150(0xea),'hpYWw':function(_0x21f115,_0x2902a3,_0x2beb24){return _0x21f115(_0x2902a3,_0x2beb24);}};if(!this['enabled'])throw new IdGeneratorError(_0x4a0150(0xf3),'ID\x20Generator\x20is\x20disabled');const _0x48528d=this[_0x4a0150(0x17a)](_0x2beebf&&_0x2beebf[_0x4a0150(0x10f)]),_0x45e123=this['_validateIdempotencyKey'](_0x2beebf&&_0x2beebf[_0x4a0150(0xaf)]);let _0x1c272d=null;if(_0x45e123){_0x1c272d=idempotencyManager['buildDeterministicKey'](_0x4a0150(0x118),_0x1a1f66['Ykmrn'],_0x48528d+':'+_0x45e123);const _0x382c7c=await this['_retrieveIdemCache'](_0x1c272d);if(_0x382c7c)return _0x382c7c;}const _0x5d4e79=await this['_getReservationContext'](_0x48528d),_0x22d989=this['_buildReuseKey'](_0x5d4e79[_0x4a0150(0xde)],_0x5d4e79['formatKey']),_0xbe9c4b=_0x5d4e79[_0x4a0150(0x169)]['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x2fc316=_0xbe9c4b?_0xbe9c4b[0x1]:'text',_0x292cea=this['_getCounterTTL'](_0x2fc316),_0x1d6052=redisClient['getClient'](),_0x37cc0b=await _0x1d6052['eval'](LUA_CANCEL_RESERVATION,0x3,_0x5d4e79['rsvKey'],_0x5d4e79[_0x4a0150(0x10c)],_0x22d989,_0x48528d,String(_0x292cea));if(!_0x37cc0b||_0x1a1f66['laqqa'](_0x37cc0b[0x0],0x1))throw new IdGeneratorError(_0x1a1f66[_0x4a0150(0x15a)],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x48528d,{'token':_0x48528d});const _0x2b2216=_0x1a1f66[_0x4a0150(0x177)](parseInt,_0x37cc0b[0x1],0xa),_0x4159fa=_0x37cc0b[0x2],_0x472ccd=_0x37cc0b[0x3],_0x5c94bc=new Date()['toISOString'](),_0x4f1e08={'cancelled':!![],'token':_0x48528d,'value':_0x4159fa,'counter':_0x2b2216,'resource':_0x5d4e79[_0x4a0150(0xde)],'formatKey':_0x472ccd,'releasedToReuse':!![],'cancelledAt':_0x5c94bc};return await this['_storeIdemCache'](_0x1c272d,_0x4f1e08),this[_0x4a0150(0x117)](_0x5d4e79[_0x4a0150(0xde)],_0x472ccd,{'lastCancelledCounter':_0x2b2216,'lastCancelledAt':_0x5c94bc},_0x292cea),logger['info']({'event':_0x4a0150(0xcd),'resource':_0x5d4e79[_0x4a0150(0xde)],'formatKey':_0x472ccd,'counter':_0x2b2216,'token':_0x48528d},'ID\x20Generator\x20reservation\x20cancelled:\x20'+_0x4159fa+_0x4a0150(0xb1)+_0x48528d+')'),_0x4f1e08;}async['extendReservation'](_0x268c85){const _0x439863=a0_0x26f5ee,_0x10cfa1={'lWclK':'IDGEN_DISABLED','yCwcu':_0x439863(0x13b),'pvXjz':_0x439863(0x118),'lFYfW':function(_0x469663,_0x299738){return _0x469663*_0x299738;},'uDWsc':function(_0x267293,_0x27bf8f){return _0x267293(_0x27bf8f);},'EfuaI':'text'};if(!this['enabled'])throw new IdGeneratorError(_0x10cfa1[_0x439863(0x11d)],_0x10cfa1[_0x439863(0x175)]);const _0x5a4444=this['_validateReservationToken'](_0x268c85&&_0x268c85['token']),_0x133815=this[_0x439863(0x106)](_0x268c85&&_0x268c85['ttl']),_0x308ddf=this['_validateIdempotencyKey'](_0x268c85&&_0x268c85[_0x439863(0xaf)]);let _0x173e3d=null;if(_0x308ddf){_0x173e3d=idempotencyManager[_0x439863(0xab)](_0x10cfa1[_0x439863(0x7a)],'reserve_extend',_0x5a4444+':'+_0x308ddf);const _0x271e6e=await this[_0x439863(0x98)](_0x173e3d);if(_0x271e6e)return _0x271e6e;}const _0x9da52e=await this['_getReservationContext'](_0x5a4444),_0x28a791=Date['now'](),_0x5d975e=_0x28a791+_0x133815*0x3e8,_0xa1c20b=_0x10cfa1['lFYfW'](_0x133815,0x3e8),_0x4a709a=new Date(_0x5d975e)[_0x439863(0x182)](),_0x56dd13=redisClient[_0x439863(0x158)](),_0x2fba00=await _0x56dd13['eval'](LUA_EXTEND_RESERVATION,0x2,_0x9da52e['rsvKey'],_0x9da52e[_0x439863(0x10c)],_0x5a4444,String(_0xa1c20b),_0x10cfa1['uDWsc'](String,_0x5d975e),_0x4a709a);if(!_0x2fba00||_0x2fba00[0x0]!==0x1)throw new IdGeneratorError(_0x439863(0xea),_0x439863(0x154)+_0x5a4444,{'token':_0x5a4444});const _0x12ca06=_0x2fba00[0x1],_0x2bb4a1=parseInt(_0x2fba00[0x2],0xa),_0x40488c=_0x2fba00[0x3],_0x4e58f4=_0x2fba00[0x4],_0x772fa0=new Date(_0x28a791)['toISOString'](),_0x10dae6={'extended':!![],'token':_0x5a4444,'previousExpiresAt':_0x12ca06,'expiresAt':_0x4a709a,'ttlMs':_0xa1c20b,'resource':_0x9da52e[_0x439863(0xde)],'formatKey':_0x4e58f4,'counter':_0x2bb4a1,'value':_0x40488c,'extendedAt':_0x772fa0};await this['_storeIdemCache'](_0x173e3d,_0x10dae6);const _0x13d265=_0x4e58f4['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x4dffb4=_0x13d265?_0x13d265[0x1]:_0x10cfa1[_0x439863(0xe0)],_0x28b207=this[_0x439863(0x17e)](_0x4dffb4);return this['_updateMeta'](_0x9da52e['resource'],_0x4e58f4,{'lastExtendedCounter':_0x2bb4a1,'lastExtendedAt':_0x772fa0},_0x28b207),logger[_0x439863(0xe8)]({'event':'idgen_reservation_extended','resource':_0x9da52e[_0x439863(0xde)],'formatKey':_0x4e58f4,'counter':_0x2bb4a1,'token':_0x5a4444,'ttl':_0x133815},'ID\x20Generator\x20reservation\x20extended:\x20'+_0x40488c+'\x20(token='+_0x5a4444+_0x439863(0xdb)+_0x133815+'s)'),_0x10dae6;}async[a0_0x26f5ee(0x109)](_0x451aa3){const _0x13b5e0=a0_0x26f5ee,_0x25dbc7={'aktjf':'IDGEN_DISABLED','xKlle':'ID\x20Generator\x20is\x20disabled','LvFrg':'IDGEN_RESERVATION_NOT_FOUND','Pcurq':function(_0x12e498,_0x1d0f29,_0x304a93){return _0x12e498(_0x1d0f29,_0x304a93);},'LUyuG':function(_0x197813,_0x158fb1){return _0x197813===_0x158fb1;},'rEeRk':function(_0x29386d,_0x2db0df){return _0x29386d>=_0x2db0df;}};if(!this['enabled'])throw new IdGeneratorError(_0x25dbc7[_0x13b5e0(0xce)],_0x25dbc7['xKlle']);const _0x598739=this['_validateReservationToken'](_0x451aa3&&_0x451aa3[_0x13b5e0(0x10f)]),_0x3addc8=this['_buildReservationKey'](_0x598739),_0x24e0aa=redisClient[_0x13b5e0(0x158)](),_0x5757ae=_0x24e0aa['pipeline']();_0x5757ae['hgetall'](_0x3addc8),_0x5757ae['pttl'](_0x3addc8);const _0x28b6a5=await _0x5757ae['exec'](),_0x5ba367=_0x28b6a5&&_0x28b6a5[0x0]&&_0x28b6a5[0x0][0x1],_0x43e94b=_0x28b6a5&&_0x28b6a5[0x1]&&_0x28b6a5[0x1][0x1];if(!_0x5ba367||Object['keys'](_0x5ba367)[_0x13b5e0(0xe2)]===0x0)throw new IdGeneratorError(_0x25dbc7[_0x13b5e0(0x104)],_0x13b5e0(0x154)+_0x598739,{'token':_0x598739});return{'token':_0x598739,'resource':_0x5ba367[_0x13b5e0(0xde)]||null,'formatKey':_0x5ba367[_0x13b5e0(0x169)]||null,'format':_0x5ba367['format']||null,'prefix':_0x5ba367[_0x13b5e0(0x89)]||'','separator':_0x5ba367['separator']||'','numDigits':_0x5ba367[_0x13b5e0(0x119)]?parseInt(_0x5ba367[_0x13b5e0(0x119)],0xa):null,'datePrefix':_0x5ba367['datePrefix']||'','counter':_0x5ba367['counter']?_0x25dbc7['Pcurq'](parseInt,_0x5ba367[_0x13b5e0(0x161)],0xa):null,'value':_0x5ba367[_0x13b5e0(0x107)]||null,'isReused':_0x25dbc7['LUyuG'](_0x5ba367['isReused'],'1')||_0x5ba367['isReused']===0x1,'createdAt':_0x5ba367['createdAt']||null,'expiresAt':_0x5ba367['expiresAt']||null,'ttlRemainingMs':_0x25dbc7[_0x13b5e0(0x13e)](typeof _0x43e94b,'number')&&_0x25dbc7['rEeRk'](_0x43e94b,0x0)?_0x43e94b:null};}async['_getReservationContext'](_0x3d9866){const _0x2e4ed1=a0_0x26f5ee,_0x3a35b6={'keXMk':_0x2e4ed1(0xde),'RPJSU':'formatKey','HYKXU':function(_0x39eaf8,_0x3c08f2){return _0x39eaf8||_0x3c08f2;}},_0x4e924a=this['_buildReservationKey'](_0x3d9866),_0x55c61a=redisClient['getClient'](),_0x3c6034=await _0x55c61a['hmget'](_0x4e924a,_0x3a35b6['keXMk'],_0x3a35b6[_0x2e4ed1(0xf4)]),_0x55b444=_0x3c6034&&_0x3c6034[0x0],_0x290e01=_0x3c6034&&_0x3c6034[0x1];if(_0x3a35b6[_0x2e4ed1(0x125)](!_0x55b444,!_0x290e01))throw new IdGeneratorError(_0x2e4ed1(0xea),_0x2e4ed1(0x154)+_0x3d9866,{'token':_0x3d9866});return{'resource':_0x55b444,'formatKey':_0x290e01,'rsvKey':_0x4e924a,'rsvIdxKey':this[_0x2e4ed1(0x148)](_0x55b444,_0x290e01)};}async['random'](_0x49ea02){const _0x22af09=a0_0x26f5ee,_0x4c6001={'yMIch':_0x22af09(0x13b),'xdacr':function(_0x5e5fa2,_0x21f9fe){return _0x5e5fa2===_0x21f9fe;},'ERMVn':_0x22af09(0xfc),'NEBEB':_0x22af09(0x186),'WTWhb':'idgen_random_generated'};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x4c6001[_0x22af09(0x73)]);this[_0x22af09(0x160)](_0x49ea02['resource']),this[_0x22af09(0xbb)](_0x49ea02[_0x22af09(0x72)]);const _0x11302b=this['_validateTTL'](_0x49ea02[_0x22af09(0x13a)]),_0x5b23c7=this[_0x22af09(0x170)](_0x49ea02['maxRetry']),_0xe16f55=this['_validateIdempotencyKey'](_0x49ea02['idempotencyKey']),_0x4b283d=_0x4c6001[_0x22af09(0x13f)](_0x49ea02['ensureUnique'],!![]),{resource:_0x110487,pattern:_0x53b0a2}=_0x49ea02;let _0x4efcea=null;if(_0xe16f55){_0x4efcea=this[_0x22af09(0x17d)](_0x4c6001[_0x22af09(0x185)],_0x110487,null,_0xe16f55);const _0x553471=await this[_0x22af09(0x98)](_0x4efcea);if(_0x553471)return _0x553471;}const _0x557d89=redisClient['getClient']();let _0x73beab=null,_0xc7fce3=0x0;if(!_0x4b283d)_0x73beab=this['_generateFromPattern'](_0x53b0a2),_0xc7fce3=0x1;else{for(let _0x38bea3=0x0;_0x38bea3<_0x5b23c7;_0x38bea3++){_0xc7fce3++;const _0x57a986=this[_0x22af09(0xbe)](_0x53b0a2);if(_0x11302b){const _0x385973=this[_0x22af09(0x168)](_0x110487,_0x57a986),_0x669925=await _0x557d89['set'](_0x385973,'1','EX',_0x11302b,'NX');if(_0x669925==='OK'){_0x73beab=_0x57a986;break;}}else{const _0x12cb4e=this['_buildIssuedKey'](_0x110487),_0x929d2f=await _0x557d89[_0x22af09(0xa2)](_0x12cb4e,_0x57a986);if(_0x929d2f===0x1){_0x73beab=_0x57a986;break;}}}if(_0x73beab===null)throw new IdGeneratorError(_0x22af09(0xdf),'Could\x20not\x20generate\x20unique\x20value\x20after\x20'+_0x5b23c7+'\x20attempts.\x20Increase\x20pattern\x20length\x20or\x20maxRetry.',{'resource':_0x110487,'pattern':_0x53b0a2,'maxRetry':_0x5b23c7});}const _0x53acd6={'value':_0x73beab,'resource':_0x110487,'pattern':_0x53b0a2,'attemptCount':_0xc7fce3,'generatedAt':new Date()['toISOString']()};_0x11302b&&_0x4b283d&&(_0x53acd6[_0x22af09(0xa1)]=new Date(Date['now']()+_0x11302b*0x3e8)[_0x22af09(0x182)]());const _0x7d0dc7=await this['_storeIdemCacheNX'](_0x4efcea,_0x53acd6);if(!_0x7d0dc7[_0x22af09(0x126)])return _0x4b283d&&await this['_undoRandomReservation'](_0x110487,_0x73beab,_0x11302b),logger[_0x22af09(0xe8)]({'event':_0x4c6001['NEBEB'],'resource':_0x110487,'pattern':_0x53b0a2,'value':_0x73beab},'ID\x20Generator\x20random\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x7d0dc7['winnerResult'];return logger[_0x22af09(0xe8)]({'event':_0x4c6001['WTWhb'],'resource':_0x110487,'pattern':_0x53b0a2,'attemptCount':_0xc7fce3,'ensureUnique':_0x4b283d,'ttl':_0x11302b||0x0},'ID\x20Generator\x20random:\x20'+_0x73beab),_0x53acd6;}async[a0_0x26f5ee(0x114)](_0x3242cf){const _0x4a8757=a0_0x26f5ee,_0x487171={'wGaLy':function(_0x17af86,_0x211896){return _0x17af86==_0x211896;},'sVUGR':_0x4a8757(0x76),'MFEoQ':function(_0x17b0b1,_0x3d6fed){return _0x17b0b1===_0x3d6fed;}},_0x2e1678=_0x487171['wGaLy'](_0x3242cf['digits'],null)?this[_0x4a8757(0x10a)]:_0x3242cf['digits'];if(!Number[_0x4a8757(0x17f)](_0x2e1678)||_0x2e1678<MIN_PIN_DIGITS||_0x2e1678>MAX_PIN_DIGITS)throw new IdGeneratorError(_0x487171[_0x4a8757(0x188)],_0x4a8757(0x181)+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+'\x20(got:\x20'+_0x2e1678+')');const _0x32d6ca='9'['repeat'](_0x2e1678);return this['random']({'resource':_0x3242cf[_0x4a8757(0xde)],'pattern':_0x32d6ca,'ensureUnique':_0x487171[_0x4a8757(0x139)](_0x3242cf[_0x4a8757(0xa5)],!![]),'ttl':_0x3242cf[_0x4a8757(0x13a)],'maxRetry':_0x3242cf[_0x4a8757(0x132)],'idempotencyKey':_0x3242cf[_0x4a8757(0xaf)]});}async['serial'](_0x6dc1df){const _0x332ab3=a0_0x26f5ee,_0xcef8d4={'CKXti':function(_0x3120f0,_0x1422ae){return _0x3120f0!==_0x1422ae;}},_0x55d618=_0x6dc1df[_0x332ab3(0x72)]||this[_0x332ab3(0x10d)];return this[_0x332ab3(0xfc)]({'resource':_0x6dc1df['resource'],'pattern':_0x55d618,'ensureUnique':_0xcef8d4[_0x332ab3(0x8f)](_0x6dc1df[_0x332ab3(0xa5)],![]),'ttl':_0x6dc1df[_0x332ab3(0x13a)],'maxRetry':_0x6dc1df['maxRetry'],'idempotencyKey':_0x6dc1df['idempotencyKey']});}async['code'](_0x5e2cee){const _0x2714d1=a0_0x26f5ee,_0x1a352c={'AngVO':function(_0x2eaa20,_0x22134e){return _0x2eaa20!==_0x22134e;}},_0x2a42fa=_0x5e2cee['pattern']||this[_0x2714d1(0x12a)];return this[_0x2714d1(0xfc)]({'resource':_0x5e2cee['resource'],'pattern':_0x2a42fa,'ensureUnique':_0x1a352c['AngVO'](_0x5e2cee['ensureUnique'],![]),'ttl':_0x5e2cee['ttl'],'maxRetry':_0x5e2cee['maxRetry'],'idempotencyKey':_0x5e2cee[_0x2714d1(0xaf)]});}async[a0_0x26f5ee(0xd0)](_0x195675){const _0x3e4631=a0_0x26f5ee,_0x1f9e8d={'DtgDR':'IDGEN_DISABLED','OcERm':function(_0x3e51e6,_0x8bd2cd){return _0x3e51e6!==_0x8bd2cd;},'oFxCm':function(_0x842f52,_0x4e0089){return _0x842f52===_0x4e0089;},'KWRWh':_0x3e4631(0x12f),'gFEgb':function(_0x2559f1,_0x4ecf6b){return _0x2559f1+_0x4ecf6b;},'nCtPb':_0x3e4631(0x134)};if(!this['enabled'])throw new IdGeneratorError(_0x1f9e8d[_0x3e4631(0x18c)],_0x3e4631(0x13b));this['_validateResource'](_0x195675['resource']);if(_0x1f9e8d[_0x3e4631(0x7e)](typeof _0x195675[_0x3e4631(0x107)],'string')||_0x1f9e8d[_0x3e4631(0x115)](_0x195675[_0x3e4631(0x107)]['length'],0x0))throw new IdGeneratorError(_0x1f9e8d['KWRWh'],'value\x20is\x20required');const {resource:_0x33fc35,value:_0x200108}=_0x195675,_0x4e14b4=redisClient['getClient'](),_0x98f2f2=this[_0x3e4631(0x168)](_0x33fc35,_0x200108),_0x44fa9a=this[_0x3e4631(0x15f)](_0x33fc35),[_0x1b1a8b,_0x4cf044]=await Promise[_0x3e4631(0xed)]([_0x4e14b4['del'](_0x98f2f2),_0x4e14b4['srem'](_0x44fa9a,_0x200108)]),_0x485d32=_0x1f9e8d['gFEgb'](_0x1b1a8b,_0x4cf044)>0x0;return logger[_0x3e4631(0xe8)]({'event':_0x1f9e8d['nCtPb'],'resource':_0x33fc35,'value':_0x200108,'consumed':_0x485d32},'ID\x20Generator\x20consumed:\x20'+_0x200108),{'consumed':_0x485d32,'resource':_0x33fc35,'value':_0x200108,'consumedAt':new Date()[_0x3e4631(0x182)]()};}async['peek'](_0x1a0599){const _0x3897db=a0_0x26f5ee,_0x31a233={'eWAnw':'IDGEN_DISABLED','MWKCO':'text','HDidi':'IDGEN_INVALID_FORMAT','AmRoz':function(_0x151db3,_0x286f5e){return _0x151db3===_0x286f5e;}};if(!this[_0x3897db(0x147)])throw new IdGeneratorError(_0x31a233['eWAnw'],_0x3897db(0x13b));this[_0x3897db(0x160)](_0x1a0599['resource']);const _0xef77ee=_0x1a0599[_0x3897db(0x14c)]||_0x3897db(0x142),_0x354d34=redisClient[_0x3897db(0x158)]();if(_0xef77ee==='number'){const _0x3c6488=(_0x1a0599['format']||_0x31a233['MWKCO'])['toLowerCase']();if(!ALLOWED_FORMATS[_0x3897db(0x9d)](_0x3c6488))throw new IdGeneratorError(_0x31a233['HDidi'],_0x3897db(0xcf)+_0x1a0599[_0x3897db(0xc6)]);const {formatKey:_0x12b100}=this[_0x3897db(0xee)](_0x3c6488,_0x1a0599[_0x3897db(0x89)]||''),_0x2e2e35=this[_0x3897db(0xf1)](_0x1a0599[_0x3897db(0xde)],_0x12b100),_0x32b7dd=this['_buildReuseKey'](_0x1a0599[_0x3897db(0xde)],_0x12b100),[_0x3a2654,_0x4261a7]=await Promise['all']([_0x354d34['get'](_0x2e2e35),_0x354d34['zcard'](_0x32b7dd)]);return{'resource':_0x1a0599['resource'],'mode':_0x3897db(0x142),'formatKey':_0x12b100,'currentCounter':parseInt(_0x3a2654,0xa)||0x0,'reusePoolSize':_0x4261a7||0x0};}if(_0x31a233[_0x3897db(0x180)](_0xef77ee,_0x3897db(0xfc))){const _0x232cc8=this['_buildIssuedKey'](_0x1a0599['resource']),_0x1ddc94=await _0x354d34[_0x3897db(0x15b)](_0x232cc8);return{'resource':_0x1a0599['resource'],'mode':'random','issuedCount':_0x1ddc94||0x0};}throw new IdGeneratorError(_0x3897db(0x136),'Unknown\x20mode:\x20'+_0xef77ee);}async[a0_0x26f5ee(0xf9)](_0x35f197){const _0x149cc6=a0_0x26f5ee,_0x606d91=await this['peek'](_0x35f197);if(_0x606d91['mode']===_0x149cc6(0x142)){const _0x5df994=redisClient[_0x149cc6(0x158)](),_0x2dba06=this[_0x149cc6(0xc0)](_0x35f197[_0x149cc6(0xde)],_0x606d91['formatKey']),_0x453a73=this[_0x149cc6(0x129)](_0x35f197[_0x149cc6(0xde)],_0x606d91[_0x149cc6(0x169)]),[_0x272179,_0x4f9a14]=await Promise['all']([_0x5df994[_0x149cc6(0xa7)](_0x2dba06),_0x5df994['zrange'](_0x453a73,0x0,-0x1)]);return{..._0x606d91,'reusePoolValues':_0x4f9a14['map'](_0x31c272=>parseInt(_0x31c272,0xa)),'meta':_0x272179&&Object['keys'](_0x272179)[_0x149cc6(0xe2)]>0x0?_0x272179:null};}return _0x606d91;}async['reset'](_0x454ea3){const _0x376acd=a0_0x26f5ee,_0x132960={'Arlik':'IDGEN_DISABLED','HOjUz':_0x376acd(0x13b),'czkNq':'number','sHxyc':function(_0x26fb90,_0x87590a){return _0x26fb90===_0x87590a;},'RRtXg':_0x376acd(0x9c),'levsN':function(_0x114b21,_0x128a26){return _0x114b21===_0x128a26;},'KdbCF':_0x376acd(0xfc)};if(!this[_0x376acd(0x147)])throw new IdGeneratorError(_0x132960['Arlik'],_0x132960[_0x376acd(0x82)]);if(!this[_0x376acd(0x102)])throw new IdGeneratorError(_0x376acd(0xc8),'Reset\x20operation\x20not\x20allowed\x20(set\x20IDGEN_ALLOW_RESET=true\x20to\x20enable)');this[_0x376acd(0x160)](_0x454ea3['resource']);const _0x276482=_0x454ea3[_0x376acd(0x14c)]||_0x132960[_0x376acd(0xbf)],_0x10e995=redisClient[_0x376acd(0x158)]();if(_0x132960[_0x376acd(0x143)](_0x276482,'number')){const _0x42f7f6=(_0x454ea3[_0x376acd(0xc6)]||_0x376acd(0x12e))['toLowerCase']();if(!ALLOWED_FORMATS[_0x376acd(0x9d)](_0x42f7f6))throw new IdGeneratorError(_0x132960[_0x376acd(0x90)],_0x376acd(0xcf)+_0x454ea3[_0x376acd(0xc6)]);const {formatKey:_0x82784b}=this['_buildFormatKey'](_0x42f7f6,_0x454ea3[_0x376acd(0x89)]||''),_0x370647=this[_0x376acd(0xf1)](_0x454ea3['resource'],_0x82784b),_0x2633a9=this[_0x376acd(0x129)](_0x454ea3[_0x376acd(0xde)],_0x82784b),_0x82ef7d=this['_buildMetaKey'](_0x454ea3[_0x376acd(0xde)],_0x82784b);return await _0x10e995[_0x376acd(0xb3)](_0x370647,_0x2633a9,_0x82ef7d),logger[_0x376acd(0xcb)]({'event':'idgen_reset','resource':_0x454ea3['resource'],'mode':_0x132960['czkNq'],'formatKey':_0x82784b},_0x376acd(0xfe)+_0x454ea3[_0x376acd(0xde)]+':'+_0x82784b),{'reset':!![],'resource':_0x454ea3['resource'],'mode':_0x132960[_0x376acd(0xbf)],'formatKey':_0x82784b,'deletedKeys':[_0x376acd(0x101),'reuse',_0x376acd(0xff)]};}if(_0x132960['levsN'](_0x276482,_0x132960[_0x376acd(0xf6)])){const _0x3967bc=this['_buildIssuedKey'](_0x454ea3['resource']);return await _0x10e995['del'](_0x3967bc),logger['warn']({'event':'idgen_reset','resource':_0x454ea3['resource'],'mode':'random'},'ID\x20Generator\x20reset:\x20random:'+_0x454ea3[_0x376acd(0xde)]),{'reset':!![],'resource':_0x454ea3[_0x376acd(0xde)],'mode':_0x132960['KdbCF'],'deletedKeys':['issued']};}throw new IdGeneratorError('IDGEN_INVALID_MODE','Unknown\x20mode:\x20'+_0x276482);}}const instance=new IdGenerator();instance['IdGeneratorError']=IdGeneratorError,module['exports']=instance,module[a0_0x26f5ee(0xad)]['IdGeneratorError']=IdGeneratorError;
|
|
1
|
+
'use strict';const a0_0x2771b1=a0_0x1b21;function a0_0x106b(){const _0x507766=['Dg9ju09tDhjPBMC','surhru5Fsu5wquXjrf9srvnpvvjdrq','CgLU','CKHcveq','lI9YzwrPCY1JBgLLBNq','Dgv4Da','tK9NEg0','sgnwA28','qMjxrfi','sw52ywXPzcbWyxr0zxjUoIbTDxn0igjLihn0CMLUzYaXlq','z2v0uMvZzxj2yxrPB24','sw52ywXPzcbWyxr0zxjUoIbTDxn0ignVBNrHAw4GyxqGBgvHC3qGB25LihbSywnLAg9SzgvYignOyxjHy3rLCIaOos9ol0eVys9ml1GVEc9il2GP','wuXfzfm','AwrNzw5FCMvZzxj2zv92ywX1zv9WzxjZAxn0x2vYCM9Y','AM9PBG','zgLNAxrZ','DMfSDwu','x2rLzMf1BhrqAw5eAwDPDhm','swrLBxbVDgvUy3KGCMv0CMLLDMuGzxjYB3i','BwzVww4','surhru5Fsu5wquXjrf9srvnfuLzfx1ruta','rMfPBgvKihrVihjLBgvHC2uGy291BNrLCIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','x3bHCNnLtNvTyMvY','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcbWCMvMAxG','EMnHCMq','surhru5FreLtqujmruq','x3n0B3jLswrLBunHy2HL','wenNwNi','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYKkBg9JywWGy291BNrLCIa9igHBmv0kAwyGy291BNrLCIb0AgvUcIaGCMvKAxmUy2fSBcGNwKfercCSieTfwvnBm10SignVDw50zxiSignVDw50zxiPcIaGBg9JywWGDhrSid0GDg9UDw1IzxiOqvjhvLSYxsKkicbPzIb0DgWGpIaWihrOzw4kicaGihjLzgLZlMnHBgWOj0vyueLsrsCSieTfwvnBm10Sihr0BcKkicbLBMqkzw5KcNjLzgLZlMnHBgWOj0rftcCSieTfwvnBmv0PcNjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqPYzxr1CM4GEYaXlcbJB3vUDgvYlcbOwZjDlcbOwZnDih0k','wxnSy2O','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','DhrS','suqGr2vUzxjHDg9YihjLC2v0oIa','sw52ywXPzcbZzxbHCMf0B3i6ig1HEcaZignOyxiSig11C3qGBM90ignVBNrHAw4GjZONicHNB3q6ia','Aw5MBW','lcaR','zw5ZDxjLvw5PCxvL','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','r0PoqNi','CMy6AwrNzw46','y29UzMLYBvjLC2vYDMf0Aw9U','AwrNzw5FAwrLBv9UEf9YywnLx2XVC3rFyNv0x2vTChr5','mty0ndaWnhnJsejREG','mty1oda5ngnJvxrLBG','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKihrLEhqGzM9YBwf0icHNB3q6ia','x3vWzgf0zu1LDge','Bu5vD0K','Cgf0DgvYBG','mtiXntu5zwjuBfDc','vg5NwNK','x2TLEvbYzwzPEa','surhru5Fsu5wquXjrf9quKvgsvG','zM9YBwf0s2v5','CMvZzxj2zv9Jyw5JzwW','cMLMiefsr1zBmv0Gpt0GjZeNihrOzw4kicbSB2nHBcbYzxvZzwqGpsbYzwrPCY5JywXSkcDAue9qtuLojYWGs0vzu1SYxsWGmsKkicbPzIaJCMv1C2vKid4Gmcb0AgvUcIaGicbYzxr1CM4GE3rVBNvTyMvYkhjLDxnLzfSXxsKSidf9cIaGzw5KcMvUzaPSB2nHBcbUid0GCMvKAxmUy2fSBcGNsu5duICSieTfwvnBmv0PcMXVy2fSihr0Bca9ihrVBNvTyMvYkefsr1zBmL0PcMLMihr0Bca+idaGyw5Kig4Gpt0Gmsb0AgvUcIaGCMvKAxmUy2fSBcGNrvHqsvjfjYWGs0vzu1SXxsWGDhrSkqPLBMqkCMv0DxjUihTUlcaWFqO','C3rVCMvK','Dg9mB3DLCKnHC2u','n3W2Fdr8oxWXFdb8mtf8mtb8nxW4Fdn8mG','A2vUwva','AwrNzw5Fy29UzMLNx2LUAxq','sgDSDwm','AgfZ','CMfUzg9T','yNvPBgrezxrLCM1PBMLZDgLJs2v5','x2nVDw50zxjuveXnyxa','BNbzCem','BNvTrgLNAxrZ','q25pA1G','D2fYBG','ihbHCNrZkq','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','mJyYnuPLqM9Rvq','zxzHBa','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','AwrNzw5FCMvZzxj2yxrPB25Fy2fUy2vSBgvK','x3jLC2vYDMvezwzHDwX0vfrm','tg5ru2q','CMvZzxj2zv9LEhrLBMq','sgTwuuC','AwrNzw5FAwrLBv9YzxrYAwv2zv9LCNjVCG','ywXS','CMv1C2u6','icH0B2TLBJ0','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i','x3jLC2vYDMvnyxHuveW','CMvZzxj2zu1HEfruta','u2TSsKy','surhru5Fru5bqKXfra','Bwv0yq','tMfnExq','x3n0B3jLswrLBunHy2HLtLG','C2v0','C2vWyxjHDg9Y','x3bHzdi','vxDztMO','z2v0','AxnjBNrLz2vY','mJuYwfzutKHK','wwnmEeW','twv0ysb1CgrHDguGzxjYB3i','txLZvfK','CgfKzgvKicHNB3q6ia','Dw9ICe4','mdeYmZq1nJC4oufcq0rfrG','BwvZC2fNzq','otK5os05otK5','ignOyxjZicHNB3qGBgvUz3rOoIa','BNvTyMvY','A2v5uhjLzML4','surhru5Fq09vtLrfuL9pvKvsrKXpvW','q0jWwgS','sNvqAuS','ywXSB3DszxnLDa','vw5RBM93BIbTB2rLoIa','surhru5Frevgqvvmvf9trvjjquXFuefuvevstG','suqGr2vUzxjHDg9Yig51BwjLCJOG','x3zHBgLKyxrLuMvZB3vYy2u','BLjptKq','x2vUC3vYzuLUAxrPywXPEMvK','CgfYC2u','ExL5Ew1T','t2DgBg0','wfHywc1ywfHylvHywfGTwfHywa','x2j1AwXKrM9YBwf0s2v5','CMvZzxq','DgvZDa','x3jLDhjPzxzLswrLBunHy2HL','surhru5FuKvtrvjwrv9nqvHFvfrm','D2LUBMvYuMvZDwX0','wNfkzKq','CNn2swr4s2v5','DgP5vgG','AKnnwu8','zezqvLa','CfbTCfm','CMvSzwfZzu51BwjLCG','x2j1AwXKu2vXs2v5','zvzhDui','x2j1AwXKsxnZDwvKs2v5','mte3mZK2mdbnBNrlrfG','Bw9Kzq','AwrLBvruta','BwfW','x3zHBgLKyxrLugf0DgvYBG','wwfcve0','C3rYAw5N','Bwf0y2G','B3LjCLi','txjwrhi','C3rYAw5NAwz5','lcbLEhbLy3rLzca','surhru5Fvu5juvvfx1jfvfjzx0vysefvu1rfra','surhru5Fsu5wquXjrf9qqvrurvjo','mZy2mZqWmu9IBfnVra','x2LKzw1uveW','AwrNzw4','mtuXmZyZmNz6yMHjEq','sMH4sNG','zxHLyW','CKHTB24','z2v0q2XPzw50','vNbNCKu','Dg9Rzw4','x3rLEhq','x2zVCM1HDe51BwjLCG','surhru5Frevgqvvmvf9nqvHFuKvuuLK','te1Uwhq','CMfUzg9Tvvvjra','ruHbz0q','x2j1AwXKtwv0yuTLEq','vwrTCgq','x2DLBMvYyxrLrNjVBvbHDhrLCM4','x3zHBgLKyxrLtwf4uMv0CNK','CMvWzwf0','AhjHt1y','sw52ywXPzcbYzxvZzurLBgv0ztOGBxvZDcbIzsbIB29SzwfUicHNB3q6ia','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vYx2nHBMnLBf9LCNjVCG','A05AufC','Bwf4uMv0CNK','BNDWuKe','x2LUAxrPywXPEMvK','y291BNrLCKLUDa','AKXyC20','qwzxthK','ywn0AxzLoG','Bu9XzLK','EwfAAxa','surhru5Fq09vtLrfuL9uveXFrefjtfK','A2v5CW','surhru5Fsurftv9uveW','y291BNrLCKLUDcbTDxn0igjLihbVC2L0AxzLigLUDgvNzxiGkgDVDdOG','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','ugjlA3G','x2fSBg93uMvZzxq','yuPNv3K','ChjLzML4','sMvjEum','icHNB3q6ia','C2fKza','x3zHBgLKyxrLvfrm','x2vUywjSzwq','surhru5Fsu5wquXjrf9trvbbuKfut1i','sxDWseO','suqGr2vUzxjHDg9YignVBMzPzYbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','z2v0sw5MBW','zgf0zvbYzwzPEa','xLXKEW','zw52','CfzgCM4','x2j1AwXKswrLBuTLEq','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignHBMnLBgXLzdOG','surhru5Fsu5wquXjrf9uveW','C2vX','AfLltwW','B05iExi','uMvZzxqGB3bLCMf0Aw9Uig5VDcbHBgXVD2vKicHZzxqGsurhru5FquXmt1DFuKvtrvq9Dhj1zsb0BYbLBMfIBguP','suqGr2vUzxjHDg9YihjHBMrVBsbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYWGj2LZuMv1C2vKjYWGj2nYzwf0zwrbDcCSicDLEhbPCMvZqxqNkqPYzwrPCY5JywXSkcDeruWNlcblrvLtwZfDkqPYzwrPCY5JywXSkcDAuKvnjYWGs0vzu1SYxsWGqvjhvLSXxsKkCMv0DxjUihSGmsWGAfSXxsWGAfSYxsWGAfSZxsWGAfS0xsWGAfS1xsWGAfS2xsb9cG','ywjJzgvMz2HPAMTSBw5VChfYC3r1DND4ExO','Exz3txC','surhru5Frevgqvvmvf9dt0rfx1bbvfrfuK4','x2j1AwXKuMv1C2vlzxK','surhru5Fsu5wquXjrf9gt1jnqvq','ruzxBeK','x2j1AwXKqwn0AxzLs2v5','surhru5Fsu5wquXjrf9ovu1FreLhsvrt','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','sujhuLK','u25pC2q','ExL5Ew1Tzgq','zgvMyxvSDenVzgvqyxr0zxjU','z2v0rgf0zq','swrLBxbVDgvUy3KGy2fJAguGseLu','DMfSDwuGAxmGCMvXDwLYzwq','zgjRtgS','B3HLt1K','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','zM9YBwf0s2v5igLZihjLCxvPCMvKigLUigXVDY1SzxzLBcbYzwXLyxnL','ignOyxjZ','Bwv0ytO','C29ZvMq','yw5Ku2K','x2LUAxrdB25MAwC','zw5HyMXLza','AMTfrgG','DxPfC0u','uxjNBuC','CNn2oG','z2v0rNvSBfLLyxi','cNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZfDlcbbuKDwwZfDlcbbuKDwwZfDkqPSB2nHBcb0DgWGpsb0B251BwjLCIHbuKDwwZjDkqPPzIb0DgWGpIaWihrOzw4kicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcb0DgWPcMvUzaPYzxr1CM4GmqO','CMvZB3vYy2u','igv4y2vLzhmG','z0frCKq','swrhzw5LCMf0B3jfCNjVCG','x2j1AwXKuMvZzxj2yxrPB25lzxK','AhLxwMi','C2nHCMq','ihnLy29UzhmGkgDVDdOG','x2rLzMf1BhrdB2rLugf0DgvYBG','x3zHBgLKyxrLuMvZzxj2zvruta','u0vuie5yigzHAwXLzcbIDxqGy2fJAguGr0vuihjLDhvYBMvKigvTChr5iokaLcbMywXSAw5NigjHy2SGDg8GB3DUihjLC3vSDa','zgvS','x2rLzMf1BhrnyxHszxrYEq','uNrAA28','AwrLBxbVDgvUy3LlzxK','suqGr2vUzxjHDg9YignVBNn1BwvKoIa','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9Uigv4DgvUzgvKoIa','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','uMfUzg9TihjLC2vYDMf0Aw9UihvUzg8GzxjYB3iGkg9YCgHHBIbZBg90ig1HEsbYzw1HAw4P','C3jLBq','DgXQzxm','zgLHz0K','AwrNzw5FCMvZzxj2yxrPB25Fy29UzMLYBwvK','A1jVtge','tNb6ALi','q291BNrLCIbVDMvYzMXVDZOG','sw52ywXPzcbTyxHszxrYEtOGBxvZDcbIzsbPBNrLz2vYideT','nwTNvuDHAa','zxHWAxjLC0f0','EKDXEwm','yK1nwey','surhru5Frevgqvvmvf9qsu5FreLhsvrt','zgvMyxvSDfbPBKrPz2L0CW','BgvUz3rO','CMvSzwfZzq','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','surhru5Fsu5wquXjrf9ovu1crvi','zujhwgi','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vY','ExDZBwC','CgfKu3rHCNq','tNvTyMvYihbYzwzPEcbTAxnTyxrJAdOGzxHWzwn0zwqG','x2DLDenVDw50zxjuveW','Chr0Ba','y29UC3vTzq','yxjds1C','y1PrEMG','ExL5Eq','suqGr2vUzxjHDg9Yig51BwjLCIbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','zM9YBwf0'];a0_0x106b=function(){return _0x507766;};return a0_0x106b();}(function(_0x82d628,_0x43b544){const _0x4df977=a0_0x1b21,_0x2b0bd7=_0x82d628();while(!![]){try{const _0xe51cc1=parseInt(_0x4df977(0x167))/0x1+-parseInt(_0x4df977(0x198))/0x2*(parseInt(_0x4df977(0x17e))/0x3)+parseInt(_0x4df977(0x161))/0x4*(-parseInt(_0x4df977(0x120))/0x5)+-parseInt(_0x4df977(0x162))/0x6+-parseInt(_0x4df977(0xa4))/0x7+parseInt(_0x4df977(0xa7))/0x8+parseInt(_0x4df977(0x96))/0x9;if(_0xe51cc1===_0x43b544)break;else _0x2b0bd7['push'](_0x2b0bd7['shift']());}catch(_0x458bc5){_0x2b0bd7['push'](_0x2b0bd7['shift']());}}}(a0_0x106b,0x47d4c));const crypto=require('crypto'),redisClient=require(a0_0x2771b1(0x13b)),{logger}=require('./logger'),idempotencyManager=require('./idempotency-manager'),ALLOWED_FORMATS=new Set([a0_0x2771b1(0x13c),'yyyy',a0_0x2771b1(0x83),a0_0x2771b1(0xf0)]),RESOURCE_REGEX=/^[A-Za-z0-9_-]{1,64}$/,PREFIX_REGEX=/^[A-Za-z0-9_-]{0,32}$/,SEPARATOR_FORBIDDEN=/:/,MAX_NUM_DIGITS=0xc,MIN_NUM_DIGITS=0x1,MAX_PIN_DIGITS=0xc,MIN_PIN_DIGITS=0x4,MAX_PATTERN_LENGTH=0x100,MAX_TTL=0x278d00,MAX_RETRY_LIMIT=0x64,MAX_IDEMPOTENCY_KEY_LENGTH=0x80,RESERVATION_TOKEN_REGEX=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,MIN_RESERVE_TTL=0xa,MAX_RESERVE_TTL=0x15180,DEFAULT_RESERVE_TTL=0x258,RESERVE_REAP_BATCH=0x40,CHARSET_DIGIT='0123456789',CHARSET_UPPER='ABCDEFGHIJKLMNOPQRSTUVWXYZ',CHARSET_LOWER=a0_0x2771b1(0xe5),CHARSET_LETTERS=CHARSET_UPPER+CHARSET_LOWER,CHARSET_UPPER_ALNUM=CHARSET_UPPER+CHARSET_DIGIT,CHARSET_MIXED_ALNUM=CHARSET_UPPER+CHARSET_LOWER+CHARSET_DIGIT,CHARSET_HEX_UPPER=a0_0x2771b1(0x19e),CHARSET_HEX_LOWER='0123456789abcdef',PLACEHOLDER_MAP={'9':CHARSET_DIGIT,'N':CHARSET_DIGIT,'A':CHARSET_UPPER,'a':CHARSET_LOWER,'L':CHARSET_LETTERS,'X':CHARSET_UPPER_ALNUM,'x':CHARSET_MIXED_ALNUM,'H':CHARSET_HEX_UPPER,'h':CHARSET_HEX_LOWER},LUA_GENERATE_NUMBER=a0_0x2771b1(0x16d),LUA_RELEASE_NUMBER=a0_0x2771b1(0x104),LUA_RESERVE_NUMBER='\x0alocal\x20unpk\x20=\x20unpack\x20or\x20table.unpack\x0a\x0a--\x20Step\x201:\x20lazy\x20reap\x20expired\x20reservations\x20(cap\x20RESERVE_REAP_BATCH)\x0alocal\x20reaped\x20=\x200\x0alocal\x20nowMs\x20=\x20ARGV[7]\x0alocal\x20rsvPrefix\x20=\x20ARGV[8]\x0alocal\x20expired\x20=\x20redis.call(\x27ZRANGEBYSCORE\x27,\x20KEYS[3],\x20\x27-inf\x27,\x20\x27(\x27\x20..\x20nowMs,\x20\x27LIMIT\x27,\x200,\x2064)\x0afor\x20i\x20=\x201,\x20#expired\x20do\x0a\x20\x20local\x20expToken\x20=\x20expired[i]\x0a\x20\x20local\x20expRsvKey\x20=\x20rsvPrefix\x20..\x20expToken\x0a\x20\x20local\x20expCounter\x20=\x20redis.call(\x27HGET\x27,\x20expRsvKey,\x20\x27counter\x27)\x0a\x20\x20if\x20expCounter\x20then\x0a\x20\x20\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[2],\x20expCounter,\x20expCounter)\x0a\x20\x20end\x0a\x20\x20redis.call(\x27DEL\x27,\x20expRsvKey)\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[3],\x20expToken)\x0a\x20\x20reaped\x20=\x20reaped\x20+\x201\x0aend\x0a\x0a--\x20Step\x202:\x20allocate\x20counter\x20(ZPOPMIN\x20reuse\x20atau\x20INCR\x20seq)\x0alocal\x20counterInt\x0alocal\x20isReused\x20=\x200\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20r\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#r\x20>\x200\x20then\x0a\x20\x20\x20\x20counterInt\x20=\x20tonumber(r[1])\x0a\x20\x20\x20\x20isReused\x20=\x201\x0a\x20\x20end\x0aend\x0aif\x20not\x20counterInt\x20then\x0a\x20\x20counterInt\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0a\x20\x20local\x20cttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20cttl\x20>\x200\x20and\x20counterInt\x20==\x201\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20cttl)\x0a\x20\x20end\x0aend\x0a\x0a--\x20Step\x203:\x20write\x20reservation\x20hash\x20+\x20index\x20+\x20TTL\x0alocal\x20rsvKey\x20=\x20ARGV[4]\x0alocal\x20rsvTtlMs\x20=\x20tonumber(ARGV[5])\x0alocal\x20expiresAtMs\x20=\x20tonumber(ARGV[6])\x0alocal\x20nargs\x20=\x20#ARGV\x0alocal\x20fields\x20=\x20{}\x0afor\x20i\x20=\x209,\x20nargs\x20do\x0a\x20\x20fields[#fields\x20+\x201]\x20=\x20ARGV[i]\x0aend\x0aredis.call(\x27HSET\x27,\x20rsvKey,\x20\x27counter\x27,\x20counterInt,\x20\x27isReused\x27,\x20isReused,\x20unpk(fields))\x0aredis.call(\x27PEXPIRE\x27,\x20rsvKey,\x20rsvTtlMs)\x0aredis.call(\x27ZADD\x27,\x20KEYS[3],\x20expiresAtMs,\x20ARGV[3])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20math.floor(rsvTtlMs\x20/\x201000)\x20+\x2060)\x0a\x0areturn\x20{\x20counterInt,\x20isReused,\x20reaped\x20}\x0a',LUA_CONFIRM_RESERVATION=a0_0x2771b1(0xe4),LUA_CANCEL_RESERVATION=a0_0x2771b1(0x153),LUA_EXTEND_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27,\x20\x27isReused\x27,\x20\x27createdAt\x27)\x0alocal\x20prevExpiresAt\x20=\x20h[1]\x0alocal\x20newTtlMs\x20=\x20tonumber(ARGV[2])\x0alocal\x20newExpMs\x20=\x20tonumber(ARGV[3])\x0aredis.call(\x27PEXPIRE\x27,\x20KEYS[1],\x20newTtlMs)\x0aredis.call(\x27HSET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20ARGV[4])\x0aredis.call(\x27ZADD\x27,\x20KEYS[2],\x20newExpMs,\x20ARGV[1])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[2],\x20math.floor(newTtlMs\x20/\x201000)\x20+\x2060)\x0areturn\x20{\x201,\x20prevExpiresAt,\x20h[2],\x20h[3],\x20h[4],\x20h[5],\x20h[6]\x20}\x0a';function a0_0x1b21(_0x3e44f9,_0x46d017){_0x3e44f9=_0x3e44f9-0x74;const _0x106b5a=a0_0x106b();let _0x1b219a=_0x106b5a[_0x3e44f9];if(a0_0x1b21['OrIyqA']===undefined){var _0x31cc6c=function(_0x2c6d81){const _0x17d914='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x43683d='',_0x2e280f='';for(let _0x3bc804=0x0,_0x17180f,_0x139a16,_0x20c97b=0x0;_0x139a16=_0x2c6d81['charAt'](_0x20c97b++);~_0x139a16&&(_0x17180f=_0x3bc804%0x4?_0x17180f*0x40+_0x139a16:_0x139a16,_0x3bc804++%0x4)?_0x43683d+=String['fromCharCode'](0xff&_0x17180f>>(-0x2*_0x3bc804&0x6)):0x0){_0x139a16=_0x17d914['indexOf'](_0x139a16);}for(let _0x4b7557=0x0,_0x5175cc=_0x43683d['length'];_0x4b7557<_0x5175cc;_0x4b7557++){_0x2e280f+='%'+('00'+_0x43683d['charCodeAt'](_0x4b7557)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2e280f);};a0_0x1b21['ufhFKs']=_0x31cc6c,a0_0x1b21['jUrdEa']={},a0_0x1b21['OrIyqA']=!![];}const _0x34b9da=_0x106b5a[0x0],_0x36eb85=_0x3e44f9+_0x34b9da,_0x3f6343=a0_0x1b21['jUrdEa'][_0x36eb85];return!_0x3f6343?(_0x1b219a=a0_0x1b21['ufhFKs'](_0x1b219a),a0_0x1b21['jUrdEa'][_0x36eb85]=_0x1b219a):_0x1b219a=_0x3f6343,_0x1b219a;}class IdGeneratorError extends Error{constructor(_0x1f3780,_0x3ef690,_0x23bea6=null){const _0x4d4fb4=a0_0x2771b1,_0x58f1e2={'oxeOY':function(_0x36c55f,_0x25c12b){return _0x36c55f||_0x25c12b;},'BwUeu':'IdGeneratorError'};super(_0x58f1e2[_0x4d4fb4(0xf6)](_0x3ef690,_0x1f3780)),this['name']=_0x58f1e2['BwUeu'],this['code']=_0x1f3780,this['details']=_0x23bea6;}}class IdGenerator{constructor(){const _0x520a36=a0_0x2771b1,_0x2654e7=_0x520a36(0x170)['split']('|');let _0x4729c9=0x0;while(!![]){switch(_0x2654e7[_0x4729c9++]){case'0':this[_0x520a36(0x111)]=null;continue;case'1':this['_allowReset']=null;continue;case'2':this[_0x520a36(0x18b)]=null;continue;case'3':this['_reserveDefaultTTL']=null;continue;case'4':this[_0x520a36(0x169)]=null;continue;case'5':this[_0x520a36(0x10d)]=null;continue;case'6':this[_0x520a36(0xd3)]=null;continue;case'7':this[_0x520a36(0xbf)]=![];continue;case'8':this['_counterTTLMap']=null;continue;case'9':this[_0x520a36(0xa5)]=null;continue;case'10':this['_defaultSerialPattern']=null;continue;case'11':this['_defaultPinDigits']=null;continue;}break;}}['_initConfig'](){const _0x51e010=a0_0x2771b1,_0x4244fc={'gAQrD':function(_0x1b9814,_0x44603e){return _0x1b9814===_0x44603e;},'arCKW':function(_0x18ce48,_0x484475,_0x49c8c5){return _0x18ce48(_0x484475,_0x49c8c5);},'KFOWj':'true','UwYNj':function(_0x2c3dac,_0x2f2f68,_0x1b74dc){return _0x2c3dac(_0x2f2f68,_0x1b74dc);},'hraOV':_0x51e010(0x74)};this[_0x51e010(0x169)]=_0x51e010(0x15e),this[_0x51e010(0xd3)]=_0x4244fc['gAQrD'](process['env'][_0x51e010(0x18e)],'true'),this[_0x51e010(0xa5)]=_0x4244fc[_0x51e010(0x132)](parseInt,process['env'][_0x51e010(0xc8)],0xa)||0x258,this['_allowReset']=_0x4244fc[_0x51e010(0x107)](process[_0x51e010(0xda)]['IDGEN_ALLOW_RESET'],_0x4244fc['KFOWj']),this[_0x51e010(0x111)]=_0x4244fc[_0x51e010(0x195)](parseInt,process[_0x51e010(0xda)][_0x51e010(0xb0)],0xa)||0xa,this[_0x51e010(0x148)]=parseInt(process[_0x51e010(0xda)][_0x51e010(0x124)],0xa)||0x6,this['_defaultSerialPattern']=process['env'][_0x51e010(0x7d)]||_0x51e010(0x85),this['_defaultCodePattern']=process[_0x51e010(0xda)][_0x51e010(0xe7)]||_0x4244fc[_0x51e010(0xb9)],this[_0x51e010(0x177)]={'yyyymm':parseInt(process['env']['IDGEN_COUNTER_TTL_MONTHLY'],0xa)||0x2a3000,'yyyymmdd':parseInt(process['env'][_0x51e010(0xc6)],0xa)||0x2a300},this[_0x51e010(0x182)]=_0x4244fc['UwYNj'](parseInt,process['env']['IDGEN_RESERVE_DEFAULT_TTL'],0xa)||DEFAULT_RESERVE_TTL,this[_0x51e010(0x18b)]=_0x4244fc[_0x51e010(0x195)](parseInt,process['env'][_0x51e010(0x8a)],0xa)||MAX_RESERVE_TTL,this[_0x51e010(0xbf)]=!![],logger[_0x51e010(0x159)]({'event':_0x51e010(0x172),'enabled':this['_enabled'],'idemTTL':this['_idemTTL'],'allowReset':this['_allowReset'],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this[_0x51e010(0x148)],'reserveDefaultTTL':this['_reserveDefaultTTL'],'reserveMaxTTL':this['_reserveMaxTTL']},_0x51e010(0xd6)+this['_enabled']);}[a0_0x2771b1(0x81)](){const _0x5ad440=a0_0x2771b1;if(!this[_0x5ad440(0xbf)])this[_0x5ad440(0xfd)]();}get['enabled'](){const _0x58ea40=a0_0x2771b1;return this[_0x58ea40(0x81)](),this[_0x58ea40(0xd3)];}get['keyPrefix'](){const _0x4be345=a0_0x2771b1;return this[_0x4be345(0x81)](),this[_0x4be345(0x169)];}get['idemTTL'](){return this['_ensureInitialized'](),this['_idemTTL'];}get[a0_0x2771b1(0x7b)](){const _0x2b6726=a0_0x2771b1;return this[_0x2b6726(0x81)](),this[_0x2b6726(0xcc)];}get['defaultMaxRetry'](){return this['_ensureInitialized'](),this['_defaultMaxRetry'];}get[a0_0x2771b1(0x125)](){const _0x7fe8ea=a0_0x2771b1;return this['_ensureInitialized'](),this[_0x7fe8ea(0x148)];}get['defaultSerialPattern'](){return this['_ensureInitialized'](),this['_defaultSerialPattern'];}get[a0_0x2771b1(0xf1)](){const _0x3379c8=a0_0x2771b1;return this[_0x3379c8(0x81)](),this[_0x3379c8(0x10d)];}get['reserveDefaultTTL'](){const _0x49053b=a0_0x2771b1;return this['_ensureInitialized'](),this[_0x49053b(0x182)];}get[a0_0x2771b1(0x18c)](){const _0x443319=a0_0x2771b1;return this[_0x443319(0x81)](),this[_0x443319(0x18b)];}['isEnabled'](){const _0x53666b=a0_0x2771b1;return this[_0x53666b(0xfe)];}[a0_0x2771b1(0x7f)](_0x2db603){const _0x3b92fa=a0_0x2771b1;if(typeof _0x2db603!==_0x3b92fa(0x9c)||!RESOURCE_REGEX[_0x3b92fa(0x88)](_0x2db603))throw new IdGeneratorError('IDGEN_INVALID_RESOURCE','Invalid\x20resource:\x20must\x20match\x20'+RESOURCE_REGEX+'\x20(got:\x20'+JSON['stringify'](_0x2db603)+')');}['_validateNumberParams'](_0x289bed){const _0x1b9f8f=a0_0x2771b1,_0xb7e234={'RtZko':_0x1b9f8f(0x9c),'jkEDh':_0x1b9f8f(0xe9),'oyIrR':function(_0x290f9c,_0x257ee6){return _0x290f9c!==_0x257ee6;},'WXUDw':_0x1b9f8f(0x16a),'VpgrE':function(_0x39c6a1,_0x2f4bfa){return _0x39c6a1>_0x2f4bfa;},'PMKrY':_0x1b9f8f(0xd4),'eBGXb':'boolean','mOqfY':_0x1b9f8f(0x138)},{resource:_0x1535f8,format:_0x485ebb,prefix:_0x30a619,separator:_0x3378da,numDigits:_0x393335,reuseDelete:_0x399973}=_0x289bed;this['_validateResource'](_0x1535f8);const _0x330e47=typeof _0x485ebb===_0xb7e234['RtZko']?_0x485ebb['toLowerCase']():'';if(!ALLOWED_FORMATS['has'](_0x330e47))throw new IdGeneratorError(_0xb7e234[_0x1b9f8f(0xff)],'Invalid\x20format:\x20must\x20be\x20one\x20of\x20'+[...ALLOWED_FORMATS][_0x1b9f8f(0x145)](',\x20')+'\x20(got:\x20'+_0x485ebb+')');if(!Number[_0x1b9f8f(0x197)](_0x393335)||_0x393335<MIN_NUM_DIGITS||_0x393335>MAX_NUM_DIGITS)throw new IdGeneratorError(_0x1b9f8f(0xec),'Invalid\x20numDigits:\x20must\x20be\x20integer\x20'+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+_0x1b9f8f(0xd0)+_0x393335+')');const _0x2643a9=_0x30a619==null?'':_0x30a619;if(_0xb7e234[_0x1b9f8f(0x9e)](typeof _0x2643a9,_0xb7e234[_0x1b9f8f(0x112)])||!PREFIX_REGEX[_0x1b9f8f(0x88)](_0x2643a9))throw new IdGeneratorError(_0xb7e234['WXUDw'],'Invalid\x20prefix:\x20must\x20match\x20'+PREFIX_REGEX+_0x1b9f8f(0xd0)+JSON[_0x1b9f8f(0xa0)](_0x30a619)+')');const _0x5213b6=_0x3378da==null?'':_0x3378da;if(_0xb7e234['oyIrR'](typeof _0x5213b6,_0x1b9f8f(0x9c))||_0xb7e234[_0x1b9f8f(0xac)](_0x5213b6[_0x1b9f8f(0x126)],0x3)||SEPARATOR_FORBIDDEN[_0x1b9f8f(0x88)](_0x5213b6))throw new IdGeneratorError(_0xb7e234['PMKrY'],_0x1b9f8f(0x158)+JSON['stringify'](_0x3378da)+')');if(_0x399973!=null&&typeof _0x399973!==_0xb7e234[_0x1b9f8f(0x12a)])throw new IdGeneratorError(_0xb7e234[_0x1b9f8f(0xc4)],_0x1b9f8f(0xba)+typeof _0x399973+')');return{'resource':_0x1535f8,'format':_0x330e47,'prefix':_0x2643a9,'separator':_0x5213b6,'numDigits':_0x393335,'reuseDelete':_0x399973===!![]};}[a0_0x2771b1(0x9a)](_0x143f37){const _0x5c3614=a0_0x2771b1,_0x8f22cb={'hYKMl':function(_0x4c65ac,_0x41d730){return _0x4c65ac!==_0x41d730;},'hCxRH':function(_0x126b64,_0x21fadd){return _0x126b64===_0x21fadd;},'MeEMP':function(_0x3a42dd,_0x1b4114){return _0x3a42dd>_0x1b4114;},'MysTY':_0x5c3614(0xa3)};if(_0x8f22cb[_0x5c3614(0xe0)](typeof _0x143f37,_0x5c3614(0x9c))||_0x8f22cb['hCxRH'](_0x143f37['length'],0x0)||_0x8f22cb['MeEMP'](_0x143f37['length'],MAX_PATTERN_LENGTH))throw new IdGeneratorError(_0x8f22cb[_0x5c3614(0x19b)],_0x5c3614(0x140)+MAX_PATTERN_LENGTH+_0x5c3614(0x75)+(_0x143f37&&_0x143f37['length'])+')');let _0x603de0=![];for(const _0x4f85e1 of _0x143f37){if(PLACEHOLDER_MAP[_0x4f85e1]){_0x603de0=!![];break;}}if(!_0x603de0)throw new IdGeneratorError('IDGEN_INVALID_PATTERN',_0x5c3614(0x142));}[a0_0x2771b1(0xd2)](_0x47c319){const _0x3baa6a=a0_0x2771b1,_0x50666f={'WqLfz':_0x3baa6a(0xde)};if(_0x47c319==null)return undefined;if(!Number['isInteger'](_0x47c319)||_0x47c319<0x1||_0x47c319>MAX_TTL)throw new IdGeneratorError(_0x50666f['WqLfz'],'Invalid\x20ttl:\x20must\x20be\x20integer\x201-'+MAX_TTL+_0x3baa6a(0x10c)+_0x47c319+')');return _0x47c319;}[a0_0x2771b1(0xb7)](_0x57b0ad){const _0xa5b0d4=a0_0x2771b1,_0x49968d={'dVNMD':function(_0x305f0d,_0x9058b6){return _0x305f0d<_0x9058b6;},'CKXFo':'IDGEN_INVALID_MAX_RETRY'};if(_0x57b0ad==null)return this['defaultMaxRetry'];if(!Number[_0xa5b0d4(0x197)](_0x57b0ad)||_0x49968d['dVNMD'](_0x57b0ad,0x1)||_0x57b0ad>MAX_RETRY_LIMIT)throw new IdGeneratorError(_0x49968d['CKXFo'],_0xa5b0d4(0x11f)+MAX_RETRY_LIMIT+'\x20(got:\x20'+_0x57b0ad+')');return _0x57b0ad;}[a0_0x2771b1(0x180)](_0x256680){const _0x521f73=a0_0x2771b1,_0x1fb434={'lPwUr':'IDGEN_INVALID_RESOURCE'};if(_0x256680==null)return undefined;if(typeof _0x256680!==_0x521f73(0x9c)||_0x256680['length']===0x0||_0x256680['length']>MAX_IDEMPOTENCY_KEY_LENGTH)throw new IdGeneratorError(_0x1fb434['lPwUr'],'Invalid\x20idempotencyKey:\x20must\x20be\x20string\x201-'+MAX_IDEMPOTENCY_KEY_LENGTH+_0x521f73(0xf9));return _0x256680;}[a0_0x2771b1(0x10e)](_0xdc5993){const _0x215dec=a0_0x2771b1,_0x5829ec={'pPmpS':function(_0x553b8a,_0x5a2258){return _0x553b8a==_0x5a2258;},'npYpC':function(_0x2ebcd1,_0x1ee67a){return _0x2ebcd1<_0x1ee67a;},'BbWDR':_0x215dec(0x14b)};if(_0x5829ec[_0x215dec(0x91)](_0xdc5993,null))return this['reserveDefaultTTL'];if(!Number['isInteger'](_0xdc5993)||_0x5829ec[_0x215dec(0x178)](_0xdc5993,MIN_RESERVE_TTL)||_0xdc5993>this['reserveMaxTTL'])throw new IdGeneratorError(_0x5829ec[_0x215dec(0x13f)],'Invalid\x20reservation\x20ttl:\x20must\x20be\x20integer\x20'+MIN_RESERVE_TTL+'-'+this['reserveMaxTTL']+_0x215dec(0x10c)+_0xdc5993+')');return _0xdc5993;}[a0_0x2771b1(0xf7)](_0x523b68){const _0x480ac0=a0_0x2771b1,_0x184c6a={'sNcbY':'string'};if(typeof _0x523b68!==_0x184c6a['sNcbY']||!RESERVATION_TOKEN_REGEX['test'](_0x523b68))throw new IdGeneratorError('IDGEN_INVALID_TOKEN','Invalid\x20reservation\x20token:\x20must\x20be\x20UUID\x20v4\x20format\x20(got:\x20'+JSON[_0x480ac0(0xa0)](_0x523b68)+')');return _0x523b68;}[a0_0x2771b1(0x194)](_0x254c1a){const _0x4af4e9=a0_0x2771b1;return String(_0x254c1a)[_0x4af4e9(0x12d)](0x2,'0');}[a0_0x2771b1(0x86)](_0x3f1bf4,_0x3cfd45,_0x425bcd=new Date()){const _0x55901d=a0_0x2771b1,_0x15a0d9={'TxrwV':function(_0x4bbefa,_0x2d0979){return _0x4bbefa+_0x2d0979;},'IwpHJ':function(_0x4a0823,_0x1983cb){return _0x4a0823||_0x1983cb;},'EcOGc':'yyyymm','IprGw':'IDGEN_INVALID_FORMAT'},_0x484094=_0x425bcd[_0x55901d(0x103)](),_0x2e1765=this['_pad2'](_0x15a0d9['TxrwV'](_0x425bcd['getMonth'](),0x1)),_0x3408fd=this['_pad2'](_0x425bcd[_0x55901d(0xf2)]()),_0x5aa969=_0x15a0d9[_0x55901d(0xd5)](_0x3cfd45,'_');let _0x2e04a2,_0x206959='';switch(_0x3f1bf4){case _0x55901d(0x13c):_0x2e04a2=_0x5aa969+_0x55901d(0xae);break;case'yyyy':_0x206959=''+_0x484094,_0x2e04a2=_0x5aa969+'_yyyy_'+_0x206959;break;case _0x15a0d9['EcOGc']:_0x206959=''+_0x484094+_0x2e1765,_0x2e04a2=_0x5aa969+'_yyyymm_'+_0x206959;break;case'yyyymmdd':_0x206959=''+_0x484094+_0x2e1765+_0x3408fd,_0x2e04a2=_0x5aa969+'_yyyymmdd_'+_0x206959;break;default:throw new IdGeneratorError(_0x15a0d9['IprGw'],'Unknown\x20format:\x20'+_0x3f1bf4);}return{'formatKey':_0x2e04a2,'datePrefix':_0x206959};}[a0_0x2771b1(0x93)](_0x4c5ecb,_0x1c9d59){const _0x832cb8=a0_0x2771b1;return this[_0x832cb8(0x77)]+'seq:'+_0x4c5ecb+':'+_0x1c9d59;}['_buildReuseKey'](_0x43d731,_0x3c1b95){const _0x6d03b6=a0_0x2771b1;return this[_0x6d03b6(0x77)]+_0x6d03b6(0x188)+_0x43d731+':'+_0x3c1b95;}[a0_0x2771b1(0xb4)](_0x52836d,_0xca405d){const _0x137ec4=a0_0x2771b1;return this[_0x137ec4(0x77)]+_0x137ec4(0xfa)+_0x52836d+':'+_0xca405d;}[a0_0x2771b1(0x95)](_0x379d51){const _0x130d96=a0_0x2771b1;return this[_0x130d96(0x77)]+'issued:'+_0x379d51;}[a0_0x2771b1(0xeb)](_0x11fae5,_0x5b7580){const _0x184ce7=a0_0x2771b1;return this[_0x184ce7(0x77)]+_0x184ce7(0xc3)+_0x11fae5+':'+_0x5b7580;}['_buildReservationKey'](_0x1d91a1){const _0x76665b=a0_0x2771b1;return this[_0x76665b(0x77)]+_0x76665b(0x102)+_0x1d91a1;}['_buildReservationIndexKey'](_0x1d2eac,_0x2a786f){return this['keyPrefix']+'rsv_idx:'+_0x1d2eac+':'+_0x2a786f;}['_buildReservationKeyPrefix'](){const _0x37a0b3=a0_0x2771b1;return this['keyPrefix']+_0x37a0b3(0x102);}[a0_0x2771b1(0xdc)](_0x4f3372,_0x570c2f,_0x1f5fc3,_0x20d0bf){const _0x430fc5=a0_0x2771b1,_0x2fcd36={'JuPiK':'idgen'};if(_0x1f5fc3)return idempotencyManager['buildDeterministicKey'](_0x430fc5(0xa6),_0x4f3372,_0x570c2f+':'+_0x1f5fc3+':'+_0x20d0bf);return idempotencyManager['buildDeterministicKey'](_0x2fcd36[_0x430fc5(0x7a)],_0x4f3372,_0x570c2f+':'+_0x20d0bf);}[a0_0x2771b1(0x12f)](_0x185b8b){const _0xcf24f8=a0_0x2771b1;return this[_0xcf24f8(0x177)][_0x185b8b]||0x0;}['_formatNumber']({format:_0x6bec15,prefix:_0x160645,datePrefix:_0x255009,separator:_0x11bf02,numDigits:_0x250946,counterInt:_0x2a0399}){const _0x4a2ce7=a0_0x2771b1,_0x12262c={'sosVd':function(_0x58af8c,_0x935b69){return _0x58af8c-_0x935b69;},'nejWe':_0x4a2ce7(0x78),'XjkGP':function(_0x4d8cc7,_0xef79a4){return _0x4d8cc7===_0xef79a4;},'hyWZb':_0x4a2ce7(0x13c)},_0x4ae907=_0x12262c[_0x4a2ce7(0xfb)](Math['pow'](0xa,_0x250946),0x1);if(_0x2a0399>_0x4ae907)throw new IdGeneratorError(_0x12262c['nejWe'],_0x4a2ce7(0x11e)+_0x2a0399+_0x4a2ce7(0x106)+_0x250946+'-digit\x20capacity\x20('+_0x4ae907+').\x20Increase\x20numDigits.',{'counterInt':_0x2a0399,'numDigits':_0x250946,'max':_0x4ae907});const _0x56b0bc=String(_0x2a0399)['padStart'](_0x250946,'0');if(_0x12262c['XjkGP'](_0x6bec15,_0x12262c[_0x4a2ce7(0x10a)]))return _0x160645?''+_0x160645+_0x11bf02+_0x56b0bc:_0x56b0bc;return _0x160645?''+_0x160645+_0x11bf02+_0x255009+_0x11bf02+_0x56b0bc:''+_0x255009+_0x11bf02+_0x56b0bc;}[a0_0x2771b1(0x14d)]({format:_0x246ba5,prefix:_0x371fbb,separator:_0x18620b,numDigits:_0x5d37ac,number:_0x401ac3}){const _0x49646a=a0_0x2771b1,_0x5399cd={'eVGuB':_0x49646a(0x9c),'ncKje':function(_0x1809e3,_0x392006){return _0x1809e3===_0x392006;},'SyfnD':function(_0x3e4c19,_0x5942a5){return _0x3e4c19||_0x5942a5;},'GJNBr':_0x49646a(0x13c),'pVFrn':function(_0x4a4a68,_0x58599d){return _0x4a4a68!==_0x58599d;},'TpzWe':function(_0x42aa12,_0x2a8476){return _0x42aa12!==_0x2a8476;},'eQbgn':function(_0x43181a,_0x22145b){return _0x43181a!==_0x22145b;},'dnWgd':_0x49646a(0x129),'TZVuw':function(_0x15ae16,_0x4e4520){return _0x15ae16===_0x4e4520;},'cmRPi':_0x49646a(0x134),'diagI':_0x49646a(0x83),'TuJZv':function(_0x17febb,_0x429d49){return _0x17febb||_0x429d49;},'YLEdS':function(_0x1be45e,_0x292ba1){return _0x1be45e===_0x292ba1;}};if(typeof _0x401ac3!==_0x5399cd[_0x49646a(0x94)]||_0x5399cd['ncKje'](_0x401ac3['length'],0x0))throw new IdGeneratorError(_0x49646a(0x129),'Invalid\x20number:\x20must\x20be\x20non-empty\x20string');const _0x4582a1=_0x5399cd['SyfnD'](_0x18620b,''),_0x14ce2a=_0x4582a1===''?[_0x401ac3]:_0x401ac3['split'](_0x4582a1);let _0x251c99='',_0x41a6ed;if(_0x246ba5===_0x5399cd['GJNBr']){if(_0x371fbb){if(_0x5399cd[_0x49646a(0xdb)](_0x14ce2a['length'],0x2)||_0x5399cd[_0x49646a(0xdb)](_0x14ce2a[0x0],_0x371fbb))throw new IdGeneratorError(_0x49646a(0x129),_0x49646a(0x14e)+_0x4582a1+_0x49646a(0x19c)+_0x401ac3+')');_0x41a6ed=_0x14ce2a[0x1];}else{if(_0x14ce2a['length']!==0x1)throw new IdGeneratorError(_0x49646a(0x129),_0x49646a(0x163)+_0x401ac3+')');_0x41a6ed=_0x14ce2a[0x0];}}else{const _0x297dfd=_0x371fbb?0x3:0x2;if(_0x5399cd['TpzWe'](_0x14ce2a[_0x49646a(0x126)],_0x297dfd))throw new IdGeneratorError(_0x49646a(0x129),'Number\x20does\x20not\x20match\x20expected\x20format\x20(got:\x20'+_0x401ac3+_0x49646a(0xa1)+_0x297dfd+_0x49646a(0x17c));let _0x20818e=0x0;if(_0x371fbb){if(_0x5399cd['eQbgn'](_0x14ce2a[_0x20818e],_0x371fbb))throw new IdGeneratorError(_0x5399cd['dnWgd'],_0x49646a(0x12e)+_0x371fbb+',\x20got\x20'+_0x14ce2a[_0x20818e]);_0x20818e++;}_0x251c99=_0x14ce2a[_0x20818e++];const _0xcdbe2c=_0x5399cd['TZVuw'](_0x246ba5,_0x5399cd['cmRPi'])?/^\d{4}$/:_0x246ba5===_0x5399cd[_0x49646a(0x11a)]?/^\d{6}$/:/^\d{8}$/;if(!_0xcdbe2c['test'](_0x251c99))throw new IdGeneratorError(_0x49646a(0x129),'Number\x20datePrefix\x20invalid\x20for\x20format\x20'+_0x246ba5+':\x20'+_0x251c99);_0x41a6ed=_0x14ce2a[_0x20818e];}if(!new RegExp(_0x49646a(0xd9)+_0x5d37ac+'}$')[_0x49646a(0x88)](_0x41a6ed))throw new IdGeneratorError(_0x49646a(0x129),'Number\x20counter\x20part\x20must\x20be\x20exactly\x20'+_0x5d37ac+'\x20digits\x20(got:\x20'+_0x41a6ed+')');const _0x9f0d12=parseInt(_0x41a6ed,0xa),_0x12d17c=_0x5399cd['TuJZv'](_0x371fbb,'_');let _0x232929;return _0x5399cd[_0x49646a(0x143)](_0x246ba5,_0x5399cd[_0x49646a(0x15d)])?_0x232929=_0x12d17c+_0x49646a(0xae):_0x232929=_0x12d17c+'_'+_0x246ba5+'_'+_0x251c99,{'formatKey':_0x232929,'counterInt':_0x9f0d12,'datePrefix':_0x251c99};}['_generateFromPattern'](_0x2767a3){let _0x2de9c2='';for(const _0x56f77d of _0x2767a3){const _0x126498=PLACEHOLDER_MAP[_0x56f77d];if(_0x126498){const _0x53d992=crypto['randomInt'](0x0,_0x126498['length']);_0x2de9c2+=_0x126498[_0x53d992];}else _0x2de9c2+=_0x56f77d;}return _0x2de9c2;}async['_retrieveIdemCache'](_0x417caa){const _0x2d8459=a0_0x2771b1,_0x51ac0f={'tjyTh':'idgen_idem_hit','HcVko':_0x2d8459(0xf3),'CBpXk':_0x2d8459(0x186),'dbkLk':_0x2d8459(0x149)};if(!_0x417caa)return null;try{const _0x1eed92=redisClient[_0x2d8459(0xab)](),_0x317e5c=await _0x1eed92['get'](_0x417caa);if(_0x317e5c)return logger['info']({'event':_0x51ac0f[_0x2d8459(0x8e)],'key':_0x417caa},_0x51ac0f[_0x2d8459(0x13e)]),JSON[_0x2d8459(0x82)](_0x317e5c);return null;}catch(_0x540aa1){return logger['warn']({'event':_0x51ac0f[_0x2d8459(0x79)],'error':_0x540aa1['message']},_0x51ac0f[_0x2d8459(0xf5)]),null;}}async[a0_0x2771b1(0x151)](_0x51f0f3,_0x104e0c){const _0x5f05f1=a0_0x2771b1,_0x25aafe={'OgFlm':'idgen_idem_store_error'};if(!_0x51f0f3)return;try{const _0x3484ad=redisClient[_0x5f05f1(0xab)]();await _0x3484ad['setex'](_0x51f0f3,this['idemTTL'],JSON['stringify'](_0x104e0c));}catch(_0x200eeb){logger['warn']({'event':_0x25aafe[_0x5f05f1(0x84)],'error':_0x200eeb['message']},_0x5f05f1(0x18a));}}async[a0_0x2771b1(0x191)](_0x372f69,_0x24b3da){const _0x5c5f1c=a0_0x2771b1,_0x49b08c={'rAozM':'idgen_idem_storenx_error','YLGfU':'Idempotency\x20SET\x20NX\x20error'};if(!_0x372f69)return{'stored':!![],'winnerResult':null};try{const _0x489088=redisClient['getClient'](),_0x5f2f19=JSON['stringify'](_0x24b3da),_0x1cf2f4=await _0x489088['set'](_0x372f69,_0x5f2f19,'EX',this[_0x5c5f1c(0x98)],'NX');if(_0x1cf2f4==='OK')return{'stored':!![],'winnerResult':null};const _0x12b583=await _0x489088[_0x5c5f1c(0x196)](_0x372f69);if(_0x12b583)return{'stored':![],'winnerResult':JSON[_0x5c5f1c(0x82)](_0x12b583)};return logger[_0x5c5f1c(0x17b)]({'event':_0x5c5f1c(0x160),'key':_0x372f69},_0x5c5f1c(0x10f)),{'stored':!![],'winnerResult':null};}catch(_0x50ad5d){return logger[_0x5c5f1c(0x17b)]({'event':_0x49b08c['rAozM'],'error':_0x50ad5d['message']},_0x49b08c['YLGfU']),{'stored':!![],'winnerResult':null};}}async['_undoRandomReservation'](_0x2f4cb1,_0x3ad882,_0x3521ba){const _0x1057ef=a0_0x2771b1,_0x2bc64d={'ZqJfD':'idgen_random_undo_error'};try{const _0x4ffee8=redisClient[_0x1057ef(0xab)]();if(_0x3521ba){const _0x33e1cf=this['_buildActiveKey'](_0x2f4cb1,_0x3ad882);await _0x4ffee8['del'](_0x33e1cf);}else{const _0x536b99=this[_0x1057ef(0x95)](_0x2f4cb1);await _0x4ffee8[_0x1057ef(0x118)](_0x536b99,_0x3ad882);}}catch(_0x2682f6){logger[_0x1057ef(0x17b)]({'event':_0x2bc64d[_0x1057ef(0x8c)],'error':_0x2682f6['message']},_0x1057ef(0x117));}}async['_updateMeta'](_0x319df1,_0x46bb00,_0x5298ed,_0x335d93=0x0){const _0xb6c978=a0_0x2771b1,_0x287374={'EFWlI':function(_0x100859,_0x40dd29){return _0x100859>_0x40dd29;},'XCgZr':_0xb6c978(0x19a)};try{const _0x247c51=redisClient[_0xb6c978(0xab)](),_0x2a733f=this['_buildMetaKey'](_0x319df1,_0x46bb00),_0xd62d19=[];for(const [_0x35e0e8,_0x2301d4]of Object['entries'](_0x5298ed)){_0xd62d19['push'](_0x35e0e8,String(_0x2301d4));}if(_0x287374[_0xb6c978(0xea)](_0xd62d19[_0xb6c978(0x126)],0x0)){await _0x247c51['hset'](_0x2a733f,..._0xd62d19);if(_0x335d93>0x0)await _0x247c51['expire'](_0x2a733f,_0x335d93);}}catch(_0x4136e7){logger[_0xb6c978(0x17b)]({'event':'idgen_meta_update_error','error':_0x4136e7[_0xb6c978(0x19f)]},_0x287374[_0xb6c978(0x152)]);}}async['number'](_0x2ce249){const _0x1e2c9a=a0_0x2771b1,_0x197296={'jLXsm':'IDGEN_DISABLED','JTpzy':_0x1e2c9a(0xed),'zGqyc':'number','TngZy':function(_0x5bc673,_0x27cb3c){return _0x5bc673(_0x27cb3c);},'JhxJx':function(_0x55f6a8,_0x1e8197){return _0x55f6a8(_0x1e8197);},'Hgluc':'idgen_idem_loser_release_error','Kkkmj':'idgen_number_idem_loser'};if(!this[_0x1e2c9a(0xfe)])throw new IdGeneratorError(_0x197296[_0x1e2c9a(0xc1)],_0x197296['JTpzy']);const _0x2a02f6=this['_validateNumberParams'](_0x2ce249),_0x3ed947=this['_validateIdempotencyKey'](_0x2ce249[_0x1e2c9a(0x113)]),{resource:_0xad3142,format:_0x2d8546,prefix:_0xa3ce9c,separator:_0x257484,numDigits:_0x47d15f,reuseDelete:_0xd6da4b}=_0x2a02f6,{formatKey:_0xd0bba6,datePrefix:_0x34672f}=this[_0x1e2c9a(0x86)](_0x2d8546,_0xa3ce9c),_0x1750f4=this['_buildSeqKey'](_0xad3142,_0xd0bba6),_0x17e2df=this['_buildReuseKey'](_0xad3142,_0xd0bba6),_0x1ec97f=this['_getCounterTTL'](_0x2d8546);let _0x54e098=null;if(_0x3ed947){_0x54e098=this['_buildIdemKey'](_0x197296[_0x1e2c9a(0x122)],_0xad3142,_0xd0bba6,_0x3ed947);const _0x1c0ab9=await this['_retrieveIdemCache'](_0x54e098);if(_0x1c0ab9)return _0x1c0ab9;}const _0x2b217f=redisClient['getClient'](),_0x32e9bc=await _0x2b217f[_0x1e2c9a(0x17f)](LUA_GENERATE_NUMBER,0x2,_0x1750f4,_0x17e2df,_0xd6da4b?'1':'0',_0x197296['TngZy'](String,_0x1ec97f)),_0x45d712=_0x32e9bc[0x0],_0xb2f172=_0x32e9bc[0x1]===0x1,_0x197af3=this['_formatNumber']({'format':_0x2d8546,'prefix':_0xa3ce9c,'datePrefix':_0x34672f,'separator':_0x257484,'numDigits':_0x47d15f,'counterInt':_0x45d712}),_0x472831={'value':_0x197af3,'counter':_0x45d712,'resource':_0xad3142,'formatKey':_0xd0bba6,'isReused':_0xb2f172,'generatedAt':new Date()['toISOString']()},_0x38d591=await this['_storeIdemCacheNX'](_0x54e098,_0x472831);if(!_0x38d591[_0x1e2c9a(0x16e)]){try{await _0x2b217f[_0x1e2c9a(0x17f)](LUA_RELEASE_NUMBER,0x1,_0x17e2df,_0x197296[_0x1e2c9a(0x168)](String,_0x45d712),_0x197296[_0x1e2c9a(0xa8)](String,_0x1ec97f));}catch(_0x1f5c29){logger[_0x1e2c9a(0x17b)]({'event':_0x197296[_0x1e2c9a(0x173)],'error':_0x1f5c29['message'],'resource':_0xad3142,'formatKey':_0xd0bba6,'counterInt':_0x45d712},_0x1e2c9a(0x14c));}return logger['info']({'event':_0x197296['Kkkmj'],'resource':_0xad3142,'formatKey':_0xd0bba6,'counter':_0x45d712},_0x1e2c9a(0x135)),_0x38d591['winnerResult'];}return this[_0x1e2c9a(0x164)](_0xad3142,_0xd0bba6,{'lastValue':_0x197af3,'lastCounter':_0x45d712,'lastIsReused':_0xb2f172,'lastGeneratedAt':_0x472831['generatedAt']},_0x1ec97f),logger['info']({'event':'idgen_number_generated','resource':_0xad3142,'formatKey':_0xd0bba6,'counter':_0x45d712,'isReused':_0xb2f172},_0x1e2c9a(0x7e)+_0x197af3),_0x472831;}async[a0_0x2771b1(0x92)](_0x29e406){const _0x231ef5=a0_0x2771b1,_0x3b88a7={'PhFkt':'ID\x20Generator\x20is\x20disabled','NpzjR':function(_0x4ef78f,_0x30db90){return _0x4ef78f===_0x30db90;},'QrgmG':_0x231ef5(0x129),'HwfEy':_0x231ef5(0x127),'EHAgD':function(_0x38d118,_0x5678a7){return _0x38d118(_0x5678a7);},'yaZip':'idgen_number_released'};if(!this[_0x231ef5(0xfe)])throw new IdGeneratorError(_0x231ef5(0x150),_0x3b88a7['PhFkt']);let _0x1d1b1b,_0xae19ba,_0x1cedf4,_0x582d22;const _0x2498c6=this['_validateIdempotencyKey'](_0x29e406[_0x231ef5(0x113)]);if(_0x29e406[_0x231ef5(0xc0)]!==undefined&&_0x29e406[_0x231ef5(0xc0)]!==null){this[_0x231ef5(0x7f)](_0x29e406[_0x231ef5(0x105)]),_0x1d1b1b=_0x29e406[_0x231ef5(0x105)];if(typeof _0x29e406[_0x231ef5(0x16b)]!=='string'||_0x3b88a7[_0x231ef5(0x11d)](_0x29e406[_0x231ef5(0x16b)]['length'],0x0))throw new IdGeneratorError(_0x3b88a7[_0x231ef5(0x101)],_0x231ef5(0xf8));_0xae19ba=_0x29e406[_0x231ef5(0x16b)];if(!Number['isInteger'](_0x29e406['counterInt'])||_0x29e406['counterInt']<0x1)throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x231ef5(0xc9)+_0x29e406['counterInt']+')');_0x1cedf4=_0x29e406['counterInt'];const _0xcdff13=_0xae19ba['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x582d22=_0xcdff13?_0xcdff13[0x1]:'text';}else{const _0x3c1c5d=this[_0x231ef5(0xca)](_0x29e406),_0x3e6b2e=this['_parseNumber']({'format':_0x3c1c5d['format'],'prefix':_0x3c1c5d['prefix'],'separator':_0x3c1c5d[_0x231ef5(0x193)],'numDigits':_0x3c1c5d['numDigits'],'number':_0x29e406[_0x231ef5(0x76)]});_0x1d1b1b=_0x3c1c5d['resource'],_0xae19ba=_0x3e6b2e['formatKey'],_0x1cedf4=_0x3e6b2e['counterInt'],_0x582d22=_0x3c1c5d[_0x231ef5(0x136)];}const _0x5e21e5=this[_0x231ef5(0xe8)](_0x1d1b1b,_0xae19ba),_0x26543e=this['_getCounterTTL'](_0x582d22);let _0x404cbd=null;if(_0x2498c6){_0x404cbd=this[_0x231ef5(0xdc)](_0x3b88a7['HwfEy'],_0x1d1b1b,_0xae19ba,_0x2498c6);const _0x1dd7b5=await this[_0x231ef5(0x89)](_0x404cbd);if(_0x1dd7b5)return _0x1dd7b5;}const _0x9479a9=redisClient['getClient']();await _0x9479a9[_0x231ef5(0x17f)](LUA_RELEASE_NUMBER,0x1,_0x5e21e5,String(_0x1cedf4),_0x3b88a7[_0x231ef5(0xb3)](String,_0x26543e));const _0x2d9efb={'released':!![],'resource':_0x1d1b1b,'formatKey':_0xae19ba,'counter':_0x1cedf4,'releasedAt':new Date()[_0x231ef5(0x137)]()};return await this['_storeIdemCache'](_0x404cbd,_0x2d9efb),this[_0x231ef5(0x164)](_0x1d1b1b,_0xae19ba,{'lastReleasedCounter':_0x1cedf4,'lastReleasedAt':_0x2d9efb['releasedAt']},_0x26543e),logger['info']({'event':_0x3b88a7[_0x231ef5(0xc5)],'resource':_0x1d1b1b,'formatKey':_0xae19ba,'counter':_0x1cedf4},'ID\x20Generator\x20number\x20released:\x20'+_0x1cedf4),_0x2d9efb;}async['reserveNumber'](_0x6dad09){const _0x39db17=a0_0x2771b1,_0x1d1559={'dneCy':'reserve','qKcvc':function(_0x85747e,_0x5efe97){return _0x85747e*_0x5efe97;},'SnOsd':_0x39db17(0x16b),'aJgWy':_0x39db17(0xce),'FzxXZ':'separator','YaBTM':'numDigits','IBGRY':_0x39db17(0xd8),'cZQzh':function(_0x5ebf5f,_0x5439ba){return _0x5ebf5f||_0x5439ba;},'SOTmT':'createdAt','ejNli':_0x39db17(0x121),'QLzKK':'ttlMs','VQmKJ':'idemKey','kenYP':function(_0x2676c8,_0x1eaf4d){return _0x2676c8(_0x1eaf4d);},'MhVhj':function(_0x4725fc,_0x5da669){return _0x4725fc(_0x5da669);},'AChhl':function(_0x4213b8,_0x860746){return _0x4213b8===_0x860746;},'Yotda':_0x39db17(0x144),'OPyUg':_0x39db17(0xbb),'yDmNI':_0x39db17(0x12b)};if(!this['enabled'])throw new IdGeneratorError(_0x39db17(0x150),'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)');const _0x40b464=this[_0x39db17(0xca)](_0x6dad09),_0x46ae58=this[_0x39db17(0x10e)](_0x6dad09[_0x39db17(0x156)]),_0x671949=this[_0x39db17(0x180)](_0x6dad09[_0x39db17(0x113)]),{resource:_0x3abf84,format:_0x43f2e5,prefix:_0x5a7004,separator:_0x1fdaa1,numDigits:_0x190098,reuseDelete:_0x486dce}=_0x40b464,{formatKey:_0x19522f,datePrefix:_0x17d0cb}=this[_0x39db17(0x86)](_0x43f2e5,_0x5a7004),_0x2636bc=this['_buildSeqKey'](_0x3abf84,_0x19522f),_0x2da229=this[_0x39db17(0xe8)](_0x3abf84,_0x19522f),_0x310b8b=this['_buildReservationIndexKey'](_0x3abf84,_0x19522f),_0x5c79b9=this['_getCounterTTL'](_0x43f2e5);let _0x45a42c=null;if(_0x671949){_0x45a42c=this[_0x39db17(0xdc)](_0x1d1559['dneCy'],_0x3abf84,_0x19522f,_0x671949);const _0xa519b7=await this[_0x39db17(0x89)](_0x45a42c);if(_0xa519b7)return _0xa519b7;}const _0x306abb=crypto[_0x39db17(0xb2)](),_0x1c4dd7=this['_buildReservationKey'](_0x306abb),_0x59a7e8=this['_buildReservationKeyPrefix'](),_0x62c984=Date['now'](),_0x19e84a=_0x62c984+_0x1d1559['qKcvc'](_0x46ae58,0x3e8),_0xd10f0=_0x1d1559['qKcvc'](_0x46ae58,0x3e8),_0x1ea519=new Date(_0x62c984)['toISOString'](),_0x3bcf82=new Date(_0x19e84a)[_0x39db17(0x137)](),_0x3ac48e=[_0x39db17(0x105),_0x3abf84,_0x1d1559[_0x39db17(0xef)],_0x19522f,'format',_0x43f2e5,_0x1d1559[_0x39db17(0xcd)],_0x5a7004,_0x1d1559['FzxXZ'],_0x1fdaa1,_0x1d1559[_0x39db17(0x9b)],String(_0x190098),_0x1d1559[_0x39db17(0xee)],_0x1d1559[_0x39db17(0x133)](_0x17d0cb,''),_0x1d1559['SOTmT'],_0x1ea519,_0x1d1559['ejNli'],_0x3bcf82,_0x1d1559['QLzKK'],String(_0xd10f0)];_0x671949&&_0x3ac48e['push'](_0x1d1559['VQmKJ'],_0x671949);const _0x3a5da5=redisClient['getClient'](),_0x25c302=await _0x3a5da5[_0x39db17(0x17f)](LUA_RESERVE_NUMBER,0x3,_0x2636bc,_0x2da229,_0x310b8b,_0x486dce?'1':'0',String(_0x5c79b9),_0x306abb,_0x1c4dd7,String(_0xd10f0),_0x1d1559[_0x39db17(0x171)](String,_0x19e84a),_0x1d1559['MhVhj'](String,_0x62c984),_0x59a7e8,..._0x3ac48e),_0x3ec434=_0x25c302[0x0],_0x569d3e=_0x1d1559['AChhl'](_0x25c302[0x1],0x1),_0x99e3b8=_0x25c302[0x2]||0x0;let _0x494a45;try{_0x494a45=this[_0x39db17(0xaf)]({'format':_0x43f2e5,'prefix':_0x5a7004,'datePrefix':_0x17d0cb,'separator':_0x1fdaa1,'numDigits':_0x190098,'counterInt':_0x3ec434});}catch(_0x1b878c){try{await _0x3a5da5[_0x39db17(0x17f)](LUA_CANCEL_RESERVATION,0x3,_0x1c4dd7,_0x310b8b,_0x2da229,_0x306abb,String(_0x5c79b9));}catch(_0xa5e5f5){logger['warn']({'event':'idgen_reserve_overflow_compensation_error','error':_0xa5e5f5[_0x39db17(0x19f)],'resource':_0x3abf84,'formatKey':_0x19522f,'counterInt':_0x3ec434,'token':_0x306abb},'Failed\x20to\x20compensate\x20reservation\x20after\x20counter\x20overflow');}throw _0x1b878c;}try{await _0x3a5da5['hset'](_0x1c4dd7,_0x39db17(0x147),_0x494a45);}catch(_0x1c9c8b){logger[_0x39db17(0x17b)]({'event':_0x1d1559['Yotda'],'error':_0x1c9c8b[_0x39db17(0x19f)],'resource':_0x3abf84,'formatKey':_0x19522f,'counterInt':_0x3ec434,'token':_0x306abb},'Failed\x20to\x20persist\x20formatted\x20value\x20to\x20reservation\x20hash');}const _0x48a7a1={'token':_0x306abb,'value':_0x494a45,'counter':_0x3ec434,'resource':_0x3abf84,'formatKey':_0x19522f,'isReused':_0x569d3e,'createdAt':_0x1ea519,'expiresAt':_0x3bcf82,'reapedCount':_0x99e3b8},_0x2c6e1c=await this[_0x39db17(0x191)](_0x45a42c,_0x48a7a1);if(!_0x2c6e1c[_0x39db17(0x16e)]){try{await _0x3a5da5['eval'](LUA_CANCEL_RESERVATION,0x3,_0x1c4dd7,_0x310b8b,_0x2da229,_0x306abb,_0x1d1559['kenYP'](String,_0x5c79b9));}catch(_0x5b0a85){logger[_0x39db17(0x17b)]({'event':_0x1d1559['OPyUg'],'error':_0x5b0a85[_0x39db17(0x19f)],'resource':_0x3abf84,'formatKey':_0x19522f,'counterInt':_0x3ec434,'token':_0x306abb},'Failed\x20to\x20cancel\x20reservation\x20for\x20idempotency\x20loser');}return logger[_0x39db17(0x159)]({'event':_0x1d1559['yDmNI'],'resource':_0x3abf84,'formatKey':_0x19522f,'counter':_0x3ec434,'token':_0x306abb},'ID\x20Generator\x20reserve\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x2c6e1c[_0x39db17(0x8b)];}return this[_0x39db17(0x164)](_0x3abf84,_0x19522f,{'lastReservedCounter':_0x3ec434,'lastReservedAt':_0x1ea519,'lastReapedCount':_0x99e3b8},_0x5c79b9),logger['info']({'event':'idgen_number_reserved','resource':_0x3abf84,'formatKey':_0x19522f,'counter':_0x3ec434,'isReused':_0x569d3e,'token':_0x306abb,'ttl':_0x46ae58,'reapedCount':_0x99e3b8},'ID\x20Generator\x20number\x20reserved:\x20'+_0x494a45+_0x39db17(0x189)+_0x306abb+')'),_0x48a7a1;}async[a0_0x2771b1(0x15f)](_0xb2bbcf){const _0x44a29e=a0_0x2771b1,_0xf7bbf1={'EdDWh':_0x44a29e(0x17d),'ZSbRb':_0x44a29e(0xa6),'VmKyh':function(_0x263ccf,_0x3b8437,_0x1d8e42){return _0x263ccf(_0x3b8437,_0x1d8e42);},'PbKkx':'text'};if(!this[_0x44a29e(0xfe)])throw new IdGeneratorError('IDGEN_DISABLED',_0xf7bbf1['EdDWh']);const _0x4393bb=this['_validateReservationToken'](_0xb2bbcf&&_0xb2bbcf[_0x44a29e(0xad)]),_0x4c7e44=this[_0x44a29e(0x180)](_0xb2bbcf&&_0xb2bbcf['idempotencyKey']);let _0x1a165a=null;if(_0x4c7e44){_0x1a165a=idempotencyManager['buildDeterministicKey'](_0xf7bbf1['ZSbRb'],'reserve_confirm',_0x4393bb+':'+_0x4c7e44);const _0x4a5825=await this['_retrieveIdemCache'](_0x1a165a);if(_0x4a5825)return _0x4a5825;}const _0x41e46f=await this['_getReservationContext'](_0x4393bb),_0x44d9e6=redisClient[_0x44a29e(0xab)](),_0x481a17=await _0x44d9e6['eval'](LUA_CONFIRM_RESERVATION,0x2,_0x41e46f['rsvKey'],_0x41e46f['rsvIdxKey'],_0x4393bb);if(!_0x481a17||_0x481a17[0x0]!==0x1)throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND',_0x44a29e(0x116)+_0x4393bb,{'token':_0x4393bb});const _0x21bcc7=_0xf7bbf1['VmKyh'](parseInt,_0x481a17[0x1],0xa),_0x401f22=_0x481a17[0x2],_0x18e9bb=_0x481a17[0x3],_0x3b0b0b=new Date()['toISOString'](),_0x3b3cf9={'confirmed':!![],'token':_0x4393bb,'value':_0x401f22,'counter':_0x21bcc7,'resource':_0x41e46f['resource'],'formatKey':_0x18e9bb,'confirmedAt':_0x3b0b0b};await this['_storeIdemCache'](_0x1a165a,_0x3b3cf9);const _0x457589=_0x18e9bb[_0x44a29e(0x9d)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x16adaa=_0x457589?_0x457589[0x1]:_0xf7bbf1[_0x44a29e(0xcb)],_0x25ab6c=this[_0x44a29e(0x12f)](_0x16adaa);return this['_updateMeta'](_0x41e46f['resource'],_0x18e9bb,{'lastConfirmedCounter':_0x21bcc7,'lastConfirmedAt':_0x3b0b0b},_0x25ab6c),logger['info']({'event':_0x44a29e(0x11b),'resource':_0x41e46f[_0x44a29e(0x105)],'formatKey':_0x18e9bb,'counter':_0x21bcc7,'token':_0x4393bb},'ID\x20Generator\x20reservation\x20confirmed:\x20'+_0x401f22+_0x44a29e(0x189)+_0x4393bb+')'),_0x3b3cf9;}async['cancelReservation'](_0x12a29c){const _0x4ba823=a0_0x2771b1,_0x26dfda={'kNZPW':'IDGEN_DISABLED','MrVDr':'ID\x20Generator\x20is\x20disabled','HkVQG':function(_0x574d78,_0x19b6a2){return _0x574d78(_0x19b6a2);}};if(!this['enabled'])throw new IdGeneratorError(_0x26dfda[_0x4ba823(0xbc)],_0x26dfda[_0x4ba823(0x9f)]);const _0xeb503d=this[_0x4ba823(0xf7)](_0x12a29c&&_0x12a29c['token']),_0x53f674=this[_0x4ba823(0x180)](_0x12a29c&&_0x12a29c[_0x4ba823(0x113)]);let _0x359680=null;if(_0x53f674){_0x359680=idempotencyManager[_0x4ba823(0x176)]('idgen',_0x4ba823(0x16c),_0xeb503d+':'+_0x53f674);const _0x35aea9=await this[_0x4ba823(0x89)](_0x359680);if(_0x35aea9)return _0x35aea9;}const _0x264695=await this['_getReservationContext'](_0xeb503d),_0x3fe4a7=this['_buildReuseKey'](_0x264695['resource'],_0x264695[_0x4ba823(0x16b)]),_0x2ce256=_0x264695['formatKey'][_0x4ba823(0x9d)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x331e95=_0x2ce256?_0x2ce256[0x1]:_0x4ba823(0x13c),_0x520c17=this['_getCounterTTL'](_0x331e95),_0x1bd0e0=redisClient['getClient'](),_0x822295=await _0x1bd0e0['eval'](LUA_CANCEL_RESERVATION,0x3,_0x264695['rsvKey'],_0x264695[_0x4ba823(0x8d)],_0x3fe4a7,_0xeb503d,_0x26dfda[_0x4ba823(0x185)](String,_0x520c17));if(!_0x822295||_0x822295[0x0]!==0x1)throw new IdGeneratorError(_0x4ba823(0x15c),_0x4ba823(0x116)+_0xeb503d,{'token':_0xeb503d});const _0x46b9f1=parseInt(_0x822295[0x1],0xa),_0x4a1f3c=_0x822295[0x2],_0x2aa7a4=_0x822295[0x3],_0x1a2b2e=new Date()[_0x4ba823(0x137)](),_0x487eaa={'cancelled':!![],'token':_0xeb503d,'value':_0x4a1f3c,'counter':_0x46b9f1,'resource':_0x264695['resource'],'formatKey':_0x2aa7a4,'releasedToReuse':!![],'cancelledAt':_0x1a2b2e};return await this[_0x4ba823(0x151)](_0x359680,_0x487eaa),this['_updateMeta'](_0x264695[_0x4ba823(0x105)],_0x2aa7a4,{'lastCancelledCounter':_0x46b9f1,'lastCancelledAt':_0x1a2b2e},_0x520c17),logger[_0x4ba823(0x159)]({'event':_0x4ba823(0x181),'resource':_0x264695[_0x4ba823(0x105)],'formatKey':_0x2aa7a4,'counter':_0x46b9f1,'token':_0xeb503d},_0x4ba823(0xdd)+_0x4a1f3c+'\x20(token='+_0xeb503d+')'),_0x487eaa;}async['extendReservation'](_0x210c3a){const _0x5f3cff=a0_0x2771b1,_0x4c71df={'mfoYn':_0x5f3cff(0x17d),'HSCKF':_0x5f3cff(0x184),'ywsmg':function(_0x4f4098,_0x176743){return _0x4f4098+_0x176743;},'yvpjs':function(_0xe31075,_0x11cb87){return _0xe31075*_0x11cb87;},'QmSEk':function(_0x71cd29,_0x560991){return _0x71cd29(_0x560991);},'iDqlo':function(_0x762d3e,_0x2ab74a){return _0x762d3e!==_0x2ab74a;},'fAXQc':'IDGEN_RESERVATION_NOT_FOUND','RlDRw':'text'};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x4c71df[_0x5f3cff(0x14a)]);const _0x5eaabf=this[_0x5f3cff(0xf7)](_0x210c3a&&_0x210c3a['token']),_0x3baef4=this[_0x5f3cff(0x10e)](_0x210c3a&&_0x210c3a[_0x5f3cff(0x156)]),_0x19c089=this['_validateIdempotencyKey'](_0x210c3a&&_0x210c3a['idempotencyKey']);let _0x3b9ec9=null;if(_0x19c089){_0x3b9ec9=idempotencyManager['buildDeterministicKey'](_0x5f3cff(0xa6),_0x4c71df['HSCKF'],_0x5eaabf+':'+_0x19c089);const _0x414ad2=await this['_retrieveIdemCache'](_0x3b9ec9);if(_0x414ad2)return _0x414ad2;}const _0x943c36=await this[_0x5f3cff(0x155)](_0x5eaabf),_0xeea073=Date['now'](),_0x4243fd=_0x4c71df[_0x5f3cff(0x12c)](_0xeea073,_0x4c71df['yvpjs'](_0x3baef4,0x3e8)),_0x4de946=_0x3baef4*0x3e8,_0x1420aa=new Date(_0x4243fd)[_0x5f3cff(0x137)](),_0x54ad67=redisClient['getClient'](),_0x3ddddc=await _0x54ad67[_0x5f3cff(0x17f)](LUA_EXTEND_RESERVATION,0x2,_0x943c36['rsvKey'],_0x943c36[_0x5f3cff(0x8d)],_0x5eaabf,_0x4c71df['QmSEk'](String,_0x4de946),String(_0x4243fd),_0x1420aa);if(!_0x3ddddc||_0x4c71df['iDqlo'](_0x3ddddc[0x0],0x1))throw new IdGeneratorError(_0x4c71df['fAXQc'],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x5eaabf,{'token':_0x5eaabf});const _0x358cee=_0x3ddddc[0x1],_0x385e44=parseInt(_0x3ddddc[0x2],0xa),_0x5c6480=_0x3ddddc[0x3],_0x16d2a6=_0x3ddddc[0x4],_0x2b75f4=new Date(_0xeea073)['toISOString'](),_0x4ba8a2={'extended':!![],'token':_0x5eaabf,'previousExpiresAt':_0x358cee,'expiresAt':_0x1420aa,'ttlMs':_0x4de946,'resource':_0x943c36['resource'],'formatKey':_0x16d2a6,'counter':_0x385e44,'value':_0x5c6480,'extendedAt':_0x2b75f4};await this['_storeIdemCache'](_0x3b9ec9,_0x4ba8a2);const _0xdbef65=_0x16d2a6['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x233d8c=_0xdbef65?_0xdbef65[0x1]:_0x4c71df['RlDRw'],_0x217b33=this[_0x5f3cff(0x12f)](_0x233d8c);return this['_updateMeta'](_0x943c36['resource'],_0x16d2a6,{'lastExtendedCounter':_0x385e44,'lastExtendedAt':_0x2b75f4},_0x217b33),logger['info']({'event':'idgen_reservation_extended','resource':_0x943c36['resource'],'formatKey':_0x16d2a6,'counter':_0x385e44,'token':_0x5eaabf,'ttl':_0x3baef4},_0x5f3cff(0x115)+_0x5c6480+'\x20(token='+_0x5eaabf+_0x5f3cff(0x15a)+_0x3baef4+'s)'),_0x4ba8a2;}async[a0_0x2771b1(0x141)](_0x591281){const _0x1df027=a0_0x2771b1,_0x1577f7={'RRYkH':'ID\x20Generator\x20is\x20disabled','YcLxL':'IDGEN_RESERVATION_NOT_FOUND','cfzcl':function(_0x3da1e3,_0x2361f0,_0x14c790){return _0x3da1e3(_0x2361f0,_0x14c790);},'nwpRA':function(_0x1f285b,_0x3eb756){return _0x1f285b===_0x3eb756;},'addqe':_0x1df027(0x76),'Yslcj':function(_0xb18778,_0xee5cbd){return _0xb18778>=_0xee5cbd;}};if(!this['enabled'])throw new IdGeneratorError(_0x1df027(0x150),_0x1577f7['RRYkH']);const _0x4b2641=this[_0x1df027(0xf7)](_0x591281&&_0x591281['token']),_0x191080=this['_buildReservationKey'](_0x4b2641),_0x1261a5=redisClient['getClient'](),_0x48d24f=_0x1261a5['pipeline']();_0x48d24f['hgetall'](_0x191080),_0x48d24f[_0x1df027(0x130)](_0x191080);const _0x165a93=await _0x48d24f[_0x1df027(0xa9)](),_0x51dcdf=_0x165a93&&_0x165a93[0x0]&&_0x165a93[0x0][0x1],_0x1cdf8e=_0x165a93&&_0x165a93[0x1]&&_0x165a93[0x1][0x1];if(!_0x51dcdf||Object['keys'](_0x51dcdf)[_0x1df027(0x126)]===0x0)throw new IdGeneratorError(_0x1577f7[_0x1df027(0x199)],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x4b2641,{'token':_0x4b2641});return{'token':_0x4b2641,'resource':_0x51dcdf['resource']||null,'formatKey':_0x51dcdf['formatKey']||null,'format':_0x51dcdf['format']||null,'prefix':_0x51dcdf[_0x1df027(0xce)]||'','separator':_0x51dcdf['separator']||'','numDigits':_0x51dcdf[_0x1df027(0x179)]?parseInt(_0x51dcdf[_0x1df027(0x179)],0xa):null,'datePrefix':_0x51dcdf['datePrefix']||'','counter':_0x51dcdf['counter']?_0x1577f7['cfzcl'](parseInt,_0x51dcdf['counter'],0xa):null,'value':_0x51dcdf[_0x1df027(0x147)]||null,'isReused':_0x51dcdf['isReused']==='1'||_0x51dcdf['isReused']===0x1,'createdAt':_0x51dcdf['createdAt']||null,'expiresAt':_0x51dcdf['expiresAt']||null,'ttlRemainingMs':_0x1577f7[_0x1df027(0xbe)](typeof _0x1cdf8e,_0x1577f7['addqe'])&&_0x1577f7[_0x1df027(0x154)](_0x1cdf8e,0x0)?_0x1cdf8e:null};}async[a0_0x2771b1(0x155)](_0x2916b6){const _0x382acd=a0_0x2771b1,_0x379c51={'Udmpd':_0x382acd(0x105),'wpmFW':_0x382acd(0x16b),'IijGl':_0x382acd(0x15c)},_0x11f49d=this[_0x382acd(0x109)](_0x2916b6),_0x220d4a=redisClient[_0x382acd(0xab)](),_0x1d81f9=await _0x220d4a['hmget'](_0x11f49d,_0x379c51[_0x382acd(0xb5)],_0x379c51['wpmFW']),_0x51c616=_0x1d81f9&&_0x1d81f9[0x0],_0xc00227=_0x1d81f9&&_0x1d81f9[0x1];if(!_0x51c616||!_0xc00227)throw new IdGeneratorError(_0x379c51['IijGl'],_0x382acd(0x116)+_0x2916b6,{'token':_0x2916b6});return{'resource':_0x51c616,'formatKey':_0xc00227,'rsvKey':_0x11f49d,'rsvIdxKey':this[_0x382acd(0x128)](_0x51c616,_0xc00227)};}async['random'](_0x35faf3){const _0x178af5=a0_0x2771b1,_0x13cc85={'uzEsE':function(_0x489e0b,_0x1ac138){return _0x489e0b===_0x1ac138;},'uobpN':'random','fBbdP':function(_0x408a4d,_0x378526){return _0x408a4d<_0x378526;},'siyMk':function(_0x184c8d,_0x25c144){return _0x184c8d===_0x25c144;},'andSi':function(_0x172ba6,_0x33489c){return _0x172ba6+_0x33489c;},'rHmon':function(_0x2548a9,_0x1302f2){return _0x2548a9*_0x1302f2;},'SklJF':function(_0x2e1fd8,_0x3cad1c){return _0x2e1fd8||_0x3cad1c;}};if(!this[_0x178af5(0xfe)])throw new IdGeneratorError('IDGEN_DISABLED',_0x178af5(0x17d));this['_validateResource'](_0x35faf3['resource']),this[_0x178af5(0x9a)](_0x35faf3[_0x178af5(0x166)]);const _0x328b4a=this['_validateTTL'](_0x35faf3[_0x178af5(0x156)]),_0x116ca9=this['_validateMaxRetry'](_0x35faf3[_0x178af5(0xbd)]),_0x48ce6b=this['_validateIdempotencyKey'](_0x35faf3[_0x178af5(0x113)]),_0x2d4926=_0x13cc85['uzEsE'](_0x35faf3['ensureUnique'],!![]),{resource:_0x579db9,pattern:_0x5ee2e4}=_0x35faf3;let _0x8687ec=null;if(_0x48ce6b){_0x8687ec=this[_0x178af5(0xdc)](_0x13cc85[_0x178af5(0x19d)],_0x579db9,null,_0x48ce6b);const _0x3bbcad=await this['_retrieveIdemCache'](_0x8687ec);if(_0x3bbcad)return _0x3bbcad;}const _0x2f5104=redisClient[_0x178af5(0xab)]();let _0x2cafa7=null,_0x15ab68=0x0;if(!_0x2d4926)_0x2cafa7=this[_0x178af5(0xb6)](_0x5ee2e4),_0x15ab68=0x1;else{for(let _0x116722=0x0;_0x13cc85['fBbdP'](_0x116722,_0x116ca9);_0x116722++){_0x15ab68++;const _0x35d8bc=this[_0x178af5(0xb6)](_0x5ee2e4);if(_0x328b4a){const _0x38c699=this[_0x178af5(0xeb)](_0x579db9,_0x35d8bc),_0x441808=await _0x2f5104[_0x178af5(0x192)](_0x38c699,'1','EX',_0x328b4a,'NX');if(_0x13cc85[_0x178af5(0x100)](_0x441808,'OK')){_0x2cafa7=_0x35d8bc;break;}}else{const _0x247317=this[_0x178af5(0x95)](_0x579db9),_0x5dedf3=await _0x2f5104[_0x178af5(0xd1)](_0x247317,_0x35d8bc);if(_0x13cc85['uzEsE'](_0x5dedf3,0x1)){_0x2cafa7=_0x35d8bc;break;}}}if(_0x13cc85['siyMk'](_0x2cafa7,null))throw new IdGeneratorError(_0x178af5(0xa2),'Could\x20not\x20generate\x20unique\x20value\x20after\x20'+_0x116ca9+'\x20attempts.\x20Increase\x20pattern\x20length\x20or\x20maxRetry.',{'resource':_0x579db9,'pattern':_0x5ee2e4,'maxRetry':_0x116ca9});}const _0x53b9bc={'value':_0x2cafa7,'resource':_0x579db9,'pattern':_0x5ee2e4,'attemptCount':_0x15ab68,'generatedAt':new Date()['toISOString']()};_0x328b4a&&_0x2d4926&&(_0x53b9bc[_0x178af5(0x121)]=new Date(_0x13cc85[_0x178af5(0xfc)](Date['now'](),_0x13cc85[_0x178af5(0xaa)](_0x328b4a,0x3e8)))['toISOString']());const _0x5e1363=await this[_0x178af5(0x191)](_0x8687ec,_0x53b9bc);if(!_0x5e1363['stored'])return _0x2d4926&&await this['_undoRandomReservation'](_0x579db9,_0x2cafa7,_0x328b4a),logger['info']({'event':'idgen_random_idem_loser','resource':_0x579db9,'pattern':_0x5ee2e4,'value':_0x2cafa7},_0x178af5(0xe3)),_0x5e1363['winnerResult'];return logger['info']({'event':'idgen_random_generated','resource':_0x579db9,'pattern':_0x5ee2e4,'attemptCount':_0x15ab68,'ensureUnique':_0x2d4926,'ttl':_0x13cc85[_0x178af5(0x18d)](_0x328b4a,0x0)},'ID\x20Generator\x20random:\x20'+_0x2cafa7),_0x53b9bc;}async[a0_0x2771b1(0x139)](_0xe3567c){const _0x47062c=a0_0x2771b1,_0x488fd8={'jCMYO':function(_0x16b8bd,_0x50f92f){return _0x16b8bd==_0x50f92f;},'mivXI':'IDGEN_INVALID_DIGITS','oNHyr':function(_0x161afb,_0x40dc93){return _0x161afb===_0x40dc93;}},_0x214dd5=_0x488fd8[_0x47062c(0x8f)](_0xe3567c[_0x47062c(0x146)],null)?this[_0x47062c(0x125)]:_0xe3567c[_0x47062c(0x146)];if(!Number['isInteger'](_0x214dd5)||_0x214dd5<MIN_PIN_DIGITS||_0x214dd5>MAX_PIN_DIGITS)throw new IdGeneratorError(_0x488fd8['mivXI'],'Invalid\x20digits:\x20must\x20be\x20integer\x20'+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+_0x47062c(0xd0)+_0x214dd5+')');const _0xf37fcb='9'[_0x47062c(0xb8)](_0x214dd5);return this['random']({'resource':_0xe3567c[_0x47062c(0x105)],'pattern':_0xf37fcb,'ensureUnique':_0x488fd8[_0x47062c(0xe1)](_0xe3567c['ensureUnique'],!![]),'ttl':_0xe3567c['ttl'],'maxRetry':_0xe3567c[_0x47062c(0xbd)],'idempotencyKey':_0xe3567c['idempotencyKey']});}async['serial'](_0x45b4e5){const _0x5a185c=a0_0x2771b1,_0x55f1ea={'bDnvM':function(_0x350062,_0x100990){return _0x350062!==_0x100990;}},_0x471cbb=_0x45b4e5[_0x5a185c(0x166)]||this['defaultSerialPattern'];return this[_0x5a185c(0x175)]({'resource':_0x45b4e5['resource'],'pattern':_0x471cbb,'ensureUnique':_0x55f1ea['bDnvM'](_0x45b4e5[_0x5a185c(0x15b)],![]),'ttl':_0x45b4e5[_0x5a185c(0x156)],'maxRetry':_0x45b4e5['maxRetry'],'idempotencyKey':_0x45b4e5['idempotencyKey']});}async['code'](_0x4cf0ae){const _0xae118c=a0_0x2771b1,_0x3eaaec={'wJPgf':function(_0x1c9544,_0x2a2c04){return _0x1c9544!==_0x2a2c04;}},_0x41ee03=_0x4cf0ae[_0xae118c(0x166)]||this['defaultCodePattern'];return this[_0xae118c(0x175)]({'resource':_0x4cf0ae[_0xae118c(0x105)],'pattern':_0x41ee03,'ensureUnique':_0x3eaaec['wJPgf'](_0x4cf0ae[_0xae118c(0x15b)],![]),'ttl':_0x4cf0ae[_0xae118c(0x156)],'maxRetry':_0x4cf0ae[_0xae118c(0xbd)],'idempotencyKey':_0x4cf0ae['idempotencyKey']});}async[a0_0x2771b1(0x131)](_0x41c3af){const _0x4193a5=a0_0x2771b1,_0x22c631={'InuPI':_0x4193a5(0x17d),'NaMyt':'idgen_consumed'};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x22c631['InuPI']);this['_validateResource'](_0x41c3af['resource']);if(typeof _0x41c3af[_0x4193a5(0x147)]!==_0x4193a5(0x9c)||_0x41c3af['value'][_0x4193a5(0x126)]===0x0)throw new IdGeneratorError(_0x4193a5(0x129),_0x4193a5(0xf4));const {resource:_0xfa4784,value:_0x70e177}=_0x41c3af,_0x4d2ced=redisClient['getClient'](),_0xb6a636=this['_buildActiveKey'](_0xfa4784,_0x70e177),_0x592d6e=this[_0x4193a5(0x95)](_0xfa4784),[_0x1f4421,_0x2ded9d]=await Promise[_0x4193a5(0x187)]([_0x4d2ced['del'](_0xb6a636),_0x4d2ced[_0x4193a5(0x118)](_0x592d6e,_0x70e177)]),_0x5c40bb=_0x1f4421+_0x2ded9d>0x0;return logger[_0x4193a5(0x159)]({'event':_0x22c631[_0x4193a5(0x190)],'resource':_0xfa4784,'value':_0x70e177,'consumed':_0x5c40bb},_0x4193a5(0x114)+_0x70e177),{'consumed':_0x5c40bb,'resource':_0xfa4784,'value':_0x70e177,'consumedAt':new Date()['toISOString']()};}async['peek'](_0x284b48){const _0x1656d3=a0_0x2771b1,_0x1c9c1b={'ZUPXX':'IDGEN_DISABLED','rHBTD':'ID\x20Generator\x20is\x20disabled','LMnXt':_0x1656d3(0x76),'AfWLy':function(_0x370128,_0x29b0d1){return _0x370128===_0x29b0d1;},'mNUwI':_0x1656d3(0xe9),'dFPVP':function(_0x3065af,_0x1626d7,_0x33273f){return _0x3065af(_0x1626d7,_0x33273f);},'yvwMw':function(_0x1fc18a,_0x51fc0e){return _0x1fc18a||_0x51fc0e;},'zXqAQ':'random','OkjKs':'IDGEN_INVALID_MODE'};if(!this['enabled'])throw new IdGeneratorError(_0x1c9c1b['ZUPXX'],_0x1c9c1b[_0x1656d3(0x13a)]);this['_validateResource'](_0x284b48[_0x1656d3(0x105)]);const _0x3c49b3=_0x284b48[_0x1656d3(0x97)]||_0x1c9c1b[_0x1656d3(0xb1)],_0x2d4edf=redisClient['getClient']();if(_0x1c9c1b[_0x1656d3(0xc2)](_0x3c49b3,_0x1656d3(0x76))){const _0x5d2603=(_0x284b48['format']||'text')[_0x1656d3(0x16f)]();if(!ALLOWED_FORMATS[_0x1656d3(0x174)](_0x5d2603))throw new IdGeneratorError(_0x1c9c1b[_0x1656d3(0x165)],'Invalid\x20format:\x20'+_0x284b48[_0x1656d3(0x136)]);const {formatKey:_0x2e6b98}=this['_buildFormatKey'](_0x5d2603,_0x284b48['prefix']||''),_0x59a6b0=this['_buildSeqKey'](_0x284b48[_0x1656d3(0x105)],_0x2e6b98),_0xc86d73=this['_buildReuseKey'](_0x284b48['resource'],_0x2e6b98),[_0x5e5c9e,_0x44fad2]=await Promise['all']([_0x2d4edf[_0x1656d3(0x196)](_0x59a6b0),_0x2d4edf[_0x1656d3(0x14f)](_0xc86d73)]);return{'resource':_0x284b48[_0x1656d3(0x105)],'mode':_0x1c9c1b['LMnXt'],'formatKey':_0x2e6b98,'currentCounter':_0x1c9c1b[_0x1656d3(0x90)](parseInt,_0x5e5c9e,0xa)||0x0,'reusePoolSize':_0x1c9c1b[_0x1656d3(0xe6)](_0x44fad2,0x0)};}if(_0x3c49b3===_0x1c9c1b['zXqAQ']){const _0x1e25a3=this['_buildIssuedKey'](_0x284b48[_0x1656d3(0x105)]),_0x3fc171=await _0x2d4edf[_0x1656d3(0x10b)](_0x1e25a3);return{'resource':_0x284b48[_0x1656d3(0x105)],'mode':_0x1c9c1b['zXqAQ'],'issuedCount':_0x3fc171||0x0};}throw new IdGeneratorError(_0x1c9c1b['OkjKs'],_0x1656d3(0x7c)+_0x3c49b3);}async[a0_0x2771b1(0xd7)](_0x6a9584){const _0xf22d2a=a0_0x2771b1,_0x2dcd4e={'bMMXF':'number'},_0x37156b=await this['peek'](_0x6a9584);if(_0x37156b['mode']===_0x2dcd4e[_0xf22d2a(0x123)]){const _0x515e1b=redisClient[_0xf22d2a(0xab)](),_0x35af8e=this['_buildMetaKey'](_0x6a9584['resource'],_0x37156b[_0xf22d2a(0x16b)]),_0x225513=this[_0xf22d2a(0xe8)](_0x6a9584[_0xf22d2a(0x105)],_0x37156b[_0xf22d2a(0x16b)]),[_0x1e3205,_0x4a5430]=await Promise[_0xf22d2a(0x187)]([_0x515e1b['hgetall'](_0x35af8e),_0x515e1b['zrange'](_0x225513,0x0,-0x1)]);return{..._0x37156b,'reusePoolValues':_0x4a5430[_0xf22d2a(0x99)](_0x141d2d=>parseInt(_0x141d2d,0xa)),'meta':_0x1e3205&&Object[_0xf22d2a(0xc7)](_0x1e3205)[_0xf22d2a(0x126)]>0x0?_0x1e3205:null};}return _0x37156b;}async[a0_0x2771b1(0x87)](_0x1a4c5b){const _0x2c4f0a=a0_0x2771b1,_0x4b1746={'jQfXV':_0x2c4f0a(0x17d),'LnQSd':_0x2c4f0a(0xe2),'kRoLa':'number','JeIyC':_0x2c4f0a(0x13c),'NOgxm':'IDGEN_INVALID_FORMAT','CnOkX':'idgen_reset','YJYFr':_0x2c4f0a(0xdf),'IhfnP':'reuse','tljes':_0x2c4f0a(0x18f),'nROND':'random','dJyVQ':'issued','VZXAS':'IDGEN_INVALID_MODE'};if(!this['enabled'])throw new IdGeneratorError(_0x2c4f0a(0x150),_0x4b1746['jQfXV']);if(!this['allowReset'])throw new IdGeneratorError('IDGEN_RESET_NOT_ALLOWED',_0x4b1746[_0x2c4f0a(0x183)]);this['_validateResource'](_0x1a4c5b['resource']);const _0x5cff26=_0x1a4c5b['mode']||_0x4b1746['kRoLa'],_0x446957=redisClient['getClient']();if(_0x5cff26===_0x4b1746[_0x2c4f0a(0x11c)]){const _0xa23db=(_0x1a4c5b[_0x2c4f0a(0x136)]||_0x4b1746[_0x2c4f0a(0xcf)])[_0x2c4f0a(0x16f)]();if(!ALLOWED_FORMATS[_0x2c4f0a(0x174)](_0xa23db))throw new IdGeneratorError(_0x4b1746[_0x2c4f0a(0x13d)],'Invalid\x20format:\x20'+_0x1a4c5b[_0x2c4f0a(0x136)]);const {formatKey:_0x24539c}=this['_buildFormatKey'](_0xa23db,_0x1a4c5b[_0x2c4f0a(0xce)]||''),_0x9c1964=this['_buildSeqKey'](_0x1a4c5b[_0x2c4f0a(0x105)],_0x24539c),_0xa1b4e7=this['_buildReuseKey'](_0x1a4c5b[_0x2c4f0a(0x105)],_0x24539c),_0x1316c1=this['_buildMetaKey'](_0x1a4c5b[_0x2c4f0a(0x105)],_0x24539c);return await _0x446957['del'](_0x9c1964,_0xa1b4e7,_0x1316c1),logger['warn']({'event':_0x4b1746[_0x2c4f0a(0x17a)],'resource':_0x1a4c5b['resource'],'mode':_0x4b1746['kRoLa'],'formatKey':_0x24539c},_0x2c4f0a(0x157)+_0x1a4c5b['resource']+':'+_0x24539c),{'reset':!![],'resource':_0x1a4c5b[_0x2c4f0a(0x105)],'mode':_0x4b1746['kRoLa'],'formatKey':_0x24539c,'deletedKeys':[_0x4b1746['YJYFr'],_0x4b1746['IhfnP'],_0x4b1746[_0x2c4f0a(0x119)]]};}if(_0x5cff26===_0x4b1746[_0x2c4f0a(0x80)]){const _0xe0166=this[_0x2c4f0a(0x95)](_0x1a4c5b['resource']);return await _0x446957[_0x2c4f0a(0x110)](_0xe0166),logger[_0x2c4f0a(0x17b)]({'event':_0x4b1746[_0x2c4f0a(0x17a)],'resource':_0x1a4c5b['resource'],'mode':_0x2c4f0a(0x175)},'ID\x20Generator\x20reset:\x20random:'+_0x1a4c5b['resource']),{'reset':!![],'resource':_0x1a4c5b[_0x2c4f0a(0x105)],'mode':_0x2c4f0a(0x175),'deletedKeys':[_0x4b1746['dJyVQ']]};}throw new IdGeneratorError(_0x4b1746['VZXAS'],'Unknown\x20mode:\x20'+_0x5cff26);}}const instance=new IdGenerator();instance[a0_0x2771b1(0x108)]=IdGeneratorError,module['exports']=instance,module['exports']['IdGeneratorError']=IdGeneratorError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';const a0_0x813f6d=a0_0x50cc;(function(_0x375336,_0x206319){const _0x2f8c61=a0_0x50cc,_0x114943=_0x375336();while(!![]){try{const _0x1a4fd7=-parseInt(_0x2f8c61(0x204))/0x1*(-parseInt(_0x2f8c61(0x206))/0x2)+-parseInt(_0x2f8c61(0x208))/0x3+parseInt(_0x2f8c61(0x214))/0x4+-parseInt(_0x2f8c61(0x209))/0x5+parseInt(_0x2f8c61(0x213))/0x6*(parseInt(_0x2f8c61(0x21a))/0x7)+parseInt(_0x2f8c61(0x201))/0x8+-parseInt(_0x2f8c61(0x218))/0x9;if(_0x1a4fd7===_0x206319)break;else _0x114943['push'](_0x114943['shift']());}catch(_0x3a9314){_0x114943['push'](_0x114943['shift']());}}}(a0_0x2e44,0xc4679));function a0_0x50cc(_0x1670db,_0x5d9598){_0x1670db=_0x1670db-0x1f0;const _0x2e44e0=a0_0x2e44();let _0x50cc24=_0x2e44e0[_0x1670db];if(a0_0x50cc['kYXQTl']===undefined){var _0xb8ce64=function(_0x4d5316){const _0x28da2a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5c4efb='',_0x55e340='';for(let _0x47a949=0x0,_0x2d5bac,_0x128108,_0x5aadf5=0x0;_0x128108=_0x4d5316['charAt'](_0x5aadf5++);~_0x128108&&(_0x2d5bac=_0x47a949%0x4?_0x2d5bac*0x40+_0x128108:_0x128108,_0x47a949++%0x4)?_0x5c4efb+=String['fromCharCode'](0xff&_0x2d5bac>>(-0x2*_0x47a949&0x6)):0x0){_0x128108=_0x28da2a['indexOf'](_0x128108);}for(let _0x2e376d=0x0,_0x4eb47d=_0x5c4efb['length'];_0x2e376d<_0x4eb47d;_0x2e376d++){_0x55e340+='%'+('00'+_0x5c4efb['charCodeAt'](_0x2e376d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x55e340);};a0_0x50cc['ZRWcqI']=_0xb8ce64,a0_0x50cc['rFojAS']={},a0_0x50cc['kYXQTl']=!![];}const _0x470414=_0x2e44e0[0x0],_0x30bea3=_0x1670db+_0x470414,_0x1071ce=a0_0x50cc['rFojAS'][_0x30bea3];return!_0x1071ce?(_0x50cc24=a0_0x50cc['ZRWcqI'](_0x50cc24),a0_0x50cc['rFojAS'][_0x30bea3]=_0x50cc24):_0x50cc24=_0x1071ce,_0x50cc24;}const redisClient=require(a0_0x813f6d(0x217)),{logger}=require(a0_0x813f6d(0x1f5)),crypto=require('crypto');function a0_0x2e44(){const _0xebd36c=['x2vUywjSzwq','swrLBxbVDgvUy3KGy29UzMLNDxjHDgLVBIbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i6ia','mJe5mfrmr1LuDa','mZG0mZm4menHBMX4uG','z2v0q2XPzw50','C3bSAxq','lI9YzwrPCY1JBgLLBNq','nJm3mteWmeDPzuTzqW','Dhj1zq','mtK2odrWENzOvxa','x2LUAxrdB25MAwC','CMvX','x2LUAxrPywXPEMvK','surftvbpvevoq1LFvfrm','zw52','lI9SB2DNzxi','BevJCeO','x2vUC3vYzuLUAxrPywXPEMvK','DhrS','Cgf0Aa','C3rVCMu','D2HfrvG','C3rHDhvZq29Kzq','AwrLBxbVDgvUy3LFC3rVCMvFzxjYB3i','z2vUzxjHDgvlzxK','CvDbr1O','zw5HyMXLza','otmWmJmWneT5sgTnqW','zgvIDwC','BwvZC2fNzq','mtCZy2DryM1i','swrLBxbVDgvUy3KGy2fJAguGtuLtuW','mJe4mNzQExDIzG','AwrLBxbVDgvUy3LFC3rVCMu','nZG2mdCYvgLJtxzs','nZGYmtC5nuL0CujICG','D3DIuwS','CgfYC2u','x3r0Ba','zxHWB3j0CW','AwrLBxbVDgvUy3LFAgL0','CMy6AwrLBtO'];a0_0x2e44=function(){return _0xebd36c;};return a0_0x2e44();}class IdempotencyManager{constructor(){const _0x547cd0=a0_0x813f6d;this[_0x547cd0(0x210)]=null,this['_ttl']=null,this['_initialized']=![];}['_initConfig'](){const _0x26cfbb=a0_0x813f6d,_0x157b67={'qWAGZ':function(_0x32965f,_0x22e942){return _0x32965f===_0x22e942;},'XiXMh':_0x26cfbb(0x219),'AOnQP':'idempotency_config_init'};this[_0x26cfbb(0x210)]=_0x157b67[_0x26cfbb(0x1ff)](process[_0x26cfbb(0x1f4)]['IDEMPOTENCY_ENABLED'],_0x157b67['XiXMh']),this['_ttl']=parseInt(process['env'][_0x26cfbb(0x1f3)],0xa)||0x12c,this[_0x26cfbb(0x1f2)]=!![],logger['info']({'event':_0x157b67['AOnQP'],'enabled':this['_enabled'],'ttl':this['_ttl']},_0x26cfbb(0x211)+this['_enabled']+',\x20TTL:\x20'+this['_ttl']+'s');}[a0_0x813f6d(0x1f7)](){const _0x1fee01=a0_0x813f6d;!this['_initialized']&&this[_0x1fee01(0x1f0)]();}get[a0_0x813f6d(0x200)](){const _0x4158f4=a0_0x813f6d;return this[_0x4158f4(0x1f7)](),this[_0x4158f4(0x210)];}get[a0_0x813f6d(0x1f8)](){const _0x4f4b21=a0_0x813f6d;return this[_0x4f4b21(0x1f7)](),this[_0x4f4b21(0x20c)];}['isEnabled'](){const _0x36dd62=a0_0x813f6d;return this[_0x36dd62(0x200)];}['buildKey'](_0x4e582e,_0x52a608){const _0x4d52e1=a0_0x813f6d,_0x546da9={'iFAKK':'unknown'},_0x4bce4f=_0x52a608[_0x4d52e1(0x1f9)][_0x4d52e1(0x216)]('/')['filter'](Boolean),_0x1ef653=_0x4bce4f[0x0]||'default',_0x256e74=_0x4bce4f[0x1]||_0x546da9['iFAKK'],_0x24a842=_0x4bce4f[0x2]||_0x546da9['iFAKK'];return _0x4d52e1(0x20f)+_0x1ef653+':'+_0x256e74+':'+_0x24a842+':'+_0x4e582e;}async[a0_0x813f6d(0x1fa)](_0xab1dc,_0x268766){const _0x3a0d4b=a0_0x813f6d;if(!this['enabled'])return![];try{const _0x22cafc=redisClient[_0x3a0d4b(0x215)]();return await _0x22cafc['setex'](_0xab1dc,this[_0x3a0d4b(0x1f8)],JSON['stringify'](_0x268766)),logger['debug']({'event':_0x3a0d4b(0x207),'key':_0xab1dc,'ttl':this[_0x3a0d4b(0x1f8)],'statusCode':_0x268766[_0x3a0d4b(0x1fc)]},'Idempotency\x20response\x20stored'),!![];}catch(_0x1287df){return logger['error']({'event':_0x3a0d4b(0x1fd),'key':_0xab1dc,'error':_0x1287df['message']},_0x3a0d4b(0x212)+_0x1287df[_0x3a0d4b(0x203)]),![];}}async['retrieve'](_0x3e5727){const _0x34c404=a0_0x813f6d,_0x3ed4bb={'aIuxQ':_0x34c404(0x20e),'wwbQk':'idempotency_miss','whEEX':_0x34c404(0x205),'lEcpJ':'idempotency_retrieve_error'};if(!this[_0x34c404(0x200)])return null;try{const _0x209c77=redisClient[_0x34c404(0x215)](),_0x5c06ec=await _0x209c77['get'](_0x3e5727);if(_0x5c06ec)return logger['info']({'event':_0x3ed4bb['aIuxQ'],'key':_0x3e5727},'Idempotency\x20cache\x20HIT'),JSON[_0x34c404(0x20b)](_0x5c06ec);return logger[_0x34c404(0x202)]({'event':_0x3ed4bb[_0x34c404(0x20a)],'key':_0x3e5727},_0x3ed4bb[_0x34c404(0x1fb)]),null;}catch(_0x3aa6f6){return logger['error']({'event':_0x3ed4bb[_0x34c404(0x1f6)],'key':_0x3e5727,'error':_0x3aa6f6['message']},'Idempotency\x20retrieve\x20error:\x20'+_0x3aa6f6['message']),null;}}[a0_0x813f6d(0x1fe)](_0x2ee8d8=a0_0x813f6d(0x1f1)){return _0x2ee8d8+'_'+crypto['randomUUID']();}['buildDeterministicKey'](_0xd9718a,_0x17f4db,_0x455480){return _0xd9718a+':'+_0x17f4db+':'+_0x455480;}}module[a0_0x813f6d(0x20d)]=new IdempotencyManager();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a0_0x2d53fe=a0_0xa32b;(function(_0x3a427d,_0x3965c6){const _0xb571c=a0_0xa32b,_0x1b5bc7=_0x3a427d();while(!![]){try{const _0xc995f0=-parseInt(_0xb571c(0x216))/0x1+parseInt(_0xb571c(0x20b))/0x2*(parseInt(_0xb571c(0x1f4))/0x3)+parseInt(_0xb571c(0x1f9))/0x4+parseInt(_0xb571c(0x1ff))/0x5+parseInt(_0xb571c(0x20e))/0x6+-parseInt(_0xb571c(0x209))/0x7+parseInt(_0xb571c(0x210))/0x8;if(_0xc995f0===_0x3965c6)break;else _0x1b5bc7['push'](_0x1b5bc7['shift']());}catch(_0x378476){_0x1b5bc7['push'](_0x1b5bc7['shift']());}}}(a0_0xd6c8,0xc7d83));function a0_0xa32b(_0x4d7cd2,_0x4f37ec){_0x4d7cd2=_0x4d7cd2-0x1f3;const _0xd6c850=a0_0xd6c8();let _0xa32bd4=_0xd6c850[_0x4d7cd2];if(a0_0xa32b['tNrRmF']===undefined){var _0x50c8e6=function(_0x50e1c6){const _0x47ad85='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2478ce='',_0x790a5c='';for(let _0x5c9a82=0x0,_0x3018ea,_0x5650be,_0xa53cf5=0x0;_0x5650be=_0x50e1c6['charAt'](_0xa53cf5++);~_0x5650be&&(_0x3018ea=_0x5c9a82%0x4?_0x3018ea*0x40+_0x5650be:_0x5650be,_0x5c9a82++%0x4)?_0x2478ce+=String['fromCharCode'](0xff&_0x3018ea>>(-0x2*_0x5c9a82&0x6)):0x0){_0x5650be=_0x47ad85['indexOf'](_0x5650be);}for(let _0x1032bf=0x0,_0x126dbb=_0x2478ce['length'];_0x1032bf<_0x126dbb;_0x1032bf++){_0x790a5c+='%'+('00'+_0x2478ce['charCodeAt'](_0x1032bf)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x790a5c);};a0_0xa32b['rzlcJA']=_0x50c8e6,a0_0xa32b['oAIdbR']={},a0_0xa32b['tNrRmF']=!![];}const _0x2103ff=_0xd6c850[0x0],_0x34431e=_0x4d7cd2+_0x2103ff,_0x422262=a0_0xa32b['oAIdbR'][_0x34431e];return!_0x422262?(_0xa32bd4=a0_0xa32b['rzlcJA'](_0xa32bd4),a0_0xa32b['oAIdbR'][_0x34431e]=_0xa32bd4):_0xa32bd4=_0x422262,_0xa32bd4;}const {logger}=require('./logger');function a0_0xd6c8(){const _0x45df14=['vLLXwK8','mte0otiXmLnAqwnkvG','BgvUz3rO','DMfSAwrHDgvvCMW','mJe1nZC0nfLss3flEa','AM9PBG','mZGZntq0zgzZsNnS','A2v5CW','DMfSAwrHDgvoDw1Izxi','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','sw52ywXPzcbUDw1IzxiGzM9YBwf0','ChvZAa','mtm5mdqZn0T4teHzsW','yMnSAgK','Aw5MBW','nM9rD21HuW','sw52ywXPzcbvuKWGzM9YBwf0','rvLWrgC','BLHAwMW','AgfZ','mZK0odqXmNH1zu5ADq','qMf0y2GGDMfSAwrHDgLVBIbJB21WBgv0zwq','sw52ywXPzcbLBwfPBcbMB3jTyxq','DMfSAwrHDgvgAwvSzezVCM1HDa','zM9YrwfJAa','DgvZDa','mZuXotK4nwXrAMX6za','DMfSAwrHDgvqAg9Uzq','y011ugq','uMvXDwLYzwqGzMLLBgqGAxmGzw1WDhK','z2v0','sw52ywXPzcbWAg9UzsbMB3jTyxq','CMvWBgfJzq','zw1HAwW','zM9YBwf0','DMfSAwrHDgvfBwfPBa','nZi3mJe1m1HZuKDSzG'];a0_0xd6c8=function(){return _0x45df14;};return a0_0xd6c8();}class ImportValidator{['validateRow'](_0x3b62f4,_0x26f847=[],_0x540fc3={}){const _0x46a26f=a0_0xa32b,_0x39d218={'lyhIX':function(_0x6d2b47,_0x225da1){return _0x6d2b47===_0x225da1;},'hrtal':function(_0x56e8cd,_0x3a5902){return _0x56e8cd===_0x3a5902;},'VYqZO':function(_0x268a42,_0x3d0799){return _0x268a42===_0x3d0799;}},_0x372208=[];return _0x26f847[_0x46a26f(0x1fd)](_0x46eb2e=>{const _0xcdee46=_0x46a26f,_0x57c873=_0x3b62f4[_0x46eb2e];(_0x39d218['lyhIX'](_0x57c873,null)||_0x39d218['hrtal'](_0x57c873,undefined)||_0x57c873==='')&&_0x372208[_0xcdee46(0x215)]({'field':_0x46eb2e,'type':'required','message':_0xcdee46(0x202)});}),Object[_0x46a26f(0x211)](_0x540fc3)[_0x46a26f(0x1fd)](_0x4f4673=>{const _0x76ea56=_0x46a26f,_0x1455ba=_0x3b62f4[_0x4f4673],_0x3f62d5=_0x540fc3[_0x4f4673];if(_0x1455ba===null||_0x39d218[_0x76ea56(0x20a)](_0x1455ba,undefined)||_0x1455ba==='')return;const _0x585acc=this[_0x76ea56(0x1fc)](_0x4f4673,_0x1455ba,_0x3f62d5);_0x585acc&&_0x372208['push'](_0x585acc);}),_0x372208;}['validateFieldFormat'](_0x1d59ff,_0x5a8b26,_0x17284b){const _0x39da5e=a0_0xa32b,_0x2ddb26={'zzbha':'number'};switch(_0x17284b){case _0x39da5e(0x206):return this['validateEmail'](_0x1d59ff,_0x5a8b26);case'phone':return this[_0x39da5e(0x200)](_0x1d59ff,_0x5a8b26);case'url':return this['validateUrl'](_0x1d59ff,_0x5a8b26);case _0x2ddb26['zzbha']:return this['validateNumber'](_0x1d59ff,_0x5a8b26);default:return null;}}[a0_0x2d53fe(0x208)](_0x5b877d,_0x29f695){const _0x11bc8e=a0_0x2d53fe,_0x338cca={'AdpNr':function(_0x1f3c4c,_0x2a857d){return _0x1f3c4c(_0x2a857d);},'bclhi':_0x11bc8e(0x1fb)},_0x442db4=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x442db4[_0x11bc8e(0x1fe)](_0x338cca['AdpNr'](String,_0x29f695)))return{'field':_0x5b877d,'type':'format','message':_0x338cca[_0x11bc8e(0x217)]};return null;}['validatePhone'](_0x437dc1,_0x56749d){const _0x5c19eb=a0_0x2d53fe,_0x44c014={'nXZZl':function(_0x3dc674,_0x5974f5){return _0x3dc674<_0x5974f5;},'EyaYi':_0x5c19eb(0x204)},_0x415eb0=String(_0x56749d)[_0x5c19eb(0x205)](/\s+/g,''),_0x5bdd7f=/^[\d\+\-\(\)]+$/;if(!_0x5bdd7f['test'](_0x415eb0)||_0x44c014[_0x5c19eb(0x1f7)](_0x415eb0['length'],0x8))return{'field':_0x437dc1,'type':'format','message':_0x44c014['EyaYi']};return null;}[a0_0x2d53fe(0x20d)](_0x5c2368,_0xc8926d){const _0x24b582=a0_0x2d53fe,_0x54e6cc={'vNubA':function(_0x435131,_0x38928f){return _0x435131(_0x38928f);}};try{return new URL(_0x54e6cc['vNubA'](String,_0xc8926d)),null;}catch(_0xfbde3c){return{'field':_0x5c2368,'type':'format','message':_0x24b582(0x1f5)};}}[a0_0x2d53fe(0x212)](_0x5586ae,_0x38eeeb){const _0x326454=a0_0x2d53fe,_0xa87f13={'JkdfO':_0x326454(0x207),'RrsdJ':_0x326454(0x214)};if(isNaN(_0x38eeeb))return{'field':_0x5586ae,'type':_0xa87f13['JkdfO'],'message':_0xa87f13['RrsdJ']};return null;}[a0_0x2d53fe(0x213)](_0x4c56f7,_0x2ffcdc){const _0xbf9e48=a0_0x2d53fe,_0x482d3d=new Map(),_0x1fcf83=[];return _0x4c56f7[_0xbf9e48(0x1fd)]((_0x46826e,_0x5ad8f7)=>{const _0x58ae77=_0xbf9e48,_0x690f9=_0x2ffcdc['map'](_0x23434b=>_0x46826e[_0x23434b])[_0x58ae77(0x20f)]('|');_0x482d3d[_0x58ae77(0x1f8)](_0x690f9)?_0x1fcf83[_0x58ae77(0x215)]({'rowIndex':_0x5ad8f7,'duplicateOf':_0x482d3d[_0x58ae77(0x203)](_0x690f9),'key':_0x690f9}):_0x482d3d['set'](_0x690f9,_0x5ad8f7);}),_0x1fcf83;}['batchValidateRows'](_0x842e27,_0x2deafc,_0x4ce36a){const _0x2ff3b1=a0_0x2d53fe,_0x26bd81={'EYpDg':function(_0x3d4b6e,_0x54b379){return _0x3d4b6e>_0x54b379;},'cMuPd':_0x2ff3b1(0x1fa)},_0x427918=[];return _0x842e27[_0x2ff3b1(0x1fd)]((_0x125f6a,_0x58e132)=>{const _0x4e8310=_0x2ff3b1,_0x51a76f=this['validateRow'](_0x125f6a,_0x2deafc,_0x4ce36a);_0x26bd81[_0x4e8310(0x1f6)](_0x51a76f[_0x4e8310(0x20c)],0x0)&&_0x427918[_0x4e8310(0x215)]({'rowIndex':_0x58e132,'rowData':_0x125f6a,'errors':_0x51a76f});}),logger[_0x2ff3b1(0x1f3)]({'event':'batch_validation_complete','totalRows':_0x842e27[_0x2ff3b1(0x20c)],'errorCount':_0x427918[_0x2ff3b1(0x20c)]},_0x26bd81[_0x2ff3b1(0x201)]),_0x427918;}}module['exports']=new ImportValidator();
|