From 7b4afdcf41dcb7007cdad9e18e52f8560aa9fd07 Mon Sep 17 00:00:00 2001 From: Volker Bredow Date: Wed, 1 Jun 2016 16:29:04 +0200 Subject: [PATCH] WBC-325 - Player zeigt nur Livesignal --- dist/mi-angular-bitdash-player.js | 18 +++++-- dist/mi-angular-bitdash-player.min.js | 2 +- src/bitdash-controller.js | 11 +++- src/bitdash-directive.js | 5 +- test/bitdash-controller.spec.js | 16 +++++- test/bitdash-directive.spec.js | 74 +++++++++++++++++++++++++++ 6 files changed, 116 insertions(+), 10 deletions(-) diff --git a/dist/mi-angular-bitdash-player.js b/dist/mi-angular-bitdash-player.js index 843fbe6..458fd5a 100644 --- a/dist/mi-angular-bitdash-player.js +++ b/dist/mi-angular-bitdash-player.js @@ -85,11 +85,15 @@ // copy the basic config ... key is mandatory vm.config = {}; + vm.options = {}; if (angular.isDefined($scope.config) && angular.isDefined($scope.config.key)) { vm.config = $scope.config; } else { $log.error('basic config for bitdash player is missing!'); } + if (angular.isDefined($scope.options)) { + vm.options = $scope.options; + } // check webcast to expand and manipulate the basic bitdash player config if (angular.isDefined($scope.webcast)) { @@ -100,6 +104,11 @@ function processWebcast(webcast) { var stateProperty = webcast.state + 'StateData'; + + if (angular.isDefined(vm.options.forcedState)) { + stateProperty = vm.options.forcedState + 'StateData'; + } + vm.config.source = getPlayerConfigSource(webcast, stateProperty); vm.config.style = getPlayerConfigStyle(webcast, stateProperty); } @@ -107,7 +116,7 @@ // player config - source --------------------------------------------------------------------------------- function getPlayerConfigSource(webcast, state) { - if (webcast.useDVRPlaybackInPostlive === true && webcast.state === 'postlive') { + if (webcast.useDVRPlaybackInPostlive === true && state === 'postliveStateData') { return getDVRPlaybackToPostlive(webcast); } @@ -391,12 +400,13 @@ templateUrl: 'mi/template/bitdash-player.html', scope: { config: '=', - webcast: '=' + webcast: '=', + options: '=?' + }, link: function (scope) { var config = scope.config; // die config wird automatisch durch den controller erweitert var player = $window.window.bitdash('mi-bitdash-player'); - // tech support - flash and hls var supportedTech = player.getSupportedTech(); // force HLS / Flash playback if available @@ -450,4 +460,4 @@ /***/ } /******/ ]); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAgNGVmOTczNzMxMzgxY2E0ZjBhNGQiLCJ3ZWJwYWNrOi8vLy4vc3JjL2luZGV4LmpzIiwid2VicGFjazovLy8uL3NyYy9iaXRkYXNoLWNvbnRyb2xsZXIuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2JpdGRhc2gtZGlyZWN0aXZlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx1QkFBZTtBQUNmO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOzs7Ozs7O0FDdENBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0RBQW1ELHdCQUF3QjtBQUMzRTtBQUNBO0FBQ0E7QUFDQSxVQUFTLEc7Ozs7OztBQ3ZCVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsaUNBQWdDO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7QUN2U0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVM7QUFDVDtBQUNBLGlDQUFzQztBQUN0Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFhOztBQUViO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDhCQUFrRDtBQUNsRCxjQUFhO0FBQ2I7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Im1pLWFuZ3VsYXItYml0ZGFzaC1wbGF5ZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIgXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXG4gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSlcbiBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcblxuIFx0XHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuIFx0XHR2YXIgbW9kdWxlID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSB7XG4gXHRcdFx0ZXhwb3J0czoge30sXG4gXHRcdFx0aWQ6IG1vZHVsZUlkLFxuIFx0XHRcdGxvYWRlZDogZmFsc2VcbiBcdFx0fTtcblxuIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbiBcdFx0bW9kdWxlc1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cbiBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuIFx0XHRtb2R1bGUubG9hZGVkID0gdHJ1ZTtcblxuIFx0XHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4gXHR9XG5cblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmMgPSBpbnN0YWxsZWRNb2R1bGVzO1xuXG4gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5wID0gXCJcIjtcblxuIFx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4gXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcblxuXG5cbi8qKiBXRUJQQUNLIEZPT1RFUiAqKlxuICoqIHdlYnBhY2svYm9vdHN0cmFwIDRlZjk3MzczMTM4MWNhNGYwYTRkXG4gKiovIiwiJ3VzZSBzdHJpY3QnO1xuXG4vKipcbiAqIEBuZ0luamVjdFxuICovXG5cbnZhciBCaXRkYXNoQ29udHJvbGxlciA9IHJlcXVpcmUoJy4vYml0ZGFzaC1jb250cm9sbGVyJyksXG4gICAgQml0ZGFzaERpcmVjdGl2ZSA9IHJlcXVpcmUoJy4vYml0ZGFzaC1kaXJlY3RpdmUnKTtcbiAgICBtb2R1bGUuZXhwb3J0cyA9IGFuZ3VsYXJcbiAgICAgICAgLm1vZHVsZSgnbWkuQml0ZGFzaFBsYXllcicsIFsnbWkvdGVtcGxhdGUvYml0ZGFzaC1wbGF5ZXIuaHRtbCddKVxuICAgICAgICAvLyBjb250cm9sbGVyIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAgICAgLmNvbnRyb2xsZXIoJ01pQml0ZGFzaENvbnRyb2xsZXInLCBCaXRkYXNoQ29udHJvbGxlcilcbiAgICAgICAgLy8gZGlyZWN0aXZlIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgIC5kaXJlY3RpdmUoJ21pQml0ZGFzaFBsYXllcicsIEJpdGRhc2hEaXJlY3RpdmUpO1xuXG4gICAgYW5ndWxhci5tb2R1bGUoJ21pL3RlbXBsYXRlL2JpdGRhc2gtcGxheWVyLmh0bWwnLCBbXSlcbiAgICAgICAgLnJ1bihbJyR0ZW1wbGF0ZUNhY2hlJywgZnVuY3Rpb24gKCR0ZW1wbGF0ZUNhY2hlKSB7XG4gICAgICAgICAgJHRlbXBsYXRlQ2FjaGUucHV0KCdtaS90ZW1wbGF0ZS9iaXRkYXNoLXBsYXllci5odG1sJywgJzxkaXY+JyArXG4gICAgICAgICAgICAnPGRpdiBuZy1zaG93PVwic2hvd0F1ZGlvT25seVN0aWxsSW1hZ2VcIiBpZD1cInBsYXllci1hdWRpb29ubHktc3RpbGwtZGl2XCIgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PVwiYXV0b1wiPicgK1xuICAgICAgICAgICAgJzxpbWcgY2xhc3M9XCJpbWctcmVzcG9uc2l2ZVwiIG5nLXNyYz1cInt7YXVkaW9Pbmx5U3RpbGxJbWFnZVVybH19XCI+JyArXG4gICAgICAgICAgICAnPC9kaXY+JyArXG4gICAgICAgICAgICAnPGRpdiBpZD1cIm1pLWJpdGRhc2gtcGxheWVyXCIgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PVwiYXV0b1wiPjwvZGl2PicgK1xuICAgICAgICAgICAgJzwvZGl2PicpO1xuICAgICAgICB9XSk7XG5cblxuLyoqKioqKioqKioqKioqKioqXG4gKiogV0VCUEFDSyBGT09URVJcbiAqKiAuL3NyYy9pbmRleC5qc1xuICoqIG1vZHVsZSBpZCA9IDBcbiAqKiBtb2R1bGUgY2h1bmtzID0gMFxuICoqLyIsIid1c2Ugc3RyaWN0JztcblxuLyoqXG4gKiBAbmdJbmplY3RcbiAqL1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoJHNjb3BlLCAkbG9nKSB7XG4gICAgLy8gY29udHJvbGxlckFzIC0+IGJpdGRhc2hWbVxuICAgIHZhciB2bSA9IHRoaXM7XG5cblxuICAgIC8vIGNvcHkgdGhlIGJhc2ljIGNvbmZpZyAuLi4ga2V5IGlzIG1hbmRhdG9yeVxuICAgIHZtLmNvbmZpZyA9IHt9O1xuICAgIGlmIChhbmd1bGFyLmlzRGVmaW5lZCgkc2NvcGUuY29uZmlnKSAmJiBhbmd1bGFyLmlzRGVmaW5lZCgkc2NvcGUuY29uZmlnLmtleSkpIHtcbiAgICAgICAgdm0uY29uZmlnID0gJHNjb3BlLmNvbmZpZztcbiAgICB9IGVsc2Uge1xuICAgICAgICAkbG9nLmVycm9yKCdiYXNpYyBjb25maWcgZm9yIGJpdGRhc2ggcGxheWVyIGlzIG1pc3NpbmchJyk7XG4gICAgfVxuXG4gICAgLy8gY2hlY2sgd2ViY2FzdCB0byBleHBhbmQgYW5kIG1hbmlwdWxhdGUgdGhlIGJhc2ljIGJpdGRhc2ggcGxheWVyIGNvbmZpZ1xuICAgIGlmIChhbmd1bGFyLmlzRGVmaW5lZCgkc2NvcGUud2ViY2FzdCkpIHtcbiAgICAgICAgcHJvY2Vzc1dlYmNhc3QoJHNjb3BlLndlYmNhc3QpO1xuICAgIH1cblxuICAgIC8vIHBsYXllciBjb25maWcgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgICBmdW5jdGlvbiBwcm9jZXNzV2ViY2FzdCh3ZWJjYXN0KSB7XG4gICAgICAgIHZhciBzdGF0ZVByb3BlcnR5ID0gd2ViY2FzdC5zdGF0ZSArICdTdGF0ZURhdGEnO1xuICAgICAgICB2bS5jb25maWcuc291cmNlID0gZ2V0UGxheWVyQ29uZmlnU291cmNlKHdlYmNhc3QsIHN0YXRlUHJvcGVydHkpO1xuICAgICAgICB2bS5jb25maWcuc3R5bGUgPSBnZXRQbGF5ZXJDb25maWdTdHlsZSh3ZWJjYXN0LCBzdGF0ZVByb3BlcnR5KTtcbiAgICB9XG5cbiAgICAvLyBwbGF5ZXIgY29uZmlnIC0gc291cmNlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgZnVuY3Rpb24gZ2V0UGxheWVyQ29uZmlnU291cmNlKHdlYmNhc3QsIHN0YXRlKSB7XG4gICAgICAgIGlmICh3ZWJjYXN0LnVzZURWUlBsYXliYWNrSW5Qb3N0bGl2ZSA9PT0gdHJ1ZSAmJiB3ZWJjYXN0LnN0YXRlID09PSAncG9zdGxpdmUnKSB7XG4gICAgICAgICAgICByZXR1cm4gZ2V0RFZSUGxheWJhY2tUb1Bvc3RsaXZlKHdlYmNhc3QpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGdldFBsYXllckNvbmZpZ1NvdXJjZUJ5U3RhdGUod2ViY2FzdCwgc3RhdGUpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGdldERWUlBsYXliYWNrVG9Qb3N0bGl2ZSh3ZWJjYXN0KSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBobHM6IHdlYmNhc3RbJ2xpdmVTdGF0ZURhdGEnXS5wbGF5b3V0Lmhsc1VybC5yZXBsYWNlKCcvbWFzdGVyLm0zdTgnLCAnRHZyL21hc3Rlci5tM3U4P0RWUicpLFxuICAgICAgICAgICAgZGFzaDogd2ViY2FzdFsnbGl2ZVN0YXRlRGF0YSddLnBsYXlvdXQuZGFzaFVybC5yZXBsYWNlKCcvcGxheWxpc3QubTN1OCcsICdEdnIvcGxheWxpc3QubTN1OD9EVlInKVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGdldFBsYXllckNvbmZpZ1NvdXJjZUJ5U3RhdGUod2ViY2FzdCwgc3RhdGUpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGhsczogd2ViY2FzdFtzdGF0ZV0ucGxheW91dC5obHNVcmwsXG4gICAgICAgICAgICBkYXNoOiB3ZWJjYXN0W3N0YXRlXS5wbGF5b3V0LmRhc2hVcmxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvLyBwbGF5ZXIgY29uZmlnIC0gc3R5bGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgZnVuY3Rpb24gZ2V0UGxheWVyQ29uZmlnU3R5bGUod2ViY2FzdCwgc3RhdGUpIHtcbiAgICAgICAgdmFyIHN0eWxlID0ge1xuICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICAgIGF1dG9IaWRlQ29udHJvbHM6IHRydWVcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoYW5ndWxhci5pc0RlZmluZWQod2ViY2FzdFtzdGF0ZV0ucGxheW91dC5hdWRpb09ubHkpICYmIHdlYmNhc3Rbc3RhdGVdLnBsYXlvdXQuYXVkaW9Pbmx5KSB7XG4gICAgICAgICAgICAkc2NvcGUuc2hvd0F1ZGlvT25seVN0aWxsSW1hZ2UgPSB0cnVlO1xuICAgICAgICAgICAgJHNjb3BlLmF1ZGlvT25seVN0aWxsSW1hZ2VVcmwgPSBnZXREZWZhdWx0U3RpbGxJbWFnZSgpO1xuICAgICAgICAgICAgc3R5bGUuYXV0b0hpZGVDb250cm9scyA9IGZhbHNlO1xuICAgICAgICAgICAgc3R5bGUuaGVpZ2h0ID0gJzMwcHgnO1xuICAgICAgICAgICAgaWYgKGFuZ3VsYXIuaXNEZWZpbmVkKHdlYmNhc3Rbc3RhdGVdLnBsYXlvdXQuYXVkaW9Pbmx5U3RpbGxVcmwpICYmXG4gICAgICAgICAgICAgICAgd2ViY2FzdFtzdGF0ZV0ucGxheW91dC5hdWRpb09ubHlTdGlsbFVybCAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICAkc2NvcGUuYXVkaW9Pbmx5U3RpbGxJbWFnZVVybCA9IHdlYmNhc3Rbc3RhdGVdLnBsYXlvdXQuYXVkaW9Pbmx5U3RpbGxVcmw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdHlsZS5hc3BlY3RyYXRpbyA9ICcxNjo5JztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBzdHlsZTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBnZXREZWZhdWx0U3RpbGxJbWFnZSgpIHtcbiAgICAgICAgcmV0dXJuICdkYXRhOmltYWdlL2pwZWc7YmFzZTY0LC85ai80QUFRU2taSlJnQUJBUUVBWUFCZ0FBRC8vZ0ErUTFKRlFWUlBVam9nWjJRdGFuQmxaeUIyTVM0d0lDaDFjMmx1WnlCSlNrY2dTbCcgK1xuICAgICAgICAnQkZSeUIyT0RBcExDQmtaV1poZFd4MElIRjFZV3hwZEhrSy85c0FRd0FJQmdZSEJnVUlCd2NIQ1FrSUNnd1VEUXdMQ3d3WkVoTVBGQjBhSHg0ZEdod2NJQ1F1SnlBaUxDTWNIQ2czS1N3dycgK1xuICAgICAgICAnTVRRME5COG5PVDA0TWp3dU16UXkvOXNBUXdFSkNRa01Dd3dZRFEwWU1pRWNJVEl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNaicgK1xuICAgICAgICAnSXlNakl5LzhBQUVRZ0Nld1JwQXdFaUFBSVJBUU1SQWYvRUFCOEFBQUVGQVFFQkFRRUJBQUFBQUFBQUFBQUJBZ01FQlFZSENBa0tDLy9FQUxVUUFBSUJBd01DQkFNRkJRUUVBQUFCZlFFQycgK1xuICAgICAgICAnQXdBRUVRVVNJVEZCQmhOUllRY2ljUlF5Z1pHaENDTkNzY0VWVXRId0pETmljb0lKQ2hZWEdCa2FKU1luS0NrcU5EVTJOemc1T2tORVJVWkhTRWxLVTFSVlZsZFlXVnBqWkdWbVoyaHBhbicgK1xuICAgICAgICAnTjBkWFozZUhsNmc0U0Zob2VJaVlxU2s1U1ZscGVZbVpxaW82U2xwcWVvcWFxeXM3UzF0cmU0dWJyQ3c4VEZ4c2ZJeWNyUzA5VFYxdGZZMmRyaDR1UGs1ZWJuNk9ucThmTHo5UFgyOS9qNScgK1xuICAgICAgICAnK3YvRUFCOEJBQU1CQVFFQkFRRUJBUUVBQUFBQUFBQUJBZ01FQlFZSENBa0tDLy9FQUxVUkFBSUJBZ1FFQXdRSEJRUUVBQUVDZHdBQkFnTVJCQVVoTVFZU1FWRUhZWEVUSWpLQkNCUkNrYScgK1xuICAgICAgICAnR3h3UWtqTTFMd0ZXSnkwUW9XSkRUaEpmRVhHQmthSmljb0tTbzFOamM0T1RwRFJFVkdSMGhKU2xOVVZWWlhXRmxhWTJSbFptZG9hV3B6ZEhWMmQzaDVlb0tEaElXR2g0aUppcEtUbEpXVycgK1xuICAgICAgICAnbDVpWm1xS2pwS1dtcDZpcHFyS3p0TFcydDdpNXVzTER4TVhHeDhqSnl0TFQxTlhXMTlqWjJ1TGo1T1htNStqcDZ2THo5UFgyOS9qNSt2L2FBQXdEQVFBQ0VRTVJBRDhBOUJGS0JRQlRnSycgK1xuICAgICAgICAnQUFDbG9wY1VBSmlseFRzVW9GQURjVXVLZGlseFFBekZMaW5VVUFOeFJpbllQclJnK3RBRGNVWXArUGVqSHZRQXpGR0tmajNveDcwQU14UmluL0FJMGZqUUF6RkdLZmozb3g3MEFNeFJpbicgK1xuICAgICAgICAnNDk2TWU5QURNVVlwK1Blakh2UUF6RkdLZmozb3g3MEFNeFJpbjQ5Nk1lOUFETVVZcCtQZWpIdlFBekZHS2ZqM294NzBBTXhSaW4valJqM29BWmlqRlB4NzBZOTZBR1lveFQ4ZTlHUGVnQicgK1xuICAgICAgICAnbUtNVS9IdlJqM29BWmlqRlB4NzBZOTZBR1lveFQ4ZTlHS0FHWW94VDhlOUdQZWdCbUtNVS9IdlJqM29BWmlqRlB4NzBZOTZBR1lveFQ4VVk5NkFHWW94VDhlOUdQZWdCbUtNVS9IdlJqMycgK1xuICAgICAgICAnb0FaaWpGUHg3MFk5NkFHWW94VDhlOUdQZWdCbUtNVS9IdlJqM29BWmlqRlB4NzBZOTZBR1lveFQ4ZTlHUGVnQm1LTVUvSHZSajNvQVppakZQeFJqM29BWmlqRlB4NzBZOTZBR1lveFQ4ZScgK1xuICAgICAgICAnOUdQZWdCbUtNVS9GR1BlZ0JtS01VL0h2Umozb0FaaWpGUHg3MFk5NkFHWW94VDhlOUdQZWdCbUtNVS9IdlJqM29BWmlqRlB4NzBZOTZBR1lveFQ4ZTlHUGVnQm1LTVUvSHZSajNvQVppaicgK1xuICAgICAgICAnRlB4NzBZOTZBR1lveFQ4ZTlHUGVnQm1LTVUvSHZSajNvQVppakZQeDcwWTk2QUdZb3hUOGU5R1BlZ0JtS01VL0h2Umozb0FaaWpGUHg3MFk5NkFHWW94VC93QWFNZTlBRE1VWXArUGVqSCcgK1xuICAgICAgICAndlFBekZHS2ZqM294NzBBTXhSaW40OTZNZTlBRE1VWXArUGVqSHZRQXpGR0tmK05HUGVnQm1LTVUvSHZSajNvQVppakZQeDcwWTk2QUdZb3hUOGU5R1BlZ0JtS01VL0h2Umozb0FaaWpGUCcgK1xuICAgICAgICAneDcwWTk2QUdZb3hUOGU5R1BlZ0JtS01VL0h2U1k5NkFHNG94VHNIMW9vQVppZ2luMFVBUjRwTVZKaWtOQURDS1RGUDIwMGlnQnBGTklwOUlSUUF3aWt4VHNVbURRQS9GTFJTZ1VBR0tjQicgK1xuICAgICAgICAnUUJUZ0tBQUNseFJTZ1VBSmlseFM0cGNVQUppakZPeFJpZ0JNVVlwMUZBRGNVWXAxRkFEY1ViYWRSUUEzRkdLZFJRQTNGR0tkUlFBM0ZHS2RSUUEzYlJ0cDFGQURjVVlwMUZBRGNVWXAxRicgK1xuICAgICAgICAnQURjVVlwMUZBRGNVWXAxRkFEY1ViYWRSUUEzRkdLZFJRQTNiUnRwMUZBRGNVWXAxRkFEY1VZcDFGQURjVVlwMUZBRGR0R0tkUlFBM0ZHS2RSUUEzRkdLZFJRQTNGRzJuVVVBTnhSaW5VVScgK1xuICAgICAgICAnQU54UmluVVVBTnhSaW5VVUFOMjBZcDFGQURjVVlwMUZBRGNVWXAxRkFEY1VZcDFGQURjVVlwMUZBRGNVWXAxRkFEY1ViYWRSUUEzRkdLZFJRQTNGRzJuVVVBTjIwWXAxRkFEY1VZcDFGQScgK1xuICAgICAgICAnRGR0R0tkUlFBM2JSdHAxRkFEZHRHMm5VVUFOeFJpblVVQU4yMFlwMUZBRGNVYmFkUlFBM0ZHMm5VVUFOMjBZcDFGQURjVVlwMUZBRGR0RzJuVVVBTjIwYmFkUlFBM0ZHS2RSUUEzYlJpbicgK1xuICAgICAgICAnVVVBTjIwYmFkUlFBM2JSdHAxRkFEY1VZcDFGQURkdEdLZFJRQTNiUnRwMUZBRGR0RzJuVVVBTjIwYmFkUlFBM0ZHMm5VVUFOMjBiYWRSUUEzYlJpblVVQU54UnRwMUZBRGR0RzJuVVVBTicgK1xuICAgICAgICAneFNZcDlKaWdCdUtURlB4U1lvQVlSUlRzVWhGQURjVTAwK2tJb0FqTkpUeUthUlFBMDBVdEppZ0JSVGhTQ25nVUFMaWxwS2NCUUFBVTRDZ0NseFFBVXRHS1VDZ0JNVXVLWEZHS0FFeFJpbCcgK1xuICAgICAgICAneFM0b0FUQXBNQ25ZcGNVQU53S01DbHhTNG9BWmdVdUJUc1VtS0FFd0tNQ25Zb3hRQTNGR0JTNHBjVUFNd0tYQXBjVXVLQUdZRkxnVXVLTVVBSmdVbUJUOFVZb0FaZ1VZRlB4UmlnQm1CUicgK1xuICAgICAgICAnZ1UvRkppZ0J1QlM0Rk94UmlnQnVCUmdVN0ZHS0FHNEZKZ1UvRkdLQUc0RkpnVS9GR0tBRzRGSmdVL0ZHS0FHWUZMZ1U3RkdLQUc0RkpnVS9GR0tBRzRGSmdVL0ZHS0FHWUZMZ1U3RkdLQScgK1xuICAgICAgICAnR1lGR0JUOFVZb0FaZ1VZRlB4UmlnQm1CUzRGT3hSaWdCbUJTNEZPeFJpZ0J1QlNZRlB4UmlnQm1CUzRGT3hSaWdCbUJTNEZPeFJpZ0J1QlJnVTdGR0tBR1lGTGdVN0ZHS0FHWUZMZ1U3RicgK1xuICAgICAgICAnR0tBRzRGR0JUc1VVQU13S01DbjRveFFBM0Fvd0tkaWpGQURjQ2t3S2ZpakZBRGNDakFwMktNVUFOd0tNQ25Zb3hRQXpBcGNDbllveFFBM0FwTUNuNG94UUEzQW93S2RpakZBRGNDakFwMicgK1xuICAgICAgICAnS01VQU53S01DbllveFFBM0Fvd0tkaWpGQURjQ2t3S2ZpakZBRGNDakFwMktNVUFOd0tNQ25Zb3hRQTNBb3dLZGlqRkFEY0NqQXAyS01VQU53S01DbllveFFBM0Fvd0tkaWpGQURjQ2pBcCcgK1xuICAgICAgICAnMktNVUFOd0tNQ25Zb3hRQXpBb3dLZmlqRkFEY0Nrd0tmaWpGQURjQ2pBcDJLTVVBTXdLWEFwMktNVUFOd0tUQXArS01VQU13S1hBcDJLTVVBTndLVEFwK0tNVUFOd0tUQXArS01VQU53SycgK1xuICAgICAgICAnVEZQeFJpZ0JtS01VdUtYRkFES0tjUlNFVUFOcENLZGlrSW9BWVJTVThpbWtVQU5JcHBwOU5Jb0FaaWtweHB0QURoVHhUUlRoUUFvRk9GSUtjS0FGcGFLVUNnQUZMaWlsb0FLV2lsb0FTbCcgK1xuICAgICAgICAnb29vQUtLTVVVQUZGRkZBQlJSUlFBVVVVWW9BS0tLTVVBRkZHS0tBQ2lpaWdBb29veFFBVVVZb29BS0tLS0FDaWpGRkFCUlJSaWdBb294UlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRicgK1xuICAgICAgICAnQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBZmhSUlJRQVVVVVVBSDRVVVVVQScgK1xuICAgICAgICAnRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUmlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWpGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRicgK1xuICAgICAgICAnRkFCUlJSUUFVVVVVQUppakZMUlFBMmtwOU5OQURjVWxPcENLQUdta05PcERRQkdhUTA0ODBob0FZYWJUalRhQUhDbjAwVTZnQndwd3BvcHdvQVduQ2tGS0tBRnAxSlMwQUZGRkxRQVVZcCcgK1xuICAgICAgICAnYUtBRXhSaWxvb0FURkdLV2lnQk1VWXBhS0FFeFJpbG9vQVRIdlJqM3BhS0FFeDcwWXBhS0FFeFJpbG9vQVRGR0tXaWdCTVVZcGFLQUV4Umlsb29BVEZHS1dpZ0JNVVlwYUtBRXhSaWxvbycgK1xuICAgICAgICAnQVRGR0tXaWdCTVVZcGFLQUV4Umlsb29BVEZHS1dpZ0JNVXVLS0tBREZKaWxvb0FURkdLV2lnQk1lOUxpaWlnQk1VdUtLS0FFeFM0b29vQVRGTGlpaWdBeFNZcGFLQUV4Umlsb29BVEZMaScgK1xuICAgICAgICAnaWlnQk1VdUtLS0FFeFJpbG9vQU1VbUtXaWdCTVVZcGFLQUV4Umlsb29BVEZHS1dpZ0JNVVlwYUtBRXhSajNwYUtBRXhSajNwYUtBRXhSaWxvb0FURkdLV2lnQk1lOUdLV2lnQk1lOUdLVycgK1xuICAgICAgICAnaWdCTWU5R1BlbG9vQVRGR0tXaWdCTVVZcGFLQUV4NzBZcGFLQUV4Umlsb29BVEZHS1dpZ0JNVVlwYUtBRXhSajNwYUtBRXhSajNwYUtBRXhSajNwYUtBRXhSaWxvb0FURkdLV2lnQk1VWScgK1xuICAgICAgICAnOTZXaWdCTVVZcGFLQUV4Umlsb29BVEZHS1dpZ0JNVVlwYUtBRXhSaWxvb0FUSHZSaWxvb0FTa3AxSlFBbEZGRkFEYVEwNDBob0FZYVEwNDAwMEFOTk5wNXBuZWdCcHB0T1BlbTBBT0ZPNycgK1xuICAgICAgICAnMDBVNGRhQUhEclQrMU5GT29BVVVvcEJUaFFBb3BhS0tBRnBhUVV0QUIxcGFLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQScgK1xuICAgICAgICAnS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZycgK1xuICAgICAgICAnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLSycgK1xuICAgICAgICAnQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FURkZMU1VBSWFTbE5JYUFDbW1uVTAwQU5OSlNta29BYWFZZXRQTk1OQUNHbTA0MDJnQlJUeFRCVHhRQTRVNicgK1xuICAgICAgICAnbWluVUFLT2xQSFdtRHBUaDFvQWRSUlJRQW9wYVFVdEFDMFVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRicgK1xuICAgICAgICAnQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVScgK1xuICAgICAgICAnVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUicgK1xuICAgICAgICAnUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVbExTVUFCNlUybkhwVGFBQ2tOTFNHZ0JwcHRPTk5vQVEwdzA4MHcwQU5OTnB4cHRBQ2luaW1DbmlnQndwMU5GT29BVWRLZCcgK1xuICAgICAgICAnM3BCMHBSMW9BZFJSUlFBb3BhUVV0QUMwVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVScgK1xuICAgICAgICAnVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUicgK1xuICAgICAgICAnUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRicgK1xuICAgICAgICAnRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVsTFNVQUI2VTAwNDlLYWFBQ2tOTFNHZ0JwcHRPTk5vQVEwdzA4MHcwQU5OTnB4cHRBQ2luaW1DbmlnQndwMU5GT29BVWRLZU90TUhTbmpyUScgK1xuICAgICAgICAnQXRGRkFvQVVVdElLV2dCYUtLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQScgK1xuICAgICAgICAnb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQScgK1xuICAgICAgICAnQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vbycgK1xuICAgICAgICAnQUtLS0tBQ2lpaWdBb29vb0FLU2xwS0FBOUthYWQycHBvQUtRMHRJYUFHbW0wNDk2YlFBaHBocDVwaG9BYWFiVGozcHRBQ2luaW1DbmlnQndwMU5GT29BVWRLY090TkhTbkRyUUE2aWlnVScgK1xuICAgICAgICAnQUtLV2tGTFFBdEZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRicgK1xuICAgICAgICAnRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQScgK1xuICAgICAgICAnVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQScgK1xuICAgICAgICAnQlJSUlFBVVVVVUFGSlMwbEFBZWxOcHg2VTAwQUZJYVdrTkFEVFRhY2U5Tm9BYWFhYWNhYWFBR21tMDQwMmdCUlR4VEJUeFFBNFV0SUtXZ0J3NlU4ZGFZT2xQSFdnQmFCUlFLQUZGTFNDbCcgK1xuICAgICAgICAnb0FXaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0FvbycgK1xuICAgICAgICAnb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaScgK1xuICAgICAgICAnaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BSycgK1xuICAgICAgICAnS0tLQUNrcGFTZ0E3VTAwN3RUVFFBVWhwYVEwQU5OTnB4NzAyZ0JEVERUelREUUEwMDJuR20wQUtLZUtZS2ZRQTRVdElLV2dCdzZVOGRhWU9sT29BZFJSUlFBb3BhUVV0QUMwVVVVQUZGRicgK1xuICAgICAgICAnRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVScgK1xuICAgICAgICAnVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUicgK1xuICAgICAgICAnUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVsTFNVQScgK1xuICAgICAgICAnQjZVMDA0OUthYUFDa05MU0dnQnBwdE9OTm9BUTB3MDgwdzBBTk5OcHhwdEFDaW5pbUNuaWdCd3BhUVU2Z0JSMHB3cG82VThkYUFGb29vb0FVVXRJS1dnQmFLS0tBQ2lpaWdBb29vb0FLSycgK1xuICAgICAgICAnS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBbycgK1xuICAgICAgICAnb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQycgK1xuICAgICAgICAnaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS1NscEtBRHRUVFRqMHBwbycgK1xuICAgICAgICAnQUtRMHRJZTFBRFRUYWNhYlFBaHBocDVwaG9BYWFiVGpUYUFGRlBGTUZQSGVnQndwMU5GT29BVWRLY0tRZEtVZGFBSFVVVVVBS0tXa0ZMUUF0RkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUScgK1xuICAgICAgICAnQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRicgK1xuICAgICAgICAnQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVWWnM3UTNVaHljSXZVMEFWcUszUDdPdHR1TmgrdWFwejZXNjVhSnR3L3VuclFCbjBVcktVYmF3SUk3R2tvQUtLSycgK1xuICAgICAgICAnS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0FvbycgK1xuICAgICAgICAnb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2twYVNnQVBTbW1uSHBUVFFBVWhwYVEwQU5OTnB4cHRBQ0dtR25tbUdnQnBwdE9OTm9BVVU4VXdVOFVBT0ZPcG9wMUFDanBUeDFwZzZVNGRhQScgK1xuICAgICAgICAnSFVVVVVBS0tXa0ZMUUF0RkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVScgK1xuICAgICAgICAnVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJRQVNjRGsxcldXbnFpaDVnQzU2QTlCUUJrMFYwYndSU0x0YU5TUHBXSGQyLzJlYycgK1xuICAgICAgICAnb1B1bmxmcFFCQlJSUlFBVVVVVUFGYTJrc3BoZGU0YkpySnA4VXp3U2IwT0RRQjBsSlZDRFU0M3dKUnNQcjJxK3JCaGtFRUh2UUJGUGJSWEM0ZGVleEhXc2U2c3BMYm43eWYzaC9XdDZrSScgK1xuICAgICAgICAnQkdDTWlnRG1hSzBielQ5bVpJUjh2ZGZUNlZuVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVScgK1xuICAgICAgICAnVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkpTMGxBQWVsTk5PUFNtMEFGSWFXa05BRFRUYWNhYlFBalV3MDgwdzBBTk5OcHhwdEFDaW5pbScgK1xuICAgICAgICAnQ25pZ0J3cDFORk9vQVVkS2NPdElPbEtPdEFEcUtLS0FGRkxTQ2xvQVdpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaScgK1xuICAgICAgICAnaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2daSndCa21nQWtnRGttdGV4c2ZLQWtsR1g3RCcgK1xuICAgICAgICAnMG9BTEd4OG9DU1FEZjJIcFYraWxvQVNzalZ2K1BoUDl6K3RiRlkrcmY4ZkNmN245YUFLRkZGRkFCUlJUbzQybGtDSU1rMEFOb3JXVFNZd3Z6dXhQdHhVTStsdW9MUk52SG9ldEFHZlU5dicgK1xuICAgICAgICAnZFMyNStVNVh1cDZWQ3lzckVNQ0NPeHBLQU4rMnU0N2xmbDRidXA2MVBYTks3SXdaVGdqb2EyYk85RndOajRFZy9XZ0M0YXk3K3gyNW1pSEg4U2p0NzFxMGhHUlFCek5GWEwrMDhpVGVnLycgK1xuICAgICAgICAnZHQraHFuUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVScgK1xuICAgICAgICAnVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlNVdEpRQWRxYWFjZWxOTkFCU0dscERRQTA5S2JUalRhQUVOTU5QTk1OQURUVGFjZTlOb0FVVThVd1U4VUFPRk9wb3AxQUNqcFR4VEIwcHc2MCcgK1xuICAgICAgICAnQU9vRkZGQUNpbHBCUzBBTFJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQScgK1xuICAgICAgICAnRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkdDU0FCeWFBTW5BNm10ZXhzZktIbVNEOTRlZzlLQUN4c1JFQkpJUG43RDBxL1JSUUF0RkZGQUJXUCcgK1xuICAgICAgICAncTMvSHduKzUvV3Rlc2pWditQaFA5eit0QUZDaWlpZ0FxOXBlUHRKejEyOFZScDBidEU0ZERoaFFCMGxGVWJmVW81TUxMOGpldmFyd09Sa1VBUXoyc2R3dUhIUFpoMUZZMXpheVd6WVlaVScgK1xuICAgICAgICAnOUdIZXVncGtrYXlvVWNaQm9BNXVsVmlqQmxKQkhURlQzZHExdEpqcWg2R3E5QUc3WlhRdVkrZUhYcVA2MVpybllKbWdsRHIyNmoxcm9JNUZsalYxNkVVQUpMRXMwYkl3NElybjVvbWhsYScgK1xuICAgICAgICAnTnVvUDUxMGRaK3FXKzZNVEtQbVhnL1NnREpvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQScgK1xuICAgICAgICAnb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2twYVEwQUI2VTAwN3RUVFFBVWhwYVEwQU5OTnB4cHRBQ0dtR25tbUdnQnBwdE9QZW1VQU9GUEZNRlBvQWNLZCcgK1xuICAgICAgICAnVFJUcUFGSFNuRHJUUjBwdzYwQU9vb29vQVVVdElLV2dCYUtLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaScgK1xuICAgICAgICAnZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0FvclZ0ZE9qQ0I1aHVZL3crbFd2c050L3p5V2dEQW9yZit3MjMvUEphUHNOdC93QThsb0F3S0J5YycgK1xuICAgICAgICAnRGtudFcvOEFZYmIvQUo1TFNwYVFSdUdTTUJoME5BRmF4c2ZLQWtrR1g3RDBxL1JTMEFGRkZGQUJSU1V0QUJXUHEzL0h3bis1L1d0aXNmVnYrUGhQOXordEFGQ2lpaWdBb3E3QnBza3FCbicgK1xuICAgICAgICAnYllEMEdNbWxsMHVWQmxHRGoweGcwQVVhczIxN0pia0RPNU82bXF4QlVrTUNDT3hvb0E2T0daSm93NkhJcVN1ZXRibHJhVU1PVlAzaDYxdkk2eUlIVTVVaklOQURaNFZuaUtOMzZIME5ZRScgK1xuICAgICAgICAnc2JSU01qREJCcm82ejlVdDl5Q1pSeXZCK2xBR1RXanBkeHRjd3NlRHl2MXJPcFVjbzZ1cDVCelFCMHRJeWgxS2taQkdEU1JPSklsY2RHR2FmUUJ6YzBSaG1hTS93bW1Wb2FyRmlSSlIzRycgK1xuICAgICAgICAnRFdmUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQScgK1xuICAgICAgICAnRkZGRkFCUlJSUUFVVVVVQUZKUzBsQUFlbE5OT1BTbW1nQXBEUzBob0FhYWJUalRhQUVOTU5PTk5OQURUM3B0T05Ob0FVVSttQ25pZ0J3cGFRVTZnQlIwcDQ2MDBkS2NPdEFDMENpZ1VBSycgK1xuICAgICAgICAnS1drRkxRQXRGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRicgK1xuICAgICAgICAnRkFCUlJSUUFVVVVVQUZGRkZBQlNwOTlmcUtTbkovckYrb29BNlFkS1drRkxRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQldQcTMvSHduKzUvV3Rpc2ZWditQaFA5eit0QUZDcExjQicgK1xuICAgICAgICAncmlNTjBMRE5SMEE0T1IxRkFIVENsclB0TlFXUUJKVHRmcG5zYXY1b0FyWGRtbHdoUFNRZEdyRWRHamNvd3dSd1JYUzFtNnBiaGtFeWprY045S0FNcXRIUzdqREdCandlVnJPcDBibU9SWCcgK1xuICAgICAgICAnWHFwelFCMHROZFE2RlQwSXdhRVlPaXNPaEdhZFFCelVpR09Wa1BWVGltMWQxT1BiZGJ1ekROVXFBTmpTNWQxdVVKNVEvcFYrc2JTbnhjc3ZabHJab0FwNmpIdnMyUGRlYXhLNk9aZDhMcicgK1xuICAgICAgICAnNmdpdWNvQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLSycgK1xuICAgICAgICAnS0FDaWlpZ0Fvb29vQUtLS0tBQ2twYVNnQTdVMDA3dFRUUUFVaHBhUTBBTlBTbTA0OTZiUUFocGhwNXBob0FhYWJUalRhQUZGUEZNRlBGQURoVHFhS2RRQW82VThkYVlPbFBIV2dCYUtLSycgK1xuICAgICAgICAnQUhDaWtGTFFBdEZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRicgK1xuICAgICAgICAnRkZGQUJSUlJRQVVVVVVBRkZGRkFCVGsvMWkvVVUybkovckYrb29BNlFVdEpTMEFGRkZGQUJSUlJRQVVVVVVBRkZKUzBBRkZGRkFCV1BxMy9BQjhKL3VmMXJYckkxYi9qNFQvYy9yUUJRbycgK1xuICAgICAgICAnb29vQUswdE51eVc4aHprWStVL3dCS3phbHRTUmR4WS92aWdEb3FaSWdralpUMEl4VDZTZ0RtU0NyRUhxT0tLa3VCaTVsSCswYWpvQTNkUGZmWnA3Y1ZhcWpwZi9IcWY5NDFlb0F6TldYNScgK1xuICAgICAgICAnSTI5eUt5NjE5Vy80OWsvMy93Q2hySW9Bc1dCMjNzZnVjZnBXL1hQV2YvSDVGL3ZDdWhvQVExemJqRWpEMEpycERYT1RmOGZFbisrZjUwQU1vb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQScgK1xuICAgICAgICAnQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtTbHBLQUE5S2FhZDJwcCcgK1xuICAgICAgICAnb0FCU0h0UzBoN1VBTk5OcHhwdEFDR21Hbm1tR2dCcHBsUFBlbVVBT0ZQRk1GUEZBRGhUcWFLZFFBbzZVOFV3ZEtlT3RBQzBVVVVBS0tXa0ZMUUF0RkZGQUJSUlJRQVVVVVVBRkZGRkFCUicgK1xuICAgICAgICAnUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJUay8xaS9VVTJuSicgK1xuICAgICAgICAnL3JGK29vQTZRVXRJS1dnQW9vcEtBRm9vb29BS0tLS0FDaWlpZ0Fvb29vQUt4OVcvNCtFLzNQNjFzVmo2dC94OEovdWYxb0FvVVVVVUFGV3RQaE1sMHJZK1ZPVFNXMWxKY0hkOTJQMVA5SycgK1xuICAgICAgICAnMllJRWdqMklPUDUwQVMwaDRHYVdxbC9QNU5zM1B6TndLQU1XUnQ4ck42a21tMFVkNkFOclRGeGFEM0pOWGFpZ2o4cUJFN2dWSlFCbjZzMzdtTWVyVmsxb2FxK1pVVDBHYXo2QUo3SVp2WScgK1xuICAgICAgICAndnJYUVZoNll1NjhCL3VnbXR5Z0JEWE55bk16bjFZbXVqZHRxRStnelhORTVKUHJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRicgK1xuICAgICAgICAnQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkpTMGxBQjJwcHB4NlUwMEFGSWFXa1BhZ0JwcHRPTk5vQVEwdzA4MHcwQU5OTScgK1xuICAgICAgICAncDU3MDJnQlJUeFRCVHhRQTRVNm1pblVBS09sUEZNSFNuanJRQXRIZWlpZ0JSUzBncGFBRm9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BSycgK1xuICAgICAgICAnS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS2NuK3NYNmltMEE0SUk2aWdEcGhTMURCTXM4UWRTT2VvOUttb0FLS0tLQScgK1xuICAgICAgICAnQ2lpaWdCS1dpaWdBb29vb0FLS0tLQUNzZlZ2K1BoUDl6K3RiRlkrcmY4ZkNmN245YUFLRlBoUVNUb2g2RmdLWlNxeFJndzZnNUZBSFNLb1ZRQU1BZEJUcXFXOS9ES2czTUVidUNjVXMxLycgK1xuICAgICAgICAnQkVQdkJ6NktjMEFXSGRZMExzUUFPcHJCdTdnM014Ym9vNFVVWE4zSmN0endvNktLZ29BS3RhZkFacmtFajVVNU5WbFV1d1ZSa25nQVZ2V2x1TGFFTC9BQkhsajcwQVQwVXRWYjZmeUxZNCcgK1xuICAgICAgICAnUHpOd0tBTWk3bDg2NWR1MmNDb2FLS0FOVFNZK0pKRDNPQlduVUZwRDVOc2k5OFpQMXFlZ0N2ZXY1ZG5JZStNVmdWcTZ0SmlOSWdlU2Ntc3FnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLSycgK1xuICAgICAgICAnS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS1NscEtBQTlLYWFjZScgK1xuICAgICAgICAnbE5OQUFLUTlxV2tQYWdCcHB0T05Ob0FhYWFhZWFZYUFHbW1VODB5Z0J3cDRwZ3A0b0FjS2RUUlRxQUZIU25qclRSMHB3NjBBTFJSUlFBNFVVQ2lnQmFLS0tBQ2lpaWdBb29vb0FLS0tLQScgK1xuICAgICAgICAnQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdCeVNQRycgK1xuICAgICAgICAnMlVZcWZZMUo5c3VmK2V6L0FKMURSUUJOOXN1Zitlei9BSjBmYkxuL0FKN1ArZFEwVUFUZmJMbi9BSjdQK2RQanZyaEhERnl3SFVFOWFyVVVBZEZCT2s4WWREOVI2VkxYTzI5dzl2SnZUcCcgK1xuICAgICAgICAnM0hyVzdCT2s4WWREOVI2VUFTMFVsTFFBVVVVVUFGWStyZjhmQ2Y3bjlhMkt4OVcvNCtFLzNQNjBBVUtLS0tBQ2lpaWdBcFZVdXdWUVN4NkNyTnZZelQ0T05xZXByVnQ3U0szSHlqTGQyUCcgK1xuICAgICAgICAnV2dDS3lzaGJqZS9NaC9TcmxGRkFBU0FDVHdCV0RlM0gyaWNrZmNYaGF0YWplWnpER2Y4QWVJL2xXYlFBVlpzSVBPdVJrZkt2SnFzQVNjQVpOYjFuYi9aNFFEOTQ4c2FBTEFvcGFxMzAvaycgK1xuICAgICAgICAnVzVJUHpOd0tBTXE5bDg2NlpnZmxIeWlxOUZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRicgK1xuICAgICAgICAnRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVsTFNkNkFBOUthYWNlbE5OQUFLUTB0SWFBR21tMDQwMmdCRFREVHpURFFBMDB5bm1tVUFPRlBGTUZQRkFEaFRxYScgK1xuICAgICAgICAnS2RRQW82VThkYVlPbFBIV2dCYUtLQlFBNFVVZ3BhQUZvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQScgK1xuICAgICAgICAnQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNwYmU0ZTNrRHFlTzQ5YWlvb0E2S0NkTGlNT2grbzlLbHJuYmU0ZTNrMycgK1xuICAgICAgICAnSjA3ajFyZGduU2VNT2grbzlLQUphS0tLQUNzZlZ2K1BoUDl6K3RiRlkrcmY4QUh3bis1L1dnQ2hSUlJRQVZiMCtGWmJuNWhrS000OTZxVlBaM0F0N2dNZnVuZzBBYjlGTlNSSFVNckFqMScgK1xuICAgICAgICAnRlF6M3NNQUlac3Q2THpRQllKeDE2Vm1YdW9jR0tFL1Yvd0RDcTF6ZlNYSHlnN1U5QlZXZ0Fvb3E3WldSbVlTU0RFWTZEMW9BbDAyMHlSUElPUDRSL1d0V2tBeHdPbEZBQjBGWVY5Y2ZhSicgK1xuICAgICAgICAnemcvSXZBcTdxTjFzVHlVUHpOOTQrZ3JKb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQScgK1xuICAgICAgICAnS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQXBLV2tvQUQwcHBwM2FtbWdBcEQycGFROXFBR21tMDQwMmdCRFREVHpURFFBMDAybkdtVUFPRlBGTUZQRkFEaCcgK1xuICAgICAgICAnVHFhS2RRQW82VThkYVlPbFBIV2dCYUJSUlFBb3BhUVV0QUMwVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRicgK1xuICAgICAgICAnRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVZMYjNEMjhtOU9uY2RqVVZGQUhSUVRwUEdIUS9VZWxTMScgK1xuICAgICAgICAnenR2Y1BieUJsUEhjZXRic0U2WEVZZEQ5UjZVQVMxajZ0L3g4Si91ZjFyWHJGMU9SWkxvQWZ3cmcvV2dDblJSUlFBVVVVVUFBSkhRNG9vb29BS0J5Y0RyVm1DeG5tNTI3VjlXclV0cktLMycgK1xuICAgICAgICAnd1FOei93QjQwQVZMVFRpY1NUakE3Si9qV29BQU1BY1VVdEFDVld2TG9XMGZxNSs2S1c2dTB0MDU1YzlGckRra2FhUXU1eVRRQWpNWFlzeHlTY2swbEZGQUJSUlJRQVVVVVVBRkZGRkFCUicgK1xuICAgICAgICAnUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRicgK1xuICAgICAgICAnSlMwbEFBZWxOTk9QU21tZ0FwRDJwYVE5cUFHbW0wNDAyZ0JEVERUelREUUEwMHlubW1VQU9GUEZNRlBGQURoVHFhS2RRQW82VThkYVlPbFBGQUM5cUtLS0FGRkxRS0tBRm9vb29BS0tLSycgK1xuICAgICAgICAnQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vbycgK1xuICAgICAgICAnb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtmRk5KQTI2TnNVeWlnQzArbzNEcnQzQWU2akZWZnJSUlFBVVVVVUFGRkZGQUJXanBsc3JscFhHY0hBQnJPclMwdTRWZDBMSCcgK1xuICAgICAgICAnQkp5S0FOU2xwS3J6M2tNSDNteTM5MGRhQUxGVWJ2VVZqeWtYelA2OWhWRzR2NVo4cVBsVDBGVmFBRlptZGl6RWxqMUpwS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQycgK1xuICAgICAgICAnaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDa3BhU2dBUFNtbScgK1xuICAgICAgICAnbkhwVFRRQVVoN1VvcERRQTAwMm5HbTBBSWFZYWNhYWFBR21tMDQweWdCd3A0cGdwNG9BY0tkVFJUcUFGSFNuanJUQjBwNDYwQUxSUlJRQW9wYUJSUUF0RkZGQUJSUlJRQVVVVVVBRkZGRicgK1xuICAgICAgICAnQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVScgK1xuICAgICAgICAnVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFTZWZOdDIrYStQVGNham9vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQycgK1xuICAgICAgICAnaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0FwS1drbycgK1xuICAgICAgICAnQUQwcHBweDZVMDBBRkllMUxTR2dCcHB0T05Ob0FRMHcwODB3MEFOTk1wNXBsQURoVHhUQlR4UUE0VTZtaW5VQUtPbFBIV21EcFR4MW9BV2lpaWdCd29wQlMwQUxSUlJRQVVVVVVBRkZGRicgK1xuICAgICAgICAnQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVScgK1xuICAgICAgICAnVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUicgK1xuICAgICAgICAnUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlNVdEpRQUhwVFRUaicgK1xuICAgICAgICAnMHBwb0FCU0h0UzBoN1VBTk5OcHg3MDJnQkRURFR6VERRQTAweW5udlRLQUhDbmltQ25pZ0J3cDFORk9vQVVkS2VLWU9sUEhXZ0JhS0tLQUZGTFNDbG9BV2lpaWdBb29vb0FLS0tLQUNpaScgK1xuICAgICAgICAnaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLSycgK1xuICAgICAgICAnS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBbycgK1xuICAgICAgICAnb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDa3BhU2dBN1UwMDQ5S2FhQScgK1xuICAgICAgICAnQ2tOS0tROXFBR21tMDQwMmdCRFREVHpURFFBMDAybkdtMEFLS2VLWUtlS0FIQ25VMFU2Z0JSMHA0cGc2VThkYUFGbzcwVVVBS0tXa0ZMUUF0RkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUScgK1xuICAgICAgICAnQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRicgK1xuICAgICAgICAnQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVScgK1xuICAgICAgICAnVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZKUzBsQUFlbE5OTzdVMDBBQXBEMnBSUycgK1xuICAgICAgICAnSHRRQTAwMm5HbTBBSWFZYWVhWWFBR21tVTgweWdCd3A0NzB3VThVQU9GT3BvcDFBQ2pwVHgxcG82VTRkYUFGb0ZGRkFDaWxvRkZBQzBVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUicgK1xuICAgICAgICAnUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRicgK1xuICAgICAgICAnRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVScgK1xuICAgICAgICAnVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVWxMU2Q2QUE5S2FhY2VsTk5BQUtRMHRJYUFHbScgK1xuICAgICAgICAnbTA0MDJnQkRURFR6VERRQTAweW5tbVVBT0ZQRk1GUEZBRGhUcWFLZFFBbzZVOGRhWU9sUEhXZ0JhS0tCUUE0VVVncGFBRm9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vbycgK1xuICAgICAgICAnQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaScgK1xuICAgICAgICAnZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLSycgK1xuICAgICAgICAnS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBcEtXa29BRDBwcHAzYW1tZ0FwRDJwUlNIdFFBMDAybkdtMCcgK1xuICAgICAgICAnQUlhWWFlYVlhQUdtbTA0MHlnQndwNHBncDRvQWNLZFRSVHFBRkhTbmpyVEIwcDQ2MEFMUlJSUUFvcGFRVXRBQzBVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQScgK1xuICAgICAgICAnQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVScgK1xuICAgICAgICAnQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUicgK1xuICAgICAgICAnUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVWxMU0dnQVBTbW1uZHFhYUFDa1BhbHBEMm9BYWFiVGpUYUFFTk1OUCcgK1xuICAgICAgICAnTk1OQURUVEtlYWJRQW9wNHBncHdvQWVLZFRSVHFBRkhTbmpyVEIwcDQ2MEFMMm9vb29BY0tLUVV0QUMwVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUScgK1xuICAgICAgICAnQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRicgK1xuICAgICAgICAnQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVScgK1xuICAgICAgICAnVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVsTFNVQUI2VTAwcDZVaG9BS1E5cVVVaG9BYWFiVGpUYUFFTk1OUE5NTkFEVCcgK1xuICAgICAgICAnM3BsUE5Nb0FjS2NPdE5GT29BZU90T3BncHdvQWNPbE9GTkZPRkFEaFJTQ2xvQVdscEtLQUZIU2xwdExtZ0JhS1ROR2FBRm9wTTBab0FXaWt6Um1nQmFLVE5HYUFGb3BNMFpvQVdpa3pSbScgK1xuICAgICAgICAnZ0JhS1ROR2FBRm9wTTBab0FXaWt6Um1nQmFLVE5HYUFGb3BNMFpvQVdpa3pSbWdCYUtUTkdhQUZvcE0wWm9BV2lrelJtZ0JhS1ROR2FBRm9wTTBab0FXaWt6Um1nQmFLVE5HYUFGb3BNMCcgK1xuICAgICAgICAnWm9BV2lrelJtZ0JhS1ROR2FBRm9wTTBab0FXaWt6Um1nQmFLVE5HYUFGb3BNMFpvQVdpa3pSbWdCYUtUTkdhQUZvcE0wWm9BV2lrelJtZ0JhS1ROR2FBRm9wTTBab0FXaWt6Um1nQmFLVCcgK1xuICAgICAgICAnTkdhQUZvcE0wWm9BV2lrelJtZ0JhS1ROR2FBRm9wTTBab0FXaWt6Um1nQmFLVE5HYUFGb3BNMFpvQVdpa3pSbWdCYUtUTkdhQUZvcE0wWm9BV2lrelJtZ0JhS1ROR2FBRm9wTTBab0FXaScgK1xuICAgICAgICAna3pSbWdCYUtUTkdhQUZvcE0wWm9BV2lrelJtZ0JhS1ROR2FBRm9wTTBab0FXaWt6Um1nQmFLVE5HYUFGb3BNMFpvQVdpa3pSbWdCYUtUTkdhQUZvcE0wWm9BS0tLU2dBTklhV2tvQVNrTicgK1xuICAgICAgICAnTFNHZ0JwcEtVMGxBRFRURFR6VEQxb0FRMHluSHZUYUFGRlBwZ05Qb0FjRHpUcVlLZUtBRkZPQnB0S0tBSFU2bTVwUWFBRnBhU2lnQmMwVW1hS0FIVVUzTkdhQUhVVTJqTkFEcUtibWpOQScgK1xuICAgICAgICAnRHFLYm1qTkFEcUtibWpOQURxS2Jtak5BRHFLYlJtZ0IxRk56Um1nQjFGTnpSbWdCMUZOelJtZ0IxRk56Um1nQjFGTnpSbWdCMUZOelJtZ0IxRk56Um1nQjFGTnpSbWdCMUZOelJtZ0IxRicgK1xuICAgICAgICAnTnpSbWdCMUZOelJtZ0IxRk56Um1nQjFGTnpSbWdCMUg0MDNOR2FBSFVVM05HYUFIVVUzTkdhQUhVVTNOR2FBSFVVM05HYUFIVVUzTkdhQUhVVTNOR2FBSFVVM05HYUFIVVUzTkdhQUhVVScgK1xuICAgICAgICAnM05HYUFIVVUzTkdhQUhVVTNOR2FBSFVVM05HYUFIVVUzTkdhQUhVVTNOR2FBSFVVM05HYUFIVWZqVGMwWm9BZFJUYzBab0FkUlRjMFpvQWRSK05OelJtZ0IxRk56Um1nQjFGTnpSbWdCMScgK1xuICAgICAgICAnRk56Um1nQjFGTnpSbWdCMUZOelJtZ0IxRk56Um1nQjFGTnpSbWdCMUZOelJtZ0IxRk56Um1nQjFGTnpSbWdCMUZOelJtZ0IxRk56Um1nQjFGTnpSbWdCMUZOelJtZ0IxRk56Um1nQjFGTicgK1xuICAgICAgICAnelJtZ0IxRk56Um1nQjFGTnpSbWdCMUpTWm9vQVdnMG1hS0FDaWlrelFBVTBtbHBwTkFDR2tOTFNHZ0JwcHRPTk5vQWFhYlRpYVptZ0JSVDZZS2NLQUhnMDRVd1U0R2dCOUZOelRxQUZCcCcgK1xuICAgICAgICAnMU1wUWFBSDVvelRjMHVhQUhVVTNOTG4zb0FXaWt6NzBaOTZBRm9wTSs5R2ZlZ0JhS1RQdlJuM29BV2lrejcwWjk2QUZvcE0rOUdhQUZvcE0rOUdmZWdCYUtUTkdmZWdCYUtUUHZSbjNvQScgK1xuICAgICAgICAnV2lrejcwWjk2QUZvcE0rOUdmZWdCYUtUTkdmZWdCYUtUUHZSbjNvQVdpa3pSbjNvQVdpa3pSbWdCYUtUTkdmZWdCYUtUUHZSbWdCYUtUTkdmZWdCYUtUTkdhQUZvcE0rOUdmZWdCYUtUTicgK1xuICAgICAgICAnR2ZlZ0JhS1ROR2ZlZ0JhS1RQdlJtZ0JhS1RQdlJtZ0JhS1RQdlJuM29BV2lrelJuM29BV2lrelJtZ0JhS1ROR2ZlZ0JhS1ROR2FBRm9wTSs5R2FBRm9wTSs5R2ZlZ0JhS1ROR2ZlZ0JhSycgK1xuICAgICAgICAnVE5HYUFGb3BNKzlHYUFGb3BNMFpvQVdpa3o3MFo5NkFGb3BNMFpvQVdpa3o3MFpvQVdpa3o3MFpvQVdpa3pSbWdCYUtUTkdhQUZvcE0rOUdhQUZvcE0wWm9BV2lrejcwWm9BV2lrelJtZycgK1xuICAgICAgICAnQmFLVE5HZmVnQmFLVE5HYUFGb3BNKzlHYUFGb3BNMFpvQVdpa3pSbWdCYUtUUHZSbWdCYUtUTkdhQUZvcE0wWjk2QUZvcE0rOUdmZWdCYUtUUHZSbjNvQVdpa3o3MFpvQVdpa3o3MFpvQScgK1xuICAgICAgICAnV2lrelJuM29BV2lrejcwWjk2QUZvcE0rOUdmZWdCYVNrelJtZ0JjMGxKbWdtZ0FKcHRGRkFCVFRTazAwbWdCQ2FhYVUwMG1nQkRUYVUwMmdCUlRoVEJUZ2FBSGcwdE5CcGMwQVBCcFFhWScgK1xuICAgICAgICAnRFRnYUFIMFUzTkxtZ0IyYU0wMmxvQVhOTG1tMFVBUHpSbW1ab29BZm1relRjMFVBUHpTWnB1YU0wQVB6U1pwdEdhQUhab3pUYzBab0FkbWpOTnpSbWdCMmFNMDNOR2FBSDVwTTAzTkdhQScgK1xuICAgICAgICAnSFpvelRjMFpvQWRtak5OelJtZ0IyYU0wM05HYUFIWm96VGMwWm9BZG1qTk56Um1nQjJhTTAzTkdhQUhab3pUYzBab0FmbWt6VGMwVUFQelJtbVpvelFBL05KbW01b3pRQTdOTG1tWm9vQScgK1xuICAgICAgICAnZG1qTk5vb0FkbWx6VE0wWm9BZm1relRjMFpvQWRtak5OelJRQTdOR2FibWpOQURzMFpwdWFLQUhab3pUYzBab0FkbWpOTm96UUE3TkdhYm1pZ0IyYVhOTXpSbWdCK2FNMHpOR2FBSDVveicgK1xuICAgICAgICAnVE0wWm9BZm1relRjMFpvQWRtbHpUTTBVQU96Um1tMFpvQWZta3pUYzBVQU96Um1tMFVBT3pSbW0wVUFPelJtbTBab0FkbWpOTnpSbWdCK2FUTk5velFBN05HYWJSbWdCMUdhYlJtZ0IrYScgK1xuICAgICAgICAnVE5OelJRQTdOTG1tVVVBT3pTNXBsR2FBSFpwYzB5aWdCMmFYTk1velFBN05HYWJtak5BRDgwbWFibWlnQjJhWE5Nb29BZlJtbVVab0FkbWpOTnpSUUE2ak5Ob29BZG1qTk56Um1nQithVCcgK1xuICAgICAgICAnTk56UlFBN05MbW1VVUFPelJtbTBVQU96Um1tNW96UUE3TkdhYm1pZ0JjMFpwS0tBRkpwS00wbWFBRnBwTkdhUW1nQUpwdEdhVE5BQWFhYVVtbWswQUlUU1VHaWdCS1dtZzBvTkFEd2FjRCcgK1xuICAgICAgICAnVWRPQm9BZlMwek5MbWdCK2FYTk1wYUFINW96VE0wdWFBSFpwYzB6TkdhQUg1b3lLWm1qTkFEODBaRk16Um1nQithTWltWm96UUEvTkdhWm1qTkFEODBacG1hTTBBUHpSbW1ab3pRQS9ORycgK1xuICAgICAgICAnYVptak5BRDgwWnBtYU0wQVB6Um1tWm96UUEvTkdhWm1qTkFEODBacG1hTTBBUHpSbW1ab3pRQS9OR2FabWpOQUQ4MFpwbWFNKzlBRDhpak5NelJtZ0IrUlJrVXpOR2FBSDVGR2FabWpOQScgK1xuICAgICAgICAnRDgwWnBtYU0wQVB6Um1tWm96UUEvSW96VE0wWm9BZmtVWkZNelJtZ0IrYU0wek5HYUFINUZHUlRNMFpvQWZtak5NelJtZ0IrYU1pbVpvelFBL0lveUtabWpOQUQ4MFpGTXpSbWdCK2FNaScgK1xuICAgICAgICAnbVo5Nk0wQVB6Um1tWm96UUEvTkdSVE0wWm9BZmtVWnBtYU0wQVB6UmtVek5HYUFINW95S1ptak5BRDhpaklwbWFNMEFQeUtNaW1ab3pRQS9OR2FabWpOQUQ4aWpJcG1hTTBBUHlLTWltWicgK1xuICAgICAgICAnb3pRQS9OR1JUTTBab0Fma1VacG1hTTBBUHlLTWltWm96UUEvSW95S1ptak5BRDhpaklwbWFNMEFQelJrVXpOR2FBSDVGR1JUTTBab0FmbWpJcG1hTTBBUHlLTWltWm96UUEvSW95S1ptaicgK1xuICAgICAgICAnTkFEODBacG1hTTBBUHlLTWltWm96UUEvSW95S1ptak5BRDhpaklwbWFNMEFQeUtNMHpOR2FBSDVvelRNMFpvQWZtaklwbWFNMEFQelJtbVpvelFBL05HUlRNMFpvQWZrVVpGTXpSbWdCKycgK1xuICAgICAgICAnYU0wek5HYUFIWm96VGMwWm9BY1RTWnB1YUtBRkpwTTBsSm1nQmFRbWpOTkpvQUNhYWFLU2dBTkZJYVROQUNBMDRVd1Vvb0FmUzAwVW9vQWRUczB5aWdCNE5MbW1VQ2dDVE5HYVpTMEFPLycgK1xuICAgICAgICAnQ2o4S2JSUUE3TkxtbVVVQU96UzVwbEZBRHMwWnB0RkFEOCsxR2FaUm1nQithTTB5aWdCK2FNMHlqTkFEODBacGxGQUQ4MFo5cVpSUUE3TkxtbVpvelFBL05HYVpSUUEvTkdhWm1pZ0IrYScgK1xuICAgICAgICAnTTB5ak5BRDgwWnBtYVROQUVtYU0wek5KbWdDVE5HYWp6Um1nQ1ROR2FabWt6UUJKbWpOTXpSbWdCK2FNMUhtak5BRW1hTTFIbWpOQUVtYU0wek5KbWdDVE5HYWp6UzVvQWZtak5SNXBjMCcgK1xuICAgICAgICAnQVB6Um1tWm96UUEvTkdhWm1relFCSm1qTlI1cGMwQVB6Um1vODBab0FrelJtbzgwWm9Ba3pSbW1acE0wQVNab3pVZWFNMEFTWm96VE0wbWFBSk0wWnFQTkdhQUpNMFpxUE5HYUFKTTBacScgK1xuICAgICAgICAnUE5MbWdCK2FNMHpOSm1nQithWE5NelNab0FrelJtbzgwdWFBSDVvelRNMFpvQWZtak5SNXBjMEFQelJtbVpvelFBL05HYVpta3pRQkptak5SNXBjMEFQelJtbzgwWm9Ba3pSbW84MHVhQScgK1xuICAgICAgICAnSDVvelVlYVhOQUQ4MFpwbWFUTkFFbWFNMUhtbHpRQS9OR2FabWpOQUQ4MFpwbWFUTkFFbWFNMUhtbHpRQS9OR2FabWpOQUQ4MFpxUE5MbWdCK2FNMUhtak5BRW1hTTB6TkptZ0NUTkdhaicgK1xuICAgICAgICAnelJtZ0NUTkdhWm1qTkFEODBacG1hTTgwQVB6Um1vODBab0FrelJtbVpwTTBBU1pwTTAzTkdhQUhmaFJuMnB1YVNnQithUW1tMGxBRHMwWnB0SlFBcHBLS1EwQUZJVFNtbUdnQUpvcERSUScgK1xuICAgICAgICAnQi8vOWs9JztcbiAgICB9XG59O1xuXG5cblxuLyoqKioqKioqKioqKioqKioqXG4gKiogV0VCUEFDSyBGT09URVJcbiAqKiAuL3NyYy9iaXRkYXNoLWNvbnRyb2xsZXIuanNcbiAqKiBtb2R1bGUgaWQgPSAxXG4gKiogbW9kdWxlIGNodW5rcyA9IDBcbiAqKi8iLCIndXNlIHN0cmljdCc7XG5cbi8qKlxuICogQG5nSW5qZWN0XG4gKi9cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKCR3aW5kb3cpIHtcbiAgICAvLyBkaXJlY3RpdmUgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIHJldHVybiB7XG4gICAgICAgIHJlc3RyaWN0OiAnRUEnLFxuICAgICAgICByZXBsYWNlOiB0cnVlLFxuICAgICAgICBjb250cm9sbGVyOiAnTWlCaXRkYXNoQ29udHJvbGxlcicsXG4gICAgICAgIGNvbnRyb2xsZXJBczogJ2JpdGRhc2hWbScsXG4gICAgICAgIHRlbXBsYXRlVXJsOiAnbWkvdGVtcGxhdGUvYml0ZGFzaC1wbGF5ZXIuaHRtbCcsXG4gICAgICAgIHNjb3BlOiB7XG4gICAgICAgICAgICBjb25maWc6ICc9JyxcbiAgICAgICAgICAgIHdlYmNhc3Q6ICc9J1xuICAgICAgICB9LFxuICAgICAgICBsaW5rOiBmdW5jdGlvbiAoc2NvcGUpIHtcbiAgICAgICAgICAgIHZhciBjb25maWcgPSBzY29wZS5jb25maWc7ICAvLyBkaWUgY29uZmlnIHdpcmQgYXV0b21hdGlzY2ggZHVyY2ggZGVuIGNvbnRyb2xsZXIgZXJ3ZWl0ZXJ0XG4gICAgICAgICAgICB2YXIgcGxheWVyID0gJHdpbmRvdy53aW5kb3cuYml0ZGFzaCgnbWktYml0ZGFzaC1wbGF5ZXInKTtcblxuICAgICAgICAgICAgLy8gdGVjaCBzdXBwb3J0IC0gZmxhc2ggYW5kIGhsc1xuICAgICAgICAgICAgdmFyIHN1cHBvcnRlZFRlY2ggPSBwbGF5ZXIuZ2V0U3VwcG9ydGVkVGVjaCgpO1xuICAgICAgICAgICAgLy8gZm9yY2UgSExTIC8gRmxhc2ggcGxheWJhY2sgaWYgYXZhaWxhYmxlXG4gICAgICAgICAgICB2YXIgaGxzVGVjaCA9IFtdO1xuICAgICAgICAgICAgdmFyIGZsYXNoRm9yY2UgPSBmYWxzZTtcbiAgICAgICAgICAgIHZhciBjdWVwb2ludHNTdXBwb3J0ZWQgPSBmYWxzZTtcblxuICAgICAgICAgICAgYW5ndWxhci5mb3JFYWNoKHN1cHBvcnRlZFRlY2gsIGZ1bmN0aW9uICh0ZWNoKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRlY2guc3RyZWFtaW5nID09PSAnaGxzJykge1xuICAgICAgICAgICAgICAgICAgICBobHNUZWNoLnB1c2godGVjaC5wbGF5ZXIgKyAnLicgKyB0ZWNoLnN0cmVhbWluZyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGlmIChobHNUZWNoLmluZGV4T2YoJ2ZsYXNoLmhscycpICE9PSAtMSkge1xuICAgICAgICAgICAgICAgIGZsYXNoRm9yY2UgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGN1ZXBvaW50c1N1cHBvcnRlZCA9IHRydWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChobHNUZWNoLmluZGV4T2YoJ25hdGl2ZS5obHMnKSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICBmbGFzaEZvcmNlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgY3VlcG9pbnRzU3VwcG9ydGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAvLyBUb0RvIGNoZWNrIGZvciBBbmRyb2lkLCBBbmRyb2lkIGRvZXMgbm90IHN1cHBvcnQgQ3VlUG9pbnRzIHZpYSBIVE1MNVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAocGxheWVyLmlzUmVhZHkoKSAmJiAhZmxhc2hGb3JjZSkge1xuICAgICAgICAgICAgICAgIC8vIGZ1bmt0aW9uaWVydCBkZXJ6ZWl0IG51ciBmw7xyIGRlbiBOT04tRmxhc2ggLi4uIGZsYXNoaWUgc2VsYnN0IGbDpGxsdCBzZWhyIGxhdXQgaGluIC4uLiBEcmVja1xuICAgICAgICAgICAgICAgIHBsYXllci5kZXN0cm95KCk7XG4gICAgICAgICAgICAgICAgcGxheWVyID0gJHdpbmRvdy53aW5kb3cuYml0ZGFzaCgnbWktYml0ZGFzaC1wbGF5ZXInKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGZsYXNoRm9yY2UpIHtcbiAgICAgICAgICAgICAgICBwbGF5ZXIuc2V0dXAoY29uZmlnLCAnZmxhc2guaGxzJyk7ICAvLyBUb0RvIGNoZWNrIGRvY3MgZm9yIHRoYXQgZnVubnkgcGFyYW1ldGVyXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHBsYXllci5zZXR1cChjb25maWcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgc3RhdGUgPSBzY29wZS53ZWJjYXN0LnN0YXRlICsgJ1N0YXRlRGF0YSc7XG4gICAgICAgICAgICBpZiAoYW5ndWxhci5pc0RlZmluZWQoc2NvcGUud2ViY2FzdFtzdGF0ZV0ucGxheW91dC5hdWRpb09ubHkpICYmIHNjb3BlLndlYmNhc3Rbc3RhdGVdLnBsYXlvdXQuYXVkaW9Pbmx5KSB7XG4gICAgICAgICAgICAgICAgdmFyIGJpdG1vdmluQ29udHJvbGJhciA9IGFuZ3VsYXIuZWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdiaXRkYXNoLXZjJykpO1xuICAgICAgICAgICAgICAgIGJpdG1vdmluQ29udHJvbGJhclswXS5zdHlsZS5taW5IZWlnaHQgPSAnMzBweCc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xufTtcblxuXG5cblxuXG5cblxuLyoqKioqKioqKioqKioqKioqXG4gKiogV0VCUEFDSyBGT09URVJcbiAqKiAuL3NyYy9iaXRkYXNoLWRpcmVjdGl2ZS5qc1xuICoqIG1vZHVsZSBpZCA9IDJcbiAqKiBtb2R1bGUgY2h1bmtzID0gMFxuICoqLyJdLCJzb3VyY2VSb290IjoiIn0= \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAgYzYzNWY5MWIwY2IwMDcyZTI4NmIiLCJ3ZWJwYWNrOi8vLy4vc3JjL2luZGV4LmpzIiwid2VicGFjazovLy8uL3NyYy9iaXRkYXNoLWNvbnRyb2xsZXIuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2JpdGRhc2gtZGlyZWN0aXZlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx1QkFBZTtBQUNmO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOzs7Ozs7O0FDdENBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0RBQW1ELHdCQUF3QjtBQUMzRTtBQUNBO0FBQ0E7QUFDQSxVQUFTLEc7Ozs7OztBQ3ZCVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLGlDQUFnQztBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7O0FDaFRBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFUztBQUNUO0FBQ0EsaUNBQXNDO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw4QkFBa0Q7QUFDbEQsY0FBYTtBQUNiO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiJtaS1hbmd1bGFyLWJpdGRhc2gtcGxheWVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiIFx0Ly8gVGhlIG1vZHVsZSBjYWNoZVxuIFx0dmFyIGluc3RhbGxlZE1vZHVsZXMgPSB7fTtcblxuIFx0Ly8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbiBcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblxuIFx0XHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcbiBcdFx0aWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pXG4gXHRcdFx0cmV0dXJuIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7XG5cbiBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbiBcdFx0dmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0ge1xuIFx0XHRcdGV4cG9ydHM6IHt9LFxuIFx0XHRcdGlkOiBtb2R1bGVJZCxcbiBcdFx0XHRsb2FkZWQ6IGZhbHNlXG4gXHRcdH07XG5cbiBcdFx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG4gXHRcdG1vZHVsZXNbbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG4gXHRcdC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBsb2FkZWRcbiBcdFx0bW9kdWxlLmxvYWRlZCA9IHRydWU7XG5cbiBcdFx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcbiBcdFx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xuIFx0fVxuXG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzO1xuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZSBjYWNoZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlcztcblxuIFx0Ly8gX193ZWJwYWNrX3B1YmxpY19wYXRoX19cbiBcdF9fd2VicGFja19yZXF1aXJlX18ucCA9IFwiXCI7XG5cbiBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oMCk7XG5cblxuXG4vKiogV0VCUEFDSyBGT09URVIgKipcbiAqKiB3ZWJwYWNrL2Jvb3RzdHJhcCBjNjM1ZjkxYjBjYjAwNzJlMjg2YlxuICoqLyIsIid1c2Ugc3RyaWN0JztcblxuLyoqXG4gKiBAbmdJbmplY3RcbiAqL1xuXG52YXIgQml0ZGFzaENvbnRyb2xsZXIgPSByZXF1aXJlKCcuL2JpdGRhc2gtY29udHJvbGxlcicpLFxuICAgIEJpdGRhc2hEaXJlY3RpdmUgPSByZXF1aXJlKCcuL2JpdGRhc2gtZGlyZWN0aXZlJyk7XG4gICAgbW9kdWxlLmV4cG9ydHMgPSBhbmd1bGFyXG4gICAgICAgIC5tb2R1bGUoJ21pLkJpdGRhc2hQbGF5ZXInLCBbJ21pL3RlbXBsYXRlL2JpdGRhc2gtcGxheWVyLmh0bWwnXSlcbiAgICAgICAgLy8gY29udHJvbGxlciAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgIC5jb250cm9sbGVyKCdNaUJpdGRhc2hDb250cm9sbGVyJywgQml0ZGFzaENvbnRyb2xsZXIpXG4gICAgICAgIC8vIGRpcmVjdGl2ZSAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgICAgICAuZGlyZWN0aXZlKCdtaUJpdGRhc2hQbGF5ZXInLCBCaXRkYXNoRGlyZWN0aXZlKTtcblxuICAgIGFuZ3VsYXIubW9kdWxlKCdtaS90ZW1wbGF0ZS9iaXRkYXNoLXBsYXllci5odG1sJywgW10pXG4gICAgICAgIC5ydW4oWyckdGVtcGxhdGVDYWNoZScsIGZ1bmN0aW9uICgkdGVtcGxhdGVDYWNoZSkge1xuICAgICAgICAgICR0ZW1wbGF0ZUNhY2hlLnB1dCgnbWkvdGVtcGxhdGUvYml0ZGFzaC1wbGF5ZXIuaHRtbCcsICc8ZGl2PicgK1xuICAgICAgICAgICAgJzxkaXYgbmctc2hvdz1cInNob3dBdWRpb09ubHlTdGlsbEltYWdlXCIgaWQ9XCJwbGF5ZXItYXVkaW9vbmx5LXN0aWxsLWRpdlwiIHdpZHRoPVwiMTAwJVwiIGhlaWdodD1cImF1dG9cIj4nICtcbiAgICAgICAgICAgICc8aW1nIGNsYXNzPVwiaW1nLXJlc3BvbnNpdmVcIiBuZy1zcmM9XCJ7e2F1ZGlvT25seVN0aWxsSW1hZ2VVcmx9fVwiPicgK1xuICAgICAgICAgICAgJzwvZGl2PicgK1xuICAgICAgICAgICAgJzxkaXYgaWQ9XCJtaS1iaXRkYXNoLXBsYXllclwiIHdpZHRoPVwiMTAwJVwiIGhlaWdodD1cImF1dG9cIj48L2Rpdj4nICtcbiAgICAgICAgICAgICc8L2Rpdj4nKTtcbiAgICAgICAgfV0pO1xuXG5cbi8qKioqKioqKioqKioqKioqKlxuICoqIFdFQlBBQ0sgRk9PVEVSXG4gKiogLi9zcmMvaW5kZXguanNcbiAqKiBtb2R1bGUgaWQgPSAwXG4gKiogbW9kdWxlIGNodW5rcyA9IDBcbiAqKi8iLCIndXNlIHN0cmljdCc7XG5cbi8qKlxuICogQG5nSW5qZWN0XG4gKi9cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKCRzY29wZSwgJGxvZykge1xuICAgIC8vIGNvbnRyb2xsZXJBcyAtPiBiaXRkYXNoVm1cbiAgICB2YXIgdm0gPSB0aGlzO1xuXG5cbiAgICAvLyBjb3B5IHRoZSBiYXNpYyBjb25maWcgLi4uIGtleSBpcyBtYW5kYXRvcnlcbiAgICB2bS5jb25maWcgPSB7fTtcbiAgICB2bS5vcHRpb25zID0ge307XG4gICAgaWYgKGFuZ3VsYXIuaXNEZWZpbmVkKCRzY29wZS5jb25maWcpICYmIGFuZ3VsYXIuaXNEZWZpbmVkKCRzY29wZS5jb25maWcua2V5KSkge1xuICAgICAgICB2bS5jb25maWcgPSAkc2NvcGUuY29uZmlnO1xuICAgIH0gZWxzZSB7XG4gICAgICAgICRsb2cuZXJyb3IoJ2Jhc2ljIGNvbmZpZyBmb3IgYml0ZGFzaCBwbGF5ZXIgaXMgbWlzc2luZyEnKTtcbiAgICB9XG4gICAgaWYgKGFuZ3VsYXIuaXNEZWZpbmVkKCRzY29wZS5vcHRpb25zKSkge1xuICAgICAgICB2bS5vcHRpb25zID0gJHNjb3BlLm9wdGlvbnM7XG4gICAgfVxuXG4gICAgLy8gY2hlY2sgd2ViY2FzdCB0byBleHBhbmQgYW5kIG1hbmlwdWxhdGUgdGhlIGJhc2ljIGJpdGRhc2ggcGxheWVyIGNvbmZpZ1xuICAgIGlmIChhbmd1bGFyLmlzRGVmaW5lZCgkc2NvcGUud2ViY2FzdCkpIHtcbiAgICAgICAgcHJvY2Vzc1dlYmNhc3QoJHNjb3BlLndlYmNhc3QpO1xuICAgIH1cblxuICAgIC8vIHBsYXllciBjb25maWcgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgICBmdW5jdGlvbiBwcm9jZXNzV2ViY2FzdCh3ZWJjYXN0KSB7XG4gICAgICAgIHZhciBzdGF0ZVByb3BlcnR5ID0gd2ViY2FzdC5zdGF0ZSArICdTdGF0ZURhdGEnO1xuXG4gICAgICAgIGlmIChhbmd1bGFyLmlzRGVmaW5lZCh2bS5vcHRpb25zLmZvcmNlZFN0YXRlKSkge1xuICAgICAgICAgICAgc3RhdGVQcm9wZXJ0eSA9IHZtLm9wdGlvbnMuZm9yY2VkU3RhdGUgKyAnU3RhdGVEYXRhJztcbiAgICAgICAgfVxuXG4gICAgICAgIHZtLmNvbmZpZy5zb3VyY2UgPSBnZXRQbGF5ZXJDb25maWdTb3VyY2Uod2ViY2FzdCwgc3RhdGVQcm9wZXJ0eSk7XG4gICAgICAgIHZtLmNvbmZpZy5zdHlsZSA9IGdldFBsYXllckNvbmZpZ1N0eWxlKHdlYmNhc3QsIHN0YXRlUHJvcGVydHkpO1xuICAgIH1cblxuICAgIC8vIHBsYXllciBjb25maWcgLSBzb3VyY2UgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBmdW5jdGlvbiBnZXRQbGF5ZXJDb25maWdTb3VyY2Uod2ViY2FzdCwgc3RhdGUpIHtcbiAgICAgICAgaWYgKHdlYmNhc3QudXNlRFZSUGxheWJhY2tJblBvc3RsaXZlID09PSB0cnVlICYmIHN0YXRlID09PSAncG9zdGxpdmVTdGF0ZURhdGEnKSB7XG4gICAgICAgICAgICByZXR1cm4gZ2V0RFZSUGxheWJhY2tUb1Bvc3RsaXZlKHdlYmNhc3QpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGdldFBsYXllckNvbmZpZ1NvdXJjZUJ5U3RhdGUod2ViY2FzdCwgc3RhdGUpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGdldERWUlBsYXliYWNrVG9Qb3N0bGl2ZSh3ZWJjYXN0KSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBobHM6IHdlYmNhc3RbJ2xpdmVTdGF0ZURhdGEnXS5wbGF5b3V0Lmhsc1VybC5yZXBsYWNlKCcvbWFzdGVyLm0zdTgnLCAnRHZyL21hc3Rlci5tM3U4P0RWUicpLFxuICAgICAgICAgICAgZGFzaDogd2ViY2FzdFsnbGl2ZVN0YXRlRGF0YSddLnBsYXlvdXQuZGFzaFVybC5yZXBsYWNlKCcvcGxheWxpc3QubTN1OCcsICdEdnIvcGxheWxpc3QubTN1OD9EVlInKVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGdldFBsYXllckNvbmZpZ1NvdXJjZUJ5U3RhdGUod2ViY2FzdCwgc3RhdGUpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGhsczogd2ViY2FzdFtzdGF0ZV0ucGxheW91dC5obHNVcmwsXG4gICAgICAgICAgICBkYXNoOiB3ZWJjYXN0W3N0YXRlXS5wbGF5b3V0LmRhc2hVcmxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvLyBwbGF5ZXIgY29uZmlnIC0gc3R5bGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgZnVuY3Rpb24gZ2V0UGxheWVyQ29uZmlnU3R5bGUod2ViY2FzdCwgc3RhdGUpIHtcbiAgICAgICAgdmFyIHN0eWxlID0ge1xuICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICAgIGF1dG9IaWRlQ29udHJvbHM6IHRydWVcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoYW5ndWxhci5pc0RlZmluZWQod2ViY2FzdFtzdGF0ZV0ucGxheW91dC5hdWRpb09ubHkpICYmIHdlYmNhc3Rbc3RhdGVdLnBsYXlvdXQuYXVkaW9Pbmx5KSB7XG4gICAgICAgICAgICAkc2NvcGUuc2hvd0F1ZGlvT25seVN0aWxsSW1hZ2UgPSB0cnVlO1xuICAgICAgICAgICAgJHNjb3BlLmF1ZGlvT25seVN0aWxsSW1hZ2VVcmwgPSBnZXREZWZhdWx0U3RpbGxJbWFnZSgpO1xuICAgICAgICAgICAgc3R5bGUuYXV0b0hpZGVDb250cm9scyA9IGZhbHNlO1xuICAgICAgICAgICAgc3R5bGUuaGVpZ2h0ID0gJzMwcHgnO1xuICAgICAgICAgICAgaWYgKGFuZ3VsYXIuaXNEZWZpbmVkKHdlYmNhc3Rbc3RhdGVdLnBsYXlvdXQuYXVkaW9Pbmx5U3RpbGxVcmwpICYmXG4gICAgICAgICAgICAgICAgd2ViY2FzdFtzdGF0ZV0ucGxheW91dC5hdWRpb09ubHlTdGlsbFVybCAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICAkc2NvcGUuYXVkaW9Pbmx5U3RpbGxJbWFnZVVybCA9IHdlYmNhc3Rbc3RhdGVdLnBsYXlvdXQuYXVkaW9Pbmx5U3RpbGxVcmw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdHlsZS5hc3BlY3RyYXRpbyA9ICcxNjo5JztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBzdHlsZTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBnZXREZWZhdWx0U3RpbGxJbWFnZSgpIHtcbiAgICAgICAgcmV0dXJuICdkYXRhOmltYWdlL2pwZWc7YmFzZTY0LC85ai80QUFRU2taSlJnQUJBUUVBWUFCZ0FBRC8vZ0ErUTFKRlFWUlBVam9nWjJRdGFuQmxaeUIyTVM0d0lDaDFjMmx1WnlCSlNrY2dTbCcgK1xuICAgICAgICAnQkZSeUIyT0RBcExDQmtaV1poZFd4MElIRjFZV3hwZEhrSy85c0FRd0FJQmdZSEJnVUlCd2NIQ1FrSUNnd1VEUXdMQ3d3WkVoTVBGQjBhSHg0ZEdod2NJQ1F1SnlBaUxDTWNIQ2czS1N3dycgK1xuICAgICAgICAnTVRRME5COG5PVDA0TWp3dU16UXkvOXNBUXdFSkNRa01Dd3dZRFEwWU1pRWNJVEl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNaicgK1xuICAgICAgICAnSXlNakl5LzhBQUVRZ0Nld1JwQXdFaUFBSVJBUU1SQWYvRUFCOEFBQUVGQVFFQkFRRUJBQUFBQUFBQUFBQUJBZ01FQlFZSENBa0tDLy9FQUxVUUFBSUJBd01DQkFNRkJRUUVBQUFCZlFFQycgK1xuICAgICAgICAnQXdBRUVRVVNJVEZCQmhOUllRY2ljUlF5Z1pHaENDTkNzY0VWVXRId0pETmljb0lKQ2hZWEdCa2FKU1luS0NrcU5EVTJOemc1T2tORVJVWkhTRWxLVTFSVlZsZFlXVnBqWkdWbVoyaHBhbicgK1xuICAgICAgICAnTjBkWFozZUhsNmc0U0Zob2VJaVlxU2s1U1ZscGVZbVpxaW82U2xwcWVvcWFxeXM3UzF0cmU0dWJyQ3c4VEZ4c2ZJeWNyUzA5VFYxdGZZMmRyaDR1UGs1ZWJuNk9ucThmTHo5UFgyOS9qNScgK1xuICAgICAgICAnK3YvRUFCOEJBQU1CQVFFQkFRRUJBUUVBQUFBQUFBQUJBZ01FQlFZSENBa0tDLy9FQUxVUkFBSUJBZ1FFQXdRSEJRUUVBQUVDZHdBQkFnTVJCQVVoTVFZU1FWRUhZWEVUSWpLQkNCUkNrYScgK1xuICAgICAgICAnR3h3UWtqTTFMd0ZXSnkwUW9XSkRUaEpmRVhHQmthSmljb0tTbzFOamM0T1RwRFJFVkdSMGhKU2xOVVZWWlhXRmxhWTJSbFptZG9hV3B6ZEhWMmQzaDVlb0tEaElXR2g0aUppcEtUbEpXVycgK1xuICAgICAgICAnbDVpWm1xS2pwS1dtcDZpcHFyS3p0TFcydDdpNXVzTER4TVhHeDhqSnl0TFQxTlhXMTlqWjJ1TGo1T1htNStqcDZ2THo5UFgyOS9qNSt2L2FBQXdEQVFBQ0VRTVJBRDhBOUJGS0JRQlRnSycgK1xuICAgICAgICAnQUFDbG9wY1VBSmlseFRzVW9GQURjVXVLZGlseFFBekZMaW5VVUFOeFJpbllQclJnK3RBRGNVWXArUGVqSHZRQXpGR0tmajNveDcwQU14UmluL0FJMGZqUUF6RkdLZmozb3g3MEFNeFJpbicgK1xuICAgICAgICAnNDk2TWU5QURNVVlwK1Blakh2UUF6RkdLZmozb3g3MEFNeFJpbjQ5Nk1lOUFETVVZcCtQZWpIdlFBekZHS2ZqM294NzBBTXhSaW4valJqM29BWmlqRlB4NzBZOTZBR1lveFQ4ZTlHUGVnQicgK1xuICAgICAgICAnbUtNVS9IdlJqM29BWmlqRlB4NzBZOTZBR1lveFQ4ZTlHS0FHWW94VDhlOUdQZWdCbUtNVS9IdlJqM29BWmlqRlB4NzBZOTZBR1lveFQ4VVk5NkFHWW94VDhlOUdQZWdCbUtNVS9IdlJqMycgK1xuICAgICAgICAnb0FaaWpGUHg3MFk5NkFHWW94VDhlOUdQZWdCbUtNVS9IdlJqM29BWmlqRlB4NzBZOTZBR1lveFQ4ZTlHUGVnQm1LTVUvSHZSajNvQVppakZQeFJqM29BWmlqRlB4NzBZOTZBR1lveFQ4ZScgK1xuICAgICAgICAnOUdQZWdCbUtNVS9GR1BlZ0JtS01VL0h2Umozb0FaaWpGUHg3MFk5NkFHWW94VDhlOUdQZWdCbUtNVS9IdlJqM29BWmlqRlB4NzBZOTZBR1lveFQ4ZTlHUGVnQm1LTVUvSHZSajNvQVppaicgK1xuICAgICAgICAnRlB4NzBZOTZBR1lveFQ4ZTlHUGVnQm1LTVUvSHZSajNvQVppakZQeDcwWTk2QUdZb3hUOGU5R1BlZ0JtS01VL0h2Umozb0FaaWpGUHg3MFk5NkFHWW94VC93QWFNZTlBRE1VWXArUGVqSCcgK1xuICAgICAgICAndlFBekZHS2ZqM294NzBBTXhSaW40OTZNZTlBRE1VWXArUGVqSHZRQXpGR0tmK05HUGVnQm1LTVUvSHZSajNvQVppakZQeDcwWTk2QUdZb3hUOGU5R1BlZ0JtS01VL0h2Umozb0FaaWpGUCcgK1xuICAgICAgICAneDcwWTk2QUdZb3hUOGU5R1BlZ0JtS01VL0h2U1k5NkFHNG94VHNIMW9vQVppZ2luMFVBUjRwTVZKaWtOQURDS1RGUDIwMGlnQnBGTklwOUlSUUF3aWt4VHNVbURRQS9GTFJTZ1VBR0tjQicgK1xuICAgICAgICAnUUJUZ0tBQUNseFJTZ1VBSmlseFM0cGNVQUppakZPeFJpZ0JNVVlwMUZBRGNVWXAxRkFEY1ViYWRSUUEzRkdLZFJRQTNGR0tkUlFBM0ZHS2RSUUEzYlJ0cDFGQURjVVlwMUZBRGNVWXAxRicgK1xuICAgICAgICAnQURjVVlwMUZBRGNVWXAxRkFEY1ViYWRSUUEzRkdLZFJRQTNiUnRwMUZBRGNVWXAxRkFEY1VZcDFGQURjVVlwMUZBRGR0R0tkUlFBM0ZHS2RSUUEzRkdLZFJRQTNGRzJuVVVBTnhSaW5VVScgK1xuICAgICAgICAnQU54UmluVVVBTnhSaW5VVUFOMjBZcDFGQURjVVlwMUZBRGNVWXAxRkFEY1VZcDFGQURjVVlwMUZBRGNVWXAxRkFEY1ViYWRSUUEzRkdLZFJRQTNGRzJuVVVBTjIwWXAxRkFEY1VZcDFGQScgK1xuICAgICAgICAnRGR0R0tkUlFBM2JSdHAxRkFEZHRHMm5VVUFOeFJpblVVQU4yMFlwMUZBRGNVYmFkUlFBM0ZHMm5VVUFOMjBZcDFGQURjVVlwMUZBRGR0RzJuVVVBTjIwYmFkUlFBM0ZHS2RSUUEzYlJpbicgK1xuICAgICAgICAnVVVBTjIwYmFkUlFBM2JSdHAxRkFEY1VZcDFGQURkdEdLZFJRQTNiUnRwMUZBRGR0RzJuVVVBTjIwYmFkUlFBM0ZHMm5VVUFOMjBiYWRSUUEzYlJpblVVQU54UnRwMUZBRGR0RzJuVVVBTicgK1xuICAgICAgICAneFNZcDlKaWdCdUtURlB4U1lvQVlSUlRzVWhGQURjVTAwK2tJb0FqTkpUeUthUlFBMDBVdEppZ0JSVGhTQ25nVUFMaWxwS2NCUUFBVTRDZ0NseFFBVXRHS1VDZ0JNVXVLWEZHS0FFeFJpbCcgK1xuICAgICAgICAneFM0b0FUQXBNQ25ZcGNVQU53S01DbHhTNG9BWmdVdUJUc1VtS0FFd0tNQ25Zb3hRQTNGR0JTNHBjVUFNd0tYQXBjVXVLQUdZRkxnVXVLTVVBSmdVbUJUOFVZb0FaZ1VZRlB4UmlnQm1CUicgK1xuICAgICAgICAnZ1UvRkppZ0J1QlM0Rk94UmlnQnVCUmdVN0ZHS0FHNEZKZ1UvRkdLQUc0RkpnVS9GR0tBRzRGSmdVL0ZHS0FHWUZMZ1U3RkdLQUc0RkpnVS9GR0tBRzRGSmdVL0ZHS0FHWUZMZ1U3RkdLQScgK1xuICAgICAgICAnR1lGR0JUOFVZb0FaZ1VZRlB4UmlnQm1CUzRGT3hSaWdCbUJTNEZPeFJpZ0J1QlNZRlB4UmlnQm1CUzRGT3hSaWdCbUJTNEZPeFJpZ0J1QlJnVTdGR0tBR1lGTGdVN0ZHS0FHWUZMZ1U3RicgK1xuICAgICAgICAnR0tBRzRGR0JUc1VVQU13S01DbjRveFFBM0Fvd0tkaWpGQURjQ2t3S2ZpakZBRGNDakFwMktNVUFOd0tNQ25Zb3hRQXpBcGNDbllveFFBM0FwTUNuNG94UUEzQW93S2RpakZBRGNDakFwMicgK1xuICAgICAgICAnS01VQU53S01DbllveFFBM0Fvd0tkaWpGQURjQ2t3S2ZpakZBRGNDakFwMktNVUFOd0tNQ25Zb3hRQTNBb3dLZGlqRkFEY0NqQXAyS01VQU53S01DbllveFFBM0Fvd0tkaWpGQURjQ2pBcCcgK1xuICAgICAgICAnMktNVUFOd0tNQ25Zb3hRQXpBb3dLZmlqRkFEY0Nrd0tmaWpGQURjQ2pBcDJLTVVBTXdLWEFwMktNVUFOd0tUQXArS01VQU13S1hBcDJLTVVBTndLVEFwK0tNVUFOd0tUQXArS01VQU53SycgK1xuICAgICAgICAnVEZQeFJpZ0JtS01VdUtYRkFES0tjUlNFVUFOcENLZGlrSW9BWVJTVThpbWtVQU5JcHBwOU5Jb0FaaWtweHB0QURoVHhUUlRoUUFvRk9GSUtjS0FGcGFLVUNnQUZMaWlsb0FLV2lsb0FTbCcgK1xuICAgICAgICAnb29vQUtLTVVVQUZGRkZBQlJSUlFBVVVVWW9BS0tLTVVBRkZHS0tBQ2lpaWdBb29veFFBVVVZb29BS0tLS0FDaWpGRkFCUlJSaWdBb294UlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRicgK1xuICAgICAgICAnQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBZmhSUlJRQVVVVVVBSDRVVVVVQScgK1xuICAgICAgICAnRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUmlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWpGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRicgK1xuICAgICAgICAnRkFCUlJSUUFVVVVVQUppakZMUlFBMmtwOU5OQURjVWxPcENLQUdta05PcERRQkdhUTA0ODBob0FZYWJUalRhQUhDbjAwVTZnQndwd3BvcHdvQVduQ2tGS0tBRnAxSlMwQUZGRkxRQVVZcCcgK1xuICAgICAgICAnYUtBRXhSaWxvb0FURkdLV2lnQk1VWXBhS0FFeFJpbG9vQVRIdlJqM3BhS0FFeDcwWXBhS0FFeFJpbG9vQVRGR0tXaWdCTVVZcGFLQUV4Umlsb29BVEZHS1dpZ0JNVVlwYUtBRXhSaWxvbycgK1xuICAgICAgICAnQVRGR0tXaWdCTVVZcGFLQUV4Umlsb29BVEZHS1dpZ0JNVXVLS0tBREZKaWxvb0FURkdLV2lnQk1lOUxpaWlnQk1VdUtLS0FFeFM0b29vQVRGTGlpaWdBeFNZcGFLQUV4Umlsb29BVEZMaScgK1xuICAgICAgICAnaWlnQk1VdUtLS0FFeFJpbG9vQU1VbUtXaWdCTVVZcGFLQUV4Umlsb29BVEZHS1dpZ0JNVVlwYUtBRXhSajNwYUtBRXhSajNwYUtBRXhSaWxvb0FURkdLV2lnQk1lOUdLV2lnQk1lOUdLVycgK1xuICAgICAgICAnaWdCTWU5R1BlbG9vQVRGR0tXaWdCTVVZcGFLQUV4NzBZcGFLQUV4Umlsb29BVEZHS1dpZ0JNVVlwYUtBRXhSajNwYUtBRXhSajNwYUtBRXhSajNwYUtBRXhSaWxvb0FURkdLV2lnQk1VWScgK1xuICAgICAgICAnOTZXaWdCTVVZcGFLQUV4Umlsb29BVEZHS1dpZ0JNVVlwYUtBRXhSaWxvb0FUSHZSaWxvb0FTa3AxSlFBbEZGRkFEYVEwNDBob0FZYVEwNDAwMEFOTk5wNXBuZWdCcHB0T1BlbTBBT0ZPNycgK1xuICAgICAgICAnMDBVNGRhQUhEclQrMU5GT29BVVVvcEJUaFFBb3BhS0tBRnBhUVV0QUIxcGFLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQScgK1xuICAgICAgICAnS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZycgK1xuICAgICAgICAnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLSycgK1xuICAgICAgICAnQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FURkZMU1VBSWFTbE5JYUFDbW1uVTAwQU5OSlNta29BYWFZZXRQTk1OQUNHbTA0MDJnQlJUeFRCVHhRQTRVNicgK1xuICAgICAgICAnbWluVUFLT2xQSFdtRHBUaDFvQWRSUlJRQW9wYVFVdEFDMFVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRicgK1xuICAgICAgICAnQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVScgK1xuICAgICAgICAnVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUicgK1xuICAgICAgICAnUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVbExTVUFCNlUybkhwVGFBQ2tOTFNHZ0JwcHRPTk5vQVEwdzA4MHcwQU5OTnB4cHRBQ2luaW1DbmlnQndwMU5GT29BVWRLZCcgK1xuICAgICAgICAnM3BCMHBSMW9BZFJSUlFBb3BhUVV0QUMwVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVScgK1xuICAgICAgICAnVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUicgK1xuICAgICAgICAnUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRicgK1xuICAgICAgICAnRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVsTFNVQUI2VTAwNDlLYWFBQ2tOTFNHZ0JwcHRPTk5vQVEwdzA4MHcwQU5OTnB4cHRBQ2luaW1DbmlnQndwMU5GT29BVWRLZU90TUhTbmpyUScgK1xuICAgICAgICAnQXRGRkFvQVVVdElLV2dCYUtLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQScgK1xuICAgICAgICAnb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQScgK1xuICAgICAgICAnQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vbycgK1xuICAgICAgICAnQUtLS0tBQ2lpaWdBb29vb0FLU2xwS0FBOUthYWQycHBvQUtRMHRJYUFHbW0wNDk2YlFBaHBocDVwaG9BYWFiVGozcHRBQ2luaW1DbmlnQndwMU5GT29BVWRLY090TkhTbkRyUUE2aWlnVScgK1xuICAgICAgICAnQUtLV2tGTFFBdEZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRicgK1xuICAgICAgICAnRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQScgK1xuICAgICAgICAnVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQScgK1xuICAgICAgICAnQlJSUlFBVVVVVUFGSlMwbEFBZWxOcHg2VTAwQUZJYVdrTkFEVFRhY2U5Tm9BYWFhYWNhYWFBR21tMDQwMmdCUlR4VEJUeFFBNFV0SUtXZ0J3NlU4ZGFZT2xQSFdnQmFCUlFLQUZGTFNDbCcgK1xuICAgICAgICAnb0FXaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0FvbycgK1xuICAgICAgICAnb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaScgK1xuICAgICAgICAnaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BSycgK1xuICAgICAgICAnS0tLQUNrcGFTZ0E3VTAwN3RUVFFBVWhwYVEwQU5OTnB4NzAyZ0JEVERUelREUUEwMDJuR20wQUtLZUtZS2ZRQTRVdElLV2dCdzZVOGRhWU9sT29BZFJSUlFBb3BhUVV0QUMwVVVVQUZGRicgK1xuICAgICAgICAnRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVScgK1xuICAgICAgICAnVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUicgK1xuICAgICAgICAnUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVsTFNVQScgK1xuICAgICAgICAnQjZVMDA0OUthYUFDa05MU0dnQnBwdE9OTm9BUTB3MDgwdzBBTk5OcHhwdEFDaW5pbUNuaWdCd3BhUVU2Z0JSMHB3cG82VThkYUFGb29vb0FVVXRJS1dnQmFLS0tBQ2lpaWdBb29vb0FLSycgK1xuICAgICAgICAnS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBbycgK1xuICAgICAgICAnb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQycgK1xuICAgICAgICAnaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS1NscEtBRHRUVFRqMHBwbycgK1xuICAgICAgICAnQUtRMHRJZTFBRFRUYWNhYlFBaHBocDVwaG9BYWFiVGpUYUFGRlBGTUZQSGVnQndwMU5GT29BVWRLY0tRZEtVZGFBSFVVVVVBS0tXa0ZMUUF0RkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUScgK1xuICAgICAgICAnQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRicgK1xuICAgICAgICAnQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVWWnM3UTNVaHljSXZVMEFWcUszUDdPdHR1TmgrdWFwejZXNjVhSnR3L3VuclFCbjBVcktVYmF3SUk3R2tvQUtLSycgK1xuICAgICAgICAnS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0FvbycgK1xuICAgICAgICAnb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2twYVNnQVBTbW1uSHBUVFFBVWhwYVEwQU5OTnB4cHRBQ0dtR25tbUdnQnBwdE9OTm9BVVU4VXdVOFVBT0ZPcG9wMUFDanBUeDFwZzZVNGRhQScgK1xuICAgICAgICAnSFVVVVVBS0tXa0ZMUUF0RkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVScgK1xuICAgICAgICAnVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJRQVNjRGsxcldXbnFpaDVnQzU2QTlCUUJrMFYwYndSU0x0YU5TUHBXSGQyLzJlYycgK1xuICAgICAgICAnb1B1bmxmcFFCQlJSUlFBVVVVVUFGYTJrc3BoZGU0YkpySnA4VXp3U2IwT0RRQjBsSlZDRFU0M3dKUnNQcjJxK3JCaGtFRUh2UUJGUGJSWEM0ZGVleEhXc2U2c3BMYm43eWYzaC9XdDZrSScgK1xuICAgICAgICAnQkdDTWlnRG1hSzBielQ5bVpJUjh2ZGZUNlZuVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVScgK1xuICAgICAgICAnVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkpTMGxBQWVsTk5PUFNtMEFGSWFXa05BRFRUYWNhYlFBalV3MDgwdzBBTk5OcHhwdEFDaW5pbScgK1xuICAgICAgICAnQ25pZ0J3cDFORk9vQVVkS2NPdElPbEtPdEFEcUtLS0FGRkxTQ2xvQVdpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaScgK1xuICAgICAgICAnaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2daSndCa21nQWtnRGttdGV4c2ZLQWtsR1g3RCcgK1xuICAgICAgICAnMG9BTEd4OG9DU1FEZjJIcFYraWxvQVNzalZ2K1BoUDl6K3RiRlkrcmY4ZkNmN245YUFLRkZGRkFCUlJUbzQybGtDSU1rMEFOb3JXVFNZd3Z6dXhQdHhVTStsdW9MUk52SG9ldEFHZlU5dicgK1xuICAgICAgICAnZFMyNStVNVh1cDZWQ3lzckVNQ0NPeHBLQU4rMnU0N2xmbDRidXA2MVBYTks3SXdaVGdqb2EyYk85RndOajRFZy9XZ0M0YXk3K3gyNW1pSEg4U2p0NzFxMGhHUlFCek5GWEwrMDhpVGVnLycgK1xuICAgICAgICAnZHQraHFuUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVScgK1xuICAgICAgICAnVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlNVdEpRQWRxYWFjZWxOTkFCU0dscERRQTA5S2JUalRhQUVOTU5QTk1OQURUVGFjZTlOb0FVVThVd1U4VUFPRk9wb3AxQUNqcFR4VEIwcHc2MCcgK1xuICAgICAgICAnQU9vRkZGQUNpbHBCUzBBTFJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQScgK1xuICAgICAgICAnRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkdDU0FCeWFBTW5BNm10ZXhzZktIbVNEOTRlZzlLQUN4c1JFQkpJUG43RDBxL1JSUUF0RkZGQUJXUCcgK1xuICAgICAgICAncTMvSHduKzUvV3Rlc2pWditQaFA5eit0QUZDaWlpZ0FxOXBlUHRKejEyOFZScDBidEU0ZERoaFFCMGxGVWJmVW81TUxMOGpldmFyd09Sa1VBUXoyc2R3dUhIUFpoMUZZMXpheVd6WVlaVScgK1xuICAgICAgICAnOUdIZXVncGtrYXlvVWNaQm9BNXVsVmlqQmxKQkhURlQzZHExdEpqcWg2R3E5QUc3WlhRdVkrZUhYcVA2MVpybllKbWdsRHIyNmoxcm9JNUZsalYxNkVVQUpMRXMwYkl3NElybjVvbWhsYScgK1xuICAgICAgICAnTnVvUDUxMGRaK3FXKzZNVEtQbVhnL1NnREpvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQScgK1xuICAgICAgICAnb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2twYVEwQUI2VTAwN3RUVFFBVWhwYVEwQU5OTnB4cHRBQ0dtR25tbUdnQnBwdE9QZW1VQU9GUEZNRlBvQWNLZCcgK1xuICAgICAgICAnVFJUcUFGSFNuRHJUUjBwdzYwQU9vb29vQVVVdElLV2dCYUtLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaScgK1xuICAgICAgICAnZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0FvclZ0ZE9qQ0I1aHVZL3crbFd2c050L3p5V2dEQW9yZit3MjMvUEphUHNOdC93QThsb0F3S0J5YycgK1xuICAgICAgICAnRGtudFcvOEFZYmIvQUo1TFNwYVFSdUdTTUJoME5BRmF4c2ZLQWtrR1g3RDBxL1JTMEFGRkZGQUJSU1V0QUJXUHEzL0h3bis1L1d0aXNmVnYrUGhQOXordEFGQ2lpaWdBb3E3QnBza3FCbicgK1xuICAgICAgICAnYllEMEdNbWxsMHVWQmxHRGoweGcwQVVhczIxN0pia0RPNU82bXF4QlVrTUNDT3hvb0E2T0daSm93NkhJcVN1ZXRibHJhVU1PVlAzaDYxdkk2eUlIVTVVaklOQURaNFZuaUtOMzZIME5ZRScgK1xuICAgICAgICAnc2JSU01qREJCcm82ejlVdDl5Q1pSeXZCK2xBR1RXanBkeHRjd3NlRHl2MXJPcFVjbzZ1cDVCelFCMHRJeWgxS2taQkdEU1JPSklsY2RHR2FmUUJ6YzBSaG1hTS93bW1Wb2FyRmlSSlIzRycgK1xuICAgICAgICAnRFdmUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQScgK1xuICAgICAgICAnRkZGRkFCUlJSUUFVVVVVQUZKUzBsQUFlbE5OT1BTbW1nQXBEUzBob0FhYWJUalRhQUVOTU5PTk5OQURUM3B0T05Ob0FVVSttQ25pZ0J3cGFRVTZnQlIwcDQ2MDBkS2NPdEFDMENpZ1VBSycgK1xuICAgICAgICAnS1drRkxRQXRGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRicgK1xuICAgICAgICAnRkFCUlJSUUFVVVVVQUZGRkZBQlNwOTlmcUtTbkovckYrb29BNlFkS1drRkxRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQldQcTMvSHduKzUvV3Rpc2ZWditQaFA5eit0QUZDcExjQicgK1xuICAgICAgICAncmlNTjBMRE5SMEE0T1IxRkFIVENsclB0TlFXUUJKVHRmcG5zYXY1b0FyWGRtbHdoUFNRZEdyRWRHamNvd3dSd1JYUzFtNnBiaGtFeWprY045S0FNcXRIUzdqREdCandlVnJPcDBibU9SWCcgK1xuICAgICAgICAnWHFwelFCMHROZFE2RlQwSXdhRVlPaXNPaEdhZFFCelVpR09Wa1BWVGltMWQxT1BiZGJ1ekROVXFBTmpTNWQxdVVKNVEvcFYrc2JTbnhjc3ZabHJab0FwNmpIdnMyUGRlYXhLNk9aZDhMcicgK1xuICAgICAgICAnNmdpdWNvQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLSycgK1xuICAgICAgICAnS0FDaWlpZ0Fvb29vQUtLS0tBQ2twYVNnQTdVMDA3dFRUUUFVaHBhUTBBTlBTbTA0OTZiUUFocGhwNXBob0FhYWJUalRhQUZGUEZNRlBGQURoVHFhS2RRQW82VThkYVlPbFBIV2dCYUtLSycgK1xuICAgICAgICAnQUhDaWtGTFFBdEZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRicgK1xuICAgICAgICAnRkZGQUJSUlJRQVVVVVVBRkZGRkFCVGsvMWkvVVUybkovckYrb29BNlFVdEpTMEFGRkZGQUJSUlJRQVVVVVVBRkZKUzBBRkZGRkFCV1BxMy9BQjhKL3VmMXJYckkxYi9qNFQvYy9yUUJRbycgK1xuICAgICAgICAnb29vQUswdE51eVc4aHprWStVL3dCS3phbHRTUmR4WS92aWdEb3FaSWdralpUMEl4VDZTZ0RtU0NyRUhxT0tLa3VCaTVsSCswYWpvQTNkUGZmWnA3Y1ZhcWpwZi9IcWY5NDFlb0F6TldYNScgK1xuICAgICAgICAnSTI5eUt5NjE5Vy80OWsvMy93Q2hySW9Bc1dCMjNzZnVjZnBXL1hQV2YvSDVGL3ZDdWhvQVExemJqRWpEMEpycERYT1RmOGZFbisrZjUwQU1vb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQScgK1xuICAgICAgICAnQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtTbHBLQUE5S2FhZDJwcCcgK1xuICAgICAgICAnb0FCU0h0UzBoN1VBTk5OcHhwdEFDR21Hbm1tR2dCcHBsUFBlbVVBT0ZQRk1GUEZBRGhUcWFLZFFBbzZVOFV3ZEtlT3RBQzBVVVVBS0tXa0ZMUUF0RkZGQUJSUlJRQVVVVVVBRkZGRkFCUicgK1xuICAgICAgICAnUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJUay8xaS9VVTJuSicgK1xuICAgICAgICAnL3JGK29vQTZRVXRJS1dnQW9vcEtBRm9vb29BS0tLS0FDaWlpZ0Fvb29vQUt4OVcvNCtFLzNQNjFzVmo2dC94OEovdWYxb0FvVVVVVUFGV3RQaE1sMHJZK1ZPVFNXMWxKY0hkOTJQMVA5SycgK1xuICAgICAgICAnMllJRWdqMklPUDUwQVMwaDRHYVdxbC9QNU5zM1B6TndLQU1XUnQ4ck42a21tMFVkNkFOclRGeGFEM0pOWGFpZ2o4cUJFN2dWSlFCbjZzMzdtTWVyVmsxb2FxK1pVVDBHYXo2QUo3SVp2WScgK1xuICAgICAgICAndnJYUVZoNll1NjhCL3VnbXR5Z0JEWE55bk16bjFZbXVqZHRxRStnelhORTVKUHJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRicgK1xuICAgICAgICAnQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkpTMGxBQjJwcHB4NlUwMEFGSWFXa1BhZ0JwcHRPTk5vQVEwdzA4MHcwQU5OTScgK1xuICAgICAgICAncDU3MDJnQlJUeFRCVHhRQTRVNm1pblVBS09sUEZNSFNuanJRQXRIZWlpZ0JSUzBncGFBRm9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BSycgK1xuICAgICAgICAnS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS2NuK3NYNmltMEE0SUk2aWdEcGhTMURCTXM4UWRTT2VvOUttb0FLS0tLQScgK1xuICAgICAgICAnQ2lpaWdCS1dpaWdBb29vb0FLS0tLQUNzZlZ2K1BoUDl6K3RiRlkrcmY4ZkNmN245YUFLRlBoUVNUb2g2RmdLWlNxeFJndzZnNUZBSFNLb1ZRQU1BZEJUcXFXOS9ES2czTUVidUNjVXMxLycgK1xuICAgICAgICAnQkVQdkJ6NktjMEFXSGRZMExzUUFPcHJCdTdnM014Ym9vNFVVWE4zSmN0endvNktLZ29BS3RhZkFacmtFajVVNU5WbFV1d1ZSa25nQVZ2V2x1TGFFTC9BQkhsajcwQVQwVXRWYjZmeUxZNCcgK1xuICAgICAgICAnUHpOd0tBTWk3bDg2NWR1MmNDb2FLS0FOVFNZK0pKRDNPQlduVUZwRDVOc2k5OFpQMXFlZ0N2ZXY1ZG5JZStNVmdWcTZ0SmlOSWdlU2Ntc3FnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLSycgK1xuICAgICAgICAnS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS1NscEtBQTlLYWFjZScgK1xuICAgICAgICAnbE5OQUFLUTlxV2tQYWdCcHB0T05Ob0FhYWFhZWFZYUFHbW1VODB5Z0J3cDRwZ3A0b0FjS2RUUlRxQUZIU25qclRSMHB3NjBBTFJSUlFBNFVVQ2lnQmFLS0tBQ2lpaWdBb29vb0FLS0tLQScgK1xuICAgICAgICAnQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdCeVNQRycgK1xuICAgICAgICAnMlVZcWZZMUo5c3VmK2V6L0FKMURSUUJOOXN1Zitlei9BSjBmYkxuL0FKN1ArZFEwVUFUZmJMbi9BSjdQK2RQanZyaEhERnl3SFVFOWFyVVVBZEZCT2s4WWREOVI2VkxYTzI5dzl2SnZUcCcgK1xuICAgICAgICAnM0hyVzdCT2s4WWREOVI2VUFTMFVsTFFBVVVVVUFGWStyZjhmQ2Y3bjlhMkt4OVcvNCtFLzNQNjBBVUtLS0tBQ2lpaWdBcFZVdXdWUVN4NkNyTnZZelQ0T05xZXByVnQ3U0szSHlqTGQyUCcgK1xuICAgICAgICAnV2dDS3lzaGJqZS9NaC9TcmxGRkFBU0FDVHdCV0RlM0gyaWNrZmNYaGF0YWplWnpER2Y4QWVJL2xXYlFBVlpzSVBPdVJrZkt2SnFzQVNjQVpOYjFuYi9aNFFEOTQ4c2FBTEFvcGFxMzAvaycgK1xuICAgICAgICAnVzVJUHpOd0tBTXE5bDg2NlpnZmxIeWlxOUZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRicgK1xuICAgICAgICAnRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVsTFNkNkFBOUthYWNlbE5OQUFLUTB0SWFBR21tMDQwMmdCRFREVHpURFFBMDB5bm1tVUFPRlBGTUZQRkFEaFRxYScgK1xuICAgICAgICAnS2RRQW82VThkYVlPbFBIV2dCYUtLQlFBNFVVZ3BhQUZvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQScgK1xuICAgICAgICAnQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNwYmU0ZTNrRHFlTzQ5YWlvb0E2S0NkTGlNT2grbzlLbHJuYmU0ZTNrMycgK1xuICAgICAgICAnSjA3ajFyZGduU2VNT2grbzlLQUphS0tLQUNzZlZ2K1BoUDl6K3RiRlkrcmY4QUh3bis1L1dnQ2hSUlJRQVZiMCtGWmJuNWhrS000OTZxVlBaM0F0N2dNZnVuZzBBYjlGTlNSSFVNckFqMScgK1xuICAgICAgICAnRlF6M3NNQUlac3Q2THpRQllKeDE2Vm1YdW9jR0tFL1Yvd0RDcTF6ZlNYSHlnN1U5QlZXZ0Fvb3E3WldSbVlTU0RFWTZEMW9BbDAyMHlSUElPUDRSL1d0V2tBeHdPbEZBQjBGWVY5Y2ZhSicgK1xuICAgICAgICAnemcvSXZBcTdxTjFzVHlVUHpOOTQrZ3JKb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQScgK1xuICAgICAgICAnS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQXBLV2tvQUQwcHBwM2FtbWdBcEQycGFROXFBR21tMDQwMmdCRFREVHpURFFBMDAybkdtVUFPRlBGTUZQRkFEaCcgK1xuICAgICAgICAnVHFhS2RRQW82VThkYVlPbFBIV2dCYUJSUlFBb3BhUVV0QUMwVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRicgK1xuICAgICAgICAnRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVZMYjNEMjhtOU9uY2RqVVZGQUhSUVRwUEdIUS9VZWxTMScgK1xuICAgICAgICAnenR2Y1BieUJsUEhjZXRic0U2WEVZZEQ5UjZVQVMxajZ0L3g4Si91ZjFyWHJGMU9SWkxvQWZ3cmcvV2dDblJSUlFBVVVVVUFBSkhRNG9vb29BS0J5Y0RyVm1DeG5tNTI3VjlXclV0cktLMycgK1xuICAgICAgICAnd1FOei93QjQwQVZMVFRpY1NUakE3Si9qV29BQU1BY1VVdEFDVld2TG9XMGZxNSs2S1c2dTB0MDU1YzlGckRra2FhUXU1eVRRQWpNWFlzeHlTY2swbEZGQUJSUlJRQVVVVVVBRkZGRkFCUicgK1xuICAgICAgICAnUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRicgK1xuICAgICAgICAnSlMwbEFBZWxOTk9QU21tZ0FwRDJwYVE5cUFHbW0wNDAyZ0JEVERUelREUUEwMHlubW1VQU9GUEZNRlBGQURoVHFhS2RRQW82VThkYVlPbFBGQUM5cUtLS0FGRkxRS0tBRm9vb29BS0tLSycgK1xuICAgICAgICAnQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vbycgK1xuICAgICAgICAnb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtmRk5KQTI2TnNVeWlnQzArbzNEcnQzQWU2akZWZnJSUlFBVVVVVUFGRkZGQUJXanBsc3JscFhHY0hBQnJPclMwdTRWZDBMSCcgK1xuICAgICAgICAnQkp5S0FOU2xwS3J6M2tNSDNteTM5MGRhQUxGVWJ2VVZqeWtYelA2OWhWRzR2NVo4cVBsVDBGVmFBRlptZGl6RWxqMUpwS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQycgK1xuICAgICAgICAnaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDa3BhU2dBUFNtbScgK1xuICAgICAgICAnbkhwVFRRQVVoN1VvcERRQTAwMm5HbTBBSWFZYWNhYWFBR21tMDQweWdCd3A0cGdwNG9BY0tkVFJUcUFGSFNuanJUQjBwNDYwQUxSUlJRQW9wYUJSUUF0RkZGQUJSUlJRQVVVVVVBRkZGRicgK1xuICAgICAgICAnQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVScgK1xuICAgICAgICAnVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFTZWZOdDIrYStQVGNham9vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQycgK1xuICAgICAgICAnaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0FwS1drbycgK1xuICAgICAgICAnQUQwcHBweDZVMDBBRkllMUxTR2dCcHB0T05Ob0FRMHcwODB3MEFOTk1wNXBsQURoVHhUQlR4UUE0VTZtaW5VQUtPbFBIV21EcFR4MW9BV2lpaWdCd29wQlMwQUxSUlJRQVVVVVVBRkZGRicgK1xuICAgICAgICAnQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVScgK1xuICAgICAgICAnVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUicgK1xuICAgICAgICAnUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlNVdEpRQUhwVFRUaicgK1xuICAgICAgICAnMHBwb0FCU0h0UzBoN1VBTk5OcHg3MDJnQkRURFR6VERRQTAweW5udlRLQUhDbmltQ25pZ0J3cDFORk9vQVVkS2VLWU9sUEhXZ0JhS0tLQUZGTFNDbG9BV2lpaWdBb29vb0FLS0tLQUNpaScgK1xuICAgICAgICAnaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLSycgK1xuICAgICAgICAnS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBbycgK1xuICAgICAgICAnb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDa3BhU2dBN1UwMDQ5S2FhQScgK1xuICAgICAgICAnQ2tOS0tROXFBR21tMDQwMmdCRFREVHpURFFBMDAybkdtMEFLS2VLWUtlS0FIQ25VMFU2Z0JSMHA0cGc2VThkYUFGbzcwVVVBS0tXa0ZMUUF0RkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUScgK1xuICAgICAgICAnQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRicgK1xuICAgICAgICAnQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVScgK1xuICAgICAgICAnVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZKUzBsQUFlbE5OTzdVMDBBQXBEMnBSUycgK1xuICAgICAgICAnSHRRQTAwMm5HbTBBSWFZYWVhWWFBR21tVTgweWdCd3A0NzB3VThVQU9GT3BvcDFBQ2pwVHgxcG82VTRkYUFGb0ZGRkFDaWxvRkZBQzBVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUicgK1xuICAgICAgICAnUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRicgK1xuICAgICAgICAnRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVScgK1xuICAgICAgICAnVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVWxMU2Q2QUE5S2FhY2VsTk5BQUtRMHRJYUFHbScgK1xuICAgICAgICAnbTA0MDJnQkRURFR6VERRQTAweW5tbVVBT0ZQRk1GUEZBRGhUcWFLZFFBbzZVOGRhWU9sUEhXZ0JhS0tCUUE0VVVncGFBRm9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vbycgK1xuICAgICAgICAnQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaScgK1xuICAgICAgICAnZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLSycgK1xuICAgICAgICAnS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBb29vb0FLS0tLQUNpaWlnQW9vb29BS0tLS0FDaWlpZ0Fvb29vQUtLS0tBQ2lpaWdBcEtXa29BRDBwcHAzYW1tZ0FwRDJwUlNIdFFBMDAybkdtMCcgK1xuICAgICAgICAnQUlhWWFlYVlhQUdtbTA0MHlnQndwNHBncDRvQWNLZFRSVHFBRkhTbmpyVEIwcDQ2MEFMUlJSUUFvcGFRVXRBQzBVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQScgK1xuICAgICAgICAnQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVScgK1xuICAgICAgICAnQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUicgK1xuICAgICAgICAnUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVWxMU0dnQVBTbW1uZHFhYUFDa1BhbHBEMm9BYWFiVGpUYUFFTk1OUCcgK1xuICAgICAgICAnTk1OQURUVEtlYWJRQW9wNHBncHdvQWVLZFRSVHFBRkhTbmpyVEIwcDQ2MEFMMm9vb29BY0tLUVV0QUMwVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUScgK1xuICAgICAgICAnQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRicgK1xuICAgICAgICAnQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVVVScgK1xuICAgICAgICAnVUFGRkZGQUJSUlJRQVVVVVVBRkZGRkFCUlJSUUFVVVVVQUZGRkZBQlJSUlFBVVVVVUFGRkZGQUJSUlJRQVVsTFNVQUI2VTAwcDZVaG9BS1E5cVVVaG9BYWFiVGpUYUFFTk1OUE5NTkFEVCcgK1xuICAgICAgICAnM3BsUE5Nb0FjS2NPdE5GT29BZU90T3BncHdvQWNPbE9GTkZPRkFEaFJTQ2xvQVdscEtLQUZIU2xwdExtZ0JhS1ROR2FBRm9wTTBab0FXaWt6Um1nQmFLVE5HYUFGb3BNMFpvQVdpa3pSbScgK1xuICAgICAgICAnZ0JhS1ROR2FBRm9wTTBab0FXaWt6Um1nQmFLVE5HYUFGb3BNMFpvQVdpa3pSbWdCYUtUTkdhQUZvcE0wWm9BV2lrelJtZ0JhS1ROR2FBRm9wTTBab0FXaWt6Um1nQmFLVE5HYUFGb3BNMCcgK1xuICAgICAgICAnWm9BV2lrelJtZ0JhS1ROR2FBRm9wTTBab0FXaWt6Um1nQmFLVE5HYUFGb3BNMFpvQVdpa3pSbWdCYUtUTkdhQUZvcE0wWm9BV2lrelJtZ0JhS1ROR2FBRm9wTTBab0FXaWt6Um1nQmFLVCcgK1xuICAgICAgICAnTkdhQUZvcE0wWm9BV2lrelJtZ0JhS1ROR2FBRm9wTTBab0FXaWt6Um1nQmFLVE5HYUFGb3BNMFpvQVdpa3pSbWdCYUtUTkdhQUZvcE0wWm9BV2lrelJtZ0JhS1ROR2FBRm9wTTBab0FXaScgK1xuICAgICAgICAna3pSbWdCYUtUTkdhQUZvcE0wWm9BV2lrelJtZ0JhS1ROR2FBRm9wTTBab0FXaWt6Um1nQmFLVE5HYUFGb3BNMFpvQVdpa3pSbWdCYUtUTkdhQUZvcE0wWm9BS0tLU2dBTklhV2tvQVNrTicgK1xuICAgICAgICAnTFNHZ0JwcEtVMGxBRFRURFR6VEQxb0FRMHluSHZUYUFGRlBwZ05Qb0FjRHpUcVlLZUtBRkZPQnB0S0tBSFU2bTVwUWFBRnBhU2lnQmMwVW1hS0FIVVUzTkdhQUhVVTJqTkFEcUtibWpOQScgK1xuICAgICAgICAnRHFLYm1qTkFEcUtibWpOQURxS2Jtak5BRHFLYlJtZ0IxRk56Um1nQjFGTnpSbWdCMUZOelJtZ0IxRk56Um1nQjFGTnpSbWdCMUZOelJtZ0IxRk56Um1nQjFGTnpSbWdCMUZOelJtZ0IxRicgK1xuICAgICAgICAnTnpSbWdCMUZOelJtZ0IxRk56Um1nQjFGTnpSbWdCMUg0MDNOR2FBSFVVM05HYUFIVVUzTkdhQUhVVTNOR2FBSFVVM05HYUFIVVUzTkdhQUhVVTNOR2FBSFVVM05HYUFIVVUzTkdhQUhVVScgK1xuICAgICAgICAnM05HYUFIVVUzTkdhQUhVVTNOR2FBSFVVM05HYUFIVVUzTkdhQUhVVTNOR2FBSFVVM05HYUFIVWZqVGMwWm9BZFJUYzBab0FkUlRjMFpvQWRSK05OelJtZ0IxRk56Um1nQjFGTnpSbWdCMScgK1xuICAgICAgICAnRk56Um1nQjFGTnpSbWdCMUZOelJtZ0IxRk56Um1nQjFGTnpSbWdCMUZOelJtZ0IxRk56Um1nQjFGTnpSbWdCMUZOelJtZ0IxRk56Um1nQjFGTnpSbWdCMUZOelJtZ0IxRk56Um1nQjFGTicgK1xuICAgICAgICAnelJtZ0IxRk56Um1nQjFGTnpSbWdCMUpTWm9vQVdnMG1hS0FDaWlrelFBVTBtbHBwTkFDR2tOTFNHZ0JwcHRPTk5vQWFhYlRpYVptZ0JSVDZZS2NLQUhnMDRVd1U0R2dCOUZOelRxQUZCcCcgK1xuICAgICAgICAnMU1wUWFBSDVvelRjMHVhQUhVVTNOTG4zb0FXaWt6NzBaOTZBRm9wTSs5R2ZlZ0JhS1RQdlJuM29BV2lrejcwWjk2QUZvcE0rOUdhQUZvcE0rOUdmZWdCYUtUTkdmZWdCYUtUUHZSbjNvQScgK1xuICAgICAgICAnV2lrejcwWjk2QUZvcE0rOUdmZWdCYUtUTkdmZWdCYUtUUHZSbjNvQVdpa3pSbjNvQVdpa3pSbWdCYUtUTkdmZWdCYUtUUHZSbWdCYUtUTkdmZWdCYUtUTkdhQUZvcE0rOUdmZWdCYUtUTicgK1xuICAgICAgICAnR2ZlZ0JhS1ROR2ZlZ0JhS1RQdlJtZ0JhS1RQdlJtZ0JhS1RQdlJuM29BV2lrelJuM29BV2lrelJtZ0JhS1ROR2ZlZ0JhS1ROR2FBRm9wTSs5R2FBRm9wTSs5R2ZlZ0JhS1ROR2ZlZ0JhSycgK1xuICAgICAgICAnVE5HYUFGb3BNKzlHYUFGb3BNMFpvQVdpa3o3MFo5NkFGb3BNMFpvQVdpa3o3MFpvQVdpa3o3MFpvQVdpa3pSbWdCYUtUTkdhQUZvcE0rOUdhQUZvcE0wWm9BV2lrejcwWm9BV2lrelJtZycgK1xuICAgICAgICAnQmFLVE5HZmVnQmFLVE5HYUFGb3BNKzlHYUFGb3BNMFpvQVdpa3pSbWdCYUtUUHZSbWdCYUtUTkdhQUZvcE0wWjk2QUZvcE0rOUdmZWdCYUtUUHZSbjNvQVdpa3o3MFpvQVdpa3o3MFpvQScgK1xuICAgICAgICAnV2lrelJuM29BV2lrejcwWjk2QUZvcE0rOUdmZWdCYVNrelJtZ0JjMGxKbWdtZ0FKcHRGRkFCVFRTazAwbWdCQ2FhYVUwMG1nQkRUYVUwMmdCUlRoVEJUZ2FBSGcwdE5CcGMwQVBCcFFhWScgK1xuICAgICAgICAnRFRnYUFIMFUzTkxtZ0IyYU0wMmxvQVhOTG1tMFVBUHpSbW1ab29BZm1relRjMFVBUHpTWnB1YU0wQVB6U1pwdEdhQUhab3pUYzBab0FkbWpOTnpSbWdCMmFNMDNOR2FBSDVwTTAzTkdhQScgK1xuICAgICAgICAnSFpvelRjMFpvQWRtak5OelJtZ0IyYU0wM05HYUFIWm96VGMwWm9BZG1qTk56Um1nQjJhTTAzTkdhQUhab3pUYzBab0FmbWt6VGMwVUFQelJtbVpvelFBL05KbW01b3pRQTdOTG1tWm9vQScgK1xuICAgICAgICAnZG1qTk5vb0FkbWx6VE0wWm9BZm1relRjMFpvQWRtak5OelJRQTdOR2FibWpOQURzMFpwdWFLQUhab3pUYzBab0FkbWpOTm96UUE3TkdhYm1pZ0IyYVhOTXpSbWdCK2FNMHpOR2FBSDVveicgK1xuICAgICAgICAnVE0wWm9BZm1relRjMFpvQWRtbHpUTTBVQU96Um1tMFpvQWZta3pUYzBVQU96Um1tMFVBT3pSbW0wVUFPelJtbTBab0FkbWpOTnpSbWdCK2FUTk5velFBN05HYWJSbWdCMUdhYlJtZ0IrYScgK1xuICAgICAgICAnVE5OelJRQTdOTG1tVVVBT3pTNXBsR2FBSFpwYzB5aWdCMmFYTk1velFBN05HYWJtak5BRDgwbWFibWlnQjJhWE5Nb29BZlJtbVVab0FkbWpOTnpSUUE2ak5Ob29BZG1qTk56Um1nQithVCcgK1xuICAgICAgICAnTk56UlFBN05MbW1VVUFPelJtbTBVQU96Um1tNW96UUE3TkdhYm1pZ0JjMFpwS0tBRkpwS00wbWFBRnBwTkdhUW1nQUpwdEdhVE5BQWFhYVVtbWswQUlUU1VHaWdCS1dtZzBvTkFEd2FjRCcgK1xuICAgICAgICAnVWRPQm9BZlMwek5MbWdCK2FYTk1wYUFINW96VE0wdWFBSFpwYzB6TkdhQUg1b3lLWm1qTkFEODBaRk16Um1nQithTWltWm96UUEvTkdhWm1qTkFEODBacG1hTTBBUHpSbW1ab3pRQS9ORycgK1xuICAgICAgICAnYVptak5BRDgwWnBtYU0wQVB6Um1tWm96UUEvTkdhWm1qTkFEODBacG1hTTBBUHpSbW1ab3pRQS9OR2FabWpOQUQ4MFpwbWFNKzlBRDhpak5NelJtZ0IrUlJrVXpOR2FBSDVGR2FabWpOQScgK1xuICAgICAgICAnRDgwWnBtYU0wQVB6Um1tWm96UUEvSW96VE0wWm9BZmtVWkZNelJtZ0IrYU0wek5HYUFINUZHUlRNMFpvQWZtak5NelJtZ0IrYU1pbVpvelFBL0lveUtabWpOQUQ4MFpGTXpSbWdCK2FNaScgK1xuICAgICAgICAnbVo5Nk0wQVB6Um1tWm96UUEvTkdSVE0wWm9BZmtVWnBtYU0wQVB6UmtVek5HYUFINW95S1ptak5BRDhpaklwbWFNMEFQeUtNaW1ab3pRQS9OR2FabWpOQUQ4aWpJcG1hTTBBUHlLTWltWicgK1xuICAgICAgICAnb3pRQS9OR1JUTTBab0Fma1VacG1hTTBBUHlLTWltWm96UUEvSW95S1ptak5BRDhpaklwbWFNMEFQelJrVXpOR2FBSDVGR1JUTTBab0FmbWpJcG1hTTBBUHlLTWltWm96UUEvSW95S1ptaicgK1xuICAgICAgICAnTkFEODBacG1hTTBBUHlLTWltWm96UUEvSW95S1ptak5BRDhpaklwbWFNMEFQeUtNMHpOR2FBSDVvelRNMFpvQWZtaklwbWFNMEFQelJtbVpvelFBL05HUlRNMFpvQWZrVVpGTXpSbWdCKycgK1xuICAgICAgICAnYU0wek5HYUFIWm96VGMwWm9BY1RTWnB1YUtBRkpwTTBsSm1nQmFRbWpOTkpvQUNhYWFLU2dBTkZJYVROQUNBMDRVd1Vvb0FmUzAwVW9vQWRUczB5aWdCNE5MbW1VQ2dDVE5HYVpTMEFPLycgK1xuICAgICAgICAnQ2o4S2JSUUE3TkxtbVVVQU96UzVwbEZBRHMwWnB0RkFEOCsxR2FaUm1nQithTTB5aWdCK2FNMHlqTkFEODBacGxGQUQ4MFo5cVpSUUE3TkxtbVpvelFBL05HYVpSUUEvTkdhWm1pZ0IrYScgK1xuICAgICAgICAnTTB5ak5BRDgwWnBtYVROQUVtYU0wek5KbWdDVE5HYWp6Um1nQ1ROR2FabWt6UUJKbWpOTXpSbWdCK2FNMUhtak5BRW1hTTFIbWpOQUVtYU0wek5KbWdDVE5HYWp6UzVvQWZtak5SNXBjMCcgK1xuICAgICAgICAnQVB6Um1tWm96UUEvTkdhWm1relFCSm1qTlI1cGMwQVB6Um1vODBab0FrelJtbzgwWm9Ba3pSbW1acE0wQVNab3pVZWFNMEFTWm96VE0wbWFBSk0wWnFQTkdhQUpNMFpxUE5HYUFKTTBacScgK1xuICAgICAgICAnUE5MbWdCK2FNMHpOSm1nQithWE5NelNab0FrelJtbzgwdWFBSDVvelRNMFpvQWZtak5SNXBjMEFQelJtbVpvelFBL05HYVpta3pRQkptak5SNXBjMEFQelJtbzgwWm9Ba3pSbW84MHVhQScgK1xuICAgICAgICAnSDVvelVlYVhOQUQ4MFpwbWFUTkFFbWFNMUhtbHpRQS9OR2FabWpOQUQ4MFpwbWFUTkFFbWFNMUhtbHpRQS9OR2FabWpOQUQ4MFpxUE5MbWdCK2FNMUhtak5BRW1hTTB6TkptZ0NUTkdhaicgK1xuICAgICAgICAnelJtZ0NUTkdhWm1qTkFEODBacG1hTTgwQVB6Um1vODBab0FrelJtbVpwTTBBU1pwTTAzTkdhQUhmaFJuMnB1YVNnQithUW1tMGxBRHMwWnB0SlFBcHBLS1EwQUZJVFNtbUdnQUpvcERSUScgK1xuICAgICAgICAnQi8vOWs9JztcbiAgICB9XG59O1xuXG5cblxuLyoqKioqKioqKioqKioqKioqXG4gKiogV0VCUEFDSyBGT09URVJcbiAqKiAuL3NyYy9iaXRkYXNoLWNvbnRyb2xsZXIuanNcbiAqKiBtb2R1bGUgaWQgPSAxXG4gKiogbW9kdWxlIGNodW5rcyA9IDBcbiAqKi8iLCIndXNlIHN0cmljdCc7XG5cbi8qKlxuICogQG5nSW5qZWN0XG4gKi9cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKCR3aW5kb3cpIHtcbiAgICAvLyBkaXJlY3RpdmUgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIHJldHVybiB7XG4gICAgICAgIHJlc3RyaWN0OiAnRUEnLFxuICAgICAgICByZXBsYWNlOiB0cnVlLFxuICAgICAgICBjb250cm9sbGVyOiAnTWlCaXRkYXNoQ29udHJvbGxlcicsXG4gICAgICAgIGNvbnRyb2xsZXJBczogJ2JpdGRhc2hWbScsXG4gICAgICAgIHRlbXBsYXRlVXJsOiAnbWkvdGVtcGxhdGUvYml0ZGFzaC1wbGF5ZXIuaHRtbCcsXG4gICAgICAgIHNjb3BlOiB7XG4gICAgICAgICAgICBjb25maWc6ICc9JyxcbiAgICAgICAgICAgIHdlYmNhc3Q6ICc9JyxcbiAgICAgICAgICAgIG9wdGlvbnM6ICc9PydcblxuICAgICAgICB9LFxuICAgICAgICBsaW5rOiBmdW5jdGlvbiAoc2NvcGUpIHtcbiAgICAgICAgICAgIHZhciBjb25maWcgPSBzY29wZS5jb25maWc7ICAvLyBkaWUgY29uZmlnIHdpcmQgYXV0b21hdGlzY2ggZHVyY2ggZGVuIGNvbnRyb2xsZXIgZXJ3ZWl0ZXJ0XG4gICAgICAgICAgICB2YXIgcGxheWVyID0gJHdpbmRvdy53aW5kb3cuYml0ZGFzaCgnbWktYml0ZGFzaC1wbGF5ZXInKTtcbiAgICAgICAgICAgIC8vIHRlY2ggc3VwcG9ydCAtIGZsYXNoIGFuZCBobHNcbiAgICAgICAgICAgIHZhciBzdXBwb3J0ZWRUZWNoID0gcGxheWVyLmdldFN1cHBvcnRlZFRlY2goKTtcbiAgICAgICAgICAgIC8vIGZvcmNlIEhMUyAvIEZsYXNoIHBsYXliYWNrIGlmIGF2YWlsYWJsZVxuICAgICAgICAgICAgdmFyIGhsc1RlY2ggPSBbXTtcbiAgICAgICAgICAgIHZhciBmbGFzaEZvcmNlID0gZmFsc2U7XG4gICAgICAgICAgICB2YXIgY3VlcG9pbnRzU3VwcG9ydGVkID0gZmFsc2U7XG5cbiAgICAgICAgICAgIGFuZ3VsYXIuZm9yRWFjaChzdXBwb3J0ZWRUZWNoLCBmdW5jdGlvbiAodGVjaCkge1xuICAgICAgICAgICAgICAgIGlmICh0ZWNoLnN0cmVhbWluZyA9PT0gJ2hscycpIHtcbiAgICAgICAgICAgICAgICAgICAgaGxzVGVjaC5wdXNoKHRlY2gucGxheWVyICsgJy4nICsgdGVjaC5zdHJlYW1pbmcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpZiAoaGxzVGVjaC5pbmRleE9mKCdmbGFzaC5obHMnKSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICBmbGFzaEZvcmNlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBjdWVwb2ludHNTdXBwb3J0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoaGxzVGVjaC5pbmRleE9mKCduYXRpdmUuaGxzJykgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgZmxhc2hGb3JjZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGN1ZXBvaW50c1N1cHBvcnRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgLy8gVG9EbyBjaGVjayBmb3IgQW5kcm9pZCwgQW5kcm9pZCBkb2VzIG5vdCBzdXBwb3J0IEN1ZVBvaW50cyB2aWEgSFRNTDVcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHBsYXllci5pc1JlYWR5KCkgJiYgIWZsYXNoRm9yY2UpIHtcbiAgICAgICAgICAgICAgICAvLyBmdW5rdGlvbmllcnQgZGVyemVpdCBudXIgZsO8ciBkZW4gTk9OLUZsYXNoIC4uLiBmbGFzaGllIHNlbGJzdCBmw6RsbHQgc2VociBsYXV0IGhpbiAuLi4gRHJlY2tcbiAgICAgICAgICAgICAgICBwbGF5ZXIuZGVzdHJveSgpO1xuICAgICAgICAgICAgICAgIHBsYXllciA9ICR3aW5kb3cud2luZG93LmJpdGRhc2goJ21pLWJpdGRhc2gtcGxheWVyJyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChmbGFzaEZvcmNlKSB7XG4gICAgICAgICAgICAgICAgcGxheWVyLnNldHVwKGNvbmZpZywgJ2ZsYXNoLmhscycpOyAgLy8gVG9EbyBjaGVjayBkb2NzIGZvciB0aGF0IGZ1bm55IHBhcmFtZXRlclxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBwbGF5ZXIuc2V0dXAoY29uZmlnKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIHN0YXRlID0gc2NvcGUud2ViY2FzdC5zdGF0ZSArICdTdGF0ZURhdGEnO1xuICAgICAgICAgICAgaWYgKGFuZ3VsYXIuaXNEZWZpbmVkKHNjb3BlLndlYmNhc3Rbc3RhdGVdLnBsYXlvdXQuYXVkaW9Pbmx5KSAmJiBzY29wZS53ZWJjYXN0W3N0YXRlXS5wbGF5b3V0LmF1ZGlvT25seSkge1xuICAgICAgICAgICAgICAgIHZhciBiaXRtb3ZpbkNvbnRyb2xiYXIgPSBhbmd1bGFyLmVsZW1lbnQoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnYml0ZGFzaC12YycpKTtcbiAgICAgICAgICAgICAgICBiaXRtb3ZpbkNvbnRyb2xiYXJbMF0uc3R5bGUubWluSGVpZ2h0ID0gJzMwcHgnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcbn07XG5cblxuXG5cblxuXG5cbi8qKioqKioqKioqKioqKioqKlxuICoqIFdFQlBBQ0sgRk9PVEVSXG4gKiogLi9zcmMvYml0ZGFzaC1kaXJlY3RpdmUuanNcbiAqKiBtb2R1bGUgaWQgPSAyXG4gKiogbW9kdWxlIGNodW5rcyA9IDBcbiAqKi8iXSwic291cmNlUm9vdCI6IiJ9 \ No newline at end of file diff --git a/dist/mi-angular-bitdash-player.min.js b/dist/mi-angular-bitdash-player.min.js index f88a893..3d93413 100644 --- a/dist/mi-angular-bitdash-player.min.js +++ b/dist/mi-angular-bitdash-player.min.js @@ -1 +1 @@ -!function(A){function U(o){if(F[o])return F[o].exports;var K=F[o]={exports:{},id:o,loaded:!1};return A[o].call(K.exports,K,K.exports,U),K.loaded=!0,K.exports}var F={};return U.m=A,U.c=F,U.p="",U(0)}([function(A,U,F){"use strict";var o=F(1),K=F(2);A.exports=angular.module("mi.BitdashPlayer",["mi/template/bitdash-player.html"]).controller("MiBitdashController",o).directive("miBitdashPlayer",K),angular.module("mi/template/bitdash-player.html",[]).run(["$templateCache",function(A){A.put("mi/template/bitdash-player.html",'
')}])},function(A,U){"use strict";A.exports=function(A,U){function F(A){var U=A.state+"StateData";g.config.source=o(A,U),g.config.style=i(A,U)}function o(A,U){return A.useDVRPlaybackInPostlive===!0&&"postlive"===A.state?K(A):R(A,U)}function K(A){return{hls:A.liveStateData.playout.hlsUrl.replace("/master.m3u8","Dvr/master.m3u8?DVR"),dash:A.liveStateData.playout.dashUrl.replace("/playlist.m3u8","Dvr/playlist.m3u8?DVR")}}function R(A,U){return{hls:A[U].playout.hlsUrl,dash:A[U].playout.dashUrl}}function i(U,F){var o={width:"100%",autoHideControls:!0};return angular.isDefined(U[F].playout.audioOnly)&&U[F].playout.audioOnly?(A.showAudioOnlyStillImage=!0,A.audioOnlyStillImageUrl=B(),o.autoHideControls=!1,o.height="30px",angular.isDefined(U[F].playout.audioOnlyStillUrl)&&""!==U[F].playout.audioOnlyStillUrl&&(A.audioOnlyStillImageUrl=U[F].playout.audioOnlyStillUrl)):o.aspectratio="16:9",o}function B(){return"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD//gA+Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcgSlBFRyB2ODApLCBkZWZhdWx0IHF1YWxpdHkK/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMPFB0aHx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEcITIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgCewRpAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A9BFKBQBTgKAAClopcUAJilxTsUoFADcUuKdilxQAzFLinUUANxRinYPrRg+tADcUYp+PejHvQAzFGKfj3ox70AMxRin/AI0fjQAzFGKfj3ox70AMxRin496Me9ADMUYp+PejHvQAzFGKfj3ox70AMxRin496Me9ADMUYp+PejHvQAzFGKfj3ox70AMxRin/jRj3oAZijFPx70Y96AGYoxT8e9GPegBmKMU/HvRj3oAZijFPx70Y96AGYoxT8e9GKAGYoxT8e9GPegBmKMU/HvRj3oAZijFPx70Y96AGYoxT8UY96AGYoxT8e9GPegBmKMU/HvRj3oAZijFPx70Y96AGYoxT8e9GPegBmKMU/HvRj3oAZijFPx70Y96AGYoxT8e9GPegBmKMU/HvRj3oAZijFPxRj3oAZijFPx70Y96AGYoxT8e9GPegBmKMU/FGPegBmKMU/HvRj3oAZijFPx70Y96AGYoxT8e9GPegBmKMU/HvRj3oAZijFPx70Y96AGYoxT8e9GPegBmKMU/HvRj3oAZijFPx70Y96AGYoxT8e9GPegBmKMU/HvRj3oAZijFPx70Y96AGYoxT8e9GPegBmKMU/HvRj3oAZijFPx70Y96AGYoxT/wAaMe9ADMUYp+PejHvQAzFGKfj3ox70AMxRin496Me9ADMUYp+PejHvQAzFGKf+NGPegBmKMU/HvRj3oAZijFPx70Y96AGYoxT8e9GPegBmKMU/HvRj3oAZijFPx70Y96AGYoxT8e9GPegBmKMU/HvSY96AG4oxTsH1ooAZigin0UAR4pMVJikNADCKTFP200igBpFNIp9IRQAwikxTsUmDQA/FLRSgUAGKcBQBTgKAAClxRSgUAJilxS4pcUAJijFOxRigBMUYp1FADcUYp1FADcUbadRQA3FGKdRQA3FGKdRQA3FGKdRQA3bRtp1FADcUYp1FADcUYp1FADcUYp1FADcUYp1FADcUbadRQA3FGKdRQA3bRtp1FADcUYp1FADcUYp1FADcUYp1FADdtGKdRQA3FGKdRQA3FGKdRQA3FG2nUUANxRinUUANxRinUUANxRinUUAN20Yp1FADcUYp1FADcUYp1FADcUYp1FADcUYp1FADcUYp1FADcUbadRQA3FGKdRQA3FG2nUUAN20Yp1FADcUYp1FADdtGKdRQA3bRtp1FADdtG2nUUANxRinUUAN20Yp1FADcUbadRQA3FG2nUUAN20Yp1FADcUYp1FADdtG2nUUAN20badRQA3FGKdRQA3bRinUUAN20badRQA3bRtp1FADcUYp1FADdtGKdRQA3bRtp1FADdtG2nUUAN20badRQA3FG2nUUAN20badRQA3bRinUUANxRtp1FADdtG2nUUANxSYp9JigBuKTFPxSYoAYRRTsUhFADcU00+kIoAjNJTyKaRQA00UtJigBRThSCngUALilpKcBQAAU4CgClxQAUtGKUCgBMUuKXFGKAExRilxS4oATApMCnYpcUANwKMClxS4oAZgUuBTsUmKAEwKMCnYoxQA3FGBS4pcUAMwKXApcUuKAGYFLgUuKMUAJgUmBT8UYoAZgUYFPxRigBmBRgU/FJigBuBS4FOxRigBuBRgU7FGKAG4FJgU/FGKAG4FJgU/FGKAG4FJgU/FGKAGYFLgU7FGKAG4FJgU/FGKAG4FJgU/FGKAGYFLgU7FGKAGYFGBT8UYoAZgUYFPxRigBmBS4FOxRigBmBS4FOxRigBuBSYFPxRigBmBS4FOxRigBmBS4FOxRigBuBRgU7FGKAGYFLgU7FGKAGYFLgU7FGKAG4FGBTsUUAMwKMCn4oxQA3AowKdijFADcCkwKfijFADcCjAp2KMUANwKMCnYoxQAzApcCnYoxQA3ApMCn4oxQA3AowKdijFADcCjAp2KMUANwKMCnYoxQA3AowKdijFADcCkwKfijFADcCjAp2KMUANwKMCnYoxQA3AowKdijFADcCjAp2KMUANwKMCnYoxQA3AowKdijFADcCjAp2KMUANwKMCnYoxQAzAowKfijFADcCkwKfijFADcCjAp2KMUAMwKXAp2KMUANwKTAp+KMUAMwKXAp2KMUANwKTAp+KMUANwKTAp+KMUANwKTFPxRigBmKMUuKXFADKKcRSEUANpCKdikIoAYRSU8imkUANIppp9NIoAZikpxptADhTxTRThQAoFOFIKcKAFpaKUCgAFLiiloAKWiloASloooAKKMUUAFFFFABRRRQAUUUYoAKKKMUAFFGKKACiiigAoooxQAUUYooAKKKKACijFFABRRRigAooxRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAfhRRRQAUUUUAH4UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRiigAooooAKKKKACiiigAooooAKKKKACiijFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAJijFLRQA2kp9NNADcUlOpCKAGmkNOpDQBGaQ0480hoAYabTjTaAHCn00U6gBwpwpopwoAWnCkFKKAFp1JS0AFFFLQAUYpaKAExRilooATFGKWigBMUYpaKAExRilooATHvRj3paKAEx70YpaKAExRilooATFGKWigBMUYpaKAExRilooATFGKWigBMUYpaKAExRilooATFGKWigBMUYpaKAExRilooATFGKWigBMUuKKKADFJilooATFGKWigBMe9LiiigBMUuKKKAExS4oooATFLiiigAxSYpaKAExRilooATFLiiigBMUuKKKAExRilooAMUmKWigBMUYpaKAExRilooATFGKWigBMUYpaKAExRj3paKAExRj3paKAExRilooATFGKWigBMe9GKWigBMe9GKWigBMe9GPelooATFGKWigBMUYpaKAEx70YpaKAExRilooATFGKWigBMUYpaKAExRj3paKAExRj3paKAExRj3paKAExRilooATFGKWigBMUY96WigBMUYpaKAExRilooATFGKWigBMUYpaKAExRilooATHvRilooASkp1JQAlFFFADaQ040hoAYaQ04000ANNNp5pnegBpptOPem0AOFO700U4daAHDrT+1NFOoAUUopBThQAopaKKAFpaQUtAB1paKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooATFFLSUAIaSlNIaACmmnU00ANNJSmkoAaaYetPNMNACGm0402gBRTxTBTxQA4U6minUAKOlPHWmDpTh1oAdRRRQAopaQUtAC0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUlLSUAB6U2nHpTaACkNLSGgBpptONNoAQ0w080w0ANNNpxptACinimCnigBwp1NFOoAUdKd3pB0pR1oAdRRRQAopaQUtAC0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUlLSUAB6U0049KaaACkNLSGgBpptONNoAQ0w080w0ANNNpxptACinimCnigBwp1NFOoAUdKeOtMHSnjrQAtFFAoAUUtIKWgBaKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKSlpKAA9Kaad2ppoAKQ0tIaAGmm0496bQAhphp5phoAaabTj3ptACinimCnigBwp1NFOoAUdKcOtNHSnDrQA6iigUAKKWkFLQAtFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFJS0lAAelNpx6U00AFIaWkNADTTace9NoAaaaacaaaAGmm0402gBRTxTBTxQA4UtIKWgBw6U8daYOlPHWgBaBRQKAFFLSCloAWiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACkpaSgA7U007tTTQAUhpaQ0ANNNpx702gBDTDTzTDQA002nGm0AKKeKYKfQA4UtIKWgBw6U8daYOlOoAdRRRQAopaQUtAC0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUlLSUAB6U0049KaaACkNLSGgBpptONNoAQ0w080w0ANNNpxptACinimCnigBwpaQU6gBR0pwpo6U8daAFooooAUUtIKWgBaKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKSlpKADtTTTj0ppoAKQ0tIe1ADTTacabQAhphp5phoAaabTjTaAFFPFMFPHegBwp1NFOoAUdKcKQdKUdaAHUUUUAKKWkFLQAtFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUVZs7Q3UhycIvU0AVqK3P7OttuNh+uapz6W65aJtw/unrQBn0UrKUbawII7GkoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACkpaSgAPSmmnHpTTQAUhpaQ0ANNNpxptACGmGnmmGgBpptONNoAUU8UwU8UAOFOpop1ACjpTx1pg6U4daAHUUUUAKKWkFLQAtFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRQAScDk1rWWnqih5gC56A9BQBk0V0bwRSLtaNSPpWHd2/2ecoPunlfpQBBRRRQAUUUUAFa2ksphde4bJrJp8UzwSb0ODQB0lJVCDU43wJRsPr2q+rBhkEEHvQBFPbRXC4deexHWse6spLbn7yf3h/Wt6kIBGCMigDmaK0bzT9mZIR8vdfT6VnUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFJS0lAAelNNOPSm0AFIaWkNADTTacabQAjUw080w0ANNNpxptACinimCnigBwp1NFOoAUdKcOtIOlKOtADqKKKAFFLSCloAWiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACgZJwBkmgAkgDkmtexsfKAklGX7D0oALGx8oCSQDf2HpV+iloASsjVv+PhP9z+tbFY+rf8fCf7n9aAKFFFFABRRTo42lkCIMk0ANorWTSYwvzuxPtxUM+luoLRNvHoetAGfU9vdS25+U5Xup6VCysrEMCCOxpKAN+2u47lfl4bup61PXNK7IwZTgjoa2bO9FwNj4Eg/WgC4ay7+x25miHH8Sjt71q0hGRQBzNFXL+08iTeg/dt+hqnQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABSUtJQAdqaacelNNABSGlpDQA09KbTjTaAENMNPNMNADTTace9NoAUU8UwU8UAOFOpop1ACjpTxTB0pw60AOoFFFACilpBS0ALRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFGCSAByaAMnA6mtexsfKHmSD94eg9KACxsREBJIPn7D0q/RRQAtFFFABWPq3/Hwn+5/WtesjVv+PhP9z+tAFCiiigAq9pePtJz128VRp0btE4dDhhQB0lFUbfUo5MLL8jevarwORkUAQz2sdwuHHPZh1FY1zayWzYYZU9GHeugpkkayoUcZBoA5ulVijBlJBHTFT3dq1tJjqh6Gq9AG7ZXQuY+eHXqP61ZrnYJmglDr26j1roI5FljV16EUAJLEs0bIw4Irn5omhlaNuoP510dZ+qW+6MTKPmXg/SgDJooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACkpaQ0AB6U007tTTQAUhpaQ0ANNNpxptACGmGnmmGgBpptOPemUAOFPFMFPoAcKdTRTqAFHSnDrTR0pw60AOooooAUUtIKWgBaKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAorVtdOjCB5huY/w+lWvsNt/zyWgDAorf+w23/PJaPsNt/wA8loAwKBycDkntW/8AYbb/AJ5LSpaQRuGSMBh0NAFaxsfKAkkGX7D0q/RS0AFFFFABRSUtABWPq3/Hwn+5/WtisfVv+PhP9z+tAFCiiigAoq7BpskqBnbYD0GMmll0uVBlGDj0xg0AUas217JbkDO5O6mqxBUkMCCOxooA6OGZJow6HIqSuetblraUMOVP3h61vI6yIHU5UjINADZ4VniKN36H0NYEsbRSMjDBBro6z9Ut9yCZRyvB+lAGTWjpdxtcwseDyv1rOpUco6up5BzQB0tIyh1KkZBGDSROJIlcdGGafQBzc0RhmaM/wmmVoarFiRJR3GDWfQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFJS0lAAelNNOPSmmgApDS0hoAaabTjTaAENMNONNNADT3ptONNoAUU+mCnigBwpaQU6gBR0p4600dKcOtAC0CigUAKKWkFLQAtFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABSp99fqKSnJ/rF+ooA6QdKWkFLQAUUUUAFFFFABRRRQAUUUUAFFFFABWPq3/Hwn+5/WtisfVv+PhP9z+tAFCpLcBriMN0LDNR0A4OR1FAHTClrPtNQWQBJTtfpnsav5oArXdmlwhPSQdGrEdGjcowwRwRXS1m6pbhkEyjkcN9KAMqtHS7jDGBjweVrOp0bmORXXqpzQB0tNdQ6FT0IwaEYOisOhGadQBzUiGOVkPVTim1d1OPbdbuzDNUqANjS5d1uUJ5Q/pV+sbSnxcsvZlrZoAp6jHvs2PdeaxK6OZd8Lr6giucoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACkpaSgA7U007tTTQAUhpaQ0ANPSm0496bQAhphp5phoAaabTjTaAFFPFMFPFADhTqaKdQAo6U8daYOlPHWgBaKKKAHCikFLQAtFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABTk/1i/UU2nJ/rF+ooA6QUtJS0AFFFFABRRRQAUUUUAFFJS0AFFFFABWPq3/AB8J/uf1rXrI1b/j4T/c/rQBQooooAK0tNuyW8hzkY+U/wBKzaltSRdxY/vigDoqZIgkjZT0IxT6SgDmSCrEHqOKKkuBi5lH+0ajoA3dPffZp7cVaqjpf/Hqf941eoAzNWX5I29yKy619W/49k/3/wChrIoAsWB23sfucfpW/XPWf/H5F/vCuhoAQ1zbjEjD0JrpDXOTf8fEn++f50AMooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKSlpKAA9Kaad2ppoABSHtS0h7UANNNpxptACGmGnmmGgBpplPPemUAOFPFMFPFADhTqaKdQAo6U8UwdKeOtAC0UUUAKKWkFLQAtFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABTk/1i/UU2nJ/rF+ooA6QUtIKWgAoopKAFooooAKKKKACiiigAooooAKx9W/4+E/3P61sVj6t/x8J/uf1oAoUUUUAFWtPhMl0rY+VOTSW1lJcHd92P1P9K2YIEgj2IOP50AS0h4GaWql/P5Ns3PzNwKAMWRt8rN6kmm0Ud6ANrTFxaD3JNXaigj8qBE7gVJQBn6s37mMerVk1oaq+ZUT0Gaz6AJ7IZvYvrXQVh6Yu68B/ugmtygBDXNynMzn1YmujdtqE+gzXNE5JPrQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFJS0lAB2pppx6U00AFIaWkPagBpptONNoAQ0w080w0ANNMp5702gBRTxTBTxQA4U6minUAKOlPFMHSnjrQAtHeiigBRS0gpaAFooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKcn+sX6im0A4II6igDphS1DBMs8QdSOeo9KmoAKKKKACiiigBKWiigAooooAKKKKACsfVv+PhP9z+tbFY+rf8fCf7n9aAKFPhQSToh6FgKZSqxRgw6g5FAHSKoVQAMAdBTqqW9/DKg3MEbuCcUs1/BEPvBz6Kc0AWHdY0LsQAOprBu7g3Mxboo4UUXN3Jctzwo6KKgoAKtafAZrkEj5U5NVlUuwVRkngAVvWluLaEL/ABHlj70AT0UtVb6fyLY4PzNwKAMi7l865du2cCoaKKANTSY+JJD3OBWnUFpD5Nsi98ZP1qegCvev5dnIe+MVgVq6tJiNIgeScmsqgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKSlpKAA9KaacelNNAAKQ9qWkPagBpptONNoAaaaaeaYaAGmmU80ygBwp4pgp4oAcKdTRTqAFHSnjrTR0pw60ALRRRQA4UUCigBaKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigBySPG2UYqfY1J9suf+ez/AJ1DRQBN9suf+ez/AJ0fbLn/AJ7P+dQ0UATfbLn/AJ7P+dPjvrhHDFywHUE9arUUAdFBOk8YdD9R6VLXO29w9vJvTp3HrW7BOk8YdD9R6UAS0UlLQAUUUUAFY+rf8fCf7n9a2Kx9W/4+E/3P60AUKKKKACiiigApVUuwVQSx6CrNvYzT4ONqeprVt7SK3HyjLd2PWgCKyshbje/Mh/SrlFFAASACTwBWDe3H2ickfcXhatajeZzDGf8AeI/lWbQAVZsIPOuRkfKvJqsAScAZNb1nb/Z4QD948saALAopaq30/kW5IPzNwKAMq9l866ZgflHyiq9FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUlLSd6AA9KaacelNNAAKQ0tIaAGmm0402gBDTDTzTDQA00ynmmUAOFPFMFPFADhTqaKdQAo6U8daYOlPHWgBaKKBQA4UUgpaAFooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACpbe4e3kDqeO49aiooA6KCdLiMOh+o9Klrnbe4e3k3J07j1rdgnSeMOh+o9KAJaKKKACsfVv+PhP9z+tbFY+rf8AHwn+5/WgChRRRQAVb0+FZbn5hkKM496qVPZ3At7gMfung0Ab9FNSRHUMrAj1FQz3sMAIZst6LzQBYJx16VmXuocGKE/V/wDCq1zfSXHyg7U9BVWgAooq7ZWRmYSSDEY6D1oAl020yRPIOP4R/WtWkAxwOlFAB0FYV9cfaJzg/IvAq7qN1sTyUPzN94+grJoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigApKWkoAD0ppp3ammgApD2paQ9qAGmm0402gBDTDTzTDQA002nGmUAOFPFMFPFADhTqaKdQAo6U8daYOlPHWgBaBRRQAopaQUtAC0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVLb3D28m9OncdjUVFAHRQTpPGHQ/UelS1ztvcPbyBlPHcetbsE6XEYdD9R6UAS1j6t/x8J/uf1rXrF1ORZLoAfwrg/WgCnRRRQAUUUUAAJHQ4ooooAKBycDrVmCxnm527V9WrUtrKK3wQNz/wB40AVLTTicSTjA7J/jWoAAMAcUUtACVWvLoW0fq5+6KW6u0t055c9FrDkkaaQu5yTQAjMXYsxySck0lFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFJS0lAAelNNOPSmmgApD2paQ9qAGmm0402gBDTDTzTDQA00ynmmUAOFPFMFPFADhTqaKdQAo6U8daYOlPFAC9qKKKAFFLQKKAFooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKfFNJA26NsUyigC0+o3Drt3Ae6jFVfrRRQAUUUUAFFFFABWjplsrlpXGcHABrOrS0u4Vd0LHBJyKANSlpKrz3kMH3my390daALFUbvUVjykXzP69hVG4v5Z8qPlT0FVaAFZmdizElj1JpKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACkpaSgAPSmmnHpTTQAUh7UopDQA002nGm0AIaYacaaaAGmm040ygBwp4pgp4oAcKdTRTqAFHSnjrTB0p460ALRRRQAopaBRQAtFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUASefNt2+a+PTcajoooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigApKWkoAD0pppx6U00AFIe1LSGgBpptONNoAQ0w080w0ANNMp5plADhTxTBTxQA4U6minUAKOlPHWmDpTx1oAWiiigBwopBS0ALRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABSUtJQAHpTTTj0ppoABSHtS0h7UANNNpx702gBDTDTzTDQA00ynnvTKAHCnimCnigBwp1NFOoAUdKeKYOlPHWgBaKKKAFFLSCloAWiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACkpaSgA7U0049KaaACkNKKQ9qAGmm0402gBDTDTzTDQA002nGm0AKKeKYKeKAHCnU0U6gBR0p4pg6U8daAFo70UUAKKWkFLQAtFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFJS0lAAelNNO7U00AApD2pRSHtQA002nGm0AIaYaeaYaAGmmU80ygBwp470wU8UAOFOpop1ACjpTx1po6U4daAFoFFFACiloFFAC0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUlLSd6AA9KaacelNNAAKQ0tIaAGmm0402gBDTDTzTDQA00ynmmUAOFPFMFPFADhTqaKdQAo6U8daYOlPHWgBaKKBQA4UUgpaAFooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigApKWkoAD0ppp3ammgApD2pRSHtQA002nGm0AIaYaeaYaAGmm040ygBwp4pgp4oAcKdTRTqAFHSnjrTB0p460ALRRRQAopaQUtAC0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU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"}var g=this;g.config={},angular.isDefined(A.config)&&angular.isDefined(A.config.key)?g.config=A.config:U.error("basic config for bitdash player is missing!"),angular.isDefined(A.webcast)&&F(A.webcast)},A.exports.$inject=["$scope","$log"]},function(A,U){"use strict";A.exports=function(A){return{restrict:"EA",replace:!0,controller:"MiBitdashController",controllerAs:"bitdashVm",templateUrl:"mi/template/bitdash-player.html",scope:{config:"=",webcast:"="},link:function(U){var F=U.config,o=A.window.bitdash("mi-bitdash-player"),K=o.getSupportedTech(),R=[],i=!1,B=!1;angular.forEach(K,function(A){"hls"===A.streaming&&R.push(A.player+"."+A.streaming)}),-1!==R.indexOf("flash.hls")&&(i=!0,B=!0),-1!==R.indexOf("native.hls")&&(i=!1,B=!0),o.isReady()&&!i&&(o.destroy(),o=A.window.bitdash("mi-bitdash-player")),i?o.setup(F,"flash.hls"):o.setup(F);var g=U.webcast.state+"StateData";if(angular.isDefined(U.webcast[g].playout.audioOnly)&&U.webcast[g].playout.audioOnly){var a=angular.element(document.getElementsByClassName("bitdash-vc"));a[0].style.minHeight="30px"}}}},A.exports.$inject=["$window"]}]); \ No newline at end of file +!function(A){function U(o){if(F[o])return F[o].exports;var K=F[o]={exports:{},id:o,loaded:!1};return A[o].call(K.exports,K,K.exports,U),K.loaded=!0,K.exports}var F={};return U.m=A,U.c=F,U.p="",U(0)}([function(A,U,F){"use strict";var o=F(1),K=F(2);A.exports=angular.module("mi.BitdashPlayer",["mi/template/bitdash-player.html"]).controller("MiBitdashController",o).directive("miBitdashPlayer",K),angular.module("mi/template/bitdash-player.html",[]).run(["$templateCache",function(A){A.put("mi/template/bitdash-player.html",'
')}])},function(A,U){"use strict";A.exports=function(A,U){function F(A){var U=A.state+"StateData";angular.isDefined(g.options.forcedState)&&(U=g.options.forcedState+"StateData"),g.config.source=o(A,U),g.config.style=i(A,U)}function o(A,U){return A.useDVRPlaybackInPostlive===!0&&"postliveStateData"===U?K(A):R(A,U)}function K(A){return{hls:A.liveStateData.playout.hlsUrl.replace("/master.m3u8","Dvr/master.m3u8?DVR"),dash:A.liveStateData.playout.dashUrl.replace("/playlist.m3u8","Dvr/playlist.m3u8?DVR")}}function R(A,U){return{hls:A[U].playout.hlsUrl,dash:A[U].playout.dashUrl}}function i(U,F){var o={width:"100%",autoHideControls:!0};return angular.isDefined(U[F].playout.audioOnly)&&U[F].playout.audioOnly?(A.showAudioOnlyStillImage=!0,A.audioOnlyStillImageUrl=B(),o.autoHideControls=!1,o.height="30px",angular.isDefined(U[F].playout.audioOnlyStillUrl)&&""!==U[F].playout.audioOnlyStillUrl&&(A.audioOnlyStillImageUrl=U[F].playout.audioOnlyStillUrl)):o.aspectratio="16:9",o}function B(){return"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD//gA+Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcgSlBFRyB2ODApLCBkZWZhdWx0IHF1YWxpdHkK/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMPFB0aHx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEcITIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgCewRpAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A9BFKBQBTgKAAClopcUAJilxTsUoFADcUuKdilxQAzFLinUUANxRinYPrRg+tADcUYp+PejHvQAzFGKfj3ox70AMxRin/AI0fjQAzFGKfj3ox70AMxRin496Me9ADMUYp+PejHvQAzFGKfj3ox70AMxRin496Me9ADMUYp+PejHvQAzFGKfj3ox70AMxRin/jRj3oAZijFPx70Y96AGYoxT8e9GPegBmKMU/HvRj3oAZijFPx70Y96AGYoxT8e9GKAGYoxT8e9GPegBmKMU/HvRj3oAZijFPx70Y96AGYoxT8UY96AGYoxT8e9GPegBmKMU/HvRj3oAZijFPx70Y96AGYoxT8e9GPegBmKMU/HvRj3oAZijFPx70Y96AGYoxT8e9GPegBmKMU/HvRj3oAZijFPxRj3oAZijFPx70Y96AGYoxT8e9GPegBmKMU/FGPegBmKMU/HvRj3oAZijFPx70Y96AGYoxT8e9GPegBmKMU/HvRj3oAZijFPx70Y96AGYoxT8e9GPegBmKMU/HvRj3oAZijFPx70Y96AGYoxT8e9GPegBmKMU/HvRj3oAZijFPx70Y96AGYoxT8e9GPegBmKMU/HvRj3oAZijFPx70Y96AGYoxT/wAaMe9ADMUYp+PejHvQAzFGKfj3ox70AMxRin496Me9ADMUYp+PejHvQAzFGKf+NGPegBmKMU/HvRj3oAZijFPx70Y96AGYoxT8e9GPegBmKMU/HvRj3oAZijFPx70Y96AGYoxT8e9GPegBmKMU/HvSY96AG4oxTsH1ooAZigin0UAR4pMVJikNADCKTFP200igBpFNIp9IRQAwikxTsUmDQA/FLRSgUAGKcBQBTgKAAClxRSgUAJilxS4pcUAJijFOxRigBMUYp1FADcUYp1FADcUbadRQA3FGKdRQA3FGKdRQA3FGKdRQA3bRtp1FADcUYp1FADcUYp1FADcUYp1FADcUYp1FADcUbadRQA3FGKdRQA3bRtp1FADcUYp1FADcUYp1FADcUYp1FADdtGKdRQA3FGKdRQA3FGKdRQA3FG2nUUANxRinUUANxRinUUANxRinUUAN20Yp1FADcUYp1FADcUYp1FADcUYp1FADcUYp1FADcUYp1FADcUbadRQA3FGKdRQA3FG2nUUAN20Yp1FADcUYp1FADdtGKdRQA3bRtp1FADdtG2nUUANxRinUUAN20Yp1FADcUbadRQA3FG2nUUAN20Yp1FADcUYp1FADdtG2nUUAN20badRQA3FGKdRQA3bRinUUAN20badRQA3bRtp1FADcUYp1FADdtGKdRQA3bRtp1FADdtG2nUUAN20badRQA3FG2nUUAN20badRQA3bRinUUANxRtp1FADdtG2nUUANxSYp9JigBuKTFPxSYoAYRRTsUhFADcU00+kIoAjNJTyKaRQA00UtJigBRThSCngUALilpKcBQAAU4CgClxQAUtGKUCgBMUuKXFGKAExRilxS4oATApMCnYpcUANwKMClxS4oAZgUuBTsUmKAEwKMCnYoxQA3FGBS4pcUAMwKXApcUuKAGYFLgUuKMUAJgUmBT8UYoAZgUYFPxRigBmBRgU/FJigBuBS4FOxRigBuBRgU7FGKAG4FJgU/FGKAG4FJgU/FGKAG4FJgU/FGKAGYFLgU7FGKAG4FJgU/FGKAG4FJgU/FGKAGYFLgU7FGKAGYFGBT8UYoAZgUYFPxRigBmBS4FOxRigBmBS4FOxRigBuBSYFPxRigBmBS4FOxRigBmBS4FOxRigBuBRgU7FGKAGYFLgU7FGKAGYFLgU7FGKAG4FGBTsUUAMwKMCn4oxQA3AowKdijFADcCkwKfijFADcCjAp2KMUANwKMCnYoxQAzApcCnYoxQA3ApMCn4oxQA3AowKdijFADcCjAp2KMUANwKMCnYoxQA3AowKdijFADcCkwKfijFADcCjAp2KMUANwKMCnYoxQA3AowKdijFADcCjAp2KMUANwKMCnYoxQA3AowKdijFADcCjAp2KMUANwKMCnYoxQAzAowKfijFADcCkwKfijFADcCjAp2KMUAMwKXAp2KMUANwKTAp+KMUAMwKXAp2KMUANwKTAp+KMUANwKTAp+KMUANwKTFPxRigBmKMUuKXFADKKcRSEUANpCKdikIoAYRSU8imkUANIppp9NIoAZikpxptADhTxTRThQAoFOFIKcKAFpaKUCgAFLiiloAKWiloASloooAKKMUUAFFFFABRRRQAUUUYoAKKKMUAFFGKKACiiigAoooxQAUUYooAKKKKACijFFABRRRigAooxRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAfhRRRQAUUUUAH4UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRiigAooooAKKKKACiiigAooooAKKKKACiijFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAJijFLRQA2kp9NNADcUlOpCKAGmkNOpDQBGaQ0480hoAYabTjTaAHCn00U6gBwpwpopwoAWnCkFKKAFp1JS0AFFFLQAUYpaKAExRilooATFGKWigBMUYpaKAExRilooATHvRj3paKAEx70YpaKAExRilooATFGKWigBMUYpaKAExRilooATFGKWigBMUYpaKAExRilooATFGKWigBMUYpaKAExRilooATFGKWigBMUuKKKADFJilooATFGKWigBMe9LiiigBMUuKKKAExS4oooATFLiiigAxSYpaKAExRilooATFLiiigBMUuKKKAExRilooAMUmKWigBMUYpaKAExRilooATFGKWigBMUYpaKAExRj3paKAExRj3paKAExRilooATFGKWigBMe9GKWigBMe9GKWigBMe9GPelooATFGKWigBMUYpaKAEx70YpaKAExRilooATFGKWigBMUYpaKAExRj3paKAExRj3paKAExRj3paKAExRilooATFGKWigBMUY96WigBMUYpaKAExRilooATFGKWigBMUYpaKAExRilooATHvRilooASkp1JQAlFFFADaQ040hoAYaQ04000ANNNp5pnegBpptOPem0AOFO700U4daAHDrT+1NFOoAUUopBThQAopaKKAFpaQUtAB1paKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooATFFLSUAIaSlNIaACmmnU00ANNJSmkoAaaYetPNMNACGm0402gBRTxTBTxQA4U6minUAKOlPHWmDpTh1oAdRRRQAopaQUtAC0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUlLSUAB6U2nHpTaACkNLSGgBpptONNoAQ0w080w0ANNNpxptACinimCnigBwp1NFOoAUdKd3pB0pR1oAdRRRQAopaQUtAC0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUlLSUAB6U0049KaaACkNLSGgBpptONNoAQ0w080w0ANNNpxptACinimCnigBwp1NFOoAUdKeOtMHSnjrQAtFFAoAUUtIKWgBaKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKSlpKAA9Kaad2ppoAKQ0tIaAGmm0496bQAhphp5phoAaabTj3ptACinimCnigBwp1NFOoAUdKcOtNHSnDrQA6iigUAKKWkFLQAtFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFJS0lAAelNpx6U00AFIaWkNADTTace9NoAaaaacaaaAGmm0402gBRTxTBTxQA4UtIKWgBw6U8daYOlPHWgBaBRQKAFFLSCloAWiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACkpaSgA7U007tTTQAUhpaQ0ANNNpx702gBDTDTzTDQA002nGm0AKKeKYKfQA4UtIKWgBw6U8daYOlOoAdRRRQAopaQUtAC0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUlLSUAB6U0049KaaACkNLSGgBpptONNoAQ0w080w0ANNNpxptACinimCnigBwpaQU6gBR0pwpo6U8daAFooooAUUtIKWgBaKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKSlpKADtTTTj0ppoAKQ0tIe1ADTTacabQAhphp5phoAaabTjTaAFFPFMFPHegBwp1NFOoAUdKcKQdKUdaAHUUUUAKKWkFLQAtFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUVZs7Q3UhycIvU0AVqK3P7OttuNh+uapz6W65aJtw/unrQBn0UrKUbawII7GkoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACkpaSgAPSmmnHpTTQAUhpaQ0ANNNpxptACGmGnmmGgBpptONNoAUU8UwU8UAOFOpop1ACjpTx1pg6U4daAHUUUUAKKWkFLQAtFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRQAScDk1rWWnqih5gC56A9BQBk0V0bwRSLtaNSPpWHd2/2ecoPunlfpQBBRRRQAUUUUAFa2ksphde4bJrJp8UzwSb0ODQB0lJVCDU43wJRsPr2q+rBhkEEHvQBFPbRXC4deexHWse6spLbn7yf3h/Wt6kIBGCMigDmaK0bzT9mZIR8vdfT6VnUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFJS0lAAelNNOPSm0AFIaWkNADTTacabQAjUw080w0ANNNpxptACinimCnigBwp1NFOoAUdKcOtIOlKOtADqKKKAFFLSCloAWiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACgZJwBkmgAkgDkmtexsfKAklGX7D0oALGx8oCSQDf2HpV+iloASsjVv+PhP9z+tbFY+rf8fCf7n9aAKFFFFABRRTo42lkCIMk0ANorWTSYwvzuxPtxUM+luoLRNvHoetAGfU9vdS25+U5Xup6VCysrEMCCOxpKAN+2u47lfl4bup61PXNK7IwZTgjoa2bO9FwNj4Eg/WgC4ay7+x25miHH8Sjt71q0hGRQBzNFXL+08iTeg/dt+hqnQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABSUtJQAdqaacelNNABSGlpDQA09KbTjTaAENMNPNMNADTTace9NoAUU8UwU8UAOFOpop1ACjpTxTB0pw60AOoFFFACilpBS0ALRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFGCSAByaAMnA6mtexsfKHmSD94eg9KACxsREBJIPn7D0q/RRQAtFFFABWPq3/Hwn+5/WtesjVv+PhP9z+tAFCiiigAq9pePtJz128VRp0btE4dDhhQB0lFUbfUo5MLL8jevarwORkUAQz2sdwuHHPZh1FY1zayWzYYZU9GHeugpkkayoUcZBoA5ulVijBlJBHTFT3dq1tJjqh6Gq9AG7ZXQuY+eHXqP61ZrnYJmglDr26j1roI5FljV16EUAJLEs0bIw4Irn5omhlaNuoP510dZ+qW+6MTKPmXg/SgDJooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACkpaQ0AB6U007tTTQAUhpaQ0ANNNpxptACGmGnmmGgBpptOPemUAOFPFMFPoAcKdTRTqAFHSnDrTR0pw60AOooooAUUtIKWgBaKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAorVtdOjCB5huY/w+lWvsNt/zyWgDAorf+w23/PJaPsNt/wA8loAwKBycDkntW/8AYbb/AJ5LSpaQRuGSMBh0NAFaxsfKAkkGX7D0q/RS0AFFFFABRSUtABWPq3/Hwn+5/WtisfVv+PhP9z+tAFCiiigAoq7BpskqBnbYD0GMmll0uVBlGDj0xg0AUas217JbkDO5O6mqxBUkMCCOxooA6OGZJow6HIqSuetblraUMOVP3h61vI6yIHU5UjINADZ4VniKN36H0NYEsbRSMjDBBro6z9Ut9yCZRyvB+lAGTWjpdxtcwseDyv1rOpUco6up5BzQB0tIyh1KkZBGDSROJIlcdGGafQBzc0RhmaM/wmmVoarFiRJR3GDWfQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFJS0lAAelNNOPSmmgApDS0hoAaabTjTaAENMNONNNADT3ptONNoAUU+mCnigBwpaQU6gBR0p4600dKcOtAC0CigUAKKWkFLQAtFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABSp99fqKSnJ/rF+ooA6QdKWkFLQAUUUUAFFFFABRRRQAUUUUAFFFFABWPq3/Hwn+5/WtisfVv+PhP9z+tAFCpLcBriMN0LDNR0A4OR1FAHTClrPtNQWQBJTtfpnsav5oArXdmlwhPSQdGrEdGjcowwRwRXS1m6pbhkEyjkcN9KAMqtHS7jDGBjweVrOp0bmORXXqpzQB0tNdQ6FT0IwaEYOisOhGadQBzUiGOVkPVTim1d1OPbdbuzDNUqANjS5d1uUJ5Q/pV+sbSnxcsvZlrZoAp6jHvs2PdeaxK6OZd8Lr6giucoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACkpaSgA7U007tTTQAUhpaQ0ANPSm0496bQAhphp5phoAaabTjTaAFFPFMFPFADhTqaKdQAo6U8daYOlPHWgBaKKKAHCikFLQAtFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABTk/1i/UU2nJ/rF+ooA6QUtJS0AFFFFABRRRQAUUUUAFFJS0AFFFFABWPq3/AB8J/uf1rXrI1b/j4T/c/rQBQooooAK0tNuyW8hzkY+U/wBKzaltSRdxY/vigDoqZIgkjZT0IxT6SgDmSCrEHqOKKkuBi5lH+0ajoA3dPffZp7cVaqjpf/Hqf941eoAzNWX5I29yKy619W/49k/3/wChrIoAsWB23sfucfpW/XPWf/H5F/vCuhoAQ1zbjEjD0JrpDXOTf8fEn++f50AMooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKSlpKAA9Kaad2ppoABSHtS0h7UANNNpxptACGmGnmmGgBpplPPemUAOFPFMFPFADhTqaKdQAo6U8UwdKeOtAC0UUUAKKWkFLQAtFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABTk/1i/UU2nJ/rF+ooA6QUtIKWgAoopKAFooooAKKKKACiiigAooooAKx9W/4+E/3P61sVj6t/x8J/uf1oAoUUUUAFWtPhMl0rY+VOTSW1lJcHd92P1P9K2YIEgj2IOP50AS0h4GaWql/P5Ns3PzNwKAMWRt8rN6kmm0Ud6ANrTFxaD3JNXaigj8qBE7gVJQBn6s37mMerVk1oaq+ZUT0Gaz6AJ7IZvYvrXQVh6Yu68B/ugmtygBDXNynMzn1YmujdtqE+gzXNE5JPrQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFJS0lAB2pppx6U00AFIaWkPagBpptONNoAQ0w080w0ANNMp5702gBRTxTBTxQA4U6minUAKOlPFMHSnjrQAtHeiigBRS0gpaAFooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKcn+sX6im0A4II6igDphS1DBMs8QdSOeo9KmoAKKKKACiiigBKWiigAooooAKKKKACsfVv+PhP9z+tbFY+rf8fCf7n9aAKFPhQSToh6FgKZSqxRgw6g5FAHSKoVQAMAdBTqqW9/DKg3MEbuCcUs1/BEPvBz6Kc0AWHdY0LsQAOprBu7g3Mxboo4UUXN3Jctzwo6KKgoAKtafAZrkEj5U5NVlUuwVRkngAVvWluLaEL/ABHlj70AT0UtVb6fyLY4PzNwKAMi7l865du2cCoaKKANTSY+JJD3OBWnUFpD5Nsi98ZP1qegCvev5dnIe+MVgVq6tJiNIgeScmsqgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKSlpKAA9KaacelNNAAKQ9qWkPagBpptONNoAaaaaeaYaAGmmU80ygBwp4pgp4oAcKdTRTqAFHSnjrTR0pw60ALRRRQA4UUCigBaKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigBySPG2UYqfY1J9suf+ez/AJ1DRQBN9suf+ez/AJ0fbLn/AJ7P+dQ0UATfbLn/AJ7P+dPjvrhHDFywHUE9arUUAdFBOk8YdD9R6VLXO29w9vJvTp3HrW7BOk8YdD9R6UAS0UlLQAUUUUAFY+rf8fCf7n9a2Kx9W/4+E/3P60AUKKKKACiiigApVUuwVQSx6CrNvYzT4ONqeprVt7SK3HyjLd2PWgCKyshbje/Mh/SrlFFAASACTwBWDe3H2ickfcXhatajeZzDGf8AeI/lWbQAVZsIPOuRkfKvJqsAScAZNb1nb/Z4QD948saALAopaq30/kW5IPzNwKAMq9l866ZgflHyiq9FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUlLSd6AA9KaacelNNAAKQ0tIaAGmm0402gBDTDTzTDQA00ynmmUAOFPFMFPFADhTqaKdQAo6U8daYOlPHWgBaKKBQA4UUgpaAFooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACpbe4e3kDqeO49aiooA6KCdLiMOh+o9Klrnbe4e3k3J07j1rdgnSeMOh+o9KAJaKKKACsfVv+PhP9z+tbFY+rf8AHwn+5/WgChRRRQAVb0+FZbn5hkKM496qVPZ3At7gMfung0Ab9FNSRHUMrAj1FQz3sMAIZst6LzQBYJx16VmXuocGKE/V/wDCq1zfSXHyg7U9BVWgAooq7ZWRmYSSDEY6D1oAl020yRPIOP4R/WtWkAxwOlFAB0FYV9cfaJzg/IvAq7qN1sTyUPzN94+grJoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigApKWkoAD0ppp3ammgApD2paQ9qAGmm0402gBDTDTzTDQA002nGmUAOFPFMFPFADhTqaKdQAo6U8daYOlPHWgBaBRRQAopaQUtAC0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVLb3D28m9OncdjUVFAHRQTpPGHQ/UelS1ztvcPbyBlPHcetbsE6XEYdD9R6UAS1j6t/x8J/uf1rXrF1ORZLoAfwrg/WgCnRRRQAUUUUAAJHQ4ooooAKBycDrVmCxnm527V9WrUtrKK3wQNz/wB40AVLTTicSTjA7J/jWoAAMAcUUtACVWvLoW0fq5+6KW6u0t055c9FrDkkaaQu5yTQAjMXYsxySck0lFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFJS0lAAelNNOPSmmgApD2paQ9qAGmm0402gBDTDTzTDQA00ynmmUAOFPFMFPFADhTqaKdQAo6U8daYOlPFAC9qKKKAFFLQKKAFooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKfFNJA26NsUyigC0+o3Drt3Ae6jFVfrRRQAUUUUAFFFFABWjplsrlpXGcHABrOrS0u4Vd0LHBJyKANSlpKrz3kMH3my390daALFUbvUVjykXzP69hVG4v5Z8qPlT0FVaAFZmdizElj1JpKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACkpaSgAPSmmnHpTTQAUh7UopDQA002nGm0AIaYacaaaAGmm040ygBwp4pgp4oAcKdTRTqAFHSnjrTB0p460ALRRRQAopaBRQAtFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUASefNt2+a+PTcajoooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigApKWkoAD0pppx6U00AFIe1LSGgBpptONNoAQ0w080w0ANNMp5plADhTxTBTxQA4U6minUAKOlPHWmDpTx1oAWiiigBwopBS0ALRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABSUtJQAHpTTTj0ppoABSHtS0h7UANNNpx702gBDTDTzTDQA00ynnvTKAHCnimCnigBwp1NFOoAUdKeKYOlPHWgBaKKKAFFLSCloAWiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACkpaSgA7U0049KaaACkNKKQ9qAGmm0402gBDTDTzTDQA002nGm0AKKeKYKeKAHCnU0U6gBR0p4pg6U8daAFo70UUAKKWkFLQAtFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFJS0lAAelNNO7U00AApD2pRSHtQA002nGm0AIaYaeaYaAGmmU80ygBwp470wU8UAOFOpop1ACjpTx1po6U4daAFoFFFACiloFFAC0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUlLSd6AA9KaacelNNAAKQ0tIaAGmm0402gBDTDTzTDQA00ynmmUAOFPFMFPFADhTqaKdQAo6U8daYOlPHWgBaKKBQA4UUgpaAFooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigApKWkoAD0ppp3ammgApD2pRSHtQA002nGm0AIaYaeaYaAGmm040ygBwp4pgp4oAcKdTRTqAFHSnjrTB0p460ALRRRQAopaQUtAC0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUlLSGgAPSmmndqaaACkPalpD2oAaabTjTaAENMNPNMNADTTKeabQAop4pgpwoAeKdTRTqAFHSnjrTB0p460AL2ooooAcKKQUtAC0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUlLSUAB6U00p6UhoAKQ9qUUhoAaabTjTaAENMNPNMNADT3plPNMoAcKcOtNFOoAeOtOpgpwoAcOlOFNFOFADhRSCloAWlpKKAFHSlptLmgBaKTNGaAFopM0ZoAWikzRmgBaKTNGaAFopM0ZoAWikzRmgBaKTNGaAFopM0ZoAWikzRmgBaKTNGaAFopM0ZoAWikzRmgBaKTNGaAFopM0ZoAWikzRmgBaKTNGaAFopM0ZoAWikzRmgBaKTNGaAFopM0ZoAWikzRmgBaKTNGaAFopM0ZoAWikzRmgBaKTNGaAFopM0ZoAWikzRmgBaKTNGaAFopM0ZoAWikzRmgBaKTNGaAFopM0ZoAWikzRmgBaKTNGaAFopM0ZoAWikzRmgBaKTNGaAFopM0ZoAWikzRmgBaKTNGaAFopM0ZoAWikzRmgBaKTNGaAFopM0ZoAWikzRmgBaKTNGaAFopM0ZoAWikzRmgBaKTNGaAFopM0ZoAWikzRmgBaKTNGaAFopM0ZoAWikzRmgBaKTNGaAFopM0ZoAWikzRmgBaKTNGaAFopM0ZoAKKKSgANIaWkoASkNLSGgBppKU0lADTTDTzTD1oAQ0ynHvTaAFFPpgNPoAcDzTqYKeKAFFOBptKKAHU6m5pQaAFpaSigBc0UmaKAHUU3NGaAHUU2jNADqKbmjNADqKbmjNADqKbmjNADqKbmjNADqKbRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1H403NGaAHUU3NGaAHUU3NGaAHUU3NGaAHUU3NGaAHUU3NGaAHUU3NGaAHUU3NGaAHUU3NGaAHUU3NGaAHUU3NGaAHUU3NGaAHUU3NGaAHUU3NGaAHUU3NGaAHUU3NGaAHUfjTc0ZoAdRTc0ZoAdRTc0ZoAdR+NNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1FNzRmgB1JSZooAWg0maKACiikzQAU0mlppNACGkNLSGgBpptONNoAaabTiaZmgBRT6YKcKAHg04UwU4GgB9FNzTqAFBp1MpQaAH5ozTc0uaAHUU3NLn3oAWikz70Z96AFopM+9GfegBaKTPvRn3oAWikz70Z96AFopM+9GaAFopM+9GfegBaKTNGfegBaKTPvRn3oAWikz70Z96AFopM+9GfegBaKTNGfegBaKTPvRn3oAWikzRn3oAWikzRmgBaKTNGfegBaKTPvRmgBaKTNGfegBaKTNGaAFopM+9GfegBaKTNGfegBaKTNGfegBaKTPvRmgBaKTPvRmgBaKTPvRn3oAWikzRn3oAWikzRmgBaKTNGfegBaKTNGaAFopM+9GaAFopM+9GfegBaKTNGfegBaKTNGaAFopM+9GaAFopM0ZoAWikz70Z96AFopM0ZoAWikz70ZoAWikz70ZoAWikzRmgBaKTNGaAFopM+9GaAFopM0ZoAWikz70ZoAWikzRmgBaKTNGfegBaKTNGaAFopM+9GaAFopM0ZoAWikzRmgBaKTPvRmgBaKTNGaAFopM0Z96AFopM+9GfegBaKTPvRn3oAWikz70ZoAWikz70ZoAWikzRn3oAWikz70Z96AFopM+9GfegBaSkzRmgBc0lJmgmgAJptFFABTTSk00mgBCaaaU00mgBDTaU02gBRThTBTgaAHg0tNBpc0APBpQaYDTgaAH0U3NLmgB2aM02loAXNLmm0UAPzRmmZooAfmkzTc0UAPzSZpuaM0APzSZptGaAHZozTc0ZoAdmjNNzRmgB2aM03NGaAH5pM03NGaAHZozTc0ZoAdmjNNzRmgB2aM03NGaAHZozTc0ZoAdmjNNzRmgB2aM03NGaAHZozTc0ZoAfmkzTc0UAPzRmmZozQA/NJmm5ozQA7NLmmZooAdmjNNooAdmlzTM0ZoAfmkzTc0ZoAdmjNNzRQA7NGabmjNADs0ZpuaKAHZozTc0ZoAdmjNNozQA7NGabmigB2aXNMzRmgB+aM0zNGaAH5ozTM0ZoAfmkzTc0ZoAdmlzTM0UAOzRmm0ZoAfmkzTc0UAOzRmm0UAOzRmm0UAOzRmm0ZoAdmjNNzRmgB+aTNNozQA7NGabRmgB1GabRmgB+aTNNzRQA7NLmmUUAOzS5plGaAHZpc0yigB2aXNMozQA7NGabmjNAD80mabmigB2aXNMooAfRmmUZoAdmjNNzRQA6jNNooAdmjNNzRmgB+aTNNzRQA7NLmmUUAOzRmm0UAOzRmm5ozQA7NGabmigBc0ZpKKAFJpKM0maAFppNGaQmgAJptGaTNAAaaaUmmk0AITSUGigBKWmg0oNADwacDUdOBoAfS0zNLmgB+aXNMpaAH5ozTM0uaAHZpc0zNGaAH5oyKZmjNAD80ZFMzRmgB+aMimZozQA/NGaZmjNAD80ZpmaM0APzRmmZozQA/NGaZmjNAD80ZpmaM0APzRmmZozQA/NGaZmjNAD80ZpmaM0APzRmmZozQA/NGaZmjNAD80ZpmaM+9AD8ijNMzRmgB+RRkUzNGaAH5FGaZmjNAD80ZpmaM0APzRmmZozQA/IozTM0ZoAfkUZFMzRmgB+aM0zNGaAH5FGRTM0ZoAfmjNMzRmgB+aMimZozQA/IoyKZmjNAD80ZFMzRmgB+aMimZ96M0APzRmmZozQA/NGRTM0ZoAfkUZpmaM0APzRkUzNGaAH5oyKZmjNAD8ijIpmaM0APyKMimZozQA/NGaZmjNAD8ijIpmaM0APyKMimZozQA/NGRTM0ZoAfkUZpmaM0APyKMimZozQA/IoyKZmjNAD8ijIpmaM0APzRkUzNGaAH5FGRTM0ZoAfmjIpmaM0APyKMimZozQA/IoyKZmjNAD80ZpmaM0APyKMimZozQA/IoyKZmjNAD8ijIpmaM0APyKM0zNGaAH5ozTM0ZoAfmjIpmaM0APzRmmZozQA/NGRTM0ZoAfkUZFMzRmgB+aM0zNGaAHZozTc0ZoAcTSZpuaKAFJpM0lJmgBaQmjNNJoACaaaKSgANFIaTNACA04UwUooAfS00UooAdTs0yigB4NLmmUCgCTNGaZS0AO/Cj8KbRQA7NLmmUUAOzS5plFADs0ZptFAD8+1GaZRmgB+aM0yigB+aM0yjNAD80ZplFAD80Z9qZRQA7NLmmZozQA/NGaZRQA/NGaZmigB+aM0yjNAD80ZpmaTNAEmaM0zNJmgCTNGajzRmgCTNGaZmkzQBJmjNMzRmgB+aM1HmjNAEmaM1HmjNAEmaM0zNJmgCTNGajzS5oAfmjNR5pc0APzRmmZozQA/NGaZmkzQBJmjNR5pc0APzRmo80ZoAkzRmo80ZoAkzRmmZpM0ASZozUeaM0ASZozTM0maAJM0ZqPNGaAJM0ZqPNGaAJM0ZqPNLmgB+aM0zNJmgB+aXNMzSZoAkzRmo80uaAH5ozTM0ZoAfmjNR5pc0APzRmmZozQA/NGaZmkzQBJmjNR5pc0APzRmo80ZoAkzRmo80uaAH5ozUeaXNAD80ZpmaTNAEmaM1HmlzQA/NGaZmjNAD80ZpmaTNAEmaM1HmlzQA/NGaZmjNAD80ZqPNLmgB+aM1HmjNAEmaM0zNJmgCTNGajzRmgCTNGaZmjNAD80ZpmaM80APzRmo80ZoAkzRmmZpM0ASZpM03NGaAHfhRn2puaSgB+aQmm0lADs0ZptJQAppKKQ0AFITSmmGgAJopDRQB//9k="}var g=this;g.config={},g.options={},angular.isDefined(A.config)&&angular.isDefined(A.config.key)?g.config=A.config:U.error("basic config for bitdash player is missing!"),angular.isDefined(A.options)&&(g.options=A.options),angular.isDefined(A.webcast)&&F(A.webcast)},A.exports.$inject=["$scope","$log"]},function(A,U){"use strict";A.exports=function(A){return{restrict:"EA",replace:!0,controller:"MiBitdashController",controllerAs:"bitdashVm",templateUrl:"mi/template/bitdash-player.html",scope:{config:"=",webcast:"=",options:"=?"},link:function(U){var F=U.config,o=A.window.bitdash("mi-bitdash-player"),K=o.getSupportedTech(),R=[],i=!1,B=!1;angular.forEach(K,function(A){"hls"===A.streaming&&R.push(A.player+"."+A.streaming)}),-1!==R.indexOf("flash.hls")&&(i=!0,B=!0),-1!==R.indexOf("native.hls")&&(i=!1,B=!0),o.isReady()&&!i&&(o.destroy(),o=A.window.bitdash("mi-bitdash-player")),i?o.setup(F,"flash.hls"):o.setup(F);var g=U.webcast.state+"StateData";if(angular.isDefined(U.webcast[g].playout.audioOnly)&&U.webcast[g].playout.audioOnly){var a=angular.element(document.getElementsByClassName("bitdash-vc"));a[0].style.minHeight="30px"}}}},A.exports.$inject=["$window"]}]); \ No newline at end of file diff --git a/src/bitdash-controller.js b/src/bitdash-controller.js index ff95b2d..b2f168e 100644 --- a/src/bitdash-controller.js +++ b/src/bitdash-controller.js @@ -10,11 +10,15 @@ module.exports = function ($scope, $log) { // copy the basic config ... key is mandatory vm.config = {}; + vm.options = {}; if (angular.isDefined($scope.config) && angular.isDefined($scope.config.key)) { vm.config = $scope.config; } else { $log.error('basic config for bitdash player is missing!'); } + if (angular.isDefined($scope.options)) { + vm.options = $scope.options; + } // check webcast to expand and manipulate the basic bitdash player config if (angular.isDefined($scope.webcast)) { @@ -25,6 +29,11 @@ module.exports = function ($scope, $log) { function processWebcast(webcast) { var stateProperty = webcast.state + 'StateData'; + + if (angular.isDefined(vm.options.forcedState)) { + stateProperty = vm.options.forcedState + 'StateData'; + } + vm.config.source = getPlayerConfigSource(webcast, stateProperty); vm.config.style = getPlayerConfigStyle(webcast, stateProperty); } @@ -32,7 +41,7 @@ module.exports = function ($scope, $log) { // player config - source --------------------------------------------------------------------------------- function getPlayerConfigSource(webcast, state) { - if (webcast.useDVRPlaybackInPostlive === true && webcast.state === 'postlive') { + if (webcast.useDVRPlaybackInPostlive === true && state === 'postliveStateData') { return getDVRPlaybackToPostlive(webcast); } diff --git a/src/bitdash-directive.js b/src/bitdash-directive.js index d6595d8..9a74414 100644 --- a/src/bitdash-directive.js +++ b/src/bitdash-directive.js @@ -13,12 +13,13 @@ module.exports = function ($window) { templateUrl: 'mi/template/bitdash-player.html', scope: { config: '=', - webcast: '=' + webcast: '=', + options: '=?' + }, link: function (scope) { var config = scope.config; // die config wird automatisch durch den controller erweitert var player = $window.window.bitdash('mi-bitdash-player'); - // tech support - flash and hls var supportedTech = player.getSupportedTech(); // force HLS / Flash playback if available diff --git a/test/bitdash-controller.spec.js b/test/bitdash-controller.spec.js index 83604b7..59cd1ab 100644 --- a/test/bitdash-controller.spec.js +++ b/test/bitdash-controller.spec.js @@ -78,10 +78,8 @@ describe('BitdashController', function () { 'videodb_519_76439_7579412_16x9_hd.mp4/master.m3u8'); expect(vm.config.style.autoHideControls).toBeTruthy(); expect(vm.config.style.aspectratio).toBe('16:9'); - }); - it('should configure the player DVR Record in postlive', function () { $scope.webcast.useDVRPlaybackInPostlive = true; var vm = createController(); @@ -104,4 +102,18 @@ describe('BitdashController', function () { expect($scope.audioOnlyStillImageUrl).toContain('data:image/jpeg;base64,'); expect(vm.config.style.aspectratio).toBeUndefined(); }); + + it('should configure the player without forced state', function() { + var vm = createController(); + expect(vm.config.source.hls).toBe('http://hd2.cdn.edge-cdn.net/i/videodb/519/' + + 'videodb_519_76439_7579412_16x9_hd.mp4/master.m3u8'); + expect(vm.config.source.dash).toBe('https://live-origin.edge-cdn.net/webcast/myStream/manifest.mpd'); + }); + + it('should configure the player with forced live state', function() { + $scope.options = {forcedState: 'live'}; + var vm = createController(); + expect(vm.config.source.hls).toBe('https://live-origin.edge-cdn.net/webcast/myStream/master.m3u8'); + expect(vm.config.source.dash).toBe('https://live-origin.edge-cdn.net/webcast/myStream/manifest.mpd'); + }); }); diff --git a/test/bitdash-directive.spec.js b/test/bitdash-directive.spec.js index 3f6ff46..28f1547 100644 --- a/test/bitdash-directive.spec.js +++ b/test/bitdash-directive.spec.js @@ -89,4 +89,78 @@ describe('BitdashDirective', function () { expect(player.destroy).not.toHaveBeenCalled(); expect(player.setup).toHaveBeenCalledWith({foo: 'bar'}, 'flash.hls'); })); + + it('Should set up the player without options attribute', angular.mock.inject(function ($compile, $rootScope) { + $rootScope.webcastMainVm = {playerConfig: {foo: 'bar'}, webcast: { + state: 'postlive', + postliveStateData: { + playout: { + audioOnly: true + } + } + }}; + var elem = angular.element(template); + var element = $compile(elem)($rootScope); + $rootScope.$apply(); + var scope = element.isolateScope(); + expect(scope.options).toBeUndefined(); + })); + + it('Should set up the player without otions', angular.mock.inject(function ($compile, $rootScope) { + $rootScope.webcastMainVm = {playerConfig: {foo: 'bar'}, webcast: { + state: 'postlive', + postliveStateData: { + playout: { + audioOnly: true + } + } + }}; + template = ''; + var elem = angular.element(template); + var element = $compile(elem)($rootScope); + $rootScope.$apply(); + var scope = element.isolateScope(); + expect(scope.options).toBeUndefined(); + })); + + it('Should set up the player without forced state', angular.mock.inject(function ($compile, $rootScope) { + $rootScope.webcastMainVm = {playerConfig: {foo: 'bar'}, webcast: { + state: 'postlive', + postliveStateData: { + playout: { + audioOnly: true + } + } + }, + options: {speak: 'spell'}}; + template = ''; + var elem = angular.element(template); + var element = $compile(elem)($rootScope); + $rootScope.$apply(); + var scope = element.isolateScope(); + expect(scope.options).toBeDefined(); + expect(scope.options.forcedState).toBeUndefined(); + })); + + it('Should set up the player with forced live state', angular.mock.inject(function ($compile, $rootScope) { + $rootScope.webcastMainVm = {playerConfig: {foo: 'bar'}, webcast: { + state: 'postlive', + postliveStateData: { + playout: { + audioOnly: true + } + } + }, + options: {forcedState: 'live'} + }; + template = ''; + var elem = angular.element(template); + var element = $compile(elem)($rootScope); + $rootScope.$apply(); + var scope = element.isolateScope(); + expect(scope.options.forcedState).toBe('live'); + })); }); \ No newline at end of file