!function (a, b, c) {
"use strict";
function d(a, b) {
return b = b || Error, function () {
var c, d, e = 2, f = arguments, g = f[0], h = "[" + (a ? a + ":" : "") + g + "] ", i = f[1];
for (h += i.replace(/\{\d+\}/g, function (a) {
var b = +a.slice(1, -1), c = b + e;
return c < f.length ? ta(f[c]) : a
}), h += "\nhttp://errors.angularjs.org/1.4.9/" + (a ? a + "/" : "") + g, d = e, c = "?"; d < f.length; d++, c = "&")h += c + "p" + (d - e) + "=" + encodeURIComponent(ta(f[d]));
return new b(h)
}
}
function e(a) {
if (null == a || C(a))return!1;
if (Qd(a) || x(a) || Ed && a instanceof Ed)return!0;
var b = "length"in Object(a) && a.length;
return y(b) && (b >= 0 && (b - 1 in a || a instanceof Array) || "function" == typeof a.item)
}
function f(a, b, c) {
var d, g;
if (a)if (A(a))for (d in a)"prototype" == d || "length" == d || "name" == d || a.hasOwnProperty && !a.hasOwnProperty(d) || b.call(c, a[d], d, a); else if (Qd(a) || e(a)) {
var h = "object" != typeof a;
for (d = 0, g = a.length; g > d; d++)(h || d in a) && b.call(c, a[d], d, a)
} else if (a.forEach && a.forEach !== f)a.forEach(b, c, a); else if (w(a))for (d in a)b.call(c, a[d], d, a); else if ("function" == typeof a.hasOwnProperty)for (d in a)a.hasOwnProperty(d) && b.call(c, a[d], d, a); else for (d in a)zd.call(a, d) && b.call(c, a[d], d, a);
return a
}
function g(a, b, c) {
for (var d = Object.keys(a).sort(), e = 0; e < d.length; e++)b.call(c, a[d[e]], d[e]);
return d
}
function h(a) {
return function (b, c) {
a(c, b)
}
}
function i() {
return++Od
}
function j(a, b) {
b ? a.$$hashKey = b : delete a.$$hashKey
}
function k(a, b, c) {
for (var d = a.$$hashKey, e = 0, f = b.length; f > e; ++e) {
var g = b[e];
if (v(g) || A(g))for (var h = Object.keys(g), i = 0, l = h.length; l > i; i++) {
var m = h[i], n = g[m];
c && v(n) ? z(n) ? a[m] = new Date(n.valueOf()) : B(n) ? a[m] = new RegExp(n) : n.nodeName ? a[m] = n.cloneNode(!0) : K(n) ? a[m] = n.clone() : (v(a[m]) || (a[m] = Qd(n) ? [] : {}), k(a[m], [n], !0)) : a[m] = n
}
}
return j(a, d), a
}
function l(a) {
return k(a, Hd.call(arguments, 1), !1)
}
function m(a) {
return k(a, Hd.call(arguments, 1), !0)
}
function n(a) {
return parseInt(a, 10)
}
function o(a, b) {
return l(Object.create(a), b)
}
function p() {
}
function q(a) {
return a
}
function r(a) {
return function () {
return a
}
}
function s(a) {
return A(a.toString) && a.toString !== Kd
}
function t(a) {
return"undefined" == typeof a
}
function u(a) {
return"undefined" != typeof a
}
function v(a) {
return null !== a && "object" == typeof a
}
function w(a) {
return null !== a && "object" == typeof a && !Ld(a)
}
function x(a) {
return"string" == typeof a
}
function y(a) {
return"number" == typeof a
}
function z(a) {
return"[object Date]" === Kd.call(a)
}
function A(a) {
return"function" == typeof a
}
function B(a) {
return"[object RegExp]" === Kd.call(a)
}
function C(a) {
return a && a.window === a
}
function D(a) {
return a && a.$evalAsync && a.$watch
}
function E(a) {
return"[object File]" === Kd.call(a)
}
function F(a) {
return"[object FormData]" === Kd.call(a)
}
function G(a) {
return"[object Blob]" === Kd.call(a)
}
function H(a) {
return"boolean" == typeof a
}
function I(a) {
return a && A(a.then)
}
function J(a) {
return a && y(a.length) && Rd.test(Kd.call(a))
}
function K(a) {
return!(!a || !(a.nodeName || a.prop && a.attr && a.find))
}
function L(a) {
var b, c = {}, d = a.split(",");
for (b = 0; b < d.length; b++)c[d[b]] = !0;
return c
}
function M(a) {
return yd(a.nodeName || a[0] && a[0].nodeName)
}
function N(a, b) {
var c = a.indexOf(b);
return c >= 0 && a.splice(c, 1), c
}
function O(a, b) {
function c(a, b) {
var c, e = b.$$hashKey;
if (Qd(a))for (var f = 0, g = a.length; g > f; f++)b.push(d(a[f])); else if (w(a))for (c in a)b[c] = d(a[c]); else if (a && "function" == typeof a.hasOwnProperty)for (c in a)a.hasOwnProperty(c) && (b[c] = d(a[c])); else for (c in a)zd.call(a, c) && (b[c] = d(a[c]));
return j(b, e), b
}
function d(a) {
if (!v(a))return a;
var b = e.indexOf(a);
if (-1 !== b)return g[b];
if (C(a) || D(a))throw Md("cpws", "Can't copy! Making copies of Window or Scope instances is not supported.");
var d, f = !1;
return Qd(a) ? (d = [], f = !0) : J(a) ? d = new a.constructor(a) : z(a) ? d = new Date(a.getTime()) : B(a) ? (d = new RegExp(a.source, a.toString().match(/[^\/]*$/)[0]), d.lastIndex = a.lastIndex) : A(a.cloneNode) ? d = a.cloneNode(!0) : (d = Object.create(Ld(a)), f = !0), e.push(a), g.push(d), f ? c(a, d) : d
}
var e = [], g = [];
if (b) {
if (J(b))throw Md("cpta", "Can't copy! TypedArray destination cannot be mutated.");
if (a === b)throw Md("cpi", "Can't copy! Source and destination are identical.");
return Qd(b) ? b.length = 0 : f(b, function (a, c) {
"$$hashKey" !== c && delete b[c]
}), e.push(a), g.push(b), c(a, b)
}
return d(a)
}
function P(a, b) {
if (Qd(a)) {
b = b || [];
for (var c = 0, d = a.length; d > c; c++)b[c] = a[c]
} else if (v(a)) {
b = b || {};
for (var e in a)("$" !== e.charAt(0) || "$" !== e.charAt(1)) && (b[e] = a[e])
}
return b || a
}
function Q(a, b) {
if (a === b)return!0;
if (null === a || null === b)return!1;
if (a !== a && b !== b)return!0;
var c, d, e, f = typeof a, g = typeof b;
if (f == g && "object" == f) {
if (!Qd(a)) {
if (z(a))return z(b) ? Q(a.getTime(), b.getTime()) : !1;
if (B(a))return B(b) ? a.toString() == b.toString() : !1;
if (D(a) || D(b) || C(a) || C(b) || Qd(b) || z(b) || B(b))return!1;
e = qa();
for (d in a)if ("$" !== d.charAt(0) && !A(a[d])) {
if (!Q(a[d], b[d]))return!1;
e[d] = !0
}
for (d in b)if (!(d in e) && "$" !== d.charAt(0) && u(b[d]) && !A(b[d]))return!1;
return!0
}
if (!Qd(b))return!1;
if ((c = a.length) == b.length) {
for (d = 0; c > d; d++)if (!Q(a[d], b[d]))return!1;
return!0
}
}
return!1
}
function R(a, b, c) {
return a.concat(Hd.call(b, c))
}
function S(a, b) {
return Hd.call(a, b || 0)
}
function T(a, b) {
var c = arguments.length > 2 ? S(arguments, 2) : [];
return!A(b) || b instanceof RegExp ? b : c.length ? function () {
return arguments.length ? b.apply(a, R(c, arguments, 0)) : b.apply(a, c)
} : function () {
return arguments.length ? b.apply(a, arguments) : b.call(a)
}
}
function U(a, d) {
var e = d;
return"string" == typeof a && "$" === a.charAt(0) && "$" === a.charAt(1) ? e = c : C(d) ? e = "$WINDOW" : d && b === d ? e = "$DOCUMENT" : D(d) && (e = "$SCOPE"), e
}
function V(a, b) {
return"undefined" == typeof a ? c : (y(b) || (b = b ? 2 : null), JSON.stringify(a, U, b))
}
function W(a) {
return x(a) ? JSON.parse(a) : a
}
function X(a, b) {
var c = Date.parse("Jan 01, 1970 00:00:00 " + a) / 6e4;
return isNaN(c) ? b : c
}
function Y(a, b) {
return a = new Date(a.getTime()), a.setMinutes(a.getMinutes() + b), a
}
function Z(a, b, c) {
c = c ? -1 : 1;
var d = X(b, a.getTimezoneOffset());
return Y(a, c * (d - a.getTimezoneOffset()))
}
function $(a) {
a = Ed(a).clone();
try {
a.empty()
} catch (b) {
}
var c = Ed("
").append(a).html();
try {
return a[0].nodeType === _d ? yd(c) : c.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/, function (a, b) {
return"<" + yd(b)
})
} catch (b) {
return yd(c)
}
}
function _(a) {
try {
return decodeURIComponent(a)
} catch (b) {
}
}
function aa(a) {
var b = {};
return f((a || "").split("&"), function (a) {
var c, d, e;
a && (d = a = a.replace(/\+/g, "%20"), c = a.indexOf("="), -1 !== c && (d = a.substring(0, c), e = a.substring(c + 1)), d = _(d), u(d) && (e = u(e) ? _(e) : !0, zd.call(b, d) ? Qd(b[d]) ? b[d].push(e) : b[d] = [b[d], e] : b[d] = e))
}), b
}
function ba(a) {
var b = [];
return f(a, function (a, c) {
Qd(a) ? f(a, function (a) {
b.push(da(c, !0) + (a === !0 ? "" : "=" + da(a, !0)))
}) : b.push(da(c, !0) + (a === !0 ? "" : "=" + da(a, !0)))
}), b.length ? b.join("&") : ""
}
function ca(a) {
return da(a, !0).replace(/%26/gi, "&").replace(/%3D/gi, "=").replace(/%2B/gi, "+")
}
function da(a, b) {
return encodeURIComponent(a).replace(/%40/gi, "@").replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%3B/gi, ";").replace(/%20/g, b ? "%20" : "+")
}
function ea(a, b) {
var c, d, e = Wd.length;
for (d = 0; e > d; ++d)if (c = Wd[d] + b, x(c = a.getAttribute(c)))return c;
return null
}
function fa(a, b) {
var c, d, e = {};
f(Wd, function (b) {
var e = b + "app";
!c && a.hasAttribute && a.hasAttribute(e) && (c = a, d = a.getAttribute(e))
}), f(Wd, function (b) {
var e, f = b + "app";
!c && (e = a.querySelector("[" + f.replace(":", "\\:") + "]")) && (c = e, d = e.getAttribute(f))
}), c && (e.strictDi = null !== ea(c, "strict-di"), b(c, d ? [d] : [], e))
}
function ga(c, d, e) {
v(e) || (e = {});
var g = {strictDi: !1};
e = l(g, e);
var h = function () {
if (c = Ed(c), c.injector()) {
var a = c[0] === b ? "document" : $(c);
throw Md("btstrpd", "App Already Bootstrapped with this Element '{0}'", a.replace(/, "<").replace(/>/, ">"))
}
d = d || [], d.unshift(["$provide", function (a) {
a.value("$rootElement", c)
}]), e.debugInfoEnabled && d.push(["$compileProvider", function (a) {
a.debugInfoEnabled(!0)
}]), d.unshift("ng");
var f = ab(d, e.strictDi);
return f.invoke(["$rootScope", "$rootElement", "$compile", "$injector", function (a, b, c, d) {
a.$apply(function () {
b.data("$injector", d), c(b)(a)
})
}]), f
}, i = /^NG_ENABLE_DEBUG_INFO!/, j = /^NG_DEFER_BOOTSTRAP!/;
return a && i.test(a.name) && (e.debugInfoEnabled = !0, a.name = a.name.replace(i, "")), a && !j.test(a.name) ? h() : (a.name = a.name.replace(j, ""), Nd.resumeBootstrap = function (a) {
return f(a, function (a) {
d.push(a)
}), h()
}, void(A(Nd.resumeDeferredBootstrap) && Nd.resumeDeferredBootstrap()))
}
function ha() {
a.name = "NG_ENABLE_DEBUG_INFO!" + a.name, a.location.reload()
}
function ia(a) {
var b = Nd.element(a).injector();
if (!b)throw Md("test", "no injector found for element argument to getTestability");
return b.get("$$testability")
}
function ja(a, b) {
return b = b || "_", a.replace(Xd, function (a, c) {
return(c ? b : "") + a.toLowerCase()
})
}
function ka() {
var b;
if (!Yd) {
var d = Vd();
Fd = t(d) ? a.jQuery : d ? a[d] : c, Fd && Fd.fn.on ? (Ed = Fd, l(Fd.fn, {scope: se.scope, isolateScope: se.isolateScope, controller: se.controller, injector: se.injector, inheritedData: se.inheritedData}), b = Fd.cleanData, Fd.cleanData = function (a) {
var c;
if (Pd)Pd = !1; else for (var d, e = 0; null != (d = a[e]); e++)c = Fd._data(d, "events"), c && c.$destroy && Fd(d).triggerHandler("$destroy");
b(a)
}) : Ed = Ca, Nd.element = Ed, Yd = !0
}
}
function la(a, b, c) {
if (!a)throw Md("areq", "Argument '{0}' is {1}", b || "?", c || "required");
return a
}
function ma(a, b, c) {
return c && Qd(a) && (a = a[a.length - 1]), la(A(a), b, "not a function, got " + (a && "object" == typeof a ? a.constructor.name || "Object" : typeof a)), a
}
function na(a, b) {
if ("hasOwnProperty" === a)throw Md("badname", "hasOwnProperty is not a valid {0} name", b)
}
function oa(a, b, c) {
if (!b)return a;
for (var d, e = b.split("."), f = a, g = e.length, h = 0; g > h; h++)d = e[h], a && (a = (f = a)[d]);
return!c && A(a) ? T(f, a) : a
}
function pa(a) {
for (var b, c = a[0], d = a[a.length - 1], e = 1; c !== d && (c = c.nextSibling); e++)(b || a[e] !== c) && (b || (b = Ed(Hd.call(a, 0, e))), b.push(c));
return b || a
}
function qa() {
return Object.create(null)
}
function ra(a) {
function b(a, b, c) {
return a[b] || (a[b] = c())
}
var c = d("$injector"), e = d("ng"), f = b(a, "angular", Object);
return f.$$minErr = f.$$minErr || d, b(f, "module", function () {
var a = {};
return function (d, f, g) {
var h = function (a, b) {
if ("hasOwnProperty" === a)throw e("badname", "hasOwnProperty is not a valid {0} name", b)
};
return h(d, "module"), f && a.hasOwnProperty(d) && (a[d] = null), b(a, d, function () {
function a(a, b, c, d) {
return d || (d = e), function () {
return d[c || "push"]([a, b, arguments]), k
}
}
function b(a, b) {
return function (c, f) {
return f && A(f) && (f.$$moduleName = d), e.push([a, b, arguments]), k
}
}
if (!f)throw c("nomod", "Module '{0}' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.", d);
var e = [], h = [], i = [], j = a("$injector", "invoke", "push", h), k = {_invokeQueue: e, _configBlocks: h, _runBlocks: i, requires: f, name: d, provider: b("$provide", "provider"), factory: b("$provide", "factory"), service: b("$provide", "service"), value: a("$provide", "value"), constant: a("$provide", "constant", "unshift"), decorator: b("$provide", "decorator"), animation: b("$animateProvider", "register"), filter: b("$filterProvider", "register"), controller: b("$controllerProvider", "register"), directive: b("$compileProvider", "directive"), config: j, run: function (a) {
return i.push(a), this
}};
return g && j(g), k
})
}
})
}
function sa(a) {
var b = [];
return JSON.stringify(a, function (a, c) {
if (c = U(a, c), v(c)) {
if (b.indexOf(c) >= 0)return"...";
b.push(c)
}
return c
})
}
function ta(a) {
return"function" == typeof a ? a.toString().replace(/ \{[\s\S]*$/, "") : t(a) ? "undefined" : "string" != typeof a ? sa(a) : a
}
function ua(b) {
l(b, {bootstrap: ga, copy: O, extend: l, merge: m, equals: Q, element: Ed, forEach: f, injector: ab, noop: p, bind: T, toJson: V, fromJson: W, identity: q, isUndefined: t, isDefined: u, isString: x, isFunction: A, isObject: v, isNumber: y, isElement: K, isArray: Qd, version: de, isDate: z, lowercase: yd, uppercase: Ad, callbacks: {counter: 0}, getTestability: ia, $$minErr: d, $$csp: Ud, reloadWithDebugInfo: ha}), (Gd = ra(a))("ng", ["ngLocale"], ["$provide", function (a) {
a.provider({$$sanitizeUri: sc}), a.provider("$compile", kb).directive({a: xf, input: Of, textarea: Of, form: Cf, script: Gg, select: Jg, style: Lg, option: Kg, ngBind: Rf, ngBindHtml: Tf, ngBindTemplate: Sf, ngClass: Vf, ngClassEven: Xf, ngClassOdd: Wf, ngCloak: Yf, ngController: Zf, ngForm: Df, ngHide: Ag, ngIf: ag, ngInclude: bg, ngInit: dg, ngNonBindable: rg, ngPluralize: vg, ngRepeat: wg, ngShow: zg, ngStyle: Bg, ngSwitch: Cg, ngSwitchWhen: Dg, ngSwitchDefault: Eg, ngOptions: ug, ngTransclude: Fg, ngModel: og, ngList: eg, ngChange: Uf, pattern: Ng, ngPattern: Ng, required: Mg, ngRequired: Mg, minlength: Pg, ngMinlength: Pg, maxlength: Og, ngMaxlength: Og, ngValue: Qf, ngModelOptions: qg}).directive({ngInclude: cg}).directive(yf).directive($f), a.provider({$anchorScroll: bb, $animate: He, $animateCss: Ke, $$animateJs: Fe, $$animateQueue: Ge, $$AnimateRunner: Je, $$animateAsyncRun: Ie, $browser: hb, $cacheFactory: ib, $controller: pb, $document: qb, $exceptionHandler: rb, $filter: Gc, $$forceReflow: Pe, $interpolate: Fb, $interval: Gb, $http: Bb, $httpParamSerializer: tb, $httpParamSerializerJQLike: ub, $httpBackend: Db, $xhrFactory: Cb, $location: Ub, $log: Vb, $parse: mc, $rootScope: rc, $q: nc, $$q: oc, $sce: wc, $sceDelegate: vc, $sniffer: xc, $templateCache: jb, $templateRequest: yc, $$testability: zc, $timeout: Ac, $window: Dc, $$rAF: qc, $$jqLite: Xa, $$HashMap: we, $$cookieReader: Fc})
}])
}
function va() {
return++fe
}
function wa(a) {
return a.replace(ie,function (a, b, c, d) {
return d ? c.toUpperCase() : c
}).replace(je, "Moz$1")
}
function xa(a) {
return!ne.test(a)
}
function ya(a) {
var b = a.nodeType;
return b === Zd || !b || b === be
}
function za(a) {
for (var b in ee[a.ng339])return!0;
return!1
}
function Aa(a, b) {
var c, d, e, g, h = b.createDocumentFragment(), i = [];
if (xa(a))i.push(b.createTextNode(a)); else {
for (c = c || h.appendChild(b.createElement("div")), d = (oe.exec(a) || ["", ""])[1].toLowerCase(), e = qe[d] || qe._default, c.innerHTML = e[1] + a.replace(pe, "<$1>$2>") + e[2], g = e[0]; g--;)c = c.lastChild;
i = R(i, c.childNodes), c = h.firstChild, c.textContent = ""
}
return h.textContent = "", h.innerHTML = "", f(i, function (a) {
h.appendChild(a)
}), h
}
function Ba(a, c) {
c = c || b;
var d;
return(d = me.exec(a)) ? [c.createElement(d[1])] : (d = Aa(a, c)) ? d.childNodes : []
}
function Ca(a) {
if (a instanceof Ca)return a;
var b;
if (x(a) && (a = Sd(a), b = !0), !(this instanceof Ca)) {
if (b && "<" != a.charAt(0))throw le("nosel", "Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element");
return new Ca(a)
}
b ? Ma(this, Ba(a)) : Ma(this, a)
}
function Da(a) {
return a.cloneNode(!0)
}
function Ea(a, b) {
if (b || Ga(a), a.querySelectorAll)for (var c = a.querySelectorAll("*"), d = 0, e = c.length; e > d; d++)Ga(c[d])
}
function Fa(a, b, c, d) {
if (u(d))throw le("offargs", "jqLite#off() does not support the `selector` argument");
var e = Ha(a), g = e && e.events, h = e && e.handle;
if (h)if (b) {
var i = function (b) {
var d = g[b];
u(c) && N(d || [], c), u(c) && d && d.length > 0 || (he(a, b, h), delete g[b])
};
f(b.split(" "), function (a) {
i(a), ke[a] && i(ke[a])
})
} else for (b in g)"$destroy" !== b && he(a, b, h), delete g[b]
}
function Ga(a, b) {
var d = a.ng339, e = d && ee[d];
if (e) {
if (b)return void delete e.data[b];
e.handle && (e.events.$destroy && e.handle({}, "$destroy"), Fa(a)), delete ee[d], a.ng339 = c
}
}
function Ha(a, b) {
var d = a.ng339, e = d && ee[d];
return b && !e && (a.ng339 = d = va(), e = ee[d] = {events: {}, data: {}, handle: c}), e
}
function Ia(a, b, c) {
if (ya(a)) {
var d = u(c), e = !d && b && !v(b), f = !b, g = Ha(a, !e), h = g && g.data;
if (d)h[b] = c; else {
if (f)return h;
if (e)return h && h[b];
l(h, b)
}
}
}
function Ja(a, b) {
return a.getAttribute ? (" " + (a.getAttribute("class") || "") + " ").replace(/[\n\t]/g, " ").indexOf(" " + b + " ") > -1 : !1
}
function Ka(a, b) {
b && a.setAttribute && f(b.split(" "), function (b) {
a.setAttribute("class", Sd((" " + (a.getAttribute("class") || "") + " ").replace(/[\n\t]/g, " ").replace(" " + Sd(b) + " ", " ")))
})
}
function La(a, b) {
if (b && a.setAttribute) {
var c = (" " + (a.getAttribute("class") || "") + " ").replace(/[\n\t]/g, " ");
f(b.split(" "), function (a) {
a = Sd(a), -1 === c.indexOf(" " + a + " ") && (c += a + " ")
}), a.setAttribute("class", Sd(c))
}
}
function Ma(a, b) {
if (b)if (b.nodeType)a[a.length++] = b; else {
var c = b.length;
if ("number" == typeof c && b.window !== b) {
if (c)for (var d = 0; c > d; d++)a[a.length++] = b[d]
} else a[a.length++] = b
}
}
function Na(a, b) {
return Oa(a, "$" + (b || "ngController") + "Controller")
}
function Oa(a, b, c) {
a.nodeType == be && (a = a.documentElement);
for (var d = Qd(b) ? b : [b]; a;) {
for (var e = 0, f = d.length; f > e; e++)if (u(c = Ed.data(a, d[e])))return c;
a = a.parentNode || a.nodeType === ce && a.host
}
}
function Pa(a) {
for (Ea(a, !0); a.firstChild;)a.removeChild(a.firstChild)
}
function Qa(a, b) {
b || Ea(a);
var c = a.parentNode;
c && c.removeChild(a)
}
function Ra(b, c) {
c = c || a, "complete" === c.document.readyState ? c.setTimeout(b) : Ed(c).on("load", b)
}
function Sa(a, b) {
var c = te[b.toLowerCase()];
return c && ue[M(a)] && c
}
function Ta(a) {
return ve[a]
}
function Ua(a, b) {
var c = function (c, d) {
c.isDefaultPrevented = function () {
return c.defaultPrevented
};
var e = b[d || c.type], f = e ? e.length : 0;
if (f) {
if (t(c.immediatePropagationStopped)) {
var g = c.stopImmediatePropagation;
c.stopImmediatePropagation = function () {
c.immediatePropagationStopped = !0, c.stopPropagation && c.stopPropagation(), g && g.call(c)
}
}
c.isImmediatePropagationStopped = function () {
return c.immediatePropagationStopped === !0
};
var h = e.specialHandlerWrapper || Va;
f > 1 && (e = P(e));
for (var i = 0; f > i; i++)c.isImmediatePropagationStopped() || h(a, c, e[i])
}
};
return c.elem = a, c
}
function Va(a, b, c) {
c.call(a, b)
}
function Wa(a, b, c) {
var d = b.relatedTarget;
(!d || d !== a && !re.call(a, d)) && c.call(a, b)
}
function Xa() {
this.$get = function () {
return l(Ca, {hasClass: function (a, b) {
return a.attr && (a = a[0]), Ja(a, b)
}, addClass: function (a, b) {
return a.attr && (a = a[0]), La(a, b)
}, removeClass: function (a, b) {
return a.attr && (a = a[0]), Ka(a, b)
}})
}
}
function Ya(a, b) {
var c = a && a.$$hashKey;
if (c)return"function" == typeof c && (c = a.$$hashKey()), c;
var d = typeof a;
return c = "function" == d || "object" == d && null !== a ? a.$$hashKey = d + ":" + (b || i)() : d + ":" + a
}
function Za(a, b) {
if (b) {
var c = 0;
this.nextUid = function () {
return++c
}
}
f(a, this.put, this)
}
function $a(a) {
var b = a.toString().replace(Ae, ""), c = b.match(xe);
return c ? "function(" + (c[1] || "").replace(/[\s\r\n]+/, " ") + ")" : "fn"
}
function _a(a, b, c) {
var d, e, g, h;
if ("function" == typeof a) {
if (!(d = a.$inject)) {
if (d = [], a.length) {
if (b)throw x(c) && c || (c = a.name || $a(a)), Be("strictdi", "{0} is not using explicit annotation and cannot be invoked in strict mode", c);
e = a.toString().replace(Ae, ""), g = e.match(xe), f(g[1].split(ye), function (a) {
a.replace(ze, function (a, b, c) {
d.push(c)
})
})
}
a.$inject = d
}
} else Qd(a) ? (h = a.length - 1, ma(a[h], "fn"), d = a.slice(0, h)) : ma(a, "fn", !0);
return d
}
function ab(a, b) {
function d(a) {
return function (b, c) {
return v(b) ? void f(b, h(a)) : a(b, c)
}
}
function e(a, b) {
if (na(a, "service"), (A(b) || Qd(b)) && (b = y.instantiate(b)), !b.$get)throw Be("pget", "Provider '{0}' must define $get factory method.", a);
return w[a + q] = b
}
function g(a, b) {
return function () {
var c = B.invoke(b, this);
if (t(c))throw Be("undef", "Provider '{0}' must return a value from $get factory method.", a);
return c
}
}
function i(a, b, c) {
return e(a, {$get: c !== !1 ? g(a, b) : b})
}
function j(a, b) {
return i(a, ["$injector", function (a) {
return a.instantiate(b)
}])
}
function k(a, b) {
return i(a, r(b), !1)
}
function l(a, b) {
na(a, "constant"), w[a] = b, z[a] = b
}
function m(a, b) {
var c = y.get(a + q), d = c.$get;
c.$get = function () {
var a = B.invoke(d, c);
return B.invoke(b, null, {$delegate: a})
}
}
function n(a) {
la(t(a) || Qd(a), "modulesToLoad", "not an array");
var b, c = [];
return f(a, function (a) {
function d(a) {
var b, c;
for (b = 0, c = a.length; c > b; b++) {
var d = a[b], e = y.get(d[0]);
e[d[1]].apply(e, d[2])
}
}
if (!u.get(a)) {
u.put(a, !0);
try {
x(a) ? (b = Gd(a), c = c.concat(n(b.requires)).concat(b._runBlocks), d(b._invokeQueue), d(b._configBlocks)) : A(a) ? c.push(y.invoke(a)) : Qd(a) ? c.push(y.invoke(a)) : ma(a, "module")
} catch (e) {
throw Qd(a) && (a = a[a.length - 1]), e.message && e.stack && -1 == e.stack.indexOf(e.message) && (e = e.message + "\n" + e.stack), Be("modulerr", "Failed to instantiate module {0} due to:\n{1}", a, e.stack || e.message || e)
}
}
}), c
}
function o(a, c) {
function d(b, d) {
if (a.hasOwnProperty(b)) {
if (a[b] === p)throw Be("cdep", "Circular dependency found: {0}", b + " <- " + s.join(" <- "));
return a[b]
}
try {
return s.unshift(b), a[b] = p, a[b] = c(b, d)
} catch (e) {
throw a[b] === p && delete a[b], e
} finally {
s.shift()
}
}
function e(a, c, e, f) {
"string" == typeof e && (f = e, e = null);
var g, h, i, j = [], k = ab.$$annotate(a, b, f);
for (h = 0, g = k.length; g > h; h++) {
if (i = k[h], "string" != typeof i)throw Be("itkn", "Incorrect injection token! Expected service name as string, got {0}", i);
j.push(e && e.hasOwnProperty(i) ? e[i] : d(i, f))
}
return Qd(a) && (a = a[g]), a.apply(c, j)
}
function f(a, b, c) {
var d = Object.create((Qd(a) ? a[a.length - 1] : a).prototype || null), f = e(a, d, b, c);
return v(f) || A(f) ? f : d
}
return{invoke: e, instantiate: f, get: d, annotate: ab.$$annotate, has: function (b) {
return w.hasOwnProperty(b + q) || a.hasOwnProperty(b)
}}
}
b = b === !0;
var p = {}, q = "Provider", s = [], u = new Za([], !0), w = {$provide: {provider: d(e), factory: d(i), service: d(j), value: d(k), constant: d(l), decorator: m}}, y = w.$injector = o(w, function (a, b) {
throw Nd.isString(b) && s.push(b), Be("unpr", "Unknown provider: {0}", s.join(" <- "))
}), z = {}, B = z.$injector = o(z, function (a, b) {
var d = y.get(a + q, b);
return B.invoke(d.$get, d, c, a)
});
return f(n(a), function (a) {
a && B.invoke(a)
}), B
}
function bb() {
var a = !0;
this.disableAutoScrolling = function () {
a = !1
}, this.$get = ["$window", "$location", "$rootScope", function (b, c, d) {
function e(a) {
var b = null;
return Array.prototype.some.call(a, function (a) {
return"a" === M(a) ? (b = a, !0) : void 0
}), b
}
function f() {
var a = h.yOffset;
if (A(a))a = a(); else if (K(a)) {
var c = a[0], d = b.getComputedStyle(c);
a = "fixed" !== d.position ? 0 : c.getBoundingClientRect().bottom
} else y(a) || (a = 0);
return a
}
function g(a) {
if (a) {
a.scrollIntoView();
var c = f();
if (c) {
var d = a.getBoundingClientRect().top;
b.scrollBy(0, d - c)
}
} else b.scrollTo(0, 0)
}
function h(a) {
a = x(a) ? a : c.hash();
var b;
a ? (b = i.getElementById(a)) ? g(b) : (b = e(i.getElementsByName(a))) ? g(b) : "top" === a && g(null) : g(null)
}
var i = b.document;
return a && d.$watch(function () {
return c.hash()
}, function (a, b) {
(a !== b || "" !== a) && Ra(function () {
d.$evalAsync(h)
})
}), h
}]
}
function cb(a, b) {
return a || b ? a ? b ? (Qd(a) && (a = a.join(" ")), Qd(b) && (b = b.join(" ")), a + " " + b) : a : b : ""
}
function db(a) {
for (var b = 0; b < a.length; b++) {
var c = a[b];
if (c.nodeType === De)return c
}
}
function eb(a) {
x(a) && (a = a.split(" "));
var b = qa();
return f(a, function (a) {
a.length && (b[a] = !0)
}), b
}
function fb(a) {
return v(a) ? a : {}
}
function gb(a, b, c, d) {
function e(a) {
try {
a.apply(null, S(arguments, 1))
} finally {
if (s--, 0 === s)for (; u.length;)try {
u.pop()()
} catch (b) {
c.error(b)
}
}
}
function g(a) {
var b = a.indexOf("#");
return-1 === b ? "" : a.substr(b)
}
function h() {
z = null, j(), k()
}
function i() {
try {
return n.state
} catch (a) {
}
}
function j() {
v = i(), v = t(v) ? null : v, Q(v, C) && (v = C), C = v
}
function k() {
(x !== l.url() || w !== v) && (x = l.url(), w = v, f(A, function (a) {
a(l.url(), v)
}))
}
var l = this, m = (b[0], a.location), n = a.history, o = a.setTimeout, q = a.clearTimeout, r = {};
l.isMock = !1;
var s = 0, u = [];
l.$$completeOutstandingRequest = e, l.$$incOutstandingRequestCount = function () {
s++
}, l.notifyWhenNoOutstandingRequests = function (a) {
0 === s ? a() : u.push(a)
};
var v, w, x = m.href, y = b.find("base"), z = null;
j(), w = v, l.url = function (b, c, e) {
if (t(e) && (e = null), m !== a.location && (m = a.location), n !== a.history && (n = a.history), b) {
var f = w === e;
if (x === b && (!d.history || f))return l;
var h = x && Lb(x) === Lb(b);
return x = b, w = e, !d.history || h && f ? ((!h || z) && (z = b), c ? m.replace(b) : h ? m.hash = g(b) : m.href = b, m.href !== b && (z = b)) : (n[c ? "replaceState" : "pushState"](e, "", b), j(), w = v), l
}
return z || m.href.replace(/%27/g, "'")
}, l.state = function () {
return v
};
var A = [], B = !1, C = null;
l.onUrlChange = function (b) {
return B || (d.history && Ed(a).on("popstate", h), Ed(a).on("hashchange", h), B = !0), A.push(b), b
}, l.$$applicationDestroyed = function () {
Ed(a).off("hashchange popstate", h)
}, l.$$checkUrlChange = k, l.baseHref = function () {
var a = y.attr("href");
return a ? a.replace(/^(https?\:)?\/\/[^\/]*/, "") : ""
}, l.defer = function (a, b) {
var c;
return s++, c = o(function () {
delete r[c], e(a)
}, b || 0), r[c] = !0, c
}, l.defer.cancel = function (a) {
return r[a] ? (delete r[a], q(a), e(p), !0) : !1
}
}
function hb() {
this.$get = ["$window", "$log", "$sniffer", "$document", function (a, b, c, d) {
return new gb(a, d, b, c)
}]
}
function ib() {
this.$get = function () {
function a(a, c) {
function e(a) {
a != m && (n ? n == a && (n = a.n) : n = a, f(a.n, a.p), f(a, m), m = a, m.n = null)
}
function f(a, b) {
a != b && (a && (a.p = b), b && (b.n = a))
}
if (a in b)throw d("$cacheFactory")("iid", "CacheId '{0}' is already taken!", a);
var g = 0, h = l({}, c, {id: a}), i = qa(), j = c && c.capacity || Number.MAX_VALUE, k = qa(), m = null, n = null;
return b[a] = {put: function (a, b) {
if (!t(b)) {
if (j < Number.MAX_VALUE) {
var c = k[a] || (k[a] = {key: a});
e(c)
}
return a in i || g++, i[a] = b, g > j && this.remove(n.key), b
}
}, get: function (a) {
if (j < Number.MAX_VALUE) {
var b = k[a];
if (!b)return;
e(b)
}
return i[a]
}, remove: function (a) {
if (j < Number.MAX_VALUE) {
var b = k[a];
if (!b)return;
b == m && (m = b.p), b == n && (n = b.n), f(b.n, b.p), delete k[a]
}
a in i && (delete i[a], g--)
}, removeAll: function () {
i = qa(), g = 0, k = qa(), m = n = null
}, destroy: function () {
i = null, h = null, k = null, delete b[a]
}, info: function () {
return l({}, h, {size: g})
}}
}
var b = {};
return a.info = function () {
var a = {};
return f(b, function (b, c) {
a[c] = b.info()
}), a
}, a.get = function (a) {
return b[a]
}, a
}
}
function jb() {
this.$get = ["$cacheFactory", function (a) {
return a("templates")
}]
}
function kb(a, d) {
function e(a, b, c) {
var d = /^\s*([@&]|=(\*?))(\??)\s*(\w*)\s*$/, e = {};
return f(a, function (a, f) {
var g = a.match(d);
if (!g)throw Le("iscp", "Invalid {3} for directive '{0}'. Definition: {... {1}: '{2}' ...}", b, f, a, c ? "controller bindings definition" : "isolate scope definition");
e[f] = {mode: g[1][0], collection: "*" === g[2], optional: "?" === g[3], attrName: g[4] || f}
}), e
}
function g(a, b) {
var c = {isolateScope: null, bindToController: null};
if (v(a.scope) && (a.bindToController === !0 ? (c.bindToController = e(a.scope, b, !0), c.isolateScope = {}) : c.isolateScope = e(a.scope, b, !1)), v(a.bindToController) && (c.bindToController = e(a.bindToController, b, !0)), v(c.bindToController)) {
var d = a.controller, f = a.controllerAs;
if (!d)throw Le("noctrl", "Cannot bind to controller without directive '{0}'s controller.", b);
if (!ob(d, f))throw Le("noident", "Cannot bind to controller without identifier for directive '{0}'.", b)
}
return c
}
function i(a) {
var b = a.charAt(0);
if (!b || b !== yd(b))throw Le("baddir", "Directive name '{0}' is invalid. The first character must be a lowercase letter", a);
if (a !== a.trim())throw Le("baddir", "Directive name '{0}' is invalid. The name should not contain leading or trailing whitespaces", a)
}
var j = {}, k = "Directive", m = /^\s*directive\:\s*([\w\-]+)\s+(.*)$/, n = /(([\w\-]+)(?:\:([^;]+))?;?)/, s = L("ngSrc,ngSrcset,src,srcset"), w = /^(?:(\^\^?)?(\?)?(\^\^?)?)?/, y = /^(on[a-z]+|formaction)$/;
this.directive = function B(b, c) {
return na(b, "directive"), x(b) ? (i(b), la(c, "directiveFactory"), j.hasOwnProperty(b) || (j[b] = [], a.factory(b + k, ["$injector", "$exceptionHandler", function (a, c) {
var d = [];
return f(j[b], function (e, f) {
try {
var h = a.invoke(e);
A(h) ? h = {compile: r(h)} : !h.compile && h.link && (h.compile = r(h.link)), h.priority = h.priority || 0, h.index = f, h.name = h.name || b, h.require = h.require || h.controller && h.name, h.restrict = h.restrict || "EA";
var i = h.$$bindings = g(h, h.name);
v(i.isolateScope) && (h.$$isolateBindings = i.isolateScope), h.$$moduleName = e.$$moduleName, d.push(h)
} catch (j) {
c(j)
}
}), d
}])), j[b].push(c)) : f(b, h(B)), this
}, this.aHrefSanitizationWhitelist = function (a) {
return u(a) ? (d.aHrefSanitizationWhitelist(a), this) : d.aHrefSanitizationWhitelist()
}, this.imgSrcSanitizationWhitelist = function (a) {
return u(a) ? (d.imgSrcSanitizationWhitelist(a), this) : d.imgSrcSanitizationWhitelist()
};
var z = !0;
this.debugInfoEnabled = function (a) {
return u(a) ? (z = a, this) : z
}, this.$get = ["$injector", "$interpolate", "$exceptionHandler", "$templateRequest", "$parse", "$controller", "$rootScope", "$sce", "$animate", "$$sanitizeUri", function (a, d, e, g, h, i, r, u, B, C) {
function E(a, b) {
try {
a.addClass(b)
} catch (c) {
}
}
function F(a, b, c, d, e) {
a instanceof Ed || (a = Ed(a)), f(a, function (b, c) {
b.nodeType == _d && b.nodeValue.match(/\S+/) && (a[c] = Ed(b).wrap("").parent()[0])
});
var g = H(a, b, a, c, d, e);
F.$$addScopeClass(a);
var h = null;
return function (b, c, d) {
la(b, "scope"), e && e.needsNewScope && (b = b.$parent.$new()), d = d || {};
var f = d.parentBoundTranscludeFn, i = d.transcludeControllers, j = d.futureParentElement;
f && f.$$boundTransclude && (f = f.$$boundTransclude), h || (h = G(j));
var k;
if (k = "html" !== h ? Ed(Z(h, Ed("
").append(a).html())) : c ? se.clone.call(a) : a, i)for (var l in i)k.data("$" + l + "Controller", i[l].instance);
return F.$$addScopeInfo(k, b), c && c(k, b), g && g(b, k, k, f), k
}
}
function G(a) {
var b = a && a[0];
return b && "foreignobject" !== M(b) && b.toString().match(/SVG/) ? "svg" : "html"
}
function H(a, b, d, e, f, g) {
function h(a, d, e, f) {
var g, h, i, j, k, l, m, n, q;
if (o) {
var r = d.length;
for (q = new Array(r), k = 0; k < p.length; k += 3)m = p[k], q[m] = d[m]
} else q = d;
for (k = 0, l = p.length; l > k;)i = q[p[k++]], g = p[k++], h = p[k++], g ? (g.scope ? (j = a.$new(), F.$$addScopeInfo(Ed(i), j)) : j = a, n = g.transcludeOnThisElement ? I(a, g.transclude, f) : !g.templateOnThisElement && f ? f : !f && b ? I(a, b) : null, g(h, j, i, e, n)) : h && h(a, i.childNodes, c, f)
}
for (var i, j, k, l, m, n, o, p = [], q = 0; q < a.length; q++)i = new fa, j = J(a[q], [], i, 0 === q ? e : c, f), k = j.length ? O(j, a[q], i, b, d, null, [], [], g) : null, k && k.scope && F.$$addScopeClass(i.$$element), m = k && k.terminal || !(l = a[q].childNodes) || !l.length ? null : H(l, k ? (k.transcludeOnThisElement || !k.templateOnThisElement) && k.transclude : b), (k || m) && (p.push(q, k, m), n = !0, o = o || k), g = null;
return n ? h : null
}
function I(a, b, c) {
var d = function (d, e, f, g, h) {
return d || (d = a.$new(!1, h), d.$$transcluded = !0), b(d, e, {parentBoundTranscludeFn: c, transcludeControllers: f, futureParentElement: g})
};
return d
}
function J(a, b, c, d, e) {
var f, g, h = a.nodeType, i = c.$attr;
switch (h) {
case Zd:
R(b, lb(M(a)), "E", d, e);
for (var j, k, l, o, p, q, r = a.attributes, s = 0, t = r && r.length; t > s; s++) {
var u = !1, w = !1;
j = r[s], k = j.name, p = Sd(j.value), o = lb(k), (q = ka.test(o)) && (k = k.replace(Me, "").substr(8).replace(/_(.)/g, function (a, b) {
return b.toUpperCase()
}));
var y = o.match(ma);
y && T(y[1]) && (u = k, w = k.substr(0, k.length - 5) + "end", k = k.substr(0, k.length - 6)), l = lb(k.toLowerCase()), i[l] = k, (q || !c.hasOwnProperty(l)) && (c[l] = p, Sa(a, l) && (c[l] = !0)), aa(a, b, p, l, q), R(b, l, "A", d, e, u, w)
}
if (g = a.className, v(g) && (g = g.animVal), x(g) && "" !== g)for (; f = n.exec(g);)l = lb(f[2]), R(b, l, "C", d, e) && (c[l] = Sd(f[3])), g = g.substr(f.index + f[0].length);
break;
case _d:
if (11 === Dd)for (; a.parentNode && a.nextSibling && a.nextSibling.nodeType === _d;)a.nodeValue = a.nodeValue + a.nextSibling.nodeValue, a.parentNode.removeChild(a.nextSibling);
Y(b, a.nodeValue);
break;
case ae:
try {
f = m.exec(a.nodeValue), f && (l = lb(f[1]), R(b, l, "M", d, e) && (c[l] = Sd(f[2])))
} catch (z) {
}
}
return b.sort(W), b
}
function K(a, b, c) {
var d = [], e = 0;
if (b && a.hasAttribute && a.hasAttribute(b)) {
do {
if (!a)throw Le("uterdir", "Unterminated attribute, found '{0}' but no matching '{1}' found.", b, c);
a.nodeType == Zd && (a.hasAttribute(b) && e++, a.hasAttribute(c) && e--), d.push(a), a = a.nextSibling
} while (e > 0)
} else d.push(a);
return Ed(d)
}
function L(a, b, c) {
return function (d, e, f, g, h) {
return e = K(e[0], b, c), a(d, e, f, g, h)
}
}
function O(a, d, f, g, h, j, k, l, m) {
function n(a, b, c, d) {
a && (c && (a = L(a, c, d)), a.require = r.require, a.directiveName = s, (E === r || r.$$isolateScope) && (a = ca(a, {isolateScope: !0})), k.push(a)), b && (c && (b = L(b, c, d)), b.require = r.require, b.directiveName = s, (E === r || r.$$isolateScope) && (b = ca(b, {isolateScope: !0})), l.push(b))
}
function o(a, b, c, d) {
var e;
if (x(b)) {
var f = b.match(w), g = b.substring(f[0].length), h = f[1] || f[3], i = "?" === f[2];
if ("^^" === h ? c = c.parent() : (e = d && d[g], e = e && e.instance), !e) {
var j = "$" + g + "Controller";
e = h ? c.inheritedData(j) : c.data(j)
}
if (!e && !i)throw Le("ctreq", "Controller '{0}', required by directive '{1}', can't be found!", g, a)
} else if (Qd(b)) {
e = [];
for (var k = 0, l = b.length; l > k; k++)e[k] = o(a, b[k], c, d)
}
return e || null
}
function p(a, b, c, d, e, f) {
var g = qa();
for (var h in d) {
var j = d[h], k = {$scope: j === E || j.$$isolateScope ? e : f, $element: a, $attrs: b, $transclude: c}, l = j.controller;
"@" == l && (l = b[j.name]);
var m = i(l, k, !0, j.controllerAs);
g[j.name] = m, N || a.data("$" + j.name + "Controller", m.instance)
}
return g
}
function q(a, b, e, g, h) {
function i(a, b, d) {
var e;
return D(a) || (d = b, b = a, a = c), N && (e = q), d || (d = N ? s.parent() : s), h(a, b, e, d, H)
}
var j, m, n, q, r, s, t, u, v;
d === e ? (t = f, s = f.$$element) : (s = Ed(e), t = new fa(s, f)), n = b, E ? m = b.$new(!0) : B && (n = b.$parent), h && (r = i, r.$$boundTransclude = h), C && (q = p(s, t, r, C, m, b)), E && (F.$$addScopeInfo(s, m, !0, !(G && (G === E || G === E.$$originalDirective))), F.$$addScopeClass(s, !0), m.$$isolateBindings = E.$$isolateBindings, u = ea(b, t, m, m.$$isolateBindings, E), u && m.$on("$destroy", u));
for (var w in q) {
var x = C[w], y = q[w], z = x.$$bindings.bindToController;
y.identifier && z && (v = ea(n, t, y.instance, z, x));
var A = y();
A !== y.instance && (y.instance = A, s.data("$" + x.name + "Controller", A), v && v(), v = ea(n, t, y.instance, z, x))
}
for (T = 0, W = k.length; W > T; T++)j = k[T], da(j, j.isolateScope ? m : b, s, t, j.require && o(j.directiveName, j.require, s, q), r);
var H = b;
for (E && (E.template || null === E.templateUrl) && (H = m), a && a(H, e.childNodes, c, h), T = l.length - 1; T >= 0; T--)j = l[T], da(j, j.isolateScope ? m : b, s, t, j.require && o(j.directiveName, j.require, s, q), r)
}
m = m || {};
for (var r, s, t, u, y, z = -Number.MAX_VALUE, B = m.newScopeDirective, C = m.controllerDirectives, E = m.newIsolateScopeDirective, G = m.templateDirective, H = m.nonTlbTranscludeDirective, I = !1, M = !1, N = m.hasElementTranscludeDirective, O = f.$$element = Ed(d), Q = j, R = g, T = 0, W = a.length; W > T; T++) {
r = a[T];
var Y = r.$$start, _ = r.$$end;
if (Y && (O = K(d, Y, _)), t = c, z > r.priority)break;
if ((y = r.scope) && (r.templateUrl || (v(y) ? (X("new/isolated scope", E || B, r, O),
E = r) : X("new/isolated scope", E, r, O)), B = B || r), s = r.name, !r.templateUrl && r.controller && (y = r.controller, C = C || qa(), X("'" + s + "' controller", C[s], r, O), C[s] = r), (y = r.transclude) && (I = !0, r.$$tlb || (X("transclusion", H, r, O), H = r), "element" == y ? (N = !0, z = r.priority, t = O, O = f.$$element = Ed(b.createComment(" " + s + ": " + f[s] + " ")), d = O[0], ba(h, S(t), d), R = F(t, g, z, Q && Q.name, {nonTlbTranscludeDirective: H})) : (t = Ed(Da(d)).contents(), O.empty(), R = F(t, g, c, c, {needsNewScope: r.$$isolateScope || r.$$newScope}))), r.template)if (M = !0, X("template", G, r, O), G = r, y = A(r.template) ? r.template(O, f) : r.template, y = ia(y), r.replace) {
if (Q = r, t = xa(y) ? [] : nb(Z(r.templateNamespace, Sd(y))), d = t[0], 1 != t.length || d.nodeType !== Zd)throw Le("tplrt", "Template for directive '{0}' must have exactly one root element. {1}", s, "");
ba(h, O, d);
var aa = {$attr: {}}, ga = J(d, [], aa), ha = a.splice(T + 1, a.length - (T + 1));
(E || B) && P(ga, E, B), a = a.concat(ga).concat(ha), U(f, aa), W = a.length
} else O.html(y);
if (r.templateUrl)M = !0, X("template", G, r, O), G = r, r.replace && (Q = r), q = V(a.splice(T, a.length - T), O, f, h, I && R, k, l, {controllerDirectives: C, newScopeDirective: B !== r && B, newIsolateScopeDirective: E, templateDirective: G, nonTlbTranscludeDirective: H}), W = a.length; else if (r.compile)try {
u = r.compile(O, f, R), A(u) ? n(null, u, Y, _) : u && n(u.pre, u.post, Y, _)
} catch (ja) {
e(ja, $(O))
}
r.terminal && (q.terminal = !0, z = Math.max(z, r.priority))
}
return q.scope = B && B.scope === !0, q.transcludeOnThisElement = I, q.templateOnThisElement = M, q.transclude = R, m.hasElementTranscludeDirective = N, q
}
function P(a, b, c) {
for (var d = 0, e = a.length; e > d; d++)a[d] = o(a[d], {$$isolateScope: b, $$newScope: c})
}
function R(b, c, d, f, g, h, i) {
if (c === g)return null;
var l = null;
if (j.hasOwnProperty(c))for (var m, n = a.get(c + k), p = 0, q = n.length; q > p; p++)try {
m = n[p], (t(f) || f > m.priority) && -1 != m.restrict.indexOf(d) && (h && (m = o(m, {$$start: h, $$end: i})), b.push(m), l = m)
} catch (r) {
e(r)
}
return l
}
function T(b) {
if (j.hasOwnProperty(b))for (var c, d = a.get(b + k), e = 0, f = d.length; f > e; e++)if (c = d[e], c.multiElement)return!0;
return!1
}
function U(a, b) {
var c = b.$attr, d = a.$attr, e = a.$$element;
f(a, function (d, e) {
"$" != e.charAt(0) && (b[e] && b[e] !== d && (d += ("style" === e ? ";" : " ") + b[e]), a.$set(e, d, !0, c[e]))
}), f(b, function (b, f) {
"class" == f ? (E(e, b), a["class"] = (a["class"] ? a["class"] + " " : "") + b) : "style" == f ? (e.attr("style", e.attr("style") + ";" + b), a.style = (a.style ? a.style + ";" : "") + b) : "$" == f.charAt(0) || a.hasOwnProperty(f) || (a[f] = b, d[f] = c[f])
})
}
function V(a, b, c, d, e, h, i, j) {
var k, l, m = [], n = b[0], p = a.shift(), q = o(p, {templateUrl: null, transclude: null, replace: null, $$originalDirective: p}), r = A(p.templateUrl) ? p.templateUrl(b, c) : p.templateUrl, s = p.templateNamespace;
return b.empty(), g(r).then(function (g) {
var o, t, u, w;
if (g = ia(g), p.replace) {
if (u = xa(g) ? [] : nb(Z(s, Sd(g))), o = u[0], 1 != u.length || o.nodeType !== Zd)throw Le("tplrt", "Template for directive '{0}' must have exactly one root element. {1}", p.name, r);
t = {$attr: {}}, ba(d, b, o);
var x = J(o, [], t);
v(p.scope) && P(x, !0), a = x.concat(a), U(c, t)
} else o = n, b.html(g);
for (a.unshift(q), k = O(a, o, c, e, b, p, h, i, j), f(d, function (a, c) {
a == o && (d[c] = b[0])
}), l = H(b[0].childNodes, e); m.length;) {
var y = m.shift(), z = m.shift(), A = m.shift(), B = m.shift(), C = b[0];
if (!y.$$destroyed) {
if (z !== n) {
var D = z.className;
j.hasElementTranscludeDirective && p.replace || (C = Da(o)), ba(A, Ed(z), C), E(Ed(C), D)
}
w = k.transcludeOnThisElement ? I(y, k.transclude, B) : B, k(l, y, C, d, w)
}
}
m = null
}), function (a, b, c, d, e) {
var f = e;
b.$$destroyed || (m ? m.push(b, c, d, f) : (k.transcludeOnThisElement && (f = I(b, k.transclude, e)), k(l, b, c, d, f)))
}
}
function W(a, b) {
var c = b.priority - a.priority;
return 0 !== c ? c : a.name !== b.name ? a.name < b.name ? -1 : 1 : a.index - b.index
}
function X(a, b, c, d) {
function e(a) {
return a ? " (module: " + a + ")" : ""
}
if (b)throw Le("multidir", "Multiple directives [{0}{1}, {2}{3}] asking for {4} on: {5}", b.name, e(b.$$moduleName), c.name, e(c.$$moduleName), a, $(d))
}
function Y(a, b) {
var c = d(b, !0);
c && a.push({priority: 0, compile: function (a) {
var b = a.parent(), d = !!b.length;
return d && F.$$addBindingClass(b), function (a, b) {
var e = b.parent();
d || F.$$addBindingClass(e), F.$$addBindingInfo(e, c.expressions), a.$watch(c, function (a) {
b[0].nodeValue = a
})
}
}})
}
function Z(a, c) {
switch (a = yd(a || "html")) {
case"svg":
case"math":
var d = b.createElement("div");
return d.innerHTML = "<" + a + ">" + c + "" + a + ">", d.childNodes[0].childNodes;
default:
return c
}
}
function _(a, b) {
if ("srcdoc" == b)return u.HTML;
var c = M(a);
return"xlinkHref" == b || "form" == c && "action" == b || "img" != c && ("src" == b || "ngSrc" == b) ? u.RESOURCE_URL : void 0
}
function aa(a, b, c, e, f) {
var g = _(a, e);
f = s[e] || f;
var h = d(c, !0, g, f);
if (h) {
if ("multiple" === e && "select" === M(a))throw Le("selmulti", "Binding to the 'multiple' attribute is not supported. Element: {0}", $(a));
b.push({priority: 100, compile: function () {
return{pre: function (a, b, i) {
var j = i.$$observers || (i.$$observers = qa());
if (y.test(e))throw Le("nodomevents", "Interpolations for HTML DOM event attributes are disallowed. Please use the ng- versions (such as ng-click instead of onclick) instead.");
var k = i[e];
k !== c && (h = k && d(k, !0, g, f), c = k), h && (i[e] = h(a), (j[e] || (j[e] = [])).$$inter = !0, (i.$$observers && i.$$observers[e].$$scope || a).$watch(h, function (a, b) {
"class" === e && a != b ? i.$updateClass(a, b) : i.$set(e, a)
}))
}}
}})
}
}
function ba(a, c, d) {
var e, f, g = c[0], h = c.length, i = g.parentNode;
if (a)for (e = 0, f = a.length; f > e; e++)if (a[e] == g) {
a[e++] = d;
for (var j = e, k = j + h - 1, l = a.length; l > j; j++, k++)l > k ? a[j] = a[k] : delete a[j];
a.length -= h - 1, a.context === g && (a.context = d);
break
}
i && i.replaceChild(d, g);
var m = b.createDocumentFragment();
m.appendChild(g), Ed.hasData(g) && (Ed.data(d, Ed.data(g)), Fd ? (Pd = !0, Fd.cleanData([g])) : delete Ed.cache[g[Ed.expando]]);
for (var n = 1, o = c.length; o > n; n++) {
var p = c[n];
Ed(p).remove(), m.appendChild(p), delete c[n]
}
c[0] = d, c.length = 1
}
function ca(a, b) {
return l(function () {
return a.apply(null, arguments)
}, a, b)
}
function da(a, b, c, d, f, g) {
try {
a(b, c, d, f, g)
} catch (h) {
e(h, $(c))
}
}
function ea(a, b, c, e, g) {
var i = [];
return f(e, function (e, f) {
var j, k, l, m, n = e.attrName, o = e.optional, q = e.mode;
switch (q) {
case"@":
o || zd.call(b, n) || (c[f] = b[n] = void 0), b.$observe(n, function (a) {
x(a) && (c[f] = a)
}), b.$$observers[n].$$scope = a, x(b[n]) && (c[f] = d(b[n])(a));
break;
case"=":
if (!zd.call(b, n)) {
if (o)break;
b[n] = void 0
}
if (o && !b[n])break;
k = h(b[n]), m = k.literal ? Q : function (a, b) {
return a === b || a !== a && b !== b
}, l = k.assign || function () {
throw j = c[f] = k(a), Le("nonassign", "Expression '{0}' used with directive '{1}' is non-assignable!", b[n], g.name)
}, j = c[f] = k(a);
var r = function (b) {
return m(b, c[f]) || (m(b, j) ? l(a, b = c[f]) : c[f] = b), j = b
};
r.$stateful = !0;
var s;
s = e.collection ? a.$watchCollection(b[n], r) : a.$watch(h(b[n], r), null, k.literal), i.push(s);
break;
case"&":
if (k = b.hasOwnProperty(n) ? h(b[n]) : p, k === p && o)break;
c[f] = function (b) {
return k(a, b)
}
}
}), i.length && function () {
for (var a = 0, b = i.length; b > a; ++a)i[a]()
}
}
var fa = function (a, b) {
if (b) {
var c, d, e, f = Object.keys(b);
for (c = 0, d = f.length; d > c; c++)e = f[c], this[e] = b[e]
} else this.$attr = {};
this.$$element = a
};
fa.prototype = {$normalize: lb, $addClass: function (a) {
a && a.length > 0 && B.addClass(this.$$element, a)
}, $removeClass: function (a) {
a && a.length > 0 && B.removeClass(this.$$element, a)
}, $updateClass: function (a, b) {
var c = mb(a, b);
c && c.length && B.addClass(this.$$element, c);
var d = mb(b, a);
d && d.length && B.removeClass(this.$$element, d)
}, $set: function (a, b, c, d) {
var g, h = this.$$element[0], i = Sa(h, a), j = Ta(a), k = a;
if (i ? (this.$$element.prop(a, b), d = i) : j && (this[j] = b, k = j), this[a] = b, d ? this.$attr[a] = d : (d = this.$attr[a], d || (this.$attr[a] = d = ja(a, "-"))), g = M(this.$$element), "a" === g && "href" === a || "img" === g && "src" === a)this[a] = b = C(b, "src" === a); else if ("img" === g && "srcset" === a) {
for (var l = "", m = Sd(b), n = /(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/, o = /\s/.test(m) ? n : /(,)/, p = m.split(o), q = Math.floor(p.length / 2), r = 0; q > r; r++) {
var s = 2 * r;
l += C(Sd(p[s]), !0), l += " " + Sd(p[s + 1])
}
var u = Sd(p[2 * r]).split(/\s/);
l += C(Sd(u[0]), !0), 2 === u.length && (l += " " + Sd(u[1])), this[a] = b = l
}
c !== !1 && (null === b || t(b) ? this.$$element.removeAttr(d) : this.$$element.attr(d, b));
var v = this.$$observers;
v && f(v[k], function (a) {
try {
a(b)
} catch (c) {
e(c)
}
})
}, $observe: function (a, b) {
var c = this, d = c.$$observers || (c.$$observers = qa()), e = d[a] || (d[a] = []);
return e.push(b), r.$evalAsync(function () {
e.$$inter || !c.hasOwnProperty(a) || t(c[a]) || b(c[a])
}), function () {
N(e, b)
}
}};
var ga = d.startSymbol(), ha = d.endSymbol(), ia = "{{" == ga || "}}" == ha ? q : function (a) {
return a.replace(/\{\{/g, ga).replace(/}}/g, ha)
}, ka = /^ngAttr[A-Z]/, ma = /^(.+)Start$/;
return F.$$addBindingInfo = z ? function (a, b) {
var c = a.data("$binding") || [];
Qd(b) ? c = c.concat(b) : c.push(b), a.data("$binding", c)
} : p, F.$$addBindingClass = z ? function (a) {
E(a, "ng-binding")
} : p, F.$$addScopeInfo = z ? function (a, b, c, d) {
var e = c ? d ? "$isolateScopeNoTemplate" : "$isolateScope" : "$scope";
a.data(e, b)
} : p, F.$$addScopeClass = z ? function (a, b) {
E(a, b ? "ng-isolate-scope" : "ng-scope")
} : p, F
}]
}
function lb(a) {
return wa(a.replace(Me, ""))
}
function mb(a, b) {
var c = "", d = a.split(/\s+/), e = b.split(/\s+/);
a:for (var f = 0; f < d.length; f++) {
for (var g = d[f], h = 0; h < e.length; h++)if (g == e[h])continue a;
c += (c.length > 0 ? " " : "") + g
}
return c
}
function nb(a) {
a = Ed(a);
var b = a.length;
if (1 >= b)return a;
for (; b--;) {
var c = a[b];
c.nodeType === ae && Id.call(a, b, 1)
}
return a
}
function ob(a, b) {
if (b && x(b))return b;
if (x(a)) {
var c = Oe.exec(a);
if (c)return c[3]
}
}
function pb() {
var a = {}, b = !1;
this.register = function (b, c) {
na(b, "controller"), v(b) ? l(a, b) : a[b] = c
}, this.allowGlobals = function () {
b = !0
}, this.$get = ["$injector", "$window", function (e, f) {
function g(a, b, c, e) {
if (!a || !v(a.$scope))throw d("$controller")("noscp", "Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`.", e, b);
a.$scope[b] = c
}
return function (d, h, i, j) {
var k, m, n, o;
if (i = i === !0, j && x(j) && (o = j), x(d)) {
if (m = d.match(Oe), !m)throw Ne("ctrlfmt", "Badly formed controller string '{0}'. Must match `__name__ as __id__` or `__name__`.", d);
n = m[1], o = o || m[3], d = a.hasOwnProperty(n) ? a[n] : oa(h.$scope, n, !0) || (b ? oa(f, n, !0) : c), ma(d, n, !0)
}
if (i) {
var p = (Qd(d) ? d[d.length - 1] : d).prototype;
k = Object.create(p || null), o && g(h, o, k, n || d.name);
var q;
return q = l(function () {
var a = e.invoke(d, k, h, n);
return a !== k && (v(a) || A(a)) && (k = a, o && g(h, o, k, n || d.name)), k
}, {instance: k, identifier: o})
}
return k = e.instantiate(d, h, n), o && g(h, o, k, n || d.name), k
}
}]
}
function qb() {
this.$get = ["$window", function (a) {
return Ed(a.document)
}]
}
function rb() {
this.$get = ["$log", function (a) {
return function (b, c) {
a.error.apply(a, arguments)
}
}]
}
function sb(a) {
return v(a) ? z(a) ? a.toISOString() : V(a) : a
}
function tb() {
this.$get = function () {
return function (a) {
if (!a)return"";
var b = [];
return g(a, function (a, c) {
null === a || t(a) || (Qd(a) ? f(a, function (a, d) {
b.push(da(c) + "=" + da(sb(a)))
}) : b.push(da(c) + "=" + da(sb(a))))
}), b.join("&")
}
}
}
function ub() {
this.$get = function () {
return function (a) {
function b(a, d, e) {
null === a || t(a) || (Qd(a) ? f(a, function (a, c) {
b(a, d + "[" + (v(a) ? c : "") + "]")
}) : v(a) && !z(a) ? g(a, function (a, c) {
b(a, d + (e ? "" : "[") + c + (e ? "" : "]"))
}) : c.push(da(d) + "=" + da(sb(a))))
}
if (!a)return"";
var c = [];
return b(a, "", !0), c.join("&")
}
}
}
function vb(a, b) {
if (x(a)) {
var c = a.replace(Ue, "").trim();
if (c) {
var d = b("Content-Type");
(d && 0 === d.indexOf(Qe) || wb(c)) && (a = W(c))
}
}
return a
}
function wb(a) {
var b = a.match(Se);
return b && Te[b[0]].test(a)
}
function xb(a) {
function b(a, b) {
a && (d[a] = d[a] ? d[a] + ", " + b : b)
}
var c, d = qa();
return x(a) ? f(a.split("\n"), function (a) {
c = a.indexOf(":"), b(yd(Sd(a.substr(0, c))), Sd(a.substr(c + 1)))
}) : v(a) && f(a, function (a, c) {
b(yd(c), Sd(a))
}), d
}
function yb(a) {
var b;
return function (c) {
if (b || (b = xb(a)), c) {
var d = b[yd(c)];
return void 0 === d && (d = null), d
}
return b
}
}
function zb(a, b, c, d) {
return A(d) ? d(a, b, c) : (f(d, function (d) {
a = d(a, b, c)
}), a)
}
function Ab(a) {
return a >= 200 && 300 > a
}
function Bb() {
var a = this.defaults = {transformResponse: [vb], transformRequest: [function (a) {
return!v(a) || E(a) || G(a) || F(a) ? a : V(a)
}], headers: {common: {Accept: "application/json, text/plain, */*"}, post: P(Re), put: P(Re), patch: P(Re)}, xsrfCookieName: "XSRF-TOKEN", xsrfHeaderName: "X-XSRF-TOKEN", paramSerializer: "$httpParamSerializer"}, b = !1;
this.useApplyAsync = function (a) {
return u(a) ? (b = !!a, this) : b
};
var e = !0;
this.useLegacyPromiseExtensions = function (a) {
return u(a) ? (e = !!a, this) : e
};
var g = this.interceptors = [];
this.$get = ["$httpBackend", "$$cookieReader", "$cacheFactory", "$rootScope", "$q", "$injector", function (h, i, j, k, m, n) {
function o(b) {
function g(a) {
var b = l({}, a);
return b.data = zb(a.data, a.headers, a.status, j.transformResponse), Ab(a.status) ? b : m.reject(b)
}
function h(a, b) {
var c, d = {};
return f(a, function (a, e) {
A(a) ? (c = a(b), null != c && (d[e] = c)) : d[e] = a
}), d
}
function i(b) {
var c, d, e, f = a.headers, g = l({}, b.headers);
f = l({}, f.common, f[yd(b.method)]);
a:for (c in f) {
d = yd(c);
for (e in g)if (yd(e) === d)continue a;
g[c] = f[c]
}
return h(g, P(b))
}
if (!Nd.isObject(b))throw d("$http")("badreq", "Http request configuration must be an object. Received: {0}", b);
if (!x(b.url))throw d("$http")("badreq", "Http request configuration url must be a string. Received: {0}", b.url);
var j = l({method: "get", transformRequest: a.transformRequest, transformResponse: a.transformResponse, paramSerializer: a.paramSerializer}, b);
j.headers = i(b), j.method = Ad(j.method), j.paramSerializer = x(j.paramSerializer) ? n.get(j.paramSerializer) : j.paramSerializer;
var k = function (b) {
var d = b.headers, e = zb(b.data, yb(d), c, b.transformRequest);
return t(e) && f(d, function (a, b) {
"content-type" === yd(b) && delete d[b]
}), t(b.withCredentials) && !t(a.withCredentials) && (b.withCredentials = a.withCredentials), r(b, e).then(g, g)
}, o = [k, c], p = m.when(j);
for (f(y, function (a) {
(a.request || a.requestError) && o.unshift(a.request, a.requestError), (a.response || a.responseError) && o.push(a.response, a.responseError)
}); o.length;) {
var q = o.shift(), s = o.shift();
p = p.then(q, s)
}
return e ? (p.success = function (a) {
return ma(a, "fn"), p.then(function (b) {
a(b.data, b.status, b.headers, j)
}), p
}, p.error = function (a) {
return ma(a, "fn"), p.then(null, function (b) {
a(b.data, b.status, b.headers, j)
}), p
}) : (p.success = We("success"), p.error = We("error")), p
}
function p(a) {
f(arguments, function (a) {
o[a] = function (b, c) {
return o(l({}, c || {}, {method: a, url: b}))
}
})
}
function q(a) {
f(arguments, function (a) {
o[a] = function (b, c, d) {
return o(l({}, d || {}, {method: a, url: b, data: c}))
}
})
}
function r(d, e) {
function f(a, c, d, e) {
function f() {
g(c, a, d, e)
}
n && (Ab(a) ? n.put(y, [a, c, xb(d), e]) : n.remove(y)), b ? k.$applyAsync(f) : (f(), k.$$phase || k.$apply())
}
function g(a, b, c, e) {
b = b >= -1 ? b : 0, (Ab(b) ? q.resolve : q.reject)({data: a, status: b, headers: yb(c), config: d, statusText: e})
}
function j(a) {
g(a.data, a.status, P(a.headers()), a.statusText)
}
function l() {
var a = o.pendingRequests.indexOf(d);
-1 !== a && o.pendingRequests.splice(a, 1)
}
var n, p, q = m.defer(), r = q.promise, x = d.headers, y = s(d.url, d.paramSerializer(d.params));
if (o.pendingRequests.push(d), r.then(l, l), !d.cache && !a.cache || d.cache === !1 || "GET" !== d.method && "JSONP" !== d.method || (n = v(d.cache) ? d.cache : v(a.cache) ? a.cache : w), n && (p = n.get(y), u(p) ? I(p) ? p.then(j, j) : Qd(p) ? g(p[1], p[0], P(p[2]), p[3]) : g(p, 200, {}, "OK") : n.put(y, r)), t(p)) {
var z = Cc(d.url) ? i()[d.xsrfCookieName || a.xsrfCookieName] : c;
z && (x[d.xsrfHeaderName || a.xsrfHeaderName] = z), h(d.method, y, e, f, x, d.timeout, d.withCredentials, d.responseType)
}
return r
}
function s(a, b) {
return b.length > 0 && (a += (-1 == a.indexOf("?") ? "?" : "&") + b), a
}
var w = j("$http");
a.paramSerializer = x(a.paramSerializer) ? n.get(a.paramSerializer) : a.paramSerializer;
var y = [];
return f(g, function (a) {
y.unshift(x(a) ? n.get(a) : n.invoke(a))
}), o.pendingRequests = [], p("get", "delete", "head", "jsonp"), q("post", "put", "patch"), o.defaults = a, o
}]
}
function Cb() {
this.$get = function () {
return function () {
return new a.XMLHttpRequest
}
}
}
function Db() {
this.$get = ["$browser", "$window", "$document", "$xhrFactory", function (a, b, c, d) {
return Eb(a, d, a.defer, b.angular.callbacks, c[0])
}]
}
function Eb(a, b, c, d, e) {
function g(a, b, c) {
var f = e.createElement("script"), g = null;
return f.type = "text/javascript", f.src = a, f.async = !0, g = function (a) {
he(f, "load", g), he(f, "error", g), e.body.removeChild(f), f = null;
var h = -1, i = "unknown";
a && ("load" !== a.type || d[b].called || (a = {type: "error"}), i = a.type, h = "error" === a.type ? 404 : 200), c && c(h, i)
}, ge(f, "load", g), ge(f, "error", g), e.body.appendChild(f), g
}
return function (e, h, i, j, k, l, m, n) {
function o() {
s && s(), v && v.abort()
}
function q(b, d, e, f, g) {
u(y) && c.cancel(y), s = v = null, b(d, e, f, g), a.$$completeOutstandingRequest(p)
}
if (a.$$incOutstandingRequestCount(), h = h || a.url(), "jsonp" == yd(e)) {
var r = "_" + (d.counter++).toString(36);
d[r] = function (a) {
d[r].data = a, d[r].called = !0
};
var s = g(h.replace("JSON_CALLBACK", "angular.callbacks." + r), r, function (a, b) {
q(j, a, d[r].data, "", b), d[r] = p
})
} else {
var v = b(e, h);
v.open(e, h, !0), f(k, function (a, b) {
u(a) && v.setRequestHeader(b, a)
}), v.onload = function () {
var a = v.statusText || "", b = "response"in v ? v.response : v.responseText, c = 1223 === v.status ? 204 : v.status;
0 === c && (c = b ? 200 : "file" == Bc(h).protocol ? 404 : 0), q(j, c, b, v.getAllResponseHeaders(), a)
};
var w = function () {
q(j, -1, null, null, "")
};
if (v.onerror = w, v.onabort = w, m && (v.withCredentials = !0), n)try {
v.responseType = n
} catch (x) {
if ("json" !== n)throw x
}
v.send(t(i) ? null : i)
}
if (l > 0)var y = c(o, l); else I(l) && l.then(o)
}
}
function Fb() {
var a = "{{", b = "}}";
this.startSymbol = function (b) {
return b ? (a = b, this) : a
}, this.endSymbol = function (a) {
return a ? (b = a, this) : b
}, this.$get = ["$parse", "$exceptionHandler", "$sce", function (c, d, e) {
function f(a) {
return"\\\\\\" + a
}
function g(c) {
return c.replace(m, a).replace(n, b)
}
function h(a) {
if (null == a)return"";
switch (typeof a) {
case"string":
break;
case"number":
a = "" + a;
break;
default:
a = V(a)
}
return a
}
function i(f, i, m, n) {
function o(a) {
try {
return a = C(a), n && !u(a) ? a : h(a)
} catch (b) {
d(Xe.interr(f, b))
}
}
n = !!n;
for (var p, q, r, s = 0, v = [], w = [], x = f.length, y = [], z = []; x > s;) {
if (-1 == (p = f.indexOf(a, s)) || -1 == (q = f.indexOf(b, p + j))) {
s !== x && y.push(g(f.substring(s)));
break
}
s !== p && y.push(g(f.substring(s, p))), r = f.substring(p + j, q), v.push(r), w.push(c(r, o)), s = q + k, z.push(y.length), y.push("")
}
if (m && y.length > 1 && Xe.throwNoconcat(f), !i || v.length) {
var B = function (a) {
for (var b = 0, c = v.length; c > b; b++) {
if (n && t(a[b]))return;
y[z[b]] = a[b]
}
return y.join("")
}, C = function (a) {
return m ? e.getTrusted(m, a) : e.valueOf(a)
};
return l(function (a) {
var b = 0, c = v.length, e = new Array(c);
try {
for (; c > b; b++)e[b] = w[b](a);
return B(e)
} catch (g) {
d(Xe.interr(f, g))
}
}, {exp: f, expressions: v, $$watchDelegate: function (a, b) {
var c;
return a.$watchGroup(w, function (d, e) {
var f = B(d);
A(b) && b.call(this, f, d !== e ? c : f, a), c = f
})
}})
}
}
var j = a.length, k = b.length, m = new RegExp(a.replace(/./g, f), "g"), n = new RegExp(b.replace(/./g, f), "g");
return i.startSymbol = function () {
return a
}, i.endSymbol = function () {
return b
}, i
}]
}
function Gb() {
this.$get = ["$rootScope", "$window", "$q", "$$q", function (a, b, c, d) {
function e(e, g, h, i) {
var j = arguments.length > 4, k = j ? S(arguments, 4) : [], l = b.setInterval, m = b.clearInterval, n = 0, o = u(i) && !i, p = (o ? d : c).defer(), q = p.promise;
return h = u(h) ? h : 0, q.then(null, null, j ? function () {
e.apply(null, k)
} : e), q.$$intervalId = l(function () {
p.notify(n++), h > 0 && n >= h && (p.resolve(n), m(q.$$intervalId), delete f[q.$$intervalId]), o || a.$apply()
}, g), f[q.$$intervalId] = p, q
}
var f = {};
return e.cancel = function (a) {
return a && a.$$intervalId in f ? (f[a.$$intervalId].reject("canceled"), b.clearInterval(a.$$intervalId), delete f[a.$$intervalId], !0) : !1
}, e
}]
}
function Hb(a) {
for (var b = a.split("/"), c = b.length; c--;)b[c] = ca(b[c]);
return b.join("/")
}
function Ib(a, b) {
var c = Bc(a);
b.$$protocol = c.protocol, b.$$host = c.hostname, b.$$port = n(c.port) || Ze[c.protocol] || null
}
function Jb(a, b) {
var c = "/" !== a.charAt(0);
c && (a = "/" + a);
var d = Bc(a);
b.$$path = decodeURIComponent(c && "/" === d.pathname.charAt(0) ? d.pathname.substring(1) : d.pathname), b.$$search = aa(d.search), b.$$hash = decodeURIComponent(d.hash), b.$$path && "/" != b.$$path.charAt(0) && (b.$$path = "/" + b.$$path)
}
function Kb(a, b) {
return 0 === b.indexOf(a) ? b.substr(a.length) : void 0
}
function Lb(a) {
var b = a.indexOf("#");
return-1 == b ? a : a.substr(0, b)
}
function Mb(a) {
return a.replace(/(#.+)|#$/, "$1")
}
function Nb(a) {
return a.substr(0, Lb(a).lastIndexOf("/") + 1)
}
function Ob(a) {
return a.substring(0, a.indexOf("/", a.indexOf("//") + 2))
}
function Pb(a, b, c) {
this.$$html5 = !0, c = c || "", Ib(a, this), this.$$parse = function (a) {
var c = Kb(b, a);
if (!x(c))throw $e("ipthprfx", 'Invalid url "{0}", missing path prefix "{1}".', a, b);
Jb(c, this), this.$$path || (this.$$path = "/"), this.$$compose()
}, this.$$compose = function () {
var a = ba(this.$$search), c = this.$$hash ? "#" + ca(this.$$hash) : "";
this.$$url = Hb(this.$$path) + (a ? "?" + a : "") + c, this.$$absUrl = b + this.$$url.substr(1)
}, this.$$parseLinkUrl = function (d, e) {
if (e && "#" === e[0])return this.hash(e.slice(1)), !0;
var f, g, h;
return u(f = Kb(a, d)) ? (g = f, h = u(f = Kb(c, f)) ? b + (Kb("/", f) || f) : a + g) : u(f = Kb(b, d)) ? h = b + f : b == d + "/" && (h = b), h && this.$$parse(h), !!h
}
}
function Qb(a, b, c) {
Ib(a, this), this.$$parse = function (d) {
function e(a, b, c) {
var d, e = /^\/[A-Z]:(\/.*)/;
return 0 === b.indexOf(c) && (b = b.replace(c, "")), e.exec(b) ? a : (d = e.exec(a), d ? d[1] : a)
}
var f, g = Kb(a, d) || Kb(b, d);
t(g) || "#" !== g.charAt(0) ? this.$$html5 ? f = g : (f = "", t(g) && (a = d, this.replace())) : (f = Kb(c, g), t(f) && (f = g)), Jb(f, this), this.$$path = e(this.$$path, f, a), this.$$compose()
}, this.$$compose = function () {
var b = ba(this.$$search), d = this.$$hash ? "#" + ca(this.$$hash) : "";
this.$$url = Hb(this.$$path) + (b ? "?" + b : "") + d, this.$$absUrl = a + (this.$$url ? c + this.$$url : "")
}, this.$$parseLinkUrl = function (b, c) {
return Lb(a) == Lb(b) ? (this.$$parse(b), !0) : !1
}
}
function Rb(a, b, c) {
this.$$html5 = !0, Qb.apply(this, arguments), this.$$parseLinkUrl = function (d, e) {
if (e && "#" === e[0])return this.hash(e.slice(1)), !0;
var f, g;
return a == Lb(d) ? f = d : (g = Kb(b, d)) ? f = a + c + g : b === d + "/" && (f = b), f && this.$$parse(f), !!f
}, this.$$compose = function () {
var b = ba(this.$$search), d = this.$$hash ? "#" + ca(this.$$hash) : "";
this.$$url = Hb(this.$$path) + (b ? "?" + b : "") + d, this.$$absUrl = a + c + this.$$url
}
}
function Sb(a) {
return function () {
return this[a]
}
}
function Tb(a, b) {
return function (c) {
return t(c) ? this[a] : (this[a] = b(c), this.$$compose(), this)
}
}
function Ub() {
var a = "", b = {enabled: !1, requireBase: !0, rewriteLinks: !0};
this.hashPrefix = function (b) {
return u(b) ? (a = b, this) : a
}, this.html5Mode = function (a) {
return H(a) ? (b.enabled = a, this) : v(a) ? (H(a.enabled) && (b.enabled = a.enabled), H(a.requireBase) && (b.requireBase = a.requireBase), H(a.rewriteLinks) && (b.rewriteLinks = a.rewriteLinks), this) : b
}, this.$get = ["$rootScope", "$browser", "$sniffer", "$rootElement", "$window", function (c, d, e, f, g) {
function h(a, b, c) {
var e = j.url(), f = j.$$state;
try {
d.url(a, b, c), j.$$state = d.state()
} catch (g) {
throw j.url(e), j.$$state = f, g
}
}
function i(a, b) {
c.$broadcast("$locationChangeSuccess", j.absUrl(), a, j.$$state, b)
}
var j, k, l, m = d.baseHref(), n = d.url();
if (b.enabled) {
if (!m && b.requireBase)throw $e("nobase", "$location in HTML5 mode requires a tag to be present!");
l = Ob(n) + (m || "/"), k = e.history ? Pb : Rb
} else l = Lb(n), k = Qb;
var o = Nb(l);
j = new k(l, o, "#" + a), j.$$parseLinkUrl(n, n), j.$$state = d.state();
var p = /^\s*(javascript|mailto):/i;
f.on("click", function (a) {
if (b.rewriteLinks && !a.ctrlKey && !a.metaKey && !a.shiftKey && 2 != a.which && 2 != a.button) {
for (var e = Ed(a.target); "a" !== M(e[0]);)if (e[0] === f[0] || !(e = e.parent())[0])return;
var h = e.prop("href"), i = e.attr("href") || e.attr("xlink:href");
v(h) && "[object SVGAnimatedString]" === h.toString() && (h = Bc(h.animVal).href), p.test(h) || !h || e.attr("target") || a.isDefaultPrevented() || j.$$parseLinkUrl(h, i) && (a.preventDefault(), j.absUrl() != d.url() && (c.$apply(), g.angular["ff-684208-preventDefault"] = !0))
}
}), Mb(j.absUrl()) != Mb(n) && d.url(j.absUrl(), !0);
var q = !0;
return d.onUrlChange(function (a, b) {
return t(Kb(o, a)) ? void(g.location.href = a) : (c.$evalAsync(function () {
var d, e = j.absUrl(), f = j.$$state;
a = Mb(a), j.$$parse(a), j.$$state = b, d = c.$broadcast("$locationChangeStart", a, e, b, f).defaultPrevented, j.absUrl() === a && (d ? (j.$$parse(e), j.$$state = f, h(e, !1, f)) : (q = !1, i(e, f)))
}), void(c.$$phase || c.$digest()))
}), c.$watch(function () {
var a = Mb(d.url()), b = Mb(j.absUrl()), f = d.state(), g = j.$$replace, k = a !== b || j.$$html5 && e.history && f !== j.$$state;
(q || k) && (q = !1, c.$evalAsync(function () {
var b = j.absUrl(), d = c.$broadcast("$locationChangeStart", b, a, j.$$state, f).defaultPrevented;
j.absUrl() === b && (d ? (j.$$parse(a), j.$$state = f) : (k && h(b, g, f === j.$$state ? null : j.$$state), i(a, f)))
})), j.$$replace = !1
}), j
}]
}
function Vb() {
var a = !0, b = this;
this.debugEnabled = function (b) {
return u(b) ? (a = b, this) : a
}, this.$get = ["$window", function (c) {
function d(a) {
return a instanceof Error && (a.stack ? a = a.message && -1 === a.stack.indexOf(a.message) ? "Error: " + a.message + "\n" + a.stack : a.stack : a.sourceURL && (a = a.message + "\n" + a.sourceURL + ":" + a.line)), a
}
function e(a) {
var b = c.console || {}, e = b[a] || b.log || p, g = !1;
try {
g = !!e.apply
} catch (h) {
}
return g ? function () {
var a = [];
return f(arguments, function (b) {
a.push(d(b))
}), e.apply(b, a)
} : function (a, b) {
e(a, null == b ? "" : b)
}
}
return{log: e("log"), info: e("info"), warn: e("warn"), error: e("error"), debug: function () {
var c = e("debug");
return function () {
a && c.apply(b, arguments)
}
}()}
}]
}
function Wb(a, b) {
if ("__defineGetter__" === a || "__defineSetter__" === a || "__lookupGetter__" === a || "__lookupSetter__" === a || "__proto__" === a)throw af("isecfld", "Attempting to access a disallowed field in Angular expressions! Expression: {0}", b);
return a
}
function Xb(a, b) {
if (a += "", !x(a))throw af("iseccst", "Cannot convert object to primitive value! Expression: {0}", b);
return a
}
function Yb(a, b) {
if (a) {
if (a.constructor === a)throw af("isecfn", "Referencing Function in Angular expressions is disallowed! Expression: {0}", b);
if (a.window === a)throw af("isecwindow", "Referencing the Window in Angular expressions is disallowed! Expression: {0}", b);
if (a.children && (a.nodeName || a.prop && a.attr && a.find))throw af("isecdom", "Referencing DOM nodes in Angular expressions is disallowed! Expression: {0}", b);
if (a === Object)throw af("isecobj", "Referencing Object in Angular expressions is disallowed! Expression: {0}", b)
}
return a
}
function Zb(a, b) {
if (a) {
if (a.constructor === a)throw af("isecfn", "Referencing Function in Angular expressions is disallowed! Expression: {0}", b);
if (a === bf || a === cf || a === df)throw af("isecff", "Referencing call, apply or bind in Angular expressions is disallowed! Expression: {0}", b)
}
}
function $b(a, b) {
if (a && (a === 0..constructor || a === (!1).constructor || a === "".constructor || a === {}.constructor || a === [].constructor || a === Function.constructor))throw af("isecaf", "Assigning to a constructor is disallowed! Expression: {0}", b)
}
function _b(a, b) {
return"undefined" != typeof a ? a : b
}
function ac(a, b) {
return"undefined" == typeof a ? b : "undefined" == typeof b ? a : a + b
}
function bc(a, b) {
var c = a(b);
return!c.$stateful
}
function cc(a, b) {
var c, d;
switch (a.type) {
case hf.Program:
c = !0, f(a.body, function (a) {
cc(a.expression, b), c = c && a.expression.constant
}), a.constant = c;
break;
case hf.Literal:
a.constant = !0, a.toWatch = [];
break;
case hf.UnaryExpression:
cc(a.argument, b), a.constant = a.argument.constant, a.toWatch = a.argument.toWatch;
break;
case hf.BinaryExpression:
cc(a.left, b), cc(a.right, b), a.constant = a.left.constant && a.right.constant, a.toWatch = a.left.toWatch.concat(a.right.toWatch);
break;
case hf.LogicalExpression:
cc(a.left, b), cc(a.right, b), a.constant = a.left.constant && a.right.constant, a.toWatch = a.constant ? [] : [a];
break;
case hf.ConditionalExpression:
cc(a.test, b), cc(a.alternate, b), cc(a.consequent, b), a.constant = a.test.constant && a.alternate.constant && a.consequent.constant, a.toWatch = a.constant ? [] : [a];
break;
case hf.Identifier:
a.constant = !1, a.toWatch = [a];
break;
case hf.MemberExpression:
cc(a.object, b), a.computed && cc(a.property, b), a.constant = a.object.constant && (!a.computed || a.property.constant), a.toWatch = [a];
break;
case hf.CallExpression:
c = a.filter ? bc(b, a.callee.name) : !1, d = [], f(a.arguments, function (a) {
cc(a, b), c = c && a.constant, a.constant || d.push.apply(d, a.toWatch)
}), a.constant = c, a.toWatch = a.filter && bc(b, a.callee.name) ? d : [a];
break;
case hf.AssignmentExpression:
cc(a.left, b), cc(a.right, b), a.constant = a.left.constant && a.right.constant, a.toWatch = [a];
break;
case hf.ArrayExpression:
c = !0, d = [], f(a.elements, function (a) {
cc(a, b), c = c && a.constant, a.constant || d.push.apply(d, a.toWatch)
}), a.constant = c, a.toWatch = d;
break;
case hf.ObjectExpression:
c = !0, d = [], f(a.properties, function (a) {
cc(a.value, b), c = c && a.value.constant, a.value.constant || d.push.apply(d, a.value.toWatch)
}), a.constant = c, a.toWatch = d;
break;
case hf.ThisExpression:
a.constant = !1, a.toWatch = []
}
}
function dc(a) {
if (1 == a.length) {
var b = a[0].expression, d = b.toWatch;
return 1 !== d.length ? d : d[0] !== b ? d : c
}
}
function ec(a) {
return a.type === hf.Identifier || a.type === hf.MemberExpression
}
function fc(a) {
return 1 === a.body.length && ec(a.body[0].expression) ? {type: hf.AssignmentExpression, left: a.body[0].expression, right: {type: hf.NGValueParameter}, operator: "="} : void 0
}
function gc(a) {
return 0 === a.body.length || 1 === a.body.length && (a.body[0].expression.type === hf.Literal || a.body[0].expression.type === hf.ArrayExpression || a.body[0].expression.type === hf.ObjectExpression)
}
function hc(a) {
return a.constant
}
function ic(a, b) {
this.astBuilder = a, this.$filter = b
}
function jc(a, b) {
this.astBuilder = a, this.$filter = b
}
function kc(a) {
return"constructor" == a
}
function lc(a) {
return A(a.valueOf) ? a.valueOf() : kf.call(a)
}
function mc() {
var a = qa(), b = qa();
this.$get = ["$filter", function (d) {
function e(a, b) {
return null == a || null == b ? a === b : "object" == typeof a && (a = lc(a), "object" == typeof a) ? !1 : a === b || a !== a && b !== b
}
function g(a, b, d, f, g) {
var h, i = f.inputs;
if (1 === i.length) {
var j = e;
return i = i[0], a.$watch(function (a) {
var b = i(a);
return e(b, j) || (h = f(a, c, c, [b]), j = b && lc(b)), h
}, b, d, g)
}
for (var k = [], l = [], m = 0, n = i.length; n > m; m++)k[m] = e, l[m] = null;
return a.$watch(function (a) {
for (var b = !1, d = 0, g = i.length; g > d; d++) {
var j = i[d](a);
(b || (b = !e(j, k[d]))) && (l[d] = j, k[d] = j && lc(j))
}
return b && (h = f(a, c, c, l)), h
}, b, d, g)
}
function h(a, b, c, d) {
var e, f;
return e = a.$watch(function (a) {
return d(a)
}, function (a, c, d) {
f = a, A(b) && b.apply(this, arguments), u(a) && d.$$postDigest(function () {
u(f) && e()
})
}, c)
}
function i(a, b, c, d) {
function e(a) {
var b = !0;
return f(a, function (a) {
u(a) || (b = !1)
}), b
}
var g, h;
return g = a.$watch(function (a) {
return d(a)
}, function (a, c, d) {
h = a, A(b) && b.call(this, a, c, d), e(a) && d.$$postDigest(function () {
e(h) && g()
})
}, c)
}
function j(a, b, c, d) {
var e;
return e = a.$watch(function (a) {
return d(a)
}, function (a, c, d) {
A(b) && b.apply(this, arguments), e()
}, c)
}
function k(a, b) {
if (!b)return a;
var c = a.$$watchDelegate, d = !1, e = c !== i && c !== h, f = e ? function (c, e, f, g) {
var h = d && g ? g[0] : a(c, e, f, g);
return b(h, c, e)
} : function (c, d, e, f) {
var g = a(c, d, e, f), h = b(g, c, d);
return u(g) ? h : g
};
return a.$$watchDelegate && a.$$watchDelegate !== g ? f.$$watchDelegate = a.$$watchDelegate : b.$stateful || (f.$$watchDelegate = g, d = !a.inputs, f.inputs = a.inputs ? a.inputs : [a]), f
}
var l = Ud().noUnsafeEval, m = {csp: l, expensiveChecks: !1}, n = {csp: l, expensiveChecks: !0};
return function (c, e, f) {
var l, o, q;
switch (typeof c) {
case"string":
c = c.trim(), q = c;
var r = f ? b : a;
if (l = r[q], !l) {
":" === c.charAt(0) && ":" === c.charAt(1) && (o = !0, c = c.substring(2));
var s = f ? n : m, t = new gf(s), u = new jf(t, d, s);
l = u.parse(c), l.constant ? l.$$watchDelegate = j : o ? l.$$watchDelegate = l.literal ? i : h : l.inputs && (l.$$watchDelegate = g), r[q] = l
}
return k(l, e);
case"function":
return k(c, e);
default:
return k(p, e)
}
}
}]
}
function nc() {
this.$get = ["$rootScope", "$exceptionHandler", function (a, b) {
return pc(function (b) {
a.$evalAsync(b)
}, b)
}]
}
function oc() {
this.$get = ["$browser", "$exceptionHandler", function (a, b) {
return pc(function (b) {
a.defer(b)
}, b)
}]
}
function pc(a, b) {
function e(a, b, c) {
function d(b) {
return function (c) {
e || (e = !0, b.call(a, c))
}
}
var e = !1;
return[d(b), d(c)]
}
function g() {
this.$$state = {status: 0}
}
function h(a, b) {
return function (c) {
b.call(a, c)
}
}
function i(a) {
var d, e, f;
f = a.pending, a.processScheduled = !1, a.pending = c;
for (var g = 0, h = f.length; h > g; ++g) {
e = f[g][0], d = f[g][a.status];
try {
A(d) ? e.resolve(d(a.value)) : 1 === a.status ? e.resolve(a.value) : e.reject(a.value)
} catch (i) {
e.reject(i), b(i)
}
}
}
function j(b) {
!b.processScheduled && b.pending && (b.processScheduled = !0, a(function () {
i(b)
}))
}
function k() {
this.promise = new g, this.resolve = h(this, this.resolve), this.reject = h(this, this.reject), this.notify = h(this, this.notify)
}
function m(a) {
var b = new k, c = 0, d = Qd(a) ? [] : {};
return f(a, function (a, e) {
c++, s(a).then(function (a) {
d.hasOwnProperty(e) || (d[e] = a, --c || b.resolve(d))
}, function (a) {
d.hasOwnProperty(e) || b.reject(a)
})
}), 0 === c && b.resolve(d), b.promise
}
var n = d("$q", TypeError), o = function () {
return new k
};
l(g.prototype, {then: function (a, b, c) {
if (t(a) && t(b) && t(c))return this;
var d = new k;
return this.$$state.pending = this.$$state.pending || [], this.$$state.pending.push([d, a, b, c]), this.$$state.status > 0 && j(this.$$state), d.promise
}, "catch": function (a) {
return this.then(null, a)
}, "finally": function (a, b) {
return this.then(function (b) {
return r(b, !0, a)
}, function (b) {
return r(b, !1, a)
}, b)
}}), l(k.prototype, {resolve: function (a) {
this.promise.$$state.status || (a === this.promise ? this.$$reject(n("qcycle", "Expected promise to be resolved with value other than itself '{0}'", a)) : this.$$resolve(a))
}, $$resolve: function (a) {
var c, d;
d = e(this, this.$$resolve, this.$$reject);
try {
(v(a) || A(a)) && (c = a && a.then), A(c) ? (this.promise.$$state.status = -1, c.call(a, d[0], d[1], this.notify)) : (this.promise.$$state.value = a, this.promise.$$state.status = 1, j(this.promise.$$state))
} catch (f) {
d[1](f), b(f)
}
}, reject: function (a) {
this.promise.$$state.status || this.$$reject(a)
}, $$reject: function (a) {
this.promise.$$state.value = a, this.promise.$$state.status = 2, j(this.promise.$$state)
}, notify: function (c) {
var d = this.promise.$$state.pending;
this.promise.$$state.status <= 0 && d && d.length && a(function () {
for (var a, e, f = 0, g = d.length; g > f; f++) {
e = d[f][0], a = d[f][3];
try {
e.notify(A(a) ? a(c) : c)
} catch (h) {
b(h)
}
}
})
}});
var p = function (a) {
var b = new k;
return b.reject(a), b.promise
}, q = function (a, b) {
var c = new k;
return b ? c.resolve(a) : c.reject(a), c.promise
}, r = function (a, b, c) {
var d = null;
try {
A(c) && (d = c())
} catch (e) {
return q(e, !1)
}
return I(d) ? d.then(function () {
return q(a, b)
}, function (a) {
return q(a, !1)
}) : q(a, b)
}, s = function (a, b, c, d) {
var e = new k;
return e.resolve(a), e.promise.then(b, c, d)
}, u = s, w = function x(a) {
function b(a) {
d.resolve(a)
}
function c(a) {
d.reject(a)
}
if (!A(a))throw n("norslvr", "Expected resolverFn, got '{0}'", a);
if (!(this instanceof x))return new x(a);
var d = new k;
return a(b, c), d.promise
};
return w.defer = o, w.reject = p, w.when = s, w.resolve = u, w.all = m, w
}
function qc() {
this.$get = ["$window", "$timeout", function (a, b) {
var c = a.requestAnimationFrame || a.webkitRequestAnimationFrame, d = a.cancelAnimationFrame || a.webkitCancelAnimationFrame || a.webkitCancelRequestAnimationFrame, e = !!c, f = e ? function (a) {
var b = c(a);
return function () {
d(b)
}
} : function (a) {
var c = b(a, 16.66, !1);
return function () {
b.cancel(c)
}
};
return f.supported = e, f
}]
}
function rc() {
function a(a) {
function b() {
this.$$watchers = this.$$nextSibling = this.$$childHead = this.$$childTail = null, this.$$listeners = {}, this.$$listenerCount = {}, this.$$watchersCount = 0, this.$id = i(), this.$$ChildScope = null
}
return b.prototype = a, b
}
var b = 10, c = d("$rootScope"), g = null, h = null;
this.digestTtl = function (a) {
return arguments.length && (b = a), b
}, this.$get = ["$injector", "$exceptionHandler", "$parse", "$browser", function (d, j, k, l) {
function m(a) {
a.currentScope.$$destroyed = !0
}
function n(a) {
9 === Dd && (a.$$childHead && n(a.$$childHead), a.$$nextSibling && n(a.$$nextSibling)), a.$parent = a.$$nextSibling = a.$$prevSibling = a.$$childHead = a.$$childTail = a.$root = a.$$watchers = null
}
function o() {
this.$id = i(), this.$$phase = this.$parent = this.$$watchers = this.$$nextSibling = this.$$prevSibling = this.$$childHead = this.$$childTail = null, this.$root = this, this.$$destroyed = !1, this.$$listeners = {}, this.$$listenerCount = {}, this.$$watchersCount = 0, this.$$isolateBindings = null
}
function q(a) {
if (z.$$phase)throw c("inprog", "{0} already in progress", z.$$phase);
z.$$phase = a
}
function r() {
z.$$phase = null
}
function s(a, b) {
do a.$$watchersCount += b; while (a = a.$parent)
}
function u(a, b, c) {
do a.$$listenerCount[c] -= b, 0 === a.$$listenerCount[c] && delete a.$$listenerCount[c]; while (a = a.$parent)
}
function w() {
}
function x() {
for (; D.length;)try {
D.shift()()
} catch (a) {
j(a)
}
h = null
}
function y() {
null === h && (h = l.defer(function () {
z.$apply(x)
}))
}
o.prototype = {constructor: o, $new: function (b, c) {
var d;
return c = c || this, b ? (d = new o, d.$root = this.$root) : (this.$$ChildScope || (this.$$ChildScope = a(this)), d = new this.$$ChildScope), d.$parent = c, d.$$prevSibling = c.$$childTail, c.$$childHead ? (c.$$childTail.$$nextSibling = d, c.$$childTail = d) : c.$$childHead = c.$$childTail = d, (b || c != this) && d.$on("$destroy", m), d
}, $watch: function (a, b, c, d) {
var e = k(a);
if (e.$$watchDelegate)return e.$$watchDelegate(this, b, c, e, a);
var f = this, h = f.$$watchers, i = {fn: b, last: w, get: e, exp: d || a, eq: !!c};
return g = null, A(b) || (i.fn = p), h || (h = f.$$watchers = []), h.unshift(i), s(this, 1), function () {
N(h, i) >= 0 && s(f, -1), g = null
}
}, $watchGroup: function (a, b) {
function c() {
i = !1, j ? (j = !1, b(e, e, h)) : b(e, d, h)
}
var d = new Array(a.length), e = new Array(a.length), g = [], h = this, i = !1, j = !0;
if (!a.length) {
var k = !0;
return h.$evalAsync(function () {
k && b(e, e, h)
}), function () {
k = !1
}
}
return 1 === a.length ? this.$watch(a[0], function (a, c, f) {
e[0] = a, d[0] = c, b(e, a === c ? e : d, f)
}) : (f(a, function (a, b) {
var f = h.$watch(a, function (a, f) {
e[b] = a, d[b] = f, i || (i = !0, h.$evalAsync(c))
});
g.push(f)
}), function () {
for (; g.length;)g.shift()()
})
}, $watchCollection: function (a, b) {
function c(a) {
f = a;
var b, c, d, h, i;
if (!t(f)) {
if (v(f))if (e(f)) {
g !== n && (g = n, q = g.length = 0, l++), b = f.length, q !== b && (l++, g.length = q = b);
for (var j = 0; b > j; j++)i = g[j], h = f[j], d = i !== i && h !== h, d || i === h || (l++, g[j] = h)
} else {
g !== o && (g = o = {}, q = 0, l++), b = 0;
for (c in f)zd.call(f, c) && (b++, h = f[c], i = g[c], c in g ? (d = i !== i && h !== h, d || i === h || (l++, g[c] = h)) : (q++, g[c] = h, l++));
if (q > b) {
l++;
for (c in g)zd.call(f, c) || (q--, delete g[c])
}
} else g !== f && (g = f, l++);
return l
}
}
function d() {
if (p ? (p = !1, b(f, f, i)) : b(f, h, i), j)if (v(f))if (e(f)) {
h = new Array(f.length);
for (var a = 0; a < f.length; a++)h[a] = f[a]
} else {
h = {};
for (var c in f)zd.call(f, c) && (h[c] = f[c])
} else h = f
}
c.$stateful = !0;
var f, g, h, i = this, j = b.length > 1, l = 0, m = k(a, c), n = [], o = {}, p = !0, q = 0;
return this.$watch(m, d)
}, $digest: function () {
var a, d, e, f, i, k, m, n, o, p, s = b, t = this, u = [];
q("$digest"), l.$$checkUrlChange(), this === z && null !== h && (l.defer.cancel(h), x()), g = null;
do {
for (k = !1, n = t; B.length;) {
try {
p = B.shift(), p.scope.$eval(p.expression, p.locals)
} catch (v) {
j(v)
}
g = null
}
a:do {
if (f = n.$$watchers)for (i = f.length; i--;)try {
if (a = f[i])if ((d = a.get(n)) === (e = a.last) || (a.eq ? Q(d, e) : "number" == typeof d && "number" == typeof e && isNaN(d) && isNaN(e))) {
if (a === g) {
k = !1;
break a
}
} else k = !0, g = a, a.last = a.eq ? O(d, null) : d, a.fn(d, e === w ? d : e, n), 5 > s && (o = 4 - s, u[o] || (u[o] = []), u[o].push({msg: A(a.exp) ? "fn: " + (a.exp.name || a.exp.toString()) : a.exp, newVal: d, oldVal: e}))
} catch (v) {
j(v)
}
if (!(m = n.$$watchersCount && n.$$childHead || n !== t && n.$$nextSibling))for (; n !== t && !(m = n.$$nextSibling);)n = n.$parent
} while (n = m);
if ((k || B.length) && !s--)throw r(), c("infdig", "{0} $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: {1}", b, u)
} while (k || B.length);
for (r(); C.length;)try {
C.shift()()
} catch (v) {
j(v)
}
}, $destroy: function () {
if (!this.$$destroyed) {
var a = this.$parent;
this.$broadcast("$destroy"), this.$$destroyed = !0, this === z && l.$$applicationDestroyed(), s(this, -this.$$watchersCount);
for (var b in this.$$listenerCount)u(this, this.$$listenerCount[b], b);
a && a.$$childHead == this && (a.$$childHead = this.$$nextSibling), a && a.$$childTail == this && (a.$$childTail = this.$$prevSibling), this.$$prevSibling && (this.$$prevSibling.$$nextSibling = this.$$nextSibling), this.$$nextSibling && (this.$$nextSibling.$$prevSibling = this.$$prevSibling), this.$destroy = this.$digest = this.$apply = this.$evalAsync = this.$applyAsync = p, this.$on = this.$watch = this.$watchGroup = function () {
return p
}, this.$$listeners = {}, this.$$nextSibling = null, n(this)
}
}, $eval: function (a, b) {
return k(a)(this, b)
}, $evalAsync: function (a, b) {
z.$$phase || B.length || l.defer(function () {
B.length && z.$digest()
}), B.push({scope: this, expression: a, locals: b})
}, $$postDigest: function (a) {
C.push(a)
}, $apply: function (a) {
try {
q("$apply");
try {
return this.$eval(a)
} finally {
r()
}
} catch (b) {
j(b)
} finally {
try {
z.$digest()
} catch (b) {
throw j(b), b
}
}
}, $applyAsync: function (a) {
function b() {
c.$eval(a)
}
var c = this;
a && D.push(b), y()
}, $on: function (a, b) {
var c = this.$$listeners[a];
c || (this.$$listeners[a] = c = []), c.push(b);
var d = this;
do d.$$listenerCount[a] || (d.$$listenerCount[a] = 0), d.$$listenerCount[a]++; while (d = d.$parent);
var e = this;
return function () {
var d = c.indexOf(b);
-1 !== d && (c[d] = null, u(e, 1, a))
}
}, $emit: function (a, b) {
var c, d, e, f = [], g = this, h = !1, i = {name: a, targetScope: g, stopPropagation: function () {
h = !0
}, preventDefault: function () {
i.defaultPrevented = !0
}, defaultPrevented: !1}, k = R([i], arguments, 1);
do {
for (c = g.$$listeners[a] || f, i.currentScope = g, d = 0, e = c.length; e > d; d++)if (c[d])try {
c[d].apply(null, k)
} catch (l) {
j(l)
} else c.splice(d, 1), d--, e--;
if (h)return i.currentScope = null, i;
g = g.$parent
} while (g);
return i.currentScope = null, i
}, $broadcast: function (a, b) {
var c = this, d = c, e = c, f = {name: a, targetScope: c, preventDefault: function () {
f.defaultPrevented = !0
}, defaultPrevented: !1};
if (!c.$$listenerCount[a])return f;
for (var g, h, i, k = R([f], arguments, 1); d = e;) {
for (f.currentScope = d, g = d.$$listeners[a] || [], h = 0, i = g.length; i > h; h++)if (g[h])try {
g[h].apply(null, k)
} catch (l) {
j(l)
} else g.splice(h, 1), h--, i--;
if (!(e = d.$$listenerCount[a] && d.$$childHead || d !== c && d.$$nextSibling))for (; d !== c && !(e = d.$$nextSibling);)d = d.$parent
}
return f.currentScope = null, f
}};
var z = new o, B = z.$$asyncQueue = [], C = z.$$postDigestQueue = [], D = z.$$applyAsyncQueue = [];
return z
}]
}
function sc() {
var a = /^\s*(https?|ftp|mailto|tel|file):/, b = /^\s*((https?|ftp|file|blob):|data:image\/)/;
this.aHrefSanitizationWhitelist = function (b) {
return u(b) ? (a = b, this) : a
}, this.imgSrcSanitizationWhitelist = function (a) {
return u(a) ? (b = a, this) : b
}, this.$get = function () {
return function (c, d) {
var e, f = d ? b : a;
return e = Bc(c).href, "" === e || e.match(f) ? c : "unsafe:" + e
}
}
}
function tc(a) {
if ("self" === a)return a;
if (x(a)) {
if (a.indexOf("***") > -1)throw lf("iwcard", "Illegal sequence *** in string matcher. String: {0}", a);
return a = Td(a).replace("\\*\\*", ".*").replace("\\*", "[^:/.?&;]*"), new RegExp("^" + a + "$")
}
if (B(a))return new RegExp("^" + a.source + "$");
throw lf("imatcher", 'Matchers may only be "self", string patterns or RegExp objects')
}
function uc(a) {
var b = [];
return u(a) && f(a, function (a) {
b.push(tc(a))
}), b
}
function vc() {
this.SCE_CONTEXTS = mf;
var a = ["self"], b = [];
this.resourceUrlWhitelist = function (b) {
return arguments.length && (a = uc(b)), a
}, this.resourceUrlBlacklist = function (a) {
return arguments.length && (b = uc(a)), b
}, this.$get = ["$injector", function (c) {
function d(a, b) {
return"self" === a ? Cc(b) : !!a.exec(b.href)
}
function e(c) {
var e, f, g = Bc(c.toString()), h = !1;
for (e = 0, f = a.length; f > e; e++)if (d(a[e], g)) {
h = !0;
break
}
if (h)for (e = 0, f = b.length; f > e; e++)if (d(b[e], g)) {
h = !1;
break
}
return h
}
function f(a) {
var b = function (a) {
this.$$unwrapTrustedValue = function () {
return a
}
};
return a && (b.prototype = new a), b.prototype.valueOf = function () {
return this.$$unwrapTrustedValue()
}, b.prototype.toString = function () {
return this.$$unwrapTrustedValue().toString()
}, b
}
function g(a, b) {
var c = l.hasOwnProperty(a) ? l[a] : null;
if (!c)throw lf("icontext", "Attempted to trust a value in invalid context. Context: {0}; Value: {1}", a, b);
if (null === b || t(b) || "" === b)return b;
if ("string" != typeof b)throw lf("itype", "Attempted to trust a non-string value in a content requiring a string: Context: {0}", a);
return new c(b)
}
function h(a) {
return a instanceof k ? a.$$unwrapTrustedValue() : a
}
function i(a, b) {
if (null === b || t(b) || "" === b)return b;
var c = l.hasOwnProperty(a) ? l[a] : null;
if (c && b instanceof c)return b.$$unwrapTrustedValue();
if (a === mf.RESOURCE_URL) {
if (e(b))return b;
throw lf("insecurl", "Blocked loading resource from url not allowed by $sceDelegate policy. URL: {0}", b.toString())
}
if (a === mf.HTML)return j(b);
throw lf("unsafe", "Attempting to use an unsafe value in a safe context.")
}
var j = function (a) {
throw lf("unsafe", "Attempting to use an unsafe value in a safe context.")
};
c.has("$sanitize") && (j = c.get("$sanitize"));
var k = f(), l = {};
return l[mf.HTML] = f(k), l[mf.CSS] = f(k), l[mf.URL] = f(k), l[mf.JS] = f(k), l[mf.RESOURCE_URL] = f(l[mf.URL]), {trustAs: g, getTrusted: i, valueOf: h}
}]
}
function wc() {
var a = !0;
this.enabled = function (b) {
return arguments.length && (a = !!b), a
}, this.$get = ["$parse", "$sceDelegate", function (b, c) {
if (a && 8 > Dd)throw lf("iequirks", "Strict Contextual Escaping does not support Internet Explorer version < 11 in quirks mode. You can fix this by adding the text to the top of your HTML document. See http://docs.angularjs.org/api/ng.$sce for more information.");
var d = P(mf);
d.isEnabled = function () {
return a
}, d.trustAs = c.trustAs, d.getTrusted = c.getTrusted, d.valueOf = c.valueOf, a || (d.trustAs = d.getTrusted = function (a, b) {
return b
}, d.valueOf = q), d.parseAs = function (a, c) {
var e = b(c);
return e.literal && e.constant ? e : b(c, function (b) {
return d.getTrusted(a, b)
})
};
var e = d.parseAs, g = d.getTrusted, h = d.trustAs;
return f(mf, function (a, b) {
var c = yd(b);
d[wa("parse_as_" + c)] = function (b) {
return e(a, b)
}, d[wa("get_trusted_" + c)] = function (b) {
return g(a, b)
}, d[wa("trust_as_" + c)] = function (b) {
return h(a, b)
}
}), d
}]
}
function xc() {
this.$get = ["$window", "$document", function (a, b) {
var c, d, e = {}, f = n((/android (\d+)/.exec(yd((a.navigator || {}).userAgent)) || [])[1]), g = /Boxee/i.test((a.navigator || {}).userAgent), h = b[0] || {}, i = /^(Moz|webkit|ms)(?=[A-Z])/, j = h.body && h.body.style, k = !1, l = !1;
if (j) {
for (var m in j)if (d = i.exec(m)) {
c = d[0], c = c.substr(0, 1).toUpperCase() + c.substr(1);
break
}
c || (c = "WebkitOpacity"in j && "webkit"), k = !!("transition"in j || c + "Transition"in j), l = !!("animation"in j || c + "Animation"in j), !f || k && l || (k = x(j.webkitTransition), l = x(j.webkitAnimation))
}
return{history: !(!a.history || !a.history.pushState || 4 > f || g), hasEvent: function (a) {
if ("input" === a && 11 >= Dd)return!1;
if (t(e[a])) {
var b = h.createElement("div");
e[a] = "on" + a in b
}
return e[a]
}, csp: Ud(), vendorPrefix: c, transitions: k, animations: l, android: f}
}]
}
function yc() {
this.$get = ["$templateCache", "$http", "$q", "$sce", function (a, b, c, d) {
function e(f, g) {
function h(a) {
if (!g)throw Le("tpload", "Failed to load template: {0} (HTTP status: {1} {2})", f, a.status, a.statusText);
return c.reject(a)
}
e.totalPendingRequests++, x(f) && a.get(f) || (f = d.getTrustedResourceUrl(f));
var i = b.defaults && b.defaults.transformResponse;
Qd(i) ? i = i.filter(function (a) {
return a !== vb
}) : i === vb && (i = null);
var j = {cache: a, transformResponse: i};
return b.get(f, j)["finally"](function () {
e.totalPendingRequests--
}).then(function (b) {
return a.put(f, b.data), b.data
}, h)
}
return e.totalPendingRequests = 0, e
}]
}
function zc() {
this.$get = ["$rootScope", "$browser", "$location", function (a, b, c) {
var d = {};
return d.findBindings = function (a, b, c) {
var d = a.getElementsByClassName("ng-binding"), e = [];
return f(d, function (a) {
var d = Nd.element(a).data("$binding");
d && f(d, function (d) {
if (c) {
var f = new RegExp("(^|\\s)" + Td(b) + "(\\s|\\||$)");
f.test(d) && e.push(a)
} else-1 != d.indexOf(b) && e.push(a)
})
}), e
}, d.findModels = function (a, b, c) {
for (var d = ["ng-", "data-ng-", "ng\\:"], e = 0; e < d.length; ++e) {
var f = c ? "=" : "*=", g = "[" + d[e] + "model" + f + '"' + b + '"]', h = a.querySelectorAll(g);
if (h.length)return h
}
}, d.getLocation = function () {
return c.url()
}, d.setLocation = function (b) {
b !== c.url() && (c.url(b), a.$digest())
}, d.whenStable = function (a) {
b.notifyWhenNoOutstandingRequests(a)
}, d
}]
}
function Ac() {
this.$get = ["$rootScope", "$browser", "$q", "$$q", "$exceptionHandler", function (a, b, c, d, e) {
function f(f, h, i) {
A(f) || (i = h, h = f, f = p);
var j, k = S(arguments, 3), l = u(i) && !i, m = (l ? d : c).defer(), n = m.promise;
return j = b.defer(function () {
try {
m.resolve(f.apply(null, k))
} catch (b) {
m.reject(b), e(b)
} finally {
delete g[n.$$timeoutId]
}
l || a.$apply()
}, h), n.$$timeoutId = j, g[j] = m, n
}
var g = {};
return f.cancel = function (a) {
return a && a.$$timeoutId in g ? (g[a.$$timeoutId].reject("canceled"), delete g[a.$$timeoutId], b.defer.cancel(a.$$timeoutId)) : !1
}, f
}]
}
function Bc(a) {
var b = a;
return Dd && (nf.setAttribute("href", b), b = nf.href), nf.setAttribute("href", b), {href: nf.href, protocol: nf.protocol ? nf.protocol.replace(/:$/, "") : "", host: nf.host, search: nf.search ? nf.search.replace(/^\?/, "") : "", hash: nf.hash ? nf.hash.replace(/^#/, "") : "", hostname: nf.hostname, port: nf.port, pathname: "/" === nf.pathname.charAt(0) ? nf.pathname : "/" + nf.pathname}
}
function Cc(a) {
var b = x(a) ? Bc(a) : a;
return b.protocol === of.protocol && b.host === of.host
}
function Dc() {
this.$get = r(a)
}
function Ec(a) {
function b(a) {
try {
return decodeURIComponent(a)
} catch (b) {
return a
}
}
var c = a[0] || {}, d = {}, e = "";
return function () {
var a, f, g, h, i, j = c.cookie || "";
if (j !== e)for (e = j, a = e.split("; "), d = {}, g = 0; g < a.length; g++)f = a[g], h = f.indexOf("="), h > 0 && (i = b(f.substring(0, h)), t(d[i]) && (d[i] = b(f.substring(h + 1))));
return d
}
}
function Fc() {
this.$get = Ec
}
function Gc(a) {
function b(d, e) {
if (v(d)) {
var g = {};
return f(d, function (a, c) {
g[c] = b(c, a)
}), g
}
return a.factory(d + c, e)
}
var c = "Filter";
this.register = b, this.$get = ["$injector", function (a) {
return function (b) {
return a.get(b + c)
}
}], b("currency", Lc), b("date", $c), b("filter", Hc), b("json", _c), b("limitTo", ad), b("lowercase", vf), b("number", Mc), b("orderBy", bd), b("uppercase", wf)
}
function Hc() {
return function (a, b, c) {
if (!e(a)) {
if (null == a)return a;
throw d("filter")("notarray", "Expected array but received: {0}", a)
}
var f, g, h = Kc(b);
switch (h) {
case"function":
f = b;
break;
case"boolean":
case"null":
case"number":
case"string":
g = !0;
case"object":
f = Ic(b, c, g);
break;
default:
return a
}
return Array.prototype.filter.call(a, f)
}
}
function Ic(a, b, c) {
var d, e = v(a) && "$"in a;
return b === !0 ? b = Q : A(b) || (b = function (a, b) {
return t(a) ? !1 : null === a || null === b ? a === b : v(b) || v(a) && !s(a) ? !1 : (a = yd("" + a), b = yd("" + b), -1 !== a.indexOf(b))
}), d = function (d) {
return e && !v(d) ? Jc(d, a.$, b, !1) : Jc(d, a, b, c)
}
}
function Jc(a, b, c, d, e) {
var f = Kc(a), g = Kc(b);
if ("string" === g && "!" === b.charAt(0))return!Jc(a, b.substring(1), c, d);
if (Qd(a))return a.some(function (a) {
return Jc(a, b, c, d)
});
switch (f) {
case"object":
var h;
if (d) {
for (h in a)if ("$" !== h.charAt(0) && Jc(a[h], b, c, !0))return!0;
return e ? !1 : Jc(a, b, c, !1)
}
if ("object" === g) {
for (h in b) {
var i = b[h];
if (!A(i) && !t(i)) {
var j = "$" === h, k = j ? a : a[h];
if (!Jc(k, i, c, j, j))return!1
}
}
return!0
}
return c(a, b);
case"function":
return!1;
default:
return c(a, b)
}
}
function Kc(a) {
return null === a ? "null" : typeof a
}
function Lc(a) {
var b = a.NUMBER_FORMATS;
return function (a, c, d) {
return t(c) && (c = b.CURRENCY_SYM), t(d) && (d = b.PATTERNS[1].maxFrac), null == a ? a : Pc(a, b.PATTERNS[1], b.GROUP_SEP, b.DECIMAL_SEP, d).replace(/\u00A4/g, c)
}
}
function Mc(a) {
var b = a.NUMBER_FORMATS;
return function (a, c) {
return null == a ? a : Pc(a, b.PATTERNS[0], b.GROUP_SEP, b.DECIMAL_SEP, c)
}
}
function Nc(a) {
var b, c, d, e, f, g = 0;
for ((c = a.indexOf(qf)) > -1 && (a = a.replace(qf, "")), (d = a.search(/e/i)) > 0 ? (0 > c && (c = d), c += +a.slice(d + 1), a = a.substring(0, d)) : 0 > c && (c = a.length), d = 0; a.charAt(d) == rf; d++);
if (d == (f = a.length))b = [0], c = 1; else {
for (f--; a.charAt(f) == rf;)f--;
for (c -= d, b = [], e = 0; f >= d; d++, e++)b[e] = +a.charAt(d)
}
return c > pf && (b = b.splice(0, pf - 1), g = c - 1, c = 1), {d: b, e: g, i: c}
}
function Oc(a, b, c, d) {
var e = a.d, f = e.length - a.i;
b = t(b) ? Math.min(Math.max(c, f), d) : +b;
var g = b + a.i, h = e[g];
if (g > 0)e.splice(g); else {
a.i = 1, e.length = g = b + 1;
for (var i = 0; g > i; i++)e[i] = 0
}
for (h >= 5 && e[g - 1]++; b > f; f++)e.push(0);
var j = e.reduceRight(function (a, b, c, d) {
return b += a, d[c] = b % 10, Math.floor(b / 10)
}, 0);
j && (e.unshift(j), a.i++)
}
function Pc(a, b, c, d, e) {
if (!x(a) && !y(a) || isNaN(a))return"";
var f, g = !isFinite(a), h = !1, i = Math.abs(a) + "", j = "";
if (g)j = "∞"; else {
f = Nc(i), Oc(f, e, b.minFrac, b.maxFrac);
var k = f.d, l = f.i, m = f.e, n = [];
for (h = k.reduce(function (a, b) {
return a && !b
}, !0); 0 > l;)k.unshift(0), l++;
l > 0 ? n = k.splice(l) : (n = k, k = [0]);
var o = [];
for (k.length > b.lgSize && o.unshift(k.splice(-b.lgSize).join("")); k.length > b.gSize;)o.unshift(k.splice(-b.gSize).join(""));
k.length && o.unshift(k.join("")), j = o.join(c), n.length && (j += d + n.join("")), m && (j += "e+" + m)
}
return 0 > a && !h ? b.negPre + j + b.negSuf : b.posPre + j + b.posSuf
}
function Qc(a, b, c) {
var d = "";
for (0 > a && (d = "-", a = -a), a = "" + a; a.length < b;)a = rf + a;
return c && (a = a.substr(a.length - b)), d + a
}
function Rc(a, b, c, d) {
return c = c || 0, function (e) {
var f = e["get" + a]();
return(c > 0 || f > -c) && (f += c), 0 === f && -12 == c && (f = 12), Qc(f, b, d)
}
}
function Sc(a, b) {
return function (c, d) {
var e = c["get" + a](), f = Ad(b ? "SHORT" + a : a);
return d[f][e]
}
}
function Tc(a, b, c) {
var d = -1 * c, e = d >= 0 ? "+" : "";
return e += Qc(Math[d > 0 ? "floor" : "ceil"](d / 60), 2) + Qc(Math.abs(d % 60), 2)
}
function Uc(a) {
var b = new Date(a, 0, 1).getDay();
return new Date(a, 0, (4 >= b ? 5 : 12) - b)
}
function Vc(a) {
return new Date(a.getFullYear(), a.getMonth(), a.getDate() + (4 - a.getDay()))
}
function Wc(a) {
return function (b) {
var c = Uc(b.getFullYear()), d = Vc(b), e = +d - +c, f = 1 + Math.round(e / 6048e5);
return Qc(f, a)
}
}
function Xc(a, b) {
return a.getHours() < 12 ? b.AMPMS[0] : b.AMPMS[1]
}
function Yc(a, b) {
return a.getFullYear() <= 0 ? b.ERAS[0] : b.ERAS[1]
}
function Zc(a, b) {
return a.getFullYear() <= 0 ? b.ERANAMES[0] : b.ERANAMES[1]
}
function $c(a) {
function b(a) {
var b;
if (b = a.match(c)) {
var d = new Date(0), e = 0, f = 0, g = b[8] ? d.setUTCFullYear : d.setFullYear, h = b[8] ? d.setUTCHours : d.setHours;
b[9] && (e = n(b[9] + b[10]), f = n(b[9] + b[11])), g.call(d, n(b[1]), n(b[2]) - 1, n(b[3]));
var i = n(b[4] || 0) - e, j = n(b[5] || 0) - f, k = n(b[6] || 0), l = Math.round(1e3 * parseFloat("0." + (b[7] || 0)));
return h.call(d, i, j, k, l), d
}
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, d, e) {
var g, h, i = "", j = [];
if (d = d || "mediumDate", d = a.DATETIME_FORMATS[d] || d, x(c) && (c = uf.test(c) ? n(c) : b(c)), y(c) && (c = new Date(c)), !z(c) || !isFinite(c.getTime()))return c;
for (; d;)h = tf.exec(d), h ? (j = R(j, h, 1), d = j.pop()) : (j.push(d), d = null);
var k = c.getTimezoneOffset();
return e && (k = X(e, c.getTimezoneOffset()), c = Z(c, e, !0)), f(j, function (b) {
g = sf[b], i += g ? g(c, a.DATETIME_FORMATS, k) : b.replace(/(^'|'$)/g, "").replace(/''/g, "'")
}), i
}
}
function _c() {
return function (a, b) {
return t(b) && (b = 2), V(a, b)
}
}
function ad() {
return function (a, b, c) {
return b = Math.abs(Number(b)) === 1 / 0 ? Number(b) : n(b), isNaN(b) ? a : (y(a) && (a = a.toString()), Qd(a) || x(a) ? (c = !c || isNaN(c) ? 0 : n(c), c = 0 > c ? Math.max(0, a.length + c) : c, b >= 0 ? a.slice(c, c + b) : 0 === c ? a.slice(b, a.length) : a.slice(Math.max(0, c + b), c)) : a)
}
}
function bd(a) {
function b(b, c) {
return c = c ? -1 : 1, b.map(function (b) {
var d = 1, e = q;
if (A(b))e = b; else if (x(b) && (("+" == b.charAt(0) || "-" == b.charAt(0)) && (d = "-" == b.charAt(0) ? -1 : 1, b = b.substring(1)), "" !== b && (e = a(b), e.constant))) {
var f = e();
e = function (a) {
return a[f]
}
}
return{get: e, descending: d * c}
})
}
function c(a) {
switch (typeof a) {
case"number":
case"boolean":
case"string":
return!0;
default:
return!1
}
}
function d(a, b) {
return"function" == typeof a.valueOf && (a = a.valueOf(), c(a)) ? a : s(a) && (a = a.toString(), c(a)) ? a : b
}
function f(a, b) {
var c = typeof a;
return null === a ? (c = "string", a = "null") : "string" === c ? a = a.toLowerCase() : "object" === c && (a = d(a, b)), {value: a, type: c}
}
function g(a, b) {
var c = 0;
return a.type === b.type ? a.value !== b.value && (c = a.value < b.value ? -1 : 1) : c = a.type < b.type ? -1 : 1, c
}
return function (a, c, d) {
function h(a, b) {
return{value: a, predicateValues: j.map(function (c) {
return f(c.get(a), b)
})}
}
function i(a, b) {
for (var c = 0, d = 0, e = j.length; e > d && !(c = g(a.predicateValues[d], b.predicateValues[d]) * j[d].descending); ++d);
return c
}
if (!e(a))return a;
Qd(c) || (c = [c]), 0 === c.length && (c = ["+"]);
var j = b(c, d);
j.push({get: function () {
return{}
}, descending: d ? -1 : 1});
var k = Array.prototype.map.call(a, h);
return k.sort(i), a = k.map(function (a) {
return a.value
})
}
}
function cd(a) {
return A(a) && (a = {link: a}), a.restrict = a.restrict || "AC", r(a)
}
function dd(a, b) {
a.$name = b
}
function ed(a, b, d, e, g) {
var h = this, i = [];
h.$error = {}, h.$$success = {}, h.$pending = c, h.$name = g(b.name || b.ngForm || "")(d), h.$dirty = !1, h.$pristine = !0, h.$valid = !0, h.$invalid = !1, h.$submitted = !1, h.$$parentForm = zf, h.$rollbackViewValue = function () {
f(i, function (a) {
a.$rollbackViewValue()
})
}, h.$commitViewValue = function () {
f(i, function (a) {
a.$commitViewValue()
})
}, h.$addControl = function (a) {
na(a.$name, "input"), i.push(a), a.$name && (h[a.$name] = a), a.$$parentForm = h
}, h.$$renameControl = function (a, b) {
var c = a.$name;
h[c] === a && delete h[c], h[b] = a, a.$name = b
}, h.$removeControl = function (a) {
a.$name && h[a.$name] === a && delete h[a.$name], f(h.$pending, function (b, c) {
h.$setValidity(c, null, a)
}), f(h.$error, function (b, c) {
h.$setValidity(c, null, a)
}), f(h.$$success, function (b, c) {
h.$setValidity(c, null, a)
}), N(i, a), a.$$parentForm = zf
}, td({ctrl: this, $element: a, set: function (a, b, c) {
var d = a[b];
if (d) {
var e = d.indexOf(c);
-1 === e && d.push(c)
} else a[b] = [c]
}, unset: function (a, b, c) {
var d = a[b];
d && (N(d, c), 0 === d.length && delete a[b])
}, $animate: e}), h.$setDirty = function () {
e.removeClass(a, hg), e.addClass(a, ig), h.$dirty = !0, h.$pristine = !1, h.$$parentForm.$setDirty()
}, h.$setPristine = function () {
e.setClass(a, hg, ig + " " + Af), h.$dirty = !1, h.$pristine = !0, h.$submitted = !1, f(i, function (a) {
a.$setPristine()
})
}, h.$setUntouched = function () {
f(i, function (a) {
a.$setUntouched()
})
}, h.$setSubmitted = function () {
e.addClass(a, Af), h.$submitted = !0, h.$$parentForm.$setSubmitted()
}
}
function fd(a) {
a.$formatters.push(function (b) {
return a.$isEmpty(b) ? b : b.toString()
})
}
function gd(a, b, c, d, e, f) {
hd(a, b, c, d, e, f), fd(d)
}
function hd(a, b, c, d, e, f) {
var g = yd(b[0].type);
if (!e.android) {
var h = !1;
b.on("compositionstart", function (a) {
h = !0
}), b.on("compositionend", function () {
h = !1, i()
})
}
var i = function (a) {
if (j && (f.defer.cancel(j), j = null), !h) {
var e = b.val(), i = a && a.type;
"password" === g || c.ngTrim && "false" === c.ngTrim || (e = Sd(e)), (d.$viewValue !== e || "" === e && d.$$hasNativeValidators) && d.$setViewValue(e, i)
}
};
if (e.hasEvent("input"))b.on("input", i); else {
var j, k = function (a, b, c) {
j || (j = f.defer(function () {
j = null, b && b.value === c || i(a)
}))
};
b.on("keydown", function (a) {
var b = a.keyCode;
91 === b || b > 15 && 19 > b || b >= 37 && 40 >= b || k(a, this, this.value)
}), e.hasEvent("paste") && b.on("paste cut", k)
}
b.on("change", i), d.$render = function () {
var a = d.$isEmpty(d.$viewValue) ? "" : d.$viewValue;
b.val() !== a && b.val(a)
}
}
function id(a, b) {
if (z(a))return a;
if (x(a)) {
Kf.lastIndex = 0;
var c = Kf.exec(a);
if (c) {
var d = +c[1], e = +c[2], f = 0, g = 0, h = 0, i = 0, j = Uc(d), k = 7 * (e - 1);
return b && (f = b.getHours(), g = b.getMinutes(), h = b.getSeconds(), i = b.getMilliseconds()), new Date(d, 0, j.getDate() + k, f, g, h, i)
}
}
return NaN
}
function jd(a, b) {
return function (c, d) {
var e, g;
if (z(c))return c;
if (x(c)) {
if ('"' == c.charAt(0) && '"' == c.charAt(c.length - 1) && (c = c.substring(1, c.length - 1)), Ef.test(c))return new Date(c);
if (a.lastIndex = 0, e = a.exec(c))return e.shift(), g = d ? {yyyy: d.getFullYear(), MM: d.getMonth() + 1, dd: d.getDate(), HH: d.getHours(), mm: d.getMinutes(), ss: d.getSeconds(), sss: d.getMilliseconds() / 1e3} : {yyyy: 1970, MM: 1, dd: 1, HH: 0, mm: 0, ss: 0, sss: 0}, f(e, function (a, c) {
c < b.length && (g[b[c]] = +a)
}), new Date(g.yyyy, g.MM - 1, g.dd, g.HH, g.mm, g.ss || 0, 1e3 * g.sss || 0)
}
return NaN
}
}
function kd(a, b, d, e) {
return function (f, g, h, i, j, k, l) {
function m(a) {
return a && !(a.getTime && a.getTime() !== a.getTime())
}
function n(a) {
return u(a) && !z(a) ? d(a) || c : a
}
ld(f, g, h, i), hd(f, g, h, i, j, k);
var o, p = i && i.$options && i.$options.timezone;
if (i.$$parserName = a, i.$parsers.push(function (a) {
if (i.$isEmpty(a))return null;
if (b.test(a)) {
var e = d(a, o);
return p && (e = Z(e, p)), e
}
return c
}), i.$formatters.push(function (a) {
if (a && !z(a))throw mg("datefmt", "Expected `{0}` to be a date", a);
return m(a) ? (o = a, o && p && (o = Z(o, p, !0)), l("date")(a, e, p)) : (o = null, "")
}), u(h.min) || h.ngMin) {
var q;
i.$validators.min = function (a) {
return!m(a) || t(q) || d(a) >= q
}, h.$observe("min", function (a) {
q = n(a), i.$validate()
})
}
if (u(h.max) || h.ngMax) {
var r;
i.$validators.max = function (a) {
return!m(a) || t(r) || d(a) <= r
}, h.$observe("max", function (a) {
r = n(a), i.$validate()
})
}
}
}
function ld(a, b, d, e) {
var f = b[0], g = e.$$hasNativeValidators = v(f.validity);
g && e.$parsers.push(function (a) {
var d = b.prop(xd) || {};
return d.badInput && !d.typeMismatch ? c : a
})
}
function md(a, b, d, e, f, g) {
if (ld(a, b, d, e), hd(a, b, d, e, f, g), e.$$parserName = "number", e.$parsers.push(function (a) {
return e.$isEmpty(a) ? null : Hf.test(a) ? parseFloat(a) : c
}), e.$formatters.push(function (a) {
if (!e.$isEmpty(a)) {
if (!y(a))throw mg("numfmt", "Expected `{0}` to be a number", a);
a = a.toString()
}
return a
}), u(d.min) || d.ngMin) {
var h;
e.$validators.min = function (a) {
return e.$isEmpty(a) || t(h) || a >= h
}, d.$observe("min", function (a) {
u(a) && !y(a) && (a = parseFloat(a, 10)), h = y(a) && !isNaN(a) ? a : c, e.$validate()
})
}
if (u(d.max) || d.ngMax) {
var i;
e.$validators.max = function (a) {
return e.$isEmpty(a) || t(i) || i >= a
}, d.$observe("max", function (a) {
u(a) && !y(a) && (a = parseFloat(a, 10)), i = y(a) && !isNaN(a) ? a : c, e.$validate()
})
}
}
function nd(a, b, c, d, e, f) {
hd(a, b, c, d, e, f), fd(d), d.$$parserName = "url", d.$validators.url = function (a, b) {
var c = a || b;
return d.$isEmpty(c) || Ff.test(c)
}
}
function od(a, b, c, d, e, f) {
hd(a, b, c, d, e, f), fd(d), d.$$parserName = "email", d.$validators.email = function (a, b) {
var c = a || b;
return d.$isEmpty(c) || Gf.test(c)
}
}
function pd(a, b, c, d) {
t(c.name) && b.attr("name", i());
var e = function (a) {
b[0].checked && d.$setViewValue(c.value, a && a.type)
};
b.on("click", e), d.$render = function () {
var a = c.value;
b[0].checked = a == d.$viewValue
}, c.$observe("value", d.$render)
}
function qd(a, b, c, d, e) {
var f;
if (u(d)) {
if (f = a(d), !f.constant)throw mg("constexpr", "Expected constant expression for `{0}`, but saw `{1}`.", c, d);
return f(b)
}
return e
}
function rd(a, b, c, d, e, f, g, h) {
var i = qd(h, a, "ngTrueValue", c.ngTrueValue, !0), j = qd(h, a, "ngFalseValue", c.ngFalseValue, !1), k = function (a) {
d.$setViewValue(b[0].checked, a && a.type)
};
b.on("click", k), d.$render = function () {
b[0].checked = d.$viewValue
}, d.$isEmpty = function (a) {
return a === !1
}, d.$formatters.push(function (a) {
return Q(a, i)
}), d.$parsers.push(function (a) {
return a ? i : j
})
}
function sd(a, b) {
return a = "ngClass" + a, ["$animate", function (c) {
function d(a, b) {
var c = [];
a:for (var d = 0; d < a.length; d++) {
for (var e = a[d], f = 0; f < b.length; f++)if (e == b[f])continue a;
c.push(e)
}
return c
}
function e(a) {
var b = [];
return Qd(a) ? (f(a, function (a) {
b = b.concat(e(a))
}), b) : x(a) ? a.split(" ") : v(a) ? (f(a, function (a, c) {
a && (b = b.concat(c.split(" ")))
}), b) : a
}
return{restrict: "AC", link: function (g, h, i) {
function j(a) {
var b = l(a, 1);
i.$addClass(b)
}
function k(a) {
var b = l(a, -1);
i.$removeClass(b)
}
function l(a, b) {
var c = h.data("$classCounts") || qa(), d = [];
return f(a, function (a) {
(b > 0 || c[a]) && (c[a] = (c[a] || 0) + b, c[a] === +(b > 0) && d.push(a))
}), h.data("$classCounts", c), d.join(" ")
}
function m(a, b) {
var e = d(b, a), f = d(a, b);
e = l(e, 1), f = l(f, -1), e && e.length && c.addClass(h, e), f && f.length && c.removeClass(h, f)
}
function n(a) {
if (b === !0 || g.$index % 2 === b) {
var c = e(a || []);
if (o) {
if (!Q(a, o)) {
var d = e(o);
m(d, c)
}
} else j(c)
}
o = P(a)
}
var o;
g.$watch(i[a], n, !0), i.$observe("class", function (b) {
n(g.$eval(i[a]))
}), "ngClass" !== a && g.$watch("$index", function (c, d) {
var f = 1 & c;
if (f !== (1 & d)) {
var h = e(g.$eval(i[a]));
f === b ? j(h) : k(h)
}
})
}}
}]
}
function td(a) {
function b(a, b, i) {
t(b) ? d("$pending", a, i) : e("$pending", a, i), H(b) ? b ? (l(h.$error, a, i), k(h.$$success, a, i)) : (k(h.$error, a, i), l(h.$$success, a, i)) : (l(h.$error, a, i), l(h.$$success, a, i)), h.$pending ? (f(lg, !0), h.$valid = h.$invalid = c, g("", null)) : (f(lg, !1), h.$valid = ud(h.$error), h.$invalid = !h.$valid, g("", h.$valid));
var j;
j = h.$pending && h.$pending[a] ? c : h.$error[a] ? !1 : h.$$success[a] ? !0 : null, g(a, j), h.$$parentForm.$setValidity(a, j, h)
}
function d(a, b, c) {
h[a] || (h[a] = {}), k(h[a], b, c)
}
function e(a, b, d) {
h[a] && l(h[a], b, d), ud(h[a]) && (h[a] = c)
}
function f(a, b) {
b && !j[a] ? (m.addClass(i, a), j[a] = !0) : !b && j[a] && (m.removeClass(i, a), j[a] = !1)
}
function g(a, b) {
a = a ? "-" + ja(a, "-") : "", f(fg + a, b === !0), f(gg + a, b === !1)
}
var h = a.ctrl, i = a.$element, j = {}, k = a.set, l = a.unset, m = a.$animate;
j[gg] = !(j[fg] = i.hasClass(fg)), h.$setValidity = b
}
function ud(a) {
if (a)for (var b in a)if (a.hasOwnProperty(b))return!1;
return!0
}
function vd(a) {
a[0].hasAttribute("selected") && (a[0].selected = !0)
}
var wd = /^\/(.+)\/([a-z]*)$/, xd = "validity", yd = function (a) {
return x(a) ? a.toLowerCase() : a
}, zd = Object.prototype.hasOwnProperty, Ad = function (a) {
return x(a) ? a.toUpperCase() : a
}, Bd = function (a) {
return x(a) ? a.replace(/[A-Z]/g, function (a) {
return String.fromCharCode(32 | a.charCodeAt(0))
}) : a
}, Cd = function (a) {
return x(a) ? a.replace(/[a-z]/g, function (a) {
return String.fromCharCode(-33 & a.charCodeAt(0))
}) : a
};
"i" !== "I".toLowerCase() && (yd = Bd, Ad = Cd);
var Dd, Ed, Fd, Gd, Hd = [].slice, Id = [].splice, Jd = [].push, Kd = Object.prototype.toString, Ld = Object.getPrototypeOf, Md = d("ng"), Nd = a.angular || (a.angular = {}), Od = 0;
Dd = b.documentMode, p.$inject = [], q.$inject = [];
var Pd, Qd = Array.isArray, Rd = /^\[object (?:Uint8|Uint8Clamped|Uint16|Uint32|Int8|Int16|Int32|Float32|Float64)Array\]$/, Sd = function (a) {
return x(a) ? a.trim() : a
}, Td = function (a) {
return a.replace(/([-()\[\]{}+?*.$\^|,:# c; ++c)if (d = Wd[c], a = b.querySelector("[" + d.replace(":", "\\:") + "jq]")) {
e = a.getAttribute(d + "jq");
break
}
return Vd.name_ = e
}, Wd = ["ng-", "data-ng-", "ng:", "x-ng-"], Xd = /[A-Z]/g, Yd = !1, Zd = 1, $d = 2, _d = 3, ae = 8, be = 9, ce = 11, de = {full: "1.4.9", major: 1, minor: 4, dot: 9, codeName: "implicit-superannuation"};
Ca.expando = "ng339";
var ee = Ca.cache = {}, fe = 1, ge = function (a, b, c) {
a.addEventListener(b, c, !1)
}, he = function (a, b, c) {
a.removeEventListener(b, c, !1)
};
Ca._data = function (a) {
return this.cache[a[this.expando]] || {}
};
var ie = /([\:\-\_]+(.))/g, je = /^moz([A-Z])/, ke = {mouseleave: "mouseout", mouseenter: "mouseover"}, le = d("jqLite"), me = /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/, ne = /<|?\w+;/, oe = /<([\w:-]+)/, pe = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi, qe = {option: [1, '"], thead: [1, "
", "
"], col: [2, "
", "
"], tr: [2, "
", "
"], td: [3, "
", "
"], _default: [0, "", ""]};
qe.optgroup = qe.option, qe.tbody = qe.tfoot = qe.colgroup = qe.caption = qe.thead, qe.th = qe.td;
var re = Node.prototype.contains || function (a) {
return!!(16 & this.compareDocumentPosition(a))
}, se = Ca.prototype = {ready: function (c) {
function d() {
e || (e = !0, c())
}
var e = !1;
"complete" === b.readyState ? setTimeout(d) : (this.on("DOMContentLoaded", d), Ca(a).on("load", d))
}, toString: function () {
var a = [];
return f(this, function (b) {
a.push("" + b)
}), "[" + a.join(", ") + "]"
}, eq: function (a) {
return Ed(a >= 0 ? this[a] : this[this.length + a])
}, length: 0, push: Jd, sort: [].sort, splice: [].splice}, te = {};
f("multiple,selected,checked,disabled,readOnly,required,open".split(","), function (a) {
te[yd(a)] = a
});
var ue = {};
f("input,select,option,textarea,button,form,details".split(","), function (a) {
ue[a] = !0
});
var ve = {ngMinlength: "minlength",
ngMaxlength: "maxlength", ngMin: "min", ngMax: "max", ngPattern: "pattern"};
f({data: Ia, removeData: Ga, hasData: za}, function (a, b) {
Ca[b] = a
}), f({data: Ia, inheritedData: Oa, scope: function (a) {
return Ed.data(a, "$scope") || Oa(a.parentNode || a, ["$isolateScope", "$scope"])
}, isolateScope: function (a) {
return Ed.data(a, "$isolateScope") || Ed.data(a, "$isolateScopeNoTemplate")
}, controller: Na, injector: function (a) {
return Oa(a, "$injector")
}, removeAttr: function (a, b) {
a.removeAttribute(b)
}, hasClass: Ja, css: function (a, b, c) {
return b = wa(b), u(c) ? void(a.style[b] = c) : a.style[b]
}, attr: function (a, b, d) {
var e = a.nodeType;
if (e !== _d && e !== $d && e !== ae) {
var f = yd(b);
if (te[f]) {
if (!u(d))return a[b] || (a.attributes.getNamedItem(b) || p).specified ? f : c;
d ? (a[b] = !0, a.setAttribute(b, f)) : (a[b] = !1, a.removeAttribute(f))
} else if (u(d))a.setAttribute(b, d); else if (a.getAttribute) {
var g = a.getAttribute(b, 2);
return null === g ? c : g
}
}
}, prop: function (a, b, c) {
return u(c) ? void(a[b] = c) : a[b]
}, text: function () {
function a(a, b) {
if (t(b)) {
var c = a.nodeType;
return c === Zd || c === _d ? a.textContent : ""
}
a.textContent = b
}
return a.$dv = "", a
}(), val: function (a, b) {
if (t(b)) {
if (a.multiple && "select" === M(a)) {
var c = [];
return f(a.options, function (a) {
a.selected && c.push(a.value || a.text)
}), 0 === c.length ? null : c
}
return a.value
}
a.value = b
}, html: function (a, b) {
return t(b) ? a.innerHTML : (Ea(a, !0), void(a.innerHTML = b))
}, empty: Pa}, function (a, b) {
Ca.prototype[b] = function (b, c) {
var d, e, f = this.length;
if (a !== Pa && t(2 == a.length && a !== Ja && a !== Na ? b : c)) {
if (v(b)) {
for (d = 0; f > d; d++)if (a === Ia)a(this[d], b); else for (e in b)a(this[d], e, b[e]);
return this
}
for (var g = a.$dv, h = t(g) ? Math.min(f, 1) : f, i = 0; h > i; i++) {
var j = a(this[i], b, c);
g = g ? g + j : j
}
return g
}
for (d = 0; f > d; d++)a(this[d], b, c);
return this
}
}), f({removeData: Ga, on: function (a, b, d, e) {
if (u(e))throw le("onargs", "jqLite#on() does not support the `selector` or `eventData` parameters");
if (ya(a)) {
var f = Ha(a, !0), g = f.events, h = f.handle;
h || (h = f.handle = Ua(a, g));
for (var i = b.indexOf(" ") >= 0 ? b.split(" ") : [b], j = i.length, k = function (b, c, e) {
var f = g[b];
f || (f = g[b] = [], f.specialHandlerWrapper = c, "$destroy" === b || e || ge(a, b, h)), f.push(d)
}; j--;)b = i[j], ke[b] ? (k(ke[b], Wa), k(b, c, !0)) : k(b)
}
}, off: Fa, one: function (a, b, c) {
a = Ed(a), a.on(b, function d() {
a.off(b, c), a.off(b, d)
}), a.on(b, c)
}, replaceWith: function (a, b) {
var c, d = a.parentNode;
Ea(a), f(new Ca(b), function (b) {
c ? d.insertBefore(b, c.nextSibling) : d.replaceChild(b, a), c = b
})
}, children: function (a) {
var b = [];
return f(a.childNodes, function (a) {
a.nodeType === Zd && b.push(a)
}), b
}, contents: function (a) {
return a.contentDocument || a.childNodes || []
}, append: function (a, b) {
var c = a.nodeType;
if (c === Zd || c === ce) {
b = new Ca(b);
for (var d = 0, e = b.length; e > d; d++) {
var f = b[d];
a.appendChild(f)
}
}
}, prepend: function (a, b) {
if (a.nodeType === Zd) {
var c = a.firstChild;
f(new Ca(b), function (b) {
a.insertBefore(b, c)
})
}
}, wrap: function (a, b) {
b = Ed(b).eq(0).clone()[0];
var c = a.parentNode;
c && c.replaceChild(b, a), b.appendChild(a)
}, remove: Qa, detach: function (a) {
Qa(a, !0)
}, after: function (a, b) {
var c = a, d = a.parentNode;
b = new Ca(b);
for (var e = 0, f = b.length; f > e; e++) {
var g = b[e];
d.insertBefore(g, c.nextSibling), c = g
}
}, addClass: La, removeClass: Ka, toggleClass: function (a, b, c) {
b && f(b.split(" "), function (b) {
var d = c;
t(d) && (d = !Ja(a, b)), (d ? La : Ka)(a, b)
})
}, parent: function (a) {
var b = a.parentNode;
return b && b.nodeType !== ce ? b : null
}, next: function (a) {
return a.nextElementSibling
}, find: function (a, b) {
return a.getElementsByTagName ? a.getElementsByTagName(b) : []
}, clone: Da, triggerHandler: function (a, b, c) {
var d, e, g, h = b.type || b, i = Ha(a), j = i && i.events, k = j && j[h];
k && (d = {preventDefault: function () {
this.defaultPrevented = !0
}, isDefaultPrevented: function () {
return this.defaultPrevented === !0
}, stopImmediatePropagation: function () {
this.immediatePropagationStopped = !0
}, isImmediatePropagationStopped: function () {
return this.immediatePropagationStopped === !0
}, stopPropagation: p, type: h, target: a}, b.type && (d = l(d, b)), e = P(k), g = c ? [d].concat(c) : [d], f(e, function (b) {
d.isImmediatePropagationStopped() || b.apply(a, g)
}))
}}, function (a, b) {
Ca.prototype[b] = function (b, c, d) {
for (var e, f = 0, g = this.length; g > f; f++)t(e) ? (e = a(this[f], b, c, d), u(e) && (e = Ed(e))) : Ma(e, a(this[f], b, c, d));
return u(e) ? e : this
}, Ca.prototype.bind = Ca.prototype.on, Ca.prototype.unbind = Ca.prototype.off
}), Za.prototype = {put: function (a, b) {
this[Ya(a, this.nextUid)] = b
}, get: function (a) {
return this[Ya(a, this.nextUid)]
}, remove: function (a) {
var b = this[a = Ya(a, this.nextUid)];
return delete this[a], b
}};
var we = [function () {
this.$get = [function () {
return Za
}]
}], xe = /^[^\(]*\(\s*([^\)]*)\)/m, ye = /,/, ze = /^\s*(_?)(\S+?)\1\s*$/, Ae = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm, Be = d("$injector");
ab.$$annotate = _a;
var Ce = d("$animate"), De = 1, Ee = "ng-animate", Fe = function () {
this.$get = function () {
}
}, Ge = function () {
var a = new Za, b = [];
this.$get = ["$$AnimateRunner", "$rootScope", function (c, d) {
function e(a, b, c) {
var d = !1;
return b && (b = x(b) ? b.split(" ") : Qd(b) ? b : [], f(b, function (b) {
b && (d = !0, a[b] = c)
})), d
}
function g() {
f(b, function (b) {
var c = a.get(b);
if (c) {
var d = eb(b.attr("class")), e = "", g = "";
f(c, function (a, b) {
var c = !!d[b];
a !== c && (a ? e += (e.length ? " " : "") + b : g += (g.length ? " " : "") + b)
}), f(b, function (a) {
e && La(a, e), g && Ka(a, g)
}), a.remove(b)
}
}), b.length = 0
}
function h(c, f, h) {
var i = a.get(c) || {}, j = e(i, f, !0), k = e(i, h, !1);
(j || k) && (a.put(c, i), b.push(c), 1 === b.length && d.$$postDigest(g))
}
return{enabled: p, on: p, off: p, pin: p, push: function (a, b, d, e) {
e && e(), d = d || {}, d.from && a.css(d.from), d.to && a.css(d.to), (d.addClass || d.removeClass) && h(a, d.addClass, d.removeClass);
var f = new c;
return f.complete(), f
}}
}]
}, He = ["$provide", function (a) {
var b = this;
this.$$registeredAnimations = Object.create(null), this.register = function (c, d) {
if (c && "." !== c.charAt(0))throw Ce("notcsel", "Expecting class selector starting with '.' got '{0}'.", c);
var e = c + "-animation";
b.$$registeredAnimations[c.substr(1)] = e, a.factory(e, d)
}, this.classNameFilter = function (a) {
if (1 === arguments.length && (this.$$classNameFilter = a instanceof RegExp ? a : null, this.$$classNameFilter)) {
var b = new RegExp("(\\s+|\\/)" + Ee + "(\\s+|\\/)");
if (b.test(this.$$classNameFilter.toString()))throw Ce("nongcls", '$animateProvider.classNameFilter(regex) prohibits accepting a regex value which matches/contains the "{0}" CSS class.', Ee)
}
return this.$$classNameFilter
}, this.$get = ["$$animateQueue", function (a) {
function b(a, b, c) {
if (c) {
var d = db(c);
!d || d.parentNode || d.previousElementSibling || (c = null)
}
c ? c.after(a) : b.prepend(a)
}
return{on: a.on, off: a.off, pin: a.pin, enabled: a.enabled, cancel: function (a) {
a.end && a.end()
}, enter: function (c, d, e, f) {
return d = d && Ed(d), e = e && Ed(e), d = d || e.parent(), b(c, d, e), a.push(c, "enter", fb(f))
}, move: function (c, d, e, f) {
return d = d && Ed(d), e = e && Ed(e), d = d || e.parent(), b(c, d, e), a.push(c, "move", fb(f))
}, leave: function (b, c) {
return a.push(b, "leave", fb(c), function () {
b.remove()
})
}, addClass: function (b, c, d) {
return d = fb(d), d.addClass = cb(d.addclass, c), a.push(b, "addClass", d)
}, removeClass: function (b, c, d) {
return d = fb(d), d.removeClass = cb(d.removeClass, c), a.push(b, "removeClass", d)
}, setClass: function (b, c, d, e) {
return e = fb(e), e.addClass = cb(e.addClass, c), e.removeClass = cb(e.removeClass, d), a.push(b, "setClass", e)
}, animate: function (b, c, d, e, f) {
return f = fb(f), f.from = f.from ? l(f.from, c) : c, f.to = f.to ? l(f.to, d) : d, e = e || "ng-inline-animate", f.tempClasses = cb(f.tempClasses, e), a.push(b, "animate", f)
}}
}]
}], Ie = function () {
this.$get = ["$$rAF", function (a) {
function b(b) {
c.push(b), c.length > 1 || a(function () {
for (var a = 0; a < c.length; a++)c[a]();
c = []
})
}
var c = [];
return function () {
var a = !1;
return b(function () {
a = !0
}), function (c) {
a ? c() : b(c)
}
}
}]
}, Je = function () {
this.$get = ["$q", "$sniffer", "$$animateAsyncRun", "$document", "$timeout", function (a, b, c, d, e) {
function g(a) {
this.setHost(a);
var b = c(), f = function (a) {
e(a, 0, !1)
};
this._doneCallbacks = [], this._tick = function (a) {
var c = d[0];
c && c.hidden ? f(a) : b(a)
}, this._state = 0
}
var h = 0, i = 1, j = 2;
return g.chain = function (a, b) {
function c() {
return d === a.length ? void b(!0) : void a[d](function (a) {
return a === !1 ? void b(!1) : (d++, void c())
})
}
var d = 0;
c()
}, g.all = function (a, b) {
function c(c) {
e = e && c, ++d === a.length && b(e)
}
var d = 0, e = !0;
f(a, function (a) {
a.done(c)
})
}, g.prototype = {setHost: function (a) {
this.host = a || {}
}, done: function (a) {
this._state === j ? a() : this._doneCallbacks.push(a)
}, progress: p, getPromise: function () {
if (!this.promise) {
var b = this;
this.promise = a(function (a, c) {
b.done(function (b) {
b === !1 ? c() : a()
})
})
}
return this.promise
}, then: function (a, b) {
return this.getPromise().then(a, b)
}, "catch": function (a) {
return this.getPromise()["catch"](a)
}, "finally": function (a) {
return this.getPromise()["finally"](a)
}, pause: function () {
this.host.pause && this.host.pause()
}, resume: function () {
this.host.resume && this.host.resume()
}, end: function () {
this.host.end && this.host.end(), this._resolve(!0)
}, cancel: function () {
this.host.cancel && this.host.cancel(), this._resolve(!1)
}, complete: function (a) {
var b = this;
b._state === h && (b._state = i, b._tick(function () {
b._resolve(a)
}))
}, _resolve: function (a) {
this._state !== j && (f(this._doneCallbacks, function (b) {
b(a)
}), this._doneCallbacks.length = 0, this._state = j)
}}, g
}]
}, Ke = function () {
this.$get = ["$$rAF", "$q", "$$AnimateRunner", function (a, b, c) {
return function (b, d) {
function e() {
return a(function () {
f(), h || i.complete(), h = !0
}), i
}
function f() {
g.addClass && (b.addClass(g.addClass), g.addClass = null), g.removeClass && (b.removeClass(g.removeClass), g.removeClass = null), g.to && (b.css(g.to), g.to = null)
}
var g = d || {};
g.$$prepared || (g = O(g)), g.cleanupStyles && (g.from = g.to = null), g.from && (b.css(g.from), g.from = null);
var h, i = new c;
return{start: e, end: e}
}
}]
}, Le = d("$compile");
kb.$inject = ["$provide", "$$sanitizeUriProvider"];
var Me = /^((?:x|data)[\:\-_])/i, Ne = d("$controller"), Oe = /^(\S+)(\s+as\s+([\w$]+))?$/, Pe = function () {
this.$get = ["$document", function (a) {
return function (b) {
return b ? !b.nodeType && b instanceof Ed && (b = b[0]) : b = a[0].body, b.offsetWidth + 1
}
}]
}, Qe = "application/json", Re = {"Content-Type": Qe + ";charset=utf-8"}, Se = /^\[|^\{(?!\{)/, Te = {"[": /]$/, "{": /}$/}, Ue = /^\)\]\}',?\n/, Ve = d("$http"), We = function (a) {
return function () {
throw Ve("legacy", "The method `{0}` on the promise returned from `$http` has been disabled.", a)
}
}, Xe = Nd.$interpolateMinErr = d("$interpolate");
Xe.throwNoconcat = function (a) {
throw Xe("noconcat", "Error while interpolating: {0}\nStrict Contextual Escaping disallows interpolations that concatenate multiple expressions when a trusted value is required. See http://docs.angularjs.org/api/ng.$sce", a)
}, Xe.interr = function (a, b) {
return Xe("interr", "Can't interpolate: {0}\n{1}", a, b.toString())
};
var Ye = /^([^\?#]*)(\?([^#]*))?(#(.*))?$/, Ze = {http: 80, https: 443, ftp: 21}, $e = d("$location"), _e = {$$html5: !1, $$replace: !1, absUrl: Sb("$$absUrl"), url: function (a) {
if (t(a))return this.$$url;
var b = Ye.exec(a);
return(b[1] || "" === a) && this.path(decodeURIComponent(b[1])), (b[2] || b[1] || "" === a) && this.search(b[3] || ""), this.hash(b[5] || ""), this
}, protocol: Sb("$$protocol"), host: Sb("$$host"), port: Sb("$$port"), path: Tb("$$path", function (a) {
return a = null !== a ? a.toString() : "", "/" == a.charAt(0) ? a : "/" + a
}), search: function (a, b) {
switch (arguments.length) {
case 0:
return this.$$search;
case 1:
if (x(a) || y(a))a = a.toString(), this.$$search = aa(a); else {
if (!v(a))throw $e("isrcharg", "The first argument of the `$location#search()` call must be a string or an object.");
a = O(a, {}), f(a, function (b, c) {
null == b && delete a[c]
}), this.$$search = a
}
break;
default:
t(b) || null === b ? delete this.$$search[a] : this.$$search[a] = b
}
return this.$$compose(), this
}, hash: Tb("$$hash", function (a) {
return null !== a ? a.toString() : ""
}), replace: function () {
return this.$$replace = !0, this
}};
f([Rb, Qb, Pb], function (a) {
a.prototype = Object.create(_e), a.prototype.state = function (b) {
if (!arguments.length)return this.$$state;
if (a !== Pb || !this.$$html5)throw $e("nostate", "History API state support is available only in HTML5 mode and only in browsers supporting HTML5 History API");
return this.$$state = t(b) ? null : b, this
}
});
var af = d("$parse"), bf = Function.prototype.call, cf = Function.prototype.apply, df = Function.prototype.bind, ef = qa();
f("+ - * / % === !== == != < > <= >= && || ! = |".split(" "), function (a) {
ef[a] = !0
});
var ff = {n: "\n", f: "\f", r: "\r", t: " ", v: "", "'": "'", '"': '"'}, gf = function (a) {
this.options = a
};
gf.prototype = {constructor: gf, lex: function (a) {
for (this.text = a, this.index = 0, this.tokens = []; this.index < this.text.length;) {
var b = this.text.charAt(this.index);
if ('"' === b || "'" === b)this.readString(b); else if (this.isNumber(b) || "." === b && this.isNumber(this.peek()))this.readNumber(); else if (this.isIdent(b))this.readIdent(); else if (this.is(b, "(){}[].,;:?"))this.tokens.push({index: this.index, text: b}), this.index++; else if (this.isWhitespace(b))this.index++; else {
var c = b + this.peek(), d = c + this.peek(2), e = ef[b], f = ef[c], g = ef[d];
if (e || f || g) {
var h = g ? d : f ? c : b;
this.tokens.push({index: this.index, text: h, operator: !0}), this.index += h.length
} else this.throwError("Unexpected next character ", this.index, this.index + 1)
}
}
return this.tokens
}, is: function (a, b) {
return-1 !== b.indexOf(a)
}, peek: function (a) {
var b = a || 1;
return this.index + b < this.text.length ? this.text.charAt(this.index + b) : !1
}, isNumber: function (a) {
return a >= "0" && "9" >= a && "string" == typeof a
}, isWhitespace: function (a) {
return" " === a || "\r" === a || " " === a || "\n" === a || "" === a || "Â " === a
}, isIdent: function (a) {
return a >= "a" && "z" >= a || a >= "A" && "Z" >= a || "_" === a || "$" === a
}, isExpOperator: function (a) {
return"-" === a || "+" === a || this.isNumber(a)
}, throwError: function (a, b, c) {
c = c || this.index;
var d = u(b) ? "s " + b + "-" + this.index + " [" + this.text.substring(b, c) + "]" : " " + c;
throw af("lexerr", "Lexer Error: {0} at column{1} in expression [{2}].", a, d, this.text)
}, readNumber: function () {
for (var a = "", b = this.index; this.index < this.text.length;) {
var c = yd(this.text.charAt(this.index));
if ("." == c || this.isNumber(c))a += c; else {
var d = this.peek();
if ("e" == c && this.isExpOperator(d))a += c; else if (this.isExpOperator(c) && d && this.isNumber(d) && "e" == a.charAt(a.length - 1))a += c; else {
if (!this.isExpOperator(c) || d && this.isNumber(d) || "e" != a.charAt(a.length - 1))break;
this.throwError("Invalid exponent")
}
}
this.index++
}
this.tokens.push({index: b, text: a, constant: !0, value: Number(a)})
}, readIdent: function () {
for (var a = this.index; this.index < this.text.length;) {
var b = this.text.charAt(this.index);
if (!this.isIdent(b) && !this.isNumber(b))break;
this.index++
}
this.tokens.push({index: a, text: this.text.slice(a, this.index), identifier: !0})
}, readString: function (a) {
var b = this.index;
this.index++;
for (var c = "", d = a, e = !1; this.index < this.text.length;) {
var f = this.text.charAt(this.index);
if (d += f, e) {
if ("u" === f) {
var g = this.text.substring(this.index + 1, this.index + 5);
g.match(/[\da-f]{4}/i) || this.throwError("Invalid unicode escape [\\u" + g + "]"), this.index += 4, c += String.fromCharCode(parseInt(g, 16))
} else {
var h = ff[f];
c += h || f
}
e = !1
} else if ("\\" === f)e = !0; else {
if (f === a)return this.index++, void this.tokens.push({index: b, text: d, constant: !0, value: c});
c += f
}
this.index++
}
this.throwError("Unterminated quote", b)
}};
var hf = function (a, b) {
this.lexer = a, this.options = b
};
hf.Program = "Program", hf.ExpressionStatement = "ExpressionStatement", hf.AssignmentExpression = "AssignmentExpression", hf.ConditionalExpression = "ConditionalExpression", hf.LogicalExpression = "LogicalExpression", hf.BinaryExpression = "BinaryExpression", hf.UnaryExpression = "UnaryExpression", hf.CallExpression = "CallExpression", hf.MemberExpression = "MemberExpression", hf.Identifier = "Identifier", hf.Literal = "Literal", hf.ArrayExpression = "ArrayExpression", hf.Property = "Property", hf.ObjectExpression = "ObjectExpression", hf.ThisExpression = "ThisExpression", hf.NGValueParameter = "NGValueParameter", hf.prototype = {ast: function (a) {
this.text = a, this.tokens = this.lexer.lex(a);
var b = this.program();
return 0 !== this.tokens.length && this.throwError("is an unexpected token", this.tokens[0]), b
}, program: function () {
for (var a = []; ;)if (this.tokens.length > 0 && !this.peek("}", ")", ";", "]") && a.push(this.expressionStatement()), !this.expect(";"))return{type: hf.Program, body: a}
}, expressionStatement: function () {
return{type: hf.ExpressionStatement, expression: this.filterChain()}
}, filterChain: function () {
for (var a, b = this.expression(); a = this.expect("|");)b = this.filter(b);
return b
}, expression: function () {
return this.assignment()
}, assignment: function () {
var a = this.ternary();
return this.expect("=") && (a = {type: hf.AssignmentExpression, left: a, right: this.assignment(), operator: "="}), a
}, ternary: function () {
var a, b, c = this.logicalOR();
return this.expect("?") && (a = this.expression(), this.consume(":")) ? (b = this.expression(), {type: hf.ConditionalExpression, test: c, alternate: a, consequent: b}) : c
}, logicalOR: function () {
for (var a = this.logicalAND(); this.expect("||");)a = {type: hf.LogicalExpression, operator: "||", left: a, right: this.logicalAND()};
return a
}, logicalAND: function () {
for (var a = this.equality(); this.expect("&&");)a = {type: hf.LogicalExpression, operator: "&&", left: a, right: this.equality()};
return a
}, equality: function () {
for (var a, b = this.relational(); a = this.expect("==", "!=", "===", "!==");)b = {type: hf.BinaryExpression, operator: a.text, left: b, right: this.relational()};
return b
}, relational: function () {
for (var a, b = this.additive(); a = this.expect("<", ">", "<=", ">=");)b = {type: hf.BinaryExpression, operator: a.text, left: b, right: this.additive()};
return b
}, additive: function () {
for (var a, b = this.multiplicative(); a = this.expect("+", "-");)b = {type: hf.BinaryExpression, operator: a.text, left: b, right: this.multiplicative()};
return b
}, multiplicative: function () {
for (var a, b = this.unary(); a = this.expect("*", "/", "%");)b = {type: hf.BinaryExpression, operator: a.text, left: b, right: this.unary()};
return b
}, unary: function () {
var a;
return(a = this.expect("+", "-", "!")) ? {type: hf.UnaryExpression, operator: a.text, prefix: !0, argument: this.unary()} : this.primary()
}, primary: function () {
var a;
this.expect("(") ? (a = this.filterChain(), this.consume(")")) : this.expect("[") ? a = this.arrayDeclaration() : this.expect("{") ? a = this.object() : this.constants.hasOwnProperty(this.peek().text) ? a = O(this.constants[this.consume().text]) : this.peek().identifier ? a = this.identifier() : this.peek().constant ? a = this.constant() : this.throwError("not a primary expression", this.peek());
for (var b; b = this.expect("(", "[", ".");)"(" === b.text ? (a = {type: hf.CallExpression, callee: a, arguments: this.parseArguments()}, this.consume(")")) : "[" === b.text ? (a = {type: hf.MemberExpression, object: a, property: this.expression(), computed: !0}, this.consume("]")) : "." === b.text ? a = {type: hf.MemberExpression, object: a, property: this.identifier(), computed: !1} : this.throwError("IMPOSSIBLE");
return a
}, filter: function (a) {
for (var b = [a], c = {type: hf.CallExpression, callee: this.identifier(), arguments: b, filter: !0}; this.expect(":");)b.push(this.expression());
return c
}, parseArguments: function () {
var a = [];
if (")" !== this.peekToken().text)do a.push(this.expression()); while (this.expect(","));
return a
}, identifier: function () {
var a = this.consume();
return a.identifier || this.throwError("is not a valid identifier", a), {type: hf.Identifier, name: a.text}
}, constant: function () {
return{type: hf.Literal, value: this.consume().value}
}, arrayDeclaration: function () {
var a = [];
if ("]" !== this.peekToken().text)do {
if (this.peek("]"))break;
a.push(this.expression())
} while (this.expect(","));
return this.consume("]"), {type: hf.ArrayExpression, elements: a}
}, object: function () {
var a, b = [];
if ("}" !== this.peekToken().text)do {
if (this.peek("}"))break;
a = {type: hf.Property, kind: "init"}, this.peek().constant ? a.key = this.constant() : this.peek().identifier ? a.key = this.identifier() : this.throwError("invalid key", this.peek()), this.consume(":"), a.value = this.expression(), b.push(a)
} while (this.expect(","));
return this.consume("}"), {type: hf.ObjectExpression, properties: b}
}, throwError: function (a, b) {
throw af("syntax", "Syntax Error: Token '{0}' {1} at column {2} of the expression [{3}] starting at [{4}].", b.text, a, b.index + 1, this.text, this.text.substring(b.index))
}, consume: function (a) {
if (0 === this.tokens.length)throw af("ueoe", "Unexpected end of expression: {0}", this.text);
var b = this.expect(a);
return b || this.throwError("is unexpected, expecting [" + a + "]", this.peek()), b
}, peekToken: function () {
if (0 === this.tokens.length)throw af("ueoe", "Unexpected end of expression: {0}", this.text);
return this.tokens[0]
}, peek: function (a, b, c, d) {
return this.peekAhead(0, a, b, c, d)
}, peekAhead: function (a, b, c, d, e) {
if (this.tokens.length > a) {
var f = this.tokens[a], g = f.text;
if (g === b || g === c || g === d || g === e || !b && !c && !d && !e)return f
}
return!1
}, expect: function (a, b, c, d) {
var e = this.peek(a, b, c, d);
return e ? (this.tokens.shift(), e) : !1
}, constants: {"true": {type: hf.Literal, value: !0}, "false": {type: hf.Literal, value: !1}, "null": {type: hf.Literal, value: null}, undefined: {type: hf.Literal, value: c}, "this": {type: hf.ThisExpression}}}, ic.prototype = {compile: function (a, b) {
var d = this, e = this.astBuilder.ast(a);
this.state = {nextId: 0, filters: {}, expensiveChecks: b, fn: {vars: [], body: [], own: {}}, assign: {vars: [], body: [], own: {}}, inputs: []}, cc(e, d.$filter);
var g, h = "";
if (this.stage = "assign", g = fc(e)) {
this.state.computing = "assign";
var i = this.nextId();
this.recurse(g, i), this.return_(i), h = "fn.assign=" + this.generateFunction("assign", "s,v,l")
}
var j = dc(e.body);
d.stage = "inputs", f(j, function (a, b) {
var c = "fn" + b;
d.state[c] = {vars: [], body: [], own: {}}, d.state.computing = c;
var e = d.nextId();
d.recurse(a, e), d.return_(e), d.state.inputs.push(c), a.watchId = b
}), this.state.computing = "fn", this.stage = "main", this.recurse(e);
var k = '"' + this.USE + " " + this.STRICT + '";\n' + this.filterPrefix() + "var fn=" + this.generateFunction("fn", "s,l,a,i") + h + this.watchFns() + "return fn;", l = new Function("$filter", "ensureSafeMemberName", "ensureSafeObject", "ensureSafeFunction", "getStringValue", "ensureSafeAssignContext", "ifDefined", "plus", "text", k)(this.$filter, Wb, Yb, Zb, Xb, $b, _b, ac, a);
return this.state = this.stage = c, l.literal = gc(e), l.constant = hc(e), l
}, USE: "use", STRICT: "strict", watchFns: function () {
var a = [], b = this.state.inputs, c = this;
return f(b, function (b) {
a.push("var " + b + "=" + c.generateFunction(b, "s"))
}), b.length && a.push("fn.inputs=[" + b.join(",") + "];"), a.join("")
}, generateFunction: function (a, b) {
return"function(" + b + "){" + this.varsPrefix(a) + this.body(a) + "};"
}, filterPrefix: function () {
var a = [], b = this;
return f(this.state.filters, function (c, d) {
a.push(c + "=$filter(" + b.escape(d) + ")")
}), a.length ? "var " + a.join(",") + ";" : ""
}, varsPrefix: function (a) {
return this.state[a].vars.length ? "var " + this.state[a].vars.join(",") + ";" : ""
}, body: function (a) {
return this.state[a].body.join("")
}, recurse: function (a, b, d, e, g, h) {
var i, j, k, l, m = this;
if (e = e || p, !h && u(a.watchId))return b = b || this.nextId(), void this.if_("i", this.lazyAssign(b, this.computedMember("i", a.watchId)), this.lazyRecurse(a, b, d, e, g, !0));
switch (a.type) {
case hf.Program:
f(a.body, function (b, d) {
m.recurse(b.expression, c, c, function (a) {
j = a
}), d !== a.body.length - 1 ? m.current().body.push(j, ";") : m.return_(j)
});
break;
case hf.Literal:
l = this.escape(a.value), this.assign(b, l), e(l);
break;
case hf.UnaryExpression:
this.recurse(a.argument, c, c, function (a) {
j = a
}), l = a.operator + "(" + this.ifDefined(j, 0) + ")", this.assign(b, l), e(l);
break;
case hf.BinaryExpression:
this.recurse(a.left, c, c, function (a) {
i = a
}), this.recurse(a.right, c, c, function (a) {
j = a
}), l = "+" === a.operator ? this.plus(i, j) : "-" === a.operator ? this.ifDefined(i, 0) + a.operator + this.ifDefined(j, 0) : "(" + i + ")" + a.operator + "(" + j + ")", this.assign(b, l), e(l);
break;
case hf.LogicalExpression:
b = b || this.nextId(), m.recurse(a.left, b), m.if_("&&" === a.operator ? b : m.not(b), m.lazyRecurse(a.right, b)), e(b);
break;
case hf.ConditionalExpression:
b = b || this.nextId(), m.recurse(a.test, b), m.if_(b, m.lazyRecurse(a.alternate, b), m.lazyRecurse(a.consequent, b)), e(b);
break;
case hf.Identifier:
b = b || this.nextId(), d && (d.context = "inputs" === m.stage ? "s" : this.assign(this.nextId(), this.getHasOwnProperty("l", a.name) + "?l:s"), d.computed = !1, d.name = a.name), Wb(a.name), m.if_("inputs" === m.stage || m.not(m.getHasOwnProperty("l", a.name)), function () {
m.if_("inputs" === m.stage || "s", function () {
g && 1 !== g && m.if_(m.not(m.nonComputedMember("s", a.name)), m.lazyAssign(m.nonComputedMember("s", a.name), "{}")), m.assign(b, m.nonComputedMember("s", a.name))
})
}, b && m.lazyAssign(b, m.nonComputedMember("l", a.name))), (m.state.expensiveChecks || kc(a.name)) && m.addEnsureSafeObject(b), e(b);
break;
case hf.MemberExpression:
i = d && (d.context = this.nextId()) || this.nextId(), b = b || this.nextId(), m.recurse(a.object, i, c, function () {
m.if_(m.notNull(i), function () {
a.computed ? (j = m.nextId(), m.recurse(a.property, j), m.getStringValue(j), m.addEnsureSafeMemberName(j), g && 1 !== g && m.if_(m.not(m.computedMember(i, j)), m.lazyAssign(m.computedMember(i, j), "{}")), l = m.ensureSafeObject(m.computedMember(i, j)), m.assign(b, l), d && (d.computed = !0, d.name = j)) : (Wb(a.property.name), g && 1 !== g && m.if_(m.not(m.nonComputedMember(i, a.property.name)), m.lazyAssign(m.nonComputedMember(i, a.property.name), "{}")), l = m.nonComputedMember(i, a.property.name), (m.state.expensiveChecks || kc(a.property.name)) && (l = m.ensureSafeObject(l)), m.assign(b, l), d && (d.computed = !1, d.name = a.property.name))
}, function () {
m.assign(b, "undefined")
}), e(b)
}, !!g);
break;
case hf.CallExpression:
b = b || this.nextId(), a.filter ? (j = m.filter(a.callee.name), k = [], f(a.arguments, function (a) {
var b = m.nextId();
m.recurse(a, b), k.push(b)
}), l = j + "(" + k.join(",") + ")", m.assign(b, l), e(b)) : (j = m.nextId(), i = {}, k = [], m.recurse(a.callee, j, i, function () {
m.if_(m.notNull(j), function () {
m.addEnsureSafeFunction(j), f(a.arguments, function (a) {
m.recurse(a, m.nextId(), c, function (a) {
k.push(m.ensureSafeObject(a))
})
}), i.name ? (m.state.expensiveChecks || m.addEnsureSafeObject(i.context), l = m.member(i.context, i.name, i.computed) + "(" + k.join(",") + ")") : l = j + "(" + k.join(",") + ")", l = m.ensureSafeObject(l), m.assign(b, l)
}, function () {
m.assign(b, "undefined")
}), e(b)
}));
break;
case hf.AssignmentExpression:
if (j = this.nextId(), i = {}, !ec(a.left))throw af("lval", "Trying to assign a value to a non l-value");
this.recurse(a.left, c, i, function () {
m.if_(m.notNull(i.context), function () {
m.recurse(a.right, j), m.addEnsureSafeObject(m.member(i.context, i.name, i.computed)), m.addEnsureSafeAssignContext(i.context), l = m.member(i.context, i.name, i.computed) + a.operator + j, m.assign(b, l), e(b || l)
})
}, 1);
break;
case hf.ArrayExpression:
k = [], f(a.elements, function (a) {
m.recurse(a, m.nextId(), c, function (a) {
k.push(a)
})
}), l = "[" + k.join(",") + "]", this.assign(b, l), e(l);
break;
case hf.ObjectExpression:
k = [], f(a.properties, function (a) {
m.recurse(a.value, m.nextId(), c, function (b) {
k.push(m.escape(a.key.type === hf.Identifier ? a.key.name : "" + a.key.value) + ":" + b)
})
}), l = "{" + k.join(",") + "}", this.assign(b, l), e(l);
break;
case hf.ThisExpression:
this.assign(b, "s"), e("s");
break;
case hf.NGValueParameter:
this.assign(b, "v"), e("v")
}
}, getHasOwnProperty: function (a, b) {
var c = a + "." + b, d = this.current().own;
return d.hasOwnProperty(c) || (d[c] = this.nextId(!1, a + "&&(" + this.escape(b) + " in " + a + ")")), d[c]
}, assign: function (a, b) {
return a ? (this.current().body.push(a, "=", b, ";"), a) : void 0
}, filter: function (a) {
return this.state.filters.hasOwnProperty(a) || (this.state.filters[a] = this.nextId(!0)), this.state.filters[a]
}, ifDefined: function (a, b) {
return"ifDefined(" + a + "," + this.escape(b) + ")"
}, plus: function (a, b) {
return"plus(" + a + "," + b + ")"
}, return_: function (a) {
this.current().body.push("return ", a, ";")
}, if_: function (a, b, c) {
if (a === !0)b(); else {
var d = this.current().body;
d.push("if(", a, "){"), b(), d.push("}"), c && (d.push("else{"), c(), d.push("}"))
}
}, not: function (a) {
return"!(" + a + ")"
}, notNull: function (a) {
return a + "!=null"
}, nonComputedMember: function (a, b) {
return a + "." + b
}, computedMember: function (a, b) {
return a + "[" + b + "]"
}, member: function (a, b, c) {
return c ? this.computedMember(a, b) : this.nonComputedMember(a, b)
}, addEnsureSafeObject: function (a) {
this.current().body.push(this.ensureSafeObject(a), ";")
}, addEnsureSafeMemberName: function (a) {
this.current().body.push(this.ensureSafeMemberName(a), ";")
}, addEnsureSafeFunction: function (a) {
this.current().body.push(this.ensureSafeFunction(a), ";")
}, addEnsureSafeAssignContext: function (a) {
this.current().body.push(this.ensureSafeAssignContext(a), ";")
}, ensureSafeObject: function (a) {
return"ensureSafeObject(" + a + ",text)"
}, ensureSafeMemberName: function (a) {
return"ensureSafeMemberName(" + a + ",text)"
}, ensureSafeFunction: function (a) {
return"ensureSafeFunction(" + a + ",text)"
}, getStringValue: function (a) {
this.assign(a, "getStringValue(" + a + ",text)")
}, ensureSafeAssignContext: function (a) {
return"ensureSafeAssignContext(" + a + ",text)"
}, lazyRecurse: function (a, b, c, d, e, f) {
var g = this;
return function () {
g.recurse(a, b, c, d, e, f)
}
}, lazyAssign: function (a, b) {
var c = this;
return function () {
c.assign(a, b)
}
}, stringEscapeRegex: /[^ a-zA-Z0-9]/g, stringEscapeFn: function (a) {
return"\\u" + ("0000" + a.charCodeAt(0).toString(16)).slice(-4)
}, escape: function (a) {
if (x(a))return"'" + a.replace(this.stringEscapeRegex, this.stringEscapeFn) + "'";
if (y(a))return a.toString();
if (a === !0)return"true";
if (a === !1)return"false";
if (null === a)return"null";
if ("undefined" == typeof a)return"undefined";
throw af("esc", "IMPOSSIBLE")
}, nextId: function (a, b) {
var c = "v" + this.state.nextId++;
return a || this.current().vars.push(c + (b ? "=" + b : "")), c
}, current: function () {
return this.state[this.state.computing]
}}, jc.prototype = {compile: function (a, b) {
var c = this, d = this.astBuilder.ast(a);
this.expression = a, this.expensiveChecks = b, cc(d, c.$filter);
var e, g;
(e = fc(d)) && (g = this.recurse(e));
var h, i = dc(d.body);
i && (h = [], f(i, function (a, b) {
var d = c.recurse(a);
a.input = d, h.push(d), a.watchId = b
}));
var j = [];
f(d.body, function (a) {
j.push(c.recurse(a.expression))
});
var k = 0 === d.body.length ? function () {
} : 1 === d.body.length ? j[0] : function (a, b) {
var c;
return f(j, function (d) {
c = d(a, b)
}), c
};
return g && (k.assign = function (a, b, c) {
return g(a, c, b)
}), h && (k.inputs = h), k.literal = gc(d), k.constant = hc(d), k
}, recurse: function (a, b, d) {
var e, g, h, i = this;
if (a.input)return this.inputs(a.input, a.watchId);
switch (a.type) {
case hf.Literal:
return this.value(a.value, b);
case hf.UnaryExpression:
return g = this.recurse(a.argument), this["unary" + a.operator](g, b);
case hf.BinaryExpression:
return e = this.recurse(a.left), g = this.recurse(a.right), this["binary" + a.operator](e, g, b);
case hf.LogicalExpression:
return e = this.recurse(a.left), g = this.recurse(a.right), this["binary" + a.operator](e, g, b);
case hf.ConditionalExpression:
return this["ternary?:"](this.recurse(a.test), this.recurse(a.alternate), this.recurse(a.consequent), b);
case hf.Identifier:
return Wb(a.name, i.expression), i.identifier(a.name, i.expensiveChecks || kc(a.name), b, d, i.expression);
case hf.MemberExpression:
return e = this.recurse(a.object, !1, !!d), a.computed || (Wb(a.property.name, i.expression), g = a.property.name), a.computed && (g = this.recurse(a.property)), a.computed ? this.computedMember(e, g, b, d, i.expression) : this.nonComputedMember(e, g, i.expensiveChecks, b, d, i.expression);
case hf.CallExpression:
return h = [], f(a.arguments, function (a) {
h.push(i.recurse(a))
}), a.filter && (g = this.$filter(a.callee.name)), a.filter || (g = this.recurse(a.callee, !0)), a.filter ? function (a, d, e, f) {
for (var i = [], j = 0; j < h.length; ++j)i.push(h[j](a, d, e, f));
var k = g.apply(c, i, f);
return b ? {context: c, name: c, value: k} : k
} : function (a, c, d, e) {
var f, j = g(a, c, d, e);
if (null != j.value) {
Yb(j.context, i.expression), Zb(j.value, i.expression);
for (var k = [], l = 0; l < h.length; ++l)k.push(Yb(h[l](a, c, d, e), i.expression));
f = Yb(j.value.apply(j.context, k), i.expression)
}
return b ? {value: f} : f
};
case hf.AssignmentExpression:
return e = this.recurse(a.left, !0, 1), g = this.recurse(a.right), function (a, c, d, f) {
var h = e(a, c, d, f), j = g(a, c, d, f);
return Yb(h.value, i.expression), $b(h.context), h.context[h.name] = j, b ? {value: j} : j
};
case hf.ArrayExpression:
return h = [], f(a.elements, function (a) {
h.push(i.recurse(a))
}), function (a, c, d, e) {
for (var f = [], g = 0; g < h.length; ++g)f.push(h[g](a, c, d, e));
return b ? {value: f} : f
};
case hf.ObjectExpression:
return h = [], f(a.properties, function (a) {
h.push({key: a.key.type === hf.Identifier ? a.key.name : "" + a.key.value, value: i.recurse(a.value)})
}), function (a, c, d, e) {
for (var f = {}, g = 0; g < h.length; ++g)f[h[g].key] = h[g].value(a, c, d, e);
return b ? {value: f} : f
};
case hf.ThisExpression:
return function (a) {
return b ? {value: a} : a
};
case hf.NGValueParameter:
return function (a, c, d, e) {
return b ? {value: d} : d
}
}
}, "unary+": function (a, b) {
return function (c, d, e, f) {
var g = a(c, d, e, f);
return g = u(g) ? +g : 0, b ? {value: g} : g
}
}, "unary-": function (a, b) {
return function (c, d, e, f) {
var g = a(c, d, e, f);
return g = u(g) ? -g : 0, b ? {value: g} : g
}
}, "unary!": function (a, b) {
return function (c, d, e, f) {
var g = !a(c, d, e, f);
return b ? {value: g} : g
}
}, "binary+": function (a, b, c) {
return function (d, e, f, g) {
var h = a(d, e, f, g), i = b(d, e, f, g), j = ac(h, i);
return c ? {value: j} : j
}
}, "binary-": function (a, b, c) {
return function (d, e, f, g) {
var h = a(d, e, f, g), i = b(d, e, f, g), j = (u(h) ? h : 0) - (u(i) ? i : 0);
return c ? {value: j} : j
}
}, "binary*": function (a, b, c) {
return function (d, e, f, g) {
var h = a(d, e, f, g) * b(d, e, f, g);
return c ? {value: h} : h
}
}, "binary/": function (a, b, c) {
return function (d, e, f, g) {
var h = a(d, e, f, g) / b(d, e, f, g);
return c ? {value: h} : h
}
}, "binary%": function (a, b, c) {
return function (d, e, f, g) {
var h = a(d, e, f, g) % b(d, e, f, g);
return c ? {value: h} : h
}
}, "binary===": function (a, b, c) {
return function (d, e, f, g) {
var h = a(d, e, f, g) === b(d, e, f, g);
return c ? {value: h} : h
}
}, "binary!==": function (a, b, c) {
return function (d, e, f, g) {
var h = a(d, e, f, g) !== b(d, e, f, g);
return c ? {value: h} : h
}
}, "binary==": function (a, b, c) {
return function (d, e, f, g) {
var h = a(d, e, f, g) == b(d, e, f, g);
return c ? {value: h} : h
}
}, "binary!=": function (a, b, c) {
return function (d, e, f, g) {
var h = a(d, e, f, g) != b(d, e, f, g);
return c ? {value: h} : h
}
}, "binary<": function (a, b, c) {
return function (d, e, f, g) {
var h = a(d, e, f, g) < b(d, e, f, g);
return c ? {value: h} : h
}
}, "binary>": function (a, b, c) {
return function (d, e, f, g) {
var h = a(d, e, f, g) > b(d, e, f, g);
return c ? {value: h} : h
}
}, "binary<=": function (a, b, c) {
return function (d, e, f, g) {
var h = a(d, e, f, g) <= b(d, e, f, g);
return c ? {value: h} : h
}
}, "binary>=": function (a, b, c) {
return function (d, e, f, g) {
var h = a(d, e, f, g) >= b(d, e, f, g);
return c ? {value: h} : h
}
}, "binary&&": function (a, b, c) {
return function (d, e, f, g) {
var h = a(d, e, f, g) && b(d, e, f, g);
return c ? {value: h} : h
}
}, "binary||": function (a, b, c) {
return function (d, e, f, g) {
var h = a(d, e, f, g) || b(d, e, f, g);
return c ? {value: h} : h
}
}, "ternary?:": function (a, b, c, d) {
return function (e, f, g, h) {
var i = a(e, f, g, h) ? b(e, f, g, h) : c(e, f, g, h);
return d ? {value: i} : i
}
}, value: function (a, b) {
return function () {
return b ? {context: c, name: c, value: a} : a
}
}, identifier: function (a, b, d, e, f) {
return function (g, h, i, j) {
var k = h && a in h ? h : g;
e && 1 !== e && k && !k[a] && (k[a] = {});
var l = k ? k[a] : c;
return b && Yb(l, f), d ? {context: k, name: a, value: l} : l
}
}, computedMember: function (a, b, c, d, e) {
return function (f, g, h, i) {
var j, k, l = a(f, g, h, i);
return null != l && (j = b(f, g, h, i), j = Xb(j), Wb(j, e), d && 1 !== d && l && !l[j] && (l[j] = {}), k = l[j], Yb(k, e)), c ? {context: l, name: j, value: k} : k
}
}, nonComputedMember: function (a, b, d, e, f, g) {
return function (h, i, j, k) {
var l = a(h, i, j, k);
f && 1 !== f && l && !l[b] && (l[b] = {});
var m = null != l ? l[b] : c;
return(d || kc(b)) && Yb(m, g), e ? {context: l, name: b, value: m} : m
}
}, inputs: function (a, b) {
return function (c, d, e, f) {
return f ? f[b] : a(c, d, e)
}
}};
var jf = function (a, b, c) {
this.lexer = a, this.$filter = b, this.options = c, this.ast = new hf(this.lexer), this.astCompiler = c.csp ? new jc(this.ast, b) : new ic(this.ast, b)
};
jf.prototype = {constructor: jf, parse: function (a) {
return this.astCompiler.compile(a, this.options.expensiveChecks)
}};
var kf = Object.prototype.valueOf, lf = d("$sce"), mf = {HTML: "html", CSS: "css", URL: "url", RESOURCE_URL: "resourceUrl", JS: "js"}, Le = d("$compile"), nf = b.createElement("a"), of = Bc(a.location.href);
Ec.$inject = ["$document"], Gc.$inject = ["$provide"];
var pf = 22, qf = ".", rf = "0";
Lc.$inject = ["$locale"], Mc.$inject = ["$locale"];
var sf = {yyyy: Rc("FullYear", 4), yy: Rc("FullYear", 2, 0, !0), y: Rc("FullYear", 1), MMMM: Sc("Month"), MMM: Sc("Month", !0), MM: Rc("Month", 2, 1), M: Rc("Month", 1, 1), dd: Rc("Date", 2), d: Rc("Date", 1), HH: Rc("Hours", 2), H: Rc("Hours", 1), hh: Rc("Hours", 2, -12), h: Rc("Hours", 1, -12), mm: Rc("Minutes", 2), m: Rc("Minutes", 1), ss: Rc("Seconds", 2), s: Rc("Seconds", 1), sss: Rc("Milliseconds", 3), EEEE: Sc("Day"), EEE: Sc("Day", !0), a: Xc, Z: Tc, ww: Wc(2), w: Wc(1), G: Yc, GG: Yc, GGG: Yc, GGGG: Zc}, tf = /((?:[^yMdHhmsaZEwG']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z|G+|w+))(.*)/, uf = /^\-?\d+$/;
$c.$inject = ["$locale"];
var vf = r(yd), wf = r(Ad);
bd.$inject = ["$parse"];
var xf = r({restrict: "E", compile: function (a, b) {
return b.href || b.xlinkHref ? void 0 : function (a, b) {
if ("a" === b[0].nodeName.toLowerCase()) {
var c = "[object SVGAnimatedString]" === Kd.call(b.prop("href")) ? "xlink:href" : "href";
b.on("click", function (a) {
b.attr(c) || a.preventDefault()
})
}
}
}}), yf = {};
f(te, function (a, b) {
function c(a, c, e) {
a.$watch(e[d], function (a) {
e.$set(b, !!a)
})
}
if ("multiple" != a) {
var d = lb("ng-" + b), e = c;
"checked" === a && (e = function (a, b, e) {
e.ngModel !== e[d] && c(a, b, e)
}), yf[d] = function () {
return{restrict: "A", priority: 100, link: e}
}
}
}), f(ve, function (a, b) {
yf[b] = function () {
return{priority: 100, link: function (a, c, d) {
if ("ngPattern" === b && "/" == d.ngPattern.charAt(0)) {
var e = d.ngPattern.match(wd);
if (e)return void d.$set("ngPattern", new RegExp(e[1], e[2]))
}
a.$watch(d[b], function (a) {
d.$set(b, a)
})
}}
}
}), f(["src", "srcset", "href"], function (a) {
var b = lb("ng-" + a);
yf[b] = function () {
return{priority: 99, link: function (c, d, e) {
var f = a, g = a;
"href" === a && "[object SVGAnimatedString]" === Kd.call(d.prop("href")) && (g = "xlinkHref", e.$attr[g] = "xlink:href", f = null), e.$observe(b, function (b) {
return b ? (e.$set(g, b), void(Dd && f && d.prop(f, e[g]))) : void("href" === a && e.$set(g, null))
})
}}
}
});
var zf = {$addControl: p, $$renameControl: dd, $removeControl: p, $setValidity: p, $setDirty: p, $setPristine: p, $setSubmitted: p}, Af = "ng-submitted";
ed.$inject = ["$element", "$attrs", "$scope", "$animate", "$interpolate"];
var Bf = function (a) {
return["$timeout", "$parse", function (b, d) {
function e(a) {
return"" === a ? d('this[""]').assign : d(a).assign || p
}
var f = {name: "form", restrict: a ? "EAC" : "E", require: ["form", "^^?form"], controller: ed, compile: function (d, f) {
d.addClass(hg).addClass(fg);
var g = f.name ? "name" : a && f.ngForm ? "ngForm" : !1;
return{pre: function (a, d, f, h) {
var i = h[0];
if (!("action"in f)) {
var j = function (b) {
a.$apply(function () {
i.$commitViewValue(), i.$setSubmitted()
}), b.preventDefault()
};
ge(d[0], "submit", j), d.on("$destroy", function () {
b(function () {
he(d[0], "submit", j)
}, 0, !1)
})
}
var k = h[1] || i.$$parentForm;
k.$addControl(i);
var m = g ? e(i.$name) : p;
g && (m(a, i), f.$observe(g, function (b) {
i.$name !== b && (m(a, c), i.$$parentForm.$$renameControl(i, b), (m = e(i.$name))(a, i))
})), d.on("$destroy", function () {
i.$$parentForm.$removeControl(i), m(a, c), l(i, zf)
})
}}
}};
return f
}]
}, Cf = Bf(), Df = Bf(!0), Ef = /\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)/, Ff = /^[a-z][a-z\d.+-]*:\/*(?:[^:@]+(?::[^@]+)?@)?(?:[^\s:/?#]+|\[[a-f\d:]+\])(?::\d+)?(?:\/[^?#]*)?(?:\?[^#]*)?(?:#.*)?$/i, Gf = /^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i, Hf = /^\s*(\-|\+)?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/, If = /^(\d{4})-(\d{2})-(\d{2})$/, Jf = /^(\d{4})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/, Kf = /^(\d{4})-W(\d\d)$/, Lf = /^(\d{4})-(\d\d)$/, Mf = /^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/, Nf = {text: gd, date: kd("date", If, jd(If, ["yyyy", "MM", "dd"]), "yyyy-MM-dd"), "datetime-local": kd("datetimelocal", Jf, jd(Jf, ["yyyy", "MM", "dd", "HH", "mm", "ss", "sss"]), "yyyy-MM-ddTHH:mm:ss.sss"), time: kd("time", Mf, jd(Mf, ["HH", "mm", "ss", "sss"]), "HH:mm:ss.sss"), week: kd("week", Kf, id, "yyyy-Www"), month: kd("month", Lf, jd(Lf, ["yyyy", "MM"]), "yyyy-MM"), number: md, url: nd, email: od, radio: pd, checkbox: rd, hidden: p, button: p, submit: p, reset: p, file: p}, Of = ["$browser", "$sniffer", "$filter", "$parse", function (a, b, c, d) {
return{restrict: "E", require: ["?ngModel"], link: {pre: function (e, f, g, h) {
h[0] && (Nf[yd(g.type)] || Nf.text)(e, f, g, h[0], b, a, c, d)
}}}
}], Pf = /^(true|false|\d+)$/, Qf = function () {
return{restrict: "A", priority: 100, compile: function (a, b) {
return Pf.test(b.ngValue) ? function (a, b, c) {
c.$set("value", a.$eval(c.ngValue))
} : function (a, b, c) {
a.$watch(c.ngValue, function (a) {
c.$set("value", a)
})
}
}}
}, Rf = ["$compile", function (a) {
return{restrict: "AC", compile: function (b) {
return a.$$addBindingClass(b), function (b, c, d) {
a.$$addBindingInfo(c, d.ngBind), c = c[0], b.$watch(d.ngBind, function (a) {
c.textContent = t(a) ? "" : a
})
}
}}
}], Sf = ["$interpolate", "$compile", function (a, b) {
return{compile: function (c) {
return b.$$addBindingClass(c), function (c, d, e) {
var f = a(d.attr(e.$attr.ngBindTemplate));
b.$$addBindingInfo(d, f.expressions), d = d[0], e.$observe("ngBindTemplate", function (a) {
d.textContent = t(a) ? "" : a
})
}
}}
}], Tf = ["$sce", "$parse", "$compile", function (a, b, c) {
return{restrict: "A", compile: function (d, e) {
var f = b(e.ngBindHtml), g = b(e.ngBindHtml, function (a) {
return(a || "").toString()
});
return c.$$addBindingClass(d), function (b, d, e) {
c.$$addBindingInfo(d, e.ngBindHtml), b.$watch(g, function () {
d.html(a.getTrustedHtml(f(b)) || "")
})
}
}}
}], Uf = r({restrict: "A", require: "ngModel", link: function (a, b, c, d) {
d.$viewChangeListeners.push(function () {
a.$eval(c.ngChange)
})
}}), Vf = sd("", !0), Wf = sd("Odd", 0), Xf = sd("Even", 1), Yf = cd({compile: function (a, b) {
b.$set("ngCloak", c), a.removeClass("ng-cloak")
}}), Zf = [function () {
return{restrict: "A", scope: !0, controller: "@", priority: 500}
}], $f = {}, _f = {blur: !0, focus: !0};
f("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "), function (a) {
var b = lb("ng-" + a);
$f[b] = ["$parse", "$rootScope", function (c, d) {
return{restrict: "A", compile: function (e, f) {
var g = c(f[b], null, !0);
return function (b, c) {
c.on(a, function (c) {
var e = function () {
g(b, {$event: c})
};
_f[a] && d.$$phase ? b.$evalAsync(e) : b.$apply(e)
})
}
}}
}]
});
var ag = ["$animate", function (a) {
return{multiElement: !0, transclude: "element", priority: 600, terminal: !0, restrict: "A", $$tlb: !0, link: function (c, d, e, f, g) {
var h, i, j;
c.$watch(e.ngIf, function (c) {
c ? i || g(function (c, f) {
i = f, c[c.length++] = b.createComment(" end ngIf: " + e.ngIf + " "), h = {clone: c}, a.enter(c, d.parent(), d)
}) : (j && (j.remove(), j = null), i && (i.$destroy(), i = null), h && (j = pa(h.clone), a.leave(j).then(function () {
j = null
}), h = null))
})
}}
}], bg = ["$templateRequest", "$anchorScroll", "$animate", function (a, b, c) {
return{restrict: "ECA", priority: 400, terminal: !0, transclude: "element", controller: Nd.noop, compile: function (d, e) {
var f = e.ngInclude || e.src, g = e.onload || "", h = e.autoscroll;
return function (d, e, i, j, k) {
var l, m, n, o = 0, p = function () {
m && (m.remove(), m = null), l && (l.$destroy(), l = null), n && (c.leave(n).then(function () {
m = null
}), m = n, n = null)
};
d.$watch(f, function (f) {
var i = function () {
!u(h) || h && !d.$eval(h) || b()
}, m = ++o;
f ? (a(f, !0).then(function (a) {
if (!d.$$destroyed && m === o) {
var b = d.$new();
j.template = a;
var h = k(b, function (a) {
p(), c.enter(a, null, e).then(i)
});
l = b, n = h, l.$emit("$includeContentLoaded", f), d.$eval(g)
}
}, function () {
d.$$destroyed || m === o && (p(), d.$emit("$includeContentError", f))
}), d.$emit("$includeContentRequested", f)) : (p(), j.template = null)
})
}
}}
}], cg = ["$compile", function (a) {
return{restrict: "ECA", priority: -400, require: "ngInclude", link: function (c, d, e, f) {
return/SVG/.test(d[0].toString()) ? (d.empty(), void a(Aa(f.template, b).childNodes)(c, function (a) {
d.append(a)
}, {futureParentElement: d})) : (d.html(f.template), void a(d.contents())(c))
}}
}], dg = cd({priority: 450, compile: function () {
return{pre: function (a, b, c) {
a.$eval(c.ngInit)
}}
}}), eg = function () {
return{restrict: "A", priority: 100, require: "ngModel", link: function (a, b, d, e) {
var g = b.attr(d.$attr.ngList) || ", ", h = "false" !== d.ngTrim, i = h ? Sd(g) : g, j = function (a) {
if (!t(a)) {
var b = [];
return a && f(a.split(i), function (a) {
a && b.push(h ? Sd(a) : a)
}), b
}
};
e.$parsers.push(j), e.$formatters.push(function (a) {
return Qd(a) ? a.join(g) : c
}), e.$isEmpty = function (a) {
return!a || !a.length
}
}}
}, fg = "ng-valid", gg = "ng-invalid", hg = "ng-pristine", ig = "ng-dirty", jg = "ng-untouched", kg = "ng-touched", lg = "ng-pending", mg = d("ngModel"), ng = ["$scope", "$exceptionHandler", "$attrs", "$element", "$parse", "$animate", "$timeout", "$rootScope", "$q", "$interpolate", function (a, b, d, e, g, h, i, j, k, l) {
this.$viewValue = Number.NaN, this.$modelValue = Number.NaN, this.$$rawModelValue = c, this.$validators = {}, this.$asyncValidators = {}, this.$parsers = [], this.$formatters = [], this.$viewChangeListeners = [], this.$untouched = !0, this.$touched = !1, this.$pristine = !0, this.$dirty = !1, this.$valid = !0, this.$invalid = !1, this.$error = {}, this.$$success = {}, this.$pending = c, this.$name = l(d.name || "", !1)(a), this.$$parentForm = zf;
var m, n = g(d.ngModel), o = n.assign, q = n, r = o, s = null, v = this;
this.$$setOptions = function (a) {
if (v.$options = a, a && a.getterSetter) {
var b = g(d.ngModel + "()"), c = g(d.ngModel + "($$$p)");
q = function (a) {
var c = n(a);
return A(c) && (c = b(a)), c
}, r = function (a, b) {
A(n(a)) ? c(a, {$$$p: v.$modelValue}) : o(a, v.$modelValue)
}
} else if (!n.assign)throw mg("nonassign", "Expression '{0}' is non-assignable. Element: {1}", d.ngModel, $(e))
}, this.$render = p, this.$isEmpty = function (a) {
return t(a) || "" === a || null === a || a !== a
};
var w = 0;
td({ctrl: this, $element: e, set: function (a, b) {
a[b] = !0
}, unset: function (a, b) {
delete a[b]
}, $animate: h}), this.$setPristine = function () {
v.$dirty = !1, v.$pristine = !0, h.removeClass(e, ig), h.addClass(e, hg)
}, this.$setDirty = function () {
v.$dirty = !0, v.$pristine = !1, h.removeClass(e, hg), h.addClass(e, ig), v.$$parentForm.$setDirty()
}, this.$setUntouched = function () {
v.$touched = !1, v.$untouched = !0, h.setClass(e, jg, kg)
}, this.$setTouched = function () {
v.$touched = !0, v.$untouched = !1, h.setClass(e, kg, jg)
}, this.$rollbackViewValue = function () {
i.cancel(s), v.$viewValue = v.$$lastCommittedViewValue, v.$render()
}, this.$validate = function () {
if (!y(v.$modelValue) || !isNaN(v.$modelValue)) {
var a = v.$$lastCommittedViewValue, b = v.$$rawModelValue, d = v.$valid, e = v.$modelValue, f = v.$options && v.$options.allowInvalid;
v.$$runValidators(b, a, function (a) {
f || d === a || (v.$modelValue = a ? b : c, v.$modelValue !== e && v.$$writeModelToScope())
})
}
}, this.$$runValidators = function (a, b, d) {
function e() {
var a = v.$$parserName || "parse";
return t(m) ? (i(a, null), !0) : (m || (f(v.$validators, function (a, b) {
i(b, null)
}), f(v.$asyncValidators, function (a, b) {
i(b, null)
})), i(a, m), m)
}
function g() {
var c = !0;
return f(v.$validators, function (d, e) {
var f = d(a, b);
c = c && f, i(e, f)
}), c ? !0 : (f(v.$asyncValidators, function (a, b) {
i(b, null)
}), !1)
}
function h() {
var d = [], e = !0;
f(v.$asyncValidators, function (f, g) {
var h = f(a, b);
if (!I(h))throw mg("nopromise", "Expected asynchronous validator to return a promise but got '{0}' instead.", h);
i(g, c), d.push(h.then(function () {
i(g, !0)
}, function (a) {
e = !1, i(g, !1)
}))
}), d.length ? k.all(d).then(function () {
j(e)
}, p) : j(!0)
}
function i(a, b) {
l === w && v.$setValidity(a, b)
}
function j(a) {
l === w && d(a)
}
w++;
var l = w;
return e() && g() ? void h() : void j(!1)
}, this.$commitViewValue = function () {
var a = v.$viewValue;
i.cancel(s), (v.$$lastCommittedViewValue !== a || "" === a && v.$$hasNativeValidators) && (v.$$lastCommittedViewValue = a, v.$pristine && this.$setDirty(), this.$$parseAndValidate())
}, this.$$parseAndValidate = function () {
function b() {
v.$modelValue !== g && v.$$writeModelToScope()
}
var d = v.$$lastCommittedViewValue, e = d;
if (m = t(e) ? c : !0)for (var f = 0; f < v.$parsers.length; f++)if (e = v.$parsers[f](e), t(e)) {
m = !1;
break
}
y(v.$modelValue) && isNaN(v.$modelValue) && (v.$modelValue = q(a));
var g = v.$modelValue, h = v.$options && v.$options.allowInvalid;
v.$$rawModelValue = e, h && (v.$modelValue = e, b()), v.$$runValidators(e, v.$$lastCommittedViewValue, function (a) {
h || (v.$modelValue = a ? e : c, b())
})
}, this.$$writeModelToScope = function () {
r(a, v.$modelValue), f(v.$viewChangeListeners, function (a) {
try {
a()
} catch (c) {
b(c)
}
})
}, this.$setViewValue = function (a, b) {
v.$viewValue = a, (!v.$options || v.$options.updateOnDefault) && v.$$debounceViewValueCommit(b)
}, this.$$debounceViewValueCommit = function (b) {
var c, d = 0, e = v.$options;
e && u(e.debounce) && (c = e.debounce, y(c) ? d = c : y(c[b]) ? d = c[b] : y(c["default"]) && (d = c["default"])), i.cancel(s), d ? s = i(function () {
v.$commitViewValue()
}, d) : j.$$phase ? v.$commitViewValue() : a.$apply(function () {
v.$commitViewValue()
})
}, a.$watch(function () {
var b = q(a);
if (b !== v.$modelValue && (v.$modelValue === v.$modelValue || b === b)) {
v.$modelValue = v.$$rawModelValue = b, m = c;
for (var d = v.$formatters, e = d.length, f = b; e--;)f = d[e](f);
v.$viewValue !== f && (v.$viewValue = v.$$lastCommittedViewValue = f, v.$render(), v.$$runValidators(b, f, p))
}
return b
})
}], og = ["$rootScope", function (a) {
return{restrict: "A", require: ["ngModel", "^?form", "^?ngModelOptions"], controller: ng, priority: 1, compile: function (b) {
return b.addClass(hg).addClass(jg).addClass(fg), {pre: function (a, b, c, d) {
var e = d[0], f = d[1] || e.$$parentForm;
e.$$setOptions(d[2] && d[2].$options), f.$addControl(e), c.$observe("name", function (a) {
e.$name !== a && e.$$parentForm.$$renameControl(e, a)
}), a.$on("$destroy", function () {
e.$$parentForm.$removeControl(e)
})
}, post: function (b, c, d, e) {
var f = e[0];
f.$options && f.$options.updateOn && c.on(f.$options.updateOn, function (a) {
f.$$debounceViewValueCommit(a && a.type)
}), c.on("blur", function (c) {
f.$touched || (a.$$phase ? b.$evalAsync(f.$setTouched) : b.$apply(f.$setTouched))
})
}}
}}
}], pg = /(\s+|^)default(\s+|$)/, qg = function () {
return{restrict: "A", controller: ["$scope", "$attrs", function (a, b) {
var c = this;
this.$options = O(a.$eval(b.ngModelOptions)), u(this.$options.updateOn) ? (this.$options.updateOnDefault = !1, this.$options.updateOn = Sd(this.$options.updateOn.replace(pg, function () {
return c.$options.updateOnDefault = !0, " "
}))) : this.$options.updateOnDefault = !0
}]}
}, rg = cd({terminal: !0, priority: 1e3}), sg = d("ngOptions"), tg = /^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?(?:\s+disable\s+when\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/, ug = ["$compile", "$parse", function (a, c) {
function d(a, b, d) {
function f(a, b, c, d, e) {
this.selectValue = a, this.viewValue = b, this.label = c, this.group = d, this.disabled = e
}
function g(a) {
var b;
if (!j && e(a))b = a; else {
b = [];
for (var c in a)a.hasOwnProperty(c) && "$" !== c.charAt(0) && b.push(c)
}
return b
}
var h = a.match(tg);
if (!h)throw sg("iexp", "Expected expression in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '{0}'. Element: {1}", a, $(b));
var i = h[5] || h[7], j = h[6], k = / as /.test(h[0]) && h[1], l = h[9], m = c(h[2] ? h[1] : i), n = k && c(k), o = n || m, p = l && c(l), q = l ? function (a, b) {
return p(d, b)
} : function (a) {
return Ya(a)
}, r = function (a, b) {
return q(a, x(a, b))
}, s = c(h[2] || h[1]), t = c(h[3] || ""), u = c(h[4] || ""), v = c(h[8]), w = {}, x = j ? function (a, b) {
return w[j] = b, w[i] = a, w
} : function (a) {
return w[i] = a, w
};
return{trackBy: l, getTrackByValue: r, getWatchables: c(v, function (a) {
var b = [];
a = a || [];
for (var c = g(a), e = c.length, f = 0; e > f; f++) {
var i = a === c ? f : c[f], j = (a[i], x(a[i], i)), k = q(a[i], j);
if (b.push(k), h[2] || h[1]) {
var l = s(d, j);
b.push(l)
}
if (h[4]) {
var m = u(d, j);
b.push(m)
}
}
return b
}), getOptions: function () {
for (var a = [], b = {}, c = v(d) || [], e = g(c), h = e.length, i = 0; h > i; i++) {
var j = c === e ? i : e[i], k = c[j], m = x(k, j), n = o(d, m), p = q(n, m), w = s(d, m), y = t(d, m), z = u(d, m), A = new f(p, n, w, y, z);
a.push(A), b[p] = A
}
return{items: a, selectValueMap: b, getOptionFromViewValue: function (a) {
return b[r(a)]
}, getViewValueFromOption: function (a) {
return l ? Nd.copy(a.viewValue) : a.viewValue
}}
}}
}
function g(b, c, e, g) {
function j(a, b) {
a.element = b, b.disabled = a.disabled, a.label !== b.label && (b.label = a.label, b.textContent = a.label), a.value !== b.value && (b.value = a.selectValue)
}
function k(a, b, c, d) {
var e;
return b && yd(b.nodeName) === c ? e = b : (e = d.cloneNode(!1), b ? a.insertBefore(e, b) : a.appendChild(e)), e
}
function l(a) {
for (var b; a;)b = a.nextSibling, Qa(a), a = b
}
function m(a) {
var b = p && p[0], c = w && w[0];
if (b || c)for (; a && (a === b || a === c || a.nodeType === ae || "option" === M(a) && "" === a.value);)a = a.nextSibling;
return a
}
function n() {
var a = x && q.readValue();
x = y.getOptions();
var b = {}, d = c[0].firstChild;
if (v && c.prepend(p), d = m(d), x.items.forEach(function (a) {
var e, f, g;
a.group ? (e = b[a.group], e || (f = k(c[0], d, "optgroup", i), d = f.nextSibling, f.label = a.group, e = b[a.group] = {groupElement: f, currentOptionElement: f.firstChild}), g = k(e.groupElement, e.currentOptionElement, "option", h), j(a, g), e.currentOptionElement = g.nextSibling) : (g = k(c[0], d, "option", h), j(a, g), d = g.nextSibling)
}), Object.keys(b).forEach(function (a) {
l(b[a].currentOptionElement)
}), l(d), o.$render(), !o.$isEmpty(a)) {
var e = q.readValue(), f = y.trackBy || r;
(f ? Q(a, e) : a === e) || (o.$setViewValue(e), o.$render())
}
}
var o = g[1];
if (o) {
for (var p, q = g[0], r = e.multiple, s = 0, t = c.children(), u = t.length; u > s; s++)if ("" === t[s].value) {
p = t.eq(s);
break
}
var v = !!p, w = Ed(h.cloneNode(!1));
w.val("?");
var x, y = d(e.ngOptions, c, b), z = function () {
v || c.prepend(p), c.val(""), p.prop("selected", !0), p.attr("selected", !0)
}, A = function () {
v || p.remove()
}, B = function () {
c.prepend(w), c.val("?"), w.prop("selected", !0), w.attr("selected", !0)
}, C = function () {
w.remove()
};
r ? (o.$isEmpty = function (a) {
return!a || 0 === a.length
}, q.writeValue = function (a) {
x.items.forEach(function (a) {
a.element.selected = !1
}), a && a.forEach(function (a) {
var b = x.getOptionFromViewValue(a);
b && !b.disabled && (b.element.selected = !0)
})
}, q.readValue = function () {
var a = c.val() || [], b = [];
return f(a, function (a) {
var c = x.selectValueMap[a];
c && !c.disabled && b.push(x.getViewValueFromOption(c))
}), b
}, y.trackBy && b.$watchCollection(function () {
return Qd(o.$viewValue) ? o.$viewValue.map(function (a) {
return y.getTrackByValue(a)
}) : void 0
}, function () {
o.$render()
})) : (q.writeValue = function (a) {
var b = x.getOptionFromViewValue(a);
b && !b.disabled ? c[0].value !== b.selectValue && (C(), A(), c[0].value = b.selectValue, b.element.selected = !0, b.element.setAttribute("selected", "selected")) : null === a || v ? (C(), z()) : (A(), B())
}, q.readValue = function () {
var a = x.selectValueMap[c.val()];
return a && !a.disabled ? (A(), C(), x.getViewValueFromOption(a)) : null
}, y.trackBy && b.$watch(function () {
return y.getTrackByValue(o.$viewValue)
}, function () {
o.$render()
})), v ? (p.remove(), a(p)(b), p.removeClass("ng-scope")) : p = Ed(h.cloneNode(!1)), n(), b.$watchCollection(y.getWatchables, n)
}
}
var h = b.createElement("option"), i = b.createElement("optgroup");
return{restrict: "A", terminal: !0, require: ["select", "?ngModel"], link: {pre: function (a, b, c, d) {
d[0].registerOption = p
}, post: g}}
}], vg = ["$locale", "$interpolate", "$log", function (a, b, c) {
var d = /{}/g, e = /^when(Minus)?(.+)$/;
return{link: function (g, h, i) {
function j(a) {
h.text(a || "")
}
var k, l = i.count, m = i.$attr.when && h.attr(i.$attr.when), n = i.offset || 0, o = g.$eval(m) || {}, q = {}, r = b.startSymbol(), s = b.endSymbol(), u = r + l + "-" + n + s, v = Nd.noop;
f(i, function (a, b) {
var c = e.exec(b);
if (c) {
var d = (c[1] ? "-" : "") + yd(c[2]);
o[d] = h.attr(i.$attr[b])
}
}), f(o, function (a, c) {
q[c] = b(a.replace(d, u))
}), g.$watch(l, function (b) {
var d = parseFloat(b), e = isNaN(d);
if (e || d in o || (d = a.pluralCat(d - n)), d !== k && !(e && y(k) && isNaN(k))) {
v();
var f = q[d];
t(f) ? (null != b && c.debug("ngPluralize: no rule defined for '" + d + "' in " + m), v = p, j()) : v = g.$watch(f, j), k = d
}
})
}}
}], wg = ["$parse", "$animate", function (a, g) {
var h = "$$NG_REMOVED", i = d("ngRepeat"), j = function (a, b, c, d, e, f, g) {
a[c] = d, e && (a[e] = f), a.$index = b, a.$first = 0 === b, a.$last = b === g - 1, a.$middle = !(a.$first || a.$last), a.$odd = !(a.$even = 0 === (1 & b))
}, k = function (a) {
return a.clone[0]
}, l = function (a) {
return a.clone[a.clone.length - 1]
};
return{restrict: "A", multiElement: !0, transclude: "element", priority: 1e3, terminal: !0, $$tlb: !0, compile: function (d, m) {
var n = m.ngRepeat, o = b.createComment(" end ngRepeat: " + n + " "), p = n.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);
if (!p)throw i("iexp", "Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.", n);
var q = p[1], r = p[2], s = p[3], t = p[4];
if (p = q.match(/^(?:(\s*[\$\w]+)|\(\s*([\$\w]+)\s*,\s*([\$\w]+)\s*\))$/), !p)throw i("iidexp", "'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'.", q);
var u = p[3] || p[1], v = p[2];
if (s && (!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(s) || /^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test(s)))throw i("badident", "alias '{0}' is invalid --- must be a valid JS identifier which is not a reserved name.", s);
var w, x, y, z, A = {$id: Ya};
return t ? w = a(t) : (y = function (a, b) {
return Ya(b)
}, z = function (a) {
return a
}), function (a, b, d, m, p) {
w && (x = function (b, c, d) {
return v && (A[v] = b), A[u] = c, A.$index = d, w(a, A)
});
var q = qa();
a.$watchCollection(r, function (d) {
var m, r, t, w, A, B, C, D, E, F, G, H, I = b[0], J = qa();
if (s && (a[s] = d), e(d))E = d, D = x || y; else {
D = x || z, E = [];
for (var K in d)zd.call(d, K) && "$" !== K.charAt(0) && E.push(K)
}
for (w = E.length, G = new Array(w), m = 0; w > m; m++)if (A = d === E ? m : E[m], B = d[A], C = D(A, B, m), q[C])F = q[C], delete q[C], J[C] = F, G[m] = F; else {
if (J[C])throw f(G, function (a) {
a && a.scope && (q[a.id] = a)
}), i("dupes", "Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key: {1}, Duplicate value: {2}", n, C, B);
G[m] = {id: C, scope: c, clone: c}, J[C] = !0
}
for (var L in q) {
if (F = q[L], H = pa(F.clone), g.leave(H), H[0].parentNode)for (m = 0, r = H.length; r > m; m++)H[m][h] = !0;
F.scope.$destroy()
}
for (m = 0; w > m; m++)if (A = d === E ? m : E[m], B = d[A], F = G[m], F.scope) {
t = I;
do t = t.nextSibling; while (t && t[h]);
k(F) != t && g.move(pa(F.clone), null, Ed(I)), I = l(F), j(F.scope, m, u, B, v, A, w)
} else p(function (a, b) {
F.scope = b;
var c = o.cloneNode(!1);
a[a.length++] = c, g.enter(a, null, Ed(I)), I = c, F.clone = a, J[F.id] = F, j(F.scope, m, u, B, v, A, w)
});
q = J
})
}
}}
}], xg = "ng-hide", yg = "ng-hide-animate", zg = ["$animate", function (a) {
return{restrict: "A", multiElement: !0, link: function (b, c, d) {
b.$watch(d.ngShow, function (b) {
a[b ? "removeClass" : "addClass"](c, xg, {tempClasses: yg})
})
}}
}], Ag = ["$animate", function (a) {
return{restrict: "A", multiElement: !0, link: function (b, c, d) {
b.$watch(d.ngHide, function (b) {
a[b ? "addClass" : "removeClass"](c, xg, {tempClasses: yg})
})
}}
}], Bg = cd(function (a, b, c) {
a.$watch(c.ngStyle, function (a, c) {
c && a !== c && f(c, function (a, c) {
b.css(c, "")
}), a && b.css(a)
}, !0)
}), Cg = ["$animate", function (a) {
return{require: "ngSwitch", controller: ["$scope", function () {
this.cases = {}
}], link: function (c, d, e, g) {
var h = e.ngSwitch || e.on, i = [], j = [], k = [], l = [], m = function (a, b) {
return function () {
a.splice(b, 1)
}
};
c.$watch(h, function (c) {
var d, e;
for (d = 0, e = k.length; e > d; ++d)a.cancel(k[d]);
for (k.length = 0, d = 0, e = l.length; e > d; ++d) {
var h = pa(j[d].clone);
l[d].$destroy();
var n = k[d] = a.leave(h);
n.then(m(k, d))
}
j.length = 0, l.length = 0, (i = g.cases["!" + c] || g.cases["?"]) && f(i, function (c) {
c.transclude(function (d, e) {
l.push(e);
var f = c.element;
d[d.length++] = b.createComment(" end ngSwitchWhen: ");
var g = {clone: d};
j.push(g), a.enter(d, f.parent(), f)
})
})
})
}}
}], Dg = cd({transclude: "element", priority: 1200, require: "^ngSwitch", multiElement: !0, link: function (a, b, c, d, e) {
d.cases["!" + c.ngSwitchWhen] = d.cases["!" + c.ngSwitchWhen] || [], d.cases["!" + c.ngSwitchWhen].push({transclude: e, element: b})
}}), Eg = cd({transclude: "element", priority: 1200, require: "^ngSwitch", multiElement: !0, link: function (a, b, c, d, e) {
d.cases["?"] = d.cases["?"] || [], d.cases["?"].push({transclude: e, element: b})
}}), Fg = cd({restrict: "EAC", link: function (a, b, c, e, f) {
if (!f)throw d("ngTransclude")("orphan", "Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}", $(b));
f(function (a) {
b.empty(), b.append(a)
})
}}), Gg = ["$templateCache", function (a) {
return{restrict: "E", terminal: !0, compile: function (b, c) {
if ("text/ng-template" == c.type) {
var d = c.id, e = b[0].text;
a.put(d, e)
}
}}
}], Hg = {$setViewValue: p, $render: p}, Ig = ["$element", "$scope", "$attrs", function (a, d, e) {
var f = this, g = new Za;
f.ngModelCtrl = Hg, f.unknownOption = Ed(b.createElement("option")), f.renderUnknownOption = function (b) {
var c = "? " + Ya(b) + " ?";
f.unknownOption.val(c), a.prepend(f.unknownOption), a.val(c)
}, d.$on("$destroy", function () {
f.renderUnknownOption = p
}), f.removeUnknownOption = function () {
f.unknownOption.parent() && f.unknownOption.remove()
}, f.readValue = function () {
return f.removeUnknownOption(), a.val()
}, f.writeValue = function (b) {
f.hasOption(b) ? (f.removeUnknownOption(), a.val(b), "" === b && f.emptyOption.prop("selected", !0)) : null == b && f.emptyOption ? (f.removeUnknownOption(), a.val("")) : f.renderUnknownOption(b)
}, f.addOption = function (a, b) {
na(a, '"option value"'), "" === a && (f.emptyOption = b);
var c = g.get(a) || 0;
g.put(a, c + 1), f.ngModelCtrl.$render(), vd(b)
}, f.removeOption = function (a) {
var b = g.get(a);
b && (1 === b ? (g.remove(a), "" === a && (f.emptyOption = c)) : g.put(a, b - 1))
}, f.hasOption = function (a) {
return!!g.get(a)
}, f.registerOption = function (a, b, c, d, e) {
if (d) {
var g;
c.$observe("value", function (a) {
u(g) && f.removeOption(g), g = a, f.addOption(a, b)
})
} else e ? a.$watch(e, function (a, d) {
c.$set("value", a), d !== a && f.removeOption(d), f.addOption(a, b)
}) : f.addOption(c.value, b);
b.on("$destroy", function () {
f.removeOption(c.value), f.ngModelCtrl.$render()
})
}
}], Jg = function () {
function a(a, b, c, d) {
var e = d[1];
if (e) {
var g = d[0];
if (g.ngModelCtrl = e, b.on("change", function () {
a.$apply(function () {
e.$setViewValue(g.readValue())
})
}), c.multiple) {
g.readValue = function () {
var a = [];
return f(b.find("option"), function (b) {
b.selected && a.push(b.value)
}), a
}, g.writeValue = function (a) {
var c = new Za(a);
f(b.find("option"), function (a) {
a.selected = u(c.get(a.value))
})
};
var h, i = NaN;
a.$watch(function () {
i !== e.$viewValue || Q(h, e.$viewValue) || (h = P(e.$viewValue), e.$render()), i = e.$viewValue
}), e.$isEmpty = function (a) {
return!a || 0 === a.length
}
}
}
}
function b(a, b, c, d) {
var e = d[1];
if (e) {
var f = d[0];
e.$render = function () {
f.writeValue(e.$viewValue)
}
}
}
return{restrict: "E", require: ["select", "?ngModel"], controller: Ig, priority: 1, link: {pre: a, post: b}}
}, Kg = ["$interpolate", function (a) {
return{restrict: "E", priority: 100, compile: function (b, c) {
if (u(c.value))var d = a(c.value, !0); else {
var e = a(b.text(), !0);
e || c.$set("value", b.text())
}
return function (a, b, c) {
var f = "$selectController", g = b.parent(), h = g.data(f) || g.parent().data(f);
h && h.registerOption(a, b, c, d, e)
}
}}
}], Lg = r({restrict: "E", terminal: !1}), Mg = function () {
return{restrict: "A", require: "?ngModel", link: function (a, b, c, d) {
d && (c.required = !0, d.$validators.required = function (a, b) {
return!c.required || !d.$isEmpty(b)
}, c.$observe("required", function () {
d.$validate()
}))
}}
}, Ng = function () {
return{restrict: "A", require: "?ngModel", link: function (a, b, e, f) {
if (f) {
var g, h = e.ngPattern || e.pattern;
e.$observe("pattern", function (a) {
if (x(a) && a.length > 0 && (a = new RegExp("^" + a + "$")), a && !a.test)throw d("ngPattern")("noregexp", "Expected {0} to be a RegExp but was {1}. Element: {2}", h, a, $(b));
g = a || c, f.$validate()
}), f.$validators.pattern = function (a, b) {
return f.$isEmpty(b) || t(g) || g.test(b)
}
}
}}
}, Og = function () {
return{restrict: "A", require: "?ngModel", link: function (a, b, c, d) {
if (d) {
var e = -1;
c.$observe("maxlength", function (a) {
var b = n(a);
e = isNaN(b) ? -1 : b, d.$validate()
}), d.$validators.maxlength = function (a, b) {
return 0 > e || d.$isEmpty(b) || b.length <= e
}
}
}}
}, Pg = function () {
return{restrict: "A", require: "?ngModel", link: function (a, b, c, d) {
if (d) {
var e = 0;
c.$observe("minlength", function (a) {
e = n(a) || 0, d.$validate()
}), d.$validators.minlength = function (a, b) {
return d.$isEmpty(b) || b.length >= e
}
}
}}
};
return a.angular.bootstrap ? void console.log("WARNING: Tried to load angular more than once.") : (ka(), ua(Nd), Nd.module("ngLocale", [], ["$provide", function (a) {
function b(a) {
a += "";
var b = a.indexOf(".");
return-1 == b ? 0 : a.length - b - 1
}
function d(a, d) {
var e = d;
c === e && (e = Math.min(b(a), 3));
var f = Math.pow(10, e), g = (a * f | 0) % f;
return{v: e, f: g}
}
var e = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
a.value("$locale", {DATETIME_FORMATS: {AMPMS: ["AM", "PM"], DAY: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], ERANAMES: ["Before Christ", "Anno Domini"], ERAS: ["BC", "AD"], FIRSTDAYOFWEEK: 6, MONTH: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], SHORTDAY: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], SHORTMONTH: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], STANDALONEMONTH: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], WEEKENDRANGE: [5, 6], fullDate: "EEEE, MMMM d, y", longDate: "MMMM d, y", medium: "MMM d, y h:mm:ss a", mediumDate: "MMM d, y", mediumTime: "h:mm:ss a", "short": "M/d/yy h:mm a", shortDate: "M/d/yy", shortTime: "h:mm a"}, NUMBER_FORMATS: {CURRENCY_SYM: "$", DECIMAL_SEP: ".", GROUP_SEP: ",", PATTERNS: [
{gSize: 3, lgSize: 3, maxFrac: 3, minFrac: 0, minInt: 1, negPre: "-", negSuf: "", posPre: "", posSuf: ""},
{gSize: 3, lgSize: 3, maxFrac: 2, minFrac: 2, minInt: 1, negPre: "-¤", negSuf: "", posPre: "¤", posSuf: ""}
]}, id: "en-us", pluralCat: function (a, b) {
var c = 0 | a, f = d(a, b);
return 1 == c && 0 == f.v ? e.ONE : e.OTHER
}})
}]), void Ed(b).ready(function () {
fa(b, ga)
}))
}(window, document), !window.angular.$$csp().noInlineStyle && window.angular.element(document.head).prepend(''), function (a, b, c) {
"use strict";
function d(a, b, c) {
if (!a)throw pa("areq", "Argument '{0}' is {1}", b || "?", c || "required");
return a
}
function e(a, b) {
return a || b ? a ? b ? (R(a) && (a = a.join(" ")), R(b) && (b = b.join(" ")), a + " " + b) : a : b : ""
}
function f(a) {
var b = {};
return a && (a.to || a.from) && (b.to = a.to, b.from = a.from), b
}
function g(a, b, c) {
var d = "";
return a = R(a) ? a : a && S(a) && a.length ? a.split(/\s+/) : [], Q(a, function (a, e) {
a && a.length > 0 && (d += e > 0 ? " " : "", d += c ? b + a : a + b)
}), d
}
function h(a, b) {
var c = a.indexOf(b);
b >= 0 && a.splice(c, 1)
}
function i(a) {
if (a instanceof P)switch (a.length) {
case 0:
return[];
case 1:
if (a[0].nodeType === Y)return a;
break;
default:
return P(j(a))
}
return a.nodeType === Y ? P(a) : void 0
}
function j(a) {
if (!a[0])return a;
for (var b = 0; b < a.length; b++) {
var c = a[b];
if (c.nodeType == Y)return c
}
}
function k(a, b, c) {
Q(b, function (b) {
a.addClass(b, c)
})
}
function l(a, b, c) {
Q(b, function (b) {
a.removeClass(b, c)
})
}
function m(a) {
return function (b, c) {
c.addClass && (k(a, b, c.addClass), c.addClass = null), c.removeClass && (l(a, b, c.removeClass), c.removeClass = null)
}
}
function n(a) {
if (a = a || {}, !a.$$prepared) {
var b = a.domOperation || M;
a.domOperation = function () {
a.$$domOperationFired = !0, b(), b = M
}, a.$$prepared = !0
}
return a
}
function o(a, b) {
p(a, b), q(a, b)
}
function p(a, b) {
b.from && (a.css(b.from), b.from = null)
}
function q(a, b) {
b.to && (a.css(b.to), b.to = null)
}
function r(a, b, c) {
var d = (b.addClass || "") + " " + (c.addClass || ""), e = (b.removeClass || "") + " " + (c.removeClass || ""), f = s(a.attr("class"), d, e);
c.preparationClasses && (b.preparationClasses = z(c.preparationClasses, b.preparationClasses), delete c.preparationClasses);
var g = b.domOperation !== M ? b.domOperation : null;
return O(b, c), g && (b.domOperation = g), f.addClass ? b.addClass = f.addClass : b.addClass = null,
f.removeClass ? b.removeClass = f.removeClass : b.removeClass = null, b
}
function s(a, b, c) {
function d(a) {
S(a) && (a = a.split(" "));
var b = {};
return Q(a, function (a) {
a.length && (b[a] = !0)
}), b
}
var e = 1, f = -1, g = {};
a = d(a), b = d(b), Q(b, function (a, b) {
g[b] = e
}), c = d(c), Q(c, function (a, b) {
g[b] = g[b] === e ? null : f
});
var h = {addClass: "", removeClass: ""};
return Q(g, function (b, c) {
var d, g;
b === e ? (d = "addClass", g = !a[c]) : b === f && (d = "removeClass", g = a[c]), g && (h[d].length && (h[d] += " "), h[d] += c)
}), h
}
function t(a) {
return a instanceof b.element ? a[0] : a
}
function u(a, b, c) {
var d = "";
b && (d = g(b, _, !0)), c.addClass && (d = z(d, g(c.addClass, Z))), c.removeClass && (d = z(d, g(c.removeClass, $))), d.length && (c.preparationClasses = d, a.addClass(d))
}
function v(a, b) {
b.preparationClasses && (a.removeClass(b.preparationClasses), b.preparationClasses = null), b.activeClasses && (a.removeClass(b.activeClasses), b.activeClasses = null)
}
function w(a, b) {
var c = b ? "-" + b + "s" : "";
return y(a, [na, c]), [na, c]
}
function x(a, b) {
var c = b ? "paused" : "", d = K + ja;
return y(a, [d, c]), [d, c]
}
function y(a, b) {
var c = b[0], d = b[1];
a.style[c] = d
}
function z(a, b) {
return a ? b ? a + " " + b : a : b
}
function A(a) {
return[ma, a + "s"]
}
function B(a, b) {
var c = b ? la : na;
return[c, a + "s"]
}
function C(a, b, c) {
var d = Object.create(null), e = a.getComputedStyle(b) || {};
return Q(c, function (a, b) {
var c = e[a];
if (c) {
var f = c.charAt(0);
("-" === f || "+" === f || f >= 0) && (c = D(c)), 0 === c && (c = null), d[b] = c
}
}), d
}
function D(a) {
var b = 0, c = a.split(/\s*,\s*/);
return Q(c, function (a) {
"s" == a.charAt(a.length - 1) && (a = a.substring(0, a.length - 1)), a = parseFloat(a) || 0, b = b ? Math.max(a, b) : a
}), b
}
function E(a) {
return 0 === a || null != a
}
function F(a, b) {
var c = I, d = a + "s";
return b ? c += ea : d += " linear all", [c, d]
}
function G() {
var a = Object.create(null);
return{flush: function () {
a = Object.create(null)
}, count: function (b) {
var c = a[b];
return c ? c.total : 0
}, get: function (b) {
var c = a[b];
return c && c.value
}, put: function (b, c) {
a[b] ? a[b].total++ : a[b] = {total: 1, value: c}
}}
}
function H(a, b, c) {
Q(c, function (c) {
a[c] = V(a[c]) ? a[c] : b.style.getPropertyValue(c)
})
}
var I, J, K, L, M = b.noop, N = b.copy, O = b.extend, P = b.element, Q = b.forEach, R = b.isArray, S = b.isString, T = b.isObject, U = b.isUndefined, V = b.isDefined, W = b.isFunction, X = b.isElement, Y = 1, Z = "-add", $ = "-remove", _ = "ng-", aa = "-active", ba = "ng-animate", ca = "$$ngAnimateChildren", da = "";
U(a.ontransitionend) && V(a.onwebkittransitionend) ? (da = "-webkit-", I = "WebkitTransition", J = "webkitTransitionEnd transitionend") : (I = "transition", J = "transitionend"), U(a.onanimationend) && V(a.onwebkitanimationend) ? (da = "-webkit-", K = "WebkitAnimation", L = "webkitAnimationEnd animationend") : (K = "animation", L = "animationend");
var ea = "Duration", fa = "Property", ga = "Delay", ha = "TimingFunction", ia = "IterationCount", ja = "PlayState", ka = 9999, la = K + ga, ma = K + ea, na = I + ga, oa = I + ea, pa = b.$$minErr("ng"), qa = ["$$rAF", function (a) {
function b(a) {
d = d.concat(a), c()
}
function c() {
if (d.length) {
for (var b = d.shift(), f = 0; f < b.length; f++)b[f]();
e || a(function () {
e || c()
})
}
}
var d, e;
return d = b.queue = [], b.waitUntilQuiet = function (b) {
e && e(), e = a(function () {
e = null, b(), c()
})
}, b
}], ra = [function () {
return function (a, c, d) {
var e = d.ngAnimateChildren;
b.isString(e) && 0 === e.length ? c.data(ca, !0) : d.$observe("ngAnimateChildren", function (a) {
a = "on" === a || "true" === a, c.data(ca, a)
})
}
}], sa = "$$animateCss", ta = 1e3, ua = 3, va = 1.5, wa = {transitionDuration: oa, transitionDelay: na, transitionProperty: I + fa, animationDuration: ma, animationDelay: la, animationIterationCount: K + ia}, xa = {transitionDuration: oa, transitionDelay: na, animationDuration: ma, animationDelay: la}, ya = ["$animateProvider", function (a) {
var b = G(), c = G();
this.$get = ["$window", "$$jqLite", "$$AnimateRunner", "$timeout", "$$forceReflow", "$sniffer", "$$rAFScheduler", "$$animateQueue", function (a, d, e, i, j, k, l, r) {
function s(a, b) {
var c = "$$ngAnimateParentKey", d = a.parentNode, e = d[c] || (d[c] = ++O);
return e + "-" + a.getAttribute("class") + "-" + b
}
function u(c, d, e, f) {
var g = b.get(e);
return g || (g = C(a, c, f), "infinite" === g.animationIterationCount && (g.animationIterationCount = 1)), b.put(e, g), g
}
function v(e, f, h, i) {
var j;
if (b.count(h) > 0 && (j = c.get(h), !j)) {
var k = g(f, "-stagger");
d.addClass(e, k), j = C(a, e, i), j.animationDuration = Math.max(j.animationDuration, 0), j.transitionDuration = Math.max(j.transitionDuration, 0), d.removeClass(e, k), c.put(h, j)
}
return j || {}
}
function z(a) {
P.push(a), l.waitUntilQuiet(function () {
b.flush(), c.flush();
for (var a = j(), d = 0; d < P.length; d++)P[d](a);
P.length = 0
})
}
function D(a, b, c) {
var d = u(a, b, c, wa), e = d.animationDelay, f = d.transitionDelay;
return d.maxDelay = e && f ? Math.max(e, f) : e || f, d.maxDuration = Math.max(d.animationDuration * d.animationIterationCount, d.transitionDuration), d
}
var G = m(d), O = 0, P = [];
return function (a, c) {
function j() {
m()
}
function l() {
m(!0)
}
function m(b) {
V || X && W || (V = !0, W = !1, S.$$skipPreparationClasses || d.removeClass(a, wa), d.removeClass(a, za), x(U, !1), w(U, !1), Q(ja, function (a) {
U.style[a[0]] = ""
}), G(a, S), o(a, S), Object.keys(T).length && Q(T, function (a, b) {
a ? U.style.setProperty(b, a) : U.style.removeProperty(b)
}), S.onDone && S.onDone(), na && na.length && a.off(na.join(" "), O), Y && Y.complete(!b))
}
function u(a) {
Na.blockTransition && w(U, a), Na.blockKeyframeAnimation && x(U, !!a)
}
function C() {
return Y = new e({end: j, cancel: l}), z(M), m(), {$$willAnimate: !1, start: function () {
return Y
}, end: j}
}
function O(a) {
a.stopPropagation();
var b = a.originalEvent || a, c = b.$manualTimeStamp || Date.now(), d = parseFloat(b.elapsedTime.toFixed(ua));
Math.max(c - ia, 0) >= da && d >= ea && (X = !0, m())
}
function P() {
function b() {
if (!V) {
if (u(!1), Q(ja, function (a) {
var b = a[0], c = a[1];
U.style[b] = c
}), G(a, S), d.addClass(a, za), Na.recalculateTimingStyles) {
if (ya = U.className + " " + wa, Ca = s(U, ya), La = D(U, ya, Ca), Ma = La.maxDelay, ca = Math.max(Ma, 0), ea = La.maxDuration, 0 === ea)return void m();
Na.hasTransitions = La.transitionDuration > 0, Na.hasAnimations = La.animationDuration > 0
}
if (Na.applyAnimationDelay && (Ma = "boolean" != typeof S.delay && E(S.delay) ? parseFloat(S.delay) : Ma, ca = Math.max(Ma, 0), La.animationDelay = Ma, Oa = B(Ma, !0), ja.push(Oa), U.style[Oa[0]] = Oa[1]), da = ca * ta, ga = ea * ta, S.easing) {
var b, e = S.easing;
Na.hasTransitions && (b = I + ha, ja.push([b, e]), U.style[b] = e), Na.hasAnimations && (b = K + ha, ja.push([b, e]), U.style[b] = e)
}
La.transitionDuration && na.push(J), La.animationDuration && na.push(L), ia = Date.now();
var f = da + va * ga, g = ia + f, h = a.data(sa) || [], j = !0;
if (h.length) {
var k = h[0];
j = g > k.expectedEndTime, j ? i.cancel(k.timer) : h.push(m)
}
if (j) {
var l = i(c, f, !1);
h[0] = {timer: l, expectedEndTime: g}, h.push(m), a.data(sa, h)
}
na.length && a.on(na.join(" "), O), S.to && (S.cleanupStyles && H(T, U, Object.keys(S.to)), q(a, S))
}
}
function c() {
var b = a.data(sa);
if (b) {
for (var c = 1; c < b.length; c++)b[c]();
a.removeData(sa)
}
}
if (!V) {
if (!U.parentNode)return void m();
var e = function (a) {
if (X)W && a && (W = !1, m()); else if (W = !a, La.animationDuration) {
var b = x(U, W);
W ? ja.push(b) : h(ja, b)
}
}, f = Ja > 0 && (La.transitionDuration && 0 === Da.transitionDuration || La.animationDuration && 0 === Da.animationDuration) && Math.max(Da.animationDelay, Da.transitionDelay);
f ? i(b, Math.floor(f * Ja * ta), !1) : b(), ba.resume = function () {
e(!0)
}, ba.pause = function () {
e(!1)
}
}
}
var S = c || {};
S.$$prepared || (S = n(N(S)));
var T = {}, U = t(a);
if (!U || !U.parentNode || !r.enabled())return C();
var V, W, X, Y, ba, ca, da, ea, ga, ia, ja = [], la = a.attr("class"), ma = f(S), na = [];
if (0 === S.duration || !k.animations && !k.transitions)return C();
var oa = S.event && R(S.event) ? S.event.join(" ") : S.event, pa = oa && S.structural, qa = "", ra = "";
pa ? qa = g(oa, _, !0) : oa && (qa = oa), S.addClass && (ra += g(S.addClass, Z)), S.removeClass && (ra.length && (ra += " "), ra += g(S.removeClass, $)), S.applyClassesEarly && ra.length && G(a, S);
var wa = [qa, ra].join(" ").trim(), ya = la + " " + wa, za = g(wa, aa), Aa = ma.to && Object.keys(ma.to).length > 0, Ba = (S.keyframeStyle || "").length > 0;
if (!Ba && !Aa && !wa)return C();
var Ca, Da;
if (S.stagger > 0) {
var Ea = parseFloat(S.stagger);
Da = {transitionDelay: Ea, animationDelay: Ea, transitionDuration: 0, animationDuration: 0}
} else Ca = s(U, ya), Da = v(U, wa, Ca, xa);
S.$$skipPreparationClasses || d.addClass(a, wa);
var Fa;
if (S.transitionStyle) {
var Ga = [I, S.transitionStyle];
y(U, Ga), ja.push(Ga)
}
if (S.duration >= 0) {
Fa = U.style[I].length > 0;
var Ha = F(S.duration, Fa);
y(U, Ha), ja.push(Ha)
}
if (S.keyframeStyle) {
var Ia = [K, S.keyframeStyle];
y(U, Ia), ja.push(Ia)
}
var Ja = Da ? S.staggerIndex >= 0 ? S.staggerIndex : b.count(Ca) : 0, Ka = 0 === Ja;
Ka && !S.skipBlocking && w(U, ka);
var La = D(U, ya, Ca), Ma = La.maxDelay;
ca = Math.max(Ma, 0), ea = La.maxDuration;
var Na = {};
if (Na.hasTransitions = La.transitionDuration > 0, Na.hasAnimations = La.animationDuration > 0, Na.hasTransitionAll = Na.hasTransitions && "all" == La.transitionProperty, Na.applyTransitionDuration = Aa && (Na.hasTransitions && !Na.hasTransitionAll || Na.hasAnimations && !Na.hasTransitions), Na.applyAnimationDuration = S.duration && Na.hasAnimations, Na.applyTransitionDelay = E(S.delay) && (Na.applyTransitionDuration || Na.hasTransitions), Na.applyAnimationDelay = E(S.delay) && Na.hasAnimations, Na.recalculateTimingStyles = ra.length > 0, (Na.applyTransitionDuration || Na.applyAnimationDuration) && (ea = S.duration ? parseFloat(S.duration) : ea, Na.applyTransitionDuration && (Na.hasTransitions = !0, La.transitionDuration = ea, Fa = U.style[I + fa].length > 0, ja.push(F(ea, Fa))), Na.applyAnimationDuration && (Na.hasAnimations = !0, La.animationDuration = ea, ja.push(A(ea)))), 0 === ea && !Na.recalculateTimingStyles)return C();
if (null != S.delay) {
var Oa;
"boolean" != typeof S.delay && (Oa = parseFloat(S.delay), ca = Math.max(Oa, 0)), Na.applyTransitionDelay && ja.push(B(Oa)), Na.applyAnimationDelay && ja.push(B(Oa, !0))
}
return null == S.duration && La.transitionDuration > 0 && (Na.recalculateTimingStyles = Na.recalculateTimingStyles || Ka), da = ca * ta, ga = ea * ta, S.skipBlocking || (Na.blockTransition = La.transitionDuration > 0, Na.blockKeyframeAnimation = La.animationDuration > 0 && Da.animationDelay > 0 && 0 === Da.animationDuration), S.from && (S.cleanupStyles && H(T, U, Object.keys(S.from)), p(a, S)), Na.blockTransition || Na.blockKeyframeAnimation ? u(ea) : S.skipBlocking || w(U, !1), {$$willAnimate: !0, end: j, start: function () {
return V ? void 0 : (ba = {end: j, cancel: l, resume: null, pause: null}, Y = new e(ba), z(P), Y)
}}
}
}]
}], za = ["$$animationProvider", function (a) {
function b(a) {
return a.parentNode && 11 === a.parentNode.nodeType
}
a.drivers.push("$$animateCssDriver");
var c = "ng-animate-shim", d = "ng-anchor", e = "ng-anchor-out", f = "ng-anchor-in";
this.$get = ["$animateCss", "$rootScope", "$$AnimateRunner", "$rootElement", "$sniffer", "$$jqLite", "$document", function (a, g, h, i, j, k, l) {
function n(a) {
return a.replace(/\bng-\S+\b/g, "")
}
function o(a, b) {
return S(a) && (a = a.split(" ")), S(b) && (b = b.split(" ")), a.filter(function (a) {
return-1 === b.indexOf(a)
}).join(" ")
}
function p(b, g, i) {
function j(a) {
var b = {}, c = t(a).getBoundingClientRect();
return Q(["width", "height", "top", "left"], function (a) {
var d = c[a];
switch (a) {
case"top":
d += s.scrollTop;
break;
case"left":
d += s.scrollLeft
}
b[a] = Math.floor(d) + "px"
}), b
}
function k() {
var b = a(q, {addClass: e, delay: !0, from: j(g)});
return b.$$willAnimate ? b : null
}
function l(a) {
return a.attr("class") || ""
}
function m() {
var b = n(l(i)), c = o(b, r), d = o(r, b), g = a(q, {to: j(i), addClass: f + " " + c, removeClass: e + " " + d, delay: !0});
return g.$$willAnimate ? g : null
}
function p() {
q.remove(), g.removeClass(c), i.removeClass(c)
}
var q = P(t(g).cloneNode(!0)), r = n(l(q));
g.addClass(c), i.addClass(c), q.addClass(d), v.append(q);
var u, w = k();
if (!w && (u = m(), !u))return p();
var x = w || u;
return{start: function () {
function a() {
c && c.end()
}
var b, c = x.start();
return c.done(function () {
return c = null, !u && (u = m()) ? (c = u.start(), c.done(function () {
c = null, p(), b.complete()
}), c) : (p(), void b.complete())
}), b = new h({end: a, cancel: a})
}}
}
function q(a, b, c, d) {
var e = r(a, M), f = r(b, M), g = [];
return Q(d, function (a) {
var b = a.out, d = a["in"], e = p(c, b, d);
e && g.push(e)
}), e || f || 0 !== g.length ? {start: function () {
function a() {
Q(b, function (a) {
a.end()
})
}
var b = [];
e && b.push(e.start()), f && b.push(f.start()), Q(g, function (a) {
b.push(a.start())
});
var c = new h({end: a, cancel: a});
return h.all(b, function (a) {
c.complete(a)
}), c
}} : void 0
}
function r(b) {
var c = b.element, d = b.options || {};
b.structural && (d.event = b.event, d.structural = !0, d.applyClassesEarly = !0, "leave" === b.event && (d.onDone = d.domOperation)), d.preparationClasses && (d.event = z(d.event, d.preparationClasses));
var e = a(c, d);
return e.$$willAnimate ? e : null
}
if (!j.animations && !j.transitions)return M;
var s = l[0].body, u = t(i), v = P(b(u) || s.contains(u) ? u : s);
m(k);
return function (a) {
return a.from && a.to ? q(a.from, a.to, a.classes, a.anchors) : r(a)
}
}]
}], Aa = ["$animateProvider", function (a) {
this.$get = ["$injector", "$$AnimateRunner", "$$jqLite", function (b, c, d) {
function e(c) {
c = R(c) ? c : c.split(" ");
for (var d = [], e = {}, f = 0; f < c.length; f++) {
var g = c[f], h = a.$$registeredAnimations[g];
h && !e[g] && (d.push(b.get(h)), e[g] = !0)
}
return d
}
var f = m(d);
return function (a, b, d, g) {
function h() {
g.domOperation(), f(a, g)
}
function i() {
m = !0, h(), o(a, g)
}
function j(a, b, d, e, f) {
var g;
switch (d) {
case"animate":
g = [b, e.from, e.to, f];
break;
case"setClass":
g = [b, r, s, f];
break;
case"addClass":
g = [b, r, f];
break;
case"removeClass":
g = [b, s, f];
break;
default:
g = [b, f]
}
g.push(e);
var h = a.apply(a, g);
if (h)if (W(h.start) && (h = h.start()), h instanceof c)h.done(f); else if (W(h))return h;
return M
}
function k(a, b, d, e, f) {
var g = [];
return Q(e, function (e) {
var h = e[f];
h && g.push(function () {
var e, f, g = !1, i = function (a) {
g || (g = !0, (f || M)(a), e.complete(!a))
};
return e = new c({end: function () {
i()
}, cancel: function () {
i(!0)
}}), f = j(h, a, b, d, function (a) {
var b = a === !1;
i(b)
}), e
})
}), g
}
function l(a, b, d, e, f) {
var g = k(a, b, d, e, f);
if (0 === g.length) {
var h, i;
"beforeSetClass" === f ? (h = k(a, "removeClass", d, e, "beforeRemoveClass"), i = k(a, "addClass", d, e, "beforeAddClass")) : "setClass" === f && (h = k(a, "removeClass", d, e, "removeClass"), i = k(a, "addClass", d, e, "addClass")), h && (g = g.concat(h)), i && (g = g.concat(i))
}
if (0 !== g.length)return function (a) {
var b = [];
return g.length && Q(g, function (a) {
b.push(a())
}), b.length ? c.all(b, a) : a(), function (a) {
Q(b, function (b) {
a ? b.cancel() : b.end()
})
}
}
}
var m = !1;
3 === arguments.length && T(d) && (g = d, d = null), g = n(g), d || (d = a.attr("class") || "", g.addClass && (d += " " + g.addClass), g.removeClass && (d += " " + g.removeClass));
var p, q, r = g.addClass, s = g.removeClass, t = e(d);
if (t.length) {
var u, v;
"leave" == b ? (v = "leave", u = "afterLeave") : (v = "before" + b.charAt(0).toUpperCase() + b.substr(1), u = b), "enter" !== b && "move" !== b && (p = l(a, b, g, t, v)), q = l(a, b, g, t, u)
}
if (p || q) {
var w;
return{$$willAnimate: !0, end: function () {
return w ? w.end() : (i(), w = new c, w.complete(!0)), w
}, start: function () {
function a(a) {
i(a), w.complete(a)
}
function b(b) {
m || ((d || M)(b), a(b))
}
if (w)return w;
w = new c;
var d, e = [];
return p && e.push(function (a) {
d = p(a)
}), e.length ? e.push(function (a) {
h(), a(!0)
}) : h(), q && e.push(function (a) {
d = q(a)
}), w.setHost({end: function () {
b()
}, cancel: function () {
b(!0)
}}), c.chain(e, a), w
}}
}
}
}]
}], Ba = ["$$animationProvider", function (a) {
a.drivers.push("$$animateJsDriver"), this.$get = ["$$animateJs", "$$AnimateRunner", function (a, b) {
function c(b) {
var c = b.element, d = b.event, e = b.options, f = b.classes;
return a(c, d, f, e)
}
return function (a) {
if (a.from && a.to) {
var d = c(a.from), e = c(a.to);
if (!d && !e)return;
return{start: function () {
function a() {
return function () {
Q(f, function (a) {
a.end()
})
}
}
function c(a) {
g.complete(a)
}
var f = [];
d && f.push(d.start()), e && f.push(e.start()), b.all(f, c);
var g = new b({end: a(), cancel: a()});
return g
}}
}
return c(a)
}
}]
}], Ca = "data-ng-animate", Da = "$ngAnimatePin", Ea = ["$animateProvider", function (a) {
function b(a) {
if (!a)return null;
var b = a.split(k), c = Object.create(null);
return Q(b, function (a) {
c[a] = !0
}), c
}
function c(a, c) {
if (a && c) {
var d = b(c);
return a.split(k).some(function (a) {
return d[a]
})
}
}
function e(a, b, c, d) {
return l[a].some(function (a) {
return a(b, c, d)
})
}
function f(a, b) {
a = a || {};
var c = (a.addClass || "").length > 0, d = (a.removeClass || "").length > 0;
return b ? c && d : c || d
}
var g = 1, h = 2, k = " ", l = this.rules = {skip: [], cancel: [], join: []};
l.join.push(function (a, b, c) {
return!b.structural && f(b.options)
}), l.skip.push(function (a, b, c) {
return!b.structural && !f(b.options)
}), l.skip.push(function (a, b, c) {
return"leave" == c.event && b.structural
}), l.skip.push(function (a, b, c) {
return c.structural && c.state === h && !b.structural
}), l.cancel.push(function (a, b, c) {
return c.structural && b.structural
}), l.cancel.push(function (a, b, c) {
return c.state === h && b.structural
}), l.cancel.push(function (a, b, d) {
var e = b.options.addClass, f = b.options.removeClass, g = d.options.addClass, h = d.options.removeClass;
return U(e) && U(f) || U(g) && U(h) ? !1 : c(e, h) || c(f, g)
}), this.$get = ["$$rAF", "$rootScope", "$rootElement", "$document", "$$HashMap", "$$animation", "$$AnimateRunner", "$templateRequest", "$$jqLite", "$$forceReflow", function (b, c, k, l, p, q, s, w, x, y) {
function z() {
var a = !1;
return function (b) {
a ? b() : c.$$postDigest(function () {
a = !0, b()
})
}
}
function A(a, b) {
return r(a, b, {})
}
function B(a, b, c) {
var d = t(b), e = t(a), f = [], g = M[c];
return g && Q(g, function (a) {
_.call(a.node, d) ? f.push(a.callback) : "leave" === c && _.call(a.node, e) && f.push(a.callback)
}), f
}
function C(a, d, j) {
function k(c, d, e, f) {
C(function () {
var c = B(w, a, d);
c.length && b(function () {
Q(c, function (b) {
b(a, e, f)
})
})
}), c.progress(d, e, f)
}
function m(b) {
v(a, x), $(a, x), o(a, x), x.domOperation(), y.complete(!b)
}
var p, w, x = N(j);
a = i(a), a && (p = t(a), w = a.parent()), x = n(x);
var y = new s, C = z();
if (R(x.addClass) && (x.addClass = x.addClass.join(" ")), x.addClass && !S(x.addClass) && (x.addClass = null), R(x.removeClass) && (x.removeClass = x.removeClass.join(" ")), x.removeClass && !S(x.removeClass) && (x.removeClass = null), x.from && !T(x.from) && (x.from = null), x.to && !T(x.to) && (x.to = null), !p)return m(), y;
var F = [p.className, x.addClass, x.removeClass].join(" ");
if (!Z(F))return m(), y;
var L = ["enter", "move", "leave"].indexOf(d) >= 0, M = !K || l[0].hidden || J.get(p), O = !M && I.get(p) || {}, P = !!O.state;
if (M || P && O.state == g || (M = !G(a, w, d)), M)return m(), y;
L && D(a);
var U = {structural: L, element: a, event: d, close: m, options: x, runner: y};
if (P) {
var V = e("skip", a, U, O);
if (V)return O.state === h ? (m(), y) : (r(a, O.options, x), O.runner);
var W = e("cancel", a, U, O);
if (W)if (O.state === h)O.runner.end(); else {
if (!O.structural)return r(a, O.options, U.options), O.runner;
O.close()
} else {
var X = e("join", a, U, O);
if (X) {
if (O.state !== h)return u(a, L ? d : null, x), d = U.event = O.event, x = r(a, O.options, U.options), O.runner;
A(a, x)
}
}
} else A(a, x);
var Y = U.structural;
if (Y || (Y = "animate" === U.event && Object.keys(U.options.to || {}).length > 0 || f(U.options)), !Y)return m(), E(a), y;
var _ = (O.counter || 0) + 1;
return U.counter = _, H(a, g, U), c.$$postDigest(function () {
var b = I.get(p), c = !b;
b = b || {};
var e = a.parent() || [], g = e.length > 0 && ("animate" === b.event || b.structural || f(b.options));
if (c || b.counter !== _ || !g)return c && ($(a, x), o(a, x)), (c || L && b.event !== d) && (x.domOperation(), y.end()), void(g || E(a));
d = !b.structural && f(b.options, !0) ? "setClass" : b.event, H(a, h);
var i = q(a, d, b.options);
i.done(function (b) {
m(!b);
var c = I.get(p);
c && c.counter === _ && E(t(a)), k(y, d, "close", {})
}), y.setHost(i), k(y, d, "start", {})
}), y
}
function D(a) {
var b = t(a), c = b.querySelectorAll("[" + Ca + "]");
Q(c, function (a) {
var b = parseInt(a.getAttribute(Ca)), c = I.get(a);
if (c)switch (b) {
case h:
c.runner.end();
case g:
I.remove(a)
}
})
}
function E(a) {
var b = t(a);
b.removeAttribute(Ca), I.remove(b)
}
function F(a, b) {
return t(a) === t(b)
}
function G(a, b, c) {
var d, e = P(l[0].body), f = F(a, e) || "HTML" === a[0].nodeName, g = F(a, k), h = !1, i = J.get(t(a)), j = a.data(Da);
for (j && (b = j); b && b.length;) {
g || (g = F(b, k));
var m = b[0];
if (m.nodeType !== Y)break;
var n = I.get(m) || {};
if (!h) {
var o = J.get(m);
if (o === !0 && i !== !1) {
i = !0;
break
}
o === !1 && (i = !1), h = n.structural
}
if (U(d) || d === !0) {
var p = b.data(ca);
V(p) && (d = p)
}
if (h && d === !1)break;
if (f || (f = F(b, e)), f && g)break;
b = g || !(j = b.data(Da)) ? b.parent() : j
}
var q = (!h || d) && i !== !0;
return q && g && f
}
function H(a, b, c) {
c = c || {}, c.state = b;
var d = t(a);
d.setAttribute(Ca, b);
var e = I.get(d), f = e ? O(e, c) : c;
I.put(d, f)
}
var I = new p, J = new p, K = null, L = c.$watch(function () {
return 0 === w.totalPendingRequests
}, function (a) {
a && (L(), c.$$postDigest(function () {
c.$$postDigest(function () {
null === K && (K = !0)
})
}))
}), M = {}, W = a.classNameFilter(), Z = W ? function (a) {
return W.test(a)
} : function () {
return!0
}, $ = m(x), _ = Node.prototype.contains || function (a) {
return this === a || !!(16 & this.compareDocumentPosition(a))
};
return{on: function (a, b, c) {
var d = j(b);
M[a] = M[a] || [], M[a].push({node: d, callback: c})
}, off: function (a, b, c) {
function d(a, b, c) {
var d = j(b);
return a.filter(function (a) {
var b = a.node === d && (!c || a.callback === c);
return!b
})
}
var e = M[a];
e && (M[a] = 1 === arguments.length ? null : d(e, b, c))
}, pin: function (a, b) {
d(X(a), "element", "not an element"), d(X(b), "parentElement", "not an element"), a.data(Da, b)
}, push: function (a, b, c, d) {
return c = c || {}, c.domOperation = d, C(a, b, c)
}, enabled: function (a, b) {
var c = arguments.length;
if (0 === c)b = !!K; else {
var d = X(a);
if (d) {
var e = t(a), f = J.get(e);
1 === c ? b = !f : J.put(e, !b)
} else b = K = !!a
}
return b
}}
}]
}], Fa = ["$animateProvider", function (a) {
function b(a, b) {
a.data(h, b)
}
function c(a) {
a.removeData(h)
}
function d(a) {
return a.data(h)
}
var f = "ng-animate-ref", g = this.drivers = [], h = "$$animationRunner";
this.$get = ["$$jqLite", "$rootScope", "$injector", "$$AnimateRunner", "$$HashMap", "$$rAFScheduler", function (a, h, i, j, k, l) {
function p(a) {
function b(a) {
if (a.processed)return a;
a.processed = !0;
var c = a.domNode, d = c.parentNode;
f.put(c, a);
for (var g; d;) {
if (g = f.get(d)) {
g.processed || (g = b(g));
break
}
d = d.parentNode
}
return(g || e).children.push(a), a
}
function c(a) {
var b, c = [], d = [];
for (b = 0; b < a.children.length; b++)d.push(a.children[b]);
var e = d.length, f = 0, g = [];
for (b = 0; b < d.length; b++) {
var h = d[b];
0 >= e && (e = f, f = 0, c.push(g), g = []), g.push(h.fn), h.children.forEach(function (a) {
f++, d.push(a)
}), e--
}
return g.length && c.push(g), c
}
var d, e = {children: []}, f = new k;
for (d = 0; d < a.length; d++) {
var g = a[d];
f.put(g.domNode, a[d] = {domNode: g.domNode, fn: g.fn, children: []})
}
for (d = 0; d < a.length; d++)b(a[d]);
return c(e)
}
var q = [], r = m(a);
return function (k, m, s) {
function u(a) {
var b = "[" + f + "]", c = a.hasAttribute(f) ? [a] : a.querySelectorAll(b), d = [];
return Q(c, function (a) {
var b = a.getAttribute(f);
b && b.length && d.push(a)
}), d
}
function v(a) {
var b = [], c = {};
Q(a, function (a, d) {
var e = a.element, g = t(e), h = a.event, i = ["enter", "move"].indexOf(h) >= 0, j = a.structural ? u(g) : [];
if (j.length) {
var k = i ? "to" : "from";
Q(j, function (a) {
var b = a.getAttribute(f);
c[b] = c[b] || {}, c[b][k] = {animationID: d, element: P(a)}
})
} else b.push(a)
});
var d = {}, e = {};
return Q(c, function (c, f) {
var g = c.from, h = c.to;
if (!g || !h) {
var i = g ? g.animationID : h.animationID, j = i.toString();
return void(d[j] || (d[j] = !0, b.push(a[i])))
}
var k = a[g.animationID], l = a[h.animationID], m = g.animationID.toString();
if (!e[m]) {
var n = e[m] = {structural: !0, beforeStart: function () {
k.beforeStart(), l.beforeStart()
}, close: function () {
k.close(), l.close()
}, classes: w(k.classes, l.classes), from: k, to: l, anchors: []};
n.classes.length ? b.push(n) : (b.push(k), b.push(l))
}
e[m].anchors.push({out: g.element, "in": h.element})
}), b
}
function w(a, b) {
a = a.split(" "), b = b.split(" ");
for (var c = [], d = 0; d < a.length; d++) {
var e = a[d];
if ("ng-" !== e.substring(0, 3))for (var f = 0; f < b.length; f++)if (e === b[f]) {
c.push(e);
break
}
}
return c.join(" ")
}
function x(a) {
for (var b = g.length - 1; b >= 0; b--) {
var c = g[b];
if (i.has(c)) {
var d = i.get(c), e = d(a);
if (e)return e
}
}
}
function y() {
k.addClass(ba), F && a.addClass(k, F)
}
function z(a, b) {
function c(a) {
d(a).setHost(b)
}
a.from && a.to ? (c(a.from.element), c(a.to.element)) : c(a.element)
}
function A() {
var a = d(k);
!a || "leave" === m && s.$$domOperationFired || a.end()
}
function B(b) {
k.off("$destroy", A), c(k), r(k, s), o(k, s), s.domOperation(), F && a.removeClass(k, F), k.removeClass(ba), D.complete(!b)
}
s = n(s);
var C = ["enter", "move", "leave"].indexOf(m) >= 0, D = new j({end: function () {
B()
}, cancel: function () {
B(!0)
}});
if (!g.length)return B(), D;
b(k, D);
var E = e(k.attr("class"), e(s.addClass, s.removeClass)), F = s.tempClasses;
return F && (E += " " + F, s.tempClasses = null), q.push({element: k, classes: E, event: m, structural: C, options: s, beforeStart: y, close: B}), k.on("$destroy", A), q.length > 1 ? D : (h.$$postDigest(function () {
var a = [];
Q(q, function (b) {
d(b.element) ? a.push(b) : b.close()
}), q.length = 0;
var b = v(a), c = [];
Q(b, function (a) {
c.push({domNode: t(a.from ? a.from.element : a.element), fn: function () {
a.beforeStart();
var b, c = a.close, e = a.anchors ? a.from.element || a.to.element : a.element;
if (d(e)) {
var f = x(a);
f && (b = f.start)
}
if (b) {
var g = b();
g.done(function (a) {
c(!a)
}), z(a, g)
} else c()
}})
}), l(p(c))
}), D)
}
}]
}];
b.module("ngAnimate", []).directive("ngAnimateChildren", ra).factory("$$rAFScheduler", qa).provider("$$animateQueue", Ea).provider("$$animation", Fa).provider("$animateCss", ya).provider("$$animateCssDriver", za).provider("$$animateJs", Aa).provider("$$animateJsDriver", Ba)
}(window, window.angular), function (a, b, c) {
"use strict";
function d(a, c, d) {
function e(a, d, e) {
var g, h;
e = e || {}, h = e.expires, g = b.isDefined(e.path) ? e.path : f, b.isUndefined(d) && (h = "Thu, 01 Jan 1970 00:00:00 GMT", d = ""), b.isString(h) && (h = new Date(h));
var i = encodeURIComponent(a) + "=" + encodeURIComponent(d);
i += g ? ";path=" + g : "", i += e.domain ? ";domain=" + e.domain : "", i += h ? ";expires=" + h.toUTCString() : "", i += e.secure ? ";secure" : "";
var j = i.length + 1;
return j > 4096 && c.warn("Cookie '" + a + "' possibly not set or overflowed because it was too large (" + j + " > 4096 bytes)!"), i
}
var f = d.baseHref(), g = a[0];
return function (a, b, c) {
g.cookie = e(a, b, c)
}
}
b.module("ngCookies", ["ng"]).provider("$cookies", [function () {
function a(a) {
return a ? b.extend({}, d, a) : d
}
var d = this.defaults = {};
this.$get = ["$$cookieReader", "$$cookieWriter", function (d, e) {
return{get: function (a) {
return d()[a]
}, getObject: function (a) {
var c = this.get(a);
return c ? b.fromJson(c) : c
}, getAll: function () {
return d()
}, put: function (b, c, d) {
e(b, c, a(d))
}, putObject: function (a, c, d) {
this.put(a, b.toJson(c), d)
}, remove: function (b, d) {
e(b, c, a(d))
}}
}]
}]), b.module("ngCookies").factory("$cookieStore", ["$cookies", function (a) {
return{get: function (b) {
return a.getObject(b)
}, put: function (b, c) {
a.putObject(b, c)
}, remove: function (b) {
a.remove(b)
}}
}]), d.$inject = ["$document", "$log", "$browser"], b.module("ngCookies").provider("$$cookieWriter", function () {
this.$get = d
})
}(window, window.angular), function (a, b, c) {
"use strict";
function d(a) {
return null != a && "" !== a && "hasOwnProperty" !== a && h.test("." + a)
}
function e(a, e) {
if (!d(e))throw g("badmember", 'Dotted member path "@{0}" is invalid.', e);
for (var f = e.split("."), h = 0, i = f.length; i > h && b.isDefined(a); h++) {
var j = f[h];
a = null !== a ? a[j] : c
}
return a
}
function f(a, c) {
c = c || {}, b.forEach(c, function (a, b) {
delete c[b]
});
for (var d in a)!a.hasOwnProperty(d) || "$" === d.charAt(0) && "$" === d.charAt(1) || (c[d] = a[d]);
return c
}
var g = b.$$minErr("$resource"), h = /^(\.[a-zA-Z_$@][0-9a-zA-Z_$@]*)+$/;
b.module("ngResource", ["ng"]).provider("$resource", function () {
var a = /^https?:\/\/[^\/]*/, d = this;
this.defaults = {stripTrailingSlashes: !0, actions: {get: {method: "GET"}, save: {method: "POST"}, query: {method: "GET", isArray: !0}, remove: {method: "DELETE"}, "delete": {method: "DELETE"}}}, this.$get = ["$http", "$log", "$q", function (h, i, j) {
function k(a) {
return l(a, !0).replace(/%26/gi, "&").replace(/%3D/gi, "=").replace(/%2B/gi, "+")
}
function l(a, b) {
return encodeURIComponent(a).replace(/%40/gi, "@").replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, b ? "%20" : "+")
}
function m(a, b) {
this.template = a, this.defaults = q({}, d.defaults, b), this.urlParams = {}
}
function n(a, k, l, t) {
function u(a, b) {
var c = {};
return b = q({}, k, b), p(b, function (b, d) {
s(b) && (b = b()), c[d] = b && b.charAt && "@" == b.charAt(0) ? e(a, b.substr(1)) : b
}), c
}
function v(a) {
return a.resource
}
function w(a) {
f(a || {}, this)
}
var x = new m(a, t);
return l = q({}, d.defaults.actions, l), w.prototype.toJSON = function () {
var a = q({}, this);
return delete a.$promise, delete a.$resolved, a
}, p(l, function (a, d) {
var e = /^(POST|PUT|PATCH)$/i.test(a.method);
w[d] = function (k, l, m, n) {
var t, y, z, A = {};
switch (arguments.length) {
case 4:
z = n, y = m;
case 3:
case 2:
if (!s(l)) {
A = k, t = l, y = m;
break
}
if (s(k)) {
y = k, z = l;
break
}
y = l, z = m;
case 1:
s(k) ? y = k : e ? t = k : A = k;
break;
case 0:
break;
default:
throw g("badargs", "Expected up to 4 arguments [params, data, success, error], got {0} arguments", arguments.length)
}
var B = this instanceof w, C = B ? t : a.isArray ? [] : new w(t), D = {}, E = a.interceptor && a.interceptor.response || v, F = a.interceptor && a.interceptor.responseError || c;
p(a, function (a, c) {
switch (c) {
default:
D[c] = r(a);
break;
case"params":
case"isArray":
case"interceptor":
break;
case"timeout":
a && !b.isNumber(a) && i.debug("ngResource:\n Only numeric values are allowed as `timeout`.\n Promises are not supported in $resource, because the same value would be used for multiple requests.\n If you need support for cancellable $resource actions, you should upgrade to version 1.5 or higher.")
}
}), e && (D.data = t), x.setUrlParams(D, q({}, u(t, a.params || {}), A), a.url);
var G = h(D).then(function (c) {
var e = c.data, h = C.$promise;
if (e) {
if (b.isArray(e) !== !!a.isArray)throw g("badcfg", "Error in resource configuration for action `{0}`. Expected response to contain an {1} but got an {2} (Request: {3} {4})", d, a.isArray ? "array" : "object", b.isArray(e) ? "array" : "object", D.method, D.url);
a.isArray ? (C.length = 0, p(e, function (a) {
"object" == typeof a ? C.push(new w(a)) : C.push(a)
})) : (f(e, C), C.$promise = h)
}
return C.$resolved = !0, c.resource = C, c
}, function (a) {
return C.$resolved = !0, (z || o)(a), j.reject(a)
});
return G = G.then(function (a) {
var b = E(a);
return(y || o)(b, a.headers), b
}, F), B ? G : (C.$promise = G, C.$resolved = !1, C)
}, w.prototype["$" + d] = function (a, b, c) {
s(a) && (c = b, b = a, a = {});
var e = w[d].call(this, a, this, b, c);
return e.$promise || e
}
}), w.bind = function (b) {
return n(a, q({}, k, b), l)
}, w
}
var o = b.noop, p = b.forEach, q = b.extend, r = b.copy, s = b.isFunction;
return m.prototype = {setUrlParams: function (c, d, e) {
var f, h, i = this, j = e || i.template, l = "", m = i.urlParams = {};
p(j.split(/\W/), function (a) {
if ("hasOwnProperty" === a)throw g("badname", "hasOwnProperty is not a valid parameter name.");
!new RegExp("^\\d+$").test(a) && a && new RegExp("(^|[^\\\\]):" + a + "(\\W|$)").test(j) && (m[a] = !0)
}), j = j.replace(/\\:/g, ":"), j = j.replace(a, function (a) {
return l = a, ""
}), d = d || {}, p(i.urlParams, function (a, c) {
f = d.hasOwnProperty(c) ? d[c] : i.defaults[c], b.isDefined(f) && null !== f ? (h = k(f), j = j.replace(new RegExp(":" + c + "(\\W|$)", "g"), function (a, b) {
return h + b
})) : j = j.replace(new RegExp("(/?):" + c + "(\\W|$)", "g"), function (a, b, c) {
return"/" == c.charAt(0) ? c : b + c
})
}), i.defaults.stripTrailingSlashes && (j = j.replace(/\/+$/, "") || "/"), j = j.replace(/\/\.(?=\w+($|\?))/, "."), c.url = l + j.replace(/\/\\\./, "/."), p(d, function (a, b) {
i.urlParams[b] || (c.params = c.params || {}, c.params[b] = a)
})
}}, n
}]
})
}(window, window.angular), function (a, b, c) {
"use strict";
function d() {
function a(a, c) {
return b.extend(Object.create(a), c)
}
function c(a, b) {
var c = b.caseInsensitiveMatch, d = {originalPath: a, regexp: a}, e = d.keys = [];
return a = a.replace(/([().])/g, "\\$1").replace(/(\/)?:(\w+)([\?\*])?/g,function (a, b, c, d) {
var f = "?" === d ? d : null, g = "*" === d ? d : null;
return e.push({name: c, optional: !!f}), b = b || "", "" + (f ? "" : b) + "(?:" + (f ? b : "") + (g && "(.+?)" || "([^/]+)") + (f || "") + ")" + (f || "")
}).replace(/([\/$\*])/g, "\\$1"), d.regexp = new RegExp("^" + a + "$", c ? "i" : ""), d
}
var d = {};
this.when = function (a, e) {
var f = b.copy(e);
if (b.isUndefined(f.reloadOnSearch) && (f.reloadOnSearch = !0), b.isUndefined(f.caseInsensitiveMatch) && (f.caseInsensitiveMatch = this.caseInsensitiveMatch), d[a] = b.extend(f, a && c(a, f)), a) {
var g = "/" == a[a.length - 1] ? a.substr(0, a.length - 1) : a + "/";
d[g] = b.extend({redirectTo: a}, c(g, f))
}
return this
}, this.caseInsensitiveMatch = !1, this.otherwise = function (a) {
return"string" == typeof a && (a = {redirectTo: a}), this.when(null, a), this
}, this.$get = ["$rootScope", "$location", "$routeParams", "$q", "$injector", "$templateRequest", "$sce", function (c, e, f, g, h, j, k) {
function l(a, b) {
var c = b.keys, d = {};
if (!b.regexp)return null;
var e = b.regexp.exec(a);
if (!e)return null;
for (var f = 1, g = e.length; g > f; ++f) {
var h = c[f - 1], i = e[f];
h && i && (d[h.name] = i)
}
return d
}
function m(a) {
var d = t.current;
q = o(), r = q && d && q.$$route === d.$$route && b.equals(q.pathParams, d.pathParams) && !q.reloadOnSearch && !s, r || !d && !q || c.$broadcast("$routeChangeStart", q, d).defaultPrevented && a && a.preventDefault()
}
function n() {
var a = t.current, d = q;
r ? (a.params = d.params, b.copy(a.params, f), c.$broadcast("$routeUpdate", a)) : (d || a) && (s = !1, t.current = d, d && d.redirectTo && (b.isString(d.redirectTo) ? e.path(p(d.redirectTo, d.params)).search(d.params).replace() : e.url(d.redirectTo(d.pathParams, e.path(), e.search())).replace()), g.when(d).then(function () {
if (d) {
var a, c, e = b.extend({}, d.resolve);
return b.forEach(e, function (a, c) {
e[c] = b.isString(a) ? h.get(a) : h.invoke(a, null, null, c)
}), b.isDefined(a = d.template) ? b.isFunction(a) && (a = a(d.params)) : b.isDefined(c = d.templateUrl) && (b.isFunction(c) && (c = c(d.params)), b.isDefined(c) && (d.loadedTemplateUrl = k.valueOf(c), a = j(c))), b.isDefined(a) && (e.$template = a), g.all(e)
}
}).then(function (e) {
d == t.current && (d && (d.locals = e, b.copy(d.params, f)), c.$broadcast("$routeChangeSuccess", d, a))
}, function (b) {
d == t.current && c.$broadcast("$routeChangeError", d, a, b)
}))
}
function o() {
var c, f;
return b.forEach(d, function (d, g) {
!f && (c = l(e.path(), d)) && (f = a(d, {params: b.extend({}, e.search(), c), pathParams: c}), f.$$route = d)
}), f || d[null] && a(d[null], {params: {}, pathParams: {}})
}
function p(a, c) {
var d = [];
return b.forEach((a || "").split(":"), function (a, b) {
if (0 === b)d.push(a); else {
var e = a.match(/(\w+)(?:[?*])?(.*)/), f = e[1];
d.push(c[f]), d.push(e[2] || ""), delete c[f]
}
}), d.join("")
}
var q, r, s = !1, t = {routes: d, reload: function () {
s = !0, c.$evalAsync(function () {
m(), n()
})
}, updateParams: function (a) {
if (!this.current || !this.current.$$route)throw i("norout", "Tried updating route when with no current route");
a = b.extend({}, this.current.params, a), e.path(p(this.current.$$route.originalPath, a)),
e.search(a)
}};
return c.$on("$locationChangeStart", m), c.$on("$locationChangeSuccess", n), t
}]
}
function e() {
this.$get = function () {
return{}
}
}
function f(a, c, d) {
return{restrict: "ECA", terminal: !0, priority: 400, transclude: "element", link: function (e, f, g, h, i) {
function j() {
n && (d.cancel(n), n = null), l && (l.$destroy(), l = null), m && (n = d.leave(m), n.then(function () {
n = null
}), m = null)
}
function k() {
var g = a.current && a.current.locals, h = g && g.$template;
if (b.isDefined(h)) {
var k = e.$new(), n = a.current, q = i(k, function (a) {
d.enter(a, null, m || f).then(function () {
!b.isDefined(o) || o && !e.$eval(o) || c()
}), j()
});
m = q, l = n.scope = k, l.$emit("$viewContentLoaded"), l.$eval(p)
} else j()
}
var l, m, n, o = g.autoscroll, p = g.onload || "";
e.$on("$routeChangeSuccess", k), k()
}}
}
function g(a, b, c) {
return{restrict: "ECA", priority: -400, link: function (d, e) {
var f = c.current, g = f.locals;
e.html(g.$template);
var h = a(e.contents());
if (f.controller) {
g.$scope = d;
var i = b(f.controller, g);
f.controllerAs && (d[f.controllerAs] = i), e.data("$ngControllerController", i), e.children().data("$ngControllerController", i)
}
h(d)
}}
}
var h = b.module("ngRoute", ["ng"]).provider("$route", d), i = b.$$minErr("ngRoute");
h.provider("$routeParams", e), h.directive("ngView", f), h.directive("ngView", g), f.$inject = ["$route", "$anchorScroll", "$animate"], g.$inject = ["$compile", "$controller", "$route"]
}(window, window.angular), function (a, b, c) {
"use strict";
function d() {
this.$get = ["$$sanitizeUri", function (a) {
return function (b) {
var c = [];
return g(b, j(c, function (b, c) {
return!/^unsafe/.test(a(b, c))
})), c.join("")
}
}]
}
function e(a) {
var c = [], d = j(c, b.noop);
return d.chars(a), c.join("")
}
function f(a, c) {
var d, e = {}, f = a.split(",");
for (d = 0; d < f.length; d++)e[c ? b.lowercase(f[d]) : f[d]] = !0;
return e
}
function g(a, c) {
function d(a, d, f, g) {
if (d = b.lowercase(d), z[d])for (; t.last() && A[t.last()];)e("", t.last());
y[d] && t.last() == d && e("", d), g = v[d] || !!g, g || t.push(d);
var i = {};
f.replace(n, function (a, b, c, d, e) {
var f = c || d || e || "";
i[b] = h(f)
}), c.start && c.start(d, i, g)
}
function e(a, d) {
var e, f = 0;
if (d = b.lowercase(d))for (f = t.length - 1; f >= 0 && t[f] != d; f--);
if (f >= 0) {
for (e = t.length - 1; e >= f; e--)c.end && c.end(t[e]);
t.length = f
}
}
"string" != typeof a && (a = null === a || "undefined" == typeof a ? "" : "" + a);
var f, g, i, j, t = [], u = a;
for (t.last = function () {
return t[t.length - 1]
}; a;) {
if (j = "", g = !0, t.last() && C[t.last()] ? (a = a.replace(new RegExp("([\\W\\w]*)<\\s*\\/\\s*" + t.last() + "[^>]*>", "i"), function (a, b) {
return b = b.replace(q, "$1").replace(s, "$1"), c.chars && c.chars(h(b)), ""
}), e("", t.last())) : (0 === a.indexOf("", f) === f && (c.comment && c.comment(a.substring(4, f)), a = a.substring(f + 3), g = !1)) : r.test(a) ? (i = a.match(r), i && (a = a.replace(i[0], ""), g = !1)) : p.test(a) ? (i = a.match(m), i && (a = a.substring(i[0].length), i[0].replace(m, e), g = !1)) : o.test(a) && (i = a.match(l), i ? (i[4] && (a = a.substring(i[0].length), i[0].replace(l, d)), g = !1) : (j += "<", a = a.substring(1))), g && (f = a.indexOf("<"), j += 0 > f ? a : a.substring(0, f), a = 0 > f ? "" : a.substring(f), c.chars && c.chars(h(j)))), a == u)throw k("badparse", "The sanitizer was unable to parse the following block of html: {0}", a);
u = a
}
e()
}
function h(a) {
return a ? (I.innerHTML = a.replace(//g, ">")
}
function j(a, c) {
var d = !1, e = b.bind(a, a.push);
return{start: function (a, f, g) {
a = b.lowercase(a), !d && C[a] && (d = a), d || D[a] !== !0 || (e("<"), e(a), b.forEach(f, function (d, f) {
var g = b.lowercase(f), h = "img" === a && "src" === g || "background" === g;
H[g] !== !0 || E[g] === !0 && !c(d, h) || (e(" "), e(f), e('="'), e(i(d)), e('"'))
}), e(g ? "/>" : ">"))
}, end: function (a) {
a = b.lowercase(a), d || D[a] !== !0 || (e(""), e(a), e(">")), a == d && (d = !1)
}, chars: function (a) {
d || e(i(a))
}}
}
var k = b.$$minErr("$sanitize"), l = /^<((?:[a-zA-Z])[\w:-]*)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)\s*(>?)/, m = /^<\/\s*([\w:-]+)[^>]*>/, n = /([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g, o = /^, p = /^<\//, q = //g, r = /]*?)>/i, s = //g, t = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g, u = /([^\#-~| |!])/g, v = f("area,br,col,hr,img,wbr"), w = f("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"), x = f("rp,rt"), y = b.extend({}, x, w), z = b.extend({}, w, f("address,article,aside,blockquote,caption,center,del,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,map,menu,nav,ol,pre,script,section,table,ul")), A = b.extend({}, x, f("a,abbr,acronym,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,q,ruby,rp,rt,s,samp,small,span,strike,strong,sub,sup,time,tt,u,var")), B = f("circle,defs,desc,ellipse,font-face,font-face-name,font-face-src,g,glyph,hkern,image,linearGradient,line,marker,metadata,missing-glyph,mpath,path,polygon,polyline,radialGradient,rect,stop,svg,switch,text,title,tspan,use"), C = f("script,style"), D = b.extend({}, v, z, A, y, B), E = f("background,cite,href,longdesc,src,usemap,xlink:href"), F = f("abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,coords,dir,face,headers,height,hreflang,hspace,ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,scope,scrolling,shape,size,span,start,summary,tabindex,target,title,type,valign,value,vspace,width"), G = f("accent-height,accumulate,additive,alphabetic,arabic-form,ascent,baseProfile,bbox,begin,by,calcMode,cap-height,class,color,color-rendering,content,cx,cy,d,dx,dy,descent,display,dur,end,fill,fill-rule,font-family,font-size,font-stretch,font-style,font-variant,font-weight,from,fx,fy,g1,g2,glyph-name,gradientUnits,hanging,height,horiz-adv-x,horiz-origin-x,ideographic,k,keyPoints,keySplines,keyTimes,lang,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mathematical,max,min,offset,opacity,orient,origin,overline-position,overline-thickness,panose-1,path,pathLength,points,preserveAspectRatio,r,refX,refY,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,rotate,rx,ry,slope,stemh,stemv,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,systemLanguage,target,text-anchor,to,transform,type,u1,u2,underline-position,underline-thickness,unicode,unicode-range,units-per-em,values,version,viewBox,visibility,width,widths,x,x-height,x1,x2,xlink:actuate,xlink:arcrole,xlink:role,xlink:show,xlink:title,xlink:type,xml:base,xml:lang,xml:space,xmlns,xmlns:xlink,y,y1,y2,zoomAndPan", !0), H = b.extend({}, E, G, F), I = document.createElement("pre");
b.module("ngSanitize", []).provider("$sanitize", d), b.module("ngSanitize").filter("linky", ["$sanitize", function (a) {
var c = /((ftp|https?):\/\/|(www\.)|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s.;,(){}<>"\u201d\u2019]/i, d = /^mailto:/i;
return function (f, g) {
function h(a) {
a && n.push(e(a))
}
function i(a, c) {
n.push("'), h(c), n.push("")
}
if (!f)return f;
for (var j, k, l, m = f, n = []; j = m.match(c);)k = j[0], j[2] || j[4] || (k = (j[3] ? "http://" : "mailto:") + k), l = j.index, h(m.substr(0, l)), i(k, j[0].replace(d, "")), m = m.substring(l + j[0].length);
return h(m), a(n.join(""))
}
}])
}(window, window.angular), function (a, b, c) {
"use strict";
function d(a) {
return b.lowercase(a.nodeName || a[0] && a[0].nodeName)
}
function e(a, c, d) {
f.directive(a, ["$parse", "$swipe", function (e, f) {
var g = 75, h = .3, i = 30;
return function (j, k, l) {
function m(a) {
if (!n)return!1;
var b = Math.abs(a.y - n.y), d = (a.x - n.x) * c;
return o && g > b && d > 0 && d > i && h > b / d
}
var n, o, p = e(l[a]), q = ["touch"];
b.isDefined(l.ngSwipeDisableMouse) || q.push("mouse"), f.bind(k, {start: function (a, b) {
n = a, o = !0
}, cancel: function (a) {
o = !1
}, end: function (a, b) {
m(a) && j.$apply(function () {
k.triggerHandler(d), p(j, {$event: b})
})
}}, q)
}
}])
}
var f = b.module("ngTouch", []);
f.factory("$swipe", [function () {
function a(a) {
var b = a.originalEvent || a, c = b.touches && b.touches.length ? b.touches : [b], d = b.changedTouches && b.changedTouches[0] || c[0];
return{x: d.clientX, y: d.clientY}
}
function c(a, c) {
var d = [];
return b.forEach(a, function (a) {
var b = e[a][c];
b && d.push(b)
}), d.join(" ")
}
var d = 10, e = {mouse: {start: "mousedown", move: "mousemove", end: "mouseup"}, touch: {start: "touchstart", move: "touchmove", end: "touchend", cancel: "touchcancel"}};
return{bind: function (b, e, f) {
var g, h, i, j, k = !1;
f = f || ["mouse", "touch"], b.on(c(f, "start"), function (b) {
i = a(b), k = !0, g = 0, h = 0, j = i, e.start && e.start(i, b)
});
var l = c(f, "cancel");
l && b.on(l, function (a) {
k = !1, e.cancel && e.cancel(a)
}), b.on(c(f, "move"), function (b) {
if (k && i) {
var c = a(b);
if (g += Math.abs(c.x - j.x), h += Math.abs(c.y - j.y), j = c, !(d > g && d > h))return h > g ? (k = !1, void(e.cancel && e.cancel(b))) : (b.preventDefault(), void(e.move && e.move(c, b)))
}
}), b.on(c(f, "end"), function (b) {
k && (k = !1, e.end && e.end(a(b), b))
})
}}
}]), f.config(["$provide", function (a) {
a.decorator("ngClickDirective", ["$delegate", function (a) {
return a.shift(), a
}])
}]), f.directive("ngClick", ["$parse", "$timeout", "$rootElement", function (a, c, e) {
function f(a, b, c, d) {
return Math.abs(a - c) < q && Math.abs(b - d) < q
}
function g(a, b, c) {
for (var d = 0; d < a.length; d += 2)if (f(a[d], a[d + 1], b, c))return a.splice(d, d + 2), !0;
return!1
}
function h(a) {
if (!(Date.now() - k > p)) {
var b = a.touches && a.touches.length ? a.touches : [a], c = b[0].clientX, e = b[0].clientY;
1 > c && 1 > e || m && m[0] === c && m[1] === e || (m && (m = null), "label" === d(a.target) && (m = [c, e]), g(l, c, e) || (a.stopPropagation(), a.preventDefault(), a.target && a.target.blur && a.target.blur()))
}
}
function i(a) {
var b = a.touches && a.touches.length ? a.touches : [a], d = b[0].clientX, e = b[0].clientY;
l.push(d, e), c(function () {
for (var a = 0; a < l.length; a += 2)if (l[a] == d && l[a + 1] == e)return void l.splice(a, a + 2)
}, p, !1)
}
function j(a, b) {
l || (e[0].addEventListener("click", h, !0), e[0].addEventListener("touchstart", i, !0), l = []), k = Date.now(), g(l, a, b)
}
var k, l, m, n = 750, o = 12, p = 2500, q = 25, r = "ng-click-active";
return function (c, d, e) {
function f() {
m = !1, d.removeClass(r)
}
var g, h, i, k, l = a(e.ngClick), m = !1;
d.on("touchstart", function (a) {
m = !0, g = a.target ? a.target : a.srcElement, 3 == g.nodeType && (g = g.parentNode), d.addClass(r), h = Date.now();
var b = a.originalEvent || a, c = b.touches && b.touches.length ? b.touches : [b], e = c[0];
i = e.clientX, k = e.clientY
}), d.on("touchcancel", function (a) {
f()
}), d.on("touchend", function (a) {
var c = Date.now() - h, l = a.originalEvent || a, p = l.changedTouches && l.changedTouches.length ? l.changedTouches : l.touches && l.touches.length ? l.touches : [l], q = p[0], r = q.clientX, s = q.clientY, t = Math.sqrt(Math.pow(r - i, 2) + Math.pow(s - k, 2));
m && n > c && o > t && (j(r, s), g && g.blur(), b.isDefined(e.disabled) && e.disabled !== !1 || d.triggerHandler("click", [a])), f()
}), d.onclick = function (a) {
}, d.on("click", function (a, b) {
c.$apply(function () {
l(c, {$event: b || a})
})
}), d.on("mousedown", function (a) {
d.addClass(r)
}), d.on("mousemove mouseup", function (a) {
d.removeClass(r)
})
}
}]), e("ngSwipeLeft", -1, "swipeleft"), e("ngSwipeRight", 1, "swiperight")
}(window, window.angular), function () {
var a;
a = {handler: "&customHandler", socialWidth: "@", socialHeight: "@"}, angular.module("socialLinks", []).factory("socialLinker", ["$window", "$location", function (a, b) {
return function (c) {
return function (d, e, f) {
var g, h, i;
return i = "status=no, width=" + (d.socialWidth || 640) + ", height=" + (d.socialHeight || 480) + ", resizable=yes, toolbar=no, menubar=no, scrollbars=no, location=no, directories=no", g = function () {
return f.customUrl || b.absUrl()
}, f.$observe("customUrl", function () {
var a;
return a = c(d, g()), "A" !== e[0].nodeName || null != f.href && "" !== f.href ? void 0 : e.attr("href", a)
}), e.attr("rel", "nofollow"), h = function (b) {
var e, f;
return b.preventDefault(), e = c(d, g()), f = a.open(e, "popupwindow", i).focus()
}, null != f.customHandler ? e.on("click", h = function (a) {
var b;
return b = c(d, g()), e.attr("href", b), d.handler({$event: a, $url: b})
}) : e.on("click", h), d.$on("$destroy", function () {
return e.off("click", h)
})
}
}
}]).directive("socialFacebook", ["socialLinker", function (b) {
return{restrict: "ACEM", scope: a, link: b(function (a, b) {
var c;
return c = ["https://facebook.com/sharer.php?"], c.push("u=" + encodeURIComponent(b)), c.join("")
})}
}]).directive("socialTwitter", ["socialLinker", function (b) {
return{restrict: "ACEM", scope: angular.extend({status: "@status"}, a), link: b(function (a, b) {
return a.status || (a.status = "Check this out! - " + b), "https://twitter.com/intent/tweet?text=" + encodeURIComponent(a.status)
})}
}]).directive("socialGplus", ["socialLinker", function (b) {
return{restrict: "ACEM", scope: a, link: b(function (a, b) {
return"https://plus.google.com/share?url=" + encodeURIComponent(b)
})}
}]).directive("socialPinterest", ["socialLinker", function (b) {
return{restrict: "ACEM", scope: angular.extend({media: "@media", description: "@description"}, a), link: b(function (a, b) {
return"http://pinterest.com/pin/create/button/?url=" + encodeURIComponent(b) + "&media=" + encodeURIComponent(a.media) + "&description=" + encodeURIComponent(a.description)
})}
}]).directive("socialStumbleupon", ["socialLinker", function (b) {
return{restrict: "ACEM", scope: a, link: b(function (a, b) {
return"https://stumbleupon.com/submit?url=" + encodeURIComponent(b)
})}
}]).directive("socialLinkedin", ["socialLinker", function (b) {
return{restrict: "ACEM", scope: a, link: b(function (a, b) {
return"https://linkedin.com/shareArticle?url=" + encodeURIComponent(b)
})}
}]).directive("socialReddit", ["socialLinker", function (b) {
return{restrict: "ACEM", scope: a, link: b(function (a, b) {
return"https://www.reddit.com/submit?url=" + encodeURIComponent(b)
})}
}]).directive("socialVk", ["socialLinker", function (b) {
return{restrict: "ACEM", scope: a, link: b(function (a, b) {
return"http://vkontakte.ru/share.php?url=" + encodeURIComponent(b)
})}
}]).directive("socialOk", ["socialLinker", function (b) {
return{restrict: "ACEM", scope: a, link: b(function (a, b) {
return"http://www.odnoklassniki.ru/dk?st.cmd=addShare&st._surl=" + encodeURIComponent(b)
})}
}]).directive("socialXing", ["socialLinker", function (b) {
return{restrict: "ACEM", scope: a, link: b(function (a, b) {
return"https://www.xing.com/spi/shares/new?url=" + encodeURIComponent(b)
})}
}])
}.call(this);