@restforgejs/platform 5.2.16 → 5.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (203) hide show
  1. package/bin/restforge-designer-linux +0 -0
  2. package/bin/restforge-designer.exe +0 -0
  3. package/build-info.json +2 -2
  4. package/cli/consumer-deploy.js +1 -1
  5. package/cli/consumer.js +1 -1
  6. package/cli/designer.js +3 -0
  7. package/generators/cli/endpoint/create.js +69 -6
  8. package/generators/cli/fast-track.js +7 -7
  9. package/generators/cli/payload/sync.js +16 -6
  10. package/generators/cli/project/auth.js +2 -2
  11. package/generators/cli/project/sdk.js +112 -0
  12. package/generators/lib/arg-parser.js +6 -0
  13. package/generators/lib/auth/processor-generator.js +5 -3
  14. package/generators/lib/auth/templates/processor/google.js.tmpl +178 -0
  15. package/generators/lib/auth/templates/processor/login.js.tmpl +8 -8
  16. package/generators/lib/auth/templates/processor/logout.js.tmpl +2 -2
  17. package/generators/lib/auth/templates/processor/me.js.tmpl +2 -2
  18. package/generators/lib/auth/templates/processor/refresh.js.tmpl +6 -6
  19. package/generators/lib/auth/templates/processor/register.js.tmpl +4 -4
  20. package/generators/lib/auth/templates/processor/reset-password.js.tmpl +7 -7
  21. package/generators/lib/auth/templates/rfx_auth.js.tmpl +3 -0
  22. package/generators/lib/generators/model-generator.js +46 -59
  23. package/generators/lib/help-generator.js +41 -3
  24. package/generators/lib/payload/endpoint-schema-validator.js +8 -3
  25. package/generators/lib/payload/field-projections.js +116 -0
  26. package/generators/lib/payload/payload-runner.js +164 -48
  27. package/generators/lib/payload/schema-diff.js +108 -0
  28. package/generators/lib/sdk/generator.js +719 -0
  29. package/generators/lib/sdk/naming.js +48 -0
  30. package/generators/lib/sdk/runtime/README.md.tmpl +207 -0
  31. package/generators/lib/sdk/runtime/auth-client.js +186 -0
  32. package/generators/lib/sdk/runtime/deploy.mjs.tmpl +85 -0
  33. package/generators/lib/sdk/runtime/http-client.js +81 -0
  34. package/generators/lib/sdk/runtime/resource-client.js +59 -0
  35. package/generators/lib/sdk/runtime/storage.js +31 -0
  36. package/generators/lib/templates/dashboard-catalog.js +1 -1
  37. package/generators/lib/templates/db-connection-env.js +1 -1
  38. package/generators/lib/templates/dbschema-catalog.js +1 -1
  39. package/generators/lib/templates/field-validation-catalog.js +1 -1
  40. package/generators/lib/templates/mysql-template.js +1 -1
  41. package/generators/lib/templates/oracle-template.js +1 -1
  42. package/generators/lib/templates/postgres-template.js +1 -1
  43. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  44. package/generators/lib/templates/sqlite-template.js +1 -1
  45. package/generators/lib/utils/cli-output.js +40 -0
  46. package/generators/lib/utils/config-resolver.js +61 -0
  47. package/generators/lib/utils/database-introspector.js +28 -5
  48. package/integrity-manifest.json +18 -18
  49. package/package.json +3 -2
  50. package/scripts/verify-integrity.js +1 -1
  51. package/server.js +1 -1
  52. package/src/components/handlers/adjust_handler.js +1 -1
  53. package/src/components/handlers/audit_handler.js +1 -1
  54. package/src/components/handlers/delete_handler.js +1 -1
  55. package/src/components/handlers/export_handler.js +1 -1
  56. package/src/components/handlers/import_handler.js +1 -1
  57. package/src/components/handlers/insert_handler.js +1 -1
  58. package/src/components/handlers/update_handler.js +1 -1
  59. package/src/components/handlers/upload_handler.js +1 -1
  60. package/src/components/handlers/workflow_handler.js +1 -1
  61. package/src/components/integrations/webhook.js +1 -1
  62. package/src/consumers/baseConsumer.js +1 -1
  63. package/src/consumers/declarativeMapper.js +1 -1
  64. package/src/consumers/handlers/apiHandler.js +1 -1
  65. package/src/consumers/handlers/consoleHandler.js +1 -1
  66. package/src/consumers/handlers/databaseHandler.js +1 -1
  67. package/src/consumers/handlers/index.js +1 -1
  68. package/src/consumers/handlers/kafkaHandler.js +1 -1
  69. package/src/consumers/index.js +1 -1
  70. package/src/consumers/messageTransformer.js +1 -1
  71. package/src/consumers/validator.js +1 -1
  72. package/src/core/db/dialect/base-dialect.js +1 -1
  73. package/src/core/db/dialect/index.js +1 -1
  74. package/src/core/db/dialect/mysql-dialect.js +1 -1
  75. package/src/core/db/dialect/oracle-dialect.js +1 -1
  76. package/src/core/db/dialect/postgres-dialect.js +1 -1
  77. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  78. package/src/core/db/flatten-helper.js +1 -1
  79. package/src/core/db/query-builder-error.js +1 -1
  80. package/src/core/db/query-builder.js +1 -1
  81. package/src/core/db/relation-helper.js +1 -1
  82. package/src/core/handlers/delete_handler.js +1 -1
  83. package/src/core/handlers/insert_handler.js +1 -1
  84. package/src/core/handlers/update_handler.js +1 -1
  85. package/src/core/models/base-model.js +1 -1
  86. package/src/core/utils/cache-manager.js +1 -1
  87. package/src/core/utils/component-engine.js +1 -1
  88. package/src/core/utils/context-builder.js +1 -1
  89. package/src/core/utils/datetime-formatter.js +1 -1
  90. package/src/core/utils/datetime-parser.js +1 -1
  91. package/src/core/utils/db.js +1 -1
  92. package/src/core/utils/logger.js +1 -1
  93. package/src/core/utils/payload-loader.js +1 -1
  94. package/src/core/utils/security-checks.js +1 -1
  95. package/src/middleware/body-options.js +1 -1
  96. package/src/middleware/cors.js +1 -1
  97. package/src/middleware/idempotency.js +1 -1
  98. package/src/middleware/rate-limiter.js +1 -1
  99. package/src/middleware/request-logger.js +1 -1
  100. package/src/middleware/security-headers.js +1 -1
  101. package/src/models/base-model-mysql.js +1 -1
  102. package/src/models/base-model-oracle.js +1 -1
  103. package/src/models/base-model-sqlite.js +1 -1
  104. package/src/models/base-model.js +1 -1
  105. package/src/pro/caching/redis-client.js +1 -1
  106. package/src/pro/caching/redis-helper.js +1 -1
  107. package/src/pro/consumers/baseConsumer.js +1 -1
  108. package/src/pro/consumers/declarativeMapper.js +1 -1
  109. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  110. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  111. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  112. package/src/pro/consumers/handlers/index.js +1 -1
  113. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  114. package/src/pro/consumers/index.js +1 -1
  115. package/src/pro/consumers/messageTransformer.js +1 -1
  116. package/src/pro/consumers/validator.js +1 -1
  117. package/src/pro/database/base-model-mysql.js +1 -1
  118. package/src/pro/database/base-model-oracle.js +1 -1
  119. package/src/pro/database/base-model-sqlite.js +1 -1
  120. package/src/pro/database/db-mysql.js +1 -1
  121. package/src/pro/database/db-oracle.js +1 -1
  122. package/src/pro/database/db-sqlite.js +1 -1
  123. package/src/pro/excel/excel-generator.js +1 -1
  124. package/src/pro/excel/excel-parser.js +1 -1
  125. package/src/pro/excel/export-service.js +1 -1
  126. package/src/pro/excel/export_handler.js +1 -1
  127. package/src/pro/excel/import-service.js +1 -1
  128. package/src/pro/excel/import-validator.js +1 -1
  129. package/src/pro/excel/import_handler.js +1 -1
  130. package/src/pro/excel/upsert-builder.js +1 -1
  131. package/src/pro/idgen/idgen-routes.js +1 -1
  132. package/src/pro/integrations/lookup-resolver.js +1 -1
  133. package/src/pro/integrations/upload-handler-v2.js +1 -1
  134. package/src/pro/integrations/upload-handler.js +1 -1
  135. package/src/pro/integrations/webhook.js +1 -1
  136. package/src/pro/locking/lock-routes.js +1 -1
  137. package/src/pro/locking/resource-lock-manager.js +1 -1
  138. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  139. package/src/pro/messaging/kafkaService.js +1 -1
  140. package/src/pro/messaging/messagehubService.js +1 -1
  141. package/src/pro/messaging/rabbitmqService.js +1 -1
  142. package/src/pro/scheduler/job-manager.js +1 -1
  143. package/src/pro/scheduler/job-routes.js +1 -1
  144. package/src/pro/scheduler/job-validator.js +1 -1
  145. package/src/pro/storage/base-storage-provider.js +1 -1
  146. package/src/pro/storage/file-metadata-helper.js +1 -1
  147. package/src/pro/storage/index.js +1 -1
  148. package/src/pro/storage/local-storage-provider.js +1 -1
  149. package/src/pro/storage/s3-storage-provider.js +1 -1
  150. package/src/pro/storage/upload-cleanup-job.js +1 -1
  151. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  152. package/src/pro/storage/upload-pending-tracker.js +1 -1
  153. package/src/pro/websocket/broadcast-helper.js +1 -1
  154. package/src/pro/websocket/index.js +1 -1
  155. package/src/pro/websocket/livesync-server.js +1 -1
  156. package/src/pro/websocket/ws-broadcaster.js +1 -1
  157. package/src/services/export-service.js +1 -1
  158. package/src/services/import-service.js +1 -1
  159. package/src/services/kafkaConsumerService.js +1 -1
  160. package/src/services/kafkaService.js +1 -1
  161. package/src/services/messagehubService.js +1 -1
  162. package/src/services/rabbitmqService.js +1 -1
  163. package/src/utils/cache-invalidation-registry.js +1 -1
  164. package/src/utils/cache-manager.js +1 -1
  165. package/src/utils/component-engine.js +1 -1
  166. package/src/utils/config-extractor.js +1 -1
  167. package/src/utils/consumerLogger.js +1 -1
  168. package/src/utils/context-builder.js +1 -1
  169. package/src/utils/dashboard-helpers.js +1 -1
  170. package/src/utils/dateHelper.js +1 -1
  171. package/src/utils/datetime-formatter.js +1 -1
  172. package/src/utils/datetime-parser.js +1 -1
  173. package/src/utils/db-bootstrap.js +1 -1
  174. package/src/utils/db-mysql.js +1 -1
  175. package/src/utils/db-oracle.js +1 -1
  176. package/src/utils/db-sqlite.js +1 -1
  177. package/src/utils/db.js +1 -1
  178. package/src/utils/demo-generator.js +1 -1
  179. package/src/utils/excel-generator.js +1 -1
  180. package/src/utils/excel-parser.js +1 -1
  181. package/src/utils/file-watcher.js +1 -1
  182. package/src/utils/id-generator.js +1 -1
  183. package/src/utils/idempotency-manager.js +1 -1
  184. package/src/utils/import-validator.js +1 -1
  185. package/src/utils/license-client.js +1 -1
  186. package/src/utils/lock-manager.js +1 -1
  187. package/src/utils/logger.js +1 -1
  188. package/src/utils/lookup-resolver.js +1 -1
  189. package/src/utils/payload-loader.js +1 -1
  190. package/src/utils/processor-response.js +1 -1
  191. package/src/utils/rabbitmq.js +1 -1
  192. package/src/utils/redis-client.js +1 -1
  193. package/src/utils/redis-helper.js +1 -1
  194. package/src/utils/request-scope.js +1 -1
  195. package/src/utils/security-checks.js +1 -1
  196. package/src/utils/service-resolver.js +1 -1
  197. package/src/utils/shutdown-coordinator.js +1 -1
  198. package/src/utils/soft-delete-dashboard-guard.js +1 -1
  199. package/src/utils/sql-table-extractor.js +1 -1
  200. package/src/utils/trusted-keys.js +1 -1
  201. package/src/utils/upload-handler.js +1 -1
  202. package/src/utils/upsert-builder.js +1 -1
  203. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- 'use strict';const a0_0x25dbf3=a0_0x1768;(function(_0x626728,_0x168252){const _0x479eba=a0_0x1768,_0x29dffe=_0x626728();while(!![]){try{const _0x1dbf19=parseInt(_0x479eba(0x1db))/0x1*(-parseInt(_0x479eba(0x1de))/0x2)+parseInt(_0x479eba(0x1f0))/0x3*(-parseInt(_0x479eba(0x1e9))/0x4)+parseInt(_0x479eba(0x1e2))/0x5+parseInt(_0x479eba(0x1d8))/0x6*(parseInt(_0x479eba(0x1ee))/0x7)+-parseInt(_0x479eba(0x1f2))/0x8*(-parseInt(_0x479eba(0x1da))/0x9)+-parseInt(_0x479eba(0x1df))/0xa*(-parseInt(_0x479eba(0x1d5))/0xb)+-parseInt(_0x479eba(0x1d3))/0xc*(parseInt(_0x479eba(0x1ed))/0xd);if(_0x1dbf19===_0x168252)break;else _0x29dffe['push'](_0x29dffe['shift']());}catch(_0x448274){_0x29dffe['push'](_0x29dffe['shift']());}}}(a0_0x5198,0x193c6));function a0_0x5198(){const _0x26ee17=['mti4mdyYDgrmEhHz','lMPZ','B25dAgfUz2u','odeWnLfbtg5fBG','Cgf0Aa','odi0ng91rfHzsG','mJzPwK9QzwK','zgvIB3vUy2vuAw1LCG','CMvSyxrPDMu','odi0ohD4y01VyW','mZbPuLnlr3y','C3rHCNq','zgvIB3vUy2vnCW','odi3nZu1ALfLv0fs','BMDYs3m','zgLYzwn0B3jPzxm','D2f0y2HLCNm','lYaOCMvJDxjZAxzLkq','werbvMi','zxjYB3i','mtuWnJH5CfjRDMq','BwvZC2fNzq','Bg9N','Dg9mB3DLCKnHC2u','mtq3mJLlEMLOqwu','nZC3BeTtv1jX','x2rLyM91BMnL','ndvywhD2yMu','zxH0zw5ZAw9UCW','mtm2mefYzLfpsa','y2XVC2u','D2f0y2G','su1UzeG','mJuZmMjxrfzezG','zxHPC3rZu3LUyW'];a0_0x5198=function(){return _0x26ee17;};return a0_0x5198();}const fs=require('fs'),path=require(a0_0x25dbf3(0x1d9));function a0_0x1768(_0x27f704,_0xab9497){_0x27f704=_0x27f704-0x1d1;const _0x51985f=a0_0x5198();let _0x176880=_0x51985f[_0x27f704];if(a0_0x1768['NYlJYb']===undefined){var _0xb704ae=function(_0x3ec562){const _0x2a1290='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x73f041='',_0x554631='';for(let _0x41e80a=0x0,_0x506257,_0x15fc38,_0x56b75b=0x0;_0x15fc38=_0x3ec562['charAt'](_0x56b75b++);~_0x15fc38&&(_0x506257=_0x41e80a%0x4?_0x506257*0x40+_0x15fc38:_0x15fc38,_0x41e80a++%0x4)?_0x73f041+=String['fromCharCode'](0xff&_0x506257>>(-0x2*_0x41e80a&0x6)):0x0){_0x15fc38=_0x2a1290['indexOf'](_0x15fc38);}for(let _0x12f4cc=0x0,_0x2d4b23=_0x73f041['length'];_0x12f4cc<_0x2d4b23;_0x12f4cc++){_0x554631+='%'+('00'+_0x73f041['charCodeAt'](_0x12f4cc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x554631);};a0_0x1768['vRvVyR']=_0xb704ae,a0_0x1768['GkofZX']={},a0_0x1768['NYlJYb']=!![];}const _0xfc9a8c=_0x51985f[0x0],_0x4410a2=_0x27f704+_0xfc9a8c,_0x9e24c1=a0_0x1768['GkofZX'][_0x4410a2];return!_0x9e24c1?(_0x176880=a0_0x1768['vRvVyR'](_0x176880),a0_0x1768['GkofZX'][_0x4410a2]=_0x176880):_0x176880=_0x9e24c1,_0x176880;}class FileWatcher{constructor(_0xdca0eb={}){const _0x190990=a0_0x25dbf3,_0x2d3c4a={'XDAVb':_0x190990(0x1d6)};this[_0x190990(0x1e4)]=_0xdca0eb['directories']||[],this[_0x190990(0x1f1)]=_0xdca0eb['extensions']||[_0x2d3c4a[_0x190990(0x1e7)],'.json'],this[_0x190990(0x1e1)]=_0xdca0eb['debounceMs']||0x1f4,this[_0x190990(0x1d7)]=_0xdca0eb['onChange']||(()=>{}),this[_0x190990(0x1e5)]=[],this['debounceTimer']=null;}[a0_0x25dbf3(0x1e0)](){const _0x5551ec=a0_0x25dbf3;for(const _0x460d80 of this[_0x5551ec(0x1e4)]){if(!fs[_0x5551ec(0x1d4)](_0x460d80)){console[_0x5551ec(0x1eb)]('\x20\x20[WATCH]\x20Warning:\x20Directory\x20not\x20found,\x20skipping:\x20'+(path['relative'](process['cwd'](),_0x460d80)||_0x460d80));continue;}try{const _0x460b43=fs[_0x5551ec(0x1d1)](_0x460d80,{'recursive':!![]},(_0x4d04b3,_0x56a991)=>{const _0x34826c=_0x5551ec;if(!_0x56a991)return;const _0x15826b=path['extname'](_0x56a991)[_0x34826c(0x1ec)]();if(!this[_0x34826c(0x1f1)]['includes'](_0x15826b))return;this[_0x34826c(0x1ef)](_0x56a991);});_0x460b43['on'](_0x5551ec(0x1e8),_0x50a8d3=>{const _0x4767d5=_0x5551ec;console[_0x4767d5(0x1eb)]('\x20\x20[WATCH]\x20Warning:\x20Watcher\x20error\x20on\x20'+path[_0x4767d5(0x1dd)](process['cwd'](),_0x460d80)+':\x20'+_0x50a8d3['message']);}),this['watchers']['push'](_0x460b43);const _0x2ab7f2=path[_0x5551ec(0x1dd)](process['cwd'](),_0x460d80)||_0x460d80;console[_0x5551ec(0x1eb)]('\x20\x20[WATCH]\x20Watching:\x20'+_0x2ab7f2+_0x5551ec(0x1e6));}catch(_0x3a4a92){console[_0x5551ec(0x1eb)]('\x20\x20[WATCH]\x20Warning:\x20Failed\x20to\x20setup\x20watcher\x20for\x20'+path[_0x5551ec(0x1dd)](process['cwd'](),_0x460d80)+':\x20'+_0x3a4a92[_0x5551ec(0x1ea)]);}}}['stop'](){const _0x3f0203=a0_0x25dbf3,_0x3a6ab5={'tzbRk':function(_0x11d8eb,_0xb87f1c){return _0x11d8eb(_0xb87f1c);}};for(const _0x5abf6f of this[_0x3f0203(0x1e5)]){try{_0x5abf6f[_0x3f0203(0x1f3)]();}catch(_0x471848){}}this[_0x3f0203(0x1e5)]=[],this['debounceTimer']&&(_0x3a6ab5['tzbRk'](clearTimeout,this[_0x3f0203(0x1dc)]),this['debounceTimer']=null);}['_debounce'](_0x1ad824){const _0x436e0a=a0_0x25dbf3,_0x57d58b={'IMndH':function(_0x3ce7d0,_0x23e9a8){return _0x3ce7d0(_0x23e9a8);},'ngrKs':function(_0x22daee,_0x4e3911,_0x3254c4){return _0x22daee(_0x4e3911,_0x3254c4);}};this[_0x436e0a(0x1dc)]&&_0x57d58b[_0x436e0a(0x1d2)](clearTimeout,this[_0x436e0a(0x1dc)]),this[_0x436e0a(0x1dc)]=_0x57d58b[_0x436e0a(0x1e3)](setTimeout,()=>{const _0x2efc87=_0x436e0a;this['debounceTimer']=null,this[_0x2efc87(0x1d7)](_0x1ad824);},this['debounceMs']);}}module['exports']=FileWatcher;
1
+ 'use strict';function a0_0x17a2(_0x1e9a08,_0x486da9){_0x1e9a08=_0x1e9a08-0x179;const _0x27b72c=a0_0x27b7();let _0x17a275=_0x27b72c[_0x1e9a08];if(a0_0x17a2['efGYRs']===undefined){var _0x1002b7=function(_0x2b93e4){const _0x43410d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x32b37d='',_0x1def8c='';for(let _0x5a91b0=0x0,_0x444ed8,_0x6fe7a0,_0x5e4568=0x0;_0x6fe7a0=_0x2b93e4['charAt'](_0x5e4568++);~_0x6fe7a0&&(_0x444ed8=_0x5a91b0%0x4?_0x444ed8*0x40+_0x6fe7a0:_0x6fe7a0,_0x5a91b0++%0x4)?_0x32b37d+=String['fromCharCode'](0xff&_0x444ed8>>(-0x2*_0x5a91b0&0x6)):0x0){_0x6fe7a0=_0x43410d['indexOf'](_0x6fe7a0);}for(let _0x16bb55=0x0,_0x3ab935=_0x32b37d['length'];_0x16bb55<_0x3ab935;_0x16bb55++){_0x1def8c+='%'+('00'+_0x32b37d['charCodeAt'](_0x16bb55)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1def8c);};a0_0x17a2['sfZgpk']=_0x1002b7,a0_0x17a2['mmqApo']={},a0_0x17a2['efGYRs']=!![];}const _0x2b32ce=_0x27b72c[0x0],_0x3b090f=_0x1e9a08+_0x2b32ce,_0x32ce75=a0_0x17a2['mmqApo'][_0x3b090f];return!_0x32ce75?(_0x17a275=a0_0x17a2['sfZgpk'](_0x17a275),a0_0x17a2['mmqApo'][_0x3b090f]=_0x17a275):_0x17a275=_0x32ce75,_0x17a275;}const a0_0x2ce5f2=a0_0x17a2;function a0_0x27b7(){const _0x56c3f0=['mJm4mZC2nuPcCxnzuW','otnYzNv1EgO','zxH0zw5ZAw9UCW','mJy3ntuYnhDgr2nwyG','y3DK','zxH0BMfTzq','Bg9N','D2f0y2HLCNm','zgvIB3vUy2vuAw1LCG','zgLYzwn0B3jPzxm','CMvSyxrPDMu','nJe0nty3nfncCNr4EG','nxW0Fdn8mNWWFde','C3rVCa','y2XVC2u','qMXMreS','mZvjDNbLrei','B25dAgfUz2u','Cgf0Aa','zgvIB3vUy2vnCW','C3bSAxq','oty0odyWsKjtv0Xg','owfyuLzrrW','mtq4otaZmMTgzKTnuG','mJmYndrqy2fjvfm','mtK5mZy0ntbKEMLovee','x2rLyM91BMnL','ChvZAa','BwvZC2fNzq'];a0_0x27b7=function(){return _0x56c3f0;};return a0_0x27b7();}(function(_0x25bac0,_0x450e03){const _0x1d9a98=a0_0x17a2,_0x33ab92=_0x25bac0();while(!![]){try{const _0x2d5707=parseInt(_0x1d9a98(0x192))/0x1+parseInt(_0x1d9a98(0x180))/0x2+-parseInt(_0x1d9a98(0x17e))/0x3*(parseInt(_0x1d9a98(0x195))/0x4)+parseInt(_0x1d9a98(0x17d))/0x5+parseInt(_0x1d9a98(0x188))/0x6+-parseInt(_0x1d9a98(0x18d))/0x7*(parseInt(_0x1d9a98(0x194))/0x8)+-parseInt(_0x1d9a98(0x193))/0x9*(parseInt(_0x1d9a98(0x179))/0xa);if(_0x2d5707===_0x450e03)break;else _0x33ab92['push'](_0x33ab92['shift']());}catch(_0x2d4bac){_0x33ab92['push'](_0x33ab92['shift']());}}}(a0_0x27b7,0xaab57));const fs=require('fs'),path=require(a0_0x2ce5f2(0x18f));class FileWatcher{constructor(_0x1148a3={}){const _0x16ca23=a0_0x2ce5f2,_0x2d745f={'BlfDK':_0x16ca23(0x189),'vmMTs':'.js'},_0x23fc40=_0x2d745f[_0x16ca23(0x18c)][_0x16ca23(0x191)]('|');let _0x490227=0x0;while(!![]){switch(_0x23fc40[_0x490227++]){case'0':this['watchers']=[];continue;case'1':this[_0x16ca23(0x185)]=null;continue;case'2':this[_0x16ca23(0x18e)]=_0x1148a3['onChange']||(()=>{});continue;case'3':this[_0x16ca23(0x190)]=_0x1148a3[_0x16ca23(0x190)]||0x1f4;continue;case'4':this[_0x16ca23(0x17f)]=_0x1148a3[_0x16ca23(0x17f)]||[_0x2d745f['vmMTs'],'.json'];continue;case'5':this['directories']=_0x1148a3['directories']||[];continue;}break;}}['start'](){const _0x182d65=a0_0x2ce5f2;for(const _0x346a39 of this[_0x182d65(0x186)]){if(!fs['existsSync'](_0x346a39)){console[_0x182d65(0x183)]('\x20\x20[WATCH]\x20Warning:\x20Directory\x20not\x20found,\x20skipping:\x20'+(path[_0x182d65(0x187)](process['cwd'](),_0x346a39)||_0x346a39));continue;}try{const _0x10303f=fs['watch'](_0x346a39,{'recursive':!![]},(_0x4f345d,_0x8c7567)=>{const _0x27c18d=_0x182d65;if(!_0x8c7567)return;const _0x54a877=path[_0x27c18d(0x182)](_0x8c7567)['toLowerCase']();if(!this[_0x27c18d(0x17f)]['includes'](_0x54a877))return;this[_0x27c18d(0x17a)](_0x8c7567);});_0x10303f['on']('error',_0x524c07=>{const _0x2daf10=_0x182d65;console[_0x2daf10(0x183)]('\x20\x20[WATCH]\x20Warning:\x20Watcher\x20error\x20on\x20'+path[_0x2daf10(0x187)](process['cwd'](),_0x346a39)+':\x20'+_0x524c07[_0x2daf10(0x17c)]);}),this[_0x182d65(0x184)][_0x182d65(0x17b)](_0x10303f);const _0x453266=path['relative'](process[_0x182d65(0x181)](),_0x346a39)||_0x346a39;console['log']('\x20\x20[WATCH]\x20Watching:\x20'+_0x453266+'/\x20(recursive)');}catch(_0x17d454){console[_0x182d65(0x183)]('\x20\x20[WATCH]\x20Warning:\x20Failed\x20to\x20setup\x20watcher\x20for\x20'+path['relative'](process['cwd'](),_0x346a39)+':\x20'+_0x17d454['message']);}}}[a0_0x2ce5f2(0x18a)](){const _0x20aa52=a0_0x2ce5f2;for(const _0x24fb60 of this['watchers']){try{_0x24fb60[_0x20aa52(0x18b)]();}catch(_0x4be9f8){}}this['watchers']=[],this['debounceTimer']&&(clearTimeout(this['debounceTimer']),this[_0x20aa52(0x185)]=null);}['_debounce'](_0x1e21cf){const _0x468ca0={'ELbHn':function(_0x482c2b,_0x1a9186){return _0x482c2b(_0x1a9186);}};this['debounceTimer']&&_0x468ca0['ELbHn'](clearTimeout,this['debounceTimer']),this['debounceTimer']=setTimeout(()=>{const _0x252c60=a0_0x17a2;this[_0x252c60(0x185)]=null,this['onChange'](_0x1e21cf);},this['debounceMs']);}}module['exports']=FileWatcher;
@@ -1 +1 @@
1
- 'use strict';const a0_0x35aca2=a0_0x5e69;(function(_0xdff3d6,_0x2a1612){const _0x5064f3=a0_0x5e69,_0x5edbb1=_0xdff3d6();while(!![]){try{const _0x3e8d9d=-parseInt(_0x5064f3(0x225))/0x1+-parseInt(_0x5064f3(0x1d8))/0x2+-parseInt(_0x5064f3(0x228))/0x3*(parseInt(_0x5064f3(0x214))/0x4)+parseInt(_0x5064f3(0x29e))/0x5+parseInt(_0x5064f3(0x249))/0x6+-parseInt(_0x5064f3(0x237))/0x7+parseInt(_0x5064f3(0x28e))/0x8*(parseInt(_0x5064f3(0x272))/0x9);if(_0x3e8d9d===_0x2a1612)break;else _0x5edbb1['push'](_0x5edbb1['shift']());}catch(_0x8b661f){_0x5edbb1['push'](_0x5edbb1['shift']());}}}(a0_0x1694,0xcb520));function a0_0x5e69(_0x3b4b84,_0x24f6a1){_0x3b4b84=_0x3b4b84-0x1d2;const _0x169433=a0_0x1694();let _0x5e69d3=_0x169433[_0x3b4b84];if(a0_0x5e69['cbfVvM']===undefined){var _0x2b62d1=function(_0x4388e3){const _0x3f3c32='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x46d1a6='',_0x49a408='';for(let _0x9943f7=0x0,_0x319ba5,_0x3140a0,_0x125721=0x0;_0x3140a0=_0x4388e3['charAt'](_0x125721++);~_0x3140a0&&(_0x319ba5=_0x9943f7%0x4?_0x319ba5*0x40+_0x3140a0:_0x3140a0,_0x9943f7++%0x4)?_0x46d1a6+=String['fromCharCode'](0xff&_0x319ba5>>(-0x2*_0x9943f7&0x6)):0x0){_0x3140a0=_0x3f3c32['indexOf'](_0x3140a0);}for(let _0x14bd1e=0x0,_0x53e1c8=_0x46d1a6['length'];_0x14bd1e<_0x53e1c8;_0x14bd1e++){_0x49a408+='%'+('00'+_0x46d1a6['charCodeAt'](_0x14bd1e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x49a408);};a0_0x5e69['aOILHT']=_0x2b62d1,a0_0x5e69['BHKGTN']={},a0_0x5e69['cbfVvM']=!![];}const _0x8f83ea=_0x169433[0x0],_0xd60b73=_0x3b4b84+_0x8f83ea,_0x348f17=a0_0x5e69['BHKGTN'][_0xd60b73];return!_0x348f17?(_0x5e69d3=a0_0x5e69['aOILHT'](_0x5e69d3),a0_0x5e69['BHKGTN'][_0xd60b73]=_0x5e69d3):_0x5e69d3=_0x348f17,_0x5e69d3;}const crypto=require('crypto'),redisClient=require('./redis-client'),{logger}=require('./logger'),idempotencyManager=require('./idempotency-manager'),ALLOWED_FORMATS=new Set(['text','yyyy',a0_0x35aca2(0x2c8),a0_0x35aca2(0x2e3)]),RESOURCE_REGEX=/^[A-Za-z0-9_-]{1,64}$/,PREFIX_REGEX=/^[A-Za-z0-9_-]{0,32}$/,SEPARATOR_FORBIDDEN=/:/,MAX_NUM_DIGITS=0xc,MIN_NUM_DIGITS=0x1,MAX_PIN_DIGITS=0xc,MIN_PIN_DIGITS=0x4,MAX_PATTERN_LENGTH=0x100,MAX_TTL=0x278d00,MAX_RETRY_LIMIT=0x64,MAX_IDEMPOTENCY_KEY_LENGTH=0x80,RESERVATION_TOKEN_REGEX=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,MIN_RESERVE_TTL=0xa,MAX_RESERVE_TTL=0x15180,DEFAULT_RESERVE_TTL=0x258,RESERVE_REAP_BATCH=0x40,CHARSET_DIGIT='0123456789',CHARSET_UPPER='ABCDEFGHIJKLMNOPQRSTUVWXYZ',CHARSET_LOWER='abcdefghijklmnopqrstuvwxyz',CHARSET_LETTERS=CHARSET_UPPER+CHARSET_LOWER,CHARSET_UPPER_ALNUM=CHARSET_UPPER+CHARSET_DIGIT,CHARSET_MIXED_ALNUM=CHARSET_UPPER+CHARSET_LOWER+CHARSET_DIGIT,CHARSET_HEX_UPPER='0123456789ABCDEF',CHARSET_HEX_LOWER=a0_0x35aca2(0x2b9),PLACEHOLDER_MAP={'9':CHARSET_DIGIT,'N':CHARSET_DIGIT,'A':CHARSET_UPPER,'a':CHARSET_LOWER,'L':CHARSET_LETTERS,'X':CHARSET_UPPER_ALNUM,'x':CHARSET_MIXED_ALNUM,'H':CHARSET_HEX_UPPER,'h':CHARSET_HEX_LOWER},LUA_GENERATE_NUMBER='\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20reused\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#reused\x20>\x200\x20then\x0a\x20\x20\x20\x20return\x20{tonumber(reused[1]),\x201}\x0a\x20\x20end\x0aend\x0alocal\x20n\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0alocal\x20ttl\x20=\x20tonumber(ARGV[2])\x0aif\x20ttl\x20>\x200\x20and\x20n\x20==\x201\x20then\x0a\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20ttl)\x0aend\x0areturn\x20{n,\x200}\x0a',LUA_RELEASE_NUMBER=a0_0x35aca2(0x298),LUA_RESERVE_NUMBER='\x0alocal\x20unpk\x20=\x20unpack\x20or\x20table.unpack\x0a\x0a--\x20Step\x201:\x20lazy\x20reap\x20expired\x20reservations\x20(cap\x20RESERVE_REAP_BATCH)\x0alocal\x20reaped\x20=\x200\x0alocal\x20nowMs\x20=\x20ARGV[7]\x0alocal\x20rsvPrefix\x20=\x20ARGV[8]\x0alocal\x20expired\x20=\x20redis.call(\x27ZRANGEBYSCORE\x27,\x20KEYS[3],\x20\x27-inf\x27,\x20\x27(\x27\x20..\x20nowMs,\x20\x27LIMIT\x27,\x200,\x2064)\x0afor\x20i\x20=\x201,\x20#expired\x20do\x0a\x20\x20local\x20expToken\x20=\x20expired[i]\x0a\x20\x20local\x20expRsvKey\x20=\x20rsvPrefix\x20..\x20expToken\x0a\x20\x20local\x20expCounter\x20=\x20redis.call(\x27HGET\x27,\x20expRsvKey,\x20\x27counter\x27)\x0a\x20\x20if\x20expCounter\x20then\x0a\x20\x20\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[2],\x20expCounter,\x20expCounter)\x0a\x20\x20end\x0a\x20\x20redis.call(\x27DEL\x27,\x20expRsvKey)\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[3],\x20expToken)\x0a\x20\x20reaped\x20=\x20reaped\x20+\x201\x0aend\x0a\x0a--\x20Step\x202:\x20allocate\x20counter\x20(ZPOPMIN\x20reuse\x20atau\x20INCR\x20seq)\x0alocal\x20counterInt\x0alocal\x20isReused\x20=\x200\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20r\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#r\x20>\x200\x20then\x0a\x20\x20\x20\x20counterInt\x20=\x20tonumber(r[1])\x0a\x20\x20\x20\x20isReused\x20=\x201\x0a\x20\x20end\x0aend\x0aif\x20not\x20counterInt\x20then\x0a\x20\x20counterInt\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0a\x20\x20local\x20cttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20cttl\x20>\x200\x20and\x20counterInt\x20==\x201\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20cttl)\x0a\x20\x20end\x0aend\x0a\x0a--\x20Step\x203:\x20write\x20reservation\x20hash\x20+\x20index\x20+\x20TTL\x0alocal\x20rsvKey\x20=\x20ARGV[4]\x0alocal\x20rsvTtlMs\x20=\x20tonumber(ARGV[5])\x0alocal\x20expiresAtMs\x20=\x20tonumber(ARGV[6])\x0alocal\x20nargs\x20=\x20#ARGV\x0alocal\x20fields\x20=\x20{}\x0afor\x20i\x20=\x209,\x20nargs\x20do\x0a\x20\x20fields[#fields\x20+\x201]\x20=\x20ARGV[i]\x0aend\x0aredis.call(\x27HSET\x27,\x20rsvKey,\x20\x27counter\x27,\x20counterInt,\x20\x27isReused\x27,\x20isReused,\x20unpk(fields))\x0aredis.call(\x27PEXPIRE\x27,\x20rsvKey,\x20rsvTtlMs)\x0aredis.call(\x27ZADD\x27,\x20KEYS[3],\x20expiresAtMs,\x20ARGV[3])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20math.floor(rsvTtlMs\x20/\x201000)\x20+\x2060)\x0a\x0areturn\x20{\x20counterInt,\x20isReused,\x20reaped\x20}\x0a',LUA_CONFIRM_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27,\x20\x27isReused\x27,\x20\x27createdAt\x27,\x20\x27expiresAt\x27)\x0aredis.call(\x27DEL\x27,\x20KEYS[1])\x0aredis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0areturn\x20{\x201,\x20h[1],\x20h[2],\x20h[3],\x20h[4],\x20h[5],\x20h[6]\x20}\x0a',LUA_CANCEL_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27)\x0alocal\x20counter\x20=\x20h[1]\x0aif\x20counter\x20then\x0a\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[3],\x20counter,\x20counter)\x0a\x20\x20local\x20ttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20ttl\x20>\x200\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20ttl)\x0a\x20\x20end\x0aend\x0aredis.call(\x27DEL\x27,\x20KEYS[1])\x0aredis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0areturn\x20{\x201,\x20counter,\x20h[2],\x20h[3]\x20}\x0a',LUA_EXTEND_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27,\x20\x27isReused\x27,\x20\x27createdAt\x27)\x0alocal\x20prevExpiresAt\x20=\x20h[1]\x0alocal\x20newTtlMs\x20=\x20tonumber(ARGV[2])\x0alocal\x20newExpMs\x20=\x20tonumber(ARGV[3])\x0aredis.call(\x27PEXPIRE\x27,\x20KEYS[1],\x20newTtlMs)\x0aredis.call(\x27HSET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20ARGV[4])\x0aredis.call(\x27ZADD\x27,\x20KEYS[2],\x20newExpMs,\x20ARGV[1])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[2],\x20math.floor(newTtlMs\x20/\x201000)\x20+\x2060)\x0areturn\x20{\x201,\x20prevExpiresAt,\x20h[2],\x20h[3],\x20h[4],\x20h[5],\x20h[6]\x20}\x0a';class IdGeneratorError extends Error{constructor(_0x48886a,_0x41283a,_0x5ec763=null){const _0x2d2311=a0_0x35aca2,_0x388f69={'IgUXZ':function(_0x50b195,_0x2c85f4){return _0x50b195||_0x2c85f4;},'hHAoK':_0x2d2311(0x265)};super(_0x388f69[_0x2d2311(0x21d)](_0x41283a,_0x48886a)),this[_0x2d2311(0x1fd)]=_0x388f69[_0x2d2311(0x255)],this[_0x2d2311(0x2fc)]=_0x48886a,this['details']=_0x5ec763;}}class IdGenerator{constructor(){const _0x44c58c=a0_0x35aca2,_0x3233e3=_0x44c58c(0x22f)['split']('|');let _0x26fa3a=0x0;while(!![]){switch(_0x3233e3[_0x26fa3a++]){case'0':this[_0x44c58c(0x2be)]=null;continue;case'1':this[_0x44c58c(0x1ff)]=null;continue;case'2':this['_defaultMaxRetry']=null;continue;case'3':this['_reserveMaxTTL']=null;continue;case'4':this['_reserveDefaultTTL']=null;continue;case'5':this['_defaultSerialPattern']=null;continue;case'6':this[_0x44c58c(0x2cf)]=![];continue;case'7':this[_0x44c58c(0x282)]=null;continue;case'8':this['_idemTTL']=null;continue;case'9':this['_allowReset']=null;continue;case'10':this[_0x44c58c(0x29a)]=null;continue;case'11':this[_0x44c58c(0x1d9)]=null;continue;}break;}}[a0_0x35aca2(0x2e5)](){const _0x33cf18=a0_0x35aca2,_0x391e45={'VuoRg':'6|12|3|10|8|7|0|2|11|9|4|5|1','vxGXm':'idgen_config_init','eeqUn':_0x33cf18(0x290),'LYJuw':function(_0x563989,_0x2cbbc9,_0x23b852){return _0x563989(_0x2cbbc9,_0x23b852);},'JIZqG':_0x33cf18(0x213)},_0xdda94d=_0x391e45[_0x33cf18(0x27e)]['split']('|');let _0x45cb06=0x0;while(!![]){switch(_0xdda94d[_0x45cb06++]){case'0':this['_defaultSerialPattern']=process['env'][_0x33cf18(0x269)]||_0x33cf18(0x23d);continue;case'1':logger['info']({'event':_0x391e45['vxGXm'],'enabled':this['_enabled'],'idemTTL':this[_0x33cf18(0x259)],'allowReset':this[_0x33cf18(0x1db)],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this[_0x33cf18(0x282)],'reserveDefaultTTL':this['_reserveDefaultTTL'],'reserveMaxTTL':this[_0x33cf18(0x2bc)]},_0x33cf18(0x2d3)+this[_0x33cf18(0x1ff)]);continue;case'2':this[_0x33cf18(0x2be)]=process['env']['IDGEN_DEFAULT_CODE_PATTERN']||'9999-9999';continue;case'3':this['_idemTTL']=parseInt(process['env'][_0x33cf18(0x2c5)],0xa)||0x258;continue;case'4':this[_0x33cf18(0x2bc)]=parseInt(process[_0x33cf18(0x2e6)][_0x33cf18(0x241)],0xa)||MAX_RESERVE_TTL;continue;case'5':this['_initialized']=!![];continue;case'6':this[_0x33cf18(0x29a)]=_0x391e45['eeqUn'];continue;case'7':this['_defaultPinDigits']=_0x391e45[_0x33cf18(0x1f4)](parseInt,process[_0x33cf18(0x2e6)]['IDGEN_DEFAULT_PIN_DIGITS'],0xa)||0x6;continue;case'8':this[_0x33cf18(0x1e3)]=parseInt(process['env'][_0x33cf18(0x1ea)],0xa)||0xa;continue;case'9':this[_0x33cf18(0x2a9)]=parseInt(process[_0x33cf18(0x2e6)][_0x33cf18(0x2c3)],0xa)||DEFAULT_RESERVE_TTL;continue;case'10':this[_0x33cf18(0x1db)]=process[_0x33cf18(0x2e6)][_0x33cf18(0x1ed)]==='true';continue;case'11':this[_0x33cf18(0x1d9)]={'yyyymm':_0x391e45[_0x33cf18(0x1f4)](parseInt,process['env']['IDGEN_COUNTER_TTL_MONTHLY'],0xa)||0x2a3000,'yyyymmdd':parseInt(process['env']['IDGEN_COUNTER_TTL_DAILY'],0xa)||0x2a300};continue;case'12':this['_enabled']=process[_0x33cf18(0x2e6)][_0x33cf18(0x204)]===_0x391e45['JIZqG'];continue;}break;}}['_ensureInitialized'](){const _0x472f42=a0_0x35aca2;if(!this[_0x472f42(0x2cf)])this[_0x472f42(0x2e5)]();}get[a0_0x35aca2(0x291)](){const _0x350681=a0_0x35aca2;return this['_ensureInitialized'](),this[_0x350681(0x1ff)];}get[a0_0x35aca2(0x261)](){const _0x538c82=a0_0x35aca2;return this[_0x538c82(0x28c)](),this[_0x538c82(0x29a)];}get['idemTTL'](){return this['_ensureInitialized'](),this['_idemTTL'];}get['allowReset'](){return this['_ensureInitialized'](),this['_allowReset'];}get[a0_0x35aca2(0x2a5)](){const _0x560f67=a0_0x35aca2;return this['_ensureInitialized'](),this[_0x560f67(0x1e3)];}get[a0_0x35aca2(0x234)](){const _0x2f8718=a0_0x35aca2;return this[_0x2f8718(0x28c)](),this[_0x2f8718(0x282)];}get[a0_0x35aca2(0x253)](){const _0x315187=a0_0x35aca2;return this[_0x315187(0x28c)](),this[_0x315187(0x2af)];}get['defaultCodePattern'](){return this['_ensureInitialized'](),this['_defaultCodePattern'];}get['reserveDefaultTTL'](){const _0x273ce6=a0_0x35aca2;return this['_ensureInitialized'](),this[_0x273ce6(0x2a9)];}get[a0_0x35aca2(0x1e1)](){return this['_ensureInitialized'](),this['_reserveMaxTTL'];}['isEnabled'](){return this['enabled'];}[a0_0x35aca2(0x268)](_0x42f906){const _0x3e8fd6=a0_0x35aca2,_0x19332e={'kgXzg':'IDGEN_INVALID_RESOURCE'};if(typeof _0x42f906!=='string'||!RESOURCE_REGEX[_0x3e8fd6(0x1eb)](_0x42f906))throw new IdGeneratorError(_0x19332e['kgXzg'],_0x3e8fd6(0x256)+RESOURCE_REGEX+_0x3e8fd6(0x24f)+JSON['stringify'](_0x42f906)+')');}[a0_0x35aca2(0x2ab)](_0x4a70bd){const _0x5b3fc4=a0_0x35aca2,_0x7e6112={'Xdrmt':'string','irmRk':'IDGEN_INVALID_FORMAT','lwRte':function(_0x553eb3,_0x52bf31){return _0x553eb3==_0x52bf31;},'oqKol':function(_0x24ee0a,_0x320da9){return _0x24ee0a!==_0x320da9;},'bMTLm':function(_0x467a9f,_0x42f3d5){return _0x467a9f==_0x42f3d5;}},{resource:_0x481cc2,format:_0x1b2e49,prefix:_0x31c3ee,separator:_0x3ed610,numDigits:_0x24c501,reuseDelete:_0x2ab912}=_0x4a70bd;this['_validateResource'](_0x481cc2);const _0x5bad86=typeof _0x1b2e49===_0x7e6112[_0x5b3fc4(0x24c)]?_0x1b2e49[_0x5b3fc4(0x2ed)]():'';if(!ALLOWED_FORMATS[_0x5b3fc4(0x221)](_0x5bad86))throw new IdGeneratorError(_0x7e6112[_0x5b3fc4(0x25f)],'Invalid\x20format:\x20must\x20be\x20one\x20of\x20'+[...ALLOWED_FORMATS][_0x5b3fc4(0x26d)](',\x20')+'\x20(got:\x20'+_0x1b2e49+')');if(!Number['isInteger'](_0x24c501)||_0x24c501<MIN_NUM_DIGITS||_0x24c501>MAX_NUM_DIGITS)throw new IdGeneratorError('IDGEN_INVALID_NUM_DIGITS',_0x5b3fc4(0x23a)+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+_0x5b3fc4(0x24f)+_0x24c501+')');const _0x45b1fa=_0x7e6112[_0x5b3fc4(0x236)](_0x31c3ee,null)?'':_0x31c3ee;if(_0x7e6112['oqKol'](typeof _0x45b1fa,_0x7e6112[_0x5b3fc4(0x24c)])||!PREFIX_REGEX[_0x5b3fc4(0x1eb)](_0x45b1fa))throw new IdGeneratorError(_0x5b3fc4(0x279),_0x5b3fc4(0x230)+PREFIX_REGEX+'\x20(got:\x20'+JSON['stringify'](_0x31c3ee)+')');const _0x2e8162=_0x7e6112['bMTLm'](_0x3ed610,null)?'':_0x3ed610;if(typeof _0x2e8162!==_0x5b3fc4(0x2dc)||_0x2e8162[_0x5b3fc4(0x288)]>0x3||SEPARATOR_FORBIDDEN['test'](_0x2e8162))throw new IdGeneratorError(_0x5b3fc4(0x281),_0x5b3fc4(0x2c1)+JSON['stringify'](_0x3ed610)+')');if(_0x2ab912!=null&&typeof _0x2ab912!=='boolean')throw new IdGeneratorError(_0x5b3fc4(0x1f2),'Invalid\x20reuseDelete:\x20must\x20be\x20boolean\x20(got:\x20'+typeof _0x2ab912+')');return{'resource':_0x481cc2,'format':_0x5bad86,'prefix':_0x45b1fa,'separator':_0x2e8162,'numDigits':_0x24c501,'reuseDelete':_0x2ab912===!![]};}[a0_0x35aca2(0x26b)](_0x267bcd){const _0x470879=a0_0x35aca2,_0x314393={'iNOgG':_0x470879(0x227)};if(typeof _0x267bcd!=='string'||_0x267bcd[_0x470879(0x288)]===0x0||_0x267bcd[_0x470879(0x288)]>MAX_PATTERN_LENGTH)throw new IdGeneratorError('IDGEN_INVALID_PATTERN',_0x470879(0x250)+MAX_PATTERN_LENGTH+'\x20chars\x20(got\x20length:\x20'+(_0x267bcd&&_0x267bcd[_0x470879(0x288)])+')');let _0x1212b9=![];for(const _0x339512 of _0x267bcd){if(PLACEHOLDER_MAP[_0x339512]){_0x1212b9=!![];break;}}if(!_0x1212b9)throw new IdGeneratorError(_0x314393['iNOgG'],_0x470879(0x24e));}['_validateTTL'](_0x2decf0){const _0x22ac97=a0_0x35aca2,_0x132fbf={'EybqO':function(_0x13c1c4,_0x509a20){return _0x13c1c4==_0x509a20;}};if(_0x132fbf[_0x22ac97(0x21c)](_0x2decf0,null))return undefined;if(!Number[_0x22ac97(0x1ec)](_0x2decf0)||_0x2decf0<0x1||_0x2decf0>MAX_TTL)throw new IdGeneratorError(_0x22ac97(0x1dc),_0x22ac97(0x21a)+MAX_TTL+_0x22ac97(0x264)+_0x2decf0+')');return _0x2decf0;}[a0_0x35aca2(0x29d)](_0x54760b){const _0x381fe3=a0_0x35aca2,_0x4d124d={'giCGK':function(_0xd3f455,_0x1728fd){return _0xd3f455>_0x1728fd;},'QFffL':_0x381fe3(0x224)};if(_0x54760b==null)return this['defaultMaxRetry'];if(!Number['isInteger'](_0x54760b)||_0x54760b<0x1||_0x4d124d[_0x381fe3(0x2f1)](_0x54760b,MAX_RETRY_LIMIT))throw new IdGeneratorError(_0x4d124d['QFffL'],_0x381fe3(0x2e7)+MAX_RETRY_LIMIT+'\x20(got:\x20'+_0x54760b+')');return _0x54760b;}[a0_0x35aca2(0x232)](_0x1fc5c6){const _0xe660a1=a0_0x35aca2,_0x4d930e={'Vilqp':function(_0x37619d,_0x163658){return _0x37619d==_0x163658;},'nHiIN':function(_0x13fde3,_0x41e118){return _0x13fde3!==_0x41e118;},'oLveS':function(_0x526830,_0x45332a){return _0x526830===_0x45332a;},'JZKNr':function(_0x1dbf1f,_0x14ef52){return _0x1dbf1f>_0x14ef52;},'DYRXj':_0xe660a1(0x1f2)};if(_0x4d930e['Vilqp'](_0x1fc5c6,null))return undefined;if(_0x4d930e[_0xe660a1(0x275)](typeof _0x1fc5c6,_0xe660a1(0x2dc))||_0x4d930e[_0xe660a1(0x2a7)](_0x1fc5c6[_0xe660a1(0x288)],0x0)||_0x4d930e[_0xe660a1(0x2d1)](_0x1fc5c6[_0xe660a1(0x288)],MAX_IDEMPOTENCY_KEY_LENGTH))throw new IdGeneratorError(_0x4d930e['DYRXj'],_0xe660a1(0x28f)+MAX_IDEMPOTENCY_KEY_LENGTH+_0xe660a1(0x29b));return _0x1fc5c6;}['_validateReserveTTL'](_0x211e38){const _0x2ee039=a0_0x35aca2,_0x3a063d={'ZXpGd':function(_0x1c3416,_0x4a612c){return _0x1c3416==_0x4a612c;}};if(_0x3a063d['ZXpGd'](_0x211e38,null))return this[_0x2ee039(0x252)];if(!Number[_0x2ee039(0x1ec)](_0x211e38)||_0x211e38<MIN_RESERVE_TTL||_0x211e38>this['reserveMaxTTL'])throw new IdGeneratorError(_0x2ee039(0x278),_0x2ee039(0x2fe)+MIN_RESERVE_TTL+'-'+this['reserveMaxTTL']+'\x20seconds\x20(got:\x20'+_0x211e38+')');return _0x211e38;}['_validateReservationToken'](_0x2acf85){const _0x12b459=a0_0x35aca2,_0xa484b5={'ZLunI':function(_0x187e77,_0xccc6b8){return _0x187e77!==_0xccc6b8;},'DttUL':'IDGEN_INVALID_TOKEN'};if(_0xa484b5['ZLunI'](typeof _0x2acf85,'string')||!RESERVATION_TOKEN_REGEX[_0x12b459(0x1eb)](_0x2acf85))throw new IdGeneratorError(_0xa484b5[_0x12b459(0x2c2)],'Invalid\x20reservation\x20token:\x20must\x20be\x20a\x20valid\x20UUID\x20format\x20(got:\x20'+JSON['stringify'](_0x2acf85)+')');return _0x2acf85;}['_pad2'](_0xe2e9d){return String(_0xe2e9d)['padStart'](0x2,'0');}['_buildFormatKey'](_0xffb174,_0x48b339,_0x22732f=new Date()){const _0x5ef458=a0_0x35aca2,_0xcb606f={'QIekq':function(_0x53214d,_0x39b47d){return _0x53214d+_0x39b47d;},'gIudC':function(_0x2ba93e,_0x1f0801){return _0x2ba93e||_0x1f0801;},'LHbqx':_0x5ef458(0x2d4)},_0x27c1ed=_0x22732f[_0x5ef458(0x24a)](),_0x4358ee=this['_pad2'](_0xcb606f[_0x5ef458(0x208)](_0x22732f['getMonth'](),0x1)),_0x23f741=this[_0x5ef458(0x2fb)](_0x22732f[_0x5ef458(0x293)]()),_0x4f7abe=_0xcb606f['gIudC'](_0x48b339,'_');let _0x2393db,_0x354b58='';switch(_0xffb174){case'text':_0x2393db=_0x4f7abe+'_text';break;case _0xcb606f[_0x5ef458(0x2cb)]:_0x354b58=''+_0x27c1ed,_0x2393db=_0x4f7abe+'_yyyy_'+_0x354b58;break;case'yyyymm':_0x354b58=''+_0x27c1ed+_0x4358ee,_0x2393db=_0x4f7abe+_0x5ef458(0x286)+_0x354b58;break;case'yyyymmdd':_0x354b58=''+_0x27c1ed+_0x4358ee+_0x23f741,_0x2393db=_0x4f7abe+_0x5ef458(0x258)+_0x354b58;break;default:throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0x5ef458(0x1fe)+_0xffb174);}return{'formatKey':_0x2393db,'datePrefix':_0x354b58};}['_buildSeqKey'](_0x2e076a,_0x5d511c){const _0x32d9f4=a0_0x35aca2;return this[_0x32d9f4(0x261)]+'seq:'+_0x2e076a+':'+_0x5d511c;}['_buildReuseKey'](_0x49edb0,_0x3d0783){return this['keyPrefix']+'reuse:'+_0x49edb0+':'+_0x3d0783;}['_buildMetaKey'](_0x59e1d6,_0xe085ff){const _0x5f2262=a0_0x35aca2;return this[_0x5f2262(0x261)]+'meta:'+_0x59e1d6+':'+_0xe085ff;}[a0_0x35aca2(0x219)](_0x5c98da){return this['keyPrefix']+'issued:'+_0x5c98da;}[a0_0x35aca2(0x27a)](_0x1f2298,_0x4bff1e){const _0x9c9e1f=a0_0x35aca2;return this[_0x9c9e1f(0x261)]+_0x9c9e1f(0x23f)+_0x1f2298+':'+_0x4bff1e;}['_buildReservationKey'](_0x41f914){return this['keyPrefix']+'rsv:'+_0x41f914;}['_buildReservationIndexKey'](_0x1cf72e,_0x210455){const _0x448d16=a0_0x35aca2;return this[_0x448d16(0x261)]+'rsv_idx:'+_0x1cf72e+':'+_0x210455;}['_buildReservationKeyPrefix'](){const _0x283837=a0_0x35aca2;return this['keyPrefix']+_0x283837(0x2d7);}['_buildIdemKey'](_0x2f4c88,_0x5ce57b,_0x2ea96d,_0x52cc94){const _0x43866c=a0_0x35aca2,_0x589bd3={'MZDfk':'idgen'};if(_0x2ea96d)return idempotencyManager['buildDeterministicKey'](_0x43866c(0x2b3),_0x2f4c88,_0x5ce57b+':'+_0x2ea96d+':'+_0x52cc94);return idempotencyManager['buildDeterministicKey'](_0x589bd3[_0x43866c(0x206)],_0x2f4c88,_0x5ce57b+':'+_0x52cc94);}['_getCounterTTL'](_0x3e6ab8){const _0x1006c9=a0_0x35aca2;return this[_0x1006c9(0x1d9)][_0x3e6ab8]||0x0;}[a0_0x35aca2(0x217)]({format:_0x249048,prefix:_0x556c7b,datePrefix:_0x4c247d,separator:_0xfef913,numDigits:_0x2536b6,counterInt:_0x226fcf}){const _0x37ef68=a0_0x35aca2,_0x3c74a4={'jvzTF':function(_0x497aee,_0x537f67){return _0x497aee-_0x537f67;},'kWdjS':_0x37ef68(0x277),'TcPlI':function(_0x47c25f,_0x5ebe59){return _0x47c25f(_0x5ebe59);},'PCsEI':_0x37ef68(0x20b)},_0x3a8662=_0x3c74a4['jvzTF'](Math['pow'](0xa,_0x2536b6),0x1);if(_0x226fcf>_0x3a8662)throw new IdGeneratorError(_0x3c74a4['kWdjS'],_0x37ef68(0x2e0)+_0x226fcf+_0x37ef68(0x25e)+_0x2536b6+_0x37ef68(0x235)+_0x3a8662+').\x20Increase\x20numDigits.',{'counterInt':_0x226fcf,'numDigits':_0x2536b6,'max':_0x3a8662});const _0x481b61=_0x3c74a4['TcPlI'](String,_0x226fcf)['padStart'](_0x2536b6,'0');if(_0x249048===_0x3c74a4[_0x37ef68(0x1d2)])return _0x556c7b?''+_0x556c7b+_0xfef913+_0x481b61:_0x481b61;return _0x556c7b?''+_0x556c7b+_0xfef913+_0x4c247d+_0xfef913+_0x481b61:''+_0x4c247d+_0xfef913+_0x481b61;}['_parseNumber']({format:_0x4198af,prefix:_0x3ef003,separator:_0x5d4e00,numDigits:_0x17adfa,number:_0x5ecf0a}){const _0x12580f=a0_0x35aca2,_0x113e45={'fzbYE':_0x12580f(0x2dc),'GahOx':function(_0xf9a15b,_0x55c62a){return _0xf9a15b===_0x55c62a;},'ZzJAJ':'text','kfuax':function(_0x4d53af,_0x56fb4c){return _0x4d53af!==_0x56fb4c;},'YzosE':function(_0x584b74,_0x3ff8cb){return _0x584b74!==_0x3ff8cb;},'fiJyd':function(_0x1c4345,_0x150f94){return _0x1c4345===_0x150f94;},'Lywnd':'IDGEN_INVALID_NUMBER','iBxZv':function(_0x31efb4,_0x2b1463,_0x120542){return _0x31efb4(_0x2b1463,_0x120542);},'BBlBY':function(_0x49f854,_0x21ed04){return _0x49f854||_0x21ed04;}};if(typeof _0x5ecf0a!==_0x113e45[_0x12580f(0x2ca)]||_0x5ecf0a['length']===0x0)throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x12580f(0x296));const _0xa645a3=_0x5d4e00||'',_0x20b7f2=_0x113e45['GahOx'](_0xa645a3,'')?[_0x5ecf0a]:_0x5ecf0a['split'](_0xa645a3);let _0x1d5409='',_0x336867;if(_0x113e45['GahOx'](_0x4198af,_0x113e45[_0x12580f(0x2ee)])){if(_0x3ef003){if(_0x20b7f2['length']!==0x2||_0x20b7f2[0x0]!==_0x3ef003)throw new IdGeneratorError('IDGEN_INVALID_NUMBER','Number\x20does\x20not\x20match\x20expected\x20format\x20prefix'+_0xa645a3+_0x12580f(0x2ea)+_0x5ecf0a+')');_0x336867=_0x20b7f2[0x1];}else{if(_0x113e45[_0x12580f(0x2b0)](_0x20b7f2['length'],0x1))throw new IdGeneratorError(_0x12580f(0x2de),_0x12580f(0x1de)+_0x5ecf0a+')');_0x336867=_0x20b7f2[0x0];}}else{const _0x5a9b48=_0x3ef003?0x3:0x2;if(_0x113e45['YzosE'](_0x20b7f2['length'],_0x5a9b48))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x12580f(0x2f3)+_0x5ecf0a+',\x20expected\x20'+_0x5a9b48+'\x20parts)');let _0x378d8e=0x0;if(_0x3ef003){if(_0x20b7f2[_0x378d8e]!==_0x3ef003)throw new IdGeneratorError(_0x12580f(0x2de),_0x12580f(0x23b)+_0x3ef003+_0x12580f(0x1f5)+_0x20b7f2[_0x378d8e]);_0x378d8e++;}_0x1d5409=_0x20b7f2[_0x378d8e++];const _0xbc42de=_0x113e45[_0x12580f(0x26e)](_0x4198af,'yyyy')?/^\d{4}$/:_0x113e45['GahOx'](_0x4198af,'yyyymm')?/^\d{6}$/:/^\d{8}$/;if(!_0xbc42de[_0x12580f(0x1eb)](_0x1d5409))throw new IdGeneratorError(_0x12580f(0x2de),'Number\x20datePrefix\x20invalid\x20for\x20format\x20'+_0x4198af+':\x20'+_0x1d5409);_0x336867=_0x20b7f2[_0x378d8e];}if(!new RegExp('^\x5cd{'+_0x17adfa+'}$')[_0x12580f(0x1eb)](_0x336867))throw new IdGeneratorError(_0x113e45[_0x12580f(0x24b)],'Number\x20counter\x20part\x20must\x20be\x20exactly\x20'+_0x17adfa+_0x12580f(0x22e)+_0x336867+')');const _0x231a27=_0x113e45[_0x12580f(0x2ff)](parseInt,_0x336867,0xa),_0x37c7c0=_0x113e45[_0x12580f(0x2ba)](_0x3ef003,'_');let _0x24c6f2;return _0x4198af===_0x12580f(0x20b)?_0x24c6f2=_0x37c7c0+'_text':_0x24c6f2=_0x37c7c0+'_'+_0x4198af+'_'+_0x1d5409,{'formatKey':_0x24c6f2,'counterInt':_0x231a27,'datePrefix':_0x1d5409};}['_generateFromPattern'](_0x3efd3b){const _0x4dc4cc=a0_0x35aca2;let _0x1d5402='';for(const _0x438856 of _0x3efd3b){const _0x534e41=PLACEHOLDER_MAP[_0x438856];if(_0x534e41){const _0x407ba7=crypto[_0x4dc4cc(0x2d6)](0x0,_0x534e41['length']);_0x1d5402+=_0x534e41[_0x407ba7];}else _0x1d5402+=_0x438856;}return _0x1d5402;}async[a0_0x35aca2(0x1dd)](_0x42612c){const _0x1b6aa4=a0_0x35aca2,_0x2a5536={'mLOCR':'idgen_idem_hit','rQToz':'Idempotency\x20cache\x20HIT'};if(!_0x42612c)return null;try{const _0x5036f0=redisClient['getClient'](),_0x207e7b=await _0x5036f0['get'](_0x42612c);if(_0x207e7b)return logger['info']({'event':_0x2a5536['mLOCR'],'key':_0x42612c},_0x2a5536['rQToz']),JSON[_0x1b6aa4(0x222)](_0x207e7b);return null;}catch(_0x375abf){return logger[_0x1b6aa4(0x2e9)]({'event':_0x1b6aa4(0x1da),'error':_0x375abf[_0x1b6aa4(0x26a)]},'Idempotency\x20retrieve\x20error'),null;}}async[a0_0x35aca2(0x1d7)](_0x238ec3,_0x120ea1){const _0x1803d3=a0_0x35aca2,_0x478163={'qPBCS':'Idempotency\x20store\x20error'};if(!_0x238ec3)return;try{const _0x32e5a9=redisClient[_0x1803d3(0x2bd)]();await _0x32e5a9['setex'](_0x238ec3,this['idemTTL'],JSON[_0x1803d3(0x1f0)](_0x120ea1));}catch(_0x48ecf4){logger['warn']({'event':_0x1803d3(0x202),'error':_0x48ecf4['message']},_0x478163['qPBCS']);}}async[a0_0x35aca2(0x2da)](_0x3e9a95,_0x141b21){const _0x1b4157=a0_0x35aca2,_0x5db03a={'ggAPX':function(_0x51581c,_0x6eea47){return _0x51581c===_0x6eea47;},'voPgS':_0x1b4157(0x2f6)};if(!_0x3e9a95)return{'stored':!![],'winnerResult':null};try{const _0x3367a3=redisClient['getClient'](),_0x54c903=JSON['stringify'](_0x141b21),_0xe0e274=await _0x3367a3[_0x1b4157(0x209)](_0x3e9a95,_0x54c903,'EX',this['idemTTL'],'NX');if(_0x5db03a['ggAPX'](_0xe0e274,'OK'))return{'stored':!![],'winnerResult':null};const _0x10944d=await _0x3367a3['get'](_0x3e9a95);if(_0x10944d)return{'stored':![],'winnerResult':JSON['parse'](_0x10944d)};return logger['warn']({'event':_0x5db03a['voPgS'],'key':_0x3e9a95},'SET\x20NX\x20failed\x20but\x20cache\x20GET\x20returned\x20empty\x20—\x20falling\x20back\x20to\x20own\x20result'),{'stored':!![],'winnerResult':null};}catch(_0x41754d){return logger['warn']({'event':_0x1b4157(0x203),'error':_0x41754d[_0x1b4157(0x26a)]},_0x1b4157(0x2b1)),{'stored':!![],'winnerResult':null};}}async[a0_0x35aca2(0x2a0)](_0x4640e7,_0x42e2c0,_0x21b486){const _0x178354=a0_0x35aca2;try{const _0x2552ff=redisClient[_0x178354(0x2bd)]();if(_0x21b486){const _0x36b3ad=this[_0x178354(0x27a)](_0x4640e7,_0x42e2c0);await _0x2552ff['del'](_0x36b3ad);}else{const _0x2052f6=this['_buildIssuedKey'](_0x4640e7);await _0x2552ff[_0x178354(0x276)](_0x2052f6,_0x42e2c0);}}catch(_0x5592cc){logger[_0x178354(0x2e9)]({'event':_0x178354(0x2d9),'error':_0x5592cc['message']},_0x178354(0x21f));}}async[a0_0x35aca2(0x22b)](_0x45ad49,_0x399493,_0x2a2ef1,_0x1cb645=0x0){const _0x3b3f72=a0_0x35aca2,_0x186292={'kGObQ':_0x3b3f72(0x218),'MRvVA':_0x3b3f72(0x22d)};try{const _0x161c16=redisClient[_0x3b3f72(0x2bd)](),_0xae2120=this['_buildMetaKey'](_0x45ad49,_0x399493),_0x3fc235=[];for(const [_0x427b14,_0x44daf6]of Object['entries'](_0x2a2ef1)){_0x3fc235['push'](_0x427b14,String(_0x44daf6));}if(_0x3fc235['length']>0x0){await _0x161c16['hset'](_0xae2120,..._0x3fc235);if(_0x1cb645>0x0)await _0x161c16[_0x3b3f72(0x2f8)](_0xae2120,_0x1cb645);}}catch(_0x10a3f0){logger['warn']({'event':_0x186292['kGObQ'],'error':_0x10a3f0[_0x3b3f72(0x26a)]},_0x186292['MRvVA']);}}async['number'](_0x5725b6){const _0x4ec81f=a0_0x35aca2,_0x4b5c2c={'BCRHS':'IDGEN_DISABLED','GSxjF':function(_0x31602a,_0x5a34a9){return _0x31602a(_0x5a34a9);}};if(!this[_0x4ec81f(0x291)])throw new IdGeneratorError(_0x4b5c2c['BCRHS'],_0x4ec81f(0x248));const _0x482b08=this['_validateNumberParams'](_0x5725b6),_0x1896f3=this['_validateIdempotencyKey'](_0x5725b6['idempotencyKey']),{resource:_0x177651,format:_0x49e6fb,prefix:_0x57e388,separator:_0x18e0af,numDigits:_0x55d196,reuseDelete:_0x4c5769}=_0x482b08,{formatKey:_0x35ca55,datePrefix:_0x510eb2}=this[_0x4ec81f(0x2ae)](_0x49e6fb,_0x57e388),_0x57b3a2=this['_buildSeqKey'](_0x177651,_0x35ca55),_0x5bf5ac=this['_buildReuseKey'](_0x177651,_0x35ca55),_0x1a6dfc=this[_0x4ec81f(0x285)](_0x49e6fb);let _0x5ae054=null;if(_0x1896f3){_0x5ae054=this['_buildIdemKey']('number',_0x177651,_0x35ca55,_0x1896f3);const _0x4a0c49=await this['_retrieveIdemCache'](_0x5ae054);if(_0x4a0c49)return _0x4a0c49;}const _0x3b2410=redisClient['getClient'](),_0x582b30=await _0x3b2410[_0x4ec81f(0x1e2)](LUA_GENERATE_NUMBER,0x2,_0x57b3a2,_0x5bf5ac,_0x4c5769?'1':'0',_0x4b5c2c[_0x4ec81f(0x27f)](String,_0x1a6dfc)),_0x5953b8=_0x582b30[0x0],_0x589f5d=_0x582b30[0x1]===0x1,_0x5365bf=this[_0x4ec81f(0x217)]({'format':_0x49e6fb,'prefix':_0x57e388,'datePrefix':_0x510eb2,'separator':_0x18e0af,'numDigits':_0x55d196,'counterInt':_0x5953b8}),_0x4df286={'value':_0x5365bf,'counter':_0x5953b8,'resource':_0x177651,'formatKey':_0x35ca55,'isReused':_0x589f5d,'generatedAt':new Date()['toISOString']()},_0x38b7b1=await this[_0x4ec81f(0x2da)](_0x5ae054,_0x4df286);if(!_0x38b7b1['stored']){try{await _0x3b2410['eval'](LUA_RELEASE_NUMBER,0x1,_0x5bf5ac,_0x4b5c2c['GSxjF'](String,_0x5953b8),String(_0x1a6dfc));}catch(_0x20e4b){logger[_0x4ec81f(0x2e9)]({'event':_0x4ec81f(0x2b7),'error':_0x20e4b['message'],'resource':_0x177651,'formatKey':_0x35ca55,'counterInt':_0x5953b8},'Failed\x20to\x20release\x20counter\x20for\x20idempotency\x20loser');}return logger['info']({'event':_0x4ec81f(0x1e8),'resource':_0x177651,'formatKey':_0x35ca55,'counter':_0x5953b8},_0x4ec81f(0x2b4)),_0x38b7b1[_0x4ec81f(0x243)];}return this[_0x4ec81f(0x22b)](_0x177651,_0x35ca55,{'lastValue':_0x5365bf,'lastCounter':_0x5953b8,'lastIsReused':_0x589f5d,'lastGeneratedAt':_0x4df286[_0x4ec81f(0x28d)]},_0x1a6dfc),logger['info']({'event':_0x4ec81f(0x2a1),'resource':_0x177651,'formatKey':_0x35ca55,'counter':_0x5953b8,'isReused':_0x589f5d},_0x4ec81f(0x207)+_0x5365bf),_0x4df286;}async['releaseNumber'](_0x21f1e8){const _0x34424f=a0_0x35aca2,_0x28ae8d={'WjmiG':function(_0x3467be,_0x48b72a){return _0x3467be!==_0x48b72a;},'oheEN':_0x34424f(0x2dc),'NmBVp':function(_0x528c5d,_0xb7b8eb){return _0x528c5d===_0xb7b8eb;},'cJpyT':'text','FWHnh':_0x34424f(0x20e),'sSDAV':function(_0x454a75,_0x143545){return _0x454a75(_0x143545);},'wshmN':_0x34424f(0x1e4)};if(!this['enabled'])throw new IdGeneratorError(_0x34424f(0x20f),_0x34424f(0x1e7));let _0x1c3e65,_0x56b891,_0x10938f,_0x3faf7c;const _0x1be39a=this[_0x34424f(0x232)](_0x21f1e8[_0x34424f(0x2fa)]);if(_0x21f1e8[_0x34424f(0x1ef)]!==undefined&&_0x21f1e8['counterInt']!==null){this['_validateResource'](_0x21f1e8['resource']),_0x1c3e65=_0x21f1e8['resource'];if(_0x28ae8d[_0x34424f(0x2dd)](typeof _0x21f1e8[_0x34424f(0x231)],_0x28ae8d[_0x34424f(0x273)])||_0x28ae8d['NmBVp'](_0x21f1e8[_0x34424f(0x231)]['length'],0x0))throw new IdGeneratorError('IDGEN_INVALID_NUMBER','formatKey\x20is\x20required\x20in\x20low-level\x20release');_0x56b891=_0x21f1e8[_0x34424f(0x231)];if(!Number['isInteger'](_0x21f1e8['counterInt'])||_0x21f1e8[_0x34424f(0x1ef)]<0x1)throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x34424f(0x280)+_0x21f1e8[_0x34424f(0x1ef)]+')');_0x10938f=_0x21f1e8['counterInt'];const _0x1aab14=_0x56b891['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x3faf7c=_0x1aab14?_0x1aab14[0x1]:_0x28ae8d[_0x34424f(0x23e)];}else{const _0x5e6ea9=this[_0x34424f(0x2ab)](_0x21f1e8),_0x37e222=this['_parseNumber']({'format':_0x5e6ea9[_0x34424f(0x25c)],'prefix':_0x5e6ea9[_0x34424f(0x29f)],'separator':_0x5e6ea9[_0x34424f(0x21b)],'numDigits':_0x5e6ea9['numDigits'],'number':_0x21f1e8[_0x34424f(0x2ac)]});_0x1c3e65=_0x5e6ea9[_0x34424f(0x1f7)],_0x56b891=_0x37e222[_0x34424f(0x231)],_0x10938f=_0x37e222[_0x34424f(0x1ef)],_0x3faf7c=_0x5e6ea9[_0x34424f(0x25c)];}const _0x1eacd9=this['_buildReuseKey'](_0x1c3e65,_0x56b891),_0x141b58=this[_0x34424f(0x285)](_0x3faf7c);let _0x6b8611=null;if(_0x1be39a){_0x6b8611=this['_buildIdemKey'](_0x28ae8d[_0x34424f(0x1fb)],_0x1c3e65,_0x56b891,_0x1be39a);const _0x3a78e7=await this['_retrieveIdemCache'](_0x6b8611);if(_0x3a78e7)return _0x3a78e7;}const _0x346e52=redisClient[_0x34424f(0x2bd)]();await _0x346e52['eval'](LUA_RELEASE_NUMBER,0x1,_0x1eacd9,_0x28ae8d[_0x34424f(0x2c4)](String,_0x10938f),_0x28ae8d['sSDAV'](String,_0x141b58));const _0xf32f3a={'released':!![],'resource':_0x1c3e65,'formatKey':_0x56b891,'counter':_0x10938f,'releasedAt':new Date()[_0x34424f(0x2a4)]()};return await this[_0x34424f(0x1d7)](_0x6b8611,_0xf32f3a),this[_0x34424f(0x22b)](_0x1c3e65,_0x56b891,{'lastReleasedCounter':_0x10938f,'lastReleasedAt':_0xf32f3a[_0x34424f(0x22a)]},_0x141b58),logger['info']({'event':_0x28ae8d[_0x34424f(0x223)],'resource':_0x1c3e65,'formatKey':_0x56b891,'counter':_0x10938f},'ID\x20Generator\x20number\x20released:\x20'+_0x10938f),_0xf32f3a;}async[a0_0x35aca2(0x1fc)](_0x5ee2fc){const _0x3bfc41=a0_0x35aca2,_0x1f837a={'ZbXxk':'IDGEN_DISABLED','bpLOX':'ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)','cpKvu':function(_0x3a3b6b,_0x47b738){return _0x3a3b6b*_0x47b738;},'fnJwa':'formatKey','NdYSu':_0x3bfc41(0x25c),'zvzWk':'prefix','bTLcY':'separator','kaMPA':'numDigits','XenUJ':function(_0x45d9b4,_0x3b2e43){return _0x45d9b4(_0x3b2e43);},'gHrge':'createdAt','iEhlc':'expiresAt','fBpmy':'ttlMs','BnHMw':_0x3bfc41(0x240),'lzFcD':function(_0x29be69,_0xe254bb){return _0x29be69===_0xe254bb;},'Ekdvi':'idgen_reserve_overflow_compensation_error','zgJvX':_0x3bfc41(0x1df),'YcfiS':'Failed\x20to\x20persist\x20formatted\x20value\x20to\x20reservation\x20hash','TEjNo':_0x3bfc41(0x2a2),'EZkvP':'Failed\x20to\x20cancel\x20reservation\x20for\x20idempotency\x20loser','pyMlU':_0x3bfc41(0x27c),'YGybA':_0x3bfc41(0x2b5)};if(!this['enabled'])throw new IdGeneratorError(_0x1f837a['ZbXxk'],_0x1f837a['bpLOX']);const _0x85a696=this[_0x3bfc41(0x2ab)](_0x5ee2fc),_0x57b997=this['_validateReserveTTL'](_0x5ee2fc[_0x3bfc41(0x28b)]),_0x2f6f5b=this['_validateIdempotencyKey'](_0x5ee2fc['idempotencyKey']),{resource:_0x1d164f,format:_0x180278,prefix:_0x18c7c0,separator:_0x4a0e41,numDigits:_0x409c27,reuseDelete:_0x405acd}=_0x85a696,{formatKey:_0x50ac96,datePrefix:_0x1c0d27}=this['_buildFormatKey'](_0x180278,_0x18c7c0),_0x228f22=this['_buildSeqKey'](_0x1d164f,_0x50ac96),_0x4fef80=this[_0x3bfc41(0x260)](_0x1d164f,_0x50ac96),_0x1678ec=this[_0x3bfc41(0x2aa)](_0x1d164f,_0x50ac96),_0x1d5ecf=this['_getCounterTTL'](_0x180278);let _0x373046=null;if(_0x2f6f5b){_0x373046=this['_buildIdemKey'](_0x3bfc41(0x289),_0x1d164f,_0x50ac96,_0x2f6f5b);const _0x39080b=await this[_0x3bfc41(0x1dd)](_0x373046);if(_0x39080b)return _0x39080b;}const _0x57847b=crypto[_0x3bfc41(0x2c6)](),_0x8ff739=this[_0x3bfc41(0x295)](_0x57847b),_0x1f14ce=this[_0x3bfc41(0x28a)](),_0x31457f=Date['now'](),_0x46e2d2=_0x31457f+_0x1f837a['cpKvu'](_0x57b997,0x3e8),_0x251ad3=_0x1f837a[_0x3bfc41(0x2cd)](_0x57b997,0x3e8),_0x56cbf4=new Date(_0x31457f)['toISOString'](),_0x4c5104=new Date(_0x46e2d2)['toISOString'](),_0x2056e9=['resource',_0x1d164f,_0x1f837a['fnJwa'],_0x50ac96,_0x1f837a['NdYSu'],_0x180278,_0x1f837a[_0x3bfc41(0x297)],_0x18c7c0,_0x1f837a[_0x3bfc41(0x263)],_0x4a0e41,_0x1f837a[_0x3bfc41(0x2e2)],_0x1f837a[_0x3bfc41(0x292)](String,_0x409c27),_0x3bfc41(0x27d),_0x1c0d27||'',_0x1f837a['gHrge'],_0x56cbf4,_0x1f837a['iEhlc'],_0x4c5104,_0x1f837a[_0x3bfc41(0x242)],String(_0x251ad3)];_0x2f6f5b&&_0x2056e9[_0x3bfc41(0x2db)](_0x1f837a['BnHMw'],_0x2f6f5b);const _0x55b2a1=redisClient[_0x3bfc41(0x2bd)](),_0x450929=await _0x55b2a1['eval'](LUA_RESERVE_NUMBER,0x3,_0x228f22,_0x4fef80,_0x1678ec,_0x405acd?'1':'0',String(_0x1d5ecf),_0x57847b,_0x8ff739,String(_0x251ad3),String(_0x46e2d2),String(_0x31457f),_0x1f14ce,..._0x2056e9),_0x3523f8=_0x450929[0x0],_0x40a2d2=_0x1f837a[_0x3bfc41(0x1fa)](_0x450929[0x1],0x1),_0x20167c=_0x450929[0x2]||0x0;let _0x12538d;try{_0x12538d=this[_0x3bfc41(0x217)]({'format':_0x180278,'prefix':_0x18c7c0,'datePrefix':_0x1c0d27,'separator':_0x4a0e41,'numDigits':_0x409c27,'counterInt':_0x3523f8});}catch(_0x8e091e){try{await _0x55b2a1['eval'](LUA_CANCEL_RESERVATION,0x3,_0x8ff739,_0x1678ec,_0x4fef80,_0x57847b,String(_0x1d5ecf));}catch(_0x1b8805){logger[_0x3bfc41(0x2e9)]({'event':_0x1f837a[_0x3bfc41(0x1f1)],'error':_0x1b8805[_0x3bfc41(0x26a)],'resource':_0x1d164f,'formatKey':_0x50ac96,'counterInt':_0x3523f8,'token':_0x57847b},_0x1f837a['zgJvX']);}throw _0x8e091e;}try{await _0x55b2a1['hset'](_0x8ff739,'value',_0x12538d);}catch(_0x9b29e0){logger[_0x3bfc41(0x2e9)]({'event':_0x3bfc41(0x2f9),'error':_0x9b29e0[_0x3bfc41(0x26a)],'resource':_0x1d164f,'formatKey':_0x50ac96,'counterInt':_0x3523f8,'token':_0x57847b},_0x1f837a[_0x3bfc41(0x251)]);}const _0x3a2cc8={'token':_0x57847b,'value':_0x12538d,'counter':_0x3523f8,'resource':_0x1d164f,'formatKey':_0x50ac96,'isReused':_0x40a2d2,'createdAt':_0x56cbf4,'expiresAt':_0x4c5104,'reapedCount':_0x20167c},_0x1a2120=await this['_storeIdemCacheNX'](_0x373046,_0x3a2cc8);if(!_0x1a2120['stored']){try{await _0x55b2a1['eval'](LUA_CANCEL_RESERVATION,0x3,_0x8ff739,_0x1678ec,_0x4fef80,_0x57847b,String(_0x1d5ecf));}catch(_0x2de2a6){logger[_0x3bfc41(0x2e9)]({'event':_0x1f837a['TEjNo'],'error':_0x2de2a6['message'],'resource':_0x1d164f,'formatKey':_0x50ac96,'counterInt':_0x3523f8,'token':_0x57847b},_0x1f837a['EZkvP']);}return logger['info']({'event':_0x1f837a['pyMlU'],'resource':_0x1d164f,'formatKey':_0x50ac96,'counter':_0x3523f8,'token':_0x57847b},'ID\x20Generator\x20reserve\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x1a2120['winnerResult'];}return this['_updateMeta'](_0x1d164f,_0x50ac96,{'lastReservedCounter':_0x3523f8,'lastReservedAt':_0x56cbf4,'lastReapedCount':_0x20167c},_0x1d5ecf),logger['info']({'event':_0x1f837a['YGybA'],'resource':_0x1d164f,'formatKey':_0x50ac96,'counter':_0x3523f8,'isReused':_0x40a2d2,'token':_0x57847b,'ttl':_0x57b997,'reapedCount':_0x20167c},_0x3bfc41(0x2ad)+_0x12538d+_0x3bfc41(0x1e6)+_0x57847b+')'),_0x3a2cc8;}async[a0_0x35aca2(0x205)](_0x2c4532){const _0x17ef59=a0_0x35aca2,_0x8d14f0={'kwYyw':_0x17ef59(0x20f),'RiFFO':'ID\x20Generator\x20is\x20disabled','Qbjto':'idgen','MmwRh':_0x17ef59(0x22c),'dSvxx':function(_0x2b4109,_0x511438){return _0x2b4109!==_0x511438;},'TaltD':_0x17ef59(0x287)};if(!this['enabled'])throw new IdGeneratorError(_0x8d14f0['kwYyw'],_0x8d14f0['RiFFO']);const _0x21a5cd=this['_validateReservationToken'](_0x2c4532&&_0x2c4532[_0x17ef59(0x1ee)]),_0x346a72=this['_validateIdempotencyKey'](_0x2c4532&&_0x2c4532[_0x17ef59(0x2fa)]);let _0x1cb891=null;if(_0x346a72){_0x1cb891=idempotencyManager['buildDeterministicKey'](_0x8d14f0['Qbjto'],_0x8d14f0['MmwRh'],_0x21a5cd+':'+_0x346a72);const _0x4b5176=await this['_retrieveIdemCache'](_0x1cb891);if(_0x4b5176)return _0x4b5176;}const _0x56bdd2=await this[_0x17ef59(0x2cc)](_0x21a5cd),_0x54b799=redisClient[_0x17ef59(0x2bd)](),_0x59a8b5=await _0x54b799['eval'](LUA_CONFIRM_RESERVATION,0x2,_0x56bdd2['rsvKey'],_0x56bdd2[_0x17ef59(0x2bf)],_0x21a5cd);if(!_0x59a8b5||_0x8d14f0['dSvxx'](_0x59a8b5[0x0],0x1))throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND',_0x17ef59(0x2b2)+_0x21a5cd,{'token':_0x21a5cd});const _0x4c99bb=parseInt(_0x59a8b5[0x1],0xa),_0x142e5b=_0x59a8b5[0x2],_0x1eec1d=_0x59a8b5[0x3],_0x48156b=new Date()['toISOString'](),_0x353b5b={'confirmed':!![],'token':_0x21a5cd,'value':_0x142e5b,'counter':_0x4c99bb,'resource':_0x56bdd2[_0x17ef59(0x1f7)],'formatKey':_0x1eec1d,'confirmedAt':_0x48156b};await this[_0x17ef59(0x1d7)](_0x1cb891,_0x353b5b);const _0x4f7c18=_0x1eec1d[_0x17ef59(0x210)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x105617=_0x4f7c18?_0x4f7c18[0x1]:_0x17ef59(0x20b),_0x5288e6=this[_0x17ef59(0x285)](_0x105617);return this[_0x17ef59(0x22b)](_0x56bdd2[_0x17ef59(0x1f7)],_0x1eec1d,{'lastConfirmedCounter':_0x4c99bb,'lastConfirmedAt':_0x48156b},_0x5288e6),logger[_0x17ef59(0x2e8)]({'event':_0x8d14f0['TaltD'],'resource':_0x56bdd2[_0x17ef59(0x1f7)],'formatKey':_0x1eec1d,'counter':_0x4c99bb,'token':_0x21a5cd},_0x17ef59(0x270)+_0x142e5b+_0x17ef59(0x1e6)+_0x21a5cd+')'),_0x353b5b;}async['cancelReservation'](_0x2d4226){const _0x44a51e=a0_0x35aca2,_0x17cd2c={'EBEag':function(_0x340b0a,_0x56d0c5){return _0x340b0a(_0x56d0c5);},'kThPu':function(_0x1f4841,_0x46ee4c){return _0x1f4841!==_0x46ee4c;},'CytrL':'IDGEN_RESERVATION_NOT_FOUND','nUkBz':function(_0x161b5b,_0x4288cc,_0x3b7738){return _0x161b5b(_0x4288cc,_0x3b7738);},'FKEfx':'idgen_reservation_cancelled'};if(!this[_0x44a51e(0x291)])throw new IdGeneratorError(_0x44a51e(0x20f),'ID\x20Generator\x20is\x20disabled');const _0x135381=this[_0x44a51e(0x2c7)](_0x2d4226&&_0x2d4226['token']),_0x5dc739=this['_validateIdempotencyKey'](_0x2d4226&&_0x2d4226[_0x44a51e(0x2fa)]);let _0x546604=null;if(_0x5dc739){_0x546604=idempotencyManager[_0x44a51e(0x1f6)](_0x44a51e(0x2b3),_0x44a51e(0x215),_0x135381+':'+_0x5dc739);const _0x5c5775=await this[_0x44a51e(0x1dd)](_0x546604);if(_0x5c5775)return _0x5c5775;}const _0x4c86c8=await this[_0x44a51e(0x2cc)](_0x135381),_0x40d0c9=this['_buildReuseKey'](_0x4c86c8[_0x44a51e(0x1f7)],_0x4c86c8['formatKey']),_0x3fd956=_0x4c86c8[_0x44a51e(0x231)][_0x44a51e(0x210)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x33ba8f=_0x3fd956?_0x3fd956[0x1]:'text',_0x465388=this['_getCounterTTL'](_0x33ba8f),_0x59052e=redisClient[_0x44a51e(0x2bd)](),_0x43ea07=await _0x59052e[_0x44a51e(0x1e2)](LUA_CANCEL_RESERVATION,0x3,_0x4c86c8[_0x44a51e(0x2a3)],_0x4c86c8['rsvIdxKey'],_0x40d0c9,_0x135381,_0x17cd2c[_0x44a51e(0x21e)](String,_0x465388));if(!_0x43ea07||_0x17cd2c[_0x44a51e(0x266)](_0x43ea07[0x0],0x1))throw new IdGeneratorError(_0x17cd2c['CytrL'],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x135381,{'token':_0x135381});const _0x3f5441=_0x17cd2c['nUkBz'](parseInt,_0x43ea07[0x1],0xa),_0x19a8f2=_0x43ea07[0x2],_0x194a7e=_0x43ea07[0x3],_0x435c1b=new Date()['toISOString'](),_0x551690={'cancelled':!![],'token':_0x135381,'value':_0x19a8f2,'counter':_0x3f5441,'resource':_0x4c86c8[_0x44a51e(0x1f7)],'formatKey':_0x194a7e,'releasedToReuse':!![],'cancelledAt':_0x435c1b};return await this['_storeIdemCache'](_0x546604,_0x551690),this[_0x44a51e(0x22b)](_0x4c86c8[_0x44a51e(0x1f7)],_0x194a7e,{'lastCancelledCounter':_0x3f5441,'lastCancelledAt':_0x435c1b},_0x465388),logger['info']({'event':_0x17cd2c[_0x44a51e(0x1d5)],'resource':_0x4c86c8['resource'],'formatKey':_0x194a7e,'counter':_0x3f5441,'token':_0x135381},'ID\x20Generator\x20reservation\x20cancelled:\x20'+_0x19a8f2+'\x20(token='+_0x135381+')'),_0x551690;}async['extendReservation'](_0x31cb67){const _0x5912ec=a0_0x35aca2,_0xf93253={'HXcqD':'IDGEN_DISABLED','DAsdH':_0x5912ec(0x2b3),'RFgkj':_0x5912ec(0x2d5),'axrvb':function(_0x4e81f4,_0x546ae8){return _0x4e81f4*_0x546ae8;},'HPviW':function(_0x153b22,_0x293f5a){return _0x153b22*_0x293f5a;},'QDpYv':function(_0x527dbb,_0x4f5197){return _0x527dbb(_0x4f5197);},'RyJbO':function(_0x4320d8,_0x42069a){return _0x4320d8!==_0x42069a;},'xXEUr':'text'};if(!this[_0x5912ec(0x291)])throw new IdGeneratorError(_0xf93253[_0x5912ec(0x2bb)],_0x5912ec(0x1e7));const _0x360e1c=this['_validateReservationToken'](_0x31cb67&&_0x31cb67['token']),_0xef6de3=this[_0x5912ec(0x25a)](_0x31cb67&&_0x31cb67[_0x5912ec(0x28b)]),_0xff2e90=this['_validateIdempotencyKey'](_0x31cb67&&_0x31cb67['idempotencyKey']);let _0x55911e=null;if(_0xff2e90){_0x55911e=idempotencyManager['buildDeterministicKey'](_0xf93253[_0x5912ec(0x233)],_0xf93253[_0x5912ec(0x2ce)],_0x360e1c+':'+_0xff2e90);const _0x37423f=await this[_0x5912ec(0x1dd)](_0x55911e);if(_0x37423f)return _0x37423f;}const _0x1c46c0=await this[_0x5912ec(0x2cc)](_0x360e1c),_0x106155=Date[_0x5912ec(0x220)](),_0x25e24a=_0x106155+_0xf93253[_0x5912ec(0x26c)](_0xef6de3,0x3e8),_0x3fdd4d=_0xf93253[_0x5912ec(0x246)](_0xef6de3,0x3e8),_0x447a0f=new Date(_0x25e24a)['toISOString'](),_0x19f1d7=redisClient[_0x5912ec(0x2bd)](),_0x516e60=await _0x19f1d7['eval'](LUA_EXTEND_RESERVATION,0x2,_0x1c46c0[_0x5912ec(0x2a3)],_0x1c46c0[_0x5912ec(0x2bf)],_0x360e1c,String(_0x3fdd4d),_0xf93253[_0x5912ec(0x294)](String,_0x25e24a),_0x447a0f);if(!_0x516e60||_0xf93253['RyJbO'](_0x516e60[0x0],0x1))throw new IdGeneratorError(_0x5912ec(0x2d0),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x360e1c,{'token':_0x360e1c});const _0x1c463a=_0x516e60[0x1],_0xed1a58=parseInt(_0x516e60[0x2],0xa),_0x837cb2=_0x516e60[0x3],_0x4861a3=_0x516e60[0x4],_0x1c68ff=new Date(_0x106155)['toISOString'](),_0x2677ba={'extended':!![],'token':_0x360e1c,'previousExpiresAt':_0x1c463a,'expiresAt':_0x447a0f,'ttlMs':_0x3fdd4d,'resource':_0x1c46c0[_0x5912ec(0x1f7)],'formatKey':_0x4861a3,'counter':_0xed1a58,'value':_0x837cb2,'extendedAt':_0x1c68ff};await this['_storeIdemCache'](_0x55911e,_0x2677ba);const _0x234ddd=_0x4861a3['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x5c7469=_0x234ddd?_0x234ddd[0x1]:_0xf93253[_0x5912ec(0x245)],_0x193331=this['_getCounterTTL'](_0x5c7469);return this['_updateMeta'](_0x1c46c0['resource'],_0x4861a3,{'lastExtendedCounter':_0xed1a58,'lastExtendedAt':_0x1c68ff},_0x193331),logger['info']({'event':'idgen_reservation_extended','resource':_0x1c46c0['resource'],'formatKey':_0x4861a3,'counter':_0xed1a58,'token':_0x360e1c,'ttl':_0xef6de3},'ID\x20Generator\x20reservation\x20extended:\x20'+_0x837cb2+'\x20(token='+_0x360e1c+_0x5912ec(0x247)+_0xef6de3+'s)'),_0x2677ba;}async['getReservation'](_0x1b51b4){const _0x19aaf8=a0_0x35aca2,_0x5cea23={'tDSWt':_0x19aaf8(0x20f),'OiqTM':function(_0x3a019e,_0x51eedc){return _0x3a019e===_0x51eedc;},'jqzQi':_0x19aaf8(0x2ac),'ZYQgi':function(_0x4778ec,_0x4081af){return _0x4778ec>=_0x4081af;}};if(!this[_0x19aaf8(0x291)])throw new IdGeneratorError(_0x5cea23['tDSWt'],_0x19aaf8(0x1e7));const _0x95d462=this[_0x19aaf8(0x2c7)](_0x1b51b4&&_0x1b51b4[_0x19aaf8(0x1ee)]),_0x47bc2b=this[_0x19aaf8(0x295)](_0x95d462),_0x5bed2d=redisClient[_0x19aaf8(0x2bd)](),_0xf524f3=_0x5bed2d['pipeline']();_0xf524f3[_0x19aaf8(0x2c9)](_0x47bc2b),_0xf524f3[_0x19aaf8(0x2a6)](_0x47bc2b);const _0x453d67=await _0xf524f3[_0x19aaf8(0x2df)](),_0x2073b6=_0x453d67&&_0x453d67[0x0]&&_0x453d67[0x0][0x1],_0x1a26f8=_0x453d67&&_0x453d67[0x1]&&_0x453d67[0x1][0x1];if(!_0x2073b6||Object[_0x19aaf8(0x20c)](_0x2073b6)['length']===0x0)throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND',_0x19aaf8(0x2b2)+_0x95d462,{'token':_0x95d462});return{'token':_0x95d462,'resource':_0x2073b6['resource']||null,'formatKey':_0x2073b6['formatKey']||null,'format':_0x2073b6[_0x19aaf8(0x25c)]||null,'prefix':_0x2073b6['prefix']||'','separator':_0x2073b6['separator']||'','numDigits':_0x2073b6[_0x19aaf8(0x1f8)]?parseInt(_0x2073b6[_0x19aaf8(0x1f8)],0xa):null,'datePrefix':_0x2073b6[_0x19aaf8(0x27d)]||'','counter':_0x2073b6['counter']?parseInt(_0x2073b6[_0x19aaf8(0x239)],0xa):null,'value':_0x2073b6[_0x19aaf8(0x2f5)]||null,'isReused':_0x2073b6[_0x19aaf8(0x299)]==='1'||_0x2073b6[_0x19aaf8(0x299)]===0x1,'createdAt':_0x2073b6['createdAt']||null,'expiresAt':_0x2073b6[_0x19aaf8(0x29c)]||null,'ttlRemainingMs':_0x5cea23[_0x19aaf8(0x1d4)](typeof _0x1a26f8,_0x5cea23[_0x19aaf8(0x271)])&&_0x5cea23['ZYQgi'](_0x1a26f8,0x0)?_0x1a26f8:null};}async[a0_0x35aca2(0x2cc)](_0x3a62c0){const _0x529768=a0_0x35aca2,_0x55d744=this[_0x529768(0x295)](_0x3a62c0),_0x17bb22=redisClient['getClient'](),_0x48d95e=await _0x17bb22['hmget'](_0x55d744,_0x529768(0x1f7),_0x529768(0x231)),_0x27a7e9=_0x48d95e&&_0x48d95e[0x0],_0x5c423f=_0x48d95e&&_0x48d95e[0x1];if(!_0x27a7e9||!_0x5c423f)throw new IdGeneratorError(_0x529768(0x2d0),_0x529768(0x2b2)+_0x3a62c0,{'token':_0x3a62c0});return{'resource':_0x27a7e9,'formatKey':_0x5c423f,'rsvKey':_0x55d744,'rsvIdxKey':this['_buildReservationIndexKey'](_0x27a7e9,_0x5c423f)};}async['random'](_0x2c29bf){const _0x470d8a=a0_0x35aca2,_0x25fd7b={'BtTmU':'IDGEN_DISABLED','OvfEW':function(_0x54a43a,_0x28bd43){return _0x54a43a===_0x28bd43;},'lOHIi':function(_0x399289,_0x4378ed){return _0x399289===_0x4378ed;},'bNajo':function(_0x1278bf,_0x54a37c){return _0x1278bf+_0x54a37c;},'HsQuY':'idgen_random_idem_loser'};if(!this[_0x470d8a(0x291)])throw new IdGeneratorError(_0x25fd7b['BtTmU'],'ID\x20Generator\x20is\x20disabled');this['_validateResource'](_0x2c29bf[_0x470d8a(0x1f7)]),this['_validatePattern'](_0x2c29bf['pattern']);const _0x4dc03c=this['_validateTTL'](_0x2c29bf['ttl']),_0x40a311=this[_0x470d8a(0x29d)](_0x2c29bf[_0x470d8a(0x229)]),_0x3cd662=this['_validateIdempotencyKey'](_0x2c29bf[_0x470d8a(0x2fa)]),_0x1be3ab=_0x25fd7b[_0x470d8a(0x2eb)](_0x2c29bf['ensureUnique'],!![]),{resource:_0x822837,pattern:_0x154575}=_0x2c29bf;let _0xb7e9cd=null;if(_0x3cd662){_0xb7e9cd=this['_buildIdemKey'](_0x470d8a(0x284),_0x822837,null,_0x3cd662);const _0x1a92d0=await this[_0x470d8a(0x1dd)](_0xb7e9cd);if(_0x1a92d0)return _0x1a92d0;}const _0x3b2e71=redisClient[_0x470d8a(0x2bd)]();let _0x34af80=null,_0xc55348=0x0;if(!_0x1be3ab)_0x34af80=this[_0x470d8a(0x26f)](_0x154575),_0xc55348=0x1;else{for(let _0x5e1466=0x0;_0x5e1466<_0x40a311;_0x5e1466++){_0xc55348++;const _0x18f218=this[_0x470d8a(0x26f)](_0x154575);if(_0x4dc03c){const _0x4bef48=this[_0x470d8a(0x27a)](_0x822837,_0x18f218),_0x3f2190=await _0x3b2e71['set'](_0x4bef48,'1','EX',_0x4dc03c,'NX');if(_0x25fd7b['lOHIi'](_0x3f2190,'OK')){_0x34af80=_0x18f218;break;}}else{const _0x2a0d0f=this['_buildIssuedKey'](_0x822837),_0x52e297=await _0x3b2e71['sadd'](_0x2a0d0f,_0x18f218);if(_0x52e297===0x1){_0x34af80=_0x18f218;break;}}}if(_0x34af80===null)throw new IdGeneratorError(_0x470d8a(0x257),'Could\x20not\x20generate\x20unique\x20value\x20after\x20'+_0x40a311+'\x20attempts.\x20Increase\x20pattern\x20length\x20or\x20maxRetry.',{'resource':_0x822837,'pattern':_0x154575,'maxRetry':_0x40a311});}const _0x4b8693={'value':_0x34af80,'resource':_0x822837,'pattern':_0x154575,'attemptCount':_0xc55348,'generatedAt':new Date()['toISOString']()};_0x4dc03c&&_0x1be3ab&&(_0x4b8693[_0x470d8a(0x29c)]=new Date(_0x25fd7b[_0x470d8a(0x200)](Date[_0x470d8a(0x220)](),_0x4dc03c*0x3e8))['toISOString']());const _0x1b6fc1=await this[_0x470d8a(0x2da)](_0xb7e9cd,_0x4b8693);if(!_0x1b6fc1[_0x470d8a(0x2ec)])return _0x1be3ab&&await this['_undoRandomReservation'](_0x822837,_0x34af80,_0x4dc03c),logger['info']({'event':_0x25fd7b['HsQuY'],'resource':_0x822837,'pattern':_0x154575,'value':_0x34af80},'ID\x20Generator\x20random\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x1b6fc1[_0x470d8a(0x243)];return logger['info']({'event':'idgen_random_generated','resource':_0x822837,'pattern':_0x154575,'attemptCount':_0xc55348,'ensureUnique':_0x1be3ab,'ttl':_0x4dc03c||0x0},'ID\x20Generator\x20random:\x20'+_0x34af80),_0x4b8693;}async[a0_0x35aca2(0x1e9)](_0x55f480){const _0x148cda=a0_0x35aca2,_0x71e87c={'IbljD':function(_0x13cbf0,_0x430768){return _0x13cbf0<_0x430768;},'CnQhV':function(_0x438575,_0x2839aa){return _0x438575>_0x2839aa;}},_0x4e99d6=_0x55f480[_0x148cda(0x1d6)]==null?this[_0x148cda(0x234)]:_0x55f480[_0x148cda(0x1d6)];if(!Number['isInteger'](_0x4e99d6)||_0x71e87c[_0x148cda(0x2e1)](_0x4e99d6,MIN_PIN_DIGITS)||_0x71e87c['CnQhV'](_0x4e99d6,MAX_PIN_DIGITS))throw new IdGeneratorError('IDGEN_INVALID_DIGITS','Invalid\x20digits:\x20must\x20be\x20integer\x20'+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+_0x148cda(0x24f)+_0x4e99d6+')');const _0x535270='9'[_0x148cda(0x283)](_0x4e99d6);return this[_0x148cda(0x284)]({'resource':_0x55f480[_0x148cda(0x1f7)],'pattern':_0x535270,'ensureUnique':_0x55f480[_0x148cda(0x2a8)]===!![],'ttl':_0x55f480[_0x148cda(0x28b)],'maxRetry':_0x55f480['maxRetry'],'idempotencyKey':_0x55f480['idempotencyKey']});}async['serial'](_0x418f01){const _0x2f9e92=a0_0x35aca2,_0x313ccc=_0x418f01['pattern']||this['defaultSerialPattern'];return this['random']({'resource':_0x418f01[_0x2f9e92(0x1f7)],'pattern':_0x313ccc,'ensureUnique':_0x418f01['ensureUnique']!==![],'ttl':_0x418f01[_0x2f9e92(0x28b)],'maxRetry':_0x418f01[_0x2f9e92(0x229)],'idempotencyKey':_0x418f01[_0x2f9e92(0x2fa)]});}async[a0_0x35aca2(0x2fc)](_0x476ace){const _0x5b2ae9=a0_0x35aca2,_0x764dd7={'xZWab':function(_0x5e0b88,_0x49489a){return _0x5e0b88!==_0x49489a;}},_0x5b132c=_0x476ace[_0x5b2ae9(0x27b)]||this[_0x5b2ae9(0x1f9)];return this[_0x5b2ae9(0x284)]({'resource':_0x476ace[_0x5b2ae9(0x1f7)],'pattern':_0x5b132c,'ensureUnique':_0x764dd7[_0x5b2ae9(0x274)](_0x476ace['ensureUnique'],![]),'ttl':_0x476ace['ttl'],'maxRetry':_0x476ace['maxRetry'],'idempotencyKey':_0x476ace[_0x5b2ae9(0x2fa)]});}async['consume'](_0x5818eb){const _0x34068b=a0_0x35aca2,_0x2b9b03={'vAAPz':'ID\x20Generator\x20is\x20disabled','JKpYK':_0x34068b(0x2dc),'TzShQ':_0x34068b(0x2de),'RNESR':_0x34068b(0x2d2),'pBBsV':function(_0x3d556b,_0x1f140b){return _0x3d556b>_0x1f140b;},'LFnra':_0x34068b(0x2f4)};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x2b9b03[_0x34068b(0x244)]);this['_validateResource'](_0x5818eb['resource']);if(typeof _0x5818eb['value']!==_0x2b9b03[_0x34068b(0x2ef)]||_0x5818eb[_0x34068b(0x2f5)]['length']===0x0)throw new IdGeneratorError(_0x2b9b03[_0x34068b(0x23c)],_0x2b9b03['RNESR']);const {resource:_0xe025f1,value:_0x2285bf}=_0x5818eb,_0x462c09=redisClient[_0x34068b(0x2bd)](),_0xc5b860=this['_buildActiveKey'](_0xe025f1,_0x2285bf),_0x424b0f=this[_0x34068b(0x219)](_0xe025f1),[_0x579461,_0x504fa1]=await Promise[_0x34068b(0x211)]([_0x462c09[_0x34068b(0x2b6)](_0xc5b860),_0x462c09['srem'](_0x424b0f,_0x2285bf)]),_0x3a1d52=_0x2b9b03[_0x34068b(0x216)](_0x579461+_0x504fa1,0x0);return logger['info']({'event':_0x2b9b03[_0x34068b(0x226)],'resource':_0xe025f1,'value':_0x2285bf,'consumed':_0x3a1d52},'ID\x20Generator\x20consumed:\x20'+_0x2285bf),{'consumed':_0x3a1d52,'resource':_0xe025f1,'value':_0x2285bf,'consumedAt':new Date()[_0x34068b(0x2a4)]()};}async[a0_0x35aca2(0x20d)](_0x108831){const _0x4b09e5=a0_0x35aca2,_0x2b0ed4={'WquWg':'IDGEN_DISABLED','EmlJh':function(_0x46b7b8,_0x2940bf){return _0x46b7b8===_0x2940bf;},'xeUSM':'text','nZFrR':'number','mnASb':function(_0x12dc36,_0x400992,_0x4dfa2e){return _0x12dc36(_0x400992,_0x4dfa2e);},'YLXhO':'random','soTdH':function(_0x1c1835,_0x5eefb0){return _0x1c1835||_0x5eefb0;}};if(!this[_0x4b09e5(0x291)])throw new IdGeneratorError(_0x2b0ed4['WquWg'],'ID\x20Generator\x20is\x20disabled');this['_validateResource'](_0x108831['resource']);const _0x164bdd=_0x108831['mode']||_0x4b09e5(0x2ac),_0x517deb=redisClient['getClient']();if(_0x2b0ed4[_0x4b09e5(0x2f2)](_0x164bdd,'number')){const _0x5c22f8=(_0x108831['format']||_0x2b0ed4['xeUSM'])['toLowerCase']();if(!ALLOWED_FORMATS[_0x4b09e5(0x221)](_0x5c22f8))throw new IdGeneratorError('IDGEN_INVALID_FORMAT','Invalid\x20format:\x20'+_0x108831[_0x4b09e5(0x25c)]);const {formatKey:_0x5c9a8e}=this['_buildFormatKey'](_0x5c22f8,_0x108831[_0x4b09e5(0x29f)]||''),_0x117e77=this['_buildSeqKey'](_0x108831[_0x4b09e5(0x1f7)],_0x5c9a8e),_0x2c3075=this[_0x4b09e5(0x260)](_0x108831[_0x4b09e5(0x1f7)],_0x5c9a8e),[_0x4f328e,_0x15a296]=await Promise[_0x4b09e5(0x211)]([_0x517deb['get'](_0x117e77),_0x517deb[_0x4b09e5(0x267)](_0x2c3075)]);return{'resource':_0x108831[_0x4b09e5(0x1f7)],'mode':_0x2b0ed4[_0x4b09e5(0x2e4)],'formatKey':_0x5c9a8e,'currentCounter':_0x2b0ed4[_0x4b09e5(0x262)](parseInt,_0x4f328e,0xa)||0x0,'reusePoolSize':_0x15a296||0x0};}if(_0x2b0ed4['EmlJh'](_0x164bdd,_0x2b0ed4[_0x4b09e5(0x20a)])){const _0x23138a=this['_buildIssuedKey'](_0x108831[_0x4b09e5(0x1f7)]),_0x37523c=await _0x517deb[_0x4b09e5(0x212)](_0x23138a);return{'resource':_0x108831['resource'],'mode':_0x4b09e5(0x284),'issuedCount':_0x2b0ed4[_0x4b09e5(0x238)](_0x37523c,0x0)};}throw new IdGeneratorError(_0x4b09e5(0x25d),'Unknown\x20mode:\x20'+_0x164bdd);}async[a0_0x35aca2(0x24d)](_0x3025f0){const _0x22f374=a0_0x35aca2,_0xa5aa55={'dziTq':function(_0x5720fc,_0x2c7f26){return _0x5720fc===_0x2c7f26;},'ZKiUb':function(_0xd0b64,_0x1fb1b0){return _0xd0b64>_0x1fb1b0;}},_0x31a1f=await this['peek'](_0x3025f0);if(_0xa5aa55[_0x22f374(0x2b8)](_0x31a1f[_0x22f374(0x1e0)],_0x22f374(0x2ac))){const _0x3e9a60=redisClient['getClient'](),_0x16affb=this['_buildMetaKey'](_0x3025f0[_0x22f374(0x1f7)],_0x31a1f[_0x22f374(0x231)]),_0x3dcac3=this[_0x22f374(0x260)](_0x3025f0[_0x22f374(0x1f7)],_0x31a1f['formatKey']),[_0x5e8c87,_0x29c513]=await Promise[_0x22f374(0x211)]([_0x3e9a60['hgetall'](_0x16affb),_0x3e9a60[_0x22f374(0x2d8)](_0x3dcac3,0x0,-0x1)]);return{..._0x31a1f,'reusePoolValues':_0x29c513['map'](_0x56476d=>parseInt(_0x56476d,0xa)),'meta':_0x5e8c87&&_0xa5aa55[_0x22f374(0x2c0)](Object['keys'](_0x5e8c87)['length'],0x0)?_0x5e8c87:null};}return _0x31a1f;}async['reset'](_0x19312e){const _0x379561=a0_0x35aca2,_0x253437={'hDJYZ':_0x379561(0x201),'mSOJJ':'Reset\x20operation\x20not\x20allowed\x20(set\x20IDGEN_ALLOW_RESET=true\x20to\x20enable)','YlTXC':'text','QrIhn':_0x379561(0x2fd),'bbjHR':'reuse','UQHrc':'meta','hhKfj':'random','YrKsO':_0x379561(0x2f0)};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x379561(0x1e7));if(!this['allowReset'])throw new IdGeneratorError(_0x253437['hDJYZ'],_0x253437['mSOJJ']);this['_validateResource'](_0x19312e[_0x379561(0x1f7)]);const _0x33011a=_0x19312e['mode']||'number',_0x16a5fe=redisClient['getClient']();if(_0x33011a===_0x379561(0x2ac)){const _0x495ab2=(_0x19312e[_0x379561(0x25c)]||_0x253437['YlTXC'])[_0x379561(0x2ed)]();if(!ALLOWED_FORMATS[_0x379561(0x221)](_0x495ab2))throw new IdGeneratorError(_0x379561(0x2f7),'Invalid\x20format:\x20'+_0x19312e[_0x379561(0x25c)]);const {formatKey:_0x35ff1b}=this[_0x379561(0x2ae)](_0x495ab2,_0x19312e[_0x379561(0x29f)]||''),_0xecb07a=this['_buildSeqKey'](_0x19312e['resource'],_0x35ff1b),_0x1aa594=this[_0x379561(0x260)](_0x19312e[_0x379561(0x1f7)],_0x35ff1b),_0x3edd6d=this[_0x379561(0x1e5)](_0x19312e['resource'],_0x35ff1b);return await _0x16a5fe[_0x379561(0x2b6)](_0xecb07a,_0x1aa594,_0x3edd6d),logger['warn']({'event':_0x253437[_0x379561(0x1d3)],'resource':_0x19312e['resource'],'mode':_0x379561(0x2ac),'formatKey':_0x35ff1b},'ID\x20Generator\x20reset:\x20'+_0x19312e[_0x379561(0x1f7)]+':'+_0x35ff1b),{'reset':!![],'resource':_0x19312e[_0x379561(0x1f7)],'mode':'number','formatKey':_0x35ff1b,'deletedKeys':[_0x379561(0x25b),_0x253437['bbjHR'],_0x253437['UQHrc']]};}if(_0x33011a===_0x253437['hhKfj']){const _0x46630a=this['_buildIssuedKey'](_0x19312e['resource']);return await _0x16a5fe['del'](_0x46630a),logger[_0x379561(0x2e9)]({'event':_0x253437['QrIhn'],'resource':_0x19312e['resource'],'mode':_0x253437['hhKfj']},_0x379561(0x1f3)+_0x19312e['resource']),{'reset':!![],'resource':_0x19312e['resource'],'mode':_0x379561(0x284),'deletedKeys':[_0x253437['YrKsO']]};}throw new IdGeneratorError('IDGEN_INVALID_MODE','Unknown\x20mode:\x20'+_0x33011a);}}const instance=new IdGenerator();instance['IdGeneratorError']=IdGeneratorError,module['exports']=instance,module[a0_0x35aca2(0x254)][a0_0x35aca2(0x265)]=IdGeneratorError;function a0_0x1694(){const _0x27b017=['EMnHCMq','x3zHBgLKyxrLuMvZB3vYy2u','surhru5Frevgqvvmvf9trvjjquXFuefuvevstG','BwvZC2fNzq','x3zHBgLKyxrLugf0DgvYBG','yxHYDMi','AM9PBG','zMLkEwq','x2DLBMvYyxrLrNjVBvbHDhrLCM4','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9UignVBMzPCM1LzdOG','ANf6uwK','nZeWoteXoejrBw9cqq','B2HLru4','EfPxywi','BKHPsu4','C3jLBq','surhru5Fq09vtLrfuL9pvKvsrKXpvW','surhru5Fsu5wquXjrf9srvnfuLzfx1ruta','surhru5Fsu5wquXjrf9quKvgsvG','x2j1AwXKqwn0AxzLs2v5','Cgf0DgvYBG','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vY','zgf0zvbYzwzPEa','vNvVuMC','r1n4AKy','y291BNrLCKLUDcbTDxn0igjLihbVC2L0AxzLigLUDgvNzxiGkgDVDdOG','surhru5Fsu5wquXjrf9trvbbuKfut1i','x2rLzMf1BhrqAw5eAwDPDhm','CMvWzwf0','CMfUzg9T','x2DLDenVDw50zxjuveW','x3L5ExLTBv8','AwrNzw5FCMvZzxj2yxrPB25Fy29UzMLYBwvK','BgvUz3rO','CMvZzxj2zq','x2j1AwXKuMvZzxj2yxrPB25lzxLqCMvMAxG','DhrS','x2vUC3vYzuLUAxrPywXPEMvK','z2vUzxjHDgvKqxq','ndbpqLfzwhu','sw52ywXPzcbPzgvTCg90zw5JEuTLEtOGBxvZDcbIzsbZDhjPBMCGms0','CMy6AwrNzw46','zw5HyMXLza','wgvUvuO','z2v0rgf0zq','uurWwxy','x2j1AwXKuMvZzxj2yxrPB25lzxK','sw52ywXPzcbUDw1Izxi6ig11C3qGyMuGBM9UlwvTChr5ihn0CMLUzW','ENz6v2S','cNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZfDlcbbuKDwwZfDlcbbuKDwwZfDkqPSB2nHBcb0DgWGpsb0B251BwjLCIHbuKDwwZjDkqPPzIb0DgWGpIaWihrOzw4kicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcb0DgWPcMvUzaPYzxr1CM4GmqO','AxnszxvZzwq','x2TLEvbYzwzPEa','ignOyxjZ','zxHWAxjLC0f0','x3zHBgLKyxrLtwf4uMv0CNK','mJm2ntm2mhDrq3HQEq','ChjLzML4','x3vUzg9syw5KB21szxnLCNzHDgLVBG','AwrNzw5FBNvTyMvYx2DLBMvYyxrLza','AwrNzw5FCMvZzxj2zv9PzgvTx2XVC2vYx2nHBMnLBf9LCNjVCG','CNn2s2v5','Dg9ju09tDhjPBMC','zgvMyxvSDe1HEfjLDhj5','Chr0Ba','B0X2zvm','zw5ZDxjLvw5PCxvL','x3jLC2vYDMvezwzHDwX0vfrm','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','BNvTyMvY','suqGr2vUzxjHDg9Yig51BwjLCIbYzxnLCNzLzdOG','x2j1AwXKrM9YBwf0s2v5','x2rLzMf1BhrtzxjPywXqyxr0zxjU','A2z1yxG','swrLBxbVDgvUy3KGu0vuie5yigvYCM9Y','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','AwrNzw4','suqGr2vUzxjHDg9Yig51BwjLCIbPzgvTihjHy2uGBg9ZDcWGCMv0DxjUAw5NihDPBM5LCIbLBNzLBg9Wzq','AwrNzw5FBNvTyMvYx3jLC2vYDMvK','zgvS','AwrNzw5FAwrLBv9SB3nLCL9YzwXLyxnLx2vYCM9Y','zhPPvhe','mdeYmZq1nJC4owfIy2rLzG','qKjSqLK','sfHJCuq','x3jLC2vYDMvnyxHuveW','z2v0q2XPzw50','x2rLzMf1BhrdB2rLugf0DgvYBG','CNn2swr4s2v5','wKTPvwi','sw52ywXPzcbZzxbHCMf0B3i6ig1HEcaZignOyxiSig11C3qGBM90ignVBNrHAw4GjZONicHNB3q6ia','rhr0vuW','surhru5FuKvtrvjwrv9eruzbvuXux1ruta','C1neqvy','surhru5Fsurftv9uveW','CMfUzg9Tvvvjra','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','ExL5Ew1T','AgDLDgfSBa','zNPIwuu','teHICxG','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','y3blDNu','uKzNA2O','x2LUAxrPywXPEMvK','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','sLPltNi','DMfSDwuGAxmGCMvXDwLYzwq','suqGr2vUzxjHDg9YignVBMzPzYbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','ExL5Eq','CMvZzxj2zv9LEhrLBMq','CMfUzg9Tsw50','CNn2oG','ENjHBMDL','AwrNzw5FCMfUzg9Tx3vUzg9FzxjYB3i','x3n0B3jLswrLBunHy2HLtLG','ChvZAa','C3rYAw5N','v2PTAuC','surhru5Fsu5wquXjrf9ovu1crvi','zxHLyW','q291BNrLCIbVDMvYzMXVDZOG','swjSAKq','A2fnuee','ExL5Ew1Tzgq','BLPgCLi','x2LUAxrdB25MAwC','zw52','sw52ywXPzcbTyxHszxrYEtOGBxvZDcbIzsbPBNrLz2vYideT','Aw5MBW','D2fYBG','CgfKzgvKicHNB3q6ia','t3zMrvC','C3rVCMvK','Dg9mB3DLCKnHC2u','wNPkquO','sKTWwuS','AxnZDwvK','z2Ldr0S','rw1SsMG','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcaOz290oIa','AwrNzw5Fy29UC3vTzwq','DMfSDwu','AwrNzw5FAwrLBv9UEf9YywnLx2XVC3rFyNv0x2vTChr5','surhru5Fsu5wquXjrf9gt1jnqvq','zxHWAxjL','AwrNzw5FCMvZzxj2zv92ywX1zv9WzxjZAxn0x2vYCM9Y','AwrLBxbVDgvUy3LlzxK','x3bHzdi','y29Kzq','AwrNzw5FCMvZzxq','sw52ywXPzcbYzxnLCNzHDgLVBIb0DgW6ig11C3qGyMuGAw50zwDLCIa','Auj4wNy','uenZruK','uxjjAg4','t2LXve0','rKTfzNG','zgLNAxrZ','x3n0B3jLswrLBunHy2HL','mZaZmZyZnKH2DLLJrq','x2nVDw50zxjuveXnyxa','AwrNzw5FAwrLBv9YzxrYAwv2zv9LCNjVCG','x2fSBg93uMvZzxq','surhru5Fsu5wquXjrf9uveW','x3jLDhjPzxzLswrLBunHy2HL','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKihrLEhqGzM9YBwf0icHNB3q6ia','rMfPBgvKihrVignVBxbLBNnHDguGCMvZzxj2yxrPB24Gywz0zxiGy291BNrLCIbVDMvYzMXVDW','Bw9Kzq','CMvZzxj2zu1HEfruta','zxzHBa','x2rLzMf1BhrnyxHszxrYEq','AwrNzw5FBNvTyMvYx3jLBgvHC2vK','x2j1AwXKtwv0yuTLEq','icH0B2TLBJ0','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','AwrNzw5FBNvTyMvYx2LKzw1FBg9Zzxi','CgLU','surhru5Frevgqvvmvf9nqvHFuKvuuLK','DgvZDa','AxnjBNrLz2vY','surhru5FquXmt1DFuKvtrvq','Dg9Rzw4','y291BNrLCKLUDa','C3rYAw5NAwz5','rwTKDMK','surhru5Fsu5wquXjrf9srvnpvvjdrq','suqGr2vUzxjHDg9YihjLC2v0oIbYyw5KB206','tfLkDxC','lcbNB3qG','yNvPBgrezxrLCM1PBMLZDgLJs2v5','CMvZB3vYy2u','BNvTrgLNAxrZ','zgvMyxvSDenVzgvqyxr0zxjU','BhPgy0q','rLDiBMG','CMvZzxj2zu51BwjLCG','BMfTzq','vw5RBM93BIbMB3jTyxq6ia','x2vUywjSzwq','yK5HAM8','surhru5FuKvtrvrFtK9ux0fmte9xruq','AwrNzw5FAwrLBv9ZDg9Yzv9LCNjVCG','AwrNzw5FAwrLBv9ZDg9Yzw54x2vYCM9Y','surhru5Fru5bqKXfra','y29UzMLYBvjLC2vYDMf0Aw9U','tvPezMS','suqGr2vUzxjHDg9Yig51BwjLCJOG','uuLLA3e','C2v0','wuXyAe8','Dgv4Da','A2v5CW','CgvLAW','CMvSzwfZzq','surhru5FreLtqujmruq','Bwf0y2G','ywXS','C2nHCMq','Dhj1zq','mtG0nJq4vwfVBLrZ','CMvZzxj2zv9Jyw5JzwW','CejcC1y','x2zVCM1HDe51BwjLCG','AwrNzw5FBwv0yv91CgrHDgvFzxjYB3i','x2j1AwXKsxnZDwvKs2v5','sw52ywXPzcb0DgW6ig11C3qGyMuGAw50zwDLCIaXlq','C2vWyxjHDg9Y','rxLICu8','swDvwfO','rujfywC','uMfUzg9TihjLC2vYDMf0Aw9UihvUzg8GzxjYB3iGkg9YCgHHBIbZBg90ig1HEsbYzw1HAw4P','BM93','AgfZ','CgfYC2u','D3nOBu4','surhru5Fsu5wquXjrf9nqvHFuKvuuLK','mta1nti4nxbptKXgwq','tezUCMe','surhru5Fsu5wquXjrf9qqvrurvjo','mZnUAxr6ELa','Bwf4uMv0CNK','CMvSzwfZzwrbDa','x3vWzgf0zu1LDge','CMvZzxj2zv9JB25MAxjT','twv0ysb1CgrHDguGzxjYB3i','igrPz2L0CYaOz290oIa','nNWXFdeWFdH8oxWYFdD8nxWWFdeXFdr8mW','sw52ywXPzcbWCMvMAxG6ig11C3qGBwf0y2GG','zM9YBwf0s2v5','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','refZzeG','zgvMyxvSDfbPBKrPz2L0CW','lwrPz2L0ignHCgfJAxr5icG','BhDsDgu','mZG5ndG1nKf6AejnCq','C29uzeG','y291BNrLCG','sw52ywXPzcbUDw1eAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','tNvTyMvYihbYzwzPEcbTAxnTyxrJAdOGzxHWzwn0zwqG','vhPtAfe','wfHywc1ywfHylvHywfGTwfHywa','y0PWEvq','ywn0AxzLoG','AwrLBuTLEq','surhru5FuKvtrvjwrv9nqvHFvfrm','zKjWBxK','D2LUBMvYuMvZDwX0','DKfbuhO','EfHfvxi','sfb2AvC','lcaR','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','mJC5mdy2tunRDerP','z2v0rNvSBfLLyxi','thL3BMq','wgrYBxq','z2v0sw5MBW','sw52ywXPzcbWyxr0zxjUoIbTDxn0ignVBNrHAw4GyxqGBgvHC3qGB25LihbSywnLAg9SzgvYignOyxjHy3rLCIaOos9ol0eVys9ml1GVEc9il2GP','icHNB3q6ia','sw52ywXPzcbWyxr0zxjUoIbTDxn0igjLihn0CMLUzYaXlq','wwnMAvm','CMvZzxj2zurLzMf1BhruveW','zgvMyxvSDfnLCMLHBfbHDhrLCM4','zxHWB3j0CW','AeHbB0S','sw52ywXPzcbYzxnVDxjJztOGBxvZDcbTyxrJAca','surhru5Fvu5juvvfx1jfvfjzx0vysefvu1rfra','x3L5ExLTBwrKxW','x2LKzw1uveW','x3zHBgLKyxrLuMvZzxj2zvruta','C2vX','zM9YBwf0','surhru5Fsu5wquXjrf9nt0rf','igv4y2vLzhmG','AxjTuMS','x2j1AwXKuMv1C2vlzxK','A2v5uhjLzML4','Bw5bu2i','yLrmy1K','ihnLy29UzhmGkgDVDdOG','swrhzw5LCMf0B3jfCNjVCG','A1rOuhu'];a0_0x1694=function(){return _0x27b017;};return a0_0x1694();}
1
+ 'use strict';const a0_0x570cb3=a0_0x15de;(function(_0x4c8c98,_0x101b3d){const _0x45769b=a0_0x15de,_0x1ea0cf=_0x4c8c98();while(!![]){try{const _0x174159=parseInt(_0x45769b(0x299))/0x1*(-parseInt(_0x45769b(0x2ba))/0x2)+parseInt(_0x45769b(0x234))/0x3*(-parseInt(_0x45769b(0x1cc))/0x4)+parseInt(_0x45769b(0x1d4))/0x5*(-parseInt(_0x45769b(0x27a))/0x6)+-parseInt(_0x45769b(0x2a8))/0x7+parseInt(_0x45769b(0x1ab))/0x8*(-parseInt(_0x45769b(0x1d3))/0x9)+parseInt(_0x45769b(0x1ef))/0xa*(-parseInt(_0x45769b(0x257))/0xb)+parseInt(_0x45769b(0x25e))/0xc;if(_0x174159===_0x101b3d)break;else _0x1ea0cf['push'](_0x1ea0cf['shift']());}catch(_0x422839){_0x1ea0cf['push'](_0x1ea0cf['shift']());}}}(a0_0x12f3,0x83618));const crypto=require(a0_0x570cb3(0x1b9)),redisClient=require(a0_0x570cb3(0x1e7)),{logger}=require(a0_0x570cb3(0x202)),idempotencyManager=require('./idempotency-manager'),ALLOWED_FORMATS=new Set(['text','yyyy',a0_0x570cb3(0x1b0),'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_0x570cb3(0x1e8),CHARSET_UPPER=a0_0x570cb3(0x27f),CHARSET_LOWER=a0_0x570cb3(0x195),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_0x570cb3(0x28e),CHARSET_HEX_LOWER=a0_0x570cb3(0x2b3),PLACEHOLDER_MAP={'9':CHARSET_DIGIT,'N':CHARSET_DIGIT,'A':CHARSET_UPPER,'a':CHARSET_LOWER,'L':CHARSET_LETTERS,'X':CHARSET_UPPER_ALNUM,'x':CHARSET_MIXED_ALNUM,'H':CHARSET_HEX_UPPER,'h':CHARSET_HEX_LOWER},LUA_GENERATE_NUMBER='\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20reused\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#reused\x20>\x200\x20then\x0a\x20\x20\x20\x20return\x20{tonumber(reused[1]),\x201}\x0a\x20\x20end\x0aend\x0alocal\x20n\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0alocal\x20ttl\x20=\x20tonumber(ARGV[2])\x0aif\x20ttl\x20>\x200\x20and\x20n\x20==\x201\x20then\x0a\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20ttl)\x0aend\x0areturn\x20{n,\x200}\x0a',LUA_RELEASE_NUMBER=a0_0x570cb3(0x29a),LUA_RESERVE_NUMBER='\x0alocal\x20unpk\x20=\x20unpack\x20or\x20table.unpack\x0a\x0a--\x20Step\x201:\x20lazy\x20reap\x20expired\x20reservations\x20(cap\x20RESERVE_REAP_BATCH)\x0alocal\x20reaped\x20=\x200\x0alocal\x20nowMs\x20=\x20ARGV[7]\x0alocal\x20rsvPrefix\x20=\x20ARGV[8]\x0alocal\x20expired\x20=\x20redis.call(\x27ZRANGEBYSCORE\x27,\x20KEYS[3],\x20\x27-inf\x27,\x20\x27(\x27\x20..\x20nowMs,\x20\x27LIMIT\x27,\x200,\x2064)\x0afor\x20i\x20=\x201,\x20#expired\x20do\x0a\x20\x20local\x20expToken\x20=\x20expired[i]\x0a\x20\x20local\x20expRsvKey\x20=\x20rsvPrefix\x20..\x20expToken\x0a\x20\x20local\x20expCounter\x20=\x20redis.call(\x27HGET\x27,\x20expRsvKey,\x20\x27counter\x27)\x0a\x20\x20if\x20expCounter\x20then\x0a\x20\x20\x20\x20redis.call(\x27ZADD\x27,\x20KEYS[2],\x20expCounter,\x20expCounter)\x0a\x20\x20end\x0a\x20\x20redis.call(\x27DEL\x27,\x20expRsvKey)\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[3],\x20expToken)\x0a\x20\x20reaped\x20=\x20reaped\x20+\x201\x0aend\x0a\x0a--\x20Step\x202:\x20allocate\x20counter\x20(ZPOPMIN\x20reuse\x20atau\x20INCR\x20seq)\x0alocal\x20counterInt\x0alocal\x20isReused\x20=\x200\x0aif\x20ARGV[1]\x20==\x20\x271\x27\x20then\x0a\x20\x20local\x20r\x20=\x20redis.call(\x27ZPOPMIN\x27,\x20KEYS[2],\x201)\x0a\x20\x20if\x20#r\x20>\x200\x20then\x0a\x20\x20\x20\x20counterInt\x20=\x20tonumber(r[1])\x0a\x20\x20\x20\x20isReused\x20=\x201\x0a\x20\x20end\x0aend\x0aif\x20not\x20counterInt\x20then\x0a\x20\x20counterInt\x20=\x20redis.call(\x27INCR\x27,\x20KEYS[1])\x0a\x20\x20local\x20cttl\x20=\x20tonumber(ARGV[2])\x0a\x20\x20if\x20cttl\x20>\x200\x20and\x20counterInt\x20==\x201\x20then\x0a\x20\x20\x20\x20redis.call(\x27EXPIRE\x27,\x20KEYS[1],\x20cttl)\x0a\x20\x20end\x0aend\x0a\x0a--\x20Step\x203:\x20write\x20reservation\x20hash\x20+\x20index\x20+\x20TTL\x0alocal\x20rsvKey\x20=\x20ARGV[4]\x0alocal\x20rsvTtlMs\x20=\x20tonumber(ARGV[5])\x0alocal\x20expiresAtMs\x20=\x20tonumber(ARGV[6])\x0alocal\x20nargs\x20=\x20#ARGV\x0alocal\x20fields\x20=\x20{}\x0afor\x20i\x20=\x209,\x20nargs\x20do\x0a\x20\x20fields[#fields\x20+\x201]\x20=\x20ARGV[i]\x0aend\x0aredis.call(\x27HSET\x27,\x20rsvKey,\x20\x27counter\x27,\x20counterInt,\x20\x27isReused\x27,\x20isReused,\x20unpk(fields))\x0aredis.call(\x27PEXPIRE\x27,\x20rsvKey,\x20rsvTtlMs)\x0aredis.call(\x27ZADD\x27,\x20KEYS[3],\x20expiresAtMs,\x20ARGV[3])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[3],\x20math.floor(rsvTtlMs\x20/\x201000)\x20+\x2060)\x0a\x0areturn\x20{\x20counterInt,\x20isReused,\x20reaped\x20}\x0a',LUA_CONFIRM_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27,\x20\x27isReused\x27,\x20\x27createdAt\x27,\x20\x27expiresAt\x27)\x0aredis.call(\x27DEL\x27,\x20KEYS[1])\x0aredis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0areturn\x20{\x201,\x20h[1],\x20h[2],\x20h[3],\x20h[4],\x20h[5],\x20h[6]\x20}\x0a',LUA_CANCEL_RESERVATION=a0_0x570cb3(0x2af),LUA_EXTEND_RESERVATION='\x0aif\x20redis.call(\x27EXISTS\x27,\x20KEYS[1])\x20==\x200\x20then\x0a\x20\x20redis.call(\x27ZREM\x27,\x20KEYS[2],\x20ARGV[1])\x0a\x20\x20return\x20{\x200\x20}\x0aend\x0alocal\x20h\x20=\x20redis.call(\x27HMGET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20\x27counter\x27,\x20\x27value\x27,\x20\x27formatKey\x27,\x20\x27isReused\x27,\x20\x27createdAt\x27)\x0alocal\x20prevExpiresAt\x20=\x20h[1]\x0alocal\x20newTtlMs\x20=\x20tonumber(ARGV[2])\x0alocal\x20newExpMs\x20=\x20tonumber(ARGV[3])\x0aredis.call(\x27PEXPIRE\x27,\x20KEYS[1],\x20newTtlMs)\x0aredis.call(\x27HSET\x27,\x20KEYS[1],\x20\x27expiresAt\x27,\x20ARGV[4])\x0aredis.call(\x27ZADD\x27,\x20KEYS[2],\x20newExpMs,\x20ARGV[1])\x0aredis.call(\x27EXPIRE\x27,\x20KEYS[2],\x20math.floor(newTtlMs\x20/\x201000)\x20+\x2060)\x0areturn\x20{\x201,\x20prevExpiresAt,\x20h[2],\x20h[3],\x20h[4],\x20h[5],\x20h[6]\x20}\x0a';class IdGeneratorError extends Error{constructor(_0x250792,_0x105452,_0x5ae417=null){const _0x22183e=a0_0x570cb3,_0x31d02f={'yIxOi':_0x22183e(0x23a)};super(_0x105452||_0x250792),this['name']=_0x31d02f['yIxOi'],this['code']=_0x250792,this[_0x22183e(0x24c)]=_0x5ae417;}}function a0_0x12f3(){const _0x35a29e=['ugrkEKu','t0vKq0G','x2LUAxrPywXPEMvK','ExL5Ew1T','AwrLBuTLEq','surhru5Fsu5wquXjrf9ovu1FreLhsvrt','u0DiruK','CMv1C2u','CxHTDKC','ExL5Ew1Tzgq','CNn2swr4s2v5','AxnfBMfIBgvK','y3j5ChrV','x3zHBgLKyxrLugf0DgvYBG','x3vUzg9syw5KB21szxnLCNzHDgLVBG','zM9YBwf0','B1LUEfa','D1vcAuW','C2fKza','AwrNzw5FBNvTyMvYx3jLC2vYDMvK','z2v0uMvZzxj2yxrPB24','BM93','v0Tqswq','Dg9ju09tDhjPBMC','rLHKENK','BwvZC2fNzq','AhnLDa','BNvTrgLNAxrZ','Bw9Kzq','Bwf4uMv0CNK','Ew1JCe4','nteYuhvsqvjR','y21Asw8','Cxz4sge','D2jhwgu','ExL5Eq','DMjUy3q','x3n0B3jLswrLBunHy2HL','mtCZmtiWneLOAMHbDG','mta5nvL0uw5gzG','x3bHzdi','C2vWyxjHDg9Y','wgHTweS','zxHWB3j0CW','surhru5Fsu5wquXjrf9nt0rf','zw52','zw5ZDxjLvw5PCxvL','z2v0q2XPzw50','zgvMyxvSDe1HEfjLDhj5','CMvWzwf0','CgfYC2u','x2vUC3vYzuLUAxrPywXPEMvK','DhrS','suqGr2vUzxjHDg9YihjLC2v0oIa','x3jLC2vYDMvnyxHuveW','sw52ywXPzcbKAwDPDhm6ig11C3qGyMuGAw50zwDLCIa','surhru5Fsu5wquXjrf9ut0TftG','yKzjuei','lI9YzwrPCY1JBgLLBNq','mdeYmZq1nJC4oq','y291BNrLCG','swrLBxbVDgvUy3KGC3rVCMuGzxjYB3i','C3rYAw5N','zw5HyMXLza','x2TLEvbYzwzPEa','BNvTyMvY','mJqYmeL3BuLwzG','CMvZB3vYy2u','tfrVwKG','EMTpy0S','swrLBxbVDgvUy3KGy2fJAguGseLu','vfrqvvK','AwrNzw5FCMvZzxj2yxrPB25Fy29UzMLYBwvK','zgvS','AwrLBvruta','CgfKu3rHCNq','sw52ywXPzcbYzxvZzurLBgv0ztOGBxvZDcbIzsbIB29SzwfUicHNB3q6ia','Dg9mB3DLCKnHC2u','CMvZzxj2zu1HEfruta','x2rLzMf1BhrnyxHszxrYEq','AwrLBxbVDgvUy3LlzxK','DgvZDa','x2nVDw50zxjuveXnyxa','zgLNAxrZ','y291BNrLCKLUDa','lI9SB2DNzxi','ywXSB3DszxnLDa','x2DLDenVDw50zxjuveW','wvjZA0u','C3jbuMq','surhru5Fsu5wquXjrf9gt1jnqvq','x2j1AwXKtwv0yuTLEq','AwrNzw5FCMvZzxj2zv92ywX1zv9WzxjZAxn0x2vYCM9Y','suqGr2vUzxjHDg9YignVBNn1BwvKoIa','y1nctvK','BgvUz3rO','C3rYAw5NAwz5','t1bcB28','C2v0','uMvZzxqGB3bLCMf0Aw9Uig5VDcbHBgXVD2vKicHZzxqGsurhru5FquXmt1DFuKvtrvq9Dhj1zsb0BYbLBMfIBguP','ENHesvm','qMD5vxO','surhru5Frevgqvvmvf9nqvHFuKvuuLK','DKXPzxK','DMfSDwu','x3bHCNnLtNvTyMvY','C2nHCMq','Exnfs0y','y2fUy2vSuMvZzxj2yxrPB24','suqGr2vUzxjHDg9YihjLC2vYDMf0Aw9Uigv4DgvUzgvKoIa','CMvZzxj2zurLzMf1BhruveW','Ag1Nzxq','swrLBxbVDgvUy3KGu0vuie5yigvYCM9Y','CMy6AwrNzw46','C3jLBq','suqGr2vUzxjHDg9Yig51BwjLCIbYzwXLyxnLzdOG','r0LzExe','D2fYBG','x2rLzMf1BhrqAw5eAwDPDhm','AwrNzw5Fy29UzMLNx2LUAxq','x3zHBgLKyxrLtNvTyMvYugfYyw1Z','surhru5Fsu5wquXjrf9qqvrurvjo','EKvuDgW','CgvLAW','rMfPBgvKihrVignHBMnLBcbYzxnLCNzHDgLVBIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','suqGr2vUzxjHDg9YigLZigrPC2fIBgvK','surhru5Fsu5wquXjrf9srvnpvvjdrq','uvn6C28','x2j1AwXKsxnZDwvKs2v5','q291BgqGBM90igDLBMvYyxrLihvUAxf1zsb2ywX1zsbHzNrLCIa','suqGr2vUzxjHDg9Yig51BwjLCJOG','ywXS','surhru5Fvu5juvvfx1jfvfjzx0vysefvu1rfra','surhru5Frevgqvvmvf9dt0rfx1bbvfrfuK4','x3vWzgf0zu1LDge','mJaXnM1wtNnsrW','tNvTyMvYigrHDgvqCMvMAxGGAw52ywXPzcbMB3iGzM9YBwf0ia','Bwv0yq','x2j1AwXKuMvZzxj2yxrPB25lzxLqCMvMAxG','x2j1AwXKuMvZzxj2yxrPB25jBMrLEeTLEq','B01zwxu','swrhzw5LCMf0B3jfCNjVCG','vw5RBM93BIbTB2rLoIa','DuXKzMS','x2vUywjSzwq','AgLnyNC','ChjLzML4','zgvMyxvSDfbPBKrPz2L0CW','u0vuie5yigzHAwXLzcbIDxqGy2fJAguGr0vuihjLDhvYBMvKigvTChr5iokaLcbMywXSAw5NigjHy2SGDg8GB3DUihjLC3vSDa','z2v0','AwXkBgi','uNP6EKK','z2vUzxjHDgvKqxq','x3L5ExLTBwrKxW','AwrNzw5Fy29UC3vTzwq','Dg9Rzw4','AwrNzw5FCMfUzg9Tx3vUzg9FzxjYB3i','C2vYAwfS','CgLWzwXPBMu','zgv0ywLSCW','teLOA08','uwD1D1y','x3L5ExLTBv8','zM9YBwf0s2v5','zxzHBa','z2v0rNvSBfLLyxi','D2LUBMvYuMvZDwX0','surhru5FuKvtrvjwqvrjt05FtK9ux0zpvu5e','yNvPBgrezxrLCM1PBMLZDgLJs2v5','ks4Gsw5JCMvHC2uGBNvTrgLNAxrZlG','mJCXndHQruvyuMu','surhru5Fsu5wquXjrf9esuDjvfm','Cgf0DgvYBG','qwvpDvC','x2j1AwXKrM9YBwf0s2v5','x3zHBgLKyxrLuMvZB3vYy2u','BwfW','mZu5odG0ntzwq0vMz0S','surhru5FuKvtrvrFtK9ux0fmte9xruq','AgfZ','EuTZBhu','ignOyxjZicHNB3qGBgvUz3rOoIa','r3rrDhq','lcbLEhbLy3rLzca','x2fSBg93uMvZzxq','CMfUzg9T','tNvTyMvYignVDw50zxiGCgfYDcbTDxn0igjLigv4ywn0BhKG','x3L5ExLF','sKDYqLi','suqGr2vUzxjHDg9YihjHBMrVBtOG','sw52ywXPzcbWyxr0zxjUoIbTDxn0igjLihn0CMLUzYaXlq','sw52ywXPzcbWCMvMAxG6ig11C3qGBwf0y2GG','zgf0zvbYzwzPEa','y29Kzq','r2jlBwq','DMrvy2i','vw5RBM93BIbMB3jTyxq6ia','DLzpt1O','Chr0Ba','A2v5CW','sw52ywXPzcbMB3jTyxq6ia','CMvZzxj2zv9LEhrLBMq','zfPJCLy','ywn0AxzLoG','uMvZzxj2yxrPB24GBM90igzVDw5Kig9YigfSCMvHzhKGy29UC3vTzwq6ia','mJe1nZbNz0HczLi','x3zHBgLKyxrLtwf4uMv0CNK','CgfKzgvKicHNB3q6ia','x3jLDhjPzxzLswrLBunHy2HL','x3rLEhq','qujdrevgr0HjsKTmtu5puffsu1rvvLDywvO','AxnjBNrLz2vY','x2rLzMf1BhrdB2rLugf0DgvYBG','CNn2s2v5','ufbZq0e','x2rLzMf1BhrtzxjPywXqyxr0zxjU','surhru5FreLtqujmruq','sw52ywXPzcbPzgvTCg90zw5JEuTLEtOGBxvZDcbIzsbZDhjPBMCGms0','x3zHBgLKyxrLswrLBxbVDgvUy3LlzxK','Bwf0y2G','CMvZzxj2zv9JB25MAxjT','whzKyLK','CgLU','sw52ywXPzcbMB3jTyxq6ig11C3qGyMuGB25Lig9Mia','swPIyMW','mdeYmZq1nJC4oufcq0rfrG','A2v5uhjLzML4','lcaR','x2j1AwXKqwn0AxzLs2v5','u0LdyLO','zK5IuNe','CMfUzg9Tvvvjra','Dgv4Da','x3jLC2vYDMvezwzHDwX0vfrm','x2j1AwXKswrLBuTLEq','uwLRDMy','mJa4mJiXEM1sEeje','cNjLzgLZlMnHBgWOj1PbreqNlcblrvLtwZfDlcbbuKDwwZfDlcbbuKDwwZfDkqPSB2nHBcb0DgWGpsb0B251BwjLCIHbuKDwwZjDkqPPzIb0DgWGpIaWihrOzw4kicbYzwrPCY5JywXSkcDfwfbjuKuNlcblrvLtwZfDlcb0DgWPcMvUzaPYzxr1CM4GmqO','CMjVwNu','AwrNzw4','x3zHBgLKyxrLuMvZzxj2zvruta','rMfPBgvKihrVihjLBgvHC2uGy291BNrLCIbMB3iGAwrLBxbVDgvUy3KGBg9Zzxi','icHNB3q6ia','zxHWAxjLC0f0','surhru5FquXmt1DFuKvtrvq','AxnZDwvK','sxjtC2u','AM9PBG','CMvZzxq','CMvZzxj2zq','AhPKDhu','mtiXmZe0mLLWveTIzG','x3zHBgLKyxrLuMvZzxj2yxrPB25uB2TLBG','Aw5MBW','tNvTyMvYihbYzwzPEcbTAxnTyxrJAdOGzxHWzwn0zwqG','sw52ywXPzcbZzxbHCMf0B3i6ig1HEcaZignOyxiSig11C3qGBM90ignVBNrHAw4GjZONicHNB3q6ia','x2LKzw1uveW','x2DLDfjLC2vYDMf0Aw9Uq29UDgv4Da','cMLMihjLzgLZlMnHBgWOj0vysvnuuYCSieTfwvnBmv0Pid09idaGDgHLBGOGihjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqOGihjLDhvYBIb7idaGFqPLBMqkBg9JywWGAca9ihjLzgLZlMnHBgWOj0Hnr0vujYWGs0vzu1SXxsWGj2nVDw50zxiNlcaNDMfSDwuNlcaNzM9YBwf0s2v5jYKkBg9JywWGy291BNrLCIa9igHBmv0kAwyGy291BNrLCIb0AgvUcIaGCMvKAxmUy2fSBcGNwKfercCSieTfwvnBm10SignVDw50zxiSignVDw50zxiPcIaGBg9JywWGDhrSid0GDg9UDw1IzxiOqvjhvLSYxsKkicbPzIb0DgWGpIaWihrOzw4kicaGihjLzgLZlMnHBgWOj0vyueLsrsCSieTfwvnBm10Sihr0BcKkicbLBMqkzw5KcNjLzgLZlMnHBgWOj0rftcCSieTfwvnBmv0PcNjLzgLZlMnHBgWOj1Psru0NlcblrvLtwZjDlcbbuKDwwZfDkqPYzxr1CM4GEYaXlcbJB3vUDgvYlcbOwZjDlcbOwZnDih0k','v1HNr1i','AgDLDgfSBa','tMvoDfm','mdeYmZq1nJC4owfIy2rLzG','suqGr2vUzxjHDg9YihjLC2vYDMuGAwrLBsbYywnLigXVC3qSihjLDhvYBMLUzYb3Aw5UzxiGzw52zwXVCgu','zLbMrLK','CMvSzwfZzwrbDa','icH0B2TLBJ0','x2zVCM1HDe51BwjLCG','C3bSAxq','nKD6uMjtAq','x2j1AwXKuMv1C2vlzxK','x3n0B3jLswrLBunHy2HLtLG','yM9VBgvHBG','surhru5Fsurftv9uveW','AxvSt00','CMvZzxj2zu51BwjLCG','tNvTyMvYigrVzxmGBM90ig1HDgnOigv4CgvJDgvKigzVCM1HDcbWCMvMAxG','C0noyuG','sg5AquS','ywjJzgvMz2HPAMTSBw5VChfYC3r1DND4ExO','sw52ywXPzcbYzxnLCNzHDgLVBIb0B2TLBJOGBxvZDcbIzsbHihzHBgLKifvvsuqGzM9YBwf0icHNB3q6ia','ihbHCNrZkq','C3zWzwS','otK5os05otK5','AwrNzw5FCMfUzg9Tx2LKzw1FBg9Zzxi','sLrIAee','u0PkDgG','surhru5Fq09vtLrfuL9uveXFtu9oveHmwq','x2j1AwXKu2vXs2v5','AwrNzw5FBNvTyMvYx2DLBMvYyxrLza','lwrPz2L0ignHCgfJAxr5icG','surhru5Frevgqvvmvf9qsu5FreLhsvrt','suqGr2vUzxjHDg9YigLZigrPC2fIBgvKicHZzxqGsurhru5Fru5bqKXfrd10CNvLkq','x2j1AwXKuMvZzxj2yxrPB25lzxK','x2DLBMvYyxrLrNjVBvbHDhrLCM4','Bwv0ytO','C2vX','A2rzEgy','u1npDu0','surhru5Fsu5wquXjrf9trvbbuKfut1i','C3PbwKe','oeP6t0LIBq','AvzHzMS'];a0_0x12f3=function(){return _0x35a29e;};return a0_0x12f3();}class IdGenerator{constructor(){const _0x5b526e=a0_0x570cb3;this['_initialized']=![],this['_enabled']=null,this[_0x5b526e(0x1ed)]=null,this['_idemTTL']=null,this['_allowReset']=null,this['_defaultMaxRetry']=null,this[_0x5b526e(0x223)]=null,this['_defaultSerialPattern']=null,this['_defaultCodePattern']=null,this[_0x5b526e(0x1ff)]=null,this[_0x5b526e(0x296)]=null,this['_reserveMaxTTL']=null;}['_initConfig'](){const _0x25efc8=a0_0x570cb3,_0x2588b3={'kpfoh':'1|10|4|8|0|2|7|9|6|11|12|5|3','LToZH':function(_0x52fa26,_0x239225,_0x379269){return _0x52fa26(_0x239225,_0x379269);},'CwUru':_0x25efc8(0x224),'bFIPB':'XXXX-XXXX-XXXX-XXXX','GDxbG':_0x25efc8(0x199),'ppqmH':function(_0x3bbb6c,_0x2bb572){return _0x3bbb6c===_0x2bb572;},'FXdzy':function(_0x74c3ab,_0x5754f9,_0x18cf48){return _0x74c3ab(_0x5754f9,_0x18cf48);}},_0x746654=_0x2588b3['kpfoh'][_0x25efc8(0x2b9)]('|');let _0x1a8b34=0x0;while(!![]){switch(_0x746654[_0x1a8b34++]){case'0':this[_0x25efc8(0x1fc)]=_0x2588b3[_0x25efc8(0x1f1)](parseInt,process['env'][_0x25efc8(0x213)],0xa)||0xa;continue;case'1':this[_0x25efc8(0x1ed)]=_0x25efc8(0x21e);continue;case'2':this[_0x25efc8(0x223)]=_0x2588b3[_0x25efc8(0x1f1)](parseInt,process['env'][_0x25efc8(0x1a1)],0xa)||0x6;continue;case'3':logger[_0x25efc8(0x2aa)]({'event':_0x2588b3['CwUru'],'enabled':this['_enabled'],'idemTTL':this[_0x25efc8(0x2ad)],'allowReset':this['_allowReset'],'defaultMaxRetry':this['_defaultMaxRetry'],'defaultPinDigits':this['_defaultPinDigits'],'reserveDefaultTTL':this['_reserveDefaultTTL'],'reserveMaxTTL':this['_reserveMaxTTL']},'ID\x20Generator\x20config\x20initialized\x20-\x20enabled:\x20'+this[_0x25efc8(0x23d)]);continue;case'4':this[_0x25efc8(0x2ad)]=parseInt(process['env'][_0x25efc8(0x2be)],0xa)||0x258;continue;case'5':this['_initialized']=!![];continue;case'6':this['_counterTTLMap']={'yyyymm':parseInt(process['env'][_0x25efc8(0x19d)],0xa)||0x2a3000,'yyyymmdd':parseInt(process[_0x25efc8(0x1da)]['IDGEN_COUNTER_TTL_DAILY'],0xa)||0x2a300};continue;case'7':this[_0x25efc8(0x284)]=process['env']['IDGEN_DEFAULT_SERIAL_PATTERN']||_0x2588b3[_0x25efc8(0x1e6)];continue;case'8':this['_allowReset']=process['env'][_0x25efc8(0x2a1)]==='true';continue;case'9':this['_defaultCodePattern']=process[_0x25efc8(0x1da)][_0x25efc8(0x232)]||_0x2588b3['GDxbG'];continue;case'10':this['_enabled']=_0x2588b3['ppqmH'](process['env']['IDGEN_ENABLED'],'true');continue;case'11':this[_0x25efc8(0x296)]=parseInt(process['env']['IDGEN_RESERVE_DEFAULT_TTL'],0xa)||DEFAULT_RESERVE_TTL;continue;case'12':this[_0x25efc8(0x1e3)]=_0x2588b3[_0x25efc8(0x1c5)](parseInt,process['env']['IDGEN_RESERVE_MAX_TTL'],0xa)||MAX_RESERVE_TTL;continue;}break;}}[a0_0x570cb3(0x1e0)](){const _0x547bb0=a0_0x570cb3;if(!this[_0x547bb0(0x1af)])this['_initConfig']();}get[a0_0x570cb3(0x1ec)](){const _0x17306c=a0_0x570cb3;return this['_ensureInitialized'](),this[_0x17306c(0x23d)];}get[a0_0x570cb3(0x28f)](){const _0x131ee3=a0_0x570cb3;return this[_0x131ee3(0x1e0)](),this[_0x131ee3(0x1ed)];}get[a0_0x570cb3(0x1f7)](){const _0x257317=a0_0x570cb3;return this['_ensureInitialized'](),this[_0x257317(0x2ad)];}get[a0_0x570cb3(0x203)](){const _0x4ea9cb=a0_0x570cb3;return this['_ensureInitialized'](),this[_0x4ea9cb(0x265)];}get[a0_0x570cb3(0x1dd)](){const _0x1f77f3=a0_0x570cb3;return this[_0x1f77f3(0x1e0)](),this['_defaultMaxRetry'];}get['defaultPinDigits'](){return this['_ensureInitialized'](),this['_defaultPinDigits'];}get['defaultSerialPattern'](){const _0x5d029f=a0_0x570cb3;return this['_ensureInitialized'](),this[_0x5d029f(0x284)];}get['defaultCodePattern'](){const _0x5bc7cb=a0_0x570cb3;return this['_ensureInitialized'](),this[_0x5bc7cb(0x281)];}get[a0_0x570cb3(0x21b)](){const _0x3844c3=a0_0x570cb3;return this[_0x3844c3(0x1e0)](),this[_0x3844c3(0x296)];}get[a0_0x570cb3(0x1fb)](){const _0x385e02=a0_0x570cb3;return this[_0x385e02(0x1e0)](),this['_reserveMaxTTL'];}[a0_0x570cb3(0x1b8)](){return this['enabled'];}[a0_0x570cb3(0x25c)](_0x4e3b00){const _0x5e22c4=a0_0x570cb3;if(typeof _0x4e3b00!=='string'||!RESOURCE_REGEX[_0x5e22c4(0x1fe)](_0x4e3b00))throw new IdGeneratorError('IDGEN_INVALID_RESOURCE','Invalid\x20resource:\x20must\x20match\x20'+RESOURCE_REGEX+'\x20(got:\x20'+JSON['stringify'](_0x4e3b00)+')');}['_validateNumberParams'](_0x4d8f89){const _0x26d0b4=a0_0x570cb3,_0x5945f5={'DgweO':function(_0x1faea7,_0x108655){return _0x1faea7===_0x108655;},'kYRGl':_0x26d0b4(0x1b2),'qxmvG':function(_0x29dc28,_0x20ce14){return _0x29dc28==_0x20ce14;},'VQNzG':_0x26d0b4(0x1eb),'ymcpN':function(_0x443395,_0x10b5da){return _0x443395>_0x10b5da;},'hzdtu':_0x26d0b4(0x1a9),'PdJzE':function(_0x57d2e8,_0x42742c){return _0x57d2e8!==_0x42742c;},'oMYYu':_0x26d0b4(0x2bd),'iVafk':_0x26d0b4(0x22b)},{resource:_0x48e356,format:_0x395af9,prefix:_0x42306b,separator:_0x3c9bf7,numDigits:_0x55b677,reuseDelete:_0x11de43}=_0x4d8f89;this['_validateResource'](_0x48e356);const _0x841521=_0x5945f5['DgweO'](typeof _0x395af9,'string')?_0x395af9[_0x26d0b4(0x1fa)]():'';if(!ALLOWED_FORMATS[_0x26d0b4(0x260)](_0x841521))throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0x26d0b4(0x28c)+[...ALLOWED_FORMATS][_0x26d0b4(0x2a4)](',\x20')+'\x20(got:\x20'+_0x395af9+')');if(!Number['isInteger'](_0x55b677)||_0x55b677<MIN_NUM_DIGITS||_0x55b677>MAX_NUM_DIGITS)throw new IdGeneratorError(_0x5945f5['kYRGl'],'Invalid\x20numDigits:\x20must\x20be\x20integer\x20'+MIN_NUM_DIGITS+'-'+MAX_NUM_DIGITS+_0x26d0b4(0x29f)+_0x55b677+')');const _0x221dd4=_0x5945f5[_0x26d0b4(0x1b5)](_0x42306b,null)?'':_0x42306b;if(typeof _0x221dd4!==_0x5945f5['VQNzG']||!PREFIX_REGEX['test'](_0x221dd4))throw new IdGeneratorError('IDGEN_INVALID_PREFIX',_0x26d0b4(0x26c)+PREFIX_REGEX+_0x26d0b4(0x29f)+JSON['stringify'](_0x42306b)+')');const _0x338c35=_0x3c9bf7==null?'':_0x3c9bf7;if(typeof _0x338c35!==_0x5945f5['VQNzG']||_0x5945f5[_0x26d0b4(0x1cb)](_0x338c35[_0x26d0b4(0x20c)],0x3)||SEPARATOR_FORBIDDEN['test'](_0x338c35))throw new IdGeneratorError(_0x5945f5[_0x26d0b4(0x2a7)],_0x26d0b4(0x2ac)+JSON[_0x26d0b4(0x20d)](_0x3c9bf7)+')');if(_0x11de43!=null&&_0x5945f5[_0x26d0b4(0x1ad)](typeof _0x11de43,_0x5945f5[_0x26d0b4(0x239)]))throw new IdGeneratorError(_0x5945f5[_0x26d0b4(0x1ac)],_0x26d0b4(0x1f9)+typeof _0x11de43+')');return{'resource':_0x48e356,'format':_0x841521,'prefix':_0x221dd4,'separator':_0x338c35,'numDigits':_0x55b677,'reuseDelete':_0x11de43===!![]};}[a0_0x570cb3(0x1ba)](_0x19ef95){const _0xa5019d=a0_0x570cb3,_0x375d34={'qdFRk':'string','HnZAK':function(_0x331f0e,_0x5877eb){return _0x331f0e===_0x5877eb;},'DMUuG':function(_0x4f064c,_0xb0ee3c){return _0x4f064c>_0xb0ee3c;}};if(typeof _0x19ef95!==_0x375d34['qdFRk']||_0x375d34[_0xa5019d(0x194)](_0x19ef95['length'],0x0)||_0x375d34['DMUuG'](_0x19ef95['length'],MAX_PATTERN_LENGTH))throw new IdGeneratorError(_0xa5019d(0x226),_0xa5019d(0x26b)+MAX_PATTERN_LENGTH+_0xa5019d(0x262)+(_0x19ef95&&_0x19ef95['length'])+')');let _0xde5ad9=![];for(const _0x65ba8 of _0x19ef95){if(PLACEHOLDER_MAP[_0x65ba8]){_0xde5ad9=!![];break;}}if(!_0xde5ad9)throw new IdGeneratorError(_0xa5019d(0x226),'Invalid\x20pattern:\x20must\x20contain\x20at\x20least\x20one\x20placeholder\x20character\x20(9/N/A/a/L/X/x/H/h)');}['_validateTTL'](_0x16ec25){const _0x24a12d=a0_0x570cb3,_0x84ebe9={'AoAjZ':function(_0x313a02,_0x1979f9){return _0x313a02==_0x1979f9;},'aVsoS':function(_0x5d670c,_0x4e24a7){return _0x5d670c<_0x4e24a7;},'ewGNk':'IDGEN_INVALID_TTL'};if(_0x84ebe9['AoAjZ'](_0x16ec25,null))return undefined;if(!Number[_0x24a12d(0x280)](_0x16ec25)||_0x84ebe9['aVsoS'](_0x16ec25,0x1)||_0x16ec25>MAX_TTL)throw new IdGeneratorError(_0x84ebe9['ewGNk'],'Invalid\x20ttl:\x20must\x20be\x20integer\x201-'+MAX_TTL+'\x20seconds\x20(got:\x20'+_0x16ec25+')');return _0x16ec25;}[a0_0x570cb3(0x27b)](_0x170c46){const _0x217b0e=a0_0x570cb3,_0x21c3ca={'vdUcb':function(_0x509363,_0x3e02bb){return _0x509363==_0x3e02bb;},'fPfFY':function(_0x13a9a2,_0x950051){return _0x13a9a2>_0x950051;}};if(_0x21c3ca[_0x217b0e(0x270)](_0x170c46,null))return this['defaultMaxRetry'];if(!Number['isInteger'](_0x170c46)||_0x170c46<0x1||_0x21c3ca[_0x217b0e(0x2b5)](_0x170c46,MAX_RETRY_LIMIT))throw new IdGeneratorError('IDGEN_INVALID_MAX_RETRY','Invalid\x20maxRetry:\x20must\x20be\x20integer\x201-'+MAX_RETRY_LIMIT+_0x217b0e(0x29f)+_0x170c46+')');return _0x170c46;}[a0_0x570cb3(0x287)](_0x356671){const _0x117d9a=a0_0x570cb3,_0x434f13={'EAWXN':function(_0x4263c2,_0x528baa){return _0x4263c2==_0x528baa;},'OIjLB':function(_0x1d106f,_0x46acdc){return _0x1d106f===_0x46acdc;},'ilJlb':function(_0x356ee9,_0xa17981){return _0x356ee9>_0xa17981;}};if(_0x434f13['EAWXN'](_0x356671,null))return undefined;if(typeof _0x356671!==_0x117d9a(0x1eb)||_0x434f13['OIjLB'](_0x356671['length'],0x0)||_0x434f13[_0x117d9a(0x243)](_0x356671['length'],MAX_IDEMPOTENCY_KEY_LENGTH))throw new IdGeneratorError(_0x117d9a(0x22b),_0x117d9a(0x286)+MAX_IDEMPOTENCY_KEY_LENGTH+'\x20chars');return _0x356671;}['_validateReserveTTL'](_0x2713c8){const _0x2394e2=a0_0x570cb3,_0x4636d1={'uLdfk':function(_0x5ac364,_0x5351cb){return _0x5ac364==_0x5351cb;},'AeOuW':'IDGEN_INVALID_RESERVE_TTL'};if(_0x4636d1[_0x2394e2(0x23c)](_0x2713c8,null))return this[_0x2394e2(0x21b)];if(!Number['isInteger'](_0x2713c8)||_0x2713c8<MIN_RESERVE_TTL||_0x2713c8>this['reserveMaxTTL'])throw new IdGeneratorError(_0x4636d1[_0x2394e2(0x25a)],'Invalid\x20reservation\x20ttl:\x20must\x20be\x20integer\x20'+MIN_RESERVE_TTL+'-'+this['reserveMaxTTL']+'\x20seconds\x20(got:\x20'+_0x2713c8+')');return _0x2713c8;}[a0_0x570cb3(0x2a9)](_0x38e0a2){const _0x31ee4f=a0_0x570cb3,_0x59a2cd={'VIdxb':function(_0x36ebf1,_0x4f0528){return _0x36ebf1!==_0x4f0528;}};if(_0x59a2cd['VIdxb'](typeof _0x38e0a2,_0x31ee4f(0x1eb))||!RESERVATION_TOKEN_REGEX['test'](_0x38e0a2))throw new IdGeneratorError(_0x31ee4f(0x1e5),_0x31ee4f(0x196)+JSON['stringify'](_0x38e0a2)+')');return _0x38e0a2;}[a0_0x570cb3(0x1d5)](_0x45f170){const _0x241308={'btkzc':function(_0x40b1fd,_0x34b2b1){return _0x40b1fd(_0x34b2b1);}};return _0x241308['btkzc'](String,_0x45f170)['padStart'](0x2,'0');}['_buildFormatKey'](_0x1167c5,_0xbd5b45,_0x445ee8=new Date()){const _0x5e7cb7=a0_0x570cb3,_0xbe81a4={'QguwV':'yyyymm','MWqRL':'IDGEN_INVALID_FORMAT'},_0x479cd0=_0x445ee8[_0x5e7cb7(0x252)](),_0xa9f8a4=this['_pad2'](_0x445ee8['getMonth']()+0x1),_0xcaf1e4=this[_0x5e7cb7(0x1d5)](_0x445ee8['getDate']()),_0x44c845=_0xbd5b45||'_';let _0x46802e,_0x5981ce='';switch(_0x1167c5){case _0x5e7cb7(0x295):_0x46802e=_0x44c845+_0x5e7cb7(0x27e);break;case _0x5e7cb7(0x1d0):_0x5981ce=''+_0x479cd0,_0x46802e=_0x44c845+_0x5e7cb7(0x268)+_0x5981ce;break;case _0xbe81a4[_0x5e7cb7(0x24e)]:_0x5981ce=''+_0x479cd0+_0xa9f8a4,_0x46802e=_0x44c845+_0x5e7cb7(0x24f)+_0x5981ce;break;case _0x5e7cb7(0x1b6):_0x5981ce=''+_0x479cd0+_0xa9f8a4+_0xcaf1e4,_0x46802e=_0x44c845+_0x5e7cb7(0x246)+_0x5981ce;break;default:throw new IdGeneratorError(_0xbe81a4['MWqRL'],_0x5e7cb7(0x271)+_0x1167c5);}return{'formatKey':_0x46802e,'datePrefix':_0x5981ce};}[a0_0x570cb3(0x19e)](_0x2e902c,_0x46ba27){return this['keyPrefix']+'seq:'+_0x2e902c+':'+_0x46ba27;}['_buildReuseKey'](_0xba3dc0,_0x5dab89){const _0x7979b3=a0_0x570cb3;return this[_0x7979b3(0x28f)]+'reuse:'+_0xba3dc0+':'+_0x5dab89;}[a0_0x570cb3(0x208)](_0x4ac776,_0x2b25e4){const _0xf9ca12=a0_0x570cb3;return this['keyPrefix']+_0xf9ca12(0x1a5)+_0x4ac776+':'+_0x2b25e4;}[a0_0x570cb3(0x22d)](_0x452247){const _0x278ff6=a0_0x570cb3;return this[_0x278ff6(0x28f)]+'issued:'+_0x452247;}[a0_0x570cb3(0x291)](_0x37043e,_0x37060d){const _0x24c454=a0_0x570cb3;return this['keyPrefix']+_0x24c454(0x278)+_0x37043e+':'+_0x37060d;}[a0_0x570cb3(0x1a3)](_0x351df1){const _0x272078=a0_0x570cb3;return this[_0x272078(0x28f)]+'rsv:'+_0x351df1;}['_buildReservationIndexKey'](_0xdb3e2d,_0x30898e){const _0x54cb94=a0_0x570cb3;return this[_0x54cb94(0x28f)]+'rsv_idx:'+_0xdb3e2d+':'+_0x30898e;}[a0_0x570cb3(0x237)](){const _0x53b860=a0_0x570cb3;return this[_0x53b860(0x28f)]+'rsv:';}['_buildIdemKey'](_0x64c7e5,_0x2f5f8b,_0x5230ed,_0x238e34){const _0x4fcc39=a0_0x570cb3,_0x146aa8={'qvxHa':_0x4fcc39(0x29c)};if(_0x5230ed)return idempotencyManager['buildDeterministicKey'](_0x146aa8['qvxHa'],_0x64c7e5,_0x2f5f8b+':'+_0x5230ed+':'+_0x238e34);return idempotencyManager[_0x4fcc39(0x255)](_0x146aa8[_0x4fcc39(0x1ce)],_0x64c7e5,_0x2f5f8b+':'+_0x238e34);}[a0_0x570cb3(0x204)](_0x2f5533){return this['_counterTTLMap'][_0x2f5533]||0x0;}[a0_0x570cb3(0x2b8)]({format:_0x12d743,prefix:_0x22f3a7,datePrefix:_0x1e303a,separator:_0x54dd7d,numDigits:_0xef495,counterInt:_0x5e2435}){const _0x35cd8c=a0_0x570cb3,_0x16cfde={'LZoOZ':function(_0x26ec97,_0x2c5f8d){return _0x26ec97-_0x2c5f8d;},'FIEEr':function(_0xf07c63,_0x4a5603){return _0xf07c63>_0x4a5603;},'OtEOg':'IDGEN_COUNTER_OVERFLOW','dCQdo':function(_0x149c66,_0x493516){return _0x149c66===_0x493516;}},_0x314daa=_0x16cfde['LZoOZ'](Math['pow'](0xa,_0xef495),0x1);if(_0x16cfde['FIEEr'](_0x5e2435,_0x314daa))throw new IdGeneratorError(_0x16cfde['OtEOg'],'Counter\x20overflow:\x20'+_0x5e2435+'\x20exceeds\x20'+_0xef495+_0x35cd8c(0x1a0)+_0x314daa+_0x35cd8c(0x256),{'counterInt':_0x5e2435,'numDigits':_0xef495,'max':_0x314daa});const _0x4e517c=String(_0x5e2435)[_0x35cd8c(0x1f8)](_0xef495,'0');if(_0x16cfde['dCQdo'](_0x12d743,'text'))return _0x22f3a7?''+_0x22f3a7+_0x54dd7d+_0x4e517c:_0x4e517c;return _0x22f3a7?''+_0x22f3a7+_0x54dd7d+_0x1e303a+_0x54dd7d+_0x4e517c:''+_0x1e303a+_0x54dd7d+_0x4e517c;}['_parseNumber']({format:_0x18b294,prefix:_0x4963ce,separator:_0x5a5393,numDigits:_0x36d216,number:_0x2d463b}){const _0x425b48=a0_0x570cb3,_0x15741c={'uzFgT':'string','XYnWR':function(_0x411427,_0x199b15){return _0x411427===_0x199b15;},'IrSse':'IDGEN_INVALID_NUMBER','GIYyq':function(_0x1c8b01,_0xcfc43f){return _0x1c8b01||_0xcfc43f;},'PPsCA':function(_0x53e2d1,_0x4c8b6d){return _0x53e2d1!==_0x4c8b6d;},'XhmXK':function(_0x3c1f30,_0x214fae){return _0x3c1f30!==_0x214fae;},'wUBiL':function(_0x40e5da,_0x1f9f11){return _0x40e5da===_0x1f9f11;},'WKPId':_0x425b48(0x1d0),'LIhkO':_0x425b48(0x1b0),'BhHgb':function(_0x27d353,_0x8d5d36,_0x4041b7){return _0x27d353(_0x8d5d36,_0x4041b7);},'CEWya':function(_0x18acb2,_0x366519){return _0x18acb2||_0x366519;},'BgyUz':'text'};if(typeof _0x2d463b!==_0x15741c['uzFgT']||_0x15741c['XYnWR'](_0x2d463b[_0x425b48(0x20c)],0x0))throw new IdGeneratorError(_0x15741c[_0x425b48(0x2a3)],'Invalid\x20number:\x20must\x20be\x20non-empty\x20string');const _0x2657e5=_0x15741c[_0x425b48(0x221)](_0x5a5393,''),_0x4f9273=_0x15741c['XYnWR'](_0x2657e5,'')?[_0x2d463b]:_0x2d463b['split'](_0x2657e5);let _0x37ab75='',_0x54e640;if(_0x18b294==='text'){if(_0x4963ce){if(_0x15741c['PPsCA'](_0x4f9273['length'],0x2)||_0x15741c[_0x425b48(0x283)](_0x4f9273[0x0],_0x4963ce))throw new IdGeneratorError(_0x15741c[_0x425b48(0x2a3)],_0x425b48(0x2c1)+_0x2657e5+_0x425b48(0x27c)+_0x2d463b+')');_0x54e640=_0x4f9273[0x1];}else{if(_0x15741c['PPsCA'](_0x4f9273['length'],0x1))throw new IdGeneratorError(_0x15741c['IrSse'],'Number\x20does\x20not\x20match\x20expected\x20text\x20format\x20(got:\x20'+_0x2d463b+')');_0x54e640=_0x4f9273[0x0];}}else{const _0x34ea53=_0x4963ce?0x3:0x2;if(_0x4f9273[_0x425b48(0x20c)]!==_0x34ea53)throw new IdGeneratorError(_0x15741c[_0x425b48(0x2a3)],'Number\x20does\x20not\x20match\x20expected\x20format\x20(got:\x20'+_0x2d463b+_0x425b48(0x264)+_0x34ea53+_0x425b48(0x197));let _0x5f5034=0x0;if(_0x4963ce){if(_0x15741c[_0x425b48(0x1d7)](_0x4f9273[_0x5f5034],_0x4963ce))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x425b48(0x2ab)+_0x4963ce+',\x20got\x20'+_0x4f9273[_0x5f5034]);_0x5f5034++;}_0x37ab75=_0x4f9273[_0x5f5034++];const _0x4d6f64=_0x15741c[_0x425b48(0x1be)](_0x18b294,_0x15741c[_0x425b48(0x1c3)])?/^\d{4}$/:_0x18b294===_0x15741c[_0x425b48(0x24d)]?/^\d{6}$/:/^\d{8}$/;if(!_0x4d6f64[_0x425b48(0x1fe)](_0x37ab75))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x425b48(0x235)+_0x18b294+':\x20'+_0x37ab75);_0x54e640=_0x4f9273[_0x5f5034];}if(!new RegExp('^\x5cd{'+_0x36d216+'}$')['test'](_0x54e640))throw new IdGeneratorError('IDGEN_INVALID_NUMBER',_0x425b48(0x267)+_0x36d216+'\x20digits\x20(got:\x20'+_0x54e640+')');const _0x52b02b=_0x15741c['BhHgb'](parseInt,_0x54e640,0xa),_0x2e21d2=_0x15741c['CEWya'](_0x4963ce,'_');let _0x2cd1ef;return _0x18b294===_0x15741c[_0x425b48(0x212)]?_0x2cd1ef=_0x2e21d2+'_text':_0x2cd1ef=_0x2e21d2+'_'+_0x18b294+'_'+_0x37ab75,{'formatKey':_0x2cd1ef,'counterInt':_0x52b02b,'datePrefix':_0x37ab75};}['_generateFromPattern'](_0x4e8461){let _0x2a95b4='';for(const _0x225ec6 of _0x4e8461){const _0x521684=PLACEHOLDER_MAP[_0x225ec6];if(_0x521684){const _0x5b7e6e=crypto['randomInt'](0x0,_0x521684['length']);_0x2a95b4+=_0x521684[_0x5b7e6e];}else _0x2a95b4+=_0x225ec6;}return _0x2a95b4;}async['_retrieveIdemCache'](_0x2e39bc){const _0x2c245f=a0_0x570cb3,_0x89737a={'HHfUo':_0x2c245f(0x1f3),'RXaDE':'idgen_idem_retrieve_error'};if(!_0x2e39bc)return null;try{const _0x54acfa=redisClient['getClient'](),_0x172215=await _0x54acfa['get'](_0x2e39bc);if(_0x172215)return logger['info']({'event':'idgen_idem_hit','key':_0x2e39bc},_0x89737a['HHfUo']),JSON[_0x2c245f(0x1df)](_0x172215);return null;}catch(_0xef0b50){return logger['warn']({'event':_0x89737a['RXaDE'],'error':_0xef0b50['message']},'Idempotency\x20retrieve\x20error'),null;}}async['_storeIdemCache'](_0x2790ee,_0x34107e){const _0x10bc0b=a0_0x570cb3,_0x45728d={'RCeOV':'idgen_idem_store_error','dZcrV':_0x10bc0b(0x1ea)};if(!_0x2790ee)return;try{const _0x297e7f=redisClient['getClient']();await _0x297e7f['setex'](_0x2790ee,this[_0x10bc0b(0x1f7)],JSON['stringify'](_0x34107e));}catch(_0x380346){logger[_0x10bc0b(0x222)]({'event':_0x45728d['RCeOV'],'error':_0x380346[_0x10bc0b(0x1c6)]},_0x45728d[_0x10bc0b(0x277)]);}}async[a0_0x570cb3(0x2bc)](_0x25d3d3,_0x2daad5){const _0x58eba4=a0_0x570cb3,_0x123665={'lIOXw':function(_0x40803a,_0x925650){return _0x40803a===_0x925650;},'fsEYD':'idgen_idem_nx_race_lost_but_empty','srARd':'idgen_idem_storenx_error'};if(!_0x25d3d3)return{'stored':!![],'winnerResult':null};try{const _0x570126=redisClient['getClient'](),_0x5548aa=JSON[_0x58eba4(0x20d)](_0x2daad5),_0x4c3a26=await _0x570126[_0x58eba4(0x20f)](_0x25d3d3,_0x5548aa,'EX',this[_0x58eba4(0x1f7)],'NX');if(_0x123665['lIOXw'](_0x4c3a26,'OK'))return{'stored':!![],'winnerResult':null};const _0x1e4239=await _0x570126[_0x58eba4(0x242)](_0x25d3d3);if(_0x1e4239)return{'stored':![],'winnerResult':JSON['parse'](_0x1e4239)};return logger[_0x58eba4(0x222)]({'event':_0x123665['fsEYD'],'key':_0x25d3d3},_0x58eba4(0x241)),{'stored':!![],'winnerResult':null};}catch(_0x2d7d2e){return logger['warn']({'event':_0x123665[_0x58eba4(0x206)],'error':_0x2d7d2e[_0x58eba4(0x1c6)]},_0x58eba4(0x21d)),{'stored':!![],'winnerResult':null};}}async[a0_0x570cb3(0x1bb)](_0x3cc3d3,_0x9c536,_0x52cbc9){const _0x9b985f=a0_0x570cb3;try{const _0x47a0c0=redisClient['getClient']();if(_0x52cbc9){const _0x739225=this['_buildActiveKey'](_0x3cc3d3,_0x9c536);await _0x47a0c0[_0x9b985f(0x1f6)](_0x739225);}else{const _0x16f71d=this[_0x9b985f(0x22d)](_0x3cc3d3);await _0x47a0c0['srem'](_0x16f71d,_0x9c536);}}catch(_0x46cc59){logger[_0x9b985f(0x222)]({'event':_0x9b985f(0x249),'error':_0x46cc59['message']},'Random\x20reservation\x20undo\x20error\x20(orphan\x20slot\x20may\x20remain)');}}async[a0_0x570cb3(0x233)](_0x3a1a43,_0x163722,_0x4114a5,_0x3574de=0x0){const _0x38a4d2=a0_0x570cb3,_0x2200fe={'PzRLW':function(_0x1a1d73,_0x33fd6b){return _0x1a1d73>_0x33fd6b;},'TTPUY':'idgen_meta_update_error','vCinB':'Meta\x20update\x20error'};try{const _0x5218ab=redisClient['getClient'](),_0x19c9e4=this[_0x38a4d2(0x208)](_0x3a1a43,_0x163722),_0x4ce1d7=[];for(const [_0x436c8a,_0x17a02f]of Object['entries'](_0x4114a5)){_0x4ce1d7['push'](_0x436c8a,String(_0x17a02f));}if(_0x2200fe['PzRLW'](_0x4ce1d7['length'],0x0)){await _0x5218ab['hset'](_0x19c9e4,..._0x4ce1d7);if(_0x3574de>0x0)await _0x5218ab['expire'](_0x19c9e4,_0x3574de);}}catch(_0x18cecf){logger['warn']({'event':_0x2200fe[_0x38a4d2(0x1f4)],'error':_0x18cecf['message']},_0x2200fe['vCinB']);}}async[a0_0x570cb3(0x1ee)](_0xc94ace){const _0xdaffb9=a0_0x570cb3,_0x47562c={'XvdbY':function(_0x51b706,_0x5ef5f9){return _0x51b706(_0x5ef5f9);},'sYvmp':'idgen_idem_loser_release_error','ysEKF':'idgen_number_idem_loser'};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED','ID\x20Generator\x20is\x20disabled\x20(set\x20IDGEN_ENABLED=true)');const _0x2c6f8f=this['_validateNumberParams'](_0xc94ace),_0x2d7ab6=this['_validateIdempotencyKey'](_0xc94ace[_0xdaffb9(0x1fd)]),{resource:_0x4d84b8,format:_0x148340,prefix:_0x4e1135,separator:_0x2838e3,numDigits:_0x3bf308,reuseDelete:_0x417c75}=_0x2c6f8f,{formatKey:_0x4fd5cb,datePrefix:_0x229b8c}=this['_buildFormatKey'](_0x148340,_0x4e1135),_0x16d6cd=this[_0xdaffb9(0x19e)](_0x4d84b8,_0x4fd5cb),_0x323c25=this[_0xdaffb9(0x2bb)](_0x4d84b8,_0x4fd5cb),_0x4649c1=this[_0xdaffb9(0x204)](_0x148340);let _0x5a17c6=null;if(_0x2d7ab6){_0x5a17c6=this['_buildIdemKey']('number',_0x4d84b8,_0x4fd5cb,_0x2d7ab6);const _0x190c45=await this[_0xdaffb9(0x27d)](_0x5a17c6);if(_0x190c45)return _0x190c45;}const _0x4a6a57=redisClient[_0xdaffb9(0x1dc)](),_0x295ca0=await _0x4a6a57['eval'](LUA_GENERATE_NUMBER,0x2,_0x16d6cd,_0x323c25,_0x417c75?'1':'0',String(_0x4649c1)),_0x4bcc65=_0x295ca0[0x0],_0x3ac7ee=_0x295ca0[0x1]===0x1,_0xbbdcae=this[_0xdaffb9(0x2b8)]({'format':_0x148340,'prefix':_0x4e1135,'datePrefix':_0x229b8c,'separator':_0x2838e3,'numDigits':_0x3bf308,'counterInt':_0x4bcc65}),_0x428d4b={'value':_0xbbdcae,'counter':_0x4bcc65,'resource':_0x4d84b8,'formatKey':_0x4fd5cb,'isReused':_0x3ac7ee,'generatedAt':new Date()['toISOString']()},_0x4fe321=await this[_0xdaffb9(0x2bc)](_0x5a17c6,_0x428d4b);if(!_0x4fe321['stored']){try{await _0x4a6a57['eval'](LUA_RELEASE_NUMBER,0x1,_0x323c25,_0x47562c['XvdbY'](String,_0x4bcc65),_0x47562c[_0xdaffb9(0x28a)](String,_0x4649c1));}catch(_0x11038e){logger[_0xdaffb9(0x222)]({'event':_0x47562c['sYvmp'],'error':_0x11038e[_0xdaffb9(0x1c6)],'resource':_0x4d84b8,'formatKey':_0x4fd5cb,'counterInt':_0x4bcc65},_0xdaffb9(0x29e));}return logger[_0xdaffb9(0x2aa)]({'event':_0x47562c[_0xdaffb9(0x218)],'resource':_0x4d84b8,'formatKey':_0x4fd5cb,'counter':_0x4bcc65},'ID\x20Generator\x20number\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x4fe321[_0xdaffb9(0x253)];}return this['_updateMeta'](_0x4d84b8,_0x4fd5cb,{'lastValue':_0xbbdcae,'lastCounter':_0x4bcc65,'lastIsReused':_0x3ac7ee,'lastGeneratedAt':_0x428d4b[_0xdaffb9(0x245)]},_0x4649c1),logger['info']({'event':_0xdaffb9(0x19f),'resource':_0x4d84b8,'formatKey':_0x4fd5cb,'counter':_0x4bcc65,'isReused':_0x3ac7ee},_0xdaffb9(0x22f)+_0xbbdcae),_0x428d4b;}async['releaseNumber'](_0x58b774){const _0xe0b640=a0_0x570cb3,_0x2fd1ec={'udTow':_0xe0b640(0x22a),'MtYft':function(_0xb56613,_0x3fedef){return _0xb56613!==_0x3fedef;},'xhUuI':function(_0x46235b,_0x5a5351){return _0x46235b!==_0x5a5351;},'gefPg':function(_0xc01c92,_0x134835){return _0xc01c92===_0x134835;},'Ruvlh':function(_0x3689a9,_0x1c5dde){return _0x3689a9<_0x1c5dde;},'NeNtS':function(_0x1aebeb,_0x53b063){return _0x1aebeb(_0x53b063);}};if(!this[_0xe0b640(0x1ec)])throw new IdGeneratorError('IDGEN_DISABLED',_0x2fd1ec['udTow']);let _0x4af0bd,_0x3fb61c,_0x821930,_0x11670e;const _0x5c4aff=this['_validateIdempotencyKey'](_0x58b774[_0xe0b640(0x1fd)]);if(_0x2fd1ec['MtYft'](_0x58b774[_0xe0b640(0x201)],undefined)&&_0x58b774['counterInt']!==null){this['_validateResource'](_0x58b774[_0xe0b640(0x1f0)]),_0x4af0bd=_0x58b774[_0xe0b640(0x1f0)];if(_0x2fd1ec['xhUuI'](typeof _0x58b774['formatKey'],'string')||_0x2fd1ec['gefPg'](_0x58b774[_0xe0b640(0x250)][_0xe0b640(0x20c)],0x0))throw new IdGeneratorError('IDGEN_INVALID_NUMBER','formatKey\x20is\x20required\x20in\x20low-level\x20release');_0x3fb61c=_0x58b774[_0xe0b640(0x250)];if(!Number['isInteger'](_0x58b774[_0xe0b640(0x201)])||_0x2fd1ec['Ruvlh'](_0x58b774[_0xe0b640(0x201)],0x1))throw new IdGeneratorError('IDGEN_INVALID_NUMBER','counterInt\x20must\x20be\x20positive\x20integer\x20(got:\x20'+_0x58b774['counterInt']+')');_0x821930=_0x58b774[_0xe0b640(0x201)];const _0x16d187=_0x3fb61c[_0xe0b640(0x288)](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/);_0x11670e=_0x16d187?_0x16d187[0x1]:_0xe0b640(0x295);}else{const _0x4ecf9c=this[_0xe0b640(0x225)](_0x58b774),_0xcdd4fb=this[_0xe0b640(0x216)]({'format':_0x4ecf9c['format'],'prefix':_0x4ecf9c['prefix'],'separator':_0x4ecf9c[_0xe0b640(0x1d6)],'numDigits':_0x4ecf9c[_0xe0b640(0x1c8)],'number':_0x58b774[_0xe0b640(0x1ee)]});_0x4af0bd=_0x4ecf9c[_0xe0b640(0x1f0)],_0x3fb61c=_0xcdd4fb[_0xe0b640(0x250)],_0x821930=_0xcdd4fb['counterInt'],_0x11670e=_0x4ecf9c['format'];}const _0x5b49d4=this[_0xe0b640(0x2bb)](_0x4af0bd,_0x3fb61c),_0x429b79=this[_0xe0b640(0x204)](_0x11670e);let _0x28cc65=null;if(_0x5c4aff){_0x28cc65=this[_0xe0b640(0x297)]('release',_0x4af0bd,_0x3fb61c,_0x5c4aff);const _0x2a85a8=await this['_retrieveIdemCache'](_0x28cc65);if(_0x2a85a8)return _0x2a85a8;}const _0x5dc134=redisClient['getClient']();await _0x5dc134['eval'](LUA_RELEASE_NUMBER,0x1,_0x5b49d4,_0x2fd1ec[_0xe0b640(0x2b2)](String,_0x821930),String(_0x429b79));const _0x4a2890={'released':!![],'resource':_0x4af0bd,'formatKey':_0x3fb61c,'counter':_0x821930,'releasedAt':new Date()['toISOString']()};return await this[_0xe0b640(0x1d2)](_0x28cc65,_0x4a2890),this[_0xe0b640(0x233)](_0x4af0bd,_0x3fb61c,{'lastReleasedCounter':_0x821930,'lastReleasedAt':_0x4a2890[_0xe0b640(0x2b6)]},_0x429b79),logger[_0xe0b640(0x2aa)]({'event':'idgen_number_released','resource':_0x4af0bd,'formatKey':_0x3fb61c,'counter':_0x821930},_0xe0b640(0x220)+_0x821930),_0x4a2890;}async[a0_0x570cb3(0x2c0)](_0x347182){const _0x58d6a8=a0_0x570cb3,_0x136f2f={'aprXM':_0x58d6a8(0x2a6),'yKslu':function(_0x29da1c,_0x284802){return _0x29da1c*_0x284802;},'ASrJn':'formatKey','FuDzY':_0x58d6a8(0x1c8),'OEdCH':function(_0x1665de,_0x48255f){return _0x1665de(_0x48255f);},'zkOcK':'createdAt','fNbRq':function(_0x1680d1,_0x4d771e){return _0x1680d1(_0x4d771e);},'qlvPf':function(_0x3232d5,_0x53f7da){return _0x3232d5(_0x53f7da);},'GbKmd':'idgen_reserve_overflow_compensation_error','vbnct':'value'};if(!this[_0x58d6a8(0x1ec)])throw new IdGeneratorError(_0x58d6a8(0x285),_0x58d6a8(0x1a2));const _0x1d3a34=this[_0x58d6a8(0x225)](_0x347182),_0x401e59=this[_0x58d6a8(0x29d)](_0x347182['ttl']),_0x44dfc7=this[_0x58d6a8(0x287)](_0x347182[_0x58d6a8(0x1fd)]),{resource:_0x431fc1,format:_0x4f7074,prefix:_0x1b773e,separator:_0x128769,numDigits:_0x4fb0ef,reuseDelete:_0x27acd4}=_0x1d3a34,{formatKey:_0x170be5,datePrefix:_0x1a0fde}=this[_0x58d6a8(0x25b)](_0x4f7074,_0x1b773e),_0x55227a=this['_buildSeqKey'](_0x431fc1,_0x170be5),_0x203233=this['_buildReuseKey'](_0x431fc1,_0x170be5),_0xc39320=this['_buildReservationIndexKey'](_0x431fc1,_0x170be5),_0x412ee8=this['_getCounterTTL'](_0x4f7074);let _0x41dea7=null;if(_0x44dfc7){_0x41dea7=this['_buildIdemKey'](_0x136f2f['aprXM'],_0x431fc1,_0x170be5,_0x44dfc7);const _0x13b162=await this[_0x58d6a8(0x27d)](_0x41dea7);if(_0x13b162)return _0x13b162;}const _0x53c1a6=crypto[_0x58d6a8(0x294)](),_0x3e4b38=this['_buildReservationKey'](_0x53c1a6),_0x24d2c7=this[_0x58d6a8(0x237)](),_0x1cbe72=Date[_0x58d6a8(0x1c2)](),_0x586501=_0x1cbe72+_0x136f2f[_0x58d6a8(0x261)](_0x401e59,0x3e8),_0x3f2f91=_0x136f2f[_0x58d6a8(0x261)](_0x401e59,0x3e8),_0x49c599=new Date(_0x1cbe72)[_0x58d6a8(0x1c4)](),_0x3b1d53=new Date(_0x586501)['toISOString'](),_0x1c9e41=[_0x58d6a8(0x1f0),_0x431fc1,_0x136f2f['ASrJn'],_0x170be5,_0x58d6a8(0x1bc),_0x4f7074,_0x58d6a8(0x23f),_0x1b773e,_0x58d6a8(0x1d6),_0x128769,_0x136f2f['FuDzY'],_0x136f2f[_0x58d6a8(0x1ae)](String,_0x4fb0ef),_0x58d6a8(0x26d),_0x1a0fde||'',_0x136f2f[_0x58d6a8(0x1f2)],_0x49c599,'expiresAt',_0x3b1d53,'ttlMs',_0x136f2f['OEdCH'](String,_0x3f2f91)];_0x44dfc7&&_0x1c9e41['push'](_0x58d6a8(0x1b1),_0x44dfc7);const _0x43859a=redisClient['getClient'](),_0x1ab8b6=await _0x43859a['eval'](LUA_RESERVE_NUMBER,0x3,_0x55227a,_0x203233,_0xc39320,_0x27acd4?'1':'0',_0x136f2f[_0x58d6a8(0x1ae)](String,_0x412ee8),_0x53c1a6,_0x3e4b38,_0x136f2f[_0x58d6a8(0x293)](String,_0x3f2f91),String(_0x586501),_0x136f2f['qlvPf'](String,_0x1cbe72),_0x24d2c7,..._0x1c9e41),_0x1a96cf=_0x1ab8b6[0x0],_0x3c4ff2=_0x1ab8b6[0x1]===0x1,_0x26bad=_0x1ab8b6[0x2]||0x0;let _0x5f235f;try{_0x5f235f=this[_0x58d6a8(0x2b8)]({'format':_0x4f7074,'prefix':_0x1b773e,'datePrefix':_0x1a0fde,'separator':_0x128769,'numDigits':_0x4fb0ef,'counterInt':_0x1a96cf});}catch(_0x2af1b0){try{await _0x43859a[_0x58d6a8(0x251)](LUA_CANCEL_RESERVATION,0x3,_0x3e4b38,_0xc39320,_0x203233,_0x53c1a6,_0x136f2f['qlvPf'](String,_0x412ee8));}catch(_0x187e13){logger[_0x58d6a8(0x222)]({'event':_0x136f2f[_0x58d6a8(0x26f)],'error':_0x187e13['message'],'resource':_0x431fc1,'formatKey':_0x170be5,'counterInt':_0x1a96cf,'token':_0x53c1a6},'Failed\x20to\x20compensate\x20reservation\x20after\x20counter\x20overflow');}throw _0x2af1b0;}try{await _0x43859a[_0x58d6a8(0x1c7)](_0x3e4b38,_0x136f2f[_0x58d6a8(0x1d1)],_0x5f235f);}catch(_0x309189){logger['warn']({'event':_0x58d6a8(0x209),'error':_0x309189[_0x58d6a8(0x1c6)],'resource':_0x431fc1,'formatKey':_0x170be5,'counterInt':_0x1a96cf,'token':_0x53c1a6},'Failed\x20to\x20persist\x20formatted\x20value\x20to\x20reservation\x20hash');}const _0x168140={'token':_0x53c1a6,'value':_0x5f235f,'counter':_0x1a96cf,'resource':_0x431fc1,'formatKey':_0x170be5,'isReused':_0x3c4ff2,'createdAt':_0x49c599,'expiresAt':_0x3b1d53,'reapedCount':_0x26bad},_0x257dca=await this['_storeIdemCacheNX'](_0x41dea7,_0x168140);if(!_0x257dca['stored']){try{await _0x43859a['eval'](LUA_CANCEL_RESERVATION,0x3,_0x3e4b38,_0xc39320,_0x203233,_0x53c1a6,String(_0x412ee8));}catch(_0x4266a3){logger[_0x58d6a8(0x222)]({'event':'idgen_reserve_idem_loser_cancel_error','error':_0x4266a3['message'],'resource':_0x431fc1,'formatKey':_0x170be5,'counterInt':_0x1a96cf,'token':_0x53c1a6},_0x58d6a8(0x229));}return logger[_0x58d6a8(0x2aa)]({'event':'idgen_reserve_idem_loser','resource':_0x431fc1,'formatKey':_0x170be5,'counter':_0x1a96cf,'token':_0x53c1a6},_0x58d6a8(0x2b4)),_0x257dca['winnerResult'];}return this[_0x58d6a8(0x233)](_0x431fc1,_0x170be5,{'lastReservedCounter':_0x1a96cf,'lastReservedAt':_0x49c599,'lastReapedCount':_0x26bad},_0x412ee8),logger['info']({'event':_0x58d6a8(0x1c0),'resource':_0x431fc1,'formatKey':_0x170be5,'counter':_0x1a96cf,'isReused':_0x3c4ff2,'token':_0x53c1a6,'ttl':_0x401e59,'reapedCount':_0x26bad},'ID\x20Generator\x20number\x20reserved:\x20'+_0x5f235f+'\x20(token='+_0x53c1a6+')'),_0x168140;}async['confirmReservation'](_0x259b46){const _0x5c4898=a0_0x570cb3,_0x517ba9={'cmZIo':'IDGEN_DISABLED','GtQtt':_0x5c4898(0x289),'cSBMY':function(_0x145ad3,_0x49679a){return _0x145ad3!==_0x49679a;},'UZbzr':_0x5c4898(0x254),'rboZu':'text'};if(!this['enabled'])throw new IdGeneratorError(_0x517ba9[_0x5c4898(0x1cd)],'ID\x20Generator\x20is\x20disabled');const _0x83a2df=this['_validateReservationToken'](_0x259b46&&_0x259b46[_0x5c4898(0x248)]),_0x4d0d92=this['_validateIdempotencyKey'](_0x259b46&&_0x259b46[_0x5c4898(0x1fd)]);let _0x40216f=null;if(_0x4d0d92){_0x40216f=idempotencyManager[_0x5c4898(0x255)]('idgen',_0x517ba9[_0x5c4898(0x263)],_0x83a2df+':'+_0x4d0d92);const _0x3eacb2=await this['_retrieveIdemCache'](_0x40216f);if(_0x3eacb2)return _0x3eacb2;}const _0x3c9ded=await this['_getReservationContext'](_0x83a2df),_0x19903c=redisClient[_0x5c4898(0x1dc)](),_0x467b78=await _0x19903c['eval'](LUA_CONFIRM_RESERVATION,0x2,_0x3c9ded[_0x5c4898(0x282)],_0x3c9ded['rsvIdxKey'],_0x83a2df);if(!_0x467b78||_0x517ba9[_0x5c4898(0x20b)](_0x467b78[0x0],0x1))throw new IdGeneratorError(_0x517ba9['UZbzr'],_0x5c4898(0x279)+_0x83a2df,{'token':_0x83a2df});const _0x49b975=parseInt(_0x467b78[0x1],0xa),_0x338dc3=_0x467b78[0x2],_0x5396dc=_0x467b78[0x3],_0x3324e2=new Date()[_0x5c4898(0x1c4)](),_0x172451={'confirmed':!![],'token':_0x83a2df,'value':_0x338dc3,'counter':_0x49b975,'resource':_0x3c9ded['resource'],'formatKey':_0x5396dc,'confirmedAt':_0x3324e2};await this[_0x5c4898(0x1d2)](_0x40216f,_0x172451);const _0x4b7239=_0x5396dc['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x490b54=_0x4b7239?_0x4b7239[0x1]:_0x517ba9[_0x5c4898(0x29b)],_0x41941a=this['_getCounterTTL'](_0x490b54);return this[_0x5c4898(0x233)](_0x3c9ded['resource'],_0x5396dc,{'lastConfirmedCounter':_0x49b975,'lastConfirmedAt':_0x3324e2},_0x41941a),logger['info']({'event':_0x5c4898(0x1f5),'resource':_0x3c9ded[_0x5c4898(0x1f0)],'formatKey':_0x5396dc,'counter':_0x49b975,'token':_0x83a2df},'ID\x20Generator\x20reservation\x20confirmed:\x20'+_0x338dc3+_0x5c4898(0x2b7)+_0x83a2df+')'),_0x172451;}async[a0_0x570cb3(0x219)](_0x32e9f3){const _0x4da257=a0_0x570cb3,_0x438835={'SJJth':_0x4da257(0x22a),'JVjyj':'text','SSOuM':function(_0x5b8991,_0xbffb25){return _0x5b8991(_0xbffb25);},'vTbrx':function(_0x424237,_0x4b3ead){return _0x424237!==_0x4b3ead;},'xoynA':_0x4da257(0x254)};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x438835[_0x4da257(0x19c)]);const _0x191127=this[_0x4da257(0x2a9)](_0x32e9f3&&_0x32e9f3['token']),_0x23b30f=this[_0x4da257(0x287)](_0x32e9f3&&_0x32e9f3[_0x4da257(0x1fd)]);let _0xd40d10=null;if(_0x23b30f){_0xd40d10=idempotencyManager[_0x4da257(0x255)](_0x4da257(0x29c),'reserve_cancel',_0x191127+':'+_0x23b30f);const _0x4bdf54=await this[_0x4da257(0x27d)](_0xd40d10);if(_0x4bdf54)return _0x4bdf54;}const _0xfd1ee7=await this['_getReservationContext'](_0x191127),_0x4112da=this['_buildReuseKey'](_0xfd1ee7[_0x4da257(0x1f0)],_0xfd1ee7[_0x4da257(0x250)]),_0x33bf79=_0xfd1ee7[_0x4da257(0x250)]['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x47e0a6=_0x33bf79?_0x33bf79[0x1]:_0x438835['JVjyj'],_0x3b21da=this['_getCounterTTL'](_0x47e0a6),_0x45020a=redisClient[_0x4da257(0x1dc)](),_0x4feaa3=await _0x45020a['eval'](LUA_CANCEL_RESERVATION,0x3,_0xfd1ee7['rsvKey'],_0xfd1ee7[_0x4da257(0x1b7)],_0x4112da,_0x191127,_0x438835[_0x4da257(0x1a8)](String,_0x3b21da));if(!_0x4feaa3||_0x438835['vTbrx'](_0x4feaa3[0x0],0x1))throw new IdGeneratorError(_0x438835['xoynA'],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x191127,{'token':_0x191127});const _0x45d120=parseInt(_0x4feaa3[0x1],0xa),_0x1559dd=_0x4feaa3[0x2],_0x34d89e=_0x4feaa3[0x3],_0x2f6a52=new Date()[_0x4da257(0x1c4)](),_0x130f0c={'cancelled':!![],'token':_0x191127,'value':_0x1559dd,'counter':_0x45d120,'resource':_0xfd1ee7['resource'],'formatKey':_0x34d89e,'releasedToReuse':!![],'cancelledAt':_0x2f6a52};return await this[_0x4da257(0x1d2)](_0xd40d10,_0x130f0c),this[_0x4da257(0x233)](_0xfd1ee7[_0x4da257(0x1f0)],_0x34d89e,{'lastCancelledCounter':_0x45d120,'lastCancelledAt':_0x2f6a52},_0x3b21da),logger['info']({'event':'idgen_reservation_cancelled','resource':_0xfd1ee7[_0x4da257(0x1f0)],'formatKey':_0x34d89e,'counter':_0x45d120,'token':_0x191127},'ID\x20Generator\x20reservation\x20cancelled:\x20'+_0x1559dd+'\x20(token='+_0x191127+')'),_0x130f0c;}async['extendReservation'](_0x2c83b6){const _0x31228b=a0_0x570cb3,_0x25c219={'knhxS':'IDGEN_DISABLED','hiMbw':function(_0x50afd8,_0x490245){return _0x50afd8+_0x490245;},'OPBoo':function(_0x3fe027,_0x2ce196){return _0x3fe027(_0x2ce196);},'sxmBx':function(_0x3c3295,_0x1e15a3){return _0x3c3295!==_0x1e15a3;},'JGrBR':'text'};if(!this['enabled'])throw new IdGeneratorError(_0x25c219['knhxS'],_0x31228b(0x22a));const _0xd72b09=this[_0x31228b(0x2a9)](_0x2c83b6&&_0x2c83b6[_0x31228b(0x248)]),_0x1fa88f=this[_0x31228b(0x29d)](_0x2c83b6&&_0x2c83b6[_0x31228b(0x1e1)]),_0x1aadff=this['_validateIdempotencyKey'](_0x2c83b6&&_0x2c83b6[_0x31228b(0x1fd)]);let _0x1e04ef=null;if(_0x1aadff){_0x1e04ef=idempotencyManager['buildDeterministicKey']('idgen',_0x31228b(0x276),_0xd72b09+':'+_0x1aadff);const _0x599c9f=await this[_0x31228b(0x27d)](_0x1e04ef);if(_0x599c9f)return _0x599c9f;}const _0x80c68c=await this[_0x31228b(0x2ae)](_0xd72b09),_0x684b6e=Date['now'](),_0x69f053=_0x25c219[_0x31228b(0x23e)](_0x684b6e,_0x1fa88f*0x3e8),_0x272850=_0x1fa88f*0x3e8,_0x739473=new Date(_0x69f053)[_0x31228b(0x1c4)](),_0x1e64a7=redisClient[_0x31228b(0x1dc)](),_0x3fbd49=await _0x1e64a7[_0x31228b(0x251)](LUA_EXTEND_RESERVATION,0x2,_0x80c68c['rsvKey'],_0x80c68c['rsvIdxKey'],_0xd72b09,_0x25c219[_0x31228b(0x20e)](String,_0x272850),String(_0x69f053),_0x739473);if(!_0x3fbd49||_0x25c219['sxmBx'](_0x3fbd49[0x0],0x1))throw new IdGeneratorError('IDGEN_RESERVATION_NOT_FOUND',_0x31228b(0x279)+_0xd72b09,{'token':_0xd72b09});const _0x9cf2dc=_0x3fbd49[0x1],_0x3810fc=parseInt(_0x3fbd49[0x2],0xa),_0x21f975=_0x3fbd49[0x3],_0x4edfc2=_0x3fbd49[0x4],_0x51c351=new Date(_0x684b6e)[_0x31228b(0x1c4)](),_0x138d53={'extended':!![],'token':_0xd72b09,'previousExpiresAt':_0x9cf2dc,'expiresAt':_0x739473,'ttlMs':_0x272850,'resource':_0x80c68c[_0x31228b(0x1f0)],'formatKey':_0x4edfc2,'counter':_0x3810fc,'value':_0x21f975,'extendedAt':_0x51c351};await this['_storeIdemCache'](_0x1e04ef,_0x138d53);const _0xaf4158=_0x4edfc2['match'](/_(text|yyyy|yyyymm|yyyymmdd)(?:_|$)/),_0x1f75a6=_0xaf4158?_0xaf4158[0x1]:_0x25c219[_0x31228b(0x269)],_0x4990ad=this[_0x31228b(0x204)](_0x1f75a6);return this[_0x31228b(0x233)](_0x80c68c[_0x31228b(0x1f0)],_0x4edfc2,{'lastExtendedCounter':_0x3810fc,'lastExtendedAt':_0x51c351},_0x4990ad),logger['info']({'event':'idgen_reservation_extended','resource':_0x80c68c['resource'],'formatKey':_0x4edfc2,'counter':_0x3810fc,'token':_0xd72b09,'ttl':_0x1fa88f},_0x31228b(0x21a)+_0x21f975+'\x20(token='+_0xd72b09+_0x31228b(0x290)+_0x1fa88f+'s)'),_0x138d53;}async[a0_0x570cb3(0x1c1)](_0x1ccce3){const _0x5d99c2=a0_0x570cb3,_0x32e8de={'iulOM':_0x5d99c2(0x22a),'Qikvf':_0x5d99c2(0x254),'vvjME':function(_0x11dec4,_0xff31b3){return _0x11dec4===_0xff31b3;},'oYnxP':'number'};if(!this[_0x5d99c2(0x1ec)])throw new IdGeneratorError('IDGEN_DISABLED',_0x32e8de[_0x5d99c2(0x2bf)]);const _0xe020c1=this[_0x5d99c2(0x2a9)](_0x1ccce3&&_0x1ccce3[_0x5d99c2(0x248)]),_0x1e20ac=this['_buildReservationKey'](_0xe020c1),_0x14c842=redisClient[_0x5d99c2(0x1dc)](),_0x200871=_0x14c842[_0x5d99c2(0x24b)]();_0x200871['hgetall'](_0x1e20ac),_0x200871[_0x5d99c2(0x273)](_0x1e20ac);const _0x1f4d45=await _0x200871['exec'](),_0x1116ba=_0x1f4d45&&_0x1f4d45[0x0]&&_0x1f4d45[0x0][0x1],_0x22118d=_0x1f4d45&&_0x1f4d45[0x1]&&_0x1f4d45[0x1][0x1];if(!_0x1116ba||Object[_0x5d99c2(0x274)](_0x1116ba)[_0x5d99c2(0x20c)]===0x0)throw new IdGeneratorError(_0x32e8de[_0x5d99c2(0x298)],'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0xe020c1,{'token':_0xe020c1});return{'token':_0xe020c1,'resource':_0x1116ba[_0x5d99c2(0x1f0)]||null,'formatKey':_0x1116ba[_0x5d99c2(0x250)]||null,'format':_0x1116ba['format']||null,'prefix':_0x1116ba['prefix']||'','separator':_0x1116ba['separator']||'','numDigits':_0x1116ba['numDigits']?parseInt(_0x1116ba['numDigits'],0xa):null,'datePrefix':_0x1116ba[_0x5d99c2(0x26d)]||'','counter':_0x1116ba[_0x5d99c2(0x1e9)]?parseInt(_0x1116ba[_0x5d99c2(0x1e9)],0xa):null,'value':_0x1116ba['value']||null,'isReused':_0x1116ba['isReused']==='1'||_0x32e8de['vvjME'](_0x1116ba['isReused'],0x1),'createdAt':_0x1116ba['createdAt']||null,'expiresAt':_0x1116ba[_0x5d99c2(0x2a0)]||null,'ttlRemainingMs':_0x32e8de['vvjME'](typeof _0x22118d,_0x32e8de[_0x5d99c2(0x1bd)])&&_0x22118d>=0x0?_0x22118d:null};}async[a0_0x570cb3(0x2ae)](_0x2f52c4){const _0x2536d2=a0_0x570cb3,_0xefbb70={'vLiey':'resource'},_0x5dd721=this[_0x2536d2(0x1a3)](_0x2f52c4),_0x25fdc6=redisClient[_0x2536d2(0x1dc)](),_0x1c8086=await _0x25fdc6[_0x2536d2(0x21c)](_0x5dd721,_0xefbb70[_0x2536d2(0x214)],_0x2536d2(0x250)),_0x7dd58a=_0x1c8086&&_0x1c8086[0x0],_0x2ee855=_0x1c8086&&_0x1c8086[0x1];if(!_0x7dd58a||!_0x2ee855)throw new IdGeneratorError(_0x2536d2(0x254),'Reservation\x20not\x20found\x20or\x20already\x20consumed:\x20'+_0x2f52c4,{'token':_0x2f52c4});return{'resource':_0x7dd58a,'formatKey':_0x2ee855,'rsvKey':_0x5dd721,'rsvIdxKey':this[_0x2536d2(0x238)](_0x7dd58a,_0x2ee855)};}async['random'](_0x1b4c37){const _0x180b3d=a0_0x570cb3,_0x413874={'zxDIS':_0x180b3d(0x22a),'JTbhA':_0x180b3d(0x266),'rLrvZ':function(_0x4c5353,_0x564e9b){return _0x4c5353<_0x564e9b;},'zEiHK':_0x180b3d(0x231),'QSzso':'idgen_random_generated','imrJu':function(_0x140ff0,_0x4ff496){return _0x140ff0||_0x4ff496;}};if(!this['enabled'])throw new IdGeneratorError(_0x180b3d(0x285),_0x413874[_0x180b3d(0x211)]);this['_validateResource'](_0x1b4c37['resource']),this[_0x180b3d(0x1ba)](_0x1b4c37[_0x180b3d(0x259)]);const _0x1c68b8=this['_validateTTL'](_0x1b4c37[_0x180b3d(0x1e1)]),_0x2247a4=this[_0x180b3d(0x27b)](_0x1b4c37[_0x180b3d(0x1ca)]),_0x22be40=this['_validateIdempotencyKey'](_0x1b4c37[_0x180b3d(0x1fd)]),_0x1d8ecb=_0x1b4c37[_0x180b3d(0x1db)]===!![],{resource:_0x18c913,pattern:_0x677e0e}=_0x1b4c37;let _0x267184=null;if(_0x22be40){_0x267184=this[_0x180b3d(0x297)](_0x413874[_0x180b3d(0x19b)],_0x18c913,null,_0x22be40);const _0x282733=await this[_0x180b3d(0x27d)](_0x267184);if(_0x282733)return _0x282733;}const _0x26ae99=redisClient['getClient']();let _0x20a994=null,_0x5ae8b1=0x0;if(!_0x1d8ecb)_0x20a994=this[_0x180b3d(0x1a4)](_0x677e0e),_0x5ae8b1=0x1;else{for(let _0xbcb11=0x0;_0x413874['rLrvZ'](_0xbcb11,_0x2247a4);_0xbcb11++){_0x5ae8b1++;const _0x41cba0=this[_0x180b3d(0x1a4)](_0x677e0e);if(_0x1c68b8){const _0x6e7ecb=this['_buildActiveKey'](_0x18c913,_0x41cba0),_0x5490bd=await _0x26ae99[_0x180b3d(0x20f)](_0x6e7ecb,'1','EX',_0x1c68b8,'NX');if(_0x5490bd==='OK'){_0x20a994=_0x41cba0;break;}}else{const _0x488bc6=this['_buildIssuedKey'](_0x18c913),_0x60bec1=await _0x26ae99[_0x180b3d(0x1bf)](_0x488bc6,_0x41cba0);if(_0x60bec1===0x1){_0x20a994=_0x41cba0;break;}}}if(_0x20a994===null)throw new IdGeneratorError(_0x413874['zEiHK'],_0x180b3d(0x22e)+_0x2247a4+'\x20attempts.\x20Increase\x20pattern\x20length\x20or\x20maxRetry.',{'resource':_0x18c913,'pattern':_0x677e0e,'maxRetry':_0x2247a4});}const _0x51e967={'value':_0x20a994,'resource':_0x18c913,'pattern':_0x677e0e,'attemptCount':_0x5ae8b1,'generatedAt':new Date()['toISOString']()};_0x1c68b8&&_0x1d8ecb&&(_0x51e967['expiresAt']=new Date(Date[_0x180b3d(0x1c2)]()+_0x1c68b8*0x3e8)['toISOString']());const _0x56898a=await this[_0x180b3d(0x2bc)](_0x267184,_0x51e967);if(!_0x56898a['stored'])return _0x1d8ecb&&await this['_undoRandomReservation'](_0x18c913,_0x20a994,_0x1c68b8),logger['info']({'event':_0x180b3d(0x19a),'resource':_0x18c913,'pattern':_0x677e0e,'value':_0x20a994},'ID\x20Generator\x20random\x20idem\x20race\x20lost,\x20returning\x20winner\x20envelope'),_0x56898a[_0x180b3d(0x253)];return logger['info']({'event':_0x413874[_0x180b3d(0x22c)],'resource':_0x18c913,'pattern':_0x677e0e,'attemptCount':_0x5ae8b1,'ensureUnique':_0x1d8ecb,'ttl':_0x413874['imrJu'](_0x1c68b8,0x0)},_0x180b3d(0x26a)+_0x20a994),_0x51e967;}async[a0_0x570cb3(0x28b)](_0x2c121f){const _0x32c0d4=a0_0x570cb3,_0x4ec847={'WZeFI':function(_0x2ae6c5,_0x3655f8){return _0x2ae6c5==_0x3655f8;},'HobVq':function(_0x4680af,_0x279a34){return _0x4680af<_0x279a34;},'DtbIk':function(_0x4181bf,_0xb7c706){return _0x4181bf>_0xb7c706;}},_0x41a72b=_0x4ec847['WZeFI'](_0x2c121f['digits'],null)?this[_0x32c0d4(0x240)]:_0x2c121f[_0x32c0d4(0x200)];if(!Number['isInteger'](_0x41a72b)||_0x4ec847['HobVq'](_0x41a72b,MIN_PIN_DIGITS)||_0x4ec847['DtbIk'](_0x41a72b,MAX_PIN_DIGITS))throw new IdGeneratorError(_0x32c0d4(0x258),_0x32c0d4(0x1e4)+MIN_PIN_DIGITS+'-'+MAX_PIN_DIGITS+'\x20(got:\x20'+_0x41a72b+')');const _0x4c11a3='9'[_0x32c0d4(0x1de)](_0x41a72b);return this['random']({'resource':_0x2c121f['resource'],'pattern':_0x4c11a3,'ensureUnique':_0x2c121f['ensureUnique']===!![],'ttl':_0x2c121f[_0x32c0d4(0x1e1)],'maxRetry':_0x2c121f[_0x32c0d4(0x1ca)],'idempotencyKey':_0x2c121f[_0x32c0d4(0x1fd)]});}async[a0_0x570cb3(0x24a)](_0xc96715){const _0x5d8aa1=a0_0x570cb3,_0x29e487=_0xc96715[_0x5d8aa1(0x259)]||this['defaultSerialPattern'];return this['random']({'resource':_0xc96715['resource'],'pattern':_0x29e487,'ensureUnique':_0xc96715[_0x5d8aa1(0x1db)]!==![],'ttl':_0xc96715['ttl'],'maxRetry':_0xc96715['maxRetry'],'idempotencyKey':_0xc96715[_0x5d8aa1(0x1fd)]});}async[a0_0x570cb3(0x26e)](_0x14cbca){const _0x218276=a0_0x570cb3,_0x401a2f=_0x14cbca['pattern']||this['defaultCodePattern'];return this[_0x218276(0x266)]({'resource':_0x14cbca[_0x218276(0x1f0)],'pattern':_0x401a2f,'ensureUnique':_0x14cbca['ensureUnique']!==![],'ttl':_0x14cbca['ttl'],'maxRetry':_0x14cbca[_0x218276(0x1ca)],'idempotencyKey':_0x14cbca['idempotencyKey']});}async['consume'](_0x3a7ace){const _0x2bf6cf=a0_0x570cb3,_0x50fe64={'Ijbbl':'ID\x20Generator\x20is\x20disabled','SICbZ':'IDGEN_INVALID_NUMBER','vVOOZ':function(_0x595b0b,_0x359858){return _0x595b0b>_0x359858;}};if(!this['enabled'])throw new IdGeneratorError('IDGEN_DISABLED',_0x50fe64[_0x2bf6cf(0x28d)]);this['_validateResource'](_0x3a7ace[_0x2bf6cf(0x1f0)]);if(typeof _0x3a7ace['value']!==_0x2bf6cf(0x1eb)||_0x3a7ace[_0x2bf6cf(0x215)]['length']===0x0)throw new IdGeneratorError(_0x50fe64[_0x2bf6cf(0x292)],'value\x20is\x20required');const {resource:_0xeaa2c1,value:_0x59d055}=_0x3a7ace,_0x116149=redisClient['getClient'](),_0x4e44d2=this[_0x2bf6cf(0x291)](_0xeaa2c1,_0x59d055),_0x85c79a=this[_0x2bf6cf(0x22d)](_0xeaa2c1),[_0x356146,_0x45df11]=await Promise[_0x2bf6cf(0x230)]([_0x116149[_0x2bf6cf(0x1f6)](_0x4e44d2),_0x116149[_0x2bf6cf(0x21f)](_0x85c79a,_0x59d055)]),_0x158e43=_0x50fe64[_0x2bf6cf(0x272)](_0x356146+_0x45df11,0x0);return logger[_0x2bf6cf(0x2aa)]({'event':_0x2bf6cf(0x247),'resource':_0xeaa2c1,'value':_0x59d055,'consumed':_0x158e43},_0x2bf6cf(0x20a)+_0x59d055),{'consumed':_0x158e43,'resource':_0xeaa2c1,'value':_0x59d055,'consumedAt':new Date()[_0x2bf6cf(0x1c4)]()};}async['peek'](_0x5077c3){const _0x21abec=a0_0x570cb3,_0x26e6a8={'svpek':_0x21abec(0x1ee),'WXgGR':function(_0x344ed1,_0x523ffb){return _0x344ed1||_0x523ffb;},'wbGXe':_0x21abec(0x266)};if(!this['enabled'])throw new IdGeneratorError(_0x21abec(0x285),'ID\x20Generator\x20is\x20disabled');this[_0x21abec(0x25c)](_0x5077c3['resource']);const _0x132ba2=_0x5077c3['mode']||_0x26e6a8['svpek'],_0x25c8a6=redisClient[_0x21abec(0x1dc)]();if(_0x132ba2==='number'){const _0x441f17=(_0x5077c3['format']||_0x21abec(0x295))['toLowerCase']();if(!ALLOWED_FORMATS[_0x21abec(0x260)](_0x441f17))throw new IdGeneratorError('IDGEN_INVALID_FORMAT',_0x21abec(0x275)+_0x5077c3[_0x21abec(0x1bc)]);const {formatKey:_0x1d84b7}=this['_buildFormatKey'](_0x441f17,_0x5077c3[_0x21abec(0x23f)]||''),_0x12af0b=this['_buildSeqKey'](_0x5077c3[_0x21abec(0x1f0)],_0x1d84b7),_0x1dc894=this['_buildReuseKey'](_0x5077c3['resource'],_0x1d84b7),[_0x519994,_0x2299c0]=await Promise[_0x21abec(0x230)]([_0x25c8a6[_0x21abec(0x242)](_0x12af0b),_0x25c8a6['zcard'](_0x1dc894)]);return{'resource':_0x5077c3['resource'],'mode':_0x26e6a8[_0x21abec(0x198)],'formatKey':_0x1d84b7,'currentCounter':parseInt(_0x519994,0xa)||0x0,'reusePoolSize':_0x26e6a8[_0x21abec(0x2b0)](_0x2299c0,0x0)};}if(_0x132ba2==='random'){const _0x1144fb=this['_buildIssuedKey'](_0x5077c3['resource']),_0x511626=await _0x25c8a6[_0x21abec(0x217)](_0x1144fb);return{'resource':_0x5077c3[_0x21abec(0x1f0)],'mode':_0x26e6a8[_0x21abec(0x1cf)],'issuedCount':_0x26e6a8[_0x21abec(0x2b0)](_0x511626,0x0)};}throw new IdGeneratorError(_0x21abec(0x1d9),_0x21abec(0x23b)+_0x132ba2);}async['getInfo'](_0x573b39){const _0x30b7c3=a0_0x570cb3,_0x231268={'szAZA':_0x30b7c3(0x1ee)},_0x26d3f5=await this[_0x30b7c3(0x228)](_0x573b39);if(_0x26d3f5[_0x30b7c3(0x1c9)]===_0x231268[_0x30b7c3(0x1aa)]){const _0x1b33e4=redisClient[_0x30b7c3(0x1dc)](),_0x59dc44=this[_0x30b7c3(0x208)](_0x573b39[_0x30b7c3(0x1f0)],_0x26d3f5['formatKey']),_0x1b8ae7=this['_buildReuseKey'](_0x573b39[_0x30b7c3(0x1f0)],_0x26d3f5['formatKey']),[_0x2d02f0,_0x7b9c60]=await Promise['all']([_0x1b33e4[_0x30b7c3(0x2b1)](_0x59dc44),_0x1b33e4['zrange'](_0x1b8ae7,0x0,-0x1)]);return{..._0x26d3f5,'reusePoolValues':_0x7b9c60[_0x30b7c3(0x25d)](_0x1f4f10=>parseInt(_0x1f4f10,0xa)),'meta':_0x2d02f0&&Object[_0x30b7c3(0x274)](_0x2d02f0)[_0x30b7c3(0x20c)]>0x0?_0x2d02f0:null};}return _0x26d3f5;}async[a0_0x570cb3(0x2a5)](_0x2d6efb){const _0x3d7e92=a0_0x570cb3,_0x5d5324={'SGHEI':_0x3d7e92(0x285),'tmgIM':_0x3d7e92(0x22a),'sCNaH':_0x3d7e92(0x210),'pulKR':function(_0x254393,_0x417245){return _0x254393===_0x417245;},'kdYxf':'number','RFxTv':_0x3d7e92(0x207),'zETtl':_0x3d7e92(0x1b4),'BnDtX':_0x3d7e92(0x236),'RzzzI':function(_0x323ba4,_0x4230a4){return _0x323ba4===_0x4230a4;},'YRskE':'idgen_reset','YpmpV':_0x3d7e92(0x1d9)};if(!this[_0x3d7e92(0x1ec)])throw new IdGeneratorError(_0x5d5324[_0x3d7e92(0x1b3)],_0x5d5324['tmgIM']);if(!this['allowReset'])throw new IdGeneratorError(_0x3d7e92(0x25f),_0x5d5324[_0x3d7e92(0x193)]);this['_validateResource'](_0x2d6efb[_0x3d7e92(0x1f0)]);const _0xa2653d=_0x2d6efb[_0x3d7e92(0x1c9)]||_0x3d7e92(0x1ee),_0x9fc8d=redisClient[_0x3d7e92(0x1dc)]();if(_0x5d5324['pulKR'](_0xa2653d,_0x5d5324[_0x3d7e92(0x1a7)])){const _0x1cd6fc=(_0x2d6efb['format']||_0x3d7e92(0x295))[_0x3d7e92(0x1fa)]();if(!ALLOWED_FORMATS[_0x3d7e92(0x260)](_0x1cd6fc))throw new IdGeneratorError(_0x5d5324['RFxTv'],_0x3d7e92(0x275)+_0x2d6efb['format']);const {formatKey:_0x23c85d}=this[_0x3d7e92(0x25b)](_0x1cd6fc,_0x2d6efb['prefix']||''),_0x4ef3c7=this['_buildSeqKey'](_0x2d6efb['resource'],_0x23c85d),_0x288d9f=this[_0x3d7e92(0x2bb)](_0x2d6efb['resource'],_0x23c85d),_0x253e19=this[_0x3d7e92(0x208)](_0x2d6efb['resource'],_0x23c85d);return await _0x9fc8d[_0x3d7e92(0x1f6)](_0x4ef3c7,_0x288d9f,_0x253e19),logger['warn']({'event':'idgen_reset','resource':_0x2d6efb['resource'],'mode':_0x5d5324[_0x3d7e92(0x1a7)],'formatKey':_0x23c85d},_0x3d7e92(0x1e2)+_0x2d6efb['resource']+':'+_0x23c85d),{'reset':!![],'resource':_0x2d6efb['resource'],'mode':_0x5d5324['kdYxf'],'formatKey':_0x23c85d,'deletedKeys':[_0x3d7e92(0x1a6),_0x5d5324[_0x3d7e92(0x227)],_0x5d5324['BnDtX']]};}if(_0x5d5324[_0x3d7e92(0x244)](_0xa2653d,'random')){const _0xa14b37=this['_buildIssuedKey'](_0x2d6efb[_0x3d7e92(0x1f0)]);return await _0x9fc8d['del'](_0xa14b37),logger[_0x3d7e92(0x222)]({'event':_0x5d5324[_0x3d7e92(0x205)],'resource':_0x2d6efb['resource'],'mode':'random'},'ID\x20Generator\x20reset:\x20random:'+_0x2d6efb[_0x3d7e92(0x1f0)]),{'reset':!![],'resource':_0x2d6efb[_0x3d7e92(0x1f0)],'mode':'random','deletedKeys':[_0x3d7e92(0x2a2)]};}throw new IdGeneratorError(_0x5d5324['YpmpV'],'Unknown\x20mode:\x20'+_0xa2653d);}}function a0_0x15de(_0xb33517,_0x534973){_0xb33517=_0xb33517-0x193;const _0x12f32a=a0_0x12f3();let _0x15dea9=_0x12f32a[_0xb33517];if(a0_0x15de['ZZQZKe']===undefined){var _0x20d701=function(_0x25d538){const _0x4c4d65='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x29acd2='',_0x61f010='';for(let _0x266167=0x0,_0x34d192,_0x5aacb0,_0x1a6b5f=0x0;_0x5aacb0=_0x25d538['charAt'](_0x1a6b5f++);~_0x5aacb0&&(_0x34d192=_0x266167%0x4?_0x34d192*0x40+_0x5aacb0:_0x5aacb0,_0x266167++%0x4)?_0x29acd2+=String['fromCharCode'](0xff&_0x34d192>>(-0x2*_0x266167&0x6)):0x0){_0x5aacb0=_0x4c4d65['indexOf'](_0x5aacb0);}for(let _0x47d27e=0x0,_0x1f95df=_0x29acd2['length'];_0x47d27e<_0x1f95df;_0x47d27e++){_0x61f010+='%'+('00'+_0x29acd2['charCodeAt'](_0x47d27e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x61f010);};a0_0x15de['IYNOtL']=_0x20d701,a0_0x15de['qhQXKK']={},a0_0x15de['ZZQZKe']=!![];}const _0x3e4a2a=_0x12f32a[0x0],_0x356fd5=_0xb33517+_0x3e4a2a,_0x3f8182=a0_0x15de['qhQXKK'][_0x356fd5];return!_0x3f8182?(_0x15dea9=a0_0x15de['IYNOtL'](_0x15dea9),a0_0x15de['qhQXKK'][_0x356fd5]=_0x15dea9):_0x15dea9=_0x3f8182,_0x15dea9;}const instance=new IdGenerator();instance['IdGeneratorError']=IdGeneratorError,module['exports']=instance,module[a0_0x570cb3(0x1d8)][a0_0x570cb3(0x23a)]=IdGeneratorError;
@@ -1 +1 @@
1
- 'use strict';const a0_0xe33c9d=a0_0x4368;(function(_0x2f5dd7,_0x271335){const _0x96cdb3=a0_0x4368,_0x32211e=_0x2f5dd7();while(!![]){try{const _0x4517c0=parseInt(_0x96cdb3(0x1eb))/0x1+-parseInt(_0x96cdb3(0x1db))/0x2*(parseInt(_0x96cdb3(0x1d1))/0x3)+parseInt(_0x96cdb3(0x1d5))/0x4*(-parseInt(_0x96cdb3(0x1ce))/0x5)+parseInt(_0x96cdb3(0x1ed))/0x6+parseInt(_0x96cdb3(0x1d6))/0x7+-parseInt(_0x96cdb3(0x1d2))/0x8*(-parseInt(_0x96cdb3(0x1d8))/0x9)+-parseInt(_0x96cdb3(0x1d7))/0xa*(-parseInt(_0x96cdb3(0x1f1))/0xb);if(_0x4517c0===_0x271335)break;else _0x32211e['push'](_0x32211e['shift']());}catch(_0x172015){_0x32211e['push'](_0x32211e['shift']());}}}(a0_0x328c,0x5b3ee));const redisClient=require(a0_0xe33c9d(0x1e3)),{logger}=require(a0_0xe33c9d(0x1da)),crypto=require('crypto');class IdempotencyManager{constructor(){const _0x215a4a=a0_0xe33c9d;this[_0x215a4a(0x1ee)]=null,this[_0x215a4a(0x1e6)]=null,this[_0x215a4a(0x1cf)]=![];}[a0_0xe33c9d(0x1e2)](){const _0x2677ad=a0_0xe33c9d,_0x529330={'hFyCF':'true','ykNCw':function(_0x5d6bfe,_0x334a87,_0x5d865f){return _0x5d6bfe(_0x334a87,_0x5d865f);},'LqHNj':'idempotency_config_init'};this[_0x2677ad(0x1ee)]=process['env']['IDEMPOTENCY_ENABLED']===_0x529330[_0x2677ad(0x1df)],this['_ttl']=_0x529330[_0x2677ad(0x1e7)](parseInt,process[_0x2677ad(0x1ca)]['IDEMPOTENCY_TTL'],0xa)||0x12c,this['_initialized']=!![],logger['info']({'event':_0x529330['LqHNj'],'enabled':this['_enabled'],'ttl':this[_0x2677ad(0x1e6)]},_0x2677ad(0x1e0)+this['_enabled']+_0x2677ad(0x1e9)+this[_0x2677ad(0x1e6)]+'s');}[a0_0xe33c9d(0x1dc)](){const _0x2b7bba=a0_0xe33c9d;!this[_0x2b7bba(0x1cf)]&&this['_initConfig']();}get[a0_0xe33c9d(0x1cb)](){return this['_ensureInitialized'](),this['_enabled'];}get[a0_0xe33c9d(0x1d0)](){const _0x23dd7b=a0_0xe33c9d;return this['_ensureInitialized'](),this[_0x23dd7b(0x1e6)];}[a0_0xe33c9d(0x1f0)](){return this['enabled'];}['buildKey'](_0x3fc99d,_0x2245bc){const _0x5c3acf=a0_0xe33c9d,_0x573b2f={'yjHGN':_0x5c3acf(0x1de),'bCwVH':'unknown'},_0x3db8e3=_0x2245bc['path'][_0x5c3acf(0x1dd)]('/')[_0x5c3acf(0x1f5)](Boolean),_0x3216dc=_0x3db8e3[0x0]||_0x573b2f[_0x5c3acf(0x1ea)],_0x3ad038=_0x3db8e3[0x1]||_0x5c3acf(0x1d9),_0x3482df=_0x3db8e3[0x2]||_0x573b2f[_0x5c3acf(0x1f6)];return'rf:idem:'+_0x3216dc+':'+_0x3ad038+':'+_0x3482df+':'+_0x3fc99d;}async[a0_0xe33c9d(0x1e5)](_0x5bba66,_0x142bd1){const _0x443e11=a0_0xe33c9d,_0x42e117={'XAZVW':'idempotency_store'};if(!this[_0x443e11(0x1cb)])return![];try{const _0x57beb1=redisClient['getClient']();return await _0x57beb1[_0x443e11(0x1d3)](_0x5bba66,this['ttl'],JSON['stringify'](_0x142bd1)),logger[_0x443e11(0x1d4)]({'event':_0x42e117[_0x443e11(0x1cd)],'key':_0x5bba66,'ttl':this['ttl'],'statusCode':_0x142bd1['statusCode']},'Idempotency\x20response\x20stored'),!![];}catch(_0x1db7f2){return logger['error']({'event':_0x443e11(0x1e1),'key':_0x5bba66,'error':_0x1db7f2['message']},'Idempotency\x20store\x20error:\x20'+_0x1db7f2[_0x443e11(0x1f2)]),![];}}async['retrieve'](_0x538bfd){const _0x3849e8=a0_0xe33c9d,_0x5a4519={'FgQyj':'idempotency_miss'};if(!this['enabled'])return null;try{const _0x5da336=redisClient['getClient'](),_0x21b098=await _0x5da336[_0x3849e8(0x1ec)](_0x538bfd);if(_0x21b098)return logger['info']({'event':'idempotency_hit','key':_0x538bfd},_0x3849e8(0x1e8)),JSON['parse'](_0x21b098);return logger[_0x3849e8(0x1d4)]({'event':_0x5a4519[_0x3849e8(0x1ef)],'key':_0x538bfd},'Idempotency\x20cache\x20MISS'),null;}catch(_0x5dd5c4){return logger['error']({'event':_0x3849e8(0x1cc),'key':_0x538bfd,'error':_0x5dd5c4['message']},'Idempotency\x20retrieve\x20error:\x20'+_0x5dd5c4[_0x3849e8(0x1f2)]),null;}}[a0_0xe33c9d(0x1f3)](_0x301327=a0_0xe33c9d(0x1f4)){const _0x486687=a0_0xe33c9d;return _0x301327+'_'+crypto[_0x486687(0x1e4)]();}['buildDeterministicKey'](_0x27c5dc,_0xd7ee91,_0x3adc40){return _0x27c5dc+':'+_0xd7ee91+':'+_0x3adc40;}}module['exports']=new IdempotencyManager();function a0_0x4368(_0x1c9ab2,_0x344ff8){_0x1c9ab2=_0x1c9ab2-0x1ca;const _0x328cba=a0_0x328c();let _0x436885=_0x328cba[_0x1c9ab2];if(a0_0x4368['Jdkucz']===undefined){var _0x2b5416=function(_0xb38dab){const _0x390a0e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2509c7='',_0x15b1af='';for(let _0x655646=0x0,_0x9c7776,_0x566130,_0x1c84f4=0x0;_0x566130=_0xb38dab['charAt'](_0x1c84f4++);~_0x566130&&(_0x9c7776=_0x655646%0x4?_0x9c7776*0x40+_0x566130:_0x566130,_0x655646++%0x4)?_0x2509c7+=String['fromCharCode'](0xff&_0x9c7776>>(-0x2*_0x655646&0x6)):0x0){_0x566130=_0x390a0e['indexOf'](_0x566130);}for(let _0x3bc75f=0x0,_0x283565=_0x2509c7['length'];_0x3bc75f<_0x283565;_0x3bc75f++){_0x15b1af+='%'+('00'+_0x2509c7['charCodeAt'](_0x3bc75f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x15b1af);};a0_0x4368['ICLUJq']=_0x2b5416,a0_0x4368['GzxcDW']={},a0_0x4368['Jdkucz']=!![];}const _0x544b0c=_0x328cba[0x0],_0x390fd9=_0x1c9ab2+_0x544b0c,_0x193559=a0_0x4368['GzxcDW'][_0x390fd9];return!_0x193559?(_0x436885=a0_0x4368['ICLUJq'](_0x436885),a0_0x4368['GzxcDW'][_0x390fd9]=_0x436885):_0x436885=_0x193559,_0x436885;}function a0_0x328c(){const _0x35a57d=['Dw5RBM93BG','lI9SB2DNzxi','mZHcuK1dt0O','x2vUC3vYzuLUAxrPywXPEMvK','C3bSAxq','zgvMyxvSDa','Aez5q0y','swrLBxbVDgvUy3KGy29UzMLNDxjHDgLVBIbPBML0AwfSAxPLzcaTigvUywjSzwq6ia','AwrLBxbVDgvUy3LFC3rVCMvFzxjYB3i','x2LUAxrdB25MAwC','lI9YzwrPCY1JBgLLBNq','CMfUzg9Tvvvjra','C3rVCMu','x3r0Ba','EwToq3C','swrLBxbVDgvUy3KGy2fJAguGseLu','lcbuveW6ia','EwPir04','mZe4mJaYqvLjBMXL','z2v0','mJCZnda1nMLuBuzfwq','x2vUywjSzwq','rMDrEwO','AxnfBMfIBgvK','mJG2AhDYrKfJ','BwvZC2fNzq','z2vUzxjHDgvlzxK','CMvX','zMLSDgvY','yKn3vKG','zw52','zw5HyMXLza','AwrLBxbVDgvUy3LFCMv0CMLLDMvFzxjYB3i','wefAvLC','mteXmfnqtfbgua','x2LUAxrPywXPEMvK','DhrS','mtaXnJmXBxLQEvH6','mta1ndK2DNzby0fJ','C2v0zxG','zgvIDwC','nda5mKzTtxjjCW','ntuXmZa2zvrOCwv4','otq5mZboENHcu0u','otLhDw1yyK8'];a0_0x328c=function(){return _0x35a57d;};return a0_0x328c();}
1
+ 'use strict';const a0_0x16f659=a0_0x8f6d;(function(_0x35d6b8,_0x3bcf21){const _0x456a7f=a0_0x8f6d,_0x53fe89=_0x35d6b8();while(!![]){try{const _0x2b74f6=parseInt(_0x456a7f(0x1f1))/0x1+parseInt(_0x456a7f(0x202))/0x2*(parseInt(_0x456a7f(0x1df))/0x3)+parseInt(_0x456a7f(0x1dd))/0x4*(-parseInt(_0x456a7f(0x1e5))/0x5)+-parseInt(_0x456a7f(0x1ee))/0x6+parseInt(_0x456a7f(0x1e7))/0x7+-parseInt(_0x456a7f(0x1e3))/0x8+-parseInt(_0x456a7f(0x1fd))/0x9*(-parseInt(_0x456a7f(0x1e0))/0xa);if(_0x2b74f6===_0x3bcf21)break;else _0x53fe89['push'](_0x53fe89['shift']());}catch(_0x46458f){_0x53fe89['push'](_0x53fe89['shift']());}}}(a0_0x5cc8,0xe00d0));const redisClient=require('./redis-client'),{logger}=require('./logger'),crypto=require('crypto');class IdempotencyManager{constructor(){const _0xb6f144=a0_0x8f6d;this[_0xb6f144(0x1fb)]=null,this[_0xb6f144(0x1ea)]=null,this[_0xb6f144(0x1fe)]=![];}['_initConfig'](){const _0x5d9cb4=a0_0x8f6d,_0x4e4232={'zGAKm':function(_0x5bbc8b,_0x3132b2){return _0x5bbc8b===_0x3132b2;}};this[_0x5d9cb4(0x1fb)]=_0x4e4232[_0x5d9cb4(0x1f3)](process['env'][_0x5d9cb4(0x1de)],'true'),this[_0x5d9cb4(0x1ea)]=parseInt(process[_0x5d9cb4(0x1eb)]['IDEMPOTENCY_TTL'],0xa)||0x12c,this['_initialized']=!![],logger['info']({'event':_0x5d9cb4(0x1f2),'enabled':this['_enabled'],'ttl':this['_ttl']},'Idempotency\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+',\x20TTL:\x20'+this['_ttl']+'s');}[a0_0x16f659(0x1f7)](){const _0x465d7d=a0_0x16f659;!this[_0x465d7d(0x1fe)]&&this['_initConfig']();}get['enabled'](){const _0x18f99e=a0_0x16f659;return this[_0x18f99e(0x1f7)](),this['_enabled'];}get['ttl'](){const _0x2640ee=a0_0x16f659;return this[_0x2640ee(0x1f7)](),this[_0x2640ee(0x1ea)];}['isEnabled'](){return this['enabled'];}[a0_0x16f659(0x201)](_0xb0ee7e,_0x2420bf){const _0x43009a=a0_0x16f659,_0x15761f=_0x2420bf[_0x43009a(0x1e1)][_0x43009a(0x1e9)]('/')['filter'](Boolean),_0x2b01da=_0x15761f[0x0]||'default',_0x5c96e6=_0x15761f[0x1]||_0x43009a(0x200),_0x3b2998=_0x15761f[0x2]||'unknown';return _0x43009a(0x1ec)+_0x2b01da+':'+_0x5c96e6+':'+_0x3b2998+':'+_0xb0ee7e;}async[a0_0x16f659(0x1e2)](_0x4b1355,_0x2f9633){const _0x419a8e=a0_0x16f659,_0x54dd44={'yZIrx':_0x419a8e(0x1f8)};if(!this['enabled'])return![];try{const _0x4d0e0d=redisClient[_0x419a8e(0x1ed)]();return await _0x4d0e0d['setex'](_0x4b1355,this['ttl'],JSON['stringify'](_0x2f9633)),logger[_0x419a8e(0x1e8)]({'event':_0x419a8e(0x1f6),'key':_0x4b1355,'ttl':this['ttl'],'statusCode':_0x2f9633['statusCode']},_0x419a8e(0x1ff)),!![];}catch(_0x449b94){return logger[_0x419a8e(0x1ef)]({'event':_0x54dd44['yZIrx'],'key':_0x4b1355,'error':_0x449b94['message']},'Idempotency\x20store\x20error:\x20'+_0x449b94[_0x419a8e(0x1f0)]),![];}}async[a0_0x16f659(0x1fa)](_0x4f7a43){const _0x4b4068=a0_0x16f659;if(!this['enabled'])return null;try{const _0x349929=redisClient['getClient'](),_0x4f20a0=await _0x349929[_0x4b4068(0x1f5)](_0x4f7a43);if(_0x4f20a0)return logger['info']({'event':_0x4b4068(0x1e6),'key':_0x4f7a43},'Idempotency\x20cache\x20HIT'),JSON[_0x4b4068(0x1f9)](_0x4f20a0);return logger[_0x4b4068(0x1e8)]({'event':'idempotency_miss','key':_0x4f7a43},_0x4b4068(0x1fc)),null;}catch(_0x5619a5){return logger['error']({'event':_0x4b4068(0x1e4),'key':_0x4f7a43,'error':_0x5619a5[_0x4b4068(0x1f0)]},_0x4b4068(0x1f4)+_0x5619a5['message']),null;}}['generateKey'](_0x336f63='req'){return _0x336f63+'_'+crypto['randomUUID']();}['buildDeterministicKey'](_0x258181,_0x402cc6,_0x23cd42){return _0x258181+':'+_0x402cc6+':'+_0x23cd42;}}function a0_0x5cc8(){const _0x375aa9=['C3rVCMu','ntiWotm4ngrgvhnUBW','AwrLBxbVDgvUy3LFCMv0CMLLDMvFzxjYB3i','mtbJuuLXq0e','AwrLBxbVDgvUy3LFAgL0','mtGXodC3nujQz3rguG','zgvIDwC','C3bSAxq','x3r0Ba','zw52','CMy6AwrLBtO','z2v0q2XPzw50','nZe5nJuYme16EKDRzW','zxjYB3i','BwvZC2fNzq','mty5ntu4n1DjEKHrAW','AwrLBxbVDgvUy3LFy29UzMLNx2LUAxq','EKDbs20','swrLBxbVDgvUy3KGCMv0CMLLDMuGzxjYB3i6ia','z2v0','AwrLBxbVDgvUy3LFC3rVCMu','x2vUC3vYzuLUAxrPywXPEMvK','AwrLBxbVDgvUy3LFC3rVCMvFzxjYB3i','CgfYC2u','CMv0CMLLDMu','x2vUywjSzwq','swrLBxbVDgvUy3KGy2fJAguGtuLtuW','mZC3mtbdBMvewfi','x2LUAxrPywXPEMvK','swrLBxbVDgvUy3KGCMvZCg9UC2uGC3rVCMvK','Dw5RBM93BG','yNvPBgrlzxK','mLbhufnYDW','mtK3otGZnKf6wgjsEG','surftvbpvevoq1LFru5bqKXfra','nde3nJu3m0vRAeHbEq','otGWrenVuNjd','Cgf0Aa'];a0_0x5cc8=function(){return _0x375aa9;};return a0_0x5cc8();}function a0_0x8f6d(_0x137e2a,_0x5f510d){_0x137e2a=_0x137e2a-0x1dd;const _0x5cc883=a0_0x5cc8();let _0x8f6d3c=_0x5cc883[_0x137e2a];if(a0_0x8f6d['CozTjS']===undefined){var _0x538613=function(_0x48aed7){const _0x939c7d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x6e743e='',_0x409ed1='';for(let _0xb24597=0x0,_0x404fd4,_0x1a4528,_0x4775f5=0x0;_0x1a4528=_0x48aed7['charAt'](_0x4775f5++);~_0x1a4528&&(_0x404fd4=_0xb24597%0x4?_0x404fd4*0x40+_0x1a4528:_0x1a4528,_0xb24597++%0x4)?_0x6e743e+=String['fromCharCode'](0xff&_0x404fd4>>(-0x2*_0xb24597&0x6)):0x0){_0x1a4528=_0x939c7d['indexOf'](_0x1a4528);}for(let _0x5732ee=0x0,_0x1c6af6=_0x6e743e['length'];_0x5732ee<_0x1c6af6;_0x5732ee++){_0x409ed1+='%'+('00'+_0x6e743e['charCodeAt'](_0x5732ee)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x409ed1);};a0_0x8f6d['PXbjuX']=_0x538613,a0_0x8f6d['qjzMQc']={},a0_0x8f6d['CozTjS']=!![];}const _0x36a052=_0x5cc883[0x0],_0x1f34b6=_0x137e2a+_0x36a052,_0x468eb7=a0_0x8f6d['qjzMQc'][_0x1f34b6];return!_0x468eb7?(_0x8f6d3c=a0_0x8f6d['PXbjuX'](_0x8f6d3c),a0_0x8f6d['qjzMQc'][_0x1f34b6]=_0x8f6d3c):_0x8f6d3c=_0x468eb7,_0x8f6d3c;}module['exports']=new IdempotencyManager();
@@ -1 +1 @@
1
- const a0_0x5a1fe9=a0_0x4382;function a0_0x4382(_0xd53588,_0x55b23e){_0xd53588=_0xd53588-0x193;const _0x40602d=a0_0x4060();let _0x438292=_0x40602d[_0xd53588];if(a0_0x4382['gXbXhY']===undefined){var _0x52df72=function(_0x458a3f){const _0x577ab5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x952f3d='',_0x392d57='';for(let _0x5e6653=0x0,_0x573306,_0x2d38f4,_0x3ca098=0x0;_0x2d38f4=_0x458a3f['charAt'](_0x3ca098++);~_0x2d38f4&&(_0x573306=_0x5e6653%0x4?_0x573306*0x40+_0x2d38f4:_0x2d38f4,_0x5e6653++%0x4)?_0x952f3d+=String['fromCharCode'](0xff&_0x573306>>(-0x2*_0x5e6653&0x6)):0x0){_0x2d38f4=_0x577ab5['indexOf'](_0x2d38f4);}for(let _0xef6e49=0x0,_0x4f9aef=_0x952f3d['length'];_0xef6e49<_0x4f9aef;_0xef6e49++){_0x392d57+='%'+('00'+_0x952f3d['charCodeAt'](_0xef6e49)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x392d57);};a0_0x4382['FoByTP']=_0x52df72,a0_0x4382['EJfOru']={},a0_0x4382['gXbXhY']=!![];}const _0x3c79ea=_0x40602d[0x0],_0x3e440c=_0xd53588+_0x3c79ea,_0x2dc225=a0_0x4382['EJfOru'][_0x3e440c];return!_0x2dc225?(_0x438292=a0_0x4382['FoByTP'](_0x438292),a0_0x4382['EJfOru'][_0x3e440c]=_0x438292):_0x438292=_0x2dc225,_0x438292;}(function(_0x3220cf,_0x1556f5){const _0xdc3d0=a0_0x4382,_0x589d59=_0x3220cf();while(!![]){try{const _0x3381cc=parseInt(_0xdc3d0(0x194))/0x1+-parseInt(_0xdc3d0(0x1af))/0x2+-parseInt(_0xdc3d0(0x1b1))/0x3+parseInt(_0xdc3d0(0x1a1))/0x4+parseInt(_0xdc3d0(0x19b))/0x5*(parseInt(_0xdc3d0(0x19f))/0x6)+-parseInt(_0xdc3d0(0x1a5))/0x7+parseInt(_0xdc3d0(0x1ae))/0x8;if(_0x3381cc===_0x1556f5)break;else _0x589d59['push'](_0x589d59['shift']());}catch(_0x520b2a){_0x589d59['push'](_0x589d59['shift']());}}}(a0_0x4060,0x6cb15));const {logger}=require('./logger');function a0_0x4060(){const _0x524652=['ChvZAa','yMf0y2HwywXPzgf0zvjVD3m','z2v0','nJq1mJyWtKnvDhvI','CgHVBMu','zM9YrwfJAa','Aw5MBW','DMfSAwrHDgvfBwfPBa','DMfSAwrHDgvqAg9Uzq','EhPhsgC','yMf0y2HFDMfSAwrHDgLVBL9JB21WBgv0zq','BwfW','mJm3mdKXmMrbAw5vDW','mZe3mtG2y1zPBgXN','sgjut0u','mtGZotG2neLMz1Pyza','sw52ywXPzcbvuKWGzM9YBwf0','qMf0y2GGDMfSAwrHDgLVBIbJB21WBgv0zwq','zgzWtg8','yxLVEuG','mtCXndq0whjbr3b0','t1rUyxm','DMfSAwrHDgvoDw1Izxi','sw52ywXPzcbWAg9UzsbMB3jTyxq','DgvZDa','sKrkCvq','CMvXDwLYzwq','mta0odiWnu96qM1nvq','AfLguw0','BgvUz3rO','DMfSAwrHDgvsB3C','mJrJy3rkr0W','DMfSAwrHDgvgAwvSzezVCM1HDa','mte1nZzowgnfy2W'];a0_0x4060=function(){return _0x524652;};return a0_0x4060();}class ImportValidator{[a0_0x5a1fe9(0x19e)](_0x5eb8fa,_0x2da17a=[],_0x2f4aab={}){const _0x1fa359=a0_0x5a1fe9,_0x32ac10={'LSvWh':function(_0xba85ae,_0x1e93ef){return _0xba85ae===_0x1e93ef;},'JDJqT':function(_0x49fe44,_0x39bf40){return _0x49fe44===_0x39bf40;},'aJRjD':_0x1fa359(0x19a)},_0x326fa6=[];return _0x2da17a['forEach'](_0xef835=>{const _0x3235a4=_0x1fa359,_0x2bf11d=_0x5eb8fa[_0xef835];(_0x2bf11d===null||_0x32ac10['LSvWh'](_0x2bf11d,undefined)||_0x32ac10[_0x3235a4(0x199)](_0x2bf11d,''))&&_0x326fa6[_0x3235a4(0x1a2)]({'field':_0xef835,'type':_0x32ac10['aJRjD'],'message':'Required\x20field\x20is\x20empty'});}),Object['keys'](_0x2f4aab)[_0x1fa359(0x1a7)](_0x28ccef=>{const _0x45dc1c=_0x1fa359,_0x1b717c=_0x5eb8fa[_0x28ccef],_0xeaa6b0=_0x2f4aab[_0x28ccef];if(_0x32ac10['JDJqT'](_0x1b717c,null)||_0x32ac10['LSvWh'](_0x1b717c,undefined)||_0x32ac10[_0x45dc1c(0x199)](_0x1b717c,''))return;const _0x5630f2=this[_0x45dc1c(0x1a0)](_0x28ccef,_0x1b717c,_0xeaa6b0);_0x5630f2&&_0x326fa6['push'](_0x5630f2);}),_0x326fa6;}[a0_0x5a1fe9(0x1a0)](_0x4e1dc0,_0x276f3d,_0xea768){const _0x3c99a1=a0_0x5a1fe9,_0x10647a={'dfpLo':_0x3c99a1(0x1a6)};switch(_0xea768){case'email':return this['validateEmail'](_0x4e1dc0,_0x276f3d);case _0x10647a[_0x3c99a1(0x1b4)]:return this['validatePhone'](_0x4e1dc0,_0x276f3d);case'url':return this['validateUrl'](_0x4e1dc0,_0x276f3d);case'number':return this[_0x3c99a1(0x196)](_0x4e1dc0,_0x276f3d);default:return null;}}[a0_0x5a1fe9(0x1a9)](_0x59ae70,_0x5f3f8e){const _0x38df04=a0_0x5a1fe9,_0x1c05a9={'ayoyH':function(_0x31891f,_0x99ab15){return _0x31891f(_0x99ab15);},'xzGHg':'Invalid\x20email\x20format'},_0x5f23e=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x5f23e['test'](_0x1c05a9[_0x38df04(0x193)](String,_0x5f3f8e)))return{'field':_0x59ae70,'type':'format','message':_0x1c05a9[_0x38df04(0x1ab)]};return null;}[a0_0x5a1fe9(0x1aa)](_0x3ab03f,_0x30256a){const _0x5066a3=a0_0x5a1fe9,_0x4dd3b7={'ywjBz':function(_0x3e72cc,_0x4eb7d5){return _0x3e72cc(_0x4eb7d5);},'WeNpr':'format'},_0x1f31af=_0x4dd3b7['ywjBz'](String,_0x30256a)['replace'](/\s+/g,''),_0x593133=/^[\d\+\-\(\)]+$/;if(!_0x593133[_0x5066a3(0x198)](_0x1f31af)||_0x1f31af[_0x5066a3(0x19d)]<0x8)return{'field':_0x3ab03f,'type':_0x4dd3b7['WeNpr'],'message':_0x5066a3(0x197)};return null;}['validateUrl'](_0x520baf,_0x17e2e6){const _0x477437=a0_0x5a1fe9,_0x56c941={'OTnas':function(_0x1e98fa,_0x5857eb){return _0x1e98fa(_0x5857eb);},'HbTOE':_0x477437(0x1b2)};try{return new URL(_0x56c941[_0x477437(0x195)](String,_0x17e2e6)),null;}catch(_0x4a69ef){return{'field':_0x520baf,'type':'format','message':_0x56c941[_0x477437(0x1b0)]};}}['validateNumber'](_0x80d8fc,_0x20267c){const _0x25ee1e={'CEkfy':function(_0x48ad80,_0x3a279f){return _0x48ad80(_0x3a279f);}};if(_0x25ee1e['CEkfy'](isNaN,_0x20267c))return{'field':_0x80d8fc,'type':'format','message':'Invalid\x20number\x20format'};return null;}['detectDuplicatesInFile'](_0x3835be,_0x488ac9){const _0x576f31=a0_0x5a1fe9,_0x1533df=new Map(),_0x51b676=[];return _0x3835be[_0x576f31(0x1a7)]((_0x582fd4,_0x589180)=>{const _0x8a71=_0x576f31,_0x7a2510=_0x488ac9[_0x8a71(0x1ad)](_0x17f5ac=>_0x582fd4[_0x17f5ac])['join']('|');_0x1533df['has'](_0x7a2510)?_0x51b676['push']({'rowIndex':_0x589180,'duplicateOf':_0x1533df[_0x8a71(0x1a4)](_0x7a2510),'key':_0x7a2510}):_0x1533df['set'](_0x7a2510,_0x589180);}),_0x51b676;}[a0_0x5a1fe9(0x1a3)](_0x5dc528,_0x137a22,_0x77abf2){const _0x4ff1c6=a0_0x5a1fe9,_0x48af6a={'hYFQm':_0x4ff1c6(0x1ac),'soDRn':_0x4ff1c6(0x1b3)},_0x54d229=[];return _0x5dc528['forEach']((_0x131b5e,_0xaa1175)=>{const _0x463bbc=_0x4ff1c6,_0x75adea=this['validateRow'](_0x131b5e,_0x137a22,_0x77abf2);_0x75adea[_0x463bbc(0x19d)]>0x0&&_0x54d229['push']({'rowIndex':_0xaa1175,'rowData':_0x131b5e,'errors':_0x75adea});}),logger[_0x4ff1c6(0x1a8)]({'event':_0x48af6a[_0x4ff1c6(0x19c)],'totalRows':_0x5dc528['length'],'errorCount':_0x54d229['length']},_0x48af6a['soDRn']),_0x54d229;}}module['exports']=new ImportValidator();
1
+ const a0_0x1dce30=a0_0x5737;function a0_0x449d(){const _0xc5ef96=['BNvTyMvY','sw52ywXPzcbUDw1IzxiGzM9YBwf0','nKz5BMDezG','mtK5nZq2wMz5A2rm','ovvPzxzZsq','ChvZAa','mtC5mtK0mfDUEgfTra','DMfSAwrHDgvoDw1Izxi','mti0mJuYvvzJEgrW','DMfSAwrHDgvqAg9Uzq','mJeWmJrfvKrewvq','zw1HAwW','CeLks3G','BgvUz3rO','zM9YBwf0','DMfSAwrHDgvfBwfPBa','BhrADeW','Aw5MBW','AM9PBG','ody5Dfj2CM94','n2LztxDXEa','DMfSAwrHDgvvCMW','sw52ywXPzcbvuKWGzM9YBwf0','mtCYmtGYuKHrs0PX','nuPoCNzrqq','qMf0y2GGDMfSAwrHDgLVBIbJB21WBgv0zwq','DgvZDa','zxHWB3j0CW','DxjS','sw52ywXPzcbWAg9UzsbMB3jTyxq','mte4odK1DfzRz25Y','A2v5CW','DMfSAwrHDgvsB3C','mtq2mdi0mezlzw1Lwq','DMfSAwrHDgvgAwvSzezVCM1HDa','D3biDwu','BwfW'];a0_0x449d=function(){return _0xc5ef96;};return a0_0x449d();}(function(_0x4162df,_0x40d088){const _0x560750=a0_0x5737,_0x1444ec=_0x4162df();while(!![]){try{const _0x5d699c=-parseInt(_0x560750(0x1cf))/0x1+-parseInt(_0x560750(0x1d9))/0x2*(parseInt(_0x560750(0x1d8))/0x3)+-parseInt(_0x560750(0x1b9))/0x4*(parseInt(_0x560750(0x1c9))/0x5)+-parseInt(_0x560750(0x1c8))/0x6+parseInt(_0x560750(0x1c5))/0x7*(parseInt(_0x560750(0x1d2))/0x8)+-parseInt(_0x560750(0x1b5))/0x9*(-parseInt(_0x560750(0x1b7))/0xa)+-parseInt(_0x560750(0x1c4))/0xb*(-parseInt(_0x560750(0x1bb))/0xc);if(_0x5d699c===_0x40d088)break;else _0x1444ec['push'](_0x1444ec['shift']());}catch(_0x3cc905){_0x1444ec['push'](_0x1444ec['shift']());}}}(a0_0x449d,0x1db83));const {logger}=require('./logger');class ImportValidator{[a0_0x1dce30(0x1d1)](_0xb5d7e9,_0x4515a1=[],_0x3e7485={}){const _0x3c8b4d=a0_0x1dce30,_0x1e4f6c={'RdWzz':function(_0x5df4e1,_0x185609){return _0x5df4e1===_0x185609;},'wpHue':function(_0x3e38c3,_0x42402d){return _0x3e38c3===_0x42402d;},'pIJKx':function(_0x318801,_0x44759f){return _0x318801===_0x44759f;}},_0x389739=[];return _0x4515a1['forEach'](_0x4061f2=>{const _0x4d85f9=a0_0x5737,_0x18f520=_0xb5d7e9[_0x4061f2];(_0x18f520===null||_0x18f520===undefined||_0x1e4f6c['RdWzz'](_0x18f520,''))&&_0x389739[_0x4d85f9(0x1b6)]({'field':_0x4061f2,'type':'required','message':'Required\x20field\x20is\x20empty'});}),Object[_0x3c8b4d(0x1d0)](_0x3e7485)['forEach'](_0x32c3f0=>{const _0x3c4075=_0x3c8b4d,_0x199aa0=_0xb5d7e9[_0x32c3f0],_0x2c059e=_0x3e7485[_0x32c3f0];if(_0x1e4f6c[_0x3c4075(0x1d4)](_0x199aa0,null)||_0x1e4f6c[_0x3c4075(0x1bd)](_0x199aa0,undefined)||_0x199aa0==='')return;const _0x5867d8=this[_0x3c4075(0x1d3)](_0x32c3f0,_0x199aa0,_0x2c059e);_0x5867d8&&_0x389739[_0x3c4075(0x1b6)](_0x5867d8);}),_0x389739;}[a0_0x1dce30(0x1d3)](_0xa8834c,_0x12e373,_0x1ebce2){const _0x559b17=a0_0x1dce30,_0x5e3f37={'NKMKk':_0x559b17(0x1bc),'AnIDD':'phone','JSMPj':_0x559b17(0x1d6)};switch(_0x1ebce2){case _0x5e3f37['NKMKk']:return this[_0x559b17(0x1c0)](_0xa8834c,_0x12e373);case _0x5e3f37['AnIDD']:return this['validatePhone'](_0xa8834c,_0x12e373);case _0x559b17(0x1cd):return this[_0x559b17(0x1c6)](_0xa8834c,_0x12e373);case _0x5e3f37['JSMPj']:return this[_0x559b17(0x1b8)](_0xa8834c,_0x12e373);default:return null;}}['validateEmail'](_0xe867e6,_0x3b2063){const _0x510e6a=a0_0x1dce30,_0x14d7e9=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x14d7e9[_0x510e6a(0x1cb)](String(_0x3b2063)))return{'field':_0xe867e6,'type':'format','message':'Invalid\x20email\x20format'};return null;}[a0_0x1dce30(0x1ba)](_0x2665e0,_0x47e764){const _0x590d41=a0_0x1dce30,_0x52be32={'ugwQh':function(_0x1eed84,_0x1c30a9){return _0x1eed84<_0x1c30a9;},'ltZtL':_0x590d41(0x1bf)},_0x196f05=String(_0x47e764)['replace'](/\s+/g,''),_0x3a2326=/^[\d\+\-\(\)]+$/;if(!_0x3a2326['test'](_0x196f05)||_0x52be32['ugwQh'](_0x196f05['length'],0x8))return{'field':_0x2665e0,'type':_0x52be32[_0x590d41(0x1c1)],'message':_0x590d41(0x1ce)};return null;}[a0_0x1dce30(0x1c6)](_0x53b678,_0x4c5240){const _0x239578=a0_0x1dce30,_0x5c2f23={'mwRkM':function(_0x2220c6,_0x44cbfa){return _0x2220c6(_0x44cbfa);},'pYdvQ':'format','NlaUy':_0x239578(0x1c7)};try{return new URL(_0x5c2f23['mwRkM'](String,_0x4c5240)),null;}catch(_0x1b2558){return{'field':_0x53b678,'type':_0x5c2f23['pYdvQ'],'message':_0x5c2f23['NlaUy']};}}[a0_0x1dce30(0x1b8)](_0x336bc5,_0x21e424){const _0x2d15f3=a0_0x1dce30,_0x3d78a8={'OkaHS':function(_0x3834dd,_0x3d12b1){return _0x3834dd(_0x3d12b1);},'kytjM':_0x2d15f3(0x1d7)};if(_0x3d78a8['OkaHS'](isNaN,_0x21e424))return{'field':_0x336bc5,'type':_0x2d15f3(0x1bf),'message':_0x3d78a8['kytjM']};return null;}['detectDuplicatesInFile'](_0x2ba465,_0x3aae4c){const _0x3647ce=new Map(),_0x25d81e=[];return _0x2ba465['forEach']((_0x249c84,_0x2aeaab)=>{const _0x4d7461=a0_0x5737,_0x116435=_0x3aae4c[_0x4d7461(0x1d5)](_0x26546e=>_0x249c84[_0x26546e])[_0x4d7461(0x1c3)]('|');_0x3647ce['has'](_0x116435)?_0x25d81e['push']({'rowIndex':_0x2aeaab,'duplicateOf':_0x3647ce['get'](_0x116435),'key':_0x116435}):_0x3647ce['set'](_0x116435,_0x2aeaab);}),_0x25d81e;}['batchValidateRows'](_0x288834,_0x104028,_0x29910a){const _0x24b7f2=a0_0x1dce30,_0x43a196={'VqRVz':function(_0x567077,_0x5684fd){return _0x567077>_0x5684fd;},'JFCJc':_0x24b7f2(0x1ca)},_0x1ae1c0=[];return _0x288834['forEach']((_0x2e1354,_0x3831e3)=>{const _0x3c1c4e=_0x24b7f2,_0x1b767d=this[_0x3c1c4e(0x1d1)](_0x2e1354,_0x104028,_0x29910a);_0x43a196['VqRVz'](_0x1b767d[_0x3c1c4e(0x1be)],0x0)&&_0x1ae1c0['push']({'rowIndex':_0x3831e3,'rowData':_0x2e1354,'errors':_0x1b767d});}),logger[_0x24b7f2(0x1c2)]({'event':'batch_validation_complete','totalRows':_0x288834[_0x24b7f2(0x1be)],'errorCount':_0x1ae1c0[_0x24b7f2(0x1be)]},_0x43a196['JFCJc']),_0x1ae1c0;}}function a0_0x5737(_0x2003a1,_0x1a8a5e){_0x2003a1=_0x2003a1-0x1b5;const _0x449d35=a0_0x449d();let _0x573799=_0x449d35[_0x2003a1];if(a0_0x5737['NaJZyF']===undefined){var _0x355ba5=function(_0x2168af){const _0x372f09='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x270869='',_0x424c13='';for(let _0x33b163=0x0,_0x264fd6,_0x133e5b,_0x5418da=0x0;_0x133e5b=_0x2168af['charAt'](_0x5418da++);~_0x133e5b&&(_0x264fd6=_0x33b163%0x4?_0x264fd6*0x40+_0x133e5b:_0x133e5b,_0x33b163++%0x4)?_0x270869+=String['fromCharCode'](0xff&_0x264fd6>>(-0x2*_0x33b163&0x6)):0x0){_0x133e5b=_0x372f09['indexOf'](_0x133e5b);}for(let _0x3d6de4=0x0,_0x20c69b=_0x270869['length'];_0x3d6de4<_0x20c69b;_0x3d6de4++){_0x424c13+='%'+('00'+_0x270869['charCodeAt'](_0x3d6de4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x424c13);};a0_0x5737['scSXhv']=_0x355ba5,a0_0x5737['ofIgWz']={},a0_0x5737['NaJZyF']=!![];}const _0x12a58c=_0x449d35[0x0],_0x541c5d=_0x2003a1+_0x12a58c,_0x31b28c=a0_0x5737['ofIgWz'][_0x541c5d];return!_0x31b28c?(_0x573799=a0_0x5737['scSXhv'](_0x573799),a0_0x5737['ofIgWz'][_0x541c5d]=_0x573799):_0x573799=_0x31b28c,_0x573799;}module[a0_0x1dce30(0x1cc)]=new ImportValidator();