text: /**
   * vModal - Simple, flexible and beautiful modal dialogs in AngularJS
   * @version v1.3.7
   * @link http://lukaszwatroba.github.io/v-modal
   * @author Łukasz Wątroba <l@lukaszwatroba.com>
   * @license MIT License, http://www.opensource.org/licenses/MIT
   */
  
  !function(e){"use strict";function t(){return{restrict:"E",scope:{label:"@"},link:function(e,t,o){e.label&&o.$set("aria-label",e.label),o.$set("role","button"),o.$set("tabindex",0)}}}function o(){return{restrict:"AE",require:"^vModal",transclude:!0,scope:{heading:"@",role:"@"},link:function(e,t,o,n,r){r(e.$parent,function(e){t.append(e)}),e.heading&&o.$set("aria-label",e.heading),o.$set("role","dialog"),o.$set("tabindex",-1),t[0].focus(),setTimeout(function(){t[0].focus()},0)}}}function n(t,o){return{restrict:"AE",transclude:!0,scope:{close:"&?onclose"},controller:e.noop,link:function(n,r,l,c,a){function i(e){for(;"V-CLOSE"!==e.tagName;)if(e=e.parentNode,!e)return!1;return!0}function u(e){var t="V-MODAL"===e.target.tagName;(t||i(e.target,"V-CLOSE"))&&n.$apply(function(){n.close()})}function d(e){return o.closeOnEsc?(27===e.keyCode&&n.$apply(function(){n.close()}),void 0):!1}a(n.$parent,function(e){r.append(e)}),n.close=e.isFunction(n.close)?n.close:e.noop,r.on("click",u),t.on("keydown",d),n.$on("$destroy",function(){r.off("click",u),t.off("keydown",d)})}}}function r(t,o,n,r,l,c,a,i,u){return function(d){function s(e){return p.then(function(t){w||v(t,e)})}function v(l,c){if(w=e.element(l),0===w.length)throw new Error("The template contains no elements; you need to wrap text nodes");if($=n.$new(),h){c||(c={});for(var a in c)$[a]=c[a];var i=r(h,{$scope:$});g&&($[g]=i)}else if(c)for(var a in c)$[a]=c[a];return o(w)($),M.attr("v-modal-open",""),y.attr("v-modal-active",""),t.enter(w,M)}function f(){return w?t.leave(w).then(function(){$.$destroy(),$=null,w.remove(),w=null,M.removeAttr("v-modal-open"),y.removeAttr("v-modal-active","")}):l.when()}function m(){return!!w}if(!(!d.template^!d.templateUrl))throw new Error("Expected modal to have exacly one of either `template` or `templateUrl`");var p,$,h=d.controller||null,g=d.controllerAs,M=e.element(d.container||i[0].querySelector(u.containerSelector)),y=e.element(i[0].querySelector("html")),w=null;return p=d.template?l.when(d.template):c.get(d.templateUrl,{cache:a}).then(function(e){return e.data}),{activate:s,deactivate:f,active:m}}}e.module("vModal.config",[]).constant("modalConfig",{containerSelector:"body",closeOnEsc:!0}),e.module("vModal.directives",[]),e.module("vModal.services",[]),e.module("vModal",["vModal.config","vModal.directives","vModal.services"]),e.module("vModal.directives").directive("vClose",t),e.module("vModal.directives").directive("vDialog",o),e.module("vModal.directives").directive("vModal",n),n.$inject=["$document","modalConfig"],e.module("vModal.services").factory("vModal",r),r.$inject=["$animate","$compile","$rootScope","$controller","$q","$http","$templateCache","$document","modalConfig"]}(angular);