@cloudbase/utilities 2.5.7-beta.0 → 2.5.20-beta.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.
- package/.eslintignore +2 -0
- package/.eslintrc.js +15 -0
- package/dist/{adapters → cjs/adapters}/index.js +1 -1
- package/dist/cjs/adapters/platforms/web.js +213 -0
- package/dist/cjs/constants/common.js +24 -0
- package/dist/cjs/constants/errors.js +12 -0
- package/dist/{constants → cjs/constants}/index.js +1 -1
- package/dist/cjs/helpers/decorators.js +238 -0
- package/dist/{helpers → cjs/helpers}/index.js +1 -1
- package/dist/{index.js → cjs/index.js} +1 -1
- package/dist/cjs/libs/cache.js +259 -0
- package/dist/cjs/libs/events.js +104 -0
- package/dist/cjs/libs/util.js +221 -0
- package/dist/esm/adapters/index.d.ts +13 -0
- package/dist/esm/adapters/index.js +27 -0
- package/dist/esm/adapters/platforms/web.d.ts +15 -0
- package/dist/esm/adapters/platforms/web.js +209 -0
- package/dist/esm/constants/common.d.ts +6 -0
- package/dist/esm/constants/common.js +17 -0
- package/dist/esm/constants/errors.d.ts +8 -0
- package/dist/esm/constants/errors.js +9 -0
- package/dist/esm/constants/index.d.ts +3 -0
- package/dist/esm/constants/index.js +4 -0
- package/dist/esm/helpers/decorators.d.ts +11 -0
- package/dist/esm/helpers/decorators.js +234 -0
- package/dist/esm/helpers/index.d.ts +1 -0
- package/dist/esm/helpers/index.js +2 -0
- package/dist/esm/index.d.ts +11 -0
- package/dist/esm/index.js +12 -0
- package/dist/esm/libs/cache.d.ts +17 -0
- package/dist/esm/libs/cache.js +256 -0
- package/dist/esm/libs/events.d.ts +27 -0
- package/dist/esm/libs/events.js +98 -0
- package/dist/esm/libs/util.d.ts +35 -0
- package/dist/esm/libs/util.js +194 -0
- package/package.json +6 -16
- package/src/adapters/index.ts +28 -0
- package/src/adapters/platforms/web.ts +182 -0
- package/src/constants/common.ts +21 -0
- package/src/constants/errors.ts +8 -0
- package/src/constants/index.ts +4 -0
- package/src/global.d.ts +3 -0
- package/src/helpers/decorators.ts +228 -0
- package/src/helpers/index.ts +1 -0
- package/src/index.ts +22 -0
- package/src/libs/cache.ts +192 -0
- package/src/libs/events.ts +154 -0
- package/src/libs/util.ts +216 -0
- package/tsconfig.esm.json +16 -0
- package/tsconfig.json +21 -0
- package/dist/adapters/platforms/web.js +0 -213
- package/dist/constants/common.js +0 -24
- package/dist/constants/errors.js +0 -12
- package/dist/helpers/decorators.js +0 -238
- package/dist/libs/cache.js +0 -259
- package/dist/libs/events.js +0 -104
- package/dist/libs/util.js +0 -221
- /package/dist/{adapters → cjs/adapters}/index.d.ts +0 -0
- /package/dist/{adapters → cjs/adapters}/platforms/web.d.ts +0 -0
- /package/dist/{constants → cjs/constants}/common.d.ts +0 -0
- /package/dist/{constants → cjs/constants}/errors.d.ts +0 -0
- /package/dist/{constants → cjs/constants}/index.d.ts +0 -0
- /package/dist/{helpers → cjs/helpers}/decorators.d.ts +0 -0
- /package/dist/{helpers → cjs/helpers}/index.d.ts +0 -0
- /package/dist/{index.d.ts → cjs/index.d.ts} +0 -0
- /package/dist/{libs → cjs/libs}/cache.d.ts +0 -0
- /package/dist/{libs → cjs/libs}/events.d.ts +0 -0
- /package/dist/{libs → cjs/libs}/util.d.ts +0 -0
package/.eslintignore
ADDED
package/.eslintrc.js
ADDED
|
@@ -48,4 +48,4 @@ function useDefaultAdapter() {
|
|
|
48
48
|
};
|
|
49
49
|
}
|
|
50
50
|
exports.useDefaultAdapter = useDefaultAdapter;
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWRhcHRlcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLG1EQUFzQztBQUN0QyxxQ0FBc0M7QUFFdEMsSUFBWSxPQUdYO0FBSEQsV0FBWSxPQUFPO0lBQ2pCLHNCQUFXLENBQUE7SUFDWCwwQkFBZSxDQUFBO0FBQ2pCLENBQUMsRUFIVyxPQUFPLEdBQVAsZUFBTyxLQUFQLGVBQU8sUUFHbEI7QUFFRCxTQUFnQixXQUFXLENBQUMsUUFBNkM7SUFDdkUsSUFBTSxXQUFXLEdBQXVCLGNBQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBOEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUE0QixDQUFDLENBQUE7SUFDM0gsS0FBc0IsVUFBVyxFQUFYLDJCQUFXLEVBQVgseUJBQVcsRUFBWCxJQUFXLEVBQUU7UUFBOUIsSUFBTSxPQUFPLG9CQUFBO1FBQ1IsSUFBQSxPQUFPLEdBQTBCLE9BQU8sUUFBakMsRUFBRSxVQUFVLEdBQWMsT0FBTyxXQUFyQixFQUFFLE9BQU8sR0FBSyxPQUFPLFFBQVosQ0FBWTtRQUNoRCxJQUFJLE9BQU8sRUFBRSxFQUFFO1lBQ2IsT0FBTztnQkFDTCxPQUFPLEVBQUUsVUFBVSxFQUFFO2dCQUNyQixPQUFPLFNBQUE7YUFDUixDQUFBO1NBQ0Y7S0FDRjtBQUNILENBQUM7QUFYRCxrQ0FXQztBQUVELFNBQWdCLGlCQUFpQjtJQUMvQixPQUFPO1FBQ0wsT0FBTyxFQUFFLEdBQUcsQ0FBQyxVQUFVLEVBQUU7UUFDekIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxHQUFHO0tBQ3JCLENBQUE7QUFDSCxDQUFDO0FBTEQsOENBS0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbG91ZGJhc2VBZGFwdGVyIH0gZnJvbSAnQGNsb3VkYmFzZS9hZGFwdGVyLWludGVyZmFjZSdcbmltcG9ydCAqIGFzIFdlYiBmcm9tICcuL3BsYXRmb3Jtcy93ZWInXG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSAnLi4vbGlicy91dGlsJ1xuXG5leHBvcnQgZW51bSBSVU5USU1FIHtcbiAgV0VCID0gJ3dlYicsXG4gIFdYX01QID0gJ3d4X21wJyAvLyDlvq7kv6HlsI/nqIvluo9cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVzZUFkYXB0ZXJzKGFkYXB0ZXJzOiBDbG91ZGJhc2VBZGFwdGVyfENsb3VkYmFzZUFkYXB0ZXJbXSkge1xuICBjb25zdCBhZGFwdGVyTGlzdDogQ2xvdWRiYXNlQWRhcHRlcltdID0gaXNBcnJheShhZGFwdGVycykgPyBhZGFwdGVycyBhcyBDbG91ZGJhc2VBZGFwdGVyW10gOiBbYWRhcHRlcnMgYXMgQ2xvdWRiYXNlQWRhcHRlcl1cbiAgZm9yIChjb25zdCBhZGFwdGVyIG9mIGFkYXB0ZXJMaXN0KSB7XG4gICAgY29uc3QgeyBpc01hdGNoLCBnZW5BZGFwdGVyLCBydW50aW1lIH0gPSBhZGFwdGVyXG4gICAgaWYgKGlzTWF0Y2goKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYWRhcHRlcjogZ2VuQWRhcHRlcigpLFxuICAgICAgICBydW50aW1lLFxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlRGVmYXVsdEFkYXB0ZXIoKSB7XG4gIHJldHVybiB7XG4gICAgYWRhcHRlcjogV2ViLmdlbkFkYXB0ZXIoKSxcbiAgICBydW50aW1lOiBSVU5USU1FLldFQixcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
extendStatics(d, b);
|
|
11
|
+
function __() { this.constructor = d; }
|
|
12
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
var __assign = (this && this.__assign) || function () {
|
|
16
|
+
__assign = Object.assign || function(t) {
|
|
17
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
18
|
+
s = arguments[i];
|
|
19
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
20
|
+
t[p] = s[p];
|
|
21
|
+
}
|
|
22
|
+
return t;
|
|
23
|
+
};
|
|
24
|
+
return __assign.apply(this, arguments);
|
|
25
|
+
};
|
|
26
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
27
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
28
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
29
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
30
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
31
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
32
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
36
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
37
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
38
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
39
|
+
function step(op) {
|
|
40
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
41
|
+
while (_) try {
|
|
42
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
43
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
44
|
+
switch (op[0]) {
|
|
45
|
+
case 0: case 1: t = op; break;
|
|
46
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
47
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
48
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
49
|
+
default:
|
|
50
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
51
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
52
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
53
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
54
|
+
if (t[2]) _.ops.pop();
|
|
55
|
+
_.trys.pop(); continue;
|
|
56
|
+
}
|
|
57
|
+
op = body.call(thisArg, _);
|
|
58
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
59
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
63
|
+
exports.WebRequest = exports.genAdapter = void 0;
|
|
64
|
+
var adapter_interface_1 = require("@cloudbase/adapter-interface");
|
|
65
|
+
var util_1 = require("../../libs/util");
|
|
66
|
+
var common_1 = require("../../constants/common");
|
|
67
|
+
var WebRequest = (function (_super) {
|
|
68
|
+
__extends(WebRequest, _super);
|
|
69
|
+
function WebRequest(config) {
|
|
70
|
+
var _this = _super.call(this) || this;
|
|
71
|
+
var timeout = config.timeout, timeoutMsg = config.timeoutMsg, restrictedMethods = config.restrictedMethods;
|
|
72
|
+
_this.timeout = timeout || 0;
|
|
73
|
+
_this.timeoutMsg = timeoutMsg || '请求超时';
|
|
74
|
+
_this.restrictedMethods = restrictedMethods || ['get', 'post', 'upload', 'download'];
|
|
75
|
+
return _this;
|
|
76
|
+
}
|
|
77
|
+
WebRequest.prototype.get = function (options) {
|
|
78
|
+
return this.request(__assign(__assign({}, options), { method: 'get' }), this.restrictedMethods.includes('get'));
|
|
79
|
+
};
|
|
80
|
+
WebRequest.prototype.post = function (options) {
|
|
81
|
+
return this.request(__assign(__assign({}, options), { method: 'post' }), this.restrictedMethods.includes('post'));
|
|
82
|
+
};
|
|
83
|
+
WebRequest.prototype.put = function (options) {
|
|
84
|
+
return this.request(__assign(__assign({}, options), { method: 'put' }));
|
|
85
|
+
};
|
|
86
|
+
WebRequest.prototype.upload = function (options) {
|
|
87
|
+
var data = options.data, file = options.file, name = options.name, method = options.method, _a = options.headers, headers = _a === void 0 ? {} : _a;
|
|
88
|
+
var reqMethod = { post: 'post', put: 'put' }[method === null || method === void 0 ? void 0 : method.toLowerCase()] || 'put';
|
|
89
|
+
var formData = new FormData();
|
|
90
|
+
if (reqMethod === 'post') {
|
|
91
|
+
Object.keys(data).forEach(function (key) {
|
|
92
|
+
formData.append(key, data[key]);
|
|
93
|
+
});
|
|
94
|
+
formData.append('key', name);
|
|
95
|
+
formData.append('file', file);
|
|
96
|
+
return this.request(__assign(__assign({}, options), { data: formData, method: reqMethod }), this.restrictedMethods.includes('upload'));
|
|
97
|
+
}
|
|
98
|
+
return this.request(__assign(__assign({}, options), { method: 'put', headers: headers, body: file }), this.restrictedMethods.includes('upload'));
|
|
99
|
+
};
|
|
100
|
+
WebRequest.prototype.download = function (options) {
|
|
101
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
102
|
+
var data, url, fileName, link, e_1;
|
|
103
|
+
return __generator(this, function (_a) {
|
|
104
|
+
switch (_a.label) {
|
|
105
|
+
case 0:
|
|
106
|
+
_a.trys.push([0, 2, , 3]);
|
|
107
|
+
return [4, this.get(__assign(__assign({}, options), { headers: {}, responseType: 'blob' }))];
|
|
108
|
+
case 1:
|
|
109
|
+
data = (_a.sent()).data;
|
|
110
|
+
url = window.URL.createObjectURL(new Blob([data]));
|
|
111
|
+
fileName = decodeURIComponent(new URL(options.url).pathname.split('/').pop() || '');
|
|
112
|
+
link = document.createElement('a');
|
|
113
|
+
link.href = url;
|
|
114
|
+
link.setAttribute('download', fileName);
|
|
115
|
+
link.style.display = 'none';
|
|
116
|
+
document.body.appendChild(link);
|
|
117
|
+
link.click();
|
|
118
|
+
window.URL.revokeObjectURL(url);
|
|
119
|
+
document.body.removeChild(link);
|
|
120
|
+
return [3, 3];
|
|
121
|
+
case 2:
|
|
122
|
+
e_1 = _a.sent();
|
|
123
|
+
return [3, 3];
|
|
124
|
+
case 3: return [2, new Promise(function (resolve) {
|
|
125
|
+
resolve({
|
|
126
|
+
statusCode: 200,
|
|
127
|
+
tempFilePath: options.url,
|
|
128
|
+
});
|
|
129
|
+
})];
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
});
|
|
133
|
+
};
|
|
134
|
+
WebRequest.prototype.request = function (options, enableAbort) {
|
|
135
|
+
var _this = this;
|
|
136
|
+
if (enableAbort === void 0) { enableAbort = false; }
|
|
137
|
+
var method = (String(options.method)).toLowerCase() || 'get';
|
|
138
|
+
return new Promise(function (resolve) {
|
|
139
|
+
var url = options.url, _a = options.headers, headers = _a === void 0 ? {} : _a, data = options.data, responseType = options.responseType, withCredentials = options.withCredentials, body = options.body, onUploadProgress = options.onUploadProgress;
|
|
140
|
+
var realUrl = util_1.formatUrl(common_1.getProtocol(), url, method === 'get' ? data : {});
|
|
141
|
+
var ajax = new XMLHttpRequest();
|
|
142
|
+
ajax.open(method, realUrl);
|
|
143
|
+
responseType && (ajax.responseType = responseType);
|
|
144
|
+
Object.keys(headers).forEach(function (key) {
|
|
145
|
+
ajax.setRequestHeader(key, headers[key]);
|
|
146
|
+
});
|
|
147
|
+
var timer;
|
|
148
|
+
if (onUploadProgress) {
|
|
149
|
+
ajax.upload.addEventListener('progress', onUploadProgress);
|
|
150
|
+
}
|
|
151
|
+
ajax.onreadystatechange = function () {
|
|
152
|
+
var result = {};
|
|
153
|
+
if (ajax.readyState === 4) {
|
|
154
|
+
var headers_1 = ajax.getAllResponseHeaders();
|
|
155
|
+
var arr = headers_1.trim().split(/[\r\n]+/);
|
|
156
|
+
var headerMap_1 = {};
|
|
157
|
+
arr.forEach(function (line) {
|
|
158
|
+
var parts = line.split(': ');
|
|
159
|
+
var header = parts.shift().toLowerCase();
|
|
160
|
+
var value = parts.join(': ');
|
|
161
|
+
headerMap_1[header] = value;
|
|
162
|
+
});
|
|
163
|
+
result.header = headerMap_1;
|
|
164
|
+
result.statusCode = ajax.status;
|
|
165
|
+
try {
|
|
166
|
+
result.data = responseType === 'blob' ? ajax.response : JSON.parse(ajax.responseText);
|
|
167
|
+
}
|
|
168
|
+
catch (e) {
|
|
169
|
+
result.data = responseType === 'blob' ? ajax.response : ajax.responseText;
|
|
170
|
+
}
|
|
171
|
+
clearTimeout(timer);
|
|
172
|
+
resolve(result);
|
|
173
|
+
}
|
|
174
|
+
};
|
|
175
|
+
if (enableAbort && _this.timeout) {
|
|
176
|
+
timer = setTimeout(function () {
|
|
177
|
+
console.warn(_this.timeoutMsg);
|
|
178
|
+
ajax.abort();
|
|
179
|
+
}, _this.timeout);
|
|
180
|
+
}
|
|
181
|
+
var payload;
|
|
182
|
+
if (util_1.isFormData(data)) {
|
|
183
|
+
payload = data;
|
|
184
|
+
}
|
|
185
|
+
else if (headers['content-type'] === 'application/x-www-form-urlencoded') {
|
|
186
|
+
payload = util_1.toQueryString(data);
|
|
187
|
+
}
|
|
188
|
+
else if (body) {
|
|
189
|
+
payload = body;
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
payload = data ? JSON.stringify(data) : undefined;
|
|
193
|
+
}
|
|
194
|
+
if (withCredentials) {
|
|
195
|
+
ajax.withCredentials = true;
|
|
196
|
+
}
|
|
197
|
+
ajax.send(payload);
|
|
198
|
+
});
|
|
199
|
+
};
|
|
200
|
+
return WebRequest;
|
|
201
|
+
}(adapter_interface_1.AbstractSDKRequest));
|
|
202
|
+
exports.WebRequest = WebRequest;
|
|
203
|
+
function genAdapter() {
|
|
204
|
+
var adapter = {
|
|
205
|
+
root: window,
|
|
206
|
+
reqClass: WebRequest,
|
|
207
|
+
wsClass: WebSocket,
|
|
208
|
+
localStorage: localStorage,
|
|
209
|
+
};
|
|
210
|
+
return adapter;
|
|
211
|
+
}
|
|
212
|
+
exports.genAdapter = genAdapter;
|
|
213
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FkYXB0ZXJzL3BsYXRmb3Jtcy93ZWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsa0VBUXFDO0FBQ3JDLHdDQUFzRTtBQUN0RSxpREFBb0Q7QUFLcEQ7SUFBeUIsOEJBQWtCO0lBT3pDLG9CQUFZLE1BQXNCO1FBQWxDLFlBQ0UsaUJBQU8sU0FLUjtRQUpTLElBQUEsT0FBTyxHQUFvQyxNQUFNLFFBQTFDLEVBQUUsVUFBVSxHQUF3QixNQUFNLFdBQTlCLEVBQUUsaUJBQWlCLEdBQUssTUFBTSxrQkFBWCxDQUFXO1FBQ3pELEtBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxJQUFJLENBQUMsQ0FBQTtRQUMzQixLQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsSUFBSSxNQUFNLENBQUE7UUFDdEMsS0FBSSxDQUFDLGlCQUFpQixHQUFHLGlCQUFpQixJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUE7O0lBQ3JGLENBQUM7SUFDTSx3QkFBRyxHQUFWLFVBQVcsT0FBd0I7UUFDakMsT0FBTyxJQUFJLENBQUMsT0FBTyx1QkFDZCxPQUFPLEtBQ1YsTUFBTSxFQUFFLEtBQUssS0FDWixJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7SUFDNUMsQ0FBQztJQUNNLHlCQUFJLEdBQVgsVUFBWSxPQUF3QjtRQUNsQyxPQUFPLElBQUksQ0FBQyxPQUFPLHVCQUNkLE9BQU8sS0FDVixNQUFNLEVBQUUsTUFBTSxLQUNiLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtJQUM3QyxDQUFDO0lBQ00sd0JBQUcsR0FBVixVQUFXLE9BQXdC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SUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ3BCLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUNILGlCQUFDO0FBQUQsQ0FBQyxBQTFKRCxDQUF5QixzQ0FBa0IsR0EwSjFDO0FBWW9CLGdDQUFVO0FBVi9CLFNBQVMsVUFBVTtJQUNqQixJQUFNLE9BQU8sR0FBd0I7UUFDbkMsSUFBSSxFQUFFLE1BQU07UUFDWixRQUFRLEVBQUUsVUFBVTtRQUNwQixPQUFPLEVBQUUsU0FBUztRQUNsQixZQUFZLGNBQUE7S0FDYixDQUFBO0lBQ0QsT0FBTyxPQUFPLENBQUE7QUFDaEIsQ0FBQztBQUVRLGdDQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgU0RLQWRhcHRlckludGVyZmFjZSxcbiAgQWJzdHJhY3RTREtSZXF1ZXN0LFxuICBJUmVxdWVzdE9wdGlvbnMsXG4gIFJlc3BvbnNlT2JqZWN0LFxuICBJVXBsb2FkUmVxdWVzdE9wdGlvbnMsXG4gIElSZXF1ZXN0Q29uZmlnLFxuICBJUmVxdWVzdE1ldGhvZCxcbn0gZnJvbSAnQGNsb3VkYmFzZS9hZGFwdGVyLWludGVyZmFjZSdcbmltcG9ydCB7IGlzRm9ybURhdGEsIGZvcm1hdFVybCwgdG9RdWVyeVN0cmluZyB9IGZyb20gJy4uLy4uL2xpYnMvdXRpbCdcbmltcG9ydCB7IGdldFByb3RvY29sIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2NvbW1vbidcblxuLyoqXG4gKiBAY2xhc3MgV2ViUmVxdWVzdFxuICovXG5jbGFzcyBXZWJSZXF1ZXN0IGV4dGVuZHMgQWJzdHJhY3RTREtSZXF1ZXN0IHtcbiAgLy8g6buY6K6k5LiN6ZmQ6LaF5pe2XG4gIHByaXZhdGUgcmVhZG9ubHkgdGltZW91dDogbnVtYmVyO1xuICAvLyDotoXml7bmj5DnpLrmlofmoYhcbiAgcHJpdmF0ZSByZWFkb25seSB0aW1lb3V0TXNnOiBzdHJpbmc7XG4gIC8vIOi2heaXtuWPl+mZkOivt+axguexu+Wei++8jOm7mOiupOaJgOacieivt+axguWdh+WPl+mZkFxuICBwcml2YXRlIHJlYWRvbmx5IHJlc3RyaWN0ZWRNZXRob2RzOiBBcnJheTxJUmVxdWVzdE1ldGhvZD47XG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogSVJlcXVlc3RDb25maWcpIHtcbiAgICBzdXBlcigpXG4gICAgY29uc3QgeyB0aW1lb3V0LCB0aW1lb3V0TXNnLCByZXN0cmljdGVkTWV0aG9kcyB9ID0gY29uZmlnXG4gICAgdGhpcy50aW1lb3V0ID0gdGltZW91dCB8fCAwXG4gICAgdGhpcy50aW1lb3V0TXNnID0gdGltZW91dE1zZyB8fCAn6K+35rGC6LaF5pe2J1xuICAgIHRoaXMucmVzdHJpY3RlZE1ldGhvZHMgPSByZXN0cmljdGVkTWV0aG9kcyB8fCBbJ2dldCcsICdwb3N0JywgJ3VwbG9hZCcsICdkb3dubG9hZCddXG4gIH1cbiAgcHVibGljIGdldChvcHRpb25zOiBJUmVxdWVzdE9wdGlvbnMpOiBQcm9taXNlPFJlc3BvbnNlT2JqZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdCh7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgbWV0aG9kOiAnZ2V0JyxcbiAgICB9LCB0aGlzLnJlc3RyaWN0ZWRNZXRob2RzLmluY2x1ZGVzKCdnZXQnKSlcbiAgfVxuICBwdWJsaWMgcG9zdChvcHRpb25zOiBJUmVxdWVzdE9wdGlvbnMpOiBQcm9taXNlPFJlc3BvbnNlT2JqZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdCh7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgfSwgdGhpcy5yZXN0cmljdGVkTWV0aG9kcy5pbmNsdWRlcygncG9zdCcpKVxuICB9XG4gIHB1YmxpYyBwdXQob3B0aW9uczogSVJlcXVlc3RPcHRpb25zKTogUHJvbWlzZTxSZXNwb25zZU9iamVjdD4ge1xuICAgIHJldHVybiB0aGlzLnJlcXVlc3Qoe1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIG1ldGhvZDogJ3B1dCcsXG4gICAgfSlcbiAgfVxuICBwdWJsaWMgdXBsb2FkKG9wdGlvbnM6IElVcGxvYWRSZXF1ZXN0T3B0aW9ucyk6IFByb21pc2U8UmVzcG9uc2VPYmplY3Q+IHtcbiAgICBjb25zdCB7IGRhdGEsIGZpbGUsIG5hbWUsIG1ldGhvZCwgaGVhZGVycyA9IHt9IH0gPSBvcHRpb25zXG4gICAgY29uc3QgcmVxTWV0aG9kID0geyBwb3N0OiAncG9zdCcsIHB1dDogJ3B1dCcgfVttZXRob2Q/LnRvTG93ZXJDYXNlKCldIHx8ICdwdXQnXG4gICAgLy8g5LiK5Lyg5pa55byP5Li6cG9zdOaXtu+8jOmcgOi9rOaNouS4ukZvcm1EYXRhXG4gICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKVxuICAgIGlmIChyZXFNZXRob2QgPT09ICdwb3N0Jykge1xuICAgICAgT2JqZWN0LmtleXMoZGF0YSkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZChrZXksIGRhdGFba2V5XSlcbiAgICAgIH0pXG4gICAgICBmb3JtRGF0YS5hcHBlbmQoJ2tleScsIG5hbWUpXG4gICAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBmaWxlKVxuICAgICAgcmV0dXJuIHRoaXMucmVxdWVzdCh7XG4gICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgIGRhdGE6IGZvcm1EYXRhLFxuICAgICAgICBtZXRob2Q6IHJlcU1ldGhvZCxcbiAgICAgIH0sIHRoaXMucmVzdHJpY3RlZE1ldGhvZHMuaW5jbHVkZXMoJ3VwbG9hZCcpKVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0KHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBtZXRob2Q6ICdwdXQnLFxuICAgICAgaGVhZGVycyxcbiAgICAgIGJvZHk6IGZpbGUsXG4gICAgfSwgdGhpcy5yZXN0cmljdGVkTWV0aG9kcy5pbmNsdWRlcygndXBsb2FkJykpXG4gIH1cbiAgcHVibGljIGFzeW5jIGRvd25sb2FkKG9wdGlvbnM6IElSZXF1ZXN0T3B0aW9ucyk6IFByb21pc2U8YW55PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgdGhpcy5nZXQoe1xuICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICBoZWFkZXJzOiB7fSwgLy8g5LiL6L296LWE5rqQ6K+35rGC5LiN57uP6L+Hc2VydmljZe+8jGhlYWRlcua4heepulxuICAgICAgICByZXNwb25zZVR5cGU6ICdibG9iJyxcbiAgICAgIH0pXG4gICAgICBjb25zdCB1cmwgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChuZXcgQmxvYihbZGF0YV0pKVxuICAgICAgY29uc3QgZmlsZU5hbWUgPSBkZWNvZGVVUklDb21wb25lbnQobmV3IFVSTChvcHRpb25zLnVybCkucGF0aG5hbWUuc3BsaXQoJy8nKS5wb3AoKSB8fCAnJylcbiAgICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJylcblxuICAgICAgbGluay5ocmVmID0gdXJsXG4gICAgICBsaW5rLnNldEF0dHJpYnV0ZSgnZG93bmxvYWQnLCBmaWxlTmFtZSlcbiAgICAgIGxpbmsuc3R5bGUuZGlzcGxheSA9ICdub25lJ1xuXG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspXG4gICAgICBsaW5rLmNsaWNrKClcbiAgICAgIC8vIOWbnuaUtuWGheWtmFxuICAgICAgd2luZG93LlVSTC5yZXZva2VPYmplY3RVUkwodXJsKVxuICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsaW5rKVxuICAgIH0gY2F0Y2ggKGUpIHsgfVxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgcmVzb2x2ZSh7XG4gICAgICAgIHN0YXR1c0NvZGU6IDIwMCxcbiAgICAgICAgdGVtcEZpbGVQYXRoOiBvcHRpb25zLnVybCxcbiAgICAgIH0pXG4gICAgfSlcbiAgfVxuICAvKipcbiAgICogQHBhcmFtIHtJUmVxdWVzdE9wdGlvbnN9IG9wdGlvbnNcbiAgICogQHBhcmFtIHtib29sZWFufSBlbmFibGVBYm9ydCDmmK/lkKbotoXml7bkuK3mlq3or7fmsYJcbiAgICovXG4gIHByb3RlY3RlZCByZXF1ZXN0KG9wdGlvbnM6IElSZXF1ZXN0T3B0aW9ucywgZW5hYmxlQWJvcnQgPSBmYWxzZSk6IFByb21pc2U8UmVzcG9uc2VPYmplY3Q+IHtcbiAgICBjb25zdCBtZXRob2QgPSAoU3RyaW5nKG9wdGlvbnMubWV0aG9kKSkudG9Mb3dlckNhc2UoKSB8fCAnZ2V0J1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgY29uc3QgeyB1cmwsIGhlYWRlcnMgPSB7fSwgZGF0YSwgcmVzcG9uc2VUeXBlLCB3aXRoQ3JlZGVudGlhbHMsIGJvZHksIG9uVXBsb2FkUHJvZ3Jlc3MgfSA9IG9wdGlvbnNcbiAgICAgIGNvbnN0IHJlYWxVcmwgPSBmb3JtYXRVcmwoZ2V0UHJvdG9jb2woKSwgdXJsLCBtZXRob2QgPT09ICdnZXQnID8gZGF0YSA6IHt9KVxuICAgICAgY29uc3QgYWpheCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpXG4gICAgICBhamF4Lm9wZW4obWV0aG9kLCByZWFsVXJsKVxuICAgICAgcmVzcG9uc2VUeXBlICYmIChhamF4LnJlc3BvbnNlVHlwZSA9IHJlc3BvbnNlVHlwZSlcbiAgICAgIE9iamVjdC5rZXlzKGhlYWRlcnMpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICBhamF4LnNldFJlcXVlc3RIZWFkZXIoa2V5LCBoZWFkZXJzW2tleV0pXG4gICAgICB9KVxuICAgICAgbGV0IHRpbWVyXG4gICAgICBpZiAob25VcGxvYWRQcm9ncmVzcykge1xuICAgICAgICBhamF4LnVwbG9hZC5hZGRFdmVudExpc3RlbmVyKCdwcm9ncmVzcycsIG9uVXBsb2FkUHJvZ3Jlc3MpXG4gICAgICB9XG4gICAgICBhamF4Lm9ucmVhZHlzdGF0ZWNoYW5nZSA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0OiBSZXNwb25zZU9iamVjdCA9IHt9XG4gICAgICAgIGlmIChhamF4LnJlYWR5U3RhdGUgPT09IDQpIHtcbiAgICAgICAgICBjb25zdCBoZWFkZXJzID0gYWpheC5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKVxuICAgICAgICAgIGNvbnN0IGFyciA9IGhlYWRlcnMudHJpbSgpLnNwbGl0KC9bXFxyXFxuXSsvKVxuICAgICAgICAgIC8vIENyZWF0ZSBhIG1hcCBvZiBoZWFkZXIgbmFtZXMgdG8gdmFsdWVzXG4gICAgICAgICAgY29uc3QgaGVhZGVyTWFwID0ge31cbiAgICAgICAgICBhcnIuZm9yRWFjaCgobGluZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcGFydHMgPSBsaW5lLnNwbGl0KCc6ICcpXG4gICAgICAgICAgICBjb25zdCBoZWFkZXIgPSBwYXJ0cy5zaGlmdCgpLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gcGFydHMuam9pbignOiAnKVxuICAgICAgICAgICAgaGVhZGVyTWFwW2hlYWRlcl0gPSB2YWx1ZVxuICAgICAgICAgIH0pXG4gICAgICAgICAgcmVzdWx0LmhlYWRlciA9IGhlYWRlck1hcFxuICAgICAgICAgIHJlc3VsdC5zdGF0dXNDb2RlID0gYWpheC5zdGF0dXNcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8g5LiK5LygcG9zdOivt+axgui/lOWbnuaVsOaNruagvOW8j+S4unhtbO+8jOatpOWkhOWuuemUmVxuICAgICAgICAgICAgcmVzdWx0LmRhdGEgPSByZXNwb25zZVR5cGUgPT09ICdibG9iJyA/IGFqYXgucmVzcG9uc2UgOiBKU09OLnBhcnNlKGFqYXgucmVzcG9uc2VUZXh0KVxuICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHJlc3VsdC5kYXRhID0gcmVzcG9uc2VUeXBlID09PSAnYmxvYicgPyBhamF4LnJlc3BvbnNlIDogYWpheC5yZXNwb25zZVRleHRcbiAgICAgICAgICB9XG4gICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVyKVxuICAgICAgICAgIHJlc29sdmUocmVzdWx0KVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoZW5hYmxlQWJvcnQgJiYgdGhpcy50aW1lb3V0KSB7XG4gICAgICAgIHRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgY29uc29sZS53YXJuKHRoaXMudGltZW91dE1zZylcbiAgICAgICAgICBhamF4LmFib3J0KClcbiAgICAgICAgfSwgdGhpcy50aW1lb3V0KVxuICAgICAgfVxuICAgICAgLy8g5aSE55CGIHBheWxvYWRcbiAgICAgIGxldCBwYXlsb2FkXG4gICAgICBpZiAoaXNGb3JtRGF0YShkYXRhKSkge1xuICAgICAgICAvLyBGb3JtRGF0Ye+8jOS4jeWkhOeQhlxuICAgICAgICBwYXlsb2FkID0gZGF0YVxuICAgICAgfSBlbHNlIGlmIChoZWFkZXJzWydjb250ZW50LXR5cGUnXSA9PT0gJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcpIHtcbiAgICAgICAgcGF5bG9hZCA9IHRvUXVlcnlTdHJpbmcoZGF0YSlcbiAgICAgIH0gZWxzZSBpZiAoYm9keSkge1xuICAgICAgICBwYXlsb2FkID0gYm9keVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8g5YW25a6D5oOF5Ya1XG4gICAgICAgIHBheWxvYWQgPSBkYXRhID8gSlNPTi5zdHJpbmdpZnkoZGF0YSkgOiB1bmRlZmluZWRcbiAgICAgIH1cblxuICAgICAgaWYgKHdpdGhDcmVkZW50aWFscykge1xuICAgICAgICBhamF4LndpdGhDcmVkZW50aWFscyA9IHRydWVcbiAgICAgIH1cbiAgICAgIGFqYXguc2VuZChwYXlsb2FkKVxuICAgIH0pXG4gIH1cbn1cblxuZnVuY3Rpb24gZ2VuQWRhcHRlcigpIHtcbiAgY29uc3QgYWRhcHRlcjogU0RLQWRhcHRlckludGVyZmFjZSA9IHtcbiAgICByb290OiB3aW5kb3csXG4gICAgcmVxQ2xhc3M6IFdlYlJlcXVlc3QsXG4gICAgd3NDbGFzczogV2ViU29ja2V0LFxuICAgIGxvY2FsU3RvcmFnZSxcbiAgfVxuICByZXR1cm4gYWRhcHRlclxufVxuXG5leHBvcnQgeyBnZW5BZGFwdGVyLCBXZWJSZXF1ZXN0IH1cbiJdfQ==
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.COMMUNITY_SITE_URL = exports.IS_DEBUG_MODE = exports.getProtocol = exports.setProtocol = exports.getSdkName = exports.setSdkName = void 0;
|
|
4
|
+
var sdkName = '@cloudbase/js-sdk';
|
|
5
|
+
function setSdkName(name) {
|
|
6
|
+
sdkName = name;
|
|
7
|
+
}
|
|
8
|
+
exports.setSdkName = setSdkName;
|
|
9
|
+
function getSdkName() {
|
|
10
|
+
return sdkName;
|
|
11
|
+
}
|
|
12
|
+
exports.getSdkName = getSdkName;
|
|
13
|
+
var PROTOCOL = 'https:';
|
|
14
|
+
function setProtocol(protocol) {
|
|
15
|
+
PROTOCOL = protocol;
|
|
16
|
+
}
|
|
17
|
+
exports.setProtocol = setProtocol;
|
|
18
|
+
function getProtocol() {
|
|
19
|
+
return PROTOCOL;
|
|
20
|
+
}
|
|
21
|
+
exports.getProtocol = getProtocol;
|
|
22
|
+
exports.IS_DEBUG_MODE = process.env.NODE_ENV === 'development';
|
|
23
|
+
exports.COMMUNITY_SITE_URL = 'https://support.qq.com/products/148793';
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnN0YW50cy9jb21tb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBSSxPQUFPLEdBQUcsbUJBQW1CLENBQUE7QUFDakMsU0FBZ0IsVUFBVSxDQUFDLElBQVk7SUFDckMsT0FBTyxHQUFHLElBQUksQ0FBQTtBQUNoQixDQUFDO0FBRkQsZ0NBRUM7QUFDRCxTQUFnQixVQUFVO0lBQ3hCLE9BQU8sT0FBTyxDQUFBO0FBQ2hCLENBQUM7QUFGRCxnQ0FFQztBQUVELElBQUksUUFBUSxHQUFHLFFBQVEsQ0FBQTtBQUV2QixTQUFnQixXQUFXLENBQUMsUUFBMEI7SUFDcEQsUUFBUSxHQUFHLFFBQVEsQ0FBQTtBQUNyQixDQUFDO0FBRkQsa0NBRUM7QUFFRCxTQUFnQixXQUFXO0lBQ3pCLE9BQU8sUUFBUSxDQUFBO0FBQ2pCLENBQUM7QUFGRCxrQ0FFQztBQUVZLFFBQUEsYUFBYSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxLQUFLLGFBQWEsQ0FBQTtBQUV0RCxRQUFBLGtCQUFrQixHQUFHLHdDQUF3QyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsibGV0IHNka05hbWUgPSAnQGNsb3VkYmFzZS9qcy1zZGsnXG5leHBvcnQgZnVuY3Rpb24gc2V0U2RrTmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgc2RrTmFtZSA9IG5hbWVcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZXRTZGtOYW1lKCkge1xuICByZXR1cm4gc2RrTmFtZVxufVxuXG5sZXQgUFJPVE9DT0wgPSAnaHR0cHM6J1xuXG5leHBvcnQgZnVuY3Rpb24gc2V0UHJvdG9jb2wocHJvdG9jb2w6ICdodHRwJyB8ICdodHRwcycpIHtcbiAgUFJPVE9DT0wgPSBwcm90b2NvbFxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UHJvdG9jb2woKSB7XG4gIHJldHVybiBQUk9UT0NPTFxufVxuLy8g5piv5ZCm5Li65byA5Y+R5qih5byPXG5leHBvcnQgY29uc3QgSVNfREVCVUdfTU9ERSA9IHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAnZGV2ZWxvcG1lbnQnXG4vLyDpl67nrZTnpL7ljLrpk77mjqVcbmV4cG9ydCBjb25zdCBDT01NVU5JVFlfU0lURV9VUkwgPSAnaHR0cHM6Ly9zdXBwb3J0LnFxLmNvbS9wcm9kdWN0cy8xNDg3OTMnXG4iXX0=
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ERRORS = void 0;
|
|
4
|
+
exports.ERRORS = {
|
|
5
|
+
INVALID_PARAMS: 'INVALID_PARAMS',
|
|
6
|
+
INVALID_SYNTAX: 'INVALID_SYNTAX',
|
|
7
|
+
INVALID_OPERATION: 'INVALID_OPERATION',
|
|
8
|
+
OPERATION_FAIL: 'OPERATION_FAIL',
|
|
9
|
+
NETWORK_ERROR: 'NETWORK_ERROR',
|
|
10
|
+
UNKOWN_ERROR: 'UNKOWN_ERROR',
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnN0YW50cy9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxNQUFNLEdBQUc7SUFDcEIsY0FBYyxFQUFFLGdCQUFnQjtJQUNoQyxjQUFjLEVBQUUsZ0JBQWdCO0lBQ2hDLGlCQUFpQixFQUFFLG1CQUFtQjtJQUN0QyxjQUFjLEVBQUUsZ0JBQWdCO0lBQ2hDLGFBQWEsRUFBRSxlQUFlO0lBQzlCLFlBQVksRUFBRSxjQUFjO0NBQzdCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgRVJST1JTID0ge1xuICBJTlZBTElEX1BBUkFNUzogJ0lOVkFMSURfUEFSQU1TJyxcbiAgSU5WQUxJRF9TWU5UQVg6ICdJTlZBTElEX1NZTlRBWCcsXG4gIElOVkFMSURfT1BFUkFUSU9OOiAnSU5WQUxJRF9PUEVSQVRJT04nLFxuICBPUEVSQVRJT05fRkFJTDogJ09QRVJBVElPTl9GQUlMJyxcbiAgTkVUV09SS19FUlJPUjogJ05FVFdPUktfRVJST1InLFxuICBVTktPV05fRVJST1I6ICdVTktPV05fRVJST1InLFxufVxuIl19
|
|
@@ -14,4 +14,4 @@ exports.OATUH_LOGINTYPE = void 0;
|
|
|
14
14
|
__exportStar(require("./common"), exports);
|
|
15
15
|
__exportStar(require("./errors"), exports);
|
|
16
16
|
exports.OATUH_LOGINTYPE = 'constants';
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29uc3RhbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBd0I7QUFDeEIsMkNBQXdCO0FBRVgsUUFBQSxlQUFlLEdBQUcsV0FBVyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb21tb24nXG5leHBvcnQgKiBmcm9tICcuL2Vycm9ycydcblxuZXhwb3J0IGNvbnN0IE9BVFVIX0xPR0lOVFlQRSA9ICdjb25zdGFudHMnXG4iXX0=
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (_) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.catchErrorsDecorator = void 0;
|
|
40
|
+
var util_1 = require("../libs/util");
|
|
41
|
+
var constants_1 = require("../constants");
|
|
42
|
+
var isFirefox = false;
|
|
43
|
+
if (typeof navigator !== 'undefined' && navigator.userAgent) {
|
|
44
|
+
isFirefox = navigator.userAgent.indexOf('Firefox') !== -1;
|
|
45
|
+
}
|
|
46
|
+
var REG_STACK_DECORATE = isFirefox
|
|
47
|
+
? /(\.js\/)?__decorate(\$\d+)?<@.*\d$/
|
|
48
|
+
: /(\/\w+\.js\.)?__decorate(\$\d+)?\s*\(.*\)$/;
|
|
49
|
+
var REG_STACK_LINK = /https?:\/\/.+:\d*\/.*\.js:\d+:\d+/;
|
|
50
|
+
function catchErrorsDecorator(options) {
|
|
51
|
+
var _a = options.mode, mode = _a === void 0 ? 'async' : _a, _b = options.customInfo, customInfo = _b === void 0 ? {} : _b, title = options.title, _c = options.messages, messages = _c === void 0 ? [] : _c;
|
|
52
|
+
return function (target, methodName, descriptor) {
|
|
53
|
+
if (!constants_1.IS_DEBUG_MODE) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
var className = customInfo.className || target.constructor.name;
|
|
57
|
+
var fnName = customInfo.methodName || methodName;
|
|
58
|
+
var fn = descriptor.value;
|
|
59
|
+
var sourceLink = getSourceLink(new Error());
|
|
60
|
+
if (mode === 'sync') {
|
|
61
|
+
descriptor.value = function () {
|
|
62
|
+
var args = [];
|
|
63
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
64
|
+
args[_i] = arguments[_i];
|
|
65
|
+
}
|
|
66
|
+
var innerErr = getRewritedError({
|
|
67
|
+
err: new Error(),
|
|
68
|
+
className: className,
|
|
69
|
+
methodName: fnName,
|
|
70
|
+
sourceLink: sourceLink,
|
|
71
|
+
});
|
|
72
|
+
try {
|
|
73
|
+
return fn.apply(this, args);
|
|
74
|
+
}
|
|
75
|
+
catch (err) {
|
|
76
|
+
var failErr = err;
|
|
77
|
+
var errMsg = err.message, error = err.error, errorDescription = err.error_description;
|
|
78
|
+
var logs = {
|
|
79
|
+
title: title || className + "." + fnName + " failed",
|
|
80
|
+
content: [{
|
|
81
|
+
type: 'error',
|
|
82
|
+
body: err,
|
|
83
|
+
}],
|
|
84
|
+
};
|
|
85
|
+
if (errMsg && /^\{.*\}$/.test(errMsg)) {
|
|
86
|
+
var msg = JSON.parse(errMsg);
|
|
87
|
+
logs.subtitle = errMsg;
|
|
88
|
+
if (msg.code) {
|
|
89
|
+
if (innerErr) {
|
|
90
|
+
innerErr.code = msg.code;
|
|
91
|
+
innerErr.msg = msg.msg;
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
err.code = msg.code;
|
|
95
|
+
err.message = msg.msg;
|
|
96
|
+
}
|
|
97
|
+
failErr = innerErr || err;
|
|
98
|
+
logs.content = messages.map(function (msg) { return ({
|
|
99
|
+
type: 'info',
|
|
100
|
+
body: msg,
|
|
101
|
+
}); });
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
if (error && errorDescription) {
|
|
105
|
+
logs.subtitle = errorDescription;
|
|
106
|
+
if (innerErr) {
|
|
107
|
+
innerErr.code = error;
|
|
108
|
+
innerErr.msg = errorDescription;
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
err.code = error;
|
|
112
|
+
err.message = errorDescription;
|
|
113
|
+
}
|
|
114
|
+
failErr = innerErr || err;
|
|
115
|
+
logs.content = messages.map(function (msg) { return ({
|
|
116
|
+
type: 'info',
|
|
117
|
+
body: msg,
|
|
118
|
+
}); });
|
|
119
|
+
}
|
|
120
|
+
util_1.printGroupLog(logs);
|
|
121
|
+
throw failErr;
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
descriptor.value = function () {
|
|
127
|
+
var args = [];
|
|
128
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
129
|
+
args[_i] = arguments[_i];
|
|
130
|
+
}
|
|
131
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
132
|
+
var innerErr, err_1, failErr, errMsg, error, errorDescription, logs, msg;
|
|
133
|
+
return __generator(this, function (_a) {
|
|
134
|
+
switch (_a.label) {
|
|
135
|
+
case 0:
|
|
136
|
+
innerErr = getRewritedError({
|
|
137
|
+
err: new Error(),
|
|
138
|
+
className: className,
|
|
139
|
+
methodName: fnName,
|
|
140
|
+
sourceLink: sourceLink,
|
|
141
|
+
});
|
|
142
|
+
_a.label = 1;
|
|
143
|
+
case 1:
|
|
144
|
+
_a.trys.push([1, 3, , 4]);
|
|
145
|
+
return [4, fn.apply(this, args)];
|
|
146
|
+
case 2: return [2, _a.sent()];
|
|
147
|
+
case 3:
|
|
148
|
+
err_1 = _a.sent();
|
|
149
|
+
failErr = err_1;
|
|
150
|
+
errMsg = err_1.message, error = err_1.error, errorDescription = err_1.error_description;
|
|
151
|
+
logs = {
|
|
152
|
+
title: title || className + "." + fnName + " failed",
|
|
153
|
+
content: [{
|
|
154
|
+
type: 'error',
|
|
155
|
+
body: err_1,
|
|
156
|
+
}],
|
|
157
|
+
};
|
|
158
|
+
if (errMsg && /^\{.*\}$/.test(errMsg)) {
|
|
159
|
+
msg = JSON.parse(errMsg);
|
|
160
|
+
logs.subtitle = msg;
|
|
161
|
+
if (msg.code) {
|
|
162
|
+
if (innerErr) {
|
|
163
|
+
innerErr.code = msg.code;
|
|
164
|
+
innerErr.message = msg.msg;
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
err_1.code = msg.code;
|
|
168
|
+
err_1.message = msg.msg;
|
|
169
|
+
}
|
|
170
|
+
failErr = innerErr || err_1;
|
|
171
|
+
logs.content = messages.map(function (msg) { return ({
|
|
172
|
+
type: 'info',
|
|
173
|
+
body: msg,
|
|
174
|
+
}); });
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
if (error && errorDescription) {
|
|
178
|
+
logs.subtitle = errorDescription;
|
|
179
|
+
if (innerErr) {
|
|
180
|
+
innerErr.code = error;
|
|
181
|
+
innerErr.msg = errorDescription;
|
|
182
|
+
}
|
|
183
|
+
else {
|
|
184
|
+
err_1.code = error;
|
|
185
|
+
err_1.message = errorDescription;
|
|
186
|
+
}
|
|
187
|
+
failErr = innerErr || err_1;
|
|
188
|
+
logs.content = messages.map(function (msg) { return ({
|
|
189
|
+
type: 'info',
|
|
190
|
+
body: msg,
|
|
191
|
+
}); });
|
|
192
|
+
}
|
|
193
|
+
util_1.printGroupLog(logs);
|
|
194
|
+
throw failErr;
|
|
195
|
+
case 4: return [2];
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
});
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
exports.catchErrorsDecorator = catchErrorsDecorator;
|
|
204
|
+
function getSourceLink(err) {
|
|
205
|
+
var sourceLink = '';
|
|
206
|
+
var outterErrStacks = err.stack.split('\n');
|
|
207
|
+
var indexOfDecorator = outterErrStacks.findIndex(function (str) { return REG_STACK_DECORATE.test(str); });
|
|
208
|
+
if (indexOfDecorator !== -1) {
|
|
209
|
+
var match = REG_STACK_LINK.exec(outterErrStacks[indexOfDecorator + 1] || '');
|
|
210
|
+
sourceLink = match ? match[0] : '';
|
|
211
|
+
}
|
|
212
|
+
return sourceLink;
|
|
213
|
+
}
|
|
214
|
+
function getRewritedError(options) {
|
|
215
|
+
var err = options.err, className = options.className, methodName = options.methodName, sourceLink = options.sourceLink;
|
|
216
|
+
if (!sourceLink) {
|
|
217
|
+
return null;
|
|
218
|
+
}
|
|
219
|
+
var innerErrStack = err.stack.split('\n');
|
|
220
|
+
var REG_STACK_INNER_METHOD = isFirefox
|
|
221
|
+
? /^catchErrorsDecorator\/<\/descriptor.value@.*\d$/
|
|
222
|
+
: new RegExp(className + "\\.descriptor.value\\s*\\[as\\s" + methodName + "\\]\\s*\\(.*\\)$");
|
|
223
|
+
var REG_STACK_INNER_METHOD_WITHOUT_LINK = isFirefox
|
|
224
|
+
? /^catchErrorsDecorator\/<\/descriptor.value/
|
|
225
|
+
: new RegExp(className + "\\.descriptor.value\\s*\\[as\\s" + methodName + "\\]");
|
|
226
|
+
var indexOfSource = innerErrStack.findIndex(function (str) { return REG_STACK_INNER_METHOD.test(str); });
|
|
227
|
+
var innerErr;
|
|
228
|
+
if (indexOfSource !== -1) {
|
|
229
|
+
var realErrStack = innerErrStack.filter(function (v, i) { return i > indexOfSource; });
|
|
230
|
+
realErrStack.unshift(innerErrStack[indexOfSource]
|
|
231
|
+
.replace(REG_STACK_INNER_METHOD_WITHOUT_LINK, className + "." + methodName)
|
|
232
|
+
.replace(REG_STACK_LINK, sourceLink));
|
|
233
|
+
innerErr = new Error();
|
|
234
|
+
innerErr.stack = (isFirefox ? '@debugger' : 'Error') + "\n" + realErrStack.join('\n');
|
|
235
|
+
}
|
|
236
|
+
return innerErr;
|
|
237
|
+
}
|
|
238
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9oZWxwZXJzL2RlY29yYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEscUNBQTRDO0FBQzVDLDBDQUE0QztBQVk1QyxJQUFJLFNBQVMsR0FBRyxLQUFLLENBQUE7QUFDckIsSUFBSSxPQUFPLFNBQVMsS0FBSyxXQUFXLElBQUksU0FBUyxDQUFDLFNBQVMsRUFBRTtJQUMzRCxTQUFTLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7Q0FDMUQ7QUFJRCxJQUFNLGtCQUFrQixHQUFHLFNBQVM7SUFDbEMsQ0FBQyxDQUFDLG9DQUFvQztJQUN0QyxDQUFDLENBQUMsNENBQTRDLENBQUE7QUFDaEQsSUFBTSxjQUFjLEdBQUcsbUNBQW1DLENBQUE7QUFLMUQsU0FBZ0Isb0JBQW9CLENBQUMsT0FBcUM7SUFDaEUsSUFBQSxLQUEwRCxPQUFPLEtBQW5ELEVBQWQsSUFBSSxtQkFBRyxPQUFPLEtBQUEsRUFBRSxLQUEwQyxPQUFPLFdBQWxDLEVBQWYsVUFBVSxtQkFBRyxFQUFFLEtBQUEsRUFBRSxLQUFLLEdBQW9CLE9BQU8sTUFBM0IsRUFBRSxLQUFrQixPQUFPLFNBQVosRUFBYixRQUFRLG1CQUFHLEVBQUUsS0FBQSxDQUFZO0lBRXpFLE9BQU8sVUFDTCxNQUFXLEVBQ1gsVUFBa0IsRUFDbEIsVUFBNkM7UUFHN0MsSUFBSSxDQUFDLHlCQUFhLEVBQUU7WUFDbEIsT0FBTTtTQUNQO1FBQ0QsSUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLFNBQVMsSUFBSSxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQTtRQUNqRSxJQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsVUFBVSxJQUFJLFVBQVUsQ0FBQTtRQUNsRCxJQUFNLEVB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NEM7UUFDOUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFJLFNBQVMsdUNBQWtDLFVBQVUsUUFBSyxDQUFDLENBQUE7SUFDN0UsSUFBTSxhQUFhLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxVQUFBLEdBQUcsSUFBSSxPQUFBLHNCQUFzQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBaEMsQ0FBZ0MsQ0FBQyxDQUFBO0lBQ3RGLElBQUksUUFBZSxDQUFBO0lBQ25CLElBQUksYUFBYSxLQUFLLENBQUMsQ0FBQyxFQUFFO1FBRXhCLElBQU0sWUFBWSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsVUFBQyxDQUFDLEVBQUUsQ0FBQyxJQUFLLE9BQUEsQ0FBQyxHQUFHLGFBQWEsRUFBakIsQ0FBaUIsQ0FBQyxDQUFBO1FBQ3RFLFlBQVksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQzthQUM5QyxPQUFPLENBQUMsbUNBQW1DLEVBQUssU0FBUyxTQUFJLFVBQVksQ0FBQzthQUMxRSxPQUFPLENBQUMsY0FBYyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUE7UUFDdkMsUUFBUSxHQUFHLElBQUksS0FBSyxFQUFFLENBQUE7UUFDdEIsUUFBUSxDQUFDLEtBQUssR0FBRyxDQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLFdBQUssWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUcsQ0FBQTtLQUNwRjtJQUNELE9BQU8sUUFBUSxDQUFBO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwcmludEdyb3VwTG9nIH0gZnJvbSAnLi4vbGlicy91dGlsJ1xuaW1wb3J0IHsgSVNfREVCVUdfTU9ERSB9IGZyb20gJy4uL2NvbnN0YW50cydcblxuaW50ZXJmYWNlIElDYXRjaEVycm9yc0RlY29yYXRvck9wdGlvbnMge1xuICBtb2RlPzogJ3N5bmMnIHwgJ2FzeW5jJztcbiAgY3VzdG9tSW5mbz86IHtcbiAgICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gICAgbWV0aG9kTmFtZT86IHN0cmluZztcbiAgfTtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIG1lc3NhZ2VzPzogc3RyaW5nW107XG59XG4vLyBmaXJlZm9455qEc3RhY2vmoLzlvI/kuI5jaHJvbWXkuI3lkIxcbmxldCBpc0ZpcmVmb3ggPSBmYWxzZVxuaWYgKHR5cGVvZiBuYXZpZ2F0b3IgIT09ICd1bmRlZmluZWQnICYmIG5hdmlnYXRvci51c2VyQWdlbnQpIHtcbiAgaXNGaXJlZm94ID0gbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCdGaXJlZm94JykgIT09IC0xXG59XG4vKipcbiAqIGRlY29yYXRl5Zyoc3RhY2vkuK3kuIDoiKzpg73nibnlrprnmoTop4TojINcbiAqL1xuY29uc3QgUkVHX1NUQUNLX0RFQ09SQVRFID0gaXNGaXJlZm94XG4gID8gLyhcXC5qc1xcLyk/X19kZWNvcmF0ZShcXCRcXGQrKT88QC4qXFxkJC9cbiAgOiAvKFxcL1xcdytcXC5qc1xcLik/X19kZWNvcmF0ZShcXCRcXGQrKT9cXHMqXFwoLipcXCkkL1xuY29uc3QgUkVHX1NUQUNLX0xJTksgPSAvaHR0cHM/OlxcL1xcLy4rOlxcZCpcXC8uKlxcLmpzOlxcZCs6XFxkKy9cbi8qKlxuICogZGVidWfmqKHlvI/lvLrljJbml6Xlv5fkv6Hmga9cbiAqIEBwYXJhbSBvcHRpb25zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjYXRjaEVycm9yc0RlY29yYXRvcihvcHRpb25zOiBJQ2F0Y2hFcnJvcnNEZWNvcmF0b3JPcHRpb25zKSB7XG4gIGNvbnN0IHsgbW9kZSA9ICdhc3luYycsIGN1c3RvbUluZm8gPSB7fSwgdGl0bGUsIG1lc3NhZ2VzID0gW10gfSA9IG9wdGlvbnNcblxuICByZXR1cm4gZnVuY3Rpb24gKFxuICAgIHRhcmdldDogYW55LFxuICAgIG1ldGhvZE5hbWU6IHN0cmluZyxcbiAgICBkZXNjcmlwdG9yOiBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxGdW5jdGlvbj5cbiAgKSB7XG4gICAgLy8g55Sf5Lqn546v5aKD56aB55SoXG4gICAgaWYgKCFJU19ERUJVR19NT0RFKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgY29uc3QgY2xhc3NOYW1lID0gY3VzdG9tSW5mby5jbGFzc05hbWUgfHwgdGFyZ2V0LmNvbnN0cnVjdG9yLm5hbWVcbiAgICBjb25zdCBmbk5hbWUgPSBjdXN0b21JbmZvLm1ldGhvZE5hbWUgfHwgbWV0aG9kTmFtZVxuICAgIGNvbnN0IGZuID0gZGVzY3JpcHRvci52YWx1ZVxuXG4gICAgLy8g6KKrZGVjb3JhdG9y6KOF6aWw55qE5rqQ56CBbGlua1xuICAgIC8vIOWcqGRlc2NyaXB0b3IudmFsdWXlpJbpg6jmraTlpITliJvlu7rnmoRzdGFja+WxguasoeWPr+inpui+vua6kOeggVxuICAgIC8vIOiAjGRlc2NyaXB0b3IudmFsdWXlhoXpg6jmnInlj6/og73nlLHkuo5zdGFja+Wkqua3seaXoOazleinpui+vlxuICAgIGNvbnN0IHNvdXJjZUxpbmsgPSBnZXRTb3VyY2VMaW5rKG5ldyBFcnJvcigpKVxuXG4gICAgaWYgKG1vZGUgPT09ICdzeW5jJykge1xuICAgICAgZGVzY3JpcHRvci52YWx1ZSA9IGZ1bmN0aW9uICguLi5hcmdzOiBhbnlbXSkge1xuICAgICAgICAvLyDmraTlpITnmoRzdGFja+S9nOeUqOS4u+imgeaYr+S4uuS6huiOt+WPluiiq2RlY29yYXRvcuijhemlsOeahOa6kOeggWNsYXNz5ZKMbWV0aG9k5ZCN56ewXG4gICAgICAgIGNvbnN0IGlubmVyRXJyOiBhbnkgPSBnZXRSZXdyaXRlZEVycm9yKHtcbiAgICAgICAgICBlcnI6IG5ldyBFcnJvcigpLFxuICAgICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgICBtZXRob2ROYW1lOiBmbk5hbWUsXG4gICAgICAgICAgc291cmNlTGluayxcbiAgICAgICAgfSlcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICByZXR1cm4gZm4uYXBwbHkodGhpcywgYXJncylcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgbGV0IGZhaWxFcnIgPSBlcnJcbiAgICAgICAgICBjb25zdCB7IG1lc3NhZ2U6IGVyck1zZywgZXJyb3IsIGVycm9yX2Rlc2NyaXB0aW9uOiBlcnJvckRlc2NyaXB0aW9uIH0gPSBlcnJcbiAgICAgICAgICBjb25zdCBsb2dzOiBhbnkgPSB7XG4gICAgICAgICAgICB0aXRsZTogdGl0bGUgfHwgYCR7Y2xhc3NOYW1lfS4ke2ZuTmFtZX0gZmFpbGVkYCxcbiAgICAgICAgICAgIGNvbnRlbnQ6IFt7XG4gICAgICAgICAgICAgIHR5cGU6ICdlcnJvcicsXG4gICAgICAgICAgICAgIGJvZHk6IGVycixcbiAgICAgICAgICAgIH1dLFxuICAgICAgICAgIH1cbiAgICAgICAgICAvLyDlj6rnibnmrorlpITnkIZTREvkuJrliqHpgLvovpHmipvlh7rnmoTplJnor68tSlNPTiBzdHJpbmdcbiAgICAgICAgICBpZiAoZXJyTXNnICYmIC9eXFx7LipcXH0kLy50ZXN0KGVyck1zZykpIHtcbiAgICAgICAgICAgIGNvbnN0IG1zZyA9IEpTT04ucGFyc2UoZXJyTXNnKVxuICAgICAgICAgICAgbG9ncy5zdWJ0aXRsZSA9IGVyck1zZ1xuICAgICAgICAgICAgaWYgKG1zZy5jb2RlKSB7XG4gICAgICAgICAgICAgIGlmIChpbm5lckVycikge1xuICAgICAgICAgICAgICAgIGlubmVyRXJyLmNvZGUgPSBtc2cuY29kZVxuICAgICAgICAgICAgICAgIGlubmVyRXJyLm1zZyA9IG1zZy5tc2dcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBlcnIuY29kZSA9IG1zZy5jb2RlXG4gICAgICAgICAgICAgICAgZXJyLm1lc3NhZ2UgPSBtc2cubXNnXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgZmFpbEVyciA9IGlubmVyRXJyIHx8IGVyclxuICAgICAgICAgICAgICBsb2dzLmNvbnRlbnQgPSBtZXNzYWdlcy5tYXAobXNnID0+ICh7XG4gICAgICAgICAgICAgICAgdHlwZTogJ2luZm8nLFxuICAgICAgICAgICAgICAgIGJvZHk6IG1zZyxcbiAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gb2F1dGgg6ZSZ6K+v54m55q6K5aSE55CGXG4gICAgICAgICAgaWYgKGVycm9yICYmIGVycm9yRGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIGxvZ3Muc3VidGl0bGUgPSBlcnJvckRlc2NyaXB0aW9uXG4gICAgICAgICAgICBpZiAoaW5uZXJFcnIpIHtcbiAgICAgICAgICAgICAgaW5uZXJFcnIuY29kZSA9IGVycm9yXG4gICAgICAgICAgICAgIGlubmVyRXJyLm1zZyA9IGVycm9yRGVzY3JpcHRpb25cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGVyci5jb2RlID0gZXJyb3JcbiAgICAgICAgICAgICAgZXJyLm1lc3NhZ2UgPSBlcnJvckRlc2NyaXB0aW9uXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmYWlsRXJyID0gaW5uZXJFcnIgfHwgZXJyXG4gICAgICAgICAgICBsb2dzLmNvbnRlbnQgPSBtZXNzYWdlcy5tYXAobXNnID0+ICh7XG4gICAgICAgICAgICAgIHR5cGU6ICdpbmZvJyxcbiAgICAgICAgICAgICAgYm9keTogbXNnLFxuICAgICAgICAgICAgfSkpXG4gICAgICAgICAgfVxuICAgICAgICAgIHByaW50R3JvdXBMb2cobG9ncylcbiAgICAgICAgICB0aHJvdyBmYWlsRXJyXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgZGVzY3JpcHRvci52YWx1ZSA9IGFzeW5jIGZ1bmN0aW9uICguLi5hcmdzOiBhbnlbXSkge1xuICAgICAgICBjb25zdCBpbm5lckVycjogYW55ID0gZ2V0UmV3cml0ZWRFcnJvcih7XG4gICAgICAgICAgZXJyOiBuZXcgRXJyb3IoKSxcbiAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgbWV0aG9kTmFtZTogZm5OYW1lLFxuICAgICAgICAgIHNvdXJjZUxpbmssXG4gICAgICAgIH0pXG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICByZXR1cm4gYXdhaXQgZm4uYXBwbHkodGhpcywgYXJncylcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgbGV0IGZhaWxFcnIgPSBlcnJcbiAgICAgICAgICBjb25zdCB7IG1lc3NhZ2U6IGVyck1zZywgZXJyb3IsIGVycm9yX2Rlc2NyaXB0aW9uOiBlcnJvckRlc2NyaXB0aW9uIH0gPSBlcnJcbiAgICAgICAgICBjb25zdCBsb2dzOiBhbnkgPSB7XG4gICAgICAgICAgICB0aXRsZTogdGl0bGUgfHwgYCR7Y2xhc3NOYW1lfS4ke2ZuTmFtZX0gZmFpbGVkYCxcbiAgICAgICAgICAgIGNvbnRlbnQ6IFt7XG4gICAgICAgICAgICAgIHR5cGU6ICdlcnJvcicsXG4gICAgICAgICAgICAgIGJvZHk6IGVycixcbiAgICAgICAgICAgIH1dLFxuICAgICAgICAgIH1cbiAgICAgICAgICAvLyDlj6rnibnmrorlpITnkIZTREvkuJrliqHpgLvovpHmipvlh7rnmoTplJnor68tSlNPTiBzdHJpbmdcbiAgICAgICAgICBpZiAoZXJyTXNnICYmIC9eXFx7LipcXH0kLy50ZXN0KGVyck1zZykpIHtcbiAgICAgICAgICAgIGNvbnN0IG1zZyA9IEpTT04ucGFyc2UoZXJyTXNnKVxuICAgICAgICAgICAgbG9ncy5zdWJ0aXRsZSA9IG1zZ1xuICAgICAgICAgICAgaWYgKG1zZy5jb2RlKSB7XG4gICAgICAgICAgICAgIGlmIChpbm5lckVycikge1xuICAgICAgICAgICAgICAgIGlubmVyRXJyLmNvZGUgPSBtc2cuY29kZVxuICAgICAgICAgICAgICAgIGlubmVyRXJyLm1lc3NhZ2UgPSBtc2cubXNnXG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZXJyLmNvZGUgPSBtc2cuY29kZVxuICAgICAgICAgICAgICAgIGVyci5tZXNzYWdlID0gbXNnLm1zZ1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGZhaWxFcnIgPSBpbm5lckVyciB8fCBlcnJcbiAgICAgICAgICAgICAgbG9ncy5jb250ZW50ID0gbWVzc2FnZXMubWFwKG1zZyA9PiAoe1xuICAgICAgICAgICAgICAgIHR5cGU6ICdpbmZvJyxcbiAgICAgICAgICAgICAgICBib2R5OiBtc2csXG4gICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIG9hdXRoIOmUmeivr+eJueauiuWkhOeQhlxuICAgICAgICAgIGlmIChlcnJvciAmJiBlcnJvckRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICBsb2dzLnN1YnRpdGxlID0gZXJyb3JEZXNjcmlwdGlvblxuICAgICAgICAgICAgaWYgKGlubmVyRXJyKSB7XG4gICAgICAgICAgICAgIGlubmVyRXJyLmNvZGUgPSBlcnJvclxuICAgICAgICAgICAgICBpbm5lckVyci5tc2cgPSBlcnJvckRlc2NyaXB0aW9uXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBlcnIuY29kZSA9IGVycm9yXG4gICAgICAgICAgICAgIGVyci5tZXNzYWdlID0gZXJyb3JEZXNjcmlwdGlvblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZmFpbEVyciA9IGlubmVyRXJyIHx8IGVyclxuICAgICAgICAgICAgbG9ncy5jb250ZW50ID0gbWVzc2FnZXMubWFwKG1zZyA9PiAoe1xuICAgICAgICAgICAgICB0eXBlOiAnaW5mbycsXG4gICAgICAgICAgICAgIGJvZHk6IG1zZyxcbiAgICAgICAgICAgIH0pKVxuICAgICAgICAgIH1cbiAgICAgICAgICBwcmludEdyb3VwTG9nKGxvZ3MpXG4gICAgICAgICAgdGhyb3cgZmFpbEVyclxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICog5Zyo5Y6f5aeL5aCG5qCI5Lit5p+l5om+6KOF6aWw5Zmo5p2h55uu5bm26L+U5Zue5rqQ56CB6ZO+5o6lbGlua1xuICogQHBhcmFtIGVyclxuICovXG5mdW5jdGlvbiBnZXRTb3VyY2VMaW5rKGVycjogRXJyb3IpIHtcbiAgbGV0IHNvdXJjZUxpbmsgPSAnJ1xuICBjb25zdCBvdXR0ZXJFcnJTdGFja3MgPSBlcnIuc3RhY2suc3BsaXQoJ1xcbicpXG4gIGNvbnN0IGluZGV4T2ZEZWNvcmF0b3IgPSBvdXR0ZXJFcnJTdGFja3MuZmluZEluZGV4KHN0ciA9PiBSRUdfU1RBQ0tfREVDT1JBVEUudGVzdChzdHIpKVxuXG4gIGlmIChpbmRleE9mRGVjb3JhdG9yICE9PSAtMSkge1xuICAgIGNvbnN0IG1hdGNoID0gUkVHX1NUQUNLX0xJTksuZXhlYyhvdXR0ZXJFcnJTdGFja3NbaW5kZXhPZkRlY29yYXRvciArIDFdIHx8ICcnKVxuXG4gICAgc291cmNlTGluayA9IG1hdGNoID8gbWF0Y2hbMF0gOiAnJ1xuICB9XG4gIHJldHVybiBzb3VyY2VMaW5rXG59XG5cbi8qKlxuICog5Zyo5Y6f5aeL5aCG5qCI5Lit5p+l5om+6KOF6aWw5Zmo5p2h55uu77yM5YmU6Zmk5YW25ZCO55qE5peg55So5aCG5qCI77yM5bm25bCG6ZO+5o6l5pu/5o2i5Li65rqQ56CBbGlua1xuICogQHBhcmFtIG9wdGlvbnNcbiAqL1xuZnVuY3Rpb24gZ2V0UmV3cml0ZWRFcnJvcihvcHRpb25zOiB7XG4gIGVycjogRXJyb3I7XG4gIGNsYXNzTmFtZTogc3RyaW5nO1xuICBtZXRob2ROYW1lOiBzdHJpbmc7XG4gIHNvdXJjZUxpbms6IHN0cmluZztcbn0pIHtcbiAgY29uc3QgeyBlcnIsIGNsYXNzTmFtZSwgbWV0aG9kTmFtZSwgc291cmNlTGluayB9ID0gb3B0aW9uc1xuICAvLyDmib7kuI3liLDmupDnoIFsaW5r6L+U5ZuebnVsbO+8jOWQjue7remAu+i+keWwhuaJk+WNsOWOn+WghuagiOS/oeaBr1xuICBpZiAoIXNvdXJjZUxpbmspIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgY29uc3QgaW5uZXJFcnJTdGFjayA9IGVyci5zdGFjay5zcGxpdCgnXFxuJylcbiAgY29uc3QgUkVHX1NUQUNLX0lOTkVSX01FVEhPRCA9IGlzRmlyZWZveFxuICAgID8gL15jYXRjaEVycm9yc0RlY29yYXRvclxcLzxcXC9kZXNjcmlwdG9yLnZhbHVlQC4qXFxkJC9cbiAgICA6IG5ldyBSZWdFeHAoYCR7Y2xhc3NOYW1lfVxcXFwuZGVzY3JpcHRvci52YWx1ZVxcXFxzKlxcXFxbYXNcXFxccyR7bWV0aG9kTmFtZX1cXFxcXVxcXFxzKlxcXFwoLipcXFxcKSRgKVxuICBjb25zdCBSRUdfU1RBQ0tfSU5ORVJfTUVUSE9EX1dJVEhPVVRfTElOSyA9IGlzRmlyZWZveFxuICAgID8gL15jYXRjaEVycm9yc0RlY29yYXRvclxcLzxcXC9kZXNjcmlwdG9yLnZhbHVlL1xuICAgIDogbmV3IFJlZ0V4cChgJHtjbGFzc05hbWV9XFxcXC5kZXNjcmlwdG9yLnZhbHVlXFxcXHMqXFxcXFthc1xcXFxzJHttZXRob2ROYW1lfVxcXFxdYClcbiAgY29uc3QgaW5kZXhPZlNvdXJjZSA9IGlubmVyRXJyU3RhY2suZmluZEluZGV4KHN0ciA9PiBSRUdfU1RBQ0tfSU5ORVJfTUVUSE9ELnRlc3Qoc3RyKSlcbiAgbGV0IGlubmVyRXJyOiBFcnJvclxuICBpZiAoaW5kZXhPZlNvdXJjZSAhPT0gLTEpIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgY29uc3QgcmVhbEVyclN0YWNrID0gaW5uZXJFcnJTdGFjay5maWx0ZXIoKHYsIGkpID0+IGkgPiBpbmRleE9mU291cmNlKVxuICAgIHJlYWxFcnJTdGFjay51bnNoaWZ0KGlubmVyRXJyU3RhY2tbaW5kZXhPZlNvdXJjZV1cbiAgICAgIC5yZXBsYWNlKFJFR19TVEFDS19JTk5FUl9NRVRIT0RfV0lUSE9VVF9MSU5LLCBgJHtjbGFzc05hbWV9LiR7bWV0aG9kTmFtZX1gKVxuICAgICAgLnJlcGxhY2UoUkVHX1NUQUNLX0xJTkssIHNvdXJjZUxpbmspKVxuICAgIGlubmVyRXJyID0gbmV3IEVycm9yKClcbiAgICBpbm5lckVyci5zdGFjayA9IGAke2lzRmlyZWZveCA/ICdAZGVidWdnZXInIDogJ0Vycm9yJ31cXG4ke3JlYWxFcnJTdGFjay5qb2luKCdcXG4nKX1gXG4gIH1cbiAgcmV0dXJuIGlubmVyRXJyXG59XG4iXX0=
|
|
@@ -11,4 +11,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
11
11
|
};
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
__exportStar(require("./decorators"), exports);
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaGVscGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RlY29yYXRvcnMnXG4iXX0=
|
|
@@ -40,4 +40,4 @@ var jwt = {
|
|
|
40
40
|
decode: jwt_decode_1.default,
|
|
41
41
|
};
|
|
42
42
|
exports.jwt = jwt;
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHFEQUF3QztBQWN0Qyw4QkFBUztBQWJYLG1EQUFzQztBQWNwQyw0QkFBUTtBQWJWLGtEQUFxQztBQWNuQyxzQkFBSztBQWJQLG9EQUF1QztBQWNyQyx3QkFBTTtBQWJSLGlEQUFvQztBQWNsQyxzQkFBSztBQWJQLGlEQUFvQztBQWNsQywwQkFBTztBQVpULDBEQUFrQztBQUVsQyxJQUFNLEdBQUcsR0FBRztJQUNWLE1BQU0sRUFBRSxvQkFBUztDQUNsQixDQUFBO0FBU0Msa0JBQUciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjb25zdGFudHMgZnJvbSAnLi9jb25zdGFudHMnXG5pbXBvcnQgKiBhcyBhZGFwdGVycyBmcm9tICcuL2FkYXB0ZXJzJ1xuaW1wb3J0ICogYXMgY2FjaGUgZnJvbSAnLi9saWJzL2NhY2hlJ1xuaW1wb3J0ICogYXMgZXZlbnRzIGZyb20gJy4vbGlicy9ldmVudHMnXG5pbXBvcnQgKiBhcyB1dGlscyBmcm9tICcuL2xpYnMvdXRpbCdcbmltcG9ydCAqIGFzIGhlbHBlcnMgZnJvbSAnLi9oZWxwZXJzJ1xuXG5pbXBvcnQgand0RGVjb2RlIGZyb20gJ2p3dC1kZWNvZGUnXG5cbmNvbnN0IGp3dCA9IHtcbiAgZGVjb2RlOiBqd3REZWNvZGUsXG59XG5cbmV4cG9ydCB7XG4gIGNvbnN0YW50cyxcbiAgYWRhcHRlcnMsXG4gIGNhY2hlLFxuICBldmVudHMsXG4gIHV0aWxzLFxuICBoZWxwZXJzLFxuICBqd3QsXG59XG4iXX0=
|