@camera.ui/camera-ui-tuya 0.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.
@@ -0,0 +1,198 @@
1
+ // From Tuya Pulsar (Node.js)
2
+ // https://developer.tuya.com/en/docs/iot/Pulsar-SDK-get-message-nodejs?id=Kawfmtxp8yscg
3
+ import { AES, enc, MD5, mode, pad } from 'crypto-js';
4
+ import Event from 'events';
5
+ import WebSocket from 'ws';
6
+ export class TuyaPulsar {
7
+ static data = 'TUTA_DATA';
8
+ static error = 'TUYA_ERROR';
9
+ static open = 'TUYA_OPEN';
10
+ static close = 'TUYA_CLOSE';
11
+ static reconnect = 'TUYA_RECONNECT';
12
+ static ping = 'TUYA_PING';
13
+ static pong = 'TUYA_PONG';
14
+ static maxRetries = 'TUYA_MAXRETRIES';
15
+ config;
16
+ server;
17
+ timer;
18
+ retryTimes;
19
+ event;
20
+ constructor(config) {
21
+ this.config = Object.assign({
22
+ ackTimeoutMillis: 3000,
23
+ subscriptionType: 'Failover',
24
+ retryTimeout: 1000,
25
+ maxRetryTimes: 10,
26
+ timeout: 30000,
27
+ logger: console.log,
28
+ }, config);
29
+ this.event = new Event();
30
+ this.retryTimes = 0;
31
+ }
32
+ start() {
33
+ this.server = this._connect();
34
+ }
35
+ stop() {
36
+ this.server?.terminate();
37
+ }
38
+ open(cb) {
39
+ this.event.on(TuyaPulsar.open, cb);
40
+ }
41
+ message(cb) {
42
+ this.event.on(TuyaPulsar.data, cb);
43
+ }
44
+ ping(cb) {
45
+ this.event.on(TuyaPulsar.ping, cb);
46
+ }
47
+ pong(cb) {
48
+ this.event.on(TuyaPulsar.pong, cb);
49
+ }
50
+ reconnect(cb) {
51
+ this.event.on(TuyaPulsar.reconnect, cb);
52
+ }
53
+ ackMessage(messageId) {
54
+ this.server && this.server.send(JSON.stringify({ messageId }));
55
+ }
56
+ error(cb) {
57
+ this.event.on(TuyaPulsar.error, cb);
58
+ }
59
+ close(cb) {
60
+ this.event.on(TuyaPulsar.close, cb);
61
+ }
62
+ maxRetries(cb) {
63
+ this.event.on(TuyaPulsar.maxRetries, cb);
64
+ }
65
+ _reconnect() {
66
+ if (this.config.maxRetryTimes && this.retryTimes < this.config.maxRetryTimes) {
67
+ const timer = setTimeout(() => {
68
+ clearTimeout(timer);
69
+ this.retryTimes++;
70
+ this._connect(false);
71
+ }, this.config.retryTimeout);
72
+ }
73
+ else {
74
+ this.clearKeepAlive();
75
+ this.event.emit(TuyaPulsar.maxRetries);
76
+ }
77
+ }
78
+ _connect(isInit = true) {
79
+ const { accessId, accessKey, url } = this.config;
80
+ const topicUrl = getTopicUrl(url, accessId, 'event', `?${buildQuery({ subscriptionType: 'Failover', ackTimeoutMillis: 30000 })}`);
81
+ const password = buildPassword(accessId, accessKey);
82
+ this.server = new WebSocket(topicUrl, {
83
+ rejectUnauthorized: false,
84
+ headers: { username: accessId, password },
85
+ });
86
+ this.subOpen(this.server, isInit);
87
+ this.subMessage(this.server);
88
+ this.subPing(this.server);
89
+ this.subPong(this.server);
90
+ this.subError(this.server);
91
+ this.subClose(this.server);
92
+ return this.server;
93
+ }
94
+ subOpen(server, isInit = true) {
95
+ server.on('open', () => {
96
+ if (server.readyState === server.OPEN) {
97
+ this.retryTimes = 0;
98
+ }
99
+ this.keepAlive(server);
100
+ this.event.emit(isInit ? TuyaPulsar.open : TuyaPulsar.reconnect, this.server);
101
+ });
102
+ }
103
+ subPing(server) {
104
+ server.on('ping', () => {
105
+ this.event.emit(TuyaPulsar.ping, this.server);
106
+ this.keepAlive(server);
107
+ server.pong(this.config.accessId);
108
+ });
109
+ }
110
+ subPong(server) {
111
+ server.on('pong', () => {
112
+ this.keepAlive(server);
113
+ this.event.emit(TuyaPulsar.pong, this.server);
114
+ });
115
+ }
116
+ subMessage(server) {
117
+ server.on('message', (data) => {
118
+ try {
119
+ this.keepAlive(server);
120
+ const obj = this.handleMessage(data);
121
+ this.event.emit(TuyaPulsar.data, this.server, obj);
122
+ }
123
+ catch (e) {
124
+ this.event.emit(TuyaPulsar.error, e);
125
+ }
126
+ });
127
+ }
128
+ subClose(server) {
129
+ server.on('close', (...data) => {
130
+ this._reconnect();
131
+ this.clearKeepAlive();
132
+ this.event.emit(TuyaPulsar.close, ...data);
133
+ });
134
+ }
135
+ subError(server) {
136
+ server.on('error', (e) => {
137
+ this.event.emit(TuyaPulsar.error, this.server, e);
138
+ });
139
+ }
140
+ clearKeepAlive() {
141
+ clearTimeout(this.timer);
142
+ }
143
+ keepAlive(server) {
144
+ this.clearKeepAlive();
145
+ this.timer = setTimeout(() => {
146
+ server.ping(this.config.accessId);
147
+ }, this.config.timeout);
148
+ }
149
+ handleMessage(data) {
150
+ const { payload, ...others } = JSON.parse(data);
151
+ const pStr = Buffer.from(payload, 'base64').toString('utf-8');
152
+ const pJson = JSON.parse(pStr);
153
+ pJson.data = decrypt(pJson.data, this.config.accessKey);
154
+ return { payload: pJson, ...others };
155
+ }
156
+ }
157
+ function getTopicUrl(websocketUrl, accessId, env, query) {
158
+ return `${websocketUrl}ws/v2/consumer/persistent/${accessId}/out/${env}/${accessId}-sub${query}`;
159
+ }
160
+ function buildQuery(query) {
161
+ return Object.keys(query)
162
+ .map((key) => `${key}=${encodeURIComponent(query[key])}`)
163
+ .join('&');
164
+ }
165
+ function buildPassword(accessId, accessKey) {
166
+ const key = MD5(accessKey).toString();
167
+ return MD5(`${accessId}${key}`).toString().substr(8, 16);
168
+ }
169
+ function decrypt(data, accessKey) {
170
+ try {
171
+ const realKey = enc.Utf8.parse(accessKey.substring(8, 24));
172
+ const json = AES.decrypt(data, realKey, {
173
+ mode: mode.ECB,
174
+ padding: pad.Pkcs7,
175
+ });
176
+ const dataStr = enc.Utf8.stringify(json).toString();
177
+ return JSON.parse(dataStr);
178
+ }
179
+ catch {
180
+ return undefined;
181
+ }
182
+ }
183
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
184
+ function encrypt(data, accessKey) {
185
+ try {
186
+ const realKey = enc.Utf8.parse(accessKey.substring(8, 24));
187
+ const realData = JSON.stringify(data);
188
+ const retData = AES.encrypt(realData, realKey, {
189
+ mode: mode.ECB,
190
+ padding: pad.Pkcs7,
191
+ }).toString();
192
+ return retData;
193
+ }
194
+ catch {
195
+ return '';
196
+ }
197
+ }
198
+ //# sourceMappingURL=pulsar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pulsar.js","sourceRoot":"","sources":["../../src/tuya/pulsar.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ declare enum EndpointGroup {
2
+ Europe = 0,
3
+ America = 1,
4
+ India = 2,
5
+ China = 3
6
+ }
7
+ export interface TuyaSupportedCountry {
8
+ country: string;
9
+ countryCode: number;
10
+ endpointGroup: EndpointGroup;
11
+ }
12
+ export declare const TUYA_COUNTRIES: TuyaSupportedCountry[];
13
+ export declare function getEndPointWithCountryCode(code: number): EndpointGroup;
14
+ export declare function getTuyaCloudEndpoint(country: TuyaSupportedCountry): string;
15
+ export declare function getTuyaPulsarEndpoint(country: TuyaSupportedCountry): string;
16
+ export {};
@@ -0,0 +1,276 @@
1
+ var EndpointGroup;
2
+ (function (EndpointGroup) {
3
+ EndpointGroup[EndpointGroup["Europe"] = 0] = "Europe";
4
+ EndpointGroup[EndpointGroup["America"] = 1] = "America";
5
+ EndpointGroup[EndpointGroup["India"] = 2] = "India";
6
+ EndpointGroup[EndpointGroup["China"] = 3] = "China";
7
+ })(EndpointGroup || (EndpointGroup = {}));
8
+ export const TUYA_COUNTRIES = [
9
+ { country: 'Afghanistan', countryCode: 93, endpointGroup: EndpointGroup.Europe },
10
+ { country: 'Albania', countryCode: 355, endpointGroup: EndpointGroup.Europe },
11
+ { country: 'Algeria', countryCode: 213, endpointGroup: EndpointGroup.Europe },
12
+ { country: 'American Samoa', countryCode: 1684, endpointGroup: EndpointGroup.Europe },
13
+ { country: 'Andorra', countryCode: 376, endpointGroup: EndpointGroup.Europe },
14
+ { country: 'Angola', countryCode: 244, endpointGroup: EndpointGroup.Europe },
15
+ { country: 'Anguilla', countryCode: 1264, endpointGroup: EndpointGroup.Europe },
16
+ { country: 'Antarctica', countryCode: 672, endpointGroup: EndpointGroup.America },
17
+ { country: 'Antigua and Barbuda', countryCode: 1268, endpointGroup: EndpointGroup.Europe },
18
+ { country: 'Argentina', countryCode: 54, endpointGroup: EndpointGroup.America },
19
+ { country: 'Armenia', countryCode: 374, endpointGroup: EndpointGroup.Europe },
20
+ { country: 'Aruba', countryCode: 297, endpointGroup: EndpointGroup.Europe },
21
+ { country: 'Australia', countryCode: 61, endpointGroup: EndpointGroup.Europe },
22
+ { country: 'Austria', countryCode: 43, endpointGroup: EndpointGroup.Europe },
23
+ { country: 'Azerbaijan', countryCode: 994, endpointGroup: EndpointGroup.Europe },
24
+ { country: 'Bahamas', countryCode: 1242, endpointGroup: EndpointGroup.Europe },
25
+ { country: 'Bahrain', countryCode: 973, endpointGroup: EndpointGroup.Europe },
26
+ { country: 'Bangladesh', countryCode: 880, endpointGroup: EndpointGroup.Europe },
27
+ { country: 'Barbados', countryCode: 1246, endpointGroup: EndpointGroup.Europe },
28
+ { country: 'Belarus', countryCode: 375, endpointGroup: EndpointGroup.Europe },
29
+ { country: 'Belgium', countryCode: 32, endpointGroup: EndpointGroup.Europe },
30
+ { country: 'Belize', countryCode: 501, endpointGroup: EndpointGroup.Europe },
31
+ { country: 'Benin', countryCode: 229, endpointGroup: EndpointGroup.Europe },
32
+ { country: 'Bermuda', countryCode: 1441, endpointGroup: EndpointGroup.Europe },
33
+ { country: 'Bhutan', countryCode: 975, endpointGroup: EndpointGroup.Europe },
34
+ { country: 'Bolivia', countryCode: 591, endpointGroup: EndpointGroup.America },
35
+ { country: 'Bosnia and Herzegovina', countryCode: 387, endpointGroup: EndpointGroup.Europe },
36
+ { country: 'Botswana', countryCode: 267, endpointGroup: EndpointGroup.Europe },
37
+ { country: 'Brazil', countryCode: 55, endpointGroup: EndpointGroup.America },
38
+ { country: 'British Indian Ocean Territory', countryCode: 246, endpointGroup: EndpointGroup.America },
39
+ { country: 'British Virgin Islands', countryCode: 1284, endpointGroup: EndpointGroup.Europe },
40
+ { country: 'Brunei', countryCode: 673, endpointGroup: EndpointGroup.Europe },
41
+ { country: 'Bulgaria', countryCode: 359, endpointGroup: EndpointGroup.Europe },
42
+ { country: 'Burkina Faso', countryCode: 226, endpointGroup: EndpointGroup.Europe },
43
+ { country: 'Burundi', countryCode: 257, endpointGroup: EndpointGroup.Europe },
44
+ { country: 'Cabo Verde', countryCode: 238, endpointGroup: EndpointGroup.Europe },
45
+ { country: 'Cambodia', countryCode: 855, endpointGroup: EndpointGroup.Europe },
46
+ { country: 'Cameroon', countryCode: 237, endpointGroup: EndpointGroup.Europe },
47
+ { country: 'Canada', countryCode: 1, endpointGroup: EndpointGroup.America },
48
+ { country: 'Cayman Islands', countryCode: 1345, endpointGroup: EndpointGroup.Europe },
49
+ { country: 'Central African Republic', countryCode: 236, endpointGroup: EndpointGroup.Europe },
50
+ { country: 'Chad', countryCode: 235, endpointGroup: EndpointGroup.Europe },
51
+ { country: 'Chile', countryCode: 56, endpointGroup: EndpointGroup.America },
52
+ { country: 'China', countryCode: 86, endpointGroup: EndpointGroup.China },
53
+ { country: 'Colombia', countryCode: 57, endpointGroup: EndpointGroup.America },
54
+ { country: 'Comoros', countryCode: 269, endpointGroup: EndpointGroup.Europe },
55
+ { country: 'Cook Islands', countryCode: 682, endpointGroup: EndpointGroup.America },
56
+ { country: 'Costa Rica', countryCode: 506, endpointGroup: EndpointGroup.Europe },
57
+ { country: 'Croatia', countryCode: 385, endpointGroup: EndpointGroup.Europe },
58
+ { country: 'Curacao', countryCode: 5999, endpointGroup: EndpointGroup.America },
59
+ { country: 'Cyprus', countryCode: 357, endpointGroup: EndpointGroup.Europe },
60
+ { country: 'Czech Republic', countryCode: 420, endpointGroup: EndpointGroup.Europe },
61
+ { country: 'Côte d’Ivoire', countryCode: 225, endpointGroup: EndpointGroup.Europe },
62
+ { country: 'Democratic Republic of the Congo', countryCode: 243, endpointGroup: EndpointGroup.Europe },
63
+ { country: 'Denmark', countryCode: 45, endpointGroup: EndpointGroup.Europe },
64
+ { country: 'Djibouti', countryCode: 253, endpointGroup: EndpointGroup.Europe },
65
+ { country: 'Dominica', countryCode: 1767, endpointGroup: EndpointGroup.Europe },
66
+ { country: 'Dominican Republic (1-809)', countryCode: 1809, endpointGroup: EndpointGroup.America },
67
+ { country: 'Dominican Republic (1-829)', countryCode: 1829, endpointGroup: EndpointGroup.America },
68
+ { country: 'Dominican Republic (1-849)', countryCode: 1849, endpointGroup: EndpointGroup.America },
69
+ { country: 'East Timor', countryCode: 670, endpointGroup: EndpointGroup.America },
70
+ { country: 'Ecuador', countryCode: 593, endpointGroup: EndpointGroup.America },
71
+ { country: 'Egypt', countryCode: 20, endpointGroup: EndpointGroup.Europe },
72
+ { country: 'El Salvador', countryCode: 503, endpointGroup: EndpointGroup.Europe },
73
+ { country: 'Equatorial Guinea', countryCode: 240, endpointGroup: EndpointGroup.Europe },
74
+ { country: 'Eritrea', countryCode: 291, endpointGroup: EndpointGroup.Europe },
75
+ { country: 'Estonia', countryCode: 372, endpointGroup: EndpointGroup.Europe },
76
+ { country: 'Ethiopia', countryCode: 251, endpointGroup: EndpointGroup.Europe },
77
+ { country: 'Falkland Islands', countryCode: 500, endpointGroup: EndpointGroup.America },
78
+ { country: 'Faroe Islands', countryCode: 298, endpointGroup: EndpointGroup.Europe },
79
+ { country: 'Fiji', countryCode: 679, endpointGroup: EndpointGroup.Europe },
80
+ { country: 'Finland', countryCode: 358, endpointGroup: EndpointGroup.Europe },
81
+ { country: 'France', countryCode: 33, endpointGroup: EndpointGroup.Europe },
82
+ { country: 'French Guiana', countryCode: 594, endpointGroup: EndpointGroup.America },
83
+ { country: 'French Polynesia', countryCode: 689, endpointGroup: EndpointGroup.Europe },
84
+ { country: 'Gabon', countryCode: 241, endpointGroup: EndpointGroup.Europe },
85
+ { country: 'Gambia', countryCode: 220, endpointGroup: EndpointGroup.Europe },
86
+ { country: 'Georgia', countryCode: 995, endpointGroup: EndpointGroup.Europe },
87
+ { country: 'Germany', countryCode: 49, endpointGroup: EndpointGroup.Europe },
88
+ { country: 'Ghana', countryCode: 233, endpointGroup: EndpointGroup.Europe },
89
+ { country: 'Gibraltar', countryCode: 350, endpointGroup: EndpointGroup.Europe },
90
+ { country: 'Greece', countryCode: 30, endpointGroup: EndpointGroup.Europe },
91
+ { country: 'Greenland', countryCode: 299, endpointGroup: EndpointGroup.Europe },
92
+ { country: 'Grenada', countryCode: 1473, endpointGroup: EndpointGroup.Europe },
93
+ { country: 'Guam', countryCode: 1671, endpointGroup: EndpointGroup.Europe },
94
+ { country: 'Guatemala', countryCode: 502, endpointGroup: EndpointGroup.America },
95
+ { country: 'Guinea', countryCode: 224, endpointGroup: EndpointGroup.Europe },
96
+ { country: 'Guinea-Bissau', countryCode: 245, endpointGroup: EndpointGroup.America },
97
+ { country: 'Guyana', countryCode: 592, endpointGroup: EndpointGroup.Europe },
98
+ { country: 'Haiti', countryCode: 509, endpointGroup: EndpointGroup.Europe },
99
+ { country: 'Honduras', countryCode: 504, endpointGroup: EndpointGroup.Europe },
100
+ { country: 'Hong Kong', countryCode: 852, endpointGroup: EndpointGroup.America },
101
+ { country: 'Hungary', countryCode: 36, endpointGroup: EndpointGroup.Europe },
102
+ { country: 'Iceland', countryCode: 354, endpointGroup: EndpointGroup.Europe },
103
+ { country: 'India', countryCode: 91, endpointGroup: EndpointGroup.India },
104
+ { country: 'Indonesia', countryCode: 62, endpointGroup: EndpointGroup.America },
105
+ { country: 'Iraq', countryCode: 964, endpointGroup: EndpointGroup.Europe },
106
+ { country: 'Ireland', countryCode: 353, endpointGroup: EndpointGroup.Europe },
107
+ { country: 'Israel', countryCode: 972, endpointGroup: EndpointGroup.Europe },
108
+ { country: 'Italy', countryCode: 39, endpointGroup: EndpointGroup.Europe },
109
+ { country: 'Jamaica', countryCode: 1876, endpointGroup: EndpointGroup.Europe },
110
+ { country: 'Japan', countryCode: 81, endpointGroup: EndpointGroup.America },
111
+ { country: 'Jordan', countryCode: 962, endpointGroup: EndpointGroup.Europe },
112
+ { country: 'Kenya', countryCode: 254, endpointGroup: EndpointGroup.Europe },
113
+ { country: 'Kiribati', countryCode: 686, endpointGroup: EndpointGroup.America },
114
+ { country: 'Kuwait', countryCode: 965, endpointGroup: EndpointGroup.Europe },
115
+ { country: 'Kyrgyzstan', countryCode: 996, endpointGroup: EndpointGroup.Europe },
116
+ { country: 'Laos', countryCode: 856, endpointGroup: EndpointGroup.Europe },
117
+ { country: 'Latvia', countryCode: 371, endpointGroup: EndpointGroup.Europe },
118
+ { country: 'Lebanon', countryCode: 961, endpointGroup: EndpointGroup.Europe },
119
+ { country: 'Lesotho', countryCode: 266, endpointGroup: EndpointGroup.Europe },
120
+ { country: 'Liberia', countryCode: 231, endpointGroup: EndpointGroup.Europe },
121
+ { country: 'Libya', countryCode: 218, endpointGroup: EndpointGroup.Europe },
122
+ { country: 'Liechtenstein', countryCode: 423, endpointGroup: EndpointGroup.Europe },
123
+ { country: 'Lithuania', countryCode: 370, endpointGroup: EndpointGroup.Europe },
124
+ { country: 'Luxembourg', countryCode: 352, endpointGroup: EndpointGroup.Europe },
125
+ { country: 'Macao', countryCode: 853, endpointGroup: EndpointGroup.America },
126
+ { country: 'Macedonia', countryCode: 389, endpointGroup: EndpointGroup.Europe },
127
+ { country: 'Madagascar', countryCode: 261, endpointGroup: EndpointGroup.Europe },
128
+ { country: 'Malawi', countryCode: 265, endpointGroup: EndpointGroup.Europe },
129
+ { country: 'Malaysia', countryCode: 60, endpointGroup: EndpointGroup.America },
130
+ { country: 'Maldives', countryCode: 960, endpointGroup: EndpointGroup.Europe },
131
+ { country: 'Mali', countryCode: 223, endpointGroup: EndpointGroup.Europe },
132
+ { country: 'Malta', countryCode: 356, endpointGroup: EndpointGroup.Europe },
133
+ { country: 'Marshall Islands', countryCode: 692, endpointGroup: EndpointGroup.Europe },
134
+ { country: 'Martinique', countryCode: 596, endpointGroup: EndpointGroup.Europe },
135
+ { country: 'Mauritania', countryCode: 222, endpointGroup: EndpointGroup.Europe },
136
+ { country: 'Mauritius', countryCode: 230, endpointGroup: EndpointGroup.Europe },
137
+ { country: 'Mayotte', countryCode: 262, endpointGroup: EndpointGroup.Europe },
138
+ { country: 'Mexico', countryCode: 52, endpointGroup: EndpointGroup.America },
139
+ { country: 'Micronesia', countryCode: 691, endpointGroup: EndpointGroup.Europe },
140
+ { country: 'Moldova', countryCode: 373, endpointGroup: EndpointGroup.Europe },
141
+ { country: 'Monaco', countryCode: 377, endpointGroup: EndpointGroup.Europe },
142
+ { country: 'Mongolia', countryCode: 976, endpointGroup: EndpointGroup.Europe },
143
+ { country: 'Montenegro', countryCode: 382, endpointGroup: EndpointGroup.Europe },
144
+ { country: 'Montserrat', countryCode: 1664, endpointGroup: EndpointGroup.Europe },
145
+ { country: 'Morocco', countryCode: 212, endpointGroup: EndpointGroup.Europe },
146
+ { country: 'Mozambique', countryCode: 258, endpointGroup: EndpointGroup.Europe },
147
+ { country: 'Myanmar', countryCode: 95, endpointGroup: EndpointGroup.America },
148
+ { country: 'Namibia', countryCode: 264, endpointGroup: EndpointGroup.Europe },
149
+ { country: 'Nauru', countryCode: 674, endpointGroup: EndpointGroup.America },
150
+ { country: 'Nepal', countryCode: 977, endpointGroup: EndpointGroup.Europe },
151
+ { country: 'Netherlands', countryCode: 31, endpointGroup: EndpointGroup.Europe },
152
+ { country: 'New Caledonia', countryCode: 687, endpointGroup: EndpointGroup.Europe },
153
+ { country: 'New Zealand', countryCode: 64, endpointGroup: EndpointGroup.America },
154
+ { country: 'Nicaragua', countryCode: 505, endpointGroup: EndpointGroup.Europe },
155
+ { country: 'Niger', countryCode: 227, endpointGroup: EndpointGroup.Europe },
156
+ { country: 'Nigeria', countryCode: 234, endpointGroup: EndpointGroup.Europe },
157
+ { country: 'Niue', countryCode: 683, endpointGroup: EndpointGroup.America },
158
+ { country: 'Northern Mariana Islands', countryCode: 1670, endpointGroup: EndpointGroup.Europe },
159
+ { country: 'Norway', countryCode: 47, endpointGroup: EndpointGroup.Europe },
160
+ { country: 'Oman', countryCode: 968, endpointGroup: EndpointGroup.Europe },
161
+ { country: 'Pakistan', countryCode: 92, endpointGroup: EndpointGroup.Europe },
162
+ { country: 'Palau', countryCode: 680, endpointGroup: EndpointGroup.Europe },
163
+ { country: 'Palestine', countryCode: 970, endpointGroup: EndpointGroup.America },
164
+ { country: 'Panama', countryCode: 507, endpointGroup: EndpointGroup.Europe },
165
+ { country: 'Papua New Guinea', countryCode: 675, endpointGroup: EndpointGroup.America },
166
+ { country: 'Paraguay', countryCode: 595, endpointGroup: EndpointGroup.America },
167
+ { country: 'Peru', countryCode: 51, endpointGroup: EndpointGroup.America },
168
+ { country: 'Philippines', countryCode: 63, endpointGroup: EndpointGroup.America },
169
+ { country: 'Poland', countryCode: 48, endpointGroup: EndpointGroup.Europe },
170
+ { country: 'Portugal', countryCode: 351, endpointGroup: EndpointGroup.Europe },
171
+ { country: 'Puerto Rico', countryCode: 1787, endpointGroup: EndpointGroup.America },
172
+ { country: 'Qatar', countryCode: 974, endpointGroup: EndpointGroup.Europe },
173
+ { country: 'Republic of the Congo', countryCode: 242, endpointGroup: EndpointGroup.Europe },
174
+ { country: 'Reunion', countryCode: 262, endpointGroup: EndpointGroup.Europe },
175
+ { country: 'Romania', countryCode: 40, endpointGroup: EndpointGroup.Europe },
176
+ { country: 'Russia', countryCode: 7, endpointGroup: EndpointGroup.Europe },
177
+ { country: 'Rwanda', countryCode: 250, endpointGroup: EndpointGroup.Europe },
178
+ { country: 'Saint Kitts and Nevis', countryCode: 1869, endpointGroup: EndpointGroup.Europe },
179
+ { country: 'Saint Lucia', countryCode: 1758, endpointGroup: EndpointGroup.Europe },
180
+ { country: 'Saint Martin', countryCode: 590, endpointGroup: EndpointGroup.Europe },
181
+ { country: 'Saint Pierre and Miquelon', countryCode: 508, endpointGroup: EndpointGroup.Europe },
182
+ { country: 'Saint Vincent and the Grenadines', countryCode: 1784, endpointGroup: EndpointGroup.Europe },
183
+ { country: 'Samoa', countryCode: 685, endpointGroup: EndpointGroup.Europe },
184
+ { country: 'San Marino', countryCode: 378, endpointGroup: EndpointGroup.Europe },
185
+ { country: 'Saudi Arabia', countryCode: 966, endpointGroup: EndpointGroup.Europe },
186
+ { country: 'Sao Tome and Principe', countryCode: 239, endpointGroup: EndpointGroup.America },
187
+ { country: 'Senegal', countryCode: 221, endpointGroup: EndpointGroup.Europe },
188
+ { country: 'Serbia', countryCode: 381, endpointGroup: EndpointGroup.Europe },
189
+ { country: 'Seychelles', countryCode: 248, endpointGroup: EndpointGroup.Europe },
190
+ { country: 'Sierra Leone', countryCode: 232, endpointGroup: EndpointGroup.Europe },
191
+ { country: 'Singapore', countryCode: 65, endpointGroup: EndpointGroup.Europe },
192
+ { country: 'Sint Maarten', countryCode: 1721, endpointGroup: EndpointGroup.America },
193
+ { country: 'Slovakia', countryCode: 421, endpointGroup: EndpointGroup.Europe },
194
+ { country: 'Slovenia', countryCode: 386, endpointGroup: EndpointGroup.Europe },
195
+ { country: 'Solomon Islands', countryCode: 677, endpointGroup: EndpointGroup.America },
196
+ { country: 'Somalia', countryCode: 252, endpointGroup: EndpointGroup.Europe },
197
+ { country: 'South Africa', countryCode: 27, endpointGroup: EndpointGroup.Europe },
198
+ { country: 'South Korea', countryCode: 82, endpointGroup: EndpointGroup.America },
199
+ { country: 'Spain', countryCode: 34, endpointGroup: EndpointGroup.Europe },
200
+ { country: 'Sri Lanka', countryCode: 94, endpointGroup: EndpointGroup.Europe },
201
+ { country: 'Suriname', countryCode: 597, endpointGroup: EndpointGroup.America },
202
+ { country: 'Svalbard and Jan Mayen', countryCode: 4779, endpointGroup: EndpointGroup.America },
203
+ { country: 'Swaziland', countryCode: 268, endpointGroup: EndpointGroup.Europe },
204
+ { country: 'Sweden', countryCode: 46, endpointGroup: EndpointGroup.Europe },
205
+ { country: 'Switzerland', countryCode: 41, endpointGroup: EndpointGroup.Europe },
206
+ { country: 'Taiwan', countryCode: 886, endpointGroup: EndpointGroup.America },
207
+ { country: 'Tajikistan', countryCode: 992, endpointGroup: EndpointGroup.Europe },
208
+ { country: 'Tanzania', countryCode: 255, endpointGroup: EndpointGroup.Europe },
209
+ { country: 'Thailand', countryCode: 66, endpointGroup: EndpointGroup.America },
210
+ { country: 'Togo', countryCode: 228, endpointGroup: EndpointGroup.Europe },
211
+ { country: 'Tokelau', countryCode: 690, endpointGroup: EndpointGroup.America },
212
+ { country: 'Tonga', countryCode: 676, endpointGroup: EndpointGroup.Europe },
213
+ { country: 'Trinidad and Tobago', countryCode: 1868, endpointGroup: EndpointGroup.Europe },
214
+ { country: 'Tunisia', countryCode: 216, endpointGroup: EndpointGroup.Europe },
215
+ { country: 'Turkey', countryCode: 90, endpointGroup: EndpointGroup.Europe },
216
+ { country: 'Turkmenistan', countryCode: 993, endpointGroup: EndpointGroup.Europe },
217
+ { country: 'Turks and Caicos Islands', countryCode: 1649, endpointGroup: EndpointGroup.Europe },
218
+ { country: 'Tuvalu', countryCode: 688, endpointGroup: EndpointGroup.Europe },
219
+ { country: 'United States of America', countryCode: 1, endpointGroup: EndpointGroup.America },
220
+ { country: 'U.S. Virgin Islands', countryCode: 1340, endpointGroup: EndpointGroup.Europe },
221
+ { country: 'Uganda', countryCode: 256, endpointGroup: EndpointGroup.Europe },
222
+ { country: 'Ukraine', countryCode: 380, endpointGroup: EndpointGroup.Europe },
223
+ { country: 'United Arab Emirates', countryCode: 971, endpointGroup: EndpointGroup.Europe },
224
+ { country: 'United Kingdom', countryCode: 44, endpointGroup: EndpointGroup.Europe },
225
+ { country: 'Uruguay', countryCode: 598, endpointGroup: EndpointGroup.America },
226
+ { country: 'Uzbekistan', countryCode: 998, endpointGroup: EndpointGroup.Europe },
227
+ { country: 'Vanuatu', countryCode: 678, endpointGroup: EndpointGroup.America },
228
+ { country: 'Vatican', countryCode: 379, endpointGroup: EndpointGroup.Europe },
229
+ { country: 'Venezuela', countryCode: 58, endpointGroup: EndpointGroup.America },
230
+ { country: 'Vietnam', countryCode: 84, endpointGroup: EndpointGroup.America },
231
+ { country: 'Wallis and Futuna', countryCode: 681, endpointGroup: EndpointGroup.Europe },
232
+ { country: 'Western Sahara', countryCode: 212, endpointGroup: EndpointGroup.Europe },
233
+ { country: 'Yemen', countryCode: 967, endpointGroup: EndpointGroup.Europe },
234
+ { country: 'Zambia', countryCode: 260, endpointGroup: EndpointGroup.Europe },
235
+ { country: 'Zimbabwe', countryCode: 263, endpointGroup: EndpointGroup.Europe },
236
+ { country: 'Åland Islands', countryCode: 35818, endpointGroup: EndpointGroup.America },
237
+ ];
238
+ export function getEndPointWithCountryCode(code) {
239
+ const item = TUYA_COUNTRIES.find((item) => {
240
+ return item.countryCode === code;
241
+ });
242
+ return item ? item.endpointGroup : EndpointGroup.Europe;
243
+ }
244
+ export function getTuyaCloudEndpoint(country) {
245
+ const AMERICA = 'https://openapi.tuyaus.com';
246
+ const EUROPE = 'https://openapi.tuyaeu.com';
247
+ const INDIA = 'https://openapi.tuyain.com';
248
+ const CHINA = 'https://openapi.tuyacn.com';
249
+ switch (country.endpointGroup) {
250
+ case EndpointGroup.America:
251
+ return AMERICA;
252
+ case EndpointGroup.Europe:
253
+ return EUROPE;
254
+ case EndpointGroup.India:
255
+ return INDIA;
256
+ case EndpointGroup.China:
257
+ return CHINA;
258
+ }
259
+ }
260
+ export function getTuyaPulsarEndpoint(country) {
261
+ const CHINA = 'wss://mqe.tuyacn.com:8285/';
262
+ const AMERICA = 'wss://mqe.tuyaus.com:8285/';
263
+ const EUROPE = 'wss://mqe.tuyaeu.com:8285/';
264
+ const INDIA = 'wss://mqe.tuyain.com:8285/';
265
+ switch (country.endpointGroup) {
266
+ case EndpointGroup.America:
267
+ return AMERICA;
268
+ case EndpointGroup.Europe:
269
+ return EUROPE;
270
+ case EndpointGroup.India:
271
+ return INDIA;
272
+ case EndpointGroup.China:
273
+ return CHINA;
274
+ }
275
+ }
276
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/tuya/utils.ts"],"names":[],"mappings":"AAAA,IAAK,aAKJ;AALD,WAAK,aAAa;IAChB,qDAAM,CAAA;IACN,uDAAO,CAAA;IACP,mDAAK,CAAA;IACL,mDAAK,CAAA;AACP,CAAC,EALI,aAAa,KAAb,aAAa,QAKjB;AAQD,MAAM,CAAC,MAAM,cAAc,GAA2B;IACpD,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAChF,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC7E,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC7E,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IACrF,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC7E,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC5E,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC/E,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IACjF,EAAE,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC1F,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IAC/E,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC7E,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC3E,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC9E,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC5E,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAChF,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC9E,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC7E,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAChF,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC/E,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC7E,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC5E,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC5E,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC3E,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC9E,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC5E,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IAC9E,EAAE,OAAO,EAAE,wBAAwB,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC5F,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC9E,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IAC5E,EAAE,OAAO,EAAE,gCAAgC,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IACrG,EAAE,OAAO,EAAE,wBAAwB,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC7F,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC5E,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC9E,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAClF,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC7E,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAChF,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC9E,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC9E,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IAC3E,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IACrF,EAAE,OAAO,EAAE,0BAA0B,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC9F,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC1E,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IAC3E,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,KAAK,EAAE;IACzE,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IAC9E,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC7E,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IACnF,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAChF,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC7E,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IAC/E,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC5E,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IACpF,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IACnF,EAAE,OAAO,EAAE,kCAAkC,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IACtG,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC5E,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC9E,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC/E,EAAE,OAAO,EAAE,4BAA4B,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IAClG,EAAE,OAAO,EAAE,4BAA4B,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IAClG,EAAE,OAAO,EAAE,4BAA4B,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IAClG,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IACjF,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IAC9E,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC1E,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IACjF,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IACvF,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC7E,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC7E,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC9E,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IACvF,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IACnF,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC1E,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC7E,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC3E,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IACpF,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IACtF,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC3E,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC5E,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC7E,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC5E,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC3E,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC/E,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC3E,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC/E,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC9E,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC3E,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IAChF,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC5E,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IACpF,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC5E,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC3E,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC9E,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IAChF,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC5E,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC7E,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,KAAK,EAAE;IACzE,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IAC/E,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC1E,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC7E,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC5E,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC1E,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC9E,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IAC3E,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC5E,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC3E,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IAC/E,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC5E,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAChF,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC1E,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC5E,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC7E,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC7E,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC7E,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC3E,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IACnF,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC/E,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAChF,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IAC5E,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC/E,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAChF,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC5E,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IAC9E,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC9E,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC1E,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC3E,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IACtF,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAChF,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAChF,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC/E,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC7E,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IAC5E,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAChF,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC7E,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC5E,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC9E,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAChF,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IACjF,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC7E,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAChF,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IAC7E,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC7E,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IAC5E,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC3E,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAChF,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IACnF,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IACjF,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC/E,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC3E,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC7E,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IAC3E,EAAE,OAAO,EAAE,0BAA0B,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC/F,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC3E,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC1E,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC7E,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC3E,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IAChF,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC5E,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IACvF,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IAC/E,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IAC1E,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IACjF,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC3E,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC9E,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IACnF,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC3E,EAAE,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC3F,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC7E,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC5E,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC1E,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC5E,EAAE,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC5F,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAClF,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAClF,EAAE,OAAO,EAAE,2BAA2B,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC/F,EAAE,OAAO,EAAE,kCAAkC,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IACvG,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC3E,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAChF,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAClF,EAAE,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IAC5F,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC7E,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC5E,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAChF,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAClF,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC9E,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IACpF,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC9E,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC9E,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IACtF,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC7E,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IACjF,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IACjF,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC1E,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC9E,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IAC/E,EAAE,OAAO,EAAE,wBAAwB,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IAC9F,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC/E,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC3E,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAChF,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IAC7E,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAChF,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC9E,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IAC9E,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC1E,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IAC9E,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC3E,EAAE,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC1F,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC7E,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC3E,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAClF,EAAE,OAAO,EAAE,0BAA0B,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC/F,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC5E,EAAE,OAAO,EAAE,0BAA0B,EAAE,WAAW,EAAE,CAAC,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IAC7F,EAAE,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC1F,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC5E,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC7E,EAAE,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC1F,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IACnF,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IAC9E,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAChF,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IAC9E,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC7E,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IAC/E,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;IAC7E,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IACvF,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IACpF,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC3E,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC5E,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE;IAC9E,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE;CACvF,CAAC;AAEF,MAAM,UAAU,0BAA0B,CAAC,IAAY;IACrD,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QACxC,OAAO,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC;IACnC,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAA6B;IAChE,MAAM,OAAO,GAAG,4BAA4B,CAAC;IAC7C,MAAM,MAAM,GAAG,4BAA4B,CAAC;IAC5C,MAAM,KAAK,GAAG,4BAA4B,CAAC;IAC3C,MAAM,KAAK,GAAG,4BAA4B,CAAC;IAE3C,QAAQ,OAAO,CAAC,aAAa,EAAE,CAAC;QAC9B,KAAK,aAAa,CAAC,OAAO;YACxB,OAAO,OAAO,CAAC;QACjB,KAAK,aAAa,CAAC,MAAM;YACvB,OAAO,MAAM,CAAC;QAChB,KAAK,aAAa,CAAC,KAAK;YACtB,OAAO,KAAK,CAAC;QACf,KAAK,aAAa,CAAC,KAAK;YACtB,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAA6B;IACjE,MAAM,KAAK,GAAG,4BAA4B,CAAC;IAC3C,MAAM,OAAO,GAAG,4BAA4B,CAAC;IAC7C,MAAM,MAAM,GAAG,4BAA4B,CAAC;IAC5C,MAAM,KAAK,GAAG,4BAA4B,CAAC;IAE3C,QAAQ,OAAO,CAAC,aAAa,EAAE,CAAC;QAC9B,KAAK,aAAa,CAAC,OAAO;YACxB,OAAO,OAAO,CAAC;QACjB,KAAK,aAAa,CAAC,MAAM;YACvB,OAAO,MAAM,CAAC;QAChB,KAAK,aAAa,CAAC,KAAK;YACtB,OAAO,KAAK,CAAC;QACf,KAAK,aAAa,CAAC,KAAK;YACtB,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC"}
@@ -0,0 +1,7 @@
1
+ export interface Config {
2
+ userId: string;
3
+ accessId: string;
4
+ accessKey: string;
5
+ country: string;
6
+ homeWhitelist: string[];
7
+ }
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,67 @@
1
+ {
2
+ "displayName": "Tuya",
3
+ "name": "@camera.ui/camera-ui-tuya",
4
+ "version": "0.0.1",
5
+ "description": "camera.ui tuya plugin",
6
+ "author": "seydx (https://github.com/seydx/camera.ui)",
7
+ "main": "./dist/index.js",
8
+ "type": "module",
9
+ "scripts": {
10
+ "build": "rimraf dist && tsc",
11
+ "format": "prettier --write 'src/' --ignore-unknown --no-error-on-unmatched-pattern",
12
+ "lint": "eslint --fix --ext .js,.ts .",
13
+ "update": "updates --update ./",
14
+ "install-updates": "npm i --save",
15
+ "prepublishOnly": "npm i --package-lock-only && npm run lint && npm run format && npm run build"
16
+ },
17
+ "dependencies": {
18
+ "@camera.ui/rtsp": "^0.0.31",
19
+ "axios": "^1.7.5",
20
+ "crypto-js": "^4.2.0",
21
+ "mqtt": "^5.10.0",
22
+ "mqtt-packet": "^9.0.0",
23
+ "rxjs": "^7.8.1",
24
+ "werift": "^0.19.8"
25
+ },
26
+ "devDependencies": {
27
+ "@camera.ui/types": "^0.0.58",
28
+ "@rushstack/eslint-patch": "^1.10.4",
29
+ "@types/crypto-js": "^4.2.2",
30
+ "@types/node": "^22.5.0",
31
+ "@types/ws": "^8.5.12",
32
+ "@typescript-eslint/eslint-plugin": "^8.2.0",
33
+ "@typescript-eslint/parser": "^8.2.0",
34
+ "concurrently": "^8.2.2",
35
+ "eslint": "8.57.0",
36
+ "eslint-config-prettier": "^9.1.0",
37
+ "eslint-plugin-prettier": "^5.2.1",
38
+ "prettier": "^3.3.3",
39
+ "rimraf": "^6.0.1",
40
+ "typescript": "^5.5.4",
41
+ "updates": "^16.4.0"
42
+ },
43
+ "bugs": {
44
+ "url": "https://github.com/seydx/camera.ui/issues"
45
+ },
46
+ "engines": {
47
+ "camera.ui": ">=0.0.17",
48
+ "node": ">=18.12.0"
49
+ },
50
+ "homepage": "https://github.com/seydx/camera.ui#readme",
51
+ "keywords": [
52
+ "camera-ui-plugin",
53
+ "cameras",
54
+ "tuya"
55
+ ],
56
+ "license": "MIT",
57
+ "repository": {
58
+ "type": "git",
59
+ "url": "git+https://github.com/seydx/camera.ui.git"
60
+ },
61
+ "camera.ui": {
62
+ "builtIns": [
63
+ "motionDetection"
64
+ ],
65
+ "dependencies": []
66
+ }
67
+ }