Skip to content

Instantly share code, notes, and snippets.

@leon
Last active December 6, 2020 14:32
Show Gist options
  • Select an option

  • Save leon/5483031 to your computer and use it in GitHub Desktop.

Select an option

Save leon/5483031 to your computer and use it in GitHub Desktop.

Revisions

  1. leon revised this gist Apr 29, 2013. 1 changed file with 21 additions and 15 deletions.
    36 changes: 21 additions & 15 deletions index.html
    Original file line number Diff line number Diff line change
    @@ -1,22 +1,24 @@
    <!doctype html>
    <html ng-app="test">
    <head></head>
    <head>
    <base href="/en/test/" />
    </head>
    <body>
    <p>
    <!-- NOTE: these links assume the app is hosted at http://domain/en/test/ -->
    <a href="/en/test/">/en/test/</a>
    <a href="/en/test/index.html">/en/test/index.html</a>
    <a href="/en/test/index2.html">/en/test/index2.html</a>
    <a href="/en/test/invalid.html">/en/test/invalid.html</a>
    <a href="./">/</a>
    <a href="./index">index</a>
    <a href="./index2">index2</a>
    <a href="./invalid">invalid</a>
    </p>

    <div ng-view></div>

    <script src="angular.min.js"></script>
    <script>
    // assumes this app runs at http://domain/en/test/
    var prefix = '/en/test/';

    // By using a base ref we don't need to prefix all routes, links, whatnot..
    // instead work from the directory, this way if you would like to move the app, it's as simple as changing the base href
    angular.module('test', [])
    .controller('PartialCtrl', function($scope, $location) {
    $scope.location = $location;
    @@ -28,24 +30,28 @@
    $locationProvider.html5Mode(true);

    $routeProvider
    .when(prefix, {
    templateUrl: prefix + 'partial.html',
    .when('/', {
    templateUrl: 'partial.html',
    controller: 'PartialCtrl'
    })
    .when('/index', {
    templateUrl: 'partial.html',
    controller: 'PartialCtrl'
    })
    .when(prefix + 'index.html', {
    templateUrl: prefix + 'partial.html',
    .when('/index2', {
    templateUrl: 'partial.html',
    controller: 'PartialCtrl'
    })
    .when(prefix + 'index2.html', {
    templateUrl: prefix + 'partial.html',
    // To illustrate how the path would look to a sub folder.
    .when('/subfolder', {
    templateUrl: 'some-folder/partial.html', // This template doesn't exist in this gist, but is only there to prove a point
    controller: 'PartialCtrl'
    })
    .otherwise({
    templateUrl: prefix + 'notfound.html',
    templateUrl: 'notfound.html',
    controller: 'NotFoundCtrl'
    });
    });
    </script>
    </body>
    </html>

  2. @nil4 nil4 revised this gist Apr 26, 2013. 1 changed file with 171 additions and 170 deletions.
    341 changes: 171 additions & 170 deletions angular.min.js
    171 additions, 170 deletions not shown because the diff is too large. Please use a local Git client to view these changes.
  3. @nil4 nil4 revised this gist Apr 23, 2013. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions index.html
    Original file line number Diff line number Diff line change
    @@ -32,11 +32,11 @@
    templateUrl: prefix + 'partial.html',
    controller: 'PartialCtrl'
    })
    .when(prefix + '/index.html', {
    .when(prefix + 'index.html', {
    templateUrl: prefix + 'partial.html',
    controller: 'PartialCtrl'
    })
    .when(prefix + '/index2.html', {
    .when(prefix + 'index2.html', {
    templateUrl: prefix + 'partial.html',
    controller: 'PartialCtrl'
    })
  4. @nil4 nil4 created this gist Apr 23, 2013.
    174 changes: 174 additions & 0 deletions angular.min.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,174 @@
    /*
    AngularJS v1.1.5-2c34596
    (c) 2010-2012 Google, Inc. http://angularjs.org
    License: MIT
    */
    (function(M,W,q){'use strict';function jc(){var b=M.angular;M.angular=kc;return b}function o(b,a,c){var d;if(b)if(I(b))for(d in b)d!="prototype"&&d!="length"&&d!="name"&&b.hasOwnProperty(d)&&a.call(c,b[d],d);else if(b.forEach&&b.forEach!==o)b.forEach(a,c);else if(!b||typeof b.length!=="number"?0:typeof b.hasOwnProperty!="function"&&typeof b.constructor!="function"||b instanceof Q||da&&b instanceof da||Da.call(b)!=="[object Object]"||typeof b.callee==="function")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 pb(b){var a=[],c;for(c in b)b.hasOwnProperty(c)&&a.push(c);return a.sort()}function lc(b,a,c){for(var d=pb(b),e=0;e<d.length;e++)a.call(c,b[d[e]],d[e]);return d}function qb(b){return function(a,c){b(c,a)}}function Ea(){for(var b=Z.length,a;b;){b--;a=Z[b].charCodeAt(0);if(a==57)return Z[b]="A",Z.join("");if(a==90)Z[b]="0";else return Z[b]=String.fromCharCode(a+1),Z.join("")}Z.unshift("0");return Z.join("")}function t(b){o(arguments,
    function(a){a!==b&&o(a,function(a,d){b[d]=a})});return b}function K(b){return parseInt(b,10)}function rb(b,a){return t(new (t(function(){},{prototype:b})),a)}function w(){}function pa(b){return b}function R(b){return function(){return b}}function B(b){return typeof b=="undefined"}function u(b){return typeof b!="undefined"}function L(b){return b!=null&&typeof b=="object"}function C(b){return typeof b=="string"}function Xa(b){return typeof b=="number"}function qa(b){return Da.apply(b)=="[object Date]"}
    function A(b){return Da.apply(b)=="[object Array]"}function I(b){return typeof b=="function"}function ra(b){return b&&b.document&&b.location&&b.alert&&b.setInterval}function T(b){return C(b)?b.replace(/^\s*/,"").replace(/\s*$/,""):b}function mc(b){return b&&(b.nodeName||b.bind&&b.find)}function Ya(b,a,c){var d=[];o(b,function(b,f,i){d.push(a.call(c,b,f,i))});return d}function Fa(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 sa(b,a){var c=Fa(b,
    a);c>=0&&b.splice(c,1);return a}function U(b,a){if(ra(b)||b&&b.$evalAsync&&b.$watch)throw Error("Can't copy Window or Scope");if(a){if(b===a)throw Error("Can't copy equivalent objects or arrays");if(A(b))for(var c=a.length=0;c<b.length;c++)a.push(U(b[c]));else for(c in o(a,function(b,c){delete a[c]}),b)a[c]=U(b[c])}else(a=b)&&(A(b)?a=U(b,[]):qa(b)?a=new Date(b.getTime()):L(b)&&(a=U(b,{})));return a}function nc(b,a){var a=a||{},c;for(c in b)b.hasOwnProperty(c)&&c.substr(0,2)!=="$$"&&(a[c]=b[c]);return a}
    function ka(b,a){if(b===a)return!0;if(b===null||a===null)return!1;if(b!==b&&a!==a)return!0;var c=typeof b,d;if(c==typeof a&&c=="object")if(A(b)){if((c=b.length)==a.length){for(d=0;d<c;d++)if(!ka(b[d],a[d]))return!1;return!0}}else if(qa(b))return qa(a)&&b.getTime()==a.getTime();else{if(b&&b.$evalAsync&&b.$watch||a&&a.$evalAsync&&a.$watch||ra(b)||ra(a))return!1;c={};for(d in b)if(!(d.charAt(0)==="$"||I(b[d]))){if(!ka(b[d],a[d]))return!1;c[d]=!0}for(d in a)if(!c[d]&&d.charAt(0)!=="$"&&a[d]!==q&&!I(a[d]))return!1;
    return!0}return!1}function Za(b,a){var c=arguments.length>2?la.call(arguments,2):[];return I(a)&&!(a instanceof RegExp)?c.length?function(){return arguments.length?a.apply(b,c.concat(la.call(arguments,0))):a.apply(b,c)}:function(){return arguments.length?a.apply(b,arguments):a.call(b)}:a}function oc(b,a){var c=a;/^\$+/.test(b)?c=q:ra(a)?c="$WINDOW":a&&W===a?c="$DOCUMENT":a&&a.$evalAsync&&a.$watch&&(c="$SCOPE");return c}function ea(b,a){return JSON.stringify(b,oc,a?" ":null)}function sb(b){return C(b)?
    JSON.parse(b):b}function ta(b){b&&b.length!==0?(b=J(""+b),b=!(b=="f"||b=="0"||b=="false"||b=="no"||b=="n"||b=="[]")):b=!1;return b}function ua(b){b=v(b).clone();try{b.html("")}catch(a){}var c=v("<div>").append(b).html();try{return b[0].nodeType===3?J(c):c.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(a,b){return"<"+J(b)})}catch(d){return J(c)}}function tb(b){var a={},c,d;o((b||"").split("&"),function(b){b&&(c=b.split("="),d=decodeURIComponent(c[0]),a[d]=u(c[1])?decodeURIComponent(c[1]):!0)});
    return a}function ub(b){var a=[];o(b,function(b,d){a.push(va(d,!0)+(b===!0?"":"="+va(b,!0)))});return a.length?a.join("&"):""}function $a(b){return va(b,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function va(b,a){return encodeURIComponent(b).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,a?"%20":"+")}function pc(b,a){function c(a){a&&d.push(a)}var d=[b],e,f,i=["ng:app","ng-app","x-ng-app","data-ng-app"],h=/\sng[:\-]app(:\s*([\w\d_]+);?)?\s/;
    o(i,function(a){i[a]=!0;c(W.getElementById(a));a=a.replace(":","\\:");b.querySelectorAll&&(o(b.querySelectorAll("."+a),c),o(b.querySelectorAll("."+a+"\\:"),c),o(b.querySelectorAll("["+a+"]"),c))});o(d,function(a){if(!e){var b=h.exec(" "+a.className+" ");b?(e=a,f=(b[2]||"").replace(/\s+/g,",")):o(a.attributes,function(b){if(!e&&i[b.name])e=a,f=b.value})}});e&&a(e,f?[f]:[])}function vb(b,a){var c=function(){b=v(b);a=a||[];a.unshift(["$provide",function(a){a.value("$rootElement",b)}]);a.unshift("ng");
    var c=wb(a);c.invoke(["$rootScope","$rootElement","$compile","$injector",function(a,b,c,d){a.$apply(function(){b.data("$injector",d);c(b)(a)})}]);return c},d=/^NG_DEFER_BOOTSTRAP!/;if(M&&!d.test(M.name))return c();M.name=M.name.replace(d,"");Ga.resumeBootstrap=function(b){o(b,function(b){a.push(b)});c()}}function ab(b,a){a=a||"_";return b.replace(qc,function(b,d){return(d?a:"")+b.toLowerCase()})}function bb(b,a,c){if(!b)throw Error("Argument '"+(a||"?")+"' is "+(c||"required"));return b}function wa(b,
    a,c){c&&A(b)&&(b=b[b.length-1]);bb(I(b),a,"not a function, got "+(b&&typeof b=="object"?b.constructor.name||"Object":typeof b));return b}function rc(b){function a(a,b,e){return a[b]||(a[b]=e())}return a(a(b,"angular",Object),"module",function(){var b={};return function(d,e,f){e&&b.hasOwnProperty(d)&&(b[d]=null);return a(b,d,function(){function a(c,d,e){return function(){b[e||"push"]([c,d,arguments]);return k}}if(!e)throw Error("No module: "+d);var b=[],c=[],g=a("$injector","invoke"),k={_invokeQueue:b,
    _runBlocks:c,requires:e,name:d,provider:a("$provide","provider"),factory:a("$provide","factory"),service:a("$provide","service"),value:a("$provide","value"),constant:a("$provide","constant","unshift"),animation:a("$animationProvider","register"),filter:a("$filterProvider","register"),controller:a("$controllerProvider","register"),directive:a("$compileProvider","directive"),config:g,run:function(a){c.push(a);return this}};f&&g(f);return k})}})}function Ha(b){return b.replace(sc,function(a,b,d,e){return e?
    d.toUpperCase():d}).replace(tc,"Moz$1")}function cb(b,a){function c(){var e;for(var b=[this],c=a,i,h,j,g,k,l;b.length;){i=b.shift();h=0;for(j=i.length;h<j;h++){g=v(i[h]);c?g.triggerHandler("$destroy"):c=!c;k=0;for(e=(l=g.children()).length,g=e;k<g;k++)b.push(da(l[k]))}}return d.apply(this,arguments)}var d=da.fn[b],d=d.$original||d;c.$original=d;da.fn[b]=c}function Q(b){if(b instanceof Q)return b;if(!(this instanceof Q)){if(C(b)&&b.charAt(0)!="<")throw Error("selectors not implemented");return new Q(b)}if(C(b)){var a=
    W.createElement("div");a.innerHTML="<div>&#160;</div>"+b;a.removeChild(a.firstChild);db(this,a.childNodes);this.remove()}else db(this,b)}function eb(b){return b.cloneNode(!0)}function xa(b){xb(b);for(var a=0,b=b.childNodes||[];a<b.length;a++)xa(b[a])}function yb(b,a,c){var d=$(b,"events");$(b,"handle")&&(B(a)?o(d,function(a,c){fb(b,c,a);delete d[c]}):B(c)?(fb(b,a,d[a]),delete d[a]):sa(d[a],c))}function xb(b){var a=b[Ia],c=Ja[a];c&&(c.handle&&(c.events.$destroy&&c.handle({},"$destroy"),yb(b)),delete Ja[a],
    b[Ia]=q)}function $(b,a,c){var d=b[Ia],d=Ja[d||-1];if(u(c))d||(b[Ia]=d=++uc,d=Ja[d]={}),d[a]=c;else return d&&d[a]}function zb(b,a,c){var d=$(b,"data"),e=u(c),f=!e&&u(a),i=f&&!L(a);!d&&!i&&$(b,"data",d={});if(e)d[a]=c;else if(f)if(i)return d&&d[a];else t(d,a);else return d}function Ka(b,a){return(" "+b.className+" ").replace(/[\n\t]/g," ").indexOf(" "+a+" ")>-1}function Ab(b,a){a&&o(a.split(" "),function(a){b.className=T((" "+b.className+" ").replace(/[\n\t]/g," ").replace(" "+T(a)+" "," "))})}function Bb(b,
    a){a&&o(a.split(" "),function(a){if(!Ka(b,a))b.className=T(b.className+" "+T(a))})}function db(b,a){if(a)for(var a=!a.nodeName&&u(a.length)&&!ra(a)?a:[a],c=0;c<a.length;c++)b.push(a[c])}function Cb(b,a){return La(b,"$"+(a||"ngController")+"Controller")}function La(b,a,c){b=v(b);for(b[0].nodeType==9&&(b=b.find("html"));b.length;){if(c=b.data(a))return c;b=b.parent()}}function Db(b,a){var c=Ma[a.toLowerCase()];return c&&Eb[b.nodeName]&&c}function vc(b,a){var c=function(c,e){if(!c.preventDefault)c.preventDefault=
    function(){c.returnValue=!1};if(!c.stopPropagation)c.stopPropagation=function(){c.cancelBubble=!0};if(!c.target)c.target=c.srcElement||W;if(B(c.defaultPrevented)){var f=c.preventDefault;c.preventDefault=function(){c.defaultPrevented=!0;f.call(c)};c.defaultPrevented=!1}c.isDefaultPrevented=function(){return c.defaultPrevented};o(a[e||c.type],function(a){a.call(b,c)});X<=8?(c.preventDefault=null,c.stopPropagation=null,c.isDefaultPrevented=null):(delete c.preventDefault,delete c.stopPropagation,delete c.isDefaultPrevented)};
    c.elem=b;return c}function ma(b){var a=typeof b,c;if(a=="object"&&b!==null)if(typeof(c=b.$$hashKey)=="function")c=b.$$hashKey();else{if(c===q)c=b.$$hashKey=Ea()}else c=b;return a+":"+c}function Na(b){o(b,this.put,this)}function Fb(b){var a,c;if(typeof b=="function"){if(!(a=b.$inject))a=[],c=b.toString().replace(wc,""),c=c.match(xc),o(c[1].split(yc),function(b){b.replace(zc,function(b,c,d){a.push(d)})}),b.$inject=a}else A(b)?(c=b.length-1,wa(b[c],"fn"),a=b.slice(0,c)):wa(b,"fn",!0);return a}function wb(b){function a(a){return function(b,
    c){if(L(b))o(b,qb(a));else return a(b,c)}}function c(a,b){if(I(b)||A(b))b=l.instantiate(b);if(!b.$get)throw Error("Provider "+a+" must define $get factory method.");return k[a+h]=b}function d(a,b){return c(a,{$get:b})}function e(a){var b=[];o(a,function(a){if(!g.get(a))if(g.put(a,!0),C(a)){var c=ya(a);b=b.concat(e(c.requires)).concat(c._runBlocks);try{for(var d=c._invokeQueue,c=0,h=d.length;c<h;c++){var f=d[c],n=l.get(f[0]);n[f[1]].apply(n,f[2])}}catch(j){throw j.message&&(j.message+=" from "+a),
    j;}}else if(I(a))try{b.push(l.invoke(a))}catch(i){throw i.message&&(i.message+=" from "+a),i;}else if(A(a))try{b.push(l.invoke(a))}catch(k){throw k.message&&(k.message+=" from "+String(a[a.length-1])),k;}else wa(a,"module")});return b}function f(a,b){function c(d){if(typeof d!=="string")throw Error("Service name expected");if(a.hasOwnProperty(d)){if(a[d]===i)throw Error("Circular dependency: "+j.join(" <- "));return a[d]}else try{return j.unshift(d),a[d]=i,a[d]=b(d)}finally{j.shift()}}function d(a,
    b,e){var g=[],h=Fb(a),f,j,n;j=0;for(f=h.length;j<f;j++)n=h[j],g.push(e&&e.hasOwnProperty(n)?e[n]:c(n));a.$inject||(a=a[f]);switch(b?-1:g.length){case 0:return a();case 1:return a(g[0]);case 2:return a(g[0],g[1]);case 3:return a(g[0],g[1],g[2]);case 4:return a(g[0],g[1],g[2],g[3]);case 5:return a(g[0],g[1],g[2],g[3],g[4]);case 6:return a(g[0],g[1],g[2],g[3],g[4],g[5]);case 7:return a(g[0],g[1],g[2],g[3],g[4],g[5],g[6]);case 8:return a(g[0],g[1],g[2],g[3],g[4],g[5],g[6],g[7]);case 9:return a(g[0],g[1],
    g[2],g[3],g[4],g[5],g[6],g[7],g[8]);case 10:return a(g[0],g[1],g[2],g[3],g[4],g[5],g[6],g[7],g[8],g[9]);default:return a.apply(b,g)}}return{invoke:d,instantiate:function(a,b){var c=function(){},e;c.prototype=(A(a)?a[a.length-1]:a).prototype;c=new c;e=d(a,c,b);return L(e)?e:c},get:c,annotate:Fb}}var i={},h="Provider",j=[],g=new Na,k={$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,R(b))}),
    constant:a(function(a,b){k[a]=b;m[a]=b}),decorator:function(a,b){var c=l.get(a+h),d=c.$get;c.$get=function(){var a=s.invoke(d,c);return s.invoke(b,null,{$delegate:a})}}}},l=k.$injector=f(k,function(){throw Error("Unknown provider: "+j.join(" <- "));}),m={},s=m.$injector=f(m,function(a){a=l.get(a+h);return s.invoke(a.$get,a)});o(e(b),function(a){s.invoke(a||w)});return s}function Ac(){var b=!0;this.disableAutoScrolling=function(){b=!1};this.$get=["$window","$location","$rootScope",function(a,c,d){function e(a){var b=
    null;o(a,function(a){!b&&J(a.nodeName)==="a"&&(b=a)});return b}function f(){var b=c.hash(),d;b?(d=i.getElementById(b))?d.scrollIntoView():(d=e(i.getElementsByName(b)))?d.scrollIntoView():b==="top"&&a.scrollTo(0,0):a.scrollTo(0,0)}var i=a.document;b&&d.$watch(function(){return c.hash()},function(){d.$evalAsync(f)});return f}]}function Gb(b){this.register=function(a,c){b.factory(Ha(a)+"Animation",c)};this.$get=["$injector",function(a){return function(b){if(b)try{return a.get(Ha(b)+"Animation")}catch(d){}}}]}
    function Bc(b,a,c,d){function e(a){try{a.apply(null,la.call(arguments,1))}finally{if(n--,n===0)for(;y.length;)try{y.pop()()}catch(b){c.error(b)}}}function f(a,b){(function E(){o(r,function(a){a()});p=b(E,a)})()}function i(){z!=h.url()&&(z=h.url(),o(x,function(a){a(h.url())}))}var h=this,j=a[0],g=b.location,k=b.history,l=b.setTimeout,m=b.clearTimeout,s={};h.isMock=!1;var n=0,y=[];h.$$completeOutstandingRequest=e;h.$$incOutstandingRequestCount=function(){n++};h.notifyWhenNoOutstandingRequests=function(a){o(r,
    function(a){a()});n===0?a():y.push(a)};var r=[],p;h.addPollFn=function(a){B(p)&&f(100,l);r.push(a);return a};var z=g.href,F=a.find("base");h.url=function(a,b){if(a){if(z!=a)return z=a,d.history?b?k.replaceState(null,"",a):(k.pushState(null,"",a),F.attr("href",F.attr("href"))):b?g.replace(a):g.href=a,h}else return g.href.replace(/%27/g,"'")};var x=[],S=!1;h.onUrlChange=function(a){S||(d.history&&v(b).bind("popstate",i),d.hashchange?v(b).bind("hashchange",i):h.addPollFn(i),S=!0);x.push(a);return a};
    h.baseHref=function(){var a=F.attr("href");return a?a.replace(/^https?\:\/\/[^\/]*/,""):""};var G={},N="",H=h.baseHref();h.cookies=function(a,b){var d,e,g,h;if(a)if(b===q)j.cookie=escape(a)+"=;path="+H+";expires=Thu, 01 Jan 1970 00:00:00 GMT";else{if(C(b))d=(j.cookie=escape(a)+"="+escape(b)+";path="+H).length+1,d>4096&&c.warn("Cookie '"+a+"' possibly not set or overflowed because it was too large ("+d+" > 4096 bytes)!")}else{if(j.cookie!==N){N=j.cookie;d=N.split("; ");G={};for(g=0;g<d.length;g++)e=
    d[g],h=e.indexOf("="),h>0&&(G[unescape(e.substring(0,h))]=unescape(e.substring(h+1)))}return G}};h.defer=function(a,b){var c;n++;c=l(function(){delete s[c];e(a)},b||0);s[c]=!0;return c};h.defer.cancel=function(a){return s[a]?(delete s[a],m(a),e(w),!0):!1}}function Cc(){this.$get=["$window","$log","$sniffer","$document",function(b,a,c,d){return new Bc(b,d,a,c)}]}function Dc(){this.$get=function(){function b(b,d){function e(a){if(a!=l){if(m){if(m==a)m=a.n}else m=a;f(a.n,a.p);f(a,l);l=a;l.n=null}}function f(a,
    b){if(a!=b){if(a)a.p=b;if(b)b.n=a}}if(b in a)throw Error("cacheId "+b+" taken");var i=0,h=t({},d,{id:b}),j={},g=d&&d.capacity||Number.MAX_VALUE,k={},l=null,m=null;return a[b]={put:function(a,b){var c=k[a]||(k[a]={key:a});e(c);if(!B(b))return a in j||i++,j[a]=b,i>g&&this.remove(m.key),b},get:function(a){var b=k[a];if(b)return e(b),j[a]},remove:function(a){var b=k[a];if(b){if(b==l)l=b.p;if(b==m)m=b.n;f(b.n,b.p);delete k[a];delete j[a];i--}},removeAll:function(){j={};i=0;k={};l=m=null},destroy:function(){k=
    h=j=null;delete a[b]},info:function(){return t({},h,{size:i})}}}var a={};b.info=function(){var b={};o(a,function(a,e){b[e]=a.info()});return b};b.get=function(b){return a[b]};return b}}function Ec(){this.$get=["$cacheFactory",function(b){return b("templates")}]}function Hb(b){var a={},c="Directive",d=/^\s*directive\:\s*([\d\w\-_]+)\s+(.*)$/,e=/(([\d\w\-_]+)(?:\:([^;]+))?;?)/,f="Template must have exactly one root element. was: ",i=/^\s*(https?|ftp|mailto|file):/;this.directive=function j(d,e){C(d)?
    (bb(e,"directive"),a.hasOwnProperty(d)||(a[d]=[],b.factory(d+c,["$injector","$exceptionHandler",function(b,c){var e=[];o(a[d],function(a){try{var f=b.invoke(a);if(I(f))f={compile:R(f)};else if(!f.compile&&f.link)f.compile=R(f.link);f.priority=f.priority||0;f.name=f.name||d;f.require=f.require||f.controller&&f.name;f.restrict=f.restrict||"A";e.push(f)}catch(j){c(j)}});return e}])),a[d].push(e)):o(d,qb(j));return this};this.urlSanitizationWhitelist=function(a){return u(a)?(i=a,this):i};this.$get=["$injector",
    "$interpolate","$exceptionHandler","$http","$templateCache","$parse","$controller","$rootScope","$document",function(b,g,k,l,m,s,n,y,r){function p(a,b,c){a instanceof v||(a=v(a));o(a,function(b,c){b.nodeType==3&&b.nodeValue.match(/\S+/)&&(a[c]=v(b).wrap("<span></span>").parent()[0])});var d=F(a,b,a,c);return function(b,c){bb(b,"scope");for(var e=c?Aa.clone.call(a):a,g=0,f=e.length;g<f;g++){var j=e[g];(j.nodeType==1||j.nodeType==9)&&e.eq(g).data("$scope",b)}z(e,"ng-scope");c&&c(e,b);d&&d(b,e,e);return e}}
    function z(a,b){try{a.addClass(b)}catch(c){}}function F(a,b,c,d){function e(a,c,d,f){var j,i,k,m,n,l,s,p=[];n=0;for(l=c.length;n<l;n++)p.push(c[n]);s=n=0;for(l=g.length;n<l;s++)i=p[s],c=g[n++],j=g[n++],c?(c.scope?(k=a.$new(L(c.scope)),v(i).data("$scope",k)):k=a,(m=c.transclude)||!f&&b?c(j,k,i,d,function(b){return function(c){var d=a.$new();d.$$transcluded=!0;return b(d,c).bind("$destroy",Za(d,d.$destroy))}}(m||b)):c(j,k,i,q,f)):j&&j(a,i.childNodes,q,f)}for(var g=[],f,j,i,k=0;k<a.length;k++)j=new za,
    f=x(a[k],[],j,d),j=(f=f.length?S(f,a[k],j,b,c):null)&&f.terminal||!a[k].childNodes||!a[k].childNodes.length?null:F(a[k].childNodes,f?f.transclude:b),g.push(f),g.push(j),i=i||f||j;return i?e:null}function x(a,b,c,g){var f=c.$attr,j;switch(a.nodeType){case 1:G(b,aa(gb(a).toLowerCase()),"E",g);var i,k,n;j=a.attributes;for(var m=0,l=j&&j.length;m<l;m++)if(i=j[m],i.specified)k=i.name,n=aa(k),ia.test(n)&&(k=n.substr(6).toLowerCase()),n=aa(k.toLowerCase()),f[n]=k,c[n]=i=T(X&&k=="href"?decodeURIComponent(a.getAttribute(k,
    2)):i.value),Db(a,n)&&(c[n]=!0),E(a,b,i,n),G(b,n,"A",g);a=a.className;if(C(a)&&a!=="")for(;j=e.exec(a);)n=aa(j[2]),G(b,n,"C",g)&&(c[n]=T(j[3])),a=a.substr(j.index+j[0].length);break;case 3:ha(b,a.nodeValue);break;case 8:try{if(j=d.exec(a.nodeValue))n=aa(j[1]),G(b,n,"M",g)&&(c[n]=T(j[2]))}catch(s){}}b.sort(O);return b}function S(a,b,c,d,e){function j(a,b){if(a)a.require=D.require,r.push(a);if(b)b.require=D.require,y.push(b)}function i(a,b){var c,d="data",e=!1;if(C(a)){for(;(c=a.charAt(0))=="^"||c==
    "?";)a=a.substr(1),c=="^"&&(d="inheritedData"),e=e||c=="?";c=b[d]("$"+a+"Controller");if(!c&&!e)throw Error("No controller: "+a);}else A(a)&&(c=[],o(a,function(a){c.push(i(a,b))}));return c}function m(a,d,e,f,j){var l,p,F,x,H;l=b===e?c:nc(c,new za(v(e),c.$attr));p=l.$$element;if(ba){var N=/^\s*([@=&])(\??)\s*(\w*)\s*$/,z=d.$parent||d;o(ba.scope,function(a,b){var c=a.match(N)||[],e=c[3]||b,f=c[2]=="?",c=c[1],j,i,k;d.$$isolateBindings[b]=c+e;switch(c){case "@":l.$observe(e,function(a){d[b]=a});l.$$observers[e].$$scope=
    z;l[e]&&(d[b]=g(l[e])(z));break;case "=":if(f&&!l[e])break;i=s(l[e]);k=i.assign||function(){j=d[b]=i(z);throw Error(Ib+l[e]+" (directive: "+ba.name+")");};j=d[b]=i(z);d.$watch(function(){var a=i(z);a!==d[b]&&(a!==j?j=d[b]=a:k(z,a=j=d[b]));return a});break;case "&":i=s(l[e]);d[b]=function(a){return i(z,a)};break;default:throw Error("Invalid isolate scope definition for directive "+ba.name+": "+a);}})}ia&&o(ia,function(a){var b={$scope:d,$element:p,$attrs:l,$transclude:j};H=a.controller;H=="@"&&(H=
    l[a.name]);p.data("$"+a.name+"Controller",n(H,b))});f=0;for(F=r.length;f<F;f++)try{x=r[f],x(d,p,l,x.require&&i(x.require,p))}catch(O){k(O,ua(p))}a&&a(d,e.childNodes,q,j);f=0;for(F=y.length;f<F;f++)try{x=y[f],x(d,p,l,x.require&&i(x.require,p))}catch(D){k(D,ua(p))}}for(var l=-Number.MAX_VALUE,r=[],y=[],F=null,ba=null,O=null,E=c.$$element=v(b),D,G,S,ha,ja=d,ia,w,t,u=0,B=a.length;u<B;u++){D=a[u];S=q;if(l>D.priority)break;if(t=D.scope)fa("isolated scope",ba,D,E),L(t)&&(z(E,"ng-isolate-scope"),ba=D),z(E,
    "ng-scope"),F=F||D;G=D.name;if(t=D.controller)ia=ia||{},fa("'"+G+"' controller",ia[G],D,E),ia[G]=D;if(t=D.transclude)fa("transclusion",ha,D,E),ha=D,l=D.priority,t=="element"?(S=v(b),E=c.$$element=v(W.createComment(" "+G+": "+c[G]+" ")),b=E[0],ga(e,v(S[0]),b),ja=p(S,d,l)):(S=v(eb(b)).contents(),E.html(""),ja=p(S,d));if(D.template)if(fa("template",O,D,E),O=D,t=I(D.template)?D.template(E,c):D.template,t=Jb(t),D.replace){S=v("<div>"+T(t)+"</div>").contents();b=S[0];if(S.length!=1||b.nodeType!==1)throw Error(f+
    t);ga(e,E,b);G={$attr:{}};a=a.concat(x(b,a.splice(u+1,a.length-(u+1)),G));N(c,G);B=a.length}else E.html(t);if(D.templateUrl)fa("template",O,D,E),O=D,m=H(a.splice(u,a.length-u),m,E,c,e,D.replace,ja),B=a.length;else if(D.compile)try{w=D.compile(E,c,ja),I(w)?j(null,w):w&&j(w.pre,w.post)}catch(J){k(J,ua(E))}if(D.terminal)m.terminal=!0,l=Math.max(l,D.priority)}m.scope=F&&F.scope;m.transclude=ha&&ja;return m}function G(d,e,g,f){var i=!1;if(a.hasOwnProperty(e))for(var n,e=b.get(e+c),l=0,m=e.length;l<m;l++)try{if(n=
    e[l],(f===q||f>n.priority)&&n.restrict.indexOf(g)!=-1)d.push(n),i=!0}catch(s){k(s)}return i}function N(a,b){var c=b.$attr,d=a.$attr,e=a.$$element;o(a,function(d,e){e.charAt(0)!="$"&&(b[e]&&(d+=(e==="style"?";":" ")+b[e]),a.$set(e,d,!0,c[e]))});o(b,function(b,g){g=="class"?(z(e,b),a["class"]=(a["class"]?a["class"]+" ":"")+b):g=="style"?e.attr("style",e.attr("style")+";"+b):g.charAt(0)!="$"&&!a.hasOwnProperty(g)&&(a[g]=b,d[g]=c[g])})}function H(a,b,c,d,e,g,j){var i=[],k,n,s=c[0],p=a.shift(),za=t({},
    p,{controller:null,templateUrl:null,transclude:null,scope:null}),p=I(p.templateUrl)?p.templateUrl(c,d):p.templateUrl;c.html("");l.get(p,{cache:m}).success(function(l){var m,p,l=Jb(l);if(g){p=v("<div>"+T(l)+"</div>").contents();m=p[0];if(p.length!=1||m.nodeType!==1)throw Error(f+l);l={$attr:{}};ga(e,c,m);x(m,a,l);N(d,l)}else m=s,c.html(l);a.unshift(za);k=S(a,m,d,j);for(n=F(c[0].childNodes,j);i.length;){var r=i.shift(),l=i.shift();p=i.shift();var y=i.shift(),H=m;l!==s&&(H=eb(m),ga(p,v(l),H));k(function(){b(n,
    r,H,e,y)},r,H,e,y)}i=null}).error(function(a,b,c,d){throw Error("Failed to load template: "+d.url);});return function(a,c,d,e,g){i?(i.push(c),i.push(d),i.push(e),i.push(g)):k(function(){b(n,c,d,e,g)},c,d,e,g)}}function O(a,b){return b.priority-a.priority}function fa(a,b,c,d){if(b)throw Error("Multiple directives ["+b.name+", "+c.name+"] asking for "+a+" on: "+ua(d));}function ha(a,b){var c=g(b,!0);c&&a.push({priority:0,compile:R(function(a,b){var d=b.parent(),e=d.data("$binding")||[];e.push(c);z(d.data("$binding",
    e),"ng-binding");a.$watch(c,function(a){b[0].nodeValue=a})})})}function E(a,b,c,d){var e=g(c,!0);e&&b.push({priority:100,compile:R(function(a,b,c){b=c.$$observers||(c.$$observers={});if(e=g(c[d],!0))c[d]=e(a),(b[d]||(b[d]=[])).$$inter=!0,(c.$$observers&&c.$$observers[d].$$scope||a).$watch(e,function(a){c.$set(d,a)})})})}function ga(a,b,c){var d=b[0],e=d.parentNode,g,f;if(a){g=0;for(f=a.length;g<f;g++)if(a[g]==d){a[g]=c;break}}e&&e.replaceChild(c,d);c[v.expando]=d[v.expando];b[0]=c}var za=function(a,
    b){this.$$element=a;this.$attr=b||{}};za.prototype={$normalize:aa,$set:function(a,b,c,d){var e=Db(this.$$element[0],a),g=this.$$observers;e&&(this.$$element.prop(a,b),d=e);this[a]=b;d?this.$attr[a]=d:(d=this.$attr[a])||(this.$attr[a]=d=ab(a,"-"));if(gb(this.$$element[0])==="A"&&a==="href")ba.setAttribute("href",b),e=ba.href,e.match(i)||(this[a]=b="unsafe:"+e);c!==!1&&(b===null||b===q?this.$$element.removeAttr(d):this.$$element.attr(d,b));g&&o(g[a],function(a){try{a(b)}catch(c){k(c)}})},$observe:function(a,
    b){var c=this,d=c.$$observers||(c.$$observers={}),e=d[a]||(d[a]=[]);e.push(b);y.$evalAsync(function(){e.$$inter||b(c[a])});return b}};var ba=r[0].createElement("a"),D=g.startSymbol(),ja=g.endSymbol(),Jb=D=="{{"||ja=="}}"?pa:function(a){return a.replace(/\{\{/g,D).replace(/}}/g,ja)},ia=/^ngAttr[A-Z]/;return p}]}function aa(b){return Ha(b.replace(Fc,""))}function Gc(){var b={};this.register=function(a,c){L(a)?t(b,a):b[a]=c};this.$get=["$injector","$window",function(a,c){return function(d,e){if(C(d)){var f=
    d,d=b.hasOwnProperty(f)?b[f]:hb(e.$scope,f,!0)||hb(c,f,!0);wa(d,f,!0)}return a.instantiate(d,e)}}]}function Hc(){this.$get=["$window",function(b){return v(b.document)}]}function Ic(){this.$get=["$log",function(b){return function(a,c){b.error.apply(b,arguments)}}]}function Jc(){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",function(c,d){function e(e,j){for(var g,k,l=0,m=[],s=e.length,n=
    !1,y=[];l<s;)(g=e.indexOf(b,l))!=-1&&(k=e.indexOf(a,g+f))!=-1?(l!=g&&m.push(e.substring(l,g)),m.push(l=c(n=e.substring(g+f,k))),l.exp=n,l=k+i,n=!0):(l!=s&&m.push(e.substring(l)),l=s);if(!(s=m.length))m.push(""),s=1;if(!j||n)return y.length=s,l=function(a){try{for(var b=0,c=s,g;b<c;b++){if(typeof(g=m[b])=="function")g=g(a),g==null||g==q?g="":typeof g!="string"&&(g=ea(g));y[b]=g}return y.join("")}catch(f){d(Error("Error while interpolating: "+e+"\n"+f.toString()))}},l.exp=e,l.parts=m,l}var f=b.length,
    i=a.length;e.startSymbol=function(){return b};e.endSymbol=function(){return a};return e}]}function Kb(b){for(var b=b.split("/"),a=b.length;a--;)b[a]=$a(b[a]);return b.join("/")}function Lb(b,a){var c=ib.exec(b);a.$$protocol=c[1];a.$$host=c[3];a.$$port=K(c[5])||Oa[c[1]]||null}function Mb(b,a){var c=Nb.exec(b);a.$$path=decodeURIComponent(c[1]);a.$$search=tb(c[3]);a.$$hash=decodeURIComponent(c[5]||"");if(a.$$path&&a.$$path.charAt(0)!="/")a.$$path="/"+a.$$path}function ca(b,a,c){return a.indexOf(b)==
    0?a.substr(b.length):c}function Ba(b){var a=b.indexOf("#");return a==-1?b:b.substr(0,a)}function jb(b){return b.substr(0,Ba(b).lastIndexOf("/")+1)}function Ob(b,a){var a=a||"",c=jb(b);this.$$parse=function(a){var b={};Lb(a,b);var f=ca(c,a);if(!C(f))throw Error('Invalid url "'+a+'", missing path prefix "'+c+'".');Mb(f,b);t(this,b);if(!this.$$path)this.$$path="/";this.$$compose()};this.$$compose=function(){var a=ub(this.$$search),b=this.$$hash?"#"+$a(this.$$hash):"";this.$$url=Kb(this.$$path)+(a?"?"+
    a:"")+b;this.$$absUrl=c+this.$$url.substr(1)};this.$$rewrite=function(d){var e;if((e=ca(b,d))!==q)return(e=ca(a,e))!==q?c+(ca("/",e)||e):b;else if(e=ca(c,d))return c+e;else if(c==d+"/")return c}}function kb(b,a){var c=jb(b);this.$$parse=function(d){Lb(d,this);var e=ca(b,d)||ca(c,d);if(!C(e))throw Error('Invalid url "'+d+'", does not start with "'+b+'".');e=e.charAt(0)=="#"?ca(a,e):e;if(!C(e))throw Error('Invalid url "'+d+'", missing hash prefix "'+a+'".');Mb(e,this);this.$$compose()};this.$$compose=
    function(){var c=ub(this.$$search),e=this.$$hash?"#"+$a(this.$$hash):"";this.$$url=Kb(this.$$path)+(c?"?"+c:"")+e;this.$$absUrl=b+(this.$$url?a+this.$$url:"")};this.$$rewrite=function(a){if(Ba(b)==Ba(a))return a}}function Pb(b,a){kb.apply(this,arguments);var c=jb(b);this.$$rewrite=function(d){var e;if(b==Ba(d))return d;else if(e=ca(c,d))return b+a+e;else if(c===d+"/")return c}}function Pa(b){return function(){return this[b]}}function Qb(b,a){return function(c){if(B(c))return this[b];this[b]=a(c);
    this.$$compose();return this}}function Kc(){var b="",a=!1;this.hashPrefix=function(a){return u(a)?(b=a,this):b};this.html5Mode=function(b){return u(b)?(a=b,this):a};this.$get=["$rootScope","$browser","$sniffer","$rootElement",function(c,d,e,f){function i(a){c.$broadcast("$locationChangeSuccess",h.absUrl(),a)}var h,j=d.baseHref(),g=d.url();a?(j=j?g.substring(0,g.indexOf("/",g.indexOf("//")+2))+j:g,e=e.history?Ob:Pb):(j=Ba(g),e=kb);h=new e(j,"#"+b);h.$$parse(h.$$rewrite(g));f.bind("click",function(a){if(!a.ctrlKey&&
    !(a.metaKey||a.which==2)){for(var b=v(a.target);J(b[0].nodeName)!=="a";)if(b[0]===f[0]||!(b=b.parent())[0])return;var d=b.prop("href"),e=h.$$rewrite(d);d&&!b.attr("target")&&e&&(h.$$parse(e),c.$apply(),a.preventDefault(),M.angular["ff-684208-preventDefault"]=!0)}});h.absUrl()!=g&&d.url(h.absUrl(),!0);d.onUrlChange(function(a){h.absUrl()!=a&&(c.$evalAsync(function(){var b=h.absUrl();h.$$parse(a);i(b)}),c.$$phase||c.$digest())});var k=0;c.$watch(function(){var a=d.url(),b=h.$$replace;if(!k||a!=h.absUrl())k++,
    c.$evalAsync(function(){c.$broadcast("$locationChangeStart",h.absUrl(),a).defaultPrevented?h.$$parse(a):(d.url(h.absUrl(),b),i(a))});h.$$replace=!1;return k});return h}]}function Lc(){var b=!0,a=this;this.debugEnabled=function(a){return u(a)?(b=a,this):b};this.$get=["$window",function(c){function d(a){a instanceof Error&&(a.stack?a=a.message&&a.stack.indexOf(a.message)===-1?"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||w;return e.apply?function(){var a=[];o(arguments,function(b){a.push(d(b))});return e.apply(b,a)}:function(a,b){e(a,b)}}return{log:e("log"),warn:e("warn"),info:e("info"),error:e("error"),debug:function(){var c=e("debug");return function(){b&&c.apply(a,arguments)}}()}}]}function Mc(b,a){function c(a){return a.indexOf(r)!=-1}function d(a){a=a||1;return n+a<b.length?b.charAt(n+a):!1}function e(a){return"0"<=a&&a<="9"}function f(a){return a==" "||a=="\r"||a=="\t"||a=="\n"||
    a=="\u000b"||a=="\u00a0"}function i(a){return"a"<=a&&a<="z"||"A"<=a&&a<="Z"||"_"==a||a=="$"}function h(a){return a=="-"||a=="+"||e(a)}function j(a,c,d){d=d||n;throw Error("Lexer Error: "+a+" at column"+(u(c)?"s "+c+"-"+n+" ["+b.substring(c,d)+"]":" "+d)+" in expression ["+b+"].");}function g(){for(var a="",c=n;n<b.length;){var g=J(b.charAt(n));if(g=="."||e(g))a+=g;else{var f=d();if(g=="e"&&h(f))a+=g;else if(h(g)&&f&&e(f)&&a.charAt(a.length-1)=="e")a+=g;else if(h(g)&&(!f||!e(f))&&a.charAt(a.length-
    1)=="e")j("Invalid exponent");else break}n++}a*=1;m.push({index:c,text:a,json:!0,fn:function(){return a}})}function k(){for(var c="",d=n,g,h,j;n<b.length;){var k=b.charAt(n);if(k=="."||i(k)||e(k))k=="."&&(g=n),c+=k;else break;n++}if(g)for(h=n;h<b.length;){k=b.charAt(h);if(k=="("){j=c.substr(g-d+1);c=c.substr(0,g-d);n=h;break}if(f(k))h++;else break}d={index:d,text:c};if(Ca.hasOwnProperty(c))d.fn=d.json=Ca[c];else{var l=Rb(c,a);d.fn=t(function(a,b){return l(a,b)},{assign:function(a,b){return Sb(a,c,
    b)}})}m.push(d);j&&(m.push({index:g,text:".",json:!1}),m.push({index:g+1,text:j,json:!1}))}function l(a){var c=n;n++;for(var d="",e=a,g=!1;n<b.length;){var h=b.charAt(n);e+=h;if(g)h=="u"?(h=b.substring(n+1,n+5),h.match(/[\da-f]{4}/i)||j("Invalid unicode escape [\\u"+h+"]"),n+=4,d+=String.fromCharCode(parseInt(h,16))):(g=Nc[h],d+=g?g:h),g=!1;else if(h=="\\")g=!0;else if(h==a){n++;m.push({index:c,text:e,string:d,json:!0,fn:function(){return d}});return}else d+=h;n++}j("Unterminated quote",c)}for(var m=
    [],s,n=0,y=[],r,p=":";n<b.length;){r=b.charAt(n);if(c("\"'"))l(r);else if(e(r)||c(".")&&e(d()))g();else if(i(r)){if(k(),"{,".indexOf(p)!=-1&&y[0]=="{"&&(s=m[m.length-1]))s.json=s.text.indexOf(".")==-1}else if(c("(){}[].,;:"))m.push({index:n,text:r,json:":[,".indexOf(p)!=-1&&c("{[")||c("}]:,")}),c("{[")&&y.unshift(r),c("}]")&&y.shift(),n++;else if(f(r)){n++;continue}else{var z=r+d(),F=z+d(2),x=Ca[r],o=Ca[z],G=Ca[F];G?(m.push({index:n,text:F,fn:G}),n+=3):o?(m.push({index:n,text:z,fn:o}),n+=2):x?(m.push({index:n,
    text:r,fn:x,json:"[,:".indexOf(p)!=-1&&c("+-")}),n+=1):j("Unexpected next character ",n,n+1)}p=r}return m}function Oc(b,a,c,d){function e(a,c){throw Error("Syntax Error: Token '"+c.text+"' "+a+" at column "+(c.index+1)+" of the expression ["+b+"] starting at ["+b.substring(c.index)+"].");}function f(){if(H.length===0)throw Error("Unexpected end of expression: "+b);return H[0]}function i(a,b,c,d){if(H.length>0){var e=H[0],g=e.text;if(g==a||g==b||g==c||g==d||!a&&!b&&!c&&!d)return e}return!1}function h(b,
    c,d,g){return(b=i(b,c,d,g))?(a&&!b.json&&e("is not valid json",b),H.shift(),b):!1}function j(a){h(a)||e("is unexpected, expecting ["+a+"]",i())}function g(a,b){return t(function(c,d){return a(c,d,b)},{constant:b.constant})}function k(a,b,c){return t(function(d,e){return b(d,e,a,c)},{constant:a.constant&&c.constant})}function l(){for(var a=[];;)if(H.length>0&&!i("}",")",";","]")&&a.push(ga()),!h(";"))return a.length==1?a[0]:function(b,c){for(var d,e=0;e<a.length;e++){var g=a[e];g&&(d=g(b,c))}return d}}
    function m(){for(var a=h(),b=c(a.text),d=[];;)if(a=h(":"))d.push(O());else{var e=function(a,c,e){for(var e=[e],g=0;g<d.length;g++)e.push(d[g](a,c));return b.apply(a,e)};return function(){return e}}}function s(){for(var a=n(),b;;)if(b=h("||"))a=k(a,b.fn,n());else return a}function n(){var a=y(),b;if(b=h("&&"))a=k(a,b.fn,n());return a}function y(){var a=r(),b;if(b=h("==","!=","===","!=="))a=k(a,b.fn,y());return a}function r(){var a;a=p();for(var b;b=h("+","-");)a=k(a,b.fn,p());if(b=h("<",">","<=",">="))a=
    k(a,b.fn,r());return a}function p(){for(var a=z(),b;b=h("*","/","%");)a=k(a,b.fn,z());return a}function z(){var a;return h("+")?F():(a=h("-"))?k(G,a.fn,z()):(a=h("!"))?g(a.fn,z()):F()}function F(){var a;if(h("("))a=ga(),j(")");else if(h("["))a=x();else if(h("{"))a=o();else{var b=h();(a=b.fn)||e("not a primary expression",b);if(b.json)a.constant=a.literal=!0}for(var c;b=h("(","[",".");)b.text==="("?(a=fa(a,c),c=null):b.text==="["?(c=a,a=E(a)):b.text==="."?(c=a,a=ha(a)):e("IMPOSSIBLE");return a}function x(){var a=
    [],b=!0;if(f().text!="]"){do{var c=O();a.push(c);c.constant||(b=!1)}while(h(","))}j("]");return t(function(b,c){for(var d=[],e=0;e<a.length;e++)d.push(a[e](b,c));return d},{literal:!0,constant:b})}function o(){var a=[],b=!0;if(f().text!="}"){do{var c=h(),c=c.string||c.text;j(":");var d=O();a.push({key:c,value:d});d.constant||(b=!1)}while(h(","))}j("}");return t(function(b,c){for(var d={},e=0;e<a.length;e++){var g=a[e],h=g.value(b,c);d[g.key]=h}return d},{literal:!0,constant:b})}var G=R(0),N,H=Mc(b,
    d),O=function(){var a=s(),c,d;return(d=h("="))?(a.assign||e("implies assignment but ["+b.substring(0,d.index)+"] can not be assigned to",d),c=s(),function(b,d){return a.assign(b,c(b,d),d)}):a},fa=function(a,b){var c=[];if(f().text!=")"){do c.push(O());while(h(","))}j(")");return function(d,e){for(var g=[],h=b?b(d,e):d,f=0;f<c.length;f++)g.push(c[f](d,e));f=a(d,e)||w;return f.apply?f.apply(h,g):f(g[0],g[1],g[2],g[3],g[4])}},ha=function(a){var b=h().text,c=Rb(b,d);return t(function(b,d){return c(a(b,
    d),d)},{assign:function(c,d,e){return Sb(a(c,e),b,d)}})},E=function(a){var b=O();j("]");return t(function(c,d){var e=a(c,d),g=b(c,d),h;if(!e)return q;if((e=e[g])&&e.then){h=e;if(!("$$v"in e))h.$$v=q,h.then(function(a){h.$$v=a});e=e.$$v}return e},{assign:function(c,d,e){return a(c,e)[b(c,e)]=d}})},ga=function(){for(var a=O(),b;;)if(b=h("|"))a=k(a,b.fn,m());else return a};a?(O=s,fa=ha=E=ga=function(){e("is not valid json",{text:b,index:0})},N=F()):N=l();H.length!==0&&e("is an unexpected token",H[0]);
    N.literal=!!N.literal;N.constant=!!N.constant;return N}function Sb(b,a,c){for(var a=a.split("."),d=0;a.length>1;d++){var e=a.shift(),f=b[e];f||(f={},b[e]=f);b=f}return b[a.shift()]=c}function hb(b,a,c){if(!a)return b;for(var a=a.split("."),d,e=b,f=a.length,i=0;i<f;i++)d=a[i],b&&(b=(e=b)[d]);return!c&&I(b)?Za(e,b):b}function Tb(b,a,c,d,e){return function(f,i){var h=i&&i.hasOwnProperty(b)?i:f,j;if(h===null||h===q)return h;if((h=h[b])&&h.then){if(!("$$v"in h))j=h,j.$$v=q,j.then(function(a){j.$$v=a});
    h=h.$$v}if(!a||h===null||h===q)return h;if((h=h[a])&&h.then){if(!("$$v"in h))j=h,j.$$v=q,j.then(function(a){j.$$v=a});h=h.$$v}if(!c||h===null||h===q)return h;if((h=h[c])&&h.then){if(!("$$v"in h))j=h,j.$$v=q,j.then(function(a){j.$$v=a});h=h.$$v}if(!d||h===null||h===q)return h;if((h=h[d])&&h.then){if(!("$$v"in h))j=h,j.$$v=q,j.then(function(a){j.$$v=a});h=h.$$v}if(!e||h===null||h===q)return h;if((h=h[e])&&h.then){if(!("$$v"in h))j=h,j.$$v=q,j.then(function(a){j.$$v=a});h=h.$$v}return h}}function Rb(b,
    a){if(lb.hasOwnProperty(b))return lb[b];var c=b.split("."),d=c.length,e;if(a)e=d<6?Tb(c[0],c[1],c[2],c[3],c[4]):function(a,b){var e=0,g;do g=Tb(c[e++],c[e++],c[e++],c[e++],c[e++])(a,b),b=q,a=g;while(e<d);return g};else{var f="var l, fn, p;\n";o(c,function(a,b){f+="if(s === null || s === undefined) return s;\nl=s;\ns="+(b?"s":'((k&&k.hasOwnProperty("'+a+'"))?k:s)')+'["'+a+'"];\nif (s && s.then) {\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'});
    f+="return s;";e=Function("s","k",f);e.toString=function(){return f}}return lb[b]=e}function Pc(){var b={};this.$get=["$filter","$sniffer",function(a,c){return function(d){switch(typeof d){case "string":return b.hasOwnProperty(d)?b[d]:b[d]=Oc(d,!1,a,c.csp);case "function":return d;default:return w}}}]}function Qc(){this.$get=["$rootScope","$exceptionHandler",function(b,a){return Rc(function(a){b.$evalAsync(a)},a)}]}function Rc(b,a){function c(a){return a}function d(a){return i(a)}var e=function(){var h=
    [],j,g;return g={resolve:function(a){if(h){var c=h;h=q;j=f(a);c.length&&b(function(){for(var a,b=0,d=c.length;b<d;b++)a=c[b],j.then(a[0],a[1])})}},reject:function(a){g.resolve(i(a))},promise:{then:function(b,g){var f=e(),i=function(d){try{f.resolve((b||c)(d))}catch(e){a(e),f.reject(e)}},n=function(b){try{f.resolve((g||d)(b))}catch(c){a(c),f.reject(c)}};h?h.push([i,n]):j.then(i,n);return f.promise}}}},f=function(a){return a&&a.then?a:{then:function(c){var d=e();b(function(){d.resolve(c(a))});return d.promise}}},
    i=function(a){return{then:function(c,g){var f=e();b(function(){f.resolve((g||d)(a))});return f.promise}}};return{defer:e,reject:i,when:function(h,j,g){var k=e(),l,m=function(b){try{return(j||c)(b)}catch(d){return a(d),i(d)}},s=function(b){try{return(g||d)(b)}catch(c){return a(c),i(c)}};b(function(){f(h).then(function(a){l||(l=!0,k.resolve(f(a).then(m,s)))},function(a){l||(l=!0,k.resolve(s(a)))})});return k.promise},all:function(a){var b=e(),c=0,d=A(a)?[]:{};o(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)})});c===0&&b.resolve(d);return b.promise}}}function Sc(){var b={};this.when=function(a,c){b[a]=t({reloadOnSearch:!0,caseInsensitiveMatch:!1},c);if(a){var d=a[a.length-1]=="/"?a.substr(0,a.length-1):a+"/";b[d]={redirectTo:a}}return this};this.otherwise=function(a){this.when(null,a);return this};this.$get=["$rootScope","$location","$routeParams","$q","$injector","$http","$templateCache",function(a,c,d,e,f,i,h){function j(a,b,c){for(var b=
    "^"+b.replace(/[-\/\\^$:*+?.()|[\]{}]/g,"\\$&")+"$",d="",e=[],g={},f=/\\([:*])(\w+)/g,h,i=0;(h=f.exec(b))!==null;){d+=b.slice(i,h.index);switch(h[1]){case ":":d+="([^\\/]*)";break;case "*":d+="(.*)"}e.push(h[2]);i=f.lastIndex}d+=b.substr(i);var j=a.match(RegExp(d,c.caseInsensitiveMatch?"i":""));j&&o(e,function(a,b){g[a]=j[b+1]});return j?g:null}function g(){var b=k(),g=s.current;if(b&&g&&b.$$route===g.$$route&&ka(b.pathParams,g.pathParams)&&!b.reloadOnSearch&&!m)g.params=b.params,U(g.params,d),a.$broadcast("$routeUpdate",
    g);else if(b||g)m=!1,a.$broadcast("$routeChangeStart",b,g),(s.current=b)&&b.redirectTo&&(C(b.redirectTo)?c.path(l(b.redirectTo,b.params)).search(b.params).replace():c.url(b.redirectTo(b.pathParams,c.path(),c.search())).replace()),e.when(b).then(function(){if(b){var a=t({},b.resolve),c;o(a,function(b,c){a[c]=C(b)?f.get(b):f.invoke(b)});if(u(c=b.template))I(c)&&(c=c(b.params));else if(u(c=b.templateUrl))if(I(c)&&(c=c(b.params)),u(c))b.loadedTemplateUrl=c,c=i.get(c,{cache:h}).then(function(a){return a.data});
    u(c)&&(a.$template=c);return e.all(a)}}).then(function(c){if(b==s.current){if(b)b.locals=c,U(b.params,d);a.$broadcast("$routeChangeSuccess",b,g)}},function(c){b==s.current&&a.$broadcast("$routeChangeError",b,g,c)})}function k(){var a,d;o(b,function(b,e){if(!d&&(a=j(c.path(),e,b)))d=rb(b,{params:t({},c.search(),a),pathParams:a}),d.$$route=b});return d||b[null]&&rb(b[null],{params:{},pathParams:{}})}function l(a,b){var c=[];o((a||"").split(":"),function(a,d){if(d==0)c.push(a);else{var e=a.match(/(\w+)(.*)/),
    g=e[1];c.push(b[g]);c.push(e[2]||"");delete b[g]}});return c.join("")}var m=!1,s={routes:b,reload:function(){m=!0;a.$evalAsync(g)}};a.$on("$locationChangeSuccess",g);return s}]}function Tc(){this.$get=R({})}function Uc(){var b=10;this.digestTtl=function(a){arguments.length&&(b=a);return b};this.$get=["$injector","$exceptionHandler","$parse",function(a,c,d){function e(){this.$id=Ea();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.$$listeners={};this.$$isolateBindings={}}function f(a){if(j.$$phase)throw Error(j.$$phase+" already in progress");j.$$phase=a}function i(a,b){var c=d(a);wa(c,b);return c}function h(){}e.prototype={$new:function(a){if(I(a))throw Error("API-CHANGE: Use $controller to instantiate controllers.");a?(a=new e,a.$root=this.$root):(a=function(){},a.prototype=this,a=new a,a.$id=Ea());a["this"]=a;a.$$listeners={};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,c){var d=i(a,"watch"),e=this.$$watchers,f={fn:b,last:h,get:d,exp:a,eq:!!c};if(!I(b)){var j=i(b||w,"listener");f.fn=function(a,b,c){j(c)}}if(typeof a=="string"&&d.constant){var r=f.fn;f.fn=function(a,b,c){r.call(this,a,b,c);sa(e,f)}}if(!e)e=this.$$watchers=[];e.unshift(f);return function(){sa(e,
    f)}},$watchCollection:function(a,b){var c=this,e,f,h=0,i=d(a),j=[],p={},o=0;return this.$watch(function(){f=i(c);var a,b;if(L(f))if(A(f)){if(e!==j)e=j,o=e.length=0,h++;a=f.length;if(o!==a)h++,e.length=o=a;for(b=0;b<a;b++)e[b]!==f[b]&&(h++,e[b]=f[b])}else{e!==p&&(e=p={},o=0,h++);a=0;for(b in f)f.hasOwnProperty(b)&&(a++,e.hasOwnProperty(b)?e[b]!==f[b]&&(h++,e[b]=f[b]):(o++,e[b]=f[b],h++));if(o>a)for(b in h++,e)e.hasOwnProperty(b)&&!f.hasOwnProperty(b)&&(o--,delete e[b])}else e!==f&&(e=f,h++);return h},
    function(){b(f,e,c)})},$digest:function(){var a,d,e,i,s=this.$$asyncQueue,n,o,r=b,p,z=[],F,x;f("$digest");do{o=!1;for(p=this;s.length;)try{p.$eval(s.shift())}catch(q){c(q)}do{if(i=p.$$watchers)for(n=i.length;n--;)try{if(a=i[n],(d=a.get(p))!==(e=a.last)&&!(a.eq?ka(d,e):typeof d=="number"&&typeof e=="number"&&isNaN(d)&&isNaN(e)))o=!0,a.last=a.eq?U(d):d,a.fn(d,e===h?d:e,p),r<5&&(F=4-r,z[F]||(z[F]=[]),x=I(a.exp)?"fn: "+(a.exp.name||a.exp.toString()):a.exp,x+="; newVal: "+ea(d)+"; oldVal: "+ea(e),z[F].push(x))}catch(G){c(G)}if(!(i=
    p.$$childHead||p!==this&&p.$$nextSibling))for(;p!==this&&!(i=p.$$nextSibling);)p=p.$parent}while(p=i);if(o&&!r--)throw j.$$phase=null,Error(b+" $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: "+ea(z));}while(o||s.length);j.$$phase=null},$destroy:function(){if(!(j==this||this.$$destroyed)){var a=this.$parent;this.$broadcast("$destroy");this.$$destroyed=!0;if(a.$$childHead==this)a.$$childHead=this.$$nextSibling;if(a.$$childTail==this)a.$$childTail=this.$$prevSibling;
    if(this.$$prevSibling)this.$$prevSibling.$$nextSibling=this.$$nextSibling;if(this.$$nextSibling)this.$$nextSibling.$$prevSibling=this.$$prevSibling;this.$parent=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null}},$eval:function(a,b){return d(a)(this,b)},$evalAsync:function(a){this.$$asyncQueue.push(a)},$apply:function(a){try{return f("$apply"),this.$eval(a)}catch(b){c(b)}finally{j.$$phase=null;try{j.$digest()}catch(d){throw c(d),d;}}},$on:function(a,b){var c=this.$$listeners[a];
    c||(this.$$listeners[a]=c=[]);c.push(b);return function(){c[Fa(c,b)]=null}},$emit:function(a,b){var d=[],e,f=this,h=!1,i={name:a,targetScope:f,stopPropagation:function(){h=!0},preventDefault:function(){i.defaultPrevented=!0},defaultPrevented:!1},j=[i].concat(la.call(arguments,1)),p,o;do{e=f.$$listeners[a]||d;i.currentScope=f;p=0;for(o=e.length;p<o;p++)if(e[p])try{if(e[p].apply(null,j),h)return i}catch(F){c(F)}else e.splice(p,1),p--,o--;f=f.$parent}while(f);return i},$broadcast:function(a,b){var d=
    this,e=this,f={name:a,targetScope:this,preventDefault:function(){f.defaultPrevented=!0},defaultPrevented:!1},h=[f].concat(la.call(arguments,1)),i,j;do{d=e;f.currentScope=d;e=d.$$listeners[a]||[];i=0;for(j=e.length;i<j;i++)if(e[i])try{e[i].apply(null,h)}catch(p){c(p)}else e.splice(i,1),i--,j--;if(!(e=d.$$childHead||d!==this&&d.$$nextSibling))for(;d!==this&&!(e=d.$$nextSibling);)d=d.$parent}while(d=e);return f}};var j=new e;return j}]}function Vc(){this.$get=["$window","$document",function(b,a){var c=
    {},d=K((/android (\d+)/.exec(J((b.navigator||{}).userAgent))||[])[1]),e=a[0]||{},f,i=/^(Moz|webkit|O|ms)(?=[A-Z])/,h=e.body&&e.body.style,j=!1;if(h){for(var g in h)if(j=i.exec(g)){f=j[0];f=f.substr(0,1).toUpperCase()+f.substr(1);break}j=!!("transition"in h||f+"Transition"in h)}return{history:!(!b.history||!b.history.pushState||d<4),hashchange:"onhashchange"in b&&(!e.documentMode||e.documentMode>7),hasEvent:function(a){if(a=="input"&&X==9)return!1;if(B(c[a])){var b=e.createElement("div");c[a]="on"+
    a in b}return c[a]},csp:e.securityPolicy?e.securityPolicy.isActive:!1,vendorPrefix:f,supportsTransitions:j}}]}function Wc(){this.$get=R(M)}function Ub(b){var a={},c,d,e;if(!b)return a;o(b.split("\n"),function(b){e=b.indexOf(":");c=J(T(b.substr(0,e)));d=T(b.substr(e+1));c&&(a[c]?a[c]+=", "+d:a[c]=d)});return a}function Xc(b,a){var c=Yc.exec(b);if(c==null)return!0;var d={protocol:c[2],host:c[4],port:K(c[6])||Oa[c[2]]||null,relativeProtocol:c[2]===q||c[2]===""},c=ib.exec(a),c={protocol:c[1],host:c[3],
    port:K(c[5])||Oa[c[1]]||null};return(d.protocol==c.protocol||d.relativeProtocol)&&d.host==c.host&&(d.port==c.port||d.relativeProtocol&&c.port==Oa[c.protocol])}function Vb(b){var a=L(b)?b:q;return function(c){a||(a=Ub(b));return c?a[J(c)]||null:a}}function Wb(b,a,c){if(I(c))return c(b,a);o(c,function(c){b=c(b,a)});return b}function Zc(){var b=/^\s*(\[|\{[^\{])/,a=/[\}\]]\s*$/,c=/^\)\]\}',?\n/,d=this.defaults={transformResponse:[function(d){C(d)&&(d=d.replace(c,""),b.test(d)&&a.test(d)&&(d=sb(d,!0)));
    return d}],transformRequest:[function(a){return L(a)&&Da.apply(a)!=="[object File]"?ea(a):a}],headers:{common:{Accept:"application/json, text/plain, */*"},post:{"Content-Type":"application/json;charset=utf-8"},put:{"Content-Type":"application/json;charset=utf-8"}},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN"},e=this.interceptors=[],f=this.responseInterceptors=[];this.$get=["$httpBackend","$browser","$cacheFactory","$rootScope","$q","$injector",function(a,b,c,g,k,l){function m(a){function c(a){var b=
    t({},a,{data:Wb(a.data,a.headers,e.transformResponse)});return 200<=a.status&&a.status<300?b:k.reject(b)}var e={transformRequest:d.transformRequest,transformResponse:d.transformResponse},g={};t(e,a);e.headers=g;e.method=na(e.method);t(g,d.headers.common,d.headers[J(e.method)],a.headers);(a=Xc(e.url,b.url())?b.cookies()[e.xsrfCookieName||d.xsrfCookieName]:q)&&(g[e.xsrfHeaderName||d.xsrfHeaderName]=a);var f=[function(a){var b=Wb(a.data,Vb(g),a.transformRequest);B(a.data)&&delete g["Content-Type"];if(B(a.withCredentials)&&
    !B(d.withCredentials))a.withCredentials=d.withCredentials;return s(a,b,g).then(c,c)},q],i=k.when(e);for(o(r,function(a){(a.request||a.requestError)&&f.unshift(a.request,a.requestError);(a.response||a.responseError)&&f.push(a.response,a.responseError)});f.length;)var a=f.shift(),j=f.shift(),i=i.then(a,j);i.success=function(a){i.then(function(b){a(b.data,b.status,b.headers,e)});return i};i.error=function(a){i.then(null,function(b){a(b.data,b.status,b.headers,e)});return i};return i}function s(b,c,e){function f(a,
    b,c){o&&(200<=a&&a<300?o.put(q,[a,b,Ub(c)]):o.remove(q));h(b,a,c);g.$apply()}function h(a,c,d){c=Math.max(c,0);(200<=c&&c<300?l.resolve:l.reject)({data:a,status:c,headers:Vb(d),config:b})}function j(){var a=Fa(m.pendingRequests,b);a!==-1&&m.pendingRequests.splice(a,1)}var l=k.defer(),s=l.promise,o,r,q=n(b.url,b.params);m.pendingRequests.push(b);s.then(j,j);if((b.cache||d.cache)&&b.cache!==!1&&b.method=="GET")o=L(b.cache)?b.cache:L(d.cache)?d.cache:y;if(o)if(r=o.get(q))if(r.then)return r.then(j,j),
    r;else A(r)?h(r[1],r[0],U(r[2])):h(r,200,{});else o.put(q,s);r||a(b.method,q,c,f,e,b.timeout,b.withCredentials,b.responseType);return s}function n(a,b){if(!b)return a;var c=[];lc(b,function(a,b){a==null||a==q||(A(a)||(a=[a]),o(a,function(a){L(a)&&(a=ea(a));c.push(va(b)+"="+va(a))}))});return a+(a.indexOf("?")==-1?"?":"&")+c.join("&")}var y=c("$http"),r=[];o(e,function(a){r.unshift(C(a)?l.get(a):l.invoke(a))});o(f,function(a,b){var c=C(a)?l.get(a):l.invoke(a);r.splice(b,0,{response:function(a){return c(k.when(a))},
    responseError:function(a){return c(k.reject(a))}})});m.pendingRequests=[];(function(a){o(arguments,function(a){m[a]=function(b,c){return m(t(c||{},{method:a,url:b}))}})})("get","delete","head","jsonp");(function(a){o(arguments,function(a){m[a]=function(b,c,d){return m(t(d||{},{method:a,url:b,data:c}))}})})("post","put");m.defaults=d;return m}]}function $c(){this.$get=["$browser","$window","$document",function(b,a,c){return ad(b,bd,b.defer,a.angular.callbacks,c[0],a.location.protocol.replace(":",""))}]}
    function ad(b,a,c,d,e,f){function i(a,b){var c=e.createElement("script"),d=function(){e.body.removeChild(c);b&&b()};c.type="text/javascript";c.src=a;X?c.onreadystatechange=function(){/loaded|complete/.test(c.readyState)&&d()}:c.onload=c.onerror=d;e.body.appendChild(c)}return function(e,j,g,k,l,m,s,n){function q(a,c,d,e){c=(j.match(ib)||["",f])[1]=="file"?d?200:404:c;a(c==1223?204:c,d,e);b.$$completeOutstandingRequest(w)}b.$$incOutstandingRequestCount();j=j||b.url();if(J(e)=="jsonp"){var r="_"+(d.counter++).toString(36);
    d[r]=function(a){d[r].data=a};i(j.replace("JSON_CALLBACK","angular.callbacks."+r),function(){d[r].data?q(k,200,d[r].data):q(k,-2);delete d[r]})}else{var p=new a;p.open(e,j,!0);o(l,function(a,b){a&&p.setRequestHeader(b,a)});var z;p.onreadystatechange=function(){if(p.readyState==4){var a=p.getAllResponseHeaders(),b=["Cache-Control","Content-Language","Content-Type","Expires","Last-Modified","Pragma"];a||(a="",o(b,function(b){var c=p.getResponseHeader(b);c&&(a+=b+": "+c+"\n")}));q(k,z||p.status,p.responseType?
    p.response:p.responseText,a)}};if(s)p.withCredentials=!0;if(n)p.responseType=n;p.send(g||"");m>0&&c(function(){z=-1;p.abort()},m)}}}function cd(){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 b===1?"one":"other"}}}}function dd(){this.$get=["$rootScope","$browser","$q",
    "$exceptionHandler",function(b,a,c,d){function e(e,h,j){var g=c.defer(),k=g.promise,l=u(j)&&!j,h=a.defer(function(){try{g.resolve(e())}catch(a){g.reject(a),d(a)}l||b.$apply()},h),j=function(){delete f[k.$$timeoutId]};k.$$timeoutId=h;f[h]=g;k.then(j,j);return k}var f={};e.cancel=function(b){return b&&b.$$timeoutId in f?(f[b.$$timeoutId].reject("canceled"),a.defer.cancel(b.$$timeoutId)):!1};return e}]}function Xb(b){function a(a,e){return b.factory(a+c,e)}var c="Filter";this.register=a;this.$get=["$injector",
    function(a){return function(b){return a.get(b+c)}}];a("currency",Yb);a("date",Zb);a("filter",ed);a("json",fd);a("limitTo",gd);a("lowercase",hd);a("number",$b);a("orderBy",ac);a("uppercase",id)}function ed(){return function(b,a,c){if(!A(b))return b;var d=[];d.check=function(a){for(var b=0;b<d.length;b++)if(!d[b](a))return!1;return!0};switch(typeof c){case "function":break;case "boolean":if(c==!0){c=function(a,b){return Ga.equals(a,b)};break}default:c=function(a,b){b=(""+b).toLowerCase();return(""+
    a).toLowerCase().indexOf(b)>-1}}var e=function(a,b){if(typeof b=="string"&&b.charAt(0)==="!")return!e(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)!=="$"&&e(a[d],b))return!0}return!1;case "array":for(d=0;d<a.length;d++)if(e(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 f in a)f==
    "$"?function(){if(a[f]){var b=f;d.push(function(c){return e(c,a[b])})}}():function(){if(a[f]){var b=f;d.push(function(c){return e(hb(c,b),a[b])})}}();break;case "function":d.push(a);break;default:return b}for(var i=[],h=0;h<b.length;h++){var j=b[h];d.check(j)&&i.push(j)}return i}}function Yb(b){var a=b.NUMBER_FORMATS;return function(b,d){if(B(d))d=a.CURRENCY_SYM;return bc(b,a.PATTERNS[1],a.GROUP_SEP,a.DECIMAL_SEP,2).replace(/\u00A4/g,d)}}function $b(b){var a=b.NUMBER_FORMATS;return function(b,d){return bc(b,
    a.PATTERNS[0],a.GROUP_SEP,a.DECIMAL_SEP,d)}}function bc(b,a,c,d,e){if(isNaN(b)||!isFinite(b))return"";var f=b<0,b=Math.abs(b),i=b+"",h="",j=[],g=!1;if(i.indexOf("e")!==-1){var k=i.match(/([\d\.]+)e(-?)(\d+)/);k&&k[2]=="-"&&k[3]>e+1?i="0":(h=i,g=!0)}if(!g){i=(i.split(cc)[1]||"").length;B(e)&&(e=Math.min(Math.max(a.minFrac,i),a.maxFrac));var i=Math.pow(10,e),b=Math.round(b*i)/i,b=(""+b).split(cc),i=b[0],b=b[1]||"",g=0,k=a.lgSize,l=a.gSize;if(i.length>=k+l)for(var g=i.length-k,m=0;m<g;m++)(g-m)%l===
    0&&m!==0&&(h+=c),h+=i.charAt(m);for(m=g;m<i.length;m++)(i.length-m)%k===0&&m!==0&&(h+=c),h+=i.charAt(m);for(;b.length<e;)b+="0";e&&e!=="0"&&(h+=d+b.substr(0,e))}j.push(f?a.negPre:a.posPre);j.push(h);j.push(f?a.negSuf:a.posSuf);return j.join("")}function mb(b,a,c){var d="";b<0&&(d="-",b=-b);for(b=""+b;b.length<a;)b="0"+b;c&&(b=b.substr(b.length-a));return d+b}function P(b,a,c,d){return function(e){e=e["get"+b]();if(c>0||e>-c)e+=c;e===0&&c==-12&&(e=12);return mb(e,a,d)}}function Qa(b,a){return function(c,
    d){var e=c["get"+b](),f=na(a?"SHORT"+b:b);return d[f][e]}}function Zb(b){function a(a){var b;if(b=a.match(c)){var a=new Date(0),f=0,i=0,h=b[8]?a.setUTCFullYear:a.setFullYear,j=b[8]?a.setUTCHours:a.setHours;b[9]&&(f=K(b[9]+b[10]),i=K(b[9]+b[11]));h.call(a,K(b[1]),K(b[2])-1,K(b[3]));j.call(a,K(b[4]||0)-f,K(b[5]||0)-i,K(b[6]||0),K(b[7]||0))}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="",i=[],h,j,e=e||
    "mediumDate",e=b.DATETIME_FORMATS[e]||e;C(c)&&(c=jd.test(c)?K(c):a(c));Xa(c)&&(c=new Date(c));if(!qa(c))return c;for(;e;)(j=kd.exec(e))?(i=i.concat(la.call(j,1)),e=i.pop()):(i.push(e),e=null);o(i,function(a){h=ld[a];f+=h?h(c,b.DATETIME_FORMATS):a.replace(/(^'|'$)/g,"").replace(/''/g,"'")});return f}}function fd(){return function(b){return ea(b,!0)}}function gd(){return function(b,a){if(!A(b)&&!C(b))return b;a=K(a);if(C(b))return a?a>=0?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);a>0?(d=0,e=a):(d=b.length+a,e=b.length);for(;d<e;d++)c.push(b[d]);return c}}function ac(b){return function(a,c,d){function e(a,b){return ta(b)?function(b,c){return a(c,b)}:a}if(!A(a))return a;if(!c)return a;for(var c=A(c)?c:[c],c=Ya(c,function(a){var c=!1,d=a||pa;if(C(a)){if(a.charAt(0)=="+"||a.charAt(0)=="-")c=a.charAt(0)=="-",a=a.substring(1);d=b(a)}return e(function(a,b){var c;c=d(a);var e=d(b),f=typeof c,h=typeof e;f==h?(f=="string"&&(c=c.toLowerCase()),f==
    "string"&&(e=e.toLowerCase()),c=c===e?0:c<e?-1:1):c=f<h?-1:1;return c},c)}),f=[],i=0;i<a.length;i++)f.push(a[i]);return f.sort(e(function(a,b){for(var d=0;d<c.length;d++){var e=c[d](a,b);if(e!==0)return e}return 0},d))}}function Y(b){I(b)&&(b={link:b});b.restrict=b.restrict||"AC";return R(b)}function dc(b,a){function c(a,c){c=c?"-"+ab(c,"-"):"";b.removeClass((a?Ra:Sa)+c).addClass((a?Sa:Ra)+c)}var d=this,e=b.parent().controller("form")||Ta,f=0,i=d.$error={},h=[];d.$name=a.name;d.$dirty=!1;d.$pristine=
    !0;d.$valid=!0;d.$invalid=!1;e.$addControl(d);b.addClass(oa);c(!0);d.$addControl=function(a){h.push(a);a.$name&&!d.hasOwnProperty(a.$name)&&(d[a.$name]=a)};d.$removeControl=function(a){a.$name&&d[a.$name]===a&&delete d[a.$name];o(i,function(b,c){d.$setValidity(c,!0,a)});sa(h,a)};d.$setValidity=function(a,b,h){var l=i[a];if(b){if(l&&(sa(l,h),!l.length)){f--;if(!f)c(b),d.$valid=!0,d.$invalid=!1;i[a]=!1;c(!0,a);e.$setValidity(a,!0,d)}}else{f||c(b);if(l){if(Fa(l,h)!=-1)return}else i[a]=l=[],f++,c(!1,
    a),e.$setValidity(a,!1,d);l.push(h);d.$valid=!1;d.$invalid=!0}};d.$setDirty=function(){b.removeClass(oa).addClass(Ua);d.$dirty=!0;d.$pristine=!1;e.$setDirty()};d.$setPristine=function(){b.removeClass(Ua).addClass(oa);d.$dirty=!1;d.$pristine=!0;o(h,function(a){a.$setPristine()})}}function V(b){return B(b)||b===""||b===null||b!==b}function Va(b,a,c,d,e,f){var i=function(){var e=a.val();if(ta(c.ngTrim||"T"))e=T(e);d.$viewValue!==e&&b.$apply(function(){d.$setViewValue(e)})};if(e.hasEvent("input"))a.bind("input",
    i);else{var h,j=function(){h||(h=f.defer(function(){i();h=null}))};a.bind("keydown",function(a){a=a.keyCode;a===91||15<a&&a<19||37<=a&&a<=40||j()});a.bind("change",i);e.hasEvent("paste")&&a.bind("paste cut",j)}d.$render=function(){a.val(V(d.$viewValue)?"":d.$viewValue)};var g=c.ngPattern,k=function(a,b){return V(b)||a.test(b)?(d.$setValidity("pattern",!0),b):(d.$setValidity("pattern",!1),q)};g&&((e=g.match(/^\/(.*)\/([gim]*)$/))?(g=RegExp(e[1],e[2]),e=function(a){return k(g,a)}):e=function(a){var c=
    b.$eval(g);if(!c||!c.test)throw Error("Expected "+g+" to be a RegExp but was "+c);return k(c,a)},d.$formatters.push(e),d.$parsers.push(e));if(c.ngMinlength){var l=K(c.ngMinlength),e=function(a){return!V(a)&&a.length<l?(d.$setValidity("minlength",!1),q):(d.$setValidity("minlength",!0),a)};d.$parsers.push(e);d.$formatters.push(e)}if(c.ngMaxlength){var m=K(c.ngMaxlength),e=function(a){return!V(a)&&a.length>m?(d.$setValidity("maxlength",!1),q):(d.$setValidity("maxlength",!0),a)};d.$parsers.push(e);d.$formatters.push(e)}}
    function nb(b,a){b="ngClass"+b;return Y(function(c,d,e){function f(b){if(a===!0||c.$index%2===a)j&&!ka(b,j)&&i(j),h(b);j=U(b)}function i(a){L(a)&&!A(a)&&(a=Ya(a,function(a,b){if(a)return b}));d.removeClass(A(a)?a.join(" "):a)}function h(a){L(a)&&!A(a)&&(a=Ya(a,function(a,b){if(a)return b}));a&&d.addClass(A(a)?a.join(" "):a)}var j=q;c.$watch(e[b],f,!0);e.$observe("class",function(){var a=c.$eval(e[b]);f(a,a)});b!=="ngClass"&&c.$watch("$index",function(d,f){var j=d%2;j!==f%2&&(j==a?h(c.$eval(e[b])):
    i(c.$eval(e[b])))})})}var J=function(b){return C(b)?b.toLowerCase():b},na=function(b){return C(b)?b.toUpperCase():b},X=K((/msie (\d+)/.exec(J(navigator.userAgent))||[])[1]),v,da,la=[].slice,Wa=[].push,Da=Object.prototype.toString,kc=M.angular,Ga=M.angular||(M.angular={}),ya,gb,Z=["0","0","0"];w.$inject=[];pa.$inject=[];gb=X<9?function(b){b=b.nodeName?b:b[0];return b.scopeName&&b.scopeName!="HTML"?na(b.scopeName+":"+b.nodeName):b.nodeName}:function(b){return b.nodeName?b.nodeName:b[0].nodeName};var qc=
    /[A-Z]/g,md={full:"1.1.5-2c34596",major:1,minor:1,dot:5,codeName:"triangle-squarification"},Ja=Q.cache={},Ia=Q.expando="ng-"+(new Date).getTime(),uc=1,ec=M.document.addEventListener?function(b,a,c){b.addEventListener(a,c,!1)}:function(b,a,c){b.attachEvent("on"+a,c)},fb=M.document.removeEventListener?function(b,a,c){b.removeEventListener(a,c,!1)}:function(b,a,c){b.detachEvent("on"+a,c)},sc=/([\:\-\_]+(.))/g,tc=/^moz([A-Z])/,Aa=Q.prototype={ready:function(b){function a(){c||(c=!0,b())}var c=!1;W.readyState===
    "complete"?setTimeout(a):(this.bind("DOMContentLoaded",a),Q(M).bind("load",a))},toString:function(){var b=[];o(this,function(a){b.push(""+a)});return"["+b.join(", ")+"]"},eq:function(b){return b>=0?v(this[b]):v(this[this.length+b])},length:0,push:Wa,sort:[].sort,splice:[].splice},Ma={};o("multiple,selected,checked,disabled,readOnly,required,open".split(","),function(b){Ma[J(b)]=b});var Eb={};o("input,select,option,textarea,button,form,details".split(","),function(b){Eb[na(b)]=!0});o({data:zb,inheritedData:La,
    scope:function(b){return La(b,"$scope")},controller:Cb,injector:function(b){return La(b,"$injector")},removeAttr:function(b,a){b.removeAttribute(a)},hasClass:Ka,css:function(b,a,c){a=Ha(a);if(u(c))b.style[a]=c;else{var d;X<=8&&(d=b.currentStyle&&b.currentStyle[a],d===""&&(d="auto"));d=d||b.style[a];X<=8&&(d=d===""?q:d);return d}},attr:function(b,a,c){var d=J(a);if(Ma[d])if(u(c))c?(b[a]=!0,b.setAttribute(a,d)):(b[a]=!1,b.removeAttribute(d));else return b[a]||(b.attributes.getNamedItem(a)||w).specified?
    d:q;else if(u(c))b.setAttribute(a,c);else if(b.getAttribute)return b=b.getAttribute(a,2),b===null?q:b},prop:function(b,a,c){if(u(c))b[a]=c;else return b[a]},text:t(X<9?function(b,a){if(b.nodeType==1){if(B(a))return b.innerText;b.innerText=a}else{if(B(a))return b.nodeValue;b.nodeValue=a}}:function(b,a){if(B(a))return b.textContent;b.textContent=a},{$dv:""}),val:function(b,a){if(B(a))return b.value;b.value=a},html:function(b,a){if(B(a))return b.innerHTML;for(var c=0,d=b.childNodes;c<d.length;c++)xa(d[c]);
    b.innerHTML=a}},function(b,a){Q.prototype[a]=function(a,d){var e,f;if((b.length==2&&b!==Ka&&b!==Cb?a:d)===q)if(L(a)){for(e=0;e<this.length;e++)if(b===zb)b(this[e],a);else for(f in a)b(this[e],f,a[f]);return this}else{if(this.length)return b(this[0],a,d)}else{for(e=0;e<this.length;e++)b(this[e],a,d);return this}return b.$dv}});o({removeData:xb,dealoc:xa,bind:function a(c,d,e){var f=$(c,"events"),i=$(c,"handle");f||$(c,"events",f={});i||$(c,"handle",i=vc(c,f));o(d.split(" "),function(d){var j=f[d];
    if(!j){if(d=="mouseenter"||d=="mouseleave"){var g=0;f.mouseenter=[];f.mouseleave=[];a(c,"mouseover",function(a){g++;g==1&&i(a,"mouseenter")});a(c,"mouseout",function(a){g--;g==0&&i(a,"mouseleave")})}else ec(c,d,i),f[d]=[];j=f[d]}j.push(e)})},unbind:yb,replaceWith:function(a,c){var d,e=a.parentNode;xa(a);o(new Q(c),function(c){d?e.insertBefore(c,d.nextSibling):e.replaceChild(c,a);d=c})},children:function(a){var c=[];o(a.childNodes,function(a){a.nodeType===1&&c.push(a)});return c},contents:function(a){return a.childNodes||
    []},append:function(a,c){o(new Q(c),function(c){(a.nodeType===1||a.nodeType===11)&&a.appendChild(c)})},prepend:function(a,c){if(a.nodeType===1){var d=a.firstChild;o(new Q(c),function(c){d?a.insertBefore(c,d):(a.appendChild(c),d=c)})}},wrap:function(a,c){var c=v(c)[0],d=a.parentNode;d&&d.replaceChild(c,a);c.appendChild(a)},remove:function(a){xa(a);var c=a.parentNode;c&&c.removeChild(a)},after:function(a,c){var d=a,e=a.parentNode;o(new Q(c),function(a){e.insertBefore(a,d.nextSibling);d=a})},addClass:Bb,
    removeClass:Ab,toggleClass:function(a,c,d){B(d)&&(d=!Ka(a,c));(d?Bb:Ab)(a,c)},parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},next:function(a){if(a.nextElementSibling)return a.nextElementSibling;for(a=a.nextSibling;a!=null&&a.nodeType!==1;)a=a.nextSibling;return a},find:function(a,c){return a.getElementsByTagName(c)},clone:eb,triggerHandler:function(a,c){var d=($(a,"events")||{})[c];o(d,function(c){c.call(a,null)})}},function(a,c){Q.prototype[c]=function(c,e){for(var f,i=0;i<this.length;i++)f==
    q?(f=a(this[i],c,e),f!==q&&(f=v(f))):db(f,a(this[i],c,e));return f==q?this:f}});Na.prototype={put:function(a,c){this[ma(a)]=c},get:function(a){return this[ma(a)]},remove:function(a){var c=this[a=ma(a)];delete this[a];return c}};var xc=/^function\s*[^\(]*\(\s*([^\)]*)\)/m,yc=/,/,zc=/^\s*(_?)(\S+?)\1\s*$/,wc=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg;Gb.$inject=["$provide"];var nd=function(){var a="$ngAnimateController",c={running:!0};this.$get=["$animation","$window","$sniffer","$rootElement","$rootScope",
    function(d,e,f,i,h){i.data(a,c);var j=h.$watch(function(){j();c.running&&e.setTimeout(function(){c.running=!1},0)}),i=function(c,h){function i(c,g,h){var c=s?L(n)?n[c]:n+"-"+c:"",j=d(c),l=j&&j.setup,k=j&&j.start;if(c){var m=c+"-setup",q=c+"-start";return function(c,d,i){function j(){h(c,d,i);c.removeClass(m);c.removeClass(q);c.removeData(a)}d||(d=i?i.parent():c.parent());if(!f.supportsTransitions&&!l&&!k||(d.inheritedData(a)||w).running)g(c,d,i),h(c,d,i);else{c.data(a,{running:!0});c.addClass(m);
    g(c,d,i);if(c.length==0)return j();var n=(l||w)(c);e.setTimeout(function(){c.addClass(q);if(k)k(c,j,n);else if(I(e.getComputedStyle)){var a=f.vendorPrefix+"Transition",d=0;o(c,function(c){c=e.getComputedStyle(c)||{};d=Math.max(parseFloat(c.transitionDuration)||parseFloat(c[a+"Duration"])||0,d)});e.setTimeout(j,d*1E3)}else j()},1)}}}else return function(a,c,d){g(a,c,d);h(a,c,d)}}function j(a,c,d){d?d.after(a):c.append(a)}var s=h.ngAnimate,n=s&&c.$eval(s),q={};q.enter=i("enter",j,w);q.leave=i("leave",
    w,function(a){a.remove()});q.move=i("move",function(a,c,d){j(a,c,d)},w);q.show=i("show",function(a){a.css("display","")},w);q.hide=i("hide",w,function(a){a.css("display","none")});return q};i.enabled=function(a){if(arguments.length)c.running=!a;return!c.running};return i}]},Ib="Non-assignable model expression: ";Hb.$inject=["$provide"];var Fc=/^(x[\:\-_]|data[\:\-_])/i,ib=/^([^:]+):\/\/(\w+:{0,1}\w*@)?(\{?[\w\.-]*\}?)(:([0-9]+))?(\/[^\?#]*)?(\?([^#]*))?(#(.*))?$/,Nb=/^([^\?#]*)(\?([^#]*))?(#(.*))?$/,
    Oa={http:80,https:443,ftp:21};Pb.prototype=kb.prototype=Ob.prototype={$$replace:!1,absUrl:Pa("$$absUrl"),url:function(a,c){if(B(a))return this.$$url;var d=Nb.exec(a);d[1]&&this.path(decodeURIComponent(d[1]));if(d[2]||d[1])this.search(d[3]||"");this.hash(d[5]||"",c);return this},protocol:Pa("$$protocol"),host:Pa("$$host"),port:Pa("$$port"),path:Qb("$$path",function(a){return a.charAt(0)=="/"?a:"/"+a}),search:function(a,c){if(B(a))return this.$$search;u(c)?c===null?delete this.$$search[a]:this.$$search[a]=
    c:this.$$search=C(a)?tb(a):a;this.$$compose();return this},hash:Qb("$$hash",pa),replace:function(){this.$$replace=!0;return this}};var Ca={"null":function(){return null},"true":function(){return!0},"false":function(){return!1},undefined:w,"+":function(a,c,d,e){d=d(a,c);e=e(a,c);return u(d)?u(e)?d+e:d:u(e)?e:q},"-":function(a,c,d,e){d=d(a,c);e=e(a,c);return(u(d)?d:0)-(u(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)},"=":w,"===":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)}},Nc={n:"\n",f:"\u000c",r:"\r",t:"\t",v:"\u000b","'":"'",'"':'"'},lb={},Yc=/^(([^:]+):)?\/\/(\w+:{0,1}\w*@)?([\w\.-]*)?(:([0-9]+))?(.*)$/,bd=M.XMLHttpRequest||function(){try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(a){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(c){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(d){}throw Error("This browser does not support XMLHttpRequest.");
    };Xb.$inject=["$provide"];Yb.$inject=["$locale"];$b.$inject=["$locale"];var cc=".",ld={yyyy:P("FullYear",4),yy:P("FullYear",2,0,!0),y:P("FullYear",1),MMMM:Qa("Month"),MMM:Qa("Month",!0),MM:P("Month",2,1),M:P("Month",1,1),dd:P("Date",2),d:P("Date",1),HH:P("Hours",2),H:P("Hours",1),hh:P("Hours",2,-12),h:P("Hours",1,-12),mm:P("Minutes",2),m:P("Minutes",1),ss:P("Seconds",2),s:P("Seconds",1),sss:P("Milliseconds",3),EEEE:Qa("Day"),EEE:Qa("Day",!0),a:function(a,c){return a.getHours()<12?c.AMPMS[0]:c.AMPMS[1]},
    Z:function(a){var a=-1*a.getTimezoneOffset(),c=a>=0?"+":"";c+=mb(Math[a>0?"floor":"ceil"](a/60),2)+mb(Math.abs(a%60),2);return c}},kd=/((?:[^yMdHhmsaZE']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z))(.*)/,jd=/^\d+$/;Zb.$inject=["$locale"];var hd=R(J),id=R(na);ac.$inject=["$parse"];var od=R({restrict:"E",compile:function(a,c){X<=8&&(!c.href&&!c.name&&c.$set("href",""),a.append(W.createComment("IE fix")));return function(a,c){c.bind("click",function(a){c.attr("href")||a.preventDefault()})}}}),
    ob={};o(Ma,function(a,c){var d=aa("ng-"+c);ob[d]=function(){return{priority:100,compile:function(){return function(a,f,i){a.$watch(i[d],function(a){i.$set(c,!!a)})}}}}});o(["src","href"],function(a){var c=aa("ng-"+a);ob[c]=function(){return{priority:99,link:function(d,e,f){f.$observe(c,function(c){c&&(f.$set(a,c),X&&e.prop(a,f[a]))})}}}});var Ta={$addControl:w,$removeControl:w,$setValidity:w,$setDirty:w,$setPristine:w};dc.$inject=["$element","$attrs","$scope"];var Wa=function(a){return["$timeout",
    function(c){var d={name:"form",restrict:"E",controller:dc,compile:function(){return{pre:function(a,d,i,h){if(!i.action){var j=function(a){a.preventDefault?a.preventDefault():a.returnValue=!1};ec(d[0],"submit",j);d.bind("$destroy",function(){c(function(){fb(d[0],"submit",j)},0,!1)})}var g=d.parent().controller("form"),k=i.name||i.ngForm;k&&(a[k]=h);g&&d.bind("$destroy",function(){g.$removeControl(h);k&&(a[k]=q);t(h,Ta)})}}}};return a?t(U(d),{restrict:"EAC"}):d}]},pd=Wa(),qd=Wa(!0),rd=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/,
    sd=/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/,td=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/,fc={text:Va,number:function(a,c,d,e,f,i){Va(a,c,d,e,f,i);e.$parsers.push(function(a){var c=V(a);return c||td.test(a)?(e.$setValidity("number",!0),a===""?null:c?a:parseFloat(a)):(e.$setValidity("number",!1),q)});e.$formatters.push(function(a){return V(a)?"":""+a});if(d.min){var h=parseFloat(d.min),a=function(a){return!V(a)&&a<h?(e.$setValidity("min",!1),q):(e.$setValidity("min",!0),a)};e.$parsers.push(a);
    e.$formatters.push(a)}if(d.max){var j=parseFloat(d.max),d=function(a){return!V(a)&&a>j?(e.$setValidity("max",!1),q):(e.$setValidity("max",!0),a)};e.$parsers.push(d);e.$formatters.push(d)}e.$formatters.push(function(a){return V(a)||Xa(a)?(e.$setValidity("number",!0),a):(e.$setValidity("number",!1),q)})},url:function(a,c,d,e,f,i){Va(a,c,d,e,f,i);a=function(a){return V(a)||rd.test(a)?(e.$setValidity("url",!0),a):(e.$setValidity("url",!1),q)};e.$formatters.push(a);e.$parsers.push(a)},email:function(a,
    c,d,e,f,i){Va(a,c,d,e,f,i);a=function(a){return V(a)||sd.test(a)?(e.$setValidity("email",!0),a):(e.$setValidity("email",!1),q)};e.$formatters.push(a);e.$parsers.push(a)},radio:function(a,c,d,e){B(d.name)&&c.attr("name",Ea());c.bind("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,i=d.ngFalseValue;C(f)||(f=!0);C(i)||(i=!1);c.bind("click",
    function(){a.$apply(function(){e.$setViewValue(c[0].checked)})});e.$render=function(){c[0].checked=e.$viewValue};e.$formatters.push(function(a){return a===f});e.$parsers.push(function(a){return a?f:i})},hidden:w,button:w,submit:w,reset:w},gc=["$browser","$sniffer",function(a,c){return{restrict:"E",require:"?ngModel",link:function(d,e,f,i){i&&(fc[J(f.type)]||fc.text)(d,e,f,i,c,a)}}}],Sa="ng-valid",Ra="ng-invalid",oa="ng-pristine",Ua="ng-dirty",ud=["$scope","$exceptionHandler","$attrs","$element","$parse",
    function(a,c,d,e,f){function i(a,c){c=c?"-"+ab(c,"-"):"";e.removeClass((a?Ra:Sa)+c).addClass((a?Sa:Ra)+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 h=f(d.ngModel),j=h.assign;if(!j)throw Error(Ib+d.ngModel+" ("+ua(e)+")");this.$render=w;var g=e.inheritedData("$formController")||Ta,k=0,l=this.$error={};e.addClass(oa);i(!0);this.$setValidity=function(a,
    c){if(l[a]!==!c){if(c){if(l[a]&&k--,!k)i(!0),this.$valid=!0,this.$invalid=!1}else i(!1),this.$invalid=!0,this.$valid=!1,k++;l[a]=!c;i(c,a);g.$setValidity(a,c,this)}};this.$setPristine=function(){this.$dirty=!1;this.$pristine=!0;e.removeClass(Ua).addClass(oa)};this.$setViewValue=function(d){this.$viewValue=d;if(this.$pristine)this.$dirty=!0,this.$pristine=!1,e.removeClass(oa).addClass(Ua),g.$setDirty();o(this.$parsers,function(a){d=a(d)});if(this.$modelValue!==d)this.$modelValue=d,j(a,d),o(this.$viewChangeListeners,
    function(a){try{a()}catch(d){c(d)}})};var m=this;a.$watch(function(){var c=h(a);if(m.$modelValue!==c){var d=m.$formatters,e=d.length;for(m.$modelValue=c;e--;)c=d[e](c);if(m.$viewValue!==c)m.$viewValue=c,m.$render()}})}],vd=function(){return{require:["ngModel","^?form"],controller:ud,link:function(a,c,d,e){var f=e[0],i=e[1]||Ta;i.$addControl(f);c.bind("$destroy",function(){i.$removeControl(f)})}}},wd=R({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&&(V(a)||a===!1))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)})}}}},xd=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){var c=[];a&&o(a.split(f),function(a){a&&c.push(T(a))});
    return c});e.$formatters.push(function(a){return A(a)?a.join(", "):q})}}},yd=/^(true|false|\d+)$/,zd=function(){return{priority:100,compile:function(a,c){return yd.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,!1)})}}}},Ad=Y(function(a,c,d){c.addClass("ng-binding").data("$binding",d.ngBind);a.$watch(d.ngBind,function(a){c.text(a==q?"":a)})}),Bd=["$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)})}}],Cd=[function(){return function(a,c,d){c.addClass("ng-binding").data("$binding",d.ngBindHtmlUnsafe);a.$watch(d.ngBindHtmlUnsafe,function(a){c.html(a||"")})}}],Dd=nb("",!0),Ed=nb("Odd",0),Fd=nb("Even",1),Gd=Y({compile:function(a,c){c.$set("ngCloak",q);a.removeClass("ng-cloak")}}),Hd=[function(){return{scope:!0,controller:"@"}}],Id=["$sniffer",function(a){return{priority:1E3,compile:function(){a.csp=!0}}}],
    ic={};o("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress".split(" "),function(a){var c=aa("ng-"+a);ic[c]=["$parse",function(d){return function(e,f,i){var h=d(i[c]);f.bind(J(a),function(a){e.$apply(function(){h(e,{$event:a})})})}}]});var Jd=Y(function(a,c,d){c.bind("submit",function(){a.$apply(d.ngSubmit)})}),Kd=["$animator",function(a){return{transclude:"element",priority:1E3,terminal:!0,restrict:"A",compile:function(c,d,e){return function(c,
    d,h){var j=a(c,h),g,k;c.$watch(h.ngIf,function(a){g&&(j.leave(g),g=q);k&&(k.$destroy(),k=q);ta(a)&&(k=c.$new(),e(k,function(a){g=a;j.enter(a,d.parent(),d)}))})}}}}],Ld=["$http","$templateCache","$anchorScroll","$compile","$animator",function(a,c,d,e,f){return{restrict:"ECA",terminal:!0,compile:function(i,h){var j=h.ngInclude||h.src,g=h.onload||"",k=h.autoscroll;return function(h,i,o){var n=f(h,o),q=0,r,p=function(){r&&(r.$destroy(),r=null);n.leave(i.contents(),i)};h.$watch(j,function(f){var j=++q;
    f?a.get(f,{cache:c}).success(function(a){j===q&&(r&&r.$destroy(),r=h.$new(),n.leave(i.contents(),i),a=v("<div/>").html(a).contents(),n.enter(a,i),e(a)(r),u(k)&&(!k||h.$eval(k))&&d(),r.$emit("$includeContentLoaded"),h.$eval(g))}).error(function(){j===q&&p()}):p()})}}}}],Md=Y({compile:function(){return{pre:function(a,c,d){a.$eval(d.ngInit)}}}}),Nd=Y({terminal:!0,priority:1E3}),Od=["$locale","$interpolate",function(a,c){var d=/{}/g;return{restrict:"EA",link:function(e,f,i){var h=i.count,j=f.attr(i.$attr.when),
    g=i.offset||0,k=e.$eval(j),l={},m=c.startSymbol(),q=c.endSymbol();o(k,function(a,e){l[e]=c(a.replace(d,m+h+"-"+g+q))});e.$watch(function(){var c=parseFloat(e.$eval(h));return isNaN(c)?"":(k[c]||(c=a.pluralCat(c-g)),l[c](e,f,!0))},function(a){f.text(a)})}}}],Pd=["$parse","$animator",function(a,c){return{transclude:"element",priority:1E3,terminal:!0,compile:function(d,e,f){return function(d,e,j){var g=c(d,j),k=j.ngRepeat,l=k.match(/^\s*(.+)\s+in\s+(.*?)\s*(\s+track\s+by\s+(.+)\s*)?$/),m,q,n,y,r,p={$id:ma};
    if(!l)throw Error("Expected ngRepeat in form of '_item_ in _collection_[ track by _id_]' but got '"+k+"'.");j=l[1];n=l[2];(l=l[4])?(m=a(l),q=function(a,c,e){r&&(p[r]=a);p[y]=c;p.$index=e;return m(d,p)}):q=function(a,c){return ma(c)};l=j.match(/^(?:([\$\w]+)|\(([\$\w]+)\s*,\s*([\$\w]+)\))$/);if(!l)throw Error("'item' in 'item in collection' should be identifier or (key, value) but got '"+j+"'.");y=l[3]||l[1];r=l[2];var z={};d.$watchCollection(n,function(a){var c,j,l=e,m,n={},p,t,w,E,v,u,B=[];if(A(a))v=
    a;else{v=[];for(w in a)a.hasOwnProperty(w)&&w.charAt(0)!="$"&&v.push(w);v.sort()}p=v.length;j=B.length=v.length;for(c=0;c<j;c++)if(w=a===v?c:v[c],E=a[w],m=q(w,E,c),z.hasOwnProperty(m))u=z[m],delete z[m],n[m]=u,B[c]=u;else if(n.hasOwnProperty(m))throw o(B,function(a){a&&a.element&&(z[a.id]=a)}),Error("Duplicates in a repeater are not allowed. Repeater: "+k+" key: "+m);else B[c]={id:m},n[m]=!1;for(w in z)if(z.hasOwnProperty(w))u=z[w],g.leave(u.element),u.element[0].$$NG_REMOVED=!0,u.scope.$destroy();
    c=0;for(j=v.length;c<j;c++){w=a===v?c:v[c];E=a[w];u=B[c];if(u.element){t=u.scope;m=l[0];do m=m.nextSibling;while(m&&m.$$NG_REMOVED);u.element[0]!=m&&g.move(u.element,null,l);l=u.element}else t=d.$new();t[y]=E;r&&(t[r]=w);t.$index=c;t.$first=c===0;t.$last=c===p-1;t.$middle=!(t.$first||t.$last);u.element||f(t,function(a){g.enter(a,null,l);l=a;u.scope=t;u.element=a;n[u.id]=u})}z=n})}}}}],Qd=["$animator",function(a){return function(c,d,e){var f=a(c,e);c.$watch(e.ngShow,function(a){f[ta(a)?"show":"hide"](d)})}}],
    Rd=["$animator",function(a){return function(c,d,e){var f=a(c,e);c.$watch(e.ngHide,function(a){f[ta(a)?"hide":"show"](d)})}}],Sd=Y(function(a,c,d){a.$watch(d.ngStyle,function(a,d){d&&a!==d&&o(d,function(a,d){c.css(d,"")});a&&c.css(a)},!0)}),Td=["$animator",function(a){return{restrict:"EA",require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(c,d,e,f){var i=a(c,e),h,j,g=[];c.$watch(e.ngSwitch||e.on,function(a){for(var d=0,m=g.length;d<m;d++)g[d].$destroy(),i.leave(j[d]);j=
    [];g=[];if(h=f.cases["!"+a]||f.cases["?"])c.$eval(e.change),o(h,function(a){var d=c.$new();g.push(d);a.transclude(d,function(c){var d=a.element;j.push(c);i.enter(c,d.parent(),d)})})})}}}],Ud=Y({transclude:"element",priority:500,require:"^ngSwitch",compile:function(a,c,d){return function(a,f,i,h){h.cases["!"+c.ngSwitchWhen]=h.cases["!"+c.ngSwitchWhen]||[];h.cases["!"+c.ngSwitchWhen].push({transclude:d,element:f})}}}),Vd=Y({transclude:"element",priority:500,require:"^ngSwitch",compile:function(a,c,
    d){return function(a,c,i,h){h.cases["?"]=h.cases["?"]||[];h.cases["?"].push({transclude:d,element:c})}}}),Wd=Y({controller:["$transclude","$element",function(a,c){a(function(a){c.append(a)})}]}),Xd=["$http","$templateCache","$route","$anchorScroll","$compile","$controller","$animator",function(a,c,d,e,f,i,h){return{restrict:"ECA",terminal:!0,link:function(a,c,k){function l(){var h=d.current&&d.current.locals,k=h&&h.$template;if(k){n.leave(c.contents(),c);m&&(m.$destroy(),m=null);n.enter(v("<div></div>").html(k).contents(),
    c);var k=f(c.contents()),l=d.current;m=l.scope=a.$new();if(l.controller)h.$scope=m,h=i(l.controller,h),c.children().data("$ngControllerController",h);k(m);m.$emit("$viewContentLoaded");m.$eval(o);e()}else n.leave(c.contents(),c),m&&(m.$destroy(),m=null)}var m,o=k.onload||"",n=h(a,k);a.$on("$routeChangeSuccess",l);l()}}}],Yd=["$templateCache",function(a){return{restrict:"E",terminal:!0,compile:function(c,d){d.type=="text/ng-template"&&a.put(d.id,c[0].text)}}}],Zd=R({terminal:!0}),$d=["$compile","$parse",
    function(a,c){var d=/^\s*(.*?)(?:\s+as\s+(.*?))?(?:\s+group\s+by\s+(.*))?\s+for\s+(?:([\$\w][\$\w\d]*)|(?:\(\s*([\$\w][\$\w\d]*)\s*,\s*([\$\w][\$\w\d]*)\s*\)))\s+in\s+(.*)$/,e={$setViewValue:w};return{restrict:"E",require:["select","?ngModel"],controller:["$element","$scope","$attrs",function(a,c,d){var j=this,g={},k=e,l;j.databound=d.ngModel;j.init=function(a,c,d){k=a;l=d};j.addOption=function(c){g[c]=!0;k.$viewValue==c&&(a.val(c),l.parent()&&l.remove())};j.removeOption=function(a){this.hasOption(a)&&
    (delete g[a],k.$viewValue==a&&this.renderUnknownOption(a))};j.renderUnknownOption=function(c){c="? "+ma(c)+" ?";l.val(c);a.prepend(l);a.val(c);l.prop("selected",!0)};j.hasOption=function(a){return g.hasOwnProperty(a)};c.$on("$destroy",function(){j.renderUnknownOption=w})}],link:function(e,i,h,j){function g(a,c,d,e){d.$render=function(){var a=d.$viewValue;e.hasOption(a)?(x.parent()&&x.remove(),c.val(a),a===""&&p.prop("selected",!0)):B(a)&&p?c.val(""):e.renderUnknownOption(a)};c.bind("change",function(){a.$apply(function(){x.parent()&&
    x.remove();d.$setViewValue(c.val())})})}function k(a,c,d){var e;d.$render=function(){var a=new Na(d.$viewValue);o(c.find("option"),function(c){c.selected=u(a.get(c.value))})};a.$watch(function(){ka(e,d.$viewValue)||(e=U(d.$viewValue),d.$render())});c.bind("change",function(){a.$apply(function(){var a=[];o(c.find("option"),function(c){c.selected&&a.push(c.value)});d.$setViewValue(a)})})}function l(e,f,h){function g(){var a={"":[]},c=[""],d,i,t,u,v;t=h.$modelValue;u=p(e)||[];var B=l?pb(u):u,C,x,y;x=
    {};v=!1;var A,E;if(n)v=new Na(t);else if(t===null||r)a[""].push({selected:t===null,id:"",label:""}),v=!0;for(y=0;C=B.length,y<C;y++){x[k]=u[l?x[l]=B[y]:y];d=m(e,x)||"";if(!(i=a[d]))i=a[d]=[],c.push(d);n?d=v.remove(o(e,x))!=q:(d=t===o(e,x),v=v||d);A=j(e,x);A=A===q?"":A;i.push({id:l?B[y]:y,label:A,selected:d})}!n&&!v&&a[""].unshift({id:"?",label:"",selected:!0});x=0;for(B=c.length;x<B;x++){d=c[x];i=a[d];if(s.length<=x)t={element:F.clone().attr("label",d),label:i.label},u=[t],s.push(u),f.append(t.element);
    else if(u=s[x],t=u[0],t.label!=d)t.element.attr("label",t.label=d);A=null;y=0;for(C=i.length;y<C;y++)if(d=i[y],v=u[y+1]){A=v.element;if(v.label!==d.label)A.text(v.label=d.label);if(v.id!==d.id)A.val(v.id=d.id);if(v.element.selected!==d.selected)A.prop("selected",v.selected=d.selected)}else d.id===""&&r?E=r:(E=w.clone()).val(d.id).attr("selected",d.selected).text(d.label),u.push({element:E,label:d.label,id:d.id,selected:d.selected}),A?A.after(E):t.element.append(E),A=E;for(y++;u.length>y;)u.pop().element.remove()}for(;s.length>
    x;)s.pop()[0].element.remove()}var i;if(!(i=t.match(d)))throw Error("Expected ngOptions in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '"+t+"'.");var j=c(i[2]||i[1]),k=i[4]||i[6],l=i[5],m=c(i[3]||""),o=c(i[2]?i[1]:k),p=c(i[7]),s=[[{element:f,label:""}]];r&&(a(r)(e),r.removeClass("ng-scope"),r.remove());f.html("");f.bind("change",function(){e.$apply(function(){var a,c=p(e)||[],d={},g,i,j,m,r,t;if(n){i=[];m=0;for(t=s.length;m<t;m++){a=s[m];j=1;for(r=a.length;j<r;j++)if((g=
    a[j].element)[0].selected)g=g.val(),l&&(d[l]=g),d[k]=c[g],i.push(o(e,d))}}else g=f.val(),g=="?"?i=q:g==""?i=null:(d[k]=c[g],l&&(d[l]=g),i=o(e,d));h.$setViewValue(i)})});h.$render=g;e.$watch(g)}if(j[1]){for(var m=j[0],s=j[1],n=h.multiple,t=h.ngOptions,r=!1,p,w=v(W.createElement("option")),F=v(W.createElement("optgroup")),x=w.clone(),j=0,C=i.children(),G=C.length;j<G;j++)if(C[j].value==""){p=r=C.eq(j);break}m.init(s,r,x);if(n&&(h.required||h.ngRequired)){var A=function(a){s.$setValidity("required",
    !h.required||a&&a.length);return a};s.$parsers.push(A);s.$formatters.unshift(A);h.$observe("required",function(){A(s.$viewValue)})}t?l(e,i,s):n?k(e,i,s):g(e,i,s,m)}}}}],ae=["$interpolate",function(a){var c={addOption:w,removeOption:w};return{restrict:"E",priority:100,compile:function(d,e){if(B(e.value)){var f=a(d.text(),!0);f||e.$set("value",d.text())}return function(a,d,e){var g=d.parent(),k=g.data("$selectController")||g.parent().data("$selectController");k&&k.databound?d.prop("selected",!1):k=
    c;f?a.$watch(f,function(a,c){e.$set("value",a);a!==c&&k.removeOption(c);k.addOption(a)}):k.addOption(e.value);d.bind("$destroy",function(){k.removeOption(e.value)})}}}}],be=R({restrict:"E",terminal:!0});(da=M.jQuery)?(v=da,t(da.fn,{scope:Aa.scope,controller:Aa.controller,injector:Aa.injector,inheritedData:Aa.inheritedData}),cb("remove",!0),cb("empty"),cb("html")):v=Q;Ga.element=v;(function(a){t(a,{bootstrap:vb,copy:U,extend:t,equals:ka,element:v,forEach:o,injector:wb,noop:w,bind:Za,toJson:ea,fromJson:sb,
    identity:pa,isUndefined:B,isDefined:u,isString:C,isFunction:I,isObject:L,isNumber:Xa,isElement:mc,isArray:A,version:md,isDate:qa,lowercase:J,uppercase:na,callbacks:{counter:0},noConflict:jc});ya=rc(M);try{ya("ngLocale")}catch(c){ya("ngLocale",[]).provider("$locale",cd)}ya("ng",["ngLocale"],["$provide",function(a){a.provider("$compile",Hb).directive({a:od,input:gc,textarea:gc,form:pd,script:Yd,select:$d,style:be,option:ae,ngBind:Ad,ngBindHtmlUnsafe:Cd,ngBindTemplate:Bd,ngClass:Dd,ngClassEven:Fd,ngClassOdd:Ed,
    ngCsp:Id,ngCloak:Gd,ngController:Hd,ngForm:qd,ngHide:Rd,ngIf:Kd,ngInclude:Ld,ngInit:Md,ngNonBindable:Nd,ngPluralize:Od,ngRepeat:Pd,ngShow:Qd,ngSubmit:Jd,ngStyle:Sd,ngSwitch:Td,ngSwitchWhen:Ud,ngSwitchDefault:Vd,ngOptions:Zd,ngView:Xd,ngTransclude:Wd,ngModel:vd,ngList:xd,ngChange:wd,required:hc,ngRequired:hc,ngValue:zd}).directive(ob).directive(ic);a.provider({$anchorScroll:Ac,$animation:Gb,$animator:nd,$browser:Cc,$cacheFactory:Dc,$controller:Gc,$document:Hc,$exceptionHandler:Ic,$filter:Xb,$interpolate:Jc,
    $http:Zc,$httpBackend:$c,$location:Kc,$log:Lc,$parse:Pc,$route:Sc,$routeParams:Tc,$rootScope:Uc,$q:Qc,$sniffer:Vc,$templateCache:Ec,$timeout:dd,$window:Wc})}])})(Ga);v(W).ready(function(){pc(W,vb)})})(window,document);angular.element(document).find("head").append('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak{display:none;}ng\\:form{display:block;}</style>');
    51 changes: 51 additions & 0 deletions index.html
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,51 @@
    <!doctype html>
    <html ng-app="test">
    <head></head>
    <body>
    <p>
    <!-- NOTE: these links assume the app is hosted at http://domain/en/test/ -->
    <a href="/en/test/">/en/test/</a>
    <a href="/en/test/index.html">/en/test/index.html</a>
    <a href="/en/test/index2.html">/en/test/index2.html</a>
    <a href="/en/test/invalid.html">/en/test/invalid.html</a>
    </p>

    <div ng-view></div>

    <script src="angular.min.js"></script>
    <script>
    // assumes this app runs at http://domain/en/test/
    var prefix = '/en/test/';

    angular.module('test', [])
    .controller('PartialCtrl', function($scope, $location) {
    $scope.location = $location;
    })
    .controller('NotFoundCtrl', function($scope, $location) {
    $scope.location = $location;
    })
    .config(function ($routeProvider, $locationProvider) {
    $locationProvider.html5Mode(true);

    $routeProvider
    .when(prefix, {
    templateUrl: prefix + 'partial.html',
    controller: 'PartialCtrl'
    })
    .when(prefix + '/index.html', {
    templateUrl: prefix + 'partial.html',
    controller: 'PartialCtrl'
    })
    .when(prefix + '/index2.html', {
    templateUrl: prefix + 'partial.html',
    controller: 'PartialCtrl'
    })
    .otherwise({
    templateUrl: prefix + 'notfound.html',
    controller: 'NotFoundCtrl'
    });
    });
    </script>
    </body>
    </html>

    3 changes: 3 additions & 0 deletions notfound.html
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,3 @@
    <h3>404 Not Found</h3>
    <p>URL: {{ location.absUrl() }}</p>
    <p>Path: {{ location.path() }}</p>
    3 changes: 3 additions & 0 deletions partial.html
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,3 @@
    <h3>Partial</h3>
    <p>URL: {{ location.absUrl() }}</p>
    <p>Path: {{ location.path() }}</p>