blob: d6b90a3c4fa05e845826dc21051b2081240507f9 [file] [log] [blame]
//third_party/javascript/angular/v1_2/angular.min.js
/*
AngularJS v1.2.29-build.2+sha.3cbf542
(c) 2010-2014 Google, Inc. http://angularjs.org
License: MIT
*/
(function(L,T,u){'use strict';function I(b){return function(){var a=arguments[0],c;c="["+(b?b+":":"")+a+"] http://errors.angularjs.org/1.2.29-build.2+sha.3cbf542/"+(b?b+"/":"")+a;for(a=1;a<arguments.length;a++){c=c+(1==a?"?":"&")+"p"+(a-1)+"=";var d=encodeURIComponent,e;e=arguments[a];e="function"==typeof e?e.toString().replace(/ \{[\s\S]*$/,""):"undefined"==typeof e?"undefined":"string"!=typeof e?JSON.stringify(e):e;c+=d(e)}return Error(c)}}function Ua(b){if(null==b||Ja(b))return!1;var a=b.length;
return 1===b.nodeType&&a?!0:x(b)||O(b)||0===a||"number"===typeof a&&0<a&&a-1 in b}function r(b,a,c){var d;if(b)if(G(b))for(d in b)"prototype"==d||"length"==d||"name"==d||b.hasOwnProperty&&!b.hasOwnProperty(d)||a.call(c,b[d],d);else if(O(b)||Ua(b))for(d=0;d<b.length;d++)a.call(c,b[d],d);else if(b.forEach&&b.forEach!==r)b.forEach(a,c);else for(d in b)b.hasOwnProperty(d)&&a.call(c,b[d],d);return b}function ac(b){var a=[],c;for(c in b)b.hasOwnProperty(c)&&a.push(c);return a.sort()}function Xc(b,a,c){for(var d=
ac(b),e=0;e<d.length;e++)a.call(c,b[d[e]],d[e]);return d}function bc(b){return function(a,c){b(c,a)}}function lb(){for(var b=qa.length,a;b;){b--;a=qa[b].charCodeAt(0);if(57==a)return qa[b]="A",qa.join("");if(90==a)qa[b]="0";else return qa[b]=String.fromCharCode(a+1),qa.join("")}qa.unshift("0");return qa.join("")}function cc(b,a){a?b.$$hashKey=a:delete b.$$hashKey}function F(b){var a=b.$$hashKey;r(arguments,function(a){a!==b&&r(a,function(a,c){b[c]=a})});cc(b,a);return b}function U(b){return parseInt(b,
10)}function dc(b,a){return F(new (F(function(){},{prototype:b})),a)}function H(){}function ja(b){return b}function ca(b){return function(){return b}}function A(b){return"undefined"===typeof b}function B(b){return"undefined"!==typeof b}function R(b){return null!=b&&"object"===typeof b}function x(b){return"string"===typeof b}function mb(b){return"number"===typeof b}function wa(b){return"[object Date]"===Ca.call(b)}function G(b){return"function"===typeof b}function nb(b){return"[object RegExp]"===Ca.call(b)}
function Ja(b){return b&&b.document&&b.location&&b.alert&&b.setInterval}function Yc(b){return!(!b||!(b.nodeName||b.prop&&b.attr&&b.find))}function Zc(b,a,c){var d=[];r(b,function(b,f,h){d.push(a.call(c,b,f,h))});return d}function Va(b,a){if(b.indexOf)return b.indexOf(a);for(var c=0;c<b.length;c++)if(a===b[c])return c;return-1}function Wa(b,a){var c=Va(b,a);0<=c&&b.splice(c,1);return a}function Ka(b,a,c,d){if(Ja(b)||b&&b.$evalAsync&&b.$watch)throw Xa("cpws");if(a){if(b===a)throw Xa("cpi");c=c||[];
d=d||[];if(R(b)){var e=Va(c,b);if(-1!==e)return d[e];c.push(b);d.push(a)}if(O(b))for(var f=a.length=0;f<b.length;f++)e=Ka(b[f],null,c,d),R(b[f])&&(c.push(b[f]),d.push(e)),a.push(e);else{var h=a.$$hashKey;O(a)?a.length=0:r(a,function(b,c){delete a[c]});for(f in b)e=Ka(b[f],null,c,d),R(b[f])&&(c.push(b[f]),d.push(e)),a[f]=e;cc(a,h)}}else if(a=b)O(b)?a=Ka(b,[],c,d):wa(b)?a=new Date(b.getTime()):nb(b)?(a=new RegExp(b.source,b.toString().match(/[^\/]*$/)[0]),a.lastIndex=b.lastIndex):R(b)&&(a=Ka(b,{},c,
d));return a}function ka(b,a){if(O(b)){a=a||[];for(var c=0;c<b.length;c++)a[c]=b[c]}else if(R(b))for(c in a=a||{},b)!ob.call(b,c)||"$"===c.charAt(0)&&"$"===c.charAt(1)||(a[c]=b[c]);return a||b}function Da(b,a){if(b===a)return!0;if(null===b||null===a)return!1;if(b!==b&&a!==a)return!0;var c=typeof b,d;if(c==typeof a&&"object"==c)if(O(b)){if(!O(a))return!1;if((c=b.length)==a.length){for(d=0;d<c;d++)if(!Da(b[d],a[d]))return!1;return!0}}else{if(wa(b))return wa(a)?isNaN(b.getTime())&&isNaN(a.getTime())||
b.getTime()===a.getTime():!1;if(nb(b)&&nb(a))return b.toString()==a.toString();if(b&&b.$evalAsync&&b.$watch||a&&a.$evalAsync&&a.$watch||Ja(b)||Ja(a)||O(a))return!1;c={};for(d in b)if("$"!==d.charAt(0)&&!G(b[d])){if(!Da(b[d],a[d]))return!1;c[d]=!0}for(d in a)if(!c.hasOwnProperty(d)&&"$"!==d.charAt(0)&&a[d]!==u&&!G(a[d]))return!1;return!0}return!1}function Fb(b,a,c){return b.concat(La.call(a,c))}function Gb(b,a){var c=2<arguments.length?La.call(arguments,2):[];return!G(a)||a instanceof RegExp?a:c.length?
function(){return arguments.length?a.apply(b,c.concat(La.call(arguments,0))):a.apply(b,c)}:function(){return arguments.length?a.apply(b,arguments):a.call(b)}}function $c(b,a){var c=a;"string"===typeof b&&"$"===b.charAt(0)?c=u:Ja(a)?c="$WINDOW":a&&T===a?c="$DOCUMENT":a&&a.$evalAsync&&a.$watch&&(c="$SCOPE");return c}function ra(b,a){return"undefined"===typeof b?u:JSON.stringify(b,$c,a?" ":null)}function ec(b){return x(b)?JSON.parse(b):b}function Ya(b){"function"===typeof b?b=!0:b&&0!==b.length?(b=
E(""+b),b=!("f"==b||"0"==b||"false"==b||"no"==b||"n"==b||"[]"==b)):b=!1;return b}function la(b){b=z(b).clone();try{b.empty()}catch(a){}var c=z("<div>").append(b).html();try{return 3===b[0].nodeType?E(c):c.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(a,b){return"<"+E(b)})}catch(d){return E(c)}}function fc(b){try{return decodeURIComponent(b)}catch(a){}}function gc(b){var a={},c,d;r((b||"").split("&"),function(b){b&&(c=b.replace(/\+/g,"%20").split("="),d=fc(c[0]),B(d)&&(b=B(c[1])?fc(c[1]):!0,
ob.call(a,d)?O(a[d])?a[d].push(b):a[d]=[a[d],b]:a[d]=b))});return a}function Hb(b){var a=[];r(b,function(b,d){O(b)?r(b,function(b){a.push(Ea(d,!0)+(!0===b?"":"="+Ea(b,!0)))}):a.push(Ea(d,!0)+(!0===b?"":"="+Ea(b,!0)))});return a.length?a.join("&"):""}function pb(b){return Ea(b,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function Ea(b,a){return encodeURIComponent(b).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,a?"%20":"+")}
function ad(b,a){function c(a){a&&d.push(a)}var d=[b],e,f,h=["ng:app","ng-app","x-ng-app","data-ng-app"],g=/\sng[:\-]app(:\s*([\w\d_]+);?)?\s/;r(h,function(a){h[a]=!0;c(T.getElementById(a));a=a.replace(":","\\:");b.querySelectorAll&&(r(b.querySelectorAll("."+a),c),r(b.querySelectorAll("."+a+"\\:"),c),r(b.querySelectorAll("["+a+"]"),c))});r(d,function(a){if(!e){var b=g.exec(" "+a.className+" ");b?(e=a,f=(b[2]||"").replace(/\s+/g,",")):r(a.attributes,function(b){!e&&h[b.name]&&(e=a,f=b.value)})}});
e&&a(e,f?[f]:[])}function hc(b,a){var c=function(){b=z(b);if(b.injector()){var c=b[0]===T?"document":la(b);throw Xa("btstrpd",c.replace(/</,"&lt;").replace(/>/,"&gt;"));}a=a||[];a.unshift(["$provide",function(a){a.value("$rootElement",b)}]);a.unshift("ng");c=ic(a);c.invoke(["$rootScope","$rootElement","$compile","$injector","$animate",function(a,b,c,d,e){a.$apply(function(){b.data("$injector",d);c(b)(a)})}]);return c},d=/^NG_DEFER_BOOTSTRAP!/;if(L&&!d.test(L.name))return c();L.name=L.name.replace(d,
"");Za.resumeBootstrap=function(b){r(b,function(b){a.push(b)});c()}}function qb(b,a){a=a||"_";return b.replace(bd,function(b,d){return(d?a:"")+b.toLowerCase()})}function Ib(b,a,c){if(!b)throw Xa("areq",a||"?",c||"required");return b}function $a(b,a,c){c&&O(b)&&(b=b[b.length-1]);Ib(G(b),a,"not a function, got "+(b&&"object"===typeof b?b.constructor.name||"Object":typeof b));return b}function Fa(b,a){if("hasOwnProperty"===b)throw Xa("badname",a);}function jc(b,a,c){if(!a)return b;a=a.split(".");for(var d,
e=b,f=a.length,h=0;h<f;h++)d=a[h],b&&(b=(e=b)[d]);return!c&&G(b)?Gb(e,b):b}function Jb(b){var a=b[0];b=b[b.length-1];if(a===b)return z(a);var c=[a];do{a=a.nextSibling;if(!a)break;c.push(a)}while(a!==b);return z(c)}function cd(b){function a(a,b,c){return a[b]||(a[b]=c())}var c=I("$injector"),d=I("ng");b=a(b,"angular",Object);b.$$minErr=b.$$minErr||I;return a(b,"module",function(){var b={};return function(f,h,g){if("hasOwnProperty"===f)throw d("badname","module");h&&b.hasOwnProperty(f)&&(b[f]=null);
return a(b,f,function(){function a(c,d,e){return function(){b[e||"push"]([c,d,arguments]);return q}}if(!h)throw c("nomod",f);var b=[],d=[],e=a("$injector","invoke"),q={_invokeQueue:b,_runBlocks:d,requires:h,name:f,provider:a("$provide","provider"),factory:a("$provide","factory"),service:a("$provide","service"),value:a("$provide","value"),constant:a("$provide","constant","unshift"),animation:a("$animateProvider","register"),filter:a("$filterProvider","register"),controller:a("$controllerProvider",
"register"),directive:a("$compileProvider","directive"),config:e,run:function(a){d.push(a);return this}};g&&e(g);return q})}})}function dd(b){F(b,{bootstrap:hc,copy:Ka,extend:F,equals:Da,element:z,forEach:r,injector:ic,noop:H,bind:Gb,toJson:ra,fromJson:ec,identity:ja,isUndefined:A,isDefined:B,isString:x,isFunction:G,isObject:R,isNumber:mb,isElement:Yc,isArray:O,version:ed,isDate:wa,lowercase:E,uppercase:Ma,callbacks:{counter:0},$$minErr:I,$$csp:ab});bb=cd(L);try{bb("ngLocale")}catch(a){bb("ngLocale",
[]).provider("$locale",fd)}bb("ng",["ngLocale"],["$provide",function(a){a.provider({$$sanitizeUri:gd});a.provider("$compile",kc).directive({a:hd,input:lc,textarea:lc,form:id,script:jd,select:kd,style:ld,option:md,ngBind:nd,ngBindHtml:od,ngBindTemplate:pd,ngClass:qd,ngClassEven:rd,ngClassOdd:sd,ngCloak:td,ngController:ud,ngForm:vd,ngHide:wd,ngIf:xd,ngInclude:yd,ngInit:zd,ngNonBindable:Ad,ngPluralize:Bd,ngRepeat:Cd,ngShow:Dd,ngStyle:Ed,ngSwitch:Fd,ngSwitchWhen:Gd,ngSwitchDefault:Hd,ngOptions:Id,ngTransclude:Jd,
ngModel:Kd,ngList:Ld,ngChange:Md,required:mc,ngRequired:mc,ngValue:Nd}).directive({ngInclude:Od}).directive(Kb).directive(nc);a.provider({$anchorScroll:Pd,$animate:Qd,$browser:Rd,$cacheFactory:Sd,$controller:Td,$document:Ud,$exceptionHandler:Vd,$filter:oc,$interpolate:Wd,$interval:Xd,$http:Yd,$httpBackend:Zd,$location:$d,$log:ae,$parse:be,$rootScope:ce,$q:de,$sce:ee,$sceDelegate:fe,$sniffer:ge,$templateCache:he,$timeout:ie,$window:je,$$rAF:ke,$$asyncCallback:le})}])}function cb(b){return b.replace(me,
function(a,b,d,e){return e?d.toUpperCase():d}).replace(ne,"Moz$1")}function Lb(b,a,c,d){function e(b){var e=c&&b?[this.filter(b)]:[this],l=a,k,m,n,q,p,v;if(!d||null!=b)for(;e.length;)for(k=e.shift(),m=0,n=k.length;m<n;m++)for(q=z(k[m]),l?q.triggerHandler("$destroy"):l=!l,p=0,q=(v=q.children()).length;p<q;p++)e.push(Ga(v[p]));return f.apply(this,arguments)}var f=Ga.fn[b],f=f.$original||f;e.$original=f;Ga.fn[b]=e}function S(b){if(b instanceof S)return b;x(b)&&(b=da(b));if(!(this instanceof S)){if(x(b)&&
"<"!=b.charAt(0))throw Mb("nosel");return new S(b)}if(x(b)){var a=b;b=T;var c;if(c=oe.exec(a))b=[b.createElement(c[1])];else{var d=b,e;b=d.createDocumentFragment();c=[];if(Nb.test(a)){d=b.appendChild(d.createElement("div"));e=(pe.exec(a)||["",""])[1].toLowerCase();e=ha[e]||ha._default;d.innerHTML="<div>&#160;</div>"+e[1]+a.replace(qe,"<$1></$2>")+e[2];d.removeChild(d.firstChild);for(a=e[0];a--;)d=d.lastChild;a=0;for(e=d.childNodes.length;a<e;++a)c.push(d.childNodes[a]);d=b.firstChild;d.textContent=
""}else c.push(d.createTextNode(a));b.textContent="";b.innerHTML="";b=c}Ob(this,b);z(T.createDocumentFragment()).append(this)}else Ob(this,b)}function Pb(b){return b.cloneNode(!0)}function Na(b){Qb(b);var a=0;for(b=b.childNodes||[];a<b.length;a++)Na(b[a])}function pc(b,a,c,d){if(B(d))throw Mb("offargs");var e=sa(b,"events");sa(b,"handle")&&(A(a)?r(e,function(a,c){db(b,c,a);delete e[c]}):r(a.split(" "),function(a){A(c)?(db(b,a,e[a]),delete e[a]):Wa(e[a]||[],c)}))}function Qb(b,a){var c=b.ng339,d=eb[c];
d&&(a?delete eb[c].data[a]:(d.handle&&(d.events.$destroy&&d.handle({},"$destroy"),pc(b)),delete eb[c],b.ng339=u))}function sa(b,a,c){var d=b.ng339,d=eb[d||-1];if(B(c))d||(b.ng339=d=++re,d=eb[d]={}),d[a]=c;else return d&&d[a]}function Rb(b,a,c){var d=sa(b,"data"),e=B(c),f=!e&&B(a),h=f&&!R(a);d||h||sa(b,"data",d={});if(e)d[a]=c;else if(f){if(h)return d&&d[a];F(d,a)}else return d}function Sb(b,a){return b.getAttribute?-1<(" "+(b.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+a+" "):
!1}function rb(b,a){a&&b.setAttribute&&r(a.split(" "),function(a){b.setAttribute("class",da((" "+(b.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").replace(" "+da(a)+" "," ")))})}function sb(b,a){if(a&&b.setAttribute){var c=(" "+(b.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ");r(a.split(" "),function(a){a=da(a);-1===c.indexOf(" "+a+" ")&&(c+=a+" ")});b.setAttribute("class",da(c))}}function Ob(b,a){if(a){a=a.nodeName||!B(a.length)||Ja(a)?[a]:a;for(var c=0;c<a.length;c++)b.push(a[c])}}
function qc(b,a){return tb(b,"$"+(a||"ngController")+"Controller")}function tb(b,a,c){9==b.nodeType&&(b=b.documentElement);for(a=O(a)?a:[a];b;){for(var d=0,e=a.length;d<e;d++)if((c=z.data(b,a[d]))!==u)return c;b=b.parentNode||11===b.nodeType&&b.host}}function rc(b){for(var a=0,c=b.childNodes;a<c.length;a++)Na(c[a]);for(;b.firstChild;)b.removeChild(b.firstChild)}function sc(b,a){var c=ub[a.toLowerCase()];return c&&tc[b.nodeName]&&c}function se(b,a){var c=function(c,e){c.preventDefault||(c.preventDefault=
function(){c.returnValue=!1});c.stopPropagation||(c.stopPropagation=function(){c.cancelBubble=!0});c.target||(c.target=c.srcElement||T);if(A(c.defaultPrevented)){var f=c.preventDefault;c.preventDefault=function(){c.defaultPrevented=!0;f.call(c)};c.defaultPrevented=!1}c.isDefaultPrevented=function(){return c.defaultPrevented||!1===c.returnValue};var h=ka(a[e||c.type]||[]);r(h,function(a){a.call(b,c)});8>=P?(c.preventDefault=null,c.stopPropagation=null,c.isDefaultPrevented=null):(delete c.preventDefault,
delete c.stopPropagation,delete c.isDefaultPrevented)};c.elem=b;return c}function Oa(b,a){var c=typeof b,d;"function"==c||"object"==c&&null!==b?"function"==typeof(d=b.$$hashKey)?d=b.$$hashKey():d===u&&(d=b.$$hashKey=(a||lb)()):d=b;return c+":"+d}function fb(b,a){if(a){var c=0;this.nextUid=function(){return++c}}r(b,this.put,this)}function uc(b){var a,c;"function"===typeof b?(a=b.$inject)||(a=[],b.length&&(c=b.toString().replace(te,""),c=c.match(ue),r(c[1].split(ve),function(b){b.replace(we,function(b,
c,d){a.push(d)})})),b.$inject=a):O(b)?(c=b.length-1,$a(b[c],"fn"),a=b.slice(0,c)):$a(b,"fn",!0);return a}function ic(b){function a(a){return function(b,c){if(R(b))r(b,bc(a));else return a(b,c)}}function c(a,b){Fa(a,"service");if(G(b)||O(b))b=m.instantiate(b);if(!b.$get)throw gb("pget",a);return k[a+"Provider"]=b}function d(a,b){return c(a,{$get:b})}function e(a){var b=[],c,d,f,g;r(a,function(a){if(!l.get(a)){l.put(a,!0);try{if(x(a))for(c=bb(a),b=b.concat(e(c.requires)).concat(c._runBlocks),d=c._invokeQueue,
f=0,g=d.length;f<g;f++){var h=d[f],p=m.get(h[0]);p[h[1]].apply(p,h[2])}else G(a)?b.push(m.invoke(a)):O(a)?b.push(m.invoke(a)):$a(a,"module")}catch(k){throw O(a)&&(a=a[a.length-1]),k.message&&k.stack&&-1==k.stack.indexOf(k.message)&&(k=k.message+"\n"+k.stack),gb("modulerr",a,k.stack||k.message||k);}}});return b}function f(a,b){function c(d){if(a.hasOwnProperty(d)){if(a[d]===h)throw gb("cdep",d+" <- "+g.join(" <- "));return a[d]}try{return g.unshift(d),a[d]=h,a[d]=b(d)}catch(e){throw a[d]===h&&delete a[d],
e;}finally{g.shift()}}function d(a,b,e){var f=[],g=uc(a),h,l,k;l=0;for(h=g.length;l<h;l++){k=g[l];if("string"!==typeof k)throw gb("itkn",k);f.push(e&&e.hasOwnProperty(k)?e[k]:c(k))}O(a)&&(a=a[h]);return a.apply(b,f)}return{invoke:d,instantiate:function(a,b){var c=function(){},e;c.prototype=(O(a)?a[a.length-1]:a).prototype;c=new c;e=d(a,c,b);return R(e)||G(e)?e:c},get:c,annotate:uc,has:function(b){return k.hasOwnProperty(b+"Provider")||a.hasOwnProperty(b)}}}var h={},g=[],l=new fb([],!0),k={$provide:{provider:a(c),
factory:a(d),service:a(function(a,b){return d(a,["$injector",function(a){return a.instantiate(b)}])}),value:a(function(a,b){return d(a,ca(b))}),constant:a(function(a,b){Fa(a,"constant");k[a]=b;n[a]=b}),decorator:function(a,b){var c=m.get(a+"Provider"),d=c.$get;c.$get=function(){var a=q.invoke(d,c);return q.invoke(b,null,{$delegate:a})}}}},m=k.$injector=f(k,function(){throw gb("unpr",g.join(" <- "));}),n={},q=n.$injector=f(n,function(a){a=m.get(a+"Provider");return q.invoke(a.$get,a)});r(e(b),function(a){q.invoke(a||
H)});return q}function Pd(){var b=!0;this.disableAutoScrolling=function(){b=!1};this.$get=["$window","$location","$rootScope",function(a,c,d){function e(a){var b=null;r(a,function(a){b||"a"!==E(a.nodeName)||(b=a)});return b}function f(){var b=c.hash(),d;b?(d=h.getElementById(b))?d.scrollIntoView():(d=e(h.getElementsByName(b)))?d.scrollIntoView():"top"===b&&a.scrollTo(0,0):a.scrollTo(0,0)}var h=a.document;b&&d.$watch(function(){return c.hash()},function(){d.$evalAsync(f)});return f}]}function le(){this.$get=
["$$rAF","$timeout",function(b,a){return b.supported?function(a){return b(a)}:function(b){return a(b,0,!1)}}]}function xe(b,a,c,d){function e(a){try{a.apply(null,La.call(arguments,1))}finally{if(v--,0===v)for(;C.length;)try{C.pop()()}catch(b){c.error(b)}}}function f(a,b){(function ye(){r(y,function(a){a()});t=b(ye,a)})()}function h(){V!=g.url()&&(V=g.url(),r(W,function(a){a(g.url())}))}var g=this,l=a[0],k=b.location,m=b.history,n=b.setTimeout,q=b.clearTimeout,p={};g.isMock=!1;var v=0,C=[];g.$$completeOutstandingRequest=
e;g.$$incOutstandingRequestCount=function(){v++};g.notifyWhenNoOutstandingRequests=function(a){r(y,function(a){a()});0===v?a():C.push(a)};var y=[],t;g.addPollFn=function(a){A(t)&&f(100,n);y.push(a);return a};var V=k.href,w=a.find("base"),ea=null;g.url=function(a,c){k!==b.location&&(k=b.location);m!==b.history&&(m=b.history);if(a){if(V!=a){var e=V&&Ha(V)===Ha(a);V=a;if(!e&&d.history)c?m.replaceState(null,"",a):(m.pushState(null,"",a),w.attr("href",w.attr("href")));else if(e||(ea=a),c)k.replace(a);
else if(e){var e=k,f;f=a.indexOf("#");f=-1===f?"":a.substr(f+1);e.hash=f}else k.href=a;return g}}else return ea||k.href.replace(/%27/g,"'")};var W=[],Q=!1;g.onUrlChange=function(a){if(!Q){if(d.history)z(b).on("popstate",h);if(d.hashchange)z(b).on("hashchange",h);else g.addPollFn(h);Q=!0}W.push(a);return a};g.$$checkUrlChange=h;g.baseHref=function(){var a=w.attr("href");return a?a.replace(/^(https?\:)?\/\/[^\/]*/,""):""};var Z={},ba="",fa=g.baseHref();g.cookies=function(a,b){var d,e,f,g;if(a)b===u?
l.cookie=escape(a)+"=;path="+fa+";expires=Thu, 01 Jan 1970 00:00:00 GMT":x(b)&&(d=(l.cookie=escape(a)+"="+escape(b)+";path="+fa).length+1,4096<d&&c.warn("Cookie '"+a+"' possibly not set or overflowed because it was too large ("+d+" > 4096 bytes)!"));else{if(l.cookie!==ba)for(ba=l.cookie,d=ba.split("; "),Z={},f=0;f<d.length;f++)e=d[f],g=e.indexOf("="),0<g&&(a=unescape(e.substring(0,g)),Z[a]===u&&(Z[a]=unescape(e.substring(g+1))));return Z}};g.defer=function(a,b){var c;v++;c=n(function(){delete p[c];
e(a)},b||0);p[c]=!0;return c};g.defer.cancel=function(a){return p[a]?(delete p[a],q(a),e(H),!0):!1}}function Rd(){this.$get=["$window","$log","$sniffer","$document",function(b,a,c,d){return new xe(b,d,a,c)}]}function Sd(){this.$get=function(){function b(b,d){function e(a){a!=n&&(q?q==a&&(q=a.n):q=a,f(a.n,a.p),f(a,n),n=a,n.n=null)}function f(a,b){a!=b&&(a&&(a.p=b),b&&(b.n=a))}if(b in a)throw I("$cacheFactory")("iid",b);var h=0,g=F({},d,{id:b}),l={},k=d&&d.capacity||Number.MAX_VALUE,m={},n=null,q=null;
return a[b]={put:function(a,b){if(k<Number.MAX_VALUE){var c=m[a]||(m[a]={key:a});e(c)}if(!A(b))return a in l||h++,l[a]=b,h>k&&this.remove(q.key),b},get:function(a){if(k<Number.MAX_VALUE){var b=m[a];if(!b)return;e(b)}return l[a]},remove:function(a){if(k<Number.MAX_VALUE){var b=m[a];if(!b)return;b==n&&(n=b.p);b==q&&(q=b.n);f(b.n,b.p);delete m[a]}delete l[a];h--},removeAll:function(){l={};h=0;m={};n=q=null},destroy:function(){m=g=l=null;delete a[b]},info:function(){return F({},g,{size:h})}}}var a={};
b.info=function(){var b={};r(a,function(a,e){b[e]=a.info()});return b};b.get=function(b){return a[b]};return b}}function he(){this.$get=["$cacheFactory",function(b){return b("templates")}]}function kc(b,a){var c={},d=/^\s*directive\:\s*([\d\w_\-]+)\s+(.*)$/,e=/(([\d\w_\-]+)(?:\:([^;]+))?;?)/,f=/^(on[a-z]+|formaction)$/;this.directive=function g(a,d){Fa(a,"directive");x(a)?(Ib(d,"directiveFactory"),c.hasOwnProperty(a)||(c[a]=[],b.factory(a+"Directive",["$injector","$exceptionHandler",function(b,d){var e=
[];r(c[a],function(c,f){try{var g=b.invoke(c);G(g)?g={compile:ca(g)}:!g.compile&&g.link&&(g.compile=ca(g.link));g.priority=g.priority||0;g.index=f;g.name=g.name||a;g.require=g.require||g.controller&&g.name;g.restrict=g.restrict||"A";e.push(g)}catch(k){d(k)}});return e}])),c[a].push(d)):r(a,bc(g));return this};this.aHrefSanitizationWhitelist=function(b){return B(b)?(a.aHrefSanitizationWhitelist(b),this):a.aHrefSanitizationWhitelist()};this.imgSrcSanitizationWhitelist=function(b){return B(b)?(a.imgSrcSanitizationWhitelist(b),
this):a.imgSrcSanitizationWhitelist()};this.$get=["$injector","$interpolate","$exceptionHandler","$http","$templateCache","$parse","$controller","$rootScope","$document","$sce","$animate","$$sanitizeUri",function(a,b,k,m,n,q,p,v,C,y,t,V){function w(a,b,c,d,e){a instanceof z||(a=z(a));r(a,function(b,c){3==b.nodeType&&b.nodeValue.match(/\S+/)&&(a[c]=z(b).wrap("<span></span>").parent()[0])});var f=W(a,b,a,c,d,e);ea(a,"ng-scope");return function(b,c,d,e){Ib(b,"scope");var g=c?Pa.clone.call(a):a;r(d,function(a,
b){g.data("$"+b+"Controller",a)});d=0;for(var l=g.length;d<l;d++){var k=g[d].nodeType;1!==k&&9!==k||g.eq(d).data("$scope",b)}c&&c(g,b);f&&f(b,g,g,e);return g}}function ea(a,b){try{a.addClass(b)}catch(c){}}function W(a,b,c,d,e,f){function g(a,c,d,e){var f,k,p,m,q,n,y;f=c.length;var v=Array(f);for(m=0;m<f;m++)v[m]=c[m];n=m=0;for(q=l.length;m<q;n++)k=v[n],c=l[m++],f=l[m++],c?(c.scope?(p=a.$new(),z.data(k,"$scope",p)):p=a,y=c.transcludeOnThisElement?Q(a,c.transclude,e):!c.templateOnThisElement&&e?e:!e&&
b?Q(a,b):null,c(f,p,k,d,y)):f&&f(a,k.childNodes,u,e)}for(var l=[],k,p,m,n,q=0;q<a.length;q++)k=new Tb,p=Z(a[q],[],k,0===q?d:u,e),(f=p.length?K(p,a[q],k,b,c,null,[],[],f):null)&&f.scope&&ea(k.$$element,"ng-scope"),k=f&&f.terminal||!(m=a[q].childNodes)||!m.length?null:W(m,f?(f.transcludeOnThisElement||!f.templateOnThisElement)&&f.transclude:b),l.push(f,k),n=n||f||k,f=null;return n?g:null}function Q(a,b,c){return function(d,e,f){var g=!1;d||(d=a.$new(),g=d.$$transcluded=!0);e=b(d,e,f,c);if(g)e.on("$destroy",
function(){d.$destroy()});return e}}function Z(a,b,c,f,g){var k=c.$attr,l;switch(a.nodeType){case 1:M(b,ta(Qa(a).toLowerCase()),"E",f,g);for(var p,m,q,n=a.attributes,y=0,v=n&&n.length;y<v;y++){var V=!1,C=!1;p=n[y];if(!P||8<=P||p.specified){l=p.name;m=da(p.value);p=ta(l);if(q=L.test(p))l=qb(p.substr(6),"-");var t=p.replace(/(Start|End)$/,"");p===t+"Start"&&(V=l,C=l.substr(0,l.length-5)+"end",l=l.substr(0,l.length-6));p=ta(l.toLowerCase());k[p]=l;if(q||!c.hasOwnProperty(p))c[p]=m,sc(a,p)&&(c[p]=!0);
I(a,b,m,p);M(b,p,"A",f,g,V,C)}}a=a.className;if(x(a)&&""!==a)for(;l=e.exec(a);)p=ta(l[2]),M(b,p,"C",f,g)&&(c[p]=da(l[3])),a=a.substr(l.index+l[0].length);break;case 3:A(b,a.nodeValue);break;case 8:try{if(l=d.exec(a.nodeValue))p=ta(l[1]),M(b,p,"M",f,g)&&(c[p]=da(l[2]))}catch(w){}}b.sort(hb);return b}function ba(a,b,c){var d=[],e=0;if(b&&a.hasAttribute&&a.hasAttribute(b)){do{if(!a)throw ma("uterdir",b,c);1==a.nodeType&&(a.hasAttribute(b)&&e++,a.hasAttribute(c)&&e--);d.push(a);a=a.nextSibling}while(0<
e)}else d.push(a);return z(d)}function fa(a,b,c){return function(d,e,f,g,l){e=ba(e[0],b,c);return a(d,e,f,g,l)}}function K(a,c,d,e,f,g,m,n,y){function v(a,b,c,d){if(a){c&&(a=fa(a,c,d));a.require=J.require;a.directiveName=I;if(K===J||J.$$isolateScope)a=Ra(a,{isolateScope:!0});m.push(a)}if(b){c&&(b=fa(b,c,d));b.require=J.require;b.directiveName=I;if(K===J||J.$$isolateScope)b=Ra(b,{isolateScope:!0});n.push(b)}}function V(a,b,c,d){var e,f="data",g=!1;if(x(b)){for(;"^"==(e=b.charAt(0))||"?"==e;)b=b.substr(1),
"^"==e&&(f="inheritedData"),g=g||"?"==e;e=null;d&&"data"===f&&(e=d[b]);e=e||c[f]("$"+b+"Controller");if(!e&&!g)throw ma("ctreq",b,a);}else O(b)&&(e=[],r(b,function(b){e.push(V(a,b,c,d))}));return e}function C(a,e,f,g,y){function v(a,b){var c;2>arguments.length&&(b=a,a=u);E&&(c=fa);return y(a,b,c)}var t,w,W,ga,Z,D,fa={},vb;t=c===f?d:ka(d,new Tb(z(f),d.$attr));w=t.$$element;if(K){var ba=/^\s*([@=&])(\??)\s*(\w*)\s*$/;D=e.$new(!0);!M||M!==K&&M!==K.$$originalDirective?w.data("$isolateScopeNoTemplate",
D):w.data("$isolateScope",D);ea(w,"ng-isolate-scope");r(K.scope,function(a,c){var d=a.match(ba)||[],f=d[3]||c,g="?"==d[2],d=d[1],k,p,m,n;D.$$isolateBindings[c]=d+f;switch(d){case "@":t.$observe(f,function(a){D[c]=a});t.$$observers[f].$$scope=e;t[f]&&(D[c]=b(t[f])(e));break;case "=":if(g&&!t[f])break;p=q(t[f]);n=p.literal?Da:function(a,b){return a===b||a!==a&&b!==b};m=p.assign||function(){k=D[c]=p(e);throw ma("nonassign",t[f],K.name);};k=D[c]=p(e);D.$watch(function(){var a=p(e);n(a,D[c])||(n(a,k)?
m(e,a=D[c]):D[c]=a);return k=a},null,p.literal);break;case "&":p=q(t[f]);D[c]=function(a){return p(e,a)};break;default:throw ma("iscp",K.name,c,a);}})}vb=y&&v;Q&&r(Q,function(a){var b={$scope:a===K||a.$$isolateScope?D:e,$element:w,$attrs:t,$transclude:vb},c;Z=a.controller;"@"==Z&&(Z=t[a.name]);c=p(Z,b);fa[a.name]=c;E||w.data("$"+a.name+"Controller",c);a.controllerAs&&(b.$scope[a.controllerAs]=c)});g=0;for(W=m.length;g<W;g++)try{ga=m[g],ga(ga.isolateScope?D:e,w,t,ga.require&&V(ga.directiveName,ga.require,
w,fa),vb)}catch(Ra){k(Ra,la(w))}g=e;K&&(K.template||null===K.templateUrl)&&(g=D);a&&a(g,f.childNodes,u,y);for(g=n.length-1;0<=g;g--)try{ga=n[g],ga(ga.isolateScope?D:e,w,t,ga.require&&V(ga.directiveName,ga.require,w,fa),vb)}catch(N){k(N,la(w))}}y=y||{};for(var t=-Number.MAX_VALUE,W,Q=y.controllerDirectives,K=y.newIsolateScopeDirective,M=y.templateDirective,A=y.nonTlbTranscludeDirective,F=!1,hb=!1,E=y.hasElementTranscludeDirective,Y=d.$$element=z(c),J,I,N,P=e,L,Ia=0,ua=a.length;Ia<ua;Ia++){J=a[Ia];
var U=J.$$start,X=J.$$end;U&&(Y=ba(c,U,X));N=u;if(t>J.priority)break;if(N=J.scope)W=W||J,J.templateUrl||(ib("new/isolated scope",K,J,Y),R(N)&&(K=J));I=J.name;!J.templateUrl&&J.controller&&(N=J.controller,Q=Q||{},ib("'"+I+"' controller",Q[I],J,Y),Q[I]=J);if(N=J.transclude)F=!0,J.$$tlb||(ib("transclusion",A,J,Y),A=J),"element"==N?(E=!0,t=J.priority,N=Y,Y=d.$$element=z(T.createComment(" "+I+": "+d[I]+" ")),c=Y[0],S(f,La.call(N,0),c),P=w(N,e,t,g&&g.name,{nonTlbTranscludeDirective:A})):(N=z(Pb(c)).contents(),
Y.empty(),P=w(N,e));if(J.template)if(hb=!0,ib("template",M,J,Y),M=J,N=G(J.template)?J.template(Y,d):J.template,N=vc(N),J.replace){g=J;N=Nb.test(N)?z(da(N)):[];c=N[0];if(1!=N.length||1!==c.nodeType)throw ma("tplrt",I,"");S(f,Y,c);ua={$attr:{}};N=Z(c,[],ua);var aa=a.splice(Ia+1,a.length-(Ia+1));K&&D(N);a=a.concat(N).concat(aa);B(d,ua);ua=a.length}else Y.html(N);if(J.templateUrl)hb=!0,ib("template",M,J,Y),M=J,J.replace&&(g=J),C=H(a.splice(Ia,a.length-Ia),Y,d,f,F&&P,m,n,{controllerDirectives:Q,newIsolateScopeDirective:K,
templateDirective:M,nonTlbTranscludeDirective:A}),ua=a.length;else if(J.compile)try{L=J.compile(Y,d,P),G(L)?v(null,L,U,X):L&&v(L.pre,L.post,U,X)}catch(ca){k(ca,la(Y))}J.terminal&&(C.terminal=!0,t=Math.max(t,J.priority))}C.scope=W&&!0===W.scope;C.transcludeOnThisElement=F;C.templateOnThisElement=hb;C.transclude=P;y.hasElementTranscludeDirective=E;return C}function D(a){for(var b=0,c=a.length;b<c;b++)a[b]=dc(a[b],{$$isolateScope:!0})}function M(b,d,e,f,l,p,m){if(d===l)return null;l=null;if(c.hasOwnProperty(d)){var n;
d=a.get(d+"Directive");for(var q=0,y=d.length;q<y;q++)try{n=d[q],(f===u||f>n.priority)&&-1!=n.restrict.indexOf(e)&&(p&&(n=dc(n,{$$start:p,$$end:m})),b.push(n),l=n)}catch(v){k(v)}}return l}function B(a,b){var c=b.$attr,d=a.$attr,e=a.$$element;r(a,function(d,e){"$"!=e.charAt(0)&&(b[e]&&b[e]!==d&&(d+=("style"===e?";":" ")+b[e]),a.$set(e,d,!0,c[e]))});r(b,function(b,f){"class"==f?(ea(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 H(a,b,c,d,e,f,g,l){var k=[],p,q,v=b[0],C=a.shift(),V=F({},C,{templateUrl:null,transclude:null,replace:null,$$originalDirective:C}),t=G(C.templateUrl)?C.templateUrl(b,c):C.templateUrl;b.empty();m.get(y.getTrustedResourceUrl(t),{cache:n}).success(function(m){var n,y;m=vc(m);if(C.replace){m=Nb.test(m)?z(da(m)):[];n=m[0];if(1!=m.length||1!==n.nodeType)throw ma("tplrt",C.name,t);m={$attr:{}};S(d,b,n);var w=Z(n,[],m);R(C.scope)&&
D(w);a=w.concat(a);B(c,m)}else n=v,b.html(m);a.unshift(V);p=K(a,n,c,e,b,C,f,g,l);r(d,function(a,c){a==n&&(d[c]=b[0])});for(q=W(b[0].childNodes,e);k.length;){m=k.shift();y=k.shift();var fa=k.shift(),ba=k.shift(),w=b[0];if(y!==v){var Ra=y.className;l.hasElementTranscludeDirective&&C.replace||(w=Pb(n));S(fa,z(y),w);ea(z(w),Ra)}y=p.transcludeOnThisElement?Q(m,p.transclude,ba):ba;p(q,m,w,d,y)}k=null}).error(function(a,b,c,d){throw ma("tpload",d.url);});return function(a,b,c,d,e){a=e;k?(k.push(b),k.push(c),
k.push(d),k.push(a)):(p.transcludeOnThisElement&&(a=Q(b,p.transclude,e)),p(q,b,c,d,a))}}function hb(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 ib(a,b,c,d){if(b)throw ma("multidir",b.name,c.name,a,la(d));}function A(a,c){var d=b(c,!0);d&&a.push({priority:0,compile:function(a){var b=a.parent().length;b&&ea(a.parent(),"ng-binding");return function(a,c){var e=c.parent(),f=e.data("$binding")||[];f.push(d);e.data("$binding",f);b||ea(e,"ng-binding");
a.$watch(d,function(a){c[0].nodeValue=a})}}})}function E(a,b){if("srcdoc"==b)return y.HTML;var c=Qa(a);if("xlinkHref"==b||"FORM"==c&&"action"==b||"IMG"!=c&&("src"==b||"ngSrc"==b))return y.RESOURCE_URL}function I(a,c,d,e){var g=b(d,!0);if(g){if("multiple"===e&&"SELECT"===Qa(a))throw ma("selmulti",la(a));c.push({priority:100,compile:function(){return{pre:function(c,d,k){d=k.$$observers||(k.$$observers={});if(f.test(e))throw ma("nodomevents");if(g=b(k[e],!0,E(a,e)))k[e]=g(c),(d[e]||(d[e]=[])).$$inter=
!0,(k.$$observers&&k.$$observers[e].$$scope||c).$watch(g,function(a,b){"class"===e&&a!=b?k.$updateClass(a,b):k.$set(e,a)})}}}})}}function S(a,b,c){var d=b[0],e=b.length,f=d.parentNode,g,k;if(a)for(g=0,k=a.length;g<k;g++)if(a[g]==d){a[g++]=c;k=g+e-1;for(var l=a.length;g<l;g++,k++)k<l?a[g]=a[k]:delete a[g];a.length-=e-1;break}f&&f.replaceChild(c,d);a=T.createDocumentFragment();a.appendChild(d);c[z.expando]=d[z.expando];d=1;for(e=b.length;d<e;d++)f=b[d],z(f).remove(),a.appendChild(f),delete b[d];b[0]=
c;b.length=1}function Ra(a,b){return F(function(){return a.apply(null,arguments)},a,b)}var Tb=function(a,b){this.$$element=a;this.$attr=b||{}};Tb.prototype={$normalize:ta,$addClass:function(a){a&&0<a.length&&t.addClass(this.$$element,a)},$removeClass:function(a){a&&0<a.length&&t.removeClass(this.$$element,a)},$updateClass:function(a,b){var c=wc(a,b),d=wc(b,a);0===c.length?t.removeClass(this.$$element,d):0===d.length?t.addClass(this.$$element,c):t.setClass(this.$$element,c,d)},$set:function(a,b,c,
d){var e=sc(this.$$element[0],a);e&&(this.$$element.prop(a,b),d=e);this[a]=b;d?this.$attr[a]=d:(d=this.$attr[a])||(this.$attr[a]=d=qb(a,"-"));e=Qa(this.$$element);if("A"===e&&"href"===a||"IMG"===e&&"src"===a)this[a]=b=V(b,"src"===a);!1!==c&&(null===b||b===u?this.$$element.removeAttr(d):this.$$element.attr(d,b));(c=this.$$observers)&&r(c[a],function(a){try{a(b)}catch(c){k(c)}})},$observe:function(a,b){var c=this,d=c.$$observers||(c.$$observers={}),e=d[a]||(d[a]=[]);e.push(b);v.$evalAsync(function(){e.$$inter||
b(c[a])});return b}};var Y=b.startSymbol(),ua=b.endSymbol(),vc="{{"==Y||"}}"==ua?ja:function(a){return a.replace(/\{\{/g,Y).replace(/}}/g,ua)},L=/^ngAttr[A-Z]/;return w}]}function ta(b){return cb(b.replace(ze,""))}function wc(b,a){var c="",d=b.split(/\s+/),e=a.split(/\s+/),f=0;a:for(;f<d.length;f++){for(var h=d[f],g=0;g<e.length;g++)if(h==e[g])continue a;c+=(0<c.length?" ":"")+h}return c}function Td(){var b={},a=/^(\S+)(\s+as\s+(\w+))?$/;this.register=function(a,d){Fa(a,"controller");R(a)?F(b,a):
b[a]=d};this.$get=["$injector","$window",function(c,d){return function(e,f){var h,g,l;x(e)&&(h=e.match(a),g=h[1],l=h[3],e=b.hasOwnProperty(g)?b[g]:jc(f.$scope,g,!0)||jc(d,g,!0),$a(e,g,!0));h=c.instantiate(e,f);if(l){if(!f||"object"!==typeof f.$scope)throw I("$controller")("noscp",g||e.name,l);f.$scope[l]=h}return h}}]}function Ud(){this.$get=["$window",function(b){return z(b.document)}]}function Vd(){this.$get=["$log",function(b){return function(a,c){b.error.apply(b,arguments)}}]}function xc(b){var a=
{},c,d,e;if(!b)return a;r(b.split("\n"),function(b){e=b.indexOf(":");c=E(da(b.substr(0,e)));d=da(b.substr(e+1));c&&(a[c]=a[c]?a[c]+", "+d:d)});return a}function yc(b){var a=R(b)?b:u;return function(c){a||(a=xc(b));return c?a[E(c)]||null:a}}function zc(b,a,c){if(G(c))return c(b,a);r(c,function(c){b=c(b,a)});return b}function Yd(){var b=/^\s*(\[|\{[^\{])/,a=/[\}\]]\s*$/,c=/^\)\]\}',?\n/,d={"Content-Type":"application/json;charset=utf-8"},e=this.defaults={transformResponse:[function(d){x(d)&&(d=d.replace(c,
""),b.test(d)&&a.test(d)&&(d=ec(d)));return d}],transformRequest:[function(a){return R(a)&&"[object File]"!==Ca.call(a)&&"[object Blob]"!==Ca.call(a)?ra(a):a}],headers:{common:{Accept:"application/json, text/plain, */*"},post:ka(d),put:ka(d),patch:ka(d)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN"},f=this.interceptors=[],h=this.responseInterceptors=[];this.$get=["$httpBackend","$browser","$cacheFactory","$rootScope","$q","$injector",function(a,b,c,d,n,q){function p(a){function b(a){var d=
F({},a,{data:zc(a.data,a.headers,c.transformResponse)});a=a.status;return 200<=a&&300>a?d:n.reject(d)}var c={method:"get",transformRequest:e.transformRequest,transformResponse:e.transformResponse},d=function(a){var b=e.headers,c=F({},a.headers),d,f,b=F({},b.common,b[E(a.method)]);a:for(d in b){a=E(d);for(f in c)if(E(f)===a)continue a;c[d]=b[d]}(function(a){var b;r(a,function(c,d){G(c)&&(b=c(),null!=b?a[d]=b:delete a[d])})})(c);return c}(a);F(c,a);c.headers=d;c.method=Ma(c.method);var f=[function(a){d=
a.headers;var c=zc(a.data,yc(d),a.transformRequest);A(c)&&r(d,function(a,b){"content-type"===E(b)&&delete d[b]});A(a.withCredentials)&&!A(e.withCredentials)&&(a.withCredentials=e.withCredentials);return v(a,c,d).then(b,b)},u],g=n.when(c);for(r(t,function(a){(a.request||a.requestError)&&f.unshift(a.request,a.requestError);(a.response||a.responseError)&&f.push(a.response,a.responseError)});f.length;){a=f.shift();var h=f.shift(),g=g.then(a,h)}g.success=function(a){g.then(function(b){a(b.data,b.status,
b.headers,c)});return g};g.error=function(a){g.then(null,function(b){a(b.data,b.status,b.headers,c)});return g};return g}function v(c,f,h){function k(a,b,c,e){K&&(200<=a&&300>a?K.put(M,[a,b,xc(c),e]):K.remove(M));q(b,a,c,e);d.$$phase||d.$apply()}function q(a,b,d,e){b=Math.max(b,0);(200<=b&&300>b?t.resolve:t.reject)({data:a,status:b,headers:yc(d),config:c,statusText:e})}function v(){var a=Va(p.pendingRequests,c);-1!==a&&p.pendingRequests.splice(a,1)}var t=n.defer(),r=t.promise,K,D,M=C(c.url,c.params);
p.pendingRequests.push(c);r.then(v,v);!c.cache&&!e.cache||!1===c.cache||"GET"!==c.method&&"JSONP"!==c.method||(K=R(c.cache)?c.cache:R(e.cache)?e.cache:y);if(K)if(D=K.get(M),B(D)){if(D&&G(D.then))return D.then(v,v),D;O(D)?q(D[1],D[0],ka(D[2]),D[3]):q(D,200,{},"OK")}else K.put(M,r);A(D)&&((D=Ac(c.url)?b.cookies()[c.xsrfCookieName||e.xsrfCookieName]:u)&&(h[c.xsrfHeaderName||e.xsrfHeaderName]=D),a(c.method,M,f,k,h,c.timeout,c.withCredentials,c.responseType));return r}function C(a,b){if(!b)return a;var c=
[];Xc(b,function(a,b){null===a||A(a)||(O(a)||(a=[a]),r(a,function(a){R(a)&&(a=wa(a)?a.toISOString():ra(a));c.push(Ea(b)+"="+Ea(a))}))});0<c.length&&(a+=(-1==a.indexOf("?")?"?":"&")+c.join("&"));return a}var y=c("$http"),t=[];r(f,function(a){t.unshift(x(a)?q.get(a):q.invoke(a))});r(h,function(a,b){var c=x(a)?q.get(a):q.invoke(a);t.splice(b,0,{response:function(a){return c(n.when(a))},responseError:function(a){return c(n.reject(a))}})});p.pendingRequests=[];(function(a){r(arguments,function(a){p[a]=
function(b,c){return p(F(c||{},{method:a,url:b}))}})})("get","delete","head","jsonp");(function(a){r(arguments,function(a){p[a]=function(b,c,d){return p(F(d||{},{method:a,url:b,data:c}))}})})("post","put","patch");p.defaults=e;return p}]}function Ae(b){if(8>=P&&(!b.match(/^(get|post|head|put|delete|options)$/i)||!L.XMLHttpRequest))return new L.ActiveXObject("Microsoft.XMLHTTP");if(L.XMLHttpRequest)return new L.XMLHttpRequest;throw I("$httpBackend")("noxhr");}function Zd(){this.$get=["$browser","$window",
"$document",function(b,a,c){return Be(b,Ae,b.defer,a.angular.callbacks,c[0])}]}function Be(b,a,c,d,e){function f(a,b,c){var f=e.createElement("script"),m=null;f.type="text/javascript";f.src=a;f.async=!0;m=function(a){db(f,"load",m);db(f,"error",m);e.body.removeChild(f);f=null;var h=-1,p="unknown";a&&("load"!==a.type||d[b].called||(a={type:"error"}),p=a.type,h="error"===a.type?404:200);c&&c(h,p)};wb(f,"load",m);wb(f,"error",m);8>=P&&(f.onreadystatechange=function(){x(f.readyState)&&/loaded|complete/.test(f.readyState)&&
(f.onreadystatechange=null,m({type:"load"}))});e.body.appendChild(f);return m}return function(e,g,l,k,m,n,q,p){function v(){y=-1;V&&V();w&&w.abort()}function C(a,d,e,f,h){W&&c.cancel(W);V=w=null;0===d&&(d=e?200:"file"==xa(g).protocol?404:0);a(1223===d?204:d,e,f,h||"");b.$$completeOutstandingRequest(H)}var y;b.$$incOutstandingRequestCount();g=g||b.url();if("jsonp"==E(e)){var t="_"+(d.counter++).toString(36);d[t]=function(a){d[t].data=a;d[t].called=!0};var V=f(g.replace("JSON_CALLBACK","angular.callbacks."+
t),t,function(a,b){C(k,a,d[t].data,"",b);d[t]=H})}else{var w=a(e);w.open(e,g,!0);r(m,function(a,b){B(a)&&w.setRequestHeader(b,a)});w.onreadystatechange=function(){if(w&&4==w.readyState){var a=null,b=null,c="";-1!==y&&(a=w.getAllResponseHeaders(),b="response"in w?w.response:w.responseText);-1===y&&10>P||(c=w.statusText);C(k,y||w.status,b,a,c)}};q&&(w.withCredentials=!0);if(p)try{w.responseType=p}catch(ea){if("json"!==p)throw ea;}w.send(l||null)}if(0<n)var W=c(v,n);else n&&G(n.then)&&n.then(v)}}function Wd(){var b=
"{{",a="}}";this.startSymbol=function(a){return a?(b=a,this):b};this.endSymbol=function(b){return b?(a=b,this):a};this.$get=["$parse","$exceptionHandler","$sce",function(c,d,e){function f(f,k,m){for(var n,q,p=0,v=[],C=f.length,y=!1,t=[];p<C;)-1!=(n=f.indexOf(b,p))&&-1!=(q=f.indexOf(a,n+h))?(p!=n&&v.push(f.substring(p,n)),v.push(p=c(y=f.substring(n+h,q))),p.exp=y,p=q+g,y=!0):(p!=C&&v.push(f.substring(p)),p=C);(C=v.length)||(v.push(""),C=1);if(m&&1<v.length)throw Bc("noconcat",f);if(!k||y)return t.length=
C,p=function(a){try{for(var b=0,c=C,g;b<c;b++){if("function"==typeof(g=v[b]))if(g=g(a),g=m?e.getTrusted(m,g):e.valueOf(g),null==g)g="";else switch(typeof g){case "string":break;case "number":g=""+g;break;default:g=ra(g)}t[b]=g}return t.join("")}catch(h){a=Bc("interr",f,h.toString()),d(a)}},p.exp=f,p.parts=v,p}var h=b.length,g=a.length;f.startSymbol=function(){return b};f.endSymbol=function(){return a};return f}]}function Xd(){this.$get=["$rootScope","$window","$q",function(b,a,c){function d(d,h,g,
l){var k=a.setInterval,m=a.clearInterval,n=c.defer(),q=n.promise,p=0,v=B(l)&&!l;g=B(g)?g:0;q.then(null,null,d);q.$$intervalId=k(function(){n.notify(p++);0<g&&p>=g&&(n.resolve(p),m(q.$$intervalId),delete e[q.$$intervalId]);v||b.$apply()},h);e[q.$$intervalId]=n;return q}var e={};d.cancel=function(b){return b&&b.$$intervalId in e?(e[b.$$intervalId].reject("canceled"),a.clearInterval(b.$$intervalId),delete e[b.$$intervalId],!0):!1};return d}]}function fd(){this.$get=function(){return{id:"en-us",NUMBER_FORMATS:{DECIMAL_SEP:".",
GROUP_SEP:",",PATTERNS:[{minInt:1,minFrac:0,maxFrac:3,posPre:"",posSuf:"",negPre:"-",negSuf:"",gSize:3,lgSize:3},{minInt:1,minFrac:2,maxFrac:2,posPre:"\u00a4",posSuf:"",negPre:"(\u00a4",negSuf:")",gSize:3,lgSize:3}],CURRENCY_SYM:"$"},DATETIME_FORMATS:{MONTH:"January February March April May June July August September October November December".split(" "),SHORTMONTH:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),DAY:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),
SHORTDAY:"Sun Mon Tue Wed Thu Fri Sat".split(" "),AMPMS:["AM","PM"],medium:"MMM d, y h:mm:ss a",short:"M/d/yy h:mm a",fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",mediumDate:"MMM d, y",shortDate:"M/d/yy",mediumTime:"h:mm:ss a",shortTime:"h:mm a"},pluralCat:function(b){return 1===b?"one":"other"}}}}function Ub(b){b=b.split("/");for(var a=b.length;a--;)b[a]=pb(b[a]);return b.join("/")}function Cc(b,a,c){b=xa(b,c);a.$$protocol=b.protocol;a.$$host=b.hostname;a.$$port=U(b.port)||Ce[b.protocol]||null}
function Dc(b,a,c){var d="/"!==b.charAt(0);d&&(b="/"+b);b=xa(b,c);a.$$path=decodeURIComponent(d&&"/"===b.pathname.charAt(0)?b.pathname.substring(1):b.pathname);a.$$search=gc(b.search);a.$$hash=decodeURIComponent(b.hash);a.$$path&&"/"!=a.$$path.charAt(0)&&(a.$$path="/"+a.$$path)}function va(b,a){if(0===a.indexOf(b))return a.substr(b.length)}function Ha(b){var a=b.indexOf("#");return-1==a?b:b.substr(0,a)}function Vb(b){return b.substr(0,Ha(b).lastIndexOf("/")+1)}function Ec(b,a){this.$$html5=!0;a=a||
"";var c=Vb(b);Cc(b,this,b);this.$$parse=function(a){var e=va(c,a);if(!x(e))throw Wb("ipthprfx",a,c);Dc(e,this,b);this.$$path||(this.$$path="/");this.$$compose()};this.$$compose=function(){var a=Hb(this.$$search),b=this.$$hash?"#"+pb(this.$$hash):"";this.$$url=Ub(this.$$path)+(a?"?"+a:"")+b;this.$$absUrl=c+this.$$url.substr(1)};this.$$parseLinkUrl=function(d,e){var f,h;(f=va(b,d))!==u?(h=f,h=(f=va(a,f))!==u?c+(va("/",f)||f):b+h):(f=va(c,d))!==u?h=c+f:c==d+"/"&&(h=c);h&&this.$$parse(h);return!!h}}
function Xb(b,a){var c=Vb(b);Cc(b,this,b);this.$$parse=function(d){var e=va(b,d)||va(c,d),e="#"==e.charAt(0)?va(a,e):this.$$html5?e:"";if(!x(e))throw Wb("ihshprfx",d,a);Dc(e,this,b);d=this.$$path;var f=/^\/[A-Z]:(\/.*)/;0===e.indexOf(b)&&(e=e.replace(b,""));f.exec(e)||(d=(e=f.exec(d))?e[1]:d);this.$$path=d;this.$$compose()};this.$$compose=function(){var c=Hb(this.$$search),e=this.$$hash?"#"+pb(this.$$hash):"";this.$$url=Ub(this.$$path)+(c?"?"+c:"")+e;this.$$absUrl=b+(this.$$url?a+this.$$url:"")};
this.$$parseLinkUrl=function(a,c){return Ha(b)==Ha(a)?(this.$$parse(a),!0):!1}}function Fc(b,a){this.$$html5=!0;Xb.apply(this,arguments);var c=Vb(b);this.$$parseLinkUrl=function(d,e){var f,h;b==Ha(d)?f=d:(h=va(c,d))?f=b+a+h:c===d+"/"&&(f=c);f&&this.$$parse(f);return!!f};this.$$compose=function(){var c=Hb(this.$$search),e=this.$$hash?"#"+pb(this.$$hash):"";this.$$url=Ub(this.$$path)+(c?"?"+c:"")+e;this.$$absUrl=b+a+this.$$url}}function xb(b){return function(){return this[b]}}function Gc(b,a){return function(c){if(A(c))return this[b];
this[b]=a(c);this.$$compose();return this}}function $d(){var b="",a=!1;this.hashPrefix=function(a){return B(a)?(b=a,this):b};this.html5Mode=function(b){return B(b)?(a=b,this):a};this.$get=["$rootScope","$browser","$sniffer","$rootElement",function(c,d,e,f){function h(a){c.$broadcast("$locationChangeSuccess",g.absUrl(),a)}var g,l=d.baseHref(),k=d.url();a?(l=k.substring(0,k.indexOf("/",k.indexOf("//")+2))+(l||"/"),e=e.history?Ec:Fc):(l=Ha(k),e=Xb);g=new e(l,"#"+b);g.$$parseLinkUrl(k,k);var m=/^\s*(javascript|mailto):/i;
f.on("click",function(a){if(!a.ctrlKey&&!a.metaKey&&2!=a.which){for(var b=z(a.target);"a"!==E(b[0].nodeName);)if(b[0]===f[0]||!(b=b.parent())[0])return;var e=b.prop("href"),h=b.attr("href")||b.attr("xlink:href");R(e)&&"[object SVGAnimatedString]"===e.toString()&&(e=xa(e.animVal).href);m.test(e)||!e||b.attr("target")||a.isDefaultPrevented()||!g.$$parseLinkUrl(e,h)||(a.preventDefault(),g.absUrl()!=d.url()&&(c.$apply(),L.angular["ff-684208-preventDefault"]=!0))}});g.absUrl()!=k&&d.url(g.absUrl(),!0);
d.onUrlChange(function(a){g.absUrl()!=a&&(c.$evalAsync(function(){var b=g.absUrl();g.$$parse(a);c.$broadcast("$locationChangeStart",a,b).defaultPrevented?(g.$$parse(b),d.url(b)):h(b)}),c.$$phase||c.$digest())});var n=0;c.$watch(function(){var a=d.url(),b=g.$$replace;n&&a==g.absUrl()||(n++,c.$evalAsync(function(){c.$broadcast("$locationChangeStart",g.absUrl(),a).defaultPrevented?g.$$parse(a):(d.url(g.absUrl(),b),h(a))}));g.$$replace=!1;return n});return g}]}function ae(){var b=!0,a=this;this.debugEnabled=
function(a){return B(a)?(b=a,this):b};this.$get=["$window",function(c){function d(a){a instanceof Error&&(a.stack?a=a.message&&-1===a.stack.indexOf(a.message)?"Error: "+a.message+"\n"+a.stack:a.stack:a.sourceURL&&(a=a.message+"\n"+a.sourceURL+":"+a.line));return a}function e(a){var b=c.console||{},e=b[a]||b.log||H;a=!1;try{a=!!e.apply}catch(l){}return a?function(){var a=[];r(arguments,function(b){a.push(d(b))});return e.apply(b,a)}:function(a,b){e(a,null==b?"":b)}}return{log:e("log"),info:e("info"),
warn:e("warn"),error:e("error"),debug:function(){var c=e("debug");return function(){b&&c.apply(a,arguments)}}()}}]}function na(b,a){if("__defineGetter__"===b||"__defineSetter__"===b||"__lookupGetter__"===b||"__lookupSetter__"===b||"__proto__"===b)throw oa("isecfld",a);return b}function pa(b,a){if(b){if(b.constructor===b)throw oa("isecfn",a);if(b.document&&b.location&&b.alert&&b.setInterval)throw oa("isecwindow",a);if(b.children&&(b.nodeName||b.prop&&b.attr&&b.find))throw oa("isecdom",a);if(b===Object)throw oa("isecobj",
a);}return b}function yb(b,a,c,d,e){pa(b,d);e=e||{};a=a.split(".");for(var f,h=0;1<a.length;h++){f=na(a.shift(),d);var g=pa(b[f],d);g||(g={},b[f]=g);b=g;b.then&&e.unwrapPromises&&(ya(d),"$$v"in b||function(a){a.then(function(b){a.$$v=b})}(b),b.$$v===u&&(b.$$v={}),b=b.$$v)}f=na(a.shift(),d);pa(b[f],d);return b[f]=c}function Sa(b){return"constructor"==b}function Hc(b,a,c,d,e,f,h){na(b,f);na(a,f);na(c,f);na(d,f);na(e,f);var g=function(a){return pa(a,f)},l=h.expensiveChecks,k=l||Sa(b)?g:ja,m=l||Sa(a)?
g:ja,n=l||Sa(c)?g:ja,q=l||Sa(d)?g:ja,p=l||Sa(e)?g:ja;return h.unwrapPromises?function(g,h){var l=h&&h.hasOwnProperty(b)?h:g,t;if(null==l)return l;(l=k(l[b]))&&l.then&&(ya(f),"$$v"in l||(t=l,t.$$v=u,t.then(function(a){t.$$v=k(a)})),l=k(l.$$v));if(!a)return l;if(null==l)return u;(l=m(l[a]))&&l.then&&(ya(f),"$$v"in l||(t=l,t.$$v=u,t.then(function(a){t.$$v=m(a)})),l=m(l.$$v));if(!c)return l;if(null==l)return u;(l=n(l[c]))&&l.then&&(ya(f),"$$v"in l||(t=l,t.$$v=u,t.then(function(a){t.$$v=n(a)})),l=n(l.$$v));
if(!d)return l;if(null==l)return u;(l=q(l[d]))&&l.then&&(ya(f),"$$v"in l||(t=l,t.$$v=u,t.then(function(a){t.$$v=q(a)})),l=q(l.$$v));if(!e)return l;if(null==l)return u;(l=p(l[e]))&&l.then&&(ya(f),"$$v"in l||(t=l,t.$$v=u,t.then(function(a){t.$$v=p(a)})),l=p(l.$$v));return l}:function(f,g){var h=g&&g.hasOwnProperty(b)?g:f;if(null==h)return h;h=k(h[b]);if(!a)return h;if(null==h)return u;h=m(h[a]);if(!c)return h;if(null==h)return u;h=n(h[c]);if(!d)return h;if(null==h)return u;h=q(h[d]);return e?null==
h?u:h=p(h[e]):h}}function De(b,a){return function(c,d){return b(c,d,ya,pa,a)}}function Ic(b,a,c){var d=a.expensiveChecks,e=d?Ee:Fe;if(e.hasOwnProperty(b))return e[b];var f=b.split("."),h=f.length,g;if(a.csp)g=6>h?Hc(f[0],f[1],f[2],f[3],f[4],c,a):function(b,d){var e=0,g;do g=Hc(f[e++],f[e++],f[e++],f[e++],f[e++],c,a)(b,d),d=u,b=g;while(e<h);return g};else{var l="var p;\n";d&&(l+="s = eso(s, fe);\nl = eso(l, fe);\n");var k=d;r(f,function(b,e){na(b,c);var f=(e?"s":'((l&&l.hasOwnProperty("'+b+'"))?l:s)')+
'["'+b+'"]',g=d||Sa(b);g&&(f="eso("+f+", fe)",k=!0);l+="if(s == null) return undefined;\ns="+f+";\n";a.unwrapPromises&&(l+='if (s && s.then) {\n pw("'+c.replace(/(["\r\n])/g,"\\$1")+'");\n if (!("$$v" in s)) {\n p=s;\n p.$$v = undefined;\n p.then(function(v) {p.$$v='+(g?"eso(v)":"v")+";});\n}\n s="+(g?"eso(s.$$v)":"s.$$v")+"\n}\n")});l+="return s;";g=new Function("s","l","pw","eso","fe",l);g.toString=ca(l);if(k||a.unwrapPromises)g=De(g,c)}"hasOwnProperty"!==b&&(e[b]=g);return g}function be(){var b=
{},a={},c={csp:!1,unwrapPromises:!1,logPromiseWarnings:!0,expensiveChecks:!1};this.unwrapPromises=function(a){return B(a)?(c.unwrapPromises=!!a,this):c.unwrapPromises};this.logPromiseWarnings=function(a){return B(a)?(c.logPromiseWarnings=a,this):c.logPromiseWarnings};this.$get=["$filter","$sniffer","$log",function(d,e,f){c.csp=e.csp;var h={csp:c.csp,unwrapPromises:c.unwrapPromises,logPromiseWarnings:c.logPromiseWarnings,expensiveChecks:!0};ya=function(a){c.logPromiseWarnings&&!Jc.hasOwnProperty(a)&&
(Jc[a]=!0,f.warn("[$parse] Promise found in the expression `"+a+"`. Automatic unwrapping of promises in Angular expressions is deprecated."))};return function(e,f){var k;switch(typeof e){case "string":var m=f?a:b;if(m.hasOwnProperty(e))return m[e];k=f?h:c;var n=new Yb(k);k=(new jb(n,d,k)).parse(e);"hasOwnProperty"!==e&&(m[e]=k);return k;case "function":return e;default:return H}}}]}function de(){this.$get=["$rootScope","$exceptionHandler",function(b,a){return Ge(function(a){b.$evalAsync(a)},a)}]}
function Ge(b,a){function c(a){return a}function d(a){return h(a)}var e=function(){var h=[],k,m;return m={resolve:function(a){if(h){var c=h;h=u;k=f(a);c.length&&b(function(){for(var a,b=0,d=c.length;b<d;b++)a=c[b],k.then(a[0],a[1],a[2])})}},reject:function(a){m.resolve(g(a))},notify:function(a){if(h){var c=h;h.length&&b(function(){for(var b,d=0,e=c.length;d<e;d++)b=c[d],b[2](a)})}},promise:{then:function(b,f,g){var m=e(),C=function(d){try{m.resolve((G(b)?b:c)(d))}catch(e){m.reject(e),a(e)}},y=function(b){try{m.resolve((G(f)?
f:d)(b))}catch(c){m.reject(c),a(c)}},t=function(b){try{m.notify((G(g)?g:c)(b))}catch(d){a(d)}};h?h.push([C,y,t]):k.then(C,y,t);return m.promise},"catch":function(a){return this.then(null,a)},"finally":function(a){function b(a,c){var d=e();c?d.resolve(a):d.reject(a);return d.promise}function d(e,f){var g=null;try{g=(a||c)()}catch(h){return b(h,!1)}return g&&G(g.then)?g.then(function(){return b(e,f)},function(a){return b(a,!1)}):b(e,f)}return this.then(function(a){return d(a,!0)},function(a){return d(a,
!1)})}}}},f=function(a){return a&&G(a.then)?a:{then:function(c){var d=e();b(function(){d.resolve(c(a))});return d.promise}}},h=function(a){var b=e();b.reject(a);return b.promise},g=function(c){return{then:function(f,g){var h=e();b(function(){try{h.resolve((G(g)?g:d)(c))}catch(b){h.reject(b),a(b)}});return h.promise}}};return{defer:e,reject:h,when:function(g,k,m,n){var q=e(),p,v=function(b){try{return(G(k)?k:c)(b)}catch(d){return a(d),h(d)}},C=function(b){try{return(G(m)?m:d)(b)}catch(c){return a(c),
h(c)}},y=function(b){try{return(G(n)?n:c)(b)}catch(d){a(d)}};b(function(){f(g).then(function(a){p||(p=!0,q.resolve(f(a).then(v,C,y)))},function(a){p||(p=!0,q.resolve(C(a)))},function(a){p||q.notify(y(a))})});return q.promise},all:function(a){var b=e(),c=0,d=O(a)?[]:{};r(a,function(a,e){c++;f(a).then(function(a){d.hasOwnProperty(e)||(d[e]=a,--c||b.resolve(d))},function(a){d.hasOwnProperty(e)||b.reject(a)})});0===c&&b.resolve(d);return b.promise}}}function ke(){this.$get=["$window","$timeout",function(b,
a){var c=b.requestAnimationFrame||b.webkitRequestAnimationFrame||b.mozRequestAnimationFrame,d=b.cancelAnimationFrame||b.webkitCancelAnimationFrame||b.mozCancelAnimationFrame||b.webkitCancelRequestAnimationFrame,e=!!c,f=e?function(a){var b=c(a);return function(){d(b)}}:function(b){var c=a(b,16.66,!1);return function(){a.cancel(c)}};f.supported=e;return f}]}function ce(){var b=10,a=I("$rootScope"),c=null;this.digestTtl=function(a){arguments.length&&(b=a);return b};this.$get=["$injector","$exceptionHandler",
"$parse","$browser",function(d,e,f,h){function g(){this.$id=lb();this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null;this["this"]=this.$root=this;this.$$destroyed=!1;this.$$asyncQueue=[];this.$$postDigestQueue=[];this.$$listeners={};this.$$listenerCount={};this.$$isolateBindings={}}function l(b){if(q.$$phase)throw a("inprog",q.$$phase);q.$$phase=b}function k(a,b){var c=f(a);$a(c,b);return c}function m(a,b,c){do a.$$listenerCount[c]-=
b,0===a.$$listenerCount[c]&&delete a.$$listenerCount[c];while(a=a.$parent)}function n(){}g.prototype={constructor:g,$new:function(a){a?(a=new g,a.$root=this.$root,a.$$asyncQueue=this.$$asyncQueue,a.$$postDigestQueue=this.$$postDigestQueue):(this.$$childScopeClass||(this.$$childScopeClass=function(){this.$$watchers=this.$$nextSibling=this.$$childHead=this.$$childTail=null;this.$$listeners={};this.$$listenerCount={};this.$id=lb();this.$$childScopeClass=null},this.$$childScopeClass.prototype=this),a=
new this.$$childScopeClass);a["this"]=a;a.$parent=this;a.$$prevSibling=this.$$childTail;this.$$childHead?this.$$childTail=this.$$childTail.$$nextSibling=a:this.$$childHead=this.$$childTail=a;return a},$watch:function(a,b,d){var e=k(a,"watch"),f=this.$$watchers,g={fn:b,last:n,get:e,exp:a,eq:!!d};c=null;if(!G(b)){var h=k(b||H,"listener");g.fn=function(a,b,c){h(c)}}if("string"==typeof a&&e.constant){var l=g.fn;g.fn=function(a,b,c){l.call(this,a,b,c);Wa(f,g)}}f||(f=this.$$watchers=[]);f.unshift(g);return function(){Wa(f,
g);c=null}},$watchCollection:function(a,b){var c=this,d,e,g,h=1<b.length,l=0,k=f(a),m=[],n={},q=!0,r=0;return this.$watch(function(){d=k(c);var a,b,f;if(R(d))if(Ua(d))for(e!==m&&(e=m,r=e.length=0,l++),a=d.length,r!==a&&(l++,e.length=r=a),b=0;b<a;b++)f=e[b]!==e[b]&&d[b]!==d[b],f||e[b]===d[b]||(l++,e[b]=d[b]);else{e!==n&&(e=n={},r=0,l++);a=0;for(b in d)d.hasOwnProperty(b)&&(a++,e.hasOwnProperty(b)?(f=e[b]!==e[b]&&d[b]!==d[b],f||e[b]===d[b]||(l++,e[b]=d[b])):(r++,e[b]=d[b],l++));if(r>a)for(b in l++,
e)e.hasOwnProperty(b)&&!d.hasOwnProperty(b)&&(r--,delete e[b])}else e!==d&&(e=d,l++);return l},function(){q?(q=!1,b(d,d,c)):b(d,g,c);if(h)if(R(d))if(Ua(d)){g=Array(d.length);for(var a=0;a<d.length;a++)g[a]=d[a]}else for(a in g={},d)ob.call(d,a)&&(g[a]=d[a]);else g=d})},$digest:function(){var d,f,g,k,m=this.$$asyncQueue,r=this.$$postDigestQueue,w,u,W=b,Q,Z=[],ba,z,K;l("$digest");h.$$checkUrlChange();c=null;do{u=!1;for(Q=this;m.length;){try{K=m.shift(),K.scope.$eval(K.expression)}catch(D){q.$$phase=
null,e(D)}c=null}a:do{if(k=Q.$$watchers)for(w=k.length;w--;)try{if(d=k[w])if((f=d.get(Q))!==(g=d.last)&&!(d.eq?Da(f,g):"number"===typeof f&&"number"===typeof g&&isNaN(f)&&isNaN(g)))u=!0,c=d,d.last=d.eq?Ka(f,null):f,d.fn(f,g===n?f:g,Q),5>W&&(ba=4-W,Z[ba]||(Z[ba]=[]),z=G(d.exp)?"fn: "+(d.exp.name||d.exp.toString()):d.exp,z+="; newVal: "+ra(f)+"; oldVal: "+ra(g),Z[ba].push(z));else if(d===c){u=!1;break a}}catch(M){q.$$phase=null,e(M)}if(!(k=Q.$$childHead||Q!==this&&Q.$$nextSibling))for(;Q!==this&&!(k=
Q.$$nextSibling);)Q=Q.$parent}while(Q=k);if((u||m.length)&&!W--)throw q.$$phase=null,a("infdig",b,ra(Z));}while(u||m.length);for(q.$$phase=null;r.length;)try{r.shift()()}catch(B){e(B)}},$destroy:function(){if(!this.$$destroyed){var a=this.$parent;this.$broadcast("$destroy");this.$$destroyed=!0;this!==q&&(r(this.$$listenerCount,Gb(null,m,this)),a.$$childHead==this&&(a.$$childHead=this.$$nextSibling),a.$$childTail==this&&(a.$$childTail=this.$$prevSibling),this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=
this.$$nextSibling),this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling),this.$parent=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=this.$root=null,this.$$listeners={},this.$$watchers=this.$$asyncQueue=this.$$postDigestQueue=[],this.$destroy=this.$digest=this.$apply=H,this.$on=this.$watch=function(){return H})}},$eval:function(a,b){return f(a)(this,b)},$evalAsync:function(a){q.$$phase||q.$$asyncQueue.length||h.defer(function(){q.$$asyncQueue.length&&
q.$digest()});this.$$asyncQueue.push({scope:this,expression:a})},$$postDigest:function(a){this.$$postDigestQueue.push(a)},$apply:function(a){try{return l("$apply"),this.$eval(a)}catch(b){e(b)}finally{q.$$phase=null;try{q.$digest()}catch(c){throw e(c),c;}}},$on:function(a,b){var c=this.$$listeners[a];c||(this.$$listeners[a]=c=[]);c.push(b);var d=this;do d.$$listenerCount[a]||(d.$$listenerCount[a]=0),d.$$listenerCount[a]++;while(d=d.$parent);var e=this;return function(){var d=Va(c,b);-1!==d&&(c[d]=
null,m(e,1,a))}},$emit:function(a,b){var c=[],d,f=this,g=!1,h={name:a,targetScope:f,stopPropagation:function(){g=!0},preventDefault:function(){h.defaultPrevented=!0},defaultPrevented:!1},l=Fb([h],arguments,1),k,m;do{d=f.$$listeners[a]||c;h.currentScope=f;k=0;for(m=d.length;k<m;k++)if(d[k])try{d[k].apply(null,l)}catch(n){e(n)}else d.splice(k,1),k--,m--;if(g)break;f=f.$parent}while(f);return h},$broadcast:function(a,b){for(var c=this,d=this,f={name:a,targetScope:this,preventDefault:function(){f.defaultPrevented=
!0},defaultPrevented:!1},g=Fb([f],arguments,1),h,l;c=d;){f.currentScope=c;d=c.$$listeners[a]||[];h=0;for(l=d.length;h<l;h++)if(d[h])try{d[h].apply(null,g)}catch(k){e(k)}else d.splice(h,1),h--,l--;if(!(d=c.$$listenerCount[a]&&c.$$childHead||c!==this&&c.$$nextSibling))for(;c!==this&&!(d=c.$$nextSibling);)c=c.$parent}return f}};var q=new g;return q}]}function gd(){var b=/^\s*(https?|ftp|mailto|tel|file):/,a=/^\s*((https?|ftp|file):|data:image\/)/;this.aHrefSanitizationWhitelist=function(a){return B(a)?
(b=a,this):b};this.imgSrcSanitizationWhitelist=function(b){return B(b)?(a=b,this):a};this.$get=function(){return function(c,d){var e=d?a:b,f;if(!P||8<=P)if(f=xa(c).href,""!==f&&!f.match(e))return"unsafe:"+f;return c}}}function He(b){if("self"===b)return b;if(x(b)){if(-1<b.indexOf("***"))throw za("iwcard",b);b=b.replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08").replace("\\*\\*",".*").replace("\\*","[^:/.?&;]*");return new RegExp("^"+b+"$")}if(nb(b))return new RegExp("^"+b.source+
"$");throw za("imatcher");}function Kc(b){var a=[];B(b)&&r(b,function(b){a.push(He(b))});return a}function fe(){this.SCE_CONTEXTS=ia;var b=["self"],a=[];this.resourceUrlWhitelist=function(a){arguments.length&&(b=Kc(a));return b};this.resourceUrlBlacklist=function(b){arguments.length&&(a=Kc(b));return a};this.$get=["$injector",function(c){function d(a,b){return"self"===a?Ac(b):!!a.exec(b.href)}function e(a){var b=function(a){this.$$unwrapTrustedValue=function(){return a}};a&&(b.prototype=new a);b.prototype.valueOf=
function(){return this.$$unwrapTrustedValue()};b.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()};return b}var f=function(a){throw za("unsafe");};c.has("$sanitize")&&(f=c.get("$sanitize"));var h=e(),g={};g[ia.HTML]=e(h);g[ia.CSS]=e(h);g[ia.URL]=e(h);g[ia.JS]=e(h);g[ia.RESOURCE_URL]=e(g[ia.URL]);return{trustAs:function(a,b){var c=g.hasOwnProperty(a)?g[a]:null;if(!c)throw za("icontext",a,b);if(null===b||b===u||""===b)return b;if("string"!==typeof b)throw za("itype",a);return new c(b)},
getTrusted:function(c,e){if(null===e||e===u||""===e)return e;var h=g.hasOwnProperty(c)?g[c]:null;if(h&&e instanceof h)return e.$$unwrapTrustedValue();if(c===ia.RESOURCE_URL){var h=xa(e.toString()),n,q,p=!1;n=0;for(q=b.length;n<q;n++)if(d(b[n],h)){p=!0;break}if(p)for(n=0,q=a.length;n<q;n++)if(d(a[n],h)){p=!1;break}if(p)return e;throw za("insecurl",e.toString());}if(c===ia.HTML)return f(e);throw za("unsafe");},valueOf:function(a){return a instanceof h?a.$$unwrapTrustedValue():a}}}]}function ee(){var b=
!0;this.enabled=function(a){arguments.length&&(b=!!a);return b};this.$get=["$parse","$sniffer","$sceDelegate",function(a,c,d){if(b&&c.msie&&8>c.msieDocumentMode)throw za("iequirks");var e=ka(ia);e.isEnabled=function(){return b};e.trustAs=d.trustAs;e.getTrusted=d.getTrusted;e.valueOf=d.valueOf;b||(e.trustAs=e.getTrusted=function(a,b){return b},e.valueOf=ja);e.parseAs=function(b,c){var d=a(c);return d.literal&&d.constant?d:function(a,c){return e.getTrusted(b,d(a,c))}};var f=e.parseAs,h=e.getTrusted,
g=e.trustAs;r(ia,function(a,b){var c=E(b);e[cb("parse_as_"+c)]=function(b){return f(a,b)};e[cb("get_trusted_"+c)]=function(b){return h(a,b)};e[cb("trust_as_"+c)]=function(b){return g(a,b)}});return e}]}function ge(){this.$get=["$window","$document",function(b,a){var c={},d=U((/android (\d+)/.exec(E((b.navigator||{}).userAgent))||[])[1]),e=/Boxee/i.test((b.navigator||{}).userAgent),f=a[0]||{},h=f.documentMode,g,l=/^(Moz|webkit|O|ms)(?=[A-Z])/,k=f.body&&f.body.style,m=!1,n=!1;if(k){for(var q in k)if(m=
l.exec(q)){g=m[0];g=g.substr(0,1).toUpperCase()+g.substr(1);break}g||(g="WebkitOpacity"in k&&"webkit");m=!!("transition"in k||g+"Transition"in k);n=!!("animation"in k||g+"Animation"in k);!d||m&&n||(m=x(f.body.style.webkitTransition),n=x(f.body.style.webkitAnimation))}return{history:!(!b.history||!b.history.pushState||4>d||e),hashchange:"onhashchange"in b&&(!h||7<h),hasEvent:function(a){if("input"==a&&9==P)return!1;if(A(c[a])){var b=f.createElement("div");c[a]="on"+a in b}return c[a]},csp:ab(),vendorPrefix:g,
transitions:m,animations:n,android:d,msie:P,msieDocumentMode:h}}]}function ie(){this.$get=["$rootScope","$browser","$q","$exceptionHandler",function(b,a,c,d){function e(e,g,l){var k=c.defer(),m=k.promise,n=B(l)&&!l;g=a.defer(function(){try{k.resolve(e())}catch(a){k.reject(a),d(a)}finally{delete f[m.$$timeoutId]}n||b.$apply()},g);m.$$timeoutId=g;f[g]=k;return m}var f={};e.cancel=function(b){return b&&b.$$timeoutId in f?(f[b.$$timeoutId].reject("canceled"),delete f[b.$$timeoutId],a.defer.cancel(b.$$timeoutId)):
!1};return e}]}function xa(b,a){var c=b;P&&(X.setAttribute("href",c),c=X.href);X.setAttribute("href",c);return{href:X.href,protocol:X.protocol?X.protocol.replace(/:$/,""):"",host:X.host,search:X.search?X.search.replace(/^\?/,""):"",hash:X.hash?X.hash.replace(/^#/,""):"",hostname:X.hostname,port:X.port,pathname:"/"===X.pathname.charAt(0)?X.pathname:"/"+X.pathname}}function Ac(b){b=x(b)?xa(b):b;return b.protocol===Lc.protocol&&b.host===Lc.host}function je(){this.$get=ca(L)}function oc(b){function a(c,
d){if(R(c)){var e={};r(c,function(b,c){e[c]=a(c,b)});return e}return b.factory(c+"Filter",d)}this.register=a;this.$get=["$injector",function(a){return function(b){return a.get(b+"Filter")}}];a("currency",Mc);a("date",Nc);a("filter",Ie);a("json",Je);a("limitTo",Ke);a("lowercase",Le);a("number",Oc);a("orderBy",Pc);a("uppercase",Me)}function Ie(){return function(b,a,c){if(!O(b))return b;var d=typeof c,e=[];e.check=function(a){for(var b=0;b<e.length;b++)if(!e[b](a))return!1;return!0};"function"!==d&&
(c="boolean"===d&&c?function(a,b){return Za.equals(a,b)}:function(a,b){if(a&&b&&"object"===typeof a&&"object"===typeof b){for(var d in a)if("$"!==d.charAt(0)&&ob.call(a,d)&&c(a[d],b[d]))return!0;return!1}b=(""+b).toLowerCase();return-1<(""+a).toLowerCase().indexOf(b)});var f=function(a,b){if("string"===typeof b&&"!"===b.charAt(0))return!f(a,b.substr(1));switch(typeof a){case "boolean":case "number":case "string":return c(a,b);case "object":switch(typeof b){case "object":return c(a,b);default:for(var d in a)if("$"!==
d.charAt(0)&&f(a[d],b))return!0}return!1;case "array":for(d=0;d<a.length;d++)if(f(a[d],b))return!0;return!1;default:return!1}};switch(typeof a){case "boolean":case "number":case "string":a={$:a};case "object":for(var h in a)(function(b){"undefined"!==typeof a[b]&&e.push(function(c){return f("$"==b?c:c&&c[b],a[b])})})(h);break;case "function":e.push(a);break;default:return b}d=[];for(h=0;h<b.length;h++){var g=b[h];e.check(g)&&d.push(g)}return d}}function Mc(b){var a=b.NUMBER_FORMATS;return function(b,
d){A(d)&&(d=a.CURRENCY_SYM);return Qc(b,a.PATTERNS[1],a.GROUP_SEP,a.DECIMAL_SEP,2).replace(/\u00A4/g,d)}}function Oc(b){var a=b.NUMBER_FORMATS;return function(b,d){return Qc(b,a.PATTERNS[0],a.GROUP_SEP,a.DECIMAL_SEP,d)}}function Qc(b,a,c,d,e){if(null==b||!isFinite(b)||R(b))return"";var f=0>b;b=Math.abs(b);var h=b+"",g="",l=[],k=!1;if(-1!==h.indexOf("e")){var m=h.match(/([\d\.]+)e(-?)(\d+)/);m&&"-"==m[2]&&m[3]>e+1?(h="0",b=0):(g=h,k=!0)}if(k)0<e&&-1<b&&1>b&&(g=b.toFixed(e));else{h=(h.split(Rc)[1]||
"").length;A(e)&&(e=Math.min(Math.max(a.minFrac,h),a.maxFrac));b=+(Math.round(+(b.toString()+"e"+e)).toString()+"e"+-e);0===b&&(f=!1);b=(""+b).split(Rc);h=b[0];b=b[1]||"";var m=0,n=a.lgSize,q=a.gSize;if(h.length>=n+q)for(m=h.length-n,k=0;k<m;k++)0===(m-k)%q&&0!==k&&(g+=c),g+=h.charAt(k);for(k=m;k<h.length;k++)0===(h.length-k)%n&&0!==k&&(g+=c),g+=h.charAt(k);for(;b.length<e;)b+="0";e&&"0"!==e&&(g+=d+b.substr(0,e))}l.push(f?a.negPre:a.posPre);l.push(g);l.push(f?a.negSuf:a.posSuf);return l.join("")}
function Zb(b,a,c){var d="";0>b&&(d="-",b=-b);for(b=""+b;b.length<a;)b="0"+b;c&&(b=b.substr(b.length-a));return d+b}function aa(b,a,c,d){c=c||0;return function(e){e=e["get"+b]();if(0<c||e>-c)e+=c;0===e&&-12==c&&(e=12);return Zb(e,a,d)}}function zb(b,a){return function(c,d){var e=c["get"+b](),f=Ma(a?"SHORT"+b:b);return d[f][e]}}function Nc(b){function a(a){var b;if(b=a.match(c)){a=new Date(0);var f=0,h=0,g=b[8]?a.setUTCFullYear:a.setFullYear,l=b[8]?a.setUTCHours:a.setHours;b[9]&&(f=U(b[9]+b[10]),h=
U(b[9]+b[11]));g.call(a,U(b[1]),U(b[2])-1,U(b[3]));f=U(b[4]||0)-f;h=U(b[5]||0)-h;g=U(b[6]||0);b=Math.round(1E3*parseFloat("0."+(b[7]||0)));l.call(a,f,h,g,b)}return a}var c=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(c,e){var f="",h=[],g,l;e=e||"mediumDate";e=b.DATETIME_FORMATS[e]||e;x(c)&&(c=Ne.test(c)?U(c):a(c));mb(c)&&(c=new Date(c));if(!wa(c))return c;for(;e;)(l=Oe.exec(e))?(h=Fb(h,l,1),e=h.pop()):(h.push(e),e=null);r(h,
function(a){g=Pe[a];f+=g?g(c,b.DATETIME_FORMATS):a.replace(/(^'|'$)/g,"").replace(/''/g,"'")});return f}}function Je(){return function(b){return ra(b,!0)}}function Ke(){return function(b,a){return O(b)||x(b)?(a=Infinity===Math.abs(Number(a))?Number(a):U(a))?0<a?b.slice(0,a):b.slice(a):x(b)?"":[]:b}}function Pc(b){return function(a,c,d){function e(a,b){return Ya(b)?function(b,c){return a(c,b)}:a}function f(a,b){var c=typeof a,d=typeof b;return c==d?(wa(a)&&wa(b)&&(a=a.valueOf(),b=b.valueOf()),"string"==
c&&(a=a.toLowerCase(),b=b.toLowerCase()),a===b?0:a<b?-1:1):c<d?-1:1}if(!Ua(a))return a;c=O(c)?c:[c];0===c.length&&(c=["+"]);c=Zc(c,function(a){var c=!1,d=a||ja;if(x(a)){if("+"==a.charAt(0)||"-"==a.charAt(0))c="-"==a.charAt(0),a=a.substring(1);if(""===a)return e(function(a,b){return f(a,b)},c);d=b(a);if(d.constant){var k=d();return e(function(a,b){return f(a[k],b[k])},c)}}return e(function(a,b){return f(d(a),d(b))},c)});return La.call(a).sort(e(function(a,b){for(var d=0;d<c.length;d++){var e=c[d](a,
b);if(0!==e)return e}return 0},d))}}function Aa(b){G(b)&&(b={link:b});b.restrict=b.restrict||"AC";return ca(b)}function Sc(b,a,c,d){function e(a,c){c=c?"-"+qb(c,"-"):"";d.setClass(b,(a?Ab:Bb)+c,(a?Bb:Ab)+c)}var f=this,h=b.parent().controller("form")||Cb,g=0,l=f.$error={},k=[];f.$name=a.name||a.ngForm;f.$dirty=!1;f.$pristine=!0;f.$valid=!0;f.$invalid=!1;h.$addControl(f);b.addClass(Ta);e(!0);f.$addControl=function(a){Fa(a.$name,"input");k.push(a);a.$name&&(f[a.$name]=a)};f.$removeControl=function(a){a.$name&&
f[a.$name]===a&&delete f[a.$name];r(l,function(b,c){f.$setValidity(c,!0,a)});Wa(k,a)};f.$setValidity=function(a,b,c){var d=l[a];if(b)d&&(Wa(d,c),d.length||(g--,g||(e(b),f.$valid=!0,f.$invalid=!1),l[a]=!1,e(!0,a),h.$setValidity(a,!0,f)));else{g||e(b);if(d){if(-1!=Va(d,c))return}else l[a]=d=[],g++,e(!1,a),h.$setValidity(a,!1,f);d.push(c);f.$valid=!1;f.$invalid=!0}};f.$setDirty=function(){d.removeClass(b,Ta);d.addClass(b,Db);f.$dirty=!0;f.$pristine=!1;h.$setDirty()};f.$setPristine=function(){d.removeClass(b,
Db);d.addClass(b,Ta);f.$dirty=!1;f.$pristine=!0;r(k,function(a){a.$setPristine()})}}function Ba(b,a,c,d){b.$setValidity(a,c);return c?d:u}function Tc(b,a){var c,d;if(a)for(c=0;c<a.length;++c)if(d=a[c],b[d])return!0;return!1}function Qe(b,a,c,d,e){R(e)&&(b.$$hasNativeValidators=!0,b.$parsers.push(function(f){if(b.$error[a]||Tc(e,d)||!Tc(e,c))return f;b.$setValidity(a,!1)}))}function Eb(b,a,c,d,e,f){var h=a.prop("validity"),g=a[0].placeholder,l={},k=E(a[0].type);d.$$validityState=h;if(!e.android){var m=
!1;a.on("compositionstart",function(a){m=!0});a.on("compositionend",function(){m=!1;n()})}var n=function(e){if(!m){var f=a.val();if(P&&"input"===(e||l).type&&a[0].placeholder!==g)g=a[0].placeholder;else if("password"!==k&&Ya(c.ngTrim||"T")&&(f=da(f)),e=h&&d.$$hasNativeValidators,d.$viewValue!==f||""===f&&e)b.$root.$$phase?d.$setViewValue(f):b.$apply(function(){d.$setViewValue(f)})}};if(e.hasEvent("input"))a.on("input",n);else{var q,p=function(){q||(q=f.defer(function(){n();q=null}))};a.on("keydown",
function(a){a=a.keyCode;91===a||15<a&&19>a||37<=a&&40>=a||p()});if(e.hasEvent("paste"))a.on("paste cut",p)}a.on("change",n);d.$render=function(){a.val(d.$isEmpty(d.$viewValue)?"":d.$viewValue)};var v=c.ngPattern;if(v){var r=function(a,b){return Ba(d,"pattern",d.$isEmpty(b)||a.test(b),b)};(e=v.match(/^\/(.*)\/([gim]*)$/))?(v=new RegExp(e[1],e[2]),e=function(a){return r(v,a)}):e=function(c){var d=b.$eval(v);if(!d||!d.test)throw I("ngPattern")("noregexp",v,d,la(a));return r(d,c)};d.$formatters.push(e);
d.$parsers.push(e)}if(c.ngMinlength){var y=U(c.ngMinlength);e=function(a){return Ba(d,"minlength",d.$isEmpty(a)||a.length>=y,a)};d.$parsers.push(e);d.$formatters.push(e)}if(c.ngMaxlength){var t=U(c.ngMaxlength);e=function(a){return Ba(d,"maxlength",d.$isEmpty(a)||a.length<=t,a)};d.$parsers.push(e);d.$formatters.push(e)}}function $b(b,a){b="ngClass"+b;return["$animate",function(c){function d(a,b){var c=[],d=0;a:for(;d<a.length;d++){for(var e=a[d],m=0;m<b.length;m++)if(e==b[m])continue a;c.push(e)}return c}
function e(a){if(!O(a)){if(x(a))return a.split(" ");if(R(a)){var b=[];r(a,function(a,c){a&&(b=b.concat(c.split(" ")))});return b}}return a}return{restrict:"AC",link:function(f,h,g){function l(a,b){var c=h.data("$classCounts")||{},d=[];r(a,function(a){if(0<b||c[a])c[a]=(c[a]||0)+b,c[a]===+(0<b)&&d.push(a)});h.data("$classCounts",c);return d.join(" ")}function k(b){if(!0===a||f.$index%2===a){var k=e(b||[]);if(!m){var p=l(k,1);g.$addClass(p)}else if(!Da(b,m)){var r=e(m),p=d(k,r),k=d(r,k),k=l(k,-1),p=
l(p,1);0===p.length?c.removeClass(h,k):0===k.length?c.addClass(h,p):c.setClass(h,p,k)}}m=ka(b)}var m;f.$watch(g[b],k,!0);g.$observe("class",function(a){k(f.$eval(g[b]))});"ngClass"!==b&&f.$watch("$index",function(c,d){var h=c&1;if(h!==(d&1)){var k=e(f.$eval(g[b]));h===a?(h=l(k,1),g.$addClass(h)):(h=l(k,-1),g.$removeClass(h))}})}}}]}var E=function(b){return x(b)?b.toLowerCase():b},ob=Object.prototype.hasOwnProperty,Ma=function(b){return x(b)?b.toUpperCase():b},P,z,Ga,La=[].slice,Re=[].push,Ca=Object.prototype.toString,
Xa=I("ng"),Za=L.angular||(L.angular={}),bb,Qa,qa=["0","0","0"];P=U((/msie (\d+)/.exec(E(navigator.userAgent))||[])[1]);isNaN(P)&&(P=U((/trident\/.*; rv:(\d+)/.exec(E(navigator.userAgent))||[])[1]));H.$inject=[];ja.$inject=[];var O=function(){return G(Array.isArray)?Array.isArray:function(b){return"[object Array]"===Ca.call(b)}}(),da=function(){return String.prototype.trim?function(b){return x(b)?b.trim():b}:function(b){return x(b)?b.replace(/^\s\s*/,"").replace(/\s\s*$/,""):b}}();Qa=9>P?function(b){b=
b.nodeName?b:b[0];return b.scopeName&&"HTML"!=b.scopeName?Ma(b.scopeName+":"+b.nodeName):b.nodeName}:function(b){return b.nodeName?b.nodeName:b[0].nodeName};var ab=function(){if(B(ab.isActive_))return ab.isActive_;var b=!(!T.querySelector("[ng-csp]")&&!T.querySelector("[data-ng-csp]"));if(!b)try{new Function("")}catch(a){b=!0}return ab.isActive_=b},bd=/[A-Z]/g,ed={full:"1.2.29-build.2+sha.3cbf542",major:1,minor:2,dot:u,codeName:"undefined"};S.expando="ng339";var eb=S.cache={},re=1,wb=L.document.addEventListener?
function(b,a,c){b.addEventListener(a,c,!1)}:function(b,a,c){b.attachEvent("on"+a,c)},db=L.document.removeEventListener?function(b,a,c){b.removeEventListener(a,c,!1)}:function(b,a,c){b.detachEvent("on"+a,c)};S._data=function(b){return this.cache[b[this.expando]]||{}};var me=/([\:\-\_]+(.))/g,ne=/^moz([A-Z])/,Mb=I("jqLite"),oe=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,Nb=/<|&#?\w+;/,pe=/<([\w:]+)/,qe=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,ha={option:[1,'<select multiple="multiple">',
"</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ha.optgroup=ha.option;ha.tbody=ha.tfoot=ha.colgroup=ha.caption=ha.thead;ha.th=ha.td;var Pa=S.prototype={ready:function(b){function a(){c||(c=!0,b())}var c=!1;"complete"===T.readyState?setTimeout(a):(this.on("DOMContentLoaded",a),S(L).on("load",a))},toString:function(){var b=[];r(this,function(a){b.push(""+
a)});return"["+b.join(", ")+"]"},eq:function(b){return 0<=b?z(this[b]):z(this[this.length+b])},length:0,push:Re,sort:[].sort,splice:[].splice},ub={};r("multiple selected checked disabled readOnly required open".split(" "),function(b){ub[E(b)]=b});var tc={};r("input select option textarea button form details".split(" "),function(b){tc[Ma(b)]=!0});r({data:Rb,removeData:Qb},function(b,a){S[a]=b});r({data:Rb,inheritedData:tb,scope:function(b){return z.data(b,"$scope")||tb(b.parentNode||b,["$isolateScope",
"$scope"])},isolateScope:function(b){return z.data(b,"$isolateScope")||z.data(b,"$isolateScopeNoTemplate")},controller:qc,injector:function(b){return tb(b,"$injector")},removeAttr:function(b,a){b.removeAttribute(a)},hasClass:Sb,css:function(b,a,c){a=cb(a);if(B(c))b.style[a]=c;else{var d;8>=P&&(d=b.currentStyle&&b.currentStyle[a],""===d&&(d="auto"));d=d||b.style[a];8>=P&&(d=""===d?u:d);return d}},attr:function(b,a,c){var d=E(a);if(ub[d])if(B(c))c?(b[a]=!0,b.setAttribute(a,d)):(b[a]=!1,b.removeAttribute(d));
else return b[a]||(b.attributes.getNamedItem(a)||H).specified?d:u;else if(B(c))b.setAttribute(a,c);else if(b.getAttribute)return b=b.getAttribute(a,2),null===b?u:b},prop:function(b,a,c){if(B(c))b[a]=c;else return b[a]},text:function(){function b(b,d){var e=a[b.nodeType];if(A(d))return e?b[e]:"";b[e]=d}var a=[];9>P?(a[1]="innerText",a[3]="nodeValue"):a[1]=a[3]="textContent";b.$dv="";return b}(),val:function(b,a){if(A(a)){if("SELECT"===Qa(b)&&b.multiple){var c=[];r(b.options,function(a){a.selected&&
c.push(a.value||a.text)});return 0===c.length?null:c}return b.value}b.value=a},html:function(b,a){if(A(a))return b.innerHTML;for(var c=0,d=b.childNodes;c<d.length;c++)Na(d[c]);b.innerHTML=a},empty:rc},function(b,a){S.prototype[a]=function(a,d){var e,f,h=this.length;if(b!==rc&&(2==b.length&&b!==Sb&&b!==qc?a:d)===u){if(R(a)){for(e=0;e<h;e++)if(b===Rb)b(this[e],a);else for(f in a)b(this[e],f,a[f]);return this}e=b.$dv;h=e===u?Math.min(h,1):h;for(f=0;f<h;f++){var g=b(this[f],a,d);e=e?e+g:g}return e}for(e=
0;e<h;e++)b(this[e],a,d);return this}});r({removeData:Qb,dealoc:Na,on:function a(c,d,e,f){if(B(f))throw Mb("onargs");var h=sa(c,"events"),g=sa(c,"handle");h||sa(c,"events",h={});g||sa(c,"handle",g=se(c,h));r(d.split(" "),function(d){var f=h[d];if(!f){if("mouseenter"==d||"mouseleave"==d){var m=T.body.contains||T.body.compareDocumentPosition?function(a,c){var d=9===a.nodeType?a.documentElement:a,e=c&&c.parentNode;return a===e||!!(e&&1===e.nodeType&&(d.contains?d.contains(e):a.compareDocumentPosition&&
a.compareDocumentPosition(e)&16))}:function(a,c){if(c)for(;c=c.parentNode;)if(c===a)return!0;return!1};h[d]=[];a(c,{mouseleave:"mouseout",mouseenter:"mouseover"}[d],function(a){var c=a.relatedTarget;c&&(c===this||m(this,c))||g(a,d)})}else wb(c,d,g),h[d]=[];f=h[d]}f.push(e)})},off:pc,one:function(a,c,d){a=z(a);a.on(c,function f(){a.off(c,d);a.off(c,f)});a.on(c,d)},replaceWith:function(a,c){var d,e=a.parentNode;Na(a);r(new S(c),function(c){d?e.insertBefore(c,d.nextSibling):e.replaceChild(c,a);d=c})},
children:function(a){var c=[];r(a.childNodes,function(a){1===a.nodeType&&c.push(a)});return c},contents:function(a){return a.contentDocument||a.childNodes||[]},append:function(a,c){r(new S(c),function(c){1!==a.nodeType&&11!==a.nodeType||a.appendChild(c)})},prepend:function(a,c){if(1===a.nodeType){var d=a.firstChild;r(new S(c),function(c){a.insertBefore(c,d)})}},wrap:function(a,c){c=z(c)[0];var d=a.parentNode;d&&d.replaceChild(c,a);c.appendChild(a)},remove:function(a){Na(a);var c=a.parentNode;c&&c.removeChild(a)},
after:function(a,c){var d=a,e=a.parentNode;r(new S(c),function(a){e.insertBefore(a,d.nextSibling);d=a})},addClass:sb,removeClass:rb,toggleClass:function(a,c,d){c&&r(c.split(" "),function(c){var f=d;A(f)&&(f=!Sb(a,c));(f?sb:rb)(a,c)})},parent:function(a){return(a=a.parentNode)&&11!==a.nodeType?a:null},next:function(a){if(a.nextElementSibling)return a.nextElementSibling;for(a=a.nextSibling;null!=a&&1!==a.nodeType;)a=a.nextSibling;return a},find:function(a,c){return a.getElementsByTagName?a.getElementsByTagName(c):
[]},clone:Pb,triggerHandler:function(a,c,d){var e,f;e=c.type||c;var h=(sa(a,"events")||{})[e];h&&(e={preventDefault:function(){this.defaultPrevented=!0},isDefaultPrevented:function(){return!0===this.defaultPrevented},stopPropagation:H,type:e,target:a},c.type&&(e=F(e,c)),c=ka(h),f=d?[e].concat(d):[e],r(c,function(c){c.apply(a,f)}))}},function(a,c){S.prototype[c]=function(c,e,f){for(var h,g=0;g<this.length;g++)A(h)?(h=a(this[g],c,e,f),B(h)&&(h=z(h))):Ob(h,a(this[g],c,e,f));return B(h)?h:this};S.prototype.bind=
S.prototype.on;S.prototype.unbind=S.prototype.off});fb.prototype={put:function(a,c){this[Oa(a,this.nextUid)]=c},get:function(a){return this[Oa(a,this.nextUid)]},remove:function(a){var c=this[a=Oa(a,this.nextUid)];delete this[a];return c}};var ue=/^function\s*[^\(]*\(\s*([^\)]*)\)/m,ve=/,/,we=/^\s*(_?)(\S+?)\1\s*$/,te=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg,gb=I("$injector"),Se=I("$animate"),Qd=["$provide",function(a){this.$$selectors={};this.register=function(c,d){var e=c+"-animation";if(c&&"."!=c.charAt(0))throw Se("notcsel",
c);this.$$selectors[c.substr(1)]=e;a.factory(e,d)};this.classNameFilter=function(a){1===arguments.length&&(this.$$classNameFilter=a instanceof RegExp?a:null);return this.$$classNameFilter};this.$get=["$timeout","$$asyncCallback",function(a,d){return{enter:function(a,c,h,g){h?h.after(a):(c&&c[0]||(c=h.parent()),c.append(a));g&&d(g)},leave:function(a,c){a.remove();c&&d(c)},move:function(a,c,d,g){this.enter(a,c,d,g)},addClass:function(a,c,h){c=x(c)?c:O(c)?c.join(" "):"";r(a,function(a){sb(a,c)});h&&
d(h)},removeClass:function(a,c,h){c=x(c)?c:O(c)?c.join(" "):"";r(a,function(a){rb(a,c)});h&&d(h)},setClass:function(a,c,h,g){r(a,function(a){sb(a,c);rb(a,h)});g&&d(g)},enabled:H}}]}],ma=I("$compile");kc.$inject=["$provide","$$sanitizeUriProvider"];var ze=/^(x[\:\-_]|data[\:\-_])/i,Bc=I("$interpolate"),Te=/^([^\?#]*)(\?([^#]*))?(#(.*))?$/,Ce={http:80,https:443,ftp:21},Wb=I("$location");Fc.prototype=Xb.prototype=Ec.prototype={$$html5:!1,$$replace:!1,absUrl:xb("$$absUrl"),url:function(a){if(A(a))return this.$$url;
a=Te.exec(a);a[1]&&this.path(decodeURIComponent(a[1]));(a[2]||a[1])&&this.search(a[3]||"");this.hash(a[5]||"");return this},protocol:xb("$$protocol"),host:xb("$$host"),port:xb("$$port"),path:Gc("$$path",function(a){a=null!==a?a.toString():"";return"/"==a.charAt(0)?a:"/"+a}),search:function(a,c){switch(arguments.length){case 0:return this.$$search;case 1:if(x(a)||mb(a))a=a.toString(),this.$$search=gc(a);else if(R(a))r(a,function(c,e){null==c&&delete a[e]}),this.$$search=a;else throw Wb("isrcharg");
break;default:A(c)||null===c?delete this.$$search[a]:this.$$search[a]=c}this.$$compose();return this},hash:Gc("$$hash",function(a){return null!==a?a.toString():""}),replace:function(){this.$$replace=!0;return this}};var oa=I("$parse"),Jc={},ya,Ue=Function.prototype.call,Ve=Function.prototype.apply,Uc=Function.prototype.bind,kb={"null":function(){return null},"true":function(){return!0},"false":function(){return!1},undefined:H,"+":function(a,c,d,e){d=d(a,c);e=e(a,c);return B(d)?B(e)?d+e:d:B(e)?e:u},
"-":function(a,c,d,e){d=d(a,c);e=e(a,c);return(B(d)?d:0)-(B(e)?e:0)},"*":function(a,c,d,e){return d(a,c)*e(a,c)},"/":function(a,c,d,e){return d(a,c)/e(a,c)},"%":function(a,c,d,e){return d(a,c)%e(a,c)},"^":function(a,c,d,e){return d(a,c)^e(a,c)},"=":H,"===":function(a,c,d,e){return d(a,c)===e(a,c)},"!==":function(a,c,d,e){return d(a,c)!==e(a,c)},"==":function(a,c,d,e){return d(a,c)==e(a,c)},"!=":function(a,c,d,e){return d(a,c)!=e(a,c)},"<":function(a,c,d,e){return d(a,c)<e(a,c)},">":function(a,c,d,
e){return d(a,c)>e(a,c)},"<=":function(a,c,d,e){return d(a,c)<=e(a,c)},">=":function(a,c,d,e){return d(a,c)>=e(a,c)},"&&":function(a,c,d,e){return d(a,c)&&e(a,c)},"||":function(a,c,d,e){return d(a,c)||e(a,c)},"&":function(a,c,d,e){return d(a,c)&e(a,c)},"|":function(a,c,d,e){return e(a,c)(a,c,d(a,c))},"!":function(a,c,d){return!d(a,c)}},We={n:"\n",f:"\f",r:"\r",t:"\t",v:"\v","'":"'",'"':'"'},Yb=function(a){this.options=a};Yb.prototype={constructor:Yb,lex:function(a){this.text=a;this.index=0;this.ch=
u;this.lastCh=":";for(this.tokens=[];this.index<this.text.length;){this.ch=this.text.charAt(this.index);if(this.is("\"'"))this.readString(this.ch);else if(this.isNumber(this.ch)||this.is(".")&&this.isNumber(this.peek()))this.readNumber();else if(this.isIdent(this.ch))this.readIdent();else if(this.is("(){}[].,;:?"))this.tokens.push({index:this.index,text:this.ch}),this.index++;else if(this.isWhitespace(this.ch)){this.index++;continue}else{a=this.ch+this.peek();var c=a+this.peek(2),d=kb[this.ch],e=
kb[a],f=kb[c];f?(this.tokens.push({index:this.index,text:c,fn:f}),this.index+=3):e?(this.tokens.push({index:this.index,text:a,fn:e}),this.index+=2):d?(this.tokens.push({index:this.index,text:this.ch,fn:d}),this.index+=1):this.throwError("Unexpected next character ",this.index,this.index+1)}this.lastCh=this.ch}return this.tokens},is:function(a){return-1!==a.indexOf(this.ch)},was:function(a){return-1!==a.indexOf(this.lastCh)},peek:function(a){a=a||1;return this.index+a<this.text.length?this.text.charAt(this.index+
a):!1},isNumber:function(a){return"0"<=a&&"9">=a},isWhitespace:function(a){return" "===a||"\r"===a||"\t"===a||"\n"===a||"\v"===a||"\u00a0"===a},isIdent:function(a){return"a"<=a&&"z">=a||"A"<=a&&"Z">=a||"_"===a||"$"===a},isExpOperator:function(a){return"-"===a||"+"===a||this.isNumber(a)},throwError:function(a,c,d){d=d||this.index;c=B(c)?"s "+c+"-"+this.index+" ["+this.text.substring(c,d)+"]":" "+d;throw oa("lexerr",a,c,this.text);},readNumber:function(){for(var a="",c=this.index;this.index<this.text.length;){var d=
E(this.text.charAt(this.index));if("."==d||this.isNumber(d))a+=d;else{var e=this.peek();if("e"==d&&this.isExpOperator(e))a+=d;else if(this.isExpOperator(d)&&e&&this.isNumber(e)&&"e"==a.charAt(a.length-1))a+=d;else if(!this.isExpOperator(d)||e&&this.isNumber(e)||"e"!=a.charAt(a.length-1))break;else this.throwError("Invalid exponent")}this.index++}a*=1;this.tokens.push({index:c,text:a,literal:!0,constant:!0,fn:function(){return a}})},readIdent:function(){for(var a=this,c="",d=this.index,e,f,h,g;this.index<
this.text.length;){g=this.text.charAt(this.index);if("."===g||this.isIdent(g)||this.isNumber(g))"."===g&&(e=this.index),c+=g;else break;this.index++}if(e)for(f=this.index;f<this.text.length;){g=this.text.charAt(f);if("("===g){h=c.substr(e-d+1);c=c.substr(0,e-d);this.index=f;break}if(this.isWhitespace(g))f++;else break}d={index:d,text:c};if(kb.hasOwnProperty(c))d.fn=kb[c],d.literal=!0,d.constant=!0;else{var l=Ic(c,this.options,this.text);d.fn=F(function(a,c){return l(a,c)},{assign:function(d,e){return yb(d,
c,e,a.text,a.options)}})}this.tokens.push(d);h&&(this.tokens.push({index:e,text:"."}),this.tokens.push({index:e+1,text:h}))},readString:function(a){var c=this.index;this.index++;for(var d="",e=a,f=!1;this.index<this.text.length;){var h=this.text.charAt(this.index),e=e+h;if(f)"u"===h?(f=this.text.substring(this.index+1,this.index+5),f.match(/[\da-f]{4}/i)||this.throwError("Invalid unicode escape [\\u"+f+"]"),this.index+=4,d+=String.fromCharCode(parseInt(f,16))):d+=We[h]||h,f=!1;else if("\\"===h)f=
!0;else{if(h===a){this.index++;this.tokens.push({index:c,text:e,string:d,literal:!0,constant:!0,fn:function(){return d}});return}d+=h}this.index++}this.throwError("Unterminated quote",c)}};var jb=function(a,c,d){this.lexer=a;this.$filter=c;this.options=d};jb.ZERO=F(function(){return 0},{constant:!0});jb.prototype={constructor:jb,parse:function(a){this.text=a;this.tokens=this.lexer.lex(a);a=this.statements();0!==this.tokens.length&&this.throwError("is an unexpected token",this.tokens[0]);a.literal=
!!a.literal;a.constant=!!a.constant;return a},primary:function(){var a;if(this.expect("("))a=this.filterChain(),this.consume(")");else if(this.expect("["))a=this.arrayDeclaration();else if(this.expect("{"))a=this.object();else{var c=this.expect();(a=c.fn)||this.throwError("not a primary expression",c);a.literal=!!c.literal;a.constant=!!c.constant}for(var d;c=this.expect("(","[",".");)"("===c.text?(a=this.functionCall(a,d),d=null):"["===c.text?(d=a,a=this.objectIndex(a)):"."===c.text?(d=a,a=this.fieldAccess(a)):
this.throwError("IMPOSSIBLE");return a},throwError:function(a,c){throw oa("syntax",c.text,a,c.index+1,this.text,this.text.substring(c.index));},peekToken:function(){if(0===this.tokens.length)throw oa("ueoe",this.text);return this.tokens[0]},peek:function(a,c,d,e){if(0<this.tokens.length){var f=this.tokens[0],h=f.text;if(h===a||h===c||h===d||h===e||!(a||c||d||e))return f}return!1},expect:function(a,c,d,e){return(a=this.peek(a,c,d,e))?(this.tokens.shift(),a):!1},consume:function(a){this.expect(a)||
this.throwError("is unexpected, expecting ["+a+"]",this.peek())},unaryFn:function(a,c){return F(function(d,e){return a(d,e,c)},{constant:c.constant})},ternaryFn:function(a,c,d){return F(function(e,f){return a(e,f)?c(e,f):d(e,f)},{constant:a.constant&&c.constant&&d.constant})},binaryFn:function(a,c,d){return F(function(e,f){return c(e,f,a,d)},{constant:a.constant&&d.constant})},statements:function(){for(var a=[];;)if(0<this.tokens.length&&!this.peek("}",")",";","]")&&a.push(this.filterChain()),!this.expect(";"))return 1===
a.length?a[0]:function(c,d){for(var e,f=0;f<a.length;f++){var h=a[f];h&&(e=h(c,d))}return e}},filterChain:function(){for(var a=this.expression(),c;;)if(c=this.expect("|"))a=this.binaryFn(a,c.fn,this.filter());else return a},filter:function(){for(var a=this.expect(),c=this.$filter(a.text),d=[];;)if(a=this.expect(":"))d.push(this.expression());else{var e=function(a,e,g){g=[g];for(var l=0;l<d.length;l++)g.push(d[l](a,e));return c.apply(a,g)};return function(){return e}}},expression:function(){return this.assignment()},
assignment:function(){var a=this.ternary(),c,d;return(d=this.expect("="))?(a.assign||this.throwError("implies assignment but ["+this.text.substring(0,d.index)+"] can not be assigned to",d),c=this.ternary(),function(d,f){return a.assign(d,c(d,f),f)}):a},ternary:function(){var a=this.logicalOR(),c,d;if(this.expect("?")){c=this.assignment();if(d=this.expect(":"))return this.ternaryFn(a,c,this.assignment());this.throwError("expected :",d)}else return a},logicalOR:function(){for(var a=this.logicalAND(),
c;;)if(c=this.expect("||"))a=this.binaryFn(a,c.fn,this.logicalAND());else return a},logicalAND:function(){var a=this.equality(),c;if(c=this.expect("&&"))a=this.binaryFn(a,c.fn,this.logicalAND());return a},equality:function(){var a=this.relational(),c;if(c=this.expect("==","!=","===","!=="))a=this.binaryFn(a,c.fn,this.equality());return a},relational:function(){var a=this.additive(),c;if(c=this.expect("<",">","<=",">="))a=this.binaryFn(a,c.fn,this.relational());return a},additive:function(){for(var a=
this.multiplicative(),c;c=this.expect("+","-");)a=this.binaryFn(a,c.fn,this.multiplicative());return a},multiplicative:function(){for(var a=this.unary(),c;c=this.expect("*","/","%");)a=this.binaryFn(a,c.fn,this.unary());return a},unary:function(){var a;return this.expect("+")?this.primary():(a=this.expect("-"))?this.binaryFn(jb.ZERO,a.fn,this.unary()):(a=this.expect("!"))?this.unaryFn(a.fn,this.unary()):this.primary()},fieldAccess:function(a){var c=this,d=this.expect().text,e=Ic(d,this.options,this.text);
return F(function(c,d,g){return e(g||a(c,d))},{assign:function(e,h,g){(g=a(e,g))||a.assign(e,g={});return yb(g,d,h,c.text,c.options)}})},objectIndex:function(a){var c=this,d=this.expression();this.consume("]");return F(function(e,f){var h=a(e,f),g=d(e,f),l;na(g,c.text);if(!h)return u;(h=pa(h[g],c.text))&&h.then&&c.options.unwrapPromises&&(l=h,"$$v"in h||(l.$$v=u,l.then(function(a){l.$$v=a})),h=h.$$v);return h},{assign:function(e,f,h){var g=na(d(e,h),c.text);(h=pa(a(e,h),c.text))||a.assign(e,h={});
return h[g]=f}})},functionCall:function(a,c){var d=[];if(")"!==this.peekToken().text){do d.push(this.expression());while(this.expect(","))}this.consume(")");var e=this;return function(f,h){for(var g=[],l=c?c(f,h):f,k=0;k<d.length;k++)g.push(pa(d[k](f,h),e.text));k=a(f,h,l)||H;pa(l,e.text);var m=e.text;if(k){if(k.constructor===k)throw oa("isecfn",m);if(k===Ue||k===Ve||Uc&&k===Uc)throw oa("isecff",m);}g=k.apply?k.apply(l,g):k(g[0],g[1],g[2],g[3],g[4]);return pa(g,e.text)}},arrayDeclaration:function(){var a=
[],c=!0;if("]"!==this.peekToken().text){do{if(this.peek("]"))break;var d=this.expression();a.push(d);d.constant||(c=!1)}while(this.expect(","))}this.consume("]");return F(function(c,d){for(var h=[],g=0;g<a.length;g++)h.push(a[g](c,d));return h},{literal:!0,constant:c})},object:function(){var a=[],c=!0;if("}"!==this.peekToken().text){do{if(this.peek("}"))break;var d=this.expect(),d=d.string||d.text;this.consume(":");var e=this.expression();a.push({key:d,value:e});e.constant||(c=!1)}while(this.expect(","))
}this.consume("}");return F(function(c,d){for(var e={},l=0;l<a.length;l++){var k=a[l];e[k.key]=k.value(c,d)}return e},{literal:!0,constant:c})}};var Fe={},Ee={},za=I("$sce"),ia={HTML:"html",CSS:"css",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"},X=T.createElement("a"),Lc=xa(L.location.href,!0);oc.$inject=["$provide"];Mc.$inject=["$locale"];Oc.$inject=["$locale"];var Rc=".",Pe={yyyy:aa("FullYear",4),yy:aa("FullYear",2,0,!0),y:aa("FullYear",1),MMMM:zb("Month"),MMM:zb("Month",!0),MM:aa("Month",2,1),
M:aa("Month",1,1),dd:aa("Date",2),d:aa("Date",1),HH:aa("Hours",2),H:aa("Hours",1),hh:aa("Hours",2,-12),h:aa("Hours",1,-12),mm:aa("Minutes",2),m:aa("Minutes",1),ss:aa("Seconds",2),s:aa("Seconds",1),sss:aa("Milliseconds",3),EEEE:zb("Day"),EEE:zb("Day",!0),a:function(a,c){return 12>a.getHours()?c.AMPMS[0]:c.AMPMS[1]},Z:function(a){a=-1*a.getTimezoneOffset();return a=(0<=a?"+":"")+(Zb(Math[0<a?"floor":"ceil"](a/60),2)+Zb(Math.abs(a%60),2))}},Oe=/((?:[^yMdHhmsaZE']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z))(.*)/,
Ne=/^\-?\d+$/;Nc.$inject=["$locale"];var Le=ca(E),Me=ca(Ma);Pc.$inject=["$parse"];var hd=ca({restrict:"E",compile:function(a,c){8>=P&&(c.href||c.name||c.$set("href",""),a.append(T.createComment("IE fix")));if(!c.href&&!c.xlinkHref&&!c.name)return function(a,c){var f="[object SVGAnimatedString]"===Ca.call(c.prop("href"))?"xlink:href":"href";c.on("click",function(a){c.attr(f)||a.preventDefault()})}}}),Kb={};r(ub,function(a,c){if("multiple"!=a){var d=ta("ng-"+c);Kb[d]=function(){return{priority:100,
link:function(a,f,h){a.$watch(h[d],function(a){h.$set(c,!!a)})}}}}});r(["src","srcset","href"],function(a){var c=ta("ng-"+a);Kb[c]=function(){return{priority:99,link:function(d,e,f){var h=a,g=a;"href"===a&&"[object SVGAnimatedString]"===Ca.call(e.prop("href"))&&(g="xlinkHref",f.$attr[g]="xlink:href",h=null);f.$observe(c,function(c){c?(f.$set(g,c),P&&h&&e.prop(h,f[g])):"href"===a&&f.$set(g,null)})}}}});var Cb={$addControl:H,$removeControl:H,$setValidity:H,$setDirty:H,$setPristine:H};Sc.$inject=["$element",
"$attrs","$scope","$animate"];var Vc=function(a){return["$timeout",function(c){return{name:"form",restrict:a?"EAC":"E",controller:Sc,compile:function(){return{pre:function(a,e,f,h){if(!f.action){var g=function(a){a.preventDefault?a.preventDefault():a.returnValue=!1};wb(e[0],"submit",g);e.on("$destroy",function(){c(function(){db(e[0],"submit",g)},0,!1)})}var l=e.parent().controller("form"),k=f.name||f.ngForm;k&&yb(a,k,h,k);if(l)e.on("$destroy",function(){l.$removeControl(h);k&&yb(a,k,u,k);F(h,Cb)})}}}}}]},
id=Vc(),vd=Vc(!0),Xe=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/,Ye=/^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i,Ze=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/,Wc={text:Eb,number:function(a,c,d,e,f,h){Eb(a,c,d,e,f,h);e.$parsers.push(function(a){var c=e.$isEmpty(a);if(c||Ze.test(a))return e.$setValidity("number",!0),""===a?null:c?a:parseFloat(a);e.$setValidity("number",!1);return u});Qe(e,"number",$e,null,e.$$validityState);
e.$formatters.push(function(a){return e.$isEmpty(a)?"":""+a});d.min&&(a=function(a){var c=parseFloat(d.min);return Ba(e,"min",e.$isEmpty(a)||a>=c,a)},e.$parsers.push(a),e.$formatters.push(a));d.max&&(a=function(a){var c=parseFloat(d.max);return Ba(e,"max",e.$isEmpty(a)||a<=c,a)},e.$parsers.push(a),e.$formatters.push(a));e.$formatters.push(function(a){return Ba(e,"number",e.$isEmpty(a)||mb(a),a)})},url:function(a,c,d,e,f,h){Eb(a,c,d,e,f,h);a=function(a){return Ba(e,"url",e.$isEmpty(a)||Xe.test(a),
a)};e.$formatters.push(a);e.$parsers.push(a)},email:function(a,c,d,e,f,h){Eb(a,c,d,e,f,h);a=function(a){return Ba(e,"email",e.$isEmpty(a)||Ye.test(a),a)};e.$formatters.push(a);e.$parsers.push(a)},radio:function(a,c,d,e){A(d.name)&&c.attr("name",lb());c.on("click",function(){c[0].checked&&a.$apply(function(){e.$setViewValue(d.value)})});e.$render=function(){c[0].checked=d.value==e.$viewValue};d.$observe("value",e.$render)},checkbox:function(a,c,d,e){var f=d.ngTrueValue,h=d.ngFalseValue;x(f)||(f=!0);
x(h)||(h=!1);c.on("click",function(){a.$apply(function(){e.$setViewValue(c[0].checked)})});e.$render=function(){c[0].checked=e.$viewValue};e.$isEmpty=function(a){return a!==f};e.$formatters.push(function(a){return a===f});e.$parsers.push(function(a){return a?f:h})},hidden:H,button:H,submit:H,reset:H,file:H},$e=["badInput"],lc=["$browser","$sniffer",function(a,c){return{restrict:"E",require:"?ngModel",link:function(d,e,f,h){h&&(Wc[E(f.type)]||Wc.text)(d,e,f,h,c,a)}}}],Ab="ng-valid",Bb="ng-invalid",
Ta="ng-pristine",Db="ng-dirty",af=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate",function(a,c,d,e,f,h){function g(a,c){c=c?"-"+qb(c,"-"):"";h.removeClass(e,(a?Bb:Ab)+c);h.addClass(e,(a?Ab:Bb)+c)}this.$modelValue=this.$viewValue=Number.NaN;this.$parsers=[];this.$formatters=[];this.$viewChangeListeners=[];this.$pristine=!0;this.$dirty=!1;this.$valid=!0;this.$invalid=!1;this.$name=d.name;var l=f(d.ngModel),k=l.assign;if(!k)throw I("ngModel")("nonassign",d.ngModel,la(e));this.$render=
H;this.$isEmpty=function(a){return A(a)||""===a||null===a||a!==a};var m=e.inheritedData("$formController")||Cb,n=0,q=this.$error={};e.addClass(Ta);g(!0);this.$setValidity=function(a,c){q[a]!==!c&&(c?(q[a]&&n--,n||(g(!0),this.$valid=!0,this.$invalid=!1)):(g(!1),this.$invalid=!0,this.$valid=!1,n++),q[a]=!c,g(c,a),m.$setValidity(a,c,this))};this.$setPristine=function(){this.$dirty=!1;this.$pristine=!0;h.removeClass(e,Db);h.addClass(e,Ta)};this.$setViewValue=function(d){this.$viewValue=d;this.$pristine&&
(this.$dirty=!0,this.$pristine=!1,h.removeClass(e,Ta),h.addClass(e,Db),m.$setDirty());r(this.$parsers,function(a){d=a(d)});this.$modelValue!==d&&(this.$modelValue=d,k(a,d),r(this.$viewChangeListeners,function(a){try{a()}catch(d){c(d)}}))};var p=this;a.$watch(function(){var c=l(a);if(p.$modelValue!==c){var d=p.$formatters,e=d.length;for(p.$modelValue=c;e--;)c=d[e](c);p.$viewValue!==c&&(p.$viewValue=c,p.$render())}return c})}],Kd=function(){return{require:["ngModel","^?form"],controller:af,link:function(a,
c,d,e){var f=e[0],h=e[1]||Cb;h.$addControl(f);a.$on("$destroy",function(){h.$removeControl(f)})}}},Md=ca({require:"ngModel",link:function(a,c,d,e){e.$viewChangeListeners.push(function(){a.$eval(d.ngChange)})}}),mc=function(){return{require:"?ngModel",link:function(a,c,d,e){if(e){d.required=!0;var f=function(a){if(d.required&&e.$isEmpty(a))e.$setValidity("required",!1);else return e.$setValidity("required",!0),a};e.$formatters.push(f);e.$parsers.unshift(f);d.$observe("required",function(){f(e.$viewValue)})}}}},
Ld=function(){return{require:"ngModel",link:function(a,c,d,e){var f=(a=/\/(.*)\//.exec(d.ngList))&&new RegExp(a[1])||d.ngList||",";e.$parsers.push(function(a){if(!A(a)){var c=[];a&&r(a.split(f),function(a){a&&c.push(da(a))});return c}});e.$formatters.push(function(a){return O(a)?a.join(", "):u});e.$isEmpty=function(a){return!a||!a.length}}}},bf=/^(true|false|\d+)$/,Nd=function(){return{priority:100,compile:function(a,c){return bf.test(c.ngValue)?function(a,c,f){f.$set("value",a.$eval(f.ngValue))}:
function(a,c,f){a.$watch(f.ngValue,function(a){f.$set("value",a)})}}}},nd=Aa({compile:function(a){a.addClass("ng-binding");return function(a,d,e){d.data("$binding",e.ngBind);a.$watch(e.ngBind,function(a){d.text(a==u?"":a)})}}}),pd=["$interpolate",function(a){return function(c,d,e){c=a(d.attr(e.$attr.ngBindTemplate));d.addClass("ng-binding").data("$binding",c);e.$observe("ngBindTemplate",function(a){d.text(a)})}}],od=["$sce","$parse",function(a,c){return{compile:function(d){d.addClass("ng-binding");
return function(d,f,h){f.data("$binding",h.ngBindHtml);var g=c(h.ngBindHtml);d.$watch(function(){return(g(d)||"").toString()},function(c){f.html(a.getTrustedHtml(g(d))||"")})}}}}],qd=$b("",!0),sd=$b("Odd",0),rd=$b("Even",1),td=Aa({compile:function(a,c){c.$set("ngCloak",u);a.removeClass("ng-cloak")}}),ud=[function(){return{scope:!0,controller:"@",priority:500}}],nc={},cf={blur:!0,focus:!0};r("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),
function(a){var c=ta("ng-"+a);nc[c]=["$parse","$rootScope",function(d,e){return{compile:function(f,h){var g=d(h[c],!0);return function(c,d){d.on(a,function(d){var f=function(){g(c,{$event:d})};cf[a]&&e.$$phase?c.$evalAsync(f):c.$apply(f)})}}}}]});var xd=["$animate",function(a){return{transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(c,d,e,f,h){var g,l,k;c.$watch(e.ngIf,function(f){Ya(f)?l||(l=c.$new(),h(l,function(c){c[c.length++]=T.createComment(" end ngIf: "+e.ngIf+
" ");g={clone:c};a.enter(c,d.parent(),d)})):(k&&(k.remove(),k=null),l&&(l.$destroy(),l=null),g&&(k=Jb(g.clone),a.leave(k,function(){k=null}),g=null))})}}}],yd=["$http","$templateCache","$anchorScroll","$animate","$sce",function(a,c,d,e,f){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:Za.noop,compile:function(h,g){var l=g.ngInclude||g.src,k=g.onload||"",m=g.autoscroll;return function(g,h,p,r,C){var y=0,t,u,w,z=function(){u&&(u.remove(),u=null);t&&(t.$destroy(),t=null);
w&&(e.leave(w,function(){u=null}),u=w,w=null)};g.$watch(f.parseAsResourceUrl(l),function(f){var l=function(){!B(m)||m&&!g.$eval(m)||d()},p=++y;f?(a.get(f,{cache:c}).success(function(a){if(p===y){var c=g.$new();r.template=a;a=C(c,function(a){z();e.enter(a,null,h,l)});t=c;w=a;t.$emit("$includeContentLoaded");g.$eval(k)}}).error(function(){p===y&&z()}),g.$emit("$includeContentRequested")):(z(),r.template=null)})}}}}],Od=["$compile",function(a){return{restrict:"ECA",priority:-400,require:"ngInclude",
link:function(c,d,e,f){d.html(f.template);a(d.contents())(c)}}}],zd=Aa({priority:450,compile:function(){return{pre:function(a,c,d){a.$eval(d.ngInit)}}}}),Ad=Aa({terminal:!0,priority:1E3}),Bd=["$locale","$interpolate",function(a,c){var d=/{}/g;return{restrict:"EA",link:function(e,f,h){var g=h.count,l=h.$attr.when&&f.attr(h.$attr.when),k=h.offset||0,m=e.$eval(l)||{},n={},q=c.startSymbol(),p=c.endSymbol(),v=/^when(Minus)?(.+)$/;r(h,function(a,c){v.test(c)&&(m[E(c.replace("when","").replace("Minus","-"))]=
f.attr(h.$attr[c]))});r(m,function(a,e){n[e]=c(a.replace(d,q+g+"-"+k+p))});e.$watch(function(){var c=parseFloat(e.$eval(g));if(isNaN(c))return"";c in m||(c=a.pluralCat(c-k));return n[c](e,f,!0)},function(a){f.text(a)})}}}],Cd=["$parse","$animate",function(a,c){function d(a){return a.clone[a.clone.length-1]}var e=I("ngRepeat");return{transclude:"element",priority:1E3,terminal:!0,$$tlb:!0,link:function(f,h,g,l,k){var m=g.ngRepeat,n=m.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?\s*$/),
q,p,v,u,y,t,B={$id:Oa};if(!n)throw e("iexp",m);g=n[1];l=n[2];(n=n[3])?(q=a(n),p=function(a,c,d){t&&(B[t]=a);B[y]=c;B.$index=d;return q(f,B)}):(v=function(a,c){return Oa(c)},u=function(a){return a});n=g.match(/^(?:([\$\w]+)|\(([\$\w]+)\s*,\s*([\$\w]+)\))$/);if(!n)throw e("iidexp",g);y=n[3]||n[1];t=n[2];var w={};f.$watchCollection(l,function(a){var g,l,n=h[0],q,B={},K,D,M,x,I,H,A,N=[];if(Ua(a))H=a,I=p||v;else{I=p||u;H=[];for(M in a)a.hasOwnProperty(M)&&"$"!=M.charAt(0)&&H.push(M);H.sort()}K=H.length;
l=N.length=H.length;for(g=0;g<l;g++)if(M=a===H?g:H[g],x=a[M],q=I(M,x,g),Fa(q,"`track by` id"),w.hasOwnProperty(q))A=w[q],delete w[q],B[q]=A,N[g]=A;else{if(B.hasOwnProperty(q))throw r(N,function(a){a&&a.scope&&(w[a.id]=a)}),e("dupes",m,q,ra(x));N[g]={id:q};B[q]=!1}for(M in w)w.hasOwnProperty(M)&&(A=w[M],g=Jb(A.clone),c.leave(g),r(g,function(a){a.$$NG_REMOVED=!0}),A.scope.$destroy());g=0;for(l=H.length;g<l;g++){M=a===H?g:H[g];x=a[M];A=N[g];N[g-1]&&(n=d(N[g-1]));if(A.scope){D=A.scope;q=n;do q=q.nextSibling;
while(q&&q.$$NG_REMOVED);A.clone[0]!=q&&c.move(Jb(A.clone),null,z(n));n=d(A)}else D=f.$new();D[y]=x;t&&(D[t]=M);D.$index=g;D.$first=0===g;D.$last=g===K-1;D.$middle=!(D.$first||D.$last);D.$odd=!(D.$even=0===(g&1));A.scope||k(D,function(a){a[a.length++]=T.createComment(" end ngRepeat: "+m+" ");c.enter(a,null,z(n));n=a;A.scope=D;A.clone=a;B[A.id]=A})}w=B})}}}],Dd=["$animate",function(a){return function(c,d,e){c.$watch(e.ngShow,function(c){a[Ya(c)?"removeClass":"addClass"](d,"ng-hide")})}}],wd=["$animate",
function(a){return function(c,d,e){c.$watch(e.ngHide,function(c){a[Ya(c)?"addClass":"removeClass"](d,"ng-hide")})}}],Ed=Aa(function(a,c,d){a.$watch(d.ngStyle,function(a,d){d&&a!==d&&r(d,function(a,d){c.css(d,"")});a&&c.css(a)},!0)}),Fd=["$animate",function(a){return{restrict:"EA",require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(c,d,e,f){var h=[],g=[],l=[],k=[];c.$watch(e.ngSwitch||e.on,function(d){var n,q;n=0;for(q=l.length;n<q;++n)l[n].remove();n=l.length=0;for(q=
k.length;n<q;++n){var p=g[n];k[n].$destroy();l[n]=p;a.leave(p,function(){l.splice(n,1)})}g.length=0;k.length=0;if(h=f.cases["!"+d]||f.cases["?"])c.$eval(e.change),r(h,function(d){var e=c.$new();k.push(e);d.transclude(e,function(c){var e=d.element;g.push(c);a.enter(c,e.parent(),e)})})})}}}],Gd=Aa({transclude:"element",priority:800,require:"^ngSwitch",link:function(a,c,d,e,f){e.cases["!"+d.ngSwitchWhen]=e.cases["!"+d.ngSwitchWhen]||[];e.cases["!"+d.ngSwitchWhen].push({transclude:f,element:c})}}),Hd=
Aa({transclude:"element",priority:800,require:"^ngSwitch",link:function(a,c,d,e,f){e.cases["?"]=e.cases["?"]||[];e.cases["?"].push({transclude:f,element:c})}}),Jd=Aa({link:function(a,c,d,e,f){if(!f)throw I("ngTransclude")("orphan",la(c));f(function(a){c.empty();c.append(a)})}}),jd=["$templateCache",function(a){return{restrict:"E",terminal:!0,compile:function(c,d){"text/ng-template"==d.type&&a.put(d.id,c[0].text)}}}],df=I("ngOptions"),Id=ca({terminal:!0}),kd=["$compile","$parse",function(a,c){var d=
/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/,e={$setViewValue:H};return{restrict:"E",require:["select","?ngModel"],controller:["$element","$scope","$attrs",function(a,c,d){var l=this,k={},m=e,n;l.databound=d.ngModel;l.init=function(a,c,d){m=a;n=d};l.addOption=function(c){Fa(c,'"option value"');k[c]=!0;m.$viewValue==c&&(a.val(c),n.parent()&&n.remove())};
l.removeOption=function(a){this.hasOption(a)&&(delete k[a],m.$viewValue==a&&this.renderUnknownOption(a))};l.renderUnknownOption=function(c){c="? "+Oa(c)+" ?";n.val(c);a.prepend(n);a.val(c);n.prop("selected",!0)};l.hasOption=function(a){return k.hasOwnProperty(a)};c.$on("$destroy",function(){l.renderUnknownOption=H})}],link:function(e,h,g,l){function k(a,c,d,e){d.$render=function(){var a=d.$viewValue;e.hasOption(a)?(w.parent()&&w.remove(),c.val(a),""===a&&y.prop("selected",!0)):A(a)&&y?c.val(""):e.renderUnknownOption(a)};
c.on("change",function(){a.$apply(function(){w.parent()&&w.remove();d.$setViewValue(c.val())})})}function m(a,c,d){var e;d.$render=function(){var a=new fb(d.$viewValue);r(c.find("option"),function(c){c.selected=B(a.get(c.value))})};a.$watch(function(){Da(e,d.$viewValue)||(e=ka(d.$viewValue),d.$render())});c.on("change",function(){a.$apply(function(){var a=[];r(c.find("option"),function(c){c.selected&&a.push(c.value)});d.$setViewValue(a)})})}function n(e,f,g){function h(){var a={"":[]},c=[""],d,k,
u,v,x;u=g.$modelValue;v=y(e)||[];var I=n?ac(v):v,K,F,E;F={};E=!1;if(p)if(k=g.$modelValue,z&&O(k))for(E=new fb([]),d={},x=0;x<k.length;x++)d[m]=k[x],E.put(z(e,d),k[x]);else E=new fb(k);x=E;var G,L;for(E=0;K=I.length,E<K;E++){k=E;if(n){k=I[E];if("$"===k.charAt(0))continue;F[n]=k}F[m]=v[k];d=r(e,F)||"";(k=a[d])||(k=a[d]=[],c.push(d));p?d=B(x.remove(z?z(e,F):w(e,F))):(z?(d={},d[m]=u,d=z(e,d)===z(e,F)):d=u===w(e,F),x=x||d);G=l(e,F);G=B(G)?G:"";k.push({id:z?z(e,F):n?I[E]:E,label:G,selected:d})}p||(C||null===
u?a[""].unshift({id:"",label:"",selected:!x}):x||a[""].unshift({id:"?",label:"",selected:!0}));F=0;for(I=c.length;F<I;F++){d=c[F];k=a[d];A.length<=F?(u={element:H.clone().attr("label",d),label:k.label},v=[u],A.push(v),f.append(u.element)):(v=A[F],u=v[0],u.label!=d&&u.element.attr("label",u.label=d));G=null;E=0;for(K=k.length;E<K;E++)d=k[E],(x=v[E+1])?(G=x.element,x.label!==d.label&&(G.text(x.label=d.label),G.prop("label",x.label)),x.id!==d.id&&G.val(x.id=d.id),G[0].selected!==d.selected&&(G.prop("selected",
x.selected=d.selected),P&&G.prop("selected",x.selected))):(""===d.id&&C?L=C:(L=t.clone()).val(d.id).prop("selected",d.selected).attr("selected",d.selected).prop("label",d.label).text(d.label),v.push({element:L,label:d.label,id:d.id,selected:d.selected}),q.addOption(d.label,L),G?G.after(L):u.element.append(L),G=L);for(E++;v.length>E;)d=v.pop(),q.removeOption(d.label),d.element.remove()}for(;A.length>F;)A.pop()[0].element.remove()}var k;if(!(k=v.match(d)))throw df("iexp",v,la(f));var l=c(k[2]||k[1]),
m=k[4]||k[6],n=k[5],r=c(k[3]||""),w=c(k[2]?k[1]:m),y=c(k[7]),z=k[8]?c(k[8]):null,A=[[{element:f,label:""}]];C&&(a(C)(e),C.removeClass("ng-scope"),C.remove());f.empty();f.on("change",function(){e.$apply(function(){var a,c=y(e)||[],d={},k,l,q,r,t,v,x;if(p)for(l=[],r=0,v=A.length;r<v;r++)for(a=A[r],q=1,t=a.length;q<t;q++){if((k=a[q].element)[0].selected){k=k.val();n&&(d[n]=k);if(z)for(x=0;x<c.length&&(d[m]=c[x],z(e,d)!=k);x++);else d[m]=c[k];l.push(w(e,d))}}else if(k=f.val(),"?"==k)l=u;else if(""===
k)l=null;else if(z)for(x=0;x<c.length;x++){if(d[m]=c[x],z(e,d)==k){l=w(e,d);break}}else d[m]=c[k],n&&(d[n]=k),l=w(e,d);g.$setViewValue(l);h()})});g.$render=h;e.$watchCollection(y,h);e.$watchCollection(function(){var a={},c=y(e);if(c){for(var d=Array(c.length),f=0,g=c.length;f<g;f++)a[m]=c[f],d[f]=l(e,a);return d}},h);p&&e.$watchCollection(function(){return g.$modelValue},h)}if(l[1]){var q=l[0];l=l[1];var p=g.multiple,v=g.ngOptions,C=!1,y,t=z(T.createElement("option")),H=z(T.createElement("optgroup")),
w=t.clone();g=0;for(var x=h.children(),I=x.length;g<I;g++)if(""===x[g].value){y=C=x.eq(g);break}q.init(l,C,w);p&&(l.$isEmpty=function(a){return!a||0===a.length});v?n(e,h,l):p?m(e,h,l):k(e,h,l,q)}}}}],md=["$interpolate",function(a){var c={addOption:H,removeOption:H};return{restrict:"E",priority:100,compile:function(d,e){if(A(e.value)){var f=a(d.text(),!0);f||e.$set("value",d.text())}return function(a,d,e){var k=d.parent(),m=k.data("$selectController")||k.parent().data("$selectController");m&&m.databound?
d.prop("selected",!1):m=c;f?a.$watch(f,function(a,c){e.$set("value",a);a!==c&&m.removeOption(c);m.addOption(a)}):m.addOption(e.value);d.on("$destroy",function(){m.removeOption(e.value)})}}}}],ld=ca({restrict:"E",terminal:!0});L.angular.bootstrap?console.log("WARNING: Tried to load angular more than once."):((Ga=L.jQuery)&&Ga.fn.on?(z=Ga,F(Ga.fn,{scope:Pa.scope,isolateScope:Pa.isolateScope,controller:Pa.controller,injector:Pa.injector,inheritedData:Pa.inheritedData}),Lb("remove",!0,!0,!1),Lb("empty",
!1,!1,!1),Lb("html",!1,!1,!0)):z=S,Za.element=z,dd(Za),z(T).ready(function(){ad(T,hc)}))})(window,document);angular.element(document).find("head").append('<style type="text/css">@charset "UTF-8";\n\n[ng\\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak],\n.ng-cloak, .x-ng-cloak,\n.ng-hide {\n display: none !important;\n}\n\nng\\:form {\n display: block;\n}\n\n.ng-animate-block-transitions {\n transition:0s all!important;\n -webkit-transition:0s all!important;\n}\n\n/* show the element during a show/hide animation when the\n * animation is ongoing, but the .ng-hide class is active */\n.ng-hide-add-active, .ng-hide-remove {\n display: block!important;\n}\n</style>');
//third_party/javascript/angular/v1_2/angular-route.min.js
/*
AngularJS v1.2.29-build.2+sha.3cbf542
(c) 2010-2014 Google, Inc. http://angularjs.org
License: MIT
*/
(function(n,e,B){'use strict';function y(t,g,h){return{restrict:"ECA",terminal:!0,priority:400,transclude:"element",link:function(a,c,b,f,x){function z(){p&&(p.remove(),p=null);k&&(k.$destroy(),k=null);l&&(h.leave(l,function(){p=null}),p=l,l=null)}function w(){var b=t.current&&t.current.locals;if(e.isDefined(b&&b.$template)){var b=a.$new(),d=t.current;l=x(b,function(d){h.enter(d,null,l||c,function(){!e.isDefined(u)||u&&!a.$eval(u)||g()});z()});k=d.scope=b;k.$emit("$viewContentLoaded");k.$eval(v)}else z()}
var k,l,p,u=b.autoscroll,v=b.onload||"";a.$on("$routeChangeSuccess",w);w()}}}function A(e,g,h){return{restrict:"ECA",priority:-400,link:function(a,c){var b=h.current,f=b.locals;c.html(f.$template);var x=e(c.contents());b.controller&&(f.$scope=a,f=g(b.controller,f),b.controllerAs&&(a[b.controllerAs]=f),c.data("$ngControllerController",f),c.children().data("$ngControllerController",f));x(a)}}}n=e.module("ngRoute",["ng"]).provider("$route",function(){function t(a,c){return e.extend(new (e.extend(function(){},
{prototype:a})),c)}function g(a,e){var b=e.caseInsensitiveMatch,f={originalPath:a,regexp:a},h=f.keys=[];a=a.replace(/([().])/g,"\\$1").replace(/(\/)?:(\w+)([\?\*])?/g,function(a,e,b,c){a="?"===c?c:null;c="*"===c?c:null;h.push({name:b,optional:!!a});e=e||"";return""+(a?"":e)+"(?:"+(a?e:"")+(c&&"(.+?)"||"([^/]+)")+(a||"")+")"+(a||"")}).replace(/([\/$\*])/g,"\\$1");f.regexp=new RegExp("^"+a+"$",b?"i":"");return f}var h={};this.when=function(a,c){h[a]=e.extend({reloadOnSearch:!0},c,a&&g(a,c));if(a){var b=
"/"==a[a.length-1]?a.substr(0,a.length-1):a+"/";h[b]=e.extend({redirectTo:a},g(b,c))}return this};this.otherwise=function(a){this.when(null,a);return this};this.$get=["$rootScope","$location","$routeParams","$q","$injector","$http","$templateCache","$sce",function(a,c,b,f,g,n,w,k){function l(){var d=p(),m=r.current;if(d&&m&&d.$$route===m.$$route&&e.equals(d.pathParams,m.pathParams)&&!d.reloadOnSearch&&!v)m.params=d.params,e.copy(m.params,b),a.$broadcast("$routeUpdate",m);else if(d||m)v=!1,a.$broadcast("$routeChangeStart",
d,m),(r.current=d)&&d.redirectTo&&(e.isString(d.redirectTo)?c.path(u(d.redirectTo,d.params)).search(d.params).replace():c.url(d.redirectTo(d.pathParams,c.path(),c.search())).replace()),f.when(d).then(function(){if(d){var a=e.extend({},d.resolve),c,b;e.forEach(a,function(d,c){a[c]=e.isString(d)?g.get(d):g.invoke(d)});e.isDefined(c=d.template)?e.isFunction(c)&&(c=c(d.params)):e.isDefined(b=d.templateUrl)&&(e.isFunction(b)&&(b=b(d.params)),b=k.getTrustedResourceUrl(b),e.isDefined(b)&&(d.loadedTemplateUrl=
b,c=n.get(b,{cache:w}).then(function(a){return a.data})));e.isDefined(c)&&(a.$template=c);return f.all(a)}}).then(function(c){d==r.current&&(d&&(d.locals=c,e.copy(d.params,b)),a.$broadcast("$routeChangeSuccess",d,m))},function(c){d==r.current&&a.$broadcast("$routeChangeError",d,m,c)})}function p(){var a,b;e.forEach(h,function(f,h){var q;if(q=!b){var g=c.path();q=f.keys;var l={};if(f.regexp)if(g=f.regexp.exec(g)){for(var k=1,p=g.length;k<p;++k){var n=q[k-1],r=g[k];n&&r&&(l[n.name]=r)}q=l}else q=null;
else q=null;q=a=q}q&&(b=t(f,{params:e.extend({},c.search(),a),pathParams:a}),b.$$route=f)});return b||h[null]&&t(h[null],{params:{},pathParams:{}})}function u(a,c){var b=[];e.forEach((a||"").split(":"),function(a,d){if(0===d)b.push(a);else{var e=a.match(/(\w+)(?:[?*])?(.*)/),f=e[1];b.push(c[f]);b.push(e[2]||"");delete c[f]}});return b.join("")}var v=!1,r={routes:h,reload:function(){v=!0;a.$evalAsync(l)}};a.$on("$locationChangeSuccess",l);return r}]});"use strict";n.provider("$routeParams",function(){this.$get=
function(){return{}}});"use strict";n.directive("ngView",y);n.directive("ngView",A);y.$inject=["$route","$anchorScroll","$animate"];A.$inject=["$compile","$controller","$route"]})(window,window.angular);
//third_party/javascript/angular/v1_2/angular-animate.min.js
/*
AngularJS v1.2.29-build.2+sha.3cbf542
(c) 2010-2014 Google, Inc. http://angularjs.org
License: MIT
*/
(function(F,g,P){'use strict';g.module("ngAnimate",["ng"]).directive("ngAnimateChildren",function(){return function(Q,C,f){f=f.ngAnimateChildren;g.isString(f)&&0===f.length?C.data("$$ngAnimateChildren",!0):Q.$watch(f,function(g){C.data("$$ngAnimateChildren",!!g)})}}).factory("$$animateReflow",["$$rAF","$document",function(g,C){return function(f){return g(function(){f()})}}]).config(["$provide","$animateProvider",function(Q,C){function f(g){for(var f=0;f<g.length;f++){var l=g[f];if(1==l.nodeType)return l}}
function w(l){return g.element(f(l))}function G(g,l){return f(g)==f(l)}var p=g.noop,l=g.forEach,Y=C.$$selectors,q={running:!0};Q.decorator("$animate",["$delegate","$injector","$sniffer","$rootElement","$$asyncCallback","$rootScope","$document",function(J,F,X,H,I,t,P){function R(a){var d=a.data("$$ngAnimateState")||{};d.running=!0;a.data("$$ngAnimateState",d)}function T(a){if(a){var d=[],e={};a=a.substr(1).split(".");(X.transitions||X.animations)&&d.push(F.get(Y[""]));for(var k=0;k<a.length;k++){var g=
a[k],f=Y[g];f&&!e[g]&&(d.push(F.get(f)),e[g]=!0)}return d}}function K(a,d,e){function k(c,b){var a=c[b],d=c["before"+b.charAt(0).toUpperCase()+b.substr(1)];if(a||d)return"leave"==b&&(d=a,a=null),z.push({event:b,fn:a}),h.push({event:b,fn:d}),!0}function f(c,b,d){var L=[];l(c,function(b){b.fn&&L.push(b)});var Z=0;l(L,function(c,g){var k=function(){a:{if(b){(b[g]||p)();if(++Z<L.length)break a;b=null}d()}};switch(c.event){case "setClass":b.push(c.fn(a,r,A,k));break;case "addClass":b.push(c.fn(a,r||e,
k));break;case "removeClass":b.push(c.fn(a,A||e,k));break;default:b.push(c.fn(a,k))}});b&&0===b.length&&d()}var n=a[0];if(n){var m="setClass"==d,q=m||"addClass"==d||"removeClass"==d,r,A;g.isArray(e)&&(r=e[0],A=e[1],e=r+" "+A);var u=a.attr("class")+" "+e;if(U(u)){var x=p,v=[],h=[],y=p,M=[],z=[],u=(" "+u).replace(/\s+/g,".");l(T(u),function(c){!k(c,d)&&m&&(k(c,"addClass"),k(c,"removeClass"))});return{node:n,event:d,className:e,isClassBased:q,isSetClassOperation:m,before:function(c){x=c;f(h,v,function(){x=
p;c()})},after:function(c){y=c;f(z,M,function(){y=p;c()})},cancel:function(){v&&(l(v,function(c){(c||p)(!0)}),x(!0));M&&(l(M,function(c){(c||p)(!0)}),y(!0))}}}}}function E(a,d,e,k,f,n,m){function p(c){var b="$animate:"+c;y&&y[b]&&0<y[b].length&&I(function(){e.triggerHandler(b,{event:a,className:d})})}function r(){p("before")}function A(){p("after")}function u(){p("close");m&&I(function(){m()})}function x(){x.hasBeenRun||(x.hasBeenRun=!0,n())}function v(){if(!v.hasBeenRun){v.hasBeenRun=!0;var b=e.data("$$ngAnimateState");
b&&(h&&h.isClassBased?B(e,d):(I(function(){var b=e.data("$$ngAnimateState")||{};L==b.index&&B(e,d,a)}),e.data("$$ngAnimateState",b)));u()}}var h=K(e,a,d);if(h){d=h.className;var y=g.element._data(h.node),y=y&&y.events;k||(k=f?f.parent():e.parent());var q=e.data("$$ngAnimateState")||{};f=q.active||{};var z=q.totalActive||0,c=q.last,b;h.isClassBased&&(b=q.running||q.disabled||c&&!c.isClassBased);if(b||N(e,k))x(),r(),A(),v();else{k=!1;if(0<z){b=[];if(h.isClassBased)"setClass"==c.event?(b.push(c),B(e,
d)):f[d]&&(S=f[d],S.event==a?k=!0:(b.push(S),B(e,d)));else if("leave"==a&&f["ng-leave"])k=!0;else{for(var S in f)b.push(f[S]),B(e,S);f={};z=0}0<b.length&&l(b,function(b){b.cancel()})}!h.isClassBased||h.isSetClassOperation||k||(k="addClass"==a==e.hasClass(d));if(k)x(),r(),A(),u();else{if("leave"==a)e.one("$destroy",function(b){b=g.element(this);var c=b.data("$$ngAnimateState");c&&(c=c.active["ng-leave"])&&(c.cancel(),B(b,"ng-leave"))});e.addClass("ng-animate");var L=O++;z++;f[d]=h;e.data("$$ngAnimateState",
{last:h,active:f,index:L,totalActive:z});r();h.before(function(b){var c=e.data("$$ngAnimateState");b=b||!c||!c.active[d]||h.isClassBased&&c.active[d].event!=a;x();!0===b?v():(A(),h.after(v))})}}}else x(),r(),A(),v()}function V(a){if(a=f(a))a=g.isFunction(a.getElementsByClassName)?a.getElementsByClassName("ng-animate"):a.querySelectorAll(".ng-animate"),l(a,function(a){a=g.element(a);(a=a.data("$$ngAnimateState"))&&a.active&&l(a.active,function(a){a.cancel()})})}function B(a,d){if(G(a,H))q.disabled||
(q.running=!1,q.structural=!1);else if(d){var e=a.data("$$ngAnimateState")||{},f=!0===d;!f&&e.active&&e.active[d]&&(e.totalActive--,delete e.active[d]);if(f||!e.totalActive)a.removeClass("ng-animate"),a.removeData("$$ngAnimateState")}}function N(a,d){if(q.disabled)return!0;if(G(a,H))return q.running;var e,f,l;do{if(0===d.length)break;var n=G(d,H),m=n?q:d.data("$$ngAnimateState")||{};if(m.disabled)return!0;n&&(l=!0);!1!==e&&(n=d.data("$$ngAnimateChildren"),g.isDefined(n)&&(e=n));f=f||m.running||m.last&&
!m.last.isClassBased}while(d=d.parent());return!l||!e&&f}var O=0;H.data("$$ngAnimateState",q);t.$$postDigest(function(){t.$$postDigest(function(){q.running=!1})});var W=C.classNameFilter(),U=W?function(a){return W.test(a)}:function(){return!0};return{enter:function(a,d,e,f){a=g.element(a);d=d&&g.element(d);e=e&&g.element(e);R(a);J.enter(a,d,e);t.$$postDigest(function(){a=w(a);E("enter","ng-enter",a,d,e,p,f)})},leave:function(a,d){a=g.element(a);V(a);R(a);t.$$postDigest(function(){E("leave","ng-leave",
w(a),null,null,function(){J.leave(a)},d)})},move:function(a,d,e,f){a=g.element(a);d=d&&g.element(d);e=e&&g.element(e);V(a);R(a);J.move(a,d,e);t.$$postDigest(function(){a=w(a);E("move","ng-move",a,d,e,p,f)})},addClass:function(a,d,e){a=g.element(a);a=w(a);E("addClass",d,a,null,null,function(){J.addClass(a,d)},e)},removeClass:function(a,d,e){a=g.element(a);a=w(a);E("removeClass",d,a,null,null,function(){J.removeClass(a,d)},e)},setClass:function(a,d,e,f){a=g.element(a);a=w(a);E("setClass",[d,e],a,null,
null,function(){J.setClass(a,d,e)},f)},enabled:function(a,d){switch(arguments.length){case 2:if(a)B(d);else{var e=d.data("$$ngAnimateState")||{};e.disabled=!0;d.data("$$ngAnimateState",e)}break;case 1:q.disabled=!a;break;default:a=!q.disabled}return!!a}}}]);C.register("",["$window","$sniffer","$timeout","$$animateReflow",function(q,C,w,H){function I(){h||(h=H(function(){v=[];h=null;u={}}))}function t(c,b){h&&h();v.push(b);h=H(function(){l(v,function(b){b()});v=[];h=null;u={}})}function Q(c,b){var a=
f(c);c=g.element(a);z.push(c);a=Date.now()+b;a<=M||(w.cancel(y),M=a,y=w(function(){R(z);z=[]},b,!1))}function R(c){l(c,function(b){(b=b.data("$$ngAnimateCSS3Data"))&&(b.closeAnimationFn||p)()})}function T(c,b){var a=b?u[b]:null;if(!a){var d=0,e=0,f=0,g=0,k,h,n,p;l(c,function(b){if(1==b.nodeType){b=q.getComputedStyle(b)||{};n=b[m+"Duration"];d=Math.max(K(n),d);p=b[m+"Property"];k=b[m+"Delay"];e=Math.max(K(k),e);h=b[r+"Delay"];g=Math.max(K(h),g);var c=K(b[r+"Duration"]);0<c&&(c*=parseInt(b[r+"IterationCount"],
10)||1);f=Math.max(c,f)}});a={total:0,transitionPropertyStyle:p,transitionDurationStyle:n,transitionDelayStyle:k,transitionDelay:e,transitionDuration:d,animationDelayStyle:h,animationDelay:g,animationDuration:f};b&&(u[b]=a)}return a}function K(c){var b=0;c=g.isString(c)?c.split(/\s*,\s*/):[];l(c,function(c){b=Math.max(parseFloat(c)||0,b)});return b}function E(c){var b=c.parent(),a=b.data("$$ngAnimateKey");a||(b.data("$$ngAnimateKey",++x),a=x);return a+"-"+f(c).getAttribute("class")}function V(c,b,
a,d){var e=E(b),g=e+" "+a,k=u[g]?++u[g].total:0,h={};if(0<k){var l=a+"-stagger",h=e+" "+l;(e=!u[h])&&b.addClass(l);h=T(b,h);e&&b.removeClass(l)}d=d||function(b){return b()};b.addClass(a);var l=b.data("$$ngAnimateCSS3Data")||{},n=d(function(){return T(b,g)});d=n.transitionDuration;e=n.animationDuration;if(0===d&&0===e)return b.removeClass(a),!1;b.data("$$ngAnimateCSS3Data",{running:l.running||0,itemIndex:k,stagger:h,timings:n,closeAnimationFn:p});c=0<l.running||"setClass"==c;0<d&&B(b,a,c);0<e&&0<h.animationDelay&&
0===h.animationDuration&&(f(b).style[r]="none 0s");return!0}function B(c,b,a){"ng-enter"!=b&&"ng-move"!=b&&"ng-leave"!=b&&a?c.addClass("ng-animate-block-transitions"):f(c).style[m+"Property"]="none"}function N(c,b){var a=m+"Property",d=f(c);d.style[a]&&0<d.style[a].length&&(d.style[a]="");c.removeClass("ng-animate-block-transitions")}function O(c){var b=r;c=f(c);c.style[b]&&0<c.style[b].length&&(c.style[b]="")}function W(c,b,a,d){function e(c){b.off(z,g);b.removeClass(q);k(b,a);c=f(b);for(var d in w)c.style.removeProperty(w[d])}
function g(b){b.stopPropagation();var c=b.originalEvent||b;b=c.$manualTimeStamp||c.timeStamp||Date.now();c=parseFloat(c.elapsedTime.toFixed(3));Math.max(b-y,0)>=x&&c>=u&&d()}var h=f(b);c=b.data("$$ngAnimateCSS3Data");if(-1!=h.getAttribute("class").indexOf(a)&&c){var q="";l(a.split(" "),function(b,c){q+=(0<c?" ":"")+b+"-active"});var p=c.stagger,m=c.timings,r=c.itemIndex,u=Math.max(m.transitionDuration,m.animationDuration),v=Math.max(m.transitionDelay,m.animationDelay),x=1E3*v,y=Date.now(),z=A+" "+
G,t="",w=[];if(0<m.transitionDuration){var B=m.transitionPropertyStyle;-1==B.indexOf("all")&&(t+=n+"transition-property: "+B+";",t+=n+"transition-duration: "+m.transitionDurationStyle+";",w.push(n+"transition-property"),w.push(n+"transition-duration"))}0<r&&(0<p.transitionDelay&&0===p.transitionDuration&&(t+=n+"transition-delay: "+U(m.transitionDelayStyle,p.transitionDelay,r)+"; ",w.push(n+"transition-delay")),0<p.animationDelay&&0===p.animationDuration&&(t+=n+"animation-delay: "+U(m.animationDelayStyle,
p.animationDelay,r)+"; ",w.push(n+"animation-delay")));0<w.length&&(m=h.getAttribute("style")||"",h.setAttribute("style",m+"; "+t));b.on(z,g);b.addClass(q);c.closeAnimationFn=function(){e();d()};h=1E3*(r*(Math.max(p.animationDelay,p.transitionDelay)||0)+1.5*(v+u));c.running++;Q(b,h);return e}d()}function U(c,b,a){var d="";l(c.split(","),function(c,e){d+=(0<e?",":"")+(a*b+parseInt(c,10))+"s"});return d}function a(c,b,a,d){if(V(c,b,a,d))return function(c){c&&k(b,a)}}function d(c,b,a,d){if(b.data("$$ngAnimateCSS3Data"))return W(c,
b,a,d);k(b,a);d()}function e(c,b,e,f){var g=a(c,b,e);if(g){var h=g;t(b,function(){N(b,e);O(b);h=d(c,b,e,f)});return function(b){(h||p)(b)}}I();f()}function k(c,b){c.removeClass(b);var a=c.data("$$ngAnimateCSS3Data");a&&(a.running&&a.running--,a.running&&0!==a.running||c.removeData("$$ngAnimateCSS3Data"))}function D(c,b){var a="";c=g.isArray(c)?c:c.split(/\s+/);l(c,function(c,d){c&&0<c.length&&(a+=(0<d?" ":"")+c+b)});return a}var n="",m,G,r,A;F.ontransitionend===P&&F.onwebkittransitionend!==P?(n="-webkit-",
m="WebkitTransition",G="webkitTransitionEnd transitionend"):(m="transition",G="transitionend");F.onanimationend===P&&F.onwebkitanimationend!==P?(n="-webkit-",r="WebkitAnimation",A="webkitAnimationEnd animationend"):(r="animation",A="animationend");var u={},x=0,v=[],h,y=null,M=0,z=[];return{enter:function(c,b){return e("enter",c,"ng-enter",b)},leave:function(c,b){return e("leave",c,"ng-leave",b)},move:function(c,b){return e("move",c,"ng-move",b)},beforeSetClass:function(c,b,d,e){var f=D(d,"-remove")+
" "+D(b,"-add"),g=a("setClass",c,f,function(a){var e=c.attr("class");c.removeClass(d);c.addClass(b);a=a();c.attr("class",e);return a});if(g)return t(c,function(){N(c,f);O(c);e()}),g;I();e()},beforeAddClass:function(c,b,d){var e=a("addClass",c,D(b,"-add"),function(a){c.addClass(b);a=a();c.removeClass(b);return a});if(e)return t(c,function(){N(c,b);O(c);d()}),e;I();d()},setClass:function(a,b,e,f){e=D(e,"-remove");b=D(b,"-add");return d("setClass",a,e+" "+b,f)},addClass:function(a,b,e){return d("addClass",
a,D(b,"-add"),e)},beforeRemoveClass:function(c,b,d){var e=a("removeClass",c,D(b,"-remove"),function(a){var d=c.attr("class");c.removeClass(b);a=a();c.attr("class",d);return a});if(e)return t(c,function(){N(c,b);O(c);d()}),e;d()},removeClass:function(a,b,e){return d("removeClass",a,D(b,"-remove"),e)}}}])}])})(window,window.angular);
'use strict';var c,aa=this,g=function(a,b,d){a=a.split(".");d=d||aa;a[0]in d||!d.execScript||d.execScript("var "+a[0]);for(var e;a.length&&(e=a.shift());)a.length||void 0===b?d[e]?d=d[e]:d=d[e]={}:d[e]=b},ba=function(a,b,d){return a.call.apply(a.bind,arguments)},ca=function(a,b,d){if(!a)throw Error();if(2<arguments.length){var e=Array.prototype.slice.call(arguments,2);return function(){var d=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(d,e);return a.apply(b,d)}}return function(){return a.apply(b,
arguments)}},h=function(a,b,d){h=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?ba:ca;return h.apply(null,arguments)},da=function(a,b){function d(){}d.prototype=b.prototype;a.superClass_=b.prototype;a.prototype=new d;a.prototype.constructor=a;a.base=function(a,d,k){for(var z=Array(arguments.length-2),w=2;w<arguments.length;w++)z[w-2]=arguments[w];return b.prototype[d].apply(a,z)}};
Function.prototype.bind=Function.prototype.bind||function(a,b){if(1<arguments.length){var d=Array.prototype.slice.call(arguments,1);d.unshift(this,a);return h.apply(null,d)}return h(this,a)};Function.prototype.partial=function(a){var b=Array.prototype.slice.call(arguments);b.unshift(this,null);return h.apply(null,b)};Function.prototype.inherits=function(a){da(this,a)};Function.prototype.mixin=function(a){var b=this.prototype,d;for(d in a)b[d]=a[d]};var l=function(){};l.prototype.arrayBufferToString=function(a,b){var d=String.fromCharCode.apply(null,new Uint8Array(a));b(d)};l.prototype.stringToArrayBuffer=function(a,b){for(var d=new ArrayBuffer(a.length),e=new Uint8Array(d),f=0,k=a.length;f<k;f++)e[f]=a.charCodeAt(f);b(d)};var ea=function(){var a=new Uint8Array(new ArrayBuffer(20));a[0]=0;a[1]=1;a[2]=0;a[3]=0;a[4]=33;a[5]=18;a[6]=164;a[7]=66;a[8]=121;a[9]=100;a[10]=102;a[11]=54;a[12]=102;a[13]=83;a[14]=66;a[15]=115;a[16]=118;a[17]=119;a[18]=118;a[19]=117;this.stunPacket_=a.buffer.slice(0,20)};ea.prototype.getPayload=function(){return this.stunPacket_};var m=function(a,b,d){this.ccd_TcpSocket$host_=a;this.ccd_TcpSocket$port_=b;this.ccd_TcpSocket$testResult_=d;this.ccd_TcpSocket$socketDestroyed_=!1;this.timeoutId_=0;this.ccd_TcpSocket$socketId_=-1;this.ccd_TcpSocket$abDataToSend_=null;this.ccd_TcpSocket$strDataToSend_="";this.connectionStatusKnownCallbackFnc_=this.ccd_TcpSocket$failureCallbackFnc_=this.ccd_TcpSocket$completedCallbackFnc_=null};m.prototype=new l;c=m.prototype;c.constructor=l;c.parent=l.prototype;
c.ccd_TcpSocket_prototype$startConnection=function(){this.ccd_TcpSocket$testResult_.addLogRecord(chrome.i18n.getMessage("telnet_log_tcp_timeout_setting")+1E4);this.timeoutId_=window.setTimeout(this.ccd_TcpSocket_prototype$timeoutCallback_.bind(this),1E4);chrome.socket.create("tcp",{},function(a){this.ccd_TcpSocket$socketId_=a.socketId;this.ccd_TcpSocket$testResult_.addLogRecord(chrome.i18n.getMessage("telnet_log_socket_created")+this.ccd_TcpSocket$socketId_+" / "+this.ccd_TcpSocket$host_+" / "+this.ccd_TcpSocket$port_);
chrome.socket.connect(this.ccd_TcpSocket$socketId_,this.ccd_TcpSocket$host_,this.ccd_TcpSocket$port_,this.ccd_TcpSocket_prototype$onConnectedCallback_.bind(this))}.bind(this))};c.ccd_TcpSocket_prototype$setCompletedCallbackFnc=function(a){this.ccd_TcpSocket$completedCallbackFnc_=a};c.ccd_TcpSocket_prototype$setFailureCallbackFnc=function(a){this.ccd_TcpSocket$failureCallbackFnc_=a};c.setConnectionStatusKnownCallbackFnc=function(a){this.connectionStatusKnownCallbackFnc_=a};
c.ccd_TcpSocket_prototype$setPlainTextDataToSend=function(a){this.ccd_TcpSocket$strDataToSend_=a};c.ccd_TcpSocket_prototype$receiveString_=function(a){this.ccd_TcpSocket$testResult_.addLogRecord(chrome.i18n.getMessage("telnet_log_parsed_tcp_response")+a);var b=this.ccd_TcpSocket$completedCallbackFnc_;this.ccd_TcpSocket_prototype$cleanup_();b(a)};
c.ccd_TcpSocket_prototype$onReadCompletedCallback_=function(a){if(0<a.resultCode)this.ccd_TcpSocket$testResult_.addLogRecord(chrome.i18n.getMessage("telnet_log_parsed_response_size")+a.resultCode),this.arrayBufferToString(a.data,this.ccd_TcpSocket_prototype$receiveString_.bind(this));else if(this.ccd_TcpSocket$testResult_.addLogRecord(chrome.i18n.getMessage("telnet_log_error_reading_tcp_data")+a.resultCode),null!=this.ccd_TcpSocket$failureCallbackFnc_){var b=this.ccd_TcpSocket$failureCallbackFnc_;
this.ccd_TcpSocket_prototype$cleanup_();b(a.resultCode)}};c.ccd_TcpSocket_prototype$onWriteCompleteCallback_=function(a){this.ccd_TcpSocket$testResult_.addLogRecord(chrome.i18n.getMessage("telnet_log_successfully_sent_data")+a.bytesWritten);chrome.socket.read(this.ccd_TcpSocket$socketId_,this.ccd_TcpSocket_prototype$onReadCompletedCallback_.bind(this))};
c.ccd_TcpSocket_prototype$write_=function(){this.ccd_TcpSocket$testResult_.addLogRecord(chrome.i18n.getMessage("telnet_log_preparing_to_send_data")+this.ccd_TcpSocket$abDataToSend_.byteLength);chrome.socket.write(this.ccd_TcpSocket$socketId_,this.ccd_TcpSocket$abDataToSend_,this.ccd_TcpSocket_prototype$onWriteCompleteCallback_.bind(this))};
c.ccd_TcpSocket_prototype$onConnectedCallback_=function(a){this.ccd_TcpSocket$testResult_.addLogRecord(chrome.i18n.getMessage("telnet_log_connection_established")+this.ccd_TcpSocket$host_+" / "+this.ccd_TcpSocket$port_+" / "+a);if(null!=this.connectionStatusKnownCallbackFnc_){var b=this.connectionStatusKnownCallbackFnc_;this.ccd_TcpSocket_prototype$cleanup_();b(a)}else{b=this.ccd_TcpSocket$failureCallbackFnc_;switch(a){case -1:this.ccd_TcpSocket$testResult_.addLogRecord(chrome.i18n.getMessage("telnet_log_connection_failure")+
this.ccd_TcpSocket$host_+" / "+this.ccd_TcpSocket$port_+" / "+a);this.ccd_TcpSocket$testResult_.addLogRecord(chrome.i18n.getMessage("telnet_log_connection_failure_unknown"));this.ccd_TcpSocket_prototype$cleanup_();b(-1);return;case -118:this.ccd_TcpSocket$testResult_.addLogRecord(chrome.i18n.getMessage("telnet_log_connection_failure")+this.ccd_TcpSocket$host_+" / "+this.ccd_TcpSocket$port_+" / "+a);this.ccd_TcpSocket$testResult_.addLogRecord(chrome.i18n.getMessage("telnet_log_connection_failure_timeout"));
this.ccd_TcpSocket_prototype$cleanup_();b(-118);return;case -102:this.ccd_TcpSocket$testResult_.addLogRecord(chrome.i18n.getMessage("telnet_log_connection_failure")+this.ccd_TcpSocket$host_+" / "+this.ccd_TcpSocket$port_+" / "+a);this.ccd_TcpSocket$testResult_.addLogRecord(chrome.i18n.getMessage("telnet_log_connection_failure_refused"));this.ccd_TcpSocket_prototype$cleanup_();b(-102);return}this.ccd_TcpSocket$testResult_.addLogRecord(chrome.i18n.getMessage("telnet_log_connection_established_successfully")+
this.ccd_TcpSocket$host_+" / "+this.ccd_TcpSocket$port_);this.stringToArrayBuffer(this.ccd_TcpSocket$strDataToSend_,function(a){this.ccd_TcpSocket$abDataToSend_=a;this.ccd_TcpSocket_prototype$write_()}.bind(this))}};
c.ccd_TcpSocket_prototype$cleanup_=function(){window.clearTimeout(this.timeoutId_);this.ccd_TcpSocket$socketDestroyed_||(this.ccd_TcpSocket$completedCallbackFnc_=this.connectionStatusKnownCallbackFnc_=this.ccd_TcpSocket$failureCallbackFnc_=null,chrome.socket.disconnect(this.ccd_TcpSocket$socketId_),chrome.socket.destroy(this.ccd_TcpSocket$socketId_),this.ccd_TcpSocket$socketDestroyed_=!0)};
c.ccd_TcpSocket_prototype$timeoutCallback_=function(){if(null!=this.connectionStatusKnownCallbackFnc_){var a=this.connectionStatusKnownCallbackFnc_;this.ccd_TcpSocket_prototype$cleanup_();a(-118)}else null!=this.ccd_TcpSocket$failureCallbackFnc_&&(a=this.ccd_TcpSocket$failureCallbackFnc_,this.ccd_TcpSocket_prototype$cleanup_(),a(-118))};var fa=function(a,b,d){this.ccd_UdpSocket$host_=a;this.ccd_UdpSocket$port_=b;this.ccd_UdpSocket$testResult_=d;this.ccd_UdpSocket$socketDestroyed_=!1;this.timeoutId_=0;this.ccd_UdpSocket$socketId_=-1;this.ccd_UdpSocket$abDataToSend_=null;this.ccd_UdpSocket$strDataToSend_="";this.ccd_UdpSocket$failureCallbackFnc_=this.ccd_UdpSocket$completedCallbackFnc_=null};fa.prototype=new l;c=fa.prototype;c.constructor=l;c.parent=l.prototype;c.ccd_UdpSocket_prototype$startConnection=function(){this.createSocket_()};
c.ccd_UdpSocket_prototype$setCompletedCallbackFnc=function(a){this.ccd_UdpSocket$completedCallbackFnc_=a};c.ccd_UdpSocket_prototype$setFailureCallbackFnc=function(a){this.ccd_UdpSocket$failureCallbackFnc_=a};c.ccd_UdpSocket_prototype$setPlainTextDataToSend=function(a){this.ccd_UdpSocket$strDataToSend_=a};c.setArrayBufferToSend=function(a){this.ccd_UdpSocket$abDataToSend_=a};
c.ccd_UdpSocket_prototype$receiveString_=function(a){this.ccd_UdpSocket$testResult_.addLogRecord(chrome.i18n.getMessage("udpsocket_log_parsed_udp_response")+a);var b=this.ccd_UdpSocket$completedCallbackFnc_;this.ccd_UdpSocket_prototype$cleanup_();b(a)};
c.ccd_UdpSocket_prototype$onReadCompletedCallback_=function(a){if(0<a.resultCode)this.ccd_UdpSocket$testResult_.addLogRecord(chrome.i18n.getMessage("udpsocket_log_parsed_response_size")+a.resultCode),this.arrayBufferToString(a.data,this.ccd_UdpSocket_prototype$receiveString_.bind(this));else if(this.ccd_UdpSocket$testResult_.addLogRecord(chrome.i18n.getMessage("udpsocket_log_error_reading_udp_data")+a.resultCode),null!=this.ccd_UdpSocket$failureCallbackFnc_){var b=this.ccd_UdpSocket$failureCallbackFnc_;
this.ccd_UdpSocket_prototype$cleanup_();b(a.resultCode)}};c.read_=function(){chrome.socket.read(this.ccd_UdpSocket$socketId_,this.ccd_UdpSocket_prototype$onReadCompletedCallback_.bind(this))};c.ccd_UdpSocket_prototype$onWriteCompleteCallback_=function(a){this.ccd_UdpSocket$testResult_.addLogRecord(chrome.i18n.getMessage("udpsocket_log_successfully_sent_data")+a.bytesWritten);this.read_()};
c.ccd_UdpSocket_prototype$write_=function(){this.ccd_UdpSocket$testResult_.addLogRecord(chrome.i18n.getMessage("udpsocket_log_preparing_to_send_data")+this.ccd_UdpSocket$abDataToSend_.byteLength);chrome.socket.write(this.ccd_UdpSocket$socketId_,this.ccd_UdpSocket$abDataToSend_,this.ccd_UdpSocket_prototype$onWriteCompleteCallback_.bind(this))};
c.ccd_UdpSocket_prototype$onConnectedCallback_=function(){function a(a){this.ccd_UdpSocket$abDataToSend_=a;this.ccd_UdpSocket_prototype$write_()}null===this.ccd_UdpSocket$abDataToSend_?this.stringToArrayBuffer(this.ccd_UdpSocket$strDataToSend_,a.bind(this)):this.ccd_UdpSocket_prototype$write_()};
c.createSocket_=function(){this.ccd_UdpSocket$testResult_.addLogRecord(chrome.i18n.getMessage("udpsocket_log_udp_timeout_setting")+1E4);this.timeoutId_=window.setTimeout(this.ccd_UdpSocket_prototype$timeoutCallback_.bind(this),1E4);chrome.socket.create("udp",null,function(a){this.ccd_UdpSocket$socketId_=a.socketId;this.ccd_UdpSocket$testResult_.addLogRecord(chrome.i18n.getMessage("udpsocket_log_socket_created")+this.ccd_UdpSocket$socketId_+" / "+this.ccd_UdpSocket$host_+" / "+this.ccd_UdpSocket$port_);
chrome.socket.connect(this.ccd_UdpSocket$socketId_,this.ccd_UdpSocket$host_,this.ccd_UdpSocket$port_,this.ccd_UdpSocket_prototype$onConnectedCallback_.bind(this))}.bind(this))};
c.ccd_UdpSocket_prototype$cleanup_=function(){window.clearTimeout(this.timeoutId_);this.ccd_UdpSocket$socketDestroyed_||(this.ccd_UdpSocket$completedCallbackFnc_=this.ccd_UdpSocket$failureCallbackFnc_=null,chrome.socket.disconnect(this.ccd_UdpSocket$socketId_),chrome.socket.destroy(this.ccd_UdpSocket$socketId_),this.ccd_UdpSocket$socketDestroyed_=!0)};
c.ccd_UdpSocket_prototype$timeoutCallback_=function(){if(null!=this.ccd_UdpSocket$failureCallbackFnc_){var a=this.ccd_UdpSocket$failureCallbackFnc_;this.ccd_UdpSocket_prototype$cleanup_();a(-118)}};var n=function(){this.callbackFnc=this.testResult=null};n.prototype.executeCallback=function(){this.callbackFnc(this.testResult)};n.prototype.canRun=function(){return!0};var ga={NO_PROBLEM:0,POTENTIAL_PROBLEM:1,PROBLEM:2,TEST_FAILURE_OCCURRED:3,TEST_NOT_RUN:4};var ha=function(){},ia=null,ja=function(){ia||(ia=new ha);return ia};ha.prototype.log=function(a){console.log(a)};var p=function(){return-1!=navigator.userAgent.indexOf(" CrOS ")},q=function(a){for(var b="",d=0;d<a;d++)b+="abcdefghijklmnopqrstuvwxyz".charAt(Math.floor(26*Math.random()));return b},ka=function(){return void 0!==chrome.dns&&void 0!==chrome.dns.resolve};var r=function(a){this.logs_=[];this.ccd_TestResult$testId_=a;this.ccd_TestResult$testVerdict_=4;this.testName_=this.supportDetailsInfo_=this.testCriteria_=this.title_=this.subtitle_="";this.ccd_TestResult$debugLogger_=ja()};c=r.prototype;c.setTitle=function(a){this.title_=a};c.setSubtitle=function(a){this.subtitle_=a};c.getTitle=function(){return this.title_};c.getSubtitle=function(){return this.subtitle_};c.setTestCriteria=function(a){this.testCriteria_=a};c.getTestCriteria=function(){return this.testCriteria_};
c.setTestName=function(a){this.testName_=a};c.getTestName=function(){return this.testName_};c.setSupportDetailsInfo=function(a){this.supportDetailsInfo_=a};c.getSupportDetailsInfo=function(){return this.supportDetailsInfo_};c.getTestVerdict=function(){return this.ccd_TestResult$testVerdict_};c.setTestVerdict=function(a){this.ccd_TestResult$testVerdict_=a};c.getTestId=function(){return this.ccd_TestResult$testId_};c.getLogs=function(){return this.logs_};
c.addLogRecord=function(a){var b;b=(new Date((new Date).getTime())).toString();b+=" - "+a;this.logs_.push(b);this.ccd_TestResult$debugLogger_.log(b)};var t=function(){this.testResult=new r(5);this.testResult.setTestName(chrome.i18n.getMessage("captiveportalhttptest_name"));var a=chrome.i18n.getMessage("captiveportalhttptest_no_problem_threshold")+"\n",a=a+(chrome.i18n.getMessage("captiveportalhttptest_potentialproblem_threshold")+"\n"),a=a+(chrome.i18n.getMessage("captiveportalhttptest_problem_threshold")+"\n");this.testResult.setTestCriteria(a);this.ccd_CaptivePortalHttpTest$numTestsCompleted_=0;this.fullResponseLength_=[];this.responseCode_=
[];this.networkErrorCount_=this.timeoutId_=0;this.hostnamesToQuery_=[];for(a=0;3>a;a++)this.hostnamesToQuery_.push(q(8)+"-ccd-testing-v4.metric.gstatic.com")};t.prototype=new n;c=t.prototype;c.constructor=n;c.parent=n.prototype;c.runTest=function(a){this.callbackFnc=a;this.ccd_CaptivePortalHttpTest_prototype$requestHostname_()};
c.analyzeResults=function(){this.testResult.setTestVerdict(0);this.testResult.setTitle(chrome.i18n.getMessage("captiveportalhttptest_noproblem_title"));this.testResult.setSubtitle(chrome.i18n.getMessage("captiveportalhttptest_noproblem_subtitle"));if(this.networkErrorCount_>=.2*this.hostnamesToQuery_.length)this.testResult.setTestVerdict(1),this.testResult.setTitle(chrome.i18n.getMessage("captiveportalhttptest_potentialproblem_title")),this.testResult.setSubtitle(chrome.i18n.getMessage("captiveportalhttptest_potentialproblem_subtitle"));
else for(var a=0;a<this.hostnamesToQuery_.length-this.networkErrorCount_;a++)if(204!=this.responseCode_[a]){this.testResult.setTestVerdict(2);this.testResult.setTitle(chrome.i18n.getMessage("captiveportalhttptest_problem_title"));this.testResult.setSubtitle(chrome.i18n.getMessage("captiveportalhttptest_problem_subtitle"));break}};c.extractHeaders_=function(a){var b=a.indexOf("\n\n");return-1==b?"-1":a.substr(0,b)};
c.extractStatusCode_=function(a){return-1==a.indexOf("\n")||"HTTP/1.1 "!=a.substring(0,9)?-1:parseInt(a.substring(9,12),10)};
c.ccd_CaptivePortalHttpTest_prototype$responseReceived_=function(a){var b=this.extractHeaders_(a),d=this.extractStatusCode_(a);this.fullResponseLength_.push(a.length);this.responseCode_.push(d);this.testResult.addLogRecord(chrome.i18n.getMessage("captiveportalhttptest_log_response_length")+this.ccd_CaptivePortalHttpTest$numTestsCompleted_+" / "+a.length);this.testResult.addLogRecord(chrome.i18n.getMessage("captiveportalhttptest_log_response_code")+d);this.testResult.addLogRecord(chrome.i18n.getMessage("captiveportalhttptest_log_http_response")+
b);this.hostnameRequestCompleted_()};c.ccd_CaptivePortalHttpTest_prototype$requestError_=function(a){this.testResult.addLogRecord(chrome.i18n.getMessage("captiveportalhttptest_log_network_error")+this.ccd_CaptivePortalHttpTest$numTestsCompleted_+" / "+a);this.networkErrorCount_++;this.hostnameRequestCompleted_()};
c.hostnameRequestCompleted_=function(){this.ccd_CaptivePortalHttpTest$numTestsCompleted_++;window.clearTimeout(this.timeoutId_);this.ccd_CaptivePortalHttpTest$numTestsCompleted_<this.hostnamesToQuery_.length?this.timeoutId_=setTimeout(this.ccd_CaptivePortalHttpTest_prototype$requestHostname_.bind(this),2E3):(this.analyzeResults(),this.executeCallback())};
c.ccd_CaptivePortalHttpTest_prototype$requestHostname_=function(){var a=this.ccd_CaptivePortalHttpTest$numTestsCompleted_,b=new m(this.hostnamesToQuery_[a],80,this.testResult);b.ccd_TcpSocket_prototype$setCompletedCallbackFnc(this.ccd_CaptivePortalHttpTest_prototype$responseReceived_.bind(this));b.ccd_TcpSocket_prototype$setFailureCallbackFnc(this.ccd_CaptivePortalHttpTest_prototype$requestError_.bind(this));b.ccd_TcpSocket_prototype$setPlainTextDataToSend("GET /generate_204 HTTP/1.1\nHost: "+this.hostnamesToQuery_[a]+
"\nConnection: close\nUser-Agent: "+(navigator.userAgent+" CCD:"+chrome.runtime.getManifest().version)+"\n\n");b.ccd_TcpSocket_prototype$startConnection()};var u=function(){this.testResult=new r(0);this.testResult.setTestName(chrome.i18n.getMessage("chromeosinternetdisconnectedtest_name"));var a=chrome.i18n.getMessage("chromeosinternetdisconnectedtest_no_problem_threshold")+"\n",a=a+(chrome.i18n.getMessage("chromeosinternetdisconnectedtest_problem_threshold")+"\n");this.testResult.setTestCriteria(a);this.ccd_ChromeOSInternetDisconnectedTest$isDisconnected_=!0};u.prototype=new n;c=u.prototype;c.constructor=n;c.parent=n.prototype;
c.analyzeResults=function(){this.ccd_ChromeOSInternetDisconnectedTest$isDisconnected_?(this.testResult.setTestVerdict(2),this.testResult.setTitle(chrome.i18n.getMessage("chromeosinternetdisconnectedtest_problem_title")),this.testResult.setSubtitle(chrome.i18n.getMessage("chromeosinternetdisconnectedtest_problem_subtitle"))):(this.testResult.setTestVerdict(0),this.testResult.setTitle(chrome.i18n.getMessage("chromeosinternetdisconnectedtest_noproblem_title")),this.testResult.setSubtitle(chrome.i18n.getMessage("chromeosinternetdisconnectedtest_noproblem_subtitle")))};
c.runTest=function(a){this.callbackFnc=a;chrome.networkingPrivate.getVisibleNetworks("All",this.ccd_ChromeOSInternetDisconnectedTest_prototype$processNicInfo_.bind(this))};c.canRun=function(){return p()&&void 0!==chrome.networkingPrivate};
c.ccd_ChromeOSInternetDisconnectedTest_prototype$processNicInfo_=function(a){this.testResult.addLogRecord(chrome.i18n.getMessage("chromeosinternetdisconnectedtest_log_available_networks")+a.length);if(0==a.length)this.ccd_ChromeOSInternetDisconnectedTest$isDisconnected_=!0;else for(var b=0;b<a.length;b++)if("Connected"==a[b].ConnectionState){this.ccd_ChromeOSInternetDisconnectedTest$isDisconnected_=!1;break}this.analyzeResults();this.executeCallback()};var v=function(){this.testResult=new r(10);this.testResult.setTestName(chrome.i18n.getMessage("chromeossignalstrengthtest_name"));var a=chrome.i18n.getMessage("chromeossignalstrengthtest_no_problem_strength")+30+"\n",a=a+(chrome.i18n.getMessage("chromeossignalstrengthtest_problem_strength")+30+"\n");this.testResult.setTestCriteria(a);this.signalStrength_=-1};v.prototype=new n;c=v.prototype;c.constructor=n;c.parent=n.prototype;
c.analyzeResults=function(){30>this.signalStrength_&&-1!=this.signalStrength_?(this.testResult.setTestVerdict(2),this.testResult.setTitle(chrome.i18n.getMessage("chromeossignalstrengthtest_problem_title")),this.testResult.setSubtitle(chrome.i18n.getMessage("chromeossignalstrengthtest_problem_subtitle"))):-1!=this.signalStrength_?(this.testResult.setTestVerdict(0),this.testResult.setTitle(chrome.i18n.getMessage("chromeossignalstrengthtest_noproblem_title")),this.testResult.setSubtitle(chrome.i18n.getMessage("chromeossignalstrengthtest_noproblem_subtitle"))):
(this.testResult.setTestVerdict(3),this.testResult.setTitle(chrome.i18n.getMessage("chromeossignalstrengthtest_failure_title")),this.testResult.setSubtitle(chrome.i18n.getMessage("chromeossignalstrengthtest_failure_subtitle")))};c.runTest=function(a){this.callbackFnc=a;chrome.networkingPrivate.getVisibleNetworks("All",this.ccd_ChromeOSSignalStrengthTest_prototype$processNicInfo_.bind(this))};c.canRun=function(){return p()&&void 0!==chrome.networkingPrivate};
c.ccd_ChromeOSSignalStrengthTest_prototype$processNicInfo_=function(a){for(var b=0;b<a.length;b++)if("Connected"==a[b].ConnectionState&&void 0!=a[b].WiFi){this.testResult.addLogRecord(chrome.i18n.getMessage("chromeossignalstrengthtest_log_signal_strength")+a[b].Name+" / "+a[b].WiFi.SignalStrength);this.signalStrength_=a[b].WiFi.SignalStrength;break}this.analyzeResults();this.executeCallback()};var x=function(){this.testResult=new r(4);this.testResult.setTestName(chrome.i18n.getMessage("dnspoisoningtest_name"));var a=chrome.i18n.getMessage("dnspoisoningtest_no_problem_threshold")+"\n",a=a+(chrome.i18n.getMessage("dnspoisoningtest_problem_threshold")+"\n");this.testResult.setTestCriteria(a);this.ccd_DnsPoisoningTest$numRetriesRemaining_=3;this.ccd_DnsPoisoningTest$numTestsCompleted_=0;this.resolutionResultsString_=[];this.resolutionResultsCode_=[];this.timeoutId_=0;this.knownHostnamesToQuery_=
["ccd-testing-v4.gstatic.com"]};x.prototype=new n;x.prototype.constructor=n;x.prototype.parent=n.prototype;var la=[-7,-803];c=x.prototype;c.canRun=function(){return ka()};c.runTest=function(a){this.callbackFnc=a;this.attemptResolution_()};
c.isProblemDetected_=function(){for(var a=0;a<this.knownHostnamesToQuery_.length;a++)if("216.239.32.21"!=this.resolutionResultsString_[a]&&"216.239.34.21"!=this.resolutionResultsString_[a]&&"216.239.36.21"!=this.resolutionResultsString_[a]&&"216.239.38.21"!=this.resolutionResultsString_[a])return!0;return!1};
c.analyzeResults=function(){this.isProblemDetected_()?(this.testResult.setTestVerdict(2),this.testResult.setTitle(chrome.i18n.getMessage("dnspoisoningtest_problem_title")),this.testResult.setSubtitle(chrome.i18n.getMessage("dnspoisoningtest_problem_subtitle"))):(this.testResult.setTestVerdict(0),this.testResult.setTitle(chrome.i18n.getMessage("dnspoisoningtest_noproblem_title")),this.testResult.setSubtitle(chrome.i18n.getMessage("dnspoisoningtest_noproblem_subtitle")))};
c.ccd_DnsPoisoningTest_prototype$resolveCallback_=function(a){window.clearTimeout(this.timeoutId_);void 0==a||void 0==a.resultCode?(this.testResult.addLogRecord("#"+this.ccd_DnsPoisoningTest$numTestsCompleted_+chrome.i18n.getMessage("dnspoisoningtest_noresult_code_returned")),this.testResult.setTestVerdict(3),this.executeCallback()):(-1<la.indexOf(a.resultCode)&&0<this.ccd_DnsPoisoningTest$numRetriesRemaining_?(this.ccd_DnsPoisoningTest$numTestsCompleted_--,this.ccd_DnsPoisoningTest$numRetriesRemaining_--):
(this.resolutionResultsCode_.push(a.resultCode),this.testResult.addLogRecord("#"+this.ccd_DnsPoisoningTest$numTestsCompleted_+chrome.i18n.getMessage("dnspoisoningtest_log_statuscode_returned")+a.resultCode),void 0!=a.address?(this.resolutionResultsString_.push(a.address),this.testResult.addLogRecord("#"+this.ccd_DnsPoisoningTest$numTestsCompleted_+chrome.i18n.getMessage("dnspoisoningtest_log_address_returned")+a.address)):(this.resolutionResultsString_.push(null),this.testResult.addLogRecord("#"+
this.ccd_DnsPoisoningTest$numTestsCompleted_+chrome.i18n.getMessage("dnspoisoningtest_no_addr_returned")))),this.ccd_DnsPoisoningTest$numTestsCompleted_++,this.ccd_DnsPoisoningTest$numTestsCompleted_>=0+this.knownHostnamesToQuery_.length?(this.analyzeResults(),this.executeCallback()):this.timeoutId_=setTimeout(this.attemptResolution_.bind(this),1E3))};
c.attemptResolution_=function(){var a="";this.ccd_DnsPoisoningTest$numTestsCompleted_<this.knownHostnamesToQuery_.length?a=this.knownHostnamesToQuery_[this.ccd_DnsPoisoningTest$numTestsCompleted_]:(a=q(25),a+=".com");this.testResult.addLogRecord(chrome.i18n.getMessage("dnspoisoningtest_beginning_resolution")+this.ccd_DnsPoisoningTest$numTestsCompleted_+" / "+a);chrome.dns.resolve(a,this.ccd_DnsPoisoningTest_prototype$resolveCallback_.bind(this))};var y=function(){this.testResult=new r(12);this.testResult.setTestName(chrome.i18n.getMessage("hangoutsblockedtest_name"));var a=chrome.i18n.getMessage("hangoutsblockedtest_no_problem_criteria")+"\n",a=a+(chrome.i18n.getMessage("hangoutsblockedtest_problem_criteria")+"\n");this.testResult.setTestCriteria(a);this.testResult.setSupportDetailsInfo("https://support.google.com/a/answer/1279090");this.tcpStunPortOpen_=this.udpStunPortOpen_=!1;this.tcpStunPortsToTest_=[443,1902,1903,1904,1905];this.udpStunPortsToTest_=
[19302,19303,19304,19305,19306,19307,19308,19309];this.nextTcpPortIndexToCheck_=this.nextUdpPortIndexToCheck_=0;this.hostnames443PortOpen_=2;this.hostnames443ToCheck_=["apis.google.com","clients6.google.com","talkgadget.google.com","plus.google.com"];this.nextHostnames443IndexToCheck_=0};y.prototype=new n;c=y.prototype;c.constructor=n;c.parent=n.prototype;
c.analyzeResults=function(){this.udpStunPortOpen_&&1===this.hostnames443PortOpen_?(this.testResult.setTitle(chrome.i18n.getMessage("hangoutsblockedtest_noproblem_title")),this.testResult.setSubtitle(chrome.i18n.getMessage("hangoutsblockedtest_noproblem_subtitle")),this.testResult.setTestVerdict(0)):!1===this.udpStunPortOpen_&&this.tcpStunPortOpen_&&1===this.hostnames443PortOpen_?(this.testResult.setTitle(chrome.i18n.getMessage("hangoutsblockedtest_potentialproblem_title")),this.testResult.setSubtitle(chrome.i18n.getMessage("hangoutsblockedtest_potentialproblem_subtitle_udp_media_blocked")),
this.testResult.setTestVerdict(1)):(!1===this.udpStunPortOpen_&&this.tcpStunPortOpen_&&1!==this.hostnames443PortOpen_?(this.testResult.setTitle(chrome.i18n.getMessage("hangoutsblockedtest_potentialproblem_title")),this.testResult.setSubtitle(chrome.i18n.getMessage("hangoutsblockedtest_problem_subtitle_tcp_chat_blocked"))):this.udpStunPortOpen_&&this.tcpStunPortOpen_&&1!==this.hostnames443PortOpen_?(this.testResult.setTitle(chrome.i18n.getMessage("hangoutsblockedtest_potentialproblem_title")),this.testResult.setSubtitle(chrome.i18n.getMessage("hangoutsblockedtest_problem_subtitle_tcp_chat_blocked"))):
this.udpStunPortOpen_&&!1===this.tcpStunPortOpen_&&1!==this.hostnames443PortOpen_?(this.testResult.setTitle(chrome.i18n.getMessage("hangoutsblockedtest_potentialproblem_title")),this.testResult.setSubtitle(chrome.i18n.getMessage("hangoutsblockedtest_problem_subtitle_tcp_media_tcp_chat_blocked"))):!1===this.udpStunPortOpen_&&!1===this.tcpStunPortOpen_&&1!==this.hostnames443PortOpen_?(this.testResult.setTitle(chrome.i18n.getMessage("hangoutsblockedtest_problem_title")),this.testResult.setSubtitle(chrome.i18n.getMessage("hangoutsblockedtest_problem_subtitle_udp_media_tcp_media_blocked"))):
(this.testResult.setTitle(chrome.i18n.getMessage("hangoutsblockedtest_problem_title")),this.testResult.setSubtitle(chrome.i18n.getMessage("hangoutsblockedtest_problem_subtitle"))),this.testResult.setTestVerdict(2))};c.runTest=function(a){this.callbackFnc=a;this.testController_()};
c.testController_=function(){this.nextUdpPortIndexToCheck_<this.udpStunPortsToTest_.length&&!1===this.udpStunPortOpen_?this.nextStunUdpPortCheck_():this.nextTcpPortIndexToCheck_<this.tcpStunPortsToTest_.length&&!1===this.tcpStunPortOpen_?this.nextStunTcpPortCheck_():this.nextHostnames443IndexToCheck_<this.hostnames443ToCheck_.length&&2===this.hostnames443PortOpen_?this.nextHostname443Check_():(this.analyzeResults(),this.callbackFnc(this.testResult))};
c.nextHostname443Check_=function(){var a=new m(this.hostnames443ToCheck_[this.nextHostnames443IndexToCheck_],443,this.testResult);a.ccd_TcpSocket_prototype$setPlainTextDataToSend("stub data");var b=function(){this.hostnames443PortOpen_=0;this.testResult.addLogRecord(chrome.i18n.getMessage("hangoutsblockedtest_log_tcp_connection_failure")+this.hostnames443ToCheck_[this.nextHostnames443IndexToCheck_]);this.testController_()};a.ccd_TcpSocket_prototype$setFailureCallbackFnc(b.bind(this));a.setConnectionStatusKnownCallbackFnc(function(a){0===
a?(this.nextHostnames443IndexToCheck_++,this.nextHostnames443IndexToCheck_===this.hostnames443ToCheck_.length&&(this.hostnames443PortOpen_=1),this.testController_()):b.apply(this)}.bind(this));a.ccd_TcpSocket_prototype$startConnection()};
c.nextStunTcpPortCheck_=function(){var a=new m("stun.l.google.com",this.tcpStunPortsToTest_[this.nextTcpPortIndexToCheck_],this.testResult);a.ccd_TcpSocket_prototype$setFailureCallbackFnc(function(){this.tcpStunPortOpen_=!1;this.testResult.addLogRecord(chrome.i18n.getMessage("hangoutsblockedtest_log_tcp_connection_failure")+this.tcpStunPortsToTest_[this.nextTcpPortIndexToCheck_]);this.nextTcpPortIndexToCheck_++;this.testController_()}.bind(this));a.setConnectionStatusKnownCallbackFnc(function(a){0===
a?(this.tcpStunPortOpen_=!0,this.testResult.addLogRecord(chrome.i18n.getMessage("hangoutsblockedtest_log_tcp_connection_success")+this.tcpStunPortsToTest_[this.nextTcpPortIndexToCheck_])):(this.tcpStunPortOpen_=!1,this.nextTcpPortIndexToCheck_++);this.testController_()}.bind(this));a.ccd_TcpSocket_prototype$startConnection()};
c.nextStunUdpPortCheck_=function(){var a=(new ea).getPayload(),b=new fa("stun.l.google.com",this.udpStunPortsToTest_[this.nextUdpPortIndexToCheck_],this.testResult);b.setArrayBufferToSend(a);b.ccd_UdpSocket_prototype$setFailureCallbackFnc(function(){this.udpStunPortOpen_=!1;this.testResult.addLogRecord(chrome.i18n.getMessage("hangoutsblockedtest_log_udp_connection_failure")+this.udpStunPortsToTest_[this.nextUdpPortIndexToCheck_]);this.nextUdpPortIndexToCheck_++;this.testController_()}.bind(this));
b.ccd_UdpSocket_prototype$setCompletedCallbackFnc(function(a){1<a.length?(this.udpStunPortOpen_=!0,this.testResult.addLogRecord(chrome.i18n.getMessage("hangoutsblockedtest_log_udp_connection_success")+this.udpStunPortsToTest_[this.nextUdpPortIndexToCheck_])):(this.udpStunPortOpen_=!1,this.nextUdpPortIndexToCheck_++);this.testController_()}.bind(this));b.ccd_UdpSocket_prototype$startConnection()};var A=function(){this.testResult=new r(9);this.testResult.setTestName(chrome.i18n.getMessage("httplatencytest_name"));var a=chrome.i18n.getMessage("httplatencytest_no_problem_time")+400+"\n",a=a+(chrome.i18n.getMessage("httplatencytest_potential_problem_time")+400+"-500\n"),a=a+(chrome.i18n.getMessage("httplatencytest_problem_time")+500+"\n");this.testResult.setTestCriteria(a);this.testStartMilsec_=this.timeoutId_=this.totalTimeToRespond_=this.ccd_HttpLatencyTest$numTestsCompleted_=0;this.hostnamesToQuery_=
[];for(a=0;3>a;a++)this.hostnamesToQuery_.push(q(8)+"-ccd-testing-v4.metric.gstatic.com")};A.prototype=new n;c=A.prototype;c.constructor=n;c.parent=n.prototype;c.runTest=function(a){this.callbackFnc=a;this.ccd_HttpLatencyTest_prototype$requestHostname_()};
c.analyzeResults=function(){var a=this.totalTimeToRespond_/this.hostnamesToQuery_.length,a=Math.round(100*a)/100;this.testResult.addLogRecord(chrome.i18n.getMessage("httplatencytest_log_response_time")+this.totalTimeToRespond_);this.testResult.addLogRecord(chrome.i18n.getMessage("httplatencytest_log_num_requests")+this.hostnamesToQuery_.length);this.testResult.addLogRecord(chrome.i18n.getMessage("httplatencytest_log_average_time")+a);400>a?(this.testResult.setTitle(chrome.i18n.getMessage("httplatencytest_noproblem_title")),
this.testResult.setSubtitle(chrome.i18n.getMessage("httplatencytest_noproblem_subtitle")),this.testResult.setTestVerdict(0)):500>a?(this.testResult.setTitle(chrome.i18n.getMessage("httplatencytest_potentialproblem_title")),this.testResult.setSubtitle(chrome.i18n.getMessage("httplatencytest_potentialproblem_subtitle")),this.testResult.setTestVerdict(1)):(this.testResult.setTitle(chrome.i18n.getMessage("httplatencytest_problem_title")),this.testResult.setSubtitle(chrome.i18n.getMessage("httplatencytest_problem_subtitle")),
this.testResult.setTestVerdict(2))};
c.ccd_HttpLatencyTest_prototype$responseReceived_=function(){var a=(new Date).getTime(),b=a-this.testStartMilsec_;this.totalTimeToRespond_+=b;this.testResult.addLogRecord(chrome.i18n.getMessage("httplatencytest_log_response_details")+this.ccd_HttpLatencyTest$numTestsCompleted_+" / "+a+" / "+b);this.ccd_HttpLatencyTest$numTestsCompleted_++;window.clearTimeout(this.timeoutId_);this.ccd_HttpLatencyTest$numTestsCompleted_<this.hostnamesToQuery_.length?this.timeoutId_=setTimeout(this.ccd_HttpLatencyTest_prototype$requestHostname_.bind(this),
2E3):(this.analyzeResults(),this.executeCallback())};c.ccd_HttpLatencyTest_prototype$requestError_=function(a){this.testResult.addLogRecord(chrome.i18n.getMessage("httplatencytest_log_network_error")+this.ccd_HttpLatencyTest$numTestsCompleted_+" / "+a);this.ccd_HttpLatencyTest$numTestsCompleted_++;window.clearTimeout(this.timeoutId_);this.testResult.setTestVerdict(3);this.executeCallback()};c.newTcpSocket_=function(a,b,d){return new m(a,b,d)};
c.ccd_HttpLatencyTest_prototype$requestHostname_=function(){var a=this.ccd_HttpLatencyTest$numTestsCompleted_,b=this.newTcpSocket_(this.hostnamesToQuery_[a],80,this.testResult);b.ccd_TcpSocket_prototype$setCompletedCallbackFnc(this.ccd_HttpLatencyTest_prototype$responseReceived_.bind(this));b.ccd_TcpSocket_prototype$setFailureCallbackFnc(this.ccd_HttpLatencyTest_prototype$requestError_.bind(this));b.ccd_TcpSocket_prototype$setPlainTextDataToSend("GET /generate_204 HTTP/1.1\nHost: "+this.hostnamesToQuery_[a]+
"\nConnection: close\nUser-Agent: "+(navigator.userAgent+" CCD:"+chrome.runtime.getManifest().version)+"\n\n");var d=null,e=function(){chrome.socket.disconnect(d);chrome.socket.destroy(d);this.testStartMilsec_=(new Date).getTime();b.ccd_TcpSocket_prototype$startConnection()};chrome.socket.create("tcp",{},function(b){d=b.socketId;chrome.socket.connect(d,this.hostnamesToQuery_[a],80,e.bind(this))}.bind(this))};var B=function(){this.testResult=new r(11);this.testResult.setTestName(chrome.i18n.getMessage("pinggatewaytest_name"));var a=chrome.i18n.getMessage("pinggatewaytest_no_problem_time")+1500+"\n",a=a+(chrome.i18n.getMessage("pinggatewaytest_problem_time")+1500+"\n");this.testResult.setTestCriteria(a);this.icmpPacketBlocked_=!0};B.prototype=new n;c=B.prototype;c.constructor=n;c.parent=n.prototype;
c.canRun=function(){var a;if(a=p()){a=navigator.userAgent;var b=a.indexOf(" Chrome/");-1==b?a=-1:(a=a.substr(b+8,5),a=parseInt(a.substr(0,a.indexOf(".")),10));a=31<=a}return a&&void 0!==chrome.diagnostics&&void 0!==chrome.diagnostics.sendPacket};
c.analyzeResults=function(a){var b=function(){this.testResult.setTitle(chrome.i18n.getMessage("pinggatewaytest_problem_title"));this.testResult.setSubtitle(chrome.i18n.getMessage("pinggatewaytest_problem_subtitle"));this.testResult.setTestVerdict(2)},d=function(){this.testResult.setTitle(chrome.i18n.getMessage("pinggatewaytest_noproblem_title"));this.testResult.setSubtitle(chrome.i18n.getMessage("pinggatewaytest_noproblem_subtitle"));this.testResult.setTestVerdict(0)};this.icmpPacketBlocked_?d.call(this):
void 0==a||void 0==a.latency?b.call(this):"8.8.8.8"==a.ip?d.call(this):0==a.latency||1500<a.latency?b.call(this):d.call(this)};c.runTest=function(a){this.callbackFnc=a;this.getGateway_()};
c.getGateway_=function(){chrome.diagnostics.sendPacket({ip:"8.8.8.8",ttl:1},function(a){a&&void 0!==a.ip&&void 0!=a.latency?"8.8.8.8"===a.ip?(this.icmpPacketBlocked_=!1,this.testResult.addLogRecord(chrome.i18n.getMessage("pinggatewaytest_log_same_ip_response")+"8.8.8.8"),this.analyzeResults(a),this.executeCallback()):(this.icmpPacketBlocked_=!1,this.testResult.addLogRecord(chrome.i18n.getMessage("pinggatewaytest_log_gateway_known")+a.ip),this.gatewayKnownCallback_.call(this,a.ip)):(this.icmpPacketBlocked_=
!0,this.testResult.addLogRecord(chrome.i18n.getMessage("pinggatewaytest_log_gateway_unknown")),this.analyzeResults(a),this.executeCallback())}.bind(this))};c.gatewayKnownCallback_=function(a){chrome.diagnostics.sendPacket({ip:a,ttl:1},this.pingCallback_.bind(this))};
c.pingCallback_=function(a){void 0===a||0===a.latency?this.testResult.addLogRecord(chrome.i18n.getMessage("pinggatewaytest_log_failure")):this.testResult.addLogRecord(chrome.i18n.getMessage("pinggatewaytest_log_latency")+a.latency);this.analyzeResults(a);this.executeCallback()};var C=function(){this.testResult=new r(8);this.testResult.setTestName(chrome.i18n.getMessage("resolverlatencytest_name"));var a=chrome.i18n.getMessage("resolverlatencytest_no_problem_time")+400+"\n",a=a+(chrome.i18n.getMessage("resolverlatencytest_potential_problem_time")+400+"-500\n"),a=a+(chrome.i18n.getMessage("resolverlatencytest_problem_time")+500+"\n");this.testResult.setTestCriteria(a);this.testStartMilsec_=this.totalTimeToResolve_=this.ccd_ResolverLatencyTest$numTestsCompleted_=0;this.hostnamesToQuery_=
[];for(a=0;3>a;a++)this.hostnamesToQuery_.push(q(8)+"-ccd-testing-v4.metric.gstatic.com")};C.prototype=new n;c=C.prototype;c.constructor=n;c.parent=n.prototype;c.canRun=function(){return ka()};c.runTest=function(a){this.callbackFnc=a;this.resolveHostname_()};
c.analyzeResults=function(){var a=this.totalTimeToResolve_/this.hostnamesToQuery_.length,a=Math.round(100*a)/100;this.testResult.addLogRecord(chrome.i18n.getMessage("resolverlatencytest_total_resolution_time")+this.totalTimeToResolve_);this.testResult.addLogRecord(chrome.i18n.getMessage("resolverlatencytest_total_hosts_resolved")+this.hostnamesToQuery_.length);this.testResult.addLogRecord(chrome.i18n.getMessage("resolverlatencytest_average_resolution_time")+a);400>a?(this.testResult.setTitle(chrome.i18n.getMessage("resolverlatencytest_noproblem_title")),
this.testResult.setSubtitle(chrome.i18n.getMessage("resolverlatencytest_noproblem_subtitle")),this.testResult.setTestVerdict(0)):500>a?(this.testResult.setTitle(chrome.i18n.getMessage("resolverlatencytest_potentialproblem_title")),this.testResult.setSubtitle(chrome.i18n.getMessage("resolverlatencytest_potential_problem_subtitle")),this.testResult.setTestVerdict(1)):(this.testResult.setTitle(chrome.i18n.getMessage("resolverlatencytest_problem_title")),this.testResult.setSubtitle(chrome.i18n.getMessage("resolverlatencytest_problem_subtitle")),
this.testResult.setTestVerdict(2))};
c.resolvedCallback_=function(){var a=(new Date).getTime(),b=a-this.testStartMilsec_;this.totalTimeToResolve_+=b;this.testResult.addLogRecord(chrome.i18n.getMessage("resolverlatencytest_queryresult_received")+this.ccd_ResolverLatencyTest$numTestsCompleted_+" / "+a+" / "+b+" / "+this.testStartMilsec_);this.ccd_ResolverLatencyTest$numTestsCompleted_++;window.clearTimeout(this.timeoutId_);this.ccd_ResolverLatencyTest$numTestsCompleted_<this.hostnamesToQuery_.length?this.timeoutId_=window.setTimeout(this.resolveHostname_.bind(this),
1E3):(this.analyzeResults(),this.executeCallback())};c.resolveHostname_=function(){var a=this.hostnamesToQuery_[this.ccd_ResolverLatencyTest$numTestsCompleted_];this.testStartMilsec_=(new Date).getTime();this.testResult.addLogRecord(chrome.i18n.getMessage("resolverlatencytest_beginning_resolution")+this.ccd_ResolverLatencyTest$numTestsCompleted_+" "+a);chrome.dns.resolve(a,this.resolvedCallback_.bind(this))};var D=function(){this.testResult=new r(3);this.testResult.setTestName(chrome.i18n.getMessage("resolverpresenttest_name"));var a=chrome.i18n.getMessage("resolverpresenttest_criteria_failure")+"\n",a=a+(chrome.i18n.getMessage("resolverpresenttest_criteria_success")+"\n");this.testResult.setTestCriteria(a)};D.prototype=new n;c=D.prototype;c.constructor=n;c.parent=n.prototype;c.canRun=function(){return ka()};
c.runTest=function(a){this.callbackFnc=a;this.testResult.addLogRecord(chrome.i18n.getMessage("resolverpresenttest_gettinghostname")+"ccd-testing-v4.gstatic.com");chrome.dns.resolve("ccd-testing-v4.gstatic.com",this.ccd_ResolverPresentTest_prototype$resolveCallback_.bind(this))};
c.analyzeResults=function(a){void 0!=a.resultCode&&0==a.resultCode?(this.testResult.setTitle(chrome.i18n.getMessage("resolverpresenttest_noproblem_title")),this.testResult.setSubtitle(chrome.i18n.getMessage("resolverpresenttest_noproblem_subtitle")),this.testResult.addLogRecord(chrome.i18n.getMessage("resolverpresenttest_hostnameresult")+a.address),this.testResult.addLogRecord(chrome.i18n.getMessage("resolverpresenttest_log_statuscodesuccess")+a.resultCode),this.testResult.setTestVerdict(0)):(this.testResult.setTitle(chrome.i18n.getMessage("resolverpresenttest_problem_title")),
this.testResult.setSubtitle(chrome.i18n.getMessage("resolverpresenttest_problem_subtitle")),this.testResult.addLogRecord(chrome.i18n.getMessage("resolverpresenttest_log_statuscodefailure")+a.resultCode),this.testResult.setTestVerdict(2))};
c.ccd_ResolverPresentTest_prototype$resolveCallback_=function(a){void 0==a?(this.testResult.addLogRecord(chrome.i18n.getMessage("resolverpresenttest_testfailed")),this.testResult.setTestVerdict(3)):(this.testResult.addLogRecord(chrome.i18n.getMessage("resolverpresenttest_testcompleted")),this.analyzeResults(a));this.executeCallback()};var E=function(a,b){this.testResult=new r(b);this.testResult.setTestName(chrome.i18n.getMessage("tcpfirewalltest_name"));var d=chrome.i18n.getMessage("tcpfirewalltest_no_problem_threshold")+Math.round(100*(1-.8))+"%\n",d=d+(chrome.i18n.getMessage("tcpfirewalltest_problem_threshold")+"100%\n"),d=d+(chrome.i18n.getMessage("tcpfirewalltest_potential_problem_threshold")+Math.round(100*(1-.8))+"% - 100%\n");this.testResult.setTestCriteria(d);this.ccd_TcpFirewallTest$testId_=b;this.ccd_TcpFirewallTest$numRetriesRemaining_=
3;this.ccd_TcpFirewallTest$connectionStatusCodes_=[];this.ccd_TcpFirewallTest$portToTest_=a;this.timeoutId_=this.ccd_TcpFirewallTest$numTestsCompleted_=0;this.ccd_TcpFirewallTest$hostnamesToTest_="www.google.com mail.google.com drive.google.com accounts.google.com plus.google.com groups.google.com".split(" ");for(d=0;3>d;d++)this.ccd_TcpFirewallTest$hostnamesToTest_.push(q(8)+"-ccd-testing-v4.metric.gstatic.com")};E.prototype=new n;E.prototype.constructor=n;E.prototype.parent=n.prototype;
var ma=[-7,-118];c=E.prototype;
c.analyzeResults=function(){for(var a=0,b=0;b<this.ccd_TcpFirewallTest$hostnamesToTest_.length;b++)0!==this.ccd_TcpFirewallTest$connectionStatusCodes_[b]&&(this.testResult.addLogRecord("#"+b+chrome.i18n.getMessage("tcpfirewalltest_log_count_failed_attempt")+this.ccd_TcpFirewallTest$connectionStatusCodes_[b]),a++);a<(1-.8)*this.ccd_TcpFirewallTest$hostnamesToTest_.length?(this.testResult.setTestVerdict(0),this.testResult.setTitle(chrome.i18n.getMessage("tcpfirewalltest_noproblem_title")+this.ccd_TcpFirewallTest$portToTest_),
this.testResult.setSubtitle(chrome.i18n.getMessage("tcpfirewalltest_noproblem_subtitle")+this.ccd_TcpFirewallTest$portToTest_)):a>=this.ccd_TcpFirewallTest$hostnamesToTest_.length?(this.testResult.setTestVerdict(2),this.testResult.setTitle(chrome.i18n.getMessage("tcpfirewalltest_problem_title")+this.ccd_TcpFirewallTest$portToTest_),this.testResult.setSubtitle(chrome.i18n.getMessage("tcpfirewalltest_problem_subtitle"))):(this.testResult.setTestVerdict(1),this.testResult.setTitle(chrome.i18n.getMessage("tcpfirewalltest_potentialproblem_title")+
this.ccd_TcpFirewallTest$portToTest_),this.testResult.setSubtitle(chrome.i18n.getMessage("tcpfirewalltest_potentialproblem_subtitle")));this.testResult.addLogRecord(chrome.i18n.getMessage("tcpfirewalltest_log_analysis_summary")+this.ccd_TcpFirewallTest$numTestsCompleted_+" / "+this.ccd_TcpFirewallTest$portToTest_+" / "+a)};c.runTest=function(a){this.callbackFnc=a;this.ccd_TcpFirewallTest_prototype$attemptConnection_()};c.setHostnamesToTest=function(a){this.ccd_TcpFirewallTest$hostnamesToTest_=a};
c.ccd_TcpFirewallTest_prototype$connectionStatusKnown_=function(a){window.clearTimeout(this.timeoutId_);-1<ma.indexOf(a)&&0<this.ccd_TcpFirewallTest$numRetriesRemaining_?(this.ccd_TcpFirewallTest$numTestsCompleted_--,this.ccd_TcpFirewallTest$numRetriesRemaining_--):(this.testResult.addLogRecord("# "+this.ccd_TcpFirewallTest$numTestsCompleted_+chrome.i18n.getMessage("tcpfirewalltest_log_connection_status_known")+ +a),this.ccd_TcpFirewallTest$connectionStatusCodes_[this.ccd_TcpFirewallTest$numTestsCompleted_]=
a);this.ccd_TcpFirewallTest$numTestsCompleted_++;this.ccd_TcpFirewallTest$numTestsCompleted_<this.ccd_TcpFirewallTest$hostnamesToTest_.length?this.timeoutId_=window.setTimeout(this.ccd_TcpFirewallTest_prototype$attemptConnection_.bind(this),500):(this.analyzeResults(),this.executeCallback())};c.getTcpSocket_=function(a,b,d){return new m(a,b,d)};
c.ccd_TcpFirewallTest_prototype$attemptConnection_=function(){var a=this.ccd_TcpFirewallTest$hostnamesToTest_[this.ccd_TcpFirewallTest$numTestsCompleted_];this.testResult.addLogRecord(chrome.i18n.getMessage("tcpfirewalltest_log_connection_about_begun")+this.ccd_TcpFirewallTest$numTestsCompleted_+" / "+a+" / "+this.ccd_TcpFirewallTest$portToTest_);a=this.getTcpSocket_(a,this.ccd_TcpFirewallTest$portToTest_,this.testResult);a.setConnectionStatusKnownCallbackFnc(this.ccd_TcpFirewallTest_prototype$connectionStatusKnown_.bind(this));
a.ccd_TcpSocket_prototype$setPlainTextDataToSend("GET / HTTP/1.1");a.ccd_TcpSocket_prototype$startConnection()};var F=function(){this.testResult=new r(0);this.testResult.setTestName(chrome.i18n.getMessage("chromeinternetdisconnectedtest_name"));var a=chrome.i18n.getMessage("chromeinternetdisconnectedtest_no_problem_threshold")+100+"\n",a=a+(chrome.i18n.getMessage("chromeinternetdisconnectedtest_problem_threshold")+100+"\n");this.testResult.setTestCriteria(a);this.ccd_ChromeInternetDisconnectedTest$numTestsCompleted_=0;this.ccd_ChromeInternetDisconnectedTest$connectionStatusCodes_=[];this.ccd_ChromeInternetDisconnectedTest$portToTest_=
80;this.timeoutId_=0;this.ccd_ChromeInternetDisconnectedTest$hostnamesToTest_=[];for(a=0;2>a;a++)this.ccd_ChromeInternetDisconnectedTest$hostnamesToTest_.push(q(10)+"-ccd-testing-v4.metric.gstatic.com")};F.prototype=new n;c=F.prototype;c.constructor=n;c.parent=n.prototype;
c.analyzeResults=function(){this.ccd_ChromeInternetDisconnectedTest_prototype$isDisconnected_()?(this.testResult.setTestVerdict(2),this.testResult.setTitle(chrome.i18n.getMessage("chromeinternetdisconnectedtest_problem_title")),this.testResult.setSubtitle(chrome.i18n.getMessage("chromeinternetdisconnectedtest_problem_subtitle"))):(this.testResult.setTestVerdict(0),this.testResult.setTitle(chrome.i18n.getMessage("chromeinternetdisconnectedtest_noproblem_title")),this.testResult.setSubtitle(chrome.i18n.getMessage("chromeinternetdisconnectedtest_noproblem_subtitle")))};
c.runTest=function(a){this.callbackFnc=a;this.ccd_ChromeInternetDisconnectedTest_prototype$attemptConnection_()};
c.ccd_ChromeInternetDisconnectedTest_prototype$connectionStatusKnown_=function(a){window.clearTimeout(this.timeoutId_);this.testResult.addLogRecord("# "+this.ccd_ChromeInternetDisconnectedTest$numTestsCompleted_+chrome.i18n.getMessage("chromeinternetdisconnectedtest_log_connection_status_known")+ +a);this.ccd_ChromeInternetDisconnectedTest$connectionStatusCodes_[this.ccd_ChromeInternetDisconnectedTest$numTestsCompleted_]=a;this.ccd_ChromeInternetDisconnectedTest$numTestsCompleted_++;this.ccd_ChromeInternetDisconnectedTest$numTestsCompleted_<
this.ccd_ChromeInternetDisconnectedTest$hostnamesToTest_.length?this.timeoutId_=window.setTimeout(this.ccd_ChromeInternetDisconnectedTest_prototype$attemptConnection_.bind(this),500):(this.analyzeResults(),this.executeCallback())};
c.ccd_ChromeInternetDisconnectedTest_prototype$attemptConnection_=function(){var a=this.ccd_ChromeInternetDisconnectedTest$hostnamesToTest_[this.ccd_ChromeInternetDisconnectedTest$numTestsCompleted_];this.testResult.addLogRecord(chrome.i18n.getMessage("chromeinternetdisconnectedtest_log_connection_beginning")+this.ccd_ChromeInternetDisconnectedTest$numTestsCompleted_+" / "+a+" / 80");a=new m(a,80,this.testResult);a.setConnectionStatusKnownCallbackFnc(this.ccd_ChromeInternetDisconnectedTest_prototype$connectionStatusKnown_.bind(this));
a.ccd_TcpSocket_prototype$setPlainTextDataToSend("GET / HTTP/1.1");a.ccd_TcpSocket_prototype$startConnection()};c.ccd_ChromeInternetDisconnectedTest_prototype$isDisconnected_=function(){for(var a=0,b=0;b<this.ccd_ChromeInternetDisconnectedTest$connectionStatusCodes_.length;b++)-106==this.ccd_ChromeInternetDisconnectedTest$connectionStatusCodes_[b]&&a++;return a>=1*this.ccd_ChromeInternetDisconnectedTest$connectionStatusCodes_.length};var G=function(){};G.prototype=new n;G.prototype.constructor=n;G.prototype.parent=n.prototype;G.prototype.runTest=function(a){(new E(80,6)).runTest(a)};var H=function(){};H.prototype=new n;H.prototype.constructor=n;H.prototype.parent=n.prototype;H.prototype.runTest=function(a){(new E(443,7)).runTest(a)};var I=function(){};I.prototype=new n;I.prototype.constructor=n;I.prototype.parent=n.prototype;I.prototype.canRun=function(){var a=null;p()?a=new u:a=new F;return a.canRun()};I.prototype.runTest=function(a){var b=null;p()?b=new u:b=new F;b.runTest(a)};var J=function(){this.testResult=new r(13);this.testResult.setTestName(chrome.i18n.getMessage("wifiencryptiontest_name"));var a=chrome.i18n.getMessage("wifiencryptiontest_noproblem_threshold")+na.toString()+"\n",a=a+(chrome.i18n.getMessage("wifiencryptiontest_potentialproblem_threshold")+"\n"),a=a+(chrome.i18n.getMessage("wifiencryptiontest_problem_threshold")+oa.toString()+"\n");this.testResult.setTestCriteria(a);this.wiFiConnected_=!1;this.wiFiSecurity_=""};J.prototype=new n;
J.prototype.constructor=n;J.prototype.parent=n.prototype;var oa=[],na=["WPA-PSK","WEP-PSK","WPA2","WPA-EAP"];
J.prototype.analyzeResults=function(){if(this.wiFiConnected_)switch(!0){case -1<oa.indexOf(this.wiFiSecurity_):this.testResult.setTestVerdict(2);this.testResult.setTitle(chrome.i18n.getMessage("wifiencryptiontest_problem_title"));this.testResult.setSubtitle(chrome.i18n.getMessage("wifiencryptiontest_problem_subtitle"));break;case -1<na.indexOf(this.wiFiSecurity_):this.testResult.setTestVerdict(0);this.testResult.setTitle(chrome.i18n.getMessage("wifiencryptiontest_noproblem_title"));this.testResult.setSubtitle(chrome.i18n.getMessage("wifiencryptiontest_noproblem_subtitle"));
break;default:this.testResult.setTestVerdict(1),this.testResult.setTitle(chrome.i18n.getMessage("wifiencryptiontest_potentialproblem_title")),this.testResult.setSubtitle(chrome.i18n.getMessage("wifiencryptiontest_potentialproblem_subtitle"))}else this.testResult.setTestVerdict(3),this.testResult.setTitle(chrome.i18n.getMessage("wifiencryptiontest_failure_title")),this.testResult.setSubtitle(chrome.i18n.getMessage("wifiencryptiontest_failure_subtitle"))};
J.prototype.runTest=function(a){this.callbackFnc=a;chrome.networkingPrivate.getVisibleNetworks("All",this.ccd_WiFiEncryptionTest_prototype$processNicInfo_.bind(this))};J.prototype.canRun=function(){return p()&&void 0!==chrome.networkingPrivate};
J.prototype.ccd_WiFiEncryptionTest_prototype$processNicInfo_=function(a){this.testResult.addLogRecord(chrome.i18n.getMessage("wifiencryptiontest_log_available_networks")+a.length);if(0!=a.length)for(var b=0;b<a.length;b++)"Connected"==a[b].ConnectionState&&void 0!=a[b].WiFi&&void 0!=a[b].WiFi.Security&&(this.wiFiConnected_=!0,this.wiFiSecurity_=a[b].WiFi.Security,this.testResult.addLogRecord(chrome.i18n.getMessage("wifiencryptiontest_log_network_encryption")+a[b].WiFi.Security));this.analyzeResults();
this.executeCallback()};var K=function(a,b){this.networkInfo=b;this.i18nService=a;this.isSsidShown="WiFi"==this.networkInfo.networkConnectionType;this.isSignalStrengthShown="WiFi"==this.networkInfo.networkConnectionType};g("ccd.controllers.NetworkSummaryCtrl",K,void 0);K.$inject=["i18nService","networkSummaryData"];
K.prototype.getGetNetworkIconClassname=function(){if(this.networkInfo.isNetworkConnected){if("Ethernet"==this.networkInfo.networkConnectionType)return"network-img-icon-ethernet";if(30<this.networkInfo.signalStrength)return"network-img-icon-low";if(45<this.networkInfo.signalStrength)return"network-img-icon-medium";if(60<this.networkInfo.signalStrength)return"network-img-icon-strong"}else return"network-img-icon-disconnected"};K.prototype.getGetNetworkIconClassname=K.prototype.getGetNetworkIconClassname;var pa=function(a){return{restrict:"A",link:function(b,d,e){b.$watch(e.cmSetFocus,function(b){!0===b&&a(function(){d[0].focus()},0)})}}};pa.$inject=["$timeout"];var qa={LAUNCH_SOURCE:"Hotrod",INIT_APP_HEIGHT:600,INIT_APP_WIDTH:676,FOOTER_OPTION_TO_SEND_CHROME_FEEDBACK:!1,FOOTER_SHOW_NETWORK_SETTINGS_LINK:!1,MENU_AVAILABLE:!1,MENU_MAXIMIZE:!1,MENU_OPTION_ABOUT_APP:!1,MENU_OPTION_TO_RERUN_TESTS:!1,MENU_OPTION_TO_SEND_CHROME_FEEDBACK:!1,OPTION_COPY_TEST_RESULTS:!1,OPTION_FORCE_RERUN_TESTS:!0,OPTION_LOG_SUPPORT_DETAILS:!0,OPTION_LOG_TEST_BENCHMARKS:!0,OPTION_RECORD_HISTOGRAM_DATA:!0};function L(a){return chrome&&chrome.i18n&&chrome.i18n.getMessage?chrome.i18n.getMessage(a):""}
var M={LOCAL_NETWORK:{id:0,name:L("local_network_test_group_summary_title"),testIds:[0,10,11,13],tests:[I,v,B,J]},DNS:{id:1,name:L("dns_test_group_summary_title"),testIds:[3,4,8],tests:[D,x,C]},CAPTIVE_PORTAL:{id:2,name:L("captive_portal_test_group_summary_title"),testIds:[5],tests:[t]},FIREWALL:{id:3,name:L("firewall_test_group_summary_title"),testIds:[6,7],tests:[G,H]},GOOGLE_SERVICE:{id:4,name:L("google_services_test_group_summary_title"),testIds:[12,9],tests:[y,A]}};var N=function(a,b,d,e){this.ccd_controllers_TestLogCtrl$mainAppManagerService_=e;this.testResult=a;this.testGroupName=M[b].name;this.i18nService=d;this.canUserCopyTestResults=qa.OPTION_COPY_TEST_RESULTS};g("ccd.controllers.TestLogCtrl",N,void 0);N.$inject=["testResult","testGroupName","i18nService","mainAppManagerService"];
N.prototype.getTestVerdictString=function(){switch(this.testResult.getTestVerdict()){case 0:return this.i18nService.getMsg("test_result_log_verdict_no_problem");case 2:return this.i18nService.getMsg("test_result_log_verdict_problem");case 1:return this.i18nService.getMsg("test_result_log_verdict_potential_problem");case 3:return this.i18nService.getMsg("test_result_log_verdict_failure_occurred");default:return this.ccd_controllers_TestLogCtrl$mainAppManagerService_.hasTestSuiteBeenCanceled()?this.i18nService.getMsg("tests_summary_group_status_canceled"):
this.i18nService.getMsg("tests_summary_group_status_queued")}};N.prototype.getTestVerdictString=N.prototype.getTestVerdictString;N.prototype.ccd_controllers_TestLogCtrl_prototype$getTestStatusClassname=function(){switch(this.testResult.getTestVerdict()){case 0:return"test-status-passed";case 1:return"test-status-warning";case 2:return"test-status-failed";default:return this.ccd_controllers_TestLogCtrl$mainAppManagerService_.hasTestSuiteBeenCanceled()?"test-status-canceled":"test-status-not-run"}};
N.prototype.getTestStatusClassname=N.prototype.ccd_controllers_TestLogCtrl_prototype$getTestStatusClassname;
N.prototype.getAllTestLogs=function(){for(var a=this.i18nService.getMsg("test_result_log_summary")+"\n",a=a+(this.i18nService.getMsg("test_result_log_test_name")+" "+this.testResult.getTestName()+"\n"),a=a+(this.i18nService.getMsg("test_result_log_test_id")+" "+this.testResult.getTestId()+"\n"),a=a+(this.i18nService.getMsg("test_result_log_test_verdict")+" "+this.getTestVerdictString()+"\n\n"),a=a+(this.i18nService.getMsg("test_result_log_criteria")+"\n"),a=a+(this.testResult.getTestCriteria()+"\n\n"),
a=a+(this.i18nService.getMsg("test_result_log_details")+"\n"),b=this.testResult.getLogs(),d=0;d<b.length;d++)a+=b[d]+"\n";return a};N.prototype.getAllTestLogs=N.prototype.getAllTestLogs;var O=[[{test:I,abortUponFailure:!0}],[{test:v,abortUponFailure:!1}],[{test:B,abortUponFailure:!1}],[{test:D,abortUponFailure:!0}],[{test:t,abortUponFailure:!0}],[{test:x,abortUponFailure:!1}],[{test:C,abortUponFailure:!1}],[{test:G,abortUponFailure:!1}],[{test:H,abortUponFailure:!1}],[{test:A,abortUponFailure:!1}],[{test:y,abortUponFailure:!1}],[{test:J,abortUponFailure:!1}]];var P={NETWORK_SUMMARY:{id:0,locationUrl:"/networkSummary"},TESTS_SUMMARY_ALL_GROUPS:{id:1,locationUrl:"/testsSummaryAllGroups"},TEST_SUMMARY_SUB_GROUP:{id:2,locationUrl:"/testSummarySubGroup"},TEST_LOG:{id:3,locationUrl:"/testLog"}};var Q=function(a,b,d,e,f,k,z){this.ccd_controllers_TestSummarySubGroupCtrl$location_=d;this.testGroupName_=a;this.ccd_controllers_TestSummarySubGroupCtrl$testsGroupDataService_=z;this.ccd_controllers_TestSummarySubGroupCtrl$testResultsService_=b;this.i18nService=e;this.displayTestGroupName=M[this.testGroupName_].name;this.testGroupResults=this.ccd_controllers_TestSummarySubGroupCtrl$testResultsService_.getAllTestResultsByGroup(this.testGroupName_,!0);var w=this;f.$on("onTestResultAdded",function(){w.testGroupResults=
b.getAllTestResultsByGroup(w.testGroupName_);k.$apply()})};g("ccd.controllers.TestSummarySubGroupCtrl",Q,void 0);Q.$inject="groupName testResultsService $location i18nService $rootScope $scope testGroupHelper".split(" ");
Q.prototype.areTestsRunning=function(){return 0!=this.ccd_controllers_TestSummarySubGroupCtrl$testsGroupDataService_.getNumTestsToRunByGroupName(this.testGroupName_)-this.ccd_controllers_TestSummarySubGroupCtrl$testResultsService_.getCountOfVerdictTypeByGroup(this.testGroupName_,4)-this.ccd_controllers_TestSummarySubGroupCtrl$testResultsService_.getCountOfVerdictTypeByGroup(this.testGroupName_,3)-this.ccd_controllers_TestSummarySubGroupCtrl$testResultsService_.getCountOfVerdictTypeByGroup(this.testGroupName_,
0)-this.ccd_controllers_TestSummarySubGroupCtrl$testResultsService_.getCountOfVerdictTypeByGroup(this.testGroupName_,2)-this.ccd_controllers_TestSummarySubGroupCtrl$testResultsService_.getCountOfVerdictTypeByGroup(this.testGroupName_,1)};Q.prototype.areTestsRunning=Q.prototype.areTestsRunning;
Q.prototype.navigateToTestLogs=function(a,b){a&&"keyup"==a.type&&13!==a.keyCode||this.ccd_controllers_TestSummarySubGroupCtrl$location_.url(P.TEST_LOG.locationUrl+"/"+this.testGroupName_+"/"+M[this.testGroupName_].id+"/"+b)};Q.prototype.navigateToTestLogs=Q.prototype.navigateToTestLogs;
Q.prototype.ccd_controllers_TestSummarySubGroupCtrl_prototype$getTestStatusClassname=function(a){switch(this.testGroupResults[a].getTestVerdict()){case 0:return"test-status-passed";case 1:return"test-status-warning";case 2:return"test-status-failed";default:return"test-status-not-run"}};Q.prototype.getTestStatusClassname=Q.prototype.ccd_controllers_TestSummarySubGroupCtrl_prototype$getTestStatusClassname;var R=function(){};g("ccd.service.i18nService",R,void 0);R.prototype.getMsg=function(a){return chrome.i18n.getMessage(a)};R.prototype.getMsg=R.prototype.getMsg;var ra=function(){this.ccd_service_Metrics$debugLogger_=ja()};g("ccd.service.Metrics",ra,void 0);c=ra.prototype;c.recordUserAction=function(a){a="ConnectivityDiagnostics.UA."+a;chrome.metricsPrivate&&(this.ccd_service_Metrics$debugLogger_.log("Histograms - recordUserAction: "+a),chrome.metricsPrivate.recordUserAction(a))};
c.recordMediumTime=function(a,b){var d=Math.round(b),e="ConnectivityDiagnostics."+a;chrome.metricsPrivate&&18E4>d&&(this.ccd_service_Metrics$debugLogger_.log("Histograms - recordMediumTime: "+e+" "+d),chrome.metricsPrivate.recordMediumTime(e,Math.round(d)))};
c.recordHistogramValue=function(a,b,d,e,f){a={metricName:"ConnectivityDiagnostics."+a,type:"histogram-linear",min:Math.round(d),max:Math.round(e),buckets:Math.round(f)};chrome.metricsPrivate&&(this.ccd_service_Metrics$debugLogger_.log("Histograms - recordValue: "+a+" "+b),chrome.metricsPrivate.recordValue(a,Math.round(b)))};
c.recordLaunchSource=function(a){a="ConnectivityDiagnostics.UA.LaunchSource."+a;chrome.metricsPrivate&&(this.ccd_service_Metrics$debugLogger_.log("Histograms - recordUserAction: "+a),chrome.metricsPrivate.recordUserAction(a))};c.recordTestVerdict=function(a,b){this.recordHistogramValue("TestVerdict."+a,b,0,Object.keys(ga).length-1,Object.keys(ga).length)};c.recordTestTimeTaken=function(a,b){this.recordMediumTime("TimeTaken."+a,b)};
c.recordAppVersion=function(a){a=a.replace(/\./g,"");a=parseInt(a,10);this.recordHistogramValue("AppVersion",a,0,1E3,1)};var S=function(a){this.netSummary_={isNetworkConnected:!1,networkConnectionType:"",connection:"",ssid:"",signalStrength:-1,macAddress:"",ipAddress:"",subnetMask:"",gateway:"",dns:""};this.connectedNetworkInfo_=this.managedProperties_=null;this.q_=a};g("ccd.service.NetworkSummaryService",S,void 0);S.$inject=["$q"];var sa=function(){return p()&&void 0!=chrome.networkingPrivate};
S.prototype.getNetworkSummaryData=function(){var a=this.q_.defer();this.populateConnectedNetworkInfo_().then(this.populateManagedProperties_.bind(this)).then(this.populateSsid_.bind(this)).then(this.populateSignalStrength_.bind(this)).then(this.populateConnection_.bind(this)).then(this.populateIpAddress_.bind(this)).then(this.populateMacAddress_.bind(this)).then(this.populateSubnetMask_.bind(this)).then(this.populateGateway_.bind(this)).then(this.populateDns_.bind(this)).then(function(){a.resolve(this.netSummary_)}.bind(this),function(){a.reject()}.bind(this));
a.resolve(this.netSummary_);return a.promise};S.prototype.getNetworkSummaryData=S.prototype.getNetworkSummaryData;c=S.prototype;c.populateConnectedNetworkInfo_=function(){var a=this.q_.defer();chrome.networkingPrivate.getVisibleNetworks("All",function(b){for(var d=0;d<b.length;d++)if("Connected"==b[d].ConnectionState){this.netSummary_.isNetworkConnected=!0;this.connectedNetworkInfo_=b[d];this.netSummary_.networkConnectionType=b[d].Type;a.resolve();return}a.reject()}.bind(this));return a.promise};
c.populateManagedProperties_=function(){var a=this.q_.defer();chrome.networkingPrivate.getManagedProperties(this.connectedNetworkInfo_.GUID,function(b){this.managedProperties_=b;a.resolve()}.bind(this));return a.promise};c.populateSsid_=function(){var a=this.q_.defer();this.netSummary_.ssid=this.connectedNetworkInfo_.Name||"";a.resolve();return a.promise};
c.populateSignalStrength_=function(){var a=this.q_.defer();this.connectedNetworkInfo_.WiFi&&(this.netSummary_.signalStrength=this.connectedNetworkInfo_.WiFi.SignalStrength||0);a.resolve();return a.promise};
c.populateConnection_=function(){if("Ethernet"==this.netSummary_.networkConnectionType)this.netSummary_.connection=chrome.i18n.getMessage("network_settings_ethernet_connection");else if("WiFi"==this.netSummary_.networkConnectionType){var a=-1<na.indexOf(this.connectedNetworkInfo_.WiFi.Security),b=this.connectedNetworkInfo_.Type,b="WiFi"==b?chrome.i18n.getMessage("network_settings_wireless_connection"):chrome.i18n.getMessage("network_settings_ethernet_connection"),d="",d=a?chrome.i18n.getMessage("network_settings_network_secure"):
chrome.i18n.getMessage("network_settings_network_insecure");this.netSummary_.connection=b+" "+chrome.i18n.getMessage("network_settings_connection")+" "+d}};c.populateIpAddress_=function(){var a=this.q_.defer();this.managedProperties_&&this.managedProperties_.IPConfigs&&this.managedProperties_.IPConfigs&&this.managedProperties_.IPConfigs[0]&&(this.netSummary_.ipAddress=this.managedProperties_.IPConfigs[0].IPAddress);a.resolve();return a.promise};
c.populateMacAddress_=function(){var a=this.q_.defer();this.managedProperties_.MacAddress&&(this.netSummary_.macAddress=this.managedProperties_.MacAddress);a.resolve();return a.promise};
c.populateSubnetMask_=function(){var a=this.q_.defer();this.managedProperties_&&this.managedProperties_.IPConfigs&&this.managedProperties_.IPConfigs&&this.managedProperties_.IPConfigs[0]&&(this.netSummary_.subnetMask=this.getIpv4NetmaskFromPrefixLength_(this.managedProperties_.IPConfigs[0].RoutingPrefix));a.resolve();return a.promise};
c.getIpv4NetmaskFromPrefixLength_=function(a){if(0>a||32<a)return"";for(var b="",d=0;4>d;++d){var e=8;8<=a?a-=8:(e=a,a=0);0<d&&(b+=".");var f=0;0!=e&&(f=(2<<e-1)-1<<8-e);b+=f.toString()}return b};c.populateGateway_=function(){var a=this.q_.defer();this.managedProperties_&&this.managedProperties_.IPConfigs&&this.managedProperties_.IPConfigs&&this.managedProperties_.IPConfigs[0]&&(this.netSummary_.gateway=this.managedProperties_.IPConfigs[0].Gateway);a.resolve();return a.promise};
c.populateDns_=function(){var a=this.q_.defer();this.managedProperties_&&this.managedProperties_.IPConfigs&&this.managedProperties_.IPConfigs&&this.managedProperties_.IPConfigs[0]?this.netSummary_.dns=this.managedProperties_.IPConfigs[0].NameServers:this.netSummary_.dns=chrome.i18n.getMessage("network_settings_dns_not_detected");a.resolve();return a.promise};var ta=function(){this.getLandingPageConfig=function(){return p()&&sa()?{redirectTo:P.NETWORK_SUMMARY.locationUrl}:{redirectTo:P.TESTS_SUMMARY_ALL_GROUPS.locationUrl}};this.$get=ta};g("ccd.service.HomepageSelector",ta,void 0);var T=function(a,b,d,e,f,k,z,w){this.ccd_controllers_FooterCtrl$feedbackService_=a;this.ccd_controllers_FooterCtrl$location_=e;this.route_=f;this.ccd_controllers_FooterCtrl$mainAppManagerService_=z;this.i18n=k;this.showSendFeedback=!1;this.showBackBtnOnAllTestGroupPage=p()&&sa();this.isNetworkSettingsAvailable=this.isNetworkSettingsAvailable_(p());this.currentViewId=d.getCurrentViewId();var Ca=this;b.$on("$routeChangeSuccess",function(){Ca.currentViewId=d.getCurrentViewId()});b.$on("testSuiteCompleteStatusChange",
function(){w.$apply()})};g("ccd.controllers.FooterCtrl",T,void 0);T.$inject="feedbackService $rootScope viewHelper $location $route i18nService mainAppManagerService $scope".split(" ");T.prototype.isRerunButtonActive=function(){return this.ccd_controllers_FooterCtrl$mainAppManagerService_.getIsTestsRunning()};T.prototype.isRerunButtonActive=T.prototype.isRerunButtonActive;T.prototype.sendFeedbackBtnTriggered=function(a){a&&"keyup"==a.type&&13!==a.keyCode||this.ccd_controllers_FooterCtrl$feedbackService_.sendFeedback()};
T.prototype.sendFeedbackBtnTriggered=T.prototype.sendFeedbackBtnTriggered;T.prototype.runDiagnosticsBtnTriggered=function(a){a&&"keyup"==a.type&&13!==a.keyCode||this.ccd_controllers_FooterCtrl$mainAppManagerService_.getIsTestsRunning()||(this.ccd_controllers_FooterCtrl$location_.url(P.TESTS_SUMMARY_ALL_GROUPS.locationUrl),this.ccd_controllers_FooterCtrl$mainAppManagerService_.runTestSuite())};T.prototype.runDiagnosticsBtnTriggered=T.prototype.runDiagnosticsBtnTriggered;
T.prototype.goBackBtnTriggered=function(a){if(!a||"keyup"!=a.type||13===a.keyCode)switch(this.currentViewId){case P.TESTS_SUMMARY_ALL_GROUPS.id:this.ccd_controllers_FooterCtrl$location_.url(P.NETWORK_SUMMARY.locationUrl);break;case P.TEST_SUMMARY_SUB_GROUP.id:this.ccd_controllers_FooterCtrl$location_.url(P.TESTS_SUMMARY_ALL_GROUPS.locationUrl);break;case P.TEST_LOG.id:this.ccd_controllers_FooterCtrl$location_.url(P.TEST_SUMMARY_SUB_GROUP.locationUrl+"/"+this.route_.current.params.groupName)}};
T.prototype.goBackBtnTriggered=T.prototype.goBackBtnTriggered;T.prototype.scrollDownBtnTriggered=function(a){a&&"keyup"==a.type&&13!==a.keyCode||window.scrollBy(0,100)};T.prototype.scrollDownBtnTriggered=T.prototype.scrollDownBtnTriggered;T.prototype.scrollUpBtnTriggered=function(a){a&&"keyup"==a.type&&13!==a.keyCode||window.scrollBy(0,-100)};T.prototype.scrollUpBtnTriggered=T.prototype.scrollUpBtnTriggered;T.prototype.isNetworkSettingsAvailable_=function(a){return a&&!1};var ua=function(){this.totalNumTestsToRun_=0;this.initializeTestGroupsInfo_()};g("ccd.service.TestGroupHelper",ua,void 0);c=ua.prototype;c.getTestGroupNameByTestId=function(a){var b=this.getAllTestGroups(),d;for(d in b)for(var e=b[d],f=0;f<e.testIds.length;f++)if(e.testIds[f]==a)return d};c.getAllTestGroups=function(){return M};c.getNumTestsToRunByGroupName=function(a){return this.getAllTestGroups()[a].numTestsToRun};c.getNumTestsRunning=function(a){return this.getAllTestGroups()[a].numTestsPresentlyRunning};
c.clearNumTestsRunning=function(){var a=this.getAllTestGroups(),b;for(b in a)a[b].numTestsPresentlyRunning=0};c.recordTestBegun=function(a){M[this.getTestGroupNameByTestConstructor_(a)].numTestsPresentlyRunning++};c.recordTestFinished=function(a){M[this.getTestGroupNameByTestId_(a)].numTestsPresentlyRunning--};c.getTotalNumTestsToRun=function(){return this.totalNumTestsToRun_};c.getTestGroupNameByTestId_=function(a){var b=this.getAllTestGroups(),d;for(d in b)if(-1<b[d].testIds.indexOf(a))return d};
c.getTestGroupNameByTestConstructor_=function(a){var b=this.getAllTestGroups(),d;for(d in b)for(var e=b[d],f=0;f<e.tests.length;f++)if(e.tests[f]==a)return d};c.initializeTestGroupsInfo_=function(){var a=this.getAllTestGroups(),b=0,d;for(d in a){for(var e=a[d],f=0,k=0;k<e.tests.length;k++)(new e.tests[k]).canRun()&&(f++,b++);M[d].numTestsToRun=f;M[d].numTestsPresentlyRunning=0}this.totalNumTestsToRun_=b};var va=function(a){this.testResultsById_=[];this.testResultsCountByGroup_=[];this.testResultsVerdictCountByGroup_=[];this.testResultsByGroup_=[];this.ccd_service_TestResultsService$rootScope_=a};g("ccd.service.TestResultsService",va,void 0);va.$inject=["$rootScope"];c=va.prototype;c.getTestResult=function(a){return this.testResultsById_[a]};
c.setTestResult=function(a,b){this.testResultsById_[a.getTestId()]=a;void 0==this.testResultsCountByGroup_[b]&&(this.testResultsCountByGroup_[b]=0);this.testResultsCountByGroup_[b]++;if(void 0==this.testResultsVerdictCountByGroup_[b]){var d={};angular.forEach(ga,function(a){d[a]=0});this.testResultsVerdictCountByGroup_[b]=d}this.testResultsVerdictCountByGroup_[b][a.getTestVerdict()]++;void 0==this.testResultsByGroup_[b]&&(this.testResultsByGroup_[b]=[]);this.testResultsByGroup_[b].push(a);this.ccd_service_TestResultsService$rootScope_.$emit("onTestResultAdded")};
c.getResultCountByGroup=function(a){return void 0!=this.testResultsCountByGroup_[a]?this.testResultsCountByGroup_[a]:0};c.getCountOfVerdictTypeByGroup=function(a,b){return void 0!=this.testResultsVerdictCountByGroup_[a]&&void 0!=this.testResultsVerdictCountByGroup_[a][b]?this.testResultsVerdictCountByGroup_[a][b]:0};
c.getAllTestResultsByGroup=function(a,b){var d=this.testResultsByGroup_[a];if(void 0!=d&&void 0!=b&&1==b)for(var e=0;e<d.length;e++)3==d[e].getTestVerdict()&&d.splice(e,1);return void 0==d?[]:d};c.clearResults=function(){this.testResultsById_=[];this.testResultsCountByGroup_=[];this.testResultsVerdictCountByGroup_=[];this.testResultsByGroup_=[]};var U=function(){this.testResultsFeedback_={}};g("ccd.service.FeedbackService",U,void 0);U.prototype.sendFeedback=function(){var a=this.getFeedbackInfoObject_();chrome.runtime.sendMessage("gfdkimpbcpahaombhbimeihdjnejgicl",a,function(){})};U.prototype.saveTestResult=function(a,b,d){void 0===this.testResultsFeedback_[a]&&(this.testResultsFeedback_[a]=new wa(a,b,d))};
U.prototype.getFeedbackInfoObject_=function(){var a={requestFeedback:!0,feedbackInfo:{}};a.feedbackInfo.description="";var b={key:"CCD_APP_VERSION_NUMBER",value:chrome.runtime.getManifest().version},d="",e;for(e in this.testResultsFeedback_){e=parseInt(e,10);var f=this.testResultsFeedback_[e],d=d+("Test ID: "+f.ccd_service_FeedbackService_TestResultFeedback_$testId_+", Test Verdict: "+f.ccd_service_FeedbackService_TestResultFeedback_$testVerdict_+", Time Elapsed: "+f.testTimeTaken_+"\n")}a.feedbackInfo.systemInformation=
[b,{key:"DIAGNOSTICS",value:"Connectivity"},{key:"CCD_APP_TEST_RESULTS",value:d}];var b="",k;for(k in qa)void 0!=qa[k].toString&&(b+="Name: "+k+", Value: "+qa[k].toString()+"\n");a.feedbackInfo.systemInformation.push({key:"CCD_APP_FLAGS",value:b});return a};var wa=function(a,b,d){this.ccd_service_FeedbackService_TestResultFeedback_$testId_=a;this.ccd_service_FeedbackService_TestResultFeedback_$testVerdict_=b;this.testTimeTaken_=d};var xa=function(a,b,d,e,f){this.ccd_service_MainAppManagerService$rootScope_=f;this.testsGroupHelper_=a;this.ccd_service_MainAppManagerService$testResultsService_=b;this.ccd_service_MainAppManagerService$feedbackService_=d;this.metricsService_=e;this.ccd_service_MainAppManagerService$debugLogger_=ja();this.timeLastTestBegan_=this.numTestsVisited_=0;this.isTestsRunning_=this.testSuiteCanceled_=!1};g("ccd.service.MainAppManagerService",xa,void 0);
xa.$inject=["testGroupHelper","testResultsService","feedbackService","metrics","$rootScope"];c=xa.prototype;c.getIsTestsRunning=function(){return this.isTestsRunning_};c.bootstrap=function(){p()&&sa()||this.runTestSuite()};
c.runTestSuite=function(){this.isTestsRunning_=!0;this.testSuiteCanceled_=!1;this.ccd_service_MainAppManagerService$rootScope_.$emit("testSuiteCompleteStatusChange");this.ccd_service_MainAppManagerService$debugLogger_.log("Begin running test suite.");this.numTestsVisited_=0;this.ccd_service_MainAppManagerService$testResultsService_.clearResults();this.testsGroupHelper_.clearNumTestsRunning();this.runRemainingTests_()};c.hasTestSuiteBeenCanceled=function(){return this.testSuiteCanceled_};
c.testCallback_=function(a){if(!(this.getNumTestFromTestId_(a.getTestId())>this.numTestsVisited_)){this.testsGroupHelper_.recordTestFinished(a.getTestId());this.ccd_service_MainAppManagerService$testResultsService_.setTestResult(a,this.testsGroupHelper_.getTestGroupNameByTestId(a.getTestId()));var b=(new Date).getTime()-this.timeLastTestBegan_;this.metricsService_.recordTestTimeTaken(a.getTestId(),b);this.metricsService_.recordTestVerdict(a.getTestId(),a.getTestVerdict());this.ccd_service_MainAppManagerService$feedbackService_.saveTestResult(a.getTestId(),
a.getTestVerdict(),b);O[this.numTestsVisited_][0].abortUponFailure&&2==a.getTestVerdict()?(this.ccd_service_MainAppManagerService$debugLogger_.log("Exiting test suite as mandatory test failed... "+this.numTestsVisited_+" test failed."),this.numTestsVisited_++,this.ccd_service_MainAppManagerService$debugLogger_.log("Only visited a total of "+this.numTestsVisited_+" tests"),this.testSuiteCanceled_=!0):(this.numTestsVisited_++,this.runRemainingTests_());if(this.numTestsVisited_>=O.length||1==this.testSuiteCanceled_)this.ccd_service_MainAppManagerService$debugLogger_.log("Test suite complete."),
this.isTestsRunning_=!1,this.setPercentComplete_(100),this.ccd_service_MainAppManagerService$rootScope_.$emit("testSuiteCompleteStatusChange")}};c.setPercentComplete_=function(a){this.ccd_service_MainAppManagerService$rootScope_.$emit("updateTestsProgressPercent",[a])};
c.runRemainingTests_=function(){var a=this.getNextTestConfigurationData_(),b=this.numTestsVisited_/O.length*100;this.ccd_service_MainAppManagerService$debugLogger_.log(b+"% finished test suite");this.setPercentComplete_(b);null!=a&&(this.ccd_service_MainAppManagerService$debugLogger_.log("Preparing to launch the "+this.numTestsVisited_+" test"),b=this.testCallback_.bind(this),this.timeLastTestBegan_=(new Date).getTime(),this.testsGroupHelper_.recordTestBegun(a.testConstructor),this.ccd_service_MainAppManagerService$rootScope_.$emit("onTestBegun"),
a.test.runTest(b))};c.getNextTestConfigurationData_=function(){for(var a=this.numTestsVisited_;a<O.length;a++){var b=O[a][0].test,d=new b;if(d.canRun())return{test:d,testConstructor:b};this.ccd_service_MainAppManagerService$debugLogger_.log("Not running the "+this.numTestsVisited_+" test and moving to next test");this.numTestsVisited_++}return null};
c.getNumTestFromTestId_=function(a){var b=this.testsGroupHelper_.getAllTestGroups(),d;for(d in b)for(var e=b[d],f=0;f<e.testIds.length;f++)if(e.testIds[f]===a){var k=e.tests[f];break}for(f=a=0;f<O.length;f++)if(O[f][0].test===k){a=f;break}return a};var ya=function(a){this.ccd_service_ViewHelper$location_=a};g("ccd.service.ViewHelper",ya,void 0);ya.$inject=["$location"];ya.prototype.getCurrentViewId=function(){var a=null,b;for(b in P){var d=P[b],e=this.ccd_service_ViewHelper$location_.path().substr(1);if("/"+e.substr(0,-1==e.indexOf("/")?e.length:e.indexOf("/"))==d.locationUrl){a=d.id;break}}return a};var V=function(a,b,d,e,f){this.i18n=b;this.ccd_controllers_BannerController$feedbackService_=a;this.ccd_controllers_BannerController$mainAppManagerService_=d;this.shouldShowMaximize=this.shouldShowMenuSettings=this.isMenuSettingsExpanded=this.isAboutAppVisible=!1;this.aboutAppVersionNumber=chrome.runtime.getManifest().version;this.testSuiteProgressPercent=0;var k=this;e.$on("updateTestsProgressPercent",function(a,b){isNaN(b[0])||(k.testSuiteProgressPercent=b[0],f.$apply())})};
g("ccd.controllers.BannerController",V,void 0);V.$inject=["feedbackService","i18nService","mainAppManagerService","$rootScope","$scope"];V.prototype.closeBtnClicked=function(){window.close()};V.prototype.closeBtnClicked=V.prototype.closeBtnClicked;V.prototype.maxamizeBtnClick=function(){var a=chrome.app.window.current();p()?a.isMaximized()?a.restore():a.maximize():676==a.getBounds().width?a.maximize():(a.resizeTo(676,600),this.centerAppWindowOnScreen_())};V.prototype.maxamizeBtnClick=V.prototype.maxamizeBtnClick;
V.prototype.sendFeedbackBtnClicked=function(a){a&&"keyup"==a.type&&13!==a.keyCode||(this.closeSettingsMenu_(),this.ccd_controllers_BannerController$feedbackService_.sendFeedback.apply(this.ccd_controllers_BannerController$feedbackService_))};V.prototype.sendFeedbackBtnClicked=V.prototype.sendFeedbackBtnClicked;V.prototype.rerunTestsBtnClicked=function(a){a&&"keyup"==a.type&&13!==a.keyCode||(this.closeSettingsMenu_(),this.ccd_controllers_BannerController$mainAppManagerService_.runTestSuite())};
V.prototype.rerunTestsBtnClicked=V.prototype.rerunTestsBtnClicked;V.prototype.settingsBtnClicked=function(){this.isAboutAppVisible=!1;this.isMenuSettingsExpanded?this.closeSettingsMenu_():this.isMenuSettingsExpanded=!0};V.prototype.settingsBtnClicked=V.prototype.settingsBtnClicked;V.prototype.closeSettingsMenu_=function(){this.isMenuSettingsExpanded=!1};V.prototype.aboutAppBtnClicked=function(a){a&&"keyup"==a.type&&13!==a.keyCode||(this.closeSettingsMenu_(),this.isAboutAppVisible=!0)};
V.prototype.aboutAppBtnClicked=V.prototype.aboutAppBtnClicked;V.prototype.aboutAppBtnClose=function(a){a&&"keyup"==a.type&&13!==a.keyCode||(this.isAboutAppVisible=!1)};V.prototype.aboutAppBtnClose=V.prototype.aboutAppBtnClose;V.prototype.centerAppWindowOnScreen_=function(){var a=(screen.width-676)/2,b=(screen.height-600)/2;chrome.app.window.current().moveTo(a,b)};var W=function(a,b,d,e,f,k,z){this.ccd_controllers_TestsSummaryCtrl$testsGroupDataService_=b;this.ccd_controllers_TestsSummaryCtrl$testResultsService_=d;this.ccd_controllers_TestsSummaryCtrl$mainAppManagerService_=z;this.ccd_controllers_TestsSummaryCtrl$location_=a;this.scope_=f;this.testGroups=this.ccd_controllers_TestsSummaryCtrl$testsGroupDataService_.getAllTestGroups();this.i18nService=k;e.$on("onTestResultAdded",this.updateUi_.bind(this));e.$on("onTestBegun",this.updateUi_.bind(this))};
g("ccd.controllers.TestsSummaryCtrl",W,void 0);W.$inject="$location testGroupHelper testResultsService $rootScope $scope i18nService mainAppManagerService".split(" ");
W.prototype.getTestGroupStatusClassname=function(a){var b=this.ccd_controllers_TestsSummaryCtrl$testsGroupDataService_.getNumTestsToRunByGroupName(a),d=this.ccd_controllers_TestsSummaryCtrl$testsGroupDataService_.getNumTestsRunning(a),e=this.ccd_controllers_TestsSummaryCtrl$testResultsService_.getCountOfVerdictTypeByGroup(a,0),f=this.ccd_controllers_TestsSummaryCtrl$testResultsService_.getCountOfVerdictTypeByGroup(a,2),k=this.ccd_controllers_TestsSummaryCtrl$testResultsService_.getCountOfVerdictTypeByGroup(a,
1),b=b-(this.ccd_controllers_TestsSummaryCtrl$testResultsService_.getCountOfVerdictTypeByGroup(a,4)+this.ccd_controllers_TestsSummaryCtrl$testResultsService_.getCountOfVerdictTypeByGroup(a,3));return 0<d?"test-status-not-run":e==b?"test-status-passed":0<f?"test-status-failed":0<k?"test-status-warning":this.ccd_controllers_TestsSummaryCtrl$mainAppManagerService_.hasTestSuiteBeenCanceled()?"test-status-canceled":"test-status-not-run"};W.prototype.getTestGroupStatusClassname=W.prototype.getTestGroupStatusClassname;
W.prototype.getTestGroupStatusText=function(a){var b=this.ccd_controllers_TestsSummaryCtrl$testsGroupDataService_.getNumTestsToRunByGroupName(a),d=this.ccd_controllers_TestsSummaryCtrl$testsGroupDataService_.getNumTestsRunning(a),e=this.ccd_controllers_TestsSummaryCtrl$testResultsService_.getCountOfVerdictTypeByGroup(a,0),f=this.ccd_controllers_TestsSummaryCtrl$testResultsService_.getCountOfVerdictTypeByGroup(a,2),k=this.ccd_controllers_TestsSummaryCtrl$testResultsService_.getCountOfVerdictTypeByGroup(a,
1),b=b-(this.ccd_controllers_TestsSummaryCtrl$testResultsService_.getCountOfVerdictTypeByGroup(a,4)+this.ccd_controllers_TestsSummaryCtrl$testResultsService_.getCountOfVerdictTypeByGroup(a,3));return 0<d?this.i18nService.getMsg("tests_summary_group_status_running"):e==b?this.i18nService.getMsg("tests_summary_group_status_passed"):0<f?this.i18nService.getMsg("tests_summary_group_status_failed"):0<k?this.i18nService.getMsg("tests_summary_group_status_warning"):this.ccd_controllers_TestsSummaryCtrl$mainAppManagerService_.hasTestSuiteBeenCanceled()?
this.i18nService.getMsg("tests_summary_group_status_canceled"):this.i18nService.getMsg("tests_summary_group_status_queued")};W.prototype.getTestGroupStatusText=W.prototype.getTestGroupStatusText;W.prototype.loadSubGroup=function(a,b){a&&"keyup"==a.type&&13!==a.keyCode||this.ccd_controllers_TestsSummaryCtrl$location_.url(P.TEST_SUMMARY_SUB_GROUP.locationUrl+"/"+b)};W.prototype.loadSubGroup=W.prototype.loadSubGroup;
W.prototype.updateUi_=function(){this.testGroups=this.ccd_controllers_TestsSummaryCtrl$testsGroupDataService_.getAllTestGroups();this.scope_.$apply()};var X=function(a){return{restrict:"A",link:function(b,d,e){b=document.createElement("div");b.className="test-logs-wrapper";X.textArea_=document.createElement("textarea");X.textArea_.readOnly=!0;X.textArea_.value=e.cmCopyTestLogs;b.appendChild(X.textArea_);e=document.createElement("div");e.className="show-logs-link show-logs-link-a test-results-logs-textarea";e.tabindex="100";e.innerHTML=a.getMsg("test_result_copy_logs");e.addEventListener("click",X.copyLogsClicked_,!1);e.addEventListener("keyup",
X.copyLogsClicked_,!1);d[0].appendChild(b);d[0].appendChild(e)}}};X.$inject=["i18nService"];X.textArea_=null;X.copyLogsClicked_=function(a){a&&"keyup"==a.type&&13!==a.keyCode||(X.textArea_.select(),document.execCommand("Copy"))};var Y=function(){this.rootElement_=null};Y.prototype.attachListeners=function(a){this.rootElement_=a;this.rootElement_.addEventListener("mousedown",this.onMouseDown_.bind(this),!1);this.rootElement_.addEventListener("keydown",this.onKeyDown_.bind(this),!1)};Y.prototype.onKeyDown_=function(a){9==a.keyCode&&this.setShowFocusOutlines_(!0);27==a.keyCode&&document.activeElement&&document.activeElement.blur()};Y.prototype.onMouseDown_=function(){this.setShowFocusOutlines_(!1)};
Y.prototype.setShowFocusOutlines_=function(a){this.rootElement_.className=a?"":"no-focus-outline"};var za=function(){return{restrict:"A",controller:Y,controllerAs:"fhController",link:za.Link_}};za.Link_=function(a,b){a.fhController.attachListeners(b[0])};var Z=angular.module("ccdApp.services",[]);Z.service("feedbackService",U);Z.provider("homepageSelector",ta);Z.service("i18nService",R);Z.service("mainAppManagerService",xa);Z.service("metrics",ra);Z.service("networkSummary",S);Z.service("testGroupHelper",ua);Z.service("testResultsService",va);Z.service("viewHelper",ya);var Aa=angular.module("ccdApp.directives",[]);Aa.directive("cmCopyTestLogs",X);Aa.directive("cmFocusHelper",za);Aa.directive("cmSetFocus",pa);
var Ba=angular.module("ccdApp.controllers",["ngRoute"]);Ba.controller("ccd.controllers.BannerController",V);Ba.controller("ccd.controllers.FooterCtrl",T);
Ba.config(["$routeProvider","homepageSelectorProvider",function(a,b){a.when(P.NETWORK_SUMMARY.locationUrl,{templateUrl:"partials/network-summary.ng",controller:K,controllerAs:"networkSummaryCtrl",resolve:{networkSummaryData:["networkSummary",function(a){return a.getNetworkSummaryData()}]}});a.when(P.TESTS_SUMMARY_ALL_GROUPS.locationUrl,{templateUrl:"partials/tests-summary-all-groups.ng",controller:W,controllerAs:"testsSummaryCtrl"});a.when(P.TEST_SUMMARY_SUB_GROUP.locationUrl+"/:testGroupName",{templateUrl:"partials/test-summary-sub-group.ng",
controller:Q,controllerAs:"testSummarySubGroupCtrl",resolve:{groupName:["$route",function(a){return a.current.params.testGroupName}]}});a.when(P.TEST_LOG.locationUrl+"/:groupName/:testGroupId/:testId",{templateUrl:"partials/test-log.ng",controller:N,controllerAs:"testLogCtrl",resolve:{testResult:["$route","testResultsService",function(a,b){return b.getTestResult(a.current.params.testId,a.current.params.testGroupId)}],testGroupName:["$route",function(a){return a.current.params.groupName}]}});a.otherwise(b.getLandingPageConfig())}]);
var Da=angular.module("ccdApp",["ngAnimate","ccdApp.services","ccdApp.directives","ccdApp.controllers"]),Ea=document.getElementById("angular-bootstrap");angular.element(Ea).ready(function(){Ea&&(Da.run(["mainAppManagerService","metrics",function(a,b){a.bootstrap();b.recordUserAction("TestSuiteRun");b.recordAppVersion(chrome.runtime.getManifest().version)}]),angular.bootstrap(Ea,["ccdApp"]))});