(function(n){"use strict";function l(n,t){return t=t||Error,function(){var f=2,i=arguments,o=i[0],u="["+(n?n+":":"")+o+"] ",s=i[1],e,r;for(u+=s.replace(/\{\d+\}/g,function(n){var r=+n.slice(1,-1),t=r+f;return t<i.length?ss(i[t]):n}),u+="\nhttp://errors.angularjs.org/1.5.7/"+(n?n+"/":"")+o,r=f,e="?";r<i.length;r++,e="&")u+=e+"p"+(r-f)+"="+encodeURIComponent(ss(i[r]));return new t(u)}}function ni(n){if(n==null||fr(n))return!1;if(c(n)||h(n)||e&&n instanceof e)return!0;var t="length"in Object(n)&&n.length;return w(t)&&(t>=0&&(t-1 in n||n instanceof Array)||typeof n.item=="function")}function t(n,i,r){var u,e,o;if(n)if(f(n))for(u in n)u!="prototype"&&u!="length"&&u!="name"&&(!n.hasOwnProperty||n.hasOwnProperty(u))&&i.call(r,n[u],u,n);else if(c(n)||ni(n))for(o=typeof n!="object",u=0,e=n.length;u<e;u++)(o||u in n)&&i.call(r,n[u],u,n);else if(n.forEach&&n.forEach!==t)n.forEach(i,r,n);else if(po(n))for(u in n)i.call(r,n[u],u,n);else if(typeof n.hasOwnProperty=="function")for(u in n)n.hasOwnProperty(u)&&i.call(r,n[u],u,n);else for(u in n)at.call(n,u)&&i.call(r,n[u],u,n);return n}function lo(n,t,i){for(var r=Object.keys(n).sort(),u=0;u<r.length;u++)t.call(i,n[r[u]],r[u]);return r}function ao(n){return function(t,i){n(i,t)}}function su(){return++ya}function vo(n,t){t?n.$$hashKey=t:delete n.$$hashKey}function pf(n,t,i){for(var e,l,o,a,u,r,v=n.$$hashKey,h=0,y=t.length;h<y;++h)if(e=t[h],s(e)||f(e))for(l=Object.keys(e),o=0,a=l.length;o<a;o++)u=l[o],r=e[u],i&&s(r)?et(r)?n[u]=new Date(r.valueOf()):ur(r)?n[u]=new RegExp(r):r.nodeName?n[u]=r.cloneNode(!0):kf(r)?n[u]=r.clone():(s(n[u])||(n[u]=c(r)?[]:{}),pf(n[u],[r],!0)):n[u]=r;return vo(n,v),n}function v(n){return pf(n,wi.call(arguments,1),!1)}function pa(n){return pf(n,wi.call(arguments,1),!0)}function tt(n){return parseInt(n,10)}function wf(n,t){return v(Object.create(n),t)}function o(){}function rr(n){return n}function ft(n){return function(){return n}}function yo(n){return f(n.toString)&&n.toString!==rt}function r(n){return typeof n=="undefined"}function u(n){return typeof n!="undefined"}function s(n){return n!==null&&typeof n=="object"}function po(n){return n!==null&&typeof n=="object"&&!co(n)}function h(n){return typeof n=="string"}function w(n){return typeof n=="number"}function et(n){return rt.call(n)==="[object Date]"}function f(n){return typeof n=="function"}function ur(n){return rt.call(n)==="[object RegExp]"}function fr(n){return n&&n.window===n}function er(n){return n&&n.$evalAsync&&n.$watch}function wa(n){return rt.call(n)==="[object File]"}function ba(n){return rt.call(n)==="[object FormData]"}function ka(n){return rt.call(n)==="[object Blob]"}function oi(n){return typeof n=="boolean"}function hu(n){return n&&f(n.then)}function da(n){return n&&w(n.length)&&wo.test(rt.call(n))}function ga(n){return rt.call(n)==="[object ArrayBuffer]"}function kf(n){return!!(n&&(n.nodeName||n.prop&&n.attr&&n.find))}function nv(n){for(var i={},r=n.split(","),t=0;t<r.length;t++)i[r[t]]=!0;return i}function vt(n){return a(n.nodeName||n[0]&&n[0].nodeName)}function or(n,t){var i=n.indexOf(t);return i>=0&&n.splice(i,1),i}function ti(n,i){function o(n,t){var e=t.$$hashKey,i,u,f;if(c(n))for(u=0,f=n.length;u<f;u++)t.push(r(n[u]));else if(po(n))for(i in n)t[i]=r(n[i]);else if(n&&typeof n.hasOwnProperty=="function")for(i in n)n.hasOwnProperty(i)&&(t[i]=r(n[i]));else for(i in n)at.call(n,i)&&(t[i]=r(n[i]));return vo(t,e),t}function r(n){var i,r,t;if(!s(n))return n;if(i=u.indexOf(n),i!==-1)return e[i];if(fr(n)||er(n))throw ei("cpws","Can't copy! Making copies of Window or Scope instances is not supported.");return r=!1,t=h(n),t===undefined&&(t=c(n)?[]:Object.create(co(n)),r=!0),u.push(n),e.push(t),r?o(n,t):t}function h(n){var t,i;switch(rt.call(n)){case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Float32Array]":case"[object Float64Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return new n.constructor(r(n.buffer));case"[object ArrayBuffer]":return n.slice?n.slice(0):(t=new ArrayBuffer(n.byteLength),new Uint8Array(t).set(new Uint8Array(n)),t);case"[object Boolean]":case"[object Number]":case"[object String]":case"[object Date]":return new n.constructor(n.valueOf());case"[object RegExp]":return i=new RegExp(n.source,n.toString().match(/[^\/]*$/)[0]),i.lastIndex=n.lastIndex,i;case"[object Blob]":return new n.constructor([n],{type:n.type})}if(f(n.cloneNode))return n.cloneNode(!0)}var u=[],e=[];if(i){if(da(i)||ga(i))throw ei("cpta","Can't copy! TypedArray destination cannot be mutated.");if(n===i)throw ei("cpi","Can't copy! Source and destination are identical.");return c(i)?i.length=0:t(i,function(n,t){t!=="$$hashKey"&&delete i[t]}),u.push(n),e.push(i),o(n,i)}return r(n)}function ot(n,t){if(n===t)return!0;if(n===null||t===null)return!1;if(n!==n&&t!==t)return!0;var e=typeof n,s=typeof t,o,i,r;if(e==s&&e=="object")if(c(n)){if(!c(t))return!1;if((o=n.length)==t.length){for(i=0;i<o;i++)if(!ot(n[i],t[i]))return!1;return!0}}else{if(et(n))return et(t)?ot(n.getTime(),t.getTime()):!1;if(ur(n))return ur(t)?n.toString()==t.toString():!1;if(er(n)||er(t)||fr(n)||fr(t)||c(t)||et(t)||ur(t))return!1;r=p();for(i in n)if(i.charAt(0)!=="$"&&!f(n[i])){if(!ot(n[i],t[i]))return!1;r[i]=!0}for(i in t)if(!(i in r)&&i.charAt(0)!=="$"&&u(t[i])&&!f(t[i]))return!1;return!0}return!1}function hr(n,t,i){return n.concat(wi.call(t,i))}function cr(n,t){return wi.call(n,t||0)}function lr(n,t){var i=arguments.length>2?cr(arguments,2):[];return!f(t)||t instanceof RegExp?t:i.length?function(){return arguments.length?t.apply(n,hr(i,arguments,0)):t.apply(n,i)}:function(){return arguments.length?t.apply(n,arguments):t.call(n)}}function bo(t,i){var r=i;return typeof t=="string"&&t.charAt(0)==="$"&&t.charAt(1)==="$"?r=undefined:fr(i)?r="$WINDOW":i&&n.document===i?r="$DOCUMENT":er(i)&&(r="$SCOPE"),r}function ar(n,t){return r(n)?undefined:(w(t)||(t=t?2:null),JSON.stringify(n,bo,t))}function ko(n){return h(n)?JSON.parse(n):n}function ns(n,t){n=n.replace(go,"");var i=Date.parse("Jan 01, 1970 00:00:00 "+n)/6e4;return isNaN(i)?t:i}function tv(n,t){return n=new Date(n.getTime()),n.setMinutes(n.getMinutes()+t),n}function df(n,t,i){i=i?-1:1;var r=n.getTimezoneOffset(),u=ns(t,r);return tv(n,i*(u-r))}function yt(n){n=e(n).clone();try{n.empty()}catch(i){}var t=e("<div>").append(n).html();try{return n[0].nodeType===di?a(t):t.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(n,t){return"<"+a(t)})}catch(i){return a(t)}}function ts(n){try{return decodeURIComponent(n)}catch(t){}}function is(n){var i={};return t((n||"").split("&"),function(n){var f,t,r;n&&(t=n=n.replace(/\+/g,"%20"),f=n.indexOf("="),f!==-1&&(t=n.substring(0,f),r=n.substring(f+1)),t=ts(t),u(t)&&(r=u(r)?ts(r):!0,at.call(i,t)?c(i[t])?i[t].push(r):i[t]=[i[t],r]:i[t]=r))}),i}function gf(n){var i=[];return t(n,function(n,r){c(n)?t(n,function(n){i.push(ct(r,!0)+(n===!0?"":"="+ct(n,!0)))}):i.push(ct(r,!0)+(n===!0?"":"="+ct(n,!0)))}),i.length?i.join("&"):""}function cu(n){return ct(n,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function ct(n,t){return encodeURIComponent(n).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,t?"%20":"+")}function iv(n,t){for(var i,u=si.length,r=0;r<u;++r)if(i=si[r]+t,h(i=n.getAttribute(i)))return i;return null}function rv(n,i){var r,u,f={};t(si,function(t){var i=t+"app";!r&&n.hasAttribute&&n.hasAttribute(i)&&(r=n,u=n.getAttribute(i))});t(si,function(t){var f=t+"app",i;!r&&(i=n.querySelector("["+f.replace(":","\\:")+"]"))&&(r=i,u=i.getAttribute(f))});r&&(f.strictDi=iv(r,"strict-di")!==null,i(r,u?[u]:[],f))}function rs(i,r,u){var o;s(u)||(u={});o={strictDi:!1};u=v(o,u);var h=function(){var f,t;if(i=e(i),i.injector()){f=i[0]===n.document?"document":yt(i);throw ei("btstrpd","App already bootstrapped with this element '{0}'",f.replace(/</,"&lt;").replace(/>/,"&gt;"));}return r=r||[],r.unshift(["$provide",function(n){n.value("$rootElement",i)}]),u.debugInfoEnabled&&r.push(["$compileProvider",function(n){n.debugInfoEnabled(!0)}]),r.unshift("ng"),t=kr(r,u.strictDi),t.invoke(["$rootScope","$rootElement","$compile","$injector",function(n,t,i,r){n.$apply(function(){t.data("$injector",r);i(t)(n)})}]),t},c=/^NG_ENABLE_DEBUG_INFO!/,l=/^NG_DEFER_BOOTSTRAP!/;if(n&&c.test(n.name)&&(u.debugInfoEnabled=!0,n.name=n.name.replace(c,"")),n&&!l.test(n.name))return h();n.name=n.name.replace(l,"");ut.resumeBootstrap=function(n){return t(n,function(n){r.push(n)}),h()};f(ut.resumeDeferredBootstrap)&&ut.resumeDeferredBootstrap()}function uv(){n.name="NG_ENABLE_DEBUG_INFO!"+n.name;n.location.reload()}function fv(n){var t=ut.element(n).injector();if(!t)throw ei("test","no injector found for element argument to getTestability");return t.get("$$testability")}function fs(n,t){return t=t||"_",n.replace(us,function(n,i){return(i?t:"")+n.toLowerCase()})}function ev(){var i,t;ne||(t=sr(),bt=r(t)?n.jQuery:t?n[t]:undefined,bt&&bt.fn.on?(e=bt,v(bt.fn,{scope:hi.scope,isolateScope:hi.isolateScope,controller:hi.controller,injector:hi.injector,inheritedData:hi.inheritedData}),i=bt.cleanData,bt.cleanData=function(n){for(var t,u=0,r;(r=n[u])!=null;u++)t=bt._data(r,"events"),t&&t.$destroy&&bt(r).triggerHandler("$destroy");i(n)}):e=b,ut.element=e,ne=!0)}function lu(n,t,i){if(!n)throw ei("areq","Argument '{0}' is {1}",t||"?",i||"required");return n}function bi(n,t,i){return i&&c(n)&&(n=n[n.length-1]),lu(f(n),t,"not a function, got "+(n&&typeof n=="object"?n.constructor.name||"Object":typeof n)),n}function ki(n,t){if(n==="hasOwnProperty")throw ei("badname","hasOwnProperty is not a valid {0} name",t);}function es(n,t,i){var r;if(!t)return n;var u=t.split("."),e,o=n,s=u.length;for(r=0;r<s;r++)e=u[r],n&&(n=(o=n)[e]);return!i&&f(n)?lr(o,n):n}function au(n){for(var t=n[0],u=n[n.length-1],i,r=1;t!==u&&(t=t.nextSibling);r++)(i||n[r]!==t)&&(i||(i=e(wi.call(n,0,r))),i.push(t));return i||n}function p(){return Object.create(null)}function sv(n){function t(n,t,i){return n[t]||(n[t]=i())}var r=l("$injector"),u=l("ng"),i=t(n,"angular",Object);return i.$$minErr=i.$$minErr||l,t(i,"module",function(){var n={};return function(i,e,o){var s=function(n,t){if(n==="hasOwnProperty")throw u("badname","hasOwnProperty is not a valid {0} name",t);};return s(i,"module"),e&&n.hasOwnProperty(i)&&(n[i]=null),t(n,i,function(){function s(n,i,r,f){return f||(f=t),function(){return f[r||"push"]([n,i,arguments]),u}}function n(n,r){return function(e,o){return o&&f(o)&&(o.$$moduleName=i),t.push([n,r,arguments]),u}}if(!e)throw r("nomod","Module '{0}' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.",i);var t=[],h=[],c=[],l=s("$injector","invoke","push",h),u={_invokeQueue:t,_configBlocks:h,_runBlocks:c,requires:e,name:i,provider:n("$provide","provider"),factory:n("$provide","factory"),service:n("$provide","service"),value:s("$provide","value"),constant:s("$provide","constant","unshift"),decorator:n("$provide","decorator"),animation:n("$animateProvider","register"),filter:n("$filterProvider","register"),controller:n("$controllerProvider","register"),directive:n("$compileProvider","directive"),component:n("$compileProvider","component"),config:l,run:function(n){return c.push(n),this}};return o&&l(o),u})}})}function st(n,t){var i,u,r;if(c(n))for(t=t||[],i=0,u=n.length;i<u;i++)t[i]=n[i];else if(s(n)){t=t||{};for(r in n)r.charAt(0)==="$"&&r.charAt(1)==="$"||(t[r]=n[r])}return t||n}function hv(n){var t=[];return JSON.stringify(n,function(n,i){if(i=bo(n,i),s(i)){if(t.indexOf(i)>=0)return"...";t.push(i)}return i})}function ss(n){return typeof n=="function"?n.toString().replace(/ \{[\s\S]*$/,""):r(n)?"undefined":typeof n!="string"?hv(n):n}function cv(i){v(i,{bootstrap:rs,copy:ti,extend:v,merge:pa,equals:ot,element:e,forEach:t,injector:kr,noop:o,bind:lr,toJson:ar,fromJson:ko,identity:rr,isUndefined:r,isDefined:u,isString:h,isFunction:f,isObject:s,isNumber:w,isElement:kf,isArray:c,version:hs,isDate:et,lowercase:a,uppercase:ir,callbacks:{counter:0},getTestability:fv,$$minErr:l,$$csp:ii,reloadWithDebugInfo:uv});yf=sv(n);yf("ng",["ngLocale"],["$provide",function(n){n.provider({$$sanitizeUri:gw});n.provider("$compile",th).directive({a:fl,input:pl,textarea:pl,form:ik,script:hg,select:vg,style:pg,option:yg,ngBind:kk,ngBindHtml:gk,ngBindTemplate:dk,ngClass:td,ngClassEven:rd,ngClassOdd:id,ngCloak:ud,ngController:fd,ngForm:rk,ngHide:ig,ngIf:od,ngInclude:sd,ngInit:cd,ngNonBindable:wd,ngPluralize:gd,ngRepeat:ng,ngShow:tg,ngStyle:rg,ngSwitch:ug,ngSwitchWhen:fg,ngSwitchDefault:eg,ngOptions:dd,ngTransclude:sg,ngModel:vd,ngList:ld,ngChange:nd,pattern:ea,ngPattern:ea,required:fa,ngRequired:fa,minlength:sa,ngMinlength:sa,maxlength:oa,ngMaxlength:oa,ngValue:bk,ngModelOptions:pd}).directive({ngInclude:hd}).directive(iu).directive(wl);n.provider({$anchorScroll:py,$animate:np,$animateCss:rp,$$animateJs:dy,$$animateQueue:gy,$$AnimateRunner:ip,$$animateAsyncRun:tp,$browser:fp,$cacheFactory:ep,$controller:hp,$document:cp,$exceptionHandler:lp,$filter:yc,$$forceReflow:ap,$interpolate:rw,$interval:uw,$http:gp,$httpParamSerializer:bp,$httpParamSerializerJQLike:kp,$httpBackend:tw,$xhrFactory:nw,$location:hw,$log:cw,$parse:pw,$rootScope:dw,$q:ww,$$q:bw,$sce:ib,$sceDelegate:tb,$sniffer:rb,$templateCache:op,$templateRequest:ub,$$testability:fb,$timeout:eb,$window:ob,$$rAF:kw,$$jqLite:ey,$$HashMap:oy,$$cookieReader:sb})}])}function av(){return++lv}function pr(n){return n.replace(vv,function(n,t,i,r){return r?i.toUpperCase():i}).replace(yv,"Moz$1")}function re(n){return!wv.test(n)}function cs(n){var t=n.nodeType;return t===kt||!t||t===os}function dv(n){for(var t in vr[n.ng339])return!0;return!1}function gv(n){for(var t=0,i=n.length;t<i;t++)wr(n[t])}function ls(n,i){var r,o,f,u=i.createDocumentFragment(),e=[],s;if(re(n))e.push(i.createTextNode(n));else{for(r=r||u.appendChild(i.createElement("div")),o=(bv.exec(n)||["",""])[1].toLowerCase(),f=lt[o]||lt._default,r.innerHTML=f[1]+n.replace(kv,"<$1><\/$2>")+f[2],s=f[0];s--;)r=r.lastChild;e=hr(e,r.childNodes);r=u.firstChild;r.textContent=""}return u.textContent="",u.innerHTML="",t(e,function(n){u.appendChild(n)}),u}function ny(t,i){i=i||n.document;var r;return(r=pv.exec(t))?[i.createElement(r[1])]:(r=ls(t,i))?r.childNodes:[]}function as(n,t){var i=n.parentNode;i&&i.replaceChild(t,n);t.appendChild(n)}function b(n){if(n instanceof b)return n;var t;if(h(n)&&(n=y(n),t=!0),!(this instanceof b)){if(t&&n.charAt(0)!="<")throw ie("nosel","Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element");return new b(n)}t?ee(this,ny(n)):ee(this,n)}function ue(n){return n.cloneNode(!0)}function wu(n,t){var r,i,u;if(t||wr(n),n.querySelectorAll)for(r=n.querySelectorAll("*"),i=0,u=r.length;i<u;i++)wr(r[i])}function ys(n,i,r,f){var h;if(u(f))throw ie("offargs","jqLite#off() does not support the `selector` argument");var e=bu(n),o=e&&e.events,s=e&&e.handle;if(s)if(i)h=function(t){var i=o[t];u(r)&&or(i||[],r);u(r)&&i&&i.length>0||(yr(n,t,s),delete o[t])},t(i.split(" "),function(n){h(n);pu[n]&&h(pu[n])});else for(i in o)i!=="$destroy"&&yr(n,i,s),delete o[i]}function wr(n,t){var r=n.ng339,i=r&&vr[r];if(i){if(t){delete i.data[t];return}i.handle&&(i.events.$destroy&&i.handle({},"$destroy"),ys(n));delete vr[r];n.ng339=undefined}}function bu(n,t){var i=n.ng339,r=i&&vr[i];return t&&!r&&(n.ng339=i=av(),r=vr[i]={events:{},data:{},handle:undefined}),r}function fe(n,t,i){if(cs(n)){var f=u(i),e=!f&&t&&!s(t),h=!t,o=bu(n,!e),r=o&&o.data;if(f)r[t]=i;else{if(h)return r;if(e)return r&&r[t];v(r,t)}}}function ku(n,t){return n.getAttribute?(" "+(n.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+t+" ")>-1:!1}function du(n,i){i&&n.setAttribute&&t(i.split(" "),function(t){n.setAttribute("class",y((" "+(n.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").replace(" "+y(t)+" "," ")))})}function gu(n,i){if(i&&n.setAttribute){var r=(" "+(n.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ");t(i.split(" "),function(n){n=y(n);r.indexOf(" "+n+" ")===-1&&(r+=n+" ")});n.setAttribute("class",y(r))}}function ee(n,t){var i,r;if(t)if(t.nodeType)n[n.length++]=t;else if(i=t.length,typeof i=="number"&&t.window!==t){if(i)for(r=0;r<i;r++)n[n.length++]=t[r]}else n[n.length++]=t}function ps(n,t){return nf(n,"$"+(t||"ngController")+"Controller")}function nf(n,t,i){var f,r,o;for(n.nodeType==os&&(n=n.documentElement),f=c(t)?t:[t];n;){for(r=0,o=f.length;r<o;r++)if(u(i=e.data(n,f[r])))return i;n=n.parentNode||n.nodeType===te&&n.host}}function ws(n){for(wu(n,!0);n.firstChild;)n.removeChild(n.firstChild)}function tf(n,t){t||wu(n);var i=n.parentNode;i&&i.removeChild(n)}function ty(t,i){if(i=i||n,i.document.readyState==="complete")i.setTimeout(t);else e(i).on("load",t)}function bs(n,t){var i=br[t.toLowerCase()];return i&&oe[vt(n)]&&i}function iy(n){return se[n]}function ry(n,t){var i=function(i,u){var f,e,s,h,o;if(i.isDefaultPrevented=function(){return i.defaultPrevented},f=t[u||i.type],e=f?f.length:0,e)for(r(i.immediatePropagationStopped)&&(s=i.stopImmediatePropagation,i.stopImmediatePropagation=function(){i.immediatePropagationStopped=!0;i.stopPropagation&&i.stopPropagation();s&&s.call(i)}),i.isImmediatePropagationStopped=function(){return i.immediatePropagationStopped===!0},h=f.specialHandlerWrapper||uy,e>1&&(f=st(f)),o=0;o<e;o++)i.isImmediatePropagationStopped()||h(n,i,f[o])};return i.elem=n,i}function uy(n,t,i){i.call(n,t)}function fy(n,t,i){var r=t.relatedTarget;r&&(r===n||vs.call(n,r))||i.call(n,t)}function ey(){this.$get=function(){return v(b,{hasClass:function(n,t){return n.attr&&(n=n[0]),ku(n,t)},addClass:function(n,t){return n.attr&&(n=n[0]),gu(n,t)},removeClass:function(n,t){return n.attr&&(n=n[0]),du(n,t)}})}}function ci(n,t){var r=n&&n.$$hashKey,i;return r?(typeof r=="function"&&(r=n.$$hashKey()),r):(i=typeof n,i=="function"||i=="object"&&n!==null?n.$$hashKey=i+":"+(t||su)():i+":"+n)}function gi(n,i){if(i){var r=0;this.nextUid=function(){return++r}}t(n,this.put,this)}function ks(n){return Function.prototype.toString.call(n)+" "}function ds(n){var t=ks(n).replace(ay,"");return t.match(sy)||t.match(hy)}function vy(n){var t=ds(n);return t?"function("+(t[1]||"").replace(/[\s\r\n]+/," ")+")":"fn"}function yy(n,i,r){var u,e,f;if(typeof n=="function"){if(!(u=n.$inject)){if(u=[],n.length){if(i){h(r)&&r||(r=n.name||vy(n));throw li("strictdi","{0} is not using explicit annotation and cannot be invoked in strict mode",r);}e=ds(n);t(e[1].split(cy),function(n){n.replace(ly,function(n,t,i){u.push(i)})})}n.$inject=u}}else c(n)?(f=n.length-1,bi(n[f],"fn"),u=n.slice(0,f)):bi(n,"fn",!0);return u}function kr(n,i){function v(n){return function(i,r){if(s(i))t(i,ao(n));else return n(i,r)}}function g(n,t){if(ki(n,"service"),(f(t)||c(t))&&(t=o.instantiate(t)),!t.$get)throw li("pget","Provider '{0}' must define $get factory method.",n);return e[n+l]=t}function it(n,t){return function(){var i=u.invoke(t,this);if(r(i))throw li("undef","Provider '{0}' must return a value from $get factory method.",n);return i}}function w(n,t,i){return g(n,{$get:i!==!1?it(n,t):t})}function rt(n,t){return w(n,["$injector",function(n){return n.instantiate(t)}])}function et(n,t){return w(n,ft(t),!1)}function ot(n,t){ki(n,"constant");e[n]=t;k[n]=t}function st(n,t){var i=o.get(n+l),r=i.$get;i.$get=function(){var n=u.invoke(r,i);return u.invoke(t,null,{$delegate:n})}}function nt(n){lu(r(n)||c(n),"modulesToLoad","not an array");var i=[],u;return t(n,function(n){function r(n){for(var i,r,t=0,u=n.length;t<u;t++)i=n[t],r=o.get(i[0]),r[i[1]].apply(r,i[2])}if(!b.get(n)){b.put(n,!0);try{h(n)?(u=yf(n),i=i.concat(nt(u.requires)).concat(u._runBlocks),r(u._invokeQueue),r(u._configBlocks)):f(n)?i.push(o.invoke(n)):c(n)?i.push(o.invoke(n)):bi(n,"module")}catch(t){c(n)&&(n=n[n.length-1]);t.message&&t.stack&&t.stack.indexOf(t.message)==-1&&(t=t.message+"\n"+t.stack);throw li("modulerr","Failed to instantiate module {0} due to:\n{1}",n,t.stack||t.message||t);}}}),i}function tt(n,t){function r(i,r){if(n.hasOwnProperty(i)){if(n[i]===y)throw li("cdep","Circular dependency found: {0}",i+" <- "+a.join(" <- "));return n[i]}try{return a.unshift(i),n[i]=y,n[i]=t(i,r)}catch(u){n[i]===y&&delete n[i];throw u;}finally{a.shift()}}function u(n,t,u){for(var f,o=[],s=kr.$$annotate(n,i,u),e=0,h=s.length;e<h;e++){if(f=s[e],typeof f!="string")throw li("itkn","Incorrect injection token! Expected service name as string, got {0}",f);o.push(t&&t.hasOwnProperty(f)?t[f]:r(f,u))}return o}function f(n){return gt<=11?!1:typeof n=="function"&&/^(?:class\s|constructor\()/.test(ks(n))}function o(n,t,i,r){typeof i=="string"&&(r=i,i=null);var e=u(n,i,r);return c(n)&&(n=n[n.length-1]),f(n)?(e.unshift(null),new(Function.prototype.bind.apply(n,e))):n.apply(t,e)}function s(n,t,i){var f=c(n)?n[n.length-1]:n,r=u(n,t,i);return r.unshift(null),new(Function.prototype.bind.apply(f,r))}return{invoke:o,instantiate:s,get:r,annotate:kr.$$annotate,has:function(t){return e.hasOwnProperty(t+l)||n.hasOwnProperty(t)}}}var d;i=i===!0;var y={},l="Provider",a=[],b=new gi([],!0),e={$provide:{provider:v(g),factory:v(w),service:v(rt),value:v(et),constant:v(ot),decorator:st}},o=e.$injector=tt(e,function(n,t){ut.isString(t)&&a.push(t);throw li("unpr","Unknown provider: {0}",a.join(" <- "));}),k={},p=tt(k,function(n,t){var i=o.get(n+l,t);return u.invoke(i.$get,i,undefined,n)}),u=p;return e["$injector"+l]={$get:ft(p)},d=nt(n),u=p.get("$injector"),u.strictDi=i,t(d,function(n){n&&u.invoke(n)}),u}function py(){var n=!0;this.disableAutoScrolling=function(){n=!1};this.$get=["$window","$location","$rootScope",function(t,i,r){function s(n){var t=null;return Array.prototype.some.call(n,function(n){if(vt(n)==="a")return t=n,!0}),t}function c(){var n=e.yOffset,i,r;return f(n)?n=n():kf(n)?(i=n[0],r=t.getComputedStyle(i),n=r.position!=="fixed"?0:i.getBoundingClientRect().bottom):w(n)||(n=0),n}function u(n){var i,r;n?(n.scrollIntoView(),i=c(),i&&(r=n.getBoundingClientRect().top,t.scrollBy(0,r-i))):t.scrollTo(0,0)}function e(n){n=h(n)?n:i.hash();var t;n?(t=o.getElementById(n))?u(t):(t=s(o.getElementsByName(n)))?u(t):n==="top"&&u(null):u(null)}var o=t.document;return n&&r.$watch(function(){return i.hash()},function(n,t){(n!==t||n!=="")&&ty(function(){r.$evalAsync(e)})}),e}]}function dr(n,t){return!n&&!t?"":n?t?(c(n)&&(n=n.join(" ")),c(t)&&(t=t.join(" ")),n+" "+t):n:t}function by(n){for(var i,t=0;t<n.length;t++)if(i=n[t],i.nodeType===wy)return i}function ky(n){h(n)&&(n=n.split(" "));var i=p();return t(n,function(n){n.length&&(i[n]=!0)}),i}function ai(n){return s(n)?n:{}}function up(n,i,u,f){function d(n){try{n.apply(null,cr(arguments,1))}finally{if(l--,l===0)while(b.length)try{b.pop()()}catch(t){u.error(t)}}}function et(n){var t=n.indexOf("#");return t===-1?"":n.substr(t)}function tt(){y=null;it();rt()}function it(){h=ht();h=r(h)?null:h;ot(h,k)&&(h=k);k=h}function rt(){(v!==s.url()||a!==h)&&(v=s.url(),a=h,t(g,function(n){n(s.url(),h)}))}var s=this,c=n.location,p=n.history,ut=n.setTimeout,ft=n.clearTimeout,w={},l,b,g,nt,k;s.isMock=!1;l=0;b=[];s.$$completeOutstandingRequest=d;s.$$incOutstandingRequestCount=function(){l++};s.notifyWhenNoOutstandingRequests=function(n){l===0?n():b.push(n)};var h,a,v=c.href,st=i.find("base"),y=null,ht=f.history?function(){try{return p.state}catch(n){}}:o;it();a=h;s.url=function(t,i,u){var o,e;return r(u)&&(u=null),c!==n.location&&(c=n.location),p!==n.history&&(p=n.history),t?(o=a===u,v===t&&(!f.history||o))?s:(e=v&&vi(v)===vi(t),v=t,a=u,!f.history||e&&o?(e||(y=t),i?c.replace(t):e?c.hash=et(t):c.href=t,c.href!==t&&(y=t)):(p[i?"replaceState":"pushState"](u,"",t),it(),a=h),y&&(y=t),s):y||c.href.replace(/%27/g,"'")};s.state=function(){return h};g=[];nt=!1;k=null;s.onUrlChange=function(t){if(!nt){if(f.history)e(n).on("popstate",tt);e(n).on("hashchange",tt);nt=!0}return g.push(t),t};s.$$applicationDestroyed=function(){e(n).off("hashchange popstate",tt)};s.$$checkUrlChange=rt;s.baseHref=function(){var n=st.attr("href");return n?n.replace(/^(https?\:)?\/\/[^\/]*/,""):""};s.defer=function(n,t){var i;return l++,i=ut(function(){delete w[i];d(n)},t||0),w[i]=!0,i};s.defer.cancel=function(n){return w[n]?(delete w[n],ft(n),d(o),!0):!1}}function fp(){this.$get=["$window","$log","$sniffer","$document",function(n,t,i,r){return new up(n,r,t,i)}]}function ep(){this.$get=function(){function i(t,i){function y(n){n!=o&&(u?u==n&&(u=n.n):u=n,c(n.n,n.p),c(n,o),o=n,o.n=null)}function c(n,t){n!=t&&(n&&(n.p=t),t&&(t.n=n))}if(t in n)throw l("$cacheFactory")("iid","CacheId '{0}' is already taken!",t);var s=0,a=v({},i,{id:t}),f=p(),h=i&&i.capacity||Number.MAX_VALUE,e=p(),o=null,u=null;return n[t]={put:function(n,t){if(!r(t)){if(h<Number.MAX_VALUE){var i=e[n]||(e[n]={key:n});y(i)}return n in f||s++,f[n]=t,s>h&&this.remove(u.key),t}},get:function(n){if(h<Number.MAX_VALUE){var t=e[n];if(!t)return;y(t)}return f[n]},remove:function(n){if(h<Number.MAX_VALUE){var t=e[n];if(!t)return;t==o&&(o=t.p);t==u&&(u=t.n);c(t.n,t.p);delete e[n]}n in f&&(delete f[n],s--)},removeAll:function(){f=p();s=0;e=p();o=u=null},destroy:function(){f=null;a=null;e=null;delete n[t]},info:function(){return v({},a,{size:s})}}}var n={};return i.info=function(){var i={};return t(n,function(n,t){i[t]=n.info()}),i},i.get=function(t){return n[t]},i}}function op(){this.$get=["$cacheFactory",function(n){return n("templates")}]}function sp(){}function th(i,l){function tt(n,i,r){var f=/^\s*([@&<]|=(\*?))(\??)\s*(\w*)\s*$/,u=p();return t(n,function(n,t){if(n in nt){u[t]=nt[n];return}var e=n.match(f);if(!e)throw d("iscp","Invalid {3} for directive '{0}'. Definition: {... {1}: '{2}' ...}",i,t,n,r?"controller bindings definition":"isolate scope definition");u[t]={mode:e[1][0],collection:e[2]==="*",optional:e[3]==="?",attrName:e[4]||t};e[4]&&(nt[n]=u[t])}),u}function ct(n,t){var i={isolateScope:null,bindToController:null},r,u;if(s(n.scope)&&(n.bindToController===!0?(i.bindToController=tt(n.scope,t,!0),i.isolateScope={}):i.isolateScope=tt(n.scope,t,!1)),s(n.bindToController)&&(i.bindToController=tt(n.bindToController,t,!0)),s(i.bindToController))if(r=n.controller,u=n.controllerAs,r){if(!fh(r,u))throw d("noident","Cannot bind to controller without identifier for directive '{0}'.",t);}else throw d("noctrl","Cannot bind to controller without directive '{0}'s controller.",t);return i}function lt(n){var t=n.charAt(0);if(!t||t!==a(t))throw d("baddir","Directive/Component name '{0}' is invalid. The first character must be a lowercase letter",n);if(n!==n.trim())throw d("baddir","Directive/Component name '{0}' is invalid. The name should not contain leading or trailing whitespaces",n);}function wt(n){var i=n.require||n.controller&&n.name;return!c(i)&&s(i)&&t(i,function(n,t){var r=n.match(it),u=n.substring(r[0].length);u||(i[t]=r[0]+t)}),i}var b={},g="Directive",ut=/^\s*directive\:\s*([\w\-]+)\s+(.*)$/,et=/(([\w\-]+)(?:\:([^;]+))?;?)/,st=nv("ngSrc,ngSrcset,src,srcset"),it=/^(?:(\^\^?)?(\?)?(\^\^?)?)?/,ht=/^(on[a-z]+|formaction)$/,nt=p(),w,k;this.directive=function bt(n,r){return ki(n,"directive"),h(n)?(lt(n),lu(r,"directiveFactory"),b.hasOwnProperty(n)||(b[n]=[],i.factory(n+g,["$injector","$exceptionHandler",function(i,r){var u=[];return t(b[n],function(t,e){try{var o=i.invoke(t);f(o)?o={compile:ft(o)}:!o.compile&&o.link&&(o.compile=ft(o.link));o.priority=o.priority||0;o.index=e;o.name=o.name||n;o.require=wt(o);o.restrict=o.restrict||"EA";o.$$moduleName=t.$$moduleName;u.push(o)}catch(s){r(s)}}),u}])),b[n].push(r)):t(n,ao(bt)),this};this.component=function(n,i){function u(n){function u(t){return f(t)||c(t)?function(i,r){return n.invoke(t,this,{$element:i,$attrs:r})}:t}var o=!i.template&&!i.templateUrl?"":i.template,e={controller:r,controllerAs:fh(i.controller)||i.controllerAs||"$ctrl",template:u(o),templateUrl:u(i.templateUrl),transclude:i.transclude,scope:{},bindToController:i.bindings||{},restrict:"E",require:i.require};return t(i,function(n,t){t.charAt(0)==="$"&&(e[t]=n)}),e}var r=i.controller||function(){};return t(i,function(n,t){t.charAt(0)==="$"&&(u[t]=n,f(r)&&(r[t]=n))}),u.$inject=["$injector"],this.directive(n,u)};this.aHrefSanitizationWhitelist=function(n){return u(n)?(l.aHrefSanitizationWhitelist(n),this):l.aHrefSanitizationWhitelist()};this.imgSrcSanitizationWhitelist=function(n){return u(n)?(l.imgSrcSanitizationWhitelist(n),this):l.imgSrcSanitizationWhitelist()};w=!0;this.debugInfoEnabled=function(n){return u(n)?(w=n,this):w};k=10;this.onChangesTtl=function(n){return arguments.length?(k=n,this):k};this.$get=["$injector","$interpolate","$exceptionHandler","$templateRequest","$parse","$controller","$rootScope","$sce","$animate","$$sanitizeUri",function(i,l,nt,tt,ft,lt,wt,bt,dt,ni){function pr(){try{if(!--ki){ii=undefined;throw d("infchng","{0} $onChanges() iterations reached. Aborting!\n",k);}wt.$apply(function(){for(var n=[],t=0,i=ii.length;t<i;++t)try{ii[t]()}catch(r){n.push(r)}if(ii=undefined,n.length)throw n;})}finally{ki++}}function ci(n,t){if(t)for(var u=Object.keys(t),r,i=0,f=u.length;i<f;i++)r=u[i],this[r]=t[r];else this.$attr={};this.$$element=n}function wr(n,t,i){bi.innerHTML="<span "+t+">";var u=bi.firstChild.attributes,r=u[0];u.removeNamedItem(r.name);r.value=i;n.attributes.setNamedItem(r)}function li(n,t){try{n.addClass(t)}catch(i){}}function ti(t,i,r,u,f){var l,o,a,h,c,s;for(t instanceof e||(t=e(t)),l=/\S+/,o=0,a=t.length;o<a;o++)h=t[o],h.nodeType===di&&h.nodeValue.match(l)&&as(h,t[o]=n.document.createElement("span"));return c=ai(t,i,t,r,u,f),ti.$$addScopeClass(t),s=null,function(n,i,r){var u,l;lu(n,"scope");f&&f.needsNewScope&&(n=n.$parent.$new());r=r||{};var o=r.parentBoundTranscludeFn,h=r.transcludeControllers,a=r.futureParentElement;if(o&&o.$$boundTransclude&&(o=o.$$boundTransclude),s||(s=dr(a)),u=s!=="html"?e(pi(s,e("<div>").append(t).html())):i?hi.clone.call(t):t,h)for(l in h)u.data("$"+l+"Controller",h[l].instance);return ti.$$addScopeInfo(u,n),i&&i(u,n),c&&c(n,u,u,o),u}}function dr(n){var t=n&&n[0];return t?vt(t)!=="foreignobject"&&rt.call(t).match(/SVG/)?"svg":"html":"html"}function ai(n,t,i,r,u,f){function w(n,i,r,u){var o,h,c,l,f,p,v,w,a,b;if(y)for(b=i.length,a=new Array(b),f=0;f<s.length;f+=3)v=s[f],a[v]=i[v];else a=i;for(f=0,p=s.length;f<p;)c=a[s[f++]],o=s[f++],h=s[f++],o?(o.scope?(l=n.$new(),ti.$$addScopeInfo(e(c),l)):l=n,w=o.transcludeOnThisElement?ui(n,o.transclude,u):!o.templateOnThisElement&&u?u:!u&&t?ui(n,t):null,o(h,l,c,r,w)):h&&h(n,c.childNodes,undefined,u)}for(var s=[],c,l,o,a,v,p,y,h=0;h<n.length;h++)c=new ci,l=vi(n[h],[],c,h===0?r:undefined,u),o=l.length?fr(l,n[h],c,t,i,null,[],[],f):null,o&&o.scope&&ti.$$addScopeClass(c.$$element),v=o&&o.terminal||!(a=n[h].childNodes)||!a.length?null:ai(a,o?(o.transcludeOnThisElement||!o.templateOnThisElement)&&o.transclude:t),(o||v)&&(s.push(h,o,v),p=!0,y=y||o),f=null;return p?w:null}function ui(n,t,i){function u(r,u,f,e,o){return r||(r=n.$new(!1,o),r.$$transcluded=!0),t(r,u,{parentBoundTranscludeFn:i,transcludeControllers:f,futureParentElement:e})}var f=u.$$slots=p();for(var r in t.$$slots)f[r]=t.$$slots[r]?ui(n,t.$$slots[r],i):null;return u}function vi(n,t,i,r,u){var nt=n.nodeType,tt=i.$attr,o,c,k,d,g;switch(nt){case kt:ei(t,pt(vt(n)),"E",r,u);for(var l,e,f,a,v,p,w=n.attributes,b=0,it=w&&w.length;b<it;b++)k=!1,d=!1,l=w[b],e=l.name,v=y(l.value),a=pt(e),(p=br.test(a))&&(e=e.replace(he,"").substr(8).replace(/_(.)/g,function(n,t){return t.toUpperCase()})),g=a.match(kr),g&&nu(g[1])&&(k=e,d=e.substr(0,e.length-5)+"end",e=e.substr(0,e.length-6)),f=pt(e.toLowerCase()),tt[f]=e,(p||!i.hasOwnProperty(f))&&(i[f]=v,bs(n,f)&&(i[f]=!0)),fu(n,t,v,f,p),ei(t,f,"A",r,u,k,d);if(c=n.className,s(c)&&(c=c.animVal),h(c)&&c!=="")while(o=et.exec(c))f=pt(o[2]),ei(t,f,"C",r,u)&&(i[f]=y(o[3])),c=c.substr(o.index+o[0].length);break;case di:if(gt===11)while(n.parentNode&&n.nextSibling&&n.nextSibling.nodeType===di)n.nodeValue=n.nodeValue+n.nextSibling.nodeValue,n.parentNode.removeChild(n.nextSibling);ru(t,n.nodeValue);break;case vu:try{o=ut.exec(n.nodeValue);o&&(f=pt(o[1]),ei(t,f,"M",r,u)&&(i[f]=y(o[2])))}catch(rt){}}return t.sort(iu),t}function ir(n,t,i){var r=[],u=0;if(t&&n.hasAttribute&&n.hasAttribute(t)){do{if(!n)throw d("uterdir","Unterminated attribute, found '{0}' but no matching '{1}' found.",t,i);n.nodeType==kt&&(n.hasAttribute(t)&&u++,n.hasAttribute(i)&&u--);r.push(n);n=n.nextSibling}while(u>0)}else r.push(n);return e(r)}function ur(n,t,i){return function(r,u,f,e,o){return u=ir(u[0],t,i),n(r,u,f,e,o)}}function yi(n,t,i,r,u,f){var e;return n?ti(t,i,r,u,f):function(){return e||(e=ti(t,i,r,u,f),t=i=f=null),e.apply(this,arguments)}}function fr(n,i,u,o,h,l,a,w,b){function or(n,t,i,r){n&&(i&&(n=ur(n,i,r)),n.require=k.require,n.directiveName=ot,(g===k||k.$$isolateScope)&&(n=ar(n,{isolateScope:!0})),a.push(n));t&&(i&&(t=ur(t,i,r)),t.require=k.require,t.directiveName=ot,(g===k||k.$$isolateScope)&&(t=ar(t,{isolateScope:!0})),w.push(t))}function ct(n,o,h,l,y){function kt(n,t,i,u){var e,f;if(er(n)||(u=i,i=t,t=n,n=undefined),ni&&(e=tt),i||(i=ni?p.parent():p),u){if(f=y.$$slots[u],f)return f(n,t,e,i,ct);if(r(f))throw d("noslot",'No parent directive that requires a transclusion with slot name "{0}". Element: {1}',u,yt(p));}else return y(n,t,e,i,ct)}var rt,bt,b,k,st,tt,ot,p,ft,vt,pt,at,ct;i===h?(ft=u,p=u.$$element):(p=e(h),ft=new ci(p,u));st=o;g?k=o.$new(!0):ut&&(st=o.$parent);y&&(ot=kt,ot.$$boundTransclude=y,ot.isSlotFilled=function(n){return!!y.$$slots[n]});et&&(tt=gr(p,ft,ot,et,k,o,g));g&&(ti.$$addScopeInfo(p,k,!0,!(ht&&(ht===g||ht===g.$$originalDirective))),ti.$$addScopeClass(p,!0),k.$$isolateBindings=g.$$isolateBindings,vt=wi(o,ft,k,k.$$isolateBindings,g),vt.removeWatches&&k.$on("$destroy",vt.removeWatches));for(pt in tt){var lt=et[pt],it=tt[pt],wt=lt.$$bindings.bindToController;it.bindingInfo=it.identifier&&wt?wi(st,ft,it.instance,wt,lt):{};at=it();at!==it.instance&&(it.instance=at,p.data("$"+lt.name+"Controller",at),it.bindingInfo.removeWatches&&it.bindingInfo.removeWatches(),it.bindingInfo=wi(st,ft,it.instance,wt,lt))}for(t(et,function(n,t){var i=n.require;n.bindToController&&!c(i)&&s(i)&&v(tt[t].instance,fi(t,i,p,tt))}),t(tt,function(n){var t=n.instance;if(f(t.$onChanges))try{t.$onChanges(n.bindingInfo.initialChanges)}catch(i){nt(i)}if(f(t.$onInit))try{t.$onInit()}catch(i){nt(i)}f(t.$onDestroy)&&st.$on("$destroy",function(){t.$onDestroy()})}),rt=0,bt=a.length;rt<bt;rt++)b=a[rt],vr(b,b.isolateScope?k:o,p,ft,b.require&&fi(b.directiveName,b.require,p,tt),ot);for(ct=o,g&&(g.template||g.templateUrl===null)&&(ct=k),n&&n(ct,h.childNodes,undefined,y),rt=w.length-1;rt>=0;rt--)b=w[rt],vr(b,b.isolateScope?k:o,p,ft,b.require&&fi(b.directiveName,b.require,p,tt),ot);t(tt,function(n){var t=n.instance;f(t.$postLink)&&t.$postLink()})}var st,ei,dt,oi,wt,nr,ft,di,hi,li,ai;b=b||{};var bt=-Number.MAX_VALUE,ut=b.newScopeDirective,et=b.controllerDirectives,g=b.newIsolateScopeDirective,ht=b.templateDirective,gt=b.nonTlbTranscludeDirective,bi=!1,ki=!1,ni=b.hasElementTranscludeDirective,tt=u.$$element=e(i),k,ot,it,ii=l,lt=o,at,gi=!1,ui=!1,rt;for(st=0,ei=n.length;st<ei;st++){if(k=n[st],dt=k.$$start,oi=k.$$end,dt&&(tt=ir(i,dt,oi)),it=undefined,bt>k.priority)break;if((rt=k.scope)&&(k.templateUrl||(s(rt)?(ri("new/isolated scope",g||ut,k,tt),g=k):ri("new/isolated scope",g,k,tt)),ut=ut||k),ot=k.name,!gi&&(k.replace&&(k.templateUrl||k.template)||k.transclude&&!k.$$tlb)){for(nr=st+1;wt=n[nr++];)if(wt.transclude&&!wt.$$tlb||wt.replace&&(wt.templateUrl||wt.template)){ui=!0;break}gi=!0}if(!k.templateUrl&&k.controller&&(rt=k.controller,et=et||p(),ri("'"+ot+"' controller",et[ot],k,tt),et[ot]=k),rt=k.transclude)if(bi=!0,k.$$tlb||(ri("transclusion",gt,k,tt),gt=k),rt=="element")ni=!0,bt=k.priority,it=tt,tt=u.$$element=e(ti.$$createComment(ot,u[ot])),i=tt[0],si(h,cr(it),i),it[0].$$parentNode=it[0].parentNode,lt=yi(ui,it,o,bt,ii&&ii.name,{nonTlbTranscludeDirective:gt});else{if(ft=p(),it=e(ue(i)).contents(),s(rt)){it=[];di=p();hi=p();t(rt,function(n,t){var i=n.charAt(0)==="?";n=i?n.substring(1):n;di[n]=t;ft[t]=null;hi[t]=i});t(tt.contents(),function(n){var t=di[pt(vt(n))];t?(hi[t]=!0,ft[t]=ft[t]||[],ft[t].push(n)):it.push(n)});t(hi,function(n,t){if(!n)throw d("reqslot","Required transclusion slot `{0}` was not filled.",t);});for(li in ft)ft[li]&&(ft[li]=yi(ui,ft[li],o))}tt.empty();lt=yi(ui,it,o,undefined,undefined,{needsNewScope:k.$$isolateScope||k.$$newScope});lt.$$slots=ft}if(k.template)if(ki=!0,ri("template",ht,k,tt),ht=k,rt=f(k.template)?k.template(tt,u):k.template,rt=tr(rt),k.replace){if(ii=k,it=re(rt)?[]:rh(pi(k.templateNamespace,y(rt))),i=it[0],it.length!=1||i.nodeType!==kt)throw d("tplrt","Template for directive '{0}' must have exactly one root element. {1}",ot,"");si(h,tt,i);var rr={$attr:{}},fr=vi(i,[],rr),yr=n.splice(st+1,n.length-(st+1));(g||ut)&&sr(fr,g,ut);n=n.concat(fr).concat(yr);hr(u,rr);ei=n.length}else tt.html(rt);if(k.templateUrl)ki=!0,ri("template",ht,k,tt),ht=k,k.replace&&(ii=k),ct=tu(n.splice(st,n.length-st),tt,u,h,bi&&lt,a,w,{controllerDirectives:et,newScopeDirective:ut!==k&&ut,newIsolateScopeDirective:g,templateDirective:ht,nonTlbTranscludeDirective:gt}),ei=n.length;else if(k.compile)try{at=k.compile(tt,u,lt);ai=k.$$originalDirective||k;f(at)?or(null,lr(ai,at),dt,oi):at&&or(lr(ai,at.pre),lr(ai,at.post),dt,oi)}catch(pr){nt(pr,yt(tt))}k.terminal&&(ct.terminal=!0,bt=Math.max(bt,k.priority))}return ct.scope=ut&&ut.scope===!0,ct.transcludeOnThisElement=bi,ct.templateOnThisElement=ki,ct.transclude=lt,b.hasElementTranscludeDirective=ni,ct}function fi(n,i,r,u){var f,a,e,y;if(h(i)){var o=i.match(it),l=i.substring(o[0].length),v=o[1]||o[3],p=o[2]==="?";if(v==="^^"?r=r.parent():(f=u&&u[l],f=f&&f.instance),f||(a="$"+l+"Controller",f=v?r.inheritedData(a):r.data(a)),!f&&!p)throw d("ctreq","Controller '{0}', required by directive '{1}', can't be found!",l,n);}else if(c(i))for(f=[],e=0,y=i.length;e<y;e++)f[e]=fi(n,i[e],r,u);else s(i)&&(f={},t(i,function(t,i){f[i]=fi(n,t,r,u)}));return f||null}function gr(n,t,i,r,u,f,e){var c=p(),l,h;for(l in r){var o=r[l],a={$scope:o===e||o.$$isolateScope?u:f,$element:n,$attrs:t,$transclude:i},s=o.controller;s=="@"&&(s=t[o.name]);h=lt(s,a,!0,o.controllerAs);c[o.name]=h;n.data("$"+o.name+"Controller",h.instance)}return c}function sr(n,t,i){for(var r=0,u=n.length;r<u;r++)n[r]=wf(n[r],{$$isolateScope:t,$$newScope:i})}function ei(n,t,u,f,e,o,h){var l,v;if(t===e)return null;if(l=null,b.hasOwnProperty(t))for(var c,y=i.get(t+g),a=0,p=y.length;a<p;a++)try{c=y[a];(r(f)||f>c.priority)&&c.restrict.indexOf(u)!=-1&&(o&&(c=wf(c,{$$start:o,$$end:h})),c.$$bindings||(v=c.$$bindings=ct(c,c.name),s(v.isolateScope)&&(c.$$isolateBindings=v.isolateScope)),n.push(c),l=c)}catch(w){nt(w)}return l}function nu(n){if(b.hasOwnProperty(n))for(var r,u=i.get(n+g),t=0,f=u.length;t<f;t++)if(r=u[t],r.multiElement)return!0;return!1}function hr(n,i){var r=i.$attr,u=n.$attr,f=n.$$element;t(n,function(t,u){u.charAt(0)!="$"&&(i[u]&&i[u]!==t&&(t+=(u==="style"?";":" ")+i[u]),n.$set(u,t,!0,r[u]))});t(i,function(t,i){n.hasOwnProperty(i)||i.charAt(0)==="$"||(n[i]=t,i!=="class"&&i!=="style"&&(u[i]=r[i]))})}function tu(n,i,r,u,o,h,c,l){var v=[],p,w,b=i[0],a=n.shift(),g=wf(a,{templateUrl:null,transclude:null,replace:null,$$originalDirective:a}),k=f(a.templateUrl)?a.templateUrl(i,r):a.templateUrl,nt=a.templateNamespace;return i.empty(),tt(k).then(function(f){var tt,rt,ut,st,ft,ct;if(f=tr(f),a.replace){if(ut=re(f)?[]:rh(pi(nt,y(f))),tt=ut[0],ut.length!=1||tt.nodeType!==kt)throw d("tplrt","Template for directive '{0}' must have exactly one root element. {1}",a.name,k);rt={$attr:{}};si(u,i,tt);ft=vi(tt,[],rt);s(a.scope)&&sr(ft,!0);n=ft.concat(n);hr(r,rt)}else tt=b,i.html(f);for(n.unshift(g),p=fr(n,tt,r,o,i,a,h,c,l),t(u,function(n,t){n==tt&&(u[t]=i[0])}),w=ai(i[0].childNodes,o);v.length;){var et=v.shift(),ot=v.shift(),lt=v.shift(),ht=v.shift(),it=i[0];et.$$destroyed||(ot!==b&&(ct=ot.className,l.hasElementTranscludeDirective&&a.replace||(it=ue(tt)),si(lt,e(ot),it),li(e(it),ct)),st=p.transcludeOnThisElement?ui(et,p.transclude,ht):ht,p(w,et,it,u,st))}v=null}),function(n,t,i,r,u){var f=u;t.$$destroyed||(v?v.push(t,i,r,f):(p.transcludeOnThisElement&&(f=ui(t,p.transclude,u)),p(w,t,i,r,f)))}}function iu(n,t){var i=t.priority-n.priority;return i!==0?i:n.name!==t.name?n.name<t.name?-1:1:n.index-t.index}function ri(n,t,i,r){function u(n){return n?" (module: "+n+")":""}if(t)throw d("multidir","Multiple directives [{0}{1}, {2}{3}] asking for {4} on: {5}",t.name,u(t.$$moduleName),i.name,u(i.$$moduleName),n,yt(r));}function ru(n,t){var i=l(t,!0);i&&n.push({priority:0,compile:function(n){var t=n.parent(),r=!!t.length;return r&&ti.$$addBindingClass(t),function(n,t){var u=t.parent();r||ti.$$addBindingClass(u);ti.$$addBindingInfo(u,i.expressions);n.$watch(i,function(n){t[0].nodeValue=n})}}})}function pi(t,i){t=a(t||"html");switch(t){case"svg":case"math":var r=n.document.createElement("div");return r.innerHTML="<"+t+">"+i+"<\/"+t+">",r.childNodes[0].childNodes;default:return i}}function uu(n,t){if(t=="srcdoc")return bt.HTML;var i=vt(n);if(t=="xlinkHref"||i=="form"&&t=="action"||i!="img"&&(t=="src"||t=="ngSrc"))return bt.RESOURCE_URL}function fu(n,t,i,r,u){var e=uu(n,r),f;if(u=st[r]||u,f=l(i,!0,e,u),f){if(r==="multiple"&&vt(n)==="select")throw d("selmulti","Binding to the 'multiple' attribute is not supported. Element: {0}",yt(n));t.push({priority:100,compile:function(){return{pre:function(n,t,o){var h=o.$$observers||(o.$$observers=p()),s;if(ht.test(r))throw d("nodomevents","Interpolations for HTML DOM event attributes are disallowed.  Please use the ng- versions (such as ng-click instead of onclick) instead.");(s=o[r],s!==i&&(f=s&&l(s,!0,e,u),i=s),f)&&(o[r]=f(n),(h[r]||(h[r]=[])).$$inter=!0,(o.$$observers&&o.$$observers[r].$$scope||n).$watch(f,function(n,t){r==="class"&&n!=t?o.$updateClass(n,t):o.$set(r,n)}))}}}})}}function si(t,i,r){var f=i[0],s=i.length,l=f.parentNode,u,a,c;if(t)for(u=0,a=t.length;u<a;u++)if(t[u]==f){t[u++]=r;for(var o=u,h=o+s-1,v=t.length;o<v;o++,h++)h<v?t[o]=t[h]:delete t[o];t.length-=s-1;t.context===f&&(t.context=r);break}for(l&&l.replaceChild(r,f),c=n.document.createDocumentFragment(),u=0;u<s;u++)c.appendChild(i[u]);for(e.hasData(f)&&(e.data(r,e.data(f)),e(f).off("$destroy")),e.cleanData(c.querySelectorAll("*")),u=1;u<s;u++)delete i[u];i[0]=r;i.length=1}function ar(n,t){return v(function(){return n.apply(null,arguments)},n,t)}function vr(n,t,i,r,u,f){try{n(t,i,r,u,f)}catch(e){nt(e,yt(i))}}function wi(n,i,r,u,e){function v(t,i,u){f(r.$onChanges)&&i!==u&&(ii||(n.$$postDigest(pr),ii=[]),s||(s={},ii.push(y)),s[t]&&(u=s[t].previousValue),s[t]=new uf(u,i))}function y(){r.$onChanges(s);s=undefined}var c=[],a={},s;return t(u,function(t,u){var f=t.attrName,p=t.optional,tt=t.mode,y,s,nt,k,w,b,g;switch(tt){case"@":p||at.call(i,f)||(r[u]=i[f]=void 0);i.$observe(f,function(n){if(h(n)||oi(n)){var t=r[u];v(u,n,t);r[u]=n}});i.$$observers[f].$$scope=n;y=i[f];h(y)?r[u]=l(y)(n):oi(y)&&(r[u]=y);a[u]=new uf(rf,r[u]);break;case"=":if(!at.call(i,f)){if(p)break;i[f]=void 0}if(p&&!i[f])break;s=ft(i[f]);k=s.literal?ot:function(n,t){return n===t||n!==n&&t!==t};nt=s.assign||function(){y=r[u]=s(n);throw d("nonassign","Expression '{0}' in attribute '{1}' used with directive '{2}' is non-assignable!",i[f],f,e.name);};y=r[u]=s(n);b=function(t){return k(t,r[u])||(k(t,y)?nt(n,t=r[u]):r[u]=t),y=t};b.$stateful=!0;w=t.collection?n.$watchCollection(i[f],b):n.$watch(ft(i[f],b),null,s.literal);c.push(w);break;case"<":if(!at.call(i,f)){if(p)break;i[f]=void 0}if(p&&!i[f])break;s=ft(i[f]);g=r[u]=s(n);a[u]=new uf(rf,r[u]);w=n.$watch(s,function(n,t){if(t===n){if(t===g)return;t=g}v(u,n,t);r[u]=n},s.literal);c.push(w);break;case"&":if(s=i.hasOwnProperty(f)?ft(i[f]):o,s===o&&p)break;r[u]=function(t){return s(n,t)}}}),{initialChanges:a,removeWatches:c.length&&function(){for(var n=0,t=c.length;n<t;++n)c[n]()}}}var yr=/^\w/,bi=n.document.createElement("div"),ki=k,ii;ci.prototype={$normalize:pt,$addClass:function(n){n&&n.length>0&&dt.addClass(this.$$element,n)},$removeClass:function(n){n&&n.length>0&&dt.removeClass(this.$$element,n)},$updateClass:function(n,t){var r=ih(n,t),i;r&&r.length&&dt.addClass(this.$$element,r);i=ih(t,n);i&&i.length&&dt.removeClass(this.$$element,i)},$set:function(n,i,f,e){var d=this.$$element[0],w=bs(d,n),a=iy(n),b=n,h,s,v,l,p;if(w?(this.$$element.prop(n,i),e=w):a&&(this[a]=i,b=a),this[n]=i,e?this.$attr[n]=e:(e=this.$attr[n],e||(this.$attr[n]=e=fs(n,"-"))),h=vt(this.$$element),h==="a"&&(n==="href"||n==="xlinkHref")||h==="img"&&n==="src")this[n]=i=ni(i,n==="src");else if(h==="img"&&n==="srcset"&&u(i)){var o="",k=y(i),g=/\s/.test(k)?/(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/:/(,)/,c=k.split(g),tt=Math.floor(c.length/2);for(s=0;s<tt;s++)v=s*2,o+=ni(y(c[v]),!0),o+=" "+y(c[v+1]);l=y(c[s*2]).split(/\s/);o+=ni(y(l[0]),!0);l.length===2&&(o+=" "+y(l[1]));this[n]=i=o}f!==!1&&(i===null||r(i)?this.$$element.removeAttr(e):yr.test(e)?this.$$element.attr(e,i):wr(this.$$element[0],e,i));p=this.$$observers;p&&t(p[b],function(n){try{n(i)}catch(t){nt(t)}})},$observe:function(n,t){var i=this,f=i.$$observers||(i.$$observers=p()),u=f[n]||(f[n]=[]);return u.push(t),wt.$evalAsync(function(){u.$$inter||!i.hasOwnProperty(n)||r(i[n])||t(i[n])}),function(){or(u,t)}}};var gi=l.startSymbol(),nr=l.endSymbol(),tr=gi=="{{"&&nr=="}}"?rr:function(n){return n.replace(/\{\{/g,gi).replace(/}}/g,nr)},br=/^ngAttr[A-Z]/,kr=/^(.+)Start$/;return ti.$$addBindingInfo=w?function(n,t){var i=n.data("$binding")||[];c(t)?i=i.concat(t):i.push(t);n.data("$binding",i)}:o,ti.$$addBindingClass=w?function(n){li(n,"ng-binding")}:o,ti.$$addScopeInfo=w?function(n,t,i,r){var u=i?r?"$isolateScopeNoTemplate":"$isolateScope":"$scope";n.data(u,t)}:o,ti.$$addScopeClass=w?function(n,t){li(n,t?"ng-isolate-scope":"ng-scope")}:o,ti.$$createComment=function(t,i){var r="";return w&&(r=" "+(t||"")+": ",i&&(r+=i+" ")),n.document.createComment(r)},ti}]}function uf(n,t){this.previousValue=n;this.currentValue=t}function pt(n){return pr(n.replace(he,""))}function ih(n,t){var u="",e=n.split(/\s+/),o=t.split(/\s+/),i,f,r;n:for(i=0;i<e.length;i++){for(f=e[i],r=0;r<o.length;r++)if(f==o[r])continue n;u+=(u.length>0?" ":"")+f}return u}function rh(n){var t,i;if(n=e(n),t=n.length,t<=1)return n;while(t--)i=n[t],i.nodeType===vu&&aa.call(n,t,1);return n}function fh(n,t){if(t&&h(t))return t;if(h(n)){var i=ce.exec(n);if(i)return i[3]}}function hp(){var n={},t=!1;this.has=function(t){return n.hasOwnProperty(t)};this.register=function(t,i){ki(t,"controller");s(t)?v(n,t):n[t]=i};this.allowGlobals=function(){t=!0};this.$get=["$injector","$window",function(i,r){function u(n,t,i,r){if(!(n&&s(n.$scope)))throw l("$controller")("noscp","Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`.",r,t);n.$scope[t]=i}return function(e,o,l,a){var y,b,p,w,k;if(l=l===!0,a&&h(a)&&(w=a),h(e)){if(b=e.match(ce),!b)throw uh("ctrlfmt","Badly formed controller string '{0}'. Must match `__name__ as __id__` or `__name__`.",e);p=b[1];w=w||b[3];e=n.hasOwnProperty(p)?n[p]:es(o.$scope,p,!0)||(t?es(r,p,!0):undefined);bi(e,p,!0)}return l?(k=(c(e)?e[e.length-1]:e).prototype,y=Object.create(k||null),w&&u(o,w,y,p||e.name),v(function(){var n=i.invoke(e,y,o,p);return n!==y&&(s(n)||f(n))&&(y=n,w&&u(o,w,y,p||e.name)),y},{instance:y,identifier:w})):(y=i.instantiate(e,o,p),w&&u(o,w,y,p||e.name),y)}}]}function cp(){this.$get=["$window",function(n){return e(n.document)}]}function lp(){this.$get=["$log",function(n){return function(){n.error.apply(n,arguments)}}]}function ae(n){return s(n)?et(n)?n.toISOString():ar(n):n}function bp(){this.$get=function(){return function(n){if(!n)return"";var i=[];return lo(n,function(n,u){n===null||r(n)||(c(n)?t(n,function(n){i.push(ct(u)+"="+ct(ae(n)))}):i.push(ct(u)+"="+ct(ae(n))))}),i.join("&")}}}function kp(){this.$get=function(){return function(n){function i(n,f,e){n===null||r(n)||(c(n)?t(n,function(n,t){i(n,f+"["+(s(n)?t:"")+"]")}):s(n)&&!et(n)?lo(n,function(n,t){i(n,f+(e?"":"[")+t+(e?"":"]"))}):u.push(ct(f)+"="+ct(ae(n))))}if(!n)return"";var u=[];return i(n,"",!0),u.join("&")}}}function ve(n,t){var i,r;return h(n)&&(i=n.replace(pp,"").trim(),i&&(r=t("Content-Type"),(r&&r.indexOf(eh)===0||dp(i))&&(n=ko(i)))),n}function dp(n){var t=n.match(vp);return t&&yp[t[0]].test(n)}function sh(n){function u(n,t){n&&(i[n]=i[n]?i[n]+", "+t:t)}var i=p(),r;return h(n)?t(n.split("\n"),function(n){r=n.indexOf(":");u(a(y(n.substr(0,r))),y(n.substr(r+1)))}):s(n)&&t(n,function(n,t){u(a(t),y(n))}),i}function hh(n){var t;return function(i){if(t||(t=sh(n)),i){var r=t[a(i)];return r===void 0&&(r=null),r}return t}}function ch(n,i,r,u){return f(u)?u(n,i,r):(t(u,function(t){n=t(n,i,r)}),n)}function ye(n){return 200<=n&&n<300}function gp(){var n=this.defaults={transformResponse:[ve],transformRequest:[function(n){return s(n)&&!wa(n)&&!ka(n)&&!ba(n)?ar(n):n}],headers:{common:{Accept:"application/json, text/plain, */*"},post:st(le),put:st(le),patch:st(le)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",paramSerializer:"$httpParamSerializer"},i=!1,e,o;this.useApplyAsync=function(n){return u(n)?(i=!!n,this):i};e=!0;this.useLegacyPromiseExtensions=function(n){return u(n)?(e=!!n,this):e};o=this.interceptors=[];this.$get=["$httpBackend","$$cookieReader","$cacheFactory","$rootScope","$q","$injector",function(y,p,w,b,k,d){function g(i){function w(n){var t=v({},n);return t.data=ch(n.data,n.headers,n.status,u.transformResponse),ye(n.status)?t:k.reject(t)}function g(n,i){var r,u={};return t(n,function(n,t){f(n)?(r=n(i),r!=null&&(u[t]=r)):u[t]=n}),u}function tt(t){var i=n.headers,u=v({},t.headers),r,f,e;i=v({},i.common,i[a(t.method)]);n:for(r in i){f=a(r);for(e in u)if(a(e)===f)continue n;u[r]=i[r]}return g(u,st(t))}var u,y,p;if(!s(i))throw l("$http")("badreq","Http request configuration must be an object.  Received: {0}",i);if(!h(i.url))throw l("$http")("badreq","Http request configuration url must be a string.  Received: {0}",i.url);u=v({method:"get",transformRequest:n.transformRequest,transformResponse:n.transformResponse,paramSerializer:n.paramSerializer},i);u.headers=tt(i);u.method=ir(u.method);u.paramSerializer=h(u.paramSerializer)?d.get(u.paramSerializer):u.paramSerializer;var b=function(i){var u=i.headers,f=ch(i.data,hh(u),undefined,i.transformRequest);return r(f)&&t(u,function(n,t){a(t)==="content-type"&&delete u[t]}),r(i.withCredentials)&&!r(n.withCredentials)&&(i.withCredentials=n.withCredentials),ut(i,f).then(w,w)},c=[b,undefined],o=k.when(u);for(t(nt,function(n){(n.request||n.requestError)&&c.unshift(n.request,n.requestError);(n.response||n.responseError)&&c.push(n.response,n.responseError)});c.length;)y=c.shift(),p=c.shift(),o=o.then(y,p);return e?(o.success=function(n){return bi(n,"fn"),o.then(function(t){n(t.data,t.status,t.headers,u)}),o},o.error=function(n){return bi(n,"fn"),o.then(null,function(t){n(t.data,t.status,t.headers,u)}),o}):(o.success=oh("success"),o.error=oh("error")),o}function it(){t(arguments,function(n){g[n]=function(t,i){return g(v({},i||{},{method:n,url:t}))}})}function rt(){t(arguments,function(n){g[n]=function(t,i,r){return g(v({},r||{},{method:n,url:t,data:i}))}})}function ut(f,e){function it(n){if(n){var r={};return t(n,function(n,t){r[t]=function(t){function r(){n(t)}i?b.$applyAsync(r):b.$$phase?r():b.$apply(r)}}),r}}function et(n,t,r,u){function f(){a(t,n,r,u)}h&&(ye(n)?h.put(l,[n,t,sh(r),u]):h.remove(l));i?b.$applyAsync(f):(f(),b.$$phase||b.$apply())}function a(n,t,i,r){t=t>=-1?t:0;(ye(t)?v.resolve:v.reject)({data:n,status:t,headers:hh(i),config:f,statusText:r})}function rt(n){a(n.data,n.status,st(n.headers()),n.statusText)}function ut(){var n=g.pendingRequests.indexOf(f);n!==-1&&g.pendingRequests.splice(n,1)}var v=k.defer(),w=v.promise,h,o,nt=f.headers,l=ft(f.url,f.paramSerializer(f.params)),d;return g.pendingRequests.push(f),w.then(ut,ut),(f.cache||n.cache)&&f.cache!==!1&&(f.method==="GET"||f.method==="JSONP")&&(h=s(f.cache)?f.cache:s(n.cache)?n.cache:tt),h&&(o=h.get(l),u(o)?hu(o)?o.then(rt,rt):c(o)?a(o[1],o[0],st(o[2]),o[3]):a(o,200,{},"OK"):h.put(l,w)),r(o)&&(d=ac(f.url)?p()[f.xsrfCookieName||n.xsrfCookieName]:undefined,d&&(nt[f.xsrfHeaderName||n.xsrfHeaderName]=d),y(f.method,l,e,et,nt,f.timeout,f.withCredentials,f.responseType,it(f.eventHandlers),it(f.uploadEventHandlers))),w}function ft(n,t){return t.length>0&&(n+=(n.indexOf("?")==-1?"?":"&")+t),n}var tt=w("$http"),nt;return n.paramSerializer=h(n.paramSerializer)?d.get(n.paramSerializer):n.paramSerializer,nt=[],t(o,function(n){nt.unshift(h(n)?d.get(n):d.invoke(n))}),g.pendingRequests=[],it("get","delete","head","jsonp"),rt("post","put","patch"),g.defaults=n,g}]}function nw(){this.$get=function(){return function(){return new n.XMLHttpRequest}}}function tw(){this.$get=["$browser","$window","$document","$xhrFactory",function(n,t,i,r){return iw(n,r,n.defer,t.angular.callbacks,i[0])}]}function iw(n,i,f,e,s){function h(n,t,i){var r=s.createElement("script"),u=null;return r.type="text/javascript",r.src=n,r.async=!0,u=function(n){yr(r,"load",u);yr(r,"error",u);s.body.removeChild(r);r=null;var f=-1,o="unknown";n&&(n.type!=="load"||e[t].called||(n={type:"error"}),o=n.type,f=n.type==="error"?404:200);i&&i(f,o)},yu(r,"load",u),yu(r,"error",u),s.body.appendChild(r),u}return function(s,c,l,v,y,p,w,b,k,d){function ft(){tt&&tt();g&&g.abort()}function ut(t,i,r,e,s){u(rt)&&f.cancel(rt);tt=g=null;t(i,r,e,s);n.$$completeOutstandingRequest(o)}var nt,tt,g,it,rt;if(n.$$incOutstandingRequestCount(),c=c||n.url(),a(s)=="jsonp")nt="_"+(e.counter++).toString(36),e[nt]=function(n){e[nt].data=n;e[nt].called=!0},tt=h(c.replace("JSON_CALLBACK","angular.callbacks."+nt),nt,function(n,t){ut(v,n,e[nt].data,"",t);e[nt]=o});else{if(g=i(s,c),g.open(s,c,!0),t(y,function(n,t){u(n)&&g.setRequestHeader(t,n)}),g.onload=function(){var i=g.statusText||"",t="response"in g?g.response:g.responseText,n=g.status===1223?204:g.status;n===0&&(n=t?200:fi(c).protocol=="file"?404:0);ut(v,n,t,g.getAllResponseHeaders(),i)},it=function(){ut(v,-1,null,null,"")},g.onerror=it,g.onabort=it,t(k,function(n,t){g.addEventListener(t,n)}),t(d,function(n,t){g.upload.addEventListener(t,n)}),w&&(g.withCredentials=!0),b)try{g.responseType=b}catch(et){if(b!=="json")throw et;}g.send(r(l)?null:l)}p>0?rt=f(ft,p):hu(p)&&p.then(ft)}}function rw(){var n="{{",t="}}";this.startSymbol=function(t){return t?(n=t,this):n};this.endSymbol=function(n){return n?(t=n,this):t};this.$get=["$parse","$exceptionHandler","$sce",function(i,e,o){function l(n){return"\\\\\\"+n}function s(i){return i.replace(y,n).replace(p,t)}function w(n){if(n==null)return"";switch(typeof n){case"string":break;case"number":n=""+n;break;default:n=ar(n)}return n}function b(n,t,i,r){var u;return u=n.$watch(function(n){return u(),r(n)},t,i)}function h(h,l,y,p){function lt(n){try{return n=ct(n),p&&!u(n)?n:w(n)}catch(t){e(ri.interr(h,t))}}var g,ot,et,ct;if(!h.length||h.indexOf(n)===-1)return l||(ot=s(h),g=ft(ot),g.exp=h,g.expressions=[],g.$$watchDelegate=b),g;p=!!p;for(var nt,it,k=0,tt=[],rt=[],st=h.length,ut,d=[],ht=[];k<st;)if((nt=h.indexOf(n,k))!=-1&&(it=h.indexOf(t,nt+c))!=-1)k!==nt&&d.push(s(h.substring(k,nt))),ut=h.substring(nt+c,it),tt.push(ut),rt.push(i(ut,lt)),k=it+a,ht.push(d.length),d.push("");else{k!==st&&d.push(s(h.substring(k)));break}return y&&d.length>1&&ri.throwNoconcat(h),!l||tt.length?(et=function(n){for(var t=0,i=tt.length;t<i;t++){if(p&&r(n[t]))return;d[ht[t]]=n[t]}return d.join("")},ct=function(n){return y?o.getTrusted(y,n):o.valueOf(n)},v(function(n){var t=0,i=tt.length,r=new Array(i);try{for(;t<i;t++)r[t]=rt[t](n);return et(r)}catch(u){e(ri.interr(h,u))}},{exp:h,expressions:tt,$$watchDelegate:function(n,t){var i;return n.$watchGroup(rt,function(r,u){var e=et(r);f(t)&&t.call(this,e,r!==u?i:e,n);i=e})}})):void 0}var c=n.length,a=t.length,y=new RegExp(n.replace(/./g,l),"g"),p=new RegExp(t.replace(/./g,l),"g");return h.startSymbol=function(){return n},h.endSymbol=function(){return t},h}]}function uw(){this.$get=["$rootScope","$window","$q","$$q","$browser",function(n,t,i,r,f){function o(o,s,h,c){function w(){p?o.apply(null,b):o(a)}var p=arguments.length>4,b=p?cr(arguments,4):[],k=t.setInterval,d=t.clearInterval,a=0,y=u(c)&&!c,v=(y?r:i).defer(),l=v.promise;return h=u(h)?h:0,l.$$intervalId=k(function(){y?f.defer(w):n.$evalAsync(w);v.notify(a++);h>0&&a>=h&&(v.resolve(a),d(l.$$intervalId),delete e[l.$$intervalId]);y||n.$apply()},s),e[l.$$intervalId]=v,l}var e={};return o.cancel=function(n){return n&&n.$$intervalId in e?(e[n.$$intervalId].reject("canceled"),t.clearInterval(n.$$intervalId),delete e[n.$$intervalId],!0):!1},o}]}function pe(n){for(var t=n.split("/"),i=t.length;i--;)t[i]=cu(t[i]);return t.join("/")}function lh(n,t){var i=fi(n);t.$$protocol=i.protocol;t.$$host=i.hostname;t.$$port=tt(i.port)||ew[i.protocol]||null}function ah(n,t){var r=n.charAt(0)!=="/",i;r&&(n="/"+n);i=fi(n);t.$$path=decodeURIComponent(r&&i.pathname.charAt(0)==="/"?i.pathname.substring(1):i.pathname);t.$$search=is(i.search);t.$$hash=decodeURIComponent(i.hash);t.$$path&&t.$$path.charAt(0)!="/"&&(t.$$path="/"+t.$$path)}function vh(n,t){return n.lastIndexOf(t,0)===0}function wt(n,t){if(vh(t,n))return t.substr(n.length)}function vi(n){var t=n.indexOf("#");return t==-1?n:n.substr(0,t)}function gr(n){return n.replace(/(#.+)|#$/,"$1")}function ow(n){return n.substr(0,vi(n).lastIndexOf("/")+1)}function sw(n){return n.substring(0,n.indexOf("/",n.indexOf("//")+2))}function we(n,t,i){this.$$html5=!0;i=i||"";lh(n,this);this.$$parse=function(n){var i=wt(t,n);if(!h(i))throw ff("ipthprfx",'Invalid url "{0}", missing path prefix "{1}".',n,t);ah(i,this);this.$$path||(this.$$path="/");this.$$compose()};this.$$compose=function(){var n=gf(this.$$search),i=this.$$hash?"#"+cu(this.$$hash):"";this.$$url=pe(this.$$path)+(n?"?"+n:"")+i;this.$$absUrl=t+this.$$url.substr(1)};this.$$parseLinkUrl=function(r,f){if(f&&f[0]==="#")return this.hash(f.slice(1)),!0;var e,s,o;return u(e=wt(n,r))?(s=e,o=u(e=wt(i,e))?t+(wt("/",e)||e):n+s):u(e=wt(t,r))?o=t+e:t==r+"/"&&(o=t),o&&this.$$parse(o),!!o}}function be(n,t,i){lh(n,this);this.$$parse=function(u){function o(n,t,i){var u=/^\/[A-Z]:(\/.*)/,r;return(vh(t,i)&&(t=t.replace(i,"")),u.exec(t))?n:(r=u.exec(n),r?r[1]:n)}var e=wt(n,u)||wt(t,u),f;r(e)||e.charAt(0)!=="#"?this.$$html5?f=e:(f="",r(e)&&(n=u,this.replace())):(f=wt(i,e),r(f)&&(f=e));ah(f,this);this.$$path=o(this.$$path,f,n);this.$$compose()};this.$$compose=function(){var t=gf(this.$$search),r=this.$$hash?"#"+cu(this.$$hash):"";this.$$url=pe(this.$$path)+(t?"?"+t:"")+r;this.$$absUrl=n+(this.$$url?i+this.$$url:"")};this.$$parseLinkUrl=function(t){return vi(n)==vi(t)?(this.$$parse(t),!0):!1}}function yh(n,t,i){this.$$html5=!0;be.apply(this,arguments);this.$$parseLinkUrl=function(r,u){if(u&&u[0]==="#")return this.hash(u.slice(1)),!0;var f,e;return n==vi(r)?f=r:(e=wt(t,r))?f=n+i+e:t===r+"/"&&(f=t),f&&this.$$parse(f),!!f};this.$$compose=function(){var t=gf(this.$$search),r=this.$$hash?"#"+cu(this.$$hash):"";this.$$url=pe(this.$$path)+(t?"?"+t:"")+r;this.$$absUrl=n+i+this.$$url}}function ef(n){return function(){return this[n]}}function wh(n,t){return function(i){return r(i)?this[n]:(this[n]=t(i),this.$$compose(),this)}}function hw(){var t="",n={enabled:!1,requireBase:!0,rewriteLinks:!0};this.hashPrefix=function(n){return u(n)?(t=n,this):t};this.html5Mode=function(t){return oi(t)?(n.enabled=t,this):s(t)?(oi(t.enabled)&&(n.enabled=t.enabled),oi(t.requireBase)&&(n.requireBase=t.requireBase),oi(t.rewriteLinks)&&(n.rewriteLinks=t.rewriteLinks),this):n};this.$get=["$rootScope","$browser","$sniffer","$rootElement","$window",function(i,u,f,o,h){function k(n,t,i){var r=c.url(),f=c.$$state;try{u.url(n,t,i);c.$$state=u.state()}catch(e){c.url(r);c.$$state=f;throw e;}}function d(n,t){i.$broadcast("$locationChangeSuccess",c.absUrl(),n,c.$$state,t)}var c,y,w=u.baseHref(),l=u.url(),a,p,b,v;if(n.enabled){if(!w&&n.requireBase)throw ff("nobase","$location in HTML5 mode requires a <base> tag to be present!");a=sw(l)+(w||"/");y=f.history?we:yh}else a=vi(l),y=be;p=ow(a);c=new y(a,p,"#"+t);c.$$parseLinkUrl(l,l);c.$$state=u.state();b=/^\s*(javascript|mailto):/i;o.on("click",function(t){var r,f,l;if(n.rewriteLinks&&!t.ctrlKey&&!t.metaKey&&!t.shiftKey&&t.which!=2&&t.button!=2){for(r=e(t.target);vt(r[0])!=="a";)if(r[0]===o[0]||!(r=r.parent())[0])return;(f=r.prop("href"),l=r.attr("href")||r.attr("xlink:href"),s(f)&&f.toString()==="[object SVGAnimatedString]"&&(f=fi(f.animVal).href),b.test(f))||!f||r.attr("target")||t.isDefaultPrevented()||c.$$parseLinkUrl(f,l)&&(t.preventDefault(),c.absUrl()!=u.url()&&(i.$apply(),h.angular["ff-684208-preventDefault"]=!0))}});gr(c.absUrl())!=gr(l)&&u.url(c.absUrl(),!0);v=!0;u.onUrlChange(function(n,t){if(r(wt(p,n))){h.location.href=n;return}i.$evalAsync(function(){var r=c.absUrl(),u=c.$$state,f;(n=gr(n),c.$$parse(n),c.$$state=t,f=i.$broadcast("$locationChangeStart",n,r,t,u).defaultPrevented,c.absUrl()===n)&&(f?(c.$$parse(r),c.$$state=u,k(r,!1,u)):(v=!1,d(r,u)))});i.$$phase||i.$digest()});return i.$watch(function(){var t=gr(u.url()),e=gr(c.absUrl()),n=u.state(),o=c.$$replace,r=t!==e||c.$$html5&&f.history&&n!==c.$$state;(v||r)&&(v=!1,i.$evalAsync(function(){var u=c.absUrl(),f=i.$broadcast("$locationChangeStart",u,t,c.$$state,n).defaultPrevented;c.absUrl()===u&&(f?(c.$$parse(t),c.$$state=n):(r&&k(u,o,n===c.$$state?null:c.$$state),d(t,n)))}));c.$$replace=!1}),c}]}function cw(){var n=!0,i=this;this.debugEnabled=function(t){return u(t)?(n=t,this):n};this.$get=["$window",function(r){function f(n){return n instanceof Error&&(n.stack?n=n.message&&n.stack.indexOf(n.message)===-1?"Error: "+n.message+"\n"+n.stack:n.stack:n.sourceURL&&(n=n.message+"\n"+n.sourceURL+":"+n.line)),n}function u(n){var i=r.console||{},u=i[n]||i.log||o,e=!1;try{e=!!u.apply}catch(s){}return e?function(){var n=[];return t(arguments,function(t){n.push(f(t))}),u.apply(i,n)}:function(n,t){u(n,t==null?"":t)}}return{log:u("log"),info:u("info"),warn:u("warn"),error:u("error"),debug:function(){var t=u("debug");return function(){n&&t.apply(i,arguments)}}()}}]}function nr(n,t){if(n==="__defineGetter__"||n==="__defineSetter__"||n==="__lookupGetter__"||n==="__lookupSetter__"||n==="__proto__")throw it("isecfld","Attempting to access a disallowed field in Angular expressions! Expression: {0}",t);return n}function bh(n){return n+""}function ui(n,t){if(n)if(n.constructor===n)throw it("isecfn","Referencing Function in Angular expressions is disallowed! Expression: {0}",t);else if(n.window===n)throw it("isecwindow","Referencing the Window in Angular expressions is disallowed! Expression: {0}",t);else if(n.children&&(n.nodeName||n.prop&&n.attr&&n.find))throw it("isecdom","Referencing DOM nodes in Angular expressions is disallowed! Expression: {0}",t);else if(n===Object)throw it("isecobj","Referencing Object in Angular expressions is disallowed! Expression: {0}",t);return n}function kh(n,t){if(n)if(n.constructor===n)throw it("isecfn","Referencing Function in Angular expressions is disallowed! Expression: {0}",t);else if(n===lw||n===aw||n===vw)throw it("isecff","Referencing call, apply or bind in Angular expressions is disallowed! Expression: {0}",t);}function of(n,t){if(n&&(n===0..constructor||n===(!1).constructor||n==="".constructor||n==={}.constructor||n===[].constructor||n===Function.constructor))throw it("isecaf","Assigning to a constructor is disallowed! Expression: {0}",t);}function yw(n,t){return typeof n!="undefined"?n:t}function gh(n,t){return typeof n=="undefined"?t:typeof t=="undefined"?n:n+t}function nc(n,t){var i=n(t);return!i.$stateful}function k(n,r){var u,f;switch(n.type){case i.Program:u=!0;t(n.body,function(n){k(n.expression,r);u=u&&n.expression.constant});n.constant=u;break;case i.Literal:n.constant=!0;n.toWatch=[];break;case i.UnaryExpression:k(n.argument,r);n.constant=n.argument.constant;n.toWatch=n.argument.toWatch;break;case i.BinaryExpression:k(n.left,r);k(n.right,r);n.constant=n.left.constant&&n.right.constant;n.toWatch=n.left.toWatch.concat(n.right.toWatch);break;case i.LogicalExpression:k(n.left,r);k(n.right,r);n.constant=n.left.constant&&n.right.constant;n.toWatch=n.constant?[]:[n];break;case i.ConditionalExpression:k(n.test,r);k(n.alternate,r);k(n.consequent,r);n.constant=n.test.constant&&n.alternate.constant&&n.consequent.constant;n.toWatch=n.constant?[]:[n];break;case i.Identifier:n.constant=!1;n.toWatch=[n];break;case i.MemberExpression:k(n.object,r);n.computed&&k(n.property,r);n.constant=n.object.constant&&(!n.computed||n.property.constant);n.toWatch=[n];break;case i.CallExpression:u=n.filter?nc(r,n.callee.name):!1;f=[];t(n.arguments,function(n){k(n,r);u=u&&n.constant;n.constant||f.push.apply(f,n.toWatch)});n.constant=u;n.toWatch=n.filter&&nc(r,n.callee.name)?f:[n];break;case i.AssignmentExpression:k(n.left,r);k(n.right,r);n.constant=n.left.constant&&n.right.constant;n.toWatch=[n];break;case i.ArrayExpression:u=!0;f=[];t(n.elements,function(n){k(n,r);u=u&&n.constant;n.constant||f.push.apply(f,n.toWatch)});n.constant=u;n.toWatch=f;break;case i.ObjectExpression:u=!0;f=[];t(n.properties,function(n){k(n.value,r);u=u&&n.value.constant&&!n.computed;n.value.constant||f.push.apply(f,n.value.toWatch)});n.constant=u;n.toWatch=f;break;case i.ThisExpression:n.constant=!1;n.toWatch=[];break;case i.LocalsExpression:n.constant=!1;n.toWatch=[]}}function tc(n){if(n.length==1){var i=n[0].expression,t=i.toWatch;return t.length!==1?t:t[0]!==i?t:undefined}}function ic(n){return n.type===i.Identifier||n.type===i.MemberExpression}function rc(n){if(n.body.length===1&&ic(n.body[0].expression))return{type:i.AssignmentExpression,left:n.body[0].expression,right:{type:i.NGValueParameter},operator:"="}}function uc(n){return n.body.length===0||n.body.length===1&&(n.body[0].expression.type===i.Literal||n.body[0].expression.type===i.ArrayExpression||n.body[0].expression.type===i.ObjectExpression)}function fc(n){return n.constant}function ec(n,t){this.astBuilder=n;this.$filter=t}function oc(n,t){this.astBuilder=n;this.$filter=t}function cf(n){return n=="constructor"}function ke(n){return f(n.valueOf)?n.valueOf():sc.call(n)}function pw(){var e=p(),s=p(),r={"true":!0,"false":!1,"null":null,undefined:undefined},n,i;this.addLiteral=function(n,t){r[n]=t};this.setIdentifierFns=function(t,r){return n=t,i=r,this};this.$get=["$filter",function(h){function w(n,t,i){var r,l,u,f;i=i||c;switch(typeof n){case"string":if(n=n.trim(),u=n,f=i?s:e,r=f[u],!r){n.charAt(0)===":"&&n.charAt(1)===":"&&(l=!0,n=n.substring(2));var p=i?g:d,w=new sf(p),tt=new hf(w,h,p);r=tt.parse(n);r.constant?r.$$watchDelegate=nt:l?r.$$watchDelegate=r.literal?k:b:r.inputs&&(r.$$watchDelegate=v);i&&(r=a(r));f[u]=r}return y(r,t);case"function":return y(n,t);default:return y(o,t)}}function a(n){function t(t,i,r,u){var f=c;c=!0;try{return n(t,i,r,u)}finally{c=f}}if(!n)return n;t.$$watchDelegate=n.$$watchDelegate;t.assign=a(n.assign);t.constant=n.constant;t.literal=n.literal;for(var i=0;n.inputs&&i<n.inputs.length;++i)n.inputs[i]=a(n.inputs[i]);return t.inputs=n.inputs,t}function l(n,t){return n==null||t==null?n===t:typeof n=="object"&&(n=ke(n),typeof n=="object")?!1:n===t||n!==n&&t!==t}function v(n,t,i,r,u){var f=r.inputs,o,c,s,h,e,a;if(f.length===1)return c=l,f=f[0],n.$watch(function(n){var t=f(n);return l(t,c)||(o=r(n,undefined,undefined,[t]),c=t&&ke(t)),o},t,i,u);for(s=[],h=[],e=0,a=f.length;e<a;e++)s[e]=l,h[e]=null;return n.$watch(function(n){for(var i,u=!1,t=0,e=f.length;t<e;t++)i=f[t](n),(u||(u=!l(i,s[t])))&&(h[t]=i,s[t]=i&&ke(i));return u&&(o=r(n,undefined,undefined,h)),o},t,i,u)}function b(n,t,i,r){var e,o;return e=n.$watch(function(n){return r(n)},function(n,i,r){o=n;f(t)&&t.apply(this,arguments);u(n)&&r.$$postDigest(function(){u(o)&&e()})},i)}function k(n,i,r,e){function h(n){var i=!0;return t(n,function(n){u(n)||(i=!1)}),i}var o,s;return o=n.$watch(function(n){return e(n)},function(n,t,r){s=n;f(i)&&i.call(this,n,t,r);h(n)&&r.$$postDigest(function(){h(s)&&o()})},r)}function nt(n,t,i,r){var u;return u=n.$watch(function(n){return u(),r(n)},t,i)}function y(n,t){if(!t)return n;var r=n.$$watchDelegate,f=!1,e=r!==k&&r!==b,i=e?function(i,r,u,e){var o=f&&e?e[0]:n(i,r,u,e);return t(o,i,r)}:function(i,r,f,e){var o=n(i,r,f,e),s=t(o,i,r);return u(o)?s:o};return n.$$watchDelegate&&n.$$watchDelegate!==v?i.$$watchDelegate=n.$$watchDelegate:t.$stateful||(i.$$watchDelegate=v,f=!n.inputs,i.inputs=n.inputs?n.inputs:[n]),i}var p=ii().noUnsafeEval,d={csp:p,expensiveChecks:!1,literals:ti(r),isIdentifierStart:f(n)&&n,isIdentifierContinue:f(i)&&i},g={csp:p,expensiveChecks:!0,literals:ti(r),isIdentifierStart:f(n)&&n,isIdentifierContinue:f(i)&&i},c=!1;return w.$$runningExpensiveChecks=function(){return c},w}]}function ww(){this.$get=["$rootScope","$exceptionHandler",function(n,t){return hc(function(t){n.$evalAsync(t)},t)}]}function bw(){this.$get=["$browser","$exceptionHandler",function(n,t){return hc(function(t){n.defer(t)},t)}]}function hc(n,i){function a(){this.$$state={status:0}}function o(n,t){return function(i){t.call(n,i)}}function d(n){var e,t,u,r,o;for(u=n.pending,n.processScheduled=!1,n.pending=undefined,r=0,o=u.length;r<o;++r){t=u[r][0];e=u[r][n.status];try{f(e)?t.resolve(e(n.value)):n.status===1?t.resolve(n.value):t.reject(n.value)}catch(s){t.reject(s);i(s)}}}function y(t){!t.processScheduled&&t.pending&&(t.processScheduled=!0,n(function(){d(t)}))}function u(){this.promise=new a}function tt(n){var r=new u,f=0,i=c(n)?[]:{};return t(n,function(n,t){f++;p(n).then(function(n){i.hasOwnProperty(t)||(i[t]=n,--f||r.resolve(i))},function(n){i.hasOwnProperty(t)||r.reject(n)})}),f===0&&r.resolve(i),r.promise}var w=l("$q",TypeError),k=function(){var n=new u;return n.resolve=o(n,n.resolve),n.reject=o(n,n.reject),n.notify=o(n,n.notify),n},e;v(a.prototype,{then:function(n,t,i){if(r(n)&&r(t)&&r(i))return this;var f=new u;return this.$$state.pending=this.$$state.pending||[],this.$$state.pending.push([f,n,t,i]),this.$$state.status>0&&y(this.$$state),f.promise},"catch":function(n){return this.then(null,n)},"finally":function(n,t){return this.then(function(t){return b(t,!0,n)},function(t){return b(t,!1,n)},t)}});v(u.prototype,{resolve:function(n){this.promise.$$state.status||(n===this.promise?this.$$reject(w("qcycle","Expected promise to be resolved with value other than itself '{0}'",n)):this.$$resolve(n))},$$resolve:function(n){function c(n){t||(t=!0,u.$$resolve(n))}function h(n){t||(t=!0,u.$$reject(n))}var r,u=this,t=!1;try{(s(n)||f(n))&&(r=n&&n.then);f(r)?(this.promise.$$state.status=-1,r.call(n,c,h,o(this,this.notify))):(this.promise.$$state.value=n,this.promise.$$state.status=1,y(this.promise.$$state))}catch(e){h(e);i(e)}},reject:function(n){this.promise.$$state.status||this.$$reject(n)},$$reject:function(n){this.promise.$$state.value=n;this.promise.$$state.status=2;y(this.promise.$$state)},notify:function(t){var r=this.promise.$$state.pending;this.promise.$$state.status<=0&&r&&r.length&&n(function(){for(var u,e,n=0,o=r.length;n<o;n++){e=r[n][0];u=r[n][3];try{e.notify(f(u)?u(t):t)}catch(s){i(s)}}})}});var g=function(n){var t=new u;return t.reject(n),t.promise},h=function(n,t){var i=new u;return t?i.resolve(n):i.reject(n),i.promise},b=function(n,t,i){var r=null;try{f(i)&&(r=i())}catch(u){return h(u,!1)}return hu(r)?r.then(function(){return h(n,t)},function(n){return h(n,!1)}):h(n,t)},p=function(n,t,i,r){var f=new u;return f.resolve(n),f.promise.then(t,i,r)},nt=p;return e=function(n){function i(n){t.resolve(n)}function r(n){t.reject(n)}if(!f(n))throw w("norslvr","Expected resolverFn, got '{0}'",n);var t=new u;return n(i,r),t.promise},e.prototype=a.prototype,e.defer=k,e.reject=g,e.when=p,e.resolve=nt,e.all=tt,e}function kw(){this.$get=["$window","$timeout",function(n,t){var i=n.requestAnimationFrame||n.webkitRequestAnimationFrame,f=n.cancelAnimationFrame||n.webkitCancelAnimationFrame||n.webkitCancelRequestAnimationFrame,r=!!i,u=r?function(n){var t=i(n);return function(){f(t)}}:function(n){var i=t(n,16.66,!1);return function(){t.cancel(i)}};return u.supported=r,u}]}function dw(){function h(n){function t(){this.$$watchers=this.$$nextSibling=this.$$childHead=this.$$childTail=null;this.$$listeners={};this.$$listenerCount={};this.$$watchersCount=0;this.$id=su();this.$$ChildScope=null}return t.prototype=n,t}var u=10,e=l("$rootScope"),n=null,i=null;this.digestTtl=function(n){return arguments.length&&(u=n),u};this.$get=["$exceptionHandler","$parse","$browser",function(c,l,a){function ft(n){n.currentScope.$$destroyed=!0}function b(n){gt===9&&(n.$$childHead&&b(n.$$childHead),n.$$nextSibling&&b(n.$$nextSibling));n.$parent=n.$$nextSibling=n.$$prevSibling=n.$$childHead=n.$$childTail=n.$root=n.$$watchers=null}function p(){this.$id=su();this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null;this.$root=this;this.$$destroyed=!1;this.$$listeners={};this.$$listenerCount={};this.$$watchersCount=0;this.$$isolateBindings=null}function tt(n){if(v.$$phase)throw e("inprog","{0} already in progress",v.$$phase);v.$$phase=n}function g(){v.$$phase=null}function nt(n,t){do n.$$watchersCount+=t;while(n=n.$parent)}function it(n,t,i){do n.$$listenerCount[i]-=t,n.$$listenerCount[i]===0&&delete n.$$listenerCount[i];while(n=n.$parent)}function rt(){}function ut(){while(k.length)try{k.shift()()}catch(n){c(n)}i=null}function et(){i===null&&(i=a.defer(function(){v.$apply(ut)}))}p.prototype={constructor:p,$new:function(n,t){var i;return t=t||this,n?(i=new p,i.$root=this.$root):(this.$$ChildScope||(this.$$ChildScope=h(this)),i=new this.$$ChildScope),i.$parent=t,i.$$prevSibling=t.$$childTail,t.$$childHead?(t.$$childTail.$$nextSibling=i,t.$$childTail=i):t.$$childHead=t.$$childTail=i,(n||t!=this)&&i.$on("$destroy",ft),i},$watch:function(t,i,r,u){var e=l(t);if(e.$$watchDelegate)return e.$$watchDelegate(this,i,r,e,t);var h=this,s=h.$$watchers,c={fn:i,last:rt,get:e,exp:u||t,eq:!!r};return n=null,f(i)||(c.fn=o),s||(s=h.$$watchers=[]),s.unshift(c),nt(this,1),function(){or(s,c)>=0&&nt(h,-1);n=null}},$watchGroup:function(n,i){function c(){o=!1;h?(h=!1,i(r,r,u)):i(r,f,u)}var f=new Array(n.length),r=new Array(n.length),e=[],u=this,o=!1,h=!0,s;return n.length?n.length===1?this.$watch(n[0],function(n,t,u){r[0]=n;f[0]=t;i(r,n===t?r:f,u)}):(t(n,function(n,t){var i=u.$watch(n,function(n,i){r[t]=n;f[t]=i;o||(o=!0,u.$evalAsync(c))});e.push(i)}),function(){while(e.length)e.shift()()}):(s=!0,u.$evalAsync(function(){s&&i(r,r,u)}),function(){s=!1})},$watchCollection:function(n,t){function y(n){var l,o,y,t,h,v;if(i=n,!r(i)){if(s(i))if(ni(i))for(u!==c&&(u=c,e=u.length=0,f++),l=i.length,e!==l&&(f++,u.length=e=l),v=0;v<l;v++)h=u[v],t=i[v],y=h!==h&&t!==t,y||h===t||(f++,u[v]=t);else{u!==a&&(u=a={},e=0,f++);l=0;for(o in i)at.call(i,o)&&(l++,t=i[o],h=u[o],o in u?(y=h!==h&&t!==t,y||h===t||(f++,u[o]=t)):(e++,u[o]=t,f++));if(e>l){f++;for(o in u)at.call(i,o)||(e--,delete u[o])}}else u!==i&&(u=i,f++);return f}}function b(){var n,r;if(v?(v=!1,t(i,i,h)):t(i,o,h),p)if(s(i))if(ni(i))for(o=new Array(i.length),n=0;n<i.length;n++)o[n]=i[n];else{o={};for(r in i)at.call(i,r)&&(o[r]=i[r])}else o=i}y.$stateful=!0;var h=this,i,u,o,p=t.length>1,f=0,w=l(n,y),c=[],a={},v=!0,e=0;return this.$watch(w,b)},$digest:function(){var t,o,s,ct,lt,nt,it,h,ft=u,et,r,st=this,l=[],p,b,k;tt("$digest");a.$$checkUrlChange();this===v&&i!==null&&(a.defer.cancel(i),ut());n=null;do{for(h=!1,r=st,k=0;k<y.length;k++){try{b=y[k];b.scope.$eval(b.expression,b.locals)}catch(ht){c(ht)}n=null}y.length=0;n:do{if(nt=r.$$watchers)for(it=nt.length;it--;)try{if(t=nt[it],t)if(lt=t.get,(o=lt(r))===(s=t.last)||(t.eq?ot(o,s):typeof o=="number"&&typeof s=="number"&&isNaN(o)&&isNaN(s))){if(t===n){h=!1;break n}}else h=!0,n=t,t.last=t.eq?ti(o,null):o,ct=t.fn,ct(o,s===rt?o:s,r),ft<5&&(p=4-ft,l[p]||(l[p]=[]),l[p].push({msg:f(t.exp)?"fn: "+(t.exp.name||t.exp.toString()):t.exp,newVal:o,oldVal:s}))}catch(ht){c(ht)}if(!(et=r.$$watchersCount&&r.$$childHead||r!==st&&r.$$nextSibling))while(r!==st&&!(et=r.$$nextSibling))r=r.$parent}while(r=et);if((h||y.length)&&!ft--){g();throw e("infdig","{0} $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: {1}",u,l);}}while(h||y.length);for(g();d<w.length;)try{w[d++]()}catch(ht){c(ht)}w.length=d=0},$destroy:function(){var n,t;if(!this.$$destroyed){n=this.$parent;this.$broadcast("$destroy");this.$$destroyed=!0;this===v&&a.$$applicationDestroyed();nt(this,-this.$$watchersCount);for(t in this.$$listenerCount)it(this,this.$$listenerCount[t],t);n&&n.$$childHead==this&&(n.$$childHead=this.$$nextSibling);n&&n.$$childTail==this&&(n.$$childTail=this.$$prevSibling);this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling);this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling);this.$destroy=this.$digest=this.$apply=this.$evalAsync=this.$applyAsync=o;this.$on=this.$watch=this.$watchGroup=function(){return o};this.$$listeners={};this.$$nextSibling=null;b(this)}},$eval:function(n,t){return l(n)(this,t)},$evalAsync:function(n,t){v.$$phase||y.length||a.defer(function(){y.length&&v.$digest()});y.push({scope:this,expression:l(n),locals:t})},$$postDigest:function(n){w.push(n)},$apply:function(n){try{tt("$apply");try{return this.$eval(n)}finally{g()}}catch(t){c(t)}finally{try{v.$digest()}catch(t){c(t);throw t;}}},$applyAsync:function(n){function i(){t.$eval(n)}var t=this;n&&k.push(i);n=l(n);et()},$on:function(n,t){var r=this.$$listeners[n],i,u;r||(this.$$listeners[n]=r=[]);r.push(t);i=this;do i.$$listenerCount[n]||(i.$$listenerCount[n]=0),i.$$listenerCount[n]++;while(i=i.$parent);return u=this,function(){var i=r.indexOf(t);i!==-1&&(r[i]=null,it(u,1,n))}},$emit:function(n){var o=[],u,r=this,e=!1,t={name:n,targetScope:r,stopPropagation:function(){e=!0},preventDefault:function(){t.defaultPrevented=!0},defaultPrevented:!1},s=hr([t],arguments,1),i,f;do{for(u=r.$$listeners[n]||o,t.currentScope=r,i=0,f=u.length;i<f;i++){if(!u[i]){u.splice(i,1);i--;f--;continue}try{u[i].apply(null,s)}catch(h){c(h)}}if(e)return t.currentScope=null,t;r=r.$parent}while(r);return t.currentScope=null,t},$broadcast:function(n){var r=this,t=r,e=r,u={name:n,targetScope:r,preventDefault:function(){u.defaultPrevented=!0},defaultPrevented:!1},s,f,i,o;if(!r.$$listenerCount[n])return u;for(s=hr([u],arguments,1);t=e;){for(u.currentScope=t,f=t.$$listeners[n]||[],i=0,o=f.length;i<o;i++){if(!f[i]){f.splice(i,1);i--;o--;continue}try{f[i].apply(null,s)}catch(h){c(h)}}if(!(e=t.$$listenerCount[n]&&t.$$childHead||t!==r&&t.$$nextSibling))while(t!==r&&!(e=t.$$nextSibling))t=t.$parent}return u.currentScope=null,u}};var v=new p,y=v.$$asyncQueue=[],w=v.$$postDigestQueue=[],k=v.$$applyAsyncQueue=[],d=0;return v}]}function gw(){var n=/^\s*(https?|ftp|mailto|tel|file):/,t=/^\s*((https?|ftp|file|blob):|data:image\/)/;this.aHrefSanitizationWhitelist=function(t){return u(t)?(n=t,this):n};this.imgSrcSanitizationWhitelist=function(n){return u(n)?(t=n,this):t};this.$get=function(){return function(i,r){var f=r?t:n,u;return(u=fi(i).href,u!==""&&!u.match(f))?"unsafe:"+u:i}}}function nb(n){if(n==="self")return n;if(h(n)){if(n.indexOf("***")>-1)throw dt("iwcard","Illegal sequence *** in string matcher.  String: {0}",n);return n=bf(n).replace("\\*\\*",".*").replace("\\*","[^:/.?&;]*"),new RegExp("^"+n+"$")}if(ur(n))return new RegExp("^"+n.source+"$");throw dt("imatcher",'Matchers may only be "self", string patterns or RegExp objects');}function cc(n){var i=[];return u(n)&&t(n,function(n){i.push(nb(n))}),i}function tb(){this.SCE_CONTEXTS=ht;var n=["self"],t=[];this.resourceUrlWhitelist=function(t){return arguments.length&&(n=cc(t)),n};this.resourceUrlBlacklist=function(n){return arguments.length&&(t=cc(n)),t};this.$get=["$injector",function(i){function s(n,t){return n==="self"?ac(t):!!n.exec(t.href)}function h(i){for(var e=fi(i.toString()),f=!1,r=0,u=n.length;r<u;r++)if(s(n[r],e)){f=!0;break}if(f)for(r=0,u=t.length;r<u;r++)if(s(t[r],e)){f=!1;break}return f}function f(n){var t=function(n){this.$$unwrapTrustedValue=function(){return n}};return n&&(t.prototype=new n),t.prototype.valueOf=function(){return this.$$unwrapTrustedValue()},t.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()},t}function c(n,t){var i=u.hasOwnProperty(n)?u[n]:null;if(!i)throw dt("icontext","Attempted to trust a value in invalid context. Context: {0}; Value: {1}",n,t);if(t===null||r(t)||t==="")return t;if(typeof t!="string")throw dt("itype","Attempted to trust a non-string value in a content requiring a string: Context: {0}",n);return new i(t)}function l(n){return n instanceof e?n.$$unwrapTrustedValue():n}function a(n,t){if(t===null||r(t)||t==="")return t;var i=u.hasOwnProperty(n)?u[n]:null;if(i&&t instanceof i)return t.$$unwrapTrustedValue();if(n===ht.RESOURCE_URL){if(h(t))return t;throw dt("insecurl","Blocked loading resource from url not allowed by $sceDelegate policy.  URL: {0}",t.toString());}else if(n===ht.HTML)return o(t);throw dt("unsafe","Attempting to use an unsafe value in a safe context.");}var o=function(){throw dt("unsafe","Attempting to use an unsafe value in a safe context.");},e,u;return i.has("$sanitize")&&(o=i.get("$sanitize")),e=f(),u={},u[ht.HTML]=f(e),u[ht.CSS]=f(e),u[ht.URL]=f(e),u[ht.JS]=f(e),u[ht.RESOURCE_URL]=f(u[ht.URL]),{trustAs:c,getTrusted:a,valueOf:l}}]}function ib(){var n=!0;this.enabled=function(t){return arguments.length&&(n=!!t),n};this.$get=["$parse","$sceDelegate",function(i,r){var u;if(n&&gt<8)throw dt("iequirks","Strict Contextual Escaping does not support Internet Explorer version < 11 in quirks mode.  You can fix this by adding the text <!doctype html> to the top of your HTML document.  See http://docs.angularjs.org/api/ng.$sce for more information.");u=st(ht);u.isEnabled=function(){return n};u.trustAs=r.trustAs;u.getTrusted=r.getTrusted;u.valueOf=r.valueOf;n||(u.trustAs=u.getTrusted=function(n,t){return t},u.valueOf=rr);u.parseAs=function(n,t){var r=i(t);return r.literal&&r.constant?r:i(t,function(t){return u.getTrusted(n,t)})};var f=u.parseAs,e=u.getTrusted,o=u.trustAs;return t(ht,function(n,t){var i=a(t);u[pr("parse_as_"+i)]=function(t){return f(n,t)};u[pr("get_trusted_"+i)]=function(t){return e(n,t)};u[pr("trust_as_"+i)]=function(t){return o(n,t)}}),u}]}function rb(){this.$get=["$window","$document",function(n,t){var o={},y=n.chrome&&n.chrome.app&&n.chrome.app.runtime,p=!y&&n.history&&n.history.pushState,s=tt((/android (\d+)/.exec(a((n.navigator||{}).userAgent))||[])[1]),w=/Boxee/i.test((n.navigator||{}).userAgent),c=t[0]||{},i,u=c.body&&c.body.style,f=!1,e=!1,l,v;if(u){for(v in u)if(l=/^(Moz|webkit|ms)(?=[A-Z])/.exec(v)){i=l[0];i=i[0].toUpperCase()+i.substr(1);break}i||(i="WebkitOpacity"in u&&"webkit");f=!!("transition"in u||i+"Transition"in u);e=!!("animation"in u||i+"Animation"in u);!s||f&&e||(f=h(u.webkitTransition),e=h(u.webkitAnimation))}return{history:!!(p&&!(s<4)&&!w),hasEvent:function(n){if(n==="input"&&gt<=11)return!1;if(r(o[n])){var t=c.createElement("div");o[n]="on"+n in t}return o[n]},csp:ii(),vendorPrefix:i,transitions:f,animations:e,android:s}}]}function ub(){var n;this.httpOptions=function(t){return t?(n=t,this):n};this.$get=["$templateCache","$http","$q","$sce",function(t,i,u,f){function e(o,s){function a(n){if(!s)throw lc("tpload","Failed to load template: {0} (HTTP status: {1} {2})",o,n.status,n.statusText);return u.reject(n)}e.totalPendingRequests++;(!h(o)||r(t.get(o)))&&(o=f.getTrustedResourceUrl(o));var l=i.defaults&&i.defaults.transformResponse;return c(l)?l=l.filter(function(n){return n!==ve}):l===ve&&(l=null),i.get(o,v({cache:t,transformResponse:l},n))["finally"](function(){e.totalPendingRequests--}).then(function(n){return t.put(o,n.data),n.data},a)}return e.totalPendingRequests=0,e}]}function fb(){this.$get=["$rootScope","$browser","$location",function(n,i,r){var u={};return u.findBindings=function(n,i,r){var f=n.getElementsByClassName("ng-binding"),u=[];return t(f,function(n){var f=ut.element(n).data("$binding");f&&t(f,function(t){if(r){var f=new RegExp("(^|\\s)"+bf(i)+"(\\s|\\||$)");f.test(t)&&u.push(n)}else t.indexOf(i)!=-1&&u.push(n)})}),u},u.findModels=function(n,t,i){for(var u=["ng-","data-ng-","ng\\:"],r=0;r<u.length;++r){var e=i?"=":"*=",o="["+u[r]+"model"+e+'"'+t+'"]',f=n.querySelectorAll(o);if(f.length)return f}},u.getLocation=function(){return r.url()},u.setLocation=function(t){t!==r.url()&&(r.url(t),n.$digest())},u.whenStable=function(n){i.notifyWhenNoOutstandingRequests(n)},u}]}function eb(){this.$get=["$rootScope","$browser","$q","$$q","$exceptionHandler",function(n,t,i,r,e){function h(h,c,l){f(h)||(l=c,c=h,h=o);var w=cr(arguments,3),p=u(l)&&!l,a=(p?r:i).defer(),v=a.promise,y;return y=t.defer(function(){try{a.resolve(h.apply(null,w))}catch(t){a.reject(t);e(t)}finally{delete s[v.$$timeoutId]}p||n.$apply()},c),v.$$timeoutId=y,s[y]=a,v}var s={};return h.cancel=function(n){return n&&n.$$timeoutId in s?(s[n.$$timeoutId].reject("canceled"),delete s[n.$$timeoutId],t.defer.cancel(n.$$timeoutId)):!1},h}]}function fi(n){var t=n;return gt&&(g.setAttribute("href",t),t=g.href),g.setAttribute("href",t),{href:g.href,protocol:g.protocol?g.protocol.replace(/:$/,""):"",host:g.host,search:g.search?g.search.replace(/^\?/,""):"",hash:g.hash?g.hash.replace(/^#/,""):"",hostname:g.hostname,port:g.port,pathname:g.pathname.charAt(0)==="/"?g.pathname:"/"+g.pathname}}function ac(n){var t=h(n)?fi(n):n;return t.protocol===de.protocol&&t.host===de.host}function ob(){this.$get=ft(n)}function vc(n){function u(n){try{return decodeURIComponent(n)}catch(t){return n}}var f=n[0]||{},t={},i="";return function(){var s,n,e,o,h,c=f.cookie||"";if(c!==i)for(i=c,s=i.split("; "),t={},e=0;e<s.length;e++)n=s[e],o=n.indexOf("="),o>0&&(h=u(n.substring(0,o)),r(t[h])&&(t[h]=u(n.substring(o+1))));return t}}function sb(){this.$get=vc}function yc(n){function i(u,f){if(s(u)){var e={};return t(u,function(n,t){e[t]=i(t,n)}),e}return n.factory(u+r,f)}var r="Filter";this.register=i;this.$get=["$injector",function(n){return function(t){return n.get(t+r)}}];i("currency",bc);i("date",tl);i("filter",hb);i("json",gb);i("limitTo",nk);i("lowercase",il);i("number",kc);i("orderBy",ul);i("uppercase",rl)}function hb(){return function(n,t,i){if(!ni(n)){if(n==null)return n;throw l("filter")("notarray","Expected array but received: {0}",n);}var f=ge(t),r,u;switch(f){case"function":r=t;break;case"boolean":case"null":case"number":case"string":u=!0;case"object":r=cb(t,i,u);break;default:return n}return Array.prototype.filter.call(n,r)}}function cb(n,t,i){var u=s(n)&&"$"in n;return t===!0?t=ot:f(t)||(t=function(n,t){return r(n)?!1:n===null||t===null?n===t:s(t)||s(n)&&!yo(n)?!1:(n=a(""+n),t=a(""+t),n.indexOf(t)!==-1)}),function(r){return u&&!s(r)?yi(r,n.$,t,!1):yi(r,n,t,i)}}function yi(n,t,i,u,e){var v=ge(n),l=ge(t),o,s,h,a;if(l==="string"&&t.charAt(0)==="!")return!yi(n,t.substring(1),i,u);if(c(n))return n.some(function(n){return yi(n,t,i,u)});switch(v){case"object":if(u){for(o in n)if(o.charAt(0)!=="$"&&yi(n[o],t,i,!0))return!0;return e?!1:yi(n,t,i,!1)}if(l==="object"){for(o in t)if((s=t[o],!f(s)&&!r(s))&&(h=o==="$",a=h?n:n[o],!yi(a,s,i,h,h)))return!1;return!0}return i(n,t);case"function":return!1;default:return i(n,t)}}function ge(n){return n===null?"null":typeof n}function bc(n){var t=n.NUMBER_FORMATS;return function(n,i,u){return r(i)&&(i=t.CURRENCY_SYM),r(u)&&(u=t.PATTERNS[1].maxFrac),n==null?n:dc(n,t.PATTERNS[1],t.GROUP_SEP,t.DECIMAL_SEP,u).replace(/\u00A4/g,i)}}function kc(n){var t=n.NUMBER_FORMATS;return function(n,i){return n==null?n:dc(n,t.PATTERNS[0],t.GROUP_SEP,t.DECIMAL_SEP,i)}}function lb(n){var e=0,r,t,i,f,u;for((t=n.indexOf(wc))>-1&&(n=n.replace(wc,"")),(i=n.search(/e/i))>0?(t<0&&(t=i),t+=+n.slice(i+1),n=n.substring(0,i)):t<0&&(t=n.length),i=0;n.charAt(i)==no;i++);if(i==(u=n.length))r=[0],t=1;else{for(u--;n.charAt(u)==no;)u--;for(t-=i,r=[],f=0;i<=u;i++,f++)r[f]=+n.charAt(i)}return t>pc&&(r=r.splice(0,pc-1),e=t-1,t=1),{d:r,e:e,i:t}}function ab(n,t,i,u){var f=n.d,o=f.length-n.i,e,a,s,h,c,l;if(t=r(t)?Math.min(Math.max(i,o),u):+t,e=t+n.i,a=f[e],e>0)for(f.splice(Math.max(n.i,e)),s=e;s<f.length;s++)f[s]=0;else for(o=Math.max(0,o),n.i=1,f.length=Math.max(1,e=t+1),f[0]=0,h=1;h<e;h++)f[h]=0;if(a>=5)if(e-1<0){for(c=0;c>e;c--)f.unshift(0),n.i++;f.unshift(1);n.i++}else f[e-1]++;for(;o<Math.max(0,t);o++)f.push(0);l=f.reduceRight(function(n,t,i,r){return t=t+n,r[i]=t%10,Math.floor(t/10)},0);l&&(f.unshift(l),n.i++)}function dc(n,t,i,r,u){var s;if(!(h(n)||w(n))||isNaN(n))return"";var y=!isFinite(n),a=!1,p=Math.abs(n)+"",e="",o;if(y)e="∞";else{o=lb(p);ab(o,u,t.minFrac,t.maxFrac);var f=o.d,c=o.i,v=o.e,l=[];for(a=f.reduce(function(n,t){return n&&!t},!0);c<0;)f.unshift(0),c++;for(c>0?l=f.splice(c,f.length):(l=f,f=[0]),s=[],f.length>=t.lgSize&&s.unshift(f.splice(-t.lgSize,f.length).join(""));f.length>t.gSize;)s.unshift(f.splice(-t.gSize,f.length).join(""));f.length&&s.unshift(f.join(""));e=s.join(i);l.length&&(e+=r+l.join(""));v&&(e+="e+"+v)}return n<0&&!a?t.negPre+e+t.negSuf:t.posPre+e+t.posSuf}function lf(n,t,i,r){var u="";for((n<0||r&&n<=0)&&(r?n=-n+1:(n=-n,u="-")),n=""+n;n.length<t;)n=no+n;return i&&(n=n.substr(n.length-t)),u+n}function nt(n,t,i,r,u){return i=i||0,function(f){var e=f["get"+n]();return(i>0||e>-i)&&(e+=i),e===0&&i==-12&&(e=12),lf(e,t,r,u)}}function tu(n,t,i){return function(r,u){var f=r["get"+n](),e=(i?"STANDALONE":"")+(t?"SHORT":""),o=ir(e+n);return u[o][f]}}function vb(n,t,i){var r=-1*i,u=r>=0?"+":"";return u+(lf(Math[r>0?"floor":"ceil"](r/60),2)+lf(Math.abs(r%60),2))}function gc(n){var t=new Date(n,0,1).getDay();return new Date(n,0,(t<=4?5:12)-t)}function yb(n){return new Date(n.getFullYear(),n.getMonth(),n.getDate()+(4-n.getDay()))}function nl(n){return function(t){var i=gc(t.getFullYear()),r=yb(t),u=+r-+i,f=1+Math.round(u/6048e5);return lf(f,n)}}function pb(n,t){return n.getHours()<12?t.AMPMS[0]:t.AMPMS[1]}function to(n,t){return n.getFullYear()<=0?t.ERAS[0]:t.ERAS[1]}function wb(n,t){return n.getFullYear()<=0?t.ERANAMES[0]:t.ERANAMES[1]}function tl(n){function r(n){var t;if(t=n.match(i)){var r=new Date(0),u=0,f=0,e=t[8]?r.setUTCFullYear:r.setFullYear,o=t[8]?r.setUTCHours:r.setHours;t[9]&&(u=tt(t[9]+t[10]),f=tt(t[9]+t[11]));e.call(r,tt(t[1]),tt(t[2])-1,tt(t[3]));var s=tt(t[4]||0)-u,h=tt(t[5]||0)-f,c=tt(t[6]||0),l=Math.round(parseFloat("0."+(t[7]||0))*1e3);return o.call(r,s,h,c,l),r}return n}var i=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(i,u,f){var l="",e=[],s,c,o;if(u=u||"mediumDate",u=n.DATETIME_FORMATS[u]||u,h(i)&&(i=db.test(i)?tt(i):r(i)),w(i)&&(i=new Date(i)),!et(i)||!isFinite(i.getTime()))return i;while(u)c=kb.exec(u),c?(e=hr(e,c,1),u=e.pop()):(e.push(u),u=null);return o=i.getTimezoneOffset(),f&&(o=ns(f,o),i=df(i,f,!0)),t(e,function(t){s=bb[t];l+=s?s(i,n.DATETIME_FORMATS,o):t==="''"?"'":t.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),l}}function gb(){return function(n,t){return r(t)&&(t=2),ar(n,t)}}function nk(){return function(n,t,i){return(t=Math.abs(Number(t))===Infinity?Number(t):tt(t),isNaN(t))?n:(w(n)&&(n=n.toString()),!ni(n))?n:(i=!i||isNaN(i)?0:tt(i),i=i<0?Math.max(0,n.length+i):i,t>=0?io(n,i,i+t):i===0?io(n,t,n.length):io(n,Math.max(0,i+t),i))}}function io(n,t,i){return h(n)?n.slice(t,i):wi.call(n,t,i)}function ul(n){function i(t){return t.map(function(t){var r=1,i=rr,u;return f(t)?i=t:h(t)&&((t.charAt(0)=="+"||t.charAt(0)=="-")&&(r=t.charAt(0)=="-"?-1:1,t=t.substring(1)),t!==""&&(i=n(t),i.constant&&(u=i(),i=function(n){return n[u]}))),{get:i,descending:r}})}function t(n){switch(typeof n){case"number":case"boolean":case"string":return!0;default:return!1}}function r(n){return f(n.valueOf)&&(n=n.valueOf(),t(n))?n:(yo(n)&&(n=n.toString(),t(n)),n)}function u(n,t){var i=typeof n;return n===null?(i="string",n="null"):i==="object"&&(n=r(n)),{value:n,type:i,index:t}}function e(n,t){var f=0,u=n.type,e=t.type,i,r;return u===e?(i=n.value,r=t.value,u==="string"?(i=i.toLowerCase(),r=r.toLowerCase()):u==="object"&&(s(i)&&(i=n.index),s(r)&&(r=t.index)),i!==r&&(f=i<r?-1:1)):f=u<e?-1:1,f}return function(n,t,r,o){function y(n,t){return{value:n,tieBreaker:{value:t,type:"number",index:t},predicateValues:s.map(function(i){return u(i.get(n),t)})}}function p(n,t){for(var r,i=0,u=s.length;i<u;i++)if(r=a(n.predicateValues[i],t.predicateValues[i]),r)return r*s[i].descending*h;return a(n.tieBreaker,t.tieBreaker)*h}if(n==null)return n;if(!ni(n))throw l("orderBy")("notarray","Expected array but received: {0}",n);c(t)||(t=[t]);t.length===0&&(t=["+"]);var s=i(t),h=r?-1:1,a=f(o)?o:e,v=Array.prototype.map.call(n,y);return v.sort(p),v.map(function(n){return n.value})}}function pi(n){return f(n)&&(n={link:n}),n.restrict=n.restrict||"AC",ft(n)}function tk(n,t){n.$name=t}function el(n,i,r,u,f){var e=this,o=[];e.$error={};e.$$success={};e.$pending=undefined;e.$name=f(i.name||i.ngForm||"")(r);e.$dirty=!1;e.$pristine=!0;e.$valid=!0;e.$invalid=!1;e.$submitted=!1;e.$$parentForm=ru;e.$rollbackViewValue=function(){t(o,function(n){n.$rollbackViewValue()})};e.$commitViewValue=function(){t(o,function(n){n.$commitViewValue()})};e.$addControl=function(n){ki(n.$name,"input");o.push(n);n.$name&&(e[n.$name]=n);n.$$parentForm=e};e.$$renameControl=function(n,t){var i=n.$name;e[i]===n&&delete e[i];e[t]=n;n.$name=t};e.$removeControl=function(n){n.$name&&e[n.$name]===n&&delete e[n.$name];t(e.$pending,function(t,i){e.$setValidity(i,null,n)});t(e.$error,function(t,i){e.$setValidity(i,null,n)});t(e.$$success,function(t,i){e.$setValidity(i,null,n)});or(o,n);n.$$parentForm=ru};ta({ctrl:this,$element:n,set:function(n,t,i){var r=n[t],u;r?(u=r.indexOf(i),u===-1&&r.push(i)):n[t]=[i]},unset:function(n,t,i){var r=n[t];r&&(or(r,i),r.length===0&&delete n[t])},$animate:u});e.$setDirty=function(){u.removeClass(n,tr);u.addClass(n,vf);e.$dirty=!0;e.$pristine=!1;e.$$parentForm.$setDirty()};e.$setPristine=function(){u.setClass(n,tr,vf+" "+ro);e.$dirty=!1;e.$pristine=!0;e.$submitted=!1;t(o,function(n){n.$setPristine()})};e.$setUntouched=function(){t(o,function(n){n.$setUntouched()})};e.$setSubmitted=function(){u.addClass(n,ro);e.$submitted=!0;e.$$parentForm.$setSubmitted()}}function eo(n){n.$formatters.push(function(t){return n.$isEmpty(t)?t:t.toString()})}function hk(n,t,i,r,u,f){uu(n,t,i,r,u,f);eo(r)}function uu(n,t,i,r,u,f){var h=a(t[0].type),s,e,o,c;if(!u.android){s=!1;t.on("compositionstart",function(){s=!0});t.on("compositionend",function(){s=!1;o()})}if(o=function(n){if(e&&(f.defer.cancel(e),e=null),!s){var u=t.val(),o=n&&n.type;h==="password"||i.ngTrim&&i.ngTrim==="false"||(u=y(u));(r.$viewValue!==u||u===""&&r.$$hasNativeValidators)&&r.$setViewValue(u,o)}},u.hasEvent("input"))t.on("input",o);else{c=function(n,t,i){e||(e=f.defer(function(){e=null;t&&t.value===i||o(n)}))};t.on("keydown",function(n){var t=n.keyCode;t===91||15<t&&t<19||37<=t&&t<=40||c(n,this,this.value)});if(u.hasEvent("paste"))t.on("paste cut",c)}t.on("change",o);if(al[h]&&r.$$hasNativeValidators&&h===i.type)t.on(sk,function(n){if(!e){var t=this[ho],i=t.badInput,r=t.typeMismatch;e=f.defer(function(){e=null;(t.badInput!==i||t.typeMismatch!==r)&&o(n)})}});r.$render=function(){var n=r.$isEmpty(r.$viewValue)?"":r.$viewValue;t.val()!==n&&t.val(n)}}function ck(n,t){var i;if(et(n))return n;if(h(n)&&(uo.lastIndex=0,i=uo.exec(n),i)){var r=+i[1],s=+i[2],u=0,f=0,e=0,o=0,c=gc(r),l=(s-1)*7;return t&&(u=t.getHours(),f=t.getMinutes(),e=t.getSeconds(),o=t.getMilliseconds()),new Date(r,0,c.getDate()+l,u,f,e,o)}return NaN}function af(n,i){return function(r,u){var e,f;if(et(r))return r;if(h(r)){if(r.charAt(0)=='"'&&r.charAt(r.length-1)=='"'&&(r=r.substring(1,r.length-1)),uk.test(r))return new Date(r);if(n.lastIndex=0,e=n.exec(r),e)return e.shift(),f=u?{yyyy:u.getFullYear(),MM:u.getMonth()+1,dd:u.getDate(),HH:u.getHours(),mm:u.getMinutes(),ss:u.getSeconds(),sss:u.getMilliseconds()/1e3}:{yyyy:1970,MM:1,dd:1,HH:0,mm:0,ss:0,sss:0},t(e,function(n,t){t<i.length&&(f[i[t]]=+n)}),new Date(f.yyyy,f.MM-1,f.dd,f.HH,f.mm,f.ss||0,f.sss*1e3||0)}return NaN}}function fu(n,t,i,f){return function(e,o,s,h,c,l,a){function b(n){return n&&!(n.getTime&&n.getTime()!==n.getTime())}function k(n){return u(n)&&!et(n)?i(n)||undefined:n}var v,y,p,w;vl(e,o,s,h);uu(e,o,s,h,c,l);v=h&&h.$options&&h.$options.timezone;h.$$parserName=n;h.$parsers.push(function(n){if(h.$isEmpty(n))return null;if(t.test(n)){var r=i(n,y);return v&&(r=df(r,v)),r}return undefined});h.$formatters.push(function(n){if(n&&!et(n))throw ou("datefmt","Expected `{0}` to be a date",n);return b(n)?(y=n,y&&v&&(y=df(y,v,!0)),a("date")(n,f,v)):(y=null,"")});(u(s.min)||s.ngMin)&&(h.$validators.min=function(n){return!b(n)||r(p)||i(n)>=p},s.$observe("min",function(n){p=k(n);h.$validate()}));(u(s.max)||s.ngMax)&&(h.$validators.max=function(n){return!b(n)||r(w)||i(n)<=w},s.$observe("max",function(n){w=k(n);h.$validate()}))}}function vl(n,t,i,r){var u=t[0],f=r.$$hasNativeValidators=s(u.validity);f&&r.$parsers.push(function(n){var i=t.prop(ho)||{};return i.badInput||i.typeMismatch?undefined:n})}function lk(n,t,i,f,e,o){var s,h;vl(n,t,i,f);uu(n,t,i,f,e,o);f.$$parserName="number";f.$parsers.push(function(n){return f.$isEmpty(n)?null:ok.test(n)?parseFloat(n):undefined});f.$formatters.push(function(n){if(!f.$isEmpty(n)){if(!w(n))throw ou("numfmt","Expected `{0}` to be a number",n);n=n.toString()}return n});(u(i.min)||i.ngMin)&&(f.$validators.min=function(n){return f.$isEmpty(n)||r(s)||n>=s},i.$observe("min",function(n){u(n)&&!w(n)&&(n=parseFloat(n,10));s=w(n)&&!isNaN(n)?n:undefined;f.$validate()}));(u(i.max)||i.ngMax)&&(f.$validators.max=function(n){return f.$isEmpty(n)||r(h)||n<=h},i.$observe("max",function(n){u(n)&&!w(n)&&(n=parseFloat(n,10));h=w(n)&&!isNaN(n)?n:undefined;f.$validate()}))}function ak(n,t,i,r,u,f){uu(n,t,i,r,u,f);eo(r);r.$$parserName="url";r.$validators.url=function(n,t){var i=n||t;return r.$isEmpty(i)||fk.test(i)}}function vk(n,t,i,r,u,f){uu(n,t,i,r,u,f);eo(r);r.$$parserName="email";r.$validators.email=function(n,t){var i=n||t;return r.$isEmpty(i)||ek.test(i)}}function yk(n,t,i,u){r(i.name)&&t.attr("name",su());var f=function(n){t[0].checked&&u.$setViewValue(i.value,n&&n.type)};t.on("click",f);u.$render=function(){var n=i.value;t[0].checked=n==u.$viewValue};i.$observe("value",u.$render)}function yl(n,t,i,r,f){var e;if(u(r)){if(e=n(r),!e.constant)throw ou("constexpr","Expected constant expression for `{0}`, but saw `{1}`.",i,r);return e(t)}return f}function pk(n,t,i,r,u,f,e,o){var s=yl(o,n,"ngTrueValue",i.ngTrueValue,!0),h=yl(o,n,"ngFalseValue",i.ngFalseValue,!1),c=function(n){r.$setViewValue(t[0].checked,n&&n.type)};t.on("click",c);r.$render=function(){t[0].checked=r.$viewValue};r.$isEmpty=function(n){return n===!1};r.$formatters.push(function(n){return ot(n,s)});r.$parsers.push(function(n){return n?s:h})}function oo(n,i){return n="ngClass"+n,["$animate",function(r){function f(n,t){var f=[],i,u,r;n:for(i=0;i<n.length;i++){for(u=n[i],r=0;r<t.length;r++)if(u==t[r])continue n;f.push(u)}return f}function u(n){var i=[];return c(n)?(t(n,function(n){i=i.concat(u(n))}),i):h(n)?n.split(" "):s(n)?(t(n,function(n,t){n&&(i=i.concat(t.split(" ")))}),i):n}return{restrict:"AC",link:function(e,o,s){function a(n){var t=l(n,1);s.$addClass(t)}function y(n){var t=l(n,-1);s.$removeClass(t)}function l(n,i){var r=o.data("$classCounts")||p(),u=[];return t(n,function(n){(i>0||r[n])&&(r[n]=(r[n]||0)+i,r[n]===+(i>0)&&u.push(n))}),o.data("$classCounts",r),u.join(" ")}function w(n,t){var i=f(t,n),u=f(n,t);i=l(i,1);u=l(u,-1);i&&i.length&&r.addClass(o,i);u&&u.length&&r.removeClass(o,u)}function v(n){var t,r;(i===!0||(e.$index&1)===i)&&(t=u(n||[]),h?ot(n,h)||(r=u(h),w(r,t)):a(t));h=c(n)?n.map(function(n){return st(n)}):st(n)}var h;e.$watch(s[n],v,!0);s.$observe("class",function(){v(e.$eval(s[n]))});n!=="ngClass"&&e.$watch("$index",function(t,r){var o=t&1,f;o!==(r&1)&&(f=u(e.$eval(s[n])),o===i?a(f):y(f))})}}}]}function ta(n){function c(n,i,e){r(i)?l("$pending",n,e):a("$pending",n,e);oi(i)?i?(u(t.$error,n,e),o(t.$$success,n,e)):(o(t.$error,n,e),u(t.$$success,n,e)):(u(t.$error,n,e),u(t.$$success,n,e));t.$pending?(f(dl,!0),t.$valid=t.$invalid=undefined,s("",null)):(f(dl,!1),t.$valid=ia(t.$error),t.$invalid=!t.$valid,s("",t.$valid));var h;h=t.$pending&&t.$pending[n]?undefined:t.$error[n]?!1:t.$$success[n]?!0:null;s(n,h);t.$$parentForm.$setValidity(n,h,t)}function l(n,i,r){t[n]||(t[n]={});o(t[n],i,r)}function a(n,i,r){t[n]&&u(t[n],i,r);ia(t[n])&&(t[n]=undefined)}function f(n,t){t&&!i[n]?(h.addClass(e,n),i[n]=!0):!t&&i[n]&&(h.removeClass(e,n),i[n]=!1)}function s(n,t){n=n?"-"+fs(n,"-"):"";f(eu+n,t===!0);f(bl+n,t===!1)}var t=n.ctrl,e=n.$element,i={},o=n.set,u=n.unset,h=n.$animate;i[bl]=!(i[eu]=e.hasClass(eu));t.$setValidity=c}function ia(n){if(n)for(var t in n)if(n.hasOwnProperty(t))return!1;return!0}function lg(n){n[0].hasAttribute("selected")&&(n[0].selected=!0)}var ha=/^\/(.+)\/([a-z]*)$/,ho="validity",at=Object.prototype.hasOwnProperty,a=function(n){return h(n)?n.toLowerCase():n},ir=function(n){return h(n)?n.toUpperCase():n},ca=function(n){return h(n)?n.replace(/[A-Z]/g,function(n){return String.fromCharCode(n.charCodeAt(0)|32)}):n},la=function(n){return h(n)?n.replace(/[a-z]/g,function(n){return String.fromCharCode(n.charCodeAt(0)&-33)}):n},c,wo,y,bf,ii,sr,go,si,us,ne,hs,vs,hi,br,oe,se,d,rf,he,uh,ce,ri,ph,it,nu,dh,sf,i,hf,sc,dt,ht,lc,g,de,il,rl,fl,iu,ru,ro,fo;"i"!=="I".toLowerCase()&&(a=ca,ir=la);var gt,e,bt,wi=[].slice,aa=[].splice,va=[].push,rt=Object.prototype.toString,co=Object.getPrototypeOf,ei=l("ng"),ut=n.angular||(n.angular={}),yf,ya=0;gt=n.document.documentMode;o.$inject=[];rr.$inject=[];c=Array.isArray;wo=/^\[object (?:Uint8|Uint8Clamped|Uint16|Uint32|Int8|Int16|Int32|Float32|Float64)Array\]$/;y=function(n){return h(n)?n.trim():n};bf=function(n){return n.replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")};ii=function(){function r(){try{return new Function(""),!1}catch(n){return!0}}var i,t;return u(ii.rules)||(i=n.document.querySelector("[ng-csp]")||n.document.querySelector("[data-ng-csp]"),i?(t=i.getAttribute("ng-csp")||i.getAttribute("data-ng-csp"),ii.rules={noUnsafeEval:!t||t.indexOf("no-unsafe-eval")!==-1,noInlineStyle:!t||t.indexOf("no-inline-style")!==-1}):ii.rules={noUnsafeEval:r(),noInlineStyle:!1}),ii.rules};sr=function(){if(u(sr.name_))return sr.name_;for(var r,e=si.length,i,f,t=0;t<e;++t)if(i=si[t],r=n.document.querySelector("["+i.replace(":","\\:")+"jq]")){f=r.getAttribute(i+"jq");break}return sr.name_=f};go=/:/g;si=["ng-","data-ng-","ng:","x-ng-"];us=/[A-Z]/g;ne=!1;var kt=1,ov=2,di=3,vu=8,os=9,te=11;hs={full:"1.5.7",major:1,minor:5,dot:7,codeName:"hexagonal-circumvolution"};b.expando="ng339";var vr=b.cache={},lv=1,yu=function(n,t,i){n.addEventListener(t,i,!1)},yr=function(n,t,i){n.removeEventListener(t,i,!1)};b._data=function(n){return this.cache[n[this.expando]]||{}};var vv=/([\:\-\_]+(.))/g,yv=/^moz([A-Z])/,pu={mouseleave:"mouseout",mouseenter:"mouseover"},ie=l("jqLite");var pv=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,wv=/<|&#?\w+;/,bv=/<([\w:-]+)/,kv=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,lt={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,"",""]};lt.optgroup=lt.option;lt.tbody=lt.tfoot=lt.colgroup=lt.caption=lt.thead;lt.th=lt.td;vs=n.Node.prototype.contains||function(n){return!!(this.compareDocumentPosition(n)&16)};hi=b.prototype={ready:function(t){function i(){r||(r=!0,t())}var r=!1;if(n.document.readyState==="complete")n.setTimeout(i);else{this.on("DOMContentLoaded",i);b(n).on("load",i)}},toString:function(){var n=[];return t(this,function(t){n.push(""+t)}),"["+n.join(", ")+"]"},eq:function(n){return n>=0?e(this[n]):e(this[this.length+n])},length:0,push:va,sort:[].sort,splice:[].splice};br={};t("multiple,selected,checked,disabled,readOnly,required,open".split(","),function(n){br[a(n)]=n});oe={};t("input,select,option,textarea,button,form,details".split(","),function(n){oe[n]=!0});se={ngMinlength:"minlength",ngMaxlength:"maxlength",ngMin:"min",ngMax:"max",ngPattern:"pattern"};t({data:fe,removeData:wr,hasData:dv,cleanData:gv},function(n,t){b[t]=n});t({data:fe,inheritedData:nf,scope:function(n){return e.data(n,"$scope")||nf(n.parentNode||n,["$isolateScope","$scope"])},isolateScope:function(n){return e.data(n,"$isolateScope")||e.data(n,"$isolateScopeNoTemplate")},controller:ps,injector:function(n){return nf(n,"$injector")},removeAttr:function(n,t){n.removeAttribute(t)},hasClass:ku,css:function(n,t,i){if(t=pr(t),u(i))n.style[t]=i;else return n.style[t]},attr:function(n,t,i){var f=n.nodeType,r,e;if(f!==di&&f!==ov&&f!==vu)if(r=a(t),br[r])if(u(i))i?(n[t]=!0,n.setAttribute(t,r)):(n[t]=!1,n.removeAttribute(r));else return n[t]||(n.attributes.getNamedItem(t)||o).specified?r:undefined;else if(u(i))n.setAttribute(t,i);else if(n.getAttribute)return e=n.getAttribute(t,2),e===null?undefined:e},prop:function(n,t,i){if(u(i))n[t]=i;else return n[t]},text:function(){function n(n,t){if(r(t)){var i=n.nodeType;return i===kt||i===di?n.textContent:""}n.textContent=t}return n.$dv="",n}(),val:function(n,i){if(r(i)){if(n.multiple&&vt(n)==="select"){var u=[];return t(n.options,function(n){n.selected&&u.push(n.value||n.text)}),u.length===0?null:u}return n.value}n.value=i},html:function(n,t){if(r(t))return n.innerHTML;wu(n,!0);n.innerHTML=t},empty:ws},function(n,t){b.prototype[t]=function(t,i){var u,h,e=this.length,f,l,o,c;if(n!==ws&&r(n.length==2&&n!==ku&&n!==ps?t:i)){if(s(t)){for(u=0;u<e;u++)if(n===fe)n(this[u],t);else for(h in t)n(this[u],h,t[h]);return this}for(f=n.$dv,l=r(f)?Math.min(e,1):e,o=0;o<l;o++)c=n(this[o],t,i),f=f?f+c:c;return f}for(u=0;u<e;u++)n(this[u],t,i);return this}});t({removeData:wr,on:function(n,t,i,r){if(u(r))throw ie("onargs","jqLite#on() does not support the `selector` or `eventData` parameters");if(cs(n)){var f=bu(n,!0),e=f.events,o=f.handle;o||(o=f.handle=ry(n,e));for(var h=t.indexOf(" ")>=0?t.split(" "):[t],c=h.length,s=function(t,r,u){var f=e[t];f||(f=e[t]=[],f.specialHandlerWrapper=r,t==="$destroy"||u||yu(n,t,o));f.push(i)};c--;)t=h[c],pu[t]?(s(pu[t],fy),s(t,undefined,!0)):s(t)}},off:ys,one:function(n,t,i){n=e(n);n.on(t,function r(){n.off(t,i);n.off(t,r)});n.on(t,i)},replaceWith:function(n,i){var r,u=n.parentNode;wu(n);t(new b(i),function(t){r?u.insertBefore(t,r.nextSibling):u.replaceChild(t,n);r=t})},children:function(n){var i=[];return t(n.childNodes,function(n){n.nodeType===kt&&i.push(n)}),i},contents:function(n){return n.contentDocument||n.childNodes||[]},append:function(n,t){var r=n.nodeType,i,u,f;if(r===kt||r===te)for(t=new b(t),i=0,u=t.length;i<u;i++)f=t[i],n.appendChild(f)},prepend:function(n,i){if(n.nodeType===kt){var r=n.firstChild;t(new b(i),function(t){n.insertBefore(t,r)})}},wrap:function(n,t){as(n,e(t).eq(0).clone()[0])},remove:tf,detach:function(n){tf(n,!0)},after:function(n,t){var u=n,e=n.parentNode,i,f,r;for(t=new b(t),i=0,f=t.length;i<f;i++)r=t[i],e.insertBefore(r,u.nextSibling),u=r},addClass:gu,removeClass:du,toggleClass:function(n,i,u){i&&t(i.split(" "),function(t){var i=u;r(i)&&(i=!ku(n,t));(i?gu:du)(n,t)})},parent:function(n){var t=n.parentNode;return t&&t.nodeType!==te?t:null},next:function(n){return n.nextElementSibling},find:function(n,t){return n.getElementsByTagName?n.getElementsByTagName(t):[]},clone:ue,triggerHandler:function(n,i,r){var u,f,e,s=i.type||i,h=bu(n),c=h&&h.events,l=c&&c[s];l&&(u={preventDefault:function(){this.defaultPrevented=!0},isDefaultPrevented:function(){return this.defaultPrevented===!0},stopImmediatePropagation:function(){this.immediatePropagationStopped=!0},isImmediatePropagationStopped:function(){return this.immediatePropagationStopped===!0},stopPropagation:o,type:s,target:n},i.type&&(u=v(u,i)),f=st(l),e=r?[u].concat(r):[u],t(f,function(t){u.isImmediatePropagationStopped()||t.apply(n,e)}))}},function(n,t){b.prototype[t]=function(t,i,f){for(var o,s=0,h=this.length;s<h;s++)r(o)?(o=n(this[s],t,i,f),u(o)&&(o=e(o))):ee(o,n(this[s],t,i,f));return u(o)?o:this};b.prototype.bind=b.prototype.on;b.prototype.unbind=b.prototype.off});gi.prototype={put:function(n,t){this[ci(n,this.nextUid)]=t},get:function(n){return this[ci(n,this.nextUid)]},remove:function(n){var t=this[n=ci(n,this.nextUid)];return delete this[n],t}};var oy=[function(){this.$get=[function(){return gi}]}],sy=/^([^\(]+?)=>/,hy=/^[^\(]*\(\s*([^\)]*)\)/m,cy=/,/,ly=/^\s*(_?)(\S+?)\1\s*$/,ay=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg,li=l("$injector");kr.$$annotate=yy;var gs=l("$animate"),wy=1,nh="ng-animate";var dy=function(){this.$get=o},gy=function(){var n=new gi,i=[];this.$get=["$$AnimateRunner","$rootScope",function(r,u){function f(n,i,r){var u=!1;return i&&(i=h(i)?i.split(" "):c(i)?i:[],t(i,function(t){t&&(u=!0,n[t]=r)})),u}function e(){t(i,function(i){var f=n.get(i);if(f){var e=ky(i.attr("class")),r="",u="";t(f,function(n,t){var i=!!e[t];n!==i&&(n?r+=(r.length?" ":"")+t:u+=(u.length?" ":"")+t)});t(i,function(n){r&&gu(n,r);u&&du(n,u)});n.remove(i)}});i.length=0}function s(t,r,o){var s=n.get(t)||{},h=f(s,r,!0),c=f(s,o,!1);(h||c)&&(n.put(t,s),i.push(t),i.length===1&&u.$$postDigest(e))}return{enabled:o,on:o,off:o,pin:o,push:function(n,t,i,u){u&&u();i=i||{};i.from&&n.css(i.from);i.to&&n.css(i.to);(i.addClass||i.removeClass)&&s(n,i.addClass,i.removeClass);var f=new r;return f.complete(),f}}}]},np=["$provide",function(n){var t=this;this.$$registeredAnimations=Object.create(null);this.register=function(i,r){if(i&&i.charAt(0)!==".")throw gs("notcsel","Expecting class selector starting with '.' got '{0}'.",i);var u=i+"-animation";t.$$registeredAnimations[i.substr(1)]=u;n.factory(u,r)};this.classNameFilter=function(n){if(arguments.length===1&&(this.$$classNameFilter=n instanceof RegExp?n:null,this.$$classNameFilter)){var t=new RegExp("(\\s+|\\/)"+nh+"(\\s+|\\/)");if(t.test(this.$$classNameFilter.toString()))throw gs("nongcls",'$animateProvider.classNameFilter(regex) prohibits accepting a regex value which matches/contains the "{0}" CSS class.',nh);}return this.$$classNameFilter};this.$get=["$$animateQueue",function(n){function t(n,t,i){if(i){var r=by(i);!r||r.parentNode||r.previousElementSibling||(i=null)}i?i.after(n):t.prepend(n)}return{on:n.on,off:n.off,pin:n.pin,enabled:n.enabled,cancel:function(n){n.end&&n.end()},enter:function(i,r,u,f){return r=r&&e(r),u=u&&e(u),r=r||u.parent(),t(i,r,u),n.push(i,"enter",ai(f))},move:function(i,r,u,f){return r=r&&e(r),u=u&&e(u),r=r||u.parent(),t(i,r,u),n.push(i,"move",ai(f))},leave:function(t,i){return n.push(t,"leave",ai(i),function(){t.remove()})},addClass:function(t,i,r){return r=ai(r),r.addClass=dr(r.addclass,i),n.push(t,"addClass",r)},removeClass:function(t,i,r){return r=ai(r),r.removeClass=dr(r.removeClass,i),n.push(t,"removeClass",r)},setClass:function(t,i,r,u){return u=ai(u),u.addClass=dr(u.addClass,i),u.removeClass=dr(u.removeClass,r),n.push(t,"setClass",u)},animate:function(t,i,r,u,f){return f=ai(f),f.from=f.from?v(f.from,i):i,f.to=f.to?v(f.to,r):r,u=u||"ng-inline-animate",f.tempClasses=dr(f.tempClasses,u),n.push(t,"animate",f)}}}]}],tp=function(){this.$get=["$$rAF",function(n){function i(i){(t.push(i),t.length>1)||n(function(){for(var n=0;n<t.length;n++)t[n]();t=[]})}var t=[];return function(){var n=!1;return i(function(){n=!0}),function(t){n?t():i(t)}}}]},ip=function(){this.$get=["$q","$sniffer","$$animateAsyncRun","$document","$timeout",function(n,i,r,u,f){function e(n){this.setHost(n);var t=r(),i=function(n){f(n,0,!1)};this._doneCallbacks=[];this._tick=function(n){var r=u[0];r&&r.hidden?i(n):t(n)};this._state=0}var h=0,c=1,s=2;return e.chain=function(n,t){function r(){if(i===n.length){t(!0);return}n[i](function(n){if(n===!1){t(!1);return}i++;r()})}var i=0;r()},e.all=function(n,i){function f(t){r=r&&t;++u===n.length&&i(r)}var u=0,r=!0;t(n,function(n){n.done(f)})},e.prototype={setHost:function(n){this.host=n||{}},done:function(n){this._state===s?n():this._doneCallbacks.push(n)},progress:o,getPromise:function(){if(!this.promise){var t=this;this.promise=n(function(n,i){t.done(function(t){t===!1?i():n()})})}return this.promise},then:function(n,t){return this.getPromise().then(n,t)},"catch":function(n){return this.getPromise()["catch"](n)},"finally":function(n){return this.getPromise()["finally"](n)},pause:function(){this.host.pause&&this.host.pause()},resume:function(){this.host.resume&&this.host.resume()},end:function(){this.host.end&&this.host.end();this._resolve(!0)},cancel:function(){this.host.cancel&&this.host.cancel();this._resolve(!1)},complete:function(n){var t=this;t._state===h&&(t._state=c,t._tick(function(){t._resolve(n)}))},_resolve:function(n){this._state!==s&&(t(this._doneCallbacks,function(t){t(n)}),this._doneCallbacks.length=0,this._state=s)}},e}]},rp=function(){this.$get=["$$rAF","$q","$$AnimateRunner",function(n,t,i){return function(t,r){function o(){return n(function(){s();e||f.complete();e=!0}),f}function s(){u.addClass&&(t.addClass(u.addClass),u.addClass=null);u.removeClass&&(t.removeClass(u.removeClass),u.removeClass=null);u.to&&(t.css(u.to),u.to=null)}var u=r||{},e,f;return u.$$prepared||(u=ti(u)),u.cleanupStyles&&(u.from=u.to=null),u.from&&(t.css(u.from),u.from=null),f=new i,{start:o,end:o}}}]};d=l("$compile");rf=new sp;th.$inject=["$provide","$$sanitizeUriProvider"];uf.prototype.isFirstChange=function(){return this.previousValue===rf};he=/^((?:x|data)[\:\-_])/i;uh=l("$controller");ce=/^(\S+)(\s+as\s+([\w$]+))?$/;var ap=function(){this.$get=["$document",function(n){return function(t){return t?!t.nodeType&&t instanceof e&&(t=t[0]):t=n[0].body,t.offsetWidth+1}}]},eh="application/json",le={"Content-Type":eh+";charset=utf-8"},vp=/^\[|^\{(?!\{)/,yp={"[":/]$/,"{":/}$/},pp=/^\)\]\}',?\n/,wp=l("$http"),oh=function(n){return function(){throw wp("legacy","The method `{0}` on the promise returned from `$http` has been disabled.",n);}};ri=ut.$interpolateMinErr=l("$interpolate");ri.throwNoconcat=function(n){throw ri("noconcat","Error while interpolating: {0}\nStrict Contextual Escaping disallows interpolations that concatenate multiple expressions when a trusted value is required.  See http://docs.angularjs.org/api/ng.$sce",n);};ri.interr=function(n,t){return ri("interr","Can't interpolate: {0}\n{1}",n,t.toString())};var fw=/^([^\?#]*)(\?([^#]*))?(#(.*))?$/,ew={http:80,https:443,ftp:21},ff=l("$location");ph={$$absUrl:"",$$html5:!1,$$replace:!1,absUrl:ef("$$absUrl"),url:function(n){if(r(n))return this.$$url;var t=fw.exec(n);return(t[1]||n==="")&&this.path(decodeURIComponent(t[1])),(t[2]||t[1]||n==="")&&this.search(t[3]||""),this.hash(t[5]||""),this},protocol:ef("$$protocol"),host:ef("$$host"),port:ef("$$port"),path:wh("$$path",function(n){return n=n!==null?n.toString():"",n.charAt(0)=="/"?n:"/"+n}),search:function(n,i){switch(arguments.length){case 0:return this.$$search;case 1:if(h(n)||w(n))n=n.toString(),this.$$search=is(n);else if(s(n))n=ti(n,{}),t(n,function(t,i){t==null&&delete n[i]}),this.$$search=n;else throw ff("isrcharg","The first argument of the `$location#search()` call must be a string or an object.");break;default:r(i)||i===null?delete this.$$search[n]:this.$$search[n]=i}return this.$$compose(),this},hash:wh("$$hash",function(n){return n!==null?n.toString():""}),replace:function(){return this.$$replace=!0,this}};t([yh,be,we],function(n){n.prototype=Object.create(ph);n.prototype.state=function(t){if(!arguments.length)return this.$$state;if(n!==we||!this.$$html5)throw ff("nostate","History API state support is available only in HTML5 mode and only in browsers supporting HTML5 History API");return this.$$state=r(t)?null:t,this}});it=l("$parse");var lw=Function.prototype.call,aw=Function.prototype.apply,vw=Function.prototype.bind;nu=p();t("+ - * / % === !== == != < > <= >= && || ! = |".split(" "),function(n){nu[n]=!0});dh={n:"\n",f:"\f",r:"\r",t:"\t",v:"\v","'":"'",'"':'"'};sf=function(n){this.options=n};sf.prototype={constructor:sf,lex:function(n){var t,r;for(this.text=n,this.index=0,this.tokens=[];this.index<this.text.length;)if(t=this.text.charAt(this.index),t==='"'||t==="'")this.readString(t);else if(this.isNumber(t)||t==="."&&this.isNumber(this.peek()))this.readNumber();else if(this.isIdentifierStart(this.peekMultichar()))this.readIdent();else if(this.is(t,"(){}[].,;:?"))this.tokens.push({index:this.index,text:t}),this.index++;else if(this.isWhitespace(t))this.index++;else{var i=t+this.peek(),u=i+this.peek(2),o=nu[t],f=nu[i],e=nu[u];o||f||e?(r=e?u:f?i:t,this.tokens.push({index:this.index,text:r,operator:!0}),this.index+=r.length):this.throwError("Unexpected next character ",this.index,this.index+1)}return this.tokens},is:function(n,t){return t.indexOf(n)!==-1},peek:function(n){var t=n||1;return this.index+t<this.text.length?this.text.charAt(this.index+t):!1},isNumber:function(n){return"0"<=n&&n<="9"&&typeof n=="string"},isWhitespace:function(n){return n===" "||n==="\r"||n==="\t"||n==="\n"||n==='\v'||n===" "},isIdentifierStart:function(n){return this.options.isIdentifierStart?this.options.isIdentifierStart(n,this.codePointAt(n)):this.isValidIdentifierStart(n)},isValidIdentifierStart:function(n){return"a"<=n&&n<="z"||"A"<=n&&n<="Z"||"_"===n||n==="$"},isIdentifierContinue:function(n){return this.options.isIdentifierContinue?this.options.isIdentifierContinue(n,this.codePointAt(n)):this.isValidIdentifierContinue(n)},isValidIdentifierContinue:function(n,t){return this.isValidIdentifierStart(n,t)||this.isNumber(n)},codePointAt:function(n){return n.length===1?n.charCodeAt(0):(n.charCodeAt(0)<<10)+n.charCodeAt(1)-56613888},peekMultichar:function(){var n=this.text.charAt(this.index),t=this.peek(),i,r;return t?(i=n.charCodeAt(0),r=t.charCodeAt(0),i>=55296&&i<=56319&&r>=56320&&r<=57343)?n+t:n:n},isExpOperator:function(n){return n==="-"||n==="+"||this.isNumber(n)},throwError:function(n,t,i){i=i||this.index;var r=u(t)?"s "+t+"-"+this.index+" ["+this.text.substring(t,i)+"]":" "+i;throw it("lexerr","Lexer Error: {0} at column{1} in expression [{2}].",n,r,this.text);},readNumber:function(){for(var n="",r=this.index,t,i;this.index<this.text.length;){if(t=a(this.text.charAt(this.index)),t=="."||this.isNumber(t))n+=t;else if(i=this.peek(),t=="e"&&this.isExpOperator(i))n+=t;else if(this.isExpOperator(t)&&i&&this.isNumber(i)&&n.charAt(n.length-1)=="e")n+=t;else if(!this.isExpOperator(t)||i&&this.isNumber(i)||n.charAt(n.length-1)!="e")break;else this.throwError("Invalid exponent");this.index++}this.tokens.push({index:r,text:n,constant:!0,value:Number(n)})},readIdent:function(){var t=this.index,n;for(this.index+=this.peekMultichar().length;this.index<this.text.length;){if(n=this.peekMultichar(),!this.isIdentifierContinue(n))break;this.index+=n.length}this.tokens.push({index:t,text:this.text.slice(t,this.index),identifier:!0})},readString:function(n){var f=this.index,t,r,o;this.index++;for(var i="",e=n,u=!1;this.index<this.text.length;){if(t=this.text.charAt(this.index),e+=t,u)t==="u"?(r=this.text.substring(this.index+1,this.index+5),r.match(/[\da-f]{4}/i)||this.throwError("Invalid unicode escape [\\u"+r+"]"),this.index+=4,i+=String.fromCharCode(parseInt(r,16))):(o=dh[t],i=i+(o||t)),u=!1;else if(t==="\\")u=!0;else{if(t===n){this.index++;this.tokens.push({index:f,text:e,constant:!0,value:i});return}i+=t}this.index++}this.throwError("Unterminated quote",f)}};i=function(n,t){this.lexer=n;this.options=t};i.Program="Program";i.ExpressionStatement="ExpressionStatement";i.AssignmentExpression="AssignmentExpression";i.ConditionalExpression="ConditionalExpression";i.LogicalExpression="LogicalExpression";i.BinaryExpression="BinaryExpression";i.UnaryExpression="UnaryExpression";i.CallExpression="CallExpression";i.MemberExpression="MemberExpression";i.Identifier="Identifier";i.Literal="Literal";i.ArrayExpression="ArrayExpression";i.Property="Property";i.ObjectExpression="ObjectExpression";i.ThisExpression="ThisExpression";i.LocalsExpression="LocalsExpression";i.NGValueParameter="NGValueParameter";i.prototype={ast:function(n){this.text=n;this.tokens=this.lexer.lex(n);var t=this.program();return this.tokens.length!==0&&this.throwError("is an unexpected token",this.tokens[0]),t},program:function(){for(var n=[];;)if(this.tokens.length>0&&!this.peek("}",")",";","]")&&n.push(this.expressionStatement()),!this.expect(";"))return{type:i.Program,body:n}},expressionStatement:function(){return{type:i.ExpressionStatement,expression:this.filterChain()}},filterChain:function(){for(var n=this.expression(),t;t=this.expect("|");)n=this.filter(n);return n},expression:function(){return this.assignment()},assignment:function(){var n=this.ternary();return this.expect("=")&&(n={type:i.AssignmentExpression,left:n,right:this.assignment(),operator:"="}),n},ternary:function(){var n=this.logicalOR(),t,r;return this.expect("?")&&(t=this.expression(),this.consume(":"))?(r=this.expression(),{type:i.ConditionalExpression,test:n,alternate:t,consequent:r}):n},logicalOR:function(){for(var n=this.logicalAND();this.expect("||");)n={type:i.LogicalExpression,operator:"||",left:n,right:this.logicalAND()};return n},logicalAND:function(){for(var n=this.equality();this.expect("&&");)n={type:i.LogicalExpression,operator:"&&",left:n,right:this.equality()};return n},equality:function(){for(var n=this.relational(),t;t=this.expect("==","!=","===","!==");)n={type:i.BinaryExpression,operator:t.text,left:n,right:this.relational()};return n},relational:function(){for(var n=this.additive(),t;t=this.expect("<",">","<=",">=");)n={type:i.BinaryExpression,operator:t.text,left:n,right:this.additive()};return n},additive:function(){for(var n=this.multiplicative(),t;t=this.expect("+","-");)n={type:i.BinaryExpression,operator:t.text,left:n,right:this.multiplicative()};return n},multiplicative:function(){for(var n=this.unary(),t;t=this.expect("*","/","%");)n={type:i.BinaryExpression,operator:t.text,left:n,right:this.unary()};return n},unary:function(){var n;return(n=this.expect("+","-","!"))?{type:i.UnaryExpression,operator:n.text,prefix:!0,argument:this.unary()}:this.primary()},primary:function(){var n,t;for(this.expect("(")?(n=this.filterChain(),this.consume(")")):this.expect("[")?n=this.arrayDeclaration():this.expect("{")?n=this.object():this.selfReferential.hasOwnProperty(this.peek().text)?n=ti(this.selfReferential[this.consume().text]):this.options.literals.hasOwnProperty(this.peek().text)?n={type:i.Literal,value:this.options.literals[this.consume().text]}:this.peek().identifier?n=this.identifier():this.peek().constant?n=this.constant():this.throwError("not a primary expression",this.peek());t=this.expect("(","[",".");)t.text==="("?(n={type:i.CallExpression,callee:n,arguments:this.parseArguments()},this.consume(")")):t.text==="["?(n={type:i.MemberExpression,object:n,property:this.expression(),computed:!0},this.consume("]")):t.text==="."?n={type:i.MemberExpression,object:n,property:this.identifier(),computed:!1}:this.throwError("IMPOSSIBLE");return n},filter:function(n){for(var t=[n],r={type:i.CallExpression,callee:this.identifier(),arguments:t,filter:!0};this.expect(":");)t.push(this.expression());return r},parseArguments:function(){var n=[];if(this.peekToken().text!==")")do n.push(this.filterChain());while(this.expect(","));return n},identifier:function(){var n=this.consume();return n.identifier||this.throwError("is not a valid identifier",n),{type:i.Identifier,name:n.text}},constant:function(){return{type:i.Literal,value:this.consume().value}},arrayDeclaration:function(){var n=[];if(this.peekToken().text!=="]")do{if(this.peek("]"))break;n.push(this.expression())}while(this.expect(","));return this.consume("]"),{type:i.ArrayExpression,elements:n}},object:function(){var t=[],n;if(this.peekToken().text!=="}")do{if(this.peek("}"))break;n={type:i.Property,kind:"init"};this.peek().constant?(n.key=this.constant(),n.computed=!1,this.consume(":"),n.value=this.expression()):this.peek().identifier?(n.key=this.identifier(),n.computed=!1,this.peek(":")?(this.consume(":"),n.value=this.expression()):n.value=n.key):this.peek("[")?(this.consume("["),n.key=this.expression(),this.consume("]"),n.computed=!0,this.consume(":"),n.value=this.expression()):this.throwError("invalid key",this.peek());t.push(n)}while(this.expect(","));return this.consume("}"),{type:i.ObjectExpression,properties:t}},throwError:function(n,t){throw it("syntax","Syntax Error: Token '{0}' {1} at column {2} of the expression [{3}] starting at [{4}].",t.text,n,t.index+1,this.text,this.text.substring(t.index));},consume:function(n){if(this.tokens.length===0)throw it("ueoe","Unexpected end of expression: {0}",this.text);var t=this.expect(n);return t||this.throwError("is unexpected, expecting ["+n+"]",this.peek()),t},peekToken:function(){if(this.tokens.length===0)throw it("ueoe","Unexpected end of expression: {0}",this.text);return this.tokens[0]},peek:function(n,t,i,r){return this.peekAhead(0,n,t,i,r)},peekAhead:function(n,t,i,r,u){if(this.tokens.length>n){var e=this.tokens[n],f=e.text;if(f===t||f===i||f===r||f===u||!t&&!i&&!r&&!u)return e}return!1},expect:function(n,t,i,r){var u=this.peek(n,t,i,r);return u?(this.tokens.shift(),u):!1},selfReferential:{"this":{type:i.ThisExpression},$locals:{type:i.LocalsExpression}}};ec.prototype={compile:function(n,i){var r=this,u=this.astBuilder.ast(n),e,s,o,h,c,f;return this.state={nextId:0,filters:{},expensiveChecks:i,fn:{vars:[],body:[],own:{}},assign:{vars:[],body:[],own:{}},inputs:[]},k(u,r.$filter),e="",this.stage="assign",(s=rc(u))&&(this.state.computing="assign",o=this.nextId(),this.recurse(s,o),this.return_(o),e="fn.assign="+this.generateFunction("assign","s,v,l")),h=tc(u.body),r.stage="inputs",t(h,function(n,t){var i="fn"+t,u;r.state[i]={vars:[],body:[],own:{}};r.state.computing=i;u=r.nextId();r.recurse(n,u);r.return_(u);r.state.inputs.push(i);n.watchId=t}),this.state.computing="fn",this.stage="main",this.recurse(u),c='"'+this.USE+" "+this.STRICT+'";\n'+this.filterPrefix()+"var fn="+this.generateFunction("fn","s,l,a,i")+e+this.watchFns()+"return fn;",f=new Function("$filter","ensureSafeMemberName","ensureSafeObject","ensureSafeFunction","getStringValue","ensureSafeAssignContext","ifDefined","plus","text",c)(this.$filter,nr,ui,kh,bh,of,yw,gh,n),this.state=this.stage=undefined,f.literal=uc(u),f.constant=fc(u),f},USE:"use",STRICT:"strict",watchFns:function(){var n=[],i=this.state.inputs,r=this;return t(i,function(t){n.push("var "+t+"="+r.generateFunction(t,"s"))}),i.length&&n.push("fn.inputs=["+i.join(",")+"];"),n.join("")},generateFunction:function(n,t){return"function("+t+"){"+this.varsPrefix(n)+this.body(n)+"};"},filterPrefix:function(){var n=[],i=this;return(t(this.state.filters,function(t,r){n.push(t+"=$filter("+i.escape(r)+")")}),n.length)?"var "+n.join(",")+";":""},varsPrefix:function(n){return this.state[n].vars.length?"var "+this.state[n].vars.join(",")+";":""},body:function(n){return this.state[n].body.join("")},recurse:function(n,r,f,e,s,h){var l,v,c=this,y,a,p;if(e=e||o,!h&&u(n.watchId)){r=r||this.nextId();this.if_("i",this.lazyAssign(r,this.computedMember("i",n.watchId)),this.lazyRecurse(n,r,f,e,s,!0));return}switch(n.type){case i.Program:t(n.body,function(t,i){c.recurse(t.expression,undefined,undefined,function(n){v=n});i!==n.body.length-1?c.current().body.push(v,";"):c.return_(v)});break;case i.Literal:a=this.escape(n.value);this.assign(r,a);e(a);break;case i.UnaryExpression:this.recurse(n.argument,undefined,undefined,function(n){v=n});a=n.operator+"("+this.ifDefined(v,0)+")";this.assign(r,a);e(a);break;case i.BinaryExpression:this.recurse(n.left,undefined,undefined,function(n){l=n});this.recurse(n.right,undefined,undefined,function(n){v=n});a=n.operator==="+"?this.plus(l,v):n.operator==="-"?this.ifDefined(l,0)+n.operator+this.ifDefined(v,0):"("+l+")"+n.operator+"("+v+")";this.assign(r,a);e(a);break;case i.LogicalExpression:r=r||this.nextId();c.recurse(n.left,r);c.if_(n.operator==="&&"?r:c.not(r),c.lazyRecurse(n.right,r));e(r);break;case i.ConditionalExpression:r=r||this.nextId();c.recurse(n.test,r);c.if_(r,c.lazyRecurse(n.alternate,r),c.lazyRecurse(n.consequent,r));e(r);break;case i.Identifier:r=r||this.nextId();f&&(f.context=c.stage==="inputs"?"s":this.assign(this.nextId(),this.getHasOwnProperty("l",n.name)+"?l:s"),f.computed=!1,f.name=n.name);nr(n.name);c.if_(c.stage==="inputs"||c.not(c.getHasOwnProperty("l",n.name)),function(){c.if_(c.stage==="inputs"||"s",function(){s&&s!==1&&c.if_(c.not(c.nonComputedMember("s",n.name)),c.lazyAssign(c.nonComputedMember("s",n.name),"{}"));c.assign(r,c.nonComputedMember("s",n.name))})},r&&c.lazyAssign(r,c.nonComputedMember("l",n.name)));(c.state.expensiveChecks||cf(n.name))&&c.addEnsureSafeObject(r);e(r);break;case i.MemberExpression:l=f&&(f.context=this.nextId())||this.nextId();r=r||this.nextId();c.recurse(n.object,l,undefined,function(){c.if_(c.notNull(l),function(){s&&s!==1&&c.addEnsureSafeAssignContext(l);n.computed?(v=c.nextId(),c.recurse(n.property,v),c.getStringValue(v),c.addEnsureSafeMemberName(v),s&&s!==1&&c.if_(c.not(c.computedMember(l,v)),c.lazyAssign(c.computedMember(l,v),"{}")),a=c.ensureSafeObject(c.computedMember(l,v)),c.assign(r,a),f&&(f.computed=!0,f.name=v)):(nr(n.property.name),s&&s!==1&&c.if_(c.not(c.nonComputedMember(l,n.property.name)),c.lazyAssign(c.nonComputedMember(l,n.property.name),"{}")),a=c.nonComputedMember(l,n.property.name),(c.state.expensiveChecks||cf(n.property.name))&&(a=c.ensureSafeObject(a)),c.assign(r,a),f&&(f.computed=!1,f.name=n.property.name))},function(){c.assign(r,"undefined")});e(r)},!!s);break;case i.CallExpression:r=r||this.nextId();n.filter?(v=c.filter(n.callee.name),y=[],t(n.arguments,function(n){var t=c.nextId();c.recurse(n,t);y.push(t)}),a=v+"("+y.join(",")+")",c.assign(r,a),e(r)):(v=c.nextId(),l={},y=[],c.recurse(n.callee,v,l,function(){c.if_(c.notNull(v),function(){c.addEnsureSafeFunction(v);t(n.arguments,function(n){c.recurse(n,c.nextId(),undefined,function(n){y.push(c.ensureSafeObject(n))})});l.name?(c.state.expensiveChecks||c.addEnsureSafeObject(l.context),a=c.member(l.context,l.name,l.computed)+"("+y.join(",")+")"):a=v+"("+y.join(",")+")";a=c.ensureSafeObject(a);c.assign(r,a)},function(){c.assign(r,"undefined")});e(r)}));break;case i.AssignmentExpression:if(v=this.nextId(),l={},!ic(n.left))throw it("lval","Trying to assign a value to a non l-value");this.recurse(n.left,undefined,l,function(){c.if_(c.notNull(l.context),function(){c.recurse(n.right,v);c.addEnsureSafeObject(c.member(l.context,l.name,l.computed));c.addEnsureSafeAssignContext(l.context);a=c.member(l.context,l.name,l.computed)+n.operator+v;c.assign(r,a);e(r||a)})},1);break;case i.ArrayExpression:y=[];t(n.elements,function(n){c.recurse(n,c.nextId(),undefined,function(n){y.push(n)})});a="["+y.join(",")+"]";this.assign(r,a);e(a);break;case i.ObjectExpression:y=[];p=!1;t(n.properties,function(n){n.computed&&(p=!0)});p?(r=r||this.nextId(),this.assign(r,"{}"),t(n.properties,function(n){n.computed?(l=c.nextId(),c.recurse(n.key,l)):l=n.key.type===i.Identifier?n.key.name:""+n.key.value;v=c.nextId();c.recurse(n.value,v);c.assign(c.member(r,l,n.computed),v)})):(t(n.properties,function(t){c.recurse(t.value,n.constant?undefined:c.nextId(),undefined,function(n){y.push(c.escape(t.key.type===i.Identifier?t.key.name:""+t.key.value)+":"+n)})}),a="{"+y.join(",")+"}",this.assign(r,a));e(r||a);break;case i.ThisExpression:this.assign(r,"s");e("s");break;case i.LocalsExpression:this.assign(r,"l");e("l");break;case i.NGValueParameter:this.assign(r,"v");e("v")}},getHasOwnProperty:function(n,t){var i=n+"."+t,r=this.current().own;return r.hasOwnProperty(i)||(r[i]=this.nextId(!1,n+"&&("+this.escape(t)+" in "+n+")")),r[i]},assign:function(n,t){if(n)return this.current().body.push(n,"=",t,";"),n},filter:function(n){return this.state.filters.hasOwnProperty(n)||(this.state.filters[n]=this.nextId(!0)),this.state.filters[n]},ifDefined:function(n,t){return"ifDefined("+n+","+this.escape(t)+")"},plus:function(n,t){return"plus("+n+","+t+")"},return_:function(n){this.current().body.push("return ",n,";")},if_:function(n,t,i){if(n===!0)t();else{var r=this.current().body;r.push("if(",n,"){");t();r.push("}");i&&(r.push("else{"),i(),r.push("}"))}},not:function(n){return"!("+n+")"},notNull:function(n){return n+"!=null"},nonComputedMember:function(n,t){return/[$_a-zA-Z][$_a-zA-Z0-9]*/.test(t)?n+"."+t:n+'["'+t.replace(/[^$_a-zA-Z0-9]/g,this.stringEscapeFn)+'"]'},computedMember:function(n,t){return n+"["+t+"]"},member:function(n,t,i){return i?this.computedMember(n,t):this.nonComputedMember(n,t)},addEnsureSafeObject:function(n){this.current().body.push(this.ensureSafeObject(n),";")},addEnsureSafeMemberName:function(n){this.current().body.push(this.ensureSafeMemberName(n),";")},addEnsureSafeFunction:function(n){this.current().body.push(this.ensureSafeFunction(n),";")},addEnsureSafeAssignContext:function(n){this.current().body.push(this.ensureSafeAssignContext(n),";")},ensureSafeObject:function(n){return"ensureSafeObject("+n+",text)"},ensureSafeMemberName:function(n){return"ensureSafeMemberName("+n+",text)"},ensureSafeFunction:function(n){return"ensureSafeFunction("+n+",text)"},getStringValue:function(n){this.assign(n,"getStringValue("+n+")")},ensureSafeAssignContext:function(n){return"ensureSafeAssignContext("+n+",text)"},lazyRecurse:function(n,t,i,r,u,f){var e=this;return function(){e.recurse(n,t,i,r,u,f)}},lazyAssign:function(n,t){var i=this;return function(){i.assign(n,t)}},stringEscapeRegex:/[^ a-zA-Z0-9]/g,stringEscapeFn:function(n){return"\\u"+("0000"+n.charCodeAt(0).toString(16)).slice(-4)},escape:function(n){if(h(n))return"'"+n.replace(this.stringEscapeRegex,this.stringEscapeFn)+"'";if(w(n))return n.toString();if(n===!0)return"true";if(n===!1)return"false";if(n===null)return"null";if(typeof n=="undefined")return"undefined";throw it("esc","IMPOSSIBLE");},nextId:function(n,t){var i="v"+this.state.nextId++;return n||this.current().vars.push(i+(t?"="+t:"")),i},current:function(){return this.state[this.state.computing]}};oc.prototype={compile:function(n,i){var s=this,r=this.astBuilder.ast(n),l,h,c,f,e,u;return this.expression=n,this.expensiveChecks=i,k(r,s.$filter),(l=rc(r))&&(h=this.recurse(l)),c=tc(r.body),c&&(f=[],t(c,function(n,t){var i=s.recurse(n);n.input=i;f.push(i);n.watchId=t})),e=[],t(r.body,function(n){e.push(s.recurse(n.expression))}),u=r.body.length===0?o:r.body.length===1?e[0]:function(n,i){var r;return t(e,function(t){r=t(n,i)}),r},h&&(u.assign=function(n,t,i){return h(n,i,t)}),f&&(u.inputs=f),u.literal=uc(r),u.constant=fc(r),u},recurse:function(n,r,u){var s,o,e=this,f;if(n.input)return this.inputs(n.input,n.watchId);switch(n.type){case i.Literal:return this.value(n.value,r);case i.UnaryExpression:return o=this.recurse(n.argument),this["unary"+n.operator](o,r);case i.BinaryExpression:return s=this.recurse(n.left),o=this.recurse(n.right),this["binary"+n.operator](s,o,r);case i.LogicalExpression:return s=this.recurse(n.left),o=this.recurse(n.right),this["binary"+n.operator](s,o,r);case i.ConditionalExpression:return this["ternary?:"](this.recurse(n.test),this.recurse(n.alternate),this.recurse(n.consequent),r);case i.Identifier:return nr(n.name,e.expression),e.identifier(n.name,e.expensiveChecks||cf(n.name),r,u,e.expression);case i.MemberExpression:return s=this.recurse(n.object,!1,!!u),n.computed||(nr(n.property.name,e.expression),o=n.property.name),n.computed&&(o=this.recurse(n.property)),n.computed?this.computedMember(s,o,r,u,e.expression):this.nonComputedMember(s,o,e.expensiveChecks,r,u,e.expression);case i.CallExpression:return f=[],t(n.arguments,function(n){f.push(e.recurse(n))}),n.filter&&(o=this.$filter(n.callee.name)),n.filter||(o=this.recurse(n.callee,!0)),n.filter?function(n,t,i,u){for(var s,h=[],e=0;e<f.length;++e)h.push(f[e](n,t,i,u));return s=o.apply(undefined,h,u),r?{context:undefined,name:undefined,value:s}:s}:function(n,t,i,u){var s=o(n,t,i,u),c,l,h;if(s.value!=null){for(ui(s.context,e.expression),kh(s.value,e.expression),l=[],h=0;h<f.length;++h)l.push(ui(f[h](n,t,i,u),e.expression));c=ui(s.value.apply(s.context,l),e.expression)}return r?{value:c}:c};case i.AssignmentExpression:return s=this.recurse(n.left,!0,1),o=this.recurse(n.right),function(n,t,i,u){var f=s(n,t,i,u),h=o(n,t,i,u);return ui(f.value,e.expression),of(f.context),f.context[f.name]=h,r?{value:h}:h};case i.ArrayExpression:return f=[],t(n.elements,function(n){f.push(e.recurse(n))}),function(n,t,i,u){for(var e=[],o=0;o<f.length;++o)e.push(f[o](n,t,i,u));return r?{value:e}:e};case i.ObjectExpression:return f=[],t(n.properties,function(n){n.computed?f.push({key:e.recurse(n.key),computed:!0,value:e.recurse(n.value)}):f.push({key:n.key.type===i.Identifier?n.key.name:""+n.key.value,computed:!1,value:e.recurse(n.value)})}),function(n,t,i,u){for(var o={},e=0;e<f.length;++e)f[e].computed?o[f[e].key(n,t,i,u)]=f[e].value(n,t,i,u):o[f[e].key]=f[e].value(n,t,i,u);return r?{value:o}:o};case i.ThisExpression:return function(n){return r?{value:n}:n};case i.LocalsExpression:return function(n,t){return r?{value:t}:t};case i.NGValueParameter:return function(n,t,i){return r?{value:i}:i}}},"unary+":function(n,t){return function(i,r,f,e){var o=n(i,r,f,e);return o=u(o)?+o:0,t?{value:o}:o}},"unary-":function(n,t){return function(i,r,f,e){var o=n(i,r,f,e);return o=u(o)?-o:0,t?{value:o}:o}},"unary!":function(n,t){return function(i,r,u,f){var e=!n(i,r,u,f);return t?{value:e}:e}},"binary+":function(n,t,i){return function(r,u,f,e){var s=n(r,u,f,e),h=t(r,u,f,e),o=gh(s,h);return i?{value:o}:o}},"binary-":function(n,t,i){return function(r,f,e,o){var s=n(r,f,e,o),h=t(r,f,e,o),c=(u(s)?s:0)-(u(h)?h:0);return i?{value:c}:c}},"binary*":function(n,t,i){return function(r,u,f,e){var o=n(r,u,f,e)*t(r,u,f,e);return i?{value:o}:o}},"binary/":function(n,t,i){return function(r,u,f,e){var o=n(r,u,f,e)/t(r,u,f,e);return i?{value:o}:o}},"binary%":function(n,t,i){return function(r,u,f,e){var o=n(r,u,f,e)%t(r,u,f,e);return i?{value:o}:o}},"binary===":function(n,t,i){return function(r,u,f,e){var o=n(r,u,f,e)===t(r,u,f,e);return i?{value:o}:o}},"binary!==":function(n,t,i){return function(r,u,f,e){var o=n(r,u,f,e)!==t(r,u,f,e);return i?{value:o}:o}},"binary==":function(n,t,i){return function(r,u,f,e){var o=n(r,u,f,e)==t(r,u,f,e);return i?{value:o}:o}},"binary!=":function(n,t,i){return function(r,u,f,e){var o=n(r,u,f,e)!=t(r,u,f,e);return i?{value:o}:o}},"binary<":function(n,t,i){return function(r,u,f,e){var o=n(r,u,f,e)<t(r,u,f,e);return i?{value:o}:o}},"binary>":function(n,t,i){return function(r,u,f,e){var o=n(r,u,f,e)>t(r,u,f,e);return i?{value:o}:o}},"binary<=":function(n,t,i){return function(r,u,f,e){var o=n(r,u,f,e)<=t(r,u,f,e);return i?{value:o}:o}},"binary>=":function(n,t,i){return function(r,u,f,e){var o=n(r,u,f,e)>=t(r,u,f,e);return i?{value:o}:o}},"binary&&":function(n,t,i){return function(r,u,f,e){var o=n(r,u,f,e)&&t(r,u,f,e);return i?{value:o}:o}},"binary||":function(n,t,i){return function(r,u,f,e){var o=n(r,u,f,e)||t(r,u,f,e);return i?{value:o}:o}},"ternary?:":function(n,t,i,r){return function(u,f,e,o){var s=n(u,f,e,o)?t(u,f,e,o):i(u,f,e,o);return r?{value:s}:s}},value:function(n,t){return function(){return t?{context:undefined,name:undefined,value:n}:n}},identifier:function(n,t,i,r,u){return function(f,e){var o=e&&n in e?e:f,s;return r&&r!==1&&o&&!o[n]&&(o[n]={}),s=o?o[n]:undefined,t&&ui(s,u),i?{context:o,name:n,value:s}:s}},computedMember:function(n,t,i,r,u){return function(f,e,o,s){var c=n(f,e,o,s),h,l;return c!=null&&(h=t(f,e,o,s),h=bh(h),nr(h,u),r&&r!==1&&(of(c),c&&!c[h]&&(c[h]={})),l=c[h],ui(l,u)),i?{context:c,name:h,value:l}:l}},nonComputedMember:function(n,t,i,r,u,f){return function(e,o,s,h){var c=n(e,o,s,h),l;return u&&u!==1&&(of(c),c&&!c[t]&&(c[t]={})),l=c!=null?c[t]:undefined,(i||cf(t))&&ui(l,f),r?{context:c,name:t,value:l}:l}},inputs:function(n,t){return function(i,r,u,f){return f?f[t]:n(i,r,u)}}};hf=function(n,t,r){this.lexer=n;this.$filter=t;this.options=r;this.ast=new i(n,r);this.astCompiler=r.csp?new oc(this.ast,t):new ec(this.ast,t)};hf.prototype={constructor:hf,parse:function(n){return this.astCompiler.compile(n,this.options.expensiveChecks)}};sc=Object.prototype.valueOf;dt=l("$sce");ht={HTML:"html",CSS:"css",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"};lc=l("$compile");g=n.document.createElement("a");de=fi(n.location.href);vc.$inject=["$document"];yc.$inject=["$provide"];var pc=22,wc=".",no="0";bc.$inject=["$locale"];kc.$inject=["$locale"];var bb={yyyy:nt("FullYear",4,0,!1,!0),yy:nt("FullYear",2,0,!0,!0),y:nt("FullYear",1,0,!1,!0),MMMM:tu("Month"),MMM:tu("Month",!0),MM:nt("Month",2,1),M:nt("Month",1,1),LLLL:tu("Month",!1,!0),dd:nt("Date",2),d:nt("Date",1),HH:nt("Hours",2),H:nt("Hours",1),hh:nt("Hours",2,-12),h:nt("Hours",1,-12),mm:nt("Minutes",2),m:nt("Minutes",1),ss:nt("Seconds",2),s:nt("Seconds",1),sss:nt("Milliseconds",3),EEEE:tu("Day"),EEE:tu("Day",!0),a:pb,Z:vb,ww:nl(2),w:nl(1),G:to,GG:to,GGG:to,GGGG:wb},kb=/((?:[^yMLdHhmsaZEwG']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|L+|d+|H+|h+|m+|s+|a|Z|G+|w+))(.*)/,db=/^\-?\d+$/;tl.$inject=["$locale"];il=ft(a);rl=ft(ir);ul.$inject=["$parse"];fl=ft({restrict:"E",compile:function(n,t){if(!t.href&&!t.xlinkHref)return function(n,t){if(t[0].nodeName.toLowerCase()==="a"){var i=rt.call(t.prop("href"))==="[object SVGAnimatedString]"?"xlink:href":"href";t.on("click",function(n){t.attr(i)||n.preventDefault()})}}}});iu={};t(br,function(n,t){function r(n,r,u){n.$watch(u[i],function(n){u.$set(t,!!n)})}if(n!="multiple"){var i=pt("ng-"+t),u=r;n==="checked"&&(u=function(n,t,u){u.ngModel!==u[i]&&r(n,t,u)});iu[i]=function(){return{restrict:"A",priority:100,link:u}}}});t(se,function(n,t){iu[t]=function(){return{priority:100,link:function(n,i,r){if(t==="ngPattern"&&r.ngPattern.charAt(0)=="/"){var u=r.ngPattern.match(ha);if(u){r.$set("ngPattern",new RegExp(u[1],u[2]));return}}n.$watch(r[t],function(n){r.$set(t,n)})}}}});t(["src","srcset","href"],function(n){var t=pt("ng-"+n);iu[t]=function(){return{priority:99,link:function(i,r,u){var e=n,f=n;n==="href"&&rt.call(r.prop("href"))==="[object SVGAnimatedString]"&&(f="xlinkHref",u.$attr[f]="xlink:href",e=null);u.$observe(t,function(t){if(!t){n==="href"&&u.$set(f,null);return}u.$set(f,t);gt&&e&&r.prop(e,u[f])})}}}});ru={$addControl:o,$$renameControl:tk,$removeControl:o,$setValidity:o,$setDirty:o,$setPristine:o,$setSubmitted:o};ro="ng-submitted";el.$inject=["$element","$attrs","$scope","$animate","$interpolate"];var ol=function(n){return["$timeout","$parse",function(t,i){function r(n){return n===""?i('this[""]').assign:i(n).assign||o}return{name:"form",restrict:n?"EAC":"E",require:["form","^^?form"],controller:el,compile:function(i,u){i.addClass(tr).addClass(eu);var f=u.name?"name":n&&u.ngForm?"ngForm":!1;return{pre:function(n,i,u,e){var s=e[0],c,l,h;if(!("action"in u)){c=function(t){n.$apply(function(){s.$commitViewValue();s.$setSubmitted()});t.preventDefault()};yu(i[0],"submit",c);i.on("$destroy",function(){t(function(){yr(i[0],"submit",c)},0,!1)})}l=e[1]||s.$$parentForm;l.$addControl(s);h=f?r(s.$name):o;f&&(h(n,s),u.$observe(f,function(t){s.$name!==t&&(h(n,undefined),s.$$parentForm.$$renameControl(s,t),h=r(s.$name),h(n,s))}));i.on("$destroy",function(){s.$$parentForm.$removeControl(s);h(n,undefined);v(s,ru)})}}}}}]},ik=ol(),rk=ol(!0),uk=/^\d{4,}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+(?:[+-][0-2]\d:[0-5]\d|Z)$/,fk=/^[a-z][a-z\d.+-]*:\/*(?:[^:@]+(?::[^@]+)?@)?(?:[^\s:/?#]+|\[[a-f\d:]+\])(?::\d+)?(?:\/[^?#]*)?(?:\?[^#]*)?(?:#.*)?$/i,ek=/^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+\/0-9=?A-Z^_`a-z{|}~]+(\.[-!#$%&'*+\/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$/,ok=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/,sl=/^(\d{4,})-(\d{2})-(\d{2})$/,hl=/^(\d{4,})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,uo=/^(\d{4,})-W(\d\d)$/,cl=/^(\d{4,})-(\d\d)$/,ll=/^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,sk="keydown wheel mousedown",al=p();t("date,datetime-local,month,time,week".split(","),function(n){al[n]=!0});fo={text:hk,date:fu("date",sl,af(sl,["yyyy","MM","dd"]),"yyyy-MM-dd"),"datetime-local":fu("datetimelocal",hl,af(hl,["yyyy","MM","dd","HH","mm","ss","sss"]),"yyyy-MM-ddTHH:mm:ss.sss"),time:fu("time",ll,af(ll,["HH","mm","ss","sss"]),"HH:mm:ss.sss"),week:fu("week",uo,ck,"yyyy-Www"),month:fu("month",cl,af(cl,["yyyy","MM"]),"yyyy-MM"),number:lk,url:ak,email:vk,radio:yk,checkbox:pk,hidden:o,button:o,submit:o,reset:o,file:o};var pl=["$browser","$sniffer","$filter","$parse",function(n,t,i,r){return{restrict:"E",require:["?ngModel"],link:{pre:function(u,f,e,o){o[0]&&(fo[a(e.type)]||fo.text)(u,f,e,o[0],t,n,i,r)}}}}],wk=/^(true|false|\d+)$/,bk=function(){return{restrict:"A",priority:100,compile:function(n,t){return wk.test(t.ngValue)?function(n,t,i){i.$set("value",n.$eval(i.ngValue))}:function(n,t,i){n.$watch(i.ngValue,function(n){i.$set("value",n)})}}}},kk=["$compile",function(n){return{restrict:"AC",compile:function(t){return n.$$addBindingClass(t),function(t,i,u){n.$$addBindingInfo(i,u.ngBind);i=i[0];t.$watch(u.ngBind,function(n){i.textContent=r(n)?"":n})}}}}],dk=["$interpolate","$compile",function(n,t){return{compile:function(i){return t.$$addBindingClass(i),function(i,u,f){var e=n(u.attr(f.$attr.ngBindTemplate));t.$$addBindingInfo(u,e.expressions);u=u[0];f.$observe("ngBindTemplate",function(n){u.textContent=r(n)?"":n})}}}}],gk=["$sce","$parse","$compile",function(n,t,i){return{restrict:"A",compile:function(r,u){var f=t(u.ngBindHtml),e=t(u.ngBindHtml,function(t){return n.valueOf(t)});return i.$$addBindingClass(r),function(t,r,u){i.$$addBindingInfo(r,u.ngBindHtml);t.$watch(e,function(){var i=f(t);r.html(n.getTrustedHtml(i)||"")})}}}}],nd=ft({restrict:"A",require:"ngModel",link:function(n,t,i,r){r.$viewChangeListeners.push(function(){n.$eval(i.ngChange)})}});var td=oo("",!0),id=oo("Odd",0),rd=oo("Even",1),ud=pi({compile:function(n,t){t.$set("ngCloak",undefined);n.removeClass("ng-cloak")}}),fd=[function(){return{restrict:"A",scope:!0,controller:"@",priority:500}}],wl={},ed={blur:!0,focus:!0};t("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(n){var t=pt("ng-"+n);wl[t]=["$parse","$rootScope",function(i,r){return{restrict:"A",compile:function(u,f){var e=i(f[t],null,!0);return function(t,i){i.on(n,function(i){var u=function(){e(t,{$event:i})};ed[n]&&r.$$phase?t.$evalAsync(u):t.$apply(u)})}}}}]});var od=["$animate","$compile",function(n,t){return{multiElement:!0,transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(i,r,u,f,e){var h,s,o;i.$watch(u.ngIf,function(i){i?s||e(function(i,f){s=f;i[i.length++]=t.$$createComment("end ngIf",u.ngIf);h={clone:i};n.enter(i,r.parent(),r)}):(o&&(o.remove(),o=null),s&&(s.$destroy(),s=null),h&&(o=au(h.clone),n.leave(o).then(function(){o=null}),h=null))})}}}],sd=["$templateRequest","$anchorScroll","$animate",function(n,t,i){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:ut.noop,compile:function(r,f){var o=f.ngInclude||f.src,s=f.onload||"",e=f.autoscroll;return function(r,f,h,c,l){var p=0,a,v,y,w=function(){v&&(v.remove(),v=null);a&&(a.$destroy(),a=null);y&&(i.leave(y).then(function(){v=null}),v=y,y=null)};r.$watch(o,function(o){var v=function(){u(e)&&(!e||r.$eval(e))&&t()},h=++p;o?(n(o,!0).then(function(n){var t,u;r.$$destroyed||h===p&&(t=r.$new(),c.template=n,u=l(t,function(n){w();i.enter(n,null,f).then(v)}),a=t,y=u,a.$emit("$includeContentLoaded",o),r.$eval(s))},function(){r.$$destroyed||h===p&&(w(),r.$emit("$includeContentError",o))}),r.$emit("$includeContentRequested",o)):(w(),c.template=null)})}}}}],hd=["$compile",function(t){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(i,r,u,f){if(rt.call(r[0]).match(/SVG/)){r.empty();t(ls(f.template,n.document).childNodes)(i,function(n){r.append(n)},{futureParentElement:r});return}r.html(f.template);t(r.contents())(i)}}}],cd=pi({priority:450,compile:function(){return{pre:function(n,t,i){n.$eval(i.ngInit)}}}}),ld=function(){return{restrict:"A",priority:100,require:"ngModel",link:function(n,i,u,f){var e=i.attr(u.$attr.ngList)||", ",o=u.ngTrim!=="false",s=o?y(e):e,h=function(n){if(!r(n)){var i=[];return n&&t(n.split(s),function(n){n&&i.push(o?y(n):n)}),i}};f.$parsers.push(h);f.$formatters.push(function(n){return c(n)?n.join(e):undefined});f.$isEmpty=function(n){return!n||!n.length}}}},eu="ng-valid",bl="ng-invalid",tr="ng-pristine",vf="ng-dirty",so="ng-untouched",kl="ng-touched",dl="ng-pending",gl="ng-empty",na="ng-not-empty",ou=l("ngModel"),ad=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate","$timeout","$rootScope","$q","$interpolate",function(n,i,e,s,h,c,l,a,v,y){var d;this.$viewValue=Number.NaN;this.$modelValue=Number.NaN;this.$$rawModelValue=undefined;this.$validators={};this.$asyncValidators={};this.$parsers=[];this.$formatters=[];this.$viewChangeListeners=[];this.$untouched=!0;this.$touched=!1;this.$pristine=!0;this.$dirty=!1;this.$valid=!0;this.$invalid=!1;this.$error={};this.$$success={};this.$pending=undefined;this.$name=y(e.name||"",!1)(n);this.$$parentForm=ru;var k=h(e.ngModel),tt=k.assign,nt=k,it=tt,g=null,b,p=this;this.$$setOptions=function(n){if(p.$options=n,n&&n.getterSetter){var t=h(e.ngModel+"()"),i=h(e.ngModel+"($$$p)");nt=function(n){var i=k(n);return f(i)&&(i=t(n)),i};it=function(n,t){f(k(n))?i(n,{$$$p:t}):tt(n,t)}}else if(!k.assign)throw ou("nonassign","Expression '{0}' is non-assignable. Element: {1}",e.ngModel,yt(s));};this.$render=o;this.$isEmpty=function(n){return r(n)||n===""||n===null||n!==n};this.$$updateEmptyClasses=function(n){p.$isEmpty(n)?(c.removeClass(s,na),c.addClass(s,gl)):(c.removeClass(s,gl),c.addClass(s,na))};d=0;ta({ctrl:this,$element:s,set:function(n,t){n[t]=!0},unset:function(n,t){delete n[t]},$animate:c});this.$setPristine=function(){p.$dirty=!1;p.$pristine=!0;c.removeClass(s,vf);c.addClass(s,tr)};this.$setDirty=function(){p.$dirty=!0;p.$pristine=!1;c.removeClass(s,tr);c.addClass(s,vf);p.$$parentForm.$setDirty()};this.$setUntouched=function(){p.$touched=!1;p.$untouched=!0;c.setClass(s,so,kl)};this.$setTouched=function(){p.$touched=!0;p.$untouched=!1;c.setClass(s,kl,so)};this.$rollbackViewValue=function(){l.cancel(g);p.$viewValue=p.$$lastCommittedViewValue;p.$render()};this.$validate=function(){if(!w(p.$modelValue)||!isNaN(p.$modelValue)){var t=p.$$lastCommittedViewValue,n=p.$$rawModelValue,i=p.$valid,r=p.$modelValue,u=p.$options&&p.$options.allowInvalid;p.$$runValidators(n,t,function(t){u||i===t||(p.$modelValue=t?n:undefined,p.$modelValue!==r&&p.$$writeModelToScope())})}};this.$$runValidators=function(n,i,u){function h(){var n=p.$$parserName||"parse";if(r(b))f(n,null);else return b||(t(p.$validators,function(n,t){f(t,null)}),t(p.$asyncValidators,function(n,t){f(t,null)})),f(n,b),b;return!0}function c(){var r=!0;return(t(p.$validators,function(t,u){var e=t(n,i);r=r&&e;f(u,e)}),!r)?(t(p.$asyncValidators,function(n,t){f(t,null)}),!1):!0}function l(){var r=[],u=!0;t(p.$asyncValidators,function(t,e){var o=t(n,i);if(!hu(o))throw ou("nopromise","Expected asynchronous validator to return a promise but got '{0}' instead.",o);f(e,undefined);r.push(o.then(function(){f(e,!0)},function(){u=!1;f(e,!1)}))});r.length?v.all(r).then(function(){e(u)},o):e(!0)}function f(n,t){s===d&&p.$setValidity(n,t)}function e(n){s===d&&u(n)}d++;var s=d;if(!h()){e(!1);return}if(!c()){e(!1);return}l()};this.$commitViewValue=function(){var n=p.$viewValue;(l.cancel(g),p.$$lastCommittedViewValue!==n||n===""&&p.$$hasNativeValidators)&&(p.$$updateEmptyClasses(n),p.$$lastCommittedViewValue=n,p.$pristine&&this.$setDirty(),this.$$parseAndValidate())};this.$$parseAndValidate=function(){function e(){p.$modelValue!==f&&p.$$writeModelToScope()}var o=p.$$lastCommittedViewValue,t=o,i,f,u;if(b=r(t)?undefined:!0,b)for(i=0;i<p.$parsers.length;i++)if(t=p.$parsers[i](t),r(t)){b=!1;break}w(p.$modelValue)&&isNaN(p.$modelValue)&&(p.$modelValue=nt(n));f=p.$modelValue;u=p.$options&&p.$options.allowInvalid;p.$$rawModelValue=t;u&&(p.$modelValue=t,e());p.$$runValidators(t,p.$$lastCommittedViewValue,function(n){u||(p.$modelValue=n?t:undefined,e())})};this.$$writeModelToScope=function(){it(n,p.$modelValue);t(p.$viewChangeListeners,function(n){try{n()}catch(t){i(t)}})};this.$setViewValue=function(n,t){p.$viewValue=n;(!p.$options||p.$options.updateOnDefault)&&p.$$debounceViewValueCommit(t)};this.$$debounceViewValueCommit=function(t){var r=0,f=p.$options,i;f&&u(f.debounce)&&(i=f.debounce,w(i)?r=i:w(i[t])?r=i[t]:w(i["default"])&&(r=i["default"]));l.cancel(g);r?g=l(function(){p.$commitViewValue()},r):a.$$phase?p.$commitViewValue():n.$apply(function(){p.$commitViewValue()})};n.$watch(function(){var t=nt(n);if(t!==p.$modelValue&&(p.$modelValue===p.$modelValue||t===t)){p.$modelValue=p.$$rawModelValue=t;b=undefined;for(var r=p.$formatters,u=r.length,i=t;u--;)i=r[u](i);p.$viewValue!==i&&(p.$$updateEmptyClasses(i),p.$viewValue=p.$$lastCommittedViewValue=i,p.$render(),p.$$runValidators(t,i,o))}return t})}],vd=["$rootScope",function(n){return{restrict:"A",require:["ngModel","^?form","^?ngModelOptions"],controller:ad,priority:1,compile:function(t){return t.addClass(tr).addClass(so).addClass(eu),{pre:function(n,t,i,r){var u=r[0],f=r[1]||u.$$parentForm;u.$$setOptions(r[2]&&r[2].$options);f.$addControl(u);i.$observe("name",function(n){u.$name!==n&&u.$$parentForm.$$renameControl(u,n)});n.$on("$destroy",function(){u.$$parentForm.$removeControl(u)})},post:function(t,i,r,u){var f=u[0];if(f.$options&&f.$options.updateOn)i.on(f.$options.updateOn,function(n){f.$$debounceViewValueCommit(n&&n.type)});i.on("blur",function(){f.$touched||(n.$$phase?t.$evalAsync(f.$setTouched):t.$apply(f.$setTouched))})}}}}}],yd=/(\s+|^)default(\s+|$)/,pd=function(){return{restrict:"A",controller:["$scope","$attrs",function(n,t){var i=this;this.$options=ti(n.$eval(t.ngModelOptions));u(this.$options.updateOn)?(this.$options.updateOnDefault=!1,this.$options.updateOn=y(this.$options.updateOn.replace(yd,function(){return i.$options.updateOnDefault=!0," "}))):this.$options.updateOnDefault=!0}]}};var wd=pi({terminal:!0,priority:1e3}),bd=l("ngOptions"),kd=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?(?:\s+disable\s+when\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/,dd=["$compile","$document","$parse",function(i,r,f){function h(n,t,i){function tt(n,t,i,r,u){this.selectValue=n;this.viewValue=t;this.label=i;this.group=r;this.disabled=u}function w(n){var t,i;if(!s&&ni(n))t=n;else{t=[];for(i in n)n.hasOwnProperty(i)&&i.charAt(0)!=="$"&&t.push(i)}return t}var r=n.match(kd);if(!r)throw bd("iexp","Expected expression in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '{0}'. Element: {1}",n,yt(t));var o=r[5]||r[7],s=r[6],l=/ as /.test(r[0])&&r[1],u=r[9],b=f(r[2]?r[1]:o),k=l&&f(l),d=k||b,g=u&&f(u),h=u?function(n,t){return g(i,t)}:function(n){return ci(n)},a=function(n,t){return h(n,c(n,t))},v=f(r[2]||r[1]),nt=f(r[3]||""),y=f(r[4]||""),p=f(r[8]),e={},c=s?function(n,t){return e[s]=t,e[o]=n,e}:function(n){return e[o]=n,e};return{trackBy:u,getTrackByValue:a,getWatchables:f(p,function(n){var u=[],f,o,t,a,p;for(n=n||[],f=w(n),o=f.length,t=0;t<o;t++){var s=n===f?t:f[t],l=n[s],e=c(l,s),b=h(l,e);u.push(b);(r[2]||r[1])&&(a=v(i,e),u.push(a));r[4]&&(p=y(i,e),u.push(p))}return u}),getOptions:function(){for(var o=[],r={},f=p(i)||[],e=w(f),g=e.length,t=0;t<g;t++){var s=f===e?t:e[t],it=f[s],n=c(it,s),l=d(i,n),b=h(l,n),rt=v(i,n),ft=nt(i,n),et=y(i,n),k=new tt(b,l,rt,ft,et);o.push(k);r[b]=k}return{items:o,selectValueMap:r,getOptionFromViewValue:function(n){return r[a(n)]},getViewValueFromOption:function(n){return u?ut.copy(n.viewValue):n.viewValue}}}}}function a(n,f,o,a){function ft(n,t){var i=s.cloneNode(!1);t.appendChild(i);lt(n,i)}function lt(n,t){n.element=t;t.disabled=n.disabled;n.label!==t.label&&(t.label=n.label,t.textContent=n.label);n.value!==t.value&&(t.value=n.selectValue)}function et(){var r=v&&b.readValue(),n,t,e,i,o;if(v)for(n=v.items.length-1;n>=0;n--)t=v.items[n],t.group?tf(t.element.parentNode):tf(t.element);v=w.getOptions();e={};k&&f.prepend(y);v.items.forEach(function(n){var t;u(n.group)?(t=e[n.group],t||(t=l.cloneNode(!1),tt.appendChild(t),t.label=n.group,e[n.group]=t),ft(n,t)):ft(n,tt)});f[0].appendChild(tt);p.$render();p.$isEmpty(r)||(i=b.readValue(),o=w.trackBy||ut,(o?ot(r,i):r===i)||(p.$setViewValue(i),p.$render()))}for(var k,d,b=a[0],p=a[1],ut=o.multiple,y,g=0,nt=f.children(),st=nt.length;g<st;g++)if(nt[g].value===""){y=nt.eq(g);break}k=!!y;d=e(s.cloneNode(!1));d.val("?");var v,w=h(o.ngOptions,f,n),tt=r[0].createDocumentFragment(),ht=function(){k||f.prepend(y);f.val("");y.prop("selected",!0);y.attr("selected",!0)},it=function(){k||y.remove()},ct=function(){f.prepend(d);f.val("?");d.prop("selected",!0);d.attr("selected",!0)},rt=function(){d.remove()};ut?(p.$isEmpty=function(n){return!n||n.length===0},b.writeValue=function(n){v.items.forEach(function(n){n.element.selected=!1});n&&n.forEach(function(n){var t=v.getOptionFromViewValue(n);t&&(t.element.selected=!0)})},b.readValue=function(){var i=f.val()||[],n=[];return t(i,function(t){var i=v.selectValueMap[t];i&&!i.disabled&&n.push(v.getViewValueFromOption(i))}),n},w.trackBy&&n.$watchCollection(function(){if(c(p.$viewValue))return p.$viewValue.map(function(n){return w.getTrackByValue(n)})},function(){p.$render()})):(b.writeValue=function(n){var t=v.getOptionFromViewValue(n);t?(f[0].value!==t.selectValue&&(rt(),it(),f[0].value=t.selectValue,t.element.selected=!0),t.element.setAttribute("selected","selected")):n===null||k?(rt(),ht()):(it(),ct())},b.readValue=function(){var n=v.selectValueMap[f.val()];return n&&!n.disabled?(it(),rt(),v.getViewValueFromOption(n)):null},w.trackBy&&n.$watch(function(){return w.getTrackByValue(p.$viewValue)},function(){p.$render()}));k?(y.remove(),i(y)(n),y.removeClass("ng-scope")):y=e(s.cloneNode(!1));f.empty();et();n.$watchCollection(w.getWatchables,et)}var s=n.document.createElement("option"),l=n.document.createElement("optgroup");return{restrict:"A",terminal:!0,require:["select","ngModel"],link:{pre:function(n,t,i,r){r[0].registerOption=o},post:a}}}],gd=["$locale","$interpolate","$log",function(n,i,u){var f=/{}/g,e=/^when(Minus)?(.+)$/;return{link:function(s,h,c){function g(n){h.text(n||"")}var p=c.count,b=c.$attr.when&&h.attr(c.$attr.when),k=c.offset||0,v=s.$eval(b)||{},d={},nt=i.startSymbol(),tt=i.endSymbol(),it=nt+p+"-"+k+tt,y=ut.noop,l;t(c,function(n,t){var i=e.exec(t),r;i&&(r=(i[1]?"-":"")+a(i[2]),v[r]=h.attr(c.$attr[t]))});t(v,function(n,t){d[t]=i(n.replace(f,it))});s.$watch(p,function(t){var i=parseFloat(t),e=isNaN(i),f;e||i in v||(i=n.pluralCat(i-k));i===l||e&&w(l)&&isNaN(l)||(y(),f=d[i],r(f)?(t!=null&&u.debug("ngPluralize: no rule defined for '"+i+"' in "+b),y=o,g()):y=s.$watch(f,g),l=i)})}}}],ng=["$parse","$animate","$compile",function(n,i,r){var f="$$NG_REMOVED",u=l("ngRepeat"),e=function(n,t,i,r,u,f,e){n[i]=r;u&&(n[u]=f);n.$index=t;n.$first=t===0;n.$last=t===e-1;n.$middle=!(n.$first||n.$last);n.$odd=!(n.$even=(t&1)==0)},o=function(n){return n.clone[0]},s=function(n){return n.clone[n.clone.length-1]};return{restrict:"A",multiElement:!0,transclude:"element",priority:1e3,terminal:!0,$$tlb:!0,compile:function(h,c){var w=c.ngRepeat,rt=r.$$createComment("end ngRepeat",w),l=w.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/),b,v,k,d,tt,it,y;if(!l)throw u("iexp","Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.",w);var g=l[1],ut=l[2],a=l[3],nt=l[4];if(l=g.match(/^(?:(\s*[\$\w]+)|\(\s*([\$\w]+)\s*,\s*([\$\w]+)\s*\))$/),!l)throw u("iidexp","'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'.",g);if(b=l[3]||l[1],v=l[2],a&&(!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(a)||/^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test(a)))throw u("badident","alias '{0}' is invalid --- must be a valid JS identifier which is not a reserved name.",a);return y={$id:ci},nt?k=n(nt):(tt=function(n,t){return ci(t)},it=function(n){return n}),function(n,r,h,c,l){k&&(d=function(t,i,r){return v&&(y[v]=t),y[b]=i,y.$index=r,k(n,y)});var g=p();n.$watchCollection(ut,function(h){var c,pt,st=r[0],ft,ht=p(),et,ut,ot,k,yt,nt,y,ct,lt,vt,wt;if(a&&(n[a]=h),ni(h))nt=h,yt=d||tt;else{yt=d||it;nt=[];for(vt in h)at.call(h,vt)&&vt.charAt(0)!=="$"&&nt.push(vt)}for(et=nt.length,ct=new Array(et),c=0;c<et;c++)if(ut=h===nt?c:nt[c],ot=h[ut],k=yt(ut,ot,c),g[k])y=g[k],delete g[k],ht[k]=y,ct[c]=y;else if(ht[k]){t(ct,function(n){n&&n.scope&&(g[n.id]=n)});throw u("dupes","Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key: {1}, Duplicate value: {2}",w,k,ot);}else ct[c]={id:k,scope:undefined,clone:undefined},ht[k]=!0;for(wt in g){if(y=g[wt],lt=au(y.clone),i.leave(lt),lt[0].parentNode)for(c=0,pt=lt.length;c<pt;c++)lt[c][f]=!0;y.scope.$destroy()}for(c=0;c<et;c++)if(ut=h===nt?c:nt[c],ot=h[ut],y=ct[c],y.scope){ft=st;do ft=ft.nextSibling;while(ft&&ft[f]);o(y)!=ft&&i.move(au(y.clone),null,st);st=s(y);e(y.scope,c,b,ot,v,ut,et)}else l(function(n,t){y.scope=t;var r=rt.cloneNode(!1);n[n.length++]=r;i.enter(n,null,st);st=r;y.clone=n;ht[y.id]=y;e(y.scope,c,b,ot,v,ut,et)});g=ht})}}}}],ra="ng-hide",ua="ng-hide-animate",tg=["$animate",function(n){return{restrict:"A",multiElement:!0,link:function(t,i,r){t.$watch(r.ngShow,function(t){n[t?"removeClass":"addClass"](i,ra,{tempClasses:ua})})}}}],ig=["$animate",function(n){return{restrict:"A",multiElement:!0,link:function(t,i,r){t.$watch(r.ngHide,function(t){n[t?"addClass":"removeClass"](i,ra,{tempClasses:ua})})}}}],rg=pi(function(n,i,r){n.$watch(r.ngStyle,function(n,r){r&&n!==r&&t(r,function(n,t){i.css(t,"")});n&&i.css(n)},!0)}),ug=["$animate","$compile",function(n,i){return{require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(r,u,f,e){var l=f.ngSwitch||f.on,c=[],h=[],o=[],s=[],a=function(n,t){return function(){n.splice(t,1)}};r.$watch(l,function(r){for(var l,v,u=0,f=o.length;u<f;++u)n.cancel(o[u]);for(o.length=0,u=0,f=s.length;u<f;++u)l=au(h[u].clone),s[u].$destroy(),v=o[u]=n.leave(l),v.then(a(o,u));h.length=0;s.length=0;(c=e.cases["!"+r]||e.cases["?"])&&t(c,function(t){t.transclude(function(r,u){var f,e;s.push(u);f=t.element;r[r.length++]=i.$$createComment("end ngSwitchWhen");e={clone:r};h.push(e);n.enter(r,f.parent(),f)})})})}}}],fg=pi({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(n,t,i,r,u){r.cases["!"+i.ngSwitchWhen]=r.cases["!"+i.ngSwitchWhen]||[];r.cases["!"+i.ngSwitchWhen].push({transclude:u,element:t})}}),eg=pi({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(n,t,i,r,u){r.cases["?"]=r.cases["?"]||[];r.cases["?"].push({transclude:u,element:t})}}),og=l("ngTransclude"),sg=pi({restrict:"EAC",link:function(n,t,i,r,u){function f(n){n.length&&(t.empty(),t.append(n))}if(i.ngTransclude===i.$attr.ngTransclude&&(i.ngTransclude=""),!u)throw og("orphan","Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}",yt(t));var e=i.ngTransclude||i.ngTranscludeSlot;u(f,null,e)}}),hg=["$templateCache",function(n){return{restrict:"E",terminal:!0,compile:function(t,i){if(i.type=="text/ng-template"){var r=i.id,u=t[0].text;n.put(r,u)}}}}],cg={$setViewValue:o,$render:o};var ag=["$element","$scope",function(t,i){var r=this,f=new gi;r.ngModelCtrl=cg;r.unknownOption=e(n.document.createElement("option"));r.renderUnknownOption=function(n){var i="? "+ci(n)+" ?";r.unknownOption.val(i);t.prepend(r.unknownOption);t.val(i)};i.$on("$destroy",function(){r.renderUnknownOption=o});r.removeUnknownOption=function(){r.unknownOption.parent()&&r.unknownOption.remove()};r.readValue=function(){return r.removeUnknownOption(),t.val()};r.writeValue=function(n){r.hasOption(n)?(r.removeUnknownOption(),t.val(n),n===""&&r.emptyOption.prop("selected",!0)):n==null&&r.emptyOption?(r.removeUnknownOption(),t.val("")):r.renderUnknownOption(n)};r.addOption=function(n,t){if(t[0].nodeType!==vu){ki(n,'"option value"');n===""&&(r.emptyOption=t);var i=f.get(n)||0;f.put(n,i+1);r.ngModelCtrl.$render();lg(t)}};r.removeOption=function(n){var t=f.get(n);t&&(t===1?(f.remove(n),n===""&&(r.emptyOption=undefined)):f.put(n,t-1))};r.hasOption=function(n){return!!f.get(n)};r.registerOption=function(n,t,i,f,e){if(f){var o;i.$observe("value",function(n){u(o)&&r.removeOption(o);o=n;r.addOption(n,t)})}else e?n.$watch(e,function(n,u){i.$set("value",n);u!==n&&r.removeOption(u);r.addOption(n,t)}):r.addOption(i.value,t);t.on("$destroy",function(){r.removeOption(i.value);r.ngModelCtrl.$render()})}}],vg=function(){function n(n,i,r,f){var e=f[1],o,h,s;if(e){o=f[0];o.ngModelCtrl=e;i.on("change",function(){n.$apply(function(){e.$setViewValue(o.readValue())})});r.multiple&&(o.readValue=function(){var n=[];return t(i.find("option"),function(t){t.selected&&n.push(t.value)}),n},o.writeValue=function(n){var r=new gi(n);t(i.find("option"),function(n){n.selected=u(r.get(n.value))})},s=NaN,n.$watch(function(){s!==e.$viewValue||ot(h,e.$viewValue)||(h=st(e.$viewValue),e.$render());s=e.$viewValue}),e.$isEmpty=function(n){return!n||n.length===0})}}function i(n,t,i,r){var u=r[1],f;u&&(f=r[0],u.$render=function(){f.writeValue(u.$viewValue)})}return{restrict:"E",require:["select","?ngModel"],controller:ag,priority:1,link:{pre:n,post:i}}},yg=["$interpolate",function(n){return{restrict:"E",priority:100,compile:function(t,i){var f,r;return u(i.value)?f=n(i.value,!0):(r=n(t.text(),!0),r||i.$set("value",t.text())),function(n,t,i){var u="$selectController",e=t.parent(),o=e.data(u)||e.parent().data(u);o&&o.registerOption(n,t,i,f,r)}}}}],pg=ft({restrict:"E",terminal:!1}),fa=function(){return{restrict:"A",require:"?ngModel",link:function(n,t,i,r){r&&(i.required=!0,r.$validators.required=function(n,t){return!i.required||!r.$isEmpty(t)},i.$observe("required",function(){r.$validate()}))}}},ea=function(){return{restrict:"A",require:"?ngModel",link:function(n,t,i,u){if(u){var f,e=i.ngPattern||i.pattern;i.$observe("pattern",function(n){if(h(n)&&n.length>0&&(n=new RegExp("^"+n+"$")),n&&!n.test)throw l("ngPattern")("noregexp","Expected {0} to be a RegExp but was {1}. Element: {2}",e,n,yt(t));f=n||undefined;u.$validate()});u.$validators.pattern=function(n,t){return u.$isEmpty(t)||r(f)||f.test(t)}}}}},oa=function(){return{restrict:"A",require:"?ngModel",link:function(n,t,i,r){if(r){var u=-1;i.$observe("maxlength",function(n){var t=tt(n);u=isNaN(t)?-1:t;r.$validate()});r.$validators.maxlength=function(n,t){return u<0||r.$isEmpty(t)||t.length<=u}}}}},sa=function(){return{restrict:"A",require:"?ngModel",link:function(n,t,i,r){if(r){var u=0;i.$observe("minlength",function(n){u=tt(n)||0;r.$validate()});r.$validators.minlength=function(n,t){return r.$isEmpty(t)||t.length>=u}}}}};if(n.angular.bootstrap){n.console&&console.log("WARNING: Tried to load angular more than once.");return}ev();cv(ut);ut.module("ngLocale",[],["$provide",function(n){function i(n){n=n+"";var t=n.indexOf(".");return t==-1?0:n.length-t-1}function r(n,t){var r=t,u,f;return undefined===r&&(r=Math.min(i(n),3)),u=Math.pow(10,r),f=(n*u|0)%u,{v:r,f:f}}var t={ZERO:"zero",ONE:"one",TWO:"two",FEW:"few",MANY:"many",OTHER:"other"};n.value("$locale",{DATETIME_FORMATS:{AMPMS:["AM","PM"],DAY:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ERANAMES:["Before Christ","Anno Domini"],ERAS:["BC","AD"],FIRSTDAYOFWEEK:6,MONTH:["January","February","March","April","May","June","July","August","September","October","November","December"],SHORTDAY:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],SHORTMONTH:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],STANDALONEMONTH:["January","February","March","April","May","June","July","August","September","October","November","December"],WEEKENDRANGE:[5,6],fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",medium:"MMM d, y h:mm:ss a",mediumDate:"MMM d, y",mediumTime:"h:mm:ss a",short:"M/d/yy h:mm a",shortDate:"M/d/yy",shortTime:"h:mm a"},NUMBER_FORMATS:{CURRENCY_SYM:"$",DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{gSize:3,lgSize:3,maxFrac:3,minFrac:0,minInt:1,negPre:"-",negSuf:"",posPre:"",posSuf:""},{gSize:3,lgSize:3,maxFrac:2,minFrac:2,minInt:1,negPre:"-¤",negSuf:"",posPre:"¤",posSuf:""}]},id:"en-us",localeID:"en_US",pluralCat:function(n,i){var u=n|0,f=r(n,i);return u==1&&f.v==0?t.ONE:t.OTHER}})}]);e(n.document).ready(function(){rv(n.document,rs)})})(window);window.angular.$$csp().noInlineStyle||window.angular.element(document.head).prepend('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-hide-animate){display:none !important;}ng\\:form{display:block;}.ng-animate-shim{visibility:hidden;}.ng-anchor{position:absolute;}<\/style>'),function(n,t){"use strict";function f(n,t){var i,u,r;if(e(n))for(t=t||[],i=0,u=n.length;i<u;i++)t[i]=n[i];else if(o(n)){t=t||{};for(r in n)r.charAt(0)==="$"&&r.charAt(1)==="$"||(t[r]=n[r])}return t||n}function h(){function i(n,i){return t.extend(Object.create(n),i)}function r(n,t){var r=t.caseInsensitiveMatch,i={originalPath:n,regexp:n},u=i.keys=[];return n=n.replace(/([().])/g,"\\$1").replace(/(\/)?:(\w+)(\*\?|[\?\*])?/g,function(n,t,i,r){var f=r==="?"||r==="*?"?"?":null,e=r==="*"||r==="*?"?"*":null;return u.push({name:i,optional:!!f}),t=t||"",""+(f?"":t)+"(?:"+(f?t:"")+(e&&"(.+?)"||"([^/]+)")+(f||"")+")"+(f||"")}).replace(/([\/$\*])/g,"\\$1"),i.regexp=new RegExp("^"+n+"$",r?"i":""),i}var n={};this.when=function(i,u){var e=f(u),o;return t.isUndefined(e.reloadOnSearch)&&(e.reloadOnSearch=!0),t.isUndefined(e.caseInsensitiveMatch)&&(e.caseInsensitiveMatch=this.caseInsensitiveMatch),n[i]=t.extend(e,i&&r(i,e)),i&&(o=i[i.length-1]=="/"?i.substr(0,i.length-1):i+"/",n[o]=t.extend({redirectTo:i},r(o,e))),this};this.caseInsensitiveMatch=!1;this.otherwise=function(n){return typeof n=="string"&&(n={redirectTo:n}),this.when(null,n),this};this.$get=["$rootScope","$location","$routeParams","$q","$injector","$templateRequest","$sce",function(r,u,f,e,o,h,c){function k(n,t){var s=t.keys,e={},r,i,o,u,f;if(!t.regexp||(r=t.regexp.exec(n),!r))return null;for(i=1,o=r.length;i<o;++i)u=s[i-1],f=r[i],u&&f&&(e[u.name]=f);return e}function p(n){var i=a.current;l=nt();y=l&&i&&l.$$route===i.$$route&&t.equals(l.pathParams,i.pathParams)&&!l.reloadOnSearch&&!v;!y&&(i||l)&&r.$broadcast("$routeChangeStart",l,i).defaultPrevented&&n&&n.preventDefault()}function w(){var i=a.current,n=l;y?(i.params=n.params,t.copy(i.params,f),r.$broadcast("$routeUpdate",i)):(n||i)&&(v=!1,a.current=n,n&&n.redirectTo&&(t.isString(n.redirectTo)?u.path(b(n.redirectTo,n.params)).search(n.params).replace():u.url(n.redirectTo(n.pathParams,u.path(),u.search())).replace()),e.when(n).then(d).then(function(u){n==a.current&&(n&&(n.locals=u,t.copy(n.params,f)),r.$broadcast("$routeChangeSuccess",n,i))},function(t){n==a.current&&r.$broadcast("$routeChangeError",n,i,t)}))}function d(n){var i,r;if(n)return i=t.extend({},n.resolve),t.forEach(i,function(n,r){i[r]=t.isString(n)?o.get(n):o.invoke(n,null,null,r)}),r=g(n),t.isDefined(r)&&(i.$template=r),e.all(i)}function g(n){var r,i;return t.isDefined(r=n.template)?t.isFunction(r)&&(r=r(n.params)):t.isDefined(i=n.templateUrl)&&(t.isFunction(i)&&(i=i(n.params)),t.isDefined(i)&&(n.loadedTemplateUrl=c.valueOf(i),r=h(i))),r}function nt(){var f,r;return t.forEach(n,function(n){!r&&(f=k(u.path(),n))&&(r=i(n,{params:t.extend({},u.search(),f),pathParams:f}),r.$$route=n)}),r||n[null]&&i(n[null],{params:{},pathParams:{}})}function b(n,i){var r=[];return t.forEach((n||"").split(":"),function(n,t){if(t===0)r.push(n);else{var u=n.match(/(\w+)(?:[?*])?(.*)/),f=u[1];r.push(i[f]);r.push(u[2]||"");delete i[f]}}),r.join("")}var v=!1,l,y,a={routes:n,reload:function(){v=!0;var n={defaultPrevented:!1,preventDefault:function(){this.defaultPrevented=!0;v=!1}};r.$evalAsync(function(){p(n);n.defaultPrevented||w()})},updateParams:function(n){if(this.current&&this.current.$$route)n=t.extend({},this.current.params,n),u.path(b(this.current.$$route.originalPath,n)),u.search(n);else throw s("norout","Tried updating route when with no current route");}};return r.$on("$locationChangeStart",p),r.$on("$locationChangeSuccess",w),a}]}function c(){this.$get=function(){return{}}}function r(n,i,r){return{restrict:"ECA",terminal:!0,priority:400,transclude:"element",link:function(u,f,e,o,s){function v(){c&&(r.cancel(c),c=null);h&&(h.$destroy(),h=null);l&&(c=r.leave(l),c.then(function(){c=null}),l=null)}function y(){var e=n.current&&n.current.locals,c=e&&e.$template;if(t.isDefined(c)){var o=u.$new(),y=n.current,w=s(o,function(n){r.enter(n,null,l||f).then(function(){t.isDefined(a)&&(!a||u.$eval(a))&&i()});v()});l=w;h=y.scope=o;h.$emit("$viewContentLoaded");h.$eval(p)}else v()}var h,l,c,a=e.autoscroll,p=e.onload||"";u.$on("$routeChangeSuccess",y);y()}}}function u(n,t,i){return{restrict:"ECA",priority:-400,link:function(r,u){var f=i.current,e=f.locals,s,o;u.html(e.$template);s=n(u.contents());f.controller&&(e.$scope=r,o=t(f.controller,e),f.controllerAs&&(r[f.controllerAs]=o),u.data("$ngControllerController",o),u.children().data("$ngControllerController",o));r[f.resolveAs||"$resolve"]=e;s(r)}}}var e=t.isArray,o=t.isObject,i=t.module("ngRoute",["ng"]).provider("$route",h),s=t.$$minErr("ngRoute");i.provider("$routeParams",c);i.directive("ngView",r);i.directive("ngView",u);r.$inject=["$route","$anchorScroll","$animate"];u.$inject=["$compile","$controller","$route"]}(window,window.angular),function(n,t){"use strict";function f(n){return n!=null&&n!==""&&n!=="hasOwnProperty"&&u.test("."+n)}function e(n,r){var e,u,o,s;if(!f(r))throw i("badmember",'Dotted member path "@{0}" is invalid.',r);for(e=r.split("."),u=0,o=e.length;u<o&&t.isDefined(n);u++)s=e[u],n=n!==null?n[s]:undefined;return n}function r(n,i){i=i||{};t.forEach(i,function(n,t){delete i[t]});for(var r in n)!n.hasOwnProperty(r)||r.charAt(0)==="$"&&r.charAt(1)==="$"||(i[r]=n[r]);return i}var i=t.$$minErr("$resource"),u=/^(\.[a-zA-Z_$@][0-9a-zA-Z_$@]*)+$/;t.module("ngResource",["ng"]).provider("$resource",function(){var u=/^https?:\/\/[^\/]*/,n=this;this.defaults={stripTrailingSlashes:!0,cancellable:!1,actions:{get:{method:"GET"},save:{method:"POST"},query:{method:"GET",isArray:!0},remove:{method:"DELETE"},"delete":{method:"DELETE"}}};this.$get=["$http","$log","$q","$timeout",function(f,o,s,h){function k(n){return y(n,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function y(n,t){return encodeURIComponent(n).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,t?"%20":"+")}function p(t,i){this.template=t;this.defaults=l({},n.defaults,i);this.urlParams={}}function w(u,y,k,d){function tt(n,t){var i={};return t=l({},y,t),c(t,function(t,r){a(t)&&(t=t());i[r]=t&&t.charAt&&t.charAt(0)=="@"?e(n,t.substr(1)):t}),i}function it(n){return n.resource}function g(n){r(n||{},this)}var nt=new p(u,d);return k=l({},n.defaults.actions,k),g.prototype.toJSON=function(){var n=l({},this);return delete n.$promise,delete n.$resolved,n},c(k,function(u,e){var w=/^(POST|PUT|PATCH)$/i.test(u.method),y=u.timeout,p=t.isDefined(u.cancellable)?u.cancellable:d&&t.isDefined(d.cancellable)?d.cancellable:n.defaults.cancellable;y&&!t.isNumber(y)&&(o.debug("ngResource:\n  Only numeric values are allowed as `timeout`.\n  Promises are not supported in $resource, because the same value would be used for multiple requests. If you are looking for a way to cancel requests, you should use the `cancellable` option."),delete u.timeout,y=null);g[e]=function(n,o,k,d){var lt={},ft,et,ht,ot;switch(arguments.length){case 4:ht=d;et=k;case 3:case 2:if(a(o)){if(a(n)){et=n;ht=o;break}et=o;ht=k}else{lt=n;ft=o;et=k;break}case 1:a(n)?et=n:w?ft=n:lt=n;break;case 0:break;default:throw i("badargs","Expected up to 4 arguments [params, data, success, error], got {0} arguments",arguments.length);}var ct=this instanceof g,rt=ct?ft:u.isArray?[]:new g(ft),ut={},vt=u.interceptor&&u.interceptor.response||it,yt=u.interceptor&&u.interceptor.responseError||undefined,st,at;return(c(u,function(n,t){switch(t){default:ut[t]=b(n);break;case"params":case"isArray":case"interceptor":case"cancellable":}}),!ct&&p&&(st=s.defer(),ut.timeout=st.promise,y&&(at=h(st.resolve,y))),w&&(ut.data=ft),nt.setUrlParams(ut,l({},tt(ft,u.params||{}),lt),u.url),ot=f(ut).then(function(n){var f=n.data,o;if(f){if(t.isArray(f)!==!!u.isArray)throw i("badcfg","Error in resource configuration for action `{0}`. Expected response to contain an {1} but got an {2} (Request: {3} {4})",e,u.isArray?"array":"object",t.isArray(f)?"array":"object",ut.method,ut.url);u.isArray?(rt.length=0,c(f,function(n){typeof n=="object"?rt.push(new g(n)):rt.push(n)})):(o=rt.$promise,r(f,rt),rt.$promise=o)}return n.resource=rt,n},function(n){return(ht||v)(n),s.reject(n)}),ot["finally"](function(){rt.$resolved=!0;!ct&&p&&(rt.$cancelRequest=t.noop,h.cancel(at),st=at=ut.timeout=null)}),ot=ot.then(function(n){var t=vt(n);return(et||v)(t,n.headers),t},yt),!ct)?(rt.$promise=ot,rt.$resolved=!1,p&&(rt.$cancelRequest=st.resolve),rt):ot};g.prototype["$"+e]=function(n,t,i){a(n)&&(i=t,t=n,n={});var r=g[e].call(this,n,this,t,i);return r.$promise||r}}),g.bind=function(n){return w(u,l({},y,n),k)},g}var v=t.noop,c=t.forEach,l=t.extend,b=t.copy,a=t.isFunction;return p.prototype={setUrlParams:function(n,r,f){var o=this,e=f||o.template,s,h,l="",a=o.urlParams={};c(e.split(/\W/),function(n){if(n==="hasOwnProperty")throw i("badname","hasOwnProperty is not a valid parameter name.");!new RegExp("^\\d+$").test(n)&&n&&new RegExp("(^|[^\\\\]):"+n+"(\\W|$)").test(e)&&(a[n]={isQueryParamValue:new RegExp("\\?.*=:"+n+"(?:\\W|$)").test(e)})});e=e.replace(/\\:/g,":");e=e.replace(u,function(n){return l=n,""});r=r||{};c(o.urlParams,function(n,i){s=r.hasOwnProperty(i)?r[i]:o.defaults[i];t.isDefined(s)&&s!==null?(h=n.isQueryParamValue?y(s,!0):k(s),e=e.replace(new RegExp(":"+i+"(\\W|$)","g"),function(n,t){return h+t})):e=e.replace(new RegExp("(/?):"+i+"(\\W|$)","g"),function(n,t,i){return i.charAt(0)=="/"?i:t+i})});o.defaults.stripTrailingSlashes&&(e=e.replace(/\/+$/,"")||"/");e=e.replace(/\/\.(?=\w+($|\?))/,".");n.url=l+e.replace(/\/\\\./,"/.");c(r,function(t,i){o.urlParams[i]||(n.params=n.params||{},n.params[i]=t)})}},w}]})}(window,window.angular),function(n,t){"use strict";function v(){var n=!1;this.$get=["$$sanitizeUri",function(i){return n&&t.extend(u,g),function(n){var t=[];return ut(n,a(t,function(n,t){return!/^unsafe:/.test(i(n,t))})),t.join("")}}];this.enableSvg=function(i){return t.isDefined(i)?(n=i,this):n}}function y(n){var i=[],r=a(i,t.noop);return r.chars(n),i.join("")}function r(n,i){for(var f={},u=n.split(","),r=0;r<u.length;r++)f[i?t.lowercase(u[r]):u[r]]=!0;return f}function ut(t,r){var s,u,o;t===null||t===undefined?t="":typeof t!="string"&&(t=""+t);i.innerHTML=t;s=5;do{if(s===0)throw e("uinput","Failed to sanitize html because the input is unstable");s--;n.document.documentMode&&f(i);t=i.innerHTML;i.innerHTML=t}while(t!==i.innerHTML);for(u=i.firstChild;u;){switch(u.nodeType){case 1:r.start(u.nodeName.toLowerCase(),ft(u.attributes));break;case 3:r.chars(u.textContent)}if(!(o=u.firstChild)&&(u.nodeType==1&&r.end(u.nodeName.toLowerCase()),o=u.nextSibling,!o))while(o==null){if(u=u.parentNode,u===i)break;o=u.nextSibling;u.nodeType==1&&r.end(u.nodeName.toLowerCase())}u=o}while(u=i.firstChild)i.removeChild(u)}function ft(n){for(var i,r={},t=0,u=n.length;t<u;t++)i=n[t],r[i.name]=i.value;return r}function l(n){return n.replace(/&/g,"&amp;").replace(p,function(n){var t=n.charCodeAt(0),i=n.charCodeAt(1);return"&#"+((t-55296)*1024+(i-56320)+65536)+";"}).replace(w,function(n){return"&#"+n.charCodeAt(0)+";"}).replace(/</g,"&lt;").replace(/>/g,"&gt;")}function a(n,i){var f=!1,r=t.bind(n,n.push);return{start:function(n,e){n=t.lowercase(n);!f&&nt[n]&&(f=n);f||u[n]!==!0||(r("<"),r(n),t.forEach(e,function(u,f){var e=t.lowercase(f),o=n==="img"&&e==="src"||e==="background";rt[e]===!0&&(c[e]!==!0||i(u,o))&&(r(" "),r(f),r('="'),r(l(u)),r('"'))}),r(">"))},end:function(n){n=t.lowercase(n);f||u[n]!==!0||o[n]===!0||(r("<\/"),r(n),r(">"));n==f&&(f=!1)},chars:function(n){f||r(l(n))}}}function f(t){var u,r,e,o,s,i;if(t.nodeType===n.Node.ELEMENT_NODE)for(u=t.attributes,r=0,e=u.length;r<e;r++)o=u[r],s=o.name.toLowerCase(),(s==="xmlns:ns1"||s.lastIndexOf("ns1:",0)===0)&&(t.removeAttributeNode(o),r--,e--);i=t.firstChild;i&&f(i);i=t.nextSibling;i&&f(i)}var e=t.$$minErr("$sanitize"),p=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,w=/([^\#-~ |!])/g,o=r("area,br,col,hr,img,wbr"),s=r("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),h=r("rp,rt"),b=t.extend({},h,s),k=t.extend({},s,r("address,article,aside,blockquote,caption,center,del,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,map,menu,nav,ol,pre,section,table,ul")),d=t.extend({},h,r("a,abbr,acronym,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,q,ruby,rp,rt,s,samp,small,span,strike,strong,sub,sup,time,tt,u,var")),g=r("circle,defs,desc,ellipse,font-face,font-face-name,font-face-src,g,glyph,hkern,image,linearGradient,line,marker,metadata,missing-glyph,mpath,path,polygon,polyline,radialGradient,rect,stop,svg,switch,text,title,tspan"),nt=r("script,style"),u=t.extend({},o,k,d,b),c=r("background,cite,href,longdesc,src,xlink:href"),tt=r("abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,coords,dir,face,headers,height,hreflang,hspace,ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,scope,scrolling,shape,size,span,start,summary,tabindex,target,title,type,valign,value,vspace,width"),it=r("accent-height,accumulate,additive,alphabetic,arabic-form,ascent,baseProfile,bbox,begin,by,calcMode,cap-height,class,color,color-rendering,content,cx,cy,d,dx,dy,descent,display,dur,end,fill,fill-rule,font-family,font-size,font-stretch,font-style,font-variant,font-weight,from,fx,fy,g1,g2,glyph-name,gradientUnits,hanging,height,horiz-adv-x,horiz-origin-x,ideographic,k,keyPoints,keySplines,keyTimes,lang,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mathematical,max,min,offset,opacity,orient,origin,overline-position,overline-thickness,panose-1,path,pathLength,points,preserveAspectRatio,r,refX,refY,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,rotate,rx,ry,slope,stemh,stemv,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,systemLanguage,target,text-anchor,to,transform,type,u1,u2,underline-position,underline-thickness,unicode,unicode-range,units-per-em,values,version,viewBox,visibility,width,widths,x,x-height,x1,x2,xlink:actuate,xlink:arcrole,xlink:role,xlink:show,xlink:title,xlink:type,xml:base,xml:lang,xml:space,xmlns,xmlns:xlink,y,y1,y2,zoomAndPan",!0),rt=t.extend({},c,it,tt),i;(function(n){var t,f,r,u;if(n.document&&n.document.implementation)t=n.document.implementation.createHTMLDocument("inert");else throw e("noinert","Can't create an inert html document");f=t.documentElement||t.getDocumentElement();r=f.getElementsByTagName("body");r.length===1?i=r[0]:(u=t.createElement("html"),i=t.createElement("body"),u.appendChild(i),t.appendChild(u))})(n);t.module("ngSanitize",[]).provider("$sanitize",v);t.module("ngSanitize").filter("linky",["$sanitize",function(n){var i=/((ftp|https?):\/\/|(www\.)|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s.;,(){}<>"\u201d\u2019]/i,r=/^mailto:/i,u=t.$$minErr("linky"),f=t.isString;return function(e,o,s){function p(n){n&&c.push(y(n))}function b(n,i){var r,u=w(n);c.push("<a ");for(r in u)c.push(r+'="'+u[r]+'" ');!t.isDefined(o)||"target"in u||c.push('target="',o,'" ');c.push('href="',n.replace(/"/g,"&quot;"),'">');p(i);c.push("<\/a>")}if(e==null||e==="")return e;if(!f(e))throw u("notstring","Expected string but received: {0}",e);for(var w=t.isFunction(s)?s:t.isObject(s)?function(){return s}:function(){return{}},h,l=e,c=[],a,v;h=l.match(i);)a=h[0],h[2]||h[4]||(a=(h[3]?"http://":"mailto:")+a),v=h.index,p(l.substr(0,v)),b(a,h[0].replace(r,"")),l=l.substring(v+h[0].length);return p(l),n(c.join(""))}}])}(window,window.angular),function(n,t){"use strict";function si(n,t,i){if(!n)throw gi("areq","Argument '{0}' is {1}",t||"?",i||"required");return n}function hi(n,t){return!n&&!t?"":n?t?(h(n)&&(n=n.join(" ")),h(t)&&(t=t.join(" ")),n+" "+t):n:t}function nr(n){var t={};return n&&(n.to||n.from)&&(t.to=n.to,t.from=n.from),t}function s(n,t,r){var u="";return n=h(n)?n:n&&l(n)&&n.length?n.split(/\s+/):[],i(n,function(n,i){n&&n.length>0&&(u+=i>0?" ":"",u+=r?t+n:n+t)}),u}function tr(n,t){var i=n.indexOf(t);t>=0&&n.splice(i,1)}function ir(n){if(n instanceof u)switch(n.length){case 0:return n;case 1:if(n[0].nodeType===d)return n;break;default:return u(at(n))}if(n.nodeType===d)return u(n)}function at(n){var t,i;if(!n[0])return n;for(t=0;t<n.length;t++)if(i=n[t],i.nodeType==d)return i}function rr(n,t,r){i(t,function(t){n.addClass(t,r)})}function ur(n,t,r){i(t,function(t){n.removeClass(t,r)})}function y(n){return function(t,i){i.addClass&&(rr(n,t,i.addClass),i.addClass=null);i.removeClass&&(ur(n,t,i.removeClass),i.removeClass=null)}}function g(n){if(n=n||{},!n.$$prepared){var t=n.domOperation||f;n.domOperation=function(){n.$$domOperationFired=!0;t();t=f};n.$$prepared=!0}return n}function p(n,t){ci(n,t);li(n,t)}function ci(n,t){t.from&&(n.css(t.from),t.from=null)}function li(n,t){t.to&&(n.css(t.to),t.to=null)}function nt(n,t,i){var r=t.options||{},u=i.options||{},s=(r.addClass||"")+" "+(u.addClass||""),h=(r.removeClass||"")+" "+(u.removeClass||""),e=fr(n.attr("class"),s,h),o;return u.preparationClasses&&(r.preparationClasses=it(u.preparationClasses,r.preparationClasses),delete u.preparationClasses),o=r.domOperation!==f?r.domOperation:null,kt(r,u),o&&(r.domOperation=o),r.addClass=e.addClass?e.addClass:null,r.removeClass=e.removeClass?e.removeClass:null,t.addClass=r.addClass,t.removeClass=r.removeClass,r}function fr(n,t,r){function o(n){l(n)&&(n=n.split(" "));var t={};return i(n,function(n){n.length&&(t[n]=!0)}),t}var e=1,s=-1,f={},u;return n=o(n),t=o(t),i(t,function(n,t){f[t]=e}),r=o(r),i(r,function(n,t){f[t]=f[t]===e?null:s}),u={addClass:"",removeClass:""},i(f,function(t,i){var r,f;t===e?(r="addClass",f=!n[i]):t===s&&(r="removeClass",f=n[i]);f&&(u[r].length&&(u[r]+=" "),u[r]+=i)}),u}function r(n){return n instanceof t.element?n[0]:n}function er(n,t,i){var r="";t&&(r=s(t,ti,!0));i.addClass&&(r=it(r,s(i.addClass,gt)));i.removeClass&&(r=it(r,s(i.removeClass,ni)));r.length&&(i.preparationClasses=r,n.addClass(r))}function or(n,t){t.preparationClasses&&(n.removeClass(t.preparationClasses),t.preparationClasses=null);t.activeClasses&&(n.removeClass(t.activeClasses),t.activeClasses=null)}function tt(n,t){var i=t?"-"+t+"s":"";return w(n,[v,i]),[v,i]}function vt(n,t){var i=t?"paused":"",r=o+ki;return w(n,[r,i]),[r,i]}function w(n,t){var i=t[0],r=t[1];n.style[i]=r}function it(n,t){return n?t?n+" "+t:n:t}function yr(n){return[lt,n+"s"]}function yt(n,t){var i=t?ct:v;return[i,n+"s"]}function ai(n,t,r){var u=Object.create(null),f=n.getComputedStyle(t)||{};return i(r,function(n,t){var i=f[n],r;i&&(r=i.charAt(0),(r==="-"||r==="+"||r>=0)&&(i=pr(i)),i===0&&(i=null),u[t]=i)}),u}function pr(n){var t=0,r=n.split(/\s*,\s*/);return i(r,function(n){n.charAt(n.length-1)=="s"&&(n=n.substring(0,n.length-1));n=parseFloat(n)||0;t=t?Math.max(n,t):n}),t}function pt(n){return n===0||n!=null}function vi(n,t){var i=e,r=n+"s";return t?i+=ht:r+=" linear all",[i,r]}function yi(){var n=Object.create(null);return{flush:function(){n=Object.create(null)},count:function(t){var i=n[t];return i?i.total:0},get:function(t){var i=n[t];return i&&i.value},put:function(t,i){n[t]?n[t].total++:n[t]={total:1,value:i}}}}function pi(n,t,r){i(r,function(i){n[i]=k(n[i])?n[i]:t.style.getPropertyValue(i)})}var f=t.noop,bt=t.copy,kt=t.extend,u=t.element,i=t.forEach,h=t.isArray,l=t.isString,ut=t.isObject,c=t.isUndefined,k=t.isDefined,dt=t.isFunction,ft=t.isElement,d=1,gt="-add",ni="-remove",ti="ng-",wi="-active",bi="-prepare",ii="ng-animate",et="$$ngAnimateChildren",ri="",e,ot,o,st;c(n.ontransitionend)&&k(n.onwebkittransitionend)?(ri="-webkit-",e="WebkitTransition",ot="webkitTransitionEnd transitionend"):(e="transition",ot="transitionend");c(n.onanimationend)&&k(n.onwebkitanimationend)?(ri="-webkit-",o="WebkitAnimation",st="webkitAnimationEnd animationend"):(o="animation",st="animationend");var ht="Duration",ui="Property",fi="Delay",ei="TimingFunction",ki="PlayState",di=9999,ct=o+fi,lt=o+ht,v=e+fi,oi=e+ht,iu=function(n){return n&&n.then?!0:!1},gi=t.$$minErr("ng");var sr=["$$rAF",function(n){function r(n){i=i.concat(n);u()}function u(){var f,r;if(i.length){for(f=i.shift(),r=0;r<f.length;r++)f[r]();t||n(function(){t||u()})}}var i,t;return i=r.queue=[],r.waitUntilQuiet=function(i){t&&t();t=n(function(){t=null;i();u()})},r}],hr=["$interpolate",function(n){return{link:function(i,r,u){function e(n){n=n==="on"||n==="true";r.data(et,n)}var f=u.ngAnimateChildren;t.isString(f)&&f.length===0?r.data(et,!0):(e(n(f)(i)),u.$observe("ngAnimateChildren",e))}}}],a="$$animateCss",b=1e3,cr=3,lr=1.5,ar={transitionDuration:oi,transitionDelay:v,transitionProperty:e+ui,animationDuration:lt,animationDelay:ct,animationIterationCount:o+"IterationCount"},vr={transitionDuration:oi,transitionDelay:v,animationDuration:lt,animationDelay:ct};var wr=["$animateProvider",function(){var n=yi(),t=yi();this.$get=["$window","$$jqLite","$$AnimateRunner","$timeout","$$forceReflow","$sniffer","$$rAFScheduler","$$animateQueue",function(u,c,l,v,k,d,nt,it){function ft(n,t){var i="$$ngAnimateParentKey",r=n.parentNode,u=r[i]||(r[i]=++ct);return u+"-"+n.getAttribute("class")+"-"+t}function lt(t,i,r,f){var e=n.get(r);return e||(e=ai(u,t,f),e.animationIterationCount==="infinite"&&(e.animationIterationCount=1)),n.put(r,e),e}function at(i,r,f,e){var o,h;return n.count(f)>0&&(o=t.get(f),o||(h=s(r,"-stagger"),c.addClass(i,h),o=ai(u,i,e),o.animationDuration=Math.max(o.animationDuration,0),o.transitionDuration=Math.max(o.transitionDuration,0),c.removeClass(i,h),t.put(f,o))),o||{}}function et(i){rt.push(i);nt.waitUntilQuiet(function(){var r,i;for(n.flush(),t.flush(),r=k(),i=0;i<rt.length;i++)rt[i](r);rt.length=0})}function ht(n,t,i){var r=lt(n,t,i,ar),u=r.animationDelay,f=r.transitionDelay;return r.maxDelay=u&&f?Math.max(u,f):u||f,r.maxDuration=Math.max(r.animationDuration*r.animationIterationCount,r.transitionDuration),r}var ut=y(c),ct=0,rt=[];return function(t,u){function or(){dt()}function uu(){dt(!0)}function dt(n){if(!ki&&(!hr||!ri)){ki=!0;ri=!1;y.$$skipPreparationClasses||c.removeClass(t,si);c.removeClass(t,iu);vt(nt,!1);tt(nt,!1);i(ct,function(n){nt.style[n[0]]=""});ut(t,y);p(t,y);Object.keys(bi).length&&i(bi,function(n,t){n?nt.style.setProperty(t,n):nt.style.removeProperty(t)});y.onDone&&y.onDone();fi&&fi.length&&t.off(fi.join(" "),eu);var r=t.data(a);r&&(v.cancel(r[0].timer),t.removeData(a));hi&&hi.complete(!n)}}function fu(n){k.blockTransition&&tt(nt,n);k.blockKeyframeAnimation&&vt(nt,!!n)}function sr(){return hi=new l({end:or,cancel:uu}),et(f),dt(),{$$willAnimate:!1,start:function(){return hi},end:or}}function eu(n){n.stopPropagation();var t=n.originalEvent||n,i=t.$manualTimeStamp||Date.now(),r=parseFloat(t.elapsedTime.toFixed(cr));Math.max(i-pr,0)>=rr&&r>=lt&&(hr=!0,dt())}function cu(){function u(){var n,u,h,w;if(!ki){if(fu(!1),i(ct,function(n){var t=n[0],i=n[1];nt.style[t]=i}),ut(t,y),c.addClass(t,iu),k.recalculateTimingStyles){if(gi=nt.className+" "+si,yi=ft(nt,gi),rt=ht(nt,gi,yi),kt=rt.maxDelay,ai=Math.max(kt,0),lt=rt.maxDuration,lt===0){dt();return}k.hasTransitions=rt.transitionDuration>0;k.hasAnimations=rt.animationDuration>0}k.applyAnimationDelay&&(kt=typeof y.delay!="boolean"&&pt(y.delay)?parseFloat(y.delay):kt,ai=Math.max(kt,0),rt.animationDelay=kt,ii=yt(kt,!0),ct.push(ii),nt.style[ii[0]]=ii[1]);rr=ai*b;ar=lt*b;y.easing&&(u=y.easing,k.hasTransitions&&(n=e+ei,ct.push([n,u]),nt.style[n]=u),k.hasAnimations&&(n=o+ei,ct.push([n,u]),nt.style[n]=u));rt.transitionDuration&&fi.push(ot);rt.animationDuration&&fi.push(st);pr=Date.now();var l=rr+lr*ar,p=pr+l,r=t.data(a)||[],s=!0;if(r.length&&(h=r[0],s=p>h.expectedEndTime,s?v.cancel(h.timer):r.push(dt)),s&&(w=v(f,l,!1),r[0]={timer:w,expectedEndTime:p},r.push(dt),t.data(a,r)),fi.length)t.on(fi.join(" "),eu);y.to&&(y.cleanupStyles&&pi(bi,nt,Object.keys(y.to)),li(t,y))}}function f(){var i=t.data(a),n;if(i){for(n=1;n<i.length;n++)i[n]();t.removeData(a)}}if(!ki){if(!nt.parentNode){dt();return}var n=function(n){if(hr)ri&&n&&(ri=!1,dt());else if(ri=!n,rt.animationDuration){var t=vt(nt,ri);ri?ct.push(t):tr(ct,t)}},r=er>0&&(rt.transitionDuration&&wt.transitionDuration===0||rt.animationDuration&&wt.animationDuration===0)&&Math.max(wt.animationDelay,wt.transitionDelay);r?v(u,Math.floor(r*er*b),!1):u();ir.resume=function(){n(!0)};ir.pause=function(){n(!1)}}}var y=u||{},bi,nt,yi,wt,br,fr,kr,dr,gr,er,nu,rt,kt,k,ii;if(y.$$prepared||(y=g(bt(y))),bi={},nt=r(t),!nt||!nt.parentNode||!it.enabled())return sr();var ct=[],ou=t.attr("class"),tu=nr(y),ki,ri,hr,hi,ir,ai,rr,lt,ar,pr,fi=[];if(y.duration===0||!d.animations&&!d.transitions)return sr();var ur=y.event&&h(y.event)?y.event.join(" "):y.event,su=ur&&y.structural,wr="",oi="";su?wr=s(ur,ti,!0):ur&&(wr=ur);y.addClass&&(oi+=s(y.addClass,gt));y.removeClass&&(oi.length&&(oi+=" "),oi+=s(y.removeClass,ni));y.applyClassesEarly&&oi.length&&ut(t,y);var si=[wr,oi].join(" ").trim(),gi=ou+" "+si,iu=s(si,wi),ru=tu.to&&Object.keys(tu.to).length>0,hu=(y.keyframeStyle||"").length>0;return!hu&&!ru&&!si?sr():(y.stagger>0?(br=parseFloat(y.stagger),wt={transitionDelay:br,animationDelay:br,transitionDuration:0,animationDuration:0}):(yi=ft(nt,gi),wt=at(nt,si,yi,vr)),y.$$skipPreparationClasses||c.addClass(t,si),y.transitionStyle&&(kr=[e,y.transitionStyle],w(nt,kr),ct.push(kr)),y.duration>=0&&(fr=nt.style[e].length>0,dr=vi(y.duration,fr),w(nt,dr),ct.push(dr)),y.keyframeStyle&&(gr=[o,y.keyframeStyle],w(nt,gr),ct.push(gr)),er=wt?y.staggerIndex>=0?y.staggerIndex:n.count(yi):0,nu=er===0,nu&&!y.skipBlocking&&tt(nt,di),rt=ht(nt,gi,yi),kt=rt.maxDelay,ai=Math.max(kt,0),lt=rt.maxDuration,k={},k.hasTransitions=rt.transitionDuration>0,k.hasAnimations=rt.animationDuration>0,k.hasTransitionAll=k.hasTransitions&&rt.transitionProperty=="all",k.applyTransitionDuration=ru&&(k.hasTransitions&&!k.hasTransitionAll||k.hasAnimations&&!k.hasTransitions),k.applyAnimationDuration=y.duration&&k.hasAnimations,k.applyTransitionDelay=pt(y.delay)&&(k.applyTransitionDuration||k.hasTransitions),k.applyAnimationDelay=pt(y.delay)&&k.hasAnimations,k.recalculateTimingStyles=oi.length>0,(k.applyTransitionDuration||k.applyAnimationDuration)&&(lt=y.duration?parseFloat(y.duration):lt,k.applyTransitionDuration&&(k.hasTransitions=!0,rt.transitionDuration=lt,fr=nt.style[e+ui].length>0,ct.push(vi(lt,fr))),k.applyAnimationDuration&&(k.hasAnimations=!0,rt.animationDuration=lt,ct.push(yr(lt)))),lt===0&&!k.recalculateTimingStyles)?sr():(y.delay!=null&&(typeof y.delay!="boolean"&&(ii=parseFloat(y.delay),ai=Math.max(ii,0)),k.applyTransitionDelay&&ct.push(yt(ii)),k.applyAnimationDelay&&ct.push(yt(ii,!0))),y.duration==null&&rt.transitionDuration>0&&(k.recalculateTimingStyles=k.recalculateTimingStyles||nu),rr=ai*b,ar=lt*b,y.skipBlocking||(k.blockTransition=rt.transitionDuration>0,k.blockKeyframeAnimation=rt.animationDuration>0&&wt.animationDelay>0&&wt.animationDuration===0),y.from&&(y.cleanupStyles&&pi(bi,nt,Object.keys(y.from)),ci(t,y)),k.blockTransition||k.blockKeyframeAnimation?fu(lt):y.skipBlocking||tt(nt,!1),{$$willAnimate:!0,end:or,start:function(){if(!ki)return ir={end:or,cancel:uu,resume:null,pause:null},hi=new l(ir),et(cu),hi}})}}]}],br=["$$animationProvider",function(n){function h(n){return n.parentNode&&n.parentNode.nodeType===11}n.drivers.push("$$animateCssDriver");var t="ng-animate-shim",o="ng-anchor",e="ng-anchor-out",s="ng-anchor-in";this.$get=["$animateCss","$rootScope","$$AnimateRunner","$rootElement","$sniffer","$$jqLite","$document",function(n,c,a,v,p,w,b){function nt(n){return n.replace(/\bng-\S+\b/g,"")}function tt(n,t){return l(n)&&(n=n.split(" ")),l(t)&&(t=t.split(" ")),n.filter(function(n){return t.indexOf(n)===-1}).join(" ")}function ut(f,h,c){function d(n){var t={},u=r(n).getBoundingClientRect();return i(["width","height","top","left"],function(n){var i=u[n];switch(n){case"top":i+=k.scrollTop;break;case"left":i+=k.scrollLeft}t[n]=Math.floor(i)+"px"}),t}function ut(){var t=n(v,{addClass:e,delay:!0,from:d(h)});return t.$$willAnimate?t:null}function g(n){return n.attr("class")||""}function it(){var t=nt(g(c)),r=tt(t,w),u=tt(w,t),i=n(v,{to:d(c),addClass:s+" "+r,removeClass:e+" "+u,delay:!0});return i.$$willAnimate?i:null}function p(){v.remove();h.removeClass(t);c.removeClass(t)}var v=u(r(h).cloneNode(!0)),w=nt(g(v)),l,y,b;return(h.addClass(t),c.addClass(t),v.addClass(o),rt.append(v),y=ut(),!y&&(l=it(),!l))?p():(b=y||l,{start:function(){function i(){n&&n.end()}var t,n=b.start();return n.done(function(){if(n=null,!l&&(l=it(),l))return n=l.start(),n.done(function(){n=null;p();t.complete()}),n;p();t.complete()}),t=new a({end:i,cancel:i})}})}function ft(n,t,r,u){var e=g(n,f),o=g(t,f),s=[];if(i(u,function(n){var i=n.out,u=n["in"],t=ut(r,i,u);t&&s.push(t)}),e||o||s.length!==0)return{start:function(){function r(){i(n,function(n){n.end()})}var n=[],t;return e&&n.push(e.start()),o&&n.push(o.start()),i(s,function(t){n.push(t.start())}),t=new a({end:r,cancel:r}),a.all(n,function(n){t.complete(n)}),t}}}function g(t){var u=t.element,i=t.options||{},r;return t.structural&&(i.event=t.event,i.structural=!0,i.applyClassesEarly=!0,t.event==="leave"&&(i.onDone=i.domOperation)),i.preparationClasses&&(i.event=it(i.event,i.preparationClasses)),r=n(u,i),r.$$willAnimate?r:null}if(!p.animations&&!p.transitions)return f;var k=b[0].body,d=r(v),rt=u(h(d)||k.contains(d)?d:k),et=y(w);return function(n){return n.from&&n.to?ft(n.from,n.to,n.classes,n.anchors):g(n)}}]}],kr=["$animateProvider",function(n){this.$get=["$injector","$$AnimateRunner","$$jqLite",function(t,r,u){function o(i){var f,e,r,u,o;for(i=h(i)?i:i.split(" "),f=[],e={},r=0;r<i.length;r++)u=i[r],o=n.$$registeredAnimations[u],o&&!e[u]&&(f.push(t.get(o)),e[u]=!0);return f}var e=y(u);return function(n,t,u,s){function b(){s.domOperation();e(n,s)}function tt(){k=!0;b();p(n,s)}function rt(n,t,i,u,e){var s,o;switch(i){case"animate":s=[t,u.from,u.to,e];break;case"setClass":s=[t,d,nt,e];break;case"addClass":s=[t,d,e];break;case"removeClass":s=[t,nt,e];break;default:s=[t,e]}if(s.push(u),o=n.apply(n,s),o)if(dt(o.start)&&(o=o.start()),o instanceof r)o.done(e);else if(dt(o))return o;return f}function c(n,t,u,e,o){var s=[];return i(e,function(i){var e=i[o];e&&s.push(function(){var i,s,h=!1,o=function(n){h||(h=!0,(s||f)(n),i.complete(!n))};return i=new r({end:function(){o()},cancel:function(){o(!0)}}),s=rt(e,n,t,u,function(n){var t=n===!1;o(t)}),i})}),s}function it(n,t,u,f,e){var o=c(n,t,u,f,e),s,h;if(o.length===0&&(e==="beforeSetClass"?(s=c(n,"removeClass",u,f,"beforeRemoveClass"),h=c(n,"addClass",u,f,"beforeAddClass")):e==="setClass"&&(s=c(n,"removeClass",u,f,"removeClass"),h=c(n,"addClass",u,f,"addClass")),s&&(o=o.concat(s)),h&&(o=o.concat(h))),o.length!==0)return function(n){var t=[];return o.length&&i(o,function(n){t.push(n())}),t.length?r.all(t,n):n(),function(n){i(t,function(t){n?t.cancel():t.end()})}}}var k=!1,y,w,h;arguments.length===3&&ut(u)&&(s=u,u=null);s=g(s);u||(u=n.attr("class")||"",s.addClass&&(u+=" "+s.addClass),s.removeClass&&(u+=" "+s.removeClass));var d=s.addClass,nt=s.removeClass,v=o(u),l,a;if(v.length&&(t=="leave"?(w="leave",y="afterLeave"):(w="before"+t.charAt(0).toUpperCase()+t.substr(1),y=t),t!=="enter"&&t!=="move"&&(l=it(n,t,s,v,w)),a=it(n,t,s,v,y)),l||a)return{$$willAnimate:!0,end:function(){return h?h.end():(tt(),h=new r,h.complete(!0)),h},start:function(){function i(n){tt(n);h.complete(n)}function u(n){k||((t||f)(n),i(n))}if(h)return h;h=new r;var t,n=[];return l&&n.push(function(n){t=l(n)}),n.length?n.push(function(n){b();n(!0)}):b(),a&&n.push(function(n){t=a(n)}),h.setHost({end:function(){u()},cancel:function(){u(!0)}}),r.chain(n,i),h}}}}]}],dr=["$$animationProvider",function(n){n.drivers.push("$$animateJsDriver");this.$get=["$$animateJs","$$AnimateRunner",function(n,t){function r(t){var i=t.element,r=t.event,u=t.options,f=t.classes;return n(i,r,f,u)}return function(n){if(n.from&&n.to){var u=r(n.from),f=r(n.to);return!u&&!f?void 0:{start:function(){function e(){return function(){i(n,function(n){n.end()})}}function o(n){r.complete(n)}var n=[],r;return u&&n.push(u.start()),f&&n.push(f.start()),t.all(n,o),r=new t({end:e(),cancel:e()})}}}return r(n)}}]}],rt="data-ng-animate",wt="$ngAnimatePin",gr=["$animateProvider",function(f){function tt(n){if(!n)return null;var r=n.split(w),t=Object.create(null);return i(r,function(n){t[n]=!0}),t}function b(n,t){if(n&&t){var i=tt(t);return n.split(w).some(function(n){return i[n]})}}function v(n,t,i,r){return e[n].some(function(n){return n(t,i,r)})}function s(n,t){var i=(n.addClass||"").length>0,r=(n.removeClass||"").length>0;return t?i&&r:i||r}var a=1,o=2,w=" ",e=this.rules={skip:[],cancel:[],join:[]};e.join.push(function(n,t){return!t.structural&&s(t)});e.skip.push(function(n,t){return!t.structural&&!s(t)});e.skip.push(function(n,t,i){return i.event=="leave"&&t.structural});e.skip.push(function(n,t,i){return i.structural&&i.state===o&&!t.structural});e.cancel.push(function(n,t,i){return i.structural&&t.structural});e.cancel.push(function(n,t,i){return i.state===o&&t.structural});e.cancel.push(function(n,t,i){if(i.structural)return!1;var r=t.addClass,u=t.removeClass,f=i.addClass,e=i.removeClass;return c(r)&&c(u)||c(f)&&c(e)?!1:b(r,e)||b(u,f)});this.$get=["$$rAF","$rootScope","$rootElement","$document","$$HashMap","$$animation","$$AnimateRunner","$templateRequest","$$jqLite","$$forceReflow",function(e,w,b,tt,it,ot,st,ht,ct){function hi(){var n=!1;return function(t){n?t():w.$$postDigest(function(){n=!0;t()})}}function ri(n,t){return nt(n,t,{})}function ai(n,t,u){var o=r(t),s=r(n),f=[],e=vt[u];return e&&i(e,function(n){ui.call(n.node,o)?f.push(n.callback):u==="leave"&&ui.call(n.node,s)&&f.push(n.callback)}),f}function fi(n,t,i){var r=at(t);return n.filter(function(n){var t=n.node===r&&(!i||n.callback===i);return!t})}function ei(n,t){n!=="close"||t[0].parentNode||gt.off(t)}function vi(n,t,u){function ht(t,r,u,f){vt(function(){var t=ai(ct,n,r);t.length?e(function(){i(t,function(t){t(n,u,f)});ei(u,n)}):ei(u,n)});t.progress(r,u,f)}function d(t){or(n,f);ii(n,f);p(n,f);f.domOperation();b.complete(!t)}var f=bt(u),k,ct,b,vt,wt,y,dt,gt,ti,ft,et;if((n=ir(n),n&&(k=r(n),ct=n.parent()),f=g(f),b=new st,vt=hi(),h(f.addClass)&&(f.addClass=f.addClass.join(" ")),f.addClass&&!l(f.addClass)&&(f.addClass=null),h(f.removeClass)&&(f.removeClass=f.removeClass.join(" ")),f.removeClass&&!l(f.removeClass)&&(f.removeClass=null),f.from&&!ut(f.from)&&(f.from=null),f.to&&!ut(f.to)&&(f.to=null),!k)||(wt=[k.className,f.addClass,f.removeClass].join(" "),!li(wt)))return d(),b;var it=["enter","move","leave"].indexOf(t)>=0,at=tt[0].hidden,rt=!pt||at||yt.get(k),c=!rt&&lt.get(k)||{},kt=!!c.state;if(rt||kt&&c.state==a||(rt=!pi(n,ct,t)),rt)return at&&ht(b,t,"start"),d(),at&&ht(b,t,"close"),b;if(it&&yi(n),y={structural:it,element:n,event:t,addClass:f.addClass,removeClass:f.removeClass,close:d,options:f,runner:b},kt){if(dt=v("skip",n,y,c),dt)return c.state===o?(d(),b):(nt(n,c,y),c.runner);if(gt=v("cancel",n,y,c),gt)if(c.state===o)c.runner.end();else if(c.structural)c.close();else return nt(n,c,y),c.runner;else if(ti=v("join",n,y,c),ti)if(c.state===o)ri(n,y);else return er(n,it?t:null,f),t=y.event=c.event,f=nt(n,c,y),c.runner}else ri(n,y);return(ft=y.structural,ft||(ft=y.event==="animate"&&Object.keys(y.options.to||{}).length>0||s(y)),!ft)?(d(),ni(n),b):(et=(c.counter||0)+1,y.counter=et,oi(n,a,y),w.$$postDigest(function(){var i=lt.get(k),u=!i,c,e,h;if(i=i||{},c=n.parent()||[],e=c.length>0&&(i.event==="animate"||i.structural||s(i)),u||i.counter!==et||!e){u&&(ii(n,f),p(n,f));(u||it&&i.event!==t)&&(f.domOperation(),b.end());e||ni(n);return}t=!i.structural&&s(i,!0)?"setClass":i.event;oi(n,o);h=ot(n,t,i.options);b.setHost(h);ht(b,t,"start",{});h.done(function(i){d(!i);var u=lt.get(k);u&&u.counter===et&&ni(r(n));ht(b,t,"close",{})})}),b)}function yi(n){var t=r(n),u=t.querySelectorAll("["+rt+"]");i(u,function(n){var i=parseInt(n.getAttribute(rt)),t=lt.get(n);if(t)switch(i){case o:t.runner.end();case a:lt.remove(n)}})}function ni(n){var t=r(n);t.removeAttribute(rt);lt.remove(t)}function dt(n,t){return r(n)===r(t)}function pi(n,t){var v=u(tt[0].body),o=dt(n,v)||n[0].nodeName==="HTML",i=dt(n,b),s=!1,f,h=yt.get(r(n)),e=u.data(n[0],wt),y,l,a,p;for(e&&(t=e),t=r(t);t;){if(i||(i=dt(t,b)),t.nodeType!==d)break;if(y=lt.get(t)||{},!s){if(l=yt.get(t),l===!0&&h!==!1){h=!0;break}else l===!1&&(h=!1);s=y.structural}if((c(f)||f===!0)&&(a=u.data(t,et),k(a)&&(f=a)),s&&f===!1)break;if(o||(o=dt(t,v)),o&&i)break;if(!i&&(e=u.data(t,wt),e)){t=r(e);continue}t=t.parentNode}return p=(!s||f)&&h!==!0,p&&i&&o}function oi(n,t,i){var u,f,e;i=i||{};i.state=t;u=r(n);u.setAttribute(rt,t);f=lt.get(u);e=f?kt(f,i):i;lt.put(u,e)}var lt=new it,yt=new it,pt=null,ci=w.$watch(function(){return ht.totalPendingRequests===0},function(n){n&&(ci(),w.$$postDigest(function(){w.$$postDigest(function(){pt===null&&(pt=!0)})}))}),vt={},ti=f.classNameFilter(),li=ti?function(n){return ti.test(n)}:function(){return!0},ii=y(ct),ui=n.Node.prototype.contains||function(n){return this===n||!!(this.compareDocumentPosition(n)&16)},gt={on:function(n,t,i){var r=at(t);vt[n]=vt[n]||[];vt[n].push({node:r,callback:i});u(t).on("$destroy",function(){var u=lt.get(r);u||gt.off(n,t,i)})},off:function(n,i,r){var u,f;if(arguments.length===1&&!t.isString(arguments[0])){i=arguments[0];for(u in vt)vt[u]=fi(vt[u],i);return}(f=vt[n],f)&&(vt[n]=arguments.length===1?null:fi(f,i,r))},pin:function(n,t){si(ft(n),"element","not an element");si(ft(t),"parentElement","not an element");n.data(wt,t)},push:function(n,t,i,r){return i=i||{},i.domOperation=r,vi(n,t,i)},enabled:function(n,t){var u=arguments.length,f,i,e;return u===0?t=!!pt:(f=ft(n),f?(i=r(n),e=yt.get(i),u===1?t=!e:yt.put(i,!t)):t=pt=!!n),t}};return gt}]}],nu=["$animateProvider",function(){function o(n,t){n.data(e,t)}function s(n){n.removeData(e)}function t(n){return n.data(e)}var n="ng-animate-ref",f=this.drivers=[],e="$$animationRunner";this.$get=["$$jqLite","$rootScope","$injector","$$AnimateRunner","$$HashMap","$$rAFScheduler",function(e,h,c,l,a,v){function k(n){function f(n){var e,i,t;if(n.processed)return n;for(n.processed=!0,e=n.domNode,i=e.parentNode,r.put(e,n);i;){if(t=r.get(i),t){t.processed||(t=f(t));break}i=i.parentNode}return(t||u).children.push(n),n}function e(n){for(var u=[],i=[],o,t=0;t<n.children.length;t++)i.push(n.children[t]);var f=i.length,e=0,r=[];for(t=0;t<i.length;t++)o=i[t],f<=0&&(f=e,e=0,u.push(r),r=[]),r.push(o.fn),o.children.forEach(function(n){e++;i.push(n)}),f--;return r.length&&u.push(r),u}for(var u={children:[]},r=new a,i,t=0;t<n.length;t++)i=n[t],r.put(i.domNode,n[t]={domNode:i.domNode,fn:i.fn,children:[]});for(t=0;t<n.length;t++)f(n[t]);return e(u)}var w=[],b=y(e);return function(a,y,d){function ot(t){var u="["+n+"]",f=t.hasAttribute(n)?[t]:t.querySelectorAll(u),r=[];return i(f,function(t){var i=t.getAttribute(n);i&&i.length&&r.push(t)}),r}function st(t){var f=[],e={},s,o;return i(t,function(t,o){var c=t.element,l=r(c),a=t.event,v=["enter","move"].indexOf(a)>=0,s=t.structural?ot(l):[],h;s.length?(h=v?"to":"from",i(s,function(t){var i=t.getAttribute(n);e[i]=e[i]||{};e[i][h]={animationID:o,element:u(t)}})):f.push(t)}),s={},o={},i(e,function(n){var i=n.from,e=n.to,h,c,a;if(!i||!e){h=i?i.animationID:e.animationID;c=h.toString();s[c]||(s[c]=!0,f.push(t[h]));return}var r=t[i.animationID],u=t[e.animationID],l=i.animationID.toString();o[l]||(a=o[l]={structural:!0,beforeStart:function(){r.beforeStart();u.beforeStart()},close:function(){r.close();u.close()},classes:ht(r.classes,u.classes),from:r,to:u,anchors:[]},a.classes.length?f.push(a):(f.push(r),f.push(u)));o[l].anchors.push({out:i.element,"in":e.element})}),f}function ht(n,t){var f,i,r,u;for(n=n.split(" "),t=t.split(" "),f=[],i=0;i<n.length;i++)if(r=n[i],r.substring(0,3)!=="ng-")for(u=0;u<t.length;u++)if(r===t[u]){f.push(r);break}return f.join(" ")}function ct(n){for(var t=f.length-1;t>=0;t--){var r=f[t],u=c.get(r),i=u(n);if(i)return i}}function lt(){a.addClass(ii);nt&&e.addClass(a,nt);it&&(e.removeClass(a,it),it=null)}function at(n,i){function r(n){var r=t(n);r&&r.setHost(i)}n.from&&n.to?(r(n.from.element),r(n.to.element)):r(n.element)}function et(){var n=t(a);n&&(y!=="leave"||!d.$$domOperationFired)&&n.end()}function rt(n){a.off("$destroy",et);s(a);b(a,d);p(a,d);d.domOperation();nt&&e.removeClass(a,nt);a.removeClass(ii);tt.complete(!n)}var ut,tt,ft,nt,it;if(d=g(d),ut=["enter","move","leave"].indexOf(y)>=0,tt=new l({end:function(){rt()},cancel:function(){rt(!0)}}),!f.length)return rt(),tt;o(a,tt);ft=hi(a.attr("class"),hi(d.addClass,d.removeClass));nt=d.tempClasses;nt&&(ft+=" "+nt,d.tempClasses=null);ut&&(it="ng-"+y+bi,e.addClass(a,it));w.push({element:a,classes:ft,event:y,structural:ut,options:d,beforeStart:lt,close:rt});a.on("$destroy",et);return w.length>1?tt:(h.$$postDigest(function(){var u=[],f,n;i(w,function(n){t(n.element)?u.push(n):n.close()});w.length=0;f=st(u);n=[];i(f,function(i){n.push({domNode:r(i.from?i.from.element:i.element),fn:function(){var n,r,e,u,f;i.beforeStart();r=i.close;e=i.anchors?i.from.element||i.to.element:i.element;t(e)&&(u=ct(i),u&&(n=u.start));n?(f=n(),f.done(function(n){r(!n)}),at(i,f)):r()}})});v(k(n))}),tt)}}]}],tu=["$animate","$rootScope",function(n){return{restrict:"A",transclude:"element",terminal:!0,priority:600,link:function(t,i,r,u,f){var o,e;t.$watchCollection(r.ngAnimateSwap||r["for"],function(r){o&&n.leave(o);e&&(e.$destroy(),e=null);(r||r===0)&&(e=t.$new(),f(e,function(t){o=t;n.enter(t,null,i)}))})}}}];t.module("ngAnimate",[]).directive("ngAnimateSwap",tu).directive("ngAnimateChildren",hr).factory("$$rAFScheduler",sr).provider("$$animateQueue",gr).provider("$$animation",nu).provider("$animateCss",wr).provider("$$animateCssDriver",br).provider("$$animateJs",kr).provider("$$animateJsDriver",dr)}(window,window.angular),function(n){"use strict";function t(){var i={},t={captchaEndpoint:"",captchaEnabled:!0};return{setSettings:function(n){i=n},$get:function(){return n.extend(t,i),t.captchaEndpoint=t.captchaEndpoint.replace(/\/+$/g,""),t}}}function i(n,t,i){return{getScript:function(t){n({method:"GET",url:t}).then(function(n){var t=new Function(n.data);t()},function(n){throw new Error(n.data);})},getCaptchaEndpointHandler:function(){var n=i.captchaEndpoint.split("/");return n[n.length-1]},getBackendBaseUrl:function(n){var t=i.captchaEndpoint.lastIndexOf(n);return i.captchaEndpoint.substring(0,t)},changeRelativeToAbsoluteUrls:function(n){var r=this.getCaptchaEndpointHandler(),s=this.getBackendBaseUrl(r),u,f,e,o,t,i;for(n=n.replace(/<script.*<\/script>/g,""),u=n.match(/(src|href)=\"([^"]+)\"/g),t=n,i=0;i<u.length;i++)f=u[i].slice(0,-1).replace(/src=\"|href=\"/,""),e=new RegExp(".*"+r),o=f.replace(e,s+r),t=t.replace(f,o);return t},loadScriptIncludes:function(n){var r=n.querySelector("#BDC_VCID_"+t.captchaStyleName).value,u=i.captchaEndpoint+"?get=script-include&c="+t.captchaStyleName+"&t="+r+"&cs=200";this.getScript(u)},useUserInputBlurValidation:function(n){return n.getAttribute("correct-captcha")!==null},validateUnsafe:function(t,i){var r=t.userInput,u;r.length!==0?n({method:"GET",url:t.validationUrl,params:{i:r.value}}).then(function(n){var t=n.data;i(t)},function(n){throw new Error(n.data);}):(u=!1,i(u))},getHtml:function(t,r){n({method:"GET",url:i.captchaEndpoint,params:{get:"html",c:t}}).then(function(n){var t=n.data;r(t)},function(n){throw new Error(n.data);})}}}function r(n,t,i){return{restrict:"E",link:function(r,u,f){if(t.captchaEnabled){var e=function(){var n;if((n=f.captchastylename,n)||(n=f.stylename,n))return n;throw new Error("The captchaStyleName attribute is not found or its value is not set.");}();n.captchaStyleName=e;i.getHtml(e,function(n){n=i.changeRelativeToAbsoluteUrls(n);u.html(n);i.loadScriptIncludes(u[0])})}}}}function u(n,t){return{restrict:"A",require:"ngModel",link:function(i,r,u,f){var e,s,o=f;o.$setValidity("incorrectCaptcha",!1);r.bind("blur",function(){(s=r.val(),s.length!==0)&&(e=new n,t.validateUnsafe(e,function(n){n?o.$setValidity("incorrectCaptcha",!0):(o.$setValidity("incorrectCaptcha",!1),e.reloadImage())}))})}}}function f(n,t,i){var r=function(){if(window.botdetect===undefined)throw new Error('Can not create Captcha instance, please put "new Captcha()" inside function that will be invoked after form is submitted.');var n=r.getInstance();this.captchaStyleName=t.captchaStyleName;this.captchaId=n.captchaId;this.userInput=n.userInput;this.validationUrl=n.validationUrl};return r.getInstance=function(){return t.captchaStyleName?window.botdetect.getInstanceByStyleName(t.captchaStyleName):null},r.prototype.getCaptchaId=function(){return this.captchaId},r.prototype.getUserEnteredCaptchaCode=function(){return this.userInput.value},r.prototype.validateUnsafe=function(n){var t=this;i.validateUnsafe(this,function(r){n(r);i.useUserInputBlurValidation(t.userInput)||r||t.reloadImage()})},r.prototype.reloadImage=function(){r.getInstance().reloadImage()},r.generateCaptchaMarkup=function(r){t.captchaStyleName=r;i.getHtml(r,function(t){var r=n[0].getElementsByTagName("botdetect-captcha");if(r.length!==0)r[0].innerHTML=t,i.loadScriptIncludes(r[0]);else throw new Error("<botdetect-captcha> directive element could not be found.");})},r}n.module("BotDetectCaptcha",[]).provider("captchaSettings",t).factory("captchaHelper",["$http","$rootScope","captchaSettings",i]).factory("Captcha",["$document","$rootScope","captchaHelper",f]).directive("botdetectCaptcha",["$rootScope","captchaSettings","captchaHelper",r]).directive("correctCaptcha",["Captcha","captchaHelper",u])}(window.angular),function(){"use strict";angular.module("ui.grid.i18n",[]);angular.module("ui.grid",["ui.grid.i18n"])}(),function(){"use strict";angular.module("ui.grid").constant("uiGridConstants",{LOG_DEBUG_MESSAGES:!0,LOG_WARN_MESSAGES:!0,LOG_ERROR_MESSAGES:!0,CUSTOM_FILTERS:/CUSTOM_FILTERS/g,COL_FIELD:/COL_FIELD/g,MODEL_COL_FIELD:/MODEL_COL_FIELD/g,TOOLTIP:/title=\"TOOLTIP\"/g,DISPLAY_CELL_TEMPLATE:/DISPLAY_CELL_TEMPLATE/g,TEMPLATE_REGEXP:/<.+>/,FUNC_REGEXP:/(\([^)]*\))?$/,DOT_REGEXP:/\./g,APOS_REGEXP:/'/g,BRACKET_REGEXP:/^(.*)((?:\s*\[\s*\d+\s*\]\s*)|(?:\s*\[\s*"(?:[^"\\]|\\.)*"\s*\]\s*)|(?:\s*\[\s*'(?:[^'\\]|\\.)*'\s*\]\s*))(.*)$/,COL_CLASS_PREFIX:"ui-grid-col",events:{GRID_SCROLL:"uiGridScroll",COLUMN_MENU_SHOWN:"uiGridColMenuShown",ITEM_DRAGGING:"uiGridItemDragStart",COLUMN_HEADER_CLICK:"uiGridColumnHeaderClick"},keymap:{TAB:9,STRG:17,CAPSLOCK:20,CTRL:17,CTRLRIGHT:18,CTRLR:18,SHIFT:16,RETURN:13,ENTER:13,BACKSPACE:8,BCKSP:8,ALT:18,ALTR:17,ALTRIGHT:17,SPACE:32,WIN:91,MAC:91,FN:null,PG_UP:33,PG_DOWN:34,UP:38,DOWN:40,LEFT:37,RIGHT:39,ESC:27,DEL:46,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123},ASC:"asc",DESC:"desc",filter:{STARTS_WITH:2,ENDS_WITH:4,EXACT:8,CONTAINS:16,GREATER_THAN:32,GREATER_THAN_OR_EQUAL:64,LESS_THAN:128,LESS_THAN_OR_EQUAL:256,NOT_EQUAL:512,SELECT:"select",INPUT:"input"},aggregationTypes:{sum:2,count:4,avg:8,min:16,max:32},CURRENCY_SYMBOLS:["ƒ","$","£","$","¤","¥","៛","₩","₱","฿","₫"],scrollDirection:{UP:"up",DOWN:"down",LEFT:"left",RIGHT:"right",NONE:"none"},dataChange:{ALL:"all",EDIT:"edit",ROW:"row",COLUMN:"column",OPTIONS:"options"},scrollbars:{NEVER:0,ALWAYS:1}})}();angular.module("ui.grid").directive("uiGridCell",["$compile","$parse","gridUtil","uiGridConstants",function(n,t,i,r){return{priority:0,scope:!1,require:"?^uiGrid",compile:function(){return{pre:function(t,u,f,e){function o(){var n=t.col.compiledElementFn;n(t,function(n){u.append(n)})}if(e&&t.col.compiledElementFn)o();else if(e&&!t.col.compiledElementFn)t.col.getCompiledElementFn().then(function(n){n(t,function(n){u.append(n)})});else{var s=t.col.cellTemplate.replace(r.MODEL_COL_FIELD,"row.entity."+i.preEval(t.col.field)).replace(r.COL_FIELD,"grid.getCellValue(row, col)"),h=n(s)(t);u.append(h)}},post:function(n,t){var u=n.col.getColClass(!1),i,f;t.addClass(u);f=function(){var r=t;i&&(r.removeClass(i),i=null);i=angular.isFunction(n.col.cellClass)?n.col.cellClass(n.grid,n.row,n.col,n.rowRenderIndex,n.colRenderIndex):n.col.cellClass;r.addClass(i)};n.col.cellClass&&f();var o=n.grid.registerDataChangeCallback(f,[r.dataChange.COLUMN,r.dataChange.EDIT]),s=function(r,e){if(r!==e){(i||n.col.cellClass)&&f();var o=n.col.getColClass(!1);o!==u&&(t.removeClass(u),t.addClass(o),u=o)}},h=n.$watch("row",s),e=function(){o();h()};n.$on("$destroy",e);t.on("$destroy",e)}}}}}]),function(){angular.module("ui.grid").service("uiGridColumnMenuService",["i18nService","uiGridConstants","gridUtil",function(n,t,i){var r={initialize:function(n,t){n.grid=t.grid;t.columnMenuScope=n;n.menuShown=!1},setColMenuItemWatch:function(n){var t=n.$watch("col.menuItems",function(t){typeof t!="undefined"&&t&&angular.isArray(t)?(t.forEach(function(t){typeof t.context!="undefined"&&t.context||(t.context={});t.context.col=n.col}),n.menuItems=n.defaultMenuItems.concat(t)):n.menuItems=n.defaultMenuItems});n.$on("$destroy",t)},sortable:function(n){return n.grid.options.enableSorting&&typeof n.col!="undefined"&&n.col&&n.col.enableSorting?!0:!1},isActiveSort:function(n,t){return typeof n.col!="undefined"&&typeof n.col.sort!="undefined"&&typeof n.col.sort.direction!="undefined"&&n.col.sort.direction===t},suppressRemoveSort:function(n){return n.col&&n.col.suppressRemoveSort?!0:!1},hideable:function(n){return typeof n.col!="undefined"&&n.col&&n.col.colDef&&n.col.colDef.enableHiding===!1?!1:!0},getDefaultMenuItems:function(i){return[{title:n.getSafeText("sort.ascending"),icon:"ui-grid-icon-sort-alt-up",action:function(n){n.stopPropagation();i.sortColumn(n,t.ASC)},shown:function(){return r.sortable(i)},active:function(){return r.isActiveSort(i,t.ASC)}},{title:n.getSafeText("sort.descending"),icon:"ui-grid-icon-sort-alt-down",action:function(n){n.stopPropagation();i.sortColumn(n,t.DESC)},shown:function(){return r.sortable(i)},active:function(){return r.isActiveSort(i,t.DESC)}},{title:n.getSafeText("sort.remove"),icon:"ui-grid-icon-cancel",action:function(n){n.stopPropagation();i.unsortColumn()},shown:function(){return r.sortable(i)&&typeof i.col!="undefined"&&typeof i.col.sort!="undefined"&&typeof i.col.sort.direction!="undefined"&&i.col.sort.direction!==null&&!r.suppressRemoveSort(i)}},{title:n.getSafeText("column.hide"),icon:"ui-grid-icon-cancel",shown:function(){return r.hideable(i)},action:function(n){n.stopPropagation();i.hideColumn()}}]},getColumnElementPosition:function(n,t,r){var u={};return u.left=r[0].offsetLeft,u.top=r[0].offsetTop,u.parentLeft=r[0].offsetParent.offsetLeft,u.offset=0,t.grid.options.offsetLeft&&(u.offset=t.grid.options.offsetLeft),u.height=i.elementHeight(r,!0),u.width=i.elementWidth(r,!0),u},repositionMenu:function(n,t,r,u,f){var e=u[0].querySelectorAll(".ui-grid-menu"),l=i.closestElm(f,".ui-grid-render-container"),a=l.getBoundingClientRect().left-n.grid.element[0].getBoundingClientRect().left,v=l.querySelectorAll(".ui-grid-viewport")[0].scrollLeft,o=t.lastMenuWidth?t.lastMenuWidth:n.lastMenuWidth?n.lastMenuWidth:170,s=t.lastMenuPaddingRight?t.lastMenuPaddingRight:n.lastMenuPaddingRight?n.lastMenuPaddingRight:10,c,h;e.length!==0&&(c=e[0].querySelectorAll(".ui-grid-menu-mid"),c.length===0||angular.element(c).hasClass("ng-hide")||(o=i.elementWidth(e,!0),n.lastMenuWidth=o,t.lastMenuWidth=o,s=parseInt(i.getStyles(angular.element(e)[0]).paddingRight,10),n.lastMenuPaddingRight=s,t.lastMenuPaddingRight=s));h=r.left+a-v+r.parentLeft+r.width-o+s;h<r.offset&&(h=r.offset);u.css("left",h+"px");u.css("top",r.top+r.height+"px")}};return r}]).directive("uiGridColumnMenu",["$timeout","gridUtil","uiGridConstants","uiGridColumnMenuService","$document",function(n,t,i,r,u){return{priority:0,scope:!0,require:"^uiGrid",templateUrl:"ui-grid/uiGridColumnMenu",replace:!0,link:function(f,e,o,s){r.initialize(f,s);f.defaultMenuItems=r.getDefaultMenuItems(f);f.menuItems=f.defaultMenuItems;r.setColMenuItemWatch(f);f.showMenu=function(n,t,i){f.col=n;var u=r.getColumnElementPosition(f,n,t);f.menuShown?(f.colElement=t,f.colElementPosition=u,f.hideThenShow=!0,f.$broadcast("hide-menu",{originalEvent:i})):(f.menuShown=!0,r.repositionMenu(f,n,u,e,t),f.colElement=t,f.colElementPosition=u,f.$broadcast("show-menu",{originalEvent:i}))};f.hideMenu=function(n){f.menuShown=!1;n||f.$broadcast("hide-menu")};f.$on("menu-hidden",function(){f.hideThenShow?(delete f.hideThenShow,r.repositionMenu(f,f.col,f.colElementPosition,e,f.colElement),f.$broadcast("show-menu"),f.menuShown=!0):(f.hideMenu(!0),f.col&&t.focus.bySelector(u,".ui-grid-header-cell."+f.col.getColClass()+" .ui-grid-column-menu-button",f.col.grid,!1))});f.$on("menu-shown",function(){n(function(){r.repositionMenu(f,f.col,f.colElementPosition,e,f.colElement);t.focus.bySelector(u,".ui-grid-menu-items .ui-grid-menu-item",!0);delete f.colElementPosition;delete f.columnElement},200)});f.sortColumn=function(n,t){n.stopPropagation();f.grid.sortColumn(f.col,t,!0).then(function(){f.grid.refresh();f.hideMenu()})};f.unsortColumn=function(){f.col.unsort();f.grid.refresh();f.hideMenu()};var h=function(){n(function(){var r=function(){return t.focus.byId("grid-menu",f.grid)},i,n,e;f.grid.columns.some(function(n,t){if(angular.equals(n,f.col))return i=t,!0});f.grid.columns.some(function(t,r){if(t.visible)if(r<i)n=t;else{if(r>i&&!n)return n=t,!0;if(r>i&&n)return!0}else return!1});n?(e=n.getColClass(),t.focus.bySelector(u,".ui-grid-header-cell."+e+" .ui-grid-header-cell-primary-focus",!0).then(angular.noop,function(n){if(n!=="canceled")return r()})):r()})};f.hideColumn=function(){f.col.colDef.visible=!1;f.col.visible=!1;f.grid.queueGridRefresh();f.hideMenu();f.grid.api.core.notifyDataChange(i.dataChange.COLUMN);f.grid.api.core.raise.columnVisibilityChanged(f.col);h()}},controller:["$scope",function(n){var t=this;n.$watch("menuItems",function(n){t.menuItems=n})}]}}])}(),function(){"use strict";angular.module("ui.grid").directive("uiGridFilter",["$compile","$templateCache","i18nService","gridUtil",function(n,t,i,r){return{compile:function(){return{pre:function(t,i){t.col.updateFilters=function(r){if(i.children().remove(),r){var u=t.col.filterHeaderTemplate;i.append(n(u)(t))}};t.$on("$destroy",function(){delete t.col.updateFilters})},post:function(n,t){n.aria=i.getSafeText("headerCell.aria");n.removeFilter=function(n,i){n.term=null;r.focus.bySelector(t,".ui-grid-filter-input-"+i)}}}}}}])}(),function(){"use strict";angular.module("ui.grid").directive("uiGridFooterCell",["$timeout","gridUtil","uiGridConstants","$compile",function(n,t,i,r){return{priority:0,scope:{col:"=",row:"=",renderIndex:"="},replace:!0,require:"^uiGrid",compile:function(){return{pre:function(n,t){var i=r(n.col.footerCellTemplate)(n);t.append(i)},post:function(n,t,r,u){var o,f,e,s;n.grid=u.grid;o=n.col.getColClass(!1);t.addClass(o);e=function(){var i=t;f&&(i.removeClass(f),f=null);f=angular.isFunction(n.col.footerCellClass)?n.col.footerCellClass(n.grid,n.row,n.col,n.rowRenderIndex,n.colRenderIndex):n.col.footerCellClass;i.addClass(f)};n.col.footerCellClass&&e();n.col.updateAggregationValue();s=n.grid.registerDataChangeCallback(e,[i.dataChange.COLUMN]);n.grid.api.core.on.rowsRendered(n,n.col.updateAggregationValue);n.grid.api.core.on.rowsRendered(n,e);n.$on("$destroy",s)}}}}}])}(),function(){"use strict";angular.module("ui.grid").directive("uiGridFooter",["$templateCache","$compile","uiGridConstants","gridUtil","$timeout",function(n,t,i,r){return{restrict:"EA",replace:!0,require:["^uiGrid","^uiGridRenderContainer"],scope:!0,compile:function(){return{pre:function(n,i,u,f){var s=f[0],e=f[1],o;n.grid=s.grid;n.colContainer=e.colContainer;e.footer=i;o=n.grid.options.footerTemplate;r.getTemplate(o).then(function(r){var f=angular.element(r),o=t(f)(n),u;i.append(o);e&&(u=i[0].getElementsByClassName("ui-grid-footer-viewport")[0],u&&(e.footerViewport=u))})},post:function(n,t,i,u){var o=u[0],e=u[1],s=o.grid,f;r.disableAnimations(t);e.footer=t;f=t[0].getElementsByClassName("ui-grid-footer-viewport")[0];f&&(e.footerViewport=f)}}}}}])}(),function(){"use strict";angular.module("ui.grid").directive("uiGridGridFooter",["$templateCache","$compile","uiGridConstants","gridUtil","$timeout",function(n,t,i,r){return{restrict:"EA",replace:!0,require:"^uiGrid",scope:!0,compile:function(){return{pre:function(n,i,u,f){n.grid=f.grid;var e=n.grid.options.gridFooterTemplate;r.getTemplate(e).then(function(r){var u=angular.element(r),f=t(u)(n);i.append(f)})},post:function(){}}}}}])}(),function(){"use strict";angular.module("ui.grid").directive("uiGridGroupPanel",["$compile","uiGridConstants","gridUtil",function(n,t,i){var r="ui-grid/ui-grid-group-panel";return{restrict:"EA",replace:!0,require:"?^uiGrid",scope:!1,compile:function(){return{pre:function(t,u){var f=t.grid.options.groupPanelTemplate||r;i.getTemplate(f).then(function(i){var r=angular.element(i),f=n(r)(t);u.append(f)})},post:function(n,t){t.bind("$destroy",function(){})}}}}}])}(),function(){"use strict";angular.module("ui.grid").directive("uiGridHeaderCell",["$compile","$timeout","$window","$document","gridUtil","uiGridConstants","ScrollEvent","i18nService",function(n,t,i,r,u,f,e,o){var s=500,h=500;return{priority:0,scope:{col:"=",row:"=",renderIndex:"="},require:["^uiGrid","^uiGridRenderContainer"],replace:!0,compile:function(){return{pre:function(t,i){var r=n(t.col.headerCellTemplate)(t);i.append(r)},post:function(n,i,u,e){var c=e[0],k=e[1],p,y,b;n.i18n={headerCell:o.getSafeText("headerCell"),sort:o.getSafeText("sort")};n.isSortPriorityVisible=function(){return angular.isNumber(n.col.sort.priority)&&n.grid.columns.some(function(t){return angular.isNumber(t.sort.priority)&&t!==n.col})};n.getSortDirectionAriaLabel=function(){var t=n.col,r=t.sort.direction===f.ASC?n.i18n.sort.ascending:t.sort.direction===f.DESC?n.i18n.sort.descending:n.i18n.sort.none,i=r;return n.isSortPriorityVisible()&&(i=i+". "+n.i18n.headerCell.priority+" "+t.sort.priority),i};n.grid=c.grid;n.renderContainer=c.grid.renderContainers[k.containerId];p=n.col.getColClass(!1);i.addClass(p);n.menuShown=!1;n.asc=f.ASC;n.desc=f.DESC;var d=angular.element(i[0].querySelectorAll(".ui-grid-header-cell-menu")),l=angular.element(i[0].querySelectorAll(".ui-grid-cell-contents")),a,w,v=[];n.downFn=function(u){if(u.stopPropagation(),typeof u.originalEvent!="undefined"&&u.originalEvent!==undefined&&(u=u.originalEvent),!u.button||u.button===0)if(w=u.pageX,n.mousedownStartTime=(new Date).getTime(),n.mousedownTimeout=t(function(){},s),n.mousedownTimeout.then(function(){n.colMenu&&c.columnMenuScope.showMenu(n.col,i,u)}),c.fireEvent(f.events.COLUMN_HEADER_CLICK,{event:u,columnName:n.col.colDef.name}),n.offAllEvents(),u.type==="touchstart"){r.on("touchend",n.upFn);r.on("touchmove",n.moveFn)}else if(u.type==="mousedown"){r.on("mouseup",n.upFn);r.on("mousemove",n.moveFn)}};n.upFn=function(i){i.stopPropagation();t.cancel(n.mousedownTimeout);n.offAllEvents();n.onDownEvents(i.type);var r=(new Date).getTime(),u=r-n.mousedownStartTime;u>s||n.sortable&&n.handleClick(i)};n.moveFn=function(i){var r=i.pageX-w;if(r!==0){t.cancel(n.mousedownTimeout);n.offAllEvents();n.onDownEvents(i.type)}};n.clickFn=function(t){t.stopPropagation();l.off("click",n.clickFn)};n.offAllEvents=function(){l.off("touchstart",n.downFn);l.off("mousedown",n.downFn);r.off("touchend",n.upFn);r.off("mouseup",n.upFn);r.off("touchmove",n.moveFn);r.off("mousemove",n.moveFn);l.off("click",n.clickFn)};n.onDownEvents=function(i){switch(i){case"touchmove":case"touchend":l.on("click",n.clickFn);l.on("touchstart",n.downFn);t(function(){l.on("mousedown",n.downFn)},h);break;case"mousemove":case"mouseup":l.on("click",n.clickFn);l.on("mousedown",n.downFn);t(function(){l.on("touchstart",n.downFn)},h);break;default:l.on("click",n.clickFn);l.on("touchstart",n.downFn);l.on("mousedown",n.downFn)}};y=function(){var r=i,u;a&&(r.removeClass(a),a=null);a=angular.isFunction(n.col.headerCellClass)?n.col.headerCellClass(n.grid,n.row,n.col,n.rowRenderIndex,n.colRenderIndex):n.col.headerCellClass;r.addClass(a);t(function(){var t=n.grid.renderContainers.right?n.grid.renderContainers.right:n.grid.renderContainers.body;n.isLastCol=n.col===t.visibleColumnCache[t.visibleColumnCache.length-1]});n.sortable=c.grid.options.enableSorting&&n.col.enableSorting?!0:!1;u=n.filterable;n.filterable=c.grid.options.enableFiltering&&n.col.enableFiltering?!0:!1;u!==n.filterable&&(typeof n.col.updateFilters!="undefined"&&n.col.updateFilters(n.filterable),n.filterable?(n.col.filters.forEach(function(t,i){v.push(n.$watch("col.filters["+i+"].term",function(n,t){n!==t&&(c.grid.api.core.raise.filterChanged(),c.grid.api.core.notifyDataChange(f.dataChange.COLUMN),c.grid.queueGridRefresh())}))}),n.$on("$destroy",function(){v.forEach(function(n){n()})})):v.forEach(function(n){n()}));n.colMenu=n.col.grid.options&&n.col.grid.options.enableColumnMenus!==!1&&n.col.colDef&&n.col.colDef.enableColumnMenu!==!1?!0:!1;n.offAllEvents();(n.sortable||n.colMenu)&&(n.onDownEvents(),n.$on("$destroy",function(){n.offAllEvents()}))};y();b=n.grid.registerDataChangeCallback(y,[f.dataChange.COLUMN]);n.$on("$destroy",b);n.handleClick=function(t){var i=!1;t.shiftKey&&(i=!0);c.grid.sortColumn(n.col,i).then(function(){c.columnMenuScope&&c.columnMenuScope.hideMenu();c.grid.refresh()})};n.toggleMenu=function(t){t.stopPropagation();c.columnMenuScope.menuShown?c.columnMenuScope.col===n.col?c.columnMenuScope.hideMenu():c.columnMenuScope.showMenu(n.col,i):c.columnMenuScope.showMenu(n.col,i)}}}}}}])}(),function(){"use strict";angular.module("ui.grid").directive("uiGridHeader",["$templateCache","$compile","uiGridConstants","gridUtil","$timeout","ScrollEvent",function(n,t,i,r,u,f){var e="ui-grid/ui-grid-header",o="ui-grid/ui-grid-no-header";return{restrict:"EA",replace:!0,require:["^uiGrid","^uiGridRenderContainer"],scope:!0,compile:function(){return{pre:function(n,i,u,s){function a(){h.header=h.colContainer.header=i;var n=i[0].getElementsByClassName("ui-grid-header-canvas");h.headerCanvas=n.length>0?h.colContainer.headerCanvas=n[0]:null}function v(){if(!c.grid.isScrollingHorizontally){var t=r.normalizeScrollLeft(h.headerViewport,c.grid),i=h.colContainer.scrollHorizontal(t),n=new f(c.grid,null,h.colContainer,f.Sources.ViewPortScroll);n.newScrollLeft=t;i>-1&&(n.x={percentage:i});c.grid.scrollContainers(null,n)}}var c=s[0],h=s[1],l;n.grid=c.grid;n.colContainer=h.colContainer;a();l=n.grid.options.showHeader?n.grid.options.headerTemplate?n.grid.options.headerTemplate:e:o;r.getTemplate(l).then(function(r){var e=angular.element(r),f=t(e)(n),u;if(i.replaceWith(f),i=f,a(),h&&(u=i[0].getElementsByClassName("ui-grid-header-viewport")[0],u)){h.headerViewport=u;angular.element(u).on("scroll",v);n.$on("$destroy",function(){angular.element(u).off("scroll",v)})}n.grid.queueRefresh()})},post:function(n,t,i,u){function s(){var i=f.colContainer.visibleColumnCache,n="",t=0;return i.forEach(function(i){n=n+i.getColClassDefinition();t+=i.drawnWidth}),f.colContainer.canvasWidth=t,n}var e=u[0],f=u[1],h=e.grid,o;r.disableAnimations(t);f.header=t;o=t[0].getElementsByClassName("ui-grid-header-viewport")[0];o&&(f.headerViewport=o);e&&e.grid.registerStyleComputation({priority:15,func:s})}}}}}])}(),function(){angular.module("ui.grid").service("uiGridGridMenuService",["gridUtil","i18nService","uiGridConstants",function(n,t,i){var r={initialize:function(n,t){t.gridMenuScope=n;n.grid=t;n.registeredMenuItems=[];n.$on("$destroy",function(){n.grid&&n.grid.gridMenuScope&&(n.grid.gridMenuScope=null);n.grid&&(n.grid=null);n.registeredMenuItems&&(n.registeredMenuItems=null)});n.registeredMenuItems=[];t.api.registerMethod("core","addToGridMenu",r.addToGridMenu);t.api.registerMethod("core","removeFromGridMenu",r.removeFromGridMenu)},addToGridMenu:function(t,i){angular.isArray(i)?t.gridMenuScope?(t.gridMenuScope.registeredMenuItems=t.gridMenuScope.registeredMenuItems?t.gridMenuScope.registeredMenuItems:[],t.gridMenuScope.registeredMenuItems=t.gridMenuScope.registeredMenuItems.concat(i)):n.logError("Asked to addToGridMenu, but gridMenuScope not present.  Timing issue?  Please log issue with ui-grid"):n.logError("addToGridMenu: menuItems must be an array, and is not, not adding any items")},removeFromGridMenu:function(t,i){var r=-1;t&&t.gridMenuScope&&t.gridMenuScope.registeredMenuItems.forEach(function(t,u){t.id===i&&(r>-1?n.logError("removeFromGridMenu: found multiple items with the same id, removing only the last"):r=u)});r>-1&&t.gridMenuScope.registeredMenuItems.splice(r,1)},getMenuItems:function(i){var u=[],f;return i.grid.options.gridMenuCustomItems&&(angular.isArray(i.grid.options.gridMenuCustomItems)?u=u.concat(i.grid.options.gridMenuCustomItems):n.logError("gridOptions.gridMenuCustomItems must be an array, and is not")),f=[{title:t.getSafeText("gridMenu.clearAllFilters"),action:function(){i.grid.clearAllFilters(undefined,!0,undefined)},shown:function(){return i.grid.options.enableFiltering},order:100}],u=u.concat(f),u=u.concat(i.registeredMenuItems),i.grid.options.gridMenuShowHideColumns!==!1&&(u=u.concat(r.showHideColumns(i))),u.sort(function(n,t){return n.order-t.order}),u},showHideColumns:function(n){var i=[];return!n.grid.options.columnDefs||n.grid.options.columnDefs.length===0||n.grid.columns.length===0?i:(i.push({title:t.getSafeText("gridMenu.columns"),order:300}),n.grid.options.gridMenuTitleFilter=n.grid.options.gridMenuTitleFilter?n.grid.options.gridMenuTitleFilter:function(n){return n},n.grid.options.columnDefs.forEach(function(t,u){if(t.enableHiding!==!1){var f={icon:"ui-grid-icon-ok",action:function(n){n.stopPropagation();r.toggleColumnVisibility(this.context.gridCol)},shown:function(){return this.context.gridCol.colDef.visible===!0||this.context.gridCol.colDef.visible===undefined},context:{gridCol:n.grid.getColumn(t.name||t.field)},leaveOpen:!0,order:301+u*2};r.setMenuItemTitle(f,t,n.grid);i.push(f);f={icon:"ui-grid-icon-cancel",action:function(n){n.stopPropagation();r.toggleColumnVisibility(this.context.gridCol)},shown:function(){return!(this.context.gridCol.colDef.visible===!0||this.context.gridCol.colDef.visible===undefined)},context:{gridCol:n.grid.getColumn(t.name||t.field)},leaveOpen:!0,order:301+u*2+1};r.setMenuItemTitle(f,t,n.grid);i.push(f)}}),i)},setMenuItemTitle:function(t,i,r){var u=r.options.gridMenuTitleFilter(i.displayName||n.readableColumnName(i.name)||i.field);typeof u=="string"?t.title=u:u.then?(t.title="",u.then(function(n){t.title=n},function(n){t.title=n})):(n.logError("Expected gridMenuTitleFilter to return a string or a promise, it has returned neither, bad config"),t.title="badconfig")},toggleColumnVisibility:function(n){n.colDef.visible=!(n.colDef.visible===!0||n.colDef.visible===undefined);n.grid.refresh();n.grid.api.core.notifyDataChange(i.dataChange.COLUMN);n.grid.api.core.raise.columnVisibilityChanged(n)}};return r}]).directive("uiGridMenuButton",["gridUtil","uiGridConstants","uiGridGridMenuService","i18nService",function(n,t,i,r){return{priority:0,scope:!0,require:["^uiGrid"],templateUrl:"ui-grid/ui-grid-menu-button",replace:!0,link:function(t,u,f,e){var o=e[0];t.i18n={aria:r.getSafeText("gridMenu.aria")};i.initialize(t,o.grid);t.shown=!1;t.toggleMenu=function(){t.shown?(t.$broadcast("hide-menu"),t.shown=!1):(t.menuItems=i.getMenuItems(t),t.$broadcast("show-menu"),t.shown=!0)};t.$on("menu-hidden",function(){t.shown=!1;n.focus.bySelector(u,".ui-grid-icon-container")})}}}])}(),function(){angular.module("ui.grid").directive("uiGridMenu",["$compile","$timeout","$window","$document","gridUtil","uiGridConstants","i18nService",function(n,t,i,r,u,f,e){return{priority:0,scope:{menuItems:"=",autoHide:"=?"},require:"?^uiGrid",templateUrl:"ui-grid/uiGridMenu",replace:!1,link:function(n,r,o,s){var c;n.dynamicStyles="";c=function(t){var i=t-s.grid.headerHeight-20;n.dynamicStyles=[".grid"+s.grid.id+" .ui-grid-menu-mid {","max-height: "+i+"px;","}"].join(" ")};s&&(c(s.grid.gridHeight),s.grid.api.core.on.gridDimensionChanged(n,function(n,t,i){c(i)}));n.i18n={close:e.getSafeText("columnMenu.close")};n.showMenu=function(i,f){n.shown?n.shownMid||(n.shownMid=!0,n.$emit("menu-shown")):(n.shown=!0,t(function(){n.shownMid=!0;n.$emit("menu-shown")}));var e="click";f&&f.originalEvent&&f.originalEvent.type&&f.originalEvent.type==="touchstart"&&(e=f.originalEvent.type);angular.element(document).off("click touchstart",h);r.off("keyup",l);r.off("keydown",a);t(function(){angular.element(document).on(e,h);r.on("keyup",l);r.on("keydown",a)});u.focus.bySelector(r,"button[type=button]",!0)};n.hideMenu=function(){n.shown&&(n.shownMid=!1,t(function(){n.shownMid||(n.shown=!1,n.$emit("menu-hidden"))},200));angular.element(document).off("click touchstart",h);r.off("keyup",l);r.off("keydown",a)};n.$on("hide-menu",function(t,i){n.hideMenu(t,i)});n.$on("show-menu",function(t,i){n.showMenu(t,i)});var h=function(){n.shown&&n.$apply(function(){n.hideMenu()})},l=function(t){t.keyCode===27&&n.hideMenu()},a=function(n){var f=function(t){return t.focus(),n.preventDefault(),!1},i,u,t;n.keyCode===9&&(t=r[0].querySelectorAll("button:not(.ng-hide)"),t.length>0&&(i=t[0],u=t[t.length-1],n.target!==u||n.shiftKey?n.target===i&&n.shiftKey&&f(u):f(i)))};if((typeof n.autoHide=="undefined"||n.autoHide===undefined)&&(n.autoHide=!0),n.autoHide)angular.element(i).on("resize",h);n.$on("$destroy",function(){angular.element(document).off("click touchstart",h)});n.$on("$destroy",function(){angular.element(i).off("resize",h)});s&&n.$on("$destroy",s.grid.api.core.on.scrollBegin(n,h));n.$on("$destroy",n.$on(f.events.ITEM_DRAGGING,h))}}}]).directive("uiGridMenuItem",["gridUtil","$compile","i18nService",function(n,t,i){return{priority:0,scope:{name:"=",active:"=",action:"=",icon:"=",shown:"=",context:"=",templateUrl:"=",leaveOpen:"=",screenReaderOnly:"="},require:["?^uiGrid"],templateUrl:"ui-grid/uiGridMenuItem",replace:!1,compile:function(){return{pre:function(i,r){i.templateUrl&&n.getTemplate(i.templateUrl).then(function(n){var u=angular.element(n),f=t(u)(i);r.replaceWith(f)})},post:function(t,r,u,f){var e=f[0];(typeof t.shown=="undefined"||t.shown===null)&&(t.shown=function(){return!0});t.itemShown=function(){var n={};return t.context&&(n.context=t.context),typeof e!="undefined"&&e&&(n.grid=e.grid),t.shown.call(n)};t.itemAction=function(i,u){if(i.stopPropagation(),typeof t.action=="function"){var f={};t.context&&(f.context=t.context);typeof e!="undefined"&&e&&(f.grid=e.grid);t.action.call(f,i,u);t.leaveOpen?n.focus.bySelector(angular.element(n.closestElm(r,".ui-grid-menu-items")),"button[type=button]",!0):t.$emit("hide-menu")}};t.i18n=i.get()}}}}}])}(),function(){"use strict";var n=angular.module("ui.grid");angular.forEach([{tag:"Src",method:"attr"},{tag:"Text",method:"text"},{tag:"Href",method:"attr"},{tag:"Class",method:"addClass"},{tag:"Html",method:"html"},{tag:"Alt",method:"attr"},{tag:"Style",method:"css"},{tag:"Value",method:"attr"},{tag:"Id",method:"attr"},{tag:"Id",directiveName:"IdGrid",method:"attr",appendGridId:!0},{tag:"Title",method:"attr"},{tag:"Label",method:"attr",aria:!0},{tag:"Labelledby",method:"attr",aria:!0},{tag:"Labelledby",directiveName:"LabelledbyGrid",appendGridId:!0,method:"attr",aria:!0},{tag:"Describedby",method:"attr",aria:!0},{tag:"Describedby",directiveName:"DescribedbyGrid",appendGridId:!0,method:"attr",aria:!0}],function(t){var r="uiGridOneBind",i=(t.aria?r+"Aria":r)+(t.directiveName?t.directiveName:t.tag);n.directive(i,["gridUtil",function(n){return{restrict:"A",require:["?uiGrid","?^uiGrid"],link:function(r,u,f,e){var o=function(t){var u,f;if(r.grid)u=r.grid;else if(r.col&&r.col.grid)u=r.col.grid;else if(!e.some(function(n){if(n&&n.grid)return u=n.grid,!0})){n.logError("["+i+"] A valid grid could not be found to bind id. Are you using this directive within the correct scope? Trying to generate id: [gridID]-"+t);throw new Error("No valid grid could be found");}return u&&(f=new RegExp(u.id.toString()),f.test(t)||(t=u.id.toString()+"-"+t)),t},s=r.$watch(f[i],function(n){var i,r,f;if(n){t.appendGridId&&(i=null,angular.forEach(n.split(" "),function(n){i=(i?i+" ":"")+o(n)}),n=i);switch(t.method){case"attr":t.aria?u[t.method]("aria-"+t.tag.toLowerCase(),n):u[t.method](t.tag.toLowerCase(),n);break;case"addClass":if(angular.isObject(n)&&!angular.isArray(n)){if(r=[],f=!1,angular.forEach(n,function(n,t){n!==null&&typeof n!="undefined"&&(f=!0,n&&r.push(t))}),!f)return;n=r}if(n)u.addClass(angular.isArray(n)?n.join(" "):n);else return;break;default:u[t.method](n)}s()}},!0)}}}])})}(),function(){"use strict";var n=angular.module("ui.grid");n.directive("uiGridRenderContainer",["$timeout","$document","uiGridConstants","gridUtil","ScrollEvent",function(n,t,i,r,u){return{replace:!0,transclude:!0,templateUrl:"ui-grid/uiGridRenderContainer",require:["^uiGrid","uiGridRenderContainer"],scope:{containerId:"=",rowContainerName:"=",colContainerName:"=",bindScrollHorizontal:"=",bindScrollVertical:"=",enableVerticalScrollbar:"=",enableHorizontalScrollbar:"="},controller:"uiGridRenderContainer as RenderContainer",compile:function(){return{pre:function(n,t,i,r){var s=r[0],f=r[1],u=n.grid=s.grid,e,o;if(!n.rowContainerName)throw"No row render container name specified";if(!n.colContainerName)throw"No column render container name specified";if(!u.renderContainers[n.rowContainerName])throw"Row render container '"+n.rowContainerName+"' is not registered.";if(!u.renderContainers[n.colContainerName])throw"Column render container '"+n.colContainerName+"' is not registered.";e=n.rowContainer=u.renderContainers[n.rowContainerName];o=n.colContainer=u.renderContainers[n.colContainerName];f.containerId=n.containerId;f.rowContainer=e;f.colContainer=o},post:function(n,t,i,f){function y(){var t="",i=o.canvasWidth,h=o.getViewportWidth(),c=l.getCanvasHeight(),r=l.getViewportHeight(),u,f;return o.needsHScrollbarPlaceholder()&&(r-=s.scrollbarHeight),u=f=o.getHeaderViewportWidth(),t+="\n .grid"+e.grid.id+" .ui-grid-render-container-"+n.containerId+" .ui-grid-canvas { width: "+i+"px; height: "+c+"px; }",t+="\n .grid"+e.grid.id+" .ui-grid-render-container-"+n.containerId+" .ui-grid-header-canvas { width: "+(i+s.scrollbarWidth)+"px; }",t+=v.explicitHeaderCanvasHeight?"\n .grid"+e.grid.id+" .ui-grid-render-container-"+n.containerId+" .ui-grid-header-canvas { height: "+v.explicitHeaderCanvasHeight+"px; }":"\n .grid"+e.grid.id+" .ui-grid-render-container-"+n.containerId+" .ui-grid-header-canvas { height: inherit; }",t+="\n .grid"+e.grid.id+" .ui-grid-render-container-"+n.containerId+" .ui-grid-viewport { width: "+h+"px; height: "+r+"px; }",t+="\n .grid"+e.grid.id+" .ui-grid-render-container-"+n.containerId+" .ui-grid-header-viewport { width: "+u+"px; }",t+="\n .grid"+e.grid.id+" .ui-grid-render-container-"+n.containerId+" .ui-grid-footer-canvas { width: "+(i+s.scrollbarWidth)+"px; }",t+("\n .grid"+e.grid.id+" .ui-grid-render-container-"+n.containerId+" .ui-grid-footer-viewport { width: "+f+"px; }")}var e=f[0],h=f[1],s=e.grid,l=h.rowContainer,o=h.colContainer,c=null,a=null,v=s.renderContainers[n.containerId];t.addClass("ui-grid-render-container-"+n.containerId);r.on.mousewheel(t,function(n){var t=new u(s,l,o,u.Sources.RenderContainerMouseWheel),e,i,v,f;n.deltaY!==0&&(e=n.deltaY*-1*n.deltaFactor,c=h.viewport[0].scrollTop,t.verticalScrollLength=l.getVerticalScrollLength(),i=(c+e)/t.verticalScrollLength,i>=1&&c<t.verticalScrollLength&&(h.viewport[0].scrollTop=t.verticalScrollLength),i<0?i=0:i>1&&(i=1),t.y={percentage:i,pixels:e});n.deltaX!==0&&(v=n.deltaX*n.deltaFactor,a=r.normalizeScrollLeft(h.viewport,s),t.horizontalScrollLength=o.getCanvasWidth()-o.getViewportWidth(),f=(a+v)/t.horizontalScrollLength,f<0?f=0:f>1&&(f=1),t.x={percentage:f,pixels:v});n.deltaY!==0&&(t.atTop(c)||t.atBottom(c))||n.deltaX!==0&&(t.atLeft(a)||t.atRight(a))||(n.preventDefault(),n.stopPropagation(),t.fireThrottledScrollingEvent("",t))});t.bind("$destroy",function(){t.unbind("keydown");["touchstart","touchmove","touchend","keydown","wheel","mousewheel","DomMouseScroll","MozMousePixelScroll"].forEach(function(n){t.unbind(n)})});e.grid.registerStyleComputation({priority:6,func:y})}}}}}]);n.controller("uiGridRenderContainer",["$scope","gridUtil",function(){}])}(),function(){"use strict";angular.module("ui.grid").directive("uiGridRow",["gridUtil",function(){return{replace:!0,require:["^uiGrid","^uiGridRenderContainer"],scope:{row:"=uiGridRow",rowRenderIndex:"="},compile:function(){return{pre:function(n,t,i,r){function o(){n.row.getRowTemplateFn.then(function(i){var r=n.$new();i(r,function(n){u&&(u.remove(),e.$destroy());t.empty().append(n);u=n;e=r})})}var f=r[0],s=r[1],h=f.grid,u,e;n.grid=f.grid;n.colContainer=s.colContainer;o();n.$watch("row.getRowTemplateFn",function(n,t){n!==t&&o()})},post:function(){}}}}}])}(),function(){angular.module("ui.grid").directive("uiGridStyle",["gridUtil","$interpolate",function(n,t){return{link:function(n,i){var r=t(i.text(),!0);r&&n.$watch(r,function(n){i.text(n)})}}}])}(),function(){"use strict";angular.module("ui.grid").directive("uiGridViewport",["gridUtil","ScrollEvent","uiGridConstants","$log",function(n,t){return{replace:!0,scope:{},controllerAs:"Viewport",templateUrl:"ui-grid/uiGridViewport",require:["^uiGrid","^uiGridRenderContainer"],link:function(i,r,u,f){function a(){var f=r[0].scrollTop,e=n.normalizeScrollLeft(r,o),c=h.scrollVertical(f),l=s.scrollHorizontal(e),u=new t(o,h,s,t.Sources.ViewPortScroll);u.newScrollLeft=e;u.newScrollTop=f;l>-1&&(u.x={percentage:l});c>-1&&(u.y={percentage:c});o.scrollContainers(i.$parent.containerId,u)}function v(n){e.prevScrollArgs=n;var t=n.getNewScrollTop(h,e.viewport);r[0].scrollTop=t}function y(t){e.prevScrollArgs=t;var i=t.getNewScrollLeft(s,e.viewport);r[0].scrollLeft=n.denormalizeScrollLeft(e.viewport,i,o)}function p(t){var i=t.getNewScrollLeft(s,e.viewport);e.headerViewport&&(e.headerViewport.scrollLeft=n.denormalizeScrollLeft(e.viewport,i,o))}function w(t){var i=t.getNewScrollLeft(s,e.viewport);e.footerViewport&&(e.footerViewport.scrollLeft=n.denormalizeScrollLeft(e.viewport,i,o))}var c=f[0],e=f[1],l;i.containerCtrl=e;var h=e.rowContainer,s=e.colContainer,o=c.grid;i.grid=c.grid;i.rowContainer=e.rowContainer;i.colContainer=e.colContainer;e.viewport=r;r.on("scroll",a);l=!1;i.$parent.bindScrollVertical&&o.addVerticalScrollSync(i.$parent.containerId,v);i.$parent.bindScrollHorizontal&&(o.addHorizontalScrollSync(i.$parent.containerId,y),o.addHorizontalScrollSync(i.$parent.containerId+"header",p),o.addHorizontalScrollSync(i.$parent.containerId+"footer",w))},controller:["$scope",function(n){this.rowStyle=function(t){var u=n.rowContainer,i=n.colContainer,r={},f;return t===0&&u.currentTopRow!==0&&(f=u.currentTopRow*u.grid.options.rowHeight,r["margin-top"]=f+"px"),i.currentFirstColumn!==0&&(i.grid.isRTL()?r["margin-right"]=i.columnOffset+"px":r["margin-left"]=i.columnOffset+"px"),r}}]}}])}(),function(){angular.module("ui.grid").directive("uiGridVisible",function(){return function(n,t,i){n.$watch(i.uiGridVisible,function(n){t[n?"removeClass":"addClass"]("ui-grid-invisible")})}})}(),function(){"use strict";function n(n,t,i,r,u,f){return{templateUrl:"ui-grid/ui-grid",scope:{uiGrid:"="},replace:!0,transclude:!0,controller:"uiGridController",compile:function(){return{post:function(n,t,e,o){function c(){t[0].offsetWidth<=0&&h<y?(setTimeout(c,v),h++):i(l)}function p(){angular.element(r).on("resize",a);t.on("$destroy",function(){angular.element(r).off("resize",a)});n.$watch(function(){return s.hasLeftContainer()},function(n,t){n!==t&&s.refreshCanvas(!0)});n.$watch(function(){return s.hasRightContainer()},function(n,t){n!==t&&s.refreshCanvas(!0)})}function l(){s.gridWidth=n.gridWidth=u.elementWidth(t);s.canvasWidth=o.grid.gridWidth;s.gridHeight=n.gridHeight=u.elementHeight(t);s.gridHeight<=s.options.rowHeight&&s.options.enableMinHeightCheck&&w();s.refreshCanvas(!0)}function w(){var l=s.options.minRowsToShow*s.options.rowHeight,r=s.options.showHeader?s.options.headerRowHeight:0,a=s.calcFooterHeight(),e=0,i,o,h,c;s.options.enableHorizontalScrollbar===f.scrollbars.ALWAYS&&(e=u.getScrollbarWidth());i=0;angular.forEach(s.options.columnDefs,function(n){n.hasOwnProperty("filter")?i<1&&(i=1):n.hasOwnProperty("filters")&&i<n.filters.length&&(i=n.filters.length)});s.options.enableFiltering&&!i&&(o=s.options.columnDefs.length&&s.options.columnDefs.every(function(n){return n.enableFiltering===!1}),o||(i=1));h=i*r;c=r+l+a+e+h;t.css("height",c+"px");s.gridHeight=n.gridHeight=u.elementHeight(t)}function a(){s.gridWidth=n.gridWidth=u.elementWidth(t);s.gridHeight=n.gridHeight=u.elementHeight(t);s.refreshCanvas(!0)}var s=o.grid;o.scrollbars=[];s.element=t;var v=100,y=20,h=0;p();l();s.renderingComplete();c()}}}}}angular.module("ui.grid").controller("uiGridController",["$scope","$element","$attrs","gridUtil","$q","uiGridConstants","$templateCache","gridClassFactory","$timeout","$parse","$compile",function(n,t,i,r,u,f,e,o,s,h,c){function y(t,i){t&&t!==i&&(l.grid.options.columnDefs=n.uiGrid.columnDefs,l.grid.buildColumns({orderByColumnDefs:!0}).then(function(){l.grid.preCompileCellTemplates();l.grid.callDataChangeCallbacks(f.dataChange.COLUMN)}))}function v(t){var e=[],r;l.grid.options.fastWatch&&(t=angular.isString(n.uiGrid.data)?l.grid.appScope[n.uiGrid.data]:n.uiGrid.data);p=t;t&&(r=l.grid.columns.length>(l.grid.rowHeaderColumns?l.grid.rowHeaderColumns.length:0),!r&&!i.uiGridColumns&&l.grid.options.columnDefs.length===0&&t.length>0&&l.grid.buildColumnDefsFromData(t),!r&&(l.grid.options.columnDefs.length>0||t.length>0)&&e.push(l.grid.buildColumns().then(function(){l.grid.preCompileCellTemplates()})),u.all(e).then(function(){l.grid.modifyRows(p).then(function(){l.grid.redrawInPlace(!0);n.$evalAsync(function(){l.grid.refreshCanvas(!0);l.grid.callDataChangeCallbacks(f.dataChange.ROW)})})}))}var l=this,a,p,w;l.grid=o.createGrid(n.uiGrid);l.grid.appScope=l.grid.appScope||n.$parent;t.addClass("grid"+l.grid.id);l.grid.rtl=r.getStyles(t[0]).direction==="rtl";n.grid=l.grid;i.uiGridColumns&&i.$observe("uiGridColumns",function(n){l.grid.options.columnDefs=n;l.grid.buildColumns().then(function(){l.grid.preCompileCellTemplates();l.grid.refreshCanvas(!0)})});a=[];l.grid.options.fastWatch?(l.uiGrid=n.uiGrid,angular.isString(n.uiGrid.data)?(a.push(n.$parent.$watch(n.uiGrid.data,v)),a.push(n.$parent.$watch(function(){return l.grid.appScope[n.uiGrid.data]?l.grid.appScope[n.uiGrid.data].length:undefined},v))):(a.push(n.$parent.$watch(function(){return n.uiGrid.data},v)),a.push(n.$parent.$watch(function(){return n.uiGrid.data.length},function(){v(n.uiGrid.data)}))),a.push(n.$parent.$watch(function(){return n.uiGrid.columnDefs},y)),a.push(n.$parent.$watch(function(){return n.uiGrid.columnDefs.length},function(){y(n.uiGrid.columnDefs)}))):(angular.isString(n.uiGrid.data)?a.push(n.$parent.$watchCollection(n.uiGrid.data,v)):a.push(n.$parent.$watchCollection(function(){return n.uiGrid.data},v)),a.push(n.$parent.$watchCollection(function(){return n.uiGrid.columnDefs},y)));w=n.$watch(function(){return l.grid.styleComputations},function(){l.grid.refreshCanvas(!0)});n.$on("$destroy",function(){a.forEach(function(n){n()});w()});l.fireEvent=function(t,i){(typeof i=="undefined"||i===undefined)&&(i={});(typeof i.grid=="undefined"||i.grid===undefined)&&(i.grid=l.grid);n.$broadcast(t,i)};l.innerCompile=function(t){c(t)(n)}}]);angular.module("ui.grid").directive("uiGrid",n);n.$inject=["$compile","$templateCache","$timeout","$window","gridUtil","uiGridConstants"]}(),function(){"use strict";angular.module("ui.grid").directive("uiGridPinnedContainer",["gridUtil",function(){return{restrict:"EA",replace:!0,template:'<div class="ui-grid-pinned-container"><div ui-grid-render-container container-id="side" row-container-name="\'body\'" col-container-name="side" bind-scroll-vertical="true" class="{{ side }} ui-grid-render-container-{{ side }}"><\/div><\/div>',scope:{side:"=uiGridPinnedContainer"},require:"^uiGrid",compile:function(){return{post:function(n,t,i,r){function o(){var t=this,n=0,i;return t.visibleColumnCache.forEach(function(t){n+=t.drawnWidth}),i=t.getViewportAdjustment(),n=n+i.width}function e(){var i,r,t,f;if(n.side==="left"||n.side==="right"){for(i=u.renderContainers[n.side].visibleColumnCache,r=0,t=0;t<i.length;t++)f=i[t],r+=f.drawnWidth||f.width||0;return r}}function s(){var i="";return(n.side==="left"||n.side==="right")&&(f=e(),t.attr("style",null),i+=".grid"+u.id+" .ui-grid-pinned-container-"+n.side+", .grid"+u.id+" .ui-grid-pinned-container-"+n.side+" .ui-grid-render-container-"+n.side+" .ui-grid-viewport { width: "+f+"px; } "),i}var u=r.grid,f=0;t.addClass("ui-grid-pinned-container-"+n.side);(n.side==="left"||n.side==="right")&&(u.renderContainers[n.side].getViewportWidth=o);u.renderContainers.body.registerViewportAdjuster(function(t){return f=e(),t.width-=f,t.side=n.side,t});u.registerStyleComputation({priority:15,func:s})}}}}}])}(),function(){angular.module("ui.grid").factory("Grid",["$q","$compile","$parse","gridUtil","uiGridConstants","GridOptions","GridColumn","GridRow","GridApi","rowSorter","rowSearcher","GridRenderContainer","$timeout","ScrollEvent",function(n,t,i,r,u,f,e,o,s,h,c,l,a,v){function p(){}var y=function(n){function i(n){t.isScrollingVertically=!1;t.api.core.raise.scrollEnd(n);t.scrollDirection=u.scrollDirection.NONE}function c(n){t.isScrollingHorizontally=!1;t.api.core.raise.scrollEnd(n);t.scrollDirection=u.scrollDirection.NONE}var t=this,e,o,a,v;if(n!==undefined&&typeof n.id!="undefined"&&n.id){if(!/^[_a-zA-Z0-9-]+$/.test(n.id))throw new Error("Grid id '"+n.id+'" is invalid. It must follow CSS selector syntax rules.');}else throw new Error("No ID provided. An ID must be given when creating a grid.");t.id=n.id;delete n.id;t.options=f.initialize(n);t.appScope=t.options.appScopeProvider;t.headerHeight=t.options.headerRowHeight;t.footerHeight=t.calcFooterHeight();t.columnFooterHeight=t.calcColumnFooterHeight();t.rtl=!1;t.gridHeight=0;t.gridWidth=0;t.columnBuilders=[];t.rowBuilders=[];t.rowsProcessors=[];t.columnsProcessors=[];t.styleComputations=[];t.viewportAdjusters=[];t.rowHeaderColumns=[];t.dataChangeCallbacks={};t.verticalScrollSyncCallBackFns={};t.horizontalScrollSyncCallBackFns={};t.renderContainers={};t.renderContainers.body=new l("body",t);t.cellValueGetterCache={};t.getRowTemplateFn=null;t.rows=[];t.columns=[];t.isScrollingVertically=!1;t.isScrollingHorizontally=!1;t.scrollDirection=u.scrollDirection.NONE;t.disableScrolling=!1;e=r.debounce(i,t.options.scrollDebounce);o=r.debounce(i,0);a=r.debounce(c,t.options.scrollDebounce);v=r.debounce(c,0);t.flagScrollingVertically=function(n){t.isScrollingVertically||t.isScrollingHorizontally||t.api.core.raise.scrollBegin(n);t.isScrollingVertically=!0;t.options.scrollDebounce!==0&&n.withDelay?e(n):o(n)};t.flagScrollingHorizontally=function(n){t.isScrollingVertically||t.isScrollingHorizontally||t.api.core.raise.scrollBegin(n);t.isScrollingHorizontally=!0;t.options.scrollDebounce!==0&&n.withDelay?a(n):v(n)};t.scrollbarHeight=0;t.scrollbarWidth=0;t.options.enableHorizontalScrollbar===u.scrollbars.ALWAYS&&(t.scrollbarHeight=r.getScrollbarWidth());t.options.enableVerticalScrollbar===u.scrollbars.ALWAYS&&(t.scrollbarWidth=r.getScrollbarWidth());t.api=new s(t);t.api.registerMethod("core","refresh",this.refresh);t.api.registerMethod("core","queueGridRefresh",this.queueGridRefresh);t.api.registerMethod("core","refreshRows",this.refreshRows);t.api.registerMethod("core","queueRefresh",this.queueRefresh);t.api.registerMethod("core","handleWindowResize",this.handleWindowResize);t.api.registerMethod("core","addRowHeaderColumn",this.addRowHeaderColumn);t.api.registerMethod("core","scrollToIfNecessary",function(n,i){return t.scrollToIfNecessary(n,i)});t.api.registerMethod("core","scrollTo",function(n,i){return t.scrollTo(n,i)});t.api.registerMethod("core","registerRowsProcessor",this.registerRowsProcessor);t.api.registerMethod("core","registerColumnsProcessor",this.registerColumnsProcessor);t.api.registerMethod("core","sortHandleNulls",h.handleNulls);t.api.registerEvent("core","sortChanged");t.api.registerEvent("core","columnVisibilityChanged");t.api.registerMethod("core","notifyDataChange",this.notifyDataChange);t.api.registerMethod("core","clearAllFilters",this.clearAllFilters);t.registerDataChangeCallback(t.columnRefreshCallback,[u.dataChange.COLUMN]);t.registerDataChangeCallback(t.processRowsCallback,[u.dataChange.EDIT]);t.registerDataChangeCallback(t.updateFooterHeightCallback,[u.dataChange.OPTIONS]);t.registerStyleComputation({priority:10,func:t.getFooterStyles})};return y.prototype.calcFooterHeight=function(){if(!this.hasFooter())return 0;var n=0;return this.options.showGridFooter&&(n+=this.options.gridFooterHeight),n+this.calcColumnFooterHeight()},y.prototype.calcColumnFooterHeight=function(){var n=0;return this.options.showColumnFooter&&(n+=this.options.columnFooterHeight),n},y.prototype.getFooterStyles=function(){var n=".grid"+this.id+" .ui-grid-footer-aggregates-row { height: "+this.options.columnFooterHeight+"px; }";return n+(" .grid"+this.id+" .ui-grid-footer-info { height: "+this.options.gridFooterHeight+"px; }")},y.prototype.hasFooter=function(){return this.options.showGridFooter||this.options.showColumnFooter},y.prototype.isRTL=function(){return this.rtl},y.prototype.registerColumnBuilder=function(n){this.columnBuilders.push(n)},y.prototype.buildColumnDefsFromData=function(n){this.options.columnDefs=r.getColumnsFromData(n,this.options.excludeProperties)},y.prototype.registerRowBuilder=function(n){this.rowBuilders.push(n)},y.prototype.registerDataChangeCallback=function(n,t,i){var f=r.nextUid(),e,o;return t||(t=[u.dataChange.ALL]),Array.isArray(t)||r.logError("Expected types to be an array or null in registerDataChangeCallback, value passed was: "+t),this.dataChangeCallbacks[f]={callback:n,types:t,_this:i},e=this,o=function(){delete e.dataChangeCallbacks[f]},o},y.prototype.callDataChangeCallbacks=function(n){angular.forEach(this.dataChangeCallbacks,function(t){(t.types.indexOf(u.dataChange.ALL)!==-1||t.types.indexOf(n)!==-1||n===u.dataChange.ALL)&&(t._this?t.callback.apply(t._this,this):t.callback(this))},this)},y.prototype.notifyDataChange=function(n){var t=u.dataChange;n===t.ALL||n===t.COLUMN||n===t.EDIT||n===t.ROW||n===t.OPTIONS?this.callDataChangeCallbacks(n):r.logError("Notified of a data change, but the type was not recognised, so no action taken, type was: "+n)},y.prototype.columnRefreshCallback=function(n){n.buildColumns();n.queueGridRefresh()},y.prototype.processRowsCallback=function(n){n.queueGridRefresh()},y.prototype.updateFooterHeightCallback=function(n){n.footerHeight=n.calcFooterHeight();n.columnFooterHeight=n.calcColumnFooterHeight()},y.prototype.getColumn=function(n){var t=this.columns.filter(function(t){return t.colDef.name===n});return t.length>0?t[0]:null},y.prototype.getColDef=function(n){var t=this.options.columnDefs.filter(function(t){return t.name===n});return t.length>0?t[0]:null},y.prototype.assignTypes=function(){var n=this;n.options.columnDefs.forEach(function(t,i){if(!t.type){var f=new e(t,i,n),u=n.rows.length>0?n.rows[0]:null;t.type=u?r.guessType(n.getCellValue(u,f)):"string"}})},y.prototype.isRowHeaderColumn=function(n){return this.rowHeaderColumns.indexOf(n)!==-1},y.prototype.addRowHeaderColumn=function(n,t){var i=this,u;t===undefined&&(t=0);u=new e(n,r.nextUid(),i);u.isRowHeader=!0;i.isRTL()?(i.createRightContainer(),u.renderContainer="right"):(i.createLeftContainer(),u.renderContainer="left");i.columnBuilders[0](n,u,i.options).then(function(){u.enableFiltering=!1;u.enableSorting=!1;u.enableHiding=!1;u.headerPriority=t;i.rowHeaderColumns.push(u);i.rowHeaderColumns=i.rowHeaderColumns.sort(function(n,t){return n.headerPriority-t.headerPriority});i.buildColumns().then(function(){i.preCompileCellTemplates();i.queueGridRefresh()})})},y.prototype.getOnlyDataColumns=function(){var n=this,t=[];return n.columns.forEach(function(i){n.rowHeaderColumns.indexOf(i)===-1&&t.push(i)}),t},y.prototype.buildColumns=function(t){var h={orderByColumnDefs:!1},o,s,l;angular.extend(h,t);for(var i=this,c=[],f=i.rowHeaderColumns.length,u=0;u<i.columns.length;u++)i.getColDef(i.columns[u].name)||(i.columns.splice(u,1),u--);for(o=i.rowHeaderColumns.length-1;o>=0;o--)i.columns.unshift(i.rowHeaderColumns[o]);if(i.options.columnDefs.forEach(function(n,t){i.preprocessColDef(n);var u=i.getColumn(n.name);u?u.updateColumnDef(n,!1):(u=new e(n,r.nextUid(),i),i.columns.splice(t+f,0,u));i.columnBuilders.forEach(function(t){c.push(t.call(i,n,u,i.options))})}),!!h.orderByColumnDefs){for(s=i.columns.slice(0),l=Math.min(i.options.columnDefs.length,i.columns.length),u=0;u<l;u++)s[u+f]=i.columns[u+f].name!==i.options.columnDefs[u].name?i.getColumn(i.options.columnDefs[u].name):i.columns[u+f];i.columns.length=0;Array.prototype.splice.apply(i.columns,[0,0].concat(s))}return n.all(c).then(function(){i.rows.length>0&&i.assignTypes()})},y.prototype.preCompileCellTemplate=function(n){var f=this,i=n.cellTemplate.replace(u.MODEL_COL_FIELD,f.getQualifiedColField(n)),r;i=i.replace(u.COL_FIELD,"grid.getCellValue(row, col)");r=t(i);n.compiledElementFn=r;n.compiledElementFnDefer&&n.compiledElementFnDefer.resolve(n.compiledElementFn)},y.prototype.preCompileCellTemplates=function(){var n=this;n.columns.forEach(function(t){t.cellTemplate?n.preCompileCellTemplate(t):t.cellTemplatePromise&&t.cellTemplatePromise.then(function(){n.preCompileCellTemplate(t)})})},y.prototype.getQualifiedColField=function(n){return"row.entity."+r.preEval(n.field)},y.prototype.createLeftContainer=function(){this.hasLeftContainer()||(this.renderContainers.left=new l("left",this,{disableColumnOffset:!0}))},y.prototype.createRightContainer=function(){this.hasRightContainer()||(this.renderContainers.right=new l("right",this,{disableColumnOffset:!0}))},y.prototype.hasLeftContainer=function(){return this.renderContainers.left!==undefined},y.prototype.hasRightContainer=function(){return this.renderContainers.right!==undefined},y.prototype.preprocessColDef=function(n){var r=this,t,i;if(!n.field&&!n.name)throw new Error("colDef.name or colDef.field property is required");if(n.name===undefined&&n.field!==undefined){for(t=n.field,i=2;r.getColumn(t);)t=n.field+i.toString(),i++;n.name=t}},y.prototype.newInN=function(n,t,i,r){for(var e,o,u,h,c=this,s=[],f=0;f<t.length;f++){for(e=r?t[f][r]:t[f],o=!1,u=0;u<n.length;u++)if(h=i?n[u][i]:n[u],c.options.rowEquality(e,h)){o=!0;break}o||s.push(e)}return s},y.prototype.getRow=function(n,t){var r=this,i;return t=typeof t=="undefined"?r.rows:t,i=t.filter(function(t){return r.options.rowEquality(t.entity,n)}),i.length>0?i[0]:null},y.prototype.modifyRows=function(t){var i=this,f=i.rows.slice(0),e=i.rowHashMap||i.createRowHashMap(),r,u;return i.rowHashMap=i.createRowHashMap(),i.rows.length=0,t.forEach(function(n,t){var r;r=i.options.enableRowHashing?e.get(n):i.getRow(n,f);r||(r=i.processRowBuilders(new o(n,t,i)));i.rows.push(r);i.rowHashMap.put(n,r)}),i.assignTypes(),r=n.when(i.processRowsProcessors(i.rows)).then(function(n){return i.setVisibleRows(n)}),u=n.when(i.processColumnsProcessors(i.columns)).then(function(n){return i.setVisibleColumns(n)}),n.all([r,u])},y.prototype.addRows=function(n){for(var r,u,t=this,f=t.rows.length,i=0;i<n.length;i++)r=t.processRowBuilders(new o(n[i],i+f,t)),t.options.enableRowHashing&&(u=t.rowHashMap.get(r.entity),u&&(u.row=r)),t.rows.push(r)},y.prototype.processRowBuilders=function(n){var t=this;return t.rowBuilders.forEach(function(i){i.call(t,n,t.options)}),n},y.prototype.registerStyleComputation=function(n){this.styleComputations.push(n)},y.prototype.registerRowsProcessor=function(n,t){if(!angular.isFunction(n))throw"Attempt to register non-function rows processor: "+n;this.rowsProcessors.push({processor:n,priority:t});this.rowsProcessors.sort(function(n,t){return n.priority-t.priority})},y.prototype.removeRowsProcessor=function(n){var t=-1;this.rowsProcessors.forEach(function(i,r){i.processor===n&&(t=r)});t!==-1&&this.rowsProcessors.splice(t,1)},y.prototype.processRowsProcessors=function(t){function f(t,u){var e=i.rowsProcessors[t].processor;return n.when(e.call(i,u,i.columns)).then(function(n){if(!n)throw"Processor at index "+t+" did not return a set of renderable rows";if(!angular.isArray(n))throw"Processor at index "+t+" did not return an array";if(t++,t<=i.rowsProcessors.length-1)return f(t,n);r.resolve(n)})}var i=this,u=t.slice(0),e,r;return i.rowsProcessors.length===0?n.when(u):(e=0,r=n.defer(),f(0,u),r.promise)},y.prototype.setVisibleRows=function(n){var r=this,f,i,u,t,e;for(f in r.renderContainers)i=r.renderContainers[f],i.canvasHeightShouldUpdate=!0,typeof i.visibleRowCache=="undefined"?i.visibleRowCache=[]:i.visibleRowCache.length=0;for(u=0;u<n.length;u++)t=n[u],e=typeof t.renderContainer!="undefined"&&t.renderContainer?t.renderContainer:"body",t.visible&&r.renderContainers[e].visibleRowCache.push(t);r.api.core.raise.rowsRendered(this.api)},y.prototype.registerColumnsProcessor=function(n,t){if(!angular.isFunction(n))throw"Attempt to register non-function rows processor: "+n;this.columnsProcessors.push({processor:n,priority:t});this.columnsProcessors.sort(function(n,t){return n.priority-t.priority})},y.prototype.removeColumnsProcessor=function(n){var t=this.columnsProcessors.indexOf(n);typeof t!="undefined"&&t!==undefined&&this.columnsProcessors.splice(t,1)},y.prototype.processColumnsProcessors=function(t){function f(t,e){var o=i.columnsProcessors[t].processor;return n.when(o.call(i,e,i.rows)).then(function(n){if(!n)throw"Processor at index "+t+" did not return a set of renderable rows";if(!angular.isArray(n))throw"Processor at index "+t+" did not return an array";if(t++,t<=i.columnsProcessors.length-1)return f(t,r);u.resolve(r)})}var i=this,r=t.slice(0),e,u;return i.columnsProcessors.length===0?n.when(r):(e=0,u=n.defer(),f(0,r),u.promise)},y.prototype.setVisibleColumns=function(n){var i=this,u,f,r,t;for(u in i.renderContainers)f=i.renderContainers[u],f.visibleColumnCache.length=0;for(r=0;r<n.length;r++)t=n[r],t.visible&&(typeof t.renderContainer!="undefined"&&t.renderContainer?i.renderContainers[t.renderContainer].visibleColumnCache.push(t):i.renderContainers.body.visibleColumnCache.push(t))},y.prototype.handleWindowResize=function(){var n=this;return n.gridWidth=r.elementWidth(n.element),n.gridHeight=r.elementHeight(n.element),n.queueRefresh()},y.prototype.queueRefresh=function(){var n=this;return n.refreshCanceller&&a.cancel(n.refreshCanceller),n.refreshCanceller=a(function(){n.refreshCanvas(!0)}),n.refreshCanceller.then(function(){n.refreshCanceller=null}),n.refreshCanceller},y.prototype.queueGridRefresh=function(){var n=this;return n.gridRefreshCanceller&&a.cancel(n.gridRefreshCanceller),n.gridRefreshCanceller=a(function(){n.refresh(!0)}),n.gridRefreshCanceller.then(function(){n.gridRefreshCanceller=null}),n.gridRefreshCanceller},y.prototype.updateCanvasHeight=function(){var n=this,t,i;for(t in n.renderContainers)n.renderContainers.hasOwnProperty(t)&&(i=n.renderContainers[t],i.canvasHeightShouldUpdate=!0)},y.prototype.buildStyles=function(){var n=this;n.customStyles="";n.styleComputations.sort(function(n,t){return n.priority===null?1:t.priority===null?-1:n.priority===null&&t.priority===null?0:n.priority-t.priority}).forEach(function(t){var i=t.func.call(n);angular.isString(i)&&(n.customStyles+="\n"+i)})},y.prototype.minColumnsToRender=function(){var t=this,i=this.getViewportWidth(),n=0,r=0;return t.columns.forEach(function(u,f){var o,e;if(r<i)r+=u.drawnWidth,n++;else{for(o=0,e=f;e>=f-n;e--)o+=t.columns[e].drawnWidth;o<i&&n++}}),n},y.prototype.getBodyHeight=function(){return this.getViewportHeight()},y.prototype.getViewportHeight=function(){var n=this,t=this.gridHeight-this.headerHeight-this.footerHeight,i=n.getViewportAdjustment();return t+i.height},y.prototype.getViewportWidth=function(){var n=this,t=this.gridWidth,i=n.getViewportAdjustment();return t+i.width},y.prototype.getHeaderViewportWidth=function(){return this.getViewportWidth()},y.prototype.addVerticalScrollSync=function(n,t){this.verticalScrollSyncCallBackFns[n]=t},y.prototype.addHorizontalScrollSync=function(n,t){this.horizontalScrollSyncCallBackFns[n]=t},y.prototype.scrollContainers=function(n,t){var i,r,e,u,f,o;if(t.y)for(i=["body","left","right"],this.flagScrollingVertically(t),n==="body"?i=["left","right"]:n==="left"?i=["body","right"]:n==="right"&&(i=["body","left"]),r=0;r<i.length;r++)e=i[r],this.verticalScrollSyncCallBackFns[e]&&this.verticalScrollSyncCallBackFns[e](t);if(t.x)for(u=["body","bodyheader","bodyfooter"],this.flagScrollingHorizontally(t),n==="body"&&(u=["bodyheader","bodyfooter"]),f=0;f<u.length;f++)o=u[f],this.horizontalScrollSyncCallBackFns[o]&&this.horizontalScrollSyncCallBackFns[o](t)},y.prototype.registerViewportAdjuster=function(n){this.viewportAdjusters.push(n)},y.prototype.removeViewportAdjuster=function(n){var t=this.viewportAdjusters.indexOf(n);typeof t!="undefined"&&t!==undefined&&this.viewportAdjusters.splice(t,1)},y.prototype.getViewportAdjustment=function(){var t=this,n={height:0,width:0};return t.viewportAdjusters.forEach(function(t){n=t.call(this,n)}),n},y.prototype.getVisibleRowCount=function(){return this.renderContainers.body.visibleRowCache.length},y.prototype.getVisibleRows=function(){return this.renderContainers.body.visibleRowCache},y.prototype.getVisibleColumnCount=function(){return this.renderContainers.body.visibleColumnCache.length},y.prototype.searchRows=function(n){return c.search(this,n,this.columns)},y.prototype.sortByColumn=function(n){return h.sort(this,n,this.columns)},y.prototype.getCellValue=function(n,t){return typeof n.entity["$$"+t.uid]!="undefined"?n.entity["$$"+t.uid].rendered:this.options.flatEntityAccess&&typeof t.field!="undefined"?n.entity[t.field]:(t.cellValueGetterCache||(t.cellValueGetterCache=i(n.getEntityQualifiedColField(t))),t.cellValueGetterCache(n))},y.prototype.getCellDisplayValue=function(n,t){if(!t.cellDisplayGetterCache){var r=t.cellFilter?" | "+t.cellFilter:"";t.cellDisplayGetterCache=typeof n.entity["$$"+t.uid]!="undefined"?i(n.entity["$$"+t.uid].rendered+r):this.options.flatEntityAccess&&typeof t.field!="undefined"?i(n.entity[t.field]+r):i(n.getEntityQualifiedColField(t)+r)}return t.cellDisplayGetterCache(n)},y.prototype.getNextColumnSortPriority=function(){var t=this,n=0;return t.columns.forEach(function(t){t.sort&&t.sort.priority!==undefined&&t.sort.priority>=n&&(n=t.sort.priority+1)}),n},y.prototype.resetColumnSorting=function(n){var t=this;t.columns.forEach(function(t){t===n||t.suppressRemoveSort||(t.sort={})})},y.prototype.getColumnSorting=function(){var i=this,n=[],t;return t=i.columns.slice(0),t.sort(h.prioritySort).forEach(function(t){t.sort&&typeof t.sort.direction!="undefined"&&t.sort.direction&&(t.sort.direction===u.ASC||t.sort.direction===u.DESC)&&n.push(t)}),n},y.prototype.sortColumn=function(t,i,r){var f=this,e=null,u;if(typeof t=="undefined"||!t)throw new Error("No column parameter provided");return typeof i=="boolean"?r=i:e=i,r?t.sort.priority||(t.sort.priority=f.getNextColumnSortPriority()):(f.resetColumnSorting(t),t.sort.priority=undefined,t.sort.priority=f.getNextColumnSortPriority()),e?t.sort.direction=e:(u=t.sortDirectionCycle.indexOf(t.sort.direction?t.sort.direction:null),u=(u+1)%t.sortDirectionCycle.length,t.colDef&&t.suppressRemoveSort&&!t.sortDirectionCycle[u]&&(u=(u+1)%t.sortDirectionCycle.length),t.sortDirectionCycle[u]?t.sort.direction=t.sortDirectionCycle[u]:t.sort={}),f.api.core.raise.sortChanged(f,f.getColumnSorting()),n.when(t)},y.prototype.renderingComplete=function(){if(angular.isFunction(this.options.onRegisterApi))this.options.onRegisterApi(this.api);this.api.core.raise.renderingComplete(this.api)},y.prototype.createRowHashMap=function(){var t=this,n=new p;return n.grid=t,n},y.prototype.refresh=function(t){var i=this,r=i.processRowsProcessors(i.rows).then(function(n){i.setVisibleRows(n)}),u=i.processColumnsProcessors(i.columns).then(function(n){i.setVisibleColumns(n)});return n.all([r,u]).then(function(){i.redrawInPlace(t);i.refreshCanvas(!0)})},y.prototype.refreshRows=function(){var n=this;return n.processRowsProcessors(n.rows).then(function(t){n.setVisibleRows(t);n.redrawInPlace();n.refreshCanvas(!0)})},y.prototype.refreshCanvas=function(t){var f=this,e,u,o,i;t&&f.buildStyles();e=n.defer();u=[];for(o in f.renderContainers)if(f.renderContainers.hasOwnProperty(o)){if(i=f.renderContainers[o],i.canvasWidth===null||isNaN(i.canvasWidth))continue;(i.header||i.headerCanvas)&&(i.explicitHeaderHeight=i.explicitHeaderHeight||null,i.explicitHeaderCanvasHeight=i.explicitHeaderCanvasHeight||null,u.push(i))}return u.length>0?(t&&f.buildStyles(),a(function(){for(var a=!1,s=0,h=0,n,c=function(n,t){return n!==t&&(a=!0),t},l,i=0;i<u.length;i++)if(n=u[i],n.canvasWidth!==null&&!isNaN(n.canvasWidth)){if(n.header){var v=n.headerHeight=c(n.headerHeight,parseInt(r.outerElementHeight(n.header),10)),y=r.getBorderSize(n.header,"top"),p=r.getBorderSize(n.header,"bottom"),o=parseInt(v-y-p,10);o=o<0?0:o;n.innerHeaderHeight=o;!n.explicitHeaderHeight&&o>s&&(s=o)}n.headerCanvas&&(l=n.headerCanvasHeight=c(n.headerCanvasHeight,parseInt(r.outerElementHeight(n.headerCanvas),10)),!n.explicitHeaderCanvasHeight&&l>h&&(h=l))}for(i=0;i<u.length;i++)n=u[i],s>0&&typeof n.headerHeight!="undefined"&&n.headerHeight!==null&&(n.explicitHeaderHeight||n.headerHeight<s)&&(n.explicitHeaderHeight=c(n.explicitHeaderHeight,s)),h>0&&typeof n.headerCanvasHeight!="undefined"&&n.headerCanvasHeight!==null&&(n.explicitHeaderCanvasHeight||n.headerCanvasHeight<h)&&(n.explicitHeaderCanvasHeight=c(n.explicitHeaderCanvasHeight,h));t&&a&&f.buildStyles();e.resolve()})):a(function(){e.resolve()}),e.promise},y.prototype.redrawInPlace=function(n){var i=this,r,t;for(r in i.renderContainers)t=i.renderContainers[r],n?(t.adjustRows(t.prevScrollTop,null),t.adjustColumns(t.prevScrollLeft,null)):(t.adjustRows(null,t.prevScrolltopPercentage),t.adjustColumns(null,t.prevScrollleftPercentage))},y.prototype.hasLeftContainerColumns=function(){return this.hasLeftContainer()&&this.renderContainers.left.renderedColumns.length>0},y.prototype.hasRightContainerColumns=function(){return this.hasRightContainer()&&this.renderContainers.right.renderedColumns.length>0},y.prototype.scrollToIfNecessary=function(t,i){var r=this,f=new v(r,"uiGrid.scrollToIfNecessary"),rt=r.renderContainers.body.visibleRowCache,w=r.renderContainers.body.visibleColumnCache,h=r.renderContainers.body.prevScrollTop+r.headerHeight,c,l,a,tt,s,y,u,p,it;h=h<0?0:h;var b=r.renderContainers.body.prevScrollLeft,k=r.renderContainers.body.prevScrollTop+r.gridHeight-r.renderContainers.body.headerHeight-r.footerHeight-r.scrollbarWidth,d=r.renderContainers.body.prevScrollLeft+Math.ceil(r.renderContainers.body.getViewportWidth());if(t!==null){var ut=rt.indexOf(t),g=r.renderContainers.body.getCanvasHeight()-r.renderContainers.body.getViewportHeight(),e=ut*r.options.rowHeight+r.headerHeight;e=e<0?0:e;e<h?(c=r.renderContainers.body.prevScrollTop-(h-e),l=c/g,f.y={percentage:l}):e>k&&(c=e-k+r.renderContainers.body.prevScrollTop,l=c/g,f.y={percentage:l})}if(i!==null){var ft=w.indexOf(i),nt=r.renderContainers.body.getCanvasWidth()-r.renderContainers.body.getViewportWidth(),o=0;for(a=0;a<ft;a++)tt=w[a],o+=tt.drawnWidth;o=o<0?0:o;s=o+i.drawnWidth;s=s<0?0:s;o<b?(y=r.renderContainers.body.prevScrollLeft-(b-o),u=y/nt,u=u>1?1:u,f.x={percentage:u}):s>d&&(y=s-d+r.renderContainers.body.prevScrollLeft,u=y/nt,u=u>1?1:u,f.x={percentage:u})}return p=n.defer(),f.y||f.x?(f.withDelay=!1,r.scrollContainers("",f),it=r.api.core.on.scrollEnd(null,function(){p.resolve(f);it()})):p.resolve(),p.promise},y.prototype.scrollTo=function(n,t){var i=null,r=null;return n!==null&&typeof n!="undefined"&&(i=this.getRow(n)),t!==null&&typeof t!="undefined"&&(r=this.getColumn(t.name?t.name:t.field)),this.scrollToIfNecessary(i,r)},y.prototype.clearAllFilters=function(n,t,i){return n===undefined&&(n=!0),t===undefined&&(t=!1),i===undefined&&(i=!1),this.columns.forEach(function(n){n.filters.forEach(function(n){n.term=undefined;t&&(n.condition=undefined);i&&(n.flags=undefined)})}),n?this.refreshRows():void 0},p.prototype={put:function(n,t){this[this.grid.options.rowIdentity(n)]=t},get:function(n){return this[this.grid.options.rowIdentity(n)]},remove:function(n){var t=this[n=this.grid.options.rowIdentity(n)];return delete this[n],t}},y}])}(),function(){angular.module("ui.grid").factory("GridApi",["$q","$rootScope","gridUtil","uiGridConstants","GridRow","uiGridGridMenuService",function(n,t,i,r,u){function e(n,i,r,u){return t.$on(n,function(){var n=Array.prototype.slice.call(arguments);n.splice(0,1);i.apply(u?u:r.api,n)})}var f=function(n){this.grid=n;this.listeners=[];this.registerEvent("core","renderingComplete");this.registerEvent("core","filterChanged");this.registerMethod("core","setRowInvisible",u.prototype.setRowInvisible);this.registerMethod("core","clearRowInvisible",u.prototype.clearRowInvisible);this.registerMethod("core","getVisibleRows",this.grid.getVisibleRows);this.registerEvent("core","rowsVisibleChanged");this.registerEvent("core","rowsRendered");this.registerEvent("core","scrollBegin");this.registerEvent("core","scrollEnd");this.registerEvent("core","canvasHeightChanged");this.registerEvent("core","gridDimensionChanged")};return f.prototype.suppressEvents=function(n,t){var i=this,u=angular.isArray(n)?n:[n],r=i.listeners.filter(function(n){return u.some(function(t){return n.handler===t})});r.forEach(function(n){n.dereg()});t();r.forEach(function(n){n.dereg=e(n.eventId,n.handler,i.grid,n._this)})},f.prototype.registerEvent=function(n,r){var u=this,f,o;u[n]||(u[n]={});f=u[n];f.on||(f.on={},f.raise={});o=u.grid.id+n+r;f.raise[r]=function(){t.$emit.apply(t,[o].concat(Array.prototype.slice.call(arguments)))};f.on[r]=function(t,f,s){var l,h,c;if(t!==null&&typeof t.$on=="undefined"){i.logError("asked to listen on "+n+".on."+r+" but scope wasn't passed in the input parameters.  It is legitimate to pass null, but you've passed something else, so you probably forgot to provide scope rather than did it deliberately, not registering");return}return l=e(o,f,u.grid,s),h={handler:f,dereg:l,eventId:o,scope:t,_this:s},u.listeners.push(h),c=function(){h.dereg();var n=u.listeners.indexOf(h);u.listeners.splice(n,1)},t&&t.$on("$destroy",function(){c()}),c}},f.prototype.registerEventsFromObject=function(n){var i=this,t=[];angular.forEach(n,function(n,i){var r={name:i,events:[]};angular.forEach(n,function(n,t){r.events.push(t)});t.push(r)});t.forEach(function(n){n.events.forEach(function(t){i.registerEvent(n.name,t)})})},f.prototype.registerMethod=function(n,t,r,u){this[n]||(this[n]={});var f=this[n];f[t]=i.createBoundedWrapper(u||this.grid,r)},f.prototype.registerMethodsFromObject=function(n,t){var r=this,i=[];angular.forEach(n,function(n,t){var r={name:t,methods:[]};angular.forEach(n,function(n,t){r.methods.push({name:t,fn:n})});i.push(r)});i.forEach(function(n){n.methods.forEach(function(i){r.registerMethod(n.name,i.name,i.fn,t)})})},f}])}(),function(){angular.module("ui.grid").factory("GridColumn",["gridUtil","uiGridConstants","i18nService",function(n,t,i){function r(n,i,r){var u=this;u.grid=r;u.uid=i;u.updateColumnDef(n,!0);u.aggregationValue=undefined;u.updateAggregationValue=function(){if(!u.aggregationType){u.aggregationValue=undefined;return}var n=0,r=u.grid.getVisibleRows(),i=function(){var n=[];return r.forEach(function(t){var r=u.grid.getCellValue(t,u),i=Number(r);isNaN(i)||n.push(i)}),n};angular.isFunction(u.aggregationType)?u.aggregationValue=u.aggregationType(r,u):u.aggregationType===t.aggregationTypes.count?u.aggregationValue=u.grid.getVisibleRowCount():u.aggregationType===t.aggregationTypes.sum?(i().forEach(function(t){n+=t}),u.aggregationValue=n):u.aggregationType===t.aggregationTypes.avg?(i().forEach(function(t){n+=t}),n=n/i().length,u.aggregationValue=n):u.aggregationValue=u.aggregationType===t.aggregationTypes.min?Math.min.apply(null,i()):u.aggregationType===t.aggregationTypes.max?Math.max.apply(null,i()):" "};this.getAggregationValue=function(){return u.aggregationValue}}return r.prototype.hideColumn=function(){this.colDef.visible=!1},r.prototype.setPropertyOrDefault=function(n,t,i){var r=this;r[t]=typeof n[t]!="undefined"&&n[t]?n[t]:typeof r[t]!="undefined"?r[t]:i?i:{}},r.prototype.updateColumnDef=function(i,r){var u=this,e,o,s,h,f;if(u.colDef=i,i.name===undefined)throw new Error("colDef.name is required for column at index "+u.grid.options.columnDefs.indexOf(i));if(u.displayName=i.displayName===undefined?n.readableColumnName(i.name):i.displayName,!angular.isNumber(u.width)||!u.hasCustomWidth||i.allowCustomWidthOverride)if(e=i.width,o="Cannot parse column width '"+e+"' for column named '"+i.name+"'",u.hasCustomWidth=!1,angular.isString(e)||angular.isNumber(e))if(angular.isString(e))if(n.endsWith(e,"%")){if(s=e.replace(/%/g,""),h=parseInt(s,10),isNaN(h))throw new Error(o);u.width=e}else if(e.match(/^(\d+)$/))u.width=parseInt(e.match(/^(\d+)$/)[1],10);else if(e.match(/^\*+$/))u.width=e;else throw new Error(o);else u.width=e;else u.width="*";["minWidth","maxWidth"].forEach(function(n){var t=i[n],r="Cannot parse column "+n+" '"+t+"' for column named '"+i.name+"'";if(angular.isString(t)||angular.isNumber(t))if(angular.isString(t))if(t.match(/^(\d+)$/))u[n]=parseInt(t.match(/^(\d+)$/)[1],10);else throw new Error(r);else u[n]=t;else u[n]=n==="minWidth"?30:9e3});u.field=i.field===undefined?i.name:i.field;typeof u.field!="string"&&n.logError("Field is not a string, this is likely to break the code, Field is: "+u.field);u.name=i.name;u.displayName=i.displayName===undefined?n.readableColumnName(i.name):i.displayName;u.aggregationType=angular.isDefined(i.aggregationType)?i.aggregationType:null;u.footerCellTemplate=angular.isDefined(i.footerCellTemplate)?i.footerCellTemplate:null;u.cellTooltip=typeof i.cellTooltip=="undefined"||i.cellTooltip===!1?!1:i.cellTooltip===!0?function(n,t){return u.grid.getCellValue(n,t)}:typeof i.cellTooltip=="function"?i.cellTooltip:function(n,t){return t.colDef.cellTooltip};u.headerTooltip=typeof i.headerTooltip=="undefined"||i.headerTooltip===!1?!1:i.headerTooltip===!0?function(n){return n.displayName}:typeof i.headerTooltip=="function"?i.headerTooltip:function(n){return n.colDef.headerTooltip};u.footerCellClass=i.footerCellClass;u.cellClass=i.cellClass;u.headerCellClass=i.headerCellClass;u.cellFilter=i.cellFilter?i.cellFilter:"";u.sortCellFiltered=i.sortCellFiltered?!0:!1;u.filterCellFiltered=i.filterCellFiltered?!0:!1;u.headerCellFilter=i.headerCellFilter?i.headerCellFilter:"";u.footerCellFilter=i.footerCellFilter?i.footerCellFilter:"";u.visible=n.isNullOrUndefined(i.visible)||i.visible;u.headerClass=i.headerClass;u.enableSorting=typeof i.enableSorting!="undefined"?i.enableSorting:!0;u.sortingAlgorithm=i.sortingAlgorithm;u.sortDirectionCycle=typeof i.sortDirectionCycle!="undefined"?i.sortDirectionCycle:[null,t.ASC,t.DESC];typeof u.suppressRemoveSort=="undefined"&&(u.suppressRemoveSort=typeof i.suppressRemoveSort!="undefined"?i.suppressRemoveSort:!1);u.enableFiltering=typeof i.enableFiltering!="undefined"?i.enableFiltering:!0;u.setPropertyOrDefault(i,"menuItems",[]);r&&u.setPropertyOrDefault(i,"sort");f=[];i.filter?f.push(i.filter):i.filters?f=i.filters:f.push({});r?(u.setPropertyOrDefault(i,"filter"),u.setPropertyOrDefault(i,"filters",f)):u.filters.length===f.length&&u.filters.forEach(function(n,t){typeof f[t].placeholder!="undefined"&&(n.placeholder=f[t].placeholder);typeof f[t].ariaLabel!="undefined"&&(n.ariaLabel=f[t].ariaLabel);typeof f[t].flags!="undefined"&&(n.flags=f[t].flags);typeof f[t].type!="undefined"&&(n.type=f[t].type);typeof f[t].selectOptions!="undefined"&&(n.selectOptions=f[t].selectOptions)})},r.prototype.unsort=function(){this.sort={};this.grid.api.core.raise.sortChanged(this.grid,this.grid.getColumnSorting())},r.prototype.getColClass=function(n){var i=t.COL_CLASS_PREFIX+this.uid;return n?"."+i:i},r.prototype.isPinnedLeft=function(){return this.renderContainer==="left"},r.prototype.isPinnedRight=function(){return this.renderContainer==="right"},r.prototype.getColClassDefinition=function(){return" .grid"+this.grid.id+" "+this.getColClass(!0)+" { min-width: "+this.drawnWidth+"px; max-width: "+this.drawnWidth+"px; }"},r.prototype.getRenderContainer=function(){var t=this,n=t.renderContainer;return(n===null||n===""||n===undefined)&&(n="body"),t.grid.renderContainers[n]},r.prototype.showColumn=function(){this.colDef.visible=!0},r.prototype.getAggregationText=function(){var n=this;if(n.colDef.aggregationHideLabel)return"";if(n.colDef.aggregationLabel)return n.colDef.aggregationLabel;switch(n.colDef.aggregationType){case t.aggregationTypes.count:return i.getSafeText("aggregation.count");case t.aggregationTypes.sum:return i.getSafeText("aggregation.sum");case t.aggregationTypes.avg:return i.getSafeText("aggregation.avg");case t.aggregationTypes.min:return i.getSafeText("aggregation.min");case t.aggregationTypes.max:return i.getSafeText("aggregation.max");default:return""}},r.prototype.getCellTemplate=function(){var n=this;return n.cellTemplatePromise},r.prototype.getCompiledElementFn=function(){var n=this;return n.compiledElementFnDefer.promise},r}])}(),function(){angular.module("ui.grid").factory("GridOptions",["gridUtil","uiGridConstants",function(n,t){return{initialize:function(i){return i.onRegisterApi=i.onRegisterApi||angular.noop(),i.data=i.data||[],i.columnDefs=i.columnDefs||[],i.excludeProperties=i.excludeProperties||["$$hashKey"],i.enableRowHashing=i.enableRowHashing!==!1,i.rowIdentity=i.rowIdentity||function(t){return n.hashKey(t)},i.getRowIdentity=i.getRowIdentity||function(n){return n.$$hashKey},i.flatEntityAccess=i.flatEntityAccess===!0,i.showHeader=typeof i.showHeader!="undefined"?i.showHeader:!0,i.headerRowHeight=i.showHeader?typeof i.headerRowHeight!="undefined"?i.headerRowHeight:30:0,i.rowHeight=i.rowHeight||30,i.minRowsToShow=typeof i.minRowsToShow!="undefined"?i.minRowsToShow:10,i.showGridFooter=i.showGridFooter===!0,i.showColumnFooter=i.showColumnFooter===!0,i.columnFooterHeight=typeof i.columnFooterHeight!="undefined"?i.columnFooterHeight:30,i.gridFooterHeight=typeof i.gridFooterHeight!="undefined"?i.gridFooterHeight:30,i.columnWidth=typeof i.columnWidth!="undefined"?i.columnWidth:50,i.maxVisibleColumnCount=typeof i.maxVisibleColumnCount!="undefined"?i.maxVisibleColumnCount:200,i.virtualizationThreshold=typeof i.virtualizationThreshold!="undefined"?i.virtualizationThreshold:20,i.columnVirtualizationThreshold=typeof i.columnVirtualizationThreshold!="undefined"?i.columnVirtualizationThreshold:10,i.excessRows=typeof i.excessRows!="undefined"?i.excessRows:4,i.scrollThreshold=typeof i.scrollThreshold!="undefined"?i.scrollThreshold:4,i.excessColumns=typeof i.excessColumns!="undefined"?i.excessColumns:4,i.horizontalScrollThreshold=typeof i.horizontalScrollThreshold!="undefined"?i.horizontalScrollThreshold:2,i.aggregationCalcThrottle=typeof i.aggregationCalcThrottle!="undefined"?i.aggregationCalcThrottle:500,i.wheelScrollThrottle=typeof i.wheelScrollThrottle!="undefined"?i.wheelScrollThrottle:70,i.scrollDebounce=typeof i.scrollDebounce!="undefined"?i.scrollDebounce:300,i.enableSorting=i.enableSorting!==!1,i.enableFiltering=i.enableFiltering===!0,i.enableColumnMenus=i.enableColumnMenus!==!1,i.enableVerticalScrollbar=typeof i.enableVerticalScrollbar!="undefined"?i.enableVerticalScrollbar:t.scrollbars.ALWAYS,i.enableHorizontalScrollbar=typeof i.enableHorizontalScrollbar!="undefined"?i.enableHorizontalScrollbar:t.scrollbars.ALWAYS,i.enableMinHeightCheck=i.enableMinHeightCheck!==!1,i.minimumColumnSize=typeof i.minimumColumnSize!="undefined"?i.minimumColumnSize:10,i.rowEquality=i.rowEquality||function(n,t){return n===t},i.headerTemplate=i.headerTemplate||null,i.footerTemplate=i.footerTemplate||"ui-grid/ui-grid-footer",i.gridFooterTemplate=i.gridFooterTemplate||"ui-grid/ui-grid-grid-footer",i.rowTemplate=i.rowTemplate||"ui-grid/ui-grid-row",i.appScopeProvider=i.appScopeProvider||null,i}}}])}(),function(){angular.module("ui.grid").factory("GridRenderContainer",["gridUtil","uiGridConstants",function(n,t){function i(n,t,i){var r=this;r.name=n;r.grid=t;r.visibleRowCache=[];r.visibleColumnCache=[];r.renderedRows=[];r.renderedColumns=[];r.prevScrollTop=0;r.prevScrolltopPercentage=0;r.prevRowScrollIndex=0;r.prevScrollLeft=0;r.prevScrollleftPercentage=0;r.prevColumnScrollIndex=0;r.columnStyles="";r.viewportAdjusters=[];r.hasHScrollbar=!1;r.hasVScrollbar=!1;r.canvasHeightShouldUpdate=!0;r.$$canvasHeight=0;i&&angular.isObject(i)&&angular.extend(r,i);t.registerStyleComputation({priority:5,func:function(){return r.updateColumnWidths(),r.columnStyles}})}return i.prototype.reset=function(){this.visibleColumnCache.length=0;this.visibleRowCache.length=0;this.renderedRows.length=0;this.renderedColumns.length=0},i.prototype.containsColumn=function(n){return this.visibleColumnCache.indexOf(n)!==-1},i.prototype.minRowsToRender=function(){for(var n=this,i=0,r=0,u=n.getViewportHeight(),t=n.visibleRowCache.length-1;r<u&&t>=0;t--)r+=n.visibleRowCache[t].height,i++;return i},i.prototype.minColumnsToRender=function(){for(var u,f,t,i=this,e=this.getViewportWidth(),r=0,o=0,n=0;n<i.visibleColumnCache.length;n++)if(u=i.visibleColumnCache[n],o<e)o+=u.drawnWidth?u.drawnWidth:0,r++;else{for(f=0,t=n;t>=n-r;t--)f+=i.visibleColumnCache[t].drawnWidth?i.visibleColumnCache[t].drawnWidth:0;f<e&&r++}return r},i.prototype.getVisibleRowCount=function(){return this.visibleRowCache.length},i.prototype.registerViewportAdjuster=function(n){this.viewportAdjusters.push(n)},i.prototype.removeViewportAdjuster=function(n){var t=this.viewportAdjusters.indexOf(n);t>-1&&this.viewportAdjusters.splice(t,1)},i.prototype.getViewportAdjustment=function(){var t=this,n={height:0,width:0};return t.viewportAdjusters.forEach(function(t){n=t.call(this,n)}),n},i.prototype.getMargin=function(n){var i=this,t=0;return i.viewportAdjusters.forEach(function(i){var r=i.call(this,{height:0,width:0});r.side&&r.side===n&&(t+=r.width*-1)}),t},i.prototype.getViewportHeight=function(){var n=this,t=n.headerHeight?n.headerHeight:n.grid.headerHeight,i=n.grid.gridHeight-t-n.grid.footerHeight,r=n.getViewportAdjustment();return i+r.height},i.prototype.getViewportWidth=function(){var n=this,t=n.grid.gridWidth,i=n.getViewportAdjustment();return t+i.width},i.prototype.getHeaderViewportWidth=function(){var n=this;return this.getViewportWidth()},i.prototype.getCanvasHeight=function(){var n=this,t;return n.canvasHeightShouldUpdate?(t=n.$$canvasHeight,n.$$canvasHeight=0,n.visibleRowCache.forEach(function(t){n.$$canvasHeight+=t.height}),n.canvasHeightShouldUpdate=!1,n.grid.api.core.raise.canvasHeightChanged(t,n.$$canvasHeight),n.$$canvasHeight):n.$$canvasHeight},i.prototype.getVerticalScrollLength=function(){return this.getCanvasHeight()-this.getViewportHeight()+this.grid.scrollbarHeight},i.prototype.getHorizontalScrollLength=function(){return this.getCanvasWidth()-this.getViewportWidth()+this.grid.scrollbarWidth},i.prototype.getCanvasWidth=function(){var n=this;return n.canvasWidth},i.prototype.setRenderedRows=function(n){this.renderedRows.length=n.length;for(var t=0;t<n.length;t++)this.renderedRows[t]=n[t]},i.prototype.setRenderedColumns=function(n){var i=this,t;for(this.renderedColumns.length=n.length,t=0;t<n.length;t++)this.renderedColumns[t]=n[t];this.updateColumnOffset()},i.prototype.updateColumnOffset=function(){for(var t=0,n=0;n<this.currentFirstColumn;n++)t+=this.visibleColumnCache[n].drawnWidth;this.columnOffset=t},i.prototype.scrollVertical=function(n){var i=-1,r,u;if(n!==this.prevScrollTop)return r=n-this.prevScrollTop,r>0&&(this.grid.scrollDirection=t.scrollDirection.DOWN),r<0&&(this.grid.scrollDirection=t.scrollDirection.UP),u=this.getVerticalScrollLength(),i=n/u,i>1&&(i=1),i<0&&(i=0),this.adjustScrollVertical(n,i),i},i.prototype.scrollHorizontal=function(n){var i=-1,r,u;if(n!==this.prevScrollLeft)return r=n-this.prevScrollLeft,r>0&&(this.grid.scrollDirection=t.scrollDirection.RIGHT),r<0&&(this.grid.scrollDirection=t.scrollDirection.LEFT),u=this.getHorizontalScrollLength(),i=u!==0?n/u:0,this.adjustScrollHorizontal(n,i),i},i.prototype.adjustScrollVertical=function(n,t,i){(this.prevScrollTop!==n||i)&&((typeof n=="undefined"||n===undefined||n===null)&&(n=(this.getCanvasHeight()-this.getViewportHeight())*t),this.adjustRows(n,t,!1),this.prevScrollTop=n,this.prevScrolltopPercentage=t,this.grid.queueRefresh())},i.prototype.adjustScrollHorizontal=function(n,t,i){(this.prevScrollLeft!==n||i)&&((typeof n=="undefined"||n===undefined||n===null)&&(n=(this.getCanvasWidth()-this.getViewportWidth())*t),this.adjustColumns(n,t),this.prevScrollLeft=n,this.prevScrollleftPercentage=t,this.grid.queueRefresh())},i.prototype.adjustRows=function(n,t){var i=this,e=i.minRowsToRender(),o=i.visibleRowCache,u=o.length-e,r,f,s,h,c;if((typeof t=="undefined"||t===null)&&n&&(t=n/i.getVerticalScrollLength()),r=Math.ceil(Math.min(u,u*t)),r>u&&(r=u),f=[],o.length>i.grid.options.virtualizationThreshold){if(!(typeof n=="undefined"||n===null)){if(!i.grid.suppressParentScrollDown&&i.prevScrollTop<n&&r<i.prevRowScrollIndex+i.grid.options.scrollThreshold&&r<u)return;if(!i.grid.suppressParentScrollUp&&i.prevScrollTop>n&&r>i.prevRowScrollIndex-i.grid.options.scrollThreshold&&r<u)return}s={};h={};s=Math.max(0,r-i.grid.options.excessRows);h=Math.min(o.length,r+e+i.grid.options.excessRows);f=[s,h]}else c=i.visibleRowCache.length,f=[0,Math.max(c,e+i.grid.options.excessRows)];i.updateViewableRowRange(f);i.prevRowScrollIndex=r},i.prototype.adjustColumns=function(n,t){var i=this,e=i.minColumnsToRender(),o=i.visibleColumnCache,u=o.length-e,r,f,s,h,c;(typeof t=="undefined"||t===null)&&n&&(t=n/i.getHorizontalScrollLength());r=Math.ceil(Math.min(u,u*t));r>u&&(r=u);f=[];o.length>i.grid.options.columnVirtualizationThreshold&&i.getCanvasWidth()>i.getViewportWidth()?(s=Math.max(0,r-i.grid.options.excessColumns),h=Math.min(o.length,r+e+i.grid.options.excessColumns),f=[s,h]):(c=i.visibleColumnCache.length,f=[0,Math.max(c,e+i.grid.options.excessColumns)]);i.updateViewableColumnRange(f);i.prevColumnScrollIndex=r},i.prototype.updateViewableRowRange=function(n){var t=this.visibleRowCache.slice(n[0],n[1]);this.currentTopRow=n[0];this.setRenderedRows(t)},i.prototype.updateViewableColumnRange=function(n){var t=this.visibleColumnCache.slice(n[0],n[1]);this.currentFirstColumn=n[0];this.setRenderedColumns(t)},i.prototype.headerCellWrapperStyle=function(){var n=this,t;return n.currentFirstColumn!==0?(t=n.columnOffset,n.grid.isRTL()?{"margin-right":t+"px"}:{"margin-left":t+"px"}):null},i.prototype.updateColumnWidths=function(){var r=this,u=[],h=0,t=0,c="",f=r.grid.getViewportWidth()-r.grid.scrollbarWidth,e=[],a,v,y,o,s;angular.forEach(r.grid.renderContainers,function(n){e=e.concat(n.visibleColumnCache)});e.forEach(function(i){var r=0;i.visible&&(angular.isNumber(i.width)?(r=parseInt(i.width,10),t=t+r,i.drawnWidth=r):n.endsWith(i.width,"%")?(r=parseInt(parseInt(i.width.replace(/%/g,""),10)/100*f),r>i.maxWidth&&(r=i.maxWidth),r<i.minWidth&&(r=i.minWidth),t=t+r,i.drawnWidth=r):angular.isString(i.width)&&i.width.indexOf("*")!==-1&&(h=h+i.width.length,u.push(i)))});a=f-t;u.length>0&&(v=a/h,u.forEach(function(n){var i=parseInt(n.width.length*v,10);i>n.maxWidth&&(i=n.maxWidth);i<n.minWidth&&(i=n.minWidth);t=t+i;n.drawnWidth=i}));for(var p=function(n){n.drawnWidth<n.maxWidth&&l>0&&(n.drawnWidth++,t++,l--,i=!0)},l=f-t,i=!0;l>0&&i;)i=!1,u.forEach(p);for(y=function(n){n.drawnWidth>n.minWidth&&o>0&&(n.drawnWidth--,t--,o--,i=!0)},o=t-f,i=!0;o>0&&i;)i=!1,u.forEach(y);s=0;r.visibleColumnCache.forEach(function(n){n.visible&&(s=s+n.drawnWidth)});e.forEach(function(n){c=c+n.getColClassDefinition()});r.canvasWidth=s;this.columnStyles=c},i.prototype.needsHScrollbarPlaceholder=function(){return this.grid.options.enableHorizontalScrollbar&&!this.hasHScrollbar&&!this.grid.disableScrolling},i.prototype.getViewportStyle=function(){var n=this,i={};return(n.hasHScrollbar=!1,n.hasVScrollbar=!1,n.grid.disableScrolling)?(i["overflow-x"]="hidden",i["overflow-y"]="hidden",i):(n.name==="body"?(n.hasHScrollbar=n.grid.options.enableHorizontalScrollbar!==t.scrollbars.NEVER,n.grid.isRTL()?n.grid.hasLeftContainerColumns()||(n.hasVScrollbar=n.grid.options.enableVerticalScrollbar!==t.scrollbars.NEVER):n.grid.hasRightContainerColumns()||(n.hasVScrollbar=n.grid.options.enableVerticalScrollbar!==t.scrollbars.NEVER)):n.hasVScrollbar=n.name==="left"?n.grid.isRTL()?n.grid.options.enableVerticalScrollbar!==t.scrollbars.NEVER:!1:n.grid.isRTL()?!1:n.grid.options.enableVerticalScrollbar!==t.scrollbars.NEVER,i["overflow-x"]=n.hasHScrollbar?"scroll":"hidden",i["overflow-y"]=n.hasVScrollbar?"scroll":"hidden",i)},i}])}(),function(){angular.module("ui.grid").factory("GridRow",["gridUtil",function(n){function t(t,i,r){this.grid=r;this.entity=t;this.uid=n.nextUid();this.visible=!0;this.$$height=r.options.rowHeight}return Object.defineProperty(t.prototype,"height",{get:function(){return this.$$height},set:function(n){n!==this.$$height&&(this.grid.updateCanvasHeight(),this.$$height=n)}}),t.prototype.getQualifiedColField=function(n){return"row."+this.getEntityQualifiedColField(n)},t.prototype.getEntityQualifiedColField=function(t){return n.preEval("entity."+t.field)},t.prototype.setRowInvisible=function(n){n&&n.setThisRowInvisible&&n.setThisRowInvisible("user")},t.prototype.clearRowInvisible=function(n){n&&n.clearThisRowInvisible&&n.clearThisRowInvisible("user")},t.prototype.setThisRowInvisible=function(n,t){this.invisibleReason||(this.invisibleReason={});this.invisibleReason[n]=!0;this.evaluateRowVisibility(t)},t.prototype.clearThisRowInvisible=function(n,t){typeof this.invisibleReason!="undefined"&&delete this.invisibleReason[n];this.evaluateRowVisibility(t)},t.prototype.evaluateRowVisibility=function(n){var t=!0;typeof this.invisibleReason!="undefined"&&angular.forEach(this.invisibleReason,function(n){n&&(t=!1)});(typeof this.visible=="undefined"||this.visible!==t)&&(this.visible=t,n||(this.grid.queueGridRefresh(),this.grid.api.core.raise.rowsVisibleChanged(this)))},t}])}(),function(){"use strict";angular.module("ui.grid").factory("GridRowColumn",["$parse","$filter",function(n){var t=function t(n,i){if(!(this instanceof t))throw"Using GridRowColumn as a function insead of as a constructor. Must be called with `new` keyword";this.row=n;this.col=i};return t.prototype.getIntersectionValueRaw=function(){var t=n(this.row.getEntityQualifiedColField(this.col)),i=this.row;return t(i)},t}])}(),function(){angular.module("ui.grid").factory("ScrollEvent",["gridUtil",function(n){function t(t,i,r,u){var f=this;if(!t)throw new Error("grid argument is required");f.grid=t;f.source=u;f.withDelay=!0;f.sourceRowContainer=i;f.sourceColContainer=r;f.newScrollLeft=null;f.newScrollTop=null;f.x=null;f.y=null;f.verticalScrollLength=-9999999;f.horizontalScrollLength=-999999;f.fireThrottledScrollingEvent=n.throttle(function(n){f.grid.scrollContainers(n,f)},f.grid.options.wheelScrollThrottle,{trailing:!0})}return t.prototype.getNewScrollLeft=function(t,i){var r=this,u,e,f;if(!r.newScrollLeft){if(u=t.getCanvasWidth()-t.getViewportWidth(),e=n.normalizeScrollLeft(i,r.grid),typeof r.x.percentage!="undefined"&&r.x.percentage!==undefined)f=r.x.percentage;else if(typeof r.x.pixels!="undefined"&&r.x.pixels!==undefined)f=r.x.percentage=(e+r.x.pixels)/u;else throw new Error("No percentage or pixel value provided for scroll event X axis");return Math.max(0,f*u)}return r.newScrollLeft},t.prototype.getNewScrollTop=function(n,t){var i=this,r,f,u;if(!i.newScrollTop){if(r=n.getVerticalScrollLength(),f=t[0].scrollTop,typeof i.y.percentage!="undefined"&&i.y.percentage!==undefined)u=i.y.percentage;else if(typeof i.y.pixels!="undefined"&&i.y.pixels!==undefined)u=i.y.percentage=(f+i.y.pixels)/r;else throw new Error("No percentage or pixel value provided for scroll event Y axis");return Math.max(0,u*r)}return i.newScrollTop},t.prototype.atTop=function(n){return this.y&&(this.y.percentage===0||this.verticalScrollLength<0)&&n===0},t.prototype.atBottom=function(n){return this.y&&(this.y.percentage===1||this.verticalScrollLength===0)&&n>0},t.prototype.atLeft=function(n){return this.x&&(this.x.percentage===0||this.horizontalScrollLength<0)&&n===0},t.prototype.atRight=function(n){return this.x&&(this.x.percentage===1||this.horizontalScrollLength===0)&&n>0},t.Sources={ViewPortScroll:"ViewPortScroll",RenderContainerMouseWheel:"RenderContainerMouseWheel",RenderContainerTouchMove:"RenderContainerTouchMove",Other:99},t}])}(),function(){"use strict";angular.module("ui.grid").service("gridClassFactory",["gridUtil","$q","$compile","$templateCache","uiGridConstants","Grid","GridColumn","GridRow",function(n,t,i,r,u,f){var e={createGrid:function(r){var u,o;return r=typeof r!="undefined"?r:{},r.id=n.newId(),u=new f(r),u.options.rowTemplate&&(o=t.defer(),u.getRowTemplateFn=o.promise,n.getTemplate(u.options.rowTemplate).then(function(n){var t=i(n);o.resolve(t)},function(){throw new Error("Couldn't fetch/use row template '"+u.options.rowTemplate+"'");})),u.registerColumnBuilder(e.defaultColumnBuilder),u.registerRowBuilder(e.rowTemplateAssigner),u.registerRowsProcessor(function(n){return n.forEach(function(n){n.evaluateRowVisibility(!0)},50),n}),u.registerColumnsProcessor(function(n){return n.forEach(function(n){n.visible=angular.isDefined(n.colDef.visible)?n.colDef.visible:!0}),n},50),u.registerRowsProcessor(u.searchRows,100),u.options.externalSort&&angular.isFunction(u.options.externalSort)?u.registerRowsProcessor(u.options.externalSort,200):u.registerRowsProcessor(u.sortByColumn,200),u},defaultColumnBuilder:function(i,r){var e=[],f=function(t,f,o,s,h){r[f]=i[t]?i[t]:o;e.push(n.getTemplate(r[f]).then(function(n){angular.isFunction(n)&&(n=n());var i=h==="cellTooltip"?"col.cellTooltip(row,col)":"col.headerTooltip(col)";h&&r[h]===!1?n=n.replace(u.TOOLTIP,""):h&&r[h]&&(n=n.replace(u.TOOLTIP,'title="{{'+i+' CUSTOM_FILTERS }}"'));r[t]=s?n.replace(u.CUSTOM_FILTERS,function(){return r[s]?"|"+r[s]:""}):n},function(){throw new Error("Couldn't fetch/use colDef."+t+" '"+i[t]+"'");}))};return f("cellTemplate","providedCellTemplate","ui-grid/uiGridCell","cellFilter","cellTooltip"),r.cellTemplatePromise=e[0],f("headerCellTemplate","providedHeaderCellTemplate","ui-grid/uiGridHeaderCell","headerCellFilter","headerTooltip"),f("footerCellTemplate","providedFooterCellTemplate","ui-grid/uiGridFooterCell","footerCellFilter"),f("filterHeaderTemplate","providedFilterHeaderTemplate","ui-grid/ui-grid-filter"),r.compiledElementFnDefer=t.defer(),t.all(e)},rowTemplateAssigner:function(r){var f=this,u;return r.rowTemplate?(u=t.defer(),r.getRowTemplateFn=u.promise,n.getTemplate(r.rowTemplate).then(function(n){var t=i(n);u.resolve(t)},function(){throw new Error("Couldn't fetch/use row template '"+r.rowTemplate+"'");})):(r.rowTemplate=f.options.rowTemplate,r.getRowTemplateFn=f.getRowTemplateFn),r.getRowTemplateFn}};return e}])}(),function(){function t(n){return n.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var n=angular.module("ui.grid");n.service("rowSearcher",["gridUtil","uiGridConstants",function(n,i){var u=i.filter.CONTAINS,r={};return r.getTerm=function(n){if(typeof n.term=="undefined")return n.term;var t=n.term;return typeof t=="string"&&(t=t.trim()),t},r.stripTerm=function(n){var i=r.getTerm(n);return typeof i=="string"?t(i.replace(/(^\*|\*$)/g,"")):i},r.guessCondition=function(n){var t,i,f;return typeof n.term=="undefined"||!n.term?u:(t=r.getTerm(n),/\*/.test(t)?(i="",n.flags&&n.flags.caseSensitive||(i+="i"),f=t.replace(/(\\)?\*/g,function(n,t){return t?n:"[\\s\\S]*?"}),new RegExp("^"+f+"$",i)):u)},r.setupFilters=function(t){for(var f,u,e,s=[],h=t.length,o=0;o<h;o++)f=t[o],(f.noTerm||!n.isNullOrUndefined(f.term))&&(u={},e="",f.flags&&f.flags.caseSensitive||(e+="i"),n.isNullOrUndefined(f.term)||(u.term=r.stripTerm(f)),u.condition=f.condition?f.condition:r.guessCondition(f),u.flags=angular.extend({caseSensitive:!1,date:!1},f.flags),u.condition===i.filter.STARTS_WITH&&(u.startswithRE=new RegExp("^"+u.term,e)),u.condition===i.filter.ENDS_WITH&&(u.endswithRE=new RegExp(u.term+"$",e)),u.condition===i.filter.CONTAINS&&(u.containsRE=new RegExp(u.term,e)),u.condition===i.filter.EXACT&&(u.exactRE=new RegExp("^"+u.term+"$",e)),s.push(u));return s},r.runColumnFilter=function(n,t,r,u){var h=typeof u.condition,e=u.term,f,s,o;return(f=r.filterCellFiltered?n.getCellDisplayValue(t,r):n.getCellValue(t,r),u.condition instanceof RegExp)?u.condition.test(f):h==="function"?u.condition(e,f,t,r):u.startswithRE?u.startswithRE.test(f):u.endswithRE?u.endswithRE.test(f):u.containsRE?u.containsRE.test(f):u.exactRE?u.exactRE.test(f):u.condition===i.filter.NOT_EQUAL?(s=new RegExp("^"+e+"$"),!s.exec(f)):(typeof f=="number"&&typeof e=="string"&&(o=parseFloat(e.replace(/\\\./,".").replace(/\\\-/,"-")),isNaN(o)||(e=o)),u.flags.date===!0&&(f=new Date(f),e=new Date(e.replace(/\\/g,""))),u.condition===i.filter.GREATER_THAN)?f>e:u.condition===i.filter.GREATER_THAN_OR_EQUAL?f>=e:u.condition===i.filter.LESS_THAN?f<e:u.condition===i.filter.LESS_THAN_OR_EQUAL?f<=e:!0},r.searchColumn=function(t,i,u,f){var s,o,e,h;if(t.options.useExternalFiltering)return!0;for(s=f.length,o=0;o<s;o++)if(e=f[o],(!n.isNullOrUndefined(e.term)&&e.term!==""||e.noTerm)&&(h=r.runColumnFilter(t,i,u,e),!h))return!1;return!0},r.search=function(t,i,u){var o,f,s;if(i){if(!t.options.enableFiltering)return i;var e=[],h=u.length,c=function(t){var i=!1;return t.forEach(function(t){(!n.isNullOrUndefined(t.term)&&t.term!==""||t.noTerm)&&(i=!0)}),i};for(o=0;o<h;o++)f=u[o],typeof f.filters!="undefined"&&c(f.filters)&&e.push({col:f,filters:r.setupFilters(f.filters)});if(e.length>0){var l=function(n,t,i,u){t.visible&&!r.searchColumn(n,t,i,u)&&(t.visible=!1)},a=function(n,t){for(var u=i.length,r=0;r<u;r++)l(n,i[r],t.col,t.filters)},v=e.length;for(s=0;s<v;s++)a(t,e[s]);t.api.core.raise.rowsVisibleChanged&&t.api.core.raise.rowsVisibleChanged()}return i}},r}])}(),function(){var n=angular.module("ui.grid");n.service("rowSorter",["$parse","uiGridConstants",function(n,t){var r="("+t.CURRENCY_SYMBOLS.map(function(n){return"\\"+n}).join("|")+")?",u=new RegExp("^[-+]?"+r+"[\\d,.]+"+r+"%?$"),i={colSortFnCache:{}};return i.guessSortFn=function(n){switch(n){case"number":return i.sortNumber;case"numberStr":return i.sortNumberStr;case"boolean":return i.sortBool;case"string":return i.sortAlpha;case"date":return i.sortDate;case"object":return i.basicSort;default:throw new Error("No sorting function found for type:"+n);}},i.handleNulls=function(n,t){if(!n&&n!==0&&n!==!1||!t&&t!==0&&t!==!1)if(n||n===0||n===!1||t||t===0||t===!1)if(n||n===0||n===!1){if(!t&&t!==0&&t!==!1)return-1}else return 1;else return 0;return null},i.basicSort=function(n,t){var r=i.handleNulls(n,t);return r!==null?r:n===t?0:n<t?-1:1},i.sortNumber=function(n,t){var r=i.handleNulls(n,t);return r!==null?r:n-t},i.sortNumberStr=function(n,t){var o=i.handleNulls(n,t),f,e,r,u;return o!==null?o:(r=!1,u=!1,f=parseFloat(n.replace(/[^0-9.-]/g,"")),isNaN(f)&&(r=!0),e=parseFloat(t.replace(/[^0-9.-]/g,"")),isNaN(e)&&(u=!0),r&&u)?0:r?1:u?-1:f-e},i.sortAlpha=function(n,t){var f=i.handleNulls(n,t),r,u;return f!==null?f:(r=n.toString().toLowerCase(),u=t.toString().toLowerCase(),r===u?0:r.localeCompare(u))},i.sortDate=function(n,t){var f=i.handleNulls(n,t),r,u;return f!==null?f:(n instanceof Date||(n=new Date(n)),t instanceof Date||(t=new Date(t)),r=n.getTime(),u=t.getTime(),r===u?0:r<u?-1:1)},i.sortBool=function(n,t){var r=i.handleNulls(n,t);return r!==null?r:n&&t?0:n||t?n?1:-1:0},i.getSortFn=function(n,t){var r;return i.colSortFnCache[t.colDef.name]?r=i.colSortFnCache[t.colDef.name]:t.sortingAlgorithm!==undefined?(r=t.sortingAlgorithm,i.colSortFnCache[t.colDef.name]=t.sortingAlgorithm):t.sortCellFiltered&&t.cellFilter?(r=i.sortAlpha,i.colSortFnCache[t.colDef.name]=r):(r=i.guessSortFn(t.colDef.type),r?i.colSortFnCache[t.colDef.name]=r:r=i.sortAlpha),r},i.prioritySort=function(n,t){return n.sort.priority!==undefined&&t.sort.priority!==undefined?n.sort.priority<t.sort.priority?-1:n.sort.priority===t.sort.priority?0:1:n.sort.priority||n.sort.priority===undefined?-1:t.sort.priority||t.sort.priority===undefined?1:0},i.sort=function(n,r,u){var f,e,o,s;if(r){if(n.options.useExternalSorting||(f=[],u.forEach(function(n){n.sort&&!n.sort.ignoreSort&&n.sort.direction&&(n.sort.direction===t.ASC||n.sort.direction===t.DESC)&&f.push(n)}),f=f.sort(i.prioritySort),f.length===0))return r;s=function(n,t){n.entity.$$uiGridIndex=t};r.forEach(s);var h=r.slice(0),c=function(r,u){for(var s=0,c=0,v,l,a;s===0&&c<f.length;)e=f[c],o=f[c].sort.direction,v=i.getSortFn(n,e,h),e.sortCellFiltered?(l=n.getCellDisplayValue(r,e),a=n.getCellDisplayValue(u,e)):(l=n.getCellValue(r,e),a=n.getCellValue(u,e)),s=v(l,a,r,u,o),c++;return s===0?r.entity.$$uiGridIndex-u.entity.$$uiGridIndex:o===t.ASC?s:0-s},l=r.sort(c),a=function(n){delete n.entity.$$uiGridIndex};return r.forEach(a),l}},i}])}(),function(){function t(n){var t=n;return typeof t.length!="undefined"&&t.length&&(t=n[0]),t.ownerDocument.defaultView.getComputedStyle(t,null)}function f(n,t,i,r,u){for(var o=i===(r?"border":"content")?4:t==="width"?1:0,f=0,v=["Top","Right","Bottom","Left"],e,s,h,c,l,a;o<4;o+=2)e=v[o],i==="margin"&&(s=parseFloat(u[i+e]),isNaN(s)||(f+=s)),r?(i==="content"&&(h=parseFloat(u["padding"+e]),isNaN(h)||(f-=h)),i!=="margin"&&(c=parseFloat(u["border"+e+"Width"]),isNaN(c)||(f-=c))):(l=parseFloat(u["padding"+e]),isNaN(l)||(f+=l),i!=="padding"&&(a=parseFloat(u["border"+e+"Width"]),isNaN(a)||(f+=a)));return f}function e(n,i,r){var s=!0,u,e=t(n),h=e.boxSizing==="border-box";if(u<=0||u==null){if(u=e[i],(u<0||u==null)&&(u=n.style[i]),o.test(u))return u;s=h&&(!0||u===n.style[i]);u=parseFloat(u)||0}return u+f(n,i,r||(h?"border":"content"),s,e)}function c(n){n=angular.element(n)[0];var i=n.parentElement;return i||(i=document.getElementsByTagName("body")[0]),parseInt(t(i).fontSize)||parseInt(t(n).fontSize)||16}var r=angular.module("ui.grid"),u,n,i;typeof Function.prototype.bind!="function"&&(u=function(){var n=Array.prototype.slice;return function(t){var i=this,r=n.call(arguments,1);return r.length?function(){return arguments.length?i.apply(t,r.concat(n.call(arguments))):i.apply(t,r)}:function(){return arguments.length?i.apply(t,arguments):i.call(t)}}});var o=new RegExp("^("+/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source+")(?!px)[a-z%]+$","i"),s=/^(block|none|table(?!-c[ea]).+)/,h={position:"absolute",visibility:"hidden",display:"block"};n=["0","0","0","0"];i="uiGrid-";r.service("gridUtil",["$log","$window","$document","$http","$templateCache","$timeout","$interval","$injector","$q","$interpolate","uiGridConstants",function(r,o,l,a,v,y,p,w,b,k,d){function ut(n,t){var s=angular.element(this),u=0,r=0,i=0,f=0,e,o,h;(t.originalEvent&&(t=t.originalEvent),"detail"in t&&(i=t.detail*-1),"wheelDelta"in t&&(i=t.wheelDelta),"wheelDeltaY"in t&&(i=t.wheelDeltaY),"wheelDeltaX"in t&&(r=t.wheelDeltaX*-1),"axis"in t&&t.axis===t.HORIZONTAL_AXIS&&(r=i*-1,i=0),u=i===0?r:i,"deltaY"in t&&(i=t.deltaY*-1,u=i),"deltaX"in t&&(r=t.deltaX,i===0&&(u=r*-1)),i!==0||r!==0)&&(t.deltaMode===1?(e=s.data("mousewheel-line-height"),u*=e,i*=e,r*=e):t.deltaMode===2&&(o=s.data("mousewheel-page-height"),u*=o,i*=o,r*=o),f=Math.max(Math.abs(i),Math.abs(r)),(!nt||f<nt)&&(nt=f,et(t,f)&&(nt/=40)),u=Math[u>=1?"floor":"ceil"](u/nt),r=Math[r>=1?"floor":"ceil"](r/nt),i=Math[i>=1?"floor":"ceil"](i/nt),h={originalEvent:t,deltaX:r,deltaY:i,deltaFactor:nt,preventDefault:function(){t.preventDefault()},stopPropagation:function(){t.stopPropagation()}},rt&&clearTimeout(rt),rt=setTimeout(ft,200),n.call(s[0],h))}function ft(){nt=null}function et(n,t){return n.type==="mousewheel"&&t%120==0}var g={augmentWidthOrHeight:f,getStyles:t,createBoundedWrapper:function(n,t){return function(){return t.apply(n,arguments)}},readableColumnName:function(n){return typeof n=="undefined"||n===undefined||n===null?n:(typeof n!="string"&&(n=String(n)),n.replace(/_+/g," ").replace(/^[A-Z]+$/,function(n){return angular.lowercase(angular.uppercase(n.charAt(0))+n.slice(1))}).replace(/([\w\u00C0-\u017F]+)/g,function(n){return angular.uppercase(n.charAt(0))+n.slice(1)}).replace(/(\w+?(?=[A-Z]))/g,"$1 "))},getColumnsFromData:function(n,t){var i=[],r;return!n||typeof n[0]=="undefined"||n[0]===undefined?[]:(angular.isUndefined(t)&&(t=[]),r=n[0],angular.forEach(r,function(n,r){t.indexOf(r)===-1&&i.push({name:r})}),i)},newId:function(){var n=(new Date).getTime();return function(){return n+=1}}(),getTemplate:function(n){if(v.get(n))return g.postProcessTemplate(v.get(n));if(angular.isFunction(n.then))return n.then(g.postProcessTemplate);try{if(angular.element(n).length>0)return b.when(n).then(g.postProcessTemplate)}catch(t){}return g.logDebug("fetching url",n),a({method:"GET",url:n}).then(function(t){var i=t.data.trim();return v.put(n,i),i},function(t){throw new Error("Could not get template "+n+": "+t);}).then(g.postProcessTemplate)},postProcessTemplate:function(n){var t=k.startSymbol(),i=k.endSymbol();return(t!=="{{"||i!=="}}")&&(n=n.replace(/\{\{/g,t),n=n.replace(/\}\}/g,i)),b.when(n)},guessType:function(n){var t=typeof n;switch(t){case"number":case"boolean":case"string":return t;default:return angular.isDate(n)?"date":"object"}},elementWidth:function(){},elementHeight:function(){},getScrollbarWidth:function(){var n=document.createElement("div"),i,t,r;return n.style.visibility="hidden",n.style.width="100px",n.style.msOverflowStyle="scrollbar",document.body.appendChild(n),i=n.offsetWidth,n.style.overflow="scroll",t=document.createElement("div"),t.style.width="100%",n.appendChild(t),r=t.offsetWidth,n.parentNode.removeChild(n),i-r},swap:function(n,t,i,r){var f,u,e={};for(u in t)e[u]=n.style[u],n.style[u]=t[u];f=i.apply(n,r||[]);for(u in t)n.style[u]=e[u];return f},fakeElement:function(n,t,i){var f,u,r=angular.element(n).clone()[0];for(u in t)r.style[u]=t[u];return angular.element(document.body).append(r),f=i.call(r,r),angular.element(r).remove(),f},normalizeWheelEvent:function(n){var e,f,t=n||window.event,c=[].slice.call(arguments,1),i=0,u=0,r=0,s=0,h=0,o;return t.originalEvent&&(t=t.originalEvent),t.wheelDelta&&(i=t.wheelDelta),t.detail&&(i=t.detail*-1),r=i,t.axis!==undefined&&t.axis===t.HORIZONTAL_AXIS&&(r=0,u=i*-1),t.deltaY&&(r=t.deltaY*-1,i=r),t.deltaX&&(u=t.deltaX,i=u*-1),t.wheelDeltaY!==undefined&&(r=t.wheelDeltaY),t.wheelDeltaX!==undefined&&(u=t.wheelDeltaX),s=Math.abs(i),(!e||s<e)&&(e=s),h=Math.max(Math.abs(r),Math.abs(u)),(!f||h<f)&&(f=h),o=i>0?"floor":"ceil",i=Math[o](i/e),u=Math[o](u/f),r=Math[o](r/f),{delta:i,deltaX:u,deltaY:r}},isTouchEnabled:function(){var n;return("ontouchstart"in o||o.DocumentTouch&&l instanceof DocumentTouch)&&(n=!0),n},isNullOrUndefined:function(n){return n===undefined||n===null?!0:!1},endsWith:function(n,t){return!n||!t||typeof n!="string"?!1:n.indexOf(t,n.length-t.length)!==-1},arrayContainsObjectWithProperty:function(n,t,i){var r=!1;return angular.forEach(n,function(n){n[t]===i&&(r=!0)}),r},numericAndNullSort:function(n,t){return n===null?1:t===null?-1:n===null&&t===null?0:n-t},disableAnimations:function(n){var t;try{t=w.get("$animate");angular.version.major>1||angular.version.major===1&&angular.version.minor>=4?t.enabled(n,!1):t.enabled(!1,n)}catch(i){}},enableAnimations:function(n){var t;try{return t=w.get("$animate"),angular.version.major>1||angular.version.major===1&&angular.version.minor>=4?t.enabled(n,!0):t.enabled(!0,n),t}catch(i){}},nextUid:function(){for(var t=n.length,r;t;){if(t--,r=n[t].charCodeAt(0),r===57)return n[t]="A",i+n.join("");if(r===90)n[t]="0";else return n[t]=String.fromCharCode(r+1),i+n.join("")}return n.unshift("0"),i+n.join("")},hashKey:function(n){var i=typeof n,t;return i==="object"&&n!==null?typeof(t=n.$$hashKey)=="function"?t=n.$$hashKey():typeof n.$$hashKey!="undefined"&&n.$$hashKey?t=n.$$hashKey:t===undefined&&(t=n.$$hashKey=g.nextUid()):t=n,i+":"+t},resetUids:function(){n=["0","0","0"]},logError:function(n){d.LOG_ERROR_MESSAGES&&r.error(n)},logWarn:function(n){d.LOG_WARN_MESSAGES&&r.warn(n)},logDebug:function(){d.LOG_DEBUG_MESSAGES&&r.debug.apply(r,arguments)}},tt,rt,nt;return g.focus={queue:[],byId:function(n,t){this._purgeQueue();var i=y(function(){var i=(t&&t.id?t.id+"-":"")+n,r=o.document.getElementById(i);r?r.focus():g.logWarn("[focus.byId] Element id "+i+" was not found.")});return this.queue.push(i),i},byElement:function(n){if(!angular.isElement(n))return g.logWarn("Trying to focus on an element that isn't an element."),b.reject("not-element");n=angular.element(n);this._purgeQueue();var t=y(function(){n&&n[0].focus()});return this.queue.push(t),t},bySelector:function(n,t,i){var f=this,r,u;if(!angular.isElement(n))throw new Error("The parent element is not an element.");return n=angular.element(n),r=function(){var i=n[0].querySelector(t);return f.byElement(i)},this._purgeQueue(),i?(u=y(r),this.queue.push(y(r)),u):r()},_purgeQueue:function(){this.queue.forEach(function(n){y.cancel(n)});this.queue=[]}},["width","height"].forEach(function(n){var i=angular.uppercase(n.charAt(0))+n.substr(1);g["element"+i]=function(i,r){var u=i,f;return u&&typeof u.length!="undefined"&&u.length&&(u=i[0]),u?(f=t(u),u.offsetWidth===0&&s.test(f.display)?g.swap(u,h,function(){return e(u,n,r)}):e(u,n,r)):null};g["outerElement"+i]=function(n,t){return n?g["element"+i].call(this,n,t?"margin":"border"):null}}),g.closestElm=function(n,t){var r,i;for(typeof n.length!="undefined"&&n.length&&(n=n[0]),["matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector"].some(function(n){return typeof document.body[n]=="function"?(r=n,!0):!1});n!==null;){if(i=n.parentElement,i!==null&&i[r](t))return i;n=i}return null},g.type=function(n){var t=Function.prototype.toString.call(n.constructor);return t.match(/function (.*?)\(/)[1]},g.getBorderSize=function(n,i){var u,r;return typeof n.length!="undefined"&&n.length&&(n=n[0]),u=t(n),i=i?"border"+i.charAt(0).toUpperCase()+i.slice(1):"border",i+="Width",r=parseInt(u[i],10),isNaN(r)?0:r},g.detectBrowser=function(){var i=o.navigator.userAgent,n={chrome:/chrome/i,safari:/safari/i,firefox:/firefox/i,ie:/internet explorer|trident\//i};for(var t in n)if(n[t].test(i))return t;return"unknown"},g.rtlScrollType=function it(){if(it.type)return it.type;var n=angular.element('<div dir="rtl" style="font-size: 14px; width: 1px; height: 1px; position: absolute; top: -1000px; overflow: scroll">A<\/div>')[0],t="reverse";return document.body.appendChild(n),n.scrollLeft>0?t="default":(n.scrollLeft=1,n.scrollLeft===0&&(t="negative")),angular.element(n).remove(),it.type=t,t},g.normalizeScrollLeft=function(n,t){typeof n.length!="undefined"&&n.length&&(n=n[0]);var i=n.scrollLeft;if(t.isRTL())switch(g.rtlScrollType()){case"default":return n.scrollWidth-i-n.clientWidth;case"negative":return Math.abs(i);case"reverse":return i}return i},g.denormalizeScrollLeft=function(n,t,i){if(typeof n.length!="undefined"&&n.length&&(n=n[0]),i.isRTL())switch(g.rtlScrollType()){case"default":var r=n.scrollWidth-n.clientWidth;return r-t;case"negative":return t*-1;case"reverse":return t}return t},g.preEval=function(n){var t=d.BRACKET_REGEXP.exec(n),i,r;return t?(t[1]?g.preEval(t[1]):t[1])+t[2]+(t[3]?g.preEval(t[3]):t[3]):(n=n.replace(d.APOS_REGEXP,"\\'"),i=n.split(d.DOT_REGEXP),r=[i.shift()],angular.forEach(i,function(n){r.push(n.replace(d.FUNC_REGEXP,"']$1"))}),r.join("['"))},g.debounce=function(n,t,i){function o(){f=this;u=arguments;var o=function(){r=null;i||(e=n.apply(f,u))},s=i&&!r;return r&&y.cancel(r),r=y(o,t,!1),s&&(e=n.apply(f,u)),e}var r,u,f,e;return o.cancel=function(){y.cancel(r);r=null},o},g.throttle=function(n,t,i){function o(){u=+new Date;n.apply(f,e);p(function(){r=null},0,1,!1)}i=i||{};var u=0,r=null,f,e;return function(){if(f=this,e=arguments,r===null){var n=+new Date-u;n>t?o():i.trailing&&(r=p(o,t-n,1,!1))}}},g.on={},g.off={},g._events={},g.addOff=function(n){g.off[n]=function(t,i){var r=g._events[n].indexOf(i);r>0&&g._events[n].removeAt(r)}},tt="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],g.on.mousewheel=function(n,t){var i,r,f;if(n&&t)for(i=angular.element(n),i.data("mousewheel-line-height",c(i)),i.data("mousewheel-page-height",g.elementHeight(i)),i.data("mousewheel-callbacks")||i.data("mousewheel-callbacks",{}),r=i.data("mousewheel-callbacks"),r[t]=(Function.prototype.bind||u).call(ut,i[0],t),f=tt.length;f;)i.on(tt[--f],r[t])},g.off.mousewheel=function(n,t){var i=angular.element(n),r=i.data("mousewheel-callbacks"),f=r[t],u;if(f)for(u=tt.length;u;)i.off(tt[--u],f);delete r[t];Object.keys(r).length===0&&(i.removeData("mousewheel-line-height"),i.removeData("mousewheel-page-height"),i.removeData("mousewheel-callbacks"))},g}]);r.filter("px",function(){return function(n){return n.match(/^[\d\.]+$/)?n+"px":n}})}(),function(){angular.module("ui.grid").config(["$provide",function(n){n.decorator("i18nService",["$delegate",function(n){var t={aggregate:{label:"položky"},groupPanel:{description:"Přesuňte záhlaví zde pro vytvoření skupiny dle sloupce."},search:{placeholder:"Hledat...",showingItems:"Zobrazuji položky:",selectedItems:"Vybrané položky:",totalItems:"Celkem položek:",size:"Velikost strany:",first:"První strana",next:"Další strana",previous:"Předchozí strana",last:"Poslední strana"},menu:{text:"Vyberte sloupec:"},sort:{ascending:"Seřadit od A-Z",descending:"Seřadit od Z-A",remove:"Odebrat seřazení"},column:{hide:"Schovat sloupec"},aggregation:{count:"celkem řádků: ",sum:"celkem: ",avg:"avg: ",min:"min.: ",max:"max.: "},pinning:{pinLeft:"Zamknout vlevo",pinRight:"Zamknout vpravo",unpin:"Odemknout"},gridMenu:{columns:"Sloupce:",importerTitle:"Importovat soubor",exporterAllAsCsv:"Exportovat všechna data do csv",exporterVisibleAsCsv:"Exportovat viditelná data do csv",exporterSelectedAsCsv:"Exportovat vybraná data do csv",exporterAllAsPdf:"Exportovat všechna data do pdf",exporterVisibleAsPdf:"Exportovat viditelná data do pdf",exporterSelectedAsPdf:"Exportovat vybraná data do pdf",clearAllFilters:"Odstranit všechny filtry"},importer:{noHeaders:"Názvy sloupců se nepodařilo získat, obsahuje soubor záhlaví?",noObjects:"Data se nepodařilo zpracovat, obsahuje soubor řádky mimo záhlaví?",invalidCsv:"Soubor nelze zpracovat, jedná se o CSV?",invalidJson:"Soubor nelze zpracovat, je to JSON?",jsonNotArray:"Soubor musí obsahovat json. Ukončuji.."},pagination:{sizes:"položek na stránku",totalItems:"položek"},grouping:{group:"Seskupit",ungroup:"Odebrat seskupení",aggregate_count:"Agregace: Count",aggregate_sum:"Agregace: Sum",aggregate_max:"Agregace: Max",aggregate_min:"Agregace: Min",aggregate_avg:"Agregace: Avg",aggregate_remove:"Agregace: Odebrat"}};return n.add("cs",t),n.add("cz",t),n.add("cs-cz",t),n.add("cs-CZ",t),n}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(n){n.decorator("i18nService",["$delegate",function(n){return n.add("da",{aggregate:{label:"artikler"},groupPanel:{description:"Grupér rækker udfra en kolonne ved at trække dens overskift hertil."},search:{placeholder:"Søg...",showingItems:"Viste rækker:",selectedItems:"Valgte rækker:",totalItems:"Rækker totalt:",size:"Side størrelse:",first:"Første side",next:"Næste side",previous:"Forrige side",last:"Sidste side"},menu:{text:"Vælg kolonner:"},sort:{ascending:"Sorter stigende",descending:"Sorter faldende",none:"Sorter ingen",remove:"Fjern sortering"},column:{hide:"Skjul kolonne"},aggregation:{count:"antal rækker: ",sum:"sum: ",avg:"gns: ",min:"min: ",max:"max: "},gridMenu:{columns:"Kolonner:",importerTitle:"Importer fil",exporterAllAsCsv:"Eksporter alle data som csv",exporterVisibleAsCsv:"Eksporter synlige data som csv",exporterSelectedAsCsv:"Eksporter markerede data som csv",exporterAllAsPdf:"Eksporter alle data som pdf",exporterVisibleAsPdf:"Eksporter synlige data som pdf",exporterSelectedAsPdf:"Eksporter markerede data som pdf",clearAllFilters:"Clear all filters"},importer:{noHeaders:"Column names were unable to be derived, does the file have a header?",noObjects:"Objects were not able to be derived, was there data in the file other than headers?",invalidCsv:"File was unable to be processed, is it valid CSV?",invalidJson:"File was unable to be processed, is it valid Json?",jsonNotArray:"Imported json file must contain an array, aborting."}}),n}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(n){n.decorator("i18nService",["$delegate",function(n){return n.add("de",{headerCell:{aria:{defaultFilterLabel:"Filter für Spalte",removeFilter:"Filter löschen",columnMenuButtonLabel:"Spaltenmenü"},priority:"Priorität:",filterLabel:"Filter für Spalte: "},aggregate:{label:"Eintrag"},groupPanel:{description:"Ziehen Sie eine Spaltenüberschrift hierhin, um nach dieser Spalte zu gruppieren."},search:{placeholder:"Suche...",showingItems:"Zeige Einträge:",selectedItems:"Ausgewählte Einträge:",totalItems:"Einträge gesamt:",size:"Einträge pro Seite:",first:"Erste Seite",next:"Nächste Seite",previous:"Vorherige Seite",last:"Letzte Seite"},menu:{text:"Spalten auswählen:"},sort:{ascending:"aufsteigend sortieren",descending:"absteigend sortieren",none:"keine Sortierung",remove:"Sortierung zurücksetzen"},column:{hide:"Spalte ausblenden"},aggregation:{count:"Zeilen insgesamt: ",sum:"gesamt: ",avg:"Durchschnitt: ",min:"min: ",max:"max: "},pinning:{pinLeft:"Links anheften",pinRight:"Rechts anheften",unpin:"Lösen"},columnMenu:{close:"Schließen"},gridMenu:{aria:{buttonLabel:"Tabellenmenü"},columns:"Spalten:",importerTitle:"Datei importieren",exporterAllAsCsv:"Alle Daten als CSV exportieren",exporterVisibleAsCsv:"sichtbare Daten als CSV exportieren",exporterSelectedAsCsv:"markierte Daten als CSV exportieren",exporterAllAsPdf:"Alle Daten als PDF exportieren",exporterVisibleAsPdf:"sichtbare Daten als PDF exportieren",exporterSelectedAsPdf:"markierte Daten als PDF exportieren",clearAllFilters:"Alle Filter zurücksetzen"},importer:{noHeaders:"Es konnten keine Spaltennamen ermittelt werden. Sind in der Datei Spaltendefinitionen enthalten?",noObjects:"Es konnten keine Zeileninformationen gelesen werden, Sind in der Datei außer den Spaltendefinitionen auch Daten enthalten?",invalidCsv:"Die Datei konnte nicht eingelesen werden, ist es eine gültige CSV-Datei?",invalidJson:"Die Datei konnte nicht eingelesen werden. Enthält sie gültiges JSON?",jsonNotArray:"Die importierte JSON-Datei muß ein Array enthalten. Breche Import ab."},pagination:{aria:{pageToFirst:"Zum Anfang",pageBack:"Seite zurück",pageSelected:"Ausgwählte Seite",pageForward:"Seite vor",pageToLast:"Zum Ende"},sizes:"Einträge pro Seite",totalItems:"Einträge",through:"bis",of:"von"},grouping:{group:"Gruppieren",ungroup:"Gruppierung aufheben",aggregate_count:"Agg: Anzahl",aggregate_sum:"Agg: Summe",aggregate_max:"Agg: Maximum",aggregate_min:"Agg: Minimum",aggregate_avg:"Agg: Mittelwert",aggregate_remove:"Aggregation entfernen"}}),n}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(n){n.decorator("i18nService",["$delegate",function(n){return n.add("en",{headerCell:{aria:{defaultFilterLabel:"Filter for column",removeFilter:"Remove Filter",columnMenuButtonLabel:"Column Menu"},priority:"Priority:",filterLabel:"Filter for column: "},aggregate:{label:"items"},groupPanel:{description:"Drag a column header here and drop it to group by that column."},search:{placeholder:"Search...",showingItems:"Showing Items:",selectedItems:"Selected Items:",totalItems:"Total Items:",size:"Page Size:",first:"First Page",next:"Next Page",previous:"Previous Page",last:"Last Page"},menu:{text:"Choose Columns:"},sort:{ascending:"Sort Ascending",descending:"Sort Descending",none:"Sort None",remove:"Remove Sort"},column:{hide:"Hide Column"},aggregation:{count:"total rows: ",sum:"total: ",avg:"avg: ",min:"min: ",max:"max: "},pinning:{pinLeft:"Pin Left",pinRight:"Pin Right",unpin:"Unpin"},columnMenu:{close:"Close"},gridMenu:{aria:{buttonLabel:"Grid Menu"},columns:"Columns:",importerTitle:"Import file",exporterAllAsCsv:"Export all data as csv",exporterVisibleAsCsv:"Export visible data as csv",exporterSelectedAsCsv:"Export selected data as csv",exporterAllAsPdf:"Export all data as pdf",exporterVisibleAsPdf:"Export visible data as pdf",exporterSelectedAsPdf:"Export selected data as pdf",clearAllFilters:"Clear all filters"},importer:{noHeaders:"Column names were unable to be derived, does the file have a header?",noObjects:"Objects were not able to be derived, was there data in the file other than headers?",invalidCsv:"File was unable to be processed, is it valid CSV?",invalidJson:"File was unable to be processed, is it valid Json?",jsonNotArray:"Imported json file must contain an array, aborting."},pagination:{aria:{pageToFirst:"Page to first",pageBack:"Page back",pageSelected:"Selected page",pageForward:"Page forward",pageToLast:"Page to last"},sizes:"items per page",totalItems:"items",through:"through",of:"of"},grouping:{group:"Group",ungroup:"Ungroup",aggregate_count:"Agg: Count",aggregate_sum:"Agg: Sum",aggregate_max:"Agg: Max",aggregate_min:"Agg: Min",aggregate_avg:"Agg: Avg",aggregate_remove:"Agg: Remove"},validate:{error:"Error:",minLength:"Value should be at least THRESHOLD characters long.",maxLength:"Value should be at most THRESHOLD characters long.",required:"A value is needed."}}),n}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(n){n.decorator("i18nService",["$delegate",function(n){return n.add("es",{aggregate:{label:"Artículos"},groupPanel:{description:"Arrastre un encabezado de columna aquí y suéltelo para agrupar por esa columna."},search:{placeholder:"Buscar...",showingItems:"Artículos Mostrados:",selectedItems:"Artículos Seleccionados:",totalItems:"Artículos Totales:",size:"Tamaño de Página:",first:"Primera Página",next:"Página Siguiente",previous:"Página Anterior",last:"Última Página"},menu:{text:"Elegir columnas:"},sort:{ascending:"Orden Ascendente",descending:"Orden Descendente",remove:"Sin Ordenar"},column:{hide:"Ocultar la columna"},aggregation:{count:"filas totales: ",sum:"total: ",avg:"media: ",min:"min: ",max:"max: "},pinning:{pinLeft:"Fijar a la Izquierda",pinRight:"Fijar a la Derecha",unpin:"Quitar Fijación"},gridMenu:{columns:"Columnas:",importerTitle:"Importar archivo",exporterAllAsCsv:"Exportar todo como csv",exporterVisibleAsCsv:"Exportar vista como csv",exporterSelectedAsCsv:"Exportar selección como csv",exporterAllAsPdf:"Exportar todo como pdf",exporterVisibleAsPdf:"Exportar vista como pdf",exporterSelectedAsPdf:"Exportar selección como pdf",clearAllFilters:"Limpiar todos los filtros"},importer:{noHeaders:"No fue posible derivar los nombres de las columnas, ¿tiene encabezados el archivo?",noObjects:"No fue posible obtener registros, ¿contiene datos el archivo, aparte de los encabezados?",invalidCsv:"No fue posible procesar el archivo, ¿es un CSV válido?",invalidJson:"No fue posible procesar el archivo, ¿es un Json válido?",jsonNotArray:"El archivo json importado debe contener un array, abortando."},pagination:{sizes:"registros por página",totalItems:"registros",of:"de"},grouping:{group:"Agrupar",ungroup:"Desagrupar",aggregate_count:"Agr: Cont",aggregate_sum:"Agr: Sum",aggregate_max:"Agr: Máx",aggregate_min:"Agr: Min",aggregate_avg:"Agr: Prom",aggregate_remove:"Agr: Quitar"}}),n}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(n){n.decorator("i18nService",["$delegate",function(n){return n.add("fa",{aggregate:{label:"قلم"},groupPanel:{description:"عنوان یک ستون را بگیر و به گروهی از آن ستون رها کن."},search:{placeholder:"جستجو...",showingItems:"نمایش اقلام:",selectedItems:"قلم‌های انتخاب شده:",totalItems:"مجموع اقلام:",size:"اندازه‌ی صفحه:",first:"اولین صفحه",next:"صفحه‌ی‌بعدی",previous:"صفحه‌ی‌ قبلی",last:"آخرین صفحه"},menu:{text:"ستون‌های انتخابی:"},sort:{ascending:"ترتیب صعودی",descending:"ترتیب نزولی",remove:"حذف مرتب کردن"},column:{hide:"پنهان‌کردن ستون"},aggregation:{count:"تعداد: ",sum:"مجموع: ",avg:"میانگین: ",min:"کمترین: ",max:"بیشترین: "},pinning:{pinLeft:"پین کردن سمت چپ",pinRight:"پین کردن سمت راست",unpin:"حذف پین"},gridMenu:{columns:"ستون‌ها:",importerTitle:"وارد کردن فایل",exporterAllAsCsv:"خروجی تمام داده‌ها در فایل csv",exporterVisibleAsCsv:"خروجی داده‌های قابل مشاهده در فایل csv",exporterSelectedAsCsv:"خروجی داده‌های انتخاب‌شده در فایل csv",exporterAllAsPdf:"خروجی تمام داده‌ها در فایل pdf",exporterVisibleAsPdf:"خروجی داده‌های قابل مشاهده در فایل pdf",exporterSelectedAsPdf:"خروجی داده‌های انتخاب‌شده در فایل pdf",clearAllFilters:"پاک کردن تمام فیلتر"},importer:{noHeaders:"نام ستون قابل استخراج نیست. آیا فایل عنوان دارد؟",noObjects:"اشیا قابل استخراج نیستند. آیا به جز عنوان‌ها در فایل داده وجود دارد؟",invalidCsv:"فایل قابل پردازش نیست. آیا فرمت  csv  معتبر است؟",invalidJson:"فایل قابل پردازش نیست. آیا فرمت json   معتبر است؟",jsonNotArray:"فایل json وارد شده باید حاوی آرایه باشد. عملیات ساقط شد."},pagination:{sizes:"اقلام در هر صفحه",totalItems:"اقلام",of:"از"},grouping:{group:"گروه‌بندی",ungroup:"حذف گروه‌بندی",aggregate_count:"Agg: تعداد",aggregate_sum:"Agg: جمع",aggregate_max:"Agg: بیشینه",aggregate_min:"Agg: کمینه",aggregate_avg:"Agg: میانگین",aggregate_remove:"Agg: حذف"}}),n}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(n){n.decorator("i18nService",["$delegate",function(n){return n.add("fi",{aggregate:{label:"rivit"},groupPanel:{description:"Raahaa ja pudota otsikko tähän ryhmittääksesi sarakkeen mukaan."},search:{placeholder:"Hae...",showingItems:"Näytetään rivejä:",selectedItems:"Valitut rivit:",totalItems:"Rivejä yht.:",size:"Näytä:",first:"Ensimmäinen sivu",next:"Seuraava sivu",previous:"Edellinen sivu",last:"Viimeinen sivu"},menu:{text:"Valitse sarakkeet:"},sort:{ascending:"Järjestä nouseva",descending:"Järjestä laskeva",remove:"Poista järjestys"},column:{hide:"Piilota sarake"},aggregation:{count:"Rivejä yht.: ",sum:"Summa: ",avg:"K.a.: ",min:"Min: ",max:"Max: "},pinning:{pinLeft:"Lukitse vasemmalle",pinRight:"Lukitse oikealle",unpin:"Poista lukitus"},gridMenu:{columns:"Sarakkeet:",importerTitle:"Tuo tiedosto",exporterAllAsCsv:"Vie tiedot csv-muodossa",exporterVisibleAsCsv:"Vie näkyvä tieto csv-muodossa",exporterSelectedAsCsv:"Vie valittu tieto csv-muodossa",exporterAllAsPdf:"Vie tiedot pdf-muodossa",exporterVisibleAsPdf:"Vie näkyvä tieto pdf-muodossa",exporterSelectedAsPdf:"Vie valittu tieto pdf-muodossa",clearAllFilters:"Puhdista kaikki suodattimet"},importer:{noHeaders:"Sarakkeen nimiä ei voitu päätellä, onko tiedostossa otsikkoriviä?",noObjects:"Tietoja ei voitu lukea, onko tiedostossa muuta kuin otsikkot?",invalidCsv:"Tiedostoa ei voitu käsitellä, oliko se CSV-muodossa?",invalidJson:"Tiedostoa ei voitu käsitellä, oliko se JSON-muodossa?",jsonNotArray:"Tiedosto ei sisältänyt taulukkoa, lopetetaan."}}),n}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(n){n.decorator("i18nService",["$delegate",function(n){return n.add("fr",{aggregate:{label:"éléments"},groupPanel:{description:"Faites glisser une en-tête de colonne ici pour créer un groupe de colonnes."},search:{placeholder:"Recherche...",showingItems:"Affichage des éléments :",selectedItems:"Éléments sélectionnés :",totalItems:"Nombre total d'éléments:",size:"Taille de page:",first:"Première page",next:"Page Suivante",previous:"Page précédente",last:"Dernière page"},menu:{text:"Choisir des colonnes :"},sort:{ascending:"Trier par ordre croissant",descending:"Trier par ordre décroissant",remove:"Enlever le tri"},column:{hide:"Cacher la colonne"},aggregation:{count:"lignes totales: ",sum:"total: ",avg:"moy: ",min:"min: ",max:"max: "},pinning:{pinLeft:"Épingler à gauche",pinRight:"Épingler à droite",unpin:"Détacher"},gridMenu:{columns:"Colonnes:",importerTitle:"Importer un fichier",exporterAllAsCsv:"Exporter toutes les données en CSV",exporterVisibleAsCsv:"Exporter les données visibles en CSV",exporterSelectedAsCsv:"Exporter les données sélectionnées en CSV",exporterAllAsPdf:"Exporter toutes les données en PDF",exporterVisibleAsPdf:"Exporter les données visibles en PDF",exporterSelectedAsPdf:"Exporter les données sélectionnées en PDF",clearAllFilters:"Nettoyez tous les filtres"},importer:{noHeaders:"Impossible de déterminer le nom des colonnes, le fichier possède-t-il une en-tête ?",noObjects:"Aucun objet trouvé, le fichier possède-t-il des données autres que l'en-tête ?",invalidCsv:"Le fichier n'a pas pu être traité, le CSV est-il valide ?",invalidJson:"Le fichier n'a pas pu être traité, le JSON est-il valide ?",jsonNotArray:"Le fichier JSON importé doit contenir un tableau, abandon."},pagination:{sizes:"éléments par page",totalItems:"éléments",of:"sur"},grouping:{group:"Grouper",ungroup:"Dégrouper",aggregate_count:"Agg: Compte",aggregate_sum:"Agg: Somme",aggregate_max:"Agg: Max",aggregate_min:"Agg: Min",aggregate_avg:"Agg: Moy",aggregate_remove:"Agg: Retirer"}}),n}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(n){n.decorator("i18nService",["$delegate",function(n){return n.add("he",{aggregate:{label:"items"},groupPanel:{description:"גרור עמודה לכאן ושחרר בכדי לקבץ עמודה זו."},search:{placeholder:"חפש...",showingItems:"מציג:",selectedItems:'סה"כ נבחרו:',totalItems:'סה"כ רשומות:',size:"תוצאות בדף:",first:"דף ראשון",next:"דף הבא",previous:"דף קודם",last:"דף אחרון"},menu:{text:"בחר עמודות:"},sort:{ascending:"סדר עולה",descending:"סדר יורד",remove:"בטל"},column:{hide:"טור הסתר"},aggregation:{count:"total rows: ",sum:"total: ",avg:"avg: ",min:"min: ",max:"max: "},gridMenu:{columns:"Columns:",importerTitle:"Import file",exporterAllAsCsv:"Export all data as csv",exporterVisibleAsCsv:"Export visible data as csv",exporterSelectedAsCsv:"Export selected data as csv",exporterAllAsPdf:"Export all data as pdf",exporterVisibleAsPdf:"Export visible data as pdf",exporterSelectedAsPdf:"Export selected data as pdf",clearAllFilters:"Clean all filters"},importer:{noHeaders:"Column names were unable to be derived, does the file have a header?",noObjects:"Objects were not able to be derived, was there data in the file other than headers?",invalidCsv:"File was unable to be processed, is it valid CSV?",invalidJson:"File was unable to be processed, is it valid Json?",jsonNotArray:"Imported json file must contain an array, aborting."}}),n}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(n){n.decorator("i18nService",["$delegate",function(n){return n.add("hy",{aggregate:{label:"տվյալներ"},groupPanel:{description:"Ըստ սյան խմբավորելու համար քաշեք և գցեք վերնագիրն այստեղ։"},search:{placeholder:"Փնտրում...",showingItems:"Ցուցադրված տվյալներ՝",selectedItems:"Ընտրված:",totalItems:"Ընդամենը՝",size:"Տողերի քանակը էջում՝",first:"Առաջին էջ",next:"Հաջորդ էջ",previous:"Նախորդ էջ",last:"Վերջին էջ"},menu:{text:"Ընտրել սյուները:"},sort:{ascending:"Աճման կարգով",descending:"Նվազման կարգով",remove:"Հանել "},column:{hide:"Թաքցնել սյունը"},aggregation:{count:"ընդամենը տող՝ ",sum:"ընդամենը՝ ",avg:"միջին՝ ",min:"մին՝ ",max:"մաքս՝ "},pinning:{pinLeft:"Կպցնել ձախ կողմում",pinRight:"Կպցնել աջ կողմում",unpin:"Արձակել"},gridMenu:{columns:"Սյուներ:",importerTitle:"Ներմուծել ֆայլ",exporterAllAsCsv:"Արտահանել ամբողջը CSV",exporterVisibleAsCsv:"Արտահանել երևացող տվյալները CSV",exporterSelectedAsCsv:"Արտահանել ընտրված տվյալները CSV",exporterAllAsPdf:"Արտահանել PDF",exporterVisibleAsPdf:"Արտահանել երևացող տվյալները PDF",exporterSelectedAsPdf:"Արտահանել ընտրված տվյալները PDF",clearAllFilters:"Մաքրել բոլոր ֆիլտրերը"},importer:{noHeaders:"Հնարավոր չեղավ որոշել սյան վերնագրերը։ Արդյո՞ք ֆայլը ունի վերնագրեր։",noObjects:"Հնարավոր չեղավ կարդալ տվյալները։ Արդյո՞ք ֆայլում կան տվյալներ։",invalidCsv:"Հնարավոր չեղավ մշակել ֆայլը։ Արդյո՞ք այն վավեր CSV է։",invalidJson:"Հնարավոր չեղավ մշակել ֆայլը։ Արդյո՞ք այն վավեր Json է։",jsonNotArray:"Ներմուծված json ֆայլը պետք է պարունակի զանգված, կասեցվում է։"}}),n}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(n){n.decorator("i18nService",["$delegate",function(n){return n.add("it",{aggregate:{label:"elementi"},groupPanel:{description:"Trascina un'intestazione all'interno del gruppo della colonna."},search:{placeholder:"Ricerca...",showingItems:"Mostra:",selectedItems:"Selezionati:",totalItems:"Totali:",size:"Tot Pagine:",first:"Prima",next:"Prossima",previous:"Precedente",last:"Ultima"},menu:{text:"Scegli le colonne:"},sort:{ascending:"Asc.",descending:"Desc.",remove:"Annulla ordinamento"},column:{hide:"Nascondi"},aggregation:{count:"righe totali: ",sum:"tot: ",avg:"media: ",min:"minimo: ",max:"massimo: "},pinning:{pinLeft:"Blocca a sx",pinRight:"Blocca a dx",unpin:"Blocca in alto"},gridMenu:{columns:"Colonne:",importerTitle:"Importa",exporterAllAsCsv:"Esporta tutti i dati in CSV",exporterVisibleAsCsv:"Esporta i dati visibili in CSV",exporterSelectedAsCsv:"Esporta i dati selezionati in CSV",exporterAllAsPdf:"Esporta tutti i dati in PDF",exporterVisibleAsPdf:"Esporta i dati visibili in PDF",exporterSelectedAsPdf:"Esporta i dati selezionati in PDF",clearAllFilters:"Pulire tutti i filtri"},importer:{noHeaders:"Impossibile reperire i nomi delle colonne, sicuro che siano indicati all'interno del file?",noObjects:"Impossibile reperire gli oggetti, sicuro che siano indicati all'interno del file?",invalidCsv:"Impossibile elaborare il file, sicuro che sia un CSV?",invalidJson:"Impossibile elaborare il file, sicuro che sia un JSON valido?",jsonNotArray:"Errore! Il file JSON da importare deve contenere un array."},grouping:{group:"Raggruppa",ungroup:"Separa",aggregate_count:"Agg: N. Elem.",aggregate_sum:"Agg: Somma",aggregate_max:"Agg: Massimo",aggregate_min:"Agg: Minimo",aggregate_avg:"Agg: Media",aggregate_remove:"Agg: Rimuovi"},validate:{error:"Errore:",minLength:"Lunghezza minima pari a THRESHOLD caratteri.",maxLength:"Lunghezza massima pari a THRESHOLD caratteri.",required:"Necessario inserire un valore."}}),n}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(n){n.decorator("i18nService",["$delegate",function(n){return n.add("ja",{aggregate:{label:"項目"},groupPanel:{description:"ここに列ヘッダをドラッグアンドドロップして、その列でグループ化します。"},search:{placeholder:"検索...",showingItems:"表示中の項目:",selectedItems:"選択した項目:",totalItems:"項目の総数:",size:"ページサイズ:",first:"最初のページ",next:"次のページ",previous:"前のページ",last:"前のページ"},menu:{text:"列の選択:"},sort:{ascending:"昇順に並べ替え",descending:"降順に並べ替え",remove:"並べ替えの解除"},column:{hide:"列の非表示"},aggregation:{count:"合計行数: ",sum:"合計: ",avg:"平均: ",min:"最小: ",max:"最大: "},pinning:{pinLeft:"左に固定",pinRight:"右に固定",unpin:"固定解除"},gridMenu:{columns:"列:",importerTitle:"ファイルのインポート",exporterAllAsCsv:"すべてのデータをCSV形式でエクスポート",exporterVisibleAsCsv:"表示中のデータをCSV形式でエクスポート",exporterSelectedAsCsv:"選択したデータをCSV形式でエクスポート",exporterAllAsPdf:"すべてのデータをPDF形式でエクスポート",exporterVisibleAsPdf:"表示中のデータをPDF形式でエクスポート",exporterSelectedAsPdf:"選択したデータをPDF形式でエクスポート",clearAllFilters:"すべてのフィルタを清掃してください"},importer:{noHeaders:"列名を取得できません。ファイルにヘッダが含まれていることを確認してください。",noObjects:"オブジェクトを取得できません。ファイルにヘッダ以外のデータが含まれていることを確認してください。",invalidCsv:"ファイルを処理できません。ファイルが有効なCSV形式であることを確認してください。",invalidJson:"ファイルを処理できません。ファイルが有効なJSON形式であることを確認してください。",jsonNotArray:"インポートしたJSONファイルには配列が含まれている必要があります。処理を中止します。"},pagination:{aria:{pageToFirst:"最初のページ",pageBack:"前のページ",pageSelected:"現在のページ",pageForward:"次のページ",pageToLast:"最後のページ"},sizes:"項目/ページ",totalItems:"項目",through:"から",of:"項目/全"}}),n}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(n){n.decorator("i18nService",["$delegate",function(n){return n.add("ko",{aggregate:{label:"아이템"},groupPanel:{description:"컬럼으로 그룹핑하기 위해서는 컬럼 헤더를 끌어 떨어뜨려 주세요."},search:{placeholder:"검색...",showingItems:"항목 보여주기:",selectedItems:"선택 항목:",totalItems:"전체 항목:",size:"페이지 크기:",first:"첫번째 페이지",next:"다음 페이지",previous:"이전 페이지",last:"마지막 페이지"},menu:{text:"컬럼을 선택하세요:"},sort:{ascending:"오름차순 정렬",descending:"내림차순 정렬",remove:"소팅 제거"},column:{hide:"컬럼 제거"},aggregation:{count:"전체 갯수: ",sum:"전체: ",avg:"평균: ",min:"최소: ",max:"최대: "},pinning:{pinLeft:"왼쪽 핀",pinRight:"오른쪽 핀",unpin:"핀 제거"},gridMenu:{columns:"컬럼:",importerTitle:"파일 가져오기",exporterAllAsCsv:"csv로 모든 데이터 내보내기",exporterVisibleAsCsv:"csv로 보이는 데이터 내보내기",exporterSelectedAsCsv:"csv로 선택된 데이터 내보내기",exporterAllAsPdf:"pdf로 모든 데이터 내보내기",exporterVisibleAsPdf:"pdf로 보이는 데이터 내보내기",exporterSelectedAsPdf:"pdf로 선택 데이터 내보내기",clearAllFilters:"모든 필터를 청소"},importer:{noHeaders:"컬럼명이 지정되어 있지 않습니다. 파일에 헤더가 명시되어 있는지 확인해 주세요.",noObjects:"데이터가 지정되어 있지 않습니다. 데이터가 파일에 있는지 확인해 주세요.",invalidCsv:"파일을 처리할 수 없습니다. 올바른 csv인지 확인해 주세요.",invalidJson:"파일을 처리할 수 없습니다. 올바른 json인지 확인해 주세요.",jsonNotArray:"json 파일은 배열을 포함해야 합니다."},pagination:{sizes:"페이지당 항목",totalItems:"전체 항목"}}),n}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(n){n.decorator("i18nService",["$delegate",function(n){return n.add("nl",{aggregate:{label:"items"},groupPanel:{description:"Sleep hier een kolomnaam heen om op te groeperen."},search:{placeholder:"Zoeken...",showingItems:"Getoonde items:",selectedItems:"Geselecteerde items:",totalItems:"Totaal aantal items:",size:"Items per pagina:",first:"Eerste pagina",next:"Volgende pagina",previous:"Vorige pagina",last:"Laatste pagina"},menu:{text:"Kies kolommen:"},sort:{ascending:"Sorteer oplopend",descending:"Sorteer aflopend",remove:"Verwijder sortering"},column:{hide:"Verberg kolom"},aggregation:{count:"Aantal rijen: ",sum:"Som: ",avg:"Gemiddelde: ",min:"Min: ",max:"Max: "},pinning:{pinLeft:"Zet links vast",pinRight:"Zet rechts vast",unpin:"Maak los"},gridMenu:{columns:"Kolommen:",importerTitle:"Importeer bestand",exporterAllAsCsv:"Exporteer alle data als csv",exporterVisibleAsCsv:"Exporteer zichtbare data als csv",exporterSelectedAsCsv:"Exporteer geselecteerde data als csv",exporterAllAsPdf:"Exporteer alle data als pdf",exporterVisibleAsPdf:"Exporteer zichtbare data als pdf",exporterSelectedAsPdf:"Exporteer geselecteerde data als pdf",clearAllFilters:"Reinig alle filters"},importer:{noHeaders:"Kolomnamen kunnen niet worden afgeleid. Heeft het bestand een header?",noObjects:"Objecten kunnen niet worden afgeleid. Bevat het bestand data naast de headers?",invalidCsv:"Het bestand kan niet verwerkt worden. Is het een valide csv bestand?",invalidJson:"Het bestand kan niet verwerkt worden. Is het valide json?",jsonNotArray:"Het json bestand moet een array bevatten. De actie wordt geannuleerd."},pagination:{sizes:"items per pagina",totalItems:"items",of:"van de"},grouping:{group:"Groepeer",ungroup:"Groepering opheffen",aggregate_count:"Agg: Aantal",aggregate_sum:"Agg: Som",aggregate_max:"Agg: Max",aggregate_min:"Agg: Min",aggregate_avg:"Agg: Gem",aggregate_remove:"Agg: Verwijder"}}),n}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(n){n.decorator("i18nService",["$delegate",function(n){return n.add("no",{headerCell:{aria:{defaultFilterLabel:"Filter for column",removeFilter:"Remove Filter",columnMenuButtonLabel:"Column Menu"},priority:"Priority:",filterLabel:"Filter for column: "},aggregate:{label:"items"},groupPanel:{description:"Drag a column header here and drop it to group by that column."},search:{placeholder:"Search...",showingItems:"Showing Items:",selectedItems:"Selected Items:",totalItems:"Total Items:",size:"Page Size:",first:"First Page",next:"Next Page",previous:"Previous Page",last:"Last Page"},menu:{text:"Choose Columns:"},sort:{ascending:"Sort Ascending",descending:"Sort Descending",none:"Sort None",remove:"Remove Sort"},column:{hide:"Hide Column"},aggregation:{count:"total rows: ",sum:"total: ",avg:"avg: ",min:"min: ",max:"max: "},pinning:{pinLeft:"Pin Left",pinRight:"Pin Right",unpin:"Unpin"},columnMenu:{close:"Close"},gridMenu:{aria:{buttonLabel:"Grid Menu"},columns:"Kolonner:",importerTitle:"Importer fil",exporterAllAsCsv:"Eksporter alle data som csv",exporterVisibleAsCsv:"Eksporter synlige data som csv",exporterSelectedAsCsv:"Eksporter utvalgte data som csv",exporterAllAsPdf:"Eksporter alle data som pdf",exporterVisibleAsPdf:"Eksporter synlige data som pdf",exporterSelectedAsPdf:"Eksporter utvalgte data som pdf",clearAllFilters:"Clear all filters"},importer:{noHeaders:"Column names were unable to be derived, does the file have a header?",noObjects:"Objects were not able to be derived, was there data in the file other than headers?",invalidCsv:"File was unable to be processed, is it valid CSV?",invalidJson:"File was unable to be processed, is it valid Json?",jsonNotArray:"Imported json file must contain an array, aborting."},pagination:{aria:{pageToFirst:"Page to first",pageBack:"Page back",pageSelected:"Selected page",pageForward:"Page forward",pageToLast:"Page to last"},sizes:"items per page",totalItems:"items",through:"through",of:"of"},grouping:{group:"Group",ungroup:"Ungroup",aggregate_count:"Agg: Count",aggregate_sum:"Agg: Sum",aggregate_max:"Agg: Max",aggregate_min:"Agg: Min",aggregate_avg:"Agg: Avg",aggregate_remove:"Agg: Remove"}}),n}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(n){n.decorator("i18nService",["$delegate",function(n){return n.add("pl",{headerCell:{aria:{defaultFilterLabel:"Filter dla kolumny",removeFilter:"Usuń filter",columnMenuButtonLabel:"Menu kolumny"},priority:"Prioritet:",filterLabel:"Filtr dla kolumny: "},aggregate:{label:"pozycji"},groupPanel:{description:"Przeciągnij nagłówek kolumny tutaj, aby pogrupować według niej."},search:{placeholder:"Szukaj...",showingItems:"Widoczne pozycje:",selectedItems:"Zaznaczone pozycje:",totalItems:"Wszystkich pozycji:",size:"Rozmiar strony:",first:"Pierwsza strona",next:"Następna strona",previous:"Poprzednia strona",last:"Ostatnia strona"},menu:{text:"Wybierz kolumny:"},sort:{ascending:"Sortuj rosnąco",descending:"Sortuj malejąco",none:"Brak sortowania",remove:"Wyłącz sortowanie"},column:{hide:"Ukryj kolumne"},aggregation:{count:"Razem pozycji: ",sum:"Razem: ",avg:"Średnia: ",min:"Min: ",max:"Max: "},pinning:{pinLeft:"Przypnij do lewej",pinRight:"Przypnij do prawej",unpin:"Odepnij"},columnMenu:{close:"Zamknij"},gridMenu:{aria:{buttonLabel:"Menu Grida"},columns:"Kolumny:",importerTitle:"Importuj plik",exporterAllAsCsv:"Eksportuj wszystkie dane do csv",exporterVisibleAsCsv:"Eksportuj widoczne dane do csv",exporterSelectedAsCsv:"Eksportuj zaznaczone dane do csv",exporterAllAsPdf:"Eksportuj wszystkie dane do pdf",exporterVisibleAsPdf:"Eksportuj widoczne dane do pdf",exporterSelectedAsPdf:"Eksportuj zaznaczone dane do pdf",clearAllFilters:"Wyczyść filtry"},importer:{noHeaders:"Nie udało się wczytać nazw kolumn. Czy plik posiada nagłówek?",noObjects:"Nie udalo się wczytać pozycji. Czy plik zawiera dane??",invalidCsv:"Nie udało się przetworzyć pliku, jest to prawidlowy plik CSV??",invalidJson:"Nie udało się przetworzyć pliku, jest to prawidlowy plik Json?",jsonNotArray:"Importowany plik json musi zawierać tablicę, importowanie przerwane."},pagination:{aria:{pageToFirst:"Pierwsza strona",pageBack:"Poprzednia strona",pageSelected:"Wybrana strona",pageForward:"Następna strona",pageToLast:"Ostatnia strona"},sizes:"pozycji na stronę",totalItems:"pozycji",through:"do",of:"z"},grouping:{group:"Grupuj",ungroup:"Rozgrupuj",aggregate_count:"Zbiorczo: Razem",aggregate_sum:"Zbiorczo: Suma",aggregate_max:"Zbiorczo: Max",aggregate_min:"Zbiorczo: Min",aggregate_avg:"Zbiorczo: Średnia",aggregate_remove:"Zbiorczo: Usuń"}}),n}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(n){n.decorator("i18nService",["$delegate",function(n){return n.add("pt-br",{headerCell:{aria:{defaultFilterLabel:"Filtro por coluna",removeFilter:"Remover filtro",columnMenuButtonLabel:"Menu coluna"},priority:"Prioridade:",filterLabel:"Filtro por coluna: "},aggregate:{label:"itens"},groupPanel:{description:"Arraste e solte uma coluna aqui para agrupar por essa coluna"},search:{placeholder:"Procurar...",showingItems:"Mostrando os Itens:",selectedItems:"Items Selecionados:",totalItems:"Total de Itens:",size:"Tamanho da Página:",first:"Primeira Página",next:"Próxima Página",previous:"Página Anterior",last:"Última Página"},menu:{text:"Selecione as colunas:"},sort:{ascending:"Ordenar Ascendente",descending:"Ordenar Descendente",none:"Nenhuma Ordem",remove:"Remover Ordenação"},column:{hide:"Esconder coluna"},aggregation:{count:"total de linhas: ",sum:"total: ",avg:"med: ",min:"min: ",max:"max: "},pinning:{pinLeft:"Fixar Esquerda",pinRight:"Fixar Direita",unpin:"Desprender"},columnMenu:{close:"Fechar"},gridMenu:{aria:{buttonLabel:"Menu Grid"},columns:"Colunas:",importerTitle:"Importar arquivo",exporterAllAsCsv:"Exportar todos os dados como csv",exporterVisibleAsCsv:"Exportar dados visíveis como csv",exporterSelectedAsCsv:"Exportar dados selecionados como csv",exporterAllAsPdf:"Exportar todos os dados como pdf",exporterVisibleAsPdf:"Exportar dados visíveis como pdf",exporterSelectedAsPdf:"Exportar dados selecionados como pdf",clearAllFilters:"Limpar todos os filtros"},importer:{noHeaders:"Nomes de colunas não puderam ser derivados. O arquivo tem um cabeçalho?",noObjects:"Objetos não puderam ser derivados. Havia dados no arquivo, além dos cabeçalhos?",invalidCsv:"Arquivo não pode ser processado. É um CSV válido?",invalidJson:"Arquivo não pode ser processado. É um Json válido?",jsonNotArray:"Arquivo json importado tem que conter um array. Abortando."},pagination:{aria:{pageToFirst:"Primeira página",pageBack:"Página anterior",pageSelected:"Página Selecionada",pageForward:"Proxima",pageToLast:"Anterior"},sizes:"itens por página",totalItems:"itens",through:"através dos",of:"de"},grouping:{group:"Agrupar",ungroup:"Desagrupar",aggregate_count:"Agr: Contar",aggregate_sum:"Agr: Soma",aggregate_max:"Agr: Max",aggregate_min:"Agr: Min",aggregate_avg:"Agr: Med",aggregate_remove:"Agr: Remover"}}),n}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(n){n.decorator("i18nService",["$delegate",function(n){return n.add("pt",{headerCell:{aria:{defaultFilterLabel:"Filtro por coluna",removeFilter:"Remover filtro",columnMenuButtonLabel:"Menu coluna"},priority:"Prioridade:",filterLabel:"Filtro por coluna: "},aggregate:{label:"itens"},groupPanel:{description:"Arraste e solte uma coluna aqui para agrupar por essa coluna"},search:{placeholder:"Procurar...",showingItems:"Mostrando os Itens:",selectedItems:"Itens Selecionados:",totalItems:"Total de Itens:",size:"Tamanho da Página:",first:"Primeira Página",next:"Próxima Página",previous:"Página Anterior",last:"Última Página"},menu:{text:"Selecione as colunas:"},sort:{ascending:"Ordenar Ascendente",descending:"Ordenar Descendente",none:"Nenhuma Ordem",remove:"Remover Ordenação"},column:{hide:"Esconder coluna"},aggregation:{count:"total de linhas: ",sum:"total: ",avg:"med: ",min:"min: ",max:"max: "},pinning:{pinLeft:"Fixar Esquerda",pinRight:"Fixar Direita",unpin:"Desprender"},columnMenu:{close:"Fechar"},gridMenu:{aria:{buttonLabel:"Menu Grid"},columns:"Colunas:",importerTitle:"Importar ficheiro",exporterAllAsCsv:"Exportar todos os dados como csv",exporterVisibleAsCsv:"Exportar dados visíveis como csv",exporterSelectedAsCsv:"Exportar dados selecionados como csv",exporterAllAsPdf:"Exportar todos os dados como pdf",exporterVisibleAsPdf:"Exportar dados visíveis como pdf",exporterSelectedAsPdf:"Exportar dados selecionados como pdf",clearAllFilters:"Limpar todos os filtros"},importer:{noHeaders:"Nomes de colunas não puderam ser derivados. O ficheiro tem um cabeçalho?",noObjects:"Objetos não puderam ser derivados. Havia dados no ficheiro, além dos cabeçalhos?",invalidCsv:"Ficheiro não pode ser processado. É um CSV válido?",invalidJson:"Ficheiro não pode ser processado. É um Json válido?",jsonNotArray:"Ficheiro json importado tem que conter um array. Interrompendo."},pagination:{aria:{pageToFirst:"Primeira página",pageBack:"Página anterior",pageSelected:"Página Selecionada",pageForward:"Próxima",pageToLast:"Anterior"},sizes:"itens por página",totalItems:"itens",through:"através dos",of:"de"},grouping:{group:"Agrupar",ungroup:"Desagrupar",aggregate_count:"Agr: Contar",aggregate_sum:"Agr: Soma",aggregate_max:"Agr: Max",aggregate_min:"Agr: Min",aggregate_avg:"Agr: Med",aggregate_remove:"Agr: Remover"}}),n}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(n){n.decorator("i18nService",["$delegate",function(n){return n.add("ro",{headerCell:{aria:{defaultFilterLabel:"Filtru pentru coloana",removeFilter:"Sterge filtru",columnMenuButtonLabel:"Column Menu"},priority:"Prioritate:",filterLabel:"Filtru pentru coloana:"},aggregate:{label:"Elemente"},groupPanel:{description:"Trage un cap de coloana aici pentru a grupa elementele dupa coloana respectiva"},search:{placeholder:"Cauta...",showingItems:"Arata elementele:",selectedItems:"Elementele selectate:",totalItems:"Total elemente:",size:"Marime pagina:",first:"Prima pagina",next:"Pagina urmatoare",previous:"Pagina anterioara",last:"Ultima pagina"},menu:{text:"Alege coloane:"},sort:{ascending:"Ordoneaza crescator",descending:"Ordoneaza descrescator",none:"Fara ordonare",remove:"Sterge ordonarea"},column:{hide:"Ascunde coloana"},aggregation:{count:"total linii: ",sum:"total: ",avg:"medie: ",min:"min: ",max:"max: "},pinning:{pinLeft:"Pin la stanga",pinRight:"Pin la dreapta",unpin:"Sterge pinul"},columnMenu:{close:"Inchide"},gridMenu:{aria:{buttonLabel:"Grid Menu"},columns:"Coloane:",importerTitle:"Incarca fisier",exporterAllAsCsv:"Exporta toate datele ca csv",exporterVisibleAsCsv:"Exporta datele vizibile ca csv",exporterSelectedAsCsv:"Exporta datele selectate ca csv",exporterAllAsPdf:"Exporta toate datele ca pdf",exporterVisibleAsPdf:"Exporta datele vizibile ca pdf",exporterSelectedAsPdf:"Exporta datele selectate ca csv pdf",clearAllFilters:"Sterge toate filtrele"},importer:{noHeaders:"Numele coloanelor nu a putut fi incarcat, acest fisier are un header?",noObjects:"Datele nu au putut fi incarcate, exista date in fisier in afara numelor de coloane?",invalidCsv:"Fisierul nu a putut fi procesat, ati incarcat un CSV valid ?",invalidJson:"Fisierul nu a putut fi procesat, ati incarcat un Json valid?",jsonNotArray:"Json-ul incarcat trebuie sa contina un array, inchidere."},pagination:{aria:{pageToFirst:"Prima pagina",pageBack:"O pagina inapoi",pageSelected:"Pagina selectata",pageForward:"O pagina inainte",pageToLast:"Ultima pagina"},sizes:"Elemente per pagina",totalItems:"elemente",through:"prin",of:"of"},grouping:{group:"Grupeaza",ungroup:"Opreste gruparea",aggregate_count:"Agg: Count",aggregate_sum:"Agg: Sum",aggregate_max:"Agg: Max",aggregate_min:"Agg: Min",aggregate_avg:"Agg: Avg",aggregate_remove:"Agg: Remove"}}),n}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(n){n.decorator("i18nService",["$delegate",function(n){return n.add("ru",{headerCell:{aria:{defaultFilterLabel:"Фильтр столбца",removeFilter:"Удалить фильтр",columnMenuButtonLabel:"Меню столбца"},priority:"Приоритет:",filterLabel:"Фильтр столбца: "},aggregate:{label:"элементы"},groupPanel:{description:"Для группировки по столбцу перетащите сюда его название."},search:{placeholder:"Поиск...",showingItems:"Показать элементы:",selectedItems:"Выбранные элементы:",totalItems:"Всего элементов:",size:"Размер страницы:",first:"Первая страница",next:"Следующая страница",previous:"Предыдущая страница",last:"Последняя страница"},menu:{text:"Выбрать столбцы:"},sort:{ascending:"По возрастанию",descending:"По убыванию",none:"Без сортировки",remove:"Убрать сортировку"},column:{hide:"Спрятать столбец"},aggregation:{count:"всего строк: ",sum:"итого: ",avg:"среднее: ",min:"мин: ",max:"макс: "},pinning:{pinLeft:"Закрепить слева",pinRight:"Закрепить справа",unpin:"Открепить"},columnMenu:{close:"Закрыть"},gridMenu:{aria:{buttonLabel:"Меню"},columns:"Столбцы:",importerTitle:"Импортировать файл",exporterAllAsCsv:"Экспортировать всё в CSV",exporterVisibleAsCsv:"Экспортировать видимые данные в CSV",exporterSelectedAsCsv:"Экспортировать выбранные данные в CSV",exporterAllAsPdf:"Экспортировать всё в PDF",exporterVisibleAsPdf:"Экспортировать видимые данные в PDF",exporterSelectedAsPdf:"Экспортировать выбранные данные в PDF",clearAllFilters:"Очистите все фильтры"},importer:{noHeaders:"Не удалось получить названия столбцов, есть ли в файле заголовок?",noObjects:"Не удалось получить данные, есть ли в файле строки кроме заголовка?",invalidCsv:"Не удалось обработать файл, это правильный CSV-файл?",invalidJson:"Не удалось обработать файл, это правильный JSON?",jsonNotArray:"Импортируемый JSON-файл должен содержать массив, операция отменена."},pagination:{aria:{pageToFirst:"Первая страница",pageBack:"Предыдущая страница",pageSelected:"Выбранная страница",pageForward:"Следующая страница",pageToLast:"Последняя страница"},sizes:"строк на страницу",totalItems:"строк",through:"по",of:"из"},grouping:{group:"Группировать",ungroup:"Разгруппировать",aggregate_count:"Группировать: Count",aggregate_sum:"Для группы: Сумма",aggregate_max:"Для группы: Максимум",aggregate_min:"Для группы: Минимум",aggregate_avg:"Для группы: Среднее",aggregate_remove:"Для группы: Пусто"}}),n}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(n){n.decorator("i18nService",["$delegate",function(n){return n.add("sk",{aggregate:{label:"items"},groupPanel:{description:"Pretiahni sem názov stĺpca pre zoskupenie podľa toho stĺpca."},search:{placeholder:"Hľadaj...",showingItems:"Zobrazujem položky:",selectedItems:"Vybraté položky:",totalItems:"Počet položiek:",size:"Počet:",first:"Prvá strana",next:"Ďalšia strana",previous:"Predchádzajúca strana",last:"Posledná strana"},menu:{text:"Vyberte stĺpce:"},sort:{ascending:"Zotriediť vzostupne",descending:"Zotriediť zostupne",remove:"Vymazať triedenie"},aggregation:{count:"total rows: ",sum:"total: ",avg:"avg: ",min:"min: ",max:"max: "},gridMenu:{columns:"Columns:",importerTitle:"Import file",exporterAllAsCsv:"Export all data as csv",exporterVisibleAsCsv:"Export visible data as csv",exporterSelectedAsCsv:"Export selected data as csv",exporterAllAsPdf:"Export all data as pdf",exporterVisibleAsPdf:"Export visible data as pdf",exporterSelectedAsPdf:"Export selected data as pdf",clearAllFilters:"Clear all filters"},importer:{noHeaders:"Column names were unable to be derived, does the file have a header?",noObjects:"Objects were not able to be derived, was there data in the file other than headers?",invalidCsv:"File was unable to be processed, is it valid CSV?",invalidJson:"File was unable to be processed, is it valid Json?",jsonNotArray:"Imported json file must contain an array, aborting."}}),n}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(n){n.decorator("i18nService",["$delegate",function(n){return n.add("sv",{aggregate:{label:"Artiklar"},groupPanel:{description:"Dra en kolumnrubrik hit och släpp den för att gruppera efter den kolumnen."},search:{placeholder:"Sök...",showingItems:"Visar artiklar:",selectedItems:"Valda artiklar:",totalItems:"Antal artiklar:",size:"Sidstorlek:",first:"Första sidan",next:"Nästa sida",previous:"Föregående sida",last:"Sista sidan"},menu:{text:"Välj kolumner:"},sort:{ascending:"Sortera stigande",descending:"Sortera fallande",remove:"Inaktivera sortering"},column:{hide:"Göm kolumn"},aggregation:{count:"Antal rader: ",sum:"Summa: ",avg:"Genomsnitt: ",min:"Min: ",max:"Max: "},pinning:{pinLeft:"Fäst vänster",pinRight:"Fäst höger",unpin:"Lösgör"},gridMenu:{columns:"Kolumner:",importerTitle:"Importera fil",exporterAllAsCsv:"Exportera all data som CSV",exporterVisibleAsCsv:"Exportera synlig data som CSV",exporterSelectedAsCsv:"Exportera markerad data som CSV",exporterAllAsPdf:"Exportera all data som PDF",exporterVisibleAsPdf:"Exportera synlig data som PDF",exporterSelectedAsPdf:"Exportera markerad data som PDF",clearAllFilters:"Rengör alla filter"},importer:{noHeaders:"Kolumnnamn kunde inte härledas. Har filen ett sidhuvud?",noObjects:"Objekt kunde inte härledas. Har filen data undantaget sidhuvud?",invalidCsv:"Filen kunde inte behandlas, är den en giltig CSV?",invalidJson:"Filen kunde inte behandlas, är den en giltig JSON?",jsonNotArray:"Importerad JSON-fil måste innehålla ett fält. Import avbruten."},pagination:{sizes:"Artiklar per sida",totalItems:"Artiklar"}}),n}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(n){n.decorator("i18nService",["$delegate",function(n){return n.add("ta",{aggregate:{label:"உருப்படிகள்"},groupPanel:{description:"ஒரு பத்தியை குழுவாக அமைக்க அப்பத்தியின் தலைப்பை இங்கே  இழுத்து வரவும் "},search:{placeholder:"தேடல் ...",showingItems:"உருப்படிகளை காண்பித்தல்:",selectedItems:"தேர்ந்தெடுக்கப்பட்ட  உருப்படிகள்:",totalItems:"மொத்த உருப்படிகள்:",size:"பக்க அளவு: ",first:"முதல் பக்கம்",next:"அடுத்த பக்கம்",previous:"முந்தைய பக்கம் ",last:"இறுதி பக்கம்"},menu:{text:"பத்திகளை தேர்ந்தெடு:"},sort:{ascending:"மேலிருந்து கீழாக",descending:"கீழிருந்து மேலாக",remove:"வரிசையை நீக்கு"},column:{hide:"பத்தியை மறைத்து வை "},aggregation:{count:"மொத்த வரிகள்:",sum:"மொத்தம்: ",avg:"சராசரி: ",min:"குறைந்தபட்ச: ",max:"அதிகபட்ச: "},pinning:{pinLeft:"இடதுபுறமாக தைக்க ",pinRight:"வலதுபுறமாக தைக்க",unpin:"பிரி"},gridMenu:{columns:"பத்திகள்:",importerTitle:"கோப்பு : படித்தல்",exporterAllAsCsv:"எல்லா தரவுகளையும் கோப்பாக்கு: csv",exporterVisibleAsCsv:"இருக்கும் தரவுகளை கோப்பாக்கு: csv",exporterSelectedAsCsv:"தேர்ந்தெடுத்த தரவுகளை கோப்பாக்கு: csv",exporterAllAsPdf:"எல்லா தரவுகளையும் கோப்பாக்கு: pdf",exporterVisibleAsPdf:"இருக்கும் தரவுகளை கோப்பாக்கு: pdf",exporterSelectedAsPdf:"தேர்ந்தெடுத்த தரவுகளை கோப்பாக்கு: pdf",clearAllFilters:"Clear all filters"},importer:{noHeaders:"பத்தியின் தலைப்புகளை பெற இயலவில்லை, கோப்பிற்கு தலைப்பு உள்ளதா?",noObjects:"இலக்குகளை உருவாக்க முடியவில்லை, கோப்பில் தலைப்புகளை தவிர தரவு ஏதேனும் உள்ளதா? ",invalidCsv:"சரிவர நடைமுறை படுத்த இயலவில்லை, கோப்பு சரிதானா? - csv",invalidJson:"சரிவர நடைமுறை படுத்த இயலவில்லை, கோப்பு சரிதானா? - json",jsonNotArray:"படித்த கோப்பில் வரிசைகள் உள்ளது, நடைமுறை ரத்து செய் : json"},pagination:{sizes:"உருப்படிகள் / பக்கம்",totalItems:"உருப்படிகள் "},grouping:{group:"குழு",ungroup:"பிரி",aggregate_count:"மதிப்பீட்டு : எண்ணு",aggregate_sum:"மதிப்பீட்டு : கூட்டல்",aggregate_max:"மதிப்பீட்டு : அதிகபட்சம்",aggregate_min:"மதிப்பீட்டு : குறைந்தபட்சம்",aggregate_avg:"மதிப்பீட்டு : சராசரி",aggregate_remove:"மதிப்பீட்டு : நீக்கு"}}),n}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(n){n.decorator("i18nService",["$delegate",function(n){return n.add("tr",{headerCell:{aria:{defaultFilterLabel:"Sütun için filtre",removeFilter:"Filtreyi Kaldır",columnMenuButtonLabel:"Sütun Menüsü"},priority:"Öncelik:",filterLabel:"Sütun için filtre: "},aggregate:{label:"kayıtlar"},groupPanel:{description:"Sütuna göre gruplamak için sütun başlığını buraya sürükleyin ve bırakın."},search:{placeholder:"Arama...",showingItems:"Gösterilen Kayıt:",selectedItems:"Seçili Kayıt:",totalItems:"Toplam Kayıt:",size:"Sayfa Boyutu:",first:"İlk Sayfa",next:"Sonraki Sayfa",previous:"Önceki Sayfa",last:"Son Sayfa"},menu:{text:"Sütunları Seç:"},sort:{ascending:"Artan Sırada Sırala",descending:"Azalan Sırada Sırala",none:"Sıralama Yapma",remove:"Sıralamayı Kaldır"},column:{hide:"Sütunu Gizle"},aggregation:{count:"toplam satır: ",sum:"toplam: ",avg:"ort: ",min:"min: ",max:"maks: "},pinning:{pinLeft:"Sola Sabitle",pinRight:"Sağa Sabitle",unpin:"Sabitlemeyi Kaldır"},columnMenu:{close:"Kapat"},gridMenu:{aria:{buttonLabel:"Tablo Menü"},columns:"Sütunlar:",importerTitle:"Dosya içeri aktar",exporterAllAsCsv:"Bütün veriyi CSV olarak dışarı aktar",exporterVisibleAsCsv:"Görünen veriyi CSV olarak dışarı aktar",exporterSelectedAsCsv:"Seçili veriyi CSV olarak dışarı aktar",exporterAllAsPdf:"Bütün veriyi PDF olarak dışarı aktar",exporterVisibleAsPdf:"Görünen veriyi PDF olarak dışarı aktar",exporterSelectedAsPdf:"Seçili veriyi PDF olarak dışarı aktar",clearAllFilters:"Bütün filtreleri kaldır"},importer:{noHeaders:"Sütun isimleri üretilemiyor, dosyanın bir başlığı var mı?",noObjects:"Nesneler üretilemiyor, dosyada başlıktan başka bir veri var mı?",invalidCsv:"Dosya işlenemedi, geçerli bir CSV dosyası mı?",invalidJson:"Dosya işlenemedi, geçerli bir Json dosyası mı?",jsonNotArray:"Alınan Json dosyasında bir dizi bulunmalıdır, işlem iptal ediliyor."},pagination:{aria:{pageToFirst:"İlk sayfaya",pageBack:"Geri git",pageSelected:"Seçili sayfa",pageForward:"İleri git",pageToLast:"Sona git"},sizes:"Sayfadaki nesne sayısı",totalItems:"kayıtlar",through:"",of:""},grouping:{group:"Grupla",ungroup:"Gruplama",aggregate_count:"Yekun: Sayı",aggregate_sum:"Yekun: Toplam",aggregate_max:"Yekun: Maks",aggregate_min:"Yekun: Min",aggregate_avg:"Yekun: Ort",aggregate_remove:"Yekun: Sil"}}),n}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(n){n.decorator("i18nService",["$delegate",function(n){return n.add("ua",{headerCell:{aria:{defaultFilterLabel:"Фільтр стовпчика",removeFilter:"Видалити фільтр",columnMenuButtonLabel:"Меню ствпчика"},priority:"Пріоритет:",filterLabel:"Фільтр стовпчика: "},aggregate:{label:"елементи"},groupPanel:{description:"Для групування за стовпчиком перетягніть сюди його назву."},search:{placeholder:"Пошук...",showingItems:"Показати елементи:",selectedItems:"Обрані елементи:",totalItems:"Усього елементів:",size:"Розмір сторінки:",first:"Перша сторінка",next:"Наступна сторінка",previous:"Попередня сторінка",last:"Остання сторінка"},menu:{text:"Обрати ствпчики:"},sort:{ascending:"За зростанням",descending:"За спаданням",none:"Без сортування",remove:"Прибрати сортування"},column:{hide:"Приховати стовпчик"},aggregation:{count:"усього рядків: ",sum:"ітого: ",avg:"середнє: ",min:"мін: ",max:"макс: "},pinning:{pinLeft:"Закріпити ліворуч",pinRight:"Закріпити праворуч",unpin:"Відкріпити"},columnMenu:{close:"Закрити"},gridMenu:{aria:{buttonLabel:"Меню"},columns:"Стовпчики:",importerTitle:"Імпортувати файл",exporterAllAsCsv:"Експортувати все в CSV",exporterVisibleAsCsv:"Експортувати видимі дані в CSV",exporterSelectedAsCsv:"Експортувати обрані дані в CSV",exporterAllAsPdf:"Експортувати все в PDF",exporterVisibleAsPdf:"Експортувати видимі дані в PDF",exporterSelectedAsPdf:"Експортувати обрані дані в PDF",clearAllFilters:"Очистити всі фільтри"},importer:{noHeaders:"Не вдалося отримати назви стовпчиків, чи є в файлі заголовок?",noObjects:"Не вдалося отримати дані, чи є в файлі рядки окрім заголовка?",invalidCsv:"Не вдалося обробити файл, чи це коректний CSV-файл?",invalidJson:"Не вдалося обробити файл, чи це коректний JSON?",jsonNotArray:"JSON-файл що імпортується повинен містити масив, операцію скасовано."},pagination:{aria:{pageToFirst:"Перша сторінка",pageBack:"Попередня сторінка",pageSelected:"Обрана сторінка",pageForward:"Наступна сторінка",pageToLast:"Остання сторінка"},sizes:"рядків на сторінку",totalItems:"рядків",through:"по",of:"з"},grouping:{group:"Групувати",ungroup:"Розгрупувати",aggregate_count:"Групувати: Кількість",aggregate_sum:"Для групи: Сума",aggregate_max:"Для групи: Максимум",aggregate_min:"Для групи: Мінімум",aggregate_avg:"Для групи: Серднє",aggregate_remove:"Для групи: Пусто"}}),n}])}])}(),function(){var t=["uiT","uiTranslate"],n=angular.module("ui.grid.i18n"),i,r,u;n.constant("i18nConstants",{MISSING:"[MISSING]",UPDATE_EVENT:"$uiI18n",LOCALE_DIRECTIVE_ALIAS:"uiI18n",DEFAULT_LANG:"en"});n.service("i18nService",["$log","i18nConstants","$rootScope",function(n,t,i){var r={_langs:{},current:null,get:function(n){return this._langs[n.toLowerCase()]},add:function(n,t){var i=n.toLowerCase();this._langs[i]||(this._langs[i]={});angular.extend(this._langs[i],t)},getAllLangs:function(){var n=[],t;if(!this._langs)return n;for(t in this._langs)n.push(t);return n},setCurrent:function(n){this.current=n.toLowerCase()},getCurrentLang:function(){return this.current}},u={add:function(n,t){typeof n=="object"?angular.forEach(n,function(n){n&&r.add(n,t)}):r.add(n,t)},getAllLangs:function(){return r.getAllLangs()},get:function(n){var t=n?n:u.getCurrentLang();return r.get(t)},getSafeText:function(n,i){var h=i?i:u.getCurrentLang(),s=r.get(h),o,f,e;if(!s)return t.MISSING;for(o=n.split("."),f=s,e=0;e<o.length;++e){if(f[o[e]]===undefined||f[o[e]]===null)return t.MISSING;f=f[o[e]]}return f},setCurrentLang:function(n){n&&(r.setCurrent(n),i.$broadcast(t.UPDATE_EVENT))},getCurrentLang:function(){var n=r.getCurrentLang();return n||(n=t.DEFAULT_LANG,r.setCurrent(n)),n}};return u}]);i=function(n,t){return{compile:function(){return{pre:function(i,r,u){var f=t.LOCALE_DIRECTIVE_ALIAS,e=i.$eval(u[f]);e?i.$watch(u[f],function(){n.setCurrentLang(e)}):u.$$observers&&u.$observe(f,function(){n.setCurrentLang(u[f]||t.DEFAULT_LANG)})}}}}};n.directive("uiI18n",["i18nService","i18nConstants",i]);r=function(n,i,r){return{restrict:"EA",compile:function(){return{pre:function(u,f,e){var o=t[0],s=t[1],a=e[o]||e[s]||f.html(),h=r.MISSING+a,c,v,l,y;e.$$observers&&(v=e[o]?o:s,c=e.$observe(v,function(t){t&&f.html(n(t)(i.getCurrentLang())||h)}));l=n(a);y=u.$on(r.UPDATE_EVENT,function(){c?c(e[o]||e[s]):f.html(l(i.get())||h)});u.$on("$destroy",y);f.html(l(i.get())||h)}}}}};angular.forEach(t,function(t){n.directive(t,["$parse","i18nService","i18nConstants",r])});u=function(n,t,i){return function(r){var u=n(r);return u(t.get())||i.MISSING+r}};angular.forEach(["t","uiTranslate"],function(t){n.filter(t,["$parse","i18nService","i18nConstants",u])})}(),function(){angular.module("ui.grid").config(["$provide",function(n){n.decorator("i18nService",["$delegate",function(n){return n.add("zh-cn",{headerCell:{aria:{defaultFilterLabel:"列过滤器",removeFilter:"移除过滤器",columnMenuButtonLabel:"列菜单"},priority:"优先级:",filterLabel:"列过滤器: "},aggregate:{label:"行"},groupPanel:{description:"拖曳表头到此处进行分组"},search:{placeholder:"查找",showingItems:"已显示行数：",selectedItems:"已选择行数：",totalItems:"总行数：",size:"每页显示行数：",first:"首页",next:"下一页",previous:"上一页",last:"末页"},menu:{text:"选择列："},sort:{ascending:"升序",descending:"降序",none:"无序",remove:"取消排序"},column:{hide:"隐藏列"},aggregation:{count:"计数：",sum:"求和：",avg:"均值：",min:"最小值：",max:"最大值："},pinning:{pinLeft:"左侧固定",pinRight:"右侧固定",unpin:"取消固定"},columnMenu:{close:"关闭"},gridMenu:{aria:{buttonLabel:"表格菜单"},columns:"列：",importerTitle:"导入文件",exporterAllAsCsv:"导出全部数据到CSV",exporterVisibleAsCsv:"导出可见数据到CSV",exporterSelectedAsCsv:"导出已选数据到CSV",exporterAllAsPdf:"导出全部数据到PDF",exporterVisibleAsPdf:"导出可见数据到PDF",exporterSelectedAsPdf:"导出已选数据到PDF",clearAllFilters:"清除所有过滤器"},importer:{noHeaders:"无法获取列名，确定文件包含表头？",noObjects:"无法获取数据，确定文件包含数据？",invalidCsv:"无法处理文件，确定是合法的CSV文件？",invalidJson:"无法处理文件，确定是合法的JSON文件？",jsonNotArray:"导入的文件不是JSON数组！"},pagination:{aria:{pageToFirst:"第一页",pageBack:"上一页",pageSelected:"当前页",pageForward:"下一页",pageToLast:"最后一页"},sizes:"行每页",totalItems:"行",through:"至",of:"共"},grouping:{group:"分组",ungroup:"取消分组",aggregate_count:"合计: 计数",aggregate_sum:"合计: 求和",aggregate_max:"合计: 最大",aggregate_min:"合计: 最小",aggregate_avg:"合计: 平均",aggregate_remove:"合计: 移除"}}),n}])}])}(),function(){angular.module("ui.grid").config(["$provide",function(n){n.decorator("i18nService",["$delegate",function(n){return n.add("zh-tw",{aggregate:{label:"行"},groupPanel:{description:"拖曳表頭到此處進行分組"},search:{placeholder:"查找",showingItems:"已顯示行數：",selectedItems:"已選擇行數：",totalItems:"總行數：",size:"每頁顯示行數：",first:"首頁",next:"下壹頁",previous:"上壹頁",last:"末頁"},menu:{text:"選擇列："},sort:{ascending:"升序",descending:"降序",remove:"取消排序"},column:{hide:"隱藏列"},aggregation:{count:"計數：",sum:"求和：",avg:"均值：",min:"最小值：",max:"最大值："},pinning:{pinLeft:"左側固定",pinRight:"右側固定",unpin:"取消固定"},gridMenu:{columns:"列：",importerTitle:"導入文件",exporterAllAsCsv:"導出全部數據到CSV",exporterVisibleAsCsv:"導出可見數據到CSV",exporterSelectedAsCsv:"導出已選數據到CSV",exporterAllAsPdf:"導出全部數據到PDF",exporterVisibleAsPdf:"導出可見數據到PDF",exporterSelectedAsPdf:"導出已選數據到PDF",clearAllFilters:"清除所有过滤器"},importer:{noHeaders:"無法獲取列名，確定文件包含表頭？",noObjects:"無法獲取數據，確定文件包含數據？",invalidCsv:"無法處理文件，確定是合法的CSV文件？",invalidJson:"無法處理文件，確定是合法的JSON文件？",jsonNotArray:"導入的文件不是JSON數組！"},pagination:{sizes:"行每頁",totalItems:"行"}}),n}])}])}(),function(){"use strict";var n=angular.module("ui.grid.autoResize",["ui.grid"]);n.directive("uiGridAutoResize",["$timeout","gridUtil",function(n,t){return{require:"uiGrid",scope:!1,link:function(n,i,r,u){function h(){e=t.elementHeight(i);f=t.elementWidth(i)}function s(){clearTimeout(o);o=setTimeout(function(){var r=t.elementHeight(i),o=t.elementWidth(i);r!==e||o!==f?(u.grid.gridHeight=r,u.grid.gridWidth=o,u.grid.api.core.raise.gridDimensionChanged(e,f,r,o),n.$apply(function(){u.grid.refresh().then(function(){h();s()})})):s()},250)}var f,e,o;h();s();n.$on("$destroy",function(){clearTimeout(o)})}}}])}(),function(){"use strict";var n=angular.module("ui.grid.cellNav",["ui.grid"]);n.constant("uiGridCellNavConstants",{FEATURE_NAME:"gridCellNav",CELL_NAV_EVENT:"cellNav",direction:{LEFT:0,RIGHT:1,UP:2,DOWN:3,PG_UP:4,PG_DOWN:5},EVENT_TYPE:{KEYDOWN:0,CLICK:1,CLEAR:2}});n.factory("uiGridCellNavFactory",["gridUtil","uiGridConstants","uiGridCellNavConstants","GridRowColumn","$q",function(n,t,i,r){var u=function(n,t,i,r){this.rows=n.visibleRowCache;this.columns=t.visibleColumnCache;this.leftColumns=i?i.visibleColumnCache:[];this.rightColumns=r?r.visibleColumnCache:[];this.bodyContainer=n};return u.prototype.getFocusableCols=function(){var n=this.leftColumns.concat(this.columns,this.rightColumns);return n.filter(function(n){return n.colDef.allowCellFocus})},u.prototype.getFocusableRows=function(){return this.rows.filter(function(n){return n.allowCellFocus!==!1})},u.prototype.getNextRowCol=function(n,t,r){switch(n){case i.direction.LEFT:return this.getRowColLeft(t,r);case i.direction.RIGHT:return this.getRowColRight(t,r);case i.direction.UP:return this.getRowColUp(t,r);case i.direction.DOWN:return this.getRowColDown(t,r);case i.direction.PG_UP:return this.getRowColPageUp(t,r);case i.direction.PG_DOWN:return this.getRowColPageDown(t,r)}},u.prototype.initializeSelection=function(){var n=this.getFocusableCols(),t=this.getFocusableRows(),i,u;return n.length===0||t.length===0?null:(i=0,u=0,new r(t[0],n[0]))},u.prototype.getRowColLeft=function(n,t){var i=this.getFocusableCols(),e=this.getFocusableRows(),u=i.indexOf(t),o=e.indexOf(n),f;return u===-1&&(u=1),f=u===0?i.length-1:u-1,f>u?o===0?new r(n,i[f]):new r(e[o-1],i[f]):new r(n,i[f])},u.prototype.getRowColRight=function(n,t){var i=this.getFocusableCols(),e=this.getFocusableRows(),u=i.indexOf(t),o=e.indexOf(n),f;return u===-1&&(u=0),f=u===i.length-1?0:u+1,f<u?o===e.length-1?new r(n,i[f]):new r(e[o+1],i[f]):new r(n,i[f])},u.prototype.getRowColDown=function(n,t){var u=this.getFocusableCols(),f=this.getFocusableRows(),i=u.indexOf(t),e=f.indexOf(n);return i===-1&&(i=0),e===f.length-1?new r(n,u[i]):new r(f[e+1],u[i])},u.prototype.getRowColPageDown=function(n,t){var f=this.getFocusableCols(),i=this.getFocusableRows(),u=f.indexOf(t),o=i.indexOf(n),e;return u===-1&&(u=0),e=this.bodyContainer.minRowsToRender(),o>=i.length-e?new r(i[i.length-1],f[u]):new r(i[o+e],f[u])},u.prototype.getRowColUp=function(n,t){var u=this.getFocusableCols(),f=this.getFocusableRows(),i=u.indexOf(t),e=f.indexOf(n);return i===-1&&(i=0),e===0?new r(n,u[i]):new r(f[e-1],u[i])},u.prototype.getRowColPageUp=function(n,t){var u=this.getFocusableCols(),f=this.getFocusableRows(),i=u.indexOf(t),o=f.indexOf(n),e;return i===-1&&(i=0),e=this.bodyContainer.minRowsToRender(),o-e<0?new r(f[0],u[i]):new r(f[o-e],u[i])},u}]);n.service("uiGridCellNavService",["gridUtil","uiGridConstants","uiGridCellNavConstants","$q","uiGridCellNavFactory","GridRowColumn","ScrollEvent",function(n,t,i,r,u){var f={initializeGrid:function(n){n.registerColumnBuilder(f.cellNavColumnBuilder);n.cellNav={};n.cellNav.lastRowCol=null;n.cellNav.focusedCells=[];f.defaultGridOptions(n.options);var t={events:{cellNav:{navigate:function(){},viewPortKeyDown:function(){},viewPortKeyPress:function(){}}},methods:{cellNav:{scrollToFocus:function(t,i){return f.scrollToFocus(n,t,i)},getFocusedCell:function(){return n.cellNav.lastRowCol},getCurrentSelection:function(){return n.cellNav.focusedCells},rowColSelectIndex:function(t){for(var r=-1,i=0;i<n.cellNav.focusedCells.length;i++)if(n.cellNav.focusedCells[i].col.uid===t.col.uid&&n.cellNav.focusedCells[i].row.uid===t.row.uid){r=i;break}return r}}}};n.api.registerEventsFromObject(t.events);n.api.registerMethodsFromObject(t.methods)},defaultGridOptions:function(n){n.modifierKeysToMultiSelectCells=n.modifierKeysToMultiSelectCells===!0},decorateRenderContainers:function(n){var t=n.hasRightContainer()?n.renderContainers.right:null,i=n.hasLeftContainer()?n.renderContainers.left:null;i!==null&&(n.renderContainers.left.cellNav=new u(n.renderContainers.body,i,t,n.renderContainers.body));t!==null&&(n.renderContainers.right.cellNav=new u(n.renderContainers.body,t,n.renderContainers.body,i));n.renderContainers.body.cellNav=new u(n.renderContainers.body,n.renderContainers.body,i,t)},getDirection:function(n){return n.keyCode===t.keymap.LEFT||n.keyCode===t.keymap.TAB&&n.shiftKey?i.direction.LEFT:n.keyCode===t.keymap.RIGHT||n.keyCode===t.keymap.TAB?i.direction.RIGHT:n.keyCode===t.keymap.UP||n.keyCode===t.keymap.ENTER&&n.shiftKey?i.direction.UP:n.keyCode===t.keymap.PG_UP?i.direction.PG_UP:n.keyCode===t.keymap.DOWN||n.keyCode===t.keymap.ENTER&&!(n.ctrlKey||n.altKey)?i.direction.DOWN:n.keyCode===t.keymap.PG_DOWN?i.direction.PG_DOWN:null},cellNavColumnBuilder:function(n){return n.allowCellFocus=n.allowCellFocus===undefined?!0:n.allowCellFocus,r.all([])},scrollToFocus:function(n,t,i){var r=null,u=null;return typeof t!="undefined"&&t!==null&&(r=n.getRow(t)),typeof i!="undefined"&&i!==null&&(u=n.getColumn(i.name?i.name:i.field)),n.api.core.scrollToIfNecessary(r,u).then(function(){var t={row:r,col:u};r!==null&&u!==null&&n.cellNav.broadcastCellNav(t)})},getLeftWidth:function(n,t){var r=0,i,u;return t?(i=n.renderContainers.body.visibleColumnCache.indexOf(t),n.renderContainers.body.visibleColumnCache.forEach(function(n,t){t<i&&(r+=n.drawnWidth)}),u=i===0?0:(i+1)/n.renderContainers.body.visibleColumnCache.length,r+=t.drawnWidth*u):r}};return f}]);n.directive("uiGridCellnav",["gridUtil","uiGridCellNavService","uiGridCellNavConstants","uiGridConstants","GridRowColumn","$timeout","$compile",function(n,t,i,r,u,f,e){return{replace:!0,priority:-150,require:"^uiGrid",scope:!1,controller:function(){},compile:function(){return{pre:function(n,f,e,o){var h=n,s=o.grid;t.initializeGrid(s);o.cellNav={};o.cellNav.makeRowCol=function(n){return n instanceof u||(n=new u(n.row,n.col)),n};o.cellNav.getActiveCell=function(){var n=f[0].getElementsByClassName("ui-grid-cell-focus");return n.length>0?n[0]:undefined};o.cellNav.broadcastCellNav=s.cellNav.broadcastCellNav=function(n,t,r){t=!(t===undefined||!t);n=o.cellNav.makeRowCol(n);o.cellNav.broadcastFocus(n,t,r);h.$broadcast(i.CELL_NAV_EVENT,n,t,r)};o.cellNav.clearFocus=s.cellNav.clearFocus=function(){s.cellNav.focusedCells=[];h.$broadcast(i.CELL_NAV_EVENT)};o.cellNav.broadcastFocus=function(n,t){var i;t=!(t===undefined||!t);n=o.cellNav.makeRowCol(n);var f=n.row,e=n.col,r=o.grid.api.cellNav.rowColSelectIndex(n);s.cellNav.lastRowCol===null||r===-1?(i=new u(f,e),(s.cellNav.lastRowCol===null||s.cellNav.lastRowCol.row!==i.row||s.cellNav.lastRowCol.col!==i.col)&&(s.api.cellNav.raise.navigate(i,s.cellNav.lastRowCol),s.cellNav.lastRowCol=i),o.grid.options.modifierKeysToMultiSelectCells&&t?s.cellNav.focusedCells.push(n):s.cellNav.focusedCells=[n]):s.options.modifierKeysToMultiSelectCells&&t&&r>=0&&s.cellNav.focusedCells.splice(r,1)};o.cellNav.handleKeyDown=function(n){var e=t.getDirection(n),h,f;if(e===null)return null;if(h="body",n.uiGridTargetRenderContainerId&&(h=n.uiGridTargetRenderContainerId),f=o.grid.api.cellNav.getFocusedCell(),f){var u=o.grid.renderContainers[h].cellNav.getNextRowCol(e,f.row,f.col),c=o.grid.renderContainers[h].cellNav.getFocusableCols(),l=o.grid.api.cellNav.rowColSelectIndex(u);return e===i.direction.LEFT&&u.col===c[c.length-1]&&u.row===f.row&&n.keyCode===r.keymap.TAB&&n.shiftKey?(s.cellNav.focusedCells.splice(l,1),o.cellNav.clearFocus(),!0):e===i.direction.RIGHT&&u.col===c[0]&&u.row===f.row&&n.keyCode===r.keymap.TAB&&!n.shiftKey?(s.cellNav.focusedCells.splice(l,1),o.cellNav.clearFocus(),!0):(s.scrollToIfNecessary(u.row,u.col).then(function(){o.cellNav.broadcastCellNav(u)}),n.stopPropagation(),n.preventDefault(),!1)}}},post:function(n,t,r,u){function o(){var u='<div id="'+f.id+'-aria-speakable" class="ui-grid-a11y-ariascreenreader-speakable ui-grid-offscreen" aria-live="assertive" role="region" aria-atomic="true" aria-hidden="false" aria-relevant="additions" >&nbsp;<\/div>',r=e(u)(n);t.prepend(r);n.$on(i.CELL_NAV_EVENT,function(n,t,i,u){function c(n){n!==r.text()&&(r[0].style.clip="rect(0px,0px,0px,0px)",r[0].innerHTML="",r[0].style.visibility="hidden",r[0].style.visibility="visible",n!==""&&(r[0].style.clip="auto",r[0].appendChild(document.createTextNode(n+" ")),r[0].style.visibility="hidden",r[0].style.visibility="visible"))}var s,o,e,h;if(!u||u.type!=="focus"){for(s=[],o=f.api.cellNav.getCurrentSelection(),e=0;e<o.length;e++)s.push(f.getCellDisplayValue(o[e].row,o[e].col));h=s.toString();c(h)}})}var s=n,f=u.grid;o()}}}}}]);n.directive("uiGridRenderContainer",["$timeout","$document","gridUtil","uiGridConstants","uiGridCellNavService","$compile","uiGridCellNavConstants",function(n,t,i,r,u,f,e){return{replace:!0,priority:-99999,require:["^uiGrid","uiGridRenderContainer","?^uiGridCellnav"],scope:!1,compile:function(){return{post:function(t,r,o,s){var h=s[0],p=s[1],y=s[2],l,a,c,v;if(h.grid.api.cellNav&&(l=p.containerId,a=h.grid,u.decorateRenderContainers(a),l==="body")){h.grid.options.modifierKeysToMultiSelectCells?r.attr("aria-multiselectable",!0):r.attr("aria-multiselectable",!1);c=f('<div class="ui-grid-focuser" role="region" aria-live="assertive" aria-atomic="false" tabindex="0" aria-controls="'+a.id+"-aria-speakable "+a.id+'-grid-container" aria-owns="'+a.id+'-grid-container"><\/div>')(t);r.append(c);c.on("focus",function(n){n.uiGridTargetRenderContainerId=l;var t=h.grid.api.cellNav.getFocusedCell();t===null&&(t=h.grid.renderContainers[l].cellNav.getNextRowCol(e.direction.DOWN,null,null),t.row&&t.col&&h.cellNav.broadcastCellNav(t))});y.setAriaActivedescendant=function(n){r.attr("aria-activedescendant",n)};y.removeAriaActivedescendant=function(n){r.attr("aria-activedescendant")===n&&r.attr("aria-activedescendant","")};h.focus=function(){i.focus.byElement(c[0])};v=null;c.on("keydown",function(n){n.uiGridTargetRenderContainerId=l;var t=h.grid.api.cellNav.getFocusedCell(),i=h.cellNav.handleKeyDown(n);i===null&&(h.grid.api.cellNav.raise.viewPortKeyDown(n,t),v=t)});c.on("keypress",function(t){v&&(n(function(){h.grid.api.cellNav.raise.viewPortKeyPress(t,v)},4),v=null)});t.$on("$destroy",function(){c.off()})}}}}}}]);n.directive("uiGridViewport",["$timeout","$document","gridUtil","uiGridConstants","uiGridCellNavService","uiGridCellNavConstants","$log","$compile",function(){return{replace:!0,priority:-99999,require:["^uiGrid","^uiGridRenderContainer","?^uiGridCellnav"],scope:!1,compile:function(){return{pre:function(){},post:function(n,t,i,r){var u=r[0],e=r[1],o,f;u.grid.api.cellNav&&(o=e.containerId,o==="body")&&(f=u.grid,f.api.core.on.scrollBegin(n,function(){var n=u.grid.api.cellNav.getFocusedCell();n!==null&&e.colContainer.containsColumn(n.col)&&u.cellNav.clearFocus()}),f.api.core.on.scrollEnd(n,function(){var n=u.grid.api.cellNav.getFocusedCell();n!==null&&e.colContainer.containsColumn(n.col)&&u.cellNav.broadcastCellNav(n)}),f.api.cellNav.on.navigate(n,function(){u.focus()}))}}}}}]);n.directive("uiGridCell",["$timeout","$document","uiGridCellNavService","gridUtil","uiGridCellNavConstants","uiGridConstants","GridRowColumn",function(n,t,i,r,u,f,e){return{priority:-150,restrict:"A",require:["^uiGrid","?^uiGridCellnav"],scope:!1,link:function(n,t,i,r){function o(n){n.preventDefault()}function c(){if(!n.focused){var i=t.find("div");i.addClass("ui-grid-cell-focus");t.attr("aria-selected",!0);s.setAriaActivedescendant(t.attr("id"));n.focused=!0}}function l(){if(n.focused){var i=t.find("div");i.removeClass("ui-grid-cell-focus");t.attr("aria-selected",!1);s.removeAriaActivedescendant(t.attr("id"));n.focused=!1}}var f=r[0],s=r[1],h;if(f.grid.api.cellNav&&n.col.colDef.allowCellFocus){h=f.grid;n.focused=!1;t.attr("tabindex",-1);t.find("div").on("click",function(t){f.cellNav.broadcastCellNav(new e(n.row,n.col),t.ctrlKey||t.metaKey,t);t.stopPropagation();n.$apply()});t.on("mousedown",o);f.grid.api.edit&&(f.grid.api.edit.on.beginCellEdit(n,function(){t.off("mousedown",o)}),f.grid.api.edit.on.afterCellEdit(n,function(){t.on("mousedown",o)}),f.grid.api.edit.on.cancelCellEdit(n,function(){t.on("mousedown",o)}));t.on("focus",function(t){f.cellNav.broadcastCellNav(new e(n.row,n.col),!1,t);t.stopPropagation();n.$apply()});n.$on(u.CELL_NAV_EVENT,function(){var t=h.cellNav.focusedCells.some(function(t){return t.row===n.row&&t.col===n.col});t?c():l()});n.$on("$destroy",function(){t.find("div").off();t.off()})}}}}])}(),function(){"use strict";var n=angular.module("ui.grid.edit",["ui.grid"]);n.constant("uiGridEditConstants",{EDITABLE_CELL_TEMPLATE:/EDITABLE_CELL_TEMPLATE/g,EDITABLE_CELL_DIRECTIVE:/editable_cell_directive/g,events:{BEGIN_CELL_EDIT:"uiGridEventBeginCellEdit",END_CELL_EDIT:"uiGridEventEndCellEdit",CANCEL_CELL_EDIT:"uiGridEventCancelCellEdit"}});n.service("uiGridEditService",["$q","uiGridConstants","gridUtil",function(n,t,i){var r={initializeGrid:function(n){r.defaultGridOptions(n.options);n.registerColumnBuilder(r.editColumnBuilder);n.edit={};var t={events:{edit:{afterCellEdit:function(){},beginCellEdit:function(){},cancelCellEdit:function(){}}},methods:{edit:{}}};n.api.registerEventsFromObject(t.events)},defaultGridOptions:function(n){n.cellEditableCondition=n.cellEditableCondition===undefined?!0:n.cellEditableCondition;n.enableCellEditOnFocus=n.enableCellEditOnFocus===undefined?!1:n.enableCellEditOnFocus},editColumnBuilder:function(t,r,u){var f=[];return t.enableCellEdit=t.enableCellEdit===undefined?u.enableCellEdit===undefined?t.type!=="object":u.enableCellEdit:t.enableCellEdit,t.cellEditableCondition=t.cellEditableCondition===undefined?u.cellEditableCondition:t.cellEditableCondition,t.enableCellEdit&&(t.editableCellTemplate=t.editableCellTemplate||u.editableCellTemplate||"ui-grid/cellEditor",f.push(i.getTemplate(t.editableCellTemplate).then(function(n){r.editableCellTemplate=n},function(){throw new Error("Couldn't fetch/use colDef.editableCellTemplate '"+t.editableCellTemplate+"'");}))),t.enableCellEditOnFocus=t.enableCellEditOnFocus===undefined?u.enableCellEditOnFocus:t.enableCellEditOnFocus,n.all(f)},isStartEditKey:function(n){return n.metaKey||n.keyCode===t.keymap.ESC||n.keyCode===t.keymap.SHIFT||n.keyCode===t.keymap.CTRL||n.keyCode===t.keymap.ALT||n.keyCode===t.keymap.WIN||n.keyCode===t.keymap.CAPSLOCK||n.keyCode===t.keymap.LEFT||n.keyCode===t.keymap.TAB&&n.shiftKey||n.keyCode===t.keymap.RIGHT||n.keyCode===t.keymap.TAB||n.keyCode===t.keymap.UP||n.keyCode===t.keymap.ENTER&&n.shiftKey||n.keyCode===t.keymap.DOWN||n.keyCode===t.keymap.ENTER?!1:!0}};return r}]);n.directive("uiGridEdit",["gridUtil","uiGridEditService",function(n,t){return{replace:!0,priority:0,require:"^uiGrid",scope:!1,compile:function(){return{pre:function(n,i,r,u){t.initializeGrid(u.grid)},post:function(){}}}}}]);n.directive("uiGridViewport",["uiGridEditConstants",function(n){return{replace:!0,priority:-99998,require:["^uiGrid","^uiGridRenderContainer"],scope:!1,compile:function(){return{post:function(t,i,r,u){var f=u[0],e;f.grid.api.edit&&f.grid.api.cellNav&&(e=u[1].containerId,e==="body")&&(t.$on(n.events.CANCEL_CELL_EDIT,function(){f.focus()}),t.$on(n.events.END_CELL_EDIT,function(){f.focus()}))}}}}}]);n.directive("uiGridCell",["$compile","$injector","$timeout","uiGridConstants","uiGridEditConstants","gridUtil","$parse","uiGridEditService","$rootScope","$q",function(n,t,i,r,u,f,e,o,s,h){var c=500,l;return t.has("uiGridCellNavService")&&(l=t.get("uiGridCellNavService")),{priority:-100,restrict:"A",scope:!1,require:"?^uiGrid",link:function(t,l,a,v){function et(){l.on("dblclick",b);l.on("touchstart",ot);v&&v.grid.api.cellNav&&(rt=v.grid.api.cellNav.on.viewPortKeyDown(t,function(n,i){i!==null&&(i.row!==t.row||i.col!==t.col||t.col.colDef.enableCellEditOnFocus||ht(n))}),it=v.grid.api.cellNav.on.navigate(t,function(n,r){t.col.colDef.enableCellEditOnFocus&&(r&&n.row===r.row&&n.col===r.col||n.row!==t.row||n.col!==t.col||i(function(){b()}))}));t.beginEditEventsWired=!0}function ot(n){typeof n.originalEvent!="undefined"&&n.originalEvent!==undefined&&(n=n.originalEvent);l.on("touchend",nt);d=i(function(){},c);d.then(function(){setTimeout(b,0);l.off("touchend",nt)})}function nt(){i.cancel(d);l.off("touchend",nt)}function st(){l.off("dblclick",b);l.off("keydown",ht);l.off("touchstart",ot);it();rt();t.beginEditEventsWired=!1}function ht(n){o.isStartEditKey(n)&&b(n)}function ct(n,i){return!i.isSaving&&(angular.isFunction(n.colDef.cellEditableCondition)?n.colDef.cellEditableCondition(t):n.colDef.cellEditableCondition)}function b(n){t.grid.api.core.scrollToIfNecessary(t.row,t.col).then(function(){lt(n)})}function lt(o){var rt,c,a,v,b;if(!p&&ct(t.col,t.row)){w=e(t.row.getQualifiedColField(t.col));k=w(t);y=t.col.editableCellTemplate;y=t.col.colDef.editModelField?y.replace(r.MODEL_COL_FIELD,f.preEval("row.entity."+t.col.colDef.editModelField)):y.replace(r.MODEL_COL_FIELD,t.row.getQualifiedColField(t.col));y=y.replace(r.COL_FIELD,"grid.getCellValue(row, col)");rt=t.col.colDef.editDropdownFilter?"|"+t.col.colDef.editDropdownFilter:"";y=y.replace(r.CUSTOM_FILTERS,rt);c="text";switch(t.col.colDef.type){case"boolean":c="checkbox";break;case"number":c="number";break;case"date":c="date"}y=y.replace("INPUT_TYPE",c);a=t.col.colDef.editDropdownOptionsFunction;a?h.when(a(t.row.entity,t.col.colDef)).then(function(n){t.editDropdownOptionsArray=n}):(v=t.col.colDef.editDropdownRowEntityOptionsArrayPath,t.editDropdownOptionsArray=v?vt(t.row.entity,v):t.col.colDef.editDropdownOptionsArray);t.editDropdownIdLabel=t.col.colDef.editDropdownIdLabel?t.col.colDef.editDropdownIdLabel:"id";t.editDropdownValueLabel=t.col.colDef.editDropdownValueLabel?t.col.colDef.editDropdownValueLabel:"value";b=function(){var i,r;p=!0;st();i=angular.element(y);l.append(i);g=t.$new();n(i)(g);r=angular.element(l.children()[0]);r.addClass("ui-grid-cell-contents-hidden")};s.$$phase?b():t.$apply(b);var d=t.col.grid.api.core.on.scrollBegin(t,function(){t.grid.disableScrolling||(tt(),t.grid.api.edit.raise.afterCellEdit(t.row.entity,t.col.colDef,w(t),k),d(),nt(),it())}),nt=t.$on(u.events.END_CELL_EDIT,function(){tt();t.grid.api.edit.raise.afterCellEdit(t.row.entity,t.col.colDef,w(t),k);nt();d();it()}),it=t.$on(u.events.CANCEL_CELL_EDIT,function(){at();it();d();nt()});t.$broadcast(u.events.BEGIN_CELL_EDIT,o);i(function(){t.grid.api.edit.raise.beginCellEdit(t.row.entity,t.col.colDef,o)})}}function tt(){var u,i,n;if(t.grid.disableScrolling=!1,p){for(v&&v.grid.api.cellNav&&v.focus(),u=angular.element(l.children()[0]),g.$destroy(),i=l.children(),n=1;n<i.length;n++)angular.element(i[n]).remove();u.removeClass("ui-grid-cell-contents-hidden");p=!1;et();t.grid.api.core.notifyDataChange(r.dataChange.EDIT)}}function at(){(t.grid.disableScrolling=!1,p)&&(w.assign(t,k),t.$apply(),t.grid.api.edit.raise.cancelCellEdit(t.row.entity,t.col.colDef),tt())}function vt(n,t){var i,r;for(t=t.replace(/\[(\w+)\]/g,".$1"),t=t.replace(/^\./,""),i=t.split(".");i.length;)if(r=i.shift(),r in n)n=n[r];else return;return n}var y,k,p=!1,w,d,g,ft;if(t.col.colDef.enableCellEdit){var it=function(){},rt=function(){},ut=function(){t.col.colDef.enableCellEdit&&t.row.enableCellEdit!==!1?t.beginEditEventsWired||et():t.beginEditEventsWired&&st()};ut();ft=t.$watch("row",function(n,t){n!==t&&ut()});t.$on("$destroy",ft)}}}}]);n.directive("uiGridEditor",["gridUtil","uiGridConstants","uiGridEditConstants","$timeout","uiGridEditService",function(n,t,i,r,u){return{scope:!0,require:["?^uiGrid","?^uiGridRenderContainer","ngModel"],compile:function(){return{pre:function(){},post:function(n,f,e,o){var s,c,h;o[0]&&(s=o[0]);o[1]&&(c=o[1]);o[2]&&(h=o[2]);n.$on(i.events.BEGIN_CELL_EDIT,function(){if(r(function(){if(f[0].focus(),(!f[0].select||!n.col.colDef.enableCellEditOnFocus)&&s&&s.grid.api.cellNav)try{f[0].setSelectionRange(f[0].value.length,f[0].value.length)}catch(t){}else f[0].select()}),s&&s.grid.api.cellNav)var t=s.grid.api.cellNav.on.viewPortKeyPress(n,function(n){u.isStartEditKey(n)&&(h.$setViewValue(String.fromCharCode(typeof n.which=="number"?n.which:n.keyCode),n),h.$render());t()});f.on("blur",function(t){n.stopEdit(t)})});n.deepEdit=!1;n.stopEdit=function(t){n.inputForm&&!n.inputForm.$valid?(t.stopPropagation(),n.$emit(i.events.CANCEL_CELL_EDIT)):n.$emit(i.events.END_CELL_EDIT);n.deepEdit=!1};f.on("click",function(){f[0].type!=="checkbox"&&(n.deepEdit=!0,r(function(){n.grid.disableScrolling=!0}))});f.on("keydown",function(r){switch(r.keyCode){case t.keymap.ESC:r.stopPropagation();n.$emit(i.events.CANCEL_CELL_EDIT)}if(n.deepEdit&&(r.keyCode===t.keymap.LEFT||r.keyCode===t.keymap.RIGHT||r.keyCode===t.keymap.UP||r.keyCode===t.keymap.DOWN))r.stopPropagation();else if(s&&s.grid.api.cellNav)r.uiGridTargetRenderContainerId=c.containerId,s.cellNav.handleKeyDown(r)!==null&&n.stopEdit(r);else switch(r.keyCode){case t.keymap.ENTER:case t.keymap.TAB:r.stopPropagation();r.preventDefault();n.stopEdit(r)}return!0})}}}}}]);n.directive("uiGridEditor",["$filter",function(n){function t(n){var t;if(typeof n=="undefined"||n===""||(t=n.split("-"),t.length!==3))return null;var i=parseInt(t[0],10),r=parseInt(t[1],10),u=parseInt(t[2],10);return r<1||i<1||u<1?null:new Date(i,r-1,u)}return{priority:-100,require:"?ngModel",link:function(i,r,u,f){angular.version.minor===2&&u.type&&u.type==="date"&&f&&(f.$formatters.push(function(t){return f.$setValidity(null,!t||!isNaN(t.getTime())),n("date")(t,"yyyy-MM-dd")}),f.$parsers.push(function(n){if(n&&n.length>0){var i=t(n);return f.$setValidity(null,i&&!isNaN(i.getTime())),i}return f.$setValidity(null,!0),null}))}}}]);n.directive("uiGridEditDropdown",["uiGridConstants","uiGridEditConstants",function(n,t){return{require:["?^uiGrid","?^uiGridRenderContainer"],scope:!0,compile:function(){return{pre:function(){},post:function(i,r,u,f){var e=f[0],o=f[1];i.$on(t.events.BEGIN_CELL_EDIT,function(){r[0].focus();r[0].style.width=r[0].parentElement.offsetWidth-1+"px";r.on("blur",function(n){i.stopEdit(n)})});i.stopEdit=function(){i.$emit(t.events.END_CELL_EDIT)};r.on("keydown",function(r){switch(r.keyCode){case n.keymap.ESC:r.stopPropagation();i.$emit(t.events.CANCEL_CELL_EDIT)}if(e&&e.grid.api.cellNav)r.uiGridTargetRenderContainerId=o.containerId,e.cellNav.handleKeyDown(r)!==null&&i.stopEdit(r);else switch(r.keyCode){case n.keymap.ENTER:case n.keymap.TAB:r.stopPropagation();r.preventDefault();i.stopEdit(r)}return!0})}}}}}]);n.directive("uiGridEditFileChooser",["gridUtil","uiGridConstants","uiGridEditConstants","$timeout",function(n,t,i){return{scope:!0,require:["?^uiGrid","?^uiGridRenderContainer"],compile:function(){return{pre:function(){},post:function(t,r,u,f){var e,s,h,o;f[0]&&(e=f[0]);f[1]&&(s=f[1]);h=e.grid;o=function(r){var u=r.srcElement||r.target;u&&u.files&&u.files.length>0?(typeof t.col.colDef.editFileChooserCallback=="function"?t.col.colDef.editFileChooserCallback(t.row,t.col,u.files):n.logError("You need to set colDef.editFileChooserCallback to use the file chooser"),u.form.reset(),t.$emit(i.events.END_CELL_EDIT)):t.$emit(i.events.CANCEL_CELL_EDIT)};r[0].addEventListener("change",o,!1);t.$on(i.events.BEGIN_CELL_EDIT,function(){r[0].focus();r[0].select();r.on("blur",function(){t.$emit(i.events.END_CELL_EDIT)})})}}}}}])}(),function(){"use strict";var n=angular.module("ui.grid.expandable",["ui.grid"]);n.service("uiGridExpandableService",["gridUtil","$compile",function(n){var t={initializeGrid:function(i){i.expandable={};i.expandable.expandedAll=!1;i.options.enableExpandable=i.options.enableExpandable!==!1;i.options.expandableRowHeight=i.options.expandableRowHeight||150;i.options.expandableRowHeaderWidth=i.options.expandableRowHeaderWidth||40;i.options.enableExpandable&&!i.options.expandableRowTemplate&&(n.logError("You have not set the expandableRowTemplate, disabling expandable module"),i.options.enableExpandable=!1);var r={events:{expandable:{rowExpandedBeforeStateChanged:function(){},rowExpandedStateChanged:function(){}}},methods:{expandable:{toggleRowExpansion:function(n){var r=i.getRow(n);r!==null&&t.toggleRowExpansion(i,r)},expandAllRows:function(){t.expandAllRows(i)},collapseAllRows:function(){t.collapseAllRows(i)},toggleAllRows:function(){t.toggleAllRows(i)},expandRow:function(n){var r=i.getRow(n);r===null||r.isExpanded||t.toggleRowExpansion(i,r)},collapseRow:function(n){var r=i.getRow(n);r!==null&&r.isExpanded&&t.toggleRowExpansion(i,r)},getExpandedRows:function(){return t.getExpandedRows(i).map(function(n){return n.entity})}}}};i.api.registerEventsFromObject(r.events);i.api.registerMethodsFromObject(r.methods)},toggleRowExpansion:function(n,t){n.api.expandable.raise.rowExpandedBeforeStateChanged(t);t.isExpanded=!t.isExpanded;angular.isUndefined(t.expandedRowHeight)&&(t.expandedRowHeight=n.options.expandableRowHeight);t.isExpanded?t.height=t.grid.options.rowHeight+t.expandedRowHeight:(t.height=t.grid.options.rowHeight,n.expandable.expandedAll=!1);n.api.expandable.raise.rowExpandedStateChanged(t)},expandAllRows:function(n){n.renderContainers.body.visibleRowCache.forEach(function(i){i.isExpanded||t.toggleRowExpansion(n,i)});n.expandable.expandedAll=!0;n.queueGridRefresh()},collapseAllRows:function(n){n.renderContainers.body.visibleRowCache.forEach(function(i){i.isExpanded&&t.toggleRowExpansion(n,i)});n.expandable.expandedAll=!1;n.queueGridRefresh()},toggleAllRows:function(n){n.expandable.expandedAll?t.collapseAllRows(n):t.expandAllRows(n)},getExpandedRows:function(n){return n.rows.filter(function(n){return n.isExpanded})}};return t}]);n.directive("uiGridExpandable",["uiGridExpandableService","$templateCache",function(n,t){return{replace:!0,priority:0,require:"^uiGrid",scope:!1,compile:function(){return{pre:function(i,r,u,f){if((n.initializeGrid(f.grid),f.grid.options.enableExpandable)&&f.grid.options.enableExpandableRowHeader!==!1){var e={name:"expandableButtons",displayName:"",exporterSuppressExport:!0,enableColumnResizing:!1,enableColumnMenu:!1,width:f.grid.options.expandableRowHeaderWidth||40};e.cellTemplate=t.get("ui-grid/expandableRowHeader");e.headerCellTemplate=t.get("ui-grid/expandableTopRowHeader");f.grid.addRowHeaderColumn(e,-90)}},post:function(){}}}}}]);n.directive("uiGrid",["uiGridExpandableService","$templateCache",function(){return{replace:!0,priority:599,require:"^uiGrid",scope:!1,compile:function(){return{pre:function(n,t,i,r){r.grid.api.core.on.renderingComplete(n,function(){n.row&&n.row.grid&&n.row.grid.options&&n.row.grid.options.enableExpandable&&(r.grid.parentRow=n.row)})},post:function(){}}}}}]);n.directive("uiGridExpandableRow",["uiGridExpandableService","$timeout","$compile","uiGridConstants","gridUtil","$interval","$log",function(n,t,i,r,u){return{replace:!1,priority:0,scope:!1,compile:function(){return{pre:function(n,t){u.getTemplate(n.grid.options.expandableRowTemplate).then(function(r){var u,f,e;if(n.grid.options.expandableRowScope){u=n.grid.options.expandableRowScope;for(f in u)u.hasOwnProperty(f)&&(n[f]=u[f])}e=i(r)(n);t.append(e);n.row.expandedRendered=!0})},post:function(n){n.$on("$destroy",function(){n.row.expandedRendered=!1})}}}}}]);n.directive("uiGridRow",["$compile","gridUtil","$templateCache",function(){return{priority:-200,scope:!1,compile:function(){return{pre:function(n){n.grid.options.enableExpandable&&(n.expandableRow={},n.expandableRow.shouldRenderExpand=function(){return n.colContainer.name==="body"&&n.grid.options.enableExpandable!==!1&&n.row.isExpanded&&(!n.grid.isScrollingVertically||n.row.expandedRendered)},n.expandableRow.shouldRenderFiller=function(){return n.row.isExpanded&&(n.colContainer.name!=="body"||n.grid.isScrollingVertically&&!n.row.expandedRendered)})},post:function(){}}}}}]);n.directive("uiGridViewport",["$compile","gridUtil","$templateCache",function(n,t,i){return{priority:-200,scope:!1,compile:function(n){var t=angular.element(n.children().children()[0]),r=i.get("ui-grid/expandableScrollFiller"),u=i.get("ui-grid/expandableRow");return t.append(u),t.append(r),{pre:function(){},post:function(){}}}}}])}(),function(){"use strict";var n=angular.module("ui.grid.exporter",["ui.grid"]);n.constant("uiGridExporterConstants",{featureName:"exporter",ALL:"all",VISIBLE:"visible",SELECTED:"selected",CSV_CONTENT:"CSV_CONTENT",BUTTON_LABEL:"BUTTON_LABEL",FILE_NAME:"FILE_NAME"});n.service("uiGridExporterService",["$q","uiGridExporterConstants","gridUtil","$compile","$interval","i18nService",function(n,t,i,r,u,f){var e={delay:100,initializeGrid:function(n){n.exporter={};this.defaultGridOptions(n.options);var t={events:{exporter:{}},methods:{exporter:{csvExport:function(t,i){e.csvExport(n,t,i)},pdfExport:function(t,i){e.pdfExport(n,t,i)}}}};n.api.registerEventsFromObject(t.events);n.api.registerMethodsFromObject(t.methods);n.api.core.addToGridMenu?e.addToMenu(n):u(function(){n.api.core.addToGridMenu&&e.addToMenu(n)},this.delay,1)},defaultGridOptions:function(n){n.exporterSuppressMenu=n.exporterSuppressMenu===!0;n.exporterMenuLabel=n.exporterMenuLabel?n.exporterMenuLabel:"Export";n.exporterSuppressColumns=n.exporterSuppressColumns?n.exporterSuppressColumns:[];n.exporterCsvColumnSeparator=n.exporterCsvColumnSeparator?n.exporterCsvColumnSeparator:",";n.exporterCsvFilename=n.exporterCsvFilename?n.exporterCsvFilename:"download.csv";n.exporterPdfFilename=n.exporterPdfFilename?n.exporterPdfFilename:"download.pdf";n.exporterOlderExcelCompatibility=n.exporterOlderExcelCompatibility===!0;n.exporterPdfDefaultStyle=n.exporterPdfDefaultStyle?n.exporterPdfDefaultStyle:{fontSize:11};n.exporterPdfTableStyle=n.exporterPdfTableStyle?n.exporterPdfTableStyle:{margin:[0,5,0,15]};n.exporterPdfTableHeaderStyle=n.exporterPdfTableHeaderStyle?n.exporterPdfTableHeaderStyle:{bold:!0,fontSize:12,color:"black"};n.exporterPdfHeader=n.exporterPdfHeader?n.exporterPdfHeader:null;n.exporterPdfFooter=n.exporterPdfFooter?n.exporterPdfFooter:null;n.exporterPdfOrientation=n.exporterPdfOrientation?n.exporterPdfOrientation:"landscape";n.exporterPdfPageSize=n.exporterPdfPageSize?n.exporterPdfPageSize:"A4";n.exporterPdfMaxGridWidth=n.exporterPdfMaxGridWidth?n.exporterPdfMaxGridWidth:720;n.exporterMenuAllData=n.exporterMenuAllData!==undefined?n.exporterMenuAllData:!0;n.exporterMenuVisibleData=n.exporterMenuVisibleData!==undefined?n.exporterMenuVisibleData:!0;n.exporterMenuSelectedData=n.exporterMenuSelectedData!==undefined?n.exporterMenuSelectedData:!0;n.exporterMenuCsv=n.exporterMenuCsv!==undefined?n.exporterMenuCsv:!0;n.exporterMenuPdf=n.exporterMenuPdf!==undefined?n.exporterMenuPdf:!0;n.exporterPdfCustomFormatter=n.exporterPdfCustomFormatter&&typeof n.exporterPdfCustomFormatter=="function"?n.exporterPdfCustomFormatter:function(n){return n};n.exporterHeaderFilterUseName=n.exporterHeaderFilterUseName===!0;n.exporterFieldCallback=n.exporterFieldCallback?n.exporterFieldCallback:function(n,t,i,r){return r};n.exporterAllDataFn=n.exporterAllDataFn?n.exporterAllDataFn:null;n.exporterAllDataFn==null&&n.exporterAllDataPromise&&(n.exporterAllDataFn=n.exporterAllDataPromise)},addToMenu:function(n){n.api.core.addToGridMenu(n,[{title:f.getSafeText("gridMenu.exporterAllAsCsv"),action:function(){this.grid.api.exporter.csvExport(t.ALL,t.ALL)},shown:function(){return this.grid.options.exporterMenuCsv&&this.grid.options.exporterMenuAllData},order:200},{title:f.getSafeText("gridMenu.exporterVisibleAsCsv"),action:function(){this.grid.api.exporter.csvExport(t.VISIBLE,t.VISIBLE)},shown:function(){return this.grid.options.exporterMenuCsv&&this.grid.options.exporterMenuVisibleData},order:201},{title:f.getSafeText("gridMenu.exporterSelectedAsCsv"),action:function(){this.grid.api.exporter.csvExport(t.SELECTED,t.VISIBLE)},shown:function(){return this.grid.options.exporterMenuCsv&&this.grid.options.exporterMenuSelectedData&&this.grid.api.selection&&this.grid.api.selection.getSelectedRows().length>0},order:202},{title:f.getSafeText("gridMenu.exporterAllAsPdf"),action:function(){this.grid.api.exporter.pdfExport(t.ALL,t.ALL)},shown:function(){return this.grid.options.exporterMenuPdf&&this.grid.options.exporterMenuAllData},order:203},{title:f.getSafeText("gridMenu.exporterVisibleAsPdf"),action:function(){this.grid.api.exporter.pdfExport(t.VISIBLE,t.VISIBLE)},shown:function(){return this.grid.options.exporterMenuPdf&&this.grid.options.exporterMenuVisibleData},order:204},{title:f.getSafeText("gridMenu.exporterSelectedAsPdf"),action:function(){this.grid.api.exporter.pdfExport(t.SELECTED,t.VISIBLE)},shown:function(){return this.grid.options.exporterMenuPdf&&this.grid.options.exporterMenuSelectedData&&this.grid.api.selection&&this.grid.api.selection.getSelectedRows().length>0},order:205}])},csvExport:function(n,t,i){var r=this;this.loadAllDataIfNeeded(n,t,i).then(function(){var u=n.options.showHeader?r.getColumnHeaders(n,i):[],f=r.getData(n,t,i),e=r.formatAsCsv(u,f,n.options.exporterCsvColumnSeparator);r.downloadFile(n.options.exporterCsvFilename,e,n.options.exporterCsvColumnSeparator,n.options.exporterOlderExcelCompatibility)})},loadAllDataIfNeeded:function(i,r){if(r===t.ALL&&i.rows.length!==i.options.totalItems&&i.options.exporterAllDataFn)return i.options.exporterAllDataFn().then(function(){i.modifyRows(i.options.data)});var u=n.defer();return u.resolve(),u.promise},getColumnHeaders:function(n,i){var u=[],r;if(i===t.ALL)r=n.columns;else{var f=n.renderContainers.left?n.renderContainers.left.visibleColumnCache.filter(function(n){return n.visible}):[],e=n.renderContainers.body?n.renderContainers.body.visibleColumnCache.filter(function(n){return n.visible}):[],o=n.renderContainers.right?n.renderContainers.right.visibleColumnCache.filter(function(n){return n.visible}):[];r=f.concat(e,o)}return r.forEach(function(t){t.colDef.exporterSuppressExport!==!0&&n.options.exporterSuppressColumns.indexOf(t.name)===-1&&u.push({name:t.field,displayName:n.options.exporterHeaderFilter?n.options.exporterHeaderFilterUseName?n.options.exporterHeaderFilter(t.name):n.options.exporterHeaderFilter(t.displayName):t.displayName,width:t.drawnWidth?t.drawnWidth:t.width,align:t.colDef.type==="number"?"right":"left"})}),u},getData:function(n,r,u,f){var s=[],e,o;switch(r){case t.ALL:e=n.rows;break;case t.VISIBLE:e=n.getVisibleRows();break;case t.SELECTED:n.api.selection?e=n.api.selection.getSelectedGridRows():i.logError("selection feature must be enabled to allow selected rows to be exported")}if(u===t.ALL)o=n.columns;else{var h=n.renderContainers.left?n.renderContainers.left.visibleColumnCache.filter(function(n){return n.visible}):[],c=n.renderContainers.body?n.renderContainers.body.visibleColumnCache.filter(function(n){return n.visible}):[],l=n.renderContainers.right?n.renderContainers.right.visibleColumnCache.filter(function(n){return n.visible}):[];o=h.concat(c,l)}return e.forEach(function(i){if(i.exporterEnableExporting!==!1){var r=[];o.forEach(function(e){if((e.visible||u===t.ALL)&&e.colDef.exporterSuppressExport!==!0&&n.options.exporterSuppressColumns.indexOf(e.name)===-1){var s=f?n.getCellDisplayValue(i,e):n.getCellValue(i,e),o={value:n.options.exporterFieldCallback(n,i,e,s)};e.colDef.exporterPdfAlign&&(o.alignment=e.colDef.exporterPdfAlign);r.push(o)}});s.push(r)}}),s},formatAsCsv:function(n,t,i){var u=this,r=n.map(function(n){return{value:n.displayName}}),f=r.length>0?u.formatRowAsCsv(this,i)(r)+"\n":"";return f+t.map(this.formatRowAsCsv(this,i)).join("\n")},formatRowAsCsv:function(n,t){return function(i){return i.map(n.formatFieldAsCsv).join(t)}},formatFieldAsCsv:function(n){return n.value==null?"":typeof n.value=="number"?n.value:typeof n.value=="boolean"?n.value?"TRUE":"FALSE":typeof n.value=="string"?'"'+n.value.replace(/"/g,'""')+'"':JSON.stringify(n.value)},isIE:function(){var t=navigator.userAgent.search(/(?:Edge|MSIE|Trident\/.*; rv:)/),n=!1;return t!==-1&&(n=!0),n},downloadFile:function(n,t,i,r){var e=document,u=e.createElement("a"),o="application/octet-stream;charset=utf-8",s,c=this.isIE(),f,h;if(navigator.msSaveBlob)return navigator.msSaveOrOpenBlob(new Blob([r?"﻿":"",t],{type:o}),n);if(c)return f=e.createElement("iframe"),document.body.appendChild(f),f.contentWindow.document.open("text/html","replace"),f.contentWindow.document.write("sep="+i+"\r\n"+t),f.contentWindow.document.close(),f.contentWindow.focus(),f.contentWindow.document.execCommand("SaveAs",!0,n),document.body.removeChild(f),!0;"download"in u?(h=new Blob([r?"﻿":"",t],{type:o}),s=URL.createObjectURL(h),u.setAttribute("download",n)):(s="data:"+o+","+encodeURIComponent(t),u.setAttribute("target","_blank"));u.href=s;u.setAttribute("style","display:none;");e.body.appendChild(u);setTimeout(function(){if(u.click)u.click();else if(document.createEvent){var n=document.createEvent("MouseEvents");n.initEvent("click",!0,!0);u.dispatchEvent(n)}e.body.removeChild(u)},this.delay)},pdfExport:function(n,t,i){var r=this;this.loadAllDataIfNeeded(n,t,i).then(function(){var f=r.getColumnHeaders(n,i),e=r.getData(n,t,i),u=r.prepareAsPdf(n,f,e);r.isIE()||navigator.appVersion.indexOf("Edge")!==-1?r.downloadPDF(n.options.exporterPdfFilename,u):pdfMake.createPdf(u).open()})},downloadPDF:function(n,t){var r=document,e=r.createElement("a"),u,f,i;u=this.isIE();f=pdfMake.createPdf(t);f.getBuffer(function(t){if(i=new Blob([t]),navigator.msSaveBlob)return navigator.msSaveBlob(i,n);if(u){var f=r.createElement("iframe");return document.body.appendChild(f),f.contentWindow.document.open("text/html","replace"),f.contentWindow.document.write(i),f.contentWindow.document.close(),f.contentWindow.focus(),f.contentWindow.document.execCommand("SaveAs",!0,n),document.body.removeChild(f),!0}})},prepareAsPdf:function(n,t,i){var u=this.calculatePdfHeaderWidths(n,t),f=t.map(function(n){return{text:n.displayName,style:"tableHeader"}}),e=i.map(this.formatRowAsPdf(this)),o=[f].concat(e),r={pageOrientation:n.options.exporterPdfOrientation,pageSize:n.options.exporterPdfPageSize,content:[{style:"tableStyle",table:{headerRows:1,widths:u,body:o}}],styles:{tableStyle:n.options.exporterPdfTableStyle,tableHeader:n.options.exporterPdfTableHeaderStyle},defaultStyle:n.options.exporterPdfDefaultStyle};return n.options.exporterPdfLayout&&(r.layout=n.options.exporterPdfLayout),n.options.exporterPdfHeader&&(r.header=n.options.exporterPdfHeader),n.options.exporterPdfFooter&&(r.footer=n.options.exporterPdfFooter),n.options.exporterPdfCustomFormatter&&(r=n.options.exporterPdfCustomFormatter(r)),r},calculatePdfHeaderWidths:function(n,t){var r=0,i,u;return t.forEach(function(n){typeof n.width=="number"&&(r+=n.width)}),i=0,t.forEach(function(n){if(n.width==="*"&&(i+=100),typeof n.width=="string"&&n.width.match(/(\d)*%/)){var t=parseInt(n.width.match(/(\d)*%/)[0]);n.width=r*t/100;i+=n.width}}),u=r+i,t.map(function(t){return t.width==="*"?t.width:t.width*n.options.exporterPdfMaxGridWidth/u})},formatRowAsPdf:function(n){return function(t){return t.map(n.formatFieldAsPdfString)}},formatFieldAsPdfString:function(n){var t;return t=n.value==null?"":typeof n.value=="number"?n.value.toString():typeof n.value=="boolean"?n.value?"TRUE":"FALSE":typeof n.value=="string"?n.value.replace(/"/g,'""'):JSON.stringify(n.value).replace(/^"/,"").replace(/"$/,""),n.alignment&&typeof n.alignment=="string"&&(t={text:t,alignment:n.alignment}),t}};return e}]);n.directive("uiGridExporter",["uiGridExporterConstants","uiGridExporterService","gridUtil","$compile",function(n,t){return{replace:!0,priority:0,require:"^uiGrid",scope:!1,link:function(n,i,r,u){t.initializeGrid(u.grid);u.grid.exporter.$scope=n}}}])}(),function(){"use strict";var n=angular.module("ui.grid.grouping",["ui.grid","ui.grid.treeBase"]);n.constant("uiGridGroupingConstants",{featureName:"grouping",rowHeaderColName:"treeBaseRowHeaderCol",EXPANDED:"expanded",COLLAPSED:"collapsed",aggregation:{COUNT:"count",SUM:"sum",MAX:"max",MIN:"min",AVG:"avg"}});n.service("uiGridGroupingService",["$q","uiGridGroupingConstants","gridUtil","rowSorter","GridRow","gridClassFactory","i18nService","uiGridConstants","uiGridTreeBaseService",function(n,t,i,r,u,f,e,o,s){var h={initializeGrid:function(n,t){s.initializeGrid(n,t);n.grouping={};n.grouping.groupHeaderCache={};h.defaultGridOptions(n.options);n.registerRowsProcessor(h.groupRows,400);n.registerColumnBuilder(h.groupingColumnBuilder);n.registerColumnsProcessor(h.groupingColumnProcessor,400);var i={events:{grouping:{aggregationChanged:{},groupingChanged:{}}},methods:{grouping:{getGrouping:function(t){var i=h.getGrouping(n);return i.grouping.forEach(function(n){n.colName=n.col.name;delete n.col}),i.aggregations.forEach(function(n){n.colName=n.col.name;delete n.col}),i.aggregations=i.aggregations.filter(function(n){return!n.aggregation.source||n.aggregation.source!=="grouping"}),t&&(i.rowExpandedStates=h.getRowExpandedStates(n.grouping.groupingHeaderCache)),i},setGrouping:function(t){h.setGrouping(n,t)},groupColumn:function(t){var i=n.getColumn(t);h.groupColumn(n,i)},ungroupColumn:function(t){var i=n.getColumn(t);h.ungroupColumn(n,i)},clearGrouping:function(){h.clearGrouping(n)},aggregateColumn:function(t,i,r){var u=n.getColumn(t);h.aggregateColumn(n,u,i,r)}}}};n.api.registerEventsFromObject(i.events);n.api.registerMethodsFromObject(i.methods);n.api.core.on.sortChanged(t,h.tidyPriorities)},defaultGridOptions:function(n){n.enableGrouping=n.enableGrouping!==!1;n.groupingShowCounts=n.groupingShowCounts!==!1;n.groupingNullLabel=typeof n.groupingNullLabel=="undefined"?"Null":n.groupingNullLabel;n.enableGroupHeaderSelection=n.enableGroupHeaderSelection===!0},groupingColumnBuilder:function(n,r,u){if(n.enableGrouping!==!1){typeof r.grouping=="undefined"&&typeof n.grouping!="undefined"?(r.grouping=angular.copy(n.grouping),typeof r.grouping.groupPriority!="undefined"&&r.grouping.groupPriority>-1&&(r.treeAggregationFn=s.nativeAggregations()[t.aggregation.COUNT].aggregationFn,r.treeAggregationFinalizerFn=h.groupedFinalizerFn)):typeof r.grouping=="undefined"&&(r.grouping={});typeof r.grouping!="undefined"&&typeof r.grouping.groupPriority!="undefined"&&r.grouping.groupPriority>=0&&(r.suppressRemoveSort=!0);var o={name:"ui.grid.grouping.group",title:e.get().grouping.group,icon:"ui-grid-icon-indent-right",shown:function(){return typeof this.context.col.grouping=="undefined"||typeof this.context.col.grouping.groupPriority=="undefined"||this.context.col.grouping.groupPriority<0},action:function(){h.groupColumn(this.context.col.grid,this.context.col)}},c={name:"ui.grid.grouping.ungroup",title:e.get().grouping.ungroup,icon:"ui-grid-icon-indent-left",shown:function(){return typeof this.context.col.grouping!="undefined"&&typeof this.context.col.grouping.groupPriority!="undefined"&&this.context.col.grouping.groupPriority>=0},action:function(){h.ungroupColumn(this.context.col.grid,this.context.col)}},l={name:"ui.grid.grouping.aggregateRemove",title:e.get().grouping.aggregate_remove,shown:function(){return typeof this.context.col.treeAggregationFn!="undefined"},action:function(){h.aggregateColumn(this.context.col.grid,this.context.col,null)}},f=function(n,t){t=t||e.get().grouping["aggregate_"+n]||n;var u={name:"ui.grid.grouping.aggregate"+n,title:t,shown:function(){return typeof this.context.col.treeAggregation=="undefined"||typeof this.context.col.treeAggregation.type=="undefined"||this.context.col.treeAggregation.type!==n},action:function(){h.aggregateColumn(this.context.col.grid,this.context.col,n)}};i.arrayContainsObjectWithProperty(r.menuItems,"name","ui.grid.grouping.aggregate"+n)||r.menuItems.push(u)};r.colDef.groupingShowGroupingMenu!==!1&&(i.arrayContainsObjectWithProperty(r.menuItems,"name","ui.grid.grouping.group")||r.menuItems.push(o),i.arrayContainsObjectWithProperty(r.menuItems,"name","ui.grid.grouping.ungroup")||r.menuItems.push(c));r.colDef.groupingShowAggregationMenu!==!1&&(angular.forEach(s.nativeAggregations(),function(n,t){f(t)}),angular.forEach(u.treeCustomAggregations,function(n,t){f(t,n.menuTitle)}),i.arrayContainsObjectWithProperty(r.menuItems,"name","ui.grid.grouping.aggregateRemove")||r.menuItems.push(l))}},groupingColumnProcessor:function(n,t){var i=this;return h.moveGroupColumns(this,n,t)},groupedFinalizerFn:function(n){var t=this;typeof n.groupVal!="undefined"?(n.rendered=n.groupVal,t.grid.options.groupingShowCounts&&t.colDef.type!=="date"&&(n.rendered+=" ("+n.value+")")):n.rendered=null},moveGroupColumns:function(n,t){return n.options.moveGroupColumns===!1?t:(t.forEach(function(n,t){n.groupingPosition=t}),t.sort(function(n,t){var i,r;return(i=n.isRowHeader?n.headerPriority:typeof n.grouping=="undefined"||typeof n.grouping.groupPriority=="undefined"||n.grouping.groupPriority<0?null:n.grouping.groupPriority,r=t.isRowHeader?t.headerPriority:typeof t.grouping=="undefined"||typeof t.grouping.groupPriority=="undefined"||t.grouping.groupPriority<0?null:t.grouping.groupPriority,i!==null&&r===null)?-1:r!==null&&i===null?1:i!==null&&r!==null?i-r:n.groupingPosition-t.groupingPosition}),t.forEach(function(n){delete n.groupingPosition}),t)},groupColumn:function(n,i){typeof i.grouping=="undefined"&&(i.grouping={});var r=h.getGrouping(n);i.grouping.groupPriority=r.grouping.length;i.sort?(typeof i.sort.direction=="undefined"||i.sort.direction===null)&&(i.sort.direction=o.ASC):i.sort={direction:o.ASC};i.treeAggregation={type:t.aggregation.COUNT,source:"grouping"};i.treeAggregationFn=s.nativeAggregations()[t.aggregation.COUNT].aggregationFn;i.treeAggregationFinalizerFn=h.groupedFinalizerFn;n.api.grouping.raise.groupingChanged(i);n.api.core.raise.sortChanged(n,n.getColumnSorting());n.queueGridRefresh()},ungroupColumn:function(n,t){typeof t.grouping!="undefined"&&(delete t.grouping.groupPriority,delete t.treeAggregation,delete t.customTreeAggregationFinalizer,h.tidyPriorities(n),n.api.grouping.raise.groupingChanged(t),n.queueGridRefresh())},aggregateColumn:function(n,t,i){typeof t.grouping!="undefined"&&typeof t.grouping.groupPriority!="undefined"&&t.grouping.groupPriority>=0&&h.ungroupColumn(n,t);var r={};typeof n.options.treeCustomAggregations[i]!="undefined"?r=n.options.treeCustomAggregations[i]:typeof s.nativeAggregations()[i]!="undefined"&&(r=s.nativeAggregations()[i]);t.treeAggregation={type:i,label:e.get().aggregation[r.label]||r.label};t.treeAggregationFn=r.aggregationFn;t.treeAggregationFinalizerFn=r.finalizerFn;n.api.grouping.raise.aggregationChanged(t);n.queueGridRefresh()},setGrouping:function(n,t){typeof t!="undefined"&&(h.clearGrouping(n),t.grouping&&t.grouping.length&&t.grouping.length>0&&t.grouping.forEach(function(t){var i=n.getColumn(t.colName);i&&h.groupColumn(n,i)}),t.aggregations&&t.aggregations.length&&t.aggregations.forEach(function(t){var i=n.getColumn(t.colName);i&&h.aggregateColumn(n,i,t.aggregation.type)}),t.rowExpandedStates&&h.applyRowExpandedStates(n.grouping.groupingHeaderCache,t.rowExpandedStates))},clearGrouping:function(n){var t=h.getGrouping(n);t.grouping.length>0&&t.grouping.forEach(function(t){t.col||(t.col=n.getColumn(t.colName));h.ungroupColumn(n,t.col)});t.aggregations.length>0&&t.aggregations.forEach(function(t){t.col||(t.col=n.getColumn(t.colName));h.aggregateColumn(n,t.col,null)})},tidyPriorities:function(n){var t,i,r;(typeof n=="undefined"||typeof n.grid!="undefined")&&typeof this.grid!="undefined"&&(n=this.grid);t=[];i=[];n.columns.forEach(function(n){typeof n.grouping!="undefined"&&typeof n.grouping.groupPriority!="undefined"&&n.grouping.groupPriority>=0?t.push(n):typeof n.sort!="undefined"&&typeof n.sort.priority!="undefined"&&n.sort.priority>=0&&i.push(n)});t.sort(function(n,t){return n.grouping.groupPriority-t.grouping.groupPriority});t.forEach(function(n,t){n.grouping.groupPriority=t;n.suppressRemoveSort=!0;typeof n.sort=="undefined"&&(n.sort={});n.sort.priority=t});r=t.length;i.sort(function(n,t){return n.sort.priority-t.sort.priority});i.forEach(function(n){n.sort.priority=r;n.suppressRemoveSort=n.colDef.suppressRemoveSort;r++})},groupRows:function(n){var t,u,e,i,f;if(n.length===0)return n;for(t=this,t.grouping.oldGroupingHeaderCache=t.grouping.groupingHeaderCache||{},t.grouping.groupingHeaderCache={},u=h.initialiseProcessingState(t),e=function(e,o){var s=t.getCellValue(f,e.col);e.initialised&&r.getSortFn(t,e.col,n)(s,e.currentValue)===0||(h.insertGroupHeader(t,n,i,u,o),i++)},i=0;i<n.length;i++)f=n[i],f.visible&&u.forEach(e);return delete t.grouping.oldGroupingHeaderCache,n},initialiseProcessingState:function(n){var t=[],i=h.getGrouping(n);return i.grouping.forEach(function(n){t.push({fieldName:n.field,col:n.col,initialised:!1,currentValue:null,currentRow:null})}),t},getGrouping:function(n){var t=[],i=[];return n.columns.forEach(function(n){n.grouping&&typeof n.grouping.groupPriority!="undefined"&&n.grouping.groupPriority>=0&&t.push({field:n.field,col:n,groupPriority:n.grouping.groupPriority,grouping:n.grouping});n.treeAggregation&&n.treeAggregation.type&&i.push({field:n.field,col:n,aggregation:n.treeAggregation})}),t.sort(function(n,t){return n.groupPriority-t.groupPriority}),t.forEach(function(n,t){n.grouping.groupPriority=t;n.groupPriority=t;delete n.grouping}),{grouping:t,aggregations:i}},insertGroupHeader:function(n,t,i,r,e){var p=r[e].fieldName,y=r[e].col,l=n.getCellValue(t[i],y),v=l,a,s,c,o;for((typeof l=="undefined"||l===null)&&(v=n.options.groupingNullLabel),a=function(n){return angular.isObject(n)?JSON.stringify(n):n},s=n.grouping.oldGroupingHeaderCache,c=0;c<e;c++)s&&s[a(r[c].currentValue)]&&(s=s[a(r[c].currentValue)].children);for(s&&s[a(l)]?(o=s[a(l)].row,o.entity={}):(o=new u({},null,n),f.rowTemplateAssigner.call(n,o)),o.entity["$$"+r[e].col.uid]={groupVal:v},o.treeLevel=e,o.groupHeader=!0,o.internalRow=!0,o.enableCellEdit=!1,o.enableSelection=n.options.enableGroupHeaderSelection,r[e].initialised=!0,r[e].currentValue=l,r[e].currentRow=o,h.finaliseProcessingState(r,e+1),t.splice(i,0,o),s=n.grouping.groupingHeaderCache,c=0;c<e;c++)s=s[a(r[c].currentValue)].children;s[a(l)]={row:o,children:{}}},finaliseProcessingState:function(n,t){for(var i=t;i<n.length;i++)n[i].initialised=!1,n[i].currentRow=null,n[i].currentValue=null},getRowExpandedStates:function(n){if(typeof n=="undefined")return{};var t={};return angular.forEach(n,function(n,i){t[i]={state:n.row.treeNode.state};t[i].children=n.children?h.getRowExpandedStates(n.children):{}}),t},applyRowExpandedStates:function(n,t){typeof t!="undefined"&&angular.forEach(t,function(t,i){n[i]&&(n[i].row.treeNode.state=t.state,t.children&&n[i].children&&h.applyRowExpandedStates(n[i].children,t.children))})}};return h}]);n.directive("uiGridGrouping",["uiGridGroupingConstants","uiGridGroupingService","$templateCache",function(n,t){return{replace:!0,priority:0,require:"^uiGrid",scope:!1,compile:function(){return{pre:function(n,i,r,u){u.grid.options.enableGrouping!==!1&&t.initializeGrid(u.grid,n)},post:function(){}}}}}])}(),function(){"use strict";var n=angular.module("ui.grid.importer",["ui.grid"]);n.constant("uiGridImporterConstants",{featureName:"importer"});n.service("uiGridImporterService",["$q","uiGridConstants","uiGridImporterConstants","gridUtil","$compile","$interval","i18nService","$window",function(n,t,i,r,u,f,e,o){var s={initializeGrid:function(n,t){t.importer={$scope:n};this.defaultGridOptions(t.options);var i={events:{importer:{}},methods:{importer:{importFile:function(n){s.importThisFile(t,n)}}}};t.api.registerEventsFromObject(i.events);t.api.registerMethodsFromObject(i.methods);t.options.enableImporter&&t.options.importerShowMenu&&(t.api.core.addToGridMenu?s.addToMenu(t):f(function(){t.api.core.addToGridMenu&&s.addToMenu(t)},100,1))},defaultGridOptions:function(n){n.enableImporter||n.enableImporter===undefined?o.hasOwnProperty("File")&&o.hasOwnProperty("FileReader")&&o.hasOwnProperty("FileList")&&o.hasOwnProperty("Blob")?n.enableImporter=!0:(r.logError("The File APIs are not fully supported in this browser, grid importer cannot be used."),n.enableImporter=!1):n.enableImporter=!1;n.importerProcessHeaders=n.importerProcessHeaders||s.processHeaders;n.importerHeaderFilter=n.importerHeaderFilter||function(n){return n};n.importerErrorCallback&&typeof n.importerErrorCallback=="function"||delete n.importerErrorCallback;n.enableImporter!==!0||n.importerDataAddCallback||(r.logError("You have not set an importerDataAddCallback, importer is disabled"),n.enableImporter=!1);n.importerShowMenu=n.importerShowMenu!==!1;n.importerObjectCallback=n.importerObjectCallback||function(n,t){return t}},addToMenu:function(n){n.api.core.addToGridMenu(n,[{title:e.getSafeText("gridMenu.importerTitle"),order:150},{templateUrl:"ui-grid/importerMenuItemContainer",action:function(){this.grid.api.importer.importAFile(n)},order:151}])},importThisFile:function(n,t){if(!t){r.logError("No file object provided to importThisFile, should be impossible, aborting");return}var i=new FileReader;switch(t.type){case"application/json":i.onload=s.importJsonClosure(n);break;default:i.onload=s.importCsvClosure(n)}i.readAsText(t)},importJsonClosure:function(n){return function(t){var r=[],i,u=s.parseJson(n,t);u!==null&&(u.forEach(function(t){i=s.newObject(n);angular.extend(i,t);i=n.options.importerObjectCallback(n,i);r.push(i)}),s.addObjects(n,r))}},parseJson:function(n,t){var i;try{i=JSON.parse(t.target.result)}catch(r){s.alertError(n,"importer.invalidJson","File could not be processed, is it valid json? Content was: ",t.target.result);return}return Array.isArray(i)?i:(s.alertError(n,"importer.jsonNotarray","Import failed, file is not an array, file was: ",t.target.result),[])},importCsvClosure:function(n){return function(t){var r=s.parseCsv(t),i;if(!r||r.length<1){s.alertError(n,"importer.invalidCsv","File could not be processed, is it valid csv? Content was: ",t.target.result);return}if(i=s.createCsvObjects(n,r),!i||i.length===0){s.alertError(n,"importer.noObjects","Objects were not able to be derived, content was: ",t.target.result);return}s.addObjects(n,i)}},parseCsv:function(n){var t=n.target.result;return CSV.parse(t)},createCsvObjects:function(n,t){var r=n.options.importerProcessHeaders(n,t.shift()),u,i;return!r||r.length===0?(s.alertError(n,"importer.noHeaders","Column names could not be derived, content was: ",t),[]):(u=[],t.forEach(function(t){i=s.newObject(n);t!==null&&t.forEach(function(n,t){r[t]!==null&&(i[r[t]]=n)});i=n.options.importerObjectCallback(n,i);u.push(i)}),u)},processHeaders:function(n,t){var i=[],r;return n.options.columnDefs&&n.options.columnDefs.length!==0?(r=s.flattenColumnDefs(n,n.options.columnDefs),t.forEach(function(n){r[n]?i.push(r[n]):r[n.toLowerCase()]?i.push(r[n.toLowerCase()]):i.push(null)}),i):(t.forEach(function(n){i.push(n.replace(/[^0-9a-zA-Z\-_]/g,"_"))}),i)},flattenColumnDefs:function(n,t){var i={};return t.forEach(function(t){t.name&&(i[t.name]=t.field||t.name,i[t.name.toLowerCase()]=t.field||t.name);t.field&&(i[t.field]=t.field||t.name,i[t.field.toLowerCase()]=t.field||t.name);t.displayName&&(i[t.displayName]=t.field||t.name,i[t.displayName.toLowerCase()]=t.field||t.name);t.displayName&&n.options.importerHeaderFilter&&(i[n.options.importerHeaderFilter(t.displayName)]=t.field||t.name,i[n.options.importerHeaderFilter(t.displayName).toLowerCase()]=t.field||t.name)}),i},addObjects:function(n,i){if(n.api.rowEdit){var r=n.registerDataChangeCallback(function(){n.api.rowEdit.setRowsDirty(i);r()},[t.dataChange.ROW]);n.importer.$scope.$on("$destroy",r)}n.importer.$scope.$apply(n.options.importerDataAddCallback(n,i))},newObject:function(n){return typeof n.options!="undefined"&&typeof n.options.importerNewObject!="undefined"?new n.options.importerNewObject:{}},alertError:function(n,t,i,u){n.options.importerErrorCallback?n.options.importerErrorCallback(n,t,i,u):(o.alert(e.getSafeText(t)),r.logError(i+u))}};return s}]);n.directive("uiGridImporter",["uiGridImporterConstants","uiGridImporterService","gridUtil","$compile",function(n,t){return{replace:!0,priority:0,require:"^uiGrid",scope:!1,link:function(n,i,r,u){t.initializeGrid(n,u.grid)}}}]);n.directive("uiGridImporterMenuItem",["uiGridImporterConstants","uiGridImporterService","gridUtil","$compile",function(n,t,i){return{replace:!0,priority:0,require:"^uiGrid",scope:!1,templateUrl:"ui-grid/importerMenuItem",link:function(n,r,u,f){var o=function(n){var i=n.srcElement||n.target,r;i&&i.files&&i.files.length===1&&(r=i.files[0],t.importThisFile(s,r),i.form.reset())},e=r[0].querySelectorAll(".ui-grid-importer-file-chooser"),s=f.grid;e.length!==1?i.logError("Found > 1 or < 1 file choosers within the menu item, error, cannot continue"):e[0].addEventListener("change",o,!1)}}}])}(),function(){"use strict";var n=angular.module("ui.grid.infiniteScroll",["ui.grid"]);n.service("uiGridInfiniteScrollService",["gridUtil","$compile","$timeout","uiGridConstants","ScrollEvent","$q",function(n,t,i,r,u,f){var e={initializeGrid:function(n,t){if(e.defaultGridOptions(n.options),n.options.enableInfiniteScroll){n.infiniteScroll={dataLoading:!1};e.setScrollDirections(n,n.options.infiniteScrollUp,n.options.infiniteScrollDown);n.api.core.on.scrollEnd(t,e.handleScroll);var i={events:{infiniteScroll:{needLoadMoreData:function(){},needLoadMoreDataTop:function(){}}},methods:{infiniteScroll:{dataLoaded:function(t,i){e.setScrollDirections(n,t,i);return e.adjustScroll(n).then(function(){n.infiniteScroll.dataLoading=!1})},resetScroll:function(t,i){return e.setScrollDirections(n,t,i),e.adjustInfiniteScrollPosition(n,0)},saveScrollPercentage:function(){n.infiniteScroll.prevScrollTop=n.renderContainers.body.prevScrollTop;n.infiniteScroll.previousVisibleRows=n.getVisibleRowCount()},dataRemovedTop:function(t,i){e.dataRemovedTop(n,t,i)},dataRemovedBottom:function(t,i){e.dataRemovedBottom(n,t,i)},setScrollDirections:function(t,i){e.setScrollDirections(n,t,i)}}}};n.api.registerEventsFromObject(i.events);n.api.registerMethodsFromObject(i.methods)}},defaultGridOptions:function(n){n.enableInfiniteScroll=n.enableInfiniteScroll!==!1;n.infiniteScrollRowsFromEnd=n.infiniteScrollRowsFromEnd||20;n.infiniteScrollUp=n.infiniteScrollUp===!0;n.infiniteScrollDown=n.infiniteScrollDown!==!1},setScrollDirections:function(n,t,i){n.infiniteScroll.scrollUp=t===!0;n.suppressParentScrollUp=t===!0;n.infiniteScroll.scrollDown=i!==!1;n.suppressParentScrollDown=i!==!1},handleScroll:function(n){if((!n.grid.infiniteScroll||!n.grid.infiniteScroll.dataLoading)&&n.source!=="ui.grid.adjustInfiniteScrollPosition"&&n.y)if(n.y.percentage===0)n.grid.scrollDirection=r.scrollDirection.UP,e.loadData(n.grid);else if(n.y.percentage===1)n.grid.scrollDirection=r.scrollDirection.DOWN,e.loadData(n.grid);else{var t,i=n.grid.options.infiniteScrollRowsFromEnd/n.grid.renderContainers.body.visibleRowCache.length;n.grid.scrollDirection===r.scrollDirection.UP?(t=n.y.percentage,t<=i&&e.loadData(n.grid)):n.grid.scrollDirection===r.scrollDirection.DOWN&&(t=1-n.y.percentage,t<=i&&e.loadData(n.grid))}},loadData:function(n){n.infiniteScroll.previousVisibleRows=n.renderContainers.body.visibleRowCache.length;n.infiniteScroll.direction=n.scrollDirection;delete n.infiniteScroll.prevScrollTop;n.scrollDirection===r.scrollDirection.UP&&n.infiniteScroll.scrollUp?(n.infiniteScroll.dataLoading=!0,n.api.infiniteScroll.raise.needLoadMoreDataTop()):n.scrollDirection===r.scrollDirection.DOWN&&n.infiniteScroll.scrollDown&&(n.infiniteScroll.dataLoading=!0,n.api.infiniteScroll.raise.needLoadMoreData())},adjustScroll:function(n){var t=f.defer();return i(function(){var o,u,s,h,f,c;o=n.getViewportHeight()+n.headerHeight-n.renderContainers.body.headerHeight-n.scrollbarHeight;u=n.options.rowHeight;n.infiniteScroll.direction===undefined&&e.adjustInfiniteScrollPosition(n,0);s=n.getVisibleRowCount();c=u*s;n.infiniteScroll.scrollDown&&o>c&&n.api.infiniteScroll.raise.needLoadMoreData();n.infiniteScroll.direction===r.scrollDirection.UP&&(h=n.infiniteScroll.prevScrollTop||0,f=h+(s-n.infiniteScroll.previousVisibleRows)*u,e.adjustInfiniteScrollPosition(n,f),i(function(){t.resolve()}));n.infiniteScroll.direction===r.scrollDirection.DOWN&&(f=n.infiniteScroll.prevScrollTop||n.infiniteScroll.previousVisibleRows*u-o,e.adjustInfiniteScrollPosition(n,f),i(function(){t.resolve()}))},0),t.promise},adjustInfiniteScrollPosition:function(n,t){var i=new u(n,null,null,"ui.grid.adjustInfiniteScrollPosition"),f=n.getVisibleRowCount(),e=n.getViewportHeight()+n.headerHeight-n.renderContainers.body.headerHeight-n.scrollbarHeight,o=n.options.rowHeight,r=f*o-e;i.y=t===0&&n.infiniteScroll.scrollUp?{percentage:1/r}:{percentage:t/r};n.scrollContainers("",i)},dataRemovedTop:function(n,t,i){var r,u,f,o;return e.setScrollDirections(n,t,i),r=n.renderContainers.body.visibleRowCache.length,u=n.infiniteScroll.prevScrollTop,o=n.options.rowHeight,f=u-(n.infiniteScroll.previousVisibleRows-r)*o,e.adjustInfiniteScrollPosition(n,f)},dataRemovedBottom:function(n,t,i){var r;return e.setScrollDirections(n,t,i),r=n.infiniteScroll.prevScrollTop,e.adjustInfiniteScrollPosition(n,r)}};return e}]);n.directive("uiGridInfiniteScroll",["uiGridInfiniteScrollService",function(n){return{priority:-200,scope:!1,require:"^uiGrid",compile:function(){return{pre:function(t,i,r,u){n.initializeGrid(u.grid,t)},post:function(){}}}}}])}(),function(){"use strict";var n=angular.module("ui.grid.moveColumns",["ui.grid"]);n.service("uiGridMoveColumnService",["$q","$timeout","$log","ScrollEvent","uiGridConstants","gridUtil",function(n,t,i,r,u,f){var e={initializeGrid:function(n){var t=this;this.registerPublicApi(n);this.defaultGridOptions(n.options);n.moveColumns={orderCache:[]};n.registerColumnBuilder(t.movableColumnBuilder);n.registerDataChangeCallback(t.verifyColumnOrder,[u.dataChange.COLUMN])},registerPublicApi:function(n){var i=this,t={events:{colMovable:{columnPositionChanged:function(){}}},methods:{colMovable:{moveColumn:function(t,r){var u=n.columns,o,e,s;if(!angular.isNumber(t)||!angular.isNumber(r)){f.logError("MoveColumn: Please provide valid values for originalPosition and finalPosition");return}for(o=0,e=0;e<u.length;e++)(angular.isDefined(u[e].colDef.visible)&&u[e].colDef.visible===!1||u[e].isRowHeader===!0)&&o++;if(t>=u.length-o||r>=u.length-o){f.logError("MoveColumn: Invalid values for originalPosition, finalPosition");return}s=function(n){for(var i=n,t=0;t<=i;t++)angular.isDefined(u[t])&&(angular.isDefined(u[t].colDef.visible)&&u[t].colDef.visible===!1||u[t].isRowHeader===!0)&&i++;return i};i.redrawColumnAtPosition(n,s(t),s(r))}}}};n.api.registerEventsFromObject(t.events);n.api.registerMethodsFromObject(t.methods)},defaultGridOptions:function(n){n.enableColumnMoving=n.enableColumnMoving!==!1},movableColumnBuilder:function(t,i,r){return t.enableColumnMoving=t.enableColumnMoving===undefined?r.enableColumnMoving:t.enableColumnMoving,n.all([])},updateColumnCache:function(n){n.moveColumns.orderCache=n.getOnlyDataColumns()},verifyColumnOrder:function(n){var i=n.rowHeaderColumns.length,t;angular.forEach(n.moveColumns.orderCache,function(r,u){if(t=n.columns.indexOf(r),t!==-1&&t-i!==u){var f=n.columns.splice(t,1)[0];n.columns.splice(u+i,0,f)}})},redrawColumnAtPosition:function(n,i,r){var f=n.columns,c,o,l,s,h;if(i!==r){for(c=i<r?i+1:i-1,o=Math.min(c,r),o;o<=Math.max(c,r);o++)if(f[o].visible)break;if(!(o>Math.max(c,r))&&(l=f[i],l.colDef.enableColumnMoving)){if(i>r)for(s=i;s>r;s--)f[s]=f[s-1];else if(r>i)for(h=i;h<r;h++)f[h]=f[h+1];f[r]=l;e.updateColumnCache(n);n.queueGridRefresh();t(function(){n.api.core.notifyDataChange(u.dataChange.COLUMN);n.api.colMovable.raise.columnPositionChanged(l.colDef,i,r)})}}}};return e}]);n.directive("uiGridMoveColumns",["uiGridMoveColumnService",function(n){return{replace:!0,priority:0,require:"^uiGrid",scope:!1,compile:function(){return{pre:function(t,i,r,u){n.initializeGrid(u.grid)},post:function(){}}}}}]);n.directive("uiGridHeaderCell",["$q","gridUtil","uiGridMoveColumnService","$document","$log","uiGridConstants","ScrollEvent",function(n,t,i,r,u,f,e){return{priority:-10,require:"^uiGrid",compile:function(){return{post:function(n,t,u,f){var g,nt;if(n.col.colDef.enableColumnMoving){var a=angular.element(t[0].querySelectorAll(".ui-grid-cell-contents")),c,b,o,h,v=!1,s,l,k=!1,y=function(t){if(c=n.grid.element[0].getBoundingClientRect().left,n.grid.hasLeftContainer()&&(c+=n.grid.renderContainers.left.header[0].getBoundingClientRect().width),b=t.pageX,o=0,h=c+n.grid.getViewportWidth(),t.type==="mousedown"){r.on("mousemove",p);r.on("mouseup",w)}else if(t.type==="touchstart"){r.on("touchmove",p);r.on("touchend",w)}},p=function(n){var t=n.pageX-b;t!==0&&(document.onselectstart=function(){return!1},k=!0,v?v&&(nt(t),b=n.pageX):g())},w=function(){var t,f,l,e,h,r,c,u;if(document.onselectstart=null,s&&(s.remove(),v=!1),tt(),d(),k){for(t=n.grid.columns,f=0,l=0;l<t.length;l++)if(t[l].colDef.name!==n.col.colDef.name)f++;else break;if(o<0){if(h=0,n.grid.isRTL()){for(r=f+1;r<t.length;r++)if((angular.isUndefined(t[r].colDef.visible)||t[r].colDef.visible===!0)&&(h+=t[r].drawnWidth||t[r].width||t[r].colDef.width,h>Math.abs(o))){i.redrawColumnAtPosition(n.grid,f,r-1);break}}else for(r=f-1;r>=0;r--)if((angular.isUndefined(t[r].colDef.visible)||t[r].colDef.visible===!0)&&(h+=t[r].drawnWidth||t[r].width||t[r].colDef.width,h>Math.abs(o))){i.redrawColumnAtPosition(n.grid,f,r+1);break}h<Math.abs(o)&&(e=0,n.grid.isRTL()&&(e=t.length-1),i.redrawColumnAtPosition(n.grid,f,e))}else if(o>0){if(c=0,n.grid.isRTL()){for(u=f-1;u>0;u--)if((angular.isUndefined(t[u].colDef.visible)||t[u].colDef.visible===!0)&&(c+=t[u].drawnWidth||t[u].width||t[u].colDef.width,c>o)){i.redrawColumnAtPosition(n.grid,f,u);break}}else for(u=f+1;u<t.length;u++)if((angular.isUndefined(t[u].colDef.visible)||t[u].colDef.visible===!0)&&(c+=t[u].drawnWidth||t[u].width||t[u].colDef.width,c>o)){i.redrawColumnAtPosition(n.grid,f,u-1);break}c<o&&(e=t.length-1,n.grid.isRTL()&&(e=0),i.redrawColumnAtPosition(n.grid,f,e))}}},d=function(){a.on("touchstart",y);a.on("mousedown",y)},tt=function(){a.off("touchstart",y);a.off("mousedown",y);r.off("mousemove",p);r.off("touchmove",p);r.off("mouseup",w);r.off("touchend",w)};d();g=function(){var i,r,u;v=!0;s=t.clone();t.parent().append(s);s.addClass("movingColumn");i={};i.left=t[0].offsetLeft+"px";r=n.grid.element[0].getBoundingClientRect().right;u=t[0].getBoundingClientRect().right;u>r&&(l=n.col.drawnWidth+(r-u),i.width=l+"px");s.css(i)};nt=function(t){for(var v,b,a,y,p,r,i=n.grid.columns,w=0,u=0;u<i.length;u++)(angular.isUndefined(i[u].colDef.visible)||i[u].colDef.visible===!0)&&(w+=i[u].drawnWidth||i[u].width||i[u].colDef.width);for(v=s[0].getBoundingClientRect().left-1,b=s[0].getBoundingClientRect().right,a=v-c+t,a=a<h?a:h,(v>=c||t>0)&&(b<=h||t<0)?s.css({visibility:"visible",left:s[0].offsetLeft+(a<h?t:h-v)+"px"}):w>Math.ceil(f.grid.gridWidth)&&(t*=8,y=new e(n.col.grid,null,null,"uiGridHeaderCell.moveElement"),y.x={pixels:t},y.grid.scrollContainers("",y)),p=0,r=0;r<i.length;r++)if(angular.isUndefined(i[r].colDef.visible)||i[r].colDef.visible===!0)if(i[r].colDef.name!==n.col.colDef.name)p+=i[r].drawnWidth||i[r].width||i[r].colDef.width;else break;n.newScrollLeft===undefined?o+=t:o=n.newScrollLeft+a-p;l<n.col.drawnWidth&&(l+=Math.abs(t),s.css({width:l+"px"}))}}}}}}}])}(),function(){"use strict";var n=angular.module("ui.grid.pagination",["ng","ui.grid"]);n.service("uiGridPaginationService",["gridUtil",function(n){var t={initializeGrid:function(n){var i,r;t.defaultGridOptions(n.options);i={events:{pagination:{paginationChanged:function(){}}},methods:{pagination:{getPage:function(){return n.options.enablePagination?n.options.paginationCurrentPage:null},getTotalPages:function(){return n.options.enablePagination?n.options.totalItems===0?1:Math.ceil(n.options.totalItems/n.options.paginationPageSize):null},nextPage:function(){n.options.enablePagination&&(n.options.totalItems>0?n.options.paginationCurrentPage=Math.min(n.options.paginationCurrentPage+1,i.methods.pagination.getTotalPages()):n.options.paginationCurrentPage++)},previousPage:function(){n.options.enablePagination&&(n.options.paginationCurrentPage=Math.max(n.options.paginationCurrentPage-1,1))},seek:function(t){if(n.options.enablePagination){if(!angular.isNumber(t)||t<1)throw"Invalid page number: "+t;n.options.paginationCurrentPage=Math.min(t,i.methods.pagination.getTotalPages())}}}}};n.api.registerEventsFromObject(i.events);n.api.registerMethodsFromObject(i.methods);r=function(t){var i;if(n.options.useExternalPagination||!n.options.enablePagination)return t;var r=parseInt(n.options.paginationPageSize,10),u=parseInt(n.options.paginationCurrentPage,10),f=t.filter(function(n){return n.visible});return n.options.totalItems=f.length,i=(u-1)*r,i>f.length&&(u=n.options.paginationCurrentPage=1,i=(u-1)*r),f.slice(i,i+r)};n.registerRowsProcessor(r,900)},defaultGridOptions:function(t){t.enablePagination=t.enablePagination!==!1;t.enablePaginationControls=t.enablePaginationControls!==!1;t.useExternalPagination=t.useExternalPagination===!0;n.isNullOrUndefined(t.totalItems)&&(t.totalItems=0);n.isNullOrUndefined(t.paginationPageSizes)&&(t.paginationPageSizes=[250,500,1e3]);n.isNullOrUndefined(t.paginationPageSize)&&(t.paginationPageSize=t.paginationPageSizes.length>0?t.paginationPageSizes[0]:0);n.isNullOrUndefined(t.paginationCurrentPage)&&(t.paginationCurrentPage=1);n.isNullOrUndefined(t.paginationTemplate)&&(t.paginationTemplate="ui-grid/pagination")},onPaginationChanged:function(n,t,i){n.api.pagination.raise.paginationChanged(t,i);n.options.useExternalPagination||n.queueGridRefresh()}};return t}]);n.directive("uiGridPagination",["gridUtil","uiGridPaginationService",function(n,t){return{priority:-200,scope:!1,require:"uiGrid",link:{pre:function(i,r,u,f){t.initializeGrid(f.grid);n.getTemplate(f.grid.options.paginationTemplate).then(function(n){var t=angular.element(n);r.append(t);f.innerCompile(t)})}}}}]);n.directive("uiGridPager",["uiGridPaginationService","uiGridConstants","gridUtil","i18nService",function(n,t,i,r){return{priority:-200,scope:!0,require:"^uiGrid",link:function(u,f,e,o){var a=".ui-grid-pager-control-input",s,c,h;u.aria=r.getSafeText("pagination.aria");u.paginationApi=o.grid.api.pagination;u.sizesLabel=r.getSafeText("pagination.sizes");u.totalItemsLabel=r.getSafeText("pagination.totalItems");u.paginationOf=r.getSafeText("pagination.of");u.paginationThrough=r.getSafeText("pagination.through");s=o.grid.options;o.grid.renderContainers.body.registerViewportAdjuster(function(n){return n.height=n.height-i.elementHeight(f,"padding"),n});c=o.grid.registerDataChangeCallback(function(n){n.options.useExternalPagination||(n.options.totalItems=n.rows.length)},[t.dataChange.ROW]);u.$on("$destroy",c);var l=function(){u.showingLow=(s.paginationCurrentPage-1)*s.paginationPageSize+1;u.showingHigh=Math.min(s.paginationCurrentPage*s.paginationPageSize,s.totalItems)},v=u.$watch("grid.options.totalItems + grid.options.paginationPageSize",l),y=u.$watch("grid.options.paginationCurrentPage + grid.options.paginationPageSize",function(t,i){if(t!==i&&i!==undefined){if(!angular.isNumber(s.paginationCurrentPage)||s.paginationCurrentPage<1){s.paginationCurrentPage=1;return}if(s.totalItems>0&&s.paginationCurrentPage>u.paginationApi.getTotalPages()){s.paginationCurrentPage=u.paginationApi.getTotalPages();return}l();n.onPaginationChanged(u.grid,s.paginationCurrentPage,s.paginationPageSize)}});u.$on("$destroy",function(){v();y()});u.cantPageForward=function(){return s.totalItems>0?s.paginationCurrentPage>=u.paginationApi.getTotalPages():s.data===null||s.data===undefined||s.data.length<1};u.cantPageToLast=function(){return s.totalItems>0?u.cantPageForward():!0};u.cantPageBackward=function(){return s.paginationCurrentPage<=1};h=function(n){n&&i.focus.bySelector(f,a)};u.pageFirstPageClick=function(){u.paginationApi.seek(1);h(u.cantPageBackward())};u.pagePreviousPageClick=function(){u.paginationApi.previousPage();h(u.cantPageBackward())};u.pageNextPageClick=function(){u.paginationApi.nextPage();h(u.cantPageForward())};u.pageLastPageClick=function(){u.paginationApi.seek(u.paginationApi.getTotalPages());h(u.cantPageToLast())}}}}])}(),function(){"use strict";var n=angular.module("ui.grid.pinning",["ui.grid"]);n.constant("uiGridPinningConstants",{container:{LEFT:"left",RIGHT:"right",NONE:""}});n.service("uiGridPinningService",["gridUtil","GridRenderContainer","i18nService","uiGridPinningConstants",function(n,t,i,r){var u={initializeGrid:function(n){u.defaultGridOptions(n.options);n.registerColumnBuilder(u.pinningColumnBuilder);var t={events:{pinning:{columnPinned:function(){}}},methods:{pinning:{pinColumn:function(t,i){u.pinColumn(n,t,i)}}}};n.api.registerEventsFromObject(t.events);n.api.registerMethodsFromObject(t.methods)},defaultGridOptions:function(n){n.enablePinning=n.enablePinning!==!1},pinningColumnBuilder:function(t,f,e){if(t.enablePinning=t.enablePinning===undefined?e.enablePinning:t.enablePinning,t.pinnedLeft?(f.renderContainer="left",f.grid.createLeftContainer()):t.pinnedRight&&(f.renderContainer="right",f.grid.createRightContainer()),t.enablePinning){var o={name:"ui.grid.pinning.pinLeft",title:i.get().pinning.pinLeft,icon:"ui-grid-icon-left-open",shown:function(){return typeof this.context.col.renderContainer=="undefined"||!this.context.col.renderContainer||this.context.col.renderContainer!=="left"},action:function(){u.pinColumn(this.context.col.grid,this.context.col,r.container.LEFT)}},s={name:"ui.grid.pinning.pinRight",title:i.get().pinning.pinRight,icon:"ui-grid-icon-right-open",shown:function(){return typeof this.context.col.renderContainer=="undefined"||!this.context.col.renderContainer||this.context.col.renderContainer!=="right"},action:function(){u.pinColumn(this.context.col.grid,this.context.col,r.container.RIGHT)}},h={name:"ui.grid.pinning.unpin",title:i.get().pinning.unpin,icon:"ui-grid-icon-cancel",shown:function(){return typeof this.context.col.renderContainer!="undefined"&&this.context.col.renderContainer!==null&&this.context.col.renderContainer!=="body"},action:function(){u.pinColumn(this.context.col.grid,this.context.col,r.container.NONE)}};n.arrayContainsObjectWithProperty(f.menuItems,"name","ui.grid.pinning.pinLeft")||f.menuItems.push(o);n.arrayContainsObjectWithProperty(f.menuItems,"name","ui.grid.pinning.pinRight")||f.menuItems.push(s);n.arrayContainsObjectWithProperty(f.menuItems,"name","ui.grid.pinning.unpin")||f.menuItems.push(h)}},pinColumn:function(n,t,i){i===r.container.NONE?(t.renderContainer=null,t.colDef.pinnedLeft=t.colDef.pinnedRight=!1):(t.renderContainer=i,i===r.container.LEFT?n.createLeftContainer():i===r.container.RIGHT&&n.createRightContainer());n.refresh().then(function(){n.api.pinning.raise.columnPinned(t.colDef,i)})}};return u}]);n.directive("uiGridPinning",["gridUtil","uiGridPinningService",function(n,t){return{require:"uiGrid",scope:!1,compile:function(){return{pre:function(n,i,r,u){t.initializeGrid(u.grid)},post:function(){}}}}}])}(),function(){"use strict";var n=angular.module("ui.grid.resizeColumns",["ui.grid"]);n.service("uiGridResizeColumnsService",["gridUtil","$q","$timeout",function(n,t,i){return{defaultGridOptions:function(n){n.enableColumnResizing=n.enableColumnResizing!==!1;n.enableColumnResize===!1&&(n.enableColumnResizing=!1)},colResizerColumnBuilder:function(n,i,r){return n.enableColumnResizing=n.enableColumnResizing===undefined?r.enableColumnResizing:n.enableColumnResizing,n.enableColumnResize===!1&&(n.enableColumnResizing=!1),t.all([])},registerPublicApi:function(n){var t={events:{colResizable:{columnSizeChanged:function(){}}}};n.api.registerEventsFromObject(t.events)},fireColumnSizeChanged:function(t,r,u){i(function(){t.api.colResizable?t.api.colResizable.raise.columnSizeChanged(r,u):n.logError("The resizeable api is not registered, this may indicate that you've included the module but not added the 'ui-grid-resize-columns' directive to your grid definition.  Cannot raise any events.")})},findTargetCol:function(n,t,i){var r=n.getRenderContainer(),u;return t==="left"?(u=r.visibleColumnCache.indexOf(n),r.visibleColumnCache[u-1*i]):n}}}]);n.directive("uiGridResizeColumns",["gridUtil","uiGridResizeColumnsService",function(n,t){return{replace:!0,priority:0,require:"^uiGrid",scope:!1,compile:function(){return{pre:function(n,i,r,u){t.defaultGridOptions(u.grid.options);u.grid.registerColumnBuilder(t.colResizerColumnBuilder);t.registerPublicApi(u.grid)},post:function(){}}}}}]);n.directive("uiGridHeaderCell",["gridUtil","$templateCache","$compile","$q","uiGridResizeColumnsService","uiGridConstants","$timeout",function(n,t,i,r,u,f,e){return{priority:-10,require:"^uiGrid",compile:function(){return{post:function(n,r,o,s){var h=s.grid,c,l,a,v,y;h.options.enableColumnResizing&&(c=t.get("ui-grid/columnResizer"),l=1,h.isRTL()&&(n.position="left",l=-1),a=function(){for(var o,h,t,f,s=r[0].getElementsByClassName("ui-grid-column-resizer"),e=0;e<s.length;e++)angular.element(s[e]).remove();o=u.findTargetCol(n.col,"left",l);h=n.col.getRenderContainer();o&&h.visibleColumnCache.indexOf(n.col)!==0&&o.colDef.enableColumnResizing!==!1&&(t=angular.element(c).clone(),t.attr("position","left"),r.prepend(t),i(t)(n));n.col.colDef.enableColumnResizing!==!1&&(f=angular.element(c).clone(),f.attr("position","right"),r.append(f),i(f)(n))},a(),v=function(){e(a)},y=h.registerDataChangeCallback(v,[f.dataChange.COLUMN]),n.$on("$destroy",y))}}}}}]);n.directive("uiGridColumnResizer",["$document","gridUtil","uiGridConstants","uiGridResizeColumnsService",function(n,t,i,r){var u=angular.element('<div class="ui-grid-resize-overlay"><\/div>');return{priority:0,scope:{col:"=",position:"@",renderIndex:"="},require:"?^uiGrid",link:function(f,e,o,s){function g(){s.grid.refreshCanvas(!0).then(function(){s.grid.queueGridRefresh()})}function w(n,t){var i=t;return n.minWidth&&i<n.minWidth?i=n.minWidth:n.maxWidth&&i>n.maxWidth&&(i=n.maxWidth),i}function y(n){var t,o,e;(n.originalEvent&&(n=n.originalEvent),n.preventDefault(),h=(n.targetTouches?n.targetTouches[0]:n).clientX-v,h<0?h=0:h>s.grid.gridWidth&&(h=s.grid.gridWidth),t=r.findTargetCol(f.col,f.position,c),t.colDef.enableColumnResizing!==!1)&&(s.grid.element.hasClass("column-resizing")||s.grid.element.addClass("column-resizing"),o=h-a,e=parseInt(t.drawnWidth+o*c,10),h=h+(w(t,e)-e)*c,u.css({left:h+"px"}),s.fireEvent(i.events.ITEM_DRAGGING))}function p(n){var i,t,e;if(n.originalEvent&&(n=n.originalEvent),n.preventDefault(),s.grid.element.removeClass("column-resizing"),u.remove(),h=(n.changedTouches?n.changedTouches[0]:n).clientX-v,i=h-a,i===0){k();b();return}(t=r.findTargetCol(f.col,f.position,c),t.colDef.enableColumnResizing!==!1)&&(e=parseInt(t.drawnWidth+i*c,10),t.width=w(t,e),t.hasCustomWidth=!0,g(i),r.fireColumnSizeChanged(s.grid,t.colDef,i),k(),b())}var a=0,h=0,v=0,c=1,d;s.grid.isRTL()&&(f.position="left",c=-1);f.position==="left"?e.addClass("left"):f.position==="right"&&e.addClass("right");var l=function(t){if(t.originalEvent&&(t=t.originalEvent),t.stopPropagation(),v=s.grid.element[0].getBoundingClientRect().left,a=(t.targetTouches?t.targetTouches[0]:t).clientX-v,s.grid.element.append(u),u.css({left:a}),t.type==="touchstart"){n.on("touchend",p);n.on("touchmove",y);e.off("mousedown",l)}else{n.on("mouseup",p);n.on("mousemove",y);e.off("touchstart",l)}},b=function(){e.on("mousedown",l);e.on("touchstart",l)},k=function(){n.off("mouseup",p);n.off("touchend",p);n.off("mousemove",y);n.off("touchmove",y);e.off("mousedown",l);e.off("touchstart",l)};b();d=function(n){var u;if(n.stopPropagation(),u=r.findTargetCol(f.col,f.position,c),u.colDef.enableColumnResizing!==!1){var o=0,h=0,l=t.closestElm(e,".ui-grid-render-container"),a=l.querySelectorAll("."+i.COL_CLASS_PREFIX+u.uid+" .ui-grid-cell-contents");Array.prototype.forEach.call(a,function(n){var i;angular.element(n).parent().hasClass("ui-grid-header-cell")&&(i=angular.element(n).parent()[0].querySelectorAll(".ui-grid-column-menu-button"));t.fakeElement(n,{},function(n){var u=angular.element(n),r,f;u.attr("style","float: left");r=t.elementWidth(u);i&&(f=t.elementWidth(i),r=r+f);r>o&&(o=r,h=o-r)})});u.width=w(u,o);u.hasCustomWidth=!0;g(h);r.fireColumnSizeChanged(s.grid,u.colDef,h)}};e.on("dblclick",d);e.on("$destroy",function(){e.off("dblclick",d);k()})}}}])}(),function(){"use strict";var n=angular.module("ui.grid.rowEdit",["ui.grid","ui.grid.edit","ui.grid.cellNav"]);n.constant("uiGridRowEditConstants",{});n.service("uiGridRowEditService",["$interval","$q","uiGridConstants","uiGridRowEditConstants","gridUtil",function(n,t,i,r,u){var f={initializeGrid:function(n,t){t.rowEdit={};var i={events:{rowEdit:{saveRow:function(){}}},methods:{rowEdit:{setSavePromise:function(n,i){f.setSavePromise(t,n,i)},getDirtyRows:function(){return t.rowEdit.dirtyRows?t.rowEdit.dirtyRows:[]},getErrorRows:function(){return t.rowEdit.errorRows?t.rowEdit.errorRows:[]},flushDirtyRows:function(){return f.flushDirtyRows(t)},setRowsDirty:function(n){f.setRowsDirty(t,n)},setRowsClean:function(n){f.setRowsClean(t,n)}}}};t.api.registerEventsFromObject(i.events);t.api.registerMethodsFromObject(i.methods);t.api.core.on.renderingComplete(n,function(){t.api.edit.on.afterCellEdit(n,f.endEditCell);t.api.edit.on.beginCellEdit(n,f.beginEditCell);t.api.edit.on.cancelCellEdit(n,f.cancelEditCell);t.api.cellNav&&t.api.cellNav.on.navigate(n,f.navigate)})},defaultGridOptions:function(){},saveRow:function(n,t){var i=this;return function(){if(t.isSaving=!0,t.rowEditSavePromise)return t.rowEditSavePromise;var r=n.api.rowEdit.raise.saveRow(t.entity);return t.rowEditSavePromise?t.rowEditSavePromise.then(i.processSuccessPromise(n,t),i.processErrorPromise(n,t)):u.logError("A promise was not returned when saveRow event was raised, either nobody is listening to event, or event handler did not return a promise"),r}},setSavePromise:function(n,t,i){var r=n.getRow(t);r.rowEditSavePromise=i},processSuccessPromise:function(n,t){var i=this;return function(){delete t.isSaving;delete t.isDirty;delete t.isError;delete t.rowEditSaveTimer;delete t.rowEditSavePromise;i.removeRow(n.rowEdit.errorRows,t);i.removeRow(n.rowEdit.dirtyRows,t)}},processErrorPromise:function(n,t){return function(){delete t.isSaving;delete t.rowEditSaveTimer;delete t.rowEditSavePromise;t.isError=!0;n.rowEdit.errorRows||(n.rowEdit.errorRows=[]);f.isRowPresent(n.rowEdit.errorRows,t)||n.rowEdit.errorRows.push(t)}},removeRow:function(n,t){typeof n!="undefined"&&n!==null&&n.forEach(function(i,r){i.uid===t.uid&&n.splice(r,1)})},isRowPresent:function(n,t){var i=!1;return n.forEach(function(n){n.uid===t.uid&&(i=!0)}),i},flushDirtyRows:function(n){var i=[];return n.api.rowEdit.getDirtyRows().forEach(function(t){f.saveRow(n,t)();i.push(t.rowEditSavePromise)}),t.all(i)},endEditCell:function(n,t,i,r){var o=this.grid,e=o.getRow(n);if(!e){u.logError("Unable to find rowEntity in grid data, dirty flag cannot be set");return}(i!==r||e.isDirty)&&(o.rowEdit.dirtyRows||(o.rowEdit.dirtyRows=[]),e.isDirty||(e.isDirty=!0,o.rowEdit.dirtyRows.push(e)),delete e.isError,f.considerSetTimer(o,e))},beginEditCell:function(n){var t=this.grid,i=t.getRow(n);if(!i){u.logError("Unable to find rowEntity in grid data, timer cannot be cancelled");return}f.cancelTimer(t,i)},cancelEditCell:function(n){var t=this.grid,i=t.getRow(n);if(!i){u.logError("Unable to find rowEntity in grid data, timer cannot be set");return}f.considerSetTimer(t,i)},navigate:function(n,t){var i=this.grid;n.row.rowEditSaveTimer&&f.cancelTimer(i,n.row);t&&t.row&&t.row!==n.row&&f.considerSetTimer(i,t.row)},considerSetTimer:function(t,i){if(f.cancelTimer(t,i),i.isDirty&&!i.isSaving&&t.options.rowEditWaitInterval!==-1){var r=t.options.rowEditWaitInterval?t.options.rowEditWaitInterval:2e3;i.rowEditSaveTimer=n(f.saveRow(t,i),r,1)}},cancelTimer:function(t,i){i.rowEditSaveTimer&&!i.isSaving&&(n.cancel(i.rowEditSaveTimer),delete i.rowEditSaveTimer)},setRowsDirty:function(n,t){var i;t.forEach(function(t){i=n.getRow(t);i?(n.rowEdit.dirtyRows||(n.rowEdit.dirtyRows=[]),i.isDirty||(i.isDirty=!0,n.rowEdit.dirtyRows.push(i)),delete i.isError,f.considerSetTimer(n,i)):u.logError("requested row not found in rowEdit.setRowsDirty, row was: "+t)})},setRowsClean:function(n,t){var i;t.forEach(function(t){i=n.getRow(t);i?(delete i.isDirty,f.removeRow(n.rowEdit.dirtyRows,i),f.cancelTimer(n,i),delete i.isError,f.removeRow(n.rowEdit.errorRows,i)):u.logError("requested row not found in rowEdit.setRowsClean, row was: "+t)})}};return f}]);n.directive("uiGridRowEdit",["gridUtil","uiGridRowEditService","uiGridEditConstants",function(n,t){return{replace:!0,priority:0,require:"^uiGrid",scope:!1,compile:function(){return{pre:function(n,i,r,u){t.initializeGrid(n,u.grid)},post:function(){}}}}}]);n.directive("uiGridViewport",["$compile","uiGridConstants","gridUtil","$parse",function(){return{priority:-200,scope:!1,compile:function(n){var t=angular.element(n.children().children()[0]),i=t.attr("ng-class"),r="";return r=i?i.slice(0,-1)+", 'ui-grid-row-dirty': row.isDirty, 'ui-grid-row-saving': row.isSaving, 'ui-grid-row-error': row.isError}":"{'ui-grid-row-dirty': row.isDirty, 'ui-grid-row-saving': row.isSaving, 'ui-grid-row-error': row.isError}",t.attr("ng-class",r),{pre:function(){},post:function(){}}}}}])}(),function(){"use strict";var n=angular.module("ui.grid.saveState",["ui.grid","ui.grid.selection","ui.grid.cellNav","ui.grid.grouping","ui.grid.pinning","ui.grid.treeView"]);n.constant("uiGridSaveStateConstants",{featureName:"saveState"});n.service("uiGridSaveStateService",["$q","uiGridSaveStateConstants","gridUtil","$compile","$interval","uiGridConstants",function(){var n={initializeGrid:function(t){t.saveState={};this.defaultGridOptions(t.options);var i={events:{saveState:{}},methods:{saveState:{save:function(){return n.save(t)},restore:function(i,r){n.restore(t,i,r)}}}};t.api.registerEventsFromObject(i.events);t.api.registerMethodsFromObject(i.methods)},defaultGridOptions:function(n){n.saveWidths=n.saveWidths!==!1;n.saveOrder=n.saveOrder!==!1;n.saveScroll=n.saveScroll===!0;n.saveFocus=n.saveScroll!==!0&&n.saveFocus!==!1;n.saveVisible=n.saveVisible!==!1;n.saveSort=n.saveSort!==!1;n.saveFilter=n.saveFilter!==!1;n.saveSelection=n.saveSelection!==!1;n.saveGrouping=n.saveGrouping!==!1;n.saveGroupingExpandedStates=n.saveGroupingExpandedStates===!0;n.savePinning=n.savePinning!==!1;n.saveTreeView=n.saveTreeView!==!1},save:function(t){var i={};return i.columns=n.saveColumns(t),i.scrollFocus=n.saveScrollFocus(t),i.selection=n.saveSelection(t),i.grouping=n.saveGrouping(t),i.treeView=n.saveTreeView(t),i.pagination=n.savePagination(t),i},restore:function(t,i,r){r.columns&&n.restoreColumns(t,r.columns);r.scrollFocus&&n.restoreScrollFocus(t,i,r.scrollFocus);r.selection&&n.restoreSelection(t,r.selection);r.grouping&&n.restoreGrouping(t,r.grouping);r.treeView&&n.restoreTreeView(t,r.treeView);r.pagination&&n.restorePagination(t,r.pagination);t.refresh()},saveColumns:function(n){var t=[];return n.getOnlyDataColumns().forEach(function(i){var r={};r.name=i.name;n.options.saveVisible&&(r.visible=i.visible);n.options.saveWidths&&(r.width=i.width);n.options.saveSort&&(r.sort=angular.copy(i.sort));n.options.saveFilter&&(r.filters=[],i.filters.forEach(function(n){var t={};angular.forEach(n,function(n,i){i!=="condition"&&i!=="$$hashKey"&&i!=="placeholder"&&(t[i]=n)});r.filters.push(t)}));!!n.api.pinning&&n.options.savePinning&&(r.pinned=i.renderContainer?i.renderContainer:"");t.push(r)}),t},saveScrollFocus:function(t){var i,r;return t.api.cellNav?(i={},t.options.saveFocus&&(i.focus=!0,r=t.api.cellNav.getFocusedCell(),r!==null&&(r.col!==null&&(i.colName=r.col.colDef.name),r.row!==null&&(i.rowVal=n.getRowVal(t,r.row)))),(t.options.saveScroll||t.options.saveFocus&&!i.colName&&!i.rowVal)&&(i.focus=!1,t.renderContainers.body.prevRowScrollIndex&&(i.rowVal=n.getRowVal(t,t.renderContainers.body.visibleRowCache[t.renderContainers.body.prevRowScrollIndex])),t.renderContainers.body.prevColScrollIndex&&(i.colName=t.renderContainers.body.visibleColumnCache[t.renderContainers.body.prevColScrollIndex].name)),i):{}},saveSelection:function(t){if(!t.api.selection||!t.options.saveSelection)return[];return t.api.selection.getSelectedGridRows().map(function(i){return n.getRowVal(t,i)})},saveGrouping:function(n){return!n.api.grouping||!n.options.saveGrouping?{}:n.api.grouping.getGrouping(n.options.saveGroupingExpandedStates)},savePagination:function(n){return!n.api.pagination||!n.options.paginationPageSize?{}:{paginationCurrentPage:n.options.paginationCurrentPage,paginationPageSize:n.options.paginationPageSize}},saveTreeView:function(n){return!n.api.treeView||!n.options.saveTreeView?{}:n.api.treeView.getTreeView()},getRowVal:function(n,t){if(!t)return null;var i={};return n.options.saveRowIdentity?(i.identity=!0,i.row=n.options.saveRowIdentity(t.entity)):(i.identity=!1,i.row=n.renderContainers.body.visibleRowCache.indexOf(t)),i},restoreColumns:function(n,t){var i=!1;t.forEach(function(t,r){var u=n.getColumn(t.name),f,e;u&&!n.isRowHeaderColumn(u)&&(n.options.saveVisible&&(u.visible!==t.visible||u.colDef.visible!==t.visible)&&(u.visible=t.visible,u.colDef.visible=t.visible,n.api.core.raise.columnVisibilityChanged(u)),n.options.saveWidths&&u.width!==t.width&&(u.width=t.width,u.hasCustomWidth=!0),!n.options.saveSort||angular.equals(u.sort,t.sort)||u.sort===undefined&&angular.isEmpty(t.sort)||(u.sort=angular.copy(t.sort),i=!0),n.options.saveFilter&&!angular.equals(u.filters,t.filters)&&(t.filters.forEach(function(n,t){angular.extend(u.filters[t],n);(typeof n.term=="undefined"||n.term===null)&&delete u.filters[t].term}),n.api.core.raise.filterChanged()),!!n.api.pinning&&n.options.savePinning&&u.renderContainer!==t.pinned&&n.api.pinning.pinColumn(u,t.pinned),f=n.getOnlyDataColumns().indexOf(u),f!==-1&&n.options.saveOrder&&f!==r&&(e=n.columns.splice(f+n.rowHeaderColumns.length,1)[0],n.columns.splice(r+n.rowHeaderColumns.length,0,e)))});i&&n.api.core.raise.sortChanged(n,n.getColumnSorting())},restoreScrollFocus:function(t,i,r){var u,f,o,e;t.api.cellNav&&(r.colName&&(o=t.options.columnDefs.filter(function(n){return n.name===r.colName}),o.length>0&&(u=o[0])),r.rowVal&&r.rowVal.row&&(f=r.rowVal.identity?n.findRowByIdentity(t,r.rowVal):t.renderContainers.body.visibleRowCache[r.rowVal.row]),e=f&&f.entity?f.entity:null,(u||e)&&(r.focus?t.api.cellNav.scrollToFocus(e,u):t.scrollTo(e,u)))},restoreSelection:function(t,i){t.api.selection&&(t.api.selection.clearSelectedRows(),i.forEach(function(i){if(i.identity){var r=n.findRowByIdentity(t,i);r&&t.api.selection.selectRow(r.entity)}else t.api.selection.selectRowByVisibleIndex(i.row)}))},restoreGrouping:function(n,t){n.api.grouping&&typeof t!="undefined"&&t!==null&&!angular.equals(t,{})&&n.api.grouping.setGrouping(t)},restoreTreeView:function(n,t){n.api.treeView&&typeof t!="undefined"&&t!==null&&!angular.equals(t,{})&&n.api.treeView.setTreeView(t)},restorePagination:function(n,t){n.api.pagination&&n.options.paginationPageSize&&(n.options.paginationCurrentPage=t.paginationCurrentPage,n.options.paginationPageSize=t.paginationPageSize)},findRowByIdentity:function(n,t){if(!n.options.saveRowIdentity)return null;var i=n.rows.filter(function(i){return n.options.saveRowIdentity(i.entity)===t.row?!0:!1});return i.length>0?i[0]:null}};return n}]);n.directive("uiGridSaveState",["uiGridSaveStateConstants","uiGridSaveStateService","gridUtil","$compile",function(n,t){return{replace:!0,priority:0,require:"^uiGrid",scope:!1,link:function(n,i,r,u){t.initializeGrid(u.grid)}}}])}(),function(){"use strict";var n=angular.module("ui.grid.selection",["ui.grid"]);n.constant("uiGridSelectionConstants",{featureName:"selection",selectionRowHeaderColName:"selectionRowHeaderCol"});angular.module("ui.grid").config(["$provide",function(n){n.decorator("GridRow",["$delegate",function(n){return n.prototype.setSelected=function(n){n!==this.isSelected&&(this.isSelected=n,this.grid.selection.selectedCount+=n?1:-1)},n}])}]);n.service("uiGridSelectionService",["$q","$templateCache","uiGridSelectionConstants","gridUtil",function(){var n={initializeGrid:function(t){t.selection={};t.selection.lastSelectedRow=null;t.selection.selectAll=!1;t.selection.selectedCount=0;n.defaultGridOptions(t.options);var i={events:{selection:{rowSelectionChanged:function(){},rowSelectionChangedBatch:function(){}}},methods:{selection:{toggleRowSelection:function(i,r){var u=t.getRow(i);u!==null&&n.toggleRowSelection(t,u,r,t.options.multiSelect,t.options.noUnselect)},selectRow:function(i,r){var u=t.getRow(i);u===null||u.isSelected||n.toggleRowSelection(t,u,r,t.options.multiSelect,t.options.noUnselect)},selectRowByVisibleIndex:function(i,r){var u=t.renderContainers.body.visibleRowCache[i];u===null||typeof u=="undefined"||u.isSelected||n.toggleRowSelection(t,u,r,t.options.multiSelect,t.options.noUnselect)},unSelectRow:function(i,r){var u=t.getRow(i);u!==null&&u.isSelected&&n.toggleRowSelection(t,u,r,t.options.multiSelect,t.options.noUnselect)},selectAllRows:function(i){if(t.options.multiSelect!==!1){var r=[];t.rows.forEach(function(u){u.isSelected||u.enableSelection===!1||(u.setSelected(!0),n.decideRaiseSelectionEvent(t,u,r,i))});n.decideRaiseSelectionBatchEvent(t,r,i);t.selection.selectAll=!0}},selectAllVisibleRows:function(i){if(t.options.multiSelect!==!1){var r=[];t.rows.forEach(function(u){u.visible?u.isSelected||u.enableSelection===!1||(u.setSelected(!0),n.decideRaiseSelectionEvent(t,u,r,i)):u.isSelected&&(u.setSelected(!1),n.decideRaiseSelectionEvent(t,u,r,i))});n.decideRaiseSelectionBatchEvent(t,r,i);t.selection.selectAll=!0}},clearSelectedRows:function(i){n.clearSelectedRows(t,i)},getSelectedRows:function(){return n.getSelectedRows(t).map(function(n){return n.entity})},getSelectedGridRows:function(){return n.getSelectedRows(t)},getSelectedCount:function(){return t.selection.selectedCount},setMultiSelect:function(n){t.options.multiSelect=n},setModifierKeysToMultiSelect:function(n){t.options.modifierKeysToMultiSelect=n},getSelectAllState:function(){return t.selection.selectAll}}}};t.api.registerEventsFromObject(i.events);t.api.registerMethodsFromObject(i.methods)},defaultGridOptions:function(n){n.enableRowSelection=n.enableRowSelection!==!1;n.multiSelect=n.multiSelect!==!1;n.noUnselect=n.noUnselect===!0;n.modifierKeysToMultiSelect=n.modifierKeysToMultiSelect===!0;n.enableRowHeaderSelection=n.enableRowHeaderSelection!==!1;typeof n.enableFullRowSelection=="undefined"&&(n.enableFullRowSelection=!n.enableRowHeaderSelection);n.enableSelectAll=n.enableSelectAll!==!1;n.enableSelectionBatchEvent=n.enableSelectionBatchEvent!==!1;n.selectionRowHeaderWidth=angular.isDefined(n.selectionRowHeaderWidth)?n.selectionRowHeaderWidth:30;n.enableFooterTotalSelected=n.enableFooterTotalSelected!==!1;n.isRowSelectable=angular.isDefined(n.isRowSelectable)?n.isRowSelectable:angular.noop},toggleRowSelection:function(t,i,r,u,f){var e=i.isSelected,o;(i.enableSelection!==!1||e)&&(u||e?!u&&e&&(o=n.getSelectedRows(t),o.length>1&&(e=!1,n.clearSelectedRows(t,r))):n.clearSelectedRows(t,r),e&&f||(i.setSelected(!e),i.isSelected===!0&&(t.selection.lastSelectedRow=i),o=n.getSelectedRows(t),t.selection.selectAll=t.rows.length===o.length,t.api.selection.raise.rowSelectionChanged(i,r)))},shiftSelect:function(t,i,r,u){var c,h,s,f;if(u){var l=n.getSelectedRows(t),e=l.length>0?t.renderContainers.body.visibleRowCache.indexOf(t.selection.lastSelectedRow):0,o=t.renderContainers.body.visibleRowCache.indexOf(i);for(e>o&&(c=e,e=o,o=c),h=[],s=e;s<=o;s++)f=t.renderContainers.body.visibleRowCache[s],f&&(f.isSelected||f.enableSelection===!1||(f.setSelected(!0),t.selection.lastSelectedRow=f,n.decideRaiseSelectionEvent(t,f,h,r)));n.decideRaiseSelectionBatchEvent(t,h,r)}},getSelectedRows:function(n){return n.rows.filter(function(n){return n.isSelected})},clearSelectedRows:function(t,i){var r=[];n.getSelectedRows(t).forEach(function(u){u.isSelected&&(u.setSelected(!1),n.decideRaiseSelectionEvent(t,u,r,i))});n.decideRaiseSelectionBatchEvent(t,r,i);t.selection.selectAll=!1;t.selection.selectedCount=0},decideRaiseSelectionEvent:function(n,t,i,r){n.options.enableSelectionBatchEvent?i.push(t):n.api.selection.raise.rowSelectionChanged(t,r)},decideRaiseSelectionBatchEvent:function(n,t,i){t.length>0&&n.api.selection.raise.rowSelectionChangedBatch(t,i)}};return n}]);n.directive("uiGridSelection",["uiGridSelectionConstants","uiGridSelectionService","$templateCache","uiGridConstants",function(n,t,i,r){return{replace:!0,priority:0,require:"^uiGrid",scope:!1,compile:function(){return{pre:function(i,u,f,e){var o,c;t.initializeGrid(e.grid);e.grid.options.enableRowHeaderSelection&&(o={name:n.selectionRowHeaderColName,displayName:"",width:e.grid.options.selectionRowHeaderWidth,minWidth:10,cellTemplate:"ui-grid/selectionRowHeader",headerCellTemplate:"ui-grid/selectionHeaderCell",enableColumnResizing:!1,enableColumnMenu:!1,exporterSuppressExport:!0,allowCellFocus:!0},e.grid.addRowHeaderColumn(o,0));var s=!1,l=function(n){return n.forEach(function(n){n.enableSelection=e.grid.options.isRowSelectable(n)}),n},h=function(){e.grid.options.isRowSelectable!==angular.noop&&s!==!0&&(e.grid.registerRowsProcessor(l,500),s=!0)};h();c=e.grid.registerDataChangeCallback(h,[r.dataChange.OPTIONS]);i.$on("$destroy",c)},post:function(){}}}}}]);n.directive("uiGridSelectionRowHeaderButtons",["$templateCache","uiGridSelectionService","gridUtil",function(n,t,i){return{replace:!0,restrict:"E",template:n.get("ui-grid/selectionRowHeaderButtons"),scope:!0,require:"^uiGrid",link:function(n,r,u,f){function o(n,i){i.stopPropagation();i.shiftKey?t.shiftSelect(e,n,i,e.options.multiSelect):i.ctrlKey||i.metaKey?t.toggleRowSelection(e,n,i,e.options.multiSelect,e.options.noUnselect):t.toggleRowSelection(e,n,i,e.options.multiSelect&&!e.options.modifierKeysToMultiSelect,e.options.noUnselect)}function s(n){(n.ctrlKey||n.shiftKey)&&(n.target.onselectstart=function(){return!1},window.setTimeout(function(){n.target.onselectstart=null},0))}var e=f.grid;if(n.selectButtonClick=o,i.detectBrowser()==="ie")r.on("mousedown",s)}}}]);n.directive("uiGridSelectionSelectAllButtons",["$templateCache","uiGridSelectionService",function(n,t){return{replace:!0,restrict:"E",template:n.get("ui-grid/selectionSelectAllButtons"),scope:!1,link:function(n){var i=n.col.grid;n.headerButtonClick=function(n,r){i.selection.selectAll?(t.clearSelectedRows(i,r),i.options.noUnselect&&i.api.selection.selectRowByVisibleIndex(0,r),i.selection.selectAll=!1):i.options.multiSelect&&(i.api.selection.selectAllVisibleRows(r),i.selection.selectAll=!0)}}}}]);n.directive("uiGridViewport",["$compile","uiGridConstants","uiGridSelectionConstants","gridUtil","$parse","uiGridSelectionService",function(){return{priority:-200,scope:!1,compile:function(n){var t=angular.element(n.children().children()[0]),i=t.attr("ng-class"),r="";return r=i?i.slice(0,-1)+",'ui-grid-row-selected': row.isSelected}":"{'ui-grid-row-selected': row.isSelected}",t.attr("ng-class",r),{pre:function(){},post:function(){}}}}}]);n.directive("uiGridCell",["$compile","uiGridConstants","uiGridSelectionConstants","gridUtil","$parse","uiGridSelectionService","$timeout",function(n,t,i,r,u,f,e){return{priority:-200,restrict:"A",require:"?^uiGrid",scope:!1,link:function(n,i,r,u){function a(){if(n.grid.options.enableRowSelection&&n.grid.options.enableFullRowSelection){i.addClass("ui-grid-disable-selection");i.on("touchstart",l);i.on("touchend",s);i.on("click",o);n.registered=!0}}function y(){n.registered&&(i.removeClass("ui-grid-disable-selection"),i.off("touchstart",l),i.off("touchend",s),i.off("click",o),n.registered=!1)}var c=0,h=300,v;u.grid.api.cellNav&&u.grid.api.cellNav.on.viewPortKeyDown(n,function(t,i){i!==null&&i.row===n.row&&i.col===n.col&&t.keyCode===32&&n.col.colDef.name==="selectionRowHeaderCol"&&(f.toggleRowSelection(n.grid,n.row,t,n.grid.options.multiSelect&&!n.grid.options.modifierKeysToMultiSelect,n.grid.options.noUnselect),n.$apply())});var o=function(t){i.off("touchend",s);t.shiftKey?f.shiftSelect(n.grid,n.row,t,n.grid.options.multiSelect):t.ctrlKey||t.metaKey?f.toggleRowSelection(n.grid,n.row,t,n.grid.options.multiSelect,n.grid.options.noUnselect):f.toggleRowSelection(n.grid,n.row,t,n.grid.options.multiSelect&&!n.grid.options.modifierKeysToMultiSelect,n.grid.options.noUnselect);n.$apply();e(function(){i.on("touchend",s)},h)},l=function(){c=(new Date).getTime();i.off("click",o)},s=function(n){var t=(new Date).getTime(),r=t-c;r<h&&o(n);e(function(){i.on("click",o)},h)};a();v=n.grid.registerDataChangeCallback(function(){n.grid.options.enableRowSelection&&n.grid.options.enableFullRowSelection&&!n.registered?a():n.grid.options.enableRowSelection&&n.grid.options.enableFullRowSelection||!n.registered||y()},[t.dataChange.OPTIONS]);i.on("$destroy",v)}}}]);n.directive("uiGridGridFooter",["$compile","uiGridConstants","gridUtil",function(n,t,i){return{restrict:"EA",replace:!0,priority:-1e3,require:"^uiGrid",scope:!0,compile:function(){return{pre:function(t,r,u,f){f.grid.options.showGridFooter&&i.getTemplate("ui-grid/gridFooterSelectedItems").then(function(i){var u=angular.element(i),f=n(u)(t);angular.element(r[0].getElementsByClassName("ui-grid-grid-footer")[0]).append(f)})},post:function(){}}}}}])}(),function(){"use strict";var n=angular.module("ui.grid.treeBase",["ui.grid"]);n.constant("uiGridTreeBaseConstants",{featureName:"treeBase",rowHeaderColName:"treeBaseRowHeaderCol",EXPANDED:"expanded",COLLAPSED:"collapsed",aggregation:{COUNT:"count",SUM:"sum",MAX:"max",MIN:"min",AVG:"avg"}});n.service("uiGridTreeBaseService",["$q","uiGridTreeBaseConstants","gridUtil","GridRow","gridClassFactory","i18nService","uiGridConstants","rowSorter",function(n,t,i,r,u,f,e,o){var s={initializeGrid:function(n){n.treeBase={};n.treeBase.numberLevels=0;n.treeBase.expandAll=!1;n.treeBase.tree=[];s.defaultGridOptions(n.options);n.registerRowsProcessor(s.treeRows,410);n.registerColumnBuilder(s.treeBaseColumnBuilder);s.createRowHeader(n);var t={events:{treeBase:{rowExpanded:{},rowCollapsed:{}}},methods:{treeBase:{expandAllRows:function(){s.expandAllRows(n)},collapseAllRows:function(){s.collapseAllRows(n)},toggleRowTreeState:function(t){s.toggleRowTreeState(n,t)},expandRow:function(t){s.expandRow(n,t)},expandRowChildren:function(t){s.expandRowChildren(n,t)},collapseRow:function(t){s.collapseRow(n,t)},collapseRowChildren:function(t){s.collapseRowChildren(n,t)},getTreeExpandedState:function(){return{expandedState:s.getTreeState(n)}},setTreeState:function(t){s.setTreeState(n,t)},getRowChildren:function(n){return n.treeNode.children.map(function(n){return n.row})}}}};n.api.registerEventsFromObject(t.events);n.api.registerMethodsFromObject(t.methods)},defaultGridOptions:function(n){n.treeRowHeaderBaseWidth=n.treeRowHeaderBaseWidth||30;n.treeIndent=n.treeIndent||10;n.showTreeRowHeader=n.showTreeRowHeader!==!1;n.showTreeExpandNoChildren=n.showTreeExpandNoChildren!==!1;n.treeRowHeaderAlwaysVisible=n.treeRowHeaderAlwaysVisible!==!1;n.treeCustomAggregations=n.treeCustomAggregations||{};n.enableExpandAll=n.enableExpandAll!==!1},treeBaseColumnBuilder:function(n,t,i){typeof n.customTreeAggregationFn!="undefined"&&(t.treeAggregationFn=n.customTreeAggregationFn);typeof n.treeAggregationType!="undefined"&&(t.treeAggregation={type:n.treeAggregationType},typeof i.treeCustomAggregations[n.treeAggregationType]!="undefined"?(t.treeAggregationFn=i.treeCustomAggregations[n.treeAggregationType].aggregationFn,t.treeAggregationFinalizerFn=i.treeCustomAggregations[n.treeAggregationType].finalizerFn,t.treeAggregation.label=i.treeCustomAggregations[n.treeAggregationType].label):typeof s.nativeAggregations()[n.treeAggregationType]!="undefined"&&(t.treeAggregationFn=s.nativeAggregations()[n.treeAggregationType].aggregationFn,t.treeAggregation.label=s.nativeAggregations()[n.treeAggregationType].label));typeof n.treeAggregationLabel!="undefined"&&(typeof t.treeAggregation=="undefined"&&(t.treeAggregation={}),t.treeAggregation.label=n.treeAggregationLabel);t.treeAggregationUpdateEntity=n.treeAggregationUpdateEntity!==!1;typeof t.customTreeAggregationFinalizerFn=="undefined"&&(t.customTreeAggregationFinalizerFn=n.customTreeAggregationFinalizerFn)},createRowHeader:function(n){var i={name:t.rowHeaderColName,displayName:"",width:n.options.treeRowHeaderBaseWidth,minWidth:10,cellTemplate:"ui-grid/treeBaseRowHeader",headerCellTemplate:"ui-grid/treeBaseHeaderCell",enableColumnResizing:!1,enableColumnMenu:!1,exporterSuppressExport:!0,allowCellFocus:!0};i.visible=n.options.treeRowHeaderAlwaysVisible;n.addRowHeaderColumn(i,-100)},expandAllRows:function(n){n.treeBase.tree.forEach(function(i){s.setAllNodes(n,i,t.EXPANDED)});n.treeBase.expandAll=!0;n.queueGridRefresh()},collapseAllRows:function(n){n.treeBase.tree.forEach(function(i){s.setAllNodes(n,i,t.COLLAPSED)});n.treeBase.expandAll=!1;n.queueGridRefresh()},setAllNodes:function(n,i,r){typeof i.state!="undefined"&&i.state!==r&&(i.state=r,r===t.EXPANDED?n.api.treeBase.raise.rowExpanded(i.row):n.api.treeBase.raise.rowCollapsed(i.row));i.children&&i.children.forEach(function(t){s.setAllNodes(n,t,r)})},toggleRowTreeState:function(n,i){typeof i.treeLevel=="undefined"||i.treeLevel===null||i.treeLevel<0||(i.treeNode.state===t.EXPANDED?s.collapseRow(n,i):s.expandRow(n,i),n.queueGridRefresh())},expandRow:function(n,i){typeof i.treeLevel=="undefined"||i.treeLevel===null||i.treeLevel<0||i.treeNode.state!==t.EXPANDED&&(i.treeNode.state=t.EXPANDED,n.api.treeBase.raise.rowExpanded(i),n.treeBase.expandAll=s.allExpanded(n.treeBase.tree),n.queueGridRefresh())},expandRowChildren:function(n,i){typeof i.treeLevel=="undefined"||i.treeLevel===null||i.treeLevel<0||(s.setAllNodes(n,i.treeNode,t.EXPANDED),n.treeBase.expandAll=s.allExpanded(n.treeBase.tree),n.queueGridRefresh())},collapseRow:function(n,i){typeof i.treeLevel=="undefined"||i.treeLevel===null||i.treeLevel<0||i.treeNode.state!==t.COLLAPSED&&(i.treeNode.state=t.COLLAPSED,n.treeBase.expandAll=!1,n.api.treeBase.raise.rowCollapsed(i),n.queueGridRefresh())},collapseRowChildren:function(n,i){typeof i.treeLevel=="undefined"||i.treeLevel===null||i.treeLevel<0||(s.setAllNodes(n,i.treeNode,t.COLLAPSED),n.treeBase.expandAll=!1,n.queueGridRefresh())},allExpanded:function(n){var t=!0;return n.forEach(function(n){s.allExpandedInternal(n)||(t=!1)}),t},allExpandedInternal:function(n){if(n.children&&n.children.length>0){if(n.state===t.COLLAPSED)return!1;var i=!0;return n.children.forEach(function(n){s.allExpandedInternal(n)||(i=!1)}),i}return!0},treeRows:function(n){if(n.length===0)return n;var i=this,r=t.EXPANDED;return i.treeBase.tree=s.createTree(i,n),s.updateRowHeaderWidth(i),s.sortTree(i),s.fixFilter(i),s.renderTree(i.treeBase.tree)},updateRowHeaderWidth:function(n){var i=n.getColumn(t.rowHeaderColName),u=n.options.treeRowHeaderBaseWidth+n.options.treeIndent*Math.max(n.treeBase.numberLevels-1,0),r;i&&u!==i.width&&(i.width=u,n.queueRefresh());r=!0;n.options.showTreeRowHeader===!1&&(r=!1);n.options.treeRowHeaderAlwaysVisible===!1&&n.treeBase.numberLevels<=0&&(r=!1);i.visible!==r&&(i.visible=r,i.colDef.visible=r,n.queueGridRefresh())},renderTree:function(n){var i=[];return n.forEach(function(n){n.row.visible&&i.push(n.row);n.state===t.EXPANDED&&n.children&&n.children.length>0&&(i=i.concat(s.renderTree(n.children)))}),i},createTree:function(n,i){var u=-1,r=[],f,e,o,h;for(n.treeBase.tree=[],n.treeBase.numberLevels=0,e=s.getAggregations(n),o=function(i){if(typeof i.entity.$$treeLevel!="undefined"&&i.treeLevel!==i.entity.$$treeLevel&&(i.treeLevel=i.entity.$$treeLevel),i.treeLevel<=u){while(i.treeLevel<=u){var o=r.pop();s.finaliseAggregations(o);u--}f=r.length>0?s.setCurrentState(r):t.EXPANDED}(typeof i.treeLevel=="undefined"||i.treeLevel===null||i.treeLevel<0)&&i.visible&&s.aggregate(n,i,r);s.addOrUseNode(n,i,r,e);typeof i.treeLevel!="undefined"&&i.treeLevel!==null&&i.treeLevel>=0&&(r.push(i),u++,f=s.setCurrentState(r));n.treeBase.numberLevels<i.treeLevel+1&&(n.treeBase.numberLevels=i.treeLevel+1)},i.forEach(o);r.length>0;)h=r.pop(),s.finaliseAggregations(h);return n.treeBase.tree},addOrUseNode:function(n,i,r,u){var e=[],f;u.forEach(function(n){e.push(s.buildAggregationObject(n.col))});f={state:t.COLLAPSED,row:i,parentRow:null,aggregations:e,children:[]};i.treeNode&&(f.state=i.treeNode.state);r.length>0&&(f.parentRow=r[r.length-1]);i.treeNode=f;r.length===0?n.treeBase.tree.push(f):r[r.length-1].treeNode.children.push(f)},setCurrentState:function(n){var i=t.EXPANDED;return n.forEach(function(n){n.treeNode.state===t.COLLAPSED&&(i=t.COLLAPSED)}),i},sortTree:function(n){n.columns.forEach(function(n){n.sort&&n.sort.ignoreSort&&delete n.sort.ignoreSort});n.treeBase.tree=s.sortInternal(n,n.treeBase.tree)},sortInternal:function(n,i){var r=i.map(function(n){return n.row}),u;return r=o.sort(n,r,n.columns),u=r.map(function(n){return n.treeNode}),u.forEach(function(i){i.state===t.EXPANDED&&i.children&&i.children.length>0&&(i.children=s.sortInternal(n,i.children))}),u},fixFilter:function(n){var t;n.treeBase.tree.forEach(function(n){n.children&&n.children.length>0&&(t=n.row.visible,s.fixFilterInternal(n.children,t))})},fixFilterInternal:function(n,t){return n.forEach(function(n){n.row.visible&&!t&&(s.setParentsVisible(n),t=!0);n.children&&n.children.length>0&&s.fixFilterInternal(n.children,t&&n.row.visible)&&(t=!0)}),t},setParentsVisible:function(n){while(n.parentRow)n.parentRow.visible=!0,n=n.parentRow.treeNode},buildAggregationObject:function(n){var t={col:n};return n.treeAggregation&&n.treeAggregation.type&&(t.type=n.treeAggregation.type),n.treeAggregation&&n.treeAggregation.label&&(t.label=n.treeAggregation.label),t},getAggregations:function(n){var t=[];return n.columns.forEach(function(i){typeof i.treeAggregationFn!="undefined"&&(t.push(s.buildAggregationObject(i)),n.options.showColumnFooter&&typeof i.colDef.aggregationType=="undefined"&&i.treeAggregation&&(i.treeFooterAggregation=s.buildAggregationObject(i),i.aggregationType=s.treeFooterAggregationType))}),t},aggregate:function(n,t,i){i.length===0&&t.treeNode&&t.treeNode.aggregations&&t.treeNode.aggregations.forEach(function(i){if(typeof i.col.treeFooterAggregation!="undefined"){var r=n.getCellValue(t,i.col),u=Number(r);i.col.treeAggregationFn(i.col.treeFooterAggregation,r,u,t)}});i.forEach(function(i,r){i.treeNode.aggregations&&i.treeNode.aggregations.forEach(function(i){var u=n.getCellValue(t,i.col),f=Number(u);i.col.treeAggregationFn(i,u,f,t);r===0&&typeof i.col.treeFooterAggregation!="undefined"&&i.col.treeAggregationFn(i.col.treeFooterAggregation,u,f,t)})})},nativeAggregations:function(){return{count:{label:f.get().aggregation.count,menuTitle:f.get().grouping.aggregate_count,aggregationFn:function(n){typeof n.value=="undefined"?n.value=1:n.value++}},sum:{label:f.get().aggregation.sum,menuTitle:f.get().grouping.aggregate_sum,aggregationFn:function(n,t,i){isNaN(i)||(typeof n.value=="undefined"?n.value=i:n.value+=i)}},min:{label:f.get().aggregation.min,menuTitle:f.get().grouping.aggregate_min,aggregationFn:function(n,t){typeof n.value=="undefined"?n.value=t:typeof t!="undefined"&&t!==null&&(t<n.value||n.value===null)&&(n.value=t)}},max:{label:f.get().aggregation.max,menuTitle:f.get().grouping.aggregate_max,aggregationFn:function(n,t){typeof n.value=="undefined"?n.value=t:typeof t!="undefined"&&t!==null&&(t>n.value||n.value===null)&&(n.value=t)}},avg:{label:f.get().aggregation.avg,menuTitle:f.get().grouping.aggregate_avg,aggregationFn:function(n,t,i){(typeof n.count=="undefined"?n.count=1:n.count++,isNaN(i))||(typeof n.value=="undefined"||typeof n.sum=="undefined"?(n.value=i,n.sum=i):(n.sum+=i,n.value=n.sum/n.count))}}}},finaliseAggregation:function(n,t){t.col.treeAggregationUpdateEntity&&typeof n!="undefined"&&typeof n.entity["$$"+t.col.uid]!="undefined"&&angular.extend(t,n.entity["$$"+t.col.uid]);typeof t.col.treeAggregationFinalizerFn=="function"&&t.col.treeAggregationFinalizerFn(t);typeof t.col.customTreeAggregationFinalizerFn=="function"&&t.col.customTreeAggregationFinalizerFn(t);typeof t.rendered=="undefined"&&(t.rendered=t.label?t.label+t.value:t.value)},finaliseAggregations:function(n){n!=null&&typeof n.treeNode.aggregations!="undefined"&&n.treeNode.aggregations.forEach(function(t){if(s.finaliseAggregation(n,t),t.col.treeAggregationUpdateEntity){var i={};angular.forEach(t,function(n,r){t.hasOwnProperty(r)&&r!=="col"&&(i[r]=n)});n.entity["$$"+t.col.uid]=i}})},treeFooterAggregationType:function(n,t){return(s.finaliseAggregation(undefined,t.treeFooterAggregation),typeof t.treeFooterAggregation.value=="undefined"||t.treeFooterAggregation.rendered===null)?"":t.treeFooterAggregation.rendered}};return s}]);n.directive("uiGridTreeBaseRowHeaderButtons",["$templateCache","uiGridTreeBaseService",function(n,t){return{replace:!0,restrict:"E",template:n.get("ui-grid/treeBaseRowHeaderButtons"),scope:!0,require:"^uiGrid",link:function(n,i,r,u){var f=u.grid;n.treeButtonClick=function(n,i){t.toggleRowTreeState(f,n,i)}}}}]);n.directive("uiGridTreeBaseExpandAllButtons",["$templateCache","uiGridTreeBaseService",function(n,t){return{replace:!0,restrict:"E",template:n.get("ui-grid/treeBaseExpandAllButtons"),scope:!1,link:function(n){var i=n.col.grid;n.headerButtonClick=function(n,r){i.treeBase.expandAll?t.collapseAllRows(i,r):t.expandAllRows(i,r)}}}}]);n.directive("uiGridViewport",["$compile","uiGridConstants","gridUtil","$parse",function(){return{priority:-200,scope:!1,compile:function(n){var t=angular.element(n.children().children()[0]),i=t.attr("ng-class"),r="";return r=i?i.slice(0,-1)+",'ui-grid-tree-header-row': row.treeLevel > -1}":"{'ui-grid-tree-header-row': row.treeLevel > -1}",t.attr("ng-class",r),{pre:function(){},post:function(){}}}}}])}(),function(){"use strict";var n=angular.module("ui.grid.treeView",["ui.grid","ui.grid.treeBase"]);n.constant("uiGridTreeViewConstants",{featureName:"treeView",rowHeaderColName:"treeBaseRowHeaderCol",EXPANDED:"expanded",COLLAPSED:"collapsed",aggregation:{COUNT:"count",SUM:"sum",MAX:"max",MIN:"min",AVG:"avg"}});n.service("uiGridTreeViewService",["$q","uiGridTreeViewConstants","uiGridTreeBaseConstants","uiGridTreeBaseService","gridUtil","GridRow","gridClassFactory","i18nService","uiGridConstants",function(n,t,i,r){var u={initializeGrid:function(n,t){r.initializeGrid(n,t);n.treeView={};n.registerRowsProcessor(u.adjustSorting,60);var i={events:{treeView:{}},methods:{treeView:{}}};n.api.registerEventsFromObject(i.events);n.api.registerMethodsFromObject(i.methods)},defaultGridOptions:function(n){n.enableTreeView=n.enableTreeView!==!1},adjustSorting:function(n){var t=this;return t.columns.forEach(function(n){n.sort&&(n.sort.ignoreSort=!0)}),n}};return u}]);n.directive("uiGridTreeView",["uiGridTreeViewConstants","uiGridTreeViewService","$templateCache",function(n,t){return{replace:!0,priority:0,require:"^uiGrid",scope:!1,compile:function(){return{pre:function(n,i,r,u){u.grid.options.enableTreeView!==!1&&t.initializeGrid(u.grid,n)},post:function(){}}}}}])}(),function(){"use strict";var n=angular.module("ui.grid.validate",["ui.grid"]);n.service("uiGridValidateService",["$sce","$q","$http","i18nService","uiGridConstants",function(n,t,i,r){var u={validatorFactories:{},setExternalFactoryFunction:function(n){u.externalFactoryFunction=n},clearExternalFactory:function(){delete u.externalFactoryFunction},getValidatorFromExternalFactory:function(n,t){return u.externalFactoryFunction(n,t).validatorFactory(t)},getMessageFromExternalFactory:function(n,t){return u.externalFactoryFunction(n,t).messageFunction(t)},setValidator:function(n,t,i){u.validatorFactories[n]={validatorFactory:t,messageFunction:i}},getValidator:function(n,t){if(u.externalFactoryFunction){var i=u.getValidatorFromExternalFactory(n,t);if(i)return i}if(!u.validatorFactories[n])throw"Invalid validator name: "+n;return u.validatorFactories[n].validatorFactory(t)},getMessage:function(n,t){if(u.externalFactoryFunction){var i=u.getMessageFromExternalFactory(n,t);if(i)return i}return u.validatorFactories[n].messageFunction(t)},isInvalid:function(n,t){return n["$$invalid"+t.name]},setInvalid:function(n,t){n["$$invalid"+t.name]=!0},setValid:function(n,t){delete n["$$invalid"+t.name]},setError:function(n,t,i){n["$$errors"+t.name]||(n["$$errors"+t.name]={});n["$$errors"+t.name][i]=!0},clearError:function(n,t,i){n["$$errors"+t.name]&&i in n["$$errors"+t.name]&&delete n["$$errors"+t.name][i]},getErrorMessages:function(n,t){var i=[];return!n["$$errors"+t.name]||Object.keys(n["$$errors"+t.name]).length===0?i:(Object.keys(n["$$errors"+t.name]).sort().forEach(function(n){i.push(u.getMessage(n,t.validators[n]))}),i)},getFormattedErrors:function(t,i){var f="",e=u.getErrorMessages(t,i);if(e.length)return e.forEach(function(n){f+=n+"<br/>"}),n.trustAsHtml("<p><b>"+r.getSafeText("validate.error")+"<\/b><\/p>"+f)},getTitleFormattedErrors:function(t,i){var f="\n",e="",o=u.getErrorMessages(t,i);if(o.length)return o.forEach(function(n){e+=n+f}),n.trustAsHtml(r.getSafeText("validate.error")+f+e)},runValidators:function(n,i,r,f,e){var s,o,h;if(r!==f){if(typeof i.name=="undefined"||!i.name)throw new Error("colDef.name is required to perform validation");u.setValid(n,i);s=function(n,t,i){return function(o){o||(u.setInvalid(n,t),u.setError(n,t,i),e&&e.api.validate.raise.validationFailed(n,t,r,f))}};for(o in i.validators)u.clearError(n,i,o),h=u.getValidator(o,i.validators[o]),t.when(h(f,r,n,i)).then(s(n,i,o))}},createDefaultValidators:function(){u.setValidator("minLength",function(n){return function(t,i){return i===undefined||i===null||i===""?!0:i.length>=n}},function(n){return r.getSafeText("validate.minLength").replace("THRESHOLD",n)});u.setValidator("maxLength",function(n){return function(t,i){return i===undefined||i===null||i===""?!0:i.length<=n}},function(n){return r.getSafeText("validate.maxLength").replace("THRESHOLD",n)});u.setValidator("required",function(n){return function(t,i){return n?!(i===undefined||i===null||i===""):!0}},function(){return r.getSafeText("validate.required")})},initializeGrid:function(n,t){t.validate={isInvalid:u.isInvalid,getFormattedErrors:u.getFormattedErrors,getTitleFormattedErrors:u.getTitleFormattedErrors,runValidators:u.runValidators};var i={events:{validate:{validationFailed:function(){}}},methods:{validate:{isInvalid:function(n,i){return t.validate.isInvalid(n,i)},getErrorMessages:function(n,i){return t.validate.getErrorMessages(n,i)},getFormattedErrors:function(n,i){return t.validate.getFormattedErrors(n,i)},getTitleFormattedErrors:function(n,i){return t.validate.getTitleFormattedErrors(n,i)}}}};t.api.registerEventsFromObject(i.events);t.api.registerMethodsFromObject(i.methods);t.edit&&t.api.edit.on.afterCellEdit(n,function(n,i,r,u){t.validate.runValidators(n,i,r,u,t)});u.createDefaultValidators()}};return u}]);n.directive("uiGridValidate",["gridUtil","uiGridValidateService",function(n,t){return{priority:0,replace:!0,require:"^uiGrid",scope:!1,compile:function(){return{pre:function(n,i,r,u){t.initializeGrid(n,u.grid)},post:function(){}}}}}])}();angular.module("ui.grid").run(["$templateCache",function(n){"use strict";n.put("ui-grid/ui-grid-filter",'<div class="ui-grid-filter-container" ng-repeat="colFilter in col.filters" ng-class="{\'ui-grid-filter-cancel-button-hidden\' : colFilter.disableCancelFilterButton === true }"><div ng-if="colFilter.type !== \'select\'"><input type="text" class="ui-grid-filter-input ui-grid-filter-input-{{$index}}" ng-model="colFilter.term" ng-attr-placeholder="{{colFilter.placeholder || \'\'}}" aria-label="{{colFilter.ariaLabel || aria.defaultFilterLabel}}"><div role="button" class="ui-grid-filter-button" ng-click="removeFilter(colFilter, $index)" ng-if="!colFilter.disableCancelFilterButton" ng-disabled="colFilter.term === undefined || colFilter.term === null || colFilter.term === \'\'" ng-show="colFilter.term !== undefined && colFilter.term !== null && colFilter.term !== \'\'"><i class="ui-grid-icon-cancel" ui-grid-one-bind-aria-label="aria.removeFilter">&nbsp;<\/i><\/div><\/div><div ng-if="colFilter.type === \'select\'"><select class="ui-grid-filter-select ui-grid-filter-input-{{$index}}" ng-model="colFilter.term" ng-attr-placeholder="{{colFilter.placeholder || aria.defaultFilterLabel}}" aria-label="{{colFilter.ariaLabel || \'\'}}" ng-options="option.value as option.label for option in colFilter.selectOptions"><option value=""><\/option><\/select><div role="button" class="ui-grid-filter-button-select" ng-click="removeFilter(colFilter, $index)" ng-if="!colFilter.disableCancelFilterButton" ng-disabled="colFilter.term === undefined || colFilter.term === null || colFilter.term === \'\'" ng-show="colFilter.term !== undefined && colFilter.term != null"><i class="ui-grid-icon-cancel" ui-grid-one-bind-aria-label="aria.removeFilter">&nbsp;<\/i><\/div><\/div><\/div>');n.put("ui-grid/ui-grid-footer",'<div class="ui-grid-footer-panel ui-grid-footer-aggregates-row"><!-- tfooter --><div class="ui-grid-footer ui-grid-footer-viewport"><div class="ui-grid-footer-canvas"><div class="ui-grid-footer-cell-wrapper" ng-style="colContainer.headerCellWrapperStyle()"><div role="row" class="ui-grid-footer-cell-row"><div ui-grid-footer-cell role="gridcell" ng-repeat="col in colContainer.renderedColumns track by col.uid" col="col" render-index="$index" class="ui-grid-footer-cell ui-grid-clearfix"><\/div><\/div><\/div><\/div><\/div><\/div>');n.put("ui-grid/ui-grid-grid-footer",'<div class="ui-grid-footer-info ui-grid-grid-footer"><span>{{\'search.totalItems\' | t}} {{grid.rows.length}}<\/span> <span ng-if="grid.renderContainers.body.visibleRowCache.length !== grid.rows.length" class="ngLabel">({{"search.showingItems" | t}} {{grid.renderContainers.body.visibleRowCache.length}})<\/span><\/div>');n.put("ui-grid/ui-grid-group-panel",'<div class="ui-grid-group-panel"><div ui-t="groupPanel.description" class="description" ng-show="groupings.length == 0"><\/div><ul ng-show="groupings.length > 0" class="ngGroupList"><li class="ngGroupItem" ng-repeat="group in configGroups"><span class="ngGroupElement"><span class="ngGroupName">{{group.displayName}} <span ng-click="removeGroup($index)" class="ngRemoveGroup">x<\/span><\/span> <span ng-hide="$last" class="ngGroupArrow"><\/span><\/span><\/li><\/ul><\/div>');n.put("ui-grid/ui-grid-header",'<div role="rowgroup" class="ui-grid-header"><!-- theader --><div class="ui-grid-top-panel"><div class="ui-grid-header-viewport"><div class="ui-grid-header-canvas"><div class="ui-grid-header-cell-wrapper" ng-style="colContainer.headerCellWrapperStyle()"><div role="row" class="ui-grid-header-cell-row"><div class="ui-grid-header-cell ui-grid-clearfix" ng-repeat="col in colContainer.renderedColumns track by col.uid" ui-grid-header-cell col="col" render-index="$index"><\/div><\/div><\/div><\/div><\/div><\/div><\/div>');n.put("ui-grid/ui-grid-menu-button",'<div class="ui-grid-menu-button"><div role="button" ui-grid-one-bind-id-grid="\'grid-menu\'" class="ui-grid-icon-container" ng-click="toggleMenu()" aria-haspopup="true"><i class="ui-grid-icon-menu" ui-grid-one-bind-aria-label="i18n.aria.buttonLabel">&nbsp;<\/i><\/div><div ui-grid-menu menu-items="menuItems"><\/div><\/div>');n.put("ui-grid/ui-grid-no-header",'<div class="ui-grid-top-panel"><\/div>');n.put("ui-grid/ui-grid-row","<div ng-repeat=\"(colRenderIndex, col) in colContainer.renderedColumns track by col.uid\" ui-grid-one-bind-id-grid=\"rowRenderIndex + '-' + col.uid + '-cell'\" class=\"ui-grid-cell\" ng-class=\"{ 'ui-grid-row-header-cell': col.isRowHeader }\" role=\"{{col.isRowHeader ? 'rowheader' : 'gridcell'}}\" ui-grid-cell><\/div>");n.put("ui-grid/ui-grid",'<div ui-i18n="en" class="ui-grid"><!-- TODO (c0bra): add "scoped" attr here, eventually? --><style ui-grid-style>.grid{{ grid.id }} {\n      /* Styles for the grid */\n    }\n\n    .grid{{ grid.id }} .ui-grid-row, .grid{{ grid.id }} .ui-grid-cell, .grid{{ grid.id }} .ui-grid-cell .ui-grid-vertical-bar {\n      height: {{ grid.options.rowHeight }}px;\n    }\n\n    .grid{{ grid.id }} .ui-grid-row:last-child .ui-grid-cell {\n      border-bottom-width: {{ ((grid.getTotalRowHeight() < grid.getViewportHeight()) && \'1\') || \'0\' }}px;\n    }\n\n    {{ grid.verticalScrollbarStyles }}\n    {{ grid.horizontalScrollbarStyles }}\n\n    /*\n    .ui-grid[dir=rtl] .ui-grid-viewport {\n      padding-left: {{ grid.verticalScrollbarWidth }}px;\n    }\n    */\n\n    {{ grid.customStyles }}<\/style><div class="ui-grid-contents-wrapper"><div ui-grid-menu-button ng-if="grid.options.enableGridMenu"><\/div><div ng-if="grid.hasLeftContainer()" style="width: 0" ui-grid-pinned-container="\'left\'"><\/div><div ui-grid-render-container container-id="\'body\'" col-container-name="\'body\'" row-container-name="\'body\'" bind-scroll-horizontal="true" bind-scroll-vertical="true" enable-horizontal-scrollbar="grid.options.enableHorizontalScrollbar" enable-vertical-scrollbar="grid.options.enableVerticalScrollbar"><\/div><div ng-if="grid.hasRightContainer()" style="width: 0" ui-grid-pinned-container="\'right\'"><\/div><div ui-grid-grid-footer ng-if="grid.options.showGridFooter"><\/div><div ui-grid-column-menu ng-if="grid.options.enableColumnMenus"><\/div><div ng-transclude><\/div><\/div><\/div>');n.put("ui-grid/uiGridCell",'<div class="ui-grid-cell-contents" title="TOOLTIP">{{COL_FIELD CUSTOM_FILTERS}}<\/div>');n.put("ui-grid/uiGridColumnMenu",'<div class="ui-grid-column-menu"><div ui-grid-menu menu-items="menuItems"><!-- <div class="ui-grid-column-menu">\n    <div class="inner" ng-show="menuShown">\n      <ul>\n        <div ng-show="grid.options.enableSorting">\n          <li ng-click="sortColumn($event, asc)" ng-class="{ \'selected\' : col.sort.direction == asc }"><i class="ui-grid-icon-sort-alt-up"><\/i> Sort Ascending<\/li>\n          <li ng-click="sortColumn($event, desc)" ng-class="{ \'selected\' : col.sort.direction == desc }"><i class="ui-grid-icon-sort-alt-down"><\/i> Sort Descending<\/li>\n          <li ng-show="col.sort.direction" ng-click="unsortColumn()"><i class="ui-grid-icon-cancel"><\/i> Remove Sort<\/li>\n        <\/div>\n      <\/ul>\n    <\/div>\n  <\/div> --><\/div><\/div>');n.put("ui-grid/uiGridFooterCell",'<div class="ui-grid-cell-contents" col-index="renderIndex"><div>{{ col.getAggregationText() + ( col.getAggregationValue() CUSTOM_FILTERS ) }}<\/div><\/div>');n.put("ui-grid/uiGridHeaderCell",'<div role="columnheader" ng-class="{ \'sortable\': sortable }" ui-grid-one-bind-aria-labelledby-grid="col.uid + \'-header-text \' + col.uid + \'-sortdir-text\'" aria-sort="{{col.sort.direction == asc ? \'ascending\' : ( col.sort.direction == desc ? \'descending\' : (!col.sort.direction ? \'none\' : \'other\'))}}"><div role="button" tabindex="0" class="ui-grid-cell-contents ui-grid-header-cell-primary-focus" col-index="renderIndex" title="TOOLTIP"><span class="ui-grid-header-cell-label" ui-grid-one-bind-id-grid="col.uid + \'-header-text\'">{{ col.displayName CUSTOM_FILTERS }}<\/span> <span ui-grid-one-bind-id-grid="col.uid + \'-sortdir-text\'" ui-grid-visible="col.sort.direction" aria-label="{{getSortDirectionAriaLabel()}}"><i ng-class="{ \'ui-grid-icon-up-dir\': col.sort.direction == asc, \'ui-grid-icon-down-dir\': col.sort.direction == desc, \'ui-grid-icon-blank\': !col.sort.direction }" title="{{isSortPriorityVisible() ? i18n.headerCell.priority + \' \' + ( col.sort.priority + 1 )  : null}}" aria-hidden="true"><\/i> <sub ui-grid-visible="isSortPriorityVisible()" class="ui-grid-sort-priority-number">{{col.sort.priority + 1}}<\/sub><\/span><\/div><div role="button" tabindex="0" ui-grid-one-bind-id-grid="col.uid + \'-menu-button\'" class="ui-grid-column-menu-button" ng-if="grid.options.enableColumnMenus && !col.isRowHeader  && col.colDef.enableColumnMenu !== false" ng-click="toggleMenu($event)" ng-class="{\'ui-grid-column-menu-button-last-col\': isLastCol}" ui-grid-one-bind-aria-label="i18n.headerCell.aria.columnMenuButtonLabel" aria-haspopup="true"><i class="ui-grid-icon-angle-down" aria-hidden="true">&nbsp;<\/i><\/div><div ui-grid-filter><\/div><\/div>');n.put("ui-grid/uiGridMenu",'<div class="ui-grid-menu" ng-if="shown"><style ui-grid-style>{{dynamicStyles}}<\/style><div class="ui-grid-menu-mid" ng-show="shownMid"><div class="ui-grid-menu-inner"><ul role="menu" class="ui-grid-menu-items"><li ng-repeat="item in menuItems" role="menuitem" ui-grid-menu-item ui-grid-one-bind-id="\'menuitem-\'+$index" action="item.action" name="item.title" active="item.active" icon="item.icon" shown="item.shown" context="item.context" template-url="item.templateUrl" leave-open="item.leaveOpen" screen-reader-only="item.screenReaderOnly"><\/li><\/ul><\/div><\/div><\/div>');n.put("ui-grid/uiGridMenuItem",'<button type="button" class="ui-grid-menu-item" ng-click="itemAction($event, title)" ng-show="itemShown()" ng-class="{ \'ui-grid-menu-item-active\': active(), \'ui-grid-sr-only\': (!focus && screenReaderOnly) }" aria-pressed="{{active()}}" tabindex="0" ng-focus="focus=true" ng-blur="focus=false"><i ng-class="icon" aria-hidden="true">&nbsp;<\/i> {{ name }}<\/button>');n.put("ui-grid/uiGridRenderContainer","<div role=\"grid\" ui-grid-one-bind-id-grid=\"'grid-container'\" class=\"ui-grid-render-container\" ng-style=\"{ 'margin-left': colContainer.getMargin('left') + 'px', 'margin-right': colContainer.getMargin('right') + 'px' }\"><!-- All of these dom elements are replaced in place --><div ui-grid-header><\/div><div ui-grid-viewport><\/div><div ng-if=\"colContainer.needsHScrollbarPlaceholder()\" class=\"ui-grid-scrollbar-placeholder\" ng-style=\"{height:colContainer.grid.scrollbarHeight + 'px'}\"><\/div><ui-grid-footer ng-if=\"grid.options.showColumnFooter\"><\/ui-grid-footer><\/div>");n.put("ui-grid/uiGridViewport",'<div role="rowgroup" class="ui-grid-viewport" ng-style="colContainer.getViewportStyle()"><!-- tbody --><div class="ui-grid-canvas"><div ng-repeat="(rowRenderIndex, row) in rowContainer.renderedRows track by $index" class="ui-grid-row" ng-style="Viewport.rowStyle(rowRenderIndex)"><div role="row" ui-grid-row="row" row-render-index="rowRenderIndex"><\/div><\/div><\/div><\/div>');n.put("ui-grid/cellEditor",'<div><form name="inputForm"><input type="INPUT_TYPE" ng-class="\'colt\' + col.uid" ui-grid-editor ng-model="MODEL_COL_FIELD"><\/form><\/div>');n.put("ui-grid/dropdownEditor",'<div><form name="inputForm"><select ng-class="\'colt\' + col.uid" ui-grid-edit-dropdown ng-model="MODEL_COL_FIELD" ng-options="field[editDropdownIdLabel] as field[editDropdownValueLabel] CUSTOM_FILTERS for field in editDropdownOptionsArray"><\/select><\/form><\/div>');n.put("ui-grid/fileChooserEditor",'<div><form name="inputForm"><input ng-class="\'colt\' + col.uid" ui-grid-edit-file-chooser type="file" id="files" name="files[]" ng-model="MODEL_COL_FIELD"><\/form><\/div>');n.put("ui-grid/expandableRow",'<div ui-grid-expandable-row ng-if="expandableRow.shouldRenderExpand()" class="expandableRow" style="float:left; margin-top: 1px; margin-bottom: 1px" ng-style="{width: (grid.renderContainers.body.getCanvasWidth()) + \'px\', height: row.expandedRowHeight + \'px\'}"><\/div>');n.put("ui-grid/expandableRowHeader",'<div class="ui-grid-row-header-cell ui-grid-expandable-buttons-cell"><div class="ui-grid-cell-contents"><i ng-if="!row.groupHeader==true" ng-class="{ \'ui-grid-icon-plus-squared\' : !row.isExpanded, \'ui-grid-icon-minus-squared\' : row.isExpanded }" ng-click="grid.api.expandable.toggleRowExpansion(row.entity)"><\/i><\/div><\/div>');n.put("ui-grid/expandableScrollFiller","<div ng-if=\"expandableRow.shouldRenderFiller()\" ng-class=\"{scrollFiller:true, scrollFillerClass:(colContainer.name === 'body')}\" ng-style=\"{ width: (grid.getViewportWidth()) + 'px', height: row.expandedRowHeight + 2 + 'px', 'margin-left': grid.options.rowHeader.rowHeaderWidth + 'px' }\"><i class=\"ui-grid-icon-spin5 ui-grid-animate-spin\" ng-style=\"{'margin-top': ( row.expandedRowHeight/2 - 5) + 'px', 'margin-left' : ((grid.getViewportWidth() - grid.options.rowHeader.rowHeaderWidth)/2 - 5) + 'px'}\"><\/i><\/div>");n.put("ui-grid/expandableTopRowHeader",'<div class="ui-grid-row-header-cell ui-grid-expandable-buttons-cell"><div class="ui-grid-cell-contents"><i ng-class="{ \'ui-grid-icon-plus-squared\' : !grid.expandable.expandedAll, \'ui-grid-icon-minus-squared\' : grid.expandable.expandedAll }" ng-click="grid.api.expandable.toggleAllRows()"><\/i><\/div><\/div>');n.put("ui-grid/csvLink",'<span class="ui-grid-exporter-csv-link-span"><a href="data:text/csv;charset=UTF-8,CSV_CONTENT" download="FILE_NAME">LINK_LABEL<\/a><\/span>');n.put("ui-grid/importerMenuItem",'<li class="ui-grid-menu-item"><form><input class="ui-grid-importer-file-chooser" type="file" id="files" name="files[]"><\/form><\/li>');n.put("ui-grid/importerMenuItemContainer","<div ui-grid-importer-menu-item><\/div>");n.put("ui-grid/pagination",'<div role="contentinfo" class="ui-grid-pager-panel" ui-grid-pager ng-show="grid.options.enablePaginationControls"><div role="navigation" class="ui-grid-pager-container"><div role="menubar" class="ui-grid-pager-control"><button type="button" role="menuitem" class="ui-grid-pager-first" ui-grid-one-bind-title="aria.pageToFirst" ui-grid-one-bind-aria-label="aria.pageToFirst" ng-click="pageFirstPageClick()" ng-disabled="cantPageBackward()"><div ng-class="grid.isRTL() ? \'last-triangle\' : \'first-triangle\'"><div ng-class="grid.isRTL() ? \'last-bar-rtl\' : \'first-bar\'"><\/div><\/div><\/button> <button type="button" role="menuitem" class="ui-grid-pager-previous" ui-grid-one-bind-title="aria.pageBack" ui-grid-one-bind-aria-label="aria.pageBack" ng-click="pagePreviousPageClick()" ng-disabled="cantPageBackward()"><div ng-class="grid.isRTL() ? \'last-triangle prev-triangle\' : \'first-triangle prev-triangle\'"><\/div><\/button> <input type="number" ui-grid-one-bind-title="aria.pageSelected" ui-grid-one-bind-aria-label="aria.pageSelected" class="ui-grid-pager-control-input" ng-model="grid.options.paginationCurrentPage" min="1" max="{{ paginationApi.getTotalPages() }}" required> <span class="ui-grid-pager-max-pages-number" ng-show="paginationApi.getTotalPages() > 0"><abbr ui-grid-one-bind-title="paginationOf">/<\/abbr> {{ paginationApi.getTotalPages() }}<\/span> <button type="button" role="menuitem" class="ui-grid-pager-next" ui-grid-one-bind-title="aria.pageForward" ui-grid-one-bind-aria-label="aria.pageForward" ng-click="pageNextPageClick()" ng-disabled="cantPageForward()"><div ng-class="grid.isRTL() ? \'first-triangle next-triangle\' : \'last-triangle next-triangle\'"><\/div><\/button> <button type="button" role="menuitem" class="ui-grid-pager-last" ui-grid-one-bind-title="aria.pageToLast" ui-grid-one-bind-aria-label="aria.pageToLast" ng-click="pageLastPageClick()" ng-disabled="cantPageToLast()"><div ng-class="grid.isRTL() ? \'first-triangle\' : \'last-triangle\'"><div ng-class="grid.isRTL() ? \'first-bar-rtl\' : \'last-bar\'"><\/div><\/div><\/button><\/div><div class="ui-grid-pager-row-count-picker" ng-if="grid.options.paginationPageSizes.length > 1"><select ui-grid-one-bind-aria-labelledby-grid="\'items-per-page-label\'" ng-model="grid.options.paginationPageSize" ng-options="o as o for o in grid.options.paginationPageSizes"><\/select><span ui-grid-one-bind-id-grid="\'items-per-page-label\'" class="ui-grid-pager-row-count-label">&nbsp;{{sizesLabel}}<\/span><\/div><span ng-if="grid.options.paginationPageSizes.length <= 1" class="ui-grid-pager-row-count-label">{{grid.options.paginationPageSize}}&nbsp;{{sizesLabel}}<\/span><\/div><div class="ui-grid-pager-count-container"><div class="ui-grid-pager-count"><span ng-show="grid.options.totalItems > 0">{{showingLow}} <abbr ui-grid-one-bind-title="paginationThrough">-<\/abbr> {{showingHigh}} {{paginationOf}} {{grid.options.totalItems}} {{totalItemsLabel}}<\/span><\/div><\/div><\/div>');n.put("ui-grid/columnResizer",'<div ui-grid-column-resizer ng-if="grid.options.enableColumnResizing" class="ui-grid-column-resizer" col="col" position="right" render-index="renderIndex" unselectable="on"><\/div>');n.put("ui-grid/gridFooterSelectedItems",'<span ng-if="grid.selection.selectedCount !== 0 && grid.options.enableFooterTotalSelected">({{"search.selectedItems" | t}} {{grid.selection.selectedCount}})<\/span>');n.put("ui-grid/selectionHeaderCell",'<div><!-- <div class="ui-grid-vertical-bar">&nbsp;<\/div> --><div class="ui-grid-cell-contents" col-index="renderIndex"><ui-grid-selection-select-all-buttons ng-if="grid.options.enableSelectAll"><\/ui-grid-selection-select-all-buttons><\/div><\/div>');n.put("ui-grid/selectionRowHeader",'<div class="ui-grid-disable-selection"><div class="ui-grid-cell-contents"><ui-grid-selection-row-header-buttons><\/ui-grid-selection-row-header-buttons><\/div><\/div>');n.put("ui-grid/selectionRowHeaderButtons",'<div class="ui-grid-selection-row-header-buttons ui-grid-icon-ok" ng-class="{\'ui-grid-row-selected\': row.isSelected}" ng-click="selectButtonClick(row, $event)">&nbsp;<\/div>');n.put("ui-grid/selectionSelectAllButtons",'<div class="ui-grid-selection-row-header-buttons ui-grid-icon-ok" ng-class="{\'ui-grid-all-selected\': grid.selection.selectAll}" ng-click="headerButtonClick($event)"><\/div>');n.put("ui-grid/treeBaseExpandAllButtons",'<div class="ui-grid-tree-base-row-header-buttons" ng-class="{\'ui-grid-icon-minus-squared\': grid.treeBase.numberLevels > 0 && grid.treeBase.expandAll, \'ui-grid-icon-plus-squared\': grid.treeBase.numberLevels > 0 && !grid.treeBase.expandAll}" ng-click="headerButtonClick($event)"><\/div>');n.put("ui-grid/treeBaseHeaderCell",'<div><div class="ui-grid-cell-contents" col-index="renderIndex"><ui-grid-tree-base-expand-all-buttons ng-if="grid.options.enableExpandAll"><\/ui-grid-tree-base-expand-all-buttons><\/div><\/div>');n.put("ui-grid/treeBaseRowHeader",'<div class="ui-grid-cell-contents"><ui-grid-tree-base-row-header-buttons><\/ui-grid-tree-base-row-header-buttons><\/div>');n.put("ui-grid/treeBaseRowHeaderButtons","<div class=\"ui-grid-tree-base-row-header-buttons\" ng-class=\"{'ui-grid-tree-base-header': row.treeLevel > -1 }\" ng-click=\"treeButtonClick(row, $event)\"><i ng-class=\"{'ui-grid-icon-minus-squared': ( ( grid.options.showTreeExpandNoChildren && row.treeLevel > -1 ) || ( row.treeNode.children && row.treeNode.children.length > 0 ) ) && row.treeNode.state === 'expanded', 'ui-grid-icon-plus-squared': ( ( grid.options.showTreeExpandNoChildren && row.treeLevel > -1 ) || ( row.treeNode.children && row.treeNode.children.length > 0 ) ) && row.treeNode.state === 'collapsed'}\" ng-style=\"{'padding-left': grid.options.treeIndent * row.treeLevel + 'px'}\"><\/i> &nbsp;<\/div>");n.put("ui-grid/cellTitleValidator",'<div class="ui-grid-cell-contents" ng-class="{invalid:grid.validate.isInvalid(row.entity,col.colDef)}" title="{{grid.validate.getTitleFormattedErrors(row.entity,col.colDef)}}">{{COL_FIELD CUSTOM_FILTERS}}<\/div>');n.put("ui-grid/cellTooltipValidator",'<div class="ui-grid-cell-contents" ng-class="{invalid:grid.validate.isInvalid(row.entity,col.colDef)}" tooltip-html-unsafe="{{grid.validate.getFormattedErrors(row.entity,col.colDef)}}" tooltip-enable="grid.validate.isInvalid(row.entity,col.colDef)" tooltip-append-to-body="true" tooltip-placement="top" title="TOOLTIP">{{COL_FIELD CUSTOM_FILTERS}}<\/div>')}]);angular.module("angular-scroll-complete",[]).directive("whenScrolled",function(){return function(n,t,i){var r=t[0];t.bind("scroll",function(){var t=r.offsetHeight-r.scrollHeight,u=r.scrollTop,f=Math.abs(u/t*100);f>i.percent&&n.$apply(i.whenScrolled)})}});angular.module("ui.bootstrap",["ui.bootstrap.tpls","ui.bootstrap.collapse","ui.bootstrap.accordion","ui.bootstrap.alert","ui.bootstrap.buttons","ui.bootstrap.carousel","ui.bootstrap.dateparser","ui.bootstrap.isClass","ui.bootstrap.datepicker","ui.bootstrap.position","ui.bootstrap.datepickerPopup","ui.bootstrap.debounce","ui.bootstrap.dropdown","ui.bootstrap.stackedMap","ui.bootstrap.modal","ui.bootstrap.paging","ui.bootstrap.pager","ui.bootstrap.pagination","ui.bootstrap.tooltip","ui.bootstrap.popover","ui.bootstrap.progressbar","ui.bootstrap.rating","ui.bootstrap.tabs","ui.bootstrap.timepicker","ui.bootstrap.typeahead"]);angular.module("ui.bootstrap.tpls",["uib/template/accordion/accordion-group.html","uib/template/accordion/accordion.html","uib/template/alert/alert.html","uib/template/carousel/carousel.html","uib/template/carousel/slide.html","uib/template/datepicker/datepicker.html","uib/template/datepicker/day.html","uib/template/datepicker/month.html","uib/template/datepicker/year.html","uib/template/datepickerPopup/popup.html","uib/template/modal/backdrop.html","uib/template/modal/window.html","uib/template/pager/pager.html","uib/template/pagination/pagination.html","uib/template/tooltip/tooltip-html-popup.html","uib/template/tooltip/tooltip-popup.html","uib/template/tooltip/tooltip-template-popup.html","uib/template/popover/popover-html.html","uib/template/popover/popover-template.html","uib/template/popover/popover.html","uib/template/progressbar/bar.html","uib/template/progressbar/progress.html","uib/template/progressbar/progressbar.html","uib/template/rating/rating.html","uib/template/tabs/tab.html","uib/template/tabs/tabset.html","uib/template/timepicker/timepicker.html","uib/template/typeahead/typeahead-match.html","uib/template/typeahead/typeahead-popup.html"]);angular.module("ui.bootstrap.collapse",[]).directive("uibCollapse",["$animate","$q","$parse","$injector",function(n,t,i,r){var u=r.has("$animateCss")?r.get("$animateCss"):null;return{link:function(r,f,e){function v(){f.hasClass("collapse")&&f.hasClass("in")||t.resolve(h(r)).then(function(){f.removeClass("collapse").addClass("collapsing").attr("aria-expanded",!0).attr("aria-hidden",!1);u?u(f,{addClass:"in",easing:"ease",to:{height:f[0].scrollHeight+"px"}}).start()["finally"](s):n.addClass(f,"in",{to:{height:f[0].scrollHeight+"px"}}).then(s)})}function s(){f.removeClass("collapsing").addClass("collapse").css({height:"auto"});c(r)}function y(){if(!f.hasClass("collapse")&&!f.hasClass("in"))return o();t.resolve(l(r)).then(function(){f.css({height:f[0].scrollHeight+"px"}).removeClass("collapse").addClass("collapsing").attr("aria-expanded",!1).attr("aria-hidden",!0);u?u(f,{removeClass:"in",to:{height:"0"}}).start()["finally"](o):n.removeClass(f,"in",{to:{height:"0"}}).then(o)})}function o(){f.css({height:"0"});f.removeClass("collapsing").addClass("collapse");a(r)}var h=i(e.expanding),c=i(e.expanded),l=i(e.collapsing),a=i(e.collapsed);r.$eval(e.uibCollapse)||f.addClass("in").addClass("collapse").attr("aria-expanded",!0).attr("aria-hidden",!1).css({height:"auto"});r.$watch(e.uibCollapse,function(n){n?y():v()})}}}]);angular.module("ui.bootstrap.accordion",["ui.bootstrap.collapse"]).constant("uibAccordionConfig",{closeOthers:!0}).controller("UibAccordionController",["$scope","$attrs","uibAccordionConfig",function(n,t,i){this.groups=[];this.closeOthers=function(r){var u=angular.isDefined(t.closeOthers)?n.$eval(t.closeOthers):i.closeOthers;u&&angular.forEach(this.groups,function(n){n!==r&&(n.isOpen=!1)})};this.addGroup=function(n){var t=this;this.groups.push(n);n.$on("$destroy",function(){t.removeGroup(n)})};this.removeGroup=function(n){var t=this.groups.indexOf(n);t!==-1&&this.groups.splice(t,1)}}]).directive("uibAccordion",function(){return{controller:"UibAccordionController",controllerAs:"accordion",transclude:!0,templateUrl:function(n,t){return t.templateUrl||"uib/template/accordion/accordion.html"}}}).directive("uibAccordionGroup",function(){return{require:"^uibAccordion",transclude:!0,replace:!0,templateUrl:function(n,t){return t.templateUrl||"uib/template/accordion/accordion-group.html"},scope:{heading:"@",panelClass:"@?",isOpen:"=?",isDisabled:"=?"},controller:function(){this.setHeading=function(n){this.heading=n}},link:function(n,t,i,r){r.addGroup(n);n.openClass=i.openClass||"panel-open";n.panelClass=i.panelClass||"panel-default";n.$watch("isOpen",function(i){t.toggleClass(n.openClass,!!i);i&&r.closeOthers(n)});n.toggleOpen=function(t){n.isDisabled||t&&t.which!==32||(n.isOpen=!n.isOpen)};var u="accordiongroup-"+n.$id+"-"+Math.floor(Math.random()*1e4);n.headingId=u+"-tab";n.panelId=u+"-panel"}}}).directive("uibAccordionHeading",function(){return{transclude:!0,template:"",replace:!0,require:"^uibAccordionGroup",link:function(n,t,i,r,u){r.setHeading(u(n,angular.noop))}}}).directive("uibAccordionTransclude",function(){function n(){return"uib-accordion-header,data-uib-accordion-header,x-uib-accordion-header,uib\\:accordion-header,[uib-accordion-header],[data-uib-accordion-header],[x-uib-accordion-header]"}return{require:"^uibAccordionGroup",link:function(t,i,r,u){t.$watch(function(){return u[r.uibAccordionTransclude]},function(t){if(t){var r=angular.element(i[0].querySelector(n()));r.html("");r.append(t)}})}}});angular.module("ui.bootstrap.alert",[]).controller("UibAlertController",["$scope","$attrs","$interpolate","$timeout",function(n,t,i,r){n.closeable=!!t.close;var u=angular.isDefined(t.dismissOnTimeout)?i(t.dismissOnTimeout)(n.$parent):null;u&&r(function(){n.close()},parseInt(u,10))}]).directive("uibAlert",function(){return{controller:"UibAlertController",controllerAs:"alert",templateUrl:function(n,t){return t.templateUrl||"uib/template/alert/alert.html"},transclude:!0,replace:!0,scope:{type:"@",close:"&"}}});angular.module("ui.bootstrap.buttons",[]).constant("uibButtonConfig",{activeClass:"active",toggleEvent:"click"}).controller("UibButtonsController",["uibButtonConfig",function(n){this.activeClass=n.activeClass||"active";this.toggleEvent=n.toggleEvent||"click"}]).directive("uibBtnRadio",["$parse",function(n){return{require:["uibBtnRadio","ngModel"],controller:"UibButtonsController",controllerAs:"buttons",link:function(t,i,r,u){var e=u[0],f=u[1],o=n(r.uibUncheckable);i.find("input").css({display:"none"});f.$render=function(){i.toggleClass(e.activeClass,angular.equals(f.$modelValue,t.$eval(r.uibBtnRadio)))};i.on(e.toggleEvent,function(){if(!r.disabled){var n=i.hasClass(e.activeClass);(!n||angular.isDefined(r.uncheckable))&&t.$apply(function(){f.$setViewValue(n?null:t.$eval(r.uibBtnRadio));f.$render()})}});r.uibUncheckable&&t.$watch(o,function(n){r.$set("uncheckable",n?"":undefined)})}}}]).directive("uibBtnCheckbox",function(){return{require:["uibBtnCheckbox","ngModel"],controller:"UibButtonsController",controllerAs:"button",link:function(n,t,i,r){function e(){return o(i.btnCheckboxTrue,!0)}function s(){return o(i.btnCheckboxFalse,!1)}function o(t,i){return angular.isDefined(t)?n.$eval(t):i}var f=r[0],u=r[1];t.find("input").css({display:"none"});u.$render=function(){t.toggleClass(f.activeClass,angular.equals(u.$modelValue,e()))};t.on(f.toggleEvent,function(){i.disabled||n.$apply(function(){u.$setViewValue(t.hasClass(f.activeClass)?s():e());u.$render()})})}}});angular.module("ui.bootstrap.carousel",[]).controller("UibCarouselController",["$scope","$element","$interval","$timeout","$animate",function(n,t,i,r,u){function a(){while(s.length)s.shift()}function h(n){for(var t=0;t<f.length;t++)f[t].slide.active=t===n}function k(i,r,c){if(!b){if(angular.extend(i,{direction:c}),angular.extend(f[o].slide||{},{direction:c}),u.enabled(t)&&!n.$currentTransition&&f[r].element&&e.slides.length>1){f[r].element.data(w,i.direction);var l=e.getCurrentIndex();angular.isNumber(l)&&f[l].element&&f[l].element.data(w,i.direction);n.$currentTransition=!0;u.on("addClass",f[r].element,function(t,i){if(i==="close"&&(n.$currentTransition=null,u.off("addClass",t),s.length)){var r=s.pop().slide,f=r.index,o=f>e.getCurrentIndex()?"next":"prev";a();k(r,f,o)}})}n.active=i.index;o=i.index;h(r);p()}}function v(n){for(var t=0;t<f.length;t++)if(f[t].slide===n)return t}function y(){c&&(i.cancel(c),c=null)}function d(t){t.length||(n.$currentTransition=null,a())}function p(){y();var t=+n.interval;!isNaN(t)&&t>0&&(c=i(g,t))}function g(){var t=+n.interval;l&&!isNaN(t)&&t>0&&f.length?n.next():n.pause()}var e=this,f=e.slides=n.slides=[],w="uib-slideDirection",o=n.active,c,l,s=[],b=!1;e.addSlide=function(t,i){f.push({slide:t,element:i});f.sort(function(n,t){return+n.slide.index-+t.slide.index});t.index!==n.active&&(f.length!==1||angular.isNumber(n.active))||(n.$currentTransition&&(n.$currentTransition=null),o=t.index,n.active=t.index,h(o),e.select(f[v(t)]),f.length===1&&n.play())};e.getCurrentIndex=function(){for(var n=0;n<f.length;n++)if(f[n].slide.index===o)return n};e.next=n.next=function(){var t=(e.getCurrentIndex()+1)%f.length;if(t===0&&n.noWrap()){n.pause();return}return e.select(f[t],"next")};e.prev=n.prev=function(){var t=e.getCurrentIndex()-1<0?f.length-1:e.getCurrentIndex()-1;if(n.noWrap()&&t===f.length-1){n.pause();return}return e.select(f[t],"prev")};e.removeSlide=function(t){var i=v(t),r=s.indexOf(f[i]);r!==-1&&s.splice(r,1);f.splice(i,1);f.length>0&&o===i?i>=f.length?(o=f.length-1,n.active=o,h(o),e.select(f[f.length-1])):(o=i,n.active=o,h(o),e.select(f[i])):o>i&&(o--,n.active=o);f.length===0&&(o=null,n.active=null,a())};e.select=n.select=function(t,i){var r=v(t.slide);i===undefined&&(i=r>e.getCurrentIndex()?"next":"prev");t.slide.index===o||n.$currentTransition?t&&t.slide.index!==o&&n.$currentTransition&&s.push(f[r]):k(t.slide,r,i)};n.indexOfSlide=function(n){return+n.slide.index};n.isActive=function(t){return n.active===t.slide.index};n.isPrevDisabled=function(){return n.active===0&&n.noWrap()};n.isNextDisabled=function(){return n.active===f.length-1&&n.noWrap()};n.pause=function(){n.noPause||(l=!1,y())};n.play=function(){l||(l=!0,p())};n.$on("$destroy",function(){b=!0;y()});n.$watch("noTransition",function(n){u.enabled(t,!n)});n.$watch("interval",p);n.$watchCollection("slides",d);n.$watch("active",function(n){var t,i;if(angular.isNumber(n)&&o!==n){for(t=0;t<f.length;t++)if(f[t].slide.index===n){n=t;break}i=f[n];i&&(h(n),e.select(f[n]),o=n)}})}]).directive("uibCarousel",function(){return{transclude:!0,replace:!0,controller:"UibCarouselController",controllerAs:"carousel",templateUrl:function(n,t){return t.templateUrl||"uib/template/carousel/carousel.html"},scope:{active:"=",interval:"=",noTransition:"=",noPause:"=",noWrap:"&"}}}).directive("uibSlide",function(){return{require:"^uibCarousel",transclude:!0,replace:!0,templateUrl:function(n,t){return t.templateUrl||"uib/template/carousel/slide.html"},scope:{actual:"=?",index:"=?"},link:function(n,t,i,r){r.addSlide(n,t);n.$on("$destroy",function(){r.removeSlide(n)})}}}).animation(".item",["$animateCss",function(n){function i(n,t,i){n.removeClass(t);i&&i()}var t="uib-slideDirection";return{beforeAddClass:function(r,u,f){if(u==="active"){var s=!1,e=r.data(t),o=e==="next"?"left":"right",h=i.bind(this,r,o+" "+e,f);return r.addClass(e),n(r,{addClass:o}).start().done(h),function(){s=!0}}f()},beforeRemoveClass:function(r,u,f){if(u==="active"){var o=!1,s=r.data(t),e=s==="next"?"left":"right",h=i.bind(this,r,e,f);return n(r,{addClass:e}).start().done(h),function(){o=!0}}f()}}}]);angular.module("ui.bootstrap.dateparser",[]).service("uibDateParser",["$log","$locale","dateFilter","orderByFilter",function(n,t,i,r){function o(n,t){var o=[],u=n.split(""),s=n.indexOf("'"),f,i;if(s>-1){for(f=!1,n=n.split(""),i=s;i<n.length;i++)f?(n[i]==="'"&&(i+1<n.length&&n[i+1]==="'"?(n[i+1]="$",u[i+1]=""):(u[i]="",f=!1)),n[i]="$"):n[i]==="'"&&(n[i]="$",u[i]="",f=!0);n=n.join("")}return angular.forEach(e,function(i){var r=n.indexOf(i.key),f,e;if(r>-1){for(n=n.split(""),u[r]="("+i.regex+")",n[r]="$",f=r+1,e=r+i.key.length;f<e;f++)u[f]="",n[f]="$";n=n.join("");o.push({index:r,key:i.key,apply:i[t],matcher:i.regex})}}),{regex:new RegExp("^"+u.join("")+"$"),map:r(o,"index")}}function a(n,t,i){return i<1?!1:t===1&&i>28?i===29&&(n%4==0&&n%100!=0||n%400==0):t===3||t===5||t===8||t===10?i<31:!0}function s(n){return parseInt(n,10)}function v(n,t){return n&&t?f(n,t):n}function y(n,t){return n&&t?f(n,t,!0):n}function h(n,t){n=n.replace(/:/g,"");var i=Date.parse("Jan 01, 1970 00:00:00 "+n)/6e4;return isNaN(i)?t:i}function c(n,t){return n=new Date(n.getTime()),n.setMinutes(n.getMinutes()+t),n}function f(n,t,i){i=i?-1:1;var r=n.getTimezoneOffset(),u=h(t,r);return c(n,i*(u-r))}var l=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,u,e;this.init=function(){u=t.id;this.parsers={};this.formatters={};e=[{key:"yyyy",regex:"\\d{4}",apply:function(n){this.year=+n},formatter:function(n){var t=new Date;return t.setFullYear(Math.abs(n.getFullYear())),i(t,"yyyy")}},{key:"yy",regex:"\\d{2}",apply:function(n){n=+n;this.year=n<69?n+2e3:n+1900},formatter:function(n){var t=new Date;return t.setFullYear(Math.abs(n.getFullYear())),i(t,"yy")}},{key:"y",regex:"\\d{1,4}",apply:function(n){this.year=+n},formatter:function(n){var t=new Date;return t.setFullYear(Math.abs(n.getFullYear())),i(t,"y")}},{key:"M!",regex:"0?[1-9]|1[0-2]",apply:function(n){this.month=n-1},formatter:function(n){var t=n.getMonth();return/^[0-9]$/.test(t)?i(n,"MM"):i(n,"M")}},{key:"MMMM",regex:t.DATETIME_FORMATS.MONTH.join("|"),apply:function(n){this.month=t.DATETIME_FORMATS.MONTH.indexOf(n)},formatter:function(n){return i(n,"MMMM")}},{key:"MMM",regex:t.DATETIME_FORMATS.SHORTMONTH.join("|"),apply:function(n){this.month=t.DATETIME_FORMATS.SHORTMONTH.indexOf(n)},formatter:function(n){return i(n,"MMM")}},{key:"MM",regex:"0[1-9]|1[0-2]",apply:function(n){this.month=n-1},formatter:function(n){return i(n,"MM")}},{key:"M",regex:"[1-9]|1[0-2]",apply:function(n){this.month=n-1},formatter:function(n){return i(n,"M")}},{key:"d!",regex:"[0-2]?[0-9]{1}|3[0-1]{1}",apply:function(n){this.date=+n},formatter:function(n){var t=n.getDate();return/^[1-9]$/.test(t)?i(n,"dd"):i(n,"d")}},{key:"dd",regex:"[0-2][0-9]{1}|3[0-1]{1}",apply:function(n){this.date=+n},formatter:function(n){return i(n,"dd")}},{key:"d",regex:"[1-2]?[0-9]{1}|3[0-1]{1}",apply:function(n){this.date=+n},formatter:function(n){return i(n,"d")}},{key:"EEEE",regex:t.DATETIME_FORMATS.DAY.join("|"),formatter:function(n){return i(n,"EEEE")}},{key:"EEE",regex:t.DATETIME_FORMATS.SHORTDAY.join("|"),formatter:function(n){return i(n,"EEE")}},{key:"HH",regex:"(?:0|1)[0-9]|2[0-3]",apply:function(n){this.hours=+n},formatter:function(n){return i(n,"HH")}},{key:"hh",regex:"0[0-9]|1[0-2]",apply:function(n){this.hours=+n},formatter:function(n){return i(n,"hh")}},{key:"H",regex:"1?[0-9]|2[0-3]",apply:function(n){this.hours=+n},formatter:function(n){return i(n,"H")}},{key:"h",regex:"[0-9]|1[0-2]",apply:function(n){this.hours=+n},formatter:function(n){return i(n,"h")}},{key:"mm",regex:"[0-5][0-9]",apply:function(n){this.minutes=+n},formatter:function(n){return i(n,"mm")}},{key:"m",regex:"[0-9]|[1-5][0-9]",apply:function(n){this.minutes=+n},formatter:function(n){return i(n,"m")}},{key:"sss",regex:"[0-9][0-9][0-9]",apply:function(n){this.milliseconds=+n},formatter:function(n){return i(n,"sss")}},{key:"ss",regex:"[0-5][0-9]",apply:function(n){this.seconds=+n},formatter:function(n){return i(n,"ss")}},{key:"s",regex:"[0-9]|[1-5][0-9]",apply:function(n){this.seconds=+n},formatter:function(n){return i(n,"s")}},{key:"a",regex:t.DATETIME_FORMATS.AMPMS.join("|"),apply:function(n){this.hours===12&&(this.hours=0);n==="PM"&&(this.hours+=12)},formatter:function(n){return i(n,"a")}},{key:"Z",regex:"[+-]\\d{4}",apply:function(n){var t=n.match(/([+-])(\d{2})(\d{2})/),i=t[1],r=t[2],u=t[3];this.hours+=s(i+r);this.minutes+=s(i+u)},formatter:function(n){return i(n,"Z")}},{key:"ww",regex:"[0-4][0-9]|5[0-3]",formatter:function(n){return i(n,"ww")}},{key:"w",regex:"[0-9]|[1-4][0-9]|5[0-3]",formatter:function(n){return i(n,"w")}},{key:"GGGG",regex:t.DATETIME_FORMATS.ERANAMES.join("|").replace(/\s/g,"\\s"),formatter:function(n){return i(n,"GGGG")}},{key:"GGG",regex:t.DATETIME_FORMATS.ERAS.join("|"),formatter:function(n){return i(n,"GGG")}},{key:"GG",regex:t.DATETIME_FORMATS.ERAS.join("|"),formatter:function(n){return i(n,"GG")}},{key:"G",regex:t.DATETIME_FORMATS.ERAS.join("|"),formatter:function(n){return i(n,"G")}}]};this.init();this.filter=function(n,i){if(!angular.isDate(n)||isNaN(n)||!i)return"";i=t.DATETIME_FORMATS[i]||i;t.id!==u&&this.init();this.formatters[i]||(this.formatters[i]=o(i,"formatter"));var e=this.formatters[i],f=e.map,r=i;return f.reduce(function(t,i,u){var e=r.match(new RegExp("(.*)"+i.key)),o;return(e&&angular.isString(e[1])&&(t+=e[1],r=r.replace(e[1]+i.key,"")),o=u===f.length-1?r:"",i.apply)?t+i.apply.call(null,n)+o:t+o},"")};this.parse=function(i,r,f){var e,s,h,k,y,p,w;if(!angular.isString(i)||!r)return i;r=t.DATETIME_FORMATS[r]||r;r=r.replace(l,"\\$&");t.id!==u&&this.init();this.parsers[r]||(this.parsers[r]=o(r,"apply"));var b=this.parsers[r],d=b.regex,g=b.map,c=i.match(d),v=!1;if(c&&c.length){for(angular.isDate(f)&&!isNaN(f.getTime())?e={year:f.getFullYear(),month:f.getMonth(),date:f.getDate(),hours:f.getHours(),minutes:f.getMinutes(),seconds:f.getSeconds(),milliseconds:f.getMilliseconds()}:(f&&n.warn("dateparser:","baseDate is not a valid date"),e={year:1900,month:0,date:1,hours:0,minutes:0,seconds:0,milliseconds:0}),h=1,k=c.length;h<k;h++)y=g[h-1],y.matcher==="Z"&&(v=!0),y.apply&&y.apply.call(e,c[h]);return p=v?Date.prototype.setUTCFullYear:Date.prototype.setFullYear,w=v?Date.prototype.setUTCHours:Date.prototype.setHours,a(e.year,e.month,e.date)&&(!angular.isDate(f)||isNaN(f.getTime())||v?(s=new Date(0),p.call(s,e.year,e.month,e.date),w.call(s,e.hours||0,e.minutes||0,e.seconds||0,e.milliseconds||0)):(s=new Date(f),p.call(s,e.year,e.month,e.date),w.call(s,e.hours,e.minutes,e.seconds,e.milliseconds))),s}};this.toTimezone=v;this.fromTimezone=y;this.timezoneToOffset=h;this.addDateMinutes=c;this.convertTimezoneToLocal=f}]);angular.module("ui.bootstrap.isClass",[]).directive("uibIsClass",["$animate",function(n){var t=/^\s*([\s\S]+?)\s+on\s+([\s\S]+?)\s*$/,i=/^\s*([\s\S]+?)\s+for\s+([\s\S]+?)\s*$/;return{restrict:"A",compile:function(r,u){function a(n,t){f.push(n);o.push({scope:n,element:t});l.forEach(function(t){v(t,n)});n.$on("$destroy",y)}function v(t,r){var c=t.match(i),l=r.$eval(c[1]),f=c[2],u=e[t],s;u||(s=function(t){var i=null;o.some(function(n){var r=n.scope.$eval(h);if(r===t)return i=n,!0});u.lastActivated!==i&&(u.lastActivated&&n.removeClass(u.lastActivated.element,l),i&&n.addClass(i.element,l),u.lastActivated=i)},e[t]=u={lastActivated:null,scope:r,watchFn:s,compareWithExp:f,watcher:r.$watch(f,s)});u.watchFn(r.$eval(f))}function y(n){var i=n.targetScope,r=f.indexOf(i),t;f.splice(r,1);o.splice(r,1);f.length?(t=f[0],angular.forEach(e,function(n){n.scope===i&&(n.watcher=t.$watch(n.compareWithExp,n.watchFn),n.scope=t)})):e={}}var f=[],o=[],e={},s=u.uibIsClass.match(t),h=s[2],c=s[1],l=c.split(",");return a}}}]);angular.module("ui.bootstrap.datepicker",["ui.bootstrap.dateparser","ui.bootstrap.isClass"]).value("$datepickerSuppressError",!1).value("$datepickerLiteralWarning",!0).constant("uibDatepickerConfig",{datepickerMode:"day",formatDay:"dd",formatMonth:"MMMM",formatYear:"yyyy",formatDayHeader:"EEE",formatDayTitle:"MMMM yyyy",formatMonthTitle:"yyyy",maxDate:null,maxMode:"year",minDate:null,minMode:"day",ngModelOptions:{},shortcutPropagation:!1,showWeeks:!0,yearColumns:5,yearRows:4}).controller("UibDatepickerController",["$scope","$attrs","$parse","$interpolate","$locale","$log","dateFilter","uibDatepickerConfig","$datepickerLiteralWarning","$datepickerSuppressError","uibDateParser",function(n,t,i,r,u,f,e,o,s,h,c){function w(t){n.datepickerMode=t;n.datepickerOptions.datepickerMode=t}var l=this,a={$setViewValue:angular.noop},v={},y=[],b=!!t.datepickerOptions,p;n.datepickerOptions||(n.datepickerOptions={});this.modes=["day","month","year"];["customClass","dateDisabled","datepickerMode","formatDay","formatDayHeader","formatDayTitle","formatMonth","formatMonthTitle","formatYear","maxDate","maxMode","minDate","minMode","showWeeks","shortcutPropagation","startingDay","yearColumns","yearRows"].forEach(function(t){switch(t){case"customClass":case"dateDisabled":n[t]=n.datepickerOptions[t]||angular.noop;break;case"datepickerMode":n.datepickerMode=angular.isDefined(n.datepickerOptions.datepickerMode)?n.datepickerOptions.datepickerMode:o.datepickerMode;break;case"formatDay":case"formatDayHeader":case"formatDayTitle":case"formatMonth":case"formatMonthTitle":case"formatYear":l[t]=angular.isDefined(n.datepickerOptions[t])?r(n.datepickerOptions[t])(n.$parent):o[t];break;case"showWeeks":case"shortcutPropagation":case"yearColumns":case"yearRows":l[t]=angular.isDefined(n.datepickerOptions[t])?n.datepickerOptions[t]:o[t];break;case"startingDay":l.startingDay=angular.isDefined(n.datepickerOptions.startingDay)?n.datepickerOptions.startingDay:angular.isNumber(o.startingDay)?o.startingDay:(u.DATETIME_FORMATS.FIRSTDAYOFWEEK+8)%7;break;case"maxDate":case"minDate":n.$watch("datepickerOptions."+t,function(n){n?angular.isDate(n)?l[t]=c.fromTimezone(new Date(n),v.timezone):(s&&f.warn("Literal date support has been deprecated, please switch to date object usage"),l[t]=new Date(e(n,"medium"))):l[t]=o[t]?c.fromTimezone(new Date(o[t]),v.timezone):null;l.refreshView()});break;case"maxMode":case"minMode":n.datepickerOptions[t]?n.$watch(function(){return n.datepickerOptions[t]},function(i){l[t]=n[t]=angular.isDefined(i)?i:datepickerOptions[t];(t==="minMode"&&l.modes.indexOf(n.datepickerOptions.datepickerMode)<l.modes.indexOf(l[t])||t==="maxMode"&&l.modes.indexOf(n.datepickerOptions.datepickerMode)>l.modes.indexOf(l[t]))&&(n.datepickerMode=l[t],n.datepickerOptions.datepickerMode=l[t])}):l[t]=n[t]=o[t]||null}});n.uniqueId="datepicker-"+n.$id+"-"+Math.floor(Math.random()*1e4);n.disabled=angular.isDefined(t.disabled)||!1;angular.isDefined(t.ngDisabled)&&y.push(n.$parent.$watch(t.ngDisabled,function(t){n.disabled=t;l.refreshView()}));n.isActive=function(t){return l.compare(t.date,l.activeDate)===0?(n.activeDateId=t.uid,!0):!1};this.init=function(t){a=t;v=t.$options||o.ngModelOptions;n.datepickerOptions.initDate?(l.activeDate=c.fromTimezone(n.datepickerOptions.initDate,v.timezone)||new Date,n.$watch("datepickerOptions.initDate",function(n){n&&(a.$isEmpty(a.$modelValue)||a.$invalid)&&(l.activeDate=c.fromTimezone(n,v.timezone),l.refreshView())})):l.activeDate=new Date;var i=a.$modelValue?new Date(a.$modelValue):new Date;this.activeDate=isNaN(i)?c.fromTimezone(new Date,v.timezone):c.fromTimezone(i,v.timezone);a.$render=function(){l.render()}};this.render=function(){if(a.$viewValue){var n=new Date(a.$viewValue),t=!isNaN(n);t?this.activeDate=c.fromTimezone(n,v.timezone):h||f.error('Datepicker directive: "ng-model" value must be a Date object')}this.refreshView()};this.refreshView=function(){if(this.element){n.selectedDt=null;this._refreshView();n.activeDt&&(n.activeDateId=n.activeDt.uid);var t=a.$viewValue?new Date(a.$viewValue):null;t=c.fromTimezone(t,v.timezone);a.$setValidity("dateDisabled",!t||this.element&&!this.isDisabled(t))}};this.createDateObject=function(t,i){var r=a.$viewValue?new Date(a.$viewValue):null,f,e,u;return r=c.fromTimezone(r,v.timezone),f=new Date,f=c.fromTimezone(f,v.timezone),e=this.compare(t,f),u={date:t,label:c.filter(t,i),selected:r&&this.compare(t,r)===0,disabled:this.isDisabled(t),past:e<0,current:e===0,future:e>0,customClass:this.customClass(t)||null},r&&this.compare(t,r)===0&&(n.selectedDt=u),l.activeDate&&this.compare(u.date,l.activeDate)===0&&(n.activeDt=u),u};this.isDisabled=function(t){return n.disabled||this.minDate&&this.compare(t,this.minDate)<0||this.maxDate&&this.compare(t,this.maxDate)>0||n.dateDisabled&&n.dateDisabled({date:t,mode:n.datepickerMode})};this.customClass=function(t){return n.customClass({date:t,mode:n.datepickerMode})};this.split=function(n,t){for(var i=[];n.length>0;)i.push(n.splice(0,t));return i};n.select=function(t){if(n.datepickerMode===l.minMode){var i=a.$viewValue?c.fromTimezone(new Date(a.$viewValue),v.timezone):new Date(0,0,0,0,0,0,0);i.setFullYear(t.getFullYear(),t.getMonth(),t.getDate());i=c.toTimezone(i,v.timezone);a.$setViewValue(i);a.$render()}else l.activeDate=t,w(l.modes[l.modes.indexOf(n.datepickerMode)-1]),n.$emit("uib:datepicker.mode");n.$broadcast("uib:datepicker.focus")};n.move=function(n){var t=l.activeDate.getFullYear()+n*(l.step.years||0),i=l.activeDate.getMonth()+n*(l.step.months||0);l.activeDate.setFullYear(t,i,1);l.refreshView()};n.toggleMode=function(t){(t=t||1,(n.datepickerMode!==l.maxMode||t!==1)&&(n.datepickerMode!==l.minMode||t!==-1))&&(w(l.modes[l.modes.indexOf(n.datepickerMode)+t]),n.$emit("uib:datepicker.mode"))};n.keys={13:"enter",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down"};p=function(){l.element[0].focus()};n.$on("uib:datepicker.focus",p);n.keydown=function(t){var i=n.keys[t.which];if(i&&!t.shiftKey&&!t.altKey&&!n.disabled)if(t.preventDefault(),l.shortcutPropagation||t.stopPropagation(),i==="enter"||i==="space"){if(l.isDisabled(l.activeDate))return;n.select(l.activeDate)}else t.ctrlKey&&(i==="up"||i==="down")?n.toggleMode(i==="up"?1:-1):(l.handleKeyDown(i,t),l.refreshView())};n.$on("$destroy",function(){while(y.length)y.shift()()})}]).controller("UibDaypickerController",["$scope","$element","dateFilter",function(n,t,i){function r(n,t){return t===1&&n%4==0&&(n%100!=0||n%400==0)?29:u[t]}function f(n){var t=new Date(n),i;return t.setDate(t.getDate()+4-(t.getDay()||7)),i=t.getTime(),t.setMonth(0),t.setDate(1),Math.floor(Math.round((i-t)/864e5)/7)+1}var u=[31,28,31,30,31,30,31,31,30,31,30,31];this.step={months:1};this.element=t;this.init=function(t){angular.extend(t,this);n.showWeeks=t.showWeeks;t.refreshView()};this.getDates=function(n,t){for(var r=new Array(t),i=new Date(n),u=0,f;u<t;)f=new Date(i),r[u++]=f,i.setDate(i.getDate()+1);return r};this._refreshView=function(){var y=this.activeDate.getFullYear(),h=this.activeDate.getMonth(),o=new Date(this.activeDate),t,r,u,a,v,e;o.setFullYear(y,h,1);var s=this.startingDay-o.getDay(),c=s>0?7-s:-s,l=new Date(o);for(c>0&&l.setDate(-c+1),t=this.getDates(l,42),r=0;r<42;r++)t[r]=angular.extend(this.createDateObject(t[r],this.formatDay),{secondary:t[r].getMonth()!==h,uid:n.uniqueId+"-"+r});for(n.labels=new Array(7),u=0;u<7;u++)n.labels[u]={abbr:i(t[u].date,this.formatDayHeader),full:i(t[u].date,"EEEE")};if(n.title=i(this.activeDate,this.formatDayTitle),n.rows=this.split(t,7),n.showWeeks)for(n.weekNumbers=[],a=(11-this.startingDay)%7,v=n.rows.length,e=0;e<v;e++)n.weekNumbers.push(f(n.rows[e][a].date))};this.compare=function(n,t){var i=new Date(n.getFullYear(),n.getMonth(),n.getDate()),r=new Date(t.getFullYear(),t.getMonth(),t.getDate());return i.setFullYear(n.getFullYear()),r.setFullYear(t.getFullYear()),i-r};this.handleKeyDown=function(n){var t=this.activeDate.getDate(),i;n==="left"?t=t-1:n==="up"?t=t-7:n==="right"?t=t+1:n==="down"?t=t+7:n==="pageup"||n==="pagedown"?(i=this.activeDate.getMonth()+(n==="pageup"?-1:1),this.activeDate.setMonth(i,1),t=Math.min(r(this.activeDate.getFullYear(),this.activeDate.getMonth()),t)):n==="home"?t=1:n==="end"&&(t=r(this.activeDate.getFullYear(),this.activeDate.getMonth()));this.activeDate.setDate(t)}}]).controller("UibMonthpickerController",["$scope","$element","dateFilter",function(n,t,i){this.step={years:1};this.element=t;this.init=function(n){angular.extend(n,this);n.refreshView()};this._refreshView=function(){for(var u=new Array(12),f=this.activeDate.getFullYear(),r,t=0;t<12;t++)r=new Date(this.activeDate),r.setFullYear(f,t,1),u[t]=angular.extend(this.createDateObject(r,this.formatMonth),{uid:n.uniqueId+"-"+t});n.title=i(this.activeDate,this.formatMonthTitle);n.rows=this.split(u,3)};this.compare=function(n,t){var i=new Date(n.getFullYear(),n.getMonth()),r=new Date(t.getFullYear(),t.getMonth());return i.setFullYear(n.getFullYear()),r.setFullYear(t.getFullYear()),i-r};this.handleKeyDown=function(n){var t=this.activeDate.getMonth(),i;n==="left"?t=t-1:n==="up"?t=t-3:n==="right"?t=t+1:n==="down"?t=t+3:n==="pageup"||n==="pagedown"?(i=this.activeDate.getFullYear()+(n==="pageup"?-1:1),this.activeDate.setFullYear(i)):n==="home"?t=0:n==="end"&&(t=11);this.activeDate.setMonth(t)}}]).controller("UibYearpickerController",["$scope","$element","dateFilter",function(n,t){function u(n){return parseInt((n-1)/i,10)*i+1}var r,i;this.element=t;this.yearpickerInit=function(){r=this.yearColumns;i=this.yearRows*r;this.step={years:i}};this._refreshView=function(){for(var f=new Array(i),e,t=0,o=u(this.activeDate.getFullYear());t<i;t++)e=new Date(this.activeDate),e.setFullYear(o+t,0,1),f[t]=angular.extend(this.createDateObject(e,this.formatYear),{uid:n.uniqueId+"-"+t});n.title=[f[0].label,f[i-1].label].join(" - ");n.rows=this.split(f,r);n.columns=r};this.compare=function(n,t){return n.getFullYear()-t.getFullYear()};this.handleKeyDown=function(n){var t=this.activeDate.getFullYear();n==="left"?t=t-1:n==="up"?t=t-r:n==="right"?t=t+1:n==="down"?t=t+r:n==="pageup"||n==="pagedown"?t+=(n==="pageup"?-1:1)*i:n==="home"?t=u(this.activeDate.getFullYear()):n==="end"&&(t=u(this.activeDate.getFullYear())+i-1);this.activeDate.setFullYear(t)}}]).directive("uibDatepicker",function(){return{replace:!0,templateUrl:function(n,t){return t.templateUrl||"uib/template/datepicker/datepicker.html"},scope:{datepickerOptions:"=?"},require:["uibDatepicker","^ngModel"],controller:"UibDatepickerController",controllerAs:"datepicker",link:function(n,t,i,r){var u=r[0],f=r[1];u.init(f)}}}).directive("uibDaypicker",function(){return{replace:!0,templateUrl:function(n,t){return t.templateUrl||"uib/template/datepicker/day.html"},require:["^uibDatepicker","uibDaypicker"],controller:"UibDaypickerController",link:function(n,t,i,r){var u=r[0],f=r[1];f.init(u)}}}).directive("uibMonthpicker",function(){return{replace:!0,templateUrl:function(n,t){return t.templateUrl||"uib/template/datepicker/month.html"},require:["^uibDatepicker","uibMonthpicker"],controller:"UibMonthpickerController",link:function(n,t,i,r){var u=r[0],f=r[1];f.init(u)}}}).directive("uibYearpicker",function(){return{replace:!0,templateUrl:function(n,t){return t.templateUrl||"uib/template/datepicker/year.html"},require:["^uibDatepicker","uibYearpicker"],controller:"UibYearpickerController",link:function(n,t,i,r){var u=r[0];angular.extend(u,r[1]);u.yearpickerInit();u.refreshView()}}});angular.module("ui.bootstrap.position",[]).factory("$uibPosition",["$document","$window",function(n,t){var r,u,f={normal:/(auto|scroll)/,hidden:/(auto|scroll|hidden)/},i={auto:/\s?auto?\s?/i,primary:/^(top|bottom|left|right)$/,secondary:/^(top|bottom|left|right|center)$/,vertical:/^(top|bottom)$/},e=/(HTML|BODY)/;return{getRawNode:function(n){return n.nodeName?n:n[0]||n},parseStyle:function(n){return n=parseFloat(n),isFinite(n)?n:0},offsetParent:function(i){function u(n){return(t.getComputedStyle(n).position||"static")==="static"}i=this.getRawNode(i);for(var r=i.offsetParent||n[0].documentElement;r&&r!==n[0].documentElement&&u(r);)r=r.offsetParent;return r||n[0].documentElement},scrollbarWidth:function(i){var e,f;return i?(angular.isUndefined(u)&&(e=n.find("body"),e.addClass("uib-position-body-scrollbar-measure"),u=t.innerWidth-e[0].clientWidth,u=isFinite(u)?u:0,e.removeClass("uib-position-body-scrollbar-measure")),u):(angular.isUndefined(r)&&(f=angular.element('<div class="uib-position-scrollbar-measure"><\/div>'),n.find("body").append(f),r=f[0].offsetWidth-f[0].clientWidth,r=isFinite(r)?r:0,f.remove()),r)},scrollbarPadding:function(n){n=this.getRawNode(n);var u=t.getComputedStyle(n),f=this.parseStyle(u.paddingRight),o=this.parseStyle(u.paddingBottom),i=this.scrollParent(n,!1,!0),r=this.scrollbarWidth(i,e.test(i.tagName));return{scrollbarWidth:r,widthOverflow:i.scrollWidth>i.clientWidth,right:f+r,originalRight:f,heightOverflow:i.scrollHeight>i.clientHeight,bottom:o+r,originalBottom:o}},isScrollable:function(n,i){n=this.getRawNode(n);var u=i?f.hidden:f.normal,r=t.getComputedStyle(n);return u.test(r.overflow+r.overflowY+r.overflowX)},scrollParent:function(i,r,u){var c,e,s;i=this.getRawNode(i);var l=r?f.hidden:f.normal,h=n[0].documentElement,o=t.getComputedStyle(i);if(u&&l.test(o.overflow+o.overflowY+o.overflowX))return i;if(c=o.position==="absolute",e=i.parentElement||h,e===h||o.position==="fixed")return h;while(e.parentElement&&e!==h){if(s=t.getComputedStyle(e),c&&s.position!=="static"&&(c=!1),!c&&l.test(s.overflow+s.overflowY+s.overflowX))break;e=e.parentElement}return e},position:function(i,r){var u,o,f,e;return i=this.getRawNode(i),u=this.offset(i),r&&(o=t.getComputedStyle(i),u.top-=this.parseStyle(o.marginTop),u.left-=this.parseStyle(o.marginLeft)),f=this.offsetParent(i),e={top:0,left:0},f!==n[0].documentElement&&(e=this.offset(f),e.top+=f.clientTop-f.scrollTop,e.left+=f.clientLeft-f.scrollLeft),{width:Math.round(angular.isNumber(u.width)?u.width:i.offsetWidth),height:Math.round(angular.isNumber(u.height)?u.height:i.offsetHeight),top:Math.round(u.top-e.top),left:Math.round(u.left-e.left)}},offset:function(i){i=this.getRawNode(i);var r=i.getBoundingClientRect();return{width:Math.round(angular.isNumber(r.width)?r.width:i.offsetWidth),height:Math.round(angular.isNumber(r.height)?r.height:i.offsetHeight),top:Math.round(r.top+(t.pageYOffset||n[0].documentElement.scrollTop)),left:Math.round(r.left+(t.pageXOffset||n[0].documentElement.scrollLeft))}},viewportOffset:function(i,r,u){var o;i=this.getRawNode(i);u=u!==!1?!0:!1;var s=i.getBoundingClientRect(),f={top:0,left:0,bottom:0,right:0},e=r?n[0].documentElement:this.scrollParent(i),h=e.getBoundingClientRect();return f.top=h.top+e.clientTop,f.left=h.left+e.clientLeft,e===n[0].documentElement&&(f.top+=t.pageYOffset,f.left+=t.pageXOffset),f.bottom=f.top+e.clientHeight,f.right=f.left+e.clientWidth,u&&(o=t.getComputedStyle(e),f.top+=this.parseStyle(o.paddingTop),f.bottom-=this.parseStyle(o.paddingBottom),f.left+=this.parseStyle(o.paddingLeft),f.right-=this.parseStyle(o.paddingRight)),{top:Math.round(s.top-f.top),bottom:Math.round(f.bottom-s.bottom),left:Math.round(s.left-f.left),right:Math.round(f.right-s.right)}},parsePlacement:function(n){var t=i.auto.test(n);return t&&(n=n.replace(i.auto,"")),n=n.split("-"),n[0]=n[0]||"top",i.primary.test(n[0])||(n[0]="top"),n[1]=n[1]||"center",i.secondary.test(n[1])||(n[1]="center"),n[2]=t?!0:!1,n},positionElements:function(n,r,u,f){var c,l,e,h,v,y;if(n=this.getRawNode(n),r=this.getRawNode(r),c=angular.isDefined(r.offsetWidth)?r.offsetWidth:r.prop("offsetWidth"),l=angular.isDefined(r.offsetHeight)?r.offsetHeight:r.prop("offsetHeight"),u=this.parsePlacement(u),e=f?this.offset(n):this.position(n),h={top:0,left:0,placement:""},u[2]){var o=this.viewportOffset(n,f),a=t.getComputedStyle(r),s={width:c+Math.round(Math.abs(this.parseStyle(a.marginLeft)+this.parseStyle(a.marginRight))),height:l+Math.round(Math.abs(this.parseStyle(a.marginTop)+this.parseStyle(a.marginBottom)))};u[0]=u[0]==="top"&&s.height>o.top&&s.height<=o.bottom?"bottom":u[0]==="bottom"&&s.height>o.bottom&&s.height<=o.top?"top":u[0]==="left"&&s.width>o.left&&s.width<=o.right?"right":u[0]==="right"&&s.width>o.right&&s.width<=o.left?"left":u[0];u[1]=u[1]==="top"&&s.height-e.height>o.bottom&&s.height-e.height<=o.top?"bottom":u[1]==="bottom"&&s.height-e.height>o.top&&s.height-e.height<=o.bottom?"top":u[1]==="left"&&s.width-e.width>o.right&&s.width-e.width<=o.left?"right":u[1]==="right"&&s.width-e.width>o.left&&s.width-e.width<=o.right?"left":u[1];u[1]==="center"&&(i.vertical.test(u[0])?(v=e.width/2-c/2,o.left+v<0&&s.width-e.width<=o.right?u[1]="left":o.right+v<0&&s.width-e.width<=o.left&&(u[1]="right")):(y=e.height/2-s.height/2,o.top+y<0&&s.height-e.height<=o.bottom?u[1]="top":o.bottom+y<0&&s.height-e.height<=o.top&&(u[1]="bottom")))}switch(u[0]){case"top":h.top=e.top-l;break;case"bottom":h.top=e.top+e.height;break;case"left":h.left=e.left-c;break;case"right":h.left=e.left+e.width}switch(u[1]){case"top":h.top=e.top;break;case"bottom":h.top=e.top+e.height-l;break;case"left":h.left=e.left;break;case"right":h.left=e.left+e.width-c;break;case"center":i.vertical.test(u[0])?h.left=e.left+e.width/2-c/2:h.top=e.top+e.height/2-l/2}return h.top=Math.round(h.top),h.left=Math.round(h.left),h.placement=u[1]==="center"?u[0]:u[0]+"-"+u[1],h},positionArrow:function(n,r){var o,f,e,u,c;if((n=this.getRawNode(n),o=n.querySelector(".tooltip-inner, .popover-inner"),o)&&(f=angular.element(o).hasClass("tooltip-inner"),e=f?n.querySelector(".tooltip-arrow"):n.querySelector(".arrow"),e)){if(u={top:"",bottom:"",left:"",right:""},r=this.parsePlacement(r),r[1]==="center"){angular.element(e).css(u);return}var l="border-"+r[0]+"-width",s=t.getComputedStyle(e)[l],h="border-";h+=i.vertical.test(r[0])?r[0]+"-"+r[1]:r[1]+"-"+r[0];h+="-radius";c=t.getComputedStyle(f?o:n)[h];switch(r[0]){case"top":u.bottom=f?"0":"-"+s;break;case"bottom":u.top=f?"0":"-"+s;break;case"left":u.right=f?"0":"-"+s;break;case"right":u.left=f?"0":"-"+s}u[r[1]]=c;angular.element(e).css(u)}}}}]);angular.module("ui.bootstrap.datepickerPopup",["ui.bootstrap.datepicker","ui.bootstrap.position"]).value("$datepickerPopupLiteralWarning",!0).constant("uibDatepickerPopupConfig",{altInputFormats:[],appendToBody:!1,clearText:"Clear",closeOnDateSelection:!0,closeText:"Done",currentText:"Today",datepickerPopup:"yyyy-MM-dd",datepickerPopupTemplateUrl:"uib/template/datepickerPopup/popup.html",datepickerTemplateUrl:"uib/template/datepicker/datepicker.html",html5Types:{date:"yyyy-MM-dd","datetime-local":"yyyy-MM-ddTHH:mm:ss.sss",month:"yyyy-MM"},onOpenFocus:!0,showButtonBar:!0,placement:"auto bottom-left"}).controller("UibDatepickerPopupController",["$scope","$element","$attrs","$compile","$log","$parse","$window","$document","$rootScope","$uibPosition","dateFilter","uibDateParser","uibDatepickerPopupConfig","$timeout","uibDatepickerConfig","$datepickerPopupLiteralWarning",function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p){function st(t){var i=l.parse(t,b,n.date),r;if(isNaN(i))for(r=0;r<et.length;r++)if(i=l.parse(t,et[r],n.date),!isNaN(i))return i;return i}function pt(n){if(angular.isNumber(n)&&(n=new Date(n)),!n)return null;if(angular.isDate(n)&&!isNaN(n))return n;if(angular.isString(n)){var t=st(n);if(!isNaN(t))return l.toTimezone(t,g)}return w.$options&&w.$options.allowInvalid?n:undefined}function wt(n,t){var r=n||t;return!i.ngRequired&&!r?!0:(angular.isNumber(r)&&(r=new Date(r)),!r)?!0:angular.isDate(r)&&!isNaN(r)?!0:angular.isString(r)?!isNaN(st(t)):!1}function ht(i){if(n.isOpen||!n.disabled){var r=tt[0],u=t[0].contains(i.target),f=r.contains!==undefined&&r.contains(i.target);!n.isOpen||u||f||n.$apply(function(){n.isOpen=!1})}}function yt(i){i.which===27&&n.isOpen?(i.preventDefault(),i.stopPropagation(),n.$apply(function(){n.isOpen=!1}),t[0].focus()):i.which!==40||n.isOpen||(i.preventDefault(),i.stopPropagation(),n.$apply(function(){n.isOpen=!0}))}function d(){if(n.isOpen){var r=angular.element(tt[0].querySelector(".uib-datepicker-popup")),f=i.popupPlacement?i.popupPlacement:a.placement,u=h.positionElements(t,r,f,rt);r.css({top:u.top+"px",left:u.left+"px"});r.hasClass("uib-position-measure")&&r.removeClass("uib-position-measure")}}var it=!1,b,ct,rt,lt,at,vt,nt,ft,k,w,ut,tt,et,ot=[],g;this.init=function(u){if(w=u,ut=u.$options,ct=angular.isDefined(i.closeOnDateSelection)?n.$parent.$eval(i.closeOnDateSelection):a.closeOnDateSelection,rt=angular.isDefined(i.datepickerAppendToBody)?n.$parent.$eval(i.datepickerAppendToBody):a.appendToBody,lt=angular.isDefined(i.onOpenFocus)?n.$parent.$eval(i.onOpenFocus):a.onOpenFocus,at=angular.isDefined(i.datepickerPopupTemplateUrl)?i.datepickerPopupTemplateUrl:a.datepickerPopupTemplateUrl,vt=angular.isDefined(i.datepickerTemplateUrl)?i.datepickerTemplateUrl:a.datepickerTemplateUrl,et=angular.isDefined(i.altInputFormats)?n.$parent.$eval(i.altInputFormats):a.altInputFormats,n.showButtonBar=angular.isDefined(i.showButtonBar)?n.$parent.$eval(i.showButtonBar):a.showButtonBar,a.html5Types[i.type]?(b=a.html5Types[i.type],it=!0):(b=i.uibDatepickerPopup||a.datepickerPopup,i.$observe("uibDatepickerPopup",function(n){var t=n||a.datepickerPopup;if(t!==b&&(b=t,w.$modelValue=null,!b))throw new Error("uibDatepickerPopup must have a date format specified.");})),!b)throw new Error("uibDatepickerPopup must have a date format specified.");if(it&&i.uibDatepickerPopup)throw new Error("HTML5 date input types do not support custom formats.");nt=angular.element("<div uib-datepicker-popup-wrap><div uib-datepicker><\/div><\/div>");ut?(g=ut.timezone,n.ngModelOptions=angular.copy(ut),n.ngModelOptions.timezone=null,n.ngModelOptions.updateOnDefault===!0&&(n.ngModelOptions.updateOn=n.ngModelOptions.updateOn?n.ngModelOptions.updateOn+" default":"default"),nt.attr("ng-model-options","ngModelOptions")):g=null;nt.attr({"ng-model":"date","ng-change":"dateSelection(date)","template-url":at});ft=angular.element(nt.children()[0]);ft.attr("template-url",vt);n.datepickerOptions||(n.datepickerOptions={});it&&i.type==="month"&&(n.datepickerOptions.datepickerMode="month",n.datepickerOptions.minMode="month");ft.attr("datepicker-options","datepickerOptions");it?w.$formatters.push(function(t){return n.date=l.fromTimezone(t,g),t}):(w.$$parserName="date",w.$validators.date=wt,w.$parsers.unshift(pt),w.$formatters.push(function(t){return w.$isEmpty(t)?(n.date=t,t):(angular.isNumber(t)&&(t=new Date(t)),n.date=l.fromTimezone(t,g),l.filter(n.date,b))}));w.$viewChangeListeners.push(function(){n.date=st(w.$viewValue)});t.on("keydown",yt);tt=r(nt)(n);nt.remove();rt?o.find("body").append(tt):t.after(tt);n.$on("$destroy",function(){for(n.isOpen===!0&&(s.$$phase||n.$apply(function(){n.isOpen=!1})),tt.remove(),t.off("keydown",yt),o.off("click",ht),k&&k.off("scroll",d),angular.element(e).off("resize",d);ot.length;)ot.shift()()})};n.getText=function(t){return n[t+"Text"]||a[t+"Text"]};n.isDisabled=function(t){t==="today"&&(t=l.fromTimezone(new Date,g));var i={};return angular.forEach(["minDate","maxDate"],function(t){n.datepickerOptions[t]?angular.isDate(n.datepickerOptions[t])?i[t]=l.fromTimezone(new Date(n.datepickerOptions[t]),g):(p&&u.warn("Literal date support has been deprecated, please switch to date object usage"),i[t]=new Date(c(n.datepickerOptions[t],"medium"))):i[t]=null}),n.datepickerOptions&&i.minDate&&n.compare(t,i.minDate)<0||i.maxDate&&n.compare(t,i.maxDate)>0};n.compare=function(n,t){return new Date(n.getFullYear(),n.getMonth(),n.getDate())-new Date(t.getFullYear(),t.getMonth(),t.getDate())};n.dateSelection=function(i){angular.isDefined(i)&&(n.date=i);var r=n.date?l.filter(n.date,b):null;t.val(r);w.$setViewValue(r);ct&&(n.isOpen=!1,t[0].focus())};n.keydown=function(i){i.which===27&&(i.stopPropagation(),n.isOpen=!1,t[0].focus())};n.select=function(t,i){if(i.stopPropagation(),t==="today"){var r=new Date;angular.isDate(n.date)?(t=new Date(n.date),t.setFullYear(r.getFullYear(),r.getMonth(),r.getDate())):t=new Date(r.setHours(0,0,0,0))}n.dateSelection(t)};n.close=function(i){i.stopPropagation();n.isOpen=!1;t[0].focus()};n.disabled=angular.isDefined(i.disabled)||!1;i.ngDisabled&&ot.push(n.$parent.$watch(f(i.ngDisabled),function(t){n.disabled=t}));n.$watch("isOpen",function(r){r?n.disabled?n.isOpen=!1:v(function(){d();lt&&n.$broadcast("uib:datepicker.focus");o.on("click",ht);var r=i.popupPlacement?i.popupPlacement:a.placement;if(rt||h.parsePlacement(r)[2]){if(k=k||angular.element(h.scrollParent(t)),k)k.on("scroll",d)}else k=null;angular.element(e).on("resize",d)},0,!1):(o.off("click",ht),k&&k.off("scroll",d),angular.element(e).off("resize",d))});n.$on("uib:datepicker.mode",function(){v(d,0,!1)})}]).directive("uibDatepickerPopup",function(){return{require:["ngModel","uibDatepickerPopup"],controller:"UibDatepickerPopupController",scope:{datepickerOptions:"=?",isOpen:"=?",currentText:"@",clearText:"@",closeText:"@"},link:function(n,t,i,r){var u=r[0],f=r[1];f.init(u)}}}).directive("uibDatepickerPopupWrap",function(){return{replace:!0,transclude:!0,templateUrl:function(n,t){return t.templateUrl||"uib/template/datepickerPopup/popup.html"}}});angular.module("ui.bootstrap.debounce",[]).factory("$$debounce",["$timeout",function(n){return function(t,i){var r;return function(){var u=this,f=Array.prototype.slice.call(arguments);r&&n.cancel(r);r=n(function(){t.apply(u,f)},i)}}}]);angular.module("ui.bootstrap.dropdown",["ui.bootstrap.position"]).constant("uibDropdownConfig",{appendToOpenClass:"uib-dropdown-open",openClass:"open"}).service("uibDropdownService",["$document","$rootScope",function(n,t){var i=null,r,u;this.open=function(t,f){if(!i){n.on("click",r);f.on("keydown",u)}i&&i!==t&&(i.isOpen=!1);i=t};this.close=function(t,f){i===t&&(i=null,n.off("click",r),f.off("keydown",u))};r=function(n){var r,u;i&&(n&&i.getAutoClose()==="disabled"||n&&n.which===3||(r=i.getToggleElement(),n&&r&&r[0].contains(n.target))||(u=i.getDropdownElement(),n&&i.getAutoClose()==="outsideClick"&&u&&u[0].contains(n.target))||(i.isOpen=!1,t.$$phase||i.$apply()))};u=function(n){n.which===27?(n.stopPropagation(),i.focusToggleElement(),r()):i.isKeynavEnabled()&&[38,40].indexOf(n.which)!==-1&&i.isOpen&&(n.preventDefault(),n.stopPropagation(),i.focusDropdownEntry(n.which))}}]).controller("UibDropdownController",["$scope","$element","$attrs","$parse","uibDropdownConfig","uibDropdownService","$animate","$uibPosition","$document","$compile","$templateRequest",function(n,t,i,r,u,f,e,o,s,h,c){var l=this,a=n.$new(),p,k=u.appendToOpenClass,d=u.openClass,w,y=angular.noop,nt=i.onToggle?r(i.onToggle):angular.noop,b=!1,v=null,g=!1,tt=s.find("body");t.addClass("dropdown");this.init=function(){if(i.isOpen&&(w=r(i.isOpen),y=w.assign,n.$watch(w,function(n){a.isOpen=!!n})),angular.isDefined(i.dropdownAppendTo)){var u=r(i.dropdownAppendTo)(a);u&&(v=angular.element(u))}if(b=angular.isDefined(i.dropdownAppendToBody),g=angular.isDefined(i.keyboardNav),b&&!v&&(v=tt),v&&l.dropdownMenu){v.append(l.dropdownMenu);t.on("$destroy",function(){l.dropdownMenu.remove()})}};this.toggle=function(n){return a.isOpen=arguments.length?!!n:!a.isOpen,angular.isFunction(y)&&y(a,a.isOpen),a.isOpen};this.isOpen=function(){return a.isOpen};a.getToggleElement=function(){return l.toggleElement};a.getAutoClose=function(){return i.autoClose||"always"};a.getElement=function(){return t};a.isKeynavEnabled=function(){return g};a.focusDropdownEntry=function(n){var i=l.dropdownMenu?angular.element(l.dropdownMenu).find("a"):t.find("ul").eq(0).find("a");switch(n){case 40:l.selectedOption=angular.isNumber(l.selectedOption)?l.selectedOption===i.length-1?l.selectedOption:l.selectedOption+1:0;break;case 38:l.selectedOption=angular.isNumber(l.selectedOption)?l.selectedOption===0?0:l.selectedOption-1:i.length-1}i[l.selectedOption].focus()};a.getDropdownElement=function(){return l.dropdownMenu};a.focusToggleElement=function(){l.toggleElement&&l.toggleElement[0].focus()};a.$watch("isOpen",function(i,r){var s,u,g,rt,w,tt,ut,it;v&&l.dropdownMenu&&(s=o.positionElements(t,l.dropdownMenu,"bottom-left",!0),u={top:s.top+"px",display:i?"block":"none"},g=l.dropdownMenu.hasClass("dropdown-menu-right"),g?(u.left="auto",rt=o.scrollbarWidth(!0),u.right=window.innerWidth-rt-(s.left+t.prop("offsetWidth"))+"px"):(u.left=s.left+"px",u.right="auto"),b||(w=o.offset(v),u.top=s.top-w.top+"px",g?u.right=window.innerWidth-(s.left-w.left+t.prop("offsetWidth"))+"px":u.left=s.left-w.left+"px"),l.dropdownMenu.css(u));tt=v?v:t;ut=tt.hasClass(v?k:d);ut===!i&&e[i?"addClass":"removeClass"](tt,v?k:d).then(function(){angular.isDefined(i)&&i!==r&&nt(n,{open:!!i})});i?(l.dropdownMenuTemplateUrl&&c(l.dropdownMenuTemplateUrl).then(function(n){p=a.$new();h(n.trim())(p,function(n){var t=n;l.dropdownMenu.replaceWith(t);l.dropdownMenu=t})}),a.focusToggleElement(),f.open(a,t)):(l.dropdownMenuTemplateUrl&&(p&&p.$destroy(),it=angular.element('<ul class="dropdown-menu"><\/ul>'),l.dropdownMenu.replaceWith(it),l.dropdownMenu=it),f.close(a,t),l.selectedOption=null);angular.isFunction(y)&&y(n,i)})}]).directive("uibDropdown",function(){return{controller:"UibDropdownController",link:function(n,t,i,r){r.init()}}}).directive("uibDropdownMenu",function(){return{restrict:"A",require:"?^uibDropdown",link:function(n,t,i,r){if(r&&!angular.isDefined(i.dropdownNested)){t.addClass("dropdown-menu");var u=i.templateUrl;u&&(r.dropdownMenuTemplateUrl=u);r.dropdownMenu||(r.dropdownMenu=t)}}}}).directive("uibDropdownToggle",function(){return{require:"?^uibDropdown",link:function(n,t,i,r){if(r){t.addClass("dropdown-toggle");r.toggleElement=t;var u=function(u){u.preventDefault();t.hasClass("disabled")||i.disabled||n.$apply(function(){r.toggle()})};t.bind("click",u);t.attr({"aria-haspopup":!0,"aria-expanded":!1});n.$watch(r.isOpen,function(n){t.attr("aria-expanded",!!n)});n.$on("$destroy",function(){t.unbind("click",u)})}}}});angular.module("ui.bootstrap.stackedMap",[]).factory("$$stackedMap",function(){return{createNew:function(){var n=[];return{add:function(t,i){n.push({key:t,value:i})},get:function(t){for(var i=0;i<n.length;i++)if(t===n[i].key)return n[i]},keys:function(){for(var i=[],t=0;t<n.length;t++)i.push(n[t].key);return i},top:function(){return n[n.length-1]},remove:function(t){for(var r=-1,i=0;i<n.length;i++)if(t===n[i].key){r=i;break}return n.splice(r,1)[0]},removeTop:function(){return n.splice(n.length-1,1)[0]},length:function(){return n.length}}}}});angular.module("ui.bootstrap.modal",["ui.bootstrap.stackedMap","ui.bootstrap.position"]).factory("$$multiMap",function(){return{createNew:function(){var n={};return{entries:function(){return Object.keys(n).map(function(t){return{key:t,value:n[t]}})},get:function(t){return n[t]},hasKey:function(t){return!!n[t]},keys:function(){return Object.keys(n)},put:function(t,i){n[t]||(n[t]=[]);n[t].push(i)},remove:function(t,i){var r=n[t],u;r&&(u=r.indexOf(i),u!==-1&&r.splice(u,1),r.length||delete n[t])}}}}}).provider("$uibResolve",function(){var n=this;this.resolver=null;this.setResolver=function(n){this.resolver=n};this.$get=["$injector","$q",function(t,i){var r=n.resolver?t.get(n.resolver):null;return{resolve:function(n,u,f,e){if(r)return r.resolve(n,u,f,e);var o=[];return angular.forEach(n,function(n){angular.isFunction(n)||angular.isArray(n)?o.push(i.resolve(t.invoke(n))):angular.isString(n)?o.push(i.resolve(t.get(n))):o.push(i.resolve(n))}),i.all(o).then(function(t){var i={},r=0;return angular.forEach(n,function(n,u){i[u]=t[r++]}),i})}}}]}).directive("uibModalBackdrop",["$animate","$injector","$uibModalStack",function(n,t,i){function r(t,r,u){u.modalInClass&&(n.addClass(r,u.modalInClass),t.$on(i.NOW_CLOSING_EVENT,function(i,f){var e=f();t.modalOptions.animation?n.removeClass(r,u.modalInClass).then(e):e()}))}return{replace:!0,templateUrl:"uib/template/modal/backdrop.html",compile:function(n,t){return n.addClass(t.backdropClass),r}}}]).directive("uibModalWindow",["$uibModalStack","$q","$animateCss","$document",function(n,t,i,r){return{scope:{index:"@"},replace:!0,transclude:!0,templateUrl:function(n,t){return t.templateUrl||"uib/template/modal/window.html"},link:function(u,f,e){f.addClass(e.windowClass||"");f.addClass(e.windowTopClass||"");u.size=e.size;u.close=function(t){var i=n.getTop();i&&i.value.backdrop&&i.value.backdrop!=="static"&&t.target===t.currentTarget&&(t.preventDefault(),t.stopPropagation(),n.dismiss(i.key,"backdrop click"))};f.on("click",u.close);u.$isRendered=!0;var o=t.defer();e.$observe("modalRender",function(n){n==="true"&&o.resolve()});o.promise.then(function(){var o=null;e.modalInClass&&(o=i(f,{addClass:e.modalInClass}).start(),u.$on(n.NOW_CLOSING_EVENT,function(n,t){var r=t();i(f,{removeClass:e.modalInClass}).start().then(r)}));t.when(o).then(function(){var i=n.getTop(),t;i&&n.modalRendered(i.key);r[0].activeElement&&f[0].contains(r[0].activeElement)||(t=f[0].querySelector("[autofocus]"),t?t.focus():f[0].focus())})})}}}]).directive("uibModalAnimationClass",function(){return{compile:function(n,t){t.modalAnimation&&n.addClass(t.uibModalAnimationClass)}}}).directive("uibModalTransclude",function(){return{link:function(n,t,i,r,u){u(n.$parent,function(n){t.empty();t.append(n)})}}}).factory("$uibModalStack",["$animate","$animateCss","$document","$compile","$rootScope","$q","$$multiMap","$$stackedMap","$uibPosition",function(n,t,i,r,u,f,e,o,s){function ut(n){return!!(n.offsetWidth||n.offsetHeight||n.getClientRects().length)}function b(){for(var n=-1,i=c.keys(),t=0;t<i.length;t++)c.get(i[t]).value.backdrop&&(n=t);return n>-1&&n<p&&(n=p),n}function d(n,t){var i=c.get(n).value,r=i.appendTo;c.remove(n);y=c.top();y&&(p=parseInt(y.value.modalDomEl.attr("index"),10));nt(i.modalDomEl,i.modalScope,function(){var t=i.openedClass||k,u;w.remove(t,n);u=w.hasKey(t);r.toggleClass(t,u);!u&&l&&l.heightOverflow&&l.scrollbarWidth&&(l.originalRight?r.css({paddingRight:l.originalRight+"px"}):r.css({paddingRight:""}),l=null);g(!0)},i.closedDeferred);ft();t&&t.focus?t.focus():r.focus&&r.focus()}function g(n){var t;c.length()>0&&(t=c.top().value,t.modalDomEl.toggleClass(t.windowTopClass||"",n))}function ft(){if(a&&b()===-1){var n=v;nt(a,v,function(){n=null});a=undefined;v=undefined}}function nt(t,i,r,u){function o(){o.done||(o.done=!0,n.leave(t).then(function(){t.remove();u&&u.resolve()}),i.$destroy(),r&&r())}var e,s=null,c=function(){return e||(e=f.defer(),s=e.promise),function(){e.resolve()}};return i.$broadcast(h.NOW_CLOSING_EVENT,c),f.when(s).then(o)}function tt(n){var t,i,r;if(n.isDefaultPrevented())return n;if(t=c.top(),t)switch(n.which){case 27:t.value.keyboard&&(n.preventDefault(),u.$apply(function(){h.dismiss(t.key,"escape key press")}));break;case 9:i=h.loadFocusElementList(t);r=!1;n.shiftKey?(h.isFocusInFirstItem(n,i)||h.isModalFocused(n,t))&&(r=h.focusLastFocusableElement(i)):h.isFocusInLastItem(n,i)&&(r=h.focusFirstFocusableElement(i));r&&(n.preventDefault(),n.stopPropagation())}}function it(n,t,i){return!n.value.modalScope.$broadcast("modal.closing",t,i).defaultPrevented}var k="modal-open",a,v,c=o.createNew(),w=e.createNew(),h={NOW_CLOSING_EVENT:"modal.stack.now-closing"},p=0,y=null,rt="a[href], area[href], input:not([disabled]), button:not([disabled]),select:not([disabled]), textarea:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable=true]",l;u.$watch(b,function(n){v&&(v.index=n)});i.on("keydown",tt);return u.$on("$destroy",function(){i.off("keydown",tt)}),h.open=function(t,f){var nt=i[0].activeElement,d=f.openedClass||k,e,h,o;if(g(!1),y=c.top(),c.add(t,{deferred:f.deferred,renderDeferred:f.renderDeferred,closedDeferred:f.closedDeferred,modalScope:f.scope,backdrop:f.backdrop,keyboard:f.keyboard,openedClass:f.openedClass,windowTopClass:f.windowTopClass,animation:f.animation,appendTo:f.appendTo}),w.put(d,t),e=f.appendTo,h=b(),!e.length)throw new Error("appendTo element not found. Make sure that the element passed is in DOM.");h>=0&&!a&&(v=u.$new(!0),v.modalOptions=f,v.index=h,a=angular.element('<div uib-modal-backdrop="modal-backdrop"><\/div>'),a.attr("backdrop-class",f.backdropClass),f.animation&&a.attr("modal-animation","true"),r(a)(v),n.enter(a,e),l=s.scrollbarPadding(e),l.heightOverflow&&l.scrollbarWidth&&e.css({paddingRight:l.right+"px"}));p=y?parseInt(y.value.modalDomEl.attr("index"),10)+1:0;o=angular.element('<div uib-modal-window="modal-window"><\/div>');o.attr({"template-url":f.windowTemplateUrl,"window-class":f.windowClass,"window-top-class":f.windowTopClass,size:f.size,index:p,animate:"animate"}).html(f.content);f.animation&&o.attr("modal-animation","true");e.addClass(d);n.enter(r(o)(f.scope),e);c.top().value.modalDomEl=o;c.top().value.modalOpener=nt},h.close=function(n,t){var i=c.get(n);return i&&it(i,t,!0)?(i.value.modalScope.$$uibDestructionScheduled=!0,i.value.deferred.resolve(t),d(n,i.value.modalOpener),!0):!i},h.dismiss=function(n,t){var i=c.get(n);return i&&it(i,t,!1)?(i.value.modalScope.$$uibDestructionScheduled=!0,i.value.deferred.reject(t),d(n,i.value.modalOpener),!0):!i},h.dismissAll=function(n){for(var t=this.getTop();t&&this.dismiss(t.key,n);)t=this.getTop()},h.getTop=function(){return c.top()},h.modalRendered=function(n){var t=c.get(n);t&&t.value.renderDeferred.resolve()},h.focusFirstFocusableElement=function(n){return n.length>0?(n[0].focus(),!0):!1},h.focusLastFocusableElement=function(n){return n.length>0?(n[n.length-1].focus(),!0):!1},h.isModalFocused=function(n,t){if(n&&t){var i=t.value.modalDomEl;if(i&&i.length)return(n.target||n.srcElement)===i[0]}return!1},h.isFocusInFirstItem=function(n,t){return t.length>0?(n.target||n.srcElement)===t[0]:!1},h.isFocusInLastItem=function(n,t){return t.length>0?(n.target||n.srcElement)===t[t.length-1]:!1},h.loadFocusElementList=function(n){var t,i;if(n&&(t=n.value.modalDomEl,t&&t.length))return i=t[0].querySelectorAll(rt),i?Array.prototype.filter.call(i,function(n){return ut(n)}):i},h}]).provider("$uibModal",function(){var n={options:{animation:!0,backdrop:!0,keyboard:!0},$get:["$rootScope","$q","$document","$templateRequest","$controller","$uibResolve","$uibModalStack",function(t,i,r,u,f,e,o){function c(n){return n.template?i.when(n.template):u(angular.isFunction(n.templateUrl)?n.templateUrl():n.templateUrl)}var h={},s=null;return h.getPromiseChain=function(){return s},h.open=function(u){function w(){return p}var l=i.defer(),a=i.defer(),v=i.defer(),y=i.defer(),h={result:l.promise,opened:a.promise,closed:v.promise,rendered:y.promise,close:function(n){return o.close(h,n)},dismiss:function(n){return o.dismiss(h,n)}},p,b;if(u=angular.extend({},n.options,u),u.resolve=u.resolve||{},u.appendTo=u.appendTo||r.find("body").eq(0),!u.template&&!u.templateUrl)throw new Error("One of template or templateUrl options is required.");return p=i.all([c(u),e.resolve(u.resolve,{},null,null)]),b=s=i.all([s]).then(w,w).then(function(n){var c=u.scope||t,i=c.$new(),e,s,r;i.$close=h.close;i.$dismiss=h.dismiss;i.$on("$destroy",function(){i.$$uibDestructionScheduled||i.$dismiss("$uibUnscheduledDestruction")});r={};u.controller&&(r.$scope=i,r.$scope.$resolve={},r.$uibModalInstance=h,angular.forEach(n[1],function(n,t){r[t]=n;r.$scope.$resolve[t]=n}),s=f(u.controller,r,!0,u.controllerAs),u.controllerAs&&u.bindToController&&(e=s.instance,e.$close=i.$close,e.$dismiss=i.$dismiss,angular.extend(e,{$resolve:r.$scope.$resolve},c)),e=s(),angular.isFunction(e.$onInit)&&e.$onInit());o.open(h,{scope:i,deferred:l,renderDeferred:y,closedDeferred:v,content:n[0],animation:u.animation,backdrop:u.backdrop,keyboard:u.keyboard,backdropClass:u.backdropClass,windowTopClass:u.windowTopClass,windowClass:u.windowClass,windowTemplateUrl:u.windowTemplateUrl,size:u.size,openedClass:u.openedClass,appendTo:u.appendTo});a.resolve(!0)},function(n){a.reject(n);l.reject(n)})["finally"](function(){s===b&&(s=null)}),h},h}]};return n});angular.module("ui.bootstrap.paging",[]).factory("uibPaging",["$parse",function(n){return{create:function(t,i,r){t.setNumPages=r.numPages?n(r.numPages).assign:angular.noop;t.ngModelCtrl={$setViewValue:angular.noop};t._watchers=[];t.init=function(n,u){t.ngModelCtrl=n;t.config=u;n.$render=function(){t.render()};r.itemsPerPage?t._watchers.push(i.$parent.$watch(r.itemsPerPage,function(n){t.itemsPerPage=parseInt(n,10);i.totalPages=t.calculateTotalPages();t.updatePage()})):t.itemsPerPage=u.itemsPerPage;i.$watch("totalItems",function(n,r){(angular.isDefined(n)||n!==r)&&(i.totalPages=t.calculateTotalPages(),t.updatePage())})};t.calculateTotalPages=function(){var n=t.itemsPerPage<1?1:Math.ceil(i.totalItems/t.itemsPerPage);return Math.max(n||0,1)};t.render=function(){i.page=parseInt(t.ngModelCtrl.$viewValue,10)||1};i.selectPage=function(n,r){r&&r.preventDefault();var u=!i.ngDisabled||!r;u&&i.page!==n&&n>0&&n<=i.totalPages&&(r&&r.target&&r.target.blur(),t.ngModelCtrl.$setViewValue(n),t.ngModelCtrl.$render())};i.getText=function(n){return i[n+"Text"]||t.config[n+"Text"]};i.noPrevious=function(){return i.page===1};i.noNext=function(){return i.page===i.totalPages};t.updatePage=function(){t.setNumPages(i.$parent,i.totalPages);i.page>i.totalPages?i.selectPage(i.totalPages):t.ngModelCtrl.$render()};i.$on("$destroy",function(){while(t._watchers.length)t._watchers.shift()()})}}}]);angular.module("ui.bootstrap.pager",["ui.bootstrap.paging"]).controller("UibPagerController",["$scope","$attrs","uibPaging","uibPagerConfig",function(n,t,i,r){n.align=angular.isDefined(t.align)?n.$parent.$eval(t.align):r.align;i.create(this,n,t)}]).constant("uibPagerConfig",{itemsPerPage:10,previousText:"� Previous",nextText:"Next �",align:!0}).directive("uibPager",["uibPagerConfig",function(n){return{scope:{totalItems:"=",previousText:"@",nextText:"@",ngDisabled:"="},require:["uibPager","?ngModel"],controller:"UibPagerController",controllerAs:"pager",templateUrl:function(n,t){return t.templateUrl||"uib/template/pager/pager.html"},replace:!0,link:function(t,i,r,u){var e=u[0],f=u[1];f&&e.init(f,n)}}}]);angular.module("ui.bootstrap.pagination",["ui.bootstrap.paging"]).controller("UibPaginationController",["$scope","$attrs","$parse","uibPaging","uibPaginationConfig",function(n,t,i,r,u){function e(n,t,i){return{number:n,text:t,active:i}}function v(n,t){var u=[],i=1,r=t,c=angular.isDefined(f)&&f<t,s,v,y,p,w,b,k,d;for(c&&(h?(i=Math.max(n-Math.floor(f/2),1),r=i+f-1,r>t&&(r=t,i=r-f+1)):(i=(Math.ceil(n/f)-1)*f+1,r=Math.min(i+f-1,t))),s=i;s<=r;s++)v=e(s,a(s),s===n),u.push(v);return c&&f>0&&(!h||l||o)&&(i>1&&((!o||i>3)&&(y=e(i-1,"...",!1),u.unshift(y)),o&&(i===3&&(p=e(2,"2",!1),u.unshift(p)),w=e(1,"1",!1),u.unshift(w))),r<t&&((!o||r<t-2)&&(b=e(r+1,"...",!1),u.push(b)),o&&(r===t-2&&(k=e(t-1,t-1,!1),u.push(k)),d=e(t,t,!1),u.push(d)))),u}var s=this,f=angular.isDefined(t.maxSize)?n.$parent.$eval(t.maxSize):u.maxSize,h=angular.isDefined(t.rotate)?n.$parent.$eval(t.rotate):u.rotate,l=angular.isDefined(t.forceEllipses)?n.$parent.$eval(t.forceEllipses):u.forceEllipses,o=angular.isDefined(t.boundaryLinkNumbers)?n.$parent.$eval(t.boundaryLinkNumbers):u.boundaryLinkNumbers,a=angular.isDefined(t.pageLabel)?function(i){return n.$parent.$eval(t.pageLabel,{$page:i})}:angular.identity,c;n.boundaryLinks=angular.isDefined(t.boundaryLinks)?n.$parent.$eval(t.boundaryLinks):u.boundaryLinks;n.directionLinks=angular.isDefined(t.directionLinks)?n.$parent.$eval(t.directionLinks):u.directionLinks;r.create(this,n,t);t.maxSize&&s._watchers.push(n.$parent.$watch(i(t.maxSize),function(n){f=parseInt(n,10);s.render()}));c=this.render;this.render=function(){c();n.page>0&&n.page<=n.totalPages&&(n.pages=v(n.page,n.totalPages))}}]).constant("uibPaginationConfig",{itemsPerPage:10,boundaryLinks:!1,boundaryLinkNumbers:!1,directionLinks:!0,firstText:"First",previousText:"Previous",nextText:"Next",lastText:"Last",rotate:!0,forceEllipses:!1}).directive("uibPagination",["$parse","uibPaginationConfig",function(n,t){return{scope:{totalItems:"=",firstText:"@",previousText:"@",nextText:"@",lastText:"@",ngDisabled:"="},require:["uibPagination","?ngModel"],controller:"UibPaginationController",controllerAs:"pagination",templateUrl:function(n,t){return t.templateUrl||"uib/template/pagination/pagination.html"},replace:!0,link:function(n,i,r,u){var e=u[0],f=u[1];f&&e.init(f,t)}}}]);angular.module("ui.bootstrap.tooltip",["ui.bootstrap.position","ui.bootstrap.stackedMap"]).provider("$uibTooltip",function(){function r(n){var t="-";return n.replace(/[A-Z]/g,function(n,i){return(i?t:"")+n.toLowerCase()})}var i={placement:"top",placementClassPrefix:"",animation:!0,popupDelay:0,popupCloseDelay:0,useContentExp:!1},n={mouseenter:"mouseleave",click:"click",outsideClick:"outsideClick",focus:"blur",none:""},t={};this.options=function(n){angular.extend(t,n)};this.setTriggers=function(t){angular.extend(n,t)};this.$get=["$window","$compile","$timeout","$document","$uibPosition","$interpolate","$rootScope","$parse","$$stackedMap",function(u,f,e,o,s,h,c,l,a){function y(n){if(n.which===27){var t=v.top();t&&(t.value.close(),v.removeTop(),t=null)}}var v=a.createNew();o.on("keypress",y);return c.$on("$destroy",function(){o.off("keypress",y)}),function(u,c,a,y){function b(t){var i=(t||y.trigger||a).split(" "),r=i.map(function(t){return n[t]||t});return{show:i,hide:r}}y=angular.extend({},i,t,y);var k=r(u),p=h.startSymbol(),w=h.endSymbol(),d="<div "+k+'-popup uib-title="'+p+"title"+w+'" '+(y.useContentExp?'content-exp="contentExp()" ':'content="'+p+"content"+w+'" ')+'placement="'+p+"placement"+w+'" popup-class="'+p+"popupClass"+w+'" animation="animation" is-open="isOpen" origin-scope="origScope" class="uib-position-measure"><\/div>';return{compile:function(){var n=f(d);return function(t,i,r){function ft(){f.isOpen?et():at()}function at(){(!ni||t.$eval(r[c+"Enable"]))&&(vt(),ii(),f.popupDelay?nt||(nt=e(kt,f.popupDelay,!1)):kt())}function et(){ht();f.popupCloseDelay?tt||(tt=e(d,f.popupCloseDelay,!1)):d()}function kt(){if(ht(),vt(),!f.content)return angular.noop;ti();f.$evalAsync(function(){f.isOpen=!0;dt(!0);ut()})}function ht(){nt&&(e.cancel(nt),nt=null);k&&(e.cancel(k),k=null)}function d(){f&&f.$evalAsync(function(){f&&(f.isOpen=!1,dt(!1),f.animation?g||(g=e(yt,150,!1)):yt())})}function vt(){tt&&(e.cancel(tt),tt=null);g&&(e.cancel(g),g=null)}function ti(){h||(p=f.$new(),h=n(p,function(n){ot?o.find("body").append(n):i.after(n)}),ri())}function yt(){ht();vt();ui();h&&(h.remove(),h=null);p&&(p.$destroy(),p=null)}function ii(){var n,i,e;f.title=r[c+"Title"];f.content=st?st(t):r[u];f.popupClass=r[c+"Class"];f.placement=angular.isDefined(r[c+"Placement"])?r[c+"Placement"]:y.placement;n=s.parsePlacement(f.placement);rt=n[1]?n[0]+"-"+n[1]:n[0];i=parseInt(r[c+"PopupDelay"],10);e=parseInt(r[c+"PopupCloseDelay"],10);f.popupDelay=isNaN(i)?y.popupDelay:i;f.popupCloseDelay=isNaN(e)?y.popupCloseDelay:e}function dt(n){it&&angular.isFunction(it.assign)&&it.assign(t,n)}function ri(){a.length=0;st?(a.push(t.$watch(st,function(n){f.content=n;!n&&f.isOpen&&d()})),a.push(p.$watch(function(){lt||(lt=!0,p.$$postDigest(function(){lt=!1;f&&f.isOpen&&ut()}))}))):a.push(r.$observe(u,function(n){f.content=n;!n&&f.isOpen?d():ut()}));a.push(r.$observe(c+"Title",function(n){f.title=n;f.isOpen&&ut()}));a.push(r.$observe(c+"Placement",function(n){f.placement=n?n:y.placement;f.isOpen&&ut()}))}function ui(){a.length&&(angular.forEach(a,function(n){n()}),a.length=0)}function gt(n){f&&f.isOpen&&h&&(i[0].contains(n.target)||h[0].contains(n.target)||et())}function fi(){var n=r[c+"Trigger"];pt();w=b(n);w.show!=="none"&&w.show.forEach(function(n,t){if(n==="outsideClick"){i.on("click",ft);o.on("click",gt)}else if(n===w.hide[t])i.on(n,ft);else if(n){i.on(n,at);i.on(w.hide[t],et)}i.on("keypress",function(n){n.which===27&&et()})})}var h,p,g,nt,tt,k,ot=angular.isDefined(y.appendToBody)?y.appendToBody:!1,w=b(undefined),ni=angular.isDefined(r[c+"Enable"]),f=t.$new(!0),lt=!1,it=angular.isDefined(r[c+"IsOpen"])?l(r[c+"IsOpen"]):!1,st=y.useContentExp?l(r[u]):!1,a=[],rt,ut=function(){h&&h.html()&&(k||(k=e(function(){var n=s.positionElements(i,h,f.placement,ot);h.css({top:n.top+"px",left:n.left+"px"});h.hasClass(n.placement.split("-")[0])||(h.removeClass(rt.split("-")[0]),h.addClass(n.placement.split("-")[0]));h.hasClass(y.placementClassPrefix+n.placement)||(h.removeClass(y.placementClassPrefix+rt),h.addClass(y.placementClassPrefix+n.placement));h.hasClass("uib-position-measure")?(s.positionArrow(h,n.placement),h.removeClass("uib-position-measure")):rt!==n.placement&&s.positionArrow(h,n.placement);rt=n.placement;k=null},0,!1)))},pt,wt,bt,ct;f.origScope=t;f.isOpen=!1;v.add(f,{close:d});f.contentExp=function(){return f.content};r.$observe("disabled",function(n){n&&ht();n&&f.isOpen&&d()});it&&t.$watch(it,function(n){f&&!n===f.isOpen&&ft()});pt=function(){w.show.forEach(function(n){n==="outsideClick"?i.off("click",ft):(i.off(n,at),i.off(n,ft))});w.hide.forEach(function(n){n==="outsideClick"?o.off("click",gt):i.off(n,et)})};fi();wt=t.$eval(r[c+"Animation"]);f.animation=angular.isDefined(wt)?!!wt:y.animation;ct=c+"AppendToBody";bt=ct in r&&r[ct]===undefined?!0:t.$eval(r[ct]);ot=angular.isDefined(bt)?bt:ot;t.$on("$destroy",function(){pt();yt();v.remove(f);f=null})}}}}}]}).directive("uibTooltipTemplateTransclude",["$animate","$sce","$compile","$templateRequest",function(n,t,i,r){return{link:function(u,f,e){var a=u.$eval(e.tooltipTemplateTranscludeScope),l=0,o,s,h,c=function(){s&&(s.remove(),s=null);o&&(o.$destroy(),o=null);h&&(n.leave(h).then(function(){s=null}),s=h,h=null)};u.$watch(t.parseAsResourceUrl(e.uibTooltipTemplateTransclude),function(t){var e=++l;t?(r(t,!0).then(function(r){if(e===l){var u=a.$new(),s=r,v=i(s)(u,function(t){c();n.enter(t,f)});o=u;h=v;o.$emit("$includeContentLoaded",t)}},function(){e===l&&(c(),u.$emit("$includeContentError",t))}),u.$emit("$includeContentRequested",t)):c()});u.$on("$destroy",c)}}}]).directive("uibTooltipClasses",["$uibPosition",function(n){return{restrict:"A",link:function(t,i,r){if(t.placement){var u=n.parsePlacement(t.placement);i.addClass(u[0])}t.popupClass&&i.addClass(t.popupClass);t.animation()&&i.addClass(r.tooltipAnimationClass)}}}]).directive("uibTooltipPopup",function(){return{replace:!0,scope:{content:"@",placement:"@",popupClass:"@",animation:"&",isOpen:"&"},templateUrl:"uib/template/tooltip/tooltip-popup.html"}}).directive("uibTooltip",["$uibTooltip",function(n){return n("uibTooltip","tooltip","mouseenter")}]).directive("uibTooltipTemplatePopup",function(){return{replace:!0,scope:{contentExp:"&",placement:"@",popupClass:"@",animation:"&",isOpen:"&",originScope:"&"},templateUrl:"uib/template/tooltip/tooltip-template-popup.html"}}).directive("uibTooltipTemplate",["$uibTooltip",function(n){return n("uibTooltipTemplate","tooltip","mouseenter",{useContentExp:!0})}]).directive("uibTooltipHtmlPopup",function(){return{replace:!0,scope:{contentExp:"&",placement:"@",popupClass:"@",animation:"&",isOpen:"&"},templateUrl:"uib/template/tooltip/tooltip-html-popup.html"}}).directive("uibTooltipHtml",["$uibTooltip",function(n){return n("uibTooltipHtml","tooltip","mouseenter",{useContentExp:!0})}]);angular.module("ui.bootstrap.popover",["ui.bootstrap.tooltip"]).directive("uibPopoverTemplatePopup",function(){return{replace:!0,scope:{uibTitle:"@",contentExp:"&",placement:"@",popupClass:"@",animation:"&",isOpen:"&",originScope:"&"},templateUrl:"uib/template/popover/popover-template.html"}}).directive("uibPopoverTemplate",["$uibTooltip",function(n){return n("uibPopoverTemplate","popover","click",{useContentExp:!0})}]).directive("uibPopoverHtmlPopup",function(){return{replace:!0,scope:{contentExp:"&",uibTitle:"@",placement:"@",popupClass:"@",animation:"&",isOpen:"&"},templateUrl:"uib/template/popover/popover-html.html"}}).directive("uibPopoverHtml",["$uibTooltip",function(n){return n("uibPopoverHtml","popover","click",{useContentExp:!0})}]).directive("uibPopoverPopup",function(){return{replace:!0,scope:{uibTitle:"@",content:"@",placement:"@",popupClass:"@",animation:"&",isOpen:"&"},templateUrl:"uib/template/popover/popover.html"}}).directive("uibPopover",["$uibTooltip",function(n){return n("uibPopover","popover","click")}]);angular.module("ui.bootstrap.progressbar",[]).constant("uibProgressConfig",{animate:!0,max:100}).controller("UibProgressController",["$scope","$attrs","uibProgressConfig",function(n,t,i){function u(){return angular.isDefined(n.maxParam)?n.maxParam:i.max}var r=this,f=angular.isDefined(t.animate)?n.$parent.$eval(t.animate):i.animate;this.bars=[];n.max=u();this.addBar=function(n,t,i){f||t.css({transition:"none"});this.bars.push(n);n.max=u();n.title=i&&angular.isDefined(i.title)?i.title:"progressbar";n.$watch("value",function(){n.recalculatePercentage()});n.recalculatePercentage=function(){var t=r.bars.reduce(function(n,t){return t.percent=+(100*t.value/t.max).toFixed(2),n+t.percent},0);t>100&&(n.percent-=t-100)};n.$on("$destroy",function(){t=null;r.removeBar(n)})};this.removeBar=function(n){this.bars.splice(this.bars.indexOf(n),1);this.bars.forEach(function(n){n.recalculatePercentage()})};n.$watch("maxParam",function(){r.bars.forEach(function(n){n.max=u();n.recalculatePercentage()})})}]).directive("uibProgress",function(){return{replace:!0,transclude:!0,controller:"UibProgressController",require:"uibProgress",scope:{maxParam:"=?max"},templateUrl:"uib/template/progressbar/progress.html"}}).directive("uibBar",function(){return{replace:!0,transclude:!0,require:"^uibProgress",scope:{value:"=",type:"@"},templateUrl:"uib/template/progressbar/bar.html",link:function(n,t,i,r){r.addBar(n,t,i)}}}).directive("uibProgressbar",function(){return{replace:!0,transclude:!0,controller:"UibProgressController",scope:{value:"=",maxParam:"=?max",type:"@"},templateUrl:"uib/template/progressbar/progressbar.html",link:function(n,t,i,r){r.addBar(n,angular.element(t.children()[0]),{title:i.title})}}});angular.module("ui.bootstrap.rating",[]).constant("uibRatingConfig",{max:5,stateOn:null,stateOff:null,enableReset:!0,titles:["one","two","three","four","five"]}).controller("UibRatingController",["$scope","$attrs","uibRatingConfig",function(n,t,i){var r={$setViewValue:angular.noop},u=this;this.init=function(u){var f,e;r=u;r.$render=this.render;r.$formatters.push(function(n){return angular.isNumber(n)&&n<<0!==n&&(n=Math.round(n)),n});this.stateOn=angular.isDefined(t.stateOn)?n.$parent.$eval(t.stateOn):i.stateOn;this.stateOff=angular.isDefined(t.stateOff)?n.$parent.$eval(t.stateOff):i.stateOff;this.enableReset=angular.isDefined(t.enableReset)?n.$parent.$eval(t.enableReset):i.enableReset;f=angular.isDefined(t.titles)?n.$parent.$eval(t.titles):i.titles;this.titles=angular.isArray(f)&&f.length>0?f:i.titles;e=angular.isDefined(t.ratingStates)?n.$parent.$eval(t.ratingStates):new Array(angular.isDefined(t.max)?n.$parent.$eval(t.max):i.max);n.range=this.buildTemplateObjects(e)};this.buildTemplateObjects=function(n){for(var t=0,i=n.length;t<i;t++)n[t]=angular.extend({index:t},{stateOn:this.stateOn,stateOff:this.stateOff,title:this.getTitle(t)},n[t]);return n};this.getTitle=function(n){return n>=this.titles.length?n+1:this.titles[n]};n.rate=function(t){if(!n.readonly&&t>=0&&t<=n.range.length){var i=u.enableReset&&r.$viewValue===t?0:t;r.$setViewValue(i);r.$render()}};n.enter=function(t){n.readonly||(n.value=t);n.onHover({value:t})};n.reset=function(){n.value=r.$viewValue;n.onLeave()};n.onKeydown=function(t){/(37|38|39|40)/.test(t.which)&&(t.preventDefault(),t.stopPropagation(),n.rate(n.value+(t.which===38||t.which===39?1:-1)))};this.render=function(){n.value=r.$viewValue;n.title=u.getTitle(n.value-1)}}]).directive("uibRating",function(){return{require:["uibRating","ngModel"],scope:{readonly:"=?readOnly",onHover:"&",onLeave:"&"},controller:"UibRatingController",templateUrl:"uib/template/rating/rating.html",replace:!0,link:function(n,t,i,r){var u=r[0],f=r[1];u.init(f)}}});angular.module("ui.bootstrap.tabs",[]).controller("UibTabsetController",["$scope",function(n){function r(n){for(var i=0;i<t.tabs.length;i++)if(t.tabs[i].index===n)return i}var t=this,i,u;t.tabs=[];t.select=function(n,f){var s,o,e;if(!u){if(s=r(i),o=t.tabs[s],o){o.tab.onDeselect({$event:f,$selectedIndex:n});if(f&&f.isDefaultPrevented())return;o.tab.active=!1}if(e=t.tabs[n],e){e.tab.onSelect({$event:f});e.tab.active=!0;t.active=e.index;i=e.index}else!e&&angular.isDefined(i)&&(t.active=null,i=null)}};t.addTab=function(n){if(t.tabs.push({tab:n,index:n.index}),t.tabs.sort(function(n,t){return n.index>t.index?1:n.index<t.index?-1:0}),n.index===t.active||!angular.isDefined(t.active)&&t.tabs.length===1){var i=r(n.index);t.select(i)}};t.removeTab=function(n){for(var u,i,r=0;r<t.tabs.length;r++)if(t.tabs[r].tab===n){i=r;break}t.tabs[i].index===t.active&&(u=i===t.tabs.length-1?i-1:i+1%t.tabs.length,t.select(u));t.tabs.splice(i,1)};n.$watch("tabset.active",function(n){angular.isDefined(n)&&n!==i&&t.select(r(n))});n.$on("$destroy",function(){u=!0})}]).directive("uibTabset",function(){return{transclude:!0,replace:!0,scope:{},bindToController:{active:"=?",type:"@"},controller:"UibTabsetController",controllerAs:"tabset",templateUrl:function(n,t){return t.templateUrl||"uib/template/tabs/tabset.html"},link:function(n,t,i){n.vertical=angular.isDefined(i.vertical)?n.$parent.$eval(i.vertical):!1;n.justified=angular.isDefined(i.justified)?n.$parent.$eval(i.justified):!1}}}).directive("uibTab",["$parse",function(n){return{require:"^uibTabset",replace:!0,templateUrl:function(n,t){return t.templateUrl||"uib/template/tabs/tab.html"},transclude:!0,scope:{heading:"@",index:"=?",classes:"@?",onSelect:"&select",onDeselect:"&deselect"},controller:function(){},controllerAs:"tab",link:function(t,i,r,u,f){t.disabled=!1;r.disable&&t.$parent.$watch(n(r.disable),function(n){t.disabled=!!n});angular.isUndefined(r.index)&&(t.index=u.tabs&&u.tabs.length?Math.max.apply(null,u.tabs.map(function(n){return n.index}))+1:0);angular.isUndefined(r.classes)&&(t.classes="");t.select=function(n){var r,i;if(!t.disabled){for(i=0;i<u.tabs.length;i++)if(u.tabs[i].tab===t){r=i;break}u.select(r,n)}};u.addTab(t);t.$on("$destroy",function(){u.removeTab(t)});t.$transcludeFn=f}}}]).directive("uibTabHeadingTransclude",function(){return{restrict:"A",require:"^uibTab",link:function(n,t){n.$watch("headingElement",function(n){n&&(t.html(""),t.append(n))})}}}).directive("uibTabContentTransclude",function(){function n(n){return n.tagName&&(n.hasAttribute("uib-tab-heading")||n.hasAttribute("data-uib-tab-heading")||n.hasAttribute("x-uib-tab-heading")||n.tagName.toLowerCase()==="uib-tab-heading"||n.tagName.toLowerCase()==="data-uib-tab-heading"||n.tagName.toLowerCase()==="x-uib-tab-heading"||n.tagName.toLowerCase()==="uib:tab-heading")}return{restrict:"A",require:"^uibTabset",link:function(t,i,r){var u=t.$eval(r.uibTabContentTransclude).tab;u.$transcludeFn(u.$parent,function(t){angular.forEach(t,function(t){n(t)?u.headingElement=t:i.append(t)})})}}});angular.module("ui.bootstrap.timepicker",[]).constant("uibTimepickerConfig",{hourStep:1,minuteStep:1,secondStep:1,showMeridian:!0,showSeconds:!1,meridians:null,readonlyInput:!1,mousewheel:!0,arrowkeys:!0,showSpinners:!0,templateUrl:"uib/template/timepicker/timepicker.html"}).controller("UibTimepickerController",["$scope","$element","$attrs","$parse","$log","$locale","uibTimepickerConfig",function(n,t,i,r,u,f,e){function tt(){var t=+n.hours,i=n.showMeridian?t>0&&t<13:t>=0&&t<24;return!i||n.hours===""?undefined:(n.showMeridian&&(t===12&&(t=0),n.meridian===v[1]&&(t=t+12)),t)}function it(){var t=+n.minutes,i=t>=0&&t<60;return!i||n.minutes===""?undefined:t}function ot(){var t=+n.seconds;return t>=0&&t<60?t:undefined}function k(n,t){return n===null?"":angular.isDefined(n)&&n.toString().length<2&&!t?"0"+n:n.toString()}function g(n){nt();s.$setViewValue(new Date(o));ut(n)}function nt(){s.$setValidity("time",!0);n.invalidHours=!1;n.invalidMinutes=!1;n.invalidSeconds=!1}function ut(t){if(s.$modelValue){var i=o.getHours(),r=o.getMinutes(),u=o.getSeconds();n.showMeridian&&(i=i===0||i===12?12:i%12);n.hours=t==="h"?i:k(i,!et);t!=="m"&&(n.minutes=k(r));n.meridian=o.getHours()<12?v[0]:v[1];t!=="s"&&(n.seconds=k(u));n.meridian=o.getHours()<12?v[0]:v[1]}else n.hours=null,n.minutes=null,n.seconds=null,n.meridian=v[0]}function y(n){o=rt(o,n);g()}function d(n,t){return rt(n,t*60)}function rt(n,t){var i=new Date(n.getTime()+t*1e3),r=new Date(n);return r.setHours(i.getHours(),i.getMinutes(),i.getSeconds()),r}function ft(){return(n.hours===null||n.hours==="")&&(n.minutes===null||n.minutes==="")&&(!n.showSeconds||n.showSeconds&&(n.seconds===null||n.seconds===""))}var o=new Date,a=[],s={$setViewValue:angular.noop},v=angular.isDefined(i.meridians)?n.$parent.$eval(i.meridians):e.meridians||f.DATETIME_FORMATS.AMPMS,et=angular.isDefined(i.padHours)?n.$parent.$eval(i.padHours):!0,p,w,c,l,h,b;n.tabindex=angular.isDefined(i.tabindex)?i.tabindex:0;t.removeAttr("tabindex");this.init=function(t,r){var h;s=t;s.$render=this.render;s.$formatters.unshift(function(n){return n?new Date(n):null});var u=r.eq(0),f=r.eq(1),o=r.eq(2),c=angular.isDefined(i.mousewheel)?n.$parent.$eval(i.mousewheel):e.mousewheel;c&&this.setupMousewheelEvents(u,f,o);h=angular.isDefined(i.arrowkeys)?n.$parent.$eval(i.arrowkeys):e.arrowkeys;h&&this.setupArrowkeyEvents(u,f,o);n.readonlyInput=angular.isDefined(i.readonlyInput)?n.$parent.$eval(i.readonlyInput):e.readonlyInput;this.setupInputEvents(u,f,o)};p=e.hourStep;i.hourStep&&a.push(n.$parent.$watch(r(i.hourStep),function(n){p=+n}));w=e.minuteStep;i.minuteStep&&a.push(n.$parent.$watch(r(i.minuteStep),function(n){w=+n}));a.push(n.$parent.$watch(r(i.min),function(n){var t=new Date(n);c=isNaN(t)?undefined:t}));a.push(n.$parent.$watch(r(i.max),function(n){var t=new Date(n);l=isNaN(t)?undefined:t}));h=!1;i.ngDisabled&&a.push(n.$parent.$watch(r(i.ngDisabled),function(n){h=n}));n.noIncrementHours=function(){var n=d(o,p*60);return h||n>l||n<o&&n<c};n.noDecrementHours=function(){var n=d(o,-p*60);return h||n<c||n>o&&n>l};n.noIncrementMinutes=function(){var n=d(o,w);return h||n>l||n<o&&n<c};n.noDecrementMinutes=function(){var n=d(o,-w);return h||n<c||n>o&&n>l};n.noIncrementSeconds=function(){var n=rt(o,b);return h||n>l||n<o&&n<c};n.noDecrementSeconds=function(){var n=rt(o,-b);return h||n<c||n>o&&n>l};n.noToggleMeridian=function(){return o.getHours()<12?h||d(o,720)>l:h||d(o,-720)<c};b=e.secondStep;i.secondStep&&a.push(n.$parent.$watch(r(i.secondStep),function(n){b=+n}));n.showSeconds=e.showSeconds;i.showSeconds&&a.push(n.$parent.$watch(r(i.showSeconds),function(t){n.showSeconds=!!t}));n.showMeridian=e.showMeridian;i.showMeridian&&a.push(n.$parent.$watch(r(i.showMeridian),function(t){if(n.showMeridian=!!t,s.$error.time){var i=tt(),r=it();angular.isDefined(i)&&angular.isDefined(r)&&(o.setHours(i),g())}else ut()}));this.setupMousewheelEvents=function(t,i,r){var u=function(n){n.originalEvent&&(n=n.originalEvent);var t=n.wheelDelta?n.wheelDelta:-n.deltaY;return n.detail||t>0};t.bind("mousewheel wheel",function(t){h||n.$apply(u(t)?n.incrementHours():n.decrementHours());t.preventDefault()});i.bind("mousewheel wheel",function(t){h||n.$apply(u(t)?n.incrementMinutes():n.decrementMinutes());t.preventDefault()});r.bind("mousewheel wheel",function(t){h||n.$apply(u(t)?n.incrementSeconds():n.decrementSeconds());t.preventDefault()})};this.setupArrowkeyEvents=function(t,i,r){t.bind("keydown",function(t){h||(t.which===38?(t.preventDefault(),n.incrementHours(),n.$apply()):t.which===40&&(t.preventDefault(),n.decrementHours(),n.$apply()))});i.bind("keydown",function(t){h||(t.which===38?(t.preventDefault(),n.incrementMinutes(),n.$apply()):t.which===40&&(t.preventDefault(),n.decrementMinutes(),n.$apply()))});r.bind("keydown",function(t){h||(t.which===38?(t.preventDefault(),n.incrementSeconds(),n.$apply()):t.which===40&&(t.preventDefault(),n.decrementSeconds(),n.$apply()))})};this.setupInputEvents=function(t,i,r){if(n.readonlyInput){n.updateHours=angular.noop;n.updateMinutes=angular.noop;n.updateSeconds=angular.noop;return}var u=function(t,i,r){s.$setViewValue(null);s.$setValidity("time",!1);angular.isDefined(t)&&(n.invalidHours=t);angular.isDefined(i)&&(n.invalidMinutes=i);angular.isDefined(r)&&(n.invalidSeconds=r)};n.updateHours=function(){var n=tt(),t=it();s.$setDirty();angular.isDefined(n)&&angular.isDefined(t)?(o.setHours(n),o.setMinutes(t),o<c||o>l?u(!0):g("h")):u(!0)};t.bind("blur",function(){s.$setTouched();ft()?nt():n.hours===null||n.hours===""?u(!0):!n.invalidHours&&n.hours<10&&n.$apply(function(){n.hours=k(n.hours,!et)})});n.updateMinutes=function(){var n=it(),t=tt();s.$setDirty();angular.isDefined(n)&&angular.isDefined(t)?(o.setHours(t),o.setMinutes(n),o<c||o>l?u(undefined,!0):g("m")):u(undefined,!0)};i.bind("blur",function(){s.$setTouched();ft()?nt():n.minutes===null?u(undefined,!0):!n.invalidMinutes&&n.minutes<10&&n.$apply(function(){n.minutes=k(n.minutes)})});n.updateSeconds=function(){var n=ot();s.$setDirty();angular.isDefined(n)?(o.setSeconds(n),g("s")):u(undefined,undefined,!0)};r.bind("blur",function(){ft()?nt():!n.invalidSeconds&&n.seconds<10&&n.$apply(function(){n.seconds=k(n.seconds)})})};this.render=function(){var t=s.$viewValue;isNaN(t)?(s.$setValidity("time",!1),u.error('Timepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.')):(t&&(o=t),o<c||o>l?(s.$setValidity("time",!1),n.invalidHours=!0,n.invalidMinutes=!0):nt(),ut())};n.showSpinners=angular.isDefined(i.showSpinners)?n.$parent.$eval(i.showSpinners):e.showSpinners;n.incrementHours=function(){n.noIncrementHours()||y(p*3600)};n.decrementHours=function(){n.noDecrementHours()||y(-p*3600)};n.incrementMinutes=function(){n.noIncrementMinutes()||y(w*60)};n.decrementMinutes=function(){n.noDecrementMinutes()||y(-w*60)};n.incrementSeconds=function(){n.noIncrementSeconds()||y(b)};n.decrementSeconds=function(){n.noDecrementSeconds()||y(-b)};n.toggleMeridian=function(){var t=it(),i=tt();n.noToggleMeridian()||(angular.isDefined(t)&&angular.isDefined(i)?y(720*(o.getHours()<12?60:-60)):n.meridian=n.meridian===v[0]?v[1]:v[0])};n.blur=function(){s.$setTouched()};n.$on("$destroy",function(){while(a.length)a.shift()()})}]).directive("uibTimepicker",["uibTimepickerConfig",function(n){return{require:["uibTimepicker","?^ngModel"],controller:"UibTimepickerController",controllerAs:"timepicker",replace:!0,scope:{},templateUrl:function(t,i){return i.templateUrl||n.templateUrl},link:function(n,t,i,r){var f=r[0],u=r[1];u&&f.init(u,t.find("input"))}}}]);angular.module("ui.bootstrap.typeahead",["ui.bootstrap.debounce","ui.bootstrap.position"]).factory("uibTypeaheadParser",["$parse",function(n){var t=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w\d]*))\s+in\s+([\s\S]+?)$/;return{parse:function(i){var r=i.match(t);if(!r)throw new Error('Expected typeahead specification in form of "_modelValue_ (as _label_)? for _item_ in _collection_" but got "'+i+'".');return{itemName:r[3],source:n(r[4]),viewMapper:n(r[2]||r[1]),modelMapper:n(r[1])}}}}]).controller("UibTypeaheadController",["$scope","$element","$attrs","$compile","$parse","$q","$timeout","$document","$window","$rootScope","$$debounce","$uibPosition","uibTypeaheadParser",function(n,t,i,r,u,f,e,o,s,h,c,l,a){function lt(){v.moveInProgress||(v.moveInProgress=!0,v.$digest());ni()}function ti(){v.position=nt?l.offset(t):l.position(t);v.position.top+=t.prop("offsetHeight")}var ri=[9,13,27,38,40],y,rt,d=n.$eval(i.typeaheadMinLength),at,g,ht,tt,w,b,gt,ct,ni,yt,ii,pt,wt,it;d||d===0||(d=1);n.$watch(i.typeaheadMinLength,function(n){d=!n&&n!==0?1:n});at=n.$eval(i.typeaheadWaitMs)||0;g=n.$eval(i.typeaheadEditable)!==!1;n.$watch(i.typeaheadEditable,function(n){g=n!==!1});var ut=u(i.typeaheadLoading).assign||angular.noop,ui=i.typeaheadShouldSelect?u(i.typeaheadShouldSelect):function(n,t){var i=t.$event;return i.which===13||i.which===9},fi=u(i.typeaheadOnSelect),ei=angular.isDefined(i.typeaheadSelectOnBlur)?n.$eval(i.typeaheadSelectOnBlur):!1,ft=u(i.typeaheadNoResults).assign||angular.noop,bt=i.typeaheadInputFormatter?u(i.typeaheadInputFormatter):undefined,nt=i.typeaheadAppendToBody?n.$eval(i.typeaheadAppendToBody):!1,vt=i.typeaheadAppendTo?n.$eval(i.typeaheadAppendTo):null,oi=n.$eval(i.typeaheadFocusFirst)!==!1,si=i.typeaheadSelectOnExact?n.$eval(i.typeaheadSelectOnExact):!1,hi=u(i.typeaheadIsOpen).assign||angular.noop,et=n.$eval(i.typeaheadShowHint)||!1,kt=u(i.ngModel),ci=u(i.ngModel+"($$$p)"),li=function(t,i){return angular.isFunction(kt(n))&&rt&&rt.$options&&rt.$options.getterSetter?ci(t,{$$$p:i}):kt.assign(t,i)},p=a.parse(i.uibTypeahead),ot,st,v=n.$new(),ai=n.$on("$destroy",function(){v.$destroy()});v.$on("$destroy",ai);ht="typeahead-"+v.$id+"-"+Math.floor(Math.random()*1e4);t.attr({"aria-autocomplete":"list","aria-expanded":!1,"aria-owns":ht});et&&(tt=angular.element("<div><\/div>"),tt.css("position","relative"),t.after(tt),w=t.clone(),w.attr("placeholder",""),w.attr("tabindex","-1"),w.val(""),w.css({position:"absolute",top:"0px",left:"0px","border-color":"transparent","box-shadow":"none",opacity:1,background:"none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255)",color:"#999"}),t.css({position:"relative","vertical-align":"top","background-color":"transparent"}),tt.append(w),w.after(t));b=angular.element("<div uib-typeahead-popup><\/div>");b.attr({id:ht,matches:"matches",active:"activeIdx",select:"select(activeIdx, evt)","move-in-progress":"moveInProgress",query:"query",position:"position","assign-is-open":"assignIsOpen(isOpen)",debounce:"debounceUpdate"});angular.isDefined(i.typeaheadTemplateUrl)&&b.attr("template-url",i.typeaheadTemplateUrl);angular.isDefined(i.typeaheadPopupTemplateUrl)&&b.attr("popup-template-url",i.typeaheadPopupTemplateUrl);var vi=function(){et&&w.val("")},k=function(){v.matches=[];v.activeIdx=-1;t.attr("aria-expanded",!1);vi()},dt=function(n){return ht+"-option-"+n};if(v.$watch("activeIdx",function(n){n<0?t.removeAttr("aria-activedescendant"):t.attr("aria-activedescendant",dt(n))}),gt=function(n,t){return v.matches.length>t&&n?n.toUpperCase()===v.matches[t].label.toUpperCase():!1},ct=function(i,r){var u={$viewValue:i};ut(n,!0);ft(n,!1);f.when(p.source(n,u)).then(function(f){var s=i===y.$viewValue,e,o;if(s&&ot)if(f&&f.length>0){for(v.activeIdx=oi?0:-1,ft(n,!1),v.matches.length=0,e=0;e<f.length;e++)u[p.itemName]=f[e],v.matches.push({id:dt(e),label:p.viewMapper(v,u),model:f[e]});v.query=i;ti();t.attr("aria-expanded",!0);si&&v.matches.length===1&&gt(i,0)&&(angular.isNumber(v.debounceUpdate)||angular.isObject(v.debounceUpdate)?c(function(){v.select(0,r)},angular.isNumber(v.debounceUpdate)?v.debounceUpdate:v.debounceUpdate["default"]):v.select(0,r));et&&(o=v.matches[0].label,angular.isString(i)&&i.length>0&&o.slice(0,i.length).toUpperCase()===i.toUpperCase()?w.val(i+o.slice(i.length)):w.val(""))}else k(),ft(n,!0);s&&ut(n,!1)},function(){k();ut(n,!1);ft(n,!0)})},nt){angular.element(s).on("resize",lt);o.find("body").on("scroll",lt)}ni=c(function(){v.matches.length&&ti();v.moveInProgress=!1},200);v.moveInProgress=!1;v.query=undefined;ii=function(n){yt=e(function(){ct(n)},at)};pt=function(){yt&&e.cancel(yt)};k();v.assignIsOpen=function(t){hi(n,t)};v.select=function(r,u){var f={},o,s;st=!0;f[p.itemName]=s=v.matches[r].model;o=p.modelMapper(n,f);li(n,o);y.$setValidity("editable",!0);y.$setValidity("parse",!0);fi(n,{$item:s,$model:o,$label:p.viewMapper(n,f),$event:u});k();v.$eval(i.typeaheadFocusOnSelect)!==!1&&e(function(){t[0].focus()},0,!1)};t.on("keydown",function(t){var r,i;if(v.matches.length!==0&&ri.indexOf(t.which)!==-1){if(r=ui(n,{$event:t}),v.activeIdx===-1&&r||t.which===9&&!!t.shiftKey){k();v.$digest();return}t.preventDefault();switch(t.which){case 27:t.stopPropagation();k();n.$digest();break;case 38:v.activeIdx=(v.activeIdx>0?v.activeIdx:v.matches.length)-1;v.$digest();i=b.find("li")[v.activeIdx];i.parentNode.scrollTop=i.offsetTop;break;case 40:v.activeIdx=(v.activeIdx+1)%v.matches.length;v.$digest();i=b.find("li")[v.activeIdx];i.parentNode.scrollTop=i.offsetTop;break;default:r&&v.$apply(function(){angular.isNumber(v.debounceUpdate)||angular.isObject(v.debounceUpdate)?c(function(){v.select(v.activeIdx,t)},angular.isNumber(v.debounceUpdate)?v.debounceUpdate:v.debounceUpdate["default"]):v.select(v.activeIdx,t)})}}});t.bind("focus",function(n){ot=!0;d!==0||y.$viewValue||e(function(){ct(y.$viewValue,n)},0)});t.bind("blur",function(n){ei&&v.matches.length&&v.activeIdx!==-1&&!st&&(st=!0,v.$apply(function(){angular.isObject(v.debounceUpdate)&&angular.isNumber(v.debounceUpdate.blur)?c(function(){v.select(v.activeIdx,n)},v.debounceUpdate.blur):v.select(v.activeIdx,n)}));!g&&y.$error.editable&&(y.$setViewValue(),y.$setValidity("editable",!0),y.$setValidity("parse",!0),t.val(""));ot=!1;st=!1});wt=function(i){t[0]!==i.target&&i.which!==3&&v.matches.length!==0&&(k(),h.$$phase||n.$digest())};o.on("click",wt);n.$on("$destroy",function(){o.off("click",wt);(nt||vt)&&it.remove();nt&&(angular.element(s).off("resize",lt),o.find("body").off("scroll",lt));b.remove();et&&tt.remove()});it=r(b)(v);nt?o.find("body").append(it):vt?angular.element(vt).eq(0).append(it):t.after(it);this.init=function(t,i){y=t;rt=i;v.debounceUpdate=y.$options&&u(y.$options.debounce)(n);y.$parsers.unshift(function(t){return(ot=!0,d===0||t&&t.length>=d?at>0?(pt(),ii(t)):ct(t):(ut(n,!1),pt(),k()),g)?t:t?(y.$setValidity("editable",!1),undefined):(y.$setValidity("editable",!0),null)});y.$formatters.push(function(t){var r,u,i={};return(g||y.$setValidity("editable",!0),bt)?(i.$model=t,bt(n,i)):(i[p.itemName]=t,r=p.viewMapper(n,i),i[p.itemName]=undefined,u=p.viewMapper(n,i),r!==u?r:t)})}}]).directive("uibTypeahead",function(){return{controller:"UibTypeaheadController",require:["ngModel","^?ngModelOptions","uibTypeahead"],link:function(n,t,i,r){r[2].init(r[0],r[1])}}}).directive("uibTypeaheadPopup",["$$debounce",function(n){return{scope:{matches:"=",query:"=",active:"=",position:"&",moveInProgress:"=",select:"&",assignIsOpen:"&",debounce:"&"},replace:!0,templateUrl:function(n,t){return t.popupTemplateUrl||"uib/template/typeahead/typeahead-popup.html"},link:function(t,i,r){t.templateUrl=r.templateUrl;t.isOpen=function(){var n=t.matches.length>0;return t.assignIsOpen({isOpen:n}),n};t.isActive=function(n){return t.active===n};t.selectActive=function(n){t.active=n};t.selectMatch=function(i,r){var u=t.debounce();angular.isNumber(u)||angular.isObject(u)?n(function(){t.select({activeIdx:i,evt:r})},angular.isNumber(u)?u:u["default"]):t.select({activeIdx:i,evt:r})}}}}]).directive("uibTypeaheadMatch",["$templateRequest","$compile","$parse",function(n,t,i){return{scope:{index:"=",match:"=",query:"="},link:function(r,u,f){var e=i(f.templateUrl)(r.$parent)||"uib/template/typeahead/typeahead-match.html";n(e).then(function(n){var i=angular.element(n.trim());u.replaceWith(i);t(i)(r)})}}}]).filter("uibTypeaheadHighlight",["$sce","$injector","$log",function(n,t,i){function u(n){return n.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}function f(n){return/<.*>/g.test(n)}var r;return r=t.has("$sanitize"),function(t,e){return!r&&f(t)&&i.warn("Unsafe use of typeahead please use ngSanitize"),t=e?(""+t).replace(new RegExp(u(e),"gi"),"<strong>$&<\/strong>"):t,r||(t=n.trustAsHtml(t)),t}}]);angular.module("uib/template/accordion/accordion-group.html",[]).run(["$templateCache",function(n){n.put("uib/template/accordion/accordion-group.html",'<div class="panel" ng-class="panelClass || \'panel-default\'">\n  <div role="tab" id="{{::headingId}}" aria-selected="{{isOpen}}" class="panel-heading" ng-keypress="toggleOpen($event)">\n    <h4 class="panel-title">\n      <a role="button" data-toggle="collapse" href aria-expanded="{{isOpen}}" aria-controls="{{::panelId}}" tabindex="0" class="accordion-toggle" ng-click="toggleOpen()" uib-accordion-transclude="heading"><span uib-accordion-header ng-class="{\'text-muted\': isDisabled}">{{heading}}<\/span><\/a>\n    <\/h4>\n  <\/div>\n  <div id="{{::panelId}}" aria-labelledby="{{::headingId}}" aria-hidden="{{!isOpen}}" role="tabpanel" class="panel-collapse collapse" uib-collapse="!isOpen">\n    <div class="panel-body" ng-transclude><\/div>\n  <\/div>\n<\/div>\n')}]);angular.module("uib/template/accordion/accordion.html",[]).run(["$templateCache",function(n){n.put("uib/template/accordion/accordion.html",'<div role="tablist" class="panel-group" ng-transclude><\/div>')}]);angular.module("uib/template/alert/alert.html",[]).run(["$templateCache",function(n){n.put("uib/template/alert/alert.html",'<div class="alert" ng-class="[\'alert-\' + (type || \'warning\'), closeable ? \'alert-dismissible\' : null]" role="alert">\n    <button ng-show="closeable" type="button" class="close" ng-click="close({$event: $event})">\n        <span aria-hidden="true">&times;<\/span>\n        <span class="sr-only">Close<\/span>\n    <\/button>\n    <div ng-transclude><\/div>\n<\/div>\n')}]);angular.module("uib/template/carousel/carousel.html",[]).run(["$templateCache",function(n){n.put("uib/template/carousel/carousel.html",'<div ng-mouseenter="pause()" ng-mouseleave="play()" class="carousel" ng-swipe-right="prev()" ng-swipe-left="next()">\n  <div class="carousel-inner" ng-transclude><\/div>\n  <a role="button" href class="left carousel-control" ng-click="prev()" ng-class="{ disabled: isPrevDisabled() }" ng-show="slides.length > 1">\n    <span aria-hidden="true" class="glyphicon glyphicon-chevron-left"><\/span>\n    <span class="sr-only">previous<\/span>\n  <\/a>\n  <a role="button" href class="right carousel-control" ng-click="next()" ng-class="{ disabled: isNextDisabled() }" ng-show="slides.length > 1">\n    <span aria-hidden="true" class="glyphicon glyphicon-chevron-right"><\/span>\n    <span class="sr-only">next<\/span>\n  <\/a>\n  <ol class="carousel-indicators" ng-show="slides.length > 1">\n    <li ng-repeat="slide in slides | orderBy:indexOfSlide track by $index" ng-class="{ active: isActive(slide) }" ng-click="select(slide)">\n      <span class="sr-only">slide {{ $index + 1 }} of {{ slides.length }}<span ng-if="isActive(slide)">, currently active<\/span><\/span>\n    <\/li>\n  <\/ol>\n<\/div>\n')}]);angular.module("uib/template/carousel/slide.html",[]).run(["$templateCache",function(n){n.put("uib/template/carousel/slide.html",'<div ng-class="{\n    \'active\': active\n  }" class="item text-center" ng-transclude><\/div>\n')}]);angular.module("uib/template/datepicker/datepicker.html",[]).run(["$templateCache",function(n){n.put("uib/template/datepicker/datepicker.html",'<div class="uib-datepicker" ng-switch="datepickerMode" role="application" ng-keydown="keydown($event)">\n  <uib-daypicker ng-switch-when="day" tabindex="0"><\/uib-daypicker>\n  <uib-monthpicker ng-switch-when="month" tabindex="0"><\/uib-monthpicker>\n  <uib-yearpicker ng-switch-when="year" tabindex="0"><\/uib-yearpicker>\n<\/div>\n')}]);angular.module("uib/template/datepicker/day.html",[]).run(["$templateCache",function(n){n.put("uib/template/datepicker/day.html",'<table class="uib-daypicker" role="grid" aria-labelledby="{{::uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n  <thead>\n    <tr>\n      <th><button type="button" class="btn btn-default btn-sm pull-left uib-left" ng-click="move(-1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-left"><\/i><\/button><\/th>\n      <th colspan="{{::5 + showWeeks}}"><button id="{{::uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm uib-title" ng-click="toggleMode()" ng-disabled="datepickerMode === maxMode" tabindex="-1"><strong>{{title}}<\/strong><\/button><\/th>\n      <th><button type="button" class="btn btn-default btn-sm pull-right uib-right" ng-click="move(1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-right"><\/i><\/button><\/th>\n    <\/tr>\n    <tr>\n      <th ng-if="showWeeks" class="text-center"><\/th>\n      <th ng-repeat="label in ::labels track by $index" class="text-center"><small aria-label="{{::label.full}}">{{::label.abbr}}<\/small><\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr class="uib-weeks" ng-repeat="row in rows track by $index">\n      <td ng-if="showWeeks" class="text-center h6"><em>{{ weekNumbers[$index] }}<\/em><\/td>\n      <td ng-repeat="dt in row" class="uib-day text-center" role="gridcell"\n        id="{{::dt.uid}}"\n        ng-class="::dt.customClass">\n        <button type="button" class="btn btn-default btn-sm"\n          uib-is-class="\n            \'btn-info\' for selectedDt,\n            \'active\' for activeDt\n            on dt"\n          ng-click="select(dt.date)"\n          ng-disabled="::dt.disabled"\n          tabindex="-1"><span ng-class="::{\'text-muted\': dt.secondary, \'text-info\': dt.current}">{{::dt.label}}<\/span><\/button>\n      <\/td>\n    <\/tr>\n  <\/tbody>\n<\/table>\n')}]);angular.module("uib/template/datepicker/month.html",[]).run(["$templateCache",function(n){n.put("uib/template/datepicker/month.html",'<table class="uib-monthpicker" role="grid" aria-labelledby="{{::uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n  <thead>\n    <tr>\n      <th><button type="button" class="btn btn-default btn-sm pull-left uib-left" ng-click="move(-1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-left"><\/i><\/button><\/th>\n      <th><button id="{{::uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm uib-title" ng-click="toggleMode()" ng-disabled="datepickerMode === maxMode" tabindex="-1"><strong>{{title}}<\/strong><\/button><\/th>\n      <th><button type="button" class="btn btn-default btn-sm pull-right uib-right" ng-click="move(1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-right"><\/i><\/button><\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr class="uib-months" ng-repeat="row in rows track by $index">\n      <td ng-repeat="dt in row" class="uib-month text-center" role="gridcell"\n        id="{{::dt.uid}}"\n        ng-class="::dt.customClass">\n        <button type="button" class="btn btn-default"\n          uib-is-class="\n            \'btn-info\' for selectedDt,\n            \'active\' for activeDt\n            on dt"\n          ng-click="select(dt.date)"\n          ng-disabled="::dt.disabled"\n          tabindex="-1"><span ng-class="::{\'text-info\': dt.current}">{{::dt.label}}<\/span><\/button>\n      <\/td>\n    <\/tr>\n  <\/tbody>\n<\/table>\n')}]);angular.module("uib/template/datepicker/year.html",[]).run(["$templateCache",function(n){n.put("uib/template/datepicker/year.html",'<table class="uib-yearpicker" role="grid" aria-labelledby="{{::uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n  <thead>\n    <tr>\n      <th><button type="button" class="btn btn-default btn-sm pull-left uib-left" ng-click="move(-1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-left"><\/i><\/button><\/th>\n      <th colspan="{{::columns - 2}}"><button id="{{::uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm uib-title" ng-click="toggleMode()" ng-disabled="datepickerMode === maxMode" tabindex="-1"><strong>{{title}}<\/strong><\/button><\/th>\n      <th><button type="button" class="btn btn-default btn-sm pull-right uib-right" ng-click="move(1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-right"><\/i><\/button><\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr class="uib-years" ng-repeat="row in rows track by $index">\n      <td ng-repeat="dt in row" class="uib-year text-center" role="gridcell"\n        id="{{::dt.uid}}"\n        ng-class="::dt.customClass">\n        <button type="button" class="btn btn-default"\n          uib-is-class="\n            \'btn-info\' for selectedDt,\n            \'active\' for activeDt\n            on dt"\n          ng-click="select(dt.date)"\n          ng-disabled="::dt.disabled"\n          tabindex="-1"><span ng-class="::{\'text-info\': dt.current}">{{::dt.label}}<\/span><\/button>\n      <\/td>\n    <\/tr>\n  <\/tbody>\n<\/table>\n')}]);angular.module("uib/template/datepickerPopup/popup.html",[]).run(["$templateCache",function(n){n.put("uib/template/datepickerPopup/popup.html",'<div>\n  <ul class="uib-datepicker-popup dropdown-menu uib-position-measure" dropdown-nested ng-if="isOpen" ng-keydown="keydown($event)" ng-click="$event.stopPropagation()">\n    <li ng-transclude><\/li>\n    <li ng-if="showButtonBar" class="uib-button-bar">\n      <span class="btn-group pull-left">\n        <button type="button" class="btn btn-sm btn-info uib-datepicker-current" ng-click="select(\'today\', $event)" ng-disabled="isDisabled(\'today\')">{{ getText(\'current\') }}<\/button>\n        <button type="button" class="btn btn-sm btn-danger uib-clear" ng-click="select(null, $event)">{{ getText(\'clear\') }}<\/button>\n      <\/span>\n      <button type="button" class="btn btn-sm btn-success pull-right uib-close" ng-click="close($event)">{{ getText(\'close\') }}<\/button>\n    <\/li>\n  <\/ul>\n<\/div>\n')}]);angular.module("uib/template/modal/backdrop.html",[]).run(["$templateCache",function(n){n.put("uib/template/modal/backdrop.html",'<div class="modal-backdrop"\n     uib-modal-animation-class="fade"\n     modal-in-class="in"\n     ng-style="{\'z-index\': 1040 + (index && 1 || 0) + index*10}"\n><\/div>\n')}]);angular.module("uib/template/modal/window.html",[]).run(["$templateCache",function(n){n.put("uib/template/modal/window.html",'<div modal-render="{{$isRendered}}" tabindex="-1" role="dialog" class="modal"\n    uib-modal-animation-class="fade"\n    modal-in-class="in"\n    ng-style="{\'z-index\': 1050 + index*10, display: \'block\'}">\n    <div class="modal-dialog {{size ? \'modal-\' + size : \'\'}}"><div class="modal-content" uib-modal-transclude><\/div><\/div>\n<\/div>\n')}]);angular.module("uib/template/pager/pager.html",[]).run(["$templateCache",function(n){n.put("uib/template/pager/pager.html",'<ul class="pager">\n  <li ng-class="{disabled: noPrevious()||ngDisabled, previous: align}"><a href ng-click="selectPage(page - 1, $event)">{{::getText(\'previous\')}}<\/a><\/li>\n  <li ng-class="{disabled: noNext()||ngDisabled, next: align}"><a href ng-click="selectPage(page + 1, $event)">{{::getText(\'next\')}}<\/a><\/li>\n<\/ul>\n')}]);angular.module("uib/template/pagination/pagination.html",[]).run(["$templateCache",function(n){n.put("uib/template/pagination/pagination.html",'<ul class="pagination">\n  <li ng-if="::boundaryLinks" ng-class="{disabled: noPrevious()||ngDisabled}" class="pagination-first"><a href ng-click="selectPage(1, $event)">{{::getText(\'first\')}}<\/a><\/li>\n  <li ng-if="::directionLinks" ng-class="{disabled: noPrevious()||ngDisabled}" class="pagination-prev"><a href ng-click="selectPage(page - 1, $event)">{{::getText(\'previous\')}}<\/a><\/li>\n  <li ng-repeat="page in pages track by $index" ng-class="{active: page.active,disabled: ngDisabled&&!page.active}" class="pagination-page"><a href ng-click="selectPage(page.number, $event)">{{page.text}}<\/a><\/li>\n  <li ng-if="::directionLinks" ng-class="{disabled: noNext()||ngDisabled}" class="pagination-next"><a href ng-click="selectPage(page + 1, $event)">{{::getText(\'next\')}}<\/a><\/li>\n  <li ng-if="::boundaryLinks" ng-class="{disabled: noNext()||ngDisabled}" class="pagination-last"><a href ng-click="selectPage(totalPages, $event)">{{::getText(\'last\')}}<\/a><\/li>\n<\/ul>\n')}]);angular.module("uib/template/tooltip/tooltip-html-popup.html",[]).run(["$templateCache",function(n){n.put("uib/template/tooltip/tooltip-html-popup.html",'<div class="tooltip"\n  tooltip-animation-class="fade"\n  uib-tooltip-classes\n  ng-class="{ in: isOpen() }">\n  <div class="tooltip-arrow"><\/div>\n  <div class="tooltip-inner" ng-bind-html="contentExp()"><\/div>\n<\/div>\n')}]);angular.module("uib/template/tooltip/tooltip-popup.html",[]).run(["$templateCache",function(n){n.put("uib/template/tooltip/tooltip-popup.html",'<div class="tooltip"\n  tooltip-animation-class="fade"\n  uib-tooltip-classes\n  ng-class="{ in: isOpen() }">\n  <div class="tooltip-arrow"><\/div>\n  <div class="tooltip-inner" ng-bind="content"><\/div>\n<\/div>\n')}]);angular.module("uib/template/tooltip/tooltip-template-popup.html",[]).run(["$templateCache",function(n){n.put("uib/template/tooltip/tooltip-template-popup.html",'<div class="tooltip"\n  tooltip-animation-class="fade"\n  uib-tooltip-classes\n  ng-class="{ in: isOpen() }">\n  <div class="tooltip-arrow"><\/div>\n  <div class="tooltip-inner"\n    uib-tooltip-template-transclude="contentExp()"\n    tooltip-template-transclude-scope="originScope()"><\/div>\n<\/div>\n')}]);angular.module("uib/template/popover/popover-html.html",[]).run(["$templateCache",function(n){n.put("uib/template/popover/popover-html.html",'<div class="popover"\n  tooltip-animation-class="fade"\n  uib-tooltip-classes\n  ng-class="{ in: isOpen() }">\n  <div class="arrow"><\/div>\n\n  <div class="popover-inner">\n      <h3 class="popover-title" ng-bind="uibTitle" ng-if="uibTitle"><\/h3>\n      <div class="popover-content" ng-bind-html="contentExp()"><\/div>\n  <\/div>\n<\/div>\n')}]);angular.module("uib/template/popover/popover-template.html",[]).run(["$templateCache",function(n){n.put("uib/template/popover/popover-template.html",'<div class="popover"\n  tooltip-animation-class="fade"\n  uib-tooltip-classes\n  ng-class="{ in: isOpen() }">\n  <div class="arrow"><\/div>\n\n  <div class="popover-inner">\n      <h3 class="popover-title" ng-bind="uibTitle" ng-if="uibTitle"><\/h3>\n      <div class="popover-content"\n        uib-tooltip-template-transclude="contentExp()"\n        tooltip-template-transclude-scope="originScope()"><\/div>\n  <\/div>\n<\/div>\n')}]);angular.module("uib/template/popover/popover.html",[]).run(["$templateCache",function(n){n.put("uib/template/popover/popover.html",'<div class="popover"\n  tooltip-animation-class="fade"\n  uib-tooltip-classes\n  ng-class="{ in: isOpen() }">\n  <div class="arrow"><\/div>\n\n  <div class="popover-inner">\n      <h3 class="popover-title" ng-bind="uibTitle" ng-if="uibTitle"><\/h3>\n      <div class="popover-content" ng-bind="content"><\/div>\n  <\/div>\n<\/div>\n')}]);angular.module("uib/template/progressbar/bar.html",[]).run(["$templateCache",function(n){n.put("uib/template/progressbar/bar.html",'<div class="progress-bar" ng-class="type && \'progress-bar-\' + type" role="progressbar" aria-valuenow="{{value}}" aria-valuemin="0" aria-valuemax="{{max}}" ng-style="{width: (percent < 100 ? percent : 100) + \'%\'}" aria-valuetext="{{percent | number:0}}%" aria-labelledby="{{::title}}" ng-transclude><\/div>\n')}]);angular.module("uib/template/progressbar/progress.html",[]).run(["$templateCache",function(n){n.put("uib/template/progressbar/progress.html",'<div class="progress" ng-transclude aria-labelledby="{{::title}}"><\/div>')}]);angular.module("uib/template/progressbar/progressbar.html",[]).run(["$templateCache",function(n){n.put("uib/template/progressbar/progressbar.html",'<div class="progress">\n  <div class="progress-bar" ng-class="type && \'progress-bar-\' + type" role="progressbar" aria-valuenow="{{value}}" aria-valuemin="0" aria-valuemax="{{max}}" ng-style="{width: (percent < 100 ? percent : 100) + \'%\'}" aria-valuetext="{{percent | number:0}}%" aria-labelledby="{{::title}}" ng-transclude><\/div>\n<\/div>\n')}]);angular.module("uib/template/rating/rating.html",[]).run(["$templateCache",function(n){n.put("uib/template/rating/rating.html",'<span ng-mouseleave="reset()" ng-keydown="onKeydown($event)" tabindex="0" role="slider" aria-valuemin="0" aria-valuemax="{{range.length}}" aria-valuenow="{{value}}" aria-valuetext="{{title}}">\n    <span ng-repeat-start="r in range track by $index" class="sr-only">({{ $index < value ? \'*\' : \' \' }})<\/span>\n    <i ng-repeat-end ng-mouseenter="enter($index + 1)" ng-click="rate($index + 1)" class="glyphicon" ng-class="$index < value && (r.stateOn || \'glyphicon-star\') || (r.stateOff || \'glyphicon-star-empty\')" ng-attr-title="{{r.title}}"><\/i>\n<\/span>\n')}]);angular.module("uib/template/tabs/tab.html",[]).run(["$templateCache",function(n){n.put("uib/template/tabs/tab.html",'<li ng-class="[{active: active, disabled: disabled}, classes]" class="uib-tab nav-item">\n  <a href ng-click="select($event)" class="nav-link" uib-tab-heading-transclude>{{heading}}<\/a>\n<\/li>\n')}]);angular.module("uib/template/tabs/tabset.html",[]).run(["$templateCache",function(n){n.put("uib/template/tabs/tabset.html",'<div>\n  <ul class="nav nav-{{tabset.type || \'tabs\'}}" ng-class="{\'nav-stacked\': vertical, \'nav-justified\': justified}" ng-transclude><\/ul>\n  <div class="tab-content">\n    <div class="tab-pane"\n         ng-repeat="tab in tabset.tabs"\n         ng-class="{active: tabset.active === tab.index}"\n         uib-tab-content-transclude="tab">\n    <\/div>\n  <\/div>\n<\/div>\n')}]);angular.module("uib/template/timepicker/timepicker.html",[]).run(["$templateCache",function(n){n.put("uib/template/timepicker/timepicker.html",'<table class="uib-timepicker">\n  <tbody>\n    <tr class="text-center" ng-show="::showSpinners">\n      <td class="uib-increment hours"><a ng-click="incrementHours()" ng-class="{disabled: noIncrementHours()}" class="btn btn-link" ng-disabled="noIncrementHours()" tabindex="{{::tabindex}}"><span class="glyphicon glyphicon-chevron-up"><\/span><\/a><\/td>\n      <td>&nbsp;<\/td>\n      <td class="uib-increment minutes"><a ng-click="incrementMinutes()" ng-class="{disabled: noIncrementMinutes()}" class="btn btn-link" ng-disabled="noIncrementMinutes()" tabindex="{{::tabindex}}"><span class="glyphicon glyphicon-chevron-up"><\/span><\/a><\/td>\n      <td ng-show="showSeconds">&nbsp;<\/td>\n      <td ng-show="showSeconds" class="uib-increment seconds"><a ng-click="incrementSeconds()" ng-class="{disabled: noIncrementSeconds()}" class="btn btn-link" ng-disabled="noIncrementSeconds()" tabindex="{{::tabindex}}"><span class="glyphicon glyphicon-chevron-up"><\/span><\/a><\/td>\n      <td ng-show="showMeridian"><\/td>\n    <\/tr>\n    <tr>\n      <td class="form-group uib-time hours" ng-class="{\'has-error\': invalidHours}">\n        <input type="text" placeholder="HH" ng-model="hours" ng-change="updateHours()" class="form-control text-center" ng-readonly="::readonlyInput" maxlength="2" tabindex="{{::tabindex}}" ng-disabled="noIncrementHours()" ng-blur="blur()">\n      <\/td>\n      <td class="uib-separator">:<\/td>\n      <td class="form-group uib-time minutes" ng-class="{\'has-error\': invalidMinutes}">\n        <input type="text" placeholder="MM" ng-model="minutes" ng-change="updateMinutes()" class="form-control text-center" ng-readonly="::readonlyInput" maxlength="2" tabindex="{{::tabindex}}" ng-disabled="noIncrementMinutes()" ng-blur="blur()">\n      <\/td>\n      <td ng-show="showSeconds" class="uib-separator">:<\/td>\n      <td class="form-group uib-time seconds" ng-class="{\'has-error\': invalidSeconds}" ng-show="showSeconds">\n        <input type="text" placeholder="SS" ng-model="seconds" ng-change="updateSeconds()" class="form-control text-center" ng-readonly="readonlyInput" maxlength="2" tabindex="{{::tabindex}}" ng-disabled="noIncrementSeconds()" ng-blur="blur()">\n      <\/td>\n      <td ng-show="showMeridian" class="uib-time am-pm"><button type="button" ng-class="{disabled: noToggleMeridian()}" class="btn btn-default text-center" ng-click="toggleMeridian()" ng-disabled="noToggleMeridian()" tabindex="{{::tabindex}}">{{meridian}}<\/button><\/td>\n    <\/tr>\n    <tr class="text-center" ng-show="::showSpinners">\n      <td class="uib-decrement hours"><a ng-click="decrementHours()" ng-class="{disabled: noDecrementHours()}" class="btn btn-link" ng-disabled="noDecrementHours()" tabindex="{{::tabindex}}"><span class="glyphicon glyphicon-chevron-down"><\/span><\/a><\/td>\n      <td>&nbsp;<\/td>\n      <td class="uib-decrement minutes"><a ng-click="decrementMinutes()" ng-class="{disabled: noDecrementMinutes()}" class="btn btn-link" ng-disabled="noDecrementMinutes()" tabindex="{{::tabindex}}"><span class="glyphicon glyphicon-chevron-down"><\/span><\/a><\/td>\n      <td ng-show="showSeconds">&nbsp;<\/td>\n      <td ng-show="showSeconds" class="uib-decrement seconds"><a ng-click="decrementSeconds()" ng-class="{disabled: noDecrementSeconds()}" class="btn btn-link" ng-disabled="noDecrementSeconds()" tabindex="{{::tabindex}}"><span class="glyphicon glyphicon-chevron-down"><\/span><\/a><\/td>\n      <td ng-show="showMeridian"><\/td>\n    <\/tr>\n  <\/tbody>\n<\/table>\n')}]);angular.module("uib/template/typeahead/typeahead-match.html",[]).run(["$templateCache",function(n){n.put("uib/template/typeahead/typeahead-match.html",'<a href\n   tabindex="-1"\n   ng-bind-html="match.label | uibTypeaheadHighlight:query"\n   ng-attr-title="{{match.label}}"><\/a>\n')}]);angular.module("uib/template/typeahead/typeahead-popup.html",[]).run(["$templateCache",function(n){n.put("uib/template/typeahead/typeahead-popup.html",'<ul class="dropdown-menu" ng-show="isOpen() && !moveInProgress" ng-style="{top: position().top+\'px\', left: position().left+\'px\'}" role="listbox" aria-hidden="{{!isOpen()}}">\n    <li ng-repeat="match in matches track by $index" ng-class="{active: isActive($index) }" ng-mouseenter="selectActive($index)" ng-click="selectMatch($index, $event)" role="option" id="{{::match.id}}">\n        <div uib-typeahead-match index="$index" match="match" query="query" template-url="templateUrl"><\/div>\n    <\/li>\n<\/ul>\n')}]);angular.module("ui.bootstrap.carousel").run(function(){angular.$$csp().noInlineStyle||angular.$$uibCarouselCss||angular.element(document).find("head").prepend('<style type="text/css">.ng-animate.item:not(.left):not(.right){-webkit-transition:0s ease-in-out left;transition:0s ease-in-out left}<\/style>');angular.$$uibCarouselCss=!0});angular.module("ui.bootstrap.datepicker").run(function(){angular.$$csp().noInlineStyle||angular.$$uibDatepickerCss||angular.element(document).find("head").prepend('<style type="text/css">.uib-datepicker .uib-title{width:100%;}.uib-day button,.uib-month button,.uib-year button{min-width:100%;}.uib-left,.uib-right{width:100%}<\/style>');angular.$$uibDatepickerCss=!0});angular.module("ui.bootstrap.position").run(function(){angular.$$csp().noInlineStyle||angular.$$uibPositionCss||angular.element(document).find("head").prepend('<style type="text/css">.uib-position-measure{display:block !important;visibility:hidden !important;position:absolute !important;top:-9999px !important;left:-9999px !important;}.uib-position-scrollbar-measure{position:absolute !important;top:-9999px !important;width:50px !important;height:50px !important;overflow:scroll !important;}.uib-position-body-scrollbar-measure{overflow:scroll !important;}<\/style>');angular.$$uibPositionCss=!0});angular.module("ui.bootstrap.datepickerPopup").run(function(){angular.$$csp().noInlineStyle||angular.$$uibDatepickerpopupCss||angular.element(document).find("head").prepend('<style type="text/css">.uib-datepicker-popup.dropdown-menu{display:block;float:none;margin:0;}.uib-button-bar{padding:10px 9px 2px;}<\/style>');angular.$$uibDatepickerpopupCss=!0});angular.module("ui.bootstrap.tooltip").run(function(){angular.$$csp().noInlineStyle||angular.$$uibTooltipCss||angular.element(document).find("head").prepend('<style type="text/css">[uib-tooltip-popup].tooltip.top-left > .tooltip-arrow,[uib-tooltip-popup].tooltip.top-right > .tooltip-arrow,[uib-tooltip-popup].tooltip.bottom-left > .tooltip-arrow,[uib-tooltip-popup].tooltip.bottom-right > .tooltip-arrow,[uib-tooltip-popup].tooltip.left-top > .tooltip-arrow,[uib-tooltip-popup].tooltip.left-bottom > .tooltip-arrow,[uib-tooltip-popup].tooltip.right-top > .tooltip-arrow,[uib-tooltip-popup].tooltip.right-bottom > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.top-left > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.top-right > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.bottom-left > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.bottom-right > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.left-top > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.left-bottom > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.right-top > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.right-bottom > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.top-left > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.top-right > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.bottom-left > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.bottom-right > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.left-top > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.left-bottom > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.right-top > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.right-bottom > .tooltip-arrow,[uib-popover-popup].popover.top-left > .arrow,[uib-popover-popup].popover.top-right > .arrow,[uib-popover-popup].popover.bottom-left > .arrow,[uib-popover-popup].popover.bottom-right > .arrow,[uib-popover-popup].popover.left-top > .arrow,[uib-popover-popup].popover.left-bottom > .arrow,[uib-popover-popup].popover.right-top > .arrow,[uib-popover-popup].popover.right-bottom > .arrow,[uib-popover-html-popup].popover.top-left > .arrow,[uib-popover-html-popup].popover.top-right > .arrow,[uib-popover-html-popup].popover.bottom-left > .arrow,[uib-popover-html-popup].popover.bottom-right > .arrow,[uib-popover-html-popup].popover.left-top > .arrow,[uib-popover-html-popup].popover.left-bottom > .arrow,[uib-popover-html-popup].popover.right-top > .arrow,[uib-popover-html-popup].popover.right-bottom > .arrow,[uib-popover-template-popup].popover.top-left > .arrow,[uib-popover-template-popup].popover.top-right > .arrow,[uib-popover-template-popup].popover.bottom-left > .arrow,[uib-popover-template-popup].popover.bottom-right > .arrow,[uib-popover-template-popup].popover.left-top > .arrow,[uib-popover-template-popup].popover.left-bottom > .arrow,[uib-popover-template-popup].popover.right-top > .arrow,[uib-popover-template-popup].popover.right-bottom > .arrow{top:auto;bottom:auto;left:auto;right:auto;margin:0;}[uib-popover-popup].popover,[uib-popover-html-popup].popover,[uib-popover-template-popup].popover{display:block !important;}<\/style>');angular.$$uibTooltipCss=!0});angular.module("ui.bootstrap.timepicker").run(function(){angular.$$csp().noInlineStyle||angular.$$uibTimepickerCss||angular.element(document).find("head").prepend('<style type="text/css">.uib-time input{width:50px;}<\/style>');angular.$$uibTimepickerCss=!0});angular.module("ui.bootstrap.typeahead").run(function(){angular.$$csp().noInlineStyle||angular.$$uibTypeaheadCss||angular.element(document).find("head").prepend('<style type="text/css">[uib-typeahead-popup].dropdown-menu{display:block;}<\/style>');angular.$$uibTypeaheadCss=!0});angular.module("ui.date",[]).constant("uiDateConfig",{}).constant("uiDateFormatConfig","").factory("uiDateConverter",["uiDateFormatConfig",function(n){function t(t,i){if(t=t||n,i){if(t)try{return jQuery.datepicker.formatDate(t,i)}catch(r){return undefined}if(i.toISOString)return i.toISOString()}return null}function i(t,i){if(t=t||n,angular.isDate(i)&&!isNaN(i))return i;if(angular.isString(i)){if(t)return jQuery.datepicker.parseDate(t,i);var r=new Date(i);return isNaN(r.getTime())?null:r}return angular.isNumber(i)?new Date(i):null}return{stringToDate:i,dateToString:t}}]).directive("uiDate",["uiDateConfig","uiDateConverter",function(){return{require:"?ngModel",link:function(n,t){var i=jQuery(t);i.datepicker({changeMonth:!0,changeYear:!0,duration:"",showTime:!1,constrainInput:!1,yearRange:"c-120:c+20"})}}}]).directive("uiDateFormat",["uiDateConverter",function(n){return{require:"ngModel",link:function(t,i,r,u){var f=r.uiDateFormat;u.$formatters.unshift(function(t){return n.stringToDate(f,t)});u.$parsers.push(function(t){return n.dateToString(f,t)})}}}]),function(){"use strict";angular.module("pdf",[]).directive("ngPdf",["$window",function(n){var t=null,i=null,r=!1,u=function(n){var t=n.getContext("2d"),i=window.devicePixelRatio||1,r=t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return i/r},f=function(n,t,i){var r=u(n);return n.width=Math.floor(t*r),n.height=Math.floor(i*r),n.style.width=Math.floor(t)+"px",n.style.height=Math.floor(i)+"px",n.getContext("2d").setTransform(r,0,0,r,0,0),n};return{restrict:"E",templateUrl:function(n,t){return t.templateUrl?t.templateUrl:"partials/viewer.html"},link:function(u,e,o){function g(){v&&v.clearRect(0,0,s.width,s.height)}function b(){g();var n={url:c,withCredentials:d};y&&(n.httpHeaders=y);c&&c.length&&(i=PDFJS.getDocument(n,null,null,u.onProgress),i.then(function(n){typeof u.onLoad=="function"&&u.onLoad();l=n;u.renderPage(u.pageToDisplay);u.$apply(function(){u.pageCount=n.numPages})},function(n){if(n&&typeof u.onError=="function")u.onError(n)}))}e.css("display","block");var c=u.pdfUrl,y=u.httpHeaders,l=null,p=isFinite(o.page)?parseInt(o.page):1,a=o.scale==="page-fit",h=o.scale>0?o.scale:1,k=o.canvasid||"pdf-canvas",s=document.getElementById(k);r=o.hasOwnProperty("debug")?o.debug:!1;var d=o.usecredentials,v=s.getContext("2d"),w=angular.element(n);w.on("scroll",function(){u.$apply(function(){u.scroll=w[0].scrollY})});PDFJS.disableWorker=!0;u.pageNum=p;u.renderPage=function(n){t&&t._internalRenderTask.cancel();l.getPage(n).then(function(n){var i,r,o,c;a&&(i=n.getViewport(1),c=e[0].getBoundingClientRect(),r=c.width/i.width,h=r);i=n.getViewport(h);f(s,i.width,i.height);o={canvasContext:v,viewport:i};t=n.render(o);t.promise.then(function(){typeof u.onPageRender=="function"&&u.onPageRender()}).catch(function(n){console.log(n)})})};u.goPrevious=function(){u.pageToDisplay<=1||(u.pageToDisplay=parseInt(u.pageToDisplay)-1,u.pageNum=u.pageToDisplay)};u.goNext=function(){u.pageToDisplay>=l.numPages||(u.pageToDisplay=parseInt(u.pageToDisplay)+1,u.pageNum=u.pageToDisplay)};u.zoomIn=function(){return a=!1,h=parseFloat(h)+.2,u.renderPage(u.pageToDisplay),h};u.zoomOut=function(){return a=!1,h=parseFloat(h)-.2,u.renderPage(u.pageToDisplay),h};u.fit=function(){a=!0;u.renderPage(u.pageToDisplay)};u.changePage=function(){u.renderPage(u.pageToDisplay)};u.rotate=function(){s.getAttribute("class")==="rotate0"?s.setAttribute("class","rotate90"):s.getAttribute("class")==="rotate90"?s.setAttribute("class","rotate180"):s.getAttribute("class")==="rotate180"?s.setAttribute("class","rotate270"):s.setAttribute("class","rotate0")};u.$watch("pageNum",function(n){u.pageToDisplay=parseInt(n);l!==null&&u.renderPage(u.pageToDisplay)});u.$watch("pdfUrl",function(n){n!==""&&(r&&console.log("pdfUrl value change detected: ",u.pdfUrl),c=n,u.pageNum=u.pageToDisplay=p,i?i.destroy().then(function(){b()}):b())})}}}])}(),function(){"use strict";var n={TAB:9,ENTER:13,ESC:27,SPACE:32,LEFT:37,UP:38,RIGHT:39,DOWN:40,SHIFT:16,CTRL:17,ALT:18,PAGE_UP:33,PAGE_DOWN:34,HOME:36,END:35,BACKSPACE:8,DELETE:46,COMMAND:91,MAP:{91:"COMMAND",8:"BACKSPACE",9:"TAB",13:"ENTER",16:"SHIFT",17:"CTRL",18:"ALT",19:"PAUSEBREAK",20:"CAPSLOCK",27:"ESC",32:"SPACE",33:"PAGE_UP",34:"PAGE_DOWN",35:"END",36:"HOME",37:"LEFT",38:"UP",39:"RIGHT",40:"DOWN",43:"+",44:"PRINTSCREEN",45:"INSERT",46:"DELETE",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"A",66:"B",67:"C",68:"D",69:"E",70:"F",71:"G",72:"H",73:"I",74:"J",75:"K",76:"L",77:"M",78:"N",79:"O",80:"P",81:"Q",82:"R",83:"S",84:"T",85:"U",86:"V",87:"W",88:"X",89:"Y",90:"Z",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9",106:"*",107:"+",109:"-",110:".",111:"/",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NUMLOCK",145:"SCROLLLOCK",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},isControl:function(t){var i=t.which;switch(i){case n.COMMAND:case n.SHIFT:case n.CTRL:case n.ALT:return!0}return t.metaKey||t.ctrlKey||t.altKey?!0:!1},isFunctionKey:function(n){return n=n.which?n.which:n,n>=112&&n<=123},isVerticalMovement:function(t){return~[n.UP,n.DOWN].indexOf(t)},isHorizontalMovement:function(t){return~[n.LEFT,n.RIGHT,n.BACKSPACE,n.DELETE].indexOf(t)},toSeparator:function(t){var i={ENTER:"\n",TAB:"\t",SPACE:" "}[t];return i?i:n[t]?undefined:t}},i,t;angular.element.prototype.querySelectorAll===undefined&&(angular.element.prototype.querySelectorAll=function(n){return angular.element(this[0].querySelectorAll(n))});angular.element.prototype.closest===undefined&&(angular.element.prototype.closest=function(n){for(var t=this[0],i=t.matches||t.webkitMatchesSelector||t.mozMatchesSelector||t.msMatchesSelector;t;){if(i.bind(t)(n))return t;t=t.parentElement}return!1});i=0;t=angular.module("ui.select",[]).constant("uiSelectConfig",{theme:"bootstrap",searchEnabled:!0,sortable:!1,placeholder:"",refreshDelay:1e3,closeOnSelect:!0,skipFocusser:!1,dropdownPosition:"auto",removeSelected:!0,generateId:function(){return i++},appendToBody:!1}).service("uiSelectMinErr",function(){var n=angular.$$minErr("ui.select");return function(){var t=n.apply(this,arguments),i=t.message.replace(new RegExp("\nhttp://errors.angularjs.org/.*"),"");return new Error(i)}}).directive("uisTranscludeAppend",function(){return{link:function(n,t,i,r,u){u(n,function(n){t.append(n)})}}}).filter("highlight",function(){function n(n){return(""+n).replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}return function(t,i){return i&&t?(""+t).replace(new RegExp(n(i),"gi"),'<span class="ui-select-highlight">$&<\/span>'):t}}).factory("uisOffset",["$document","$window",function(n,t){return function(i){var r=i[0].getBoundingClientRect();return{width:r.width||i.prop("offsetWidth"),height:r.height||i.prop("offsetHeight"),top:r.top+(t.pageYOffset||n[0].documentElement.scrollTop),left:r.left+(t.pageXOffset||n[0].documentElement.scrollLeft)}}}]);t.factory("$$uisDebounce",["$timeout",function(n){return function(t,i){var r;return function(){var u=this,f=Array.prototype.slice.call(arguments);r&&n.cancel(r);r=n(function(){t.apply(u,f)},i)}}}]);t.directive("uiSelectChoices",["uiSelectConfig","uisRepeatParser","uiSelectMinErr","$compile","$window",function(n,t,i,r,u){return{restrict:"EA",require:"^uiSelect",replace:!0,transclude:!0,templateUrl:function(t){t.addClass("ui-select-choices");var i=t.parent().attr("theme")||n.theme;return i+"/choices.tpl.html"},compile:function(r,f){var s,l,h,c,e,o,a;if(!f.repeat)throw i("repeat","Expected 'repeat' expression.");if(s=f.groupBy,l=f.groupFilter,s){if(h=r.querySelectorAll(".ui-select-choices-group"),h.length!==1)throw i("rows","Expected 1 .ui-select-choices-group but got '{0}'.",h.length);h.attr("ng-repeat",t.getGroupNgRepeatExpression())}if(c=t.parse(f.repeat),e=r.querySelectorAll(".ui-select-choices-row"),e.length!==1)throw i("rows","Expected 1 .ui-select-choices-row but got '{0}'.",e.length);if(e.attr("ng-repeat",c.repeatExpression(s)).attr("ng-if","$select.open"),o=r.querySelectorAll(".ui-select-choices-row-inner"),o.length!==1)throw i("rows","Expected 1 .ui-select-choices-row-inner but got '{0}'.",o.length);return o.attr("uis-transclude-append",""),a=u.document.addEventListener?e:o,a.attr("ng-click","$select.select("+c.itemName+",$select.skipFocusser,$event)"),function(t,i,r,u){u.parseRepeatAttr(r.repeat,s,l);u.disableChoiceExpression=r.uiDisableChoice;u.onHighlightCallback=r.onHighlight;u.dropdownPosition=r.position?r.position.toLowerCase():n.dropdownPosition;t.$on("$destroy",function(){e.remove()});t.$watch("$select.search",function(n){n&&!u.open&&u.multiple&&u.activate(!1,!0);u.activeIndex=u.tagging.isActivated?-1:0;!r.minimumInputLength||u.search.length>=r.minimumInputLength?u.refresh(r.refresh):u.items=[]});r.$observe("refreshDelay",function(){var i=t.$eval(r.refreshDelay);u.refreshDelay=i!==undefined?i:n.refreshDelay})}}}}]);t.controller("uiSelectCtrl",["$scope","$element","$timeout","$filter","$$uisDebounce","uisRepeatParser","uiSelectMinErr","uiSelectConfig","$parse","$injector","$window",function(t,i,r,u,f,e,o,s,h,c,l){function it(n,t,i){var u,f,e,r;if(n.findIndex)return n.findIndex(t,i);for(u=Object(n),f=u.length>>>0,r=0;r<f;r++)if(e=u[r],t.call(i,e,r,u))return r;return-1}function b(){(a.resetSearchInput||a.resetSearchInput===undefined&&s.resetSearchInput)&&(a.search=p,a.selected&&a.items.length&&!a.multiple&&(a.activeIndex=it(a.items,function(n){return angular.equals(this,n)},a.selected)))}function rt(n,t){for(var i,u=[],r=0;r<t.length;r++)for(i=0;i<n.length;i++)n[i].name==[t[r]]&&u.push(n[i]);return u}function ut(n,t){var i=v.indexOf(n);t&&i===-1&&v.push(n);!t&&i>-1&&v.splice(i,0)}function nt(n){return v.indexOf(n)>-1}function ft(n){function i(n,i){var r=t.indexOf(n);i&&r===-1&&t.push(n);!i&&r>-1&&t.splice(r,0)}function r(n){return t.indexOf(n)>-1}if(n){var t=[];a.isLocked=function(n,t){var u=!1,f=a.selected[t];return f&&(n?(u=!!n.$eval(a.lockChoiceExpression),i(f,u)):u=r(f)),u}}}function et(t){var i=!0;switch(t){case n.DOWN:!a.open&&a.multiple?a.activate(!1,!0):a.activeIndex<a.items.length-1&&a.activeIndex++;break;case n.UP:!a.open&&a.multiple?a.activate(!1,!0):(a.activeIndex>0||a.search.length===0&&a.tagging.isActivated&&a.activeIndex>-1)&&a.activeIndex--;break;case n.TAB:(!a.multiple||a.open)&&a.select(a.items[a.activeIndex],!0);break;case n.ENTER:a.open&&(a.tagging.isActivated||a.activeIndex>=0)?a.select(a.items[a.activeIndex],a.skipFocusser):a.activate(!1,!0);break;case n.ESC:a.close();break;default:i=!1}return i}function tt(){var n=i.querySelectorAll(".ui-select-choices-content"),u=n.querySelectorAll(".ui-select-choices-row");if(u.length<1)throw o("choices","Expected multiple .ui-select-choices-row but got '{0}'.",u.length);if(!(a.activeIndex<0)){var t=u[a.activeIndex],r=t.offsetTop+t.clientHeight-n[0].scrollTop,f=n[0].offsetHeight;r>f?n[0].scrollTop+=r-f:r<t.clientHeight&&(a.isGrouped&&a.activeIndex===0?n[0].scrollTop=0:n[0].scrollTop-=t.clientHeight-r)}}var a=this,p="",k,d,v,y,w,g;if(a.placeholder=s.placeholder,a.searchEnabled=s.searchEnabled,a.sortable=s.sortable,a.refreshDelay=s.refreshDelay,a.paste=s.paste,a.removeSelected=s.removeSelected,a.closeOnSelect=!0,a.skipFocusser=!1,a.search=p,a.activeIndex=0,a.items=[],a.open=!1,a.focus=!1,a.disabled=!1,a.selected=undefined,a.dropdownPosition="auto",a.focusser=undefined,a.resetSearchInput=!0,a.multiple=undefined,a.disableChoiceExpression=undefined,a.tagging={isActivated:!1,fct:undefined},a.taggingTokens={isActivated:!1,tokens:undefined},a.lockChoiceExpression=undefined,a.clickTriggeredSelect=!1,a.$filter=u,a.$element=i,a.$animate=function(){try{return c.get("$animate")}catch(n){return null}}(),a.searchInput=i.querySelectorAll("input.ui-select-search"),a.searchInput.length!==1)throw o("searchInput","Expected 1 input.ui-select-search but got '{0}'.",a.searchInput.length);a.isEmpty=function(){return angular.isUndefined(a.selected)||a.selected===null||a.selected===""||a.multiple&&a.selected.length===0};a.activate=function(n,u){var e,o,f;if(!a.disabled&&!a.open)if(u||b(),t.$broadcast("uis:activate"),a.open=!0,a.activeIndex=a.activeIndex>=a.items.length?0:a.activeIndex,a.activeIndex===-1&&a.taggingLabel!==!1&&(a.activeIndex=0),e=i.querySelectorAll(".ui-select-choices-content"),o=i.querySelectorAll(".ui-select-search"),a.$animate&&a.$animate.on&&a.$animate.enabled(e[0]))if(f=function(t,i){i==="start"&&a.items.length===0?(a.$animate.off("removeClass",o[0],f),r(function(){a.focusSearchInput(n)})):i==="close"&&(a.$animate.off("enter",e[0],f),r(function(){a.focusSearchInput(n)}))},a.items.length>0)a.$animate.on("enter",e[0],f);else a.$animate.on("removeClass",o[0],f);else r(function(){a.focusSearchInput(n);!a.tagging.isActivated&&a.items.length>1&&tt()})};a.focusSearchInput=function(n){a.search=n||a.search;a.searchInput[0].focus()};a.findGroupByName=function(n){return a.groups&&a.groups.filter(function(t){return t.name===n})[0]};a.parseRepeatAttr=function(n,i,r){function s(n){var f=t.$eval(i),u;a.groups=[];angular.forEach(n,function(n){var t=angular.isFunction(f)?f(n):n[f],i=a.findGroupByName(t);i?i.items.push(n):a.groups.push({name:t,items:[n]})});r&&(u=t.$eval(r),angular.isFunction(u)?a.groups=u(a.groups):angular.isArray(u)&&(a.groups=rt(a.groups,u)));a.items=[];a.groups.forEach(function(n){a.items=a.items.concat(n.items)})}function c(n){a.items=n}a.setItemsFn=i?s:c;a.parserResult=e.parse(n);a.isGrouped=!!i;a.itemProperty=a.parserResult.itemName;var u=a.parserResult.source,f=function(){var n=u(t);t.$uisSource=Object.keys(n).map(function(t){var i={};return i[a.parserResult.keyName]=t,i.value=n[t],i})};a.parserResult.keyName&&(f(),a.parserResult.source=h("$uisSource"+a.parserResult.filters),t.$watch(u,function(n,t){n!==t&&f()},!0));a.refreshItems=function(n){var i,r;n=n||a.parserResult.source(t);i=a.selected;!a.isEmpty()&&(!angular.isArray(i)||i.length)&&a.multiple&&a.removeSelected?n!==undefined&&n!==null&&(r=n.filter(function(n){return angular.isArray(i)?i.every(function(t){return!angular.equals(n,t)}):!angular.equals(n,i)}),a.setItemsFn(r)):a.setItemsFn(n);(a.dropdownPosition==="auto"||a.dropdownPosition==="up")&&t.calculateDropdownPos();t.$broadcast("uis:refresh")};t.$watchCollection(a.parserResult.source,function(n){if(n===undefined||n===null)a.items=[];else if(angular.isArray(n))a.refreshItems(n),angular.isDefined(a.ngModel.$modelValue)&&(a.ngModel.$modelValue=null);else throw o("items","Expected an array but got '{0}'.",n);})};a.refresh=function(n){n!==undefined&&(k&&r.cancel(k),k=r(function(){t.$eval(n)},a.refreshDelay))};a.isActive=function(n){if(!a.open)return!1;var i=a.items.indexOf(n[a.itemProperty]),t=i==a.activeIndex;return!t||i<0?!1:(t&&!angular.isUndefined(a.onHighlightCallback)&&n.$eval(a.onHighlightCallback),t)};d=function(n){return a.selected&&angular.isArray(a.selected)&&a.selected.filter(function(t){return angular.equals(t,n)}).length>0};v=[];a.isDisabled=function(n){if(a.open){var i=n[a.itemProperty],r=a.items.indexOf(i),t=!1;if(r>=0&&(angular.isDefined(a.disableChoiceExpression)||a.multiple)){if(i.isTag)return!1;a.multiple&&(t=d(i));!t&&angular.isDefined(a.disableChoiceExpression)&&(t=!!n.$eval(a.disableChoiceExpression));ut(i,t)}return t}};a.select=function(n,i,u){if(n===undefined||!nt(n)){if(!a.items&&!a.search&&!a.tagging.isActivated)return;if(!n||!nt(n)){if(a.tagging.isActivated){if(a.taggingLabel===!1)if(a.activeIndex<0){if(n===undefined&&(n=a.tagging.fct!==undefined?a.tagging.fct(a.search):a.search),!n||angular.equals(a.items[0],n))return}else n=a.items[a.activeIndex];else if(a.activeIndex===0){if(n===undefined)return;if(a.tagging.fct!==undefined&&typeof n=="string"){if(n=a.tagging.fct(n),!n)return}else typeof n=="string"&&(n=n.replace(a.taggingLabel,"").trim())}if(d(n)){a.close(i);return}}t.$broadcast("uis:select",n);var f={};f[a.parserResult.itemName]=n;r(function(){a.onSelectCallback(t,{$item:n,$model:a.parserResult.modelMapper(t,f)})});a.closeOnSelect&&a.close(i);u&&u.type==="click"&&(a.clickTriggeredSelect=!0)}}};a.close=function(n){a.open&&(a.ngModel&&a.ngModel.$setTouched&&a.ngModel.$setTouched(),b(),a.open=!1,t.$broadcast("uis:close",n))};a.setFocus=function(){a.focus||a.focusInput[0].focus()};a.clear=function(n){a.select(undefined);n.stopPropagation();r(function(){a.focusser[0].focus()},0,!1)};a.toggle=function(n){a.open?(a.close(),n.preventDefault(),n.stopPropagation()):a.activate()};a.isLocked=function(){return!1};t.$watch(function(){return angular.isDefined(a.lockChoiceExpression)&&a.lockChoiceExpression!==""},ft);y=null;w=!1;a.sizeSearchInput=function(){var n=a.searchInput[0],f=a.searchInput.parent().parent()[0],i=function(){return f.clientWidth*!!n.offsetParent},u=function(t){if(t===0)return!1;var i=t-n.offsetLeft-10;return i<50&&(i=t),a.searchInput.css("width",i+"px"),!0};a.searchInput.css("width","10px");r(function(){y!==null||u(i())||(y=t.$watch(function(){w||(w=!0,t.$$postDigest(function(){w=!1;u(i())&&(y(),y=null)}))},angular.noop))})};a.searchInput.on("keydown",function(i){var u=i.which;~[n.ENTER,n.ESC].indexOf(u)&&(i.preventDefault(),i.stopPropagation());t.$apply(function(){var f=!1,t;if((a.items.length>0||a.tagging.isActivated)&&(et(u),a.taggingTokens.isActivated)){for(t=0;t<a.taggingTokens.tokens.length;t++)a.taggingTokens.tokens[t]===n.MAP[i.keyCode]&&a.search.length>0&&(f=!0);f&&r(function(){a.searchInput.triggerHandler("tagged");var t=a.search.replace(n.MAP[i.keyCode],"").trim();a.tagging.fct&&(t=a.tagging.fct(t));t&&a.select(t,!0)})}});n.isVerticalMovement(u)&&a.items.length>0&&tt();(u===n.ENTER||u===n.ESC)&&(i.preventDefault(),i.stopPropagation())});a.searchInput.on("paste",function(t){var i,r,u,f,e;if(i=window.clipboardData&&window.clipboardData.getData?window.clipboardData.getData("Text"):(t.originalEvent||t).clipboardData.getData("text/plain"),i=a.search+i,i&&i.length>0)if(a.taggingTokens.isActivated){for(r=[],u=0;u<a.taggingTokens.tokens.length;u++)if(f=n.toSeparator(a.taggingTokens.tokens[u])||a.taggingTokens.tokens[u],i.indexOf(f)>-1){r=i.split(f);break}r.length===0&&(r=[i]);e=a.search;angular.forEach(r,function(n){var t=a.tagging.fct?a.tagging.fct(n):n;t&&a.select(t,!0)});a.search=e||p;t.preventDefault();t.stopPropagation()}else a.paste&&(a.paste(i),a.search=p,t.preventDefault(),t.stopPropagation())});a.searchInput.on("tagged",function(){r(function(){b()})});g=f(function(){a.sizeSearchInput()},50);angular.element(l).bind("resize",g);t.$on("$destroy",function(){a.searchInput.off("keyup keydown tagged blur paste");angular.element(l).off("resize",g)})}]);t.directive("uiSelect",["$document","uiSelectConfig","uiSelectMinErr","uisOffset","$compile","$parse","$timeout",function(n,t,i,r,u,f,e){return{restrict:"EA",templateUrl:function(n,i){var r=i.theme||t.theme;return r+(angular.isDefined(i.multiple)?"/select-multiple.tpl.html":"/select.tpl.html")},replace:!0,transclude:!0,require:["uiSelect","^ngModel"],scope:!0,controller:"uiSelectCtrl",controllerAs:"$select",compile:function(u,o){var s=/{(.*)}\s*{(.*)}/.exec(o.ngClass),h;return s&&(h="{"+s[1]+", "+s[2]+"}",o.ngClass=h,u.attr("ng-class",h)),angular.isDefined(o.multiple)?u.append("<ui-select-multiple/>").removeAttr("multiple"):u.append("<ui-select-single/>"),o.inputId&&(u.querySelectorAll("input.ui-select-search")[0].id=o.inputId),function(u,o,s,h,c){function b(n){var i,t,f,r;l.open&&(i=!1,i=window.jQuery?window.jQuery.contains(o[0],n.target):o[0].contains(n.target),i||l.clickTriggeredSelect||(l.skipFocusser?t=!0:(f=["input","button","textarea","select"],r=angular.element(n.target).controller("uiSelect"),t=r&&r!==l,t||(t=~f.indexOf(n.target.tagName.toLowerCase()))),l.close(t),u.$digest()),l.clickTriggeredSelect=!1)}function tt(){var t=r(o);v=angular.element('<div class="ui-select-placeholder"><\/div>');v[0].style.width=t.width+"px";v[0].style.height=t.height+"px";o.after(v);w=o[0].style.width;n.find("body").append(o);o[0].style.position="absolute";o[0].style.left=t.left+"px";o[0].style.top=t.top+"px";o[0].style.width=t.width+"px"}function k(){v!==null&&(v.replaceWith(o),v=null,o[0].style.position="",o[0].style.left="",o[0].style.top="",o[0].style.width=w,l.setFocus())}var l=h[0],nt=h[1],p,v,w,a,y;l.generatedId=t.generateId();l.baseTitle=s.title||"Select box";l.focusserTitle=l.baseTitle+" focus";l.focusserId="focusser-"+l.generatedId;l.closeOnSelect=function(){return angular.isDefined(s.closeOnSelect)?f(s.closeOnSelect)():t.closeOnSelect}();u.$watch("skipFocusser",function(){var n=u.$eval(s.skipFocusser);l.skipFocusser=n!==undefined?n:t.skipFocusser});l.onSelectCallback=f(s.onSelect);l.onRemoveCallback=f(s.onRemove);l.ngModel=nt;l.choiceGrouped=function(n){return l.isGrouped&&n&&n.name};s.tabindex&&s.$observe("tabindex",function(n){l.focusInput.attr("tabindex",n);o.removeAttr("tabindex")});u.$watch(function(){return u.$eval(s.searchEnabled)},function(n){l.searchEnabled=n!==undefined?n:t.searchEnabled});u.$watch("sortable",function(){var n=u.$eval(s.sortable);l.sortable=n!==undefined?n:t.sortable});s.$observe("limit",function(){l.limit=angular.isDefined(s.limit)?parseInt(s.limit,10):undefined});u.$watch("removeSelected",function(){var n=u.$eval(s.removeSelected);l.removeSelected=n!==undefined?n:t.removeSelected});s.$observe("disabled",function(){l.disabled=s.disabled!==undefined?s.disabled:!1});s.$observe("resetSearchInput",function(){var n=u.$eval(s.resetSearchInput);l.resetSearchInput=n!==undefined?n:!0});s.$observe("paste",function(){l.paste=u.$eval(s.paste)});s.$observe("tagging",function(){if(s.tagging!==undefined){var n=u.$eval(s.tagging);l.tagging={isActivated:!0,fct:n!==!0?n:undefined}}else l.tagging={isActivated:!1,fct:undefined}});s.$observe("taggingLabel",function(){s.tagging!==undefined&&(l.taggingLabel=s.taggingLabel==="false"?!1:s.taggingLabel!==undefined?s.taggingLabel:"(new)")});s.$observe("taggingTokens",function(){if(s.tagging!==undefined){var n=s.taggingTokens!==undefined?s.taggingTokens.split("|"):[",","ENTER"];l.taggingTokens={isActivated:!0,tokens:n}}});angular.isDefined(s.autofocus)&&e(function(){l.setFocus()});angular.isDefined(s.focusOn)&&u.$on(s.focusOn,function(){e(function(){l.setFocus()})});n.on("click",b);u.$on("$destroy",function(){n.off("click",b)});c(u,function(n){var f=angular.element("<div>").append(n),r=f.querySelectorAll(".ui-select-match"),t,u;if(r.removeAttr("ui-select-match"),r.removeAttr("data-ui-select-match"),r.length!==1)throw i("transcluded","Expected 1 .ui-select-match but got '{0}'.",r.length);if(o.querySelectorAll(".ui-select-match").replaceWith(r),t=f.querySelectorAll(".ui-select-choices"),t.removeAttr("ui-select-choices"),t.removeAttr("data-ui-select-choices"),t.length!==1)throw i("transcluded","Expected 1 .ui-select-choices but got '{0}'.",t.length);o.querySelectorAll(".ui-select-choices").replaceWith(t);u=f.querySelectorAll(".ui-select-no-choice");u.removeAttr("ui-select-no-choice");u.removeAttr("data-ui-select-no-choice");u.length==1&&o.querySelectorAll(".ui-select-no-choice").replaceWith(u)});p=u.$eval(s.appendToBody);(p!==undefined?p:t.appendToBody)&&(u.$watch("$select.open",function(n){n?tt():k()}),u.$on("$destroy",function(){k()}));v=null;w="";a=null;y="direction-up";u.$watch("$select.open",function(){(l.dropdownPosition==="auto"||l.dropdownPosition==="up")&&u.calculateDropdownPos()});var d=function(n,t){n=n||r(o);t=t||r(a);a[0].style.position="absolute";a[0].style.top=t.height*-1+"px";o.addClass(y)},it=function(n,t){o.removeClass(y);n=n||r(o);t=t||r(a);a[0].style.position="";a[0].style.top=""},g=function(){e(function(){if(l.dropdownPosition==="up")d();else{o.removeClass(y);var t=r(o),i=r(a),u=n[0].documentElement.scrollTop||n[0].body.scrollTop;t.top+t.height+i.height>u+n[0].documentElement.clientHeight?d(t,i):it(t,i)}a[0].style.opacity=1})};u.calculateDropdownPos=function(){if(l.open){if(a=angular.element(o).querySelectorAll(".ui-select-dropdown"),a.length===0)return;if(a[0].style.opacity=0,!r(a).height&&l.$animate&&l.$animate.on&&l.$animate.enabled(a)){var n=!0;l.$animate.on("enter",a,function(t,i){i==="close"&&n&&(g(),n=!1)})}else g()}else{if(a===null||a.length===0)return;a[0].style.opacity=0;a[0].style.position="";a[0].style.top="";o.removeClass(y)}}}}}}]);t.directive("uiSelectMatch",["uiSelectConfig",function(n){function t(n,t){return n[0].hasAttribute(t)?n.attr(t):n[0].hasAttribute("data-"+t)?n.attr("data-"+t):n[0].hasAttribute("x-"+t)?n.attr("x-"+t):void 0}return{restrict:"EA",require:"^uiSelect",replace:!0,transclude:!0,templateUrl:function(i){i.addClass("ui-select-match");var r=i.parent(),u=t(r,"theme")||n.theme,f=angular.isDefined(t(r,"multiple"));return u+(f?"/match-multiple.tpl.html":"/match.tpl.html")},link:function(t,i,r,u){function f(n){u.allowClear=angular.isDefined(n)?n===""?!0:n.toLowerCase()==="true":!1}u.lockChoiceExpression=r.uiLockChoice;r.$observe("placeholder",function(t){u.placeholder=t!==undefined?t:n.placeholder});r.$observe("allowClear",f);f(r.allowClear);u.multiple&&u.sizeSearchInput()}}}]);t.directive("uiSelectMultiple",["uiSelectMinErr","$timeout",function(t,i){return{restrict:"EA",require:["^uiSelect","^ngModel"],controller:["$scope","$timeout",function(n,t){var r=this,i=n.$select,u;angular.isUndefined(i.selected)&&(i.selected=[]);n.$evalAsync(function(){u=n.ngModel});r.activeMatchIndex=-1;r.updateModel=function(){u.$setViewValue(Date.now());r.refreshComponent()};r.refreshComponent=function(){i.refreshItems&&i.refreshItems();i.sizeSearchInput&&i.sizeSearchInput()};r.removeChoice=function(u){if(i.isLocked(null,u))return!1;var f=i.selected[u],e={};return e[i.parserResult.itemName]=f,i.selected.splice(u,1),r.activeMatchIndex=-1,i.sizeSearchInput(),t(function(){i.onRemoveCallback(n,{$item:f,$model:i.parserResult.modelMapper(n,e)})}),r.updateModel(),!0};r.getPlaceholder=function(){if(!i.selected||!i.selected.length)return i.placeholder}}],controllerAs:"$selectMultiple",link:function(r,u,f,e){function a(n){return angular.isNumber(n.selectionStart)?n.selectionStart:n.value.length}function v(t){function l(){switch(t){case n.LEFT:return~s.activeMatchIndex?f:r;case n.RIGHT:return~s.activeMatchIndex&&i!==r?c:(o.activate(),!1);case n.BACKSPACE:return~s.activeMatchIndex?s.removeChoice(i)?f:i:r;case n.DELETE:return~s.activeMatchIndex?(s.removeChoice(s.activeMatchIndex),i):!1}}var e=a(o.searchInput[0]),h=o.selected.length,r=h-1,i=s.activeMatchIndex,c=s.activeMatchIndex+1,f=s.activeMatchIndex-1,u=i;return e>0||o.search.length&&t==n.RIGHT?!1:(o.close(),u=l(),s.activeMatchIndex=o.selected.length&&u!==!1?Math.min(r,Math.max(0,u)):-1,!0)}function c(n){if(n===undefined||o.search===undefined)return!1;return n.filter(function(n){return o.search.toUpperCase()===undefined||n===undefined?!1:n.toUpperCase()===o.search.toUpperCase()}).length>0}function l(n,t){var f=-1,r,i,u;if(angular.isArray(n))for(r=angular.copy(n),i=0;i<r.length;i++)o.tagging.fct===undefined?r[i]+" "+o.taggingLabel===t&&(f=i):(u=r[i],angular.isObject(u)&&(u.isTag=!0),angular.equals(u,t)&&(f=i));return f}var o=e[0],h=r.ngModel=e[1],s=r.$selectMultiple;o.multiple=!0;o.focusInput=o.searchInput;h.$isEmpty=function(n){return!n||n.length===0};h.$parsers.unshift(function(){for(var n={},i,u=[],t=o.selected.length-1;t>=0;t--)n={},n[o.parserResult.itemName]=o.selected[t],i=o.parserResult.modelMapper(r,n),u.unshift(i);return u});h.$formatters.unshift(function(n){var e=o.parserResult&&o.parserResult.source(r,{$select:{search:""}}),s={},u,t,f,i;if(!e)return n;if(t=[],f=function(n,i){var f,h,e;if(n&&n.length){for(f=n.length-1;f>=0;f--)if((s[o.parserResult.itemName]=n[f],u=o.parserResult.modelMapper(r,s),o.parserResult.trackByExp&&(h=/(\w*)\./.exec(o.parserResult.trackByExp),e=/\.([^\s]+)/.exec(o.parserResult.trackByExp),h&&h.length>0&&h[1]==o.parserResult.itemName&&e&&e.length>0&&u[e[1]]==i[e[1]]))||angular.equals(u,i))return t.unshift(n[f]),!0;return!1}},!n)return t;for(i=n.length-1;i>=0;i--)f(o.selected,n[i])||f(e,n[i])||t.unshift(n[i]);return t});r.$watchCollection(function(){return h.$modelValue},function(n,t){t!=n&&(angular.isDefined(h.$modelValue)&&(h.$modelValue=null),s.refreshComponent())});h.$render=function(){if(!angular.isArray(h.$viewValue))if(angular.isUndefined(h.$viewValue)||h.$viewValue===null)h.$viewValue=[];else throw t("multiarr","Expected model value to be array but got '{0}'",h.$viewValue);o.selected=h.$viewValue;s.refreshComponent();r.$evalAsync()};r.$on("uis:select",function(n,t){o.selected.length>=o.limit||(o.selected.push(t),s.updateModel())});r.$on("uis:activate",function(){s.activeMatchIndex=-1});r.$watch("$select.disabled",function(n,t){t&&!n&&o.sizeSearchInput()});o.searchInput.on("keydown",function(t){var i=t.which;r.$apply(function(){var r=!1;n.isHorizontalMovement(i)&&(r=v(i));r&&i!=n.TAB&&(t.preventDefault(),t.stopPropagation())})});o.searchInput.on("keyup",function(t){if(n.isVerticalMovement(t.which)||r.$evalAsync(function(){o.activeIndex=o.taggingLabel===!1?-1:0}),o.tagging.isActivated&&o.search.length>0){if(t.which===n.TAB||n.isControl(t)||n.isFunctionKey(t)||t.which===n.ESC||n.isVerticalMovement(t.which))return;if(o.activeIndex=o.taggingLabel===!1?-1:0,o.taggingLabel===!1)return;var i=angular.copy(o.items),u=angular.copy(o.items),f,v,s=!1,a=-1,e,h;if(o.tagging.fct!==undefined){if(e=o.$filter("filter")(i,{isTag:!0}),e.length>0&&(h=e[0]),i.length>0&&h&&(s=!0,i=i.slice(1,i.length),u=u.slice(1,u.length)),f=o.tagging.fct(o.search),u.some(function(n){return angular.equals(n,f)})||o.selected.some(function(n){return angular.equals(n,f)})){r.$evalAsync(function(){o.activeIndex=0;o.items=i});return}f&&(f.isTag=!0)}else{if(e=o.$filter("filter")(i,function(n){return n.match(o.taggingLabel)}),e.length>0&&(h=e[0]),v=i[0],v!==undefined&&i.length>0&&h&&(s=!0,i=i.slice(1,i.length),u=u.slice(1,u.length)),f=o.search+" "+o.taggingLabel,l(o.selected,o.search)>-1)return;if(c(u.concat(o.selected))){s&&(i=u,r.$evalAsync(function(){o.activeIndex=0;o.items=i}));return}if(c(u)){s&&(o.items=u.slice(1,u.length));return}}s&&(a=l(o.selected,f));a>-1?i=i.slice(a+1,i.length-1):(i=[],f&&i.push(f),i=i.concat(u));r.$evalAsync(function(){if(o.activeIndex=0,o.items=i,o.isGrouped){var n=f?i.slice(1):i;o.setItemsFn(n);f&&(o.items.unshift(f),o.groups.unshift({name:"",items:[f],tagging:!0}))}})}});o.searchInput.on("blur",function(){i(function(){s.activeMatchIndex=-1})})}}}]);t.directive("uiSelectNoChoice",["uiSelectConfig",function(n){return{restrict:"EA",require:"^uiSelect",replace:!0,transclude:!0,templateUrl:function(t){t.addClass("ui-select-no-choice");var i=t.parent().attr("theme")||n.theme;return i+"/no-choice.tpl.html"}}}]);t.directive("uiSelectSingle",["$timeout","$compile",function(t,i){return{restrict:"EA",require:["^uiSelect","^ngModel"],link:function(r,u,f,e){var o=e[0],h=e[1],s;h.$parsers.unshift(function(n){var t={};return t[o.parserResult.itemName]=n,o.parserResult.modelMapper(r,t)});h.$formatters.unshift(function(n){var i=o.parserResult&&o.parserResult.source(r,{$select:{search:""}}),f={},e,u,t;if(i){if(u=function(t){return f[o.parserResult.itemName]=t,e=o.parserResult.modelMapper(r,f),e===n},o.selected&&u(o.selected))return o.selected;for(t=i.length-1;t>=0;t--)if(u(i[t]))return i[t]}return n});r.$watch("$select.selected",function(n){h.$viewValue!==n&&h.$setViewValue(n)});h.$render=function(){o.selected=h.$viewValue};r.$on("uis:select",function(n,t){o.selected=t});r.$on("uis:close",function(n,i){t(function(){o.focusser.prop("disabled",!1);i||o.focusser[0].focus()},0,!1)});r.$on("uis:activate",function(){s.prop("disabled",!0)});s=angular.element("<input ng-disabled='$select.disabled' class='ui-select-focusser ui-select-offscreen' type='text' id='{{ $select.focusserId }}' aria-label='{{ $select.focusserTitle }}' aria-haspopup='true' role='button' />");i(s)(r);o.focusser=s;o.focusInput=s;u.parent().append(s);s.bind("focus",function(){r.$evalAsync(function(){o.focus=!0})});s.bind("blur",function(){r.$evalAsync(function(){o.focus=!1})});s.bind("keydown",function(t){if(t.which===n.BACKSPACE){t.preventDefault();t.stopPropagation();o.select(undefined);r.$apply();return}t.which===n.TAB||n.isControl(t)||n.isFunctionKey(t)||t.which===n.ESC||((t.which==n.DOWN||t.which==n.UP||t.which==n.ENTER||t.which==n.SPACE)&&(t.preventDefault(),t.stopPropagation(),o.activate()),r.$digest())});s.bind("keyup input",function(t){t.which===n.TAB||n.isControl(t)||n.isFunctionKey(t)||t.which===n.ESC||t.which==n.ENTER||t.which===n.BACKSPACE||(o.activate(s.val()),s.val(""),r.$digest())})}}}]);t.directive("uiSelectSort",["$timeout","uiSelectConfig","uiSelectMinErr",function(n,t,i){return{require:["^^uiSelect","^ngModel"],link:function(t,r,u,f){if(t[u.uiSelectSort]===null)throw i("sort","Expected a list to sort");var a=f[0],w=f[1],b=angular.extend({axis:"horizontal"},t.$eval(u.uiSelectSortOptions)),v=b.axis,h="dragging",c="dropping",o="dropping-before",s="dropping-after";t.$watch(function(){return a.sortable},function(n){n?r.attr("draggable",!0):r.removeAttr("draggable")});r.on("dragstart",function(n){r.addClass(h);(n.dataTransfer||n.originalEvent.dataTransfer).setData("text",t.$index.toString())});r.on("dragend",function(){e(h)});var k=function(n,t){this.splice(t,0,this.splice(n,1)[0])},e=function(n){angular.forEach(a.$element.querySelectorAll("."+n),function(t){angular.element(t).removeClass(n)})},y=function(n){n.preventDefault();var t=v==="vertical"?n.offsetY||n.layerY||(n.originalEvent?n.originalEvent.offsetY:0):n.offsetX||n.layerX||(n.originalEvent?n.originalEvent.offsetX:0);t<this[v==="vertical"?"offsetHeight":"offsetWidth"]/2?(e(s),r.addClass(o)):(e(o),r.addClass(s))},p,l=function(t){t.preventDefault();var i=parseInt((t.dataTransfer||t.originalEvent.dataTransfer).getData("text"),10);n.cancel(p);p=n(function(){d(i)},20)},d=function(n){var i=t.$eval(u.uiSelectSort),h=i[n],f=null;f=r.hasClass(o)?n<t.$index?t.$index-1:t.$index:n<t.$index?t.$index:t.$index+1;k.apply(i,[n,f]);w.$setViewValue(Date.now());t.$apply(function(){t.$emit("uiSelectSort:change",{array:i,item:h,from:n,to:f})});e(c);e(o);e(s);r.off("drop",l)};r.on("dragenter",function(){if(!r.hasClass(h)){r.addClass(c);r.on("dragover",y);r.on("drop",l)}});r.on("dragleave",function(n){n.target==r&&(e(c),e(o),e(s),r.off("dragover",y),r.off("drop",l))})}}}]);t.service("uisRepeatParser",["uiSelectMinErr","$parse",function(n,t){var i=this;i.parse=function(i){var r,u,f,e;if(r=i.match(/^\s*(?:([\s\S]+?)\s+as\s+)?(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+(\s*[\s\S]+?)?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/),!r)throw n("iexp","Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.",i);return u=r[5],f="",r[3]&&(u=r[5].replace(/(^\()|(\)$)/g,""),e=r[5].match(/^\s*(?:[\s\S]+?)(?:[^\|]|\|\|)+([\s\S]*)\s*$/),e&&e[1].trim()&&(f=e[1],u=u.replace(f,""))),{itemName:r[4]||r[2],keyName:r[3],source:t(u),filters:f,trackByExp:r[6],modelMapper:t(r[1]||r[4]||r[2]),repeatExpression:function(n){var t=this.itemName+" in "+(n?"$group.items":"$select.items");return this.trackByExp&&(t+=" track by "+this.trackByExp),t}}};i.getGroupNgRepeatExpression=function(){return"$group in $select.groups"}}])}();angular.module("ui.select").run(["$templateCache",function(n){n.put("bootstrap/choices.tpl.html",'<ul class="ui-select-choices ui-select-choices-content ui-select-dropdown dropdown-menu" role="listbox" ng-show="$select.open && $select.items.length > 0"><li class="ui-select-choices-group" id="ui-select-choices-{{ $select.generatedId }}"><div class="divider" ng-show="$select.isGrouped && $index > 0"><\/div><div ng-show="$select.isGrouped" class="ui-select-choices-group-label dropdown-header" ng-bind="$group.name"><\/div><div ng-attr-id="ui-select-choices-row-{{ $select.generatedId }}-{{$index}}" class="ui-select-choices-row" ng-class="{active: $select.isActive(this), disabled: $select.isDisabled(this)}" role="option"><a href="" class="ui-select-choices-row-inner"><\/a><\/div><\/li><\/ul>');n.put("bootstrap/match-multiple.tpl.html",'<span class="ui-select-match"><span ng-repeat="$item in $select.selected track by $index"><span class="ui-select-match-item btn-xs btn" tabindex="-1" type="button" ng-disabled="$select.disabled" ng-click="$selectMultiple.activeMatchIndex = $index;" ng-class="{\'btn-default\': individualIdsInError.indexOf($item.IndividualId) == -1, \'btn-error\': individualIdsInError.indexOf($item.IndividualId) != -1, \'btn-primary\':$selectMultiple.activeMatchIndex === $index, \'select-locked\':$select.isLocked(this, $index)}" ui-select-sort="$select.selected"><span class="close ui-select-match-close" ng-hide="$select.disabled" ng-click="$selectMultiple.removeChoice($index)">&nbsp;&times;<\/span> <span uis-transclude-append=""><\/span><\/span><\/span><\/span>');n.put("bootstrap/match.tpl.html",'<div class="ui-select-match" ng-hide="$select.open && $select.searchEnabled" ng-disabled="$select.disabled" ng-class="{\'btn-default-focus\':$select.focus}"><span tabindex="-1" class="btn btn-default form-control ui-select-toggle" aria-label="{{ $select.baseTitle }} activate" ng-disabled="$select.disabled" ng-click="$select.activate()" style="outline: 0;"><span ng-show="$select.isEmpty()" class="ui-select-placeholder text-muted">{{$select.placeholder}}<\/span> <span ng-hide="$select.isEmpty()" class="ui-select-match-text pull-left" ng-class="{\'ui-select-allow-clear\': $select.allowClear && !$select.isEmpty()}" ng-transclude=""><\/span> <i class="caret pull-right" ng-click="$select.toggle($event)"><\/i> <a ng-show="$select.allowClear && !$select.isEmpty() && ($select.disabled !== true)" aria-label="{{ $select.baseTitle }} clear" style="margin-right: 10px" ng-click="$select.clear($event)" class="btn btn-xs btn-link pull-right"><i class="glyphicon glyphicon-remove" aria-hidden="true"><\/i><\/a><\/span><\/div>');n.put("bootstrap/no-choice.tpl.html",'<ul class="ui-select-no-choice dropdown-menu" ng-show="$select.items.length == 0"><li ng-transclude=""><\/li><\/ul>');n.put("bootstrap/select-multiple.tpl.html",'<div class="ui-select-container ui-select-multiple ui-select-bootstrap dropdown form-control" ng-class="{open: $select.open}"><div><div class="ui-select-match"><\/div><input type="search" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" class="ui-select-search input-xs" placeholder="{{$selectMultiple.getPlaceholder()}}" ng-disabled="$select.disabled" ng-hide="$select.disabled" ng-click="$select.activate()" ng-model="$select.search" role="combobox" aria-label="{{ $select.baseTitle }}" ondrop="return false;"><\/div><div class="ui-select-choices"><\/div><div class="ui-select-no-choice"><\/div><\/div>');n.put("bootstrap/select.tpl.html",'<div class="ui-select-container ui-select-bootstrap dropdown " ng-class="{open: $select.open}"><div class="ui-select-match"><\/div><input type="search" autocomplete="off" tabindex="-1" aria-expanded="true" aria-label="{{ $select.baseTitle }}" aria-owns="ui-select-choices-{{ $select.generatedId }}" aria-activedescendant="ui-select-choices-row-{{ $select.generatedId }}-{{ $select.activeIndex }}" class="form-control ui-select-search" placeholder="{{$select.placeholder}}" ng-model="$select.search" ng-show="$select.searchEnabled && $select.open"><div class="ui-select-choices"><\/div><div class="ui-select-no-choice"><\/div><\/div>');n.put("select2/choices.tpl.html",'<ul tabindex="-1" class="ui-select-choices ui-select-choices-content select2-results"><li class="ui-select-choices-group" ng-class="{\'select2-result-with-children\': $select.choiceGrouped($group) }"><div ng-show="$select.choiceGrouped($group)" class="ui-select-choices-group-label select2-result-label" ng-bind="$group.name"><\/div><ul role="listbox" id="ui-select-choices-{{ $select.generatedId }}" ng-class="{\'select2-result-sub\': $select.choiceGrouped($group), \'select2-result-single\': !$select.choiceGrouped($group) }"><li role="option" ng-attr-id="ui-select-choices-row-{{ $select.generatedId }}-{{$index}}" class="ui-select-choices-row" ng-class="{\'select2-highlighted\': $select.isActive(this), \'select2-disabled\': $select.isDisabled(this)}"><div class="select2-result-label ui-select-choices-row-inner"><\/div><\/li><\/ul><\/li><\/ul>');n.put("select2/match-multiple.tpl.html",'<span class="ui-select-match"><li class="ui-select-match-item select2-search-choice" ng-repeat="$item in $select.selected track by $index" ng-class="{\'select2-search-choice-focus\':$selectMultiple.activeMatchIndex === $index, \'select2-locked\':$select.isLocked(this, $index)}" ui-select-sort="$select.selected"><span uis-transclude-append=""><\/span> <a href="javascript:;" class="ui-select-match-close select2-search-choice-close" ng-click="$selectMultiple.removeChoice($index)" tabindex="-1"><\/a><\/li><\/span>');n.put("select2/match.tpl.html",'<a class="select2-choice ui-select-match" ng-class="{\'select2-default\': $select.isEmpty()}" ng-click="$select.toggle($event)" aria-label="{{ $select.baseTitle }} select"><span ng-show="$select.isEmpty()" class="select2-chosen">{{$select.placeholder}}<\/span> <span ng-hide="$select.isEmpty()" class="select2-chosen" ng-transclude=""><\/span> <abbr ng-if="$select.allowClear && !$select.isEmpty()" class="select2-search-choice-close" ng-click="$select.clear($event)"><\/abbr> <span class="select2-arrow ui-select-toggle"><b><\/b><\/span><\/a>');n.put("select2/no-choice.tpl.html",'<div class="ui-select-no-choice dropdown" ng-show="$select.items.length == 0"><div class="dropdown-content"><div data-selectable="" ng-transclude=""><\/div><\/div><\/div>');n.put("select2/select-multiple.tpl.html",'<div class="ui-select-container ui-select-multiple select2 select2-container select2-container-multi" ng-class="{\'select2-container-active select2-dropdown-open open\': $select.open, \'select2-container-disabled\': $select.disabled}"><ul class="select2-choices"><span class="ui-select-match"><\/span><li class="select2-search-field"><input type="search" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="combobox" aria-expanded="true" aria-owns="ui-select-choices-{{ $select.generatedId }}" aria-label="{{ $select.baseTitle }}" aria-activedescendant="ui-select-choices-row-{{ $select.generatedId }}-{{ $select.activeIndex }}" class="select2-input ui-select-search" placeholder="{{$selectMultiple.getPlaceholder()}}" ng-disabled="$select.disabled" ng-hide="$select.disabled" ng-model="$select.search" ng-click="$select.activate()" style="width: 34px;" ondrop="return false;"><\/li><\/ul><div class="ui-select-dropdown select2-drop select2-with-searchbox select2-drop-active" ng-class="{\'select2-display-none\': !$select.open || $select.items.length === 0}"><div class="ui-select-choices"><\/div><\/div><\/div>');n.put("select2/select.tpl.html",'<div class="ui-select-container select2 select2-container" ng-class="{\'select2-container-active select2-dropdown-open open\': $select.open, \'select2-container-disabled\': $select.disabled, \'select2-container-active\': $select.focus, \'select2-allowclear\': $select.allowClear && !$select.isEmpty()}"><div class="ui-select-match"><\/div><div class="ui-select-dropdown select2-drop select2-with-searchbox select2-drop-active" ng-class="{\'select2-display-none\': !$select.open}"><div class="select2-search" ng-show="$select.searchEnabled"><input type="search" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="combobox" aria-expanded="true" aria-owns="ui-select-choices-{{ $select.generatedId }}" aria-label="{{ $select.baseTitle }}" aria-activedescendant="ui-select-choices-row-{{ $select.generatedId }}-{{ $select.activeIndex }}" class="ui-select-search select2-input" ng-model="$select.search"><\/div><div class="ui-select-choices"><\/div><div class="ui-select-no-choice"><\/div><\/div><\/div>');n.put("selectize/choices.tpl.html",'<div ng-show="$select.open" class="ui-select-choices ui-select-dropdown selectize-dropdown single"><div class="ui-select-choices-content selectize-dropdown-content"><div class="ui-select-choices-group optgroup" role="listbox"><div ng-show="$select.isGrouped" class="ui-select-choices-group-label optgroup-header" ng-bind="$group.name"><\/div><div role="option" class="ui-select-choices-row" ng-class="{active: $select.isActive(this), disabled: $select.isDisabled(this)}"><div class="option ui-select-choices-row-inner" data-selectable=""><\/div><\/div><\/div><\/div><\/div>');n.put("selectize/match.tpl.html",'<div ng-hide="$select.searchEnabled && ($select.open || $select.isEmpty())" class="ui-select-match" ng-transclude=""><\/div>');n.put("selectize/no-choice.tpl.html",'<div class="ui-select-no-choice selectize-dropdown" ng-show="$select.items.length == 0"><div class="selectize-dropdown-content"><div data-selectable="" ng-transclude=""><\/div><\/div><\/div>');n.put("selectize/select.tpl.html",'<div class="ui-select-container selectize-control single" ng-class="{\'open\': $select.open}"><div class="selectize-input" ng-class="{\'focus\': $select.open, \'disabled\': $select.disabled, \'selectize-focus\' : $select.focus}" ng-click="$select.open && !$select.searchEnabled ? $select.toggle($event) : $select.activate()"><div class="ui-select-match"><\/div><input type="search" autocomplete="off" tabindex="-1" class="ui-select-search ui-select-toggle" ng-click="$select.toggle($event)" placeholder="{{$select.placeholder}}" ng-model="$select.search" ng-hide="!$select.searchEnabled || (!$select.isEmpty() && !$select.open)" ng-disabled="$select.disabled" aria-label="{{ $select.baseTitle }}"><\/div><div class="ui-select-choices"><\/div><div class="ui-select-no-choice"><\/div><\/div>')}]);angular.module("hierarchical-selector",["hierarchical-selector.tree-item","hierarchical-selector.selectorUtils"]).directive("hierarchicalSelector",["$compile","selectorUtils",function(n,t){return{restrict:"E",replace:!0,templateUrl:"hierarchical-selector.tpl.html",scope:{syncData:"=data",multiSelect:"=?",onSelectionChanged:"&",selectOnlyLeafs:"=?",canSelectItem:"&",loadChildItems:"&",itemHasChildren:"&",selection:"=",tagName:"&"},link:function(n,t,i){if(i.canSelectItem&&(n.useCanSelectItemCallback=!0),i.loadChildItems&&(n.isAsync=!0),i.noButton===undefined&&(n.showButton=!0),i.tagName&&(n.useTagName=!0),!n.syncData&&n.isAsync){n.data=[];var r=n.loadChildItems({parent:null});angular.isArray(r)?n.data=r:r.then(function(t){n.data=t})}n.syncData&&(n.data=n.syncData,n.$watch("syncData",function(){n.data=n.syncData}))},controller:["$scope","$document","$window","$interpolate",function(n,i){function f(){u();n.$apply()}function u(){if(n.showTree=!1,r){var u=t.getMetaData(r);u.isActive=!1;r=undefined}n.asyncChildCache={};i.off("click",f);i.off("keydown",h)}function e(i,r,u,f){var s,h,o;if(r){if(s=r.indexOf(i),s>-1)return{currentArray:r,parentArray:u,parentIndex:f,itemIndex:s};for(o=0;o<r.length;o++)if(t.hasChildren(r[o],n.isAsync)&&(h=e(i,t.getChildren(r[o],n.isAsync,n.asyncChildCache),r,o),h))break;return h}}function o(i){var u=t.getChildren(i,n.isAsync,n.asyncChildCache),r=u[u.length-1];return t.getMetaData(r).isExpanded?o(r):r}function c(i,r,u){var f=e(r,u),h=t.getMetaData(r),s;if(i){if(h.isExpanded)return t.getChildren(r,n.isAsync,n.asyncChildCache)[0];if(f.itemIndex<f.currentArray.length-1)return f.currentArray[f.itemIndex+1];if(f.itemIndex==f.currentArray.length-1&&f.parentArray&&f.parentIndex<f.parentArray.length-1)return f.parentArray[f.parentIndex+1]}else{if(f.itemIndex>0)return(s=f.currentArray[f.itemIndex-1],t.getMetaData(s).isExpanded)?o(s):s;if(f.itemIndex===0&&f.parentArray)return f.parentArray[f.parentIndex]}return r}function s(t){if(r)n.onActiveItem(c(t,r,n.data));else{idx=t?0:n.data.length-1;n.onActiveItem(n.data[idx])}n.$apply()}function h(i){switch(i.keyCode){case 27:i.preventDefault();i.stopPropagation();u();n.$apply();break;case 32:case 13:i.preventDefault();i.stopPropagation();r&&(n.itemSelected(r),n.$apply());break;case 40:i.preventDefault();i.stopPropagation();s(!0);break;case 38:i.preventDefault();i.stopPropagation();s(!1);break;case 37:i.preventDefault();i.stopPropagation();r&&(t.getMetaData(r).isExpanded=!1,n.$apply());break;case 39:i.preventDefault();i.stopPropagation();r&&(t.getMetaData(r).isExpanded=!0,n.$apply())}}var r;n.showTree=!1;n.selectedItems=[];n.multiSelect=n.multiSelect||!1;n.asyncChildCache={};n.onActiveItem=function(n){var i,u;r!=n&&(r&&(i=t.getMetaData(r),i.isActive=!1),r=n,u=t.getMetaData(r),u.isActive=!0)};n.deselectItem=function(i,r){r.stopPropagation();n.selectedItems.splice(n.selectedItems.indexOf(i),1);u();var f=t.getMetaData(i);if(f.selected=!1,n.onSelectionChanged)n.onSelectionChanged({items:n.selectedItems.length?n.selectedItems:undefined})};n.onButtonClicked=function(t){if(n.showTree)u();else n.onControlClicked(t)};n.onControlClicked=function(t){if(t.stopPropagation(),!n.showTree){n.showTree=!0;i.on("click",f);i.on("keydown",h)}};n.itemSelected=function(i){var r,f,e;if((!n.useCanSelectItemCallback||n.canSelectItem({item:i})!==!1)&&(!n.selectOnlyLeafs||!t.hasChildren(i,n.isAsync))){if(r=t.getMetaData(i),n.multiSelect)r.selected=!0,e=n.selectedItems.indexOf(i),e>-1?(r.selected=!1,n.selectedItems.splice(e,1)):n.selectedItems.push(i);else{for(u(),f=0;f<n.selectedItems.length;f++)t.getMetaData(n.selectedItems[f]).selected=!1;r.selected=!0;n.selectedItems=[];n.selectedItems.push(i)}if(n.onSelectionChanged)n.onSelectionChanged({items:n.selectedItems.length?n.selectedItems:undefined})}};n.clearSelection=function(){if(n.selectedItems=[],n.onSelectionChanged)n.onSelectionChanged({items:undefined})};n.$watch("selection",function(t){if(t)if(angular.isArray(t))for(var i=0;i<t.length;i++)n.itemSelected(angular.copy(t[i]));else n.itemSelected(angular.copy(t));else n.clearSelection()});n.getTagName=function(t){return n.useTagName?n.tagName({item:t}):t.name}}]}}]);angular.module("hierarchical-selector.selectorUtils",[]).factory("selectorUtils",["$q",function(){return{getMetaPath:function(){return"_hsmeta"},getMetaData:function(n){return n._hsmeta||(n._hsmeta={}),n._hsmeta},hasChildren:function(n,t){return t?n.hasChildren:n.children&&n.children.length>0},getChildren:function(n,t,i){var r=t?i[n.$$hashKey]:n.children;return t&&!r&&n.hasChildren?[]:r}}}]);angular.module("hierarchical-selector.tree-item",["hierarchical-selector.selectorUtils"]).directive("treeItem",["$compile","$q","selectorUtils",function(n,t,i){return{restrict:"E",replace:!0,templateUrl:"tree-item.tpl.html",scope:{item:"=",itemSelected:"&",onActiveItem:"&",multiSelect:"=?",isActive:"=",selectOnlyLeafs:"=?",useCanSelectItem:"=",canSelectItem:"=",loadChildItems:"=",itemHasChildren:"&",async:"=",asyncChildCache:"="},controller:["$scope",function(n){n.metaData=i.getMetaData(n.item);n.metaData.isExpanded=!1;n.theChildren=n.item.children;n.showExpando=function(t){return i.hasChildren(t,n.async)};n.onExpandoClicked=function(n,t){t.stopPropagation();var r=i.getMetaData(n);r.isExpanded=!r.isExpanded};n.clickSelectItem=function(t,i){i.stopPropagation();n.itemSelected&&n.itemSelected({item:t})};n.subItemSelected=function(t){n.itemSelected&&n.itemSelected({item:t})};n.activeSubItem=function(t){if(n.onActiveItem)n.onActiveItem({item:t})};n.onMouseOver=function(t){if(t.stopPropagation(),angular.isFunction(n.onActiveItem))n.onActiveItem({item:n.item})};n.showCheckbox=function(){return n.multiSelect?n.useCanSelectItem?n.canSelectItem({item:n.item}):!n.selectOnlyLeafs||n.selectOnlyLeafs&&!i.hasChildren(n.item,n.async):!1}}],compile:function(t,r,u){angular.isFunction(u)&&(u={post:u});var e=t.contents().remove(),f;return{pre:u&&u.pre?u.pre:null,post:function(t,r){f||(f=n(e));f(t,function(n){r.append(n)});u&&u.post&&u.post.apply(null,arguments);t.async&&t.$watch("item."+i.getMetaPath()+".isExpanded",function(n){if(n){if(t.asyncChildCache[t.item.$$hashKey])return t.asyncChildCache[t.item.$$hashKey];if(t.theChildren=[{placeholder:!0}],angular.isFunction(t.loadChildItems)&&t.item){var i=t.loadChildItems({parent:t.item});angular.isArray(i)&&(t.theChildren=i);i.then(function(n){t.theChildren=n;t.asyncChildCache[t.item.$$hashKey]=n})}}})}}}}}]);angular.module("hierarchical-selector").run(["$templateCache",function(n){n.put("hierarchical-selector.tpl.html",'<div class="hierarchical-control">\r\n  <div class="control-group">\r\n    <button type="button" ng-if="showButton" class="pull-down" ng-click="onButtonClicked($event)"><div class="arrow-down"><\/div><\/button>\r\n    <div class="hierarchical-input form-control" ng-class="{\'with-btn\': showButton}" ng-click="onControlClicked($event)">\r\n      <span ng-if="selectedItems.length > 0" class="selected-items">\r\n        <span ng-repeat="i in selectedItems" class="selected-item">{{getTagName(i)}} <span class="selected-item-close" ng-click="deselectItem(i, $event)"><\/span><\/span>\r\n      <\/span>\r\n      <!-- <input type="text" class="blend-in" /> -->\r\n    <\/div>\r\n  <\/div>\r\n  <div class="tree-view" ng-show="showTree">\r\n    <ul>\r\n      <tree-item class="top-level" ng-repeat="item in data" item="item" select-only-leafs="selectOnlyLeafs" use-can-select-item="useCanSelectItemCallback" can-select-item="canSelectItem" multi-select="multiSelect" item-selected="itemSelected(item)" on-active-item="onActiveItem(item)" load-child-items="loadChildItems" async="isAsync" item-has-children="hasChildren(parent)" async-child-cache="asyncChildCache" />\r\n    <\/ul>\r\n  <\/div>\r\n<\/div>\r\n');n.put("tree-item.tpl.html",'<li>\r\n  <div class="item-container" ng-class="{active: metaData.isActive, selected: metaData.selected}" ng-mouseover="onMouseOver($event)" ng-click="clickSelectItem(item, $event)">\r\n    <span ng-if="showExpando(item)" class="expando" ng-class="{\'expando-opened\': metaData.isExpanded}" ng-click="onExpandoClicked(item, $event)"><\/span><div class="item-details"><input class="tree-checkbox" type="checkbox" ng-if="showCheckbox()" ng-checked="metaData.selected" />{{item.name}}<\/div>\r\n  <\/div>\r\n  <ul ng-repeat="child in theChildren" ng-if="metaData.isExpanded">\r\n    <div ng-if="child.placeholder" class="loading">Loading...<\/div>\r\n    <tree-item ng-if="!child.placeholder" item="child" item-selected="subItemSelected(item)" select-only-leafs="selectOnlyLeafs" use-can-select-item="useCanSelectItem" can-select-item="canSelectItem" multi-select="multiSelect" on-active-item="activeSubItem(item, $event)" load-child-items="loadChildItems" async="async" async-child-cache="asyncChildCache" />\r\n  <\/ul>\r\n<\/li>\r\n')}]),function(){"use strict";angular.module("ui.validate",[]).directive("uiValidate",["$$uiValidateApplyWatch","$$uiValidateApplyWatchCollection",function(n,t){return{restrict:"A",require:"ngModel",link:function(i,r,u,f){var o,e=i.$eval(u.uiValidate);e&&(angular.isString(e)&&(e={validator:e}),angular.forEach(e,function(n,t){o=function(r,u){var e=i.$eval(n,{$value:r,$modelValue:r,$viewValue:u,$name:f.$name});return angular.isObject(e)&&angular.isFunction(e.then)?(e.then(function(){f.$setValidity(t,!0)},function(){f.$setValidity(t,!1)}),!0):e};f.$validators[t]=o}),u.uiValidateWatch&&n(i,f,i.$eval(u.uiValidateWatch),u.uiValidateWatchObjectEquality),u.uiValidateWatchCollection&&t(i,f,i.$eval(u.uiValidateWatchCollection)))}}}]).directive("uiValidateAsync",["$$uiValidateApplyWatch","$$uiValidateApplyWatchCollection","$timeout","$q",function(n,t,i,r){return{restrict:"A",require:"ngModel",link:function(i,u,f,e){var s,o=i.$eval(f.uiValidateAsync);o&&(angular.isString(o)&&(o={validatorAsync:o}),angular.forEach(o,function(n,t){s=function(t,u){var f=i.$eval(n,{$value:t,$modelValue:t,$viewValue:u,$name:e.$name});return angular.isObject(f)&&angular.isFunction(f.then)?f:r(function(n,t){setTimeout(function(){f?n():t()},0)})};e.$asyncValidators[t]=s}),f.uiValidateWatch&&n(i,e,i.$eval(f.uiValidateWatch),f.uiValidateWatchObjectEquality),f.uiValidateWatchCollection&&t(i,e,i.$eval(f.uiValidateWatchCollection)))}}}]).service("$$uiValidateApplyWatch",function(){return function(n,t,i,r){var u=function(){t.$validate()};angular.isString(i)?n.$watch(i,u,r):angular.isArray(i)?angular.forEach(i,function(t){n.$watch(t,u,r)}):angular.isObject(i)&&angular.forEach(i,function(t){angular.isString(t)&&n.$watch(t,u,r);angular.isArray(t)&&angular.forEach(t,function(t){n.$watch(t,u,r)})})}}).service("$$uiValidateApplyWatchCollection",function(){return function(n,t,i){var r=function(){t.$validate()};angular.isString(i)?n.$watchCollection(i,r):angular.isArray(i)?angular.forEach(i,function(t){n.$watchCollection(t,r)}):angular.isObject(i)&&angular.forEach(i,function(t){angular.isString(t)&&n.$watchCollection(t,r);angular.isArray(t)&&angular.forEach(t,function(t){n.$watchCollection(t,r)})})}})}(),function(){function t(n,t){window.XMLHttpRequest.prototype[n]=t(window.XMLHttpRequest.prototype[n])}function n(n,t,i){try{Object.defineProperty(n,t,{get:i})}catch(r){}}if(window.FileAPI||(window.FileAPI={}),!window.XMLHttpRequest)throw"AJAX is not supported. XMLHttpRequest is not defined.";if(FileAPI.shouldLoad=!window.FormData||FileAPI.forceLoad,FileAPI.shouldLoad){var i=function(n){if(!n.__listeners){n.upload||(n.upload={});n.__listeners=[];var t=n.upload.addEventListener;n.upload.addEventListener=function(i,r){n.__listeners[i]=r;t&&t.apply(this,arguments)}}};t("open",function(n){return function(t,r,u){i(this);this.__url=r;try{n.apply(this,[t,r,u])}catch(f){f.message.indexOf("Access is denied")>-1&&(this.__origError=f,n.apply(this,[t,"_fix_for_ie_crossdomain__",u]))}}});t("getResponseHeader",function(n){return function(t){return this.__fileApiXHR&&this.__fileApiXHR.getResponseHeader?this.__fileApiXHR.getResponseHeader(t):n==null?null:n.apply(this,[t])}});t("getAllResponseHeaders",function(n){return function(){return this.__fileApiXHR&&this.__fileApiXHR.getAllResponseHeaders?this.__fileApiXHR.getAllResponseHeaders():n==null?null:n.apply(this)}});t("abort",function(n){return function(){return this.__fileApiXHR&&this.__fileApiXHR.abort?this.__fileApiXHR.abort():n==null?null:n.apply(this)}});t("setRequestHeader",function(n){return function(t,r){if(t==="__setXHR_"){i(this);var u=r(this);u instanceof Function&&u(this)}else this.__requestHeaders=this.__requestHeaders||{},this.__requestHeaders[t]=r,n.apply(this,arguments)}});t("send",function(t){return function(){var i=this,e,u,f,r;if(arguments[0]&&arguments[0].__isFileAPIShim){for(e=arguments[0],u={url:i.__url,jsonp:!1,cache:!0,complete:function(t,r){t&&angular.isString(t)&&t.indexOf("#2174")!==-1&&(t=null);i.__completed=!0;!t&&i.__listeners.load&&i.__listeners.load({type:"load",loaded:i.__loaded,total:i.__total,target:i,lengthComputable:!0});!t&&i.__listeners.loadend&&i.__listeners.loadend({type:"loadend",loaded:i.__loaded,total:i.__total,target:i,lengthComputable:!0});t==="abort"&&i.__listeners.abort&&i.__listeners.abort({type:"abort",loaded:i.__loaded,total:i.__total,target:i,lengthComputable:!0});r.status!==undefined&&n(i,"status",function(){return r.status===0&&t&&t!=="abort"?500:r.status});r.statusText!==undefined&&n(i,"statusText",function(){return r.statusText});n(i,"readyState",function(){return 4});r.response!==undefined&&n(i,"response",function(){return r.response});var u=r.responseText||(t&&r.status===0&&t!=="abort"?t:undefined);n(i,"responseText",function(){return u});n(i,"response",function(){return u});t&&n(i,"err",function(){return t});i.__fileApiXHR=r;i.onreadystatechange&&i.onreadystatechange();i.onload&&i.onload()},progress:function(n){if(n.target=i,i.__listeners.progress&&i.__listeners.progress(n),i.__total=n.total,i.__loaded=n.loaded,n.total===n.loaded){var t=this;setTimeout(function(){i.__completed||(i.getAllResponseHeaders=function(){},t.complete(null,{status:204,statusText:"No Content"}))},FileAPI.noContentTimeout||1e4)}},headers:i.__requestHeaders},u.data={},u.files={},f=0;f<e.data.length;f++)r=e.data[f],r.val!=null&&r.val.name!=null&&r.val.size!=null&&r.val.type!=null?u.files[r.key]=r.val:u.data[r.key]=r.val;setTimeout(function(){if(!FileAPI.hasFlash)throw'Adode Flash Player need to be installed. To check ahead use "FileAPI.hasFlash"';i.__fileApiXHR=FileAPI.upload(u)},1)}else{if(this.__origError)throw this.__origError;t.apply(i,arguments)}}});window.XMLHttpRequest.__isFileAPIShim=!0;window.FormData=FormData=function(){return{append:function(n,t,i){t.__isFileAPIBlobShim&&(t=t.data[0]);this.data.push({key:n,val:t,name:i})},data:[],__isFileAPIShim:!0}};window.Blob=Blob=function(n){return{data:n,__isFileAPIBlobShim:!0}}}}(),function(){function h(n){return n[0].tagName.toLowerCase()==="input"&&n.attr("type")&&n.attr("type").toLowerCase()==="file"}function u(){try{var n=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");if(n)return!0}catch(t){if(navigator.mimeTypes["application/x-shockwave-flash"]!==undefined)return!0}return!1}function f(n){var t=0,i=0;if(window.jQuery)return jQuery(n).offset();if(n.offsetParent)do t+=n.offsetLeft-n.scrollLeft,i+=n.offsetTop-n.scrollTop,n=n.offsetParent;while(n);return{left:t,top:i}}if(FileAPI.shouldLoad){if(FileAPI.hasFlash=u(),FileAPI.forceLoad&&(FileAPI.html5=!1),!FileAPI.upload){var e,n,o=document.createElement("script"),s=document.getElementsByTagName("script"),t,i,r;if(window.FileAPI.jsUrl)e=window.FileAPI.jsUrl;else if(window.FileAPI.jsPath)n=window.FileAPI.jsPath;else for(t=0;t<s.length;t++)if(r=s[t].src,i=r.search(/\/ng\-file\-upload[\-a-zA-z0-9\.]*\.js/),i>-1){n=r.substring(0,i+1);break}FileAPI.staticPath==null&&(FileAPI.staticPath=n);o.setAttribute("src",e||n+"FileAPI.min.js");document.getElementsByTagName("head")[0].appendChild(o)}FileAPI.ngfFixIE=function(n,t,i){var r,e;if(!u())throw'Adode Flash Player need to be installed. To check ahead use "FileAPI.hasFlash"';r=function(){var r=t.parent();n.attr("disabled")?r&&r.removeClass("js-fileapi-wrapper"):(t.attr("__ngf_flash_")||(t.unbind("change"),t.unbind("click"),t.bind("change",function(n){e.apply(this,[n]);i.apply(this,[n])}),t.attr("__ngf_flash_","true")),r.addClass("js-fileapi-wrapper"),h(n)||(r.css("position","absolute").css("top",f(n[0]).top+"px").css("left",f(n[0]).left+"px").css("width",n[0].offsetWidth+"px").css("height",n[0].offsetHeight+"px").css("filter","alpha(opacity=0)").css("display",n.css("display")).css("overflow","hidden").css("z-index","900000").css("visibility","visible"),t.css("width",n[0].offsetWidth+"px").css("height",n[0].offsetHeight+"px").css("position","absolute").css("top","0px").css("left","0px")))};n.bind("mouseenter",r);e=function(n){for(var t=FileAPI.getFiles(n),i=0;i<t.length;i++)t[i].size===undefined&&(t[i].size=0),t[i].name===undefined&&(t[i].name="file"),t[i].type===undefined&&(t[i].type="undefined");n.target||(n.target={});n.target.files=t;n.target.files!==t&&(n.__files_=t);(n.__files_||n.target.files).item=function(t){return(n.__files_||n.target.files)[t]||null}}};FileAPI.disableFileInput=function(n,t){t?n.removeClass("js-fileapi-wrapper"):n.addClass("js-fileapi-wrapper")}}}();window.FileReader||(window.FileReader=function(){var n=this,r=!1,t,i;this.listeners={};this.addEventListener=function(t,i){n.listeners[t]=n.listeners[t]||[];n.listeners[t].push(i)};this.removeEventListener=function(t,i){n.listeners[t]&&n.listeners[t].splice(n.listeners[t].indexOf(i),1)};this.dispatchEvent=function(t){var r=n.listeners[t.type],i;if(r)for(i=0;i<r.length;i++)r[i].call(n,t)};this.onabort=this.onerror=this.onload=this.onloadstart=this.onloadend=this.onprogress=null;t=function(t,i){var r={type:t,target:n,loaded:i.loaded,total:i.total,error:i.error};return i.result!=null&&(r.target.result=i.result),r};i=function(i){if(!r&&(r=!0,n.onloadstart))n.onloadstart(t("loadstart",i));var u;if(i.type==="load"){if(n.onloadend)n.onloadend(t("loadend",i));if(u=t("load",i),n.onload)n.onload(u);n.dispatchEvent(u)}else if(i.type==="progress"){if(u=t("progress",i),n.onprogress)n.onprogress(u);n.dispatchEvent(u)}else{if(u=t("error",i),n.onerror)n.onerror(u);n.dispatchEvent(u)}};this.readAsDataURL=function(n){FileAPI.readAsDataURL(n,i)};this.readAsText=function(n){FileAPI.readAsText(n,i)}});!window.XMLHttpRequest||window.FileAPI&&FileAPI.shouldLoad||(window.XMLHttpRequest.prototype.setRequestHeader=function(n){return function(t,i){if(t==="__setXHR_"){var r=i(this);r instanceof Function&&r(this)}else n.apply(this,arguments)}}(window.XMLHttpRequest.prototype.setRequestHeader));var ngFileUpload=angular.module("ngFileUpload",[]);ngFileUpload.version="12.0.4";ngFileUpload.service("UploadBase",["$http","$q","$timeout",function(n,t,i){function f(f){function h(n){o.notify&&o.notify(n);e.progressFunc&&i(function(){e.progressFunc(n)})}function c(n){return f._start!=null&&u?{loaded:n.loaded+f._start,total:f._file&&f._file.size||n.total,type:n.type,config:f,lengthComputable:!0,target:n.target}:n}function s(){n(f).then(function(n){u&&f._chunkSize&&!f._finished&&f._file?(h({loaded:f._end,total:f._file&&f._file.size,config:f,type:"progress"}),r.upload(f,!0)):(f._finished&&delete f._finished,o.resolve(n))},function(n){o.reject(n)},function(n){o.notify(n)})}f.method=f.method||"POST";f.headers=f.headers||{};var o=f._deferred=f._deferred||t.defer(),e=o.promise;return f.disableProgress||(f.headers.__setXHR_=function(){return function(n){n&&n.upload&&n.upload.addEventListener&&(f.__XHR=n,f.xhrFn&&f.xhrFn(n),n.upload.addEventListener("progress",function(n){n.config=f;h(c(n))},!1),n.upload.addEventListener("load",function(n){n.lengthComputable&&(n.config=f,h(c(n)))},!1))}}),u?f._chunkSize&&f._end&&!f._finished?(f._start=f._end,f._end+=f._chunkSize,s()):f.resumeSizeUrl?n.get(f.resumeSizeUrl).then(function(n){f._start=f.resumeSizeResponseReader?f.resumeSizeResponseReader(n.data):parseInt((n.data.size==null?n.data:n.data.size).toString());f._chunkSize&&(f._end=f._start+f._chunkSize);s()},function(n){throw n;}):f.resumeSize?f.resumeSize().then(function(n){f._start=n;s()},function(n){throw n;}):(f._chunkSize&&(f._start=0,f._end=f._start+f._chunkSize),s()):s(),e.success=function(n){return e.then(function(t){n(t.data,t.status,t.headers,f)}),e},e.error=function(n){return e.then(null,function(t){n(t.data,t.status,t.headers,f)}),e},e.progress=function(n){return e.progressFunc=n,e.then(null,null,function(t){n(t)}),e},e.abort=e.pause=function(){return f.__XHR&&i(function(){f.__XHR.abort()}),e},e.xhr=function(n){return f.xhrFn=function(t){return function(){t&&t.apply(e,arguments);n.apply(e,arguments)}}(f.xhrFn),e},r.promisesCount++,e["finally"](function(){r.promisesCount--}),e}function e(n){var i={};for(var t in n)n.hasOwnProperty(t)&&(i[t]=n[t]);return i}var r=this,u;r.promisesCount=0;this.isResumeSupported=function(){return window.Blob&&window.Blob.prototype.slice};u=this.isResumeSupported();this.isUploadInProgress=function(){return r.promisesCount>0};this.rename=function(n,t){return n.ngfName=t,n};this.jsonBlob=function(n){n==null||angular.isString(n)||(n=JSON.stringify(n));var t=new window.Blob([n],{type:"application/json"});return t._ngfBlob=!0,t};this.json=function(n){return angular.toJson(n)};this.isFile=function(n){return n!=null&&(n instanceof window.Blob||n.flashId&&n.name&&n.size)};this.upload=function(n,t){function o(t,i){if(t._ngfBlob)return t;if(n._file=n._file||t,n._start!=null&&u){n._end&&n._end>=t.size&&(n._finished=!0,n._end=t.size);var r=t.slice(n._start,n._end||t.size);return r.name=t.name,r.ngfName=t.ngfName,n._chunkSize&&(i.append("_chunkSize",n._chunkSize),i.append("_currentChunkSize",n._end-n._start),i.append("_chunkNumber",Math.floor(n._start/n._chunkSize)),i.append("_totalSize",n._file.size)),r}return t}function i(t,u,f){var s,h,e,c;if(u!==undefined)if(angular.isDate(u)&&(u=u.toISOString()),angular.isString(u))t.append(f,u);else if(r.isFile(u))s=o(u,t),h=f.split(","),h[1]&&(s.ngfName=h[1].replace(/^\s+|\s+$/g,""),f=h[0]),n._fileKey=n._fileKey||f,t.append(f,s,s.ngfName||s.name);else if(angular.isObject(u)){if(u.$$ngfCircularDetection)throw"ngFileUpload: Circular reference in config.data. Make sure specified data for Upload.upload() has no circular reference: "+f;u.$$ngfCircularDetection=!0;try{for(e in u)u.hasOwnProperty(e)&&e!=="$$ngfCircularDetection"&&(c=n.objectKey==null?"[i]":n.objectKey,u.length&&parseInt(e)>-1&&(c=n.arrayKey==null?c:n.arrayKey),i(t,u[e],f+c.replace(/[ik]/g,e)))}finally{delete u.$$ngfCircularDetection}}else t.append(f,u)}function s(){n._chunkSize=r.translateScalars(n.resumeChunkSize);n._chunkSize=n._chunkSize?parseInt(n._chunkSize.toString()):null;n.headers=n.headers||{};n.headers["Content-Type"]=undefined;n.transformRequest=n.transformRequest?angular.isArray(n.transformRequest)?n.transformRequest:[n.transformRequest]:[];n.transformRequest.push(function(t){var u=new window.FormData,r,f;t=t||n.fields||{};n.file&&(t.file=n.file);for(r in t)t.hasOwnProperty(r)&&(f=t[r],n.formDataAppender?n.formDataAppender(u,r,f):i(u,f,r));return u})}return t||(n=e(n)),n._isDigested||(n._isDigested=!0,s()),f(n)};this.http=function(t){return t=e(t),t.transformRequest=t.transformRequest||function(t){return window.ArrayBuffer&&t instanceof window.ArrayBuffer||t instanceof window.Blob?t:n.defaults.transformRequest[0].apply(this,arguments)},t._chunkSize=r.translateScalars(t.resumeChunkSize),t._chunkSize=t._chunkSize?parseInt(t._chunkSize.toString()):null,f(t)};this.translateScalars=function(n){if(angular.isString(n)){if(n.search(/kb/i)===n.length-2)return parseFloat(n.substring(0,n.length-2)*1024);if(n.search(/mb/i)===n.length-2)return parseFloat(n.substring(0,n.length-2)*1048576);if(n.search(/gb/i)===n.length-2)return parseFloat(n.substring(0,n.length-2)*1073741824);if(n.search(/b/i)===n.length-1||n.search(/s/i)===n.length-1)return parseFloat(n.substring(0,n.length-1));if(n.search(/m/i)===n.length-1)return parseFloat(n.substring(0,n.length-1)*60);if(n.search(/h/i)===n.length-1)return parseFloat(n.substring(0,n.length-1)*3600)}return n};this.urlToBlob=function(i){var r=t.defer();return n({url:i,method:"get",responseType:"arraybuffer"}).then(function(n){var t=new Uint8Array(n.data),i=n.headers("content-type")||"image/WebP",u=new window.Blob([t],{type:i});r.resolve(u)},function(n){r.reject(n)}),r.promise};this.setDefaults=function(n){this.defaults=n||{}};this.defaults={};this.version=ngFileUpload.version}]);ngFileUpload.service("Upload",["$parse","$timeout","$compile","$q","UploadExif",function(n,t,i,r,u){function o(n,t,i){var u=[f.emptyPromise()];return angular.forEach(n,function(r,e){r.type.indexOf("image/jpeg")===0&&f.attrGetter("ngfFixOrientation",t,i,{$file:r})&&u.push(f.happyPromise(f.applyExifRotation(r),r).then(function(t){n.splice(e,1,t)}))}),r.all(u)}function s(n,t,i){var u=f.attrGetter("ngfResize",t,i),o;if(!u||!f.isResizeSupported()||!n.length)return f.emptyPromise();if(u instanceof Function)o=r.defer(),u(n).then(function(r){e(r,n,t,i).then(function(n){o.resolve(n)},function(n){o.reject(n)})},function(n){o.reject(n)});else return e(u,n,t,i)}function e(n,t,i,u){function s(r,e){if(r.type.indexOf("image")===0){if(n.pattern&&!f.validatePattern(r,n.pattern))return;var s=f.resize(r,n.width,n.height,n.quality,n.type,n.ratio,n.centerCrop,function(n,t){return f.attrGetter("ngfResizeIf",i,u,{$width:n,$height:t,$file:r})},n.restoreExif!==!1);o.push(s);s.then(function(n){t.splice(e,1,n)},function(n){r.$error="resize";r.$errorParam=(n?(n.message?n.message:n)+": ":"")+(r&&r.name)})}}for(var o=[f.emptyPromise()],e=0;e<t.length;e++)s(t[e],e);return r.all(o)}var f=u;return f.getAttrWithDefaults=function(n,t){if(n[t]!=null)return n[t];var i=f.defaults[t];return i==null?i:angular.isString(i)?i:JSON.stringify(i)},f.attrGetter=function(t,i,r,u){var f=this.getAttrWithDefaults(i,t);if(r)try{return u?n(f)(r,u):n(f)(r)}catch(e){if(t.search(/min|max|pattern/i))return f;throw e;}else return f},f.shouldUpdateOn=function(n,t,i){var r=f.attrGetter("ngModelOptions",t,i);return r&&r.updateOn?r.updateOn.split(" ").indexOf(n)>-1:!0},f.emptyPromise=function(){var n=r.defer(),i=arguments;return t(function(){n.resolve.apply(n,i)}),n.promise},f.rejectPromise=function(){var n=r.defer(),i=arguments;return t(function(){n.reject.apply(n,i)}),n.promise},f.happyPromise=function(n,i){var u=r.defer();return n.then(function(n){u.resolve(n)},function(n){t(function(){throw n;});u.resolve(i)}),u.promise},f.updateModel=function(i,r,u,e,h,c,l){function tt(o,s,h,l,a){var v,y,p;r.$$ngfPrevValidFiles=o;r.$$ngfPrevInvalidFiles=s;v=o&&o.length?o[0]:null;y=s&&s.length?s[0]:null;i&&(f.applyModelValidation(i,o),i.$setViewValue(a?v:o));e&&n(e)(u,{$files:o,$file:v,$newFiles:h,$duplicateFiles:l,$invalidFiles:s,$invalidFile:y,$event:c});p=f.attrGetter("ngfModelInvalid",r);p&&t(function(){n(p).assign(u,a?y:s)});t(function(){})}function ut(){function t(n,t){return n.name===t.name&&(n.$ngfOrigSize||n.size)===(t.$ngfOrigSize||t.size)&&n.type===t.type}function i(n){for(var i=0;i<v.length;i++)if(t(n,v[i]))return!0;for(i=0;i<k.length;i++)if(t(n,k[i]))return!0;return!1}if(h){a=[];b=[];for(var n=0;n<h.length;n++)i(h[n])?b.push(h[n]):a.push(h[n])}}function ft(n){return angular.isArray(n)?n:[n]}function it(){y=[];d=[];angular.forEach(a,function(n){n.$error?d.push(n):y.push(n)})}function rt(){function n(){t(function(){tt(w?v.concat(y):y,w?k.concat(d):d,h,b,nt)},p&&p.debounce?p.debounce.change||p.debounce:0)}s(g?a:y,r,u).then(function(){g?f.validate(a,v.length,i,r,u).then(function(){it();n()}):n()},function(n){throw"Could not resize files "+n;})}var a,b=[],v,k,d=[],y=[],w,nt,g,p;(v=r.$$ngfPrevValidFiles||[],k=r.$$ngfPrevInvalidFiles||[],i&&i.$modelValue&&(v=ft(i.$modelValue)),w=f.attrGetter("ngfKeep",r,u),a=(h||[]).slice(0),(w==="distinct"||f.attrGetter("ngfKeepDistinct",r,u)===!0)&&ut(r,u),nt=!w&&!f.attrGetter("ngfMultiple",r,u)&&!f.attrGetter("multiple",r),!w||a.length)&&(f.attrGetter("ngfBeforeModelChange",r,u,{$files:h,$file:h&&h.length?h[0]:null,$newFiles:a,$duplicateFiles:b,$event:c}),g=f.attrGetter("ngfValidateAfterResize",r,u),p=f.attrGetter("ngModelOptions",r,u),f.validate(a,v.length,i,r,u).then(function(){l?tt(a,[],h,b,nt):(p&&p.allowInvalid||g?y=a:it(),f.attrGetter("ngfFixOrientation",r,u)&&f.isExifSupported()?o(y,r,u).then(function(){rt()}):rt())}))},f}]);ngFileUpload.directive("ngfSelect",["$parse","$timeout","$compile","Upload",function(n,t,i,r){function f(n){var t=n.match(/Android[^\d]*(\d+)\.(\d+)/),i;return t&&t.length>2?(i=r.defaults.androidFixMinorVersion||4,parseInt(t[1])<4||parseInt(t[1])===i&&parseInt(t[2])<i):n.indexOf("Chrome")===-1&&/.*Windows.*Safari.*/.test(n)}function e(n,t,i,r,e,o,s,h){function v(){return t[0].tagName.toLowerCase()==="input"&&i.type&&i.type.toLowerCase()==="file"}function w(){return l("ngfChange")||l("ngfSelect")}function y(t){var e,u,f;if(h.shouldUpdateOn("change",i,n)){for(e=t.__files_||t.target&&t.target.files,u=[],f=0;f<e.length;f++)u.push(e[f]);h.updateModel(r,i,n,w(),u.length?u:null,t)}}function d(n){var r,i;if(t!==n)for(r=0;r<t[0].attributes.length;r++)i=t[0].attributes[r],i.name!=="type"&&i.name!=="class"&&i.name!=="style"&&((i.value==null||i.value==="")&&(i.name==="required"&&(i.value="required"),i.name==="multiple"&&(i.value="multiple")),n.attr(i.name,i.name==="id"?"ngf-"+i.value:i.value))}function g(){var n,i;return v()?t:(n=angular.element('<input type="file">'),d(n),i=angular.element("<label>upload<\/label>"),i.css("visibility","hidden").css("position","absolute").css("overflow","hidden").css("width","0px").css("height","0px").css("border","none").css("margin","0px").css("padding","0px").attr("tabindex","-1"),u.push({el:t,ref:i}),document.body.appendChild(i.append(n)[0]),n)}function nt(i){if(t.attr("disabled"))return!1;if(!l("ngfSelectDisabled",n)){var r=tt(i);if(r!=null)return r;b(i);try{v()||document.body.contains(c[0])||(u.push({el:t,ref:c.parent()}),document.body.appendChild(c.parent()[0]),c.bind("change",y))}catch(e){}return f(navigator.userAgent)?setTimeout(function(){c[0].click()},0):c[0].click(),!1}}function tt(n){var t=n.changedTouches||n.originalEvent&&n.originalEvent.changedTouches,i;return n.type==="touchstart"?(p=t?t[0].clientY:0,!0):(n.stopPropagation(),n.preventDefault(),n.type==="touchend"&&(i=t?t[0].clientY:0,Math.abs(i-p)>20))?!1:void 0}function b(t){h.shouldUpdateOn("click",i,n)&&c.val()&&(c.val(null),h.updateModel(r,i,n,w(),null,t,!0))}function k(n){if(c&&!c.attr("__ngf_ie10_Fix_")){if(!c[0].parentNode){c=null;return}n.preventDefault();n.stopPropagation();c.unbind("click");var t=c.clone();return c.replaceWith(t),c=t,c.attr("__ngf_ie10_Fix_","true"),c.bind("change",y),c.bind("click",k),c[0].click(),!1}c.removeAttr("__ngf_ie10_Fix_")}var l=function(n,t){return h.attrGetter(n,i,t)},a,p,c;h.registerModelChangeValidator(r,i,n);a=[];a.push(n.$watch(l("ngfMultiple"),function(){c.attr("multiple",l("ngfMultiple",n))}));a.push(n.$watch(l("ngfCapture"),function(){c.attr("capture",l("ngfCapture",n))}));a.push(n.$watch(l("ngfAccept"),function(){c.attr("accept",l("ngfAccept",n))}));i.$observe("accept",function(){c.attr("accept",l("accept"))});a.push(function(){i.$$observers&&delete i.$$observers.accept});p=0;c=t;v()||(c=g());c.bind("change",y);v()?t.bind("click",b):t.bind("click touchstart touchend",nt);navigator.appVersion.indexOf("MSIE 10")!==-1&&c.bind("click",k);r&&r.$formatters.push(function(n){return(n==null||n.length===0)&&c.val()&&c.val(null),n});n.$on("$destroy",function(){v()||c.parent().remove();angular.forEach(a,function(n){n()})});o(function(){for(var t,n=0;n<u.length;n++)t=u[n],document.body.contains(t.el[0])||(u.splice(n,1),t.ref.remove())});window.FileAPI&&window.FileAPI.ngfFixIE&&window.FileAPI.ngfFixIE(t,c,y)}var u=[];return{restrict:"AEC",require:"?ngModel",link:function(u,f,o,s){e(u,f,o,s,n,t,i,r)}}}]),function(){function t(n){return n.tagName.toLowerCase()==="img"?"image":n.tagName.toLowerCase()==="audio"?"audio":n.tagName.toLowerCase()==="video"?"video":/./}function n(n,i,r,u,f,e,o,s){function h(t){var e=n.attrGetter("ngfNoObjectUrl",f,r);n.dataUrl(t,e)["finally"](function(){i(function(){var n=(e?t.$ngfDataUrl:t.$ngfBlobUrl)||t.$ngfDataUrl;s?u.css("background-image","url('"+(n||"")+"')"):u.attr("src",n);n?u.removeClass("ng-hide"):u.addClass("ng-hide")})})}i(function(){var i=r.$watch(f[e],function(i){var r=o,f;if(e==="ngfThumbnail"&&(r||(r={width:u[0].clientWidth,height:u[0].clientHeight}),r.width===0&&window.getComputedStyle&&(f=getComputedStyle(u[0]),r={width:parseInt(f.width.slice(0,-2)),height:parseInt(f.height.slice(0,-2))})),angular.isString(i))return u.removeClass("ng-hide"),s?u.css("background-image","url('"+i+"')"):u.attr("src",i);i&&i.type&&i.type.search(t(u[0]))===0&&(!s||i.type.indexOf("image")===0)?r&&n.isResizeSupported()?n.resize(i,r.width,r.height,r.quality).then(function(n){h(n)},function(n){throw n;}):h(i):u.addClass("ng-hide")});r.$on("$destroy",function(){i()})})}ngFileUpload.service("UploadDataUrl",["UploadBase","$timeout","$q",function(n,t,i){var r=n;return r.base64DataUrl=function(n){if(angular.isArray(n)){var t=i.defer(),u=0;return angular.forEach(n,function(i){r.dataUrl(i,!0)["finally"](function(){if(u++,u===n.length){var i=[];angular.forEach(n,function(n){i.push(n.$ngfDataUrl)});t.resolve(i,n)}})}),t.promise}return r.dataUrl(n,!0)},r.dataUrl=function(n,u){var e,f;return n?u&&n.$ngfDataUrl!=null||!u&&n.$ngfBlobUrl!=null?r.emptyPromise(u?n.$ngfDataUrl:n.$ngfBlobUrl,n):(e=u?n.$$ngfDataUrlPromise:n.$$ngfBlobUrlPromise,e)?e:(f=i.defer(),t(function(){var i,e,o;if(window.FileReader&&n&&(!window.FileAPI||navigator.userAgent.indexOf("MSIE 8")===-1||n.size<2e4)&&(!window.FileAPI||navigator.userAgent.indexOf("MSIE 9")===-1||n.size<4e6))if(i=window.URL||window.webkitURL,i&&i.createObjectURL&&!u){try{e=i.createObjectURL(n)}catch(s){t(function(){n.$ngfBlobUrl="";f.reject()});return}t(function(){var u,o,t;if(n.$ngfBlobUrl=e,e)for(f.resolve(e,n),r.blobUrls=r.blobUrls||[],r.blobUrlsTotalSize=r.blobUrlsTotalSize||0,r.blobUrls.push({url:e,size:n.size}),r.blobUrlsTotalSize+=n.size||0,u=r.defaults.blobUrlsMaxMemory||268435456,o=r.defaults.blobUrlsMaxQueueSize||200;(r.blobUrlsTotalSize>u||r.blobUrls.length>o)&&r.blobUrls.length>1;)t=r.blobUrls.splice(0,1)[0],i.revokeObjectURL(t.url),r.blobUrlsTotalSize-=t.size})}else o=new FileReader,o.onload=function(i){t(function(){n.$ngfDataUrl=i.target.result;f.resolve(i.target.result,n);t(function(){delete n.$ngfDataUrl},1e3)})},o.onerror=function(){t(function(){n.$ngfDataUrl="";f.reject()})},o.readAsDataURL(n);else t(function(){n[u?"$ngfDataUrl":"$ngfBlobUrl"]="";f.reject()})}),e=u?n.$$ngfDataUrlPromise=f.promise:n.$$ngfBlobUrlPromise=f.promise,e["finally"](function(){delete n[u?"$$ngfDataUrlPromise":"$$ngfBlobUrlPromise"]}),e):r.emptyPromise(n,n)},r}]);ngFileUpload.directive("ngfSrc",["Upload","$timeout",function(t,i){return{restrict:"AE",link:function(r,u,f){n(t,i,r,u,f,"ngfSrc",t.attrGetter("ngfResize",f,r),!1)}}}]);ngFileUpload.directive("ngfBackground",["Upload","$timeout",function(t,i){return{restrict:"AE",link:function(r,u,f){n(t,i,r,u,f,"ngfBackground",t.attrGetter("ngfResize",f,r),!0)}}}]);ngFileUpload.directive("ngfThumbnail",["Upload","$timeout",function(t,i){return{restrict:"AE",link:function(r,u,f){var e=t.attrGetter("ngfSize",f,r);n(t,i,r,u,f,"ngfThumbnail",e,t.attrGetter("ngfAsBackground",f,r))}}}]);ngFileUpload.config(["$compileProvider",function(n){n.imgSrcSanitizationWhitelist&&n.imgSrcSanitizationWhitelist(/^\s*(https?|ftp|mailto|tel|local|file|data|blob):/);n.aHrefSanitizationWhitelist&&n.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|tel|local|file|data|blob):/)}]);ngFileUpload.filter("ngfDataUrl",["UploadDataUrl","$sce",function(n,t){return function(i,r,u){if(angular.isString(i))return t.trustAsResourceUrl(i);var f=i&&((r?i.$ngfDataUrl:i.$ngfBlobUrl)||i.$ngfDataUrl);return i&&!f?(!i.$ngfDataUrlFilterInProgress&&angular.isObject(i)&&(i.$ngfDataUrlFilterInProgress=!0,n.dataUrl(i,r)),""):(i&&delete i.$ngfDataUrlFilterInProgress,(i&&f?u?t.trustAsResourceUrl(f):f:i)||"")}}])}();ngFileUpload.service("UploadValidate",["UploadDataUrl","$q","$timeout",function(n,t,i){function u(n){var t="",f=[],i,r,e;if(n.length>2&&n[0]==="/"&&n[n.length-1]==="/")t=n.substring(1,n.length-1);else if(i=n.split(","),i.length>1)for(r=0;r<i.length;r++)e=u(i[r]),e.regexp?(t+="("+e.regexp+")",r<i.length-1&&(t+="|")):f=f.concat(e.excludes);else n.indexOf("!")===0?f.push("^((?!"+u(n.substring(1)).regexp+").)*$"):(n.indexOf(".")===0&&(n="*"+n),t="^"+n.replace(new RegExp("[.\\\\+*?\\[\\^\\]$(){}=!<>|:\\-]","g"),"\\$&")+"$",t=t.replace(/\\\*/g,".*").replace(/\\\?/g,"."));return{regexp:t,excludes:f}}function f(n,t){t==null||n.$dirty||(n.$setDirty?n.$setDirty():n.$dirty=!0)}var r=n;return r.validatePattern=function(n,t){var i,r,f,e,o;if(!t)return!0;for(i=u(t),r=!0,i.regexp&&i.regexp.length&&(f=new RegExp(i.regexp,"i"),r=n.type!=null&&f.test(n.type)||n.name!=null&&f.test(n.name)),e=i.excludes.length;e--;)o=new RegExp(i.excludes[e],"i"),r=r&&(n.type==null||o.test(n.type))&&(n.name==null||o.test(n.name));return r},r.ratioToFloat=function(n){var t=n.toString(),i=t.search(/[x:]/i);return i>-1?parseFloat(t.substring(0,i))/parseFloat(t.substring(i+1)):parseFloat(t)},r.registerModelChangeValidator=function(n,t,i){n&&n.$formatters.push(function(u){n.$dirty&&(u&&!angular.isArray(u)&&(u=[u]),r.validate(u,0,n,t,i).then(function(){r.applyModelValidation(n,u)}))})},r.applyModelValidation=function(n,t){f(n,t);angular.forEach(n.$ngfValidations,function(t){n.$setValidity(t.name,t.valid)})},r.getValidationAttr=function(n,t,i,u,f){var s="ngf"+i[0].toUpperCase()+i.substr(1),e=r.attrGetter(s,n,t,{$file:f}),o;return e==null&&(e=r.attrGetter("ngfValidate",n,t,{$file:f}),e&&(o=(u||i).split("."),e=e[o[0]],o.length>1&&(e=e&&e[o[1]]))),e},r.validate=function(n,i,u,f,e){function h(t,i,o){var h,c,s,l;if(n){for(h=n.length,c=null;h--;)s=n[h],s&&(l=r.getValidationAttr(f,e,t,i,s),l!=null&&(o(s,l,h)||(s.$error=t,(s.$errorMessages=s.$errorMessages||{})[t]=!0,s.$errorParam=l,n.splice(h,1),c=!1)));c!==null&&u.$ngfValidations.push({name:t,valid:c})}}function s(i,o,s,h,l){function a(n,t,r){r!=null?h(t,r).then(function(u){l(u,r)?n.resolve():(t.$error=i,(t.$errorMessages=t.$errorMessages||{})[i]=!0,t.$errorParam=r,n.reject())},function(){c("ngfValidateForce",{$file:t})?(t.$error=i,(t.$errorMessages=t.$errorMessages||{})[i]=!0,t.$errorParam=r,n.reject()):n.resolve()}):n.resolve()}var v=[r.emptyPromise()];if(n)return n=n.length===undefined?[n]:n,angular.forEach(n,function(n){var u=t.defer();if(v.push(u.promise),s&&(n.type==null||n.type.search(s)!==0)){u.resolve();return}i==="dimensions"&&r.attrGetter("ngfDimensions",f)!=null?r.imageDimensions(n).then(function(t){a(u,n,c("ngfDimensions",{$file:n,$width:t.width,$height:t.height}))},function(){u.reject()}):i==="duration"&&r.attrGetter("ngfDuration",f)!=null?r.mediaDuration(n).then(function(t){a(u,n,c("ngfDuration",{$file:n,$duration:t}))},function(){u.reject()}):a(u,n,r.getValidationAttr(f,e,i,o,n))}),t.all(v).then(function(){u.$ngfValidations.push({name:i,valid:!0})},function(){u.$ngfValidations.push({name:i,valid:!1})})}var c,l,a,o;return(u=u||{},u.$ngfValidations=u.$ngfValidations||[],angular.forEach(u.$ngfValidations,function(n){n.valid=!0}),c=function(n,t){return r.attrGetter(n,f,e,t)},n==null||n.length===0)?r.emptyPromise(u):(n=n.length===undefined?[n]:n.slice(0),h("maxFiles",null,function(n,t,r){return i+r<t}),h("pattern",null,r.validatePattern),h("minSize","size.min",function(n,t){return n.size+.1>=r.translateScalars(t)}),h("maxSize","size.max",function(n,t){return n.size-.1<=r.translateScalars(t)}),l=0,h("maxTotalSize",null,function(t,i){return(l+=t.size,l>r.translateScalars(i))?(n.splice(0,n.length),!1):!0}),h("validateFn",null,function(n,t){return t===!0||t===null||t===""}),!n.length)?r.emptyPromise(u,u.$ngfValidations):(a=t.defer(),o=[],o.push(r.happyPromise(s("maxHeight","height.max",/image/,this.imageDimensions,function(n,t){return n.height<=t}))),o.push(r.happyPromise(s("minHeight","height.min",/image/,this.imageDimensions,function(n,t){return n.height>=t}))),o.push(r.happyPromise(s("maxWidth","width.max",/image/,this.imageDimensions,function(n,t){return n.width<=t}))),o.push(r.happyPromise(s("minWidth","width.min",/image/,this.imageDimensions,function(n,t){return n.width>=t}))),o.push(r.happyPromise(s("dimensions",null,/image/,function(n,t){return r.emptyPromise(t)},function(n){return n}))),o.push(r.happyPromise(s("ratio",null,/image/,this.imageDimensions,function(n,t){for(var u=t.toString().split(","),f=!1,i=0;i<u.length;i++)Math.abs(n.width/n.height-r.ratioToFloat(u[i]))<.0001&&(f=!0);return f}))),o.push(r.happyPromise(s("maxRatio","ratio.max",/image/,this.imageDimensions,function(n,t){return n.width/n.height-r.ratioToFloat(t)<.0001}))),o.push(r.happyPromise(s("minRatio","ratio.min",/image/,this.imageDimensions,function(n,t){return n.width/n.height-r.ratioToFloat(t)>-.0001}))),o.push(r.happyPromise(s("maxDuration","duration.max",/audio|video/,this.mediaDuration,function(n,t){return n<=r.translateScalars(t)}))),o.push(r.happyPromise(s("minDuration","duration.min",/audio|video/,this.mediaDuration,function(n,t){return n>=r.translateScalars(t)}))),o.push(r.happyPromise(s("duration",null,/audio|video/,function(n,t){return r.emptyPromise(t)},function(n){return n}))),o.push(r.happyPromise(s("validateAsyncFn",null,null,function(n,t){return t},function(n){return n===!0||n===null||n===""}))),t.all(o).then(function(){a.resolve(u,u.$ngfValidations)}))},r.imageDimensions=function(n){var f,u;return n.$ngfWidth&&n.$ngfHeight?(f=t.defer(),i(function(){f.resolve({width:n.$ngfWidth,height:n.$ngfHeight})}),f.promise):n.$ngfDimensionPromise?n.$ngfDimensionPromise:(u=t.defer(),i(function(){if(n.type.indexOf("image")!==0){u.reject("not image");return}r.dataUrl(n).then(function(t){function f(){var t=r[0].clientWidth,i=r[0].clientHeight;r.remove();n.$ngfWidth=t;n.$ngfHeight=i;u.resolve({width:t,height:i})}function e(){r.remove();u.reject("load error")}function s(){i(function(){r[0].parentNode&&(r[0].clientWidth?f():o>10?e():s())},1e3)}var r=angular.element("<img>").attr("src",t).css("visibility","hidden").css("position","fixed").css("max-width","none !important").css("max-height","none !important"),o;r.on("load",f);r.on("error",e);o=0;s();angular.element(document.getElementsByTagName("body")[0]).append(r)},function(){u.reject("load error")})}),n.$ngfDimensionPromise=u.promise,n.$ngfDimensionPromise["finally"](function(){delete n.$ngfDimensionPromise}),n.$ngfDimensionPromise)},r.mediaDuration=function(n){var f,u;return n.$ngfDuration?(f=t.defer(),i(function(){f.resolve(n.$ngfDuration)}),f.promise):n.$ngfDurationPromise?n.$ngfDurationPromise:(u=t.defer(),i(function(){if(n.type.indexOf("audio")!==0&&n.type.indexOf("video")!==0){u.reject("not media");return}r.dataUrl(n).then(function(t){function f(){var t=r[0].duration;n.$ngfDuration=t;r.remove();u.resolve(t)}function e(){r.remove();u.reject("load error")}function s(){i(function(){r[0].parentNode&&(r[0].duration?f():o>10?e():s())},1e3)}var r=angular.element(n.type.indexOf("audio")===0?"<audio>":"<video>").attr("src",t).css("visibility","none").css("position","fixed"),o;r.on("loadedmetadata",f);r.on("error",e);o=0;s();angular.element(document.body).append(r)},function(){u.reject("load error")})}),n.$ngfDurationPromise=u.promise,n.$ngfDurationPromise["finally"](function(){delete n.$ngfDurationPromise}),n.$ngfDurationPromise)},r}]);ngFileUpload.service("UploadResize",["UploadValidate","$q",function(n,t){var i=n,r=function(n,t,i,r,u){var f=u?Math.max(i/n,r/t):Math.min(i/n,r/t);return{width:n*f,height:t*f,marginX:n*f-i,marginY:t*f-r}},u=function(n,u,f,e,o,s,h,c){var a=t.defer(),v=document.createElement("canvas"),l=document.createElement("img");return l.onload=function(){var t,y,n,p;if(c!=null&&c(l.width,l.height)===!1){a.reject("resizeIf");return}try{s&&(t=i.ratioToFloat(s),y=l.width/l.height,y<t?(u=l.width,f=u/t):(f=l.height,u=f*t));u||(u=l.width);f||(f=l.height);n=r(l.width,l.height,u,f,h);v.width=Math.min(n.width,u);v.height=Math.min(n.height,f);p=v.getContext("2d");p.drawImage(l,Math.min(0,-n.marginX/2),Math.min(0,-n.marginY/2),n.width,n.height);a.resolve(v.toDataURL(o||"image/WebP",e||.934))}catch(w){a.reject(w)}},l.onerror=function(){a.reject()},l.src=n,a.promise};return i.dataUrltoBlob=function(n,t,i){for(var f=n.split(","),s=f[0].match(/:(.*?);/)[1],e=atob(f[1]),r=e.length,o=new Uint8Array(r),u;r--;)o[r]=e.charCodeAt(r);return u=new window.Blob([o],{type:s}),u.name=t,u.$ngfOrigSize=i,u},i.isResizeSupported=function(){var n=document.createElement("canvas");return window.atob&&n.getContext&&n.getContext("2d")&&window.Blob},i.isResizeSupported()&&Object.defineProperty(window.Blob.prototype,"name",{get:function(){return this.$ngfName},set:function(n){this.$ngfName=n},configurable:!0}),i.resize=function(n,r,f,e,o,s,h,c,l){if(n.type.indexOf("image")!==0)return i.emptyPromise(n);var a=t.defer();return i.dataUrl(n,!0).then(function(t){u(t,r,f,e,o||n.type,s,h,c).then(function(r){if(n.type==="image/jpeg"&&l)try{r=i.restoreExif(t,r)}catch(u){setTimeout(function(){throw u;},1)}try{var f=i.dataUrltoBlob(r,n.name,n.size);a.resolve(f)}catch(u){a.reject(u)}},function(t){t==="resizeIf"&&a.resolve(n);a.reject(t)})},function(n){a.reject(n)}),a.promise},i}]),function(){function t(t,i,r,u,f,e,o,s,h,c){function v(){return i.attr("disabled")||l("ngfDropDisabled",t)}function p(n,i){s.updateModel(u,r,t,l("ngfChange")||l("ngfDrop"),n,i)}function d(n,i){var u,e,o,f;return!s.shouldUpdateOn(n,r,t)||!i?s.rejectPromise([]):(u=[],i.replace(/<(img src|img [^>]* src) *=\"([^\"]*)\"/gi,function(n,t,i){u.push(i)}),e=[],o=[],u.length)?(angular.forEach(u,function(n){e.push(s.urlToBlob(n).then(function(n){o.push(n)}))}),f=c.defer(),c.all(e).then(function(){f.resolve(o)},function(n){f.reject(n)}),f.promise):s.emptyPromise()}function g(n,t,i,r){var u=l("ngfDragOverClass",n,{$event:i}),f="dragover",e,h,o;if(angular.isString(u))f=u;else if(u&&(u.delay&&(k=u.delay),u.accept||u.reject))if(e=i.dataTransfer.items,e!=null&&e.length)for(h=u.pattern||l("ngfPattern",n,{$event:i}),o=e.length;o--;)if(s.validatePattern(e[o],h))f=u.accept;else{f=u.reject;break}else f=u.accept;r(f)}function nt(n,i,u,f){function nt(n,t){var i=c.defer(),u,r;if(n!=null)if(n.isDirectory){u=[s.emptyPromise()];g&&(r={type:"directory"},r.name=r.path=(t||"")+n.name+n.name,e.push(r));var h=n.createReader(),f=[],o=function(){h.readEntries(function(r){try{r.length?(f=f.concat(Array.prototype.slice.call(r||[],0)),o()):(angular.forEach(f.slice(0),function(i){e.length<=k&&a<=d&&u.push(nt(i,(t?t:"")+n.name+"/"))}),c.all(u).then(function(){i.resolve()},function(n){i.reject(n)}))}catch(s){i.reject(s)}},function(n){i.reject(n)})};o()}else n.file(function(n){try{n.path=(t?t:"")+n.name;g&&(n=s.rename(n,n.path));e.push(n);a+=n.size;i.resolve()}catch(r){i.reject(r)}},function(n){i.reject(n)});return i.promise}var k=s.getValidationAttr(r,t,"maxFiles")||Number.MAX_VALUE,d=s.getValidationAttr(r,t,"maxTotalSize")||Number.MAX_VALUE,g=l("ngfIncludeDir",t),e=[],a=0,tt=[s.emptyPromise()],h,p,w,b,v,y;if(n&&n.length>0&&o.protocol()!=="file")for(h=0;h<n.length;h++){if(n[h].webkitGetAsEntry&&n[h].webkitGetAsEntry()&&n[h].webkitGetAsEntry().isDirectory){if(p=n[h].webkitGetAsEntry(),p.isDirectory&&!u)continue;p!=null&&tt.push(nt(p))}else w=n[h].getAsFile(),w!=null&&(e.push(w),a+=w.size);if(e.length>k||a>d||!f&&e.length>0)break}else if(i!=null)for(b=0;b<i.length;b++)if(v=i.item(b),(v.type||v.size>0)&&(e.push(v),a+=v.size),e.length>k||a>d||!f&&e.length>0)break;return y=c.defer(),c.all(tt).then(function(){if(f||g||!e.length)y.resolve(e);else{for(var n=0;e[n]&&e[n].type==="directory";)n++;y.resolve([e[n]])}},function(n){y.reject(n)}),y.promise}var w=n(),l=function(n,t,i){return s.attrGetter(n,r,t,i)};if(l("dropAvailable")&&e(function(){t[l("dropAvailable")]?t[l("dropAvailable")].value=w:t[l("dropAvailable")]=w}),!w){l("ngfHideOnDropNotAvailable",t)===!0&&i.css("display","none");return}l("ngfSelect")==null&&s.registerModelChangeValidator(u,r,t);var b=null,y=f(l("ngfStopPropagation")),k=1,a;if(i[0].addEventListener("dragover",function(n){if(!v()&&s.shouldUpdateOn("drop",r,t)){if(n.preventDefault(),y(t)&&n.stopPropagation(),navigator.userAgent.indexOf("Chrome")>-1){var u=n.dataTransfer.effectAllowed;n.dataTransfer.dropEffect="move"===u||"linkMove"===u?"move":"copy"}e.cancel(b);a||(a="C",g(t,r,n,function(r){a=r;i.addClass(a);l("ngfDrag",t,{$isDragging:!0,$class:a,$event:n})}))}},!1),i[0].addEventListener("dragenter",function(n){!v()&&s.shouldUpdateOn("drop",r,t)&&(n.preventDefault(),y(t)&&n.stopPropagation())},!1),i[0].addEventListener("dragleave",function(n){!v()&&s.shouldUpdateOn("drop",r,t)&&(n.preventDefault(),y(t)&&n.stopPropagation(),b=e(function(){a&&i.removeClass(a);a=null;l("ngfDrag",t,{$isDragging:!1,$event:n})},k||100))},!1),i[0].addEventListener("drop",function(n){if(!v()&&s.shouldUpdateOn("drop",r,t)){n.preventDefault();y(t)&&n.stopPropagation();a&&i.removeClass(a);a=null;var f=n.dataTransfer.items,u;try{u=n.dataTransfer&&n.dataTransfer.getData&&n.dataTransfer.getData("text/html")}catch(e){}nt(f,n.dataTransfer.files,l("ngfAllowDir",t)!==!1,l("multiple")||l("ngfMultiple",t)).then(function(t){t.length?p(t,n):d("dropUrl",u).then(function(t){p(t,n)})})}},!1),i[0].addEventListener("paste",function(n){var f,i,u;if(navigator.userAgent.toLowerCase().indexOf("firefox")>-1&&l("ngfEnableFirefoxPaste",t)&&n.preventDefault(),!v()&&s.shouldUpdateOn("paste",r,t)){if(f=[],i=n.clipboardData||n.originalEvent.clipboardData,i&&i.items)for(u=0;u<i.items.length;u++)i.items[u].type.indexOf("image")!==-1&&f.push(i.items[u].getAsFile());f.length?p(f,n):d("pasteUrl",i).then(function(t){p(t,n)})}},!1),navigator.userAgent.toLowerCase().indexOf("firefox")>-1&&l("ngfEnableFirefoxPaste",t)){i.attr("contenteditable",!0);i.on("keypress",function(n){n.metaKey||n.ctrlKey||n.preventDefault()})}}function n(){var n=document.createElement("div");return"draggable"in n&&"ondrop"in n&&!/Edge\/12./i.test(navigator.userAgent)}ngFileUpload.directive("ngfDrop",["$parse","$timeout","$location","Upload","$http","$q",function(n,i,r,u,f,e){return{restrict:"AEC",require:"?ngModel",link:function(o,s,h,c){t(o,s,h,c,n,i,r,u,f,e)}}}]);ngFileUpload.directive("ngfNoFileDrop",function(){return function(t,i){n()&&i.css("display","none")}});ngFileUpload.directive("ngfDropAvailable",["$parse","$timeout","Upload",function(t,i,r){return function(u,f,e){if(n()){var o=t(r.attrGetter("ngfDropAvailable",e));i(function(){o(u);o.assign&&o.assign(u,!0)})}}}])}();ngFileUpload.service("UploadExif",["UploadResize","$q",function(n,t){function r(n,t,i,r){switch(t){case 2:return n.transform(-1,0,0,1,i,0);case 3:return n.transform(-1,0,0,-1,i,r);case 4:return n.transform(1,0,0,-1,0,r);case 5:return n.transform(0,1,1,0,0,0);case 6:return n.transform(0,1,-1,0,r,0);case 7:return n.transform(0,-1,-1,0,r,i);case 8:return n.transform(0,-1,1,0,0,i)}}function u(n){for(var i="",r=new Uint8Array(n),u=r.byteLength,t=0;t<u;t++)i+=String.fromCharCode(r[t]);return window.btoa(i)}var i=n;return i.isExifSupported=function(){return window.FileReader&&(new FileReader).readAsArrayBuffer&&i.isResizeSupported()},i.readOrientation=function(n){var i=t.defer(),r=new FileReader,u=n.slice?n.slice(0,65536):n;return r.readAsArrayBuffer(u),r.onerror=function(n){return i.reject(n)},r.onload=function(n){var u={orientation:1},r=new DataView(this.result),h,t,s,f,c,e,o;if(r.getUint16(0,!1)!==65496)return i.resolve(u);for(h=r.byteLength,t=2;t<h;)if(s=r.getUint16(t,!1),t+=2,s===65505){if(r.getUint32(t+=2,!1)!==1165519206)return i.resolve(u);for(f=r.getUint16(t+=6,!1)===18761,t+=r.getUint32(t+4,f),c=r.getUint16(t,f),t+=2,e=0;e<c;e++)if(r.getUint16(t+e*12,f)===274)return o=r.getUint16(t+e*12+8,f),o>=2&&o<=8&&(r.setUint16(t+e*12+8,1,f),u.fixedArrayBuffer=n.target.result),u.orientation=o,i.resolve(u)}else if((s&65280)!=65280)break;else t+=r.getUint16(t,!1);return i.resolve(u)},i.promise},i.applyExifRotation=function(n){if(n.type.indexOf("image/jpeg")!==0)return i.emptyPromise(n);var f=t.defer();return i.readOrientation(n).then(function(t){if(t.orientation<2||t.orientation>8)return f.resolve(n);i.dataUrl(n,!0).then(function(e){var s=document.createElement("canvas"),o=document.createElement("img");o.onload=function(){var h,e,c;try{s.width=t.orientation>4?o.height:o.width;s.height=t.orientation>4?o.width:o.height;h=s.getContext("2d");r(h,t.orientation,o.width,o.height);h.drawImage(o,0,0);e=s.toDataURL(n.type||"image/WebP",.934);e=i.restoreExif(u(t.fixedArrayBuffer),e);c=i.dataUrltoBlob(e,n.name);f.resolve(c)}catch(l){return f.reject(l)}};o.onerror=function(){f.reject()};o.src=e},function(n){f.reject(n)})},function(n){f.reject(n)}),f.promise},i.restoreExif=function(n,t){var i={};return i.KEY_STR="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",i.encode64=function(n){var o="",u,t,i="",s,h,f,r="",e=0;do u=n[e++],t=n[e++],i=n[e++],s=u>>2,h=(u&3)<<4|t>>4,f=(t&15)<<2|i>>6,r=i&63,isNaN(t)?f=r=64:isNaN(i)&&(r=64),o=o+this.KEY_STR.charAt(s)+this.KEY_STR.charAt(h)+this.KEY_STR.charAt(f)+this.KEY_STR.charAt(r),u=t=i="",s=h=f=r="";while(e<n.length);return o},i.restore=function(n,t){n.match("data:image/jpeg;base64,")&&(n=n.replace("data:image/jpeg;base64,",""));var i=this.decode64(n),r=this.slice2Segments(i),u=this.exifManipulation(t,r);return"data:image/jpeg;base64,"+this.encode64(u)},i.exifManipulation=function(n,t){var i=this.getExifArray(t),r=this.insertExif(n,i);return new Uint8Array(r)},i.getExifArray=function(n){for(var t,i=0;i<n.length;i++)if(t=n[i],t[0]===255&t[1]===225)return t;return[]},i.insertExif=function(n,t){var f=n.replace("data:image/jpeg;base64,",""),i=this.decode64(f),u=i.indexOf(255,3),e=i.slice(0,u),o=i.slice(u),r=e;return r=r.concat(t),r.concat(o)},i.slice2Segments=function(n){for(var t=0,i=[];;){if(n[t]===255&n[t+1]===218)break;if(n[t]===255&n[t+1]===216)t+=2;else{var u=n[t+2]*256+n[t+3],r=t+u+2,f=n.slice(t,r);i.push(f);t=r}if(t>n.length)break}return i},i.decode64=function(n){var e,o,s="",h,r,t,u="",i=0,f=[];/[^A-Za-z0-9\+\/\=]/g.exec(n)&&console.log("There were invalid base64 characters in the input text.\nValid base64 characters are A-Z, a-z, 0-9, NaNExpect errors in decoding.");n=n.replace(/[^A-Za-z0-9\+\/\=]/g,"");do h=this.KEY_STR.indexOf(n.charAt(i++)),r=this.KEY_STR.indexOf(n.charAt(i++)),t=this.KEY_STR.indexOf(n.charAt(i++)),u=this.KEY_STR.indexOf(n.charAt(i++)),e=h<<2|r>>4,o=(r&15)<<4|t>>2,s=(t&3)<<6|u,f.push(e),t!==64&&f.push(o),u!==64&&f.push(s),e=o=s="",h=r=t=u="";while(i<n.length);return f},i.restore(n,t)},i}])