2017-04-11 11:04:48 +00:00
! function ( b , f , h ) { function k ( d ) { return function ( ) { var m , a = arguments [ 0 ] ; m = "[" + ( d ? d + ":" : "" ) + a + "] http://errors.angularjs.org/1.4.14/" + ( d ? d + "/" : "" ) + a ; for ( a = 1 ; a < arguments . length ; a ++ ) { m = m + ( 1 == a ? "?" : "&" ) + "p" + ( a - 1 ) + "=" ; var b , c = encodeURIComponent ; b = arguments [ a ] ; b = "function" == typeof b ? b . toString ( ) . replace ( / \{[\s\S]*$/ , "" ) : "undefined" == typeof b ? "undefined" : "string" != typeof b ? JSON . stringify ( b ) : b ; m += c ( b ) } return Error ( m ) } } function c ( d ) { if ( null == d || L ( d ) ) return ! 1 ; if ( oa ( d ) || u ( d ) || ga && d instanceof ga ) return ! 0 ; var m =
"length" in Object ( d ) && d . length ; return J ( m ) && ( 0 <= m && ( m - 1 in d || d instanceof Array ) || "function" == typeof d . item ) } function a ( d , m , b ) { var G , aa ; if ( d ) if ( H ( d ) ) for ( G in d ) "prototype" == G || "length" == G || "name" == G || d . hasOwnProperty && ! d . hasOwnProperty ( G ) || m . call ( b , d [ G ] , G , d ) ; else if ( oa ( d ) || c ( d ) ) { var e = "object" != typeof d ; G = 0 ; for ( aa = d . length ; G < aa ; G ++ ) ( e || G in d ) && m . call ( b , d [ G ] , G , d ) } else if ( d . forEach && d . forEach !== a ) d . forEach ( m , b , d ) ; else if ( null === d || "object" != typeof d || vc ( d ) ) if ( "function" == typeof d . hasOwnProperty ) for ( G in d ) d . hasOwnProperty ( G ) &&
m . call ( b , d [ G ] , G , d ) ; else for ( G in d ) vb . call ( d , G ) && m . call ( b , d [ G ] , G , d ) ; else for ( G in d ) m . call ( b , d [ G ] , G , d ) ; return d } function g ( d , m , a ) { for ( var b = Object . keys ( d ) . sort ( ) , c = 0 ; c < b . length ; c ++ ) m . call ( a , d [ b [ c ] ] , b [ c ] ) ; return b } function e ( d ) { return function ( m , a ) { d ( a , m ) } } function t ( ) { return ++ wc } function l ( d , m , a ) { for ( var b = d . $$hashKey , c = 0 , aa = m . length ; c < aa ; ++ c ) { var e = m [ c ] ; if ( p ( e ) || H ( e ) ) for ( var g = Object . keys ( e ) , h = 0 , k = g . length ; h < k ; h ++ ) { var f = g [ h ] , v = e [ f ] ; a && p ( v ) ? M ( v ) ? d [ f ] = new Date ( v . valueOf ( ) ) : K ( v ) ? d [ f ] = new RegExp ( v ) :
v . nodeName ? d [ f ] = v . cloneNode ( ! 0 ) : R ( v ) ? d [ f ] = v . clone ( ) : ( p ( d [ f ] ) || ( d [ f ] = oa ( v ) ? [ ] : { } ) , l ( d [ f ] , [ v ] , ! 0 ) ) : d [ f ] = v } } return b ? d . $$hashKey = b : delete d . $$hashKey , d } function n ( d ) { return l ( d , Cb . call ( arguments , 1 ) , ! 1 ) } function q ( d ) { return l ( d , Cb . call ( arguments , 1 ) , ! 0 ) } function w ( d , a ) { return n ( Object . create ( d ) , a ) } function r ( ) { } function z ( d ) { return d } function y ( d ) { return function ( ) { return d } } function F ( d ) { return H ( d . toString ) && d . toString !== wb } function A ( d ) { return "undefined" == typeof d } function D ( d ) { return "undefined" != typeof d }
function p ( d ) { return null !== d && "object" == typeof d } function u ( d ) { return "string" == typeof d } function J ( d ) { return "number" == typeof d } function M ( d ) { return "[object Date]" === wb . call ( d ) } function H ( d ) { return "function" == typeof d } function K ( d ) { return "[object RegExp]" === wb . call ( d ) } function L ( d ) { return d && d . window === d } function S ( d ) { return d && d . $evalAsync && d . $watch } function X ( d ) { return "boolean" == typeof d } function I ( d ) { return d && J ( d . length ) && xe . test ( wb . call ( d ) ) } function R ( d ) { return ! ( ! d || ! ( d . nodeName || d . prop && d . attr &&
d . find ) ) } function Y ( d ) { var a = { } ; d = d . split ( "," ) ; var b ; for ( b = 0 ; b < d . length ; b ++ ) a [ d [ b ] ] = ! 0 ; return a } function T ( d ) { return va ( d . nodeName || d [ 0 ] && d [ 0 ] . nodeName ) } function E ( d , a ) { var m = d . indexOf ( a ) ; return 0 <= m && d . splice ( m , 1 ) , m } function U ( d , m ) { function b ( d , a ) { var m , b = a . $$hashKey ; if ( oa ( d ) ) { m = 0 ; for ( var c = d . length ; m < c ; m ++ ) a . push ( G ( d [ m ] ) ) } else if ( null === d || "object" != typeof d || vc ( d ) ) if ( d && "function" == typeof d . hasOwnProperty ) for ( m in d ) d . hasOwnProperty ( m ) && ( a [ m ] = G ( d [ m ] ) ) ; else for ( m in d ) vb . call ( d , m ) && ( a [ m ] = G ( d [ m ] ) ) ;
else for ( m in d ) a [ m ] = G ( d [ m ] ) ; return b ? a . $$hashKey = b : delete a . $$hashKey , a } function G ( d ) { if ( ! p ( d ) ) return d ; var a = c . indexOf ( d ) ; if ( - 1 !== a ) return e [ a ] ; if ( L ( d ) || S ( d ) ) throw Ya ( "cpws" ) ; var m , a = ! 1 ; return oa ( d ) ? ( m = [ ] , a = ! 0 ) : I ( d ) ? m = new d . constructor ( d ) : M ( d ) ? m = new Date ( d . getTime ( ) ) : K ( d ) ? ( m = new RegExp ( d . source , d . toString ( ) . match ( /[^\/]*$/ ) [ 0 ] ) , m . lastIndex = d . lastIndex ) : "[object Blob]" === wb . call ( d ) ? m = new d . constructor ( [ d ] , { type : d . type } ) : H ( d . cloneNode ) ? m = d . cloneNode ( ! 0 ) : ( m = Object . create ( vc ( d ) ) , a = ! 0 ) , c . push ( d ) , e . push ( m ) ,
a ? b ( d , m ) : m } var c = [ ] , e = [ ] ; if ( m ) { if ( I ( m ) ) throw Ya ( "cpta" ) ; if ( d === m ) throw Ya ( "cpi" ) ; return oa ( m ) ? m . length = 0 : a ( m , function ( d , a ) { "$$hashKey" !== a && delete m [ a ] } ) , c . push ( d ) , e . push ( m ) , b ( d , m ) } return G ( d ) } function ka ( d , a ) { if ( oa ( d ) ) { a = a || [ ] ; for ( var m = 0 , b = d . length ; m < b ; m ++ ) a [ m ] = d [ m ] } else if ( p ( d ) ) for ( m in a = a || { } , d ) "$" === m . charAt ( 0 ) && "$" === m . charAt ( 1 ) || ( a [ m ] = d [ m ] ) ; return a || d } function V ( d , a ) { if ( d === a ) return ! 0 ; if ( null === d || null === a ) return ! 1 ; if ( d !== d && a !== a ) return ! 0 ; var m , b = typeof d ; if ( b == typeof a && "object" == b ) { if ( ! oa ( d ) ) { if ( M ( d ) ) return ! ! M ( a ) &&
V ( d . getTime ( ) , a . getTime ( ) ) ; if ( K ( d ) ) return ! ! K ( a ) && d . toString ( ) == a . toString ( ) ; if ( S ( d ) || S ( a ) || L ( d ) || L ( a ) || oa ( a ) || M ( a ) || K ( a ) ) return ! 1 ; b = Ma ( ) ; for ( m in d ) if ( "$" !== m . charAt ( 0 ) && ! H ( d [ m ] ) ) { if ( ! V ( d [ m ] , a [ m ] ) ) return ! 1 ; b [ m ] = ! 0 } for ( m in a ) if ( ! ( m in b ) && "$" !== m . charAt ( 0 ) && D ( a [ m ] ) && ! H ( a [ m ] ) ) return ! 1 ; return ! 0 } if ( ! oa ( a ) ) return ! 1 ; if ( ( b = d . length ) == a . length ) { for ( m = 0 ; m < b ; m ++ ) if ( ! V ( d [ m ] , a [ m ] ) ) return ! 1 ; return ! 0 } } return ! 1 } function Q ( d , a , b ) { return d . concat ( Cb . call ( a , b ) ) } function ea ( d , a ) { var m = 2 < arguments . length ? Cb . call ( arguments ,
2 ) : [ ] ; return ! H ( a ) || a instanceof RegExp ? a : m . length ? function ( ) { return arguments . length ? a . apply ( d , Q ( m , arguments , 0 ) ) : a . apply ( d , m ) } : function ( ) { return arguments . length ? a . apply ( d , arguments ) : a . call ( d ) } } function N ( d , a ) { var m = a ; return "string" == typeof d && "$" === d . charAt ( 0 ) && "$" === d . charAt ( 1 ) ? m = h : L ( a ) ? m = "$WINDOW" : a && f === a ? m = "$DOCUMENT" : S ( a ) && ( m = "$SCOPE" ) , m } function pa ( d , a ) { return A ( d ) ? h : ( J ( a ) || ( a = a ? 2 : null ) , JSON . stringify ( d , N , a ) ) } function ca ( d ) { return u ( d ) ? JSON . parse ( d ) : d } function W ( d , a ) { d = d . replace ( Bd , "" ) ; var m =
Date . parse ( "Jan 01, 1970 00:00:00 " + d ) / 6E4 ; return isNaN ( m ) ? a : m } function da ( d , a , b ) { b = b ? - 1 : 1 ; var m = d . getTimezoneOffset ( ) ; return a = W ( a , m ) , b *= a - m , d = new Date ( d . getTime ( ) ) , d . setMinutes ( d . getMinutes ( ) + b ) , d } function la ( d ) { d = ga ( d ) . clone ( ) ; try { d . empty ( ) } catch ( aa ) { } var a = ga ( "<div>" ) . append ( d ) . html ( ) ; try { return d [ 0 ] . nodeType === Qb ? va ( a ) : a . match ( /^(<[^>]+>)/ ) [ 1 ] . replace ( /^<([\w\-]+)/ , function ( d , a ) { return "<" + va ( a ) } ) } catch ( aa ) { return va ( a ) } } function ma ( d ) { try { return decodeURIComponent ( d ) } catch ( m ) { } } function Ea ( d ) { var m =
{ } ; return a ( ( d || "" ) . split ( "&" ) , function ( d ) { var a , b , c ; d && ( b = d = d . replace ( /\+/g , "%20" ) , a = d . indexOf ( "=" ) , - 1 !== a && ( b = d . substring ( 0 , a ) , c = d . substring ( a + 1 ) ) , b = ma ( b ) , D ( b ) && ( c = ! D ( c ) || ma ( c ) , vb . call ( m , b ) ? oa ( m [ b ] ) ? m [ b ] . push ( c ) : m [ b ] = [ m [ b ] , c ] : m [ b ] = c ) ) } ) , m } function wa ( d ) { var m = [ ] ; return a ( d , function ( d , b ) { oa ( d ) ? a ( d , function ( d ) { m . push ( v ( b , ! 0 ) + ( ! 0 === d ? "" : "=" + v ( d , ! 0 ) ) ) } ) : m . push ( v ( b , ! 0 ) + ( ! 0 === d ? "" : "=" + v ( d , ! 0 ) ) ) } ) , m . length ? m . join ( "&" ) : "" } function ha ( d ) { return v ( d , ! 0 ) . replace ( /%26/gi , "&" ) . replace ( /%3D/gi , "=" ) . replace ( /%2B/gi ,
"+" ) } function v ( d , a ) { return encodeURIComponent ( d ) . replace ( /%40/gi , "@" ) . replace ( /%3A/gi , ":" ) . replace ( /%24/g , "$" ) . replace ( /%2C/gi , "," ) . replace ( /%3B/gi , ";" ) . replace ( /%20/g , a ? "%20" : "+" ) } function ra ( d , a ) { var b , m , c = ec . length ; for ( m = 0 ; m < c ; ++ m ) if ( b = ec [ m ] + a , u ( b = d . getAttribute ( b ) ) ) return b ; return null } function Aa ( d , b ) { var m , c , e = { } ; a ( ec , function ( a ) { a += "app" ; ! m && d . hasAttribute && d . hasAttribute ( a ) && ( m = d , c = d . getAttribute ( a ) ) } ) ; a ( ec , function ( a ) { a += "app" ; var b ; ! m && ( b = d . querySelector ( "[" + a . replace ( ":" , "\\:" ) + "]" ) ) &&
( m = b , c = b . getAttribute ( a ) ) } ) ; m && ( e . strictDi = null !== ra ( m , "strict-di" ) , b ( m , c ? [ c ] : [ ] , e ) ) } function ba ( d , m , c ) { p ( c ) || ( c = { } ) ; c = n ( { strictDi : ! 1 } , c ) ; var G = function ( ) { if ( d = ga ( d ) , d . injector ( ) ) { var a = d [ 0 ] === f ? "document" : la ( d ) ; throw Ya ( "btstrpd" , a . replace ( /</ , "<" ) . replace ( />/ , ">" ) ) ; } return m = m || [ ] , m . unshift ( [ "$provide" , function ( a ) { a . value ( "$rootElement" , d ) } ] ) , c . debugInfoEnabled && m . push ( [ "$compileProvider" , function ( d ) { d . debugInfoEnabled ( ! 0 ) } ] ) , m . unshift ( "ng" ) , a = ib ( m , c . strictDi ) , a . invoke ( [ "$rootScope" , "$rootElement" ,
"$compile" , "$injector" , function ( d , a , b , m ) { d . $apply ( function ( ) { a . data ( "$injector" , m ) ; b ( a ) ( d ) } ) } ] ) , a } , e = /^NG_ENABLE_DEBUG_INFO!/ , g = /^NG_DEFER_BOOTSTRAP!/ ; return b && e . test ( b . name ) && ( c . debugInfoEnabled = ! 0 , b . name = b . name . replace ( e , "" ) ) , b && ! g . test ( b . name ) ? G ( ) : ( b . name = b . name . replace ( g , "" ) , Na . resumeBootstrap = function ( d ) { return a ( d , function ( d ) { m . push ( d ) } ) , G ( ) } , void ( H ( Na . resumeDeferredBootstrap ) && Na . resumeDeferredBootstrap ( ) ) ) } function Za ( ) { b . name = "NG_ENABLE_DEBUG_INFO!" + b . name ; b . location . reload ( ) } function Ia ( d ) { if ( d =
Na . element ( d ) . injector ( ) , ! d ) throw Ya ( "test" ) ; return d . get ( "$$testability" ) } function ia ( d , a ) { return a = a || "_" , d . replace ( ye , function ( d , b ) { return ( b ? a : "" ) + d . toLowerCase ( ) } ) } function ya ( ) { var d ; if ( ! Cd ) { var a = xc ( ) ; ( Fa = A ( a ) ? b . jQuery : a ? b [ a ] : h ) && Fa . fn . on ? ( ga = Fa , n ( Fa . fn , { scope : Rb . scope , isolateScope : Rb . isolateScope , controller : Rb . controller , injector : Rb . injector , inheritedData : Rb . inheritedData } ) , d = Fa . cleanData , Fa . cleanData = function ( a ) { var b ; if ( ad ) ad = ! 1 ; else for ( var m , c = 0 ; null != ( m = a [ c ] ) ; c ++ ) ( b = Fa . _data ( m , "events" ) ) &&
b . $destroy && Fa ( m ) . triggerHandler ( "$destroy" ) ; d ( a ) } ) : ga = Oa ; Na . element = ga ; Cd = ! 0 } } function Ua ( d , a , b ) { if ( ! d ) throw Ya ( "areq" , a || "?" , b || "required" ) ; return d } function nb ( d , a , b ) { return b && oa ( d ) && ( d = d [ d . length - 1 ] ) , Ua ( H ( d ) , a , "not a function, got " + ( d && "object" == typeof d ? d . constructor . name || "Object" : typeof d ) ) , d } function Sb ( d , a ) { if ( "hasOwnProperty" === d ) throw Ya ( "badname" , a ) ; } function xb ( d , a , b ) { if ( ! a ) return d ; a = a . split ( "." ) ; for ( var m , c = d , e = a . length , g = 0 ; g < e ; g ++ ) m = a [ g ] , d && ( d = ( c = d ) [ m ] ) ; return ! b && H ( d ) ? ea ( c , d ) : d }
function Tb ( d ) { for ( var a , b = d [ 0 ] , c = d [ d . length - 1 ] , e = 1 ; b !== c && ( b = b . nextSibling ) ; e ++ ) ( a || d [ e ] !== b ) && ( a || ( a = ga ( Cb . call ( d , 0 , e ) ) ) , a . push ( b ) ) ; return a || d } function Ma ( ) { return Object . create ( null ) } function Of ( d ) { function a ( d , a , b ) { return d [ a ] || ( d [ a ] = b ( ) ) } var b = k ( "$injector" ) , c = k ( "ng" ) ; return d = a ( d , "angular" , Object ) , d . $$minErr = d . $$minErr || k , a ( d , "module" , function ( ) { var d = { } ; return function ( m , e , G ) { if ( "hasOwnProperty" === m ) throw c ( "badname" , "module" ) ; return e && d . hasOwnProperty ( m ) && ( d [ m ] = null ) , a ( d , m , function ( ) { function d ( d ,
a , b , m ) { return m || ( m = c ) , function ( ) { return m [ b || "push" ] ( [ d , a , arguments ] ) , k } } function a ( d , a ) { return function ( b , e ) { return e && H ( e ) && ( e . $$moduleName = m ) , c . push ( [ d , a , arguments ] ) , k } } if ( ! e ) throw b ( "nomod" , m ) ; var c = [ ] , g = [ ] , h = [ ] , f = d ( "$injector" , "invoke" , "push" , g ) , k = { _invokeQueue : c , _configBlocks : g , _runBlocks : h , requires : e , name : m , provider : a ( "$provide" , "provider" ) , factory : a ( "$provide" , "factory" ) , service : a ( "$provide" , "service" ) , value : d ( "$provide" , "value" ) , constant : d ( "$provide" , "constant" , "unshift" ) , decorator : a ( "$provide" ,
"decorator" ) , animation : a ( "$animateProvider" , "register" ) , filter : a ( "$filterProvider" , "register" ) , controller : a ( "$controllerProvider" , "register" ) , directive : a ( "$compileProvider" , "directive" ) , config : f , run : function ( d ) { return h . push ( d ) , this } } ; return G && f ( G ) , k } ) } } ) } function ze ( d ) { n ( d , { bootstrap : ba , copy : U , extend : n , merge : q , equals : V , element : ga , forEach : a , injector : ib , noop : r , bind : ea , toJson : pa , fromJson : ca , identity : z , isUndefined : A , isDefined : D , isString : u , isFunction : H , isObject : p , isNumber : J , isElement : R , isArray : oa , version : Ae ,
isDate : M , lowercase : va , uppercase : ob , callbacks : { counter : 0 } , getTestability : Ia , $$minErr : k , $$csp : Ub , reloadWithDebugInfo : Za } ) ; ( Jb = Of ( b ) ) ( "ng" , [ "ngLocale" ] , [ "$provide" , function ( d ) { d . provider ( { $$sanitizeUri : cd } ) ; d . provider ( "$compile" , Kb ) . directive ( { a : dd , input : oc , textarea : oc , form : Be , script : Pf , select : Qf , style : Rf , option : Sf , ngBind : Dd , ngBindHtml : Ce , ngBindTemplate : De , ngClass : Bc , ngClassEven : Tf , ngClassOdd : Ee , ngCloak : Uf , ngController : Vf , ngForm : $a , ngHide : Wf , ngIf : Xf , ngInclude : Yf , ngInit : Zf , ngNonBindable : $f , ngPluralize : ag ,
ngRepeat : Cc , ngShow : Fe , ngStyle : Ge , ngSwitch : bg , ngSwitchWhen : cg , ngSwitchDefault : dg , ngOptions : He , ngTransclude : eg , ngModel : Ie , ngList : fg , ngChange : Ed , pattern : ed , ngPattern : ed , required : qa , ngRequired : qa , minlength : Je , ngMinlength : Je , maxlength : fd , ngMaxlength : fd , ngValue : Fd , ngModelOptions : gg } ) . directive ( { ngInclude : hg } ) . directive ( Db ) . directive ( Ke ) ; d . provider ( { $anchorScroll : Gd , $animate : Vb , $animateCss : Le , $$animateJs : Me , $$animateQueue : Hd , $$AnimateRunner : gd , $$animateAsyncRun : Ne , $browser : Dc , $cacheFactory : Id , $controller : yb ,
$document : xa , $exceptionHandler : Ag , $filter : Ec , $$forceReflow : fc , $interpolate : Jd , $interval : Fc , $http : Bg , $httpParamSerializer : Cg , $httpParamSerializerJQLike : fb , $httpBackend : Oe , $xhrFactory : Dg , $location : Pe , $log : Lb , $parse : Eg , $rootScope : Kd , $q : Qe , $$q : Re , $sce : pb , $sceDelegate : Se , $sniffer : Te , $templateCache : Eb , $templateRequest : Ue , $$testability : Ve , $timeout : hd , $window : We , $$rAF : Ld , $$jqLite : Ja , $$HashMap : Xe , $$cookieReader : id } ) } ] ) } function pc ( d ) { return d . replace ( Md , function ( d , a , b , c ) { return c ? b . toUpperCase ( ) : b } ) . replace ( jd ,
"Moz$1" ) } function Ye ( d ) { return d = d . nodeType , 1 === d || ! d || 9 === d } function Ze ( d , b ) { var m , c , e = b . createDocumentFragment ( ) , g = [ ] ; if ( Gc . test ( d ) ) { m = m || e . appendChild ( b . createElement ( "div" ) ) ; c = ( Ba . exec ( d ) || [ "" , "" ] ) [ 1 ] . toLowerCase ( ) ; c = Va [ c ] || Va . _default ; m . innerHTML = c [ 1 ] + d . replace ( $e , "<$1></$2>" ) + c [ 2 ] ; for ( c = c [ 0 ] ; c -- ; ) m = m . lastChild ; g = Q ( g , m . childNodes ) ; m = e . firstChild ; m . textContent = "" } else g . push ( b . createTextNode ( d ) ) ; return e . textContent = "" , e . innerHTML = "" , a ( g , function ( d ) { e . appendChild ( d ) } ) , e } function af ( d , a ) { var b =
d . parentNode ; b && b . replaceChild ( a , d ) ; a . appendChild ( d ) } function Oa ( d ) { if ( d instanceof Oa ) return d ; var a ; if ( u ( d ) && ( d = Ga ( d ) , a = ! 0 ) , ! ( this instanceof Oa ) ) { if ( a && "<" != d . charAt ( 0 ) ) throw kd ( "nosel" ) ; return new Oa ( d ) } if ( a ) { a = f ; var b ; d = ( b = bf . exec ( d ) ) ? [ a . createElement ( b [ 1 ] ) ] : ( b = Ze ( d , a ) ) ? b . childNodes : [ ] } sa ( this , d ) } function ld ( d ) { return d . cloneNode ( ! 0 ) } function md ( d , a ) { if ( a || fa ( d ) , d . querySelectorAll ) for ( var b = d . querySelectorAll ( "*" ) , m = 0 , c = b . length ; m < c ; m ++ ) fa ( b [ m ] ) } function cf ( d , b , c , e ) { if ( D ( e ) ) throw kd ( "offargs" ) ;
var m = ( e = ta ( d ) ) && e . events , g = e && e . handle ; if ( g ) if ( b ) { var G = function ( a ) { var b = m [ a ] ; D ( c ) && E ( b || [ ] , c ) ; D ( c ) && b && 0 < b . length || ( d . removeEventListener ( a , g , ! 1 ) , delete m [ a ] ) } ; a ( b . split ( " " ) , function ( d ) { G ( d ) ; Hc [ d ] && G ( Hc [ d ] ) } ) } else for ( b in m ) "$destroy" !== b && d . removeEventListener ( b , g , ! 1 ) , delete m [ b ] } function fa ( d , a ) { var b = d . ng339 , m = b && gc [ b ] ; m && ( a ? delete m . data [ a ] : ( m . handle && ( m . events . $destroy && m . handle ( { } , "$destroy" ) , cf ( d ) ) , delete gc [ b ] , d . ng339 = h ) ) } function ta ( d , a ) { var b = d . ng339 , b = b && gc [ b ] ; return a && ! b && ( d . ng339 =
b = ++ Nd , b = gc [ b ] = { events : { } , data : { } , handle : h } ) , b } function Od ( d , a , b ) { if ( Ye ( d ) ) { var m = D ( b ) , c = ! m && a && ! p ( a ) , e = ! a ; if ( d = ( d = ta ( d , ! c ) ) && d . data , m ) d [ a ] = b ; else { if ( e ) return d ; if ( c ) return d && d [ a ] ; n ( d , a ) } } } function Pa ( d , a ) { return ! ! d . getAttribute && - 1 < ( " " + ( d . getAttribute ( "class" ) || "" ) + " " ) . replace ( /[\n\t]/g , " " ) . indexOf ( " " + a + " " ) } function Xa ( d , b ) { b && d . setAttribute && a ( b . split ( " " ) , function ( a ) { d . setAttribute ( "class" , Ga ( ( " " + ( d . getAttribute ( "class" ) || "" ) + " " ) . replace ( /[\n\t]/g , " " ) . replace ( " " + Ga ( a ) + " " , " " ) ) ) } ) } function hc ( d ,
b ) { if ( b && d . setAttribute ) { var m = ( " " + ( d . getAttribute ( "class" ) || "" ) + " " ) . replace ( /[\n\t]/g , " " ) ; a ( b . split ( " " ) , function ( d ) { d = Ga ( d ) ; - 1 === m . indexOf ( " " + d + " " ) && ( m += d + " " ) } ) ; d . setAttribute ( "class" , Ga ( m ) ) } } function sa ( d , a ) { if ( a ) if ( a . nodeType ) d [ d . length ++ ] = a ; else { var b = a . length ; if ( "number" == typeof b && a . window !== a ) { if ( b ) for ( var m = 0 ; m < b ; m ++ ) d [ d . length ++ ] = a [ m ] } else d [ d . length ++ ] = a } } function Ic ( d , a ) { return Mb ( d , "$" + ( a || "ngController" ) + "Controller" ) } function Mb ( d , a , b ) { 9 == d . nodeType && ( d = d . documentElement ) ; for ( a =
oa ( a ) ? a : [ a ] ; d ; ) { for ( var m = 0 , c = a . length ; m < c ; m ++ ) if ( D ( b = ga . data ( d , a [ m ] ) ) ) return b ; d = d . parentNode || 11 === d . nodeType && d . host } } function qc ( d ) { for ( md ( d , ! 0 ) ; d . firstChild ; ) d . removeChild ( d . firstChild ) } function Jc ( d , a ) { a || md ( d ) ; var b = d . parentNode ; b && b . removeChild ( d ) } function Wb ( d , a ) { a = a || b ; "complete" === a . document . readyState ? a . setTimeout ( d ) : ga ( a ) . on ( "load" , d ) } function df ( d , a ) { var b = Fb [ a . toLowerCase ( ) ] ; return b && Ha [ T ( d ) ] && b } function ig ( d , a ) { var b = function ( b , m ) { b . isDefaultPrevented = function ( ) { return b . defaultPrevented } ;
var c = a [ m || b . type ] , e = c ? c . length : 0 ; if ( e ) { if ( A ( b . immediatePropagationStopped ) ) { var g = b . stopImmediatePropagation ; b . stopImmediatePropagation = function ( ) { b . immediatePropagationStopped = ! 0 ; b . stopPropagation && b . stopPropagation ( ) ; g && g . call ( b ) } } b . isImmediatePropagationStopped = function ( ) { return ! 0 === b . immediatePropagationStopped } ; var h = c . specialHandlerWrapper || jg ; 1 < e && ( c = ka ( c ) ) ; for ( var G = 0 ; G < e ; G ++ ) b . isImmediatePropagationStopped ( ) || h ( d , b , c [ G ] ) } } ; return b . elem = d , b } function jg ( d , a , b ) { b . call ( d , a ) } function Ka ( d , a ,
b ) { var m = a . relatedTarget ; m && ( m === d || ef . call ( d , m ) ) || b . call ( d , a ) } function Ja ( ) { this . $get = function ( ) { return n ( Oa , { hasClass : function ( d , a ) { return d . attr && ( d = d [ 0 ] ) , Pa ( d , a ) } , addClass : function ( d , a ) { return d . attr && ( d = d [ 0 ] ) , hc ( d , a ) } , removeClass : function ( d , a ) { return d . attr && ( d = d [ 0 ] ) , Xa ( d , a ) } } ) } } function rb ( d , a ) { var b = d && d . $$hashKey ; return b ? ( "function" == typeof b && ( b = d . $$hashKey ( ) ) , b ) : ( b = typeof d , "function" == b || "object" == b && null !== d ? d . $$hashKey = b + ":" + ( a || t ) ( ) : b + ":" + d ) } function Nb ( d , b ) { if ( b ) { var m = 0 ; this . nextUid =
function ( ) { return ++ m } } a ( d , this . put , this ) } function Pd ( d ) { return ( d = d . toString ( ) . replace ( ic , "" ) . match ( Kc ) ) ? "function(" + ( d [ 1 ] || "" ) . replace ( /[\s\r\n]+/ , " " ) + ")" : "fn" } function ib ( d , b ) { function m ( d ) { return function ( b , m ) { return p ( b ) ? void a ( b , e ( d ) ) : d ( b , m ) } } function c ( d , a ) { if ( Sb ( d , "service" ) , ( H ( a ) || oa ( a ) ) && ( a = r . instantiate ( a ) ) , ! a . $get ) throw Xb ( "pget" , d ) ; return q [ d + "Provider" ] = a } function g ( d , a ) { return function ( ) { var b = E . invoke ( a , this ) ; if ( A ( b ) ) throw Xb ( "undef" , d ) ; return b } } function f ( d , a , b ) { return c ( d , { $get : ! 1 !==
b ? g ( d , a ) : a } ) } function k ( d ) { Ua ( A ( d ) || oa ( d ) , "modulesToLoad" , "not an array" ) ; var b , m = [ ] ; return a ( d , function ( d ) { function a ( d ) { var a , b ; a = 0 ; for ( b = d . length ; a < b ; a ++ ) { var m = d [ a ] , c = r . get ( m [ 0 ] ) ; c [ m [ 1 ] ] . apply ( c , m [ 2 ] ) } } if ( ! t . get ( d ) ) { t . put ( d , ! 0 ) ; try { u ( d ) ? ( b = Jb ( d ) , m = m . concat ( k ( b . requires ) ) . concat ( b . _runBlocks ) , a ( b . _invokeQueue ) , a ( b . _configBlocks ) ) : H ( d ) ? m . push ( r . invoke ( d ) ) : oa ( d ) ? m . push ( r . invoke ( d ) ) : nb ( d , "module" ) } catch ( sb ) { throw oa ( d ) && ( d = d [ d . length - 1 ] ) , sb . message && sb . stack && - 1 == sb . stack . indexOf ( sb . message ) && ( sb =
sb . message + "\n" + sb . stack ) , Xb ( "modulerr" , d , sb . stack || sb . message || sb ) ; } } } ) , m } function l ( d , a ) { function m ( b , m ) { if ( d . hasOwnProperty ( b ) ) { if ( d [ b ] === v ) throw Xb ( "cdep" , b + " <- " + n . join ( " <- " ) ) ; return d [ b ] } try { return n . unshift ( b ) , d [ b ] = v , d [ b ] = a ( b , m ) } catch ( Qd ) { throw d [ b ] === v && delete d [ b ] , Qd ; } finally { n . shift ( ) } } function c ( d , a , c , e ) { "string" == typeof c && ( e = c , c = null ) ; var g , h , G , x = [ ] , C = ib . $$annotate ( d , b , e ) ; h = 0 ; for ( g = C . length ; h < g ; h ++ ) { if ( G = C [ h ] , "string" != typeof G ) throw Xb ( "itkn" , G ) ; x . push ( c && c . hasOwnProperty ( G ) ? c [ G ] :
m ( G , e ) ) } return oa ( d ) && ( d = d [ g ] ) , d . apply ( a , x ) } return { invoke : c , instantiate : function ( d , a , b ) { var m = Object . create ( ( oa ( d ) ? d [ d . length - 1 ] : d ) . prototype || null ) ; return d = c ( d , m , a , b ) , p ( d ) || H ( d ) ? d : m } , get : m , annotate : ib . $$annotate , has : function ( a ) { return q . hasOwnProperty ( a + "Provider" ) || d . hasOwnProperty ( a ) } } } b = ! 0 === b ; var v = { } , n = [ ] , t = new Nb ( [ ] , ! 0 ) , q = { $provide : { provider : m ( c ) , factory : m ( f ) , service : m ( function ( d , a ) { return f ( d , [ "$injector" , function ( d ) { return d . instantiate ( a ) } ] ) } ) , value : m ( function ( d , a ) { return f ( d , y ( a ) , ! 1 ) } ) ,
constant : m ( function ( d , a ) { Sb ( d , "constant" ) ; q [ d ] = a ; w [ d ] = a } ) , decorator : function ( d , a ) { var b = r . get ( d + "Provider" ) , m = b . $get ; b . $get = function ( ) { var d = E . invoke ( m , b ) ; return E . invoke ( a , null , { $delegate : d } ) } } } } , r = q . $injector = l ( q , function ( d , a ) { throw Na . isString ( a ) && n . push ( a ) , Xb ( "unpr" , n . join ( " <- " ) ) ; } ) , w = { } , E = w . $injector = l ( w , function ( d , a ) { var b = r . get ( d + "Provider" , a ) ; return E . invoke ( b . $get , b , h , d ) } ) ; return a ( k ( d ) , function ( d ) { d && E . invoke ( d ) } ) , E } function Gd ( ) { var d = ! 0 ; this . disableAutoScrolling = function ( ) { d = ! 1 } ; this . $get =
[ "$window" , "$location" , "$rootScope" , function ( a , b , c ) { function m ( d ) { var a = null ; return Array . prototype . some . call ( d , function ( d ) { if ( "a" === T ( d ) ) return a = d , ! 0 } ) , a } function e ( d ) { if ( d ) { d . scrollIntoView ( ) ; var b ; b = g . yOffset ; H ( b ) ? b = b ( ) : R ( b ) ? ( b = b [ 0 ] , b = "fixed" !== a . getComputedStyle ( b ) . position ? 0 : b . getBoundingClientRect ( ) . bottom ) : J ( b ) || ( b = 0 ) ; b && ( d = d . getBoundingClientRect ( ) . top , a . scrollBy ( 0 , d - b ) ) } else a . scrollTo ( 0 , 0 ) } function g ( d ) { d = u ( d ) ? d : b . hash ( ) ; var a ; d ? ( a = h . getElementById ( d ) ) ? e ( a ) : ( a = m ( h . getElementsByName ( d ) ) ) ?
e ( a ) : "top" === d && e ( null ) : e ( null ) } var h = a . document ; return d && c . $watch ( function ( ) { return b . hash ( ) } , function ( d , a ) { d === a && "" === d || Wb ( function ( ) { c . $evalAsync ( g ) } ) } ) , g } ] } function Gb ( d , a ) { return d || a ? d ? a ? ( oa ( d ) && ( d = d . join ( " " ) ) , oa ( a ) && ( a = a . join ( " " ) ) , d + " " + a ) : d : a : "" } function zb ( d ) { u ( d ) && ( d = d . split ( " " ) ) ; var b = Ma ( ) ; return a ( d , function ( d ) { d . length && ( b [ d ] = ! 0 ) } ) , b } function bb ( d ) { return p ( d ) ? d : { } } function Rd ( d , b , c , e ) { function m ( d ) { try { d . apply ( null , Cb . call ( arguments , 1 ) ) } finally { if ( aa -- , 0 === aa ) for ( ; q . length ; ) try { q . pop ( ) ( ) } catch ( lg ) { c . error ( lg ) } } }
function g ( ) { z = null ; h ( ) ; G ( ) } function h ( ) { a : { try { p = l . state ; break a } catch ( tg ) { } p = void 0 } p = A ( p ) ? null : p ; V ( p , U ) && ( p = U ) ; U = p } function G ( ) { u === f . url ( ) && w === p || ( u = f . url ( ) , w = p , a ( F , function ( d ) { d ( f . url ( ) , p ) } ) ) } var f = this , k = d . location , l = d . history , v = d . setTimeout , n = d . clearTimeout , t = { } ; f . isMock = ! 1 ; var aa = 0 , q = [ ] ; f . $$completeOutstandingRequest = m ; f . $$incOutstandingRequestCount = function ( ) { aa ++ } ; f . notifyWhenNoOutstandingRequests = function ( d ) { 0 === aa ? d ( ) : q . push ( d ) } ; var p , w , u = k . href , E = b . find ( "base" ) , z = null ; h ( ) ; w = p ; f . url =
function ( a , b , x ) { if ( A ( x ) && ( x = null ) , k !== d . location && ( k = d . location ) , l !== d . history && ( l = d . history ) , a ) { var C = w === x ; if ( u === a && ( ! e . history || C ) ) return f ; var m = u && Yb ( u ) === Yb ( a ) ; return u = a , w = x , ! e . history || m && C ? ( m && ! z || ( z = a ) , b ? k . replace ( a ) : m ? ( b = k , x = a . indexOf ( "#" ) , x = - 1 === x ? "" : a . substr ( x ) , b . hash = x ) : k . href = a , k . href !== a && ( z = a ) ) : ( l [ b ? "replaceState" : "pushState" ] ( x , "" , a ) , h ( ) , w = p ) , f } return z || k . href . replace ( /%27/g , "'" ) } ; f . state = function ( ) { return p } ; var F = [ ] , y = ! 1 , U = null ; f . onUrlChange = function ( a ) { return y || ( e . history &&
ga ( d ) . on ( "popstate" , g ) , ga ( d ) . on ( "hashchange" , g ) , y = ! 0 ) , F . push ( a ) , a } ; f . $$applicationDestroyed = function ( ) { ga ( d ) . off ( "hashchange popstate" , g ) } ; f . $$checkUrlChange = G ; f . baseHref = function ( ) { var d = E . attr ( "href" ) ; return d ? d . replace ( /^(https?\:)?\/\/[^\/]*/ , "" ) : "" } ; f . defer = function ( d , a ) { var x ; return aa ++ , x = v ( function ( ) { delete t [ x ] ; m ( d ) } , a || 0 ) , t [ x ] = ! 0 , x } ; f . defer . cancel = function ( d ) { return ! ! t [ d ] && ( delete t [ d ] , n ( d ) , m ( r ) , ! 0 ) } } function Dc ( ) { this . $get = [ "$window" , "$log" , "$sniffer" , "$document" , function ( d , a , b , c ) { return new Rd ( d ,
c , a , b ) } ] } function Id ( ) { this . $get = function ( ) { function d ( d , a ) { function m ( d ) { d != l && ( v ? v == d && ( v = d . n ) : v = d , c ( d . n , d . p ) , c ( d , l ) , l = d , l . n = null ) } function c ( d , a ) { d != a && ( d && ( d . p = a ) , a && ( a . n = d ) ) } if ( d in b ) throw k ( "$cacheFactory" ) ( "iid" , d ) ; var e = 0 , g = n ( { } , a , { id : d } ) , h = Ma ( ) , f = a && a . capacity || Number . MAX _VALUE , G = Ma ( ) , l = null , v = null ; return b [ d ] = { put : function ( d , a ) { if ( ! A ( a ) ) { if ( f < Number . MAX _VALUE ) { var b = G [ d ] || ( G [ d ] = { key : d } ) ; m ( b ) } return d in h || e ++ , h [ d ] = a , e > f && this . remove ( v . key ) , a } } , get : function ( d ) { if ( f < Number . MAX _VALUE ) { var a =
G [ d ] ; if ( ! a ) return ; m ( a ) } return h [ d ] } , remove : function ( d ) { if ( f < Number . MAX _VALUE ) { var a = G [ d ] ; if ( ! a ) return ; a == l && ( l = a . p ) ; a == v && ( v = a . n ) ; c ( a . n , a . p ) ; delete G [ d ] } d in h && ( delete h [ d ] , e -- ) } , removeAll : function ( ) { h = Ma ( ) ; e = 0 ; G = Ma ( ) ; l = v = null } , destroy : function ( ) { G = g = h = null ; delete b [ d ] } , info : function ( ) { return n ( { } , g , { size : e } ) } } } var b = { } ; return d . info = function ( ) { var d = { } ; return a ( b , function ( a , b ) { d [ b ] = a . info ( ) } ) , d } , d . get = function ( d ) { return b [ d ] } , d } } function Eb ( ) { this . $get = [ "$cacheFactory" , function ( d ) { return d ( "templates" ) } ] }
function Kb ( d , b ) { function m ( d , b , m ) { var c = /^\s*([@&]|=(\*?))(\??)\s*(\w*)\s*$/ , e = Ma ( ) ; return a ( d , function ( d , a ) { if ( d in F ) e [ a ] = F [ d ] ; else { var g = d . match ( c ) ; if ( ! g ) throw cb ( "iscp" , b , a , d , m ? "controller bindings definition" : "isolate scope definition" ) ; e [ a ] = { mode : g [ 1 ] [ 0 ] , collection : "*" === g [ 2 ] , optional : "?" === g [ 3 ] , attrName : g [ 4 ] || a } ; g [ 4 ] && ( F [ d ] = e [ a ] ) } } ) , e } function c ( d ) { var a = d . charAt ( 0 ) ; if ( ! a || a !== va ( a ) ) throw cb ( "baddir" , d ) ; if ( d !== d . trim ( ) ) throw cb ( "baddir" , d ) ; } var g = { } , k = /^\s*directive\:\s*([\w\-]+)\s+(.*)$/ ,
l = /(([\w\-]+)(?:\:([^;]+))?;?)/ , v = Y ( "ngSrc,ngSrcset,src,srcset" ) , t = /^(?:(\^\^?)?(\?)?(\^\^?)?)?/ , q = /^(on[a-z]+|formaction)$/ , F = Ma ( ) ; this . directive = function bd ( b , m ) { return Sb ( b , "directive" ) , u ( b ) ? ( c ( b ) , Ua ( m , "directiveFactory" ) , g . hasOwnProperty ( b ) || ( g [ b ] = [ ] , d . factory ( b + "Directive" , [ "$injector" , "$exceptionHandler" , function ( d , m ) { var c = [ ] ; return a ( g [ b ] , function ( a , e ) { try { var g = d . invoke ( a ) ; H ( g ) ? g = { compile : y ( g ) } : ! g . compile && g . link && ( g . compile = y ( g . link ) ) ; g . priority = g . priority || 0 ; g . index = e ; g . name = g . name || b ;
g . require = g . require || g . controller && g . name ; g . restrict = g . restrict || "EA" ; g . $$moduleName = a . $$moduleName ; c . push ( g ) } catch ( Lc ) { m ( Lc ) } } ) , c } ] ) ) , g [ b ] . push ( m ) ) : a ( b , e ( bd ) ) , this } ; this . aHrefSanitizationWhitelist = function ( d ) { return D ( d ) ? ( b . aHrefSanitizationWhitelist ( d ) , this ) : b . aHrefSanitizationWhitelist ( ) } ; this . imgSrcSanitizationWhitelist = function ( d ) { return D ( d ) ? ( b . imgSrcSanitizationWhitelist ( d ) , this ) : b . imgSrcSanitizationWhitelist ( ) } ; var U = ! 0 ; this . debugInfoEnabled = function ( d ) { return D ( d ) ? ( U = d , this ) : U } ; this . $get =
[ "$injector" , "$interpolate" , "$exceptionHandler" , "$templateRequest" , "$parse" , "$controller" , "$rootScope" , "$sce" , "$animate" , "$$sanitizeUri" , function ( d , b , c , e , G , aa , Z , ja , na , za ) { function F ( d , a ) { try { d . addClass ( a ) } catch ( Ng ) { } } function y ( d , a , x , b , C ) { d instanceof ga || ( d = ga ( d ) ) ; for ( var m = /\S+/ , c = 0 , e = d . length ; c < e ; c ++ ) { var g = d [ c ] ; g . nodeType === Qb && g . nodeValue . match ( m ) && af ( g , d [ c ] = f . createElement ( "span" ) ) } var P = Ib ( d , a , d , x , b , C ) ; y . $$addScopeClass ( d ) ; var h = null ; return function ( a , x , b ) { Ua ( a , "scope" ) ; C && C . needsNewScope &&
( a = a . $parent . $new ( ) ) ; b = b || { } ; var m = b . parentBoundTranscludeFn , c = b . transcludeControllers ; if ( b = b . futureParentElement , m && m . $$boundTransclude && ( m = m . $$boundTransclude ) , h || ( h = ( b = b && b [ 0 ] ) && "foreignobject" !== T ( b ) && b . toString ( ) . match ( /SVG/ ) ? "svg" : "html" ) , b = "html" !== h ? ga ( ra ( h , ga ( "<div>" ) . append ( d ) . html ( ) ) ) : x ? Rb . clone . call ( d ) : d , c ) for ( var e in c ) b . data ( "$" + e + "Controller" , c [ e ] . instance ) ; return y . $$addScopeInfo ( b , a ) , x && x ( b , a ) , P && P ( a , b , b , m ) , b } } function Ib ( d , a , b , m , c , e ) { function g ( d , b , C , m ) { var c , e , P , g , f , G , k ; if ( l ) for ( k =
Array ( b . length ) , g = 0 ; g < v . length ; g += 3 ) c = v [ g ] , k [ c ] = b [ c ] ; else k = b ; g = 0 ; for ( f = v . length ; g < f ; ) e = k [ v [ g ++ ] ] , b = v [ g ++ ] , c = v [ g ++ ] , b ? ( b . scope ? ( P = d . $new ( ) , y . $$addScopeInfo ( ga ( e ) , P ) ) : P = d , G = b . transcludeOnThisElement ? x ( d , b . transclude , m ) : ! b . templateOnThisElement && m ? m : ! m && a ? x ( d , a ) : null , b ( c , P , e , C , G ) ) : c && c ( d , e . childNodes , h , m ) } for ( var P , f , G , k , l , v = [ ] , n = 0 ; n < d . length ; n ++ ) P = new Tb , f = C ( d [ n ] , [ ] , P , 0 === n ? m : h , c ) , ( e = f . length ? Qa ( f , d [ n ] , P , a , b , null , [ ] , [ ] , e ) : null ) && e . scope && y . $$addScopeClass ( P . $$element ) , P = e && e . terminal || ! ( G = d [ n ] . childNodes ) ||
! G . length ? null : Ib ( G , e ? ( e . transcludeOnThisElement || ! e . templateOnThisElement ) && e . transclude : a ) , ( e || P ) && ( v . push ( n , e , P ) , k = ! 0 , l = l || e ) , e = null ; return k ? g : null } function x ( d , a , x ) { return function ( b , C , m , c , e ) { return b || ( b = d . $new ( ! 1 , e ) , b . $$transcluded = ! 0 ) , a ( b , C , { parentBoundTranscludeFn : x , transcludeControllers : m , futureParentElement : c } ) } } function C ( d , a , x , b , C ) { var m , c = x . $attr ; switch ( d . nodeType ) { case 1 : m = T ( d ) ; Sa ( a , tb ( m ) , "E" , b , C ) ; for ( var e , g , P , h , f = d . attributes , G = 0 , v = f && f . length ; G < v ; G ++ ) { var n = ! 1 , t = ! 1 ; e = f [ G ] ; g = e . name ;
P = Ga ( e . value ) ; e = tb ( g ) ; ( h = Lc . test ( e ) ) && ( g = g . replace ( Sd , "" ) . substr ( 8 ) . replace ( /_(.)/g , function ( d , a ) { return a . toUpperCase ( ) } ) ) ; ( e = e . match ( nb ) ) && M ( e [ 1 ] ) && ( n = g , t = g . substr ( 0 , g . length - 5 ) + "end" , g = g . substr ( 0 , g . length - 6 ) ) ; e = tb ( g . toLowerCase ( ) ) ; c [ e ] = g ; ! h && x . hasOwnProperty ( e ) || ( x [ e ] = P , df ( d , e ) && ( x [ e ] = ! 0 ) ) ; Ia ( d , a , P , e , h ) ; Sa ( a , e , "A" , b , C , n , t ) } if ( "input" === m && "hidden" === d . getAttribute ( "type" ) && d . setAttribute ( "autocomplete" , "off" ) , d = d . className , p ( d ) && ( d = d . animVal ) , u ( d ) && "" !== d ) for ( ; m = l . exec ( d ) ; ) e = tb ( m [ 2 ] ) , Sa ( a , e , "C" ,
b , C ) && ( x [ e ] = Ga ( m [ 3 ] ) ) , d = d . substr ( m . index + m [ 0 ] . length ) ; break ; case Qb : if ( 11 === jc ) for ( ; d . parentNode && d . nextSibling && d . nextSibling . nodeType === Qb ; ) d . nodeValue += d . nextSibling . nodeValue , d . parentNode . removeChild ( d . nextSibling ) ; ka ( a , d . nodeValue ) ; break ; case 8 : try { ( m = k . exec ( d . nodeValue ) ) && ( e = tb ( m [ 1 ] ) , Sa ( a , e , "M" , b , C ) && ( x [ e ] = Ga ( m [ 2 ] ) ) ) } catch ( Og ) { } } return a . sort ( xb ) , a } function P ( d , a , x ) { var b = [ ] , C = 0 ; if ( a && d . hasAttribute && d . hasAttribute ( a ) ) { do { if ( ! d ) throw cb ( "uterdir" , a , x ) ; 1 == d . nodeType && ( d . hasAttribute ( a ) && C ++ ,
d . hasAttribute ( x ) && C -- ) ; b . push ( d ) ; d = d . nextSibling } while ( 0 < C ) } else b . push ( d ) ; return ga ( b ) } function Ca ( d , a , x ) { return function ( b , C , m , c , e ) { return C = P ( C [ 0 ] , a , x ) , d ( b , C , m , c , e ) } } function Qa ( d , a , x , b , m , e , g , G , k ) { function l ( d , a , x , b ) { d && ( x && ( d = Ca ( d , x , b ) ) , d . require = r . require , d . directiveName = Z , ( Qa === r || r . $$isolateScope ) && ( d = J ( d , { isolateScope : ! 0 } ) ) , g . push ( d ) ) ; a && ( x && ( a = Ca ( a , x , b ) ) , a . require = r . require , a . directiveName = Z , ( Qa === r || r . $$isolateScope ) && ( a = J ( a , { isolateScope : ! 0 } ) ) , G . push ( a ) ) } function v ( d , a , x , b ) { var C ; if ( u ( a ) ) { var m =
a . match ( t ) ; a = a . substring ( m [ 0 ] . length ) ; var c = m [ 1 ] || m [ 3 ] , m = "?" === m [ 2 ] ; if ( "^^" === c ? x = x . parent ( ) : C = ( C = b && b [ a ] ) && C . instance , C || ( b = "$" + a + "Controller" , C = c ? x . inheritedData ( b ) : x . data ( b ) ) , ! C && ! m ) throw cb ( "ctreq" , a , d ) ; } else if ( oa ( a ) ) for ( C = [ ] , c = 0 , m = a . length ; c < m ; c ++ ) C [ c ] = v ( d , a [ c ] , x , b ) ; return C || null } function n ( d , a , x , b , C , m ) { var c , e = Ma ( ) ; for ( c in b ) { var g = b [ c ] , P = { $scope : g === Qa || g . $$isolateScope ? C : m , $element : d , $attrs : a , $transclude : x } , h = g . controller ; "@" == h && ( h = a [ g . name ] ) ; P = aa ( h , P , ! 0 , g . controllerAs ) ; e [ g . name ] = P ; d . data ( "$" +
g . name + "Controller" , P . instance ) } return e } function q ( d , b , C , m , c ) { function e ( d , a , x ) { var b ; return S ( d ) || ( x = a , a = d , d = h ) , Ib && ( b = l ) , x || ( x = Ib ? aa . parent ( ) : aa ) , c ( d , a , b , x , p ) } var P , f , k , l , t , aa , r ; a === C ? ( m = x , aa = x . $$element ) : ( aa = ga ( C ) , m = new Tb ( aa , x ) ) ; k = b ; Qa ? f = b . $new ( ! 0 ) : za && ( k = b . $parent ) ; c && ( t = e , t . $$boundTransclude = c ) ; E && ( l = n ( aa , m , t , E , f , b ) ) ; Qa && ( y . $$addScopeInfo ( aa , f , ! 0 , ! ( z && ( z === Qa || z === Qa . $$originalDirective ) ) ) , y . $$addScopeClass ( aa , ! 0 ) , f . $$isolateBindings = Qa . $$isolateBindings , ( r = zc ( b , m , f , f . $$isolateBindings , Qa ) ) &&
f . $on ( "$destroy" , r ) ) ; for ( var q in l ) { r = E [ q ] ; var Ca = l [ q ] , Z = r . $$bindings . bindToController ; Ca . identifier && Z && ( P = zc ( k , m , Ca . instance , Z , r ) ) ; var ja = Ca ( ) ; ja !== Ca . instance && ( Ca . instance = ja , aa . data ( "$" + r . name + "Controller" , ja ) , P && P ( ) , P = zc ( k , m , Ca . instance , Z , r ) ) } Sa = 0 ; for ( M = g . length ; Sa < M ; Sa ++ ) P = g [ Sa ] , ba ( P , P . isolateScope ? f : b , aa , m , P . require && v ( P . directiveName , P . require , aa , l ) , t ) ; var p = b ; Qa && ( Qa . template || null === Qa . templateUrl ) && ( p = f ) ; d && d ( p , C . childNodes , h , c ) ; for ( Sa = G . length - 1 ; 0 <= Sa ; Sa -- ) P = G [ Sa ] , ba ( P , P . isolateScope ?
f : b , aa , m , P . require && v ( P . directiveName , P . require , aa , l ) , t ) } k = k || { } ; for ( var r , Z , ja , na , w = - Number . MAX _VALUE , za = k . newScopeDirective , E = k . controllerDirectives , Qa = k . newIsolateScopeDirective , z = k . templateDirective , F = k . nonTlbTranscludeDirective , A = ! 1 , U = ! 1 , Ib = k . hasElementTranscludeDirective , D = x . $$element = ga ( a ) , ia = b , Sa = 0 , M = d . length ; Sa < M ; Sa ++ ) { r = d [ Sa ] ; var xb = r . $$start , mg = r . $$end ; if ( xb && ( D = P ( a , xb , mg ) ) , ja = h , w > r . priority ) break ; if ( ( ja = r . scope ) && ( r . templateUrl || ( p ( ja ) ? ( ya ( "new/isolated scope" , Qa || za , r , D ) , Qa = r ) : ya ( "new/isolated scope" ,
Qa , r , D ) ) , za = za || r ) , Z = r . name , ! r . templateUrl && r . controller && ( ja = r . controller , E = E || Ma ( ) , ya ( "'" + Z + "' controller" , E [ Z ] , r , D ) , E [ Z ] = r ) , ( ja = r . transclude ) && ( A = ! 0 , r . $$tlb || ( ya ( "transclusion" , F , r , D ) , F = r ) , "element" == ja ? ( Ib = ! 0 , w = r . priority , ja = D , D = x . $$element = ga ( f . createComment ( " " + Z + ": " + x [ Z ] + " " ) ) , a = D [ 0 ] , I ( m , Cb . call ( ja , 0 ) , a ) , ia = y ( ja , b , w , e && e . name , { nonTlbTranscludeDirective : F } ) ) : ( ja = ga ( ld ( a ) ) . contents ( ) , D . empty ( ) , ia = y ( ja , b , h , h , { needsNewScope : r . $$isolateScope || r . $$newScope } ) ) ) , r . template ) if ( U = ! 0 , ya ( "template" , z ,
r , D ) , z = r , ja = H ( r . template ) ? r . template ( D , x ) : r . template , ja = L ( ja ) , r . replace ) { if ( e = r , ja = Gc . test ( ja ) ? ug ( ra ( r . templateNamespace , Ga ( ja ) ) ) : [ ] , a = ja [ 0 ] , 1 != ja . length || 1 !== a . nodeType ) throw cb ( "tplrt" , Z , "" ) ; I ( m , D , a ) ; ja = { $attr : { } } ; var ka = C ( a , [ ] , ja ) , X = d . splice ( Sa + 1 , d . length - ( Sa + 1 ) ) ; ( Qa || za ) && ve ( ka , Qa , za ) ; d = d . concat ( ka ) . concat ( X ) ; K ( x , ja ) ; M = d . length } else D . html ( ja ) ; if ( r . templateUrl ) U = ! 0 , ya ( "template" , z , r , D ) , z = r , r . replace && ( e = r ) , q = R ( d . splice ( Sa , d . length - Sa ) , D , x , m , A && ia , g , G , { controllerDirectives : E , newScopeDirective : za !==
r && za , newIsolateScopeDirective : Qa , templateDirective : z , nonTlbTranscludeDirective : F } ) , M = d . length ; else if ( r . compile ) try { na = r . compile ( D , x , ia ) , H ( na ) ? l ( null , na , xb , mg ) : na && l ( na . pre , na . post , xb , mg ) } catch ( Jg ) { c ( Jg , la ( D ) ) } r . terminal && ( q . terminal = ! 0 , w = Math . max ( w , r . priority ) ) } return q . scope = za && ! 0 === za . scope , q . transcludeOnThisElement = A , q . templateOnThisElement = U , q . transclude = ia , k . hasElementTranscludeDirective = Ib , q } function ve ( d , a , x ) { for ( var b = 0 , C = d . length ; b < C ; b ++ ) d [ b ] = w ( d [ b ] , { $$isolateScope : a , $$newScope : x } ) } function Sa ( a ,
x , b , C , e , P , h ) { if ( x === e ) return null ; if ( e = null , g . hasOwnProperty ( x ) ) { var f ; x = d . get ( x + "Directive" ) ; for ( var k = 0 , G = x . length ; k < G ; k ++ ) try { if ( f = x [ k ] , ( A ( C ) || C > f . priority ) && - 1 != f . restrict . indexOf ( b ) ) { if ( P && ( f = w ( f , { $$start : P , $$end : h } ) ) , ! f . $$bindings ) { var l = f , v = f , n = f . name , t = { isolateScope : null , bindToController : null } ; if ( p ( v . scope ) && ( ! 0 === v . bindToController ? ( t . bindToController = m ( v . scope , n , ! 0 ) , t . isolateScope = { } ) : t . isolateScope = m ( v . scope , n , ! 1 ) ) , p ( v . bindToController ) && ( t . bindToController = m ( v . bindToController , n , ! 0 ) ) ,
p ( t . bindToController ) ) { var aa = v . controller , r = v . controllerAs ; if ( ! aa ) throw cb ( "noctrl" , n ) ; var q ; a : { var v = aa , Ca = r ; if ( Ca && u ( Ca ) ) q = Ca ; else { if ( u ( v ) ) { var Z = Mc . exec ( v ) ; if ( Z ) { q = Z [ 3 ] ; break a } } q = void 0 } } if ( ! q ) throw cb ( "noident" , n ) ; } var ja = l . $$bindings = t ; p ( ja . isolateScope ) && ( f . $$isolateBindings = ja . isolateScope ) } a . push ( f ) ; e = f } } catch ( Hg ) { c ( Hg ) } } return e } function M ( a ) { if ( g . hasOwnProperty ( a ) ) for ( var x = d . get ( a + "Directive" ) , b = 0 , C = x . length ; b < C ; b ++ ) if ( a = x [ b ] , a . multiElement ) return ! 0 ; return ! 1 } function K ( d , x ) { var b = x . $attr ,
C = d . $attr , m = d . $$element ; a ( d , function ( a , C ) { "$" != C . charAt ( 0 ) && ( x [ C ] && x [ C ] !== a && ( a += ( "style" === C ? ";" : " " ) + x [ C ] ) , d . $set ( C , a , ! 0 , b [ C ] ) ) } ) ; a ( x , function ( a , x ) { "class" == x ? ( F ( m , a ) , d [ "class" ] = ( d [ "class" ] ? d [ "class" ] + " " : "" ) + a ) : "style" == x ? ( m . attr ( "style" , m . attr ( "style" ) + ";" + a ) , d . style = ( d . style ? d . style + ";" : "" ) + a ) : "$" == x . charAt ( 0 ) || d . hasOwnProperty ( x ) || ( d [ x ] = a , C [ x ] = b [ x ] ) } ) } function R ( d , b , m , c , g , P , f , h ) { var k , G , l = [ ] , v = b [ 0 ] , n = d . shift ( ) , t = w ( n , { templateUrl : null , transclude : null , replace : null , $$originalDirective : n } ) , aa = H ( n . templateUrl ) ?
n . templateUrl ( b , m ) : n . templateUrl , r = n . templateNamespace ; return b . empty ( ) , e ( aa ) . then ( function ( e ) { var q , Ca ; if ( e = L ( e ) , n . replace ) { if ( e = Gc . test ( e ) ? ug ( ra ( r , Ga ( e ) ) ) : [ ] , q = e [ 0 ] , 1 != e . length || 1 !== q . nodeType ) throw cb ( "tplrt" , n . name , aa ) ; e = { $attr : { } } ; I ( c , b , q ) ; var Z = C ( q , [ ] , e ) ; p ( n . scope ) && ve ( Z , ! 0 ) ; d = Z . concat ( d ) ; K ( m , e ) } else q = v , b . html ( e ) ; d . unshift ( t ) ; k = Qa ( d , q , m , g , b , n , P , f , h ) ; a ( c , function ( d , a ) { d == q && ( c [ a ] = b [ 0 ] ) } ) ; for ( G = Ib ( b [ 0 ] . childNodes , g ) ; l . length ; ) { e = l . shift ( ) ; Ca = l . shift ( ) ; var ja = l . shift ( ) , na = l . shift ( ) , Z = b [ 0 ] ; if ( ! e . $$destroyed ) { if ( Ca !==
v ) { var w = Ca . className ; h . hasElementTranscludeDirective && n . replace || ( Z = ld ( q ) ) ; I ( ja , ga ( Ca ) , Z ) ; F ( ga ( Z ) , w ) } Ca = k . transcludeOnThisElement ? x ( e , k . transclude , na ) : na ; k ( G , e , Z , c , Ca ) } } l = null } ) , function ( d , a , b , C , m ) { d = m ; a . $$destroyed || ( l ? l . push ( a , b , C , d ) : ( k . transcludeOnThisElement && ( d = x ( a , k . transclude , m ) ) , k ( G , a , b , C , d ) ) ) } } function xb ( d , a ) { var x = a . priority - d . priority ; return 0 !== x ? x : d . name !== a . name ? d . name < a . name ? - 1 : 1 : d . index - a . index } function ya ( d , a , x , b ) { function C ( d ) { return d ? " (module: " + d + ")" : "" } if ( a ) throw cb ( "multidir" ,
a . name , C ( a . $$moduleName ) , x . name , C ( x . $$moduleName ) , d , la ( b ) ) ; } function ka ( d , a ) { var x = b ( a , ! 0 ) ; x && d . push ( { priority : 0 , compile : function ( d ) { d = d . parent ( ) ; var a = ! ! d . length ; return a && y . $$addBindingClass ( d ) , function ( d , b ) { var C = b . parent ( ) ; a || y . $$addBindingClass ( C ) ; y . $$addBindingInfo ( C , x . expressions ) ; d . $watch ( x , function ( d ) { b [ 0 ] . nodeValue = d } ) } } } ) } function ra ( d , a ) { switch ( d = va ( d || "html" ) ) { case "svg" : case "math" : var x = f . createElement ( "div" ) ; return x . innerHTML = "<" + d + ">" + a + "</" + d + ">" , x . childNodes [ 0 ] . childNodes ; default : return a } }
function Y ( d , a ) { if ( "srcdoc" == a ) return ja . HTML ; var x = T ( d ) ; return "xlinkHref" == a || "form" == x && "action" == a || "img" != x && ( "src" == a || "ngSrc" == a ) ? ja . RESOURCE _URL : void 0 } function Ia ( d , a , x , C , m ) { var c = Y ( d , C ) ; m = v [ C ] || m ; var e = b ( x , ! 0 , c , m ) ; if ( e ) { if ( "multiple" === C && "select" === T ( d ) ) throw cb ( "selmulti" , la ( d ) ) ; a . push ( { priority : 100 , compile : function ( ) { return { pre : function ( d , a , g ) { if ( a = g . $$observers || ( g . $$observers = Ma ( ) ) , q . test ( C ) ) throw cb ( "nodomevents" ) ; var P = g [ C ] ; P !== x && ( e = P && b ( P , ! 0 , c , m ) , x = P ) ; e && ( g [ C ] = e ( d ) , ( a [ C ] || ( a [ C ] =
[ ] ) ) . $$inter = ! 0 , ( g . $$observers && g . $$observers [ C ] . $$scope || d ) . $watch ( e , function ( d , a ) { "class" === C && d != a ? g . $updateClass ( d , a ) : g . $set ( C , d ) } ) ) } } } } ) } } function I ( d , a , x ) { var b , C , m = a [ 0 ] , c = a . length , e = m . parentNode ; if ( d ) for ( b = 0 , C = d . length ; b < C ; b ++ ) if ( d [ b ] == m ) { d [ b ++ ] = x ; C = b + c - 1 ; for ( var g = d . length ; b < g ; b ++ , C ++ ) C < g ? d [ b ] = d [ C ] : delete d [ b ] ; d . length -= c - 1 ; d . context === m && ( d . context = x ) ; break } e && e . replaceChild ( x , m ) ; d = f . createDocumentFragment ( ) ; d . appendChild ( m ) ; ga . hasData ( m ) && ( ga . data ( x , ga . data ( m ) ) , Fa ? ( ad = ! 0 , Fa . cleanData ( [ m ] ) ) :
delete ga . cache [ m [ ga . expando ] ] ) ; m = 1 ; for ( c = a . length ; m < c ; m ++ ) e = a [ m ] , ga ( e ) . remove ( ) , d . appendChild ( e ) , delete a [ m ] ; a [ 0 ] = x ; a . length = 1 } function J ( d , a ) { return n ( function ( ) { return d . apply ( null , arguments ) } , d , a ) } function ba ( d , a , x , b , C , m ) { try { d ( a , x , b , C , m ) } catch ( Fg ) { c ( Fg , la ( x ) ) } } function zc ( d , x , C , m , c ) { var e = [ ] ; return a ( m , function ( a , m ) { var g , P , f , h , k = a . attrName , l = a . optional ; switch ( a . mode ) { case "@" : l || vb . call ( x , k ) || ( C [ m ] = x [ k ] = void 0 ) ; x . $observe ( k , function ( d ) { u ( d ) && ( C [ m ] = d ) } ) ; x . $$observers [ k ] . $$scope = d ; g = x [ k ] ; u ( g ) ?
C [ m ] = b ( g ) ( d ) : X ( g ) && ( C [ m ] = g ) ; break ; case "=" : if ( ! vb . call ( x , k ) ) { if ( l ) break ; x [ k ] = void 0 } if ( l && ! x [ k ] ) break ; P = G ( x [ k ] ) ; h = P . literal ? V : function ( d , a ) { return d === a || d !== d && a !== a } ; f = P . assign || function ( ) { throw g = C [ m ] = P ( d ) , cb ( "nonassign" , x [ k ] , k , c . name ) ; } ; g = C [ m ] = P ( d ) ; l = function ( a ) { return h ( a , C [ m ] ) || ( h ( a , g ) ? f ( d , a = C [ m ] ) : C [ m ] = a ) , g = a } ; l . $stateful = ! 0 ; l = a . collection ? d . $watchCollection ( x [ k ] , l ) : d . $watch ( G ( x [ k ] , l ) , null , P . literal ) ; e . push ( l ) ; break ; case "&" : ( P = x . hasOwnProperty ( k ) ? G ( x [ k ] ) : r , P === r && l ) || ( C [ m ] = function ( a ) { return P ( d ,
a ) } ) } } ) , e . length && function ( ) { for ( var d = 0 , a = e . length ; d < a ; ++ d ) e [ d ] ( ) } } var Tb = function ( d , a ) { if ( a ) { var x , b , C , m = Object . keys ( a ) ; x = 0 ; for ( b = m . length ; x < b ; x ++ ) C = m [ x ] , this [ C ] = a [ C ] } else this . $attr = { } ; this . $$element = d } ; Tb . prototype = { $normalize : tb , $addClass : function ( d ) { d && 0 < d . length && na . addClass ( this . $$element , d ) } , $removeClass : function ( d ) { d && 0 < d . length && na . removeClass ( this . $$element , d ) } , $updateClass : function ( d , a ) { var x = B ( d , a ) ; x && x . length && na . addClass ( this . $$element , x ) ; ( x = B ( a , d ) ) && x . length && na . removeClass ( this . $$element ,
x ) } , $set : function ( d , x , b , C ) { var m = df ( this . $$element [ 0 ] , d ) , e = Ud [ d ] , g = d ; if ( m ? ( this . $$element . prop ( d , x ) , C = m ) : e && ( this [ e ] = x , g = e ) , this [ d ] = x , C ? this . $attr [ d ] = C : ( C = this . $attr [ d ] ) || ( this . $attr [ d ] = C = ia ( d , "-" ) ) , m = T ( this . $$element ) , "a" === m && "href" === d || "img" === m && "src" === d ) this [ d ] = x = za ( x , "src" === d ) ; else if ( "img" === m && "srcset" === d && D ( x ) ) { for ( var m = "" , e = Ga ( x ) , P = /(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/ , P = /\s/ . test ( e ) ? P : /(,)/ , e = e . split ( P ) , P = Math . floor ( e . length / 2 ) , f = 0 ; f < P ; f ++ ) var k = 2 * f , m = m + za ( Ga ( e [ k ] ) , ! 0 ) , m = m + ( " " + Ga ( e [ k +
1 ] ) ) ; e = Ga ( e [ 2 * f ] ) . split ( /\s/ ) ; m += za ( Ga ( e [ 0 ] ) , ! 0 ) ; 2 === e . length && ( m += " " + Ga ( e [ 1 ] ) ) ; this [ d ] = x = m } ! 1 !== b && ( null === x || A ( x ) ? this . $$element . removeAttr ( C ) : this . $$element . attr ( C , x ) ) ; ( d = this . $$observers ) && a ( d [ g ] , function ( d ) { try { d ( x ) } catch ( Gg ) { c ( Gg ) } } ) } , $observe : function ( d , a ) { var x = this , b = x . $$observers || ( x . $$observers = Ma ( ) ) , C = b [ d ] || ( b [ d ] = [ ] ) ; return C . push ( a ) , Z . $evalAsync ( function ( ) { C . $$inter || ! x . hasOwnProperty ( d ) || A ( x [ d ] ) || a ( x [ d ] ) } ) , function ( ) { E ( C , a ) } } } ; var Aa = b . startSymbol ( ) , we = b . endSymbol ( ) , L = "{{" == Aa && "}}" ==
we ? z : function ( d ) { return d . replace ( /\{\{/g , Aa ) . replace ( /}}/g , we ) } , Lc = /^ngAttr[A-Z]/ , nb = /^(.+)Start$/ ; return y . $$addBindingInfo = U ? function ( d , a ) { var x = d . data ( "$binding" ) || [ ] ; oa ( a ) ? x = x . concat ( a ) : x . push ( a ) ; d . data ( "$binding" , x ) } : r , y . $$addBindingClass = U ? function ( d ) { F ( d , "ng-binding" ) } : r , y . $$addScopeInfo = U ? function ( d , a , x , b ) { d . data ( x ? b ? "$isolateScopeNoTemplate" : "$isolateScope" : "$scope" , a ) } : r , y . $$addScopeClass = U ? function ( d , a ) { F ( d , a ? "ng-isolate-scope" : "ng-scope" ) } : r , y } ] } function tb ( d ) { return pc ( d . replace ( Sd ,
"" ) ) } function B ( d , a ) { var b = "" , m = d . split ( /\s+/ ) , c = a . split ( /\s+/ ) , e = 0 ; a : for ( ; e < m . length ; e ++ ) { for ( var g = m [ e ] , f = 0 ; f < c . length ; f ++ ) if ( g == c [ f ] ) continue a ; b += ( 0 < b . length ? " " : "" ) + g } return b } function ug ( d ) { d = ga ( d ) ; var a = d . length ; if ( 1 >= a ) return d ; for ( ; a -- ; ) 8 === d [ a ] . nodeType && ff . call ( d , a , 1 ) ; return d } function yb ( ) { var d = { } , a = ! 1 ; this . register = function ( a , b ) { Sb ( a , "controller" ) ; p ( a ) ? n ( d , a ) : d [ a ] = b } ; this . allowGlobals = function ( ) { a = ! 0 } ; this . $get = [ "$injector" , "$window" , function ( b , m ) { function c ( d , a , b , m ) { if ( ! d || ! p ( d . $scope ) ) throw k ( "$controller" ) ( "noscp" ,
m , a ) ; d . $scope [ a ] = b } return function ( e , g , f , k ) { var l , G , v ; if ( f = ! 0 === f , k && u ( k ) && ( v = k ) , u ( e ) ) { if ( k = e . match ( Mc ) , ! k ) throw gf ( "ctrlfmt" , e ) ; G = k [ 1 ] ; v = v || k [ 3 ] ; e = d . hasOwnProperty ( G ) ? d [ G ] : xb ( g . $scope , G , ! 0 ) || ( a ? xb ( m , G , ! 0 ) : h ) ; nb ( e , G , ! 0 ) } return f ? ( f = ( oa ( e ) ? e [ e . length - 1 ] : e ) . prototype , l = Object . create ( f || null ) , v && c ( g , v , l , G || e . name ) , n ( function ( ) { var d = b . invoke ( e , l , g , G ) ; return d !== l && ( p ( d ) || H ( d ) ) && ( l = d , v && c ( g , v , l , G || e . name ) ) , l } , { instance : l , identifier : v } ) ) : ( l = b . instantiate ( e , g , G ) , v && c ( g , v , l , G || e . name ) , l ) } } ] } function xa ( ) { this . $get =
[ "$window" , function ( d ) { return ga ( d . document ) } ] } function Ag ( ) { this . $get = [ "$log" , function ( d ) { return function ( a , b ) { d . error . apply ( d , arguments ) } } ] } function ng ( d ) { return p ( d ) ? M ( d ) ? d . toISOString ( ) : pa ( d ) : d } function Cg ( ) { this . $get = function ( ) { return function ( d ) { if ( ! d ) return "" ; var b = [ ] ; return g ( d , function ( d , m ) { null === d || A ( d ) || ( oa ( d ) ? a ( d , function ( d , a ) { b . push ( v ( m ) + "=" + v ( ng ( d ) ) ) } ) : b . push ( v ( m ) + "=" + v ( ng ( d ) ) ) ) } ) , b . join ( "&" ) } } } function fb ( ) { this . $get = function ( ) { return function ( d ) { function b ( d , m , e ) { null === d || A ( d ) ||
( oa ( d ) ? a ( d , function ( d , a ) { b ( d , m + "[" + ( p ( d ) ? a : "" ) + "]" ) } ) : p ( d ) && ! M ( d ) ? g ( d , function ( d , a ) { b ( d , m + ( e ? "" : "[" ) + a + ( e ? "" : "]" ) ) } ) : c . push ( v ( m ) + "=" + v ( ng ( d ) ) ) ) } if ( ! d ) return "" ; var c = [ ] ; return b ( d , "" , ! 0 ) , c . join ( "&" ) } } } function qb ( d , a ) { if ( u ( d ) ) { var b = d . replace ( La , "" ) . trim ( ) ; if ( b ) { var m = a ( "Content-Type" ) ; ( m = m && 0 === m . indexOf ( Vd ) ) || ( m = ( m = b . match ( hf ) ) && od [ m [ 0 ] ] . test ( b ) ) ; m && ( d = ca ( b ) ) } } return d } function vg ( d ) { var b , c = Ma ( ) ; return u ( d ) ? a ( d . split ( "\n" ) , function ( d ) { b = d . indexOf ( ":" ) ; var a = va ( Ga ( d . substr ( 0 , b ) ) ) ; d = Ga ( d . substr ( b +
1 ) ) ; a && ( c [ a ] = c [ a ] ? c [ a ] + ", " + d : d ) } ) : p ( d ) && a ( d , function ( d , a ) { var b = va ( a ) , m = Ga ( d ) ; b && ( c [ b ] = c [ b ] ? c [ b ] + ", " + m : m ) } ) , c } function wg ( d ) { var a ; return function ( b ) { return a || ( a = vg ( d ) ) , b ? ( b = a [ va ( b ) ] , void 0 === b && ( b = null ) , b ) : a } } function kc ( d , b , c , e ) { return H ( e ) ? e ( d , b , c ) : ( a ( e , function ( a ) { d = a ( d , b , c ) } ) , d ) } function Bg ( ) { var d = this . defaults = { transformResponse : [ qb ] , transformRequest : [ function ( d ) { return p ( d ) && "[object File]" !== wb . call ( d ) && "[object Blob]" !== wb . call ( d ) && "[object FormData]" !== wb . call ( d ) ? pa ( d ) : d } ] , headers : { common : { Accept : "application/json, text/plain, */*" } ,
post : ka ( Nc ) , put : ka ( Nc ) , patch : ka ( Nc ) } , xsrfCookieName : "XSRF-TOKEN" , xsrfHeaderName : "X-XSRF-TOKEN" , paramSerializer : "$httpParamSerializer" } , b = ! 1 ; this . useApplyAsync = function ( d ) { return D ( d ) ? ( b = ! ! d , this ) : b } ; var c = ! 0 ; this . useLegacyPromiseExtensions = function ( d ) { return D ( d ) ? ( c = ! ! d , this ) : c } ; var e = this . interceptors = [ ] ; this . $get = [ "$httpBackend" , "$$cookieReader" , "$cacheFactory" , "$rootScope" , "$q" , "$injector" , function ( m , g , f , l , G , v ) { function t ( b ) { function m ( d ) { var a = n ( { } , d ) ; return a . data = kc ( d . data , d . headers , d . status ,
g . transformResponse ) , d = d . status , 200 <= d && 300 > d ? a : G . reject ( a ) } function e ( d , b ) { var m , c = { } ; return a ( d , function ( d , a ) { H ( d ) ? ( m = d ( b ) , null != m && ( c [ a ] = m ) ) : c [ a ] = d } ) , c } if ( ! Na . isObject ( b ) ) throw k ( "$http" ) ( "badreq" , b ) ; if ( ! u ( b . url ) ) throw k ( "$http" ) ( "badreq" , b . url ) ; var g = n ( { method : "get" , transformRequest : d . transformRequest , transformResponse : d . transformResponse , paramSerializer : d . paramSerializer } , b ) ; g . headers = function ( a ) { var b , m , c , x = d . headers , C = n ( { } , a . headers ) , x = n ( { } , x . common , x [ va ( a . method ) ] ) ; a : for ( b in x ) { m = va ( b ) ; for ( c in C ) if ( va ( c ) ===
m ) continue a ; C [ b ] = x [ b ] } return e ( C , ka ( a ) ) } ( b ) ; g . method = ob ( g . method ) ; g . paramSerializer = u ( g . paramSerializer ) ? v . get ( g . paramSerializer ) : g . paramSerializer ; var f = [ function ( b ) { var c = b . headers , e = kc ( b . data , wg ( c ) , h , b . transformRequest ) ; return A ( e ) && a ( c , function ( d , a ) { "content-type" === va ( a ) && delete c [ a ] } ) , A ( b . withCredentials ) && ! A ( d . withCredentials ) && ( b . withCredentials = d . withCredentials ) , r ( b , e ) . then ( m , m ) } , h ] , l = G . when ( g ) ; for ( a ( Z , function ( d ) { ( d . request || d . requestError ) && f . unshift ( d . request , d . requestError ) ; ( d . response ||
d . responseError ) && f . push ( d . response , d . responseError ) } ) ; f . length ; ) { b = f . shift ( ) ; var t = f . shift ( ) , l = l . then ( b , t ) } return c ? ( l . success = function ( d ) { return nb ( d , "fn" ) , l . then ( function ( a ) { d ( a . data , a . status , a . headers , g ) } ) , l } , l . error = function ( d ) { return nb ( d , "fn" ) , l . then ( null , function ( a ) { d ( a . data , a . status , a . headers , g ) } ) , l } ) : ( l . success = jf ( "success" ) , l . error = jf ( "error" ) ) , l } function r ( a , c ) { function e ( d , a , m , c ) { function C ( ) { f ( a , d , m , c ) } n && ( 200 <= d && 300 > d ? n . put ( x , [ d , a , vg ( m ) , c ] ) : n . remove ( x ) ) ; b ? l . $applyAsync ( C ) : ( C ( ) , l . $$phase ||
l . $apply ( ) ) } function f ( d , x , b , m ) { x = - 1 <= x ? x : 0 ; ( 200 <= x && 300 > x ? Z . resolve : Z . reject ) ( { data : d , status : x , headers : wg ( b ) , config : a , statusText : m } ) } function k ( d ) { f ( d . data , d . status , ka ( d . headers ( ) ) , d . statusText ) } function v ( ) { var d = t . pendingRequests . indexOf ( a ) ; - 1 !== d && t . pendingRequests . splice ( d , 1 ) } var n , r , Z = G . defer ( ) , ja = Z . promise , na = a . headers , x = q ( a . url , a . paramSerializer ( a . params ) ) ; return t . pendingRequests . push ( a ) , ja . then ( v , v ) , ! a . cache && ! d . cache || ! 1 === a . cache || "GET" !== a . method && "JSONP" !== a . method || ( n = p ( a . cache ) ? a . cache :
p ( d . cache ) ? d . cache : aa ) , n && ( r = n . get ( x ) , D ( r ) ? r && H ( r . then ) ? r . then ( k , k ) : oa ( r ) ? f ( r [ 1 ] , r [ 0 ] , ka ( r [ 2 ] ) , r [ 3 ] ) : f ( r , 200 , { } , "OK" ) : n . put ( x , ja ) ) , A ( r ) && ( ( r = Wd ( a . url ) ? g ( ) [ a . xsrfCookieName || d . xsrfCookieName ] : h ) && ( na [ a . xsrfHeaderName || d . xsrfHeaderName ] = r ) , m ( a . method , x , c , e , na , a . timeout , a . withCredentials , a . responseType ) ) , ja } function q ( d , a ) { return 0 < a . length && ( d += ( - 1 == d . indexOf ( "?" ) ? "?" : "&" ) + a ) , d } var aa = f ( "$http" ) ; d . paramSerializer = u ( d . paramSerializer ) ? v . get ( d . paramSerializer ) : d . paramSerializer ; var Z = [ ] ; return a ( e , function ( d ) { Z . unshift ( u ( d ) ?
v . get ( d ) : v . invoke ( d ) ) } ) , t . pendingRequests = [ ] , function ( d ) { a ( arguments , function ( d ) { t [ d ] = function ( a , b ) { return t ( n ( { } , b || { } , { method : d , url : a } ) ) } } ) } ( "get" , "delete" , "head" , "jsonp" ) , function ( d ) { a ( arguments , function ( d ) { t [ d ] = function ( a , b , m ) { return t ( n ( { } , m || { } , { method : d , url : a , data : b } ) ) } } ) } ( "post" , "put" , "patch" ) , t . defaults = d , t } ] } function Dg ( ) { this . $get = function ( ) { return function ( ) { return new b . XMLHttpRequest } } } function Oe ( ) { this . $get = [ "$browser" , "$window" , "$document" , "$xhrFactory" , function ( d , a , b , c ) { return kf ( d ,
c , d . defer , a . angular . callbacks , b [ 0 ] ) } ] } function kf ( d , b , c , e , g ) { function m ( d , a , b ) { var m = g . createElement ( "script" ) , c = null ; return m . type = "text/javascript" , m . src = d , m . async = ! 0 , c = function ( d ) { m . removeEventListener ( "load" , c , ! 1 ) ; m . removeEventListener ( "error" , c , ! 1 ) ; g . body . removeChild ( m ) ; m = null ; var f = - 1 , k = "unknown" ; d && ( "load" !== d . type || e [ a ] . called || ( d = { type : "error" } ) , k = d . type , f = "error" === d . type ? 404 : 200 ) ; b && b ( f , k ) } , m . addEventListener ( "load" , c , ! 1 ) , m . addEventListener ( "error" , c , ! 1 ) , g . body . appendChild ( m ) , c } return function ( g ,
f , k , l , h , G , v , n ) { function t ( ) { p && p ( ) ; Z && Z . abort ( ) } function q ( a , b , m , e , g ) { D ( ja ) && c . cancel ( ja ) ; p = Z = null ; a ( b , m , e , g ) ; d . $$completeOutstandingRequest ( r ) } if ( d . $$incOutstandingRequestCount ( ) , f = f || d . url ( ) , "jsonp" == va ( g ) ) { var aa = "_" + ( e . counter ++ ) . toString ( 36 ) ; e [ aa ] = function ( d ) { e [ aa ] . data = d ; e [ aa ] . called = ! 0 } ; var p = m ( f . replace ( "JSON_CALLBACK" , "angular.callbacks." + aa ) , aa , function ( d , a ) { q ( l , d , e [ aa ] . data , "" , a ) ; e [ aa ] = r } ) } else { var Z = b ( g , f ) ; if ( Z . open ( g , f , ! 0 ) , a ( h , function ( d , a ) { D ( d ) && Z . setRequestHeader ( a , d ) } ) , Z . onload = function ( ) { var d =
Z . statusText || "" , a = "response" in Z ? Z . response : Z . responseText , b = 1223 === Z . status ? 204 : Z . status ; 0 === b && ( b = a ? 200 : "file" == Ob ( f ) . protocol ? 404 : 0 ) ; q ( l , b , a , Z . getAllResponseHeaders ( ) , d ) } , g = function ( ) { q ( l , - 1 , null , null , "" ) } , Z . onerror = g , Z . onabort = g , v && ( Z . withCredentials = ! 0 ) , n ) try { Z . responseType = n } catch ( sb ) { if ( "json" !== n ) throw sb ; } Z . send ( A ( k ) ? null : k ) } if ( 0 < G ) var ja = c ( t , G ) ; else G && H ( G . then ) && G . then ( t ) } } function Jd ( ) { var d = "{{" , a = "}}" ; this . startSymbol = function ( a ) { return a ? ( d = a , this ) : d } ; this . endSymbol = function ( d ) { return d ?
( a = d , this ) : a } ; this . $get = [ "$parse" , "$exceptionHandler" , "$sce" , function ( b , m , c ) { function e ( d ) { return "\\\\\\" + d } function g ( e , g , G , v ) { function t ( d ) { try { var a = d ; d = G ? c . getTrusted ( G , a ) : c . valueOf ( a ) ; var b ; if ( v && ! D ( d ) ) b = d ; else if ( null == d ) b = "" ; else { switch ( typeof d ) { case "string" : break ; case "number" : d = "" + d ; break ; default : d = pa ( d ) } b = d } return b } catch ( P ) { m ( Zb . interr ( e , P ) ) } } v = ! ! v ; for ( var r , q , aa = 0 , Z = [ ] , p = [ ] , ja = e . length , na = [ ] , w = [ ] ; aa < ja ; ) { if ( - 1 == ( r = e . indexOf ( d , aa ) ) || - 1 == ( q = e . indexOf ( a , r + f ) ) ) { aa !== ja && na . push ( e . substring ( aa ) . replace ( l ,
d ) . replace ( h , a ) ) ; break } aa !== r && na . push ( e . substring ( aa , r ) . replace ( l , d ) . replace ( h , a ) ) ; aa = e . substring ( r + f , q ) ; Z . push ( aa ) ; p . push ( b ( aa , t ) ) ; aa = q + k ; w . push ( na . length ) ; na . push ( "" ) } if ( G && 1 < na . length && Zb . throwNoconcat ( e ) , ! g || Z . length ) { var u = function ( d ) { for ( var a = 0 , b = Z . length ; a < b ; a ++ ) { if ( v && A ( d [ a ] ) ) return ; na [ w [ a ] ] = d [ a ] } return na . join ( "" ) } ; return n ( function ( d ) { var a = 0 , b = Z . length , c = Array ( b ) ; try { for ( ; a < b ; a ++ ) c [ a ] = p [ a ] ( d ) ; return u ( c ) } catch ( Ca ) { m ( Zb . interr ( e , Ca ) ) } } , { exp : e , expressions : Z , $$watchDelegate : function ( d , a ) { var x ;
return d . $watchGroup ( p , function ( b , C ) { var m = u ( b ) ; H ( a ) && a . call ( this , m , b !== C ? x : m , d ) ; x = m } ) } } ) } } var f = d . length , k = a . length , l = new RegExp ( d . replace ( /./g , e ) , "g" ) , h = new RegExp ( a . replace ( /./g , e ) , "g" ) ; return g . startSymbol = function ( ) { return d } , g . endSymbol = function ( ) { return a } , g } ] } function Fc ( ) { this . $get = [ "$rootScope" , "$window" , "$q" , "$$q" , function ( d , a , b , c ) { function m ( m , g , f , k ) { var l = 4 < arguments . length , h = l ? Cb . call ( arguments , 4 ) : [ ] , G = a . setInterval , v = a . clearInterval , n = 0 , t = D ( k ) && ! k , r = ( t ? c : b ) . defer ( ) , q = r . promise ; return f =
D ( f ) ? f : 0 , q . then ( null , null , l ? function ( ) { m . apply ( null , h ) } : m ) , q . $$intervalId = G ( function ( ) { r . notify ( n ++ ) ; 0 < f && n >= f && ( r . resolve ( n ) , v ( q . $$intervalId ) , delete e [ q . $$intervalId ] ) ; t || d . $apply ( ) } , g ) , e [ q . $$intervalId ] = r , q } var e = { } ; return m . cancel = function ( d ) { return ! ! ( d && d . $$intervalId in e ) && ( e [ d . $$intervalId ] . reject ( "canceled" ) , a . clearInterval ( d . $$intervalId ) , delete e [ d . $$intervalId ] , ! 0 ) } , m } ] } function pd ( d ) { d = d . split ( "/" ) ; for ( var a = d . length ; a -- ; ) d [ a ] = ha ( d [ a ] ) ; return d . join ( "/" ) } function Xd ( d , a ) { var b = Ob ( d ) ;
a . $$protocol = b . protocol ; a . $$host = b . hostname ; a . $$port = parseInt ( b . port , 10 ) || lf [ b . protocol ] || null } function Oc ( d , a ) { var b = "/" !== d . charAt ( 0 ) ; b && ( d = "/" + d ) ; var m = Ob ( d ) ; a . $$path = decodeURIComponent ( b && "/" === m . pathname . charAt ( 0 ) ? m . pathname . substring ( 1 ) : m . pathname ) ; a . $$search = Ea ( m . search ) ; a . $$hash = decodeURIComponent ( m . hash ) ; a . $$path && "/" != a . $$path . charAt ( 0 ) && ( a . $$path = "/" + a . $$path ) } function db ( d , a ) { if ( 0 === a . indexOf ( d ) ) return a . substr ( d . length ) } function Yb ( d ) { var a = d . indexOf ( "#" ) ; return - 1 == a ? d : d . substr ( 0 , a ) }
function Pb ( d ) { return d . replace ( /(#.+)|#$/ , "$1" ) } function Yd ( d , a , b ) { this . $$html5 = ! 0 ; b = b || "" ; Xd ( d , this ) ; this . $$parse = function ( d ) { var b = db ( a , d ) ; if ( ! u ( b ) ) throw Hb ( "ipthprfx" , d , a ) ; Oc ( b , this ) ; this . $$path || ( this . $$path = "/" ) ; this . $$compose ( ) } ; this . $$compose = function ( ) { var d = wa ( this . $$search ) , b = this . $$hash ? "#" + ha ( this . $$hash ) : "" ; this . $$url = pd ( this . $$path ) + ( d ? "?" + d : "" ) + b ; this . $$absUrl = a + this . $$url . substr ( 1 ) } ; this . $$parseLinkUrl = function ( m , c ) { if ( c && "#" === c [ 0 ] ) return this . hash ( c . slice ( 1 ) ) , ! 0 ; var e , g ; return D ( e =
db ( d , m ) ) ? ( g = e , g = D ( e = db ( b , e ) ) ? a + ( db ( "/" , e ) || e ) : d + g ) : D ( e = db ( a , m ) ) ? g = a + e : a == m + "/" && ( g = a ) , g && this . $$parse ( g ) , ! ! g } } function Zd ( d , a , b ) { Xd ( d , this ) ; this . $$parse = function ( m ) { var c , e = db ( d , m ) || db ( a , m ) ; A ( e ) || "#" !== e . charAt ( 0 ) ? this . $$html5 ? c = e : ( c = "" , A ( e ) && ( d = m , this . replace ( ) ) ) : ( c = db ( b , e ) , A ( c ) && ( c = e ) ) ; Oc ( c , this ) ; m = this . $$path ; var e = d , g = /^\/[A-Z]:(\/.*)/ ; 0 === c . indexOf ( e ) && ( c = c . replace ( e , "" ) ) ; g . exec ( c ) || ( m = ( c = g . exec ( m ) ) ? c [ 1 ] : m ) ; this . $$path = m ; this . $$compose ( ) } ; this . $$compose = function ( ) { var a = wa ( this . $$search ) , m = this . $$hash ?
"#" + ha ( this . $$hash ) : "" ; this . $$url = pd ( this . $$path ) + ( a ? "?" + a : "" ) + m ; this . $$absUrl = d + ( this . $$url ? b + this . $$url : "" ) } ; this . $$parseLinkUrl = function ( a , b ) { return Yb ( d ) == Yb ( a ) && ( this . $$parse ( a ) , ! 0 ) } } function $d ( d , a , b ) { this . $$html5 = ! 0 ; Zd . apply ( this , arguments ) ; this . $$parseLinkUrl = function ( m , c ) { if ( c && "#" === c [ 0 ] ) return this . hash ( c . slice ( 1 ) ) , ! 0 ; var e , g ; return d == Yb ( m ) ? e = m : ( g = db ( a , m ) ) ? e = d + b + g : a === m + "/" && ( e = a ) , e && this . $$parse ( e ) , ! ! e } ; this . $$compose = function ( ) { var a = wa ( this . $$search ) , m = this . $$hash ? "#" + ha ( this . $$hash ) :
"" ; this . $$url = pd ( this . $$path ) + ( a ? "?" + a : "" ) + m ; this . $$absUrl = d + b + this . $$url } } function Pc ( d ) { return function ( ) { return this [ d ] } } function gb ( d , a ) { return function ( b ) { return A ( b ) ? this [ d ] : ( this [ d ] = a ( b ) , this . $$compose ( ) , this ) } } function Pe ( ) { var d = "" , a = { enabled : ! 1 , requireBase : ! 0 , rewriteLinks : ! 0 } ; this . hashPrefix = function ( a ) { return D ( a ) ? ( d = a , this ) : d } ; this . html5Mode = function ( d ) { return X ( d ) ? ( a . enabled = d , this ) : p ( d ) ? ( X ( d . enabled ) && ( a . enabled = d . enabled ) , X ( d . requireBase ) && ( a . requireBase = d . requireBase ) , X ( d . rewriteLinks ) &&
( a . rewriteLinks = d . rewriteLinks ) , this ) : a } ; this . $get = [ "$rootScope" , "$browser" , "$sniffer" , "$rootElement" , "$window" , function ( b , m , c , e , g ) { function f ( d , a , b ) { var c = l . url ( ) , e = l . $$state ; try { m . url ( d , a , b ) , l . $$state = m . state ( ) } catch ( Qd ) { throw l . url ( c ) , l . $$state = e , Qd ; } } function k ( d , a ) { b . $broadcast ( "$locationChangeSuccess" , l . absUrl ( ) , d , l . $$state , a ) } var l , h ; h = m . baseHref ( ) ; var v , G = m . url ( ) ; if ( a . enabled ) { if ( ! h && a . requireBase ) throw Hb ( "nobase" ) ; v = G . substring ( 0 , G . indexOf ( "/" , G . indexOf ( "//" ) + 2 ) ) + ( h || "/" ) ; h = c . history ? Yd :
$d } else v = Yb ( G ) , h = Zd ; var n = v . substr ( 0 , Yb ( v ) . lastIndexOf ( "/" ) + 1 ) ; l = new h ( v , n , "#" + d ) ; l . $$parseLinkUrl ( G , G ) ; l . $$state = m . state ( ) ; var t = /^\s*(javascript|mailto):/i ; e . on ( "click" , function ( d ) { if ( a . rewriteLinks && ! d . ctrlKey && ! d . metaKey && ! d . shiftKey && 2 != d . which && 2 != d . button ) { for ( var c = ga ( d . target ) ; "a" !== T ( c [ 0 ] ) ; ) if ( c [ 0 ] === e [ 0 ] || ! ( c = c . parent ( ) ) [ 0 ] ) return ; var f = c . prop ( "href" ) , k = c . attr ( "href" ) || c . attr ( "xlink:href" ) ; p ( f ) && "[object SVGAnimatedString]" === f . toString ( ) && ( f = Ob ( f . animVal ) . href ) ; t . test ( f ) || ! f || c . attr ( "target" ) ||
d . isDefaultPrevented ( ) || ! l . $$parseLinkUrl ( f , k ) || ( d . preventDefault ( ) , l . absUrl ( ) != m . url ( ) && ( b . $apply ( ) , g . angular [ "ff-684208-preventDefault" ] = ! 0 ) ) } } ) ; Pb ( l . absUrl ( ) ) != Pb ( G ) && m . url ( l . absUrl ( ) , ! 0 ) ; var r = ! 0 ; return m . onUrlChange ( function ( d , a ) { A ( db ( n , d ) ) ? g . location . href = d : ( b . $evalAsync ( function ( ) { var m , c = l . absUrl ( ) , e = l . $$state ; d = Pb ( d ) ; l . $$parse ( d ) ; l . $$state = a ; m = b . $broadcast ( "$locationChangeStart" , d , c , a , e ) . defaultPrevented ; l . absUrl ( ) === d && ( m ? ( l . $$parse ( c ) , l . $$state = e , f ( c , ! 1 , e ) ) : ( r = ! 1 , k ( c , e ) ) ) } ) , b . $$phase ||
b . $digest ( ) ) } ) , b . $watch ( function ( ) { var d = Pb ( m . url ( ) ) , a = Pb ( l . absUrl ( ) ) , e = m . state ( ) , g = l . $$replace , h = d !== a || l . $$html5 && c . history && e !== l . $$state ; ( r || h ) && ( r = ! 1 , b . $evalAsync ( function ( ) { var a = l . absUrl ( ) , m = b . $broadcast ( "$locationChangeStart" , a , d , l . $$state , e ) . defaultPrevented ; l . absUrl ( ) === a && ( m ? ( l . $$parse ( d ) , l . $$state = e ) : ( h && f ( a , g , e === l . $$state ? null : l . $$state ) , k ( d , e ) ) ) } ) ) ; l . $$replace = ! 1 } ) , l } ] } function Lb ( ) { var d = ! 0 , b = this ; this . debugEnabled = function ( a ) { return D ( a ) ? ( d = a , this ) : d } ; this . $get = [ "$window" , function ( m ) { function c ( d ) { return d instanceof
Error && ( d . stack ? d = d . message && - 1 === d . stack . indexOf ( d . message ) ? "Error: " + d . message + "\n" + d . stack : d . stack : d . sourceURL && ( d = d . message + "\n" + d . sourceURL + ":" + d . line ) ) , d } function e ( d ) { var b = m . console || { } , e = b [ d ] || b . log || r ; d = ! 1 ; try { d = ! ! e . apply } catch ( Ib ) { } return d ? function ( ) { var d = [ ] ; return a ( arguments , function ( a ) { d . push ( c ( a ) ) } ) , e . apply ( b , d ) } : function ( d , a ) { e ( d , null == a ? "" : a ) } } return { log : e ( "log" ) , info : e ( "info" ) , warn : e ( "warn" ) , error : e ( "error" ) , debug : function ( ) { var a = e ( "debug" ) ; return function ( ) { d && a . apply ( b , arguments ) } } ( ) } } ] }
function $b ( d , a ) { if ( "__defineGetter__" === d || "__defineSetter__" === d || "__lookupGetter__" === d || "__lookupSetter__" === d || "__proto__" === d ) throw eb ( "isecfld" , a ) ; return d } function qd ( d , a ) { if ( d += "" , ! u ( d ) ) throw eb ( "iseccst" , a ) ; return d } function jb ( d , a ) { if ( d ) { if ( d . constructor === d ) throw eb ( "isecfn" , a ) ; if ( d . window === d ) throw eb ( "isecwindow" , a ) ; if ( d . children && ( d . nodeName || d . prop && d . attr && d . find ) ) throw eb ( "isecdom" , a ) ; if ( d === Object ) throw eb ( "isecobj" , a ) ; } return d } function Qc ( d , a ) { if ( d ) { if ( d . constructor === d ) throw eb ( "isecfn" ,
a ) ; if ( d === ub || d === mf || d === ae ) throw eb ( "isecff" , a ) ; } } function Rc ( d , a ) { if ( d && ( d === ( 0 ) . constructor || d === ( ! 1 ) . constructor || d === "" . constructor || d === { } . constructor || d === [ ] . constructor || d === Function . constructor ) ) throw eb ( "isecaf" , a ) ; } function be ( d , a ) { return "undefined" != typeof d ? d : a } function rc ( d , a ) { return "undefined" == typeof d ? a : "undefined" == typeof a ? d : d + a } function Wa ( d , b ) { var c , m ; switch ( d . type ) { case O . Program : c = ! 0 ; a ( d . body , function ( d ) { Wa ( d . expression , b ) ; c = c && d . expression . constant } ) ; d . constant = c ; break ; case O . Literal : d . constant =
! 0 ; d . toWatch = [ ] ; break ; case O . UnaryExpression : Wa ( d . argument , b ) ; d . constant = d . argument . constant ; d . toWatch = d . argument . toWatch ; break ; case O . BinaryExpression : Wa ( d . left , b ) ; Wa ( d . right , b ) ; d . constant = d . left . constant && d . right . constant ; d . toWatch = d . left . toWatch . concat ( d . right . toWatch ) ; break ; case O . LogicalExpression : Wa ( d . left , b ) ; Wa ( d . right , b ) ; d . constant = d . left . constant && d . right . constant ; d . toWatch = d . constant ? [ ] : [ d ] ; break ; case O . ConditionalExpression : Wa ( d . test , b ) ; Wa ( d . alternate , b ) ; Wa ( d . consequent , b ) ; d . constant = d . test . constant &&
d . alternate . constant && d . consequent . constant ; d . toWatch = d . constant ? [ ] : [ d ] ; break ; case O . Identifier : d . constant = ! 1 ; d . toWatch = [ d ] ; break ; case O . MemberExpression : Wa ( d . object , b ) ; d . computed && Wa ( d . property , b ) ; d . constant = d . object . constant && ( ! d . computed || d . property . constant ) ; d . toWatch = [ d ] ; break ; case O . CallExpression : c = ! ! d . filter && ! b ( d . callee . name ) . $stateful ; m = [ ] ; a ( d . arguments , function ( d ) { Wa ( d , b ) ; c = c && d . constant ; d . constant || m . push . apply ( m , d . toWatch ) } ) ; d . constant = c ; d . toWatch = d . filter && ! b ( d . callee . name ) . $stateful ?
m : [ d ] ; break ; case O . AssignmentExpression : Wa ( d . left , b ) ; Wa ( d . right , b ) ; d . constant = d . left . constant && d . right . constant ; d . toWatch = [ d ] ; break ; case O . ArrayExpression : c = ! 0 ; m = [ ] ; a ( d . elements , function ( d ) { Wa ( d , b ) ; c = c && d . constant ; d . constant || m . push . apply ( m , d . toWatch ) } ) ; d . constant = c ; d . toWatch = m ; break ; case O . ObjectExpression : c = ! 0 ; m = [ ] ; a ( d . properties , function ( d ) { Wa ( d . value , b ) ; c = c && d . value . constant ; d . value . constant || m . push . apply ( m , d . value . toWatch ) } ) ; d . constant = c ; d . toWatch = m ; break ; case O . ThisExpression : d . constant = ! 1 ,
d . toWatch = [ ] } } function ce ( d ) { if ( 1 == d . length ) { d = d [ 0 ] . expression ; var a = d . toWatch ; return 1 !== a . length ? a : a [ 0 ] !== d ? a : h } } function rd ( d ) { return d . type === O . Identifier || d . type === O . MemberExpression } function nf ( d ) { if ( 1 === d . body . length && rd ( d . body [ 0 ] . expression ) ) return { type : O . AssignmentExpression , left : d . body [ 0 ] . expression , right : { type : O . NGValueParameter } , operator : "=" } } function de ( d ) { return 0 === d . body . length || 1 === d . body . length && ( d . body [ 0 ] . expression . type === O . Literal || d . body [ 0 ] . expression . type === O . ArrayExpression ||
d . body [ 0 ] . expression . type === O . ObjectExpression ) } function sd ( d , a ) { this . astBuilder = d ; this . $filter = a } function of ( d , a ) { this . astBuilder = d ; this . $filter = a } function kb ( d ) { return H ( d . valueOf ) ? d . valueOf ( ) : Kg . call ( d ) } function Eg ( ) { var d = Ma ( ) , b = Ma ( ) ; this . $get = [ "$filter" , function ( c ) { function m ( a , m , g ) { var h , G , t ; switch ( g = g || aa , typeof a ) { case "string" : t = a = a . trim ( ) ; var Z = g ? b : d ; if ( h = Z [ t ] , ! h ) { ":" === a . charAt ( 0 ) && ":" === a . charAt ( 1 ) && ( G = ! 0 , a = a . substring ( 2 ) ) ; h = g ? p : q ; var w = new Ra ( h ) ; h = ( new hb ( w , c , h ) ) . parse ( a ) ; h . constant ?
h . $$watchDelegate = v : G ? h . $$watchDelegate = h . literal ? k : l : h . inputs && ( h . $$watchDelegate = f ) ; g && ( h = e ( h ) ) ; Z [ t ] = h } return n ( h , m ) ; case "function" : return n ( a , m ) ; default : return n ( r , m ) } } function e ( d ) { function a ( a , b , c , m ) { var e = aa ; aa = ! 0 ; try { return d ( a , b , c , m ) } finally { aa = e } } if ( ! d ) return d ; a . $$watchDelegate = d . $$watchDelegate ; a . assign = e ( d . assign ) ; a . constant = d . constant ; a . literal = d . literal ; for ( var b = 0 ; d . inputs && b < d . inputs . length ; ++ b ) d . inputs [ b ] = e ( d . inputs [ b ] ) ; return a . inputs = d . inputs , a } function g ( d , a ) { return null == d ||
null == a ? d === a : ( "object" != typeof d || ( d = kb ( d ) , "object" != typeof d ) ) && ( d === a || d !== d && a !== a ) } function f ( d , a , b , c , m ) { var e , f = c . inputs ; if ( 1 === f . length ) { var l = g , f = f [ 0 ] ; return d . $watch ( function ( d ) { var a = f ( d ) ; return g ( a , l ) || ( e = c ( d , h , h , [ a ] ) , l = a && kb ( a ) ) , e } , a , b , m ) } for ( var k = [ ] , v = [ ] , n = 0 , x = f . length ; n < x ; n ++ ) k [ n ] = g , v [ n ] = null ; return d . $watch ( function ( d ) { for ( var a = ! 1 , b = 0 , x = f . length ; b < x ; b ++ ) { var C = f [ b ] ( d ) ; ( a || ( a = ! g ( C , k [ b ] ) ) ) && ( v [ b ] = C , k [ b ] = C && kb ( C ) ) } return a && ( e = c ( d , h , h , v ) ) , e } , a , b , m ) } function l ( d , a , b , c ) { var m , e ; return m =
d . $watch ( function ( d ) { return c ( d ) } , function ( d , b , c ) { e = d ; H ( a ) && a . apply ( this , arguments ) ; D ( d ) && c . $$postDigest ( function ( ) { D ( e ) && m ( ) } ) } , b ) } function k ( d , b , c , m ) { function e ( d ) { var b = ! 0 ; return a ( d , function ( d ) { D ( d ) || ( b = ! 1 ) } ) , b } var g , f ; return g = d . $watch ( function ( d ) { return m ( d ) } , function ( d , a , c ) { f = d ; H ( b ) && b . call ( this , d , a , c ) ; e ( d ) && c . $$postDigest ( function ( ) { e ( f ) && g ( ) } ) } , c ) } function v ( d , a , b , c ) { var m ; return m = d . $watch ( function ( d ) { return c ( d ) } , function ( d , b , c ) { H ( a ) && a . apply ( this , arguments ) ; m ( ) } , b ) } function n ( d , a ) { if ( ! a ) return d ;
var b = d . $$watchDelegate , c = ! 1 , b = b !== k && b !== l ? function ( b , m , e , g ) { return e = c && g ? g [ 0 ] : d ( b , m , e , g ) , a ( e , b , m ) } : function ( b , c , m , e ) { return m = d ( b , c , m , e ) , b = a ( m , b , c ) , D ( m ) ? b : m } ; return d . $$watchDelegate && d . $$watchDelegate !== f ? b . $$watchDelegate = d . $$watchDelegate : a . $stateful || ( b . $$watchDelegate = f , c = ! d . inputs , b . inputs = d . inputs ? d . inputs : [ d ] ) , b } var t = Ub ( ) . noUnsafeEval , q = { csp : t , expensiveChecks : ! 1 } , p = { csp : t , expensiveChecks : ! 0 } , aa = ! 1 ; return m . $$runningExpensiveChecks = function ( ) { return aa } , m } ] } function Qe ( ) { this . $get = [ "$rootScope" ,
"$exceptionHandler" , function ( d , a ) { return pf ( function ( a ) { d . $evalAsync ( a ) } , a ) } ] } function Re ( ) { this . $get = [ "$browser" , "$exceptionHandler" , function ( d , a ) { return pf ( function ( a ) { d . defer ( a ) } , a ) } ] } function pf ( d , b ) { function c ( d , a , b ) { function c ( a ) { return function ( b ) { m || ( m = ! 0 , a . call ( d , b ) ) } } var m = ! 1 ; return [ c ( a ) , c ( b ) ] } function m ( ) { this . $$state = { status : 0 } } function e ( d , a ) { return function ( b ) { a . call ( d , b ) } } function g ( a ) { ! a . processScheduled && a . pending && ( a . processScheduled = ! 0 , d ( function ( ) { var d , c , m ; m = a . pending ; a . processScheduled =
! 1 ; a . pending = h ; for ( var e = 0 , g = m . length ; e < g ; ++ e ) { c = m [ e ] [ 0 ] ; d = m [ e ] [ a . status ] ; try { H ( d ) ? c . resolve ( d ( a . value ) ) : 1 === a . status ? c . resolve ( a . value ) : c . reject ( a . value ) } catch ( Ac ) { c . reject ( Ac ) , b ( Ac ) } } } ) ) } function f ( ) { this . promise = new m ; this . resolve = e ( this , this . resolve ) ; this . reject = e ( this , this . reject ) ; this . notify = e ( this , this . notify ) } var l = k ( "$q" , TypeError ) ; n ( m . prototype , { then : function ( d , a , b ) { if ( A ( d ) && A ( a ) && A ( b ) ) return this ; var c = new f ; return this . $$state . pending = this . $$state . pending || [ ] , this . $$state . pending . push ( [ c ,
d , a , b ] ) , 0 < this . $$state . status && g ( this . $$state ) , c . promise } , "catch" : function ( d ) { return this . then ( null , d ) } , "finally" : function ( d , a ) { return this . then ( function ( a ) { return t ( a , ! 0 , d ) } , function ( a ) { return t ( a , ! 1 , d ) } , a ) } } ) ; n ( f . prototype , { resolve : function ( d ) { this . promise . $$state . status || ( d === this . promise ? this . $$reject ( l ( "qcycle" , d ) ) : this . $$resolve ( d ) ) } , $$resolve : function ( d ) { var a , m ; m = c ( this , this . $$resolve , this . $$reject ) ; try { ( p ( d ) || H ( d ) ) && ( a = d && d . then ) , H ( a ) ? ( this . promise . $$state . status = - 1 , a . call ( d , m [ 0 ] , m [ 1 ] , this . notify ) ) :
( this . promise . $$state . value = d , this . promise . $$state . status = 1 , g ( this . promise . $$state ) ) } catch ( yc ) { m [ 1 ] ( yc ) , b ( yc ) } } , reject : function ( d ) { this . promise . $$state . status || this . $$reject ( d ) } , $$reject : function ( d ) { this . promise . $$state . value = d ; this . promise . $$state . status = 2 ; g ( this . promise . $$state ) } , notify : function ( a ) { var c = this . promise . $$state . pending ; 0 >= this . promise . $$state . status && c && c . length && d ( function ( ) { for ( var d , m , e = 0 , g = c . length ; e < g ; e ++ ) { m = c [ e ] [ 0 ] ; d = c [ e ] [ 3 ] ; try { m . notify ( H ( d ) ? d ( a ) : a ) } catch ( Ac ) { b ( Ac ) } } } ) } } ) ; var v =
function ( d , a ) { var b = new f ; return a ? b . resolve ( d ) : b . reject ( d ) , b . promise } , t = function ( d , a , b ) { var c = null ; try { H ( b ) && ( c = b ( ) ) } catch ( zc ) { return v ( zc , ! 1 ) } return c && H ( c . then ) ? c . then ( function ( ) { return v ( d , a ) } , function ( d ) { return v ( d , ! 1 ) } ) : v ( d , a ) } , r = function ( d , a , b , c ) { var m = new f ; return m . resolve ( d ) , m . promise . then ( a , b , c ) } , q = function bd ( d ) { if ( ! H ( d ) ) throw l ( "norslvr" , d ) ; if ( ! ( this instanceof bd ) ) return new bd ( d ) ; var a = new f ; return d ( function ( d ) { a . resolve ( d ) } , function ( d ) { a . reject ( d ) } ) , a . promise } ; return q . defer = function ( ) { return new f } ,
q . reject = function ( d ) { var a = new f ; return a . reject ( d ) , a . promise } , q . when = r , q . resolve = r , q . all = function ( d ) { var b = new f , c = 0 , m = oa ( d ) ? [ ] : { } ; return a ( d , function ( d , a ) { c ++ ; r ( d ) . then ( function ( d ) { m . hasOwnProperty ( a ) || ( m [ a ] = d , -- c || b . resolve ( m ) ) } , function ( d ) { m . hasOwnProperty ( a ) || b . reject ( d ) } ) } ) , 0 === c && b . resolve ( m ) , b . promise } , q } function Ld ( ) { this . $get = [ "$window" , "$timeout" , function ( d , a ) { var b = d . requestAnimationFrame || d . webkitRequestAnimationFrame , c = d . cancelAnimationFrame || d . webkitCancelAnimationFrame || d . webkitCancelRequestAnimationFrame ,
m = ! ! b , e = m ? function ( d ) { var a = b ( d ) ; return function ( ) { c ( a ) } } : function ( d ) { var b = a ( d , 16.66 , ! 1 ) ; return function ( ) { a . cancel ( b ) } } ; return e . supported = m , e } ] } function Kd ( ) { function d ( d ) { function a ( ) { this . $$watchers = this . $$nextSibling = this . $$childHead = this . $$childTail = null ; this . $$listeners = { } ; this . $$listenerCount = { } ; this . $$watchersCount = 0 ; this . $id = ++ wc ; this . $$ChildScope = null } return a . prototype = d , a } var b = 10 , e = k ( "$rootScope" ) , g = null , f = null ; this . digestTtl = function ( d ) { return arguments . length && ( b = d ) , b } ; this . $get =
[ "$injector" , "$exceptionHandler" , "$parse" , "$browser" , function ( m , l , k , h ) { function v ( d ) { d . currentScope . $$destroyed = ! 0 } function n ( d ) { 9 === jc && ( d . $$childHead && n ( d . $$childHead ) , d . $$nextSibling && n ( d . $$nextSibling ) ) ; d . $parent = d . $$nextSibling = d . $$prevSibling = d . $$childHead = d . $$childTail = d . $root = d . $$watchers = null } function G ( ) { this . $id = ++ wc ; 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 t ( d ) { if ( na . $$phase ) throw e ( "inprog" , na . $$phase ) ; na . $$phase = d } function q ( d , a ) { do d . $$watchersCount += a ; while ( d = d . $parent ) } function aa ( d , a , b ) { do d . $$listenerCount [ b ] -= a , 0 === d . $$listenerCount [ b ] && delete d . $$listenerCount [ b ] ; while ( d = d . $parent ) } function Z ( ) { } function w ( ) { for ( ; F . length ; ) try { F . shift ( ) ( ) } catch ( Lc ) { l ( Lc ) } f = null } function ja ( ) { null === f && ( f = h . defer ( function ( ) { na . $apply ( w ) } ) ) } G . prototype = { constructor : G , $new : function ( a ,
b ) { var c ; return b = b || this , a ? ( c = new G , c . $root = this . $root ) : ( this . $$ChildScope || ( this . $$ChildScope = d ( this ) ) , c = new this . $$ChildScope ) , c . $parent = b , c . $$prevSibling = b . $$childTail , b . $$childHead ? ( b . $$childTail . $$nextSibling = c , b . $$childTail = c ) : b . $$childHead = b . $$childTail = c , ( a || b != this ) && c . $on ( "$destroy" , v ) , c } , $watch : function ( d , a , b , c ) { var x = k ( d ) ; if ( x . $$watchDelegate ) return x . $$watchDelegate ( this , a , b , x , d ) ; var C = this , m = C . $$watchers , e = { fn : a , last : Z , get : x , exp : c || d , eq : ! ! b } ; return g = null , H ( a ) || ( e . fn = r ) , m || ( m = C . $$watchers =
[ ] ) , m . unshift ( e ) , q ( this , 1 ) , function ( ) { 0 <= E ( m , e ) && q ( C , - 1 ) ; g = null } } , $watchGroup : function ( d , b ) { function c ( ) { g = ! 1 ; f ? ( f = ! 1 , b ( x , x , e ) ) : b ( x , m , e ) } var m = Array ( d . length ) , x = Array ( d . length ) , C = [ ] , e = this , g = ! 1 , f = ! 0 ; if ( ! d . length ) { var l = ! 0 ; return e . $evalAsync ( function ( ) { l && b ( x , x , e ) } ) , function ( ) { l = ! 1 } } return 1 === d . length ? this . $watch ( d [ 0 ] , function ( d , a , C ) { x [ 0 ] = d ; m [ 0 ] = a ; b ( x , d === a ? x : m , C ) } ) : ( a ( d , function ( d , a ) { var b = e . $watch ( d , function ( d , b ) { x [ a ] = d ; m [ a ] = b ; g || ( g = ! 0 , e . $evalAsync ( c ) ) } ) ; C . push ( b ) } ) , function ( ) { for ( ; C . length ; ) C . shift ( ) ( ) } ) } ,
$watchCollection : function ( d , a ) { function b ( d ) { m = d ; var a , b , C , e ; if ( ! A ( m ) ) { if ( p ( m ) ) if ( c ( m ) ) for ( x !== h && ( x = h , G = x . length = 0 , f ++ ) , d = m . length , G !== d && ( f ++ , x . length = G = d ) , a = 0 ; a < d ; a ++ ) e = x [ a ] , C = m [ a ] , ( b = e !== e && C !== C ) || e === C || ( f ++ , x [ a ] = C ) ; else { x !== v && ( x = v = { } , G = 0 , f ++ ) ; d = 0 ; for ( a in m ) vb . call ( m , a ) && ( d ++ , C = m [ a ] , e = x [ a ] , a in x ? ( b = e !== e && C !== C , b || e === C || ( f ++ , x [ a ] = C ) ) : ( G ++ , x [ a ] = C , f ++ ) ) ; if ( G > d ) for ( a in f ++ , x ) vb . call ( m , a ) || ( G -- , delete x [ a ] ) } else x !== m && ( x = m , f ++ ) ; return f } } b . $stateful = ! 0 ; var m , x , C , e = this , g = 1 < a . length , f = 0 , l =
k ( d , b ) , h = [ ] , v = { } , n = ! 0 , G = 0 ; return this . $watch ( l , function ( ) { if ( n ? ( n = ! 1 , a ( m , m , e ) ) : a ( m , C , e ) , g ) if ( p ( m ) ) if ( c ( m ) ) { C = Array ( m . length ) ; for ( var d = 0 ; d < m . length ; d ++ ) C [ d ] = m [ d ] } else for ( d in C = { } , m ) vb . call ( m , d ) && ( C [ d ] = m [ d ] ) ; else C = m } ) } , $digest : function ( ) { var d , a , c , m , x , C , P , k , v , n , G , r = b , q = [ ] ; t ( "$digest" ) ; h . $$checkUrlChange ( ) ; this === na && null !== f && ( h . defer . cancel ( f ) , w ( ) ) ; g = null ; do { k = ! 1 ; for ( v = this ; u . length ; ) { try { G = u . shift ( ) , G . scope . $eval ( G . expression , G . locals ) } catch ( Td ) { l ( Td ) } g = null } a : do { if ( C = v . $$watchers ) for ( P = C . length ; P -- ; ) try { if ( d =
C [ P ] ) if ( x = d . get , ( a = x ( v ) ) === ( c = d . last ) || ( d . eq ? V ( a , c ) : "number" == typeof a && "number" == typeof c && isNaN ( a ) && isNaN ( c ) ) ) { if ( d === g ) { k = ! 1 ; break a } } else k = ! 0 , g = d , d . last = d . eq ? U ( a , null ) : a , m = d . fn , m ( a , c === Z ? a : c , v ) , 5 > r && ( n = 4 - r , q [ n ] || ( q [ n ] = [ ] ) , q [ n ] . push ( { msg : H ( d . exp ) ? "fn: " + ( d . exp . name || d . exp . toString ( ) ) : d . exp , newVal : a , oldVal : c } ) ) } catch ( Td ) { l ( Td ) } if ( ! ( C = v . $$watchersCount && v . $$childHead || v !== this && v . $$nextSibling ) ) for ( ; v !== this && ! ( C = v . $$nextSibling ) ; ) v = v . $parent } while ( v = C ) ; if ( ( k || u . length ) && ! r -- ) throw na . $$phase = null ,
e ( "infdig" , b , q ) ; } while ( k || u . length ) ; for ( na . $$phase = null ; z . length ; ) try { z . shift ( ) ( ) } catch ( Td ) { l ( Td ) } } , $destroy : function ( ) { if ( ! this . $$destroyed ) { var d = this . $parent ; this . $broadcast ( "$destroy" ) ; this . $$destroyed = ! 0 ; this === na && h . $$applicationDestroyed ( ) ; q ( this , - this . $$watchersCount ) ; for ( var a in this . $$listenerCount ) aa ( this , this . $$listenerCount [ a ] , a ) ; d && d . $$childHead == this && ( d . $$childHead = this . $$nextSibling ) ; d && d . $$childTail == this && ( d . $$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 = r ; this . $on = this . $watch = this . $watchGroup = function ( ) { return r } ; this . $$listeners = { } ; this . $$nextSibling = null ; n ( this ) } } , $eval : function ( d , a ) { return k ( d ) ( this , a ) } , $evalAsync : function ( d , a ) { na . $$phase || u . length || h . defer ( function ( ) { u . length && na . $digest ( ) } ) ; u . push ( { scope : this , expression : k ( d ) , locals : a } ) } , $$postDigest : function ( d ) { z . push ( d ) } , $apply : function ( d ) { try { t ( "$apply" ) ;
try { return this . $eval ( d ) } finally { na . $$phase = null } } catch ( nd ) { l ( nd ) } finally { try { na . $digest ( ) } catch ( nd ) { throw l ( nd ) , nd ; } } } , $applyAsync : function ( d ) { function a ( ) { b . $eval ( d ) } var b = this ; d && F . push ( a ) ; d = k ( d ) ; ja ( ) } , $on : function ( d , a ) { var b = this . $$listeners [ d ] ; b || ( this . $$listeners [ d ] = b = [ ] ) ; b . push ( a ) ; var c = this ; do c . $$listenerCount [ d ] || ( c . $$listenerCount [ d ] = 0 ) , c . $$listenerCount [ d ] ++ ; while ( c = c . $parent ) ; var x = this ; return function ( ) { var C = b . indexOf ( a ) ; - 1 !== C && ( b [ C ] = null , aa ( x , 1 , d ) ) } } , $emit : function ( d , a ) { var b , c , x ,
C = [ ] , m = this , e = ! 1 , g = { name : d , targetScope : m , stopPropagation : function ( ) { e = ! 0 } , preventDefault : function ( ) { g . defaultPrevented = ! 0 } , defaultPrevented : ! 1 } , f = Q ( [ g ] , arguments , 1 ) ; do { b = m . $$listeners [ d ] || C ; g . currentScope = m ; c = 0 ; for ( x = b . length ; c < x ; c ++ ) if ( b [ c ] ) try { b [ c ] . apply ( null , f ) } catch ( Ig ) { l ( Ig ) } else b . splice ( c , 1 ) , c -- , x -- ; if ( e ) break ; m = m . $parent } while ( m ) ; return g . currentScope = null , g } , $broadcast : function ( d , a ) { var b = this , c = this , x = { name : d , targetScope : this , preventDefault : function ( ) { x . defaultPrevented = ! 0 } , defaultPrevented : ! 1 } ;
if ( ! this . $$listenerCount [ d ] ) return x ; for ( var C , m , e = Q ( [ x ] , arguments , 1 ) ; b = c ; ) { x . currentScope = b ; c = b . $$listeners [ d ] || [ ] ; C = 0 ; for ( m = c . length ; C < m ; C ++ ) if ( c [ C ] ) try { c [ C ] . apply ( null , e ) } catch ( Qa ) { l ( Qa ) } else c . splice ( C , 1 ) , C -- , m -- ; if ( ! ( c = b . $$listenerCount [ d ] && b . $$childHead || b !== this && b . $$nextSibling ) ) for ( ; b !== this && ! ( c = b . $$nextSibling ) ; ) b = b . $parent } return x . currentScope = null , x } } ; var na = new G , u = na . $$asyncQueue = [ ] , z = na . $$postDigestQueue = [ ] , F = na . $$applyAsyncQueue = [ ] ; return na } ] } function cd ( ) { var d = /^\s*(https?|ftp|mailto|tel|file):/ ,
a = /^\s*((https?|ftp|file|blob):|data:image\/)/ ; this . aHrefSanitizationWhitelist = function ( a ) { return D ( a ) ? ( d = a , this ) : d } ; this . imgSrcSanitizationWhitelist = function ( d ) { return D ( d ) ? ( a = d , this ) : a } ; this . $get = function ( ) { return function ( b , c ) { var m , e = c ? a : d ; return m = Ob ( b ) . href , "" === m || m . match ( e ) ? b : "unsafe:" + m } } } function qf ( d ) { if ( "self" === d ) return d ; if ( u ( d ) ) { if ( - 1 < d . indexOf ( "***" ) ) throw ac ( "iwcard" , d ) ; return d = sc ( d ) . replace ( "\\*\\*" , ".*" ) . replace ( "\\*" , "[^:/.?&;]*" ) , new RegExp ( "^" + d + "$" ) } if ( K ( d ) ) return new RegExp ( "^" +
d . source + "$" ) ; throw ac ( "imatcher" ) ; } function td ( d ) { var b = [ ] ; return D ( d ) && a ( d , function ( d ) { b . push ( qf ( d ) ) } ) , b } function Se ( ) { this . SCE _CONTEXTS = Ab ; var d = [ "self" ] , a = [ ] ; this . resourceUrlWhitelist = function ( a ) { return arguments . length && ( d = td ( a ) ) , d } ; this . resourceUrlBlacklist = function ( d ) { return arguments . length && ( a = td ( d ) ) , a } ; this . $get = [ "$injector" , function ( b ) { function c ( d , a ) { return "self" === d ? Wd ( a ) : ! ! d . exec ( a . href ) } function m ( d ) { var a = function ( d ) { this . $$unwrapTrustedValue = function ( ) { return d } } ; return d && ( a . prototype =
new d ) , a . prototype . valueOf = function ( ) { return this . $$unwrapTrustedValue ( ) } , a . prototype . toString = function ( ) { return this . $$unwrapTrustedValue ( ) . toString ( ) } , a } var e = function ( d ) { throw ac ( "unsafe" ) ; } ; b . has ( "$sanitize" ) && ( e = b . get ( "$sanitize" ) ) ; var g = m ( ) , f = { } ; return f [ Ab . HTML ] = m ( g ) , f [ Ab . CSS ] = m ( g ) , f [ Ab . URL ] = m ( g ) , f [ Ab . JS ] = m ( g ) , f [ Ab . RESOURCE _URL ] = m ( f [ Ab . URL ] ) , { trustAs : function ( d , a ) { var b = f . hasOwnProperty ( d ) ? f [ d ] : null ; if ( ! b ) throw ac ( "icontext" , d , a ) ; if ( null === a || A ( a ) || "" === a ) return a ; if ( "string" != typeof a ) throw ac ( "itype" ,
d ) ; return new b ( a ) } , getTrusted : function ( b , m ) { if ( null === m || A ( m ) || "" === m ) return m ; var g = f . hasOwnProperty ( b ) ? f [ b ] : null ; if ( g && m instanceof g ) return m . $$unwrapTrustedValue ( ) ; if ( b === Ab . RESOURCE _URL ) { var l , k , g = Ob ( m . toString ( ) ) , h = ! 1 ; l = 0 ; for ( k = d . length ; l < k ; l ++ ) if ( c ( d [ l ] , g ) ) { h = ! 0 ; break } if ( h ) for ( l = 0 , k = a . length ; l < k ; l ++ ) if ( c ( a [ l ] , g ) ) { h = ! 1 ; break } if ( h ) return m ; throw ac ( "insecurl" , m . toString ( ) ) ; } if ( b === Ab . HTML ) return e ( m ) ; throw ac ( "unsafe" ) ; } , valueOf : function ( d ) { return d instanceof g ? d . $$unwrapTrustedValue ( ) : d } } } ] }
function pb ( ) { var d = ! 0 ; this . enabled = function ( a ) { return arguments . length && ( d = ! ! a ) , d } ; this . $get = [ "$parse" , "$sceDelegate" , function ( b , c ) { if ( d && 8 > jc ) throw ac ( "iequirks" ) ; var m = ka ( Ab ) ; m . isEnabled = function ( ) { return d } ; m . trustAs = c . trustAs ; m . getTrusted = c . getTrusted ; m . valueOf = c . valueOf ; d || ( m . trustAs = m . getTrusted = function ( d , a ) { return a } , m . valueOf = z ) ; m . parseAs = function ( d , a ) { var c = b ( a ) ; return c . literal && c . constant ? c : b ( a , function ( a ) { return m . getTrusted ( d , a ) } ) } ; var e = m . parseAs , g = m . getTrusted , f = m . trustAs ; return a ( Ab ,
function ( d , a ) { var b = va ( a ) ; m [ pc ( "parse_as_" + b ) ] = function ( a ) { return e ( d , a ) } ; m [ pc ( "get_trusted_" + b ) ] = function ( a ) { return g ( d , a ) } ; m [ pc ( "trust_as_" + b ) ] = function ( a ) { return f ( d , a ) } } ) , m } ] } function Te ( ) { this . $get = [ "$window" , "$document" , function ( d , a ) { var b , c = { } , m = parseInt ( ( /android (\d+)/ . exec ( va ( ( d . navigator || { } ) . userAgent ) ) || [ ] ) [ 1 ] , 10 ) , e = /Boxee/i . test ( ( d . navigator || { } ) . userAgent ) , g = a [ 0 ] || { } , f = /^(Moz|webkit|ms)(?=[A-Z])/ , l = g . body && g . body . style , k = ! 1 , h = ! 1 ; if ( l ) { for ( var v in l ) if ( k = f . exec ( v ) ) { b = k [ 0 ] ; b = b . substr ( 0 ,
1 ) . toUpperCase ( ) + b . substr ( 1 ) ; break } b || ( b = "WebkitOpacity" in l && "webkit" ) ; k = ! ! ( "transition" in l || b + "Transition" in l ) ; h = ! ! ( "animation" in l || b + "Animation" in l ) ; ! m || k && h || ( k = u ( l . webkitTransition ) , h = u ( l . webkitAnimation ) ) } return { history : ! ( ! d . history || ! d . history . pushState || 4 > m || e ) , hasEvent : function ( d ) { if ( "input" === d && 11 >= jc ) return ! 1 ; if ( A ( c [ d ] ) ) { var a = g . createElement ( "div" ) ; c [ d ] = "on" + d in a } return c [ d ] } , csp : Ub ( ) , vendorPrefix : b , transitions : k , animations : h , android : m } } ] } function Ue ( ) { this . $get = [ "$templateCache" ,
"$http" , "$q" , "$sce" , function ( d , a , b , c ) { function m ( e , g ) { m . totalPendingRequests ++ ; u ( e ) && ! A ( d . get ( e ) ) || ( e = c . getTrustedResourceUrl ( e ) ) ; var f = a . defaults && a . defaults . transformResponse ; return oa ( f ) ? f = f . filter ( function ( d ) { return d !== qb } ) : f === qb && ( f = null ) , a . get ( e , { cache : d , transformResponse : f } ) [ "finally" ] ( function ( ) { m . totalPendingRequests -- } ) . then ( function ( a ) { return d . put ( e , a . data ) , a . data } , function ( d ) { if ( ! g ) throw cb ( "tpload" , e , d . status , d . statusText ) ; return b . reject ( d ) } ) } return m . totalPendingRequests = 0 , m } ] } function Ve ( ) { this . $get =
[ "$rootScope" , "$browser" , "$location" , function ( d , b , c ) { return { findBindings : function ( d , b , c ) { d = d . getElementsByClassName ( "ng-binding" ) ; var m = [ ] ; return a ( d , function ( d ) { var e = Na . element ( d ) . data ( "$binding" ) ; e && a ( e , function ( a ) { c ? ( new RegExp ( "(^|\\s)" + sc ( b ) + "(\\s|\\||$)" ) ) . test ( a ) && m . push ( d ) : - 1 != a . indexOf ( b ) && m . push ( d ) } ) } ) , m } , findModels : function ( d , a , b ) { for ( var c = [ "ng-" , "data-ng-" , "ng\\:" ] , m = 0 ; m < c . length ; ++ m ) { var e = d . querySelectorAll ( "[" + c [ m ] + "model" + ( b ? "=" : "*=" ) + '"' + a + '"]' ) ; if ( e . length ) return e } } , getLocation : function ( ) { return c . url ( ) } ,
setLocation : function ( a ) { a !== c . url ( ) && ( c . url ( a ) , d . $digest ( ) ) } , whenStable : function ( d ) { b . notifyWhenNoOutstandingRequests ( d ) } } } ] } function hd ( ) { this . $get = [ "$rootScope" , "$browser" , "$q" , "$$q" , "$exceptionHandler" , function ( d , a , b , c , e ) { function m ( m , f , l ) { H ( m ) || ( l = f , f = m , m = r ) ; var k , h = Cb . call ( arguments , 3 ) , v = D ( l ) && ! l , n = ( v ? c : b ) . defer ( ) , t = n . promise ; return k = a . defer ( function ( ) { try { n . resolve ( m . apply ( null , h ) ) } catch ( yc ) { n . reject ( yc ) , e ( yc ) } finally { delete g [ t . $$timeoutId ] } v || d . $apply ( ) } , f ) , t . $$timeoutId = k , g [ k ] = n , t } var g =
{ } ; return m . cancel = function ( d ) { return ! ! ( d && d . $$timeoutId in g ) && ( g [ d . $$timeoutId ] . reject ( "canceled" ) , delete g [ d . $$timeoutId ] , a . defer . cancel ( d . $$timeoutId ) ) } , m } ] } function Ob ( d ) { return jc && ( Ta . setAttribute ( "href" , d ) , d = Ta . href ) , Ta . setAttribute ( "href" , d ) , { href : Ta . href , protocol : Ta . protocol ? Ta . protocol . replace ( /:$/ , "" ) : "" , host : Ta . host , search : Ta . search ? Ta . search . replace ( /^\?/ , "" ) : "" , hash : Ta . hash ? Ta . hash . replace ( /^#/ , "" ) : "" , hostname : Ta . hostname , port : Ta . port , pathname : "/" === Ta . pathname . charAt ( 0 ) ? Ta . pathname :
"/" + Ta . pathname } } function Wd ( d ) { return d = u ( d ) ? Ob ( d ) : d , d . protocol === rf . protocol && d . host === rf . host } function We ( ) { this . $get = y ( b ) } function sf ( d ) { function a ( d ) { try { return decodeURIComponent ( d ) } catch ( na ) { return d } } var b = d [ 0 ] || { } , c = { } , e = "" ; return function ( ) { var d , m , g , f , l ; if ( d = b . cookie || "" , d !== e ) for ( e = d , d = e . split ( "; " ) , c = { } , g = 0 ; g < d . length ; g ++ ) m = d [ g ] , f = m . indexOf ( "=" ) , 0 < f && ( l = a ( m . substring ( 0 , f ) ) , A ( c [ l ] ) && ( c [ l ] = a ( m . substring ( f + 1 ) ) ) ) ; return c } } function id ( ) { this . $get = sf } function Ec ( d ) { function b ( c , m ) { if ( p ( c ) ) { var e =
{ } ; return a ( c , function ( d , a ) { e [ a ] = b ( a , d ) } ) , e } return d . factory ( c + "Filter" , m ) } this . register = b ; this . $get = [ "$injector" , function ( d ) { return function ( a ) { return d . get ( a + "Filter" ) } } ] ; b ( "currency" , ee ) ; b ( "date" , fe ) ; b ( "filter" , tf ) ; b ( "json" , Lg ) ; b ( "limitTo" , ge ) ; b ( "lowercase" , uf ) ; b ( "number" , he ) ; b ( "orderBy" , ie ) ; b ( "uppercase" , ud ) } function tf ( ) { return function ( d , a , b ) { if ( ! c ( d ) ) { if ( null == d ) return d ; throw k ( "filter" ) ( "notarray" , d ) ; } var m ; switch ( vd ( a ) ) { case "function" : break ; case "boolean" : case "null" : case "number" : case "string" : m =
! 0 ; case "object" : a = vf ( a , b , m ) ; break ; default : return d } return Array . prototype . filter . call ( d , a ) } } function vf ( d , a , b ) { var c = p ( d ) && "$" in d ; return ! 0 === a ? a = V : H ( a ) || ( a = function ( d , a ) { return ! A ( d ) && ( null === d || null === a ? d === a : ! ( p ( a ) || p ( d ) && ! F ( d ) ) && ( d = va ( "" + d ) , a = va ( "" + a ) , - 1 !== d . indexOf ( a ) ) ) } ) , function ( m ) { return c && ! p ( m ) ? bc ( m , d . $ , a , ! 1 ) : bc ( m , d , a , b ) } } function bc ( d , a , b , c , e ) { var m = vd ( d ) , g = vd ( a ) ; if ( "string" === g && "!" === a . charAt ( 0 ) ) return ! bc ( d , a . substring ( 1 ) , b , c ) ; if ( oa ( d ) ) return d . some ( function ( d ) { return bc ( d , a , b , c ) } ) ; switch ( m ) { case "object" : var f ;
if ( c ) { for ( f in d ) if ( "$" !== f . charAt ( 0 ) && bc ( d [ f ] , a , b , ! 0 ) ) return ! 0 ; return ! e && bc ( d , a , b , ! 1 ) } if ( "object" === g ) { for ( f in a ) if ( e = a [ f ] , ! H ( e ) && ! A ( e ) && ( m = "$" === f , ! bc ( m ? d : d [ f ] , e , b , m , m ) ) ) return ! 1 ; return ! 0 } return b ( d , a ) ; case "function" : return ! 1 ; default : return b ( d , a ) } } function vd ( d ) { return null === d ? "null" : typeof d } function ee ( d ) { var a = d . NUMBER _FORMATS ; return function ( d , b , c ) { return A ( b ) && ( b = a . CURRENCY _SYM ) , A ( c ) && ( c = a . PATTERNS [ 1 ] . maxFrac ) , null == d ? d : je ( d , a . PATTERNS [ 1 ] , a . GROUP _SEP , a . DECIMAL _SEP , c ) . replace ( /\u00A4/g ,
b ) } } function he ( d ) { var a = d . NUMBER _FORMATS ; return function ( d , b ) { return null == d ? d : je ( d , a . PATTERNS [ 0 ] , a . GROUP _SEP , a . DECIMAL _SEP , b ) } } function wf ( d ) { var a , b , c , e , g , f = 0 ; - 1 < ( b = d . indexOf ( xf ) ) && ( d = d . replace ( xf , "" ) ) ; 0 < ( c = d . search ( /e/i ) ) ? ( 0 > b && ( b = c ) , b += + d . slice ( c + 1 ) , d = d . substring ( 0 , c ) ) : 0 > b && ( b = d . length ) ; for ( c = 0 ; d . charAt ( c ) == tc ; c ++ ) ; if ( c == ( g = d . length ) ) a = [ 0 ] , b = 1 ; else { for ( g -- ; d . charAt ( g ) == tc ; ) g -- ; b -= c ; a = [ ] ; for ( e = 0 ; c <= g ; c ++ , e ++ ) a [ e ] = + d . charAt ( c ) } return b > yf && ( a = a . splice ( 0 , yf - 1 ) , f = b - 1 , b = 1 ) , { d : a , e : f , i : b } } function zf ( d ,
a , b , c ) { var e = d . d , m = e . length - d . i ; if ( a = A ( a ) ? Math . min ( Math . max ( b , m ) , c ) : + a , b = a + d . i , c = e [ b ] , 0 < b ) e . splice ( b ) ; else { d . i = 1 ; e . length = b = a + 1 ; for ( var g = 0 ; g < b ; g ++ ) e [ g ] = 0 } for ( 5 <= c && e [ b - 1 ] ++ ; m < a ; m ++ ) e . push ( 0 ) ; ( a = e . reduceRight ( function ( d , a , b , c ) { return a += d , c [ b ] = a % 10 , Math . floor ( a / 10 ) } , 0 ) ) && ( e . unshift ( a ) , d . i ++ ) } function je ( d , a , b , c , e ) { if ( ! u ( d ) && ! J ( d ) || isNaN ( d ) ) return "" ; var m = ! isFinite ( d ) , g = ! 1 , f = Math . abs ( d ) + "" , l = "" ; if ( m ) l = "\u221e" ; else { g = wf ( f ) ; zf ( g , e , a . minFrac , a . maxFrac ) ; l = g . d ; f = g . i ; e = g . e ; m = [ ] ; for ( g = l . reduce ( function ( d ,
a ) { return d && ! a } , ! 0 ) ; 0 > f ; ) l . unshift ( 0 ) , f ++ ; 0 < f ? m = l . splice ( f , l . length ) : ( m = l , l = [ 0 ] ) ; f = [ ] ; for ( l . length >= a . lgSize && f . unshift ( l . splice ( - a . lgSize , l . length ) . join ( "" ) ) ; l . length > a . gSize ; ) f . unshift ( l . splice ( - a . gSize , l . length ) . join ( "" ) ) ; l . length && f . unshift ( l . join ( "" ) ) ; l = f . join ( b ) ; m . length && ( l += c + m . join ( "" ) ) ; e && ( l += "e+" + e ) } return 0 > d && ! g ? a . negPre + l + a . negSuf : a . posPre + l + a . posSuf } function Sc ( d , a , b ) { var c = "" ; 0 > d && ( c = "-" , d = - d ) ; for ( d = "" + d ; d . length < a ; ) d = tc + d ; return b && ( d = d . substr ( d . length - a ) ) , c + d } function ab ( d , a , b ,
c ) { return b = b || 0 , function ( e ) { return e = e [ "get" + d ] ( ) , ( 0 < b || e > - b ) && ( e += b ) , 0 === e && - 12 == b && ( e = 12 ) , Sc ( e , a , c ) } } function Tc ( d , a ) { return function ( b , c ) { var e = b [ "get" + d ] ( ) , m = ob ( a ? "SHORT" + d : d ) ; return c [ m ] [ e ] } } function ke ( d ) { var a = ( new Date ( d , 0 , 1 ) ) . getDay ( ) ; return new Date ( d , 0 , ( 4 >= a ? 5 : 12 ) - a ) } function le ( d ) { return function ( a ) { var b = ke ( a . getFullYear ( ) ) ; return a = + new Date ( a . getFullYear ( ) , a . getMonth ( ) , a . getDate ( ) + ( 4 - a . getDay ( ) ) ) - + b , a = 1 + Math . round ( a / 6048E5 ) , Sc ( a , d ) } } function Uc ( d , a ) { return 0 >= d . getFullYear ( ) ? a . ERAS [ 0 ] :
a . ERAS [ 1 ] } function fe ( d ) { function b ( d ) { var a ; if ( a = d . match ( c ) ) { d = new Date ( 0 ) ; var b = 0 , e = 0 , m = a [ 8 ] ? d . setUTCFullYear : d . setFullYear , g = a [ 8 ] ? d . setUTCHours : d . setHours ; a [ 9 ] && ( b = parseInt ( a [ 9 ] + a [ 10 ] , 10 ) , e = parseInt ( a [ 9 ] + a [ 11 ] , 10 ) ) ; m . call ( d , parseInt ( a [ 1 ] , 10 ) , parseInt ( a [ 2 ] , 10 ) - 1 , parseInt ( a [ 3 ] , 10 ) ) ; b = parseInt ( a [ 4 ] || 0 , 10 ) - b ; e = parseInt ( a [ 5 ] || 0 , 10 ) - e ; m = parseInt ( a [ 6 ] || 0 , 10 ) ; a = Math . round ( 1E3 * parseFloat ( "0." + ( a [ 7 ] || 0 ) ) ) ; g . call ( d , b , e , m , a ) } return d } var c = /^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/ ;
return function ( c , e , m ) { var g , f , l = "" , k = [ ] ; if ( e = e || "mediumDate" , e = d . DATETIME _FORMATS [ e ] || e , u ( c ) && ( c = Af . test ( c ) ? parseInt ( c , 10 ) : b ( c ) ) , J ( c ) && ( c = new Date ( c ) ) , ! M ( c ) || ! isFinite ( c . getTime ( ) ) ) return c ; for ( ; e ; ) ( f = Bf . exec ( e ) ) ? ( k = Q ( k , f , 1 ) , e = k . pop ( ) ) : ( k . push ( e ) , e = null ) ; var h = c . getTimezoneOffset ( ) ; return m && ( h = W ( m , h ) , c = da ( c , m , ! 0 ) ) , a ( k , function ( a ) { g = wd [ a ] ; l += g ? g ( c , d . DATETIME _FORMATS , h ) : "''" === a ? "'" : a . replace ( /(^'|'$)/g , "" ) . replace ( /''/g , "'" ) } ) , l } } function Lg ( ) { return function ( d , a ) { return A ( a ) && ( a = 2 ) , pa ( d , a ) } } function ge ( ) { return function ( d ,
a , b ) { return a = 1 / 0 === Math . abs ( Number ( a ) ) ? Number ( a ) : parseInt ( a , 10 ) , isNaN ( a ) ? d : ( J ( d ) && ( d = d . toString ( ) ) , oa ( d ) || u ( d ) ? ( b = ! b || isNaN ( b ) ? 0 : parseInt ( b , 10 ) , b = 0 > b ? Math . max ( 0 , d . length + b ) : b , 0 <= a ? d . slice ( b , b + a ) : 0 === b ? d . slice ( a , d . length ) : d . slice ( Math . max ( 0 , b + a ) , b ) ) : d ) } } function ie ( d ) { function a ( a , b ) { return b = b ? - 1 : 1 , a . map ( function ( a ) { var c = 1 , e = z ; if ( H ( a ) ) e = a ; else if ( u ( a ) && ( "+" != a . charAt ( 0 ) && "-" != a . charAt ( 0 ) || ( c = "-" == a . charAt ( 0 ) ? - 1 : 1 , a = a . substring ( 1 ) ) , "" !== a && ( e = d ( a ) , e . constant ) ) ) var m = e ( ) , e = function ( d ) { return d [ m ] } ;
return { get : e , descending : c * b } } ) } function b ( d ) { switch ( typeof d ) { case "number" : case "boolean" : case "string" : return ! 0 ; default : return ! 1 } } return function ( d , e , m ) { if ( ! c ( d ) ) return d ; oa ( e ) || ( e = [ e ] ) ; 0 === e . length && ( e = [ "+" ] ) ; var g = a ( e , m ) ; return g . push ( { get : function ( ) { return { } } , descending : m ? - 1 : 1 } ) , d = Array . prototype . map . call ( d , function ( d , a ) { return { value : d , predicateValues : g . map ( function ( c ) { var e = c . get ( d ) ; return c = typeof e , null === e ? ( c = "string" , e = "null" ) : "string" === c ? e = e . toLowerCase ( ) : "object" === c && ( "function" == typeof e . valueOf &&
( e = e . valueOf ( ) , b ( e ) ) || F ( e ) && ( e = e . toString ( ) , b ( e ) ) || ( e = a ) ) , { value : e , type : c } } ) } } ) , d . sort ( function ( d , a ) { for ( var b = 0 , c = 0 , e = g . length ; c < e ; ++ c ) { var b = d . predicateValues [ c ] , m = a . predicateValues [ c ] , f = 0 ; if ( b . type === m . type ? b . value !== m . value && ( f = b . value < m . value ? - 1 : 1 ) : f = b . type < m . type ? - 1 : 1 , b = f * g [ c ] . descending ) break } return b } ) , d = d . map ( function ( d ) { return d . value } ) } } function lb ( d ) { return H ( d ) && ( d = { link : d } ) , d . restrict = d . restrict || "AC" , y ( d ) } function Cf ( d , b , c , e , g ) { var m = this , f = [ ] ; m . $error = { } ; m . $$success = { } ; m . $pending =
h ; m . $name = g ( b . name || b . ngForm || "" ) ( c ) ; m . $dirty = ! 1 ; m . $pristine = ! 0 ; m . $valid = ! 0 ; m . $invalid = ! 1 ; m . $submitted = ! 1 ; m . $$parentForm = xd ; m . $rollbackViewValue = function ( ) { a ( f , function ( d ) { d . $rollbackViewValue ( ) } ) } ; m . $commitViewValue = function ( ) { a ( f , function ( d ) { d . $commitViewValue ( ) } ) } ; m . $addControl = function ( d ) { Sb ( d . $name , "input" ) ; f . push ( d ) ; d . $name && ( m [ d . $name ] = d ) ; d . $$parentForm = m } ; m . $$renameControl = function ( d , a ) { var b = d . $name ; m [ b ] === d && delete m [ b ] ; m [ a ] = d ; d . $name = a } ; m . $removeControl = function ( d ) { d . $name && m [ d . $name ] ===
d && delete m [ d . $name ] ; a ( m . $pending , function ( a , b ) { m . $setValidity ( b , null , d ) } ) ; a ( m . $error , function ( a , b ) { m . $setValidity ( b , null , d ) } ) ; a ( m . $$success , function ( a , b ) { m . $setValidity ( b , null , d ) } ) ; E ( f , d ) ; d . $$parentForm = xd } ; Df ( { ctrl : this , $element : d , set : function ( d , a , b ) { var c = d [ a ] ; c ? - 1 === c . indexOf ( b ) && c . push ( b ) : d [ a ] = [ b ] } , unset : function ( d , a , b ) { var c = d [ a ] ; c && ( E ( c , b ) , 0 === c . length && delete d [ a ] ) } , $animate : e } ) ; m . $setDirty = function ( ) { e . removeClass ( d , uc ) ; e . addClass ( d , yd ) ; m . $dirty = ! 0 ; m . $pristine = ! 1 ; m . $$parentForm . $setDirty ( ) } ;
m . $setPristine = function ( ) { e . setClass ( d , uc , yd + " ng-submitted" ) ; m . $dirty = ! 1 ; m . $pristine = ! 0 ; m . $submitted = ! 1 ; a ( f , function ( d ) { d . $setPristine ( ) } ) } ; m . $setUntouched = function ( ) { a ( f , function ( d ) { d . $setUntouched ( ) } ) } ; m . $setSubmitted = function ( ) { e . addClass ( d , "ng-submitted" ) ; m . $submitted = ! 0 ; m . $$parentForm . $setSubmitted ( ) } } function me ( d ) { d . $formatters . push ( function ( a ) { return d . $isEmpty ( a ) ? a : a . toString ( ) } ) } function Vc ( d , a , b , c , e , g ) { var m = va ( a [ 0 ] . type ) ; if ( ! e . android ) { var f = ! 1 ; a . on ( "compositionstart" , function ( d ) { f = ! 0 } ) ;
a . on ( "compositionend" , function ( ) { f = ! 1 ; k ( ) } ) } var l , k = function ( d ) { if ( l && ( g . defer . cancel ( l ) , l = null ) , ! f ) { var e = a . val ( ) ; d = d && d . type ; "password" === m || b . ngTrim && "false" === b . ngTrim || ( e = Ga ( e ) ) ; ( c . $viewValue !== e || "" === e && c . $$hasNativeValidators ) && c . $setViewValue ( e , d ) } } ; if ( e . hasEvent ( "input" ) ) a . on ( "input" , k ) ; else { var h = function ( d , a , b ) { l || ( l = g . defer ( function ( ) { l = null ; a && a . value === b || k ( d ) } ) ) } ; a . on ( "keydown" , function ( d ) { var a = d . keyCode ; 91 === a || 15 < a && 19 > a || 37 <= a && 40 >= a || h ( d , this , this . value ) } ) ; e . hasEvent ( "paste" ) &&
a . on ( "paste cut" , h ) } a . on ( "change" , k ) ; Wc [ m ] && c . $$hasNativeValidators && m === b . type && a . on ( "keydown wheel mousedown" , function ( d ) { if ( ! l ) { var a = this . validity , b = a . badInput , c = a . typeMismatch ; l = g . defer ( function ( ) { l = null ; a . badInput === b && a . typeMismatch === c || k ( d ) } ) } } ) ; c . $render = function ( ) { var d = c . $isEmpty ( c . $viewValue ) ? "" : c . $viewValue ; a . val ( ) !== d && a . val ( d ) } } function Da ( d , b ) { return function ( c , e ) { var m , g ; if ( M ( c ) ) return c ; if ( u ( c ) ) { if ( '"' == c . charAt ( 0 ) && '"' == c . charAt ( c . length - 1 ) && ( c = c . substring ( 1 , c . length - 1 ) ) , mb . test ( c ) ) return new Date ( c ) ;
if ( d . lastIndex = 0 , m = d . exec ( c ) ) return m . shift ( ) , g = e ? { yyyy : e . getFullYear ( ) , MM : e . getMonth ( ) + 1 , dd : e . getDate ( ) , HH : e . getHours ( ) , mm : e . getMinutes ( ) , ss : e . getSeconds ( ) , sss : e . getMilliseconds ( ) / 1E3 } : { yyyy : 1970 , MM : 1 , dd : 1 , HH : 0 , mm : 0 , ss : 0 , sss : 0 } , a ( m , function ( d , a ) { a < b . length && ( g [ b [ a ] ] = + d ) } ) , new Date ( g . yyyy , g . MM - 1 , g . dd , g . HH , g . mm , g . ss || 0 , 1E3 * g . sss || 0 ) } return NaN } } function cc ( d , a , b , c ) { return function ( e , m , g , f , l , k , v ) { function n ( d ) { return d && ! ( d . getTime && d . getTime ( ) !== d . getTime ( ) ) } function t ( d ) { return D ( d ) && ! M ( d ) ? b ( d ) ||
h : d } lc ( e , m , g , f ) ; Vc ( e , m , g , f , l , k ) ; var r , q = f && f . $options && f . $options . timezone ; if ( f . $$parserName = d , f . $parsers . push ( function ( d ) { return f . $isEmpty ( d ) ? null : a . test ( d ) ? ( d = b ( d , r ) , q && ( d = da ( d , q ) ) , d ) : h } ) , f . $formatters . push ( function ( d ) { if ( d && ! M ( d ) ) throw Xc ( "datefmt" , d ) ; return n ( d ) ? ( ( r = d ) && q && ( r = da ( r , q , ! 0 ) ) , v ( "date" ) ( d , c , q ) ) : ( r = null , "" ) } ) , D ( g . min ) || g . ngMin ) { var p ; f . $validators . min = function ( d ) { return ! n ( d ) || A ( p ) || b ( d ) >= p } ; g . $observe ( "min" , function ( d ) { p = t ( d ) ; f . $validate ( ) } ) } if ( D ( g . max ) || g . ngMax ) { var G ; f . $validators . max =
function ( d ) { return ! n ( d ) || A ( G ) || b ( d ) <= G } ; g . $observe ( "max" , function ( d ) { G = t ( d ) ; f . $validate ( ) } ) } } } function lc ( d , a , b , c ) { ( c . $$hasNativeValidators = p ( a [ 0 ] . validity ) ) && c . $parsers . push ( function ( d ) { var b = a . prop ( "validity" ) || { } ; return b . badInput && ! b . typeMismatch ? h : d } ) } function ne ( d , a , b , c , e ) { if ( D ( c ) ) { if ( d = d ( c ) , ! d . constant ) throw Xc ( "constexpr" , b , c ) ; return d ( a ) } return e } function dc ( d , b ) { return d = "ngClass" + d , [ "$animate" , function ( c ) { function e ( d , a ) { var b = [ ] , c = 0 ; a : for ( ; c < d . length ; c ++ ) { for ( var e = d [ c ] , m = 0 ; m < a . length ; m ++ ) if ( e ==
a [ m ] ) continue a ; b . push ( e ) } return b } function m ( d ) { var b = [ ] ; return oa ( d ) ? ( a ( d , function ( d ) { b = b . concat ( m ( d ) ) } ) , b ) : u ( d ) ? d . split ( " " ) : p ( d ) ? ( a ( d , function ( d , a ) { d && ( b = b . concat ( a . split ( " " ) ) ) } ) , b ) : d } return { restrict : "AC" , link : function ( g , f , l ) { function k ( d ) { d = h ( d , 1 ) ; l . $addClass ( d ) } function h ( d , b ) { var c = f . data ( "$classCounts" ) || Ma ( ) , e = [ ] ; return a ( d , function ( d ) { ( 0 < b || c [ d ] ) && ( c [ d ] = ( c [ d ] || 0 ) + b , c [ d ] === + ( 0 < b ) && e . push ( d ) ) } ) , f . data ( "$classCounts" , c ) , e . join ( " " ) } function v ( d , a ) { var b = e ( a , d ) , m = e ( d , a ) , b = h ( b , 1 ) , m = h ( m , - 1 ) ;
b && b . length && c . addClass ( f , b ) ; m && m . length && c . removeClass ( f , m ) } function n ( d ) { if ( ! 0 === b || g . $index % 2 === b ) { var a = m ( d || [ ] ) ; if ( t ) { if ( ! V ( d , t ) ) { var c = m ( t ) ; v ( c , a ) } } else k ( a ) } t = oa ( d ) ? d . map ( function ( d ) { return ka ( d ) } ) : ka ( d ) } var t ; g . $watch ( l [ d ] , n , ! 0 ) ; l . $observe ( "class" , function ( a ) { n ( g . $eval ( l [ d ] ) ) } ) ; "ngClass" !== d && g . $watch ( "$index" , function ( a , c ) { var e = 1 & a ; if ( e !== ( 1 & c ) ) { var f = m ( g . $eval ( l [ d ] ) ) ; e === b ? k ( f ) : ( e = h ( f , - 1 ) , l . $removeClass ( e ) ) } } ) } } } ] } function Df ( d ) { function a ( d , a ) { a && ! g [ d ] ? ( k . addClass ( e , d ) , g [ d ] = ! 0 ) : ! a && g [ d ] &&
( k . removeClass ( e , d ) , g [ d ] = ! 1 ) } function b ( d , b ) { d = d ? "-" + ia ( d , "-" ) : "" ; a ( Yc + d , ! 0 === b ) ; a ( Ef + d , ! 1 === b ) } var c = d . ctrl , e = d . $element , g = { } , f = d . set , l = d . unset , k = d . $animate ; g [ Ef ] = ! ( g [ Yc ] = e . hasClass ( Yc ) ) ; c . $setValidity = function ( d , e , m ) { A ( e ) ? ( c . $pending || ( c . $pending = { } ) , f ( c . $pending , d , m ) ) : ( c . $pending && l ( c . $pending , d , m ) , Ff ( c . $pending ) && ( c . $pending = h ) ) ; X ( e ) ? e ? ( l ( c . $error , d , m ) , f ( c . $$success , d , m ) ) : ( f ( c . $error , d , m ) , l ( c . $$success , d , m ) ) : ( l ( c . $error , d , m ) , l ( c . $$success , d , m ) ) ; c . $pending ? ( a ( zd , ! 0 ) , c . $valid = c . $invalid = h , b ( "" ,
null ) ) : ( a ( zd , ! 1 ) , c . $valid = Ff ( c . $error ) , c . $invalid = ! c . $valid , b ( "" , c . $valid ) ) ; e = c . $pending && c . $pending [ d ] ? h : ! c . $error [ d ] && ( ! ! c . $$success [ d ] || null ) ; b ( d , e ) ; c . $$parentForm . $setValidity ( d , e , c ) } } function Ff ( d ) { if ( d ) for ( var a in d ) if ( d . hasOwnProperty ( a ) ) return ! 1 ; return ! 0 } var jc , ga , Fa , Jb , ua = /^\/(.+)\/([a-z]*)$/ , va = function ( d ) { return u ( d ) ? d . toLowerCase ( ) : d } , vb = Object . prototype . hasOwnProperty , ob = function ( d ) { return u ( d ) ? d . toUpperCase ( ) : d } , Cb = [ ] . slice , ff = [ ] . splice , Gf = [ ] . push , wb = Object . prototype . toString , vc = Object . getPrototypeOf ,
Ya = k ( "ng" ) , Na = b . angular || ( b . angular = { } ) , wc = 0 ; jc = f . documentMode ; r . $inject = [ ] ; z . $inject = [ ] ; var ad , oa = Array . isArray , xe = /^\[object (?:Uint8|Uint8Clamped|Uint16|Uint32|Int8|Int16|Int32|Float32|Float64)Array\]$/ , Ga = function ( d ) { return u ( d ) ? d . trim ( ) : d } , sc = function ( d ) { return d . replace ( /([-()\[\]{}+?*.$\^|,:#<!\\])/g , "\\$1" ) . replace ( /\x08/g , "\\x08" ) } , Ub = function ( ) { if ( ! D ( Ub . rules ) ) { var d = f . querySelector ( "[ng-csp]" ) || f . querySelector ( "[data-ng-csp]" ) ; if ( d ) { var a = d . getAttribute ( "ng-csp" ) || d . getAttribute ( "data-ng-csp" ) ;
Ub . rules = { noUnsafeEval : ! a || - 1 !== a . indexOf ( "no-unsafe-eval" ) , noInlineStyle : ! a || - 1 !== a . indexOf ( "no-inline-style" ) } } else { d = Ub ; try { new Function ( "" ) , a = ! 1 } catch ( aa ) { a = ! 0 } d . rules = { noUnsafeEval : a , noInlineStyle : ! 1 } } } return Ub . rules } , xc = function ( ) { if ( D ( xc . name _ ) ) return xc . name _ ; var d , a , b , c , e = ec . length ; for ( a = 0 ; a < e ; ++ a ) if ( b = ec [ a ] , d = f . querySelector ( "[" + b . replace ( ":" , "\\:" ) + "jq]" ) ) { c = d . getAttribute ( b + "jq" ) ; break } return xc . name _ = c } , Bd = /:/g , ec = [ "ng-" , "data-ng-" , "ng:" , "x-ng-" ] , ye = /[A-Z]/g , Cd = ! 1 , Qb = 3 , Ae = { full : "1.4.14" ,
major : 1 , minor : 4 , dot : 14 , codeName : "material-distinction" } ; Oa . expando = "ng339" ; var gc = Oa . cache = { } , Nd = 1 ; Oa . _data = function ( d ) { return this . cache [ d [ this . expando ] ] || { } } ; var Md = /([\:\-\_]+(.))/g , jd = /^moz([A-Z])/ , Hc = { mouseleave : "mouseout" , mouseenter : "mouseover" } , kd = k ( "jqLite" ) , bf = /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/ , Gc = /<|&#?\w+;/ , Ba = /<([\w:-]+)/ , $e = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi , Va = { 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 , "" , "" ] } ; Va . optgroup = Va . option ; Va . tbody = Va . tfoot = Va . colgroup = Va . caption = Va . thead ; Va . th = Va . td ; var ef = Node . prototype . contains || function ( d ) { return ! ! ( 16 & this . compareDocumentPosition ( d ) ) } , Rb = Oa . prototype = { ready : function ( d ) { function a ( ) { c || ( c = ! 0 , d ( ) ) } var c = ! 1 ; "complete" === f . readyState ? setTimeout ( a ) : ( this . on ( "DOMContentLoaded" , a ) , Oa ( b ) . on ( "load" , a ) ) } , toString : function ( ) { var d =
[ ] ; return a ( this , function ( a ) { d . push ( "" + a ) } ) , "[" + d . join ( ", " ) + "]" } , eq : function ( d ) { return ga ( 0 <= d ? this [ d ] : this [ this . length + d ] ) } , length : 0 , push : Gf , sort : [ ] . sort , splice : [ ] . splice } , Fb = { } ; a ( "multiple selected checked disabled readOnly required open" . split ( " " ) , function ( d ) { Fb [ va ( d ) ] = d } ) ; var Ha = { } ; a ( "input select option textarea button form details" . split ( " " ) , function ( d ) { Ha [ d ] = ! 0 } ) ; var Ud = { ngMinlength : "minlength" , ngMaxlength : "maxlength" , ngMin : "min" , ngMax : "max" , ngPattern : "pattern" } ; a ( { data : Od , removeData : fa ,
hasData : function ( d ) { for ( var a in gc [ d . ng339 ] ) return ! 0 ; return ! 1 } } , function ( d , a ) { Oa [ a ] = d } ) ; a ( { data : Od , inheritedData : Mb , scope : function ( d ) { return ga . data ( d , "$scope" ) || Mb ( d . parentNode || d , [ "$isolateScope" , "$scope" ] ) } , isolateScope : function ( d ) { return ga . data ( d , "$isolateScope" ) || ga . data ( d , "$isolateScopeNoTemplate" ) } , controller : Ic , injector : function ( d ) { return Mb ( d , "$injector" ) } , removeAttr : function ( d , a ) { d . removeAttribute ( a ) } , hasClass : Pa , css : function ( d , a , b ) { return a = pc ( a ) , D ( b ) ? void ( d . style [ a ] = b ) : d . style [ a ] } , attr : function ( d ,
a , b ) { var c = d . nodeType ; if ( c !== Qb && 2 !== c && 8 !== c ) if ( c = va ( a ) , Fb [ c ] ) { if ( ! D ( b ) ) return d [ a ] || ( d . attributes . getNamedItem ( a ) || r ) . specified ? c : h ; b ? ( d [ a ] = ! 0 , d . setAttribute ( a , c ) ) : ( d [ a ] = ! 1 , d . removeAttribute ( c ) ) } else if ( D ( b ) ) d . setAttribute ( a , b ) ; else if ( d . getAttribute ) return d = d . getAttribute ( a , 2 ) , null === d ? h : d } , prop : function ( d , a , b ) { return D ( b ) ? void ( d [ a ] = b ) : d [ a ] } , text : function ( ) { function d ( d , a ) { if ( A ( a ) ) { var b = d . nodeType ; return 1 === b || b === Qb ? d . textContent : "" } d . textContent = a } return d . $dv = "" , d } ( ) , val : function ( d , b ) { if ( A ( b ) ) { if ( d . multiple &&
"select" === T ( d ) ) { var c = [ ] ; return a ( d . options , function ( d ) { d . selected && c . push ( d . value || d . text ) } ) , 0 === c . length ? null : c } return d . value } d . value = b } , html : function ( d , a ) { return A ( a ) ? d . innerHTML : ( md ( d , ! 0 ) , void ( d . innerHTML = a ) ) } , empty : qc } , function ( d , a ) { Oa . prototype [ a ] = function ( a , b ) { var c , e , m = this . length ; if ( d !== qc && A ( 2 == d . length && d !== Pa && d !== Ic ? a : b ) ) { if ( p ( a ) ) { for ( c = 0 ; c < m ; c ++ ) if ( d === Od ) d ( this [ c ] , a ) ; else for ( e in a ) d ( this [ c ] , e , a [ e ] ) ; return this } c = d . $dv ; m = A ( c ) ? Math . min ( m , 1 ) : m ; for ( e = 0 ; e < m ; e ++ ) { var g = d ( this [ e ] , a , b ) ;
c = c ? c + g : g } return c } for ( c = 0 ; c < m ; c ++ ) d ( this [ c ] , a , b ) ; return this } } ) ; a ( { removeData : fa , on : function ( d , a , b , c ) { if ( D ( c ) ) throw kd ( "onargs" ) ; if ( Ye ( d ) ) { c = ta ( d , ! 0 ) ; var e = c . events , m = c . handle ; m || ( m = c . handle = ig ( d , e ) ) ; c = 0 <= a . indexOf ( " " ) ? a . split ( " " ) : [ a ] ; for ( var g = c . length , f = function ( a , c , g ) { var f = e [ a ] ; f || ( f = e [ a ] = [ ] , f . specialHandlerWrapper = c , "$destroy" === a || g || d . addEventListener ( a , m , ! 1 ) ) ; f . push ( b ) } ; g -- ; ) a = c [ g ] , Hc [ a ] ? ( f ( Hc [ a ] , Ka ) , f ( a , h , ! 0 ) ) : f ( a ) } } , off : cf , one : function ( d , a , b ) { d = ga ( d ) ; d . on ( a , function Z ( ) { d . off ( a , b ) ; d . off ( a ,
Z ) } ) ; d . on ( a , b ) } , replaceWith : function ( d , b ) { var c , e = d . parentNode ; md ( d ) ; a ( new Oa ( b ) , function ( a ) { c ? e . insertBefore ( a , c . nextSibling ) : e . replaceChild ( a , d ) ; c = a } ) } , children : function ( d ) { var b = [ ] ; return a ( d . childNodes , function ( d ) { 1 === d . nodeType && b . push ( d ) } ) , b } , contents : function ( d ) { return d . contentDocument || d . childNodes || [ ] } , append : function ( d , a ) { var b = d . nodeType ; if ( 1 === b || 11 === b ) { a = new Oa ( a ) ; for ( var b = 0 , c = a . length ; b < c ; b ++ ) d . appendChild ( a [ b ] ) } } , prepend : function ( d , b ) { if ( 1 === d . nodeType ) { var c = d . firstChild ; a ( new Oa ( b ) ,
function ( a ) { d . insertBefore ( a , c ) } ) } } , wrap : function ( d , a ) { af ( d , ga ( a ) . eq ( 0 ) . clone ( ) [ 0 ] ) } , remove : Jc , detach : function ( d ) { Jc ( d , ! 0 ) } , after : function ( d , a ) { var b = d , c = d . parentNode ; a = new Oa ( a ) ; for ( var e = 0 , g = a . length ; e < g ; e ++ ) { var m = a [ e ] ; c . insertBefore ( m , b . nextSibling ) ; b = m } } , addClass : hc , removeClass : Xa , toggleClass : function ( d , b , c ) { b && a ( b . split ( " " ) , function ( a ) { var b = c ; A ( b ) && ( b = ! Pa ( d , a ) ) ; ( b ? hc : Xa ) ( d , a ) } ) } , parent : function ( d ) { return ( d = d . parentNode ) && 11 !== d . nodeType ? d : null } , next : function ( d ) { return d . nextElementSibling } ,
find : function ( d , a ) { return d . getElementsByTagName ? d . getElementsByTagName ( a ) : [ ] } , clone : ld , triggerHandler : function ( d , b , c ) { var e , g , m = b . type || b , f = ta ( d ) ; ( f = ( f = f && f . events ) && f [ m ] ) && ( e = { preventDefault : function ( ) { this . defaultPrevented = ! 0 } , isDefaultPrevented : function ( ) { return ! 0 === this . defaultPrevented } , stopImmediatePropagation : function ( ) { this . immediatePropagationStopped = ! 0 } , isImmediatePropagationStopped : function ( ) { return ! 0 === this . immediatePropagationStopped } , stopPropagation : r , type : m , target : d } , b . type && ( e = n ( e ,
b ) ) , b = ka ( f ) , g = c ? [ e ] . concat ( c ) : [ e ] , a ( b , function ( a ) { e . isImmediatePropagationStopped ( ) || a . apply ( d , g ) } ) ) } } , function ( d , a ) { Oa . prototype [ a ] = function ( a , b , c ) { for ( var e , g = 0 , m = this . length ; g < m ; g ++ ) A ( e ) ? ( e = d ( this [ g ] , a , b , c ) , D ( e ) && ( e = ga ( e ) ) ) : sa ( e , d ( this [ g ] , a , b , c ) ) ; return D ( e ) ? e : this } ; Oa . prototype . bind = Oa . prototype . on ; Oa . prototype . unbind = Oa . prototype . off } ) ; Nb . prototype = { put : function ( d , a ) { this [ rb ( d , this . nextUid ) ] = a } , get : function ( d ) { return this [ rb ( d , this . nextUid ) ] } , remove : function ( d ) { var a = this [ d = rb ( d , this . nextUid ) ] ;
return delete this [ d ] , a } } ; var Xe = [ function ( ) { this . $get = [ function ( ) { return Nb } ] } ] , Kc = /^[^\(]*\(\s*([^\)]*)\)/m , Hf = /,/ , oe = /^\s*(_?)(\S+?)\1\s*$/ , ic = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm , Xb = k ( "$injector" ) ; ib . $$annotate = function ( d , b , c ) { var e ; if ( "function" == typeof d ) { if ( ! ( e = d . $inject ) ) { if ( e = [ ] , d . length ) { if ( b ) throw u ( c ) && c || ( c = d . name || Pd ( d ) ) , Xb ( "strictdi" , c ) ; b = d . toString ( ) . replace ( ic , "" ) ; b = b . match ( Kc ) ; a ( b [ 1 ] . split ( Hf ) , function ( d ) { d . replace ( oe , function ( d , a , b ) { e . push ( b ) } ) } ) } d . $inject = e } } else oa ( d ) ? ( b = d . length -
1 , nb ( d [ b ] , "fn" ) , e = d . slice ( 0 , b ) ) : nb ( d , "fn" , ! 0 ) ; return e } ; var pe = k ( "$animate" ) , Me = function ( ) { this . $get = function ( ) { } } , Hd = function ( ) { var d = new Nb , b = [ ] ; this . $get = [ "$$AnimateRunner" , "$rootScope" , function ( c , e ) { function g ( d , b , c ) { var e = ! 1 ; return b && ( b = u ( b ) ? b . split ( " " ) : oa ( b ) ? b : [ ] , a ( b , function ( a ) { a && ( e = ! 0 , d [ a ] = c ) } ) ) , e } function m ( ) { a ( b , function ( b ) { var c = d . get ( b ) ; if ( c ) { var e = zb ( b . attr ( "class" ) ) , g = "" , m = "" ; a ( c , function ( d , a ) { d !== ! ! e [ a ] && ( d ? g += ( g . length ? " " : "" ) + a : m += ( m . length ? " " : "" ) + a ) } ) ; a ( b , function ( d ) { g && hc ( d ,
g ) ; m && Xa ( d , m ) } ) ; d . remove ( b ) } } ) ; b . length = 0 } return { enabled : r , on : r , off : r , pin : r , push : function ( a , f , l , k ) { return k && k ( ) , l = l || { } , l . from && a . css ( l . from ) , l . to && a . css ( l . to ) , ( l . addClass || l . removeClass ) && ( f = l . addClass , k = l . removeClass , l = d . get ( a ) || { } , f = g ( l , f , ! 0 ) , k = g ( l , k , ! 1 ) , ( f || k ) && ( d . put ( a , l ) , b . push ( a ) , 1 === b . length && e . $$postDigest ( m ) ) ) , a = new c , a . complete ( ) , a } } } ] } , Vb = [ "$provide" , function ( d ) { var a = this ; this . $$registeredAnimations = Object . create ( null ) ; this . register = function ( b , c ) { if ( b && "." !== b . charAt ( 0 ) ) throw pe ( "notcsel" ,
b ) ; var e = b + "-animation" ; a . $$registeredAnimations [ b . substr ( 1 ) ] = e ; d . factory ( e , c ) } ; this . classNameFilter = function ( d ) { if ( 1 === arguments . length && ( this . $$classNameFilter = d instanceof RegExp ? d : null ) && /(\s+|\/)ng-animate(\s+|\/)/ . test ( this . $$classNameFilter . toString ( ) ) ) throw pe ( "nongcls" , "ng-animate" ) ; return this . $$classNameFilter } ; this . $get = [ "$$animateQueue" , function ( d ) { function a ( d , a , b ) { if ( b ) { var c ; a : { for ( c = 0 ; c < b . length ; c ++ ) { var e = b [ c ] ; if ( 1 === e . nodeType ) { c = e ; break a } } c = void 0 } ! c || c . parentNode || c . previousElementSibling ||
( b = null ) } b ? b . after ( d ) : a . prepend ( d ) } return { on : d . on , off : d . off , pin : d . pin , enabled : d . enabled , cancel : function ( d ) { d . end && d . end ( ) } , enter : function ( b , c , e , g ) { return c = c && ga ( c ) , e = e && ga ( e ) , c = c || e . parent ( ) , a ( b , c , e ) , d . push ( b , "enter" , bb ( g ) ) } , move : function ( b , c , e , g ) { return c = c && ga ( c ) , e = e && ga ( e ) , c = c || e . parent ( ) , a ( b , c , e ) , d . push ( b , "move" , bb ( g ) ) } , leave : function ( a , b ) { return d . push ( a , "leave" , bb ( b ) , function ( ) { a . remove ( ) } ) } , addClass : function ( a , b , c ) { return c = bb ( c ) , c . addClass = Gb ( c . addclass , b ) , d . push ( a , "addClass" , c ) } , removeClass : function ( a ,
b , c ) { return c = bb ( c ) , c . removeClass = Gb ( c . removeClass , b ) , d . push ( a , "removeClass" , c ) } , setClass : function ( a , b , c , e ) { return e = bb ( e ) , e . addClass = Gb ( e . addClass , b ) , e . removeClass = Gb ( e . removeClass , c ) , d . push ( a , "setClass" , e ) } , animate : function ( a , b , c , e , g ) { return g = bb ( g ) , g . from = g . from ? n ( g . from , b ) : b , g . to = g . to ? n ( g . to , c ) : c , g . tempClasses = Gb ( g . tempClasses , e || "ng-inline-animate" ) , d . push ( a , "animate" , g ) } } } ] } ] , Ne = function ( ) { this . $get = [ "$$rAF" , function ( d ) { function a ( a ) { b . push ( a ) ; 1 < b . length || d ( function ( ) { for ( var d = 0 ; d < b . length ; d ++ ) b [ d ] ( ) ;
b = [ ] } ) } var b = [ ] ; return function ( ) { var d = ! 1 ; return a ( function ( ) { d = ! 0 } ) , function ( b ) { d ? b ( ) : a ( b ) } } } ] } , gd = function ( ) { this . $get = [ "$q" , "$sniffer" , "$$animateAsyncRun" , "$document" , "$timeout" , function ( d , b , c , e , g ) { function m ( d ) { this . setHost ( d ) ; var a = c ( ) ; this . _doneCallbacks = [ ] ; this . _tick = function ( d ) { var b = e [ 0 ] ; b && b . hidden ? g ( d , 0 , ! 1 ) : a ( d ) } ; this . _state = 0 } return m . chain = function ( d , a ) { function b ( ) { c === d . length ? a ( ! 0 ) : d [ c ] ( function ( d ) { ! 1 === d ? a ( ! 1 ) : ( c ++ , b ( ) ) } ) } var c = 0 ; b ( ) } , m . all = function ( d , b ) { function c ( a ) { g = g && a ; ++ e ===
d . length && b ( g ) } var e = 0 , g = ! 0 ; a ( d , function ( d ) { d . done ( c ) } ) } , m . prototype = { setHost : function ( d ) { this . host = d || { } } , done : function ( d ) { 2 === this . _state ? d ( ) : this . _doneCallbacks . push ( d ) } , progress : r , getPromise : function ( ) { if ( ! this . promise ) { var a = this ; this . promise = d ( function ( d , b ) { a . done ( function ( a ) { ! 1 === a ? b ( ) : d ( ) } ) } ) } return this . promise } , then : function ( d , a ) { return this . getPromise ( ) . then ( d , a ) } , "catch" : function ( d ) { return this . getPromise ( ) [ "catch" ] ( d ) } , "finally" : function ( d ) { return this . getPromise ( ) [ "finally" ] ( d ) } , 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 ( d ) { var a = this ; 0 === a . _state && ( a . _state = 1 , a . _tick ( function ( ) { a . _resolve ( d ) } ) ) } , _resolve : function ( d ) { 2 !== this . _state && ( a ( this . _doneCallbacks , function ( a ) { a ( d ) } ) , this . _doneCallbacks . length = 0 , this . _state = 2 ) } } , m } ] } , Le = function ( ) { this . $get = [ "$$rAF" , "$q" , "$$AnimateRunner" , function ( d ,
a , b ) { return function ( a , c ) { function e ( ) { return d ( function ( ) { g . addClass && ( a . addClass ( g . addClass ) , g . addClass = null ) ; g . removeClass && ( a . removeClass ( g . removeClass ) , g . removeClass = null ) ; g . to && ( a . css ( g . to ) , g . to = null ) ; m || f . complete ( ) ; m = ! 0 } ) , f } var g = c || { } ; g . $$prepared || ( g = U ( g ) ) ; g . cleanupStyles && ( g . from = g . to = null ) ; g . from && ( a . css ( g . from ) , g . from = null ) ; var m , f = new b ; return { start : e , end : e } } } ] } , cb = k ( "$compile" ) ; Kb . $inject = [ "$provide" , "$$sanitizeUriProvider" ] ; var Sd = /^((?:x|data)[\:\-_])/i , gf = k ( "$controller" ) , Mc = /^(\S+)(\s+as\s+([\w$]+))?$/ ,
fc = function ( ) { this . $get = [ "$document" , function ( d ) { return function ( a ) { return a ? ! a . nodeType && a instanceof ga && ( a = a [ 0 ] ) : a = d [ 0 ] . body , a . offsetWidth + 1 } } ] } , Vd = "application/json" , Nc = { "Content-Type" : Vd + ";charset=utf-8" } , hf = /^\[|^\{(?!\{)/ , od = { "[" : /]$/ , "{" : /}$/ } , La = /^\)\]\}',?\n/ , If = k ( "$http" ) , jf = function ( d ) { return function ( ) { throw If ( "legacy" , d ) ; } } , Zb = Na . $interpolateMinErr = k ( "$interpolate" ) ; Zb . throwNoconcat = function ( d ) { throw Zb ( "noconcat" , d ) ; } ; Zb . interr = function ( d , a ) { return Zb ( "interr" , d , a . toString ( ) ) } ; var mc =
/^([^\?#]*)(\?([^#]*))?(#(.*))?$/ , lf = { http : 80 , https : 443 , ftp : 21 } , Hb = k ( "$location" ) , qe = { $$html5 : ! 1 , $$replace : ! 1 , absUrl : Pc ( "$$absUrl" ) , url : function ( d ) { if ( A ( d ) ) return this . $$url ; var a = mc . exec ( d ) ; return ( a [ 1 ] || "" === d ) && this . path ( decodeURIComponent ( a [ 1 ] ) ) , ( a [ 2 ] || a [ 1 ] || "" === d ) && this . search ( a [ 3 ] || "" ) , this . hash ( a [ 5 ] || "" ) , this } , protocol : Pc ( "$$protocol" ) , host : Pc ( "$$host" ) , port : Pc ( "$$port" ) , path : gb ( "$$path" , function ( d ) { return d = null !== d ? d . toString ( ) : "" , "/" == d . charAt ( 0 ) ? d : "/" + d } ) , search : function ( d , b ) { switch ( arguments . length ) { case 0 : return this . $$search ;
case 1 : if ( u ( d ) || J ( d ) ) d = d . toString ( ) , this . $$search = Ea ( d ) ; else { if ( ! p ( d ) ) throw Hb ( "isrcharg" ) ; d = U ( d , { } ) ; a ( d , function ( a , b ) { null == a && delete d [ b ] } ) ; this . $$search = d } break ; default : A ( b ) || null === b ? delete this . $$search [ d ] : this . $$search [ d ] = b } return this . $$compose ( ) , this } , hash : gb ( "$$hash" , function ( d ) { return null !== d ? d . toString ( ) : "" } ) , replace : function ( ) { return this . $$replace = ! 0 , this } } ; a ( [ $d , Zd , Yd ] , function ( d ) { d . prototype = Object . create ( qe ) ; d . prototype . state = function ( a ) { if ( ! arguments . length ) return this . $$state ; if ( d !==
Yd || ! this . $$html5 ) throw Hb ( "nostate" ) ; return this . $$state = A ( a ) ? null : a , this } } ) ; var eb = k ( "$parse" ) , ub = Function . prototype . call , mf = Function . prototype . apply , ae = Function . prototype . bind , Ad = Ma ( ) ; a ( "+ - * / % === !== == != < > <= >= && || ! = |" . split ( " " ) , function ( d ) { Ad [ d ] = ! 0 } ) ; var Jf = { n : "\n" , f : "\f" , r : "\r" , t : "\t" , v : "\x0B" , "'" : "'" , '"' : '"' } , Ra = function ( d ) { this . options = d } ; Ra . prototype = { constructor : Ra , lex : function ( d ) { this . text = d ; this . index = 0 ; for ( this . tokens = [ ] ; this . index < this . text . length ; ) if ( d = this . text . charAt ( this . index ) ,
'"' === d || "'" === d ) this . readString ( d ) ; else if ( this . isNumber ( d ) || "." === d && this . isNumber ( this . peek ( ) ) ) this . readNumber ( ) ; else if ( this . isIdent ( d ) ) this . readIdent ( ) ; else if ( this . is ( d , "(){}[].,;:?" ) ) this . tokens . push ( { index : this . index , text : d } ) , this . index ++ ; else if ( this . isWhitespace ( d ) ) this . index ++ ; else { var a = d + this . peek ( ) , b = a + this . peek ( 2 ) , c = Ad [ a ] , e = Ad [ b ] ; Ad [ d ] || c || e ? ( d = e ? b : c ? a : d , this . tokens . push ( { index : this . index , text : d , operator : ! 0 } ) , this . index += d . length ) : this . throwError ( "Unexpected next character " , this . index ,
this . index + 1 ) } return this . tokens } , is : function ( d , a ) { return - 1 !== a . indexOf ( d ) } , peek : function ( d ) { return d = d || 1 , this . index + d < this . text . length && this . text . charAt ( this . index + d ) } , isNumber : function ( d ) { return "0" <= d && "9" >= d && "string" == typeof d } , isWhitespace : function ( d ) { return " " === d || "\r" === d || "\t" === d || "\n" === d || "\x0B" === d || "\u00a0" === d } , isIdent : function ( d ) { return "a" <= d && "z" >= d || "A" <= d && "Z" >= d || "_" === d || "$" === d } , isExpOperator : function ( d ) { return "-" === d || "+" === d || this . isNumber ( d ) } , throwError : function ( d , a , b ) { throw b =
b || this . index , a = D ( a ) ? "s " + a + "-" + this . index + " [" + this . text . substring ( a , b ) + "]" : " " + b , eb ( "lexerr" , d , a , this . text ) ; } , readNumber : function ( ) { for ( var d = "" , a = this . index ; this . index < this . text . length ; ) { var b = va ( this . text . charAt ( this . index ) ) ; if ( "." == b || this . isNumber ( b ) ) d += b ; else { var c = this . peek ( ) ; if ( "e" == b && this . isExpOperator ( c ) ) d += b ; else if ( this . isExpOperator ( b ) && c && this . isNumber ( c ) && "e" == d . charAt ( d . length - 1 ) ) d += b ; else { if ( ! this . isExpOperator ( b ) || c && this . isNumber ( c ) || "e" != d . charAt ( d . length - 1 ) ) break ; this . throwError ( "Invalid exponent" ) } } this . index ++ } this . tokens . push ( { index : a ,
text : d , constant : ! 0 , value : Number ( d ) } ) } , readIdent : function ( ) { for ( var d = this . index ; this . index < this . text . length ; ) { var a = this . text . charAt ( this . index ) ; if ( ! this . isIdent ( a ) && ! this . isNumber ( a ) ) break ; this . index ++ } this . tokens . push ( { index : d , text : this . text . slice ( d , this . index ) , identifier : ! 0 } ) } , readString : function ( d ) { var a = this . index ; this . index ++ ; for ( var b = "" , c = d , e = ! 1 ; this . index < this . text . length ; ) { var g = this . text . charAt ( this . index ) , c = c + g ; if ( e ) "u" === g ? ( e = this . text . substring ( this . index + 1 , this . index + 5 ) , e . match ( /[\da-f]{4}/i ) ||
this . throwError ( "Invalid unicode escape [\\u" + e + "]" ) , this . index += 4 , b += String . fromCharCode ( parseInt ( e , 16 ) ) ) : b += Jf [ g ] || g , e = ! 1 ; else if ( "\\" === g ) e = ! 0 ; else { if ( g === d ) return this . index ++ , void this . tokens . push ( { index : a , text : c , constant : ! 0 , value : b } ) ; b += g } this . index ++ } this . throwError ( "Unterminated quote" , a ) } } ; var O = function ( d , a ) { this . lexer = d ; this . options = a } ; O . Program = "Program" ; O . ExpressionStatement = "ExpressionStatement" ; O . AssignmentExpression = "AssignmentExpression" ; O . ConditionalExpression = "ConditionalExpression" ;
O . LogicalExpression = "LogicalExpression" ; O . BinaryExpression = "BinaryExpression" ; O . UnaryExpression = "UnaryExpression" ; O . CallExpression = "CallExpression" ; O . MemberExpression = "MemberExpression" ; O . Identifier = "Identifier" ; O . Literal = "Literal" ; O . ArrayExpression = "ArrayExpression" ; O . Property = "Property" ; O . ObjectExpression = "ObjectExpression" ; O . ThisExpression = "ThisExpression" ; O . NGValueParameter = "NGValueParameter" ; O . prototype = { ast : function ( d ) { return this . text = d , this . tokens = this . lexer . lex ( d ) , d = this . program ( ) , 0 !== this . tokens . length &&
this . throwError ( "is an unexpected token" , this . tokens [ 0 ] ) , d } , program : function ( ) { for ( var d = [ ] ; ; ) if ( 0 < this . tokens . length && ! this . peek ( "}" , ")" , ";" , "]" ) && d . push ( this . expressionStatement ( ) ) , ! this . expect ( ";" ) ) return { type : O . Program , body : d } } , expressionStatement : function ( ) { return { type : O . ExpressionStatement , expression : this . filterChain ( ) } } , filterChain : function ( ) { for ( var d = this . expression ( ) ; this . expect ( "|" ) ; ) d = this . filter ( d ) ; return d } , expression : function ( ) { return this . assignment ( ) } , assignment : function ( ) { var d =
this . ternary ( ) ; return this . expect ( "=" ) && ( d = { type : O . AssignmentExpression , left : d , right : this . assignment ( ) , operator : "=" } ) , d } , ternary : function ( ) { var d , a , b = this . logicalOR ( ) ; return this . expect ( "?" ) && ( d = this . expression ( ) , this . consume ( ":" ) ) ? ( a = this . expression ( ) , { type : O . ConditionalExpression , test : b , alternate : d , consequent : a } ) : b } , logicalOR : function ( ) { for ( var d = this . logicalAND ( ) ; this . expect ( "||" ) ; ) d = { type : O . LogicalExpression , operator : "||" , left : d , right : this . logicalAND ( ) } ; return d } , logicalAND : function ( ) { for ( var d =
this . equality ( ) ; this . expect ( "&&" ) ; ) d = { type : O . LogicalExpression , operator : "&&" , left : d , right : this . equality ( ) } ; return d } , equality : function ( ) { for ( var d , a = this . relational ( ) ; d = this . expect ( "==" , "!=" , "===" , "!==" ) ; ) a = { type : O . BinaryExpression , operator : d . text , left : a , right : this . relational ( ) } ; return a } , relational : function ( ) { for ( var d , a = this . additive ( ) ; d = this . expect ( "<" , ">" , "<=" , ">=" ) ; ) a = { type : O . BinaryExpression , operator : d . text , left : a , right : this . additive ( ) } ; return a } , additive : function ( ) { for ( var d , a = this . multiplicative ( ) ; d =
this . expect ( "+" , "-" ) ; ) a = { type : O . BinaryExpression , operator : d . text , left : a , right : this . multiplicative ( ) } ; return a } , multiplicative : function ( ) { for ( var d , a = this . unary ( ) ; d = this . expect ( "*" , "/" , "%" ) ; ) a = { type : O . BinaryExpression , operator : d . text , left : a , right : this . unary ( ) } ; return a } , unary : function ( ) { var d ; return ( d = this . expect ( "+" , "-" , "!" ) ) ? { type : O . UnaryExpression , operator : d . text , prefix : ! 0 , argument : this . unary ( ) } : this . primary ( ) } , primary : function ( ) { var d ; this . expect ( "(" ) ? ( d = this . filterChain ( ) , this . consume ( ")" ) ) : this . expect ( "[" ) ?
d = this . arrayDeclaration ( ) : this . expect ( "{" ) ? d = this . object ( ) : this . constants . hasOwnProperty ( this . peek ( ) . text ) ? d = U ( this . constants [ this . consume ( ) . text ] ) : this . peek ( ) . identifier ? d = this . identifier ( ) : this . peek ( ) . constant ? d = this . constant ( ) : this . throwError ( "not a primary expression" , this . peek ( ) ) ; for ( var a ; a = this . expect ( "(" , "[" , "." ) ; ) "(" === a . text ? ( d = { type : O . CallExpression , callee : d , arguments : this . parseArguments ( ) } , this . consume ( ")" ) ) : "[" === a . text ? ( d = { type : O . MemberExpression , object : d , property : this . expression ( ) ,
computed : ! 0 } , this . consume ( "]" ) ) : "." === a . text ? d = { type : O . MemberExpression , object : d , property : this . identifier ( ) , computed : ! 1 } : this . throwError ( "IMPOSSIBLE" ) ; return d } , filter : function ( d ) { d = [ d ] ; for ( var a = { type : O . CallExpression , callee : this . identifier ( ) , arguments : d , filter : ! 0 } ; this . expect ( ":" ) ; ) d . push ( this . expression ( ) ) ; return a } , parseArguments : function ( ) { var d = [ ] ; if ( ")" !== this . peekToken ( ) . text ) { do d . push ( this . expression ( ) ) ; while ( this . expect ( "," ) ) } return d } , identifier : function ( ) { var d = this . consume ( ) ; return d . identifier ||
this . throwError ( "is not a valid identifier" , d ) , { type : O . Identifier , name : d . text } } , constant : function ( ) { return { type : O . Literal , value : this . consume ( ) . value } } , arrayDeclaration : function ( ) { var d = [ ] ; if ( "]" !== this . peekToken ( ) . text ) { do { if ( this . peek ( "]" ) ) break ; d . push ( this . expression ( ) ) } while ( this . expect ( "," ) ) } return this . consume ( "]" ) , { type : O . ArrayExpression , elements : d } } , object : function ( ) { var d , a = [ ] ; if ( "}" !== this . peekToken ( ) . text ) { do { if ( this . peek ( "}" ) ) break ; d = { type : O . Property , kind : "init" } ; this . peek ( ) . constant ? d . key =
this . constant ( ) : this . peek ( ) . identifier ? d . key = this . identifier ( ) : this . throwError ( "invalid key" , this . peek ( ) ) ; this . consume ( ":" ) ; d . value = this . expression ( ) ; a . push ( d ) } while ( this . expect ( "," ) ) } return this . consume ( "}" ) , { type : O . ObjectExpression , properties : a } } , throwError : function ( d , a ) { throw eb ( "syntax" , a . text , d , a . index + 1 , this . text , this . text . substring ( a . index ) ) ; } , consume : function ( d ) { if ( 0 === this . tokens . length ) throw eb ( "ueoe" , this . text ) ; var a = this . expect ( d ) ; return a || this . throwError ( "is unexpected, expecting [" +
d + "]" , this . peek ( ) ) , a } , peekToken : function ( ) { if ( 0 === this . tokens . length ) throw eb ( "ueoe" , this . text ) ; return this . tokens [ 0 ] } , peek : function ( d , a , b , c ) { return this . peekAhead ( 0 , d , a , b , c ) } , peekAhead : function ( d , a , b , c , e ) { if ( this . tokens . length > d ) { d = this . tokens [ d ] ; var g = d . text ; if ( g === a || g === b || g === c || g === e || ! ( a || b || c || e ) ) return d } return ! 1 } , expect : function ( d , a , b , c ) { return ! ! ( d = this . peek ( d , a , b , c ) ) && ( this . tokens . shift ( ) , d ) } , constants : { "true" : { type : O . Literal , value : ! 0 } , "false" : { type : O . Literal , value : ! 1 } , "null" : { type : O . Literal ,
value : null } , undefined : { type : O . Literal , value : h } , "this" : { type : O . ThisExpression } } } ; sd . prototype = { compile : function ( d , b ) { var c = this , e = this . astBuilder . ast ( d ) ; this . state = { nextId : 0 , filters : { } , expensiveChecks : b , fn : { vars : [ ] , body : [ ] , own : { } } , assign : { vars : [ ] , body : [ ] , own : { } } , inputs : [ ] } ; Wa ( e , c . $filter ) ; var g , m = "" ; return this . stage = "assign" , ( g = nf ( e ) ) && ( this . state . computing = "assign" , m = this . nextId ( ) , this . recurse ( g , m ) , this . return _ ( m ) , m = "fn.assign=" + this . generateFunction ( "assign" , "s,v,l" ) ) , g = ce ( e . body ) , c . stage = "inputs" ,
a ( g , function ( d , a ) { var b = "fn" + a ; c . state [ b ] = { vars : [ ] , body : [ ] , own : { } } ; c . state . computing = b ; var e = c . nextId ( ) ; c . recurse ( d , e ) ; c . return _ ( e ) ; c . state . inputs . push ( b ) ; d . watchId = a } ) , this . state . computing = "fn" , this . stage = "main" , this . recurse ( e ) , m = '"' + this . USE + " " + this . STRICT + '";\n' + this . filterPrefix ( ) + "var fn=" + this . generateFunction ( "fn" , "s,l,a,i" ) + m + this . watchFns ( ) + "return fn;" , m = ( new Function ( "$filter" , "ensureSafeMemberName" , "ensureSafeObject" , "ensureSafeFunction" , "getStringValue" , "ensureSafeAssignContext" , "ifDefined" ,
"plus" , "text" , m ) ) ( this . $filter , $b , jb , Qc , qd , Rc , be , rc , d ) , this . state = this . stage = h , m . literal = de ( e ) , m . constant = e . constant , m } , USE : "use" , STRICT : "strict" , watchFns : function ( ) { var d = [ ] , b = this . state . inputs , c = this ; return a ( b , function ( a ) { d . push ( "var " + a + "=" + c . generateFunction ( a , "s" ) ) } ) , b . length && d . push ( "fn.inputs=[" + b . join ( "," ) + "];" ) , d . join ( "" ) } , generateFunction : function ( d , a ) { return "function(" + a + "){" + this . varsPrefix ( d ) + this . body ( d ) + "};" } , filterPrefix : function ( ) { var d = [ ] , b = this ; return a ( this . state . filters , function ( a ,
c ) { d . push ( a + "=$filter(" + b . escape ( c ) + ")" ) } ) , d . length ? "var " + d . join ( "," ) + ";" : "" } , varsPrefix : function ( d ) { return this . state [ d ] . vars . length ? "var " + this . state [ d ] . vars . join ( "," ) + ";" : "" } , body : function ( d ) { return this . state [ d ] . body . join ( "" ) } , recurse : function ( d , b , c , e , g , f ) { var m , l , k , v , n = this ; if ( e = e || r , ! f && D ( d . watchId ) ) b = b || this . nextId ( ) , this . if _ ( "i" , this . lazyAssign ( b , this . computedMember ( "i" , d . watchId ) ) , this . lazyRecurse ( d , b , c , e , g , ! 0 ) ) ; else switch ( d . type ) { case O . Program : a ( d . body , function ( a , b ) { n . recurse ( a . expression ,
h , h , function ( d ) { l = d } ) ; b !== d . body . length - 1 ? n . current ( ) . body . push ( l , ";" ) : n . return _ ( l ) } ) ; break ; case O . Literal : v = this . escape ( d . value ) ; this . assign ( b , v ) ; e ( v ) ; break ; case O . UnaryExpression : this . recurse ( d . argument , h , h , function ( d ) { l = d } ) ; v = d . operator + "(" + this . ifDefined ( l , 0 ) + ")" ; this . assign ( b , v ) ; e ( v ) ; break ; case O . BinaryExpression : this . recurse ( d . left , h , h , function ( d ) { m = d } ) ; this . recurse ( d . right , h , h , function ( d ) { l = d } ) ; v = "+" === d . operator ? this . plus ( m , l ) : "-" === d . operator ? this . ifDefined ( m , 0 ) + d . operator + this . ifDefined ( l ,
0 ) : "(" + m + ")" + d . operator + "(" + l + ")" ; this . assign ( b , v ) ; e ( v ) ; break ; case O . LogicalExpression : b = b || this . nextId ( ) ; n . recurse ( d . left , b ) ; n . if _ ( "&&" === d . operator ? b : n . not ( b ) , n . lazyRecurse ( d . right , b ) ) ; e ( b ) ; break ; case O . ConditionalExpression : b = b || this . nextId ( ) ; n . recurse ( d . test , b ) ; n . if _ ( b , n . lazyRecurse ( d . alternate , b ) , n . lazyRecurse ( d . consequent , b ) ) ; e ( b ) ; break ; case O . Identifier : b = b || this . nextId ( ) ; c && ( c . context = "inputs" === n . stage ? "s" : this . assign ( this . nextId ( ) , this . getHasOwnProperty ( "l" , d . name ) + "?l:s" ) , c . computed = ! 1 ,
c . name = d . name ) ; $b ( d . name ) ; n . if _ ( "inputs" === n . stage || n . not ( n . getHasOwnProperty ( "l" , d . name ) ) , function ( ) { n . if _ ( "inputs" === n . stage || "s" , function ( ) { g && 1 !== g && n . if _ ( n . not ( n . nonComputedMember ( "s" , d . name ) ) , n . lazyAssign ( n . nonComputedMember ( "s" , d . name ) , "{}" ) ) ; n . assign ( b , n . nonComputedMember ( "s" , d . name ) ) } ) } , b && n . lazyAssign ( b , n . nonComputedMember ( "l" , d . name ) ) ) ; ( n . state . expensiveChecks || "constructor" == d . name ) && n . addEnsureSafeObject ( b ) ; e ( b ) ; break ; case O . MemberExpression : m = c && ( c . context = this . nextId ( ) ) || this . nextId ( ) ;
b = b || this . nextId ( ) ; n . recurse ( d . object , m , h , function ( ) { n . if _ ( n . notNull ( m ) , function ( ) { g && 1 !== g && n . addEnsureSafeAssignContext ( m ) ; d . computed ? ( l = n . nextId ( ) , n . recurse ( d . property , l ) , n . getStringValue ( l ) , n . addEnsureSafeMemberName ( l ) , g && 1 !== g && n . if _ ( n . not ( n . computedMember ( m , l ) ) , n . lazyAssign ( n . computedMember ( m , l ) , "{}" ) ) , v = n . ensureSafeObject ( n . computedMember ( m , l ) ) , n . assign ( b , v ) , c && ( c . computed = ! 0 , c . name = l ) ) : ( $b ( d . property . name ) , g && 1 !== g && n . if _ ( n . not ( n . nonComputedMember ( m , d . property . name ) ) , n . lazyAssign ( n . nonComputedMember ( m ,
d . property . name ) , "{}" ) ) , v = n . nonComputedMember ( m , d . property . name ) , ( n . state . expensiveChecks || "constructor" == d . property . name ) && ( v = n . ensureSafeObject ( v ) ) , n . assign ( b , v ) , c && ( c . computed = ! 1 , c . name = d . property . name ) ) } , function ( ) { n . assign ( b , "undefined" ) } ) ; e ( b ) } , ! ! g ) ; break ; case O . CallExpression : b = b || this . nextId ( ) ; d . filter ? ( l = n . filter ( d . callee . name ) , k = [ ] , a ( d . arguments , function ( d ) { var a = n . nextId ( ) ; n . recurse ( d , a ) ; k . push ( a ) } ) , v = l + "(" + k . join ( "," ) + ")" , n . assign ( b , v ) , e ( b ) ) : ( l = n . nextId ( ) , m = { } , k = [ ] , n . recurse ( d . callee ,
l , m , function ( ) { n . if _ ( n . notNull ( l ) , function ( ) { n . addEnsureSafeFunction ( l ) ; a ( d . arguments , function ( d ) { n . recurse ( d , n . nextId ( ) , h , function ( d ) { k . push ( n . ensureSafeObject ( d ) ) } ) } ) ; m . name ? ( n . state . expensiveChecks || n . addEnsureSafeObject ( m . context ) , v = n . member ( m . context , m . name , m . computed ) + "(" + k . join ( "," ) + ")" ) : v = l + "(" + k . join ( "," ) + ")" ; v = n . ensureSafeObject ( v ) ; n . assign ( b , v ) } , function ( ) { n . assign ( b , "undefined" ) } ) ; e ( b ) } ) ) ; break ; case O . AssignmentExpression : if ( l = this . nextId ( ) , m = { } , ! rd ( d . left ) ) throw eb ( "lval" ) ; this . recurse ( d . left ,
h , m , function ( ) { n . if _ ( n . notNull ( m . context ) , function ( ) { n . recurse ( d . right , l ) ; n . addEnsureSafeObject ( n . member ( m . context , m . name , m . computed ) ) ; n . addEnsureSafeAssignContext ( m . context ) ; v = n . member ( m . context , m . name , m . computed ) + d . operator + l ; n . assign ( b , v ) ; e ( b || v ) } ) } , 1 ) ; break ; case O . ArrayExpression : k = [ ] ; a ( d . elements , function ( d ) { n . recurse ( d , n . nextId ( ) , h , function ( d ) { k . push ( d ) } ) } ) ; v = "[" + k . join ( "," ) + "]" ; this . assign ( b , v ) ; e ( v ) ; break ; case O . ObjectExpression : k = [ ] ; a ( d . properties , function ( d ) { n . recurse ( d . value , n . nextId ( ) ,
h , function ( a ) { k . push ( n . escape ( d . key . type === O . Identifier ? d . key . name : "" + d . key . value ) + ":" + a ) } ) } ) ; v = "{" + k . join ( "," ) + "}" ; this . assign ( b , v ) ; e ( v ) ; break ; case O . ThisExpression : this . assign ( b , "s" ) ; e ( "s" ) ; break ; case O . NGValueParameter : this . assign ( b , "v" ) , e ( "v" ) } } , getHasOwnProperty : function ( d , a ) { var b = d + "." + a , c = this . current ( ) . own ; return c . hasOwnProperty ( b ) || ( c [ b ] = this . nextId ( ! 1 , d + "&&(" + this . escape ( a ) + " in " + d + ")" ) ) , c [ b ] } , assign : function ( d , a ) { if ( d ) return this . current ( ) . body . push ( d , "=" , a , ";" ) , d } , filter : function ( d ) { return this . state . filters . hasOwnProperty ( d ) ||
( this . state . filters [ d ] = this . nextId ( ! 0 ) ) , this . state . filters [ d ] } , ifDefined : function ( d , a ) { return "ifDefined(" + d + "," + this . escape ( a ) + ")" } , plus : function ( d , a ) { return "plus(" + d + "," + a + ")" } , return _ : function ( d ) { this . current ( ) . body . push ( "return " , d , ";" ) } , if _ : function ( d , a , b ) { if ( ! 0 === d ) a ( ) ; else { var c = this . current ( ) . body ; c . push ( "if(" , d , "){" ) ; a ( ) ; c . push ( "}" ) ; b && ( c . push ( "else{" ) , b ( ) , c . push ( "}" ) ) } } , not : function ( d ) { return "!(" + d + ")" } , notNull : function ( d ) { return d + "!=null" } , nonComputedMember : function ( d , a ) { return d + "." + a } ,
computedMember : function ( d , a ) { return d + "[" + a + "]" } , member : function ( d , a , b ) { return b ? this . computedMember ( d , a ) : this . nonComputedMember ( d , a ) } , addEnsureSafeObject : function ( d ) { this . current ( ) . body . push ( this . ensureSafeObject ( d ) , ";" ) } , addEnsureSafeMemberName : function ( d ) { this . current ( ) . body . push ( this . ensureSafeMemberName ( d ) , ";" ) } , addEnsureSafeFunction : function ( d ) { this . current ( ) . body . push ( this . ensureSafeFunction ( d ) , ";" ) } , addEnsureSafeAssignContext : function ( d ) { this . current ( ) . body . push ( this . ensureSafeAssignContext ( d ) ,
";" ) } , ensureSafeObject : function ( d ) { return "ensureSafeObject(" + d + ",text)" } , ensureSafeMemberName : function ( d ) { return "ensureSafeMemberName(" + d + ",text)" } , ensureSafeFunction : function ( d ) { return "ensureSafeFunction(" + d + ",text)" } , getStringValue : function ( d ) { this . assign ( d , "getStringValue(" + d + ",text)" ) } , ensureSafeAssignContext : function ( d ) { return "ensureSafeAssignContext(" + d + ",text)" } , lazyRecurse : function ( d , a , b , c , e , g ) { var f = this ; return function ( ) { f . recurse ( d , a , b , c , e , g ) } } , lazyAssign : function ( d , a ) { var b = this ; return function ( ) { b . assign ( d ,
a ) } } , stringEscapeRegex : /[^ a-zA-Z0-9]/g , stringEscapeFn : function ( d ) { return "\\u" + ( "0000" + d . charCodeAt ( 0 ) . toString ( 16 ) ) . slice ( - 4 ) } , escape : function ( d ) { if ( u ( d ) ) return "'" + d . replace ( this . stringEscapeRegex , this . stringEscapeFn ) + "'" ; if ( J ( d ) ) return d . toString ( ) ; if ( ! 0 === d ) return "true" ; if ( ! 1 === d ) return "false" ; if ( null === d ) return "null" ; if ( "undefined" == typeof d ) return "undefined" ; throw eb ( "esc" ) ; } , nextId : function ( d , a ) { var b = "v" + this . state . nextId ++ ; return d || this . current ( ) . vars . push ( b + ( a ? "=" + a : "" ) ) , b } , current : function ( ) { return this . state [ this . state . computing ] } } ;
of . prototype = { compile : function ( d , b ) { var c = this , e = this . astBuilder . ast ( d ) ; this . expression = d ; this . expensiveChecks = b ; Wa ( e , c . $filter ) ; var g , f ; ( g = nf ( e ) ) && ( f = this . recurse ( g ) ) ; g = ce ( e . body ) ; var l ; g && ( l = [ ] , a ( g , function ( d , a ) { var b = c . recurse ( d ) ; d . input = b ; l . push ( b ) ; d . watchId = a } ) ) ; var m = [ ] ; return a ( e . body , function ( d ) { m . push ( c . recurse ( d . expression ) ) } ) , g = 0 === e . body . length ? function ( ) { } : 1 === e . body . length ? m [ 0 ] : function ( d , b ) { var c ; return a ( m , function ( a ) { c = a ( d , b ) } ) , c } , f && ( g . assign = function ( d , a , b ) { return f ( d , b , a ) } ) , l &&
( g . inputs = l ) , g . literal = de ( e ) , g . constant = e . constant , g } , recurse : function ( d , b , c ) { var e , g , f , l = this ; if ( d . input ) return this . inputs ( d . input , d . watchId ) ; switch ( d . type ) { case O . Literal : return this . value ( d . value , b ) ; case O . UnaryExpression : return g = this . recurse ( d . argument ) , this [ "unary" + d . operator ] ( g , b ) ; case O . BinaryExpression : return e = this . recurse ( d . left ) , g = this . recurse ( d . right ) , this [ "binary" + d . operator ] ( e , g , b ) ; case O . LogicalExpression : return e = this . recurse ( d . left ) , g = this . recurse ( d . right ) , this [ "binary" + d . operator ] ( e ,
g , b ) ; case O . ConditionalExpression : return this [ "ternary?:" ] ( this . recurse ( d . test ) , this . recurse ( d . alternate ) , this . recurse ( d . consequent ) , b ) ; case O . Identifier : return $b ( d . name , l . expression ) , l . identifier ( d . name , l . expensiveChecks || "constructor" == d . name , b , c , l . expression ) ; case O . MemberExpression : return e = this . recurse ( d . object , ! 1 , ! ! c ) , d . computed || ( $b ( d . property . name , l . expression ) , g = d . property . name ) , d . computed && ( g = this . recurse ( d . property ) ) , d . computed ? this . computedMember ( e , g , b , c , l . expression ) : this . nonComputedMember ( e ,
g , l . expensiveChecks , b , c , l . expression ) ; case O . CallExpression : return f = [ ] , a ( d . arguments , function ( d ) { f . push ( l . recurse ( d ) ) } ) , d . filter && ( g = this . $filter ( d . callee . name ) ) , d . filter || ( g = this . recurse ( d . callee , ! 0 ) ) , d . filter ? function ( d , a , c , e ) { for ( var l = [ ] , m = 0 ; m < f . length ; ++ m ) l . push ( f [ m ] ( d , a , c , e ) ) ; return d = g . apply ( h , l , e ) , b ? { context : h , name : h , value : d } : d } : function ( d , a , c , e ) { var m , k = g ( d , a , c , e ) ; if ( null != k . value ) { jb ( k . context , l . expression ) ; Qc ( k . value , l . expression ) ; m = [ ] ; for ( var h = 0 ; h < f . length ; ++ h ) m . push ( jb ( f [ h ] ( d , a , c , e ) ,
l . expression ) ) ; m = jb ( k . value . apply ( k . context , m ) , l . expression ) } return b ? { value : m } : m } ; case O . AssignmentExpression : return e = this . recurse ( d . left , ! 0 , 1 ) , g = this . recurse ( d . right ) , function ( d , a , c , f ) { var m = e ( d , a , c , f ) ; return d = g ( d , a , c , f ) , jb ( m . value , l . expression ) , Rc ( m . context ) , m . context [ m . name ] = d , b ? { value : d } : d } ; case O . ArrayExpression : return f = [ ] , a ( d . elements , function ( d ) { f . push ( l . recurse ( d ) ) } ) , function ( d , a , c , e ) { for ( var g = [ ] , l = 0 ; l < f . length ; ++ l ) g . push ( f [ l ] ( d , a , c , e ) ) ; return b ? { value : g } : g } ; case O . ObjectExpression : return f =
[ ] , a ( d . properties , function ( d ) { f . push ( { key : d . key . type === O . Identifier ? d . key . name : "" + d . key . value , value : l . recurse ( d . value ) } ) } ) , function ( d , a , c , e ) { for ( var g = { } , l = 0 ; l < f . length ; ++ l ) g [ f [ l ] . key ] = f [ l ] . value ( d , a , c , e ) ; return b ? { value : g } : g } ; case O . ThisExpression : return function ( d ) { return b ? { value : d } : d } ; case O . NGValueParameter : return function ( d , a , c , e ) { return b ? { value : c } : c } } } , "unary+" : function ( d , a ) { return function ( b , c , e , g ) { return b = d ( b , c , e , g ) , b = D ( b ) ? + b : 0 , a ? { value : b } : b } } , "unary-" : function ( d , a ) { return function ( b , c ,
e , g ) { return b = d ( b , c , e , g ) , b = D ( b ) ? - b : 0 , a ? { value : b } : b } } , "unary!" : function ( d , a ) { return function ( b , c , e , g ) { return b = ! d ( b , c , e , g ) , a ? { value : b } : b } } , "binary+" : function ( d , a , b ) { return function ( c , e , g , f ) { var l = d ( c , e , g , f ) ; return c = a ( c , e , g , f ) , l = rc ( l , c ) , b ? { value : l } : l } } , "binary-" : function ( d , a , b ) { return function ( c , e , g , f ) { var l = d ( c , e , g , f ) ; return c = a ( c , e , g , f ) , l = ( D ( l ) ? l : 0 ) - ( D ( c ) ? c : 0 ) , b ? { value : l } : l } } , "binary*" : function ( d , a , b ) { return function ( c , e , g , f ) { return c = d ( c , e , g , f ) * a ( c , e , g , f ) , b ? { value : c } : c } } , "binary/" : function ( d , a ,
b ) { return function ( c , e , g , f ) { return c = d ( c , e , g , f ) / a ( c , e , g , f ) , b ? { value : c } : c } } , "binary%" : function ( d , a , b ) { return function ( c , e , g , f ) { return c = d ( c , e , g , f ) % a ( c , e , g , f ) , b ? { value : c } : c } } , "binary===" : function ( d , a , b ) { return function ( c , e , g , f ) { return c = d ( c , e , g , f ) === a ( c , e , g , f ) , b ? { value : c } : c } } , "binary!==" : function ( d , a , b ) { return function ( c , e , g , f ) { return c = d ( c , e , g , f ) !== a ( c , e , g , f ) , b ? { value : c } : c } } , "binary==" : function ( d , a , b ) { return function ( c , e , g , f ) { return c = d ( c , e , g , f ) == a ( c , e , g , f ) , b ? { value : c } : c } } , "binary!=" : function ( d , a ,
b ) { return function ( c , e , g , f ) { return c = d ( c , e , g , f ) != a ( c , e , g , f ) , b ? { value : c } : c } } , "binary<" : function ( d , a , b ) { return function ( c , e , g , f ) { return c = d ( c , e , g , f ) < a ( c , e , g , f ) , b ? { value : c } : c } } , "binary>" : function ( d , a , b ) { return function ( c , e , g , f ) { return c = d ( c , e , g , f ) > a ( c , e , g , f ) , b ? { value : c } : c } } , "binary<=" : function ( d , a , b ) { return function ( c , e , g , f ) { return c = d ( c , e , g , f ) <= a ( c , e , g , f ) , b ? { value : c } : c } } , "binary>=" : function ( d , a , b ) { return function ( c , e , g , f ) { return c = d ( c , e , g , f ) >= a ( c , e , g , f ) , b ? { value : c } : c } } , "binary&&" : function ( d , a , b ) { return function ( c ,
e , g , f ) { return c = d ( c , e , g , f ) && a ( c , e , g , f ) , b ? { value : c } : c } } , "binary||" : function ( d , a , b ) { return function ( c , e , g , f ) { return c = d ( c , e , g , f ) || a ( c , e , g , f ) , b ? { value : c } : c } } , "ternary?:" : function ( d , a , b , c ) { return function ( e , g , f , l ) { return e = d ( e , g , f , l ) ? a ( e , g , f , l ) : b ( e , g , f , l ) , c ? { value : e } : e } } , value : function ( d , a ) { return function ( ) { return a ? { context : h , name : h , value : d } : d } } , identifier : function ( d , a , b , c , e ) { return function ( g , f , l , m ) { return g = f && d in f ? f : g , c && 1 !== c && g && ! g [ d ] && ( g [ d ] = { } ) , f = g ? g [ d ] : h , a && jb ( f , e ) , b ? { context : g , name : d , value : f } :
f } } , computedMember : function ( d , a , b , c , e ) { return function ( g , f , l , m ) { var k , h , n = d ( g , f , l , m ) ; return null != n && ( k = a ( g , f , l , m ) , k = qd ( k ) , $b ( k , e ) , c && 1 !== c && ( Rc ( n ) , n && ! n [ k ] && ( n [ k ] = { } ) ) , h = n [ k ] , jb ( h , e ) ) , b ? { context : n , name : k , value : h } : h } } , nonComputedMember : function ( d , a , b , c , e , g ) { return function ( f , l , m , k ) { return f = d ( f , l , m , k ) , e && 1 !== e && ( Rc ( f ) , f && ! f [ a ] && ( f [ a ] = { } ) ) , l = null != f ? f [ a ] : h , ( b || "constructor" == a ) && jb ( l , g ) , c ? { context : f , name : a , value : l } : l } } , inputs : function ( d , a ) { return function ( b , c , e , g ) { return g ? g [ a ] : d ( b , c , e ) } } } ; var hb =
function ( d , a , b ) { this . lexer = d ; this . $filter = a ; this . options = b ; this . ast = new O ( this . lexer ) ; this . astCompiler = b . csp ? new of ( this . ast , a ) : new sd ( this . ast , a ) } ; hb . prototype = { constructor : hb , parse : function ( d ) { return this . astCompiler . compile ( d , this . options . expensiveChecks ) } } ; var Kg = Object . prototype . valueOf , ac = k ( "$sce" ) , Ab = { HTML : "html" , CSS : "css" , URL : "url" , RESOURCE _URL : "resourceUrl" , JS : "js" } , cb = k ( "$compile" ) , Ta = f . createElement ( "a" ) , rf = Ob ( b . location . href ) ; sf . $inject = [ "$document" ] ; Ec . $inject = [ "$provide" ] ; var yf = 22 ,
xf = "." , tc = "0" ; ee . $inject = [ "$locale" ] ; he . $inject = [ "$locale" ] ; var wd = { yyyy : ab ( "FullYear" , 4 ) , yy : ab ( "FullYear" , 2 , 0 , ! 0 ) , y : ab ( "FullYear" , 1 ) , MMMM : Tc ( "Month" ) , MMM : Tc ( "Month" , ! 0 ) , MM : ab ( "Month" , 2 , 1 ) , M : ab ( "Month" , 1 , 1 ) , dd : ab ( "Date" , 2 ) , d : ab ( "Date" , 1 ) , HH : ab ( "Hours" , 2 ) , H : ab ( "Hours" , 1 ) , hh : ab ( "Hours" , 2 , - 12 ) , h : ab ( "Hours" , 1 , - 12 ) , mm : ab ( "Minutes" , 2 ) , m : ab ( "Minutes" , 1 ) , ss : ab ( "Seconds" , 2 ) , s : ab ( "Seconds" , 1 ) , sss : ab ( "Milliseconds" , 3 ) , EEEE : Tc ( "Day" ) , EEE : Tc ( "Day" , ! 0 ) , a : function ( d , a ) { return 12 > d . getHours ( ) ? a . AMPMS [ 0 ] : a . AMPMS [ 1 ] } ,
Z : function ( d , a , b ) { return d = - 1 * b , ( 0 <= d ? "+" : "" ) + ( Sc ( Math [ 0 < d ? "floor" : "ceil" ] ( d / 60 ) , 2 ) + Sc ( Math . abs ( d % 60 ) , 2 ) ) } , ww : le ( 2 ) , w : le ( 1 ) , G : Uc , GG : Uc , GGG : Uc , GGGG : function ( d , a ) { return 0 >= d . getFullYear ( ) ? a . ERANAMES [ 0 ] : a . ERANAMES [ 1 ] } } , Bf = /((?:[^yMdHhmsaZEwG']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z|G+|w+))(.*)/ , Af = /^\-?\d+$/ ; fe . $inject = [ "$locale" ] ; var uf = y ( va ) , ud = y ( ob ) ; ie . $inject = [ "$parse" ] ; var dd = y ( { restrict : "E" , compile : function ( d , a ) { if ( ! a . href && ! a . xlinkHref ) return function ( d , a ) { if ( "a" === a [ 0 ] . nodeName . toLowerCase ( ) ) { var b =
"[object SVGAnimatedString]" === wb . call ( a . prop ( "href" ) ) ? "xlink:href" : "href" ; a . on ( "click" , function ( d ) { a . attr ( b ) || d . preventDefault ( ) } ) } } } } ) , Db = { } ; a ( Fb , function ( d , a ) { function b ( d , b , e ) { d . $watch ( e [ c ] , function ( d ) { e . $set ( a , ! ! d ) } ) } if ( "multiple" != d ) { var c = tb ( "ng-" + a ) , e = b ; "checked" === d && ( e = function ( d , a , e ) { e . ngModel !== e [ c ] && b ( d , a , e ) } ) ; Db [ c ] = function ( ) { return { restrict : "A" , priority : 100 , link : e } } } } ) ; a ( Ud , function ( d , a ) { Db [ a ] = function ( ) { return { priority : 100 , link : function ( d , b , c ) { return "ngPattern" === a && "/" == c . ngPattern . charAt ( 0 ) &&
( b = c . ngPattern . match ( ua ) ) ? void c . $set ( "ngPattern" , new RegExp ( b [ 1 ] , b [ 2 ] ) ) : void d . $watch ( c [ a ] , function ( d ) { c . $set ( a , d ) } ) } } } } ) ; a ( [ "src" , "srcset" , "href" ] , function ( d ) { var a = tb ( "ng-" + d ) ; Db [ a ] = function ( ) { return { priority : 99 , link : function ( b , c , e ) { var g = d , f = d ; "href" === d && "[object SVGAnimatedString]" === wb . call ( c . prop ( "href" ) ) && ( f = "xlinkHref" , e . $attr [ f ] = "xlink:href" , g = null ) ; e . $observe ( a , function ( a ) { a ? ( e . $set ( f , a ) , jc && g && c . prop ( g , e [ f ] ) ) : "href" === d && e . $set ( f , null ) } ) } } } } ) ; var xd = { $addControl : r , $$renameControl : function ( d ,
a ) { d . $name = a } , $removeControl : r , $setValidity : r , $setDirty : r , $setPristine : r , $setSubmitted : r } ; Cf . $inject = [ "$element" , "$attrs" , "$scope" , "$animate" , "$interpolate" ] ; var nc = function ( d ) { return [ "$timeout" , "$parse" , function ( a , b ) { function c ( d ) { return "" === d ? b ( 'this[""]' ) . assign : b ( d ) . assign || r } return { name : "form" , restrict : d ? "EAC" : "E" , require : [ "form" , "^^?form" ] , controller : Cf , compile : function ( b , e ) { b . addClass ( uc ) . addClass ( Yc ) ; var g = e . name ? "name" : ! ( ! d || ! e . ngForm ) && "ngForm" ; return { pre : function ( d , b , e , f ) { var l = f [ 0 ] ; if ( ! ( "action" in
e ) ) { var k = function ( a ) { d . $apply ( function ( ) { l . $commitViewValue ( ) ; l . $setSubmitted ( ) } ) ; a . preventDefault ( ) } ; b [ 0 ] . addEventListener ( "submit" , k , ! 1 ) ; b . on ( "$destroy" , function ( ) { a ( function ( ) { b [ 0 ] . removeEventListener ( "submit" , k , ! 1 ) } , 0 , ! 1 ) } ) } ( f [ 1 ] || l . $$parentForm ) . $addControl ( l ) ; var m = g ? c ( l . $name ) : r ; g && ( m ( d , l ) , e . $observe ( g , function ( a ) { l . $name !== a && ( m ( d , h ) , l . $$parentForm . $$renameControl ( l , a ) , ( m = c ( l . $name ) ) ( d , l ) ) } ) ) ; b . on ( "$destroy" , function ( ) { l . $$parentForm . $removeControl ( l ) ; m ( d , h ) ; n ( l , xd ) } ) } } } } } ] } , Be = nc ( ) , $a = nc ( ! 0 ) ,
mb = /\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)/ , Mg = /^[a-z][a-z\d.+-]*:\/*(?:[^:@]+(?::[^@]+)?@)?(?:[^\s:\/?#]+|\[[a-f\d:]+\])(?::\d+)?(?:\/[^?#]*)?(?:\?[^#]*)?(?:#.*)?$/i , og = /^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i , Kf = /^\s*(\-|\+)?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/ , Lf = /^(\d{4})-(\d{2})-(\d{2})$/ , Zc = /^(\d{4})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/ , re = /^(\d{4})-W(\d\d)$/ , Mf = /^(\d{4})-(\d\d)$/ ,
se = /^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/ , Wc = Ma ( ) ; a ( [ "date" , "datetime-local" , "month" , "time" , "week" ] , function ( d ) { Wc [ d ] = ! 0 } ) ; var $c = { text : function ( d , a , b , c , e , g ) { Vc ( d , a , b , c , e , g ) ; me ( c ) } , date : cc ( "date" , Lf , Da ( Lf , [ "yyyy" , "MM" , "dd" ] ) , "yyyy-MM-dd" ) , "datetime-local" : cc ( "datetimelocal" , Zc , Da ( Zc , "yyyy MM dd HH mm ss sss" . split ( " " ) ) , "yyyy-MM-ddTHH:mm:ss.sss" ) , time : cc ( "time" , se , Da ( se , [ "HH" , "mm" , "ss" , "sss" ] ) , "HH:mm:ss.sss" ) , week : cc ( "week" , re , function ( d , a ) { if ( M ( d ) ) return d ; if ( u ( d ) ) { re . lastIndex = 0 ; var b = re . exec ( d ) ;
if ( b ) { var c = + b [ 1 ] , e = + b [ 2 ] , g = b = 0 , f = 0 , l = 0 , k = ke ( c ) , e = 7 * ( e - 1 ) ; return a && ( b = a . getHours ( ) , g = a . getMinutes ( ) , f = a . getSeconds ( ) , l = a . getMilliseconds ( ) ) , new Date ( c , 0 , k . getDate ( ) + e , b , g , f , l ) } } return NaN } , "yyyy-Www" ) , month : cc ( "month" , Mf , Da ( Mf , [ "yyyy" , "MM" ] ) , "yyyy-MM" ) , number : function ( d , a , b , c , e , g ) { if ( lc ( d , a , b , c ) , Vc ( d , a , b , c , e , g ) , c . $$parserName = "number" , c . $parsers . push ( function ( d ) { return c . $isEmpty ( d ) ? null : Kf . test ( d ) ? parseFloat ( d ) : h } ) , c . $formatters . push ( function ( d ) { if ( ! c . $isEmpty ( d ) ) { if ( ! J ( d ) ) throw Xc ( "numfmt" , d ) ;
d = d . toString ( ) } return d } ) , D ( b . min ) || b . ngMin ) { var f ; c . $validators . min = function ( d ) { return c . $isEmpty ( d ) || A ( f ) || d >= f } ; b . $observe ( "min" , function ( d ) { D ( d ) && ! J ( d ) && ( d = parseFloat ( d , 10 ) ) ; f = J ( d ) && ! isNaN ( d ) ? d : h ; c . $validate ( ) } ) } if ( D ( b . max ) || b . ngMax ) { var l ; c . $validators . max = function ( d ) { return c . $isEmpty ( d ) || A ( l ) || d <= l } ; b . $observe ( "max" , function ( d ) { D ( d ) && ! J ( d ) && ( d = parseFloat ( d , 10 ) ) ; l = J ( d ) && ! isNaN ( d ) ? d : h ; c . $validate ( ) } ) } } , url : function ( d , a , b , c , e , g ) { Vc ( d , a , b , c , e , g ) ; me ( c ) ; c . $$parserName = "url" ; c . $validators . url = function ( d ,
a ) { var b = d || a ; return c . $isEmpty ( b ) || Mg . test ( b ) } } , email : function ( d , a , b , c , e , g ) { Vc ( d , a , b , c , e , g ) ; me ( c ) ; c . $$parserName = "email" ; c . $validators . email = function ( d , a ) { var b = d || a ; return c . $isEmpty ( b ) || og . test ( b ) } } , radio : function ( d , a , b , c ) { A ( b . name ) && a . attr ( "name" , ++ wc ) ; a . on ( "click" , function ( d ) { a [ 0 ] . checked && c . $setViewValue ( b . value , d && d . type ) } ) ; c . $render = function ( ) { a [ 0 ] . checked = b . value == c . $viewValue } ; b . $observe ( "value" , c . $render ) } , checkbox : function ( d , a , b , c , e , g , f , l ) { var k = ne ( l , d , "ngTrueValue" , b . ngTrueValue , ! 0 ) ,
m = ne ( l , d , "ngFalseValue" , b . ngFalseValue , ! 1 ) ; a . on ( "click" , function ( d ) { c . $setViewValue ( a [ 0 ] . checked , d && d . type ) } ) ; c . $render = function ( ) { a [ 0 ] . checked = c . $viewValue } ; c . $isEmpty = function ( d ) { return ! 1 === d } ; c . $formatters . push ( function ( d ) { return V ( d , k ) } ) ; c . $parsers . push ( function ( d ) { return d ? k : m } ) } , hidden : r , button : r , submit : r , reset : r , file : r } , oc = [ "$browser" , "$sniffer" , "$filter" , "$parse" , function ( d , a , b , c ) { return { restrict : "E" , require : [ "?ngModel" ] , link : { pre : function ( e , g , f , l ) { l [ 0 ] && ( $c [ va ( f . type ) ] || $c . text ) ( e , g , f , l [ 0 ] ,
a , d , b , c ) } } } } ] , Bb = /^(true|false|\d+)$/ , Fd = function ( ) { return { restrict : "A" , priority : 100 , compile : function ( d , a ) { return Bb . test ( a . ngValue ) ? function ( d , a , b ) { b . $set ( "value" , d . $eval ( b . ngValue ) ) } : function ( d , a , b ) { d . $watch ( b . ngValue , function ( d ) { b . $set ( "value" , d ) } ) } } } } , Dd = [ "$compile" , function ( d ) { return { restrict : "AC" , compile : function ( a ) { return d . $$addBindingClass ( a ) , function ( a , b , c ) { d . $$addBindingInfo ( b , c . ngBind ) ; b = b [ 0 ] ; a . $watch ( c . ngBind , function ( d ) { b . textContent = A ( d ) ? "" : d } ) } } } } ] , De = [ "$interpolate" , "$compile" , function ( d ,
a ) { return { compile : function ( b ) { return a . $$addBindingClass ( b ) , function ( b , c , e ) { b = d ( c . attr ( e . $attr . ngBindTemplate ) ) ; a . $$addBindingInfo ( c , b . expressions ) ; c = c [ 0 ] ; e . $observe ( "ngBindTemplate" , function ( d ) { c . textContent = A ( d ) ? "" : d } ) } } } } ] , Ce = [ "$sce" , "$parse" , "$compile" , function ( d , a , b ) { return { restrict : "A" , compile : function ( c , e ) { var g = a ( e . ngBindHtml ) , f = a ( e . ngBindHtml , function ( a ) { return d . valueOf ( a ) } ) ; return b . $$addBindingClass ( c ) , function ( a , c , e ) { b . $$addBindingInfo ( c , e . ngBindHtml ) ; a . $watch ( f , function ( ) { var b = g ( a ) ;
c . html ( d . getTrustedHtml ( b ) || "" ) } ) } } } } ] , Ed = y ( { restrict : "A" , require : "ngModel" , link : function ( d , a , b , c ) { c . $viewChangeListeners . push ( function ( ) { d . $eval ( b . ngChange ) } ) } } ) , Bc = dc ( "" , ! 0 ) , Ee = dc ( "Odd" , 0 ) , Tf = dc ( "Even" , 1 ) , Uf = lb ( { compile : function ( d , a ) { a . $set ( "ngCloak" , h ) ; d . removeClass ( "ng-cloak" ) } } ) , Vf = [ function ( ) { return { restrict : "A" , scope : ! 0 , controller : "@" , priority : 500 } } ] , Ke = { } , pg = { blur : ! 0 , focus : ! 0 } ; a ( "click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste" . split ( " " ) ,
function ( d ) { var a = tb ( "ng-" + d ) ; Ke [ a ] = [ "$parse" , "$rootScope" , function ( b , c ) { return { restrict : "A" , compile : function ( e , g ) { var f = b ( g [ a ] , null , ! 0 ) ; return function ( a , b ) { b . on ( d , function ( b ) { var e = function ( ) { f ( a , { $event : b } ) } ; pg [ d ] && c . $$phase ? a . $evalAsync ( e ) : a . $apply ( e ) } ) } } } } ] } ) ; var Xf = [ "$animate" , function ( d ) { return { multiElement : ! 0 , transclude : "element" , priority : 600 , terminal : ! 0 , restrict : "A" , $$tlb : ! 0 , link : function ( a , b , c , e , g ) { var l , k , m ; a . $watch ( c . ngIf , function ( a ) { a ? k || g ( function ( a , e ) { k = e ; a [ a . length ++ ] = f . createComment ( " end ngIf: " +
c . ngIf + " " ) ; l = { clone : a } ; d . enter ( a , b . parent ( ) , b ) } ) : ( m && ( m . remove ( ) , m = null ) , k && ( k . $destroy ( ) , k = null ) , l && ( m = Tb ( l . clone ) , d . leave ( m ) . then ( function ( ) { m = null } ) , l = null ) ) } ) } } } ] , Yf = [ "$templateRequest" , "$anchorScroll" , "$animate" , function ( d , a , b ) { return { restrict : "ECA" , priority : 400 , terminal : ! 0 , transclude : "element" , controller : Na . noop , compile : function ( c , e ) { var g = e . ngInclude || e . src , f = e . onload || "" , l = e . autoscroll ; return function ( c , e , k , m , h ) { var n , v , t , r = 0 , q = function ( ) { v && ( v . remove ( ) , v = null ) ; n && ( n . $destroy ( ) , n = null ) ; t &&
( b . leave ( t ) . then ( function ( ) { v = null } ) , v = t , t = null ) } ; c . $watch ( g , function ( g ) { var k = function ( ) { ! D ( l ) || l && ! c . $eval ( l ) || a ( ) } , v = ++ r ; g ? ( d ( g , ! 0 ) . then ( function ( d ) { if ( ! c . $$destroyed && v === r ) { var a = c . $new ( ) ; m . template = d ; d = h ( a , function ( d ) { q ( ) ; b . enter ( d , null , e ) . then ( k ) } ) ; n = a ; t = d ; n . $emit ( "$includeContentLoaded" , g ) ; c . $eval ( f ) } } , function ( ) { c . $$destroyed || v !== r || ( q ( ) , c . $emit ( "$includeContentError" , g ) ) } ) , c . $emit ( "$includeContentRequested" , g ) ) : ( q ( ) , m . template = null ) } ) } } } } ] , hg = [ "$compile" , function ( d ) { return { restrict : "ECA" ,
priority : - 400 , require : "ngInclude" , link : function ( a , b , c , e ) { /SVG/ . test ( b [ 0 ] . toString ( ) ) ? ( b . empty ( ) , d ( Ze ( e . template , f ) . childNodes ) ( a , function ( d ) { b . append ( d ) } , { futureParentElement : b } ) ) : ( b . html ( e . template ) , d ( b . contents ( ) ) ( a ) ) } } } ] , Zf = lb ( { priority : 450 , compile : function ( ) { return { pre : function ( d , a , b ) { d . $eval ( b . ngInit ) } } } } ) , fg = function ( ) { return { restrict : "A" , priority : 100 , require : "ngModel" , link : function ( d , b , c , e ) { var g = b . attr ( c . $attr . ngList ) || ", " , f = "false" !== c . ngTrim , l = f ? Ga ( g ) : g ; e . $parsers . push ( function ( d ) { if ( ! A ( d ) ) { var b =
[ ] ; return d && a ( d . split ( l ) , function ( d ) { d && b . push ( f ? Ga ( d ) : d ) } ) , b } } ) ; e . $formatters . push ( function ( d ) { return oa ( d ) ? d . join ( g ) : h } ) ; e . $isEmpty = function ( d ) { return ! d || ! d . length } } } } , Yc = "ng-valid" , Ef = "ng-invalid" , uc = "ng-pristine" , yd = "ng-dirty" , zd = "ng-pending" , Xc = k ( "ngModel" ) , Nf = [ "$scope" , "$exceptionHandler" , "$attrs" , "$element" , "$parse" , "$animate" , "$timeout" , "$rootScope" , "$q" , "$interpolate" , function ( d , b , c , e , g , f , l , k , n , v ) { this . $modelValue = this . $viewValue = Number . NaN ; this . $$rawModelValue = h ; 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 = h ; this . $name = v ( c . name || "" , ! 1 ) ( d ) ; this . $$parentForm = xd ; var m , t = g ( c . ngModel ) , q = t . assign , p = t , w = q , u = null , E = this ; this . $$setOptions = function ( d ) { if ( ( E . $options = d ) && d . getterSetter ) { var a = g ( c . ngModel + "()" ) , b = g ( c . ngModel + "($$$p)" ) ; p = function ( d ) { var b = t ( d ) ; return H ( b ) && ( b = a ( d ) ) , b } ; w = function ( d ,
a ) { H ( t ( d ) ) ? b ( d , { $$$p : E . $modelValue } ) : q ( d , E . $modelValue ) } } else if ( ! t . assign ) throw Xc ( "nonassign" , c . ngModel , la ( e ) ) ; } ; this . $render = r ; this . $isEmpty = function ( d ) { return A ( d ) || "" === d || null === d || d !== d } ; var z = 0 ; Df ( { ctrl : this , $element : e , set : function ( d , a ) { d [ a ] = ! 0 } , unset : function ( d , a ) { delete d [ a ] } , $animate : f } ) ; this . $setPristine = function ( ) { E . $dirty = ! 1 ; E . $pristine = ! 0 ; f . removeClass ( e , yd ) ; f . addClass ( e , uc ) } ; this . $setDirty = function ( ) { E . $dirty = ! 0 ; E . $pristine = ! 1 ; f . removeClass ( e , uc ) ; f . addClass ( e , yd ) ; E . $$parentForm . $setDirty ( ) } ;
this . $setUntouched = function ( ) { E . $touched = ! 1 ; E . $untouched = ! 0 ; f . setClass ( e , "ng-untouched" , "ng-touched" ) } ; this . $setTouched = function ( ) { E . $touched = ! 0 ; E . $untouched = ! 1 ; f . setClass ( e , "ng-touched" , "ng-untouched" ) } ; this . $rollbackViewValue = function ( ) { l . cancel ( u ) ; E . $viewValue = E . $$lastCommittedViewValue ; E . $render ( ) } ; this . $validate = function ( ) { if ( ! J ( E . $modelValue ) || ! isNaN ( E . $modelValue ) ) { var d = E . $$rawModelValue , a = E . $valid , b = E . $modelValue , c = E . $options && E . $options . allowInvalid ; E . $$runValidators ( d , E . $$lastCommittedViewValue ,
function ( e ) { c || a === e || ( E . $modelValue = e ? d : h , E . $modelValue !== b && E . $$writeModelToScope ( ) ) } ) } } ; this . $$runValidators = function ( d , b , c ) { function e ( ) { var c = ! 0 ; return a ( E . $validators , function ( a , e ) { var x = a ( d , b ) ; c = c && x ; f ( e , x ) } ) , ! ! c || ( a ( E . $asyncValidators , function ( d , a ) { f ( a , null ) } ) , ! 1 ) } function g ( ) { var e = [ ] , x = ! 0 ; a ( E . $asyncValidators , function ( a , c ) { var g = a ( d , b ) ; if ( ! g || ! H ( g . then ) ) throw Xc ( "nopromise" , g ) ; f ( c , h ) ; e . push ( g . then ( function ( ) { f ( c , ! 0 ) } , function ( d ) { x = ! 1 ; f ( c , ! 1 ) } ) ) } ) ; e . length ? n . all ( e ) . then ( function ( ) { l === z &&
c ( x ) } , r ) : l === z && c ( ! 0 ) } function f ( d , a ) { l === z && E . $setValidity ( d , a ) } z ++ ; var l = z ; ( function ( ) { var d = E . $$parserName || "parse" ; return A ( m ) ? ( f ( d , null ) , ! 0 ) : ( m || ( a ( E . $validators , function ( d , a ) { f ( a , null ) } ) , a ( E . $asyncValidators , function ( d , a ) { f ( a , null ) } ) ) , f ( d , m ) , m ) } ) ( ) && e ( ) ? g ( ) : l === z && c ( ! 1 ) } ; this . $commitViewValue = function ( ) { var d = E . $viewValue ; l . cancel ( u ) ; ( E . $$lastCommittedViewValue !== d || "" === d && E . $$hasNativeValidators ) && ( E . $$lastCommittedViewValue = d , E . $pristine && this . $setDirty ( ) , this . $$parseAndValidate ( ) ) } ; this . $$parseAndValidate =
function ( ) { var a = E . $$lastCommittedViewValue ; if ( m = ! A ( a ) || h ) for ( var b = 0 ; b < E . $parsers . length ; b ++ ) if ( a = E . $parsers [ b ] ( a ) , A ( a ) ) { m = ! 1 ; break } J ( E . $modelValue ) && isNaN ( E . $modelValue ) && ( E . $modelValue = p ( d ) ) ; var c = E . $modelValue , e = E . $options && E . $options . allowInvalid ; E . $$rawModelValue = a ; e && ( E . $modelValue = a , E . $modelValue !== c && E . $$writeModelToScope ( ) ) ; E . $$runValidators ( a , E . $$lastCommittedViewValue , function ( d ) { e || ( E . $modelValue = d ? a : h , E . $modelValue !== c && E . $$writeModelToScope ( ) ) } ) } ; this . $$writeModelToScope = function ( ) { w ( d ,
E . $modelValue ) ; a ( E . $viewChangeListeners , function ( d ) { try { d ( ) } catch ( kg ) { b ( kg ) } } ) } ; this . $setViewValue = function ( d , a ) { E . $viewValue = d ; E . $options && ! E . $options . updateOnDefault || E . $$debounceViewValueCommit ( a ) } ; this . $$debounceViewValueCommit = function ( a ) { var b = 0 , c = E . $options ; c && D ( c . debounce ) && ( c = c . debounce , J ( c ) ? b = c : J ( c [ a ] ) ? b = c [ a ] : J ( c [ "default" ] ) && ( b = c [ "default" ] ) ) ; l . cancel ( u ) ; b ? u = l ( function ( ) { E . $commitViewValue ( ) } , b ) : k . $$phase ? E . $commitViewValue ( ) : d . $apply ( function ( ) { E . $commitViewValue ( ) } ) } ; d . $watch ( function ( ) { var a =
p ( d ) ; if ( a !== E . $modelValue && ( E . $modelValue === E . $modelValue || a === a ) ) { E . $modelValue = E . $$rawModelValue = a ; m = h ; for ( var b = E . $formatters , c = b . length , e = a ; c -- ; ) e = b [ c ] ( e ) ; E . $viewValue !== e && ( E . $viewValue = E . $$lastCommittedViewValue = e , E . $render ( ) , E . $$runValidators ( a , e , r ) ) } return a } ) } ] , Ie = [ "$rootScope" , function ( d ) { return { restrict : "A" , require : [ "ngModel" , "^?form" , "^?ngModelOptions" ] , controller : Nf , priority : 1 , compile : function ( a ) { return a . addClass ( uc ) . addClass ( "ng-untouched" ) . addClass ( Yc ) , { pre : function ( d , a , b , c ) { var e =
c [ 0 ] ; a = c [ 1 ] || e . $$parentForm ; e . $$setOptions ( c [ 2 ] && c [ 2 ] . $options ) ; a . $addControl ( e ) ; b . $observe ( "name" , function ( d ) { e . $name !== d && e . $$parentForm . $$renameControl ( e , d ) } ) ; d . $on ( "$destroy" , function ( ) { e . $$parentForm . $removeControl ( e ) } ) } , post : function ( a , b , c , e ) { var g = e [ 0 ] ; g . $options && g . $options . updateOn && b . on ( g . $options . updateOn , function ( d ) { g . $$debounceViewValueCommit ( d && d . type ) } ) ; b . on ( "blur" , function ( b ) { g . $touched || ( d . $$phase ? a . $evalAsync ( g . $setTouched ) : a . $apply ( g . $setTouched ) ) } ) } } } } } ] , qg = /(\s+|^)default(\s+|$)/ ,
gg = function ( ) { return { restrict : "A" , controller : [ "$scope" , "$attrs" , function ( d , a ) { var b = this ; this . $options = U ( d . $eval ( a . ngModelOptions ) ) ; D ( this . $options . updateOn ) ? ( this . $options . updateOnDefault = ! 1 , this . $options . updateOn = Ga ( this . $options . updateOn . replace ( qg , function ( ) { return b . $options . updateOnDefault = ! 0 , " " } ) ) ) : this . $options . updateOnDefault = ! 0 } ] } } , $f = lb ( { terminal : ! 0 , priority : 1E3 } ) , rg = k ( "ngOptions" ) , te = /^\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]+?))?$/ ,
He = [ "$compile" , "$parse" , function ( d , b ) { function e ( d , a , e ) { function g ( d , a , b , c , e ) { this . selectValue = d ; this . viewValue = a ; this . label = b ; this . group = c ; this . disabled = e } function f ( d ) { var a ; if ( ! m && c ( d ) ) a = d ; else { a = [ ] ; for ( var b in d ) d . hasOwnProperty ( b ) && "$" !== b . charAt ( 0 ) && a . push ( b ) } return a } var l = d . match ( te ) ; if ( ! l ) throw rg ( "iexp" , d , la ( a ) ) ; var k = l [ 5 ] || l [ 7 ] , m = l [ 6 ] ; d = / as / . test ( l [ 0 ] ) && l [ 1 ] ; var h = l [ 9 ] ; a = b ( l [ 2 ] ? l [ 1 ] : k ) ; var n = d && b ( d ) || a , v = h && b ( h ) , t = h ? function ( d , a ) { return v ( e , a ) } : function ( d ) { return rb ( d ) } , r = function ( d ,
a ) { return t ( d , z ( d , a ) ) } , q = b ( l [ 2 ] || l [ 1 ] ) , p = b ( l [ 3 ] || "" ) , E = b ( l [ 4 ] || "" ) , w = b ( l [ 8 ] ) , u = { } , z = m ? function ( d , a ) { return u [ m ] = a , u [ k ] = d , u } : function ( d ) { return u [ k ] = d , u } ; return { trackBy : h , getTrackByValue : r , getWatchables : b ( w , function ( d ) { var a = [ ] ; d = d || [ ] ; for ( var b = f ( d ) , c = b . length , g = 0 ; g < c ; g ++ ) { var k = d === b ? g : b [ g ] , m = z ( d [ k ] , k ) , k = t ( d [ k ] , m ) ; a . push ( k ) ; ( l [ 2 ] || l [ 1 ] ) && ( k = q ( e , m ) , a . push ( k ) ) ; l [ 4 ] && ( m = E ( e , m ) , a . push ( m ) ) } return a } ) , getOptions : function ( ) { for ( var d = [ ] , a = { } , b = w ( e ) || [ ] , c = f ( b ) , l = c . length , k = 0 ; k < l ; k ++ ) { var m = b === c ? k : c [ k ] ,
v = z ( b [ m ] , m ) , u = n ( e , v ) , m = t ( u , v ) , F = q ( e , v ) , y = p ( e , v ) , v = E ( e , v ) , u = new g ( m , u , F , y , v ) ; d . push ( u ) ; a [ m ] = u } return { items : d , selectValueMap : a , getOptionFromViewValue : function ( d ) { return a [ r ( d ) ] } , getViewValueFromOption : function ( d ) { return h ? Na . copy ( d . viewValue ) : d . viewValue } } } } } var g = f . createElement ( "option" ) , l = f . createElement ( "optgroup" ) ; return { restrict : "A" , terminal : ! 0 , require : [ "select" , "?ngModel" ] , link : { pre : function ( d , a , b , c ) { c [ 0 ] . registerOption = r } , post : function ( b , c , f , k ) { function m ( d , a ) { d . element = a ; a . disabled = d . disabled ;
d . label !== a . label && ( a . label = d . label , a . textContent = d . label ) ; d . value !== a . value && ( a . value = d . selectValue ) } function h ( d , a , b , c ) { return a && va ( a . nodeName ) === b ? b = a : ( b = c . cloneNode ( ! 1 ) , a ? d . insertBefore ( b , a ) : d . appendChild ( b ) ) , b } function n ( d ) { for ( var a ; d ; ) a = d . nextSibling , Jc ( d ) , d = a } function v ( d ) { var a = q && q [ 0 ] , b = F && F [ 0 ] ; if ( a || b ) for ( ; d && ( d === a || d === b || 8 === d . nodeType || "option" === T ( d ) && "" === d . value ) ; ) d = d . nextSibling ; return d } function t ( ) { var d = y && p . readValue ( ) ; y = A . getOptions ( ) ; var a = { } , b = c [ 0 ] . firstChild ; if ( z && c . prepend ( q ) ,
b = v ( b ) , y . items . forEach ( function ( d ) { var e , x ; d . group ? ( e = a [ d . group ] , e || ( e = h ( c [ 0 ] , b , "optgroup" , l ) , b = e . nextSibling , e . label = d . group , e = a [ d . group ] = { groupElement : e , currentOptionElement : e . firstChild } ) , x = h ( e . groupElement , e . currentOptionElement , "option" , g ) , m ( d , x ) , e . currentOptionElement = x . nextSibling ) : ( x = h ( c [ 0 ] , b , "option" , g ) , m ( d , x ) , b = x . nextSibling ) } ) , Object . keys ( a ) . forEach ( function ( d ) { n ( a [ d ] . currentOptionElement ) } ) , n ( b ) , r . $render ( ) , ! r . $isEmpty ( d ) ) { var e = p . readValue ( ) ; ( A . trackBy || E ? V ( d , e ) : d === e ) || ( r . $setViewValue ( e ) ,
r . $render ( ) ) } } var r = k [ 1 ] ; if ( r ) { var q , p = k [ 0 ] , E = f . multiple ; k = 0 ; for ( var w = c . children ( ) , u = w . length ; k < u ; k ++ ) if ( "" === w [ k ] . value ) { q = w . eq ( k ) ; break } var z = ! ! q , F = ga ( g . cloneNode ( ! 1 ) ) ; F . val ( "?" ) ; var y , A = e ( f . ngOptions , c , b ) ; E ? ( r . $isEmpty = function ( d ) { return ! d || 0 === d . length } , p . writeValue = function ( d ) { y . items . forEach ( function ( d ) { d . element . selected = ! 1 } ) ; d && d . forEach ( function ( d ) { ( d = y . getOptionFromViewValue ( d ) ) && ! d . disabled && ( d . element . selected = ! 0 ) } ) } , p . readValue = function ( ) { var d = c . val ( ) || [ ] , b = [ ] ; return a ( d , function ( d ) { ( d =
y . selectValueMap [ d ] ) && ! d . disabled && b . push ( y . getViewValueFromOption ( d ) ) } ) , b } , A . trackBy && b . $watchCollection ( function ( ) { if ( oa ( r . $viewValue ) ) return r . $viewValue . map ( function ( d ) { return A . getTrackByValue ( d ) } ) } , function ( ) { r . $render ( ) } ) ) : ( p . writeValue = function ( d ) { var a = y . getOptionFromViewValue ( d ) ; a && ! a . disabled ? ( c [ 0 ] . value !== a . selectValue && ( F . remove ( ) , z || q . remove ( ) , c [ 0 ] . value = a . selectValue , a . element . selected = ! 0 ) , a . element . setAttribute ( "selected" , "selected" ) ) : null === d || z ? ( F . remove ( ) , z || c . prepend ( q ) , c . val ( "" ) ,
q . prop ( "selected" , ! 0 ) , q . attr ( "selected" , ! 0 ) ) : ( z || q . remove ( ) , c . prepend ( F ) , c . val ( "?" ) , F . prop ( "selected" , ! 0 ) , F . attr ( "selected" , ! 0 ) ) } , p . readValue = function ( ) { var d = y . selectValueMap [ c . val ( ) ] ; return d && ! d . disabled ? ( z || q . remove ( ) , F . remove ( ) , y . getViewValueFromOption ( d ) ) : null } , A . trackBy && b . $watch ( function ( ) { return A . getTrackByValue ( r . $viewValue ) } , function ( ) { r . $render ( ) } ) ) ; z ? ( q . remove ( ) , d ( q ) ( b ) , q . removeClass ( "ng-scope" ) ) : q = ga ( g . cloneNode ( ! 1 ) ) ; t ( ) ; b . $watchCollection ( A . getWatchables , t ) } } } } } ] , ag = [ "$locale" , "$interpolate" ,
"$log" , function ( d , b , c ) { var e = /{}/g , g = /^when(Minus)?(.+)$/ ; return { link : function ( f , l , k ) { function m ( d ) { l . text ( d || "" ) } var h , n = k . count , v = k . $attr . when && l . attr ( k . $attr . when ) , t = k . offset || 0 , q = f . $eval ( v ) || { } , p = { } , E = b . startSymbol ( ) , w = b . endSymbol ( ) , u = E + n + "-" + t + w , z = Na . noop ; a ( k , function ( d , a ) { var b = g . exec ( a ) ; b && ( b = ( b [ 1 ] ? "-" : "" ) + va ( b [ 2 ] ) , q [ b ] = l . attr ( k . $attr [ a ] ) ) } ) ; a ( q , function ( d , a ) { p [ a ] = b ( d . replace ( e , u ) ) } ) ; f . $watch ( n , function ( a ) { var b = parseFloat ( a ) , e = isNaN ( b ) ; e || b in q || ( b = d . pluralCat ( b - t ) ) ; b === h || e && J ( h ) && isNaN ( h ) ||
( z ( ) , e = p [ b ] , A ( e ) ? ( null != a && c . debug ( "ngPluralize: no rule defined for '" + b + "' in " + v ) , z = r , m ( ) ) : z = f . $watch ( e , m ) , h = b ) } ) } } } ] , Cc = [ "$parse" , "$animate" , function ( d , b ) { var e = k ( "ngRepeat" ) , g = function ( d , a , b , c , e , g , f ) { d [ b ] = c ; e && ( d [ e ] = g ) ; d . $index = a ; d . $first = 0 === a ; d . $last = a === f - 1 ; d . $middle = ! ( d . $first || d . $last ) ; d . $odd = ! ( d . $even = 0 === ( 1 & a ) ) } ; return { restrict : "A" , multiElement : ! 0 , transclude : "element" , priority : 1E3 , terminal : ! 0 , $$tlb : ! 0 , compile : function ( l , k ) { var m = k . ngRepeat , n = f . createComment ( " end ngRepeat: " + m + " " ) , v =
m . match ( /^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/ ) ; if ( ! v ) throw e ( "iexp" , m ) ; var t = v [ 1 ] , r = v [ 2 ] , q = v [ 3 ] , p = v [ 4 ] , v = t . match ( /^(?:(\s*[\$\w]+)|\(\s*([\$\w]+)\s*,\s*([\$\w]+)\s*\))$/ ) ; if ( ! v ) throw e ( "iidexp" , t ) ; var E = v [ 3 ] || v [ 1 ] , w = v [ 2 ] ; if ( q && ( ! /^[$a-zA-Z_][$a-zA-Z0-9_]*$/ . test ( q ) || /^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/ . test ( q ) ) ) throw e ( "badident" , q ) ; var u , z , F , y , A = { $id : rb } ; return p ? u = d ( p ) : ( F = function ( d , a ) { return rb ( a ) } ,
y = function ( d ) { return d } ) , function ( d , f , l , k , v ) { u && ( z = function ( a , b , c ) { return w && ( A [ w ] = a ) , A [ E ] = b , A . $index = c , u ( d , A ) } ) ; var t = Ma ( ) ; d . $watchCollection ( r , function ( x ) { var C , l , k , r , p , u , A , U , D , ia , M = f [ 0 ] , K = Ma ( ) ; if ( q && ( d [ q ] = x ) , c ( x ) ) U = x , l = z || F ; else for ( ia in l = z || y , U = [ ] , x ) vb . call ( x , ia ) && "$" !== ia . charAt ( 0 ) && U . push ( ia ) ; r = U . length ; ia = Array ( r ) ; for ( C = 0 ; C < r ; C ++ ) if ( p = x === U ? C : U [ C ] , u = x [ p ] , A = l ( p , u , C ) , t [ A ] ) D = t [ A ] , delete t [ A ] , K [ A ] = D , ia [ C ] = D ; else { if ( K [ A ] ) throw a ( ia , function ( d ) { d && d . scope && ( t [ d . id ] = d ) } ) , e ( "dupes" , m , A , u ) ; ia [ C ] =
{ id : A , scope : h , clone : h } ; K [ A ] = ! 0 } for ( k in t ) { if ( D = t [ k ] , A = Tb ( D . clone ) , b . leave ( A ) , A [ 0 ] . parentNode ) for ( C = 0 , l = A . length ; C < l ; C ++ ) A [ C ] . $$NG _REMOVED = ! 0 ; D . scope . $destroy ( ) } for ( C = 0 ; C < r ; C ++ ) if ( p = x === U ? C : U [ C ] , u = x [ p ] , D = ia [ C ] , D . scope ) { k = M ; do k = k . nextSibling ; while ( k && k . $$NG _REMOVED ) ; D . clone [ 0 ] != k && b . move ( Tb ( D . clone ) , null , M ) ; M = D . clone [ D . clone . length - 1 ] ; g ( D . scope , C , E , u , w , p , r ) } else v ( function ( d , a ) { D . scope = a ; var c = n . cloneNode ( ! 1 ) ; d [ d . length ++ ] = c ; b . enter ( d , null , M ) ; M = c ; D . clone = d ; K [ D . id ] = D ; g ( D . scope , C , E , u , w , p , r ) } ) ; t = K } ) } } } } ] ,
Fe = [ "$animate" , function ( d ) { return { restrict : "A" , multiElement : ! 0 , link : function ( a , b , c ) { a . $watch ( c . ngShow , function ( a ) { d [ a ? "removeClass" : "addClass" ] ( b , "ng-hide" , { tempClasses : "ng-hide-animate" } ) } ) } } } ] , Wf = [ "$animate" , function ( d ) { return { restrict : "A" , multiElement : ! 0 , link : function ( a , b , c ) { a . $watch ( c . ngHide , function ( a ) { d [ a ? "addClass" : "removeClass" ] ( b , "ng-hide" , { tempClasses : "ng-hide-animate" } ) } ) } } } ] , Ge = lb ( function ( d , b , c ) { d . $watch ( c . ngStyle , function ( d , c ) { c && d !== c && a ( c , function ( d , a ) { b . css ( a , "" ) } ) ; d && b . css ( d ) } , ! 0 ) } ) ,
bg = [ "$animate" , function ( d ) { return { require : "ngSwitch" , controller : [ "$scope" , function ( ) { this . cases = { } } ] , link : function ( b , c , e , g ) { var l = [ ] , k = [ ] , h = [ ] , m = [ ] , v = function ( d , a ) { return function ( ) { d . splice ( a , 1 ) } } ; b . $watch ( e . ngSwitch || e . on , function ( b ) { var c , e ; c = 0 ; for ( e = h . length ; c < e ; ++ c ) d . cancel ( h [ c ] ) ; c = h . length = 0 ; for ( e = m . length ; c < e ; ++ c ) { var n = Tb ( k [ c ] . clone ) ; m [ c ] . $destroy ( ) ; ( h [ c ] = d . leave ( n ) ) . then ( v ( h , c ) ) } k . length = 0 ; m . length = 0 ; ( l = g . cases [ "!" + b ] || g . cases [ "?" ] ) && a ( l , function ( a ) { a . transclude ( function ( b , c ) { m . push ( c ) ; var e =
a . element ; b [ b . length ++ ] = f . createComment ( " end ngSwitchWhen: " ) ; k . push ( { clone : b } ) ; d . enter ( b , e . parent ( ) , e ) } ) } ) } ) } } } ] , cg = lb ( { transclude : "element" , priority : 1200 , require : "^ngSwitch" , multiElement : ! 0 , link : function ( d , a , b , c , e ) { c . cases [ "!" + b . ngSwitchWhen ] = c . cases [ "!" + b . ngSwitchWhen ] || [ ] ; c . cases [ "!" + b . ngSwitchWhen ] . push ( { transclude : e , element : a } ) } } ) , dg = lb ( { transclude : "element" , priority : 1200 , require : "^ngSwitch" , multiElement : ! 0 , link : function ( d , a , b , c , e ) { c . cases [ "?" ] = c . cases [ "?" ] || [ ] ; c . cases [ "?" ] . push ( { transclude : e ,
element : a } ) } } ) , eg = lb ( { restrict : "EAC" , link : function ( d , a , b , c , e ) { if ( ! e ) throw k ( "ngTransclude" ) ( "orphan" , la ( a ) ) ; e ( function ( d ) { a . empty ( ) ; a . append ( d ) } ) } } ) , Pf = [ "$templateCache" , function ( d ) { return { restrict : "E" , terminal : ! 0 , compile : function ( a , b ) { "text/ng-template" == b . type && d . put ( b . id , a [ 0 ] . text ) } } } ] , ue = { $setViewValue : r , $render : r } , sg = [ "$element" , "$scope" , "$attrs" , function ( d , a , b ) { var c = this , e = new Nb ; c . ngModelCtrl = ue ; c . unknownOption = ga ( f . createElement ( "option" ) ) ; c . renderUnknownOption = function ( a ) { a = "? " + rb ( a ) + " ?" ;
c . unknownOption . val ( a ) ; d . prepend ( c . unknownOption ) ; d . val ( a ) } ; a . $on ( "$destroy" , function ( ) { c . renderUnknownOption = r } ) ; c . removeUnknownOption = function ( ) { c . unknownOption . parent ( ) && c . unknownOption . remove ( ) } ; c . readValue = function ( ) { return c . removeUnknownOption ( ) , d . val ( ) } ; c . writeValue = function ( a ) { c . hasOption ( a ) ? ( c . removeUnknownOption ( ) , d . val ( a ) , "" === a && c . emptyOption . prop ( "selected" , ! 0 ) ) : null == a && c . emptyOption ? ( c . removeUnknownOption ( ) , d . val ( "" ) ) : c . renderUnknownOption ( a ) } ; c . addOption = function ( d , a ) { if ( 8 !== a [ 0 ] . nodeType ) { Sb ( d ,
'"option value"' ) ; "" === d && ( c . emptyOption = a ) ; var b = e . get ( d ) || 0 ; e . put ( d , b + 1 ) ; c . ngModelCtrl . $render ( ) ; a [ 0 ] . hasAttribute ( "selected" ) && ( a [ 0 ] . selected = ! 0 ) } } ; c . removeOption = function ( d ) { var a = e . get ( d ) ; a && ( 1 === a ? ( e . remove ( d ) , "" === d && ( c . emptyOption = h ) ) : e . put ( d , a - 1 ) ) } ; c . hasOption = function ( d ) { return ! ! e . get ( d ) } ; c . registerOption = function ( d , a , b , e , g ) { if ( e ) { var f ; b . $observe ( "value" , function ( d ) { D ( f ) && c . removeOption ( f ) ; f = d ; c . addOption ( d , a ) } ) } else g ? d . $watch ( g , function ( d , e ) { b . $set ( "value" , d ) ; e !== d && c . removeOption ( e ) ;
c . addOption ( d , a ) } ) : c . addOption ( b . value , a ) ; a . on ( "$destroy" , function ( ) { c . removeOption ( b . value ) ; c . ngModelCtrl . $render ( ) } ) } } ] , Qf = function ( ) { return { restrict : "E" , require : [ "select" , "?ngModel" ] , controller : sg , priority : 1 , link : { pre : function ( d , b , c , e ) { var g = e [ 1 ] ; if ( g ) { var f = e [ 0 ] ; if ( f . ngModelCtrl = g , b . on ( "change" , function ( ) { d . $apply ( function ( ) { g . $setViewValue ( f . readValue ( ) ) } ) } ) , c . multiple ) { f . readValue = function ( ) { var d = [ ] ; return a ( b . find ( "option" ) , function ( a ) { a . selected && d . push ( a . value ) } ) , d } ; f . writeValue = function ( d ) { var c =
new Nb ( d ) ; a ( b . find ( "option" ) , function ( d ) { d . selected = D ( c . get ( d . value ) ) } ) } ; var l , k = NaN ; d . $watch ( function ( ) { k !== g . $viewValue || V ( l , g . $viewValue ) || ( l = ka ( g . $viewValue ) , g . $render ( ) ) ; k = g . $viewValue } ) ; g . $isEmpty = function ( d ) { return ! d || 0 === d . length } } } } , post : function ( d , a , b , c ) { var e = c [ 1 ] ; if ( e ) { var g = c [ 0 ] ; e . $render = function ( ) { g . writeValue ( e . $viewValue ) } } } } } } , Sf = [ "$interpolate" , function ( d ) { return { restrict : "E" , priority : 100 , compile : function ( a , b ) { if ( D ( b . value ) ) var c = d ( b . value , ! 0 ) ; else { var e = d ( a . text ( ) , ! 0 ) ; e || b . $set ( "value" ,
a . text ( ) ) } return function ( d , a , b ) { var g = a . parent ( ) ; ( g = g . data ( "$selectController" ) || g . parent ( ) . data ( "$selectController" ) ) && g . registerOption ( d , a , b , c , e ) } } } } ] , Rf = y ( { restrict : "E" , terminal : ! 1 } ) , qa = function ( ) { return { restrict : "A" , require : "?ngModel" , link : function ( d , a , b , c ) { c && ( b . required = ! 0 , c . $validators . required = function ( d , a ) { return ! b . required || ! c . $isEmpty ( a ) } , b . $observe ( "required" , function ( ) { c . $validate ( ) } ) ) } } } , ed = function ( ) { return { restrict : "A" , require : "?ngModel" , link : function ( d , a , b , c ) { if ( c ) { var e , g = b . ngPattern ||
b . pattern ; b . $observe ( "pattern" , function ( d ) { if ( u ( d ) && 0 < d . length && ( d = new RegExp ( "^" + d + "$" ) ) , d && ! d . test ) throw k ( "ngPattern" ) ( "noregexp" , g , d , la ( a ) ) ; e = d || h ; c . $validate ( ) } ) ; c . $validators . pattern = function ( d , a ) { return c . $isEmpty ( a ) || A ( e ) || e . test ( a ) } } } } } , fd = function ( ) { return { restrict : "A" , require : "?ngModel" , link : function ( d , a , b , c ) { if ( c ) { var e = - 1 ; b . $observe ( "maxlength" , function ( d ) { d = parseInt ( d , 10 ) ; e = isNaN ( d ) ? - 1 : d ; c . $validate ( ) } ) ; c . $validators . maxlength = function ( d , a ) { return 0 > e || c . $isEmpty ( a ) || a . length <= e } } } } } ,
Je = function ( ) { return { restrict : "A" , require : "?ngModel" , link : function ( d , a , b , c ) { if ( c ) { var e = 0 ; b . $observe ( "minlength" , function ( d ) { e = parseInt ( d , 10 ) || 0 ; c . $validate ( ) } ) ; c . $validators . minlength = function ( d , a ) { return c . $isEmpty ( a ) || a . length >= e } } } } } ; b . angular . bootstrap ? b . console && console . log ( "WARNING: Tried to load angular more than once." ) : ( ya ( ) , ze ( Na ) , Na . module ( "ngLocale" , [ ] , [ "$provide" , function ( d ) { function a ( d ) { d += "" ; var a = d . indexOf ( "." ) ; return - 1 == a ? 0 : d . length - a - 1 } d . value ( "$locale" , { DATETIME _FORMATS : { AMPMS : [ "AM" ,
"PM" ] , DAY : "Sunday Monday Tuesday Wednesday Thursday Friday Saturday" . split ( " " ) , ERANAMES : [ "Before Christ" , "Anno Domini" ] , ERAS : [ "BC" , "AD" ] , FIRSTDAYOFWEEK : 6 , MONTH : "January February March April May June July August September October November December" . split ( " " ) , SHORTDAY : "Sun Mon Tue Wed Thu Fri Sat" . split ( " " ) , SHORTMONTH : "Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec" . split ( " " ) , STANDALONEMONTH : "January February March April May June July August September October November December" . split ( " " ) , 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 : "-\u00a4" , negSuf : "" , posPre : "\u00a4" , posSuf : "" } ] } , id : "en-us" , localeID : "en_US" , pluralCat : function ( d ,
b ) { var c = 0 | d , e = b ; return h === e && ( e = Math . min ( a ( d ) , 3 ) ) , Math . pow ( 10 , e ) , 1 == c && 0 == e ? "one" : "other" } } ) } ] ) , ga ( f ) . ready ( function ( ) { Aa ( f , ba ) } ) ) } ( window , document ) ; ! 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>' ) ;
var duScrollDefaultEasing = function ( b ) { return . 5 > b ? Math . pow ( 2 * b , 2 ) / 2 : 1 - Math . pow ( 2 * ( 1 - b ) , 2 ) / 2 } , duScroll = angular . module ( "duScroll" , [ "duScroll.scrollspy" , "duScroll.smoothScroll" , "duScroll.scrollContainer" , "duScroll.spyContext" , "duScroll.scrollHelpers" ] ) . value ( "duScrollDuration" , 350 ) . value ( "duScrollSpyWait" , 100 ) . value ( "duScrollGreedy" , ! 1 ) . value ( "duScrollOffset" , 0 ) . value ( "duScrollEasing" , duScrollDefaultEasing ) . value ( "duScrollCancelOnEvents" , "scroll mousedown mousewheel touchmove keydown" ) . value ( "duScrollBottomSpy" ,
2017-04-11 07:10:36 +00:00
! 1 ) . value ( "duScrollActiveClass" , "active" ) ; "undefined" != typeof module && module && module . exports && ( module . exports = duScroll ) ;
2017-04-11 11:04:48 +00:00
angular . module ( "duScroll.scrollHelpers" , [ "duScroll.requestAnimation" ] ) . run ( [ "$window" , "$q" , "cancelAnimation" , "requestAnimation" , "duScrollEasing" , "duScrollDuration" , "duScrollOffset" , "duScrollCancelOnEvents" , function ( b , f , h , k , c , a , g , e ) { var t = { } , l = function ( a ) { return "undefined" != typeof HTMLDocument && a instanceof HTMLDocument || a . nodeType && a . nodeType === a . DOCUMENT _NODE } , n = function ( a ) { return "undefined" != typeof HTMLElement && a instanceof HTMLElement || a . nodeType && a . nodeType === a . ELEMENT _NODE } , q = function ( a ) { return n ( a ) ||
l ( a ) ? a : a [ 0 ] } ; t . duScrollTo = function ( a , c , e , g ) { var f ; if ( angular . isElement ( a ) ? f = this . duScrollToElement : angular . isDefined ( e ) && ( f = this . duScrollToAnimated ) , f ) return f . apply ( this , arguments ) ; f = q ( this ) ; return l ( f ) ? b . scrollTo ( a , c ) : ( f . scrollLeft = a , void ( f . scrollTop = c ) ) } ; var w , r ; t . duScrollToAnimated = function ( a , b , g , l ) { g && ! l && ( l = c ) ; var n = this . duScrollLeft ( ) , t = this . duScrollTop ( ) , q = Math . round ( a - n ) , z = Math . round ( b - t ) , F = null , y = 0 , A = this , L = function ( a ) { ( ! a || y && 0 < a . which ) && ( e && A . unbind ( e , L ) , h ( w ) , r . reject ( ) , w = null ) } ; if ( w &&
L ( ) , r = f . defer ( ) , 0 === g || ! q && ! z ) return 0 === g && A . duScrollTo ( a , b ) , r . resolve ( ) , r . promise ; var S = function ( a ) { null === F && ( F = a ) ; y = a - F ; a = y >= g ? 1 : l ( y / g ) ; A . scrollTo ( n + Math . ceil ( q * a ) , t + Math . ceil ( z * a ) ) ; 1 > a ? w = k ( S ) : ( e && A . unbind ( e , L ) , w = null , r . resolve ( ) ) } ; return A . duScrollTo ( n , t ) , e && A . bind ( e , L ) , w = k ( S ) , r . promise } ; t . duScrollToElement = function ( a , b , c , e ) { var f = q ( this ) ; angular . isNumber ( b ) && ! isNaN ( b ) || ( b = g ) ; a = this . duScrollTop ( ) + q ( a ) . getBoundingClientRect ( ) . top - b ; return n ( f ) && ( a -= f . getBoundingClientRect ( ) . top ) , this . duScrollTo ( 0 ,
a , c , e ) } ; t . duScrollLeft = function ( a , c , e ) { if ( angular . isNumber ( a ) ) return this . duScrollTo ( a , this . duScrollTop ( ) , c , e ) ; a = q ( this ) ; return l ( a ) ? b . scrollX || document . documentElement . scrollLeft || document . body . scrollLeft : a . scrollLeft } ; t . duScrollTop = function ( a , c , e ) { if ( angular . isNumber ( a ) ) return this . duScrollTo ( this . duScrollLeft ( ) , a , c , e ) ; a = q ( this ) ; return l ( a ) ? b . scrollY || document . documentElement . scrollTop || document . body . scrollTop : a . scrollTop } ; t . duScrollToElementAnimated = function ( b , c , e , g ) { return this . duScrollToElement ( b ,
c , e || a , g ) } ; t . duScrollTopAnimated = function ( b , c , e ) { return this . duScrollTop ( b , c || a , e ) } ; t . duScrollLeftAnimated = function ( b , c , e ) { return this . duScrollLeft ( b , c || a , e ) } ; angular . forEach ( t , function ( a , b ) { angular . element . prototype [ b ] = a ; var c = b . replace ( /^duScroll/ , "scroll" ) ; angular . isUndefined ( angular . element . prototype [ c ] ) && ( angular . element . prototype [ c ] = a ) } ) } ] ) ;
angular . module ( "duScroll.polyfill" , [ ] ) . factory ( "polyfill" , [ "$window" , function ( b ) { var f = [ "webkit" , "moz" , "o" , "ms" ] ; return function ( h , k ) { if ( b [ h ] ) return b [ h ] ; for ( var c , a = h . substr ( 0 , 1 ) . toUpperCase ( ) + h . substr ( 1 ) , g = 0 ; g < f . length ; g ++ ) if ( c = f [ g ] + a , b [ c ] ) return b [ c ] ; return k } } ] ) ;
angular . module ( "duScroll.requestAnimation" , [ "duScroll.polyfill" ] ) . factory ( "requestAnimation" , [ "polyfill" , "$timeout" , function ( b , f ) { var h = 0 ; return b ( "requestAnimationFrame" , function ( b , c ) { var a = ( new Date ) . getTime ( ) , g = Math . max ( 0 , 16 - ( a - h ) ) , e = f ( function ( ) { b ( a + g ) } , g ) ; return h = a + g , e } ) } ] ) . factory ( "cancelAnimation" , [ "polyfill" , "$timeout" , function ( b , f ) { return b ( "cancelAnimationFrame" , function ( b ) { f . cancel ( b ) } ) } ] ) ;
angular . module ( "duScroll.spyAPI" , [ "duScroll.scrollContainerAPI" ] ) . factory ( "spyAPI" , [ "$rootScope" , "$timeout" , "$window" , "$document" , "scrollContainerAPI" , "duScrollGreedy" , "duScrollSpyWait" , "duScrollBottomSpy" , "duScrollActiveClass" , function ( b , f , h , k , c , a , g , e , t ) { var l = function ( c ) { var l = ! 1 , n = ! 1 , r = function ( ) { n = ! 1 ; var g ; g = c . container [ 0 ] ; var f = 0 ; "undefined" != typeof HTMLElement && g instanceof HTMLElement || g . nodeType && g . nodeType === g . ELEMENT _NODE ? ( f = g . getBoundingClientRect ( ) . top , g = Math . round ( g . scrollTop + g . clientHeight ) >=
g . scrollHeight ) : g = Math . round ( h . pageYOffset + h . innerHeight ) >= ( k [ 0 ] . body . scrollHeight || k [ 0 ] . documentElement . scrollHeight ) ; var l , r , q , p , w , F , z = e && g ? "bottom" : "top" ; p = c . spies ; r = c . currentlyActive ; q = void 0 ; for ( l = 0 ; l < p . length ; l ++ ) w = p [ l ] , ( F = w . getTargetPosition ( ) ) && ( e && g || 20 > F . top + w . offset - f && ( a || - 1 * F . top + f ) < F . height ) && ( ! q || q [ z ] < F [ z ] ) && ( q = { spy : w } , q [ z ] = F [ z ] ) ; q && ( q = q . spy ) ; r === q || a && ! q || ( r && ( r . $element . removeClass ( t ) , b . $broadcast ( "duScrollspy:becameInactive" , r . $element , angular . element ( r . getTargetElement ( ) ) ) ) , q &&
( q . $element . addClass ( t ) , b . $broadcast ( "duScrollspy:becameActive" , q . $element , angular . element ( q . getTargetElement ( ) ) ) ) , c . currentlyActive = q ) } ; return g ? function ( ) { l ? n = ! 0 : ( r ( ) , l = f ( function ( ) { l = ! 1 ; n && r ( ) } , g , ! 1 ) ) } : r } , n = { } , q = function ( a ) { var b = a . $id , c = { spies : [ ] } ; return c . handler = l ( c ) , n [ b ] = c , a . $on ( "$destroy" , function ( ) { w ( a ) } ) , b } , w = function ( a ) { a = a . $id ; var b = n [ a ] , c = b . container ; c && c . off ( "scroll" , b . handler ) ; delete n [ a ] } , r = q ( b ) , z = function ( a ) { return n [ a . $id ] ? n [ a . $id ] : a . $parent ? z ( a . $parent ) : n [ r ] } , y = function ( a ) { var b ,
c , e = a . $scope ; if ( e ) return z ( e ) ; for ( c in n ) if ( b = n [ c ] , - 1 !== b . spies . indexOf ( a ) ) return b } ; return { addSpy : function ( a ) { var b = y ( a ) ; if ( b ) { b . spies . push ( a ) ; var e ; if ( e = b . container ) a : { for ( e = b . container ; e . parentNode ; ) if ( e = e . parentNode , e === document ) { e = ! 0 ; break a } e = ! 1 } e || ( b . container && b . container . off ( "scroll" , b . handler ) , b . container = c . getContainer ( a . $scope ) , b . container . on ( "scroll" , b . handler ) . triggerHandler ( "scroll" ) ) } } , removeSpy : function ( a ) { var c = y ( a ) ; a === c . currentlyActive && ( b . $broadcast ( "duScrollspy:becameInactive" ,
c . currentlyActive . $element ) , c . currentlyActive = null ) ; var e = c . spies . indexOf ( a ) ; - 1 !== e && c . spies . splice ( e , 1 ) ; a . $element = null } , createContext : q , destroyContext : w , getContextForScope : z } } ] ) ;
angular . module ( "duScroll.scrollContainerAPI" , [ ] ) . factory ( "scrollContainerAPI" , [ "$document" , function ( b ) { var f = { } , h = function ( b ) { return f [ b . $id ] ? b . $id : b . $parent ? h ( b . $parent ) : void 0 } ; return { getContainerId : h , getContainer : function ( k ) { return ( k = h ( k ) ) ? f [ k ] : b } , setContainer : function ( b , c ) { var a = b . $id ; return f [ a ] = c , a } , removeContainer : function ( b ) { ( b = h ( b ) ) && delete f [ b ] } } } ] ) ;
angular . module ( "duScroll.smoothScroll" , [ "duScroll.scrollHelpers" , "duScroll.scrollContainerAPI" ] ) . directive ( "duSmoothScroll" , [ "duScrollDuration" , "duScrollOffset" , "scrollContainerAPI" , function ( b , f , h ) { return { link : function ( k , c , a ) { c . on ( "click" , function ( c ) { if ( a . href && - 1 !== a . href . indexOf ( "#" ) || "" !== a . duSmoothScroll ) { var e = a . href ? a . href . replace ( /.*(?=#[^\s]+$)/ , "" ) . substring ( 1 ) : a . duSmoothScroll ; if ( ( e = document . getElementById ( e ) || document . getElementsByName ( e ) [ 0 ] ) && e . getBoundingClientRect ) { c . stopPropagation &&
c . stopPropagation ( ) ; c . preventDefault && c . preventDefault ( ) ; c = a . offset ? parseInt ( a . offset , 10 ) : f ; var g = a . duration ? parseInt ( a . duration , 10 ) : b ; h . getContainer ( k ) . duScrollToElement ( angular . element ( e ) , isNaN ( c ) ? 0 : c , isNaN ( g ) ? 0 : g ) } } } ) } } } ] ) ; angular . module ( "duScroll.spyContext" , [ "duScroll.spyAPI" ] ) . directive ( "duSpyContext" , [ "spyAPI" , function ( b ) { return { restrict : "A" , scope : ! 0 , compile : function ( f , h , k ) { return { pre : function ( c , a , g , e ) { b . createContext ( c ) } } } } } ] ) ;
angular . module ( "duScroll.scrollContainer" , [ "duScroll.scrollContainerAPI" ] ) . directive ( "duScrollContainer" , [ "scrollContainerAPI" , function ( b ) { return { restrict : "A" , scope : ! 0 , compile : function ( f , h , k ) { return { pre : function ( c , a , g , e ) { g . $observe ( "duScrollContainer" , function ( e ) { angular . isString ( e ) && ( e = document . getElementById ( e ) ) ; e = angular . isElement ( e ) ? angular . element ( e ) : a ; b . setContainer ( c , e ) ; c . $on ( "$destroy" , function ( ) { b . removeContainer ( c ) } ) } ) } } } } } ] ) ;
angular . module ( "duScroll.scrollspy" , [ "duScroll.spyAPI" ] ) . directive ( "duScrollspy" , [ "spyAPI" , "duScrollOffset" , "$timeout" , "$rootScope" , function ( b , f , h , k ) { var c = function ( a , b , c , f ) { angular . isElement ( a ) ? this . target = a : angular . isString ( a ) && ( this . targetId = a ) ; this . $scope = b ; this . $element = c ; this . offset = f } ; return c . prototype . getTargetElement = function ( ) { return ! this . target && this . targetId && ( this . target = document . getElementById ( this . targetId ) || document . getElementsByName ( this . targetId ) [ 0 ] ) , this . target } , c . prototype . getTargetPosition =
function ( ) { var a = this . getTargetElement ( ) ; return a ? a . getBoundingClientRect ( ) : void 0 } , c . prototype . flushTargetCache = function ( ) { this . targetId && ( this . target = void 0 ) } , { link : function ( a , g , e ) { var t , l = e . ngHref || e . href ; if ( l && - 1 !== l . indexOf ( "#" ) ? t = l . replace ( /.*(?=#[^\s]+$)/ , "" ) . substring ( 1 ) : e . duScrollspy ? t = e . duScrollspy : e . duSmoothScroll && ( t = e . duSmoothScroll ) , t ) { var n = h ( function ( ) { var l = new c ( t , a , g , - ( e . offset ? parseInt ( e . offset , 10 ) : f ) ) ; b . addSpy ( l ) ; a . $on ( "$locationChangeSuccess" , l . flushTargetCache . bind ( l ) ) ; var h =
k . $on ( "$stateChangeSuccess" , l . flushTargetCache . bind ( l ) ) ; a . $on ( "$destroy" , function ( ) { b . removeSpy ( l ) ; h ( ) } ) } , 0 , ! 1 ) ; a . $on ( "$destroy" , function ( ) { h . cancel ( n ) } ) } } } } ] ) ;
! function ( ) { var b = { 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" ,
2017-04-11 07:10:36 +00:00
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 : "." ,
2017-04-11 11:04:48 +00:00
191 : "/" , 192 : "`" , 219 : "[" , 220 : "\\" , 221 : "]" , 222 : "'" } , isControl : function ( f ) { switch ( f . which ) { case b . COMMAND : case b . SHIFT : case b . CTRL : case b . ALT : return ! 0 } return ! ! ( f . metaKey || f . ctrlKey || f . altKey ) } , isFunctionKey : function ( b ) { return b = b . which ? b . which : b , 112 <= b && 123 >= b } , isVerticalMovement : function ( f ) { return ~ [ b . UP , b . DOWN ] . indexOf ( f ) } , isHorizontalMovement : function ( f ) { return ~ [ b . LEFT , b . RIGHT , b . BACKSPACE , b . DELETE ] . indexOf ( f ) } , toSeparator : function ( f ) { var c = { ENTER : "\n" , TAB : "\t" , SPACE : " " } [ f ] ; return c ? c : b [ f ] ? void 0 :
f } } ; void 0 === angular . element . prototype . querySelectorAll && ( angular . element . prototype . querySelectorAll = function ( b ) { return angular . element ( this [ 0 ] . querySelectorAll ( b ) ) } ) ; void 0 === angular . element . prototype . closest && ( angular . element . prototype . closest = function ( b ) { for ( var c = this [ 0 ] , a = c . matches || c . webkitMatchesSelector || c . mozMatchesSelector || c . msMatchesSelector ; c ; ) { if ( a . bind ( c ) ( b ) ) return c ; c = c . parentElement } return ! 1 } ) ; var f = 0 , h = 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 f ++ } , appendToBody : ! 1 } ) . service ( "uiSelectMinErr" , function ( ) { var b = angular . $$minErr ( "ui.select" ) ; return function ( ) { var c = b . apply ( this , arguments ) . message . replace ( /\nhttp:\/\/errors.angularjs.org\/.*/ , "" ) ; return Error ( c ) } } ) . directive ( "uisTranscludeAppend" , function ( ) { return { link : function ( b , c , a , g , e ) { e ( b , function ( a ) { c . append ( a ) } ) } } } ) . filter ( "highlight" , function ( ) { return function ( b ,
c ) { return c && b ? ( "" + b ) . replace ( new RegExp ( ( "" + c ) . replace ( /([.?*+^$[\]\\(){}|-])/g , "\\$1" ) , "gi" ) , '<span class="ui-select-highlight">$&</span>' ) : b } } ) . factory ( "uisOffset" , [ "$document" , "$window" , function ( b , c ) { return function ( a ) { var g = a [ 0 ] . getBoundingClientRect ( ) ; return { width : g . width || a . prop ( "offsetWidth" ) , height : g . height || a . prop ( "offsetHeight" ) , top : g . top + ( c . pageYOffset || b [ 0 ] . documentElement . scrollTop ) , left : g . left + ( c . pageXOffset || b [ 0 ] . documentElement . scrollLeft ) } } } ] ) ; h . directive ( "uiSelectChoices" , [ "uiSelectConfig" ,
"uisRepeatParser" , "uiSelectMinErr" , "$compile" , "$window" , function ( b , c , a , g , e ) { return { restrict : "EA" , require : "^uiSelect" , replace : ! 0 , transclude : ! 0 , templateUrl : function ( a ) { a . addClass ( "ui-select-choices" ) ; return ( a . parent ( ) . attr ( "theme" ) || b . theme ) + "/choices.tpl.html" } , compile : function ( g , f ) { if ( ! f . repeat ) throw a ( "repeat" , "Expected 'repeat' expression." ) ; var l = f . groupBy , k = f . groupFilter ; if ( l ) { var h = g . querySelectorAll ( ".ui-select-choices-group" ) ; if ( 1 !== h . length ) throw a ( "rows" , "Expected 1 .ui-select-choices-group but got '{0}'." ,
h . length ) ; h . attr ( "ng-repeat" , c . getGroupNgRepeatExpression ( ) ) } var h = c . parse ( f . repeat ) , t = g . querySelectorAll ( ".ui-select-choices-row" ) ; if ( 1 !== t . length ) throw a ( "rows" , "Expected 1 .ui-select-choices-row but got '{0}'." , t . length ) ; t . attr ( "ng-repeat" , h . repeatExpression ( l ) ) . attr ( "ng-if" , "$select.open" ) ; var z = g . querySelectorAll ( ".ui-select-choices-row-inner" ) ; if ( 1 !== z . length ) throw a ( "rows" , "Expected 1 .ui-select-choices-row-inner but got '{0}'." , z . length ) ; z . attr ( "uis-transclude-append" , "" ) ; return ( e . document . addEventListener ?
t : z ) . attr ( "ng-click" , "$select.select(" + h . itemName + ",$select.skipFocusser,$event)" ) , function ( a , c , e , g ) { g . parseRepeatAttr ( e . repeat , l , k ) ; g . disableChoiceExpression = e . uiDisableChoice ; g . onHighlightCallback = e . onHighlight ; g . dropdownPosition = e . position ? e . position . toLowerCase ( ) : b . dropdownPosition ; a . $on ( "$destroy" , function ( ) { t . remove ( ) } ) ; a . $watch ( "$select.search" , function ( a ) { a && ! g . open && g . multiple && g . activate ( ! 1 , ! 0 ) ; g . activeIndex = g . tagging . isActivated ? - 1 : 0 ; ! e . minimumInputLength || g . search . length >= e . minimumInputLength ?
g . refresh ( e . refresh ) : g . items = [ ] } ) ; e . $observe ( "refreshDelay" , function ( ) { var c = a . $eval ( e . refreshDelay ) ; g . refreshDelay = void 0 !== c ? c : b . refreshDelay } ) } } } } ] ) ; h . controller ( "uiSelectCtrl" , [ "$scope" , "$element" , "$timeout" , "$filter" , "$$uisDebounce" , "uisRepeatParser" , "uiSelectMinErr" , "uiSelectConfig" , "$parse" , "$injector" , "$window" , function ( f , c , a , g , e , h , l , n , q , w , r ) { function k ( a , b , c ) { if ( a . findIndex ) return a . findIndex ( b , c ) ; var e ; a = Object ( a ) ; for ( var g = a . length >>> 0 , f = 0 ; g > f ; f ++ ) if ( e = a [ f ] , b . call ( c , e , f , a ) ) return f ; return - 1 }
function t ( ) { ( p . resetSearchInput || void 0 === p . resetSearchInput && n . resetSearchInput ) && ( p . search = u , p . selected && p . items . length && ! p . multiple && ( p . activeIndex = k ( p . items , function ( a ) { return angular . equals ( this , a ) } , p . selected ) ) ) } function F ( a , b ) { var c , e , g = [ ] ; for ( c = 0 ; c < b . length ; c ++ ) for ( e = 0 ; e < a . length ; e ++ ) a [ e ] . name == [ b [ c ] ] && g . push ( a [ e ] ) ; return g } function A ( a ) { var c = ! 0 ; switch ( a ) { case b . DOWN : ! p . open && p . multiple ? p . activate ( ! 1 , ! 0 ) : p . activeIndex < p . items . length - 1 && p . activeIndex ++ ; break ; case b . UP : ! p . open && p . multiple ?
p . activate ( ! 1 , ! 0 ) : ( 0 < p . activeIndex || 0 === p . search . length && p . tagging . isActivated && - 1 < p . activeIndex ) && p . activeIndex -- ; break ; case b . TAB : p . multiple && ! p . open || p . select ( p . items [ p . activeIndex ] , ! 0 ) ; break ; case b . ENTER : p . open && ( p . tagging . isActivated || 0 <= p . activeIndex ) ? p . select ( p . items [ p . activeIndex ] , p . skipFocusser ) : p . activate ( ! 1 , ! 0 ) ; break ; case b . ESC : p . close ( ) ; break ; default : c = ! 1 } return c } function D ( ) { var a = c . querySelectorAll ( ".ui-select-choices-content" ) , b = a . querySelectorAll ( ".ui-select-choices-row" ) ; if ( 1 > b . length ) throw l ( "choices" ,
"Expected multiple .ui-select-choices-row but got '{0}'." , b . length ) ; if ( ! ( 0 > p . activeIndex ) ) { var b = b [ p . activeIndex ] , e = b . offsetTop + b . clientHeight - a [ 0 ] . scrollTop , g = a [ 0 ] . offsetHeight ; e > g ? a [ 0 ] . scrollTop += e - g : e < b . clientHeight && ( p . isGrouped && 0 === p . activeIndex ? a [ 0 ] . scrollTop = 0 : a [ 0 ] . scrollTop -= b . clientHeight - e ) } } var p = this , u = "" ; p . placeholder = n . placeholder ; p . searchEnabled = n . searchEnabled ; p . sortable = n . sortable ; p . refreshDelay = n . refreshDelay ; p . paste = n . paste ; p . removeSelected = n . removeSelected ; p . closeOnSelect = ! 0 ;
p . skipFocusser = ! 1 ; p . search = u ; p . activeIndex = 0 ; p . items = [ ] ; p . open = ! 1 ; p . focus = ! 1 ; p . disabled = ! 1 ; p . selected = void 0 ; p . dropdownPosition = "auto" ; p . focusser = void 0 ; p . resetSearchInput = ! 0 ; p . setSearchToAnswer = ! 1 ; p . searchBy = void 0 ; p . multiple = void 0 ; p . disableChoiceExpression = void 0 ; p . tagging = { isActivated : ! 1 , fct : void 0 } ; p . taggingTokens = { isActivated : ! 1 , tokens : void 0 } ; p . lockChoiceExpression = void 0 ; p . clickTriggeredSelect = ! 1 ; p . $filter = g ; p . $element = c ; g = p ; var J ; try { J = w . get ( "$animate" ) } catch ( X ) { J = null } if ( g . $animate = J , p . searchInput =
c . querySelectorAll ( "input.ui-select-search" ) , 1 !== p . searchInput . length ) throw l ( "searchInput" , "Expected 1 input.ui-select-search but got '{0}'." , p . searchInput . length ) ; p . isEmpty = function ( ) { return angular . isUndefined ( p . selected ) || null === p . selected || "" === p . selected || p . multiple && 0 === p . selected . length } ; p . activate = function ( b , e ) { if ( ! p . disabled && ! p . open ) { e || t ( ) ; f . $broadcast ( "uis:activate" ) ; p . open = ! 0 ; p . activeIndex = p . activeIndex >= p . items . length ? 0 : p . activeIndex ; - 1 === p . activeIndex && ! 1 !== p . taggingLabel && ( p . activeIndex =
0 ) ; var g = c . querySelectorAll ( ".ui-select-choices-content" ) , l = c . querySelectorAll ( ".ui-select-search" ) ; if ( p . $animate && p . $animate . on && p . $animate . enabled ( g [ 0 ] ) ) { var k = function ( c , e ) { "start" === e && 0 === p . items . length ? ( p . $animate . off ( "removeClass" , l [ 0 ] , k ) , a ( function ( ) { p . focusSearchInput ( b ) } ) ) : "close" === e && ( p . $animate . off ( "enter" , g [ 0 ] , k ) , a ( function ( ) { p . focusSearchInput ( b ) } ) ) } ; 0 < p . items . length ? p . $animate . on ( "enter" , g [ 0 ] , k ) : p . $animate . on ( "removeClass" , l [ 0 ] , k ) } else a ( function ( ) { p . focusSearchInput ( b ) ; ! p . tagging . isActivated &&
1 < p . items . length && D ( ) } ) } } ; p . focusSearchInput = function ( a ) { p . search = a || p . search ; p . searchInput [ 0 ] . focus ( ) } ; p . findGroupByName = function ( a ) { return p . groups && p . groups . filter ( function ( b ) { return b . name === a } ) [ 0 ] } ; p . parseRepeatAttr = function ( a , b , c ) { function e ( a ) { var e = f . $eval ( b ) ; if ( p . groups = [ ] , angular . forEach ( a , function ( a ) { var b = angular . isFunction ( e ) ? e ( a ) : a [ e ] , c = p . findGroupByName ( b ) ; c ? c . items . push ( a ) : p . groups . push ( { name : b , items : [ a ] } ) } ) , c ) a = f . $eval ( c ) , angular . isFunction ( a ) ? p . groups = a ( p . groups ) : angular . isArray ( a ) &&
( p . groups = F ( p . groups , a ) ) ; p . items = [ ] ; p . groups . forEach ( function ( a ) { p . items = p . items . concat ( a . items ) } ) } function g ( a ) { p . items = a } p . setItemsFn = b ? e : g ; p . parserResult = h . parse ( a ) ; p . isGrouped = ! ! b ; p . itemProperty = p . parserResult . itemName ; var k = p . parserResult . source , n = function ( ) { var a = k ( f ) ; f . $uisSource = Object . keys ( a ) . map ( function ( b ) { var c = { } ; return c [ p . parserResult . keyName ] = b , c . value = a [ b ] , c } ) } ; p . parserResult . keyName && ( n ( ) , p . parserResult . source = q ( "$uisSource" + p . parserResult . filters ) , f . $watch ( k , function ( a , b ) { a !== b &&
n ( ) } , ! 0 ) ) ; p . refreshItems = function ( a ) { a = a || p . parserResult . source ( f ) ; var b = p . selected ; p . isEmpty ( ) || angular . isArray ( b ) && ! b . length || ! p . removeSelected ? p . setItemsFn ( a ) : void 0 !== a && ( a = a . filter ( function ( a ) { return angular . isArray ( b ) ? b . every ( function ( b ) { return ! angular . equals ( a , b ) } ) : ! angular . equals ( a , b ) } ) , p . setItemsFn ( a ) ) ; "auto" !== p . dropdownPosition && "up" !== p . dropdownPosition || f . calculateDropdownPos ( ) ; f . $broadcast ( "uis:refresh" ) } ; f . $watchCollection ( p . parserResult . source , function ( a ) { if ( void 0 === a || null === a ) p . items =
[ ] ; else { if ( ! angular . isArray ( a ) ) throw l ( "items" , "Expected an array but got '{0}'." , a ) ; p . refreshItems ( a ) ; angular . isDefined ( p . ngModel . $modelValue ) && ( p . ngModel . $modelValue = null ) } } ) } ; var M ; p . refresh = function ( b ) { void 0 !== b && ( M && a . cancel ( M ) , M = a ( function ( ) { f . $eval ( b ) } , p . refreshDelay ) ) } ; p . isActive = function ( a ) { if ( ! p . open ) return ! 1 ; var b = p . items . indexOf ( a [ p . itemProperty ] ) , c = b == p . activeIndex ; return ! ( ! c || 0 > b ) && ( c && ! angular . isUndefined ( p . onHighlightCallback ) && a . $eval ( p . onHighlightCallback ) , c ) } ; var H = function ( a ) { return p . selected &&
angular . isArray ( p . selected ) && 0 < p . selected . filter ( function ( b ) { return angular . equals ( b , a ) } ) . length } ; p . isDisabled = function ( a ) { if ( p . open ) { var b , c = p . items . indexOf ( a [ p . itemProperty ] ) , e = ! 1 ; return 0 <= c && ( ! angular . isUndefined ( p . disableChoiceExpression ) || p . multiple ) && ( b = p . items [ c ] , e = ! ! a . $eval ( p . disableChoiceExpression ) || H ( b ) , b . _uiSelectChoiceDisabled = e ) , e } } ; p . select = function ( b , c , e ) { if ( ! ( void 0 !== b && b . _uiSelectChoiceDisabled || ! ( p . items || p . search || p . tagging . isActivated ) || b && b . _uiSelectChoiceDisabled ) ) { if ( p . tagging . isActivated ) { if ( ! 1 ===
p . taggingLabel ) if ( 0 > p . activeIndex ) { if ( b = void 0 !== p . tagging . fct ? p . tagging . fct ( p . search ) : p . search , ! b || angular . equals ( p . items [ 0 ] , b ) ) return } else b = p . items [ p . activeIndex ] ; else if ( 0 === p . activeIndex ) { if ( void 0 === b ) return ; if ( void 0 !== p . tagging . fct && "string" == typeof b ) { if ( b = p . tagging . fct ( b ) , ! b ) return } else "string" == typeof b && ( b = b . replace ( p . taggingLabel , "" ) . trim ( ) ) } if ( H ( b ) ) return void p . close ( c ) } f . $broadcast ( "uis:select" , b ) ; var g = { } ; g [ p . parserResult . itemName ] = b ; a ( function ( ) { p . onSelectCallback ( f , { $item : b , $model : p . parserResult . modelMapper ( f ,
g ) } ) } ) ; p . closeOnSelect && p . close ( c ) ; e && "click" === e . type && ( p . clickTriggeredSelect = ! 0 ) } } ; p . close = function ( a ) { p . open && ( p . ngModel && p . ngModel . $setTouched && p . ngModel . $setTouched ( ) , t ( ) , ( p . setSearchToAnswer || void 0 === p . setSearchToAnswer && n . setSearchToAnswer ) && ( console . log ( "searchBy: " + p . searchBy ) , p . searchBy && ( console . log ( "_setSearchToAnswer" ) , p . resetSearchInput = ! 1 , p . search = p . selected [ p . searchBy ] ) ) , p . open = ! 1 , f . $broadcast ( "uis:close" , a ) ) } ; p . setFocus = function ( ) { p . focus || p . focusInput [ 0 ] . focus ( ) } ; p . clear = function ( b ) { p . select ( void 0 ) ;
b . stopPropagation ( ) ; a ( function ( ) { p . focusser [ 0 ] . focus ( ) } , 0 , ! 1 ) } ; p . toggle = function ( a ) { p . open ? ( p . close ( ) , a . preventDefault ( ) , a . stopPropagation ( ) ) : p . activate ( ) } ; p . isLocked = function ( a , b ) { var c , e = p . selected [ b ] ; return e && ! angular . isUndefined ( p . lockChoiceExpression ) && ( c = ! ! a . $eval ( p . lockChoiceExpression ) , e . _uiSelectChoiceLocked = c ) , c } ; var K = null , L = ! 1 ; p . sizeSearchInput = function ( ) { var b = p . searchInput [ 0 ] , c = p . searchInput . parent ( ) . parent ( ) [ 0 ] , e = function ( a ) { if ( 0 === a ) return ! 1 ; var c = a - b . offsetLeft - 10 ; return 50 > c && ( c =
a ) , p . searchInput . css ( "width" , c + "px" ) , ! 0 } ; p . searchInput . css ( "width" , "10px" ) ; a ( function ( ) { null !== K || e ( c . clientWidth * ! ! b . offsetParent ) || ( K = f . $watch ( function ( ) { L || ( L = ! 0 , f . $$postDigest ( function ( ) { L = ! 1 ; e ( c . clientWidth * ! ! b . offsetParent ) && ( K ( ) , K = null ) } ) ) } , angular . noop ) ) } ) } ; p . searchInput . on ( "keydown" , function ( c ) { var e = c . which ; ~ [ b . ENTER , b . ESC ] . indexOf ( e ) && ( c . preventDefault ( ) , c . stopPropagation ( ) ) ; f . $apply ( function ( ) { var g = ! 1 ; if ( ( 0 < p . items . length || p . tagging . isActivated ) && ( A ( e ) , p . taggingTokens . isActivated ) ) { for ( var f =
0 ; f < p . taggingTokens . tokens . length ; f ++ ) p . taggingTokens . tokens [ f ] === b . MAP [ c . keyCode ] && 0 < p . search . length && ( g = ! 0 ) ; g && a ( function ( ) { p . searchInput . triggerHandler ( "tagged" ) ; var a = p . search . replace ( b . MAP [ c . keyCode ] , "" ) . trim ( ) ; p . tagging . fct && ( a = p . tagging . fct ( a ) ) ; a && p . select ( a , ! 0 ) } ) } } ) ; b . isVerticalMovement ( e ) && 0 < p . items . length && D ( ) ; e !== b . ENTER && e !== b . ESC || ( c . preventDefault ( ) , c . stopPropagation ( ) ) } ) ; p . searchInput . on ( "paste" , function ( a ) { var c ; if ( c = window . clipboardData && window . clipboardData . getData ? window . clipboardData . getData ( "Text" ) :
( a . originalEvent || a ) . clipboardData . getData ( "text/plain" ) , c = p . search + c , c && 0 < c . length ) if ( p . taggingTokens . isActivated ) { for ( var e = [ ] , g = 0 ; g < p . taggingTokens . tokens . length ; g ++ ) { var f = b . toSeparator ( p . taggingTokens . tokens [ g ] ) || p . taggingTokens . tokens [ g ] ; if ( - 1 < c . indexOf ( f ) ) { e = c . split ( f ) ; break } } if ( 0 === e . length && ( e = [ c ] ) , 0 < e . length ) c = p . search , angular . forEach ( e , function ( a ) { ( a = p . tagging . fct ? p . tagging . fct ( a ) : a ) && p . select ( a , ! 0 ) } ) , p . search = c || u , a . preventDefault ( ) , a . stopPropagation ( ) } else p . paste && ( p . paste ( c ) , p . search =
u , a . preventDefault ( ) , a . stopPropagation ( ) ) } ) ; p . searchInput . on ( "tagged" , function ( ) { a ( function ( ) { t ( ) } ) } ) ; var S = e ( function ( ) { p . sizeSearchInput ( ) } , 50 ) ; angular . element ( r ) . bind ( "resize" , S ) ; f . $on ( "$destroy" , function ( ) { p . searchInput . off ( "keyup keydown tagged blur paste" ) ; angular . element ( r ) . off ( "resize" , S ) } ) } ] ) ; h . directive ( "uiSelect" , [ "$document" , "uiSelectConfig" , "uiSelectMinErr" , "uisOffset" , "$compile" , "$parse" , "$timeout" , function ( b , c , a , g , e , f , l ) { return { restrict : "EA" , templateUrl : function ( a , b ) { return ( b . theme ||
c . theme ) + ( angular . isDefined ( b . multiple ) ? "/select-multiple.tpl.html" : "/select.tpl.html" ) } , replace : ! 0 , transclude : ! 0 , require : [ "uiSelect" , "^ngModel" ] , scope : ! 0 , controller : "uiSelectCtrl" , controllerAs : "$select" , compile : function ( e , k ) { var h = /{(.*)}\s*{(.*)}/ . exec ( k . ngClass ) ; h && ( h = "{" + h [ 1 ] + ", " + h [ 2 ] + "}" , k . ngClass = h , e . attr ( "ng-class" , h ) ) ; return angular . isDefined ( k . multiple ) ? e . append ( "<ui-select-multiple/>" ) . removeAttr ( "multiple" ) : e . append ( "<ui-select-single/>" ) , k . inputId && ( e . querySelectorAll ( "input.ui-select-search" ) [ 0 ] . id =
k . inputId ) , function ( e , k , h , n , t ) { function r ( a ) { if ( w . open ) { var b = ! 1 ; if ( b = window . jQuery ? window . jQuery . contains ( k [ 0 ] , a . target ) : k [ 0 ] . contains ( a . target ) , ! b && ! w . clickTriggeredSelect ) { var c ; w . skipFocusser ? c = ! 0 : ( b = [ "input" , "button" , "textarea" , "select" ] , ( c = ( c = angular . element ( a . target ) . controller ( "uiSelect" ) ) && c !== w ) || ( c = ~ b . indexOf ( a . target . tagName . toLowerCase ( ) ) ) ) ; w . close ( c ) ; e . $digest ( ) } w . clickTriggeredSelect = ! 1 } } function q ( ) { null !== F && ( F . replaceWith ( k ) , F = null , k [ 0 ] . style . position = "" , k [ 0 ] . style . left = "" , k [ 0 ] . style . top =
"" , k [ 0 ] . style . width = z , w . setFocus ( ) ) } var w = n [ 0 ] ; n = n [ 1 ] ; w . generatedId = c . generateId ( ) ; w . baseTitle = h . title || "Select box" ; w . focusserTitle = w . baseTitle + " focus" ; w . focusserId = "focusser-" + w . generatedId ; w . closeOnSelect = angular . isDefined ( h . closeOnSelect ) ? f ( h . closeOnSelect ) ( ) : c . closeOnSelect ; e . $watch ( "skipFocusser" , function ( ) { var a = e . $eval ( h . skipFocusser ) ; w . skipFocusser = void 0 !== a ? a : c . skipFocusser } ) ; w . onSelectCallback = f ( h . onSelect ) ; w . onRemoveCallback = f ( h . onRemove ) ; w . ngModel = n ; w . choiceGrouped = function ( a ) { return w . isGrouped &&
a && a . name } ; h . tabindex && h . $observe ( "tabindex" , function ( a ) { w . focusInput . attr ( "tabindex" , a ) ; k . removeAttr ( "tabindex" ) } ) ; e . $watch ( "searchEnabled" , function ( ) { var a = e . $eval ( h . searchEnabled ) ; w . searchEnabled = void 0 !== a ? a : c . searchEnabled } ) ; e . $watch ( "sortable" , function ( ) { var a = e . $eval ( h . sortable ) ; w . sortable = void 0 !== a ? a : c . sortable } ) ; h . $observe ( "limit" , function ( ) { w . limit = angular . isDefined ( h . limit ) ? parseInt ( h . limit , 10 ) : void 0 } ) ; e . $watch ( "removeSelected" , function ( ) { var a = e . $eval ( h . removeSelected ) ; w . removeSelected =
void 0 !== a ? a : c . removeSelected } ) ; h . $observe ( "disabled" , function ( ) { w . disabled = void 0 !== h . disabled && h . disabled } ) ; h . $observe ( "resetSearchInput" , function ( ) { var a = e . $eval ( h . resetSearchInput ) ; w . resetSearchInput = void 0 === a || a } ) ; h . $observe ( "setSearchToAnswer" , function ( ) { var a = e . $eval ( h . setSearchToAnswer ) ; w . setSearchToAnswer = void 0 === a || a } ) ; h . $observe ( "searchBy" , function ( ) { w . searchBy = h . searchBy } ) ; h . $observe ( "paste" , function ( ) { w . paste = e . $eval ( h . paste ) } ) ; h . $observe ( "tagging" , function ( ) { if ( void 0 !== h . tagging ) { var a =
e . $eval ( h . tagging ) ; w . tagging = { isActivated : ! 0 , fct : ! 0 !== a ? a : void 0 } } else w . tagging = { isActivated : ! 1 , fct : void 0 } } ) ; h . $observe ( "taggingLabel" , function ( ) { void 0 !== h . tagging && ( "false" === h . taggingLabel ? w . taggingLabel = ! 1 : w . taggingLabel = void 0 !== h . taggingLabel ? h . taggingLabel : "(new)" ) } ) ; h . $observe ( "taggingTokens" , function ( ) { if ( void 0 !== h . tagging ) { var a = void 0 !== h . taggingTokens ? h . taggingTokens . split ( "|" ) : [ "," , "ENTER" ] ; w . taggingTokens = { isActivated : ! 0 , tokens : a } } } ) ; angular . isDefined ( h . autofocus ) && l ( function ( ) { w . setFocus ( ) } ) ;
angular . isDefined ( h . focusOn ) && e . $on ( h . focusOn , function ( ) { l ( function ( ) { w . setFocus ( ) } ) } ) ; b . on ( "click" , r ) ; e . $on ( "$destroy" , function ( ) { b . off ( "click" , r ) } ) ; t ( e , function ( b ) { b = angular . element ( "<div>" ) . append ( b ) ; var c = b . querySelectorAll ( ".ui-select-match" ) ; if ( c . removeAttr ( "ui-select-match" ) , c . removeAttr ( "data-ui-select-match" ) , 1 !== c . length ) throw a ( "transcluded" , "Expected 1 .ui-select-match but got '{0}'." , c . length ) ; k . querySelectorAll ( ".ui-select-match" ) . replaceWith ( c ) ; c = b . querySelectorAll ( ".ui-select-choices" ) ;
if ( c . removeAttr ( "ui-select-choices" ) , c . removeAttr ( "data-ui-select-choices" ) , 1 !== c . length ) throw a ( "transcluded" , "Expected 1 .ui-select-choices but got '{0}'." , c . length ) ; k . querySelectorAll ( ".ui-select-choices" ) . replaceWith ( c ) ; b = b . querySelectorAll ( ".ui-select-no-choice" ) ; b . removeAttr ( "ui-select-no-choice" ) ; b . removeAttr ( "data-ui-select-no-choice" ) ; 1 == b . length && k . querySelectorAll ( ".ui-select-no-choice" ) . replaceWith ( b ) } ) ; t = e . $eval ( h . appendToBody ) ; ( void 0 !== t ? t : c . appendToBody ) && ( e . $watch ( "$select.open" ,
function ( a ) { a ? ( a = g ( k ) , F = angular . element ( '<div class="ui-select-placeholder"></div>' ) , F [ 0 ] . style . width = a . width + "px" , F [ 0 ] . style . height = a . height + "px" , k . after ( F ) , z = k [ 0 ] . style . width , b . find ( "body" ) . append ( k ) , k [ 0 ] . style . position = "absolute" , k [ 0 ] . style . left = a . left + "px" , k [ 0 ] . style . top = a . top + "px" , k [ 0 ] . style . width = a . width + "px" ) : q ( ) } ) , e . $on ( "$destroy" , function ( ) { q ( ) } ) ) ; var F = null , z = "" , y = null ; e . $watch ( "$select.open" , function ( ) { "auto" !== w . dropdownPosition && "up" !== w . dropdownPosition || e . calculateDropdownPos ( ) } ) ; var A =
function ( a , b ) { a || g ( k ) ; b = b || g ( y ) ; y [ 0 ] . style . position = "absolute" ; y [ 0 ] . style . top = - 1 * b . height + "px" ; k . addClass ( "direction-up" ) } , L = function ( ) { l ( function ( ) { if ( "up" === w . dropdownPosition ) A ( ) ; else { k . removeClass ( "direction-up" ) ; var a = g ( k ) , c = g ( y ) ; a . top + a . height + c . height > ( b [ 0 ] . documentElement . scrollTop || b [ 0 ] . body . scrollTop ) + b [ 0 ] . documentElement . clientHeight ? A ( a , c ) : ( k . removeClass ( "direction-up" ) , a || g ( k ) , c || g ( y ) , y [ 0 ] . style . position = "" , y [ 0 ] . style . top = "" ) } y [ 0 ] . style . opacity = 1 } ) } ; e . calculateDropdownPos = function ( ) { if ( w . open ) { if ( y =
angular . element ( k ) . querySelectorAll ( ".ui-select-dropdown" ) , 0 !== y . length ) if ( y [ 0 ] . style . opacity = 0 , ! g ( y ) . height && w . $animate && w . $animate . on && w . $animate . enabled ( y ) ) { var a = ! 0 ; w . $animate . on ( "enter" , y , function ( b , c ) { "close" === c && a && ( L ( ) , a = ! 1 ) } ) } else L ( ) } else null !== y && 0 !== y . length && ( y [ 0 ] . style . opacity = 0 , y [ 0 ] . style . position = "" , y [ 0 ] . style . top = "" , k . removeClass ( "direction-up" ) ) } } } } } ] ) ; h . directive ( "uiSelectMatch" , [ "uiSelectConfig" , function ( b ) { function c ( a , b ) { return a [ 0 ] . hasAttribute ( b ) ? a . attr ( b ) : a [ 0 ] . hasAttribute ( "data-" +
b ) ? a . attr ( "data-" + b ) : a [ 0 ] . hasAttribute ( "x-" + b ) ? a . attr ( "x-" + b ) : void 0 } return { restrict : "EA" , require : "^uiSelect" , replace : ! 0 , transclude : ! 0 , templateUrl : function ( a ) { a . addClass ( "ui-select-match" ) ; var g = a . parent ( ) ; a = c ( g , "theme" ) || b . theme ; g = angular . isDefined ( c ( g , "multiple" ) ) ; return a + ( g ? "/match-multiple.tpl.html" : "/match.tpl.html" ) } , link : function ( a , c , e , f ) { function g ( a ) { f . allowClear = ! ! angular . isDefined ( a ) && ( "" === a || "true" === a . toLowerCase ( ) ) } f . lockChoiceExpression = e . uiLockChoice ; e . $observe ( "placeholder" , function ( a ) { f . placeholder =
void 0 !== a ? a : b . placeholder } ) ; e . $observe ( "allowClear" , g ) ; g ( e . allowClear ) ; f . multiple && f . sizeSearchInput ( ) } } } ] ) ; h . directive ( "uiSelectMultiple" , [ "uiSelectMinErr" , "$timeout" , function ( f , c ) { return { restrict : "EA" , require : [ "^uiSelect" , "^ngModel" ] , controller : [ "$scope" , "$timeout" , function ( a , b ) { var c , g = this , f = a . $select ; angular . isUndefined ( f . selected ) && ( f . selected = [ ] ) ; a . $evalAsync ( function ( ) { c = a . ngModel } ) ; g . activeMatchIndex = - 1 ; g . updateModel = function ( ) { c . $setViewValue ( Date . now ( ) ) ; g . refreshComponent ( ) } ; g . refreshComponent =
function ( ) { f . refreshItems ( ) ; f . sizeSearchInput ( ) } ; g . removeChoice = function ( c ) { var e = f . selected [ c ] ; if ( ! e . _uiSelectChoiceLocked ) { var l = { } ; l [ f . parserResult . itemName ] = e ; f . selected . splice ( c , 1 ) ; g . activeMatchIndex = - 1 ; f . sizeSearchInput ( ) ; b ( function ( ) { f . onRemoveCallback ( a , { $item : e , $model : f . parserResult . modelMapper ( a , l ) } ) } ) ; g . updateModel ( ) } } ; g . getPlaceholder = function ( ) { return f . selected && f . selected . length ? void 0 : f . placeholder } } ] , controllerAs : "$selectMultiple" , link : function ( a , g , e , h ) { function l ( a ) { return angular . isNumber ( a . selectionStart ) ?
a . selectionStart : a . value . length } function k ( a ) { function c ( ) { switch ( a ) { case b . LEFT : return ~ y . activeMatchIndex ? k : g ; case b . RIGHT : return ~ y . activeMatchIndex && f !== g ? h : ( r . activate ( ) , ! 1 ) ; case b . BACKSPACE : return ~ y . activeMatchIndex ? ( y . removeChoice ( f ) , k ) : g ; case b . DELETE : return ! ! ~ y . activeMatchIndex && ( y . removeChoice ( y . activeMatchIndex ) , f ) } } var e = l ( r . searchInput [ 0 ] ) , g = r . selected . length - 1 , f = y . activeMatchIndex , h = y . activeMatchIndex + 1 , k = y . activeMatchIndex - 1 , n = f ; return ! ( 0 < e || r . search . length && a == b . RIGHT ) && ( r . close ( ) , n =
c ( ) , r . selected . length && ! 1 !== n ? y . activeMatchIndex = Math . min ( g , Math . max ( 0 , n ) ) : y . activeMatchIndex = - 1 , ! 0 ) } function t ( a ) { return void 0 === a || void 0 === r . search ? ! 1 : 0 < a . filter ( function ( a ) { return void 0 !== r . search . toUpperCase ( ) && void 0 !== a && a . toUpperCase ( ) === r . search . toUpperCase ( ) } ) . length } function w ( a , b ) { var c = - 1 ; if ( angular . isArray ( a ) ) for ( var e = angular . copy ( a ) , g = 0 ; g < e . length ; g ++ ) if ( void 0 === r . tagging . fct ) e [ g ] + " " + r . taggingLabel === b && ( c = g ) ; else { var f = e [ g ] ; angular . isObject ( f ) && ( f . isTag = ! 0 ) ; angular . equals ( f , b ) &&
( c = g ) } return c } var r = h [ 0 ] , z = a . ngModel = h [ 1 ] , y = a . $selectMultiple ; r . multiple = ! 0 ; r . focusInput = r . searchInput ; z . $isEmpty = function ( a ) { return ! a || 0 === a . length } ; z . $parsers . unshift ( function ( ) { for ( var b , c = [ ] , e = r . selected . length - 1 ; 0 <= e ; e -- ) b = { } , b [ r . parserResult . itemName ] = r . selected [ e ] , b = r . parserResult . modelMapper ( a , b ) , c . unshift ( b ) ; return c } ) ; z . $formatters . unshift ( function ( b ) { var c , e = r . parserResult && r . parserResult . source ( a , { $select : { search : "" } } ) , g = { } ; if ( ! e ) return b ; var f = [ ] , l = function ( b , e ) { if ( b && b . length ) { for ( var l =
b . length - 1 ; 0 <= l ; l -- ) { if ( g [ r . parserResult . itemName ] = b [ l ] , c = r . parserResult . modelMapper ( a , g ) , r . parserResult . trackByExp ) { var h = /(\w*)\./ . exec ( r . parserResult . trackByExp ) , k = /\.([^\s]+)/ . exec ( r . parserResult . trackByExp ) ; if ( h && 0 < h . length && h [ 1 ] == r . parserResult . itemName && k && 0 < k . length && c [ k [ 1 ] ] == e [ k [ 1 ] ] ) return f . unshift ( b [ l ] ) , ! 0 } if ( angular . equals ( c , e ) ) return f . unshift ( b [ l ] ) , ! 0 } return ! 1 } } ; if ( ! b ) return f ; for ( var h = b . length - 1 ; 0 <= h ; h -- ) l ( r . selected , b [ h ] ) || l ( e , b [ h ] ) || f . unshift ( b [ h ] ) ; return f } ) ; a . $watchCollection ( function ( ) { return z . $modelValue } ,
function ( a , b ) { b != a && ( angular . isDefined ( z . $modelValue ) && ( z . $modelValue = null ) , y . refreshComponent ( ) ) } ) ; z . $render = function ( ) { if ( ! angular . isArray ( z . $viewValue ) ) { if ( ! angular . isUndefined ( z . $viewValue ) && null !== z . $viewValue ) throw f ( "multiarr" , "Expected model value to be array but got '{0}'" , z . $viewValue ) ; r . selected = [ ] } r . selected = z . $viewValue ; y . refreshComponent ( ) ; a . $evalAsync ( ) } ; a . $on ( "uis:select" , function ( a , b ) { r . selected . length >= r . limit || ( r . selected . push ( b ) , y . updateModel ( ) ) } ) ; a . $on ( "uis:activate" , function ( ) { y . activeMatchIndex =
- 1 } ) ; a . $watch ( "$select.disabled" , function ( a , b ) { b && ! a && r . sizeSearchInput ( ) } ) ; r . searchInput . on ( "keydown" , function ( c ) { var e = c . which ; a . $apply ( function ( ) { var a = ! 1 ; b . isHorizontalMovement ( e ) && ( a = k ( e ) ) ; a && e != b . TAB && ( c . preventDefault ( ) , c . stopPropagation ( ) ) } ) } ) ; r . searchInput . on ( "keyup" , function ( c ) { if ( ( b . isVerticalMovement ( c . which ) || a . $evalAsync ( function ( ) { r . activeIndex = ! 1 === r . taggingLabel ? - 1 : 0 } ) , r . tagging . isActivated && 0 < r . search . length ) && ! ( c . which === b . TAB || b . isControl ( c ) || b . isFunctionKey ( c ) || c . which === b . ESC ||
b . isVerticalMovement ( c . which ) || ( r . activeIndex = ! 1 === r . taggingLabel ? - 1 : 0 , ! 1 === r . taggingLabel ) ) ) { var e , g , f , l , h = angular . copy ( r . items ) ; c = angular . copy ( r . items ) ; var k = ! 1 , n = - 1 ; if ( void 0 !== r . tagging . fct ) { if ( f = r . $filter ( "filter" ) ( h , { isTag : ! 0 } ) , 0 < f . length && ( l = f [ 0 ] ) , 0 < h . length && l && ( k = ! 0 , h = h . slice ( 1 , h . length ) , c = c . slice ( 1 , c . length ) ) , e = r . tagging . fct ( r . search ) , c . some ( function ( a ) { return angular . equals ( a , e ) } ) || r . selected . some ( function ( a ) { return angular . equals ( a , e ) } ) ) return void a . $evalAsync ( function ( ) { r . activeIndex =
0 ; r . items = h } ) ; e && ( e . isTag = ! 0 ) } else { if ( f = r . $filter ( "filter" ) ( h , function ( a ) { return a . match ( r . taggingLabel ) } ) , 0 < f . length && ( l = f [ 0 ] ) , g = h [ 0 ] , void 0 !== g && 0 < h . length && l && ( k = ! 0 , h = h . slice ( 1 , h . length ) , c = c . slice ( 1 , c . length ) ) , e = r . search + " " + r . taggingLabel , - 1 < w ( r . selected , r . search ) ) return ; if ( t ( c . concat ( r . selected ) ) ) return void ( k && ( h = c , a . $evalAsync ( function ( ) { r . activeIndex = 0 ; r . items = h } ) ) ) ; if ( t ( c ) ) return void ( k && ( r . items = c . slice ( 1 , c . length ) ) ) } k && ( n = w ( r . selected , e ) ) ; - 1 < n ? h = h . slice ( n + 1 , h . length - 1 ) : ( h = [ ] , e && h . push ( e ) ,
h = h . concat ( c ) ) ; a . $evalAsync ( function ( ) { if ( r . activeIndex = 0 , r . items = h , r . isGrouped ) { var a = e ? h . slice ( 1 ) : h ; r . setItemsFn ( a ) ; e && ( r . items . unshift ( e ) , r . groups . unshift ( { name : "" , items : [ e ] , tagging : ! 0 } ) ) } } ) } } ) ; r . searchInput . on ( "blur" , function ( ) { c ( function ( ) { y . activeMatchIndex = - 1 } ) } ) } } } ] ) ; h . directive ( "uiSelectNoChoice" , [ "uiSelectConfig" , function ( b ) { return { restrict : "EA" , require : "^uiSelect" , replace : ! 0 , transclude : ! 0 , templateUrl : function ( c ) { c . addClass ( "ui-select-no-choice" ) ; return ( c . parent ( ) . attr ( "theme" ) || b . theme ) +
"/no-choice.tpl.html" } } } ] ) ; h . directive ( "uiSelectSingle" , [ "$timeout" , "$compile" , function ( f , c ) { return { restrict : "EA" , require : [ "^uiSelect" , "^ngModel" ] , link : function ( a , g , e , h ) { var l = h [ 0 ] , k = h [ 1 ] ; k . $parsers . unshift ( function ( b ) { var c = { } ; return c [ l . parserResult . itemName ] = b , l . parserResult . modelMapper ( a , c ) } ) ; k . $formatters . unshift ( function ( b ) { var c , e = l . parserResult && l . parserResult . source ( a , { $select : { search : "" } } ) , g = { } ; if ( e ) { var f = function ( e ) { return g [ l . parserResult . itemName ] = e , c = l . parserResult . modelMapper ( a , g ) ,
c === b } ; if ( l . selected && f ( l . selected ) ) return l . selected ; for ( var h = e . length - 1 ; 0 <= h ; h -- ) if ( f ( e [ h ] ) ) return e [ h ] } return b } ) ; a . $watch ( "$select.selected" , function ( a ) { k . $viewValue !== a && k . $setViewValue ( a ) } ) ; k . $render = function ( ) { l . selected = k . $viewValue } ; a . $on ( "uis:select" , function ( a , b ) { l . selected = b } ) ; a . $on ( "uis:close" , function ( a , b ) { f ( function ( ) { l . focusser . prop ( "disabled" , ! 1 ) ; b || l . focusser [ 0 ] . focus ( ) } , 0 , ! 1 ) } ) ; a . $on ( "uis:activate" , function ( ) { t . prop ( "disabled" , ! 0 ) } ) ; var t = 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' />" ) ;
c ( t ) ( a ) ; l . focusser = t ; l . focusInput = t ; g . parent ( ) . append ( t ) ; t . bind ( "focus" , function ( ) { a . $evalAsync ( function ( ) { l . focus = ! 0 } ) } ) ; t . bind ( "blur" , function ( ) { a . $evalAsync ( function ( ) { l . focus = ! 1 } ) } ) ; t . bind ( "keydown" , function ( c ) { return c . which === b . BACKSPACE ? ( c . preventDefault ( ) , c . stopPropagation ( ) , l . select ( void 0 ) , void a . $apply ( ) ) : void ( c . which === b . TAB || b . isControl ( c ) || b . isFunctionKey ( c ) || c . which === b . ESC || ( c . which != b . DOWN && c . which != b . UP && c . which != b . ENTER && c . which != b . SPACE || ( c . preventDefault ( ) , c . stopPropagation ( ) ,
l . activate ( ) ) , a . $digest ( ) ) ) } ) ; t . bind ( "keyup input" , function ( c ) { c . which === b . TAB || b . isControl ( c ) || b . isFunctionKey ( c ) || c . which === b . ESC || c . which == b . ENTER || c . which === b . BACKSPACE || ( l . activate ( t . val ( ) ) , t . val ( "" ) , a . $digest ( ) ) } ) } } } ] ) ; h . directive ( "uiSelectSort" , [ "$timeout" , "uiSelectConfig" , "uiSelectMinErr" , function ( b , c , a ) { return { require : [ "^^uiSelect" , "^ngModel" ] , link : function ( c , e , f , l ) { if ( null === c [ f . uiSelectSort ] ) throw a ( "sort" , "Expected a list to sort" ) ; var g = l [ 0 ] , h = l [ 1 ] , k = angular . extend ( { axis : "horizontal" } ,
c . $eval ( f . uiSelectSortOptions ) ) . axis ; c . $watch ( function ( ) { return g . sortable } , function ( a ) { a ? e . attr ( "draggable" , ! 0 ) : e . removeAttr ( "draggable" ) } ) ; e . on ( "dragstart" , function ( a ) { e . addClass ( "dragging" ) ; ( a . dataTransfer || a . originalEvent . dataTransfer ) . setData ( "text" , c . $index . toString ( ) ) } ) ; e . on ( "dragend" , function ( ) { y ( "dragging" ) } ) ; var t , z = function ( a , b ) { this . splice ( b , 0 , this . splice ( a , 1 ) [ 0 ] ) } , y = function ( a ) { angular . forEach ( g . $element . querySelectorAll ( "." + a ) , function ( b ) { angular . element ( b ) . removeClass ( a ) } ) } , F = function ( a ) { a . preventDefault ( ) ;
( "vertical" === k ? a . offsetY || a . layerY || ( a . originalEvent ? a . originalEvent . offsetY : 0 ) : a . offsetX || a . layerX || ( a . originalEvent ? a . originalEvent . offsetX : 0 ) ) < this [ "vertical" === k ? "offsetHeight" : "offsetWidth" ] / 2 ? ( y ( "dropping-after" ) , e . addClass ( "dropping-before" ) ) : ( y ( "dropping-before" ) , e . addClass ( "dropping-after" ) ) } , A = function ( a ) { a . preventDefault ( ) ; var c = parseInt ( ( a . dataTransfer || a . originalEvent . dataTransfer ) . getData ( "text" ) , 10 ) ; b . cancel ( t ) ; t = b ( function ( ) { D ( c ) } , 20 ) } , D = function ( a ) { var b = c . $eval ( f . uiSelectSort ) ,
g = b [ a ] , l = null , l = e . hasClass ( "dropping-before" ) ? a < c . $index ? c . $index - 1 : c . $index : a < c . $index ? c . $index : c . $index + 1 ; z . apply ( b , [ a , l ] ) ; h . $setViewValue ( Date . now ( ) ) ; c . $apply ( function ( ) { c . $emit ( "uiSelectSort:change" , { array : b , item : g , from : a , to : l } ) } ) ; y ( "dropping" ) ; y ( "dropping-before" ) ; y ( "dropping-after" ) ; e . off ( "drop" , A ) } ; e . on ( "dragenter" , function ( ) { e . hasClass ( "dragging" ) || ( e . addClass ( "dropping" ) , e . on ( "dragover" , F ) , e . on ( "drop" , A ) ) } ) ; e . on ( "dragleave" , function ( a ) { a . target == e && ( y ( "dropping" ) , y ( "dropping-before" ) , y ( "dropping-after" ) ,
e . off ( "dragover" , F ) , e . off ( "drop" , A ) ) } ) } } } ] ) ; h . factory ( "$$uisDebounce" , [ "$timeout" , function ( b ) { return function ( c , a ) { var g ; return function ( ) { var e = this , f = Array . prototype . slice . call ( arguments ) ; g && b . cancel ( g ) ; g = b ( function ( ) { c . apply ( e , f ) } , a ) } } } ] ) ; h . service ( "uisRepeatParser" , [ "uiSelectMinErr" , "$parse" , function ( b , c ) { this . parse = function ( a ) { var g ; if ( g = a . 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*$/ ) ,
! g ) throw b ( "iexp" , "Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'." , a ) ; a = g [ 5 ] ; var e = "" ; if ( g [ 3 ] ) { a = g [ 5 ] . replace ( /(^\()|(\)$)/g , "" ) ; var f = g [ 5 ] . match ( /^\s*(?:[\s\S]+?)(?:[^\|]|\|\|)+([\s\S]*)\s*$/ ) ; f && f [ 1 ] . trim ( ) && ( e = f [ 1 ] , a = a . replace ( e , "" ) ) } return { itemName : g [ 4 ] || g [ 2 ] , keyName : g [ 3 ] , source : c ( a ) , filters : e , trackByExp : g [ 6 ] , modelMapper : c ( g [ 1 ] || g [ 4 ] || g [ 2 ] ) , repeatExpression : function ( a ) { a = this . itemName + " in " + ( a ? "$group.items" : "$select.items" ) ; return this . trackByExp && ( a +=
2017-04-11 07:10:36 +00:00
" track by " + this . trackByExp ) , a } } } ; this . getGroupNgRepeatExpression = function ( ) { return "$group in $select.groups" } } ] ) } ( ) ;
2017-04-11 11:04:48 +00:00
angular . module ( "ui.select" ) . run ( [ "$templateCache" , function ( b ) { b . 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>' ) ; b . put ( "bootstrap/match-multiple.tpl.html" ,
2017-04-11 07:10:36 +00:00
'<span class="ui-select-match"><span ng-repeat="$item in $select.selected"><span class="ui-select-match-item btn btn-default btn-xs" tabindex="-1" type="button" ng-disabled="$select.disabled" ng-click="$selectMultiple.activeMatchIndex = $index;" ng-class="{\'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)"> ×</span> <span uis-transclude-append=""></span></span></span></span>' ) ;
2017-04-11 11:04:48 +00:00
b . 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>' ) ;
b . 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>' ) ; b . 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>' ) ;
b . 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>' ) ;
b . 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>' ) ;
b . 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" 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>' ) ;
b . 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>' ) ;
b . 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>' ) ;
b . 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></div>' ) ;
b . 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>' ) ;
b . put ( "selectize/match.tpl.html" , '<div ng-hide="$select.searchEnabled && ($select.open || $select.isEmpty())" class="ui-select-match" ng-transclude=""></div>' ) ; b . 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()" ng-focus"$select.open="" &&="" !$select.searchenabled="" ?="" $select.toggle($event)="" :="" $select.activate()"=""><div class="ui-select-match" ng-hide="$select.setSearchToAnswer"></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.selected && !$select.open)) && !$select.setSearchToAnswer" ng-disabled="$select.disabled" aria-label="{{ $select.baseTitle }}"></div><div class="ui-select-choices"></div></div>' ) } ] ) ;
! function ( b ) { function f ( f , c ) { return { restrict : "A" , scope : { isBusy : "=vBusy" , busyLabel : "@vBusyLabel" , busyText : "@vBusyText" } , compile : function ( a , g ) { var e = b . element ( a . find ( "span" ) ) ; return e [ 0 ] || ( a . html ( "<span>" + a . html ( ) + "</span>" ) , e = b . element ( a . find ( "span" ) ) ) , function ( a , b ) { var f = e . html ( ) , l = a . busyLabel || c . busyLabel , h = a . busyText ; a . $watch ( "isBusy" , function ( a ) { a ? ( b . addClass ( c . states . busy ) , e . html ( l ) ) : ( b . removeClass ( c . states . busy ) , e . html ( h || f ) ) } ) ; g . $observe ( "vBusyLabel" , function ( a ) { l = a } ) ; g . $observe ( "vBusyText" ,
function ( a ) { h = a } ) } } } } function h ( f , c ) { return { restrict : "A" , link : function ( a , g ) { function e ( ) { g . removeClass ( c . states . pressed ) ; q . unbind ( k , e ) } var h = "undefined" != typeof f [ 0 ] . documentElement . ontouchstart , l = h ? "touchstart" : "mousedown" , k = h ? "touchend" : "mouseup" , q = b . element ( f [ 0 ] . body ) ; g . bind ( l , function ( a ) { var l = a . pageX , h = a . pageY , n = g [ 0 ] . getBoundingClientRect ( ) ; a = g [ 0 ] . querySelector ( "v-ripple" ) ; b . element ( a ) . remove ( ) ; a = f [ 0 ] . createElement ( "v-ripple" ) ; a . style . height = a . style . width = Math . max ( n . width , n . height ) + "px" ; g . append ( a ) ;
l = l - n . left - a . offsetWidth / 2 - q [ 0 ] . scrollLeft ; h = h - n . top - a . offsetHeight / 2 - q [ 0 ] . scrollTop ; a . style . left = l + "px" ; a . style . top = h + "px" ; g . addClass ( c . states . pressed ) ; q . bind ( k , e ) } ) } } } b . module ( "vButton.config" , [ ] ) . constant ( "buttonConfig" , { busyLabel : "Loading" , states : { busy : "is-busy" , pressed : "is-pressed" } } ) ; b . module ( "vButton.directives" , [ ] ) ; b . module ( "vButton" , [ "vButton.config" , "vButton.directives" ] ) ; b . module ( "vButton.directives" ) . directive ( "vBusy" , f ) ; f . $inject = [ "$document" , "buttonConfig" ] ; b . module ( "vButton.directives" ) . directive ( "vPressable" ,
2017-04-11 07:10:36 +00:00
h ) ; h . $inject = [ "$document" , "buttonConfig" ] } ( angular ) ;
2017-04-11 11:04:48 +00:00
( function ( b , f , h ) { function k ( a , b ) { b = b || { } ; f . forEach ( b , function ( a , c ) { delete b [ c ] } ) ; for ( var c in a ) ! a . hasOwnProperty ( c ) || "$" === c . charAt ( 0 ) && "$" === c . charAt ( 1 ) || ( b [ c ] = a [ c ] ) ; return b } var c = f . $$minErr ( "$resource" ) , a = /^(\.[a-zA-Z_$@][0-9a-zA-Z_$@]*)+$/ ; f . module ( "ngResource" , [ "ng" ] ) . provider ( "$resource" , function ( ) { var b = /^https?:\/\/[^\/]*/ , e = this ; this . defaults = { stripTrailingSlashes : ! 0 , actions : { get : { method : "GET" } , save : { method : "POST" } , query : { method : "GET" , isArray : ! 0 } , remove : { method : "DELETE" } , "delete" : { method : "DELETE" } } } ;
this . $get = [ "$http" , "$log" , "$q" , function ( g , l , n ) { function t ( a , b ) { this . template = a ; this . defaults = y ( { } , e . defaults , b ) ; this . urlParams = { } } function w ( b , q , u , J ) { function p ( b , e ) { var g = { } ; return e = y ( { } , q , e ) , z ( e , function ( e , l ) { A ( e ) && ( e = e ( ) ) ; var k ; if ( e && e . charAt && "@" == e . charAt ( 0 ) ) { k = b ; var n = e . substr ( 1 ) ; if ( null == n || "" === n || "hasOwnProperty" === n || ! a . test ( "." + n ) ) throw c ( "badmember" , n ) ; for ( var n = n . split ( "." ) , t = 0 , r = n . length ; t < r && f . isDefined ( k ) ; t ++ ) { var q = n [ t ] ; k = null !== k ? k [ q ] : h } } else k = e ; g [ l ] = k } ) , g } function D ( a ) { return a . resource }
function K ( a ) { k ( a || { } , this ) } var L = new t ( b , J ) ; return u = y ( { } , e . defaults . actions , u ) , K . prototype . toJSON = function ( ) { var a = y ( { } , this ) ; return delete a . $promise , delete a . $resolved , a } , z ( u , function ( a , b ) { var e = /^(POST|PUT|PATCH)$/i . test ( a . method ) ; K [ b ] = function ( t , q , w , E ) { var u , M , R , H = { } ; switch ( arguments . length ) { case 4 : R = E , M = w ; case 3 : case 2 : if ( ! A ( q ) ) { H = t ; u = q ; M = w ; break } if ( A ( t ) ) { M = t ; R = q ; break } M = q ; R = w ; case 1 : A ( t ) ? M = t : e ? u = t : H = t ; break ; case 0 : break ; default : throw c ( "badargs" , arguments . length ) ; } var Y = this instanceof K ,
T = Y ? u : a . isArray ? [ ] : new K ( u ) , J = { } , I = a . interceptor && a . interceptor . response || D , S = a . interceptor && a . interceptor . responseError || h ; return z ( a , function ( a , b ) { switch ( b ) { default : J [ b ] = F ( a ) ; break ; case "params" : case "isArray" : case "interceptor" : break ; case "timeout" : a && ! f . isNumber ( a ) && l . debug ( "ngResource:\n Only numeric values are allowed as `timeout`.\n Promises are not supported in $resource, because the same value would be used for multiple requests.\n If you need support for cancellable $resource actions, you should upgrade to version 1.5 or higher." ) } } ) ,
e && ( J . data = u ) , L . setUrlParams ( J , y ( { } , p ( u , a . params || { } ) , H ) , a . url ) , H = g ( J ) . then ( function ( e ) { var g = e . data , l = T . $promise ; if ( g ) { if ( f . isArray ( g ) !== ! ! a . isArray ) throw c ( "badcfg" , b , a . isArray ? "array" : "object" , f . isArray ( g ) ? "array" : "object" , J . method , J . url ) ; a . isArray ? ( T . length = 0 , z ( g , function ( a ) { "object" == typeof a ? T . push ( new K ( a ) ) : T . push ( a ) } ) ) : ( k ( g , T ) , T . $promise = l ) } return T . $resolved = ! 0 , e . resource = T , e } , function ( a ) { return T . $resolved = ! 0 , ( R || r ) ( a ) , n . reject ( a ) } ) , H = H . then ( function ( a ) { var b = I ( a ) ; return ( M || r ) ( b , a . headers ) ,
b } , S ) , Y ? H : ( T . $promise = H , T . $resolved = ! 1 , T ) } ; K . prototype [ "$" + b ] = function ( a , c , e ) { return A ( a ) && ( e = c , c = a , a = { } ) , a = K [ b ] . call ( this , a , this , c , e ) , a . $promise || a } } ) , K . bind = function ( a ) { return w ( b , y ( { } , q , a ) , u ) } , K } var r = f . noop , z = f . forEach , y = f . extend , F = f . copy , A = f . isFunction ; return t . prototype = { setUrlParams : function ( a , e , g ) { var l , h , k = this , n = g || k . template , t = "" , q = k . urlParams = { } ; z ( n . split ( /\W/ ) , function ( a ) { if ( "hasOwnProperty" === a ) throw c ( "badname" ) ; ! /^\d+$/ . test ( a ) && a && ( new RegExp ( "(^|[^\\\\]):" + a + "(\\W|$)" ) ) . test ( n ) &&
( q [ a ] = ! 0 ) } ) ; n = n . replace ( /\\:/g , ":" ) ; n = n . replace ( b , function ( a ) { return t = a , "" } ) ; e = e || { } ; z ( k . urlParams , function ( a , b ) { l = e . hasOwnProperty ( b ) ? e [ b ] : k . defaults [ b ] ; f . isDefined ( l ) && null !== l ? ( h = encodeURIComponent ( l ) . replace ( /%40/gi , "@" ) . replace ( /%3A/gi , ":" ) . replace ( /%24/g , "$" ) . replace ( /%2C/gi , "," ) . replace ( /%20/g , "%20" ) . replace ( /%26/gi , "&" ) . replace ( /%3D/gi , "=" ) . replace ( /%2B/gi , "+" ) , n = n . replace ( new RegExp ( ":" + b + "(\\W|$)" , "g" ) , function ( a , b ) { return h + b } ) ) : n = n . replace ( new RegExp ( "(/?):" + b + "(\\W|$)" , "g" ) , function ( a ,
b , c ) { return "/" == c . charAt ( 0 ) ? c : b + c } ) } ) ; k . defaults . stripTrailingSlashes && ( n = n . replace ( /\/+$/ , "" ) || "/" ) ; n = n . replace ( /\/\.(?=\w+($|\?))/ , "." ) ; a . url = t + n . replace ( /\/\\\./ , "/." ) ; z ( e , function ( b , c ) { k . urlParams [ c ] || ( a . params = a . params || { } , a . params [ c ] = b ) } ) } } , w } ] } ) } ) ( window , window . angular ) ; "undefined" != typeof module && "undefined" != typeof exports && module . exports === exports && ( module . exports = "ui.router" ) ;
( function ( b , f , h ) { function k ( a , b ) { return W ( new ( W ( function ( ) { } , { prototype : a } ) ) , b ) } function c ( a ) { return ca ( arguments , function ( b ) { b !== a && ca ( b , function ( b , c ) { a . hasOwnProperty ( c ) || ( a [ c ] = b ) } ) } ) , a } function a ( a ) { if ( Object . keys ) return Object . keys ( a ) ; var b = [ ] ; return ca ( a , function ( a , c ) { b . push ( c ) } ) , b } function g ( a , b , c ) { if ( Array . prototype . indexOf ) return a . indexOf ( b , Number ( c ) || 0 ) ; var e = a . length >>> 0 ; c = Number ( c ) || 0 ; c = 0 > c ? Math . ceil ( c ) : Math . floor ( c ) ; for ( 0 > c && ( c += e ) ; e > c ; c ++ ) if ( c in a && a [ c ] === b ) return c ; return - 1 } function e ( b ,
c , e , f ) { var l , h = [ ] , k ; for ( k in e . path ) { if ( e . path [ k ] !== f . path [ k ] ) break ; h . push ( e . path [ k ] ) } e = { } ; f = [ ] ; for ( var n in h ) if ( h [ n ] && h [ n ] . params && ( l = a ( h [ n ] . params ) , l . length ) ) for ( var v in l ) 0 <= g ( f , l [ v ] ) || ( f . push ( l [ v ] ) , e [ l [ v ] ] = b [ l [ v ] ] ) ; return W ( { } , e , c ) } function t ( a , b , c ) { if ( ! c ) { c = [ ] ; for ( var e in a ) c . push ( e ) } for ( e = 0 ; e < c . length ; e ++ ) { var g = c [ e ] ; if ( a [ g ] != b [ g ] ) return ! 1 } return ! 0 } function l ( a , b ) { var c = { } ; return ca ( a , function ( a ) { c [ a ] = b [ a ] } ) , c } function n ( a ) { var b = { } , c = Array . prototype . concat . apply ( Array . prototype , Array . prototype . slice . call ( arguments ,
1 ) ) ; return ca ( c , function ( c ) { c in a && ( b [ c ] = a [ c ] ) } ) , b } function q ( a ) { var b = { } , c = Array . prototype . concat . apply ( Array . prototype , Array . prototype . slice . call ( arguments , 1 ) ) , e ; for ( e in a ) - 1 == g ( c , e ) && ( b [ e ] = a [ e ] ) ; return b } function w ( a , b ) { var c = pa ( a ) , e = c ? [ ] : { } ; return ca ( a , function ( a , g ) { b ( a , g ) && ( e [ c ? e . length : g ] = a ) } ) , e } function r ( a , b ) { var c = pa ( a ) ? [ ] : { } ; return ca ( a , function ( a , e ) { c [ e ] = b ( a , e ) } ) , c } function z ( b , e ) { var f = { } , l = [ ] , k = W ( b . when ( f ) , { $$promises : f , $$values : f } ) ; this . study = function ( n ) { function v ( a , b ) { if ( 2 !== E [ b ] ) { if ( w . push ( b ) ,
1 === E [ b ] ) throw w . splice ( 0 , g ( w , b ) ) , Error ( "Cyclic dependency: " + w . join ( " -> " ) ) ; if ( E [ b ] = 1 , ea ( a ) ) p . push ( b , [ function ( ) { return e . get ( a ) } ] , l ) ; else { var c = e . annotate ( a ) ; ca ( c , function ( a ) { a !== b && n . hasOwnProperty ( a ) && v ( n [ a ] , a ) } ) ; p . push ( b , a , c ) } w . pop ( ) ; E [ b ] = 2 } } function t ( a ) { return N ( a ) && a . then && a . $$promises } if ( ! N ( n ) ) throw Error ( "'invocables' must be an object" ) ; var r = a ( n || { } ) , p = [ ] , w = [ ] , E = { } ; return ca ( n , v ) , n = w = E = null , function ( a , g , l ) { function n ( ) { -- U || ( F || c ( y , g . $$values ) , u . $$values = y , u . $$promises = u . $$promises ||
! 0 , delete u . $$inheritedValues , E . resolve ( y ) ) } function v ( a ) { u . $$failure = a ; E . reject ( a ) } function w ( c , g , f ) { function h ( a ) { t . reject ( a ) ; v ( a ) } function k ( ) { if ( ! V ( u . $$failure ) ) try { t . resolve ( e . invoke ( g , l , y ) ) , t . promise . then ( function ( a ) { y [ c ] = a ; n ( ) } , h ) } catch ( Mb ) { h ( Mb ) } } var t = b . defer ( ) , q = 0 ; ca ( f , function ( b ) { z . hasOwnProperty ( b ) && ! a . hasOwnProperty ( b ) && ( q ++ , z [ b ] . then ( function ( a ) { y [ b ] = a ; -- q || k ( ) } , h ) ) } ) ; q || k ( ) ; z [ c ] = t . promise } if ( t ( a ) && l === h && ( l = g , g = a , a = null ) , a ) { if ( ! N ( a ) ) throw Error ( "'locals' must be an object" ) ; } else a =
f ; if ( g ) { if ( ! t ( g ) ) throw Error ( "'parent' must be a promise returned by $resolve.resolve()" ) ; } else g = k ; var E = b . defer ( ) , u = E . promise , z = u . $$promises = { } , y = W ( { } , a ) , U = 1 + p . length / 3 , F = ! 1 ; if ( V ( g . $$failure ) ) return v ( g . $$failure ) , u ; g . $$inheritedValues && c ( y , q ( g . $$inheritedValues , r ) ) ; W ( z , g . $$promises ) ; g . $$values ? ( F = c ( y , q ( g . $$values , r ) ) , u . $$inheritedValues = q ( g . $$values , r ) , n ( ) ) : ( g . $$inheritedValues && ( u . $$inheritedValues = q ( g . $$inheritedValues , r ) ) , g . then ( n , v ) ) ; for ( var A = 0 , ia = p . length ; ia > A ; A += 3 ) a . hasOwnProperty ( p [ A ] ) ?
n ( ) : w ( p [ A ] , p [ A + 1 ] , p [ A + 2 ] ) ; return u } } ; this . resolve = function ( a , b , c , e ) { return this . study ( a ) ( b , c , e ) } } function y ( a , b , c ) { this . fromConfig = function ( a , b , c ) { return V ( a . template ) ? this . fromString ( a . template , b ) : V ( a . templateUrl ) ? this . fromUrl ( a . templateUrl , b ) : V ( a . templateProvider ) ? this . fromProvider ( a . templateProvider , b , c ) : null } ; this . fromString = function ( a , b ) { return Q ( a ) ? a ( b ) : a } ; this . fromUrl = function ( c , e ) { return Q ( c ) && ( c = c ( e ) ) , null == c ? null : a . get ( c , { cache : b , headers : { Accept : "text/html" } } ) . then ( function ( a ) { return a . data } ) } ;
this . fromProvider = function ( a , b , e ) { return c . invoke ( a , null , e || { params : b } ) } } function F ( a , b , c ) { function e ( b , c , e , g ) { if ( E . push ( b ) , p [ b ] ) return p [ b ] ; if ( ! /^\w+([-.]+\w+)*(?:\[\])?$/ . test ( b ) ) throw Error ( "Invalid parameter name '" + b + "' in pattern '" + a + "'" ) ; if ( w [ b ] ) throw Error ( "Duplicate parameter name '" + b + "' in pattern '" + a + "'" ) ; return w [ b ] = new ma . Param ( b , c , e , g ) , w [ b ] } function g ( a , b , c , e ) { a = a . replace ( /[\\\[\]\^$*+?.()|{}]/g , "\\$&" ) ; if ( ! b ) return a ; switch ( c ) { case ! 1 : c = [ "(" , ")" + ( e ? "?" : "" ) ] ; break ; case ! 0 : a = a . replace ( /\/$/ ,
"" ) ; c = [ "(?:/(" , ")|/)?" ] ; break ; default : c = [ "(" + c + "|" , ")?" ] } return a + c [ 0 ] + b + c [ 1 ] } function f ( c , e ) { var g , f , l , n , v ; return g = c [ 2 ] || c [ 3 ] , v = b . params [ g ] , l = a . substring ( q , c . index ) , f = e ? c [ 4 ] : c [ 4 ] || ( "*" == c [ 1 ] ? ".*" : null ) , f && ( n = ma . type ( f ) || k ( ma . type ( "string" ) , { pattern : new RegExp ( f , b . caseInsensitive ? "i" : h ) } ) ) , { id : g , regexp : f , segment : l , type : n , cfg : v } } b = W ( { params : { } } , N ( b ) ? b : { } ) ; var l , n = /([:*])([\w\[\]]+)|\{([\w\[\]]+)(?:\:\s*((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g , v = /([:]?)([\w\[\].-]+)|\{([\w\[\].-]+)(?:\:\s*((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g ,
t = "^" , q = 0 , r = this . segments = [ ] , p = c ? c . params : { } , w = this . params = c ? c . params . $$new ( ) : new ma . ParamSet , E = [ ] ; this . source = a ; for ( var u , z ; ( l = n . exec ( a ) ) && ( u = f ( l , ! 1 ) , ! ( 0 <= u . segment . indexOf ( "?" ) ) ) ; ) z = e ( u . id , u . type , u . cfg , "path" ) , t += g ( u . segment , z . type . pattern . source , z . squash , z . isOptional ) , r . push ( u . segment ) , q = n . lastIndex ; c = a . substring ( q ) ; l = c . indexOf ( "?" ) ; if ( 0 <= l ) { var y = this . sourceSearch = c . substring ( l ) ; if ( c = c . substring ( 0 , l ) , this . sourcePath = a . substring ( 0 , q + l ) , 0 < y . length ) for ( q = 0 ; l = v . exec ( y ) ; ) u = f ( l , ! 0 ) , z = e ( u . id , u . type ,
u . cfg , "search" ) , q = n . lastIndex } else this . sourcePath = a , this . sourceSearch = "" ; t += g ( c ) + ( ! 1 === b . strict ? "/?" : "" ) + "$" ; r . push ( c ) ; this . regexp = new RegExp ( t , b . caseInsensitive ? "i" : h ) ; this . prefix = r [ 0 ] ; this . $$paramNames = E } function A ( a ) { W ( this , a ) } function D ( ) { function b ( a ) { return null != a ? a . toString ( ) . replace ( /~/g , "~~" ) . replace ( /\//g , "~2F" ) : a } function c ( a ) { return Q ( a ) || pa ( a ) && Q ( a [ a . length - 1 ] ) } function e ( ) { for ( ; z . length ; ) { var a = z . shift ( ) ; if ( a . pattern ) throw Error ( "You cannot override a type's .pattern at runtime." ) ;
f . extend ( E [ a . name ] , n . invoke ( a . def ) ) } } function l ( a ) { W ( this , a || { } ) } ma = this ; var n , t = ! 1 , q = ! 0 , p = ! 1 , E = { } , u = ! 0 , z = [ ] , y = { string : { encode : b , decode : function ( a ) { return null != a ? a . toString ( ) . replace ( /~2F/g , "/" ) . replace ( /~~/g , "~" ) : a } , is : function ( a ) { return null == a || ! V ( a ) || "string" == typeof a } , pattern : /[^\/]*/ } , "int" : { encode : b , decode : function ( a ) { return parseInt ( a , 10 ) } , is : function ( a ) { return V ( a ) && this . decode ( a . toString ( ) ) === a } , pattern : /\d+/ } , bool : { encode : function ( a ) { return a ? 1 : 0 } , decode : function ( a ) { return 0 !== parseInt ( a ,
2017-04-11 07:10:36 +00:00
10 ) } , is : function ( a ) { return ! 0 === a || ! 1 === a } , pattern : /0|1/ } , date : { encode : function ( a ) { return this . is ( a ) ? [ a . getFullYear ( ) , ( "0" + ( a . getMonth ( ) + 1 ) ) . slice ( - 2 ) , ( "0" + a . getDate ( ) ) . slice ( - 2 ) ] . join ( "-" ) : h } , decode : function ( a ) { return this . is ( a ) ? a : ( a = this . capture . exec ( a ) ) ? new Date ( a [ 1 ] , a [ 2 ] - 1 , a [ 3 ] ) : h } , is : function ( a ) { return a instanceof Date && ! isNaN ( a . valueOf ( ) ) } , equals : function ( a , b ) { return this . is ( a ) && this . is ( b ) && a . toISOString ( ) === b . toISOString ( ) } , pattern : /[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])/ ,
2017-04-11 11:04:48 +00:00
capture : /([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])/ } , json : { encode : f . toJson , decode : f . fromJson , is : f . isObject , equals : f . equals , pattern : /[^\/]*/ } , any : { encode : f . identity , decode : f . identity , equals : f . equals , pattern : /.*/ } } ; D . $$getDefaultValue = function ( a ) { if ( ! c ( a . value ) ) return a . value ; if ( ! n ) throw Error ( "Injectable functions cannot be called at configuration time" ) ; return n . invoke ( a . value ) } ; this . caseInsensitive = function ( a ) { return V ( a ) && ( t = a ) , t } ; this . strictMode = function ( a ) { return V ( a ) && ( q = a ) , q } ; this . defaultSquashPolicy =
function ( a ) { if ( ! V ( a ) ) return p ; if ( ! 0 !== a && ! 1 !== a && ! ea ( a ) ) throw Error ( "Invalid squash policy: " + a + ". Valid policies: false, true, arbitrary-string" ) ; return p = a , a } ; this . compile = function ( a , b ) { return new F ( a , W ( { strict : q , caseInsensitive : t } , b ) ) } ; this . isMatcher = function ( a ) { if ( ! N ( a ) ) return ! 1 ; var b = ! 0 ; return ca ( F . prototype , function ( c , e ) { Q ( c ) && ( b = b && V ( a [ e ] ) && Q ( a [ e ] ) ) } ) , b } ; this . type = function ( a , b , c ) { if ( ! V ( b ) ) return E [ a ] ; if ( E . hasOwnProperty ( a ) ) throw Error ( "A type named '" + a + "' has already been defined." ) ; return E [ a ] =
new A ( W ( { name : a } , b ) ) , c && ( z . push ( { name : a , def : c } ) , u || e ( ) ) , this } ; ca ( y , function ( a , b ) { E [ b ] = new A ( W ( { name : b } , a ) ) } ) ; E = k ( E , { } ) ; this . $get = [ "$injector" , function ( a ) { return n = a , u = ! 1 , e ( ) , ca ( y , function ( a , b ) { E [ b ] || ( E [ b ] = new A ( a ) ) } ) , this } ] ; this . Param = function ( b , e , l , k ) { function v ( ) { if ( ! n ) throw Error ( "Injectable functions cannot be called at configuration time" ) ; var a = n . invoke ( l . $$fn ) ; if ( null !== a && a !== h && ! t . type . is ( a ) ) throw Error ( "Default value (" + a + ") for parameter '" + t . id + "' is not an instance of Type (" + t . type . name +
")" ) ; return a } var t = this ; l = function ( b ) { var e = N ( b ) ? a ( b ) : [ ] ; return - 1 === g ( e , "value" ) && - 1 === g ( e , "type" ) && - 1 === g ( e , "squash" ) && - 1 === g ( e , "array" ) && ( b = { value : b } ) , b . $$fn = c ( b . value ) ? b . value : function ( ) { return b . value } , b } ( l ) ; e = function ( a , c , e ) { if ( a . type && c ) throw Error ( "Param '" + b + "' has two type configurations." ) ; return c ? c : a . type ? f . isString ( a . type ) ? E [ a . type ] : a . type instanceof A ? a . type : new A ( a . type ) : "config" === e ? E . any : E . string } ( l , e , k ) ; var q = function ( ) { var a = { array : "search" === k && "auto" } , c = b . match ( /\[\]$/ ) ? { array : ! 0 } :
{ } ; return W ( a , c , l ) . array } ( ) ; e = q ? e . $asArray ( q , "search" === k ) : e ; "string" !== e . name || q || "path" !== k || l . value !== h || ( l . value = "" ) ; var u = l . value !== h , z = function ( a , b ) { var c = a . squash ; if ( ! b || ! 1 === c ) return ! 1 ; if ( ! V ( c ) || null == c ) return p ; if ( ! 0 === c || ea ( c ) ) return c ; throw Error ( "Invalid squash policy: '" + c + "'. Valid policies: false, true, or arbitrary string" ) ; } ( l , u ) , y = function ( a , b , c , e ) { var f , l ; b = [ { from : "" , to : c || b ? h : "" } , { from : null , to : c || b ? h : "" } ] ; return f = pa ( a . replace ) ? a . replace : [ ] , ea ( e ) && f . push ( { from : e , to : h } ) , l = r ( f , function ( a ) { return a . from } ) ,
w ( b , function ( a ) { return - 1 === g ( l , a . from ) } ) . concat ( f ) } ( l , q , u , z ) ; W ( this , { id : b , type : e , location : k , array : q , squash : z , replace : y , isOptional : u , value : function ( a ) { function b ( a ) { return function ( b ) { return b . from === a } } return a = function ( a ) { var c = r ( w ( t . replace , b ( a ) ) , function ( a ) { return a . to } ) ; return c . length ? c [ 0 ] : a } ( a ) , V ( a ) ? t . type . $normalize ( a ) : v ( ) } , dynamic : h , config : l , toString : function ( ) { return "{Param:" + b + " " + e + " squash: '" + z + "' optional: " + u + "}" } } ) } ; l . prototype = { $$new : function ( ) { return k ( this , W ( new l , { $$parent : this } ) ) } ,
$$keys : function ( ) { for ( var b = [ ] , c = [ ] , e = this , f = a ( l . prototype ) ; e ; ) c . push ( e ) , e = e . $$parent ; return c . reverse ( ) , ca ( c , function ( c ) { ca ( a ( c ) , function ( a ) { - 1 === g ( b , a ) && - 1 === g ( f , a ) && b . push ( a ) } ) } ) , b } , $$values : function ( a ) { var b = { } , c = this ; return ca ( c . $$keys ( ) , function ( e ) { b [ e ] = c [ e ] . value ( a && a [ e ] ) } ) , b } , $$equals : function ( a , b ) { var c = ! 0 , e = this ; return ca ( e . $$keys ( ) , function ( g ) { e [ g ] . type . equals ( a && a [ g ] , b && b [ g ] ) || ( c = ! 1 ) } ) , c } , $$validates : function ( a ) { var b , c , e , g , l , k = this . $$keys ( ) ; for ( b = 0 ; b < k . length && ( c = this [ k [ b ] ] , e = a [ k [ b ] ] ,
e !== h && null !== e || ! c . isOptional ) ; b ++ ) if ( ( g = c . type . $normalize ( e ) , ! c . type . is ( g ) ) || ( l = c . type . encode ( g ) , f . isString ( l ) && ! c . type . pattern . exec ( l ) ) ) return ! 1 ; return ! 0 } , $$parent : h } ; this . ParamSet = l } function p ( a , b ) { function c ( a ) { a = /^\^((?:\\[^a-zA-Z0-9]|[^\\\[\]\^$*+?.()|{}]+)*)/ . exec ( a . source ) ; return null != a ? a [ 1 ] . replace ( /\\(.)/g , "$1" ) : "" } function e ( a , b ) { return a . replace ( /\$(\$|\d{1,2})/ , function ( a , c ) { return b [ "$" === c ? 0 : Number ( c ) ] } ) } function g ( a , b , c ) { if ( ! c ) return ! 1 ; a = a . invoke ( b , b , { $match : c } ) ; return ! V ( a ) || a } function l ( b ,
c , e , g , l ) { function q ( a ) { function c ( a ) { a = a ( e , b ) ; return ! ! a && ( ea ( a ) && b . replace ( ) . url ( a ) , ! 0 ) } if ( ! a || ! a . defaultPrevented ) { p && b . url ( ) === p ; p = h ; var g = n . length ; for ( a = 0 ; g > a ; a ++ ) if ( c ( n [ a ] ) ) return ; v && c ( v ) } } function r ( ) { return k = k || c . $on ( "$locationChangeSuccess" , q ) } var p , E = g . baseHref ( ) , w = b . url ( ) ; return t || r ( ) , { sync : function ( ) { q ( ) } , listen : function ( ) { return r ( ) } , update : function ( a ) { return a ? void ( w = b . url ( ) ) : void ( b . url ( ) !== w && ( b . url ( w ) , b . replace ( ) ) ) } , push : function ( a , c , e ) { a = a . format ( c || { } ) ; null !== a && c && c [ "#" ] && ( a += "#" +
c [ "#" ] ) ; b . url ( a ) ; p = e && e . $$avoidResync ? b . url ( ) : h ; e && e . replace && b . replace ( ) } , href : function ( c , e , g ) { if ( ! c . validates ( e ) ) return null ; var h = a . html5Mode ( ) ; f . isObject ( h ) && ( h = h . enabled ) ; h = h && l . history ; c = c . format ( e ) ; g = g || { } ; h || null === c || ( c = "#" + a . hashPrefix ( ) + c ) ; null !== c && e && e [ "#" ] && ( c += "#" + e [ "#" ] ) ; e = c ; var k = g . absolute ; if ( c = "/" === E ? e : h ? E . slice ( 0 , - 1 ) + e : k ? E . slice ( 1 ) + e : e , ! g . absolute || ! c ) return c ; g = ! h && c ? "/" : "" ; h = b . port ( ) ; return h = 80 === h || 443 === h ? "" : ":" + h , [ b . protocol ( ) , "://" , b . host ( ) , h , g , c ] . join ( "" ) } } } var k , n = [ ] ,
v = null , t = ! 1 ; this . rule = function ( a ) { if ( ! Q ( a ) ) throw Error ( "'rule' must be a function" ) ; return n . push ( a ) , this } ; this . otherwise = function ( a ) { if ( ea ( a ) ) { var b = a ; a = function ( ) { return b } } else if ( ! Q ( a ) ) throw Error ( "'rule' must be a function" ) ; return v = a , this } ; this . when = function ( a , f ) { var l , h = ea ( f ) ; if ( ea ( a ) && ( a = b . compile ( a ) ) , ! h && ! Q ( f ) && ! pa ( f ) ) throw Error ( "invalid 'handler' in when()" ) ; var k = { matcher : function ( a , c ) { return h && ( l = b . compile ( c ) , c = [ "$match" , function ( a ) { return l . format ( a ) } ] ) , W ( function ( b , e ) { return g ( b ,
c , a . exec ( e . path ( ) , e . search ( ) ) ) } , { prefix : ea ( a . prefix ) ? a . prefix : "" } ) } , regex : function ( a , b ) { if ( a . global || a . sticky ) throw Error ( "when() RegExp must not be global or sticky" ) ; return h && ( l = b , b = [ "$match" , function ( a ) { return e ( l , a ) } ] ) , W ( function ( c , e ) { return g ( c , b , a . exec ( e . path ( ) ) ) } , { prefix : c ( a ) } ) } } , n = { matcher : b . isMatcher ( a ) , regex : a instanceof RegExp } , v ; for ( v in n ) if ( n [ v ] ) return this . rule ( k [ v ] ( a , f ) ) ; throw Error ( "invalid 'what' in when()" ) ; } ; this . deferIntercept = function ( a ) { a === h && ( a = ! 0 ) ; t = a } ; this . $get = l ; l . $inject =
[ "$location" , "$rootScope" , "$injector" , "$browser" , "$sniffer" ] } function u ( b , c ) { function v ( a , b ) { if ( ! a ) return h ; var c = ea ( a ) , e = c ? a : a . name , g = e ; if ( 0 === g . indexOf ( "." ) || 0 === g . indexOf ( "^" ) ) { if ( ! b ) throw Error ( "No reference point given for path '" + e + "'" ) ; b = v ( b ) ; for ( var g = e . split ( "." ) , f = 0 , l = g . length , k = b ; l > f ; f ++ ) if ( "" !== g [ f ] || 0 !== f ) { if ( "^" !== g [ f ] ) break ; if ( ! k . parent ) throw Error ( "Path '" + e + "' not valid for state '" + b . name + "'" ) ; k = k . parent } else k = b ; g = g . slice ( f ) . join ( "." ) ; e = k . name + ( k . name && g ? "." : "" ) + g } e = F [ e ] ; return ! e ||
! c && ( c || e !== a && e . self !== a ) ? h : e } function q ( a , b ) { U [ a ] || ( U [ a ] = [ ] ) ; U [ a ] . push ( b ) } function p ( a ) { for ( a = U [ a ] || [ ] ; a . length ; ) E ( a . shift ( ) ) } function E ( a ) { a = k ( a , { self : a , resolve : a . resolve || { } , toString : function ( ) { return this . name } } ) ; var c = a . name ; if ( ! ea ( c ) || 0 <= c . indexOf ( "@" ) ) throw Error ( "State must have a valid name" ) ; if ( F . hasOwnProperty ( c ) ) throw Error ( "State '" + c + "' is already defined" ) ; var e = - 1 !== c . indexOf ( "." ) ? c . substring ( 0 , c . lastIndexOf ( "." ) ) : ea ( a . parent ) ? a . parent : N ( a . parent ) && ea ( a . parent . name ) ? a . parent . name :
"" ; if ( e && ! F [ e ] ) return q ( e , a . self ) ; for ( var g in D ) Q ( D [ g ] ) && ( a [ g ] = D [ g ] ( a , D . $delegates [ g ] ) ) ; return F [ c ] = a , ! a [ A ] && a . url && b . when ( a . url , [ "$match" , "$stateParams" , function ( b , c ) { y . $current . navigable == a && t ( b , c ) || y . transitionTo ( a , b , { inherit : ! 0 , location : ! 1 } ) } ] ) , p ( c ) , a } function w ( b , c , n , q , p , E , w , U , ia ) { function D ( a , e , g , f ) { e = b . $broadcast ( "$stateNotFound" , a , e , g ) ; if ( e . defaultPrevented ) return w . update ( ) , ka ; if ( ! e . retry ) return null ; if ( f . $retry ) return w . update ( ) , R ; var l = y . transition = c . when ( e . retry ) ; return l . then ( function ( ) { return l !==
y . transition ? K : ( a . options . $retry = ! 0 , y . transitionTo ( a . to , a . toParams , a . options ) ) } , function ( ) { return ka } ) , w . update ( ) , l } function M ( a , b , e , g , h , k ) { var v = e ? b : l ( a . params . $$keys ( ) , b ) ; h . resolve = p . resolve ( a . resolve , { $stateParams : v } , h . resolve , a ) ; b = [ h . resolve . then ( function ( a ) { h . globals = a } ) ] ; return g && b . push ( g ) , c . all ( b ) . then ( function ( ) { var b = [ ] ; return ca ( a . views , function ( c , e ) { var g = c . resolve && c . resolve !== a . resolve ? c . resolve : { } ; g . $template = [ function ( ) { return n . load ( e , { view : c , locals : h . globals , params : v , notify : k . notify } ) ||
"" } ] ; b . push ( p . resolve ( g , h . globals , h . resolve , a ) . then ( function ( b ) { if ( Q ( c . controllerProvider ) || pa ( c . controllerProvider ) ) { var l = f . extend ( { } , g , h . globals ) ; b . $$controller = q . invoke ( c . controllerProvider , null , l ) } else b . $$controller = c . controller ; b . $$state = a ; b . $$controllerAs = c . controllerAs ; h [ e ] = b } ) ) } ) , c . all ( b ) . then ( function ( ) { return h . globals } ) } ) . then ( function ( a ) { return h } ) } var K = c . reject ( Error ( "transition superseded" ) ) , ya = c . reject ( Error ( "transition prevented" ) ) , ka = c . reject ( Error ( "transition aborted" ) ) , R = c . reject ( Error ( "transition failed" ) ) ;
return z . locals = { resolve : null , globals : { $stateParams : { } } } , y = { params : { } , current : z . self , $current : z , transition : null } , y . reload = function ( a ) { return y . transitionTo ( y . current , E , { reload : a || ! 0 , inherit : ! 1 , notify : ! 0 } ) } , y . go = function ( a , b , c ) { return y . transitionTo ( a , b , W ( { inherit : ! 0 , relative : y . $current } , c ) ) } , y . transitionTo = function ( a , g , f ) { g = g || { } ; f = W ( { location : ! 0 , inherit : ! 1 , relative : null , notify : ! 0 , reload : ! 1 , $retry : ! 1 } , f || { } ) ; var h , n = y . $current , t = y . params , r = n . path , p = v ( a , f . relative ) , F = g [ "#" ] ; if ( ! V ( p ) ) { var U = { to : a , toParams : g ,
options : f } , ia = D ( U , n . self , t , f ) ; if ( ia ) return ia ; if ( a = U . to , g = U . toParams , f = U . options , p = v ( a , f . relative ) , ! V ( p ) ) { if ( ! f . relative ) throw Error ( "No such state '" + a + "'" ) ; throw Error ( "Could not resolve '" + a + "' from state '" + f . relative + "'" ) ; } } if ( p [ A ] ) throw Error ( "Cannot transition to abstract state '" + a + "'" ) ; if ( f . inherit && ( g = e ( E , g || { } , y . $current , p ) ) , ! p . params . $$validates ( g ) ) return R ; g = p . params . $$values ( g ) ; a = p ; var ka = a . path , H = 0 , p = ka [ H ] , U = z . locals , Ia = [ ] ; if ( f . reload ) { if ( ea ( f . reload ) || N ( f . reload ) ) { if ( N ( f . reload ) &&
! f . reload . name ) throw Error ( "Invalid reload state object" ) ; ia = ! 0 === f . reload ? r [ 0 ] : v ( f . reload ) ; if ( f . reload && ! ia ) throw Error ( "No such reload state '" + ( ea ( f . reload ) ? f . reload : f . reload . name ) + "'" ) ; for ( ; p && p === r [ H ] && p !== ia ; ) U = Ia [ H ] = p . locals , H ++ , p = ka [ H ] } } else for ( ; p && p === r [ H ] && p . ownParams . $$equals ( g , t ) ; ) U = Ia [ H ] = p . locals , H ++ , p = ka [ H ] ; if ( u ( a , g , n , t , U , f ) ) return F && ( g [ "#" ] = F ) , y . params = g , da ( y . params , E ) , da ( l ( a . params . $$keys ( ) , E ) , a . locals . globals . $stateParams ) , f . location && a . navigable && a . navigable . url && ( w . push ( a . navigable . url ,
g , { $$avoidResync : ! 0 , replace : "replace" === f . location } ) , w . update ( ! 0 ) ) , y . transition = null , c . when ( y . current ) ; if ( g = l ( a . params . $$keys ( ) , g || { } ) , F && ( g [ "#" ] = F ) , f . notify && b . $broadcast ( "$stateChangeStart" , a . self , g , n . self , t , f ) . defaultPrevented ) return b . $broadcast ( "$stateChangeCancel" , a . self , g , n . self , t ) , null == y . transition && w . update ( ) , ya ; F = c . when ( U ) ; for ( ia = H ; ia < ka . length ; ia ++ , p = ka [ ia ] ) U = Ia [ ia ] = k ( U ) , F = M ( p , g , p === a , F , U , f ) ; var Y = y . transition = F . then ( function ( ) { var c , e ; if ( y . transition !== Y ) return K ; for ( c = r . length - 1 ; c >=
H ; c -- ) e = r [ c ] , e . self . onExit && q . invoke ( e . self . onExit , e . self , e . locals . globals ) , e . locals = null ; for ( c = H ; c < ka . length ; c ++ ) e = ka [ c ] , e . locals = Ia [ c ] , e . self . onEnter && q . invoke ( e . self . onEnter , e . self , e . locals . globals ) ; return y . transition !== Y ? K : ( y . $current = a , y . current = a . self , y . params = g , da ( y . params , E ) , y . transition = null , f . location && a . navigable && w . push ( a . navigable . url , a . navigable . locals . globals . $stateParams , { $$avoidResync : ! 0 , replace : "replace" === f . location } ) , f . notify && b . $broadcast ( "$stateChangeSuccess" , a . self , g , n . self ,
t ) , w . update ( ! 0 ) , y . current ) } , function ( e ) { return y . transition !== Y ? K : ( y . transition = null , h = b . $broadcast ( "$stateChangeError" , a . self , g , n . self , t , e ) , h . defaultPrevented || w . update ( ) , c . reject ( e ) ) } ) ; return Y } , y . is = function ( a , b , c ) { c = W ( { relative : y . $current } , c || { } ) ; a = v ( a , c . relative ) ; return V ( a ) ? y . $current === a && ( ! b || t ( a . params . $$values ( b ) , E ) ) : h } , y . includes = function ( b , c , e ) { if ( e = W ( { relative : y . $current } , e || { } ) , ea ( b ) && - 1 < b . indexOf ( "*" ) ) { b = b . split ( "." ) ; for ( var f = y . $current . name . split ( "." ) , l = 0 , k = b . length ; k > l ; l ++ ) "*" ===
b [ l ] && ( f [ l ] = "*" ) ; if ( "**" === b [ 0 ] && ( f = f . slice ( g ( f , b [ 1 ] ) ) , f . unshift ( "**" ) ) , "**" === b [ b . length - 1 ] && ( f . splice ( g ( f , b [ b . length - 2 ] ) + 1 , Number . MAX _VALUE ) , f . push ( "**" ) ) , b . length != f . length || f . join ( "" ) !== b . join ( "" ) ) return ! 1 ; b = y . $current . name } e = v ( b , e . relative ) ; return V ( e ) ? ! ! V ( y . $current . includes [ e . name ] ) && ( ! c || t ( e . params . $$values ( c ) , E , a ( c ) ) ) : h } , y . href = function ( a , b , c ) { c = W ( { lossy : ! 0 , inherit : ! 0 , absolute : ! 1 , relative : y . $current } , c || { } ) ; a = v ( a , c . relative ) ; if ( ! V ( a ) ) return null ; c . inherit && ( b = e ( E , b || { } , y . $current , a ) ) ; var g =
a && c . lossy ? a . navigable : a ; return g && g . url !== h && null !== g . url ? w . href ( g . url , l ( a . params . $$keys ( ) . concat ( "#" ) , b || { } ) , { absolute : c . absolute } ) : null } , y . get = function ( b , c ) { if ( 0 === arguments . length ) return r ( a ( F ) , function ( a ) { return F [ a ] . self } ) ; var e = v ( b , c || y . $current ) ; return e && e . self ? e . self : null } , y } function u ( a , b , c , e , g , f ) { function l ( a , b , c ) { var e = a . params . $$keys ( ) . filter ( function ( b ) { return "search" != a . params [ b ] . location } ) , e = n . apply ( { } , [ a . params ] . concat ( e ) ) ; return ( new ma . ParamSet ( e ) ) . $$equals ( b , c ) } return ! ( f . reload ||
a !== c || ! ( g === c . locals || ! 1 === a . self . reloadOnSearch && l ( c , e , b ) ) ) || void 0 } var z , y , F = { } , U = { } , A = "abstract" , D = { parent : function ( a ) { return V ( a . parent ) && a . parent ? v ( a . parent ) : ( a = /^(.+)\.[^.]+$/ . exec ( a . name ) ) ? v ( a [ 1 ] ) : z } , data : function ( a ) { return a . parent && a . parent . data && ( a . data = a . self . data = k ( a . parent . data , a . data ) ) , a . data } , url : function ( a ) { var b = a . url , e = { params : a . params || { } } ; if ( ea ( b ) ) return "^" == b . charAt ( 0 ) ? c . compile ( b . substring ( 1 ) , e ) : ( a . parent . navigable || z ) . url . concat ( b , e ) ; if ( ! b || c . isMatcher ( b ) ) return b ; throw Error ( "Invalid url '" +
b + "' in state '" + a + "'" ) ; } , navigable : function ( a ) { return a . url ? a : a . parent ? a . parent . navigable : null } , ownParams : function ( a ) { var b = a . url && a . url . params || new ma . ParamSet ; return ca ( a . params || { } , function ( a , c ) { b [ c ] || ( b [ c ] = new ma . Param ( c , null , a , "config" ) ) } ) , b } , params : function ( a ) { var b = n ( a . ownParams , a . ownParams . $$keys ( ) ) ; return a . parent && a . parent . params ? W ( a . parent . params . $$new ( ) , b ) : new ma . ParamSet } , views : function ( a ) { var b = { } ; return ca ( V ( a . views ) ? a . views : { "" : a } , function ( c , e ) { 0 > e . indexOf ( "@" ) && ( e += "@" + a . parent . name ) ;
b [ e ] = c } ) , b } , path : function ( a ) { return a . parent ? a . parent . path . concat ( a ) : [ ] } , includes : function ( a ) { var b = a . parent ? W ( { } , a . parent . includes ) : { } ; return b [ a . name ] = ! 0 , b } , $delegates : { } } ; z = E ( { name : "" , url : "^" , views : null , "abstract" : ! 0 } ) ; z . navigable = null ; this . decorator = function ( a , b ) { return ea ( a ) && ! V ( b ) ? D [ a ] : Q ( b ) && ea ( a ) ? ( D [ a ] && ! D . $delegates [ a ] && ( D . $delegates [ a ] = D [ a ] ) , D [ a ] = b , this ) : this } ; this . state = function ( a , b ) { return N ( a ) ? b = a : b . name = a , E ( b ) , this } ; this . $get = w ; w . $inject = "$rootScope $q $view $injector $resolve $stateParams $urlRouter $location $urlMatcherFactory" . split ( " " ) }
function J ( ) { function a ( a , b ) { return { load : function ( a , c ) { var e ; return c = W ( { template : null , controller : null , view : null , locals : null , notify : ! 0 , async : ! 0 , params : { } } , c ) , c . view && ( e = b . fromConfig ( c . view , c . params , c . locals ) ) , e } } } this . $get = a ; a . $inject = [ "$rootScope" , "$templateFactory" ] } function M ( a , b , c , e ) { function g ( a , b ) { function c ( a ) { return 1 === Ea && 4 <= wa ? ! ! k . enabled ( a ) : 1 === Ea && 2 <= wa ? ! ! k . enabled ( ) : ! ! h } var e = { enter : function ( a , b , c ) { b . after ( a ) ; c ( ) } , leave : function ( a , b ) { a . remove ( ) ; b ( ) } } ; if ( a . noanimation ) return e ; if ( k ) return { enter : function ( a ,
b , g ) { c ( a ) ? 2 < f . version . minor ? k . enter ( a , null , b ) . then ( g ) : k . enter ( a , null , b , g ) : e . enter ( a , b , g ) } , leave : function ( a , b ) { c ( a ) ? 2 < f . version . minor ? k . leave ( a ) . then ( b ) : k . leave ( a , b ) : e . leave ( a , b ) } } ; if ( h ) { var g = h && h ( b , a ) ; return { enter : function ( a , b , c ) { g . enter ( a , null , b ) ; c ( ) } , leave : function ( a , b ) { g . leave ( a ) ; b ( ) } } } return e } var l = function ( ) { return b . has ? function ( a ) { return b . has ( a ) ? b . get ( a ) : null } : function ( a ) { try { return b . get ( a ) } catch ( Ua ) { return null } } } ( ) , h = l ( "$animator" ) , k = l ( "$animate" ) ; return { restrict : "ECA" , terminal : ! 0 , priority : 400 ,
transclude : "element" , compile : function ( b , l , h ) { return function ( b , l , k ) { function n ( ) { var a = t , b = r ; b && ( b . _willBeDestroyed = ! 0 ) ; q ? ( y . leave ( q , function ( ) { a && a . remove ( ) ; b && b . $destroy ( ) ; t = null } ) , t = q ) : ( a && a . remove ( ) , b && b . $destroy ( ) , t = null ) ; r = q = null } function v ( g ) { var v = K ( b , k , l , e ) , t = v && a . $current && a . $current . locals [ v ] ; ! g && t === p || b . _willBeDestroyed || ( g = b . $new ( ) , p = a . $current . locals [ v ] , g . $emit ( "$viewContentLoading" , v ) , q = h ( g , function ( a ) { y . enter ( a , l , function ( ) { r && r . $emit ( "$viewContentAnimationEnded" ) ; ( f . isDefined ( w ) &&
! w || b . $eval ( w ) ) && c ( a ) } ) ; n ( ) } ) , r = g , r . $emit ( "$viewContentLoaded" , v ) , r . $eval ( E ) ) } var t , q , r , p , E = k . onload || "" , w = k . autoscroll , y = g ( k , b ) ; b . $on ( "$stateChangeSuccess" , function ( ) { v ( ! 1 ) } ) ; v ( ! 0 ) } } } } function H ( a , b , c , e ) { return { restrict : "ECA" , priority : - 400 , compile : function ( g ) { var f = g . html ( ) ; return function ( g , l , h ) { var k = c . $current ; h = K ( g , h , l , e ) ; if ( k = k && k . locals [ h ] ) { l . data ( "$uiView" , { name : h , state : k . $$state } ) ; l . html ( k . $template ? k . $template : f ) ; h = a ( l . contents ( ) ) ; if ( k . $$controller ) { k . $scope = g ; k . $element = l ; var n = b ( k . $$controller ,
k ) ; k . $$controllerAs && ( g [ k . $$controllerAs ] = n ) ; l . data ( "$ngControllerController" , n ) ; l . children ( ) . data ( "$ngControllerController" , n ) } h ( g ) } } } } } function K ( a , b , c , e ) { a = e ( b . uiView || b . name || "" ) ( a ) ; c = c . inheritedData ( "$uiView" ) ; return 0 <= a . indexOf ( "@" ) ? a : a + "@" + ( c ? c . state . name : "" ) } function L ( a , b ) { var c , e = a . match ( /^\s*({[^}]*})\s*$/ ) ; if ( e && ( a = b + "(" + e [ 1 ] + ")" ) , c = a . replace ( /\n/g , " " ) . match ( /^([^(]+?)\s*(\((.*)\))?$/ ) , ! c || 4 !== c . length ) throw Error ( "Invalid state ref '" + a + "'" ) ; return { state : c [ 1 ] , paramExpr : c [ 3 ] || null } }
function S ( a ) { return ( a = a . parent ( ) . inheritedData ( "$uiView" ) ) && a . state && a . state . name ? a . state : void 0 } function X ( a ) { var b = "[object SVGAnimatedString]" === Object . prototype . toString . call ( a . prop ( "href" ) ) , c = "FORM" === a [ 0 ] . nodeName ; return { attr : c ? "action" : b ? "xlink:href" : "href" , isAnchor : "A" === a . prop ( "tagName" ) . toUpperCase ( ) , clickable : ! c } } function I ( a , b , c , e , g ) { return function ( f ) { var l = f . which || f . button , h = g ( ) ; if ( ! ( 1 < l || f . ctrlKey || f . metaKey || f . shiftKey || a . attr ( "target" ) ) ) { var k = c ( function ( ) { b . go ( h . state , h . params ,
h . options ) } ) ; f . preventDefault ( ) ; var n = e . isAnchor && ! h . href ? 1 : 0 ; f . preventDefault = function ( ) { 0 >= n -- && c . cancel ( k ) } } } } function R ( a , b ) { return { relative : S ( a ) || b . $current , inherit : ! 0 } } function Y ( a , b ) { return { restrict : "A" , require : [ "?^uiSrefActive" , "?^uiSrefActiveEq" ] , link : function ( c , e , g , l ) { var h = L ( g . uiSref , a . current . name ) , k = { state : h . state , href : null , params : null } , n = X ( e ) , v = l [ 1 ] || l [ 0 ] ; k . options = W ( R ( e , a ) , g . uiSrefOpts ? c . $eval ( g . uiSrefOpts ) : { } ) ; var t = function ( b ) { b && ( k . params = f . copy ( b ) ) ; k . href = a . href ( h . state , k . params ,
k . options ) ; v && v . $$addStateInfo ( h . state , k . params ) ; null !== k . href && g . $set ( n . attr , k . href ) } ; h . paramExpr && ( c . $watch ( h . paramExpr , function ( a ) { a !== k . params && t ( a ) } , ! 0 ) , k . params = f . copy ( c . $eval ( h . paramExpr ) ) ) ; t ( ) ; n . clickable && e . bind ( "click" , I ( e , a , b , n , function ( ) { return k } ) ) } } } function T ( a , b ) { return { restrict : "A" , require : [ "?^uiSrefActive" , "?^uiSrefActiveEq" ] , link : function ( c , e , g , f ) { function l ( b ) { n . state = b [ 0 ] ; n . params = b [ 1 ] ; n . options = b [ 2 ] ; n . href = a . href ( n . state , n . params , n . options ) ; k && k . $$addStateInfo ( n . state , n . params ) ;
n . href && g . $set ( h . attr , n . href ) } var h = X ( e ) , k = f [ 1 ] || f [ 0 ] ; f = "[" + [ g . uiState , g . uiStateParams || null , g . uiStateOpts || null ] . map ( function ( a ) { return a || "null" } ) . join ( ", " ) + "]" ; var n = { state : null , params : null , options : null , href : null } ; c . $watch ( f , l , ! 0 ) ; l ( c . $eval ( f ) ) ; h . clickable && e . bind ( "click" , I ( e , a , b , h , function ( ) { return n } ) ) } } } function E ( a , b , c ) { return { restrict : "A" , controller : [ "$scope" , "$element" , "$attrs" , "$timeout" , function ( b , e , g , f ) { function l ( c , g , f ) { var l = a . get ( c , S ( e ) ) , h , k = g ; if ( ! ea ( c ) ) throw Error ( "state should be a string" ) ;
h = N ( k ) ? c + la ( k ) : ( k = b . $eval ( k ) , N ( k ) ? c + la ( k ) : c ) ; t . push ( { state : l || { name : c } , params : g , hash : h } ) ; q [ h ] = f } function h ( ) { for ( var b = 0 ; b < t . length ; b ++ ) a . includes ( t [ b ] . state . name , t [ b ] . params ) ? k ( e , q [ t [ b ] . hash ] ) : e . removeClass ( q [ t [ b ] . hash ] ) , a . is ( t [ b ] . state . name , t [ b ] . params ) ? k ( e , n ) : e . removeClass ( n ) } function k ( a , b ) { f ( function ( ) { a . addClass ( b ) } ) } var n , v , t = [ ] , q = { } ; n = c ( g . uiSrefActiveEq || "" , ! 1 ) ( b ) ; try { v = b . $eval ( g . uiSrefActive ) } catch ( Ma ) { } v = v || c ( g . uiSrefActive || "" , ! 1 ) ( b ) ; N ( v ) && ca ( v , function ( c , e ) { if ( ea ( c ) ) { var g = L ( c , a . current . name ) ;
l ( g . state , b . $eval ( g . paramExpr ) , e ) } } ) ; this . $$addStateInfo = function ( a , b ) { N ( v ) && 0 < t . length || ( l ( a , b , v ) , h ( ) ) } ; b . $on ( "$stateChangeSuccess" , h ) ; h ( ) } ] } } function U ( a ) { var b = function ( b , c ) { return a . is ( b , c ) } ; return b . $stateful = ! 0 , b } function ka ( a ) { var b = function ( b , c , e ) { return a . includes ( b , c , e ) } ; return b . $stateful = ! 0 , b } var V = f . isDefined , Q = f . isFunction , ea = f . isString , N = f . isObject , pa = f . isArray , ca = f . forEach , W = f . extend , da = f . copy , la = f . toJson ; f . module ( "ui.router.util" , [ "ng" ] ) ; f . module ( "ui.router.router" , [ "ui.router.util" ] ) ;
f . module ( "ui.router.state" , [ "ui.router.router" , "ui.router.util" ] ) ; f . module ( "ui.router" , [ "ui.router.state" ] ) ; f . module ( "ui.router.compat" , [ "ui.router" ] ) ; z . $inject = [ "$q" , "$injector" ] ; f . module ( "ui.router.util" ) . service ( "$resolve" , z ) ; y . $inject = [ "$http" , "$templateCache" , "$injector" ] ; f . module ( "ui.router.util" ) . service ( "$templateFactory" , y ) ; var ma ; F . prototype . concat = function ( a , b ) { var c = { caseInsensitive : ma . caseInsensitive ( ) , strict : ma . strictMode ( ) , squash : ma . defaultSquashPolicy ( ) } ; return new F ( this . sourcePath +
a + this . sourceSearch , W ( c , b ) , this ) } ; F . prototype . toString = function ( ) { return this . source } ; F . prototype . exec = function ( a , b ) { function c ( a ) { function b ( a ) { return a . split ( "" ) . reverse ( ) . join ( "" ) } a = b ( a ) . split ( /-(?!\\)/ ) ; a = r ( a , b ) ; return r ( a , function ( a ) { return a . replace ( /\\-/g , "-" ) } ) . reverse ( ) } var e = this . regexp . exec ( a ) ; if ( ! e ) return null ; b = b || { } ; var g , f , l , h = this . parameters ( ) , k = h . length , n = this . segments . length - 1 , v = { } ; if ( n !== e . length - 1 ) throw Error ( "Unbalanced capture group in route '" + this . source + "'" ) ; var t , q ; for ( g =
0 ; n > g ; g ++ ) { l = h [ g ] ; t = this . params [ l ] ; q = e [ g + 1 ] ; for ( f = 0 ; f < t . replace . length ; f ++ ) t . replace [ f ] . from === q && ( q = t . replace [ f ] . to ) ; q && ! 0 === t . array && ( q = c ( q ) ) ; V ( q ) && ( q = t . type . decode ( q ) ) ; v [ l ] = t . value ( q ) } for ( ; k > g ; g ++ ) { l = h [ g ] ; v [ l ] = this . params [ l ] . value ( b [ l ] ) ; t = this . params [ l ] ; q = b [ l ] ; for ( f = 0 ; f < t . replace . length ; f ++ ) t . replace [ f ] . from === q && ( q = t . replace [ f ] . to ) ; V ( q ) && ( q = t . type . decode ( q ) ) ; v [ l ] = t . value ( q ) } return v } ; F . prototype . parameters = function ( a ) { return V ( a ) ? this . params [ a ] || null : this . $$paramNames } ; F . prototype . validates = function ( a ) { return this . params . $$validates ( a ) } ;
F . prototype . format = function ( a ) { function b ( a ) { return encodeURIComponent ( a ) . replace ( /-/g , function ( a ) { return "%5C%" + a . charCodeAt ( 0 ) . toString ( 16 ) . toUpperCase ( ) } ) } a = a || { } ; var c = this . segments , e = this . parameters ( ) , g = this . params ; if ( ! this . validates ( a ) ) return null ; var f , l = ! 1 , h = c . length - 1 , k = e . length , n = c [ 0 ] ; for ( f = 0 ; k > f ; f ++ ) { var t = h > f , q = e [ f ] , p = g [ q ] , E = p . value ( a [ q ] ) , w = p . isOptional && p . type . equals ( p . value ( ) , E ) , y = ! ! w && p . squash , E = p . type . encode ( E ) ; t ? ( t = c [ f + 1 ] , q = f + 1 === h , ! 1 === y ? ( null != E && ( n += pa ( E ) ? r ( E , b ) . join ( "-" ) : encodeURIComponent ( E ) ) ,
n += t ) : ! 0 === y ? ( y = n . match ( /\/$/ ) ? /\/?(.*)/ : /(.*)/ , n += t . match ( y ) [ 1 ] ) : ea ( y ) && ( n += y + t ) , q && ! 0 === p . squash && "/" === n . slice ( - 1 ) && ( n = n . slice ( 0 , - 1 ) ) ) : null == E || w && ! 1 !== y || ( pa ( E ) || ( E = [ E ] ) , 0 === E . length ) || ( E = r ( E , encodeURIComponent ) . join ( "&" + q + "=" ) , n += ( l ? "&" : "?" ) + ( q + "=" + E ) , l = ! 0 ) } return n } ; A . prototype . is = function ( a , b ) { return ! 0 } ; A . prototype . encode = function ( a , b ) { return a } ; A . prototype . decode = function ( a , b ) { return a } ; A . prototype . equals = function ( a , b ) { return a == b } ; A . prototype . $subPattern = function ( ) { var a = this . pattern . toString ( ) ;
return a . substr ( 1 , a . length - 2 ) } ; A . prototype . pattern = /.*/ ; A . prototype . toString = function ( ) { return "{Type:" + this . name + "}" } ; A . prototype . $normalize = function ( a ) { return this . is ( a ) ? a : this . decode ( a ) } ; A . prototype . $asArray = function ( a , b ) { if ( ! a ) return this ; if ( "auto" === a && ! b ) throw Error ( "'auto' array mode is for query parameters only" ) ; return new function ( a , b ) { function c ( a , b ) { return function ( ) { return a [ b ] . apply ( a , arguments ) } } function e ( a ) { return pa ( a ) ? a : V ( a ) ? [ a ] : [ ] } function g ( a ) { return ! a } function f ( a , c ) { return function ( f ) { if ( pa ( f ) &&
0 === f . length ) return f ; f = e ( f ) ; f = r ( f , a ) ; if ( ! 0 === c ) f = 0 === w ( f , g ) . length ; else a : switch ( f . length ) { case 0 : f = h ; break a ; case 1 : f = "auto" === b ? f [ 0 ] : f } return f } } this . encode = f ( c ( a , "encode" ) ) ; this . decode = f ( c ( a , "decode" ) ) ; this . is = f ( c ( a , "is" ) , ! 0 ) ; this . equals = function ( a ) { return function ( b , c ) { var g = e ( b ) , f = e ( c ) ; if ( g . length !== f . length ) return ! 1 ; for ( var l = 0 ; l < g . length ; l ++ ) if ( ! a ( g [ l ] , f [ l ] ) ) return ! 1 ; return ! 0 } } ( c ( a , "equals" ) ) ; this . pattern = a . pattern ; this . $normalize = f ( c ( a , "$normalize" ) ) ; this . name = a . name ; this . $arrayMode = b } ( this ,
a ) } ; f . module ( "ui.router.util" ) . provider ( "$urlMatcherFactory" , D ) ; f . module ( "ui.router.util" ) . run ( [ "$urlMatcherFactory" , function ( a ) { } ] ) ; p . $inject = [ "$locationProvider" , "$urlMatcherFactoryProvider" ] ; f . module ( "ui.router.router" ) . provider ( "$urlRouter" , p ) ; u . $inject = [ "$urlRouterProvider" , "$urlMatcherFactoryProvider" ] ; f . module ( "ui.router.state" ) . factory ( "$stateParams" , function ( ) { return { } } ) . provider ( "$state" , u ) ; J . $inject = [ ] ; f . module ( "ui.router.state" ) . provider ( "$view" , J ) ; f . module ( "ui.router.state" ) . provider ( "$uiViewScroll" ,
function ( ) { var a = ! 1 ; this . useAnchorScroll = function ( ) { a = ! 0 } ; this . $get = [ "$anchorScroll" , "$timeout" , function ( b , c ) { return a ? b : function ( a ) { return c ( function ( ) { a [ 0 ] . scrollIntoView ( ) } , 0 , ! 1 ) } } ] } ) ; var Ea = f . version . major , wa = f . version . minor ; M . $inject = [ "$state" , "$injector" , "$uiViewScroll" , "$interpolate" ] ; H . $inject = [ "$compile" , "$controller" , "$state" , "$interpolate" ] ; f . module ( "ui.router.state" ) . directive ( "uiView" , M ) ; f . module ( "ui.router.state" ) . directive ( "uiView" , H ) ; Y . $inject = [ "$state" , "$timeout" ] ; T . $inject = [ "$state" ,
"$timeout" ] ; E . $inject = [ "$state" , "$stateParams" , "$interpolate" ] ; f . module ( "ui.router.state" ) . directive ( "uiSref" , Y ) . directive ( "uiSrefActive" , E ) . directive ( "uiSrefActiveEq" , E ) . directive ( "uiState" , T ) ; U . $inject = [ "$state" ] ; ka . $inject = [ "$state" ] ; f . module ( "ui.router.state" ) . filter ( "isState" , U ) . filter ( "includedByState" , ka ) } ) ( window , window . angular ) ; 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.position ui.bootstrap.datepicker ui.bootstrap.dropdown ui.bootstrap.stackedMap ui.bootstrap.modal ui.bootstrap.pagination ui.bootstrap.tooltip ui.bootstrap.popover ui.bootstrap.progressbar ui.bootstrap.rating ui.bootstrap.tabs ui.bootstrap.timepicker ui.bootstrap.typeahead" . split ( " " ) ) ;
2017-04-11 07:10:36 +00:00
angular . module ( "ui.bootstrap.tpls" , "template/accordion/accordion-group.html template/accordion/accordion.html template/alert/alert.html template/carousel/carousel.html template/carousel/slide.html template/datepicker/datepicker.html template/datepicker/day.html template/datepicker/month.html template/datepicker/popup.html template/datepicker/year.html template/modal/backdrop.html template/modal/window.html template/pagination/pager.html template/pagination/pagination.html template/tooltip/tooltip-html-popup.html template/tooltip/tooltip-popup.html template/tooltip/tooltip-template-popup.html template/popover/popover-html.html template/popover/popover-template.html template/popover/popover.html template/progressbar/bar.html template/progressbar/progress.html template/progressbar/progressbar.html template/rating/rating.html template/tabs/tab.html template/tabs/tabset.html template/timepicker/timepicker.html template/typeahead/typeahead-match.html template/typeahead/typeahead-popup.html" . split ( " " ) ) ;
2017-04-11 11:04:48 +00:00
angular . module ( "ui.bootstrap.collapse" , [ ] ) . directive ( "uibCollapse" , [ "$animate" , "$injector" , function ( b , f ) { var h = f . has ( "$animateCss" ) ? f . get ( "$animateCss" ) : null ; return { link : function ( f , c , a ) { function g ( ) { c . removeClass ( "collapsing" ) . addClass ( "collapse" ) . css ( { height : "auto" } ) } function e ( ) { c . css ( { height : "0" } ) ; c . removeClass ( "collapsing" ) . addClass ( "collapse" ) } f . $watch ( a . uibCollapse , function ( a ) { a ? c . hasClass ( "collapse" ) || c . hasClass ( "in" ) ? ( c . css ( { height : c [ 0 ] . scrollHeight + "px" } ) . removeClass ( "collapse" ) . addClass ( "collapsing" ) . attr ( "aria-expanded" ,
! 1 ) . attr ( "aria-hidden" , ! 0 ) , h ? h ( c , { removeClass : "in" , to : { height : "0" } } ) . start ( ) [ "finally" ] ( e ) : b . removeClass ( c , "in" , { to : { height : "0" } } ) . then ( e ) ) : e ( ) : ( c . removeClass ( "collapse" ) . addClass ( "collapsing" ) . attr ( "aria-expanded" , ! 0 ) . attr ( "aria-hidden" , ! 1 ) , h ? h ( c , { addClass : "in" , easing : "ease" , to : { height : c [ 0 ] . scrollHeight + "px" } } ) . start ( ) [ "finally" ] ( g ) : b . addClass ( c , "in" , { to : { height : c [ 0 ] . scrollHeight + "px" } } ) . then ( g ) ) } ) } } } ] ) ;
angular . module ( "ui.bootstrap.collapse" ) . value ( "$collapseSuppressWarning" , ! 1 ) . directive ( "collapse" , [ "$animate" , "$injector" , "$log" , "$collapseSuppressWarning" , function ( b , f , h , k ) { var c = f . has ( "$animateCss" ) ? f . get ( "$animateCss" ) : null ; return { link : function ( a , g , e ) { function f ( ) { g . removeClass ( "collapsing" ) . addClass ( "collapse in" ) . css ( { height : "auto" } ) } function l ( ) { g . css ( { height : "0" } ) ; g . removeClass ( "collapsing" ) . addClass ( "collapse" ) } k || h . warn ( "collapse is now deprecated. Use uib-collapse instead." ) ; a . $watch ( e . collapse ,
function ( a ) { a ? g . hasClass ( "collapse" ) || g . hasClass ( "in" ) ? ( g . css ( { height : g [ 0 ] . scrollHeight + "px" } ) . removeClass ( "collapse in" ) . addClass ( "collapsing" ) . attr ( "aria-expanded" , ! 1 ) . attr ( "aria-hidden" , ! 0 ) , c ? c ( g , { to : { height : "0" } } ) . start ( ) . done ( l ) : b . animate ( g , { } , { height : "0" } ) . then ( l ) ) : l ( ) : ( g . removeClass ( "collapse" ) . addClass ( "collapsing" ) . attr ( "aria-expanded" , ! 0 ) . attr ( "aria-hidden" , ! 1 ) , c ? c ( g , { easing : "ease" , to : { height : g [ 0 ] . scrollHeight + "px" } } ) . start ( ) . done ( f ) : b . animate ( g , { } , { height : g [ 0 ] . scrollHeight + "px" } ) . then ( f ) ) } ) } } } ] ) ;
angular . module ( "ui.bootstrap.accordion" , [ "ui.bootstrap.collapse" ] ) . constant ( "uibAccordionConfig" , { closeOthers : ! 0 } ) . controller ( "UibAccordionController" , [ "$scope" , "$attrs" , "uibAccordionConfig" , function ( b , f , h ) { this . groups = [ ] ; this . closeOthers = function ( k ) { ( angular . isDefined ( f . closeOthers ) ? b . $eval ( f . closeOthers ) : h . closeOthers ) && angular . forEach ( this . groups , function ( b ) { b !== k && ( b . isOpen = ! 1 ) } ) } ; this . addGroup = function ( b ) { var c = this ; this . groups . push ( b ) ; b . $on ( "$destroy" , function ( a ) { c . removeGroup ( b ) } ) } ; this . removeGroup =
function ( b ) { b = this . groups . indexOf ( b ) ; - 1 !== b && this . groups . splice ( b , 1 ) } } ] ) . directive ( "uibAccordion" , function ( ) { return { controller : "UibAccordionController" , controllerAs : "accordion" , transclude : ! 0 , templateUrl : function ( b , f ) { return f . templateUrl || "template/accordion/accordion.html" } } } ) . directive ( "uibAccordionGroup" , function ( ) { return { require : "^uibAccordion" , transclude : ! 0 , replace : ! 0 , templateUrl : function ( b , f ) { return f . templateUrl || "template/accordion/accordion-group.html" } , scope : { heading : "@" , isOpen : "=?" , isDisabled : "=?" } ,
controller : function ( ) { this . setHeading = function ( b ) { this . heading = b } } , link : function ( b , f , h , k ) { k . addGroup ( b ) ; b . openClass = h . openClass || "panel-open" ; b . panelClass = h . panelClass ; b . $watch ( "isOpen" , function ( c ) { f . toggleClass ( b . openClass , ! ! c ) ; c && k . closeOthers ( b ) } ) ; b . toggleOpen = function ( c ) { b . isDisabled || c && 32 !== c . which || ( b . isOpen = ! b . isOpen ) } } } } ) . directive ( "uibAccordionHeading" , function ( ) { return { transclude : ! 0 , template : "" , replace : ! 0 , require : "^uibAccordionGroup" , link : function ( b , f , h , k , c ) { k . setHeading ( c ( b , angular . noop ) ) } } } ) . directive ( "uibAccordionTransclude" ,
function ( ) { return { require : [ "?^uibAccordionGroup" , "?^accordionGroup" ] , link : function ( b , f , h , k ) { k = k [ 0 ] ? k [ 0 ] : k [ 1 ] ; b . $watch ( function ( ) { return k [ h . uibAccordionTransclude ] } , function ( b ) { b && ( f . find ( "span" ) . html ( "" ) , f . find ( "span" ) . append ( b ) ) } ) } } } ) ;
angular . module ( "ui.bootstrap.accordion" ) . value ( "$accordionSuppressWarning" , ! 1 ) . controller ( "AccordionController" , [ "$scope" , "$attrs" , "$controller" , "$log" , "$accordionSuppressWarning" , function ( b , f , h , k , c ) { c || k . warn ( "AccordionController is now deprecated. Use UibAccordionController instead." ) ; angular . extend ( this , h ( "UibAccordionController" , { $scope : b , $attrs : f } ) ) } ] ) . directive ( "accordion" , [ "$log" , "$accordionSuppressWarning" , function ( b , f ) { return { restrict : "EA" , controller : "AccordionController" , controllerAs : "accordion" ,
transclude : ! 0 , replace : ! 1 , templateUrl : function ( b , f ) { return f . templateUrl || "template/accordion/accordion.html" } , link : function ( ) { f || b . warn ( "accordion is now deprecated. Use uib-accordion instead." ) } } } ] ) . directive ( "accordionGroup" , [ "$log" , "$accordionSuppressWarning" , function ( b , f ) { return { require : "^accordion" , restrict : "EA" , transclude : ! 0 , replace : ! 0 , templateUrl : function ( b , f ) { return f . templateUrl || "template/accordion/accordion-group.html" } , scope : { heading : "@" , isOpen : "=?" , isDisabled : "=?" } , controller : function ( ) { this . setHeading =
function ( b ) { this . heading = b } } , link : function ( h , k , c , a ) { f || b . warn ( "accordion-group is now deprecated. Use uib-accordion-group instead." ) ; a . addGroup ( h ) ; h . openClass = c . openClass || "panel-open" ; h . panelClass = c . panelClass ; h . $watch ( "isOpen" , function ( b ) { k . toggleClass ( h . openClass , ! ! b ) ; b && a . closeOthers ( h ) } ) ; h . toggleOpen = function ( a ) { h . isDisabled || a && 32 !== a . which || ( h . isOpen = ! h . isOpen ) } } } } ] ) . directive ( "accordionHeading" , [ "$log" , "$accordionSuppressWarning" , function ( b , f ) { return { restrict : "EA" , transclude : ! 0 , template : "" ,
replace : ! 0 , require : "^accordionGroup" , link : function ( h , k , c , a , g ) { f || b . warn ( "accordion-heading is now deprecated. Use uib-accordion-heading instead." ) ; a . setHeading ( g ( h , angular . noop ) ) } } } ] ) . directive ( "accordionTransclude" , [ "$log" , "$accordionSuppressWarning" , function ( b , f ) { return { require : "^accordionGroup" , link : function ( h , k , c , a ) { f || b . warn ( "accordion-transclude is now deprecated. Use uib-accordion-transclude instead." ) ; h . $watch ( function ( ) { return a [ c . accordionTransclude ] } , function ( a ) { a && ( k . find ( "span" ) . html ( "" ) ,
k . find ( "span" ) . append ( a ) ) } ) } } } ] ) ;
angular . module ( "ui.bootstrap.alert" , [ ] ) . controller ( "UibAlertController" , [ "$scope" , "$attrs" , "$interpolate" , "$timeout" , function ( b , f , h , k ) { b . closeable = ! ! f . close ; ( f = angular . isDefined ( f . dismissOnTimeout ) ? h ( f . dismissOnTimeout ) ( b . $parent ) : null ) && k ( function ( ) { b . close ( ) } , parseInt ( f , 10 ) ) } ] ) . directive ( "uibAlert" , function ( ) { return { controller : "UibAlertController" , controllerAs : "alert" , templateUrl : function ( b , f ) { return f . templateUrl || "template/alert/alert.html" } , transclude : ! 0 , replace : ! 0 , scope : { type : "@" , close : "&" } } } ) ;
angular . module ( "ui.bootstrap.alert" ) . value ( "$alertSuppressWarning" , ! 1 ) . controller ( "AlertController" , [ "$scope" , "$attrs" , "$controller" , "$log" , "$alertSuppressWarning" , function ( b , f , h , k , c ) { c || k . warn ( "AlertController is now deprecated. Use UibAlertController instead." ) ; angular . extend ( this , h ( "UibAlertController" , { $scope : b , $attrs : f } ) ) } ] ) . directive ( "alert" , [ "$log" , "$alertSuppressWarning" , function ( b , f ) { return { controller : "AlertController" , controllerAs : "alert" , templateUrl : function ( b , f ) { return f . templateUrl ||
"template/alert/alert.html" } , transclude : ! 0 , replace : ! 0 , scope : { type : "@" , close : "&" } , link : function ( ) { f || b . warn ( "alert is now deprecated. Use uib-alert instead." ) } } } ] ) ;
angular . module ( "ui.bootstrap.buttons" , [ ] ) . constant ( "uibButtonConfig" , { activeClass : "active" , toggleEvent : "click" } ) . controller ( "UibButtonsController" , [ "uibButtonConfig" , function ( b ) { this . activeClass = b . activeClass || "active" ; this . toggleEvent = b . toggleEvent || "click" } ] ) . directive ( "uibBtnRadio" , function ( ) { return { require : [ "uibBtnRadio" , "ngModel" ] , controller : "UibButtonsController" , controllerAs : "buttons" , link : function ( b , f , h , k ) { var c = k [ 0 ] , a = k [ 1 ] ; f . find ( "input" ) . css ( { display : "none" } ) ; a . $render = function ( ) { f . toggleClass ( c . activeClass ,
angular . equals ( a . $modelValue , b . $eval ( h . uibBtnRadio ) ) ) } ; f . on ( c . toggleEvent , function ( ) { if ( ! h . disabled ) { var g = f . hasClass ( c . activeClass ) ; g && ! angular . isDefined ( h . uncheckable ) || b . $apply ( function ( ) { a . $setViewValue ( g ? null : b . $eval ( h . uibBtnRadio ) ) ; a . $render ( ) } ) } } ) } } } ) . directive ( "uibBtnCheckbox" , function ( ) { return { require : [ "uibBtnCheckbox" , "ngModel" ] , controller : "UibButtonsController" , controllerAs : "button" , link : function ( b , f , h , k ) { function c ( a , c ) { return angular . isDefined ( a ) ? b . $eval ( a ) : c } var a = k [ 0 ] , g = k [ 1 ] ; f . find ( "input" ) . css ( { display : "none" } ) ;
g . $render = function ( ) { f . toggleClass ( a . activeClass , angular . equals ( g . $modelValue , c ( h . btnCheckboxTrue , ! 0 ) ) ) } ; f . on ( a . toggleEvent , function ( ) { h . disabled || b . $apply ( function ( ) { g . $setViewValue ( f . hasClass ( a . activeClass ) ? c ( h . btnCheckboxFalse , ! 1 ) : c ( h . btnCheckboxTrue , ! 0 ) ) ; g . $render ( ) } ) } ) } } } ) ;
angular . module ( "ui.bootstrap.buttons" ) . value ( "$buttonsSuppressWarning" , ! 1 ) . controller ( "ButtonsController" , [ "$controller" , "$log" , "$buttonsSuppressWarning" , function ( b , f , h ) { h || f . warn ( "ButtonsController is now deprecated. Use UibButtonsController instead." ) ; angular . extend ( this , b ( "UibButtonsController" ) ) } ] ) . directive ( "btnRadio" , [ "$log" , "$buttonsSuppressWarning" , function ( b , f ) { return { require : [ "btnRadio" , "ngModel" ] , controller : "ButtonsController" , controllerAs : "buttons" , link : function ( h , k , c , a ) { f || b . warn ( "btn-radio is now deprecated. Use uib-btn-radio instead." ) ;
var g = a [ 0 ] , e = a [ 1 ] ; k . find ( "input" ) . css ( { display : "none" } ) ; e . $render = function ( ) { k . toggleClass ( g . activeClass , angular . equals ( e . $modelValue , h . $eval ( c . btnRadio ) ) ) } ; k . bind ( g . toggleEvent , function ( ) { if ( ! c . disabled ) { var a = k . hasClass ( g . activeClass ) ; a && ! angular . isDefined ( c . uncheckable ) || h . $apply ( function ( ) { e . $setViewValue ( a ? null : h . $eval ( c . btnRadio ) ) ; e . $render ( ) } ) } } ) } } } ] ) . directive ( "btnCheckbox" , [ "$document" , "$log" , "$buttonsSuppressWarning" , function ( b , f , h ) { return { require : [ "btnCheckbox" , "ngModel" ] , controller : "ButtonsController" ,
controllerAs : "button" , link : function ( k , c , a , g ) { function e ( a , b ) { var c = k . $eval ( a ) ; return angular . isDefined ( c ) ? c : b } h || f . warn ( "btn-checkbox is now deprecated. Use uib-btn-checkbox instead." ) ; var t = g [ 0 ] , l = g [ 1 ] ; c . find ( "input" ) . css ( { display : "none" } ) ; l . $render = function ( ) { c . toggleClass ( t . activeClass , angular . equals ( l . $modelValue , e ( a . btnCheckboxTrue , ! 0 ) ) ) } ; c . bind ( t . toggleEvent , function ( ) { a . disabled || k . $apply ( function ( ) { l . $setViewValue ( c . hasClass ( t . activeClass ) ? e ( a . btnCheckboxFalse , ! 1 ) : e ( a . btnCheckboxTrue , ! 0 ) ) ;
l . $render ( ) } ) } ) ; c . on ( "keypress" , function ( g ) { a . disabled || 32 !== g . which || b [ 0 ] . activeElement !== c [ 0 ] || k . $apply ( function ( ) { l . $setViewValue ( c . hasClass ( t . activeClass ) ? e ( a . btnCheckboxFalse , ! 1 ) : e ( a . btnCheckboxTrue , ! 0 ) ) ; l . $render ( ) } ) } ) } } } ] ) ;
angular . module ( "ui.bootstrap.carousel" , [ ] ) . controller ( "UibCarouselController" , [ "$scope" , "$element" , "$interval" , "$animate" , function ( b , f , h , k ) { function c ( a , c , e ) { F || ( angular . extend ( a , { direction : e , active : ! 0 } ) , angular . extend ( q . currentSlide || { } , { direction : e , active : ! 1 } ) , k . enabled ( ) && ! b . noTransition && ! b . $currentTransition && a . $element && 1 < q . slides . length && ( a . $element . data ( z , a . direction ) , q . currentSlide && q . currentSlide . $element && q . currentSlide . $element . data ( z , a . direction ) , b . $currentTransition = ! 0 , r ? k . on ( "addClass" ,
a . $element , function ( a , c ) { "close" === c && ( b . $currentTransition = null , k . off ( "addClass" , a ) ) } ) : a . $element . one ( "$animate:close" , function ( ) { b . $currentTransition = null } ) ) , q . currentSlide = a , y = c , g ( ) ) } function a ( a ) { if ( angular . isUndefined ( w [ a ] . index ) ) return w [ a ] ; var b ; w . length ; for ( b = 0 ; b < w . length ; ++ b ) if ( w [ b ] . index == a ) return w [ b ] } function g ( ) { e ( ) ; var a = + b . interval ; ! isNaN ( a ) && 0 < a && ( l = h ( t , a ) ) } function e ( ) { l && ( h . cancel ( l ) , l = null ) } function t ( ) { var a = + b . interval ; n && ! isNaN ( a ) && 0 < a && w . length ? b . next ( ) : b . pause ( ) } var l , n , q =
this , w = q . slides = b . slides = [ ] , r = 4 <= angular . version . minor , z = "uib-slideDirection" , y = - 1 ; q . currentSlide = null ; var F = ! 1 ; q . select = b . select = function ( a , e ) { var g = b . indexOfSlide ( a ) ; void 0 === e && ( e = g > q . getCurrentIndex ( ) ? "next" : "prev" ) ; a && a !== q . currentSlide && ! b . $currentTransition && c ( a , g , e ) } ; b . $on ( "$destroy" , function ( ) { F = ! 0 } ) ; q . getCurrentIndex = function ( ) { return q . currentSlide && angular . isDefined ( q . currentSlide . index ) ? + q . currentSlide . index : y } ; b . indexOfSlide = function ( a ) { return angular . isDefined ( a . index ) ? + a . index : w . indexOf ( a ) } ;
b . next = function ( ) { var c = ( q . getCurrentIndex ( ) + 1 ) % w . length ; return 0 === c && b . noWrap ( ) ? void b . pause ( ) : q . select ( a ( c ) , "next" ) } ; b . prev = function ( ) { var c = 0 > q . getCurrentIndex ( ) - 1 ? w . length - 1 : q . getCurrentIndex ( ) - 1 ; return b . noWrap ( ) && c === w . length - 1 ? void b . pause ( ) : q . select ( a ( c ) , "prev" ) } ; b . isActive = function ( a ) { return q . currentSlide === a } ; b . $watch ( "interval" , g ) ; b . $watchCollection ( "slides" , function ( a ) { a . length || ( b . $currentTransition = null ) } ) ; b . $on ( "$destroy" , e ) ; b . play = function ( ) { n || ( n = ! 0 , g ( ) ) } ; b . pause = function ( ) { b . noPause ||
( n = ! 1 , e ( ) ) } ; q . addSlide = function ( a , c ) { a . $element = c ; w . push ( a ) ; 1 === w . length || a . active ? ( q . select ( w [ w . length - 1 ] ) , 1 === w . length && b . play ( ) ) : a . active = ! 1 } ; q . removeSlide = function ( a ) { angular . isDefined ( a . index ) && w . sort ( function ( a , b ) { return + a . index > + b . index } ) ; var b = w . indexOf ( a ) ; w . splice ( b , 1 ) ; 0 < w . length && a . active ? b >= w . length ? q . select ( w [ b - 1 ] ) : q . select ( w [ b ] ) : y > b && y -- ; 0 === w . length && ( q . currentSlide = null ) } ; b . $watch ( "noTransition" , function ( a ) { f . data ( "uib-noTransition" , a ) } ) } ] ) . directive ( "uibCarousel" , [ function ( ) { return { transclude : ! 0 ,
replace : ! 0 , controller : "UibCarouselController" , controllerAs : "carousel" , require : "carousel" , templateUrl : function ( b , f ) { return f . templateUrl || "template/carousel/carousel.html" } , scope : { interval : "=" , noTransition : "=" , noPause : "=" , noWrap : "&" } } } ] ) . directive ( "uibSlide" , function ( ) { return { require : "^uibCarousel" , restrict : "EA" , transclude : ! 0 , replace : ! 0 , templateUrl : function ( b , f ) { return f . templateUrl || "template/carousel/slide.html" } , scope : { active : "=?" , actual : "=?" , index : "=?" } , link : function ( b , f , h , k ) { k . addSlide ( b , f ) ; b . $on ( "$destroy" ,
function ( ) { k . removeSlide ( b ) } ) ; b . $watch ( "active" , function ( c ) { c && k . select ( b ) } ) } } } ) . animation ( ".item" , [ "$injector" , "$animate" , function ( b , f ) { function h ( b , a , g ) { b . removeClass ( a ) ; g && g ( ) } var k = null ; return b . has ( "$animateCss" ) && ( k = b . get ( "$animateCss" ) ) , { beforeAddClass : function ( b , a , g ) { if ( "active" == a && b . parent ( ) && b . parent ( ) . parent ( ) && ! b . parent ( ) . parent ( ) . data ( "uib-noTransition" ) ) { var c = ! 1 ; a = b . data ( "uib-slideDirection" ) ; var t = "next" == a ? "left" : "right" , l = h . bind ( this , b , t + " " + a , g ) ; return b . addClass ( a ) , k ? k ( b , { addClass : t } ) . start ( ) . done ( l ) :
f . addClass ( b , t ) . then ( function ( ) { c || l ( ) ; g ( ) } ) , function ( ) { c = ! 0 } } g ( ) } , beforeRemoveClass : function ( b , a , g ) { if ( "active" === a && b . parent ( ) && b . parent ( ) . parent ( ) && ! b . parent ( ) . parent ( ) . data ( "uib-noTransition" ) ) { var c = ! 1 ; a = "next" == b . data ( "uib-slideDirection" ) ? "left" : "right" ; var t = h . bind ( this , b , a , g ) ; return k ? k ( b , { addClass : a } ) . start ( ) . done ( t ) : f . addClass ( b , a ) . then ( function ( ) { c || t ( ) ; g ( ) } ) , function ( ) { c = ! 0 } } g ( ) } } } ] ) ;
angular . module ( "ui.bootstrap.carousel" ) . value ( "$carouselSuppressWarning" , ! 1 ) . controller ( "CarouselController" , [ "$scope" , "$element" , "$controller" , "$log" , "$carouselSuppressWarning" , function ( b , f , h , k , c ) { c || k . warn ( "CarouselController is now deprecated. Use UibCarouselController instead." ) ; angular . extend ( this , h ( "UibCarouselController" , { $scope : b , $element : f } ) ) } ] ) . directive ( "carousel" , [ "$log" , "$carouselSuppressWarning" , function ( b , f ) { return { transclude : ! 0 , replace : ! 0 , controller : "CarouselController" , controllerAs : "carousel" ,
require : "carousel" , templateUrl : function ( b , f ) { return f . templateUrl || "template/carousel/carousel.html" } , scope : { interval : "=" , noTransition : "=" , noPause : "=" , noWrap : "&" } , link : function ( ) { f || b . warn ( "carousel is now deprecated. Use uib-carousel instead." ) } } } ] ) . directive ( "slide" , [ "$log" , "$carouselSuppressWarning" , function ( b , f ) { return { require : "^carousel" , transclude : ! 0 , replace : ! 0 , templateUrl : function ( b , f ) { return f . templateUrl || "template/carousel/slide.html" } , scope : { active : "=?" , actual : "=?" , index : "=?" } , link : function ( h ,
k , c , a ) { f || b . warn ( "slide is now deprecated. Use uib-slide instead." ) ; a . addSlide ( h , k ) ; h . $on ( "$destroy" , function ( ) { a . removeSlide ( h ) } ) ; h . $watch ( "active" , function ( b ) { b && a . select ( h ) } ) } } } ] ) ;
angular . module ( "ui.bootstrap.dateparser" , [ ] ) . service ( "uibDateParser" , [ "$log" , "$locale" , "orderByFilter" , function ( b , f , h ) { function k ( b ) { var c = [ ] , e = b . split ( "" ) ; return angular . forEach ( a , function ( a , g ) { var f = b . indexOf ( g ) ; if ( - 1 < f ) { b = b . split ( "" ) ; e [ f ] = "(" + a . regex + ")" ; b [ f ] = "$" ; for ( var l = f + 1 , h = f + g . length ; l < h ; l ++ ) e [ l ] = "" , b [ l ] = "$" ; b = b . join ( "" ) ; c . push ( { index : f , apply : a . apply } ) } } ) , { regex : new RegExp ( "^" + e . join ( "" ) + "$" ) , map : h ( c , "index" ) } } var c , a , g = /[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g ; this . init = function ( ) { c = f . id ; this . parsers =
{ } ; a = { yyyy : { regex : "\\d{4}" , apply : function ( a ) { this . year = + a } } , yy : { regex : "\\d{2}" , apply : function ( a ) { this . year = + a + 2E3 } } , y : { regex : "\\d{1,4}" , apply : function ( a ) { this . year = + a } } , MMMM : { regex : f . DATETIME _FORMATS . MONTH . join ( "|" ) , apply : function ( a ) { this . month = f . DATETIME _FORMATS . MONTH . indexOf ( a ) } } , MMM : { regex : f . DATETIME _FORMATS . SHORTMONTH . join ( "|" ) , apply : function ( a ) { this . month = f . DATETIME _FORMATS . SHORTMONTH . indexOf ( a ) } } , MM : { regex : "0[1-9]|1[0-2]" , apply : function ( a ) { this . month = a - 1 } } , M : { regex : "[1-9]|1[0-2]" , apply : function ( a ) { this . month =
a - 1 } } , dd : { regex : "[0-2][0-9]{1}|3[0-1]{1}" , apply : function ( a ) { this . date = + a } } , d : { regex : "[1-2]?[0-9]{1}|3[0-1]{1}" , apply : function ( a ) { this . date = + a } } , EEEE : { regex : f . DATETIME _FORMATS . DAY . join ( "|" ) } , EEE : { regex : f . DATETIME _FORMATS . SHORTDAY . join ( "|" ) } , HH : { regex : "(?:0|1)[0-9]|2[0-3]" , apply : function ( a ) { this . hours = + a } } , hh : { regex : "0[0-9]|1[0-2]" , apply : function ( a ) { this . hours = + a } } , H : { regex : "1?[0-9]|2[0-3]" , apply : function ( a ) { this . hours = + a } } , h : { regex : "[0-9]|1[0-2]" , apply : function ( a ) { this . hours = + a } } , mm : { regex : "[0-5][0-9]" ,
apply : function ( a ) { this . minutes = + a } } , m : { regex : "[0-9]|[1-5][0-9]" , apply : function ( a ) { this . minutes = + a } } , sss : { regex : "[0-9][0-9][0-9]" , apply : function ( a ) { this . milliseconds = + a } } , ss : { regex : "[0-5][0-9]" , apply : function ( a ) { this . seconds = + a } } , s : { regex : "[0-9]|[1-5][0-9]" , apply : function ( a ) { this . seconds = + a } } , a : { regex : f . DATETIME _FORMATS . AMPMS . join ( "|" ) , apply : function ( a ) { 12 === this . hours && ( this . hours = 0 ) ; "PM" === a && ( this . hours += 12 ) } } } } ; this . init ( ) ; this . parse = function ( a , h , l ) { if ( ! angular . isString ( a ) || ! h ) return a ; h = f . DATETIME _FORMATS [ h ] ||
h ; h = h . replace ( g , "\\$&" ) ; f . id !== c && this . init ( ) ; this . parsers [ h ] || ( this . parsers [ h ] = k ( h ) ) ; var e = this . parsers [ h ] ; h = e . map ; if ( ( a = a . match ( e . regex ) ) && a . length ) { var t , w ; angular . isDate ( l ) && ! isNaN ( l . getTime ( ) ) ? t = { year : l . getFullYear ( ) , month : l . getMonth ( ) , date : l . getDate ( ) , hours : l . getHours ( ) , minutes : l . getMinutes ( ) , seconds : l . getSeconds ( ) , milliseconds : l . getMilliseconds ( ) } : ( l && b . warn ( "dateparser:" , "baseDate is not a valid date" ) , t = { year : 1900 , month : 0 , date : 1 , hours : 0 , minutes : 0 , seconds : 0 , milliseconds : 0 } ) ; for ( var e = 1 , r =
a . length ; e < r ; e ++ ) { var z = h [ e - 1 ] ; z . apply && z . apply . call ( t , a [ e ] ) } h = t . year ; a = t . month ; e = t . date ; return ! ( 1 > e ) && ( 1 === a && 28 < e ? 29 === e && ( 0 === h % 4 && 0 !== h % 100 || 0 === h % 400 ) : 3 !== a && 5 !== a && 8 !== a && 10 !== a || 31 > e ) && ( angular . isDate ( l ) && ! isNaN ( l . getTime ( ) ) ? ( w = new Date ( l ) , w . setFullYear ( t . year , t . month , t . date , t . hours , t . minutes , t . seconds , t . milliseconds || 0 ) ) : w = new Date ( t . year , t . month , t . date , t . hours , t . minutes , t . seconds , t . milliseconds || 0 ) ) , w } } } ] ) ;
angular . module ( "ui.bootstrap.dateparser" ) . value ( "$dateParserSuppressWarning" , ! 1 ) . service ( "dateParser" , [ "$log" , "$dateParserSuppressWarning" , "uibDateParser" , function ( b , f , h ) { f || b . warn ( "dateParser is now deprecated. Use uibDateParser instead." ) ; angular . extend ( this , h ) } ] ) ;
angular . module ( "ui.bootstrap.position" , [ ] ) . factory ( "$uibPosition" , [ "$document" , "$window" , function ( b , f ) { function h ( b , c ) { return b . currentStyle ? b . currentStyle [ c ] : f . getComputedStyle ? f . getComputedStyle ( b ) [ c ] : b . style [ c ] } return { position : function ( f ) { var c = this . offset ( f ) , a = { top : 0 , left : 0 } , g ; g = b [ 0 ] ; for ( var e = f [ 0 ] . offsetParent || g ; e && e !== g && "static" === ( h ( e , "position" ) || "static" ) ; ) e = e . offsetParent ; g = e || g ; g != b [ 0 ] && ( a = this . offset ( angular . element ( g ) ) , a . top += g . clientTop - g . scrollTop , a . left += g . clientLeft - g . scrollLeft ) ;
g = f [ 0 ] . getBoundingClientRect ( ) ; return { width : g . width || f . prop ( "offsetWidth" ) , height : g . height || f . prop ( "offsetHeight" ) , top : c . top - a . top , left : c . left - a . left } } , offset : function ( h ) { var c = h [ 0 ] . getBoundingClientRect ( ) ; return { width : c . width || h . prop ( "offsetWidth" ) , height : c . height || h . prop ( "offsetHeight" ) , top : c . top + ( f . pageYOffset || b [ 0 ] . documentElement . scrollTop ) , left : c . left + ( f . pageXOffset || b [ 0 ] . documentElement . scrollLeft ) } } , positionElements : function ( b , c , a , g ) { var e , f , l , h = a . split ( "-" ) ; a = h [ 0 ] ; h = h [ 1 ] || "center" ; e = g ? this . offset ( b ) :
this . position ( b ) ; f = c . prop ( "offsetWidth" ) ; l = c . prop ( "offsetHeight" ) ; b = { center : function ( ) { return e . left + e . width / 2 - f / 2 } , left : function ( ) { return e . left } , right : function ( ) { return e . left + e . width } } ; c = { center : function ( ) { return e . top + e . height / 2 - l / 2 } , top : function ( ) { return e . top } , bottom : function ( ) { return e . top + e . height } } ; switch ( a ) { case "right" : a = { top : c [ h ] ( ) , left : b [ a ] ( ) } ; break ; case "left" : a = { top : c [ h ] ( ) , left : e . left - f } ; break ; case "bottom" : a = { top : c [ a ] ( ) , left : b [ h ] ( ) } ; break ; default : a = { top : e . top - l , left : b [ h ] ( ) } } return a } } } ] ) ;
angular . module ( "ui.bootstrap.position" ) . value ( "$positionSuppressWarning" , ! 1 ) . service ( "$position" , [ "$log" , "$positionSuppressWarning" , "$uibPosition" , function ( b , f , h ) { f || b . warn ( "$position is now deprecated. Use $uibPosition instead." ) ; angular . extend ( this , h ) } ] ) ;
2017-04-11 07:10:36 +00:00
angular . module ( "ui.bootstrap.datepicker" , [ "ui.bootstrap.dateparser" , "ui.bootstrap.position" ] ) . value ( "$datepickerSuppressError" , ! 1 ) . constant ( "uibDatepickerConfig" , { formatDay : "dd" , formatMonth : "MMMM" , formatYear : "yyyy" , formatDayHeader : "EEE" , formatDayTitle : "MMMM yyyy" , formatMonthTitle : "yyyy" , datepickerMode : "day" , minMode : "day" , maxMode : "year" , showWeeks : ! 0 , startingDay : 0 , yearRange : 20 , minDate : null , maxDate : null , shortcutPropagation : ! 1 } ) . controller ( "UibDatepickerController" , [ "$scope" , "$attrs" , "$parse" , "$interpolate" ,
2017-04-11 11:04:48 +00:00
"$log" , "dateFilter" , "uibDatepickerConfig" , "$datepickerSuppressError" , function ( b , f , h , k , c , a , g , e ) { var t = this , l = { $setViewValue : angular . noop } ; this . modes = [ "day" , "month" , "year" ] ; angular . forEach ( "formatDay formatMonth formatYear formatDayHeader formatDayTitle formatMonthTitle showWeeks startingDay yearRange shortcutPropagation" . split ( " " ) , function ( a , c ) { t [ a ] = angular . isDefined ( f [ a ] ) ? 6 > c ? k ( f [ a ] ) ( b . $parent ) : b . $parent . $eval ( f [ a ] ) : g [ a ] } ) ; angular . forEach ( [ "minDate" , "maxDate" ] , function ( a ) { f [ a ] ? b . $parent . $watch ( h ( f [ a ] ) ,
function ( b ) { t [ a ] = b ? new Date ( b ) : null ; t . refreshView ( ) } ) : t [ a ] = g [ a ] ? new Date ( g [ a ] ) : null } ) ; angular . forEach ( [ "minMode" , "maxMode" ] , function ( a ) { f [ a ] ? b . $parent . $watch ( h ( f [ a ] ) , function ( c ) { t [ a ] = angular . isDefined ( c ) ? c : f [ a ] ; b [ a ] = t [ a ] ; ( "minMode" == a && t . modes . indexOf ( b . datepickerMode ) < t . modes . indexOf ( t [ a ] ) || "maxMode" == a && t . modes . indexOf ( b . datepickerMode ) > t . modes . indexOf ( t [ a ] ) ) && ( b . datepickerMode = t [ a ] ) } ) : ( t [ a ] = g [ a ] || null , b [ a ] = t [ a ] ) } ) ; b . datepickerMode = b . datepickerMode || g . datepickerMode ; b . uniqueId = "datepicker-" + b . $id +
"-" + Math . floor ( 1E4 * Math . random ( ) ) ; angular . isDefined ( f . initDate ) ? ( this . activeDate = b . $parent . $eval ( f . initDate ) || new Date , b . $parent . $watch ( f . initDate , function ( a ) { a && ( l . $isEmpty ( l . $modelValue ) || l . $invalid ) && ( t . activeDate = a , t . refreshView ( ) ) } ) ) : this . activeDate = new Date ; b . isActive = function ( a ) { return 0 === t . compare ( a . date , t . activeDate ) && ( b . activeDateId = a . uid , ! 0 ) } ; this . init = function ( a ) { l = a ; l . $render = function ( ) { t . render ( ) } } ; this . render = function ( ) { if ( l . $viewValue ) { var a = new Date ( l . $viewValue ) ; isNaN ( a ) ? e || c . error ( 'Datepicker 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.' ) :
this . activeDate = a } this . refreshView ( ) } ; this . refreshView = function ( ) { if ( this . element ) { this . _refreshView ( ) ; var a = l . $viewValue ? new Date ( l . $viewValue ) : null ; l . $setValidity ( "dateDisabled" , ! a || this . element && ! this . isDisabled ( a ) ) } } ; this . createDateObject = function ( b , c ) { var e = l . $viewValue ? new Date ( l . $viewValue ) : null ; return { date : b , label : a ( b , c ) , selected : e && 0 === this . compare ( b , e ) , disabled : this . isDisabled ( b ) , current : 0 === this . compare ( b , new Date ) , customClass : this . customClass ( b ) } } ; this . isDisabled = function ( a ) { return this . minDate &&
0 > this . compare ( a , this . minDate ) || this . maxDate && 0 < this . compare ( a , this . maxDate ) || f . dateDisabled && b . dateDisabled ( { date : a , mode : b . datepickerMode } ) } ; this . customClass = function ( a ) { return b . customClass ( { date : a , mode : b . datepickerMode } ) } ; this . split = function ( a , b ) { for ( var c = [ ] ; 0 < a . length ; ) c . push ( a . splice ( 0 , b ) ) ; return c } ; b . select = function ( a ) { if ( b . datepickerMode === t . minMode ) { var c = l . $viewValue ? new Date ( l . $viewValue ) : new Date ( 0 , 0 , 0 , 0 , 0 , 0 , 0 ) ; c . setFullYear ( a . getFullYear ( ) , a . getMonth ( ) , a . getDate ( ) ) ; l . $setViewValue ( c ) ;
l . $render ( ) } else t . activeDate = a , b . datepickerMode = t . modes [ t . modes . indexOf ( b . datepickerMode ) - 1 ] } ; b . move = function ( a ) { var b = t . activeDate . getFullYear ( ) + a * ( t . step . years || 0 ) ; a = t . activeDate . getMonth ( ) + a * ( t . step . months || 0 ) ; t . activeDate . setFullYear ( b , a , 1 ) ; t . refreshView ( ) } ; b . toggleMode = function ( a ) { a = a || 1 ; b . datepickerMode === t . maxMode && 1 === a || b . datepickerMode === t . minMode && - 1 === a || ( b . datepickerMode = t . modes [ t . modes . indexOf ( b . datepickerMode ) + a ] ) } ; b . keys = { 13 : "enter" , 32 : "space" , 33 : "pageup" , 34 : "pagedown" , 35 : "end" , 36 : "home" ,
37 : "left" , 38 : "up" , 39 : "right" , 40 : "down" } ; b . $on ( "uib:datepicker.focus" , function ( ) { t . element [ 0 ] . focus ( ) } ) ; b . keydown = function ( a ) { var c = b . keys [ a . which ] ; ! c || a . shiftKey || a . altKey || ( ( a . preventDefault ( ) , t . shortcutPropagation || a . stopPropagation ( ) , "enter" === c || "space" === c ) ? t . isDisabled ( t . activeDate ) || b . select ( t . activeDate ) : ! a . ctrlKey || "up" !== c && "down" !== c ? ( t . handleKeyDown ( c , a ) , t . refreshView ( ) ) : b . toggleMode ( "up" === c ? 1 : - 1 ) ) } } ] ) . controller ( "UibDaypickerController" , [ "$scope" , "$element" , "dateFilter" , function ( b , f ,
h ) { function k ( b , c ) { return 1 !== c || 0 !== b % 4 || 0 === b % 100 && 0 !== b % 400 ? a [ c ] : 29 } function c ( a ) { a = new Date ( a ) ; a . setDate ( a . getDate ( ) + 4 - ( a . getDay ( ) || 7 ) ) ; var b = a . getTime ( ) ; return a . setMonth ( 0 ) , a . setDate ( 1 ) , Math . floor ( Math . round ( ( b - a ) / 864E5 ) / 7 ) + 1 } var a = [ 31 , 28 , 31 , 30 , 31 , 30 , 31 , 31 , 30 , 31 , 30 , 31 ] ; this . step = { months : 1 } ; this . element = f ; this . init = function ( a ) { angular . extend ( a , this ) ; b . showWeeks = a . showWeeks ; a . refreshView ( ) } ; this . getDates = function ( a , b ) { for ( var c , e = Array ( b ) , g = new Date ( a ) , f = 0 ; f < b ; ) c = new Date ( g ) , e [ f ++ ] = c , g . setDate ( g . getDate ( ) +
1 ) ; return e } ; this . _refreshView = function ( ) { var a = this . activeDate . getFullYear ( ) , e = this . activeDate . getMonth ( ) , f = new Date ( this . activeDate ) ; f . setFullYear ( a , e , 1 ) ; a = this . startingDay - f . getDay ( ) ; a = 0 < a ? 7 - a : - a ; f = new Date ( f ) ; 0 < a && f . setDate ( - a + 1 ) ; f = this . getDates ( f , 42 ) ; for ( a = 0 ; 42 > a ; a ++ ) f [ a ] = angular . extend ( this . createDateObject ( f [ a ] , this . formatDay ) , { secondary : f [ a ] . getMonth ( ) !== e , uid : b . uniqueId + "-" + a } ) ; b . labels = Array ( 7 ) ; for ( e = 0 ; 7 > e ; e ++ ) b . labels [ e ] = { abbr : h ( f [ e ] . date , this . formatDayHeader ) , full : h ( f [ e ] . date , "EEEE" ) } ;
if ( b . title = h ( this . activeDate , this . formatDayTitle ) , b . rows = this . split ( f , 7 ) , b . showWeeks ) for ( b . weekNumbers = [ ] , e = ( 11 - this . startingDay ) % 7 , f = b . rows . length , a = 0 ; a < f ; a ++ ) b . weekNumbers . push ( c ( b . rows [ a ] [ e ] . date ) ) } ; this . compare = function ( a , b ) { return new Date ( a . getFullYear ( ) , a . getMonth ( ) , a . getDate ( ) ) - new Date ( b . getFullYear ( ) , b . getMonth ( ) , b . getDate ( ) ) } ; this . handleKeyDown = function ( a , b ) { var c = this . activeDate . getDate ( ) ; if ( "left" === a ) -- c ; else if ( "up" === a ) c -= 7 ; else if ( "right" === a ) c += 1 ; else if ( "down" === a ) c += 7 ; else if ( "pageup" ===
a || "pagedown" === a ) { var e = this . activeDate . getMonth ( ) + ( "pageup" === a ? - 1 : 1 ) ; this . activeDate . setMonth ( e , 1 ) ; c = Math . min ( k ( this . activeDate . getFullYear ( ) , this . activeDate . getMonth ( ) ) , c ) } else "home" === a ? c = 1 : "end" === a && ( c = k ( this . activeDate . getFullYear ( ) , this . activeDate . getMonth ( ) ) ) ; this . activeDate . setDate ( c ) } } ] ) . controller ( "UibMonthpickerController" , [ "$scope" , "$element" , "dateFilter" , function ( b , f , h ) { this . step = { years : 1 } ; this . element = f ; this . init = function ( b ) { angular . extend ( b , this ) ; b . refreshView ( ) } ; this . _refreshView =
function ( ) { for ( var f , c = Array ( 12 ) , a = this . activeDate . getFullYear ( ) , g = 0 ; 12 > g ; g ++ ) f = new Date ( this . activeDate ) , f . setFullYear ( a , g , 1 ) , c [ g ] = angular . extend ( this . createDateObject ( f , this . formatMonth ) , { uid : b . uniqueId + "-" + g } ) ; b . title = h ( this . activeDate , this . formatMonthTitle ) ; b . rows = this . split ( c , 3 ) } ; this . compare = function ( b , c ) { return new Date ( b . getFullYear ( ) , b . getMonth ( ) ) - new Date ( c . getFullYear ( ) , c . getMonth ( ) ) } ; this . handleKeyDown = function ( b , c ) { var a = this . activeDate . getMonth ( ) ; if ( "left" === b ) -- a ; else if ( "up" === b ) a -=
3 ; else if ( "right" === b ) a += 1 ; else if ( "down" === b ) a += 3 ; else if ( "pageup" === b || "pagedown" === b ) { var g = this . activeDate . getFullYear ( ) + ( "pageup" === b ? - 1 : 1 ) ; this . activeDate . setFullYear ( g ) } else "home" === b ? a = 0 : "end" === b && ( a = 11 ) ; this . activeDate . setMonth ( a ) } } ] ) . controller ( "UibYearpickerController" , [ "$scope" , "$element" , "dateFilter" , function ( b , f , h ) { var k ; this . element = f ; this . yearpickerInit = function ( ) { k = this . yearRange ; this . step = { years : k } } ; this . _refreshView = function ( ) { for ( var c , a = Array ( k ) , g = 0 , e = parseInt ( ( this . activeDate . getFullYear ( ) -
1 ) / k , 10 ) * k + 1 ; g < k ; g ++ ) c = new Date ( this . activeDate ) , c . setFullYear ( e + g , 0 , 1 ) , a [ g ] = angular . extend ( this . createDateObject ( c , this . formatYear ) , { uid : b . uniqueId + "-" + g } ) ; b . title = [ a [ 0 ] . label , a [ k - 1 ] . label ] . join ( " - " ) ; b . rows = this . split ( a , 5 ) } ; this . compare = function ( b , a ) { return b . getFullYear ( ) - a . getFullYear ( ) } ; this . handleKeyDown = function ( b , a ) { var c = this . activeDate . getFullYear ( ) ; "left" === b ? -- c : "up" === b ? c -= 5 : "right" === b ? c += 1 : "down" === b ? c += 5 : "pageup" === b || "pagedown" === b ? c += ( "pageup" === b ? - 1 : 1 ) * this . step . years : "home" ===
b ? c = parseInt ( ( this . activeDate . getFullYear ( ) - 1 ) / k , 10 ) * k + 1 : "end" === b && ( c = parseInt ( ( this . activeDate . getFullYear ( ) - 1 ) / k , 10 ) * k + 1 + k - 1 ) ; this . activeDate . setFullYear ( c ) } } ] ) . directive ( "uibDatepicker" , function ( ) { return { replace : ! 0 , templateUrl : function ( b , f ) { return f . templateUrl || "template/datepicker/datepicker.html" } , scope : { datepickerMode : "=?" , dateDisabled : "&" , customClass : "&" , shortcutPropagation : "&?" } , require : [ "uibDatepicker" , "^ngModel" ] , controller : "UibDatepickerController" , controllerAs : "datepicker" , link : function ( b ,
f , h , k ) { k [ 0 ] . init ( k [ 1 ] ) } } } ) . directive ( "uibDaypicker" , function ( ) { return { replace : ! 0 , templateUrl : function ( b , f ) { return f . templateUrl || "template/datepicker/day.html" } , require : [ "^?uibDatepicker" , "uibDaypicker" , "^?datepicker" ] , controller : "UibDaypickerController" , link : function ( b , f , h , k ) { k [ 1 ] . init ( k [ 0 ] || k [ 2 ] ) } } } ) . directive ( "uibMonthpicker" , function ( ) { return { replace : ! 0 , templateUrl : function ( b , f ) { return f . templateUrl || "template/datepicker/month.html" } , require : [ "^?uibDatepicker" , "uibMonthpicker" , "^?datepicker" ] ,
controller : "UibMonthpickerController" , link : function ( b , f , h , k ) { k [ 1 ] . init ( k [ 0 ] || k [ 2 ] ) } } } ) . directive ( "uibYearpicker" , function ( ) { return { replace : ! 0 , templateUrl : function ( b , f ) { return f . templateUrl || "template/datepicker/year.html" } , require : [ "^?uibDatepicker" , "uibYearpicker" , "^?datepicker" ] , controller : "UibYearpickerController" , link : function ( b , f , h , k ) { b = k [ 0 ] || k [ 2 ] ; angular . extend ( b , k [ 1 ] ) ; b . yearpickerInit ( ) ; b . refreshView ( ) } } } ) . constant ( "uibDatepickerPopupConfig" , { datepickerPopup : "yyyy-MM-dd" , datepickerPopupTemplateUrl : "template/datepicker/popup.html" ,
datepickerTemplateUrl : "template/datepicker/datepicker.html" , html5Types : { date : "yyyy-MM-dd" , "datetime-local" : "yyyy-MM-ddTHH:mm:ss.sss" , month : "yyyy-MM" } , currentText : "Today" , clearText : "Clear" , closeText : "Done" , closeOnDateSelection : ! 0 , appendToBody : ! 1 , showButtonBar : ! 0 , onOpenFocus : ! 0 } ) . controller ( "UibDatepickerPopupController" , [ "$scope" , "$element" , "$attrs" , "$compile" , "$parse" , "$document" , "$rootScope" , "$uibPosition" , "dateFilter" , "uibDateParser" , "uibDatepickerPopupConfig" , "$timeout" , function ( b , f , h , k , c , a , g ,
e , t , l , n , q ) { function w ( a ) { return a . replace ( /([A-Z])/g , function ( a ) { return "-" + a . toLowerCase ( ) } ) } function r ( a ) { angular . isNumber ( a ) && ( a = new Date ( a ) ) ; if ( ! a ) return null ; if ( angular . isDate ( a ) && ! isNaN ( a ) ) return a ; if ( angular . isString ( a ) ) return a = l . parse ( a , A , b . date ) , isNaN ( a ) ? void 0 : a } function z ( a , b ) { var c = a || b ; return h . ngRequired || c ? ( angular . isNumber ( c ) && ( c = new Date ( c ) ) , c ) ? angular . isDate ( c ) && ! isNaN ( c ) ? ! 0 : angular . isString ( c ) ? ( c = l . parse ( c , A ) , ! isNaN ( c ) ) : ! 1 : ! 0 : ! 0 } function y ( a ) { var c = S [ 0 ] , e = f [ 0 ] . contains ( a . target ) ;
a = void 0 !== c . contains && c . contains ( a . target ) ; ! b . isOpen || e || a || b . $apply ( function ( ) { b . isOpen = ! 1 } ) } function F ( a ) { 27 === a . which && b . isOpen ? ( a . preventDefault ( ) , a . stopPropagation ( ) , b . $apply ( function ( ) { b . isOpen = ! 1 } ) , f [ 0 ] . focus ( ) ) : 40 !== a . which || b . isOpen || ( a . preventDefault ( ) , a . stopPropagation ( ) , b . $apply ( function ( ) { b . isOpen = ! 0 } ) ) } var A , D , p , u , J , M , H , K , L , S , X = { } , I = ! 1 ; b . watchData = { } ; this . init = function ( e ) { if ( L = e , D = angular . isDefined ( h . closeOnDateSelection ) ? b . $parent . $eval ( h . closeOnDateSelection ) : n . closeOnDateSelection ,
p = angular . isDefined ( h . datepickerAppendToBody ) ? b . $parent . $eval ( h . datepickerAppendToBody ) : n . appendToBody , u = angular . isDefined ( h . onOpenFocus ) ? b . $parent . $eval ( h . onOpenFocus ) : n . onOpenFocus , J = angular . isDefined ( h . datepickerPopupTemplateUrl ) ? h . datepickerPopupTemplateUrl : n . datepickerPopupTemplateUrl , M = angular . isDefined ( h . datepickerTemplateUrl ) ? h . datepickerTemplateUrl : n . datepickerTemplateUrl , b . showButtonBar = angular . isDefined ( h . showButtonBar ) ? b . $parent . $eval ( h . showButtonBar ) : n . showButtonBar , n . html5Types [ h . type ] ?
( A = n . html5Types [ h . type ] , I = ! 0 ) : ( A = h . datepickerPopup || h . uibDatepickerPopup || n . datepickerPopup , h . $observe ( "uibDatepickerPopup" , function ( a , b ) { var c = a || n . datepickerPopup ; if ( c !== A && ( A = c , L . $modelValue = null , ! A ) ) throw Error ( "uibDatepickerPopup must have a date format specified." ) ; } ) ) , ! A ) throw Error ( "uibDatepickerPopup must have a date format specified." ) ; if ( I && h . datepickerPopup ) throw Error ( "HTML5 date input types do not support custom formats." ) ; if ( H = angular . element ( "<div uib-datepicker-popup-wrap><div uib-datepicker></div></div>" ) ,
H . attr ( { "ng-model" : "date" , "ng-change" : "dateSelection(date)" , "template-url" : J } ) , K = angular . element ( H . children ( ) [ 0 ] ) , K . attr ( "template-url" , M ) , I && "month" === h . type && ( K . attr ( "datepicker-mode" , '"month"' ) , K . attr ( "min-mode" , "month" ) ) , h . datepickerOptions ) ( e = b . $parent . $eval ( h . datepickerOptions ) ) && e . initDate && ( b . initDate = e . initDate , K . attr ( "init-date" , "initDate" ) , delete e . initDate ) , angular . forEach ( e , function ( a , b ) { K . attr ( w ( b ) , a ) } ) ; angular . forEach ( "minMode maxMode minDate maxDate datepickerMode initDate shortcutPropagation" . split ( " " ) ,
function ( a ) { if ( h [ a ] ) { var e = c ( h [ a ] ) ; if ( b . $parent . $watch ( e , function ( c ) { b . watchData [ a ] = c ; "minDate" !== a && "maxDate" !== a || ( X [ a ] = new Date ( c ) ) } ) , K . attr ( w ( a ) , "watchData." + a ) , "datepickerMode" === a ) { var g = e . assign ; b . $watch ( "watchData." + a , function ( a , c ) { angular . isFunction ( g ) && a !== c && g ( b . $parent , a ) } ) } } } ) ; h . dateDisabled && K . attr ( "date-disabled" , "dateDisabled({ date: date, mode: mode })" ) ; h . showWeeks && K . attr ( "show-weeks" , h . showWeeks ) ; h . customClass && K . attr ( "custom-class" , "customClass({ date: date, mode: mode })" ) ; I ?
L . $formatters . push ( function ( a ) { return b . date = a , a } ) : ( L . $$parserName = "date" , L . $validators . date = z , L . $parsers . unshift ( r ) , L . $formatters . push ( function ( a ) { return b . date = a , L . $isEmpty ( a ) ? a : t ( a , A ) } ) ) ; L . $viewChangeListeners . push ( function ( ) { b . date = l . parse ( L . $viewValue , A , b . date ) } ) ; f . bind ( "keydown" , F ) ; S = k ( H ) ( b ) ; H . remove ( ) ; p ? a . find ( "body" ) . append ( S ) : f . after ( S ) ; b . $on ( "$destroy" , function ( ) { ! 0 === b . isOpen && ( g . $$phase || b . $apply ( function ( ) { b . isOpen = ! 1 } ) ) ; S . remove ( ) ; f . unbind ( "keydown" , F ) ; a . unbind ( "click" , y ) } ) } ; b . getText =
function ( a ) { return b [ a + "Text" ] || n [ a + "Text" ] } ; b . isDisabled = function ( a ) { return "today" === a && ( a = new Date ) , b . watchData . minDate && 0 > b . compare ( a , X . minDate ) || b . watchData . maxDate && 0 < b . compare ( a , X . maxDate ) } ; b . compare = function ( a , b ) { return new Date ( a . getFullYear ( ) , a . getMonth ( ) , a . getDate ( ) ) - new Date ( b . getFullYear ( ) , b . getMonth ( ) , b . getDate ( ) ) } ; b . dateSelection = function ( a ) { angular . isDefined ( a ) && ( b . date = a ) ; a = b . date ? t ( b . date , A ) : null ; f . val ( a ) ; L . $setViewValue ( a ) ; D && ( b . isOpen = ! 1 , f [ 0 ] . focus ( ) ) } ; b . keydown = function ( a ) { 27 ===
a . which && ( b . isOpen = ! 1 , f [ 0 ] . focus ( ) ) } ; b . select = function ( a ) { if ( "today" === a ) { var c = new Date ; angular . isDate ( b . date ) ? ( a = new Date ( b . date ) , a . setFullYear ( c . getFullYear ( ) , c . getMonth ( ) , c . getDate ( ) ) ) : a = new Date ( c . setHours ( 0 , 0 , 0 , 0 ) ) } b . dateSelection ( a ) } ; b . close = function ( ) { b . isOpen = ! 1 ; f [ 0 ] . focus ( ) } ; b . $watch ( "isOpen" , function ( c ) { c ? ( b . position = p ? e . offset ( f ) : e . position ( f ) , b . position . top += f . prop ( "offsetHeight" ) , q ( function ( ) { u && b . $broadcast ( "uib:datepicker.focus" ) ; a . bind ( "click" , y ) } , 0 , ! 1 ) ) : a . unbind ( "click" , y ) } ) } ] ) . directive ( "uibDatepickerPopup" ,
function ( ) { return { require : [ "ngModel" , "uibDatepickerPopup" ] , controller : "UibDatepickerPopupController" , scope : { isOpen : "=?" , currentText : "@" , clearText : "@" , closeText : "@" , dateDisabled : "&" , customClass : "&" } , link : function ( b , f , h , k ) { k [ 1 ] . init ( k [ 0 ] ) } } } ) . directive ( "uibDatepickerPopupWrap" , function ( ) { return { replace : ! 0 , transclude : ! 0 , templateUrl : function ( b , f ) { return f . templateUrl || "template/datepicker/popup.html" } } } ) ;
angular . module ( "ui.bootstrap.datepicker" ) . value ( "$datepickerSuppressWarning" , ! 1 ) . controller ( "DatepickerController" , [ "$scope" , "$attrs" , "$parse" , "$interpolate" , "$log" , "dateFilter" , "uibDatepickerConfig" , "$datepickerSuppressError" , "$datepickerSuppressWarning" , function ( b , f , h , k , c , a , g , e , t ) { t || c . warn ( "DatepickerController is now deprecated. Use UibDatepickerController instead." ) ; var l = this , n = { $setViewValue : angular . noop } ; this . modes = [ "day" , "month" , "year" ] ; angular . forEach ( "formatDay formatMonth formatYear formatDayHeader formatDayTitle formatMonthTitle showWeeks startingDay yearRange shortcutPropagation" . split ( " " ) ,
function ( a , c ) { l [ a ] = angular . isDefined ( f [ a ] ) ? 6 > c ? k ( f [ a ] ) ( b . $parent ) : b . $parent . $eval ( f [ a ] ) : g [ a ] } ) ; angular . forEach ( [ "minDate" , "maxDate" ] , function ( a ) { f [ a ] ? b . $parent . $watch ( h ( f [ a ] ) , function ( b ) { l [ a ] = b ? new Date ( b ) : null ; l . refreshView ( ) } ) : l [ a ] = g [ a ] ? new Date ( g [ a ] ) : null } ) ; angular . forEach ( [ "minMode" , "maxMode" ] , function ( a ) { f [ a ] ? b . $parent . $watch ( h ( f [ a ] ) , function ( c ) { l [ a ] = angular . isDefined ( c ) ? c : f [ a ] ; b [ a ] = l [ a ] ; ( "minMode" == a && l . modes . indexOf ( b . datepickerMode ) < l . modes . indexOf ( l [ a ] ) || "maxMode" == a && l . modes . indexOf ( b . datepickerMode ) >
l . modes . indexOf ( l [ a ] ) ) && ( b . datepickerMode = l [ a ] ) } ) : ( l [ a ] = g [ a ] || null , b [ a ] = l [ a ] ) } ) ; b . datepickerMode = b . datepickerMode || g . datepickerMode ; b . uniqueId = "datepicker-" + b . $id + "-" + Math . floor ( 1E4 * Math . random ( ) ) ; angular . isDefined ( f . initDate ) ? ( this . activeDate = b . $parent . $eval ( f . initDate ) || new Date , b . $parent . $watch ( f . initDate , function ( a ) { a && ( n . $isEmpty ( n . $modelValue ) || n . $invalid ) && ( l . activeDate = a , l . refreshView ( ) ) } ) ) : this . activeDate = new Date ; b . isActive = function ( a ) { return 0 === l . compare ( a . date , l . activeDate ) && ( b . activeDateId =
a . uid , ! 0 ) } ; this . init = function ( a ) { n = a ; n . $render = function ( ) { l . render ( ) } } ; this . render = function ( ) { if ( n . $viewValue ) { var a = new Date ( n . $viewValue ) ; isNaN ( a ) ? e || c . error ( 'Datepicker 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.' ) : this . activeDate = a } this . refreshView ( ) } ; this . refreshView = function ( ) { if ( this . element ) { this . _refreshView ( ) ; var a = n . $viewValue ? new Date ( n . $viewValue ) : null ; n . $setValidity ( "dateDisabled" ,
! a || this . element && ! this . isDisabled ( a ) ) } } ; this . createDateObject = function ( b , c ) { var e = n . $viewValue ? new Date ( n . $viewValue ) : null ; return { date : b , label : a ( b , c ) , selected : e && 0 === this . compare ( b , e ) , disabled : this . isDisabled ( b ) , current : 0 === this . compare ( b , new Date ) , customClass : this . customClass ( b ) } } ; this . isDisabled = function ( a ) { return this . minDate && 0 > this . compare ( a , this . minDate ) || this . maxDate && 0 < this . compare ( a , this . maxDate ) || f . dateDisabled && b . dateDisabled ( { date : a , mode : b . datepickerMode } ) } ; this . customClass = function ( a ) { return b . customClass ( { date : a ,
mode : b . datepickerMode } ) } ; this . split = function ( a , b ) { for ( var c = [ ] ; 0 < a . length ; ) c . push ( a . splice ( 0 , b ) ) ; return c } ; this . fixTimeZone = function ( a ) { var b = a . getHours ( ) ; a . setHours ( 23 === b ? b + 2 : 0 ) } ; b . select = function ( a ) { if ( b . datepickerMode === l . minMode ) { var c = n . $viewValue ? new Date ( n . $viewValue ) : new Date ( 0 , 0 , 0 , 0 , 0 , 0 , 0 ) ; c . setFullYear ( a . getFullYear ( ) , a . getMonth ( ) , a . getDate ( ) ) ; n . $setViewValue ( c ) ; n . $render ( ) } else l . activeDate = a , b . datepickerMode = l . modes [ l . modes . indexOf ( b . datepickerMode ) - 1 ] } ; b . move = function ( a ) { var b = l . activeDate . getFullYear ( ) +
a * ( l . step . years || 0 ) ; a = l . activeDate . getMonth ( ) + a * ( l . step . months || 0 ) ; l . activeDate . setFullYear ( b , a , 1 ) ; l . refreshView ( ) } ; b . toggleMode = function ( a ) { a = a || 1 ; b . datepickerMode === l . maxMode && 1 === a || b . datepickerMode === l . minMode && - 1 === a || ( b . datepickerMode = l . modes [ l . modes . indexOf ( b . datepickerMode ) + a ] ) } ; b . keys = { 13 : "enter" , 32 : "space" , 33 : "pageup" , 34 : "pagedown" , 35 : "end" , 36 : "home" , 37 : "left" , 38 : "up" , 39 : "right" , 40 : "down" } ; b . $on ( "uib:datepicker.focus" , function ( ) { l . element [ 0 ] . focus ( ) } ) ; b . keydown = function ( a ) { var c = b . keys [ a . which ] ;
! c || a . shiftKey || a . altKey || ( ( a . preventDefault ( ) , l . shortcutPropagation || a . stopPropagation ( ) , "enter" === c || "space" === c ) ? l . isDisabled ( l . activeDate ) || b . select ( l . activeDate ) : ! a . ctrlKey || "up" !== c && "down" !== c ? ( l . handleKeyDown ( c , a ) , l . refreshView ( ) ) : b . toggleMode ( "up" === c ? 1 : - 1 ) ) } } ] ) . directive ( "datepicker" , [ "$log" , "$datepickerSuppressWarning" , function ( b , f ) { return { replace : ! 0 , templateUrl : function ( b , f ) { return f . templateUrl || "template/datepicker/datepicker.html" } , scope : { datepickerMode : "=?" , dateDisabled : "&" , customClass : "&" ,
shortcutPropagation : "&?" } , require : [ "datepicker" , "^ngModel" ] , controller : "DatepickerController" , controllerAs : "datepicker" , link : function ( h , k , c , a ) { f || b . warn ( "datepicker is now deprecated. Use uib-datepicker instead." ) ; a [ 0 ] . init ( a [ 1 ] ) } } } ] ) . directive ( "daypicker" , [ "$log" , "$datepickerSuppressWarning" , function ( b , f ) { return { replace : ! 0 , templateUrl : "template/datepicker/day.html" , require : [ "^datepicker" , "daypicker" ] , controller : "UibDaypickerController" , link : function ( h , k , c , a ) { f || b . warn ( "daypicker is now deprecated. Use uib-daypicker instead." ) ;
a [ 1 ] . init ( a [ 0 ] ) } } } ] ) . directive ( "monthpicker" , [ "$log" , "$datepickerSuppressWarning" , function ( b , f ) { return { replace : ! 0 , templateUrl : "template/datepicker/month.html" , require : [ "^datepicker" , "monthpicker" ] , controller : "UibMonthpickerController" , link : function ( h , k , c , a ) { f || b . warn ( "monthpicker is now deprecated. Use uib-monthpicker instead." ) ; a [ 1 ] . init ( a [ 0 ] ) } } } ] ) . directive ( "yearpicker" , [ "$log" , "$datepickerSuppressWarning" , function ( b , f ) { return { replace : ! 0 , templateUrl : "template/datepicker/year.html" , require : [ "^datepicker" ,
"yearpicker" ] , controller : "UibYearpickerController" , link : function ( h , k , c , a ) { f || b . warn ( "yearpicker is now deprecated. Use uib-yearpicker instead." ) ; h = a [ 0 ] ; angular . extend ( h , a [ 1 ] ) ; h . yearpickerInit ( ) ; h . refreshView ( ) } } } ] ) . directive ( "datepickerPopup" , [ "$log" , "$datepickerSuppressWarning" , function ( b , f ) { return { require : [ "ngModel" , "datepickerPopup" ] , controller : "UibDatepickerPopupController" , scope : { isOpen : "=?" , currentText : "@" , clearText : "@" , closeText : "@" , dateDisabled : "&" , customClass : "&" } , link : function ( h , k , c , a ) { f ||
b . warn ( "datepicker-popup is now deprecated. Use uib-datepicker-popup instead." ) ; a [ 1 ] . init ( a [ 0 ] ) } } } ] ) . directive ( "datepickerPopupWrap" , [ "$log" , "$datepickerSuppressWarning" , function ( b , f ) { return { replace : ! 0 , transclude : ! 0 , templateUrl : function ( b , f ) { return f . templateUrl || "template/datepicker/popup.html" } , link : function ( ) { f || b . warn ( "datepicker-popup-wrap is now deprecated. Use uib-datepicker-popup-wrap instead." ) } } } ] ) ;
angular . module ( "ui.bootstrap.dropdown" , [ "ui.bootstrap.position" ] ) . constant ( "uibDropdownConfig" , { openClass : "open" } ) . service ( "uibDropdownService" , [ "$document" , "$rootScope" , function ( b , f ) { var h = null ; this . open = function ( a ) { h || ( b . bind ( "click" , k ) , b . bind ( "keydown" , c ) ) ; h && h !== a && ( h . isOpen = ! 1 ) ; h = a } ; this . close = function ( a ) { h === a && ( h = null , b . unbind ( "click" , k ) , b . unbind ( "keydown" , c ) ) } ; var k = function ( a ) { if ( h && ( ! a || "disabled" !== h . getAutoClose ( ) ) ) { var b = h . getToggleElement ( ) ; a && b && b [ 0 ] . contains ( a . target ) || ( b = h . getDropdownElement ( ) ,
a && "outsideClick" === h . getAutoClose ( ) && b && b [ 0 ] . contains ( a . target ) || ( h . isOpen = ! 1 , f . $$phase || h . $apply ( ) ) ) } } , c = function ( a ) { 27 === a . which ? ( h . focusToggleElement ( ) , k ( ) ) : h . isKeynavEnabled ( ) && /(38|40)/ . test ( a . which ) && h . isOpen && ( a . preventDefault ( ) , a . stopPropagation ( ) , h . focusDropdownEntry ( a . which ) ) } } ] ) . controller ( "UibDropdownController" , [ "$scope" , "$element" , "$attrs" , "$parse" , "uibDropdownConfig" , "uibDropdownService" , "$animate" , "$uibPosition" , "$document" , "$compile" , "$templateRequest" , function ( b , f , h , k , c , a , g , e , t ,
l , n ) { var q , w , r = this , z = b . $new ( ) , y = c . openClass , F = angular . noop , A = h . onToggle ? k ( h . onToggle ) : angular . noop , D = ! 1 , p = ! 1 ; f . addClass ( "dropdown" ) ; this . init = function ( ) { h . isOpen && ( w = k ( h . isOpen ) , F = w . assign , b . $watch ( w , function ( a ) { z . isOpen = ! ! a } ) ) ; D = angular . isDefined ( h . dropdownAppendToBody ) ; p = angular . isDefined ( h . uibKeyboardNav ) ; D && r . dropdownMenu && ( t . find ( "body" ) . append ( r . dropdownMenu ) , f . on ( "$destroy" , function ( ) { r . dropdownMenu . remove ( ) } ) ) } ; this . toggle = function ( a ) { return z . isOpen = arguments . length ? ! ! a : ! z . isOpen } ; this . isOpen =
function ( ) { return z . isOpen } ; z . getToggleElement = function ( ) { return r . toggleElement } ; z . getAutoClose = function ( ) { return h . autoClose || "always" } ; z . getElement = function ( ) { return f } ; z . isKeynavEnabled = function ( ) { return p } ; z . focusDropdownEntry = function ( a ) { var b = r . dropdownMenu ? angular . element ( r . dropdownMenu ) . find ( "a" ) : angular . element ( f ) . find ( "ul" ) . eq ( 0 ) . find ( "a" ) ; switch ( a ) { case 40 : angular . isNumber ( r . selectedOption ) ? r . selectedOption = r . selectedOption === b . length - 1 ? r . selectedOption : r . selectedOption + 1 : r . selectedOption =
0 ; break ; case 38 : angular . isNumber ( r . selectedOption ) ? r . selectedOption = 0 === r . selectedOption ? 0 : r . selectedOption - 1 : r . selectedOption = b . length - 1 } b [ r . selectedOption ] . focus ( ) } ; z . getDropdownElement = function ( ) { return r . dropdownMenu } ; z . focusToggleElement = function ( ) { r . toggleElement && r . toggleElement [ 0 ] . focus ( ) } ; z . $watch ( "isOpen" , function ( c , h ) { if ( D && r . dropdownMenu ) { var k = e . positionElements ( f , r . dropdownMenu , "bottom-left" , ! 0 ) , t = { top : k . top + "px" , display : c ? "block" : "none" } ; r . dropdownMenu . hasClass ( "dropdown-menu-right" ) ?
( t . left = "auto" , t . right = window . innerWidth - ( k . left + f . prop ( "offsetWidth" ) ) + "px" ) : ( t . left = k . left + "px" , t . right = "auto" ) ; r . dropdownMenu . css ( t ) } ( g [ c ? "addClass" : "removeClass" ] ( f , y ) . then ( function ( ) { angular . isDefined ( c ) && c !== h && A ( b , { open : ! ! c } ) } ) , c ) ? ( r . dropdownMenuTemplateUrl && n ( r . dropdownMenuTemplateUrl ) . then ( function ( a ) { q = z . $new ( ) ; l ( a . trim ( ) ) ( q , function ( a ) { r . dropdownMenu . replaceWith ( a ) ; r . dropdownMenu = a } ) } ) , z . focusToggleElement ( ) , a . open ( z ) ) : ( r . dropdownMenuTemplateUrl && ( q && q . $destroy ( ) , k = angular . element ( '<ul class="dropdown-menu"></ul>' ) ,
r . dropdownMenu . replaceWith ( k ) , r . dropdownMenu = k ) , a . close ( z ) , r . selectedOption = null ) ; angular . isFunction ( F ) && F ( b , c ) } ) ; b . $on ( "$locationChangeSuccess" , function ( ) { "disabled" !== z . getAutoClose ( ) && ( z . isOpen = ! 1 ) } ) ; c = b . $on ( "$destroy" , function ( ) { z . $destroy ( ) } ) ; z . $on ( "$destroy" , c ) } ] ) . directive ( "uibDropdown" , function ( ) { return { controller : "UibDropdownController" , link : function ( b , f , h , k ) { k . init ( ) } } } ) . directive ( "uibDropdownMenu" , function ( ) { return { restrict : "AC" , require : "?^uibDropdown" , link : function ( b , f , h , k ) { k && ! angular . isDefined ( h . dropdownNested ) &&
( f . addClass ( "dropdown-menu" ) , ( b = h . templateUrl ) && ( k . dropdownMenuTemplateUrl = b ) , k . dropdownMenu || ( k . dropdownMenu = f ) ) } } } ) . directive ( "uibKeyboardNav" , function ( ) { return { restrict : "A" , require : "?^uibDropdown" , link : function ( b , f , h , k ) { f . bind ( "keydown" , function ( b ) { if ( - 1 !== [ 38 , 40 ] . indexOf ( b . which ) ) { b . preventDefault ( ) ; b . stopPropagation ( ) ; var a = k . dropdownMenu . find ( "a" ) ; switch ( b . which ) { case 40 : angular . isNumber ( k . selectedOption ) ? k . selectedOption = k . selectedOption === a . length - 1 ? k . selectedOption : k . selectedOption + 1 : k . selectedOption =
0 ; break ; case 38 : angular . isNumber ( k . selectedOption ) ? k . selectedOption = 0 === k . selectedOption ? 0 : k . selectedOption - 1 : k . selectedOption = a . length - 1 } a [ k . selectedOption ] . focus ( ) } } ) } } } ) . directive ( "uibDropdownToggle" , function ( ) { return { require : "?^uibDropdown" , link : function ( b , f , h , k ) { if ( k ) { f . addClass ( "dropdown-toggle" ) ; k . toggleElement = f ; var c = function ( a ) { a . preventDefault ( ) ; f . hasClass ( "disabled" ) || h . disabled || b . $apply ( function ( ) { k . toggle ( ) } ) } ; f . bind ( "click" , c ) ; f . attr ( { "aria-haspopup" : ! 0 , "aria-expanded" : ! 1 } ) ; b . $watch ( k . isOpen ,
function ( a ) { f . attr ( "aria-expanded" , ! ! a ) } ) ; b . $on ( "$destroy" , function ( ) { f . unbind ( "click" , c ) } ) } } } } ) ;
angular . module ( "ui.bootstrap.dropdown" ) . value ( "$dropdownSuppressWarning" , ! 1 ) . service ( "dropdownService" , [ "$log" , "$dropdownSuppressWarning" , "uibDropdownService" , function ( b , f , h ) { f || b . warn ( "dropdownService is now deprecated. Use uibDropdownService instead." ) ; angular . extend ( this , h ) } ] ) . controller ( "DropdownController" , [ "$scope" , "$element" , "$attrs" , "$parse" , "uibDropdownConfig" , "uibDropdownService" , "$animate" , "$uibPosition" , "$document" , "$compile" , "$templateRequest" , "$log" , "$dropdownSuppressWarning" , function ( b ,
f , h , k , c , a , g , e , t , l , n , q , w ) { w || q . warn ( "DropdownController is now deprecated. Use UibDropdownController instead." ) ; var r , z , y = this , F = b . $new ( ) , A = c . openClass , D = angular . noop , p = h . onToggle ? k ( h . onToggle ) : angular . noop , u = ! 1 , J = ! 1 ; f . addClass ( "dropdown" ) ; this . init = function ( ) { h . isOpen && ( z = k ( h . isOpen ) , D = z . assign , b . $watch ( z , function ( a ) { F . isOpen = ! ! a } ) ) ; u = angular . isDefined ( h . dropdownAppendToBody ) ; J = angular . isDefined ( h . uibKeyboardNav ) ; u && y . dropdownMenu && ( t . find ( "body" ) . append ( y . dropdownMenu ) , f . on ( "$destroy" , function ( ) { y . dropdownMenu . remove ( ) } ) ) } ;
this . toggle = function ( a ) { return F . isOpen = arguments . length ? ! ! a : ! F . isOpen } ; this . isOpen = function ( ) { return F . isOpen } ; F . getToggleElement = function ( ) { return y . toggleElement } ; F . getAutoClose = function ( ) { return h . autoClose || "always" } ; F . getElement = function ( ) { return f } ; F . isKeynavEnabled = function ( ) { return J } ; F . focusDropdownEntry = function ( a ) { var b = y . dropdownMenu ? angular . element ( y . dropdownMenu ) . find ( "a" ) : angular . element ( f ) . find ( "ul" ) . eq ( 0 ) . find ( "a" ) ; switch ( a ) { case 40 : angular . isNumber ( y . selectedOption ) ? y . selectedOption =
y . selectedOption === b . length - 1 ? y . selectedOption : y . selectedOption + 1 : y . selectedOption = 0 ; break ; case 38 : angular . isNumber ( y . selectedOption ) ? y . selectedOption = 0 === y . selectedOption ? 0 : y . selectedOption - 1 : y . selectedOption = b . length - 1 } b [ y . selectedOption ] . focus ( ) } ; F . getDropdownElement = function ( ) { return y . dropdownMenu } ; F . focusToggleElement = function ( ) { y . toggleElement && y . toggleElement [ 0 ] . focus ( ) } ; F . $watch ( "isOpen" , function ( c , h ) { if ( u && y . dropdownMenu ) { var k = e . positionElements ( f , y . dropdownMenu , "bottom-left" , ! 0 ) , t = { top : k . top +
"px" , display : c ? "block" : "none" } ; y . dropdownMenu . hasClass ( "dropdown-menu-right" ) ? ( t . left = "auto" , t . right = window . innerWidth - ( k . left + f . prop ( "offsetWidth" ) ) + "px" ) : ( t . left = k . left + "px" , t . right = "auto" ) ; y . dropdownMenu . css ( t ) } ( g [ c ? "addClass" : "removeClass" ] ( f , A ) . then ( function ( ) { angular . isDefined ( c ) && c !== h && p ( b , { open : ! ! c } ) } ) , c ) ? ( y . dropdownMenuTemplateUrl && n ( y . dropdownMenuTemplateUrl ) . then ( function ( a ) { r = F . $new ( ) ; l ( a . trim ( ) ) ( r , function ( a ) { y . dropdownMenu . replaceWith ( a ) ; y . dropdownMenu = a } ) } ) , F . focusToggleElement ( ) ,
a . open ( F ) ) : ( y . dropdownMenuTemplateUrl && ( r && r . $destroy ( ) , k = angular . element ( '<ul class="dropdown-menu"></ul>' ) , y . dropdownMenu . replaceWith ( k ) , y . dropdownMenu = k ) , a . close ( F ) , y . selectedOption = null ) ; angular . isFunction ( D ) && D ( b , c ) } ) ; b . $on ( "$locationChangeSuccess" , function ( ) { "disabled" !== F . getAutoClose ( ) && ( F . isOpen = ! 1 ) } ) ; c = b . $on ( "$destroy" , function ( ) { F . $destroy ( ) } ) ; F . $on ( "$destroy" , c ) } ] ) . directive ( "dropdown" , [ "$log" , "$dropdownSuppressWarning" , function ( b , f ) { return { controller : "DropdownController" , link : function ( h ,
k , c , a ) { f || b . warn ( "dropdown is now deprecated. Use uib-dropdown instead." ) ; a . init ( ) } } } ] ) . directive ( "dropdownMenu" , [ "$log" , "$dropdownSuppressWarning" , function ( b , f ) { return { restrict : "AC" , require : "?^dropdown" , link : function ( h , k , c , a ) { a && ! angular . isDefined ( c . dropdownNested ) && ( f || b . warn ( "dropdown-menu is now deprecated. Use uib-dropdown-menu instead." ) , k . addClass ( "dropdown-menu" ) , ( h = c . templateUrl ) && ( a . dropdownMenuTemplateUrl = h ) , a . dropdownMenu || ( a . dropdownMenu = k ) ) } } } ] ) . directive ( "keyboardNav" , [ "$log" , "$dropdownSuppressWarning" ,
function ( b , f ) { return { restrict : "A" , require : "?^dropdown" , link : function ( h , k , c , a ) { f || b . warn ( "keyboard-nav is now deprecated. Use uib-keyboard-nav instead." ) ; k . bind ( "keydown" , function ( b ) { if ( - 1 !== [ 38 , 40 ] . indexOf ( b . which ) ) { b . preventDefault ( ) ; b . stopPropagation ( ) ; var c = a . dropdownMenu . find ( "a" ) ; switch ( b . which ) { case 40 : angular . isNumber ( a . selectedOption ) ? a . selectedOption = a . selectedOption === c . length - 1 ? a . selectedOption : a . selectedOption + 1 : a . selectedOption = 0 ; break ; case 38 : angular . isNumber ( a . selectedOption ) ? a . selectedOption =
0 === a . selectedOption ? 0 : a . selectedOption - 1 : a . selectedOption = c . length - 1 } c [ a . selectedOption ] . focus ( ) } } ) } } } ] ) . directive ( "dropdownToggle" , [ "$log" , "$dropdownSuppressWarning" , function ( b , f ) { return { require : "?^dropdown" , link : function ( h , k , c , a ) { if ( f || b . warn ( "dropdown-toggle is now deprecated. Use uib-dropdown-toggle instead." ) , a ) { k . addClass ( "dropdown-toggle" ) ; a . toggleElement = k ; var g = function ( b ) { b . preventDefault ( ) ; k . hasClass ( "disabled" ) || c . disabled || h . $apply ( function ( ) { a . toggle ( ) } ) } ; k . bind ( "click" , g ) ; k . attr ( { "aria-haspopup" : ! 0 ,
"aria-expanded" : ! 1 } ) ; h . $watch ( a . isOpen , function ( a ) { k . attr ( "aria-expanded" , ! ! a ) } ) ; h . $on ( "$destroy" , function ( ) { k . unbind ( "click" , g ) } ) } } } } ] ) ;
angular . module ( "ui.bootstrap.stackedMap" , [ ] ) . factory ( "$$stackedMap" , function ( ) { return { createNew : function ( ) { var b = [ ] ; return { add : function ( f , h ) { b . push ( { key : f , value : h } ) } , get : function ( f ) { for ( var h = 0 ; h < b . length ; h ++ ) if ( f == b [ h ] . key ) return b [ h ] } , keys : function ( ) { for ( var f = [ ] , h = 0 ; h < b . length ; h ++ ) f . push ( b [ h ] . key ) ; return f } , top : function ( ) { return b [ b . length - 1 ] } , remove : function ( f ) { for ( var h = - 1 , k = 0 ; k < b . length ; k ++ ) if ( f == b [ k ] . key ) { h = k ; break } return b . splice ( h , 1 ) [ 0 ] } , removeTop : function ( ) { return b . splice ( b . length - 1 , 1 ) [ 0 ] } ,
length : function ( ) { return b . length } } } } } ) ;
angular . module ( "ui.bootstrap.modal" , [ "ui.bootstrap.stackedMap" ] ) . factory ( "$$multiMap" , function ( ) { return { createNew : function ( ) { var b = { } ; return { entries : function ( ) { return Object . keys ( b ) . map ( function ( f ) { return { key : f , value : b [ f ] } } ) } , get : function ( f ) { return b [ f ] } , hasKey : function ( f ) { return ! ! b [ f ] } , keys : function ( ) { return Object . keys ( b ) } , put : function ( f , h ) { b [ f ] || ( b [ f ] = [ ] ) ; b [ f ] . push ( h ) } , remove : function ( f , h ) { var k = b [ f ] ; if ( k ) { var c = k . indexOf ( h ) ; - 1 !== c && k . splice ( c , 1 ) ; k . length || delete b [ f ] } } } } } } ) . directive ( "uibModalBackdrop" ,
[ "$animate" , "$injector" , "$uibModalStack" , function ( b , f , h ) { function k ( a , g , e ) { g . addClass ( "modal-backdrop" ) ; e . modalInClass && ( c ? c ( g , { addClass : e . modalInClass } ) . start ( ) : b . addClass ( g , e . modalInClass ) , a . $on ( h . NOW _CLOSING _EVENT , function ( a , f ) { var l = f ( ) ; c ? c ( g , { removeClass : e . modalInClass } ) . start ( ) . then ( l ) : b . removeClass ( g , e . modalInClass ) . then ( l ) } ) ) } var c = null ; return f . has ( "$animateCss" ) && ( c = f . get ( "$animateCss" ) ) , { replace : ! 0 , templateUrl : "template/modal/backdrop.html" , compile : function ( a , b ) { return a . addClass ( b . backdropClass ) ,
k } } } ] ) . directive ( "uibModalWindow" , [ "$uibModalStack" , "$q" , "$animate" , "$injector" , function ( b , f , h , k ) { var c = null ; return k . has ( "$animateCss" ) && ( c = k . get ( "$animateCss" ) ) , { scope : { index : "@" } , replace : ! 0 , transclude : ! 0 , templateUrl : function ( a , b ) { return b . templateUrl || "template/modal/window.html" } , link : function ( a , g , e ) { g . addClass ( e . windowClass || "" ) ; g . addClass ( e . windowTopClass || "" ) ; a . size = e . size ; a . close = function ( a ) { var c = b . getTop ( ) ; c && c . value . backdrop && "static" !== c . value . backdrop && a . target === a . currentTarget && ( a . preventDefault ( ) ,
a . stopPropagation ( ) , b . dismiss ( c . key , "backdrop click" ) ) } ; g . on ( "click" , a . close ) ; a . $isRendered = ! 0 ; var k = f . defer ( ) ; e . $observe ( "modalRender" , function ( a ) { "true" == a && k . resolve ( ) } ) ; k . promise . then ( function ( ) { var l = null ; e . modalInClass && ( l = c ? c ( g , { addClass : e . modalInClass } ) . start ( ) : h . addClass ( g , e . modalInClass ) , a . $on ( b . NOW _CLOSING _EVENT , function ( a , b ) { var f = b ( ) ; c ? c ( g , { removeClass : e . modalInClass } ) . start ( ) . then ( f ) : h . removeClass ( g , e . modalInClass ) . then ( f ) } ) ) ; f . when ( l ) . then ( function ( ) { var a = g [ 0 ] . querySelector ( "[autofocus]" ) ;
a ? a . focus ( ) : g [ 0 ] . focus ( ) } ) ; ( l = b . getTop ( ) ) && b . modalRendered ( l . key ) } ) } } } ] ) . directive ( "uibModalAnimationClass" , function ( ) { return { compile : function ( b , f ) { f . modalAnimation && b . addClass ( f . uibModalAnimationClass ) } } } ) . directive ( "uibModalTransclude" , function ( ) { return { link : function ( b , f , h , k , c ) { c ( b . $parent , function ( a ) { f . empty ( ) ; f . append ( a ) } ) } } } ) . factory ( "$uibModalStack" , [ "$animate" , "$timeout" , "$document" , "$compile" , "$rootScope" , "$q" , "$injector" , "$$multiMap" , "$$stackedMap" , function ( b , f , h , k , c , a , g , e , t ) { function l ( ) { for ( var a =
- 1 , b = p . keys ( ) , c = 0 ; c < b . length ; c ++ ) p . get ( b [ c ] ) . value . backdrop && ( a = c ) ; return a } function n ( a , b ) { var c = h . find ( "body" ) . eq ( 0 ) , e = p . get ( a ) . value ; p . remove ( a ) ; r ( e . modalDomEl , e . modalScope , function ( ) { var b = e . openedClass || D ; u . remove ( b , a ) ; c . toggleClass ( b , u . hasKey ( b ) ) ; q ( ! 0 ) } ) ; w ( ) ; b && b . focus ? b . focus ( ) : c . focus ( ) } function q ( a ) { var b ; 0 < p . length ( ) && ( b = p . top ( ) . value , b . modalDomEl . toggleClass ( b . windowTopClass || "" , a ) ) } function w ( ) { y && - 1 == l ( ) && ( r ( y , F , function ( ) { } ) , F = y = void 0 ) } function r ( c , e , g ) { function f ( ) { f . done || ( f . done =
! 0 , z ? z ( c , { event : "leave" } ) . start ( ) . then ( function ( ) { c . remove ( ) } ) : b . leave ( c ) , e . $destroy ( ) , g && g ( ) ) } var l , h = null ; return e . $broadcast ( J . NOW _CLOSING _EVENT , function ( ) { return l || ( l = a . defer ( ) , h = l . promise ) , function ( ) { l . resolve ( ) } } ) , a . when ( h ) . then ( f ) } var z = null ; g . has ( "$animateCss" ) && ( z = g . get ( "$animateCss" ) ) ; var y , F , A , D = "modal-open" , p = t . createNew ( ) , u = e . createNew ( ) , J = { NOW _CLOSING _EVENT : "modal.stack.now-closing" } ; return c . $watch ( l , function ( a ) { F && ( F . index = a ) } ) , h . bind ( "keydown" , function ( a ) { if ( a . isDefaultPrevented ( ) ) return a ;
var b = p . top ( ) ; if ( b && b . value . keyboard ) switch ( a . which ) { case 27 : a . preventDefault ( ) ; c . $apply ( function ( ) { J . dismiss ( b . key , "escape key press" ) } ) ; break ; case 9 : J . loadFocusElementList ( b ) ; var e = ! 1 ; a . shiftKey ? J . isFocusInFirstItem ( a ) && ( e = J . focusLastFocusableElement ( ) ) : J . isFocusInLastItem ( a ) && ( e = J . focusFirstFocusableElement ( ) ) ; e && ( a . preventDefault ( ) , a . stopPropagation ( ) ) } } ) , J . open = function ( a , b ) { var e = h [ 0 ] . activeElement , g = b . openedClass || D ; q ( ! 1 ) ; p . add ( a , { deferred : b . deferred , renderDeferred : b . renderDeferred , modalScope : b . scope ,
backdrop : b . backdrop , keyboard : b . keyboard , openedClass : b . openedClass , windowTopClass : b . windowTopClass } ) ; u . put ( g , a ) ; var f = h . find ( "body" ) . eq ( 0 ) , n = l ( ) ; 0 <= n && ! y && ( F = c . $new ( ! 0 ) , F . index = n , n = angular . element ( '<div uib-modal-backdrop="modal-backdrop"></div>' ) , n . attr ( "backdrop-class" , b . backdropClass ) , b . animation && n . attr ( "modal-animation" , "true" ) , y = k ( n ) ( F ) , f . append ( y ) ) ; n = angular . element ( '<div uib-modal-window="modal-window"></div>' ) ; n . attr ( { "template-url" : b . windowTemplateUrl , "window-class" : b . windowClass , "window-top-class" : b . windowTopClass ,
size : b . size , index : p . length ( ) - 1 , animate : "animate" } ) . html ( b . content ) ; b . animation && n . attr ( "modal-animation" , "true" ) ; n = k ( n ) ( b . scope ) ; p . top ( ) . value . modalDomEl = n ; p . top ( ) . value . modalOpener = e ; f . append ( n ) ; f . addClass ( g ) ; J . clearFocusListCache ( ) } , J . close = function ( a , b ) { var c = p . get ( a ) ; return c && ! c . value . modalScope . $broadcast ( "modal.closing" , b , ! 0 ) . defaultPrevented ? ( c . value . modalScope . $$uibDestructionScheduled = ! 0 , c . value . deferred . resolve ( b ) , n ( a , c . value . modalOpener ) , ! 0 ) : ! c } , J . dismiss = function ( a , b ) { var c = p . get ( a ) ;
return c && ! c . value . modalScope . $broadcast ( "modal.closing" , b , ! 1 ) . defaultPrevented ? ( c . value . modalScope . $$uibDestructionScheduled = ! 0 , c . value . deferred . reject ( b ) , n ( a , c . value . modalOpener ) , ! 0 ) : ! c } , J . dismissAll = function ( a ) { for ( var b = this . getTop ( ) ; b && this . dismiss ( b . key , a ) ; ) b = this . getTop ( ) } , J . getTop = function ( ) { return p . top ( ) } , J . modalRendered = function ( a ) { ( a = p . get ( a ) ) && a . value . renderDeferred . resolve ( ) } , J . focusFirstFocusableElement = function ( ) { return 0 < A . length && ( A [ 0 ] . focus ( ) , ! 0 ) } , J . focusLastFocusableElement = function ( ) { return 0 <
A . length && ( A [ A . length - 1 ] . focus ( ) , ! 0 ) } , J . isFocusInFirstItem = function ( a ) { return 0 < A . length && ( a . target || a . srcElement ) == A [ 0 ] } , J . isFocusInLastItem = function ( a ) { return 0 < A . length && ( a . target || a . srcElement ) == A [ A . length - 1 ] } , J . clearFocusListCache = function ( ) { A = [ ] } , J . loadFocusElementList = function ( a ) { void 0 !== A && A . length || ! a || ( a = a . value . modalDomEl ) && a . length && ( A = a [ 0 ] . querySelectorAll ( "a[href], area[href], input:not([disabled]), button:not([disabled]),select:not([disabled]), textarea:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable=true]" ) ) } ,
J } ] ) . provider ( "$uibModal" , function ( ) { var b = { options : { animation : ! 0 , backdrop : ! 0 , keyboard : ! 0 } , $get : [ "$injector" , "$rootScope" , "$q" , "$templateRequest" , "$controller" , "$uibModalStack" , "$modalSuppressWarning" , "$log" , function ( f , h , k , c , a , g , e , t ) { function l ( a ) { return a . template ? k . when ( a . template ) : c ( angular . isFunction ( a . templateUrl ) ? a . templateUrl ( ) : a . templateUrl ) } function n ( a ) { var b = [ ] ; return angular . forEach ( a , function ( a ) { angular . isFunction ( a ) || angular . isArray ( a ) ? b . push ( k . when ( f . invoke ( a ) ) ) : angular . isString ( a ) ?
b . push ( k . when ( f . get ( a ) ) ) : b . push ( k . when ( a ) ) } ) , b } var q = { } , w = null ; return q . getPromiseChain = function ( ) { return w } , q . open = function ( c ) { function f ( ) { return u } var r = k . defer ( ) , q = k . defer ( ) , A = k . defer ( ) , D = { result : r . promise , opened : q . promise , rendered : A . promise , close : function ( a ) { return g . close ( D , a ) } , dismiss : function ( a ) { return g . dismiss ( D , a ) } } ; if ( c = angular . extend ( { } , b . options , c ) , c . resolve = c . resolve || { } , ! c . template && ! c . templateUrl ) throw Error ( "One of template or templateUrl options is required." ) ; var p , u = k . all ( [ l ( c ) ] . concat ( n ( c . resolve ) ) ) ;
return p = w = k . all ( [ w ] ) . then ( f , f ) . then ( function ( b ) { var f = ( c . scope || h ) . $new ( ) ; f . $close = D . close ; f . $dismiss = D . dismiss ; f . $on ( "$destroy" , function ( ) { f . $$uibDestructionScheduled || f . $dismiss ( "$uibUnscheduledDestruction" ) } ) ; var l , k = { } , n = 1 ; c . controller && ( k . $scope = f , k . $uibModalInstance = D , Object . defineProperty ( k , "$modalInstance" , { get : function ( ) { return e || t . warn ( "$modalInstance is now deprecated. Use $uibModalInstance instead." ) , D } } ) , angular . forEach ( c . resolve , function ( a , c ) { k [ c ] = b [ n ++ ] } ) , l = a ( c . controller , k ) , c . controllerAs &&
( c . bindToController && angular . extend ( l , f ) , f [ c . controllerAs ] = l ) ) ; g . open ( D , { scope : f , deferred : r , renderDeferred : A , content : b [ 0 ] , animation : c . animation , backdrop : c . backdrop , keyboard : c . keyboard , backdropClass : c . backdropClass , windowTopClass : c . windowTopClass , windowClass : c . windowClass , windowTemplateUrl : c . windowTemplateUrl , size : c . size , openedClass : c . openedClass } ) ; q . resolve ( ! 0 ) } , function ( a ) { q . reject ( a ) ; r . reject ( a ) } ) [ "finally" ] ( function ( ) { w === p && ( w = null ) } ) , D } , q } ] } ; return b } ) ;
angular . module ( "ui.bootstrap.modal" ) . value ( "$modalSuppressWarning" , ! 1 ) . directive ( "modalBackdrop" , [ "$animate" , "$injector" , "$modalStack" , "$log" , "$modalSuppressWarning" , function ( b , f , h , k , c ) { function a ( a , f , l ) { c || k . warn ( "modal-backdrop is now deprecated. Use uib-modal-backdrop instead." ) ; f . addClass ( "modal-backdrop" ) ; l . modalInClass && ( g ? g ( f , { addClass : l . modalInClass } ) . start ( ) : b . addClass ( f , l . modalInClass ) , a . $on ( h . NOW _CLOSING _EVENT , function ( a , c ) { var e = c ( ) ; g ? g ( f , { removeClass : l . modalInClass } ) . start ( ) . then ( e ) :
b . removeClass ( f , l . modalInClass ) . then ( e ) } ) ) } var g = null ; return f . has ( "$animateCss" ) && ( g = f . get ( "$animateCss" ) ) , { replace : ! 0 , templateUrl : "template/modal/backdrop.html" , compile : function ( b , c ) { return b . addClass ( c . backdropClass ) , a } } } ] ) . directive ( "modalWindow" , [ "$modalStack" , "$q" , "$animate" , "$injector" , "$log" , "$modalSuppressWarning" , function ( b , f , h , k , c , a ) { var g = null ; return k . has ( "$animateCss" ) && ( g = k . get ( "$animateCss" ) ) , { scope : { index : "@" } , replace : ! 0 , transclude : ! 0 , templateUrl : function ( a , b ) { return b . templateUrl ||
"template/modal/window.html" } , link : function ( e , k , l ) { a || c . warn ( "modal-window is now deprecated. Use uib-modal-window instead." ) ; k . addClass ( l . windowClass || "" ) ; k . addClass ( l . windowTopClass || "" ) ; e . size = l . size ; e . close = function ( a ) { var c = b . getTop ( ) ; c && c . value . backdrop && "static" !== c . value . backdrop && a . target === a . currentTarget && ( a . preventDefault ( ) , a . stopPropagation ( ) , b . dismiss ( c . key , "backdrop click" ) ) } ; k . on ( "click" , e . close ) ; e . $isRendered = ! 0 ; var n = f . defer ( ) ; l . $observe ( "modalRender" , function ( a ) { "true" == a && n . resolve ( ) } ) ;
n . promise . then ( function ( ) { var a = null ; l . modalInClass && ( a = g ? g ( k , { addClass : l . modalInClass } ) . start ( ) : h . addClass ( k , l . modalInClass ) , e . $on ( b . NOW _CLOSING _EVENT , function ( a , b ) { var c = b ( ) ; g ? g ( k , { removeClass : l . modalInClass } ) . start ( ) . then ( c ) : h . removeClass ( k , l . modalInClass ) . then ( c ) } ) ) ; f . when ( a ) . then ( function ( ) { var a = k [ 0 ] . querySelector ( "[autofocus]" ) ; a ? a . focus ( ) : k [ 0 ] . focus ( ) } ) ; ( a = b . getTop ( ) ) && b . modalRendered ( a . key ) } ) } } } ] ) . directive ( "modalAnimationClass" , [ "$log" , "$modalSuppressWarning" , function ( b , f ) { return { compile : function ( h ,
k ) { f || b . warn ( "modal-animation-class is now deprecated. Use uib-modal-animation-class instead." ) ; k . modalAnimation && h . addClass ( k . modalAnimationClass ) } } } ] ) . directive ( "modalTransclude" , [ "$log" , "$modalSuppressWarning" , function ( b , f ) { return { link : function ( h , k , c , a , g ) { f || b . warn ( "modal-transclude is now deprecated. Use uib-modal-transclude instead." ) ; g ( h . $parent , function ( a ) { k . empty ( ) ; k . append ( a ) } ) } } } ] ) . service ( "$modalStack" , [ "$animate" , "$timeout" , "$document" , "$compile" , "$rootScope" , "$q" , "$injector" , "$$multiMap" ,
"$$stackedMap" , "$uibModalStack" , "$log" , "$modalSuppressWarning" , function ( b , f , h , k , c , a , g , e , t , l , n , q ) { q || n . warn ( "$modalStack is now deprecated. Use $uibModalStack instead." ) ; angular . extend ( this , l ) } ] ) . provider ( "$modal" , [ "$uibModalProvider" , function ( b ) { angular . extend ( this , b ) ; this . $get = [ "$injector" , "$log" , "$modalSuppressWarning" , function ( f , h , k ) { return k || h . warn ( "$modal is now deprecated. Use $uibModal instead." ) , f . invoke ( b . $get ) } ] } ] ) ;
angular . module ( "ui.bootstrap.pagination" , [ ] ) . controller ( "UibPaginationController" , [ "$scope" , "$attrs" , "$parse" , function ( b , f , h ) { var k = this , c = { $setViewValue : angular . noop } , a = f . numPages ? h ( f . numPages ) . assign : angular . noop ; this . init = function ( g , e ) { c = g ; this . config = e ; c . $render = function ( ) { k . render ( ) } ; f . itemsPerPage ? b . $parent . $watch ( h ( f . itemsPerPage ) , function ( a ) { k . itemsPerPage = parseInt ( a , 10 ) ; b . totalPages = k . calculateTotalPages ( ) } ) : this . itemsPerPage = e . itemsPerPage ; b . $watch ( "totalItems" , function ( ) { b . totalPages = k . calculateTotalPages ( ) } ) ;
b . $watch ( "totalPages" , function ( e ) { a ( b . $parent , e ) ; b . page > e ? b . selectPage ( e ) : c . $render ( ) } ) } ; this . calculateTotalPages = function ( ) { return Math . max ( ( 1 > this . itemsPerPage ? 1 : Math . ceil ( b . totalItems / this . itemsPerPage ) ) || 0 , 1 ) } ; this . render = function ( ) { b . page = parseInt ( c . $viewValue , 10 ) || 1 } ; b . selectPage = function ( a , e ) { e && e . preventDefault ( ) ; ! ( b . ngDisabled && e || b . page === a ) && 0 < a && a <= b . totalPages && ( e && e . target && e . target . blur ( ) , c . $setViewValue ( a ) , c . $render ( ) ) } ; b . getText = function ( a ) { return b [ a + "Text" ] || k . config [ a + "Text" ] } ;
b . noPrevious = function ( ) { return 1 === b . page } ; b . noNext = function ( ) { return b . page === b . totalPages } } ] ) . constant ( "uibPaginationConfig" , { itemsPerPage : 10 , boundaryLinks : ! 1 , directionLinks : ! 0 , firstText : "First" , previousText : "Previous" , nextText : "Next" , lastText : "Last" , rotate : ! 0 } ) . directive ( "uibPagination" , [ "$parse" , "uibPaginationConfig" , function ( b , f ) { return { restrict : "EA" , scope : { totalItems : "=" , firstText : "@" , previousText : "@" , nextText : "@" , lastText : "@" , ngDisabled : "=" } , require : [ "uibPagination" , "?ngModel" ] , controller : "UibPaginationController" ,
controllerAs : "pagination" , templateUrl : function ( b , f ) { return f . templateUrl || "template/pagination/pagination.html" } , replace : ! 0 , link : function ( h , k , c , a ) { var g = a [ 0 ] ; if ( k = a [ 1 ] ) { var e = angular . isDefined ( c . maxSize ) ? h . $parent . $eval ( c . maxSize ) : f . maxSize , t = angular . isDefined ( c . rotate ) ? h . $parent . $eval ( c . rotate ) : f . rotate ; h . boundaryLinks = angular . isDefined ( c . boundaryLinks ) ? h . $parent . $eval ( c . boundaryLinks ) : f . boundaryLinks ; h . directionLinks = angular . isDefined ( c . directionLinks ) ? h . $parent . $eval ( c . directionLinks ) : f . directionLinks ;
g . init ( k , f ) ; c . maxSize && h . $parent . $watch ( b ( c . maxSize ) , function ( a ) { e = parseInt ( a , 10 ) ; g . render ( ) } ) ; var l = g . render ; g . render = function ( ) { l ( ) ; if ( 0 < h . page && h . page <= h . totalPages ) { var a = h . page , b = h . totalPages , c = [ ] , g = 1 , f = b , k = angular . isDefined ( e ) && e < b ; k && ( t ? ( g = Math . max ( a - Math . floor ( e / 2 ) , 1 ) , f = g + e - 1 , f > b && ( f = b , g = f - e + 1 ) ) : ( g = ( Math . ceil ( a / e ) - 1 ) * e + 1 , f = Math . min ( g + e - 1 , b ) ) ) ; for ( var F = g ; F <= f ; F ++ ) c . push ( { number : F , text : F , active : F === a } ) ; k && ! t && ( 1 < g && c . unshift ( { number : g - 1 , text : "..." , active : ! 1 } ) , f < b && c . push ( { number : f + 1 , text : "..." ,
active : ! 1 } ) ) ; h . pages = c } } } } } } ] ) . constant ( "uibPagerConfig" , { itemsPerPage : 10 , previousText : "\u00ab Previous" , nextText : "Next \u00bb" , align : ! 0 } ) . directive ( "uibPager" , [ "uibPagerConfig" , function ( b ) { return { restrict : "EA" , scope : { totalItems : "=" , previousText : "@" , nextText : "@" , ngDisabled : "=" } , require : [ "uibPager" , "?ngModel" ] , controller : "UibPaginationController" , controllerAs : "pagination" , templateUrl : function ( b , h ) { return h . templateUrl || "template/pagination/pager.html" } , replace : ! 0 , link : function ( f , h , k , c ) { h = c [ 0 ] ; ( c = c [ 1 ] ) &&
( f . align = angular . isDefined ( k . align ) ? f . $parent . $eval ( k . align ) : b . align , h . init ( c , b ) ) } } } ] ) ;
angular . module ( "ui.bootstrap.pagination" ) . value ( "$paginationSuppressWarning" , ! 1 ) . controller ( "PaginationController" , [ "$scope" , "$attrs" , "$parse" , "$log" , "$paginationSuppressWarning" , function ( b , f , h , k , c ) { c || k . warn ( "PaginationController is now deprecated. Use UibPaginationController instead." ) ; var a = this , g = { $setViewValue : angular . noop } , e = f . numPages ? h ( f . numPages ) . assign : angular . noop ; this . init = function ( c , l ) { g = c ; this . config = l ; g . $render = function ( ) { a . render ( ) } ; f . itemsPerPage ? b . $parent . $watch ( h ( f . itemsPerPage ) ,
function ( c ) { a . itemsPerPage = parseInt ( c , 10 ) ; b . totalPages = a . calculateTotalPages ( ) } ) : this . itemsPerPage = l . itemsPerPage ; b . $watch ( "totalItems" , function ( ) { b . totalPages = a . calculateTotalPages ( ) } ) ; b . $watch ( "totalPages" , function ( a ) { e ( b . $parent , a ) ; b . page > a ? b . selectPage ( a ) : g . $render ( ) } ) } ; this . calculateTotalPages = function ( ) { return Math . max ( ( 1 > this . itemsPerPage ? 1 : Math . ceil ( b . totalItems / this . itemsPerPage ) ) || 0 , 1 ) } ; this . render = function ( ) { b . page = parseInt ( g . $viewValue , 10 ) || 1 } ; b . selectPage = function ( a , c ) { c && c . preventDefault ( ) ;
! ( b . ngDisabled && c || b . page === a ) && 0 < a && a <= b . totalPages && ( c && c . target && c . target . blur ( ) , g . $setViewValue ( a ) , g . $render ( ) ) } ; b . getText = function ( c ) { return b [ c + "Text" ] || a . config [ c + "Text" ] } ; b . noPrevious = function ( ) { return 1 === b . page } ; b . noNext = function ( ) { return b . page === b . totalPages } } ] ) . directive ( "pagination" , [ "$parse" , "uibPaginationConfig" , "$log" , "$paginationSuppressWarning" , function ( b , f , h , k ) { return { restrict : "EA" , scope : { totalItems : "=" , firstText : "@" , previousText : "@" , nextText : "@" , lastText : "@" , ngDisabled : "=" } , require : [ "pagination" ,
"?ngModel" ] , controller : "PaginationController" , controllerAs : "pagination" , templateUrl : function ( b , a ) { return a . templateUrl || "template/pagination/pagination.html" } , replace : ! 0 , link : function ( c , a , g , e ) { k || h . warn ( "pagination is now deprecated. Use uib-pagination instead." ) ; var t = e [ 0 ] ; if ( a = e [ 1 ] ) { var l = angular . isDefined ( g . maxSize ) ? c . $parent . $eval ( g . maxSize ) : f . maxSize , n = angular . isDefined ( g . rotate ) ? c . $parent . $eval ( g . rotate ) : f . rotate ; c . boundaryLinks = angular . isDefined ( g . boundaryLinks ) ? c . $parent . $eval ( g . boundaryLinks ) :
f . boundaryLinks ; c . directionLinks = angular . isDefined ( g . directionLinks ) ? c . $parent . $eval ( g . directionLinks ) : f . directionLinks ; t . init ( a , f ) ; g . maxSize && c . $parent . $watch ( b ( g . maxSize ) , function ( a ) { l = parseInt ( a , 10 ) ; t . render ( ) } ) ; var q = t . render ; t . render = function ( ) { q ( ) ; if ( 0 < c . page && c . page <= c . totalPages ) { var a = c . page , b = c . totalPages , e = [ ] , g = 1 , f = b , h = angular . isDefined ( l ) && l < b ; h && ( n ? ( g = Math . max ( a - Math . floor ( l / 2 ) , 1 ) , f = g + l - 1 , f > b && ( f = b , g = f - l + 1 ) ) : ( g = ( Math . ceil ( a / l ) - 1 ) * l + 1 , f = Math . min ( g + l - 1 , b ) ) ) ; for ( var k = g ; k <= f ; k ++ ) e . push ( { number : k ,
text : k , active : k === a } ) ; h && ! n && ( 1 < g && e . unshift ( { number : g - 1 , text : "..." , active : ! 1 } ) , f < b && e . push ( { number : f + 1 , text : "..." , active : ! 1 } ) ) ; c . pages = e } } } } } } ] ) . directive ( "pager" , [ "uibPagerConfig" , "$log" , "$paginationSuppressWarning" , function ( b , f , h ) { return { restrict : "EA" , scope : { totalItems : "=" , previousText : "@" , nextText : "@" , ngDisabled : "=" } , require : [ "pager" , "?ngModel" ] , controller : "PaginationController" , controllerAs : "pagination" , templateUrl : function ( b , c ) { return c . templateUrl || "template/pagination/pager.html" } , replace : ! 0 ,
link : function ( k , c , a , g ) { h || f . warn ( "pager is now deprecated. Use uib-pager instead." ) ; c = g [ 0 ] ; ( g = g [ 1 ] ) && ( k . align = angular . isDefined ( a . align ) ? k . $parent . $eval ( a . align ) : b . align , c . init ( g , b ) ) } } } ] ) ;
angular . module ( "ui.bootstrap.tooltip" , [ "ui.bootstrap.position" , "ui.bootstrap.stackedMap" ] ) . provider ( "$uibTooltip" , function ( ) { function b ( b ) { return b . replace ( /[A-Z]/g , function ( a , b ) { return ( b ? "-" : "" ) + a . toLowerCase ( ) } ) } var f = { placement : "top" , animation : ! 0 , popupDelay : 0 , popupCloseDelay : 0 , useContentExp : ! 1 } , h = { mouseenter : "mouseleave" , click : "click" , focus : "blur" , none : "" } , k = { } ; this . options = function ( b ) { angular . extend ( k , b ) } ; this . setTriggers = function ( b ) { angular . extend ( h , b ) } ; this . $get = [ "$window" , "$compile" , "$timeout" ,
"$document" , "$uibPosition" , "$interpolate" , "$rootScope" , "$parse" , "$$stackedMap" , function ( c , a , g , e , t , l , n , q , w ) { var r = w . createNew ( ) ; return e . on ( "keypress" , function ( a ) { 27 === a . which && ( a = r . top ( ) ) && ( a . value . close ( ) , r . removeTop ( ) ) } ) , function ( c , n , w , A ) { function y ( a ) { a = ( a || A . trigger || w ) . split ( " " ) ; var b = a . map ( function ( a ) { return h [ a ] || a } ) ; return { show : a , hide : b } } A = angular . extend ( { } , f , k , A ) ; var p = b ( c ) , u = l . startSymbol ( ) , z = l . endSymbol ( ) , F = "<div " + p + '-popup title="' + u + "title" + z + '" ' + ( A . useContentExp ? 'content-exp="contentExp()" ' :
'content="' + u + "content" + z + '" ' ) + 'placement="' + u + "placement" + z + '" popup-class="' + u + "popupClass" + z + '" animation="animation" is-open="isOpen"origin-scope="origScope" style="visibility: hidden; display: block; top: -9999px; left: -9999px;"></div>' ; return { compile : function ( b , f ) { var l = a ( F ) ; return function ( a , b , f , h ) { function k ( ) { ba . isOpen ? E ( ) : p ( ) } function p ( ) { if ( ! Aa || a . $eval ( f [ n + "Enable" ] ) ) { F ( ) ; ba . title = f [ n + "Title" ] ; ia ? ba . content = ia ( a ) : ba . content = f [ c ] ; ba . popupClass = f [ n + "Class" ] ; ba . placement = angular . isDefined ( f [ n +
"Placement" ] ) ? f [ n + "Placement" ] : A . placement ; var b = parseInt ( f [ n + "PopupDelay" ] , 10 ) , e = parseInt ( f [ n + "PopupCloseDelay" ] , 10 ) ; ba . popupDelay = isNaN ( b ) ? A . popupDelay : b ; ba . popupCloseDelay = isNaN ( e ) ? A . popupCloseDelay : e ; ba . popupDelay ? S || ( S = g ( w , ba . popupDelay , ! 1 ) ) : w ( ) } } function E ( ) { u ( ) ; ba . popupCloseDelay ? X || ( X = g ( z , ba . popupCloseDelay , ! 1 ) ) : z ( ) } function w ( ) { return u ( ) , F ( ) , ba . content ? ( D ( ) , void ba . $evalAsync ( function ( ) { ba . isOpen = ! 0 ; M ( ! 0 ) ; Ua ( ) } ) ) : angular . noop } function u ( ) { S && ( g . cancel ( S ) , S = null ) ; ha && ( g . cancel ( ha ) , ha = null ) }
function z ( ) { u ( ) ; F ( ) ; ba && ba . $evalAsync ( function ( ) { ba . isOpen = ! 1 ; M ( ! 1 ) ; ba . animation ? I || ( I = g ( K , 150 , ! 1 ) ) : K ( ) } ) } function F ( ) { X && ( g . cancel ( X ) , X = null ) ; I && ( g . cancel ( I ) , I = null ) } function D ( ) { L || ( J = ba . $new ( ) , L = l ( J , function ( a ) { v ? e . find ( "body" ) . append ( a ) : b . after ( a ) } ) , H ( ) ) } function K ( ) { R ( ) ; I = null ; L && ( L . remove ( ) , L = null ) ; J && ( J . $destroy ( ) , J = null ) } function M ( b ) { Ia && angular . isFunction ( Ia . assign ) && Ia . assign ( a , b ) } function H ( ) { ya . length = 0 ; ia ? ( ya . push ( a . $watch ( ia , function ( a ) { ba . content = a ; ! a && ba . isOpen && z ( ) } ) ) , ya . push ( J . $watch ( function ( ) { Za ||
( Za = ! 0 , J . $$postDigest ( function ( ) { Za = ! 1 ; ba && ba . isOpen && Ua ( ) } ) ) } ) ) ) : ya . push ( f . $observe ( c , function ( a ) { ba . content = a ; ! a && ba . isOpen ? z ( ) : Ua ( ) } ) ) ; ya . push ( f . $observe ( n + "Title" , function ( a ) { ba . title = a ; ba . isOpen && Ua ( ) } ) ) ; ya . push ( f . $observe ( n + "Placement" , function ( a ) { ba . placement = a ? a : A . placement ; ba . isOpen && Ua ( ) } ) ) } function R ( ) { ya . length && ( angular . forEach ( ya , function ( a ) { a ( ) } ) , ya . length = 0 ) } var L , J , I , S , X , ha , v = ! ! angular . isDefined ( A . appendToBody ) && A . appendToBody , ra = y ( void 0 ) , Aa = angular . isDefined ( f [ n + "Enable" ] ) , ba = a . $new ( ! 0 ) ,
Za = ! 1 , Ia = ! ! angular . isDefined ( f [ n + "IsOpen" ] ) && q ( f [ n + "IsOpen" ] ) , ia = ! ! A . useContentExp && q ( f [ c ] ) , ya = [ ] , Ua = function ( ) { L && L . html ( ) && ( ha || ( ha = g ( function ( ) { L . css ( { top : 0 , left : 0 } ) ; var a = t . positionElements ( b , L , ba . placement , v ) ; a . top += "px" ; a . left += "px" ; a . visibility = "visible" ; L . css ( a ) ; ha = null } , 0 , ! 1 ) ) ) } ; ba . origScope = a ; ba . isOpen = ! 1 ; r . add ( ba , { close : z } ) ; ba . contentExp = function ( ) { return ba . content } ; f . $observe ( "disabled" , function ( a ) { a && u ( ) ; a && ba . isOpen && z ( ) } ) ; Ia && a . $watch ( Ia , function ( a ) { ba && ! a === ba . isOpen && k ( ) } ) ; var nb =
function ( ) { ra . show . forEach ( function ( a ) { b . unbind ( a , p ) } ) ; ra . hide . forEach ( function ( a ) { a . split ( " " ) . forEach ( function ( a ) { b [ 0 ] . removeEventListener ( a , E ) } ) } ) } ; ( function ( ) { var a = f [ n + "Trigger" ] ; nb ( ) ; ra = y ( a ) ; "none" !== ra . show && ra . show . forEach ( function ( a , c ) { a === ra . hide [ c ] ? b [ 0 ] . addEventListener ( a , k ) : a && ( b [ 0 ] . addEventListener ( a , p ) , ra . hide [ c ] . split ( " " ) . forEach ( function ( a ) { b [ 0 ] . addEventListener ( a , E ) } ) ) ; b . on ( "keypress" , function ( a ) { 27 === a . which && E ( ) } ) } ) } ) ( ) ; h = a . $eval ( f [ n + "Animation" ] ) ; ba . animation = angular . isDefined ( h ) ?
! ! h : A . animation ; h = a . $eval ( f [ n + "AppendToBody" ] ) ; ( v = angular . isDefined ( h ) ? h : v ) && a . $on ( "$locationChangeSuccess" , function ( ) { ba . isOpen && z ( ) } ) ; a . $on ( "$destroy" , function ( ) { u ( ) ; F ( ) ; nb ( ) ; K ( ) ; r . remove ( ba ) ; ba = null } ) } } } } } ] } ) . directive ( "uibTooltipTemplateTransclude" , [ "$animate" , "$sce" , "$compile" , "$templateRequest" , function ( b , f , h , k ) { return { link : function ( c , a , g ) { var e , t , l , n = c . $eval ( g . tooltipTemplateTranscludeScope ) , q = 0 , w = function ( ) { t && ( t . remove ( ) , t = null ) ; e && ( e . $destroy ( ) , e = null ) ; l && ( b . leave ( l ) . then ( function ( ) { t = null } ) ,
t = l , l = null ) } ; c . $watch ( f . parseAsResourceUrl ( g . uibTooltipTemplateTransclude ) , function ( g ) { var f = ++ q ; g ? ( k ( g , ! 0 ) . then ( function ( c ) { if ( f === q ) { var k = n . $new ( ) ; c = h ( c ) ( k , function ( c ) { w ( ) ; b . enter ( c , a ) } ) ; e = k ; l = c ; e . $emit ( "$includeContentLoaded" , g ) } } , function ( ) { f === q && ( w ( ) , c . $emit ( "$includeContentError" , g ) ) } ) , c . $emit ( "$includeContentRequested" , g ) ) : w ( ) } ) ; c . $on ( "$destroy" , w ) } } } ] ) . directive ( "uibTooltipClasses" , function ( ) { return { restrict : "A" , link : function ( b , f , h ) { b . placement && f . addClass ( b . placement ) ; b . popupClass && f . addClass ( b . popupClass ) ;
b . animation ( ) && f . addClass ( h . tooltipAnimationClass ) } } } ) . directive ( "uibTooltipPopup" , function ( ) { return { replace : ! 0 , scope : { content : "@" , placement : "@" , popupClass : "@" , animation : "&" , isOpen : "&" } , templateUrl : "template/tooltip/tooltip-popup.html" , link : function ( b , f ) { f . addClass ( "tooltip" ) } } } ) . directive ( "uibTooltip" , [ "$uibTooltip" , function ( b ) { return b ( "uibTooltip" , "tooltip" , "mouseenter" ) } ] ) . directive ( "uibTooltipTemplatePopup" , function ( ) { return { replace : ! 0 , scope : { contentExp : "&" , placement : "@" , popupClass : "@" , animation : "&" ,
isOpen : "&" , originScope : "&" } , templateUrl : "template/tooltip/tooltip-template-popup.html" , link : function ( b , f ) { f . addClass ( "tooltip" ) } } } ) . directive ( "uibTooltipTemplate" , [ "$uibTooltip" , function ( b ) { return b ( "uibTooltipTemplate" , "tooltip" , "mouseenter" , { useContentExp : ! 0 } ) } ] ) . directive ( "uibTooltipHtmlPopup" , function ( ) { return { replace : ! 0 , scope : { contentExp : "&" , placement : "@" , popupClass : "@" , animation : "&" , isOpen : "&" } , templateUrl : "template/tooltip/tooltip-html-popup.html" , link : function ( b , f ) { f . addClass ( "tooltip" ) } } } ) . directive ( "uibTooltipHtml" ,
[ "$uibTooltip" , function ( b ) { return b ( "uibTooltipHtml" , "tooltip" , "mouseenter" , { useContentExp : ! 0 } ) } ] ) ;
angular . module ( "ui.bootstrap.tooltip" ) . value ( "$tooltipSuppressWarning" , ! 1 ) . provider ( "$tooltip" , [ "$uibTooltipProvider" , function ( b ) { angular . extend ( this , b ) ; this . $get = [ "$log" , "$tooltipSuppressWarning" , "$injector" , function ( f , h , k ) { return h || f . warn ( "$tooltip is now deprecated. Use $uibTooltip instead." ) , k . invoke ( b . $get ) } ] } ] ) . directive ( "tooltipTemplateTransclude" , [ "$animate" , "$sce" , "$compile" , "$templateRequest" , "$log" , "$tooltipSuppressWarning" , function ( b , f , h , k , c , a ) { return { link : function ( g , e , t ) { a || c . warn ( "tooltip-template-transclude is now deprecated. Use uib-tooltip-template-transclude instead." ) ;
var l , n , q , w = g . $eval ( t . tooltipTemplateTranscludeScope ) , r = 0 , z = function ( ) { n && ( n . remove ( ) , n = null ) ; l && ( l . $destroy ( ) , l = null ) ; q && ( b . leave ( q ) . then ( function ( ) { n = null } ) , n = q , q = null ) } ; g . $watch ( f . parseAsResourceUrl ( t . tooltipTemplateTransclude ) , function ( a ) { var c = ++ r ; a ? ( k ( a , ! 0 ) . then ( function ( g ) { if ( c === r ) { var f = w . $new ( ) ; g = h ( g ) ( f , function ( a ) { z ( ) ; b . enter ( a , e ) } ) ; l = f ; q = g ; l . $emit ( "$includeContentLoaded" , a ) } } , function ( ) { c === r && ( z ( ) , g . $emit ( "$includeContentError" , a ) ) } ) , g . $emit ( "$includeContentRequested" , a ) ) : z ( ) } ) ; g . $on ( "$destroy" ,
z ) } } } ] ) . directive ( "tooltipClasses" , [ "$log" , "$tooltipSuppressWarning" , function ( b , f ) { return { restrict : "A" , link : function ( h , k , c ) { f || b . warn ( "tooltip-classes is now deprecated. Use uib-tooltip-classes instead." ) ; h . placement && k . addClass ( h . placement ) ; h . popupClass && k . addClass ( h . popupClass ) ; h . animation ( ) && k . addClass ( c . tooltipAnimationClass ) } } } ] ) . directive ( "tooltipPopup" , [ "$log" , "$tooltipSuppressWarning" , function ( b , f ) { return { replace : ! 0 , scope : { content : "@" , placement : "@" , popupClass : "@" , animation : "&" , isOpen : "&" } ,
templateUrl : "template/tooltip/tooltip-popup.html" , link : function ( h , k ) { f || b . warn ( "tooltip-popup is now deprecated. Use uib-tooltip-popup instead." ) ; k . addClass ( "tooltip" ) } } } ] ) . directive ( "tooltip" , [ "$tooltip" , function ( b ) { return b ( "tooltip" , "tooltip" , "mouseenter" ) } ] ) . directive ( "tooltipTemplatePopup" , [ "$log" , "$tooltipSuppressWarning" , function ( b , f ) { return { replace : ! 0 , scope : { contentExp : "&" , placement : "@" , popupClass : "@" , animation : "&" , isOpen : "&" , originScope : "&" } , templateUrl : "template/tooltip/tooltip-template-popup.html" ,
link : function ( h , k ) { f || b . warn ( "tooltip-template-popup is now deprecated. Use uib-tooltip-template-popup instead." ) ; k . addClass ( "tooltip" ) } } } ] ) . directive ( "tooltipTemplate" , [ "$tooltip" , function ( b ) { return b ( "tooltipTemplate" , "tooltip" , "mouseenter" , { useContentExp : ! 0 } ) } ] ) . directive ( "tooltipHtmlPopup" , [ "$log" , "$tooltipSuppressWarning" , function ( b , f ) { return { replace : ! 0 , scope : { contentExp : "&" , placement : "@" , popupClass : "@" , animation : "&" , isOpen : "&" } , templateUrl : "template/tooltip/tooltip-html-popup.html" , link : function ( h ,
k ) { f || b . warn ( "tooltip-html-popup is now deprecated. Use uib-tooltip-html-popup instead." ) ; k . addClass ( "tooltip" ) } } } ] ) . directive ( "tooltipHtml" , [ "$tooltip" , function ( b ) { return b ( "tooltipHtml" , "tooltip" , "mouseenter" , { useContentExp : ! 0 } ) } ] ) ;
angular . module ( "ui.bootstrap.popover" , [ "ui.bootstrap.tooltip" ] ) . directive ( "uibPopoverTemplatePopup" , function ( ) { return { replace : ! 0 , scope : { title : "@" , contentExp : "&" , placement : "@" , popupClass : "@" , animation : "&" , isOpen : "&" , originScope : "&" } , templateUrl : "template/popover/popover-template.html" , link : function ( b , f ) { f . addClass ( "popover" ) } } } ) . directive ( "uibPopoverTemplate" , [ "$uibTooltip" , function ( b ) { return b ( "uibPopoverTemplate" , "popover" , "click" , { useContentExp : ! 0 } ) } ] ) . directive ( "uibPopoverHtmlPopup" , function ( ) { return { replace : ! 0 ,
scope : { contentExp : "&" , title : "@" , placement : "@" , popupClass : "@" , animation : "&" , isOpen : "&" } , templateUrl : "template/popover/popover-html.html" , link : function ( b , f ) { f . addClass ( "popover" ) } } } ) . directive ( "uibPopoverHtml" , [ "$uibTooltip" , function ( b ) { return b ( "uibPopoverHtml" , "popover" , "click" , { useContentExp : ! 0 } ) } ] ) . directive ( "uibPopoverPopup" , function ( ) { return { replace : ! 0 , scope : { title : "@" , content : "@" , placement : "@" , popupClass : "@" , animation : "&" , isOpen : "&" } , templateUrl : "template/popover/popover.html" , link : function ( b ,
f ) { f . addClass ( "popover" ) } } } ) . directive ( "uibPopover" , [ "$uibTooltip" , function ( b ) { return b ( "uibPopover" , "popover" , "click" ) } ] ) ;
angular . module ( "ui.bootstrap.popover" ) . value ( "$popoverSuppressWarning" , ! 1 ) . directive ( "popoverTemplatePopup" , [ "$log" , "$popoverSuppressWarning" , function ( b , f ) { return { replace : ! 0 , scope : { title : "@" , contentExp : "&" , placement : "@" , popupClass : "@" , animation : "&" , isOpen : "&" , originScope : "&" } , templateUrl : "template/popover/popover-template.html" , link : function ( h , k ) { f || b . warn ( "popover-template-popup is now deprecated. Use uib-popover-template-popup instead." ) ; k . addClass ( "popover" ) } } } ] ) . directive ( "popoverTemplate" , [ "$tooltip" ,
function ( b ) { return b ( "popoverTemplate" , "popover" , "click" , { useContentExp : ! 0 } ) } ] ) . directive ( "popoverHtmlPopup" , [ "$log" , "$popoverSuppressWarning" , function ( b , f ) { return { replace : ! 0 , scope : { contentExp : "&" , title : "@" , placement : "@" , popupClass : "@" , animation : "&" , isOpen : "&" } , templateUrl : "template/popover/popover-html.html" , link : function ( h , k ) { f || b . warn ( "popover-html-popup is now deprecated. Use uib-popover-html-popup instead." ) ; k . addClass ( "popover" ) } } } ] ) . directive ( "popoverHtml" , [ "$tooltip" , function ( b ) { return b ( "popoverHtml" ,
"popover" , "click" , { useContentExp : ! 0 } ) } ] ) . directive ( "popoverPopup" , [ "$log" , "$popoverSuppressWarning" , function ( b , f ) { return { replace : ! 0 , scope : { title : "@" , content : "@" , placement : "@" , popupClass : "@" , animation : "&" , isOpen : "&" } , templateUrl : "template/popover/popover.html" , link : function ( h , k ) { f || b . warn ( "popover-popup is now deprecated. Use uib-popover-popup instead." ) ; k . addClass ( "popover" ) } } } ] ) . directive ( "popover" , [ "$tooltip" , function ( b ) { return b ( "popover" , "popover" , "click" ) } ] ) ;
angular . module ( "ui.bootstrap.progressbar" , [ ] ) . constant ( "uibProgressConfig" , { animate : ! 0 , max : 100 } ) . controller ( "UibProgressController" , [ "$scope" , "$attrs" , "uibProgressConfig" , function ( b , f , h ) { var k = this , c = angular . isDefined ( f . animate ) ? b . $parent . $eval ( f . animate ) : h . animate ; this . bars = [ ] ; b . max = angular . isDefined ( b . max ) ? b . max : h . max ; this . addBar = function ( a , g , e ) { c || g . css ( { transition : "none" } ) ; this . bars . push ( a ) ; a . max = b . max ; a . title = e && angular . isDefined ( e . title ) ? e . title : "progressbar" ; a . $watch ( "value" , function ( b ) { a . recalculatePercentage ( ) } ) ;
a . recalculatePercentage = function ( ) { var b = k . bars . reduce ( function ( a , b ) { return b . percent = + ( 100 * b . value / b . max ) . toFixed ( 2 ) , a + b . percent } , 0 ) ; 100 < b && ( a . percent -= b - 100 ) } ; a . $on ( "$destroy" , function ( ) { g = null ; k . removeBar ( a ) } ) } ; this . removeBar = function ( a ) { this . bars . splice ( this . bars . indexOf ( a ) , 1 ) ; this . bars . forEach ( function ( a ) { a . recalculatePercentage ( ) } ) } ; b . $watch ( "max" , function ( a ) { k . bars . forEach ( function ( a ) { a . max = b . max ; a . recalculatePercentage ( ) } ) } ) } ] ) . directive ( "uibProgress" , function ( ) { return { replace : ! 0 , transclude : ! 0 ,
controller : "UibProgressController" , require : "uibProgress" , scope : { max : "=?" } , templateUrl : "template/progressbar/progress.html" } } ) . directive ( "uibBar" , function ( ) { return { replace : ! 0 , transclude : ! 0 , require : "^uibProgress" , scope : { value : "=" , type : "@" } , templateUrl : "template/progressbar/bar.html" , link : function ( b , f , h , k ) { k . addBar ( b , f , h ) } } } ) . directive ( "uibProgressbar" , function ( ) { return { replace : ! 0 , transclude : ! 0 , controller : "UibProgressController" , scope : { value : "=" , max : "=?" , type : "@" } , templateUrl : "template/progressbar/progressbar.html" ,
link : function ( b , f , h , k ) { k . addBar ( b , angular . element ( f . children ( ) [ 0 ] ) , { title : h . title } ) } } } ) ;
angular . module ( "ui.bootstrap.progressbar" ) . value ( "$progressSuppressWarning" , ! 1 ) . controller ( "ProgressController" , [ "$scope" , "$attrs" , "uibProgressConfig" , "$log" , "$progressSuppressWarning" , function ( b , f , h , k , c ) { c || k . warn ( "ProgressController is now deprecated. Use UibProgressController instead." ) ; var a = this , g = angular . isDefined ( f . animate ) ? b . $parent . $eval ( f . animate ) : h . animate ; this . bars = [ ] ; b . max = angular . isDefined ( b . max ) ? b . max : h . max ; this . addBar = function ( c , f , l ) { g || f . css ( { transition : "none" } ) ; this . bars . push ( c ) ;
c . max = b . max ; c . title = l && angular . isDefined ( l . title ) ? l . title : "progressbar" ; c . $watch ( "value" , function ( a ) { c . recalculatePercentage ( ) } ) ; c . recalculatePercentage = function ( ) { c . percent = + ( 100 * c . value / c . max ) . toFixed ( 2 ) ; var b = a . bars . reduce ( function ( a , b ) { return a + b . percent } , 0 ) ; 100 < b && ( c . percent -= b - 100 ) } ; c . $on ( "$destroy" , function ( ) { f = null ; a . removeBar ( c ) } ) } ; this . removeBar = function ( a ) { this . bars . splice ( this . bars . indexOf ( a ) , 1 ) } ; b . $watch ( "max" , function ( c ) { a . bars . forEach ( function ( a ) { a . max = b . max ; a . recalculatePercentage ( ) } ) } ) } ] ) . directive ( "progress" ,
[ "$log" , "$progressSuppressWarning" , function ( b , f ) { return { replace : ! 0 , transclude : ! 0 , controller : "ProgressController" , require : "progress" , scope : { max : "=?" , title : "@?" } , templateUrl : "template/progressbar/progress.html" , link : function ( ) { f || b . warn ( "progress is now deprecated. Use uib-progress instead." ) } } } ] ) . directive ( "bar" , [ "$log" , "$progressSuppressWarning" , function ( b , f ) { return { replace : ! 0 , transclude : ! 0 , require : "^progress" , scope : { value : "=" , type : "@" } , templateUrl : "template/progressbar/bar.html" , link : function ( h ,
k , c , a ) { f || b . warn ( "bar is now deprecated. Use uib-bar instead." ) ; a . addBar ( h , k ) } } } ] ) . directive ( "progressbar" , [ "$log" , "$progressSuppressWarning" , function ( b , f ) { return { replace : ! 0 , transclude : ! 0 , controller : "ProgressController" , scope : { value : "=" , max : "=?" , type : "@" } , templateUrl : "template/progressbar/progressbar.html" , link : function ( h , k , c , a ) { f || b . warn ( "progressbar is now deprecated. Use uib-progressbar instead." ) ; a . addBar ( h , angular . element ( k . children ( ) [ 0 ] ) , { title : c . title } ) } } } ] ) ;
angular . module ( "ui.bootstrap.rating" , [ ] ) . constant ( "uibRatingConfig" , { max : 5 , stateOn : null , stateOff : null , titles : [ "one" , "two" , "three" , "four" , "five" ] } ) . controller ( "UibRatingController" , [ "$scope" , "$attrs" , "uibRatingConfig" , function ( b , f , h ) { var k = { $setViewValue : angular . noop } ; this . init = function ( c ) { k = c ; k . $render = this . render ; k . $formatters . push ( function ( a ) { return angular . isNumber ( a ) && a << 0 !== a && ( a = Math . round ( a ) ) , a } ) ; this . stateOn = angular . isDefined ( f . stateOn ) ? b . $parent . $eval ( f . stateOn ) : h . stateOn ; this . stateOff = angular . isDefined ( f . stateOff ) ?
b . $parent . $eval ( f . stateOff ) : h . stateOff ; c = angular . isDefined ( f . titles ) ? b . $parent . $eval ( f . titles ) : h . titles ; this . titles = angular . isArray ( c ) && 0 < c . length ? c : h . titles ; c = angular . isDefined ( f . ratingStates ) ? b . $parent . $eval ( f . ratingStates ) : Array ( angular . isDefined ( f . max ) ? b . $parent . $eval ( f . max ) : h . max ) ; b . range = this . buildTemplateObjects ( c ) } ; this . buildTemplateObjects = function ( b ) { for ( var a = 0 , c = b . length ; a < c ; a ++ ) b [ a ] = angular . extend ( { index : a } , { stateOn : this . stateOn , stateOff : this . stateOff , title : this . getTitle ( a ) } , b [ a ] ) ; return b } ;
this . getTitle = function ( b ) { return b >= this . titles . length ? b + 1 : this . titles [ b ] } ; b . rate = function ( c ) { ! b . readonly && 0 <= c && c <= b . range . length && ( k . $setViewValue ( k . $viewValue === c ? 0 : c ) , k . $render ( ) ) } ; b . enter = function ( c ) { b . readonly || ( b . value = c ) ; b . onHover ( { value : c } ) } ; b . reset = function ( ) { b . value = k . $viewValue ; b . onLeave ( ) } ; b . onKeydown = function ( c ) { /(37|38|39|40)/ . test ( c . which ) && ( c . preventDefault ( ) , c . stopPropagation ( ) , b . rate ( b . value + ( 38 === c . which || 39 === c . which ? 1 : - 1 ) ) ) } ; this . render = function ( ) { b . value = k . $viewValue } } ] ) . directive ( "uibRating" ,
function ( ) { return { require : [ "uibRating" , "ngModel" ] , scope : { readonly : "=?" , onHover : "&" , onLeave : "&" } , controller : "UibRatingController" , templateUrl : "template/rating/rating.html" , replace : ! 0 , link : function ( b , f , h , k ) { k [ 0 ] . init ( k [ 1 ] ) } } } ) ;
angular . module ( "ui.bootstrap.rating" ) . value ( "$ratingSuppressWarning" , ! 1 ) . controller ( "RatingController" , [ "$scope" , "$attrs" , "$controller" , "$log" , "$ratingSuppressWarning" , function ( b , f , h , k , c ) { c || k . warn ( "RatingController is now deprecated. Use UibRatingController instead." ) ; angular . extend ( this , h ( "UibRatingController" , { $scope : b , $attrs : f } ) ) } ] ) . directive ( "rating" , [ "$log" , "$ratingSuppressWarning" , function ( b , f ) { return { require : [ "rating" , "ngModel" ] , scope : { readonly : "=?" , onHover : "&" , onLeave : "&" } , controller : "RatingController" ,
templateUrl : "template/rating/rating.html" , replace : ! 0 , link : function ( h , k , c , a ) { f || b . warn ( "rating is now deprecated. Use uib-rating instead." ) ; a [ 0 ] . init ( a [ 1 ] ) } } } ] ) ;
angular . module ( "ui.bootstrap.tabs" , [ ] ) . controller ( "UibTabsetController" , [ "$scope" , function ( b ) { var f = this , h = f . tabs = b . tabs = [ ] ; f . select = function ( b ) { angular . forEach ( h , function ( a ) { a . active && a !== b && ( a . active = ! 1 , a . onDeselect ( ) , b . selectCalled = ! 1 ) } ) ; b . active = ! 0 ; b . selectCalled || ( b . onSelect ( ) , b . selectCalled = ! 0 ) } ; f . addTab = function ( b ) { h . push ( b ) ; 1 === h . length && ! 1 !== b . active ? b . active = ! 0 : b . active ? f . select ( b ) : b . active = ! 1 } ; f . removeTab = function ( b ) { var a = h . indexOf ( b ) ; b . active && 1 < h . length && ! k && f . select ( h [ a == h . length - 1 ?
a - 1 : a + 1 ] ) ; h . splice ( a , 1 ) } ; var k ; b . $on ( "$destroy" , function ( ) { k = ! 0 } ) } ] ) . directive ( "uibTabset" , function ( ) { return { restrict : "EA" , transclude : ! 0 , replace : ! 0 , scope : { type : "@" } , controller : "UibTabsetController" , templateUrl : "template/tabs/tabset.html" , link : function ( b , f , h ) { b . vertical = ! ! angular . isDefined ( h . vertical ) && b . $parent . $eval ( h . vertical ) ; b . justified = ! ! angular . isDefined ( h . justified ) && b . $parent . $eval ( h . justified ) } } } ) . directive ( "uibTab" , [ "$parse" , function ( b ) { return { require : "^uibTabset" , restrict : "EA" , replace : ! 0 ,
templateUrl : "template/tabs/tab.html" , transclude : ! 0 , scope : { active : "=?" , heading : "@" , onSelect : "&select" , onDeselect : "&deselect" } , controller : function ( ) { } , link : function ( f , h , k , c , a ) { f . $watch ( "active" , function ( a ) { a && c . select ( f ) } ) ; f . disabled = ! 1 ; k . disable && f . $parent . $watch ( b ( k . disable ) , function ( a ) { f . disabled = ! ! a } ) ; f . select = function ( ) { f . disabled || ( f . active = ! 0 ) } ; c . addTab ( f ) ; f . $on ( "$destroy" , function ( ) { c . removeTab ( f ) } ) ; f . $transcludeFn = a } } } ] ) . directive ( "uibTabHeadingTransclude" , function ( ) { return { restrict : "A" , require : [ "?^uibTab" ,
"?^tab" ] , link : function ( b , f ) { b . $watch ( "headingElement" , function ( b ) { b && ( f . html ( "" ) , f . append ( b ) ) } ) } } } ) . directive ( "uibTabContentTransclude" , function ( ) { return { restrict : "A" , require : [ "?^uibTabset" , "?^tabset" ] , link : function ( b , f , h ) { var k = b . $eval ( h . uibTabContentTransclude ) ; k . $transcludeFn ( k . $parent , function ( b ) { angular . forEach ( b , function ( a ) { a . tagName && ( a . hasAttribute ( "tab-heading" ) || a . hasAttribute ( "data-tab-heading" ) || a . hasAttribute ( "x-tab-heading" ) || a . hasAttribute ( "uib-tab-heading" ) || a . hasAttribute ( "data-uib-tab-heading" ) ||
a . hasAttribute ( "x-uib-tab-heading" ) || "tab-heading" === a . tagName . toLowerCase ( ) || "data-tab-heading" === a . tagName . toLowerCase ( ) || "x-tab-heading" === a . tagName . toLowerCase ( ) || "uib-tab-heading" === a . tagName . toLowerCase ( ) || "data-uib-tab-heading" === a . tagName . toLowerCase ( ) || "x-uib-tab-heading" === a . tagName . toLowerCase ( ) ) ? k . headingElement = a : f . append ( a ) } ) } ) } } } ) ;
angular . module ( "ui.bootstrap.tabs" ) . value ( "$tabsSuppressWarning" , ! 1 ) . controller ( "TabsetController" , [ "$scope" , "$controller" , "$log" , "$tabsSuppressWarning" , function ( b , f , h , k ) { k || h . warn ( "TabsetController is now deprecated. Use UibTabsetController instead." ) ; angular . extend ( this , f ( "UibTabsetController" , { $scope : b } ) ) } ] ) . directive ( "tabset" , [ "$log" , "$tabsSuppressWarning" , function ( b , f ) { return { restrict : "EA" , transclude : ! 0 , replace : ! 0 , scope : { type : "@" } , controller : "TabsetController" , templateUrl : "template/tabs/tabset.html" ,
link : function ( h , k , c ) { f || b . warn ( "tabset is now deprecated. Use uib-tabset instead." ) ; h . vertical = ! ! angular . isDefined ( c . vertical ) && h . $parent . $eval ( c . vertical ) ; h . justified = ! ! angular . isDefined ( c . justified ) && h . $parent . $eval ( c . justified ) } } } ] ) . directive ( "tab" , [ "$parse" , "$log" , "$tabsSuppressWarning" , function ( b , f , h ) { return { require : "^tabset" , restrict : "EA" , replace : ! 0 , templateUrl : "template/tabs/tab.html" , transclude : ! 0 , scope : { active : "=?" , heading : "@" , onSelect : "&select" , onDeselect : "&deselect" } , controller : function ( ) { } ,
link : function ( k , c , a , g , e ) { h || f . warn ( "tab is now deprecated. Use uib-tab instead." ) ; k . $watch ( "active" , function ( a ) { a && g . select ( k ) } ) ; k . disabled = ! 1 ; a . disable && k . $parent . $watch ( b ( a . disable ) , function ( a ) { k . disabled = ! ! a } ) ; k . select = function ( ) { k . disabled || ( k . active = ! 0 ) } ; g . addTab ( k ) ; k . $on ( "$destroy" , function ( ) { g . removeTab ( k ) } ) ; k . $transcludeFn = e } } } ] ) . directive ( "tabHeadingTransclude" , [ "$log" , "$tabsSuppressWarning" , function ( b , f ) { return { restrict : "A" , require : "^tab" , link : function ( h , k ) { f || b . warn ( "tab-heading-transclude is now deprecated. Use uib-tab-heading-transclude instead." ) ;
h . $watch ( "headingElement" , function ( b ) { b && ( k . html ( "" ) , k . append ( b ) ) } ) } } } ] ) . directive ( "tabContentTransclude" , [ "$log" , "$tabsSuppressWarning" , function ( b , f ) { return { restrict : "A" , require : "^tabset" , link : function ( h , k , c ) { f || b . warn ( "tab-content-transclude is now deprecated. Use uib-tab-content-transclude instead." ) ; var a = h . $eval ( c . tabContentTransclude ) ; a . $transcludeFn ( a . $parent , function ( b ) { angular . forEach ( b , function ( b ) { b . tagName && ( b . hasAttribute ( "tab-heading" ) || b . hasAttribute ( "data-tab-heading" ) || b . hasAttribute ( "x-tab-heading" ) ||
"tab-heading" === b . tagName . toLowerCase ( ) || "data-tab-heading" === b . tagName . toLowerCase ( ) || "x-tab-heading" === b . tagName . toLowerCase ( ) ) ? a . headingElement = b : k . append ( b ) } ) } ) } } } ] ) ;
angular . module ( "ui.bootstrap.timepicker" , [ ] ) . constant ( "uibTimepickerConfig" , { hourStep : 1 , minuteStep : 1 , showMeridian : ! 0 , meridians : null , readonlyInput : ! 1 , mousewheel : ! 0 , arrowkeys : ! 0 , showSpinners : ! 0 } ) . controller ( "UibTimepickerController" , [ "$scope" , "$element" , "$attrs" , "$parse" , "$log" , "$locale" , "uibTimepickerConfig" , function ( b , f , h , k , c , a , g ) { function e ( ) { var a = parseInt ( b . hours , 10 ) ; if ( b . showMeridian ? 0 < a && 13 > a : 0 <= a && 24 > a ) return b . showMeridian && ( 12 === a && ( a = 0 ) , b . meridian === A [ 1 ] && ( a += 12 ) ) , a } function t ( ) { var a = parseInt ( b . minutes ,
10 ) ; return 0 <= a && 60 > a ? a : void 0 } function l ( a ) { return angular . isDefined ( a ) && 2 > a . toString ( ) . length ? "0" + a : a . toString ( ) } function n ( a ) { q ( ) ; F . $setViewValue ( new Date ( y ) ) ; w ( a ) } function q ( ) { F . $setValidity ( "time" , ! 0 ) ; b . invalidHours = ! 1 ; b . invalidMinutes = ! 1 } function w ( a ) { var c = y . getHours ( ) , e = y . getMinutes ( ) ; b . showMeridian && ( c = 0 === c || 12 === c ? 12 : c % 12 ) ; b . hours = "h" === a ? c : l ( c ) ; "m" !== a && ( b . minutes = l ( e ) ) ; b . meridian = 12 > y . getHours ( ) ? A [ 0 ] : A [ 1 ] } function r ( a , b ) { var c = new Date ( a . getTime ( ) + 6E4 * b ) , e = new Date ( a ) ; return e . setHours ( c . getHours ( ) ,
c . getMinutes ( ) ) , e } function z ( a ) { y = r ( y , a ) ; n ( ) } var y = new Date , F = { $setViewValue : angular . noop } , A = angular . isDefined ( h . meridians ) ? b . $parent . $eval ( h . meridians ) : g . meridians || a . DATETIME _FORMATS . AMPMS ; b . tabindex = angular . isDefined ( h . tabindex ) ? h . tabindex : 0 ; f . removeAttr ( "tabindex" ) ; this . init = function ( a , c ) { F = a ; F . $render = this . render ; F . $formatters . unshift ( function ( a ) { return a ? new Date ( a ) : null } ) ; var e = c . eq ( 0 ) , f = c . eq ( 1 ) ; ( angular . isDefined ( h . mousewheel ) ? b . $parent . $eval ( h . mousewheel ) : g . mousewheel ) && this . setupMousewheelEvents ( e ,
f ) ; ( angular . isDefined ( h . arrowkeys ) ? b . $parent . $eval ( h . arrowkeys ) : g . arrowkeys ) && this . setupArrowkeyEvents ( e , f ) ; b . readonlyInput = angular . isDefined ( h . readonlyInput ) ? b . $parent . $eval ( h . readonlyInput ) : g . readonlyInput ; this . setupInputEvents ( e , f ) } ; var D = g . hourStep ; h . hourStep && b . $parent . $watch ( k ( h . hourStep ) , function ( a ) { D = parseInt ( a , 10 ) } ) ; var p = g . minuteStep ; h . minuteStep && b . $parent . $watch ( k ( h . minuteStep ) , function ( a ) { p = parseInt ( a , 10 ) } ) ; var u ; b . $parent . $watch ( k ( h . min ) , function ( a ) { a = new Date ( a ) ; u = isNaN ( a ) ? void 0 : a } ) ;
var J ; b . $parent . $watch ( k ( h . max ) , function ( a ) { a = new Date ( a ) ; J = isNaN ( a ) ? void 0 : a } ) ; b . noIncrementHours = function ( ) { var a = r ( y , 60 * D ) ; return a > J || a < y && a < u } ; b . noDecrementHours = function ( ) { var a = r ( y , 60 * - D ) ; return a < u || a > y && a > J } ; b . noIncrementMinutes = function ( ) { var a = r ( y , p ) ; return a > J || a < y && a < u } ; b . noDecrementMinutes = function ( ) { var a = r ( y , - p ) ; return a < u || a > y && a > J } ; b . noToggleMeridian = function ( ) { return 13 > y . getHours ( ) ? r ( y , 720 ) > J : r ( y , - 720 ) < u } ; b . showMeridian = g . showMeridian ; h . showMeridian && b . $parent . $watch ( k ( h . showMeridian ) ,
function ( a ) { if ( b . showMeridian = ! ! a , F . $error . time ) { a = e ( ) ; var c = t ( ) ; angular . isDefined ( a ) && angular . isDefined ( c ) && ( y . setHours ( a ) , n ( ) ) } else w ( ) } ) ; this . setupMousewheelEvents = function ( a , c ) { var e = function ( a ) { a . originalEvent && ( a = a . originalEvent ) ; var b = a . wheelDelta ? a . wheelDelta : - a . deltaY ; return a . detail || 0 < b } ; a . bind ( "mousewheel wheel" , function ( a ) { b . $apply ( e ( a ) ? b . incrementHours ( ) : b . decrementHours ( ) ) ; a . preventDefault ( ) } ) ; c . bind ( "mousewheel wheel" , function ( a ) { b . $apply ( e ( a ) ? b . incrementMinutes ( ) : b . decrementMinutes ( ) ) ;
a . preventDefault ( ) } ) } ; this . setupArrowkeyEvents = function ( a , c ) { a . bind ( "keydown" , function ( a ) { 38 === a . which ? ( a . preventDefault ( ) , b . incrementHours ( ) , b . $apply ( ) ) : 40 === a . which && ( a . preventDefault ( ) , b . decrementHours ( ) , b . $apply ( ) ) } ) ; c . bind ( "keydown" , function ( a ) { 38 === a . which ? ( a . preventDefault ( ) , b . incrementMinutes ( ) , b . $apply ( ) ) : 40 === a . which && ( a . preventDefault ( ) , b . decrementMinutes ( ) , b . $apply ( ) ) } ) } ; this . setupInputEvents = function ( a , c ) { if ( b . readonlyInput ) return b . updateHours = angular . noop , void ( b . updateMinutes = angular . noop ) ;
var g = function ( a , c ) { F . $setViewValue ( null ) ; F . $setValidity ( "time" , ! 1 ) ; angular . isDefined ( a ) && ( b . invalidHours = a ) ; angular . isDefined ( c ) && ( b . invalidMinutes = c ) } ; b . updateHours = function ( ) { var a = e ( ) , b = t ( ) ; angular . isDefined ( a ) && angular . isDefined ( b ) ? ( y . setHours ( a ) , y < u || y > J ? g ( ! 0 ) : n ( "h" ) ) : g ( ! 0 ) } ; a . bind ( "blur" , function ( a ) { ! b . invalidHours && 10 > b . hours && b . $apply ( function ( ) { b . hours = l ( b . hours ) } ) } ) ; b . updateMinutes = function ( ) { var a = t ( ) , b = e ( ) ; angular . isDefined ( a ) && angular . isDefined ( b ) ? ( y . setMinutes ( a ) , y < u || y > J ? g ( void 0 ,
! 0 ) : n ( "m" ) ) : g ( void 0 , ! 0 ) } ; c . bind ( "blur" , function ( a ) { ! b . invalidMinutes && 10 > b . minutes && b . $apply ( function ( ) { b . minutes = l ( b . minutes ) } ) } ) } ; this . render = function ( ) { var a = F . $viewValue ; isNaN ( a ) ? ( F . $setValidity ( "time" , ! 1 ) , c . 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.' ) ) : ( a && ( y = a ) , y < u || y > J ? ( F . $setValidity ( "time" , ! 1 ) , b . invalidHours = ! 0 , b . invalidMinutes = ! 0 ) : q ( ) , w ( ) ) } ; b . showSpinners = angular . isDefined ( h . showSpinners ) ?
b . $parent . $eval ( h . showSpinners ) : g . showSpinners ; b . incrementHours = function ( ) { b . noIncrementHours ( ) || z ( 60 * D ) } ; b . decrementHours = function ( ) { b . noDecrementHours ( ) || z ( 60 * - D ) } ; b . incrementMinutes = function ( ) { b . noIncrementMinutes ( ) || z ( p ) } ; b . decrementMinutes = function ( ) { b . noDecrementMinutes ( ) || z ( - p ) } ; b . toggleMeridian = function ( ) { b . noToggleMeridian ( ) || z ( 720 * ( 12 > y . getHours ( ) ? 1 : - 1 ) ) } } ] ) . directive ( "uibTimepicker" , function ( ) { return { restrict : "EA" , require : [ "uibTimepicker" , "?^ngModel" ] , controller : "UibTimepickerController" ,
controllerAs : "timepicker" , replace : ! 0 , scope : { } , templateUrl : function ( b , f ) { return f . templateUrl || "template/timepicker/timepicker.html" } , link : function ( b , f , h , k ) { b = k [ 0 ] ; ( k = k [ 1 ] ) && b . init ( k , f . find ( "input" ) ) } } } ) ;
angular . module ( "ui.bootstrap.timepicker" ) . value ( "$timepickerSuppressWarning" , ! 1 ) . controller ( "TimepickerController" , [ "$scope" , "$element" , "$attrs" , "$controller" , "$log" , "$timepickerSuppressWarning" , function ( b , f , h , k , c , a ) { a || c . warn ( "TimepickerController is now deprecated. Use UibTimepickerController instead." ) ; angular . extend ( this , k ( "UibTimepickerController" , { $scope : b , $element : f , $attrs : h } ) ) } ] ) . directive ( "timepicker" , [ "$log" , "$timepickerSuppressWarning" , function ( b , f ) { return { restrict : "EA" , require : [ "timepicker" ,
"?^ngModel" ] , controller : "TimepickerController" , controllerAs : "timepicker" , replace : ! 0 , scope : { } , templateUrl : function ( b , f ) { return f . templateUrl || "template/timepicker/timepicker.html" } , link : function ( h , k , c , a ) { f || b . warn ( "timepicker is now deprecated. Use uib-timepicker instead." ) ; h = a [ 0 ] ; ( a = a [ 1 ] ) && h . init ( a , k . find ( "input" ) ) } } } ] ) ;
angular . module ( "ui.bootstrap.typeahead" , [ "ui.bootstrap.position" ] ) . factory ( "uibTypeaheadParser" , [ "$parse" , function ( b ) { var f = /^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w\d]*))\s+in\s+([\s\S]+?)$/ ; return { parse : function ( h ) { var k = h . match ( f ) ; if ( ! k ) throw Error ( 'Expected typeahead specification in form of "_modelValue_ (as _label_)? for _item_ in _collection_" but got "' + h + '".' ) ; return { itemName : k [ 3 ] , source : b ( k [ 4 ] ) , viewMapper : b ( k [ 2 ] || k [ 1 ] ) , modelMapper : b ( k [ 1 ] ) } } } } ] ) . controller ( "UibTypeaheadController" ,
[ "$scope" , "$element" , "$attrs" , "$compile" , "$parse" , "$q" , "$timeout" , "$document" , "$window" , "$rootScope" , "$uibPosition" , "uibTypeaheadParser" , function ( b , f , h , k , c , a , g , e , t , l , n , q ) { function w ( ) { Q . moveInProgress || ( Q . moveInProgress = ! 0 , Q . $digest ( ) ) ; W && g . cancel ( W ) ; W = g ( function ( ) { Q . matches . length && r ( ) ; Q . moveInProgress = ! 1 } , A ) } function r ( ) { Q . position = I ? n . offset ( f ) : n . position ( f ) ; Q . position . top += f . prop ( "offsetHeight" ) } var z , y , F = [ 9 , 13 , 27 , 38 , 40 ] , A = 200 , D = b . $eval ( h . typeaheadMinLength ) ; D || 0 === D || ( D = 1 ) ; var p , u , J = b . $eval ( h . typeaheadWaitMs ) ||
0 , M = ! 1 !== b . $eval ( h . typeaheadEditable ) , H = c ( h . typeaheadLoading ) . assign || angular . noop , K = c ( h . typeaheadOnSelect ) , L = ! ! angular . isDefined ( h . typeaheadSelectOnBlur ) && b . $eval ( h . typeaheadSelectOnBlur ) , S = c ( h . typeaheadNoResults ) . assign || angular . noop , X = h . typeaheadInputFormatter ? c ( h . typeaheadInputFormatter ) : void 0 , I = ! ! h . typeaheadAppendToBody && b . $eval ( h . typeaheadAppendToBody ) , R = h . typeaheadAppendToElementId || ! 1 , Y = ! 1 !== b . $eval ( h . typeaheadFocusFirst ) , T = ! ! h . typeaheadSelectOnExact && b . $eval ( h . typeaheadSelectOnExact ) , E =
c ( h . ngModel ) , U = c ( h . ngModel + "($$$p)" ) , ka = function ( a , c ) { return angular . isFunction ( E ( b ) ) && y && y . $options && y . $options . getterSetter ? U ( a , { $$$p : c } ) : E . assign ( a , c ) } , V = q . parse ( h . uibTypeahead ) , Q = b . $new ( ) ; c = b . $on ( "$destroy" , function ( ) { Q . $destroy ( ) } ) ; Q . $on ( "$destroy" , c ) ; var ea = "typeahead-" + Q . $id + "-" + Math . floor ( 1E4 * Math . random ( ) ) ; f . attr ( { "aria-autocomplete" : "list" , "aria-expanded" : ! 1 , "aria-owns" : ea } ) ; var N = angular . element ( "<div uib-typeahead-popup></div>" ) ; N . attr ( { id : ea , matches : "matches" , active : "activeIdx" , select : "select(activeIdx)" ,
"move-in-progress" : "moveInProgress" , query : "query" , position : "position" } ) ; angular . isDefined ( h . typeaheadTemplateUrl ) && N . attr ( "template-url" , h . typeaheadTemplateUrl ) ; angular . isDefined ( h . typeaheadPopupTemplateUrl ) && N . attr ( "popup-template-url" , h . typeaheadPopupTemplateUrl ) ; var pa = function ( ) { Q . matches = [ ] ; Q . activeIdx = - 1 ; f . attr ( "aria-expanded" , ! 1 ) } ; Q . $watch ( "activeIdx" , function ( a ) { 0 > a ? f . removeAttr ( "aria-activedescendant" ) : f . attr ( "aria-activedescendant" , ea + "-option-" + a ) } ) ; var ca = function ( c ) { var e = { $viewValue : c } ;
H ( b , ! 0 ) ; S ( b , ! 1 ) ; a . when ( V . source ( b , e ) ) . then ( function ( a ) { var g = c === z . $viewValue ; if ( g && p ) if ( a && 0 < a . length ) { Q . activeIdx = Y ? 0 : - 1 ; S ( b , ! 1 ) ; for ( var l = Q . matches . length = 0 ; l < a . length ; l ++ ) e [ V . itemName ] = a [ l ] , Q . matches . push ( { id : ea + "-option-" + l , label : V . viewMapper ( Q , e ) , model : a [ l ] } ) ; Q . query = c ; r ( ) ; f . attr ( "aria-expanded" , ! 0 ) ; T && 1 === Q . matches . length && 0 < Q . matches . length && c && c . toUpperCase ( ) === Q . matches [ 0 ] . label . toUpperCase ( ) && Q . select ( 0 ) } else pa ( ) , S ( b , ! 0 ) ; g && H ( b , ! 1 ) } , function ( ) { pa ( ) ; H ( b , ! 1 ) ; S ( b , ! 0 ) } ) } ; I && ( angular . element ( t ) . bind ( "resize" ,
w ) , e . find ( "body" ) . bind ( "scroll" , w ) ) ; var W ; Q . moveInProgress = ! 1 ; Q . query = void 0 ; var da , la = function ( a ) { da = g ( function ( ) { ca ( a ) } , J ) } ; pa ( ) ; Q . select = function ( a ) { var c , e = { } ; u = ! 0 ; e [ V . itemName ] = c = Q . matches [ a ] . model ; a = V . modelMapper ( b , e ) ; ka ( b , a ) ; z . $setValidity ( "editable" , ! 0 ) ; z . $setValidity ( "parse" , ! 0 ) ; K ( b , { $item : c , $model : a , $label : V . viewMapper ( b , e ) } ) ; pa ( ) ; ! 1 !== Q . $eval ( h . typeaheadFocusOnSelect ) && g ( function ( ) { f [ 0 ] . focus ( ) } , 0 , ! 1 ) } ; f . bind ( "keydown" , function ( a ) { if ( 0 !== Q . matches . length && - 1 !== F . indexOf ( a . which ) ) { if ( - 1 ===
Q . activeIdx && ( 9 === a . which || 13 === a . which ) ) return pa ( ) , void Q . $digest ( ) ; a . preventDefault ( ) ; 40 === a . which ? ( Q . activeIdx = ( Q . activeIdx + 1 ) % Q . matches . length , Q . $digest ( ) ) : 38 === a . which ? ( Q . activeIdx = ( 0 < Q . activeIdx ? Q . activeIdx : Q . matches . length ) - 1 , Q . $digest ( ) ) : 13 === a . which || 9 === a . which ? Q . $apply ( function ( ) { Q . select ( Q . activeIdx ) } ) : 27 === a . which && ( a . stopPropagation ( ) , pa ( ) , Q . $digest ( ) ) } } ) ; f . bind ( "blur" , function ( ) { L && Q . matches . length && - 1 !== Q . activeIdx && ! u && ( u = ! 0 , Q . $apply ( function ( ) { Q . select ( Q . activeIdx ) } ) ) ; u = p = ! 1 } ) ;
var ma = function ( a ) { f [ 0 ] !== a . target && 3 !== a . which && 0 !== Q . matches . length && ( pa ( ) , l . $$phase || Q . $digest ( ) ) } ; e . bind ( "click" , ma ) ; b . $on ( "$destroy" , function ( ) { e . unbind ( "click" , ma ) ; ( I || R ) && Ea . remove ( ) ; I && ( angular . element ( t ) . unbind ( "resize" , w ) , e . find ( "body" ) . unbind ( "scroll" , w ) ) ; N . remove ( ) } ) ; var Ea = k ( N ) ( Q ) ; I ? e . find ( "body" ) . append ( Ea ) : ! 1 !== R ? angular . element ( e [ 0 ] . getElementById ( R ) ) . append ( Ea ) : f . after ( Ea ) ; this . init = function ( a , c ) { z = a ; y = c ; z . $parsers . unshift ( function ( a ) { p = ! 0 ; 0 === D || a && a . length >= D ? 0 < J ? ( da && g . cancel ( da ) ,
la ( a ) ) : ca ( a ) : ( H ( b , ! 1 ) , da && g . cancel ( da ) , pa ( ) ) ; return M ? a : a ? void z . $setValidity ( "editable" , ! 1 ) : ( z . $setValidity ( "editable" , ! 0 ) , null ) } ) ; z . $formatters . push ( function ( a ) { var c , e , g = { } ; return M || z . $setValidity ( "editable" , ! 0 ) , X ? ( g . $model = a , X ( b , g ) ) : ( g [ V . itemName ] = a , c = V . viewMapper ( b , g ) , g [ V . itemName ] = void 0 , e = V . viewMapper ( b , g ) , c !== e ? c : a ) } ) } } ] ) . directive ( "uibTypeahead" , function ( ) { return { controller : "UibTypeaheadController" , require : [ "ngModel" , "^?ngModelOptions" , "uibTypeahead" ] , link : function ( b , f , h , k ) { k [ 2 ] . init ( k [ 0 ] ,
k [ 1 ] ) } } } ) . directive ( "uibTypeaheadPopup" , function ( ) { return { scope : { matches : "=" , query : "=" , active : "=" , position : "&" , moveInProgress : "=" , select : "&" } , replace : ! 0 , templateUrl : function ( b , f ) { return f . popupTemplateUrl || "template/typeahead/typeahead-popup.html" } , link : function ( b , f , h ) { b . templateUrl = h . templateUrl ; b . isOpen = function ( ) { return 0 < b . matches . length } ; b . isActive = function ( f ) { return b . active == f } ; b . selectActive = function ( f ) { b . active = f } ; b . selectMatch = function ( f ) { b . select ( { activeIdx : f } ) } } } } ) . directive ( "uibTypeaheadMatch" ,
[ "$templateRequest" , "$compile" , "$parse" , function ( b , f , h ) { return { scope : { index : "=" , match : "=" , query : "=" } , link : function ( k , c , a ) { a = h ( a . templateUrl ) ( k . $parent ) || "template/typeahead/typeahead-match.html" ; b ( a ) . then ( function ( a ) { f ( a . trim ( ) ) ( k , function ( a ) { c . replaceWith ( a ) } ) } ) } } } ] ) . filter ( "uibTypeaheadHighlight" , [ "$sce" , "$injector" , "$log" , function ( b , f , h ) { var k ; return k = f . has ( "$sanitize" ) , function ( c , a ) { return ! k && /<.*>/g . test ( c ) && h . warn ( "Unsafe use of typeahead please use ngSanitize" ) , c = a ? ( "" + c ) . replace ( new RegExp ( a . replace ( /([.?*+^$[\]\\(){}|-])/g ,
"\\$1" ) , "gi" ) , "<strong>$&</strong>" ) : c , k || ( c = b . trustAsHtml ( c ) ) , c } } ] ) ;
angular . module ( "ui.bootstrap.typeahead" ) . value ( "$typeaheadSuppressWarning" , ! 1 ) . service ( "typeaheadParser" , [ "$parse" , "uibTypeaheadParser" , "$log" , "$typeaheadSuppressWarning" , function ( b , f , h , k ) { return k || h . warn ( "typeaheadParser is now deprecated. Use uibTypeaheadParser instead." ) , f } ] ) . directive ( "typeahead" , [ "$compile" , "$parse" , "$q" , "$timeout" , "$document" , "$window" , "$rootScope" , "$uibPosition" , "typeaheadParser" , "$log" , "$typeaheadSuppressWarning" , function ( b , f , h , k , c , a , g , e , t , l , n ) { var q = [ 9 , 13 , 27 , 38 , 40 ] ; return { require : [ "ngModel" ,
"^?ngModelOptions" ] , link : function ( w , r , z , y ) { function F ( ) { N . moveInProgress || ( N . moveInProgress = ! 0 , N . $digest ( ) ) ; la && k . cancel ( la ) ; la = k ( function ( ) { N . matches . length && A ( ) ; N . moveInProgress = ! 1 } , 200 ) } function A ( ) { N . position = Y ? e . offset ( r ) : e . position ( r ) ; N . position . top += r . prop ( "offsetHeight" ) } n || l . warn ( "typeahead is now deprecated. Use uib-typeahead instead." ) ; var D = y [ 0 ] , p = y [ 1 ] , u = w . $eval ( z . typeaheadMinLength ) ; u || 0 === u || ( u = 1 ) ; var J , M , H = w . $eval ( z . typeaheadWaitMs ) || 0 , K = ! 1 !== w . $eval ( z . typeaheadEditable ) , L = f ( z . typeaheadLoading ) . assign ||
angular . noop , S = f ( z . typeaheadOnSelect ) , X = ! ! angular . isDefined ( z . typeaheadSelectOnBlur ) && w . $eval ( z . typeaheadSelectOnBlur ) , I = f ( z . typeaheadNoResults ) . assign || angular . noop , R = z . typeaheadInputFormatter ? f ( z . typeaheadInputFormatter ) : void 0 , Y = ! ! z . typeaheadAppendToBody && w . $eval ( z . typeaheadAppendToBody ) , T = z . typeaheadAppendToElementId || ! 1 , E = ! 1 !== w . $eval ( z . typeaheadFocusFirst ) , U = ! ! z . typeaheadSelectOnExact && w . $eval ( z . typeaheadSelectOnExact ) , ka = f ( z . ngModel ) , V = f ( z . ngModel + "($$$p)" ) , Q = function ( a , b ) { return angular . isFunction ( ka ( w ) ) &&
p && p . $options && p . $options . getterSetter ? V ( a , { $$$p : b } ) : ka . assign ( a , b ) } , ea = t . parse ( z . typeahead ) , N = w . $new ( ) ; y = w . $on ( "$destroy" , function ( ) { N . $destroy ( ) } ) ; N . $on ( "$destroy" , y ) ; var pa = "typeahead-" + N . $id + "-" + Math . floor ( 1E4 * Math . random ( ) ) ; r . attr ( { "aria-autocomplete" : "list" , "aria-expanded" : ! 1 , "aria-owns" : pa } ) ; var ca = angular . element ( "<div typeahead-popup></div>" ) ; ca . attr ( { id : pa , matches : "matches" , active : "activeIdx" , select : "select(activeIdx)" , "move-in-progress" : "moveInProgress" , query : "query" , position : "position" } ) ;
angular . isDefined ( z . typeaheadTemplateUrl ) && ca . attr ( "template-url" , z . typeaheadTemplateUrl ) ; angular . isDefined ( z . typeaheadPopupTemplateUrl ) && ca . attr ( "popup-template-url" , z . typeaheadPopupTemplateUrl ) ; var W = function ( ) { N . matches = [ ] ; N . activeIdx = - 1 ; r . attr ( "aria-expanded" , ! 1 ) } ; N . $watch ( "activeIdx" , function ( a ) { 0 > a ? r . removeAttr ( "aria-activedescendant" ) : r . attr ( "aria-activedescendant" , pa + "-option-" + a ) } ) ; var da = function ( a ) { var b = { $viewValue : a } ; L ( w , ! 0 ) ; I ( w , ! 1 ) ; h . when ( ea . source ( w , b ) ) . then ( function ( c ) { var e = a === D . $viewValue ;
if ( e && J ) if ( c && 0 < c . length ) { N . activeIdx = E ? 0 : - 1 ; I ( w , ! 1 ) ; for ( var g = N . matches . length = 0 ; g < c . length ; g ++ ) b [ ea . itemName ] = c [ g ] , N . matches . push ( { id : pa + "-option-" + g , label : ea . viewMapper ( N , b ) , model : c [ g ] } ) ; N . query = a ; A ( ) ; r . attr ( "aria-expanded" , ! 0 ) ; U && 1 === N . matches . length && 0 < N . matches . length && a && a . toUpperCase ( ) === N . matches [ 0 ] . label . toUpperCase ( ) && N . select ( 0 ) } else W ( ) , I ( w , ! 0 ) ; e && L ( w , ! 1 ) } , function ( ) { W ( ) ; L ( w , ! 1 ) ; I ( w , ! 0 ) } ) } ; Y && ( angular . element ( a ) . bind ( "resize" , F ) , c . find ( "body" ) . bind ( "scroll" , F ) ) ; var la ; N . moveInProgress =
! 1 ; W ( ) ; N . query = void 0 ; var ma , Ea = function ( a ) { ma = k ( function ( ) { da ( a ) } , H ) } ; D . $parsers . unshift ( function ( a ) { J = ! 0 ; 0 === u || a && a . length >= u ? 0 < H ? ( ma && k . cancel ( ma ) , Ea ( a ) ) : da ( a ) : ( L ( w , ! 1 ) , ma && k . cancel ( ma ) , W ( ) ) ; return K ? a : a ? void D . $setValidity ( "editable" , ! 1 ) : ( D . $setValidity ( "editable" , ! 0 ) , null ) } ) ; D . $formatters . push ( function ( a ) { var b , c , e = { } ; return K || D . $setValidity ( "editable" , ! 0 ) , R ? ( e . $model = a , R ( w , e ) ) : ( e [ ea . itemName ] = a , b = ea . viewMapper ( w , e ) , e [ ea . itemName ] = void 0 , c = ea . viewMapper ( w , e ) , b !== c ? b : a ) } ) ; N . select = function ( a ) { var b ,
c = { } ; M = ! 0 ; c [ ea . itemName ] = b = N . matches [ a ] . model ; a = ea . modelMapper ( w , c ) ; Q ( w , a ) ; D . $setValidity ( "editable" , ! 0 ) ; D . $setValidity ( "parse" , ! 0 ) ; S ( w , { $item : b , $model : a , $label : ea . viewMapper ( w , c ) } ) ; W ( ) ; ! 1 !== N . $eval ( z . typeaheadFocusOnSelect ) && k ( function ( ) { r [ 0 ] . focus ( ) } , 0 , ! 1 ) } ; r . bind ( "keydown" , function ( a ) { if ( 0 !== N . matches . length && - 1 !== q . indexOf ( a . which ) ) { if ( - 1 === N . activeIdx && ( 9 === a . which || 13 === a . which ) ) return W ( ) , void N . $digest ( ) ; a . preventDefault ( ) ; 40 === a . which ? ( N . activeIdx = ( N . activeIdx + 1 ) % N . matches . length , N . $digest ( ) ) :
38 === a . which ? ( N . activeIdx = ( 0 < N . activeIdx ? N . activeIdx : N . matches . length ) - 1 , N . $digest ( ) ) : 13 === a . which || 9 === a . which ? N . $apply ( function ( ) { N . select ( N . activeIdx ) } ) : 27 === a . which && ( a . stopPropagation ( ) , W ( ) , N . $digest ( ) ) } } ) ; r . bind ( "blur" , function ( ) { X && N . matches . length && - 1 !== N . activeIdx && ! M && ( M = ! 0 , N . $apply ( function ( ) { N . select ( N . activeIdx ) } ) ) ; M = J = ! 1 } ) ; var wa = function ( a ) { r [ 0 ] !== a . target && 3 !== a . which && 0 !== N . matches . length && ( W ( ) , g . $$phase || N . $digest ( ) ) } ; c . bind ( "click" , wa ) ; w . $on ( "$destroy" , function ( ) { c . unbind ( "click" ,
wa ) ; ( Y || T ) && ha . remove ( ) ; Y && ( angular . element ( a ) . unbind ( "resize" , F ) , c . find ( "body" ) . unbind ( "scroll" , F ) ) ; ca . remove ( ) } ) ; var ha = b ( ca ) ( N ) ; Y ? c . find ( "body" ) . append ( ha ) : ! 1 !== T ? angular . element ( c [ 0 ] . getElementById ( T ) ) . append ( ha ) : r . after ( ha ) } } } ] ) . directive ( "typeaheadPopup" , [ "$typeaheadSuppressWarning" , "$log" , function ( b , f ) { return { scope : { matches : "=" , query : "=" , active : "=" , position : "&" , moveInProgress : "=" , select : "&" } , replace : ! 0 , templateUrl : function ( b , f ) { return f . popupTemplateUrl || "template/typeahead/typeahead-popup.html" } ,
link : function ( h , k , c ) { b || f . warn ( "typeahead-popup is now deprecated. Use uib-typeahead-popup instead." ) ; h . templateUrl = c . templateUrl ; h . isOpen = function ( ) { return 0 < h . matches . length } ; h . isActive = function ( a ) { return h . active == a } ; h . selectActive = function ( a ) { h . active = a } ; h . selectMatch = function ( a ) { h . select ( { activeIdx : a } ) } } } } ] ) . directive ( "typeaheadMatch" , [ "$templateRequest" , "$compile" , "$parse" , "$typeaheadSuppressWarning" , "$log" , function ( b , f , h , k , c ) { return { restrict : "EA" , scope : { index : "=" , match : "=" , query : "=" } , link : function ( a ,
g , e ) { k || c . warn ( "typeahead-match is now deprecated. Use uib-typeahead-match instead." ) ; e = h ( e . templateUrl ) ( a . $parent ) || "template/typeahead/typeahead-match.html" ; b ( e ) . then ( function ( b ) { f ( b . trim ( ) ) ( a , function ( a ) { g . replaceWith ( a ) } ) } ) } } } ] ) . filter ( "typeaheadHighlight" , [ "$sce" , "$injector" , "$log" , "$typeaheadSuppressWarning" , function ( b , f , h , k ) { var c ; return c = f . has ( "$sanitize" ) , function ( a , g ) { return k || h . warn ( "typeaheadHighlight is now deprecated. Use uibTypeaheadHighlight instead." ) , ! c && /<.*>/g . test ( a ) && h . warn ( "Unsafe use of typeahead please use ngSanitize" ) ,
a = g ? ( "" + a ) . replace ( new RegExp ( g . replace ( /([.?*+^$[\]\\(){}|-])/g , "\\$1" ) , "gi" ) , "<strong>$&</strong>" ) : a , c || ( a = b . trustAsHtml ( a ) ) , a } } ] ) ; angular . module ( "template/accordion/accordion-group.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/accordion/accordion-group.html" , '<div class="panel {{panelClass || \'panel-default\'}}">\n <div class="panel-heading" ng-keypress="toggleOpen($event)">\n <h4 class="panel-title">\n <a href tabindex="0" class="accordion-toggle" ng-click="toggleOpen()" uib-accordion-transclude="heading"><span ng-class="{\'text-muted\': isDisabled}">{{heading}}</span></a>\n </h4>\n </div>\n <div class="panel-collapse collapse" uib-collapse="!isOpen">\n\t <div class="panel-body" ng-transclude></div>\n </div>\n</div>\n' ) } ] ) ;
angular . module ( "template/accordion/accordion.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/accordion/accordion.html" , '<div class="panel-group" ng-transclude></div>' ) } ] ) ; angular . module ( "template/alert/alert.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "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">×</span>\n <span class="sr-only">Close</span>\n </button>\n <div ng-transclude></div>\n</div>\n' ) } ] ) ;
angular . module ( "template/carousel/carousel.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "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-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-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>' ) } ] ) ;
angular . module ( "template/carousel/slide.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/carousel/slide.html" , '<div ng-class="{\n \'active\': active\n }" class="item text-center" ng-transclude></div>\n' ) } ] ) ; angular . module ( "template/datepicker/datepicker.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/datepicker/datepicker.html" , '<div 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>' ) } ] ) ;
angular . module ( "template/datepicker/day.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/datepicker/day.html" , '<table 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" 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" ng-click="toggleMode()" ng-disabled="datepickerMode === maxMode" tabindex="-1" style="width:100%;"><strong>{{title}}</strong></button></th>\n <th><button type="button" class="btn btn-default btn-sm pull-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 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 track by dt.date" class="text-center" role="gridcell" id="{{::dt.uid}}" ng-class="::dt.customClass">\n <button type="button" style="min-width:100%;" class="btn btn-default btn-sm" ng-class="{\'btn-info\': dt.selected, active: isActive(dt)}" ng-click="select(dt.date)" ng-disabled="dt.disabled" 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 ( "template/datepicker/month.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/datepicker/month.html" , '<table 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" 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" ng-click="toggleMode()" ng-disabled="datepickerMode === maxMode" tabindex="-1" style="width:100%;"><strong>{{title}}</strong></button></th>\n <th><button type="button" class="btn btn-default btn-sm pull-right" ng-click="move(1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-right"></i></button></th>\n </tr>\n </thead>\n <tbody>\n <tr ng-repeat="row in rows track by $index">\n <td ng-repeat="dt in row track by dt.date" class="text-center" role="gridcell" id="{{::dt.uid}}" ng-class="::dt.customClass">\n <button type="button" style="min-width:100%;" class="btn btn-default" ng-class="{\'btn-info\': dt.selected, active: isActive(dt)}" ng-click="select(dt.date)" ng-disabled="dt.disabled" tabindex="-1"><span ng-class="::{\'text-info\': dt.current}">{{::dt.label}}</span></button>\n </td>\n </tr>\n </tbody>\n</table>\n' ) } ] ) ;
angular . module ( "template/datepicker/popup.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/datepicker/popup.html" , '<ul class="dropdown-menu" dropdown-nested ng-if="isOpen" style="display: block" ng-style="{top: position.top+\'px\', left: position.left+\'px\'}" ng-keydown="keydown($event)" ng-click="$event.stopPropagation()">\n\t<li ng-transclude></li>\n\t<li ng-if="showButtonBar" style="padding:10px 9px 2px">\n\t\t<span class="btn-group pull-left">\n\t\t\t<button type="button" class="btn btn-sm btn-info" ng-click="select(\'today\')" ng-disabled="isDisabled(\'today\')">{{ getText(\'current\') }}</button>\n\t\t\t<button type="button" class="btn btn-sm btn-danger" ng-click="select(null)">{{ getText(\'clear\') }}</button>\n\t\t</span>\n\t\t<button type="button" class="btn btn-sm btn-success pull-right" ng-click="close()">{{ getText(\'close\') }}</button>\n\t</li>\n</ul>\n' ) } ] ) ;
angular . module ( "template/datepicker/year.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/datepicker/year.html" , '<table 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" ng-click="move(-1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-left"></i></button></th>\n <th colspan="3"><button id="{{::uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm" ng-click="toggleMode()" ng-disabled="datepickerMode === maxMode" tabindex="-1" style="width:100%;"><strong>{{title}}</strong></button></th>\n <th><button type="button" class="btn btn-default btn-sm pull-right" ng-click="move(1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-right"></i></button></th>\n </tr>\n </thead>\n <tbody>\n <tr ng-repeat="row in rows track by $index">\n <td ng-repeat="dt in row track by dt.date" class="text-center" role="gridcell" id="{{::dt.uid}}" ng-class="::dt.customClass">\n <button type="button" style="min-width:100%;" class="btn btn-default" ng-class="{\'btn-info\': dt.selected, active: isActive(dt)}" ng-click="select(dt.date)" ng-disabled="dt.disabled" tabindex="-1"><span ng-class="::{\'text-info\': dt.current}">{{::dt.label}}</span></button>\n </td>\n </tr>\n </tbody>\n</table>\n' ) } ] ) ;
angular . module ( "template/modal/backdrop.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/modal/backdrop.html" , '<div 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 ( "template/modal/window.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "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" ng-class="size ? \'modal-\' + size : \'\'"><div class="modal-content" uib-modal-transclude></div></div>\n</div>\n' ) } ] ) ;
angular . module ( "template/pagination/pager.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/pagination/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 ( "template/pagination/pagination.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "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 ( "template/tooltip/tooltip-html-popup.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/tooltip/tooltip-html-popup.html" , '<div\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 ( "template/tooltip/tooltip-popup.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/tooltip/tooltip-popup.html" , '<div\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 ( "template/tooltip/tooltip-template-popup.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/tooltip/tooltip-template-popup.html" , '<div\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 ( "template/popover/popover-html.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/popover/popover-html.html" , '<div 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="title" ng-if="title"></h3>\n <div class="popover-content" ng-bind-html="contentExp()"></div>\n </div>\n</div>\n' ) } ] ) ;
angular . module ( "template/popover/popover-template.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/popover/popover-template.html" , '<div 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="title" ng-if="title"></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 ( "template/popover/popover.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/popover/popover.html" , '<div 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="title" ng-if="title"></h3>\n <div class="popover-content" ng-bind="content"></div>\n </div>\n</div>\n' ) } ] ) ;
angular . module ( "template/progressbar/bar.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "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}}" style="min-width: 0;" ng-transclude></div>\n' ) } ] ) ;
angular . module ( "template/progressbar/progress.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/progressbar/progress.html" , '<div class="progress" ng-transclude aria-labelledby="{{::title}}"></div>' ) } ] ) ; angular . module ( "template/progressbar/progressbar.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "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}}" style="min-width: 0;" ng-transclude></div>\n</div>\n' ) } ] ) ;
angular . module ( "template/rating/rating.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "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}}">\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}}" aria-valuetext="{{r.title}}"></i>\n</span>\n' ) } ] ) ;
angular . module ( "template/tabs/tab.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/tabs/tab.html" , '<li ng-class="{active: active, disabled: disabled}">\n <a href ng-click="select()" uib-tab-heading-transclude>{{heading}}</a>\n</li>\n' ) } ] ) ; angular . module ( "template/tabs/tabset.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/tabs/tabset.html" , '<div>\n <ul class="nav nav-{{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 tabs" \n ng-class="{active: tab.active}"\n uib-tab-content-transclude="tab">\n </div>\n </div>\n</div>\n' ) } ] ) ;
angular . module ( "template/timepicker/timepicker.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/timepicker/timepicker.html" , '<table>\n <tbody>\n <tr class="text-center" ng-show="::showSpinners">\n <td><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> </td>\n <td><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="showMeridian"></td>\n </tr>\n <tr>\n <td class="form-group" ng-class="{\'has-error\': invalidHours}">\n <input style="width:50px;" type="text" ng-model="hours" ng-change="updateHours()" class="form-control text-center" ng-readonly="::readonlyInput" maxlength="2" tabindex="{{::tabindex}}">\n </td>\n <td>:</td>\n <td class="form-group" ng-class="{\'has-error\': invalidMinutes}">\n <input style="width:50px;" type="text" ng-model="minutes" ng-change="updateMinutes()" class="form-control text-center" ng-readonly="::readonlyInput" maxlength="2" tabindex="{{::tabindex}}">\n </td>\n <td ng-show="showMeridian"><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><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> </td>\n <td><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="showMeridian"></td>\n </tr>\n </tbody>\n</table>\n' ) } ] ) ;
angular . module ( "template/typeahead/typeahead-match.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/typeahead/typeahead-match.html" , '<a href tabindex="-1" ng-bind-html="match.label | uibTypeaheadHighlight:query"></a>\n' ) } ] ) ; angular . module ( "template/typeahead/typeahead-popup.html" , [ ] ) . run ( [ "$templateCache" , function ( b ) { b . put ( "template/typeahead/typeahead-popup.html" , '<ul class="dropdown-menu" ng-show="isOpen() && !moveInProgress" ng-style="{top: position().top+\'px\', left: position().left+\'px\'}" style="display: block;" 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)" 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' ) } ] ) ;
2017-04-11 07:10:36 +00:00
! angular . $$csp ( ) && 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>' ) ;
2017-04-11 11:04:48 +00:00
! function ( b , f ) { "function" == typeof define && define . amd ? define ( [ ] , function ( ) { return f ( ) } ) : "object" == typeof exports ? module . exports = f ( ) : f ( ) } ( this , function ( ) { function b ( a ) { var b = a . storageKey ( ) , c = a . storage ( ) , e = function ( ) { var e = a . preferredLanguage ( ) ; angular . isString ( e ) ? a . use ( e ) : c . put ( b , a . use ( ) ) } ; e . displayName = "fallbackFromIncorrectStorageValue" ; c ? c . get ( b ) ? a . use ( c . get ( b ) ) [ "catch" ] ( e ) : e ( ) : angular . isString ( a . preferredLanguage ( ) ) && a . use ( a . preferredLanguage ( ) ) } function f ( a , b , c , e ) { var g , f , l , h , k , n , t , r , q , w , K , L , S ,
X , I , R , Y = { } , T = [ ] , E = a , U = [ ] , ka = "translate-cloak" , V = ! 1 , Q = ! 1 , ea = "." , N = ! 1 , pa = ! 1 , ca = 0 , W = ! 0 , da = "default" , la = { "default" : function ( a ) { return ( a || "" ) . split ( "-" ) . join ( "_" ) } , java : function ( a ) { a = ( a || "" ) . split ( "-" ) . join ( "_" ) ; var b = a . split ( "_" ) ; return 1 < b . length ? b [ 0 ] . toLowerCase ( ) + "_" + b [ 1 ] . toUpperCase ( ) : a } , bcp47 : function ( a ) { a = ( a || "" ) . split ( "_" ) . join ( "-" ) ; var b = a . split ( "-" ) ; return 1 < b . length ? b [ 0 ] . toLowerCase ( ) + "-" + b [ 1 ] . toUpperCase ( ) : a } , "iso639-1" : function ( a ) { return ( a || "" ) . split ( "_" ) . join ( "-" ) . split ( "-" ) [ 0 ] . toLowerCase ( ) } } ,
ma = function ( ) { if ( angular . isFunction ( e . getLocale ) ) return e . getLocale ( ) ; var a , c , g = b . $get ( ) . navigator , f = [ "language" , "browserLanguage" , "systemLanguage" , "userLanguage" ] ; if ( angular . isArray ( g . languages ) ) for ( a = 0 ; a < g . languages . length ; a ++ ) if ( c = g . languages [ a ] , c && c . length ) return c ; for ( a = 0 ; a < f . length ; a ++ ) if ( c = g [ f [ a ] ] , c && c . length ) return c ; return null } ; ma . displayName = "angular-translate/service: getFirstBrowserLanguage" ; var Ea = function ( ) { var a = ma ( ) || "" ; return la [ da ] && ( a = la [ da ] ( a ) ) , a } ; Ea . displayName = "angular-translate/service: getLocale" ;
var wa = function ( a , b ) { for ( var c = 0 , e = a . length ; c < e ; c ++ ) if ( a [ c ] === b ) return c ; return - 1 } , ha = function ( ) { return this . toString ( ) . replace ( /^\s+|\s+$/g , "" ) } , v = function ( a ) { if ( a ) { for ( var b = [ ] , c = angular . lowercase ( a ) , e = 0 , g = T . length ; e < g ; e ++ ) b . push ( angular . lowercase ( T [ e ] ) ) ; if ( - 1 < wa ( b , c ) ) return a ; if ( f ) { var l , h ; for ( h in f ) if ( f . hasOwnProperty ( h ) && ( c = ! 1 , e = Object . prototype . hasOwnProperty . call ( f , h ) && angular . lowercase ( h ) === angular . lowercase ( a ) , "*" === h . slice ( - 1 ) && ( c = h . slice ( 0 , - 1 ) === a . slice ( 0 , h . length - 1 ) ) , ( e || c ) && ( l = f [ h ] ,
- 1 < wa ( b , angular . lowercase ( l ) ) ) ) ) return l } a = a . split ( "_" ) ; return 1 < a . length && - 1 < wa ( b , angular . lowercase ( a [ 0 ] ) ) ? a [ 0 ] : void 0 } } , ra = function ( a , b ) { if ( ! a && ! b ) return Y ; if ( a && ! b ) { if ( angular . isString ( a ) ) return Y [ a ] } else angular . isObject ( Y [ a ] ) || ( Y [ a ] = { } ) , angular . extend ( Y [ a ] , Aa ( b ) ) ; return this } ; this . translations = ra ; this . cloakClassName = function ( a ) { return a ? ( ka = a , this ) : ka } ; this . nestedObjectDelimeter = function ( a ) { return a ? ( ea = a , this ) : ea } ; var Aa = function ( a , b , c , e ) { var g , f , l , h ; b || ( b = [ ] ) ; c || ( c = { } ) ; for ( g in a ) Object . prototype . hasOwnProperty . call ( a ,
g ) && ( h = a [ g ] , angular . isObject ( h ) ? Aa ( h , b . concat ( g ) , c , g ) : ( f = b . length ? "" + b . join ( ea ) + ea + g : g , b . length && g === e && ( l = "" + b . join ( ea ) , c [ l ] = "@:" + f ) , c [ f ] = h ) ) ; return c } ; Aa . displayName = "flatObject" ; this . addInterpolation = function ( a ) { return U . push ( a ) , this } ; this . useMessageFormatInterpolation = function ( ) { return this . useInterpolation ( "$translateMessageFormatInterpolation" ) } ; this . useInterpolation = function ( a ) { return w = a , this } ; this . useSanitizeValueStrategy = function ( a ) { return c . useStrategy ( a ) , this } ; this . preferredLanguage = function ( a ) { return a ?
( a && ( g = a ) , this ) : g } ; this . translationNotFoundIndicator = function ( a ) { return this . translationNotFoundIndicatorLeft ( a ) , this . translationNotFoundIndicatorRight ( a ) , this } ; this . translationNotFoundIndicatorLeft = function ( a ) { return a ? ( S = a , this ) : S } ; this . translationNotFoundIndicatorRight = function ( a ) { return a ? ( X = a , this ) : X } ; this . fallbackLanguage = function ( a ) { return ba ( a ) , this } ; var ba = function ( a ) { return a ? ( angular . isString ( a ) ? ( h = ! 0 , l = [ a ] ) : angular . isArray ( a ) && ( h = ! 1 , l = a ) , angular . isString ( g ) && 0 > wa ( l , g ) && l . push ( g ) , this ) :
h ? l [ 0 ] : l } ; this . use = function ( a ) { if ( a ) { if ( ! Y [ a ] && ! K ) throw Error ( "$translateProvider couldn't find translationTable for langKey: '" + a + "'" ) ; return k = a , this } return k } ; this . resolveClientLocale = function ( ) { return Ea ( ) } ; var Za = function ( a ) { return a ? ( E = a , this ) : r ? r + E : E } ; this . storageKey = Za ; this . useUrlLoader = function ( a , b ) { return this . useLoader ( "$translateUrlLoader" , angular . extend ( { url : a } , b ) ) } ; this . useStaticFilesLoader = function ( a ) { return this . useLoader ( "$translateStaticFilesLoader" , a ) } ; this . useLoader = function ( a ,
b ) { return K = a , L = b || { } , this } ; this . useLocalStorage = function ( ) { return this . useStorage ( "$translateLocalStorage" ) } ; this . useCookieStorage = function ( ) { return this . useStorage ( "$translateCookieStorage" ) } ; this . useStorage = function ( a ) { return t = a , this } ; this . storagePrefix = function ( a ) { return a ? ( r = a , this ) : a } ; this . useMissingTranslationHandlerLog = function ( ) { return this . useMissingTranslationHandler ( "$translateMissingTranslationHandlerLog" ) } ; this . useMissingTranslationHandler = function ( a ) { return q = a , this } ; this . usePostCompiling =
function ( a ) { return V = ! ! a , this } ; this . forceAsyncReload = function ( a ) { return Q = ! ! a , this } ; this . uniformLanguageTag = function ( a ) { return a ? angular . isString ( a ) && ( a = { standard : a } ) : a = { } , da = a . standard , this } ; this . determinePreferredLanguage = function ( a ) { a = a && angular . isFunction ( a ) ? a ( ) : Ea ( ) ; return g = T . length ? v ( a ) || a : a , this } ; this . registerAvailableLanguageKeys = function ( a , b ) { return a ? ( T = a , b && ( f = b ) , this ) : T } ; this . useLoaderCache = function ( a ) { return ! 1 === a ? I = void 0 : ! 0 === a ? I = ! 0 : "undefined" == typeof a ? I = "$translationCache" : a && ( I =
a ) , this } ; this . directivePriority = function ( a ) { return void 0 === a ? ca : ( ca = a , this ) } ; this . statefulFilter = function ( a ) { return void 0 === a ? W : ( W = a , this ) } ; this . postProcess = function ( a ) { return R = a ? a : void 0 , this } ; this . keepContent = function ( a ) { return pa = ! ! a , this } ; this . $get = [ "$log" , "$injector" , "$rootScope" , "$q" , function ( a , b , c , e ) { var f , r , p , u = b . get ( w || "$translateDefaultInterpolation" ) , y = ! 1 , z = { } , F = { } , A = function ( a , b , c , h , n ) { ! k && g && ( k = g ) ; var q = n && n !== k ? v ( n ) || n : k ; if ( n && hc ( n ) , angular . isArray ( a ) ) return function ( a ) { for ( var g =
{ } , f = [ ] , l = function ( a ) { var f = e . defer ( ) , l = function ( b ) { g [ a ] = b ; f . resolve ( [ a , b ] ) } ; return A ( a , b , c , h , n ) . then ( l , l ) , f . promise } , k = 0 , v = a . length ; k < v ; k ++ ) f . push ( l ( a [ k ] ) ) ; return e . all ( f ) . then ( function ( ) { return g } ) } ( a ) ; var p = e . defer ( ) ; a && ( a = ha . apply ( a ) ) ; var w = function ( ) { var a = g ? F [ g ] : F [ q ] ; if ( r = 0 , t && ! a ) { var b = f . get ( E ) ; if ( a = F [ b ] , l && l . length ) r = 0 === wa ( l , b ) ? 1 : 0 , 0 > wa ( l , g ) && l . push ( g ) } return a } ( ) ; if ( w ) { var u = function ( ) { n || ( q = k ) ; Ia ( a , b , c , h , q ) . then ( p . resolve , p . reject ) } ; u . displayName = "promiseResolved" ; w [ "finally" ] ( u ) } else Ia ( a ,
b , c , h , q ) . then ( p . resolve , p . reject ) ; return p . promise } , D = function ( a ) { return S && ( a = [ S , a ] . join ( " " ) ) , X && ( a = [ a , X ] . join ( " " ) ) , a } , ia = function ( a ) { k = a ; t && f . put ( A . storageKey ( ) , k ) ; c . $emit ( "$translateChangeSuccess" , { language : a } ) ; u . setLocale ( k ) ; var b = function ( a , b ) { z [ b ] . setLocale ( k ) } ; b . displayName = "eachInterpolatorLocaleSetter" ; angular . forEach ( z , b ) ; c . $emit ( "$translateChangeEnd" , { language : a } ) } , ya = function ( a ) { if ( ! a ) throw "No language key specified for loading." ; var g = e . defer ( ) ; c . $emit ( "$translateLoadingStart" , { language : a } ) ;
y = ! 0 ; var f = I ; "string" == typeof f && ( f = b . get ( f ) ) ; var f = angular . extend ( { } , L , { key : a , $http : angular . extend ( { } , { cache : f } , L . $http ) } ) , l = function ( b ) { var e = { } ; c . $emit ( "$translateLoadingSuccess" , { language : a } ) ; angular . isArray ( b ) ? angular . forEach ( b , function ( a ) { angular . extend ( e , Aa ( a ) ) } ) : angular . extend ( e , Aa ( b ) ) ; y = ! 1 ; g . resolve ( { key : a , table : e } ) ; c . $emit ( "$translateLoadingEnd" , { language : a } ) } ; l . displayName = "onLoaderSuccess" ; var h = function ( a ) { c . $emit ( "$translateLoadingError" , { language : a } ) ; g . reject ( a ) ; c . $emit ( "$translateLoadingEnd" ,
{ language : a } ) } ; return h . displayName = "onLoaderError" , b . get ( K ) ( f ) . then ( l , h ) , g . promise } ; if ( t && ( f = b . get ( t ) , ! f . get || ! f . put ) ) throw Error ( "Couldn't use storage '" + t + "', missing get() or put() method!" ) ; U . length && ( a = function ( a ) { a = b . get ( a ) ; a . setLocale ( g || k ) ; z [ a . getInterpolationIdentifier ( ) ] = a } , a . displayName = "interpolationFactoryAdder" , angular . forEach ( U , a ) ) ; var J = function ( a ) { var b = e . defer ( ) ; if ( Object . prototype . hasOwnProperty . call ( Y , a ) ) b . resolve ( Y [ a ] ) ; else if ( F [ a ] ) { var c = function ( a ) { ra ( a . key , a . table ) ; b . resolve ( a . table ) } ;
c . displayName = "translationTableResolver" ; F [ a ] . then ( c , b . reject ) } else b . reject ( ) ; return b . promise } , H = function ( a , b , c , g ) { var f = e . defer ( ) , l = function ( e ) { if ( Object . prototype . hasOwnProperty . call ( e , b ) ) { g . setLocale ( a ) ; var l = e [ b ] ; "@:" === l . substr ( 0 , 2 ) ? H ( a , l . substr ( 2 ) , c , g ) . then ( f . resolve , f . reject ) : ( l = g . interpolate ( e [ b ] , c ) , l = Xa ( b , e [ b ] , l , c , a ) , f . resolve ( l ) ) ; g . setLocale ( k ) } else f . reject ( ) } ; return l . displayName = "fallbackTranslationResolver" , J ( a ) . then ( l , f . reject ) , f . promise } , M = function ( a , b , c , e ) { var g , f = Y [ a ] ; if ( f && Object . prototype . hasOwnProperty . call ( f ,
b ) ) { if ( e . setLocale ( a ) , g = e . interpolate ( f [ b ] , c ) , g = Xa ( b , f [ b ] , g , c , a ) , "@:" === g . substr ( 0 , 2 ) ) return M ( a , g . substr ( 2 ) , c , e ) ; e . setLocale ( k ) } return g } , Ua = function ( a , c , e ) { return q ? ( c = b . get ( q ) ( a , k , c , e ) , void 0 !== c ? c : a ) : a } , la = function ( a , b , c , g , f ) { var h = e . defer ( ) ; a < l . length ? H ( l [ a ] , b , c , g ) . then ( function ( a ) { h . resolve ( a ) } , function ( ) { return la ( a + 1 , b , c , g , f ) . then ( h . resolve , h . reject ) } ) : f ? h . resolve ( f ) : q ? h . resolve ( Ua ( b , c ) ) : h . reject ( Ua ( b , c ) ) ; return h . promise } , da = function ( a , b , c , e ) { var g ; a < l . length && ( ( g = M ( l [ a ] , b , c , e ) ) || ( g = da ( a +
1 , b , c , e ) ) ) ; return g } , Ia = function ( a , b , c , g , f ) { var h = e . defer ( ) , k = f ? Y [ f ] : Y , n = c ? z [ c ] : u ; if ( k && Object . prototype . hasOwnProperty . call ( k , a ) ) k = k [ a ] , "@:" === k . substr ( 0 , 2 ) ? A ( k . substr ( 2 ) , b , c , g , f ) . then ( h . resolve , h . reject ) : ( c = n . interpolate ( k , b ) , c = Xa ( a , k , c , b , f ) , h . resolve ( c ) ) ; else { var v ; q && ! y && ( v = Ua ( a , b , g ) ) ; f && l && l . length ? la ( 0 < p ? p : r , a , b , n , g ) . then ( function ( a ) { h . resolve ( a ) } , function ( a ) { h . reject ( D ( a ) ) } ) : q && ! y && v ? g ? h . resolve ( g ) : h . resolve ( v ) : g ? h . resolve ( g ) : h . reject ( D ( a ) ) } return h . promise } , ma = function ( a , b , c , e ) { var g , f = e ?
Y [ e ] : Y , h = u ; if ( z && Object . prototype . hasOwnProperty . call ( z , c ) && ( h = z [ c ] ) , f && Object . prototype . hasOwnProperty . call ( f , a ) ) f = f [ a ] , "@:" === f . substr ( 0 , 2 ) ? g = ma ( f . substr ( 2 ) , b , c , e ) : ( g = h . interpolate ( f , b ) , g = Xa ( a , f , g , b , e ) ) ; else { var k ; q && ! y && ( k = Ua ( a , b ) ) ; e && l && l . length ? ( r = 0 , g = da ( 0 < p ? p : r , a , b , h ) ) : g = q && ! y && k ? k : D ( a ) } return g } , Xa = function ( a , c , e , g , f ) { var l = R ; return l && ( "string" == typeof l && ( l = b . get ( l ) ) , l ) ? l ( a , c , e , g , f ) : e } , hc = function ( a ) { Y [ a ] || ! K || F [ a ] || ( F [ a ] = ya ( a ) . then ( function ( a ) { return ra ( a . key , a . table ) , a } ) ) } ; A . preferredLanguage =
function ( a ) { return a && a && ( g = a ) , g } ; A . cloakClassName = function ( ) { return ka } ; A . nestedObjectDelimeter = function ( ) { return ea } ; A . fallbackLanguage = function ( a ) { if ( void 0 !== a && null !== a ) { if ( ba ( a ) , K && l && l . length ) { a = 0 ; for ( var b = l . length ; a < b ; a ++ ) F [ l [ a ] ] || ( F [ l [ a ] ] = ya ( l [ a ] ) ) } A . use ( A . use ( ) ) } return h ? l [ 0 ] : l } ; A . useFallbackLanguage = function ( a ) { void 0 !== a && null !== a && ( a ? ( a = wa ( l , a ) , - 1 < a && ( p = a ) ) : p = 0 ) } ; A . proposedLanguage = function ( ) { return n } ; A . storage = function ( ) { return f } ; A . negotiateLocale = v ; A . use = function ( a ) { if ( ! a ) return k ;
var b = e . defer ( ) ; c . $emit ( "$translateChangeStart" , { language : a } ) ; var g = v ( a ) ; return 0 < T . length && ! g ? e . reject ( a ) : ( g && ( a = g ) , n = a , ! Q && Y [ a ] || ! K || F [ a ] ? F [ a ] ? F [ a ] . then ( function ( a ) { return n === a . key && ia ( a . key ) , b . resolve ( a . key ) , a } , function ( a ) { return ! k && l && 0 < l . length ? A . use ( l [ 0 ] ) . then ( b . resolve , b . reject ) : b . reject ( a ) } ) : ( b . resolve ( a ) , ia ( a ) ) : ( F [ a ] = ya ( a ) . then ( function ( c ) { return ra ( c . key , c . table ) , b . resolve ( c . key ) , n === a && ia ( c . key ) , c } , function ( a ) { return c . $emit ( "$translateChangeError" , { language : a } ) , b . reject ( a ) , c . $emit ( "$translateChangeEnd" ,
{ language : a } ) , e . reject ( a ) } ) , F [ a ] [ "finally" ] ( function ( ) { var b = a ; n === b && ( n = void 0 ) ; F [ b ] = void 0 } ) ) , b . promise ) } ; A . resolveClientLocale = function ( ) { return Ea ( ) } ; A . storageKey = function ( ) { return Za ( ) } ; A . isPostCompilingEnabled = function ( ) { return V } ; A . isForceAsyncReloadEnabled = function ( ) { return Q } ; A . isKeepContent = function ( ) { return pa } ; A . refresh = function ( a ) { function b ( ) { f . resolve ( ) ; c . $emit ( "$translateRefreshEnd" , { language : a } ) } function g ( ) { f . reject ( ) ; c . $emit ( "$translateRefreshEnd" , { language : a } ) } if ( ! K ) throw Error ( "Couldn't refresh translation table, no loader registered!" ) ;
var f = e . defer ( ) ; if ( c . $emit ( "$translateRefreshStart" , { language : a } ) , a ) if ( Y [ a ] ) { var h = function ( c ) { return ra ( c . key , c . table ) , a === k && ia ( k ) , b ( ) , c } ; h . displayName = "refreshPostProcessor" ; ya ( a ) . then ( h , g ) } else g ( ) ; else { var h = [ ] , n = { } ; if ( l && l . length ) for ( var v = 0 , t = l . length ; v < t ; v ++ ) h . push ( ya ( l [ v ] ) ) , n [ l [ v ] ] = ! 0 ; k && ! n [ k ] && h . push ( ya ( k ) ) ; n = function ( a ) { Y = { } ; angular . forEach ( a , function ( a ) { ra ( a . key , a . table ) } ) ; k && ia ( k ) ; b ( ) } ; n . displayName = "refreshPostProcessor" ; e . all ( h ) . then ( n , g ) } return f . promise } ; A . instant = function ( a , b , c ,
e ) { var f = e && e !== k ? v ( e ) || e : k ; if ( null === a || angular . isUndefined ( a ) ) return a ; if ( e && hc ( e ) , angular . isArray ( a ) ) { for ( var f = { } , h = 0 , n = a . length ; h < n ; h ++ ) f [ a [ h ] ] = A . instant ( a [ h ] , b , c , e ) ; return f } if ( angular . isString ( a ) && 1 > a . length ) return a ; a && ( a = ha . apply ( a ) ) ; e = [ ] ; g && e . push ( g ) ; f && e . push ( f ) ; l && l . length && ( e = e . concat ( l ) ) ; for ( var n = 0 , t = e . length ; n < t ; n ++ ) { var r = e [ n ] ; if ( Y [ r ] && "undefined" != typeof Y [ r ] [ a ] && ( h = ma ( a , b , c , f ) ) , "undefined" != typeof h ) break } return h || "" === h || ( S || X ? h = D ( a ) : ( h = u . interpolate ( a , b ) , q && ! y && ( h = Ua ( a , b ) ) ) ) ,
h } ; A . versionInfo = function ( ) { return "2.11.1" } ; A . loaderCache = function ( ) { return I } ; A . directivePriority = function ( ) { return ca } ; A . statefulFilter = function ( ) { return W } ; A . isReady = function ( ) { return N } ; var sa = e . defer ( ) ; sa . promise . then ( function ( ) { N = ! 0 } ) ; A . onReady = function ( a ) { var b = e . defer ( ) ; return angular . isFunction ( a ) && b . promise . then ( a ) , N ? b . resolve ( ) : sa . promise . then ( b . resolve ) , b . promise } ; A . getAvailableLanguageKeys = function ( ) { return 0 < T . length ? T : null } ; var Ic = c . $on ( "$translateReady" , function ( ) { sa . resolve ( ) ; Ic ( ) ;
Ic = null } ) , Mb = c . $on ( "$translateChangeEnd" , function ( ) { sa . resolve ( ) ; Mb ( ) ; Mb = null } ) ; if ( K ) { if ( angular . equals ( Y , { } ) && A . use ( ) && A . use ( A . use ( ) ) , l && l . length ) { a = function ( a ) { return ra ( a . key , a . table ) , c . $emit ( "$translateChangeEnd" , { language : a . key } ) , a } ; for ( var qc = 0 , Jc = l . length ; qc < Jc ; qc ++ ) { var Wb = l [ qc ] ; ! Q && Y [ Wb ] || ( F [ Wb ] = ya ( Wb ) . then ( a ) ) } } } else c . $emit ( "$translateReady" , { language : A . use ( ) } ) ; return A } ] } function h ( a , b ) { var c = { } ; return c . setLocale = function ( a ) { } , c . getInterpolationIdentifier = function ( ) { return "default" } ,
c . useSanitizeValueStrategy = function ( a ) { return b . useStrategy ( a ) , this } , c . interpolate = function ( c , e ) { e = e || { } ; e = b . sanitize ( e , "params" ) ; var g ; return angular . isNumber ( c ) ? g = "" + c : angular . isString ( c ) ? ( g = a ( c ) ( e ) , g = b . sanitize ( g , "text" ) ) : g = "" , g } , c } function k ( a , b , e , g , f , l ) { var h = function ( ) { return this . toString ( ) . replace ( /^\s+|\s+$/g , "" ) } ; return { restrict : "AE" , scope : ! 0 , priority : a . directivePriority ( ) , compile : function ( b , k ) { var n = k . translateValues ? k . translateValues : void 0 , t = k . translateInterpolation ? k . translateInterpolation :
void 0 , r = b [ 0 ] . outerHTML . match ( /translate-value-+/i ) , q = "^(.*)(" + e . startSymbol ( ) + ".*" + e . endSymbol ( ) + ")(.*)" , w = "^(.*)" + e . startSymbol ( ) + "(.*)" + e . endSymbol ( ) + "(.*)" ; return function ( b , p , u ) { b . interpolateParams = { } ; b . preText = "" ; b . postText = "" ; b . translateNamespace = c ( b ) ; var y = { } , z = function ( a ) { if ( angular . isFunction ( z . _unwatchOld ) && ( z . _unwatchOld ( ) , z . _unwatchOld = void 0 ) , angular . equals ( a , "" ) || ! angular . isDefined ( a ) ) { a = h . apply ( p . text ( ) ) ; var c = a . match ( q ) ; angular . isArray ( c ) ? ( b . preText = c [ 1 ] , b . postText = c [ 3 ] , y . translate =
e ( c [ 2 ] ) ( b . $parent ) , a = a . match ( w ) , angular . isArray ( a ) && a [ 2 ] && a [ 2 ] . length && ( z . _unwatchOld = b . $watch ( a [ 2 ] , function ( a ) { y . translate = a ; U ( ) } ) ) ) : y . translate = a ? a : void 0 } else y . translate = a ; U ( ) } , F = function ( a ) { u . $observe ( a , function ( b ) { y [ a ] = b ; U ( ) } ) } ; ( function ( a , c , e ) { if ( c . translateValues && angular . extend ( a , f ( c . translateValues ) ( b . $parent ) ) , r ) for ( var g in e ) if ( Object . prototype . hasOwnProperty . call ( c , g ) && "translateValue" === g . substr ( 0 , 14 ) && "translateValues" !== g ) { var l = angular . lowercase ( g . substr ( 14 , 1 ) ) + g . substr ( 15 ) ; a [ l ] =
e [ g ] } } ) ( b . interpolateParams , u , k ) ; var A = ! 0 ; u . $observe ( "translate" , function ( a ) { "undefined" == typeof a ? z ( "" ) : "" === a && A || ( y . translate = a , U ( ) ) ; A = ! 1 } ) ; for ( var D in u ) u . hasOwnProperty ( D ) && "translateAttr" === D . substr ( 0 , 13 ) && F ( D ) ; if ( u . $observe ( "translateDefault" , function ( a ) { b . defaultText = a ; U ( ) } ) , n && u . $observe ( "translateValues" , function ( a ) { a && b . $parent . $watch ( function ( ) { angular . extend ( b . interpolateParams , f ( a ) ( b . $parent ) ) } ) } ) , r ) { var F = function ( a ) { u . $observe ( a , function ( c ) { var e = angular . lowercase ( a . substr ( 14 , 1 ) ) +
a . substr ( 15 ) ; b . interpolateParams [ e ] = c } ) } , E ; for ( E in u ) Object . prototype . hasOwnProperty . call ( u , E ) && "translateValue" === E . substr ( 0 , 14 ) && "translateValues" !== E && F ( E ) } var U = function ( ) { for ( var a in y ) y . hasOwnProperty ( a ) && void 0 !== y [ a ] && ka ( a , y [ a ] , b , b . interpolateParams , b . defaultText , b . translateNamespace ) } , ka = function ( b , c , e , g , f , l ) { c ? ( l && "." === c . charAt ( 0 ) && ( c = l + c ) , a ( c , g , t , f , e . translateLanguage ) . then ( function ( a ) { V ( a , e , ! 0 , b ) } , function ( a ) { V ( a , e , ! 1 , b ) } ) ) : V ( c , e , ! 1 , b ) } , V = function ( b , c , e , f ) { ( e || "undefined" != typeof c . defaultText &&
( b = c . defaultText ) , "translate" === f ) ? ( ( e || ! e && ! a . isKeepContent ( ) && "undefined" == typeof u . translateKeepContent ) && p . empty ( ) . append ( c . preText + b + c . postText ) , b = a . isPostCompilingEnabled ( ) , f = ( e = "undefined" != typeof k . translateCompile ) && "false" !== k . translateCompile , ( b && ! e || f ) && g ( p . contents ( ) ) ( c ) ) : ( c = u . $attr [ f ] , "data-" === c . substr ( 0 , 5 ) && ( c = c . substr ( 5 ) ) , c = c . substr ( 15 ) , p . attr ( c , b ) ) } ; ( n || r || u . translateDefault ) && b . $watch ( "interpolateParams" , U , ! 0 ) ; var K = b . $on ( "translateLanguageChanged" , U ) , J = l . $on ( "$translateChangeSuccess" ,
U ) ; p . text ( ) . length ? z ( u . translate ? u . translate : "" ) : u . translate && z ( u . translate ) ; U ( ) ; b . $on ( "$destroy" , function ( ) { K ( ) ; J ( ) } ) } } } } function c ( a ) { return a . translateNamespace ? a . translateNamespace : a . $parent ? c ( a . $parent ) : void 0 } function a ( a , b ) { return { compile : function ( c ) { var e = function ( ) { c . addClass ( a . cloakClassName ( ) ) } , g = function ( ) { c . removeClass ( a . cloakClassName ( ) ) } ; return a . onReady ( function ( ) { g ( ) } ) , e ( ) , function ( c , f , l ) { l . translateCloak && l . translateCloak . length && ( l . $observe ( "translateCloak" , function ( b ) { a ( b ) . then ( g ,
e ) } ) , b . $on ( "$translateChangeSuccess" , function ( ) { a ( l . translateCloak ) . then ( g , e ) } ) ) } } } } function g ( ) { return { restrict : "A" , scope : ! 0 , compile : function ( ) { return { pre : function ( a , b , e ) { a . translateNamespace = c ( a ) ; a . translateNamespace && "." === e . translateNamespace . charAt ( 0 ) ? a . translateNamespace += e . translateNamespace : a . translateNamespace = e . translateNamespace } } } } } function c ( a ) { return a . translateNamespace ? a . translateNamespace : a . $parent ? c ( a . $parent ) : void 0 } function e ( ) { return { restrict : "A" , scope : ! 0 , compile : function ( ) { return function ( a ,
b , c ) { c . $observe ( "translateLanguage" , function ( b ) { a . translateLanguage = b } ) ; a . $watch ( "translateLanguage" , function ( ) { a . $broadcast ( "translateLanguageChanged" ) } ) } } } } function t ( a , b ) { var c = function ( c , e , g , f ) { return angular . isObject ( e ) || ( e = a ( e ) ( this ) ) , b . instant ( c , e , g , f ) } ; return b . statefulFilter ( ) && ( c . $stateful = ! 0 ) , c } function l ( a ) { return a ( "translations" ) } return b . $inject = [ "$translate" ] , f . $inject = [ "$STORAGE_KEY" , "$windowProvider" , "$translateSanitizationProvider" , "pascalprechtTranslateOverrider" ] , h . $inject = [ "$interpolate" ,
"$translateSanitization" ] , k . $inject = "$translate $q $interpolate $compile $parse $rootScope" . split ( " " ) , a . $inject = [ "$translate" , "$rootScope" ] , t . $inject = [ "$parse" , "$translate" ] , l . $inject = [ "$cacheFactory" ] , angular . module ( "pascalprecht.translate" , [ "ng" ] ) . run ( b ) , b . displayName = "runTranslate" , angular . module ( "pascalprecht.translate" ) . provider ( "$translateSanitization" , function ( ) { var a , b , c = null , e = ! 1 , g = ! 1 ; b = { sanitize : function ( a , b ) { return "text" === b && ( a = l ( a ) ) , a } , escape : function ( a , b ) { return "text" === b && ( a = f ( a ) ) ,
a } , sanitizeParameters : function ( a , b ) { return "params" === b && ( a = h ( a , l ) ) , a } , escapeParameters : function ( a , b ) { return "params" === b && ( a = h ( a , f ) ) , a } } ; b . escaped = b . escapeParameters ; this . addStrategy = function ( a , c ) { return b [ a ] = c , this } ; this . removeStrategy = function ( a ) { return delete b [ a ] , this } ; this . useStrategy = function ( a ) { return e = ! 0 , c = a , this } ; this . $get = [ "$injector" , "$log" , function ( f , l ) { var h = { } , k = function ( a , c , e ) { return angular . forEach ( e , function ( e ) { if ( angular . isFunction ( e ) ) a = e ( a , c ) ; else if ( angular . isFunction ( b [ e ] ) ) a =
b [ e ] ( a , c ) ; else { if ( ! angular . isString ( b [ e ] ) ) throw Error ( "pascalprecht.translate.$translateSanitization: Unknown sanitization strategy: '" + e + "'" ) ; if ( ! h [ b [ e ] ] ) try { h [ b [ e ] ] = f . get ( b [ e ] ) } catch ( S ) { throw h [ b [ e ] ] = function ( ) { } , Error ( "pascalprecht.translate.$translateSanitization: Unknown sanitization strategy: '" + e + "'" ) ; } a = h [ b [ e ] ] ( a , c ) } } ) , a } ; return f . has ( "$sanitize" ) && ( a = f . get ( "$sanitize" ) ) , { useStrategy : function ( a ) { return function ( b ) { a . useStrategy ( b ) } } ( this ) , sanitize : function ( a , b , f ) { c || e || g || ( l . warn ( "pascalprecht.translate.$translateSanitization: No sanitization strategy has been configured. This can have serious security implications. See http://angular-translate.github.io/docs/#/guide/19_security for details." ) ,
g = ! 0 ) ; if ( 3 > arguments . length && ( f = c ) , ! f ) return a ; var h = angular . isArray ( f ) ? f : [ f ] ; return k ( a , b , h ) } } } ] ; var f = function ( a ) { var b = angular . element ( "<div></div>" ) ; return b . text ( a ) , b . html ( ) } , l = function ( b ) { if ( ! a ) throw Error ( "pascalprecht.translate.$translateSanitization: Error cannot find $sanitize service. Either include the ngSanitize module (https://docs.angularjs.org/api/ngSanitize) or use a sanitization strategy which does not depend on $sanitize, such as 'escape'." ) ; return a ( b ) } , h = function ( a , b , c ) { if ( angular . isObject ( a ) ) { var e =
angular . isArray ( a ) ? [ ] : { } ; if ( c ) { if ( - 1 < c . indexOf ( a ) ) throw Error ( "pascalprecht.translate.$translateSanitization: Error cannot interpolate parameter due recursive object" ) ; } else c = [ ] ; return c . push ( a ) , angular . forEach ( a , function ( a , g ) { angular . isFunction ( a ) || ( e [ g ] = h ( a , b , c ) ) } ) , c . splice ( - 1 , 1 ) , e } return angular . isNumber ( a ) ? a : b ( a ) } } ) , angular . module ( "pascalprecht.translate" ) . constant ( "pascalprechtTranslateOverrider" , { } ) . provider ( "$translate" , f ) , f . displayName = "displayName" , angular . module ( "pascalprecht.translate" ) . factory ( "$translateDefaultInterpolation" ,
h ) , h . displayName = "$translateDefaultInterpolation" , angular . module ( "pascalprecht.translate" ) . constant ( "$STORAGE_KEY" , "NG_TRANSLATE_LANG_KEY" ) , angular . module ( "pascalprecht.translate" ) . directive ( "translate" , k ) , k . displayName = "translateDirective" , angular . module ( "pascalprecht.translate" ) . directive ( "translateCloak" , a ) , a . displayName = "translateCloakDirective" , angular . module ( "pascalprecht.translate" ) . directive ( "translateNamespace" , g ) , g . displayName = "translateNamespaceDirective" , angular . module ( "pascalprecht.translate" ) . directive ( "translateLanguage" ,
e ) , e . displayName = "translateLanguageDirective" , angular . module ( "pascalprecht.translate" ) . filter ( "translate" , t ) , t . displayName = "translateFilterFactory" , angular . module ( "pascalprecht.translate" ) . factory ( "$translationCache" , l ) , l . displayName = "$translationCache" , "pascalprecht.translate" } ) ;
! function ( ) { function b ( b , c ) { window . XMLHttpRequest . prototype [ b ] = c ( window . XMLHttpRequest . prototype [ b ] ) } function f ( b , c , a ) { try { Object . defineProperty ( b , c , { get : a } ) } catch ( g ) { } } 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 h = function ( b ) { if ( ! b . _ _listeners ) { b . upload || ( b . upload = { } ) ; b . _ _listeners = [ ] ; var c = b . upload . addEventListener ; b . upload . addEventListener =
function ( a , g ) { b . _ _listeners [ a ] = g ; c && c . apply ( this , arguments ) } } } ; b ( "open" , function ( b ) { return function ( c , a , g ) { h ( this ) ; this . _ _url = a ; try { b . apply ( this , [ c , a , g ] ) } catch ( e ) { - 1 < e . message . indexOf ( "Access is denied" ) && ( this . _ _origError = e , b . apply ( this , [ c , "_fix_for_ie_crossdomain__" , g ] ) ) } } } ) ; b ( "getResponseHeader" , function ( b ) { return function ( c ) { return this . _ _fileApiXHR && this . _ _fileApiXHR . getResponseHeader ? this . _ _fileApiXHR . getResponseHeader ( c ) : null == b ? null : b . apply ( this , [ c ] ) } } ) ; b ( "getAllResponseHeaders" , function ( b ) { return function ( ) { return this . _ _fileApiXHR &&
this . _ _fileApiXHR . getAllResponseHeaders ? this . _ _fileApiXHR . getAllResponseHeaders ( ) : null == b ? null : b . apply ( this ) } } ) ; b ( "abort" , function ( b ) { return function ( ) { return this . _ _fileApiXHR && this . _ _fileApiXHR . abort ? this . _ _fileApiXHR . abort ( ) : null == b ? null : b . apply ( this ) } } ) ; b ( "setRequestHeader" , function ( b ) { return function ( c , a ) { if ( "__setXHR_" === c ) { h ( this ) ; var g = a ( this ) ; g instanceof Function && g ( this ) } else this . _ _requestHeaders = this . _ _requestHeaders || { } , this . _ _requestHeaders [ c ] = a , b . apply ( this , arguments ) } } ) ; b ( "send" ,
function ( b ) { return function ( ) { var c = this ; if ( arguments [ 0 ] && arguments [ 0 ] . _ _isFileAPIShim ) { for ( var a = arguments [ 0 ] , g = { url : c . _ _url , jsonp : ! 1 , cache : ! 0 , complete : function ( a , b ) { a && angular . isString ( a ) && - 1 !== a . indexOf ( "#2174" ) && ( a = null ) ; c . _ _completed = ! 0 ; ! a && c . _ _listeners . load && c . _ _listeners . load ( { type : "load" , loaded : c . _ _loaded , total : c . _ _total , target : c , lengthComputable : ! 0 } ) ; ! a && c . _ _listeners . loadend && c . _ _listeners . loadend ( { type : "loadend" , loaded : c . _ _loaded , total : c . _ _total , target : c , lengthComputable : ! 0 } ) ; "abort" ===
a && c . _ _listeners . abort && c . _ _listeners . abort ( { type : "abort" , loaded : c . _ _loaded , total : c . _ _total , target : c , lengthComputable : ! 0 } ) ; void 0 !== b . status && f ( c , "status" , function ( ) { return 0 === b . status && a && "abort" !== a ? 500 : b . status } ) ; void 0 !== b . statusText && f ( c , "statusText" , function ( ) { return b . statusText } ) ; f ( c , "readyState" , function ( ) { return 4 } ) ; void 0 !== b . response && f ( c , "response" , function ( ) { return b . response } ) ; var e = b . responseText || ( a && 0 === b . status && "abort" !== a ? a : void 0 ) ; f ( c , "responseText" , function ( ) { return e } ) ; f ( c ,
"response" , function ( ) { return e } ) ; a && f ( c , "err" , function ( ) { return a } ) ; c . _ _fileApiXHR = b ; c . onreadystatechange && c . onreadystatechange ( ) ; c . onload && c . onload ( ) } , progress : function ( a ) { if ( a . target = c , c . _ _listeners . progress && c . _ _listeners . progress ( a ) , c . _ _total = a . total , c . _ _loaded = a . loaded , a . total === a . loaded ) { var b = this ; setTimeout ( function ( ) { c . _ _completed || ( c . getAllResponseHeaders = function ( ) { } , b . complete ( null , { status : 204 , statusText : "No Content" } ) ) } , FileAPI . noContentTimeout || 1E4 ) } } , headers : c . _ _requestHeaders , data : { } ,
files : { } } , e = 0 ; e < a . data . length ; e ++ ) { var h = a . data [ e ] ; null != h . val && null != h . val . name && null != h . val . size && null != h . val . type ? g . files [ h . key ] = h . val : g . data [ h . key ] = h . val } setTimeout ( function ( ) { if ( ! FileAPI . hasFlash ) throw 'Adode Flash Player need to be installed. To check ahead use "FileAPI.hasFlash"' ; c . _ _fileApiXHR = FileAPI . upload ( g ) } , 1 ) } else { if ( this . _ _origError ) throw this . _ _origError ; b . apply ( c , arguments ) } } } ) ; window . XMLHttpRequest . _ _isFileAPIShim = ! 0 ; window . FormData = FormData = function ( ) { return { append : function ( b , c ,
a ) { c . _ _isFileAPIBlobShim && ( c = c . data [ 0 ] ) ; this . data . push ( { key : b , val : c , name : a } ) } , data : [ ] , _ _isFileAPIShim : ! 0 } } ; window . Blob = Blob = function ( b ) { return { data : b , _ _isFileAPIBlobShim : ! 0 } } } } ( ) ;
( function ( ) { function b ( a ) { return "input" === a [ 0 ] . tagName . toLowerCase ( ) && a . attr ( "type" ) && "file" === a . attr ( "type" ) . toLowerCase ( ) } function f ( ) { try { return new ActiveXObject ( "ShockwaveFlash.ShockwaveFlash" ) , ! 0 } catch ( n ) { if ( void 0 !== navigator . mimeTypes [ "application/x-shockwave-flash" ] ) return ! 0 } return ! 1 } function h ( a ) { var b = 0 , c = 0 ; if ( window . jQuery ) return jQuery ( a ) . offset ( ) ; if ( a . offsetParent ) { do b += a . offsetLeft - a . scrollLeft , c += a . offsetTop - a . scrollTop , a = a . offsetParent ; while ( a ) } return { left : b , top : c } } if ( FileAPI . shouldLoad ) { if ( FileAPI . hasFlash =
f ( ) , FileAPI . forceLoad && ( FileAPI . html5 = ! 1 ) , ! FileAPI . upload ) { var k , c , a , g , e , t = document . createElement ( "script" ) , l = document . getElementsByTagName ( "script" ) ; if ( window . FileAPI . jsUrl ) k = window . FileAPI . jsUrl ; else if ( window . FileAPI . jsPath ) c = window . FileAPI . jsPath ; else for ( a = 0 ; a < l . length ; a ++ ) if ( e = l [ a ] . src , g = e . search ( /\/ng\-file\-upload[\-a-zA-z0-9\.]*\.js/ ) , - 1 < g ) { c = e . substring ( 0 , g + 1 ) ; break } null == FileAPI . staticPath && ( FileAPI . staticPath = c ) ; t . setAttribute ( "src" , k || c + "FileAPI.min.js" ) ; document . getElementsByTagName ( "head" ) [ 0 ] . appendChild ( t ) } FileAPI . ngfFixIE =
function ( a , c , e ) { if ( ! f ( ) ) throw 'Adode Flash Player need to be installed. To check ahead use "FileAPI.hasFlash"' ; a . bind ( "mouseenter" , function ( ) { var f = c . parent ( ) ; a . attr ( "disabled" ) ? f && f . removeClass ( "js-fileapi-wrapper" ) : ( c . attr ( "__ngf_flash_" ) || ( c . unbind ( "change" ) , c . unbind ( "click" ) , c . bind ( "change" , function ( a ) { g . apply ( this , [ a ] ) ; e . apply ( this , [ a ] ) } ) , c . attr ( "__ngf_flash_" , "true" ) ) , f . addClass ( "js-fileapi-wrapper" ) , b ( a ) || ( f . css ( "position" , "absolute" ) . css ( "top" , h ( a [ 0 ] ) . top + "px" ) . css ( "left" , h ( a [ 0 ] ) . left + "px" ) . css ( "width" ,
a [ 0 ] . offsetWidth + "px" ) . css ( "height" , a [ 0 ] . offsetHeight + "px" ) . css ( "filter" , "alpha(opacity=0)" ) . css ( "display" , a . css ( "display" ) ) . css ( "overflow" , "hidden" ) . css ( "z-index" , "900000" ) . css ( "visibility" , "visible" ) , c . css ( "width" , a [ 0 ] . offsetWidth + "px" ) . css ( "height" , a [ 0 ] . offsetHeight + "px" ) . css ( "position" , "absolute" ) . css ( "top" , "0px" ) . css ( "left" , "0px" ) ) ) } ) ; var g = function ( a ) { for ( var b = FileAPI . getFiles ( a ) , c = 0 ; c < b . length ; c ++ ) void 0 === b [ c ] . size && ( b [ c ] . size = 0 ) , void 0 === b [ c ] . name && ( b [ c ] . name = "file" ) , void 0 === b [ c ] . type &&
2017-04-11 07:10:36 +00:00
( b [ c ] . type = "undefined" ) ; a . target || ( a . target = { } ) ; a . target . files = b ; a . target . files !== b && ( a . _ _files _ = b ) ; ( a . _ _files _ || a . target . files ) . item = function ( b ) { return ( a . _ _files _ || a . target . files ) [ b ] || null } } } ; FileAPI . disableFileInput = function ( a , b ) { b ? a . removeClass ( "js-fileapi-wrapper" ) : a . addClass ( "js-fileapi-wrapper" ) } } } ) ( ) ;
2017-04-11 11:04:48 +00:00
window . FileReader || ( window . FileReader = function ( ) { var b = this , f = ! 1 ; this . listeners = { } ; this . addEventListener = function ( c , a ) { b . listeners [ c ] = b . listeners [ c ] || [ ] ; b . listeners [ c ] . push ( a ) } ; this . removeEventListener = function ( c , a ) { b . listeners [ c ] && b . listeners [ c ] . splice ( b . listeners [ c ] . indexOf ( a ) , 1 ) } ; this . dispatchEvent = function ( c ) { var a = b . listeners [ c . type ] ; if ( a ) for ( var g = 0 ; g < a . length ; g ++ ) a [ g ] . call ( b , c ) } ; this . onabort = this . onerror = this . onload = this . onloadstart = this . onloadend = this . onprogress = null ; var h = function ( c , a ) { var g =
{ type : c , target : b , loaded : a . loaded , total : a . total , error : a . error } ; return null != a . result && ( g . target . result = a . result ) , g } , k = function ( c ) { f || ( f = ! 0 , b . onloadstart && b . onloadstart ( h ( "loadstart" , c ) ) ) ; var a ; "load" === c . type ? ( b . onloadend && b . onloadend ( h ( "loadend" , c ) ) , a = h ( "load" , c ) , b . onload && b . onload ( a ) , b . dispatchEvent ( a ) ) : "progress" === c . type ? ( a = h ( "progress" , c ) , b . onprogress && b . onprogress ( a ) , b . dispatchEvent ( a ) ) : ( a = h ( "error" , c ) , b . onerror && b . onerror ( a ) , b . dispatchEvent ( a ) ) } ; this . readAsDataURL = function ( b ) { FileAPI . readAsDataURL ( b ,
k ) } ; this . readAsText = function ( b ) { FileAPI . readAsText ( b , k ) } } ) ; ! window . XMLHttpRequest || window . FileAPI && FileAPI . shouldLoad || ( window . XMLHttpRequest . prototype . setRequestHeader = function ( b ) { return function ( f , h ) { if ( "__setXHR_" === f ) { var k = h ( this ) ; k instanceof Function && k ( this ) } else b . apply ( this , arguments ) } } ( window . XMLHttpRequest . prototype . setRequestHeader ) ) ; var ngFileUpload = angular . module ( "ngFileUpload" , [ ] ) ; ngFileUpload . version = "12.2.13" ;
ngFileUpload . service ( "UploadBase" , [ "$http" , "$q" , "$timeout" , function ( b , f , h ) { function k ( c ) { function e ( a ) { q . notify && q . notify ( a ) ; w . progressFunc && h ( function ( ) { w . progressFunc ( a ) } ) } function l ( a ) { return null != c . _start && g ? { loaded : a . loaded + c . _start , total : c . _file && c . _file . size || a . total , type : a . type , config : c , lengthComputable : ! 0 , target : a . target } : a } function k ( ) { b ( c ) . then ( function ( b ) { g && c . _chunkSize && ! c . _finished && c . _file ? ( b = c . _file && c . _file . size || 0 , e ( { loaded : Math . min ( c . _end , b ) , total : b , config : c , type : "progress" } ) ,
a . upload ( c , ! 0 ) ) : ( c . _finished && delete c . _finished , q . resolve ( b ) ) } , function ( a ) { q . reject ( a ) } , function ( a ) { q . notify ( a ) } ) } c . method = c . method || "POST" ; c . headers = c . headers || { } ; var q = c . _deferred = c . _deferred || f . defer ( ) , w = q . promise ; return c . disableProgress || ( c . headers . _ _setXHR _ = function ( ) { return function ( a ) { a && a . upload && a . upload . addEventListener && ( c . _ _XHR = a , c . xhrFn && c . xhrFn ( a ) , a . upload . addEventListener ( "progress" , function ( a ) { a . config = c ; e ( l ( a ) ) } , ! 1 ) , a . upload . addEventListener ( "load" , function ( a ) { a . lengthComputable &&
( a . config = c , e ( l ( a ) ) ) } , ! 1 ) ) } } ) , g ? c . _chunkSize && c . _end && ! c . _finished ? ( c . _start = c . _end , c . _end += c . _chunkSize , k ( ) ) : c . resumeSizeUrl ? b . get ( c . resumeSizeUrl ) . then ( function ( a ) { c . _start = c . resumeSizeResponseReader ? c . resumeSizeResponseReader ( a . data ) : parseInt ( ( null == a . data . size ? a . data : a . data . size ) . toString ( ) ) ; c . _chunkSize && ( c . _end = c . _start + c . _chunkSize ) ; k ( ) } , function ( a ) { throw a ; } ) : c . resumeSize ? c . resumeSize ( ) . then ( function ( a ) { c . _start = a ; c . _chunkSize && ( c . _end = c . _start + c . _chunkSize ) ; k ( ) } , function ( a ) { throw a ; } ) : ( c . _chunkSize &&
( c . _start = 0 , c . _end = c . _start + c . _chunkSize ) , k ( ) ) : k ( ) , w . success = function ( a ) { return w . then ( function ( b ) { a ( b . data , b . status , b . headers , c ) } ) , w } , w . error = function ( a ) { return w . then ( null , function ( b ) { a ( b . data , b . status , b . headers , c ) } ) , w } , w . progress = function ( a ) { return w . progressFunc = a , w . then ( null , null , function ( b ) { a ( b ) } ) , w } , w . abort = w . pause = function ( ) { return c . _ _XHR && h ( function ( ) { c . _ _XHR . abort ( ) } ) , w } , w . xhr = function ( a ) { return c . xhrFn = function ( b ) { return function ( ) { b && b . apply ( w , arguments ) ; a . apply ( w , arguments ) } } ( c . xhrFn ) ,
w } , a . promisesCount ++ , w [ "finally" ] && w [ "finally" ] instanceof Function && w [ "finally" ] ( function ( ) { a . promisesCount -- } ) , w } function c ( a ) { var b = { } , c ; for ( c in a ) a . hasOwnProperty ( c ) && ( b [ c ] = a [ c ] ) ; return b } var a = this ; a . promisesCount = 0 ; this . isResumeSupported = function ( ) { return window . Blob && window . Blob . prototype . slice } ; var g = this . isResumeSupported ( ) ; this . isUploadInProgress = function ( ) { return 0 < a . promisesCount } ; this . rename = function ( a , b ) { return a . ngfName = b , a } ; this . jsonBlob = function ( a ) { null == a || angular . isString ( a ) || ( a =
JSON . stringify ( a ) ) ; a = new window . Blob ( [ a ] , { type : "application/json" } ) ; return a . _ngfBlob = ! 0 , a } ; this . json = function ( a ) { return angular . toJson ( a ) } ; this . isFile = function ( a ) { return null != a && ( a instanceof window . Blob || a . flashId && a . name && a . size ) } ; this . upload = function ( b , f ) { function e ( c , f , l ) { if ( void 0 !== f ) if ( angular . isDate ( f ) && ( f = f . toISOString ( ) ) , angular . isString ( f ) ) c . append ( l , f ) ; else if ( a . isFile ( f ) ) { if ( ! f . _ngfBlob && ( b . _file = b . _file || f , null != b . _start && g ) ) { b . _end && b . _end >= f . size && ( b . _finished = ! 0 , b . _end = f . size ) ;
var h = f . slice ( b . _start , b . _end || f . size ) ; f = ( h . name = f . name , h . ngfName = f . ngfName , b . _chunkSize && ( c . append ( "_chunkSize" , b . _chunkSize ) , c . append ( "_currentChunkSize" , b . _end - b . _start ) , c . append ( "_chunkNumber" , Math . floor ( b . _start / b . _chunkSize ) ) , c . append ( "_totalSize" , b . _file . size ) ) , h ) } h = l . split ( "," ) ; h [ 1 ] && ( f . ngfName = h [ 1 ] . replace ( /^\s+|\s+$/g , "" ) , l = h [ 0 ] ) ; b . _fileKey = b . _fileKey || l ; c . append ( l , f , f . ngfName || f . name ) } else if ( angular . isObject ( f ) ) { if ( f . $$ngfCircularDetection ) throw "ngFileUpload: Circular reference in config.data. Make sure specified data for Upload.upload() has no circular reference: " +
l ; f . $$ngfCircularDetection = ! 0 ; try { for ( h in f ) if ( f . hasOwnProperty ( h ) && "$$ngfCircularDetection" !== h ) { var k = null == b . objectKey ? "[i]" : b . objectKey ; f . length && - 1 < parseInt ( h ) && ( k = null == b . arrayKey ? k : b . arrayKey ) ; e ( c , f [ h ] , l + k . replace ( /[ik]/g , h ) ) } } finally { delete f . $$ngfCircularDetection } } else c . append ( l , f ) } function h ( ) { b . _chunkSize = a . translateScalars ( b . resumeChunkSize ) ; b . _chunkSize = b . _chunkSize ? parseInt ( b . _chunkSize . toString ( ) ) : null ; b . headers = b . headers || { } ; b . headers [ "Content-Type" ] = void 0 ; b . transformRequest = b . transformRequest ?
angular . isArray ( b . transformRequest ) ? b . transformRequest : [ b . transformRequest ] : [ ] ; b . transformRequest . push ( function ( a ) { var c , g = new window . FormData ; a = a || b . fields || { } ; b . file && ( a . file = b . file ) ; for ( c in a ) if ( a . hasOwnProperty ( c ) ) { var f = a [ c ] ; b . formDataAppender ? b . formDataAppender ( g , c , f ) : e ( g , f , c ) } return g } ) } return f || ( b = c ( b ) ) , b . _isDigested || ( b . _isDigested = ! 0 , h ( ) ) , k ( b ) } ; this . http = function ( e ) { return e = c ( e ) , e . transformRequest = e . transformRequest || function ( a ) { return window . ArrayBuffer && a instanceof window . ArrayBuffer ||
a instanceof window . Blob ? a : b . defaults . transformRequest [ 0 ] . apply ( this , arguments ) } , e . _chunkSize = a . translateScalars ( e . resumeChunkSize ) , e . _chunkSize = e . _chunkSize ? parseInt ( e . _chunkSize . toString ( ) ) : null , k ( e ) } ; this . translateScalars = function ( a ) { if ( angular . isString ( a ) ) { if ( a . search ( /kb/i ) === a . length - 2 ) return parseFloat ( 1024 * a . substring ( 0 , a . length - 2 ) ) ; if ( a . search ( /mb/i ) === a . length - 2 ) return parseFloat ( 1048576 * a . substring ( 0 , a . length - 2 ) ) ; if ( a . search ( /gb/i ) === a . length - 2 ) return parseFloat ( 1073741824 * a . substring ( 0 ,
a . length - 2 ) ) ; if ( a . search ( /b/i ) === a . length - 1 || a . search ( /s/i ) === a . length - 1 ) return parseFloat ( a . substring ( 0 , a . length - 1 ) ) ; if ( a . search ( /m/i ) === a . length - 1 ) return parseFloat ( 60 * a . substring ( 0 , a . length - 1 ) ) ; if ( a . search ( /h/i ) === a . length - 1 ) return parseFloat ( 3600 * a . substring ( 0 , a . length - 1 ) ) } return a } ; this . urlToBlob = function ( a ) { var c = f . defer ( ) ; return b ( { url : a , method : "get" , responseType : "arraybuffer" } ) . then ( function ( b ) { var e = new Uint8Array ( b . data ) ; b = b . headers ( "content-type" ) || "image/WebP" ; e = new window . Blob ( [ e ] , { type : b } ) ;
b = a . match ( /.*\/(.+?)(\?.*)?$/ ) ; 1 < b . length && ( e . name = b [ 1 ] ) ; c . resolve ( e ) } , function ( a ) { c . reject ( a ) } ) , c . promise } ; this . setDefaults = function ( a ) { this . defaults = a || { } } ; this . defaults = { } ; this . version = ngFileUpload . version } ] ) ;
ngFileUpload . service ( "Upload" , [ "$parse" , "$timeout" , "$compile" , "$q" , "UploadExif" , function ( b , f , h , k , c ) { function a ( a , b , c ) { var e = [ t . emptyPromise ( ) ] ; return angular . forEach ( a , function ( g , f ) { 0 === g . type . indexOf ( "image/jpeg" ) && t . attrGetter ( "ngfFixOrientation" , b , c , { $file : g } ) && e . push ( t . happyPromise ( t . applyExifRotation ( g ) , g ) . then ( function ( b ) { a . splice ( f , 1 , b ) } ) ) } ) , k . all ( e ) } function g ( a , b , c , g ) { var f = t . attrGetter ( "ngfResize" , b , c ) ; if ( ! f || ! t . isResizeSupported ( ) || ! a . length ) return t . emptyPromise ( ) ; if ( f instanceof Function ) { var l =
k . defer ( ) ; return f ( a ) . then ( function ( f ) { e ( f , a , b , c , g ) . then ( function ( a ) { l . resolve ( a ) } , function ( a ) { l . reject ( a ) } ) } , function ( a ) { l . reject ( a ) } ) } return e ( f , a , b , c , g ) } function e ( a , b , c , e , g ) { function f ( f , h ) { if ( 0 === f . type . indexOf ( "image" ) && ( ! a . pattern || t . validatePattern ( f , a . pattern ) ) ) { a . resizeIf = function ( a , b ) { return t . attrGetter ( "ngfResizeIf" , c , e , { $width : a , $height : b , $file : f } ) } ; var k = t . resize ( f , a ) ; l . push ( k ) ; k . then ( function ( a ) { b . splice ( h , 1 , a ) } , function ( a ) { f . $error = "resize" ; ( f . $errorMessages = f . $errorMessages || { } ) . resize =
! 0 ; f . $errorParam = ( a ? ( a . message ? a . message : a ) + ": " : "" ) + ( f && f . name ) ; g . $ngfValidations . push ( { name : "resize" , valid : ! 1 } ) ; t . applyModelValidation ( g , b ) } ) } } for ( var l = [ t . emptyPromise ( ) ] , h = 0 ; h < b . length ; h ++ ) f ( b [ h ] , h ) ; return k . all ( l ) } var t = c ; return t . getAttrWithDefaults = function ( a , b ) { if ( null != a [ b ] ) return a [ b ] ; var c = t . defaults [ b ] ; return null == c ? c : angular . isString ( c ) ? c : JSON . stringify ( c ) } , t . attrGetter = function ( a , c , e , f ) { c = this . getAttrWithDefaults ( c , a ) ; if ( ! e ) return c ; try { return f ? b ( c ) ( e , f ) : b ( c ) ( e ) } catch ( r ) { if ( a . search ( /min|max|pattern/i ) ) return c ;
throw r ; } } , t . shouldUpdateOn = function ( a , b , c ) { b = t . attrGetter ( "ngfModelOptions" , b , c ) ; return ! b || ! b . updateOn || - 1 < b . updateOn . split ( " " ) . indexOf ( a ) } , t . emptyPromise = function ( ) { var a = k . defer ( ) , b = arguments ; return f ( function ( ) { a . resolve . apply ( a , b ) } ) , a . promise } , t . rejectPromise = function ( ) { var a = k . defer ( ) , b = arguments ; return f ( function ( ) { a . reject . apply ( a , b ) } ) , a . promise } , t . happyPromise = function ( a , b ) { var c = k . defer ( ) ; return a . then ( function ( a ) { c . resolve ( a ) } , function ( a ) { f ( function ( ) { throw a ; } ) ; c . resolve ( b ) } ) , c . promise } ,
t . updateModel = function ( c , e , h , k , r , z , y ) { function l ( a , g , l , n , p ) { e . $$ngfPrevValidFiles = a ; e . $$ngfPrevInvalidFiles = g ; var r = a && a . length ? a [ 0 ] : null , E = g && g . length ? g [ 0 ] : null ; c && ( t . applyModelValidation ( c , a ) , c . $setViewValue ( p ? r : a ) ) ; k && b ( k ) ( h , { $files : a , $file : r , $newFiles : l , $duplicateFiles : n , $invalidFiles : g , $invalidFile : E , $event : z } ) ; var q = t . attrGetter ( "ngfModelInvalid" , e ) ; q && f ( function ( ) { b ( q ) . assign ( h , p ? E : g ) } ) ; f ( function ( ) { } ) } function n ( ) { function a ( a , b ) { return a . name === b . name && ( a . $ngfOrigSize || a . size ) === ( b . $ngfOrigSize ||
b . size ) && a . type === b . type } function b ( b ) { var c ; for ( c = 0 ; c < w . length ; c ++ ) if ( a ( b , w [ c ] ) ) return ! 0 ; for ( c = 0 ; c < M . length ; c ++ ) if ( a ( b , M [ c ] ) ) return ! 0 ; return ! 1 } if ( r ) { u = [ ] ; H = [ ] ; for ( var c = 0 ; c < r . length ; c ++ ) b ( r [ c ] ) ? H . push ( r [ c ] ) : u . push ( r [ c ] ) } } function q ( a ) { return angular . isArray ( a ) ? a : [ a ] } function p ( ) { function a ( ) { f ( function ( ) { l ( S ? w . concat ( L ) : L , S ? M . concat ( K ) : K , r , H , X ) } , R && R . debounce ? R . debounce . change || R . debounce : 0 ) } var b = I ? u : L ; g ( b , e , h , c ) . then ( function ( ) { I ? t . validate ( u , S ? w . length : 0 , c , e , h ) . then ( function ( b ) { L = b . validsFiles ;
K = b . invalidsFiles ; a ( ) } ) : a ( ) } , function ( ) { for ( var c = 0 ; c < b . length ; c ++ ) { var e = b [ c ] ; if ( "resize" === e . $error ) { var g = L . indexOf ( e ) ; - 1 < g && ( L . splice ( g , 1 ) , K . push ( e ) ) ; a ( ) } } } ) } var u , w , M , H = [ ] , K = [ ] , L = [ ] ; w = e . $$ngfPrevValidFiles || [ ] ; M = e . $$ngfPrevInvalidFiles || [ ] ; c && c . $modelValue && ( w = q ( c . $modelValue ) ) ; var S = t . attrGetter ( "ngfKeep" , e , h ) ; u = ( r || [ ] ) . slice ( 0 ) ; "distinct" !== S && ! 0 !== t . attrGetter ( "ngfKeepDistinct" , e , h ) || n ( e , h ) ; var X = ! S && ! t . attrGetter ( "ngfMultiple" , e , h ) && ! t . attrGetter ( "multiple" , e ) ; if ( ! S || u . length ) { t . attrGetter ( "ngfBeforeModelChange" ,
e , h , { $files : r , $file : r && r . length ? r [ 0 ] : null , $newFiles : u , $duplicateFiles : H , $event : z } ) ; var I = t . attrGetter ( "ngfValidateAfterResize" , e , h ) , R = t . attrGetter ( "ngfModelOptions" , e , h ) ; t . validate ( u , S ? w . length : 0 , c , e , h ) . then ( function ( b ) { y ? l ( u , [ ] , r , H , X ) : ( R && R . allowInvalid || I ? L = u : ( L = b . validFiles , K = b . invalidFiles ) , t . attrGetter ( "ngfFixOrientation" , e , h ) && t . isExifSupported ( ) ? a ( L , e , h ) . then ( function ( ) { p ( ) } ) : p ( ) ) } ) } } , t } ] ) ;
ngFileUpload . directive ( "ngfSelect" , [ "$parse" , "$timeout" , "$compile" , "Upload" , function ( b , f , h , k ) { function c ( a ) { var b = a . match ( /Android[^\d]*(\d+)\.(\d+)/ ) ; return b && 2 < b . length ? ( a = k . defaults . androidFixMinorVersion || 4 , 4 > parseInt ( b [ 1 ] ) || parseInt ( b [ 1 ] ) === a && parseInt ( b [ 2 ] ) < a ) : - 1 === a . indexOf ( "Chrome" ) && /.*Windows.*Safari.*/ . test ( a ) } function a ( a , b , f , h , k , w , r , z ) { function e ( ) { return "input" === b [ 0 ] . tagName . toLowerCase ( ) && f . type && "file" === f . type . toLowerCase ( ) } function l ( ) { return K ( "ngfChange" ) || K ( "ngfSelect" ) } function n ( b ) { if ( z . shouldUpdateOn ( "change" ,
f , a ) ) { var c = b . _ _files _ || b . target && b . target . files , e = [ ] ; if ( c ) { for ( var g = 0 ; g < c . length ; g ++ ) e . push ( c [ g ] ) ; z . updateModel ( h , f , a , l ( ) , e . length ? e : null , b ) } } } function t ( a , c ) { function e ( b ) { a . attr ( "id" , "ngf-" + b ) ; c . attr ( "id" , "ngf-label-" + b ) } for ( var g = 0 ; g < b [ 0 ] . attributes . length ; g ++ ) { var l = b [ 0 ] . attributes [ g ] ; "type" !== l . name && "class" !== l . name && "style" !== l . name && ( "id" === l . name ? ( e ( l . value ) , L . push ( f . $observe ( "id" , e ) ) ) : a . attr ( l . name , l . value || "required" !== l . name && "multiple" !== l . name ? l . value : l . name ) ) } } function p ( ) { if ( e ( ) ) return b ;
var a = angular . element ( '<input type="file">' ) , c = angular . element ( "<label>upload</label>" ) ; return c . 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" ) , t ( a , c ) , g . push ( { el : b , ref : c } ) , document . body . appendChild ( c . append ( a ) [ 0 ] ) , a } function q ( f ) { if ( b . attr ( "disabled" ) ) return ! 1 ; if ( ! K ( "ngfSelectDisabled" , a ) ) { var l = J ( f ) ; if ( null != l ) return l ; M ( f ) ; try { e ( ) || document . body . contains ( I [ 0 ] ) ||
( g . push ( { el : b , ref : I . parent ( ) } ) , document . body . appendChild ( I . parent ( ) [ 0 ] ) , I . bind ( "change" , n ) ) } catch ( T ) { } return c ( navigator . userAgent ) ? setTimeout ( function ( ) { I [ 0 ] . click ( ) } , 0 ) : I [ 0 ] . click ( ) , ! 1 } } function J ( a ) { var b = a . changedTouches || a . originalEvent && a . originalEvent . changedTouches ; if ( b ) { if ( "touchstart" === a . type ) return X = b [ 0 ] . clientX , S = b [ 0 ] . clientY , ! 0 ; if ( "touchend" === a . type ) { var c = b [ 0 ] . clientY ; if ( 20 < Math . abs ( b [ 0 ] . clientX - X ) || 20 < Math . abs ( c - S ) ) return a . stopPropagation ( ) , a . preventDefault ( ) , ! 1 } return ! 0 } } function M ( b ) { z . shouldUpdateOn ( "click" ,
f , a ) && I . val ( ) && ( I . val ( null ) , z . updateModel ( h , f , a , l ( ) , null , b , ! 0 ) ) } function H ( a ) { if ( I && ! I . attr ( "__ngf_ie10_Fix_" ) ) { if ( ! I [ 0 ] . parentNode ) return void ( I = null ) ; a . preventDefault ( ) ; a . stopPropagation ( ) ; I . unbind ( "click" ) ; a = I . clone ( ) ; return I . replaceWith ( a ) , I = a , I . attr ( "__ngf_ie10_Fix_" , "true" ) , I . bind ( "change" , n ) , I . bind ( "click" , H ) , I [ 0 ] . click ( ) , ! 1 } I . removeAttr ( "__ngf_ie10_Fix_" ) } var K = function ( a , b ) { return z . attrGetter ( a , f , b ) } ; z . registerModelChangeValidator ( h , f , a ) ; var L = [ ] ; K ( "ngfMultiple" ) && L . push ( a . $watch ( K ( "ngfMultiple" ) ,
function ( ) { I . attr ( "multiple" , K ( "ngfMultiple" , a ) ) } ) ) ; K ( "ngfCapture" ) && L . push ( a . $watch ( K ( "ngfCapture" ) , function ( ) { I . attr ( "capture" , K ( "ngfCapture" , a ) ) } ) ) ; K ( "ngfAccept" ) && L . push ( a . $watch ( K ( "ngfAccept" ) , function ( ) { I . attr ( "accept" , K ( "ngfAccept" , a ) ) } ) ) ; L . push ( f . $observe ( "accept" , function ( ) { I . attr ( "accept" , K ( "accept" ) ) } ) ) ; var S = 0 , X = 0 , I = b ; e ( ) || ( I = p ( ) ) ; I . bind ( "change" , n ) ; e ( ) ? b . bind ( "click" , M ) : b . bind ( "click touchstart touchend" , q ) ; - 1 !== navigator . appVersion . indexOf ( "MSIE 10" ) && I . bind ( "click" , H ) ; h && h . $formatters . push ( function ( a ) { return ( null ==
a || 0 === a . length ) && I . val ( ) && I . val ( null ) , a } ) ; a . $on ( "$destroy" , function ( ) { e ( ) || I . parent ( ) . remove ( ) ; angular . forEach ( L , function ( a ) { a ( ) } ) } ) ; w ( function ( ) { for ( var a = 0 ; a < g . length ; a ++ ) { var b = g [ a ] ; document . body . contains ( b . el [ 0 ] ) || ( g . splice ( a , 1 ) , b . ref . remove ( ) ) } } ) ; window . FileAPI && window . FileAPI . ngfFixIE && window . FileAPI . ngfFixIE ( b , I , n ) } var g = [ ] ; return { restrict : "AEC" , require : "?ngModel" , link : function ( c , g , l , n ) { a ( c , g , l , n , b , f , h , k ) } } } ] ) ;
( function ( ) { function b ( b ) { return "img" === b . tagName . toLowerCase ( ) ? "image" : "audio" === b . tagName . toLowerCase ( ) ? "audio" : "video" === b . tagName . toLowerCase ( ) ? "video" : /./ } function f ( f , k , c , a , g , e , t , l ) { function h ( b ) { var e = f . attrGetter ( "ngfNoObjectUrl" , g , c ) ; f . dataUrl ( b , e ) [ "finally" ] ( function ( ) { k ( function ( ) { var c = ( e ? b . $ngfDataUrl : b . $ngfBlobUrl ) || b . $ngfDataUrl ; l ? a . css ( "background-image" , "url('" + ( c || "" ) + "')" ) : a . attr ( "src" , c ) ; c ? a . removeClass ( "ng-hide" ) : a . addClass ( "ng-hide" ) } ) } ) } k ( function ( ) { var k = c . $watch ( g [ e ] , function ( k ) { var n =
t ; if ( "ngfThumbnail" === e && ( n || ( n = { width : a [ 0 ] . naturalWidth || a [ 0 ] . clientWidth , height : a [ 0 ] . naturalHeight || a [ 0 ] . clientHeight } ) , 0 === n . width && window . getComputedStyle ) ) { var q = getComputedStyle ( a [ 0 ] ) ; q . width && - 1 < q . width . indexOf ( "px" ) && q . height && - 1 < q . height . indexOf ( "px" ) && ( n = { width : parseInt ( q . width . slice ( 0 , - 2 ) ) , height : parseInt ( q . height . slice ( 0 , - 2 ) ) } ) } return angular . isString ( k ) ? ( a . removeClass ( "ng-hide" ) , l ? a . css ( "background-image" , "url('" + k + "')" ) : a . attr ( "src" , k ) ) : void ( ! k || ! k . type || 0 !== k . type . search ( b ( a [ 0 ] ) ) ||
l && 0 !== k . type . indexOf ( "image" ) ? a . addClass ( "ng-hide" ) : n && f . isResizeSupported ( ) ? ( n . resizeIf = function ( a , b ) { return f . attrGetter ( "ngfResizeIf" , g , c , { $width : a , $height : b , $file : k } ) } , f . resize ( k , n ) . then ( function ( a ) { h ( a ) } , function ( a ) { throw a ; } ) ) : h ( k ) ) } ) ; c . $on ( "$destroy" , function ( ) { k ( ) } ) } ) } ngFileUpload . service ( "UploadDataUrl" , [ "UploadBase" , "$timeout" , "$q" , function ( b , f , c ) { return b . base64DataUrl = function ( a ) { if ( angular . isArray ( a ) ) { var f = c . defer ( ) , e = 0 ; return angular . forEach ( a , function ( c ) { b . dataUrl ( c , ! 0 ) [ "finally" ] ( function ( ) { if ( e ++ ,
e === a . length ) { var b = [ ] ; angular . forEach ( a , function ( a ) { b . push ( a . $ngfDataUrl ) } ) ; f . resolve ( b , a ) } } ) } ) , f . promise } return b . dataUrl ( a , ! 0 ) } , b . dataUrl = function ( a , g ) { if ( ! a ) return b . emptyPromise ( a , a ) ; if ( g && null != a . $ngfDataUrl || ! g && null != a . $ngfBlobUrl ) return b . emptyPromise ( g ? a . $ngfDataUrl : a . $ngfBlobUrl , a ) ; var e = g ? a . $$ngfDataUrlPromise : a . $$ngfBlobUrlPromise ; if ( e ) return e ; var h = c . defer ( ) ; return f ( function ( ) { if ( window . FileReader && a && ( ! window . FileAPI || - 1 === navigator . userAgent . indexOf ( "MSIE 8" ) || 2E4 > a . size ) && ( ! window . FileAPI ||
- 1 === navigator . userAgent . indexOf ( "MSIE 9" ) || 4E6 > a . size ) ) { var c = window . URL || window . webkitURL ; if ( c && c . createObjectURL && ! g ) { var e ; try { e = c . createObjectURL ( a ) } catch ( w ) { return void f ( function ( ) { a . $ngfBlobUrl = "" ; h . reject ( ) } ) } f ( function ( ) { if ( a . $ngfBlobUrl = e , e ) { h . resolve ( e , a ) ; b . blobUrls = b . blobUrls || [ ] ; b . blobUrlsTotalSize = b . blobUrlsTotalSize || 0 ; b . blobUrls . push ( { url : e , size : a . size } ) ; b . blobUrlsTotalSize += a . size || 0 ; for ( var f = b . defaults . blobUrlsMaxMemory || 268435456 , g = b . defaults . blobUrlsMaxQueueSize || 200 ; ( b . blobUrlsTotalSize >
f || b . blobUrls . length > g ) && 1 < b . blobUrls . length ; ) { var l = b . blobUrls . splice ( 0 , 1 ) [ 0 ] ; c . revokeObjectURL ( l . url ) ; b . blobUrlsTotalSize -= l . size } } } ) } else { var k = new FileReader ; k . onload = function ( b ) { f ( function ( ) { a . $ngfDataUrl = b . target . result ; h . resolve ( b . target . result , a ) ; f ( function ( ) { delete a . $ngfDataUrl } , 1E3 ) } ) } ; k . onerror = function ( ) { f ( function ( ) { a . $ngfDataUrl = "" ; h . reject ( ) } ) } ; k . readAsDataURL ( a ) } } else f ( function ( ) { a [ g ? "$ngfDataUrl" : "$ngfBlobUrl" ] = "" ; h . reject ( ) } ) } ) , e = g ? a . $$ngfDataUrlPromise = h . promise : a . $$ngfBlobUrlPromise =
h . promise , e [ "finally" ] ( function ( ) { delete a [ g ? "$$ngfDataUrlPromise" : "$$ngfBlobUrlPromise" ] } ) , e } , b } ] ) ; ngFileUpload . directive ( "ngfSrc" , [ "Upload" , "$timeout" , function ( b , k ) { return { restrict : "AE" , link : function ( c , a , g ) { f ( b , k , c , a , g , "ngfSrc" , b . attrGetter ( "ngfResize" , g , c ) , ! 1 ) } } } ] ) ; ngFileUpload . directive ( "ngfBackground" , [ "Upload" , "$timeout" , function ( b , k ) { return { restrict : "AE" , link : function ( c , a , g ) { f ( b , k , c , a , g , "ngfBackground" , b . attrGetter ( "ngfResize" , g , c ) , ! 0 ) } } } ] ) ; ngFileUpload . directive ( "ngfThumbnail" , [ "Upload" , "$timeout" ,
function ( b , k ) { return { restrict : "AE" , link : function ( c , a , g ) { var e = b . attrGetter ( "ngfSize" , g , c ) ; f ( b , k , c , a , g , "ngfThumbnail" , e , b . attrGetter ( "ngfAsBackground" , g , c ) ) } } } ] ) ; ngFileUpload . config ( [ "$compileProvider" , function ( b ) { b . imgSrcSanitizationWhitelist && b . imgSrcSanitizationWhitelist ( /^\s*(https?|ftp|mailto|tel|webcal|local|file|data|blob):/ ) ; b . aHrefSanitizationWhitelist && b . aHrefSanitizationWhitelist ( /^\s*(https?|ftp|mailto|tel|webcal|local|file|data|blob):/ ) } ] ) ; ngFileUpload . filter ( "ngfDataUrl" , [ "UploadDataUrl" ,
"$sce" , function ( b , f ) { return function ( c , a , g ) { if ( angular . isString ( c ) ) return f . trustAsResourceUrl ( c ) ; var e = c && ( ( a ? c . $ngfDataUrl : c . $ngfBlobUrl ) || c . $ngfDataUrl ) ; return c && ! e ? ( ! c . $ngfDataUrlFilterInProgress && angular . isObject ( c ) && ( c . $ngfDataUrlFilterInProgress = ! 0 , b . dataUrl ( c , a ) ) , "" ) : ( c && delete c . $ngfDataUrlFilterInProgress , ( c && e ? g ? f . trustAsResourceUrl ( e ) : e : c ) || "" ) } } ] ) } ) ( ) ;
ngFileUpload . service ( "UploadValidate" , [ "UploadDataUrl" , "$q" , "$timeout" , function ( b , f , h ) { function k ( a ) { var b = "" , c = [ ] ; if ( 2 < a . length && "/" === a [ 0 ] && "/" === a [ a . length - 1 ] ) b = a . substring ( 1 , a . length - 1 ) ; else { var f = a . split ( "," ) ; if ( 1 < f . length ) for ( a = 0 ; a < f . length ; a ++ ) { var l = k ( f [ a ] ) ; l . regexp ? ( b += "(" + l . regexp + ")" , a < f . length - 1 && ( b += "|" ) ) : c = c . concat ( l . excludes ) } else 0 === a . indexOf ( "!" ) ? c . push ( "^((?!" + k ( a . substring ( 1 ) ) . regexp + ").)*$" ) : ( 0 === a . indexOf ( "." ) && ( a = "*" + a ) , b = "^" + a . replace ( RegExp ( "[.\\\\+*?\\[\\^\\]$(){}=!<>|:\\-]" ,
"g" ) , "\\$&" ) + "$" , b = b . replace ( /\\\*/g , ".*" ) . replace ( /\\\?/g , "." ) ) } return { regexp : b , excludes : c } } function c ( a , b ) { null == b || a . $dirty || ( a . $setDirty ? a . $setDirty ( ) : a . $dirty = ! 0 ) } return b . validatePattern = function ( a , b ) { if ( ! b ) return ! 0 ; var c = k ( b ) , f = ! 0 ; c . regexp && c . regexp . length && ( f = new RegExp ( c . regexp , "i" ) , f = null != a . type && f . test ( a . type ) || null != a . name && f . test ( a . name ) ) ; for ( var g = c . excludes . length ; g -- ; ) var h = new RegExp ( c . excludes [ g ] , "i" ) , f = f && ( null == a . type || h . test ( a . type ) ) && ( null == a . name || h . test ( a . name ) ) ; return f } ,
b . ratioToFloat = function ( a ) { a = a . toString ( ) ; var b = a . search ( /[x:]/i ) ; return - 1 < b ? parseFloat ( a . substring ( 0 , b ) ) / parseFloat ( a . substring ( b + 1 ) ) : parseFloat ( a ) } , b . registerModelChangeValidator = function ( a , c , e ) { a && a . $formatters . push ( function ( f ) { if ( a . $dirty ) { var g = f ; f && ! angular . isArray ( f ) && ( g = [ f ] ) ; b . validate ( g , 0 , a , c , e ) . then ( function ( ) { b . applyModelValidation ( a , g ) } ) } return f } ) } , b . applyModelValidation = function ( a , b ) { c ( a , b ) ; angular . forEach ( a . $ngfValidations , function ( b ) { a . $setValidity ( b . name , b . valid ) } ) } , b . getValidationAttr =
function ( a , c , e , f , l ) { var g = "ngf" + e [ 0 ] . toUpperCase ( ) + e . substr ( 1 ) , g = b . attrGetter ( g , a , c , { $file : l } ) ; null == g && ( g = b . attrGetter ( "ngfValidate" , a , c , { $file : l } ) ) && ( a = ( f || e ) . split ( "." ) , g = g [ a [ 0 ] ] , 1 < a . length && ( g = g && g [ a [ 1 ] ] ) ) ; return g } , b . validate = function ( a , c , e , h , l ) { function g ( c , f , g ) { if ( a ) { for ( var k = a . length , n = null ; k -- ; ) { var t = a [ k ] ; if ( t ) { var p = b . getValidationAttr ( h , l , c , f , t ) ; null != p && ( g ( t , p , k ) || ( - 1 === r . indexOf ( c ) ? ( t . $error = c , ( t . $errorMessages = t . $errorMessages || { } ) [ c ] = ! 0 , t . $errorParam = p , - 1 === y . indexOf ( t ) && y . push ( t ) ,
z || a . splice ( k , 1 ) , n = ! 1 ) : a . splice ( k , 1 ) ) ) } } null !== n && e . $ngfValidations . push ( { name : c , valid : n } ) } } function k ( c , g , k , n , q ) { function p ( b , e , f ) { function g ( g ) { g ( ) ? - 1 === r . indexOf ( c ) ? ( ( e . $error = c , ( e . $errorMessages = e . $errorMessages || { } ) [ c ] = ! 0 , e . $errorParam = f , - 1 === y . indexOf ( e ) && y . push ( e ) , z ) || ( g = a . indexOf ( e ) , - 1 < g && a . splice ( g , 1 ) ) , b . resolve ( ! 1 ) ) : ( g = a . indexOf ( e ) , - 1 < g && a . splice ( g , 1 ) , b . resolve ( ! 0 ) ) : b . resolve ( ! 0 ) } null != f ? n ( e , f ) . then ( function ( a ) { g ( function ( ) { return ! q ( a , f ) } ) } , function ( ) { g ( function ( ) { return t ( "ngfValidateForce" ,
{ $file : e } ) } ) } ) : b . resolve ( ! 0 ) } var u = [ b . emptyPromise ( ! 0 ) ] ; a && ( a = void 0 === a . length ? [ a ] : a , angular . forEach ( a , function ( a ) { var e = f . defer ( ) ; return u . push ( e . promise ) , ! k || null != a . type && 0 === a . type . search ( k ) ? void ( "dimensions" === c && null != b . attrGetter ( "ngfDimensions" , h ) ? b . imageDimensions ( a ) . then ( function ( b ) { p ( e , a , t ( "ngfDimensions" , { $file : a , $width : b . width , $height : b . height } ) ) } , function ( ) { e . resolve ( ! 1 ) } ) : "duration" === c && null != b . attrGetter ( "ngfDuration" , h ) ? b . mediaDuration ( a ) . then ( function ( b ) { p ( e , a , t ( "ngfDuration" ,
{ $file : a , $duration : b } ) ) } , function ( ) { e . resolve ( ! 1 ) } ) : p ( e , a , b . getValidationAttr ( h , l , c , g , a ) ) ) : void e . resolve ( ! 0 ) } ) ) ; var w = f . defer ( ) ; return f . all ( u ) . then ( function ( a ) { for ( var b = ! 0 , f = 0 ; f < a . length ; f ++ ) if ( ! a [ f ] ) { b = ! 1 ; break } e . $ngfValidations . push ( { name : c , valid : b } ) ; w . resolve ( b ) } ) , w . promise } e = e || { } ; e . $ngfValidations = e . $ngfValidations || [ ] ; angular . forEach ( e . $ngfValidations , function ( a ) { a . valid = ! 0 } ) ; var t = function ( a , c ) { return b . attrGetter ( a , h , l , c ) } , r = ( b . attrGetter ( "ngfIgnoreInvalid" , h , l ) || "" ) . split ( " " ) , z = b . attrGetter ( "ngfRunAllValidations" ,
h , l ) ; if ( null == a || 0 === a . length ) return b . emptyPromise ( { validFiles : a , invalidFiles : [ ] } ) ; a = void 0 === a . length ? [ a ] : a . slice ( 0 ) ; var y = [ ] ; g ( "pattern" , null , b . validatePattern ) ; g ( "minSize" , "size.min" , function ( a , c ) { return a . size + . 1 >= b . translateScalars ( c ) } ) ; g ( "maxSize" , "size.max" , function ( a , c ) { return a . size - . 1 <= b . translateScalars ( c ) } ) ; var F = 0 ; if ( g ( "maxTotalSize" , null , function ( c , e ) { return F += c . size , ! ( F > b . translateScalars ( e ) ) || ( a . splice ( 0 , a . length ) , ! 1 ) } ) , g ( "validateFn" , null , function ( a , b ) { return ! 0 === b || null === b || "" ===
b } ) , ! a . length ) return b . emptyPromise ( { validFiles : [ ] , invalidFiles : y } ) ; var A = f . defer ( ) , D = [ ] ; return D . push ( k ( "maxHeight" , "height.max" , /image/ , this . imageDimensions , function ( a , b ) { return a . height <= b } ) ) , D . push ( k ( "minHeight" , "height.min" , /image/ , this . imageDimensions , function ( a , b ) { return a . height >= b } ) ) , D . push ( k ( "maxWidth" , "width.max" , /image/ , this . imageDimensions , function ( a , b ) { return a . width <= b } ) ) , D . push ( k ( "minWidth" , "width.min" , /image/ , this . imageDimensions , function ( a , b ) { return a . width >= b } ) ) , D . push ( k ( "dimensions" ,
null , /image/ , function ( a , c ) { return b . emptyPromise ( c ) } , function ( a ) { return a } ) ) , D . push ( k ( "ratio" , null , /image/ , this . imageDimensions , function ( a , c ) { for ( var e = c . toString ( ) . split ( "," ) , f = ! 1 , g = 0 ; g < e . length ; g ++ ) . 01 > Math . abs ( a . width / a . height - b . ratioToFloat ( e [ g ] ) ) && ( f = ! 0 ) ; return f } ) ) , D . push ( k ( "maxRatio" , "ratio.max" , /image/ , this . imageDimensions , function ( a , c ) { return 1E-4 > a . width / a . height - b . ratioToFloat ( c ) } ) ) , D . push ( k ( "minRatio" , "ratio.min" , /image/ , this . imageDimensions , function ( a , c ) { return - 1E-4 < a . width / a . height -
b . ratioToFloat ( c ) } ) ) , D . push ( k ( "maxDuration" , "duration.max" , /audio|video/ , this . mediaDuration , function ( a , c ) { return a <= b . translateScalars ( c ) } ) ) , D . push ( k ( "minDuration" , "duration.min" , /audio|video/ , this . mediaDuration , function ( a , c ) { return a >= b . translateScalars ( c ) } ) ) , D . push ( k ( "duration" , null , /audio|video/ , function ( a , c ) { return b . emptyPromise ( c ) } , function ( a ) { return a } ) ) , D . push ( k ( "validateAsyncFn" , null , null , function ( a , b ) { return b } , function ( a ) { return ! 0 === a || null === a || "" === a } ) ) , f . all ( D ) . then ( function ( ) { if ( z ) for ( var b =
0 ; b < a . length ; b ++ ) a [ b ] . $error && a . splice ( b -- , 1 ) ; z = ! 1 ; g ( "maxFiles" , null , function ( a , b , e ) { return b > c + e } ) ; A . resolve ( { validFiles : a , invalidFiles : y } ) } ) , A . promise } , b . imageDimensions = function ( a ) { if ( a . $ngfWidth && a . $ngfHeight ) { var c = f . defer ( ) ; return h ( function ( ) { c . resolve ( { width : a . $ngfWidth , height : a . $ngfHeight } ) } ) , c . promise } if ( a . $ngfDimensionPromise ) return a . $ngfDimensionPromise ; var e = f . defer ( ) ; return h ( function ( ) { return 0 !== a . type . indexOf ( "image" ) ? void e . reject ( "not image" ) : void b . dataUrl ( a ) . then ( function ( b ) { function c ( ) { var b =
k [ 0 ] . naturalWidth || k [ 0 ] . clientWidth , c = k [ 0 ] . naturalHeight || k [ 0 ] . clientHeight ; k . remove ( ) ; a . $ngfWidth = b ; a . $ngfHeight = c ; e . resolve ( { width : b , height : c } ) } function f ( ) { k . remove ( ) ; e . reject ( "load error" ) } function g ( ) { h ( function ( ) { k [ 0 ] . parentNode && ( k [ 0 ] . clientWidth ? c ( ) : 10 < t ++ ? f ( ) : g ( ) ) } , 1E3 ) } var k = angular . element ( "<img>" ) . attr ( "src" , b ) . css ( "visibility" , "hidden" ) . css ( "position" , "fixed" ) . css ( "max-width" , "none !important" ) . css ( "max-height" , "none !important" ) ; k . on ( "load" , c ) ; k . on ( "error" , f ) ; var t = 0 ; g ( ) ; angular . element ( document . getElementsByTagName ( "body" ) [ 0 ] ) . append ( k ) } ,
function ( ) { e . reject ( "load error" ) } ) } ) , a . $ngfDimensionPromise = e . promise , a . $ngfDimensionPromise [ "finally" ] ( function ( ) { delete a . $ngfDimensionPromise } ) , a . $ngfDimensionPromise } , b . mediaDuration = function ( a ) { if ( a . $ngfDuration ) { var c = f . defer ( ) ; return h ( function ( ) { c . resolve ( a . $ngfDuration ) } ) , c . promise } if ( a . $ngfDurationPromise ) return a . $ngfDurationPromise ; var e = f . defer ( ) ; return h ( function ( ) { return 0 !== a . type . indexOf ( "audio" ) && 0 !== a . type . indexOf ( "video" ) ? void e . reject ( "not media" ) : void b . dataUrl ( a ) . then ( function ( b ) { function c ( ) { var b =
k [ 0 ] . duration ; a . $ngfDuration = b ; k . remove ( ) ; e . resolve ( b ) } function f ( ) { k . remove ( ) ; e . reject ( "load error" ) } function g ( ) { h ( function ( ) { k [ 0 ] . parentNode && ( k [ 0 ] . duration ? c ( ) : 10 < t ? f ( ) : g ( ) ) } , 1E3 ) } var k = angular . element ( 0 === a . type . indexOf ( "audio" ) ? "<audio>" : "<video>" ) . attr ( "src" , b ) . css ( "visibility" , "none" ) . css ( "position" , "fixed" ) ; k . on ( "loadedmetadata" , c ) ; k . on ( "error" , f ) ; var t = 0 ; g ( ) ; angular . element ( document . body ) . append ( k ) } , function ( ) { e . reject ( "load error" ) } ) } ) , a . $ngfDurationPromise = e . promise , a . $ngfDurationPromise [ "finally" ] ( function ( ) { delete a . $ngfDurationPromise } ) ,
a . $ngfDurationPromise } , b } ] ) ;
ngFileUpload . service ( "UploadResize" , [ "UploadValidate" , "$q" , function ( b , f ) { var h = function ( h , c , a , g , e , t , l , n ) { var k = f . defer ( ) , w = document . createElement ( "canvas" ) , r = document . createElement ( "img" ) ; return r . setAttribute ( "style" , "visibility:hidden;position:fixed;z-index:-100000" ) , document . body . appendChild ( r ) , r . onload = function ( ) { var f , h , q , A , D = r . width , p = r . height ; if ( r . parentNode . removeChild ( r ) , null != n && ! 1 === n ( D , p ) ) return void k . reject ( "resizeIf" ) ; try { if ( t ) { var u = b . ratioToFloat ( t ) ; u > D / p ? ( c = D , a = c / u ) : ( a = p , c = a * u ) } c ||
( c = D ) ; a || ( a = p ) ; var J = l ? Math . max ( c / D , a / p ) : Math . min ( c / D , a / p ) ; f = D * J ; h = p * J ; q = D * J - c ; A = p * J - a ; w . width = Math . min ( f , c ) ; w . height = Math . min ( h , a ) ; w . getContext ( "2d" ) . drawImage ( r , Math . min ( 0 , - q / 2 ) , Math . min ( 0 , - A / 2 ) , f , h ) ; k . resolve ( w . toDataURL ( e || "image/WebP" , g || . 934 ) ) } catch ( M ) { k . reject ( M ) } } , r . onerror = function ( ) { r . parentNode . removeChild ( r ) ; k . reject ( ) } , r . src = h , k . promise } ; return b . dataUrltoBlob = function ( b , c , a ) { var f = b . split ( "," ) ; b = f [ 0 ] . match ( /:(.*?);/ ) [ 1 ] ; for ( var f = atob ( f [ 1 ] ) , e = f . length , h = new Uint8Array ( e ) ; e -- ; ) h [ e ] = f . charCodeAt ( e ) ;
b = new window . Blob ( [ h ] , { type : b } ) ; return b . name = c , b . $ngfOrigSize = a , b } , b . isResizeSupported = function ( ) { var b = document . createElement ( "canvas" ) ; return window . atob && b . getContext && b . getContext ( "2d" ) && window . Blob } , b . isResizeSupported ( ) && Object . defineProperty ( window . Blob . prototype , "name" , { get : function ( ) { return this . $ngfName } , set : function ( b ) { this . $ngfName = b } , configurable : ! 0 } ) , b . resize = function ( k , c ) { if ( 0 !== k . type . indexOf ( "image" ) ) return b . emptyPromise ( k ) ; var a = f . defer ( ) ; return b . dataUrl ( k , ! 0 ) . then ( function ( f ) { h ( f ,
c . width , c . height , c . quality , c . type || k . type , c . ratio , c . centerCrop , c . resizeIf ) . then ( function ( e ) { if ( "image/jpeg" === k . type && ! 1 !== c . restoreExif ) try { e = b . restoreExif ( f , e ) } catch ( l ) { setTimeout ( function ( ) { throw l ; } , 1 ) } try { var g = b . dataUrltoBlob ( e , k . name , k . size ) ; a . resolve ( g ) } catch ( l ) { a . reject ( l ) } } , function ( b ) { "resizeIf" === b && a . resolve ( k ) ; a . reject ( b ) } ) } , function ( b ) { a . reject ( b ) } ) , a . promise } , b } ] ) ;
( function ( ) { function b ( b , k , c , a , g , e , t , l , n , q ) { function h ( ) { return k . attr ( "disabled" ) || p ( "ngfDropDisabled" , b ) } function r ( a , c , e ) { if ( a ) { var f ; try { f = a && a . getData && a . getData ( "text/html" ) } catch ( I ) { } A ( a . items , a . files , ! 1 !== p ( "ngfAllowDir" , b ) , p ( "multiple" ) || p ( "ngfMultiple" , b ) ) . then ( function ( a ) { a . length ? z ( a , c ) : y ( e , f ) . then ( function ( a ) { z ( a , c ) } ) } ) } } function z ( e , f ) { l . updateModel ( a , c , b , p ( "ngfChange" ) || p ( "ngfDrop" ) , e , f ) } function y ( a , e ) { if ( ! l . shouldUpdateOn ( a , c , b ) || "string" != typeof e ) return l . rejectPromise ( [ ] ) ; var f =
[ ] ; e . replace ( /<(img src|img [^>]* src) *=\"([^\"]*)\"/gi , function ( a , b , c ) { f . push ( c ) } ) ; var g = [ ] , h = [ ] ; if ( f . length ) { angular . forEach ( f , function ( a ) { g . push ( l . urlToBlob ( a ) . then ( function ( a ) { h . push ( a ) } ) ) } ) ; var k = q . defer ( ) ; return q . all ( g ) . then ( function ( ) { k . resolve ( h ) } , function ( a ) { k . reject ( a ) } ) , k . promise } return l . emptyPromise ( ) } function F ( a , b , c , e ) { b = p ( "ngfDragOverClass" , a , { $event : c } ) ; var f = "dragover" ; if ( angular . isString ( b ) ) f = b ; else if ( b && ( b . delay && ( H = b . delay ) , b . accept || b . reject ) ) { var g = c . dataTransfer . items ; if ( null !=
g && g . length ) for ( a = b . pattern || p ( "ngfPattern" , a , { $event : c } ) , c = g . length ; c -- ; ) { if ( ! l . validatePattern ( g [ c ] , a ) ) { f = b . reject ; break } f = b . accept } else f = b . accept } e ( f ) } function A ( a , e , f , g ) { function h ( a , b ) { var c = q . defer ( ) ; if ( null != a ) if ( a . isDirectory ) { var e = [ l . emptyPromise ( ) ] ; if ( r ) { var f = { type : "directory" } ; f . name = f . path = ( b || "" ) + a . name ; E . push ( f ) } var g = a . createReader ( ) , t = [ ] , p = function ( ) { g . readEntries ( function ( f ) { try { f . length ? ( t = t . concat ( Array . prototype . slice . call ( f || [ ] , 0 ) ) , p ( ) ) : ( angular . forEach ( t . slice ( 0 ) , function ( c ) { E . length <=
k && n >= u && e . push ( h ( c , ( b ? b : "" ) + a . name + "/" ) ) } ) , q . all ( e ) . then ( function ( ) { c . resolve ( ) } , function ( a ) { c . reject ( a ) } ) ) } catch ( wa ) { c . reject ( wa ) } } , function ( a ) { c . reject ( a ) } ) } ; p ( ) } else a . file ( function ( a ) { try { a . path = ( b ? b : "" ) + a . name , r && ( a = l . rename ( a , a . path ) ) , E . push ( a ) , u += a . size , c . resolve ( ) } catch ( wa ) { c . reject ( wa ) } } , function ( a ) { c . reject ( a ) } ) ; return c . promise } var k = l . getValidationAttr ( c , b , "maxFiles" ) ; null == k && ( k = Number . MAX _VALUE ) ; var n = l . getValidationAttr ( c , b , "maxTotalSize" ) ; null == n && ( n = Number . MAX _VALUE ) ; var r = p ( "ngfIncludeDir" ,
b ) , E = [ ] , u = 0 , w = [ l . emptyPromise ( ) ] ; if ( a && 0 < a . length && "file:" !== t . location . protocol ) for ( e = 0 ; e < a . length ; e ++ ) { if ( a [ e ] . webkitGetAsEntry && a [ e ] . webkitGetAsEntry ( ) && a [ e ] . webkitGetAsEntry ( ) . isDirectory ) { var y = a [ e ] . webkitGetAsEntry ( ) ; if ( y . isDirectory && ! f ) continue ; null != y && w . push ( h ( y ) ) } else y = a [ e ] . getAsFile ( ) , null != y && ( E . push ( y ) , u += y . size ) ; if ( E . length > k || u > n || ! g && 0 < E . length ) break } else if ( null != e ) for ( a = 0 ; a < e . length && ! ( f = e . item ( a ) , ( f . type || 0 < f . size ) && ( E . push ( f ) , u += f . size ) , E . length > k || u > n || ! g && 0 < E . length ) ; a ++ ) ;
var F = q . defer ( ) ; return q . all ( w ) . then ( function ( ) { if ( g || r || ! E . length ) F . resolve ( E ) ; else { for ( var a = 0 ; E [ a ] && "directory" === E [ a ] . type ; ) a ++ ; F . resolve ( [ E [ a ] ] ) } } , function ( a ) { F . reject ( a ) } ) , F . promise } var D = f ( ) , p = function ( a , b , e ) { return l . attrGetter ( a , c , b , e ) } ; if ( p ( "dropAvailable" ) && e ( function ( ) { b [ p ( "dropAvailable" ) ] ? b [ p ( "dropAvailable" ) ] . value = D : b [ p ( "dropAvailable" ) ] = D } ) , ! D ) return void ( ! 0 === p ( "ngfHideOnDropNotAvailable" , b ) && k . css ( "display" , "none" ) ) ; null == p ( "ngfSelect" ) && l . registerModelChangeValidator ( a , c , b ) ; var u ,
J = null , M = g ( p ( "ngfStopPropagation" ) ) , H = 1 ; k [ 0 ] . addEventListener ( "dragover" , function ( a ) { if ( ! h ( ) && l . shouldUpdateOn ( "drop" , c , b ) ) { if ( a . preventDefault ( ) , M ( b ) && a . stopPropagation ( ) , - 1 < navigator . userAgent . indexOf ( "Chrome" ) ) { var f = a . dataTransfer . effectAllowed ; a . dataTransfer . dropEffect = "move" === f || "linkMove" === f ? "move" : "copy" } e . cancel ( J ) ; u || ( u = "C" , F ( b , c , a , function ( c ) { u = c ; k . addClass ( u ) ; p ( "ngfDrag" , b , { $isDragging : ! 0 , $class : u , $event : a } ) } ) ) } } , ! 1 ) ; k [ 0 ] . addEventListener ( "dragenter" , function ( a ) { ! h ( ) && l . shouldUpdateOn ( "drop" ,
c , b ) && ( a . preventDefault ( ) , M ( b ) && a . stopPropagation ( ) ) } , ! 1 ) ; k [ 0 ] . addEventListener ( "dragleave" , function ( a ) { ! h ( ) && l . shouldUpdateOn ( "drop" , c , b ) && ( a . preventDefault ( ) , M ( b ) && a . stopPropagation ( ) , J = e ( function ( ) { u && k . removeClass ( u ) ; u = null ; p ( "ngfDrag" , b , { $isDragging : ! 1 , $event : a } ) } , H || 100 ) ) } , ! 1 ) ; k [ 0 ] . addEventListener ( "drop" , function ( a ) { ! h ( ) && l . shouldUpdateOn ( "drop" , c , b ) && ( a . preventDefault ( ) , M ( b ) && a . stopPropagation ( ) , u && k . removeClass ( u ) , u = null , r ( a . dataTransfer , a , "dropUrl" ) ) } , ! 1 ) ; k [ 0 ] . addEventListener ( "paste" , function ( a ) { - 1 <
navigator . userAgent . toLowerCase ( ) . indexOf ( "firefox" ) && p ( "ngfEnableFirefoxPaste" , b ) && a . preventDefault ( ) ; ! h ( ) && l . shouldUpdateOn ( "paste" , c , b ) && r ( a . clipboardData || a . originalEvent . clipboardData , a , "pasteUrl" ) } , ! 1 ) ; - 1 < navigator . userAgent . toLowerCase ( ) . indexOf ( "firefox" ) && p ( "ngfEnableFirefoxPaste" , b ) && ( k . attr ( "contenteditable" , ! 0 ) , k . on ( "keypress" , function ( a ) { a . metaKey || a . ctrlKey || a . preventDefault ( ) } ) ) } function f ( ) { var b = document . createElement ( "div" ) ; return "draggable" in b && "ondrop" in b && ! /Edge\/12./i . test ( navigator . userAgent ) }
ngFileUpload . directive ( "ngfDrop" , [ "$parse" , "$timeout" , "$window" , "Upload" , "$http" , "$q" , function ( f , k , c , a , g , e ) { return { restrict : "AEC" , require : "?ngModel" , link : function ( h , l , n , q ) { b ( h , l , n , q , f , k , c , a , g , e ) } } } ] ) ; ngFileUpload . directive ( "ngfNoFileDrop" , function ( ) { return function ( b , k ) { f ( ) && k . css ( "display" , "none" ) } } ) ; ngFileUpload . directive ( "ngfDropAvailable" , [ "$parse" , "$timeout" , "Upload" , function ( b , k , c ) { return function ( a , g , e ) { if ( f ( ) ) { var h = b ( c . attrGetter ( "ngfDropAvailable" , e ) ) ; k ( function ( ) { h ( a ) ; h . assign && h . assign ( a ,
2017-04-11 07:10:36 +00:00
! 0 ) } ) } } } ] ) } ) ( ) ;
2017-04-11 11:04:48 +00:00
ngFileUpload . service ( "UploadExif" , [ "UploadResize" , "$q" , function ( b , f ) { function h ( b , a , f , e ) { switch ( a ) { case 2 : return b . transform ( - 1 , 0 , 0 , 1 , f , 0 ) ; case 3 : return b . transform ( - 1 , 0 , 0 , - 1 , f , e ) ; case 4 : return b . transform ( 1 , 0 , 0 , - 1 , 0 , e ) ; case 5 : return b . transform ( 0 , 1 , 1 , 0 , 0 , 0 ) ; case 6 : return b . transform ( 0 , 1 , - 1 , 0 , e , 0 ) ; case 7 : return b . transform ( 0 , - 1 , - 1 , 0 , e , f ) ; case 8 : return b . transform ( 0 , - 1 , 1 , 0 , 0 , f ) } } function k ( b ) { var a = "" ; b = new Uint8Array ( b ) ; for ( var c = b . byteLength , e = 0 ; c > e ; e ++ ) a += String . fromCharCode ( b [ e ] ) ; return window . btoa ( a ) }
return b . isExifSupported = function ( ) { return window . FileReader && ( new FileReader ) . readAsArrayBuffer && b . isResizeSupported ( ) } , b . readOrientation = function ( b ) { var a = f . defer ( ) , c = new FileReader ; b = b . slice ? b . slice ( 0 , 65536 ) : b ; return c . readAsArrayBuffer ( b ) , c . onerror = function ( b ) { return a . reject ( b ) } , c . onload = function ( b ) { var c = { orientation : 1 } , e = new DataView ( this . result ) ; if ( 65496 !== e . getUint16 ( 0 , ! 1 ) ) return a . resolve ( c ) ; for ( var f = e . byteLength , g = 2 ; f > g ; ) { var h = e . getUint16 ( g , ! 1 ) ; if ( g += 2 , 65505 === h ) { if ( 1165519206 !== e . getUint32 ( g +=
2 , ! 1 ) ) break ; for ( var h = 18761 === e . getUint16 ( g += 6 , ! 1 ) , g = g + e . getUint32 ( g + 4 , h ) , k = e . getUint16 ( g , h ) , g = g + 2 , z = 0 ; k > z ; z ++ ) if ( 274 === e . getUint16 ( g + 12 * z , h ) ) return f = e . getUint16 ( g + 12 * z + 8 , h ) , 2 <= f && 8 >= f && ( e . setUint16 ( g + 12 * z + 8 , 1 , h ) , c . fixedArrayBuffer = b . target . result ) , c . orientation = f , a . resolve ( c ) } else { if ( 65280 !== ( 65280 & h ) ) break ; g += e . getUint16 ( g , ! 1 ) } } return a . resolve ( c ) } , a . promise } , b . applyExifRotation = function ( c ) { if ( 0 !== c . type . indexOf ( "image/jpeg" ) ) return b . emptyPromise ( c ) ; var a = f . defer ( ) ; return b . readOrientation ( c ) . then ( function ( f ) { return 2 >
f . orientation || 8 < f . orientation ? a . resolve ( c ) : void b . dataUrl ( c , ! 0 ) . then ( function ( e ) { var g = document . createElement ( "canvas" ) , l = document . createElement ( "img" ) ; l . onload = function ( ) { try { g . width = 4 < f . orientation ? l . height : l . width ; g . height = 4 < f . orientation ? l . width : l . height ; var e = g . getContext ( "2d" ) ; h ( e , f . orientation , l . width , l . height ) ; e . drawImage ( l , 0 , 0 ) ; var t = g . toDataURL ( c . type || "image/WebP" , . 934 ) , t = b . restoreExif ( k ( f . fixedArrayBuffer ) , t ) , w = b . dataUrltoBlob ( t , c . name ) ; a . resolve ( w ) } catch ( r ) { return a . reject ( r ) } } ; l . onerror =
function ( ) { a . reject ( ) } ; l . src = e } , function ( b ) { a . reject ( b ) } ) } , function ( b ) { a . reject ( b ) } ) , a . promise } , b . restoreExif = function ( b , a ) { var c = { } ; return c . KEY _STR = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" , c . encode64 = function ( a ) { var b , c , e , f , g = "" , h , k , y = 0 ; do b = a [ y ++ ] , c = a [ y ++ ] , h = a [ y ++ ] , e = b >> 2 , b = ( 3 & b ) << 4 | c >> 4 , f = ( 15 & c ) << 2 | h >> 6 , k = 63 & h , isNaN ( c ) ? f = k = 64 : isNaN ( h ) && ( k = 64 ) , g = g + this . KEY _STR . charAt ( e ) + this . KEY _STR . charAt ( b ) + this . KEY _STR . charAt ( f ) + this . KEY _STR . charAt ( k ) ; while ( y < a . length ) ; return g } , c . restore =
2017-04-11 07:10:36 +00:00
function ( a , b ) { a . match ( "data:image/jpeg;base64," ) && ( a = a . replace ( "data:image/jpeg;base64," , "" ) ) ; var c = this . decode64 ( a ) , c = this . slice2Segments ( c ) , c = this . exifManipulation ( b , c ) ; return "data:image/jpeg;base64," + this . encode64 ( c ) } , c . exifManipulation = function ( a , b ) { var c = this . getExifArray ( b ) , c = this . insertExif ( a , c ) ; return new Uint8Array ( c ) } , c . getExifArray = function ( a ) { for ( var b , c = 0 ; c < a . length ; c ++ ) if ( b = a [ c ] , 255 === b [ 0 ] & 225 === b [ 1 ] ) return b ; return [ ] } , c . insertExif = function ( a , b ) { var c = a . replace ( "data:image/jpeg;base64," ,
2017-04-11 11:04:48 +00:00
"" ) , e = this . decode64 ( c ) , f = e . indexOf ( 255 , 3 ) , c = e . slice ( 0 , f ) , e = e . slice ( f ) ; return c = c . concat ( b ) , c . concat ( e ) } , c . slice2Segments = function ( a ) { for ( var b = 0 , c = [ ] ; ! ( 255 === a [ b ] & 218 === a [ b + 1 ] ) ; ) { if ( 255 === a [ b ] & 216 === a [ b + 1 ] ) b += 2 ; else { var e = b + ( 256 * a [ b + 2 ] + a [ b + 3 ] ) + 2 , b = a . slice ( b , e ) ; c . push ( b ) ; b = e } if ( b > a . length ) break } return c } , c . decode64 = function ( a ) { var b , c , e , f , g , h = 0 , k = [ ] ; /[^A-Za-z0-9\+\/\=]/g . exec ( a ) && 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." ) ;
a = a . replace ( /[^A-Za-z0-9\+\/\=]/g , "" ) ; do b = this . KEY _STR . indexOf ( a . charAt ( h ++ ) ) , c = this . KEY _STR . indexOf ( a . charAt ( h ++ ) ) , e = this . KEY _STR . indexOf ( a . charAt ( h ++ ) ) , g = this . KEY _STR . indexOf ( a . charAt ( h ++ ) ) , b = b << 2 | c >> 4 , c = ( 15 & c ) << 4 | e >> 2 , f = ( 3 & e ) << 6 | g , k . push ( b ) , 64 !== e && k . push ( c ) , 64 !== g && k . push ( f ) ; while ( h < a . length ) ; return k } , c . restore ( b , a ) } , b } ] ) ; "undefined" != typeof module && "undefined" != typeof exports && module . exports === exports && ( module . exports = "ui.date" ) ;
( function ( b ) { b . module ( "ui.date" , [ ] ) . constant ( "uiDateConfig" , { } ) . constant ( "uiDateFormatConfig" , "" ) . factory ( "uiDateConverter" , [ "uiDateFormatConfig" , function ( f ) { return { stringToDate : function ( h , k ) { if ( h = h || f , b . isDate ( k ) && ! isNaN ( k ) ) return k ; if ( b . isString ( k ) ) { if ( h ) return jQuery . datepicker . parseDate ( h , k ) ; var c = new Date ( k ) ; return isNaN ( c . getTime ( ) ) ? null : c } return b . isNumber ( k ) ? new Date ( k ) : null } , dateToString : function ( b , k ) { if ( b = b || f , k ) { if ( b ) try { return jQuery . datepicker . formatDate ( b , k ) } catch ( c ) { return } if ( k . toISOString ) return k . toISOString ( ) } return null } } } ] ) . directive ( "uiDate" ,
[ "uiDateConfig" , "uiDateConverter" , function ( f , h ) { return { require : "?ngModel" , link : function ( k , c , a , g ) { var e = function ( ) { return b . extend ( { } , f , k . $eval ( a . uiDate ) ) } ; k . $watch ( e , function ( ) { function f ( ) { var a = [ "Hours" , "Minutes" , "Seconds" , "Milliseconds" ] , e = b . isDate ( g . $modelValue ) , f = { } ; e && g . $modelValue . toDateString ( ) === c . datepicker ( "getDate" ) . toDateString ( ) || ( e && b . forEach ( a , function ( a ) { f [ a ] = g . $modelValue [ "get" + a ] ( ) } ) , g . $setViewValue ( c . datepicker ( "getDate" ) ) , e && b . forEach ( a , function ( a ) { g . $viewValue [ "set" + a ] ( f [ a ] ) } ) ) }
var l = ! 1 , n = e ( ) ; if ( g ) { var q = n . onSelect || b . noop ; n . onSelect = function ( a , b ) { k . $apply ( function ( ) { l = ! 0 ; f ( ) ; q ( a , b ) ; c . blur ( ) } ) } ; var w = n . beforeShow || b . noop ; n . beforeShow = function ( a , b ) { l = ! 0 ; w ( a , b ) } ; var r = n . onClose || b . noop ; n . onClose = function ( a , b ) { l = ! 1 ; r ( a , b ) } ; c . off ( "blur.datepicker" ) . on ( "blur.datepicker" , function ( ) { l || k . $apply ( function ( ) { c . datepicker ( "setDate" , c . datepicker ( "getDate" ) ) ; f ( ) } ) } ) ; g . $validators . uiDateValidator = function ( c , e ) { return b . isDate ( h . stringToDate ( a . uiDateFormat , e ) ) } ; g . $parsers . push ( function ( b ) { return h . stringToDate ( a . uiDateFormat ,
b ) } ) ; g . $render = function ( ) { c . datepicker ( "setDate" , g . $modelValue ) } } c . data ( "datepicker" ) ? ( c . datepicker ( "option" , n ) , c . datepicker ( "refresh" ) ) : ( c . datepicker ( n ) , c . on ( "$destroy" , function ( ) { c . datepicker ( "hide" ) ; c . datepicker ( "destroy" ) } ) ) ; g && g . $render ( ) } , ! 0 ) } } } ] ) . directive ( "uiDateFormat" , [ "uiDateConverter" , function ( b ) { return { require : "ngModel" , link : function ( f , k , c , a ) { var g = c . uiDateFormat ; a . $formatters . unshift ( function ( a ) { return b . stringToDate ( g , a ) } ) ; a . $parsers . push ( function ( a ) { return b . dateToString ( g , a ) } ) } } } ] ) } ) ( angular ) ;
angular . module ( "angular-input-stars" , [ ] ) . service ( "FontAwesomeIcons" , [ "$http" , "$q" , function ( b , f ) { this . get = function ( ) { var h = f . defer ( ) ; return b . get ( "https://raw.githubusercontent.com/FortAwesome/Font-Awesome/gh-pages/icons.yml" ) . then ( function ( b ) { var c = { iconMap : { } , iconList : [ ] , iconCategoryList : [ ] } ; b = jsyaml . load ( b . data ) . icons ; for ( var a = 0 ; a < b . length ; a ++ ) { c . iconMap [ b [ a ] . name ] = b [ a ] . id ; c . iconList . push ( b [ a ] . name ) ; for ( var f = 0 ; f < b [ a ] . categories . length ; f ++ ) c . iconCategoryList [ b [ a ] . categories [ f ] ] || ( c . iconCategoryList [ b [ a ] . categories [ f ] ] =
[ ] ) , c . iconCategoryList [ b [ a ] . categories [ f ] ] . push ( b [ a ] . name ) } h . resolve ( c ) } , function ( b ) { var c = "Could not fetch FontAwesome Github Repo" ; b || ( c = b . data || b ) ; h . reject ( c ) } ) , h . promise } } ] ) . filter ( "toFaIcon" , [ "FontAwesomeIcons" , "$timeout" , function ( b , f ) { return function ( b , f , c ) { var a = { full : "" , empty : "" } ; b = 0 <= _ _indexOf . call ( c . iconList , b ) ? ( a . full = "fa-" + c . iconMap [ b ] , a . empty = "fa-" + c . iconMap [ b ] + "-o" , "thumbs-up" == b || "thumbs-down" == b ? a . empty = "fa-" + c . iconMap [ b ] . split ( "-" ) [ 0 ] + "-o-" + c . iconMap [ b ] . split ( "-" ) [ 1 ] : "Smile Outlined" ==
b && ( a . empty = "fa-frown-o" ) , a ) : ( console . error ( "Error no shape of type: " + b + " for rating input" ) , a ) ; return f ? b . empty : b . full } } ] ) . directive ( "inputStars" , [ "$rootScope" , "$filter" , "FontAwesomeIcons" , "$q" , function ( b , f , h , k ) { return { restrict : "EA" , replace : ! 0 , template : '<ul ng-class="listClass"><li ng-touch="paintStars($index)" ng-mouseenter="paintStars($index, true)" ng-mouseleave="unpaintStars($index, false)" ng-repeat="item in items track by $index"><i ng-class="getClass($index)" ng-click="setValue($index, $event)"></i></li></ul>' ,
require : "ngModel" , scope : ! 0 , link : function ( b , a , g , e ) { var c , l , n , q ; ( function ( ) { var a = k . defer ( ) ; return h . get ( ) . then ( function ( b ) { a . resolve ( b ) } , function ( b ) { a . reject ( Error ( "toShapeIcon Error: " + b ) ) } ) , a . promise } ) ( ) . then ( function ( h ) { b . items = Array ( + g . max ) ; c = f ( "toFaIcon" ) ( g . iconEmpty , ! 0 , h ) || g . iconEmpty || "fa-stars-o" ; l = g . iconHover || "angular-input-stars-hover" ; n = f ( "toFaIcon" ) ( g . iconFull , ! 1 , h ) || g . iconEmpty || "fa-stars" ; q = g . iconBase || "fa fa-fw" ; b . listClass = g . listClass || "angular-input-stars" ; b . readonly = void 0 !== g . readonly ;
! 0 ; g . $observe ( "max" , function ( a ) { b . items = Array ( + a ) } ) ; g . $observe ( "iconEmpty" , function ( a ) { c = f ( "toFaIcon" ) ( a , ! 0 , h ) || a || "fa-stars-o" } ) ; g . $observe ( "iconFull" , function ( a ) { n = f ( "toFaIcon" ) ( a , ! 1 , h ) || a || "fa-stars" } ) ; e . $render = function ( ) { b . last _value = e . $viewValue || 0 } ; b . getClass = function ( a ) { return a >= b . last _value ? q + " " + c : q + " " + n + " active " } ; b . unpaintStars = function ( a , c ) { b . paintStars ( b . last _value - 1 , c ) } ; b . paintStars = function ( e , f ) { if ( ! b . readonly ) { for ( var g = a . find ( "li" ) . find ( "i" ) , h = 0 ; h < g . length ; h ++ ) { var k = angular . element ( g [ h ] ) ;
e >= h ? ( k . removeClass ( c ) , k . addClass ( n ) , k . addClass ( "active" ) , k . addClass ( l ) ) : ( k . removeClass ( n ) , k . removeClass ( "active" ) , k . removeClass ( l ) , k . addClass ( c ) ) } ! f && g . removeClass ( l ) } } ; b . setValue = function ( a , c ) { b . readonly || ( c . target . getBoundingClientRect ( ) , b . last _value = a + 1 , e . $setViewValue ( b . last _value ) , g . onShapeClick && b . $eval ( g . onStarClick ) ) } } , function ( a ) { console . error ( "angular-input-stars.js | " + a . message || a ) } ) } } } ] ) ;
! function ( b ) { var f = function ( a , b ) { var c = Error ( a + " at character " + b ) ; throw c . index = b , c . description = a , c ; } , h = { "-" : ! 0 , "!" : ! 0 , "~" : ! 0 , "+" : ! 0 } , k = { "||" : 1 , "&&" : 2 , "|" : 3 , "^" : 4 , "&" : 5 , "==" : 6 , "!=" : 6 , "===" : 6 , "!==" : 6 , "<" : 7 , ">" : 7 , "<=" : 7 , ">=" : 7 , "<<" : 8 , ">>" : 8 , ">>>" : 8 , "+" : 9 , "-" : 9 , "*" : 10 , "/" : 10 , "%" : 10 } , c = function ( a ) { var b , c = 0 , e ; for ( e in a ) ( b = e . length ) > c && a . hasOwnProperty ( e ) && ( c = b ) ; return c } , a = c ( h ) , g = c ( k ) , e = { "true" : ! 0 , "false" : ! 1 , "null" : null } , t = function ( a , b , c ) { return { type : "||" === a || "&&" === a ? "LogicalExpression" : "BinaryExpression" ,
operator : a , left : b , right : c } } , l = function ( a ) { return 48 <= a && 57 >= a } , n = function ( a ) { return 36 === a || 95 === a || 65 <= a && 90 >= a || 97 <= a && 122 >= a || 128 <= a && ! k [ String . fromCharCode ( a ) ] } , q = function ( b ) { for ( var c , r , q = 0 , w = b . charAt , D = b . charCodeAt , p = function ( a ) { return w . call ( b , a ) } , u = function ( a ) { return D . call ( b , a ) } , J = b . length , M = function ( ) { for ( var a = u ( q ) ; 32 === a || 9 === a ; ) a = u ( ++ q ) } , H = function ( ) { var a , b , c ; var e , g , l , h , n ; if ( e = L ( ) , g = K ( ) , g ) { h = { value : g , prec : k [ g ] || 0 } ; ( n = L ( ) ) || f ( "Expected expression after " + g , q ) ; for ( c = [ e , h , n ] ; ( g = K ( ) ) &&
( l = k [ g ] || 0 , 0 !== l ) ; ) { for ( h = { value : g , prec : l } ; 2 < c . length && l <= c [ c . length - 2 ] . prec ; ) n = c . pop ( ) , g = c . pop ( ) . value , e = c . pop ( ) , e = t ( g , e , n ) , c . push ( e ) ; ( e = L ( ) ) || f ( "Expected expression after " + g , q ) ; c . push ( h , e ) } g = c . length - 1 ; for ( e = c [ g ] ; 1 < g ; ) e = t ( c [ g - 1 ] . value , c [ g - 2 ] , e ) , g -= 2 } c = e ; return M ( ) , 63 !== u ( q ) ? c : ( q ++ , a = H ( ) , a || f ( "Expected expression" , q ) , M ( ) , 58 === u ( q ) ? ( q ++ , b = H ( ) , b || f ( "Expected expression" , q ) , { type : "ConditionalExpression" , test : c , consequent : a , alternate : b } ) : void f ( "Expected :" , q ) ) } , K = function ( ) { M ( ) ; for ( var a = b . substr ( q ,
g ) , c = a . length ; 0 < c ; ) { if ( k . hasOwnProperty ( a ) ) return q += c , a ; a = a . substr ( 0 , -- c ) } return ! 1 } , L = function ( ) { var c , e , g ; if ( M ( ) , c = u ( q ) , l ( c ) || 46 === c ) { var k ; for ( e = "" ; l ( u ( q ) ) ; ) e += p ( q ++ ) ; if ( 46 === u ( q ) ) for ( e += p ( q ++ ) ; l ( u ( q ) ) ; ) e += p ( q ++ ) ; if ( g = p ( q ) , "e" === g || "E" === g ) { e += p ( q ++ ) ; g = p ( q ) ; for ( "+" !== g && "-" !== g || ( e += p ( q ++ ) ) ; l ( u ( q ) ) ; ) e += p ( q ++ ) ; l ( u ( q - 1 ) ) || f ( "Expected exponent (" + e + p ( q ) + ")" , q ) } return k = u ( q ) , n ( k ) ? f ( "Variable names cannot start with a number (" + e + p ( q ) + ")" , q ) : 46 === k && f ( "Unexpected period" , q ) , { type : "Literal" , value : parseFloat ( e ) ,
raw : e } } if ( 39 === c || 34 === c ) { g = "" ; k = p ( q ++ ) ; for ( c = ! 1 ; q < J ; ) { if ( e = p ( q ++ ) , e === k ) { c = ! 0 ; break } if ( "\\" === e ) switch ( e = p ( q ++ ) ) { case "n" : g += "\n" ; break ; case "r" : g += "\r" ; break ; case "t" : g += "\t" ; break ; case "b" : g += "\b" ; break ; case "f" : g += "\f" ; break ; case "v" : g += "\x0B" ; break ; default : g += "\\" + e } else g += e } return c || f ( 'Unclosed quote after "' + g + '"' , q ) , { type : "Literal" , value : g , raw : k + g + k } } if ( n ( c ) || 40 === c ) { e = u ( q ) ; 40 === e ? ( q ++ , e = H ( ) , e = ( M ( ) , 41 === u ( q ) ? ( q ++ , e ) : void f ( "Unclosed (" , q ) ) ) : e = S ( ) ; g = e ; M ( ) ; for ( e = u ( q ) ; 46 === e || 91 === e || 40 ===
e ; ) q ++ , 46 === e ? ( M ( ) , g = { type : "MemberExpression" , computed : ! 1 , object : g , property : S ( ) } ) : 91 === e ? ( g = { type : "MemberExpression" , computed : ! 0 , object : g , property : H ( ) } , M ( ) , e = u ( q ) , 93 !== e && f ( "Unclosed [" , q ) , q ++ ) : 40 === e && ( g = { type : "CallExpression" , arguments : X ( 41 ) , callee : g } ) , M ( ) , e = u ( q ) ; return g } if ( 91 === c ) return q ++ , { type : "ArrayExpression" , elements : X ( 93 ) } ; e = b . substr ( q , a ) ; for ( g = e . length ; 0 < g ; ) { if ( h . hasOwnProperty ( e ) ) return q += g , { type : "UnaryExpression" , operator : e , argument : L ( ) , prefix : ! 0 } ; e = e . substr ( 0 , -- g ) } return ! 1 } , S = function ( ) { var a ,
c = u ( q ) , g = q ; for ( n ( c ) ? q ++ : f ( "Unexpected " + p ( q ) , q ) ; q < J && ( c = u ( q ) , 36 === c || 95 === c || 65 <= c && 90 >= c || 97 <= c && 122 >= c || 48 <= c && 57 >= c || 128 <= c && ! k [ String . fromCharCode ( c ) ] ) ; ) q ++ ; return a = b . slice ( g , q ) , e . hasOwnProperty ( a ) ? { type : "Literal" , value : e [ a ] , raw : a } : "this" === a ? { type : "ThisExpression" } : { type : "Identifier" , name : a } } , X = function ( a ) { for ( var b , c , e = [ ] , g = ! 1 ; q < J ; ) { if ( M ( ) , b = u ( q ) , b === a ) { g = ! 0 ; q ++ ; break } 44 === b ? q ++ : ( c = H ( ) , c && "Compound" !== c . type || f ( "Expected comma" , q ) , e . push ( c ) ) } return g || f ( "Expected " + String . fromCharCode ( a ) , q ) ,
e } , I = [ ] ; q < J ; ) c = u ( q ) , 59 === c || 44 === c ? q ++ : ( r = H ( ) ) ? I . push ( r ) : q < J && f ( 'Unexpected "' + p ( q ) + '"' , q ) ; return 1 === I . length ? I [ 0 ] : { type : "Compound" , body : I } } ; if ( q . version = "0.3.1" , q . toString = function ( ) { return "JavaScript Expression Parser (JSEP) v" + q . version } , q . addUnaryOp = function ( b ) { return a = Math . max ( b . length , a ) , h [ b ] = ! 0 , this } , q . addBinaryOp = function ( a , b ) { return g = Math . max ( a . length , g ) , k [ a ] = b , this } , q . addLiteral = function ( a , b ) { return e [ a ] = b , this } , q . removeUnaryOp = function ( b ) { return delete h [ b ] , b . length === a && ( a = c ( h ) ) , this } ,
q . removeBinaryOp = function ( a ) { return delete k [ a ] , a . length === g && ( g = c ( k ) ) , this } , q . removeLiteral = function ( a ) { return delete e [ a ] , this } , "undefined" == typeof exports ) { var w = b . jsep ; b . jsep = q ; q . noConflict = function ( ) { return b . jsep === q && ( b . jsep = w ) , q } } else "undefined" != typeof module && module . exports ? exports = module . exports = q : exports . parse = q } ( this ) ;
! function ( b ) { "object" == typeof exports && "undefined" != typeof module ? module . exports = b ( ) : "function" == typeof define && define . amd ? define ( [ ] , b ) : ( "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this ) . Raven = b ( ) } ( function ( ) { return function f ( h , k , c ) { function a ( e , l ) { if ( ! k [ e ] ) { if ( ! h [ e ] ) { var n = "function" == typeof require && require ; if ( ! l && n ) return n ( e , ! 0 ) ; if ( g ) return g ( e , ! 0 ) ; n = Error ( "Cannot find module '" + e + "'" ) ; throw n . code = "MODULE_NOT_FOUND" , n ; } n = k [ e ] = { exports : { } } ;
h [ e ] [ 0 ] . call ( n . exports , function ( c ) { var f = h [ e ] [ 1 ] [ c ] ; return a ( f ? f : c ) } , n , n . exports , f , h , k , c ) } return k [ e ] . exports } for ( var g = "function" == typeof require && require , e = 0 ; e < c . length ; e ++ ) a ( c [ e ] ) ; return a } ( { 1 : [ function ( f , h , k ) { function c ( a ) { this . name = "RavenConfigError" ; this . message = a } c . prototype = Error ( ) ; c . prototype . constructor = c ; h . exports = c } , { } ] , 2 : [ function ( f , h , k ) { h . exports = { wrapMethod : function ( c , a , f ) { var e = c [ a ] ; if ( a in c ) { var g = "warn" === a ? "warning" : a ; c [ a ] = function ( ) { var a = [ ] . slice . call ( arguments ) , h = "" + a . join ( " " ) ,
k = { level : g , logger : "console" , extra : { arguments : a } } ; f && f ( h , k ) ; e && Function . prototype . apply . call ( e , c , a ) } } } } } , { } ] , 3 : [ function ( f , h , k ) { ( function ( c ) { function a ( ) { this . a = ! ( "object" != typeof JSON || ! JSON . stringify ) ; this . b = void 0 !== R ; this . c = void 0 !== Y ; this . i = this . h = this . g = this . f = this . e = this . d = null ; this . j = { } ; this . k = { logger : "javascript" , ignoreErrors : [ ] , ignoreUrls : [ ] , whitelistUrls : [ ] , includePaths : [ ] , crossOrigin : "anonymous" , collectWindowErrors : ! 0 , maxMessageLength : 0 , stackTraceLimit : 50 , autoBreadcrumbs : ! 0 , sampleRate : 1 } ;
this . l = 0 ; this . m = ! 1 ; this . n = Error . stackTraceLimit ; this . o = I . console || { } ; this . p = { } ; this . q = [ ] ; this . r = + new Date ; this . s = [ ] ; this . t = [ ] ; this . u = null ; this . w = ( this . v = I . location ) && this . v . href ; this . x ( ) ; for ( var a in this . o ) this . p [ a ] = this . o [ a ] } function g ( a ) { return "function" == typeof a } function e ( a ) { return "[object String]" === T . toString . call ( a ) } function k ( a ) { for ( var c in a ) return ! 1 ; return ! 0 } function l ( a , c ) { var e , f ; if ( void 0 === a . length ) for ( e in a ) T . hasOwnProperty . call ( a , e ) && c . call ( null , e , a [ e ] ) ; else if ( f = a . length ) for ( e =
0 ; e < f ; e ++ ) c . call ( null , e , a [ e ] ) } function n ( a , c ) { return c ? ( l ( c , function ( c , e ) { a [ c ] = e } ) , a ) : a } function q ( a , c ) { return ! c || a . length <= c ? a : a . substr ( 0 , c ) + "\u2026" } function w ( a ) { for ( var c , f = [ ] , g = 0 , l = a . length ; g < l ; g ++ ) c = a [ g ] , e ( c ) ? f . push ( c . replace ( /([.*+?^=!:${}()|\[\]\/\\])/g , "\\$1" ) ) : c && c . source && f . push ( c . source ) ; return new RegExp ( f . join ( "|" ) , "i" ) } function r ( a ) { var c = [ ] ; return l ( a , function ( a , e ) { c . push ( encodeURIComponent ( a ) + "=" + encodeURIComponent ( e ) ) } ) , c . join ( "&" ) } function z ( a ) { return ( a = a . match ( /^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/ ) ) ?
{ protocol : a [ 2 ] , host : a [ 4 ] , path : a [ 5 ] , relative : a [ 5 ] + ( a [ 6 ] || "" ) + ( a [ 8 ] || "" ) } : { } } function y ( ) { var a = I . crypto || I . msCrypto ; if ( void 0 !== a && a . getRandomValues ) { var c = new Uint16Array ( 8 ) ; a . getRandomValues ( c ) ; c [ 3 ] = 4095 & c [ 3 ] | 16384 ; c [ 4 ] = 16383 & c [ 4 ] | 32768 ; a = function ( a ) { for ( a = a . toString ( 16 ) ; 4 > a . length ; ) a = "0" + a ; return a } ; return a ( c [ 0 ] ) + a ( c [ 1 ] ) + a ( c [ 2 ] ) + a ( c [ 3 ] ) + a ( c [ 4 ] ) + a ( c [ 5 ] ) + a ( c [ 6 ] ) + a ( c [ 7 ] ) } return "xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx" . replace ( /[xy]/g , function ( a ) { var c = 16 * Math . random ( ) | 0 ; return ( "x" === a ? c : 3 & c | 8 ) . toString ( 16 ) } ) }
function F ( a ) { var c , f , g , l = [ ] ; if ( ! a || ! a . tagName ) return "" ; if ( l . push ( a . tagName . toLowerCase ( ) ) , a . id && l . push ( "#" + a . id ) , c = a . className , c && e ( c ) ) for ( f = c . split ( /\s+/ ) , c = 0 ; c < f . length ; c ++ ) l . push ( "." + f [ c ] ) ; var h = [ "type" , "name" , "title" , "alt" ] ; for ( c = 0 ; c < h . length ; c ++ ) f = h [ c ] , ( g = a . getAttribute ( f ) ) && l . push ( "[" + f + '="' + g + '"]' ) ; return l . join ( "" ) } function A ( a , c ) { if ( ! ! a ^ ! ! c ) return ! 1 ; var e = a . frames , f = c . frames ; if ( e . length !== f . length ) return ! 1 ; for ( var g , l , h = 0 ; h < e . length ; h ++ ) if ( g = e [ h ] , l = f [ h ] , g . filename !== l . filename || g . lineno !==
l . lineno || g . colno !== l . colno || g [ "function" ] !== l [ "function" ] ) return ! 1 ; return ! 0 } function D ( a , c , e , f ) { var g = a [ c ] ; a [ c ] = e ( g ) ; f && f . push ( [ a , c , g ] ) } var p = f ( 6 ) , u = f ( 7 ) , J = f ( 1 ) , M = f ( 5 ) , H = M . isError , K = M . isObject , L = f ( 2 ) . wrapMethod , S = "source protocol user pass host port path" . split ( " " ) , X = /^(?:(\w+):)?\/\/(?:(\w+)(:\w+)?@)?([\w\.-]+)(?::(\d+))?(\/.*)/ , I = "undefined" != typeof window ? window : "undefined" != typeof c ? c : "undefined" != typeof self ? self : { } , R = I . document , Y = I . navigator ; a . prototype = { VERSION : "3.13.1" , debug : ! 1 , TraceKit : p ,
config : function ( a , c ) { var e = this ; if ( e . g ) return this . y ( "error" , "Error: Raven has already been configured" ) , e ; if ( ! a ) return e ; var f = e . k ; c && l ( c , function ( a , c ) { "tags" === a || "extra" === a || "user" === a ? e . j [ a ] = c : f [ a ] = c } ) ; e . setDSN ( a ) ; f . ignoreErrors . push ( /^Script error\.?$/ ) ; f . ignoreErrors . push ( /^Javascript error: Script error\.? on line 0$/ ) ; f . ignoreErrors = w ( f . ignoreErrors ) ; f . ignoreUrls = ! ! f . ignoreUrls . length && w ( f . ignoreUrls ) ; f . whitelistUrls = ! ! f . whitelistUrls . length && w ( f . whitelistUrls ) ; f . includePaths = w ( f . includePaths ) ;
f . maxBreadcrumbs = Math . max ( 0 , Math . min ( f . maxBreadcrumbs || 100 , 100 ) ) ; var g = { xhr : ! 0 , console : ! 0 , dom : ! 0 , location : ! 0 } , h = f . autoBreadcrumbs ; return "[object Object]" === { } . toString . call ( h ) ? h = n ( g , h ) : ! 1 !== h && ( h = g ) , f . autoBreadcrumbs = h , p . collectWindowErrors = ! ! f . collectWindowErrors , e } , install : function ( ) { var a = this ; return a . isSetup ( ) && ! a . m && ( p . report . subscribe ( function ( ) { a . z . apply ( a , arguments ) } ) , a . A ( ) , a . k . autoBreadcrumbs && a . B ( ) , a . C ( ) , a . m = ! 0 ) , Error . stackTraceLimit = a . k . stackTraceLimit , this } , setDSN : function ( a ) { var c = this . D ( a ) ,
e = c . path . lastIndexOf ( "/" ) , f = c . path . substr ( 1 , e ) ; this . E = a ; this . h = c . user ; this . F = c . pass && c . pass . substr ( 1 ) ; this . i = c . path . substr ( e + 1 ) ; this . g = this . G ( c ) ; this . H = this . g + "/" + f + "api/" + this . i + "/store/" ; this . x ( ) } , context : function ( a , c , e ) { return g ( a ) && ( e = c || [ ] , c = a , a = void 0 ) , this . wrap ( a , c ) . apply ( this , e ) } , wrap : function ( a , c , e ) { function f ( ) { var f = [ ] , h = arguments . length , k = ! a || a && ! 1 !== a . deep ; for ( e && g ( e ) && e . apply ( this , arguments ) ; h -- ; ) f [ h ] = k ? l . wrap ( a , arguments [ h ] ) : arguments [ h ] ; try { return c . apply ( this , f ) } catch ( W ) { throw l . I ( ) ,
l . captureException ( W , a ) , W ; } } var l = this ; if ( void 0 === c && ! g ( a ) ) return a ; if ( g ( a ) && ( c = a , a = void 0 ) , ! g ( c ) ) return c ; try { if ( c . J ) return c ; if ( c . K ) return c . K } catch ( N ) { return c } for ( var h in c ) T . hasOwnProperty . call ( c , h ) && ( f [ h ] = c [ h ] ) ; return f . prototype = c . prototype , c . K = f , f . J = ! 0 , f . L = c , f } , uninstall : function ( ) { return p . report . uninstall ( ) , this . M ( ) , Error . stackTraceLimit = this . n , this . m = ! 1 , this } , captureException : function ( a , c ) { if ( ! H ( a ) ) return this . captureMessage ( a , n ( { trimHeadFrames : 1 , stacktrace : ! 0 } , c ) ) ; this . d = a ; try { var e =
p . computeStackTrace ( a ) ; this . N ( e , c ) } catch ( V ) { if ( a !== V ) throw V ; } return this } , captureMessage : function ( a , c ) { if ( ! this . k . ignoreErrors . test || ! this . k . ignoreErrors . test ( a ) ) { c = c || { } ; var e = n ( { message : a + "" } , c ) ; if ( this . k . stacktrace || c && c . stacktrace ) { var f ; try { throw Error ( a ) ; } catch ( Q ) { f = Q } f . name = null ; c = n ( { fingerprint : a , trimHeadFrames : ( c . trimHeadFrames || 0 ) + 1 } , c ) ; f = p . computeStackTrace ( f ) ; f = this . O ( f , c ) ; e . stacktrace = { frames : f . reverse ( ) } } return this . P ( e ) , this } } , captureBreadcrumb : function ( a ) { a = n ( { timestamp : + new Date /
1E3 } , a ) ; if ( g ( this . k . breadcrumbCallback ) ) { var c = this . k . breadcrumbCallback ( a ) ; if ( K ( c ) && ! k ( c ) ) a = c ; else if ( ! 1 === c ) return this } return this . t . push ( a ) , this . t . length > this . k . maxBreadcrumbs && this . t . shift ( ) , this } , addPlugin : function ( a ) { var c = [ ] . slice . call ( arguments , 1 ) ; return this . q . push ( [ a , c ] ) , this . m && this . C ( ) , this } , setUserContext : function ( a ) { return this . j . user = a , this } , setExtraContext : function ( a ) { return this . Q ( "extra" , a ) , this } , setTagsContext : function ( a ) { return this . Q ( "tags" , a ) , this } , clearContext : function ( ) { return this . j =
{ } , this } , getContext : function ( ) { return JSON . parse ( u ( this . j ) ) } , setEnvironment : function ( a ) { return this . k . environment = a , this } , setRelease : function ( a ) { return this . k . release = a , this } , setDataCallback : function ( a ) { var c = this . k . dataCallback ; return this . k . dataCallback = g ( a ) ? function ( e ) { return a ( e , c ) } : a , this } , setBreadcrumbCallback : function ( a ) { var c = this . k . breadcrumbCallback ; return this . k . breadcrumbCallback = g ( a ) ? function ( e ) { return a ( e , c ) } : a , this } , setShouldSendCallback : function ( a ) { var c = this . k . shouldSendCallback ;
return this . k . shouldSendCallback = g ( a ) ? function ( e ) { return a ( e , c ) } : a , this } , setTransport : function ( a ) { return this . k . transport = a , this } , lastException : function ( ) { return this . d } , lastEventId : function ( ) { return this . f } , isSetup : function ( ) { return ! ( ! this . a || ! this . g && ( this . ravenNotConfiguredError || ( this . ravenNotConfiguredError = ! 0 , this . y ( "error" , "Error: Raven has not been configured." ) ) , 1 ) ) } , afterLoad : function ( ) { var a = I . RavenConfig ; a && this . config ( a . dsn , a . config ) . install ( ) } , showReportDialog : function ( a ) { if ( R ) { a = a ||
{ } ; var c = a . eventId || this . lastEventId ( ) ; if ( ! c ) throw new J ( "Missing eventId" ) ; var e = a . dsn || this . E ; if ( ! e ) throw new J ( "Missing DSN" ) ; var f = encodeURIComponent , c = "?eventId=" + f ( c ) , c = c + ( "&dsn=" + f ( e ) ) ; ( a = a . user || this . j . user ) && ( a . name && ( c += "&name=" + f ( a . name ) ) , a . email && ( c += "&email=" + f ( a . email ) ) ) ; e = this . G ( this . D ( e ) ) ; f = R . createElement ( "script" ) ; f . async = ! 0 ; f . src = e + "/api/embed/error-page/" + c ; ( R . head || R . body ) . appendChild ( f ) } } , I : function ( ) { var a = this ; this . l += 1 ; setTimeout ( function ( ) { -- a . l } ) } , R : function ( a , c ) { var e ,
f ; if ( this . b ) { c = c || { } ; a = "raven" + a . substr ( 0 , 1 ) . toUpperCase ( ) + a . substr ( 1 ) ; R . createEvent ? ( e = R . createEvent ( "HTMLEvents" ) , e . initEvent ( a , ! 0 , ! 0 ) ) : ( e = R . createEventObject ( ) , e . eventType = a ) ; for ( f in c ) T . hasOwnProperty . call ( c , f ) && ( e [ f ] = c [ f ] ) ; if ( R . createEvent ) R . dispatchEvent ( e ) ; else try { R . fireEvent ( "on" + e . eventType . toLowerCase ( ) , e ) } catch ( Q ) { } } } , S : function ( a ) { var c = this ; return function ( e ) { if ( c . T = null , c . u !== e ) { c . u = e ; var f ; try { var g = e . target , l ; e = [ ] ; for ( var h = 0 , k = 0 ; g && 5 > h ++ && ( l = F ( g ) , ! ( "html" === l || 1 < h && 80 <= k + 3 * e . length +
l . length ) ) ; ) e . push ( l ) , k += l . length , g = g . parentNode ; f = e . reverse ( ) . join ( " > " ) } catch ( ca ) { f = "<unknown>" } c . captureBreadcrumb ( { category : "ui." + a , message : f } ) } } } , U : function ( ) { var a = this ; return function ( c ) { var e ; try { e = c . target } catch ( Q ) { return } var f = e && e . tagName ; f && ( "INPUT" === f || "TEXTAREA" === f || e . isContentEditable ) && ( ( e = a . T ) || a . S ( "input" ) ( c ) , clearTimeout ( e ) , a . T = setTimeout ( function ( ) { a . T = null } , 1E3 ) ) } } , V : function ( a , c ) { var e = z ( this . v . href ) , f = z ( c ) , g = z ( a ) ; this . w = c ; e . protocol === f . protocol && e . host === f . host && ( c = f . relative ) ;
e . protocol === g . protocol && e . host === g . host && ( a = g . relative ) ; this . captureBreadcrumb ( { category : "navigation" , data : { to : c , from : a } } ) } , A : function ( ) { function a ( a ) { return function ( c , f ) { for ( var l = Array ( arguments . length ) , h = 0 ; h < l . length ; ++ h ) l [ h ] = arguments [ h ] ; h = l [ 0 ] ; return g ( h ) && ( l [ 0 ] = e . wrap ( h ) ) , a . apply ? a . apply ( this , l ) : a ( l [ 0 ] , l [ 1 ] ) } } function c ( a ) { var c = I [ a ] && I [ a ] . prototype ; c && c . hasOwnProperty && c . hasOwnProperty ( "addEventListener" ) && ( D ( c , "addEventListener" , function ( c ) { return function ( f , g , h , k ) { try { g && g . handleEvent &&
( g . handleEvent = e . wrap ( g . handleEvent ) ) } catch ( ra ) { } var n , t , v ; return l && l . dom && ( "EventTarget" === a || "Node" === a ) && ( t = e . S ( "click" ) , v = e . U ( ) , n = function ( a ) { if ( a ) { var c ; try { c = a . type } catch ( ba ) { return } return "click" === c ? t ( a ) : "keypress" === c ? v ( a ) : void 0 } } ) , c . call ( this , f , e . wrap ( g , void 0 , n ) , h , k ) } } , f ) , D ( c , "removeEventListener" , function ( a ) { return function ( c , e , f , g ) { try { e = e && ( e . K ? e . K : e ) } catch ( wa ) { } return a . call ( this , c , e , f , g ) } } , f ) ) } var e = this , f = e . s , l = this . k . autoBreadcrumbs ; D ( I , "setTimeout" , a , f ) ; D ( I , "setInterval" , a , f ) ;
I . requestAnimationFrame && D ( I , "requestAnimationFrame" , function ( a ) { return function ( c ) { return a ( e . wrap ( c ) ) } } , f ) ; for ( var h = "EventTarget Window Node ApplicationCache AudioTrackList ChannelMergerNode CryptoOperation EventSource FileReader HTMLUnknownElement IDBDatabase IDBRequest IDBTransaction KeyOperation MediaController MessagePort ModalWindow Notification SVGElementInstance Screen TextTrack TextTrackCue TextTrackList WebSocket WebSocketWorker Worker XMLHttpRequest XMLHttpRequestEventTarget XMLHttpRequestUpload" . split ( " " ) ,
k = 0 ; k < h . length ; k ++ ) c ( h [ k ] ) } , B : function ( ) { function a ( a , e ) { a in e && g ( e [ a ] ) && D ( e , a , function ( a ) { return c . wrap ( a ) } ) } var c = this , f = this . k . autoBreadcrumbs , h = c . s ; if ( f . xhr && "XMLHttpRequest" in I ) { var k = XMLHttpRequest . prototype ; D ( k , "open" , function ( a ) { return function ( f , g ) { return e ( g ) && - 1 === g . indexOf ( c . h ) && ( this . W = { method : f , url : g , status _code : null } ) , a . apply ( this , arguments ) } } , h ) ; D ( k , "send" , function ( e ) { return function ( f ) { function l ( ) { if ( h . W && ( 1 === h . readyState || 4 === h . readyState ) ) { try { h . W . status _code = h . status } catch ( Ea ) { } c . captureBreadcrumb ( { type : "http" ,
category : "xhr" , data : h . W } ) } } for ( var h = this , k = [ "onload" , "onerror" , "onprogress" ] , n = 0 ; n < k . length ; n ++ ) a ( k [ n ] , h ) ; return "onreadystatechange" in h && g ( h . onreadystatechange ) ? D ( h , "onreadystatechange" , function ( a ) { return c . wrap ( a , void 0 , l ) } ) : h . onreadystatechange = l , e . apply ( this , arguments ) } } , h ) } f . xhr && "fetch" in I && D ( I , "fetch" , function ( a ) { return function ( e , f ) { for ( var g = Array ( arguments . length ) , h = 0 ; h < g . length ; ++ h ) g [ h ] = arguments [ h ] ; h = "GET" ; g [ 1 ] && g [ 1 ] . method && ( h = g [ 1 ] . method ) ; var l = { method : h , url : g [ 0 ] , status _code : null } ;
return c . captureBreadcrumb ( { type : "http" , category : "fetch" , data : l } ) , a . apply ( this , g ) . then ( function ( a ) { return l . status _code = a . status , a } ) } } , h ) ; f . dom && this . b && ( R . addEventListener ? ( R . addEventListener ( "click" , c . S ( "click" ) , ! 1 ) , R . addEventListener ( "keypress" , c . U ( ) , ! 1 ) ) : ( R . attachEvent ( "onclick" , c . S ( "click" ) ) , R . attachEvent ( "onkeypress" , c . U ( ) ) ) ) ; k = I . chrome ; k = ! ( k && k . app && k . app . runtime ) && I . history && history . pushState ; if ( f . location && k ) { var n = I . onpopstate ; I . onpopstate = function ( ) { if ( c . V ( c . w , c . v . href ) , n ) return n . apply ( this ,
arguments ) } ; D ( history , "pushState" , function ( a ) { return function ( ) { var e = 2 < arguments . length ? arguments [ 2 ] : void 0 ; return e && c . V ( c . w , e + "" ) , a . apply ( this , arguments ) } } , h ) } if ( f . console && "console" in I && console . log ) { var t = function ( a , e ) { c . captureBreadcrumb ( { message : a , level : e . level , category : "console" } ) } ; l ( [ "debug" , "info" , "warn" , "error" , "log" ] , function ( a , c ) { L ( console , c , t ) } ) } } , M : function ( ) { for ( var a ; this . s . length ; ) a = this . s . shift ( ) , a [ 0 ] [ a [ 1 ] ] = a [ 2 ] } , C : function ( ) { var a = this ; l ( this . q , function ( c , e ) { e [ 0 ] . apply ( a , [ a ] . concat ( e [ 1 ] ) ) } ) } ,
D : function ( a ) { var c = X . exec ( a ) , e = { } , f = 7 ; try { for ( ; f -- ; ) e [ S [ f ] ] = c [ f ] || "" } catch ( Q ) { throw new J ( "Invalid DSN: " + a ) ; } if ( e . pass && ! this . k . allowSecretKey ) throw new J ( "Do not specify your secret key in the DSN. See: http://bit.ly/raven-secret-key" ) ; return e } , G : function ( a ) { var c = "//" + a . host + ( a . port ? ":" + a . port : "" ) ; return a . protocol && ( c = a . protocol + ":" + c ) , c } , z : function ( ) { this . l || this . N . apply ( this , arguments ) } , N : function ( a , c ) { var e = this . O ( a , c ) ; this . R ( "handle" , { stackInfo : a , options : c } ) ; this . X ( a . name , a . message , a . url ,
a . lineno , e , c ) } , O : function ( a , c ) { var e = this , f = [ ] ; if ( a . stack && a . stack . length && ( l ( a . stack , function ( a , c ) { var g = e . Y ( c ) ; g && f . push ( g ) } ) , c && c . trimHeadFrames ) ) for ( var g = 0 ; g < c . trimHeadFrames && g < f . length ; g ++ ) f [ g ] . in _app = ! 1 ; return f = f . slice ( 0 , this . k . stackTraceLimit ) } , Y : function ( a ) { if ( a . url ) return a = { filename : a . url , lineno : a . line , colno : a . column , "function" : a . func || "?" } , a . in _app = ! ( this . k . includePaths . test && ! this . k . includePaths . test ( a . filename ) || /(Raven|TraceKit)\./ . test ( a [ "function" ] ) || /raven\.(min\.)?js$/ . test ( a . filename ) ) ,
a } , X : function ( a , c , e , f , g , h ) { var l ; this . k . ignoreErrors . test && this . k . ignoreErrors . test ( c ) || ( c += "" , g && g . length ? ( e = g [ 0 ] . filename || e , g . reverse ( ) , l = { frames : g } ) : e && ( l = { frames : [ { filename : e , lineno : f , in _app : ! 0 } ] } ) , this . k . ignoreUrls . test && this . k . ignoreUrls . test ( e ) || this . k . whitelistUrls . test && ! this . k . whitelistUrls . test ( e ) ) || ( a = n ( { exception : { values : [ { type : a , value : c , stacktrace : l } ] } , culprit : e } , h ) , this . P ( a ) ) } , Z : function ( a ) { var c = this . k . maxMessageLength ; if ( a . message && ( a . message = q ( a . message , c ) ) , a . exception ) { var e = a . exception . values [ 0 ] ;
e . value = q ( e . value , c ) } return a } , $ : function ( ) { if ( this . c || this . b ) { var a = { } ; return this . c && Y . userAgent && ( a . headers = { "User-Agent" : navigator . userAgent } ) , this . b && ( R . location && R . location . href && ( a . url = R . location . href ) , R . referrer && ( a . headers || ( a . headers = { } ) , a . headers . Referer = R . referrer ) ) , a } } , x : function ( ) { this . _ = 0 ; this . aa = null } , ba : function ( ) { return this . _ && + new Date - this . aa < this . _ } , ca : function ( a ) { var c = this . e , e ; if ( e = ! ( ! c || a . message !== c . message || a . culprit !== c . culprit ) ) a . stacktrace || c . stacktrace ? c = A ( a . stacktrace ,
c . stacktrace ) : ( ( e = ! a . exception && ! c . exception ) || ( a = a . exception , c = c . exception , e = ! ( ! ! a ^ ! ! c ) && ( a = a . values [ 0 ] , c = c . values [ 0 ] , a . type === c . type && a . value === c . value && A ( a . stacktrace , c . stacktrace ) ) ) , c = e ) , e = c ; return e } , da : function ( a ) { if ( ! this . ba ( ) ) { var c = a . status ; if ( 400 === c || 401 === c || 429 === c ) { var e ; try { e = a . getResponseHeader ( "Retry-After" ) , e = 1E3 * parseInt ( e , 10 ) } catch ( V ) { } this . _ = e ? e : 2 * this . _ || 1E3 ; this . aa = + new Date } } } , P : function ( a ) { var c = this . k , e = { project : this . i , logger : c . logger , platform : "javascript" } , f = this . $ ( ) ; if ( f &&
( e . request = f ) , a . trimHeadFrames && delete a . trimHeadFrames , a = n ( e , a ) , a . tags = n ( n ( { } , this . j . tags ) , a . tags ) , a . extra = n ( n ( { } , this . j . extra ) , a . extra ) , a . extra [ "session:duration" ] = + new Date - this . r , this . t && 0 < this . t . length && ( a . breadcrumbs = { values : [ ] . slice . call ( this . t , 0 ) } ) , k ( a . tags ) && delete a . tags , this . j . user && ( a . user = this . j . user ) , c . environment && ( a . environment = c . environment ) , c . release && ( a . release = c . release ) , c . serverName && ( a . server _name = c . serverName ) , g ( c . dataCallback ) && ( a = c . dataCallback ( a ) || a ) , a && ! k ( a ) && ( ! g ( c . shouldSendCallback ) ||
c . shouldSendCallback ( a ) ) ) return this . ba ( ) ? void this . y ( "warn" , "Raven dropped error due to backoff: " , a ) : void ( "number" == typeof c . sampleRate ? Math . random ( ) < c . sampleRate && this . ea ( a ) : this . ea ( a ) ) } , fa : function ( ) { return y ( ) } , ea : function ( a , c ) { var e = this , f = this . k ; if ( this . isSetup ( ) ) { if ( this . f = a . event _id || ( a . event _id = this . fa ( ) ) , a = this . Z ( a ) , ! this . k . allowDuplicates && this . ca ( a ) ) return void this . y ( "warn" , "Raven dropped repeat event: " , a ) ; this . e = a ; this . y ( "debug" , "Raven about to send:" , a ) ; var g = { sentry _version : "7" ,
sentry _client : "raven-js/" + this . VERSION , sentry _key : this . h } ; this . F && ( g . sentry _secret = this . F ) ; var h = a . exception && a . exception . values [ 0 ] ; this . captureBreadcrumb ( { category : "sentry" , message : h ? ( h . type ? h . type + ": " : "" ) + h . value : a . message , event _id : a . event _id , level : a . level || "error" } ) ; var l = this . H ; ( f . transport || this . ga ) . call ( this , { url : l , auth : g , data : a , options : f , onSuccess : function ( ) { e . x ( ) ; e . R ( "success" , { data : a , src : l } ) ; c && c ( ) } , onError : function ( f ) { e . y ( "error" , "Raven transport failed to send: " , f ) ; f . request && e . da ( f . request ) ;
e . R ( "failure" , { data : a , src : l } ) ; f = f || Error ( "Raven send failed (no additional details provided)" ) ; c && c ( f ) } } ) } } , ga : function ( a ) { var c = new XMLHttpRequest ; if ( "withCredentials" in c || "undefined" != typeof XDomainRequest ) { var e = a . url ; "withCredentials" in c ? c . onreadystatechange = function ( ) { if ( 4 === c . readyState ) if ( 200 === c . status ) a . onSuccess && a . onSuccess ( ) ; else if ( a . onError ) { var e = Error ( "Sentry error code: " + c . status ) ; e . request = c ; a . onError ( e ) } } : ( c = new XDomainRequest , e = e . replace ( /^https?:/ , "" ) , a . onSuccess && ( c . onload =
a . onSuccess ) , a . onError && ( c . onerror = function ( ) { var e = Error ( "Sentry error code: XDomainRequest" ) ; e . request = c ; a . onError ( e ) } ) ) ; c . open ( "POST" , e + "?" + r ( a . auth ) ) ; c . send ( u ( a . data ) ) } } , y : function ( a ) { this . p [ a ] && this . debug && Function . prototype . apply . call ( this . p [ a ] , this . o , [ ] . slice . call ( arguments , 1 ) ) } , Q : function ( a , c ) { void 0 === c ? delete this . j [ a ] : this . j [ a ] = n ( this . j [ a ] || { } , c ) } } ; var T = Object . prototype ; a . prototype . setUser = a . prototype . setUserContext ; a . prototype . setReleaseContext = a . prototype . setRelease ; h . exports = a } ) . call ( this ,
"undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : { } ) } , { 1 : 1 , 2 : 2 , 5 : 5 , 6 : 6 , 7 : 7 } ] , 4 : [ function ( f , h , k ) { ( function ( c ) { var a = f ( 3 ) , g = "undefined" != typeof window ? window : "undefined" != typeof c ? c : "undefined" != typeof self ? self : { } , e = g . Raven , k = new a ; k . noConflict = function ( ) { return g . Raven = e , k } ; k . afterLoad ( ) ; h . exports = k } ) . call ( this , "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : { } ) } , { 3 : 3 } ] , 5 : [ function ( f , h , k ) { function c ( a ) { return "object" ==
typeof a && null !== a } h . exports = { isObject : c , isError : function ( a ) { var f = { } . toString . call ( a ) ; return c ( a ) && "[object Error]" === f || "[object Exception]" === f || a instanceof Error } } } , { } ] , 6 : [ function ( f , h , k ) { ( function ( c ) { function a ( ) { return "undefined" == typeof document || "undefined" == typeof document . location ? "" : document . location . href } var g = f ( 5 ) , e = { collectWindowErrors : ! 0 , debug : ! 1 } , k = "undefined" != typeof window ? window : "undefined" != typeof c ? c : "undefined" != typeof self ? self : { } , l = [ ] . slice , n = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/ ;
e . report = function ( ) { function c ( a , c ) { var f = null ; if ( ! c || e . collectWindowErrors ) { for ( var g in A ) if ( A . hasOwnProperty ( g ) ) try { A [ g ] . apply ( null , [ a ] . concat ( l . call ( arguments , 2 ) ) ) } catch ( L ) { f = L } if ( f ) throw f ; } } function f ( f , l , k , t , p ) { var q ; if ( u ) e . computeStackTrace . augmentStackTraceWithInitialElement ( u , l , k , f ) , h ( ) ; else { if ( p && g . isError ( p ) ) q = e . computeStackTrace ( p ) ; else { var r = { url : l , line : k , column : t } , w = void 0 , A = f ; "[object String]" === { } . toString . call ( f ) && ( q = f . match ( n ) ) && ( w = q [ 1 ] , A = q [ 2 ] ) ; r . func = "?" ; q = { name : w , message : A , url : a ( ) ,
stack : [ r ] } } c ( q , ! 0 ) } return ! ! y && y . apply ( this , arguments ) } function h ( ) { var a = u , e = D ; p = u = D = null ; c . apply ( null , [ a , ! 1 ] . concat ( e ) ) } function t ( a , c ) { var f = l . call ( arguments , 1 ) ; if ( u ) { if ( p === a ) return ; h ( ) } var g = e . computeStackTrace ( a ) ; if ( u = g , p = a , D = f , setTimeout ( function ( ) { p === a && h ( ) } , g . incomplete ? 2E3 : 0 ) , ! 1 !== c ) throw a ; } var y , F , A = [ ] , D = null , p = null , u = null ; return t . subscribe = function ( a ) { F || ( y = k . onerror , k . onerror = f , F = ! 0 ) ; A . push ( a ) } , t . unsubscribe = function ( a ) { for ( var c = A . length - 1 ; 0 <= c ; -- c ) A [ c ] === a && A . splice ( c , 1 ) } , t . uninstall =
function ( ) { F && ( k . onerror = y , F = ! 1 , y = void 0 ) ; A = [ ] } , t } ( ) ; e . computeStackTrace = function ( ) { function c ( c ) { if ( "undefined" != typeof c . stack && c . stack ) { for ( var e , f = /^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|<anonymous>).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i , g = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|resource|\[native).*?)(?::(\d+))?(?::(\d+))?\s*$/i , h = /^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i , l = c . stack . split ( "\n" ) ,
k = [ ] , n = ( /^(.*) is undefined$/ . exec ( c . message ) , 0 ) , t = l . length ; n < t ; ++ n ) { if ( e = f . exec ( l [ n ] ) ) { var q = e [ 2 ] && - 1 !== e [ 2 ] . indexOf ( "native" ) ; e = { url : q ? null : e [ 2 ] , func : e [ 1 ] || "?" , args : q ? [ e [ 2 ] ] : [ ] , line : e [ 3 ] ? + e [ 3 ] : null , column : e [ 4 ] ? + e [ 4 ] : null } } else if ( e = h . exec ( l [ n ] ) ) e = { url : e [ 2 ] , func : e [ 1 ] || "?" , args : [ ] , line : + e [ 3 ] , column : e [ 4 ] ? + e [ 4 ] : null } ; else { if ( ! ( e = g . exec ( l [ n ] ) ) ) continue ; e = { url : e [ 3 ] , func : e [ 1 ] || "?" , args : e [ 2 ] ? e [ 2 ] . split ( "," ) : [ ] , line : e [ 4 ] ? + e [ 4 ] : null , column : e [ 5 ] ? + e [ 5 ] : null } } ! e . func && e . line && ( e . func = "?" ) ; k . push ( e ) } return k . length ?
( k [ 0 ] . column || "undefined" == typeof c . columnNumber || ( k [ 0 ] . column = c . columnNumber + 1 ) , { name : c . name , message : c . message , url : a ( ) , stack : k } ) : null } } function f ( a , c , e , f ) { c = { url : c , line : e } ; if ( c . url && c . line ) { if ( a . incomplete = ! 1 , c . func || ( c . func = "?" ) , 0 < a . stack . length && a . stack [ 0 ] . url === c . url ) { if ( a . stack [ 0 ] . line === c . line ) return ! 1 ; if ( ! a . stack [ 0 ] . line && a . stack [ 0 ] . func === c . func ) return a . stack [ 0 ] . line = c . line , ! 1 } return a . stack . unshift ( c ) , a . partial = ! 0 , ! 0 } return a . incomplete = ! 0 , ! 1 } function g ( c , l ) { for ( var k , n , t = /function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i ,
q = [ ] , r = { } , w = ! 1 , y = g . caller ; y && ! w ; y = y . caller ) if ( y !== h && y !== e . report ) { if ( n = { url : null , func : "?" , line : null , column : null } , y . name ? n . func = y . name : ( k = t . exec ( y . toString ( ) ) ) && ( n . func = k [ 1 ] ) , "undefined" == typeof n . func ) try { n . func = k . input . substring ( 0 , k . input . indexOf ( "{" ) ) } catch ( K ) { } r [ "" + y ] ? w = ! 0 : r [ "" + y ] = ! 0 ; q . push ( n ) } l && q . splice ( 0 , l ) ; k = { name : c . name , message : c . message , url : a ( ) , stack : q } ; return f ( k , c . sourceURL || c . fileName , c . line || c . lineNumber , c . message || c . description ) , k } function h ( f , h ) { var l = null ; h = null == h ? 0 : + h ; try { if ( l =
c ( f ) ) return l } catch ( D ) { if ( e . debug ) throw D ; } try { if ( l = g ( f , h + 1 ) ) return l } catch ( D ) { if ( e . debug ) throw D ; } return { name : f . name , message : f . message , url : a ( ) } } return h . augmentStackTraceWithInitialElement = f , h . computeStackTraceFromStackProp = c , h } ( ) ; h . exports = e } ) . call ( this , "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : { } ) } , { 5 : 5 } ] , 7 : [ function ( f , h , k ) { function c ( a , c ) { for ( var e = 0 ; e < a . length ; ++ e ) if ( a [ e ] === c ) return e ; return - 1 } function a ( a , e ) { var f = [ ] , g = [ ] ; return null ==
e && ( e = function ( a , e ) { return f [ 0 ] === e ? "[Circular ~]" : "[Circular ~." + g . slice ( 0 , c ( f , e ) ) . join ( "." ) + "]" } ) , function ( h , l ) { if ( 0 < f . length ) { var k = c ( f , this ) ; ~ k ? f . splice ( k + 1 ) : f . push ( this ) ; ~ k ? g . splice ( k , 1 / 0 , h ) : g . push ( h ) ; ~ c ( f , l ) && ( l = e . call ( this , h , l ) ) } else f . push ( l ) ; return null == a ? l : a . call ( this , h , l ) } } k = h . exports = function ( c , e , f , h ) { return JSON . stringify ( c , a ( e , h ) , f ) } ; k . getSerialize = a } , { } ] } , { } , [ 4 ] ) ( 4 ) } ) ;
( function ( ) { function b ( a , b ) { if ( a !== b ) { var c = null === a , e = a === u , f = a === a , g = null === b , h = b === u , l = b === b ; if ( a > b && ! g || ! f || c && ! h && l || e && l ) return 1 ; if ( a < b && ! c || ! l || g && ! e && f || h && f ) return - 1 } return 0 } function f ( a , b , c ) { for ( var e = a . length , f = c ? e : - 1 ; c ? f -- : ++ f < e ; ) if ( b ( a [ f ] , f , a ) ) return f ; return - 1 } function h ( a , b , c ) { if ( b !== b ) return w ( a , c ) ; -- c ; for ( var e = a . length ; ++ c < e ; ) if ( a [ c ] === b ) return c ; return - 1 } function k ( a ) { return "function" == typeof a || ! 1 } function c ( a ) { return null == a ? "" : a + "" } function a ( a , b ) { for ( var c = - 1 , e = a . length ; ++ c <
e && - 1 < b . indexOf ( a . charAt ( c ) ) ; ) ; return c } function g ( a , b ) { for ( var c = a . length ; c -- && - 1 < b . indexOf ( a . charAt ( c ) ) ; ) ; return c } function e ( a , c ) { return b ( a . a , c . a ) || a . b - c . b } function t ( a ) { return rb [ a ] } function l ( a ) { return Nb [ a ] } function n ( a , b , c ) { return b ? a = Gd [ a ] : c && ( a = Gb [ a ] ) , "\\" + a } function q ( a ) { return "\\" + Gb [ a ] } function w ( a , b , c ) { var e = a . length ; for ( b += c ? 0 : - 1 ; c ? b -- : ++ b < e ; ) { var f = a [ b ] ; if ( f !== f ) return b } return - 1 } function r ( a ) { return ! ! a && "object" == typeof a } function z ( a ) { return 160 >= a && 9 <= a && 13 >= a || 32 == a || 160 == a || 5760 ==
a || 6158 == a || 8192 <= a && ( 8202 >= a || 8232 == a || 8233 == a || 8239 == a || 8287 == a || 12288 == a || 65279 == a ) } function y ( a , b ) { for ( var c = - 1 , e = a . length , f = - 1 , g = [ ] ; ++ c < e ; ) a [ c ] === b && ( a [ c ] = pa , g [ ++ f ] = c ) ; return g } function F ( a ) { for ( var b = - 1 , c = a . length ; ++ b < c && z ( a . charCodeAt ( b ) ) ; ) ; return b } function A ( a ) { for ( var b = a . length ; b -- && z ( a . charCodeAt ( b ) ) ; ) ; return b } function D ( a ) { return Pd [ a ] } function p ( z ) { function B ( a ) { if ( r ( a ) && ! ( qa ( a ) || a instanceof xa ) ) { if ( a instanceof yb ) return a ; if ( Ra . call ( a , "__chain__" ) && Ra . call ( a , "__wrapped__" ) ) return wc ( a ) } return new yb ( a ) }
function bb ( ) { } function yb ( a , b , c ) { this . _ _wrapped _ _ = a ; this . _ _actions _ _ = c || [ ] ; this . _ _chain _ _ = ! ! b } function xa ( a ) { this . _ _wrapped _ _ = a ; this . _ _actions _ _ = [ ] ; this . _ _dir _ _ = 1 ; this . _ _filtered _ _ = ! 1 ; this . _ _iteratees _ _ = [ ] ; this . _ _takeCount _ _ = Zc ; this . _ _views _ _ = [ ] } function ib ( ) { this . _ _data _ _ = { } } function rb ( a ) { var b = a ? a . length : 0 ; for ( this . data = { hash : dd ( null ) , set : new tc } ; b -- ; ) this . push ( a [ b ] ) } function tb ( a , b ) { var c = a . data ; return ( "string" == typeof b || Ha ( b ) ? c . set . has ( b ) : c . hash [ b ] ) ? 0 : - 1 } function fb ( a , b ) { var c = - 1 , d = a . length ;
for ( b || ( b = La ( d ) ) ; ++ c < d ; ) b [ c ] = a [ c ] ; return b } function qb ( a , b ) { for ( var c = - 1 , d = a . length ; ++ c < d && ! 1 !== b ( a [ c ] , c , a ) ; ) ; return a } function Nb ( a , b ) { for ( var c = - 1 , d = a . length ; ++ c < d ; ) if ( ! b ( a [ c ] , c , a ) ) return ! 1 ; return ! 0 } function Gb ( a , b ) { for ( var c = - 1 , d = a . length , e = - 1 , f = [ ] ; ++ c < d ; ) { var g = a [ c ] ; b ( g , c , a ) && ( f [ ++ e ] = g ) } return f } function kc ( a , b ) { for ( var c = - 1 , d = a . length , e = La ( d ) ; ++ c < d ; ) e [ c ] = b ( a [ c ] , c , a ) ; return e } function zb ( a , b ) { for ( var c = - 1 , d = b . length , e = a . length ; ++ c < d ; ) a [ e + c ] = b [ c ] ; return a } function Dc ( a , b , c , d ) { var e = - 1 , f = a . length ;
for ( d && f && ( c = a [ ++ e ] ) ; ++ e < f ; ) c = b ( c , a [ e ] , e , a ) ; return c } function Oe ( a , b ) { for ( var c = - 1 , d = a . length ; ++ c < d ; ) if ( b ( a [ c ] , c , a ) ) return ! 0 ; return ! 1 } function kf ( a , b , c , d ) { return a !== u && Ra . call ( d , c ) ? a : b } function Jd ( a , b , c ) { for ( var d = - 1 , e = za ( b ) , f = e . length ; ++ d < f ; ) { var g = e [ d ] , x = a [ g ] , h = c ( x , b [ g ] , g , a , b ) ; ( h === h ? h === x : x !== x ) && ( x !== u || g in a ) || ( a [ g ] = h ) } return a } function Fc ( a , b ) { return null == b ? a : Xd ( b , za ( b ) , a ) } function pd ( a , b ) { for ( var c = - 1 , d = null == a , e = ! d && Fa ( a ) , f = e ? a . length : 0 , g = b . length , x = La ( g ) ; ++ c < g ; ) { var h = b [ c ] ; x [ c ] = e ? Jb ( h ,
f ) ? a [ h ] : u : d ? u : a [ h ] } return x } function Xd ( a , b , c ) { c || ( c = { } ) ; for ( var d = - 1 , e = b . length ; ++ d < e ; ) { var f = b [ d ] ; c [ f ] = a [ f ] } return c } function Oc ( a , b , c ) { var d = typeof a ; return "function" == d ? b === u ? a : pb ( a , b , c ) : null == a ? fc : "object" == d ? rc ( a ) : b === u ? od ( a ) : Wa ( a , b ) } function db ( a , b , c , d , e , f , g ) { var x ; if ( c && ( x = e ? c ( a , d , e ) : c ( a ) ) , x !== u ) return x ; if ( ! Ha ( a ) ) return a ; if ( d = qa ( a ) ) { if ( x = Df ( a ) , ! b ) return fb ( a , x ) } else { var h = hb . call ( a ) , l = h == Ea ; if ( h != ha && h != ca && ( ! l || e ) ) return Ja [ h ] ? jc ( a , h , b ) : e ? a : { } ; if ( x = Ff ( l ? { } : a ) , ! b ) return Fc ( x , a ) } f || ( f = [ ] ) ;
g || ( g = [ ] ) ; for ( e = f . length ; e -- ; ) if ( f [ e ] == a ) return g [ e ] ; return f . push ( a ) , g . push ( x ) , ( d ? qb : Lb ) ( a , function ( d , e ) { x [ e ] = db ( d , b , c , e , a , f , g ) } ) , x } function Yb ( a , b , c ) { if ( "function" != typeof a ) throw new ub ( N ) ; return wd ( function ( ) { a . apply ( u , c ) } , b ) } function Pb ( a , b ) { var c = a ? a . length : 0 , d = [ ] ; if ( ! c ) return d ; var e = - 1 , f = lc ( ) , g = f === h , x = g && b . length >= V && dd && tc ? new rb ( b ) : null , l = b . length ; x && ( f = tb , g = ! 1 , b = x ) ; a : for ( ; ++ e < c ; ) if ( x = a [ e ] , g && x === x ) { for ( var k = l ; k -- ; ) if ( b [ k ] === x ) continue a ; d . push ( x ) } else 0 > f ( b , x , 0 ) && d . push ( x ) ; return d } function Yd ( a ,
b ) { var c = ! 0 ; return Bb ( a , function ( a , d , e ) { return c = ! ! b ( a , d , e ) } ) , c } function Zd ( a , b , c , d ) { var e = d , f = e ; return Bb ( a , function ( a , g , x ) { g = + b ( a , g , x ) ; ( c ( g , e ) || g === d && g === f ) && ( e = g , f = a ) } ) , f } function $d ( a , b ) { var c = [ ] ; return Bb ( a , function ( a , d , e ) { b ( a , d , e ) && c . push ( a ) } ) , c } function Pc ( a , b , c , d ) { var e ; return c ( a , function ( a , c , f ) { return b ( a , c , f ) ? ( e = d ? c : a , ! 1 ) : void 0 } ) , e } function gb ( a , b , c , d ) { d || ( d = [ ] ) ; for ( var e = - 1 , f = a . length ; ++ e < f ; ) { var g = a [ e ] ; r ( g ) && Fa ( g ) && ( c || qa ( g ) || Va ( g ) ) ? b ? gb ( g , b , c , d ) : zb ( d , g ) : c || ( d [ d . length ] = g ) } return d }
function Pe ( a , b ) { Dd ( a , b , Vb ) } function Lb ( a , b ) { return Dd ( a , b , za ) } function $b ( a , b ) { return De ( a , b , za ) } function qd ( a , b ) { for ( var c = - 1 , d = b . length , e = - 1 , f = [ ] ; ++ c < d ; ) { var g = b [ c ] ; Fb ( a [ g ] ) && ( f [ ++ e ] = g ) } return f } function jb ( a , b , c ) { if ( null != a ) { c !== u && c in Ya ( a ) && ( b = [ c ] ) ; c = 0 ; for ( var d = b . length ; null != a && c < d ; ) a = a [ b [ c ++ ] ] ; return c && c == d ? a : u } } function Qc ( a , b , c , d , e , f ) { if ( a === b ) a = ! 0 ; else if ( null == a || null == b || ! Ha ( a ) && ! r ( b ) ) a = a !== a && b !== b ; else a : { var g = Qc , x = qa ( a ) , h = qa ( b ) , l = W , k = W ; x || ( l = hb . call ( a ) , l == ca ? l = ha : l != ha && ( x = ic ( a ) ) ) ;
h || ( k = hb . call ( b ) , k == ca ? k = ha : k != ha && ic ( b ) ) ; var C = l == ha , h = k == ha , k = l == k ; if ( ! k || x || C ) if ( ! d && ( l = C && Ra . call ( a , "__wrapped__" ) , h = h && Ra . call ( b , "__wrapped__" ) , l || h ) ) a = g ( l ? a . value ( ) : a , h ? b . value ( ) : b , c , d , e , f ) ; else if ( k ) { e || ( e = [ ] ) ; f || ( f = [ ] ) ; for ( l = e . length ; l -- ; ) if ( e [ l ] == a ) { a = f [ l ] == b ; break a } e . push ( a ) ; f . push ( b ) ; a = ( x ? Cf : Vc ) ( a , b , g , c , d , e , f ) ; e . pop ( ) ; f . pop ( ) } else a = ! 1 ; else a = me ( a , b , l ) } return a } function Rc ( a , b , c ) { var d = b . length , e = d , f = ! c ; if ( null == a ) return ! e ; for ( a = Ya ( a ) ; d -- ; ) { var g = b [ d ] ; if ( f && g [ 2 ] ? g [ 1 ] !== a [ g [ 0 ] ] : ! ( g [ 0 ] in
a ) ) return ! 1 } for ( ; ++ d < e ; ) { var g = b [ d ] , x = g [ 0 ] , h = a [ x ] , l = g [ 1 ] ; if ( f && g [ 2 ] ) { if ( h === u && ! ( x in a ) ) return ! 1 } else if ( g = c ? c ( h , l , x ) : u , g === u ? ! Qc ( l , h , c , ! 0 ) : ! g ) return ! 1 } return ! 0 } function be ( a , b ) { var c = - 1 , d = Fa ( a ) ? La ( a . length ) : [ ] ; return Bb ( a , function ( a , e , f ) { d [ ++ c ] = b ( a , e , f ) } ) , d } function rc ( a ) { var b = ne ( a ) ; if ( 1 == b . length && b [ 0 ] [ 2 ] ) { var c = b [ 0 ] [ 0 ] , d = b [ 0 ] [ 1 ] ; return function ( a ) { return null != a && a [ c ] === d && ( d !== u || c in Ya ( a ) ) } } return function ( a ) { return Rc ( a , b ) } } function Wa ( a , b ) { var c = qa ( a ) , d = va ( a ) && b === b && ! Ha ( b ) , e = a + "" ; return a =
Na ( a ) , function ( f ) { if ( null == f ) return ! 1 ; var g = e ; if ( f = Ya ( f ) , ! ( ! c && d || g in f ) ) { if ( f = 1 == a . length ? f : jb ( f , kb ( a , 0 , - 1 ) ) , null == f ) return ! 1 ; g = sc ( a ) ; f = Ya ( f ) } return f [ g ] === b ? b !== u || g in f : Qc ( b , f [ g ] , u , ! 0 ) } } function ce ( a , b , c , d , e ) { if ( ! Ha ( a ) ) return a ; var f = Fa ( b ) && ( qa ( b ) || ic ( b ) ) , g = f ? u : za ( b ) ; return qb ( g || b , function ( h , l ) { if ( g && ( l = h , h = b [ l ] ) , r ( h ) ) { d || ( d = [ ] ) ; e || ( e = [ ] ) ; a : { for ( var x = l , k = d , C = e , m = k . length , v = b [ x ] ; m -- ; ) if ( k [ m ] == v ) { a [ x ] = C [ m ] ; break a } var m = a [ x ] , P = c ? c ( m , v , x , a , b ) : u , n = P === u ; n && ( P = v , Fa ( v ) && ( qa ( v ) || ic ( v ) ) ? P = qa ( m ) ? m :
Fa ( m ) ? fb ( m ) : [ ] : Kc ( v ) || Va ( v ) ? P = Va ( m ) ? Me ( m ) : Kc ( m ) ? m : { } : n = ! 1 ) ; k . push ( v ) ; C . push ( P ) ; n ? a [ x ] = ce ( P , v , c , k , C ) : ( P === P ? P !== m : m === m ) && ( a [ x ] = P ) } } else x = a [ l ] , k = c ? c ( x , h , l , a , b ) : u , ( C = k === u ) && ( k = h ) , k === u && ( ! f || l in a ) || ! C && ( k === k ? k === x : x !== x ) || ( a [ l ] = k ) } ) , a } function rd ( a ) { return function ( b ) { return null == b ? u : b [ a ] } } function nf ( a ) { var b = a + "" ; return a = Na ( a ) , function ( c ) { return jb ( c , a , b ) } } function de ( a , b ) { for ( var c = a ? b . length : 0 ; c -- ; ) { var d = b [ c ] ; if ( d != e && Jb ( d ) ) { var e = d ; Bf . call ( a , d , 1 ) } } } function sd ( a , b ) { return a + Db ( Kf ( ) * ( b -
a + 1 ) ) } function of ( a , b , c , d , e ) { return e ( a , function ( a , e , f ) { c = d ? ( d = ! 1 , a ) : b ( c , a , e , f ) } ) , c } function kb ( a , b , c ) { var d = - 1 , e = a . length ; b = null == b ? 0 : + b || 0 ; 0 > b && ( b = - b > e ? 0 : e + b ) ; c = c === u || c > e ? e : + c || 0 ; 0 > c && ( c += e ) ; e = b > c ? 0 : c - b >>> 0 ; b >>>= 0 ; for ( c = La ( e ) ; ++ d < e ; ) c [ d ] = a [ d + b ] ; return c } function Gd ( a , b ) { var c ; return Bb ( a , function ( a , d , e ) { return c = b ( a , d , e ) , ! c } ) , ! ! c } function Qe ( a , b ) { var c = a . length ; for ( a . sort ( b ) ; c -- ; ) a [ c ] = a [ c ] . c ; return a } function Re ( a , c , d ) { var e = Da ( ) , f = - 1 ; return c = kc ( c , function ( a ) { return e ( a ) } ) , a = be ( a , function ( a ) { return { a : kc ( c ,
function ( b ) { return b ( a ) } ) , b : ++ f , c : a } } ) , Qe ( a , function ( a , c ) { var e ; a : { for ( var f = - 1 , g = a . a , h = c . a , l = g . length , x = d . length ; ++ f < l ; ) if ( e = b ( g [ f ] , h [ f ] ) ) { if ( f >= x ) break a ; f = d [ f ] ; e *= "asc" === f || ! 0 === f ? 1 : - 1 ; break a } e = a . b - c . b } return e } ) } function pf ( a , b ) { var c = 0 ; return Bb ( a , function ( a , d , e ) { c += + b ( a , d , e ) || 0 } ) , c } function Ld ( a , b ) { var c = - 1 , d = lc ( ) , e = a . length , f = d === h , g = f && e >= V , l = g && dd && tc ? new rb ( void 0 ) : null , x = [ ] ; l ? ( d = tb , f = ! 1 ) : ( g = ! 1 , l = b ? [ ] : x ) ; a : for ( ; ++ c < e ; ) { var k = a [ c ] , C = b ? b ( k , c , a ) : k ; if ( f && k === k ) { for ( var m = l . length ; m -- ; ) if ( l [ m ] ===
C ) continue a ; b && l . push ( C ) ; x . push ( k ) } else 0 > d ( l , C , 0 ) && ( ( b || g ) && l . push ( C ) , x . push ( k ) ) } return x } function Kd ( a , b ) { for ( var c = - 1 , d = b . length , e = La ( d ) ; ++ c < d ; ) e [ c ] = a [ b [ c ] ] ; return e } function cd ( a , b , c , d ) { for ( var e = a . length , f = d ? e : - 1 ; ( d ? f -- : ++ f < e ) && b ( a [ f ] , f , a ) ; ) ; return c ? kb ( a , d ? 0 : f , d ? f + 1 : e ) : kb ( a , d ? f + 1 : 0 , d ? e : f ) } function qf ( a , b ) { var c = a ; c instanceof xa && ( c = c . value ( ) ) ; for ( var d = - 1 , e = b . length ; ++ d < e ; ) var f = b [ d ] , c = f . func . apply ( f . thisArg , zb ( [ c ] , f . args ) ) ; return c } function td ( a , b , c ) { var d = 0 , e = a ? a . length : d ; if ( "number" == typeof b &&
b === b && e <= Mf ) { for ( ; d < e ; ) { var f = d + e >>> 1 , g = a [ f ] ; ( c ? g <= b : g < b ) && null !== g ? d = f + 1 : e = f } return e } return Se ( a , b , fc , c ) } function Se ( a , b , c , d ) { b = c ( b ) ; for ( var e = 0 , f = a ? a . length : 0 , g = b !== b , h = null === b , l = b === u ; e < f ; ) { var x = Db ( ( e + f ) / 2 ) , k = c ( a [ x ] ) , C = k !== u , m = k === k ; ( g ? m || d : h ? m && C && ( d || null != k ) : l ? m && ( d || C ) : null == k ? 0 : d ? k <= b : k < b ) ? e = x + 1 : f = x } return mb ( f , re ) } function pb ( a , b , c ) { if ( "function" != typeof a ) return fc ; if ( b === u ) return a ; switch ( c ) { case 1 : return function ( c ) { return a . call ( b , c ) } ; case 3 : return function ( c , d , e ) { return a . call ( b ,
c , d , e ) } ; case 4 : return function ( c , d , e , f ) { return a . call ( b , c , d , e , f ) } ; case 5 : return function ( c , d , e , f , g ) { return a . call ( b , c , d , e , f , g ) } } return function ( ) { return a . apply ( b , arguments ) } } function Te ( a ) { var b = new Ab ( a . byteLength ) ; return ( new Af ( b ) ) . set ( new Af ( a ) ) , b } function Ue ( a , b , c ) { for ( var d = c . length , e = - 1 , f = $a ( a . length - d , 0 ) , g = - 1 , h = b . length , l = La ( h + f ) ; ++ g < h ; ) l [ g ] = b [ g ] ; for ( ; ++ e < d ; ) l [ c [ e ] ] = a [ e ] ; for ( ; f -- ; ) l [ g ++ ] = a [ e ++ ] ; return l } function Ve ( a , b , c ) { for ( var d = - 1 , e = c . length , f = - 1 , g = $a ( a . length - e , 0 ) , h = - 1 , l = b . length , x = La ( g +
l ) ; ++ f < g ; ) x [ f ] = a [ f ] ; for ( g = f ; ++ h < l ; ) x [ g + h ] = b [ h ] ; for ( ; ++ d < e ; ) x [ g + c [ d ] ] = a [ f ++ ] ; return x } function hd ( a , b ) { return function ( c , d , e ) { var f = b ? b ( ) : { } ; if ( d = Da ( d , e , 3 ) , qa ( c ) ) { e = - 1 ; for ( var g = c . length ; ++ e < g ; ) { var h = c [ e ] ; a ( f , h , d ( h , e , c ) , c ) } } else Bb ( c , function ( b , c , e ) { a ( f , b , d ( b , c , e ) , e ) } ) ; return f } } function Ob ( a ) { return Ba ( function ( b , c ) { var d = - 1 , e = null == b ? 0 : c . length , f = 2 < e ? c [ e - 2 ] : u , g = 2 < e ? c [ 2 ] : u , h = 1 < e ? c [ e - 1 ] : u ; "function" == typeof f ? ( f = pb ( f , h , 5 ) , e -= 2 ) : ( f = "function" == typeof h ? h : u , e -= f ? 1 : 0 ) ; for ( g && ua ( c [ 0 ] , c [ 1 ] , g ) && ( f = 3 > e ?
u : f , e = 1 ) ; ++ d < e ; ) ( g = c [ d ] ) && a ( b , g , f ) ; return b } ) } function Wd ( a , b ) { return function ( c , d ) { var e = c ? Bc ( c ) : 0 ; if ( ! ob ( e ) ) return a ( c , d ) ; for ( var f = b ? e : - 1 , g = Ya ( c ) ; ( b ? f -- : ++ f < e ) && ! 1 !== d ( g [ f ] , f , g ) ; ) ; return c } } function We ( a ) { return function ( b , c , d ) { var e = Ya ( b ) ; d = d ( b ) ; for ( var f = d . length , g = a ? f : - 1 ; a ? g -- : ++ g < f ; ) { var h = d [ g ] ; if ( ! 1 === c ( e [ h ] , h , e ) ) break } return b } } function sf ( a , b ) { function c ( ) { return ( this && this !== Eb && this instanceof c ? d : a ) . apply ( b , arguments ) } var d = Ec ( a ) ; return c } function id ( a ) { return function ( b ) { var c = - 1 ; b =
gf ( Le ( b ) ) ; for ( var d = b . length , e = "" ; ++ c < d ; ) e = a ( e , b [ c ] , c ) ; return e } } function Ec ( a ) { return function ( ) { var b = arguments ; switch ( b . length ) { case 0 : return new a ; case 1 : return new a ( b [ 0 ] ) ; case 2 : return new a ( b [ 0 ] , b [ 1 ] ) ; case 3 : return new a ( b [ 0 ] , b [ 1 ] , b [ 2 ] ) ; case 4 : return new a ( b [ 0 ] , b [ 1 ] , b [ 2 ] , b [ 3 ] ) ; case 5 : return new a ( b [ 0 ] , b [ 1 ] , b [ 2 ] , b [ 3 ] , b [ 4 ] ) ; case 6 : return new a ( b [ 0 ] , b [ 1 ] , b [ 2 ] , b [ 3 ] , b [ 4 ] , b [ 5 ] ) ; case 7 : return new a ( b [ 0 ] , b [ 1 ] , b [ 2 ] , b [ 3 ] , b [ 4 ] , b [ 5 ] , b [ 6 ] ) } var c = oc ( a . prototype ) , b = a . apply ( c , b ) ; return Ha ( b ) ? b : c } } function tf ( a ) { function b ( c ,
d , e ) { return e && ua ( c , d , e ) && ( d = u ) , c = lb ( c , a , u , u , u , u , u , d ) , c . placeholder = b . placeholder , c } return b } function vf ( a , b ) { return Ba ( function ( c ) { var d = c [ 0 ] ; return null == d ? d : ( c . push ( b ) , a . apply ( u , c ) ) } ) } function bc ( a , b ) { return function ( c , d , e ) { if ( e && ua ( c , d , e ) && ( d = u ) , d = Da ( d , e , 3 ) , 1 == d . length ) { e = c = qa ( c ) ? c : vc ( c ) ; for ( var f = d , g = - 1 , h = e . length , l = b , x = l ; ++ g < h ; ) { var k = e [ g ] , C = + f ( k ) ; a ( C , l ) && ( l = C , x = k ) } if ( e = x , ! c . length || e !== b ) return e } return Zd ( c , d , a , b ) } } function vd ( a , b ) { return function ( c , d , e ) { return d = Da ( d , e , 3 ) , qa ( c ) ? ( d = f ( c , d ,
b ) , - 1 < d ? c [ d ] : u ) : Pc ( c , d , a ) } } function ee ( a ) { return function ( b , c , d ) { return b && b . length ? ( c = Da ( c , d , 3 ) , f ( b , c , a ) ) : - 1 } } function he ( a ) { return function ( b , c , d ) { return c = Da ( c , d , 3 ) , Pc ( b , c , a , ! 0 ) } } function wf ( a ) { return function ( ) { for ( var b , c = arguments . length , d = a ? c : - 1 , e = 0 , f = La ( c ) ; a ? d -- : ++ d < c ; ) { var g = f [ e ++ ] = arguments [ d ] ; if ( "function" != typeof g ) throw new ub ( N ) ; ! b && yb . prototype . thru && "wrapper" == cc ( g ) && ( b = new yb ( [ ] , ! 0 ) ) } for ( d = b ? - 1 : c ; ++ d < c ; ) { var g = f [ d ] , e = cc ( g ) , h = "wrapper" == e ? Ed ( g ) : u ; b = h && vb ( h [ 0 ] ) && h [ 1 ] == ( R | L | X | Y ) && ! h [ 4 ] . length &&
1 == h [ 9 ] ? b [ cc ( h [ 0 ] ) ] . apply ( b , h [ 3 ] ) : 1 == g . length && vb ( g ) ? b [ e ] ( ) : b . thru ( g ) } return function ( ) { var a = arguments , d = a [ 0 ] ; if ( b && 1 == a . length && qa ( d ) && d . length >= V ) return b . plant ( d ) . value ( ) ; for ( var e = 0 , a = c ? f [ e ] . apply ( this , a ) : d ; ++ e < c ; ) a = f [ e ] . call ( this , a ) ; return a } } } function zf ( a , b ) { return function ( c , d , e ) { return "function" == typeof d && e === u && qa ( c ) ? a ( c , d ) : b ( c , pb ( d , e , 3 ) ) } } function je ( a ) { return function ( b , c , d ) { return ( "function" != typeof c || d !== u ) && ( c = pb ( c , d , 3 ) ) , a ( b , c , Vb ) } } function Sc ( a ) { return function ( b , c , d ) { return ( "function" !=
typeof c || d !== u ) && ( c = pb ( c , d , 3 ) ) , a ( b , c ) } } function ab ( a ) { return function ( b , c , d ) { var e = { } ; return c = Da ( c , d , 3 ) , Lb ( b , function ( b , d , f ) { f = c ( b , d , f ) ; d = a ? f : d ; b = a ? b : f ; e [ d ] = b } ) , e } } function Tc ( a ) { return function ( b , d , e ) { return b = c ( b ) , ( a ? b : "" ) + fe ( b , d , e ) + ( a ? "" : b ) } } function ke ( a ) { var b = Ba ( function ( c , d ) { var e = y ( d , b . placeholder ) ; return lb ( c , a , u , d , e ) } ) ; return b } function le ( a , b ) { return function ( c , d , e , f ) { var g = 3 > arguments . length ; return "function" == typeof d && f === u && qa ( c ) ? a ( c , d , e , g ) : of ( c , Da ( d , f , 4 ) , e , g , b ) } } function Uc ( a , b , c ,
d , e , f , g , h , l , k ) { function x ( ) { for ( var q = arguments . length , r = q , w = La ( q ) ; r -- ; ) w [ r ] = arguments [ r ] ; if ( d && ( w = Ue ( w , d , e ) ) , f && ( w = Ve ( w , f , g ) ) , n || t ) { var r = x . placeholder , Ca = y ( w , r ) , q = q - Ca . length ; if ( q < k ) { var z = h ? fb ( h ) : u , q = $a ( k - q , 0 ) , A = n ? Ca : u , Ca = n ? u : Ca , ia = n ? w : u , w = n ? u : w ; return b |= n ? X : I , b &= ~ ( n ? I : X ) , P || ( b &= ~ ( M | H ) ) , w = [ a , b , c , ia , A , w , Ca , z , l , q ] , z = Uc . apply ( u , w ) , vb ( a ) && Ee ( z , w ) , z . placeholder = r , z } } if ( r = m ? c : this , z = v ? r [ a ] : a , h ) for ( q = w . length , A = mb ( h . length , q ) , Ca = fb ( w ) ; A -- ; ) ia = h [ A ] , w [ A ] = Jb ( ia , q ) ? Ca [ ia ] : u ; return C && l < w . length && ( w . length =
l ) , this && this !== Eb && this instanceof x && ( z = p || Ec ( a ) ) , z . apply ( r , w ) } var C = b & R , m = b & M , v = b & H , n = b & L , P = b & K , t = b & S , p = v ? u : Ec ( a ) ; return x } function fe ( a , b , c ) { return a = a . length , b = + b , a < b && nc ( b ) ? ( b -= a , c = null == c ? " " : c + "" , cb ( c , ud ( b / c . length ) ) . slice ( 0 , b ) ) : "" } function Id ( a , b , c , d ) { function e ( ) { for ( var b = - 1 , h = arguments . length , l = - 1 , k = d . length , x = La ( k + h ) ; ++ l < k ; ) x [ l ] = d [ l ] ; for ( ; h -- ; ) x [ l ++ ] = arguments [ ++ b ] ; return ( this && this !== Eb && this instanceof e ? g : a ) . apply ( f ? c : this , x ) } var f = b & M , g = Ec ( a ) ; return e } function ge ( a ) { var b = mc [ a ] ; return function ( a ,
c ) { return ( c = c === u ? 0 : + c || 0 ) ? ( c = yf ( 10 , c ) , b ( a * c ) / c ) : b ( a ) } } function ie ( a ) { return function ( b , c , d , e ) { var f = Da ( d ) ; return null == d && f === Oc ? td ( b , c , a ) : Se ( b , c , f ( d , e , 1 ) , a ) } } function lb ( a , b , c , d , e , f , g , h ) { var l = b & H ; if ( ! l && "function" != typeof a ) throw new ub ( N ) ; var k = d ? d . length : 0 ; if ( k || ( b &= ~ ( X | I ) , d = e = u ) , k -= e ? e . length : 0 , b & I ) { var x = d , m = e ; d = e = u } var C = l ? u : Ed ( a ) ; return c = [ a , b , c , d , e , x , m , f , g , h ] , C && ( d = c [ 1 ] , b = C [ 1 ] , h = d | b , e = b == R && d == L || b == R && d == Y && c [ 7 ] . length <= C [ 8 ] || b == ( R | Y ) && d == L , ( h < R || e ) && ( b & M && ( c [ 2 ] = C [ 2 ] , h |= d & M ? 0 : K ) , ( d = C [ 3 ] ) &&
( e = c [ 3 ] , c [ 3 ] = e ? Ue ( e , d , C [ 4 ] ) : fb ( d ) , c [ 4 ] = e ? y ( c [ 3 ] , pa ) : fb ( C [ 4 ] ) ) , ( d = C [ 5 ] ) && ( e = c [ 5 ] , c [ 5 ] = e ? Ve ( e , d , C [ 6 ] ) : fb ( d ) , c [ 6 ] = e ? y ( c [ 5 ] , pa ) : fb ( C [ 6 ] ) ) , ( d = C [ 7 ] ) && ( c [ 7 ] = fb ( d ) ) , b & R && ( c [ 8 ] = null == c [ 8 ] ? C [ 8 ] : mb ( c [ 8 ] , C [ 8 ] ) ) , null == c [ 9 ] && ( c [ 9 ] = C [ 9 ] ) , c [ 0 ] = C [ 0 ] , c [ 1 ] = h ) , b = c [ 1 ] , h = c [ 9 ] ) , c [ 9 ] = null == h ? l ? 0 : a . length : $a ( h - k , 0 ) || 0 , ( C ? Ce : Ee ) ( b == M ? sf ( c [ 0 ] , c [ 2 ] ) : b != X && b != ( M | X ) || c [ 4 ] . length ? Uc . apply ( u , c ) : Id . apply ( u , c ) , c ) } function Cf ( a , b , c , d , e , f , g ) { var h = - 1 , l = a . length , k = b . length ; if ( l != k && ( ! e || k <= l ) ) return ! 1 ; for ( ; ++ h < l ; ) { var x = a [ h ] , k = b [ h ] ,
m = d ? d ( e ? k : x , e ? x : k , h ) : u ; if ( m !== u ) { if ( m ) continue ; return ! 1 } if ( e ) { if ( ! Oe ( b , function ( a ) { return x === a || c ( x , a , d , e , f , g ) } ) ) return ! 1 } else if ( x !== k && ! c ( x , k , d , e , f , g ) ) return ! 1 } return ! 0 } function me ( a , b , c ) { switch ( c ) { case da : case la : return + a == + b ; case ma : return a . name == b . name && a . message == b . message ; case wa : return a != + a ? b != + b : a == + b ; case v : case ra : return a == b + "" } return ! 1 } function Vc ( a , b , c , d , e , f , g ) { var h = za ( a ) , l = h . length , k = za ( b ) . length ; if ( l != k && ! e ) return ! 1 ; for ( k = l ; k -- ; ) { var x = h [ k ] ; if ( ! ( e ? x in b : Ra . call ( b , x ) ) ) return ! 1 } for ( var m =
e ; ++ k < l ; ) { var x = h [ k ] , C = a [ x ] , v = b [ x ] , n = d ? d ( e ? v : C , e ? C : v , x ) : u ; if ( n === u ? ! c ( C , v , d , e , f , g ) : ! n ) return ! 1 ; m || ( m = "constructor" == x ) } return ! ( ! m && ( c = a . constructor , d = b . constructor , c != d && "constructor" in a && "constructor" in b && ! ( "function" == typeof c && c instanceof c && "function" == typeof d && d instanceof d ) ) ) } function Da ( a , b , c ) { var d = B . callback || Mc , d = d === Mc ? Oc : d ; return c ? d ( a , b , c ) : d } function cc ( a ) { for ( var b = a . name + "" , c = $c [ b ] , d = c ? c . length : 0 ; d -- ; ) { var e = c [ d ] , f = e . func ; if ( null == f || f == a ) return e . name } return b } function lc ( a , b ,
c ) { var d = B . indexOf || Ga , d = d === Ga ? h : d ; return a ? d ( a , b , c ) : d } function ne ( a ) { a = Ne ( a ) ; for ( var b = a . length ; b -- ; ) { var c = a [ b ] [ 1 ] ; a [ b ] [ 2 ] = c === c && ! Ha ( c ) } return a } function dc ( a , b ) { var c = null == a ? u : a [ b ] ; return Ud ( c ) ? c : u } function Df ( a ) { var b = a . length , c = new a . constructor ( b ) ; return b && "string" == typeof a [ 0 ] && Ra . call ( a , "index" ) && ( c . index = a . index , c . input = a . input ) , c } function Ff ( a ) { return a = a . constructor , "function" == typeof a && a instanceof a || ( a = Hb ) , new a } function jc ( a , b , c ) { var d = a . constructor ; switch ( b ) { case Aa : return Te ( a ) ;
case da : case la : return new d ( + a ) ; case ba : case Za : case Ia : case ia : case ya : case Ua : case nb : case Sb : case xb : return b = a . buffer , new d ( c ? Te ( b ) : b , a . byteOffset , a . length ) ; case wa : case ra : return new d ( a ) ; case v : var e = new d ( a . source , sa . exec ( a ) ) ; e . lastIndex = a . lastIndex } return e } function ga ( a , b , c ) { return null == a || va ( b , a ) || ( b = Na ( b ) , a = 1 == b . length ? a : jb ( a , kb ( b , 0 , - 1 ) ) , b = sc ( b ) ) , b = null == a ? a : a [ b ] , null == b ? u : b . apply ( a , c ) } function Fa ( a ) { return null != a && ob ( Bc ( a ) ) } function Jb ( a , b ) { return a = "number" == typeof a || qc . test ( a ) ? + a :
- 1 , b = null == b ? se : b , - 1 < a && 0 == a % 1 && a < b } function ua ( a , b , c ) { if ( ! Ha ( c ) ) return ! 1 ; var d = typeof b ; return ! ! ( "number" == d ? Fa ( c ) && Jb ( b , c . length ) : "string" == d && b in c ) && ( b = c [ b ] , a === a ? a === b : b !== b ) } function va ( a , b ) { var c = typeof a ; return ! ! ( "string" == c && cf . test ( a ) || "number" == c ) || ! qa ( a ) && ( ! md . test ( a ) || null != b && a in Ya ( b ) ) } function vb ( a ) { var b = cc ( a ) , c = B [ b ] ; return "function" == typeof c && b in xa . prototype && ( a === c || ( b = Ed ( c ) , ! ! b && a === b [ 0 ] ) ) } function ob ( a ) { return "number" == typeof a && - 1 < a && 0 == a % 1 && a <= se } function Cb ( a , b ) { return a ===
u ? b : ed ( a , b , Cb ) } function ff ( a , b ) { a = Ya ( a ) ; for ( var c = - 1 , d = b . length , e = { } ; ++ c < d ; ) { var f = b [ c ] ; f in a && ( e [ f ] = a [ f ] ) } return e } function Gf ( a , b ) { var c = { } ; return Pe ( a , function ( a , d , e ) { b ( a , d , e ) && ( c [ d ] = a ) } ) , c } function wb ( a ) { for ( var b = Vb ( a ) , c = b . length , d = c && a . length , e = ! ! d && ob ( d ) && ( qa ( a ) || Va ( a ) ) , f = - 1 , g = [ ] ; ++ f < c ; ) { var h = b [ f ] ; ( e && Jb ( h , d ) || Ra . call ( a , h ) ) && g . push ( h ) } return g } function vc ( a ) { return null == a ? [ ] : Fa ( a ) ? Ha ( a ) ? a : Hb ( a ) : gd ( a ) } function Ya ( a ) { return Ha ( a ) ? a : Hb ( a ) } function Na ( a ) { if ( qa ( a ) ) return a ; var b = [ ] ; return c ( a ) . replace ( fa ,
function ( a , c , d , e ) { b . push ( d ? e . replace ( Xa , "$1" ) : c || a ) } ) , b } function wc ( a ) { return a instanceof xa ? a . clone ( ) : new yb ( a . _ _wrapped _ _ , a . _ _chain _ _ , fb ( a . _ _actions _ _ ) ) } function ad ( a , b , c ) { return a && a . length ? ( ( c ? ua ( a , b , c ) : null == b ) && ( b = 1 ) , kb ( a , 0 > b ? 0 : b ) ) : [ ] } function oa ( a , b , c ) { var d = a ? a . length : 0 ; return d ? ( ( c ? ua ( a , b , c ) : null == b ) && ( b = 1 ) , b = d - ( + b || 0 ) , kb ( a , 0 , 0 > b ? 0 : b ) ) : [ ] } function xe ( a ) { return a ? a [ 0 ] : u } function Ga ( a , b , c ) { var d = a ? a . length : 0 ; if ( ! d ) return - 1 ; if ( "number" == typeof c ) c = 0 > c ? $a ( d + c , 0 ) : c ; else if ( c ) return c = td ( a , b ) ,
c < d && ( b === b ? b === a [ c ] : a [ c ] !== a [ c ] ) ? c : - 1 ; return h ( a , b , c || 0 ) } function sc ( a ) { var b = a ? a . length : 0 ; return b ? a [ b - 1 ] : u } function Ub ( a ) { return ad ( a , 1 ) } function xc ( a , b , c , d ) { if ( ! a || ! a . length ) return [ ] ; null != b && "boolean" != typeof b && ( d = c , c = ua ( a , b , d ) ? u : b , b = ! 1 ) ; var e = Da ( ) ; if ( ( null != c || e !== Oc ) && ( c = e ( c , d , 3 ) ) , b && lc ( ) === h ) { b = c ; var f ; c = - 1 ; d = a . length ; for ( var e = - 1 , g = [ ] ; ++ c < d ; ) { var l = a [ c ] , k = b ? b ( l , c , a ) : l ; c && f === k || ( f = k , g [ ++ e ] = l ) } a = g } else a = Ld ( a , c ) ; return a } function Bd ( a ) { if ( ! a || ! a . length ) return [ ] ; var b = - 1 , c = 0 ; a = Gb ( a , function ( a ) { return Fa ( a ) ?
( c = $a ( a . length , c ) , ! 0 ) : void 0 } ) ; for ( var d = La ( c ) ; ++ b < c ; ) d [ b ] = kc ( a , rd ( b ) ) ; return d } function ec ( a , b , c ) { return a && a . length ? ( a = Bd ( a ) , null == b ? a : ( b = pb ( b , c , 4 ) , kc ( a , function ( a ) { return Dc ( a , b , u , ! 0 ) } ) ) ) : [ ] } function ye ( a , b ) { var c = - 1 , d = a ? a . length : 0 , e = { } ; for ( ! d || b || qa ( a [ 0 ] ) || ( b = [ ] ) ; ++ c < d ; ) { var f = a [ c ] ; b ? e [ f ] = b [ c ] : f && ( e [ f [ 0 ] ] = f [ 1 ] ) } return e } function Cd ( a ) { return a = B ( a ) , a . _ _chain _ _ = ! 0 , a } function Qb ( a , b , c ) { return b . call ( c , a ) } function Ae ( a , b , c ) { var d = qa ( a ) ? Nb : Yd ; return c && ua ( a , b , c ) && ( b = u ) , ( "function" != typeof b || c !==
u ) && ( b = Da ( b , c , 3 ) ) , d ( a , b ) } function gc ( a , b , c ) { var d = qa ( a ) ? Gb : $d ; return b = Da ( b , c , 3 ) , d ( a , b ) } function Nd ( a , b , c , d ) { var e = a ? Bc ( a ) : 0 ; return ob ( e ) || ( a = gd ( a ) , e = a . length ) , c = "number" != typeof c || d && ua ( b , c , d ) ? 0 : 0 > c ? $a ( e + c , 0 ) : c || 0 , "string" == typeof a || ! qa ( a ) && oe ( a ) ? c <= e && - 1 < a . indexOf ( b , c ) : ! ! e && - 1 < lc ( a , b , c ) } function Md ( a , b , c ) { var d = qa ( a ) ? kc : be ; return b = Da ( b , c , 3 ) , d ( a , b ) } function jd ( a , b , c ) { if ( c ? ua ( a , b , c ) : null == b ) { a = vc ( a ) ; var d = a . length ; return 0 < d ? a [ sd ( 0 , d - 1 ) ] : u } c = - 1 ; a = pe ( a ) ; var d = a . length , e = d - 1 ; for ( b = mb ( 0 > b ? 0 : + b || 0 ,
d ) ; ++ c < b ; ) { var d = sd ( c , e ) , f = a [ d ] ; a [ d ] = a [ c ] ; a [ c ] = f } return a . length = b , a } function Hc ( a , b , c ) { var d = qa ( a ) ? Oe : Gd ; return c && ua ( a , b , c ) && ( b = u ) , ( "function" != typeof b || c !== u ) && ( b = Da ( b , c , 3 ) ) , d ( a , b ) } function kd ( a , b ) { var c ; if ( "function" != typeof b ) { if ( "function" != typeof a ) throw new ub ( N ) ; b = a = b } return function ( ) { return 0 < -- a && ( c = b . apply ( this , arguments ) ) , 1 >= a && ( b = u ) , c } } function bf ( a , b , c ) { function d ( b , c ) { c && Ta ( c ) ; l = v = C = u ; b && ( n = Cc ( ) , k = a . apply ( m , h ) , v || l || ( h = m = u ) ) } function e ( ) { var a = b - ( Cc ( ) - x ) ; 0 >= a || a > b ? d ( C , l ) : v = wd ( e ,
a ) } function f ( ) { d ( q , v ) } function g ( ) { if ( h = arguments , x = Cc ( ) , m = this , C = q && ( v || ! p ) , ! 1 === t ) var c = p && ! v ; else { l || p || ( n = x ) ; var d = t - ( x - n ) , g = 0 >= d || d > t ; g ? ( l && ( l = Ta ( l ) ) , n = x , k = a . apply ( m , h ) ) : l || ( l = wd ( f , d ) ) } return g && v ? v = Ta ( v ) : v || b === t || ( v = wd ( e , b ) ) , c && ( g = ! 0 , k = a . apply ( m , h ) ) , ! g || v || l || ( h = m = u ) , k } var h , l , k , x , m , v , C , n = 0 , t = ! 1 , q = ! 0 ; if ( "function" != typeof a ) throw new ub ( N ) ; if ( b = 0 > b ? 0 : + b || 0 , ! 0 === c ) var p = ! 0 , q = ! 1 ; else Ha ( c ) && ( p = ! ! c . leading , t = "maxWait" in c && $a ( + c . maxWait || 0 , b ) , q = "trailing" in c ? ! ! c . trailing : q ) ; return g . cancel =
function ( ) { v && Ta ( v ) ; l && Ta ( l ) ; n = 0 ; l = v = C = u } , g } function Gc ( a , b ) { function c ( ) { var d = arguments , e = b ? b . apply ( this , d ) : d [ 0 ] , f = c . cache ; return f . has ( e ) ? f . get ( e ) : ( d = a . apply ( this , d ) , c . cache = f . set ( e , d ) , d ) } if ( "function" != typeof a || b && "function" != typeof b ) throw new ub ( N ) ; return c . cache = new Gc . Cache , c } function Ba ( a , b ) { if ( "function" != typeof a ) throw new ub ( N ) ; return b = $a ( b === u ? a . length - 1 : + b || 0 , 0 ) , function ( ) { for ( var c = arguments , d = - 1 , e = $a ( c . length - b , 0 ) , f = La ( e ) ; ++ d < e ; ) f [ d ] = c [ b + d ] ; switch ( b ) { case 0 : return a . call ( this , f ) ;
case 1 : return a . call ( this , c [ 0 ] , f ) ; case 2 : return a . call ( this , c [ 0 ] , c [ 1 ] , f ) } e = La ( b + 1 ) ; for ( d = - 1 ; ++ d < b ; ) e [ d ] = c [ d ] ; return e [ b ] = f , a . apply ( this , e ) } } function $e ( a , b ) { return a > b } function Va ( a ) { return r ( a ) && Fa ( a ) && Ra . call ( a , "callee" ) && ! xf . call ( a , "callee" ) } function ef ( a , b , c , d ) { return d = ( c = "function" == typeof c ? pb ( c , d , 3 ) : u ) ? c ( a , b ) : u , d === u ? Qc ( a , b , c ) : ! ! d } function Rb ( a ) { return r ( a ) && "string" == typeof a . message && hb . call ( a ) == ma } function Fb ( a ) { return Ha ( a ) && hb . call ( a ) == Ea } function Ha ( a ) { var b = typeof a ; return ! ! a && ( "object" ==
b || "function" == b ) } function Ud ( a ) { return null != a && ( Fb ( a ) ? ac . test ( Jf . call ( a ) ) : r ( a ) && Mb . test ( a ) ) } function Xe ( a ) { return "number" == typeof a || r ( a ) && hb . call ( a ) == wa } function Kc ( a ) { var b ; if ( ! r ( a ) || hb . call ( a ) != ha || Va ( a ) || ! ( Ra . call ( a , "constructor" ) || ( b = a . constructor , "function" != typeof b || b instanceof b ) ) ) return ! 1 ; var c ; return Pe ( a , function ( a , b ) { c = b } ) , c === u || Ra . call ( a , c ) } function Hf ( a ) { return Ha ( a ) && hb . call ( a ) == v } function oe ( a ) { return "string" == typeof a || r ( a ) && hb . call ( a ) == ra } function ic ( a ) { return r ( a ) && ob ( a . length ) &&
! ! Ka [ hb . call ( a ) ] } function Xb ( a , b ) { return a < b } function pe ( a ) { var b = a ? Bc ( a ) : 0 ; return ob ( b ) ? b ? fb ( a ) : [ ] : gd ( a ) } function Me ( a ) { return Xd ( a , Vb ( a ) ) } function Hd ( a ) { return qd ( a , Vb ( a ) ) } function Vb ( a ) { if ( null == a ) return [ ] ; Ha ( a ) || ( a = Hb ( a ) ) ; for ( var b = a . length , b = b && ob ( b ) && ( qa ( a ) || Va ( a ) ) && b || 0 , c = a . constructor , d = - 1 , c = "function" == typeof c && c . prototype === a , e = La ( b ) , f = 0 < b ; ++ d < b ; ) e [ d ] = d + "" ; for ( var g in a ) f && Jb ( g , b ) || "constructor" == g && ( c || ! Ra . call ( a , g ) ) || e . push ( g ) ; return e } function Ne ( a ) { a = Ya ( a ) ; for ( var b = - 1 , c = za ( a ) , d = c . length ,
e = La ( d ) ; ++ b < d ; ) { var f = c [ b ] ; e [ b ] = [ f , a [ f ] ] } return e } function gd ( a ) { return Kd ( a , za ( a ) ) } function Le ( a ) { return ( a = c ( a ) ) && a . replace ( Jc , t ) . replace ( Pa , "" ) } function cb ( a , b ) { var d = "" ; if ( a = c ( a ) , b = + b , 1 > b || ! a || ! nc ( b ) ) return d ; do b % 2 && ( d += a ) , b = Db ( b / 2 ) , a += a ; while ( b ) ; return d } function Sd ( b , d , e ) { var f = b ; return ( b = c ( b ) ) ? ( e ? ua ( f , d , e ) : null == d ) ? b . slice ( F ( b ) , A ( b ) + 1 ) : ( d += "" , b . slice ( a ( b , d ) , g ( b , d ) + 1 ) ) : b } function gf ( a , b , d ) { return d && ua ( a , b , d ) && ( b = u ) , a = c ( a ) , a . match ( b || ig ) || [ ] } function Mc ( a , b , c ) { return c && ua ( a , b , c ) && ( b = u ) , r ( a ) ?
Vd ( a ) : Oc ( a , b ) } function fc ( a ) { return a } function Vd ( a ) { return rc ( db ( a , ! 0 ) ) } function Nc ( a , b , c ) { if ( null == c ) { var d = Ha ( b ) , e = d ? za ( b ) : u ; ( ( e = e && e . length ? qd ( b , e ) : u ) ? e . length : d ) || ( e = ! 1 , c = b , b = a , a = this ) } e || ( e = qd ( b , za ( b ) ) ) ; var f = ! 0 , d = - 1 , g = Fb ( a ) , h = e . length ; ! 1 === c ? f = ! 1 : Ha ( c ) && "chain" in c && ( f = c . chain ) ; for ( ; ++ d < h ; ) { c = e [ d ] ; var l = b [ c ] ; a [ c ] = l ; g && ( a . prototype [ c ] = function ( b ) { return function ( ) { var c = this . _ _chain _ _ ; if ( f || c ) { var d = a ( this . _ _wrapped _ _ ) ; return ( d . _ _actions _ _ = fb ( this . _ _actions _ _ ) ) . push ( { func : b , args : arguments , thisArg : a } ) ,
d . _ _chain _ _ = c , d } return b . apply ( a , zb ( [ this . value ( ) ] , arguments ) ) } } ( l ) ) } return a } function hf ( ) { } function od ( a ) { return va ( a ) ? rd ( a ) : nf ( a ) } z = z ? Kb . defaults ( Eb . Object ( ) , z , Kb . pick ( Eb , jg ) ) : Eb ; var La = z . Array , If = z . Date , jf = z . Error , Zb = z . Function , mc = z . Math , lf = z . Number , Hb = z . Object , qe = z . RegExp , eb = z . String , ub = z . TypeError , mf = La . prototype , ae = Hb . prototype , Ad = eb . prototype , Jf = Zb . prototype . toString , Ra = ae . hasOwnProperty , O = 0 , hb = ae . toString , Pd = Eb . _ , ac = qe ( "^" + Jf . call ( Ra ) . replace ( /[\\^$.*+?()[\]{}|]/g , "\\$&" ) . replace ( /hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g ,
"$1.*?" ) + "$" ) , Ab = z . ArrayBuffer , Ta = z . clearTimeout , rf = z . parseFloat , yf = mc . pow , xf = ae . propertyIsEnumerable , tc = dc ( z , "Set" ) , wd = z . setTimeout , Bf = mf . splice , Af = z . Uint8Array , uf = dc ( z , "WeakMap" ) , ud = mc . ceil , dd = dc ( Hb , "create" ) , Db = mc . floor , xd = dc ( La , "isArray" ) , nc = z . isFinite , Be = dc ( Hb , "keys" ) , $a = mc . max , mb = mc . min , Rd = dc ( If , "now" ) , og = z . parseInt , Kf = mc . random , Lf = lf . NEGATIVE _INFINITY , Zc = lf . POSITIVE _INFINITY , re = 4294967294 , Mf = 2147483647 , se = 9007199254740991 , Wc = uf && new uf , $c = { } ; B . support = { } ; B . templateSettings = { escape : af , evaluate : Oa ,
interpolate : ld , variable : "" , imports : { _ : B } } ; var oc = function ( ) { function a ( ) { } return function ( b ) { if ( Ha ( b ) ) { a . prototype = b ; var c = new a ; a . prototype = u } return c || { } } } ( ) , Bb = Wd ( Lb ) , Fd = Wd ( $b , ! 0 ) , Dd = We ( ) , De = We ( ! 0 ) , Ce = Wc ? function ( a , b ) { return Wc . set ( a , b ) , a } : fc , Ed = Wc ? function ( a ) { return Wc . get ( a ) } : hf , Bc = rd ( "length" ) , Ee = function ( ) { var a = 0 , b = 0 ; return function ( c , d ) { var e = Cc ( ) , f = ka - ( e - b ) ; if ( b = e , 0 < f ) { if ( ++ a >= U ) return c } else a = 0 ; return Ce ( c , d ) } } ( ) , Tf = Ba ( function ( a , b ) { return r ( a ) && Fa ( a ) ? Pb ( a , gb ( b , ! 1 , ! 0 ) ) : [ ] } ) , Uf = ee ( ) , Vf =
ee ( ! 0 ) , Ke = Ba ( function ( a ) { for ( var b = a . length , c = b , d = La ( m ) , e = lc ( ) , f = e === h , g = [ ] ; c -- ; ) { var l = a [ c ] = Fa ( l = a [ c ] ) ? l : [ ] ; d [ c ] = f && 120 <= l . length && dd && tc ? new rb ( c && l ) : null } var f = a [ 0 ] , k = - 1 , m = f ? f . length : 0 , x = d [ 0 ] ; a : for ( ; ++ k < m ; ) if ( l = f [ k ] , 0 > ( x ? tb ( x , l ) : e ( g , l , 0 ) ) ) { for ( c = b ; -- c ; ) { var v = d [ c ] ; if ( 0 > ( v ? tb ( v , l ) : e ( a [ c ] , l , 0 ) ) ) continue a } x && x . push ( l ) ; g . push ( l ) } return g } ) , pg = Ba ( function ( a , c ) { c = gb ( c ) ; var d = pd ( a , c ) ; return de ( a , c . sort ( b ) ) , d } ) , Xf = ie ( ) , Yf = ie ( ! 0 ) , hg = Ba ( function ( a ) { return Ld ( gb ( a , ! 1 , ! 0 ) ) } ) , Zf = Ba ( function ( a , b ) { return Fa ( a ) ?
Pb ( a , b ) : [ ] } ) , fg = Ba ( Bd ) , Yc = Ba ( function ( a ) { var b = a . length , c = 2 < b ? a [ b - 2 ] : u , d = 1 < b ? a [ b - 1 ] : u ; return 2 < b && "function" == typeof c ? b -= 2 : ( c = 1 < b && "function" == typeof d ? ( -- b , d ) : u , d = u ) , a . length = b , ec ( a , c , d ) } ) , Ef = Ba ( function ( a ) { return a = gb ( a ) , this . thru ( function ( b ) { b = qa ( b ) ? b : [ Ya ( b ) ] ; for ( var c = a , d = - 1 , e = b . length , f = - 1 , g = c . length , h = La ( e + g ) ; ++ d < e ; ) h [ d ] = b [ d ] ; for ( ; ++ f < g ; ) h [ d ++ ] = c [ f ] ; return h } ) } ) , uc = Ba ( function ( a , b ) { return pd ( a , gb ( b ) ) } ) , yd = hd ( function ( a , b , c ) { Ra . call ( a , c ) ? ++ a [ c ] : a [ c ] = 1 } ) , zd = vd ( Bb ) , Xc = vd ( Fd , ! 0 ) , Nf = zf ( qb , Bb ) , Ie =
zf ( function ( a , b ) { for ( var c = a . length ; c -- && ! 1 !== b ( a [ c ] , c , a ) ; ) ; return a } , Fd ) , qg = hd ( function ( a , b , c ) { Ra . call ( a , c ) ? a [ c ] . push ( b ) : a [ c ] = [ b ] } ) , gg = hd ( function ( a , b , c ) { a [ c ] = b } ) , $f = Ba ( function ( a , b , c ) { var d = - 1 , e = "function" == typeof b , f = va ( b ) , g = Fa ( a ) ? La ( a . length ) : [ ] ; return Bb ( a , function ( a ) { var h = e ? b : f && null != a ? a [ b ] : u ; g [ ++ d ] = h ? h . apply ( a , c ) : ga ( a , b , c ) } ) , g } ) , rg = hd ( function ( a , b , c ) { a [ c ? 0 : 1 ] . push ( b ) } , function ( ) { return [ [ ] , [ ] ] } ) , te = le ( Dc , Bb ) , He = le ( function ( a , b , c , d ) { var e = a . length ; for ( d && e && ( c = a [ -- e ] ) ; e -- ; ) c = b ( c , a [ e ] , e , a ) ;
return c } , Fd ) , ag = Ba ( function ( a , b ) { if ( null == a ) return [ ] ; var c = b [ 2 ] ; return c && ua ( b [ 0 ] , b [ 1 ] , c ) && ( b . length = 1 ) , Re ( a , gb ( b ) , [ ] ) } ) , Cc = Rd || function ( ) { return ( new If ) . getTime ( ) } , Fe = Ba ( function ( a , b , c ) { var d = M ; if ( c . length ) var e = y ( c , Fe . placeholder ) , d = d | X ; return lb ( a , d , b , c , e ) } ) , Wf = Ba ( function ( a , b ) { b = b . length ? gb ( b ) : Hd ( a ) ; for ( var c = - 1 , d = b . length ; ++ c < d ; ) { var e = b [ c ] ; a [ e ] = lb ( a [ e ] , M , a ) } return a } ) , Ge = Ba ( function ( a , b , c ) { var d = M | H ; if ( c . length ) var e = y ( c , Ge . placeholder ) , d = d | X ; return lb ( b , d , a , c , e ) } ) , bg = tf ( L ) , cg = tf ( S ) , dg = Ba ( function ( a ,
b ) { return Yb ( a , 1 , b ) } ) , eg = Ba ( function ( a , b , c ) { return Yb ( a , b , c ) } ) , Pf = wf ( ) , ue = wf ( ! 0 ) , sg = Ba ( function ( a , b ) { if ( b = gb ( b ) , "function" != typeof a || ! Nb ( b , k ) ) throw new ub ( N ) ; var c = b . length ; return Ba ( function ( d ) { for ( var e = mb ( d . length , c ) ; e -- ; ) d [ e ] = b [ e ] ( d [ e ] ) ; return a . apply ( this , d ) } ) } ) , Qf = ke ( X ) , Sf = ke ( I ) , Rf = Ba ( function ( a , b ) { return lb ( a , Y , u , u , u , gb ( b ) ) } ) , qa = xd || function ( a ) { return r ( a ) && ob ( a . length ) && hb . call ( a ) == W } , ed = Ob ( ce ) , fd = Ob ( function ( a , b , c ) { return c ? Jd ( a , b , c ) : Fc ( a , b ) } ) , Je = vf ( fd , function ( a , b ) { return a === u ? b : a } ) , d =
vf ( ed , Cb ) , m = he ( Lb ) , aa = he ( $b ) , G = je ( Dd ) , Z = je ( De ) , ja = Sc ( Lb ) , na = Sc ( $b ) , za = Be ? function ( a ) { var b = null == a ? u : a . constructor ; return "function" == typeof b && b . prototype === a || "function" != typeof a && Fa ( a ) ? wb ( a ) : Ha ( a ) ? Be ( a ) : [ ] } : wb , Ib = ab ( ! 0 ) , ve = ab ( ) , Sa = Ba ( function ( a , b ) { if ( null == a ) return { } ; if ( "function" != typeof b [ 0 ] ) return b = kc ( gb ( b ) , eb ) , ff ( a , Pb ( Vb ( a ) , b ) ) ; var c = pb ( b [ 0 ] , b [ 1 ] , 3 ) ; return Gf ( a , function ( a , b , d ) { return ! c ( a , b , d ) } ) } ) , we = Ba ( function ( a , b ) { return null == a ? { } : "function" == typeof b [ 0 ] ? Gf ( a , pb ( b [ 0 ] , b [ 1 ] , 3 ) ) : ff ( a , gb ( b ) ) } ) ,
zg = id ( function ( a , b , c ) { return b = b . toLowerCase ( ) , a + ( c ? b . charAt ( 0 ) . toUpperCase ( ) + b . slice ( 1 ) : b ) } ) , bd = id ( function ( a , b , c ) { return a + ( c ? "-" : "" ) + b . toLowerCase ( ) } ) , yg = Tc ( ) , yc = Tc ( ! 0 ) , zc = id ( function ( a , b , c ) { return a + ( c ? "_" : "" ) + b . toLowerCase ( ) } ) , xg = id ( function ( a , b , c ) { return a + ( c ? " " : "" ) + ( b . charAt ( 0 ) . toUpperCase ( ) + b . slice ( 1 ) ) } ) , Ac = Ba ( function ( a , b ) { try { return a . apply ( u , b ) } catch ( P ) { return Rb ( P ) ? P : new jf ( P ) } } ) , kg = Ba ( function ( a , b ) { return function ( c ) { return ga ( c , a , b ) } } ) , sb = Ba ( function ( a , b ) { return function ( c ) { return ga ( a ,
c , b ) } } ) , Qd = ge ( "ceil" ) , Lc = ge ( "floor" ) , nd = bc ( $e , Lf ) , tg = bc ( Xb , Zc ) , lg = ge ( "round" ) ; return B . prototype = bb . prototype , yb . prototype = oc ( bb . prototype ) , yb . prototype . constructor = yb , xa . prototype = oc ( bb . prototype ) , xa . prototype . constructor = xa , ib . prototype [ "delete" ] = function ( a ) { return this . has ( a ) && delete this . _ _data _ _ [ a ] } , ib . prototype . get = function ( a ) { return "__proto__" == a ? u : this . _ _data _ _ [ a ] } , ib . prototype . has = function ( a ) { return "__proto__" != a && Ra . call ( this . _ _data _ _ , a ) } , ib . prototype . set = function ( a , b ) { return "__proto__" !=
a && ( this . _ _data _ _ [ a ] = b ) , this } , rb . prototype . push = function ( a ) { var b = this . data ; "string" == typeof a || Ha ( a ) ? b . set . add ( a ) : b . hash [ a ] = ! 0 } , Gc . Cache = ib , B . after = function ( a , b ) { if ( "function" != typeof b ) { if ( "function" != typeof a ) throw new ub ( N ) ; b = a = b } return a = nc ( a = + a ) ? a : 0 , function ( ) { return 1 > -- a ? b . apply ( this , arguments ) : void 0 } } , B . ary = function ( a , b , c ) { return c && ua ( a , b , c ) && ( b = u ) , b = a && null == b ? a . length : $a ( + b || 0 , 0 ) , lb ( a , R , u , u , u , u , b ) } , B . assign = fd , B . at = uc , B . before = kd , B . bind = Fe , B . bindAll = Wf , B . bindKey = Ge , B . callback = Mc , B . chain =
Cd , B . chunk = function ( a , b , c ) { b = ( c ? ua ( a , b , c ) : null == b ) ? 1 : $a ( Db ( b ) || 1 , 1 ) ; c = 0 ; for ( var d = a ? a . length : 0 , e = - 1 , f = La ( ud ( d / b ) ) ; c < d ; ) f [ ++ e ] = kb ( a , c , c += b ) ; return f } , B . compact = function ( a ) { for ( var b = - 1 , c = a ? a . length : 0 , d = - 1 , e = [ ] ; ++ b < c ; ) { var f = a [ b ] ; f && ( e [ ++ d ] = f ) } return e } , B . constant = function ( a ) { return function ( ) { return a } } , B . countBy = yd , B . create = function ( a , b , c ) { var d = oc ( a ) ; return c && ua ( a , b , c ) && ( b = u ) , b ? Fc ( d , b ) : d } , B . curry = bg , B . curryRight = cg , B . debounce = bf , B . defaults = Je , B . defaultsDeep = d , B . defer = dg , B . delay = eg , B . difference =
Tf , B . drop = ad , B . dropRight = oa , B . dropRightWhile = function ( a , b , c ) { return a && a . length ? cd ( a , Da ( b , c , 3 ) , ! 0 , ! 0 ) : [ ] } , B . dropWhile = function ( a , b , c ) { return a && a . length ? cd ( a , Da ( b , c , 3 ) , ! 0 ) : [ ] } , B . fill = function ( a , b , c , d ) { var e = a ? a . length : 0 ; if ( ! e ) return [ ] ; c && "number" != typeof c && ua ( a , b , c ) && ( c = 0 , d = e ) ; e = a . length ; c = null == c ? 0 : + c || 0 ; 0 > c && ( c = - c > e ? 0 : e + c ) ; d = d === u || d > e ? e : + d || 0 ; 0 > d && ( d += e ) ; e = c > d ? 0 : d >>> 0 ; for ( c >>>= 0 ; c < e ; ) a [ c ++ ] = b ; return a } , B . filter = gc , B . flatten = function ( a , b , c ) { var d = a ? a . length : 0 ; return c && ua ( a , b , c ) && ( b = ! 1 ) , d ? gb ( a ,
b ) : [ ] } , B . flattenDeep = function ( a ) { return a && a . length ? gb ( a , ! 0 ) : [ ] } , B . flow = Pf , B . flowRight = ue , B . forEach = Nf , B . forEachRight = Ie , B . forIn = G , B . forInRight = Z , B . forOwn = ja , B . forOwnRight = na , B . functions = Hd , B . groupBy = qg , B . indexBy = gg , B . initial = function ( a ) { return oa ( a , 1 ) } , B . intersection = Ke , B . invert = function ( a , b , c ) { c && ua ( a , b , c ) && ( b = u ) ; c = - 1 ; for ( var d = za ( a ) , e = d . length , f = { } ; ++ c < e ; ) { var g = d [ c ] , h = a [ g ] ; b ? Ra . call ( f , h ) ? f [ h ] . push ( g ) : f [ h ] = [ g ] : f [ h ] = g } return f } , B . invoke = $f , B . keys = za , B . keysIn = Vb , B . map = Md , B . mapKeys = Ib , B . mapValues =
ve , B . matches = Vd , B . matchesProperty = function ( a , b ) { return Wa ( a , db ( b , ! 0 ) ) } , B . memoize = Gc , B . merge = ed , B . method = kg , B . methodOf = sb , B . mixin = Nc , B . modArgs = sg , B . negate = function ( a ) { if ( "function" != typeof a ) throw new ub ( N ) ; return function ( ) { return ! a . apply ( this , arguments ) } } , B . omit = Sa , B . once = function ( a ) { return kd ( 2 , a ) } , B . pairs = Ne , B . partial = Qf , B . partialRight = Sf , B . partition = rg , B . pick = we , B . pluck = function ( a , b ) { return Md ( a , od ( b ) ) } , B . property = od , B . propertyOf = function ( a ) { return function ( b ) { return jb ( a , Na ( b ) , b + "" ) } } , B . pull =
function ( ) { var a = arguments , b = a [ 0 ] ; if ( ! b || ! b . length ) return b ; for ( var c = 0 , d = lc ( ) , e = a . length ; ++ c < e ; ) for ( var f = 0 , g = a [ c ] ; - 1 < ( f = d ( b , g , f ) ) ; ) Bf . call ( b , f , 1 ) ; return b } , B . pullAt = pg , B . range = function ( a , b , c ) { c && ua ( a , b , c ) && ( b = c = u ) ; a = + a || 0 ; c = null == c ? 1 : + c || 0 ; null == b ? ( b = a , a = 0 ) : b = + b || 0 ; var d = - 1 ; b = $a ( ud ( ( b - a ) / ( c || 1 ) ) , 0 ) ; for ( var e = La ( b ) ; ++ d < b ; ) e [ d ] = a , a += c ; return e } , B . rearg = Rf , B . reject = function ( a , b , c ) { var d = qa ( a ) ? Gb : $d ; return b = Da ( b , c , 3 ) , d ( a , function ( a , c , d ) { return ! b ( a , c , d ) } ) } , B . remove = function ( a , b , c ) { var d = [ ] ; if ( ! a || ! a . length ) return d ;
var e = - 1 , f = [ ] , g = a . length ; for ( b = Da ( b , c , 3 ) ; ++ e < g ; ) c = a [ e ] , b ( c , e , a ) && ( d . push ( c ) , f . push ( e ) ) ; return de ( a , f ) , d } , B . rest = Ub , B . restParam = Ba , B . set = function ( a , b , c ) { if ( null == a ) return a ; var d = b + "" ; b = null != a [ d ] || va ( b , a ) ? [ d ] : Na ( b ) ; for ( var d = - 1 , e = b . length , f = e - 1 , g = a ; null != g && ++ d < e ; ) { var h = b [ d ] ; Ha ( g ) && ( d == f ? g [ h ] = c : null == g [ h ] && ( g [ h ] = Jb ( b [ d + 1 ] ) ? [ ] : { } ) ) ; g = g [ h ] } return a } , B . shuffle = function ( a ) { return jd ( a , Zc ) } , B . slice = function ( a , b , c ) { var d = a ? a . length : 0 ; return d ? ( c && "number" != typeof c && ua ( a , b , c ) && ( b = 0 , c = d ) , kb ( a , b , c ) ) : [ ] } ,
B . sortBy = function ( a , b , c ) { if ( null == a ) return [ ] ; c && ua ( a , b , c ) && ( b = u ) ; var d = - 1 ; return b = Da ( b , c , 3 ) , a = be ( a , function ( a , c , e ) { return { a : b ( a , c , e ) , b : ++ d , c : a } } ) , Qe ( a , e ) } , B . sortByAll = ag , B . sortByOrder = function ( a , b , c , d ) { return null == a ? [ ] : ( d && ua ( b , c , d ) && ( c = u ) , qa ( b ) || ( b = null == b ? [ ] : [ b ] ) , qa ( c ) || ( c = null == c ? [ ] : [ c ] ) , Re ( a , b , c ) ) } , B . spread = function ( a ) { if ( "function" != typeof a ) throw new ub ( N ) ; return function ( b ) { return a . apply ( this , b ) } } , B . take = function ( a , b , c ) { return a && a . length ? ( ( c ? ua ( a , b , c ) : null == b ) && ( b = 1 ) , kb ( a , 0 , 0 > b ? 0 : b ) ) : [ ] } ,
B . takeRight = function ( a , b , c ) { var d = a ? a . length : 0 ; return d ? ( ( c ? ua ( a , b , c ) : null == b ) && ( b = 1 ) , b = d - ( + b || 0 ) , kb ( a , 0 > b ? 0 : b ) ) : [ ] } , B . takeRightWhile = function ( a , b , c ) { return a && a . length ? cd ( a , Da ( b , c , 3 ) , ! 1 , ! 0 ) : [ ] } , B . takeWhile = function ( a , b , c ) { return a && a . length ? cd ( a , Da ( b , c , 3 ) ) : [ ] } , B . tap = function ( a , b , c ) { return b . call ( c , a ) , a } , B . throttle = function ( a , b , c ) { var d = ! 0 , e = ! 0 ; if ( "function" != typeof a ) throw new ub ( N ) ; return ! 1 === c ? d = ! 1 : Ha ( c ) && ( d = "leading" in c ? ! ! c . leading : d , e = "trailing" in c ? ! ! c . trailing : e ) , bf ( a , b , { leading : d , maxWait : + b ,
trailing : e } ) } , B . thru = Qb , B . times = function ( a , b , c ) { if ( a = Db ( a ) , 1 > a || ! nc ( a ) ) return [ ] ; var d = - 1 , e = La ( mb ( a , 4294967295 ) ) ; for ( b = pb ( b , c , 1 ) ; ++ d < a ; ) 4294967295 > d ? e [ d ] = b ( d ) : b ( d ) ; return e } , B . toArray = pe , B . toPlainObject = Me , B . transform = function ( a , b , c , d ) { var e = qa ( a ) || ic ( a ) ; return b = Da ( b , d , 4 ) , null == c && ( e || Ha ( a ) ? ( d = a . constructor , c = e ? qa ( a ) ? new d : [ ] : oc ( Fb ( d ) ? d . prototype : u ) ) : c = { } ) , ( e ? qb : Lb ) ( a , function ( a , d , e ) { return b ( c , a , d , e ) } ) , c } , B . union = hg , B . uniq = xc , B . unzip = Bd , B . unzipWith = ec , B . values = gd , B . valuesIn = function ( a ) { return Kd ( a ,
Vb ( a ) ) } , B . where = function ( a , b ) { return gc ( a , rc ( b ) ) } , B . without = Zf , B . wrap = function ( a , b ) { return b = null == b ? fc : b , lb ( b , X , u , [ a ] , [ ] ) } , B . xor = function ( ) { for ( var a = - 1 , b = arguments . length ; ++ a < b ; ) { var c = arguments [ a ] ; if ( Fa ( c ) ) var d = d ? zb ( Pb ( d , c ) , Pb ( c , d ) ) : c } return d ? Ld ( d ) : [ ] } , B . zip = fg , B . zipObject = ye , B . zipWith = Yc , B . backflow = ue , B . collect = Md , B . compose = ue , B . each = Nf , B . eachRight = Ie , B . extend = fd , B . iteratee = Mc , B . methods = Hd , B . object = ye , B . select = gc , B . tail = Ub , B . unique = xc , Nc ( B , B ) , B . add = function ( a , b ) { return ( + a || 0 ) + ( + b || 0 ) } , B . attempt =
Ac , B . camelCase = zg , B . capitalize = function ( a ) { return ( a = c ( a ) ) && a . charAt ( 0 ) . toUpperCase ( ) + a . slice ( 1 ) } , B . ceil = Qd , B . clone = function ( a , b , c , d ) { return b && "boolean" != typeof b && ua ( a , b , c ) ? b = ! 1 : "function" == typeof b && ( d = c , c = b , b = ! 1 ) , "function" == typeof c ? db ( a , b , pb ( c , d , 3 ) ) : db ( a , b ) } , B . cloneDeep = function ( a , b , c ) { return "function" == typeof b ? db ( a , ! 0 , pb ( b , c , 3 ) ) : db ( a , ! 0 ) } , B . deburr = Le , B . endsWith = function ( a , b , d ) { a = c ( a ) ; b += "" ; var e = a . length ; return d = d === u ? e : mb ( 0 > d ? 0 : + d || 0 , e ) , d -= b . length , 0 <= d && a . indexOf ( b , d ) == d } , B . escape = function ( a ) { return ( a =
c ( a ) ) && Ze . test ( a ) ? a . replace ( pc , l ) : a } , B . escapeRegExp = function ( a ) { return ( a = c ( a ) ) && Od . test ( a ) ? a . replace ( ta , n ) : a || "(?:)" } , B . every = Ae , B . find = zd , B . findIndex = Uf , B . findKey = m , B . findLast = Xc , B . findLastIndex = Vf , B . findLastKey = aa , B . findWhere = function ( a , b ) { return zd ( a , rc ( b ) ) } , B . first = xe , B . floor = Lc , B . get = function ( a , b , c ) { return a = null == a ? u : jb ( a , Na ( b ) , b + "" ) , a === u ? c : a } , B . gt = $e , B . gte = function ( a , b ) { return a >= b } , B . has = function ( a , b ) { if ( null == a ) return ! 1 ; var c = Ra . call ( a , b ) ; if ( ! c && ! va ( b ) ) { if ( b = Na ( b ) , a = 1 == b . length ? a : jb ( a , kb ( b ,
0 , - 1 ) ) , null == a ) return ! 1 ; b = sc ( b ) ; c = Ra . call ( a , b ) } return c || ob ( a . length ) && Jb ( b , a . length ) && ( qa ( a ) || Va ( a ) ) } , B . identity = fc , B . includes = Nd , B . indexOf = Ga , B . inRange = function ( a , b , c ) { return b = + b || 0 , c === u ? ( c = b , b = 0 ) : c = + c || 0 , a >= mb ( b , c ) && a < $a ( b , c ) } , B . isArguments = Va , B . isArray = qa , B . isBoolean = function ( a ) { return ! 0 === a || ! 1 === a || r ( a ) && hb . call ( a ) == da } , B . isDate = function ( a ) { return r ( a ) && hb . call ( a ) == la } , B . isElement = function ( a ) { return ! ! a && 1 === a . nodeType && r ( a ) && ! Kc ( a ) } , B . isEmpty = function ( a ) { return null == a || ( Fa ( a ) && ( qa ( a ) || oe ( a ) ||
Va ( a ) || r ( a ) && Fb ( a . splice ) ) ? ! a . length : ! za ( a ) . length ) } , B . isEqual = ef , B . isError = Rb , B . isFinite = function ( a ) { return "number" == typeof a && nc ( a ) } , B . isFunction = Fb , B . isMatch = function ( a , b , c , d ) { return c = "function" == typeof c ? pb ( c , d , 3 ) : u , Rc ( a , ne ( b ) , c ) } , B . isNaN = function ( a ) { return Xe ( a ) && a != + a } , B . isNative = Ud , B . isNull = function ( a ) { return null === a } , B . isNumber = Xe , B . isObject = Ha , B . isPlainObject = Kc , B . isRegExp = Hf , B . isString = oe , B . isTypedArray = ic , B . isUndefined = function ( a ) { return a === u } , B . kebabCase = bd , B . last = sc , B . lastIndexOf =
function ( a , b , c ) { var d = a ? a . length : 0 ; if ( ! d ) return - 1 ; var e = d ; if ( "number" == typeof c ) e = ( 0 > c ? $a ( d + c , 0 ) : mb ( c || 0 , d - 1 ) ) + 1 ; else if ( c ) return e = td ( a , b , ! 0 ) - 1 , a = a [ e ] , ( b === b ? b === a : a !== a ) ? e : - 1 ; if ( b !== b ) return w ( a , e , ! 0 ) ; for ( ; e -- ; ) if ( a [ e ] === b ) return e ; return - 1 } , B . lt = Xb , B . lte = function ( a , b ) { return a <= b } , B . max = nd , B . min = tg , B . noConflict = function ( ) { return Eb . _ = Pd , this } , B . noop = hf , B . now = Cc , B . pad = function ( a , b , d ) { a = c ( a ) ; b = + b ; var e = a . length ; return e < b && nc ( b ) ? ( e = ( b - e ) / 2 , b = Db ( e ) , e = ud ( e ) , d = fe ( "" , e , d ) , d . slice ( 0 , b ) + a + d ) : a } , B . padLeft =
yg , B . padRight = yc , B . parseInt = function ( a , b , c ) { return ( c ? ua ( a , b , c ) : null == b ) ? b = 0 : b && ( b = + b ) , a = Sd ( a ) , og ( a , b || ( Ic . test ( a ) ? 16 : 10 ) ) } , B . random = function ( a , b , c ) { c && ua ( a , b , c ) && ( b = c = u ) ; var d = null == b ; return null == c && ( d && "boolean" == typeof a ? ( c = a , a = 1 ) : "boolean" == typeof b && ( c = b , d = ! 0 ) ) , null == a && d && ( b = 1 , d = ! 1 ) , a = + a || 0 , d ? ( b = a , a = 0 ) : b = + b || 0 , c || a % 1 || b % 1 ? ( c = Kf ( ) , mb ( a + c * ( b - a + rf ( "1e-" + ( ( c + "" ) . length - 1 ) ) ) , b ) ) : sd ( a , b ) } , B . reduce = te , B . reduceRight = He , B . repeat = cb , B . result = function ( a , b , c ) { var d = null == a ? u : a [ b ] ; return d === u && ( null == a ||
va ( b , a ) || ( b = Na ( b ) , a = 1 == b . length ? a : jb ( a , kb ( b , 0 , - 1 ) ) , d = null == a ? u : a [ sc ( b ) ] ) , d = d === u ? c : d ) , Fb ( d ) ? d . call ( a ) : d } , B . round = lg , B . runInContext = p , B . size = function ( a ) { var b = a ? Bc ( a ) : 0 ; return ob ( b ) ? b : za ( a ) . length } , B . snakeCase = zc , B . some = Hc , B . sortedIndex = Xf , B . sortedLastIndex = Yf , B . startCase = xg , B . startsWith = function ( a , b , d ) { return a = c ( a ) , d = null == d ? 0 : mb ( 0 > d ? 0 : + d || 0 , a . length ) , a . lastIndexOf ( b , d ) == d } , B . sum = function ( a , b , c ) { if ( c && ua ( a , b , c ) && ( b = u ) , b = Da ( b , c , 3 ) , 1 == b . length ) { a = qa ( a ) ? a : vc ( a ) ; c = a . length ; for ( var d = 0 ; c -- ; ) d += + b ( a [ c ] ) ||
0 ; a = d } else a = pf ( a , b ) ; return a } , B . template = function ( a , b , d ) { var e = B . templateSettings ; d && ua ( a , b , d ) && ( b = d = u ) ; a = c ( a ) ; b = Jd ( Fc ( { } , d || b ) , e , kf ) ; d = Jd ( Fc ( { } , b . imports ) , e . imports , kf ) ; var f , g , h = za ( d ) , l = Kd ( d , h ) , k = 0 ; d = b . interpolate || Wb ; var m = "__p+='" ; d = qe ( ( b . escape || Wb ) . source + "|" + d . source + "|" + ( d === ld ? hc : Wb ) . source + "|" + ( b . evaluate || Wb ) . source + "|$" , "g" ) ; var v = "sourceURL" in b ? "//# sourceURL=" + b . sourceURL + "\n" : "" ; if ( a . replace ( d , function ( b , c , d , e , h , l ) { return d || ( d = e ) , m += a . slice ( k , l ) . replace ( df , q ) , c && ( f = ! 0 , m += "'+__e(" +
c + ")+'" ) , h && ( g = ! 0 , m += "';" + h + ";\n__p+='" ) , d && ( m += "'+((__t=(" + d + "))==null?'':__t)+'" ) , k = l + b . length , b } ) , m += "';" , ( b = b . variable ) || ( m = "with(obj){" + m + "}" ) , m = ( g ? m . replace ( Tb , "" ) : m ) . replace ( Ma , "$1" ) . replace ( Of , "$1;" ) , m = "function(" + ( b || "obj" ) + "){" + ( b ? "" : "obj||(obj={});" ) + "var __t,__p=''" + ( f ? ",__e=_.escape" : "" ) + ( g ? ",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}" : ";" ) + m + "return __p}" , b = Ac ( function ( ) { return Zb ( h , v + "return " + m ) . apply ( u , l ) } ) , b . source = m , Rb ( b ) ) throw b ; return b } , B . trim = Sd ,
B . trimLeft = function ( b , d , e ) { var f = b ; return ( b = c ( b ) ) ? b . slice ( ( e ? ua ( f , d , e ) : null == d ) ? F ( b ) : a ( b , d + "" ) ) : b } , B . trimRight = function ( a , b , d ) { var e = a ; return ( a = c ( a ) ) ? ( d ? ua ( e , b , d ) : null == b ) ? a . slice ( 0 , A ( a ) + 1 ) : a . slice ( 0 , g ( a , b + "" ) + 1 ) : a } , B . trunc = function ( a , b , d ) { d && ua ( a , b , d ) && ( b = u ) ; var e = T ; if ( d = E , null != b ) if ( Ha ( b ) ) { var f = "separator" in b ? b . separator : f , e = "length" in b ? + b . length || 0 : e ; d = "omission" in b ? c ( b . omission ) : d } else e = + b || 0 ; if ( a = c ( a ) , e >= a . length ) return a ; if ( e -= d . length , 1 > e ) return d ; if ( b = a . slice ( 0 , e ) , null == f ) return b + d ;
if ( Hf ( f ) ) { if ( a . slice ( e ) . search ( f ) ) { var g , h = a . slice ( 0 , e ) ; f . global || ( f = qe ( f . source , ( sa . exec ( f ) || "" ) + "g" ) ) ; for ( f . lastIndex = 0 ; a = f . exec ( h ) ; ) g = a . index ; b = b . slice ( 0 , null == g ? e : g ) } } else a . indexOf ( f , e ) != e && ( f = b . lastIndexOf ( f ) , - 1 < f && ( b = b . slice ( 0 , f ) ) ) ; return b + d } , B . unescape = function ( a ) { return ( a = c ( a ) ) && Ye . test ( a ) ? a . replace ( ze , D ) : a } , B . uniqueId = function ( a ) { var b = ++ O ; return c ( a ) + b } , B . words = gf , B . all = Ae , B . any = Hc , B . contains = Nd , B . eq = ef , B . detect = zd , B . foldl = te , B . foldr = He , B . head = xe , B . include = Nd , B . inject = te , Nc ( B , function ( ) { var a =
{ } ; return Lb ( B , function ( b , c ) { B . prototype [ c ] || ( a [ c ] = b ) } ) , a } ( ) , ! 1 ) , B . sample = jd , B . prototype . sample = function ( a ) { return this . _ _chain _ _ || null != a ? this . thru ( function ( b ) { return jd ( b , a ) } ) : jd ( this . value ( ) ) } , B . VERSION = J , qb ( "bind bindKey curry curryRight partial partialRight" . split ( " " ) , function ( a ) { B [ a ] . placeholder = B } ) , qb ( [ "drop" , "take" ] , function ( a , b ) { xa . prototype [ a ] = function ( c ) { var d = this . _ _filtered _ _ ; if ( d && ! b ) return new xa ( this ) ; c = null == c ? 1 : $a ( Db ( c ) || 0 , 0 ) ; var e = this . clone ( ) ; return d ? e . _ _takeCount _ _ = mb ( e . _ _takeCount _ _ ,
c ) : e . _ _views _ _ . push ( { size : c , type : a + ( 0 > e . _ _dir _ _ ? "Right" : "" ) } ) , e } ; xa . prototype [ a + "Right" ] = function ( b ) { return this . reverse ( ) [ a ] ( b ) . reverse ( ) } } ) , qb ( [ "filter" , "map" , "takeWhile" ] , function ( a , b ) { var c = b + 1 , d = c != ea ; xa . prototype [ a ] = function ( a , b ) { var e = this . clone ( ) ; return e . _ _iteratees _ _ . push ( { iteratee : Da ( a , b , 1 ) , type : c } ) , e . _ _filtered _ _ = e . _ _filtered _ _ || d , e } } ) , qb ( [ "first" , "last" ] , function ( a , b ) { var c = "take" + ( b ? "Right" : "" ) ; xa . prototype [ a ] = function ( ) { return this [ c ] ( 1 ) . value ( ) [ 0 ] } } ) , qb ( [ "initial" , "rest" ] , function ( a ,
b ) { var c = "drop" + ( b ? "" : "Right" ) ; xa . prototype [ a ] = function ( ) { return this . _ _filtered _ _ ? new xa ( this ) : this [ c ] ( 1 ) } } ) , qb ( [ "pluck" , "where" ] , function ( a , b ) { var c = b ? "filter" : "map" , d = b ? rc : od ; xa . prototype [ a ] = function ( a ) { return this [ c ] ( d ( a ) ) } } ) , xa . prototype . compact = function ( ) { return this . filter ( fc ) } , xa . prototype . reject = function ( a , b ) { return a = Da ( a , b , 1 ) , this . filter ( function ( b ) { return ! a ( b ) } ) } , xa . prototype . slice = function ( a , b ) { a = null == a ? 0 : + a || 0 ; var c = this ; return c . _ _filtered _ _ && ( 0 < a || 0 > b ) ? new xa ( c ) : ( 0 > a ? c = c . takeRight ( - a ) :
a && ( c = c . drop ( a ) ) , b !== u && ( b = + b || 0 , c = 0 > b ? c . dropRight ( - b ) : c . take ( b - a ) ) , c ) } , xa . prototype . takeRightWhile = function ( a , b ) { return this . reverse ( ) . takeWhile ( a , b ) . reverse ( ) } , xa . prototype . toArray = function ( ) { return this . take ( Zc ) } , Lb ( xa . prototype , function ( a , b ) { var c = /^(?:filter|map|reject)|While$/ . test ( b ) , d = /^(?:first|last)$/ . test ( b ) , e = B [ d ? "take" + ( "last" == b ? "Right" : "" ) : b ] ; e && ( B . prototype [ b ] = function ( ) { function b ( a ) { return d && g ? e ( a , 1 ) [ 0 ] : e . apply ( u , zb ( [ a ] , f ) ) } var f = d ? [ 1 ] : arguments , g = this . _ _chain _ _ , h = this . _ _wrapped _ _ ,
l = ! ! this . _ _actions _ _ . length , k = h instanceof xa , m = f [ 0 ] , v = k || qa ( h ) ; return v && c && "function" == typeof m && 1 != m . length && ( k = v = ! 1 ) , m = { func : Qb , args : [ b ] , thisArg : u } , l = k && ! l , d && ! g ? l ? ( h = h . clone ( ) , h . _ _actions _ _ . push ( m ) , a . call ( h ) ) : e . call ( u , this . value ( ) ) [ 0 ] : ! d && v ? ( h = l ? h : new xa ( this ) , h = a . apply ( h , f ) , h . _ _actions _ _ . push ( m ) , new yb ( h , g ) ) : this . thru ( b ) } ) } ) , qb ( "join pop push replace shift sort splice split unshift" . split ( " " ) , function ( a ) { var b = ( /^(?:replace|split)$/ . test ( a ) ? Ad : mf ) [ a ] , c = /^(?:push|sort|unshift)$/ . test ( a ) ? "tap" :
"thru" , d = /^(?:join|pop|replace|shift)$/ . test ( a ) ; B . prototype [ a ] = function ( ) { var a = arguments ; return d && ! this . _ _chain _ _ ? b . apply ( this . value ( ) , a ) : this [ c ] ( function ( c ) { return b . apply ( c , a ) } ) } } ) , Lb ( xa . prototype , function ( a , b ) { var c = B [ b ] ; if ( c ) { var d = c . name + "" ; ( $c [ d ] || ( $c [ d ] = [ ] ) ) . push ( { name : b , func : c } ) } } ) , $c [ Uc ( u , H ) . name ] = [ { name : "wrapper" , func : u } ] , xa . prototype . clone = function ( ) { var a = new xa ( this . _ _wrapped _ _ ) ; return a . _ _actions _ _ = fb ( this . _ _actions _ _ ) , a . _ _dir _ _ = this . _ _dir _ _ , a . _ _filtered _ _ = this . _ _filtered _ _ , a . _ _iteratees _ _ =
fb ( this . _ _iteratees _ _ ) , a . _ _takeCount _ _ = this . _ _takeCount _ _ , a . _ _views _ _ = fb ( this . _ _views _ _ ) , a } , xa . prototype . reverse = function ( ) { if ( this . _ _filtered _ _ ) { var a = new xa ( this ) ; a . _ _dir _ _ = - 1 ; a . _ _filtered _ _ = ! 0 } else a = this . clone ( ) , a . _ _dir _ _ *= - 1 ; return a } , xa . prototype . value = function ( ) { var a , b = this . _ _wrapped _ _ . value ( ) , c = this . _ _dir _ _ , d = qa ( b ) , e = 0 > c , f = d ? b . length : 0 ; a = f ; for ( var g = this . _ _views _ _ , h = 0 , l = - 1 , k = g . length ; ++ l < k ; ) { var m = g [ l ] , v = m . size ; switch ( m . type ) { case "drop" : h += v ; break ; case "dropRight" : a -= v ; break ; case "take" : a =
mb ( a , h + v ) ; break ; case "takeRight" : h = $a ( h , a - v ) } } if ( a = { start : h , end : a } , g = a . start , h = a . end , a = h - g , e = e ? h : g - 1 , g = this . _ _iteratees _ _ , h = g . length , l = 0 , k = mb ( a , this . _ _takeCount _ _ ) , ! d || f < V || f == a && k == a ) return qf ( b , this . _ _actions _ _ ) ; d = [ ] ; a : for ( ; a -- && l < k ; ) { e += c ; f = - 1 ; for ( m = b [ e ] ; ++ f < h ; ) { var n = g [ f ] , v = n . type , n = n . iteratee ( m ) ; if ( v == ea ) m = n ; else if ( ! n ) { if ( v == Q ) continue a ; break a } } d [ l ++ ] = m } return d } , B . prototype . chain = function ( ) { return Cd ( this ) } , B . prototype . commit = function ( ) { return new yb ( this . value ( ) , this . _ _chain _ _ ) } , B . prototype . concat =
Ef , B . prototype . plant = function ( a ) { for ( var b , c = this ; c instanceof bb ; ) { var d = wc ( c ) ; b ? e . _ _wrapped _ _ = d : b = d ; var e = d , c = c . _ _wrapped _ _ } return e . _ _wrapped _ _ = a , b } , B . prototype . reverse = function ( ) { function a ( a ) { return a . reverse ( ) } var b = this . _ _wrapped _ _ ; return b instanceof xa ? ( this . _ _actions _ _ . length && ( b = new xa ( this ) ) , b = b . reverse ( ) , b . _ _actions _ _ . push ( { func : Qb , args : [ a ] , thisArg : u } ) , new yb ( b , this . _ _chain _ _ ) ) : this . thru ( a ) } , B . prototype . toString = function ( ) { return this . value ( ) + "" } , B . prototype . run = B . prototype . toJSON = B . prototype . valueOf =
B . prototype . value = function ( ) { return qf ( this . _ _wrapped _ _ , this . _ _actions _ _ ) } , B . prototype . collect = B . prototype . map , B . prototype . head = B . prototype . first , B . prototype . select = B . prototype . filter , B . prototype . tail = B . prototype . rest , B } var u , J = "3.10.1" , M = 1 , H = 2 , K = 4 , L = 8 , S = 16 , X = 32 , I = 64 , R = 128 , Y = 256 , T = 30 , E = "..." , U = 150 , ka = 16 , V = 200 , Q = 1 , ea = 2 , N = "Expected a function" , pa = "__lodash_placeholder__" , ca = "[object Arguments]" , W = "[object Array]" , da = "[object Boolean]" , la = "[object Date]" , ma = "[object Error]" , Ea = "[object Function]" , wa =
"[object Number]" , ha = "[object Object]" , v = "[object RegExp]" , ra = "[object String]" , Aa = "[object ArrayBuffer]" , ba = "[object Float32Array]" , Za = "[object Float64Array]" , Ia = "[object Int8Array]" , ia = "[object Int16Array]" , ya = "[object Int32Array]" , Ua = "[object Uint8Array]" , nb = "[object Uint8ClampedArray]" , Sb = "[object Uint16Array]" , xb = "[object Uint32Array]" , Tb = /\b__p\+='';/g , Ma = /\b(__p\+=)''\+/g , Of = /(__e\(.*?\)|\b__t\))\+'';/g , ze = /&(?:amp|lt|gt|quot|#39|#96);/g , pc = /[&<>"'`]/g , Ye = RegExp ( ze . source ) , Ze = RegExp ( pc . source ) ,
af = /<%-([\s\S]+?)%>/g , Oa = /<%([\s\S]+?)%>/g , ld = /<%=([\s\S]+?)%>/g , md = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/ , cf = /^\w*$/ , fa = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g , ta = /^[:!,]|[\\^$.*+?()[\]{}|\/]|(^[0-9a-fA-Fnrtuvx])|([\n\r\u2028\u2029])/g , Od = RegExp ( ta . source ) , Pa = /[\u0300-\u036f\ufe20-\ufe23]/g , Xa = /\\(\\)?/g , hc = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g , sa = /\w*$/ , Ic = /^0[xX]/ , Mb = /^\[object .+?Constructor\]$/ , qc = /^\d+$/ , Jc = /[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g ,
Wb = /($^)/ , df = /['\n\r\u2028\u2029\\]/g , ig = RegExp ( "[A-Z\\xc0-\\xd6\\xd8-\\xde]+(?=[A-Z\\xc0-\\xd6\\xd8-\\xde][a-z\\xdf-\\xf6\\xf8-\\xff]+)|[A-Z\\xc0-\\xd6\\xd8-\\xde]?[a-z\\xdf-\\xf6\\xf8-\\xff]+|[A-Z\\xc0-\\xd6\\xd8-\\xde]+|[0-9]+" , "g" ) , jg = "Array ArrayBuffer Date Error Float32Array Float64Array Function Int8Array Int16Array Int32Array Math Number Object RegExp Set String _ clearTimeout isFinite parseFloat parseInt setTimeout TypeError Uint8Array Uint8ClampedArray Uint16Array Uint32Array WeakMap" . split ( " " ) ,
Ka = { } ; Ka [ ba ] = Ka [ Za ] = Ka [ Ia ] = Ka [ ia ] = Ka [ ya ] = Ka [ Ua ] = Ka [ nb ] = Ka [ Sb ] = Ka [ xb ] = ! 0 ; Ka [ ca ] = Ka [ W ] = Ka [ Aa ] = Ka [ da ] = Ka [ la ] = Ka [ ma ] = Ka [ Ea ] = Ka [ "[object Map]" ] = Ka [ wa ] = Ka [ ha ] = Ka [ v ] = Ka [ "[object Set]" ] = Ka [ ra ] = Ka [ "[object WeakMap]" ] = ! 1 ; var Ja = { } ; Ja [ ca ] = Ja [ W ] = Ja [ Aa ] = Ja [ da ] = Ja [ la ] = Ja [ ba ] = Ja [ Za ] = Ja [ Ia ] = Ja [ ia ] = Ja [ ya ] = Ja [ wa ] = Ja [ ha ] = Ja [ v ] = Ja [ ra ] = Ja [ Ua ] = Ja [ nb ] = Ja [ Sb ] = Ja [ xb ] = ! 0 ; Ja [ ma ] = Ja [ Ea ] = Ja [ "[object Map]" ] = Ja [ "[object Set]" ] = Ja [ "[object WeakMap]" ] = ! 1 ; var rb = { "\u00c0" : "A" , "\u00c1" : "A" , "\u00c2" : "A" , "\u00c3" : "A" , "\u00c4" : "A" , "\u00c5" : "A" ,
"\u00e0" : "a" , "\u00e1" : "a" , "\u00e2" : "a" , "\u00e3" : "a" , "\u00e4" : "a" , "\u00e5" : "a" , "\u00c7" : "C" , "\u00e7" : "c" , "\u00d0" : "D" , "\u00f0" : "d" , "\u00c8" : "E" , "\u00c9" : "E" , "\u00ca" : "E" , "\u00cb" : "E" , "\u00e8" : "e" , "\u00e9" : "e" , "\u00ea" : "e" , "\u00eb" : "e" , "\u00cc" : "I" , "\u00cd" : "I" , "\u00ce" : "I" , "\u00cf" : "I" , "\u00ec" : "i" , "\u00ed" : "i" , "\u00ee" : "i" , "\u00ef" : "i" , "\u00d1" : "N" , "\u00f1" : "n" , "\u00d2" : "O" , "\u00d3" : "O" , "\u00d4" : "O" , "\u00d5" : "O" , "\u00d6" : "O" , "\u00d8" : "O" , "\u00f2" : "o" , "\u00f3" : "o" , "\u00f4" : "o" , "\u00f5" : "o" , "\u00f6" : "o" ,
"\u00f8" : "o" , "\u00d9" : "U" , "\u00da" : "U" , "\u00db" : "U" , "\u00dc" : "U" , "\u00f9" : "u" , "\u00fa" : "u" , "\u00fb" : "u" , "\u00fc" : "u" , "\u00dd" : "Y" , "\u00fd" : "y" , "\u00ff" : "y" , "\u00c6" : "Ae" , "\u00e6" : "ae" , "\u00de" : "Th" , "\u00fe" : "th" , "\u00df" : "ss" } , Nb = { "&" : "&" , "<" : "<" , ">" : ">" , '"' : """ , "'" : "'" , "`" : "`" } , Pd = { "&" : "&" , "<" : "<" , ">" : ">" , """ : '"' , "'" : "'" , "`" : "`" } , ib = { "function" : ! 0 , object : ! 0 } , Gd = { 0 : "x30" , 1 : "x31" , 2 : "x32" , 3 : "x33" , 4 : "x34" , 5 : "x35" , 6 : "x36" , 7 : "x37" , 8 : "x38" , 9 : "x39" , A : "x41" , B : "x42" ,
C : "x43" , D : "x44" , E : "x45" , F : "x46" , a : "x61" , b : "x62" , c : "x63" , d : "x64" , e : "x65" , f : "x66" , n : "x6e" , r : "x72" , t : "x74" , u : "x75" , v : "x76" , x : "x78" } , Gb = { "\\" : "\\" , "'" : "'" , "\n" : "n" , "\r" : "r" , "\u2028" : "u2028" , "\u2029" : "u2029" } , zb = ib [ typeof exports ] && exports && ! exports . nodeType && exports , bb = ib [ typeof module ] && module && ! module . nodeType && module , Rd = ib [ typeof self ] && self && self . Object && self , Dc = ib [ typeof window ] && window && Object && window , Id = bb && bb . exports === zb && zb , Eb = zb && bb && "object" == typeof global && global && global . Object && global ||
Dc !== ( this && this . window ) && Dc || Rd || this , Kb = p ( ) ; "function" == typeof define && "object" == typeof define . amd && define . amd ? ( Eb . _ = Kb , define ( function ( ) { return Kb } ) ) : zb && bb ? Id ? ( bb . exports = Kb ) . _ = Kb : zb . _ = Kb : Eb . _ = Kb } ) . call ( this ) ;
( function ( b , f ) { b ( function ( ) { function b ( a , b ) { return null != a && null != b && a . toLowerCase ( ) === b . toLowerCase ( ) } function k ( a , b ) { var c , e , f = a . length ; if ( ! f || ! b ) return ! 1 ; c = b . toLowerCase ( ) ; for ( e = 0 ; e < f ; ++ e ) if ( c === a [ e ] . toLowerCase ( ) ) return ! 0 ; return ! 1 } function c ( a ) { for ( var b in a ) t . call ( a , b ) && ( a [ b ] = new RegExp ( a [ b ] , "i" ) ) } function a ( a , b ) { this . ua = a || "" ; this . _cache = { } ; this . maxPhoneWidth = b || 600 } var g = { mobileDetectRules : { phones : { iPhone : "\\biPhone\\b|\\biPod\\b" , BlackBerry : "BlackBerry|\\bBB10\\b|rim[0-9]+" , HTC : "HTC|HTC.*(Sensation|Evo|Vision|Explorer|6800|8100|8900|A7272|S510e|C110e|Legend|Desire|T8282)|APX515CKT|Qtek9090|APA9292KT|HD_mini|Sensation.*Z710e|PG86100|Z715e|Desire.*(A8181|HD)|ADR6200|ADR6400L|ADR6425|001HT|Inspire 4G|Android.*\\bEVO\\b|T-Mobile G1|Z520m" ,
2017-04-11 07:10:36 +00:00
Nexus : "Nexus One|Nexus S|Galaxy.*Nexus|Android.*Nexus.*Mobile|Nexus 4|Nexus 5|Nexus 6" , Dell : "Dell.*Streak|Dell.*Aero|Dell.*Venue|DELL.*Venue Pro|Dell Flash|Dell Smoke|Dell Mini 3iX|XCD28|XCD35|\\b001DL\\b|\\b101DL\\b|\\bGS01\\b" , Motorola : "Motorola|DROIDX|DROID BIONIC|\\bDroid\\b.*Build|Android.*Xoom|HRI39|MOT-|A1260|A1680|A555|A853|A855|A953|A955|A956|Motorola.*ELECTRIFY|Motorola.*i1|i867|i940|MB200|MB300|MB501|MB502|MB508|MB511|MB520|MB525|MB526|MB611|MB612|MB632|MB810|MB855|MB860|MB861|MB865|MB870|ME501|ME502|ME511|ME525|ME600|ME632|ME722|ME811|ME860|ME863|ME865|MT620|MT710|MT716|MT720|MT810|MT870|MT917|Motorola.*TITANIUM|WX435|WX445|XT300|XT301|XT311|XT316|XT317|XT319|XT320|XT390|XT502|XT530|XT531|XT532|XT535|XT603|XT610|XT611|XT615|XT681|XT701|XT702|XT711|XT720|XT800|XT806|XT860|XT862|XT875|XT882|XT883|XT894|XT901|XT907|XT909|XT910|XT912|XT928|XT926|XT915|XT919|XT925|XT1021|\\bMoto E\\b" ,
Samsung : " \ \ bSamsung \ \ b | SM - G9250 | GT - 19300 | SGH - I337 | BGT - S5230 | GT - B2100 | GT - B2700 | GT - B2710 | GT - B3210 | GT - B3310 | GT - B3410 | GT - B3730 | GT - B3740 | GT - B5510 | GT - B5512 | GT - B5722 | GT - B6520 | GT - B7300 | GT - B7320 | GT - B7330 | GT - B7350 | GT - B7510 | GT - B7722 | GT - B7800 | GT - C3010 | GT - C3011 | GT - C3060 | GT - C3200 | GT - C3212 | GT - C3212I | GT - C3262 | GT - C3222 | GT - C3300 | GT - C3300K | GT - C3303 | GT - C3303K | GT - C3310 | GT - C3322 | GT - C3330 | GT - C3350 | GT - C3500 | GT - C3510 | GT - C3530 | GT - C3630 | GT - C3780 | GT - C5010 | GT - C5212 | GT - C6620 | GT - C6625 | GT - C6712 | GT - E1050 | GT - E1070 | GT - E1075 | GT - E1080 | GT - E1081 | GT - E1085 | GT - E1087 | GT - E1100 | GT - E1107 | GT - E1110 | GT - E1120 | GT - E1125 | GT - E1130 | GT - E1160 | GT - E1170 | GT - E1175 | GT - E1180 | GT - E1182 | GT - E1200 | GT - E1210 | GT - E1225 | GT - E1230 | GT - E1390 | GT - E2100 | GT - E2120 | GT - E2121 | GT - E2152 | GT - E2220 | GT - E2222 | GT - E2230 | GT - E2232 | GT - E2250 | GT - E2370 | GT - E2550 | GT - E2652 | GT - E3210 | GT - E3213 | GT - I5500 | GT - I5503 | GT - I5700 | GT - I5800 | GT - I5801 | GT - I6410 | GT - I6420 | GT - I7110 | GT - I7410 | GT - I7500 | GT - I8000 | GT - I8150 | GT - I8160 | GT - I8190 | GT - I8320 | GT - I8330 | GT - I8350 | GT - I8530 | GT - I8700 | GT - I8703 | GT - I8910 | GT - I9000 | GT - I9001 | GT - I9003 | GT - I9010 | GT - I9020 | GT - I9023 | GT - I9070 | GT - I9082 | GT - I9100 | GT - I9103 | GT - I9220 | GT - I9250 | GT - I9300 | GT - I9305 | GT - I9500 | GT - I9505 | GT - M3510 | GT - M5650 | GT - M7500 | GT - M7600 | GT - M7603 | GT - M8800 | GT - M8910 | GT - N7000 | GT - S3110 | GT - S3310 | GT - S3350 | GT - S3353 | GT - S3370 | GT - S3650 | GT - S3653 | GT - S3770 | GT - S3850 | GT - S5210 | GT - S5220 | GT - S5229 | GT - S5230 | GT - S5233 | GT - S5250 | GT - S5253 | GT - S5260 | GT - S5263 | GT - S5270 | GT - S5300 | GT - S5330 | GT - S5350 | GT - S5360 | GT - S5363 | GT - S5369 | GT - S5380 | GT - S5380D | GT - S5560 | GT - S5570 | GT - S5600 | GT - S5603 | GT - S5610 | GT - S5620 | GT - S5660 | GT - S5670 | GT - S5690 | GT - S5750 | GT - S5780 | GT - S5830 | GT - S5839 | GT - S6102 | GT - S6500 | GT - S7070 | GT - S7200 | GT - S7220 | GT - S7230 | GT - S7233 | GT - S7250 | GT - S7500 | GT - S7530 | GT - S7550 | GT - S7562 | GT - S7710 | GT - S8000 | GT - S8003 | GT - S8500 | GT - S8530 | GT - S8600 | SCH - A310 | SCH - A530 | SCH - A570 | SCH - A610 | SCH - A630 | SCH - A650 | SCH - A790 | SCH - A795 | SCH - A850 | SCH - A870 | SCH - A890 | SCH - A930 | SCH - A950 | SCH - A970 | SCH - A990 | SCH - I100 | SCH - I110 | SCH - I400 | SCH - I405 | SCH - I500 | SCH - I510 | SCH - I515 | SCH - I600 | SCH - I730 | SCH - I760 | SCH - I770 | SCH - I830 | SCH - I910 | SCH - I920 | SCH - I959 | SCH - LC11 | SCH - N150 | SCH - N300 | SCH - R100 | SCH - R300 | SCH - R351 | SCH - R400 | SCH - R410 | SCH - T300 | SCH - U310 | SCH - U320 | SCH - U350 | SCH - U360 | SCH - U365 | SCH - U370 | SCH - U380 | SCH - U410 | SCH - U430 | SCH - U450 | SCH - U460 | SCH - U470 | SCH - U490 | SCH - U540 | SCH - U550 | SCH - U620 | SCH - U640 | SCH - U650 | SCH - U660 | SCH - U700 | SCH - U740 | SCH - U750 | SCH - U810 | SCH - U820 | SCH - U900 | SCH - U940 | SCH - U960 | SCS - 26 UC | SGH - A107 | SGH - A117 | SGH - A127 | SGH - A137 | SGH - A157 | SGH - A167 | SGH - A177 | SGH - A187 | SGH - A197 | SGH - A227 | SGH - A237 | SGH - A257 | SGH - A437 | SGH - A517 | SGH - A597 | SGH - A637 | SGH - A657 | SGH - A667 | SGH - A687 | SGH - A697 | SGH - A707 | SGH - A717 | SGH - A727 | SGH - A737 | SGH - A747 | SGH - A767 | SGH - A777 | SGH - A797 | SGH - A817 | SGH - A827 | SGH - A837 | SGH - A847 | SGH - A867 | SGH - A877 | SGH - A887 | SGH - A897 | SGH - A927 | SGH - B100 | SGH - B130 | SGH - B200 | SGH - B220 | SGH - C100 | SGH - C110 | SGH - C120 | SGH - C130 | SGH - C140 | SGH - C160 | SGH - C170 | SGH - C180 | SGH - C200 | SGH - C207 | SGH - C210 | SGH - C225 | SGH - C230 | SGH - C417 | SGH - C450 | SGH - D307 | SGH - D347 | SGH - D357 | SGH - D407 | SGH - D415 | SGH - D780 | SGH - D807 | SGH - D980 | SGH - E105 | SGH - E200 | SGH - E315 | SGH - E316 | SGH - E317 | SGH - E335 | SGH - E590 | SGH - E635 | SGH - E715 | SGH - E890 | SGH - F300 | SGH - F480 | SGH - I200 | SGH - I300 | SGH - I320 | SGH - I550 | SGH - I577 | SGH - I600 | SGH - I607 | SGH - I617 | SGH - I627 | SGH - I637 | SGH - I677 | SGH - I700 | SGH - I717 | SGH - I727 | SGH - i747M | SGH - I777 | SGH - I780 | SGH - I827 | SGH - I847 | SGH - I857 | SGH - I896 | SGH - I897 | SGH - I900 | SGH - I907 | SGH - I917 | SGH - I927 | SGH - I937 | SGH - I997 | SGH - J150 | SGH - J200 | SGH - L170 | SGH - L700 | SGH - M110 | SGH - M150 | SGH - M200 | SGH - N105 | SGH - N500 | SGH - N600 | SGH - N620 | SGH - N625 | SGH - N700 | SGH - N710 | SGH - P107 | SGH - P207 | SGH - P300 | SGH - P310 | SGH - P520 | SGH - P735 | SGH - P777 | SGH - Q105 | SGH - R210 | SGH - R220 | SGH - R225 | SGH - S105 | SGH - S307 | SGH - T109 | SGH - T119 | SGH - T139 | SGH - T209 | SGH - T219 | SGH - T229 | SGH - T239 | SGH - T249 | SGH - T259 | SGH - T309 | SGH - T319 | SGH - T329 | SGH - T339 | SGH - T349 | SGH - T359 | SGH - T369 | SGH - T379 | SGH - T409 | SGH - T429 | SGH - T439 | SGH - T459 | SGH - T469 | SGH - T479 | SGH - T499 | SGH - T509 | SGH - T519 | SGH - T539 | SGH - T559 | SGH - T589 | SGH - T609 | SGH - T619 | SGH - T629 | SGH - T639 | SGH - T659 | SGH - T669 | SGH - T679 | SGH - T709 | SGH - T719 | SGH - T729 | SGH - T739 | SGH - T746 | SGH - T749 | SGH - T759 | SGH - T769 | SGH - T809 | SGH - T819 | SGH - T839 | SGH - T919 | SGH - T929 | SGH - T939 | SGH - T959 | SGH - T989 | SGH - U100 | SGH - U200 | SGH - U800 | SGH - V205 | SGH - V206 | SGH - X100 | SGH - X105 | SGH - X120 | SGH - X140 | SGH - X426 | SGH - X427 | SGH - X475 | SGH - X49
LG : "\\bLG\\b;|LG[- ]?(C800|C900|E400|E610|E900|E-900|F160|F180K|F180L|F180S|730|855|L160|LS740|LS840|LS970|LU6200|MS690|MS695|MS770|MS840|MS870|MS910|P500|P700|P705|VM696|AS680|AS695|AX840|C729|E970|GS505|272|C395|E739BK|E960|L55C|L75C|LS696|LS860|P769BK|P350|P500|P509|P870|UN272|US730|VS840|VS950|LN272|LN510|LS670|LS855|LW690|MN270|MN510|P509|P769|P930|UN200|UN270|UN510|UN610|US670|US740|US760|UX265|UX840|VN271|VN530|VS660|VS700|VS740|VS750|VS910|VS920|VS930|VX9200|VX11000|AX840A|LW770|P506|P925|P999|E612|D955|D802|MS323)" ,
Sony : "SonyST|SonyLT|SonyEricsson|SonyEricssonLT15iv|LT18i|E10i|LT28h|LT26w|SonyEricssonMT27i|C5303|C6902|C6903|C6906|C6943|D2533" , Asus : "Asus.*Galaxy|PadFone.*Mobile" , NokiaLumia : "Lumia [0-9]{3,4}" , Micromax : "Micromax.*\\b(A210|A92|A88|A72|A111|A110Q|A115|A116|A110|A90S|A26|A51|A35|A54|A25|A27|A89|A68|A65|A57|A90)\\b" , Palm : "PalmSource|Palm" , Vertu : "Vertu|Vertu.*Ltd|Vertu.*Ascent|Vertu.*Ayxta|Vertu.*Constellation(F|Quest)?|Vertu.*Monika|Vertu.*Signature" , Pantech : "PANTECH|IM-A850S|IM-A840S|IM-A830L|IM-A830K|IM-A830S|IM-A820L|IM-A810K|IM-A810S|IM-A800S|IM-T100K|IM-A725L|IM-A780L|IM-A775C|IM-A770K|IM-A760S|IM-A750K|IM-A740S|IM-A730S|IM-A720L|IM-A710K|IM-A690L|IM-A690S|IM-A650S|IM-A630K|IM-A600S|VEGA PTL21|PT003|P8010|ADR910L|P6030|P6020|P9070|P4100|P9060|P5000|CDM8992|TXT8045|ADR8995|IS11PT|P2030|P6010|P8000|PT002|IS06|CDM8999|P9050|PT001|TXT8040|P2020|P9020|P2000|P7040|P7000|C790" ,
Fly : "IQ230|IQ444|IQ450|IQ440|IQ442|IQ441|IQ245|IQ256|IQ236|IQ255|IQ235|IQ245|IQ275|IQ240|IQ285|IQ280|IQ270|IQ260|IQ250" , Wiko : "KITE 4G|HIGHWAY|GETAWAY|STAIRWAY|DARKSIDE|DARKFULL|DARKNIGHT|DARKMOON|SLIDE|WAX 4G|RAINBOW|BLOOM|SUNSET|GOA(?!nna)|LENNY|BARRY|IGGY|OZZY|CINK FIVE|CINK PEAX|CINK PEAX 2|CINK SLIM|CINK SLIM 2|CINK +|CINK KING|CINK PEAX|CINK SLIM|SUBLIM" , iMobile : "i-mobile (IQ|i-STYLE|idea|ZAA|Hitz)" , SimValley : "\\b(SP-80|XT-930|SX-340|XT-930|SX-310|SP-360|SP60|SPT-800|SP-120|SPT-800|SP-140|SPX-5|SPX-8|SP-100|SPX-8|SPX-12)\\b" ,
Wolfgang : "AT-B24D|AT-AS50HD|AT-AS40W|AT-AS55HD|AT-AS45q2|AT-B26D|AT-AS50Q" , Alcatel : "Alcatel" , Nintendo : "Nintendo 3DS" , Amoi : "Amoi" , INQ : "INQ" , GenericPhone : "Tapatalk|PDA;|SAGEM|\\bmmp\\b|pocket|\\bpsp\\b|symbian|Smartphone|smartfon|treo|up.browser|up.link|vodafone|\\bwap\\b|nokia|Series40|Series60|S60|SonyEricsson|N900|MAUI.*WAP.*Browser" } , tablets : { iPad : "iPad|iPad.*Mobile" , NexusTablet : "Android.*Nexus[\\s]+(7|9|10)" , SamsungTablet : "SAMSUNG.*Tablet|Galaxy.*Tab|SC-01C|GT-P1000|GT-P1003|GT-P1010|GT-P3105|GT-P6210|GT-P6800|GT-P6810|GT-P7100|GT-P7300|GT-P7310|GT-P7500|GT-P7510|SCH-I800|SCH-I815|SCH-I905|SGH-I957|SGH-I987|SGH-T849|SGH-T859|SGH-T869|SPH-P100|GT-P3100|GT-P3108|GT-P3110|GT-P5100|GT-P5110|GT-P6200|GT-P7320|GT-P7511|GT-N8000|GT-P8510|SGH-I497|SPH-P500|SGH-T779|SCH-I705|SCH-I915|GT-N8013|GT-P3113|GT-P5113|GT-P8110|GT-N8010|GT-N8005|GT-N8020|GT-P1013|GT-P6201|GT-P7501|GT-N5100|GT-N5105|GT-N5110|SHV-E140K|SHV-E140L|SHV-E140S|SHV-E150S|SHV-E230K|SHV-E230L|SHV-E230S|SHW-M180K|SHW-M180L|SHW-M180S|SHW-M180W|SHW-M300W|SHW-M305W|SHW-M380K|SHW-M380S|SHW-M380W|SHW-M430W|SHW-M480K|SHW-M480S|SHW-M480W|SHW-M485W|SHW-M486W|SHW-M500W|GT-I9228|SCH-P739|SCH-I925|GT-I9200|GT-P5200|GT-P5210|GT-P5210X|SM-T311|SM-T310|SM-T310X|SM-T210|SM-T210R|SM-T211|SM-P600|SM-P601|SM-P605|SM-P900|SM-P901|SM-T217|SM-T217A|SM-T217S|SM-P6000|SM-T3100|SGH-I467|XE500|SM-T110|GT-P5220|GT-I9200X|GT-N5110X|GT-N5120|SM-P905|SM-T111|SM-T2105|SM-T315|SM-T320|SM-T320X|SM-T321|SM-T520|SM-T525|SM-T530NU|SM-T230NU|SM-T330NU|SM-T900|XE500T1C|SM-P605V|SM-P905V|SM-T337V|SM-T537V|SM-T707V|SM-T807V|SM-P600X|SM-P900X|SM-T210X|SM-T230|SM-T230X|SM-T325|GT-P7503|SM-T531|SM-T330|SM-T530|SM-T705|SM-T705C|SM-T535|SM-T331|SM-T800|SM-T700|SM-T537|SM-T807|SM-P907A|SM-T337A|SM-T537A|SM-T707A|SM-T807A|SM-T237|SM-T807P|SM-P607T|SM-T217T|SM-T337T|SM-T807T|SM-T116NQ|SM-P550|SM-T350|SM-T550|SM-T9000|SM-P9000|SM-T705Y|SM-T805|GT-P3113|SM-T710|SM-T810|SM-T815|SM-T360|SM-T533|SM-T113|SM-T335|SM-T715|SM-T560|SM-T670|SM-T677|SM-T377|SM-T567|SM-T357T|SM-T555|SM-T561|SM-T713|SM-T719|SM-T813|SM-T819|SM-T580|SM-T355Y|SM-T280" ,
Kindle : "Kindle|Silk.*Accelerated|Android.*\\b(KFOT|KFTT|KFJWI|KFJWA|KFOTE|KFSOWI|KFTHWI|KFTHWA|KFAPWI|KFAPWA|WFJWAE|KFSAWA|KFSAWI|KFASWI|KFARWI)\\b" , SurfaceTablet : "Windows NT [0-9.]+; ARM;.*(Tablet|ARMBJS)" , HPTablet : "HP Slate (7|8|10)|HP ElitePad 900|hp-tablet|EliteBook.*Touch|HP 8|Slate 21|HP SlateBook 10" , AsusTablet : "^.*PadFone((?!Mobile).)*$|Transformer|TF101|TF101G|TF300T|TF300TG|TF300TL|TF700T|TF700KL|TF701T|TF810C|ME171|ME301T|ME302C|ME371MG|ME370T|ME372MG|ME172V|ME173X|ME400C|Slider SL101|\\bK00F\\b|\\bK00C\\b|\\bK00E\\b|\\bK00L\\b|TX201LA|ME176C|ME102A|\\bM80TA\\b|ME372CL|ME560CG|ME372CG|ME302KL| K010 | K011 | K017 | K01E |ME572C|ME103K|ME170C|ME171C|\\bME70C\\b|ME581C|ME581CL|ME8510C|ME181C|P01Y|PO1MA|P01Z" ,
BlackBerryTablet : "PlayBook|RIM Tablet" , HTCtablet : "HTC_Flyer_P512|HTC Flyer|HTC Jetstream|HTC-P715a|HTC EVO View 4G|PG41200|PG09410" , MotorolaTablet : "xoom|sholest|MZ615|MZ605|MZ505|MZ601|MZ602|MZ603|MZ604|MZ606|MZ607|MZ608|MZ609|MZ615|MZ616|MZ617" , NookTablet : "Android.*Nook|NookColor|nook browser|BNRV200|BNRV200A|BNTV250|BNTV250A|BNTV400|BNTV600|LogicPD Zoom2" , AcerTablet : "Android.*; \\b(A100|A101|A110|A200|A210|A211|A500|A501|A510|A511|A700|A701|W500|W500P|W501|W501P|W510|W511|W700|G100|G100W|B1-A71|B1-710|B1-711|A1-810|A1-811|A1-830)\\b|W3-810|\\bA3-A10\\b|\\bA3-A11\\b|\\bA3-A20\\b|\\bA3-A30" ,
ToshibaTablet : "Android.*(AT100|AT105|AT200|AT205|AT270|AT275|AT300|AT305|AT1S5|AT500|AT570|AT700|AT830)|TOSHIBA.*FOLIO" , LGTablet : "\\bL-06C|LG-V909|LG-V900|LG-V700|LG-V510|LG-V500|LG-V410|LG-V400|LG-VK810\\b" , FujitsuTablet : "Android.*\\b(F-01D|F-02F|F-05E|F-10D|M532|Q572)\\b" , PrestigioTablet : "PMP3170B|PMP3270B|PMP3470B|PMP7170B|PMP3370B|PMP3570C|PMP5870C|PMP3670B|PMP5570C|PMP5770D|PMP3970B|PMP3870C|PMP5580C|PMP5880D|PMP5780D|PMP5588C|PMP7280C|PMP7280C3G|PMP7280|PMP7880D|PMP5597D|PMP5597|PMP7100D|PER3464|PER3274|PER3574|PER3884|PER5274|PER5474|PMP5097CPRO|PMP5097|PMP7380D|PMP5297C|PMP5297C_QUAD|PMP812E|PMP812E3G|PMP812F|PMP810E|PMP880TD|PMT3017|PMT3037|PMT3047|PMT3057|PMT7008|PMT5887|PMT5001|PMT5002" ,
LenovoTablet : "Lenovo TAB|Idea(Tab|Pad)( A1|A10| K1|)|ThinkPad([ ]+)?Tablet|YT3-X90L|YT3-X90F|YT3-X90X|Lenovo.*(S2109|S2110|S5000|S6000|K3011|A3000|A3500|A1000|A2107|A2109|A1107|A5500|A7600|B6000|B8000|B8080)(-|)(FL|F|HV|H|)" , DellTablet : "Venue 11|Venue 8|Venue 7|Dell Streak 10|Dell Streak 7" , YarvikTablet : "Android.*\\b(TAB210|TAB211|TAB224|TAB250|TAB260|TAB264|TAB310|TAB360|TAB364|TAB410|TAB411|TAB420|TAB424|TAB450|TAB460|TAB461|TAB464|TAB465|TAB467|TAB468|TAB07-100|TAB07-101|TAB07-150|TAB07-151|TAB07-152|TAB07-200|TAB07-201-3G|TAB07-210|TAB07-211|TAB07-212|TAB07-214|TAB07-220|TAB07-400|TAB07-485|TAB08-150|TAB08-200|TAB08-201-3G|TAB08-201-30|TAB09-100|TAB09-211|TAB09-410|TAB10-150|TAB10-201|TAB10-211|TAB10-400|TAB10-410|TAB13-201|TAB274EUK|TAB275EUK|TAB374EUK|TAB462EUK|TAB474EUK|TAB9-200)\\b" ,
MedionTablet : "Android.*\\bOYO\\b|LIFE.*(P9212|P9514|P9516|S9512)|LIFETAB" , ArnovaTablet : "97G4|AN10G2|AN7bG3|AN7fG3|AN8G3|AN8cG3|AN7G3|AN9G3|AN7dG3|AN7dG3ST|AN7dG3ChildPad|AN10bG3|AN10bG3DT|AN9G2" , IntensoTablet : "INM8002KP|INM1010FP|INM805ND|Intenso Tab|TAB1004" , IRUTablet : "M702pro" , MegafonTablet : "MegaFon V9|\\bZTE V9\\b|Android.*\\bMT7A\\b" , EbodaTablet : "E-Boda (Supreme|Impresspeed|Izzycomm|Essential)" , AllViewTablet : "Allview.*(Viva|Alldro|City|Speed|All TV|Frenzy|Quasar|Shine|TX1|AX1|AX2)" , ArchosTablet : "\\b(101G9|80G9|A101IT)\\b|Qilive 97R|Archos5|\\bARCHOS (70|79|80|90|97|101|FAMILYPAD|)(b|)(G10| Cobalt| TITANIUM(HD|)| Xenon| Neon|XSK| 2| XS 2| PLATINUM| CARBON|GAMEPAD)\\b" ,
AinolTablet : "NOVO7|NOVO8|NOVO10|Novo7Aurora|Novo7Basic|NOVO7PALADIN|novo9-Spark" , NokiaLumiaTablet : "Lumia 2520" , SonyTablet : "Sony.*Tablet|Xperia Tablet|Sony Tablet S|SO-03E|SGPT12|SGPT13|SGPT114|SGPT121|SGPT122|SGPT123|SGPT111|SGPT112|SGPT113|SGPT131|SGPT132|SGPT133|SGPT211|SGPT212|SGPT213|SGP311|SGP312|SGP321|EBRD1101|EBRD1102|EBRD1201|SGP351|SGP341|SGP511|SGP512|SGP521|SGP541|SGP551|SGP621|SGP612|SOT31" , PhilipsTablet : "\\b(PI2010|PI3000|PI3100|PI3105|PI3110|PI3205|PI3210|PI3900|PI4010|PI7000|PI7100)\\b" ,
CubeTablet : "Android.*(K8GT|U9GT|U10GT|U16GT|U17GT|U18GT|U19GT|U20GT|U23GT|U30GT)|CUBE U8GT" , CobyTablet : "MID1042|MID1045|MID1125|MID1126|MID7012|MID7014|MID7015|MID7034|MID7035|MID7036|MID7042|MID7048|MID7127|MID8042|MID8048|MID8127|MID9042|MID9740|MID9742|MID7022|MID7010" , MIDTablet : "M9701|M9000|M9100|M806|M1052|M806|T703|MID701|MID713|MID710|MID727|MID760|MID830|MID728|MID933|MID125|MID810|MID732|MID120|MID930|MID800|MID731|MID900|MID100|MID820|MID735|MID980|MID130|MID833|MID737|MID960|MID135|MID860|MID736|MID140|MID930|MID835|MID733|MID4X10" ,
MSITablet : "MSI \\b(Primo 73K|Primo 73L|Primo 81L|Primo 77|Primo 93|Primo 75|Primo 76|Primo 73|Primo 81|Primo 91|Primo 90|Enjoy 71|Enjoy 7|Enjoy 10)\\b" , SMiTTablet : "Android.*(\\bMID\\b|MID-560|MTV-T1200|MTV-PND531|MTV-P1101|MTV-PND530)" , RockChipTablet : "Android.*(RK2818|RK2808A|RK2918|RK3066)|RK2738|RK2808A" , FlyTablet : "IQ310|Fly Vision" , bqTablet : "Android.*(bq)?.*(Elcano|Curie|Edison|Maxwell|Kepler|Pascal|Tesla|Hypatia|Platon|Newton|Livingstone|Cervantes|Avant|Aquaris [E|M]10)|Maxwell.*Lite|Maxwell.*Plus" ,
HuaweiTablet : "MediaPad|MediaPad 7 Youth|IDEOS S7|S7-201c|S7-202u|S7-101|S7-103|S7-104|S7-105|S7-106|S7-201|S7-Slim" , NecTablet : "\\bN-06D|\\bN-08D" , PantechTablet : "Pantech.*P4100" , BronchoTablet : "Broncho.*(N701|N708|N802|a710)" , VersusTablet : "TOUCHPAD.*[78910]|\\bTOUCHTAB\\b" , ZyncTablet : "z1000|Z99 2G|z99|z930|z999|z990|z909|Z919|z900" , PositivoTablet : "TB07STA|TB10STA|TB07FTA|TB10FTA" , NabiTablet : "Android.*\\bNabi" , KoboTablet : "Kobo Touch|\\bK080\\b|\\bVox\\b Build|\\bArc\\b Build" , DanewTablet : "DSlide.*\\b(700|701R|702|703R|704|802|970|971|972|973|974|1010|1012)\\b" ,
TexetTablet : "NaviPad|TB-772A|TM-7045|TM-7055|TM-9750|TM-7016|TM-7024|TM-7026|TM-7041|TM-7043|TM-7047|TM-8041|TM-9741|TM-9747|TM-9748|TM-9751|TM-7022|TM-7021|TM-7020|TM-7011|TM-7010|TM-7023|TM-7025|TM-7037W|TM-7038W|TM-7027W|TM-9720|TM-9725|TM-9737W|TM-1020|TM-9738W|TM-9740|TM-9743W|TB-807A|TB-771A|TB-727A|TB-725A|TB-719A|TB-823A|TB-805A|TB-723A|TB-715A|TB-707A|TB-705A|TB-709A|TB-711A|TB-890HD|TB-880HD|TB-790HD|TB-780HD|TB-770HD|TB-721HD|TB-710HD|TB-434HD|TB-860HD|TB-840HD|TB-760HD|TB-750HD|TB-740HD|TB-730HD|TB-722HD|TB-720HD|TB-700HD|TB-500HD|TB-470HD|TB-431HD|TB-430HD|TB-506|TB-504|TB-446|TB-436|TB-416|TB-146SE|TB-126SE" ,
PlaystationTablet : "Playstation.*(Portable|Vita)" , TrekstorTablet : "ST10416-1|VT10416-1|ST70408-1|ST702xx-1|ST702xx-2|ST80208|ST97216|ST70104-2|VT10416-2|ST10216-2A|SurfTab" , PyleAudioTablet : "\\b(PTBL10CEU|PTBL10C|PTBL72BC|PTBL72BCEU|PTBL7CEU|PTBL7C|PTBL92BC|PTBL92BCEU|PTBL9CEU|PTBL9CUK|PTBL9C)\\b" , AdvanTablet : "Android.* \\b(E3A|T3X|T5C|T5B|T3E|T3C|T3B|T1J|T1F|T2A|T1H|T1i|E1C|T1-E|T5-A|T4|E1-B|T2Ci|T1-B|T1-D|O1-A|E1-A|T1-A|T3A|T4i)\\b " , DanyTechTablet : "Genius Tab G3|Genius Tab S2|Genius Tab Q3|Genius Tab G4|Genius Tab Q4|Genius Tab G-II|Genius TAB GII|Genius TAB GIII|Genius Tab S1" ,
GalapadTablet : "Android.*\\bG1\\b" , MicromaxTablet : "Funbook|Micromax.*\\b(P250|P560|P360|P362|P600|P300|P350|P500|P275)\\b" , KarbonnTablet : "Android.*\\b(A39|A37|A34|ST8|ST10|ST7|Smart Tab3|Smart Tab2)\\b" , AllFineTablet : "Fine7 Genius|Fine7 Shine|Fine7 Air|Fine8 Style|Fine9 More|Fine10 Joy|Fine11 Wide" , PROSCANTablet : "\\b(PEM63|PLT1023G|PLT1041|PLT1044|PLT1044G|PLT1091|PLT4311|PLT4311PL|PLT4315|PLT7030|PLT7033|PLT7033D|PLT7035|PLT7035D|PLT7044K|PLT7045K|PLT7045KB|PLT7071KG|PLT7072|PLT7223G|PLT7225G|PLT7777G|PLT7810K|PLT7849G|PLT7851G|PLT7852G|PLT8015|PLT8031|PLT8034|PLT8036|PLT8080K|PLT8082|PLT8088|PLT8223G|PLT8234G|PLT8235G|PLT8816K|PLT9011|PLT9045K|PLT9233G|PLT9735|PLT9760G|PLT9770G)\\b" ,
YONESTablet : "BQ1078|BC1003|BC1077|RK9702|BC9730|BC9001|IT9001|BC7008|BC7010|BC708|BC728|BC7012|BC7030|BC7027|BC7026" , ChangJiaTablet : "TPC7102|TPC7103|TPC7105|TPC7106|TPC7107|TPC7201|TPC7203|TPC7205|TPC7210|TPC7708|TPC7709|TPC7712|TPC7110|TPC8101|TPC8103|TPC8105|TPC8106|TPC8203|TPC8205|TPC8503|TPC9106|TPC9701|TPC97101|TPC97103|TPC97105|TPC97106|TPC97111|TPC97113|TPC97203|TPC97603|TPC97809|TPC97205|TPC10101|TPC10103|TPC10106|TPC10111|TPC10203|TPC10205|TPC10503" , GUTablet : "TX-A1301|TX-M9002|Q702|kf026" ,
PointOfViewTablet : "TAB-P506|TAB-navi-7-3G-M|TAB-P517|TAB-P-527|TAB-P701|TAB-P703|TAB-P721|TAB-P731N|TAB-P741|TAB-P825|TAB-P905|TAB-P925|TAB-PR945|TAB-PL1015|TAB-P1025|TAB-PI1045|TAB-P1325|TAB-PROTAB[0-9]+|TAB-PROTAB25|TAB-PROTAB26|TAB-PROTAB27|TAB-PROTAB26XL|TAB-PROTAB2-IPS9|TAB-PROTAB30-IPS9|TAB-PROTAB25XXL|TAB-PROTAB26-IPS10|TAB-PROTAB30-IPS10" , OvermaxTablet : "OV-(SteelCore|NewBase|Basecore|Baseone|Exellen|Quattor|EduTab|Solution|ACTION|BasicTab|TeddyTab|MagicTab|Stream|TB-08|TB-09)" , HCLTablet : "HCL.*Tablet|Connect-3G-2.0|Connect-2G-2.0|ME Tablet U1|ME Tablet U2|ME Tablet G1|ME Tablet X1|ME Tablet Y2|ME Tablet Sync" ,
DPSTablet : "DPS Dream 9|DPS Dual 7" , VistureTablet : "V97 HD|i75 3G|Visture V4( HD)?|Visture V5( HD)?|Visture V10" , CrestaTablet : "CTP(-)?810|CTP(-)?818|CTP(-)?828|CTP(-)?838|CTP(-)?888|CTP(-)?978|CTP(-)?980|CTP(-)?987|CTP(-)?988|CTP(-)?989" , MediatekTablet : "\\bMT8125|MT8389|MT8135|MT8377\\b" , ConcordeTablet : "Concorde([ ]+)?Tab|ConCorde ReadMan" , GoCleverTablet : "GOCLEVER TAB|A7GOCLEVER|M1042|M7841|M742|R1042BK|R1041|TAB A975|TAB A7842|TAB A741|TAB A741L|TAB M723G|TAB M721|TAB A1021|TAB I921|TAB R721|TAB I720|TAB T76|TAB R70|TAB R76.2|TAB R106|TAB R83.2|TAB M813G|TAB I721|GCTA722|TAB I70|TAB I71|TAB S73|TAB R73|TAB R74|TAB R93|TAB R75|TAB R76.1|TAB A73|TAB A93|TAB A93.2|TAB T72|TAB R83|TAB R974|TAB R973|TAB A101|TAB A103|TAB A104|TAB A104.2|R105BK|M713G|A972BK|TAB A971|TAB R974.2|TAB R104|TAB R83.3|TAB A1042" ,
ModecomTablet : "FreeTAB 9000|FreeTAB 7.4|FreeTAB 7004|FreeTAB 7800|FreeTAB 2096|FreeTAB 7.5|FreeTAB 1014|FreeTAB 1001 |FreeTAB 8001|FreeTAB 9706|FreeTAB 9702|FreeTAB 7003|FreeTAB 7002|FreeTAB 1002|FreeTAB 7801|FreeTAB 1331|FreeTAB 1004|FreeTAB 8002|FreeTAB 8014|FreeTAB 9704|FreeTAB 1003" , VoninoTablet : "\\b(Argus[ _]?S|Diamond[ _]?79HD|Emerald[ _]?78E|Luna[ _]?70C|Onyx[ _]?S|Onyx[ _]?Z|Orin[ _]?HD|Orin[ _]?S|Otis[ _]?S|SpeedStar[ _]?S|Magnet[ _]?M9|Primus[ _]?94[ _]?3G|Primus[ _]?94HD|Primus[ _]?QS|Android.*\\bQ8\\b|Sirius[ _]?EVO[ _]?QS|Sirius[ _]?QS|Spirit[ _]?S)\\b" ,
ECSTablet : "V07OT2|TM105A|S10OT1|TR10CS1" , StorexTablet : "eZee[_']?(Tab|Go)[0-9]+|TabLC7|Looney Tunes Tab" , VodafoneTablet : "SmartTab([ ]+)?[0-9]+|SmartTabII10|SmartTabII7|VF-1497" , EssentielBTablet : "Smart[ ']?TAB[ ]+?[0-9]+|Family[ ']?TAB2" , RossMoorTablet : "RM-790|RM-997|RMD-878G|RMD-974R|RMT-705A|RMT-701|RME-601|RMT-501|RMT-711" , iMobileTablet : "i-mobile i-note" , TolinoTablet : "tolino tab [0-9.]+|tolino shine" , AudioSonicTablet : "\\bC-22Q|T7-QC|T-17B|T-17P\\b" , AMPETablet : "Android.* A78 " , SkkTablet : "Android.* (SKYPAD|PHOENIX|CYCLOPS)" ,
TecnoTablet : "TECNO P9" , JXDTablet : "Android.* \\b(F3000|A3300|JXD5000|JXD3000|JXD2000|JXD300B|JXD300|S5800|S7800|S602b|S5110b|S7300|S5300|S602|S603|S5100|S5110|S601|S7100a|P3000F|P3000s|P101|P200s|P1000m|P200m|P9100|P1000s|S6600b|S908|P1000|P300|S18|S6600|S9100)\\b" , iJoyTablet : "Tablet (Spirit 7|Essentia|Galatea|Fusion|Onix 7|Landa|Titan|Scooby|Deox|Stella|Themis|Argon|Unique 7|Sygnus|Hexen|Finity 7|Cream|Cream X2|Jade|Neon 7|Neron 7|Kandy|Scape|Saphyr 7|Rebel|Biox|Rebel|Rebel 8GB|Myst|Draco 7|Myst|Tab7-004|Myst|Tadeo Jones|Tablet Boing|Arrow|Draco Dual Cam|Aurix|Mint|Amity|Revolution|Finity 9|Neon 9|T9w|Amity 4GB Dual Cam|Stone 4GB|Stone 8GB|Andromeda|Silken|X2|Andromeda II|Halley|Flame|Saphyr 9,7|Touch 8|Planet|Triton|Unique 10|Hexen 10|Memphis 4GB|Memphis 8GB|Onix 10)" ,
FX2Tablet : "FX2 PAD7|FX2 PAD10" , XoroTablet : "KidsPAD 701|PAD[ ]?712|PAD[ ]?714|PAD[ ]?716|PAD[ ]?717|PAD[ ]?718|PAD[ ]?720|PAD[ ]?721|PAD[ ]?722|PAD[ ]?790|PAD[ ]?792|PAD[ ]?900|PAD[ ]?9715D|PAD[ ]?9716DR|PAD[ ]?9718DR|PAD[ ]?9719QR|PAD[ ]?9720QR|TelePAD1030|Telepad1032|TelePAD730|TelePAD731|TelePAD732|TelePAD735Q|TelePAD830|TelePAD9730|TelePAD795|MegaPAD 1331|MegaPAD 1851|MegaPAD 2151" , ViewsonicTablet : "ViewPad 10pi|ViewPad 10e|ViewPad 10s|ViewPad E72|ViewPad7|ViewPad E100|ViewPad 7e|ViewSonic VB733|VB100a" ,
OdysTablet : "LOOX|XENO10|ODYS[ -](Space|EVO|Xpress|NOON)|\\bXELIO\\b|Xelio10Pro|XELIO7PHONETAB|XELIO10EXTREME|XELIOPT2|NEO_QUAD10" , CaptivaTablet : "CAPTIVA PAD" , IconbitTablet : "NetTAB|NT-3702|NT-3702S|NT-3702S|NT-3603P|NT-3603P|NT-0704S|NT-0704S|NT-3805C|NT-3805C|NT-0806C|NT-0806C|NT-0909T|NT-0909T|NT-0907S|NT-0907S|NT-0902S|NT-0902S" , TeclastTablet : "T98 4G|\\bP80\\b|\\bX90HD\\b|X98 Air|X98 Air 3G|\\bX89\\b|P80 3G|\\bX80h\\b|P98 Air|\\bX89HD\\b|P98 3G|\\bP90HD\\b|P89 3G|X98 3G|\\bP70h\\b|P79HD 3G|G18d 3G|\\bP79HD\\b|\\bP89s\\b|\\bA88\\b|\\bP10HD\\b|\\bP19HD\\b|G18 3G|\\bP78HD\\b|\\bA78\\b|\\bP75\\b|G17s 3G|G17h 3G|\\bP85t\\b|\\bP90\\b|\\bP11\\b|\\bP98t\\b|\\bP98HD\\b|\\bG18d\\b|\\bP85s\\b|\\bP11HD\\b|\\bP88s\\b|\\bA80HD\\b|\\bA80se\\b|\\bA10h\\b|\\bP89\\b|\\bP78s\\b|\\bG18\\b|\\bP85\\b|\\bA70h\\b|\\bA70\\b|\\bG17\\b|\\bP18\\b|\\bA80s\\b|\\bA11s\\b|\\bP88HD\\b|\\bA80h\\b|\\bP76s\\b|\\bP76h\\b|\\bP98\\b|\\bA10HD\\b|\\bP78\\b|\\bP88\\b|\\bA11\\b|\\bA10t\\b|\\bP76a\\b|\\bP76t\\b|\\bP76e\\b|\\bP85HD\\b|\\bP85a\\b|\\bP86\\b|\\bP75HD\\b|\\bP76v\\b|\\bA12\\b|\\bP75a\\b|\\bA15\\b|\\bP76Ti\\b|\\bP81HD\\b|\\bA10\\b|\\bT760VE\\b|\\bT720HD\\b|\\bP76\\b|\\bP73\\b|\\bP71\\b|\\bP72\\b|\\bT720SE\\b|\\bC520Ti\\b|\\bT760\\b|\\bT720VE\\b|T720-3GE|T720-WiFi" ,
OndaTablet : "\\b(V975i|Vi30|VX530|V701|Vi60|V701s|Vi50|V801s|V719|Vx610w|VX610W|V819i|Vi10|VX580W|Vi10|V711s|V813|V811|V820w|V820|Vi20|V711|VI30W|V712|V891w|V972|V819w|V820w|Vi60|V820w|V711|V813s|V801|V819|V975s|V801|V819|V819|V818|V811|V712|V975m|V101w|V961w|V812|V818|V971|V971s|V919|V989|V116w|V102w|V973|Vi40)\\b[\\s]+" , JaytechTablet : "TPC-PA762" , BlaupunktTablet : "Endeavour 800NG|Endeavour 1010" , DigmaTablet : "\\b(iDx10|iDx9|iDx8|iDx7|iDxD7|iDxD8|iDsQ8|iDsQ7|iDsQ8|iDsD10|iDnD7|3TS804H|iDsQ11|iDj7|iDs10)\\b" ,
EvolioTablet : "ARIA_Mini_wifi|Aria[ _]Mini|Evolio X10|Evolio X7|Evolio X8|\\bEvotab\\b|\\bNeura\\b" , LavaTablet : "QPAD E704|\\bIvoryS\\b|E-TAB IVORY|\\bE-TAB\\b" , AocTablet : "MW0811|MW0812|MW0922|MTK8382|MW1031|MW0831|MW0821|MW0931|MW0712" , MpmanTablet : "MP11 OCTA|MP10 OCTA|MPQC1114|MPQC1004|MPQC994|MPQC974|MPQC973|MPQC804|MPQC784|MPQC780|\\bMPG7\\b|MPDCG75|MPDCG71|MPDC1006|MP101DC|MPDC9000|MPDC905|MPDC706HD|MPDC706|MPDC705|MPDC110|MPDC100|MPDC99|MPDC97|MPDC88|MPDC8|MPDC77|MP709|MID701|MID711|MID170|MPDC703|MPQC1010" ,
CelkonTablet : "CT695|CT888|CT[\\s]?910|CT7 Tab|CT9 Tab|CT3 Tab|CT2 Tab|CT1 Tab|C820|C720|\\bCT-1\\b" , WolderTablet : "miTab \\b(DIAMOND|SPACE|BROOKLYN|NEO|FLY|MANHATTAN|FUNK|EVOLUTION|SKY|GOCAR|IRON|GENIUS|POP|MINT|EPSILON|BROADWAY|JUMP|HOP|LEGEND|NEW AGE|LINE|ADVANCE|FEEL|FOLLOW|LIKE|LINK|LIVE|THINK|FREEDOM|CHICAGO|CLEVELAND|BALTIMORE-GH|IOWA|BOSTON|SEATTLE|PHOENIX|DALLAS|IN 101|MasterChef)\\b" , MiTablet : "\\bMI PAD\\b|\\bHM NOTE 1W\\b" , NibiruTablet : "Nibiru M1|Nibiru Jupiter One" , NexoTablet : "NEXO NOVA|NEXO 10|NEXO AVIO|NEXO FREE|NEXO GO|NEXO EVO|NEXO 3G|NEXO SMART|NEXO KIDDO|NEXO MOBI" ,
LeaderTablet : "TBLT10Q|TBLT10I|TBL-10WDKB|TBL-10WDKBO2013|TBL-W230V2|TBL-W450|TBL-W500|SV572|TBLT7I|TBA-AC7-8G|TBLT79|TBL-8W16|TBL-10W32|TBL-10WKB|TBL-W100" , UbislateTablet : "UbiSlate[\\s]?7C" , PocketBookTablet : "Pocketbook" , KocasoTablet : "\\b(TB-1207)\\b" , HisenseTablet : "\\b(F5281|E2371)\\b" , Hudl : "Hudl HT7S3|Hudl 2" , TelstraTablet : "T-Hub2" , GenericTablet : "Android.*\\b97D\\b|Tablet(?!.*PC)|BNTV250A|MID-WCDMA|LogicPD Zoom2|\\bA7EB\\b|CatNova8|A1_07|CT704|CT1002|\\bM721\\b|rk30sdk|\\bEVOTAB\\b|M758A|ET904|ALUMIUM10|Smartfren Tab|Endeavour 1010|Tablet-PC-4|Tagi Tab|\\bM6pro\\b|CT1020W|arc 10HD|\\bTP750\\b" } ,
oss : { AndroidOS : "Android" , BlackBerryOS : "blackberry|\\bBB10\\b|rim tablet os" , PalmOS : "PalmOS|avantgo|blazer|elaine|hiptop|palm|plucker|xiino" , SymbianOS : "Symbian|SymbOS|Series60|Series40|SYB-[0-9]+|\\bS60\\b" , WindowsMobileOS : "Windows CE.*(PPC|Smartphone|Mobile|[0-9]{3}x[0-9]{3})|Window Mobile|Windows Phone [0-9.]+|WCE;" , WindowsPhoneOS : "Windows Phone 10.0|Windows Phone 8.1|Windows Phone 8.0|Windows Phone OS|XBLWP7|ZuneWP7|Windows NT 6.[23]; ARM;" , iOS : "\\biPhone.*Mobile|\\biPod|\\biPad" , MeeGoOS : "MeeGo" ,
MaemoOS : "Maemo" , JavaOS : "J2ME/|\\bMIDP\\b|\\bCLDC\\b" , webOS : "webOS|hpwOS" , badaOS : "\\bBada\\b" , BREWOS : "BREW" } , uas : { Chrome : "\\bCrMo\\b|CriOS|Android.*Chrome/[.0-9]* (Mobile)?" , Dolfin : "\\bDolfin\\b" , Opera : "Opera.*Mini|Opera.*Mobi|Android.*Opera|Mobile.*OPR/[0-9.]+|Coast/[0-9.]+" , Skyfire : "Skyfire" , Edge : "Mobile Safari/[.0-9]* Edge" , IE : "IEMobile|MSIEMobile" , Firefox : "fennec|firefox.*maemo|(Mobile|Tablet).*Firefox|Firefox.*Mobile|FxiOS" , Bolt : "bolt" , TeaShark : "teashark" , Blazer : "Blazer" , Safari : "Version.*Mobile.*Safari|Safari.*Mobile|MobileSafari" ,
UCBrowser : "UC.*Browser|UCWEB" , baiduboxapp : "baiduboxapp" , baidubrowser : "baidubrowser" , DiigoBrowser : "DiigoBrowser" , Puffin : "Puffin" , Mercury : "\\bMercury\\b" , ObigoBrowser : "Obigo" , NetFront : "NF-Browser" , GenericBrowser : "NokiaBrowser|OviBrowser|OneBrowser|TwonkyBeamBrowser|SEMC.*Browser|FlyFlow|Minimo|NetFront|Novarra-Vision|MQQBrowser|MicroMessenger" , PaleMoon : "Android.*PaleMoon|Mobile.*PaleMoon" } , props : { Mobile : "Mobile/[VER]" , Build : "Build/[VER]" , Version : "Version/[VER]" , VendorID : "VendorID/[VER]" , iPad : "iPad.*CPU[a-z ]+[VER]" ,
iPhone : "iPhone.*CPU[a-z ]+[VER]" , iPod : "iPod.*CPU[a-z ]+[VER]" , Kindle : "Kindle/[VER]" , Chrome : [ "Chrome/[VER]" , "CriOS/[VER]" , "CrMo/[VER]" ] , Coast : [ "Coast/[VER]" ] , Dolfin : "Dolfin/[VER]" , Firefox : [ "Firefox/[VER]" , "FxiOS/[VER]" ] , Fennec : "Fennec/[VER]" , Edge : "Edge/[VER]" , IE : [ "IEMobile/[VER];" , "IEMobile [VER]" , "MSIE [VER];" , "Trident/[0-9.]+;.*rv:[VER]" ] , NetFront : "NetFront/[VER]" , NokiaBrowser : "NokiaBrowser/[VER]" , Opera : [ " OPR/[VER]" , "Opera Mini/[VER]" , "Version/[VER]" ] , "Opera Mini" : "Opera Mini/[VER]" , "Opera Mobi" : "Version/[VER]" ,
"UC Browser" : "UC Browser[VER]" , MQQBrowser : "MQQBrowser/[VER]" , MicroMessenger : "MicroMessenger/[VER]" , baiduboxapp : "baiduboxapp/[VER]" , baidubrowser : "baidubrowser/[VER]" , SamsungBrowser : "SamsungBrowser/[VER]" , Iron : "Iron/[VER]" , Safari : [ "Version/[VER]" , "Safari/[VER]" ] , Skyfire : "Skyfire/[VER]" , Tizen : "Tizen/[VER]" , Webkit : "webkit[ /][VER]" , PaleMoon : "PaleMoon/[VER]" , Gecko : "Gecko/[VER]" , Trident : "Trident/[VER]" , Presto : "Presto/[VER]" , Goanna : "Goanna/[VER]" , iOS : " \\bi?OS\\b [VER][ ;]{1}" , Android : "Android [VER]" , BlackBerry : [ "BlackBerry[\\w]+/[VER]" ,
"BlackBerry.*Version/[VER]" , "Version/[VER]" ] , BREW : "BREW [VER]" , Java : "Java/[VER]" , "Windows Phone OS" : [ "Windows Phone OS [VER]" , "Windows Phone [VER]" ] , "Windows Phone" : "Windows Phone [VER]" , "Windows CE" : "Windows CE/[VER]" , "Windows NT" : "Windows NT [VER]" , Symbian : [ "SymbianOS/[VER]" , "Symbian/[VER]" ] , webOS : [ "webOS/[VER]" , "hpwOS/[VER];" ] } , utils : { Bot : "Googlebot|facebookexternalhit|AdsBot-Google|Google Keyword Suggestion|Facebot|YandexBot|YandexMobileBot|bingbot|ia_archiver|AhrefsBot|Ezooms|GSLFbot|WBSearchBot|Twitterbot|TweetmemeBot|Twikle|PaperLiBot|Wotbox|UnwindFetchor|Exabot|MJ12bot|YandexImages|TurnitinBot|Pingdom" ,
MobileBot : "Googlebot-Mobile|AdsBot-Google-Mobile|YahooSeeker/M1A1-R2D2" , DesktopMode : "WPDesktop" , TV : "SonyDTV|HbbTV" , WebKit : "(webkit)[ /]([\\w.]+)" , Console : "\\b(Nintendo|Nintendo WiiU|Nintendo 3DS|PLAYSTATION|Xbox)\\b" , Watch : "SM-V700" } } , detectMobileBrowsers : { fullPattern : /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i ,
shortPattern : /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i ,
2017-04-11 11:04:48 +00:00
tabletPattern : /android|ipad|playbook|silk/i } } , e , t = Object . prototype . hasOwnProperty ; return g . FALLBACK _PHONE = "UnknownPhone" , g . FALLBACK _TABLET = "UnknownTablet" , g . FALLBACK _MOBILE = "UnknownMobile" , e = "isArray" in Array ? Array . isArray : function ( a ) { return "[object Array]" === Object . prototype . toString . call ( a ) } , function ( ) { var a , b , f , h , k , z , y = g . mobileDetectRules ; for ( a in y . props ) if ( t . call ( y . props , a ) ) { b = y . props [ a ] ; e ( b ) || ( b = [ b ] ) ; k = b . length ; for ( h = 0 ; h < k ; ++ h ) f = b [ h ] , z = f . indexOf ( "[VER]" ) , 0 <= z && ( f = f . substring ( 0 , z ) + "([\\w._\\+]+)" +
f . substring ( z + 5 ) ) , b [ h ] = new RegExp ( f , "i" ) ; y . props [ a ] = b } c ( y . oss ) ; c ( y . phones ) ; c ( y . tablets ) ; c ( y . uas ) ; c ( y . utils ) ; y . oss0 = { WindowsPhoneOS : y . oss . WindowsPhoneOS , WindowsMobileOS : y . oss . WindowsMobileOS } } ( ) , g . findMatch = function ( a , b ) { for ( var c in a ) if ( t . call ( a , c ) && a [ c ] . test ( b ) ) return c ; return null } , g . findMatches = function ( a , b ) { var c = [ ] , e ; for ( e in a ) t . call ( a , e ) && a [ e ] . test ( b ) && c . push ( e ) ; return c } , g . getVersionStr = function ( a , b ) { var c , e , f , h ; c = g . mobileDetectRules . props ; if ( t . call ( c , a ) ) for ( c = c [ a ] , f = c . length , e = 0 ; e < f ; ++ e ) if ( h =
2017-04-11 07:10:36 +00:00
c [ e ] . exec ( b ) , null !== h ) return h [ 1 ] ; return null } , g . getVersion = function ( a , b ) { var c = g . getVersionStr ( a , b ) ; return c ? g . prepareVersionNo ( c ) : NaN } , g . prepareVersionNo = function ( a ) { var b ; return b = a . split ( /[a-z._ \/\-]/i ) , 1 === b . length && ( a = b [ 0 ] ) , 1 < b . length && ( a = b [ 0 ] + "." , b . shift ( ) , a += b . join ( "" ) ) , Number ( a ) } , g . isMobileFallback = function ( a ) { return g . detectMobileBrowsers . fullPattern . test ( a ) || g . detectMobileBrowsers . shortPattern . test ( a . substr ( 0 , 4 ) ) } , g . isTabletFallback = function ( a ) { return g . detectMobileBrowsers . tabletPattern . test ( a ) } ,
2017-04-11 11:04:48 +00:00
g . prepareDetectionCache = function ( b , c , e ) { if ( b . mobile === f ) { var h , l , k ; return ( l = g . findMatch ( g . mobileDetectRules . tablets , c ) ) ? ( b . mobile = b . tablet = l , void ( b . phone = null ) ) : ( h = g . findMatch ( g . mobileDetectRules . phones , c ) ) ? ( b . mobile = b . phone = h , void ( b . tablet = null ) ) : void ( g . isMobileFallback ( c ) ? ( k = a . isPhoneSized ( e ) , k === f ? ( b . mobile = g . FALLBACK _MOBILE , b . tablet = b . phone = null ) : k ? ( b . mobile = b . phone = g . FALLBACK _PHONE , b . tablet = null ) : ( b . mobile = b . tablet = g . FALLBACK _TABLET , b . phone = null ) ) : g . isTabletFallback ( c ) ? ( b . mobile = b . tablet = g . FALLBACK _TABLET ,
b . phone = null ) : b . mobile = b . tablet = b . phone = null ) } } , g . mobileGrade = function ( a ) { var b = null !== a . mobile ( ) ; return a . os ( "iOS" ) && 4.3 <= a . version ( "iPad" ) || a . os ( "iOS" ) && 3.1 <= a . version ( "iPhone" ) || a . os ( "iOS" ) && 3.1 <= a . version ( "iPod" ) || 2.1 < a . version ( "Android" ) && a . is ( "Webkit" ) || 7 <= a . version ( "Windows Phone OS" ) || a . is ( "BlackBerry" ) && 6 <= a . version ( "BlackBerry" ) || a . match ( "Playbook.*Tablet" ) || 1.4 <= a . version ( "webOS" ) && a . match ( "Palm|Pre|Pixi" ) || a . match ( "hp.*TouchPad" ) || a . is ( "Firefox" ) && 12 <= a . version ( "Firefox" ) || a . is ( "Chrome" ) &&
2017-04-11 07:10:36 +00:00
a . is ( "AndroidOS" ) && 4 <= a . version ( "Android" ) || a . is ( "Skyfire" ) && 4.1 <= a . version ( "Skyfire" ) && a . is ( "AndroidOS" ) && 2.3 <= a . version ( "Android" ) || a . is ( "Opera" ) && 11 < a . version ( "Opera Mobi" ) && a . is ( "AndroidOS" ) || a . is ( "MeeGoOS" ) || a . is ( "Tizen" ) || a . is ( "Dolfin" ) && 2 <= a . version ( "Bada" ) || ( a . is ( "UC Browser" ) || a . is ( "Dolfin" ) ) && 2.3 <= a . version ( "Android" ) || a . match ( "Kindle Fire" ) || a . is ( "Kindle" ) && 3 <= a . version ( "Kindle" ) || a . is ( "AndroidOS" ) && a . is ( "NookTablet" ) || 11 <= a . version ( "Chrome" ) && ! b || 5 <= a . version ( "Safari" ) && ! b || 4 <= a . version ( "Firefox" ) &&
! b || 7 <= a . version ( "MSIE" ) && ! b || 10 <= a . version ( "Opera" ) && ! b ? "A" : a . os ( "iOS" ) && 4.3 > a . version ( "iPad" ) || a . os ( "iOS" ) && 3.1 > a . version ( "iPhone" ) || a . os ( "iOS" ) && 3.1 > a . version ( "iPod" ) || a . is ( "Blackberry" ) && 5 <= a . version ( "BlackBerry" ) && 6 > a . version ( "BlackBerry" ) || 5 <= a . version ( "Opera Mini" ) && 6.5 >= a . version ( "Opera Mini" ) && ( 2.3 <= a . version ( "Android" ) || a . is ( "iOS" ) ) || a . match ( "NokiaN8|NokiaC7|N97.*Series60|Symbian/3" ) || 11 <= a . version ( "Opera Mobi" ) && a . is ( "SymbianOS" ) ? "B" : ( 5 > a . version ( "BlackBerry" ) || a . match ( "MSIEMobile|Windows CE.*Mobile" ) ||
2017-04-11 11:04:48 +00:00
5.2 >= a . version ( "Windows Mobile" ) , "C" ) } , g . detectOS = function ( a ) { return g . findMatch ( g . mobileDetectRules . oss0 , a ) || g . findMatch ( g . mobileDetectRules . oss , a ) } , g . getDeviceSmallerSide = function ( ) { return window . screen . width < window . screen . height ? window . screen . width : window . screen . height } , a . prototype = { constructor : a , mobile : function ( ) { return g . prepareDetectionCache ( this . _cache , this . ua , this . maxPhoneWidth ) , this . _cache . mobile } , phone : function ( ) { return g . prepareDetectionCache ( this . _cache , this . ua , this . maxPhoneWidth ) , this . _cache . phone } ,
tablet : function ( ) { return g . prepareDetectionCache ( this . _cache , this . ua , this . maxPhoneWidth ) , this . _cache . tablet } , userAgent : function ( ) { return this . _cache . userAgent === f && ( this . _cache . userAgent = g . findMatch ( g . mobileDetectRules . uas , this . ua ) ) , this . _cache . userAgent } , userAgents : function ( ) { return this . _cache . userAgents === f && ( this . _cache . userAgents = g . findMatches ( g . mobileDetectRules . uas , this . ua ) ) , this . _cache . userAgents } , os : function ( ) { return this . _cache . os === f && ( this . _cache . os = g . detectOS ( this . ua ) ) , this . _cache . os } ,
version : function ( a ) { return g . getVersion ( a , this . ua ) } , versionStr : function ( a ) { return g . getVersionStr ( a , this . ua ) } , is : function ( a ) { return k ( this . userAgents ( ) , a ) || b ( a , this . os ( ) ) || b ( a , this . phone ( ) ) || b ( a , this . tablet ( ) ) || k ( g . findMatches ( g . mobileDetectRules . utils , this . ua ) , a ) } , match : function ( a ) { return a instanceof RegExp || ( a = new RegExp ( a , "i" ) ) , a . test ( this . ua ) } , isPhoneSized : function ( b ) { return a . isPhoneSized ( b || this . maxPhoneWidth ) } , mobileGrade : function ( ) { return this . _cache . grade === f && ( this . _cache . grade = g . mobileGrade ( this ) ) ,
this . _cache . grade } } , "undefined" != typeof window && window . screen ? a . isPhoneSized = function ( a ) { return 0 > a ? f : g . getDeviceSmallerSide ( ) <= a } : a . isPhoneSized = function ( ) { } , a . _impl = g , a . version = "1.3.5 2016-11-14" , a } ) } ) ( function ( b ) { if ( "undefined" != typeof module && module . exports ) return function ( b ) { module . exports = b ( ) } ; if ( "function" == typeof define && define . amd ) return define ; if ( "undefined" != typeof window ) return function ( b ) { window . MobileDetect = b ( ) } ; throw Error ( "unknown environment" ) ; } ( ) ) ;
( function ( b ) { "object" == typeof exports && "undefined" != typeof module ? module . exports = b ( ) : "function" == typeof define && define . amd ? define ( [ ] , b ) : ( "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this ) . jsyaml = b ( ) } ) ( function ( ) { return function f ( h , k , c ) { function a ( e , l ) { if ( ! k [ e ] ) { if ( ! h [ e ] ) { var n = "function" == typeof require && require ; if ( ! l && n ) return n ( e , ! 0 ) ; if ( g ) return g ( e , ! 0 ) ; n = Error ( "Cannot find module '" + e + "'" ) ; throw n . code = "MODULE_NOT_FOUND" , n ; } n = k [ e ] = { exports : { } } ;
h [ e ] [ 0 ] . call ( n . exports , function ( c ) { var f = h [ e ] [ 1 ] [ c ] ; return a ( f ? f : c ) } , n , n . exports , f , h , k , c ) } return k [ e ] . exports } for ( var g = "function" == typeof require && require , e = 0 ; e < c . length ; e ++ ) a ( c [ e ] ) ; return a } ( { 1 : [ function ( f , h , k ) { function c ( a ) { return function ( ) { throw Error ( "Function " + a + " is deprecated and cannot be used." ) ; } } k = f ( "./js-yaml/loader" ) ; var a = f ( "./js-yaml/dumper" ) ; h . exports . Type = f ( "./js-yaml/type" ) ; h . exports . Schema = f ( "./js-yaml/schema" ) ; h . exports . FAILSAFE _SCHEMA = f ( "./js-yaml/schema/failsafe" ) ; h . exports . JSON _SCHEMA =
f ( "./js-yaml/schema/json" ) ; h . exports . CORE _SCHEMA = f ( "./js-yaml/schema/core" ) ; h . exports . DEFAULT _SAFE _SCHEMA = f ( "./js-yaml/schema/default_safe" ) ; h . exports . DEFAULT _FULL _SCHEMA = f ( "./js-yaml/schema/default_full" ) ; h . exports . load = k . load ; h . exports . loadAll = k . loadAll ; h . exports . safeLoad = k . safeLoad ; h . exports . safeLoadAll = k . safeLoadAll ; h . exports . dump = a . dump ; h . exports . safeDump = a . safeDump ; h . exports . YAMLException = f ( "./js-yaml/exception" ) ; h . exports . MINIMAL _SCHEMA = f ( "./js-yaml/schema/failsafe" ) ; h . exports . SAFE _SCHEMA =
f ( "./js-yaml/schema/default_safe" ) ; h . exports . DEFAULT _SCHEMA = f ( "./js-yaml/schema/default_full" ) ; h . exports . scan = c ( "scan" ) ; h . exports . parse = c ( "parse" ) ; h . exports . compose = c ( "compose" ) ; h . exports . addConstructor = c ( "addConstructor" ) } , { "./js-yaml/dumper" : 3 , "./js-yaml/exception" : 4 , "./js-yaml/loader" : 5 , "./js-yaml/schema" : 7 , "./js-yaml/schema/core" : 8 , "./js-yaml/schema/default_full" : 9 , "./js-yaml/schema/default_safe" : 10 , "./js-yaml/schema/failsafe" : 11 , "./js-yaml/schema/json" : 12 , "./js-yaml/type" : 13 } ] , 2 : [ function ( f ,
h , k ) { function c ( a ) { return "undefined" == typeof a || null === a } h . exports . isNothing = c ; h . exports . isObject = function ( a ) { return "object" == typeof a && null !== a } ; h . exports . toArray = function ( a ) { return Array . isArray ( a ) ? a : c ( a ) ? [ ] : [ a ] } ; h . exports . repeat = function ( a , c ) { var e , f = "" ; for ( e = 0 ; e < c ; e += 1 ) f += a ; return f } ; h . exports . isNegativeZero = function ( a ) { return 0 === a && Number . NEGATIVE _INFINITY === 1 / a } ; h . exports . extend = function ( a , c ) { var e , f , g , h ; if ( c ) for ( h = Object . keys ( c ) , e = 0 , f = h . length ; e < f ; e += 1 ) g = h [ e ] , a [ g ] = c [ g ] ; return a } } , { } ] , 3 : [ function ( f ,
h , k ) { function c ( a ) { this . schema = a . schema || J ; this . indent = Math . max ( 1 , a . indent || 2 ) ; this . skipInvalid = a . skipInvalid || ! 1 ; this . flowLevel = p . isNothing ( a . flowLevel ) ? - 1 : a . flowLevel ; var c ; c = this . schema ; var e = a . styles || null , f , g , h , l , k , v , n ; if ( null === e ) c = { } ; else { f = { } ; g = Object . keys ( e ) ; h = 0 ; for ( l = g . length ; h < l ; h += 1 ) k = g [ h ] , v = String ( e [ k ] ) , "!!" === k . slice ( 0 , 2 ) && ( k = "tag:yaml.org,2002:" + k . slice ( 2 ) ) , ( n = c . compiledTypeMap [ k ] ) && K . call ( n . styleAliases , v ) && ( v = n . styleAliases [ v ] ) , f [ k ] = v ; c = f } this . styleMap = c ; this . sortKeys = a . sortKeys ||
! 1 ; this . lineWidth = a . lineWidth || 80 ; this . noRefs = a . noRefs || ! 1 ; this . noCompatMode = a . noCompatMode || ! 1 ; this . implicitTypes = this . schema . compiledImplicit ; this . explicitTypes = this . schema . compiledExplicit ; this . tag = null ; this . result = "" ; this . duplicates = [ ] ; this . usedDuplicates = null } function a ( a , c ) { for ( var e , f = p . repeat ( " " , c ) , g = 0 , h , l = "" , k = a . length ; g < k ; ) h = a . indexOf ( "\n" , g ) , - 1 === h ? ( e = a . slice ( g ) , g = k ) : ( e = a . slice ( g , h + 1 ) , g = h + 1 ) , e . length && "\n" !== e && ( l += f ) , l += e ; return l } function g ( a ) { return 32 <= a && 126 >= a || 161 <= a && 55295 >= a &&
8232 !== a && 8233 !== a || 57344 <= a && 65533 >= a && 65279 !== a || 65536 <= a && 1114111 >= a } function e ( a ) { return g ( a ) && 65279 !== a && a !== V && a !== W && a !== da && a !== ma && a !== wa && a !== ea && a !== Y } function t ( a , c , f , h , l ) { var k , v = ! 1 , n = ! 1 , t = - 1 !== h , p = - 1 , q = a . charCodeAt ( 0 ) ; if ( q = g ( q ) && 65279 !== q && ! ( q === X || q === L ) && q !== Q && q !== pa && q !== ea && q !== V && q !== W && q !== da && q !== ma && q !== wa && q !== Y && q !== E && q !== ka && q !== I && q !== Ea && q !== N && q !== U && q !== R && q !== T && q !== ca && q !== la ) q = a . charCodeAt ( a . length - 1 ) , q = ! ( q === X || q === L ) ; if ( c ) for ( c = 0 ; c < a . length ; c ++ ) { if ( k = a . charCodeAt ( c ) ,
! g ( k ) ) return Ia ; q = q && e ( k ) } else { for ( c = 0 ; c < a . length ; c ++ ) { if ( k = a . charCodeAt ( c ) , k === S ) v = ! 0 , t && ( n = n || c - p - 1 > h && " " !== a [ p + 1 ] , p = c ) ; else if ( ! g ( k ) ) return Ia ; q = q && e ( k ) } n = n || t && c - p - 1 > h && " " !== a [ p + 1 ] } return v || n ? " " === a [ 0 ] && 9 < f ? Ia : n ? Za : ba : q && ! l ( a ) ? ra : Aa } function l ( c , e , f , g ) { c . dump = function ( ) { if ( 0 === e . length ) return "''" ; if ( ! c . noCompatMode && - 1 !== v . indexOf ( e ) ) return "'" + e + "'" ; var h = c . indent * Math . max ( 1 , f ) , k = - 1 === c . lineWidth ? - 1 : Math . max ( Math . min ( c . lineWidth , 40 ) , c . lineWidth - h ) ; switch ( t ( e , g || - 1 < c . flowLevel && f >= c . flowLevel ,
c . indent , k , function ( a ) { a : { var e , f , g ; e = 0 ; for ( f = c . implicitTypes . length ; e < f ; e += 1 ) if ( g = c . implicitTypes [ e ] , g . resolve ( a ) ) { a = ! 0 ; break a } a = ! 1 } return a } ) ) { case ra : return e ; case Aa : return "'" + e . replace ( /'/g , "''" ) + "'" ; case ba : return "|" + n ( e , c . indent ) + q ( a ( e , h ) ) ; case Za : return ">" + n ( e , c . indent ) + q ( a ( w ( e , k ) , h ) ) ; case Ia : return '"' + z ( e , k ) + '"' ; default : throw new u ( "impossible error: invalid scalar style" ) ; } } ( ) } function n ( a , c ) { var e = "\n" === a [ a . length - 1 ] ; return ( " " === a [ 0 ] ? String ( c ) : "" ) + ( ! e || "\n" !== a [ a . length - 2 ] && "\n" !== a ?
e ? "" : "-" : "+" ) + "\n" } function q ( a ) { return "\n" === a [ a . length - 1 ] ? a . slice ( 0 , - 1 ) : a } function w ( a , c ) { var e , f = /(\n+)([^\n]*)/g , g , h = a . indexOf ( "\n" ) ; g = ( h = - 1 !== h ? h : a . length , f . lastIndex = h , r ( a . slice ( 0 , h ) , c ) ) ; for ( h = "\n" === a [ 0 ] || " " === a [ 0 ] ; e = f . exec ( a ) ; ) { var k = e [ 1 ] , l = e [ 2 ] ; e = " " === l [ 0 ] ; g += k + ( h || e || "" === l ? "" : "\n" ) + r ( l , c ) ; h = e } return g } function r ( a , c ) { if ( "" === a || " " === a [ 0 ] ) return a ; for ( var e , f , g = / [^ ]/g , h = 0 , k = 0 , l = "" ; e = g . exec ( a ) ; ) e = e . index , e - h > c && ( f = k > h ? k : e , l += "\n" + a . slice ( h , f ) , h = f + 1 ) , k = e ; return l += "\n" , l += a . length - h >
c && k > h ? a . slice ( h , k ) + "\n" + a . slice ( k + 1 ) : a . slice ( h ) , l . slice ( 1 ) } function z ( a ) { for ( var c , e , f = "" , h = 0 ; h < a . length ; h ++ ) { c = a . charCodeAt ( h ) ; e = ha [ c ] ; if ( ! e && g ( c ) ) c = a [ h ] ; else { if ( ! e ) { var k ; e = c ; if ( c = e . toString ( 16 ) . toUpperCase ( ) , 255 >= e ) k = "x" , e = 2 ; else if ( 65535 >= e ) k = "u" , e = 4 ; else { if ( ! ( 4294967295 >= e ) ) throw new u ( "code point within a string may not be greater than 0xFFFFFFFF" ) ; k = "U" ; e = 8 } e = "\\" + k + p . repeat ( "0" , e - c . length ) + c } c = e } f += c } return f } function y ( a , c , e ) { var f , g , h , k ; f = e ? a . explicitTypes : a . implicitTypes ; g = 0 ; for ( h = f . length ; g <
h ; g += 1 ) if ( k = f [ g ] , ( k . instanceOf || k . predicate ) && ( ! k . instanceOf || "object" == typeof c && c instanceof k . instanceOf ) && ( ! k . predicate || k . predicate ( c ) ) ) { if ( a . tag = e ? k . tag : "?" , k . represent ) { if ( e = a . styleMap [ k . tag ] || k . defaultStyle , "[object Function]" === H . call ( k . represent ) ) c = k . represent ( c , e ) ; else { if ( ! K . call ( k . represent , e ) ) throw new u ( "!<" + k . tag + '> tag resolver accepts not "' + e + '" style' ) ; c = k . represent [ e ] ( c , e ) } a . dump = c } return ! 0 } return ! 1 } function F ( a , c , e , f , g , h ) { a . tag = null ; a . dump = e ; y ( a , e , ! 1 ) || y ( a , e , ! 0 ) ; var k = H . call ( a . dump ) ;
f && ( f = 0 > a . flowLevel || a . flowLevel > c ) ; var v , n , t = "[object Object]" === k || "[object Array]" === k ; if ( t && ( v = a . duplicates . indexOf ( e ) , n = - 1 !== v ) , ( null !== a . tag && "?" !== a . tag || n || 2 !== a . indent && 0 < c ) && ( g = ! 1 ) , n && a . usedDuplicates [ v ] ) a . dump = "*ref_" + v ; else { if ( t && n && ! a . usedDuplicates [ v ] && ( a . usedDuplicates [ v ] = ! 0 ) , "[object Object]" === k ) if ( f && 0 !== Object . keys ( a . dump ) . length ) { e = a . dump ; var q , r , w = "" , z = a . tag , A = Object . keys ( e ) ; if ( ! 0 === a . sortKeys ) A . sort ( ) ; else if ( "function" == typeof a . sortKeys ) A . sort ( a . sortKeys ) ; else if ( a . sortKeys ) throw new u ( "sortKeys must be a boolean or a function" ) ;
f = 0 ; for ( h = A . length ; f < h ; f += 1 ) r = "" , g && 0 === f || ( r += "\n" + p . repeat ( " " , a . indent * c ) ) , k = A [ f ] , t = e [ k ] , F ( a , c + 1 , k , ! 0 , ! 0 , ! 0 ) && ( q = null !== a . tag && "?" !== a . tag || a . dump && 1024 < a . dump . length , q && ( r += a . dump && S === a . dump . charCodeAt ( 0 ) ? "?" : "? " ) , r += a . dump , q && ( r += "\n" + p . repeat ( " " , a . indent * c ) ) , F ( a , c + 1 , t , ! 0 , q ) && ( r += a . dump && S === a . dump . charCodeAt ( 0 ) ? ":" : ": " , r += a . dump , w += r ) ) ; a . tag = z ; a . dump = w || "{}" ; n && ( a . dump = "&ref_" + v + a . dump ) } else { q = a . dump ; t = "" ; r = a . tag ; w = Object . keys ( q ) ; e = 0 ; for ( g = w . length ; e < g ; e += 1 ) k = "" , 0 !== e && ( k += ", " ) , f = w [ e ] ,
h = q [ f ] , F ( a , c , f , ! 1 , ! 1 ) && ( 1024 < a . dump . length && ( k += "? " ) , k += a . dump + ": " , F ( a , c , h , ! 1 , ! 1 ) && ( k += a . dump , t += k ) ) ; a . tag = r ; a . dump = "{" + t + "}" ; n && ( a . dump = "&ref_" + v + " " + a . dump ) } else if ( "[object Array]" === k ) if ( f && 0 !== a . dump . length ) { q = a . dump ; e = g ; h = "" ; k = a . tag ; g = 0 ; for ( f = q . length ; g < f ; g += 1 ) F ( a , c + 1 , q [ g ] , ! 0 , ! 0 ) && ( e && 0 === g || ( h += "\n" + p . repeat ( " " , a . indent * c ) ) , h += "- " + a . dump ) ; a . tag = k ; a . dump = h || "[]" ; n && ( a . dump = "&ref_" + v + a . dump ) } else { q = a . dump ; f = "" ; h = a . tag ; e = 0 ; for ( g = q . length ; e < g ; e += 1 ) F ( a , c , q [ e ] , ! 1 , ! 1 ) && ( 0 !== e && ( f += ", " ) , f += a . dump ) ;
a . tag = h ; a . dump = "[" + f + "]" ; n && ( a . dump = "&ref_" + v + " " + a . dump ) } else { if ( "[object String]" !== k ) { if ( a . skipInvalid ) return ! 1 ; throw new u ( "unacceptable kind of an object to dump " + k ) ; } "?" !== a . tag && l ( a , a . dump , c , h ) } null !== a . tag && "?" !== a . tag && ( a . dump = "!<" + a . tag + "> " + a . dump ) } return ! 0 } function A ( a , c , e ) { var f , g , h ; if ( null !== a && "object" == typeof a ) if ( g = c . indexOf ( a ) , - 1 !== g ) - 1 === e . indexOf ( g ) && e . push ( g ) ; else if ( c . push ( a ) , Array . isArray ( a ) ) for ( g = 0 , h = a . length ; g < h ; g += 1 ) A ( a [ g ] , c , e ) ; else for ( f = Object . keys ( a ) , g = 0 , h = f . length ; g <
h ; g += 1 ) A ( a [ f [ g ] ] , c , e ) } function D ( a , e ) { e = e || { } ; var f = new c ( e ) ; if ( ! f . noRefs ) { var g , h , k = [ ] , l = [ ] ; A ( a , k , l ) ; g = 0 ; for ( h = l . length ; g < h ; g += 1 ) f . duplicates . push ( k [ l [ g ] ] ) ; f . usedDuplicates = Array ( h ) } return F ( f , 0 , a , ! 0 , ! 0 ) ? f . dump + "\n" : "" } var p = f ( "./common" ) , u = f ( "./exception" ) , J = f ( "./schema/default_full" ) , M = f ( "./schema/default_safe" ) , H = Object . prototype . toString , K = Object . prototype . hasOwnProperty , L = 9 , S = 10 , X = 32 , I = 33 , R = 34 , Y = 35 , T = 37 , E = 38 , U = 39 , ka = 42 , V = 44 , Q = 45 , ea = 58 , N = 62 , pa = 63 , ca = 64 , W = 91 , da = 93 , la = 96 , ma = 123 , Ea = 124 , wa = 125 , ha =
{ 0 : "\\0" , 7 : "\\a" , 8 : "\\b" , 9 : "\\t" , 10 : "\\n" , 11 : "\\v" , 12 : "\\f" , 13 : "\\r" , 27 : "\\e" , 34 : '\\"' , 92 : "\\\\" , 133 : "\\N" , 160 : "\\_" , 8232 : "\\L" , 8233 : "\\P" } , v = "y Y yes Yes YES on On ON n N no No NO off Off OFF" . split ( " " ) , ra = 1 , Aa = 2 , ba = 3 , Za = 4 , Ia = 5 ; h . exports . dump = D ; h . exports . safeDump = function ( a , c ) { return D ( a , p . extend ( { schema : M } , c ) ) } } , { "./common" : 2 , "./exception" : 4 , "./schema/default_full" : 9 , "./schema/default_safe" : 10 } ] , 4 : [ function ( f , h , k ) { function c ( a , c ) { Error . call ( this ) ; Error . captureStackTrace ? Error . captureStackTrace ( this ,
this . constructor ) : this . stack = Error ( ) . stack || "" ; this . name = "YAMLException" ; this . reason = a ; this . mark = c ; this . message = ( this . reason || "(unknown reason)" ) + ( this . mark ? " " + this . mark . toString ( ) : "" ) } c . prototype = Object . create ( Error . prototype ) ; c . prototype . constructor = c ; c . prototype . toString = function ( a ) { var c = this . name + ": " ; return c += this . reason || "(unknown reason)" , ! a && this . mark && ( c += " " + this . mark . toString ( ) ) , c } ; h . exports = c } , { } ] , 5 : [ function ( f , h , k ) { function c ( a ) { return 10 === a || 13 === a } function a ( a ) { return 9 === a || 32 ===
a } function g ( a ) { return 9 === a || 32 === a || 10 === a || 13 === a } function e ( a ) { return 44 === a || 91 === a || 93 === a || 123 === a || 125 === a } function t ( a ) { return 48 === a ? "\x00" : 97 === a ? "\u0007" : 98 === a ? "\b" : 116 === a ? "\t" : 9 === a ? "\t" : 110 === a ? "\n" : 118 === a ? "\x0B" : 102 === a ? "\f" : 114 === a ? "\r" : 101 === a ? "\u001b" : 32 === a ? " " : 34 === a ? '"' : 47 === a ? "/" : 92 === a ? "\\" : 78 === a ? "\u0085" : 95 === a ? "\u00a0" : 76 === a ? "\u2028" : 80 === a ? "\u2029" : "" } function l ( a , c ) { this . input = a ; this . filename = c . filename || null ; this . schema = c . schema || T ; this . onWarning = c . onWarning || null ;
this . legacy = c . legacy || ! 1 ; this . json = c . json || ! 1 ; this . listener = c . listener || null ; this . implicitTypes = this . schema . compiledImplicit ; this . typeMap = this . schema . compiledTypeMap ; this . length = a . length ; this . lineIndent = this . lineStart = this . line = this . position = 0 ; this . documents = [ ] } function n ( a , c ) { return new I ( c , new R ( a . filename , a . input , a . position , a . line , a . position - a . lineStart ) ) } function q ( a , c ) { throw n ( a , c ) ; } function w ( a , c ) { a . onWarning && a . onWarning . call ( null , n ( a , c ) ) } function r ( a , c , e , f ) { var g ; if ( c < e ) { if ( c = a . input . slice ( c ,
e ) , f ) for ( f = 0 , e = c . length ; f < e ; f += 1 ) g = c . charCodeAt ( f ) , 9 === g || 32 <= g && 1114111 >= g || q ( a , "expected valid JSON character" ) ; else ca . test ( c ) && q ( a , "the stream contains non-printable characters" ) ; a . result += c } } function z ( a , c , e , f ) { var g , h , k ; X . isObject ( e ) || q ( a , "cannot merge mappings; the provided source object is unacceptable" ) ; a = Object . keys ( e ) ; h = 0 ; for ( k = a . length ; h < k ; h += 1 ) g = a [ h ] , E . call ( c , g ) || ( c [ g ] = e [ g ] , f [ g ] = ! 0 ) } function y ( a , c , e , f , g , h ) { if ( g = String ( g ) , null === c && ( c = { } ) , "tag:yaml.org,2002:merge" === f ) if ( Array . isArray ( h ) ) for ( f =
0 , g = h . length ; f < g ; f += 1 ) z ( a , c , h [ f ] , e ) ; else z ( a , c , h , e ) ; else a . json || E . call ( e , g ) || ! E . call ( c , g ) || q ( a , "duplicated mapping key" ) , c [ g ] = h , delete e [ g ] ; return c } function F ( a ) { var c ; c = a . input . charCodeAt ( a . position ) ; 10 === c ? a . position ++ : 13 === c ? ( a . position ++ , 10 === a . input . charCodeAt ( a . position ) && a . position ++ ) : q ( a , "a line break is expected" ) ; a . line += 1 ; a . lineStart = a . position } function A ( e , f , g ) { for ( var h = 0 , k = e . input . charCodeAt ( e . position ) ; 0 !== k ; ) { for ( ; a ( k ) ; ) k = e . input . charCodeAt ( ++ e . position ) ; if ( f && 35 === k ) { do k = e . input . charCodeAt ( ++ e . position ) ;
while ( 10 !== k && 13 !== k && 0 !== k ) } if ( ! c ( k ) ) break ; F ( e ) ; k = e . input . charCodeAt ( e . position ) ; h ++ ; for ( e . lineIndent = 0 ; 32 === k ; ) e . lineIndent ++ , k = e . input . charCodeAt ( ++ e . position ) } return - 1 !== g && 0 !== h && e . lineIndent < g && w ( e , "deficient indentation" ) , h } function D ( a ) { var c , e = a . position ; return c = a . input . charCodeAt ( e ) , ! ( 45 !== c && 46 !== c || c !== a . input . charCodeAt ( e + 1 ) || c !== a . input . charCodeAt ( e + 2 ) || ( e += 3 , c = a . input . charCodeAt ( e ) , 0 !== c && ! g ( c ) ) ) } function p ( a , c ) { 1 === c ? a . result += " " : 1 < c && ( a . result += X . repeat ( "\n" , c - 1 ) ) } function u ( a ,
c ) { var e , f , h , k = a . tag , l = a . anchor , v = [ ] , n = ! 1 ; null !== a . anchor && ( a . anchorMap [ a . anchor ] = v ) ; for ( h = a . input . charCodeAt ( a . position ) ; 0 !== h && 45 === h && ( f = a . input . charCodeAt ( a . position + 1 ) , g ( f ) ) ; ) if ( n = ! 0 , a . position ++ , A ( a , ! 0 , - 1 ) && a . lineIndent <= c ) v . push ( null ) , h = a . input . charCodeAt ( a . position ) ; else if ( e = a . line , H ( a , c , V , ! 1 , ! 0 ) , v . push ( a . result ) , A ( a , ! 0 , - 1 ) , h = a . input . charCodeAt ( a . position ) , ( a . line === e || a . lineIndent > c ) && 0 !== h ) q ( a , "bad indentation of a sequence entry" ) ; else if ( a . lineIndent < c ) break ; return ! ! n && ( a . tag = k , a . anchor =
l , a . kind = "sequence" , a . result = v , ! 0 ) } function J ( a ) { var c , e , f , h , k = ! 1 , l = ! 1 ; if ( h = a . input . charCodeAt ( a . position ) , 33 !== h ) return ! 1 ; if ( null !== a . tag && q ( a , "duplication of a tag property" ) , h = a . input . charCodeAt ( ++ a . position ) , 60 === h ? ( k = ! 0 , h = a . input . charCodeAt ( ++ a . position ) ) : 33 === h ? ( l = ! 0 , e = "!!" , h = a . input . charCodeAt ( ++ a . position ) ) : e = "!" , c = a . position , k ) { do h = a . input . charCodeAt ( ++ a . position ) ; while ( 0 !== h && 62 !== h ) ; a . position < a . length ? ( f = a . input . slice ( c , a . position ) , a . input . charCodeAt ( ++ a . position ) ) : q ( a , "unexpected end of the stream within a verbatim tag" ) } else { for ( ; 0 !==
h && ! g ( h ) ; ) 33 === h && ( l ? q ( a , "tag suffix cannot contain exclamation marks" ) : ( e = a . input . slice ( c - 1 , a . position + 1 ) , la . test ( e ) || q ( a , "named tag handle cannot contain such characters" ) , l = ! 0 , c = a . position + 1 ) ) , h = a . input . charCodeAt ( ++ a . position ) ; f = a . input . slice ( c , a . position ) ; da . test ( f ) && q ( a , "tag suffix cannot contain flow indicator characters" ) } return f && ! ma . test ( f ) && q ( a , "tag name cannot contain such characters: " + f ) , k ? a . tag = f : E . call ( a . tagMap , e ) ? a . tag = a . tagMap [ e ] + f : "!" === e ? a . tag = "!" + f : "!!" === e ? a . tag = "tag:yaml.org,2002:" +
f : q ( a , 'undeclared tag handle "' + e + '"' ) , ! 0 } function M ( a ) { var c , f ; if ( f = a . input . charCodeAt ( a . position ) , 38 !== f ) return ! 1 ; null !== a . anchor && q ( a , "duplication of an anchor property" ) ; f = a . input . charCodeAt ( ++ a . position ) ; for ( c = a . position ; 0 !== f && ! g ( f ) && ! e ( f ) ; ) f = a . input . charCodeAt ( ++ a . position ) ; return a . position === c && q ( a , "name of an anchor node must contain at least one character" ) , a . anchor = a . input . slice ( c , a . position ) , ! 0 } function H ( f , h , k , l , n ) { var t , v , w , z , I , K , T = 1 , L = ! 1 , ba = ! 1 ; if ( null !== f . listener && f . listener ( "open" ,
f ) , f . tag = null , f . anchor = null , f . kind = null , f . result = null , t = v = w = Q === k || V === k , l && A ( f , ! 0 , - 1 ) && ( L = ! 0 , f . lineIndent > h ? T = 1 : f . lineIndent === h ? T = 0 : f . lineIndent < h && ( T = - 1 ) ) , 1 === T ) for ( ; J ( f ) || M ( f ) ; ) A ( f , ! 0 , - 1 ) ? ( L = ! 0 , w = t , f . lineIndent > h ? T = 1 : f . lineIndent === h ? T = 0 : f . lineIndent < h && ( T = - 1 ) ) : w = ! 1 ; w && ( w = L || n ) ; if ( 1 === T || Q === k ) if ( h = U === k || ka === k ? h : h + 1 , l = f . position - f . lineStart , 1 === T ) { var R ; if ( w && ! ( w = u ( f , l ) ) ) a : { var S ; n = f . tag ; t = f . anchor ; var L = { } , Y = { } , W = null , Aa = null , ra = null , ca = ! 1 , ma = ! 1 ; null !== f . anchor && ( f . anchorMap [ f . anchor ] = L ) ; for ( T =
f . input . charCodeAt ( f . position ) ; 0 !== T ; ) { if ( R = f . input . charCodeAt ( f . position + 1 ) , w = f . line , 63 !== T && 58 !== T || ! g ( R ) ) { if ( ! H ( f , h , ka , ! 1 , ! 0 ) ) break ; if ( f . line === w ) { for ( T = f . input . charCodeAt ( f . position ) ; a ( T ) ; ) T = f . input . charCodeAt ( ++ f . position ) ; if ( 58 === T ) T = f . input . charCodeAt ( ++ f . position ) , g ( T ) || q ( f , "a whitespace character is expected after the key-value separator within a block mapping" ) , ca && ( y ( f , L , Y , W , Aa , null ) , ra = null ) , ma = ! 0 , S = ca = ! 1 , W = f . tag , Aa = f . result ; else { if ( ! ma ) { w = ( f . tag = n , f . anchor = t , ! 0 ) ; break a } q ( f , "can not read an implicit mapping pair; a colon is missed" ) } } else { if ( ! ma ) { w =
( f . tag = n , f . anchor = t , ! 0 ) ; break a } q ( f , "can not read a block mapping entry; a multiline key may not be an implicit key" ) } } else 63 === T ? ( ca && ( y ( f , L , Y , W , Aa , null ) , W = Aa = ra = null ) , ma = ! 0 , ca = ! 0 , S = ! 0 ) : ca ? ( ca = ! 1 , S = ! 0 ) : q ( f , "incomplete explicit mapping pair; a key node is missed" ) , f . position += 1 , T = R ; if ( ( f . line === w || f . lineIndent > l ) && ( H ( f , l , Q , ! 0 , S ) && ( ca ? Aa = f . result : ra = f . result ) , ca || ( y ( f , L , Y , W , Aa , ra ) , W = Aa = ra = null ) , A ( f , ! 0 , - 1 ) , T = f . input . charCodeAt ( f . position ) ) , f . lineIndent > l && 0 !== T ) q ( f , "bad indentation of a mapping entry" ) ;
else if ( f . lineIndent < l ) break } w = ( ca && y ( f , L , Y , W , Aa , null ) , ma && ( f . tag = n , f . anchor = t , f . kind = "mapping" , f . result = L ) , ma ) } if ( ! ( R = w ) ) a : { var la , ha , W = ! 0 , Aa = f . tag , ra = f . anchor , ca = { } ; if ( ha = f . input . charCodeAt ( f . position ) , 91 === ha ) l = 93 , n = ! 1 , S = [ ] ; else { if ( 123 !== ha ) { R = ! 1 ; break a } l = 125 ; n = ! 0 ; S = { } } null !== f . anchor && ( f . anchorMap [ f . anchor ] = S ) ; for ( ha = f . input . charCodeAt ( ++ f . position ) ; 0 !== ha ; ) { if ( A ( f , ! 0 , h ) , ha = f . input . charCodeAt ( f . position ) , ha === l ) { R = ( f . position ++ , f . tag = Aa , f . anchor = ra , f . kind = n ? "mapping" : "sequence" , f . result = S , ! 0 ) ;
break a } W || q ( f , "missed comma between flow collection entries" ) ; Y = null ; w = T = ! 1 ; 63 === ha && ( la = f . input . charCodeAt ( f . position + 1 ) , g ( la ) && ( w = T = ! 0 , f . position ++ , A ( f , ! 0 , h ) ) ) ; R = f . line ; H ( f , h , U , ! 1 , ! 0 ) ; L = f . tag ; t = f . result ; A ( f , ! 0 , h ) ; ha = f . input . charCodeAt ( f . position ) ; ! T && f . line !== R || 58 !== ha || ( w = ! 0 , f . input . charCodeAt ( ++ f . position ) , A ( f , ! 0 , h ) , H ( f , h , U , ! 1 , ! 0 ) , Y = f . result ) ; n ? y ( f , S , ca , L , t , Y ) : w ? S . push ( y ( f , null , ca , L , t , Y ) ) : S . push ( t ) ; A ( f , ! 0 , h ) ; ha = f . input . charCodeAt ( f . position ) ; 44 === ha ? ( W = ! 0 , ha = f . input . charCodeAt ( ++ f . position ) ) :
W = ! 1 } q ( f , "unexpected end of the stream within a flow collection" ) ; R = void 0 } if ( R ) ba = ! 0 ; else { var fa ; if ( v ) a : { la = ea ; R = ha = ! 1 ; S = h ; l = 0 ; w = ! 1 ; if ( fa = f . input . charCodeAt ( f . position ) , 124 === fa ) v = ! 1 ; else { if ( 62 !== fa ) { v = ! 1 ; break a } v = ! 0 } f . kind = "scalar" ; for ( f . result = "" ; 0 !== fa ; ) if ( fa = f . input . charCodeAt ( ++ f . position ) , 43 === fa || 45 === fa ) ea === la ? la = 43 === fa ? pa : N : q ( f , "repeat of a chomping mode identifier" ) ; else { if ( ! ( 0 <= ( T = 48 <= fa && 57 >= fa ? fa - 48 : - 1 ) ) ) break ; 0 === T ? q ( f , "bad explicit indentation width of a block scalar; it cannot be less than one" ) :
R ? q ( f , "repeat of an indentation width identifier" ) : ( S = h + T - 1 , R = ! 0 ) } if ( a ( fa ) ) { do fa = f . input . charCodeAt ( ++ f . position ) ; while ( a ( fa ) ) ; if ( 35 === fa ) { do fa = f . input . charCodeAt ( ++ f . position ) ; while ( ! c ( fa ) && 0 !== fa ) } } for ( ; 0 !== fa ; ) { F ( f ) ; f . lineIndent = 0 ; for ( fa = f . input . charCodeAt ( f . position ) ; ( ! R || f . lineIndent < S ) && 32 === fa ; ) f . lineIndent ++ , fa = f . input . charCodeAt ( ++ f . position ) ; if ( ! R && f . lineIndent > S && ( S = f . lineIndent ) , c ( fa ) ) l ++ ; else { if ( f . lineIndent < S ) { la === pa ? f . result += X . repeat ( "\n" , ha ? 1 + l : l ) : la === ea && ha && ( f . result += "\n" ) ;
break } v ? a ( fa ) ? ( w = ! 0 , f . result += X . repeat ( "\n" , ha ? 1 + l : l ) ) : w ? ( w = ! 1 , f . result += X . repeat ( "\n" , l + 1 ) ) : 0 === l ? ha && ( f . result += " " ) : f . result += X . repeat ( "\n" , l ) : f . result += X . repeat ( "\n" , ha ? 1 + l : l ) ; R = ha = ! 0 ; l = 0 ; for ( T = f . position ; ! c ( fa ) && 0 !== fa ; ) fa = f . input . charCodeAt ( ++ f . position ) ; r ( f , T , f . position , ! 1 ) } } v = ! 0 } if ( ! ( fa = v ) ) a : { var ta ; if ( ta = f . input . charCodeAt ( f . position ) , 39 !== ta ) fa = ! 1 ; else { f . kind = "scalar" ; f . result = "" ; f . position ++ ; for ( fa = v = f . position ; 0 !== ( ta = f . input . charCodeAt ( f . position ) ) ; ) if ( 39 === ta ) { if ( r ( f , fa , f . position , ! 0 ) ,
ta = f . input . charCodeAt ( ++ f . position ) , 39 !== ta ) { fa = ! 0 ; break a } fa = v = f . position ; f . position ++ } else c ( ta ) ? ( r ( f , fa , v , ! 0 ) , p ( f , A ( f , ! 1 , h ) ) , fa = v = f . position ) : f . position === f . lineStart && D ( f ) ? q ( f , "unexpected end of the document within a single quoted scalar" ) : ( f . position ++ , v = f . position ) ; q ( f , "unexpected end of the stream within a single quoted scalar" ) ; fa = void 0 } } if ( ! ( ta = fa ) ) a : { var da ; if ( da = f . input . charCodeAt ( f . position ) , 34 !== da ) ta = ! 1 ; else { f . kind = "scalar" ; f . result = "" ; f . position ++ ; for ( ta = fa = f . position ; 0 !== ( da = f . input . charCodeAt ( f . position ) ) ; ) { if ( 34 ===
da ) { ta = ( r ( f , ta , f . position , ! 0 ) , f . position ++ , ! 0 ) ; break a } if ( 92 === da ) { if ( r ( f , ta , f . position , ! 0 ) , da = f . input . charCodeAt ( ++ f . position ) , c ( da ) ) A ( f , ! 1 , h ) ; else if ( 256 > da && Ea [ da ] ) f . result += wa [ da ] , f . position ++ ; else if ( 0 < ( v = 120 === da ? 2 : 117 === da ? 4 : 85 === da ? 8 : 0 ) ) { fa = v ; for ( ta = 0 ; 0 < fa ; fa -- ) da = f . input . charCodeAt ( ++ f . position ) , la = void 0 , 0 <= ( v = 48 <= da && 57 >= da ? da - 48 : ( la = 32 | da , 97 <= la && 102 >= la ? la - 97 + 10 : - 1 ) ) ? ta = ( ta << 4 ) + v : q ( f , "expected hexadecimal character" ) ; da = f . result ; ta = 65535 >= ta ? String . fromCharCode ( ta ) : String . fromCharCode ( ( ta -
65536 >> 10 ) + 55296 , ( ta - 65536 & 1023 ) + 56320 ) ; f . result = da + ta ; f . position ++ } else q ( f , "unknown escape sequence" ) ; ta = fa = f . position } else c ( da ) ? ( r ( f , ta , fa , ! 0 ) , p ( f , A ( f , ! 1 , h ) ) , ta = fa = f . position ) : f . position === f . lineStart && D ( f ) ? q ( f , "unexpected end of the document within a double quoted scalar" ) : ( f . position ++ , fa = f . position ) } q ( f , "unexpected end of the stream within a double quoted scalar" ) ; ta = void 0 } } if ( ta ) ba = ! 0 ; else { var Pa ; var Xa ; if ( Pa = f . input . charCodeAt ( f . position ) , 42 !== Pa ) Pa = ! 1 ; else { Pa = f . input . charCodeAt ( ++ f . position ) ;
for ( da = f . position ; 0 !== Pa && ! g ( Pa ) && ! e ( Pa ) ; ) Pa = f . input . charCodeAt ( ++ f . position ) ; Pa = ( f . position === da && q ( f , "name of an alias node must contain at least one character" ) , Xa = f . input . slice ( da , f . position ) , f . anchorMap . hasOwnProperty ( Xa ) || q ( f , 'unidentified alias "' + Xa + '"' ) , f . result = f . anchorMap [ Xa ] , A ( f , ! 0 , - 1 ) , ! 0 ) } if ( Pa ) ba = ! 0 , null === f . tag && null === f . anchor || q ( f , "alias node should not have any properties" ) ; else { k = U === k ; var Za , sa ; da = f . kind ; ta = f . result ; if ( sa = f . input . charCodeAt ( f . position ) , g ( sa ) || e ( sa ) || 35 === sa || 38 ===
sa || 42 === sa || 33 === sa || 124 === sa || 62 === sa || 39 === sa || 34 === sa || 37 === sa || 64 === sa || 96 === sa ) z = ! 1 ; else if ( ( 63 === sa || 45 === sa ) && ( I = f . input . charCodeAt ( f . position + 1 ) , g ( I ) || k && e ( I ) ) ) z = ! 1 ; else { f . kind = "scalar" ; f . result = "" ; Xa = Pa = f . position ; for ( fa = ! 1 ; 0 !== sa ; ) { if ( 58 === sa ) { if ( I = f . input . charCodeAt ( f . position + 1 ) , g ( I ) || k && e ( I ) ) break } else if ( 35 === sa ) { if ( z = f . input . charCodeAt ( f . position - 1 ) , g ( z ) ) break } else { if ( f . position === f . lineStart && D ( f ) || k && e ( sa ) ) break ; if ( c ( sa ) ) { if ( Za = f . line , sa = f . lineStart , fa = f . lineIndent , A ( f , ! 1 , - 1 ) , f . lineIndent >=
h ) { fa = ! 0 ; sa = f . input . charCodeAt ( f . position ) ; continue } f . position = Pa ; f . line = Za ; f . lineStart = sa ; f . lineIndent = fa ; break } } fa && ( r ( f , Xa , Pa , ! 1 ) , p ( f , f . line - Za ) , Xa = Pa = f . position , fa = ! 1 ) ; a ( sa ) || ( Pa = f . position + 1 ) ; sa = f . input . charCodeAt ( ++ f . position ) } z = ( r ( f , Xa , Pa , ! 1 ) , ! ! f . result || ( f . kind = da , f . result = ta , ! 1 ) ) } z && ( ba = ! 0 , null === f . tag && ( f . tag = "?" ) ) } } null !== f . anchor && ( f . anchorMap [ f . anchor ] = f . result ) } } else 0 === T && ( ba = w && u ( f , l ) ) ; if ( null !== f . tag && "!" !== f . tag ) if ( "?" === f . tag ) for ( z = 0 , I = f . implicitTypes . length ; z < I ; z += 1 ) { if ( K = f . implicitTypes [ z ] ,
K . resolve ( f . result ) ) { f . result = K . construct ( f . result ) ; f . tag = K . tag ; null !== f . anchor && ( f . anchorMap [ f . anchor ] = f . result ) ; break } } else E . call ( f . typeMap , f . tag ) ? ( K = f . typeMap [ f . tag ] , null !== f . result && K . kind !== f . kind && q ( f , "unacceptable node kind for !<" + f . tag + '> tag; it should be "' + K . kind + '", not "' + f . kind + '"' ) , K . resolve ( f . result ) ? ( f . result = K . construct ( f . result ) , null !== f . anchor && ( f . anchorMap [ f . anchor ] = f . result ) ) : q ( f , "cannot resolve a node with !<" + f . tag + "> explicit tag" ) ) : q ( f , "unknown tag !<" + f . tag + ">" ) ; return null !==
f . listener && f . listener ( "close" , f ) , null !== f . tag || null !== f . anchor || ba } function K ( e , f ) { e = String ( e ) ; f = f || { } ; 0 !== e . length && ( 10 !== e . charCodeAt ( e . length - 1 ) && 13 !== e . charCodeAt ( e . length - 1 ) && ( e += "\n" ) , 65279 === e . charCodeAt ( 0 ) && ( e = e . slice ( 1 ) ) ) ; var h = new l ( e , f ) ; for ( h . input += "\x00" ; 32 === h . input . charCodeAt ( h . position ) ; ) h . lineIndent += 1 , h . position += 1 ; for ( ; h . position < h . length - 1 ; ) { var k = void 0 , n , t , p , r = h , u = r . position , v = ! 1 ; r . version = null ; r . checkLineBreaks = r . legacy ; r . tagMap = { } ; for ( r . anchorMap = { } ; 0 !== r . input . charCodeAt ( r . position ) &&
( A ( r , ! 0 , - 1 ) , k = r . input . charCodeAt ( r . position ) , ! ( 0 < r . lineIndent || 37 !== k ) ) ; ) { v = ! 0 ; k = r . input . charCodeAt ( ++ r . position ) ; for ( p = r . position ; 0 !== k && ! g ( k ) ; ) k = r . input . charCodeAt ( ++ r . position ) ; t = r . input . slice ( p , r . position ) ; n = [ ] ; for ( 1 > t . length && q ( r , "directive name must not be less than one character in length" ) ; 0 !== k ; ) { for ( ; a ( k ) ; ) k = r . input . charCodeAt ( ++ r . position ) ; if ( 35 === k ) { do k = r . input . charCodeAt ( ++ r . position ) ; while ( 0 !== k && ! c ( k ) ) ; break } if ( c ( k ) ) break ; for ( p = r . position ; 0 !== k && ! g ( k ) ; ) k = r . input . charCodeAt ( ++ r . position ) ;
n . push ( r . input . slice ( p , r . position ) ) } 0 !== k && F ( r ) ; E . call ( ha , t ) ? ha [ t ] ( r , t , n ) : w ( r , 'unknown document directive "' + t + '"' ) } A ( r , ! 0 , - 1 ) ; 0 === r . lineIndent && 45 === r . input . charCodeAt ( r . position ) && 45 === r . input . charCodeAt ( r . position + 1 ) && 45 === r . input . charCodeAt ( r . position + 2 ) ? ( r . position += 3 , A ( r , ! 0 , - 1 ) ) : v && q ( r , "directives end mark is expected" ) ; H ( r , r . lineIndent - 1 , Q , ! 1 , ! 0 ) ; A ( r , ! 0 , - 1 ) ; r . checkLineBreaks && W . test ( r . input . slice ( u , r . position ) ) && w ( r , "non-ASCII line breaks are interpreted as content" ) ; r . documents . push ( r . result ) ;
r . position === r . lineStart && D ( r ) ? 46 === r . input . charCodeAt ( r . position ) && ( r . position += 3 , A ( r , ! 0 , - 1 ) ) : r . position < r . length - 1 && q ( r , "end of the stream or a document separator is expected" ) } return h . documents } function L ( a , c , e ) { var f = K ( a , e ) ; a = 0 ; for ( e = f . length ; a < e ; a += 1 ) c ( f [ a ] ) } function S ( a , c ) { var e = K ( a , c ) ; if ( 0 !== e . length ) { if ( 1 === e . length ) return e [ 0 ] ; throw new I ( "expected a single document in the stream, but found more" ) ; } } var X = f ( "./common" ) , I = f ( "./exception" ) , R = f ( "./mark" ) , Y = f ( "./schema/default_safe" ) , T = f ( "./schema/default_full" ) ,
E = Object . prototype . hasOwnProperty , U = 1 , ka = 2 , V = 3 , Q = 4 , ea = 1 , N = 2 , pa = 3 , ca = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/ , W = /[\x85\u2028\u2029]/ , da = /[,\[\]\{\}]/ , la = /^(?:!|!!|![a-z\-]+!)$/i , ma = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i , Ea = Array ( 256 ) , wa = Array ( 256 ) ; for ( f = 0 ; 256 > f ; f ++ ) Ea [ f ] = t ( f ) ? 1 : 0 , wa [ f ] = t ( f ) ; var ha = { YAML : function ( a , c , e ) { var f ; null !== a . version && q ( a , "duplication of %YAML directive" ) ;
1 !== e . length && q ( a , "YAML directive accepts exactly one argument" ) ; f = /^([0-9]+)\.([0-9]+)$/ . exec ( e [ 0 ] ) ; null === f && q ( a , "ill-formed argument of the YAML directive" ) ; c = parseInt ( f [ 1 ] , 10 ) ; f = parseInt ( f [ 2 ] , 10 ) ; 1 !== c && q ( a , "unacceptable YAML version of the document" ) ; a . version = e [ 0 ] ; a . checkLineBreaks = 2 > f ; 1 !== f && 2 !== f && w ( a , "unsupported YAML version of the document" ) } , TAG : function ( a , c , e ) { 2 !== e . length && q ( a , "TAG directive accepts exactly two arguments" ) ; c = e [ 0 ] ; e = e [ 1 ] ; la . test ( c ) || q ( a , "ill-formed tag handle (first argument) of the TAG directive" ) ;
E . call ( a . tagMap , c ) && q ( a , 'there is a previously declared suffix for "' + c + '" tag handle' ) ; ma . test ( e ) || q ( a , "ill-formed tag prefix (second argument) of the TAG directive" ) ; a . tagMap [ c ] = e } } ; h . exports . loadAll = L ; h . exports . load = S ; h . exports . safeLoadAll = function ( a , c , e ) { L ( a , c , X . extend ( { schema : Y } , e ) ) } ; h . exports . safeLoad = function ( a , c ) { return S ( a , X . extend ( { schema : Y } , c ) ) } } , { "./common" : 2 , "./exception" : 4 , "./mark" : 6 , "./schema/default_full" : 9 , "./schema/default_safe" : 10 } ] , 6 : [ function ( f , h , k ) { function c ( a , c , f , h , k ) { this . name =
a ; this . buffer = c ; this . position = f ; this . line = h ; this . column = k } var a = f ( "./common" ) ; c . prototype . getSnippet = function ( c , e ) { var f , g , h , k , w ; if ( ! this . buffer ) return null ; c = c || 4 ; e = e || 75 ; f = "" ; for ( g = this . position ; 0 < g && - 1 === "\x00\r\n\u0085\u2028\u2029" . indexOf ( this . buffer . charAt ( g - 1 ) ) ; ) if ( -- g , this . position - g > e / 2 - 1 ) { f = " ... " ; g += 5 ; break } h = "" ; for ( k = this . position ; k < this . buffer . length && - 1 === "\x00\r\n\u0085\u2028\u2029" . indexOf ( this . buffer . charAt ( k ) ) ; ) if ( k += 1 , k - this . position > e / 2 - 1 ) { h = " ... " ; k -= 5 ; break } return w = this . buffer . slice ( g ,
k ) , a . repeat ( " " , c ) + f + w + h + "\n" + a . repeat ( " " , c + this . position - g + f . length ) + "^" } ; c . prototype . toString = function ( a ) { var c , f = "" ; return this . name && ( f += 'in "' + this . name + '" ' ) , f += "at line " + ( this . line + 1 ) + ", column " + ( this . column + 1 ) , a || ( c = this . getSnippet ( ) , c && ( f += ":\n" + c ) ) , f } ; h . exports = c } , { "./common" : 2 } ] , 7 : [ function ( f , h , k ) { function c ( a , e , f ) { var g = [ ] ; return a . include . forEach ( function ( a ) { f = c ( a , e , f ) } ) , a [ e ] . forEach ( function ( a ) { f . forEach ( function ( c , e ) { c . tag === a . tag && g . push ( e ) } ) ; f . push ( a ) } ) , f . filter ( function ( a , c ) { return - 1 ===
g . indexOf ( c ) } ) } function a ( ) { function a ( a ) { f [ a . tag ] = a } var c , e , f = { } ; c = 0 ; for ( e = arguments . length ; c < e ; c += 1 ) arguments [ c ] . forEach ( a ) ; return f } function g ( e ) { this . include = e . include || [ ] ; this . implicit = e . implicit || [ ] ; this . explicit = e . explicit || [ ] ; this . implicit . forEach ( function ( a ) { if ( a . loadKind && "scalar" !== a . loadKind ) throw new t ( "There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported." ) ; } ) ; this . compiledImplicit = c ( this , "implicit" , [ ] ) ; this . compiledExplicit =
c ( this , "explicit" , [ ] ) ; this . compiledTypeMap = a ( this . compiledImplicit , this . compiledExplicit ) } var e = f ( "./common" ) , t = f ( "./exception" ) , l = f ( "./type" ) ; g . DEFAULT = null ; g . create = function ( ) { var a , c ; switch ( arguments . length ) { case 1 : a = g . DEFAULT ; c = arguments [ 0 ] ; break ; case 2 : a = arguments [ 0 ] ; c = arguments [ 1 ] ; break ; default : throw new t ( "Wrong number of arguments for Schema.create function" ) ; } if ( a = e . toArray ( a ) , c = e . toArray ( c ) , ! a . every ( function ( a ) { return a instanceof g } ) ) throw new t ( "Specified list of super schemas (or a single Schema object) contains a non-Schema object." ) ;
if ( ! c . every ( function ( a ) { return a instanceof l } ) ) throw new t ( "Specified list of YAML types (or a single Type object) contains a non-Type object." ) ; return new g ( { include : a , explicit : c } ) } ; h . exports = g } , { "./common" : 2 , "./exception" : 4 , "./type" : 13 } ] , 8 : [ function ( f , h , k ) { k = f ( "../schema" ) ; h . exports = new k ( { include : [ f ( "./json" ) ] } ) } , { "../schema" : 7 , "./json" : 12 } ] , 9 : [ function ( f , h , k ) { k = f ( "../schema" ) ; h . exports = k . DEFAULT = new k ( { include : [ f ( "./default_safe" ) ] , explicit : [ f ( "../type/js/undefined" ) , f ( "../type/js/regexp" ) , f ( "../type/js/function" ) ] } ) } ,
{ "../schema" : 7 , "../type/js/function" : 18 , "../type/js/regexp" : 19 , "../type/js/undefined" : 20 , "./default_safe" : 10 } ] , 10 : [ function ( f , h , k ) { k = f ( "../schema" ) ; h . exports = new k ( { include : [ f ( "./core" ) ] , implicit : [ f ( "../type/timestamp" ) , f ( "../type/merge" ) ] , explicit : [ f ( "../type/binary" ) , f ( "../type/omap" ) , f ( "../type/pairs" ) , f ( "../type/set" ) ] } ) } , { "../schema" : 7 , "../type/binary" : 14 , "../type/merge" : 22 , "../type/omap" : 24 , "../type/pairs" : 25 , "../type/set" : 27 , "../type/timestamp" : 29 , "./core" : 8 } ] , 11 : [ function ( f , h , k ) { k = f ( "../schema" ) ;
h . exports = new k ( { explicit : [ f ( "../type/str" ) , f ( "../type/seq" ) , f ( "../type/map" ) ] } ) } , { "../schema" : 7 , "../type/map" : 21 , "../type/seq" : 26 , "../type/str" : 28 } ] , 12 : [ function ( f , h , k ) { k = f ( "../schema" ) ; h . exports = new k ( { include : [ f ( "./failsafe" ) ] , implicit : [ f ( "../type/null" ) , f ( "../type/bool" ) , f ( "../type/int" ) , f ( "../type/float" ) ] } ) } , { "../schema" : 7 , "../type/bool" : 15 , "../type/float" : 16 , "../type/int" : 17 , "../type/null" : 23 , "./failsafe" : 11 } ] , 13 : [ function ( f , h , k ) { function c ( a ) { var c = { } ; return null !== a && Object . keys ( a ) . forEach ( function ( e ) { a [ e ] . forEach ( function ( a ) { c [ String ( a ) ] =
e } ) } ) , c } var a = f ( "./exception" ) , g = "kind resolve construct instanceOf predicate represent defaultStyle styleAliases" . split ( " " ) , e = [ "scalar" , "sequence" , "mapping" ] ; h . exports = function ( f , h ) { if ( h = h || { } , Object . keys ( h ) . forEach ( function ( c ) { if ( - 1 === g . indexOf ( c ) ) throw new a ( 'Unknown option "' + c + '" is met in definition of "' + f + '" YAML type.' ) ; } ) , this . tag = f , this . kind = h . kind || null , this . resolve = h . resolve || function ( ) { return ! 0 } , this . construct = h . construct || function ( a ) { return a } , this . instanceOf = h . instanceOf || null , this . predicate =
h . predicate || null , this . represent = h . represent || null , this . defaultStyle = h . defaultStyle || null , this . styleAliases = c ( h . styleAliases || null ) , - 1 === e . indexOf ( this . kind ) ) throw new a ( 'Unknown kind "' + this . kind + '" is specified for "' + f + '" YAML type.' ) ; } } , { "./exception" : 4 } ] , 14 : [ function ( f , h , k ) { var c ; try { c = f ( "buffer" ) . Buffer } catch ( a ) { } f = f ( "../type" ) ; h . exports = new f ( "tag:yaml.org,2002:binary" , { kind : "scalar" , resolve : function ( a ) { if ( null === a ) return ! 1 ; var c , e , f = 0 , h = a . length ; for ( e = 0 ; e < h ; e ++ ) if ( c = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" . indexOf ( a . charAt ( e ) ) ,
! ( 64 < c ) ) { if ( 0 > c ) return ! 1 ; f += 6 } return 0 === f % 8 } , construct : function ( a ) { var f , e = a . replace ( /[\r\n=]/g , "" ) , h = e . length , k = 0 , n = [ ] ; for ( a = 0 ; a < h ; a ++ ) 0 === a % 4 && a && ( n . push ( k >> 16 & 255 ) , n . push ( k >> 8 & 255 ) , n . push ( 255 & k ) ) , k = k << 6 | "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" . indexOf ( e . charAt ( a ) ) ; return f = h % 4 * 6 , 0 === f ? ( n . push ( k >> 16 & 255 ) , n . push ( k >> 8 & 255 ) , n . push ( 255 & k ) ) : 18 === f ? ( n . push ( k >> 10 & 255 ) , n . push ( k >> 2 & 255 ) ) : 12 === f && n . push ( k >> 4 & 255 ) , c ? new c ( n ) : n } , predicate : function ( a ) { return c && c . isBuffer ( a ) } ,
represent : function ( a ) { var c , e , f = "" , h = 0 , k = a . length ; for ( c = 0 ; c < k ; c ++ ) 0 === c % 3 && c && ( f += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" [ h >> 18 & 63 ] , f += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" [ h >> 12 & 63 ] , f += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" [ h >> 6 & 63 ] , f += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" [ 63 & h ] ) , h = ( h << 8 ) + a [ c ] ; return e = k % 3 , 0 === e ? ( f += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" [ h >>
18 & 63 ] , f += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" [ h >> 12 & 63 ] , f += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" [ h >> 6 & 63 ] , f += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" [ 63 & h ] ) : 2 === e ? ( f += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" [ h >> 10 & 63 ] , f += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" [ h >> 4 & 63 ] , f += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" [ h <<
2 & 63 ] , f += "=" ) : 1 === e && ( f += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" [ h >> 2 & 63 ] , f += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r" [ h << 4 & 63 ] , f += "=" , f += "=" ) , f } } ) } , { "../type" : 13 } ] , 15 : [ function ( f , h , k ) { f = f ( "../type" ) ; h . exports = new f ( "tag:yaml.org,2002:bool" , { kind : "scalar" , resolve : function ( c ) { if ( null === c ) return ! 1 ; var a = c . length ; return 4 === a && ( "true" === c || "True" === c || "TRUE" === c ) || 5 === a && ( "false" === c || "False" === c || "FALSE" === c ) } , construct : function ( c ) { return "true" ===
c || "True" === c || "TRUE" === c } , predicate : function ( c ) { return "[object Boolean]" === Object . prototype . toString . call ( c ) } , represent : { lowercase : function ( c ) { return c ? "true" : "false" } , uppercase : function ( c ) { return c ? "TRUE" : "FALSE" } , camelcase : function ( c ) { return c ? "True" : "False" } } , defaultStyle : "lowercase" } ) } , { "../type" : 13 } ] , 16 : [ function ( f , h , k ) { var c = f ( "../common" ) ; f = f ( "../type" ) ; var a = /^(?:[-+]?(?:[0-9][0-9_]*)\.[0-9_]*(?:[eE][-+][0-9]+)?|\.[0-9_]+(?:[eE][-+][0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*|[-+]?\.(?:inf|Inf|INF)|\.(?:nan|NaN|NAN))$/ ,
g = /^[-+]?[0-9]+e/ ; h . exports = new f ( "tag:yaml.org,2002:float" , { kind : "scalar" , resolve : function ( c ) { return null !== c && ! ! a . test ( c ) } , construct : function ( a ) { var c , e , f , g ; return c = a . replace ( /_/g , "" ) . toLowerCase ( ) , e = "-" === c [ 0 ] ? - 1 : 1 , g = [ ] , 0 <= "+-" . indexOf ( c [ 0 ] ) && ( c = c . slice ( 1 ) ) , ".inf" === c ? 1 === e ? Number . POSITIVE _INFINITY : Number . NEGATIVE _INFINITY : ".nan" === c ? NaN : 0 <= c . indexOf ( ":" ) ? ( c . split ( ":" ) . forEach ( function ( a ) { g . unshift ( parseFloat ( a , 10 ) ) } ) , c = 0 , f = 1 , g . forEach ( function ( a ) { c += a * f ; f *= 60 } ) , e * c ) : e * parseFloat ( c , 10 ) } , predicate : function ( a ) { return "[object Number]" ===
Object . prototype . toString . call ( a ) && ( 0 !== a % 1 || c . isNegativeZero ( a ) ) } , represent : function ( a , f ) { var e ; if ( isNaN ( a ) ) switch ( f ) { case "lowercase" : return ".nan" ; case "uppercase" : return ".NAN" ; case "camelcase" : return ".NaN" } else if ( Number . POSITIVE _INFINITY === a ) switch ( f ) { case "lowercase" : return ".inf" ; case "uppercase" : return ".INF" ; case "camelcase" : return ".Inf" } else if ( Number . NEGATIVE _INFINITY === a ) switch ( f ) { case "lowercase" : return "-.inf" ; case "uppercase" : return "-.INF" ; case "camelcase" : return "-.Inf" } else if ( c . isNegativeZero ( a ) ) return "-0.0" ;
return e = a . toString ( 10 ) , g . test ( e ) ? e . replace ( "e" , ".e" ) : e } , defaultStyle : "lowercase" } ) } , { "../common" : 2 , "../type" : 13 } ] , 17 : [ function ( f , h , k ) { var c = f ( "../common" ) ; f = f ( "../type" ) ; h . exports = new f ( "tag:yaml.org,2002:int" , { kind : "scalar" , resolve : function ( a ) { if ( null === a ) return ! 1 ; var c , e = a . length , f = 0 , h = ! 1 ; if ( ! e ) return ! 1 ; if ( c = a [ f ] , "-" !== c && "+" !== c || ( c = a [ ++ f ] ) , "0" === c ) { if ( f + 1 === e ) return ! 0 ; if ( c = a [ ++ f ] , "b" === c ) { for ( f ++ ; f < e ; f ++ ) if ( c = a [ f ] , "_" !== c ) { if ( "0" !== c && "1" !== c ) return ! 1 ; h = ! 0 } return h } if ( "x" === c ) { for ( f ++ ; f < e ; f ++ ) if ( c =
a [ f ] , "_" !== c ) { h = a . charCodeAt ( f ) ; if ( ! ( 48 <= h && 57 >= h || 65 <= h && 70 >= h || 97 <= h && 102 >= h ) ) return ! 1 ; h = ! 0 } return h } for ( ; f < e ; f ++ ) if ( c = a [ f ] , "_" !== c ) { h = a . charCodeAt ( f ) ; if ( ! ( 48 <= h && 55 >= h ) ) return ! 1 ; h = ! 0 } return h } for ( ; f < e ; f ++ ) if ( c = a [ f ] , "_" !== c ) { if ( ":" === c ) break ; h = a . charCodeAt ( f ) ; if ( ! ( 48 <= h && 57 >= h ) ) return ! 1 ; h = ! 0 } return ! ! h && ( ":" !== c || /^(:[0-5]?[0-9])+$/ . test ( a . slice ( f ) ) ) } , construct : function ( a ) { var c , e , f = a ; a = 1 ; var h = [ ] ; return - 1 !== f . indexOf ( "_" ) && ( f = f . replace ( /_/g , "" ) ) , c = f [ 0 ] , "-" !== c && "+" !== c || ( "-" === c && ( a = - 1 ) , f = f . slice ( 1 ) ,
c = f [ 0 ] ) , "0" === f ? 0 : "0" === c ? "b" === f [ 1 ] ? a * parseInt ( f . slice ( 2 ) , 2 ) : "x" === f [ 1 ] ? a * parseInt ( f , 16 ) : a * parseInt ( f , 8 ) : - 1 !== f . indexOf ( ":" ) ? ( f . split ( ":" ) . forEach ( function ( a ) { h . unshift ( parseInt ( a , 10 ) ) } ) , f = 0 , e = 1 , h . forEach ( function ( a ) { f += a * e ; e *= 60 } ) , a * f ) : a * parseInt ( f , 10 ) } , predicate : function ( a ) { return "[object Number]" === Object . prototype . toString . call ( a ) && 0 === a % 1 && ! c . isNegativeZero ( a ) } , represent : { binary : function ( a ) { return "0b" + a . toString ( 2 ) } , octal : function ( a ) { return "0" + a . toString ( 8 ) } , decimal : function ( a ) { return a . toString ( 10 ) } ,
hexadecimal : function ( a ) { return "0x" + a . toString ( 16 ) . toUpperCase ( ) } } , defaultStyle : "decimal" , styleAliases : { binary : [ 2 , "bin" ] , octal : [ 8 , "oct" ] , decimal : [ 10 , "dec" ] , hexadecimal : [ 16 , "hex" ] } } ) } , { "../common" : 2 , "../type" : 13 } ] , 18 : [ function ( f , h , k ) { var c ; try { c = f ( "esprima" ) } catch ( a ) { "undefined" != typeof window && ( c = window . esprima ) } f = f ( "../../type" ) ; h . exports = new f ( "tag:yaml.org,2002:js/function" , { kind : "scalar" , resolve : function ( a ) { if ( null === a ) return ! 1 ; try { var f = c . parse ( "(" + a + ")" , { range : ! 0 } ) ; return "Program" === f . type &&
1 === f . body . length && "ExpressionStatement" === f . body [ 0 ] . type && "FunctionExpression" === f . body [ 0 ] . expression . type } catch ( e ) { return ! 1 } } , construct : function ( a ) { var f ; a = "(" + a + ")" ; var e = c . parse ( a , { range : ! 0 } ) , h = [ ] ; if ( "Program" !== e . type || 1 !== e . body . length || "ExpressionStatement" !== e . body [ 0 ] . type || "FunctionExpression" !== e . body [ 0 ] . expression . type ) throw Error ( "Failed to resolve function" ) ; return e . body [ 0 ] . expression . params . forEach ( function ( a ) { h . push ( a . name ) } ) , f = e . body [ 0 ] . expression . body . range , new Function ( h , a . slice ( f [ 0 ] +
1 , f [ 1 ] - 1 ) ) } , predicate : function ( a ) { return "[object Function]" === Object . prototype . toString . call ( a ) } , represent : function ( a ) { return a . toString ( ) } } ) } , { "../../type" : 13 } ] , 19 : [ function ( f , h , k ) { f = f ( "../../type" ) ; h . exports = new f ( "tag:yaml.org,2002:js/regexp" , { kind : "scalar" , resolve : function ( c ) { if ( null === c || 0 === c . length ) return ! 1 ; var a = /\/([gim]*)$/ . exec ( c ) , f = "" ; return "/" === c [ 0 ] && ( ( a && ( f = a [ 1 ] ) , 3 < f . length ) || "/" !== c [ c . length - f . length - 1 ] ) ? ! 1 : ! 0 } , construct : function ( c ) { var a = c ; c = /\/([gim]*)$/ . exec ( c ) ; var f = "" ; return "/" ===
a [ 0 ] && ( c && ( f = c [ 1 ] ) , a = a . slice ( 1 , a . length - f . length - 1 ) ) , new RegExp ( a , f ) } , predicate : function ( c ) { return "[object RegExp]" === Object . prototype . toString . call ( c ) } , represent : function ( c ) { var a = "/" + c . source + "/" ; return c . global && ( a += "g" ) , c . multiline && ( a += "m" ) , c . ignoreCase && ( a += "i" ) , a } } ) } , { "../../type" : 13 } ] , 20 : [ function ( f , h , k ) { f = f ( "../../type" ) ; h . exports = new f ( "tag:yaml.org,2002:js/undefined" , { kind : "scalar" , resolve : function ( ) { return ! 0 } , construct : function ( ) { } , predicate : function ( c ) { return "undefined" == typeof c } , represent : function ( ) { return "" } } ) } ,
{ "../../type" : 13 } ] , 21 : [ function ( f , h , k ) { f = f ( "../type" ) ; h . exports = new f ( "tag:yaml.org,2002:map" , { kind : "mapping" , construct : function ( c ) { return null !== c ? c : { } } } ) } , { "../type" : 13 } ] , 22 : [ function ( f , h , k ) { f = f ( "../type" ) ; h . exports = new f ( "tag:yaml.org,2002:merge" , { kind : "scalar" , resolve : function ( c ) { return "<<" === c || null === c } } ) } , { "../type" : 13 } ] , 23 : [ function ( f , h , k ) { f = f ( "../type" ) ; h . exports = new f ( "tag:yaml.org,2002:null" , { kind : "scalar" , resolve : function ( c ) { if ( null === c ) return ! 0 ; var a = c . length ; return 1 === a && "~" === c || 4 ===
a && ( "null" === c || "Null" === c || "NULL" === c ) } , construct : function ( ) { return null } , predicate : function ( c ) { return null === c } , represent : { canonical : function ( ) { return "~" } , lowercase : function ( ) { return "null" } , uppercase : function ( ) { return "NULL" } , camelcase : function ( ) { return "Null" } } , defaultStyle : "lowercase" } ) } , { "../type" : 13 } ] , 24 : [ function ( f , h , k ) { f = f ( "../type" ) ; var c = Object . prototype . hasOwnProperty , a = Object . prototype . toString ; h . exports = new f ( "tag:yaml.org,2002:omap" , { kind : "sequence" , resolve : function ( f ) { if ( null === f ) return ! 0 ;
var e , g , h , k , q , w = [ ] ; e = 0 ; for ( g = f . length ; e < g ; e += 1 ) { if ( h = f [ e ] , q = ! 1 , "[object Object]" !== a . call ( h ) ) return ! 1 ; for ( k in h ) if ( c . call ( h , k ) ) { if ( q ) return ! 1 ; q = ! 0 } if ( ! q || - 1 !== w . indexOf ( k ) ) return ! 1 ; w . push ( k ) } return ! 0 } , construct : function ( a ) { return null !== a ? a : [ ] } } ) } , { "../type" : 13 } ] , 25 : [ function ( f , h , k ) { f = f ( "../type" ) ; var c = Object . prototype . toString ; h . exports = new f ( "tag:yaml.org,2002:pairs" , { kind : "sequence" , resolve : function ( a ) { if ( null === a ) return ! 0 ; var f , e , h , k , n ; n = Array ( a . length ) ; f = 0 ; for ( e = a . length ; f < e ; f += 1 ) { if ( ( h = a [ f ] ,
"[object Object]" !== c . call ( h ) ) || ( k = Object . keys ( h ) , 1 !== k . length ) ) return ! 1 ; n [ f ] = [ k [ 0 ] , h [ k [ 0 ] ] ] } return ! 0 } , construct : function ( a ) { if ( null === a ) return [ ] ; var c , e , f , h , k ; k = Array ( a . length ) ; c = 0 ; for ( e = a . length ; c < e ; c += 1 ) f = a [ c ] , h = Object . keys ( f ) , k [ c ] = [ h [ 0 ] , f [ h [ 0 ] ] ] ; return k } } ) } , { "../type" : 13 } ] , 26 : [ function ( f , h , k ) { f = f ( "../type" ) ; h . exports = new f ( "tag:yaml.org,2002:seq" , { kind : "sequence" , construct : function ( c ) { return null !== c ? c : [ ] } } ) } , { "../type" : 13 } ] , 27 : [ function ( f , h , k ) { f = f ( "../type" ) ; var c = Object . prototype . hasOwnProperty ;
h . exports = new f ( "tag:yaml.org,2002:set" , { kind : "mapping" , resolve : function ( a ) { if ( null === a ) return ! 0 ; for ( var f in a ) if ( c . call ( a , f ) && null !== a [ f ] ) return ! 1 ; return ! 0 } , construct : function ( a ) { return null !== a ? a : { } } } ) } , { "../type" : 13 } ] , 28 : [ function ( f , h , k ) { f = f ( "../type" ) ; h . exports = new f ( "tag:yaml.org,2002:str" , { kind : "scalar" , construct : function ( c ) { return null !== c ? c : "" } } ) } , { "../type" : 13 } ] , 29 : [ function ( f , h , k ) { f = f ( "../type" ) ; var c = /^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$/ , a = /^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\.([0-9]*))?(?:[ \t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$/ ;
h . exports = new f ( "tag:yaml.org,2002:timestamp" , { kind : "scalar" , resolve : function ( f ) { return null !== f && ( null !== c . exec ( f ) || null !== a . exec ( f ) ) } , construct : function ( f ) { var e , g , h , k , q , w , r , z , y , F = 0 , A = null ; if ( e = c . exec ( f ) , null === e && ( e = a . exec ( f ) ) , null === e ) throw Error ( "Date resolve error" ) ; if ( f = + e [ 1 ] , g = + e [ 2 ] - 1 , h = + e [ 3 ] , ! e [ 4 ] ) return new Date ( Date . UTC ( f , g , h ) ) ; if ( k = + e [ 4 ] , q = + e [ 5 ] , w = + e [ 6 ] , e [ 7 ] ) { for ( F = e [ 7 ] . slice ( 0 , 3 ) ; 3 > F . length ; ) F += "0" ; F = + F } return e [ 9 ] && ( r = + e [ 10 ] , z = + ( e [ 11 ] || 0 ) , A = 6E4 * ( 60 * r + z ) , "-" === e [ 9 ] && ( A = - A ) ) , y = new Date ( Date . UTC ( f ,
g , h , k , q , w , F ) ) , A && y . setTime ( y . getTime ( ) - A ) , y } , instanceOf : Date , represent : function ( a ) { return a . toISOString ( ) } } ) } , { "../type" : 13 } ] , "/" : [ function ( f , h , k ) { f = f ( "./lib/js-yaml.js" ) ; h . exports = f } , { "./lib/js-yaml.js" : 1 } ] } , { } , [ ] ) ( "/" ) } ) ;
( function ( b , f ) { function h ( a ) { var b = [ ] ; return q ( b , t ) . chars ( a ) , b . join ( "" ) } var k , c , a , g , e , t , l , n , q , w = f . $$minErr ( "$sanitize" ) ; f . module ( "ngSanitize" , [ ] ) . provider ( "$sanitize" , function ( ) { function h ( a , b ) { var c , f = { } , g = a . split ( "," ) ; for ( c = 0 ; c < g . length ; c ++ ) f [ b ? e ( g [ c ] ) : g [ c ] ] = ! 0 ; return f } function z ( a ) { for ( var b = { } , c = 0 , e = a . length ; c < e ; c ++ ) { var f = a [ c ] ; b [ f . name ] = f . value } return b } function y ( a ) { return a . replace ( /&/g , "&" ) . replace ( u , function ( a ) { var b = a . charCodeAt ( 0 ) ; return a = a . charCodeAt ( 1 ) , "&#" + ( 1024 * ( b - 55296 ) + ( a - 56320 ) +
65536 ) + ";" } ) . replace ( J , function ( a ) { return "&#" + a . charCodeAt ( 0 ) + ";" } ) . replace ( /</g , "<" ) . replace ( />/g , ">" ) } function F ( a ) { for ( ; a ; ) { if ( a . nodeType === b . Node . ELEMENT _NODE ) for ( var c = a . attributes , e = 0 , f = c . length ; e < f ; e ++ ) { var g = c [ e ] , h = g . name . toLowerCase ( ) ; "xmlns:ns1" !== h && 0 !== h . lastIndexOf ( "ns1:" , 0 ) || ( a . removeAttributeNode ( g ) , e -- , f -- ) } ( c = a . firstChild ) && F ( c ) ; a = A ( "nextSibling" , a ) } } function A ( a , b ) { var c = b [ a ] ; if ( c && l . call ( b , c ) ) throw w ( "elclob" , b . outerHTML || b . outerText ) ; return c } var D = ! 1 ; this . $get = [ "$$sanitizeUri" ,
function ( a ) { return D && c ( I , S ) , function ( b ) { var c = [ ] ; return n ( b , q ( c , function ( b , c ) { return ! /^unsafe:/ . test ( a ( b , c ) ) } ) ) , c . join ( "" ) } } ] ; this . enableSvg = function ( a ) { return g ( a ) ? ( D = a , this ) : D } ; k = f . bind ; c = f . extend ; a = f . forEach ; g = f . isDefined ; e = f . lowercase ; t = f . noop ; n = function ( a , c ) { null === a || void 0 === a ? a = "" : "string" != typeof a && ( a = "" + a ) ; p . innerHTML = a ; var e = 5 ; do { if ( 0 === e ) throw w ( "uinput" ) ; e -- ; b . document . documentMode && F ( p ) ; a = p . innerHTML ; p . innerHTML = a } while ( a !== p . innerHTML ) ; for ( e = p . firstChild ; e ; ) { switch ( e . nodeType ) { case 1 : c . start ( e . nodeName . toLowerCase ( ) ,
z ( e . attributes ) ) ; break ; case 3 : c . chars ( e . textContent ) } var f ; if ( ! ( f = e . firstChild ) && ( 1 === e . nodeType && c . end ( e . nodeName . toLowerCase ( ) ) , f = A ( "nextSibling" , e ) , ! f ) ) for ( ; null == f && ( e = A ( "parentNode" , e ) , e !== p ) ; ) f = A ( "nextSibling" , e ) , 1 === e . nodeType && c . end ( e . nodeName . toLowerCase ( ) ) ; e = f } for ( ; e = p . firstChild ; ) p . removeChild ( e ) } ; q = function ( b , c ) { var f = ! 1 , g = k ( b , b . push ) ; return { start : function ( b , h ) { b = e ( b ) ; ! f && X [ b ] && ( f = b ) ; f || ! 0 !== I [ b ] || ( g ( "<" ) , g ( b ) , a ( h , function ( a , f ) { var h = e ( f ) , k = "img" === b && "src" === h || "background" === h ; ! 0 !==
Y [ h ] || ! 0 === R [ h ] && ! c ( a , k ) || ( g ( " " ) , g ( f ) , g ( '="' ) , g ( y ( a ) ) , g ( '"' ) ) } ) , g ( ">" ) ) } , end : function ( a ) { a = e ( a ) ; f || ! 0 !== I [ a ] || ! 0 === M [ a ] || ( g ( "</" ) , g ( a ) , g ( ">" ) ) ; a == f && ( f = ! 1 ) } , chars : function ( a ) { f || g ( y ( a ) ) } } } ; l = b . Node . prototype . contains || function ( a ) { return ! ! ( 16 & this . compareDocumentPosition ( a ) ) } ; var p , u = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g , J = /([^#-~ |!])/g , M = h ( "area,br,col,hr,img,wbr" ) , H = h ( "colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr" ) , K = h ( "rp,rt" ) , L = c ( { } , K , H ) , H = c ( { } , H , h ( "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" ) ) ,
K = c ( { } , K , h ( "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" ) ) , S = h ( "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" ) , X = h ( "script,style" ) , I = c ( { } , M , H , K , L ) , R = h ( "background,cite,href,longdesc,src,xlink:href" ) , L = h ( "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" ) ,
2017-04-11 07:10:36 +00:00
K = h ( "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" ,
2017-04-11 11:04:48 +00:00
! 0 ) , Y = c ( { } , R , K , L ) ; ! function ( a ) { if ( ! a . document || ! a . document . implementation ) throw w ( "noinert" ) ; a = a . document . implementation . createHTMLDocument ( "inert" ) ; var b = ( a . documentElement || a . getDocumentElement ( ) ) . getElementsByTagName ( "body" ) ; 1 === b . length ? p = b [ 0 ] : ( b = a . createElement ( "html" ) , p = a . createElement ( "body" ) , b . appendChild ( p ) , a . appendChild ( b ) ) } ( b ) } ) . info ( { angularVersion : "1.6.3" } ) ; f . module ( "ngSanitize" ) . filter ( "linky" , [ "$sanitize" , function ( a ) { var b = /((ftp|https?):\/\/|(www\.)|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s.;,(){}<>"\u201d\u2019]/i ,
c = /^mailto:/i , e = f . $$minErr ( "linky" ) , g = f . isDefined , k = f . isFunction , l = f . isObject , n = f . isString ; return function ( f , p , q ) { function r ( a ) { a && A . push ( h ( a ) ) } function t ( a , b ) { var c , e = y ( a ) ; A . push ( "<a " ) ; for ( c in e ) A . push ( c + '="' + e [ c ] + '" ' ) ; ! g ( p ) || "target" in e || A . push ( 'target="' , p , '" ' ) ; A . push ( 'href="' , a . replace ( /"/g , """ ) , '">' ) ; r ( b ) ; A . push ( "</a>" ) } if ( null == f || "" === f ) return f ; if ( ! n ( f ) ) throw e ( "notstring" , f ) ; for ( var u , w , y = k ( q ) ? q : l ( q ) ? function ( ) { return q } : function ( ) { return { } } , z = f , A = [ ] ; f = z . match ( b ) ; ) u = f [ 0 ] , f [ 2 ] ||
f [ 4 ] || ( u = ( f [ 3 ] ? "http://" : "mailto:" ) + u ) , w = f . index , r ( z . substr ( 0 , w ) ) , t ( u , f [ 0 ] . replace ( c , "" ) ) , z = z . substring ( w + f [ 0 ] . length ) ; return r ( z ) , a ( A . join ( "" ) ) } } ] ) } ) ( window , window . angular ) ;