Added GUI Environment
diff --git a/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/plunker.js b/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/plunker.js
new file mode 100644
index 0000000..1e58610
--- /dev/null
+++ b/xos-apps/auto-scale/gui/src/vendor/ui.bootstrap/misc/demo/assets/plunker.js
@@ -0,0 +1,59 @@
+angular.module('plunker', [])
+
+  .factory('plunkGenerator', function ($document) {
+
+    return function (ngVersion, bsVersion, version, module, content) {
+
+      var form = angular.element('<form style="display: none;" method="post" action="http://plnkr.co/edit/?p=preview" target="_blank"></form>');
+      var addField = function (name, value) {
+        var input = angular.element('<input type="hidden" name="' + name + '">');
+        input.attr('value', value);
+        form.append(input);
+      };
+
+      var indexContent = function (content, version) {
+        return '<!doctype html>\n' +
+          '<html ng-app="ui.bootstrap.demo">\n' +
+          '  <head>\n' +
+          '    <script src="//ajax.googleapis.com/ajax/libs/angularjs/'+ngVersion+'/angular.js"></script>\n' +
+          '    <script src="//ajax.googleapis.com/ajax/libs/angularjs/'+ngVersion+'/angular-animate.js"></script>\n' +
+          '    <script src="//angular-ui.github.io/bootstrap/ui-bootstrap-tpls-'+version+'.js"></script>\n' +
+          '    <script src="example.js"></script>\n' +
+          '    <link href="//netdna.bootstrapcdn.com/bootstrap/'+bsVersion+'/css/bootstrap.min.css" rel="stylesheet">\n' +
+          '  </head>\n' +
+          '  <body>\n\n' +
+          content + '\n' +
+          '  </body>\n' +
+          '</html>\n';
+      };
+
+      var scriptContent = function(content) {
+        return "angular.module('ui.bootstrap.demo', ['ngAnimate', 'ui.bootstrap']);" + "\n" + content;
+      };
+
+      addField('description', 'http://angular-ui.github.io/bootstrap/');
+      addField('files[index.html]', indexContent(content.markup, version));
+      addField('files[example.js]', scriptContent(content.javascript));
+
+      $document.find('body').append(form);
+      form[0].submit();
+      form.remove();
+    };
+  })
+
+  .controller('PlunkerCtrl', function ($scope, plunkGenerator) {
+
+    $scope.content = {};
+
+    $scope.edit = function (ngVersion, bsVersion, version, module) {
+      plunkGenerator(ngVersion, bsVersion, version, module, $scope.content);
+    };
+  })
+
+  .directive('plunkerContent', function () {
+    return {
+      link:function (scope, element, attrs) {
+        scope.content[attrs.plunkerContent] = element.text().trim();
+      }
+    }
+  });