@sapphire-ion/framework 1.2.31 → 1.2.33
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.
|
@@ -131,16 +131,28 @@ export class Utils {
|
|
|
131
131
|
return new Blob([Buffer.from(base64, "base64")], { type: mimeType });
|
|
132
132
|
}
|
|
133
133
|
static async GetPhoto(params) {
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
134
|
+
if (Capacitor.isNativePlatform()) {
|
|
135
|
+
const quality = params?.quality || 70;
|
|
136
|
+
const source = params?.source || CameraSource.Camera;
|
|
137
|
+
const ph = await Camera.getPhoto({
|
|
138
|
+
resultType: CameraResultType.Uri,
|
|
139
|
+
source: source,
|
|
140
|
+
quality: quality
|
|
141
|
+
});
|
|
142
|
+
const file = await fetch(ph.webPath);
|
|
143
|
+
const blob = await file.blob();
|
|
144
|
+
return { blob, fileName: ph.path.split('/').at(-1) };
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
const f = await Utils.PickFile({
|
|
148
|
+
types: ['image/*'],
|
|
149
|
+
limit: 1,
|
|
150
|
+
});
|
|
151
|
+
return {
|
|
152
|
+
blob: f[0].blob,
|
|
153
|
+
fileName: f[0].name
|
|
154
|
+
};
|
|
155
|
+
}
|
|
144
156
|
}
|
|
145
157
|
static async PickFile(options) {
|
|
146
158
|
const Pick = await FilePicker.pickFiles(options);
|
|
@@ -187,4 +199,4 @@ function EncodeBase64(obj) {
|
|
|
187
199
|
}
|
|
188
200
|
}
|
|
189
201
|
export const INT_MAX = 2_147_483_646;
|
|
190
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvdXRpbHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFVBQVUsRUFBaUQsTUFBTSxtQ0FBbUMsQ0FBQztBQUM5RyxPQUFPLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTNFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDaEMsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBRXhCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBSzVDLE1BQU0sT0FBTyxZQUFZO0lBRXZCLFlBQW9CLHFCQUE0QztRQUE1QywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO0lBQ2hFLENBQUM7SUFFRCx3RUFBd0U7SUFDeEUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxhQUFxQztRQUNwRCxJQUFLLFVBS0o7UUFMRCxXQUFLLFVBQVU7WUFDYiwrQ0FBVSxDQUFBO1lBQ1YsK0NBQVUsQ0FBQTtZQUNWLDJDQUFVLENBQUE7WUFDViwyQ0FBVSxDQUFBO1FBQ1osQ0FBQyxFQUxJLFVBQVUsS0FBVixVQUFVLFFBS2Q7UUFFRCxNQUFNLFNBQVMsR0FBc0IsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFjLElBQUksRUFBRSxRQUFRLEVBQVEsSUFBSSxFQUFFLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQTtRQUNsSCxNQUFNLFNBQVMsR0FBc0IsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFhLElBQUksRUFBRSxPQUFP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YixTQUFTLFlBQVksQ0FBSSxHQUFXO0lBQ2xDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUNsRSxDQUFDO0FBRUQsU0FBUyxvQkFBb0IsQ0FBQyxHQUFXO0lBQ3ZDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3RELENBQUM7QUFFRCxTQUFTLFlBQVksQ0FBQyxHQUFpQjtJQUNyQyxJQUFHLE9BQU8sR0FBRyxJQUFJLFFBQVEsRUFBQyxDQUFDO1FBQ3pCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdELENBQUM7U0FFRCxJQUFHLE9BQU8sR0FBRyxJQUFJLFFBQVEsRUFBQyxDQUFDO1FBQ3pCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0MsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uU2hlZXRCdXR0b24sIEFjdGlvblNoZWV0Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcclxuaW1wb3J0IHsgRmlsZVBpY2tlciwgUGlja0ZpbGVzUmVzdWx0LCBQaWNrZWRGaWxlLCBQaWNrRmlsZXNPcHRpb25zIH0gZnJvbSAnQGNhcGF3ZXNvbWUvY2FwYWNpdG9yLWZpbGUtcGlja2VyJztcclxuaW1wb3J0IHsgQ2FtZXJhLCBDYW1lcmFSZXN1bHRUeXBlLCBDYW1lcmFTb3VyY2UgfSBmcm9tICdAY2FwYWNpdG9yL2NhbWVyYSc7XHJcbmltcG9ydCB7IE92ZXJsYXlFdmVudERldGFpbCB9IGZyb20gJ0Bpb25pYy9jb3JlJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XHJcbmltcG9ydCB7IEJ1ZmZlciB9IGZyb20gJ2J1ZmZlcic7XHJcbmltcG9ydCBtaW1lIGZyb20gJ21pbWUnO1xyXG5pbXBvcnQgeyBJbnB1dEZpbGVDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vY29tcG9uZW50cy9pbnB1dHMvaW5wdXQtZmlsZS9pbnB1dC1maWxlLmNvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBDYXBhY2l0b3IgfSBmcm9tICdAY2FwYWNpdG9yL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVXRpbHNTZXJ2aWNle1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFjdGlvblNoZWV0Q29udHJvbGxlcjogQWN0aW9uU2hlZXRDb250cm9sbGVyKSB7XHJcbiAgfVxyXG5cclxuICAvKiogUmV0b3JuYSB1bSBhcnJheSBkZSBhcnF1aXZvcyBkZSBhY29yZG8gY29tIG8gdGlwbyBkZSBjb25maWd1dGHDp8OjbyAqL1xyXG4gIGFzeW5jIFNlbGVjdEZpbGUoY29uZmlndXJhdGlvbjogSW5wdXRGaWxlQ29uZmlndXJhdGlvbik6IFByb21pc2U8RmlsZT57XHJcbiAgICBlbnVtIFNlbGVjdFR5cGUge1xyXG4gICAgICBjYW1lcmEgPSAxLFxyXG4gICAgICBnYWxlcnkgPSAyLFxyXG4gICAgICBmaWxlICAgPSAzLFxyXG4gICAgICBkZW55ICAgPSA0LFxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGJ0bkNhbWVyYTogQWN0aW9uU2hlZXRCdXR0b24gPSB7IHRleHQ6ICdDw6JtZXJhJyAgICAgICAgICAgICwgaWNvbjogJ2NhbWVyYScgICAgICAsIGRhdGE6IFNlbGVjdFR5cGUuY2FtZXJhIH1cclxuICAgIGNvbnN0IGJ0bkdhbGVyeTogQWN0aW9uU2hlZXRCdXR0b24gPSB7IHRleHQ6ICdHYWxlcmlhJyAgICAgICAgICAgLCBpY29uOiAnaW1hZ2UnICAgICAgICwgZGF0YTogU2VsZWN0VHlwZS5nYWxlcnkgfVxyXG4gICAgY29uc3QgYnRuRmlsZSAgOiBBY3Rpb25TaGVldEJ1dHRvbiA9IHsgdGV4dDogJ1NlbGVjaW9uYXIgQXJxdWl2bycsIGljb246ICdkb2N1bWVudCcgICAgLCBkYXRhOiBTZWxlY3RUeXBlLmZpbGUgICB9XHJcbiAgICBjb25zdCBidG5EZW55ICA6IEFjdGlvblNoZWV0QnV0dG9uID0geyB0ZXh0OiAnQ2FuY2VsYXInICAgICAgICAgICwgaWNvbjogJ2Nsb3NlLWNpcmNsZScsIGRhdGE6IFNlbGVjdFR5cGUuZGVueSwgcm9sZTogJ2NhbmNlbCcsIH07XHJcblxyXG4gICAgY29uc3QgaXNBcHAgPSAoIWRvY3VtZW50LlVSTC5zdGFydHNXaXRoKCdodHRwJykgfHwgZG9jdW1lbnQuVVJMLnN0YXJ0c1dpdGgoJ2h0dHA6Ly9sb2NhbGhvc3Q6ODA4MCcpKTtcclxuXHJcbiAgICB2YXIgbHN0QnRuOiBhbnlbXSA9IFtdO1xyXG4gICAgaWYoaXNBcHApeyBcclxuICAgICAgbHN0QnRuLnB1c2goYnRuQ2FtZXJhKTsgXHJcbiAgICAgIGxzdEJ0bi5wdXNoKGJ0bkdhbGVyeSk7XHJcbiAgICB9XHJcbiAgICBsc3RCdG4ucHVzaChidG5GaWxlKTtcclxuICAgIGxzdEJ0bi5wdXNoKGJ0bkRlbnkpO1xyXG5cclxuICAgIHZhciByZXM6IE92ZXJsYXlFdmVudERldGFpbDxhbnk+O1xyXG4gICAgaWYobHN0QnRuLmxlbmd0aCA+IDIpe1xyXG4gICAgICBjb25zdCBhY3Rpb25TaGVldCA9IGF3YWl0IHRoaXMuYWN0aW9uU2hlZXRDb250cm9sbGVyLmNyZWF0ZSh7IGJ1dHRvbnM6IGxzdEJ0biB9KTtcclxuICAgICAgYWN0aW9uU2hlZXQucHJlc2VudCgpO1xyXG4gICAgICByZXMgPSBhd2FpdCBhY3Rpb25TaGVldC5vbkRpZERpc21pc3MoKTtcclxuICAgIH1lbHNle1xyXG4gICAgICByZXMgPSB7IHJvbGU6ICdjb25maXJtJywgZGF0YTogbHN0QnRuWzBdLmRhdGEgfTtcclxuICAgIH1cclxuXHJcbiAgICBcclxuICAgIGlmKFsnYmFja2Ryb3AnLCAnY2FuY2VsJ10uaW5jbHVkZXMocmVzLnJvbGUpKXsgcmV0dXJuOyB9XHJcblxyXG4gICAgaWYoW1NlbGVjdFR5cGUuY2FtZXJhLCBTZWxlY3RUeXBlLmdhbGVyeV0uaW5jbHVkZXMocmVzLmRhdGEpKXsgXHJcbiAgICAgIGNvbnN0IFNvdXJjZSA9IHJlcy5kYXRhID09IFNlbGVjdFR5cGUuY2FtZXJhID8gQ2FtZXJhU291cmNlLkNhbWVyYSA6IENhbWVyYVNvdXJjZS5QaG90b3NcclxuICAgICAgLy9jb25zdCBwaG90byA9IGF3YWl0IENhbWVyYS5nZXRQaG90byh7IHJlc3VsdFR5cGU6IENhbWVyYVJlc3VsdFR5cGUuVXJpLCBzb3VyY2U6IFNvdXJjZSwgcXVhbGl0eTogMTAwIH0pO1xyXG4gICAgICBjb25zb2xlLmVycm9yKFwiWyBUT0RPIF1cIilcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgY29uc3QgcmVzOiBQcm9taXNlPFBpY2tGaWxlc1Jlc3VsdD4gPSBGaWxlUGlja2VyLnBpY2tGaWxlcyh7IHR5cGVzOiBjb25maWd1cmF0aW9uLnR5cGVzLCBsaW1pdDogMSB9KTtcclxuICAgICAgY29uc3QgZmlsZXM6IFBpY2tlZEZpbGVbXSA9IChhd2FpdCByZXMpLmZpbGVzO1xyXG4gICAgICByZXR1cm4gZmlsZXMubWFwKHAgPT4gPEZpbGU+cC5ibG9iKVswXTtcclxuICAgIH1cclxuICB9IFxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgVXRpbHMge1xyXG4gIC8qKiBDb252ZXJ0ZSBkZSB1bml4IHBhcmEgRGF0ZSBvYmplY3QgKi9cclxuICBzdGF0aWMgVU5JWFRvRGF0ZSh1bml4X3RpbWVzdGFtcDogbnVtYmVyKTogRGF0ZSB7XHJcbiAgICB2YXIgZGF0ZSA9IG5ldyBEYXRlKHVuaXhfdGltZXN0YW1wICogMTAwMCk7XHJcbiAgICByZXR1cm4gZGF0ZTtcclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogQHBhcmFtIERhdGVTdHIgLSBEYXRlIG9uIElTTyBmb3JtYXQsIGUuZzogXHJcbiAgICogWyAyMDEwLTEwLTA1VDE0OjQ4OjAwLjAwMFogXVxyXG4gICAqIEByZXR1cm5zIERhdGUgb24gZm9ybWF0IEREL01NL1lZWVlcclxuICAqL1xyXG4gIHN0YXRpYyBEYXRlSVNPVG9ERE1NWVlZWUhITU0oaXNvOiBzdHJpbmcsIG9uSW52YWxpZERhdGVTdHJpbmc6IHN0cmluZyA9ICctJyk6IHN0cmluZ3tcclxuICAgIGlmKCFpc28peyByZXR1cm4gb25JbnZhbGlkRGF0ZVN0cmluZzsgfVxyXG4gICAgcmV0dXJuIG1vbWVudChpc28pLmZvcm1hdChcIkREL01NL1lZWVkgSEg6bW1cIik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgICAqIEBwYXJhbSBpc28gLSBEYXRlIG9uIElTTyBmb3JtYXQsIGUuZzogXHJcbiAgICAgKiBbIDIwMTAtMTAtMDVUMTQ6NDg6MDAuMDAwWiBdXHJcbiAgICAgKiBAcmV0dXJucyBEYXRlIG9uIGZvcm1hdCBERC9NTS9ZWVlZXHJcbiAgICAqL1xyXG4gIHN0YXRpYyBEYXRlSVNPVG9ERE1NWVlZWShpc286IHN0cmluZywgb25JbnZhbGlkRGF0ZVN0cmluZzogc3RyaW5nID0gJy0nKTogc3RyaW5ne1xyXG4gICAgaWYoIWlzbyl7IHJldHVybiBvbkludmFsaWREYXRlU3RyaW5nOyB9XHJcbiAgICByZXR1cm4gbW9tZW50KGlzbykuZm9ybWF0KFwiREQvTU0vWVlZWVwiKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBHZW5lcmF0ZUdVSUQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiAnaWQteHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4Jy5yZXBsYWNlKC9beHldL2csIGZ1bmN0aW9uKGMpIHtcclxuICAgICAgdmFyIHIgPSBNYXRoLnJhbmRvbSgpICogMTYgfCAwLFxyXG4gICAgICB2ID0gYyA9PT0gJ3gnID8gciA6IChyICYgMHgzIHwgMHg4KTtcclxuICAgICAgcmV0dXJuIHYudG9TdHJpbmcoMTYpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKiogXHJcbiAgICogQHBhcmFtIGZpbGU6IGJhc2U2NCB8IEJsb2JcclxuICAgKi9cclxuICBzdGF0aWMgYXN5bmMgRG93bmxvYWRGaWxlKGZpbGU6IHN0cmluZyB8IEJsb2IsIGZpbGVOYW1lOiBzdHJpbmcpe1xyXG4gICAgdmFyIGJsb2I6IEJsb2IgPSBudWxsO1xyXG4gICAgaWYoIShmaWxlIGluc3RhbmNlb2YgQmxvYikpe1xyXG4gICAgICBibG9iID0gYXdhaXQgVXRpbHMuQmFzZTY0VG9CbG9iKGZpbGUsIFV0aWxzLkZpbmRNaW1lRnJvbU5hbWVPckV4dGVuc2lvbihmaWxlTmFtZSkpO1xyXG4gICAgfVxyXG4gICAgZWxzZXsgXHJcbiAgICAgIGJsb2IgPSBmaWxlOyBcclxuICAgIH1cclxuXHJcbiAgICB2YXIgZmlsZVVSTCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XHJcbiAgICBjb25zdCBsaW5rRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJhXCIpO1xyXG4gICAgbGlua0VsZW1lbnQuc2V0QXR0cmlidXRlKFwiaHJlZlwiLCBmaWxlVVJMKTtcclxuICAgIGxpbmtFbGVtZW50LnNldEF0dHJpYnV0ZShcInRhcmdldFwiLCBcIl9ibGFua1wiKTtcclxuICAgIGxpbmtFbGVtZW50LnNldEF0dHJpYnV0ZShcImRvd25sb2FkXCIsIGZpbGVOYW1lKTtcclxuXHJcbiAgICBsZXQgbWUgPSBuZXcgTW91c2VFdmVudChcImNsaWNrXCIsIHtcclxuICAgICAgdmlldzogd2luZG93LFxyXG4gICAgICBidWJibGVzOiB0cnVlLFxyXG4gICAgICBjYW5jZWxhYmxlOiBmYWxzZSxcclxuICAgIH0pO1xyXG5cclxuICAgIGxpbmtFbGVtZW50LmRpc3BhdGNoRXZlbnQobWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBhc3luYyBCbG9iVG9CYXNlNjQoYmxvYjogQmxvYik6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICBjb25zdCBhYiA9IGF3YWl0IGJsb2IuYXJyYXlCdWZmZXIoKTtcclxuICAgIHJldHVybiBCdWZmZXIuZnJvbShhYikudG9TdHJpbmcoXCJiYXNlNjRcIik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGFzeW5jIEJhc2U2NFRvQmxvYihiYXNlNjQ6IHN0cmluZywgbWltZVR5cGU6IHN0cmluZyk6IFByb21pc2U8QmxvYj4ge1xyXG4gICAgcmV0dXJuIG5ldyBCbG9iKFtCdWZmZXIuZnJvbShiYXNlNjQsIFwiYmFzZTY0XCIpXSwgeyB0eXBlOiBtaW1lVHlwZSB9KVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBhc3luYyBHZXRQaG90byhwYXJhbXM/OiB7XHJcbiAgICBxdWFsaXR5PzogbnVtYmVyLFxyXG4gICAgc291cmNlPzogQ2FtZXJhU291cmNlXHJcbiAgfSk6IFByb21pc2U8e1xyXG4gICAgYmxvYjogQmxvYlxyXG4gICAgZmlsZU5hbWU6IHN0cmluZ1xyXG4gIH0+e1xyXG4gICAgY29uc3QgcXVhbGl0eSA9IHBhcmFtcz8ucXVhbGl0eSB8fCA3MDtcclxuICAgIGNvbnN0IHNvdXJjZSAgPSBwYXJhbXM/LnNvdXJjZSB8fCBDYW1lcmFTb3VyY2UuQ2FtZXJhO1xyXG4gICAgY29uc3QgcGggICA9IGF3YWl0IENhbWVyYS5nZXRQaG90byh7IFxyXG4gICAgICByZXN1bHRUeXBlOiBDYW1lcmFSZXN1bHRUeXBlLlVyaSwgXHJcbiAgICAgIHNvdXJjZSA6IHNvdXJjZSxcclxuICAgICAgcXVhbGl0eTogcXVhbGl0eVxyXG4gICAgfSk7XHJcbiAgICBjb25zdCBmaWxlID0gYXdhaXQgZmV0Y2gocGgud2ViUGF0aCk7XHJcbiAgICBjb25zdCBibG9iID0gYXdhaXQgZmlsZS5ibG9iKCk7XHJcbiAgICByZXR1cm4geyBibG9iLCBmaWxlTmFtZTogcGgucGF0aC5zcGxpdCgnLycpLmF0KC0xKSB9O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBhc3luYyBQaWNrRmlsZShvcHRpb25zPzogUGlja0ZpbGVzT3B0aW9ucyk6IFByb21pc2U8e1xyXG4gICAgYmxvYjogQmxvYixcclxuICAgIG1pbWVUeXBlOiBzdHJpbmcsXHJcbiAgICBuYW1lOiBzdHJpbmcsXHJcbiAgICBzaXplOiBudW1iZXIsXHJcbiAgfVtdPiB7XHJcbiAgICBjb25zdCBQaWNrID0gYXdhaXQgRmlsZVBpY2tlci5waWNrRmlsZXMob3B0aW9ucyk7XHJcbiAgICBsZXQgbHN0QmxvYiA9IFBpY2suZmlsZXMubWFwKGFzeW5jIHZGaWxlID0+IHtcclxuICAgICAgbGV0IGJsb2IgPSBudWxsO1xyXG4gICAgICBpZihDYXBhY2l0b3IuaXNOYXRpdmVQbGF0Zm9ybSgpKXtcclxuICAgICAgICBibG9iID0gbmV3IEJsb2IoW2F3YWl0IChhd2FpdCBmZXRjaChDYXBhY2l0b3IuY29udmVydEZpbGVTcmModkZpbGUucGF0aCkpKS5ibG9iKCldLCB7IHR5cGU6IHZGaWxlLm1pbWVUeXBlIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2V7XHJcbiAgICAgICAgYmxvYiA9IHZGaWxlLmJsb2I7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBibG9iLFxyXG4gICAgICAgIG1pbWVUeXBlOiB2RmlsZS5taW1lVHlwZSxcclxuICAgICAgICBuYW1lOiB2RmlsZS5uYW1lLFxyXG4gICAgICAgIHNpemU6IHZGaWxlLnNpemUsXHJcbiAgICAgIH07XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBQcm9taXNlLmFsbChsc3RCbG9iKTsgICAgXHJcbiAgfVxyXG5cclxuICBzdGF0aWMgRmluZE1pbWVGcm9tTmFtZU9yRXh0ZW5zaW9uKHBhdGhPckV4dGVuc2lvbjogc3RyaW5nKXtcclxuICAgIHJldHVybiBtaW1lLmdldFR5cGUocGF0aE9yRXh0ZW5zaW9uKSB8fCAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJztcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBTZWFyY2g8VCA9IGFueT4oaXRlbXM6IFRbXSwgU2VhcmNoOiBzdHJpbmcsIGJpbmRMYWJlbDogKChvYmo6IFQpID0+IHN0cmluZykpOiBUW10ge1xyXG4gIHJldHVybiBpdGVtcy5maWx0ZXIocCA9PiBiaW5kTGFiZWwocCk/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoU2VhcmNoLnRvTG93ZXJDYXNlKCkpKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIFRpbWVvdXQodGltZW91dDogbnVtYmVyKTogUHJvbWlzZTx2b2lkPntcclxuICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIHRpbWVvdXQpKTtcclxufVxyXG5cclxuLy9bIEJhc2UgNjQgXVxyXG5mdW5jdGlvbiBEZWNvZGVCYXNlNjQ8VD4oYjY0OiBzdHJpbmcpOiBUe1xyXG4gIHJldHVybiBKU09OLnBhcnNlKEJ1ZmZlci5mcm9tKGI2NCwgJ2Jhc2U2NCcpLnRvU3RyaW5nKCd1dGYtOCcpKTtcclxufVxyXG5cclxuZnVuY3Rpb24gRGVjb2RlQmFzZTY0QXNTdHJpbmcoYjY0OiBzdHJpbmcpIHtcclxuICByZXR1cm4gQnVmZmVyLmZyb20oYjY0LCAnYmFzZTY0JykudG9TdHJpbmcoJ3V0Zi04Jyk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIEVuY29kZUJhc2U2NChvYmo6IGFueSB8IHN0cmluZyk6IHN0cmluZ3tcclxuICBpZih0eXBlb2Ygb2JqID09IFwib2JqZWN0XCIpe1xyXG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKEpTT04uc3RyaW5naWZ5KG9iaikpLnRvU3RyaW5nKCdiYXNlNjQnKTtcclxuICB9XHJcbiAgZWxzZVxyXG4gIGlmKHR5cGVvZiBvYmogPT0gXCJzdHJpbmdcIil7XHJcbiAgICByZXR1cm4gQnVmZmVyLmZyb20ob2JqKS50b1N0cmluZygnYmFzZTY0Jyk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgSU5UX01BWCA9IDJfMTQ3XzQ4M182NDY7Il19
|
|
202
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvdXRpbHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFVBQVUsRUFBaUQsTUFBTSxtQ0FBbUMsQ0FBQztBQUM5RyxPQUFPLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTNFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDaEMsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBRXhCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBSzVDLE1BQU0sT0FBTyxZQUFZO0lBRXZCLFlBQW9CLHFCQUE0QztRQUE1QywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO0lBQ2hFLENBQUM7SUFFRCx3RUFBd0U7SUFDeEUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxhQUFxQztRQUNwRCxJQUFLLFVBS0o7UUFMRCxXQUFLLFVBQVU7WUFDYiwrQ0FBVSxDQUFBO1lBQ1YsK0NBQVUsQ0FBQTtZQUNWLDJDQUFVLENBQUE7WUFDViwyQ0FBVSxDQUFBO1FBQ1osQ0FBQyxFQUxJLFVBQVUsS0FBVixVQUFVLFFBS2Q7UUFFRCxNQUFNLFNBQVMsR0FBc0IsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFjLElBQUksRUFBRSxRQUFRLEVBQVEsSUFBSSxFQUFFLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQTtRQUNsSCxNQUFNLFNBQVMsR0FBc0IsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFhLElBQUksRUFBRSxPQUFP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YSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uU2hlZXRCdXR0b24sIEFjdGlvblNoZWV0Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcclxuaW1wb3J0IHsgRmlsZVBpY2tlciwgUGlja0ZpbGVzUmVzdWx0LCBQaWNrZWRGaWxlLCBQaWNrRmlsZXNPcHRpb25zIH0gZnJvbSAnQGNhcGF3ZXNvbWUvY2FwYWNpdG9yLWZpbGUtcGlja2VyJztcclxuaW1wb3J0IHsgQ2FtZXJhLCBDYW1lcmFSZXN1bHRUeXBlLCBDYW1lcmFTb3VyY2UgfSBmcm9tICdAY2FwYWNpdG9yL2NhbWVyYSc7XHJcbmltcG9ydCB7IE92ZXJsYXlFdmVudERldGFpbCB9IGZyb20gJ0Bpb25pYy9jb3JlJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XHJcbmltcG9ydCB7IEJ1ZmZlciB9IGZyb20gJ2J1ZmZlcic7XHJcbmltcG9ydCBtaW1lIGZyb20gJ21pbWUnO1xyXG5pbXBvcnQgeyBJbnB1dEZpbGVDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vY29tcG9uZW50cy9pbnB1dHMvaW5wdXQtZmlsZS9pbnB1dC1maWxlLmNvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBDYXBhY2l0b3IgfSBmcm9tICdAY2FwYWNpdG9yL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVXRpbHNTZXJ2aWNle1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFjdGlvblNoZWV0Q29udHJvbGxlcjogQWN0aW9uU2hlZXRDb250cm9sbGVyKSB7XHJcbiAgfVxyXG5cclxuICAvKiogUmV0b3JuYSB1bSBhcnJheSBkZSBhcnF1aXZvcyBkZSBhY29yZG8gY29tIG8gdGlwbyBkZSBjb25maWd1dGHDp8OjbyAqL1xyXG4gIGFzeW5jIFNlbGVjdEZpbGUoY29uZmlndXJhdGlvbjogSW5wdXRGaWxlQ29uZmlndXJhdGlvbik6IFByb21pc2U8RmlsZT57XHJcbiAgICBlbnVtIFNlbGVjdFR5cGUge1xyXG4gICAgICBjYW1lcmEgPSAxLFxyXG4gICAgICBnYWxlcnkgPSAyLFxyXG4gICAgICBmaWxlICAgPSAzLFxyXG4gICAgICBkZW55ICAgPSA0LFxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGJ0bkNhbWVyYTogQWN0aW9uU2hlZXRCdXR0b24gPSB7IHRleHQ6ICdDw6JtZXJhJyAgICAgICAgICAgICwgaWNvbjogJ2NhbWVyYScgICAgICAsIGRhdGE6IFNlbGVjdFR5cGUuY2FtZXJhIH1cclxuICAgIGNvbnN0IGJ0bkdhbGVyeTogQWN0aW9uU2hlZXRCdXR0b24gPSB7IHRleHQ6ICdHYWxlcmlhJyAgICAgICAgICAgLCBpY29uOiAnaW1hZ2UnICAgICAgICwgZGF0YTogU2VsZWN0VHlwZS5nYWxlcnkgfVxyXG4gICAgY29uc3QgYnRuRmlsZSAgOiBBY3Rpb25TaGVldEJ1dHRvbiA9IHsgdGV4dDogJ1NlbGVjaW9uYXIgQXJxdWl2bycsIGljb246ICdkb2N1bWVudCcgICAgLCBkYXRhOiBTZWxlY3RUeXBlLmZpbGUgICB9XHJcbiAgICBjb25zdCBidG5EZW55ICA6IEFjdGlvblNoZWV0QnV0dG9uID0geyB0ZXh0OiAnQ2FuY2VsYXInICAgICAgICAgICwgaWNvbjogJ2Nsb3NlLWNpcmNsZScsIGRhdGE6IFNlbGVjdFR5cGUuZGVueSwgcm9sZTogJ2NhbmNlbCcsIH07XHJcblxyXG4gICAgY29uc3QgaXNBcHAgPSAoIWRvY3VtZW50LlVSTC5zdGFydHNXaXRoKCdodHRwJykgfHwgZG9jdW1lbnQuVVJMLnN0YXJ0c1dpdGgoJ2h0dHA6Ly9sb2NhbGhvc3Q6ODA4MCcpKTtcclxuXHJcbiAgICB2YXIgbHN0QnRuOiBhbnlbXSA9IFtdO1xyXG4gICAgaWYoaXNBcHApeyBcclxuICAgICAgbHN0QnRuLnB1c2goYnRuQ2FtZXJhKTsgXHJcbiAgICAgIGxzdEJ0bi5wdXNoKGJ0bkdhbGVyeSk7XHJcbiAgICB9XHJcbiAgICBsc3RCdG4ucHVzaChidG5GaWxlKTtcclxuICAgIGxzdEJ0bi5wdXNoKGJ0bkRlbnkpO1xyXG5cclxuICAgIHZhciByZXM6IE92ZXJsYXlFdmVudERldGFpbDxhbnk+O1xyXG4gICAgaWYobHN0QnRuLmxlbmd0aCA+IDIpe1xyXG4gICAgICBjb25zdCBhY3Rpb25TaGVldCA9IGF3YWl0IHRoaXMuYWN0aW9uU2hlZXRDb250cm9sbGVyLmNyZWF0ZSh7IGJ1dHRvbnM6IGxzdEJ0biB9KTtcclxuICAgICAgYWN0aW9uU2hlZXQucHJlc2VudCgpO1xyXG4gICAgICByZXMgPSBhd2FpdCBhY3Rpb25TaGVldC5vbkRpZERpc21pc3MoKTtcclxuICAgIH1lbHNle1xyXG4gICAgICByZXMgPSB7IHJvbGU6ICdjb25maXJtJywgZGF0YTogbHN0QnRuWzBdLmRhdGEgfTtcclxuICAgIH1cclxuXHJcbiAgICBcclxuICAgIGlmKFsnYmFja2Ryb3AnLCAnY2FuY2VsJ10uaW5jbHVkZXMocmVzLnJvbGUpKXsgcmV0dXJuOyB9XHJcblxyXG4gICAgaWYoW1NlbGVjdFR5cGUuY2FtZXJhLCBTZWxlY3RUeXBlLmdhbGVyeV0uaW5jbHVkZXMocmVzLmRhdGEpKXsgXHJcbiAgICAgIGNvbnN0IFNvdXJjZSA9IHJlcy5kYXRhID09IFNlbGVjdFR5cGUuY2FtZXJhID8gQ2FtZXJhU291cmNlLkNhbWVyYSA6IENhbWVyYVNvdXJjZS5QaG90b3NcclxuICAgICAgLy9jb25zdCBwaG90byA9IGF3YWl0IENhbWVyYS5nZXRQaG90byh7IHJlc3VsdFR5cGU6IENhbWVyYVJlc3VsdFR5cGUuVXJpLCBzb3VyY2U6IFNvdXJjZSwgcXVhbGl0eTogMTAwIH0pO1xyXG4gICAgICBjb25zb2xlLmVycm9yKFwiWyBUT0RPIF1cIilcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgY29uc3QgcmVzOiBQcm9taXNlPFBpY2tGaWxlc1Jlc3VsdD4gPSBGaWxlUGlja2VyLnBpY2tGaWxlcyh7IHR5cGVzOiBjb25maWd1cmF0aW9uLnR5cGVzLCBsaW1pdDogMSB9KTtcclxuICAgICAgY29uc3QgZmlsZXM6IFBpY2tlZEZpbGVbXSA9IChhd2FpdCByZXMpLmZpbGVzO1xyXG4gICAgICByZXR1cm4gZmlsZXMubWFwKHAgPT4gPEZpbGU+cC5ibG9iKVswXTtcclxuICAgIH1cclxuICB9IFxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgVXRpbHMge1xyXG4gIC8qKiBDb252ZXJ0ZSBkZSB1bml4IHBhcmEgRGF0ZSBvYmplY3QgKi9cclxuICBzdGF0aWMgVU5JWFRvRGF0ZSh1bml4X3RpbWVzdGFtcDogbnVtYmVyKTogRGF0ZSB7XHJcbiAgICB2YXIgZGF0ZSA9IG5ldyBEYXRlKHVuaXhfdGltZXN0YW1wICogMTAwMCk7XHJcbiAgICByZXR1cm4gZGF0ZTtcclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogQHBhcmFtIERhdGVTdHIgLSBEYXRlIG9uIElTTyBmb3JtYXQsIGUuZzogXHJcbiAgICogWyAyMDEwLTEwLTA1VDE0OjQ4OjAwLjAwMFogXVxyXG4gICAqIEByZXR1cm5zIERhdGUgb24gZm9ybWF0IEREL01NL1lZWVlcclxuICAqL1xyXG4gIHN0YXRpYyBEYXRlSVNPVG9ERE1NWVlZWUhITU0oaXNvOiBzdHJpbmcsIG9uSW52YWxpZERhdGVTdHJpbmc6IHN0cmluZyA9ICctJyk6IHN0cmluZ3tcclxuICAgIGlmKCFpc28peyByZXR1cm4gb25JbnZhbGlkRGF0ZVN0cmluZzsgfVxyXG4gICAgcmV0dXJuIG1vbWVudChpc28pLmZvcm1hdChcIkREL01NL1lZWVkgSEg6bW1cIik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgICAqIEBwYXJhbSBpc28gLSBEYXRlIG9uIElTTyBmb3JtYXQsIGUuZzogXHJcbiAgICAgKiBbIDIwMTAtMTAtMDVUMTQ6NDg6MDAuMDAwWiBdXHJcbiAgICAgKiBAcmV0dXJucyBEYXRlIG9uIGZvcm1hdCBERC9NTS9ZWVlZXHJcbiAgICAqL1xyXG4gIHN0YXRpYyBEYXRlSVNPVG9ERE1NWVlZWShpc286IHN0cmluZywgb25JbnZhbGlkRGF0ZVN0cmluZzogc3RyaW5nID0gJy0nKTogc3RyaW5ne1xyXG4gICAgaWYoIWlzbyl7IHJldHVybiBvbkludmFsaWREYXRlU3RyaW5nOyB9XHJcbiAgICByZXR1cm4gbW9tZW50KGlzbykuZm9ybWF0KFwiREQvTU0vWVlZWVwiKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBHZW5lcmF0ZUdVSUQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiAnaWQteHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4Jy5yZXBsYWNlKC9beHldL2csIGZ1bmN0aW9uKGMpIHtcclxuICAgICAgdmFyIHIgPSBNYXRoLnJhbmRvbSgpICogMTYgfCAwLFxyXG4gICAgICB2ID0gYyA9PT0gJ3gnID8gciA6IChyICYgMHgzIHwgMHg4KTtcclxuICAgICAgcmV0dXJuIHYudG9TdHJpbmcoMTYpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKiogXHJcbiAgICogQHBhcmFtIGZpbGU6IGJhc2U2NCB8IEJsb2JcclxuICAgKi9cclxuICBzdGF0aWMgYXN5bmMgRG93bmxvYWRGaWxlKGZpbGU6IHN0cmluZyB8IEJsb2IsIGZpbGVOYW1lOiBzdHJpbmcpe1xyXG4gICAgdmFyIGJsb2I6IEJsb2IgPSBudWxsO1xyXG4gICAgaWYoIShmaWxlIGluc3RhbmNlb2YgQmxvYikpe1xyXG4gICAgICBibG9iID0gYXdhaXQgVXRpbHMuQmFzZTY0VG9CbG9iKGZpbGUsIFV0aWxzLkZpbmRNaW1lRnJvbU5hbWVPckV4dGVuc2lvbihmaWxlTmFtZSkpO1xyXG4gICAgfVxyXG4gICAgZWxzZXsgXHJcbiAgICAgIGJsb2IgPSBmaWxlOyBcclxuICAgIH1cclxuXHJcbiAgICB2YXIgZmlsZVVSTCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XHJcbiAgICBjb25zdCBsaW5rRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJhXCIpO1xyXG4gICAgbGlua0VsZW1lbnQuc2V0QXR0cmlidXRlKFwiaHJlZlwiLCBmaWxlVVJMKTtcclxuICAgIGxpbmtFbGVtZW50LnNldEF0dHJpYnV0ZShcInRhcmdldFwiLCBcIl9ibGFua1wiKTtcclxuICAgIGxpbmtFbGVtZW50LnNldEF0dHJpYnV0ZShcImRvd25sb2FkXCIsIGZpbGVOYW1lKTtcclxuXHJcbiAgICBsZXQgbWUgPSBuZXcgTW91c2VFdmVudChcImNsaWNrXCIsIHtcclxuICAgICAgdmlldzogd2luZG93LFxyXG4gICAgICBidWJibGVzOiB0cnVlLFxyXG4gICAgICBjYW5jZWxhYmxlOiBmYWxzZSxcclxuICAgIH0pO1xyXG5cclxuICAgIGxpbmtFbGVtZW50LmRpc3BhdGNoRXZlbnQobWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBhc3luYyBCbG9iVG9CYXNlNjQoYmxvYjogQmxvYik6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICBjb25zdCBhYiA9IGF3YWl0IGJsb2IuYXJyYXlCdWZmZXIoKTtcclxuICAgIHJldHVybiBCdWZmZXIuZnJvbShhYikudG9TdHJpbmcoXCJiYXNlNjRcIik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGFzeW5jIEJhc2U2NFRvQmxvYihiYXNlNjQ6IHN0cmluZywgbWltZVR5cGU6IHN0cmluZyk6IFByb21pc2U8QmxvYj4ge1xyXG4gICAgcmV0dXJuIG5ldyBCbG9iKFtCdWZmZXIuZnJvbShiYXNlNjQsIFwiYmFzZTY0XCIpXSwgeyB0eXBlOiBtaW1lVHlwZSB9KVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBhc3luYyBHZXRQaG90byhwYXJhbXM/OiB7XHJcbiAgICBxdWFsaXR5PzogbnVtYmVyLFxyXG4gICAgc291cmNlPzogQ2FtZXJhU291cmNlXHJcbiAgfSk6IFByb21pc2U8e1xyXG4gICAgYmxvYjogQmxvYlxyXG4gICAgZmlsZU5hbWU6IHN0cmluZ1xyXG4gIH0+e1xyXG4gICAgaWYoQ2FwYWNpdG9yLmlzTmF0aXZlUGxhdGZvcm0oKSl7XHJcbiAgICAgIGNvbnN0IHF1YWxpdHkgPSBwYXJhbXM/LnF1YWxpdHkgfHwgNzA7XHJcbiAgICAgIGNvbnN0IHNvdXJjZSAgPSBwYXJhbXM/LnNvdXJjZSB8fCBDYW1lcmFTb3VyY2UuQ2FtZXJhO1xyXG4gICAgICBjb25zdCBwaCAgID0gYXdhaXQgQ2FtZXJhLmdldFBob3RvKHsgXHJcbiAgICAgICAgcmVzdWx0VHlwZTogQ2FtZXJhUmVzdWx0VHlwZS5VcmksIFxyXG4gICAgICAgIHNvdXJjZSA6IHNvdXJjZSxcclxuICAgICAgICBxdWFsaXR5OiBxdWFsaXR5XHJcbiAgICAgIH0pO1xyXG4gICAgICBjb25zdCBmaWxlID0gYXdhaXQgZmV0Y2gocGgud2ViUGF0aCk7XHJcbiAgICAgIGNvbnN0IGJsb2IgPSBhd2FpdCBmaWxlLmJsb2IoKTtcclxuICAgICAgcmV0dXJuIHsgYmxvYiwgZmlsZU5hbWU6IHBoLnBhdGguc3BsaXQoJy8nKS5hdCgtMSkgfTtcclxuICAgIH0gZWxzZXtcclxuICAgICAgY29uc3QgZiA9IGF3YWl0IFV0aWxzLlBpY2tGaWxlKHtcclxuICAgICAgICB0eXBlczogWydpbWFnZS8qJ10sXHJcbiAgICAgICAgbGltaXQ6IDEsXHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIGJsb2I6IGZbMF0uYmxvYixcclxuICAgICAgICBmaWxlTmFtZTogZlswXS5uYW1lXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgYXN5bmMgUGlja0ZpbGUob3B0aW9ucz86IFBpY2tGaWxlc09wdGlvbnMpOiBQcm9taXNlPHtcclxuICAgIGJsb2I6IEJsb2IsXHJcbiAgICBtaW1lVHlwZTogc3RyaW5nLFxyXG4gICAgbmFtZTogc3RyaW5nLFxyXG4gICAgc2l6ZTogbnVtYmVyLFxyXG4gIH1bXT4ge1xyXG4gICAgY29uc3QgUGljayA9IGF3YWl0IEZpbGVQaWNrZXIucGlja0ZpbGVzKG9wdGlvbnMpO1xyXG4gICAgbGV0IGxzdEJsb2IgPSBQaWNrLmZpbGVzLm1hcChhc3luYyB2RmlsZSA9PiB7XHJcbiAgICAgIGxldCBibG9iID0gbnVsbDtcclxuICAgICAgaWYoQ2FwYWNpdG9yLmlzTmF0aXZlUGxhdGZvcm0oKSl7XHJcbiAgICAgICAgYmxvYiA9IG5ldyBCbG9iKFthd2FpdCAoYXdhaXQgZmV0Y2goQ2FwYWNpdG9yLmNvbnZlcnRGaWxlU3JjKHZGaWxlLnBhdGgpKSkuYmxvYigpXSwgeyB0eXBlOiB2RmlsZS5taW1lVHlwZSB9KTtcclxuICAgICAgfVxyXG4gICAgICBlbHNle1xyXG4gICAgICAgIGJsb2IgPSB2RmlsZS5ibG9iO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgYmxvYixcclxuICAgICAgICBtaW1lVHlwZTogdkZpbGUubWltZVR5cGUsXHJcbiAgICAgICAgbmFtZTogdkZpbGUubmFtZSxcclxuICAgICAgICBzaXplOiB2RmlsZS5zaXplLFxyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwobHN0QmxvYik7ICAgIFxyXG4gIH1cclxuXHJcbiAgc3RhdGljIEZpbmRNaW1lRnJvbU5hbWVPckV4dGVuc2lvbihwYXRoT3JFeHRlbnNpb246IHN0cmluZyl7XHJcbiAgICByZXR1cm4gbWltZS5nZXRUeXBlKHBhdGhPckV4dGVuc2lvbikgfHwgJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSc7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gU2VhcmNoPFQgPSBhbnk+KGl0ZW1zOiBUW10sIFNlYXJjaDogc3RyaW5nLCBiaW5kTGFiZWw6ICgob2JqOiBUKSA9PiBzdHJpbmcpKTogVFtdIHtcclxuICByZXR1cm4gaXRlbXMuZmlsdGVyKHAgPT4gYmluZExhYmVsKHApPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKFNlYXJjaC50b0xvd2VyQ2FzZSgpKSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBUaW1lb3V0KHRpbWVvdXQ6IG51bWJlcik6IFByb21pc2U8dm9pZD57XHJcbiAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCB0aW1lb3V0KSk7XHJcbn1cclxuXHJcbi8vWyBCYXNlIDY0IF1cclxuZnVuY3Rpb24gRGVjb2RlQmFzZTY0PFQ+KGI2NDogc3RyaW5nKTogVHtcclxuICByZXR1cm4gSlNPTi5wYXJzZShCdWZmZXIuZnJvbShiNjQsICdiYXNlNjQnKS50b1N0cmluZygndXRmLTgnKSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIERlY29kZUJhc2U2NEFzU3RyaW5nKGI2NDogc3RyaW5nKSB7XHJcbiAgcmV0dXJuIEJ1ZmZlci5mcm9tKGI2NCwgJ2Jhc2U2NCcpLnRvU3RyaW5nKCd1dGYtOCcpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBFbmNvZGVCYXNlNjQob2JqOiBhbnkgfCBzdHJpbmcpOiBzdHJpbmd7XHJcbiAgaWYodHlwZW9mIG9iaiA9PSBcIm9iamVjdFwiKXtcclxuICAgIHJldHVybiBCdWZmZXIuZnJvbShKU09OLnN0cmluZ2lmeShvYmopKS50b1N0cmluZygnYmFzZTY0Jyk7XHJcbiAgfVxyXG4gIGVsc2VcclxuICBpZih0eXBlb2Ygb2JqID09IFwic3RyaW5nXCIpe1xyXG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKG9iaikudG9TdHJpbmcoJ2Jhc2U2NCcpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IElOVF9NQVggPSAyXzE0N180ODNfNjQ2OyJdfQ==
|
|
@@ -148,7 +148,7 @@ export class StorageService {
|
|
|
148
148
|
}
|
|
149
149
|
async GetBlobLiveResponse(file, onUpdate) {
|
|
150
150
|
return (await this.GetBlobBatchLiveResponse([file], (totalProgress, lstResponse, eventType) => {
|
|
151
|
-
onUpdate(totalProgress, lstResponse[0], eventType);
|
|
151
|
+
onUpdate?.(totalProgress, lstResponse[0], eventType);
|
|
152
152
|
}))[0];
|
|
153
153
|
}
|
|
154
154
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StorageService, deps: [{ token: i1.HttpClient }, { token: i2.ApiUrlProviderService }, { token: i3.GenericService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
@@ -180,4 +180,4 @@ function DownloadFile(data, fileUrl) {
|
|
|
180
180
|
});
|
|
181
181
|
linkElement.dispatchEvent(me);
|
|
182
182
|
}
|
|
183
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy93ZWIvc3RvcmFnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsYUFBYSxFQUFnQixNQUFNLHNCQUFzQixDQUFDO0FBQzFGLE9BQU8sRUFBRSxlQUFlLEVBQTBDLE1BQU0sTUFBTSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7OztBQVFwRCxNQUFNLE9BQU8sY0FBYztJQUV6QixZQUNRLElBQWlCLEVBQ2pCLHFCQUE0QyxFQUM1QyxjQUE4QjtRQUY5QixTQUFJLEdBQUosSUFBSSxDQUFhO1FBQ2pCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBRzlCLHlCQUFvQixHQUFlLEVBQUUsQ0FBQztJQUYxQyxDQUFDO0lBSUUsV0FBVyxDQUFDLElBQVk7UUFDN0IsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLENBQUE7UUFDcEUsT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU0sYUFBYSxDQUFDLElBQVksRUFBRSxNQUFZLEVBQUUsT0FBZ0IsS0FBSztRQUNwRSxJQUFHLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJ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LEVBQUUsSUFBSTtRQUNiLFVBQVUsRUFBRSxLQUFLO0tBQ3BCLENBQUMsQ0FBQztJQUVILFdBQVcsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDaEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFdmVudCwgSHR0cEV2ZW50VHlwZSwgSHR0cFJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIGxhc3RWYWx1ZUZyb20sIG1hcCwgZmlsdGVyIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEFwaVVybFByb3ZpZGVyU2VydmljZSB9IGZyb20gJy4vYXBpLXVybC1wcm92aWRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgR2VuZXJpY1NlcnZpY2UgfSBmcm9tICcuLi9nZW5lcmljLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVdGlscyB9IGZyb20gJy4uL3V0aWxzLnNlcnZpY2UnO1xyXG5cclxuXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdG9yYWdlU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gIHByaXZhdGUgaHR0cCA6IEh0dHBDbGllbnQsXHJcbiAgcHJpdmF0ZSBhcGlVcmxQcm92aWRlclNlcnZpY2U6IEFwaVVybFByb3ZpZGVyU2VydmljZSxcclxuICBwcml2YXRlIGdlbmVyaWNTZXJ2aWNlOiBHZW5lcmljU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIHByaXZhdGUgY3VycmVudGx5RG93bmxvYWRpbmc6IERvd25sb2FkW10gPSBbXTtcclxuXHJcbiAgcHVibGljIEdldFByb2dyZXNzKGZpbGU6IHN0cmluZyk6IG51bWJlcntcclxuICAgIGNvbnN0IERvd25sb2FkID0gdGhpcy5jdXJyZW50bHlEb3dubG9hZGluZy5maW5kKHAgPT4gcC5maWxlID09IGZpbGUpXHJcbiAgICByZXR1cm4gRG93bmxvYWQgPyBEb3dubG9hZC5wcm9ncmVzcyA6IDA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU3RhcnREb3dubG9hZChmaWxlOiBzdHJpbmcsIHBhcmFtcz86IGFueSwgcG9zdDogYm9vbGVhbiA9IGZhbHNlKTogRG93bmxvYWQge1xyXG4gICAgaWYoIXRoaXMuY3VycmVudGx5RG93bmxvYWRpbmcuZmluZChwID0+IHAuZmlsZSA9PSBmaWxlKSl7XHJcbiAgICAgIGNvbnN0IGRvd25sb2FkID0gbmV3IERvd25sb2FkKGZpbGUpO1xyXG4gICAgICB0aGlzLmN1cnJlbnRseURvd25sb2FkaW5nLnB1c2goZG93bmxvYWQpO1xyXG4gICAgICB0aGlzLkhhbmRsZURvd25sb2FkKGRvd25sb2FkLCBwYXJhbXMsIHBvc3QpO1xyXG4gICAgICByZXR1cm4gZG93bmxvYWQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50bHlEb3dubG9hZGluZy5maW5kKHAgPT4gcC5maWxlID09IGZpbGUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBIYW5kbGVEb3dubG9hZChkb3dubG9hZDogRG93bmxvYWQsIHBhcmFtcz86IGFueSwgcG9zdDogYm9vbGVhbiA9IGZhbHNlKXtcclxuICAgIHZhciByZXF1ZXN0OiBPYnNlcnZhYmxlPGFueT4gPSB0aGlzLkdldEZpbGUoZG93bmxvYWQuZmlsZSwgcGFyYW1zLCBwb3N0KTtcclxuXHJcbiAgICBjb25zdCByZXF1ZXN0UHJvZ2VzcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcclxuICAgIGRvd25sb2FkLnJlcXVlc3RQcm9nZXNzID0gcmVxdWVzdFByb2dlc3M7XHJcbiAgICByZXF1ZXN0LnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChldmVudCkgPT4ge1xyXG4gICAgICAgIGlmIChldmVudC50eXBlID09PSBIdHRwRXZlbnRUeXBlLkRvd25sb2FkUHJvZ3Jlc3MpIHsgXHJcbiAgICAgICAgICBkb3dubG9hZC5wcm9ncmVzcyA9IGV2ZW50LmxvYWRlZCAvIGV2ZW50LnRvdGFsOyBcclxuICAgICAgICAgIHJlcXVlc3RQcm9nZXNzLm5leHQoZG93bmxvYWQucHJvZ3Jlc3MpO1xyXG4gICAgICAgIH0gZWxzZSBcclxuICAgICAgICBpZiAoZXZlbnQudHlwZSA9PT0gSHR0cEV2ZW50VHlwZS5SZXNwb25zZSkge1xyXG4gICAgICAgICAgRG93bmxvYWRGaWxlKGV2ZW50LCBkb3dubG9hZC5maWxlKTtcclxuICAgICAgICAgIHRoaXMuY3VycmVudGx5RG93bmxvYWRpbmcuc3BsaWNlKHRoaXMuY3VycmVudGx5RG93bmxvYWRpbmcuaW5kZXhPZihkb3dubG9hZCksIDEpO1xyXG4gICAgICAgICAgcmVxdWVzdFByb2dlc3MuY29tcGxldGUoKTsgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKGV2ZW50LnN0YXR1cyA9PSA0MDQpe1xyXG4gICAgICAgICAgdGhpcy5nZW5lcmljU2VydmljZS5QcmVzZW50VG9hc3QoXCJBcnF1aXZvIG7Do28gZW5jb250cmFkbyAvIFVybCBpbnbDoWxpZGFcIilcclxuICAgICAgICAgIHJlcXVlc3RQcm9nZXNzLmVycm9yKGV2ZW50KTsgXHJcbiAgICAgICAgICByZXF1ZXN0UHJvZ2Vzcy5jb21wbGV0ZSgpOyBcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50bHlEb3dubG9hZGluZy5zcGxpY2UodGhpcy5jdXJyZW50bHlEb3dubG9hZGluZy5pbmRleE9mKGRvd25sb2FkKSwgMSlcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gcmVxdWVzdDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgU2FuaXRpemVGaWxlTmFtZSh2OiBzdHJpbmcpOiBzdHJpbmd7XHJcbiAgICB0cnl7XHJcbiAgICAgIHZhciBmaWxlbmFtZUVuZDogc3RyaW5nICA9IHYuc3BsaXQoJy8nKS5hdCgtMSk7XHJcbiAgICAgIFxyXG4gICAgICBpZihmaWxlbmFtZUVuZC5zcGxpdCgnLicpLmxlbmd0aCA8PSAyKXtcclxuICAgICAgICByZXR1cm4gZmlsZW5hbWVFbmQ7XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIHZhciBsc3QgPSBmaWxlbmFtZUVuZC5zcGxpdCgnLicpO1xyXG4gICAgICAgIGxzdFswXSA9ICcnO1xyXG4gICAgICAgIHJldHVybiBsc3Quam9pbignLicpLnJlcGxhY2UoJy4nLCAnJyk7XHJcbiAgICAgIH1cclxuICAgIH1jYXRjaHtcclxuICAgICAgcmV0dXJuIHY7XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgcHVibGljIEdldEZpbGUoZmlsZVVybDogc3RyaW5nLCBwYXJhbXM/OiBhbnksIHBvc3Q6IGJvb2xlYW4gPSBmYWxzZSk6IE9ic2VydmFibGU8SHR0cEV2ZW50PEJsb2I+PiB7XHJcbiAgICB2YXIgdXJsOiBzdHJpbmc7XHJcbiAgICBpZihmaWxlVXJsWzBdID09ICcvJyl7IFxyXG4gICAgICB1cmwgPSBmaWxlVXJsLnNsaWNlKDEsIGZpbGVVcmwubGVuZ3RoIC0gMSk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdXJsID0gYCR7dGhpcy5hcGlVcmxQcm92aWRlclNlcnZpY2UuYXBpVXJsfSR7ZmlsZVVybH1gO1xyXG4gICAgfVxyXG4gICAgdXJsID0gZW5jb2RlVVJJKHVybCkucmVwbGFjZSgvIy9nLCAnJTIzJylcclxuXHJcbiAgICBpZighcG9zdCl7XHJcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCwge1xyXG4gICAgICAgIHJlcG9ydFByb2dyZXNzOiB0cnVlLFxyXG4gICAgICAgIG9ic2VydmU6ICdldmVudHMnLFxyXG4gICAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InLFxyXG4gICAgICAgIHBhcmFtczogcGFyYW1zXHJcbiAgICAgIH0pO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh1cmwsIHBhcmFtcywge1xyXG4gICAgICAgIHJlcG9ydFByb2dyZXNzOiB0cnVlLFxyXG4gICAgICAgIG9ic2VydmU6ICdldmVudHMnLFxyXG4gICAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQHBhcmFtIGxzdEZpbGVzIFxyXG4gICAqIGxpc3RhIGRlIGFycXVpdm9zIGEgc2VyZW0gYmFpeGFkb3MgXHJcbiAgICogQHBhcmFtIG9uVXBkYXRlIFxyXG4gICAqIGZ1bmNhbyBjaGFtYWRhIGEgY2FkYSBwcm9ncmVzc28gZGUgZG93bmxvYWRcclxuICAgKiBAcmV0dXJucyBcclxuICAgKiBsaXN0YSBkZSByZXNwb3N0YXMgZG9zIGFycXVpdm9zLCBjb21vIHByb21pc2UsIHF1YW5kbyB0b2RvcyBlc3RpdmVyZW0gY29tcGxldG9zIG91IGRlcmFtIGVycm8sIMOpIHJldG9ybmFkYVxyXG4gICAqL1xyXG4gIHB1YmxpYyBhc3luYyBHZXRCbG9iQmF0Y2hMaXZlUmVzcG9uc2UobHN0RmlsZXM6IHN0cmluZ1tdLCBvblVwZGF0ZTogKHRvdGFsUHJvZ3Jlc3M6IG51bWJlciwgbHN0UmVzcG9uc2U/OiBMaXZlUmVzcG9uc2VbXSwgZXZlbnRUeXBlPzogSHR0cEV2ZW50VHlwZSkgPT4gdm9pZCk6IFByb21pc2U8TGl2ZVJlc3BvbnNlW10+IHtcclxuICAgIGlmKCFsc3RGaWxlcyB8fCBsc3RGaWxlcy5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbHN0OiBMaXZlUmVzcG9uc2VbXSA9IGxzdEZpbGVzLm1hcChwID0+ICh7XHJcbiAgICAgIHBhdGggICAgICA6IHAsXHJcbiAgICAgIG9ic2VydmFibGU6IHRoaXMuR2V0RmlsZShwKSxcclxuICAgICAgcHJvZ3Jlc3MgIDogMCxcclxuICAgICAgc3VjY2VzcyAgIDogdW5kZWZpbmVkLFxyXG4gICAgICBibG9iICAgICAgOiB1bmRlZmluZWRcclxuICAgIH0pKTtcclxuXHJcbiAgICBjb25zdCBpc0FsbENvbXBsZXRlID0gKCkgPT4gbHN0LmV2ZXJ5KG9icyA9PiBvYnMucHJvZ3Jlc3MgPj0gMSk7XHJcbiAgICBjb25zdCBnZXRUb3RhbFByb2dyZXNzQXZnID0gKCkgPT4gbHN0LnJlZHVjZSgoYWNjLCBvYnMpID0+IGFjYyArIG9icy5wcm9ncmVzcywgMCkgLyBsc3QubGVuZ3RoO1xyXG5cclxuICAgIHJldHVybiBuZXcgUHJvbWlzZTxMaXZlUmVzcG9uc2VbXT4oKHJlc29sdmUpID0+IHtcclxuICAgICAgZm9yIChjb25zdCBvYnMgb2YgbHN0KSB7XHJcbiAgICAgICAgb2JzLm9ic2VydmFibGUuc3Vic2NyaWJlKHtcclxuICAgICAgICAgIG5leHQ6IChldmVudCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZXZlbnQudHlwZSA9PT0gSHR0cEV2ZW50VHlwZS5Eb3dubG9hZFByb2dyZXNzKSB7XHJcbiAgICAgICAgICAgICAgb2JzLnByb2dyZXNzID0gZXZlbnQubG9hZGVkIC8gZXZlbnQudG90YWw7XHJcbiAgICAgICAgICAgICAgb25VcGRhdGUoZ2V0VG90YWxQcm9ncmVzc0F2ZygpLCBsc3QsIGV2ZW50LnR5cGUpO1xyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIGlmIChldmVudC50eXBlID09PSBIdHRwRXZlbnRUeXBlLlJlc3BvbnNlKSB7XHJcbiAgICAgICAgICAgICAgb2JzLmJsb2IgPSBuZXcgQmxvYihbZXZlbnQuYm9keV0sIHsgdHlwZTogZXZlbnQuYm9keS50eXBlIH0pO1xyXG4gICAgICAgICAgICAgIG9icy5zdWNjZXNzID0gdHJ1ZTtcclxuICAgICAgICAgICAgICBpZihpc0FsbENvbXBsZXRlKCkpe1xyXG4gICAgICAgICAgICAgICAgcmVzb2x2ZShsc3QpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBvblVwZGF0ZShnZXRUb3RhbFByb2dyZXNzQXZnKCksIGxzdCwgZXZlbnQudHlwZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBlcnJvcjogKGVycikgPT4ge1xyXG4gICAgICAgICAgICBvYnMuc3VjY2VzcyA9IGZhbHNlO1xyXG4gICAgICAgICAgICBvYnMucHJvZ3Jlc3MgPSAxO1xyXG4gICAgICAgICAgICBvblVwZGF0ZShnZXRUb3RhbFByb2dyZXNzQXZnKCksIGxzdCk7XHJcbiAgICAgICAgICAgIGlmKGlzQWxsQ29tcGxldGUoKSl7XHJcbiAgICAgICAgICAgICAgcmVzb2x2ZShsc3QpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgR2V0QmxvYkxpdmVSZXNwb25zZShmaWxlOiBzdHJpbmcsIG9uVXBkYXRlOiAocHJvZ3Jlc3M6IG51bWJlciwgcmVzcG9uc2U/OiBMaXZlUmVzcG9uc2UsIGV2ZW50VHlwZT86IEh0dHBFdmVudFR5cGUpID0+IHZvaWQpOiBQcm9taXNlPExpdmVSZXNwb25zZT4ge1xyXG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLkdldEJsb2JCYXRjaExpdmVSZXNwb25zZShbZmlsZV0sICh0b3RhbFByb2dyZXNzLCBsc3RSZXNwb25zZSwgZXZlbnRUeXBlKSA9PiB7XHJcbiAgICAgIG9uVXBkYXRlKHRvdGFsUHJvZ3Jlc3MsIGxzdFJlc3BvbnNlWzBdLCBldmVudFR5cGUpO1xyXG4gICAgfSkpWzBdO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBHZXRGaWxlUmVzcG9uc2V7XHJcbiAgcGF0aDogc3RyaW5nO1xyXG4gIGJsb2I/OiBCbG9iO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIExpdmVSZXNwb25zZXtcclxuICBwYXRoOiBzdHJpbmc7XHJcbiAgb2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8QmxvYj4+O1xyXG4gIHByb2dyZXNzOiBudW1iZXI7XHJcbiAgYmxvYj86IEJsb2I7XHJcbiAgc3VjY2Vzcz86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBEb3dubG9hZCB7XHJcbiAgcmVxdWVzdFByb2dlc3M6IE9ic2VydmFibGU8YW55PjtcclxuICBwcm9ncmVzcyAgICAgIDogbnVtYmVyID0gMC4wMDAwMTtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZmlsZTogc3RyaW5nKXt9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIERvd25sb2FkRmlsZShkYXRhOiBIdHRwUmVzcG9uc2U8QmxvYj4sIGZpbGVVcmwpIHtcclxuICBjb25zdCBkb3dubG9hZGVkRmlsZSA9IG5ldyBCbG9iKFtkYXRhLmJvZHldLCB7IHR5cGU6IGRhdGEuYm9keS50eXBlIH0pO1xyXG5cclxuICB2YXIgZmlsZVVSTCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoZG93bmxvYWRlZEZpbGUpO1xyXG4gIGNvbnN0IGxpbmtFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImFcIik7XHJcbiAgbGlua0VsZW1lbnQuc2V0QXR0cmlidXRlKFwiaHJlZlwiLCBmaWxlVVJMKTtcclxuICBsaW5rRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJ0YXJnZXRcIiwgXCJfYmxhbmtcIik7XHJcbiAgbGlua0VsZW1lbnQuc2V0QXR0cmlidXRlKFwiZG93bmxvYWRcIiwgU3RvcmFnZVNlcnZpY2UuU2FuaXRpemVGaWxlTmFtZShmaWxlVXJsKSk7XHJcblxyXG4gIGxldCBtZSA9IG5ldyBNb3VzZUV2ZW50KFwiY2xpY2tcIiwge1xyXG4gICAgICB2aWV3OiB3aW5kb3csXHJcbiAgICAgIGJ1YmJsZXM6IHRydWUsXHJcbiAgICAgIGNhbmNlbGFibGU6IGZhbHNlLFxyXG4gIH0pO1xyXG5cclxuICBsaW5rRWxlbWVudC5kaXNwYXRjaEV2ZW50KG1lKTtcclxufSJdfQ==
|
|
183
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy93ZWIvc3RvcmFnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsYUFBYSxFQUFnQixNQUFNLHNCQUFzQixDQUFDO0FBQzFGLE9BQU8sRUFBRSxlQUFlLEVBQTBDLE1BQU0sTUFBTSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7OztBQVFwRCxNQUFNLE9BQU8sY0FBYztJQUV6QixZQUNRLElBQWlCLEVBQ2pCLHFCQUE0QyxFQUM1QyxjQUE4QjtRQUY5QixTQUFJLEdBQUosSUFBSSxDQUFhO1FBQ2pCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBRzlCLHlCQUFvQixHQUFlLEVBQUUsQ0FBQztJQUYxQyxDQUFDO0lBSUUsV0FBVyxDQUFDLElBQVk7UUFDN0IsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLENBQUE7UUFDcEUsT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU0sYUFBYSxDQUFDLElBQVksRUFBRSxNQUFZLEVBQUUsT0FBZ0IsS0FBSztRQUNwRSxJQUFHLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJ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LE9BQU8sRUFBRSxJQUFJO1FBQ2IsVUFBVSxFQUFFLEtBQUs7S0FDcEIsQ0FBQyxDQUFDO0lBRUgsV0FBVyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNoQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEV2ZW50LCBIdHRwRXZlbnRUeXBlLCBIdHRwUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgbGFzdFZhbHVlRnJvbSwgbWFwLCBmaWx0ZXIgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQXBpVXJsUHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnLi9hcGktdXJsLXByb3ZpZGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBHZW5lcmljU2VydmljZSB9IGZyb20gJy4uL2dlbmVyaWMuc2VydmljZSc7XHJcbmltcG9ydCB7IFV0aWxzIH0gZnJvbSAnLi4vdXRpbHMuc2VydmljZSc7XHJcblxyXG5cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFN0b3JhZ2VTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgcHJpdmF0ZSBodHRwIDogSHR0cENsaWVudCxcclxuICBwcml2YXRlIGFwaVVybFByb3ZpZGVyU2VydmljZTogQXBpVXJsUHJvdmlkZXJTZXJ2aWNlLFxyXG4gIHByaXZhdGUgZ2VuZXJpY1NlcnZpY2U6IEdlbmVyaWNTZXJ2aWNlXHJcbiAgKSB7IH1cclxuXHJcbiAgcHJpdmF0ZSBjdXJyZW50bHlEb3dubG9hZGluZzogRG93bmxvYWRbXSA9IFtdO1xyXG5cclxuICBwdWJsaWMgR2V0UHJvZ3Jlc3MoZmlsZTogc3RyaW5nKTogbnVtYmVye1xyXG4gICAgY29uc3QgRG93bmxvYWQgPSB0aGlzLmN1cnJlbnRseURvd25sb2FkaW5nLmZpbmQocCA9PiBwLmZpbGUgPT0gZmlsZSlcclxuICAgIHJldHVybiBEb3dubG9hZCA/IERvd25sb2FkLnByb2dyZXNzIDogMDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBTdGFydERvd25sb2FkKGZpbGU6IHN0cmluZywgcGFyYW1zPzogYW55LCBwb3N0OiBib29sZWFuID0gZmFsc2UpOiBEb3dubG9hZCB7XHJcbiAgICBpZighdGhpcy5jdXJyZW50bHlEb3dubG9hZGluZy5maW5kKHAgPT4gcC5maWxlID09IGZpbGUpKXtcclxuICAgICAgY29uc3QgZG93bmxvYWQgPSBuZXcgRG93bmxvYWQoZmlsZSk7XHJcbiAgICAgIHRoaXMuY3VycmVudGx5RG93bmxvYWRpbmcucHVzaChkb3dubG9hZCk7XHJcbiAgICAgIHRoaXMuSGFuZGxlRG93bmxvYWQoZG93bmxvYWQsIHBhcmFtcywgcG9zdCk7XHJcbiAgICAgIHJldHVybiBkb3dubG9hZDtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmN1cnJlbnRseURvd25sb2FkaW5nLmZpbmQocCA9PiBwLmZpbGUgPT0gZmlsZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIEhhbmRsZURvd25sb2FkKGRvd25sb2FkOiBEb3dubG9hZCwgcGFyYW1zPzogYW55LCBwb3N0OiBib29sZWFuID0gZmFsc2Upe1xyXG4gICAgdmFyIHJlcXVlc3Q6IE9ic2VydmFibGU8YW55PiA9IHRoaXMuR2V0RmlsZShkb3dubG9hZC5maWxlLCBwYXJhbXMsIHBvc3QpO1xyXG5cclxuICAgIGNvbnN0IHJlcXVlc3RQcm9nZXNzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpO1xyXG4gICAgZG93bmxvYWQucmVxdWVzdFByb2dlc3MgPSByZXF1ZXN0UHJvZ2VzcztcclxuICAgIHJlcXVlc3Quc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKGV2ZW50KSA9PiB7XHJcbiAgICAgICAgaWYgKGV2ZW50LnR5cGUgPT09IEh0dHBFdmVudFR5cGUuRG93bmxvYWRQcm9ncmVzcykgeyBcclxuICAgICAgICAgIGRvd25sb2FkLnByb2dyZXNzID0gZXZlbnQubG9hZGVkIC8gZXZlbnQudG90YWw7IFxyXG4gICAgICAgICAgcmVxdWVzdFByb2dlc3MubmV4dChkb3dubG9hZC5wcm9ncmVzcyk7XHJcbiAgICAgICAgfSBlbHNlIFxyXG4gICAgICAgIGlmIChldmVudC50eXBlID09PSBIdHRwRXZlbnRUeXBlLlJlc3BvbnNlKSB7XHJcbiAgICAgICAgICBEb3dubG9hZEZpbGUoZXZlbnQsIGRvd25sb2FkLmZpbGUpO1xyXG4gICAgICAgICAgdGhpcy5jdXJyZW50bHlEb3dubG9hZGluZy5zcGxpY2UodGhpcy5jdXJyZW50bHlEb3dubG9hZGluZy5pbmRleE9mKGRvd25sb2FkKSwgMSk7XHJcbiAgICAgICAgICByZXF1ZXN0UHJvZ2Vzcy5jb21wbGV0ZSgpOyBcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoZXZlbnQuc3RhdHVzID09IDQwNCl7XHJcbiAgICAgICAgICB0aGlzLmdlbmVyaWNTZXJ2aWNlLlByZXNlbnRUb2FzdChcIkFycXVpdm8gbsOjbyBlbmNvbnRyYWRvIC8gVXJsIGludsOhbGlkYVwiKVxyXG4gICAgICAgICAgcmVxdWVzdFByb2dlc3MuZXJyb3IoZXZlbnQpOyBcclxuICAgICAgICAgIHJlcXVlc3RQcm9nZXNzLmNvbXBsZXRlKCk7IFxyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnIpID0+IHtcclxuICAgICAgICB0aGlzLmN1cnJlbnRseURvd25sb2FkaW5nLnNwbGljZSh0aGlzLmN1cnJlbnRseURvd25sb2FkaW5nLmluZGV4T2YoZG93bmxvYWQpLCAxKVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiByZXF1ZXN0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBTYW5pdGl6ZUZpbGVOYW1lKHY6IHN0cmluZyk6IHN0cmluZ3tcclxuICAgIHRyeXtcclxuICAgICAgdmFyIGZpbGVuYW1lRW5kOiBzdHJpbmcgID0gdi5zcGxpdCgnLycpLmF0KC0xKTtcclxuICAgICAgXHJcbiAgICAgIGlmKGZpbGVuYW1lRW5kLnNwbGl0KCcuJykubGVuZ3RoIDw9IDIpe1xyXG4gICAgICAgIHJldHVybiBmaWxlbmFtZUVuZDtcclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgdmFyIGxzdCA9IGZpbGVuYW1lRW5kLnNwbGl0KCcuJyk7XHJcbiAgICAgICAgbHN0WzBdID0gJyc7XHJcbiAgICAgICAgcmV0dXJuIGxzdC5qb2luKCcuJykucmVwbGFjZSgnLicsICcnKTtcclxuICAgICAgfVxyXG4gICAgfWNhdGNoe1xyXG4gICAgICByZXR1cm4gdjtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICBwdWJsaWMgR2V0RmlsZShmaWxlVXJsOiBzdHJpbmcsIHBhcmFtcz86IGFueSwgcG9zdDogYm9vbGVhbiA9IGZhbHNlKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8QmxvYj4+IHtcclxuICAgIHZhciB1cmw6IHN0cmluZztcclxuICAgIGlmKGZpbGVVcmxbMF0gPT0gJy8nKXsgXHJcbiAgICAgIHVybCA9IGZpbGVVcmwuc2xpY2UoMSwgZmlsZVVybC5sZW5ndGggLSAxKTtcclxuICAgIH1lbHNle1xyXG4gICAgICB1cmwgPSBgJHt0aGlzLmFwaVVybFByb3ZpZGVyU2VydmljZS5hcGlVcmx9JHtmaWxlVXJsfWA7XHJcbiAgICB9XHJcbiAgICB1cmwgPSBlbmNvZGVVUkkodXJsKS5yZXBsYWNlKC8jL2csICclMjMnKVxyXG5cclxuICAgIGlmKCFwb3N0KXtcclxuICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsLCB7XHJcbiAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHRydWUsXHJcbiAgICAgICAgb2JzZXJ2ZTogJ2V2ZW50cycsXHJcbiAgICAgICAgcmVzcG9uc2VUeXBlOiAnYmxvYicsXHJcbiAgICAgICAgcGFyYW1zOiBwYXJhbXNcclxuICAgICAgfSk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHVybCwgcGFyYW1zLCB7XHJcbiAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHRydWUsXHJcbiAgICAgICAgb2JzZXJ2ZTogJ2V2ZW50cycsXHJcbiAgICAgICAgcmVzcG9uc2VUeXBlOiAnYmxvYidcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAcGFyYW0gbHN0RmlsZXMgXHJcbiAgICogbGlzdGEgZGUgYXJxdWl2b3MgYSBzZXJlbSBiYWl4YWRvcyBcclxuICAgKiBAcGFyYW0gb25VcGRhdGUgXHJcbiAgICogZnVuY2FvIGNoYW1hZGEgYSBjYWRhIHByb2dyZXNzbyBkZSBkb3dubG9hZFxyXG4gICAqIEByZXR1cm5zIFxyXG4gICAqIGxpc3RhIGRlIHJlc3Bvc3RhcyBkb3MgYXJxdWl2b3MsIGNvbW8gcHJvbWlzZSwgcXVhbmRvIHRvZG9zIGVzdGl2ZXJlbSBjb21wbGV0b3Mgb3UgZGVyYW0gZXJybywgw6kgcmV0b3JuYWRhXHJcbiAgICovXHJcbiAgcHVibGljIGFzeW5jIEdldEJsb2JCYXRjaExpdmVSZXNwb25zZShsc3RGaWxlczogc3RyaW5nW10sIG9uVXBkYXRlOiAodG90YWxQcm9ncmVzczogbnVtYmVyLCBsc3RSZXNwb25zZT86IExpdmVSZXNwb25zZVtdLCBldmVudFR5cGU/OiBIdHRwRXZlbnRUeXBlKSA9PiB2b2lkKTogUHJvbWlzZTxMaXZlUmVzcG9uc2VbXT4ge1xyXG4gICAgaWYoIWxzdEZpbGVzIHx8IGxzdEZpbGVzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFtdKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBsc3Q6IExpdmVSZXNwb25zZVtdID0gbHN0RmlsZXMubWFwKHAgPT4gKHtcclxuICAgICAgcGF0aCAgICAgIDogcCxcclxuICAgICAgb2JzZXJ2YWJsZTogdGhpcy5HZXRGaWxlKHApLFxyXG4gICAgICBwcm9ncmVzcyAgOiAwLFxyXG4gICAgICBzdWNjZXNzICAgOiB1bmRlZmluZWQsXHJcbiAgICAgIGJsb2IgICAgICA6IHVuZGVmaW5lZFxyXG4gICAgfSkpO1xyXG5cclxuICAgIGNvbnN0IGlzQWxsQ29tcGxldGUgPSAoKSA9PiBsc3QuZXZlcnkob2JzID0+IG9icy5wcm9ncmVzcyA+PSAxKTtcclxuICAgIGNvbnN0IGdldFRvdGFsUHJvZ3Jlc3NBdmcgPSAoKSA9PiBsc3QucmVkdWNlKChhY2MsIG9icykgPT4gYWNjICsgb2JzLnByb2dyZXNzLCAwKSAvIGxzdC5sZW5ndGg7XHJcblxyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPExpdmVSZXNwb25zZVtdPigocmVzb2x2ZSkgPT4ge1xyXG4gICAgICBmb3IgKGNvbnN0IG9icyBvZiBsc3QpIHtcclxuICAgICAgICBvYnMub2JzZXJ2YWJsZS5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgbmV4dDogKGV2ZW50KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChldmVudC50eXBlID09PSBIdHRwRXZlbnRUeXBlLkRvd25sb2FkUHJvZ3Jlc3MpIHtcclxuICAgICAgICAgICAgICBvYnMucHJvZ3Jlc3MgPSBldmVudC5sb2FkZWQgLyBldmVudC50b3RhbDtcclxuICAgICAgICAgICAgICBvblVwZGF0ZShnZXRUb3RhbFByb2dyZXNzQXZnKCksIGxzdCwgZXZlbnQudHlwZSk7XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgaWYgKGV2ZW50LnR5cGUgPT09IEh0dHBFdmVudFR5cGUuUmVzcG9uc2UpIHtcclxuICAgICAgICAgICAgICBvYnMuYmxvYiA9IG5ldyBCbG9iKFtldmVudC5ib2R5XSwgeyB0eXBlOiBldmVudC5ib2R5LnR5cGUgfSk7XHJcbiAgICAgICAgICAgICAgb2JzLnN1Y2Nlc3MgPSB0cnVlO1xyXG4gICAgICAgICAgICAgIGlmKGlzQWxsQ29tcGxldGUoKSl7XHJcbiAgICAgICAgICAgICAgICByZXNvbHZlKGxzdCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIG9uVXBkYXRlKGdldFRvdGFsUHJvZ3Jlc3NBdmcoKSwgbHN0LCBldmVudC50eXBlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGVycm9yOiAoZXJyKSA9PiB7XHJcbiAgICAgICAgICAgIG9icy5zdWNjZXNzID0gZmFsc2U7XHJcbiAgICAgICAgICAgIG9icy5wcm9ncmVzcyA9IDE7XHJcbiAgICAgICAgICAgIG9uVXBkYXRlKGdldFRvdGFsUHJvZ3Jlc3NBdmcoKSwgbHN0KTtcclxuICAgICAgICAgICAgaWYoaXNBbGxDb21wbGV0ZSgpKXtcclxuICAgICAgICAgICAgICByZXNvbHZlKGxzdCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBHZXRCbG9iTGl2ZVJlc3BvbnNlKGZpbGU6IHN0cmluZywgb25VcGRhdGU/OiAocHJvZ3Jlc3M6IG51bWJlciwgcmVzcG9uc2U/OiBMaXZlUmVzcG9uc2UsIGV2ZW50VHlwZT86IEh0dHBFdmVudFR5cGUpID0+IHZvaWQpOiBQcm9taXNlPExpdmVSZXNwb25zZT4ge1xyXG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLkdldEJsb2JCYXRjaExpdmVSZXNwb25zZShbZmlsZV0sICh0b3RhbFByb2dyZXNzLCBsc3RSZXNwb25zZSwgZXZlbnRUeXBlKSA9PiB7XHJcbiAgICAgIG9uVXBkYXRlPy4odG90YWxQcm9ncmVzcywgbHN0UmVzcG9uc2VbMF0sIGV2ZW50VHlwZSk7XHJcbiAgICB9KSlbMF07XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEdldEZpbGVSZXNwb25zZXtcclxuICBwYXRoOiBzdHJpbmc7XHJcbiAgYmxvYj86IEJsb2I7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTGl2ZVJlc3BvbnNle1xyXG4gIHBhdGg6IHN0cmluZztcclxuICBvYnNlcnZhYmxlOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxCbG9iPj47XHJcbiAgcHJvZ3Jlc3M6IG51bWJlcjtcclxuICBibG9iPzogQmxvYjtcclxuICBzdWNjZXNzPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIERvd25sb2FkIHtcclxuICByZXF1ZXN0UHJvZ2VzczogT2JzZXJ2YWJsZTxhbnk+O1xyXG4gIHByb2dyZXNzICAgICAgOiBudW1iZXIgPSAwLjAwMDAxO1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBmaWxlOiBzdHJpbmcpe31cclxufVxyXG5cclxuZnVuY3Rpb24gRG93bmxvYWRGaWxlKGRhdGE6IEh0dHBSZXNwb25zZTxCbG9iPiwgZmlsZVVybCkge1xyXG4gIGNvbnN0IGRvd25sb2FkZWRGaWxlID0gbmV3IEJsb2IoW2RhdGEuYm9keV0sIHsgdHlwZTogZGF0YS5ib2R5LnR5cGUgfSk7XHJcblxyXG4gIHZhciBmaWxlVVJMID0gVVJMLmNyZWF0ZU9iamVjdFVSTChkb3dubG9hZGVkRmlsZSk7XHJcbiAgY29uc3QgbGlua0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYVwiKTtcclxuICBsaW5rRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJocmVmXCIsIGZpbGVVUkwpO1xyXG4gIGxpbmtFbGVtZW50LnNldEF0dHJpYnV0ZShcInRhcmdldFwiLCBcIl9ibGFua1wiKTtcclxuICBsaW5rRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJkb3dubG9hZFwiLCBTdG9yYWdlU2VydmljZS5TYW5pdGl6ZUZpbGVOYW1lKGZpbGVVcmwpKTtcclxuXHJcbiAgbGV0IG1lID0gbmV3IE1vdXNlRXZlbnQoXCJjbGlja1wiLCB7XHJcbiAgICAgIHZpZXc6IHdpbmRvdyxcclxuICAgICAgYnViYmxlczogdHJ1ZSxcclxuICAgICAgY2FuY2VsYWJsZTogZmFsc2UsXHJcbiAgfSk7XHJcblxyXG4gIGxpbmtFbGVtZW50LmRpc3BhdGNoRXZlbnQobWUpO1xyXG59Il19
|
|
@@ -446,16 +446,28 @@ class Utils {
|
|
|
446
446
|
return new Blob([Buffer.from(base64, "base64")], { type: mimeType });
|
|
447
447
|
}
|
|
448
448
|
static async GetPhoto(params) {
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
449
|
+
if (Capacitor.isNativePlatform()) {
|
|
450
|
+
const quality = params?.quality || 70;
|
|
451
|
+
const source = params?.source || CameraSource.Camera;
|
|
452
|
+
const ph = await Camera.getPhoto({
|
|
453
|
+
resultType: CameraResultType.Uri,
|
|
454
|
+
source: source,
|
|
455
|
+
quality: quality
|
|
456
|
+
});
|
|
457
|
+
const file = await fetch(ph.webPath);
|
|
458
|
+
const blob = await file.blob();
|
|
459
|
+
return { blob, fileName: ph.path.split('/').at(-1) };
|
|
460
|
+
}
|
|
461
|
+
else {
|
|
462
|
+
const f = await Utils.PickFile({
|
|
463
|
+
types: ['image/*'],
|
|
464
|
+
limit: 1,
|
|
465
|
+
});
|
|
466
|
+
return {
|
|
467
|
+
blob: f[0].blob,
|
|
468
|
+
fileName: f[0].name
|
|
469
|
+
};
|
|
470
|
+
}
|
|
459
471
|
}
|
|
460
472
|
static async PickFile(options) {
|
|
461
473
|
const Pick = await FilePicker.pickFiles(options);
|
|
@@ -2496,7 +2508,7 @@ class StorageService {
|
|
|
2496
2508
|
}
|
|
2497
2509
|
async GetBlobLiveResponse(file, onUpdate) {
|
|
2498
2510
|
return (await this.GetBlobBatchLiveResponse([file], (totalProgress, lstResponse, eventType) => {
|
|
2499
|
-
onUpdate(totalProgress, lstResponse[0], eventType);
|
|
2511
|
+
onUpdate?.(totalProgress, lstResponse[0], eventType);
|
|
2500
2512
|
}))[0];
|
|
2501
2513
|
}
|
|
2502
2514
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StorageService, deps: [{ token: i1$1.HttpClient }, { token: ApiUrlProviderService }, { token: GenericService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|