@ibm-aspera/sdk 0.2.4 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,13 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [0.2.5](https://github.com/IBM/aspera-sdk-js/compare/v0.2.4...v0.2.5) (2024-11-15)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * URL export info ([#51](https://github.com/IBM/aspera-sdk-js/issues/51)) ([86fe712](https://github.com/IBM/aspera-sdk-js/commit/86fe712e7100bcf5fc04d0034879865198f55875))
11
+
5
12
  ### [0.2.4](https://github.com/IBM/aspera-sdk-js/compare/v0.2.3...v0.2.4) (2024-11-07)
6
13
 
7
14
 
@@ -3,4 +3,6 @@ export declare const hiddenStyleList = "\n display: none !important;\n width:
3
3
  /** @ignore */
4
4
  export declare const protocol = "aspera://";
5
5
  /** @ignore */
6
- export declare const installerUrl = "https://downloads.ibmaspera.com/downloads/desktop/latest/stable";
6
+ export declare const baseInstallerUrl = "https://downloads.ibmaspera.com/downloads/desktop";
7
+ /** @ignore */
8
+ export declare const installerUrl: string;
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.installerUrl = exports.protocol = exports.hiddenStyleList = void 0;
3
+ exports.installerUrl = exports.baseInstallerUrl = exports.protocol = exports.hiddenStyleList = void 0;
4
4
  /** @ignore */
5
5
  exports.hiddenStyleList = "\n display: none !important;\n width: 1px !important;\n height: 1px !important;\n position: fixed !important;\n z-index: -99 !important;\n bottom: 0px !important;\n right: 0px !important;\n";
6
6
  /** @ignore */
7
7
  exports.protocol = 'aspera://';
8
8
  /** @ignore */
9
- exports.installerUrl = 'https://downloads.ibmaspera.com/downloads/desktop/latest/stable';
9
+ exports.baseInstallerUrl = 'https://downloads.ibmaspera.com/downloads/desktop';
10
+ /** @ignore */
11
+ exports.installerUrl = "".concat(exports.baseInstallerUrl, "/latest/stable");
@@ -1,4 +1,4 @@
1
- import { ErrorResponse, PromiseObject, TransferSpec } from '../models/models';
1
+ import { ErrorResponse, InstallerUrlInfo, PromiseObject, TransferSpec } from '../models/models';
2
2
  /**
3
3
  * Generates promise object that can be resolved or rejected via functions
4
4
  *
@@ -69,6 +69,12 @@ export declare const isValidURL: (url: string) => boolean;
69
69
  * @returns {boolean} Whether the browser is Safari.
70
70
  */
71
71
  export declare const isSafari: () => boolean;
72
+ /**
73
+ * Get the URLs for installer management.
74
+ *
75
+ * @returns Info on URLs where installers live
76
+ */
77
+ export declare const getInstallerUrls: () => InstallerUrlInfo;
72
78
  declare const _default: {
73
79
  errorLog: (message: string, debugData?: any) => void;
74
80
  generateErrorBody: (message: string, debugData?: any) => ErrorResponse;
@@ -80,5 +86,6 @@ declare const _default: {
80
86
  isValidTransferSpec: (transferSpec: TransferSpec) => boolean;
81
87
  randomUUID: () => string;
82
88
  throwError: (message: string, debugData?: any) => Promise<any>;
89
+ getInstallerUrls: () => InstallerUrlInfo;
83
90
  };
84
91
  export default _default;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isSafari = exports.isValidURL = exports.throwError = exports.randomUUID = exports.getCurrentPlatform = exports.getWebsocketUrl = exports.isValidTransferSpec = exports.generateErrorBody = exports.errorLog = exports.generatePromiseObjects = void 0;
3
+ exports.getInstallerUrls = exports.isSafari = exports.isValidURL = exports.throwError = exports.randomUUID = exports.getCurrentPlatform = exports.getWebsocketUrl = exports.isValidTransferSpec = exports.generateErrorBody = exports.errorLog = exports.generatePromiseObjects = void 0;
4
+ var constants_1 = require("../constants/constants");
4
5
  /**
5
6
  * Generates promise object that can be resolved or rejected via functions
6
7
  *
@@ -183,6 +184,18 @@ var isSafari = function () {
183
184
  return /^((?!chrome|android).)*safari/i.test(navigator.userAgent) && !window.MSStream;
184
185
  };
185
186
  exports.isSafari = isSafari;
187
+ /**
188
+ * Get the URLs for installer management.
189
+ *
190
+ * @returns Info on URLs where installers live
191
+ */
192
+ var getInstallerUrls = function () {
193
+ return {
194
+ base: constants_1.baseInstallerUrl,
195
+ latest: constants_1.installerUrl,
196
+ };
197
+ };
198
+ exports.getInstallerUrls = getInstallerUrls;
186
199
  exports.default = {
187
200
  errorLog: exports.errorLog,
188
201
  generateErrorBody: exports.generateErrorBody,
@@ -194,4 +207,5 @@ exports.default = {
194
207
  isValidTransferSpec: exports.isValidTransferSpec,
195
208
  randomUUID: exports.randomUUID,
196
209
  throwError: exports.throwError,
210
+ getInstallerUrls: exports.getInstallerUrls,
197
211
  };
@@ -1,41 +1,8 @@
1
1
  import { AsperaSdk } from './models/aspera-sdk.model';
2
2
  import { createDropzone, deregisterActivityCallback, deregisterRemovedCallback, deregisterSafariExtensionStatusCallback, deregisterStatusCallback, getAllTransfers, getInfo, getTransfer, init, modifyTransfer, registerActivityCallback, registerRemovedCallback, registerSafariExtensionStatusCallback, registerStatusCallback, removeDropzone, removeTransfer, resumeTransfer, setBranding, showDirectory, showPreferences, showSelectFileDialog, showSelectFolderDialog, startTransfer, stopTransfer, testConnection } from './app/core';
3
3
  import { getInstallerInfo } from './app/installer';
4
- import { isSafari } from './helpers/helpers';
4
+ import { getInstallerUrls, isSafari } from './helpers/helpers';
5
5
  export declare const asperaSdk: AsperaSdk;
6
6
  declare const launch: () => void;
7
- export { isSafari, init, testConnection, startTransfer, launch, registerActivityCallback, deregisterActivityCallback, removeTransfer, showDirectory, stopTransfer, resumeTransfer, getAllTransfers, getTransfer, registerRemovedCallback, deregisterRemovedCallback, showSelectFileDialog, showSelectFolderDialog, showPreferences, modifyTransfer, createDropzone, removeDropzone, getInstallerInfo, registerStatusCallback, deregisterStatusCallback, registerSafariExtensionStatusCallback, deregisterSafariExtensionStatusCallback, setBranding, getInfo, };
8
- declare const _default: {
9
- isSafari: () => boolean;
10
- init: (options?: import("./models/models").InitOptions) => Promise<any>;
11
- testConnection: () => Promise<any>;
12
- startTransfer: (transferSpec: import("./models/models").TransferSpec, asperaSdkSpec: import("./models/models").AsperaSdkSpec) => Promise<import("./models/models").AsperaSdkTransfer>;
13
- launch: () => void;
14
- registerActivityCallback: (callback: (transfers: import("./models/aspera-sdk.model").TransferResponse) => void) => string;
15
- deregisterActivityCallback: (id: string) => void;
16
- removeTransfer: (id: string) => Promise<any>;
17
- showDirectory: (id: string) => Promise<any>;
18
- stopTransfer: (id: string) => Promise<any>;
19
- resumeTransfer: (id: string, options?: import("./models/models").ResumeTransferOptions) => Promise<import("./models/models").AsperaSdkTransfer>;
20
- getAllTransfers: () => Promise<import("./models/models").AsperaSdkTransfer[]>;
21
- getTransfer: (id: string) => Promise<import("./models/models").AsperaSdkTransfer>;
22
- registerRemovedCallback: (callback: (transfer: import("./models/models").AsperaSdkTransfer) => void) => string;
23
- deregisterRemovedCallback: (id: string) => void;
24
- showSelectFileDialog: (options?: import("./models/models").FileDialogOptions) => Promise<import("./models/models").DataTransferResponse>;
25
- showSelectFolderDialog: (options?: import("./models/models").FolderDialogOptions) => Promise<import("./models/models").DataTransferResponse>;
26
- showPreferences: () => Promise<any>;
27
- modifyTransfer: (id: string, options: import("./models/models").ModifyTransferOptions) => Promise<import("./models/models").AsperaSdkTransfer>;
28
- createDropzone: (callback: (data: {
29
- event: any;
30
- files: import("./models/models").DataTransferResponse;
31
- }) => void, elementSelector: string) => void;
32
- removeDropzone: (elementSelector: string) => void;
33
- getInstallerInfo: (options?: import("./models/models").InstallerOptions) => Promise<import("./models/models").InstallerInfoResponse>;
34
- registerStatusCallback: (callback: (status: import("./models/models").WebsocketEvent) => void) => string;
35
- deregisterStatusCallback: (id: string) => void;
36
- registerSafariExtensionStatusCallback: (callback: (status: import("./models/models").SafariExtensionEvent) => void) => string;
37
- deregisterSafariExtensionStatusCallback: (id: string) => void;
38
- setBranding: (id: string, options: import("./models/models").CustomBrandingOptions) => Promise<any>;
39
- getInfo: () => Promise<import("./models/aspera-sdk.model").AsperaSdkInfo>;
40
- };
41
- export default _default;
7
+ export { isSafari, init, testConnection, startTransfer, launch, registerActivityCallback, deregisterActivityCallback, removeTransfer, showDirectory, stopTransfer, resumeTransfer, getAllTransfers, getTransfer, registerRemovedCallback, deregisterRemovedCallback, showSelectFileDialog, showSelectFolderDialog, showPreferences, modifyTransfer, createDropzone, removeDropzone, getInstallerInfo, registerStatusCallback, deregisterStatusCallback, registerSafariExtensionStatusCallback, deregisterSafariExtensionStatusCallback, setBranding, getInfo, getInstallerUrls, };
8
+ export default asperaSdk;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getInfo = exports.setBranding = exports.deregisterSafariExtensionStatusCallback = exports.registerSafariExtensionStatusCallback = exports.deregisterStatusCallback = exports.registerStatusCallback = exports.getInstallerInfo = exports.removeDropzone = exports.createDropzone = exports.modifyTransfer = exports.showPreferences = exports.showSelectFolderDialog = exports.showSelectFileDialog = exports.deregisterRemovedCallback = exports.registerRemovedCallback = exports.getTransfer = exports.getAllTransfers = exports.resumeTransfer = exports.stopTransfer = exports.showDirectory = exports.removeTransfer = exports.deregisterActivityCallback = exports.registerActivityCallback = exports.launch = exports.startTransfer = exports.testConnection = exports.init = exports.isSafari = exports.asperaSdk = void 0;
3
+ exports.getInstallerUrls = exports.getInfo = exports.setBranding = exports.deregisterSafariExtensionStatusCallback = exports.registerSafariExtensionStatusCallback = exports.deregisterStatusCallback = exports.registerStatusCallback = exports.getInstallerInfo = exports.removeDropzone = exports.createDropzone = exports.modifyTransfer = exports.showPreferences = exports.showSelectFolderDialog = exports.showSelectFileDialog = exports.deregisterRemovedCallback = exports.registerRemovedCallback = exports.getTransfer = exports.getAllTransfers = exports.resumeTransfer = exports.stopTransfer = exports.showDirectory = exports.removeTransfer = exports.deregisterActivityCallback = exports.registerActivityCallback = exports.launch = exports.startTransfer = exports.testConnection = exports.init = exports.isSafari = exports.asperaSdk = void 0;
4
4
  var aspera_sdk_model_1 = require("./models/aspera-sdk.model");
5
5
  var core_1 = require("./app/core");
6
6
  Object.defineProperty(exports, "createDropzone", { enumerable: true, get: function () { return core_1.createDropzone; } });
@@ -31,6 +31,7 @@ Object.defineProperty(exports, "testConnection", { enumerable: true, get: functi
31
31
  var installer_1 = require("./app/installer");
32
32
  Object.defineProperty(exports, "getInstallerInfo", { enumerable: true, get: function () { return installer_1.getInstallerInfo; } });
33
33
  var helpers_1 = require("./helpers/helpers");
34
+ Object.defineProperty(exports, "getInstallerUrls", { enumerable: true, get: function () { return helpers_1.getInstallerUrls; } });
34
35
  Object.defineProperty(exports, "isSafari", { enumerable: true, get: function () { return helpers_1.isSafari; } });
35
36
  exports.asperaSdk = new aspera_sdk_model_1.AsperaSdk();
36
37
  exports.asperaSdk.init = core_1.init;
@@ -61,39 +62,11 @@ exports.asperaSdk.initDragDrop = core_1.initDragDrop;
61
62
  exports.asperaSdk.setBranding = core_1.setBranding;
62
63
  exports.asperaSdk.getInfo = core_1.getInfo;
63
64
  exports.asperaSdk.isSafari = helpers_1.isSafari;
65
+ exports.asperaSdk.getInstallerUrls = helpers_1.getInstallerUrls;
64
66
  var launch = exports.asperaSdk.globals.launch;
65
67
  exports.launch = launch;
66
68
  exports.asperaSdk.launch = launch;
67
69
  if (typeof window === 'object') {
68
70
  window.asperaSdk = exports.asperaSdk;
69
71
  }
70
- exports.default = {
71
- isSafari: helpers_1.isSafari,
72
- init: core_1.init,
73
- testConnection: core_1.testConnection,
74
- startTransfer: core_1.startTransfer,
75
- launch: launch,
76
- registerActivityCallback: core_1.registerActivityCallback,
77
- deregisterActivityCallback: core_1.deregisterActivityCallback,
78
- removeTransfer: core_1.removeTransfer,
79
- showDirectory: core_1.showDirectory,
80
- stopTransfer: core_1.stopTransfer,
81
- resumeTransfer: core_1.resumeTransfer,
82
- getAllTransfers: core_1.getAllTransfers,
83
- getTransfer: core_1.getTransfer,
84
- registerRemovedCallback: core_1.registerRemovedCallback,
85
- deregisterRemovedCallback: core_1.deregisterRemovedCallback,
86
- showSelectFileDialog: core_1.showSelectFileDialog,
87
- showSelectFolderDialog: core_1.showSelectFolderDialog,
88
- showPreferences: core_1.showPreferences,
89
- modifyTransfer: core_1.modifyTransfer,
90
- createDropzone: core_1.createDropzone,
91
- removeDropzone: core_1.removeDropzone,
92
- getInstallerInfo: installer_1.getInstallerInfo,
93
- registerStatusCallback: core_1.registerStatusCallback,
94
- deregisterStatusCallback: core_1.deregisterStatusCallback,
95
- registerSafariExtensionStatusCallback: core_1.registerSafariExtensionStatusCallback,
96
- deregisterSafariExtensionStatusCallback: core_1.deregisterSafariExtensionStatusCallback,
97
- setBranding: core_1.setBranding,
98
- getInfo: core_1.getInfo,
99
- };
72
+ exports.default = exports.asperaSdk;
@@ -1,4 +1,4 @@
1
- import { CustomBrandingOptions, DataTransferResponse, AsperaSdkSpec, AsperaSdkTransfer, FileDialogOptions, FolderDialogOptions, InitOptions, InstallerInfoResponse, InstallerOptions, ModifyTransferOptions, ResumeTransferOptions, SafariExtensionEvent, TransferSpec, WebsocketEvent } from './models';
1
+ import { CustomBrandingOptions, DataTransferResponse, AsperaSdkSpec, AsperaSdkTransfer, FileDialogOptions, FolderDialogOptions, InitOptions, InstallerInfoResponse, InstallerOptions, ModifyTransferOptions, ResumeTransferOptions, SafariExtensionEvent, TransferSpec, WebsocketEvent, InstallerUrlInfo } from './models';
2
2
  declare class AsperaSdkGlobals {
3
3
  /** The URL of the IBM Aspera HTTP server to use with the SDK */
4
4
  asperaAppUrl: string;
@@ -205,6 +205,8 @@ export declare class AsperaSdk {
205
205
  getInfo: () => Promise<AsperaSdkInfo>;
206
206
  /** Function to get whether IBM Aspera is running on Safari */
207
207
  isSafari: () => boolean;
208
+ /** Function to get URLs for installer management. */
209
+ getInstallerUrls: () => InstallerUrlInfo;
208
210
  /**
209
211
  * Check if IBM Aspera is ready to be used and has been verified.
210
212
  *
@@ -638,3 +638,9 @@ export interface InitOptions {
638
638
  appId?: string;
639
639
  supportMultipleUsers?: boolean;
640
640
  }
641
+ export interface InstallerUrlInfo {
642
+ /** Base URL of the Desktop download server */
643
+ base: string;
644
+ /** URL to the latest installers (GA release) */
645
+ latest: string;
646
+ }
@@ -1,3 +1,3 @@
1
1
  /*! For license information please see aspera-sdk.js.LICENSE.txt */
2
- (()=>{"use strict";var e={94:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function s(e){try{c(r.next(e))}catch(e){i(e)}}function a(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((r=r.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,r,o,i,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(a){return function(c){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,a[0]&&(s=0)),s;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return s.label++,{value:a[1],done:!1};case 5:s.label++,r=a[1],a=[0];continue;case 7:a=s.ops.pop(),s.trys.pop();continue;default:if(!((o=(o=s.trys).length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){s=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){s.label=a[1];break}if(6===a[0]&&s.label<o[1]){s.label=o[1],o=a;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(a);break}o[2]&&s.ops.pop(),s.trys.pop();continue}a=t.call(e,s)}catch(e){a=[6,e],r=0}finally{n=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,c])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.JSONRPCClient=void 0;var i=n(287),s=n(616),a=function(){function e(e,t){this._send=e,this.createID=t,this.idToResolveMap=new Map,this.id=0}return e.prototype._createID=function(){return this.createID?this.createID():++this.id},e.prototype.timeout=function(e,t){var n=this;void 0===t&&(t=function(e){return(0,i.createJSONRPCErrorResponse)(e,s.DefaultErrorCode,"Request timeout")});var r=function(r,o){var i=setTimeout((function(){r.forEach((function(e){var r=n.idToResolveMap.get(e);r&&(n.idToResolveMap.delete(e),r(t(e)))}))}),e);return o().then((function(e){return clearTimeout(i),e}),(function(e){return clearTimeout(i),Promise.reject(e)}))};return{request:function(e,t,o){var i=n._createID();return r([i],(function(){return n.requestWithID(e,t,o,i)}))},requestAdvanced:function(e,t){return function(e,t){var o=(Array.isArray(e)?e:[e]).map((function(e){return e.id})).filter(c);return r(o,(function(){return n.requestAdvanced(e,t)}))}(e,t)}}},e.prototype.request=function(e,t,n){return this.requestWithID(e,t,n,this._createID())},e.prototype.requestWithID=function(e,t,n,s){return r(this,void 0,void 0,(function(){var r,a;return o(this,(function(o){switch(o.label){case 0:return r=(0,i.createJSONRPCRequest)(s,e,t),[4,this.requestAdvanced(r,n)];case 1:return void 0===(a=o.sent()).result||a.error?void 0===a.result&&a.error?[2,Promise.reject(new i.JSONRPCErrorException(a.error.message,a.error.code,a.error.data))]:[2,Promise.reject(new Error("An unexpected error occurred"))]:[2,a.result]}}))}))},e.prototype.requestAdvanced=function(e,t){var n=this,r=Array.isArray(e);Array.isArray(e)||(e=[e]);var o=e.filter((function(e){return c(e.id)})),a=o.map((function(e){return new Promise((function(t){return n.idToResolveMap.set(e.id,t)}))})),u=Promise.all(a).then((function(e){return r||!e.length?e:e[0]}));return this.send(r?e:e[0],t).then((function(){return u}),(function(e){return o.forEach((function(t){n.receive((0,i.createJSONRPCErrorResponse)(t.id,s.DefaultErrorCode,e&&e.message||"Failed to send a request"))})),u}))},e.prototype.notify=function(e,t,n){var r=(0,i.createJSONRPCNotification)(e,t);this.send(r,n).then(void 0,(function(){}))},e.prototype.send=function(e,t){return r(this,void 0,void 0,(function(){return o(this,(function(n){return[2,this._send(e,t)]}))}))},e.prototype.rejectAllPendingRequests=function(e){this.idToResolveMap.forEach((function(t,n){return t((0,i.createJSONRPCErrorResponse)(n,s.DefaultErrorCode,e))})),this.idToResolveMap.clear()},e.prototype.receive=function(e){var t=this;Array.isArray(e)||(e=[e]),e.forEach((function(e){var n=t.idToResolveMap.get(e.id);n&&(t.idToResolveMap.delete(e.id),n(e))}))},e}();t.JSONRPCClient=a;var c=function(e){return null!=e}},773:function(e,t,n){var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,o)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),o(n(94),t),o(n(989),t),o(n(287),t),o(n(490),t),o(n(556),t)},989:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},616:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DefaultErrorCode=void 0,t.DefaultErrorCode=0},287:function(e,t){var n,r=this&&this.__extends||(n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},n(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.createJSONRPCNotification=t.createJSONRPCRequest=t.createJSONRPCSuccessResponse=t.createJSONRPCErrorResponse=t.JSONRPCErrorCode=t.JSONRPCErrorException=t.isJSONRPCResponses=t.isJSONRPCResponse=t.isJSONRPCRequests=t.isJSONRPCRequest=t.isJSONRPCID=t.JSONRPC=void 0,t.JSONRPC="2.0",t.isJSONRPCID=function(e){return"string"==typeof e||"number"==typeof e||null===e},t.isJSONRPCRequest=function(e){return e.jsonrpc===t.JSONRPC&&void 0!==e.method&&void 0===e.result&&void 0===e.error},t.isJSONRPCRequests=function(e){return Array.isArray(e)&&e.every(t.isJSONRPCRequest)},t.isJSONRPCResponse=function(e){return e.jsonrpc===t.JSONRPC&&void 0!==e.id&&(void 0!==e.result||void 0!==e.error)},t.isJSONRPCResponses=function(e){return Array.isArray(e)&&e.every(t.isJSONRPCResponse)};var o,i=function(e,t,n){var r={code:e,message:t};return null!=n&&(r.data=n),r},s=function(e){function t(n,r,o){var i=e.call(this,n)||this;return Object.setPrototypeOf(i,t.prototype),i.code=r,i.data=o,i}return r(t,e),t.prototype.toObject=function(){return i(this.code,this.message,this.data)},t}(Error);t.JSONRPCErrorException=s,(o=t.JSONRPCErrorCode||(t.JSONRPCErrorCode={}))[o.ParseError=-32700]="ParseError",o[o.InvalidRequest=-32600]="InvalidRequest",o[o.MethodNotFound=-32601]="MethodNotFound",o[o.InvalidParams=-32602]="InvalidParams",o[o.InternalError=-32603]="InternalError",t.createJSONRPCErrorResponse=function(e,n,r,o){return{jsonrpc:t.JSONRPC,id:e,error:i(n,r,o)}},t.createJSONRPCSuccessResponse=function(e,n){return{jsonrpc:t.JSONRPC,id:e,result:null!=n?n:null}},t.createJSONRPCRequest=function(e,n,r){return{jsonrpc:t.JSONRPC,id:e,method:n,params:r}},t.createJSONRPCNotification=function(e,n){return{jsonrpc:t.JSONRPC,method:e,params:n}}},556:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function s(e){try{c(r.next(e))}catch(e){i(e)}}function a(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((r=r.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,r,o,i,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(a){return function(c){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,a[0]&&(s=0)),s;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return s.label++,{value:a[1],done:!1};case 5:s.label++,r=a[1],a=[0];continue;case 7:a=s.ops.pop(),s.trys.pop();continue;default:if(!((o=(o=s.trys).length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){s=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){s.label=a[1];break}if(6===a[0]&&s.label<o[1]){s.label=o[1],o=a;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(a);break}o[2]&&s.ops.pop(),s.trys.pop();continue}a=t.call(e,s)}catch(e){a=[6,e],r=0}finally{n=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,c])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.JSONRPCServerAndClient=void 0;var i=n(287),s=function(){function e(e,t,n){var r;void 0===n&&(n={}),this.server=e,this.client=t,this.errorListener=null!==(r=n.errorListener)&&void 0!==r?r:console.warn}return e.prototype.applyServerMiddleware=function(){for(var e,t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];(e=this.server).applyMiddleware.apply(e,t)},e.prototype.hasMethod=function(e){return this.server.hasMethod(e)},e.prototype.addMethod=function(e,t){this.server.addMethod(e,t)},e.prototype.addMethodAdvanced=function(e,t){this.server.addMethodAdvanced(e,t)},e.prototype.timeout=function(e){return this.client.timeout(e)},e.prototype.request=function(e,t,n){return this.client.request(e,t,n)},e.prototype.requestAdvanced=function(e,t){return this.client.requestAdvanced(e,t)},e.prototype.notify=function(e,t,n){this.client.notify(e,t,n)},e.prototype.rejectAllPendingRequests=function(e){this.client.rejectAllPendingRequests(e)},e.prototype.receiveAndSend=function(e,t,n){return r(this,void 0,void 0,(function(){var r,s;return o(this,(function(o){switch(o.label){case 0:return(0,i.isJSONRPCResponse)(e)||(0,i.isJSONRPCResponses)(e)?(this.client.receive(e),[3,4]):[3,1];case 1:return(0,i.isJSONRPCRequest)(e)||(0,i.isJSONRPCRequests)(e)?[4,this.server.receive(e,t)]:[3,3];case 2:return(r=o.sent())?[2,this.client.send(r,n)]:[3,4];case 3:return s="Received an invalid JSON-RPC message",this.errorListener(s,e),[2,Promise.reject(new Error(s))];case 4:return[2]}}))}))},e}();t.JSONRPCServerAndClient=s},490:function(e,t,n){var r=this&&this.__assign||function(){return r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},r.apply(this,arguments)},o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function s(e){try{c(r.next(e))}catch(e){i(e)}}function a(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((r=r.apply(e,t||[])).next())}))},i=this&&this.__generator||function(e,t){var n,r,o,i,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(a){return function(c){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,a[0]&&(s=0)),s;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return s.label++,{value:a[1],done:!1};case 5:s.label++,r=a[1],a=[0];continue;case 7:a=s.ops.pop(),s.trys.pop();continue;default:if(!((o=(o=s.trys).length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){s=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){s.label=a[1];break}if(6===a[0]&&s.label<o[1]){s.label=o[1],o=a;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(a);break}o[2]&&s.ops.pop(),s.trys.pop();continue}a=t.call(e,s)}catch(e){a=[6,e],r=0}finally{n=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,c])}}},s=this&&this.__spreadArray||function(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))};Object.defineProperty(t,"__esModule",{value:!0}),t.JSONRPCServer=void 0;var a=n(287),c=n(616),u=function(e){return(0,a.createJSONRPCErrorResponse)((0,a.isJSONRPCID)(e.id)?e.id:null,a.JSONRPCErrorCode.InvalidRequest,"Invalid Request")},l=function(){function e(e){var t;void 0===e&&(e={}),this.mapErrorToJSONRPCErrorResponse=h,this.nameToMethodDictionary={},this.middleware=null,this.errorListener=null!==(t=e.errorListener)&&void 0!==t?t:console.warn}return e.prototype.hasMethod=function(e){return!!this.nameToMethodDictionary[e]},e.prototype.addMethod=function(e,t){this.addMethodAdvanced(e,this.toJSONRPCMethod(t))},e.prototype.toJSONRPCMethod=function(e){return function(t,n){var r=e(t.params,n);return Promise.resolve(r).then((function(e){return d(t.id,e)}))}},e.prototype.addMethodAdvanced=function(e,t){var n;this.nameToMethodDictionary=r(r({},this.nameToMethodDictionary),((n={})[e]=t,n))},e.prototype.receiveJSON=function(e,t){var n=this.tryParseRequestJSON(e);return n?this.receive(n,t):Promise.resolve((0,a.createJSONRPCErrorResponse)(null,a.JSONRPCErrorCode.ParseError,"Parse error"))},e.prototype.tryParseRequestJSON=function(e){try{return JSON.parse(e)}catch(e){return null}},e.prototype.receive=function(e,t){return Array.isArray(e)?this.receiveMultiple(e,t):this.receiveSingle(e,t)},e.prototype.receiveMultiple=function(e,t){return o(this,void 0,void 0,(function(){var n,r=this;return i(this,(function(o){switch(o.label){case 0:return[4,Promise.all(e.map((function(e){return r.receiveSingle(e,t)})))];case 1:return 1===(n=o.sent().filter(f)).length?[2,n[0]]:n.length?[2,n]:[2,null]}}))}))},e.prototype.receiveSingle=function(e,t){return o(this,void 0,void 0,(function(){var n,r;return i(this,(function(o){switch(o.label){case 0:return n=this.nameToMethodDictionary[e.method],(0,a.isJSONRPCRequest)(e)?[3,1]:[2,u(e)];case 1:return[4,this.callMethod(n,e,t)];case 2:return r=o.sent(),[2,v(e,r)]}}))}))},e.prototype.applyMiddleware=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.middleware?this.middleware=this.combineMiddlewares(s([this.middleware],e,!0)):this.middleware=this.combineMiddlewares(e)},e.prototype.combineMiddlewares=function(e){return e.length?e.reduce(this.middlewareReducer):null},e.prototype.middlewareReducer=function(e,t){return function(n,r,o){return e((function(e,r){return t(n,e,r)}),r,o)}},e.prototype.callMethod=function(e,t,n){var r=this,o=function(e){return r.errorListener('An unexpected error occurred while executing "'.concat(t.method,'" JSON-RPC method:'),e),Promise.resolve(r.mapErrorToJSONRPCErrorResponseIfNecessary(t.id,e))};try{return(this.middleware||p)((function(t,n){return e?e(t,n):void 0!==t.id?Promise.resolve((r=t.id,(0,a.createJSONRPCErrorResponse)(r,a.JSONRPCErrorCode.MethodNotFound,"Method not found"))):Promise.resolve(null);var r}),t,n).then(void 0,o)}catch(e){return o(e)}},e.prototype.mapErrorToJSONRPCErrorResponseIfNecessary=function(e,t){return void 0!==e?this.mapErrorToJSONRPCErrorResponse(e,t):null},e}();t.JSONRPCServer=l;var f=function(e){return null!==e},p=function(e,t,n){return e(t,n)},d=function(e,t){return void 0!==e?(0,a.createJSONRPCSuccessResponse)(e,t):null},h=function(e,t){var n,r,o=null!==(n=null==t?void 0:t.message)&&void 0!==n?n:"An unexpected error occurred",i=c.DefaultErrorCode;return t instanceof a.JSONRPCErrorException&&(i=t.code,r=t.data),(0,a.createJSONRPCErrorResponse)(e,i,o,r)},v=function(e,t){return t||(void 0!==e.id?(0,a.createJSONRPCErrorResponse)(e.id,a.JSONRPCErrorCode.InternalError,"Internal error"):null)}}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r].call(i.exports,i,i.exports,n),i.exports}n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.d({},{z7:()=>F});var r,o,i="aspera://",s="The provided callback is not a function",a="Unable to initialize drag-drop",c="Unable to generate IFRAME for download. Using new window",u="Unable to get latest installers",l="Unable to get all transfers",f="Unable to get transfer",p="Unable to modify transfer",d="Unable to remove transfer",h="Unable to resume transfer",v="Unable to connect to IBM Aspera for Desktop server",y="IBM Aspera SDK has not been verified. Run test or init first",b="Unable to set custom branding",m="Unable to show transfer directory",g="Unable to show select file dialog",S="Unable to show select folder dialog",R="Unable to show preferences",E="Unable to stop transfer",P="The transfer failed to initiate",w=function(){var e,t;return{promise:new Promise((function(n,r){e=n,t=r})),resolver:e,rejecter:t}},C=function(e,t){t&&t.code&&t.message&&(t={code:t.code,message:t.message,data:t.data}),"object"==typeof window&&(Array.isArray(window.asperaSdkLogs)||(window.asperaSdkLogs=[]),window.asperaSdkLogs.push({message:e,debugData:t})),console.warn("Aspera SDK: ".concat(e),t)},k=function(e,t){var n={error:!0,message:e};return t&&t.code&&t.message&&(n.debugData={code:t.code,message:t.message,data:t.data}),n},O=function(){var e;return(null===(e=window.crypto)||void 0===e?void 0:e.randomUUID)?window.crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=Number((((new Date).getTime()+16)*Math.random()).toFixed())%16;return"x"!==e&&(t=3&t|8),t.toString(16)}))},_=function(e,t){return C(e,t),new Promise((function(n,r){r(k(e,t))}))},x=function(e){try{return new URL(e),!0}catch(e){return!1}},N=function(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)&&!window.MSStream};!function(e){e.Monitor="Monitor",e.Ping="Ping",e.Request="Request"}(r||(r={}));var A=new(function(){function e(){var e=this;this.statusInterval=100,this.keepAliveInterval=1e3,this.isFirstPing=!0,this.lastPing=null,this.lastPong=null,this.safariExtensionEnabled=!1,this.subscribedTransferActivity=!1,this.request=function(t,n){return void 0===n&&(n={}),e.dispatchPromiseEvent(r.Request,t,n)},this.promiseExecutors=new Map,this.listenResponseEvents(),this.listenTransferActivityEvents(),this.listenStatusEvents(),this.listenPongEvents(),o&&clearTimeout(o),this.keepAlive()}return e.prototype.monitorTransferActivity=function(){var e=this,t=function(){return e.dispatchPromiseEvent(r.Monitor,"subscribe_transfer_activity",[F.globals.appId]).then((function(){e.subscribedTransferActivity=!0}))};return this.safariExtensionEnabled?t():new Promise((function(n,r){var o=setInterval((function(){e.safariExtensionEnabled&&(t().then(n).catch(r),clearInterval(o))}),1e3)}))},e.prototype.buildRPCRequest=function(e,t){return{jsonrpc:"2.0",method:e,params:t,id:O()}},e.prototype.dispatchEvent=function(e,t){var n={detail:null!=t?t:{}};document.dispatchEvent(new CustomEvent("AsperaDesktop.".concat(e),n))},e.prototype.dispatchPromiseEvent=function(e,t,n){var r=this,o=this.buildRPCRequest(t,n);return new Promise((function(t,n){r.safariExtensionEnabled?(r.promiseExecutors.set(o.id,{resolve:t,reject:n}),r.dispatchEvent(e,o)):(console.warn("The Safari extension is disabled or unresponsive (dispatch event)"),console.warn("Failed event: ".concat(JSON.stringify(o))),n("The Safari extension is disabled or unresponsive (dispatch event)"))}))},e.prototype.handleResponse=function(e){var t=e.id,n=this.promiseExecutors.get(t);if(!n)return console.warn("Unable to find a promise executor for ".concat(t)),void console.warn("Response: ".concat(e));this.promiseExecutors.delete(t),e.error?n.reject(e.error):n.resolve(e.result)},e.prototype.listenResponseEvents=function(){var e=this;document.addEventListener("AsperaDesktop.Response",(function(t){e.handleResponse(t.detail)}))},e.prototype.listenTransferActivityEvents=function(){document.addEventListener("AsperaDesktop.TransferActivity",(function(e){F.activityTracking.handleTransferActivity(e.detail)}))},e.prototype.listenStatusEvents=function(){document.addEventListener("AsperaDesktop.Status",(function(e){F.activityTracking.handleWebSocketEvents(e.detail)}))},e.prototype.listenPongEvents=function(){var e=this;document.addEventListener("AsperaDesktop.Pong",(function(){e.lastPong=Date.now(),e.safariExtensionStatusChanged(!0)}))},e.prototype.keepAlive=function(){var e=this;this.lastPing=Date.now(),this.dispatchEvent(r.Ping),this.isFirstPing?this.isFirstPing=!1:setTimeout((function(){e.checkSafariExtensionStatus()}),this.statusInterval),o=setTimeout((function(){e.keepAlive()}),this.keepAliveInterval)},e.prototype.safariExtensionStatusChanged=function(e){var t=this;if(e!==this.safariExtensionEnabled){if(this.safariExtensionEnabled=e,e){if(this.subscribedTransferActivity){var n=function(){t.monitorTransferActivity().catch((function(){console.error("Failed to resume transfer activity, will try again in 1s"),setTimeout((function(){n()}),1e3)}))};n()}}else F.activityTracking.handleWebSocketEvents("CLOSED"),this.promiseExecutors.forEach((function(e){e.reject("The Safari extension is disabled or unresponsive (extension status)")})),this.promiseExecutors.clear();F.activityTracking.handleSafariExtensionEvents(this.safariExtensionEnabled?"ENABLED":"DISABLED")}},e.prototype.checkSafariExtensionStatus=function(){var e=this.lastPong-this.lastPing;(null==this.lastPong||e<0||e>500)&&this.safariExtensionStatusChanged(!1)},e}()),T=new(function(){function e(){var e=this;this.sockets=new Map,this.isConnected=!1,this.initPromise=w(),this.handleOpen=function(){!e.isConnected&&e.joinChannel()&&(e.isConnected=!0,e.updateRpcPort(),e.notifyEvent("RECONNECT"))},this.handleClose=function(){e.isConnected&&(e.isConnected=!1,e.notifyEvent("CLOSED")),e.globalSocket?e.reconnect():e.handleNotReady()},this.handleError=function(){C("The websocket was closed due to an error")},this.handleMessage=function(t){var n;try{n=JSON.parse(t.data)}catch(e){C("Unable to parse Websocket message",{error:e,message:t})}if(n&&1===n.id)e.initPromise.resolver(n);else{var r=e.sockets.get(n.method);r&&n.params&&r(n.params)}}}return e.prototype.handleNotReady=function(){C("The websocket is not ready. Run init first")},e.prototype.joinChannel=function(){return this.globalSocket?(this.globalSocket.send(JSON.stringify({jsonrpc:"2.0",method:"subscribe_transfer_activity",params:[F.globals.appId],id:1})),!0):(this.handleNotReady(),!1)},e.prototype.registerMessage=function(e,t){this.sockets.get(e)||this.sockets.set(e,(function(e){t(e.result)}))},e.prototype.registerEvent=function(e){this.eventListener=e,this.eventListener(this.isConnected?"RECONNECT":"CLOSED")},e.prototype.init=function(){return this.connect(),this.initPromise.promise},e.prototype.connect=function(){var e=this;this.getWebSocketConnection(33024,F.globals.supportMultipleUsers?33024:33029).then((function(t){e.globalSocket=t,e.globalSocket.onerror=e.handleError,e.globalSocket.onclose=e.handleClose,e.globalSocket.onopen=e.handleOpen,e.globalSocket.onmessage=e.handleMessage,e.handleOpen()})).catch((function(){e.reconnect()}))},e.prototype.reconnect=function(){var e=this;this.globalSocket&&this.globalSocket.close(),setTimeout((function(){e.connect()}),1e3)},e.prototype.getWebSocketConnection=function(e,t){var n=function(e){var t;0===e.indexOf("http:")?t="ws":0===e.indexOf("https:")&&(t="wss");var n=e.replace("http://","//").replace("https://","//");return"".concat(t,":").concat(n)}(F.globals.asperaAppUrl);return new Promise((function(r,o){var i=function(e){if(e>t)return o("No available WebSocket connection found");(function(e){return new Promise((function(t,r){var o=new WebSocket("".concat(n,":").concat(e));o.onopen=function(){t(o)},o.onerror=function(){r("Connection failed on port ".concat(e))}}))})(e).then((function(e){return r(e)})).catch((function(t){i(e+1)}))};i(e)}))},e.prototype.notifyEvent=function(e){"function"==typeof this.eventListener&&this.eventListener(e)},e.prototype.updateRpcPort=function(){if(this.globalSocket){var e=new URL(this.globalSocket.url);F.globals.rpcPort=Number(e.port)}},e}()),J=function(){function e(){this.asperaAppUrl="http://127.0.0.1",this.rpcPort=33024,this.installerUrl="https://downloads.ibmaspera.com/downloads/desktop/latest/stable",this.asperaAppVerified=!1,this.supportMultipleUsers=!1,this.dropZonesCreated=new Map}return e.prototype.backupLaunchMethod=function(e){window.alert("Launching IBM Aspera for Desktop"),window.location.href=e},e.prototype.launch=function(){var e=this;try{var t=document.createElement("iframe");t.src=i,t.onerror=function(t){C(c,t),e.backupLaunchMethod(i)},t.setAttribute("style","\n display: none !important;\n width: 1px !important;\n height: 1px !important;\n position: fixed !important;\n z-index: -99 !important;\n bottom: 0px !important;\n right: 0px !important;\n"),document.body.appendChild(t)}catch(e){C(c,e),this.backupLaunchMethod(i)}},e}(),M=function(){function e(){this.activity_callbacks=new Map,this.removed_callbacks=new Map,this.event_callbacks=new Map,this.safari_extension_callbacks=new Map,this.lastWebSocketEvent="CLOSED",this.lastSafariExtensionEvent="DISABLED"}return e.prototype.handleTransferActivity=function(e){"transferUpdated"===e.type&&this.activity_callbacks.forEach((function(t){"function"==typeof t&&t(e.data)})),"transferRemoved"===e.type&&this.removed_callbacks.forEach((function(t){"function"==typeof t&&t(e.data)}))},e.prototype.handleWebSocketEvents=function(e){this.lastWebSocketEvent!==e&&(this.event_callbacks.forEach((function(t){"function"==typeof t&&t(e)})),this.lastWebSocketEvent=e)},e.prototype.handleSafariExtensionEvents=function(e){this.lastSafariExtensionEvent!==e&&(this.safari_extension_callbacks.forEach((function(t){"function"==typeof t&&t(e)})),this.lastSafariExtensionEvent=e)},e.prototype.setup=function(){var e=this;return F.globals.sessionId&&this.registerDesktopAppSession(),N()?A.monitorTransferActivity():T.init().then((function(){T.registerMessage("transfer_activity",(function(t){return e.handleTransferActivity(t)})),T.registerEvent((function(t){return e.handleWebSocketEvents(t)}))}))},e.prototype.setCallback=function(e){if("function"==typeof e){var t="callback-".concat(this.activity_callbacks.size+1);return this.activity_callbacks.set(t,e),t}C(s)},e.prototype.removeCallback=function(e){this.activity_callbacks.delete(e)},e.prototype.setRemovedCallback=function(e){if("function"==typeof e){var t="callback-".concat(this.removed_callbacks.size+1);return this.removed_callbacks.set(t,e),t}C(s)},e.prototype.removeRemovedCallback=function(e){this.removed_callbacks.delete(e)},e.prototype.setWebSocketEventCallback=function(e){if("function"==typeof e){var t="callback-".concat(this.event_callbacks.size+1);return this.event_callbacks.set(t,e),e(this.lastWebSocketEvent),t}C(s)},e.prototype.removeWebSocketEventCallback=function(e){this.event_callbacks.delete(e)},e.prototype.setSafariExtensionEventCallback=function(e){if("function"==typeof e){var t="callback-".concat(this.safari_extension_callbacks.size+1);return this.safari_extension_callbacks.set(t,e),e(this.lastSafariExtensionEvent),t}C(s)},e.prototype.removeSafariExtensionEventCallback=function(e){this.safari_extension_callbacks.delete(e)},e.prototype.registerDesktopAppSession=function(){var e=document.createElement("iframe");e.style.display="none",e.src="aspera://initialize?app_id=".concat(F.globals.appId,"&session_id=").concat(F.globals.sessionId),document.body.appendChild(e),setTimeout((function(){document.body.removeChild(e)}),1e3)},e}(),j=function(){function e(){this.globals=new J,this.activityTracking=new M}return Object.defineProperty(e.prototype,"isReady",{get:function(){return this.globals.asperaAppVerified&&""!==this.globals.appId},enumerable:!1,configurable:!0}),e}(),q=n(773),D=function(){var e=this;this.handleRequest=function(t){var n={method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(t)},r="".concat(F.globals.asperaAppUrl,":").concat(F.globals.rpcPort);return fetch(r,n).then((function(n){if(n.ok)return n.json().then((function(t){return e.client.receive(t)}));if(void 0!==t.id)throw Promise.reject(n.statusText)}))},this.request=function(t,n){return e.client.request(t,n)},this.client=new q.JSONRPCClient(this.handleRequest)},I=new function(){var e=this;this.request=function(t,n){return void 0===n&&(n={}),r=e.httpClient.request(t,n),o=w(),r.then((function(e){o.resolver(e)}),(function(e){o.rejecter(e)})),o.promise;var r,o},this.httpClient=new D},U=N()?A:I,L=function(){return U.request("get_info").then((function(e){return F.globals.AsperaSdkInfo=e,F.globals.asperaAppVerified=!0,e}))},W=function(){if(!F.isReady)return _(y);var e=w();return U.request("init_drag_drop").then((function(t){return e.resolver(t)})).catch((function(t){C(a,t),e.rejecter(k(a,t))})),e.promise},F=new j;F.init=function(e){var t,n,r=null!==(t=null==e?void 0:e.appId)&&void 0!==t?t:O(),o=null!==(n=null==e?void 0:e.supportMultipleUsers)&&void 0!==n&&n;return F.globals.appId=r,o&&(F.globals.supportMultipleUsers=!0,F.globals.sessionId=O()),F.activityTracking.setup().then((function(){return L()})).then((function(){return W()})).catch((function(e){throw C(v,e),F.globals.asperaAppVerified=!1,k(v,e)}))},F.testConnection=L,F.startTransfer=function(e,t){if(!F.isReady)return _(y);if(!function(e){return!(!e||"object"!=typeof e||"string"!=typeof e.direction||"string"!=typeof e.remote_host||!Array.isArray(e.paths))}(e))return _("The supplied transferSpec is not valid",{transferSpec:e});var n=w(),r={transfer_spec:e,desktop_spec:t,app_id:F.globals.appId};return U.request("start_transfer",r).then((function(e){return n.resolver(e)})).catch((function(e){C(P,e),n.rejecter(k(P,e))})),n.promise},F.registerActivityCallback=function(e){return F.activityTracking.setCallback(e)},F.deregisterActivityCallback=function(e){F.activityTracking.removeCallback(e)},F.removeTransfer=function(e){if(!F.isReady)return _(y);var t=w(),n={transfer_id:e};return U.request("remove_transfer",n).then((function(e){return t.resolver(e)})).catch((function(e){C(d,e),t.rejecter(k(d,e))})),t.promise},F.showDirectory=function(e){if(!F.isReady)return _(y);var t=w(),n={transfer_id:e};return U.request("show_directory",n).then((function(e){return t.resolver(e)})).catch((function(e){C(m,e),t.rejecter(k(m,e))})),t.promise},F.stopTransfer=function(e){if(!F.isReady)return _(y);var t=w(),n={transfer_id:e};return U.request("stop_transfer",n).then((function(e){return t.resolver(e)})).catch((function(e){C(E,e),t.rejecter(k(E,e))})),t.promise},F.resumeTransfer=function(e,t){if(!F.isReady)return _(y);var n=w(),r={transfer_id:e,transfer_spec:t};return U.request("resume_transfer",r).then((function(e){return n.resolver(e)})).catch((function(e){C(h,e),n.rejecter(k(h,e))})),n.promise},F.getAllTransfers=function(){if(!F.isReady)return _(y);var e=w(),t={app_id:F.globals.appId};return U.request("get_all_transfers",t).then((function(t){return e.resolver(t)})).catch((function(t){C(l,t),e.rejecter(k(l,t))})),e.promise},F.getTransfer=function(e){if(!F.isReady)return _(y);var t=w(),n={transfer_id:e};return U.request("get_transfer",n).then((function(e){return t.resolver(e)})).catch((function(e){C(f,e),t.rejecter(k(f,e))})),t.promise},F.registerRemovedCallback=function(e){return F.activityTracking.setRemovedCallback(e)},F.deregisterRemovedCallback=function(e){F.activityTracking.removeRemovedCallback(e)},F.showSelectFileDialog=function(e){if(!F.isReady)return _(y);var t=w(),n={options:e||{},app_id:F.globals.appId};return U.request("show_file_dialog",n).then((function(e){return t.resolver(e)})).catch((function(e){C(g,e),t.rejecter(k(g,e))})),t.promise},F.showSelectFolderDialog=function(e){if(!F.isReady)return _(y);var t=w(),n={options:e||{},app_id:F.globals.appId};return U.request("show_folder_dialog",n).then((function(e){return t.resolver(e)})).catch((function(e){C(S,e),t.rejecter(k(S,e))})),t.promise},F.showPreferences=function(){if(!F.isReady)return _(y);var e=w();return U.request("open_preferences").then((function(t){return e.resolver(t)})).catch((function(t){C(R,t),e.rejecter(k(R,t))})),e.promise},F.modifyTransfer=function(e,t){if(!F.isReady)return _(y);var n=w(),r={transfer_id:e,transfer_spec:t};return U.request("modify_transfer",r).then((function(e){return n.resolver(e)})).catch((function(e){C(p,e),n.rejecter(k(p,e))})),n.promise},F.createDropzone=function(e,t){var n=document.querySelectorAll(t);if(n&&n.length){var r=function(e){e.preventDefault()},o=function(t){t.preventDefault();var n=[];if(t.dataTransfer&&t.dataTransfer.files&&t.dataTransfer.files.length&&t.dataTransfer.files[0]){for(var r=0;r<t.dataTransfer.files.length;r++){var o=t.dataTransfer.files[r];n.push({lastModified:o.lastModified,name:o.name,size:o.size,type:o.type})}var i={files:n,app_id:F.globals.appId};U.request("dropped_files",i).then((function(n){return e({event:t,files:n})})).catch((function(e){C("The dropped item could not be parsed. Please try selecting via the select file/folder option",e)}))}};n.forEach((function(e){e.addEventListener("dragover",r),e.addEventListener("drop",o),F.globals.dropZonesCreated.set(t,[{event:"dragover",callback:r},{event:"drop",callback:o}])}))}else C("Unable to find the element on the current page")},F.removeDropzone=function(e){var t=F.globals.dropZonesCreated.get(e);t&&t.forEach((function(t){var n=document.querySelectorAll(e);n&&n.length&&n.forEach((function(e){e.removeEventListener(t.event,t.callback)}))}))},F.getInstallerInfo=function(e){void 0===e&&(e={});var t=e.endpoint||F.globals.installerUrl;if(t.endsWith("/latest.json")&&(t=t.replace("/latest.json","")),!x(t))return _("The specified endpoint is not a valid URL",{url:t});var n=w();return function(e){return t=fetch(e,{headers:{"Content-Type":"application/json"}}),n=w(),t.then((function(e){return e.ok?n.resolver(e):n.rejecter(e),e})).catch((function(e){n.rejecter(e)})),n.promise;var t,n}("".concat(t,"/latest.json")).then((function(t){t.json().then((function(t){if(e.endpoint)for(var r=0,o=t.entries;r<o.length;r++){var i=o[r];x(i.url)||(i.url="".concat(e.endpoint,"/").concat(i.url))}if(e.all)n.resolver(t);else{var s=(a=navigator.userAgent,/Mac/.test(a)?"macos":/Win/.test(a)?"windows":/Linux/.test(a)?"linux":"unknown");t.entries=t.entries.filter((function(e){return e.platform===s})),n.resolver(t)}var a}))})).catch((function(e){C(u,e),n.rejecter(k(u,e))})),n.promise},F.registerStatusCallback=function(e){return F.activityTracking.setWebSocketEventCallback(e)},F.deregisterStatusCallback=function(e){F.activityTracking.removeWebSocketEventCallback(e)},F.registerSafariExtensionStatusCallback=function(e){return F.activityTracking.setSafariExtensionEventCallback(e)},F.deregisterSafariExtensionStatusCallback=function(e){F.activityTracking.removeSafariExtensionEventCallback(e)},F.initDragDrop=W,F.setBranding=function(e,t){if(!F.isReady)return _(y);var n=w(),r={branding:{id:e,name:t.name,theme:t.theme}};return U.request("update_branding",r).then((function(e){return n.resolver(e)})).catch((function(e){C(b,e),n.rejecter(k(b,e))})),n.promise},F.getInfo=function(){return F.isReady?new Promise((function(e,t){e(F.globals.AsperaSdkInfo)})):_(y)},F.isSafari=N;var z=F.globals.launch;F.launch=z,"object"==typeof window&&(window.asperaSdk=F)})();
2
+ (()=>{"use strict";var e={94:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function s(e){try{c(r.next(e))}catch(e){i(e)}}function a(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((r=r.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,r,o,i,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(a){return function(c){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,a[0]&&(s=0)),s;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return s.label++,{value:a[1],done:!1};case 5:s.label++,r=a[1],a=[0];continue;case 7:a=s.ops.pop(),s.trys.pop();continue;default:if(!((o=(o=s.trys).length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){s=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){s.label=a[1];break}if(6===a[0]&&s.label<o[1]){s.label=o[1],o=a;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(a);break}o[2]&&s.ops.pop(),s.trys.pop();continue}a=t.call(e,s)}catch(e){a=[6,e],r=0}finally{n=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,c])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.JSONRPCClient=void 0;var i=n(287),s=n(616),a=function(){function e(e,t){this._send=e,this.createID=t,this.idToResolveMap=new Map,this.id=0}return e.prototype._createID=function(){return this.createID?this.createID():++this.id},e.prototype.timeout=function(e,t){var n=this;void 0===t&&(t=function(e){return(0,i.createJSONRPCErrorResponse)(e,s.DefaultErrorCode,"Request timeout")});var r=function(r,o){var i=setTimeout((function(){r.forEach((function(e){var r=n.idToResolveMap.get(e);r&&(n.idToResolveMap.delete(e),r(t(e)))}))}),e);return o().then((function(e){return clearTimeout(i),e}),(function(e){return clearTimeout(i),Promise.reject(e)}))};return{request:function(e,t,o){var i=n._createID();return r([i],(function(){return n.requestWithID(e,t,o,i)}))},requestAdvanced:function(e,t){return function(e,t){var o=(Array.isArray(e)?e:[e]).map((function(e){return e.id})).filter(c);return r(o,(function(){return n.requestAdvanced(e,t)}))}(e,t)}}},e.prototype.request=function(e,t,n){return this.requestWithID(e,t,n,this._createID())},e.prototype.requestWithID=function(e,t,n,s){return r(this,void 0,void 0,(function(){var r,a;return o(this,(function(o){switch(o.label){case 0:return r=(0,i.createJSONRPCRequest)(s,e,t),[4,this.requestAdvanced(r,n)];case 1:return void 0===(a=o.sent()).result||a.error?void 0===a.result&&a.error?[2,Promise.reject(new i.JSONRPCErrorException(a.error.message,a.error.code,a.error.data))]:[2,Promise.reject(new Error("An unexpected error occurred"))]:[2,a.result]}}))}))},e.prototype.requestAdvanced=function(e,t){var n=this,r=Array.isArray(e);Array.isArray(e)||(e=[e]);var o=e.filter((function(e){return c(e.id)})),a=o.map((function(e){return new Promise((function(t){return n.idToResolveMap.set(e.id,t)}))})),u=Promise.all(a).then((function(e){return r||!e.length?e:e[0]}));return this.send(r?e:e[0],t).then((function(){return u}),(function(e){return o.forEach((function(t){n.receive((0,i.createJSONRPCErrorResponse)(t.id,s.DefaultErrorCode,e&&e.message||"Failed to send a request"))})),u}))},e.prototype.notify=function(e,t,n){var r=(0,i.createJSONRPCNotification)(e,t);this.send(r,n).then(void 0,(function(){}))},e.prototype.send=function(e,t){return r(this,void 0,void 0,(function(){return o(this,(function(n){return[2,this._send(e,t)]}))}))},e.prototype.rejectAllPendingRequests=function(e){this.idToResolveMap.forEach((function(t,n){return t((0,i.createJSONRPCErrorResponse)(n,s.DefaultErrorCode,e))})),this.idToResolveMap.clear()},e.prototype.receive=function(e){var t=this;Array.isArray(e)||(e=[e]),e.forEach((function(e){var n=t.idToResolveMap.get(e.id);n&&(t.idToResolveMap.delete(e.id),n(e))}))},e}();t.JSONRPCClient=a;var c=function(e){return null!=e}},773:function(e,t,n){var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,o)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),o(n(94),t),o(n(989),t),o(n(287),t),o(n(490),t),o(n(556),t)},989:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},616:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DefaultErrorCode=void 0,t.DefaultErrorCode=0},287:function(e,t){var n,r=this&&this.__extends||(n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},n(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.createJSONRPCNotification=t.createJSONRPCRequest=t.createJSONRPCSuccessResponse=t.createJSONRPCErrorResponse=t.JSONRPCErrorCode=t.JSONRPCErrorException=t.isJSONRPCResponses=t.isJSONRPCResponse=t.isJSONRPCRequests=t.isJSONRPCRequest=t.isJSONRPCID=t.JSONRPC=void 0,t.JSONRPC="2.0",t.isJSONRPCID=function(e){return"string"==typeof e||"number"==typeof e||null===e},t.isJSONRPCRequest=function(e){return e.jsonrpc===t.JSONRPC&&void 0!==e.method&&void 0===e.result&&void 0===e.error},t.isJSONRPCRequests=function(e){return Array.isArray(e)&&e.every(t.isJSONRPCRequest)},t.isJSONRPCResponse=function(e){return e.jsonrpc===t.JSONRPC&&void 0!==e.id&&(void 0!==e.result||void 0!==e.error)},t.isJSONRPCResponses=function(e){return Array.isArray(e)&&e.every(t.isJSONRPCResponse)};var o,i=function(e,t,n){var r={code:e,message:t};return null!=n&&(r.data=n),r},s=function(e){function t(n,r,o){var i=e.call(this,n)||this;return Object.setPrototypeOf(i,t.prototype),i.code=r,i.data=o,i}return r(t,e),t.prototype.toObject=function(){return i(this.code,this.message,this.data)},t}(Error);t.JSONRPCErrorException=s,(o=t.JSONRPCErrorCode||(t.JSONRPCErrorCode={}))[o.ParseError=-32700]="ParseError",o[o.InvalidRequest=-32600]="InvalidRequest",o[o.MethodNotFound=-32601]="MethodNotFound",o[o.InvalidParams=-32602]="InvalidParams",o[o.InternalError=-32603]="InternalError",t.createJSONRPCErrorResponse=function(e,n,r,o){return{jsonrpc:t.JSONRPC,id:e,error:i(n,r,o)}},t.createJSONRPCSuccessResponse=function(e,n){return{jsonrpc:t.JSONRPC,id:e,result:null!=n?n:null}},t.createJSONRPCRequest=function(e,n,r){return{jsonrpc:t.JSONRPC,id:e,method:n,params:r}},t.createJSONRPCNotification=function(e,n){return{jsonrpc:t.JSONRPC,method:e,params:n}}},556:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function s(e){try{c(r.next(e))}catch(e){i(e)}}function a(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((r=r.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,r,o,i,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(a){return function(c){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,a[0]&&(s=0)),s;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return s.label++,{value:a[1],done:!1};case 5:s.label++,r=a[1],a=[0];continue;case 7:a=s.ops.pop(),s.trys.pop();continue;default:if(!((o=(o=s.trys).length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){s=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){s.label=a[1];break}if(6===a[0]&&s.label<o[1]){s.label=o[1],o=a;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(a);break}o[2]&&s.ops.pop(),s.trys.pop();continue}a=t.call(e,s)}catch(e){a=[6,e],r=0}finally{n=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,c])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.JSONRPCServerAndClient=void 0;var i=n(287),s=function(){function e(e,t,n){var r;void 0===n&&(n={}),this.server=e,this.client=t,this.errorListener=null!==(r=n.errorListener)&&void 0!==r?r:console.warn}return e.prototype.applyServerMiddleware=function(){for(var e,t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];(e=this.server).applyMiddleware.apply(e,t)},e.prototype.hasMethod=function(e){return this.server.hasMethod(e)},e.prototype.addMethod=function(e,t){this.server.addMethod(e,t)},e.prototype.addMethodAdvanced=function(e,t){this.server.addMethodAdvanced(e,t)},e.prototype.timeout=function(e){return this.client.timeout(e)},e.prototype.request=function(e,t,n){return this.client.request(e,t,n)},e.prototype.requestAdvanced=function(e,t){return this.client.requestAdvanced(e,t)},e.prototype.notify=function(e,t,n){this.client.notify(e,t,n)},e.prototype.rejectAllPendingRequests=function(e){this.client.rejectAllPendingRequests(e)},e.prototype.receiveAndSend=function(e,t,n){return r(this,void 0,void 0,(function(){var r,s;return o(this,(function(o){switch(o.label){case 0:return(0,i.isJSONRPCResponse)(e)||(0,i.isJSONRPCResponses)(e)?(this.client.receive(e),[3,4]):[3,1];case 1:return(0,i.isJSONRPCRequest)(e)||(0,i.isJSONRPCRequests)(e)?[4,this.server.receive(e,t)]:[3,3];case 2:return(r=o.sent())?[2,this.client.send(r,n)]:[3,4];case 3:return s="Received an invalid JSON-RPC message",this.errorListener(s,e),[2,Promise.reject(new Error(s))];case 4:return[2]}}))}))},e}();t.JSONRPCServerAndClient=s},490:function(e,t,n){var r=this&&this.__assign||function(){return r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},r.apply(this,arguments)},o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function s(e){try{c(r.next(e))}catch(e){i(e)}}function a(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((r=r.apply(e,t||[])).next())}))},i=this&&this.__generator||function(e,t){var n,r,o,i,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(a){return function(c){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,a[0]&&(s=0)),s;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return s.label++,{value:a[1],done:!1};case 5:s.label++,r=a[1],a=[0];continue;case 7:a=s.ops.pop(),s.trys.pop();continue;default:if(!((o=(o=s.trys).length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){s=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){s.label=a[1];break}if(6===a[0]&&s.label<o[1]){s.label=o[1],o=a;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(a);break}o[2]&&s.ops.pop(),s.trys.pop();continue}a=t.call(e,s)}catch(e){a=[6,e],r=0}finally{n=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,c])}}},s=this&&this.__spreadArray||function(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))};Object.defineProperty(t,"__esModule",{value:!0}),t.JSONRPCServer=void 0;var a=n(287),c=n(616),u=function(e){return(0,a.createJSONRPCErrorResponse)((0,a.isJSONRPCID)(e.id)?e.id:null,a.JSONRPCErrorCode.InvalidRequest,"Invalid Request")},l=function(){function e(e){var t;void 0===e&&(e={}),this.mapErrorToJSONRPCErrorResponse=h,this.nameToMethodDictionary={},this.middleware=null,this.errorListener=null!==(t=e.errorListener)&&void 0!==t?t:console.warn}return e.prototype.hasMethod=function(e){return!!this.nameToMethodDictionary[e]},e.prototype.addMethod=function(e,t){this.addMethodAdvanced(e,this.toJSONRPCMethod(t))},e.prototype.toJSONRPCMethod=function(e){return function(t,n){var r=e(t.params,n);return Promise.resolve(r).then((function(e){return d(t.id,e)}))}},e.prototype.addMethodAdvanced=function(e,t){var n;this.nameToMethodDictionary=r(r({},this.nameToMethodDictionary),((n={})[e]=t,n))},e.prototype.receiveJSON=function(e,t){var n=this.tryParseRequestJSON(e);return n?this.receive(n,t):Promise.resolve((0,a.createJSONRPCErrorResponse)(null,a.JSONRPCErrorCode.ParseError,"Parse error"))},e.prototype.tryParseRequestJSON=function(e){try{return JSON.parse(e)}catch(e){return null}},e.prototype.receive=function(e,t){return Array.isArray(e)?this.receiveMultiple(e,t):this.receiveSingle(e,t)},e.prototype.receiveMultiple=function(e,t){return o(this,void 0,void 0,(function(){var n,r=this;return i(this,(function(o){switch(o.label){case 0:return[4,Promise.all(e.map((function(e){return r.receiveSingle(e,t)})))];case 1:return 1===(n=o.sent().filter(f)).length?[2,n[0]]:n.length?[2,n]:[2,null]}}))}))},e.prototype.receiveSingle=function(e,t){return o(this,void 0,void 0,(function(){var n,r;return i(this,(function(o){switch(o.label){case 0:return n=this.nameToMethodDictionary[e.method],(0,a.isJSONRPCRequest)(e)?[3,1]:[2,u(e)];case 1:return[4,this.callMethod(n,e,t)];case 2:return r=o.sent(),[2,v(e,r)]}}))}))},e.prototype.applyMiddleware=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this.middleware?this.middleware=this.combineMiddlewares(s([this.middleware],e,!0)):this.middleware=this.combineMiddlewares(e)},e.prototype.combineMiddlewares=function(e){return e.length?e.reduce(this.middlewareReducer):null},e.prototype.middlewareReducer=function(e,t){return function(n,r,o){return e((function(e,r){return t(n,e,r)}),r,o)}},e.prototype.callMethod=function(e,t,n){var r=this,o=function(e){return r.errorListener('An unexpected error occurred while executing "'.concat(t.method,'" JSON-RPC method:'),e),Promise.resolve(r.mapErrorToJSONRPCErrorResponseIfNecessary(t.id,e))};try{return(this.middleware||p)((function(t,n){return e?e(t,n):void 0!==t.id?Promise.resolve((r=t.id,(0,a.createJSONRPCErrorResponse)(r,a.JSONRPCErrorCode.MethodNotFound,"Method not found"))):Promise.resolve(null);var r}),t,n).then(void 0,o)}catch(e){return o(e)}},e.prototype.mapErrorToJSONRPCErrorResponseIfNecessary=function(e,t){return void 0!==e?this.mapErrorToJSONRPCErrorResponse(e,t):null},e}();t.JSONRPCServer=l;var f=function(e){return null!==e},p=function(e,t,n){return e(t,n)},d=function(e,t){return void 0!==e?(0,a.createJSONRPCSuccessResponse)(e,t):null},h=function(e,t){var n,r,o=null!==(n=null==t?void 0:t.message)&&void 0!==n?n:"An unexpected error occurred",i=c.DefaultErrorCode;return t instanceof a.JSONRPCErrorException&&(i=t.code,r=t.data),(0,a.createJSONRPCErrorResponse)(e,i,o,r)},v=function(e,t){return t||(void 0!==e.id?(0,a.createJSONRPCErrorResponse)(e.id,a.JSONRPCErrorCode.InternalError,"Internal error"):null)}}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r].call(i.exports,i,i.exports,n),i.exports}n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.d({},{z7:()=>B});var r,o,i="aspera://",s="https://downloads.ibmaspera.com/downloads/desktop",a="".concat(s,"/latest/stable"),c="The provided callback is not a function",u="Unable to initialize drag-drop",l="Unable to generate IFRAME for download. Using new window",f="Unable to get latest installers",p="Unable to get all transfers",d="Unable to get transfer",h="Unable to modify transfer",v="Unable to remove transfer",y="Unable to resume transfer",b="Unable to connect to IBM Aspera for Desktop server",m="IBM Aspera SDK has not been verified. Run test or init first",g="Unable to set custom branding",S="Unable to show transfer directory",R="Unable to show select file dialog",E="Unable to show select folder dialog",P="Unable to show preferences",w="Unable to stop transfer",C="The transfer failed to initiate",k=function(){var e,t;return{promise:new Promise((function(n,r){e=n,t=r})),resolver:e,rejecter:t}},O=function(e,t){t&&t.code&&t.message&&(t={code:t.code,message:t.message,data:t.data}),"object"==typeof window&&(Array.isArray(window.asperaSdkLogs)||(window.asperaSdkLogs=[]),window.asperaSdkLogs.push({message:e,debugData:t})),console.warn("Aspera SDK: ".concat(e),t)},_=function(e,t){var n={error:!0,message:e};return t&&t.code&&t.message&&(n.debugData={code:t.code,message:t.message,data:t.data}),n},x=function(){var e;return(null===(e=window.crypto)||void 0===e?void 0:e.randomUUID)?window.crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=Number((((new Date).getTime()+16)*Math.random()).toFixed())%16;return"x"!==e&&(t=3&t|8),t.toString(16)}))},N=function(e,t){return O(e,t),new Promise((function(n,r){r(_(e,t))}))},A=function(e){try{return new URL(e),!0}catch(e){return!1}},T=function(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)&&!window.MSStream};!function(e){e.Monitor="Monitor",e.Ping="Ping",e.Request="Request"}(r||(r={}));var J=new(function(){function e(){var e=this;this.statusInterval=100,this.keepAliveInterval=1e3,this.isFirstPing=!0,this.lastPing=null,this.lastPong=null,this.safariExtensionEnabled=!1,this.subscribedTransferActivity=!1,this.request=function(t,n){return void 0===n&&(n={}),e.dispatchPromiseEvent(r.Request,t,n)},this.promiseExecutors=new Map,this.listenResponseEvents(),this.listenTransferActivityEvents(),this.listenStatusEvents(),this.listenPongEvents(),o&&clearTimeout(o),this.keepAlive()}return e.prototype.monitorTransferActivity=function(){var e=this,t=function(){return e.dispatchPromiseEvent(r.Monitor,"subscribe_transfer_activity",[B.globals.appId]).then((function(){e.subscribedTransferActivity=!0}))};return this.safariExtensionEnabled?t():new Promise((function(n,r){var o=setInterval((function(){e.safariExtensionEnabled&&(t().then(n).catch(r),clearInterval(o))}),1e3)}))},e.prototype.buildRPCRequest=function(e,t){return{jsonrpc:"2.0",method:e,params:t,id:x()}},e.prototype.dispatchEvent=function(e,t){var n={detail:null!=t?t:{}};document.dispatchEvent(new CustomEvent("AsperaDesktop.".concat(e),n))},e.prototype.dispatchPromiseEvent=function(e,t,n){var r=this,o=this.buildRPCRequest(t,n);return new Promise((function(t,n){r.safariExtensionEnabled?(r.promiseExecutors.set(o.id,{resolve:t,reject:n}),r.dispatchEvent(e,o)):(console.warn("The Safari extension is disabled or unresponsive (dispatch event)"),console.warn("Failed event: ".concat(JSON.stringify(o))),n("The Safari extension is disabled or unresponsive (dispatch event)"))}))},e.prototype.handleResponse=function(e){var t=e.id,n=this.promiseExecutors.get(t);if(!n)return console.warn("Unable to find a promise executor for ".concat(t)),void console.warn("Response: ".concat(e));this.promiseExecutors.delete(t),e.error?n.reject(e.error):n.resolve(e.result)},e.prototype.listenResponseEvents=function(){var e=this;document.addEventListener("AsperaDesktop.Response",(function(t){e.handleResponse(t.detail)}))},e.prototype.listenTransferActivityEvents=function(){document.addEventListener("AsperaDesktop.TransferActivity",(function(e){B.activityTracking.handleTransferActivity(e.detail)}))},e.prototype.listenStatusEvents=function(){document.addEventListener("AsperaDesktop.Status",(function(e){B.activityTracking.handleWebSocketEvents(e.detail)}))},e.prototype.listenPongEvents=function(){var e=this;document.addEventListener("AsperaDesktop.Pong",(function(){e.lastPong=Date.now(),e.safariExtensionStatusChanged(!0)}))},e.prototype.keepAlive=function(){var e=this;this.lastPing=Date.now(),this.dispatchEvent(r.Ping),this.isFirstPing?this.isFirstPing=!1:setTimeout((function(){e.checkSafariExtensionStatus()}),this.statusInterval),o=setTimeout((function(){e.keepAlive()}),this.keepAliveInterval)},e.prototype.safariExtensionStatusChanged=function(e){var t=this;if(e!==this.safariExtensionEnabled){if(this.safariExtensionEnabled=e,e){if(this.subscribedTransferActivity){var n=function(){t.monitorTransferActivity().catch((function(){console.error("Failed to resume transfer activity, will try again in 1s"),setTimeout((function(){n()}),1e3)}))};n()}}else B.activityTracking.handleWebSocketEvents("CLOSED"),this.promiseExecutors.forEach((function(e){e.reject("The Safari extension is disabled or unresponsive (extension status)")})),this.promiseExecutors.clear();B.activityTracking.handleSafariExtensionEvents(this.safariExtensionEnabled?"ENABLED":"DISABLED")}},e.prototype.checkSafariExtensionStatus=function(){var e=this.lastPong-this.lastPing;(null==this.lastPong||e<0||e>500)&&this.safariExtensionStatusChanged(!1)},e}()),M=new(function(){function e(){var e=this;this.sockets=new Map,this.isConnected=!1,this.initPromise=k(),this.handleOpen=function(){!e.isConnected&&e.joinChannel()&&(e.isConnected=!0,e.updateRpcPort(),e.notifyEvent("RECONNECT"))},this.handleClose=function(){e.isConnected&&(e.isConnected=!1,e.notifyEvent("CLOSED")),e.globalSocket?e.reconnect():e.handleNotReady()},this.handleError=function(){O("The websocket was closed due to an error")},this.handleMessage=function(t){var n;try{n=JSON.parse(t.data)}catch(e){O("Unable to parse Websocket message",{error:e,message:t})}if(n&&1===n.id)e.initPromise.resolver(n);else{var r=e.sockets.get(n.method);r&&n.params&&r(n.params)}}}return e.prototype.handleNotReady=function(){O("The websocket is not ready. Run init first")},e.prototype.joinChannel=function(){return this.globalSocket?(this.globalSocket.send(JSON.stringify({jsonrpc:"2.0",method:"subscribe_transfer_activity",params:[B.globals.appId],id:1})),!0):(this.handleNotReady(),!1)},e.prototype.registerMessage=function(e,t){this.sockets.get(e)||this.sockets.set(e,(function(e){t(e.result)}))},e.prototype.registerEvent=function(e){this.eventListener=e,this.eventListener(this.isConnected?"RECONNECT":"CLOSED")},e.prototype.init=function(){return this.connect(),this.initPromise.promise},e.prototype.connect=function(){var e=this;this.getWebSocketConnection(33024,B.globals.supportMultipleUsers?33024:33029).then((function(t){e.globalSocket=t,e.globalSocket.onerror=e.handleError,e.globalSocket.onclose=e.handleClose,e.globalSocket.onopen=e.handleOpen,e.globalSocket.onmessage=e.handleMessage,e.handleOpen()})).catch((function(){e.reconnect()}))},e.prototype.reconnect=function(){var e=this;this.globalSocket&&this.globalSocket.close(),setTimeout((function(){e.connect()}),1e3)},e.prototype.getWebSocketConnection=function(e,t){var n=function(e){var t;0===e.indexOf("http:")?t="ws":0===e.indexOf("https:")&&(t="wss");var n=e.replace("http://","//").replace("https://","//");return"".concat(t,":").concat(n)}(B.globals.asperaAppUrl);return new Promise((function(r,o){var i=function(e){if(e>t)return o("No available WebSocket connection found");(function(e){return new Promise((function(t,r){var o=new WebSocket("".concat(n,":").concat(e));o.onopen=function(){t(o)},o.onerror=function(){r("Connection failed on port ".concat(e))}}))})(e).then((function(e){return r(e)})).catch((function(t){i(e+1)}))};i(e)}))},e.prototype.notifyEvent=function(e){"function"==typeof this.eventListener&&this.eventListener(e)},e.prototype.updateRpcPort=function(){if(this.globalSocket){var e=new URL(this.globalSocket.url);B.globals.rpcPort=Number(e.port)}},e}()),j=function(){function e(){this.asperaAppUrl="http://127.0.0.1",this.rpcPort=33024,this.installerUrl=a,this.asperaAppVerified=!1,this.supportMultipleUsers=!1,this.dropZonesCreated=new Map}return e.prototype.backupLaunchMethod=function(e){window.alert("Launching IBM Aspera for Desktop"),window.location.href=e},e.prototype.launch=function(){var e=this;try{var t=document.createElement("iframe");t.src=i,t.onerror=function(t){O(l,t),e.backupLaunchMethod(i)},t.setAttribute("style","\n display: none !important;\n width: 1px !important;\n height: 1px !important;\n position: fixed !important;\n z-index: -99 !important;\n bottom: 0px !important;\n right: 0px !important;\n"),document.body.appendChild(t)}catch(e){O(l,e),this.backupLaunchMethod(i)}},e}(),q=function(){function e(){this.activity_callbacks=new Map,this.removed_callbacks=new Map,this.event_callbacks=new Map,this.safari_extension_callbacks=new Map,this.lastWebSocketEvent="CLOSED",this.lastSafariExtensionEvent="DISABLED"}return e.prototype.handleTransferActivity=function(e){"transferUpdated"===e.type&&this.activity_callbacks.forEach((function(t){"function"==typeof t&&t(e.data)})),"transferRemoved"===e.type&&this.removed_callbacks.forEach((function(t){"function"==typeof t&&t(e.data)}))},e.prototype.handleWebSocketEvents=function(e){this.lastWebSocketEvent!==e&&(this.event_callbacks.forEach((function(t){"function"==typeof t&&t(e)})),this.lastWebSocketEvent=e)},e.prototype.handleSafariExtensionEvents=function(e){this.lastSafariExtensionEvent!==e&&(this.safari_extension_callbacks.forEach((function(t){"function"==typeof t&&t(e)})),this.lastSafariExtensionEvent=e)},e.prototype.setup=function(){var e=this;return B.globals.sessionId&&this.registerDesktopAppSession(),T()?J.monitorTransferActivity():M.init().then((function(){M.registerMessage("transfer_activity",(function(t){return e.handleTransferActivity(t)})),M.registerEvent((function(t){return e.handleWebSocketEvents(t)}))}))},e.prototype.setCallback=function(e){if("function"==typeof e){var t="callback-".concat(this.activity_callbacks.size+1);return this.activity_callbacks.set(t,e),t}O(c)},e.prototype.removeCallback=function(e){this.activity_callbacks.delete(e)},e.prototype.setRemovedCallback=function(e){if("function"==typeof e){var t="callback-".concat(this.removed_callbacks.size+1);return this.removed_callbacks.set(t,e),t}O(c)},e.prototype.removeRemovedCallback=function(e){this.removed_callbacks.delete(e)},e.prototype.setWebSocketEventCallback=function(e){if("function"==typeof e){var t="callback-".concat(this.event_callbacks.size+1);return this.event_callbacks.set(t,e),e(this.lastWebSocketEvent),t}O(c)},e.prototype.removeWebSocketEventCallback=function(e){this.event_callbacks.delete(e)},e.prototype.setSafariExtensionEventCallback=function(e){if("function"==typeof e){var t="callback-".concat(this.safari_extension_callbacks.size+1);return this.safari_extension_callbacks.set(t,e),e(this.lastSafariExtensionEvent),t}O(c)},e.prototype.removeSafariExtensionEventCallback=function(e){this.safari_extension_callbacks.delete(e)},e.prototype.registerDesktopAppSession=function(){var e=document.createElement("iframe");e.style.display="none",e.src="aspera://initialize?app_id=".concat(B.globals.appId,"&session_id=").concat(B.globals.sessionId),document.body.appendChild(e),setTimeout((function(){document.body.removeChild(e)}),1e3)},e}(),D=function(){function e(){this.globals=new j,this.activityTracking=new q}return Object.defineProperty(e.prototype,"isReady",{get:function(){return this.globals.asperaAppVerified&&""!==this.globals.appId},enumerable:!1,configurable:!0}),e}(),I=n(773),U=function(){var e=this;this.handleRequest=function(t){var n={method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(t)},r="".concat(B.globals.asperaAppUrl,":").concat(B.globals.rpcPort);return fetch(r,n).then((function(n){if(n.ok)return n.json().then((function(t){return e.client.receive(t)}));if(void 0!==t.id)throw Promise.reject(n.statusText)}))},this.request=function(t,n){return e.client.request(t,n)},this.client=new I.JSONRPCClient(this.handleRequest)},L=new function(){var e=this;this.request=function(t,n){return void 0===n&&(n={}),r=e.httpClient.request(t,n),o=k(),r.then((function(e){o.resolver(e)}),(function(e){o.rejecter(e)})),o.promise;var r,o},this.httpClient=new U},W=T()?J:L,F=function(){return W.request("get_info").then((function(e){return B.globals.AsperaSdkInfo=e,B.globals.asperaAppVerified=!0,e}))},z=function(){if(!B.isReady)return N(m);var e=k();return W.request("init_drag_drop").then((function(t){return e.resolver(t)})).catch((function(t){O(u,t),e.rejecter(_(u,t))})),e.promise},B=new D;B.init=function(e){var t,n,r=null!==(t=null==e?void 0:e.appId)&&void 0!==t?t:x(),o=null!==(n=null==e?void 0:e.supportMultipleUsers)&&void 0!==n&&n;return B.globals.appId=r,o&&(B.globals.supportMultipleUsers=!0,B.globals.sessionId=x()),B.activityTracking.setup().then((function(){return F()})).then((function(){return z()})).catch((function(e){throw O(b,e),B.globals.asperaAppVerified=!1,_(b,e)}))},B.testConnection=F,B.startTransfer=function(e,t){if(!B.isReady)return N(m);if(!function(e){return!(!e||"object"!=typeof e||"string"!=typeof e.direction||"string"!=typeof e.remote_host||!Array.isArray(e.paths))}(e))return N("The supplied transferSpec is not valid",{transferSpec:e});var n=k(),r={transfer_spec:e,desktop_spec:t,app_id:B.globals.appId};return W.request("start_transfer",r).then((function(e){return n.resolver(e)})).catch((function(e){O(C,e),n.rejecter(_(C,e))})),n.promise},B.registerActivityCallback=function(e){return B.activityTracking.setCallback(e)},B.deregisterActivityCallback=function(e){B.activityTracking.removeCallback(e)},B.removeTransfer=function(e){if(!B.isReady)return N(m);var t=k(),n={transfer_id:e};return W.request("remove_transfer",n).then((function(e){return t.resolver(e)})).catch((function(e){O(v,e),t.rejecter(_(v,e))})),t.promise},B.showDirectory=function(e){if(!B.isReady)return N(m);var t=k(),n={transfer_id:e};return W.request("show_directory",n).then((function(e){return t.resolver(e)})).catch((function(e){O(S,e),t.rejecter(_(S,e))})),t.promise},B.stopTransfer=function(e){if(!B.isReady)return N(m);var t=k(),n={transfer_id:e};return W.request("stop_transfer",n).then((function(e){return t.resolver(e)})).catch((function(e){O(w,e),t.rejecter(_(w,e))})),t.promise},B.resumeTransfer=function(e,t){if(!B.isReady)return N(m);var n=k(),r={transfer_id:e,transfer_spec:t};return W.request("resume_transfer",r).then((function(e){return n.resolver(e)})).catch((function(e){O(y,e),n.rejecter(_(y,e))})),n.promise},B.getAllTransfers=function(){if(!B.isReady)return N(m);var e=k(),t={app_id:B.globals.appId};return W.request("get_all_transfers",t).then((function(t){return e.resolver(t)})).catch((function(t){O(p,t),e.rejecter(_(p,t))})),e.promise},B.getTransfer=function(e){if(!B.isReady)return N(m);var t=k(),n={transfer_id:e};return W.request("get_transfer",n).then((function(e){return t.resolver(e)})).catch((function(e){O(d,e),t.rejecter(_(d,e))})),t.promise},B.registerRemovedCallback=function(e){return B.activityTracking.setRemovedCallback(e)},B.deregisterRemovedCallback=function(e){B.activityTracking.removeRemovedCallback(e)},B.showSelectFileDialog=function(e){if(!B.isReady)return N(m);var t=k(),n={options:e||{},app_id:B.globals.appId};return W.request("show_file_dialog",n).then((function(e){return t.resolver(e)})).catch((function(e){O(R,e),t.rejecter(_(R,e))})),t.promise},B.showSelectFolderDialog=function(e){if(!B.isReady)return N(m);var t=k(),n={options:e||{},app_id:B.globals.appId};return W.request("show_folder_dialog",n).then((function(e){return t.resolver(e)})).catch((function(e){O(E,e),t.rejecter(_(E,e))})),t.promise},B.showPreferences=function(){if(!B.isReady)return N(m);var e=k();return W.request("open_preferences").then((function(t){return e.resolver(t)})).catch((function(t){O(P,t),e.rejecter(_(P,t))})),e.promise},B.modifyTransfer=function(e,t){if(!B.isReady)return N(m);var n=k(),r={transfer_id:e,transfer_spec:t};return W.request("modify_transfer",r).then((function(e){return n.resolver(e)})).catch((function(e){O(h,e),n.rejecter(_(h,e))})),n.promise},B.createDropzone=function(e,t){var n=document.querySelectorAll(t);if(n&&n.length){var r=function(e){e.preventDefault()},o=function(t){t.preventDefault();var n=[];if(t.dataTransfer&&t.dataTransfer.files&&t.dataTransfer.files.length&&t.dataTransfer.files[0]){for(var r=0;r<t.dataTransfer.files.length;r++){var o=t.dataTransfer.files[r];n.push({lastModified:o.lastModified,name:o.name,size:o.size,type:o.type})}var i={files:n,app_id:B.globals.appId};W.request("dropped_files",i).then((function(n){return e({event:t,files:n})})).catch((function(e){O("The dropped item could not be parsed. Please try selecting via the select file/folder option",e)}))}};n.forEach((function(e){e.addEventListener("dragover",r),e.addEventListener("drop",o),B.globals.dropZonesCreated.set(t,[{event:"dragover",callback:r},{event:"drop",callback:o}])}))}else O("Unable to find the element on the current page")},B.removeDropzone=function(e){var t=B.globals.dropZonesCreated.get(e);t&&t.forEach((function(t){var n=document.querySelectorAll(e);n&&n.length&&n.forEach((function(e){e.removeEventListener(t.event,t.callback)}))}))},B.getInstallerInfo=function(e){void 0===e&&(e={});var t=e.endpoint||B.globals.installerUrl;if(t.endsWith("/latest.json")&&(t=t.replace("/latest.json","")),!A(t))return N("The specified endpoint is not a valid URL",{url:t});var n=k();return function(e){return t=fetch(e,{headers:{"Content-Type":"application/json"}}),n=k(),t.then((function(e){return e.ok?n.resolver(e):n.rejecter(e),e})).catch((function(e){n.rejecter(e)})),n.promise;var t,n}("".concat(t,"/latest.json")).then((function(t){t.json().then((function(t){if(e.endpoint)for(var r=0,o=t.entries;r<o.length;r++){var i=o[r];A(i.url)||(i.url="".concat(e.endpoint,"/").concat(i.url))}if(e.all)n.resolver(t);else{var s=(a=navigator.userAgent,/Mac/.test(a)?"macos":/Win/.test(a)?"windows":/Linux/.test(a)?"linux":"unknown");t.entries=t.entries.filter((function(e){return e.platform===s})),n.resolver(t)}var a}))})).catch((function(e){O(f,e),n.rejecter(_(f,e))})),n.promise},B.registerStatusCallback=function(e){return B.activityTracking.setWebSocketEventCallback(e)},B.deregisterStatusCallback=function(e){B.activityTracking.removeWebSocketEventCallback(e)},B.registerSafariExtensionStatusCallback=function(e){return B.activityTracking.setSafariExtensionEventCallback(e)},B.deregisterSafariExtensionStatusCallback=function(e){B.activityTracking.removeSafariExtensionEventCallback(e)},B.initDragDrop=z,B.setBranding=function(e,t){if(!B.isReady)return N(m);var n=k(),r={branding:{id:e,name:t.name,theme:t.theme}};return W.request("update_branding",r).then((function(e){return n.resolver(e)})).catch((function(e){O(g,e),n.rejecter(_(g,e))})),n.promise},B.getInfo=function(){return B.isReady?new Promise((function(e,t){e(B.globals.AsperaSdkInfo)})):N(m)},B.isSafari=T,B.getInstallerUrls=function(){return{base:s,latest:a}};var V=B.globals.launch;B.launch=V,"object"==typeof window&&(window.asperaSdk=B)})();
3
3
  //# sourceMappingURL=aspera-sdk.js.map
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * IBM Aspera SDK v0.2.4
2
+ * IBM Aspera SDK v0.2.5
3
3
  * Licensed Materials – Property of IBM
4
4
  * © Copyright IBM Corp. 2024
5
5
  * U.S. Government Users Restricted Rights: Use, duplication or disclosure restricted by