diff --git a/AUTHORS b/AUTHORS
index 6e370ab1a2..969d5a5781 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -30,3 +30,4 @@ Contributors:
Stefan Krüger, added APA102 support to the SPI Plugin
Tobi Schäfer, for the MacPort files
Stefan S, improved timing with monotonic clock
+ Christian Mouttet, various fixes
diff --git a/README.developer b/README.developer
index 309ad07a92..c99932f5f5 100644
--- a/README.developer
+++ b/README.developer
@@ -197,8 +197,11 @@ Please follow the Sun Java style guide.
Javascript
===============================================================================
-Javascript is used for the olad web UI. Instructions for building the
-javascript can be found in javascript/README.
+Javascript is used for the olad web UIs. Instructions for building the
+original UI's Javascript can be found in javascript/README.
+
+The sources for the new UI is located in javascript/new-src. The built artifacts
+is copied to olad/www/new/js/app.min.js.
Closure Compiler
----------------
diff --git a/javascript/new-src/src/controllers/universe.js b/javascript/new-src/src/controllers/universe.js
index c935470f22..86855b453a 100644
--- a/javascript/new-src/src/controllers/universe.js
+++ b/javascript/new-src/src/controllers/universe.js
@@ -24,6 +24,7 @@ ola.controller('universeCtrl',
'use strict';
$scope.dmx = [];
$scope.Universe = $routeParams.id;
+ $ola.resetHighestChannelNumberUsed();
var interval = $interval(function() {
$ola.get.Dmx($scope.Universe).then(function(data) {
diff --git a/javascript/new-src/src/factories/ola.js b/javascript/new-src/src/factories/ola.js
index c3249bffd4..664350e682 100644
--- a/javascript/new-src/src/factories/ola.js
+++ b/javascript/new-src/src/factories/ola.js
@@ -22,6 +22,29 @@
ola.factory('$ola', ['$http', '$window', 'OLA',
function($http, $window, OLA) {
'use strict';
+ // holds the highest channel that was used by faders or the keypad
+ var highestChannelNumberUsed = 0;
+
+ // Search for the highest channel in the array `dmx`
+ // that having a value greater than MIN_CHANNEL_VALUE
+ // and update `highestChannelNumberUsed` if needed.
+ //
+ // Only channels higher than the current `highestChannelNumberUsed`
+ // will be checked.
+ var updateHighestChannelNumberUsed = function(dmx) {
+ for (var channel = dmx.length; channel > highestChannelNumberUsed;
+ channel--) {
+
+ var value = parseInt(dmx[channel - 1], 10);
+ if (value > OLA.MIN_CHANNEL_VALUE) {
+ // if `Math.max` changed `highestChannelNumberUsed`
+ // the for-loop will be terminated
+ highestChannelNumberUsed = $window.Math.max(
+ highestChannelNumberUsed, channel);
+ }
+ }
+ };
+
// TODO(Dave_o): once olad supports json post data postEncode
// can go away and the header in post requests too.
var postEncode = function(data) {
@@ -52,20 +75,27 @@ ola.factory('$ola', ['$http', '$window', 'OLA',
return i;
};
var dmxConvert = function(dmx) {
- var strip = true;
var integers = [];
- for (var i = OLA.MAX_CHANNEL_NUMBER; i >= OLA.MIN_CHANNEL_NUMBER; i--) {
- var value = channelValueCheck(dmx[i - 1]);
+ for (var channel = OLA.MAX_CHANNEL_NUMBER;
+ channel >= OLA.MIN_CHANNEL_NUMBER;
+ channel--) {
+
+ var value = channelValueCheck(dmx[channel - 1]);
if (value > OLA.MIN_CHANNEL_VALUE ||
- !strip ||
- i === OLA.MIN_CHANNEL_NUMBER) {
- integers[i - 1] = value;
- strip = false;
+ channel <= highestChannelNumberUsed) {
+
+ integers[channel - 1] = value;
+
+ highestChannelNumberUsed = $window.Math.max(
+ highestChannelNumberUsed, channel);
}
}
return integers.join(',');
};
return {
+ resetHighestChannelNumberUsed: function() {
+ highestChannelNumberUsed = 0;
+ },
get: {
ItemList: function() {
return $http.get('/json/universe_plugin_list')
@@ -118,6 +148,7 @@ ola.factory('$ola', ['$http', '$window', 'OLA',
}
})
.then(function(response) {
+ updateHighestChannelNumberUsed(response.data.dmx);
return response.data;
});
},
@@ -360,4 +391,4 @@ ola.factory('$ola', ['$http', '$window', 'OLA',
}
};
}
-]);
\ No newline at end of file
+]);
diff --git a/olad/www/new/js/app.min.js b/olad/www/new/js/app.min.js
index 3625b17411..1d51184a7c 100644
--- a/olad/www/new/js/app.min.js
+++ b/olad/www/new/js/app.min.js
@@ -1,2 +1,2 @@
-var ola=angular.module("olaApp",["ngRoute"]);ola.config(["$locationProvider",function(e){"use strict";e.hashPrefix("")}]),ola.config(["$routeProvider",function(e){"use strict";e.when("/",{templateUrl:"/new/views/overview.html",controller:"overviewCtrl"}).when("/universes/",{templateUrl:"/new/views/universes.html",controller:"overviewCtrl"}).when("/universe/add",{templateUrl:"/new/views/universe-add.html",controller:"addUniverseCtrl"}).when("/universe/:id",{templateUrl:"/new/views/universe-overview.html",controller:"universeCtrl"}).when("/universe/:id/keypad",{templateUrl:"/new/views/universe-keypad.html",controller:"keypadUniverseCtrl"}).when("/universe/:id/faders",{templateUrl:"/new/views/universe-faders.html",controller:"faderUniverseCtrl"}).when("/universe/:id/rdm",{templateUrl:"/new/views/universe-rdm.html",controller:"rdmUniverseCtrl"}).when("/universe/:id/patch",{templateUrl:"/new/views/universe-patch.html",controller:"patchUniverseCtrl"}).when("/universe/:id/settings",{templateUrl:"/new/views/universe-settings.html",controller:"settingUniverseCtrl"}).when("/plugins",{templateUrl:"/new/views/plugins.html",controller:"pluginsCtrl"}).when("/plugin/:id",{templateUrl:"/new/views/plugin-info.html",controller:"pluginInfoCtrl"}).otherwise({redirectTo:"/"})}]),ola.controller("menuCtrl",["$scope","$ola","$interval","$location",function(t,e,n,r){"use strict";t.Items={},t.Info={},t.goTo=function(e){r.path(e)};function o(){e.get.ItemList().then(function(e){t.Items=e}),e.get.ServerInfo().then(function(e){t.Info=e,document.title=e.instance_name+" - "+e.ip})}o(),n(o,1e4)}]),ola.controller("patchUniverseCtrl",["$scope","$ola","$routeParams",function(e,t,n){"use strict";e.Universe=n.id}]),ola.controller("rdmUniverseCtrl",["$scope","$ola","$routeParams",function(e,t,n){"use strict";e.Universe=n.id}]),ola.controller("universeCtrl",["$scope","$ola","$routeParams","$interval","OLA",function(n,e,t,r,o){"use strict";n.dmx=[],n.Universe=t.id;var i=r(function(){e.get.Dmx(n.Universe).then(function(e){for(var t=0;t")}),n.stateColor=function(e){return e?{"background-color":"green"}:{"background-color":"red"}}}]),ola.controller("settingUniverseCtrl",["$scope","$ola","$routeParams",function(i,e,t){"use strict";i.loadData=function(){i.Data={old:{},model:{},Remove:[],Add:[]},i.Data.old.id=i.Data.model.id=t.id,e.get.PortsId(t.id).then(function(e){i.DeactivePorts=e}),e.get.UniverseInfo(t.id).then(function(e){i.Data.old.name=i.Data.model.name=e.name,i.Data.old.merge_mode=e.merge_mode,i.Data.model.merge_mode=e.merge_mode,i.ActivePorts=e.output_ports.concat(e.input_ports),i.Data.old.ActivePorts=e.output_ports.concat(e.input_ports);for(var t=0;t=a.MIN_CHANNEL_NUMBER;o--){t=e[o-1],(t=parseInt(t,10))a.MAX_CHANNEL_VALUE&&(t=a.MAX_CHANNEL_VALUE);(t>a.MIN_CHANNEL_VALUE||!n||o===a.MIN_CHANNEL_NUMBER)&&(r[o-1]=t,n=!1)}return r.join(",")}return{get:{ItemList:function(){return i.get("/json/universe_plugin_list").then(function(e){return e.data})},ServerInfo:function(){return i.get("/json/server_stats").then(function(e){return e.data})},Ports:function(){return i.get("/json/get_ports").then(function(e){return e.data})},PortsId:function(e){return i({method:"GET",url:"/json/get_ports",params:{id:e}}).then(function(e){return e.data})},InfoPlugin:function(e){return i({method:"GET",url:"/json/plugin_info",params:{id:e}}).then(function(e){return e.data})},Dmx:function(e){return i({method:"GET",url:"/get_dmx",params:{u:e}}).then(function(e){return e.data})},UniverseInfo:function(e){return i({method:"GET",url:"/json/universe_info",params:{id:e}}).then(function(e){return e.data})}},post:{ModifyUniverse:function(e){return i({method:"POST",url:"/modify_universe",data:n(e),headers:{"Content-Type":"application/x-www-form-urlencoded"}}).then(function(e){return e.data})},AddUniverse:function(e){return i({method:"POST",url:"/new_universe",data:n(e),headers:{"Content-Type":"application/x-www-form-urlencoded"}}).then(function(e){return e.data})},Dmx:function(e,t){e={u:e,d:r(t)};return i({method:"POST",url:"/set_dmx",data:n(e),headers:{"Content-Type":"application/x-www-form-urlencoded"}}).then(function(e){return e.data})},PluginState:function(e,t){return i({method:"POST",url:"/set_plugin_state",data:n({state:t,plugin_id:e}),headers:{"Content-Type":"application/x-www-form-urlencoded"}}).then(function(e){return e.data})}},action:{Shutdown:function(){return i.get("/quit").then(function(e){return e.data})},Reload:function(){return i.get("/reload").then(function(e){return e.data})},ReloadPids:function(){return i.get("/reload_pids").then(function(e){return e.data})}},rdm:{GetSectionInfo:function(e,t,n){return i({method:"GET",url:"/json/rdm/section_info",params:{id:e,uid:t,section:n}}).then(function(e){return e.data})},SetSection:function(e,t,n,r,o){return i({method:"GET",url:"/json/rdm/set_section_info",params:{id:e,uid:t,section:n,hint:r,int:o}}).then(function(e){return e.data})},GetSupportedPids:function(e,t){return i({method:"GET",url:"/json/rdm/supported_pids",params:{id:e,uid:t}}).then(function(e){return e.data})},GetSupportedSections:function(e,t){return i({method:"GET",url:"/json/rdm/supported_sections",params:{id:e,uid:t}}).then(function(e){return e.data})},UidIdentifyDevice:function(e,t){return i({method:"GET",url:"/json/rdm/uid_identify_device",params:{id:e,uid:t}}).then(function(e){return e.data})},UidInfo:function(e,t){return i({method:"GET",url:"/json/rdm/uid_info",params:{id:e,uid:t}}).then(function(e){return e.data})},UidPersonalities:function(e,t){return i({method:"GET",url:"/json/rdm/uid_personalities",params:{id:e,uid:t}}).then(function(e){return e.data})},Uids:function(e){return i({method:"GET",url:"/json/rdm/uids",params:{id:e}}).then(function(e){return e.data})},RunDiscovery:function(e,t){return i({method:"GET",url:"/rdm/run_discovery",params:{id:e,incremental:t}}).then(function(e){return e.data})}},error:{modal:function(e,t){void 0!==e?$("#errorModalBody").text(e):$("#errorModalBody").text("There has been an error"),void 0!==t?$("#errorModalLabel").text(t):$("#errorModalLabel").text("Error"),$("#errorModal").modal("show")}}}}]),ola.filter("startFrom",function(){"use strict";return function(e,t){return t=parseInt(t,10),e.slice(t)}});
+var ola=angular.module("olaApp",["ngRoute"]);ola.config(["$locationProvider",function(e){"use strict";e.hashPrefix("")}]),ola.config(["$routeProvider",function(e){"use strict";e.when("/",{templateUrl:"/new/views/overview.html",controller:"overviewCtrl"}).when("/universes/",{templateUrl:"/new/views/universes.html",controller:"overviewCtrl"}).when("/universe/add",{templateUrl:"/new/views/universe-add.html",controller:"addUniverseCtrl"}).when("/universe/:id",{templateUrl:"/new/views/universe-overview.html",controller:"universeCtrl"}).when("/universe/:id/keypad",{templateUrl:"/new/views/universe-keypad.html",controller:"keypadUniverseCtrl"}).when("/universe/:id/faders",{templateUrl:"/new/views/universe-faders.html",controller:"faderUniverseCtrl"}).when("/universe/:id/rdm",{templateUrl:"/new/views/universe-rdm.html",controller:"rdmUniverseCtrl"}).when("/universe/:id/patch",{templateUrl:"/new/views/universe-patch.html",controller:"patchUniverseCtrl"}).when("/universe/:id/settings",{templateUrl:"/new/views/universe-settings.html",controller:"settingUniverseCtrl"}).when("/plugins",{templateUrl:"/new/views/plugins.html",controller:"pluginsCtrl"}).when("/plugin/:id",{templateUrl:"/new/views/plugin-info.html",controller:"pluginInfoCtrl"}).otherwise({redirectTo:"/"})}]),ola.controller("menuCtrl",["$scope","$ola","$interval","$location",function(t,e,n,r){"use strict";t.Items={},t.Info={},t.goTo=function(e){r.path(e)};function o(){e.get.ItemList().then(function(e){t.Items=e}),e.get.ServerInfo().then(function(e){t.Info=e,document.title=e.instance_name+" - "+e.ip})}o(),n(o,1e4)}]),ola.controller("patchUniverseCtrl",["$scope","$ola","$routeParams",function(e,t,n){"use strict";e.Universe=n.id}]),ola.controller("rdmUniverseCtrl",["$scope","$ola","$routeParams",function(e,t,n){"use strict";e.Universe=n.id}]),ola.controller("universeCtrl",["$scope","$ola","$routeParams","$interval","OLA",function(n,e,t,r,o){"use strict";n.dmx=[],n.Universe=t.id,e.resetHighestChannelNumberUsed();var i=r(function(){e.get.Dmx(n.Universe).then(function(e){for(var t=0;t")}),n.stateColor=function(e){return e?{"background-color":"green"}:{"background-color":"red"}}}]),ola.controller("settingUniverseCtrl",["$scope","$ola","$routeParams",function(i,e,t){"use strict";i.loadData=function(){i.Data={old:{},model:{},Remove:[],Add:[]},i.Data.old.id=i.Data.model.id=t.id,e.get.PortsId(t.id).then(function(e){i.DeactivePorts=e}),e.get.UniverseInfo(t.id).then(function(e){i.Data.old.name=i.Data.model.name=e.name,i.Data.old.merge_mode=e.merge_mode,i.Data.model.merge_mode=e.merge_mode,i.ActivePorts=e.output_ports.concat(e.input_ports),i.Data.old.ActivePorts=e.output_ports.concat(e.input_ports);for(var t=0;t=a.MIN_CHANNEL_NUMBER;r--){t=e[r-1],(t=parseInt(t,10))a.MAX_CHANNEL_VALUE&&(t=a.MAX_CHANNEL_VALUE);(t>a.MIN_CHANNEL_VALUE||r<=u)&&(n[r-1]=t,u=o.Math.max(u,r))}return n.join(",")}var u=0;return{resetHighestChannelNumberUsed:function(){u=0},get:{ItemList:function(){return i.get("/json/universe_plugin_list").then(function(e){return e.data})},ServerInfo:function(){return i.get("/json/server_stats").then(function(e){return e.data})},Ports:function(){return i.get("/json/get_ports").then(function(e){return e.data})},PortsId:function(e){return i({method:"GET",url:"/json/get_ports",params:{id:e}}).then(function(e){return e.data})},InfoPlugin:function(e){return i({method:"GET",url:"/json/plugin_info",params:{id:e}}).then(function(e){return e.data})},Dmx:function(e){return i({method:"GET",url:"/get_dmx",params:{u:e}}).then(function(e){for(var t=e.data.dmx,n=t.length;ua.MIN_CHANNEL_VALUE&&(u=o.Math.max(u,n));return e.data})},UniverseInfo:function(e){return i({method:"GET",url:"/json/universe_info",params:{id:e}}).then(function(e){return e.data})}},post:{ModifyUniverse:function(e){return i({method:"POST",url:"/modify_universe",data:n(e),headers:{"Content-Type":"application/x-www-form-urlencoded"}}).then(function(e){return e.data})},AddUniverse:function(e){return i({method:"POST",url:"/new_universe",data:n(e),headers:{"Content-Type":"application/x-www-form-urlencoded"}}).then(function(e){return e.data})},Dmx:function(e,t){e={u:e,d:r(t)};return i({method:"POST",url:"/set_dmx",data:n(e),headers:{"Content-Type":"application/x-www-form-urlencoded"}}).then(function(e){return e.data})},PluginState:function(e,t){return i({method:"POST",url:"/set_plugin_state",data:n({state:t,plugin_id:e}),headers:{"Content-Type":"application/x-www-form-urlencoded"}}).then(function(e){return e.data})}},action:{Shutdown:function(){return i.get("/quit").then(function(e){return e.data})},Reload:function(){return i.get("/reload").then(function(e){return e.data})},ReloadPids:function(){return i.get("/reload_pids").then(function(e){return e.data})}},rdm:{GetSectionInfo:function(e,t,n){return i({method:"GET",url:"/json/rdm/section_info",params:{id:e,uid:t,section:n}}).then(function(e){return e.data})},SetSection:function(e,t,n,r,o){return i({method:"GET",url:"/json/rdm/set_section_info",params:{id:e,uid:t,section:n,hint:r,int:o}}).then(function(e){return e.data})},GetSupportedPids:function(e,t){return i({method:"GET",url:"/json/rdm/supported_pids",params:{id:e,uid:t}}).then(function(e){return e.data})},GetSupportedSections:function(e,t){return i({method:"GET",url:"/json/rdm/supported_sections",params:{id:e,uid:t}}).then(function(e){return e.data})},UidIdentifyDevice:function(e,t){return i({method:"GET",url:"/json/rdm/uid_identify_device",params:{id:e,uid:t}}).then(function(e){return e.data})},UidInfo:function(e,t){return i({method:"GET",url:"/json/rdm/uid_info",params:{id:e,uid:t}}).then(function(e){return e.data})},UidPersonalities:function(e,t){return i({method:"GET",url:"/json/rdm/uid_personalities",params:{id:e,uid:t}}).then(function(e){return e.data})},Uids:function(e){return i({method:"GET",url:"/json/rdm/uids",params:{id:e}}).then(function(e){return e.data})},RunDiscovery:function(e,t){return i({method:"GET",url:"/rdm/run_discovery",params:{id:e,incremental:t}}).then(function(e){return e.data})}},error:{modal:function(e,t){void 0!==e?$("#errorModalBody").text(e):$("#errorModalBody").text("There has been an error"),void 0!==t?$("#errorModalLabel").text(t):$("#errorModalLabel").text("Error"),$("#errorModal").modal("show")}}}}]),ola.filter("startFrom",function(){"use strict";return function(e,t){return t=parseInt(t,10),e.slice(t)}});
//# sourceMappingURL=app.min.js.map
\ No newline at end of file
diff --git a/olad/www/new/js/app.min.js.map b/olad/www/new/js/app.min.js.map
index 9a0e65af77..f8330946e4 100644
--- a/olad/www/new/js/app.min.js.map
+++ b/olad/www/new/js/app.min.js.map
@@ -1 +1 @@
-{"version":3,"file":"app.min.js","sources":["../../../../javascript/new-src/src/app.js","../../../../javascript/new-src/src/controllers/menu.js","../../../../javascript/new-src/src/controllers/patch_universe.js","../../../../javascript/new-src/src/controllers/rdm_universe.js","../../../../javascript/new-src/src/controllers/universe.js","../../../../javascript/new-src/src/controllers/fader_universe.js","../../../../javascript/new-src/src/controllers/keypad_universe.js","../../../../javascript/new-src/src/controllers/plugins.js","../../../../javascript/new-src/src/controllers/add_universe.js","../../../../javascript/new-src/src/controllers/plugin_info.js","../../../../javascript/new-src/src/controllers/setting_universe.js","../../../../javascript/new-src/src/controllers/header.js","../../../../javascript/new-src/src/controllers/overview.js","../../../../javascript/new-src/src/constants.js","../../../../javascript/new-src/src/factories/ola.js","../../../../javascript/new-src/src/filters/start_form.js"],"names":["ola","angular","module","config","$locationProvider","hashPrefix","$routeProvider","when","templateUrl","controller","otherwise","redirectTo","$scope","$ola","$interval","$location","Items","Info","goTo","url","path","getData","get","ItemList","then","data","ServerInfo","document","title","instance_name","ip","$routeParams","Universe","id","OLA","dmx","interval","Dmx","i","MAX_CHANNEL_NUMBER","MIN_CHANNEL_VALUE","$on","cancel","getColor","$window","list","last","offset","send","light","j","change","dmxGet","length","ceil","Math","post","page","d","offsetLimit","limit","getWidth","floor","innerWidth","getLimit","width","$","resize","$apply","regexkeypad","check","channelValue","value","MAX_CHANNEL_VALUE","channelNumber","MIN_CHANNEL_NUMBER","regexGroups","result","undefined","this","parseInt","field","input","tmpField","substr","fields","exec","submit","begin","end","active","enabled","getInfo","Reload","action","go","changeStatus","current","PluginState","getStyle","style","background-color","Ports","addPorts","Universes","Class","Data","name","add_ports","u","universes","hasOwnProperty","push","Submit","indexOf","AddUniverse","error","modal","getDirection","direction","updateId","TogglePort","grep","Boolean","join","InfoPlugin","description","getElementById","textContent","innerHTML","replace","stateColor","val","loadData","old","model","Remove","Add","PortsId","DeactivePorts","UniverseInfo","merge_mode","ActivePorts","output_ports","concat","input_ports","Save","a","modified","remove_ports","forEach","element","index","port","port_old","priority","current_mode","modify_ports","ModifyUniverse","header","tab","hash","location","Shutdown","goUniverse","constant","factory","$http","postEncode","key","PostData","encodeURIComponent","dmxConvert","strip","integers","response","method","params","headers","Content-Type","universe","pluginId","state","plugin_id","ReloadPids","rdm","GetSectionInfo","uid","section","SetSection","hint","option","int","GetSupportedPids","GetSupportedSections","UidIdentifyDevice","UidInfo","UidPersonalities","Uids","RunDiscovery","incremental","body","text","filter","start","slice"],"mappings":"AAoBA,IAAIA,IAAMC,QAAQC,OAAO,SAAU,CAAC,UAAU,EAM9CF,IAAIG,OAAO,CAAC,oBAAqB,SAASC,GACxC,aACAA,EAAkBC,WAAW,EAAE,CACjC,EAAE,EAEFL,IAAIG,OAAO,CAAC,iBACV,SAASG,GACP,aACAA,EAAeC,KAAK,IAAK,CACvBC,YAAa,2BACbC,WAAY,cACd,CAAC,EAAEF,KAAK,cAAe,CACrBC,YAAa,4BACbC,WAAY,cACd,CAAC,EAAEF,KAAK,gBAAiB,CACvBC,YAAa,+BACbC,WAAY,iBACd,CAAC,EAAEF,KAAK,gBAAiB,CACvBC,YAAa,oCACbC,WAAY,cACd,CAAC,EAAEF,KAAK,uBAAwB,CAC9BC,YAAa,kCACbC,WAAY,oBACd,CAAC,EAAEF,KAAK,uBAAwB,CAC9BC,YAAa,kCACbC,WAAY,mBACd,CAAC,EAAEF,KAAK,oBAAqB,CAC3BC,YAAa,+BACbC,WAAY,iBACd,CAAC,EAAEF,KAAK,sBAAuB,CAC7BC,YAAa,iCACbC,WAAY,mBACd,CAAC,EAAEF,KAAK,yBAA0B,CAChCC,YAAa,oCACbC,WAAY,qBACd,CAAC,EAAEF,KAAK,WAAY,CAClBC,YAAa,0BACbC,WAAY,aACd,CAAC,EAAEF,KAAK,cAAe,CACrBC,YAAa,8BACbC,WAAY,gBACd,CAAC,EAAEC,UAAU,CACXC,WAAY,GACd,CAAC,CACH,EACD,ECnDDX,IAAIS,WAAW,WAAY,CAAC,SAAU,OAAQ,YAAa,YACzD,SAASG,EAAQC,EAAMC,EAAWC,GAChC,aACAH,EAAOI,MAAQ,GACfJ,EAAOK,KAAO,GAEdL,EAAOM,KAAO,SAASC,GACrBJ,EAAUK,KAAKD,CAAG,CACpB,EAEc,SAAVE,IACFR,EAAKS,IAAIC,SAAS,EAAEC,KAAK,SAASC,GAChCb,EAAOI,MAAQS,CACjB,CAAC,EACDZ,EAAKS,IAAII,WAAW,EAAEF,KAAK,SAASC,GAClCb,EAAOK,KAAOQ,EACdE,SAASC,MAAQH,EAAKI,cAAgB,MAAQJ,EAAKK,EACrD,CAAC,CACH,CAEAT,EAAQ,EACRP,EAAUO,EAAS,GAAK,CAC1B,EAAE,ECtBJrB,IAAIS,WAAW,oBACb,CAAC,SAAU,OAAQ,eACjB,SAASG,EAAQC,EAAMkB,GACrB,aACAnB,EAAOoB,SAAWD,EAAaE,EAGjC,EACD,ECRHjC,IAAIS,WAAW,kBACb,CAAC,SAAU,OAAQ,eACjB,SAASG,EAAQC,EAAMkB,GACrB,aAGAnB,EAAOoB,SAAWD,EAAaE,EACjC,EACD,ECRHjC,IAAIS,WAAW,eACb,CAAC,SAAU,OAAQ,eAAgB,YAAa,MAC9C,SAASG,EAAQC,EAAMkB,EAAcjB,EAAWoB,GAC9C,aACAtB,EAAOuB,IAAM,GACbvB,EAAOoB,SAAWD,EAAaE,GAE/B,IAAIG,EAAWtB,EAAU,WACvBD,EAAKS,IAAIe,IAAIzB,EAAOoB,QAAQ,EAAER,KAAK,SAASC,GAC1C,IAAK,IAAIa,EAAI,EAAGA,EAAIJ,EAAIK,mBAAoBD,CAAC,GAC3C1B,EAAOuB,IAAIG,GACe,UAAvB,OAAOb,EAAKU,IAAIG,GACfb,EAAKU,IAAIG,GAAKJ,EAAIM,iBAE1B,CAAC,CACH,EAAG,GAAG,EAEN5B,EAAO6B,IAAI,WAAY,WACrB3B,EAAU4B,OAAON,CAAQ,CAC3B,CAAC,EAEDxB,EAAO+B,SAAW,SAASL,GACzB,OAAQ,IAAJA,EACK,QAEA,OAEX,CACF,EACD,EC7BHtC,IAAIS,WAAW,oBACb,CAAC,SAAU,OAAQ,eAAgB,UAAW,YAAa,MACzD,SAASG,EAAQC,EAAMkB,EAAca,EAAS9B,EAAWoB,GACvD,aACAtB,EAAOU,IAAM,GACbV,EAAOiC,KAAO,GACdjC,EAAOkC,KAAO,EACdlC,EAAOmC,OAAS,EAChBnC,EAAOoC,KAAO,CAAA,EACdpC,EAAOsB,IAAMA,EACbtB,EAAOoB,SAAWD,EAAaE,GAE/B,IAAK,IAAIK,EAAI,EAAGA,EAAIJ,EAAIK,mBAAoBD,CAAC,GAC3C1B,EAAOiC,KAAKP,GAAKA,EACjB1B,EAAOU,IAAIgB,GAAKJ,EAAIM,kBAGtB5B,EAAOqC,MAAQ,SAASC,GACtB,IAAK,IAAIZ,EAAI,EAAGA,EAAIJ,EAAIK,mBAAoBD,CAAC,GAC3C1B,EAAOU,IAAIgB,GAAKY,EAElBtC,EAAOuC,OAAO,CAChB,EAEA,IAAIC,EAAStC,EAAU,WACrBD,EAAKS,IAAIe,IAAIzB,EAAOoB,QAAQ,EAAER,KAAK,SAASC,GAC1C,IAAK,IAAIa,EAAI,EAAGA,EAAIJ,EAAIK,mBAAoBD,CAAC,GACvCA,EAAIb,EAAKU,IAAIkB,OACfzC,EAAOU,IAAIgB,GAAKb,EAAKU,IAAIG,GAEzB1B,EAAOU,IAAIgB,GAAKJ,EAAIM,kBAGxB5B,EAAOoC,KAAO,CAAA,CAChB,CAAC,CACH,EAAG,GAAI,EAEPpC,EAAO+B,SAAW,SAASL,GACzB,OAAQ,IAAJA,EACK,QAEA,OAEX,EAEA1B,EAAO0C,KAAO,SAAShB,GACrB,OAAOM,EAAQW,KAAKD,KAAKhB,CAAC,CAC5B,EAEA1B,EAAOuC,OAAS,WACdtC,EAAK2C,KAAKnB,IAAIzB,EAAOoB,SAAUpB,EAAOU,GAAG,CAC3C,EAEAV,EAAO6C,KAAO,SAASC,GACrB,IACMC,EADI,IAAND,GACEC,EACFf,EAAQW,KAAKD,KAAKpB,EAAIK,mBAAqB3B,EAAOgD,KAAK,EACpDhD,EAAOmC,OAAS,IAAOY,GAC1B/C,EAAOmC,MAAM,IAENW,IAAMxB,EAAIM,mBACf5B,EAAOmC,SAAWb,EAAIM,mBACxB5B,EAAOmC,MAAM,EAGnB,EAEAnC,EAAOiD,SAAW,WAIhB,OAFEjB,EAAQW,KAAKO,MAA4B,IAArBlB,EAAQmB,WAAqBnD,EAAOgD,KAAK,EACzC,GAAKhD,EAAOgD,MAClB,IAClB,EAEAhD,EAAOoD,SAAW,WAChB,IAAIC,EAA8B,IAArBrB,EAAQmB,WAAqB,GAC1C,OAAOnB,EAAQW,KAAKO,MAAMG,CAAK,CACjC,EAEArD,EAAOgD,MAAQhD,EAAOoD,SAAS,EAE/BpD,EAAOqD,MAAQ,CACbA,MAASrD,EAAOiD,SAAS,CAC3B,EAEAjB,EAAQsB,EAAEtB,CAAO,EAAEuB,OAAO,WACxBvD,EAAOwD,OAAO,WACZxD,EAAOgD,MAAQhD,EAAOoD,SAAS,EAC/BpD,EAAOqD,MAAQ,CACbA,MAAOrD,EAAOiD,SAAS,CACzB,CACF,CAAC,CACH,CAAC,EAEDjD,EAAO6B,IAAI,WAAY,WACrB3B,EAAU4B,OAAOU,CAAM,CACzB,CAAC,CACH,EACD,EClGHpD,IAAIS,WAAW,qBACb,CAAC,SAAU,OAAQ,eAAgB,MACjC,SAASG,EAAQC,EAAMkB,EAAcG,GACnC,aACAtB,EAAOoB,SAAWD,EAAaE,GAM/BoC,EACE,sFANF,IAAIA,EAUAC,EAAQ,CACVC,aAAc,SAASC,GACrB,OAAOtC,EAAIM,mBAAqBgC,GAC9BA,GAAStC,EAAIuC,iBACjB,EACAC,cAAe,SAASF,GACtB,OAAOtC,EAAIyC,oBAAsBH,GAC/BA,GAAStC,EAAIK,kBACjB,EACAqC,YAAa,SAASC,GACpB,GAAkBC,KAAAA,IAAdD,EAAO,IAEL,CADSE,KAAKL,cAAcM,SAASH,EAAO,GAAI,EAAE,CAAC,EAErD,MAAO,CAAA,EAGX,GAAkBC,KAAAA,IAAdD,EAAO,IAEL,CADSE,KAAKL,cAAcM,SAASH,EAAO,GAAI,EAAE,CAAC,EAErD,MAAO,CAAA,EAGX,GAAkBC,KAAAA,IAAdD,EAAO,IAAkC,SAAdA,EAAO,IAEhC,CADSE,KAAKR,aAAaS,SAASH,EAAO,GAAI,EAAE,CAAC,EAEpD,MAAO,CAAA,EAGX,MAAO,CAAA,CACT,CACF,EAEAjE,EAAOqE,MAAQ,GACfrE,EAAOsE,MAAQ,SAASA,GAGpBC,EADY,cAAVD,EACStE,EAAOqE,MAAMG,OAAO,EAAGxE,EAAOqE,MAAM5B,OAAS,CAAC,EAE9CzC,EAAOqE,MAAQC,EAExBG,EAAShB,EAAYiB,KAAKH,CAAQ,EACvB,OAAXE,EACFzE,EAAOqE,MAAQ,GACNX,EAAMM,YAAYS,CAAM,IACjCzE,EAAOqE,MAAQI,EAAO,GAE1B,EAEAzE,EAAO2E,OAAS,WACd,IAIMC,EACAC,EAEAjB,EAPFrC,EAAM,GACN+C,EAAQtE,EAAOqE,MACfJ,EAASR,EAAYiB,KAAKJ,CAAK,EACnC,MAAA,EAAe,OAAXL,GAAmBP,CAAAA,EAAMM,YAAYC,CAAM,IACzCW,EAAQR,SAASH,EAAO,GAAI,EAAE,EAC9BY,EAAMZ,EAAO,GAAKG,SAASH,EAAO,GAAI,EAAE,EAC1CG,SAASH,EAAO,GAAI,EAAE,EACpBL,EAAuB,SAAdK,EAAO,GAClB3C,EAAIuC,kBAAoBO,SAASH,EAAO,GAAI,EAAE,EAC5CW,EAAAA,GAASC,GAAOnB,EAAMC,aAAaC,CAAK,MAC1C3D,EAAKS,IAAIe,IAAIzB,EAAOoB,QAAQ,EAAER,KAAK,SAASC,GAC1C,IAAK,IAAIa,EAAI,EAAGA,EAAIJ,EAAIK,mBAAoBD,CAAC,GACvCA,EAAIb,EAAKU,IAAIkB,OACflB,EAAIG,GAAKb,EAAKU,IAAIG,GAElBH,EAAIG,GAAKJ,EAAIM,kBAGjB,IAAK,IAAIU,EAAIsC,EAAOtC,GAAKuC,EAAKvC,CAAC,GAC7Bf,EAAIe,EAAI,GAAKsB,EAEf3D,EAAK2C,KAAKnB,IAAIzB,EAAOoB,SAAUG,CAAG,EAClCvB,EAAOqE,MAAQ,EACjB,CAAC,EACM,GAOb,CACF,EACD,ECjGHjF,IAAIS,WAAW,cACb,CAAC,SAAU,OAAQ,YACjB,SAASG,EAAQC,EAAME,GACrB,aACAH,EAAOI,MAAQ,GACfJ,EAAO8E,OAAS,GAChB9E,EAAO+E,QAAU,GACjB/E,EAAOgF,QAAU,WACf/E,EAAKS,IAAIC,SAAS,EACfC,KAAK,SAASC,GACbb,EAAOI,MAAQS,CACjB,CAAC,CACL,EACAb,EAAOgF,QAAQ,EACfhF,EAAOiF,OAAS,WACdhF,EAAKiF,OAAOD,OAAO,EACnBjF,EAAOgF,QAAQ,CACjB,EACAhF,EAAOmF,GAAK,SAAS9D,GACnBlB,EAAUK,KAAK,WAAaa,CAAE,CAChC,EACArB,EAAOoF,aAAe,SAAS/D,EAAIgE,GACjCpF,EAAK2C,KAAK0C,YAAYjE,EAAIgE,CAAO,EACjCrF,EAAOgF,QAAQ,CACjB,EAEAhF,EAAOuF,SAAW,SAASC,GACzB,OAAIA,EACK,CACLC,mBAAoB,OACtB,EAEO,CACLA,mBAAoB,KACtB,CAEJ,CACF,EACD,ECtCHrG,IAAIS,WAAW,kBAAmB,CAAC,SAAU,OAAQ,UAAW,YAC9D,SAASG,EAAQC,EAAM+B,EAAS7B,GAC9B,aACAH,EAAO0F,MAAQ,GACf1F,EAAO2F,SAAW,GAClB3F,EAAO4F,UAAY,GACnB5F,EAAO6F,MAAQ,GACf7F,EAAO8F,KAAO,CACZzE,GAAI,EACJ0E,KAAM,GACNC,UAAW,EACb,EAEA/F,EAAKS,IAAIC,SAAS,EAAEC,KAAK,SAASC,GAChC,IAAK,IAAIoF,KAAKpF,EAAKqF,UACbrF,EAAKqF,UAAUC,eAAeF,CAAC,IAC7BjG,EAAO8F,KAAKzE,KAAO+C,SAASvD,EAAKqF,UAAUD,GAAG5E,GAAI,EAAE,GACtDrB,EAAO8F,KAAKzE,EAAE,GAEhBrB,EAAO4F,UAAUQ,KAAKhC,SAASvD,EAAKqF,UAAUD,GAAG5E,GAAI,EAAE,CAAC,EAG9D,CAAC,EAEDrB,EAAOqG,OAAS,WACgB,UAA1B,OAAOrG,EAAO8F,KAAKzE,IACK,KAA1BrB,EAAO8F,KAAKE,WACiC,CAAC,IAA9ChG,EAAO4F,UAAUU,QAAQtG,EAAO8F,KAAKzE,EAAE,GACd6C,KAAAA,IAArBlE,EAAO8F,KAAKC,MAA2C,KAArB/F,EAAO8F,KAAKC,OAChD/F,EAAO8F,KAAKC,KAAO,YAAc/F,EAAO8F,KAAKzE,IAE/CpB,EAAK2C,KAAK2D,YAAYvG,EAAO8F,IAAI,EACjC3F,EAAUK,KAAK,aAAeR,EAAO8F,KAAKzE,EAAE,GACU,CAAC,IAA9CrB,EAAO4F,UAAUU,QAAQtG,EAAO8F,KAAKzE,EAAE,EAChDpB,EAAKuG,MAAMC,MAAM,6BAA6B,EACXvC,KAAAA,IAA1BlE,EAAO8F,KAAKE,WACK,KAA1BhG,EAAO8F,KAAKE,WACZ/F,EAAKuG,MAAMC,MAAM,iEACI,CAEzB,EAEAxG,EAAKS,IAAIgF,MAAM,EAAE9E,KAAK,SAASC,GAC7Bb,EAAO0F,MAAQ7E,CACjB,CAAC,EAEDb,EAAO0G,aAAe,SAASC,GAC7B,OAAIA,EACK,SAEA,OAEX,EAEA3G,EAAO4G,SAAW,WACiC,CAAC,IAA9C5G,EAAO4F,UAAUU,QAAQtG,EAAO8F,KAAKzE,EAAE,EACzCrB,EAAO6F,MAAQ,YAEf7F,EAAO6F,MAAQ,EAEnB,EAEA7F,EAAO6G,WAAa,WAClB7G,EAAO8F,KAAKE,UACVhE,EAAQsB,EAAEwD,KAAK9G,EAAO2F,SAAUoB,OAAO,EAAEC,KAAK,GAAG,CACrD,CACF,EACD,ECnED5H,IAAIS,WAAW,iBACb,CAAC,SAAU,eAAgB,OACzB,SAASG,EAAQmB,EAAclB,GAC7B,aACAA,EAAKS,IAAIuG,WAAW9F,EAAaE,EAAE,EAAET,KAAK,SAASC,GACjDb,EAAO8E,OAASjE,EAAKiE,OACrB9E,EAAO+E,QAAUlE,EAAKkE,QACtB/E,EAAO+F,KAAOlF,EAAKkF,KAEnB,IAAImB,EAAcnG,SAASoG,eAAe,aAAa,EACvDD,EAAYE,YAAcvG,EAAKqG,YAC/BA,EAAYG,UACVH,EAAYG,UAAUC,QAAQ,OAAQ,QAAQ,CAClD,CAAC,EAEDtH,EAAOuH,WAAa,SAASC,GAC3B,OAAIA,EACK,CACL/B,mBAAoB,OACtB,EAEO,CACLA,mBAAoB,KACtB,CAEJ,CACF,EACD,EC3BHrG,IAAIS,WAAW,sBACb,CAAC,SAAU,OAAQ,eACjB,SAASG,EAAQC,EAAMkB,GACrB,aACAnB,EAAOyH,SAAW,WAChBzH,EAAO8F,KAAO,CACZ4B,IAAK,GACLC,MAAO,GACPC,OAAQ,GACRC,IAAK,EACP,EACA7H,EAAO8F,KAAK4B,IAAIrG,GAAKrB,EAAO8F,KAAK6B,MAAMtG,GAAKF,EAAaE,GACzDpB,EAAKS,IAAIoH,QAAQ3G,EAAaE,EAAE,EAAET,KAAK,SAASC,GAC9Cb,EAAO+H,cAAgBlH,CACzB,CAAC,EACDZ,EAAKS,IAAIsH,aAAa7G,EAAaE,EAAE,EAAET,KAAK,SAASC,GACnDb,EAAO8F,KAAK4B,IAAI3B,KAAO/F,EAAO8F,KAAK6B,MAAM5B,KAAOlF,EAAKkF,KACrD/F,EAAO8F,KAAK4B,IAAIO,WAAapH,EAAKoH,WAClCjI,EAAO8F,KAAK6B,MAAMM,WAAapH,EAAKoH,WACpCjI,EAAOkI,YAAcrH,EAAKsH,aAAaC,OAAOvH,EAAKwH,WAAW,EAC9DrI,EAAO8F,KAAK4B,IAAIQ,YACdrH,EAAKsH,aAAaC,OAAOvH,EAAKwH,WAAW,EAC3C,IAAK,IAAI3G,EAAI,EAAGA,EAAI1B,EAAOkI,YAAYzF,OAAQ,EAAEf,EAC/C1B,EAAO8F,KAAK8B,OAAOlG,GAAK,EAE5B,CAAC,CACH,EACA1B,EAAOyH,SAAS,EAChBzH,EAAOsI,KAAO,WACZ,IAAIC,EAAI,GAMJC,GALJD,EAAElH,GAAKrB,EAAO8F,KAAK6B,MAAMtG,GACzBkH,EAAExC,KAAO/F,EAAO8F,KAAK6B,MAAM5B,KAC3BwC,EAAEN,WAAajI,EAAO8F,KAAK6B,MAAMM,WACjCM,EAAEvC,UAAY1C,EAAEwD,KAAK9G,EAAO8F,KAAK+B,IAAKd,OAAO,EAAEC,KAAK,GAAG,EACvDuB,EAAEE,aAAenF,EAAEwD,KAAK9G,EAAO8F,KAAK8B,OAAQb,OAAO,EAAEC,KAAK,GAAG,EAC9C,IACfhH,EAAOkI,YAAYQ,QAAQ,SAASC,EAASC,GAC3C,IACMC,EAD2D,CAAC,IAA9D7I,EAAO8F,KAAK8B,OAAOtB,QAAQtG,EAAOkI,YAAYU,GAAOvH,EAAE,IACrDwH,EAAO7I,EAAOkI,YAAYU,GAC1BE,EAAW9I,EAAO8F,KAAK4B,IAAIQ,YAAYU,GACR,WAA/BC,EAAKE,SAASC,cACZ,EAAIH,EAAKE,SAASnF,MAAQ,MAC5B2E,EAAEM,EAAKxH,GAAK,mBAAqBwH,EAAKE,SAASnF,MACb,CAAC,IAA/B4E,EAASlC,QAAQuC,EAAKxH,EAAE,IAC1BmH,EAASpC,KAAKyC,EAAKxH,EAAE,EAIvByH,EAASC,SAASC,eAAiBH,EAAKE,SAASC,gBACnDT,EAAEM,EAAKxH,GAAK,kBAAoBwH,EAAKE,SAASC,aACZ,CAAC,IAA/BR,EAASlC,QAAQuC,EAAKxH,EAAE,IAC1BmH,EAASpC,KAAKyC,EAAKxH,EAAE,CAI7B,CAAC,EACDkH,EAAEU,aAAe3F,EAAEwD,KAAK0B,EAAUzB,OAAO,EAAEC,KAAK,GAAG,EACnD/G,EAAK2C,KAAKsG,eAAeX,CAAC,EAC1BvI,EAAOyH,SAAS,CAClB,CACF,EACD,EC7DHrI,IAAIS,WAAW,gBACb,CAAC,SAAU,OAAQ,eAAgB,UACjC,SAASG,EAAQC,EAAMkB,EAAca,GACnC,aACAhC,EAAOmJ,OAAS,CACdC,IAAK,GACL/H,GAAIF,EAAaE,GACjB0E,KAAM,EACR,EAEA9F,EAAKS,IAAIsH,aAAa7G,EAAaE,EAAE,EAClCT,KAAK,SAASC,GACbb,EAAOmJ,OAAOpD,KAAOlF,EAAKkF,IAC5B,CAAC,EAECsD,EAAOrH,EAAQsH,SAASD,KAC5BrJ,EAAOmJ,OAAOC,IAAMC,EAAK/B,QAAQ,yBAA0B,EAAE,CAC/D,EACD,EClBHlI,IAAIS,WAAW,eACb,CAAC,SAAU,OAAQ,YACjB,SAASG,EAAQC,EAAME,GACrB,aACAH,EAAOK,KAAO,GACdL,EAAO4F,UAAY,GAEnB3F,EAAKS,IAAIC,SAAS,EAAEC,KAAK,SAASC,GAChCb,EAAO4F,UAAY/E,EAAKqF,SAC1B,CAAC,EAEDjG,EAAKS,IAAII,WAAW,EAAEF,KAAK,SAASC,GAClCb,EAAOK,KAAOQ,CAChB,CAAC,EAEDb,EAAOuJ,SAAW,WAChBtJ,EAAKiF,OAAOqE,SAAS,EAAE3I,KAAK,CAC9B,EAEAZ,EAAOwJ,WAAa,SAASnI,GAC3BlB,EAAUK,KAAK,aAAea,CAAE,CAClC,CACF,EACD,ECvBHjC,IAAIqK,SAAS,MAAO,CAClB1F,mBAAsB,EACtBpC,mBAAsB,IACtBC,kBAAqB,EACrBiC,kBAAqB,GACvB,CAAC,ECJDzE,IAAIsK,QAAQ,OAAQ,CAAC,QAAS,UAAW,MACvC,SAASC,EAAO3H,EAASV,GACvB,aAGiB,SAAbsI,EAAsB/I,GACxB,IACSgJ,EADLC,EAAW,GACf,IAASD,KAAOhJ,EACVA,EAAKsF,eAAe0D,CAAG,GAOvBC,EAAS1D,KANC,MAARyD,GACM,iBAARA,GACQ,iBAARA,GACQ,cAARA,EAGcA,EAAM,IAAMhJ,EAAKgJ,GAEjBA,EAAM,IAAME,mBAAmBlJ,EAAKgJ,EAAI,CAFnB,EAMzC,OAAOC,EAAS9C,KAAK,GAAG,CAC1B,CAUiB,SAAbgD,EAAsBzI,GAGxB,IAFA,IAGMqC,EAHFqG,EAAQ,CAAA,EACRC,EAAW,GACNxI,EAAIJ,EAAIK,mBAAoBD,GAAKJ,EAAIyC,mBAAoBrC,CAAC,GAAI,CAZxCA,EAaCH,EAAIG,EAAI,IAZxCA,EAAI0C,SAAS1C,EAAG,EAAE,GACVJ,EAAIM,kBACVF,EAAIJ,EAAIM,kBACCF,EAAIJ,EAAIuC,oBACjBnC,EAAIJ,EAAIuC,oBASJD,EAAQtC,EAAIM,mBACd,CAACqI,GACDvI,IAAMJ,EAAIyC,sBACVmG,EAASxI,EAAI,GAAKkC,EAClBqG,EAAQ,CAAA,EAEZ,CACA,OAAOC,EAASlD,KAAK,GAAG,CAC1B,CACA,MAAO,CACLtG,IAAK,CACHC,SAAU,WACR,OAAOgJ,EAAMjJ,IAAI,4BAA4B,EAC1CE,KAAK,SAASuJ,GACb,OAAOA,EAAStJ,IAClB,CAAC,CACL,EACAC,WAAY,WACV,OAAO6I,EAAMjJ,IAAI,oBAAoB,EAClCE,KAAK,SAASuJ,GACb,OAAOA,EAAStJ,IAClB,CAAC,CACL,EACA6E,MAAO,WACL,OAAOiE,EAAMjJ,IAAI,iBAAiB,EAC/BE,KAAK,SAASuJ,GACb,OAAOA,EAAStJ,IAClB,CAAC,CACL,EACAiH,QAAS,SAASzG,GAChB,OAAOsI,EAAM,CACXS,OAAQ,MACR7J,IAAK,kBACL8J,OAAQ,CACNhJ,GAAMA,CACR,CACF,CAAC,EACET,KAAK,SAASuJ,GACb,OAAOA,EAAStJ,IAClB,CAAC,CACL,EACAoG,WAAY,SAAS5F,GACnB,OAAOsI,EAAM,CACXS,OAAQ,MACR7J,IAAK,oBACL8J,OAAQ,CACNhJ,GAAMA,CACR,CACF,CAAC,EACET,KAAK,SAASuJ,GACb,OAAOA,EAAStJ,IAClB,CAAC,CACL,EACAY,IAAK,SAASJ,GACZ,OAAOsI,EAAM,CACXS,OAAQ,MACR7J,IAAK,WACL8J,OAAQ,CACNpE,EAAK5E,CACP,CACF,CAAC,EACET,KAAK,SAASuJ,GACb,OAAOA,EAAStJ,IAClB,CAAC,CACL,EACAmH,aAAc,SAAS3G,GACrB,OAAOsI,EAAM,CACXS,OAAQ,MACR7J,IAAK,sBACL8J,OAAQ,CACNhJ,GAAMA,CACR,CACF,CAAC,EACET,KAAK,SAASuJ,GACb,OAAOA,EAAStJ,IAClB,CAAC,CACL,CACF,EACA+B,KAAM,CACJsG,eAAgB,SAASrI,GACvB,OAAO8I,EAAM,CACXS,OAAQ,OACR7J,IAAK,mBACLM,KAAM+I,EAAW/I,CAAI,EACrByJ,QAAS,CACPC,eAAgB,mCAClB,CACF,CAAC,EAAE3J,KAAK,SAASuJ,GACf,OAAOA,EAAStJ,IAClB,CAAC,CACH,EACA0F,YAAa,SAAS1F,GACpB,OAAO8I,EAAM,CACXS,OAAQ,OACR7J,IAAK,gBACLM,KAAM+I,EAAW/I,CAAI,EACrByJ,QAAS,CACPC,eAAgB,mCAClB,CACF,CAAC,EAAE3J,KAAK,SAASuJ,GACf,OAAOA,EAAStJ,IAClB,CAAC,CACH,EACAY,IAAK,SAAS+I,EAAUjJ,GAClBV,EAAO,CACToF,EAAGuE,EACH1H,EAAGkH,EAAWzI,CAAG,CACnB,EACA,OAAOoI,EAAM,CACXS,OAAQ,OACR7J,IAAK,WACLM,KAAM+I,EAAW/I,CAAI,EACrByJ,QAAS,CACPC,eAAgB,mCAClB,CACF,CAAC,EAAE3J,KAAK,SAASuJ,GACf,OAAOA,EAAStJ,IAClB,CAAC,CACH,EACAyE,YAAa,SAASmF,EAAUC,GAK9B,OAAOf,EAAM,CACXS,OAAQ,OACR7J,IAAK,oBACLM,KAAM+I,EAPG,CACTc,MAAOA,EACPC,UAAWF,CACb,CAIuB,EACrBH,QAAS,CACPC,eAAgB,mCAClB,CACF,CAAC,EAAE3J,KAAK,SAASuJ,GACf,OAAOA,EAAStJ,IAClB,CAAC,CACH,CACF,EACAqE,OAAQ,CACNqE,SAAU,WACR,OAAOI,EAAMjJ,IAAI,OAAO,EACrBE,KAAK,SAASuJ,GACb,OAAOA,EAAStJ,IAClB,CAAC,CACL,EACAoE,OAAQ,WACN,OAAO0E,EAAMjJ,IAAI,SAAS,EACvBE,KAAK,SAASuJ,GACb,OAAOA,EAAStJ,IAClB,CAAC,CACL,EACA+J,WAAY,WACV,OAAOjB,EAAMjJ,IAAI,cAAc,EAC5BE,KAAK,SAASuJ,GACb,OAAOA,EAAStJ,IAClB,CAAC,CACL,CACF,EACAgK,IAAK,CAEHC,eAAgB,SAASN,EAAUO,EAAKC,GACtC,OAAOrB,EAAM,CACXS,OAAQ,MACR7J,IAAK,yBACL8J,OAAQ,CACNhJ,GAAMmJ,EACNO,IAAOA,EACPC,QAAWA,CACb,CACF,CAAC,EACEpK,KAAK,SAASuJ,GACb,OAAOA,EAAStJ,IAClB,CAAC,CACL,EAEAoK,WAAY,SAAST,EAAUO,EAAKC,EAASE,EAAMC,GACjD,OAAOxB,EAAM,CACXS,OAAQ,MACR7J,IAAK,6BACL8J,OAAQ,CACNhJ,GAAMmJ,EACNO,IAAOA,EACPC,QAAWA,EACXE,KAAQA,EACRE,IAAOD,CACT,CACF,CAAC,EACEvK,KAAK,SAASuJ,GACb,OAAOA,EAAStJ,IAClB,CAAC,CACL,EAEAwK,iBAAkB,SAASb,EAAUO,GACnC,OAAOpB,EAAM,CACXS,OAAQ,MACR7J,IAAK,2BACL8J,OAAQ,CACNhJ,GAAMmJ,EACNO,IAAOA,CACT,CACF,CAAC,EACEnK,KAAK,SAASuJ,GACb,OAAOA,EAAStJ,IAClB,CAAC,CACL,EAEAyK,qBAAsB,SAASd,EAAUO,GACvC,OAAOpB,EAAM,CACXS,OAAQ,MACR7J,IAAK,+BACL8J,OAAQ,CACNhJ,GAAMmJ,EACNO,IAAOA,CACT,CACF,CAAC,EACEnK,KAAK,SAASuJ,GACb,OAAOA,EAAStJ,IAClB,CAAC,CACL,EAEA0K,kBAAmB,SAASf,EAAUO,GACpC,OAAOpB,EAAM,CACXS,OAAQ,MACR7J,IAAK,gCACL8J,OAAQ,CACNhJ,GAAMmJ,EACNO,IAAOA,CACT,CACF,CAAC,EACEnK,KAAK,SAASuJ,GACb,OAAOA,EAAStJ,IAClB,CAAC,CACL,EAEA2K,QAAS,SAAShB,EAAUO,GAC1B,OAAOpB,EAAM,CACXS,OAAQ,MACR7J,IAAK,qBACL8J,OAAQ,CACNhJ,GAAMmJ,EACNO,IAAOA,CACT,CACF,CAAC,EACEnK,KAAK,SAASuJ,GACb,OAAOA,EAAStJ,IAClB,CAAC,CACL,EAEA4K,iBAAkB,SAASjB,EAAUO,GACnC,OAAOpB,EAAM,CACXS,OAAQ,MACR7J,IAAK,8BACL8J,OAAQ,CACNhJ,GAAMmJ,EACNO,IAAOA,CACT,CACF,CAAC,EACEnK,KAAK,SAASuJ,GACb,OAAOA,EAAStJ,IAClB,CAAC,CACL,EAEA6K,KAAM,SAASlB,GACb,OAAOb,EAAM,CACXS,OAAQ,MACR7J,IAAK,iBACL8J,OAAQ,CACNhJ,GAAMmJ,CACR,CACF,CAAC,EACE5J,KAAK,SAASuJ,GACb,OAAOA,EAAStJ,IAClB,CAAC,CACL,EAEA8K,aAAc,SAASnB,EAAUoB,GAC/B,OAAOjC,EAAM,CACXS,OAAQ,MACR7J,IAAK,qBACL8J,OAAQ,CACNhJ,GAAMmJ,EACNoB,YAAeA,CACjB,CACF,CAAC,EACEhL,KAAK,SAASuJ,GACb,OAAOA,EAAStJ,IAClB,CAAC,CACL,CACF,EACA2F,MAAO,CACLC,MAAO,SAASoF,EAAM7K,GACA,KAAA,IAAT6K,EACTvI,EAAE,iBAAiB,EAAEwI,KAAKD,CAAI,EAE9BvI,EAAE,iBAAiB,EAAEwI,KAAK,yBAAyB,EAEhC,KAAA,IAAV9K,EACTsC,EAAE,kBAAkB,EAAEwI,KAAK9K,CAAK,EAEhCsC,EAAE,kBAAkB,EAAEwI,KAAK,OAAO,EAEpCxI,EAAE,aAAa,EAAEmD,MAAM,MAAM,CAC/B,CACF,CACF,CACF,EACD,ECtVDrH,IAAI2M,OAAO,YAAa,WACtB,aACA,OAAO,SAASzH,EAAO0H,GAErB,OADAA,EAAQ5H,SAAS4H,EAAO,EAAE,EACnB1H,EAAM2H,MAAMD,CAAK,CAC1B,CACF,CAAC"}
\ No newline at end of file
+{"version":3,"file":"app.min.js","sources":["../../../../javascript/new-src/src/app.js","../../../../javascript/new-src/src/controllers/menu.js","../../../../javascript/new-src/src/controllers/patch_universe.js","../../../../javascript/new-src/src/controllers/rdm_universe.js","../../../../javascript/new-src/src/controllers/universe.js","../../../../javascript/new-src/src/controllers/fader_universe.js","../../../../javascript/new-src/src/controllers/keypad_universe.js","../../../../javascript/new-src/src/controllers/plugins.js","../../../../javascript/new-src/src/controllers/add_universe.js","../../../../javascript/new-src/src/controllers/plugin_info.js","../../../../javascript/new-src/src/controllers/setting_universe.js","../../../../javascript/new-src/src/controllers/header.js","../../../../javascript/new-src/src/controllers/overview.js","../../../../javascript/new-src/src/constants.js","../../../../javascript/new-src/src/factories/ola.js","../../../../javascript/new-src/src/filters/start_form.js"],"names":["ola","angular","module","config","$locationProvider","hashPrefix","$routeProvider","when","templateUrl","controller","otherwise","redirectTo","$scope","$ola","$interval","$location","Items","Info","goTo","url","path","getData","get","ItemList","then","data","ServerInfo","document","title","instance_name","ip","$routeParams","Universe","id","OLA","dmx","resetHighestChannelNumberUsed","interval","Dmx","i","MAX_CHANNEL_NUMBER","MIN_CHANNEL_VALUE","$on","cancel","getColor","$window","list","last","offset","send","light","j","change","dmxGet","length","ceil","Math","post","page","d","offsetLimit","limit","getWidth","floor","innerWidth","getLimit","width","$","resize","$apply","regexkeypad","check","channelValue","value","MAX_CHANNEL_VALUE","channelNumber","MIN_CHANNEL_NUMBER","regexGroups","result","undefined","this","parseInt","field","input","tmpField","substr","fields","exec","submit","begin","end","active","enabled","getInfo","Reload","action","go","changeStatus","current","PluginState","getStyle","style","background-color","Ports","addPorts","Universes","Class","Data","name","add_ports","u","universes","hasOwnProperty","push","Submit","indexOf","AddUniverse","error","modal","getDirection","direction","updateId","TogglePort","grep","Boolean","join","InfoPlugin","description","getElementById","textContent","innerHTML","replace","stateColor","val","loadData","old","model","Remove","Add","PortsId","DeactivePorts","UniverseInfo","merge_mode","ActivePorts","output_ports","concat","input_ports","Save","a","modified","remove_ports","forEach","element","index","port","port_old","priority","current_mode","modify_ports","ModifyUniverse","header","tab","hash","location","Shutdown","goUniverse","constant","factory","$http","postEncode","key","PostData","encodeURIComponent","dmxConvert","integers","channel","highestChannelNumberUsed","max","response","method","params","updateHighestChannelNumberUsed","headers","Content-Type","universe","pluginId","state","plugin_id","ReloadPids","rdm","GetSectionInfo","uid","section","SetSection","hint","option","int","GetSupportedPids","GetSupportedSections","UidIdentifyDevice","UidInfo","UidPersonalities","Uids","RunDiscovery","incremental","body","text","filter","start","slice"],"mappings":"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"}
\ No newline at end of file