@bbk47/toolbox 1.0.8 → 2.0.0

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 (90) hide show
  1. package/lib/deferred.d.ts +7 -0
  2. package/lib/deferred.d.ts.map +1 -0
  3. package/lib/deferred.js +8 -4
  4. package/lib/deferred.js.map +1 -0
  5. package/lib/encrypt.d.ts +19 -0
  6. package/lib/encrypt.d.ts.map +1 -0
  7. package/lib/encrypt.js +78 -79
  8. package/lib/encrypt.js.map +1 -0
  9. package/lib/index.d.ts +19 -0
  10. package/lib/index.d.ts.map +1 -0
  11. package/lib/index.js +58 -12
  12. package/lib/index.js.map +1 -0
  13. package/lib/logger.d.ts +11 -0
  14. package/lib/logger.d.ts.map +1 -0
  15. package/lib/logger.js +23 -14
  16. package/lib/logger.js.map +1 -0
  17. package/lib/md5.d.ts +2 -0
  18. package/lib/md5.d.ts.map +1 -0
  19. package/lib/md5.js +9 -6
  20. package/lib/md5.js.map +1 -0
  21. package/lib/merge.d.ts +2 -0
  22. package/lib/merge.d.ts.map +1 -0
  23. package/lib/merge.js +7 -8
  24. package/lib/merge.js.map +1 -0
  25. package/lib/proxy.d.ts +6 -0
  26. package/lib/proxy.d.ts.map +1 -0
  27. package/lib/proxy.js +23 -20
  28. package/lib/proxy.js.map +1 -0
  29. package/lib/retry.d.ts +6 -0
  30. package/lib/retry.d.ts.map +1 -0
  31. package/lib/retry.js +11 -13
  32. package/lib/retry.js.map +1 -0
  33. package/lib/server.d.ts +14 -0
  34. package/lib/server.d.ts.map +1 -0
  35. package/lib/server.js +36 -26
  36. package/lib/server.js.map +1 -0
  37. package/lib/socks5.d.ts +8 -0
  38. package/lib/socks5.d.ts.map +1 -0
  39. package/lib/socks5.js +24 -27
  40. package/lib/socks5.js.map +1 -0
  41. package/lib/timeout.d.ts +2 -0
  42. package/lib/timeout.d.ts.map +1 -0
  43. package/lib/timeout.js +6 -2
  44. package/lib/timeout.js.map +1 -0
  45. package/lib/transport/creater.d.ts +14 -0
  46. package/lib/transport/creater.d.ts.map +1 -0
  47. package/lib/transport/creater.js +45 -37
  48. package/lib/transport/creater.js.map +1 -0
  49. package/lib/transport/helper.d.ts +14 -0
  50. package/lib/transport/helper.d.ts.map +1 -0
  51. package/lib/transport/helper.js +27 -26
  52. package/lib/transport/helper.js.map +1 -0
  53. package/lib/transport/index.d.ts +6 -0
  54. package/lib/transport/index.d.ts.map +1 -0
  55. package/lib/transport/index.js +43 -11
  56. package/lib/transport/index.js.map +1 -0
  57. package/lib/transport/transport.d.ts +23 -0
  58. package/lib/transport/transport.d.ts.map +1 -0
  59. package/lib/transport/transport.js +18 -15
  60. package/lib/transport/transport.js.map +1 -0
  61. package/lib/uuid.d.ts +2 -0
  62. package/lib/uuid.d.ts.map +1 -0
  63. package/lib/uuid.js +14 -20
  64. package/lib/uuid.js.map +1 -0
  65. package/package.json +17 -4
  66. package/src/deferred.ts +14 -0
  67. package/src/encrypt.ts +119 -0
  68. package/src/index.ts +29 -0
  69. package/src/logger.ts +59 -0
  70. package/src/md5.ts +5 -0
  71. package/src/merge.ts +16 -0
  72. package/src/proxy.ts +65 -0
  73. package/src/retry.ts +32 -0
  74. package/src/server.ts +77 -0
  75. package/src/socks5.ts +46 -0
  76. package/src/timeout.ts +3 -0
  77. package/src/transport/creater.ts +88 -0
  78. package/src/transport/helper.ts +73 -0
  79. package/src/transport/index.ts +6 -0
  80. package/src/transport/transport.ts +54 -0
  81. package/src/uuid.ts +37 -0
  82. package/.github/workflows/test.yml +0 -30
  83. package/.prettierrc +0 -11
  84. package/test/deferred.js +0 -24
  85. package/test/encrypt.js +0 -25
  86. package/test/md5.js +0 -9
  87. package/test/merge.js +0 -11
  88. package/test/retry.js +0 -61
  89. package/test/socks5.js +0 -42
  90. package/test/uuid.js +0 -11
@@ -0,0 +1,14 @@
1
+ import net from 'net';
2
+ import http from 'http';
3
+ import tls from 'tls';
4
+ import http2 from 'http2';
5
+ import WebSocket from 'ws';
6
+ export type HttpHandler = (req: http.IncomingMessage, res: http.ServerResponse) => void;
7
+ export type WsHandler = (ws: WebSocket) => void;
8
+ export type StreamHandler = (stream: net.Socket | http2.ServerHttp2Stream) => void;
9
+ export type ConnHandler = (conn: net.Socket | tls.TLSSocket) => void;
10
+ export declare function createWsServer(workPath: string, handler: WsHandler, httpHandler?: HttpHandler): http.Server;
11
+ export declare function createHttp2Server(tlsOpts: tls.TlsOptions, workPath: string, handler: (stream: http2.ServerHttp2Stream) => void, httpHandler?: (req: http2.Http2ServerRequest, res: http2.Http2ServerResponse) => void): http2.Http2SecureServer;
12
+ export declare function createTcpServer(handler: ConnHandler): net.Server;
13
+ export declare function createTlsServer(tlsOpts: tls.TlsOptions, handler: ConnHandler): tls.Server;
14
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,SAAS,MAAM,IAAI,CAAC;AAE3B,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC;AACxF,MAAM,MAAM,SAAS,GAAG,CAAC,EAAE,EAAE,SAAS,KAAK,IAAI,CAAC;AAChD,MAAM,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,iBAAiB,KAAK,IAAI,CAAC;AACnF,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC;AAErE,wBAAgB,cAAc,CAC1B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,SAAS,EAClB,WAAW,CAAC,EAAE,WAAW,GAC1B,IAAI,CAAC,MAAM,CAuBb;AAED,wBAAgB,iBAAiB,CAC7B,OAAO,EAAE,GAAG,CAAC,UAAU,EACvB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,iBAAiB,KAAK,IAAI,EAClD,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,kBAAkB,EAAE,GAAG,EAAE,KAAK,CAAC,mBAAmB,KAAK,IAAI,GACtF,KAAK,CAAC,iBAAiB,CAgBzB;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,CAKhE;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,CAKzF"}
package/lib/server.js CHANGED
@@ -1,36 +1,46 @@
1
- const net = require('net');
2
- const http = require('http');
3
- const tls = require('tls');
4
- const http2 = require('http2');
5
- const url = require('url');
6
- const WebSocket = require('ws');
7
-
8
- exports.createWsServer = function (workPath, handler, httpHandler) {
9
- const server = http.createServer(function (req, res) {
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createWsServer = createWsServer;
7
+ exports.createHttp2Server = createHttp2Server;
8
+ exports.createTcpServer = createTcpServer;
9
+ exports.createTlsServer = createTlsServer;
10
+ const net_1 = __importDefault(require("net"));
11
+ const http_1 = __importDefault(require("http"));
12
+ const tls_1 = __importDefault(require("tls"));
13
+ const http2_1 = __importDefault(require("http2"));
14
+ const url_1 = __importDefault(require("url"));
15
+ const ws_1 = __importDefault(require("ws"));
16
+ function createWsServer(workPath, handler, httpHandler) {
17
+ const server = http_1.default.createServer(function (req, res) {
10
18
  if (httpHandler) {
11
19
  httpHandler(req, res);
12
20
  }
13
21
  });
14
- const wss = new WebSocket.Server({ noServer: true, clientTracking: false });
22
+ // ws 2.x exposes Server as WebSocket.Server
23
+ const WsServer = ws_1.default.Server;
24
+ const wss = new WsServer({ noServer: true, clientTracking: false });
15
25
  wss.on('connection', function (wsconn) {
16
26
  handler(wsconn);
17
27
  });
18
28
  server.on('upgrade', function (request, socket, head) {
19
- const pathname = url.parse(request.url).pathname;
29
+ const pathname = url_1.default.parse(request.url || '').pathname;
20
30
  if (pathname === workPath) {
21
31
  wss.handleUpgrade(request, socket, head, function done(ws) {
22
32
  wss.emit('connection', ws, request);
23
33
  });
24
- } else {
34
+ }
35
+ else {
25
36
  socket.destroy();
26
37
  }
27
38
  });
28
39
  return server;
29
- };
30
-
31
- exports.createHttp2Server = function (tlsOpts, workPath, handler, httpHandler) {
40
+ }
41
+ function createHttp2Server(tlsOpts, workPath, handler, httpHandler) {
32
42
  const http2Opts = Object.assign({ allowHTTP1: true }, tlsOpts);
33
- const server = http2.createSecureServer(http2Opts, function (req, res) {
43
+ const server = http2_1.default.createSecureServer(http2Opts, function (req, res) {
34
44
  if (httpHandler) {
35
45
  httpHandler(req, res);
36
46
  }
@@ -39,23 +49,23 @@ exports.createHttp2Server = function (tlsOpts, workPath, handler, httpHandler) {
39
49
  const path = headers[':path'];
40
50
  if (path === workPath) {
41
51
  handler(stream);
42
- } else {
52
+ }
53
+ else {
43
54
  stream.destroy();
44
55
  }
45
56
  });
46
57
  return server;
47
- };
48
-
49
- exports.createTcpServer = function (handler) {
50
- const server = net.createServer(function (conn) {
58
+ }
59
+ function createTcpServer(handler) {
60
+ const server = net_1.default.createServer(function (conn) {
51
61
  handler(conn);
52
62
  });
53
63
  return server;
54
- };
55
-
56
- exports.createTlsServer = function (tlsOpts, handler) {
57
- const server = tls.createServer(tlsOpts, function (conn) {
64
+ }
65
+ function createTlsServer(tlsOpts, handler) {
66
+ const server = tls_1.default.createServer(tlsOpts, function (conn) {
58
67
  handler(conn);
59
68
  });
60
69
  return server;
61
- };
70
+ }
71
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";;;;;AAYA,wCA2BC;AAED,8CAqBC;AAED,0CAKC;AAED,0CAKC;AA5ED,8CAAsB;AACtB,gDAAwB;AACxB,8CAAsB;AACtB,kDAA0B;AAC1B,8CAAsB;AACtB,4CAA2B;AAO3B,SAAgB,cAAc,CAC1B,QAAgB,EAChB,OAAkB,EAClB,WAAyB;IAEzB,MAAM,MAAM,GAAG,cAAI,CAAC,YAAY,CAAC,UAAU,GAAG,EAAE,GAAG;QAC/C,IAAI,WAAW,EAAE,CAAC;YACd,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1B,CAAC;IACL,CAAC,CAAC,CAAC;IACH,4CAA4C;IAC5C,MAAM,QAAQ,GAAI,YAAiB,CAAC,MAA0B,CAAC;IAC/D,MAAM,GAAG,GAAQ,IAAK,QAAgB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;IAClF,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,UAAU,MAAiB;QAC5C,OAAO,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,OAAO,EAAE,MAAM,EAAE,IAAI;QAChD,MAAM,QAAQ,GAAG,aAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC;QACvD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACxB,GAAG,CAAC,aAAa,CAAC,OAAO,EAAE,MAAoB,EAAE,IAAI,EAAE,SAAS,IAAI,CAAC,EAAa;gBAC9E,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,OAAO,EAAE,CAAC;QACrB,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAgB,iBAAiB,CAC7B,OAAuB,EACvB,QAAgB,EAChB,OAAkD,EAClD,WAAqF;IAErF,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,eAAK,CAAC,kBAAkB,CAAC,SAAS,EAAE,UAAU,GAAG,EAAE,GAAG;QACjE,IAAI,WAAW,EAAE,CAAC;YACd,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1B,CAAC;IACL,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,MAA+B,EAAE,OAAkC;QAC7F,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpB,OAAO,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,OAAO,EAAE,CAAC;QACrB,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAgB,eAAe,CAAC,OAAoB;IAChD,MAAM,MAAM,GAAG,aAAG,CAAC,YAAY,CAAC,UAAU,IAAI;QAC1C,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAgB,eAAe,CAAC,OAAuB,EAAE,OAAoB;IACzE,MAAM,MAAM,GAAG,aAAG,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,IAAI;QACnD,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAClB,CAAC"}
@@ -0,0 +1,8 @@
1
+ export interface Socks5AddrInfo {
2
+ dstAddr: string;
3
+ dstPort: number;
4
+ }
5
+ export declare function parseSocks5Addr(buf: Buffer, offset?: number): Socks5AddrInfo;
6
+ export declare function buildSocks5Addr(hostname: string, port: number): Buffer;
7
+ export declare const parseAddrInfo: typeof parseSocks5Addr;
8
+ //# sourceMappingURL=socks5.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"socks5.d.ts","sourceRoot":"","sources":["../src/socks5.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,SAAI,GAAG,cAAc,CAwBvE;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAYtE;AAED,eAAO,MAAM,aAAa,wBAAkB,CAAC"}
package/lib/socks5.js CHANGED
@@ -1,18 +1,25 @@
1
- function parseSocks5Addr(buf, offset) {
2
- if (offset !== 0) {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseAddrInfo = void 0;
4
+ exports.parseSocks5Addr = parseSocks5Addr;
5
+ exports.buildSocks5Addr = buildSocks5Addr;
6
+ function parseSocks5Addr(buf, offset = 0) {
7
+ if (offset > 0) {
3
8
  buf = buf.slice(offset);
4
9
  }
5
10
  const type = buf.readUInt8(0);
6
11
  const addrData = buf.slice(1);
7
- let dstAddr;
8
- let dstPort;
9
- if (type === 0x1) {
10
- // IP
12
+ let dstAddr = '';
13
+ let dstPort = 0;
14
+ if (type === 0x01) {
11
15
  const IP = addrData.slice(0, -2);
12
16
  const PORT = addrData.slice(-2);
13
- dstAddr = IP.map((temp) => Number(temp).toString(10)).join('.');
17
+ dstAddr = Array.from(IP)
18
+ .map((temp) => Number(temp).toString(10))
19
+ .join('.');
14
20
  dstPort = PORT[0] * 256 + PORT[1];
15
- } else if (type === 0x3) {
21
+ }
22
+ else if (type === 0x03) {
16
23
  const addrLen = addrData.readUInt8(0);
17
24
  const domain = addrData.slice(1, addrLen + 1);
18
25
  const port = addrData.slice(addrLen + 1);
@@ -21,29 +28,19 @@ function parseSocks5Addr(buf, offset) {
21
28
  }
22
29
  return { dstAddr, dstPort };
23
30
  }
24
-
25
31
  function buildSocks5Addr(hostname, port) {
26
- var socksAddrInfoBuf;
27
32
  if (/^(\d+\.){3}\d+$/.test(hostname)) {
28
33
  const parts = hostname.split('.').map((p) => Number(p));
29
- const portBuf = Buffer.from([parseInt(port / 256), port % 256]);
34
+ const portBuf = Buffer.from([Math.floor(port / 256), port % 256]);
30
35
  const preBuf = Buffer.from([0x01, parts[0], parts[1], parts[2], parts[3]]);
31
- socksAddrInfoBuf = Buffer.concat([preBuf, portBuf]);
32
- } else {
33
- const domain = hostname;
34
- const preBuf = Buffer.from([0x03, domain.length]);
35
- const domainBuf = Buffer.from(domain);
36
- const portBuf = Buffer.from([parseInt(port / 256), port % 256]);
37
- socksAddrInfoBuf = Buffer.concat([preBuf, domainBuf, portBuf]);
36
+ return Buffer.concat([preBuf, portBuf]);
37
+ }
38
+ else {
39
+ const preBuf = Buffer.from([0x03, hostname.length]);
40
+ const domainBuf = Buffer.from(hostname);
41
+ const portBuf = Buffer.from([Math.floor(port / 256), port % 256]);
42
+ return Buffer.concat([preBuf, domainBuf, portBuf]);
38
43
  }
39
- return socksAddrInfoBuf;
40
44
  }
41
-
42
45
  exports.parseAddrInfo = parseSocks5Addr;
43
- exports.parseSocks5Addr = parseSocks5Addr;
44
- exports.buildSocks5Addr = buildSocks5Addr;
45
-
46
- // console.log(buildSocks5Addr('1.2.4.8', 8899).toString('hex'));
47
- // console.log(buildSocks5Addr('181.58.189.23', 5478).toString('hex'));
48
- // console.log(buildSocks5Addr('www.baidu.com', 1099).toString('hex'));
49
- // console.log(buildSocks5Addr('kefdka.1231.a123baidu.com', 65534).toString('hex'));
46
+ //# sourceMappingURL=socks5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"socks5.js","sourceRoot":"","sources":["../src/socks5.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function timeoutPromise(time: number): Promise<string>;
2
+ //# sourceMappingURL=timeout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeout.d.ts","sourceRoot":"","sources":["../src/timeout.ts"],"names":[],"mappings":"AAAA,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE5D"}
package/lib/timeout.js CHANGED
@@ -1,3 +1,7 @@
1
- const timeoutPromise = (time) => new Promise((resolve) => setTimeout(() => resolve('timeout:' + time), time));
2
-
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.timeoutPromise = timeoutPromise;
4
+ function timeoutPromise(time) {
5
+ return new Promise((resolve) => setTimeout(() => resolve('timeout:' + time), time));
6
+ }
7
+ //# sourceMappingURL=timeout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeout.js","sourceRoot":"","sources":["../src/timeout.ts"],"names":[],"mappings":";;AAAA,wCAEC;AAFD,SAAgB,cAAc,CAAC,IAAY;IACvC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;AACxF,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { Transport, TransportConn } from './transport';
2
+ export interface TransportParams {
3
+ host: string;
4
+ port: number;
5
+ path?: string;
6
+ secure?: boolean;
7
+ }
8
+ export declare function createWebsocketTransport(params: TransportParams, onOpen: () => void): Transport;
9
+ export declare function createHttp2Transport(params: TransportParams, onOpen: () => void): Transport;
10
+ export declare function createTlsTransport(params: TransportParams, onOpen: () => void): Transport;
11
+ export declare function createTcpTransport(params: TransportParams, onOpen: () => void): Transport;
12
+ export declare function createUnixsocketTransport(params: TransportParams, onOpen: () => void): Transport;
13
+ export declare function wrapSocket(type: string, conn: TransportConn): Transport;
14
+ //# sourceMappingURL=creater.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"creater.d.ts","sourceRoot":"","sources":["../../src/transport/creater.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEvD,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,wBAAwB,CACpC,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,IAAI,GACnB,SAAS,CASX;AAED,wBAAgB,oBAAoB,CAChC,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,IAAI,GACnB,SAAS,CAcX;AAED,wBAAgB,kBAAkB,CAC9B,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,IAAI,GACnB,SAAS,CAWX;AAED,wBAAgB,kBAAkB,CAC9B,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,IAAI,GACnB,SAAS,CAMX;AAED,wBAAgB,yBAAyB,CACrC,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,IAAI,GACnB,SAAS,CAOX;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,SAAS,CAEvE"}
@@ -1,21 +1,32 @@
1
- const WebSocket = require('ws');
2
- const net = require('net');
3
- const http2 = require('http2');
4
- const tls = require('tls');
5
-
6
- const Transport = require('./transport');
7
-
8
- exports.createWebsocketTransport = function (params, onOpen) {
9
- let tunnelWsUrl = `${params.secure ? 'wss' : 'ws'}://${params.host}:${params.port}${params.path}`;
10
- const ws = new WebSocket(tunnelWsUrl, { perMessageDeflate: false, handshakeTimeout: 3000 });
11
- const ts = new Transport({ type: 'ws', conn: ws });
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createWebsocketTransport = createWebsocketTransport;
7
+ exports.createHttp2Transport = createHttp2Transport;
8
+ exports.createTlsTransport = createTlsTransport;
9
+ exports.createTcpTransport = createTcpTransport;
10
+ exports.createUnixsocketTransport = createUnixsocketTransport;
11
+ exports.wrapSocket = wrapSocket;
12
+ const ws_1 = __importDefault(require("ws"));
13
+ const net_1 = __importDefault(require("net"));
14
+ const http2_1 = __importDefault(require("http2"));
15
+ const tls_1 = __importDefault(require("tls"));
16
+ const transport_1 = require("./transport");
17
+ function createWebsocketTransport(params, onOpen) {
18
+ const tunnelWsUrl = `${params.secure ? 'wss' : 'ws'}://${params.host}:${params.port}${params.path || ''}`;
19
+ const ws = new ws_1.default(tunnelWsUrl, {
20
+ perMessageDeflate: false,
21
+ handshakeTimeout: 3000,
22
+ });
23
+ const ts = new transport_1.Transport({ type: 'ws', conn: ws });
12
24
  ws.on('open', onOpen);
13
25
  return ts;
14
- };
15
-
16
- exports.createHttp2Transport = function (params, onOpen) {
26
+ }
27
+ function createHttp2Transport(params, onOpen) {
17
28
  const http2Url = `https://${params.host}:${params.port}`;
18
- const client = http2.connect(http2Url, {
29
+ const client = http2_1.default.connect(http2Url, {
19
30
  rejectUnauthorized: false,
20
31
  requestCert: true,
21
32
  });
@@ -25,40 +36,37 @@ exports.createHttp2Transport = function (params, onOpen) {
25
36
  'Content-Type': 'octet-stream',
26
37
  });
27
38
  http2stream.on('response', onOpen);
28
- const ts = new Transport({ type: 'h2', conn: http2stream });
39
+ const ts = new transport_1.Transport({ type: 'h2', conn: http2stream });
29
40
  return ts;
30
- };
31
-
32
- exports.createTlsTransport = function (params, onOpen) {
41
+ }
42
+ function createTlsTransport(params, onOpen) {
33
43
  const tlsOpts = {
34
44
  rejectUnauthorized: false,
35
45
  host: params.host,
36
46
  port: params.port,
37
47
  };
38
- const tlsConn = tls.connect(tlsOpts, function () {
48
+ const tlsConn = tls_1.default.connect(tlsOpts, function () {
39
49
  onOpen();
40
50
  });
41
- const ts = new Transport({ type: 'tls', conn: tlsConn });
51
+ const ts = new transport_1.Transport({ type: 'tls', conn: tlsConn });
42
52
  return ts;
43
- };
44
-
45
- exports.createTcpTransport = function (params, onOpen) {
46
- const socket = new net.Socket();
53
+ }
54
+ function createTcpTransport(params, onOpen) {
55
+ const socket = new net_1.default.Socket();
47
56
  socket.connect(params.port, params.host, function () {
48
57
  onOpen();
49
58
  });
50
- return new Transport({ type: 'tcp', conn: socket });
51
- };
52
-
53
- exports.createUnixsocketTransport = function (params, onOpen) {
54
- const socket = new net.Socket();
55
- socket.connect(params.path, function () {
59
+ return new transport_1.Transport({ type: 'tcp', conn: socket });
60
+ }
61
+ function createUnixsocketTransport(params, onOpen) {
62
+ const socket = new net_1.default.Socket();
63
+ socket.connect(params.path || '', function () {
56
64
  onOpen();
57
65
  });
58
- const ts = new Transport({ type: 'domainsocket', conn: socket });
66
+ const ts = new transport_1.Transport({ type: 'domainsocket', conn: socket });
59
67
  return ts;
60
- };
61
-
62
- exports.wrapSocket = function (type, conn) {
63
- return new Transport({ type, conn });
64
- };
68
+ }
69
+ function wrapSocket(type, conn) {
70
+ return new transport_1.Transport({ type: type, conn });
71
+ }
72
+ //# sourceMappingURL=creater.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"creater.js","sourceRoot":"","sources":["../../src/transport/creater.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import WebSocket from 'ws';
2
+ import net from 'net';
3
+ import stream from 'stream';
4
+ export type DataCallback = (data: Buffer) => void;
5
+ export type ErrorCallback = (err: Error) => void;
6
+ export type CloseCallback = (code?: number) => void;
7
+ export declare function bindStreamSocket(s: stream.Readable & {
8
+ on: Function;
9
+ destroy: Function;
10
+ }, onData: DataCallback, onError: ErrorCallback, onClose: CloseCallback): void;
11
+ export declare function bindWebsocket(ws: WebSocket, onData: DataCallback, onError: ErrorCallback, onClose: CloseCallback): void;
12
+ export declare function tcpsocketSend(socket: net.Socket, data: Buffer): void;
13
+ export declare function websocketSend(ws: WebSocket, data: Buffer): void;
14
+ //# sourceMappingURL=helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../src/transport/helper.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,IAAI,CAAC;AAC3B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AAClD,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;AACjD,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;AAEpD,wBAAgB,gBAAgB,CAC5B,CAAC,EAAE,MAAM,CAAC,QAAQ,GAAG;IAAE,EAAE,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAA;CAAE,EACxD,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,aAAa,GACvB,IAAI,CAwBN;AAED,wBAAgB,aAAa,CACzB,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,aAAa,GACvB,IAAI,CASN;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CASpE;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAM/D"}
@@ -1,33 +1,38 @@
1
- const WebSocket = require('ws');
2
-
3
- function bindStreamSocket(stream, onData, onError, onClose) {
4
- var buffcache = Buffer.from([]);
5
- stream.on('data', function (data) {
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.bindStreamSocket = bindStreamSocket;
7
+ exports.bindWebsocket = bindWebsocket;
8
+ exports.tcpsocketSend = tcpsocketSend;
9
+ exports.websocketSend = websocketSend;
10
+ const ws_1 = __importDefault(require("ws"));
11
+ function bindStreamSocket(s, onData, onError, onClose) {
12
+ let buffcache = Buffer.from([]);
13
+ s.on('data', function (data) {
6
14
  buffcache = Buffer.concat([buffcache, data]);
7
- var datalen = 0;
8
- var pack;
9
15
  while (true) {
10
16
  if (buffcache.length <= 2) {
11
17
  return;
12
18
  }
13
- datalen = buffcache[0] * 256 + buffcache[1];
19
+ const datalen = buffcache[0] * 256 + buffcache[1];
14
20
  if (buffcache.length < datalen + 2) {
15
21
  return;
16
22
  }
17
- pack = buffcache.slice(2, datalen + 2);
23
+ const pack = buffcache.slice(2, datalen + 2);
18
24
  buffcache = buffcache.slice(datalen + 2);
19
25
  onData(pack);
20
26
  }
21
27
  });
22
- stream.on('close', function (code) {
28
+ s.on('close', function (code) {
23
29
  onClose(code);
24
30
  });
25
- stream.on('error', function (err) {
26
- stream.destroy();
31
+ s.on('error', function (err) {
32
+ s.destroy();
27
33
  onError(err);
28
34
  });
29
35
  }
30
-
31
36
  function bindWebsocket(ws, onData, onError, onClose) {
32
37
  ws.on('message', onData);
33
38
  ws.on('close', (code) => {
@@ -38,25 +43,21 @@ function bindWebsocket(ws, onData, onError, onClose) {
38
43
  onError(err);
39
44
  });
40
45
  }
41
-
42
46
  function tcpsocketSend(socket, data) {
43
- var datalen = data.length;
47
+ const datalen = data.length;
44
48
  if (socket.writable) {
45
49
  socket.write(Buffer.concat([Buffer.from([datalen >> 8, datalen % 256]), data]));
46
- } else {
47
- throw Error('socket cannot writeable!');
50
+ }
51
+ else {
52
+ throw new Error('socket cannot writeable!');
48
53
  }
49
54
  }
50
-
51
55
  function websocketSend(ws, data) {
52
- if (ws.readyState === WebSocket.OPEN) {
56
+ if (ws.readyState === ws_1.default.OPEN) {
53
57
  ws.send(data, { binary: true });
54
- } else {
55
- throw Error('ws socket not open!' + ws.readyState);
58
+ }
59
+ else {
60
+ throw new Error('ws socket not open!' + ws.readyState);
56
61
  }
57
62
  }
58
-
59
- exports.websocketSend = websocketSend;
60
- exports.tcpsocketSend = tcpsocketSend;
61
- exports.bindStreamSocket = bindStreamSocket;
62
- exports.bindWebsocket = bindWebsocket;
63
+ //# sourceMappingURL=helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../src/transport/helper.ts"],"names":[],"mappings":";;;;;AAQA,4CA6BC;AAED,sCAcC;AAED,sCASC;AAED,sCAMC;AAxED,4CAA2B;AAQ3B,SAAgB,gBAAgB,CAC5B,CAAwD,EACxD,MAAoB,EACpB,OAAsB,EACtB,OAAsB;IAEtB,IAAI,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,IAAY;QAC/B,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;QAC7C,OAAO,IAAI,EAAE,CAAC;YACV,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACxB,OAAO;YACX,CAAC;YACD,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAClD,IAAI,SAAS,CAAC,MAAM,GAAG,OAAO,GAAG,CAAC,EAAE,CAAC;gBACjC,OAAO;YACX,CAAC;YACD,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;YAC7C,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;IACL,CAAC,CAAC,CAAC;IACH,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,IAAa;QACjC,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IACH,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,GAAU;QAC7B,CAAS,CAAC,OAAO,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAgB,aAAa,CACzB,EAAa,EACb,MAAoB,EACpB,OAAsB,EACtB,OAAsB;IAEtB,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACzB,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAY,EAAE,EAAE;QAC5B,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;QAC1B,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAgB,aAAa,CAAC,MAAkB,EAAE,IAAY;IAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;IAC5B,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAClB,MAAM,CAAC,KAAK,CACR,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,OAAO,GAAG,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CACpE,CAAC;IACN,CAAC;SAAM,CAAC;QACJ,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;AACL,CAAC;AAED,SAAgB,aAAa,CAAC,EAAa,EAAE,IAAY;IACrD,IAAI,EAAE,CAAC,UAAU,KAAK,YAAS,CAAC,IAAI,EAAE,CAAC;QACnC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACpC,CAAC;SAAM,CAAC;QACJ,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC;AACL,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { Transport } from './transport';
2
+ export type { TransportType, TransportConn } from './transport';
3
+ export * as creater from './creater';
4
+ export * as helper from './helper';
5
+ export { wrapSocket } from './creater';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transport/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAEnC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC"}
@@ -1,11 +1,43 @@
1
- const Transport = require('./transport');
2
- const creater = require('./creater');
3
- const helper = require('./helper');
4
-
5
- exports.Transport = Transport;
6
- exports.creater = creater;
7
- exports.helper = helper;
8
-
9
- exports.wrapSocket = function (type, conn) {
10
- return new Transport({ type, conn });
11
- };
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.wrapSocket = exports.helper = exports.creater = exports.Transport = void 0;
37
+ var transport_1 = require("./transport");
38
+ Object.defineProperty(exports, "Transport", { enumerable: true, get: function () { return transport_1.Transport; } });
39
+ exports.creater = __importStar(require("./creater"));
40
+ exports.helper = __importStar(require("./helper"));
41
+ var creater_1 = require("./creater");
42
+ Object.defineProperty(exports, "wrapSocket", { enumerable: true, get: function () { return creater_1.wrapSocket; } });
43
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transport/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAElB,qDAAqC;AACrC,mDAAmC;AAEnC,qCAAuC;AAA9B,qGAAA,UAAU,OAAA"}
@@ -0,0 +1,23 @@
1
+ import type { DataCallback, ErrorCallback, CloseCallback } from './helper';
2
+ export type TransportType = 'ws' | 'h2' | 'tcp' | 'tls' | 'domainsocket';
3
+ export interface TransportConn {
4
+ close?: () => void;
5
+ destroy?: () => void;
6
+ writable?: boolean;
7
+ readyState?: number;
8
+ send?: Function;
9
+ on: (event: string, listener: Function) => any;
10
+ write?: (data: Buffer) => void;
11
+ }
12
+ export declare class Transport {
13
+ type: TransportType;
14
+ conn: TransportConn;
15
+ constructor(opts: {
16
+ type: TransportType;
17
+ conn: TransportConn;
18
+ });
19
+ sendPacket(binarydata: Buffer): void;
20
+ bindEvents(onData: DataCallback, onError: ErrorCallback, onClose: CloseCallback): void;
21
+ close(): void;
22
+ }
23
+ //# sourceMappingURL=transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/transport/transport.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE3E,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,cAAc,CAAC;AAEzE,MAAM,WAAW,aAAa;IAC1B,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,KAAK,GAAG,CAAC;IAC/C,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC;AAED,qBAAa,SAAS;IAClB,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,aAAa,CAAC;gBAER,IAAI,EAAE;QAAE,IAAI,EAAE,aAAa,CAAC;QAAC,IAAI,EAAE,aAAa,CAAA;KAAE;IAK9D,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAQpC,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI;IAQtF,KAAK,IAAI,IAAI;CAWhB"}