ranger-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sneet...@apache.org
Subject [38/51] [partial] ARGUS-2 : Uploading eclipse support files and additional lib/js files
Date Thu, 14 Aug 2014 22:09:17 GMT
http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/185f7c50/security-admin/src/main/webapp/libs/bower/bootstrap/js/bootstrap.min.js
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/libs/bower/bootstrap/js/bootstrap.min.js b/security-admin/src/main/webapp/libs/bower/bootstrap/js/bootstrap.min.js
new file mode 100644
index 0000000..01ae673
--- /dev/null
+++ b/security-admin/src/main/webapp/libs/bower/bootstrap/js/bootstrap.min.js
@@ -0,0 +1,6 @@
+/**
+* Bootstrap.js v2.3.2 by @fat & @mdo
+* Copyright 2013 Twitter, Inc.
+* http://www.apache.org/licenses/LICENSE-2.0.txt
+*/
+!function(e){"use strict";e(function(){e.support.transition=function(){var e=function(){var e=document.createElement("bootstrap"),t={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},n;for(n in t)if(e.style[n]!==undefined)return t[n]}();return e&&{end:e}}()})}(window.jQuery),!function(e){"use strict";var t='[data-dismiss="alert"]',n=function(n){e(n).on("click",t,this.close)};n.prototype.close=function(t){function s(){i.trigger("closed").remove()}var n=e(this),r=n.attr("data-target"),i;r||(r=n.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,"")),i=e(r),t&&t.preventDefault(),i.length||(i=n.hasClass("alert")?n:n.parent()),i.trigger(t=e.Event("close"));if(t.isDefaultPrevented())return;i.removeClass("in"),e.support.transition&&i.hasClass("fade")?i.on(e.support.transition.end,s):s()};var r=e.fn.alert;e.fn.alert=function(t){return this.each(function(){var r=e(this),i=r.data("alert");i||r.data("alert",i=
 new n(this)),typeof t=="string"&&i[t].call(r)})},e.fn.alert.Constructor=n,e.fn.alert.noConflict=function(){return e.fn.alert=r,this},e(document).on("click.alert.data-api",t,n.prototype.close)}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.button.defaults,n)};t.prototype.setState=function(e){var t="disabled",n=this.$element,r=n.data(),i=n.is("input")?"val":"html";e+="Text",r.resetText||n.data("resetText",n[i]()),n[i](r[e]||this.options[e]),setTimeout(function(){e=="loadingText"?n.addClass(t).attr(t,t):n.removeClass(t).removeAttr(t)},0)},t.prototype.toggle=function(){var e=this.$element.closest('[data-toggle="buttons-radio"]');e&&e.find(".active").removeClass("active"),this.$element.toggleClass("active")};var n=e.fn.button;e.fn.button=function(n){return this.each(function(){var r=e(this),i=r.data("button"),s=typeof n=="object"&&n;i||r.data("button",i=new t(this,s)),n=="toggle"?i.toggle():n&&i.setState(n)})},e.fn.button.de
 faults={loadingText:"loading..."},e.fn.button.Constructor=t,e.fn.button.noConflict=function(){return e.fn.button=n,this},e(document).on("click.button.data-api","[data-toggle^=button]",function(t){var n=e(t.target);n.hasClass("btn")||(n=n.closest(".btn")),n.button("toggle")})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.$indicators=this.$element.find(".carousel-indicators"),this.options=n,this.options.pause=="hover"&&this.$element.on("mouseenter",e.proxy(this.pause,this)).on("mouseleave",e.proxy(this.cycle,this))};t.prototype={cycle:function(t){return t||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(e.proxy(this.next,this),this.options.interval)),this},getActiveIndex:function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},to:function(t){var n=this.getActiveIndex(),r=this;if(t>thi
 s.$items.length-1||t<0)return;return this.sliding?this.$element.one("slid",function(){r.to(t)}):n==t?this.pause().cycle():this.slide(t>n?"next":"prev",e(this.$items[t]))},pause:function(t){return t||(this.paused=!0),this.$element.find(".next, .prev").length&&e.support.transition.end&&(this.$element.trigger(e.support.transition.end),this.cycle(!0)),clearInterval(this.interval),this.interval=null,this},next:function(){if(this.sliding)return;return this.slide("next")},prev:function(){if(this.sliding)return;return this.slide("prev")},slide:function(t,n){var r=this.$element.find(".item.active"),i=n||r[t](),s=this.interval,o=t=="next"?"left":"right",u=t=="next"?"first":"last",a=this,f;this.sliding=!0,s&&this.pause(),i=i.length?i:this.$element.find(".item")[u](),f=e.Event("slide",{relatedTarget:i[0],direction:o});if(i.hasClass("active"))return;this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid",function(){var t=e(a.$indicators.children(
 )[a.getActiveIndex()]);t&&t.addClass("active")}));if(e.support.transition&&this.$element.hasClass("slide")){this.$element.trigger(f);if(f.isDefaultPrevented())return;i.addClass(t),i[0].offsetWidth,r.addClass(o),i.addClass(o),this.$element.one(e.support.transition.end,function(){i.removeClass([t,o].join(" ")).addClass("active"),r.removeClass(["active",o].join(" ")),a.sliding=!1,setTimeout(function(){a.$element.trigger("slid")},0)})}else{this.$element.trigger(f);if(f.isDefaultPrevented())return;r.removeClass("active"),i.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return s&&this.cycle(),this}};var n=e.fn.carousel;e.fn.carousel=function(n){return this.each(function(){var r=e(this),i=r.data("carousel"),s=e.extend({},e.fn.carousel.defaults,typeof n=="object"&&n),o=typeof n=="string"?n:s.slide;i||r.data("carousel",i=new t(this,s)),typeof n=="number"?i.to(n):o?i[o]():s.interval&&i.pause().cycle()})},e.fn.carousel.defaults={interval:5e3,pause:"hover"},e.fn.carousel.Const
 ructor=t,e.fn.carousel.noConflict=function(){return e.fn.carousel=n,this},e(document).on("click.carousel.data-api","[data-slide], [data-slide-to]",function(t){var n=e(this),r,i=e(n.attr("data-target")||(r=n.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,"")),s=e.extend({},i.data(),n.data()),o;i.carousel(s),(o=n.attr("data-slide-to"))&&i.data("carousel").pause().to(o).cycle(),t.preventDefault()})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.collapse.defaults,n),this.options.parent&&(this.$parent=e(this.options.parent)),this.options.toggle&&this.toggle()};t.prototype={constructor:t,dimension:function(){var e=this.$element.hasClass("width");return e?"width":"height"},show:function(){var t,n,r,i;if(this.transitioning||this.$element.hasClass("in"))return;t=this.dimension(),n=e.camelCase(["scroll",t].join("-")),r=this.$parent&&this.$parent.find("> .accordion-group > .in");if(r&&r.length){i=r.data("collapse");if(i&&i.transitionin
 g)return;r.collapse("hide"),i||r.data("collapse",null)}this.$element[t](0),this.transition("addClass",e.Event("show"),"shown"),e.support.transition&&this.$element[t](this.$element[0][n])},hide:function(){var t;if(this.transitioning||!this.$element.hasClass("in"))return;t=this.dimension(),this.reset(this.$element[t]()),this.transition("removeClass",e.Event("hide"),"hidden"),this.$element[t](0)},reset:function(e){var t=this.dimension();return this.$element.removeClass("collapse")[t](e||"auto")[0].offsetWidth,this.$element[e!==null?"addClass":"removeClass"]("collapse"),this},transition:function(t,n,r){var i=this,s=function(){n.type=="show"&&i.reset(),i.transitioning=0,i.$element.trigger(r)};this.$element.trigger(n);if(n.isDefaultPrevented())return;this.transitioning=1,this.$element[t]("in"),e.support.transition&&this.$element.hasClass("collapse")?this.$element.one(e.support.transition.end,s):s()},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}};var n=e.fn.collapse
 ;e.fn.collapse=function(n){return this.each(function(){var r=e(this),i=r.data("collapse"),s=e.extend({},e.fn.collapse.defaults,r.data(),typeof n=="object"&&n);i||r.data("collapse",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.collapse.defaults={toggle:!0},e.fn.collapse.Constructor=t,e.fn.collapse.noConflict=function(){return e.fn.collapse=n,this},e(document).on("click.collapse.data-api","[data-toggle=collapse]",function(t){var n=e(this),r,i=n.attr("data-target")||t.preventDefault()||(r=n.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,""),s=e(i).data("collapse")?"toggle":n.data();n[e(i).hasClass("in")?"addClass":"removeClass"]("collapsed"),e(i).collapse(s)})}(window.jQuery),!function(e){"use strict";function r(){e(".dropdown-backdrop").remove(),e(t).each(function(){i(e(this)).removeClass("open")})}function i(t){var n=t.attr("data-target"),r;n||(n=t.attr("href"),n=n&&/#/.test(n)&&n.replace(/.*(?=#[^\s]*$)/,"")),r=n&&e(n);if(!r||!r.length)r=t.parent();return r}var t="[data-toggle=drop
 down]",n=function(t){var n=e(t).on("click.dropdown.data-api",this.toggle);e("html").on("click.dropdown.data-api",function(){n.parent().removeClass("open")})};n.prototype={constructor:n,toggle:function(t){var n=e(this),s,o;if(n.is(".disabled, :disabled"))return;return s=i(n),o=s.hasClass("open"),r(),o||("ontouchstart"in document.documentElement&&e('<div class="dropdown-backdrop"/>').insertBefore(e(this)).on("click",r),s.toggleClass("open")),n.focus(),!1},keydown:function(n){var r,s,o,u,a,f;if(!/(38|40|27)/.test(n.keyCode))return;r=e(this),n.preventDefault(),n.stopPropagation();if(r.is(".disabled, :disabled"))return;u=i(r),a=u.hasClass("open");if(!a||a&&n.keyCode==27)return n.which==27&&u.find(t).focus(),r.click();s=e("[role=menu] li:not(.divider):visible a",u);if(!s.length)return;f=s.index(s.filter(":focus")),n.keyCode==38&&f>0&&f--,n.keyCode==40&&f<s.length-1&&f++,~f||(f=0),s.eq(f).focus()}};var s=e.fn.dropdown;e.fn.dropdown=function(t){return this.each(function(){var r=e(this),i=r.
 data("dropdown");i||r.data("dropdown",i=new n(this)),typeof t=="string"&&i[t].call(r)})},e.fn.dropdown.Constructor=n,e.fn.dropdown.noConflict=function(){return e.fn.dropdown=s,this},e(document).on("click.dropdown.data-api",r).on("click.dropdown.data-api",".dropdown form",function(e){e.stopPropagation()}).on("click.dropdown.data-api",t,n.prototype.toggle).on("keydown.dropdown.data-api",t+", [role=menu]",n.prototype.keydown)}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.options=n,this.$element=e(t).delegate('[data-dismiss="modal"]',"click.dismiss.modal",e.proxy(this.hide,this)),this.options.remote&&this.$element.find(".modal-body").load(this.options.remote)};t.prototype={constructor:t,toggle:function(){return this[this.isShown?"hide":"show"]()},show:function(){var t=this,n=e.Event("show");this.$element.trigger(n);if(this.isShown||n.isDefaultPrevented())return;this.isShown=!0,this.escape(),this.backdrop(function(){var n=e.support.transition&&t.$element.hasClass("fa
 de");t.$element.parent().length||t.$element.appendTo(document.body),t.$element.show(),n&&t.$element[0].offsetWidth,t.$element.addClass("in").attr("aria-hidden",!1),t.enforceFocus(),n?t.$element.one(e.support.transition.end,function(){t.$element.focus().trigger("shown")}):t.$element.focus().trigger("shown")})},hide:function(t){t&&t.preventDefault();var n=this;t=e.Event("hide"),this.$element.trigger(t);if(!this.isShown||t.isDefaultPrevented())return;this.isShown=!1,this.escape(),e(document).off("focusin.modal"),this.$element.removeClass("in").attr("aria-hidden",!0),e.support.transition&&this.$element.hasClass("fade")?this.hideWithTransition():this.hideModal()},enforceFocus:function(){var t=this;e(document).on("focusin.modal",function(e){t.$element[0]!==e.target&&!t.$element.has(e.target).length&&t.$element.focus()})},escape:function(){var e=this;this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.modal",function(t){t.which==27&&e.hide()}):this.isShown||this.$element.of
 f("keyup.dismiss.modal")},hideWithTransition:function(){var t=this,n=setTimeout(function(){t.$element.off(e.support.transition.end),t.hideModal()},500);this.$element.one(e.support.transition.end,function(){clearTimeout(n),t.hideModal()})},hideModal:function(){var e=this;this.$element.hide(),this.backdrop(function(){e.removeBackdrop(),e.$element.trigger("hidden")})},removeBackdrop:function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},backdrop:function(t){var n=this,r=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var i=e.support.transition&&r;this.$backdrop=e('<div class="modal-backdrop '+r+'" />').appendTo(document.body),this.$backdrop.click(this.options.backdrop=="static"?e.proxy(this.$element[0].focus,this.$element[0]):e.proxy(this.hide,this)),i&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in");if(!t)return;i?this.$backdrop.one(e.support.transition.end,t):t()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClas
 s("in"),e.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(e.support.transition.end,t):t()):t&&t()}};var n=e.fn.modal;e.fn.modal=function(n){return this.each(function(){var r=e(this),i=r.data("modal"),s=e.extend({},e.fn.modal.defaults,r.data(),typeof n=="object"&&n);i||r.data("modal",i=new t(this,s)),typeof n=="string"?i[n]():s.show&&i.show()})},e.fn.modal.defaults={backdrop:!0,keyboard:!0,show:!0},e.fn.modal.Constructor=t,e.fn.modal.noConflict=function(){return e.fn.modal=n,this},e(document).on("click.modal.data-api",'[data-toggle="modal"]',function(t){var n=e(this),r=n.attr("href"),i=e(n.attr("data-target")||r&&r.replace(/.*(?=#[^\s]+$)/,"")),s=i.data("modal")?"toggle":e.extend({remote:!/#/.test(r)&&r},i.data(),n.data());t.preventDefault(),i.modal(s).one("hide",function(){n.focus()})})}(window.jQuery),!function(e){"use strict";var t=function(e,t){this.init("tooltip",e,t)};t.prototype={constructor:t,init:function(t,n,r){var i,s,o,u,a;this.type=t,this.$element=e
 (n),this.options=this.getOptions(r),this.enabled=!0,o=this.options.trigger.split(" ");for(a=o.length;a--;)u=o[a],u=="click"?this.$element.on("click."+this.type,this.options.selector,e.proxy(this.toggle,this)):u!="manual"&&(i=u=="hover"?"mouseenter":"focus",s=u=="hover"?"mouseleave":"blur",this.$element.on(i+"."+this.type,this.options.selector,e.proxy(this.enter,this)),this.$element.on(s+"."+this.type,this.options.selector,e.proxy(this.leave,this)));this.options.selector?this._options=e.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(t){return t=e.extend({},e.fn[this.type].defaults,this.$element.data(),t),t.delay&&typeof t.delay=="number"&&(t.delay={show:t.delay,hide:t.delay}),t},enter:function(t){var n=e.fn[this.type].defaults,r={},i;this._options&&e.each(this._options,function(e,t){n[e]!=t&&(r[e]=t)},this),i=e(t.currentTarget)[this.type](r).data(this.type);if(!i.options.delay||!i.options.delay.show)return i.show();clearTimeout(this.timeou
 t),i.hoverState="in",this.timeout=setTimeout(function(){i.hoverState=="in"&&i.show()},i.options.delay.show)},leave:function(t){var n=e(t.currentTarget)[this.type](this._options).data(this.type);this.timeout&&clearTimeout(this.timeout);if(!n.options.delay||!n.options.delay.hide)return n.hide();n.hoverState="out",this.timeout=setTimeout(function(){n.hoverState=="out"&&n.hide()},n.options.delay.hide)},show:function(){var t,n,r,i,s,o,u=e.Event("show");if(this.hasContent()&&this.enabled){this.$element.trigger(u);if(u.isDefaultPrevented())return;t=this.tip(),this.setContent(),this.options.animation&&t.addClass("fade"),s=typeof this.options.placement=="function"?this.options.placement.call(this,t[0],this.$element[0]):this.options.placement,t.detach().css({top:0,left:0,display:"block"}),this.options.container?t.appendTo(this.options.container):t.insertAfter(this.$element),n=this.getPosition(),r=t[0].offsetWidth,i=t[0].offsetHeight;switch(s){case"bottom":o={top:n.top+n.height,left:n.left+n.w
 idth/2-r/2};break;case"top":o={top:n.top-i,left:n.left+n.width/2-r/2};break;case"left":o={top:n.top+n.height/2-i/2,left:n.left-r};break;case"right":o={top:n.top+n.height/2-i/2,left:n.left+n.width}}this.applyPlacement(o,s),this.$element.trigger("shown")}},applyPlacement:function(e,t){var n=this.tip(),r=n[0].offsetWidth,i=n[0].offsetHeight,s,o,u,a;n.offset(e).addClass(t).addClass("in"),s=n[0].offsetWidth,o=n[0].offsetHeight,t=="top"&&o!=i&&(e.top=e.top+i-o,a=!0),t=="bottom"||t=="top"?(u=0,e.left<0&&(u=e.left*-2,e.left=0,n.offset(e),s=n[0].offsetWidth,o=n[0].offsetHeight),this.replaceArrow(u-r+s,s,"left")):this.replaceArrow(o-i,o,"top"),a&&n.offset(e)},replaceArrow:function(e,t,n){this.arrow().css(n,e?50*(1-e/t)+"%":"")},setContent:function(){var e=this.tip(),t=this.getTitle();e.find(".tooltip-inner")[this.options.html?"html":"text"](t),e.removeClass("fade in top bottom left right")},hide:function(){function i(){var t=setTimeout(function(){n.off(e.support.transition.end).detach()},500)
 ;n.one(e.support.transition.end,function(){clearTimeout(t),n.detach()})}var t=this,n=this.tip(),r=e.Event("hide");this.$element.trigger(r);if(r.isDefaultPrevented())return;return n.removeClass("in"),e.support.transition&&this.$tip.hasClass("fade")?i():n.detach(),this.$element.trigger("hidden"),this},fixTitle:function(){var e=this.$element;(e.attr("title")||typeof e.attr("data-original-title")!="string")&&e.attr("data-original-title",e.attr("title")||"").attr("title","")},hasContent:function(){return this.getTitle()},getPosition:function(){var t=this.$element[0];return e.extend({},typeof t.getBoundingClientRect=="function"?t.getBoundingClientRect():{width:t.offsetWidth,height:t.offsetHeight},this.$element.offset())},getTitle:function(){var e,t=this.$element,n=this.options;return e=t.attr("data-original-title")||(typeof n.title=="function"?n.title.call(t[0]):n.title),e},tip:function(){return this.$tip=this.$tip||e(this.options.template)},arrow:function(){return this.$arrow=this.$arrow
 ||this.tip().find(".tooltip-arrow")},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(t){var n=t?e(t.currentTarget)[this.type](this._options).data(this.type):this;n.tip().hasClass("in")?n.hide():n.show()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}};var n=e.fn.tooltip;e.fn.tooltip=function(n){return this.each(function(){var r=e(this),i=r.data("tooltip"),s=typeof n=="object"&&n;i||r.data("tooltip",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.tooltip.Constructor=t,e.fn.tooltip.defaults={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1},e.fn.tooltip.noConflict=function(){return e.fn.tooltip=n,this}}
 (window.jQuery),!function(e){"use strict";var t=function(e,t){this.init("popover",e,t)};t.prototype=e.extend({},e.fn.tooltip.Constructor.prototype,{constructor:t,setContent:function(){var e=this.tip(),t=this.getTitle(),n=this.getContent();e.find(".popover-title")[this.options.html?"html":"text"](t),e.find(".popover-content")[this.options.html?"html":"text"](n),e.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var e,t=this.$element,n=this.options;return e=(typeof n.content=="function"?n.content.call(t[0]):n.content)||t.attr("data-content"),e},tip:function(){return this.$tip||(this.$tip=e(this.options.template)),this.$tip},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}});var n=e.fn.popover;e.fn.popover=function(n){return this.each(function(){var r=e(this),i=r.data("popover"),s=typeof n=="object"&&n;i||r.data("popover",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.
 fn.popover.Constructor=t,e.fn.popover.defaults=e.extend({},e.fn.tooltip.defaults,{placement:"right",trigger:"click",content:"",template:'<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),e.fn.popover.noConflict=function(){return e.fn.popover=n,this}}(window.jQuery),!function(e){"use strict";function t(t,n){var r=e.proxy(this.process,this),i=e(t).is("body")?e(window):e(t),s;this.options=e.extend({},e.fn.scrollspy.defaults,n),this.$scrollElement=i.on("scroll.scroll-spy.data-api",r),this.selector=(this.options.target||(s=e(t).attr("href"))&&s.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.$body=e("body"),this.refresh(),this.process()}t.prototype={constructor:t,refresh:function(){var t=this,n;this.offsets=e([]),this.targets=e([]),n=this.$body.find(this.selector).map(function(){var n=e(this),r=n.data("target")||n.attr("href"),i=/^#\w/.test(r)&&e(r);return i&&i.length&&[[i.position().top+(!e.isWindow(t.$scrollE
 lement.get(0))&&t.$scrollElement.scrollTop()),r]]||null}).sort(function(e,t){return e[0]-t[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},process:function(){var e=this.$scrollElement.scrollTop()+this.options.offset,t=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,n=t-this.$scrollElement.height(),r=this.offsets,i=this.targets,s=this.activeTarget,o;if(e>=n)return s!=(o=i.last()[0])&&this.activate(o);for(o=r.length;o--;)s!=i[o]&&e>=r[o]&&(!r[o+1]||e<=r[o+1])&&this.activate(i[o])},activate:function(t){var n,r;this.activeTarget=t,e(this.selector).parent(".active").removeClass("active"),r=this.selector+'[data-target="'+t+'"],'+this.selector+'[href="'+t+'"]',n=e(r).parent("li").addClass("active"),n.parent(".dropdown-menu").length&&(n=n.closest("li.dropdown").addClass("active")),n.trigger("activate")}};var n=e.fn.scrollspy;e.fn.scrollspy=function(n){return this.each(function(){var r=e(this),i=r.data("scrollspy"),s=typeof n=="object"&&n;i||r.data("sc
 rollspy",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.scrollspy.Constructor=t,e.fn.scrollspy.defaults={offset:10},e.fn.scrollspy.noConflict=function(){return e.fn.scrollspy=n,this},e(window).on("load",function(){e('[data-spy="scroll"]').each(function(){var t=e(this);t.scrollspy(t.data())})})}(window.jQuery),!function(e){"use strict";var t=function(t){this.element=e(t)};t.prototype={constructor:t,show:function(){var t=this.element,n=t.closest("ul:not(.dropdown-menu)"),r=t.attr("data-target"),i,s,o;r||(r=t.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,""));if(t.parent("li").hasClass("active"))return;i=n.find(".active:last a")[0],o=e.Event("show",{relatedTarget:i}),t.trigger(o);if(o.isDefaultPrevented())return;s=e(r),this.activate(t.parent("li"),n),this.activate(s,s.parent(),function(){t.trigger({type:"shown",relatedTarget:i})})},activate:function(t,n,r){function o(){i.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),t.addClass("active"),s?(t[0].offs
 etWidth,t.addClass("in")):t.removeClass("fade"),t.parent(".dropdown-menu")&&t.closest("li.dropdown").addClass("active"),r&&r()}var i=n.find("> .active"),s=r&&e.support.transition&&i.hasClass("fade");s?i.one(e.support.transition.end,o):o(),i.removeClass("in")}};var n=e.fn.tab;e.fn.tab=function(n){return this.each(function(){var r=e(this),i=r.data("tab");i||r.data("tab",i=new t(this)),typeof n=="string"&&i[n]()})},e.fn.tab.Constructor=t,e.fn.tab.noConflict=function(){return e.fn.tab=n,this},e(document).on("click.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(t){t.preventDefault(),e(this).tab("show")})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.typeahead.defaults,n),this.matcher=this.options.matcher||this.matcher,this.sorter=this.options.sorter||this.sorter,this.highlighter=this.options.highlighter||this.highlighter,this.updater=this.options.updater||this.updater,this.source=this.options.source,this
 .$menu=e(this.options.menu),this.shown=!1,this.listen()};t.prototype={constructor:t,select:function(){var e=this.$menu.find(".active").attr("data-value");return this.$element.val(this.updater(e)).change(),this.hide()},updater:function(e){return e},show:function(){var t=e.extend({},this.$element.position(),{height:this.$element[0].offsetHeight});return this.$menu.insertAfter(this.$element).css({top:t.top+t.height,left:t.left}).show(),this.shown=!0,this},hide:function(){return this.$menu.hide(),this.shown=!1,this},lookup:function(t){var n;return this.query=this.$element.val(),!this.query||this.query.length<this.options.minLength?this.shown?this.hide():this:(n=e.isFunction(this.source)?this.source(this.query,e.proxy(this.process,this)):this.source,n?this.process(n):this)},process:function(t){var n=this;return t=e.grep(t,function(e){return n.matcher(e)}),t=this.sorter(t),t.length?this.render(t.slice(0,this.options.items)).show():this.shown?this.hide():this},matcher:function(e){return~e.
 toLowerCase().indexOf(this.query.toLowerCase())},sorter:function(e){var t=[],n=[],r=[],i;while(i=e.shift())i.toLowerCase().indexOf(this.query.toLowerCase())?~i.indexOf(this.query)?n.push(i):r.push(i):t.push(i);return t.concat(n,r)},highlighter:function(e){var t=this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&");return e.replace(new RegExp("("+t+")","ig"),function(e,t){return"<strong>"+t+"</strong>"})},render:function(t){var n=this;return t=e(t).map(function(t,r){return t=e(n.options.item).attr("data-value",r),t.find("a").html(n.highlighter(r)),t[0]}),t.first().addClass("active"),this.$menu.html(t),this},next:function(t){var n=this.$menu.find(".active").removeClass("active"),r=n.next();r.length||(r=e(this.$menu.find("li")[0])),r.addClass("active")},prev:function(e){var t=this.$menu.find(".active").removeClass("active"),n=t.prev();n.length||(n=this.$menu.find("li").last()),n.addClass("active")},listen:function(){this.$element.on("focus",e.proxy(this.focus,this)).on("blur",e.prox
 y(this.blur,this)).on("keypress",e.proxy(this.keypress,this)).on("keyup",e.proxy(this.keyup,this)),this.eventSupported("keydown")&&this.$element.on("keydown",e.proxy(this.keydown,this)),this.$menu.on("click",e.proxy(this.click,this)).on("mouseenter","li",e.proxy(this.mouseenter,this)).on("mouseleave","li",e.proxy(this.mouseleave,this))},eventSupported:function(e){var t=e in this.$element;return t||(this.$element.setAttribute(e,"return;"),t=typeof this.$element[e]=="function"),t},move:function(e){if(!this.shown)return;switch(e.keyCode){case 9:case 13:case 27:e.preventDefault();break;case 38:e.preventDefault(),this.prev();break;case 40:e.preventDefault(),this.next()}e.stopPropagation()},keydown:function(t){this.suppressKeyPressRepeat=~e.inArray(t.keyCode,[40,38,9,13,27]),this.move(t)},keypress:function(e){if(this.suppressKeyPressRepeat)return;this.move(e)},keyup:function(e){switch(e.keyCode){case 40:case 38:case 16:case 17:case 18:break;case 9:case 13:if(!this.shown)return;this.select
 ();break;case 27:if(!this.shown)return;this.hide();break;default:this.lookup()}e.stopPropagation(),e.preventDefault()},focus:function(e){this.focused=!0},blur:function(e){this.focused=!1,!this.mousedover&&this.shown&&this.hide()},click:function(e){e.stopPropagation(),e.preventDefault(),this.select(),this.$element.focus()},mouseenter:function(t){this.mousedover=!0,this.$menu.find(".active").removeClass("active"),e(t.currentTarget).addClass("active")},mouseleave:function(e){this.mousedover=!1,!this.focused&&this.shown&&this.hide()}};var n=e.fn.typeahead;e.fn.typeahead=function(n){return this.each(function(){var r=e(this),i=r.data("typeahead"),s=typeof n=="object"&&n;i||r.data("typeahead",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.typeahead.defaults={source:[],items:8,menu:'<ul class="typeahead dropdown-menu"></ul>',item:'<li><a href="#"></a></li>',minLength:1},e.fn.typeahead.Constructor=t,e.fn.typeahead.noConflict=function(){return e.fn.typeahead=n,this},e(document).on("focus
 .typeahead.data-api",'[data-provide="typeahead"]',function(t){var n=e(this);if(n.data("typeahead"))return;n.typeahead(n.data())})}(window.jQuery),!function(e){"use strict";var t=function(t,n){this.options=e.extend({},e.fn.affix.defaults,n),this.$window=e(window).on("scroll.affix.data-api",e.proxy(this.checkPosition,this)).on("click.affix.data-api",e.proxy(function(){setTimeout(e.proxy(this.checkPosition,this),1)},this)),this.$element=e(t),this.checkPosition()};t.prototype.checkPosition=function(){if(!this.$element.is(":visible"))return;var t=e(document).height(),n=this.$window.scrollTop(),r=this.$element.offset(),i=this.options.offset,s=i.bottom,o=i.top,u="affix affix-top affix-bottom",a;typeof i!="object"&&(s=o=i),typeof o=="function"&&(o=i.top()),typeof s=="function"&&(s=i.bottom()),a=this.unpin!=null&&n+this.unpin<=r.top?!1:s!=null&&r.top+this.$element.height()>=t-s?"bottom":o!=null&&n<=o?"top":!1;if(this.affixed===a)return;this.affixed=a,this.unpin=a=="bottom"?r.top-n:null,this.
 $element.removeClass(u).addClass("affix"+(a?"-"+a:""))};var n=e.fn.affix;e.fn.affix=function(n){return this.each(function(){var r=e(this),i=r.data("affix"),s=typeof n=="object"&&n;i||r.data("affix",i=new t(this,s)),typeof n=="string"&&i[n]()})},e.fn.affix.Constructor=t,e.fn.affix.defaults={offset:0},e.fn.affix.noConflict=function(){return e.fn.affix=n,this},e(window).on("load",function(){e('[data-spy="affix"]').each(function(){var t=e(this),n=t.data();n.offset=n.offset||{},n.offsetBottom&&(n.offset.bottom=n.offsetBottom),n.offsetTop&&(n.offset.top=n.offsetTop),t.affix(n)})})}(window.jQuery);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/185f7c50/security-admin/src/main/webapp/libs/bower/globalize/.bower.json
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/libs/bower/globalize/.bower.json b/security-admin/src/main/webapp/libs/bower/globalize/.bower.json
new file mode 100644
index 0000000..cfebce4
--- /dev/null
+++ b/security-admin/src/main/webapp/libs/bower/globalize/.bower.json
@@ -0,0 +1,15 @@
+{
+  "name": "globalize",
+  "homepage": "https://github.com/jquery/globalize",
+  "version": "0.1.1",
+  "_release": "0.1.1",
+  "_resolution": {
+    "type": "version",
+    "tag": "v0.1.1",
+    "commit": "2cbbe9e30609735aab9dc29d8c53c5cd8f810149"
+  },
+  "_source": "git://github.com/jquery/globalize.git",
+  "_target": "~0.1.1",
+  "_originalSource": "globalize",
+  "_direct": true
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/185f7c50/security-admin/src/main/webapp/libs/bower/globalize/.gitignore
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/libs/bower/globalize/.gitignore b/security-admin/src/main/webapp/libs/bower/globalize/.gitignore
new file mode 100644
index 0000000..ee7a347
--- /dev/null
+++ b/security-admin/src/main/webapp/libs/bower/globalize/.gitignore
@@ -0,0 +1,9 @@
+.project
+*~
+*.diff
+*.patch
+.DS_Store
+generator/bin
+generator/obj
+node_modules
+dist
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/185f7c50/security-admin/src/main/webapp/libs/bower/globalize/.npmignore
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/libs/bower/globalize/.npmignore b/security-admin/src/main/webapp/libs/bower/globalize/.npmignore
new file mode 100644
index 0000000..dba9ccc
--- /dev/null
+++ b/security-admin/src/main/webapp/libs/bower/globalize/.npmignore
@@ -0,0 +1 @@
+generator/

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/185f7c50/security-admin/src/main/webapp/libs/bower/globalize/LICENSE
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/libs/bower/globalize/LICENSE b/security-admin/src/main/webapp/libs/bower/globalize/LICENSE
new file mode 100644
index 0000000..9c8b022
--- /dev/null
+++ b/security-admin/src/main/webapp/libs/bower/globalize/LICENSE
@@ -0,0 +1,21 @@
+Copyright Software Freedom Conservancy, Inc.
+http://jquery.org/license
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/185f7c50/security-admin/src/main/webapp/libs/bower/globalize/README.md
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/libs/bower/globalize/README.md b/security-admin/src/main/webapp/libs/bower/globalize/README.md
new file mode 100644
index 0000000..cfbbe61
--- /dev/null
+++ b/security-admin/src/main/webapp/libs/bower/globalize/README.md
@@ -0,0 +1,865 @@
+# Globalize
+
+A JavaScript library for globalization and localization. Enables complex
+culture-aware number and date parsing and formatting, including the raw
+culture information for hundreds of different languages and countries, as well
+as an extensible system for localization.
+
+<hr>
+<ul>
+<li><a href="#why">Why Globalization</a></li>
+<li><a href="#what">What is a Culture?</a></li>
+<li><a href="#addCultureInfo">Globalize.addCultureInfo</a></li>
+<li><a href="#cultures">Globalize.cultures</a></li>
+<li><a href="#culture">Globalize.culture</a></li>
+<li><a href="#find">Globalize.findClosestCulture</a></li>
+<li><a href="#format">Globalize.format</a></li>
+<li><a href="#localize">Globalize.localize</a></li>
+<li><a href="#parseInt">Globalize.parseInt</a></li>
+<li><a href="#parseFloat">Globalize.parseFloat</a></li>
+<li><a href="#parseDate">Globalize.parseDate</a></li>
+<li><a href="#extend">Utilizing and Extending Cultures</a></li>
+<li><a href="#defining">Defining Culture Information</a></li>
+<li><a href="#numbers">Number Formatting</a></li>
+<li><a href="#currency">Currency Formatting</a></li>
+<li><a href="#dates">Date Formatting</a></li>
+<li><a href="#generating">Generating Culture Files</a></li>
+<li><a href="#building">Building Globalize</a></li>
+</ul>
+
+<a name="why"></a>
+<h2 id="why">Why Globalization?</h2>
+<p>
+Each language, and the countries that speak that language, have different
+expectations when it comes to how numbers (including currency and percentages)
+and dates should appear. Obviously, each language has different names for the
+days of the week and the months of the year. But they also have different
+expectations for the structure of dates, such as what order the day, month and
+year are in. In number formatting, not only does the character used to
+delineate number groupings and the decimal portion differ, but the placement of
+those characters differ as well.
+</p>
+<p>
+A user using an application should be able to read and write dates and numbers
+in the format they are accustomed to. This library makes this possible,
+providing an API to convert user-entered number and date strings - in their
+own format - into actual numbers and dates, and conversely, to format numbers
+and dates into that string format.
+</p>
+
+<a name="what"></a>
+<h2 id="what">What is a Culture?</h2>
+<p>
+Globalize defines roughly 350 cultures. Part of the reason for this large
+number, besides there being a lot of cultures in the world, is because for
+some languages, expectations differ among the countries that speak it.
+English, for example, is an official language in dozens of countries. Despite
+the language being English, the expected date formatting still greatly differs
+between them.
+</p>
+<p>
+So, it does not seem useful to define cultures by their language alone. Nor
+is it useful to define a culture by its country alone, as many countries have
+several official languages, spoken by sizable populations. Therefore, cultures
+are defined as a combination of the language and the country speaking it. Each
+culture is given a unique code that is a combination of an ISO 639 two-letter
+lowercase culture code for the language, and a two-letter uppercase code for
+the country or region. For example, "en-US" is the culture code for English in
+the United States.
+</p>
+<p>
+Yet, it is perhaps unreasonable to expect application developers to cater to
+every possible language/country combination perfectly. It is important then to
+define so-called "neutral" cultures based on each language. These cultures
+define the most likely accepted set of rules by anyone speaking that language,
+whatever the country. Neutral cultures are defined only by their language code.
+For example, "es" is the neutral culture for Spanish.
+</p>
+
+<a name="addCultureInfo"></a>
+<h2 id="addCultureInfo">Globalize.addCultureInfo( cultureName, extendCultureName, info )</h2>
+<p>
+This method allows you to create a new culture based on an existing culture or
+add to existing culture info. If the optional argument <pre>extendCultureName</pre>
+is not supplied, it will extend the existing culture if it exists or create a new
+culture based on the default culture if it doesn't exist. If cultureName is not
+supplied, it will add the supplied info to the current culture. See .culture().
+</p>
+
+
+<a name="cultures"></a>
+<h2 id="cultures">Globalize.cultures</h2>
+<p>
+A mapping of culture codes to culture objects. For example,
+Globalize.cultures.fr is an object representing the complete culture
+definition for the neutral French culture. Note that the main globalize.js file
+alone only includes a neutral English culture. To get additional cultures, you
+must include one or more of the culture scripts that come with it. You
+can see in the section <a href="#defining">Defining Culture Information</a>
+below which fields are defined in each culture.
+</p>
+
+<a name="culture"></a>
+<h2 id="culture">Globalize.culture( selector )</h2>
+<p>
+An application that supports globalization and/or localization will need to
+have a way to determine the user's preference. Attempting to automatically
+determine the appropriate culture is useful, but it is good practice to always
+offer the user a choice, by whatever means.
+</p>
+<p>
+Whatever your mechanism, it is likely that you will have to correlate the
+user's preferences with the list of cultures supported in the app. This
+method allows you to select the best match given the culture scripts that you
+have included and to set the Globalize culture to the culture which the user
+prefers.
+</p>
+<p>
+If you pass an array of names instead of a single name string, the first
+culture for which there is a match (that culture's script has been referenced)
+will be used. If none match, the search restarts using the corresponding
+neutral cultures. For example, if the application has included only the neutral
+"fr" culture, any of these would select it:
+<pre>
+Globalize.culture( "fr" );
+console.log( Globalize.culture().name ) // "fr"
+
+Globalize.culture( "fr-FR" );
+console.log( Globalize.culture().name ) // "fr-FR"
+
+Globalize.culture([ "es-MX", "fr-FR" ]);
+console.log( Globalize.culture().name ) // "es-MX"
+</pre>
+
+In any case, if no match is found, the neutral English culture "en" is selected
+by default.
+
+If you don't pass a selector, .culture() will return the current Globalize
+culture.
+</p>
+<p>
+Each culture string may also follow the pattern defined in
+<a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.4"
+>RFC2616 sec 14.4</a>. That is, a culture name may include a "quality" value
+that indicates an estimate of the user's preference for the language.
+
+<pre>
+Globalize.culture( "fr;q=0.4, es;q=0.5, he" );
+</pre>
+In this example, the neutral Hebrew culture "he" is given top priority (an
+unspecified quality is equal to 1). If that language is not an exact match for
+any of the cultures available in Globalize.cultures, then "es" is the next
+highest priority with 0.5, etc. If none of these match, just like with the array
+syntax, the search starts over and the same rules are applied to the
+corresponding neutral language culture for each. If still none match, the
+neutral English culture "en" is used.
+</p>
+
+<a name="find"></a>
+<h2 id="find">Globalize.findClosestCulture( selector )</h2>
+<p>
+Just like .culture( selector ), but it just returns the matching culture, if
+any, without setting it to the current Globalize culture, returned by
+.culture().
+</p>
+
+<a name="format"></a>
+<h2 id="format">Globalize.format( value, format, culture )</h2>
+<p>
+Formats a date or number according to the given format string and the given
+culture (or the current culture if not specified). See the sections
+<a href="#numbers">Number Formatting</a> and
+<a href="#dates">Date Formatting</a> below for details on the available
+formats.
+<pre>
+// assuming a culture with number grouping of 3 digits,
+// using "," separator and "." decimal symbol.
+Globalize.format( 1234.567, "n" ); // "1,234.57"
+Globalize.format( 1234.567, "n1" ); // "1,234.6"
+Globalize.format( 1234.567, "n0" ); // "1,235"
+
+// assuming a culture with "/" as the date separator symbol
+Globalize.format( new Date(1955,10,5), "yyyy/MM/dd" ); // "1955/11/05"
+Globalize.format( new Date(1955,10,5), "dddd MMMM d, yyyy" ); // "Saturday November 5, 1955"
+</pre>
+</p>
+
+<a name="localize"></a>
+<h2 id="localize">Globalize.localize( key, culture )</h2>
+<p>
+Gets or sets a localized value. This method allows you to extend the
+information available to a particular culture, and to easily retrieve it
+without worrying about finding the most appropriate culture. For example, to
+define the word "translate" in French:
+<pre>
+Globalize.addCultureInfo( "fr", {
+	messages: {
+		"translate": "traduire"
+	}
+});
+console.log( Globalize.localize( "translate", "fr" ) ); // "traduire"
+</pre>
+Note that localize() will find the closest match available per the same
+semantics as the Globalize.findClosestCulture() method. If there is no
+match, the translation given is for the neutral English culture "en" by
+default.
+</p>
+
+
+<a name="parseInt"></a>
+<h2 id="parseInt">Globalize.parseInt( value, radix, culture )</h2>
+<p>
+Parses a string representing a whole number in the given radix (10 by default),
+taking into account any formatting rules followed by the given culture (or the
+current culture, if not specified).
+
+If a percentage is passed into parseInt, the percent sign will be removed and the number parsed as is.
+Example: 12.34% would be returned as 12.
+<pre>
+// assuming a culture where "," is the group separator
+// and "." is the decimal separator
+Globalize.parseInt( "1,234.56" ); // 1234
+// assuming a culture where "." is the group separator
+// and "," is the decimal separator
+Globalize.parseInt( "1.234,56" ); // 1234
+</pre>
+</p>
+
+<a name="parseFloat"></a>
+<h2 id="parseFloat">Globalize.parseFloat( value, radix, culture )</h2>
+<p>
+Parses a string representing a floating point number in the given radix (10 by
+default), taking into account any formatting rules followed by the given
+culture (or the current culture, if not specified).
+
+If a percentage is passed into parseFloat, the percent sign will be removed and the number parsed as is.
+Example: 12.34% would be returned as 12.34
+<pre>
+// assuming a culture where "," is the group separator
+// and "." is the decimal separator
+Globalize.parseFloat( "1,234.56" ); // 1234.56
+// assuming a culture where "." is the group separator
+// and "," is the decimal separator
+Globalize.parseFloat( "1.234,56" ); // 1234.56
+</pre>
+</p>
+
+<a name="parseDate"></a>
+<h2 id="parseDate">Globalize.parseDate( value, formats, culture )</h2>
+<p>
+Parses a string representing a date into a JavaScript Date object, taking into
+account the given possible formats (or the given culture's set of default
+formats if not given). As before, the current culture is used if one is not
+specified.
+<pre>
+Globalize.culture( "en" );
+Globalize.parseDate( "1/2/2003" ); // Thu Jan 02 2003
+Globalize.culture( "fr" );
+Globalize.parseDate( "1/2/2003" ); // Sat Feb 01 2003
+</pre>
+</p>
+
+<a name="extend"></a>
+<h2 id="extend">Utilizing and Extending Cultures</h2>
+<p>
+The culture information included with each culture is mostly necessary for the
+parsing and formatting methods, but not all of it. For example, the Native and
+English names for each culture is given, as well as a boolean indicating
+whether the language is right-to-left. This may be useful information for your
+own purposes. You may also add to the culture information directly if so
+desired.
+</p>
+<p>
+As an example, in the U.S., the word "billion" means the number 1,000,000,000
+(9 zeros). But in other countries, that number is "1000 million" or a
+"milliard", and a billion is 1,000,000,000,000 (12 zeros). If you needed to
+provide functionality to your app or custom plugin that needed to know how many
+zeros are in a "billion", you could extend the culture information as follows:
+<pre>
+// define additional culture information for a possibly existing culture
+Globalize.addCultureInfo( "fr", {
+	numberFormat: {
+		billionZeroes: 12
+	}
+});
+</pre>
+Using this mechanism, the "fr" culture will be created if it does not exist.
+And if it does, the given values will be added to it.
+</p>
+
+<a name="defining"></a>
+<h2 id="defining">Defining Culture Information</h2>
+<p>
+Each culture is defined in its own script with the naming scheme
+globalize.culture.&lt;name&gt;.js. You may include any number of these scripts,
+making them available in the Globalize.cultures mapping. Including one of
+these scripts does NOT automatically make it the current culture selected in the
+Globalize.culture property.
+</p>
+<p>
+The neutral English culture is defined directly in globalize.js, and set
+both to the properties "en" and "default" of the Globalize.cultures mapping.
+Extensive comments describe the purpose of each of the fields defined.
+</p>
+<p>
+Looking at the source code of the scripts for each culture, you will notice
+that each script uses Globalize.addCultureInfo() to have the "default" neutral
+English culture "en", as a common basis, and defines only the properties that
+differ from neutral English.
+</p>
+<p>
+The neutral English culture is listed here along with the comments:
+<pre>
+Globalize.cultures[ "default" ] = {
+	// A unique name for the culture in the form
+	// &lt;language code&gt;-&lt;country/region code&gt;
+	name: "English",
+	// the name of the culture in the English language
+	englishName: "English",
+	// the name of the culture in its own language
+	nativeName: "English",
+	// whether the culture uses right-to-left text
+	isRTL: false,
+	// "language" is used for so-called "specific" cultures.
+	// For example, the culture "es-CL" means Spanish in Chili.
+	// It represents the Spanish-speaking culture as it is in Chili,
+	// which might have different formatting rules or even translations
+	// than Spanish in Spain. A "neutral" culture is one that is not
+	// specific to a region. For example, the culture "es" is the generic
+	// Spanish culture, which may be a more generalized version of the language
+	// that may or may not be what a specific culture expects.
+	// For a specific culture like "es-CL", the "language" field refers to the
+	// neutral, generic culture information for the language it is using.
+	// This is not always a simple matter of the string before the dash.
+	// For example, the "zh-Hans" culture is neutral (Simplified Chinese).
+	// And the "zh-SG" culture is Simplified Chinese in Singapore, whose
+	// language field is "zh-CHS", not "zh".
+	// This field should be used to navigate from a specific culture to its
+	// more general, neutral culture. If a culture is already as general as it
+	// can get, the language may refer to itself.
+	language: "en",
+	// "numberFormat" defines general number formatting rules, like the digits
+	// in each grouping, the group separator, and how negative numbers are
+	// displayed.
+	numberFormat: {
+		// [negativePattern]
+		// Note, numberFormat.pattern has no "positivePattern" unlike percent
+		// and currency, but is still defined as an array for consistency with
+		// them.
+		//	  negativePattern: one of "(n)|-n|- n|n-|n -"
+		pattern: [ "-n" ],
+		// number of decimal places normally shown
+		decimals: 2,
+		// string that separates number groups, as in 1,000,000
+		",": ",",
+		// string that separates a number from the fractional portion,
+		// as in 1.99
+		".": ".",
+		// array of numbers indicating the size of each number group.
+		groupSizes: [ 3 ],
+		// symbol used for positive numbers
+		"+": "+",
+		// symbol used for negative numbers
+		"-": "-",
+		percent: {
+			// [negativePattern, positivePattern]
+			//	   negativePattern: one of "-n %|-n%|-%n|%-n|%n-|n-%|n%-|-% n|n %-|% n-|% -n|n- %"
+			//	   positivePattern: one of "n %|n%|%n|% n"
+			pattern: [ "-n %", "n %" ],
+			// number of decimal places normally shown
+			decimals: 2,
+			// array of numbers indicating the size of each number group.
+			groupSizes: [ 3 ],
+			// string that separates number groups, as in 1,000,000
+			",": ",",
+			// string that separates a number from the fractional portion, as in 1.99
+			".": ".",
+			// symbol used to represent a percentage
+			symbol: "%"
+		},
+		currency: {
+			// [negativePattern, positivePattern]
+			//	   negativePattern: one of "($n)|-$n|$-n|$n-|(n$)|-n$|n-$|n$-|-n $|-$ n|n $-|$ n-|$ -n|n- $|($ n)|(n $)"
+			//	   positivePattern: one of "$n|n$|$ n|n $"
+			pattern: [ "($n)", "$n" ],
+			// number of decimal places normally shown
+			decimals: 2,
+			// array of numbers indicating the size of each number group.
+			groupSizes: [ 3 ],
+			// string that separates number groups, as in 1,000,000
+			",": ",",
+			// string that separates a number from the fractional portion, as in 1.99
+			".": ".",
+			// symbol used to represent currency
+			symbol: "$"
+		}
+	},
+	// "calendars" property defines all the possible calendars used by this
+	// culture. There should be at least one defined with name "standard" which
+	// is the default calendar used by the culture.
+	// A calendar contains information about how dates are formatted,
+	// information about the calendar's eras, a standard set of the date
+	// formats, translations for day and month names, and if the calendar is
+	// not based on the Gregorian calendar, conversion functions to and from
+	// the Gregorian calendar.
+	calendars: {
+		standard: {
+			// name that identifies the type of calendar this is
+			name: "Gregorian_USEnglish",
+			// separator of parts of a date (e.g. "/" in 11/05/1955)
+			"/": "/",
+			// separator of parts of a time (e.g. ":" in 05:44 PM)
+			":": ":",
+			// the first day of the week (0 = Sunday, 1 = Monday, etc)
+			firstDay: 0,
+			days: {
+				// full day names
+				names: [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ],
+				// abbreviated day names
+				namesAbbr: [ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" ],
+				// shortest day names
+				namesShort: [ "Su", "Mo", "Tu", "We", "Th", "Fr", "Sa" ]
+			},
+			months: [
+				// full month names (13 months for lunar calendars -- 13th month should be "" if not lunar)
+				names: [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December", "" ],
+				// abbreviated month names
+				namesAbbr: [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", "" ]
+			],
+			// AM and PM designators in one of these forms:
+			// The usual view, and the upper and lower case versions
+			//		[standard,lowercase,uppercase]
+			// The culture does not use AM or PM (likely all standard date
+			// formats use 24 hour time)
+			//		null
+			AM: [ "AM", "am", "AM" ],
+			PM: [ "PM", "pm", "PM" ],
+			eras: [
+				// eras in reverse chronological order.
+				// name: the name of the era in this culture (e.g. A.D., C.E.)
+				// start: when the era starts in ticks, null if it is the
+				//		  earliest supported era.
+				// offset: offset in years from gregorian calendar
+				{"name":"A.D.","start":null,"offset":0}
+			],
+			// when a two digit year is given, it will never be parsed as a
+			// four digit year greater than this year (in the appropriate era
+			// for the culture)
+			// Set it as a full year (e.g. 2029) or use an offset format
+			// starting from the current year: "+19" would correspond to 2029
+			// if the current year is 2010.
+			twoDigitYearMax: 2029,
+			// set of predefined date and time patterns used by the culture.
+			// These represent the format someone in this culture would expect
+			// to see given the portions of the date that are shown.
+			patterns: {
+				// short date pattern
+				d: "M/d/yyyy",
+				// long date pattern
+				D: "dddd, MMMM dd, yyyy",
+				// short time pattern
+				t: "h:mm tt",
+				// long time pattern
+				T: "h:mm:ss tt",
+				// long date, short time pattern
+				f: "dddd, MMMM dd, yyyy h:mm tt",
+				// long date, long time pattern
+				F: "dddd, MMMM dd, yyyy h:mm:ss tt",
+				// month/day pattern
+				M: "MMMM dd",
+				// month/year pattern
+				Y: "yyyy MMMM",
+				// S is a sortable format that does not vary by culture
+				S: "yyyy\u0027-\u0027MM\u0027-\u0027dd\u0027T\u0027HH\u0027:\u0027mm\u0027:\u0027ss"
+			}
+			// optional fields for each calendar:
+			/*
+			monthsGenitive:
+				Same as months but used when the day preceeds the month.
+				Omit if the culture has no genitive distinction in month names.
+				For an explanation of genitive months, see
+				http://blogs.msdn.com/michkap/archive/2004/12/25/332259.aspx
+			convert:
+				Allows for the support of non-gregorian based calendars. This
+				"convert" object defines two functions to convert a date to and
+				from a gregorian calendar date:
+					fromGregorian( date )
+						Given the date as a parameter, return an array with
+						parts [ year, month, day ] corresponding to the
+						non-gregorian based year, month, and day for the
+						calendar.
+					toGregorian( year, month, day )
+						Given the non-gregorian year, month, and day, return a
+						new Date() object set to the corresponding date in the
+						gregorian calendar.
+			*/
+		}
+	},
+	// Map of messages used by .localize()
+	messages: {}
+}
+</pre>
+</p>
+<p>
+Each culture can have several possible calendars. The calendar named "standard"
+is the default calendar used by that culture. You may change the calendar in
+use by setting the "calendar" field. Take a look at the calendars defined by
+each culture by looking at the script or enumerating its calendars collection.
+<pre>
+// switch to a non-standard calendar
+Globalize.culture().calendar = Globalize.culture().calendars.SomeOtherCalendar;
+// back to the standard calendar
+Globalize.culture().calendar = Globalize.culture().calendars.standard;
+</pre>
+
+</p>
+
+<a name="numbers"></a>
+<h2 id="numbers">Number Formatting</h2>
+<p>
+When formatting a number with format(), the main purpose is to convert the
+number into a human readable string using the culture's standard grouping and
+decimal rules. The rules between cultures can vary a lot. For example, in some
+cultures, the grouping of numbers is done unevenly. In the "te-IN" culture
+(Telugu in India), groups have 3 digits and then 2 digits. The number 1000000
+(one million) is written as "10,00,000". Some cultures do not group numbers at
+all.
+</p>
+<p>
+There are four main types of number formatting:
+<ul>
+<li><strong>n</strong> for number</li>
+<li><strong>d</strong> for decimal digits</li>
+<li><strong>p</strong> for percentage</li>
+<li><strong>c</strong> for currency</li>
+</ul>
+Even within the same culture, the formatting rules can vary between these four
+types of numbers. For example, the expected number of decimal places may differ
+from the number format to the currency format. Each format token may also be
+followed by a number. The number determines how many decimal places to display
+for all the format types except decimal, for which it means the minimum number
+of digits to display, zero padding it if necessary. Also note that the way
+negative numbers are represented in each culture can vary, such as what the
+negative sign is, and whether the negative sign appears before or after the
+number. This is especially apparent with currency formatting, where many
+cultures use parentheses instead of a negative sign.
+<pre>
+// just for example - will vary by culture
+Globalize.format( 123.45, "n" ); // 123.45
+Globalize.format( 123.45, "n0" ); // 123
+Globalize.format( 123.45, "n1" ); // 123.5
+
+Globalize.format( 123.45, "d" ); // 123
+Globalize.format( 12, "d3" ); // 012
+
+Globalize.format( 123.45, "c" ); // $123.45
+Globalize.format( 123.45, "c0" ); // $123
+Globalize.format( 123.45, "c1" ); // $123.5
+Globalize.format( -123.45, "c" ); // ($123.45)
+
+Globalize.format( 0.12345, "p" ); // 12.35 %
+Globalize.format( 0.12345, "p0" ); // 12 %
+Globalize.format( 0.12345, "p4" ); // 12.3450 %
+</pre>
+Parsing with parseInt and parseFloat also accepts any of these formats.
+</p>
+
+<a name="currency"></a>
+<h2 id="currency">Currency Formatting</h2>
+<p>
+Globalize has a default currency symbol for each locale. This is used when
+formatting a currency value such as
+<pre>
+Globalize.format( 1234.56, "c" ); // $1,234.56
+</pre>
+You can change the currency symbol for a locale by modifying the culture's
+<code>numberFormat.currency.symbol</code> property:
+<pre>
+Globalize.culture( "en-US" ).numberFormat.currency.symbol = '\u20ac'; // euro sign U+20AC
+</pre>
+If you need to switch between currency symbols, you could write a function
+to do that, such as
+<pre>
+function setCurrency( currSym ) {
+  Globalize.culture().numberFormat.currency.symbol = currSym;
+}
+</pre>
+
+<a name="dates"></a>
+<h2 id="dates">Date Formatting</h2>
+<p>
+Date formatting varies wildly by culture, not just in the spelling of month and
+day names, and the date separator, but by the expected order of the various
+date components, whether to use a 12 or 24 hour clock, and how months and days
+are abbreviated. Many cultures even include "genitive" month names, which are
+different from the typical names and are used only in certain cases.
+</p>
+<p>
+Also, each culture has a set of "standard" or "typical" formats. For example,
+in "en-US", when displaying a date in its fullest form, it looks like
+"Saturday, November 05, 1955". Note the non-abbreviated day and month name, the
+zero padded date, and four digit year. So, Globalize expects a certain set
+of "standard" formatting strings for dates in the "patterns" property of the
+"standard" calendar of each culture, that describe specific formats for the
+culture. The third column shows example values in the neutral English culture
+"en-US"; see the second table for the meaning tokens used in date formats.
+
+<pre>
+// just for example - will vary by culture
+Globalize.format( new Date(2012, 1, 20), 'd' ); // 2/20/2012
+Globalize.format( new Date(2012, 1, 20), 'D' ); // Monday, February 20, 2012
+</pre>
+<p>
+
+</p>
+<table>
+<tr>
+  <th>Format</th>
+  <th>Meaning</th>
+  <th>"en-US"</th>
+</tr>
+<tr>
+   <td>f</td>
+   <td>Long Date, Short Time</td>
+   <td>dddd, MMMM dd, yyyy h:mm tt</td>
+</tr>
+<tr>
+   <td>F</td>
+   <td>Long Date, Long Time</td>
+   <td>dddd, MMMM dd, yyyy h:mm:ss tt</td>
+</tr>
+<tr>
+   <td>t</td>
+   <td>Short Time</td>
+   <td>h:mm tt</td>
+</tr>
+<tr>
+   <td>T</td>
+   <td>Long Time</td>
+   <td>h:mm:ss tt</td>
+</tr>
+<tr>
+   <td>d</td>
+   <td>Short Date</td>
+   <td>M/d/yyyy</td>
+</tr>
+<tr>
+   <td>D</td>
+   <td>Long Date</td>
+   <td>dddd, MMMM dd, yyyy</td>
+</tr>
+<tr>
+   <td>Y</td>
+   <td>Month/Year</td>
+   <td>MMMM, yyyy</td>
+</tr>
+<tr>
+   <td>M</td>
+   <td>Month/Day</td>
+   <td>MMMM dd</td>
+</tr>
+</table>
+</p>
+<p>
+In addition to these standard formats, there is the "S" format. This is a
+sortable format that is identical in every culture:
+"<strong>yyyy'-'MM'-'dd'T'HH':'mm':'ss</strong>".
+</p>
+<p>
+When more specific control is needed over the formatting, you may use any
+format you wish by specifying the following custom tokens:
+<table>
+<tr>
+   <th>Token</th>
+   <th>Meaning</th>
+   <th>Example</th>
+</tr>
+<tr>
+   <td>d</td>
+   <td>Day of month (no leading zero)</td>
+   <td>5</td>
+</tr>
+<tr>
+   <td>dd</td>
+   <td>Day of month (leading zero)</td>
+   <td>05</td>
+</tr>
+<tr>
+   <td>ddd</td>
+   <td>Day name (abbreviated)</td>
+   <td>Sat</td>
+</tr>
+<tr>
+   <td>dddd</td>
+   <td>Day name (full)</td>
+   <td>Saturday</td>
+</tr>
+<tr>
+   <td>M</td>
+   <td>Month of year (no leading zero)</td>
+   <td>9</td>
+</tr>
+<tr>
+   <td>MM</td>
+   <td>Month of year (leading zero)</td>
+   <td>09</td>
+</tr>
+<tr>
+   <td>MMM</td>
+   <td>Month name (abbreviated)</td>
+   <td>Sep</td>
+</tr>
+<tr>
+   <td>MMMM</td>
+   <td>Month name (full)</td>
+   <td>September</td>
+</tr>
+<tr>
+   <td>yy</td>
+   <td>Year (two digits)</td>
+   <td>55</td>
+</tr>
+<tr>
+   <td>yyyy</td>
+   <td>Year (four digits)</td>
+   <td>1955</td>
+</tr>
+<tr>
+   <td>'literal'</td>
+   <td>Literal Text</td>
+   <td>'of the clock'</td>
+</tr>
+<tr>
+   <td>\'</td>
+   <td>Single Quote</td>
+   <td>'o'\''clock'</td><!-- o'clock -->
+</tr>
+<tr>
+   <td>m</td>
+   <td>Minutes (no leading zero)</td>
+   <td>9</td>
+</tr>
+<tr>
+   <td>mm</td>
+   <td>Minutes (leading zero)</td>
+   <td>09</td>
+</tr>
+<tr>
+   <td>h</td>
+   <td>Hours (12 hour time, no leading zero)</td>
+   <td>6</td>
+</tr>
+<tr>
+   <td>hh</td>
+   <td>Hours (12 hour time, leading zero)</td>
+   <td>06</td>
+</tr>
+<tr>
+   <td>H</td>
+   <td>Hours (24 hour time, no leading zero)</td>
+   <td>5 (5am) 15 (3pm)</td>
+</tr>
+<tr>
+   <td>HH</td>
+   <td>Hours (24 hour time, leading zero)</td>
+   <td>05 (5am) 15 (3pm)</td>
+</tr>
+<tr>
+   <td>s</td>
+   <td>Seconds (no leading zero)</td>
+   <td>9</td>
+</tr>
+<tr>
+   <td>ss</td>
+   <td>Seconds (leading zero)</td>
+   <td>09</td>
+</tr>
+<tr>
+   <td>f</td>
+   <td>Deciseconds</td>
+   <td>1</td>
+</tr>
+<tr>
+   <td>ff</td>
+   <td>Centiseconds</td>
+   <td>11</td>
+</tr>
+<tr>
+   <td>fff</td>
+   <td>Milliseconds</td>
+   <td>111</td>
+</tr>
+<tr>
+   <td>t</td>
+   <td>AM/PM indicator (first letter)</td>
+   <td>A or P</td>
+</tr>
+<tr>
+   <td>tt</td>
+   <td>AM/PM indicator (full)</td>
+   <td>AM or PM</td>
+</tr>
+<tr>
+   <td>z</td>
+   <td>Timezone offset (hours only, no leading zero)</td>
+   <td>-8</td>
+</tr>
+<tr>
+   <td>zz</td>
+   <td>Timezone offset (hours only, leading zero)</td>
+   <td>-08</td>
+</tr>
+<tr>
+   <td>zzz</td>
+   <td>Timezone offset (full hours/minutes)</td>
+   <td>-08:00</td>
+</tr>
+<tr>
+   <td>g or gg</td>
+   <td>Era name</td>
+   <td>A.D.</td>
+</tr>
+</table>
+</p>
+
+<a name="generating"></a>
+<h1 id="generating">Generating Culture Files</h1>
+
+The Globalize culture files are generated JavaScript containing metadata and
+functions based on culture info in the Microsoft .Net Framework 4.
+
+<h2>Requirements</h2>
+
+<ul>
+	<li>Windows</li>
+	<li>Microsoft .Net Framework 4 (Full, not just Client Profile) <a href="http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&FamilyID=0a391abd-25c1-4fc0-919f-b21f31ab88b7">download dotNetFx40_Full_x86_x64.exe</a></li>
+</ul>
+
+<h2>Building the generator</h2>
+
+1. Open a Windows Command Prompt ( Start -> Run... -> cmd )
+1. Change directory to root of Globalize project (where README.md file is located)
+1. >"C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild" generator\generator.csproj
+
+<h2>Running the generator</h2>
+
+1. Open a Windows Command Prompt
+1. Change directory to root of Globalize project (where README.md file is located)
+1. >"generator\bin\Debug\generator.exe"
+
+<a name="building"></a>
+<h1 id="building">Building Globalize</h1>
+
+Globalize is built using <a href="https://github.com/cowboy/grunt">grunt</a>, a
+node-based build utility. First, make sure grunt is installed globally:
+
+<pre>
+> npm install -g grunt
+</pre>
+
+then you can lint and test by simply running grunt in the globalize folder
+
+<pre>
+> cd globalize
+> grunt
+</pre>

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/185f7c50/security-admin/src/main/webapp/libs/bower/globalize/examples/browser/browser.css
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/libs/bower/globalize/examples/browser/browser.css b/security-admin/src/main/webapp/libs/bower/globalize/examples/browser/browser.css
new file mode 100644
index 0000000..3b8bc5b
--- /dev/null
+++ b/security-admin/src/main/webapp/libs/bower/globalize/examples/browser/browser.css
@@ -0,0 +1,80 @@
+body {
+	font-family: Arial
+}
+a {
+	color: #6D929B;
+}
+input {
+	width: 100px;
+	margin: 5px;
+}
+.results  {
+	border-collapse: collapse;
+}
+.results td {
+	border: 1px solid #C1DAD7;
+	padding: 2px 2px 2px 2px;
+	color: #6D929B;
+	font-size: x-small;
+	white-space: nowrap;
+	text-align: center;
+}
+.results th {
+	border: 1px solid #C1DAD7;
+	letter-spacing: 2px;
+	text-align: center;
+	padding: 6px 6px 6px 12px;
+	white-space: nowrap;
+}
+table {
+	width: 100%;
+}
+fieldset.info {
+	width: 45%;
+	float: left;
+}
+.info td {
+	font-size: x-small;
+}
+
+.tab {
+	margin-top: 5px;
+	margin-right: 5px;
+	padding: 2px;
+	cursor: pointer;
+	background-color: #EEEEEE;
+}
+
+.active {
+	border: 1px solid black;
+	float: left;
+}
+
+.inactive {
+	float: left;
+}
+
+.tab.active {
+	font-weight: bold;
+	border: 1px solid black;
+	float: left;
+}
+
+div.inactive {
+	display: none;
+}
+
+div.active {
+	clear: both;
+	min-width: 100%;
+}
+
+.pane {
+	margin-top: 10px;
+	clear: both;
+}
+
+#intro {
+	font-size: x-small;
+	margin-bottom: 10px;
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/185f7c50/security-admin/src/main/webapp/libs/bower/globalize/examples/browser/browser.js
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/libs/bower/globalize/examples/browser/browser.js b/security-admin/src/main/webapp/libs/bower/globalize/examples/browser/browser.js
new file mode 100644
index 0000000..a639435
--- /dev/null
+++ b/security-admin/src/main/webapp/libs/bower/globalize/examples/browser/browser.js
@@ -0,0 +1,115 @@
+(function( $ ) {
+
+$(function() {
+
+    // setup sample data
+    window.numbers = [
+       0, 1, 10, 100, 1000, 10000, 0.1, 0.12, 0.123, 0.1234, 0.12345, 1000.123, 10000.12345,
+          -1, -10, -100, -1000, -10000, -0.1, -0.12, -0.123, -0.1234, -0.12345, -1000.123, -10000.12345
+    ];
+    window.formats = [
+       "n", "n1", "n3", "d", "d2", "d3", "p", "p1", "p3", "c", "c0"
+    ];
+    window.dates = $.map([
+        "Jan 1, 1970 1:34 PM", "Dec 31, 1970 1:34 PM", "Apr 1, 1999 1:34 PM", "Dec 31, 1999 1:34 PM", "Jan 1, 2000 1:34 PM", "Nov 5, 1955 1:34 PM"
+    ], function(d) { return d instanceof Date ? d : new Date(Date.parse(d)); } );
+
+    window.dateFormats = [
+        "d", "D", "f", "F", "M", "S", "t", "T", "Y"
+    ];
+
+    // add template extensions to format numbers and dates declaratively
+    $.extend( $.tmplcmd, {
+        demoFormat: {
+            _default: [0,0],
+            prefix: "_.push(Globalize.format(numbers[$2],formats[$1]));"
+        },
+        demoDateFormat: {
+            _default: [0,0],
+            prefix: "_.push(Globalize.format(dates[$2],typeof $1 === 'number' ? dateFormats[$1] : $1));"
+        }
+    });
+
+    // activate tabs
+    $(".tab").click(function() {
+        $(".active").removeClass("active").addClass("inactive");
+        $("#" + this.id + "content").removeClass("inactive").addClass("active");
+        $(this).removeClass("inactive").addClass("active");
+    });
+
+    // fill cultures dropdown with the available cultures
+    $.each(sortByName(Globalize.cultures), function(i, culture) {
+        $("<option/>", {
+            value: culture.name,
+            text: culture.name + ": " + culture.englishName + " (" + culture.nativeName + ")"
+        }).appendTo("#cultures");
+    });
+
+    // re-render templates after selecting a culture
+    $("#cultures").bind("change keyup", selectCulture)
+        // set default culture to Japanese in Japan
+        .val("ja-JP");
+
+    // re-render templates after selecting a calendar
+    var calendars = $("#calendars").bind("change keyup", function() {
+        Globalize.culture().calendar = Globalize.culture().calendars[calendars.val()] || Globalize.culture().calendars.standard;
+        render();
+    });
+
+    $("#parseDate").change(function() {
+        $("#parseDateResult").text(Globalize.parseDate($(this).val()).toString());
+    });
+    $("#parseNumber").change(function() {
+        $("#parseNumberResult").text(Globalize.parseFloat($(this).val()).toString());
+    });
+
+    function sortByName(map) {
+        // converts a dictionary into a sorted dictionary based on obj.name
+        var arr = [];
+        $.each(map, function(name, value) {
+            arr.push(value);
+        });
+        arr.sort(function(a, b) {
+            return a.name < b.name ? -1 : 1;
+        });
+        return arr;
+    }
+
+    function selectCulture() {
+        // sets the current culture to the value specified in the cultures dropdown,
+        // populates the calendars dropdown with that cultures calendars,
+        // and renders the formatting templates.
+        Globalize.culture($("#cultures").val());
+
+        calendars.empty();
+        $.each(sortByName(Globalize.culture().calendars), function(i, cal) {
+            $("<option/>", { value: cal.name, text: cal.name }).appendTo(calendars);
+        });
+        calendars.val(Globalize.culture().calendar.name);
+
+        render();
+    }
+
+    function render() {
+        $("#dateformat").empty();
+        $("#dateformattmpl").render({}).appendTo("#dateformat");
+
+        $("#format").empty();
+        $("#formattmpl").render({}).appendTo("#format");
+
+        $("#englishName").text(Globalize.culture().englishName);
+        $("#nativeName").text(Globalize.culture().nativeName);
+        $("#isRTL").text(Globalize.culture().isRTL ? "YES" : "no");
+
+        $("#infonumber").empty();
+        $("#infonumbertmpl").render(Globalize.culture().numberFormat).appendTo("#infonumber");
+
+        $("#infodate").empty();
+        $("#infodatetmpl").render(Globalize.culture().calendar).appendTo("#infodate");
+    }
+
+    // initial rendering
+    selectCulture();
+});
+
+}( jQuery ));

http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/185f7c50/security-admin/src/main/webapp/libs/bower/globalize/examples/browser/index.html
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/libs/bower/globalize/examples/browser/index.html b/security-admin/src/main/webapp/libs/bower/globalize/examples/browser/index.html
new file mode 100644
index 0000000..c7af94d
--- /dev/null
+++ b/security-admin/src/main/webapp/libs/bower/globalize/examples/browser/index.html
@@ -0,0 +1,265 @@
+<!DOCTYPE html>
+<html>
+<head>
+	<meta charset="UTF-8">
+    <title>Globalization Demo</title>
+    <link type="text/css" rel="Stylesheet" href="browser.css">
+    <script src="../../lib/globalize.js"></script>
+    <script src="../../lib/cultures/globalize.cultures.js"></script>
+    <script src="jquery-1.4.4.js"></script>
+    <script src="jquery.tmpl.js"></script>
+    <script src="browser.js"></script>
+    <script id="formattmpl" type="text/x-jquery-tmpl">
+        <tr>
+            <th>Number</th>
+            {{each formats}}
+            <th>{{=}}</th>
+            {{/each}}
+        </tr>
+        {{each(i) numbers}}
+        <tr class="result">
+            <td>
+                ${numbers[i]}
+            </td>
+            {{each(j) formats}}
+            <td>
+            {{demoFormat(i) j}}
+            </td>
+            {{/each}}
+        </tr>
+        {{/each}}
+    </script>
+    <script id="dateformattmpl" type="text/x-jquery-tmpl">
+        <tr>
+            <th>Date</th>
+            {{each dateFormats}}
+            <th>{{=}}</th>
+            {{/each}}
+        </tr>
+        {{each(i) dates}}
+        <tr class="result">
+            <td>
+				{{=}}
+            </td>
+            {{each(j) dateFormats}}
+            <td>
+            {{demoDateFormat(i) j}}
+            </td>
+            {{/each}}
+        </tr>
+        {{/each}}
+    </script>
+    <script id="infonumbertmpl" type="text/x-jquery-tmpl">
+        <legend>Number Formatting</legend>
+        <table class="info">
+            <tr>
+                <td>Pattern</td>
+                <td>${pattern}</td>
+                <td>Decimals</td>
+                <td>${decimals} (${$data['.']})</td>
+            </tr>
+            <tr>
+                <td>Grouping</td>
+                <td>${$data[',']}</td>
+                <td>Group Size</td>
+                <td>${groupSizes}</td>
+            </tr>
+            <tr>
+                <td>Positive</td>
+                <td>${$data['+']}</td>
+                <td>Negative</td>
+                <td>${$data['-']}</td>
+            </tr>
+            <tr>
+                <td colspan="4" align="center">Percent (symbol = ${percent.symbol})</td>
+            </tr>
+            <tr>
+                <td>Pattern</td>
+                <td>${percent.pattern}</td>
+                <td>Decimals</td>
+                <td>${percent.decimals} (${percent['.']})</td>
+            </tr>
+            <tr>
+                <td>Grouping</td>
+                <td>${percent[',']}</td>
+                <td>Group Size</td>
+                <td>${percent.groupSizes}</td>
+            </tr>
+            <tr>
+                <td colspan="4" align="center">Currency (symbol = ${currency.symbol})</td>
+            </tr>
+            <tr>
+                <td>Pattern</td>
+                <td>${currency.pattern}</td>
+                <td>Decimals</td>
+                <td>${currency.decimals} (${currency['.']})</td>
+            </tr>
+            <tr>
+                <td>Grouping</td>
+                <td>${currency[',']}</td>
+                <td>Group Size</td>
+                <td>${currency.groupSizes}</td>
+            </tr>
+        </table>
+    </script>
+    <script id="infodatetmpl" type="text/x-jquery-tmpl">
+        <legend>Date Formatting</legend>
+        <table class="info">
+            <tr>
+                <td>Name</td>
+                <td colspan="3">${name}</td>
+            </tr>
+            <tr>
+                <td>AM</td>
+                <td>${AM}</td>
+                <td>PM</td>
+                <td>${PM}</td>
+            </tr>
+            <tr>
+                <td>Eras</td>
+                <td colspan="3">
+                    <ol>
+                    {{each eras}}
+                    <li>${name} (year offset ${offset})</li>
+                    {{/each}}
+                    </ol>
+                </td>
+            </tr>
+            <tr>
+                <td>Days</td>
+                <td colspan="3">
+                    <ol>
+                        {{each days.names}}
+                        <li>{{=}}</li>
+                        {{/each}}
+                    </ol>
+                </td>
+            </tr>
+            <tr>
+                <td>Days (abbreviated)</td>
+                <td colspan="3">
+                    <ol>
+                        {{each days.namesAbbr}}
+                        <li>{{=}}</li>
+                        {{/each}}
+                    </ol>
+                </td>
+            </tr>
+            <tr>
+                <td>Days (shortest)</td>
+                <td colspan="3">
+                    <ol>
+                        {{each days.namesShort}}
+                        <li>{{=}}</li>
+                        {{/each}}
+                    </ol>
+                </td>
+            </tr>
+            <tr>
+                <td>Months</td>
+                <td colspan="3">
+                    <ol>
+                        {{each months.names}}
+                        <li>{{=}}</li>
+                        {{/each}}
+                    </ol>
+                </td>
+            </tr>
+            <tr>
+                <td>Months (abbreviated)</td>
+                <td colspan="3">
+                    <ol>
+                        {{each months.namesAbbr}}
+                        <li>{{=}}</li>
+                        {{/each}}
+                    </ol>
+                </td>
+            </tr>
+            {{if typeof monthsGenitive !== 'undefined'}}
+            <tr>
+                <td>Months (Genitive)</td>
+                <td>${monthsGenitive.names}</td>
+                <td>Months (Abbr. Gen.)</td>
+                <td>${monthsGenitive.namesAbbr}</td>
+            </tr>
+            {{/if}}
+            <tr>
+                <td align="center" colspan="4">Patterns</td>
+            </tr>
+            {{each(n,v) patterns}}
+            <tr>
+                <td>${n}</td>
+                <td colspan="3">{{=}}</td>
+            </tr>
+            {{/each}}
+        </table>
+    </script>
+</head>
+
+<body>
+<div id="intro">
+This is a demo of the Globalize library. You can follow the discussion and provide feedback on the planning page, here:
+<br/><a href="http://wiki.jqueryui.com/Globalization">Globalization wiki page</a>
+<br/>
+And you can view the source from here or keep up to date with it on github, here:
+<br/><a href="https://github.com/jquery/globalize/">Globalize on GitHub</a>
+</div>
+
+<div>
+    Culture:
+    <select id="cultures"></select>
+</div>
+<div>
+    Calendar:
+    <select id="calendars"></select>
+</div>
+
+<div class="pane">
+    <span class="tab active" id="dates">Dates</span>
+    <span class="tab inactive" id="numbers">Numbers</span>
+    <span class="tab inactive" id="info">Info</span>
+
+    <div id="datescontent" class="active">
+        <table id="dateformat" class="results">
+        </table>
+        <b>Parsing:</b> Type a date in one of the culture formats:
+        <input id="parseDate" type="text" /><span id="parseDateResult"></span>
+    </div>
+
+    <div id="numberscontent" class="inactive">
+        <table id="format" class="results">
+        </table>
+        <b>Parsing:</b> Type a number using the culture group and decimal separators:
+        <input id="parseNumber" type="text" /><span id="parseNumberResult"></span>
+    </div>
+
+    <div id="infocontent" class="inactive">
+        <p>
+            Name (in English) "<span id="englishName"></span>"<br />
+            Name (in Native Language) "<span id="nativeName"></span>".<br />
+            Is RTL culture? <span id="isRTL"></span>.
+        </p>
+        <fieldset id="infonumber" class="info">
+        </fieldset>
+        <fieldset id="infodate" class="info">
+        </fieldset>
+    </div>
+
+</div>
+
+<div class="pane">
+
+Interesting cultures to preview:
+<ul>
+    <li>ja-JP: Has an optional calendar that has 4 different eras.</li>
+    <li>th-TH: Standard calendar has a year offset.</li>
+    <li>te-IN: Numbers have unequal groupings.</li>
+    <li>ar-SA: Standard calendar is UmAlQura, a non-gregorian based calendar that requires custom conversion logic.
+    It also supports the Hijri calendar, and a standard gregorian calendar translated into one of <i>4 languages</i>.
+    </li>
+</ul>
+
+</div>
+
+</body>
+</html>


Mime
View raw message