@l-v-yonsama/multi-platform-database-drivers 0.1.11 → 0.1.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,3 @@
1
- import { __awaiter } from "tslib";
2
1
  import BaseDriver from './BaseDriver';
3
2
  import { DbDatabase, DbS3Bucket, DbS3Owner, } from '../resource/DbResource';
4
3
  import ResultSetDataHolder from '../resource/ResultSetDataHolder';
@@ -8,148 +7,126 @@ export default class AwsS3Driver extends BaseDriver {
8
7
  constructor(conRes) {
9
8
  super(conRes);
10
9
  }
11
- connectSub() {
12
- return __awaiter(this, void 0, void 0, function* () {
13
- this.config = {};
14
- this.config.region = 'us-west-1';
15
- if (this.conRes.region) {
16
- this.config.region = this.conRes.region;
17
- }
18
- this.config.credentials = {
19
- accessKeyId: this.conRes.user,
20
- secretAccessKey: this.conRes.password,
21
- };
22
- if (this.conRes.dbType === DBType.Minio) {
23
- this.config.endpoint = this.conRes.url;
24
- this.config.s3ForcePathStyle = 'true';
25
- }
26
- this.s3Client = new S3Client(this.config);
27
- return this.test(false);
28
- });
10
+ async connectSub() {
11
+ this.config = {};
12
+ this.config.region = 'us-west-1';
13
+ if (this.conRes.region) {
14
+ this.config.region = this.conRes.region;
15
+ }
16
+ this.config.credentials = {
17
+ accessKeyId: this.conRes.user,
18
+ secretAccessKey: this.conRes.password,
19
+ };
20
+ if (this.conRes.dbType === DBType.Minio) {
21
+ this.config.endpoint = this.conRes.url;
22
+ this.config.s3ForcePathStyle = 'true';
23
+ }
24
+ this.s3Client = new S3Client(this.config);
25
+ return this.test(false);
29
26
  }
30
- test(with_connect = false) {
31
- return __awaiter(this, void 0, void 0, function* () {
32
- let errorReason = '';
33
- if (with_connect) {
34
- errorReason = yield this.connect();
35
- }
36
- if (this.s3Client) {
37
- try {
38
- const a = yield this.s3Client.send(new ListBucketsCommand({}));
39
- }
40
- catch (e) {
41
- console.error(e);
42
- errorReason = e.message;
43
- }
27
+ async test(with_connect = false) {
28
+ let errorReason = '';
29
+ if (with_connect) {
30
+ errorReason = await this.connect();
31
+ }
32
+ if (this.s3Client) {
33
+ try {
34
+ const a = await this.s3Client.send(new ListBucketsCommand({}));
44
35
  }
45
- if (with_connect) {
46
- yield this.disconnect();
36
+ catch (e) {
37
+ console.error(e);
38
+ errorReason = e.message;
47
39
  }
48
- return errorReason;
49
- });
40
+ }
41
+ if (with_connect) {
42
+ await this.disconnect();
43
+ }
44
+ return errorReason;
50
45
  }
51
- countTables(tables, options) {
52
- return __awaiter(this, void 0, void 0, function* () {
53
- return new Array();
54
- });
46
+ async countTables(tables, options) {
47
+ return new Array();
55
48
  }
56
49
  abortSearch() {
57
50
  if (this.finder) {
58
51
  this.finder.abort();
59
52
  }
60
53
  }
61
- getInfomationSchemas(options) {
62
- return __awaiter(this, void 0, void 0, function* () {
63
- if (!this.conRes) {
64
- return [];
65
- }
66
- const dbResources = new Array();
67
- const dbDatabase = new DbDatabase('S3');
68
- dbResources.push(dbDatabase);
69
- try {
70
- const buckets = yield this.s3Client.send(new ListBucketsCommand({}));
71
- if (buckets.Buckets) {
72
- for (const bucket of buckets.Buckets) {
73
- const dbBucket = new DbS3Bucket(bucket.Name, bucket.CreationDate);
74
- dbDatabase.addChild(dbBucket);
75
- }
76
- }
77
- if (buckets.Owner) {
78
- const dbOwner = new DbS3Owner(buckets.Owner.ID, buckets.Owner.DisplayName);
79
- dbDatabase.addChild(dbOwner);
80
- }
81
- else {
54
+ async getInfomationSchemas(options) {
55
+ if (!this.conRes) {
56
+ return [];
57
+ }
58
+ const dbResources = new Array();
59
+ const dbDatabase = new DbDatabase('S3');
60
+ dbResources.push(dbDatabase);
61
+ try {
62
+ const buckets = await this.s3Client.send(new ListBucketsCommand({}));
63
+ if (buckets.Buckets) {
64
+ for (const bucket of buckets.Buckets) {
65
+ const dbBucket = new DbS3Bucket(bucket.Name, bucket.CreationDate);
66
+ dbDatabase.addChild(dbBucket);
82
67
  }
83
68
  }
84
- catch (e) {
85
- console.error(e);
69
+ if (buckets.Owner) {
70
+ const dbOwner = new DbS3Owner(buckets.Owner.ID, buckets.Owner.DisplayName);
71
+ dbDatabase.addChild(dbOwner);
72
+ }
73
+ else {
86
74
  }
87
- return dbResources;
88
- });
75
+ }
76
+ catch (e) {
77
+ console.error(e);
78
+ }
79
+ return dbResources;
89
80
  }
90
- requestSql(sql, options) {
91
- return __awaiter(this, void 0, void 0, function* () {
92
- return new ResultSetDataHolder([]);
93
- });
81
+ async requestSql(sql, options) {
82
+ return new ResultSetDataHolder([]);
94
83
  }
95
- createBucket({ bucket }) {
96
- return __awaiter(this, void 0, void 0, function* () {
97
- yield this.s3Client.send(new CreateBucketCommand({ Bucket: bucket }));
98
- });
84
+ async createBucket({ bucket }) {
85
+ await this.s3Client.send(new CreateBucketCommand({ Bucket: bucket }));
99
86
  }
100
- getValueByKey({ bucket, key, }) {
101
- return __awaiter(this, void 0, void 0, function* () {
102
- const data = yield this.s3Client.send(new GetObjectCommand({
103
- Bucket: bucket,
104
- Key: key,
105
- }));
106
- return data.Body.transformToString();
107
- });
87
+ async getValueByKey({ bucket, key, }) {
88
+ const data = await this.s3Client.send(new GetObjectCommand({
89
+ Bucket: bucket,
90
+ Key: key,
91
+ }));
92
+ return data.Body.transformToString();
108
93
  }
109
- putObject({ bucket, key, body, }) {
110
- return __awaiter(this, void 0, void 0, function* () {
111
- yield this.s3Client.send(new PutObjectCommand({
112
- Bucket: bucket,
113
- Key: key,
114
- Body: body,
115
- }));
116
- });
94
+ async putObject({ bucket, key, body, }) {
95
+ await this.s3Client.send(new PutObjectCommand({
96
+ Bucket: bucket,
97
+ Key: key,
98
+ Body: body,
99
+ }));
117
100
  }
118
- removeBucket({ bucket }) {
119
- return __awaiter(this, void 0, void 0, function* () {
120
- yield this.removeAllObjects({ bucket });
121
- yield this.s3Client.send(new DeleteBucketCommand({ Bucket: bucket }));
122
- });
101
+ async removeBucket({ bucket }) {
102
+ await this.removeAllObjects({ bucket });
103
+ await this.s3Client.send(new DeleteBucketCommand({ Bucket: bucket }));
123
104
  }
124
- removeAllObjects({ bucket }) {
125
- return __awaiter(this, void 0, void 0, function* () {
126
- let truncated = true;
127
- let pageMarker;
128
- const bucketParams = { Bucket: bucket };
129
- while (truncated) {
130
- const response = yield this.s3Client.send(new ListObjectsCommand(bucketParams));
131
- for (let i = 0; i < response.Contents.length; i++) {
132
- const item = response.Contents[i];
133
- const delR = yield this.s3Client.send(new DeleteObjectCommand({
134
- Bucket: bucket,
135
- Key: item.Key,
136
- }));
137
- }
138
- truncated = response.IsTruncated;
139
- if (truncated) {
140
- pageMarker = response.Contents.slice(-1)[0].Key;
141
- bucketParams.Marker = pageMarker;
142
- }
105
+ async removeAllObjects({ bucket }) {
106
+ let truncated = true;
107
+ let pageMarker;
108
+ const bucketParams = { Bucket: bucket };
109
+ while (truncated) {
110
+ const response = await this.s3Client.send(new ListObjectsCommand(bucketParams));
111
+ for (let i = 0; i < response.Contents.length; i++) {
112
+ const item = response.Contents[i];
113
+ const delR = await this.s3Client.send(new DeleteObjectCommand({
114
+ Bucket: bucket,
115
+ Key: item.Key,
116
+ }));
143
117
  }
144
- });
145
- }
146
- closeSub() {
147
- return __awaiter(this, void 0, void 0, function* () {
148
- if (this.s3Client) {
149
- this.s3Client.destroy();
118
+ truncated = response.IsTruncated;
119
+ if (truncated) {
120
+ pageMarker = response.Contents.slice(-1)[0].Key;
121
+ bucketParams.Marker = pageMarker;
150
122
  }
151
- return '';
152
- });
123
+ }
124
+ }
125
+ async closeSub() {
126
+ if (this.s3Client) {
127
+ this.s3Client.destroy();
128
+ }
129
+ return '';
153
130
  }
154
131
  }
155
132
  //# sourceMappingURL=AwsS3Driver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AwsS3Driver.js","sourceRoot":"","sources":["../../../../src/db/drivers/AwsS3Driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AwsS3Driver.js","sourceRoot":"","sources":["../../../../src/db/drivers/AwsS3Driver.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import { __awaiter } from "tslib";
2
1
  import DBError from '../DBError';
3
2
  import * as tunnel from 'tunnel-ssh';
4
3
  import getPort, { portNumbers } from 'get-port';
@@ -99,80 +98,74 @@ export default class BaseDriver {
99
98
  }
100
99
  return '';
101
100
  }
102
- connectToSshServer() {
103
- return __awaiter(this, void 0, void 0, function* () {
104
- this.sshLocalPort = yield getPort({ port: portNumbers(13000, 15100) });
105
- return new Promise((resolve, reject) => {
106
- const setting = Object.assign({}, this.conRes.ssh, {
107
- localHost: '127.0.0.1',
108
- localPort: this.sshLocalPort,
109
- });
110
- if (setting.authMethod === 'privateKey') {
111
- setting.privateKey = fs.readFileSync(setting.privateKeyPath, 'utf8');
101
+ async connectToSshServer() {
102
+ this.sshLocalPort = await getPort({ port: portNumbers(13000, 15100) });
103
+ return new Promise((resolve, reject) => {
104
+ const setting = Object.assign({}, this.conRes.ssh, {
105
+ localHost: '127.0.0.1',
106
+ localPort: this.sshLocalPort,
107
+ });
108
+ if (setting.authMethod === 'privateKey') {
109
+ setting.privateKey = fs.readFileSync(setting.privateKeyPath, 'utf8');
110
+ }
111
+ this.sshServer = tunnel(setting, function (err) {
112
+ if (err) {
113
+ reject(err);
114
+ }
115
+ else {
116
+ resolve('');
112
117
  }
113
- this.sshServer = tunnel(setting, function (err) {
114
- if (err) {
115
- reject(err);
116
- }
117
- else {
118
- resolve('');
119
- }
120
- });
121
- this.sshServer.on('error', function (err) {
122
- console.error('Something bad happened:', err);
123
- });
118
+ });
119
+ this.sshServer.on('error', function (err) {
120
+ console.error('Something bad happened:', err);
124
121
  });
125
122
  });
126
123
  }
127
- connect() {
128
- return __awaiter(this, void 0, void 0, function* () {
129
- let errorReason = '';
130
- try {
131
- this.initBaseStatus();
132
- if (this.conRes) {
133
- if (this.isNeedsSsh()) {
134
- yield this.connectToSshServer();
135
- }
136
- errorReason = yield this.connectSub();
137
- }
138
- else {
139
- errorReason = 'Connection property is nothing';
124
+ async connect() {
125
+ let errorReason = '';
126
+ try {
127
+ this.initBaseStatus();
128
+ if (this.conRes) {
129
+ if (this.isNeedsSsh()) {
130
+ await this.connectToSshServer();
140
131
  }
132
+ errorReason = await this.connectSub();
141
133
  }
142
- catch (e) {
143
- errorReason = e.message;
134
+ else {
135
+ errorReason = 'Connection property is nothing';
144
136
  }
145
- this.isConnected = errorReason === '';
146
- return errorReason;
147
- });
137
+ }
138
+ catch (e) {
139
+ errorReason = e.message;
140
+ }
141
+ this.isConnected = errorReason === '';
142
+ return errorReason;
148
143
  }
149
- disconnect() {
150
- return __awaiter(this, void 0, void 0, function* () {
151
- let errorReason = '';
152
- try {
153
- if (this.conRes) {
154
- if (this.isConnected) {
155
- errorReason = yield this.closeSub();
156
- }
157
- else {
158
- }
144
+ async disconnect() {
145
+ let errorReason = '';
146
+ try {
147
+ if (this.conRes) {
148
+ if (this.isConnected) {
149
+ errorReason = await this.closeSub();
159
150
  }
160
151
  else {
161
- errorReason = 'Connection property is nothing';
162
152
  }
163
153
  }
164
- catch (e) {
165
- errorReason = e.message;
154
+ else {
155
+ errorReason = 'Connection property is nothing';
166
156
  }
167
- finally {
168
- if (this.sshServer) {
169
- this.sshServer.close();
170
- this.sshServer = undefined;
171
- }
172
- this.initBaseStatus();
157
+ }
158
+ catch (e) {
159
+ errorReason = e.message;
160
+ }
161
+ finally {
162
+ if (this.sshServer) {
163
+ this.sshServer.close();
164
+ this.sshServer = undefined;
173
165
  }
174
- return errorReason;
175
- });
166
+ this.initBaseStatus();
167
+ }
168
+ return errorReason;
176
169
  }
177
170
  createDBError(message, sourceError) {
178
171
  return new DBError(message, sourceError.code, sourceError.errno, sourceError.sqlMessage, sourceError.sqlState);
@@ -1 +1 @@
1
- {"version":3,"file":"BaseDriver.js","sourceRoot":"","sources":["../../../../src/db/drivers/BaseDriver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseDriver.js","sourceRoot":"","sources":["../../../../src/db/drivers/BaseDriver.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,YAAY,CAAC;AAYjC,OAAO,KAAK,MAAM,MAAM,YAAY,CAAC;AACrC,OAAO,OAAO,EAAE,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,CAAC,OAAO,OAAgB,UAAU;IAMtC,YAAY,MAAoB;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAE3B,CAAC;IACD,OAAO;QACL,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IAC/B,CAAC;IACD,gBAAgB;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;IACrC,CAAC;IACD,OAAO,CAAC,GAAW;QACjB,GAAG,GAAG,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAC9B,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC/B,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAErD,IAAI,GAAG,CAAC,KAAK,CAAC,yBAAyB,CAAC,EAAE;YACxC,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,oBAAoB,CAAC,GAAY;QAC/B,IAAI,GAAG,EAAE;YACP,MAAM,KAAK,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;YACjD,OAAO,EAAE,KAAK,EAAE,CAAC;SAClB;QACD,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;IACjC,CAAC;IACD,wBAAwB,CAAC,GAAW;QAClC,MAAM,GAAG,GAAwB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAG,gDAAgD,CAAC;QAClE,IAAI,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/B,OAAO,KAAK,IAAI,IAAI,EAAE;YAMpB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACrD,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC5B;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,kBAAkB,CAAC,QAAoB;QACrC,MAAM,WAAW,GAAG,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;YACxB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;SACxC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YACpB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SACpC;QACD,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3B,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;YACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE;gBAChD,WAAW,EAAE,YAAY,CAAC,MAAM;aACjC,CAAa,CAAC;YAEf,IAAI,KAAK,EAAE;gBACT,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;gBACvB,OAAO;aACR;SACF;QAED,MAAM,KAAK,GAAG,QAAQ;aACnB,WAAW,EAAE;aACb,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,YAAY,CAAC,MAAM,CAAa,CAAC;QACzE,IAAI,KAAK,EAAE;YACT,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;SACxB;IACH,CAAC;IAED,aAAa,CACX,MAAc,EACd,QAAyB;QAEzB,IAAI,QAAQ,KAAK,SAAS,EAAE;YAC1B,OAAO,SAAS,CAAC;SAClB;QACD,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACrC,MAAM,CAAC,GAAG,cAAc,CAAC,YAAY,CACnC,IAAI,CAAC,MAAM,EACX,YAAY,CAAC,KAAK,EAClB,KAAK,CAAC,KAAK,CACZ,CAAC;gBACF,IAAI,CAAC,EAAE;oBAEL,OAAiB,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;iBAClE;qBAAM;iBAEN;aACF;SACF;aAAM;SAEN;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,oBAAoB,CAAC,MAAc,EAAE,QAAyB;QAC5D,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE;YAClB,OAAO,CAAC,CAAC,OAAO,CAAC;SAClB;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,IAAI,CAAC,YAAY,GAAG,MAAM,OAAO,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAEvE,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;gBACjD,SAAS,EAAE,WAAW;gBACtB,SAAS,EAAE,IAAI,CAAC,YAAY;aAC7B,CAAC,CAAC;YACH,IAAI,OAAO,CAAC,UAAU,KAAK,YAAY,EAAE;gBACvC,OAAO,CAAC,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;aACtE;YAED,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO,EAAE,UAAU,GAAU;gBACnD,IAAI,GAAG,EAAE;oBACP,MAAM,CAAC,GAAG,CAAC,CAAC;iBACb;qBAAM;oBACL,OAAO,CAAC,EAAE,CAAC,CAAC;iBACb;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,GAAU;gBAC7C,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI;YACF,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;oBACrB,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;iBACjC;gBACD,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;aACvC;iBAAM;gBACL,WAAW,GAAG,gCAAgC,CAAC;aAChD;SACF;QAAC,OAAO,CAAC,EAAE;YACV,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC;SACzB;QACD,IAAI,CAAC,WAAW,GAAG,WAAW,KAAK,EAAE,CAAC;QACtC,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI;YACF,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,IAAI,IAAI,CAAC,WAAW,EAAE;oBACpB,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;iBACrC;qBAAM;iBAEN;aACF;iBAAM;gBACL,WAAW,GAAG,gCAAgC,CAAC;aAChD;SACF;QAAC,OAAO,CAAC,EAAE;YACV,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC;SACzB;gBAAS;YACR,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;aAC5B;YACD,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAgBD,aAAa,CAAC,OAAe,EAAE,WAAgB;QAC7C,OAAO,IAAI,OAAO,CAChB,OAAO,EACP,WAAW,CAAC,IAAI,EAChB,WAAW,CAAC,KAAK,EACjB,WAAW,CAAC,UAAU,EACtB,WAAW,CAAC,QAAQ,CACrB,CAAC;IACJ,CAAC;CACF"}