Chrysostomos for scheduler
authorChrysostomos Kolovos <xrklvs@gmail.com>
Fri, 2 May 2014 12:02:14 +0000 (15:02 +0300)
committerChrysostomos Kolovos <xrklvs@gmail.com>
Fri, 2 May 2014 12:02:14 +0000 (15:02 +0300)
plugins/scheduler2/static/img/no-data.png [new file with mode: 0755]
plugins/scheduler2/static/js/angular/angular.min.js
plugins/scheduler2/static/js/scheduler-SchedulerCtrl.js
plugins/scheduler2/static/js/scheduler-helpers.js
plugins/scheduler2/static/js/scheduler-table-selector.js
plugins/scheduler2/static/js/scheduler2.js
plugins/scheduler2/templates/scheduler.html

diff --git a/plugins/scheduler2/static/img/no-data.png b/plugins/scheduler2/static/img/no-data.png
new file mode 100755 (executable)
index 0000000..450ac55
Binary files /dev/null and b/plugins/scheduler2/static/img/no-data.png differ
index a71d0c7..19b2956 100755 (executable)
-/*
- AngularJS v1.3.0-beta.4
- (c) 2010-2014 Google, Inc. http://angularjs.org
- License: MIT
-*/
-(function(R,U,s){'use strict';function A(b){return function(){var a=arguments[0],c,a="["+(b?b+":":"")+a+"] http://errors.angularjs.org/1.3.0-beta.4/"+(b?b+"/":"")+a;for(c=1;c<arguments.length;c++)a=a+(1==c?"?":"&")+"p"+(c-1)+"="+encodeURIComponent("function"==typeof arguments[c]?arguments[c].toString().replace(/ \{[\s\S]*$/,""):"undefined"==typeof arguments[c]?"undefined":"string"!=typeof arguments[c]?JSON.stringify(arguments[c]):arguments[c]);return Error(a)}}function cb(b){if(null==b||Ba(b))return!1;
-var a=b.length;return 1===b.nodeType&&a?!0:C(b)||M(b)||0===a||"number"===typeof a&&0<a&&a-1 in b}function r(b,a,c){var d;if(b)if(F(b))for(d in b)"prototype"==d||("length"==d||"name"==d||b.hasOwnProperty&&!b.hasOwnProperty(d))||a.call(c,b[d],d);else if(b.forEach&&b.forEach!==r)b.forEach(a,c);else if(cb(b))for(d=0;d<b.length;d++)a.call(c,b[d],d);else for(d in b)b.hasOwnProperty(d)&&a.call(c,b[d],d);return b}function Tb(b){var a=[],c;for(c in b)b.hasOwnProperty(c)&&a.push(c);return a.sort()}function Zc(b,
-a,c){for(var d=Tb(b),e=0;e<d.length;e++)a.call(c,b[d[e]],d[e]);return d}function Ub(b){return function(a,c){b(c,a)}}function db(){for(var b=ja.length,a;b;){b--;a=ja[b].charCodeAt(0);if(57==a)return ja[b]="A",ja.join("");if(90==a)ja[b]="0";else return ja[b]=String.fromCharCode(a+1),ja.join("")}ja.unshift("0");return ja.join("")}function Vb(b,a){a?b.$$hashKey=a:delete b.$$hashKey}function t(b){var a=b.$$hashKey;r(arguments,function(a){a!==b&&r(a,function(a,c){b[c]=a})});Vb(b,a);return b}function Q(b){return parseInt(b,
-10)}function Wb(b,a){return t(new (t(function(){},{prototype:b})),a)}function z(){}function Ca(b){return b}function Y(b){return function(){return b}}function E(b){return"undefined"===typeof b}function w(b){return"undefined"!==typeof b}function W(b){return null!=b&&"object"===typeof b}function C(b){return"string"===typeof b}function zb(b){return"number"===typeof b}function pa(b){return"[object Date]"===va.call(b)}function M(b){return"[object Array]"===va.call(b)}function F(b){return"function"===typeof b}
-function eb(b){return"[object RegExp]"===va.call(b)}function Ba(b){return b&&b.document&&b.location&&b.alert&&b.setInterval}function $c(b){return!(!b||!(b.nodeName||b.prop&&b.attr&&b.find))}function ad(b,a,c){var d=[];r(b,function(b,f,h){d.push(a.call(c,b,f,h))});return d}function fb(b,a){if(b.indexOf)return b.indexOf(a);for(var c=0;c<b.length;c++)if(a===b[c])return c;return-1}function Da(b,a){var c=fb(b,a);0<=c&&b.splice(c,1);return a}function $(b,a){if(Ba(b)||b&&b.$evalAsync&&b.$watch)throw Na("cpws");
-if(a){if(b===a)throw Na("cpi");if(M(b))for(var c=a.length=0;c<b.length;c++)a.push($(b[c]));else{c=a.$$hashKey;r(a,function(b,c){delete a[c]});for(var d in b)a[d]=$(b[d]);Vb(a,c)}}else(a=b)&&(M(b)?a=$(b,[]):pa(b)?a=new Date(b.getTime()):eb(b)?a=RegExp(b.source):W(b)&&(a=$(b,{})));return a}function Xb(b,a){a=a||{};for(var c in b)!b.hasOwnProperty(c)||"$"===c.charAt(0)&&"$"===c.charAt(1)||(a[c]=b[c]);return a}function wa(b,a){if(b===a)return!0;if(null===b||null===a)return!1;if(b!==b&&a!==a)return!0;
-var c=typeof b,d;if(c==typeof a&&"object"==c)if(M(b)){if(!M(a))return!1;if((c=b.length)==a.length){for(d=0;d<c;d++)if(!wa(b[d],a[d]))return!1;return!0}}else{if(pa(b))return pa(a)&&b.getTime()==a.getTime();if(eb(b)&&eb(a))return b.toString()==a.toString();if(b&&b.$evalAsync&&b.$watch||a&&a.$evalAsync&&a.$watch||Ba(b)||Ba(a)||M(a))return!1;c={};for(d in b)if("$"!==d.charAt(0)&&!F(b[d])){if(!wa(b[d],a[d]))return!1;c[d]=!0}for(d in a)if(!c.hasOwnProperty(d)&&"$"!==d.charAt(0)&&a[d]!==s&&!F(a[d]))return!1;
-return!0}return!1}function Yb(){return U.securityPolicy&&U.securityPolicy.isActive||U.querySelector&&!(!U.querySelector("[ng-csp]")&&!U.querySelector("[data-ng-csp]"))}function gb(b,a){var c=2<arguments.length?xa.call(arguments,2):[];return!F(a)||a instanceof RegExp?a:c.length?function(){return arguments.length?a.apply(b,c.concat(xa.call(arguments,0))):a.apply(b,c)}:function(){return arguments.length?a.apply(b,arguments):a.call(b)}}function bd(b,a){var c=a;"string"===typeof b&&"$"===b.charAt(0)?c=
-s:Ba(a)?c="$WINDOW":a&&U===a?c="$DOCUMENT":a&&(a.$evalAsync&&a.$watch)&&(c="$SCOPE");return c}function qa(b,a){return"undefined"===typeof b?s:JSON.stringify(b,bd,a?"  ":null)}function Zb(b){return C(b)?JSON.parse(b):b}function Oa(b){"function"===typeof b?b=!0:b&&0!==b.length?(b=P(""+b),b=!("f"==b||"0"==b||"false"==b||"no"==b||"n"==b||"[]"==b)):b=!1;return b}function ga(b){b=v(b).clone();try{b.empty()}catch(a){}var c=v("<div>").append(b).html();try{return 3===b[0].nodeType?P(c):c.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,
-function(a,b){return"<"+P(b)})}catch(d){return P(c)}}function $b(b){try{return decodeURIComponent(b)}catch(a){}}function ac(b){var a={},c,d;r((b||"").split("&"),function(b){b&&(c=b.split("="),d=$b(c[0]),w(d)&&(b=w(c[1])?$b(c[1]):!0,a[d]?M(a[d])?a[d].push(b):a[d]=[a[d],b]:a[d]=b))});return a}function bc(b){var a=[];r(b,function(b,d){M(b)?r(b,function(b){a.push(ya(d,!0)+(!0===b?"":"="+ya(b,!0)))}):a.push(ya(d,!0)+(!0===b?"":"="+ya(b,!0)))});return a.length?a.join("&"):""}function Ab(b){return ya(b,
-!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function ya(b,a){return encodeURIComponent(b).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,a?"%20":"+")}function cd(b,a){function c(a){a&&d.push(a)}var d=[b],e,f,h=["ng:app","ng-app","x-ng-app","data-ng-app"],g=/\sng[:\-]app(:\s*([\w\d_]+);?)?\s/;r(h,function(a){h[a]=!0;c(U.getElementById(a));a=a.replace(":","\\:");b.querySelectorAll&&(r(b.querySelectorAll("."+a),c),r(b.querySelectorAll("."+
-a+"\\:"),c),r(b.querySelectorAll("["+a+"]"),c))});r(d,function(a){if(!e){var b=g.exec(" "+a.className+" ");b?(e=a,f=(b[2]||"").replace(/\s+/g,",")):r(a.attributes,function(b){!e&&h[b.name]&&(e=a,f=b.value)})}});e&&a(e,f?[f]:[])}function cc(b,a){var c=function(){b=v(b);if(b.injector()){var c=b[0]===U?"document":ga(b);throw Na("btstrpd",c);}a=a||[];a.unshift(["$provide",function(a){a.value("$rootElement",b)}]);a.unshift("ng");c=dc(a);c.invoke(["$rootScope","$rootElement","$compile","$injector","$animate",
-function(a,b,c,d,e){a.$apply(function(){b.data("$injector",d);c(b)(a)})}]);return c},d=/^NG_DEFER_BOOTSTRAP!/;if(R&&!d.test(R.name))return c();R.name=R.name.replace(d,"");Pa.resumeBootstrap=function(b){r(b,function(b){a.push(b)});c()}}function hb(b,a){a=a||"_";return b.replace(dd,function(b,d){return(d?a:"")+b.toLowerCase()})}function Bb(b,a,c){if(!b)throw Na("areq",a||"?",c||"required");return b}function Qa(b,a,c){c&&M(b)&&(b=b[b.length-1]);Bb(F(b),a,"not a function, got "+(b&&"object"==typeof b?
-b.constructor.name||"Object":typeof b));return b}function za(b,a){if("hasOwnProperty"===b)throw Na("badname",a);}function ec(b,a,c){if(!a)return b;a=a.split(".");for(var d,e=b,f=a.length,h=0;h<f;h++)d=a[h],b&&(b=(e=b)[d]);return!c&&F(b)?gb(e,b):b}function Cb(b){var a=b[0];b=b[b.length-1];if(a===b)return v(a);var c=[a];do{a=a.nextSibling;if(!a)break;c.push(a)}while(a!==b);return v(c)}function ed(b){var a=A("$injector"),c=A("ng");b=b.angular||(b.angular={});b.$$minErr=b.$$minErr||A;return b.module||
-(b.module=function(){var b={};return function(e,f,h){if("hasOwnProperty"===e)throw c("badname","module");f&&b.hasOwnProperty(e)&&(b[e]=null);return b[e]||(b[e]=function(){function b(a,d,e){return function(){c[e||"push"]([a,d,arguments]);return n}}if(!f)throw a("nomod",e);var c=[],d=[],l=b("$injector","invoke"),n={_invokeQueue:c,_runBlocks:d,requires:f,name:e,provider:b("$provide","provider"),factory:b("$provide","factory"),service:b("$provide","service"),value:b("$provide","value"),constant:b("$provide",
-"constant","unshift"),animation:b("$animateProvider","register"),filter:b("$filterProvider","register"),controller:b("$controllerProvider","register"),directive:b("$compileProvider","directive"),config:l,run:function(a){d.push(a);return this}};h&&l(h);return n}())}}())}function fd(b){t(b,{bootstrap:cc,copy:$,extend:t,equals:wa,element:v,forEach:r,injector:dc,noop:z,bind:gb,toJson:qa,fromJson:Zb,identity:Ca,isUndefined:E,isDefined:w,isString:C,isFunction:F,isObject:W,isNumber:zb,isElement:$c,isArray:M,
-version:gd,isDate:pa,lowercase:P,uppercase:Ea,callbacks:{counter:0},$$minErr:A,$$csp:Yb});Ra=ed(R);try{Ra("ngLocale")}catch(a){Ra("ngLocale",[]).provider("$locale",hd)}Ra("ng",["ngLocale"],["$provide",function(a){a.provider({$$sanitizeUri:id});a.provider("$compile",fc).directive({a:jd,input:gc,textarea:gc,form:kd,script:ld,select:md,style:nd,option:od,ngBind:pd,ngBindHtml:qd,ngBindTemplate:rd,ngClass:sd,ngClassEven:td,ngClassOdd:ud,ngCloak:vd,ngController:wd,ngForm:xd,ngHide:yd,ngIf:zd,ngInclude:Ad,
-ngInit:Bd,ngNonBindable:Cd,ngPluralize:Dd,ngRepeat:Ed,ngShow:Fd,ngStyle:Gd,ngSwitch:Hd,ngSwitchWhen:Id,ngSwitchDefault:Jd,ngOptions:Kd,ngTransclude:Ld,ngModel:Md,ngList:Nd,ngChange:Od,required:hc,ngRequired:hc,ngValue:Pd}).directive({ngInclude:Qd}).directive(Db).directive(ic);a.provider({$anchorScroll:Rd,$animate:Sd,$browser:Td,$cacheFactory:Ud,$controller:Vd,$document:Wd,$exceptionHandler:Xd,$filter:jc,$interpolate:Yd,$interval:Zd,$http:$d,$httpBackend:ae,$location:be,$log:ce,$parse:de,$rootScope:ee,
-$q:fe,$sce:ge,$sceDelegate:he,$sniffer:ie,$templateCache:je,$timeout:ke,$window:le,$$rAF:me,$$asyncCallback:ne})}])}function Sa(b){return b.replace(oe,function(a,b,d,e){return e?d.toUpperCase():d}).replace(pe,"Moz$1")}function Eb(b,a,c,d){function e(b){var e=c&&b?[this.filter(b)]:[this],m=a,k,l,n,q,p,u;if(!d||null!=b)for(;e.length;)for(k=e.shift(),l=0,n=k.length;l<n;l++)for(q=v(k[l]),m?q.triggerHandler("$destroy"):m=!m,p=0,q=(u=q.children()).length;p<q;p++)e.push(Fa(u[p]));return f.apply(this,arguments)}
-var f=Fa.fn[b],f=f.$original||f;e.$original=f;Fa.fn[b]=e}function O(b){if(b instanceof O)return b;C(b)&&(b=aa(b));if(!(this instanceof O)){if(C(b)&&"<"!=b.charAt(0))throw Fb("nosel");return new O(b)}if(C(b)){var a=U.createElement("div");a.innerHTML="<div>&#160;</div>"+b;a.removeChild(a.firstChild);Gb(this,a.childNodes);v(U.createDocumentFragment()).append(this)}else Gb(this,b)}function Hb(b){return b.cloneNode(!0)}function Ga(b){kc(b);var a=0;for(b=b.childNodes||[];a<b.length;a++)Ga(b[a])}function lc(b,
-a,c,d){if(w(d))throw Fb("offargs");var e=ka(b,"events");ka(b,"handle")&&(E(a)?r(e,function(a,c){Ta(b,c,a);delete e[c]}):r(a.split(" "),function(a){E(c)?(Ta(b,a,e[a]),delete e[a]):Da(e[a]||[],c)}))}function kc(b,a){var c=b[ib],d=Ua[c];d&&(a?delete Ua[c].data[a]:(d.handle&&(d.events.$destroy&&d.handle({},"$destroy"),lc(b)),delete Ua[c],b[ib]=s))}function ka(b,a,c){var d=b[ib],d=Ua[d||-1];if(w(c))d||(b[ib]=d=++qe,d=Ua[d]={}),d[a]=c;else return d&&d[a]}function mc(b,a,c){var d=ka(b,"data"),e=w(c),f=!e&&
-w(a),h=f&&!W(a);d||h||ka(b,"data",d={});if(e)d[a]=c;else if(f){if(h)return d&&d[a];t(d,a)}else return d}function Ib(b,a){return b.getAttribute?-1<(" "+(b.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+a+" "):!1}function jb(b,a){a&&b.setAttribute&&r(a.split(" "),function(a){b.setAttribute("class",aa((" "+(b.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").replace(" "+aa(a)+" "," ")))})}function kb(b,a){if(a&&b.setAttribute){var c=(" "+(b.getAttribute("class")||"")+" ").replace(/[\n\t]/g,
-" ");r(a.split(" "),function(a){a=aa(a);-1===c.indexOf(" "+a+" ")&&(c+=a+" ")});b.setAttribute("class",aa(c))}}function Gb(b,a){if(a){a=a.nodeName||!w(a.length)||Ba(a)?[a]:a;for(var c=0;c<a.length;c++)b.push(a[c])}}function nc(b,a){return lb(b,"$"+(a||"ngController")+"Controller")}function lb(b,a,c){b=v(b);9==b[0].nodeType&&(b=b.find("html"));for(a=M(a)?a:[a];b.length;){for(var d=b[0],e=0,f=a.length;e<f;e++)if((c=b.data(a[e]))!==s)return c;b=v(d.parentNode||11===d.nodeType&&d.host)}}function oc(b){for(var a=
-0,c=b.childNodes;a<c.length;a++)Ga(c[a]);for(;b.firstChild;)b.removeChild(b.firstChild)}function pc(b,a){var c=mb[a.toLowerCase()];return c&&qc[b.nodeName]&&c}function re(b,a){var c=function(c,e){c.preventDefault||(c.preventDefault=function(){c.returnValue=!1});c.stopPropagation||(c.stopPropagation=function(){c.cancelBubble=!0});c.target||(c.target=c.srcElement||U);if(E(c.defaultPrevented)){var f=c.preventDefault;c.preventDefault=function(){c.defaultPrevented=!0;f.call(c)};c.defaultPrevented=!1}c.isDefaultPrevented=
-function(){return c.defaultPrevented||!1===c.returnValue};var h=Xb(a[e||c.type]||[]);r(h,function(a){a.call(b,c)});8>=V?(c.preventDefault=null,c.stopPropagation=null,c.isDefaultPrevented=null):(delete c.preventDefault,delete c.stopPropagation,delete c.isDefaultPrevented)};c.elem=b;return c}function Ha(b){var a=typeof b,c;"object"==a&&null!==b?"function"==typeof(c=b.$$hashKey)?c=b.$$hashKey():c===s&&(c=b.$$hashKey=db()):c=b;return a+":"+c}function Va(b){r(b,this.put,this)}function rc(b){var a,c;"function"==
-typeof b?(a=b.$inject)||(a=[],b.length&&(c=b.toString().replace(se,""),c=c.match(te),r(c[1].split(ue),function(b){b.replace(ve,function(b,c,d){a.push(d)})})),b.$inject=a):M(b)?(c=b.length-1,Qa(b[c],"fn"),a=b.slice(0,c)):Qa(b,"fn",!0);return a}function dc(b){function a(a){return function(b,c){if(W(b))r(b,Ub(a));else return a(b,c)}}function c(a,b){za(a,"service");if(F(b)||M(b))b=n.instantiate(b);if(!b.$get)throw Wa("pget",a);return l[a+g]=b}function d(a,b){return c(a,{$get:b})}function e(a){var b=[],
-c,d,f,g;r(a,function(a){if(!k.get(a)){k.put(a,!0);try{if(C(a))for(c=Ra(a),b=b.concat(e(c.requires)).concat(c._runBlocks),d=c._invokeQueue,f=0,g=d.length;f<g;f++){var h=d[f],m=n.get(h[0]);m[h[1]].apply(m,h[2])}else F(a)?b.push(n.invoke(a)):M(a)?b.push(n.invoke(a)):Qa(a,"module")}catch(l){throw M(a)&&(a=a[a.length-1]),l.message&&(l.stack&&-1==l.stack.indexOf(l.message))&&(l=l.message+"\n"+l.stack),Wa("modulerr",a,l.stack||l.message||l);}}});return b}function f(a,b){function c(d){if(a.hasOwnProperty(d)){if(a[d]===
-h)throw Wa("cdep",m.join(" <- "));return a[d]}try{return m.unshift(d),a[d]=h,a[d]=b(d)}catch(e){throw a[d]===h&&delete a[d],e;}finally{m.shift()}}function d(a,b,e){var f=[],g=rc(a),h,m,k;m=0;for(h=g.length;m<h;m++){k=g[m];if("string"!==typeof k)throw Wa("itkn",k);f.push(e&&e.hasOwnProperty(k)?e[k]:c(k))}a.$inject||(a=a[h]);return a.apply(b,f)}return{invoke:d,instantiate:function(a,b){var c=function(){},e;c.prototype=(M(a)?a[a.length-1]:a).prototype;c=new c;e=d(a,c,b);return W(e)||F(e)?e:c},get:c,
-annotate:rc,has:function(b){return l.hasOwnProperty(b+g)||a.hasOwnProperty(b)}}}var h={},g="Provider",m=[],k=new Va,l={$provide:{provider:a(c),factory:a(d),service:a(function(a,b){return d(a,["$injector",function(a){return a.instantiate(b)}])}),value:a(function(a,b){return d(a,Y(b))}),constant:a(function(a,b){za(a,"constant");l[a]=b;q[a]=b}),decorator:function(a,b){var c=n.get(a+g),d=c.$get;c.$get=function(){var a=p.invoke(d,c);return p.invoke(b,null,{$delegate:a})}}}},n=l.$injector=f(l,function(){throw Wa("unpr",
-m.join(" <- "));}),q={},p=q.$injector=f(q,function(a){a=n.get(a+g);return p.invoke(a.$get,a)});r(e(b),function(a){p.invoke(a||z)});return p}function Rd(){var b=!0;this.disableAutoScrolling=function(){b=!1};this.$get=["$window","$location","$rootScope",function(a,c,d){function e(a){var b=null;r(a,function(a){b||"a"!==P(a.nodeName)||(b=a)});return b}function f(){var b=c.hash(),d;b?(d=h.getElementById(b))?d.scrollIntoView():(d=e(h.getElementsByName(b)))?d.scrollIntoView():"top"===b&&a.scrollTo(0,0):
-a.scrollTo(0,0)}var h=a.document;b&&d.$watch(function(){return c.hash()},function(){d.$evalAsync(f)});return f}]}function ne(){this.$get=["$$rAF","$timeout",function(b,a){return b.supported?function(a){return b(a)}:function(b){return a(b,0,!1)}}]}function we(b,a,c,d){function e(a){try{a.apply(null,xa.call(arguments,1))}finally{if(u--,0===u)for(;I.length;)try{I.pop()()}catch(b){c.error(b)}}}function f(a,b){(function nb(){r(D,function(a){a()});y=b(nb,a)})()}function h(){x=null;H!=g.url()&&(H=g.url(),
-r(ca,function(a){a(g.url())}))}var g=this,m=a[0],k=b.location,l=b.history,n=b.setTimeout,q=b.clearTimeout,p={};g.isMock=!1;var u=0,I=[];g.$$completeOutstandingRequest=e;g.$$incOutstandingRequestCount=function(){u++};g.notifyWhenNoOutstandingRequests=function(a){r(D,function(a){a()});0===u?a():I.push(a)};var D=[],y;g.addPollFn=function(a){E(y)&&f(100,n);D.push(a);return a};var H=k.href,J=a.find("base"),x=null;g.url=function(a,c){k!==b.location&&(k=b.location);l!==b.history&&(l=b.history);if(a){if(H!=
-a)return H=a,d.history?c?l.replaceState(null,"",a):(l.pushState(null,"",a),J.attr("href",J.attr("href"))):(x=a,c?k.replace(a):k.href=a),g}else return x||k.href.replace(/%27/g,"'")};var ca=[],S=!1;g.onUrlChange=function(a){if(!S){if(d.history)v(b).on("popstate",h);if(d.hashchange)v(b).on("hashchange",h);else g.addPollFn(h);S=!0}ca.push(a);return a};g.baseHref=function(){var a=J.attr("href");return a?a.replace(/^(https?\:)?\/\/[^\/]*/,""):""};var N={},Z="",da=g.baseHref();g.cookies=function(a,b){var d,
-e,f,g;if(a)b===s?m.cookie=escape(a)+"=;path="+da+";expires=Thu, 01 Jan 1970 00:00:00 GMT":C(b)&&(d=(m.cookie=escape(a)+"="+escape(b)+";path="+da).length+1,4096<d&&c.warn("Cookie '"+a+"' possibly not set or overflowed because it was too large ("+d+" > 4096 bytes)!"));else{if(m.cookie!==Z)for(Z=m.cookie,d=Z.split("; "),N={},f=0;f<d.length;f++)e=d[f],g=e.indexOf("="),0<g&&(a=unescape(e.substring(0,g)),N[a]===s&&(N[a]=unescape(e.substring(g+1))));return N}};g.defer=function(a,b){var c;u++;c=n(function(){delete p[c];
-e(a)},b||0);p[c]=!0;return c};g.defer.cancel=function(a){return p[a]?(delete p[a],q(a),e(z),!0):!1}}function Td(){this.$get=["$window","$log","$sniffer","$document",function(b,a,c,d){return new we(b,d,a,c)}]}function Ud(){this.$get=function(){function b(b,d){function e(a){a!=n&&(q?q==a&&(q=a.n):q=a,f(a.n,a.p),f(a,n),n=a,n.n=null)}function f(a,b){a!=b&&(a&&(a.p=b),b&&(b.n=a))}if(b in a)throw A("$cacheFactory")("iid",b);var h=0,g=t({},d,{id:b}),m={},k=d&&d.capacity||Number.MAX_VALUE,l={},n=null,q=null;
-return a[b]={put:function(a,b){if(k<Number.MAX_VALUE){var c=l[a]||(l[a]={key:a});e(c)}if(!E(b))return a in m||h++,m[a]=b,h>k&&this.remove(q.key),b},get:function(a){if(k<Number.MAX_VALUE){var b=l[a];if(!b)return;e(b)}return m[a]},remove:function(a){if(k<Number.MAX_VALUE){var b=l[a];if(!b)return;b==n&&(n=b.p);b==q&&(q=b.n);f(b.n,b.p);delete l[a]}delete m[a];h--},removeAll:function(){m={};h=0;l={};n=q=null},destroy:function(){l=g=m=null;delete a[b]},info:function(){return t({},g,{size:h})}}}var a={};
-b.info=function(){var b={};r(a,function(a,e){b[e]=a.info()});return b};b.get=function(b){return a[b]};return b}}function je(){this.$get=["$cacheFactory",function(b){return b("templates")}]}function fc(b,a){var c={},d="Directive",e=/^\s*directive\:\s*([\d\w\-_]+)\s+(.*)$/,f=/(([\d\w\-_]+)(?:\:([^;]+))?;?)/,h=/^<\s*(tr|th|td|thead|tbody|tfoot)(\s+[^>]*)?>/i,g=/^(on[a-z]+|formaction)$/;this.directive=function k(a,e){za(a,"directive");C(a)?(Bb(e,"directiveFactory"),c.hasOwnProperty(a)||(c[a]=[],b.factory(a+
-d,["$injector","$exceptionHandler",function(b,d){var e=[];r(c[a],function(c,f){try{var g=b.invoke(c);F(g)?g={compile:Y(g)}:!g.compile&&g.link&&(g.compile=Y(g.link));g.priority=g.priority||0;g.index=f;g.name=g.name||a;g.require=g.require||g.controller&&g.name;g.restrict=g.restrict||"A";e.push(g)}catch(h){d(h)}});return e}])),c[a].push(e)):r(a,Ub(k));return this};this.aHrefSanitizationWhitelist=function(b){return w(b)?(a.aHrefSanitizationWhitelist(b),this):a.aHrefSanitizationWhitelist()};this.imgSrcSanitizationWhitelist=
-function(b){return w(b)?(a.imgSrcSanitizationWhitelist(b),this):a.imgSrcSanitizationWhitelist()};this.$get=["$injector","$interpolate","$exceptionHandler","$http","$templateCache","$parse","$controller","$rootScope","$document","$sce","$animate","$$sanitizeUri",function(a,b,n,q,p,u,I,D,y,H,J,x){function ca(a,b,c,d,e){a instanceof v||(a=v(a));r(a,function(b,c){3==b.nodeType&&b.nodeValue.match(/\S+/)&&(a[c]=v(b).wrap("<span></span>").parent()[0])});var f=N(a,b,a,c,d,e);S(a,"ng-scope");return function(b,
-c,d){Bb(b,"scope");var e=c?Ia.clone.call(a):a;r(d,function(a,b){e.data("$"+b+"Controller",a)});d=0;for(var g=e.length;d<g;d++){var h=e[d].nodeType;1!==h&&9!==h||e.eq(d).data("$scope",b)}c&&c(e,b);f&&f(b,e,e);return e}}function S(a,b){try{a.addClass(b)}catch(c){}}function N(a,b,c,d,e,f){function g(a,c,d,e){var f,k,l,n,p,q,u;f=c.length;var ba=Array(f);for(p=0;p<f;p++)ba[p]=c[p];u=p=0;for(q=h.length;p<q;u++)k=ba[u],c=h[p++],f=h[p++],l=v(k),c?(c.scope?(n=a.$new(),l.data("$scope",n)):n=a,(l=c.transclude)||
-!e&&b?c(f,n,k,d,Z(a,l||b)):c(f,n,k,d,e)):f&&f(a,k.childNodes,s,e)}for(var h=[],k,l,n,p,q=0;q<a.length;q++)k=new Jb,l=da(a[q],[],k,0===q?d:s,e),(f=l.length?Xa(l,a[q],k,b,c,null,[],[],f):null)&&f.scope&&S(v(a[q]),"ng-scope"),k=f&&f.terminal||!(n=a[q].childNodes)||!n.length?null:N(n,f?f.transclude:b),h.push(f,k),p=p||f||k,f=null;return p?g:null}function Z(a,b){return function(c,d,e){var f=!1;c||(c=a.$new(),f=c.$$transcluded=!0);d=b(c,d,e);if(f)d.on("$destroy",gb(c,c.$destroy));return d}}function da(a,
-b,c,d,g){var h=c.$attr,k;switch(a.nodeType){case 1:w(b,la(Ja(a).toLowerCase()),"E",d,g);var l,n,p;k=a.attributes;for(var q=0,u=k&&k.length;q<u;q++){var I=!1,D=!1;l=k[q];if(!V||8<=V||l.specified){n=l.name;p=la(n);ma.test(p)&&(n=hb(p.substr(6),"-"));var H=p.replace(/(Start|End)$/,"");p===H+"Start"&&(I=n,D=n.substr(0,n.length-5)+"end",n=n.substr(0,n.length-6));p=la(n.toLowerCase());h[p]=n;c[p]=l=aa(l.value);pc(a,p)&&(c[p]=!0);ha(a,b,l,p);w(b,p,"A",d,g,I,D)}}a=a.className;if(C(a)&&""!==a)for(;k=f.exec(a);)p=
-la(k[2]),w(b,p,"C",d,g)&&(c[p]=aa(k[3])),a=a.substr(k.index+k[0].length);break;case 3:O(b,a.nodeValue);break;case 8:try{if(k=e.exec(a.nodeValue))p=la(k[1]),w(b,p,"M",d,g)&&(c[p]=aa(k[2]))}catch(x){}}b.sort(A);return b}function B(a,b,c){var d=[],e=0;if(b&&a.hasAttribute&&a.hasAttribute(b)){do{if(!a)throw ia("uterdir",b,c);1==a.nodeType&&(a.hasAttribute(b)&&e++,a.hasAttribute(c)&&e--);d.push(a);a=a.nextSibling}while(0<e)}else d.push(a);return v(d)}function K(a,b,c){return function(d,e,f,g,h){e=B(e[0],
-b,c);return a(d,e,f,g,h)}}function Xa(a,c,d,e,f,g,h,k,p){function q(a,b,c,d){if(a){c&&(a=K(a,c,d));a.require=G.require;if(N===G||G.$$isolateScope)a=sc(a,{isolateScope:!0});h.push(a)}if(b){c&&(b=K(b,c,d));b.require=G.require;if(N===G||G.$$isolateScope)b=sc(b,{isolateScope:!0});k.push(b)}}function D(a,b,c){var d,e="data",f=!1;if(C(a)){for(;"^"==(d=a.charAt(0))||"?"==d;)a=a.substr(1),"^"==d&&(e="inheritedData"),f=f||"?"==d;d=null;c&&"data"===e&&(d=c[a]);d=d||b[e]("$"+a+"Controller");if(!d&&!f)throw ia("ctreq",
-a,ha);}else M(a)&&(d=[],r(a,function(a){d.push(D(a,b,c))}));return d}function H(a,e,f,g,p){function q(a,b){var c;2>arguments.length&&(b=a,a=s);Ka&&(c=da);return p(a,b,c)}var x,ba,y,B,ca,K,da={},w;x=c===f?d:Xb(d,new Jb(v(f),d.$attr));ba=x.$$element;if(N){var xe=/^\s*([@=&])(\??)\s*(\w*)\s*$/;g=v(f);K=e.$new(!0);Z&&Z===N.$$originalDirective?g.data("$isolateScope",K):g.data("$isolateScopeNoTemplate",K);S(g,"ng-isolate-scope");r(N.scope,function(a,c){var d=a.match(xe)||[],f=d[3]||c,g="?"==d[2],d=d[1],
-h,k,n,p;K.$$isolateBindings[c]=d+f;switch(d){case "@":x.$observe(f,function(a){K[c]=a});x.$$observers[f].$$scope=e;x[f]&&(K[c]=b(x[f])(e));break;case "=":if(g&&!x[f])break;k=u(x[f]);p=k.literal?wa:function(a,b){return a===b};n=k.assign||function(){h=K[c]=k(e);throw ia("nonassign",x[f],N.name);};h=K[c]=k(e);K.$watch(function(){var a=k(e);p(a,K[c])||(p(a,h)?n(e,a=K[c]):K[c]=a);return h=a},null,k.literal);break;case "&":k=u(x[f]);K[c]=function(a){return k(e,a)};break;default:throw ia("iscp",N.name,c,
-a);}})}w=p&&q;J&&r(J,function(a){var b={$scope:a===N||a.$$isolateScope?K:e,$element:ba,$attrs:x,$transclude:w},c;ca=a.controller;"@"==ca&&(ca=x[a.name]);c=I(ca,b);da[a.name]=c;Ka||ba.data("$"+a.name+"Controller",c);a.controllerAs&&(b.$scope[a.controllerAs]=c)});g=0;for(y=h.length;g<y;g++)try{B=h[g],B(B.isolateScope?K:e,ba,x,B.require&&D(B.require,ba,da),w)}catch(t){n(t,ga(ba))}g=e;N&&(N.template||null===N.templateUrl)&&(g=K);a&&a(g,f.childNodes,s,p);for(g=k.length-1;0<=g;g--)try{B=k[g],B(B.isolateScope?
-K:e,ba,x,B.require&&D(B.require,ba,da),w)}catch(L){n(L,ga(ba))}}p=p||{};for(var x=-Number.MAX_VALUE,y,J=p.controllerDirectives,N=p.newIsolateScopeDirective,Z=p.templateDirective,w=p.nonTlbTranscludeDirective,Xa=!1,Ka=p.hasElementTranscludeDirective,L=d.$$element=v(c),G,ha,t,A=e,O,ma=0,Q=a.length;ma<Q;ma++){G=a[ma];var T=G.$$start,V=G.$$end;T&&(L=B(c,T,V));t=s;if(x>G.priority)break;if(t=G.scope)y=y||G,G.templateUrl||(R("new/isolated scope",N,G,L),W(t)&&(N=G));ha=G.name;!G.templateUrl&&G.controller&&
-(t=G.controller,J=J||{},R("'"+ha+"' controller",J[ha],G,L),J[ha]=G);if(t=G.transclude)Xa=!0,G.$$tlb||(R("transclusion",w,G,L),w=G),"element"==t?(Ka=!0,x=G.priority,t=B(c,T,V),L=d.$$element=v(U.createComment(" "+ha+": "+d[ha]+" ")),c=L[0],ob(f,v(xa.call(t,0)),c),A=ca(t,e,x,g&&g.name,{nonTlbTranscludeDirective:w})):(t=v(Hb(c)).contents(),L.empty(),A=ca(t,e));if(G.template)if(R("template",Z,G,L),Z=G,t=F(G.template)?G.template(L,d):G.template,t=tc(t),G.replace){g=G;t=E(t);c=t[0];if(1!=t.length||1!==c.nodeType)throw ia("tplrt",
-ha,"");ob(f,L,c);Q={$attr:{}};t=da(c,[],Q);var X=a.splice(ma+1,a.length-(ma+1));N&&nb(t);a=a.concat(t).concat(X);z(d,Q);Q=a.length}else L.html(t);if(G.templateUrl)R("template",Z,G,L),Z=G,G.replace&&(g=G),H=P(a.splice(ma,a.length-ma),L,d,f,A,h,k,{controllerDirectives:J,newIsolateScopeDirective:N,templateDirective:Z,nonTlbTranscludeDirective:w}),Q=a.length;else if(G.compile)try{O=G.compile(L,d,A),F(O)?q(null,O,T,V):O&&q(O.pre,O.post,T,V)}catch(Y){n(Y,ga(L))}G.terminal&&(H.terminal=!0,x=Math.max(x,G.priority))}H.scope=
-y&&!0===y.scope;H.transclude=Xa&&A;p.hasElementTranscludeDirective=Ka;return H}function nb(a){for(var b=0,c=a.length;b<c;b++)a[b]=Wb(a[b],{$$isolateScope:!0})}function w(b,e,f,g,h,l,p){if(e===h)return null;h=null;if(c.hasOwnProperty(e)){var q;e=a.get(e+d);for(var u=0,I=e.length;u<I;u++)try{q=e[u],(g===s||g>q.priority)&&-1!=q.restrict.indexOf(f)&&(l&&(q=Wb(q,{$$start:l,$$end:p})),b.push(q),h=q)}catch(x){n(x)}}return h}function z(a,b){var c=b.$attr,d=a.$attr,e=a.$$element;r(a,function(d,e){"$"!=e.charAt(0)&&
-(b[e]&&(d+=("style"===e?";":" ")+b[e]),a.$set(e,d,!0,c[e]))});r(b,function(b,f){"class"==f?(S(e,b),a["class"]=(a["class"]?a["class"]+" ":"")+b):"style"==f?(e.attr("style",e.attr("style")+";"+b),a.style=(a.style?a.style+";":"")+b):"$"==f.charAt(0)||a.hasOwnProperty(f)||(a[f]=b,d[f]=c[f])})}function E(a){var b;a=aa(a);if(b=h.exec(a)){b=b[1].toLowerCase();a=v("<table>"+a+"</table>");if(/(thead|tbody|tfoot)/.test(b))return a.children(b);a=a.children("tbody");return"tr"===b?a.children("tr"):a.children("tr").contents()}return v("<div>"+
-a+"</div>").contents()}function P(a,b,c,d,e,f,g,h){var k=[],l,n,u=b[0],I=a.shift(),x=t({},I,{templateUrl:null,transclude:null,replace:null,$$originalDirective:I}),D=F(I.templateUrl)?I.templateUrl(b,c):I.templateUrl;b.empty();q.get(H.getTrustedResourceUrl(D),{cache:p}).success(function(p){var q,H;p=tc(p);if(I.replace){p=E(p);q=p[0];if(1!=p.length||1!==q.nodeType)throw ia("tplrt",I.name,D);p={$attr:{}};ob(d,b,q);var y=da(q,[],p);W(I.scope)&&nb(y);a=y.concat(a);z(c,p)}else q=u,b.html(p);a.unshift(x);
-l=Xa(a,q,c,e,b,I,f,g,h);r(d,function(a,c){a==q&&(d[c]=b[0])});for(n=N(b[0].childNodes,e);k.length;){p=k.shift();H=k.shift();var B=k.shift(),J=k.shift(),y=b[0];if(H!==u){var K=H.className;h.hasElementTranscludeDirective&&I.replace||(y=Hb(q));ob(B,v(H),y);S(v(y),K)}H=l.transclude?Z(p,l.transclude):J;l(n,p,y,d,H)}k=null}).error(function(a,b,c,d){throw ia("tpload",d.url);});return function(a,b,c,d,e){k?(k.push(b),k.push(c),k.push(d),k.push(e)):l(n,b,c,d,e)}}function A(a,b){var c=b.priority-a.priority;
-return 0!==c?c:a.name!==b.name?a.name<b.name?-1:1:a.index-b.index}function R(a,b,c,d){if(b)throw ia("multidir",b.name,c.name,a,ga(d));}function O(a,c){var d=b(c,!0);d&&a.push({priority:0,compile:Y(function(a,b){var c=b.parent(),e=c.data("$binding")||[];e.push(d);S(c.data("$binding",e),"ng-binding");a.$watch(d,function(a){b[0].nodeValue=a})})})}function Ka(a,b){if("srcdoc"==b)return H.HTML;var c=Ja(a);if("xlinkHref"==b||"FORM"==c&&"action"==b||"IMG"!=c&&("src"==b||"ngSrc"==b))return H.RESOURCE_URL}
-function ha(a,c,d,e){var f=b(d,!0);if(f){if("multiple"===e&&"SELECT"===Ja(a))throw ia("selmulti",ga(a));c.push({priority:100,compile:function(){return{pre:function(c,d,h){d=h.$$observers||(h.$$observers={});if(g.test(e))throw ia("nodomevents");if(f=b(h[e],!0,Ka(a,e)))h[e]=f(c),(d[e]||(d[e]=[])).$$inter=!0,(h.$$observers&&h.$$observers[e].$$scope||c).$watch(f,function(a,b){"class"===e&&a!=b?h.$updateClass(a,b):h.$set(e,a)})}}}})}}function ob(a,b,c){var d=b[0],e=b.length,f=d.parentNode,g,h;if(a)for(g=
-0,h=a.length;g<h;g++)if(a[g]==d){a[g++]=c;h=g+e-1;for(var k=a.length;g<k;g++,h++)h<k?a[g]=a[h]:delete a[g];a.length-=e-1;break}f&&f.replaceChild(c,d);a=U.createDocumentFragment();a.appendChild(d);c[v.expando]=d[v.expando];d=1;for(e=b.length;d<e;d++)f=b[d],v(f).remove(),a.appendChild(f),delete b[d];b[0]=c;b.length=1}function sc(a,b){return t(function(){return a.apply(null,arguments)},a,b)}var Jb=function(a,b){this.$$element=a;this.$attr=b||{}};Jb.prototype={$normalize:la,$addClass:function(a){a&&0<
-a.length&&J.addClass(this.$$element,a)},$removeClass:function(a){a&&0<a.length&&J.removeClass(this.$$element,a)},$updateClass:function(a,b){var c=uc(a,b),d=uc(b,a);0===c.length?J.removeClass(this.$$element,d):0===d.length?J.addClass(this.$$element,c):J.setClass(this.$$element,c,d)},$set:function(a,b,c,d){var e=pc(this.$$element[0],a);e&&(this.$$element.prop(a,b),d=e);this[a]=b;d?this.$attr[a]=d:(d=this.$attr[a])||(this.$attr[a]=d=hb(a,"-"));e=Ja(this.$$element);if("A"===e&&"href"===a||"IMG"===e&&
-"src"===a)this[a]=b=x(b,"src"===a);!1!==c&&(null===b||b===s?this.$$element.removeAttr(d):this.$$element.attr(d,b));(c=this.$$observers)&&r(c[a],function(a){try{a(b)}catch(c){n(c)}})},$observe:function(a,b){var c=this,d=c.$$observers||(c.$$observers={}),e=d[a]||(d[a]=[]);e.push(b);D.$evalAsync(function(){e.$$inter||b(c[a])});return function(){Da(e,b)}}};var Q=b.startSymbol(),T=b.endSymbol(),tc="{{"==Q||"}}"==T?Ca:function(a){return a.replace(/\{\{/g,Q).replace(/}}/g,T)},ma=/^ngAttr[A-Z]/;return ca}]}
-function la(b){return Sa(b.replace(ye,""))}function uc(b,a){var c="",d=b.split(/\s+/),e=a.split(/\s+/),f=0;a:for(;f<d.length;f++){for(var h=d[f],g=0;g<e.length;g++)if(h==e[g])continue a;c+=(0<c.length?" ":"")+h}return c}function Vd(){var b={},a=/^(\S+)(\s+as\s+(\w+))?$/;this.register=function(a,d){za(a,"controller");W(a)?t(b,a):b[a]=d};this.$get=["$injector","$window",function(c,d){return function(e,f){var h,g,m;C(e)&&(h=e.match(a),g=h[1],m=h[3],e=b.hasOwnProperty(g)?b[g]:ec(f.$scope,g,!0)||ec(d,
-g,!0),Qa(e,g,!0));h=c.instantiate(e,f);if(m){if(!f||"object"!=typeof f.$scope)throw A("$controller")("noscp",g||e.name,m);f.$scope[m]=h}return h}}]}function Wd(){this.$get=["$window",function(b){return v(b.document)}]}function Xd(){this.$get=["$log",function(b){return function(a,c){b.error.apply(b,arguments)}}]}function vc(b){var a={},c,d,e;if(!b)return a;r(b.split("\n"),function(b){e=b.indexOf(":");c=P(aa(b.substr(0,e)));d=aa(b.substr(e+1));c&&(a[c]=a[c]?a[c]+(", "+d):d)});return a}function wc(b){var a=
-W(b)?b:s;return function(c){a||(a=vc(b));return c?a[P(c)]||null:a}}function xc(b,a,c){if(F(c))return c(b,a);r(c,function(c){b=c(b,a)});return b}function $d(){var b=/^\s*(\[|\{[^\{])/,a=/[\}\]]\s*$/,c=/^\)\]\}',?\n/,d={"Content-Type":"application/json;charset=utf-8"},e=this.defaults={transformResponse:[function(d){C(d)&&(d=d.replace(c,""),b.test(d)&&a.test(d)&&(d=Zb(d)));return d}],transformRequest:[function(a){return W(a)&&"[object File]"!==va.call(a)&&"[object Blob]"!==va.call(a)?qa(a):a}],headers:{common:{Accept:"application/json, text/plain, */*"},
-post:$(d),put:$(d),patch:$(d)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN"},f=this.interceptors=[],h=this.responseInterceptors=[];this.$get=["$httpBackend","$browser","$cacheFactory","$rootScope","$q","$injector",function(a,b,c,d,n,q){function p(a){function c(a){var b=t({},a,{data:xc(a.data,a.headers,d.transformResponse)});return 200<=a.status&&300>a.status?b:n.reject(b)}var d={method:"get",transformRequest:e.transformRequest,transformResponse:e.transformResponse},f=function(a){function b(a){var c;
-r(a,function(b,d){F(b)&&(c=b(),null!=c?a[d]=c:delete a[d])})}var c=e.headers,d=t({},a.headers),f,g,c=t({},c.common,c[P(a.method)]);b(c);b(d);a:for(f in c){a=P(f);for(g in d)if(P(g)===a)continue a;d[f]=c[f]}return d}(a);t(d,a);d.headers=f;d.method=Ea(d.method);(a=Kb(d.url)?b.cookies()[d.xsrfCookieName||e.xsrfCookieName]:s)&&(f[d.xsrfHeaderName||e.xsrfHeaderName]=a);var g=[function(a){f=a.headers;var b=xc(a.data,wc(f),a.transformRequest);E(a.data)&&r(f,function(a,b){"content-type"===P(b)&&delete f[b]});
-E(a.withCredentials)&&!E(e.withCredentials)&&(a.withCredentials=e.withCredentials);return u(a,b,f).then(c,c)},s],h=n.when(d);for(r(y,function(a){(a.request||a.requestError)&&g.unshift(a.request,a.requestError);(a.response||a.responseError)&&g.push(a.response,a.responseError)});g.length;){a=g.shift();var k=g.shift(),h=h.then(a,k)}h.success=function(a){h.then(function(b){a(b.data,b.status,b.headers,d)});return h};h.error=function(a){h.then(null,function(b){a(b.data,b.status,b.headers,d)});return h};
-return h}function u(b,c,f){function h(a,b,c,e){y&&(200<=a&&300>a?y.put(s,[a,b,vc(c),e]):y.remove(s));k(b,a,c,e);d.$$phase||d.$apply()}function k(a,c,d,e){c=Math.max(c,0);(200<=c&&300>c?q.resolve:q.reject)({data:a,status:c,headers:wc(d),config:b,statusText:e})}function m(){var a=fb(p.pendingRequests,b);-1!==a&&p.pendingRequests.splice(a,1)}var q=n.defer(),u=q.promise,y,r,s=I(b.url,b.params);p.pendingRequests.push(b);u.then(m,m);(b.cache||e.cache)&&(!1!==b.cache&&"GET"==b.method)&&(y=W(b.cache)?b.cache:
-W(e.cache)?e.cache:D);if(y)if(r=y.get(s),w(r)){if(r.then)return r.then(m,m),r;M(r)?k(r[1],r[0],$(r[2]),r[3]):k(r,200,{},"OK")}else y.put(s,u);E(r)&&a(b.method,s,c,h,f,b.timeout,b.withCredentials,b.responseType);return u}function I(a,b){if(!b)return a;var c=[];Zc(b,function(a,b){null===a||E(a)||(M(a)||(a=[a]),r(a,function(a){W(a)&&(a=qa(a));c.push(ya(b)+"="+ya(a))}))});0<c.length&&(a+=(-1==a.indexOf("?")?"?":"&")+c.join("&"));return a}var D=c("$http"),y=[];r(f,function(a){y.unshift(C(a)?q.get(a):q.invoke(a))});
-r(h,function(a,b){var c=C(a)?q.get(a):q.invoke(a);y.splice(b,0,{response:function(a){return c(n.when(a))},responseError:function(a){return c(n.reject(a))}})});p.pendingRequests=[];(function(a){r(arguments,function(a){p[a]=function(b,c){return p(t(c||{},{method:a,url:b}))}})})("get","delete","head","jsonp");(function(a){r(arguments,function(a){p[a]=function(b,c,d){return p(t(d||{},{method:a,url:b,data:c}))}})})("post","put");p.defaults=e;return p}]}function ze(b){if(8>=V&&(!b.match(/^(get|post|head|put|delete|options)$/i)||
-!R.XMLHttpRequest))return new R.ActiveXObject("Microsoft.XMLHTTP");if(R.XMLHttpRequest)return new R.XMLHttpRequest;throw A("$httpBackend")("noxhr");}function ae(){this.$get=["$browser","$window","$document",function(b,a,c){return Ae(b,ze,b.defer,a.angular.callbacks,c[0])}]}function Ae(b,a,c,d,e){function f(a,b,c){var f=e.createElement("script"),h=null;f.type="text/javascript";f.src=a;f.async=!0;h=function(a){Ta(f,"load",h);Ta(f,"error",h);e.body.removeChild(f);f=null;var g=-1,u="unknown";a&&("load"!==
-a.type||d[b].called||(a={type:"error"}),u=a.type,g="error"===a.type?404:200);c&&c(g,u)};pb(f,"load",h);pb(f,"error",h);e.body.appendChild(f);return h}var h=-1;return function(e,m,k,l,n,q,p,u){function I(){y=h;J&&J();x&&x.abort()}function D(a,d,e,f,g){S&&c.cancel(S);J=x=null;0===d&&(d=e?200:"file"==ra(m).protocol?404:0);a(1223===d?204:d,e,f,g||"");b.$$completeOutstandingRequest(z)}var y;b.$$incOutstandingRequestCount();m=m||b.url();if("jsonp"==P(e)){var H="_"+(d.counter++).toString(36);d[H]=function(a){d[H].data=
-a;d[H].called=!0};var J=f(m.replace("JSON_CALLBACK","angular.callbacks."+H),H,function(a,b){D(l,a,d[H].data,"",b);d[H]=z})}else{var x=a(e);x.open(e,m,!0);r(n,function(a,b){w(a)&&x.setRequestHeader(b,a)});x.onreadystatechange=function(){if(x&&4==x.readyState){var a=null,b=null;y!==h&&(a=x.getAllResponseHeaders(),b="response"in x?x.response:x.responseText);D(l,y||x.status,b,a,x.statusText||"")}};p&&(x.withCredentials=!0);if(u)try{x.responseType=u}catch(s){if("json"!==u)throw s;}x.send(k||null)}if(0<
-q)var S=c(I,q);else q&&q.then&&q.then(I)}}function Yd(){var b="{{",a="}}";this.startSymbol=function(a){return a?(b=a,this):b};this.endSymbol=function(b){return b?(a=b,this):a};this.$get=["$parse","$exceptionHandler","$sce",function(c,d,e){function f(f,k,l){for(var n,q,p=0,u=[],I=f.length,D=!1,y=[];p<I;)-1!=(n=f.indexOf(b,p))&&-1!=(q=f.indexOf(a,n+h))?(p!=n&&u.push(f.substring(p,n)),u.push(p=c(D=f.substring(n+h,q))),p.exp=D,p=q+g,D=!0):(p!=I&&u.push(f.substring(p)),p=I);(I=u.length)||(u.push(""),I=
-1);if(l&&1<u.length)throw yc("noconcat",f);if(!k||D)return y.length=I,p=function(a){try{for(var b=0,c=I,g;b<c;b++)"function"==typeof(g=u[b])&&(g=g(a),g=l?e.getTrusted(l,g):e.valueOf(g),null===g||E(g)?g="":"string"!=typeof g&&(g=qa(g))),y[b]=g;return y.join("")}catch(h){a=yc("interr",f,h.toString()),d(a)}},p.exp=f,p.parts=u,p}var h=b.length,g=a.length;f.startSymbol=function(){return b};f.endSymbol=function(){return a};return f}]}function Zd(){this.$get=["$rootScope","$window","$q",function(b,a,c){function d(d,
-h,g,m){var k=a.setInterval,l=a.clearInterval,n=c.defer(),q=n.promise,p=0,u=w(m)&&!m;g=w(g)?g:0;q.then(null,null,d);q.$$intervalId=k(function(){n.notify(p++);0<g&&p>=g&&(n.resolve(p),l(q.$$intervalId),delete e[q.$$intervalId]);u||b.$apply()},h);e[q.$$intervalId]=n;return q}var e={};d.cancel=function(a){return a&&a.$$intervalId in e?(e[a.$$intervalId].reject("canceled"),clearInterval(a.$$intervalId),delete e[a.$$intervalId],!0):!1};return d}]}function hd(){this.$get=function(){return{id:"en-us",NUMBER_FORMATS:{DECIMAL_SEP:".",
-GROUP_SEP:",",PATTERNS:[{minInt:1,minFrac:0,maxFrac:3,posPre:"",posSuf:"",negPre:"-",negSuf:"",gSize:3,lgSize:3},{minInt:1,minFrac:2,maxFrac:2,posPre:"\u00a4",posSuf:"",negPre:"(\u00a4",negSuf:")",gSize:3,lgSize:3}],CURRENCY_SYM:"$"},DATETIME_FORMATS:{MONTH:"January February March April May June July August September October November December".split(" "),SHORTMONTH:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),DAY:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),
-SHORTDAY:"Sun Mon Tue Wed Thu Fri Sat".split(" "),AMPMS:["AM","PM"],medium:"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a",fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",mediumDate:"MMM d, y",shortDate:"M/d/yy",mediumTime:"h:mm:ss a",shortTime:"h:mm a"},pluralCat:function(b){return 1===b?"one":"other"}}}}function zc(b){b=b.split("/");for(var a=b.length;a--;)b[a]=Ab(b[a]);return b.join("/")}function Ac(b,a,c){b=ra(b,c);a.$$protocol=b.protocol;a.$$host=b.hostname;a.$$port=Q(b.port)||Be[b.protocol]||null}
-function Bc(b,a,c){var d="/"!==b.charAt(0);d&&(b="/"+b);b=ra(b,c);a.$$path=decodeURIComponent(d&&"/"===b.pathname.charAt(0)?b.pathname.substring(1):b.pathname);a.$$search=ac(b.search);a.$$hash=decodeURIComponent(b.hash);a.$$path&&"/"!=a.$$path.charAt(0)&&(a.$$path="/"+a.$$path)}function na(b,a){if(0===a.indexOf(b))return a.substr(b.length)}function Ya(b){var a=b.indexOf("#");return-1==a?b:b.substr(0,a)}function Lb(b){return b.substr(0,Ya(b).lastIndexOf("/")+1)}function Cc(b,a){this.$$html5=!0;a=a||
-"";var c=Lb(b);Ac(b,this,b);this.$$parse=function(a){var e=na(c,a);if(!C(e))throw Mb("ipthprfx",a,c);Bc(e,this,b);this.$$path||(this.$$path="/");this.$$compose()};this.$$compose=function(){var a=bc(this.$$search),b=this.$$hash?"#"+Ab(this.$$hash):"";this.$$url=zc(this.$$path)+(a?"?"+a:"")+b;this.$$absUrl=c+this.$$url.substr(1)};this.$$rewrite=function(d){var e;if((e=na(b,d))!==s)return d=e,(e=na(a,e))!==s?c+(na("/",e)||e):b+d;if((e=na(c,d))!==s)return c+e;if(c==d+"/")return c}}function Nb(b,a){var c=
-Lb(b);Ac(b,this,b);this.$$parse=function(d){var e=na(b,d)||na(c,d),e="#"==e.charAt(0)?na(a,e):this.$$html5?e:"";if(!C(e))throw Mb("ihshprfx",d,a);Bc(e,this,b);d=this.$$path;var f=/^\/?.*?:(\/.*)/;0===e.indexOf(b)&&(e=e.replace(b,""));f.exec(e)||(d=(e=f.exec(d))?e[1]:d);this.$$path=d;this.$$compose()};this.$$compose=function(){var c=bc(this.$$search),e=this.$$hash?"#"+Ab(this.$$hash):"";this.$$url=zc(this.$$path)+(c?"?"+c:"")+e;this.$$absUrl=b+(this.$$url?a+this.$$url:"")};this.$$rewrite=function(a){if(Ya(b)==
-Ya(a))return a}}function Dc(b,a){this.$$html5=!0;Nb.apply(this,arguments);var c=Lb(b);this.$$rewrite=function(d){var e;if(b==Ya(d))return d;if(e=na(c,d))return b+a+e;if(c===d+"/")return c}}function qb(b){return function(){return this[b]}}function Ec(b,a){return function(c){if(E(c))return this[b];this[b]=a(c);this.$$compose();return this}}function be(){var b="",a=!1;this.hashPrefix=function(a){return w(a)?(b=a,this):b};this.html5Mode=function(b){return w(b)?(a=b,this):a};this.$get=["$rootScope","$browser",
-"$sniffer","$rootElement",function(c,d,e,f){function h(a){c.$broadcast("$locationChangeSuccess",g.absUrl(),a)}var g,m=d.baseHref(),k=d.url();a?(m=k.substring(0,k.indexOf("/",k.indexOf("//")+2))+(m||"/"),e=e.history?Cc:Dc):(m=Ya(k),e=Nb);g=new e(m,"#"+b);g.$$parse(g.$$rewrite(k));f.on("click",function(a){if(!a.ctrlKey&&!a.metaKey&&2!=a.which){for(var b=v(a.target);"a"!==P(b[0].nodeName);)if(b[0]===f[0]||!(b=b.parent())[0])return;var e=b.prop("href");W(e)&&"[object SVGAnimatedString]"===e.toString()&&
-(e=ra(e.animVal).href);var h=g.$$rewrite(e);e&&(!b.attr("target")&&h&&!a.isDefaultPrevented())&&(a.preventDefault(),h!=d.url()&&(g.$$parse(h),c.$apply(),R.angular["ff-684208-preventDefault"]=!0))}});g.absUrl()!=k&&d.url(g.absUrl(),!0);d.onUrlChange(function(a){g.absUrl()!=a&&(c.$evalAsync(function(){var b=g.absUrl();g.$$parse(a);c.$broadcast("$locationChangeStart",a,b).defaultPrevented?(g.$$parse(b),d.url(b)):h(b)}),c.$$phase||c.$digest())});var l=0;c.$watch(function(){var a=d.url(),b=g.$$replace;
-l&&a==g.absUrl()||(l++,c.$evalAsync(function(){c.$broadcast("$locationChangeStart",g.absUrl(),a).defaultPrevented?g.$$parse(a):(d.url(g.absUrl(),b),h(a))}));g.$$replace=!1;return l});return g}]}function ce(){var b=!0,a=this;this.debugEnabled=function(a){return w(a)?(b=a,this):b};this.$get=["$window",function(c){function d(a){a instanceof Error&&(a.stack?a=a.message&&-1===a.stack.indexOf(a.message)?"Error: "+a.message+"\n"+a.stack:a.stack:a.sourceURL&&(a=a.message+"\n"+a.sourceURL+":"+a.line));return a}
-function e(a){var b=c.console||{},e=b[a]||b.log||z;a=!1;try{a=!!e.apply}catch(m){}return a?function(){var a=[];r(arguments,function(b){a.push(d(b))});return e.apply(b,a)}:function(a,b){e(a,null==b?"":b)}}return{log:e("log"),info:e("info"),warn:e("warn"),error:e("error"),debug:function(){var c=e("debug");return function(){b&&c.apply(a,arguments)}}()}}]}function ea(b,a){if("constructor"===b)throw Aa("isecfld",a);return b}function Za(b,a){if(b){if(b.constructor===b)throw Aa("isecfn",a);if(b.document&&
-b.location&&b.alert&&b.setInterval)throw Aa("isecwindow",a);if(b.children&&(b.nodeName||b.prop&&b.attr&&b.find))throw Aa("isecdom",a);}return b}function rb(b,a,c,d,e){e=e||{};a=a.split(".");for(var f,h=0;1<a.length;h++){f=ea(a.shift(),d);var g=b[f];g||(g={},b[f]=g);b=g;b.then&&e.unwrapPromises&&(sa(d),"$$v"in b||function(a){a.then(function(b){a.$$v=b})}(b),b.$$v===s&&(b.$$v={}),b=b.$$v)}f=ea(a.shift(),d);return b[f]=c}function Fc(b,a,c,d,e,f,h){ea(b,f);ea(a,f);ea(c,f);ea(d,f);ea(e,f);return h.unwrapPromises?
-function(g,h){var k=h&&h.hasOwnProperty(b)?h:g,l;if(null==k)return k;(k=k[b])&&k.then&&(sa(f),"$$v"in k||(l=k,l.$$v=s,l.then(function(a){l.$$v=a})),k=k.$$v);if(!a)return k;if(null==k)return s;(k=k[a])&&k.then&&(sa(f),"$$v"in k||(l=k,l.$$v=s,l.then(function(a){l.$$v=a})),k=k.$$v);if(!c)return k;if(null==k)return s;(k=k[c])&&k.then&&(sa(f),"$$v"in k||(l=k,l.$$v=s,l.then(function(a){l.$$v=a})),k=k.$$v);if(!d)return k;if(null==k)return s;(k=k[d])&&k.then&&(sa(f),"$$v"in k||(l=k,l.$$v=s,l.then(function(a){l.$$v=
-a})),k=k.$$v);if(!e)return k;if(null==k)return s;(k=k[e])&&k.then&&(sa(f),"$$v"in k||(l=k,l.$$v=s,l.then(function(a){l.$$v=a})),k=k.$$v);return k}:function(f,h){var k=h&&h.hasOwnProperty(b)?h:f;if(null==k)return k;k=k[b];if(!a)return k;if(null==k)return s;k=k[a];if(!c)return k;if(null==k)return s;k=k[c];if(!d)return k;if(null==k)return s;k=k[d];return e?null==k?s:k=k[e]:k}}function Ce(b,a){ea(b,a);return function(a,d){return null==a?s:(d&&d.hasOwnProperty(b)?d:a)[b]}}function De(b,a,c){ea(b,c);ea(a,
-c);return function(c,e){if(null==c)return s;c=(e&&e.hasOwnProperty(b)?e:c)[b];return null==c?s:c[a]}}function Gc(b,a,c){if(Ob.hasOwnProperty(b))return Ob[b];var d=b.split("."),e=d.length,f;if(a.unwrapPromises||1!==e)if(a.unwrapPromises||2!==e)if(a.csp)f=6>e?Fc(d[0],d[1],d[2],d[3],d[4],c,a):function(b,f){var g=0,h;do h=Fc(d[g++],d[g++],d[g++],d[g++],d[g++],c,a)(b,f),f=s,b=h;while(g<e);return h};else{var h="var p;\n";r(d,function(b,d){ea(b,c);h+="if(s == null) return undefined;\ns="+(d?"s":'((k&&k.hasOwnProperty("'+
-b+'"))?k:s)')+'["'+b+'"];\n'+(a.unwrapPromises?'if (s && s.then) {\n pw("'+c.replace(/(["\r\n])/g,"\\$1")+'");\n if (!("$$v" in s)) {\n p=s;\n p.$$v = undefined;\n p.then(function(v) {p.$$v=v;});\n}\n s=s.$$v\n}\n':"")});var h=h+"return s;",g=new Function("s","k","pw",h);g.toString=Y(h);f=a.unwrapPromises?function(a,b){return g(a,b,sa)}:g}else f=De(d[0],d[1],c);else f=Ce(d[0],c);"hasOwnProperty"!==b&&(Ob[b]=f);return f}function de(){var b={},a={csp:!1,unwrapPromises:!1,logPromiseWarnings:!0};this.unwrapPromises=
-function(b){return w(b)?(a.unwrapPromises=!!b,this):a.unwrapPromises};this.logPromiseWarnings=function(b){return w(b)?(a.logPromiseWarnings=b,this):a.logPromiseWarnings};this.$get=["$filter","$sniffer","$log",function(c,d,e){a.csp=d.csp;sa=function(b){a.logPromiseWarnings&&!Hc.hasOwnProperty(b)&&(Hc[b]=!0,e.warn("[$parse] Promise found in the expression `"+b+"`. Automatic unwrapping of promises in Angular expressions is deprecated."))};return function(d){var e;switch(typeof d){case "string":if(b.hasOwnProperty(d))return b[d];
-e=new Pb(a);e=(new $a(e,c,a)).parse(d,!1);"hasOwnProperty"!==d&&(b[d]=e);return e;case "function":return d;default:return z}}}]}function fe(){this.$get=["$rootScope","$exceptionHandler",function(b,a){return Ee(function(a){b.$evalAsync(a)},a)}]}function Ee(b,a){function c(a){return a}function d(a){return h(a)}var e=function(){var h=[],k,l;return l={resolve:function(a){if(h){var c=h;h=s;k=f(a);c.length&&b(function(){for(var a,b=0,d=c.length;b<d;b++)a=c[b],k.then(a[0],a[1],a[2])})}},reject:function(a){l.resolve(g(a))},
-notify:function(a){if(h){var c=h;h.length&&b(function(){for(var b,d=0,e=c.length;d<e;d++)b=c[d],b[2](a)})}},promise:{then:function(b,f,g){var l=e(),I=function(d){try{l.resolve((F(b)?b:c)(d))}catch(e){l.reject(e),a(e)}},D=function(b){try{l.resolve((F(f)?f:d)(b))}catch(c){l.reject(c),a(c)}},y=function(b){try{l.notify((F(g)?g:c)(b))}catch(d){a(d)}};h?h.push([I,D,y]):k.then(I,D,y);return l.promise},"catch":function(a){return this.then(null,a)},"finally":function(a){function b(a,c){var d=e();c?d.resolve(a):
-d.reject(a);return d.promise}function d(e,f){var g=null;try{g=(a||c)()}catch(h){return b(h,!1)}return g&&F(g.then)?g.then(function(){return b(e,f)},function(a){return b(a,!1)}):b(e,f)}return this.then(function(a){return d(a,!0)},function(a){return d(a,!1)})}}}},f=function(a){return a&&F(a.then)?a:{then:function(c){var d=e();b(function(){d.resolve(c(a))});return d.promise}}},h=function(a){var b=e();b.reject(a);return b.promise},g=function(c){return{then:function(f,g){var h=e();b(function(){try{h.resolve((F(g)?
-g:d)(c))}catch(b){h.reject(b),a(b)}});return h.promise}}};return{defer:e,reject:h,when:function(g,k,l,n){var q=e(),p,u=function(b){try{return(F(k)?k:c)(b)}catch(d){return a(d),h(d)}},I=function(b){try{return(F(l)?l:d)(b)}catch(c){return a(c),h(c)}},D=function(b){try{return(F(n)?n:c)(b)}catch(d){a(d)}};b(function(){f(g).then(function(a){p||(p=!0,q.resolve(f(a).then(u,I,D)))},function(a){p||(p=!0,q.resolve(I(a)))},function(a){p||q.notify(D(a))})});return q.promise},all:function(a){var b=e(),c=0,d=M(a)?
-[]:{};r(a,function(a,e){c++;f(a).then(function(a){d.hasOwnProperty(e)||(d[e]=a,--c||b.resolve(d))},function(a){d.hasOwnProperty(e)||b.reject(a)})});0===c&&b.resolve(d);return b.promise}}}function me(){this.$get=["$window","$timeout",function(b,a){var c=b.requestAnimationFrame||b.webkitRequestAnimationFrame||b.mozRequestAnimationFrame,d=b.cancelAnimationFrame||b.webkitCancelAnimationFrame||b.mozCancelAnimationFrame||b.webkitCancelRequestAnimationFrame,e=!!c,f=e?function(a){var b=c(a);return function(){d(b)}}:
-function(b){var c=a(b,16.66,!1);return function(){a.cancel(c)}};f.supported=e;return f}]}function ee(){var b=10,a=A("$rootScope"),c=null;this.digestTtl=function(a){arguments.length&&(b=a);return b};this.$get=["$injector","$exceptionHandler","$parse","$browser",function(d,e,f,h){function g(){this.$id=db();this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null;this["this"]=this.$root=this;this.$$destroyed=!1;this.$$asyncQueue=[];this.$$postDigestQueue=
-[];this.$$listeners={};this.$$listenerCount={};this.$$isolateBindings={}}function m(b){if(q.$$phase)throw a("inprog",q.$$phase);q.$$phase=b}function k(a,b){var c=f(a);Qa(c,b);return c}function l(a,b,c){do a.$$listenerCount[c]-=b,0===a.$$listenerCount[c]&&delete a.$$listenerCount[c];while(a=a.$parent)}function n(){}g.prototype={constructor:g,$new:function(a){a?(a=new g,a.$root=this.$root,a.$$asyncQueue=this.$$asyncQueue,a.$$postDigestQueue=this.$$postDigestQueue):(a=function(){},a.prototype=this,a=
-new a,a.$id=db());a["this"]=a;a.$$listeners={};a.$$listenerCount={};a.$parent=this;a.$$watchers=a.$$nextSibling=a.$$childHead=a.$$childTail=null;a.$$prevSibling=this.$$childTail;this.$$childHead?this.$$childTail=this.$$childTail.$$nextSibling=a:this.$$childHead=this.$$childTail=a;return a},$watch:function(a,b,d){var e=k(a,"watch"),f=this.$$watchers,g={fn:b,last:n,get:e,exp:a,eq:!!d};c=null;if(!F(b)){var h=k(b||z,"listener");g.fn=function(a,b,c){h(c)}}if("string"==typeof a&&e.constant){var m=g.fn;
-g.fn=function(a,b,c){m.call(this,a,b,c);Da(f,g)}}f||(f=this.$$watchers=[]);f.unshift(g);return function(){Da(f,g);c=null}},$watchCollection:function(a,b){var c=this,d,e,g,h=1<b.length,k=0,m=f(a),l=[],n={},q=!0,r=0;return this.$watch(function(){d=m(c);var a,b;if(W(d))if(cb(d))for(e!==l&&(e=l,r=e.length=0,k++),a=d.length,r!==a&&(k++,e.length=r=a),b=0;b<a;b++)e[b]!==e[b]&&d[b]!==d[b]||e[b]===d[b]||(k++,e[b]=d[b]);else{e!==n&&(e=n={},r=0,k++);a=0;for(b in d)d.hasOwnProperty(b)&&(a++,e.hasOwnProperty(b)?
-e[b]!==d[b]&&(k++,e[b]=d[b]):(r++,e[b]=d[b],k++));if(r>a)for(b in k++,e)e.hasOwnProperty(b)&&!d.hasOwnProperty(b)&&(r--,delete e[b])}else e!==d&&(e=d,k++);return k},function(){q?(q=!1,b(d,d,c)):b(d,g,c);if(h)if(W(d))if(cb(d)){g=Array(d.length);for(var a=0;a<d.length;a++)g[a]=d[a]}else for(a in g={},d)Qb.call(d,a)&&(g[a]=d[a]);else g=d})},$digest:function(){var d,f,g,h,k=this.$$asyncQueue,l=this.$$postDigestQueue,r,x,s=b,S,N=[],w,t,B;m("$digest");c=null;do{x=!1;for(S=this;k.length;){try{B=k.shift(),
-B.scope.$eval(B.expression)}catch(v){q.$$phase=null,e(v)}c=null}a:do{if(h=S.$$watchers)for(r=h.length;r--;)try{if(d=h[r])if((f=d.get(S))!==(g=d.last)&&!(d.eq?wa(f,g):"number"==typeof f&&"number"==typeof g&&isNaN(f)&&isNaN(g)))x=!0,c=d,d.last=d.eq?$(f):f,d.fn(f,g===n?f:g,S),5>s&&(w=4-s,N[w]||(N[w]=[]),t=F(d.exp)?"fn: "+(d.exp.name||d.exp.toString()):d.exp,t+="; newVal: "+qa(f)+"; oldVal: "+qa(g),N[w].push(t));else if(d===c){x=!1;break a}}catch(C){q.$$phase=null,e(C)}if(!(h=S.$$childHead||S!==this&&
-S.$$nextSibling))for(;S!==this&&!(h=S.$$nextSibling);)S=S.$parent}while(S=h);if((x||k.length)&&!s--)throw q.$$phase=null,a("infdig",b,qa(N));}while(x||k.length);for(q.$$phase=null;l.length;)try{l.shift()()}catch(z){e(z)}},$destroy:function(){if(!this.$$destroyed){var a=this.$parent;this.$broadcast("$destroy");this.$$destroyed=!0;if(this!==q){r(this.$$listenerCount,gb(null,l,this));a.$$childHead==this&&(a.$$childHead=this.$$nextSibling);a.$$childTail==this&&(a.$$childTail=this.$$prevSibling);this.$$prevSibling&&
-(this.$$prevSibling.$$nextSibling=this.$$nextSibling);this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling);for(var b in this)Qb.call(this,b)&&(this[b]=null);this.$$destroyed=!0}}},$eval:function(a,b){return f(a)(this,b)},$evalAsync:function(a){q.$$phase||q.$$asyncQueue.length||h.defer(function(){q.$$asyncQueue.length&&q.$digest()});this.$$asyncQueue.push({scope:this,expression:a})},$$postDigest:function(a){this.$$postDigestQueue.push(a)},$apply:function(a){try{return m("$apply"),
-this.$eval(a)}catch(b){e(b)}finally{q.$$phase=null;try{q.$digest()}catch(c){throw e(c),c;}}},$on:function(a,b){var c=this.$$listeners[a];c||(this.$$listeners[a]=c=[]);c.push(b);var d=this;do d.$$listenerCount[a]||(d.$$listenerCount[a]=0),d.$$listenerCount[a]++;while(d=d.$parent);var e=this;return function(){c[fb(c,b)]=null;l(e,1,a)}},$emit:function(a,b){var c=[],d,f=this,g=!1,h={name:a,targetScope:f,stopPropagation:function(){g=!0},preventDefault:function(){h.defaultPrevented=!0},defaultPrevented:!1},
-k=[h].concat(xa.call(arguments,1)),l,m;do{d=f.$$listeners[a]||c;h.currentScope=f;l=0;for(m=d.length;l<m;l++)if(d[l])try{d[l].apply(null,k)}catch(n){e(n)}else d.splice(l,1),l--,m--;if(g)break;f=f.$parent}while(f);return h},$broadcast:function(a,b){for(var c=this,d=this,f={name:a,targetScope:this,preventDefault:function(){f.defaultPrevented=!0},defaultPrevented:!1},g=[f].concat(xa.call(arguments,1)),h,k;c=d;){f.currentScope=c;d=c.$$listeners[a]||[];h=0;for(k=d.length;h<k;h++)if(d[h])try{d[h].apply(null,
-g)}catch(l){e(l)}else d.splice(h,1),h--,k--;if(!(d=c.$$listenerCount[a]&&c.$$childHead||c!==this&&c.$$nextSibling))for(;c!==this&&!(d=c.$$nextSibling);)c=c.$parent}return f}};var q=new g;return q}]}function id(){var b=/^\s*(https?|ftp|mailto|tel|file):/,a=/^\s*(https?|ftp|file|blob):|data:image\//;this.aHrefSanitizationWhitelist=function(a){return w(a)?(b=a,this):b};this.imgSrcSanitizationWhitelist=function(b){return w(b)?(a=b,this):a};this.$get=function(){return function(c,d){var e=d?a:b,f;if(!V||
-8<=V)if(f=ra(c).href,""!==f&&!f.match(e))return"unsafe:"+f;return c}}}function Fe(b){if("self"===b)return b;if(C(b)){if(-1<b.indexOf("***"))throw ta("iwcard",b);b=b.replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08").replace("\\*\\*",".*").replace("\\*","[^:/.?&;]*");return RegExp("^"+b+"$")}if(eb(b))return RegExp("^"+b.source+"$");throw ta("imatcher");}function Ic(b){var a=[];w(b)&&r(b,function(b){a.push(Fe(b))});return a}function he(){this.SCE_CONTEXTS=fa;var b=["self"],a=[];
-this.resourceUrlWhitelist=function(a){arguments.length&&(b=Ic(a));return b};this.resourceUrlBlacklist=function(b){arguments.length&&(a=Ic(b));return a};this.$get=["$injector",function(c){function d(a){var b=function(a){this.$$unwrapTrustedValue=function(){return a}};a&&(b.prototype=new a);b.prototype.valueOf=function(){return this.$$unwrapTrustedValue()};b.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()};return b}var e=function(a){throw ta("unsafe");};c.has("$sanitize")&&
-(e=c.get("$sanitize"));var f=d(),h={};h[fa.HTML]=d(f);h[fa.CSS]=d(f);h[fa.URL]=d(f);h[fa.JS]=d(f);h[fa.RESOURCE_URL]=d(h[fa.URL]);return{trustAs:function(a,b){var c=h.hasOwnProperty(a)?h[a]:null;if(!c)throw ta("icontext",a,b);if(null===b||b===s||""===b)return b;if("string"!==typeof b)throw ta("itype",a);return new c(b)},getTrusted:function(c,d){if(null===d||d===s||""===d)return d;var f=h.hasOwnProperty(c)?h[c]:null;if(f&&d instanceof f)return d.$$unwrapTrustedValue();if(c===fa.RESOURCE_URL){var f=
-ra(d.toString()),l,n,q=!1;l=0;for(n=b.length;l<n;l++)if("self"===b[l]?Kb(f):b[l].exec(f.href)){q=!0;break}if(q)for(l=0,n=a.length;l<n;l++)if("self"===a[l]?Kb(f):a[l].exec(f.href)){q=!1;break}if(q)return d;throw ta("insecurl",d.toString());}if(c===fa.HTML)return e(d);throw ta("unsafe");},valueOf:function(a){return a instanceof f?a.$$unwrapTrustedValue():a}}}]}function ge(){var b=!0;this.enabled=function(a){arguments.length&&(b=!!a);return b};this.$get=["$parse","$sniffer","$sceDelegate",function(a,
-c,d){if(b&&c.msie&&8>c.msieDocumentMode)throw ta("iequirks");var e=$(fa);e.isEnabled=function(){return b};e.trustAs=d.trustAs;e.getTrusted=d.getTrusted;e.valueOf=d.valueOf;b||(e.trustAs=e.getTrusted=function(a,b){return b},e.valueOf=Ca);e.parseAs=function(b,c){var d=a(c);return d.literal&&d.constant?d:function(a,c){return e.getTrusted(b,d(a,c))}};var f=e.parseAs,h=e.getTrusted,g=e.trustAs;r(fa,function(a,b){var c=P(b);e[Sa("parse_as_"+c)]=function(b){return f(a,b)};e[Sa("get_trusted_"+c)]=function(b){return h(a,
-b)};e[Sa("trust_as_"+c)]=function(b){return g(a,b)}});return e}]}function ie(){this.$get=["$window","$document",function(b,a){var c={},d=Q((/android (\d+)/.exec(P((b.navigator||{}).userAgent))||[])[1]),e=/Boxee/i.test((b.navigator||{}).userAgent),f=a[0]||{},h=f.documentMode,g,m=/^(Moz|webkit|O|ms)(?=[A-Z])/,k=f.body&&f.body.style,l=!1,n=!1;if(k){for(var q in k)if(l=m.exec(q)){g=l[0];g=g.substr(0,1).toUpperCase()+g.substr(1);break}g||(g="WebkitOpacity"in k&&"webkit");l=!!("transition"in k||g+"Transition"in
-k);n=!!("animation"in k||g+"Animation"in k);!d||l&&n||(l=C(f.body.style.webkitTransition),n=C(f.body.style.webkitAnimation))}return{history:!(!b.history||!b.history.pushState||4>d||e),hashchange:"onhashchange"in b&&(!h||7<h),hasEvent:function(a){if("input"==a&&9==V)return!1;if(E(c[a])){var b=f.createElement("div");c[a]="on"+a in b}return c[a]},csp:Yb(),vendorPrefix:g,transitions:l,animations:n,android:d,msie:V,msieDocumentMode:h}}]}function ke(){this.$get=["$rootScope","$browser","$q","$exceptionHandler",
-function(b,a,c,d){function e(e,g,m){var k=c.defer(),l=k.promise,n=w(m)&&!m;g=a.defer(function(){try{k.resolve(e())}catch(a){k.reject(a),d(a)}finally{delete f[l.$$timeoutId]}n||b.$apply()},g);l.$$timeoutId=g;f[g]=k;return l}var f={};e.cancel=function(b){return b&&b.$$timeoutId in f?(f[b.$$timeoutId].reject("canceled"),delete f[b.$$timeoutId],a.defer.cancel(b.$$timeoutId)):!1};return e}]}function ra(b,a){var c=b;V&&(T.setAttribute("href",c),c=T.href);T.setAttribute("href",c);return{href:T.href,protocol:T.protocol?
-T.protocol.replace(/:$/,""):"",host:T.host,search:T.search?T.search.replace(/^\?/,""):"",hash:T.hash?T.hash.replace(/^#/,""):"",hostname:T.hostname,port:T.port,pathname:"/"===T.pathname.charAt(0)?T.pathname:"/"+T.pathname}}function Kb(b){b=C(b)?ra(b):b;return b.protocol===Jc.protocol&&b.host===Jc.host}function le(){this.$get=Y(R)}function jc(b){function a(d,e){if(W(d)){var f={};r(d,function(b,c){f[c]=a(c,b)});return f}return b.factory(d+c,e)}var c="Filter";this.register=a;this.$get=["$injector",function(a){return function(b){return a.get(b+
-c)}}];a("currency",Kc);a("date",Lc);a("filter",Ge);a("json",He);a("limitTo",Ie);a("lowercase",Je);a("number",Mc);a("orderBy",Nc);a("uppercase",Ke)}function Ge(){return function(b,a,c){if(!M(b))return b;var d=typeof c,e=[];e.check=function(a){for(var b=0;b<e.length;b++)if(!e[b](a))return!1;return!0};"function"!==d&&(c="boolean"===d&&c?function(a,b){return Pa.equals(a,b)}:function(a,b){if(a&&b&&"object"===typeof a&&"object"===typeof b){for(var d in a)if("$"!==d.charAt(0)&&Qb.call(a,d)&&c(a[d],b[d]))return!0;
-return!1}b=(""+b).toLowerCase();return-1<(""+a).toLowerCase().indexOf(b)});var f=function(a,b){if("string"==typeof b&&"!"===b.charAt(0))return!f(a,b.substr(1));switch(typeof a){case "boolean":case "number":case "string":return c(a,b);case "object":switch(typeof b){case "object":return c(a,b);default:for(var d in a)if("$"!==d.charAt(0)&&f(a[d],b))return!0}return!1;case "array":for(d=0;d<a.length;d++)if(f(a[d],b))return!0;return!1;default:return!1}};switch(typeof a){case "boolean":case "number":case "string":a=
-{$:a};case "object":for(var h in a)(function(b){"undefined"!=typeof a[b]&&e.push(function(c){return f("$"==b?c:c&&c[b],a[b])})})(h);break;case "function":e.push(a);break;default:return b}d=[];for(h=0;h<b.length;h++){var g=b[h];e.check(g)&&d.push(g)}return d}}function Kc(b){var a=b.NUMBER_FORMATS;return function(b,d){E(d)&&(d=a.CURRENCY_SYM);return Oc(b,a.PATTERNS[1],a.GROUP_SEP,a.DECIMAL_SEP,2).replace(/\u00A4/g,d)}}function Mc(b){var a=b.NUMBER_FORMATS;return function(b,d){return Oc(b,a.PATTERNS[0],
-a.GROUP_SEP,a.DECIMAL_SEP,d)}}function Oc(b,a,c,d,e){if(null==b||!isFinite(b)||W(b))return"";var f=0>b;b=Math.abs(b);var h=b+"",g="",m=[],k=!1;if(-1!==h.indexOf("e")){var l=h.match(/([\d\.]+)e(-?)(\d+)/);l&&"-"==l[2]&&l[3]>e+1?h="0":(g=h,k=!0)}if(k)0<e&&(-1<b&&1>b)&&(g=b.toFixed(e));else{h=(h.split(Pc)[1]||"").length;E(e)&&(e=Math.min(Math.max(a.minFrac,h),a.maxFrac));h=Math.pow(10,e);b=Math.round(b*h)/h;b=(""+b).split(Pc);h=b[0];b=b[1]||"";var l=0,n=a.lgSize,q=a.gSize;if(h.length>=n+q)for(l=h.length-
-n,k=0;k<l;k++)0===(l-k)%q&&0!==k&&(g+=c),g+=h.charAt(k);for(k=l;k<h.length;k++)0===(h.length-k)%n&&0!==k&&(g+=c),g+=h.charAt(k);for(;b.length<e;)b+="0";e&&"0"!==e&&(g+=d+b.substr(0,e))}m.push(f?a.negPre:a.posPre);m.push(g);m.push(f?a.negSuf:a.posSuf);return m.join("")}function sb(b,a,c){var d="";0>b&&(d="-",b=-b);for(b=""+b;b.length<a;)b="0"+b;c&&(b=b.substr(b.length-a));return d+b}function X(b,a,c,d){c=c||0;return function(e){e=e["get"+b]();if(0<c||e>-c)e+=c;0===e&&-12==c&&(e=12);return sb(e,a,d)}}
-function tb(b,a){return function(c,d){var e=c["get"+b](),f=Ea(a?"SHORT"+b:b);return d[f][e]}}function Qc(b){var a=(new Date(b,0,1)).getDay();return new Date(b,0,(4>=a?5:12)-a)}function Rc(b){return function(a){var c=Qc(a.getFullYear());a=+new Date(a.getFullYear(),a.getMonth(),a.getDate()+(4-a.getDay()))-+c;a=1+Math.round(a/6048E5);return sb(a,b)}}function Lc(b){function a(a){var b;if(b=a.match(c)){a=new Date(0);var f=0,h=0,g=b[8]?a.setUTCFullYear:a.setFullYear,m=b[8]?a.setUTCHours:a.setHours;b[9]&&
-(f=Q(b[9]+b[10]),h=Q(b[9]+b[11]));g.call(a,Q(b[1]),Q(b[2])-1,Q(b[3]));f=Q(b[4]||0)-f;h=Q(b[5]||0)-h;g=Q(b[6]||0);b=Math.round(1E3*parseFloat("0."+(b[7]||0)));m.call(a,f,h,g,b)}return a}var c=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(c,e){var f="",h=[],g,m;e=e||"mediumDate";e=b.DATETIME_FORMATS[e]||e;C(c)&&(c=Le.test(c)?Q(c):a(c));zb(c)&&(c=new Date(c));if(!pa(c))return c;for(;e;)(m=Me.exec(e))?(h=h.concat(xa.call(m,1)),e=
-h.pop()):(h.push(e),e=null);r(h,function(a){g=Ne[a];f+=g?g(c,b.DATETIME_FORMATS):a.replace(/(^'|'$)/g,"").replace(/''/g,"'")});return f}}function He(){return function(b){return qa(b,!0)}}function Ie(){return function(b,a){if(!M(b)&&!C(b))return b;a=Q(a);if(C(b))return a?0<=a?b.slice(0,a):b.slice(a,b.length):"";var c=[],d,e;a>b.length?a=b.length:a<-b.length&&(a=-b.length);0<a?(d=0,e=a):(d=b.length+a,e=b.length);for(;d<e;d++)c.push(b[d]);return c}}function Nc(b){return function(a,c,d){function e(a,
-b){return Oa(b)?function(b,c){return a(c,b)}:a}function f(a,b){var c=typeof a,d=typeof b;return c==d?("string"==c&&(a=a.toLowerCase(),b=b.toLowerCase()),a===b?0:a<b?-1:1):c<d?-1:1}if(!M(a)||!c)return a;c=M(c)?c:[c];c=ad(c,function(a){var c=!1,d=a||Ca;if(C(a)){if("+"==a.charAt(0)||"-"==a.charAt(0))c="-"==a.charAt(0),a=a.substring(1);d=b(a);if(d.constant){var g=d();return e(function(a,b){return f(a[g],b[g])},c)}}return e(function(a,b){return f(d(a),d(b))},c)});for(var h=[],g=0;g<a.length;g++)h.push(a[g]);
-return h.sort(e(function(a,b){for(var d=0;d<c.length;d++){var e=c[d](a,b);if(0!==e)return e}return 0},d))}}function ua(b){F(b)&&(b={link:b});b.restrict=b.restrict||"AC";return Y(b)}function Sc(b,a,c,d){function e(a,c){c=c?"-"+hb(c,"-"):"";d.removeClass(b,(a?ub:vb)+c);d.addClass(b,(a?vb:ub)+c)}var f=this,h=b.parent().controller("form")||wb,g=0,m=f.$error={},k=[];f.$name=a.name||a.ngForm;f.$dirty=!1;f.$pristine=!0;f.$valid=!0;f.$invalid=!1;h.$addControl(f);b.addClass(La);e(!0);f.$addControl=function(a){za(a.$name,
-"input");k.push(a);a.$name&&(f[a.$name]=a)};f.$removeControl=function(a){a.$name&&f[a.$name]===a&&delete f[a.$name];r(m,function(b,c){f.$setValidity(c,!0,a)});Da(k,a)};f.$setValidity=function(a,b,c){var d=m[a];if(b)d&&(Da(d,c),d.length||(g--,g||(e(b),f.$valid=!0,f.$invalid=!1),m[a]=!1,e(!0,a),h.$setValidity(a,!0,f)));else{g||e(b);if(d){if(-1!=fb(d,c))return}else m[a]=d=[],g++,e(!1,a),h.$setValidity(a,!1,f);d.push(c);f.$valid=!1;f.$invalid=!0}};f.$setDirty=function(){d.removeClass(b,La);d.addClass(b,
-xb);f.$dirty=!0;f.$pristine=!1;h.$setDirty()};f.$setPristine=function(){d.removeClass(b,xb);d.addClass(b,La);f.$dirty=!1;f.$pristine=!0;r(k,function(a){a.$setPristine()})}}function oa(b,a,c,d){b.$setValidity(a,c);return c?d:s}function Oe(b,a,c){var d=c.prop("validity");W(d)&&b.$parsers.push(function(c){if(b.$error[a]||!(d.badInput||d.customError||d.typeMismatch)||d.valueMissing)return c;b.$setValidity(a,!1)})}function ab(b,a,c,d,e,f){var h=a.prop("validity");if(!e.android){var g=!1;a.on("compositionstart",
-function(a){g=!0});a.on("compositionend",function(){g=!1;m()})}var m=function(){if(!g){var e=a.val();Oa(c.ngTrim||"T")&&(e=aa(e));if(d.$viewValue!==e||h&&""===e&&!h.valueMissing)b.$$phase?d.$setViewValue(e):b.$apply(function(){d.$setViewValue(e)})}};if(e.hasEvent("input"))a.on("input",m);else{var k,l=function(){k||(k=f.defer(function(){m();k=null}))};a.on("keydown",function(a){a=a.keyCode;91===a||(15<a&&19>a||37<=a&&40>=a)||l()});if(e.hasEvent("paste"))a.on("paste cut",l)}a.on("change",m);d.$render=
-function(){a.val(d.$isEmpty(d.$viewValue)?"":d.$viewValue)};var n=c.ngPattern;n&&((e=n.match(/^\/(.*)\/([gim]*)$/))?(n=RegExp(e[1],e[2]),e=function(a){return oa(d,"pattern",d.$isEmpty(a)||n.test(a),a)}):e=function(c){var e=b.$eval(n);if(!e||!e.test)throw A("ngPattern")("noregexp",n,e,ga(a));return oa(d,"pattern",d.$isEmpty(c)||e.test(c),c)},d.$formatters.push(e),d.$parsers.push(e));if(c.ngMinlength){var q=Q(c.ngMinlength);e=function(a){return oa(d,"minlength",d.$isEmpty(a)||a.length>=q,a)};d.$parsers.push(e);
-d.$formatters.push(e)}if(c.ngMaxlength){var p=Q(c.ngMaxlength);e=function(a){return oa(d,"maxlength",d.$isEmpty(a)||a.length<=p,a)};d.$parsers.push(e);d.$formatters.push(e)}}function yb(b,a){return function(c){var d;return pa(c)?c:C(c)&&(b.lastIndex=0,c=b.exec(c))?(c.shift(),d={yyyy:0,MM:1,dd:1,HH:0,mm:0},r(c,function(b,c){c<a.length&&(d[a[c]]=+b)}),new Date(d.yyyy,d.MM-1,d.dd,d.HH,d.mm)):NaN}}function bb(b,a,c,d){return function(e,f,h,g,m,k,l){ab(e,f,h,g,m,k);g.$parsers.push(function(d){if(g.$isEmpty(d))return g.$setValidity(b,
-!0),null;if(a.test(d))return g.$setValidity(b,!0),c(d);g.$setValidity(b,!1);return s});g.$formatters.push(function(a){return pa(a)?l("date")(a,d):""});h.min&&(e=function(a){var b=g.$isEmpty(a)||c(a)>=c(h.min);g.$setValidity("min",b);return b?a:s},g.$parsers.push(e),g.$formatters.push(e));h.max&&(e=function(a){var b=g.$isEmpty(a)||c(a)<=c(h.max);g.$setValidity("max",b);return b?a:s},g.$parsers.push(e),g.$formatters.push(e))}}function Rb(b,a){b="ngClass"+b;return function(){return{restrict:"AC",link:function(c,
-d,e){function f(b){if(!0===a||c.$index%2===a){var d=h(b||"");g?wa(b,g)||e.$updateClass(d,h(g)):e.$addClass(d)}g=$(b)}function h(a){if(M(a))return a.join(" ");if(W(a)){var b=[];r(a,function(a,c){a&&b.push(c)});return b.join(" ")}return a}var g;c.$watch(e[b],f,!0);e.$observe("class",function(a){f(c.$eval(e[b]))});"ngClass"!==b&&c.$watch("$index",function(d,f){var g=d&1;if(g!==f&1){var n=h(c.$eval(e[b]));g===a?e.$addClass(n):e.$removeClass(n)}})}}}}var P=function(b){return C(b)?b.toLowerCase():b},Qb=
-Object.prototype.hasOwnProperty,Ea=function(b){return C(b)?b.toUpperCase():b},V,v,Fa,xa=[].slice,Pe=[].push,va=Object.prototype.toString,Na=A("ng"),Pa=R.angular||(R.angular={}),Ra,Ja,ja=["0","0","0"];V=Q((/msie (\d+)/.exec(P(navigator.userAgent))||[])[1]);isNaN(V)&&(V=Q((/trident\/.*; rv:(\d+)/.exec(P(navigator.userAgent))||[])[1]));z.$inject=[];Ca.$inject=[];var aa=function(){return String.prototype.trim?function(b){return C(b)?b.trim():b}:function(b){return C(b)?b.replace(/^\s\s*/,"").replace(/\s\s*$/,
-""):b}}();Ja=9>V?function(b){b=b.nodeName?b:b[0];return b.scopeName&&"HTML"!=b.scopeName?Ea(b.scopeName+":"+b.nodeName):b.nodeName}:function(b){return b.nodeName?b.nodeName:b[0].nodeName};var dd=/[A-Z]/g,gd={full:"1.3.0-beta.4",major:1,minor:3,dot:0,codeName:"inconspicuous-deception"},Ua=O.cache={},ib=O.expando="ng-"+(new Date).getTime(),qe=1,pb=R.document.addEventListener?function(b,a,c){b.addEventListener(a,c,!1)}:function(b,a,c){b.attachEvent("on"+a,c)},Ta=R.document.removeEventListener?function(b,
-a,c){b.removeEventListener(a,c,!1)}:function(b,a,c){b.detachEvent("on"+a,c)};O._data=function(b){return this.cache[b[this.expando]]||{}};var oe=/([\:\-\_]+(.))/g,pe=/^moz([A-Z])/,Fb=A("jqLite"),Ia=O.prototype={ready:function(b){function a(){c||(c=!0,b())}var c=!1;"complete"===U.readyState?setTimeout(a):(this.on("DOMContentLoaded",a),O(R).on("load",a))},toString:function(){var b=[];r(this,function(a){b.push(""+a)});return"["+b.join(", ")+"]"},eq:function(b){return 0<=b?v(this[b]):v(this[this.length+
-b])},length:0,push:Pe,sort:[].sort,splice:[].splice},mb={};r("multiple selected checked disabled readOnly required open".split(" "),function(b){mb[P(b)]=b});var qc={};r("input select option textarea button form details".split(" "),function(b){qc[Ea(b)]=!0});r({data:mc,inheritedData:lb,scope:function(b){return v(b).data("$scope")||lb(b.parentNode||b,["$isolateScope","$scope"])},isolateScope:function(b){return v(b).data("$isolateScope")||v(b).data("$isolateScopeNoTemplate")},controller:nc,injector:function(b){return lb(b,
-"$injector")},removeAttr:function(b,a){b.removeAttribute(a)},hasClass:Ib,css:function(b,a,c){a=Sa(a);if(w(c))b.style[a]=c;else{var d;8>=V&&(d=b.currentStyle&&b.currentStyle[a],""===d&&(d="auto"));d=d||b.style[a];8>=V&&(d=""===d?s:d);return d}},attr:function(b,a,c){var d=P(a);if(mb[d])if(w(c))c?(b[a]=!0,b.setAttribute(a,d)):(b[a]=!1,b.removeAttribute(d));else return b[a]||(b.attributes.getNamedItem(a)||z).specified?d:s;else if(w(c))b.setAttribute(a,c);else if(b.getAttribute)return b=b.getAttribute(a,
-2),null===b?s:b},prop:function(b,a,c){if(w(c))b[a]=c;else return b[a]},text:function(){function b(b,d){var e=a[b.nodeType];if(E(d))return e?b[e]:"";b[e]=d}var a=[];9>V?(a[1]="innerText",a[3]="nodeValue"):a[1]=a[3]="textContent";b.$dv="";return b}(),val:function(b,a){if(E(a)){if("SELECT"===Ja(b)&&b.multiple){var c=[];r(b.options,function(a){a.selected&&c.push(a.value||a.text)});return 0===c.length?null:c}return b.value}b.value=a},html:function(b,a){if(E(a))return b.innerHTML;for(var c=0,d=b.childNodes;c<
-d.length;c++)Ga(d[c]);b.innerHTML=a},empty:oc},function(b,a){O.prototype[a]=function(a,d){var e,f;if(b!==oc&&(2==b.length&&b!==Ib&&b!==nc?a:d)===s){if(W(a)){for(e=0;e<this.length;e++)if(b===mc)b(this[e],a);else for(f in a)b(this[e],f,a[f]);return this}e=b.$dv;f=e===s?Math.min(this.length,1):this.length;for(var h=0;h<f;h++){var g=b(this[h],a,d);e=e?e+g:g}return e}for(e=0;e<this.length;e++)b(this[e],a,d);return this}});r({removeData:kc,dealoc:Ga,on:function a(c,d,e,f){if(w(f))throw Fb("onargs");var h=
-ka(c,"events"),g=ka(c,"handle");h||ka(c,"events",h={});g||ka(c,"handle",g=re(c,h));r(d.split(" "),function(d){var f=h[d];if(!f){if("mouseenter"==d||"mouseleave"==d){var l=U.body.contains||U.body.compareDocumentPosition?function(a,c){var d=9===a.nodeType?a.documentElement:a,e=c&&c.parentNode;return a===e||!!(e&&1===e.nodeType&&(d.contains?d.contains(e):a.compareDocumentPosition&&a.compareDocumentPosition(e)&16))}:function(a,c){if(c)for(;c=c.parentNode;)if(c===a)return!0;return!1};h[d]=[];a(c,{mouseleave:"mouseout",
-mouseenter:"mouseover"}[d],function(a){var c=a.relatedTarget;c&&(c===this||l(this,c))||g(a,d)})}else pb(c,d,g),h[d]=[];f=h[d]}f.push(e)})},off:lc,one:function(a,c,d){a=v(a);a.on(c,function f(){a.off(c,d);a.off(c,f)});a.on(c,d)},replaceWith:function(a,c){var d,e=a.parentNode;Ga(a);r(new O(c),function(c){d?e.insertBefore(c,d.nextSibling):e.replaceChild(c,a);d=c})},children:function(a){var c=[];r(a.childNodes,function(a){1===a.nodeType&&c.push(a)});return c},contents:function(a){return a.contentDocument||
-a.childNodes||[]},append:function(a,c){r(new O(c),function(c){1!==a.nodeType&&11!==a.nodeType||a.appendChild(c)})},prepend:function(a,c){if(1===a.nodeType){var d=a.firstChild;r(new O(c),function(c){a.insertBefore(c,d)})}},wrap:function(a,c){c=v(c)[0];var d=a.parentNode;d&&d.replaceChild(c,a);c.appendChild(a)},remove:function(a){Ga(a);var c=a.parentNode;c&&c.removeChild(a)},after:function(a,c){var d=a,e=a.parentNode;r(new O(c),function(a){e.insertBefore(a,d.nextSibling);d=a})},addClass:kb,removeClass:jb,
-toggleClass:function(a,c,d){c&&r(c.split(" "),function(c){var f=d;E(f)&&(f=!Ib(a,c));(f?kb:jb)(a,c)})},parent:function(a){return(a=a.parentNode)&&11!==a.nodeType?a:null},next:function(a){if(a.nextElementSibling)return a.nextElementSibling;for(a=a.nextSibling;null!=a&&1!==a.nodeType;)a=a.nextSibling;return a},find:function(a,c){return a.getElementsByTagName?a.getElementsByTagName(c):[]},clone:Hb,triggerHandler:function(a,c,d){c=(ka(a,"events")||{})[c];d=d||[];var e=[{preventDefault:z,stopPropagation:z}];
-r(c,function(c){c.apply(a,e.concat(d))})}},function(a,c){O.prototype[c]=function(c,e,f){for(var h,g=0;g<this.length;g++)E(h)?(h=a(this[g],c,e,f),w(h)&&(h=v(h))):Gb(h,a(this[g],c,e,f));return w(h)?h:this};O.prototype.bind=O.prototype.on;O.prototype.unbind=O.prototype.off});Va.prototype={put:function(a,c){this[Ha(a)]=c},get:function(a){return this[Ha(a)]},remove:function(a){var c=this[a=Ha(a)];delete this[a];return c}};var te=/^function\s*[^\(]*\(\s*([^\)]*)\)/m,ue=/,/,ve=/^\s*(_?)(\S+?)\1\s*$/,se=
-/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg,Wa=A("$injector"),Qe=A("$animate"),Sd=["$provide",function(a){this.$$selectors={};this.register=function(c,d){var e=c+"-animation";if(c&&"."!=c.charAt(0))throw Qe("notcsel",c);this.$$selectors[c.substr(1)]=e;a.factory(e,d)};this.classNameFilter=function(a){1===arguments.length&&(this.$$classNameFilter=a instanceof RegExp?a:null);return this.$$classNameFilter};this.$get=["$timeout","$$asyncCallback",function(a,d){return{enter:function(a,c,h,g){h?h.after(a):(c&&c[0]||
-(c=h.parent()),c.append(a));g&&d(g)},leave:function(a,c){a.remove();c&&d(c)},move:function(a,c,d,g){this.enter(a,c,d,g)},addClass:function(a,c,h){c=C(c)?c:M(c)?c.join(" "):"";r(a,function(a){kb(a,c)});h&&d(h)},removeClass:function(a,c,h){c=C(c)?c:M(c)?c.join(" "):"";r(a,function(a){jb(a,c)});h&&d(h)},setClass:function(a,c,h,g){r(a,function(a){kb(a,c);jb(a,h)});g&&d(g)},enabled:z}}]}],ia=A("$compile");fc.$inject=["$provide","$$sanitizeUriProvider"];var ye=/^(x[\:\-_]|data[\:\-_])/i,yc=A("$interpolate"),
-Re=/^([^\?#]*)(\?([^#]*))?(#(.*))?$/,Be={http:80,https:443,ftp:21},Mb=A("$location");Dc.prototype=Nb.prototype=Cc.prototype={$$html5:!1,$$replace:!1,absUrl:qb("$$absUrl"),url:function(a,c){if(E(a))return this.$$url;var d=Re.exec(a);d[1]&&this.path(decodeURIComponent(d[1]));(d[2]||d[1])&&this.search(d[3]||"");this.hash(d[5]||"",c);return this},protocol:qb("$$protocol"),host:qb("$$host"),port:qb("$$port"),path:Ec("$$path",function(a){return"/"==a.charAt(0)?a:"/"+a}),search:function(a,c){switch(arguments.length){case 0:return this.$$search;
-case 1:if(C(a))this.$$search=ac(a);else if(W(a))this.$$search=a;else throw Mb("isrcharg");break;default:E(c)||null===c?delete this.$$search[a]:this.$$search[a]=c}this.$$compose();return this},hash:Ec("$$hash",Ca),replace:function(){this.$$replace=!0;return this}};var Aa=A("$parse"),Hc={},sa,Ma={"null":function(){return null},"true":function(){return!0},"false":function(){return!1},undefined:z,"+":function(a,c,d,e){d=d(a,c);e=e(a,c);return w(d)?w(e)?d+e:d:w(e)?e:s},"-":function(a,c,d,e){d=d(a,c);e=
-e(a,c);return(w(d)?d:0)-(w(e)?e:0)},"*":function(a,c,d,e){return d(a,c)*e(a,c)},"/":function(a,c,d,e){return d(a,c)/e(a,c)},"%":function(a,c,d,e){return d(a,c)%e(a,c)},"^":function(a,c,d,e){return d(a,c)^e(a,c)},"=":z,"===":function(a,c,d,e){return d(a,c)===e(a,c)},"!==":function(a,c,d,e){return d(a,c)!==e(a,c)},"==":function(a,c,d,e){return d(a,c)==e(a,c)},"!=":function(a,c,d,e){return d(a,c)!=e(a,c)},"<":function(a,c,d,e){return d(a,c)<e(a,c)},">":function(a,c,d,e){return d(a,c)>e(a,c)},"<=":function(a,
-c,d,e){return d(a,c)<=e(a,c)},">=":function(a,c,d,e){return d(a,c)>=e(a,c)},"&&":function(a,c,d,e){return d(a,c)&&e(a,c)},"||":function(a,c,d,e){return d(a,c)||e(a,c)},"&":function(a,c,d,e){return d(a,c)&e(a,c)},"|":function(a,c,d,e){return e(a,c)(a,c,d(a,c))},"!":function(a,c,d){return!d(a,c)}},Se={n:"\n",f:"\f",r:"\r",t:"\t",v:"\v","'":"'",'"':'"'},Pb=function(a){this.options=a};Pb.prototype={constructor:Pb,lex:function(a){this.text=a;this.index=0;this.ch=s;this.lastCh=":";this.tokens=[];var c;
-for(a=[];this.index<this.text.length;){this.ch=this.text.charAt(this.index);if(this.is("\"'"))this.readString(this.ch);else if(this.isNumber(this.ch)||this.is(".")&&this.isNumber(this.peek()))this.readNumber();else if(this.isIdent(this.ch))this.readIdent(),this.was("{,")&&("{"===a[0]&&(c=this.tokens[this.tokens.length-1]))&&(c.json=-1===c.text.indexOf("."));else if(this.is("(){}[].,;:?"))this.tokens.push({index:this.index,text:this.ch,json:this.was(":[,")&&this.is("{[")||this.is("}]:,")}),this.is("{[")&&
-a.unshift(this.ch),this.is("}]")&&a.shift(),this.index++;else if(this.isWhitespace(this.ch)){this.index++;continue}else{var d=this.ch+this.peek(),e=d+this.peek(2),f=Ma[this.ch],h=Ma[d],g=Ma[e];g?(this.tokens.push({index:this.index,text:e,fn:g}),this.index+=3):h?(this.tokens.push({index:this.index,text:d,fn:h}),this.index+=2):f?(this.tokens.push({index:this.index,text:this.ch,fn:f,json:this.was("[,:")&&this.is("+-")}),this.index+=1):this.throwError("Unexpected next character ",this.index,this.index+
-1)}this.lastCh=this.ch}return this.tokens},is:function(a){return-1!==a.indexOf(this.ch)},was:function(a){return-1!==a.indexOf(this.lastCh)},peek:function(a){a=a||1;return this.index+a<this.text.length?this.text.charAt(this.index+a):!1},isNumber:function(a){return"0"<=a&&"9">=a},isWhitespace:function(a){return" "===a||"\r"===a||"\t"===a||"\n"===a||"\v"===a||"\u00a0"===a},isIdent:function(a){return"a"<=a&&"z">=a||"A"<=a&&"Z">=a||"_"===a||"$"===a},isExpOperator:function(a){return"-"===a||"+"===a||this.isNumber(a)},
-throwError:function(a,c,d){d=d||this.index;c=w(c)?"s "+c+"-"+this.index+" ["+this.text.substring(c,d)+"]":" "+d;throw Aa("lexerr",a,c,this.text);},readNumber:function(){for(var a="",c=this.index;this.index<this.text.length;){var d=P(this.text.charAt(this.index));if("."==d||this.isNumber(d))a+=d;else{var e=this.peek();if("e"==d&&this.isExpOperator(e))a+=d;else if(this.isExpOperator(d)&&e&&this.isNumber(e)&&"e"==a.charAt(a.length-1))a+=d;else if(!this.isExpOperator(d)||e&&this.isNumber(e)||"e"!=a.charAt(a.length-
-1))break;else this.throwError("Invalid exponent")}this.index++}a*=1;this.tokens.push({index:c,text:a,json:!0,fn:function(){return a}})},readIdent:function(){for(var a=this,c="",d=this.index,e,f,h,g;this.index<this.text.length;){g=this.text.charAt(this.index);if("."===g||this.isIdent(g)||this.isNumber(g))"."===g&&(e=this.index),c+=g;else break;this.index++}if(e)for(f=this.index;f<this.text.length;){g=this.text.charAt(f);if("("===g){h=c.substr(e-d+1);c=c.substr(0,e-d);this.index=f;break}if(this.isWhitespace(g))f++;
-else break}d={index:d,text:c};if(Ma.hasOwnProperty(c))d.fn=Ma[c],d.json=Ma[c];else{var m=Gc(c,this.options,this.text);d.fn=t(function(a,c){return m(a,c)},{assign:function(d,e){return rb(d,c,e,a.text,a.options)}})}this.tokens.push(d);h&&(this.tokens.push({index:e,text:".",json:!1}),this.tokens.push({index:e+1,text:h,json:!1}))},readString:function(a){var c=this.index;this.index++;for(var d="",e=a,f=!1;this.index<this.text.length;){var h=this.text.charAt(this.index),e=e+h;if(f)"u"===h?(h=this.text.substring(this.index+
-1,this.index+5),h.match(/[\da-f]{4}/i)||this.throwError("Invalid unicode escape [\\u"+h+"]"),this.index+=4,d+=String.fromCharCode(parseInt(h,16))):d=(f=Se[h])?d+f:d+h,f=!1;else if("\\"===h)f=!0;else{if(h===a){this.index++;this.tokens.push({index:c,text:e,string:d,json:!0,fn:function(){return d}});return}d+=h}this.index++}this.throwError("Unterminated quote",c)}};var $a=function(a,c,d){this.lexer=a;this.$filter=c;this.options=d};$a.ZERO=function(){return 0};$a.prototype={constructor:$a,parse:function(a,
-c){this.text=a;this.json=c;this.tokens=this.lexer.lex(a);c&&(this.assignment=this.logicalOR,this.functionCall=this.fieldAccess=this.objectIndex=this.filterChain=function(){this.throwError("is not valid json",{text:a,index:0})});var d=c?this.primary():this.statements();0!==this.tokens.length&&this.throwError("is an unexpected token",this.tokens[0]);d.literal=!!d.literal;d.constant=!!d.constant;return d},primary:function(){var a;if(this.expect("("))a=this.filterChain(),this.consume(")");else if(this.expect("["))a=
-this.arrayDeclaration();else if(this.expect("{"))a=this.object();else{var c=this.expect();(a=c.fn)||this.throwError("not a primary expression",c);c.json&&(a.constant=!0,a.literal=!0)}for(var d;c=this.expect("(","[",".");)"("===c.text?(a=this.functionCall(a,d),d=null):"["===c.text?(d=a,a=this.objectIndex(a)):"."===c.text?(d=a,a=this.fieldAccess(a)):this.throwError("IMPOSSIBLE");return a},throwError:function(a,c){throw Aa("syntax",c.text,a,c.index+1,this.text,this.text.substring(c.index));},peekToken:function(){if(0===
-this.tokens.length)throw Aa("ueoe",this.text);return this.tokens[0]},peek:function(a,c,d,e){if(0<this.tokens.length){var f=this.tokens[0],h=f.text;if(h===a||h===c||h===d||h===e||!(a||c||d||e))return f}return!1},expect:function(a,c,d,e){return(a=this.peek(a,c,d,e))?(this.json&&!a.json&&this.throwError("is not valid json",a),this.tokens.shift(),a):!1},consume:function(a){this.expect(a)||this.throwError("is unexpected, expecting ["+a+"]",this.peek())},unaryFn:function(a,c){return t(function(d,e){return a(d,
-e,c)},{constant:c.constant})},ternaryFn:function(a,c,d){return t(function(e,f){return a(e,f)?c(e,f):d(e,f)},{constant:a.constant&&c.constant&&d.constant})},binaryFn:function(a,c,d){return t(function(e,f){return c(e,f,a,d)},{constant:a.constant&&d.constant})},statements:function(){for(var a=[];;)if(0<this.tokens.length&&!this.peek("}",")",";","]")&&a.push(this.filterChain()),!this.expect(";"))return 1===a.length?a[0]:function(c,d){for(var e,f=0;f<a.length;f++){var h=a[f];h&&(e=h(c,d))}return e}},filterChain:function(){for(var a=
-this.expression(),c;;)if(c=this.expect("|"))a=this.binaryFn(a,c.fn,this.filter());else return a},filter:function(){for(var a=this.expect(),c=this.$filter(a.text),d=[];;)if(a=this.expect(":"))d.push(this.expression());else{var e=function(a,e,g){g=[g];for(var m=0;m<d.length;m++)g.push(d[m](a,e));return c.apply(a,g)};return function(){return e}}},expression:function(){return this.assignment()},assignment:function(){var a=this.ternary(),c,d;return(d=this.expect("="))?(a.assign||this.throwError("implies assignment but ["+
-this.text.substring(0,d.index)+"] can not be assigned to",d),c=this.ternary(),function(d,f){return a.assign(d,c(d,f),f)}):a},ternary:function(){var a=this.logicalOR(),c,d;if(this.expect("?")){c=this.ternary();if(d=this.expect(":"))return this.ternaryFn(a,c,this.ternary());this.throwError("expected :",d)}else return a},logicalOR:function(){for(var a=this.logicalAND(),c;;)if(c=this.expect("||"))a=this.binaryFn(a,c.fn,this.logicalAND());else return a},logicalAND:function(){var a=this.equality(),c;if(c=
-this.expect("&&"))a=this.binaryFn(a,c.fn,this.logicalAND());return a},equality:function(){var a=this.relational(),c;if(c=this.expect("==","!=","===","!=="))a=this.binaryFn(a,c.fn,this.equality());return a},relational:function(){var a=this.additive(),c;if(c=this.expect("<",">","<=",">="))a=this.binaryFn(a,c.fn,this.relational());return a},additive:function(){for(var a=this.multiplicative(),c;c=this.expect("+","-");)a=this.binaryFn(a,c.fn,this.multiplicative());return a},multiplicative:function(){for(var a=
-this.unary(),c;c=this.expect("*","/","%");)a=this.binaryFn(a,c.fn,this.unary());return a},unary:function(){var a;return this.expect("+")?this.primary():(a=this.expect("-"))?this.binaryFn($a.ZERO,a.fn,this.unary()):(a=this.expect("!"))?this.unaryFn(a.fn,this.unary()):this.primary()},fieldAccess:function(a){var c=this,d=this.expect().text,e=Gc(d,this.options,this.text);return t(function(c,d,g){return e(g||a(c,d))},{assign:function(e,h,g){return rb(a(e,g),d,h,c.text,c.options)}})},objectIndex:function(a){var c=
-this,d=this.expression();this.consume("]");return t(function(e,f){var h=a(e,f),g=d(e,f),m;if(!h)return s;(h=Za(h[g],c.text))&&(h.then&&c.options.unwrapPromises)&&(m=h,"$$v"in h||(m.$$v=s,m.then(function(a){m.$$v=a})),h=h.$$v);return h},{assign:function(e,f,h){var g=d(e,h);return Za(a(e,h),c.text)[g]=f}})},functionCall:function(a,c){var d=[];if(")"!==this.peekToken().text){do d.push(this.expression());while(this.expect(","))}this.consume(")");var e=this;return function(f,h){for(var g=[],m=c?c(f,h):
-f,k=0;k<d.length;k++)g.push(d[k](f,h));k=a(f,h,m)||z;Za(m,e.text);Za(k,e.text);g=k.apply?k.apply(m,g):k(g[0],g[1],g[2],g[3],g[4]);return Za(g,e.text)}},arrayDeclaration:function(){var a=[],c=!0;if("]"!==this.peekToken().text){do{if(this.peek("]"))break;var d=this.expression();a.push(d);d.constant||(c=!1)}while(this.expect(","))}this.consume("]");return t(function(c,d){for(var h=[],g=0;g<a.length;g++)h.push(a[g](c,d));return h},{literal:!0,constant:c})},object:function(){var a=[],c=!0;if("}"!==this.peekToken().text){do{if(this.peek("}"))break;
-var d=this.expect(),d=d.string||d.text;this.consume(":");var e=this.expression();a.push({key:d,value:e});e.constant||(c=!1)}while(this.expect(","))}this.consume("}");return t(function(c,d){for(var e={},m=0;m<a.length;m++){var k=a[m];e[k.key]=k.value(c,d)}return e},{literal:!0,constant:c})}};var Ob={},ta=A("$sce"),fa={HTML:"html",CSS:"css",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"},T=U.createElement("a"),Jc=ra(R.location.href,!0);jc.$inject=["$provide"];Kc.$inject=["$locale"];Mc.$inject=["$locale"];
-var Pc=".",Ne={yyyy:X("FullYear",4),yy:X("FullYear",2,0,!0),y:X("FullYear",1),MMMM:tb("Month"),MMM:tb("Month",!0),MM:X("Month",2,1),M:X("Month",1,1),dd:X("Date",2),d:X("Date",1),HH:X("Hours",2),H:X("Hours",1),hh:X("Hours",2,-12),h:X("Hours",1,-12),mm:X("Minutes",2),m:X("Minutes",1),ss:X("Seconds",2),s:X("Seconds",1),sss:X("Milliseconds",3),EEEE:tb("Day"),EEE:tb("Day",!0),a:function(a,c){return 12>a.getHours()?c.AMPMS[0]:c.AMPMS[1]},Z:function(a){a=-1*a.getTimezoneOffset();return a=(0<=a?"+":"")+(sb(Math[0<
-a?"floor":"ceil"](a/60),2)+sb(Math.abs(a%60),2))},ww:Rc(2),w:Rc(1)},Me=/((?:[^yMdHhmsaZEw']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z|w+))(.*)/,Le=/^\-?\d+$/;Lc.$inject=["$locale"];var Je=Y(P),Ke=Y(Ea);Nc.$inject=["$parse"];var jd=Y({restrict:"E",compile:function(a,c){8>=V&&(c.href||c.name||c.$set("href",""),a.append(U.createComment("IE fix")));if(!c.href&&!c.xlinkHref&&!c.name)return function(a,c){var f="[object SVGAnimatedString]"===va.call(c.prop("href"))?"xlink:href":"href";c.on("click",
-function(a){c.attr(f)||a.preventDefault()})}}}),Db={};r(mb,function(a,c){if("multiple"!=a){var d=la("ng-"+c);Db[d]=function(){return{priority:100,link:function(a,f,h){a.$watch(h[d],function(a){h.$set(c,!!a)})}}}}});r(["src","srcset","href"],function(a){var c=la("ng-"+a);Db[c]=function(){return{priority:99,link:function(d,e,f){var h=a,g=a;"href"===a&&"[object SVGAnimatedString]"===va.call(e.prop("href"))&&(g="xlinkHref",f.$attr[g]="xlink:href",h=null);f.$observe(c,function(a){a&&(f.$set(g,a),V&&h&&
-e.prop(h,f[g]))})}}}});var wb={$addControl:z,$removeControl:z,$setValidity:z,$setDirty:z,$setPristine:z};Sc.$inject=["$element","$attrs","$scope","$animate"];var Tc=function(a){return["$timeout",function(c){return{name:"form",restrict:a?"EAC":"E",controller:Sc,compile:function(){return{pre:function(a,e,f,h){if(!f.action){var g=function(a){a.preventDefault?a.preventDefault():a.returnValue=!1};pb(e[0],"submit",g);e.on("$destroy",function(){c(function(){Ta(e[0],"submit",g)},0,!1)})}var m=e.parent().controller("form"),
-k=f.name||f.ngForm;k&&rb(a,k,h,k);if(m)e.on("$destroy",function(){m.$removeControl(h);k&&rb(a,k,s,k);t(h,wb)})}}}}}]},kd=Tc(),xd=Tc(!0),Te=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/,Ue=/^[a-z0-9!#$%&'*+/=?^_`{|}~.-]+@[a-z0-9-]+(\.[a-z0-9-]+)*$/i,Ve=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/,Uc=/^(\d{4})-(\d{2})-(\d{2})$/,Vc=/^(\d{4})-(\d\d)-(\d\d)T(\d\d):(\d\d)$/,Sb=/^(\d{4})-W(\d\d)$/,Wc=/^(\d{4})-(\d\d)$/,Xc=/^(\d\d):(\d\d)$/,Yc={text:ab,date:bb("date",Uc,yb(Uc,
-["yyyy","MM","dd"]),"yyyy-MM-dd"),"datetime-local":bb("datetimelocal",Vc,yb(Vc,["yyyy","MM","dd","HH","mm"]),"yyyy-MM-ddTHH:mm"),time:bb("time",Xc,yb(Xc,["HH","mm"]),"HH:mm"),week:bb("week",Sb,function(a){if(pa(a))return a;if(C(a)){Sb.lastIndex=0;var c=Sb.exec(a);if(c){a=+c[1];var d=+c[2],c=Qc(a),d=7*(d-1);return new Date(a,0,c.getDate()+d)}}return NaN},"yyyy-Www"),month:bb("month",Wc,yb(Wc,["yyyy","MM"]),"yyyy-MM"),number:function(a,c,d,e,f,h){ab(a,c,d,e,f,h);e.$parsers.push(function(a){var c=e.$isEmpty(a);
-if(c||Ve.test(a))return e.$setValidity("number",!0),""===a?null:c?a:parseFloat(a);e.$setValidity("number",!1);return s});Oe(e,"number",c);e.$formatters.push(function(a){return e.$isEmpty(a)?"":""+a});d.min&&(a=function(a){var c=parseFloat(d.min);return oa(e,"min",e.$isEmpty(a)||a>=c,a)},e.$parsers.push(a),e.$formatters.push(a));d.max&&(a=function(a){var c=parseFloat(d.max);return oa(e,"max",e.$isEmpty(a)||a<=c,a)},e.$parsers.push(a),e.$formatters.push(a));e.$formatters.push(function(a){return oa(e,
-"number",e.$isEmpty(a)||zb(a),a)})},url:function(a,c,d,e,f,h){ab(a,c,d,e,f,h);a=function(a){return oa(e,"url",e.$isEmpty(a)||Te.test(a),a)};e.$formatters.push(a);e.$parsers.push(a)},email:function(a,c,d,e,f,h){ab(a,c,d,e,f,h);a=function(a){return oa(e,"email",e.$isEmpty(a)||Ue.test(a),a)};e.$formatters.push(a);e.$parsers.push(a)},radio:function(a,c,d,e){E(d.name)&&c.attr("name",db());c.on("click",function(){c[0].checked&&a.$apply(function(){e.$setViewValue(d.value)})});e.$render=function(){c[0].checked=
-d.value==e.$viewValue};d.$observe("value",e.$render)},checkbox:function(a,c,d,e){var f=d.ngTrueValue,h=d.ngFalseValue;C(f)||(f=!0);C(h)||(h=!1);c.on("click",function(){a.$apply(function(){e.$setViewValue(c[0].checked)})});e.$render=function(){c[0].checked=e.$viewValue};e.$isEmpty=function(a){return a!==f};e.$formatters.push(function(a){return a===f});e.$parsers.push(function(a){return a?f:h})},hidden:z,button:z,submit:z,reset:z,file:z},gc=["$browser","$sniffer","$filter",function(a,c,d){return{restrict:"E",
-require:"?ngModel",link:function(e,f,h,g){g&&(Yc[P(h.type)]||Yc.text)(e,f,h,g,c,a,d)}}}],vb="ng-valid",ub="ng-invalid",La="ng-pristine",xb="ng-dirty",We=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate",function(a,c,d,e,f,h){function g(a,c){c=c?"-"+hb(c,"-"):"";h.removeClass(e,(a?ub:vb)+c);h.addClass(e,(a?vb:ub)+c)}this.$modelValue=this.$viewValue=Number.NaN;this.$parsers=[];this.$formatters=[];this.$viewChangeListeners=[];this.$pristine=!0;this.$dirty=!1;this.$valid=!0;this.$invalid=
-!1;this.$name=d.name;var m=f(d.ngModel),k=m.assign;if(!k)throw A("ngModel")("nonassign",d.ngModel,ga(e));this.$render=z;this.$isEmpty=function(a){return E(a)||""===a||null===a||a!==a};var l=e.inheritedData("$formController")||wb,n=0,q=this.$error={};e.addClass(La);g(!0);this.$setValidity=function(a,c){q[a]!==!c&&(c?(q[a]&&n--,n||(g(!0),this.$valid=!0,this.$invalid=!1)):(g(!1),this.$invalid=!0,this.$valid=!1,n++),q[a]=!c,g(c,a),l.$setValidity(a,c,this))};this.$setPristine=function(){this.$dirty=!1;
-this.$pristine=!0;h.removeClass(e,xb);h.addClass(e,La)};this.$setViewValue=function(d){this.$viewValue=d;this.$pristine&&(this.$dirty=!0,this.$pristine=!1,h.removeClass(e,La),h.addClass(e,xb),l.$setDirty());r(this.$parsers,function(a){d=a(d)});this.$modelValue!==d&&(this.$modelValue=d,k(a,d),r(this.$viewChangeListeners,function(a){try{a()}catch(d){c(d)}}))};var p=this;a.$watch(function(){var c=m(a);if(p.$modelValue!==c){var d=p.$formatters,e=d.length;for(p.$modelValue=c;e--;)c=d[e](c);p.$viewValue!==
-c&&(p.$viewValue=c,p.$render())}return c})}],Md=function(){return{require:["ngModel","^?form"],controller:We,link:function(a,c,d,e){var f=e[0],h=e[1]||wb;h.$addControl(f);a.$on("$destroy",function(){h.$removeControl(f)})}}},Od=Y({require:"ngModel",link:function(a,c,d,e){e.$viewChangeListeners.push(function(){a.$eval(d.ngChange)})}}),hc=function(){return{require:"?ngModel",link:function(a,c,d,e){if(e){d.required=!0;var f=function(a){if(d.required&&e.$isEmpty(a))e.$setValidity("required",!1);else return e.$setValidity("required",
-!0),a};e.$formatters.push(f);e.$parsers.unshift(f);d.$observe("required",function(){f(e.$viewValue)})}}}},Nd=function(){return{require:"ngModel",link:function(a,c,d,e){var f=(a=/\/(.*)\//.exec(d.ngList))&&RegExp(a[1])||d.ngList||",";e.$parsers.push(function(a){if(!E(a)){var c=[];a&&r(a.split(f),function(a){a&&c.push(aa(a))});return c}});e.$formatters.push(function(a){return M(a)?a.join(", "):s});e.$isEmpty=function(a){return!a||!a.length}}}},Xe=/^(true|false|\d+)$/,Pd=function(){return{priority:100,
-compile:function(a,c){return Xe.test(c.ngValue)?function(a,c,f){f.$set("value",a.$eval(f.ngValue))}:function(a,c,f){a.$watch(f.ngValue,function(a){f.$set("value",a)})}}}},pd=ua(function(a,c,d){c.addClass("ng-binding").data("$binding",d.ngBind);a.$watch(d.ngBind,function(a){c.text(a==s?"":a)})}),rd=["$interpolate",function(a){return function(c,d,e){c=a(d.attr(e.$attr.ngBindTemplate));d.addClass("ng-binding").data("$binding",c);e.$observe("ngBindTemplate",function(a){d.text(a)})}}],qd=["$sce","$parse",
-function(a,c){return function(d,e,f){e.addClass("ng-binding").data("$binding",f.ngBindHtml);var h=c(f.ngBindHtml);d.$watch(function(){return(h(d)||"").toString()},function(c){e.html(a.getTrustedHtml(h(d))||"")})}}],sd=Rb("",!0),ud=Rb("Odd",0),td=Rb("Even",1),vd=ua({compile:function(a,c){c.$set("ngCloak",s);a.removeClass("ng-cloak")}}),wd=[function(){return{scope:!0,controller:"@",priority:500}}],ic={};r("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),
-function(a){var c=la("ng-"+a);ic[c]=["$parse",function(d){return{compile:function(e,f){var h=d(f[c]);return function(c,d,e){d.on(P(a),function(a){c.$apply(function(){h(c,{$event:a})})})}}}}]});var zd=["$animate",function(a){return{transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(c,d,e,f,h){var g,m,k;c.$watch(e.ngIf,function(f){Oa(f)?m||(m=c.$new(),h(m,function(c){c[c.length++]=U.createComment(" end ngIf: "+e.ngIf+" ");g={clone:c};a.enter(c,d.parent(),d)})):(k&&(k.remove(),
-k=null),m&&(m.$destroy(),m=null),g&&(k=Cb(g.clone),a.leave(k,function(){k=null}),g=null))})}}}],Ad=["$http","$templateCache","$anchorScroll","$animate","$sce",function(a,c,d,e,f){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:Pa.noop,compile:function(h,g){var m=g.ngInclude||g.src,k=g.onload||"",l=g.autoscroll;return function(g,h,p,r,s){var t=0,y,v,J,x=function(){v&&(v.remove(),v=null);y&&(y.$destroy(),y=null);J&&(e.leave(J,function(){v=null}),v=J,J=null)};g.$watch(f.parseAsResourceUrl(m),
-function(f){var m=function(){!w(l)||l&&!g.$eval(l)||d()},p=++t;f?(a.get(f,{cache:c}).success(function(a){if(p===t){var c=g.$new();r.template=a;a=s(c,function(a){x();e.enter(a,null,h,m)});y=c;J=a;y.$emit("$includeContentLoaded");g.$eval(k)}}).error(function(){p===t&&x()}),g.$emit("$includeContentRequested")):(x(),r.template=null)})}}}}],Qd=["$compile",function(a){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(c,d,e,f){d.html(f.template);a(d.contents())(c)}}}],Bd=ua({priority:450,
-compile:function(){return{pre:function(a,c,d){a.$eval(d.ngInit)}}}}),Cd=ua({terminal:!0,priority:1E3}),Dd=["$locale","$interpolate",function(a,c){var d=/{}/g;return{restrict:"EA",link:function(e,f,h){var g=h.count,m=h.$attr.when&&f.attr(h.$attr.when),k=h.offset||0,l=e.$eval(m)||{},n={},q=c.startSymbol(),p=c.endSymbol(),s=/^when(Minus)?(.+)$/;r(h,function(a,c){s.test(c)&&(l[P(c.replace("when","").replace("Minus","-"))]=f.attr(h.$attr[c]))});r(l,function(a,e){n[e]=c(a.replace(d,q+g+"-"+k+p))});e.$watch(function(){var c=
-parseFloat(e.$eval(g));if(isNaN(c))return"";c in l||(c=a.pluralCat(c-k));return n[c](e,f,!0)},function(a){f.text(a)})}}}],Ed=["$parse","$animate",function(a,c){var d=A("ngRepeat");return{transclude:"element",priority:1E3,terminal:!0,$$tlb:!0,link:function(e,f,h,g,m){var k=h.ngRepeat,l=k.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?\s*$/),n,q,p,s,t,w,y={$id:Ha};if(!l)throw d("iexp",k);h=l[1];g=l[2];(l=l[3])?(n=a(l),q=function(a,c,d){w&&(y[w]=a);y[t]=c;y.$index=d;return n(e,
-y)}):(p=function(a,c){return Ha(c)},s=function(a){return a});l=h.match(/^(?:([\$\w]+)|\(([\$\w]+)\s*,\s*([\$\w]+)\))$/);if(!l)throw d("iidexp",h);t=l[3]||l[1];w=l[2];var H={};e.$watchCollection(g,function(a){var g,h,l=f[0],n,y={},C,B,K,z,E,L,A=[];if(cb(a))E=a,n=q||p;else{n=q||s;E=[];for(K in a)a.hasOwnProperty(K)&&"$"!=K.charAt(0)&&E.push(K);E.sort()}C=E.length;h=A.length=E.length;for(g=0;g<h;g++)if(K=a===E?g:E[g],z=a[K],z=n(K,z,g),za(z,"`track by` id"),H.hasOwnProperty(z))L=H[z],delete H[z],y[z]=
-L,A[g]=L;else{if(y.hasOwnProperty(z))throw r(A,function(a){a&&a.scope&&(H[a.id]=a)}),d("dupes",k,z);A[g]={id:z};y[z]=!1}for(K in H)H.hasOwnProperty(K)&&(L=H[K],g=Cb(L.clone),c.leave(g),r(g,function(a){a.$$NG_REMOVED=!0}),L.scope.$destroy());g=0;for(h=E.length;g<h;g++){K=a===E?g:E[g];z=a[K];L=A[g];A[g-1]&&(l=A[g-1].clone[A[g-1].clone.length-1]);if(L.scope){B=L.scope;n=l;do n=n.nextSibling;while(n&&n.$$NG_REMOVED);L.clone[0]!=n&&c.move(Cb(L.clone),null,v(l));l=L.clone[L.clone.length-1]}else B=e.$new();
-B[t]=z;w&&(B[w]=K);B.$index=g;B.$first=0===g;B.$last=g===C-1;B.$middle=!(B.$first||B.$last);B.$odd=!(B.$even=0===(g&1));L.scope||m(B,function(a){a[a.length++]=U.createComment(" end ngRepeat: "+k+" ");c.enter(a,null,v(l));l=a;L.scope=B;L.clone=a;y[L.id]=L})}H=y})}}}],Fd=["$animate",function(a){return function(c,d,e){c.$watch(e.ngShow,function(c){a[Oa(c)?"removeClass":"addClass"](d,"ng-hide")})}}],yd=["$animate",function(a){return function(c,d,e){c.$watch(e.ngHide,function(c){a[Oa(c)?"addClass":"removeClass"](d,
-"ng-hide")})}}],Gd=ua(function(a,c,d){a.$watch(d.ngStyle,function(a,d){d&&a!==d&&r(d,function(a,d){c.css(d,"")});a&&c.css(a)},!0)}),Hd=["$animate",function(a){return{restrict:"EA",require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(c,d,e,f){var h,g,m,k=[];c.$watch(e.ngSwitch||e.on,function(d){var n,q=k.length;if(0<q){if(m){for(n=0;n<q;n++)m[n].remove();m=null}m=[];for(n=0;n<q;n++){var p=g[n];k[n].$destroy();m[n]=p;a.leave(p,function(){m.splice(n,1);0===m.length&&(m=null)})}}g=
-[];k=[];if(h=f.cases["!"+d]||f.cases["?"])c.$eval(e.change),r(h,function(d){var e=c.$new();k.push(e);d.transclude(e,function(c){var e=d.element;g.push(c);a.enter(c,e.parent(),e)})})})}}}],Id=ua({transclude:"element",priority:800,require:"^ngSwitch",link:function(a,c,d,e,f){e.cases["!"+d.ngSwitchWhen]=e.cases["!"+d.ngSwitchWhen]||[];e.cases["!"+d.ngSwitchWhen].push({transclude:f,element:c})}}),Jd=ua({transclude:"element",priority:800,require:"^ngSwitch",link:function(a,c,d,e,f){e.cases["?"]=e.cases["?"]||
-[];e.cases["?"].push({transclude:f,element:c})}}),Ld=ua({link:function(a,c,d,e,f){if(!f)throw A("ngTransclude")("orphan",ga(c));f(function(a){c.empty();c.append(a)})}}),ld=["$templateCache",function(a){return{restrict:"E",terminal:!0,compile:function(c,d){"text/ng-template"==d.type&&a.put(d.id,c[0].text)}}}],Ye=A("ngOptions"),Kd=Y({terminal:!0}),md=["$compile","$parse",function(a,c){var d=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/,
-e={$setViewValue:z};return{restrict:"E",require:["select","?ngModel"],controller:["$element","$scope","$attrs",function(a,c,d){var m=this,k={},l=e,n;m.databound=d.ngModel;m.init=function(a,c,d){l=a;n=d};m.addOption=function(c){za(c,'"option value"');k[c]=!0;l.$viewValue==c&&(a.val(c),n.parent()&&n.remove())};m.removeOption=function(a){this.hasOption(a)&&(delete k[a],l.$viewValue==a&&this.renderUnknownOption(a))};m.renderUnknownOption=function(c){c="? "+Ha(c)+" ?";n.val(c);a.prepend(n);a.val(c);n.prop("selected",
-!0)};m.hasOption=function(a){return k.hasOwnProperty(a)};c.$on("$destroy",function(){m.renderUnknownOption=z})}],link:function(e,h,g,m){function k(a,c,d,e){d.$render=function(){var a=d.$viewValue;e.hasOption(a)?(A.parent()&&A.remove(),c.val(a),""===a&&C.prop("selected",!0)):E(a)&&C?c.val(""):e.renderUnknownOption(a)};c.on("change",function(){a.$apply(function(){A.parent()&&A.remove();d.$setViewValue(c.val())})})}function l(a,c,d){var e;d.$render=function(){var a=new Va(d.$viewValue);r(c.find("option"),
-function(c){c.selected=w(a.get(c.value))})};a.$watch(function(){wa(e,d.$viewValue)||(e=$(d.$viewValue),d.$render())});c.on("change",function(){a.$apply(function(){var a=[];r(c.find("option"),function(c){c.selected&&a.push(c.value)});d.$setViewValue(a)})})}function n(e,f,g){function h(){var a={"":[]},c=[""],d,k,s,t,u;t=g.$modelValue;u=x(e)||[];var C=n?Tb(u):u,E,B,D;B={};s=!1;var F,J;if(p)if(v&&M(t))for(s=new Va([]),D=0;D<t.length;D++)B[m]=t[D],s.put(v(e,B),t[D]);else s=new Va(t);for(D=0;E=C.length,
-D<E;D++){k=D;if(n){k=C[D];if("$"===k.charAt(0))continue;B[n]=k}B[m]=u[k];d=q(e,B)||"";(k=a[d])||(k=a[d]=[],c.push(d));p?d=w(s.remove(v?v(e,B):r(e,B))):(v?(d={},d[m]=t,d=v(e,d)===v(e,B)):d=t===r(e,B),s=s||d);F=l(e,B);F=w(F)?F:"";k.push({id:v?v(e,B):n?C[D]:D,label:F,selected:d})}p||(z||null===t?a[""].unshift({id:"",label:"",selected:!s}):s||a[""].unshift({id:"?",label:"",selected:!0}));B=0;for(C=c.length;B<C;B++){d=c[B];k=a[d];A.length<=B?(t={element:H.clone().attr("label",d),label:k.label},u=[t],A.push(u),
-f.append(t.element)):(u=A[B],t=u[0],t.label!=d&&t.element.attr("label",t.label=d));F=null;D=0;for(E=k.length;D<E;D++)s=k[D],(d=u[D+1])?(F=d.element,d.label!==s.label&&F.text(d.label=s.label),d.id!==s.id&&F.val(d.id=s.id),d.selected!==s.selected&&F.prop("selected",d.selected=s.selected)):(""===s.id&&z?J=z:(J=y.clone()).val(s.id).attr("selected",s.selected).text(s.label),u.push({element:J,label:s.label,id:s.id,selected:s.selected}),F?F.after(J):t.element.append(J),F=J);for(D++;u.length>D;)u.pop().element.remove()}for(;A.length>
-B;)A.pop()[0].element.remove()}var k;if(!(k=t.match(d)))throw Ye("iexp",t,ga(f));var l=c(k[2]||k[1]),m=k[4]||k[6],n=k[5],q=c(k[3]||""),r=c(k[2]?k[1]:m),x=c(k[7]),v=k[8]?c(k[8]):null,A=[[{element:f,label:""}]];z&&(a(z)(e),z.removeClass("ng-scope"),z.remove());f.empty();f.on("change",function(){e.$apply(function(){var a,c=x(e)||[],d={},h,k,l,q,t,w,u;if(p)for(k=[],q=0,w=A.length;q<w;q++)for(a=A[q],l=1,t=a.length;l<t;l++){if((h=a[l].element)[0].selected){h=h.val();n&&(d[n]=h);if(v)for(u=0;u<c.length&&
-(d[m]=c[u],v(e,d)!=h);u++);else d[m]=c[h];k.push(r(e,d))}}else{h=f.val();if("?"==h)k=s;else if(""===h)k=null;else if(v)for(u=0;u<c.length;u++){if(d[m]=c[u],v(e,d)==h){k=r(e,d);break}}else d[m]=c[h],n&&(d[n]=h),k=r(e,d);1<A[0].length&&A[0][1].id!==h&&(A[0][1].selected=!1)}g.$setViewValue(k)})});g.$render=h;e.$watch(h)}if(m[1]){var q=m[0];m=m[1];var p=g.multiple,t=g.ngOptions,z=!1,C,y=v(U.createElement("option")),H=v(U.createElement("optgroup")),A=y.clone();g=0;for(var x=h.children(),F=x.length;g<F;g++)if(""===
-x[g].value){C=z=x.eq(g);break}q.init(m,z,A);p&&(m.$isEmpty=function(a){return!a||0===a.length});t?n(e,h,m):p?l(e,h,m):k(e,h,m,q)}}}}],od=["$interpolate",function(a){var c={addOption:z,removeOption:z};return{restrict:"E",priority:100,compile:function(d,e){if(E(e.value)){var f=a(d.text(),!0);f||e.$set("value",d.text())}return function(a,d,e){var k=d.parent(),l=k.data("$selectController")||k.parent().data("$selectController");l&&l.databound?d.prop("selected",!1):l=c;f?a.$watch(f,function(a,c){e.$set("value",
-a);a!==c&&l.removeOption(c);l.addOption(a)}):l.addOption(e.value);d.on("$destroy",function(){l.removeOption(e.value)})}}}}],nd=Y({restrict:"E",terminal:!1});R.angular.bootstrap?console.log("WARNING: Tried to load angular more than once."):((Fa=R.jQuery)?(v=Fa,t(Fa.fn,{scope:Ia.scope,isolateScope:Ia.isolateScope,controller:Ia.controller,injector:Ia.injector,inheritedData:Ia.inheritedData}),Eb("remove",!0,!0,!1),Eb("empty",!1,!1,!1),Eb("html",!1,!1,!0)):v=O,Pa.element=v,fd(Pa),v(U).ready(function(){cd(U,
-cc)}))})(window,document);!angular.$$csp()&&angular.element(document).find("head").prepend('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide{display:none !important;}ng\\:form{display:block;}</style>');
-//# sourceMappingURL=angular.min.js.map
+/*\r
+ AngularJS v1.3.0-beta.7\r
+ (c) 2010-2014 Google, Inc. http://angularjs.org\r
+ License: MIT\r
+*/\r
+(function (N, S, s) {\r
+    'use strict'; function I(b) { return function () { var a = arguments[0], c, a = "[" + (b ? b + ":" : "") + a + "] http://errors.angularjs.org/1.3.0-beta.7/" + (b ? b + "/" : "") + a; for (c = 1; c < arguments.length; c++) a = a + (1 == c ? "?" : "&") + "p" + (c - 1) + "=" + encodeURIComponent("function" == typeof arguments[c] ? arguments[c].toString().replace(/ \{[\s\S]*$/, "") : "undefined" == typeof arguments[c] ? "undefined" : "string" != typeof arguments[c] ? JSON.stringify(arguments[c]) : arguments[c]); return Error(a) } } function cb(b) {\r
+        if (null == b || Ca(b)) return !1;\r
+        var a = b.length; return 1 === b.nodeType && a ? !0 : x(b) || M(b) || 0 === a || "number" === typeof a && 0 < a && a - 1 in b\r
+    } function q(b, a, c) { var d; if (b) if (O(b)) for (d in b) "prototype" == d || ("length" == d || "name" == d || b.hasOwnProperty && !b.hasOwnProperty(d)) || a.call(c, b[d], d); else if (b.forEach && b.forEach !== q) b.forEach(a, c); else if (cb(b)) for (d = 0; d < b.length; d++) a.call(c, b[d], d); else for (d in b) b.hasOwnProperty(d) && a.call(c, b[d], d); return b } function Zb(b) { var a = [], c; for (c in b) b.hasOwnProperty(c) && a.push(c); return a.sort() } function dd(b,\r
+    a, c) { for (var d = Zb(b), e = 0; e < d.length; e++) a.call(c, b[d[e]], d[e]); return d } function $b(b) { return function (a, c) { b(c, a) } } function db() { for (var b = ka.length, a; b;) { b--; a = ka[b].charCodeAt(0); if (57 == a) return ka[b] = "A", ka.join(""); if (90 == a) ka[b] = "0"; else return ka[b] = String.fromCharCode(a + 1), ka.join("") } ka.unshift("0"); return ka.join("") } function ac(b, a) { a ? b.$$hashKey = a : delete b.$$hashKey } function w(b) { var a = b.$$hashKey; q(arguments, function (a) { a !== b && q(a, function (a, c) { b[c] = a }) }); ac(b, a); return b } function Q(b) {\r
+        return parseInt(b,\r
+        10)\r
+    } function bc(b, a) { return w(new (w(function () { }, { prototype: b })), a) } function D() { } function Da(b) { return b } function $(b) { return function () { return b } } function A(b) { return "undefined" === typeof b } function F(b) { return "undefined" !== typeof b } function R(b) { return null != b && "object" === typeof b } function x(b) { return "string" === typeof b } function Cb(b) { return "number" === typeof b } function qa(b) { return "[object Date]" === xa.call(b) } function M(b) { return "[object Array]" === xa.call(b) } function O(b) { return "function" === typeof b }\r
+    function eb(b) { return "[object RegExp]" === xa.call(b) } function Ca(b) { return b && b.document && b.location && b.alert && b.setInterval } function ed(b) { return !(!b || !(b.nodeName || b.prop && b.attr && b.find)) } function fd(b, a, c) { var d = []; q(b, function (b, f, g) { d.push(a.call(c, b, f, g)) }); return d } function fb(b, a) { if (b.indexOf) return b.indexOf(a); for (var c = 0; c < b.length; c++) if (a === b[c]) return c; return -1 } function Ea(b, a) { var c = fb(b, a); 0 <= c && b.splice(c, 1); return a } function aa(b, a) {\r
+        if (Ca(b) || b && b.$evalAsync && b.$watch) throw Oa("cpws");\r
+        if (a) { if (b === a) throw Oa("cpi"); if (M(b)) for (var c = a.length = 0; c < b.length; c++) a.push(aa(b[c])); else { c = a.$$hashKey; q(a, function (b, c) { delete a[c] }); for (var d in b) a[d] = aa(b[d]); ac(a, c) } } else (a = b) && (M(b) ? a = aa(b, []) : qa(b) ? a = new Date(b.getTime()) : eb(b) ? a = RegExp(b.source) : R(b) && (a = aa(b, {}))); return a\r
+    } function cc(b, a) { a = a || {}; for (var c in b) !b.hasOwnProperty(c) || "$" === c.charAt(0) && "$" === c.charAt(1) || (a[c] = b[c]); return a } function ya(b, a) {\r
+        if (b === a) return !0; if (null === b || null === a) return !1; if (b !== b && a !== a) return !0;\r
+        var c = typeof b, d; if (c == typeof a && "object" == c) if (M(b)) { if (!M(a)) return !1; if ((c = b.length) == a.length) { for (d = 0; d < c; d++) if (!ya(b[d], a[d])) return !1; return !0 } } else {\r
+            if (qa(b)) return qa(a) && b.getTime() == a.getTime(); if (eb(b) && eb(a)) return b.toString() == a.toString(); if (b && b.$evalAsync && b.$watch || a && a.$evalAsync && a.$watch || Ca(b) || Ca(a) || M(a)) return !1; c = {}; for (d in b) if ("$" !== d.charAt(0) && !O(b[d])) { if (!ya(b[d], a[d])) return !1; c[d] = !0 } for (d in a) if (!c.hasOwnProperty(d) && "$" !== d.charAt(0) && a[d] !== s && !O(a[d])) return !1;\r
+            return !0\r
+        } return !1\r
+    } function dc() { return S.securityPolicy && S.securityPolicy.isActive || S.querySelector && !(!S.querySelector("[ng-csp]") && !S.querySelector("[data-ng-csp]")) } function gb(b, a) { var c = 2 < arguments.length ? ra.call(arguments, 2) : []; return !O(a) || a instanceof RegExp ? a : c.length ? function () { return arguments.length ? a.apply(b, c.concat(ra.call(arguments, 0))) : a.apply(b, c) } : function () { return arguments.length ? a.apply(b, arguments) : a.call(b) } } function gd(b, a) {\r
+        var c = a; "string" === typeof b && "$" === b.charAt(0) ? c =\r
+            s : Ca(a) ? c = "$WINDOW" : a && S === a ? c = "$DOCUMENT" : a && (a.$evalAsync && a.$watch) && (c = "$SCOPE"); return c\r
+    } function sa(b, a) { return "undefined" === typeof b ? s : JSON.stringify(b, gd, a ? "  " : null) } function ec(b) { return x(b) ? JSON.parse(b) : b } function Pa(b) { "function" === typeof b ? b = !0 : b && 0 !== b.length ? (b = u("" + b), b = !("f" == b || "0" == b || "false" == b || "no" == b || "n" == b || "[]" == b)) : b = !1; return b } function ga(b) {\r
+        b = y(b).clone(); try { b.empty() } catch (a) { } var c = y("<div>").append(b).html(); try {\r
+            return 3 === b[0].nodeType ? u(c) : c.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,\r
+            function (a, b) { return "<" + u(b) })\r
+        } catch (d) { return u(c) }\r
+    } function fc(b) { try { return decodeURIComponent(b) } catch (a) { } } function gc(b) { var a = {}, c, d; q((b || "").split("&"), function (b) { b && (c = b.split("="), d = fc(c[0]), F(d) && (b = F(c[1]) ? fc(c[1]) : !0, a[d] ? M(a[d]) ? a[d].push(b) : a[d] = [a[d], b] : a[d] = b)) }); return a } function Db(b) { var a = []; q(b, function (b, d) { M(b) ? q(b, function (b) { a.push(za(d, !0) + (!0 === b ? "" : "=" + za(b, !0))) }) : a.push(za(d, !0) + (!0 === b ? "" : "=" + za(b, !0))) }); return a.length ? a.join("&") : "" } function hb(b) {\r
+        return za(b,\r
+        !0).replace(/%26/gi, "&").replace(/%3D/gi, "=").replace(/%2B/gi, "+")\r
+    } function za(b, a) { return encodeURIComponent(b).replace(/%40/gi, "@").replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, a ? "%20" : "+") } function hd(b, a) { var c, d, e = hc.length; b = y(b); for (d = 0; d < e; ++d) if (c = hc[d] + a, x(c = b.attr(c))) return c; return null } function id(b, a) {\r
+        function c(a) { a && d.push(a) } var d = [b], e, f, g = {}, h = ["ng:app", "ng-app", "x-ng-app", "data-ng-app"], m = /\sng[:\-]app(:\s*([\w\d_]+);?)?\s/; q(h, function (a) {\r
+            h[a] =\r
+            !0; c(S.getElementById(a)); a = a.replace(":", "\\:"); b.querySelectorAll && (q(b.querySelectorAll("." + a), c), q(b.querySelectorAll("." + a + "\\:"), c), q(b.querySelectorAll("[" + a + "]"), c))\r
+        }); q(d, function (a) { if (!e) { var b = m.exec(" " + a.className + " "); b ? (e = a, f = (b[2] || "").replace(/\s+/g, ",")) : q(a.attributes, function (b) { !e && h[b.name] && (e = a, f = b.value) }) } }); e && (g.strictDi = null !== hd(e, "strict-di"), a(e, f ? [f] : [], g))\r
+    } function ic(b, a, c) {\r
+        R(c) || (c = {}); c = w({ strictDi: !1 }, c); var d = function () {\r
+            b = y(b); if (b.injector()) {\r
+                var d = b[0] ===\r
+                S ? "document" : ga(b); throw Oa("btstrpd", d);\r
+            } a = a || []; a.unshift(["$provide", function (a) { a.value("$rootElement", b) }]); a.unshift("ng"); d = Eb(a, c.strictDi); d.invoke(["$rootScope", "$rootElement", "$compile", "$injector", "$animate", function (a, b, c, d, e) { a.$apply(function () { b.data("$injector", d); c(b)(a) }) }]); return d\r
+        }, e = /^NG_DEFER_BOOTSTRAP!/; if (N && !e.test(N.name)) return d(); N.name = N.name.replace(e, ""); Qa.resumeBootstrap = function (b) { q(b, function (b) { a.push(b) }); d() }\r
+    } function ib(b, a) {\r
+        a = a || "_"; return b.replace(jd,\r
+        function (b, d) { return (d ? a : "") + b.toLowerCase() })\r
+    } function Fb(b, a, c) { if (!b) throw Oa("areq", a || "?", c || "required"); return b } function Ra(b, a, c) { c && M(b) && (b = b[b.length - 1]); Fb(O(b), a, "not a function, got " + (b && "object" == typeof b ? b.constructor.name || "Object" : typeof b)); return b } function Aa(b, a) { if ("hasOwnProperty" === b) throw Oa("badname", a); } function jc(b, a, c) { if (!a) return b; a = a.split("."); for (var d, e = b, f = a.length, g = 0; g < f; g++) d = a[g], b && (b = (e = b)[d]); return !c && O(b) ? gb(e, b) : b } function Gb(b) {\r
+        var a = b[0]; b = b[b.length -\r
+        1]; if (a === b) return y(a); var c = [a]; do { a = a.nextSibling; if (!a) break; c.push(a) } while (a !== b); return y(c)\r
+    } function kd(b) {\r
+        var a = I("$injector"), c = I("ng"); b = b.angular || (b.angular = {}); b.$$minErr = b.$$minErr || I; return b.module || (b.module = function () {\r
+            var b = {}; return function (e, f, g) {\r
+                if ("hasOwnProperty" === e) throw c("badname", "module"); f && b.hasOwnProperty(e) && (b[e] = null); return b[e] || (b[e] = function () {\r
+                    function b(a, d, e) { return function () { c[e || "push"]([a, d, arguments]); return p } } if (!f) throw a("nomod", e); var c = [], d = [],\r
+                    l = b("$injector", "invoke"), p = { _invokeQueue: c, _runBlocks: d, requires: f, name: e, provider: b("$provide", "provider"), factory: b("$provide", "factory"), service: b("$provide", "service"), value: b("$provide", "value"), constant: b("$provide", "constant", "unshift"), animation: b("$animateProvider", "register"), filter: b("$filterProvider", "register"), controller: b("$controllerProvider", "register"), directive: b("$compileProvider", "directive"), config: l, run: function (a) { d.push(a); return this } }; g && l(g); return p\r
+                }())\r
+            }\r
+        }())\r
+    } function ld(b) {\r
+        w(b,\r
+        { bootstrap: ic, copy: aa, extend: w, equals: ya, element: y, forEach: q, injector: Eb, noop: D, bind: gb, toJson: sa, fromJson: ec, identity: Da, isUndefined: A, isDefined: F, isString: x, isFunction: O, isObject: R, isNumber: Cb, isElement: ed, isArray: M, version: md, isDate: qa, lowercase: u, uppercase: Fa, callbacks: { counter: 0 }, $$minErr: I, $$csp: dc }); Sa = kd(N); try { Sa("ngLocale") } catch (a) { Sa("ngLocale", []).provider("$locale", nd) } Sa("ng", ["ngLocale"], ["$provide", function (a) {\r
+            a.provider({ $$sanitizeUri: od }); a.provider("$compile", kc).directive({\r
+                a: pd,\r
+                input: lc, textarea: lc, form: qd, script: rd, select: sd, style: td, option: ud, ngBind: vd, ngBindHtml: wd, ngBindTemplate: xd, ngClass: yd, ngClassEven: zd, ngClassOdd: Ad, ngCloak: Bd, ngController: Cd, ngForm: Dd, ngHide: Ed, ngIf: Fd, ngInclude: Gd, ngInit: Hd, ngNonBindable: Id, ngPluralize: Jd, ngRepeat: Kd, ngShow: Ld, ngStyle: Md, ngSwitch: Nd, ngSwitchWhen: Od, ngSwitchDefault: Pd, ngOptions: Qd, ngTransclude: Rd, ngModel: Sd, ngList: Td, ngChange: Ud, required: mc, ngRequired: mc, ngValue: Vd, ngModelOptions: Wd\r
+            }).directive({ ngInclude: Xd }).directive(Hb).directive(nc);\r
+            a.provider({ $anchorScroll: Yd, $animate: Zd, $browser: $d, $cacheFactory: ae, $controller: be, $document: ce, $exceptionHandler: de, $filter: oc, $interpolate: ee, $interval: fe, $http: ge, $httpBackend: he, $location: ie, $log: je, $parse: ke, $rootScope: le, $q: me, $sce: ne, $sceDelegate: oe, $sniffer: pe, $templateCache: qe, $timeout: re, $window: se, $$rAF: te, $$asyncCallback: ue })\r
+        }])\r
+    } function Ta(b) { return b.replace(ve, function (a, b, d, e) { return e ? d.toUpperCase() : d }).replace(we, "Moz$1") } function Ib(b, a, c, d) {\r
+        function e(b) {\r
+            var e = c && b ? [this.filter(b)] :\r
+            [this], m = a, k, l, p, n, r, t; if (!d || null != b) for (; e.length;) for (k = e.shift(), l = 0, p = k.length; l < p; l++) for (n = y(k[l]), m ? n.triggerHandler("$destroy") : m = !m, r = 0, n = (t = n.children()).length; r < n; r++) e.push(Ga(t[r])); return f.apply(this, arguments)\r
+        } var f = Ga.fn[b], f = f.$original || f; e.$original = f; Ga.fn[b] = e\r
+    } function xe(b, a) {\r
+        var c, d, e = a.createDocumentFragment(), f = []; if (Jb.test(b)) {\r
+            c = c || e.appendChild(a.createElement("div")); d = (ye.exec(b) || ["", ""])[1].toLowerCase(); d = da[d] || da._default; c.innerHTML = d[1] + b.replace(ze, "<$1></$2>") +\r
+            d[2]; for (d = d[0]; d--;) c = c.lastChild; f = f.concat(ra.call(c.childNodes, void 0)); c = e.firstChild; c.textContent = ""\r
+        } else f.push(a.createTextNode(b)); e.textContent = ""; e.innerHTML = ""; q(f, function (a) { e.appendChild(a) }); return e\r
+    } function U(b) { if (b instanceof U) return b; x(b) && (b = Y(b)); if (!(this instanceof U)) { if (x(b) && "<" != b.charAt(0)) throw Kb("nosel"); return new U(b) } if (x(b)) { var a; a = S; var c; b = (c = Ae.exec(b)) ? [a.createElement(c[1])] : (c = xe(b, a)) ? c.childNodes : [] } pc(this, b) } function Lb(b) { return b.cloneNode(!0) }\r
+    function Ha(b) { qc(b); var a = 0; for (b = b.childNodes || []; a < b.length; a++) Ha(b[a]) } function rc(b, a, c, d) { if (F(d)) throw Kb("offargs"); var e = la(b, "events"); la(b, "handle") && (A(a) ? q(e, function (a, c) { Ua(b, c, a); delete e[c] }) : q(a.split(" "), function (a) { A(c) ? (Ua(b, a, e[a]), delete e[a]) : Ea(e[a] || [], c) })) } function qc(b, a) { var c = b[jb], d = Va[c]; d && (a ? delete Va[c].data[a] : (d.handle && (d.events.$destroy && d.handle({}, "$destroy"), rc(b)), delete Va[c], b[jb] = s)) } function la(b, a, c) {\r
+        var d = b[jb], d = Va[d || -1]; if (F(c)) d || (b[jb] = d = ++Be,\r
+        d = Va[d] = {}), d[a] = c; else return d && d[a]\r
+    } function sc(b, a, c) { var d = la(b, "data"), e = F(c), f = !e && F(a), g = f && !R(a); d || g || la(b, "data", d = {}); if (e) d[a] = c; else if (f) { if (g) return d && d[a]; w(d, a) } else return d } function Mb(b, a) { return b.getAttribute ? -1 < (" " + (b.getAttribute("class") || "") + " ").replace(/[\n\t]/g, " ").indexOf(" " + a + " ") : !1 } function kb(b, a) { a && b.setAttribute && q(a.split(" "), function (a) { b.setAttribute("class", Y((" " + (b.getAttribute("class") || "") + " ").replace(/[\n\t]/g, " ").replace(" " + Y(a) + " ", " "))) }) }\r
+    function lb(b, a) { if (a && b.setAttribute) { var c = (" " + (b.getAttribute("class") || "") + " ").replace(/[\n\t]/g, " "); q(a.split(" "), function (a) { a = Y(a); -1 === c.indexOf(" " + a + " ") && (c += a + " ") }); b.setAttribute("class", Y(c)) } } function pc(b, a) { if (a) { a = a.nodeName || !F(a.length) || Ca(a) ? [a] : a; for (var c = 0; c < a.length; c++) b.push(a[c]) } } function tc(b, a) { return mb(b, "$" + (a || "ngController") + "Controller") } function mb(b, a, c) {\r
+        b = y(b); 9 == b[0].nodeType && (b = b.find("html")); for (a = M(a) ? a : [a]; b.length;) {\r
+            for (var d = b[0], e = 0, f = a.length; e <\r
+            f; e++) if ((c = b.data(a[e])) !== s) return c; b = y(d.parentNode || 11 === d.nodeType && d.host)\r
+        }\r
+    } function uc(b) { for (var a = 0, c = b.childNodes; a < c.length; a++) Ha(c[a]); for (; b.firstChild;) b.removeChild(b.firstChild) } function vc(b, a) { var c = nb[a.toLowerCase()]; return c && wc[b.nodeName] && c } function Ce(b, a) {\r
+        var c = function (c, e) {\r
+            c.preventDefault || (c.preventDefault = function () { c.returnValue = !1 }); c.stopPropagation || (c.stopPropagation = function () { c.cancelBubble = !0 }); c.target || (c.target = c.srcElement || S); if (A(c.defaultPrevented)) {\r
+                var f =\r
+                c.preventDefault; c.preventDefault = function () { c.defaultPrevented = !0; f.call(c) }; c.defaultPrevented = !1\r
+            } c.isDefaultPrevented = function () { return c.defaultPrevented || !1 === c.returnValue }; var g = cc(a[e || c.type] || []); q(g, function (a) { a.call(b, c) }); 8 >= P ? (c.preventDefault = null, c.stopPropagation = null, c.isDefaultPrevented = null) : (delete c.preventDefault, delete c.stopPropagation, delete c.isDefaultPrevented)\r
+        }; c.elem = b; return c\r
+    } function Ia(b) {\r
+        var a = typeof b, c; "object" == a && null !== b ? "function" == typeof (c = b.$$hashKey) ? c =\r
+        b.$$hashKey() : c === s && (c = b.$$hashKey = db()) : c = b; return a + ":" + c\r
+    } function Wa(b) { q(b, this.put, this) } function De(b) { return (b = b.toString().replace(xc, "").match(yc)) ? "function(" + (b[1] || "").replace(/[\s\r\n]+/, " ") + ")" : "fn" } function Nb(b, a, c) {\r
+        var d; if ("function" == typeof b) { if (!(d = b.$inject)) { d = []; if (b.length) { if (a) throw x(c) && c || (c = b.name || De(b)), Ja("strictdi", c); a = b.toString().replace(xc, ""); a = a.match(yc); q(a[1].split(Ee), function (a) { a.replace(Fe, function (a, b, c) { d.push(c) }) }) } b.$inject = d } } else M(b) ? (a = b.length -\r
+        1, Ra(b[a], "fn"), d = b.slice(0, a)) : Ra(b, "fn", !0); return d\r
+    } function Eb(b, a) {\r
+        function c(a) { return function (b, c) { if (R(b)) q(b, $b(a)); else return a(b, c) } } function d(a, b) { Aa(a, "service"); if (O(b) || M(b)) b = n.instantiate(b); if (!b.$get) throw Ja("pget", a); return p[a + m] = b } function e(a, b) { return d(a, { $get: b }) } function f(a) {\r
+            var b = [], c, d, e, h; q(a, function (a) {\r
+                if (!l.get(a)) {\r
+                    l.put(a, !0); try {\r
+                        if (x(a)) for (c = Sa(a), b = b.concat(f(c.requires)).concat(c._runBlocks), d = c._invokeQueue, e = 0, h = d.length; e < h; e++) {\r
+                            var g = d[e], m = n.get(g[0]);\r
+                            m[g[1]].apply(m, g[2])\r
+                        } else O(a) ? b.push(n.invoke(a)) : M(a) ? b.push(n.invoke(a)) : Ra(a, "module")\r
+                    } catch (k) { throw M(a) && (a = a[a.length - 1]), k.message && (k.stack && -1 == k.stack.indexOf(k.message)) && (k = k.message + "\n" + k.stack), Ja("modulerr", a, k.stack || k.message || k); }\r
+                }\r
+            }); return b\r
+        } function g(b, c) {\r
+            function d(a) { if (b.hasOwnProperty(a)) { if (b[a] === h) throw Ja("cdep", k.join(" <- ")); return b[a] } try { return k.unshift(a), b[a] = h, b[a] = c(a) } catch (e) { throw b[a] === h && delete b[a], e; } finally { k.shift() } } function e(b, c, f, h) {\r
+                "string" ===\r
+                typeof f && (h = f, f = null); var g = []; h = Nb(b, a, h); var m, k, l; k = 0; for (m = h.length; k < m; k++) { l = h[k]; if ("string" !== typeof l) throw Ja("itkn", l); g.push(f && f.hasOwnProperty(l) ? f[l] : d(l)) } b.$inject || (b = b[m]); return b.apply(c, g)\r
+            } return { invoke: e, instantiate: function (a, b, c) { var d = function () { }; d.prototype = (M(a) ? a[a.length - 1] : a).prototype; d = new d; a = e(a, d, b, c); return R(a) || O(a) ? a : d }, get: d, annotate: Nb, has: function (a) { return p.hasOwnProperty(a + m) || b.hasOwnProperty(a) } }\r
+        } a = !0 === a; var h = {}, m = "Provider", k = [], l = new Wa, p = {\r
+            $provide: {\r
+                provider: c(d),\r
+                factory: c(e), service: c(function (a, b) { return e(a, ["$injector", function (a) { return a.instantiate(b) }]) }), value: c(function (a, b) { return e(a, $(b)) }), constant: c(function (a, b) { Aa(a, "constant"); p[a] = b; r[a] = b }), decorator: function (a, b) { var c = n.get(a + m), d = c.$get; c.$get = function () { var a = t.invoke(d, c); return t.invoke(b, null, { $delegate: a }) } }\r
+            }\r
+        }, n = p.$injector = g(p, function () { throw Ja("unpr", k.join(" <- ")); }, a), r = {}, t = r.$injector = g(r, function (a) { var b = n.get(a + m); return t.invoke(b.$get, b, s, a) }, a); q(f(b), function (a) {\r
+            t.invoke(a ||\r
+            D)\r
+        }); return t\r
+    } function Yd() { var b = !0; this.disableAutoScrolling = function () { b = !1 }; this.$get = ["$window", "$location", "$rootScope", function (a, c, d) { function e(a) { var b = null; q(a, function (a) { b || "a" !== u(a.nodeName) || (b = a) }); return b } function f() { var b = c.hash(), d; b ? (d = g.getElementById(b)) ? d.scrollIntoView() : (d = e(g.getElementsByName(b))) ? d.scrollIntoView() : "top" === b && a.scrollTo(0, 0) : a.scrollTo(0, 0) } var g = a.document; b && d.$watch(function () { return c.hash() }, function () { d.$evalAsync(f) }); return f }] } function ue() {\r
+        this.$get =\r
+        ["$$rAF", "$timeout", function (b, a) { return b.supported ? function (a) { return b(a) } : function (b) { return a(b, 0, !1) } }]\r
+    } function Ge(b, a, c, d) {\r
+        function e(a) { try { a.apply(null, ra.call(arguments, 1)) } finally { if (t--, 0 === t) for (; J.length;) try { J.pop()() } catch (b) { c.error(b) } } } function f(a, b) { (function ba() { q(E, function (a) { a() }); B = b(ba, a) })() } function g() { v = null; z != h.url() && (z = h.url(), q(ma, function (a) { a(h.url()) })) } var h = this, m = a[0], k = b.location, l = b.history, p = b.setTimeout, n = b.clearTimeout, r = {}; h.isMock = !1; var t = 0, J = [];\r
+        h.$$completeOutstandingRequest = e; h.$$incOutstandingRequestCount = function () { t++ }; h.notifyWhenNoOutstandingRequests = function (a) { q(E, function (a) { a() }); 0 === t ? a() : J.push(a) }; var E = [], B; h.addPollFn = function (a) { A(B) && f(100, p); E.push(a); return a }; var z = k.href, W = a.find("base"), v = null; h.url = function (a, c) {\r
+            k !== b.location && (k = b.location); l !== b.history && (l = b.history); if (a) {\r
+                if (z != a) return z = a, d.history ? c ? l.replaceState(null, "", a) : (l.pushState(null, "", a), W.attr("href", W.attr("href"))) : (v = a, c ? k.replace(a) : k.href =\r
+                a), h\r
+            } else return v || k.href.replace(/%27/g, "'")\r
+        }; var ma = [], K = !1; h.onUrlChange = function (a) { if (!K) { if (d.history) y(b).on("popstate", g); if (d.hashchange) y(b).on("hashchange", g); else h.addPollFn(g); K = !0 } ma.push(a); return a }; h.baseHref = function () { var a = W.attr("href"); return a ? a.replace(/^(https?\:)?\/\/[^\/]*/, "") : "" }; var L = {}, Z = "", G = h.baseHref(); h.cookies = function (a, b) {\r
+            var d, e, f, h; if (a) b === s ? m.cookie = escape(a) + "=;path=" + G + ";expires=Thu, 01 Jan 1970 00:00:00 GMT" : x(b) && (d = (m.cookie = escape(a) + "=" + escape(b) +\r
+            ";path=" + G).length + 1, 4096 < d && c.warn("Cookie '" + a + "' possibly not set or overflowed because it was too large (" + d + " > 4096 bytes)!")); else { if (m.cookie !== Z) for (Z = m.cookie, d = Z.split("; "), L = {}, f = 0; f < d.length; f++) e = d[f], h = e.indexOf("="), 0 < h && (a = unescape(e.substring(0, h)), L[a] === s && (L[a] = unescape(e.substring(h + 1)))); return L }\r
+        }; h.defer = function (a, b) { var c; t++; c = p(function () { delete r[c]; e(a) }, b || 0); r[c] = !0; return c }; h.defer.cancel = function (a) { return r[a] ? (delete r[a], n(a), e(D), !0) : !1 }\r
+    } function $d() {\r
+        this.$get =\r
+        ["$window", "$log", "$sniffer", "$document", function (b, a, c, d) { return new Ge(b, d, a, c) }]\r
+    } function ae() {\r
+        this.$get = function () {\r
+            function b(b, d) {\r
+                function e(a) { a != p && (n ? n == a && (n = a.n) : n = a, f(a.n, a.p), f(a, p), p = a, p.n = null) } function f(a, b) { a != b && (a && (a.p = b), b && (b.n = a)) } if (b in a) throw I("$cacheFactory")("iid", b); var g = 0, h = w({}, d, { id: b }), m = {}, k = d && d.capacity || Number.MAX_VALUE, l = {}, p = null, n = null; return a[b] = {\r
+                    put: function (a, b) {\r
+                        if (k < Number.MAX_VALUE) { var c = l[a] || (l[a] = { key: a }); e(c) } if (!A(b)) return a in m || g++, m[a] = b,\r
+                        g > k && this.remove(n.key), b\r
+                    }, get: function (a) { if (k < Number.MAX_VALUE) { var b = l[a]; if (!b) return; e(b) } return m[a] }, remove: function (a) { if (k < Number.MAX_VALUE) { var b = l[a]; if (!b) return; b == p && (p = b.p); b == n && (n = b.n); f(b.n, b.p); delete l[a] } delete m[a]; g-- }, removeAll: function () { m = {}; g = 0; l = {}; p = n = null }, destroy: function () { l = h = m = null; delete a[b] }, info: function () { return w({}, h, { size: g }) }\r
+                }\r
+            } var a = {}; b.info = function () { var b = {}; q(a, function (a, e) { b[e] = a.info() }); return b }; b.get = function (b) { return a[b] }; return b\r
+        }\r
+    } function qe() {\r
+        this.$get =\r
+        ["$cacheFactory", function (b) { return b("templates") }]\r
+    } function kc(b, a) {\r
+        var c = {}, d = "Directive", e = /^\s*directive\:\s*([\d\w\-_]+)\s+(.*)$/, f = /(([\d\w\-_]+)(?:\:([^;]+))?;?)/, g = /^(on[a-z]+|formaction)$/; this.directive = function m(a, e) {\r
+            Aa(a, "directive"); x(a) ? (Fb(e, "directiveFactory"), c.hasOwnProperty(a) || (c[a] = [], b.factory(a + d, ["$injector", "$exceptionHandler", function (b, d) {\r
+                var e = []; q(c[a], function (c, f) {\r
+                    try {\r
+                        var g = b.invoke(c); O(g) ? g = { compile: $(g) } : !g.compile && g.link && (g.compile = $(g.link)); g.priority = g.priority ||\r
+                        0; g.index = f; g.name = g.name || a; g.require = g.require || g.controller && g.name; g.restrict = g.restrict || "A"; e.push(g)\r
+                    } catch (m) { d(m) }\r
+                }); return e\r
+            }])), c[a].push(e)) : q(a, $b(m)); return this\r
+        }; this.aHrefSanitizationWhitelist = function (b) { return F(b) ? (a.aHrefSanitizationWhitelist(b), this) : a.aHrefSanitizationWhitelist() }; this.imgSrcSanitizationWhitelist = function (b) { return F(b) ? (a.imgSrcSanitizationWhitelist(b), this) : a.imgSrcSanitizationWhitelist() }; this.$get = ["$injector", "$interpolate", "$exceptionHandler", "$http", "$templateCache",\r
+        "$parse", "$controller", "$rootScope", "$document", "$sce", "$animate", "$$sanitizeUri", function (a, b, l, p, n, r, t, J, E, B, z, W) {\r
+            function v(a, b, c, d, e) {\r
+                a instanceof y || (a = y(a)); q(a, function (b, c) { 3 == b.nodeType && b.nodeValue.match(/\S+/) && (a[c] = y(b).wrap("<span></span>").parent()[0]) }); var f = K(a, b, a, c, d, e); ma(a, "ng-scope"); return function (b, c, d) {\r
+                    Fb(b, "scope"); var e = c ? Ka.clone.call(a) : a; q(d, function (a, b) { e.data("$" + b + "Controller", a) }); d = 0; for (var g = e.length; d < g; d++) {\r
+                        var m = e[d].nodeType; 1 !== m && 9 !== m || e.eq(d).data("$scope",\r
+                        b)\r
+                    } c && c(e, b); f && f(b, e, e); return e\r
+                }\r
+            } function ma(a, b) { try { a.addClass(b) } catch (c) { } } function K(a, b, c, d, e, f) {\r
+                function g(a, c, d, e) { var f, k, l, r, p, n, E; f = c.length; var Xa = Array(f); for (p = 0; p < f; p++) Xa[p] = c[p]; E = p = 0; for (n = m.length; p < n; E++) k = Xa[E], c = m[p++], f = m[p++], l = y(k), c ? (c.scope ? (r = a.$new(), l.data("$scope", r)) : r = a, (l = c.transclude) || !e && b ? c(f, r, k, d, L(a, l || b)) : c(f, r, k, d, e)) : f && f(a, k.childNodes, s, e) } for (var m = [], k, l, r, p, n = 0; n < a.length; n++) k = new Ob, l = Z(a[n], [], k, 0 === n ? d : s, e), (f = l.length ? ha(l, a[n], k, b, c, null, [],\r
+                [], f) : null) && f.scope && ma(y(a[n]), "ng-scope"), k = f && f.terminal || !(r = a[n].childNodes) || !r.length ? null : K(r, f ? f.transclude : b), m.push(f, k), p = p || f || k, f = null; return p ? g : null\r
+            } function L(a, b) { return function (c, d, e) { var f = !1; c || (c = a.$new(), f = c.$$transcluded = !0); d = b(c, d, e); if (f) d.on("$destroy", gb(c, c.$destroy)); return d } } function Z(a, b, c, d, g) {\r
+                var m = c.$attr, k; switch (a.nodeType) {\r
+                    case 1: ba(b, na(La(a).toLowerCase()), "E", d, g); var l, p, r; k = a.attributes; for (var n = 0, E = k && k.length; n < E; n++) {\r
+                        var t = !1, B = !1; l = k[n]; if (!P ||\r
+                        8 <= P || l.specified) { p = l.name; r = na(p); Q.test(r) && (p = ib(r.substr(6), "-")); var J = r.replace(/(Start|End)$/, ""); r === J + "Start" && (t = p, B = p.substr(0, p.length - 5) + "end", p = p.substr(0, p.length - 6)); r = na(p.toLowerCase()); m[r] = p; c[r] = l = Y(l.value); vc(a, r) && (c[r] = !0); N(a, b, l, r); ba(b, r, "A", d, g, t, B) }\r
+                    } a = a.className; if (x(a) && "" !== a) for (; k = f.exec(a) ;) r = na(k[2]), ba(b, r, "C", d, g) && (c[r] = Y(k[3])), a = a.substr(k.index + k[0].length); break; case 3: u(b, a.nodeValue); break; case 8: try {\r
+                        if (k = e.exec(a.nodeValue)) r = na(k[1]), ba(b, r, "M", d, g) &&\r
+                        (c[r] = Y(k[2]))\r
+                    } catch (z) { }\r
+                } b.sort(qb); return b\r
+            } function G(a, b, c) { var d = [], e = 0; if (b && a.hasAttribute && a.hasAttribute(b)) { do { if (!a) throw ia("uterdir", b, c); 1 == a.nodeType && (a.hasAttribute(b) && e++, a.hasAttribute(c) && e--); d.push(a); a = a.nextSibling } while (0 < e) } else d.push(a); return y(d) } function C(a, b, c) { return function (d, e, f, g, k) { e = G(e[0], b, c); return a(d, e, f, g, k) } } function ha(a, c, d, e, f, g, m, p, n) {\r
+                function E(a, b, c, d) {\r
+                    if (a) {\r
+                        c && (a = C(a, c, d)); a.require = H.require; a.directiveName = ca; if (L === H || H.$$isolateScope) a = zc(a,\r
+                        { isolateScope: !0 }); m.push(a)\r
+                    } if (b) { c && (b = C(b, c, d)); b.require = H.require; b.directiveName = ca; if (L === H || H.$$isolateScope) b = zc(b, { isolateScope: !0 }); p.push(b) }\r
+                } function B(a, b, c, d) { var e, f = "data", g = !1; if (x(b)) { for (; "^" == (e = b.charAt(0)) || "?" == e;) b = b.substr(1), "^" == e && (f = "inheritedData"), g = g || "?" == e; e = null; d && "data" === f && (e = d[b]); e = e || c[f]("$" + b + "Controller"); if (!e && !g) throw ia("ctreq", b, a); } else M(b) && (e = [], q(b, function (b) { e.push(B(a, b, c, d)) })); return e } function J(a, e, f, g, n) {\r
+                    function E(a, b) {\r
+                        var c; 2 > arguments.length &&\r
+                        (b = a, a = s); w && (c = Z); return n(a, b, c)\r
+                    } var z, v, Xa, C, K, G, Z = {}, pb; z = c === f ? d : cc(d, new Ob(y(f), d.$attr)); v = z.$$element; if (L) {\r
+                        var ba = /^\s*([@=&])(\??)\s*(\w*)\s*$/; g = y(f); G = e.$new(!0); ha && ha === L.$$originalDirective ? g.data("$isolateScope", G) : g.data("$isolateScopeNoTemplate", G); ma(g, "ng-isolate-scope"); q(L.scope, function (a, c) {\r
+                            var d = a.match(ba) || [], f = d[3] || c, g = "?" == d[2], d = d[1], m, l, p, n; G.$$isolateBindings[c] = d + f; switch (d) {\r
+                                case "@": z.$observe(f, function (a) { G[c] = a }); z.$$observers[f].$$scope = e; z[f] && (G[c] = b(z[f])(e));\r
+                                    break; case "=": if (g && !z[f]) break; l = r(z[f]); n = l.literal ? ya : function (a, b) { return a === b }; p = l.assign || function () { m = G[c] = l(e); throw ia("nonassign", z[f], L.name); }; m = G[c] = l(e); G.$watch(function () { var a = l(e); n(a, G[c]) || (n(a, m) ? p(e, a = G[c]) : G[c] = a); return m = a }, null, l.literal); break; case "&": l = r(z[f]); G[c] = function (a) { return l(e, a) }; break; default: throw ia("iscp", L.name, c, a);\r
+                            }\r
+                        })\r
+                    } pb = n && E; W && q(W, function (a) {\r
+                        var b = { $scope: a === L || a.$$isolateScope ? G : e, $element: v, $attrs: z, $transclude: pb }, c; K = a.controller; "@" == K && (K =\r
+                        z[a.name]); c = t(K, b); Z[a.name] = c; w || v.data("$" + a.name + "Controller", c); a.controllerAs && (b.$scope[a.controllerAs] = c)\r
+                    }); g = 0; for (Xa = m.length; g < Xa; g++) try { C = m[g], C(C.isolateScope ? G : e, v, z, C.require && B(C.directiveName, C.require, v, Z), pb) } catch (ob) { l(ob, ga(v)) } g = e; L && (L.template || null === L.templateUrl) && (g = G); a && a(g, f.childNodes, s, n); for (g = p.length - 1; 0 <= g; g--) try { C = p[g], C(C.isolateScope ? G : e, v, z, C.require && B(C.directiveName, C.require, v, Z), pb) } catch (H) { l(H, ga(v)) }\r
+                } n = n || {}; for (var z = -Number.MAX_VALUE, K, W = n.controllerDirectives,\r
+                L = n.newIsolateScopeDirective, ha = n.templateDirective, ba = n.nonTlbTranscludeDirective, qb = !1, w = n.hasElementTranscludeDirective, u = d.$$element = y(c), H, ca, T, I = e, N, ja = 0, P = a.length; ja < P; ja++) {\r
+                    H = a[ja]; var Q = H.$$start, V = H.$$end; Q && (u = G(c, Q, V)); T = s; if (z > H.priority) break; if (T = H.scope) K = K || H, H.templateUrl || (A("new/isolated scope", L, H, u), R(T) && (L = H)); ca = H.name; !H.templateUrl && H.controller && (T = H.controller, W = W || {}, A("'" + ca + "' controller", W[ca], H, u), W[ca] = H); if (T = H.transclude) qb = !0, H.$$tlb || (A("transclusion", ba, H,\r
+                    u), ba = H), "element" == T ? (w = !0, z = H.priority, T = G(c, Q, V), u = d.$$element = y(S.createComment(" " + ca + ": " + d[ca] + " ")), c = u[0], rb(f, y(ra.call(T, 0)), c), I = v(T, e, z, g && g.name, { nonTlbTranscludeDirective: ba })) : (T = y(Lb(c)).contents(), u.empty(), I = v(T, e)); if (H.template) if (A("template", ha, H, u), ha = H, T = O(H.template) ? H.template(u, d) : H.template, T = U(T), H.replace) {\r
+                        g = H; T = Jb.test(T) ? y(Y(T)) : []; c = T[0]; if (1 != T.length || 1 !== c.nodeType) throw ia("tplrt", ca, ""); rb(f, u, c); P = { $attr: {} }; T = Z(c, [], P); var X = a.splice(ja + 1, a.length - (ja + 1));\r
+                        L && ob(T); a = a.concat(T).concat(X); F(d, P); P = a.length\r
+                    } else u.html(T); if (H.templateUrl) A("template", ha, H, u), ha = H, H.replace && (g = H), J = D(a.splice(ja, a.length - ja), u, d, f, I, m, p, { controllerDirectives: W, newIsolateScopeDirective: L, templateDirective: ha, nonTlbTranscludeDirective: ba }), P = a.length; else if (H.compile) try { N = H.compile(u, d, I), O(N) ? E(null, N, Q, V) : N && E(N.pre, N.post, Q, V) } catch (He) { l(He, ga(u)) } H.terminal && (J.terminal = !0, z = Math.max(z, H.priority))\r
+                } J.scope = K && !0 === K.scope; J.transclude = qb && I; n.hasElementTranscludeDirective =\r
+                w; return J\r
+            } function ob(a) { for (var b = 0, c = a.length; b < c; b++) a[b] = bc(a[b], { $$isolateScope: !0 }) } function ba(b, e, f, g, k, p, r) { if (e === k) return null; k = null; if (c.hasOwnProperty(e)) { var n; e = a.get(e + d); for (var E = 0, t = e.length; E < t; E++) try { n = e[E], (g === s || g > n.priority) && -1 != n.restrict.indexOf(f) && (p && (n = bc(n, { $$start: p, $$end: r })), b.push(n), k = n) } catch (z) { l(z) } } return k } function F(a, b) {\r
+                var c = b.$attr, d = a.$attr, e = a.$$element; q(a, function (d, e) { "$" != e.charAt(0) && (b[e] && (d += ("style" === e ? ";" : " ") + b[e]), a.$set(e, d, !0, c[e])) });\r
+                q(b, function (b, f) { "class" == f ? (ma(e, b), a["class"] = (a["class"] ? a["class"] + " " : "") + b) : "style" == f ? (e.attr("style", e.attr("style") + ";" + b), a.style = (a.style ? a.style + ";" : "") + b) : "$" == f.charAt(0) || a.hasOwnProperty(f) || (a[f] = b, d[f] = c[f]) })\r
+            } function D(a, b, c, d, e, f, g, k) {\r
+                var m = [], l, r, E = b[0], t = a.shift(), z = w({}, t, { templateUrl: null, transclude: null, replace: null, $$originalDirective: t }), J = O(t.templateUrl) ? t.templateUrl(b, c) : t.templateUrl; b.empty(); p.get(B.getTrustedResourceUrl(J), { cache: n }).success(function (p) {\r
+                    var n,\r
+                    B; p = U(p); if (t.replace) { p = Jb.test(p) ? y(Y(p)) : []; n = p[0]; if (1 != p.length || 1 !== n.nodeType) throw ia("tplrt", t.name, J); p = { $attr: {} }; rb(d, b, n); var v = Z(n, [], p); R(t.scope) && ob(v); a = v.concat(a); F(c, p) } else n = E, b.html(p); a.unshift(z); l = ha(a, n, c, e, b, t, f, g, k); q(d, function (a, c) { a == n && (d[c] = b[0]) }); for (r = K(b[0].childNodes, e) ; m.length;) {\r
+                        p = m.shift(); B = m.shift(); var C = m.shift(), G = m.shift(), v = b[0]; if (B !== E) { var W = B.className; k.hasElementTranscludeDirective && t.replace || (v = Lb(n)); rb(C, y(B), v); ma(y(v), W) } B = l.transclude ?\r
+                        L(p, l.transclude) : G; l(r, p, v, d, B)\r
+                    } m = null\r
+                }).error(function (a, b, c, d) { throw ia("tpload", d.url); }); return function (a, b, c, d, e) { m ? (m.push(b), m.push(c), m.push(d), m.push(e)) : l(r, b, c, d, e) }\r
+            } function qb(a, b) { var c = b.priority - a.priority; return 0 !== c ? c : a.name !== b.name ? a.name < b.name ? -1 : 1 : a.index - b.index } function A(a, b, c, d) { if (b) throw ia("multidir", b.name, c.name, a, ga(d)); } function u(a, c) {\r
+                var d = b(c, !0); d && a.push({\r
+                    priority: 0, compile: $(function (a, b) {\r
+                        var c = b.parent(), e = c.data("$binding") || []; e.push(d); ma(c.data("$binding",\r
+                        e), "ng-binding"); a.$watch(d, function (a) { b[0].nodeValue = a })\r
+                    })\r
+                })\r
+            } function I(a, b) { if ("srcdoc" == b) return B.HTML; var c = La(a); if ("xlinkHref" == b || "FORM" == c && "action" == b || "IMG" != c && ("src" == b || "ngSrc" == b)) return B.RESOURCE_URL } function N(a, c, d, e) {\r
+                var f = b(d, !0); if (f) {\r
+                    if ("multiple" === e && "SELECT" === La(a)) throw ia("selmulti", ga(a)); c.push({\r
+                        priority: 100, compile: function () {\r
+                            return {\r
+                                pre: function (c, d, m) {\r
+                                    d = m.$$observers || (m.$$observers = {}); if (g.test(e)) throw ia("nodomevents"); if (f = b(m[e], !0, I(a, e))) m[e] = f(c), (d[e] ||\r
+                                    (d[e] = [])).$$inter = !0, (m.$$observers && m.$$observers[e].$$scope || c).$watch(f, function (a, b) { "class" === e && a != b ? m.$updateClass(a, b) : m.$set(e, a) })\r
+                                }\r
+                            }\r
+                        }\r
+                    })\r
+                }\r
+            } function rb(a, b, c) {\r
+                var d = b[0], e = b.length, f = d.parentNode, g, m; if (a) for (g = 0, m = a.length; g < m; g++) if (a[g] == d) { a[g++] = c; m = g + e - 1; for (var k = a.length; g < k; g++, m++) m < k ? a[g] = a[m] : delete a[g]; a.length -= e - 1; break } f && f.replaceChild(c, d); a = S.createDocumentFragment(); a.appendChild(d); c[y.expando] = d[y.expando]; d = 1; for (e = b.length; d < e; d++) f = b[d], y(f).remove(), a.appendChild(f),\r
+                delete b[d]; b[0] = c; b.length = 1\r
+            } function zc(a, b) { return w(function () { return a.apply(null, arguments) }, a, b) } var Ob = function (a, b) { this.$$element = a; this.$attr = b || {} }; Ob.prototype = {\r
+                $normalize: na, $addClass: function (a) { a && 0 < a.length && z.addClass(this.$$element, a) }, $removeClass: function (a) { a && 0 < a.length && z.removeClass(this.$$element, a) }, $updateClass: function (a, b) { var c = Ac(a, b), d = Ac(b, a); 0 === c.length ? z.removeClass(this.$$element, d) : 0 === d.length ? z.addClass(this.$$element, c) : z.setClass(this.$$element, c, d) }, $set: function (a,\r
+                b, c, d) { var e = vc(this.$$element[0], a); e && (this.$$element.prop(a, b), d = e); this[a] = b; d ? this.$attr[a] = d : (d = this.$attr[a]) || (this.$attr[a] = d = ib(a, "-")); e = La(this.$$element); if ("A" === e && "href" === a || "IMG" === e && "src" === a) this[a] = b = W(b, "src" === a); !1 !== c && (null === b || b === s ? this.$$element.removeAttr(d) : this.$$element.attr(d, b)); (c = this.$$observers) && q(c[a], function (a) { try { a(b) } catch (c) { l(c) } }) }, $observe: function (a, b) {\r
+                    var c = this, d = c.$$observers || (c.$$observers = {}), e = d[a] || (d[a] = []); e.push(b); J.$evalAsync(function () {\r
+                        e.$$inter ||\r
+                        b(c[a])\r
+                    }); return function () { Ea(e, b) }\r
+                }\r
+            }; var ca = b.startSymbol(), ja = b.endSymbol(), U = "{{" == ca || "}}" == ja ? Da : function (a) { return a.replace(/\{\{/g, ca).replace(/}}/g, ja) }, Q = /^ngAttr[A-Z]/; return v\r
+        }]\r
+    } function na(b) { return Ta(b.replace(Ie, "")) } function Ac(b, a) { var c = "", d = b.split(/\s+/), e = a.split(/\s+/), f = 0; a: for (; f < d.length; f++) { for (var g = d[f], h = 0; h < e.length; h++) if (g == e[h]) continue a; c += (0 < c.length ? " " : "") + g } return c } function be() {\r
+        var b = {}, a = /^(\S+)(\s+as\s+(\w+))?$/; this.register = function (a, d) {\r
+            Aa(a, "controller");\r
+            R(a) ? w(b, a) : b[a] = d\r
+        }; this.$get = ["$injector", "$window", function (c, d) { return function (e, f) { var g, h, m; x(e) && (g = e.match(a), h = g[1], m = g[3], e = b.hasOwnProperty(h) ? b[h] : jc(f.$scope, h, !0) || jc(d, h, !0), Ra(e, h, !0)); g = c.instantiate(e, f, h); if (m) { if (!f || "object" != typeof f.$scope) throw I("$controller")("noscp", h || e.name, m); f.$scope[m] = g } return g } }]\r
+    } function ce() { this.$get = ["$window", function (b) { return y(b.document) }] } function de() { this.$get = ["$log", function (b) { return function (a, c) { b.error.apply(b, arguments) } }] } function Bc(b) {\r
+        var a =\r
+        {}, c, d, e; if (!b) return a; q(b.split("\n"), function (b) { e = b.indexOf(":"); c = u(Y(b.substr(0, e))); d = Y(b.substr(e + 1)); c && (a[c] = a[c] ? a[c] + (", " + d) : d) }); return a\r
+    } function Cc(b) { var a = R(b) ? b : s; return function (c) { a || (a = Bc(b)); return c ? a[u(c)] || null : a } } function Dc(b, a, c) { if (O(c)) return c(b, a); q(c, function (c) { b = c(b, a) }); return b } function ge() {\r
+        var b = /^\s*(\[|\{[^\{])/, a = /[\}\]]\s*$/, c = /^\)\]\}',?\n/, d = { "Content-Type": "application/json;charset=utf-8" }, e = this.defaults = {\r
+            transformResponse: [function (d) {\r
+                x(d) && (d = d.replace(c,\r
+                ""), b.test(d) && a.test(d) && (d = ec(d))); return d\r
+            }], transformRequest: [function (a) { return R(a) && "[object File]" !== xa.call(a) && "[object Blob]" !== xa.call(a) ? sa(a) : a }], headers: { common: { Accept: "application/json, text/plain, */*" }, post: aa(d), put: aa(d), patch: aa(d) }, xsrfCookieName: "XSRF-TOKEN", xsrfHeaderName: "X-XSRF-TOKEN"\r
+        }, f = this.interceptors = [], g = this.responseInterceptors = []; this.$get = ["$httpBackend", "$browser", "$cacheFactory", "$rootScope", "$q", "$injector", function (a, b, c, d, p, n) {\r
+            function r(a) {\r
+                function c(a) {\r
+                    var b =\r
+                    w({}, a, { data: Dc(a.data, a.headers, d.transformResponse) }); return 200 <= a.status && 300 > a.status ? b : p.reject(b)\r
+                } var d = { method: "get", transformRequest: e.transformRequest, transformResponse: e.transformResponse }, f = function (a) { function b(a) { var c; q(a, function (b, d) { O(b) && (c = b(), null != c ? a[d] = c : delete a[d]) }) } var c = e.headers, d = w({}, a.headers), f, g, c = w({}, c.common, c[u(a.method)]); b(c); b(d); a: for (f in c) { a = u(f); for (g in d) if (u(g) === a) continue a; d[f] = c[f] } return d }(a); w(d, a); d.headers = f; d.method = Fa(d.method); (a = Pb(d.url) ?\r
+                b.cookies()[d.xsrfCookieName || e.xsrfCookieName] : s) && (f[d.xsrfHeaderName || e.xsrfHeaderName] = a); var g = [function (a) { f = a.headers; var b = Dc(a.data, Cc(f), a.transformRequest); A(a.data) && q(f, function (a, b) { "content-type" === u(b) && delete f[b] }); A(a.withCredentials) && !A(e.withCredentials) && (a.withCredentials = e.withCredentials); return t(a, b, f).then(c, c) }, s], h = p.when(d); for (q(B, function (a) { (a.request || a.requestError) && g.unshift(a.request, a.requestError); (a.response || a.responseError) && g.push(a.response, a.responseError) }) ; g.length;) {\r
+                    a =\r
+                    g.shift(); var k = g.shift(), h = h.then(a, k)\r
+                } h.success = function (a) { h.then(function (b) { a(b.data, b.status, b.headers, d) }); return h }; h.error = function (a) { h.then(null, function (b) { a(b.data, b.status, b.headers, d) }); return h }; return h\r
+            } function t(b, c, f) {\r
+                function g(a, b, c, e) { B && (200 <= a && 300 > a ? B.put(s, [a, b, Bc(c), e]) : B.remove(s)); m(b, a, c, e); d.$$phase || d.$apply() } function m(a, c, d, e) { c = Math.max(c, 0); (200 <= c && 300 > c ? n.resolve : n.reject)({ data: a, status: c, headers: Cc(d), config: b, statusText: e }) } function k() {\r
+                    var a = fb(r.pendingRequests,\r
+                    b); -1 !== a && r.pendingRequests.splice(a, 1)\r
+                } var n = p.defer(), t = n.promise, B, q, s = J(b.url, b.params); r.pendingRequests.push(b); t.then(k, k); (b.cache || e.cache) && (!1 !== b.cache && "GET" == b.method) && (B = R(b.cache) ? b.cache : R(e.cache) ? e.cache : E); if (B) if (q = B.get(s), F(q)) { if (q.then) return q.then(k, k), q; M(q) ? m(q[1], q[0], aa(q[2]), q[3]) : m(q, 200, {}, "OK") } else B.put(s, t); A(q) && a(b.method, s, c, g, f, b.timeout, b.withCredentials, b.responseType); return t\r
+            } function J(a, b) {\r
+                if (!b) return a; var c = []; dd(b, function (a, b) {\r
+                    null === a || A(a) ||\r
+                    (M(a) || (a = [a]), q(a, function (a) { R(a) && (a = sa(a)); c.push(za(b) + "=" + za(a)) }))\r
+                }); 0 < c.length && (a += (-1 == a.indexOf("?") ? "?" : "&") + c.join("&")); return a\r
+            } var E = c("$http"), B = []; q(f, function (a) { B.unshift(x(a) ? n.get(a) : n.invoke(a)) }); q(g, function (a, b) { var c = x(a) ? n.get(a) : n.invoke(a); B.splice(b, 0, { response: function (a) { return c(p.when(a)) }, responseError: function (a) { return c(p.reject(a)) } }) }); r.pendingRequests = []; (function (a) { q(arguments, function (a) { r[a] = function (b, c) { return r(w(c || {}, { method: a, url: b })) } }) })("get",\r
+            "delete", "head", "jsonp"); (function (a) { q(arguments, function (a) { r[a] = function (b, c, d) { return r(w(d || {}, { method: a, url: b, data: c })) } }) })("post", "put"); r.defaults = e; return r\r
+        }]\r
+    } function Je(b) { if (8 >= P && (!b.match(/^(get|post|head|put|delete|options)$/i) || !N.XMLHttpRequest)) return new N.ActiveXObject("Microsoft.XMLHTTP"); if (N.XMLHttpRequest) return new N.XMLHttpRequest; throw I("$httpBackend")("noxhr"); } function he() {\r
+        this.$get = ["$browser", "$window", "$document", function (b, a, c) {\r
+            return Ke(b, Je, b.defer, a.angular.callbacks,\r
+            c[0])\r
+        }]\r
+    } function Ke(b, a, c, d, e) {\r
+        function f(a, b, c) { var f = e.createElement("script"), g = null; f.type = "text/javascript"; f.src = a; f.async = !0; g = function (a) { Ua(f, "load", g); Ua(f, "error", g); e.body.removeChild(f); f = null; var h = -1, t = "unknown"; a && ("load" !== a.type || d[b].called || (a = { type: "error" }), t = a.type, h = "error" === a.type ? 404 : 200); c && c(h, t) }; sb(f, "load", g); sb(f, "error", g); e.body.appendChild(f); return g } var g = -1; return function (e, m, k, l, p, n, r, t) {\r
+            function J() { B = g; W && W(); v && v.abort() } function E(a, d, e, f, g) {\r
+                K && c.cancel(K);\r
+                W = v = null; 0 === d && (d = e ? 200 : "file" == ta(m).protocol ? 404 : 0); a(1223 === d ? 204 : d, e, f, g || ""); b.$$completeOutstandingRequest(D)\r
+            } var B; b.$$incOutstandingRequestCount(); m = m || b.url(); if ("jsonp" == u(e)) { var z = "_" + (d.counter++).toString(36); d[z] = function (a) { d[z].data = a; d[z].called = !0 }; var W = f(m.replace("JSON_CALLBACK", "angular.callbacks." + z), z, function (a, b) { E(l, a, d[z].data, "", b); d[z] = D }) } else {\r
+                var v = a(e); v.open(e, m, !0); q(p, function (a, b) { F(a) && v.setRequestHeader(b, a) }); v.onreadystatechange = function () {\r
+                    if (v && 4 == v.readyState) {\r
+                        var a =\r
+                        null, b = null; B !== g && (a = v.getAllResponseHeaders(), b = "response" in v ? v.response : v.responseText); E(l, B || v.status, b, a, v.statusText || "")\r
+                    }\r
+                }; r && (v.withCredentials = !0); if (t) try { v.responseType = t } catch (s) { if ("json" !== t) throw s; } v.send(k || null)\r
+            } if (0 < n) var K = c(J, n); else n && n.then && n.then(J)\r
+        }\r
+    } function ee() {\r
+        var b = "{{", a = "}}"; this.startSymbol = function (a) { return a ? (b = a, this) : b }; this.endSymbol = function (b) { return b ? (a = b, this) : a }; this.$get = ["$parse", "$exceptionHandler", "$sce", function (c, d, e) {\r
+            function f(f, k, l) {\r
+                for (var p,\r
+                n, r = 0, t = [], J = [], E = [], B = f.length, z = !1, q = !1, v = [], y = {}, K = {}; r < B;) if (-1 != (p = f.indexOf(b, r)) && -1 != (n = f.indexOf(a, p + g))) r !== p && (q = !0), t.push(f.substring(r, p)), r = f.substring(p + g, n), J.push(r), E.push(c(r)), r = n + h, z = !0; else { r !== B && (q = !0, t.push(f.substring(r))); break } t.length === J.length && t.push(""); if (l && z && (q || 1 < J.length)) throw Ec("noconcat", f); if (!k || z) {\r
+                    v.length = t.length + J.length; var L = function (a) { for (var b = 0, c = J.length; b < c; b++) v[2 * b] = t[b], v[2 * b + 1] = a[b]; v[2 * c] = t[c]; return v.join("") }, Z = function (a) {\r
+                        a = l ? e.getTrusted(l,\r
+                        a) : e.valueOf(a); null === a || A(a) ? a = "" : "string" != typeof a && (a = sa(a)); return a\r
+                    }; return w(function (a) { var b = a.$id || "notAScope", c = y[b], e = K[b], g = 0, h = J.length, k = Array(h), l, p = e === s ? !0 : !1; c || (c = [], p = !0, a.$on && a.$on("$destroy", function () { y[b] = null; K[b] = null })); try { for (; g < h; g++) l = Z(E[g](a)), l !== c[g] && (p = !0), k[g] = l; p && (y[b] = k, K[b] = e = L(k)) } catch (n) { a = Ec("interr", f, n.toString()), d(a) } return e }, { exp: f, separators: t, expressions: J })\r
+                }\r
+            } var g = b.length, h = a.length; f.startSymbol = function () { return b }; f.endSymbol = function () { return a };\r
+            return f\r
+        }]\r
+    } function fe() {\r
+        this.$get = ["$rootScope", "$window", "$q", function (b, a, c) {\r
+            function d(d, g, h, m) { var k = a.setInterval, l = a.clearInterval, p = c.defer(), n = p.promise, r = 0, t = F(m) && !m; h = F(h) ? h : 0; n.then(null, null, d); n.$$intervalId = k(function () { p.notify(r++); 0 < h && r >= h && (p.resolve(r), l(n.$$intervalId), delete e[n.$$intervalId]); t || b.$apply() }, g); e[n.$$intervalId] = p; return n } var e = {}; d.cancel = function (a) {\r
+                return a && a.$$intervalId in e ? (e[a.$$intervalId].reject("canceled"), clearInterval(a.$$intervalId), delete e[a.$$intervalId],\r
+                !0) : !1\r
+            }; return d\r
+        }]\r
+    } function nd() {\r
+        this.$get = function () {\r
+            return {\r
+                id: "en-us", NUMBER_FORMATS: { DECIMAL_SEP: ".", GROUP_SEP: ",", PATTERNS: [{ minInt: 1, minFrac: 0, maxFrac: 3, posPre: "", posSuf: "", negPre: "-", negSuf: "", gSize: 3, lgSize: 3 }, { minInt: 1, minFrac: 2, maxFrac: 2, posPre: "\u00a4", posSuf: "", negPre: "(\u00a4", negSuf: ")", gSize: 3, lgSize: 3 }], CURRENCY_SYM: "$" }, DATETIME_FORMATS: {\r
+                    MONTH: "January February March April May June July August September October November December".split(" "), SHORTMONTH: "Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),\r
+                    DAY: "Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "), SHORTDAY: "Sun Mon Tue Wed Thu Fri Sat".split(" "), AMPMS: ["AM", "PM"], medium: "MMM d, y h:mm:ss a", "short": "M/d/yy h:mm a", fullDate: "EEEE, MMMM d, y", longDate: "MMMM d, y", mediumDate: "MMM d, y", shortDate: "M/d/yy", mediumTime: "h:mm:ss a", shortTime: "h:mm a"\r
+                }, pluralCat: function (b) { return 1 === b ? "one" : "other" }\r
+            }\r
+        }\r
+    } function Qb(b) { b = b.split("/"); for (var a = b.length; a--;) b[a] = hb(b[a]); return b.join("/") } function Fc(b, a, c) {\r
+        b = ta(b, c); a.$$protocol =\r
+        b.protocol; a.$$host = b.hostname; a.$$port = Q(b.port) || Le[b.protocol] || null\r
+    } function Gc(b, a, c) { var d = "/" !== b.charAt(0); d && (b = "/" + b); b = ta(b, c); a.$$path = decodeURIComponent(d && "/" === b.pathname.charAt(0) ? b.pathname.substring(1) : b.pathname); a.$$search = gc(b.search); a.$$hash = decodeURIComponent(b.hash); a.$$path && "/" != a.$$path.charAt(0) && (a.$$path = "/" + a.$$path) } function oa(b, a) { if (0 === a.indexOf(b)) return a.substr(b.length) } function Ya(b) { var a = b.indexOf("#"); return -1 == a ? b : b.substr(0, a) } function Rb(b) {\r
+        return b.substr(0,\r
+        Ya(b).lastIndexOf("/") + 1)\r
+    } function Hc(b, a) {\r
+        this.$$html5 = !0; a = a || ""; var c = Rb(b); Fc(b, this, b); this.$$parse = function (a) { var e = oa(c, a); if (!x(e)) throw Sb("ipthprfx", a, c); Gc(e, this, b); this.$$path || (this.$$path = "/"); this.$$compose() }; this.$$compose = function () { var a = Db(this.$$search), b = this.$$hash ? "#" + hb(this.$$hash) : ""; this.$$url = Qb(this.$$path) + (a ? "?" + a : "") + b; this.$$absUrl = c + this.$$url.substr(1) }; this.$$rewrite = function (d) {\r
+            var e; if ((e = oa(b, d)) !== s) return d = e, (e = oa(a, e)) !== s ? c + (oa("/", e) || e) : b + d; if ((e = oa(c,\r
+            d)) !== s) return c + e; if (c == d + "/") return c\r
+        }\r
+    } function Tb(b, a) {\r
+        var c = Rb(b); Fc(b, this, b); this.$$parse = function (d) { var e = oa(b, d) || oa(c, d), e = "#" == e.charAt(0) ? oa(a, e) : this.$$html5 ? e : ""; if (!x(e)) throw Sb("ihshprfx", d, a); Gc(e, this, b); d = this.$$path; var f = /^\/[A-Z]:(\/.*)/; 0 === e.indexOf(b) && (e = e.replace(b, "")); f.exec(e) || (d = (e = f.exec(d)) ? e[1] : d); this.$$path = d; this.$$compose() }; this.$$compose = function () {\r
+            var c = Db(this.$$search), e = this.$$hash ? "#" + hb(this.$$hash) : ""; this.$$url = Qb(this.$$path) + (c ? "?" + c : "") + e; this.$$absUrl =\r
+            b + (this.$$url ? a + this.$$url : "")\r
+        }; this.$$rewrite = function (a) { if (Ya(b) == Ya(a)) return a }\r
+    } function Ub(b, a) { this.$$html5 = !0; Tb.apply(this, arguments); var c = Rb(b); this.$$rewrite = function (d) { var e; if (b == Ya(d)) return d; if (e = oa(c, d)) return b + a + e; if (c === d + "/") return c }; this.$$compose = function () { var c = Db(this.$$search), e = this.$$hash ? "#" + hb(this.$$hash) : ""; this.$$url = Qb(this.$$path) + (c ? "?" + c : "") + e; this.$$absUrl = b + a + this.$$url } } function tb(b) { return function () { return this[b] } } function Ic(b, a) {\r
+        return function (c) {\r
+            if (A(c)) return this[b];\r
+            this[b] = a(c); this.$$compose(); return this\r
+        }\r
+    } function ie() {\r
+        var b = "", a = !1; this.hashPrefix = function (a) { return F(a) ? (b = a, this) : b }; this.html5Mode = function (b) { return F(b) ? (a = b, this) : a }; this.$get = ["$rootScope", "$browser", "$sniffer", "$rootElement", function (c, d, e, f) {\r
+            function g(a) { c.$broadcast("$locationChangeSuccess", h.absUrl(), a) } var h, m, k = d.baseHref(), l = d.url(), p; a ? (p = l.substring(0, l.indexOf("/", l.indexOf("//") + 2)) + (k || "/"), m = e.history ? Hc : Ub) : (p = Ya(l), m = Tb); h = new m(p, "#" + b); h.$$parse(h.$$rewrite(l)); f.on("click",\r
+            function (a) {\r
+                if (!a.ctrlKey && !a.metaKey && 2 != a.which) {\r
+                    for (var e = y(a.target) ; "a" !== u(e[0].nodeName) ;) if (e[0] === f[0] || !(e = e.parent())[0]) return; var g = e.prop("href"); R(g) && "[object SVGAnimatedString]" === g.toString() && (g = ta(g.animVal).href); if (m === Ub) {\r
+                        var k = e.attr("href") || e.attr("xlink:href"); if (0 > k.indexOf("://")) if (g = "#" + b, "/" == k[0]) g = p + g + k; else if ("#" == k[0]) g = p + g + (h.path() || "/") + k; else {\r
+                            for (var l = h.path().split("/"), k = k.split("/"), n = 0; n < k.length; n++) "." != k[n] && (".." == k[n] ? l.pop() : k[n].length && l.push(k[n]));\r
+                            g = p + g + l.join("/")\r
+                        }\r
+                    } l = h.$$rewrite(g); g && (!e.attr("target") && l && !a.isDefaultPrevented()) && (a.preventDefault(), l != d.url() && (h.$$parse(l), c.$apply(), N.angular["ff-684208-preventDefault"] = !0))\r
+                }\r
+            }); h.absUrl() != l && d.url(h.absUrl(), !0); d.onUrlChange(function (a) { h.absUrl() != a && (c.$evalAsync(function () { var b = h.absUrl(); h.$$parse(a); c.$broadcast("$locationChangeStart", a, b).defaultPrevented ? (h.$$parse(b), d.url(b)) : g(b) }), c.$$phase || c.$digest()) }); var n = 0; c.$watch(function () {\r
+                var a = d.url(), b = h.$$replace; n && a == h.absUrl() ||\r
+                (n++, c.$evalAsync(function () { c.$broadcast("$locationChangeStart", h.absUrl(), a).defaultPrevented ? h.$$parse(a) : (d.url(h.absUrl(), b), g(a)) })); h.$$replace = !1; return n\r
+            }); return h\r
+        }]\r
+    } function je() {\r
+        var b = !0, a = this; this.debugEnabled = function (a) { return F(a) ? (b = a, this) : b }; this.$get = ["$window", function (c) {\r
+            function d(a) { a instanceof Error && (a.stack ? a = a.message && -1 === a.stack.indexOf(a.message) ? "Error: " + a.message + "\n" + a.stack : a.stack : a.sourceURL && (a = a.message + "\n" + a.sourceURL + ":" + a.line)); return a } function e(a) {\r
+                var b =\r
+                c.console || {}, e = b[a] || b.log || D; a = !1; try { a = !!e.apply } catch (m) { } return a ? function () { var a = []; q(arguments, function (b) { a.push(d(b)) }); return e.apply(b, a) } : function (a, b) { e(a, null == b ? "" : b) }\r
+            } return { log: e("log"), info: e("info"), warn: e("warn"), error: e("error"), debug: function () { var c = e("debug"); return function () { b && c.apply(a, arguments) } }() }\r
+        }]\r
+    } function ea(b, a) { if ("constructor" === b) throw Ba("isecfld", a); return b } function Za(b, a) {\r
+        if (b) {\r
+            if (b.constructor === b) throw Ba("isecfn", a); if (b.document && b.location && b.alert &&\r
+            b.setInterval) throw Ba("isecwindow", a); if (b.children && (b.nodeName || b.prop && b.attr && b.find)) throw Ba("isecdom", a);\r
+        } return b\r
+    } function ub(b, a, c, d, e) { e = e || {}; a = a.split("."); for (var f, g = 0; 1 < a.length; g++) { f = ea(a.shift(), d); var h = b[f]; h || (h = {}, b[f] = h); b = h; b.then && e.unwrapPromises && (ua(d), "$$v" in b || function (a) { a.then(function (b) { a.$$v = b }) }(b), b.$$v === s && (b.$$v = {}), b = b.$$v) } f = ea(a.shift(), d); return b[f] = c } function Jc(b, a, c, d, e, f, g) {\r
+        ea(b, f); ea(a, f); ea(c, f); ea(d, f); ea(e, f); return g.unwrapPromises ? function (g,\r
+        m) {\r
+            var k = m && m.hasOwnProperty(b) ? m : g, l; if (null == k) return k; (k = k[b]) && k.then && (ua(f), "$$v" in k || (l = k, l.$$v = s, l.then(function (a) { l.$$v = a })), k = k.$$v); if (!a) return k; if (null == k) return s; (k = k[a]) && k.then && (ua(f), "$$v" in k || (l = k, l.$$v = s, l.then(function (a) { l.$$v = a })), k = k.$$v); if (!c) return k; if (null == k) return s; (k = k[c]) && k.then && (ua(f), "$$v" in k || (l = k, l.$$v = s, l.then(function (a) { l.$$v = a })), k = k.$$v); if (!d) return k; if (null == k) return s; (k = k[d]) && k.then && (ua(f), "$$v" in k || (l = k, l.$$v = s, l.then(function (a) {\r
+                l.$$v =\r
+                a\r
+            })), k = k.$$v); if (!e) return k; if (null == k) return s; (k = k[e]) && k.then && (ua(f), "$$v" in k || (l = k, l.$$v = s, l.then(function (a) { l.$$v = a })), k = k.$$v); return k\r
+        } : function (f, g) { var k = g && g.hasOwnProperty(b) ? g : f; if (null == k) return k; k = k[b]; if (!a) return k; if (null == k) return s; k = k[a]; if (!c) return k; if (null == k) return s; k = k[c]; if (!d) return k; if (null == k) return s; k = k[d]; return e ? null == k ? s : k = k[e] : k }\r
+    } function Me(b, a) { ea(b, a); return function (a, d) { return null == a ? s : (d && d.hasOwnProperty(b) ? d : a)[b] } } function Ne(b, a, c) {\r
+        ea(b, c); ea(a,\r
+        c); return function (c, e) { if (null == c) return s; c = (e && e.hasOwnProperty(b) ? e : c)[b]; return null == c ? s : c[a] }\r
+    } function Kc(b, a, c) {\r
+        if (Vb.hasOwnProperty(b)) return Vb[b]; var d = b.split("."), e = d.length, f; if (a.unwrapPromises || 1 !== e) if (a.unwrapPromises || 2 !== e) if (a.csp) f = 6 > e ? Jc(d[0], d[1], d[2], d[3], d[4], c, a) : function (b, f) { var g = 0, h; do h = Jc(d[g++], d[g++], d[g++], d[g++], d[g++], c, a)(b, f), f = s, b = h; while (g < e); return h }; else {\r
+            var g = "var p;\n"; q(d, function (b, d) {\r
+                ea(b, c); g += "if(s == null) return undefined;\ns=" + (d ? "s" : '((k&&k.hasOwnProperty("' +\r
+                b + '"))?k:s)') + '["' + b + '"];\n' + (a.unwrapPromises ? 'if (s && s.then) {\n pw("' + c.replace(/(["\r\n])/g, "\\$1") + '");\n if (!("$$v" in s)) {\n p=s;\n p.$$v = undefined;\n p.then(function(v) {p.$$v=v;});\n}\n s=s.$$v\n}\n' : "")\r
+            }); var g = g + "return s;", h = new Function("s", "k", "pw", g); h.toString = $(g); f = a.unwrapPromises ? function (a, b) { return h(a, b, ua) } : h\r
+        } else f = Ne(d[0], d[1], c); else f = Me(d[0], c); "hasOwnProperty" !== b && (Vb[b] = f); return f\r
+    } function ke() {\r
+        var b = {}, a = { csp: !1, unwrapPromises: !1, logPromiseWarnings: !0 }; this.unwrapPromises =\r
+        function (b) { return F(b) ? (a.unwrapPromises = !!b, this) : a.unwrapPromises }; this.logPromiseWarnings = function (b) { return F(b) ? (a.logPromiseWarnings = b, this) : a.logPromiseWarnings }; this.$get = ["$filter", "$sniffer", "$log", function (c, d, e) {\r
+            a.csp = d.csp; ua = function (b) { a.logPromiseWarnings && !Lc.hasOwnProperty(b) && (Lc[b] = !0, e.warn("[$parse] Promise found in the expression `" + b + "`. Automatic unwrapping of promises in Angular expressions is deprecated.")) }; return function (d) {\r
+                var e; switch (typeof d) {\r
+                    case "string": if (b.hasOwnProperty(d)) return b[d];\r
+                        e = new Wb(a); e = (new $a(e, c, a)).parse(d, !1); "hasOwnProperty" !== d && (b[d] = e); return e; case "function": return d; default: return D\r
+                }\r
+            }\r
+        }]\r
+    } function me() { this.$get = ["$rootScope", "$exceptionHandler", function (b, a) { return Oe(function (a) { b.$evalAsync(a) }, a) }] } function Oe(b, a) {\r
+        function c(a) { return a } function d(a) { return g(a) } var e = function () {\r
+            var g = [], k, l; return l = {\r
+                resolve: function (a) { if (g) { var c = g; g = s; k = f(a); c.length && b(function () { for (var a, b = 0, d = c.length; b < d; b++) a = c[b], k.then(a[0], a[1], a[2]) }) } }, reject: function (a) { l.resolve(h(a)) },\r
+                notify: function (a) { if (g) { var c = g; g.length && b(function () { for (var b, d = 0, e = c.length; d < e; d++) b = c[d], b[2](a) }) } }, promise: {\r
+                    then: function (b, f, h) { var l = e(), J = function (d) { try { l.resolve((O(b) ? b : c)(d)) } catch (e) { l.reject(e), a(e) } }, E = function (b) { try { l.resolve((O(f) ? f : d)(b)) } catch (c) { l.reject(c), a(c) } }, B = function (b) { try { l.notify((O(h) ? h : c)(b)) } catch (d) { a(d) } }; g ? g.push([J, E, B]) : k.then(J, E, B); return l.promise }, "catch": function (a) { return this.then(null, a) }, "finally": function (a) {\r
+                        function b(a, c) {\r
+                            var d = e(); c ? d.resolve(a) :\r
+                            d.reject(a); return d.promise\r
+                        } function d(e, f) { var g = null; try { g = (a || c)() } catch (h) { return b(h, !1) } return g && O(g.then) ? g.then(function () { return b(e, f) }, function (a) { return b(a, !1) }) : b(e, f) } return this.then(function (a) { return d(a, !0) }, function (a) { return d(a, !1) })\r
+                    }\r
+                }\r
+            }\r
+        }, f = function (a) { return a && O(a.then) ? a : { then: function (c) { var d = e(); b(function () { d.resolve(c(a)) }); return d.promise } } }, g = function (a) { var b = e(); b.reject(a); return b.promise }, h = function (c) {\r
+            return {\r
+                then: function (f, g) {\r
+                    var h = e(); b(function () {\r
+                        try {\r
+                            h.resolve((O(g) ?\r
+                                g : d)(c))\r
+                        } catch (b) { h.reject(b), a(b) }\r
+                    }); return h.promise\r
+                }\r
+            }\r
+        }; return {\r
+            defer: e, reject: g, when: function (h, k, l, p) { var n = e(), r, t = function (b) { try { return (O(k) ? k : c)(b) } catch (d) { return a(d), g(d) } }, J = function (b) { try { return (O(l) ? l : d)(b) } catch (c) { return a(c), g(c) } }, E = function (b) { try { return (O(p) ? p : c)(b) } catch (d) { a(d) } }; b(function () { f(h).then(function (a) { r || (r = !0, n.resolve(f(a).then(t, J, E))) }, function (a) { r || (r = !0, n.resolve(J(a))) }, function (a) { r || n.notify(E(a)) }) }); return n.promise }, all: function (a) {\r
+                var b = e(), c = 0, d = M(a) ?\r
+                [] : {}; q(a, function (a, e) { c++; f(a).then(function (a) { d.hasOwnProperty(e) || (d[e] = a, --c || b.resolve(d)) }, function (a) { d.hasOwnProperty(e) || b.reject(a) }) }); 0 === c && b.resolve(d); return b.promise\r
+            }\r
+        }\r
+    } function te() {\r
+        this.$get = ["$window", "$timeout", function (b, a) {\r
+            var c = b.requestAnimationFrame || b.webkitRequestAnimationFrame || b.mozRequestAnimationFrame, d = b.cancelAnimationFrame || b.webkitCancelAnimationFrame || b.mozCancelAnimationFrame || b.webkitCancelRequestAnimationFrame, e = !!c, f = e ? function (a) { var b = c(a); return function () { d(b) } } :\r
+            function (b) { var c = a(b, 16.66, !1); return function () { a.cancel(c) } }; f.supported = e; return f\r
+        }]\r
+    } function le() {\r
+        var b = 10, a = I("$rootScope"), c = null; this.digestTtl = function (a) { arguments.length && (b = a); return b }; this.$get = ["$injector", "$exceptionHandler", "$parse", "$browser", function (d, e, f, g) {\r
+            function h() {\r
+                this.$id = db(); this.$$phase = this.$parent = this.$$watchers = this.$$nextSibling = this.$$prevSibling = this.$$childHead = this.$$childTail = null; this["this"] = this.$root = this; this.$$destroyed = !1; this.$$asyncQueue = []; this.$$postDigestQueue =\r
+                []; this.$$listeners = {}; this.$$listenerCount = {}; this.$$isolateBindings = {}\r
+            } function m(b) { if (n.$$phase) throw a("inprog", n.$$phase); n.$$phase = b } function k(a, b) { var c = f(a); Ra(c, b); return c } function l(a, b, c) { do a.$$listenerCount[c] -= b, 0 === a.$$listenerCount[c] && delete a.$$listenerCount[c]; while (a = a.$parent) } function p() { } h.prototype = {\r
+                constructor: h, $new: function (a) {\r
+                    a ? (a = new h, a.$root = this.$root, a.$$asyncQueue = this.$$asyncQueue, a.$$postDigestQueue = this.$$postDigestQueue) : (this.$$childScopeClass || (this.$$childScopeClass =\r
+                    function () { this.$$watchers = this.$$nextSibling = this.$$childHead = this.$$childTail = null; this.$$listeners = {}; this.$$listenerCount = {}; this.$id = db(); this.$$childScopeClass = null }, this.$$childScopeClass.prototype = this), a = new this.$$childScopeClass); a["this"] = a; a.$parent = this; a.$$prevSibling = this.$$childTail; this.$$childHead ? this.$$childTail = this.$$childTail.$$nextSibling = a : this.$$childHead = this.$$childTail = a; return a\r
+                }, $watch: function (a, b, d) {\r
+                    var e = k(a, "watch"), f = this.$$watchers, g = {\r
+                        fn: b, last: p, get: e, exp: a,\r
+                        eq: !!d\r
+                    }; c = null; if (!O(b)) { var h = k(b || D, "listener"); g.fn = function (a, b, c) { h(c) } } if ("string" == typeof a && e.constant) { var m = g.fn; g.fn = function (a, b, c) { m.call(this, a, b, c); Ea(f, g) } } f || (f = this.$$watchers = []); f.unshift(g); return function () { Ea(f, g); c = null }\r
+                }, $watchGroup: function (a, b) { var c = Array(a.length), d = Array(a.length), e = [], f = 0, g = this; q(a, function (a, b) { e.push(g.$watch(a, function (a, e) { d[b] = a; c[b] = e; f++ })) }, this); e.push(g.$watch(function () { return f }, function () { b(d, c, g) })); return function () { q(e, function (a) { a() }) } },\r
+                $watchCollection: function (a, b) {\r
+                    var c = this, d, e, g, h = 1 < b.length, k = 0, m = f(a), l = [], n = {}, p = !0, q = 0; return this.$watch(function () {\r
+                        d = m(c); var a, b; if (R(d)) if (cb(d)) for (e !== l && (e = l, q = e.length = 0, k++), a = d.length, q !== a && (k++, e.length = q = a), b = 0; b < a; b++) e[b] !== e[b] && d[b] !== d[b] || e[b] === d[b] || (k++, e[b] = d[b]); else {\r
+                            e !== n && (e = n = {}, q = 0, k++); a = 0; for (b in d) d.hasOwnProperty(b) && (a++, e.hasOwnProperty(b) ? e[b] !== d[b] && (k++, e[b] = d[b]) : (q++, e[b] = d[b], k++)); if (q > a) for (b in k++, e) e.hasOwnProperty(b) && !d.hasOwnProperty(b) && (q--,\r
+                            delete e[b])\r
+                        } else e !== d && (e = d, k++); return k\r
+                    }, function () { p ? (p = !1, b(d, d, c)) : b(d, g, c); if (h) if (R(d)) if (cb(d)) { g = Array(d.length); for (var a = 0; a < d.length; a++) g[a] = d[a] } else for (a in g = {}, d) Mc.call(d, a) && (g[a] = d[a]); else g = d })\r
+                }, $digest: function () {\r
+                    var d, f, g, h, k = this.$$asyncQueue, l = this.$$postDigestQueue, q, v, s = b, K, L = [], y, G, C; m("$digest"); c = null; do {\r
+                        v = !1; for (K = this; k.length;) { try { C = k.shift(), C.scope.$eval(C.expression) } catch (F) { n.$$phase = null, e(F) } c = null }a: do {\r
+                            if (h = K.$$watchers) for (q = h.length; q--;) try {\r
+                                if (d = h[q]) if ((f =\r
+                                d.get(K)) !== (g = d.last) && !(d.eq ? ya(f, g) : "number" == typeof f && "number" == typeof g && isNaN(f) && isNaN(g))) v = !0, c = d, d.last = d.eq ? aa(f) : f, d.fn(f, g === p ? f : g, K), 5 > s && (y = 4 - s, L[y] || (L[y] = []), G = O(d.exp) ? "fn: " + (d.exp.name || d.exp.toString()) : d.exp, G += "; newVal: " + sa(f) + "; oldVal: " + sa(g), L[y].push(G)); else if (d === c) { v = !1; break a }\r
+                            } catch (u) { n.$$phase = null, e(u) } if (!(h = K.$$childHead || K !== this && K.$$nextSibling)) for (; K !== this && !(h = K.$$nextSibling) ;) K = K.$parent\r
+                        } while (K = h); if ((v || k.length) && !s--) throw n.$$phase = null, a("infdig",\r
+                        b, sa(L));\r
+                    } while (v || k.length); for (n.$$phase = null; l.length;) try { l.shift()() } catch (x) { e(x) }\r
+                }, $destroy: function () {\r
+                    if (!this.$$destroyed) {\r
+                        var a = this.$parent; this.$broadcast("$destroy"); this.$$destroyed = !0; this !== n && (q(this.$$listenerCount, gb(null, l, this)), a.$$childHead == this && (a.$$childHead = this.$$nextSibling), a.$$childTail == this && (a.$$childTail = this.$$prevSibling), this.$$prevSibling && (this.$$prevSibling.$$nextSibling = this.$$nextSibling), this.$$nextSibling && (this.$$nextSibling.$$prevSibling = this.$$prevSibling),\r
+                        this.$parent = this.$$nextSibling = this.$$prevSibling = this.$$childHead = this.$$childTail = this.$root = null, this.$$listeners = {}, this.$$watchers = this.$$asyncQueue = this.$$postDigestQueue = [], this.$destroy = this.$digest = this.$apply = D, this.$on = this.$watch = this.$watchGroup = function () { return D })\r
+                    }\r
+                }, $eval: function (a, b) { return f(a)(this, b) }, $evalAsync: function (a) { n.$$phase || n.$$asyncQueue.length || g.defer(function () { n.$$asyncQueue.length && n.$digest() }); this.$$asyncQueue.push({ scope: this, expression: a }) }, $$postDigest: function (a) { this.$$postDigestQueue.push(a) },\r
+                $apply: function (a) { try { return m("$apply"), this.$eval(a) } catch (b) { e(b) } finally { n.$$phase = null; try { n.$digest() } catch (c) { throw e(c), c; } } }, $on: function (a, b) { var c = this.$$listeners[a]; c || (this.$$listeners[a] = c = []); c.push(b); var d = this; do d.$$listenerCount[a] || (d.$$listenerCount[a] = 0), d.$$listenerCount[a]++; while (d = d.$parent); var e = this; return function () { c[fb(c, b)] = null; l(e, 1, a) } }, $emit: function (a, b) {\r
+                    var c = [], d, f = this, g = !1, h = {\r
+                        name: a, targetScope: f, stopPropagation: function () { g = !0 }, preventDefault: function () {\r
+                            h.defaultPrevented =\r
+                            !0\r
+                        }, defaultPrevented: !1\r
+                    }, k = [h].concat(ra.call(arguments, 1)), m, l; do { d = f.$$listeners[a] || c; h.currentScope = f; m = 0; for (l = d.length; m < l; m++) if (d[m]) try { d[m].apply(null, k) } catch (n) { e(n) } else d.splice(m, 1), m--, l--; if (g) break; f = f.$parent } while (f); return h\r
+                }, $broadcast: function (a, b) {\r
+                    for (var c = this, d = this, f = { name: a, targetScope: this, preventDefault: function () { f.defaultPrevented = !0 }, defaultPrevented: !1 }, g = [f].concat(ra.call(arguments, 1)), h, k; c = d;) {\r
+                        f.currentScope = c; d = c.$$listeners[a] || []; h = 0; for (k = d.length; h < k; h++) if (d[h]) try {\r
+                            d[h].apply(null,\r
+                            g)\r
+                        } catch (m) { e(m) } else d.splice(h, 1), h--, k--; if (!(d = c.$$listenerCount[a] && c.$$childHead || c !== this && c.$$nextSibling)) for (; c !== this && !(d = c.$$nextSibling) ;) c = c.$parent\r
+                    } return f\r
+                }\r
+            }; var n = new h; return n\r
+        }]\r
+    } function od() {\r
+        var b = /^\s*(https?|ftp|mailto|tel|file):/, a = /^\s*(https?|ftp|file|blob):|data:image\//; this.aHrefSanitizationWhitelist = function (a) { return F(a) ? (b = a, this) : b }; this.imgSrcSanitizationWhitelist = function (b) { return F(b) ? (a = b, this) : a }; this.$get = function () {\r
+            return function (c, d) {\r
+                var e = d ? a : b, f; if (!P ||\r
+                8 <= P) if (f = ta(c).href, "" !== f && !f.match(e)) return "unsafe:" + f; return c\r
+            }\r
+        }\r
+    } function Pe(b) { if ("self" === b) return b; if (x(b)) { if (-1 < b.indexOf("***")) throw va("iwcard", b); b = b.replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g, "\\$1").replace(/\x08/g, "\\x08").replace("\\*\\*", ".*").replace("\\*", "[^:/.?&;]*"); return RegExp("^" + b + "$") } if (eb(b)) return RegExp("^" + b.source + "$"); throw va("imatcher"); } function Nc(b) { var a = []; F(b) && q(b, function (b) { a.push(Pe(b)) }); return a } function oe() {\r
+        this.SCE_CONTEXTS = fa; var b = ["self"], a = [];\r
+        this.resourceUrlWhitelist = function (a) { arguments.length && (b = Nc(a)); return b }; this.resourceUrlBlacklist = function (b) { arguments.length && (a = Nc(b)); return a }; this.$get = ["$injector", function (c) {\r
+            function d(a) { var b = function (a) { this.$$unwrapTrustedValue = function () { return a } }; a && (b.prototype = new a); b.prototype.valueOf = function () { return this.$$unwrapTrustedValue() }; b.prototype.toString = function () { return this.$$unwrapTrustedValue().toString() }; return b } var e = function (a) { throw va("unsafe"); }; c.has("$sanitize") &&\r
+            (e = c.get("$sanitize")); var f = d(), g = {}; g[fa.HTML] = d(f); g[fa.CSS] = d(f); g[fa.URL] = d(f); g[fa.JS] = d(f); g[fa.RESOURCE_URL] = d(g[fa.URL]); return {\r
+                trustAs: function (a, b) { var c = g.hasOwnProperty(a) ? g[a] : null; if (!c) throw va("icontext", a, b); if (null === b || b === s || "" === b) return b; if ("string" !== typeof b) throw va("itype", a); return new c(b) }, getTrusted: function (c, d) {\r
+                    if (null === d || d === s || "" === d) return d; var f = g.hasOwnProperty(c) ? g[c] : null; if (f && d instanceof f) return d.$$unwrapTrustedValue(); if (c === fa.RESOURCE_URL) {\r
+                        var f =\r
+                        ta(d.toString()), l, p, n = !1; l = 0; for (p = b.length; l < p; l++) if ("self" === b[l] ? Pb(f) : b[l].exec(f.href)) { n = !0; break } if (n) for (l = 0, p = a.length; l < p; l++) if ("self" === a[l] ? Pb(f) : a[l].exec(f.href)) { n = !1; break } if (n) return d; throw va("insecurl", d.toString());\r
+                    } if (c === fa.HTML) return e(d); throw va("unsafe");\r
+                }, valueOf: function (a) { return a instanceof f ? a.$$unwrapTrustedValue() : a }\r
+            }\r
+        }]\r
+    } function ne() {\r
+        var b = !0; this.enabled = function (a) { arguments.length && (b = !!a); return b }; this.$get = ["$parse", "$sniffer", "$sceDelegate", function (a,\r
+        c, d) {\r
+            if (b && c.msie && 8 > c.msieDocumentMode) throw va("iequirks"); var e = aa(fa); e.isEnabled = function () { return b }; e.trustAs = d.trustAs; e.getTrusted = d.getTrusted; e.valueOf = d.valueOf; b || (e.trustAs = e.getTrusted = function (a, b) { return b }, e.valueOf = Da); e.parseAs = function (b, c) { var d = a(c); return d.literal && d.constant ? d : function (a, c) { return e.getTrusted(b, d(a, c)) } }; var f = e.parseAs, g = e.getTrusted, h = e.trustAs; q(fa, function (a, b) {\r
+                var c = u(b); e[Ta("parse_as_" + c)] = function (b) { return f(a, b) }; e[Ta("get_trusted_" + c)] = function (b) {\r
+                    return g(a,\r
+                    b)\r
+                }; e[Ta("trust_as_" + c)] = function (b) { return h(a, b) }\r
+            }); return e\r
+        }]\r
+    } function pe() {\r
+        this.$get = ["$window", "$document", function (b, a) {\r
+            var c = {}, d = Q((/android (\d+)/.exec(u((b.navigator || {}).userAgent)) || [])[1]), e = /Boxee/i.test((b.navigator || {}).userAgent), f = a[0] || {}, g = f.documentMode, h, m = /^(Moz|webkit|O|ms)(?=[A-Z])/, k = f.body && f.body.style, l = !1, p = !1; if (k) {\r
+                for (var n in k) if (l = m.exec(n)) { h = l[0]; h = h.substr(0, 1).toUpperCase() + h.substr(1); break } h || (h = "WebkitOpacity" in k && "webkit"); l = !!("transition" in k || h + "Transition" in\r
+                k); p = !!("animation" in k || h + "Animation" in k); !d || l && p || (l = x(f.body.style.webkitTransition), p = x(f.body.style.webkitAnimation))\r
+            } return { history: !(!b.history || !b.history.pushState || 4 > d || e), hashchange: "onhashchange" in b && (!g || 7 < g), hasEvent: function (a) { if ("input" == a && 9 == P) return !1; if (A(c[a])) { var b = f.createElement("div"); c[a] = "on" + a in b } return c[a] }, csp: dc(), vendorPrefix: h, transitions: l, animations: p, android: d, msie: P, msieDocumentMode: g }\r
+        }]\r
+    } function re() {\r
+        this.$get = ["$rootScope", "$browser", "$q", "$exceptionHandler",\r
+        function (b, a, c, d) { function e(e, h, m) { var k = c.defer(), l = k.promise, p = F(m) && !m; h = a.defer(function () { try { k.resolve(e()) } catch (a) { k.reject(a), d(a) } finally { delete f[l.$$timeoutId] } p || b.$apply() }, h); l.$$timeoutId = h; f[h] = k; return l } var f = {}; e.cancel = function (b) { return b && b.$$timeoutId in f ? (f[b.$$timeoutId].reject("canceled"), delete f[b.$$timeoutId], a.defer.cancel(b.$$timeoutId)) : !1 }; return e }]\r
+    } function ta(b, a) {\r
+        var c = b; P && (V.setAttribute("href", c), c = V.href); V.setAttribute("href", c); return {\r
+            href: V.href, protocol: V.protocol ?\r
+            V.protocol.replace(/:$/, "") : "", host: V.host, search: V.search ? V.search.replace(/^\?/, "") : "", hash: V.hash ? V.hash.replace(/^#/, "") : "", hostname: V.hostname, port: V.port, pathname: "/" === V.pathname.charAt(0) ? V.pathname : "/" + V.pathname\r
+        }\r
+    } function Pb(b) { b = x(b) ? ta(b) : b; return b.protocol === Oc.protocol && b.host === Oc.host } function se() { this.$get = $(N) } function oc(b) {\r
+        function a(d, e) { if (R(d)) { var f = {}; q(d, function (b, c) { f[c] = a(c, b) }); return f } return b.factory(d + c, e) } var c = "Filter"; this.register = a; this.$get = ["$injector", function (a) {\r
+            return function (b) {\r
+                return a.get(b +\r
+                c)\r
+            }\r
+        }]; a("currency", Pc); a("date", Qc); a("filter", Qe); a("json", Re); a("limitTo", Se); a("lowercase", Te); a("number", Rc); a("orderBy", Sc); a("uppercase", Ue)\r
+    } function Qe() {\r
+        return function (b, a, c) {\r
+            if (!M(b)) return b; var d = typeof c, e = []; e.check = function (a) { for (var b = 0; b < e.length; b++) if (!e[b](a)) return !1; return !0 }; "function" !== d && (c = "boolean" === d && c ? function (a, b) { return Qa.equals(a, b) } : function (a, b) {\r
+                if (a && b && "object" === typeof a && "object" === typeof b) {\r
+                    for (var d in a) if ("$" !== d.charAt(0) && Mc.call(a, d) && c(a[d], b[d])) return !0;\r
+                    return !1\r
+                } b = ("" + b).toLowerCase(); return -1 < ("" + a).toLowerCase().indexOf(b)\r
+            }); var f = function (a, b) { if ("string" == typeof b && "!" === b.charAt(0)) return !f(a, b.substr(1)); switch (typeof a) { case "boolean": case "number": case "string": return c(a, b); case "object": switch (typeof b) { case "object": return c(a, b); default: for (var d in a) if ("$" !== d.charAt(0) && f(a[d], b)) return !0 } return !1; case "array": for (d = 0; d < a.length; d++) if (f(a[d], b)) return !0; return !1; default: return !1 } }; switch (typeof a) {\r
+                case "boolean": case "number": case "string": a =\r
+                { $: a }; case "object": for (var g in a) (function (b) { "undefined" != typeof a[b] && e.push(function (c) { return f("$" == b ? c : c && c[b], a[b]) }) })(g); break; case "function": e.push(a); break; default: return b\r
+            } d = []; for (g = 0; g < b.length; g++) { var h = b[g]; e.check(h) && d.push(h) } return d\r
+        }\r
+    } function Pc(b) { var a = b.NUMBER_FORMATS; return function (b, d) { A(d) && (d = a.CURRENCY_SYM); return Tc(b, a.PATTERNS[1], a.GROUP_SEP, a.DECIMAL_SEP, 2).replace(/\u00A4/g, d) } } function Rc(b) {\r
+        var a = b.NUMBER_FORMATS; return function (b, d) {\r
+            return Tc(b, a.PATTERNS[0],\r
+            a.GROUP_SEP, a.DECIMAL_SEP, d)\r
+        }\r
+    } function Tc(b, a, c, d, e) {\r
+        if (null == b || !isFinite(b) || R(b)) return ""; var f = 0 > b; b = Math.abs(b); var g = b + "", h = "", m = [], k = !1; if (-1 !== g.indexOf("e")) { var l = g.match(/([\d\.]+)e(-?)(\d+)/); l && "-" == l[2] && l[3] > e + 1 ? g = "0" : (h = g, k = !0) } if (k) 0 < e && (-1 < b && 1 > b) && (h = b.toFixed(e)); else {\r
+            g = (g.split(Uc)[1] || "").length; A(e) && (e = Math.min(Math.max(a.minFrac, g), a.maxFrac)); g = Math.pow(10, e); b = Math.round(b * g) / g; b = ("" + b).split(Uc); g = b[0]; b = b[1] || ""; var l = 0, p = a.lgSize, n = a.gSize; if (g.length >= p + n) for (l = g.length -\r
+            p, k = 0; k < l; k++) 0 === (l - k) % n && 0 !== k && (h += c), h += g.charAt(k); for (k = l; k < g.length; k++) 0 === (g.length - k) % p && 0 !== k && (h += c), h += g.charAt(k); for (; b.length < e;) b += "0"; e && "0" !== e && (h += d + b.substr(0, e))\r
+        } m.push(f ? a.negPre : a.posPre); m.push(h); m.push(f ? a.negSuf : a.posSuf); return m.join("")\r
+    } function vb(b, a, c) { var d = ""; 0 > b && (d = "-", b = -b); for (b = "" + b; b.length < a;) b = "0" + b; c && (b = b.substr(b.length - a)); return d + b } function X(b, a, c, d) { c = c || 0; return function (e) { e = e["get" + b](); if (0 < c || e > -c) e += c; 0 === e && -12 == c && (e = 12); return vb(e, a, d) } }\r
+    function wb(b, a) { return function (c, d) { var e = c["get" + b](), f = Fa(a ? "SHORT" + b : b); return d[f][e] } } function Vc(b) { var a = (new Date(b, 0, 1)).getDay(); return new Date(b, 0, (4 >= a ? 5 : 12) - a) } function Wc(b) { return function (a) { var c = Vc(a.getFullYear()); a = +new Date(a.getFullYear(), a.getMonth(), a.getDate() + (4 - a.getDay())) - +c; a = 1 + Math.round(a / 6048E5); return vb(a, b) } } function Qc(b) {\r
+        function a(a) {\r
+            var b; if (b = a.match(c)) {\r
+                a = new Date(0); var f = 0, g = 0, h = b[8] ? a.setUTCFullYear : a.setFullYear, m = b[8] ? a.setUTCHours : a.setHours; b[9] &&\r
+                (f = Q(b[9] + b[10]), g = Q(b[9] + b[11])); h.call(a, Q(b[1]), Q(b[2]) - 1, Q(b[3])); f = Q(b[4] || 0) - f; g = Q(b[5] || 0) - g; h = Q(b[6] || 0); b = Math.round(1E3 * parseFloat("0." + (b[7] || 0))); m.call(a, f, g, h, b)\r
+            } return a\r
+        } var c = /^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/; return function (c, e) {\r
+            var f = "", g = [], h, m; e = e || "mediumDate"; e = b.DATETIME_FORMATS[e] || e; x(c) && (c = Ve.test(c) ? Q(c) : a(c)); Cb(c) && (c = new Date(c)); if (!qa(c)) return c; for (; e;) (m = We.exec(e)) ? (g = g.concat(ra.call(m, 1)), e =\r
+            g.pop()) : (g.push(e), e = null); q(g, function (a) { h = Xe[a]; f += h ? h(c, b.DATETIME_FORMATS) : a.replace(/(^'|'$)/g, "").replace(/''/g, "'") }); return f\r
+        }\r
+    } function Re() { return function (b) { return sa(b, !0) } } function Se() { return function (b, a) { if (!M(b) && !x(b)) return b; a = Infinity === Math.abs(Number(a)) ? Number(a) : Q(a); if (x(b)) return a ? 0 <= a ? b.slice(0, a) : b.slice(a, b.length) : ""; var c = [], d, e; a > b.length ? a = b.length : a < -b.length && (a = -b.length); 0 < a ? (d = 0, e = a) : (d = b.length + a, e = b.length); for (; d < e; d++) c.push(b[d]); return c } } function Sc(b) {\r
+        return function (a,\r
+        c, d) {\r
+            function e(a, b) { return Pa(b) ? function (b, c) { return a(c, b) } : a } function f(a, b) { var c = typeof a, d = typeof b; return c == d ? ("string" == c && (a = a.toLowerCase(), b = b.toLowerCase()), a === b ? 0 : a < b ? -1 : 1) : c < d ? -1 : 1 } if (!M(a) || !c) return a; c = M(c) ? c : [c]; c = fd(c, function (a) { var c = !1, d = a || Da; if (x(a)) { if ("+" == a.charAt(0) || "-" == a.charAt(0)) c = "-" == a.charAt(0), a = a.substring(1); d = b(a); if (d.constant) { var g = d(); return e(function (a, b) { return f(a[g], b[g]) }, c) } } return e(function (a, b) { return f(d(a), d(b)) }, c) }); for (var g = [], h = 0; h < a.length; h++) g.push(a[h]);\r
+            return g.sort(e(function (a, b) { for (var d = 0; d < c.length; d++) { var e = c[d](a, b); if (0 !== e) return e } return 0 }, d))\r
+        }\r
+    } function wa(b) { O(b) && (b = { link: b }); b.restrict = b.restrict || "AC"; return $(b) } function Xc(b, a, c, d) {\r
+        function e(a, c) { c = c ? "-" + ib(c, "-") : ""; d.removeClass(b, (a ? xb : yb) + c); d.addClass(b, (a ? yb : xb) + c) } var f = this, g = b.parent().controller("form") || zb, h = 0, m = f.$error = {}, k = []; f.$name = a.name || a.ngForm; f.$dirty = !1; f.$pristine = !0; f.$valid = !0; f.$invalid = !1; g.$addControl(f); b.addClass(Ma); e(!0); f.$addControl = function (a) {\r
+            Aa(a.$name,\r
+            "input"); k.push(a); a.$name && (f[a.$name] = a)\r
+        }; f.$removeControl = function (a) { a.$name && f[a.$name] === a && delete f[a.$name]; q(m, function (b, c) { f.$setValidity(c, !0, a) }); Ea(k, a) }; f.$setValidity = function (a, b, c) { var d = m[a]; if (b) d && (Ea(d, c), d.length || (h--, h || (e(b), f.$valid = !0, f.$invalid = !1), m[a] = !1, e(!0, a), g.$setValidity(a, !0, f))); else { h || e(b); if (d) { if (-1 != fb(d, c)) return } else m[a] = d = [], h++, e(!1, a), g.$setValidity(a, !1, f); d.push(c); f.$valid = !1; f.$invalid = !0 } }; f.$setDirty = function () {\r
+            d.removeClass(b, Ma); d.addClass(b,\r
+            Ab); f.$dirty = !0; f.$pristine = !1; g.$setDirty()\r
+        }; f.$setPristine = function () { d.removeClass(b, Ab); d.addClass(b, Ma); f.$dirty = !1; f.$pristine = !0; q(k, function (a) { a.$setPristine() }) }\r
+    } function pa(b, a, c, d) { b.$setValidity(a, c); return c ? d : s } function Ye(b, a, c) { var d = c.prop("validity"); R(d) && b.$parsers.push(function (c) { if (b.$error[a] || !(d.badInput || d.customError || d.typeMismatch) || d.valueMissing) return c; b.$setValidity(a, !1) }) } function ab(b, a, c, d, e, f) {\r
+        var g = a.prop("validity"), h = a[0].placeholder, m = {}; if (!e.android) {\r
+            var k =\r
+            !1; a.on("compositionstart", function (a) { k = !0 }); a.on("compositionend", function () { k = !1; l() })\r
+        } var l = function (e) { if (!k) { var f = a.val(), n = e && e.type; if (P && "input" === (e || m).type && a[0].placeholder !== h) h = a[0].placeholder; else if (Pa(c.ngTrim || "T") && (f = Y(f)), d.$viewValue !== f || g && "" === f && !g.valueMissing) b.$$phase ? d.$setViewValue(f, n) : b.$apply(function () { d.$setViewValue(f, n) }) } }; if (d.$options && d.$options.updateOn) a.on(d.$options.updateOn, l); if (!d.$options || d.$options.updateOnDefault) {\r
+            if (e.hasEvent("input")) a.on("input",\r
+            l); else { var p, n = function (a) { p || (p = f.defer(function () { l(a); p = null })) }; a.on("keydown", function (a) { var b = a.keyCode; 91 === b || (15 < b && 19 > b || 37 <= b && 40 >= b) || n(a) }); if (e.hasEvent("paste")) a.on("paste cut", n) } a.on("change", l)\r
+        } d.$render = function () { a.val(d.$isEmpty(d.$viewValue) ? "" : d.$viewValue) }; var r = c.ngPattern; r && ((e = r.match(/^\/(.*)\/([gim]*)$/)) ? (r = RegExp(e[1], e[2]), e = function (a) { return pa(d, "pattern", d.$isEmpty(a) || r.test(a), a) }) : e = function (c) {\r
+            var e = b.$eval(r); if (!e || !e.test) throw I("ngPattern")("noregexp",\r
+            r, e, ga(a)); return pa(d, "pattern", d.$isEmpty(c) || e.test(c), c)\r
+        }, d.$formatters.push(e), d.$parsers.push(e)); if (c.ngMinlength) { var q = Q(c.ngMinlength); e = function (a) { return pa(d, "minlength", d.$isEmpty(a) || a.length >= q, a) }; d.$parsers.push(e); d.$formatters.push(e) } if (c.ngMaxlength) { var J = Q(c.ngMaxlength); e = function (a) { return pa(d, "maxlength", d.$isEmpty(a) || a.length <= J, a) }; d.$parsers.push(e); d.$formatters.push(e) }\r
+    } function Bb(b, a) {\r
+        return function (c) {\r
+            var d; return qa(c) ? c : x(c) && (b.lastIndex = 0, c = b.exec(c)) ? (c.shift(),\r
+            d = { yyyy: 0, MM: 1, dd: 1, HH: 0, mm: 0 }, q(c, function (b, c) { c < a.length && (d[a[c]] = +b) }), new Date(d.yyyy, d.MM - 1, d.dd, d.HH, d.mm)) : NaN\r
+        }\r
+    } function bb(b, a, c, d) {\r
+        return function (e, f, g, h, m, k, l) {\r
+            ab(e, f, g, h, m, k); h.$parsers.push(function (d) { if (h.$isEmpty(d)) return h.$setValidity(b, !0), null; if (a.test(d)) return h.$setValidity(b, !0), c(d); h.$setValidity(b, !1); return s }); h.$formatters.push(function (a) { return qa(a) ? l("date")(a, d) : "" }); g.min && (e = function (a) {\r
+                var b = h.$isEmpty(a) || c(a) >= c(g.min); h.$setValidity("min", b); return b ? a :\r
+                s\r
+            }, h.$parsers.push(e), h.$formatters.push(e)); g.max && (e = function (a) { var b = h.$isEmpty(a) || c(a) <= c(g.max); h.$setValidity("max", b); return b ? a : s }, h.$parsers.push(e), h.$formatters.push(e))\r
+        }\r
+    } function Xb(b, a) {\r
+        b = "ngClass" + b; return ["$animate", function (c) {\r
+            function d(a, b) { var c = [], d = 0; a: for (; d < a.length; d++) { for (var e = a[d], l = 0; l < b.length; l++) if (e == b[l]) continue a; c.push(e) } return c } function e(a) { if (!M(a)) { if (x(a)) return a.split(" "); if (R(a)) { var b = []; q(a, function (a, c) { a && b.push(c) }); return b } } return a } return {\r
+                restrict: "AC",\r
+                link: function (f, g, h) {\r
+                    function m(a, b) { var c = g.data("$classCounts") || {}, d = []; q(a, function (a) { if (0 < b || c[a]) c[a] = (c[a] || 0) + b, c[a] === +(0 < b) && d.push(a) }); g.data("$classCounts", c); return d.join(" ") } function k(b) { if (!0 === a || f.$index % 2 === a) { var k = e(b || []); if (!l) { var q = m(k, 1); h.$addClass(q) } else if (!ya(b, l)) { var t = e(l), q = d(k, t), k = d(t, k), k = m(k, -1), q = m(q, 1); 0 === q.length ? c.removeClass(g, k) : 0 === k.length ? c.addClass(g, q) : c.setClass(g, q, k) } } l = aa(b) } var l; f.$watch(h[b], k, !0); h.$observe("class", function (a) { k(f.$eval(h[b])) });\r
+                    "ngClass" !== b && f.$watch("$index", function (c, d) { var g = c & 1; if (g !== d & 1) { var k = e(f.$eval(h[b])); g === a ? (g = m(k, 1), h.$addClass(g)) : (g = m(k, -1), h.$removeClass(g)) } })\r
+                }\r
+            }\r
+        }]\r
+    } var u = function (b) { return x(b) ? b.toLowerCase() : b }, Mc = Object.prototype.hasOwnProperty, Fa = function (b) { return x(b) ? b.toUpperCase() : b }, P, y, Ga, ra = [].slice, Ze = [].push, xa = Object.prototype.toString, Oa = I("ng"), Qa = N.angular || (N.angular = {}), Sa, La, ka = ["0", "0", "0"]; P = Q((/msie (\d+)/.exec(u(navigator.userAgent)) || [])[1]); isNaN(P) && (P = Q((/trident\/.*; rv:(\d+)/.exec(u(navigator.userAgent)) ||\r
+    [])[1])); D.$inject = []; Da.$inject = []; var Y = function () { return String.prototype.trim ? function (b) { return x(b) ? b.trim() : b } : function (b) { return x(b) ? b.replace(/^\s\s*/, "").replace(/\s\s*$/, "") : b } }(); La = 9 > P ? function (b) { b = b.nodeName ? b : b[0]; return b.scopeName && "HTML" != b.scopeName ? Fa(b.scopeName + ":" + b.nodeName) : b.nodeName } : function (b) { return b.nodeName ? b.nodeName : b[0].nodeName }; var hc = ["ng-", "data-ng-", "ng:", "x-ng-"], jd = /[A-Z]/g, md = { full: "1.3.0-beta.7", major: 1, minor: 3, dot: 0, codeName: "proper-attribution" }, Va =\r
+    U.cache = {}, jb = U.expando = "ng-" + (new Date).getTime(), Be = 1, sb = N.document.addEventListener ? function (b, a, c) { b.addEventListener(a, c, !1) } : function (b, a, c) { b.attachEvent("on" + a, c) }, Ua = N.document.removeEventListener ? function (b, a, c) { b.removeEventListener(a, c, !1) } : function (b, a, c) { b.detachEvent("on" + a, c) }; U._data = function (b) { return this.cache[b[this.expando]] || {} }; var ve = /([\:\-\_]+(.))/g, we = /^moz([A-Z])/, Kb = I("jqLite"), Ae = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, Jb = /<|&#?\w+;/, ye = /<([\w:]+)/, ze = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,\r
+    da = { option: [1, '<select multiple="multiple">', "</select>"], thead: [1, "<table>", "</table>"], col: [2, "<table><colgroup>", "</colgroup></table>"], tr: [2, "<table><tbody>", "</tbody></table>"], td: [3, "<table><tbody><tr>", "</tr></tbody></table>"], _default: [0, "", ""] }; da.optgroup = da.option; da.tbody = da.tfoot = da.colgroup = da.caption = da.thead; da.th = da.td; var Ka = U.prototype = {\r
+        ready: function (b) { function a() { c || (c = !0, b()) } var c = !1; "complete" === S.readyState ? setTimeout(a) : (this.on("DOMContentLoaded", a), U(N).on("load", a)) },\r
+        toString: function () { var b = []; q(this, function (a) { b.push("" + a) }); return "[" + b.join(", ") + "]" }, eq: function (b) { return 0 <= b ? y(this[b]) : y(this[this.length + b]) }, length: 0, push: Ze, sort: [].sort, splice: [].splice\r
+    }, nb = {}; q("multiple selected checked disabled readOnly required open".split(" "), function (b) { nb[u(b)] = b }); var wc = {}; q("input select option textarea button form details".split(" "), function (b) { wc[Fa(b)] = !0 }); q({\r
+        data: sc, inheritedData: mb, scope: function (b) {\r
+            return y(b).data("$scope") || mb(b.parentNode || b, ["$isolateScope",\r
+            "$scope"])\r
+        }, isolateScope: function (b) { return y(b).data("$isolateScope") || y(b).data("$isolateScopeNoTemplate") }, controller: tc, injector: function (b) { return mb(b, "$injector") }, removeAttr: function (b, a) { b.removeAttribute(a) }, hasClass: Mb, css: function (b, a, c) { a = Ta(a); if (F(c)) b.style[a] = c; else { var d; 8 >= P && (d = b.currentStyle && b.currentStyle[a], "" === d && (d = "auto")); d = d || b.style[a]; 8 >= P && (d = "" === d ? s : d); return d } }, attr: function (b, a, c) {\r
+            var d = u(a); if (nb[d]) if (F(c)) c ? (b[a] = !0, b.setAttribute(a, d)) : (b[a] = !1, b.removeAttribute(d));\r
+            else return b[a] || (b.attributes.getNamedItem(a) || D).specified ? d : s; else if (F(c)) b.setAttribute(a, c); else if (b.getAttribute) return b = b.getAttribute(a, 2), null === b ? s : b\r
+        }, prop: function (b, a, c) { if (F(c)) b[a] = c; else return b[a] }, text: function () { function b(b, d) { var e = a[b.nodeType]; if (A(d)) return e ? b[e] : ""; b[e] = d } var a = []; 9 > P ? (a[1] = "innerText", a[3] = "nodeValue") : a[1] = a[3] = "textContent"; b.$dv = ""; return b }(), val: function (b, a) {\r
+            if (A(a)) {\r
+                if ("SELECT" === La(b) && b.multiple) {\r
+                    var c = []; q(b.options, function (a) {\r
+                        a.selected &&\r
+                        c.push(a.value || a.text)\r
+                    }); return 0 === c.length ? null : c\r
+                } return b.value\r
+            } b.value = a\r
+        }, html: function (b, a) { if (A(a)) return b.innerHTML; for (var c = 0, d = b.childNodes; c < d.length; c++) Ha(d[c]); b.innerHTML = a }, empty: uc\r
+    }, function (b, a) {\r
+        U.prototype[a] = function (a, d) {\r
+            var e, f; if (b !== uc && (2 == b.length && b !== Mb && b !== tc ? a : d) === s) {\r
+                if (R(a)) { for (e = 0; e < this.length; e++) if (b === sc) b(this[e], a); else for (f in a) b(this[e], f, a[f]); return this } e = b.$dv; f = e === s ? Math.min(this.length, 1) : this.length; for (var g = 0; g < f; g++) {\r
+                    var h = b(this[g], a, d); e =\r
+                    e ? e + h : h\r
+                } return e\r
+            } for (e = 0; e < this.length; e++) b(this[e], a, d); return this\r
+        }\r
+    }); q({\r
+        removeData: qc, dealoc: Ha, on: function a(c, d, e, f) {\r
+            if (F(f)) throw Kb("onargs"); var g = la(c, "events"), h = la(c, "handle"); g || la(c, "events", g = {}); h || la(c, "handle", h = Ce(c, g)); q(d.split(" "), function (d) {\r
+                var f = g[d]; if (!f) {\r
+                    if ("mouseenter" == d || "mouseleave" == d) {\r
+                        var l = S.body.contains || S.body.compareDocumentPosition ? function (a, c) {\r
+                            var d = 9 === a.nodeType ? a.documentElement : a, e = c && c.parentNode; return a === e || !!(e && 1 === e.nodeType && (d.contains ? d.contains(e) :\r
+                            a.compareDocumentPosition && a.compareDocumentPosition(e) & 16))\r
+                        } : function (a, c) { if (c) for (; c = c.parentNode;) if (c === a) return !0; return !1 }; g[d] = []; a(c, { mouseleave: "mouseout", mouseenter: "mouseover" }[d], function (a) { var c = a.relatedTarget; c && (c === this || l(this, c)) || h(a, d) })\r
+                    } else sb(c, d, h), g[d] = []; f = g[d]\r
+                } f.push(e)\r
+            })\r
+        }, off: rc, one: function (a, c, d) { a = y(a); a.on(c, function f() { a.off(c, d); a.off(c, f) }); a.on(c, d) }, replaceWith: function (a, c) {\r
+            var d, e = a.parentNode; Ha(a); q(new U(c), function (c) {\r
+                d ? e.insertBefore(c, d.nextSibling) :\r
+                e.replaceChild(c, a); d = c\r
+            })\r
+        }, children: function (a) { var c = []; q(a.childNodes, function (a) { 1 === a.nodeType && c.push(a) }); return c }, contents: function (a) { return a.contentDocument || a.childNodes || [] }, append: function (a, c) { q(new U(c), function (c) { 1 !== a.nodeType && 11 !== a.nodeType || a.appendChild(c) }) }, prepend: function (a, c) { if (1 === a.nodeType) { var d = a.firstChild; q(new U(c), function (c) { a.insertBefore(c, d) }) } }, wrap: function (a, c) { c = y(c)[0]; var d = a.parentNode; d && d.replaceChild(c, a); c.appendChild(a) }, remove: function (a) {\r
+            Ha(a);\r
+            var c = a.parentNode; c && c.removeChild(a)\r
+        }, after: function (a, c) { var d = a, e = a.parentNode; q(new U(c), function (a) { e.insertBefore(a, d.nextSibling); d = a }) }, addClass: lb, removeClass: kb, toggleClass: function (a, c, d) { c && q(c.split(" "), function (c) { var f = d; A(f) && (f = !Mb(a, c)); (f ? lb : kb)(a, c) }) }, parent: function (a) { return (a = a.parentNode) && 11 !== a.nodeType ? a : null }, next: function (a) { if (a.nextElementSibling) return a.nextElementSibling; for (a = a.nextSibling; null != a && 1 !== a.nodeType;) a = a.nextSibling; return a }, find: function (a, c) {\r
+            return a.getElementsByTagName ?\r
+            a.getElementsByTagName(c) : []\r
+        }, clone: Lb, triggerHandler: function (a, c, d) { c = (la(a, "events") || {})[c]; d = d || []; var e = [{ preventDefault: D, stopPropagation: D }]; q(c, function (c) { c.apply(a, e.concat(d)) }) }\r
+    }, function (a, c) { U.prototype[c] = function (c, e, f) { for (var g, h = 0; h < this.length; h++) A(g) ? (g = a(this[h], c, e, f), F(g) && (g = y(g))) : pc(g, a(this[h], c, e, f)); return F(g) ? g : this }; U.prototype.bind = U.prototype.on; U.prototype.unbind = U.prototype.off }); Wa.prototype = {\r
+        put: function (a, c) { this[Ia(a)] = c }, get: function (a) { return this[Ia(a)] },\r
+        remove: function (a) { var c = this[a = Ia(a)]; delete this[a]; return c }\r
+    }; var yc = /^function\s*[^\(]*\(\s*([^\)]*)\)/m, Ee = /,/, Fe = /^\s*(_?)(\S+?)\1\s*$/, xc = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg, Ja = I("$injector"); Eb.$$annotate = Nb; var $e = I("$animate"), Zd = ["$provide", function (a) {\r
+        this.$$selectors = {}; this.register = function (c, d) { var e = c + "-animation"; if (c && "." != c.charAt(0)) throw $e("notcsel", c); this.$$selectors[c.substr(1)] = e; a.factory(e, d) }; this.classNameFilter = function (a) {\r
+            1 === arguments.length && (this.$$classNameFilter =\r
+            a instanceof RegExp ? a : null); return this.$$classNameFilter\r
+        }; this.$get = ["$timeout", "$$asyncCallback", function (a, d) {\r
+            return {\r
+                enter: function (a, c, g, h) { g ? g.after(a) : c.prepend(a); h && d(h) }, leave: function (a, c) { a.remove(); c && d(c) }, move: function (a, c, d, h) { this.enter(a, c, d, h) }, addClass: function (a, c, g) { c = x(c) ? c : M(c) ? c.join(" ") : ""; q(a, function (a) { lb(a, c) }); g && d(g) }, removeClass: function (a, c, g) { c = x(c) ? c : M(c) ? c.join(" ") : ""; q(a, function (a) { kb(a, c) }); g && d(g) }, setClass: function (a, c, g, h) {\r
+                    q(a, function (a) { lb(a, c); kb(a, g) });\r
+                    h && d(h)\r
+                }, enabled: D\r
+            }\r
+        }]\r
+    }], ia = I("$compile"); kc.$inject = ["$provide", "$$sanitizeUriProvider"]; var Ie = /^(x[\:\-_]|data[\:\-_])/i, Ec = I("$interpolate"), af = /^([^\?#]*)(\?([^#]*))?(#(.*))?$/, Le = { http: 80, https: 443, ftp: 21 }, Sb = I("$location"); Ub.prototype = Tb.prototype = Hc.prototype = {\r
+        $$html5: !1, $$replace: !1, absUrl: tb("$$absUrl"), url: function (a, c) { if (A(a)) return this.$$url; var d = af.exec(a); d[1] && this.path(decodeURIComponent(d[1])); (d[2] || d[1]) && this.search(d[3] || ""); this.hash(d[5] || "", c); return this }, protocol: tb("$$protocol"),\r
+        host: tb("$$host"), port: tb("$$port"), path: Ic("$$path", function (a) { return "/" == a.charAt(0) ? a : "/" + a }), search: function (a, c) { switch (arguments.length) { case 0: return this.$$search; case 1: if (x(a)) this.$$search = gc(a); else if (R(a)) this.$$search = a; else throw Sb("isrcharg"); break; default: A(c) || null === c ? delete this.$$search[a] : this.$$search[a] = c } this.$$compose(); return this }, hash: Ic("$$hash", Da), replace: function () { this.$$replace = !0; return this }\r
+    }; var Ba = I("$parse"), Lc = {}, ua, Na = {\r
+        "null": function () { return null }, "true": function () { return !0 },\r
+        "false": function () { return !1 }, undefined: D, "+": function (a, c, d, e) { d = d(a, c); e = e(a, c); return F(d) ? F(e) ? d + e : d : F(e) ? e : s }, "-": function (a, c, d, e) { d = d(a, c); e = e(a, c); return (F(d) ? d : 0) - (F(e) ? e : 0) }, "*": function (a, c, d, e) { return d(a, c) * e(a, c) }, "/": function (a, c, d, e) { return d(a, c) / e(a, c) }, "%": function (a, c, d, e) { return d(a, c) % e(a, c) }, "^": function (a, c, d, e) { return d(a, c) ^ e(a, c) }, "=": D, "===": function (a, c, d, e) { return d(a, c) === e(a, c) }, "!==": function (a, c, d, e) { return d(a, c) !== e(a, c) }, "==": function (a, c, d, e) {\r
+            return d(a, c) == e(a,\r
+            c)\r
+        }, "!=": function (a, c, d, e) { return d(a, c) != e(a, c) }, "<": function (a, c, d, e) { return d(a, c) < e(a, c) }, ">": function (a, c, d, e) { return d(a, c) > e(a, c) }, "<=": function (a, c, d, e) { return d(a, c) <= e(a, c) }, ">=": function (a, c, d, e) { return d(a, c) >= e(a, c) }, "&&": function (a, c, d, e) { return d(a, c) && e(a, c) }, "||": function (a, c, d, e) { return d(a, c) || e(a, c) }, "&": function (a, c, d, e) { return d(a, c) & e(a, c) }, "|": function (a, c, d, e) { return e(a, c)(a, c, d(a, c)) }, "!": function (a, c, d) { return !d(a, c) }\r
+    }, bf = { n: "\n", f: "\f", r: "\r", t: "\t", v: "\v", "'": "'", '"': '"' },\r
+    Wb = function (a) { this.options = a }; Wb.prototype = {\r
+        constructor: Wb, lex: function (a) {\r
+            this.text = a; this.index = 0; this.ch = s; this.lastCh = ":"; this.tokens = []; var c; for (a = []; this.index < this.text.length;) {\r
+                this.ch = this.text.charAt(this.index); if (this.is("\"'")) this.readString(this.ch); else if (this.isNumber(this.ch) || this.is(".") && this.isNumber(this.peek())) this.readNumber(); else if (this.isIdent(this.ch)) this.readIdent(), this.was("{,") && ("{" === a[0] && (c = this.tokens[this.tokens.length - 1])) && (c.json = -1 === c.text.indexOf("."));\r
+                else if (this.is("(){}[].,;:?")) this.tokens.push({ index: this.index, text: this.ch, json: this.was(":[,") && this.is("{[") || this.is("}]:,") }), this.is("{[") && a.unshift(this.ch), this.is("}]") && a.shift(), this.index++; else if (this.isWhitespace(this.ch)) { this.index++; continue } else {\r
+                    var d = this.ch + this.peek(), e = d + this.peek(2), f = Na[this.ch], g = Na[d], h = Na[e]; h ? (this.tokens.push({ index: this.index, text: e, fn: h }), this.index += 3) : g ? (this.tokens.push({ index: this.index, text: d, fn: g }), this.index += 2) : f ? (this.tokens.push({\r
+                        index: this.index,\r
+                        text: this.ch, fn: f, json: this.was("[,:") && this.is("+-")\r
+                    }), this.index += 1) : this.throwError("Unexpected next character ", this.index, this.index + 1)\r
+                } this.lastCh = this.ch\r
+            } return this.tokens\r
+        }, is: function (a) { return -1 !== a.indexOf(this.ch) }, was: function (a) { return -1 !== a.indexOf(this.lastCh) }, peek: function (a) { a = a || 1; return this.index + a < this.text.length ? this.text.charAt(this.index + a) : !1 }, isNumber: function (a) { return "0" <= a && "9" >= a }, isWhitespace: function (a) {\r
+            return " " === a || "\r" === a || "\t" === a || "\n" === a || "\v" === a || "\u00a0" ===\r
+            a\r
+        }, isIdent: function (a) { return "a" <= a && "z" >= a || "A" <= a && "Z" >= a || "_" === a || "$" === a }, isExpOperator: function (a) { return "-" === a || "+" === a || this.isNumber(a) }, throwError: function (a, c, d) { d = d || this.index; c = F(c) ? "s " + c + "-" + this.index + " [" + this.text.substring(c, d) + "]" : " " + d; throw Ba("lexerr", a, c, this.text); }, readNumber: function () {\r
+            for (var a = "", c = this.index; this.index < this.text.length;) {\r
+                var d = u(this.text.charAt(this.index)); if ("." == d || this.isNumber(d)) a += d; else {\r
+                    var e = this.peek(); if ("e" == d && this.isExpOperator(e)) a +=\r
+                    d; else if (this.isExpOperator(d) && e && this.isNumber(e) && "e" == a.charAt(a.length - 1)) a += d; else if (!this.isExpOperator(d) || e && this.isNumber(e) || "e" != a.charAt(a.length - 1)) break; else this.throwError("Invalid exponent")\r
+                } this.index++\r
+            } a *= 1; this.tokens.push({ index: c, text: a, json: !0, fn: function () { return a } })\r
+        }, readIdent: function () {\r
+            for (var a = this, c = "", d = this.index, e, f, g, h; this.index < this.text.length;) {\r
+                h = this.text.charAt(this.index); if ("." === h || this.isIdent(h) || this.isNumber(h)) "." === h && (e = this.index), c += h; else break;\r
+                this.index++\r
+            } if (e) for (f = this.index; f < this.text.length;) { h = this.text.charAt(f); if ("(" === h) { g = c.substr(e - d + 1); c = c.substr(0, e - d); this.index = f; break } if (this.isWhitespace(h)) f++; else break } d = { index: d, text: c }; if (Na.hasOwnProperty(c)) d.fn = Na[c], d.json = Na[c]; else { var m = Kc(c, this.options, this.text); d.fn = w(function (a, c) { return m(a, c) }, { assign: function (d, e) { return ub(d, c, e, a.text, a.options) } }) } this.tokens.push(d); g && (this.tokens.push({ index: e, text: ".", json: !1 }), this.tokens.push({ index: e + 1, text: g, json: !1 }))\r
+        },\r
+        readString: function (a) {\r
+            var c = this.index; this.index++; for (var d = "", e = a, f = !1; this.index < this.text.length;) {\r
+                var g = this.text.charAt(this.index), e = e + g; if (f) "u" === g ? (g = this.text.substring(this.index + 1, this.index + 5), g.match(/[\da-f]{4}/i) || this.throwError("Invalid unicode escape [\\u" + g + "]"), this.index += 4, d += String.fromCharCode(parseInt(g, 16))) : d = (f = bf[g]) ? d + f : d + g, f = !1; else if ("\\" === g) f = !0; else {\r
+                    if (g === a) { this.index++; this.tokens.push({ index: c, text: e, string: d, json: !0, fn: function () { return d } }); return } d +=\r
+                    g\r
+                } this.index++\r
+            } this.throwError("Unterminated quote", c)\r
+        }\r
+    }; var $a = function (a, c, d) { this.lexer = a; this.$filter = c; this.options = d }; $a.ZERO = w(function () { return 0 }, { constant: !0 }); $a.prototype = {\r
+        constructor: $a, parse: function (a, c) {\r
+            this.text = a; this.json = c; this.tokens = this.lexer.lex(a); c && (this.assignment = this.logicalOR, this.functionCall = this.fieldAccess = this.objectIndex = this.filterChain = function () { this.throwError("is not valid json", { text: a, index: 0 }) }); var d = c ? this.primary() : this.statements(); 0 !== this.tokens.length &&\r
+            this.throwError("is an unexpected token", this.tokens[0]); d.literal = !!d.literal; d.constant = !!d.constant; return d\r
+        }, primary: function () {\r
+            var a; if (this.expect("(")) a = this.filterChain(), this.consume(")"); else if (this.expect("[")) a = this.arrayDeclaration(); else if (this.expect("{")) a = this.object(); else { var c = this.expect(); (a = c.fn) || this.throwError("not a primary expression", c); c.json && (a.constant = !0, a.literal = !0) } for (var d; c = this.expect("(", "[", ".") ;) "(" === c.text ? (a = this.functionCall(a, d), d = null) : "[" === c.text ?\r
+            (d = a, a = this.objectIndex(a)) : "." === c.text ? (d = a, a = this.fieldAccess(a)) : this.throwError("IMPOSSIBLE"); return a\r
+        }, throwError: function (a, c) { throw Ba("syntax", c.text, a, c.index + 1, this.text, this.text.substring(c.index)); }, peekToken: function () { if (0 === this.tokens.length) throw Ba("ueoe", this.text); return this.tokens[0] }, peek: function (a, c, d, e) { if (0 < this.tokens.length) { var f = this.tokens[0], g = f.text; if (g === a || g === c || g === d || g === e || !(a || c || d || e)) return f } return !1 }, expect: function (a, c, d, e) {\r
+            return (a = this.peek(a, c, d,\r
+            e)) ? (this.json && !a.json && this.throwError("is not valid json", a), this.tokens.shift(), a) : !1\r
+        }, consume: function (a) { this.expect(a) || this.throwError("is unexpected, expecting [" + a + "]", this.peek()) }, unaryFn: function (a, c) { return w(function (d, e) { return a(d, e, c) }, { constant: c.constant }) }, ternaryFn: function (a, c, d) { return w(function (e, f) { return a(e, f) ? c(e, f) : d(e, f) }, { constant: a.constant && c.constant && d.constant }) }, binaryFn: function (a, c, d) { return w(function (e, f) { return c(e, f, a, d) }, { constant: a.constant && d.constant }) },\r
+        statements: function () { for (var a = []; ;) if (0 < this.tokens.length && !this.peek("}", ")", ";", "]") && a.push(this.filterChain()), !this.expect(";")) return 1 === a.length ? a[0] : function (c, d) { for (var e, f = 0; f < a.length; f++) { var g = a[f]; g && (e = g(c, d)) } return e } }, filterChain: function () { for (var a = this.expression(), c; ;) if (c = this.expect("|")) a = this.binaryFn(a, c.fn, this.filter()); else return a }, filter: function () {\r
+            for (var a = this.expect(), c = this.$filter(a.text), d = []; ;) if (a = this.expect(":")) d.push(this.expression()); else {\r
+                var e =\r
+                function (a, e, h) { h = [h]; for (var m = 0; m < d.length; m++) h.push(d[m](a, e)); return c.apply(a, h) }; return function () { return e }\r
+            }\r
+        }, expression: function () { return this.assignment() }, assignment: function () { var a = this.ternary(), c, d; return (d = this.expect("=")) ? (a.assign || this.throwError("implies assignment but [" + this.text.substring(0, d.index) + "] can not be assigned to", d), c = this.ternary(), function (d, f) { return a.assign(d, c(d, f), f) }) : a }, ternary: function () {\r
+            var a = this.logicalOR(), c, d; if (this.expect("?")) {\r
+                c = this.ternary();\r
+                if (d = this.expect(":")) return this.ternaryFn(a, c, this.ternary()); this.throwError("expected :", d)\r
+            } else return a\r
+        }, logicalOR: function () { for (var a = this.logicalAND(), c; ;) if (c = this.expect("||")) a = this.binaryFn(a, c.fn, this.logicalAND()); else return a }, logicalAND: function () { var a = this.equality(), c; if (c = this.expect("&&")) a = this.binaryFn(a, c.fn, this.logicalAND()); return a }, equality: function () { var a = this.relational(), c; if (c = this.expect("==", "!=", "===", "!==")) a = this.binaryFn(a, c.fn, this.equality()); return a },\r
+        relational: function () { var a = this.additive(), c; if (c = this.expect("<", ">", "<=", ">=")) a = this.binaryFn(a, c.fn, this.relational()); return a }, additive: function () { for (var a = this.multiplicative(), c; c = this.expect("+", "-") ;) a = this.binaryFn(a, c.fn, this.multiplicative()); return a }, multiplicative: function () { for (var a = this.unary(), c; c = this.expect("*", "/", "%") ;) a = this.binaryFn(a, c.fn, this.unary()); return a }, unary: function () {\r
+            var a; return this.expect("+") ? this.primary() : (a = this.expect("-")) ? this.binaryFn($a.ZERO, a.fn,\r
+            this.unary()) : (a = this.expect("!")) ? this.unaryFn(a.fn, this.unary()) : this.primary()\r
+        }, fieldAccess: function (a) { var c = this, d = this.expect().text, e = Kc(d, this.options, this.text); return w(function (c, d, h) { return e(h || a(c, d)) }, { assign: function (e, g, h) { return ub(a(e, h), d, g, c.text, c.options) } }) }, objectIndex: function (a) {\r
+            var c = this, d = this.expression(); this.consume("]"); return w(function (e, f) {\r
+                var g = a(e, f), h = d(e, f), m; if (!g) return s; (g = Za(g[h], c.text)) && (g.then && c.options.unwrapPromises) && (m = g, "$$v" in g || (m.$$v = s, m.then(function (a) {\r
+                    m.$$v =\r
+                    a\r
+                })), g = g.$$v); return g\r
+            }, { assign: function (e, f, g) { var h = d(e, g); return Za(a(e, g), c.text)[h] = f } })\r
+        }, functionCall: function (a, c) { var d = []; if (")" !== this.peekToken().text) { do d.push(this.expression()); while (this.expect(",")) } this.consume(")"); var e = this; return function (f, g) { for (var h = [], m = c ? c(f, g) : f, k = 0; k < d.length; k++) h.push(d[k](f, g)); k = a(f, g, m) || D; Za(m, e.text); Za(k, e.text); h = k.apply ? k.apply(m, h) : k(h[0], h[1], h[2], h[3], h[4]); return Za(h, e.text) } }, arrayDeclaration: function () {\r
+            var a = [], c = !0; if ("]" !== this.peekToken().text) {\r
+                do {\r
+                    if (this.peek("]")) break;\r
+                    var d = this.expression(); a.push(d); d.constant || (c = !1)\r
+                } while (this.expect(","))\r
+            } this.consume("]"); return w(function (c, d) { for (var g = [], h = 0; h < a.length; h++) g.push(a[h](c, d)); return g }, { literal: !0, constant: c })\r
+        }, object: function () {\r
+            var a = [], c = !0; if ("}" !== this.peekToken().text) { do { if (this.peek("}")) break; var d = this.expect(), d = d.string || d.text; this.consume(":"); var e = this.expression(); a.push({ key: d, value: e }); e.constant || (c = !1) } while (this.expect(",")) } this.consume("}"); return w(function (c, d) {\r
+                for (var e = {}, m = 0; m <\r
+                a.length; m++) { var k = a[m]; e[k.key] = k.value(c, d) } return e\r
+            }, { literal: !0, constant: c })\r
+        }\r
+    }; var Vb = {}, va = I("$sce"), fa = { HTML: "html", CSS: "css", URL: "url", RESOURCE_URL: "resourceUrl", JS: "js" }, V = S.createElement("a"), Oc = ta(N.location.href, !0); oc.$inject = ["$provide"]; Pc.$inject = ["$locale"]; Rc.$inject = ["$locale"]; var Uc = ".", Xe = {\r
+        yyyy: X("FullYear", 4), yy: X("FullYear", 2, 0, !0), y: X("FullYear", 1), MMMM: wb("Month"), MMM: wb("Month", !0), MM: X("Month", 2, 1), M: X("Month", 1, 1), dd: X("Date", 2), d: X("Date", 1), HH: X("Hours", 2), H: X("Hours",\r
+        1), hh: X("Hours", 2, -12), h: X("Hours", 1, -12), mm: X("Minutes", 2), m: X("Minutes", 1), ss: X("Seconds", 2), s: X("Seconds", 1), sss: X("Milliseconds", 3), EEEE: wb("Day"), EEE: wb("Day", !0), a: function (a, c) { return 12 > a.getHours() ? c.AMPMS[0] : c.AMPMS[1] }, Z: function (a) { a = -1 * a.getTimezoneOffset(); return a = (0 <= a ? "+" : "") + (vb(Math[0 < a ? "floor" : "ceil"](a / 60), 2) + vb(Math.abs(a % 60), 2)) }, ww: Wc(2), w: Wc(1)\r
+    }, We = /((?:[^yMdHhmsaZEw']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z|w+))(.*)/, Ve = /^\-?\d+$/; Qc.$inject = ["$locale"]; var Te =\r
+    $(u), Ue = $(Fa); Sc.$inject = ["$parse"]; var pd = $({ restrict: "E", compile: function (a, c) { 8 >= P && (c.href || c.name || c.$set("href", ""), a.append(S.createComment("IE fix"))); if (!c.href && !c.xlinkHref && !c.name) return function (a, c) { var f = "[object SVGAnimatedString]" === xa.call(c.prop("href")) ? "xlink:href" : "href"; c.on("click", function (a) { c.attr(f) || a.preventDefault() }) } } }), Hb = {}; q(nb, function (a, c) {\r
+        if ("multiple" != a) {\r
+            var d = na("ng-" + c); Hb[d] = function () {\r
+                return {\r
+                    priority: 100, link: function (a, f, g) {\r
+                        a.$watch(g[d], function (a) {\r
+                            g.$set(c,\r
+                            !!a)\r
+                        })\r
+                    }\r
+                }\r
+            }\r
+        }\r
+    }); q(["src", "srcset", "href"], function (a) { var c = na("ng-" + a); Hb[c] = function () { return { priority: 99, link: function (d, e, f) { var g = a, h = a; "href" === a && "[object SVGAnimatedString]" === xa.call(e.prop("href")) && (h = "xlinkHref", f.$attr[h] = "xlink:href", g = null); f.$observe(c, function (a) { a && (f.$set(h, a), P && g && e.prop(g, f[h])) }) } } } }); var zb = { $addControl: D, $removeControl: D, $setValidity: D, $setDirty: D, $setPristine: D }; Xc.$inject = ["$element", "$attrs", "$scope", "$animate"]; var Yc = function (a) {\r
+        return ["$timeout", function (c) {\r
+            return {\r
+                name: "form",\r
+                restrict: a ? "EAC" : "E", controller: Xc, compile: function () { return { pre: function (a, e, f, g) { if (!f.action) { var h = function (a) { a.preventDefault ? a.preventDefault() : a.returnValue = !1 }; sb(e[0], "submit", h); e.on("$destroy", function () { c(function () { Ua(e[0], "submit", h) }, 0, !1) }) } var m = e.parent().controller("form"), k = f.name || f.ngForm; k && ub(a, k, g, k); if (m) e.on("$destroy", function () { m.$removeControl(g); k && ub(a, k, s, k); w(g, zb) }) } } }\r
+            }\r
+        }]\r
+    }, qd = Yc(), Dd = Yc(!0), cf = /^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/,\r
+    df = /^[a-z0-9!#$%&'*+/=?^_`{|}~.-]+@[a-z0-9-]+(\.[a-z0-9-]+)*$/i, ef = /^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/, Zc = /^(\d{4})-(\d{2})-(\d{2})$/, $c = /^(\d{4})-(\d\d)-(\d\d)T(\d\d):(\d\d)$/, Yb = /^(\d{4})-W(\d\d)$/, ad = /^(\d{4})-(\d\d)$/, bd = /^(\d\d):(\d\d)$/, ff = /(\b|^)default(\b|$)/, cd = {\r
+        text: ab, date: bb("date", Zc, Bb(Zc, ["yyyy", "MM", "dd"]), "yyyy-MM-dd"), "datetime-local": bb("datetimelocal", $c, Bb($c, ["yyyy", "MM", "dd", "HH", "mm"]), "yyyy-MM-ddTHH:mm"), time: bb("time", bd, Bb(bd, ["HH", "mm"]), "HH:mm"), week: bb("week", Yb, function (a) {\r
+            if (qa(a)) return a;\r
+            if (x(a)) { Yb.lastIndex = 0; var c = Yb.exec(a); if (c) { a = +c[1]; var d = +c[2], c = Vc(a), d = 7 * (d - 1); return new Date(a, 0, c.getDate() + d) } } return NaN\r
+        }, "yyyy-Www"), month: bb("month", ad, Bb(ad, ["yyyy", "MM"]), "yyyy-MM"), number: function (a, c, d, e, f, g) {\r
+            ab(a, c, d, e, f, g); e.$parsers.push(function (a) { var c = e.$isEmpty(a); if (c || ef.test(a)) return e.$setValidity("number", !0), "" === a ? null : c ? a : parseFloat(a); e.$setValidity("number", !1); return s }); Ye(e, "number", c); e.$formatters.push(function (a) { return e.$isEmpty(a) ? "" : "" + a }); d.min && (a = function (a) {\r
+                var c =\r
+                parseFloat(d.min); return pa(e, "min", e.$isEmpty(a) || a >= c, a)\r
+            }, e.$parsers.push(a), e.$formatters.push(a)); d.max && (a = function (a) { var c = parseFloat(d.max); return pa(e, "max", e.$isEmpty(a) || a <= c, a) }, e.$parsers.push(a), e.$formatters.push(a)); e.$formatters.push(function (a) { return pa(e, "number", e.$isEmpty(a) || Cb(a), a) })\r
+        }, url: function (a, c, d, e, f, g) { ab(a, c, d, e, f, g); a = function (a) { return pa(e, "url", e.$isEmpty(a) || cf.test(a), a) }; e.$formatters.push(a); e.$parsers.push(a) }, email: function (a, c, d, e, f, g) {\r
+            ab(a, c, d, e, f, g);\r
+            a = function (a) { return pa(e, "email", e.$isEmpty(a) || df.test(a), a) }; e.$formatters.push(a); e.$parsers.push(a)\r
+        }, radio: function (a, c, d, e) { A(d.name) && c.attr("name", db()); var f = function (f) { c[0].checked && a.$apply(function () { e.$setViewValue(d.value, f && f.type) }) }; if (e.$options && e.$options.updateOn) c.on(e.$options.updateOn, f); if (!e.$options || e.$options.updateOnDefault) c.on("click", f); e.$render = function () { c[0].checked = d.value == e.$viewValue }; d.$observe("value", e.$render) }, checkbox: function (a, c, d, e) {\r
+            var f = d.ngTrueValue,\r
+            g = d.ngFalseValue; x(f) || (f = !0); x(g) || (g = !1); d = function (d) { a.$apply(function () { e.$setViewValue(c[0].checked, d && d.type) }) }; if (e.$options && e.$options.updateOn) c.on(e.$options.updateOn, d); if (!e.$options || e.$options.updateOnDefault) c.on("click", d); e.$render = function () { c[0].checked = e.$viewValue }; e.$isEmpty = function (a) { return a !== f }; e.$formatters.push(function (a) { return a === f }); e.$parsers.push(function (a) { return a ? f : g })\r
+        }, hidden: D, button: D, submit: D, reset: D, file: D\r
+    }, lc = ["$browser", "$sniffer", "$filter", function (a,\r
+    c, d) { return { restrict: "E", require: ["?ngModel"], link: function (e, f, g, h) { h[0] && (cd[u(g.type)] || cd.text)(e, f, g, h[0], c, a, d) } } }], yb = "ng-valid", xb = "ng-invalid", Ma = "ng-pristine", Ab = "ng-dirty", gf = ["$scope", "$exceptionHandler", "$attrs", "$element", "$parse", "$animate", "$timeout", function (a, c, d, e, f, g, h) {\r
+        function m(a, c) { c = c ? "-" + ib(c, "-") : ""; g.removeClass(e, (a ? xb : yb) + c); g.addClass(e, (a ? yb : xb) + c) } this.$modelValue = this.$viewValue = Number.NaN; this.$parsers = []; this.$formatters = []; this.$viewChangeListeners = []; this.$pristine =\r
+        !0; this.$dirty = !1; this.$valid = !0; this.$invalid = !1; this.$name = d.name; var k = f(d.ngModel), l = k.assign, p = null, n = this; if (!l) throw I("ngModel")("nonassign", d.ngModel, ga(e)); this.$render = D; this.$isEmpty = function (a) { return A(a) || "" === a || null === a || a !== a }; var r = e.inheritedData("$formController") || zb, t = 0, s = this.$error = {}; e.addClass(Ma); m(!0); this.$setValidity = function (a, c) { s[a] !== !c && (c ? (s[a] && t--, t || (m(!0), n.$valid = !0, n.$invalid = !1)) : (m(!1), n.$invalid = !0, n.$valid = !1, t++), s[a] = !c, m(c, a), r.$setValidity(a, c, n)) };\r
+        this.$setPristine = function () { n.$dirty = !1; n.$pristine = !0; g.removeClass(e, Ab); g.addClass(e, Ma) }; this.$cancelUpdate = function () { h.cancel(p); n.$render() }; this.$$realSetViewValue = function (d) { n.$viewValue = d; n.$pristine && (n.$dirty = !0, n.$pristine = !1, g.removeClass(e, Ma), g.addClass(e, Ab), r.$setDirty()); q(n.$parsers, function (a) { d = a(d) }); n.$modelValue !== d && (n.$modelValue = d, l(a, d), q(n.$viewChangeListeners, function (a) { try { a() } catch (d) { c(d) } })) }; this.$setViewValue = function (a, c) {\r
+            var d = n.$options && (R(n.$options.debounce) ?\r
+            n.$options.debounce[c] || n.$options.debounce["default"] || 0 : n.$options.debounce) || 0; h.cancel(p); d ? p = h(function () { n.$$realSetViewValue(a) }, d) : n.$$realSetViewValue(a)\r
+        }; a.$watch(function () { var c = k(a); if (n.$modelValue !== c) { var d = n.$formatters, e = d.length; for (n.$modelValue = c; e--;) c = d[e](c); n.$viewValue !== c && (n.$viewValue = c, n.$render()) } return c })\r
+    }], Sd = function () {\r
+        return {\r
+            require: ["ngModel", "^?form", "^?ngModelOptions"], controller: gf, link: function (a, c, d, e) {\r
+                var f = e[0], g = e[1] || zb; g.$addControl(f); e[2] && (f.$options =\r
+                e[2].$options); a.$on("$destroy", function () { g.$removeControl(f) })\r
+            }\r
+        }\r
+    }, Ud = $({ require: "ngModel", link: function (a, c, d, e) { e.$viewChangeListeners.push(function () { a.$eval(d.ngChange) }) } }), mc = function () { return { require: "?ngModel", link: function (a, c, d, e) { if (e) { d.required = !0; var f = function (a) { if (d.required && e.$isEmpty(a)) e.$setValidity("required", !1); else return e.$setValidity("required", !0), a }; e.$formatters.push(f); e.$parsers.unshift(f); d.$observe("required", function () { f(e.$viewValue) }) } } } }, Td = function () {\r
+        return {\r
+            require: "ngModel",\r
+            link: function (a, c, d, e) { var f = (a = /\/(.*)\//.exec(d.ngList)) && RegExp(a[1]) || d.ngList || ","; e.$parsers.push(function (a) { if (!A(a)) { var c = []; a && q(a.split(f), function (a) { a && c.push(Y(a)) }); return c } }); e.$formatters.push(function (a) { return M(a) ? a.join(", ") : s }); e.$isEmpty = function (a) { return !a || !a.length } }\r
+        }\r
+    }, hf = /^(true|false|\d+)$/, Vd = function () {\r
+        return {\r
+            priority: 100, compile: function (a, c) {\r
+                return hf.test(c.ngValue) ? function (a, c, f) { f.$set("value", a.$eval(f.ngValue)) } : function (a, c, f) {\r
+                    a.$watch(f.ngValue, function (a) {\r
+                        f.$set("value",\r
+                        a)\r
+                    })\r
+                }\r
+            }\r
+        }\r
+    }, Wd = function () { return { controller: ["$scope", "$attrs", function (a, c) { var d = this; this.$options = a.$eval(c.ngModelOptions); this.$options.updateOn ? (this.$options.updateOnDefault = !1, this.$options.updateOn = this.$options.updateOn.replace(ff, function () { d.$options.updateOnDefault = !0; return " " })) : this.$options.updateOnDefault = !0 }] } }, vd = wa(function (a, c, d) { c.addClass("ng-binding").data("$binding", d.ngBind); a.$watch(d.ngBind, function (a) { c.text(a == s ? "" : a) }) }), xd = ["$interpolate", function (a) {\r
+        return function (c,\r
+        d, e) { c = a(d.attr(e.$attr.ngBindTemplate)); d.addClass("ng-binding").data("$binding", c); e.$observe("ngBindTemplate", function (a) { d.text(a) }) }\r
+    }], wd = ["$sce", "$parse", function (a, c) { return function (d, e, f) { e.addClass("ng-binding").data("$binding", f.ngBindHtml); var g = c(f.ngBindHtml); d.$watch(function () { return (g(d) || "").toString() }, function (c) { e.html(a.getTrustedHtml(g(d)) || "") }) } }], yd = Xb("", !0), Ad = Xb("Odd", 0), zd = Xb("Even", 1), Bd = wa({ compile: function (a, c) { c.$set("ngCloak", s); a.removeClass("ng-cloak") } }), Cd = [function () {\r
+        return {\r
+            scope: !0,\r
+            controller: "@", priority: 500\r
+        }\r
+    }], nc = {}; q("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "), function (a) { var c = na("ng-" + a); nc[c] = ["$parse", function (d) { return { compile: function (e, f) { var g = d(f[c]); return function (c, d, e) { d.on(u(a), function (a) { c.$apply(function () { g(c, { $event: a }) }) }) } } } }] }); var Fd = ["$animate", function (a) {\r
+        return {\r
+            transclude: "element", priority: 600, terminal: !0, restrict: "A", $$tlb: !0, link: function (c,\r
+            d, e, f, g) { var h, m, k; c.$watch(e.ngIf, function (f) { Pa(f) ? m || (m = c.$new(), g(m, function (c) { c[c.length++] = S.createComment(" end ngIf: " + e.ngIf + " "); h = { clone: c }; a.enter(c, d.parent(), d) })) : (k && (k.remove(), k = null), m && (m.$destroy(), m = null), h && (k = Gb(h.clone), a.leave(k, function () { k = null }), h = null)) }) }\r
+        }\r
+    }], Gd = ["$http", "$templateCache", "$anchorScroll", "$animate", "$sce", function (a, c, d, e, f) {\r
+        return {\r
+            restrict: "ECA", priority: 400, terminal: !0, transclude: "element", controller: Qa.noop, compile: function (g, h) {\r
+                var m = h.ngInclude ||\r
+                h.src, k = h.onload || "", l = h.autoscroll; return function (g, h, q, t, s) {\r
+                    var E = 0, B, z, y, v = function () { z && (z.remove(), z = null); B && (B.$destroy(), B = null); y && (e.leave(y, function () { z = null }), z = y, y = null) }; g.$watch(f.parseAsResourceUrl(m), function (f) {\r
+                        var m = function () { !F(l) || l && !g.$eval(l) || d() }, q = ++E; f ? (a.get(f, { cache: c }).success(function (a) { if (q === E) { var c = g.$new(); t.template = a; a = s(c, function (a) { v(); e.enter(a, null, h, m) }); B = c; y = a; B.$emit("$includeContentLoaded"); g.$eval(k) } }).error(function () { q === E && v() }), g.$emit("$includeContentRequested")) :\r
+                        (v(), t.template = null)\r
+                    })\r
+                }\r
+            }\r
+        }\r
+    }], Xd = ["$compile", function (a) { return { restrict: "ECA", priority: -400, require: "ngInclude", link: function (c, d, e, f) { d.html(f.template); a(d.contents())(c) } } }], Hd = wa({ priority: 450, compile: function () { return { pre: function (a, c, d) { a.$eval(d.ngInit) } } } }), Id = wa({ terminal: !0, priority: 1E3 }), Jd = ["$locale", "$interpolate", function (a, c) {\r
+        var d = /{}/g; return {\r
+            restrict: "EA", link: function (e, f, g) {\r
+                var h = g.count, m = g.$attr.when && f.attr(g.$attr.when), k = g.offset || 0, l = e.$eval(m) || {}, p = {}, n = c.startSymbol(),\r
+                r = c.endSymbol(), t = /^when(Minus)?(.+)$/; q(g, function (a, c) { t.test(c) && (l[u(c.replace("when", "").replace("Minus", "-"))] = f.attr(g.$attr[c])) }); q(l, function (a, e) { p[e] = c(a.replace(d, n + h + "-" + k + r)) }); e.$watch(function () { var c = parseFloat(e.$eval(h)); if (isNaN(c)) return ""; c in l || (c = a.pluralCat(c - k)); return p[c](e) }, function (a) { f.text(a) })\r
+            }\r
+        }\r
+    }], Kd = ["$parse", "$animate", function (a, c) {\r
+        var d = I("ngRepeat"); return {\r
+            transclude: "element", priority: 1E3, terminal: !0, $$tlb: !0, link: function (e, f, g, h, m) {\r
+                var k = g.ngRepeat, l = k.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?\s*$/),\r
+                p, n, r, t, s, E, B = { $id: Ia }; if (!l) throw d("iexp", k); g = l[1]; h = l[2]; (l = l[3]) ? (p = a(l), n = function (a, c, d) { E && (B[E] = a); B[s] = c; B.$index = d; return p(e, B) }) : (r = function (a, c) { return Ia(c) }, t = function (a) { return a }); l = g.match(/^(?:([\$\w]+)|\(([\$\w]+)\s*,\s*([\$\w]+)\))$/); if (!l) throw d("iidexp", g); s = l[3] || l[1]; E = l[2]; var z = {}; e.$watchCollection(h, function (a) {\r
+                    var g, h, l = f[0], p, B = {}, F, C, u, x, D, w, A = []; if (cb(a)) D = a, p = n || r; else { p = n || t; D = []; for (u in a) a.hasOwnProperty(u) && "$" != u.charAt(0) && D.push(u); D.sort() } F = D.length;\r
+                    h = A.length = D.length; for (g = 0; g < h; g++) if (u = a === D ? g : D[g], x = a[u], x = p(u, x, g), Aa(x, "`track by` id"), z.hasOwnProperty(x)) w = z[x], delete z[x], B[x] = w, A[g] = w; else { if (B.hasOwnProperty(x)) throw q(A, function (a) { a && a.scope && (z[a.id] = a) }), d("dupes", k, x); A[g] = { id: x }; B[x] = !1 } for (u in z) z.hasOwnProperty(u) && (w = z[u], g = Gb(w.clone), c.leave(g), q(g, function (a) { a.$$NG_REMOVED = !0 }), w.scope.$destroy()); g = 0; for (h = D.length; g < h; g++) {\r
+                        u = a === D ? g : D[g]; x = a[u]; w = A[g]; A[g - 1] && (l = A[g - 1].clone[A[g - 1].clone.length - 1]); if (w.scope) {\r
+                            C = w.scope;\r
+                            p = l; do p = p.nextSibling; while (p && p.$$NG_REMOVED); w.clone[0] != p && c.move(Gb(w.clone), null, y(l)); l = w.clone[w.clone.length - 1]\r
+                        } else C = e.$new(); C[s] = x; E && (C[E] = u); C.$index = g; C.$first = 0 === g; C.$last = g === F - 1; C.$middle = !(C.$first || C.$last); C.$odd = !(C.$even = 0 === (g & 1)); w.scope || m(C, function (a) { a[a.length++] = S.createComment(" end ngRepeat: " + k + " "); c.enter(a, null, y(l)); l = a; w.scope = C; w.clone = a; B[w.id] = w })\r
+                    } z = B\r
+                })\r
+            }\r
+        }\r
+    }], Ld = ["$animate", function (a) {\r
+        return function (c, d, e) {\r
+            c.$watch(e.ngShow, function (c) {\r
+                a[Pa(c) ? "removeClass" :\r
+                "addClass"](d, "ng-hide")\r
+            })\r
+        }\r
+    }], Ed = ["$animate", function (a) { return function (c, d, e) { c.$watch(e.ngHide, function (c) { a[Pa(c) ? "addClass" : "removeClass"](d, "ng-hide") }) } }], Md = wa(function (a, c, d) { a.$watch(d.ngStyle, function (a, d) { d && a !== d && q(d, function (a, d) { c.css(d, "") }); a && c.css(a) }, !0) }), Nd = ["$animate", function (a) {\r
+        return {\r
+            restrict: "EA", require: "ngSwitch", controller: ["$scope", function () { this.cases = {} }], link: function (c, d, e, f) {\r
+                var g, h, m, k = []; c.$watch(e.ngSwitch || e.on, function (d) {\r
+                    var p, n = k.length; if (0 < n) {\r
+                        if (m) {\r
+                            for (p =\r
+                            0; p < n; p++) m[p].remove(); m = null\r
+                        } m = []; for (p = 0; p < n; p++) { var r = h[p]; k[p].$destroy(); m[p] = r; a.leave(r, function () { m.splice(p, 1); 0 === m.length && (m = null) }) }\r
+                    } h = []; k = []; if (g = f.cases["!" + d] || f.cases["?"]) c.$eval(e.change), q(g, function (d) { var e = c.$new(); k.push(e); d.transclude(e, function (c) { var e = d.element; h.push(c); a.enter(c, e.parent(), e) }) })\r
+                })\r
+            }\r
+        }\r
+    }], Od = wa({\r
+        transclude: "element", priority: 800, require: "^ngSwitch", link: function (a, c, d, e, f) {\r
+            e.cases["!" + d.ngSwitchWhen] = e.cases["!" + d.ngSwitchWhen] || []; e.cases["!" + d.ngSwitchWhen].push({\r
+                transclude: f,\r
+                element: c\r
+            })\r
+        }\r
+    }), Pd = wa({ transclude: "element", priority: 800, require: "^ngSwitch", link: function (a, c, d, e, f) { e.cases["?"] = e.cases["?"] || []; e.cases["?"].push({ transclude: f, element: c }) } }), Rd = wa({ link: function (a, c, d, e, f) { if (!f) throw I("ngTransclude")("orphan", ga(c)); f(function (a) { c.empty(); c.append(a) }) } }), rd = ["$templateCache", function (a) { return { restrict: "E", terminal: !0, compile: function (c, d) { "text/ng-template" == d.type && a.put(d.id, c[0].text) } } }], jf = I("ngOptions"), Qd = $({ terminal: !0 }), sd = ["$compile", "$parse", function (a,\r
+    c) {\r
+        var d = /^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/, e = { $setViewValue: D }; return {\r
+            restrict: "E", require: ["select", "?ngModel"], controller: ["$element", "$scope", "$attrs", function (a, c, d) {\r
+                var m = this, k = {}, l = e, p; m.databound = d.ngModel; m.init = function (a, c, d) { l = a; p = d }; m.addOption = function (c) {\r
+                    Aa(c, '"option value"'); k[c] = !0; l.$viewValue == c && (a.val(c), p.parent() &&\r
+                    p.remove())\r
+                }; m.removeOption = function (a) { this.hasOption(a) && (delete k[a], l.$viewValue == a && this.renderUnknownOption(a)) }; m.renderUnknownOption = function (c) { c = "? " + Ia(c) + " ?"; p.val(c); a.prepend(p); a.val(c); p.prop("selected", !0) }; m.hasOption = function (a) { return k.hasOwnProperty(a) }; c.$on("$destroy", function () { m.renderUnknownOption = D })\r
+            }], link: function (e, g, h, m) {\r
+                function k(a, c, d, e) {\r
+                    d.$render = function () {\r
+                        var a = d.$viewValue; e.hasOption(a) ? (w.parent() && w.remove(), c.val(a), "" === a && x.prop("selected", !0)) : A(a) &&\r
+                        x ? c.val("") : e.renderUnknownOption(a)\r
+                    }; c.on("change", function () { a.$apply(function () { w.parent() && w.remove(); d.$setViewValue(c.val()) }) })\r
+                } function l(a, c, d) { var e; d.$render = function () { var a = new Wa(d.$viewValue); q(c.find("option"), function (c) { c.selected = F(a.get(c.value)) }) }; a.$watch(function () { ya(e, d.$viewValue) || (e = aa(d.$viewValue), d.$render()) }); c.on("change", function () { a.$apply(function () { var a = []; q(c.find("option"), function (c) { c.selected && a.push(c.value) }); d.$setViewValue(a) }) }) } function p(e, f, g) {\r
+                    function h() {\r
+                        var a =\r
+                        { "": [] }, c = [""], d, k, s, t, w; t = g.$modelValue; w = y(e) || []; var D = n ? Zb(w) : w, E, A, C; A = {}; s = !1; var G, I; if (r) if (v && M(t)) for (s = new Wa([]), C = 0; C < t.length; C++) A[m] = t[C], s.put(v(e, A), t[C]); else s = new Wa(t); for (C = 0; E = D.length, C < E; C++) { k = C; if (n) { k = D[C]; if ("$" === k.charAt(0)) continue; A[n] = k } A[m] = w[k]; d = p(e, A) || ""; (k = a[d]) || (k = a[d] = [], c.push(d)); r ? d = F(s.remove(v ? v(e, A) : q(e, A))) : (v ? (d = {}, d[m] = t, d = v(e, d) === v(e, A)) : d = t === q(e, A), s = s || d); G = l(e, A); G = F(G) ? G : ""; k.push({ id: v ? v(e, A) : n ? D[C] : C, label: G, selected: d }) } r || (u || null ===\r
+                        t ? a[""].unshift({ id: "", label: "", selected: !s }) : s || a[""].unshift({ id: "?", label: "", selected: !0 })); A = 0; for (D = c.length; A < D; A++) {\r
+                            d = c[A]; k = a[d]; x.length <= A ? (t = { element: z.clone().attr("label", d), label: k.label }, w = [t], x.push(w), f.append(t.element)) : (w = x[A], t = w[0], t.label != d && t.element.attr("label", t.label = d)); G = null; C = 0; for (E = k.length; C < E; C++) s = k[C], (d = w[C + 1]) ? (G = d.element, d.label !== s.label && G.text(d.label = s.label), d.id !== s.id && G.val(d.id = s.id), d.selected !== s.selected && G.prop("selected", d.selected = s.selected)) :\r
+                            ("" === s.id && u ? I = u : (I = B.clone()).val(s.id).attr("selected", s.selected).text(s.label), w.push({ element: I, label: s.label, id: s.id, selected: s.selected }), G ? G.after(I) : t.element.append(I), G = I); for (C++; w.length > C;) w.pop().element.remove()\r
+                        } for (; x.length > A;) x.pop()[0].element.remove()\r
+                    } var k; if (!(k = t.match(d))) throw jf("iexp", t, ga(f)); var l = c(k[2] || k[1]), m = k[4] || k[6], n = k[5], p = c(k[3] || ""), q = c(k[2] ? k[1] : m), y = c(k[7]), v = k[8] ? c(k[8]) : null, x = [[{ element: f, label: "" }]]; u && (a(u)(e), u.removeClass("ng-scope"), u.remove());\r
+                    f.empty(); f.on("change", function () {\r
+                        e.$apply(function () {\r
+                            var a, c = y(e) || [], d = {}, h, k, l, p, t, w, u; if (r) for (k = [], p = 0, w = x.length; p < w; p++) for (a = x[p], l = 1, t = a.length; l < t; l++) { if ((h = a[l].element)[0].selected) { h = h.val(); n && (d[n] = h); if (v) for (u = 0; u < c.length && (d[m] = c[u], v(e, d) != h) ; u++); else d[m] = c[h]; k.push(q(e, d)) } } else {\r
+                                h = f.val(); if ("?" == h) k = s; else if ("" === h) k = null; else if (v) for (u = 0; u < c.length; u++) { if (d[m] = c[u], v(e, d) == h) { k = q(e, d); break } } else d[m] = c[h], n && (d[n] = h), k = q(e, d); 1 < x[0].length && x[0][1].id !== h && (x[0][1].selected =\r
+                                !1)\r
+                            } g.$setViewValue(k)\r
+                        })\r
+                    }); g.$render = h; e.$watch(h)\r
+                } if (m[1]) { var n = m[0]; m = m[1]; var r = h.multiple, t = h.ngOptions, u = !1, x, B = y(S.createElement("option")), z = y(S.createElement("optgroup")), w = B.clone(); h = 0; for (var v = g.children(), D = v.length; h < D; h++) if ("" === v[h].value) { x = u = v.eq(h); break } n.init(m, u, w); r && (m.$isEmpty = function (a) { return !a || 0 === a.length }); t ? p(e, g, m) : r ? l(e, g, m) : k(e, g, m, n) }\r
+            }\r
+        }\r
+    }], ud = ["$interpolate", function (a) {\r
+        var c = { addOption: D, removeOption: D }; return {\r
+            restrict: "E", priority: 100, compile: function (d, e) {\r
+                if (A(e.value)) {\r
+                    var f =\r
+                    a(d.text(), !0); f || e.$set("value", d.text())\r
+                } return function (a, d, e) { var k = d.parent(), l = k.data("$selectController") || k.parent().data("$selectController"); l && l.databound ? d.prop("selected", !1) : l = c; f ? a.$watch(f, function (a, c) { e.$set("value", a); c !== a && l.removeOption(c); l.addOption(a) }) : l.addOption(e.value); d.on("$destroy", function () { l.removeOption(e.value) }) }\r
+            }\r
+        }\r
+    }], td = $({ restrict: "E", terminal: !1 }); N.angular.bootstrap ? console.log("WARNING: Tried to load angular more than once.") : ((Ga = N.jQuery) ? (y = Ga, w(Ga.fn,\r
+    { scope: Ka.scope, isolateScope: Ka.isolateScope, controller: Ka.controller, injector: Ka.injector, inheritedData: Ka.inheritedData }), Ib("remove", !0, !0, !1), Ib("empty", !1, !1, !1), Ib("html", !1, !1, !0)) : y = U, Qa.element = y, ld(Qa), y(S).ready(function () { id(S, ic) }))\r
+})(window, document); !angular.$$csp() && angular.element(document).find("head").prepend('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide{display:none !important;}ng\\:form{display:block;}</style>');\r
+//# sourceMappingURL=angular.min.js.map
\ No newline at end of file
index 0bad9cc..5105144 100755 (executable)
@@ -8,7 +8,7 @@ myApp.factory('$exceptionHandler', function () {
             console.log(exception.message);\r
             \r
             var tmpScope = angular.element(document.getElementById('SchedulerCtrl')).scope();\r
-            tmpScope.initSlots(_schedulerCurrentCellPosition, _schedulerCurrentCellPosition + SchedulerTotalVisibleCells);\r
+            //tmpScope.initSlots(_schedulerCurrentCellPosition, _schedulerCurrentCellPosition + SchedulerTotalVisibleCells);\r
         }\r
             \r
     };\r
@@ -31,11 +31,11 @@ myApp.factory('$exceptionHandler', function () {
         this.scope.errorMessage = null;\r
         this.scope.name = "";\r
         //Pagin\r
-        this.scope.totalPages = 4;\r
-        this.scope.curPage = 0;\r
+        $scope.totalPages = 4;\r
+        $scope.curPage = 0;\r
         this.scope.pageSize = 25;\r
 \r
-        $scope.resources = SchedulerDataViewData;\r
+        $scope.resources = new Array();\r
         $scope.slots = SchedulerSlotsViewData;\r
         //$scope.msg = "hello";\r
 \r
@@ -45,15 +45,22 @@ myApp.factory('$exceptionHandler', function () {
             //afterAngularRendered();\r
         });\r
 \r
-        $scope.initSchedulerResources = function (pageSize, filter) {\r
+        $scope.clearStuff = function() {\r
+            $scope.resources = new Array();\r
+            $scope.$apply();\r
+        }\r
+\r
+        $scope.initSchedulerResources = function (pageSize) {\r
+            $scope.resources = new Array();\r
+\r
             for (var k = 0; k < pageSize; k++) {\r
-                if ($scope.resources.length < SchedulerData.length)\r
-                    $scope.resources.push(jQuery.extend(true, {}, SchedulerData[k]));\r
+                if ($scope.resources.length < SchedulerDataViewData.length)\r
+                    $scope.resources.push(jQuery.extend(true, {}, SchedulerDataViewData[k]));\r
                 $scope.resources[k].leases = [];\r
             }\r
             $scope.pageSize = pageSize;\r
             $scope.curPage = 0;\r
-            $scope.totalPages = parseInt(Math.ceil(SchedulerData.length / $scope.pageSize));\r
+            $scope.totalPages = parseInt(Math.ceil(SchedulerDataViewData.length / $scope.pageSize));\r
             $scope.initSlots(0, SchedulerTotalVisibleCells);\r
         };\r
 \r
@@ -62,10 +69,12 @@ myApp.factory('$exceptionHandler', function () {
             var tmpTo = tmpFrm + $scope.pageSize;\r
             $scope.curPage = page;\r
             $scope.resources = [];\r
+            var j = 0;\r
             for (var k = tmpFrm; k < tmpTo; k++) {\r
-                if ($scope.resources.length < SchedulerData.length)\r
-                    $scope.resources.push(jQuery.extend(true, {}, SchedulerData[k]));\r
-                $scope.resources[k].leases = [];\r
+                if ($scope.resources.length < SchedulerDataViewData.length)\r
+                    $scope.resources.push(jQuery.extend(true, {}, SchedulerDataViewData[k]));\r
+                $scope.resources[j].leases = [];\r
+                j++;\r
             }\r
             $scope.initSlots(0, SchedulerTotalVisibleCells);\r
         };\r
@@ -73,11 +82,18 @@ myApp.factory('$exceptionHandler', function () {
         $scope.initSlots = function (from, to) {\r
             //init\r
             $scope.slots = [];\r
+\r
+            var resourceIndex; //gia to paging\r
             //set\r
             for (var i = from; i < to; i++) {\r
                 $scope.slots.push(SchedulerSlots[i]);\r
+                resourceIndex = $scope.pageSize * $scope.curPage;\r
                 for (var j = 0; j < $scope.resources.length; j++) {\r
-                    $scope.resources[j].leases.push(SchedulerData[j].leases[i]);\r
+                    if (i == from) {\r
+                        $scope.resources[j].leases = [];\r
+                    }\r
+                    $scope.resources[j].leases.push(SchedulerDataViewData[resourceIndex].leases[i]);\r
+                    resourceIndex++;\r
                 }\r
             }\r
             //apply\r
@@ -101,7 +117,7 @@ myApp.factory('$exceptionHandler', function () {
         };\r
 \r
         $scope.moveBackSlot = function(from, to) {\r
-            $scope.$apply(function() {\r
+            //$scope.$apply(function() {\r
                 //try {\r
                 //    $scope.slots.pop();\r
                 //    $scope.slots.unshift(SchedulerSlots[from]);\r
@@ -113,12 +129,38 @@ myApp.factory('$exceptionHandler', function () {
                 //    alert("error");\r
                 //}\r
 \r
-                $scope.initSlots(from, to);\r
-            });\r
+            $scope.initSlots(from, to);\r
+            //});\r
         };\r
 \r
-        $scope.getTimes = function (n) {\r
-            return new Array(n);\r
+        $scope.getPageNumbers = function () {\r
+            var totalNumbersShowned = ($scope.totalPages > 10 ? 10 : $scope.totalPages );\r
+            var tmtNumDiv = totalNumbersShowned / 2;\r
+            //local\r
+            var numFrom = 1;\r
+            var numTo = totalNumbersShowned;\r
+            var rtrnArr = new Array();\r
+\r
+            if (totalNumbersShowned > 1) {\r
+                //set from - to\r
+                if ($scope.totalPages > totalNumbersShowned) {\r
+                    if ($scope.curPage <= tmtNumDiv) {\r
+                        //nothing\r
+                    } else if ($scope.curPage >= $scope.totalPages - tmtNumDiv) {\r
+                        numTo = $scope.totalPages;\r
+                        numFrom = numTo - totalNumbersShowned;\r
+                    } else {\r
+                        numFrom = $scope.curPage - tmtNumDiv;\r
+                        numTo = numFrom + totalNumbersShowned;\r
+                    }\r
+                }\r
+\r
+                for (var i = numFrom; i < numTo; i++)\r
+                    rtrnArr.push(i);\r
+            } else {\r
+                rtrnArr.push(1);\r
+            }\r
+            return rtrnArr;\r
         };\r
 \r
         // Return this object reference.\r
index df9ac9f..54c665f 100755 (executable)
@@ -86,11 +86,13 @@ function schedulerGetSlotId(startTime, duration, granularity) {
     return slotid;\r
 }\r
 \r
-function schedulerSelectSlot(slotId, resourceIndex) {\r
-    SchedulerDataViewData[resourceIndex].leases[slotId].status = 'selected';\r
+function schedulerSelectSlot(slotId, rowIndex, resourceIndex) {\r
+    SchedulerDataViewData[rowIndex].leases[slotId].status = 'selected';\r
+    SchedulerData[resourceIndex].leases[slotId].status = 'selected';\r
 }\r
-function schedulerFreeSlot(slotId, resourceIndex) {\r
-    SchedulerDataViewData[resourceIndex].leases[slotId].status = 'free';\r
+function schedulerFreeSlot(slotId, rowIndex, resourceIndex) {\r
+    SchedulerDataViewData[rowIndex].leases[slotId].status = 'free';\r
+    SchedulerData[resourceIndex].leases[slotId].status = 'free';\r
 }\r
 //\r
 //Find Resource By Id\r
index 3a9a070..6f5f4a9 100755 (executable)
@@ -82,7 +82,7 @@ function selectRange(isTemp) {
     if (!schedulerCtrlPressed)\r
         $("#" + schedulerTblId + "  td.selected, #" + schedulerTblId + "  td.selected_tmp").each(function() {\r
             $(this).removeClass('selected selected_tmp').addClass('free');\r
-            schedulerFreeSlot($(this).data('slotid'), $(this).siblings('th').data('resourceindex'));\r
+            schedulerFreeSlot($(this).data('slotid'), $(this).siblings('th').data('rowindex'), $(this).siblings('th').data('resourceindex'));\r
         });\r
 \r
     tmp_scheduler_table_dragStart_td = scheduler_table_dragStart_td;\r
@@ -119,7 +119,7 @@ function selectRange(isTemp) {
                     if (isTemp)\r
                         $(cell).addClass("free_tmp");\r
                     else{\r
-                        schedulerFreeSlot($(cell).data('slotid'), $(cell).siblings('th').data('resourceindex'));\r
+                        schedulerFreeSlot($(cell).data('slotid'), $(cell).siblings('th').data('rowindex'), $(cell).siblings('th').data('resourceindex'));\r
                         $(cell).addClass("free");\r
                     }\r
                     break;\r
@@ -128,7 +128,7 @@ function selectRange(isTemp) {
                     if (isTemp)\r
                         $(cell).addClass("selected_tmp");\r
                     else {\r
-                        schedulerSelectSlot($(cell).data('slotid'), $(cell).siblings('th').data('resourceindex'));\r
+                        schedulerSelectSlot($(cell).data('slotid'), $(cell).siblings('th').data('rowindex'), $(cell).siblings('th').data('resourceindex'));\r
                         $(cell).addClass("selected");\r
                     }\r
                     break;\r
@@ -137,7 +137,7 @@ function selectRange(isTemp) {
                     if (isTemp)\r
                         $(cell).addClass("selected_tmp");\r
                     else {\r
-                        schedulerSelectSlot($(cell).data('slotid'), $(cell).siblings('th').data('resourceindex'));\r
+                        schedulerSelectSlot($(cell).data('slotid'), $(cell).siblings('th').data('rowindex'), $(cell).siblings('th').data('resourceindex'));\r
                         $(cell).addClass("selected");\r
                     }\r
                     break;\r
@@ -146,7 +146,7 @@ function selectRange(isTemp) {
                     if (isTemp)\r
                         $(cell).addClass("free_tmp");\r
                     else {\r
-                        schedulerFreeSlot($(cell).data('slotid'), $(cell).siblings('th').data('resourceindex'));\r
+                        schedulerFreeSlot($(cell).data('slotid'), $(cell).siblings('th').data('rowindex'), $(cell).siblings('th').data('resourceindex'));\r
                         $(cell).addClass("free");\r
                     }\r
                     break;\r
index 7c4a9c7..50ee2d9 100755 (executable)
@@ -64,6 +64,9 @@ var tmpSchedulerLeases = [];
             this.classname="scheduler2";\r
             // Call the parent constructor, see FAQ when forgotten\r
             this._super(options, element);\r
+            // We need to remember the active filter for datatables filtering
+            this.filters = Array();\r
+\r
 \r
             SchedulerSlots = schedulerGetSlots(60/schedulerSlotsPerHour);\r
             //selection from table \r
@@ -84,7 +87,9 @@ var tmpSchedulerLeases = [];
 \r
             if (schedulerDebug) console.time("Listening_to_queries");\r
             /* Listening to queries */\r
-            this.listen_query(options.query_uuid, 'all_ev');\r
+
+            this.listen_query(options.query_uuid);
+            this.listen_query(options.query_all_uuid, 'all');\r
             this.listen_query(options.query_all_resources_uuid, 'all_resources');\r
             this.listen_query(options.query_lease_uuid, 'lease');\r
             //this.listen_query(options.query_lease_uuid, 'lease');\r
@@ -121,8 +126,16 @@ var tmpSchedulerLeases = [];
         },\r
         on_all_resources_new_record: function (data) {\r
             //alert(data.toSource());\r
-            if (data.exclusive == null)\r
-                SchedulerData.push({ id: data.urn, index: SchedulerData.length, name: data.hrn, granularity: data.granularity, leases: schedulerGetLeases(60 / schedulerSlotsPerHour), type: data.type });\r
+            if (data.exclusive == true)\r
+                SchedulerData.push({\r
+                    id: data.urn,\r
+                    index: SchedulerData.length,\r
+                    name: data.hrn,\r
+                    granularity: data.granularity,\r
+                    leases: schedulerGetLeases(60 / schedulerSlotsPerHour),\r
+                    type: data.type,\r
+                    org_resource: data\r
+                });\r
             //alert(data.toSource());\r
 \r
         },\r
@@ -145,7 +158,8 @@ var tmpSchedulerLeases = [];
                 status: 'reserved',\r
                 resource: data.resource,\r
                 network: data.network,\r
-                start_time: data.start_time,\r
+                start_time: new Date(data.start_time * 1000),\r
+                start_time_unixtimestamp: data.start_time,\r
                 lease_type: data.lease_type,\r
                 granularity: data.granularity,\r
                 duration: data.duration\r
@@ -164,8 +178,54 @@ var tmpSchedulerLeases = [];
 \r
         // no prefix\r
         on_filter_added: function (filter) {\r
+            this.filters.push(filter);\r
+            this._SetFiletredResources(this.filters);\r
+            //angular and UI\r
             var tmpScope = angular.element(document.getElementById('SchedulerCtrl')).scope();\r
-            tmpScope.initSchedulerResources(schedulerMaxRows, filter);\r
+            if (SchedulerDataViewData.length == 0) {\r
+                $("#plugin-scheduler").hide();\r
+                $("#plugin-scheduler-empty").show();\r
+                tmpScope.clearStuff();\r
+            } else {\r
+                $("#plugin-scheduler-empty").hide();\r
+                $("#plugin-scheduler").show();\r
+                tmpScope.initSchedulerResources(schedulerMaxRows < SchedulerDataViewData.length ? schedulerMaxRows : SchedulerDataViewData.length);\r
+            }\r
+        },
+
+        on_filter_removed: function (filter) {
+            // Remove corresponding filters
+            this.filters = $.grep(this.filters, function (x) {\r
+                return x == filter;\r
+            });\r
+            this._SetFiletredResources(this.filters);\r
+            //angular and UI\r
+            var tmpScope = angular.element(document.getElementById('SchedulerCtrl')).scope();\r
+            if (SchedulerDataViewData.length == 0) {\r
+                $("#plugin-scheduler").hide();\r
+                $("#plugin-scheduler-empty").show();\r
+                tmpScope.clearStuff();\r
+            } else {\r
+                $("#plugin-scheduler-empty").hide();\r
+                $("#plugin-scheduler").show();\r
+                tmpScope.initSchedulerResources(schedulerMaxRows < SchedulerDataViewData.length ? schedulerMaxRows : SchedulerDataViewData.length);\r
+            }\r
+        },
+
+        on_filter_clear: function () {\r
+            this.filters = [];\r
+            this._SetFiletredResources(this.filters);\r
+            //angular and UI\r
+            var tmpScope = angular.element(document.getElementById('SchedulerCtrl')).scope();\r
+            if (SchedulerDataViewData.length == 0) {\r
+                $("#plugin-scheduler").hide();\r
+                $("#plugin-scheduler-empty").show();\r
+                tmpScope.clearStuff();\r
+            } else {\r
+                $("#plugin-scheduler-empty").hide();\r
+                $("#plugin-scheduler").show();\r
+                tmpScope.initSchedulerResources(schedulerMaxRows < SchedulerDataViewData.length ? schedulerMaxRows : SchedulerDataViewData.length);\r
+            }\r
         },\r
 \r
         // ... be sure to list all events here\r
@@ -185,6 +245,7 @@ var tmpSchedulerLeases = [];
         _initScheduler: function () {\r
             if (_resourcesDone && _leasesDone)\r
             {\r
+                SchedulerDataViewData = SchedulerData;\r
                 /* GUI setup and event binding */\r
                 this._FixLeases();\r
                 this._initUI();\r
@@ -213,16 +274,18 @@ var tmpSchedulerLeases = [];
             //init Slider\r
             $('#tblSlider').slider({\r
                 min: 0,\r
-                max: SchedulerTotalCells - SchedulerTotalVisibleCells - 1,\r
+                max: SchedulerTotalCells - SchedulerTotalVisibleCells,\r
                 value: 0,\r
                 slide: function (event, ui) {\r
                     //$("#amount").val("$" + ui.values[0] + " - $" + ui.values[1]);\r
                     //console.log(ui.value);\r
                     var angScope = angular.element(document.getElementById('SchedulerCtrl')).scope();\r
-                    if (_schedulerCurrentCellPosition > ui.value)\r
+                    if (_schedulerCurrentCellPosition > ui.value) {\r
                         angScope.moveBackSlot(ui.value, ui.value + SchedulerTotalVisibleCells);\r
-                    else if (_schedulerCurrentCellPosition < ui.value)\r
+                    }\r
+                    else if (_schedulerCurrentCellPosition < ui.value) {\r
                         angScope.moveFrontSlot(ui.value, ui.value + SchedulerTotalVisibleCells);\r
+                    }\r
                     _schedulerCurrentCellPosition = ui.value;\r
                 }\r
             });\r
@@ -250,7 +313,7 @@ var tmpSchedulerLeases = [];
         _FixTable: function () {\r
             var colWidth = 50;\r
             SchedulerTotalCells = SchedulerSlots.length;\r
-            $('#' + schedulerTblId + ' thead tr th:eq(0)').css("width", schedulerTblFirstColWidth);\r
+            $('#' + schedulerTblId + ' thead tr th:eq(0)').css("width", schedulerTblFirstColWidth); //.css("display", "block");\r
             //this get width might need fix depending on the template \r
             var tblwidth = $('#scheduler-tab').parent().outerWidth();\r
             SchedulerTotalVisibleCells = parseInt((tblwidth - schedulerTblFirstColWidth) / colWidth);\r
@@ -263,8 +326,56 @@ var tmpSchedulerLeases = [];
             //    SchedulerData.push({ name: 'nitos1', leases: schedulerGetLeases(60 / schedulerSlotsPerHour), urn: 'nitos1', type: 'node' });\r
             //}\r
             var tmpScope = angular.element(document.getElementById('SchedulerCtrl')).scope();\r
-            tmpScope.initSchedulerResources(schedulerMaxRows, null);\r
+            tmpScope.initSchedulerResources(schedulerMaxRows < SchedulerDataViewData.length ? schedulerMaxRows : SchedulerDataViewData.length);\r
+\r
+        },\r
+\r
+        _SetFiletredResources : function (filters) {\r
+            if (filters.length > 0) {\r
+                SchedulerDataViewData = new Array();\r
+                var tmpAddIt = true;\r
+                for (var i = 0; i < SchedulerData.length; i++) {\r
+                    loopfilters:\r
+                    for (var f = 0; f < filters.length; f++) {\r
+                        tmpAddIt = this._FilterResource(SchedulerData[i], filters[f]);\r
+                        if (tmpAddIt == false) break loopfilters;\r
+                    }\r
+                    if (tmpAddIt) {\r
+                        SchedulerDataViewData.push(SchedulerData[i]);\r
+                    }\r
+                }\r
+            } else {\r
+                SchedulerDataViewData = SchedulerData;\r
+            }\r
         },\r
+\r
+        _FilterResource: function (resource, filter) {\r
+            var key = filter[0];\r
+            var op = filter[1];\r
+            var value = filter[2];\r
+            var colValue = resource.org_resource[key];\r
+            var ret = true;\r
+\r
+            if (op == '=' || op == '==') {\r
+                if (colValue != value || colValue == null || colValue == "" || colValue == "n/a")
+                    ret = false;\r
+            } else if (op == 'included') {\r
+                $.each(value, function (i, x) {\r
+                    if (x == colValue) {\r
+                        ret = true;\r
+                        return false;\r
+                    } else {\r
+                        ret = false;\r
+                    }\r
+                });\r
+            } else if (op == '!=') {\r
+                if (colValue == value || colValue == null || colValue == "" || colValue == "n/a")
+                    ret = false;\r
+            }\r
+\r
+            return ret;\r
+        },\r
+\r
         _SetPeriodInPage: function (start, end) {\r
         }\r
     });\r
index ee0e9c4..fd1afe3 100755 (executable)
@@ -2,6 +2,10 @@
     <img src="../../static/img/loading-7b6dc55620a355b55b835f6b4c300f9b.gif" alt="loading" style="width:100px;" />\r
     <h3>Loading Data...</h3>\r
 </div>\r
+<div id="plugin-{{ domid }}-empty" style="text-align: center; display: none;">\r
+    <img src="../../static/img/no-data.png" alt="no data found" style="width:100px;" />\r
+    <h3>no data found...</h3>\r
+</div>\r
 <div id="plugin-{{ domid }}" class="" ng-app="myApp" style="display:none;">\r
     <div class="row m-b">\r
         <div class="col-md-1">\r
                 </thead>\r
                 <tbody>\r
                     <tr ng-repeat="resource in resources" ng-class-odd="''" ng-class-even="'even'">\r
-                        <th data-resourceid="{[{ resource.id }]}" data-resourceindex="{[{ resource.index }]}">{[{ resource.name }]}</th>\r
+                        <th data-resourceid="{[{ resource.id }]}" data-rowindex="{[{ $index }]}" data-resourceindex="{[{ resource.index }]}" style="word-wrap: break-word; word-break: break-all; ">{[{ resource.name }]}</th>\r
                         <td ng-repeat="lease in resource.leases" data-slotid="{[{ lease.id }]}" ng-class="{{ 'lease.status' }}"></td>\r
                     </tr>\r
                 </tbody>\r
             </table>\r
-            <div class="dataTables_paginate paging_bootstrap">\r
-                <ul class="pagination">\r
-                    <li class="prev disabled"><a href="#">← Previous</a></li>\r
-                    <li ng-cloak ng-repeat="t in getTimes(totalPages)"><a href="#" ng-click="setPage($index)">{[{$index+1}]}</a></li>\r
-                    <li class="next disabled"><a href="#">Next → </a></li>\r
-                </ul>\r
+            <div class="row">\r
+                <div class="col-xs-5">\r
+                    <div id="resources-list__table_length" class="dataTables_length">\r
+                        <label>total Pages : {[{totalPages}]}</label>\r
+                    </div>\r
+                </div>\r
+                <div class="col-xs-7">\r
+                    <div class="dataTables_paginate paging_bootstrap">\r
+                        <ul class="pagination">\r
+                            <li class="prev disabled"><a href="#">← Previous</a></li>\r
+                            <li ng-cloak ng-repeat="t in getPageNumbers() track by $index" ng-class="{active: t==curPage+1}"><a href="" ng-click="setPage(t-1)">{[{t}]}</a></li>\r
+                            <li class="next disabled"><a href="#">Next → </a></li>\r
+                        </ul>\r
+                    </div>\r
+                </div>\r
             </div>\r
-        </div>\r
         {% comment %}\r
         <div id="reservation-table-scroll-container">\r
             <table id='{{domid}}-reservation-table' class='table table-bordered'>\r