filestack-js 4.3.7 → 4.3.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,14 +1,22 @@
1
1
  {
2
+ "304.filestack.min.js": {
3
+ "src": "304.filestack.min.js",
4
+ "integrity": "sha256-EZuohDRtlrD06T6Ak0teaJUykNoHcC+M6CZ1UuM6K/o= sha384-iAPYU4/6s7LdcbgTadjkiVgj81uWwvpFfYibUsQEwC1TvEgrzRFaY6yLFRCVcKLv sha512-Mk0em/NgsspY3MHPoI81D1lS0HVlNaKJC/UZUqfwjgC92s5xgJsZSr0xtMhS9U+LcR9RqAptR63GYuqVzYiArw=="
5
+ },
6
+ "304.filestack.min.js.LICENSE.txt": {
7
+ "src": "304.filestack.min.js.LICENSE.txt",
8
+ "integrity": "sha256-uCI3dGZR9WqFzeZltEE1J7h4v7G/yo4yhY7XRGAf3WY= sha384-nxQIdjRG685T1oMzXQcDc8jdeT9KarwGGQ6jOGM+3/ghf7nWJDuEd06Op7Nrq6HR sha512-aO4oV44jeiZ4Sy0t2u0MpeedWZOV0yxzZbNf3pT+GdaLAcf+led3wiy7PoLYLlq6ARmX4lK46bEkE81F0JJ9bw=="
9
+ },
2
10
  "filestack.min.js.LICENSE.txt": {
3
11
  "src": "filestack.min.js.LICENSE.txt",
4
- "integrity": "sha256-xyYoUbyDNqI0HxsWgJkDFJydlYmi83ZaweoqIlDGpsM= sha384-NgxOKLrBWtSCLhB+9OfzG3o26uNMfJpETpVduw1KZztJglSWgsZbIxWnt7iqIjKY sha512-2cbhkrNqZCaQ0Zj2thz4KBGbRGof6c0Va845U45S4Ve9jMb9X9+s3Gk8SBbfn2EIdbc8cH4VXSEos2gbKjWBrQ=="
12
+ "integrity": "sha256-DrSO3wQkgngb2Wkn6CerS7yNYXCRza3+ljywFmrUz2U= sha384-NSmkLrqztxGVcjwsOdPJVQVVK6o2FHJ519ryPLKNio7ML3NRmwMAdgShqSXYK3Be sha512-eijemXxVKfh0vp/wsfFXO0ulcLG2kGT496Vvx0dvmjW8/XhEhsHlMD+ipYFaEFHFkt7nyW/RzcryAF0GO8TnIg=="
5
13
  },
6
14
  "filestack.min.js.map": {
7
15
  "src": "filestack.min.js.map",
8
- "integrity": "sha256-K8rMh3/uEU2FSFDGfkEr8qvcdyKIkemyK+MFuCKnenE= sha384-0B/wjKDFL7vEvNGheR00+eTxccMizSEX4kAABo9IZTLMmRayJNob+d93KYgT+aHg sha512-s8R5Seq7BV7k6L6chGAOX36dmJHtpcC2j0yR6t+Cebo6HhH6jILAoEIrs/H9XpaNMwQwUiQLo0NgAP+J7Yb+oQ=="
16
+ "integrity": "sha256-8V0PsjJqiNZ4SRajH23k5k0qpn+EuNuvX7lM53r/d14= sha384-oSxkzQtLNRC1piCsm5o6rncTF3H3jEujq8IpRL8k/YR76oArjqOHXF98NxUkB5HX sha512-v3pjpltpq2PuJjzpBfLUM9xGqPB+AM4lc7t2JK4+VFdT934eS9r6QgT4rPHAHR5kr1PCf2MwJiSTWUUC/YjJzQ=="
9
17
  },
10
18
  "main.js": {
11
19
  "src": "filestack.min.js",
12
- "integrity": "sha256-dS+IZNUGilWVQMcHruY65PgFv0StABzMrQdB++XpIB4= sha384-nhM3lSSghJa3JhWmrxED5bHeOaCzHhzUXC1H3ajOu1xL40oiyUGqzOZiigG9/CRt sha512-P/0/V9szL/WJ769g1apoe6GUkO03M3kBt+XYaMSeSlB9TqmUbnUhg0q8XJnH7vOTppL91o3+Uo8XglK2AgefNw=="
20
+ "integrity": "sha256-S/wa9VsAxyFXWILrN+v0z2nEn2Urm2uTWLtkpfAFwyE= sha384-iFz9CGoRFOI0kQkylQQluDEJuVJa5JY/CgDy5x+sIL0ffJYJriZ9JTwrG5yPdjzL sha512-JASKFyjt+cZOPWb2NsXuys2blsu4qyJFcDFr4xlZD9e+d4tRy3UQi9frEG9wPTO28ywb45pyFP8UN8BhS3aKUA=="
13
21
  }
14
22
  }
@@ -23,7 +23,7 @@ export declare const init: (apikey: string, options?: ClientOptions) => Client;
23
23
  /**
24
24
  * filestack-js version. Interpolated at build time.
25
25
  */
26
- export declare const version = "4.3.7";
26
+ export declare const version = "4.3.8";
27
27
  export * from './lib/api/transform';
28
28
  export * from './lib/filelink';
29
29
  export * from './filestack_error';
@@ -49,8 +49,8 @@ exports.init = exports.Filestack;
49
49
  /**
50
50
  * filestack-js version. Interpolated at build time.
51
51
  */
52
- exports.version = '4.3.7';
53
- (0, loader_1.registerModule)(loader_1.FILESTACK_MODULES.FILESTACK_SDK, exports.Filestack, { version: '4.3.7' });
52
+ exports.version = '4.3.8';
53
+ (0, loader_1.registerModule)(loader_1.FILESTACK_MODULES.FILESTACK_SDK, exports.Filestack, { version: '4.3.8' });
54
54
  tslib_1.__exportStar(require("./lib/api/transform"), exports);
55
55
  tslib_1.__exportStar(require("./lib/filelink"), exports);
56
56
  tslib_1.__exportStar(require("./filestack_error"), exports);
@@ -49,7 +49,7 @@ exports.b64 = b64;
49
49
  * Return currently used filestack-js sdk version
50
50
  */
51
51
  var getVersion = function () {
52
- return 'JS-4.3.7';
52
+ return 'JS-4.3.8';
53
53
  };
54
54
  exports.getVersion = getVersion;
55
55
  /**
@@ -102,7 +102,7 @@ var getMimetype = function (file, name) { return tslib_1.__awaiter(void 0, void
102
102
  switch (_a.label) {
103
103
  case 0:
104
104
  _a.trys.push([0, 2, , 3]);
105
- return [4 /*yield*/, (0, file_type_1.fromBuffer)(file)];
105
+ return [4 /*yield*/, (0, file_type_1.fileTypeFromBuffer)(file)];
106
106
  case 1:
107
107
  type = _a.sent();
108
108
  return [3 /*break*/, 3];
@@ -241,4 +241,4 @@ var cleanUpCallbacks = function (obj) {
241
241
  exports.cleanUpCallbacks = cleanUpCallbacks;
242
242
  tslib_1.__exportStar(require("./index.node"), exports);
243
243
 
244
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7OztBQUlILDJDQUE2QztBQUM3Qyx1Q0FBdUM7QUFDdkMsMERBQTRCO0FBRTVCOzs7Ozs7R0FNRztBQUNJLElBQU0sYUFBYSxHQUFHLFVBQUMsT0FBZ0IsRUFBRSxNQUFjO0lBQzVELElBQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBRW5DLElBQUksTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtRQUM1RSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLG9EQUFvRCxDQUFDLENBQUM7U0FDdkU7UUFFRCx3REFBd0Q7UUFDeEQsT0FBTyxVQUFHLE1BQU0sY0FBSSxPQUFPLENBQUMsTUFBTSxDQUFFLENBQUM7S0FDdEM7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDLENBQUM7QUFiVyxRQUFBLGFBQWEsaUJBYXhCO0FBRUY7Ozs7OztHQU1HO0FBQ0ksSUFBTSxXQUFXLEdBQUcsVUFBQyxJQUFXLEVBQUUsS0FBYTtJQUNwRCxJQUFJLENBQUMsS0FBSyxFQUFFO1FBQ1YsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELElBQU0sS0FBSyxHQUFHLHdDQUF3QyxDQUFDO0lBRXZELE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQUEsR0FBRztRQUMzQixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDOUMsQ0FBQyxDQUFDLENBQUM7SUFF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O0tBQ1o7SUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFBLENBQUM7UUFDeEIsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxVQUFVLEVBQUU7WUFDaEMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQztTQUNwQjtRQUVELElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUM3QixHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBQSx3QkFBZ0IsRUFBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNuQztJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDLENBQUM7QUFoQlcsUUFBQSxnQkFBZ0Isb0JBZ0IzQjtBQUVGLHVEQUE2QiIsImZpbGUiOiJsaWIvdXRpbHMvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBTZXNzaW9uIH0gZnJvbSAnLi4vY2xpZW50JztcbmltcG9ydCB7IEhvc3RzIH0gZnJvbSAnLi8uLi8uLi9jb25maWcnO1xuaW1wb3J0IHsgRXh0ZW5zaW9uc01hcCB9IGZyb20gJy4vZXh0ZW5zaW9ucyc7XG5pbXBvcnQgeyBmcm9tQnVmZmVyIH0gZnJvbSAnZmlsZS10eXBlJztcbmltcG9ydCBpc3V0ZjggZnJvbSAnaXN1dGY4JztcblxuLyoqXG4gKiBSZXNvbHZlIGNkbiB1cmwgYmFzZWQgb24gaGFuZGxlIHR5cGVcbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHNlc3Npb24gc2Vzc2lvbiBvYmplY3RcbiAqIEBwYXJhbSBoYW5kbGUgZmlsZSBoYW5kbGUgKGhhc2gsIHNyYzovL2FsaWFzLCB1cmwpXG4gKi9cbmV4cG9ydCBjb25zdCByZXNvbHZlQ2RuVXJsID0gKHNlc3Npb246IFNlc3Npb24sIGhhbmRsZTogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgY29uc3QgY2RuVVJMID0gc2Vzc2lvbi51cmxzLmNkblVybDtcblxuICBpZiAoaGFuZGxlICYmIChoYW5kbGUuaW5kZXhPZignc3JjOicpID09PSAwIHx8IGhhbmRsZS5pbmRleE9mKCdodHRwJykgPT09IDApKSB7XG4gICAgaWYgKCFzZXNzaW9uLmFwaWtleSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdBcGkga2V5IGlzIHJlcXVpcmVkIHdoZW4gc3RvcmFnZSBhbGlhcyBpcyBwcm92aWRlZCcpO1xuICAgIH1cblxuICAgIC8vIGFwaWtleSBpcyByZXF1aXJlZCBmb3IgYWxpYXMgb3IgZXh0ZXJuYWwgc291cmNlcyBjYWxsXG4gICAgcmV0dXJuIGAke2NkblVSTH0vJHtzZXNzaW9uLmFwaWtleX1gO1xuICB9XG5cbiAgcmV0dXJuIGNkblVSTDtcbn07XG5cbi8qKlxuICogUmVzb2x2ZSBhbGwgdXJscyB3aXRoIHByb3ZpZGVkIGNuYW1lc1xuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0gdXJsc1xuICogQHBhcmFtIGNuYW1lXG4gKi9cbmV4cG9ydCBjb25zdCByZXNvbHZlSG9zdCA9ICh1cmxzOiBIb3N0cywgY25hbWU6IHN0cmluZyk6IEhvc3RzID0+IHtcbiAgaWYgKCFjbmFtZSkge1xuICAgIHJldHVybiB1cmxzO1xuICB9XG5cbiAgY29uc3QgaG9zdHMgPSAvZmlsZXN0YWNrYXBpLmNvbXxmaWxlc3RhY2tjb250ZW50LmNvbS9pO1xuXG4gIE9iamVjdC5rZXlzKHVybHMpLmZvckVhY2goa2V5ID0+IHtcbiAgICB1cmxzW2tleV0gPSB1cmxzW2tleV0ucmVwbGFjZShob3N0cywgY25hbWUpO1xuICB9KTtcblxuICByZXR1cm4gdXJscztcbn07XG5cbi8qKlxuICogUmVtb3ZlcyBlbXB0eSBvcHRpb25zIGZyb20gb2JqZWN0XG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSBvYmpcbiAqL1xuZXhwb3J0IGNvbnN0IHJlbW92ZUVtcHR5ID0gKG9iajogYW55KSA9PiB7XG4gIGNvbnN0IG5ld09iaiA9IHsgLi4ub2JqIH07XG4gIE9iamVjdC5rZXlzKG5ld09iaikuZm9yRWFjaChrID0+ICFuZXdPYmpba10gJiYgdHlwZW9mIG5ld09ialtrXSAhPT0gJ2Jvb2xlYW4nICYmIGRlbGV0ZSBuZXdPYmpba10pO1xuICByZXR1cm4gbmV3T2JqO1xufTtcblxuLyoqXG4gKiBSZXR1cm5zIHVuaXF1ZSB0aW1lXG4gKi9cbmxldCBsYXN0O1xuZXhwb3J0IGNvbnN0IHVuaXF1ZVRpbWUgPSAoKSA9PiB7XG4gIGNvbnN0IHRpbWUgPSBEYXRlLm5vdygpO1xuICBsYXN0ID0gdGltZSA9PT0gbGFzdCA/IHRpbWUgKyAxIDogdGltZTtcbiAgcmV0dXJuIGxhc3Q7XG59O1xuXG4vKipcbiAqIEdlbmVyYXRlcyByYW5kb20gc3RyaW5nIHdpdGggcHJvdmlkZWQgbGVuZ3RoXG4gKlxuICogQHBhcmFtIGxlblxuICovXG5leHBvcnQgY29uc3QgdW5pcXVlSWQgPSAobGVuOiBudW1iZXIgPSAxMCk6IHN0cmluZyA9PiB7XG4gIHJldHVybiBuZXcgQXJyYXkobGVuKS5qb2luKCkucmVwbGFjZSgvKC58JCkvZywgKCkgPT4gKChNYXRoLnJhbmRvbSgpICogMzYpIHwgMCkudG9TdHJpbmcoMzYpW01hdGgucmFuZG9tKCkgPCAwLjUgPyAndG9TdHJpbmcnIDogJ3RvVXBwZXJDYXNlJ10oKSk7XG59O1xuXG4vKipcbiAqIENoZWNrIGlmIGlucHV0IGlzIGEgc3ZnXG4gKlxuICogQHBhcmFtIHtVaW50OEFycmF5IHwgQnVmZmVyfSBmaWxlXG4gKiBAcmV0dXJucyB7c3RyaW5nfSAtIG1pbWV0eXBlXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRNaW1ldHlwZSA9IGFzeW5jIChmaWxlOiBVaW50OEFycmF5IHwgQnVmZmVyLCBuYW1lPzogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+ID0+IHtcbiAgbGV0IHR5cGU7XG5cbiAgdHJ5IHtcbiAgICB0eXBlID0gYXdhaXQgZnJvbUJ1ZmZlcihmaWxlKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbnNvbGUud2FybignQW4gZXhjZXB0aW9uIG9jY3VycmVkIHdoaWxlIHByb2Nlc3NpbmcgdGhlIGJ1ZmZlcjonLCBlLm1lc3NhZ2UpO1xuICB9XG5cbiAgY29uc3QgZXhjbHVkZWRNaW1ldHlwZXMgPSBbJ3RleHQvcGxhaW4nLCAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJywgJ2FwcGxpY2F0aW9uL3gtbXMnLCAnYXBwbGljYXRpb24veC1tc2knLCAnYXBwbGljYXRpb24vemlwJywgJ2F1ZGlvL3gtbTRhJ107XG5cbiAgaWYgKHR5cGUgJiYgZXhjbHVkZWRNaW1ldHlwZXMuaW5kZXhPZih0eXBlLm1pbWUpID09PSAtMSkge1xuICAgIHJldHVybiB0eXBlLm1pbWU7XG4gIH1cblxuICBpZiAobmFtZSAmJiBuYW1lLmluZGV4T2YoJy4nKSA+IC0xKSB7XG4gICAgY29uc3QgbWltZSA9IGV4dGVuc2lvblRvTWltZShuYW1lKTtcblxuICAgIGlmIChtaW1lKSB7XG4gICAgICByZXR1cm4gbWltZTtcbiAgICB9XG4gIH1cblxuICB0cnkge1xuICAgIGlmIChpc3V0ZjgoZmlsZSkpIHtcbiAgICAgIHJldHVybiAndGV4dC9wbGFpbic7XG4gICAgfVxuICB9IGNhdGNoIChlKSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBjb25zb2xlLndhcm4oJ0FkZGl0aW9uYWwgbWltZXR5cGUgY2hlY2tzICh0ZXh0L3BsYWluKSBhcmUgY3VycmVudGx5IG5vdCBzdXBwb3J0ZWQgZm9yIGJyb3dzZXJzJyk7XG4gIH1cbiAgLy8gdGhpcyBpcyBvbmx5IGZhbGxiYWNrLCBvbWl0IGl0IGluIGNvdmVyYWdlXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG5cbiAgLy8gaWYgd2UgY2FudCBmaW5kIHR5cGVzIGJ5IGV4dGVuc2lvbnMgYW5kIHdlIGhhdmUgbWFnaWMgYnl0ZXMgZmFsbGJhY2sgdG8gaXRcbiAgaWYgKHR5cGUpIHtcbiAgICByZXR1cm4gdHlwZS5taW1lO1xuICB9XG5cbiAgcmV0dXJuICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nO1xufTtcblxuLyoqXG4gKiBDaGFuZ2UgZXh0ZW5zaW9uIHRvIGFjY29yZGluZyBtaW1ldHlwZSB1c2luZyBleHQ9Pm1pbWV0eXBlIG1hcFxuICpcbiAqIEBwYXJhbSBleHQgLSBzdHJpbmdcbiAqIEByZXR1cm4gc3RyaW5nfGJvb2xlYW5cbiAqL1xuZXhwb3J0IGNvbnN0IGV4dGVuc2lvblRvTWltZSA9IChleHQ6IHN0cmluZykgPT4ge1xuICBpZiAoIWV4dCB8fCBleHQubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKGV4dC5zcGxpdCgnLycpLmxlbmd0aCA9PT0gMikge1xuICAgIHJldHVybiBleHQ7XG4gIH1cblxuICBpZiAoZXh0LmluZGV4T2YoJy4nKSA+IC0xKSB7XG4gICAgZXh0ID0gZXh0LnNwbGl0KCcuJykucG9wKCk7XG4gIH1cblxuICBleHQgPSBleHQudG9Mb2NhbGVMb3dlckNhc2UoKTtcblxuICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoRXh0ZW5zaW9uc01hcCk7XG4gIGNvbnN0IG1hcExlbiA9IGtleXMubGVuZ3RoO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbWFwTGVuOyBpKyspIHtcbiAgICBpZiAoRXh0ZW5zaW9uc01hcFtrZXlzW2ldXS5pbmRleE9mKGV4dCkgPiAtMSkge1xuICAgICAgcmV0dXJuIGtleXNbaV07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuO1xufTtcblxuLyoqXG4gKiBTYW5pdGl6ZXIgT3B0aW9uc1xuICovXG5leHBvcnQgdHlwZSBTYW5pdGl6ZU9wdGlvbnMgPVxuICB8IGJvb2xlYW5cbiAgfCB7XG4gICAgICBleGNsdWRlPzogc3RyaW5nW107XG4gICAgICByZXBsYWNlbWVudD86IHN0cmluZztcbiAgICB9O1xuXG4vKipcbiAqIFNhbml0aXplIGZpbGUgbmFtZVxuICpcbiAqIEBwYXJhbSBuYW1lXG4gKiBAcGFyYW0ge2Jvb2x9IG9wdGlvbnMgIC0gZW5hYmxlLGRpc2FibGUgc2FuaXRpemVyLCBkZWZhdWx0IGVuYWJsZWRcbiAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLnJlcGxhY2VtZW50IC0gcmVwbGFjZW1lbnQgZm9yIHNhbml0aXplZCBjaGFycyBkZWZhdWx0cyB0byBcIi1cIlxuICogQHBhcmFtIHtzdHJpbmdbXX0gb3B0aW9ucy5leGNsdWRlIC0gYXJyYXkgd2l0aCBleGNsdWRlZCBjaGFycyBkZWZhdWx0IC0gYFsnXFwnLCAneycsICd9JywnfCcsICclJywgJ2AnLCAnXCInLCBcIidcIiwgJ34nLCAnWycsICddJywgJyMnLCAnfCcsICdeJywgJzwnLCAnPiddYFxuICovXG5leHBvcnQgY29uc3Qgc2FuaXRpemVOYW1lID0gKG5hbWU6IHN0cmluZywgb3B0aW9uczogU2FuaXRpemVPcHRpb25zID0gdHJ1ZSk6IHN0cmluZyA9PiB7XG4gIGlmICh0eXBlb2Ygb3B0aW9ucyA9PT0gJ2Jvb2xlYW4nICYmICFvcHRpb25zKSB7XG4gICAgcmV0dXJuIG5hbWU7XG4gIH1cblxuICBsZXQgZXh0O1xuXG4gIGNvbnN0IHJlcGxhY2VtZW50ID0gdHlwZW9mIG9wdGlvbnMgIT09ICdib29sZWFuJyAmJiBvcHRpb25zLnJlcGxhY2VtZW50ID8gb3B0aW9ucy5yZXBsYWNlbWVudCA6ICctJztcbiAgY29uc3QgZXhjbHVkZSA9IHR5cGVvZiBvcHRpb25zICE9PSAnYm9vbGVhbicgJiYgb3B0aW9ucy5leGNsdWRlID8gb3B0aW9ucy5leGNsdWRlIDogWydcXFxcJywgJ3snLCAnfScsICd8JywgJyUnLCAnYCcsICdcIicsIFwiJ1wiLCAnficsICdbJywgJ10nLCAnIycsICd8JywgJ14nLCAnPCcsICc+J107XG5cbiAgaWYgKCFuYW1lIHx8IG5hbWUubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuICd1bmRlZmluZWQnO1xuICB9XG5cbiAgY29uc3QgZmlsZVBhcnRzID0gbmFtZS5zcGxpdCgnLicpO1xuXG4gIGlmIChmaWxlUGFydHMubGVuZ3RoID4gMSkge1xuICAgIGV4dCA9IGZpbGVQYXJ0cy5wb3AoKTtcbiAgfVxuXG4gIHJldHVybiBgJHtmaWxlUGFydHNcbiAgICAuam9pbignLicpXG4gICAgLnNwbGl0KCcnKVxuICAgIC5tYXAoY2hhciA9PiAoZXhjbHVkZS5pbmRleE9mKGNoYXIpID4gLTEgPyByZXBsYWNlbWVudCA6IGNoYXIpKVxuICAgIC5qb2luKCcnKX0ke2V4dCA/ICcuJyArIGV4dCA6ICcnfWA7XG59O1xuXG4vKipcbiAqIEZpbHRlciBvYmplY3QgdG8gZ2l2ZW4gZmllbGRzXG4gKlxuICogQHBhcmFtIHRvRmlsdGVyXG4gKiBAcGFyYW0gcmVxdWlyZWRGaWVsZHNcbiAqL1xuZXhwb3J0IGNvbnN0IGZpbHRlck9iamVjdCA9ICh0b0ZpbHRlciwgcmVxdWlyZWRGaWVsZHM6IHN0cmluZ1tdKSA9PiB7XG4gIGlmICghcmVxdWlyZWRGaWVsZHMgfHwgcmVxdWlyZWRGaWVsZHMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIHRvRmlsdGVyO1xuICB9XG5cbiAgaWYgKE9iamVjdC5rZXlzKHRvRmlsdGVyKS5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gdG9GaWx0ZXI7XG4gIH1cblxuICByZXR1cm4gT2JqZWN0LmtleXModG9GaWx0ZXIpXG4gICAgLmZpbHRlcihmID0+IHJlcXVpcmVkRmllbGRzLmluZGV4T2YoZikgPiAtMSlcbiAgICAucmVkdWNlKChvYmosIGtleSkgPT4gKHsgLi4ub2JqLCBba2V5XTogdG9GaWx0ZXJba2V5XSB9KSwge30pO1xufTtcblxuLyoqXG4gKiBEZWVwIGNsZWFudXAgb2JqZWN0IGZyb20gZnVuY3Rpb25zXG4gKlxuICogQHBhcmFtIG9ialxuICovXG5leHBvcnQgY29uc3QgY2xlYW5VcENhbGxiYWNrcyA9IChvYmo6IGFueSkgPT4ge1xuICBpZiAoIW9iaiB8fCBPYmplY3Qua2V5cyhvYmopLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBvYmo7XG4gIH1cblxuICBPYmplY3Qua2V5cyhvYmopLmZvckVhY2goayA9PiB7XG4gICAgaWYgKHR5cGVvZiBvYmpba10gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIG9ialtrXSA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAob2JqW2tdID09PSBPYmplY3Qob2JqW2tdKSkge1xuICAgICAgb2JqW2tdID0gY2xlYW5VcENhbGxiYWNrcyhvYmpba10pO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIG9iajtcbn07XG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgubm9kZSc7XG4iXX0=
244
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRzs7OztBQUlILDJDQUE2QztBQUM3Qyx1Q0FBK0M7QUFDL0MsMERBQTRCO0FBRTVCOzs7Ozs7R0FNRztBQUNJLElBQU0sYUFBYSxHQUFHLFVBQUMsT0FBZ0IsRUFBRSxNQUFjO0lBQzVELElBQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBRW5DLElBQUksTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtRQUM1RSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLG9EQUFvRCxDQUFDLENBQUM7U0FDdkU7UUFFRCx3REFBd0Q7UUFDeEQsT0FBTyxVQUFHLE1BQU0sY0FBSSxPQUFPLENBQUMsTUFBTSxDQUFFLENBQUM7S0FDdEM7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDLENBQUM7QUFiVyxRQUFBLGFBQWEsaUJBYXhCO0FBRUY7Ozs7OztHQU1HO0FBQ0ksSUFBTSxXQUFXLEdBQUcsVUFBQyxJQUFXLEVBQUUsS0FBYTtJQUNwRCxJQUFJLENBQUMsS0FBSyxFQUFFO1FBQ1YsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELElBQU0sS0FBSyxHQUFHLHdDQUF3QyxDQUFDO0lBRXZELE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQUEsR0FBRztRQUMzQixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDOUMsQ0FBQyxDQUFDLENBQUM7SUFF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QUM7S0FDWjtJQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQUEsQ0FBQztRQUN4QixJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLFVBQVUsRUFBRTtZQUNoQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDO1NBQ3BCO1FBRUQsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzdCLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFBLHdCQUFnQixFQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ25DO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMsQ0FBQztBQWhCVyxRQUFBLGdCQUFnQixvQkFnQjNCO0FBRUYsdURBQTZCIiwiZmlsZSI6ImxpYi91dGlscy9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggYnkgRmlsZXN0YWNrLlxuICogU29tZSByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IFNlc3Npb24gfSBmcm9tICcuLi9jbGllbnQnO1xuaW1wb3J0IHsgSG9zdHMgfSBmcm9tICcuLy4uLy4uL2NvbmZpZyc7XG5pbXBvcnQgeyBFeHRlbnNpb25zTWFwIH0gZnJvbSAnLi9leHRlbnNpb25zJztcbmltcG9ydCB7IGZpbGVUeXBlRnJvbUJ1ZmZlciB9IGZyb20gJ2ZpbGUtdHlwZSc7XG5pbXBvcnQgaXN1dGY4IGZyb20gJ2lzdXRmOCc7XG5cbi8qKlxuICogUmVzb2x2ZSBjZG4gdXJsIGJhc2VkIG9uIGhhbmRsZSB0eXBlXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSBzZXNzaW9uIHNlc3Npb24gb2JqZWN0XG4gKiBAcGFyYW0gaGFuZGxlIGZpbGUgaGFuZGxlIChoYXNoLCBzcmM6Ly9hbGlhcywgdXJsKVxuICovXG5leHBvcnQgY29uc3QgcmVzb2x2ZUNkblVybCA9IChzZXNzaW9uOiBTZXNzaW9uLCBoYW5kbGU6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IGNkblVSTCA9IHNlc3Npb24udXJscy5jZG5Vcmw7XG5cbiAgaWYgKGhhbmRsZSAmJiAoaGFuZGxlLmluZGV4T2YoJ3NyYzonKSA9PT0gMCB8fCBoYW5kbGUuaW5kZXhPZignaHR0cCcpID09PSAwKSkge1xuICAgIGlmICghc2Vzc2lvbi5hcGlrZXkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQXBpIGtleSBpcyByZXF1aXJlZCB3aGVuIHN0b3JhZ2UgYWxpYXMgaXMgcHJvdmlkZWQnKTtcbiAgICB9XG5cbiAgICAvLyBhcGlrZXkgaXMgcmVxdWlyZWQgZm9yIGFsaWFzIG9yIGV4dGVybmFsIHNvdXJjZXMgY2FsbFxuICAgIHJldHVybiBgJHtjZG5VUkx9LyR7c2Vzc2lvbi5hcGlrZXl9YDtcbiAgfVxuXG4gIHJldHVybiBjZG5VUkw7XG59O1xuXG4vKipcbiAqIFJlc29sdmUgYWxsIHVybHMgd2l0aCBwcm92aWRlZCBjbmFtZXNcbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHVybHNcbiAqIEBwYXJhbSBjbmFtZVxuICovXG5leHBvcnQgY29uc3QgcmVzb2x2ZUhvc3QgPSAodXJsczogSG9zdHMsIGNuYW1lOiBzdHJpbmcpOiBIb3N0cyA9PiB7XG4gIGlmICghY25hbWUpIHtcbiAgICByZXR1cm4gdXJscztcbiAgfVxuXG4gIGNvbnN0IGhvc3RzID0gL2ZpbGVzdGFja2FwaS5jb218ZmlsZXN0YWNrY29udGVudC5jb20vaTtcblxuICBPYmplY3Qua2V5cyh1cmxzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgdXJsc1trZXldID0gdXJsc1trZXldLnJlcGxhY2UoaG9zdHMsIGNuYW1lKTtcbiAgfSk7XG5cbiAgcmV0dXJuIHVybHM7XG59O1xuXG4vKipcbiAqIFJlbW92ZXMgZW1wdHkgb3B0aW9ucyBmcm9tIG9iamVjdFxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0gb2JqXG4gKi9cbmV4cG9ydCBjb25zdCByZW1vdmVFbXB0eSA9IChvYmo6IGFueSkgPT4ge1xuICBjb25zdCBuZXdPYmogPSB7IC4uLm9iaiB9O1xuICBPYmplY3Qua2V5cyhuZXdPYmopLmZvckVhY2goayA9PiAhbmV3T2JqW2tdICYmIHR5cGVvZiBuZXdPYmpba10gIT09ICdib29sZWFuJyAmJiBkZWxldGUgbmV3T2JqW2tdKTtcbiAgcmV0dXJuIG5ld09iajtcbn07XG5cbi8qKlxuICogUmV0dXJucyB1bmlxdWUgdGltZVxuICovXG5sZXQgbGFzdDtcbmV4cG9ydCBjb25zdCB1bmlxdWVUaW1lID0gKCkgPT4ge1xuICBjb25zdCB0aW1lID0gRGF0ZS5ub3coKTtcbiAgbGFzdCA9IHRpbWUgPT09IGxhc3QgPyB0aW1lICsgMSA6IHRpbWU7XG4gIHJldHVybiBsYXN0O1xufTtcblxuLyoqXG4gKiBHZW5lcmF0ZXMgcmFuZG9tIHN0cmluZyB3aXRoIHByb3ZpZGVkIGxlbmd0aFxuICpcbiAqIEBwYXJhbSBsZW5cbiAqL1xuZXhwb3J0IGNvbnN0IHVuaXF1ZUlkID0gKGxlbjogbnVtYmVyID0gMTApOiBzdHJpbmcgPT4ge1xuICByZXR1cm4gbmV3IEFycmF5KGxlbikuam9pbigpLnJlcGxhY2UoLygufCQpL2csICgpID0+ICgoTWF0aC5yYW5kb20oKSAqIDM2KSB8IDApLnRvU3RyaW5nKDM2KVtNYXRoLnJhbmRvbSgpIDwgMC41ID8gJ3RvU3RyaW5nJyA6ICd0b1VwcGVyQ2FzZSddKCkpO1xufTtcblxuLyoqXG4gKiBDaGVjayBpZiBpbnB1dCBpcyBhIHN2Z1xuICpcbiAqIEBwYXJhbSB7VWludDhBcnJheSB8IEJ1ZmZlcn0gZmlsZVxuICogQHJldHVybnMge3N0cmluZ30gLSBtaW1ldHlwZVxuICovXG5leHBvcnQgY29uc3QgZ2V0TWltZXR5cGUgPSBhc3luYyAoZmlsZTogVWludDhBcnJheSB8IEJ1ZmZlciwgbmFtZT86IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiA9PiB7XG4gIGxldCB0eXBlO1xuXG4gIHRyeSB7XG4gICAgdHlwZSA9IGF3YWl0IGZpbGVUeXBlRnJvbUJ1ZmZlcihmaWxlIGFzIFVpbnQ4QXJyYXkpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgY29uc29sZS53YXJuKCdBbiBleGNlcHRpb24gb2NjdXJyZWQgd2hpbGUgcHJvY2Vzc2luZyB0aGUgYnVmZmVyOicsIGUubWVzc2FnZSk7XG4gIH1cblxuICBjb25zdCBleGNsdWRlZE1pbWV0eXBlcyA9IFsndGV4dC9wbGFpbicsICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nLCAnYXBwbGljYXRpb24veC1tcycsICdhcHBsaWNhdGlvbi94LW1zaScsICdhcHBsaWNhdGlvbi96aXAnLCAnYXVkaW8veC1tNGEnXTtcblxuICBpZiAodHlwZSAmJiBleGNsdWRlZE1pbWV0eXBlcy5pbmRleE9mKHR5cGUubWltZSkgPT09IC0xKSB7XG4gICAgcmV0dXJuIHR5cGUubWltZTtcbiAgfVxuXG4gIGlmIChuYW1lICYmIG5hbWUuaW5kZXhPZignLicpID4gLTEpIHtcbiAgICBjb25zdCBtaW1lID0gZXh0ZW5zaW9uVG9NaW1lKG5hbWUpO1xuXG4gICAgaWYgKG1pbWUpIHtcbiAgICAgIHJldHVybiBtaW1lO1xuICAgIH1cbiAgfVxuXG4gIHRyeSB7XG4gICAgaWYgKGlzdXRmOChmaWxlKSkge1xuICAgICAgcmV0dXJuICd0ZXh0L3BsYWluJztcbiAgICB9XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIGNvbnNvbGUud2FybignQWRkaXRpb25hbCBtaW1ldHlwZSBjaGVja3MgKHRleHQvcGxhaW4pIGFyZSBjdXJyZW50bHkgbm90IHN1cHBvcnRlZCBmb3IgYnJvd3NlcnMnKTtcbiAgfVxuICAvLyB0aGlzIGlzIG9ubHkgZmFsbGJhY2ssIG9taXQgaXQgaW4gY292ZXJhZ2VcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cblxuICAvLyBpZiB3ZSBjYW50IGZpbmQgdHlwZXMgYnkgZXh0ZW5zaW9ucyBhbmQgd2UgaGF2ZSBtYWdpYyBieXRlcyBmYWxsYmFjayB0byBpdFxuICBpZiAodHlwZSkge1xuICAgIHJldHVybiB0eXBlLm1pbWU7XG4gIH1cblxuICByZXR1cm4gJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSc7XG59O1xuXG4vKipcbiAqIENoYW5nZSBleHRlbnNpb24gdG8gYWNjb3JkaW5nIG1pbWV0eXBlIHVzaW5nIGV4dD0+bWltZXR5cGUgbWFwXG4gKlxuICogQHBhcmFtIGV4dCAtIHN0cmluZ1xuICogQHJldHVybiBzdHJpbmd8Ym9vbGVhblxuICovXG5leHBvcnQgY29uc3QgZXh0ZW5zaW9uVG9NaW1lID0gKGV4dDogc3RyaW5nKSA9PiB7XG4gIGlmICghZXh0IHx8IGV4dC5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoZXh0LnNwbGl0KCcvJykubGVuZ3RoID09PSAyKSB7XG4gICAgcmV0dXJuIGV4dDtcbiAgfVxuXG4gIGlmIChleHQuaW5kZXhPZignLicpID4gLTEpIHtcbiAgICBleHQgPSBleHQuc3BsaXQoJy4nKS5wb3AoKTtcbiAgfVxuXG4gIGV4dCA9IGV4dC50b0xvY2FsZUxvd2VyQ2FzZSgpO1xuXG4gIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhFeHRlbnNpb25zTWFwKTtcbiAgY29uc3QgbWFwTGVuID0ga2V5cy5sZW5ndGg7XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXBMZW47IGkrKykge1xuICAgIGlmIChFeHRlbnNpb25zTWFwW2tleXNbaV1dLmluZGV4T2YoZXh0KSA+IC0xKSB7XG4gICAgICByZXR1cm4ga2V5c1tpXTtcbiAgICB9XG4gIH1cblxuICByZXR1cm47XG59O1xuXG4vKipcbiAqIFNhbml0aXplciBPcHRpb25zXG4gKi9cbmV4cG9ydCB0eXBlIFNhbml0aXplT3B0aW9ucyA9XG4gIHwgYm9vbGVhblxuICB8IHtcbiAgICAgIGV4Y2x1ZGU/OiBzdHJpbmdbXTtcbiAgICAgIHJlcGxhY2VtZW50Pzogc3RyaW5nO1xuICAgIH07XG5cbi8qKlxuICogU2FuaXRpemUgZmlsZSBuYW1lXG4gKlxuICogQHBhcmFtIG5hbWVcbiAqIEBwYXJhbSB7Ym9vbH0gb3B0aW9ucyAgLSBlbmFibGUsZGlzYWJsZSBzYW5pdGl6ZXIsIGRlZmF1bHQgZW5hYmxlZFxuICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMucmVwbGFjZW1lbnQgLSByZXBsYWNlbWVudCBmb3Igc2FuaXRpemVkIGNoYXJzIGRlZmF1bHRzIHRvIFwiLVwiXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSBvcHRpb25zLmV4Y2x1ZGUgLSBhcnJheSB3aXRoIGV4Y2x1ZGVkIGNoYXJzIGRlZmF1bHQgLSBgWydcXCcsICd7JywgJ30nLCd8JywgJyUnLCAnYCcsICdcIicsIFwiJ1wiLCAnficsICdbJywgJ10nLCAnIycsICd8JywgJ14nLCAnPCcsICc+J11gXG4gKi9cbmV4cG9ydCBjb25zdCBzYW5pdGl6ZU5hbWUgPSAobmFtZTogc3RyaW5nLCBvcHRpb25zOiBTYW5pdGl6ZU9wdGlvbnMgPSB0cnVlKTogc3RyaW5nID0+IHtcbiAgaWYgKHR5cGVvZiBvcHRpb25zID09PSAnYm9vbGVhbicgJiYgIW9wdGlvbnMpIHtcbiAgICByZXR1cm4gbmFtZTtcbiAgfVxuXG4gIGxldCBleHQ7XG5cbiAgY29uc3QgcmVwbGFjZW1lbnQgPSB0eXBlb2Ygb3B0aW9ucyAhPT0gJ2Jvb2xlYW4nICYmIG9wdGlvbnMucmVwbGFjZW1lbnQgPyBvcHRpb25zLnJlcGxhY2VtZW50IDogJy0nO1xuICBjb25zdCBleGNsdWRlID0gdHlwZW9mIG9wdGlvbnMgIT09ICdib29sZWFuJyAmJiBvcHRpb25zLmV4Y2x1ZGUgPyBvcHRpb25zLmV4Y2x1ZGUgOiBbJ1xcXFwnLCAneycsICd9JywgJ3wnLCAnJScsICdgJywgJ1wiJywgXCInXCIsICd+JywgJ1snLCAnXScsICcjJywgJ3wnLCAnXicsICc8JywgJz4nXTtcblxuICBpZiAoIW5hbWUgfHwgbmFtZS5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gJ3VuZGVmaW5lZCc7XG4gIH1cblxuICBjb25zdCBmaWxlUGFydHMgPSBuYW1lLnNwbGl0KCcuJyk7XG5cbiAgaWYgKGZpbGVQYXJ0cy5sZW5ndGggPiAxKSB7XG4gICAgZXh0ID0gZmlsZVBhcnRzLnBvcCgpO1xuICB9XG5cbiAgcmV0dXJuIGAke2ZpbGVQYXJ0c1xuICAgIC5qb2luKCcuJylcbiAgICAuc3BsaXQoJycpXG4gICAgLm1hcChjaGFyID0+IChleGNsdWRlLmluZGV4T2YoY2hhcikgPiAtMSA/IHJlcGxhY2VtZW50IDogY2hhcikpXG4gICAgLmpvaW4oJycpfSR7ZXh0ID8gJy4nICsgZXh0IDogJyd9YDtcbn07XG5cbi8qKlxuICogRmlsdGVyIG9iamVjdCB0byBnaXZlbiBmaWVsZHNcbiAqXG4gKiBAcGFyYW0gdG9GaWx0ZXJcbiAqIEBwYXJhbSByZXF1aXJlZEZpZWxkc1xuICovXG5leHBvcnQgY29uc3QgZmlsdGVyT2JqZWN0ID0gKHRvRmlsdGVyLCByZXF1aXJlZEZpZWxkczogc3RyaW5nW10pID0+IHtcbiAgaWYgKCFyZXF1aXJlZEZpZWxkcyB8fCByZXF1aXJlZEZpZWxkcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gdG9GaWx0ZXI7XG4gIH1cblxuICBpZiAoT2JqZWN0LmtleXModG9GaWx0ZXIpLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiB0b0ZpbHRlcjtcbiAgfVxuXG4gIHJldHVybiBPYmplY3Qua2V5cyh0b0ZpbHRlcilcbiAgICAuZmlsdGVyKGYgPT4gcmVxdWlyZWRGaWVsZHMuaW5kZXhPZihmKSA+IC0xKVxuICAgIC5yZWR1Y2UoKG9iaiwga2V5KSA9PiAoeyAuLi5vYmosIFtrZXldOiB0b0ZpbHRlcltrZXldIH0pLCB7fSk7XG59O1xuXG4vKipcbiAqIERlZXAgY2xlYW51cCBvYmplY3QgZnJvbSBmdW5jdGlvbnNcbiAqXG4gKiBAcGFyYW0gb2JqXG4gKi9cbmV4cG9ydCBjb25zdCBjbGVhblVwQ2FsbGJhY2tzID0gKG9iajogYW55KSA9PiB7XG4gIGlmICghb2JqIHx8IE9iamVjdC5rZXlzKG9iaikubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIG9iajtcbiAgfVxuXG4gIE9iamVjdC5rZXlzKG9iaikuZm9yRWFjaChrID0+IHtcbiAgICBpZiAodHlwZW9mIG9ialtrXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgb2JqW2tdID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGlmIChvYmpba10gPT09IE9iamVjdChvYmpba10pKSB7XG4gICAgICBvYmpba10gPSBjbGVhblVwQ2FsbGJhY2tzKG9ialtrXSk7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gb2JqO1xufTtcblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleC5ub2RlJztcbiJdfQ==
@@ -47,7 +47,7 @@ exports.b64 = b64;
47
47
  * Return currently used filestack-js sdk version
48
48
  */
49
49
  var getVersion = function () {
50
- return 'JS-4.3.7';
50
+ return 'JS-4.3.8';
51
51
  };
52
52
  exports.getVersion = getVersion;
53
53
  /**
@@ -21,7 +21,7 @@ var utils = tslib_1.__importStar(require("./index"));
21
21
  describe('utils:index', function () {
22
22
  describe('getVersion', function () {
23
23
  it('should return version string to replace', function () {
24
- expect(utils.getVersion()).toEqual("JS-4.3.7");
24
+ expect(utils.getVersion()).toEqual("JS-4.3.8");
25
25
  });
26
26
  });
27
27
  describe('isFacebook', function () {
@@ -23,7 +23,7 @@ export declare const init: (apikey: string, options?: ClientOptions) => Client;
23
23
  /**
24
24
  * filestack-js version. Interpolated at build time.
25
25
  */
26
- export declare const version = "4.3.7";
26
+ export declare const version = "4.3.8";
27
27
  export * from './lib/api/transform';
28
28
  export * from './lib/filelink';
29
29
  export * from './filestack_error';
@@ -36,8 +36,8 @@ export var init = Filestack;
36
36
  /**
37
37
  * filestack-js version. Interpolated at build time.
38
38
  */
39
- export var version = '4.3.7';
40
- registerModule(FILESTACK_MODULES.FILESTACK_SDK, Filestack, { version: '4.3.7' });
39
+ export var version = '4.3.8';
40
+ registerModule(FILESTACK_MODULES.FILESTACK_SDK, Filestack, { version: '4.3.8' });
41
41
  export * from './lib/api/transform';
42
42
  export * from './lib/filelink';
43
43
  export * from './filestack_error';
@@ -43,7 +43,7 @@ export var b64 = function (data, safeUrl) {
43
43
  * Return currently used filestack-js sdk version
44
44
  */
45
45
  export var getVersion = function () {
46
- return 'JS-4.3.7';
46
+ return 'JS-4.3.8';
47
47
  };
48
48
  /**
49
49
  * Returns if browser is a mobile device (if node env always return false)
@@ -16,7 +16,7 @@
16
16
  */
17
17
  import { __assign, __awaiter, __generator } from "tslib";
18
18
  import { ExtensionsMap } from './extensions';
19
- import { fromBuffer } from 'file-type';
19
+ import { fileTypeFromBuffer } from 'file-type';
20
20
  import isutf8 from 'isutf8';
21
21
  /**
22
22
  * Resolve cdn url based on handle type
@@ -94,7 +94,7 @@ export var getMimetype = function (file, name) { return __awaiter(void 0, void 0
94
94
  switch (_a.label) {
95
95
  case 0:
96
96
  _a.trys.push([0, 2, , 3]);
97
- return [4 /*yield*/, fromBuffer(file)];
97
+ return [4 /*yield*/, fileTypeFromBuffer(file)];
98
98
  case 1:
99
99
  type = _a.sent();
100
100
  return [3 /*break*/, 3];
@@ -228,4 +228,4 @@ export var cleanUpCallbacks = function (obj) {
228
228
  };
229
229
  export * from './index.node';
230
230
 
231
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOztBQUlILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN2QyxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFFNUI7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLElBQU0sYUFBYSxHQUFHLFVBQUMsT0FBZ0IsRUFBRSxNQUFjO0lBQzVELElBQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBRW5DLElBQUksTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtRQUM1RSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLG9EQUFvRCxDQUFDLENBQUM7U0FDdkU7UUFFRCx3REFBd0Q7UUFDeEQsT0FBTyxVQUFHLE1BQU0sY0FBSSxPQUFPLENBQUMsTUFBTSxDQUFFLENBQUM7S0FDdEM7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDLENBQUM7QUFFRjs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsSUFBTSxXQUFXLEdBQUcsVUFBQyxJQUFXLEVBQUUsS0FBYTtJQUNwRCxJQUFJLENBQUMsS0FBSyxFQUFFO1FBQ1YsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELElBQU0sS0FBSyxHQUFHLHdDQUF3QyxDQUFDO0lBRXZELE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQUEsR0FBRztRQUMzQixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcs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QU8sQ0FBQyxVQUFBLENBQUM7UUFDeEIsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxVQUFVLEVBQUU7WUFDaEMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQztTQUNwQjtRQUVELElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUM3QixHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDbkM7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyxDQUFDO0FBRUYsY0FBYyxjQUFjLENBQUMiLCJmaWxlIjoibGliL3V0aWxzL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBieSBGaWxlc3RhY2suXG4gKiBTb21lIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgU2Vzc2lvbiB9IGZyb20gJy4uL2NsaWVudCc7XG5pbXBvcnQgeyBIb3N0cyB9IGZyb20gJy4vLi4vLi4vY29uZmlnJztcbmltcG9ydCB7IEV4dGVuc2lvbnNNYXAgfSBmcm9tICcuL2V4dGVuc2lvbnMnO1xuaW1wb3J0IHsgZnJvbUJ1ZmZlciB9IGZyb20gJ2ZpbGUtdHlwZSc7XG5pbXBvcnQgaXN1dGY4IGZyb20gJ2lzdXRmOCc7XG5cbi8qKlxuICogUmVzb2x2ZSBjZG4gdXJsIGJhc2VkIG9uIGhhbmRsZSB0eXBlXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSBzZXNzaW9uIHNlc3Npb24gb2JqZWN0XG4gKiBAcGFyYW0gaGFuZGxlIGZpbGUgaGFuZGxlIChoYXNoLCBzcmM6Ly9hbGlhcywgdXJsKVxuICovXG5leHBvcnQgY29uc3QgcmVzb2x2ZUNkblVybCA9IChzZXNzaW9uOiBTZXNzaW9uLCBoYW5kbGU6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IGNkblVSTCA9IHNlc3Npb24udXJscy5jZG5Vcmw7XG5cbiAgaWYgKGhhbmRsZSAmJiAoaGFuZGxlLmluZGV4T2YoJ3NyYzonKSA9PT0gMCB8fCBoYW5kbGUuaW5kZXhPZignaHR0cCcpID09PSAwKSkge1xuICAgIGlmICghc2Vzc2lvbi5hcGlrZXkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQXBpIGtleSBpcyByZXF1aXJlZCB3aGVuIHN0b3JhZ2UgYWxpYXMgaXMgcHJvdmlkZWQnKTtcbiAgICB9XG5cbiAgICAvLyBhcGlrZXkgaXMgcmVxdWlyZWQgZm9yIGFsaWFzIG9yIGV4dGVybmFsIHNvdXJjZXMgY2FsbFxuICAgIHJldHVybiBgJHtjZG5VUkx9LyR7c2Vzc2lvbi5hcGlrZXl9YDtcbiAgfVxuXG4gIHJldHVybiBjZG5VUkw7XG59O1xuXG4vKipcbiAqIFJlc29sdmUgYWxsIHVybHMgd2l0aCBwcm92aWRlZCBjbmFtZXNcbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHVybHNcbiAqIEBwYXJhbSBjbmFtZVxuICovXG5leHBvcnQgY29uc3QgcmVzb2x2ZUhvc3QgPSAodXJsczogSG9zdHMsIGNuYW1lOiBzdHJpbmcpOiBIb3N0cyA9PiB7XG4gIGlmICghY25hbWUpIHtcbiAgICByZXR1cm4gdXJscztcbiAgfVxuXG4gIGNvbnN0IGhvc3RzID0gL2ZpbGVzdGFja2FwaS5jb218ZmlsZXN0YWNrY29udGVudC5jb20vaTtcblxuICBPYmplY3Qua2V5cyh1cmxzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgdXJsc1trZXldID0gdXJsc1trZXldLnJlcGxhY2UoaG9zdHMsIGNuYW1lKTtcbiAgfSk7XG5cbiAgcmV0dXJuIHVybHM7XG59O1xuXG4vKipcbiAqIFJlbW92ZXMgZW1wdHkgb3B0aW9ucyBmcm9tIG9iamVjdFxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0gb2JqXG4gKi9cbmV4cG9ydCBjb25zdCByZW1vdmVFbXB0eSA9IChvYmo6IGFueSkgPT4ge1xuICBjb25zdCBuZXdPYmogPSB7IC4uLm9iaiB9O1xuICBPYmplY3Qua2V5cyhuZXdPYmopLmZvckVhY2goayA9PiAhbmV3T2JqW2tdICYmIHR5cGVvZiBuZXdPYmpba10gIT09ICdib29sZWFuJyAmJiBkZWxldGUgbmV3T2JqW2tdKTtcbiAgcmV0dXJuIG5ld09iajtcbn07XG5cbi8qKlxuICogUmV0dXJucyB1bmlxdWUgdGltZVxuICovXG5sZXQgbGFzdDtcbmV4cG9ydCBjb25zdCB1bmlxdWVUaW1lID0gKCkgPT4ge1xuICBjb25zdCB0aW1lID0gRGF0ZS5ub3coKTtcbiAgbGFzdCA9IHRpbWUgPT09IGxhc3QgPyB0aW1lICsgMSA6IHRpbWU7XG4gIHJldHVybiBsYXN0O1xufTtcblxuLyoqXG4gKiBHZW5lcmF0ZXMgcmFuZG9tIHN0cmluZyB3aXRoIHByb3ZpZGVkIGxlbmd0aFxuICpcbiAqIEBwYXJhbSBsZW5cbiAqL1xuZXhwb3J0IGNvbnN0IHVuaXF1ZUlkID0gKGxlbjogbnVtYmVyID0gMTApOiBzdHJpbmcgPT4ge1xuICByZXR1cm4gbmV3IEFycmF5KGxlbikuam9pbigpLnJlcGxhY2UoLygufCQpL2csICgpID0+ICgoTWF0aC5yYW5kb20oKSAqIDM2KSB8IDApLnRvU3RyaW5nKDM2KVtNYXRoLnJhbmRvbSgpIDwgMC41ID8gJ3RvU3RyaW5nJyA6ICd0b1VwcGVyQ2FzZSddKCkpO1xufTtcblxuLyoqXG4gKiBDaGVjayBpZiBpbnB1dCBpcyBhIHN2Z1xuICpcbiAqIEBwYXJhbSB7VWludDhBcnJheSB8IEJ1ZmZlcn0gZmlsZVxuICogQHJldHVybnMge3N0cmluZ30gLSBtaW1ldHlwZVxuICovXG5leHBvcnQgY29uc3QgZ2V0TWltZXR5cGUgPSBhc3luYyAoZmlsZTogVWludDhBcnJheSB8IEJ1ZmZlciwgbmFtZT86IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiA9PiB7XG4gIGxldCB0eXBlO1xuXG4gIHRyeSB7XG4gICAgdHlwZSA9IGF3YWl0IGZyb21CdWZmZXIoZmlsZSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBjb25zb2xlLndhcm4oJ0FuIGV4Y2VwdGlvbiBvY2N1cnJlZCB3aGlsZSBwcm9jZXNzaW5nIHRoZSBidWZmZXI6JywgZS5tZXNzYWdlKTtcbiAgfVxuXG4gIGNvbnN0IGV4Y2x1ZGVkTWltZXR5cGVzID0gWyd0ZXh0L3BsYWluJywgJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScsICdhcHBsaWNhdGlvbi94LW1zJywgJ2FwcGxpY2F0aW9uL3gtbXNpJywgJ2FwcGxpY2F0aW9uL3ppcCcsICdhdWRpby94LW00YSddO1xuXG4gIGlmICh0eXBlICYmIGV4Y2x1ZGVkTWltZXR5cGVzLmluZGV4T2YodHlwZS5taW1lKSA9PT0gLTEpIHtcbiAgICByZXR1cm4gdHlwZS5taW1lO1xuICB9XG5cbiAgaWYgKG5hbWUgJiYgbmFtZS5pbmRleE9mKCcuJykgPiAtMSkge1xuICAgIGNvbnN0IG1pbWUgPSBleHRlbnNpb25Ub01pbWUobmFtZSk7XG5cbiAgICBpZiAobWltZSkge1xuICAgICAgcmV0dXJuIG1pbWU7XG4gICAgfVxuICB9XG5cbiAgdHJ5IHtcbiAgICBpZiAoaXN1dGY4KGZpbGUpKSB7XG4gICAgICByZXR1cm4gJ3RleHQvcGxhaW4nO1xuICAgIH1cbiAgfSBjYXRjaCAoZSkge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgY29uc29sZS53YXJuKCdBZGRpdGlvbmFsIG1pbWV0eXBlIGNoZWNrcyAodGV4dC9wbGFpbikgYXJlIGN1cnJlbnRseSBub3Qgc3VwcG9ydGVkIGZvciBicm93c2VycycpO1xuICB9XG4gIC8vIHRoaXMgaXMgb25seSBmYWxsYmFjaywgb21pdCBpdCBpbiBjb3ZlcmFnZVxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuXG4gIC8vIGlmIHdlIGNhbnQgZmluZCB0eXBlcyBieSBleHRlbnNpb25zIGFuZCB3ZSBoYXZlIG1hZ2ljIGJ5dGVzIGZhbGxiYWNrIHRvIGl0XG4gIGlmICh0eXBlKSB7XG4gICAgcmV0dXJuIHR5cGUubWltZTtcbiAgfVxuXG4gIHJldHVybiAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJztcbn07XG5cbi8qKlxuICogQ2hhbmdlIGV4dGVuc2lvbiB0byBhY2NvcmRpbmcgbWltZXR5cGUgdXNpbmcgZXh0PT5taW1ldHlwZSBtYXBcbiAqXG4gKiBAcGFyYW0gZXh0IC0gc3RyaW5nXG4gKiBAcmV0dXJuIHN0cmluZ3xib29sZWFuXG4gKi9cbmV4cG9ydCBjb25zdCBleHRlbnNpb25Ub01pbWUgPSAoZXh0OiBzdHJpbmcpID0+IHtcbiAgaWYgKCFleHQgfHwgZXh0Lmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChleHQuc3BsaXQoJy8nKS5sZW5ndGggPT09IDIpIHtcbiAgICByZXR1cm4gZXh0O1xuICB9XG5cbiAgaWYgKGV4dC5pbmRleE9mKCcuJykgPiAtMSkge1xuICAgIGV4dCA9IGV4dC5zcGxpdCgnLicpLnBvcCgpO1xuICB9XG5cbiAgZXh0ID0gZXh0LnRvTG9jYWxlTG93ZXJDYXNlKCk7XG5cbiAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKEV4dGVuc2lvbnNNYXApO1xuICBjb25zdCBtYXBMZW4gPSBrZXlzLmxlbmd0aDtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IG1hcExlbjsgaSsrKSB7XG4gICAgaWYgKEV4dGVuc2lvbnNNYXBba2V5c1tpXV0uaW5kZXhPZihleHQpID4gLTEpIHtcbiAgICAgIHJldHVybiBrZXlzW2ldO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybjtcbn07XG5cbi8qKlxuICogU2FuaXRpemVyIE9wdGlvbnNcbiAqL1xuZXhwb3J0IHR5cGUgU2FuaXRpemVPcHRpb25zID1cbiAgfCBib29sZWFuXG4gIHwge1xuICAgICAgZXhjbHVkZT86IHN0cmluZ1tdO1xuICAgICAgcmVwbGFjZW1lbnQ/OiBzdHJpbmc7XG4gICAgfTtcblxuLyoqXG4gKiBTYW5pdGl6ZSBmaWxlIG5hbWVcbiAqXG4gKiBAcGFyYW0gbmFtZVxuICogQHBhcmFtIHtib29sfSBvcHRpb25zICAtIGVuYWJsZSxkaXNhYmxlIHNhbml0aXplciwgZGVmYXVsdCBlbmFibGVkXG4gKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5yZXBsYWNlbWVudCAtIHJlcGxhY2VtZW50IGZvciBzYW5pdGl6ZWQgY2hhcnMgZGVmYXVsdHMgdG8gXCItXCJcbiAqIEBwYXJhbSB7c3RyaW5nW119IG9wdGlvbnMuZXhjbHVkZSAtIGFycmF5IHdpdGggZXhjbHVkZWQgY2hhcnMgZGVmYXVsdCAtIGBbJ1xcJywgJ3snLCAnfScsJ3wnLCAnJScsICdgJywgJ1wiJywgXCInXCIsICd+JywgJ1snLCAnXScsICcjJywgJ3wnLCAnXicsICc8JywgJz4nXWBcbiAqL1xuZXhwb3J0IGNvbnN0IHNhbml0aXplTmFtZSA9IChuYW1lOiBzdHJpbmcsIG9wdGlvbnM6IFNhbml0aXplT3B0aW9ucyA9IHRydWUpOiBzdHJpbmcgPT4ge1xuICBpZiAodHlwZW9mIG9wdGlvbnMgPT09ICdib29sZWFuJyAmJiAhb3B0aW9ucykge1xuICAgIHJldHVybiBuYW1lO1xuICB9XG5cbiAgbGV0IGV4dDtcblxuICBjb25zdCByZXBsYWNlbWVudCA9IHR5cGVvZiBvcHRpb25zICE9PSAnYm9vbGVhbicgJiYgb3B0aW9ucy5yZXBsYWNlbWVudCA/IG9wdGlvbnMucmVwbGFjZW1lbnQgOiAnLSc7XG4gIGNvbnN0IGV4Y2x1ZGUgPSB0eXBlb2Ygb3B0aW9ucyAhPT0gJ2Jvb2xlYW4nICYmIG9wdGlvbnMuZXhjbHVkZSA/IG9wdGlvbnMuZXhjbHVkZSA6IFsnXFxcXCcsICd7JywgJ30nLCAnfCcsICclJywgJ2AnLCAnXCInLCBcIidcIiwgJ34nLCAnWycsICddJywgJyMnLCAnfCcsICdeJywgJzwnLCAnPiddO1xuXG4gIGlmICghbmFtZSB8fCBuYW1lLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiAndW5kZWZpbmVkJztcbiAgfVxuXG4gIGNvbnN0IGZpbGVQYXJ0cyA9IG5hbWUuc3BsaXQoJy4nKTtcblxuICBpZiAoZmlsZVBhcnRzLmxlbmd0aCA+IDEpIHtcbiAgICBleHQgPSBmaWxlUGFydHMucG9wKCk7XG4gIH1cblxuICByZXR1cm4gYCR7ZmlsZVBhcnRzXG4gICAgLmpvaW4oJy4nKVxuICAgIC5zcGxpdCgnJylcbiAgICAubWFwKGNoYXIgPT4gKGV4Y2x1ZGUuaW5kZXhPZihjaGFyKSA+IC0xID8gcmVwbGFjZW1lbnQgOiBjaGFyKSlcbiAgICAuam9pbignJyl9JHtleHQgPyAnLicgKyBleHQgOiAnJ31gO1xufTtcblxuLyoqXG4gKiBGaWx0ZXIgb2JqZWN0IHRvIGdpdmVuIGZpZWxkc1xuICpcbiAqIEBwYXJhbSB0b0ZpbHRlclxuICogQHBhcmFtIHJlcXVpcmVkRmllbGRzXG4gKi9cbmV4cG9ydCBjb25zdCBmaWx0ZXJPYmplY3QgPSAodG9GaWx0ZXIsIHJlcXVpcmVkRmllbGRzOiBzdHJpbmdbXSkgPT4ge1xuICBpZiAoIXJlcXVpcmVkRmllbGRzIHx8IHJlcXVpcmVkRmllbGRzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiB0b0ZpbHRlcjtcbiAgfVxuXG4gIGlmIChPYmplY3Qua2V5cyh0b0ZpbHRlcikubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIHRvRmlsdGVyO1xuICB9XG5cbiAgcmV0dXJuIE9iamVjdC5rZXlzKHRvRmlsdGVyKVxuICAgIC5maWx0ZXIoZiA9PiByZXF1aXJlZEZpZWxkcy5pbmRleE9mKGYpID4gLTEpXG4gICAgLnJlZHVjZSgob2JqLCBrZXkpID0+ICh7IC4uLm9iaiwgW2tleV06IHRvRmlsdGVyW2tleV0gfSksIHt9KTtcbn07XG5cbi8qKlxuICogRGVlcCBjbGVhbnVwIG9iamVjdCBmcm9tIGZ1bmN0aW9uc1xuICpcbiAqIEBwYXJhbSBvYmpcbiAqL1xuZXhwb3J0IGNvbnN0IGNsZWFuVXBDYWxsYmFja3MgPSAob2JqOiBhbnkpID0+IHtcbiAgaWYgKCFvYmogfHwgT2JqZWN0LmtleXMob2JqKS5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gb2JqO1xuICB9XG5cbiAgT2JqZWN0LmtleXMob2JqKS5mb3JFYWNoKGsgPT4ge1xuICAgIGlmICh0eXBlb2Ygb2JqW2tdID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBvYmpba10gPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaWYgKG9ialtrXSA9PT0gT2JqZWN0KG9ialtrXSkpIHtcbiAgICAgIG9ialtrXSA9IGNsZWFuVXBDYWxsYmFja3Mob2JqW2tdKTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBvYmo7XG59O1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4Lm5vZGUnO1xuIl19
231
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOztBQUlILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQy9DLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUU1Qjs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsSUFBTSxhQUFhLEdBQUcsVUFBQyxPQUFnQixFQUFFLE1BQWM7SUFDNUQsSUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFFbkMsSUFBSSxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1FBQzVFLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ25CLE1BQU0sSUFBSSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQztTQUN2RTtRQUVELHdEQUF3RDtRQUN4RCxPQUFPLFVBQUcsTUFBTSxjQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUUsQ0FBQztLQUN0QztJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQUVGOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxJQUFNLFdBQVcsR0FBRyxVQUFDLElBQVcsRUFBRSxLQUFhO0lBQ3BELElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDVixPQUFPLElBQUksQ0FBQztLQUNiO0lBRUQsSUFBTSxLQUFLLEdBQUcsd0NBQXdDLENBQUM7SUFFdkQsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBQSxHQUFHO1FBQzNCLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsR0FB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QUMsT0FBTyxDQUFDLFVBQUEsQ0FBQztRQUN4QixJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLFVBQVUsRUFBRTtZQUNoQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDO1NBQ3BCO1FBRUQsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzdCLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNuQztJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDLENBQUM7QUFFRixjQUFjLGNBQWMsQ0FBQyIsImZpbGUiOiJsaWIvdXRpbHMvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IGJ5IEZpbGVzdGFjay5cbiAqIFNvbWUgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBTZXNzaW9uIH0gZnJvbSAnLi4vY2xpZW50JztcbmltcG9ydCB7IEhvc3RzIH0gZnJvbSAnLi8uLi8uLi9jb25maWcnO1xuaW1wb3J0IHsgRXh0ZW5zaW9uc01hcCB9IGZyb20gJy4vZXh0ZW5zaW9ucyc7XG5pbXBvcnQgeyBmaWxlVHlwZUZyb21CdWZmZXIgfSBmcm9tICdmaWxlLXR5cGUnO1xuaW1wb3J0IGlzdXRmOCBmcm9tICdpc3V0ZjgnO1xuXG4vKipcbiAqIFJlc29sdmUgY2RuIHVybCBiYXNlZCBvbiBoYW5kbGUgdHlwZVxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0gc2Vzc2lvbiBzZXNzaW9uIG9iamVjdFxuICogQHBhcmFtIGhhbmRsZSBmaWxlIGhhbmRsZSAoaGFzaCwgc3JjOi8vYWxpYXMsIHVybClcbiAqL1xuZXhwb3J0IGNvbnN0IHJlc29sdmVDZG5VcmwgPSAoc2Vzc2lvbjogU2Vzc2lvbiwgaGFuZGxlOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBjb25zdCBjZG5VUkwgPSBzZXNzaW9uLnVybHMuY2RuVXJsO1xuXG4gIGlmIChoYW5kbGUgJiYgKGhhbmRsZS5pbmRleE9mKCdzcmM6JykgPT09IDAgfHwgaGFuZGxlLmluZGV4T2YoJ2h0dHAnKSA9PT0gMCkpIHtcbiAgICBpZiAoIXNlc3Npb24uYXBpa2V5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FwaSBrZXkgaXMgcmVxdWlyZWQgd2hlbiBzdG9yYWdlIGFsaWFzIGlzIHByb3ZpZGVkJyk7XG4gICAgfVxuXG4gICAgLy8gYXBpa2V5IGlzIHJlcXVpcmVkIGZvciBhbGlhcyBvciBleHRlcm5hbCBzb3VyY2VzIGNhbGxcbiAgICByZXR1cm4gYCR7Y2RuVVJMfS8ke3Nlc3Npb24uYXBpa2V5fWA7XG4gIH1cblxuICByZXR1cm4gY2RuVVJMO1xufTtcblxuLyoqXG4gKiBSZXNvbHZlIGFsbCB1cmxzIHdpdGggcHJvdmlkZWQgY25hbWVzXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB1cmxzXG4gKiBAcGFyYW0gY25hbWVcbiAqL1xuZXhwb3J0IGNvbnN0IHJlc29sdmVIb3N0ID0gKHVybHM6IEhvc3RzLCBjbmFtZTogc3RyaW5nKTogSG9zdHMgPT4ge1xuICBpZiAoIWNuYW1lKSB7XG4gICAgcmV0dXJuIHVybHM7XG4gIH1cblxuICBjb25zdCBob3N0cyA9IC9maWxlc3RhY2thcGkuY29tfGZpbGVzdGFja2NvbnRlbnQuY29tL2k7XG5cbiAgT2JqZWN0LmtleXModXJscykuZm9yRWFjaChrZXkgPT4ge1xuICAgIHVybHNba2V5XSA9IHVybHNba2V5XS5yZXBsYWNlKGhvc3RzLCBjbmFtZSk7XG4gIH0pO1xuXG4gIHJldHVybiB1cmxzO1xufTtcblxuLyoqXG4gKiBSZW1vdmVzIGVtcHR5IG9wdGlvbnMgZnJvbSBvYmplY3RcbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIG9ialxuICovXG5leHBvcnQgY29uc3QgcmVtb3ZlRW1wdHkgPSAob2JqOiBhbnkpID0+IHtcbiAgY29uc3QgbmV3T2JqID0geyAuLi5vYmogfTtcbiAgT2JqZWN0LmtleXMobmV3T2JqKS5mb3JFYWNoKGsgPT4gIW5ld09ialtrXSAmJiB0eXBlb2YgbmV3T2JqW2tdICE9PSAnYm9vbGVhbicgJiYgZGVsZXRlIG5ld09ialtrXSk7XG4gIHJldHVybiBuZXdPYmo7XG59O1xuXG4vKipcbiAqIFJldHVybnMgdW5pcXVlIHRpbWVcbiAqL1xubGV0IGxhc3Q7XG5leHBvcnQgY29uc3QgdW5pcXVlVGltZSA9ICgpID0+IHtcbiAgY29uc3QgdGltZSA9IERhdGUubm93KCk7XG4gIGxhc3QgPSB0aW1lID09PSBsYXN0ID8gdGltZSArIDEgOiB0aW1lO1xuICByZXR1cm4gbGFzdDtcbn07XG5cbi8qKlxuICogR2VuZXJhdGVzIHJhbmRvbSBzdHJpbmcgd2l0aCBwcm92aWRlZCBsZW5ndGhcbiAqXG4gKiBAcGFyYW0gbGVuXG4gKi9cbmV4cG9ydCBjb25zdCB1bmlxdWVJZCA9IChsZW46IG51bWJlciA9IDEwKTogc3RyaW5nID0+IHtcbiAgcmV0dXJuIG5ldyBBcnJheShsZW4pLmpvaW4oKS5yZXBsYWNlKC8oLnwkKS9nLCAoKSA9PiAoKE1hdGgucmFuZG9tKCkgKiAzNikgfCAwKS50b1N0cmluZygzNilbTWF0aC5yYW5kb20oKSA8IDAuNSA/ICd0b1N0cmluZycgOiAndG9VcHBlckNhc2UnXSgpKTtcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgaW5wdXQgaXMgYSBzdmdcbiAqXG4gKiBAcGFyYW0ge1VpbnQ4QXJyYXkgfCBCdWZmZXJ9IGZpbGVcbiAqIEByZXR1cm5zIHtzdHJpbmd9IC0gbWltZXR5cGVcbiAqL1xuZXhwb3J0IGNvbnN0IGdldE1pbWV0eXBlID0gYXN5bmMgKGZpbGU6IFVpbnQ4QXJyYXkgfCBCdWZmZXIsIG5hbWU/OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4gPT4ge1xuICBsZXQgdHlwZTtcblxuICB0cnkge1xuICAgIHR5cGUgPSBhd2FpdCBmaWxlVHlwZUZyb21CdWZmZXIoZmlsZSBhcyBVaW50OEFycmF5KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbnNvbGUud2FybignQW4gZXhjZXB0aW9uIG9jY3VycmVkIHdoaWxlIHByb2Nlc3NpbmcgdGhlIGJ1ZmZlcjonLCBlLm1lc3NhZ2UpO1xuICB9XG5cbiAgY29uc3QgZXhjbHVkZWRNaW1ldHlwZXMgPSBbJ3RleHQvcGxhaW4nLCAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJywgJ2FwcGxpY2F0aW9uL3gtbXMnLCAnYXBwbGljYXRpb24veC1tc2knLCAnYXBwbGljYXRpb24vemlwJywgJ2F1ZGlvL3gtbTRhJ107XG5cbiAgaWYgKHR5cGUgJiYgZXhjbHVkZWRNaW1ldHlwZXMuaW5kZXhPZih0eXBlLm1pbWUpID09PSAtMSkge1xuICAgIHJldHVybiB0eXBlLm1pbWU7XG4gIH1cblxuICBpZiAobmFtZSAmJiBuYW1lLmluZGV4T2YoJy4nKSA+IC0xKSB7XG4gICAgY29uc3QgbWltZSA9IGV4dGVuc2lvblRvTWltZShuYW1lKTtcblxuICAgIGlmIChtaW1lKSB7XG4gICAgICByZXR1cm4gbWltZTtcbiAgICB9XG4gIH1cblxuICB0cnkge1xuICAgIGlmIChpc3V0ZjgoZmlsZSkpIHtcbiAgICAgIHJldHVybiAndGV4dC9wbGFpbic7XG4gICAgfVxuICB9IGNhdGNoIChlKSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBjb25zb2xlLndhcm4oJ0FkZGl0aW9uYWwgbWltZXR5cGUgY2hlY2tzICh0ZXh0L3BsYWluKSBhcmUgY3VycmVudGx5IG5vdCBzdXBwb3J0ZWQgZm9yIGJyb3dzZXJzJyk7XG4gIH1cbiAgLy8gdGhpcyBpcyBvbmx5IGZhbGxiYWNrLCBvbWl0IGl0IGluIGNvdmVyYWdlXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG5cbiAgLy8gaWYgd2UgY2FudCBmaW5kIHR5cGVzIGJ5IGV4dGVuc2lvbnMgYW5kIHdlIGhhdmUgbWFnaWMgYnl0ZXMgZmFsbGJhY2sgdG8gaXRcbiAgaWYgKHR5cGUpIHtcbiAgICByZXR1cm4gdHlwZS5taW1lO1xuICB9XG5cbiAgcmV0dXJuICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nO1xufTtcblxuLyoqXG4gKiBDaGFuZ2UgZXh0ZW5zaW9uIHRvIGFjY29yZGluZyBtaW1ldHlwZSB1c2luZyBleHQ9Pm1pbWV0eXBlIG1hcFxuICpcbiAqIEBwYXJhbSBleHQgLSBzdHJpbmdcbiAqIEByZXR1cm4gc3RyaW5nfGJvb2xlYW5cbiAqL1xuZXhwb3J0IGNvbnN0IGV4dGVuc2lvblRvTWltZSA9IChleHQ6IHN0cmluZykgPT4ge1xuICBpZiAoIWV4dCB8fCBleHQubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKGV4dC5zcGxpdCgnLycpLmxlbmd0aCA9PT0gMikge1xuICAgIHJldHVybiBleHQ7XG4gIH1cblxuICBpZiAoZXh0LmluZGV4T2YoJy4nKSA+IC0xKSB7XG4gICAgZXh0ID0gZXh0LnNwbGl0KCcuJykucG9wKCk7XG4gIH1cblxuICBleHQgPSBleHQudG9Mb2NhbGVMb3dlckNhc2UoKTtcblxuICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoRXh0ZW5zaW9uc01hcCk7XG4gIGNvbnN0IG1hcExlbiA9IGtleXMubGVuZ3RoO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbWFwTGVuOyBpKyspIHtcbiAgICBpZiAoRXh0ZW5zaW9uc01hcFtrZXlzW2ldXS5pbmRleE9mKGV4dCkgPiAtMSkge1xuICAgICAgcmV0dXJuIGtleXNbaV07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuO1xufTtcblxuLyoqXG4gKiBTYW5pdGl6ZXIgT3B0aW9uc1xuICovXG5leHBvcnQgdHlwZSBTYW5pdGl6ZU9wdGlvbnMgPVxuICB8IGJvb2xlYW5cbiAgfCB7XG4gICAgICBleGNsdWRlPzogc3RyaW5nW107XG4gICAgICByZXBsYWNlbWVudD86IHN0cmluZztcbiAgICB9O1xuXG4vKipcbiAqIFNhbml0aXplIGZpbGUgbmFtZVxuICpcbiAqIEBwYXJhbSBuYW1lXG4gKiBAcGFyYW0ge2Jvb2x9IG9wdGlvbnMgIC0gZW5hYmxlLGRpc2FibGUgc2FuaXRpemVyLCBkZWZhdWx0IGVuYWJsZWRcbiAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLnJlcGxhY2VtZW50IC0gcmVwbGFjZW1lbnQgZm9yIHNhbml0aXplZCBjaGFycyBkZWZhdWx0cyB0byBcIi1cIlxuICogQHBhcmFtIHtzdHJpbmdbXX0gb3B0aW9ucy5leGNsdWRlIC0gYXJyYXkgd2l0aCBleGNsdWRlZCBjaGFycyBkZWZhdWx0IC0gYFsnXFwnLCAneycsICd9JywnfCcsICclJywgJ2AnLCAnXCInLCBcIidcIiwgJ34nLCAnWycsICddJywgJyMnLCAnfCcsICdeJywgJzwnLCAnPiddYFxuICovXG5leHBvcnQgY29uc3Qgc2FuaXRpemVOYW1lID0gKG5hbWU6IHN0cmluZywgb3B0aW9uczogU2FuaXRpemVPcHRpb25zID0gdHJ1ZSk6IHN0cmluZyA9PiB7XG4gIGlmICh0eXBlb2Ygb3B0aW9ucyA9PT0gJ2Jvb2xlYW4nICYmICFvcHRpb25zKSB7XG4gICAgcmV0dXJuIG5hbWU7XG4gIH1cblxuICBsZXQgZXh0O1xuXG4gIGNvbnN0IHJlcGxhY2VtZW50ID0gdHlwZW9mIG9wdGlvbnMgIT09ICdib29sZWFuJyAmJiBvcHRpb25zLnJlcGxhY2VtZW50ID8gb3B0aW9ucy5yZXBsYWNlbWVudCA6ICctJztcbiAgY29uc3QgZXhjbHVkZSA9IHR5cGVvZiBvcHRpb25zICE9PSAnYm9vbGVhbicgJiYgb3B0aW9ucy5leGNsdWRlID8gb3B0aW9ucy5leGNsdWRlIDogWydcXFxcJywgJ3snLCAnfScsICd8JywgJyUnLCAnYCcsICdcIicsIFwiJ1wiLCAnficsICdbJywgJ10nLCAnIycsICd8JywgJ14nLCAnPCcsICc+J107XG5cbiAgaWYgKCFuYW1lIHx8IG5hbWUubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuICd1bmRlZmluZWQnO1xuICB9XG5cbiAgY29uc3QgZmlsZVBhcnRzID0gbmFtZS5zcGxpdCgnLicpO1xuXG4gIGlmIChmaWxlUGFydHMubGVuZ3RoID4gMSkge1xuICAgIGV4dCA9IGZpbGVQYXJ0cy5wb3AoKTtcbiAgfVxuXG4gIHJldHVybiBgJHtmaWxlUGFydHNcbiAgICAuam9pbignLicpXG4gICAgLnNwbGl0KCcnKVxuICAgIC5tYXAoY2hhciA9PiAoZXhjbHVkZS5pbmRleE9mKGNoYXIpID4gLTEgPyByZXBsYWNlbWVudCA6IGNoYXIpKVxuICAgIC5qb2luKCcnKX0ke2V4dCA/ICcuJyArIGV4dCA6ICcnfWA7XG59O1xuXG4vKipcbiAqIEZpbHRlciBvYmplY3QgdG8gZ2l2ZW4gZmllbGRzXG4gKlxuICogQHBhcmFtIHRvRmlsdGVyXG4gKiBAcGFyYW0gcmVxdWlyZWRGaWVsZHNcbiAqL1xuZXhwb3J0IGNvbnN0IGZpbHRlck9iamVjdCA9ICh0b0ZpbHRlciwgcmVxdWlyZWRGaWVsZHM6IHN0cmluZ1tdKSA9PiB7XG4gIGlmICghcmVxdWlyZWRGaWVsZHMgfHwgcmVxdWlyZWRGaWVsZHMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIHRvRmlsdGVyO1xuICB9XG5cbiAgaWYgKE9iamVjdC5rZXlzKHRvRmlsdGVyKS5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gdG9GaWx0ZXI7XG4gIH1cblxuICByZXR1cm4gT2JqZWN0LmtleXModG9GaWx0ZXIpXG4gICAgLmZpbHRlcihmID0+IHJlcXVpcmVkRmllbGRzLmluZGV4T2YoZikgPiAtMSlcbiAgICAucmVkdWNlKChvYmosIGtleSkgPT4gKHsgLi4ub2JqLCBba2V5XTogdG9GaWx0ZXJba2V5XSB9KSwge30pO1xufTtcblxuLyoqXG4gKiBEZWVwIGNsZWFudXAgb2JqZWN0IGZyb20gZnVuY3Rpb25zXG4gKlxuICogQHBhcmFtIG9ialxuICovXG5leHBvcnQgY29uc3QgY2xlYW5VcENhbGxiYWNrcyA9IChvYmo6IGFueSkgPT4ge1xuICBpZiAoIW9iaiB8fCBPYmplY3Qua2V5cyhvYmopLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBvYmo7XG4gIH1cblxuICBPYmplY3Qua2V5cyhvYmopLmZvckVhY2goayA9PiB7XG4gICAgaWYgKHR5cGVvZiBvYmpba10gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIG9ialtrXSA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAob2JqW2tdID09PSBPYmplY3Qob2JqW2tdKSkge1xuICAgICAgb2JqW2tdID0gY2xlYW5VcENhbGxiYWNrcyhvYmpba10pO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIG9iajtcbn07XG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgubm9kZSc7XG4iXX0=
@@ -42,7 +42,7 @@ export var b64 = function (data, safeUrl) {
42
42
  * Return currently used filestack-js sdk version
43
43
  */
44
44
  export var getVersion = function () {
45
- return 'JS-4.3.7';
45
+ return 'JS-4.3.8';
46
46
  };
47
47
  /**
48
48
  * Returns if browser is a mobile device (if node env always return false)
@@ -18,7 +18,7 @@ import * as utils from './index';
18
18
  describe('utils:index', function () {
19
19
  describe('getVersion', function () {
20
20
  it('should return version string to replace', function () {
21
- expect(utils.getVersion()).toEqual("JS-4.3.7");
21
+ expect(utils.getVersion()).toEqual("JS-4.3.8");
22
22
  });
23
23
  });
24
24
  describe('isFacebook', function () {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "filestack-js",
3
- "version": "4.3.7",
3
+ "version": "4.3.8",
4
4
  "description": "Official JavaScript library for Filestack",
5
5
  "main": "build/main/index.js",
6
6
  "module": "build/module/index.js",
@@ -49,7 +49,7 @@
49
49
  "debug": "^4.3.4",
50
50
  "eventemitter3": "^5.0.0",
51
51
  "fast-xml-parser": "^5.3.6",
52
- "file-type": "^16.5.4",
52
+ "file-type": "^22.0.0",
53
53
  "follow-redirects": "^1.15.2",
54
54
  "isutf8": "^4.0.0",
55
55
  "jsonschema": "^1.4.1",
@@ -18,7 +18,7 @@
18
18
  import { Session } from '../client';
19
19
  import { Hosts } from './../../config';
20
20
  import { ExtensionsMap } from './extensions';
21
- import { fromBuffer } from 'file-type';
21
+ import { fileTypeFromBuffer } from 'file-type';
22
22
  import isutf8 from 'isutf8';
23
23
 
24
24
  /**
@@ -105,7 +105,7 @@ export const getMimetype = async (file: Uint8Array | Buffer, name?: string): Pro
105
105
  let type;
106
106
 
107
107
  try {
108
- type = await fromBuffer(file);
108
+ type = await fileTypeFromBuffer(file as Uint8Array);
109
109
  } catch (e) {
110
110
  console.warn('An exception occurred while processing the buffer:', e.message);
111
111
  }
@@ -0,0 +1,26 @@
1
+ /*
2
+ * Copyright (c) 2026 by Filestack.
3
+ * Some rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+
18
+ declare module 'file-type' {
19
+ export interface FileTypeResult {
20
+ ext: string;
21
+ mime: string;
22
+ }
23
+ export function fileTypeFromBuffer(
24
+ buffer: Uint8Array | ArrayBuffer
25
+ ): Promise<FileTypeResult | undefined>;
26
+ };