}functionB(d,h){this.template=d,this.defaults=v({},g.defaults,h),this.urlParams={}}functionJ(e,h,n,k){functionb(a,c){varb={};returnc=v({},h,c),u(c,function(c,h){x(c)&&(c=c(a));varf;if(c&&c.charAt&&"@"==c.charAt(0)){f=a;varl=c.substr(1);if(null==l||""===l||"hasOwnProperty"===l||!M.test("."+l))throwz("badmember",l);for(varl=l.split("."),m=0,k=l.length;k>m&&d.isDefined(f);m++){varr=l[m];f=null!==f?f[r]:void0}}elsef=c;b[h]=f}),b}functionN(a){returna.resource}functionm(a){G(a||{},this)}vart=newB(e,k);returnn=v({},g.defaults.actions,n),m.prototype.toJSON=function(){vara=v({},this);returndeletea.$promise,deletea.$resolved,a},u(n,function(a,c){varh=/^(POST|PUT|PATCH)$/i.test(a.method),e=a.timeout,E=d.isDefined(a.cancellable)?a.cancellable:k&&d.isDefined(k.cancellable)?k.cancellable:g.defaults.cancellable;e&&!d.isNumber(e)&&(L.debug("ngResource:\n Only numeric values are allowed as `timeout`.\n Promises are not supported in $resource, because the same value would be used for multiple requests. If you are looking for a way to cancel requests, you should use the `cancellable` option."),deletea.timeout,e=null),m[c]=function(f,l,k,g){varn,w,C,r={};switch(arguments.length){case4:C=g,w=k;case3:case2:if(!x(l)){r=f,n=l,w=k;break}if(x(f)){w=f,C=l;break}w=l,C=k;case1:x(f)?w=f:h?n=f:r=f;break;case0:break;default:throwz("badargs",arguments.length)}vary,F,D=thisinstanceofm,p=D?n:a.isArray?[]:newm(n),s={},A=a.interceptor&&a.interceptor.response||N,B=a.interceptor&&a.interceptor.responseError||void0;returnu(a,function(a,c){switch(c){default:s[c]=O(a);case"params":case"isArray":case"interceptor":case"cancellable":}}),!D&&E&&(y=H.defer(),s.timeout=y.promise,e&&(F=I(y.resolve,e))),h&&(s.data=n),t.setUrlParams(s,v({},b(n,a.params||{}),r),a.url),r=q(s).then(function(f){varb=f.data;if(b){if(d.isArray(b)!==!!a.isArray)throwz("badcfg",c,a.isArray?"array":"object",d.isArray(b)?"array":"object",s.method,s.url);if(a.isArray)p.length=0,u(b,function(a){"object"==typeofa?p.push(newm(a)):p.push(a)});else{varl=p.$promise;G(b,p),p.$promise=l}}returnf.resource=p,f},function(a){return(C||K)(a),H.reject(a)}),r["finally"](function(){p.$resolved=!0,!D&&E&&(p.$cancelRequest=d.noop,I.cancel(F),y=F=s.timeout=null)}),r=r.then(function(a){varc=A(a);return(w||K)(c,a.headers),c},B),D?r:(p.$promise=r,p.$resolved=!1,E&&(p.$cancelRequest=y.resolve),p)},m.prototype["$"+c]=function(a,b,d){returnx(a)&&(d=b,b=a,a={}),a=m[c].call(this,a,this,b,d),a.$promise||a}}),m.bind=function(a){returnJ(e,v({},h,a),n)},m}varK=d.noop,u=d.forEach,v=d.extend,O=d.copy,x=d.isFunction;returnB.prototype={setUrlParams:function(e,h,n){varg,m,k=this,b=n||k.template,q="",a=k.urlParams={};u(b.split(/\W/),function(c){if("hasOwnProperty"===c)throwz("badname");!/^\d+$/.test(c)&&c&&newRegExp("(^|[^\\\\]):"+c+"(\\W|$)").test(b)&&(a[c]={isQueryParamValue:newRegExp("\\?.*=:"+c+"(?:\\W|$)").test(b)})}),b=b.replace(/\\:/g,":"),b=b.replace(t,function(a){returnq=a,""}),h=h||{},u(k.urlParams,function(a,e){g=h.hasOwnProperty(e)?h[e]:k.defaults[e],d.isDefined(g)&&null!==g?(m=a.isQueryParamValue?A(g,!0):A(g,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+"),b=b.replace(newRegExp(":"+e+"(\\W|$)","g"),function(a,c){returnm+c})):b=b.replace(newRegExp("(/?):"+e+"(\\W|$)","g"),function(a,c,b){return"/"==b.charAt(0)?b:c+b})}),k.defaults.stripTrailingSlashes&&(b=b.replace(/\/+$/,"")||"/"),b=b.replace(/\/\.(?=\w+($|\?))/,"."),e.url=q+b.replace(/\/\\\./,"/."),u(h,function(a,b){k.urlParams[b]||(e.params=e.params||{},e.params[b]=a)})}},J}]})}(window,window.angular),function(E,d){"use strict";functiony(t,l,g){return{restrict:"ECA",terminal:!0,priority:400,transclude:"element",link:function(b,e,a,c,k){functionp(){m&&(g.cancel(m),m=null),h&&(h.$destroy(),h=null),n&&(m=g.leave(n),m.then(function(){m=null}),n=null)}functionB(){vara=t.current&&t.current.locals;if(d.isDefined(a&&a.$template)){vara=b.$new(),c=t.current;n=k(a,function(a){g.enter(a,null,n||e).then(function(){!d.isDefined(A)||A&&!b.$eval(A)||l()}),p()}),h=c.scope=a,h.$emit("$viewContentLoaded"),h.
body.toggleClass(OPENED_MODAL_CLASS,openedWindows.length()>0)}functioncheckRemoveBackdrop(){if(backdropDomEl&&-1==backdropIndex()){varbackdropScopeRef=backdropScope;removeAfterAnimate(backdropDomEl,backdropScope,150,function(){backdropScopeRef.$destroy(),backdropScopeRef=null}),backdropDomEl=void0,backdropScope=void0}}functionremoveAfterAnimate(domEl,scope,emulateTime,done){functionafterAnimating(){afterAnimating.done||(afterAnimating.done=!0,domEl.remove(),done&&done())}scope.animate=!1;vartransitionEndEventName=$transition.transitionEndEventName;if(transitionEndEventName){vartimeout=$timeout(afterAnimating,emulateTime);domEl.bind(transitionEndEventName,function(){$timeout.cancel(timeout),afterAnimating(),scope.$apply()})}else$timeout(afterAnimating,0)}varbackdropDomEl,backdropScope,OPENED_MODAL_CLASS="modal-open",openedWindows=$$stackedMap.createNew(),$modalStack={};return$rootScope.$watch(backdropIndex,function(newBackdropIndex){backdropScope&&(backdropScope.index=newBackdropIndex)}),$document.bind("keydown",function(evt){varmodal;27===evt.which&&(modal=openedWindows.top(),modal&&modal.value.keyboard&&$rootScope.$apply(function(){$modalStack.dismiss(modal.key)}))}),$modalStack.open=function(modalInstance,modal){openedWindows.add(modalInstance,{deferred:modal.deferred,modalScope:modal.scope,backdrop:modal.backdrop,keyboard:modal.keyboard});varbody=$document.find("body").eq(0),currBackdropIndex=backdropIndex();currBackdropIndex>=0&&!backdropDomEl&&(backdropScope=$rootScope.$new(!0),backdropScope.index=currBackdropIndex,backdropDomEl=$compile("<div modal-backdrop></div>")(backdropScope),body.append(backdropDomEl));varangularDomEl=angular.element("<div modal-window></div>");angularDomEl.attr("window-class",modal.windowClass),angularDomEl.attr("index",openedWindows.length()-1),angularDomEl.attr("animate","animate"),angularDomEl.html(modal.content);varmodalDomEl=$compile(angularDomEl)(modal.scope);openedWindows.top().value.modalDomEl=modalDomEl,body.append(modalDomEl),body.addClass(OPENED_MODAL_CLASS)},$modalStack.close=function(modalInstance,result){varmodalWindow=openedWindows.get(modalInstance).value;modalWindow&&(modalWindow.deferred.resolve(result),removeModalWindow(modalInstance))},$modalStack.dismiss=function(modalInstance,reason){varmodalWindow=openedWindows.get(modalInstance).value;modalWindow&&(modalWindow.deferred.reject(reason),removeModalWindow(modalInstance))},$modalStack.dismissAll=function(reason){for(vartopModal=this.getTop();topModal;)this.dismiss(topModal.key,reason),topModal=this.getTop()},$modalStack.getTop=function(){returnopenedWindows.top()},$modalStack}]).provider("$modal",function(){var$modalProvider={options:{backdrop:!0,keyboard:!0},$get:["$injector","$rootScope","$q","$http","$templateCache","$controller","$modalStack",function($injector,$rootScope,$q,$http,$templateCache,$controller,$modalStack){functiongetTemplatePromise(options){returnoptions.template?$q.when(options.template):$http.get(options.templateUrl,{cache:$templateCache}).then(function(result){returnresult.data})}functiongetResolvePromises(resolves){varpromisesArr=[];returnangular.forEach(resolves,function(value,key){(angular.isFunction(value)||angular.isArray(value))&&promisesArr.push($q.when($injector.invoke(value)))}),promisesArr}var$modal={};return$modal.open=function(modalOptions){varmodalResultDeferred=$q.defer(),modalOpenedDeferred=$q.defer(),modalInstance={result:modalResultDeferred.promise,opened:modalOpenedDeferred.promise,close:function(result){$modalStack.close(modalInstance,result)},dismiss:function(reason){$modalStack.dismiss(modalInstance,reason)}};if(modalOptions=angular.extend({},$modalProvider.options,modalOptions),modalOptions.resolve=modalOptions.resolve||{},!modalOptions.template&&!modalOptions.templateUrl)thrownewError("One of template or templateUrl options is required.");vartemplateAndResolvePromise=$q.all([getTemplatePromise(modalOptions)].concat(getResolvePromises(modalOptions.resolve)));returntemplateAndResolvePromise.then(function(tplAndVars){varmodalScope=(modalOptions.sc
body.append(modalDomEl),body.addClass(OPENED_MODAL_CLASS)},$modalStack.close=function(modalInstance,result){varmodalWindow=openedWindows.get(modalInstance).value;modalWindow&&(modalWindow.deferred.resolve(result),removeModalWindow(modalInstance))},$modalStack.dismiss=function(modalInstance,reason){varmodalWindow=openedWindows.get(modalInstance).value;modalWindow&&(modalWindow.deferred.reject(reason),removeModalWindow(modalInstance))},$modalStack.dismissAll=function(reason){for(vartopModal=this.getTop();topModal;)this.dismiss(topModal.key,reason),topModal=this.getTop()},$modalStack.getTop=function(){returnopenedWindows.top()},$modalStack}]).provider("$modal",function(){var$modalProvider={options:{backdrop:!0,keyboard:!0},$get:["$injector","$rootScope","$q","$http","$templateCache","$controller","$modalStack",function($injector,$rootScope,$q,$http,$templateCache,$controller,$modalStack){functiongetTemplatePromise(options){returnoptions.template?$q.when(options.template):$http.get(options.templateUrl,{cache:$templateCache}).then(function(result){returnresult.data})}functiongetResolvePromises(resolves){varpromisesArr=[];returnangular.forEach(resolves,function(value,key){(angular.isFunction(value)||angular.isArray(value))&&promisesArr.push($q.when($injector.invoke(value)))}),promisesArr}var$modal={};return$modal.open=function(modalOptions){varmodalResultDeferred=$q.defer(),modalOpenedDeferred=$q.defer(),modalInstance={result:modalResultDeferred.promise,opened:modalOpenedDeferred.promise,close:function(result){$modalStack.close(modalInstance,result)},dismiss:function(reason){$modalStack.dismiss(modalInstance,reason)}};if(modalOptions=angular.extend({},$modalProvider.options,modalOptions),modalOptions.resolve=modalOptions.resolve||{},!modalOptions.template&&!modalOptions.templateUrl)thrownewError("One of template or templateUrl options is required.");vartemplateAndResolvePromise=$q.all([getTemplatePromise(modalOptions)].concat(getResolvePromises(modalOptions.resolve)));returntemplateAndResolvePromise.then(function(tplAndVars){varmodalScope=(modalOptions.scope||$rootScope).$new();modalScope.$close=modalInstance.close,modalScope.$dismiss=modalInstance.dismiss;varctrlInstance,ctrlLocals={},resolveIter=1;modalOptions.controller&&(ctrlLocals.$scope=modalScope,ctrlLocals.$modalInstance=modalInstance,angular.forEach(modalOptions.resolve,function(value,key){ctrlLocals[key]=tplAndVars[resolveIter++]}),ctrlInstance=$controller(modalOptions.controller,ctrlLocals)),$modalStack.open(modalInstance,{scope:modalScope,deferred:modalResultDeferred,content:tplAndVars[0],backdrop:modalOptions.backdrop,keyboard:modalOptions.keyboard,windowClass:modalOptions.windowClass})},function(reason){modalResultDeferred.reject(reason)}),templateAndResolvePromise.then(function(){modalOpenedDeferred.resolve(!0)},function(){modalOpenedDeferred.reject(!1)}),modalInstance},$modal}]};return$modalProvider}),angular.module("ui.bootstrap.pagination",[]).controller("PaginationController",["$scope","$attrs","$parse","$interpolate",function($scope,$attrs,$parse,$interpolate){varself=this,setNumPages=$attrs.numPages?$parse($attrs.numPages).assign:angular.noop;this.init=function(defaultItemsPerPage){$attrs.itemsPerPage?$scope.$parent.$watch($parse($attrs.itemsPerPage),function(value){self.itemsPerPage=parseInt(value,10),$scope.totalPages=self.calculateTotalPages()}):this.itemsPerPage=defaultItemsPerPage},this.noPrevious=function(){return1===this.page},this.noNext=function(){returnthis.page===$scope.totalPages},this.isActive=function(page){returnthis.page===page},this.calculateTotalPages=function(){vartotalPages=this.itemsPerPage<1?1:Math.ceil($scope.totalItems/this.itemsPerPage);returnMath.max(totalPages||0,1)},this.getAttributeValue=function(attribute,defaultValue,interpolate){returnangular.isDefined(attribute)?interpolate?$interpolate(attribute)($scope.$parent):$scope.$parent.$eval(attribute):defaultValue},this.render=function(){this.page=parseInt($scope.page,10)||1,this.page>0&&this.page<=$scope.totalPages&&($scope.pages=this.getPages(this.pa
returnfunction(b,c){if(c===!1)returnb;if((c||angular.isUndefined(c))&&angular.isArray(b)){vard=[],e=angular.isString(c)?a(c):function(a){returna},f=function(a){returnangular.isObject(a)?e(a):a};angular.forEach(b,function(a){for(varb=!1,c=0;c<d.length;c++)if(angular.equals(f(d[c]),f(a))){b=!0;break}b||d.push(a)}),b=d}returnb}}]),angular.module("ui.validate",[]).directive("uiValidate",function(){return{restrict:"A",require:"ngModel",link:function(a,b,c,d){functione(b){returnangular.isString(b)?voida.$watch(b,function(){angular.forEach(g,function(a){a(d.$modelValue)})}):angular.isArray(b)?voidangular.forEach(b,function(b){a.$watch(b,function(){angular.forEach(g,function(a){a(d.$modelValue)})})}):void(angular.isObject(b)&&angular.forEach(b,function(b,c){angular.isString(b)&&a.$watch(b,function(){g[c](d.$modelValue)}),angular.isArray(b)&&angular.forEach(b,function(b){a.$watch(b,function(){g[c](d.$modelValue)})})}))}varf,g={},h=a.$eval(c.uiValidate);h&&(angular.isString(h)&&(h={validator:h}),angular.forEach(h,function(b,c){f=function(e){varf=a.$eval(b,{$value:e});returnangular.isObject(f)&&angular.isFunction(f.then)?(f.then(function(){d.$setValidity(c,!0)},function(){d.$setValidity(c,!1)}),e):f?(d.$setValidity(c,!0),e):(d.$setValidity(c,!1),e)},g[c]=f,d.$formatters.push(f),d.$parsers.push(f)}),c.uiValidateWatch&&e(a.$eval(c.uiValidateWatch)))}}}),angular.module("ui.utils",["ui.event","ui.format","ui.highlight","ui.include","ui.indeterminate","ui.inflector","ui.jq","ui.keypress","ui.mask","ui.reset","ui.route","ui.scrollfix","ui.scroll","ui.scroll.jqlite","ui.showhide","ui.unique","ui.validate"]),angular.module("ngProgress.provider",["ngProgress.directive"]).provider("ngProgress",function(){"use strict";this.autoStyle=!0,this.count=0,this.height="2px",this.color="firebrick",this.$get=["$document","$window","$compile","$rootScope","$timeout",function(a,b,c,d,e){varf=this.count,g=this.height,h=this.color,i=d,j=a.find("body")[0],k=c("<ng-progress></ng-progress>")(i);j.appendChild(k[0]),i.count=f,void0!==g&&k.eq(0).children().css("height",g),void0!==h&&(k.eq(0).children().css("background-color",h),k.eq(0).children().css("color",h));varl,m=0;return{start:function(){this.show();vara=this;clearInterval(m),m=setInterval(function(){if(isNaN(f))clearInterval(m),f=0,a.hide();else{varb=100-f;f+=.15*Math.pow(1-Math.sqrt(b),2),a.updateCount(f)}},200)},updateCount:function(a){i.count=a,i.$$phase||i.$apply()},height:function(a){returnvoid0!==a&&(g=a,i.height=g,i.$$phase||i.$apply()),g},color:function(a){returnvoid0!==a&&(h=a,i.color=h,i.$$phase||i.$apply()),h},hide:function(){k.children().css("opacity","0");vara=this;a.animate(function(){k.children().css("width","0%"),a.animate(function(){a.show()},500)},500)},show:function(){vara=this;a.animate(function(){k.children().css("opacity","1")},100)},animate:function(a,b){l&&e.cancel(l),l=e(a,b)},status:function(){returnf},stop:function(){clearInterval(m)},set:function(a){returnthis.show(),this.updateCount(a),f=a,clearInterval(m),f},css:function(a){returnk.children().css(a)},reset:function(){returnclearInterval(m),f=0,this.updateCount(f),0},complete:function(){f=100,this.updateCount(f);vara=this;returnclearInterval(m),e(function(){a.hide(),e(function(){f=0,a.updateCount(f)},500)},1e3),f},setParent:function(a){if(null===a||void0===a)thrownewError("Provide a valid parent of type HTMLElement");null!==j&&void0!==j&&j.removeChild(k[0]),j=a,j.appendChild(k[0])},getDomElement:function(){returnk}}}],this.setColor=function(a){returnvoid0!==a&&(this.color=a),this.color},this.setHeight=function(a){returnvoid0!==a&&(this.height=a),this.height}}),angular.module("ngProgress.directive",[]).directive("ngProgress",["$window","$rootScope",function(a,b){varc={replace:!0,restrict:"E",link:function(a,c){b.$watch("count",function(b){(void0!==b||null!==b)&&(a.counter=b,c.eq(0).children().css("width",b+"%"))}),b.$watch("color",function(b){(void0!==b||null!==b)&&(a.color=b,c.eq(0).children().css("background-color",b),c.eq(0).children().css("color",b))}),b.$watch("height",function