text: /*
   * angular-ui-bootstrap
   * http://angular-ui.github.io/bootstrap/
  
   * Version: 0.12.0 - 2014-11-16
   * License: MIT
   */
  angular.module("ui.bootstrap",["ui.bootstrap.tpls","ui.bootstrap.transition","ui.bootstrap.alert","ui.bootstrap.pagination","ui.bootstrap.tooltip","ui.bootstrap.position","ui.bootstrap.bindHtml","ui.bootstrap.collapse"]),angular.module("ui.bootstrap.tpls",["template/alert/alert.html","template/pagination/pager.html","template/pagination/pagination.html","template/tooltip/tooltip-html-unsafe-popup.html","template/tooltip/tooltip-popup.html"]),angular.module("ui.bootstrap.transition",[]).factory("$transition",["$q","$timeout","$rootScope",function(t,e,n){function i(t){for(var e in t)if(void 0!==a.style[e])return t[e]}var o=function(i,a,r){r=r||{};var l=t.defer(),s=o[r.animation?"animationEndEventName":"transitionEndEventName"],u=function(){n.$apply(function(){i.unbind(s,u),l.resolve(i)})};return s&&i.bind(s,u),e(function(){angular.isString(a)?i.addClass(a):angular.isFunction(a)?a(i):angular.isObject(a)&&i.css(a),s||l.resolve(i)}),l.promise.cancel=function(){s&&i.unbind(s,u),l.reject("Transition cancelled")},l.promise},a=document.createElement("trans"),r={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",transition:"transitionend"},l={WebkitTransition:"webkitAnimationEnd",MozTransition:"animationend",OTransition:"oAnimationEnd",transition:"animationend"};return o.transitionEndEventName=i(r),o.animationEndEventName=i(l),o}]),angular.module("ui.bootstrap.alert",[]).controller("AlertController",["$scope","$attrs",function(t,e){t.closeable="close"in e,this.close=t.close}]).directive("alert",function(){return{restrict:"EA",controller:"AlertController",templateUrl:"template/alert/alert.html",transclude:!0,replace:!0,scope:{type:"@",close:"&"}}}).directive("dismissOnTimeout",["$timeout",function(t){return{require:"alert",link:function(e,n,i,o){t(function(){o.close()},parseInt(i.dismissOnTimeout,10))}}}]),angular.module("ui.bootstrap.pagination",[]).controller("PaginationController",["$scope","$attrs","$parse",function(t,e,n){var i=this,o={$setViewValue:angular.noop},a=e.numPages?n(e.numPages).assign:angular.noop;this.init=function(a,r){o=a,this.config=r,o.$render=function(){i.render()},e.itemsPerPage?t.$parent.$watch(n(e.itemsPerPage),function(e){i.itemsPerPage=parseInt(e,10),t.totalPages=i.calculateTotalPages()}):this.itemsPerPage=r.itemsPerPage},this.calculateTotalPages=function(){var e=this.itemsPerPage<1?1:Math.ceil(t.totalItems/this.itemsPerPage);return Math.max(e||0,1)},this.render=function(){t.page=parseInt(o.$viewValue,10)||1},t.selectPage=function(e){t.page!==e&&e>0&&e<=t.totalPages&&(o.$setViewValue(e),o.$render())},t.getText=function(e){return t[e+"Text"]||i.config[e+"Text"]},t.noPrevious=function(){return 1===t.page},t.noNext=function(){return t.page===t.totalPages},t.$watch("totalItems",function(){t.totalPages=i.calculateTotalPages()}),t.$watch("totalPages",function(e){a(t.$parent,e),t.page>e?t.selectPage(e):o.$render()})}]).constant("paginationConfig",{itemsPerPage:10,boundaryLinks:!1,directionLinks:!0,firstText:"First",previousText:"Previous",nextText:"Next",lastText:"Last",rotate:!0}).directive("pagination",["$parse","paginationConfig",function(t,e){return{restrict:"EA",scope:{totalItems:"=",firstText:"@",previousText:"@",nextText:"@",lastText:"@"},require:["pagination","?ngModel"],controller:"PaginationController",templateUrl:"template/pagination/pagination.html",replace:!0,link:function(n,i,o,a){function r(t,e,n){return{number:t,text:e,active:n}}function l(t,e){var n=[],i=1,o=e,a=angular.isDefined(p)&&e>p;a&&(c?(i=Math.max(t-Math.floor(p/2),1),o=i+p-1,o>e&&(o=e,i=o-p+1)):(i=(Math.ceil(t/p)-1)*p+1,o=Math.min(i+p-1,e)));for(var l=i;o>=l;l++){var s=r(l,l,l===t);n.push(s)}if(a&&!c){if(i>1){var u=r(i-1,"...",!1);n.unshift(u)}if(e>o){var f=r(o+1,"...",!1);n.push(f)}}return n}var s=a[0],u=a[1];if(u){var p=angular.isDefined(o.maxSize)?n.$parent.$eval(o.maxSize):e.maxSize,c=angular.isDefined(o.rotate)?n.$parent.$eval(o.rotate):e.rotate;n.boundaryLinks=angular.isDefined(o.boundaryLinks)?n.$parent.$eval(o.boundaryLinks):e.boundaryLinks,n.directionLinks=angular.isDefined(o.directionLinks)?n.$parent.$eval(o.directionLinks):e.directionLinks,s.init(u,e),o.maxSize&&n.$parent.$watch(t(o.maxSize),function(t){p=parseInt(t,10),s.render()});var f=s.render;s.render=function(){f(),n.page>0&&n.page<=n.totalPages&&(n.pages=l(n.page,n.totalPages))}}}}}]).constant("pagerConfig",{itemsPerPage:10,previousText:"« Previous",nextText:"Next »",align:!0}).directive("pager",["pagerConfig",function(t){return{restrict:"EA",scope:{totalItems:"=",previousText:"@",nextText:"@"},require:["pager","?ngModel"],controller:"PaginationController",templateUrl:"template/pagination/pager.html",replace:!0,link:function(e,n,i,o){var a=o[0],r=o[1];r&&(e.align=angular.isDefined(i.align)?e.$parent.$eval(i.align):t.align,a.init(r,t))}}}]),angular.module("ui.bootstrap.tooltip",["ui.bootstrap.position","ui.bootstrap.bindHtml"]).provider("$tooltip",function(){function t(t){var e=/[A-Z]/g,n="-";return t.replace(e,function(t,e){return(e?n:"")+t.toLowerCase()})}var e={placement:"top",animation:!0,popupDelay:0},n={mouseenter:"mouseleave",click:"click",focus:"blur"},i={};this.options=function(t){angular.extend(i,t)},this.setTriggers=function(t){angular.extend(n,t)},this.$get=["$window","$compile","$timeout","$document","$position","$interpolate",function(o,a,r,l,s,u){return function(o,p,c){function f(t){var e=t||g.trigger||c,i=n[e]||e;return{show:e,hide:i}}var g=angular.extend({},e,i),d=t(o),m=u.startSymbol(),h=u.endSymbol(),v="<div "+d+'-popup title="'+m+"title"+h+'" content="'+m+"content"+h+'" placement="'+m+"placement"+h+'" animation="animation" is-open="isOpen"></div>';return{restrict:"EA",compile:function(){var t=a(v);return function(e,n,i){function a(){O.isOpen?c():u()}function u(){(!D||e.$eval(i[p+"Enable"]))&&(b(),O.popupDelay?k||(k=r(d,O.popupDelay,!1),k.then(function(t){t()})):d()())}function c(){e.$apply(function(){m()})}function d(){return k=null,w&&(r.cancel(w),w=null),O.content?(h(),T.css({top:0,left:0,display:"block"}),C?l.find("body").append(T):n.after(T),L(),O.isOpen=!0,O.$digest(),L):angular.noop}function m(){O.isOpen=!1,r.cancel(k),k=null,O.animation?w||(w=r(v,500)):v()}function h(){T&&v(),y=O.$new(),T=t(y,angular.noop)}function v(){w=null,T&&(T.remove(),T=null),y&&(y.$destroy(),y=null)}function b(){$(),P()}function $(){var t=i[p+"Placement"];O.placement=angular.isDefined(t)?t:g.placement}function P(){var t=i[p+"PopupDelay"],e=parseInt(t,10);O.popupDelay=isNaN(e)?g.popupDelay:e}function x(){var t=i[p+"Trigger"];H(),E=f(t),E.show===E.hide?n.bind(E.show,a):(n.bind(E.show,u),n.bind(E.hide,c))}var T,y,w,k,C=angular.isDefined(g.appendToBody)?g.appendToBody:!1,E=f(void 0),D=angular.isDefined(i[p+"Enable"]),O=e.$new(!0),L=function(){var t=s.positionElements(n,T,O.placement,C);t.top+="px",t.left+="px",T.css(t)};O.isOpen=!1,i.$observe(o,function(t){O.content=t,!t&&O.isOpen&&m()}),i.$observe(p+"Title",function(t){O.title=t});var H=function(){n.unbind(E.show,u),n.unbind(E.hide,c)};x();var S=e.$eval(i[p+"Animation"]);O.animation=angular.isDefined(S)?!!S:g.animation;var A=e.$eval(i[p+"AppendToBody"]);C=angular.isDefined(A)?A:C,C&&e.$on("$locationChangeSuccess",function(){O.isOpen&&m()}),e.$on("$destroy",function(){r.cancel(w),r.cancel(k),H(),v(),O=null})}}}}}]}).directive("tooltipPopup",function(){return{restrict:"EA",replace:!0,scope:{content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-popup.html"}}).directive("tooltip",["$tooltip",function(t){return t("tooltip","tooltip","mouseenter")}]).directive("tooltipHtmlUnsafePopup",function(){return{restrict:"EA",replace:!0,scope:{content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-html-unsafe-popup.html"}}).directive("tooltipHtmlUnsafe",["$tooltip",function(t){return t("tooltipHtmlUnsafe","tooltip","mouseenter")}]),angular.module("ui.bootstrap.position",[]).factory("$position",["$document","$window",function(t,e){function n(t,n){return t.currentStyle?t.currentStyle[n]:e.getComputedStyle?e.getComputedStyle(t)[n]:t.style[n]}function i(t){return"static"===(n(t,"position")||"static")}var o=function(e){for(var n=t[0],o=e.offsetParent||n;o&&o!==n&&i(o);)o=o.offsetParent;return o||n};return{position:function(e){var n=this.offset(e),i={top:0,left:0},a=o(e[0]);a!=t[0]&&(i=this.offset(angular.element(a)),i.top+=a.clientTop-a.scrollTop,i.left+=a.clientLeft-a.scrollLeft);var r=e[0].getBoundingClientRect();return{width:r.width||e.prop("offsetWidth"),height:r.height||e.prop("offsetHeight"),top:n.top-i.top,left:n.left-i.left}},offset:function(n){var i=n[0].getBoundingClientRect();return{width:i.width||n.prop("offsetWidth"),height:i.height||n.prop("offsetHeight"),top:i.top+(e.pageYOffset||t[0].documentElement.scrollTop),left:i.left+(e.pageXOffset||t[0].documentElement.scrollLeft)}},positionElements:function(t,e,n,i){var o,a,r,l,s=n.split("-"),u=s[0],p=s[1]||"center";o=i?this.offset(t):this.position(t),a=e.prop("offsetWidth"),r=e.prop("offsetHeight");var c={center:function(){return o.left+o.width/2-a/2},left:function(){return o.left},right:function(){return o.left+o.width}},f={center:function(){return o.top+o.height/2-r/2},top:function(){return o.top},bottom:function(){return o.top+o.height}};switch(u){case"right":l={top:f[p](),left:c[u]()};break;case"left":l={top:f[p](),left:o.left-a};break;case"bottom":l={top:f[u](),left:c[p]()};break;default:l={top:o.top-r,left:c[p]()}}return l}}}]),angular.module("ui.bootstrap.bindHtml",[]).directive("bindHtmlUnsafe",function(){return function(t,e,n){e.addClass("ng-binding").data("$binding",n.bindHtmlUnsafe),t.$watch(n.bindHtmlUnsafe,function(t){e.html(t||"")})}}),angular.module("ui.bootstrap.collapse",["ui.bootstrap.transition"]).directive("collapse",["$transition",function(t){return{link:function(e,n,i){function o(e){function i(){u===o&&(u=void 0)}var o=t(n,e);return u&&u.cancel(),u=o,o.then(i,i),o}function a(){p?(p=!1,r()):(n.removeClass("collapse").addClass("collapsing"),o({height:n[0].scrollHeight+"px"}).then(r))}function r(){n.removeClass("collapsing"),n.addClass("collapse in"),n.css({height:"auto"})}function l(){if(p)p=!1,s(),n.css({height:0});else{n.css({height:n[0].scrollHeight+"px"});{n[0].offsetWidth}n.removeClass("collapse in").addClass("collapsing"),o({height:0}).then(s)}}function s(){n.removeClass("collapsing"),n.addClass("collapse")}var u,p=!0;e.$watch(i.collapse,function(t){t?l():a()})}}}]),angular.module("template/alert/alert.html",[]).run(["$templateCache",function(t){t.put("template/alert/alert.html",'<div class="alert" ng-class="[\'alert-\' + (type || \'warning\'), closeable ? \'alert-dismissable\' : null]" role="alert">\n    <button ng-show="closeable" type="button" class="close" ng-click="close()">\n        <span aria-hidden="true">&times;</span>\n        <span class="sr-only">Close</span>\n    </button>\n    <div ng-transclude></div>\n</div>\n')}]),angular.module("template/pagination/pager.html",[]).run(["$templateCache",function(t){t.put("template/pagination/pager.html",'<ul class="pager">\n  <li ng-class="{disabled: noPrevious(), previous: align}"><a href ng-click="selectPage(page - 1)">{{getText(\'previous\')}}</a></li>\n  <li ng-class="{disabled: noNext(), next: align}"><a href ng-click="selectPage(page + 1)">{{getText(\'next\')}}</a></li>\n</ul>')}]),angular.module("template/pagination/pagination.html",[]).run(["$templateCache",function(t){t.put("template/pagination/pagination.html",'<ul class="pagination">\n  <li ng-if="boundaryLinks" ng-class="{disabled: noPrevious()}"><a href ng-click="selectPage(1)">{{getText(\'first\')}}</a></li>\n  <li ng-if="directionLinks" ng-class="{disabled: noPrevious()}"><a href ng-click="selectPage(page - 1)">{{getText(\'previous\')}}</a></li>\n  <li ng-repeat="page in pages track by $index" ng-class="{active: page.active}"><a href ng-click="selectPage(page.number)">{{page.text}}</a></li>\n  <li ng-if="directionLinks" ng-class="{disabled: noNext()}"><a href ng-click="selectPage(page + 1)">{{getText(\'next\')}}</a></li>\n  <li ng-if="boundaryLinks" ng-class="{disabled: noNext()}"><a href ng-click="selectPage(totalPages)">{{getText(\'last\')}}</a></li>\n</ul>')}]),angular.module("template/tooltip/tooltip-html-unsafe-popup.html",[]).run(["$templateCache",function(t){t.put("template/tooltip/tooltip-html-unsafe-popup.html",'<div class="tooltip {{placement}}" ng-class="{ in: isOpen(), fade: animation() }">\n  <div class="tooltip-arrow"></div>\n  <div class="tooltip-inner" bind-html-unsafe="content"></div>\n</div>\n')}]),angular.module("template/tooltip/tooltip-popup.html",[]).run(["$templateCache",function(t){t.put("template/tooltip/tooltip-popup.html",'<div class="tooltip {{placement}}" ng-class="{ in: isOpen(), fade: animation() }">\n  <div class="tooltip-arrow"></div>\n  <div class="tooltip-inner" ng-bind="content"></div>\n</div>\n')}]);