text: /**
   * angular-permission-ui
   * Extension module of angular-permission for access control within ui-router
   * @version v3.2.1 - 2016-07-07
   * @link https://github.com/Narzerus/angular-permission
   * @author Rafael Vidaurre <narzerus@gmail.com> (http://www.rafaelvidaurre.com), Blazej Krysiak <blazej.krysiak@gmail.com>
   * @license MIT License, http://www.opensource.org/licenses/MIT
   */
  
  
  !function(a,angular,b){"use strict";function c(a){"ngInject";a.decorator("parent",function(a,b){return a.self.$$state=function(){return a},b(a)})}function d(a,b,c,d,e,f){"ngInject";a.$on("$stateChangeStart",function(a,g,h,i,j,k){function l(){c.toState=g,c.toParams=h,c.fromState=i,c.fromParams=j,c.options=k}function m(a){angular.extend(g,{$$isAuthorizationFinished:a})}function n(){return g.$$isAuthorizationFinished}function o(){d.broadcastPermissionAcceptedEvent();var a=angular.extend({},c.options,{notify:!1,location:!0});b.go(c.toState.name,c.toParams,a).then(function(){d.broadcastStateChangeSuccessEvent()})}function p(a,c){d.broadcastPermissionDeniedEvent(),c.resolveRedirectState(a).then(function(a){b.go(a.state,a.params,a.options)})}if(!n())if(m(!0),l(),d.areEventsDefaultPrevented())m(!1);else{d.broadcastPermissionStartEvent(),a.preventDefault();var q=new f(c.toState);e.authorize(q).then(function(){o()})["catch"](function(a){p(a,q)})["finally"](function(){m(!1)})}})}function e(a,b,c,d){"ngInject";function e(){return j()||k()}function f(){b.$broadcast(d.permissionStart,c.toState,c.toParams,c.options)}function g(){b.$broadcast(d.permissionAccepted,c.toState,c.toParams,c.options)}function h(){b.$broadcast(d.permissionDenies,c.toState,c.toParams,c.options)}function i(){b.$broadcast("$stateChangeSuccess",c.toState,c.toParams,c.fromState,c.fromParams)}function j(){return b.$broadcast(d.permissionStart,c.toState,c.toParams,c.options).defaultPrevented}function k(){return b.$broadcast("$stateChangeStart",c.toState,c.toParams,c.fromState,c.fromParams,c.options).defaultPrevented}return a.areEventsDefaultPrevented=e,a.broadcastStateChangeSuccessEvent=i,a.broadcastPermissionStartEvent=f,a.broadcastPermissionAcceptedEvent=g,a.broadcastPermissionDeniedEvent=h,a}function f(a){"ngInject";function b(a){return c(a)}function c(b){var c=a.defer();return d(c,b),c.promise}function d(b,c){var d=f(c.except,c);a.all(d).then(function(a){b.reject(a)})["catch"](function(){e(b,c)})}function e(b,c){if(!c.only.length)return void b.resolve();var d=f(c.only,c);a.all(d).then(function(a){b.resolve(a)})["catch"](function(a){b.reject(a)})}function f(b,c){return b.length?b.map(function(b){var d=c.resolvePropertyValidity(b);return a.any(d)}):[a.reject()]}this.authorize=b}function g(a){"ngInject";function b(b){var d=b.$$state(),e=d.path;angular.forEach(e,function(b){if(c(b)){var d=new a(b.data.permissions);this.extendPermissionMap(d)}},this)}function c(a){return angular.isDefined(a.data)&&angular.isDefined(a.data.permissions)}return b.prototype=new a,b.prototype.extendPermissionMap=function(a){a.only.length&&(this.only=this.only.concat([a.only])),a.except.length&&(this.except=this.except.concat([a.except])),this.redirectTo=a.redirectTo},b}c.$inject=["$stateProvider"],d.$inject=["$rootScope","$state","TransitionProperties","TransitionEvents","StateAuthorization","StatePermissionMap"],e.$inject=["$delegate","$rootScope","TransitionProperties","TransitionEventNames"],f.$inject=["$q"],g.$inject=["PermissionMap"];var h=angular.module("permission.ui",["permission","ui.router"]).config(c).run(d);"undefined"!=typeof module&&"undefined"!=typeof exports&&module.exports===exports&&(module.exports=h.name),angular.module("permission.ui").decorator("TransitionEvents",e);var i={permissionStart:"$stateChangePermissionStart",permissionAccepted:"$stateChangePermissionAccepted",permissionDenies:"$stateChangePermissionDenied"};angular.module("permission.ui").value("TransitionEventNames",i),angular.module("permission").service("StateAuthorization",f),angular.module("permission.ui").factory("StatePermissionMap",g)}(window,window.angular);
  //# sourceMappingURL=angular-permission-ui.min.js.map