2018-06-13 01:37:09 +00:00
if ( function ( t , e ) { function n ( t ) { var e = t . length , n = ct . type ( t ) ; return ! ct . isWindow ( t ) && ( ! ( 1 !== t . nodeType || ! e ) || ( "array" === n || "function" !== n && ( 0 === e || "number" == typeof e && e > 0 && e - 1 in t ) ) ) } function i ( t ) { var e = Ct [ t ] = { } ; return ct . each ( t . match ( dt ) || [ ] , function ( t , n ) { e [ n ] = ! 0 } ) , e } function r ( t , n , i , r ) { if ( ct . acceptData ( t ) ) { var o , a , s = ct . expando , l = t . nodeType , u = l ? ct . cache : t , c = l ? t [ s ] : t [ s ] && s ; if ( c && u [ c ] && ( r || u [ c ] . data ) || i !== e || "string" != typeof n ) return c || ( c = l ? t [ s ] = et . pop ( ) || ct . guid ++ : s ) , u [ c ] || ( u [ c ] = l ? { } : { toJSON : ct . noop } ) , ( "object" == typeof n || "function" == typeof n ) && ( r ? u [ c ] = ct . extend ( u [ c ] , n ) : u [ c ] . data = ct . extend ( u [ c ] . data , n ) ) , a = u [ c ] , r || ( a . data || ( a . data = { } ) , a = a . data ) , i !== e && ( a [ ct . camelCase ( n ) ] = i ) , "string" == typeof n ? null == ( o = a [ n ] ) && ( o = a [ ct . camelCase ( n ) ] ) : o = a , o } } function o ( t , e , n ) { if ( ct . acceptData ( t ) ) { var i , r , o = t . nodeType , a = o ? ct . cache : t , l = o ? t [ ct . expando ] : ct . expando ; if ( a [ l ] ) { if ( e && ( i = n ? a [ l ] : a [ l ] . data ) ) { ct . isArray ( e ) ? e = e . concat ( ct . map ( e , ct . camelCase ) ) : e in i ? e = [ e ] : ( e = ct . camelCase ( e ) , e = e in i ? [ e ] : e . split ( " " ) ) , r = e . length ; for ( ; r -- ; ) delete i [ e [ r ] ] ; if ( n ? ! s ( i ) : ! ct . isEmptyObject ( i ) ) return } ( n || ( delete a [ l ] . data , s ( a [ l ] ) ) ) && ( o ? ct . cleanData ( [ t ] , ! 0 ) : ct . support . deleteExpando || a != a . window ? delete a [ l ] : a [ l ] = null ) } } } function a ( t , n , i ) { if ( i === e && 1 === t . nodeType ) { var r = "data-" + n . replace ( Tt , "-$1" ) . toLowerCase ( ) ; if ( "string" == typeof ( i = t . getAttribute ( r ) ) ) { try { i = "true" === i || "false" !== i && ( "null" === i ? null : + i + "" === i ? + i : Mt . test ( i ) ? ct . parseJSON ( i ) : i ) } catch ( t ) { } ct . data ( t , n , i ) } else i = e } return i } function s ( t ) { var e ; for ( e in t ) if ( ( "data" !== e || ! ct . isEmptyObject ( t [ e ] ) ) && "toJSON" !== e ) return ! 1 ; return ! 0 } function l ( ) { return ! 0 } function u ( ) { return ! 1 } function c ( ) { try { return Z . activeElement } catch ( t ) { } } function h ( t , e ) { do { t = t [ e ] } while ( t && 1 !== t . nodeType ) ; return t } function d ( t , e , n ) { if ( ct . isFunction ( e ) ) return ct . grep ( t , function ( t , i ) { return ! ! e . call ( t , i , t ) !== n } ) ; if ( e . nodeType ) return ct . grep ( t , function ( t ) { return t === e !== n } ) ; if ( "string" == typeof e ) { if ( Wt . test ( e ) ) return ct . filter ( e , t , n ) ; e = ct . filter ( e , t ) } return ct . grep ( t , function ( t ) { return ct . inArray ( t , e ) >= 0 !== n } ) } function f ( t ) { var e = Yt . split ( "|" ) , n = t . createDocumentFragment ( ) ; if ( n . createElement ) for ( ; e . length ; ) n . createElement ( e . pop ( ) ) ; return n } function p ( t , e ) { return ct . nodeName ( t , "table" ) && ct . nodeName ( 1 === e . nodeType ? e : e . firstChild , "tr" ) ? t . getElementsByTagName ( "tbody" ) [ 0 ] || t . appendChild ( t . ownerDocument . createElement ( "tbody" ) ) : t } function g ( t ) { return t . type = ( null !== ct . find . attr ( t , "type" ) ) + "/" + t . type , t } function m ( t ) { var e = re . exec ( t . type ) ; return e ? t . type = e [ 1 ] : t . removeAttribute ( "type" ) , t } function v ( t , e ) { for ( var n , i = 0 ; null != ( n = t [ i ] ) ; i ++ ) ct . _data ( n , "globalEval" , ! e || ct . _data ( e [ i ] , "globalEval" ) ) } function y ( t , e ) { if ( 1 === e . nodeType && ct . hasData ( t ) ) { var n , i , r , o = ct . _data ( t ) , a = ct . _data ( e , o ) , s = o . events ; if ( s ) { delete a . handle , a . events = { } ; for ( n in s ) for ( i = 0 , r = s [ n ] . length ; r > i ; i ++ ) ct . event . add ( e , n , s [ n ] [ i ] ) } a . data && ( a . data = ct . extend ( { } , a . data ) ) } } function b ( t , e ) { var n , i , r ; if ( 1 === e . nodeType ) { if ( n = e . nodeName . toLowerCase ( ) , ! ct . support . noCloneEvent && e [ ct . expando ] ) { r = ct . _data ( e ) ; for ( i in r . events ) ct . removeEvent ( e , i , r . handle ) ; e . removeAttribute ( ct . expando ) } "script" === n && e . text !== t . text ? ( g ( e ) . text = t . text , m ( e ) ) : "object" === n ? ( e . parentNode && ( e . outerHTML = t . outerHTML ) , ct . support . html5Clone && t . innerHTML && ! ct . trim ( e . innerHTML ) && ( e . innerHTML = t . innerHTML ) ) : "input" === n && ee . test ( t . type ) ? ( e . defaultChecked = e . checked = t . checked , e . value !== t . value && ( e . value = t . value ) ) : "option" === n ? e . defaultSelected = e . selected = t . defaultSelected : ( "input" === n || "textarea" === n ) && ( e . defaultValue = t . defaultValue ) } } function x ( t , n ) { var i , r , o = 0 , a = typeof t . getElementsByTagName !== X ? t . getElementsByTagName ( n || "*" ) : typeof t . querySelectorAll !== X ? t . querySelectorAll ( n || "*" ) : e ; if ( ! a ) for ( a = [ ] , i = t . childNodes || t ; null != ( r = i [ o ] ) ; o ++ ) ! n || ct . nodeName ( r , n ) ? a . push ( r ) : ct . merge ( a , x ( r , n ) ) ; return n === e || n && ct . nodeName ( t , n ) ? ct . merge ( [ t ] , a ) : a } function w ( t ) { ee . test ( t . type ) && ( t . defaultChecked = t . checked ) } function S ( t , e ) { if ( e in t ) return e ; for ( var n = e . charAt ( 0 ) . toUpperCase ( ) + e . slice ( 1 ) , i = e , r = ke . length ; r -- ; ) if ( ( e = ke [ r ] + n ) in t ) return e ; return i } function _ ( t , e ) { return t = e || t , "none" === ct . css ( t , "display" ) || ! ct . contains ( t . ownerDocument , t ) } function k ( t , e ) { for ( var n , i
a && y ) { for ( c = m [ R ] || ( m [ R ] = { } ) , u = c [ t ] || [ ] , f = u [ 0 ] === H && u [ 1 ] , d = u [ 0 ] === H && u [ 2 ] , h = f && m . childNodes [ f ] ; h = ++ f && h && h [ g ] || ( d = f = 0 ) || p . pop ( ) ; ) if ( 1 === h . nodeType && ++ d && h === e ) { c [ t ] = [ H , f , d ] ; break } } else if ( y && ( u = ( e [ R ] || ( e [ R ] = { } ) ) [ t ] ) && u [ 0 ] === H ) d = u [ 1 ] ; else for ( ; ( h = ++ f && h && h [ g ] || ( d = f = 0 ) || p . pop ( ) ) && ( ( s ? h . nodeName . toLowerCase ( ) !== v : 1 !== h . nodeType ) || ! ++ d || ( y && ( ( h [ R ] || ( h [ R ] = { } ) ) [ t ] = [ H , d ] ) , h !== e ) ) ; ) ; return ( d -= r ) === i || 0 == d % i && d / i >= 0 } } } , PSEUDO : function ( t , e ) { var i , o = _ . pseudos [ t ] || _ . setFilters [ t . toLowerCase ( ) ] || n . error ( "unsupported pseudo: " + t ) ; return o [ R ] ? o ( e ) : o . length > 1 ? ( i = [ t , t , "" , e ] , _ . setFilters . hasOwnProperty ( t . toLowerCase ( ) ) ? r ( function ( t , n ) { for ( var i , r = o ( t , e ) , a = r . length ; a -- ; ) i = tt . call ( t , r [ a ] ) , t [ i ] = ! ( n [ i ] = r [ a ] ) } ) : function ( t ) { return o ( t , 0 , i ) } ) : o } } , pseudos : { not : r ( function ( t ) { var e = [ ] , n = [ ] , i = M ( t . replace ( st , "$1" ) ) ; return i [ R ] ? r ( function ( t , e , n , r ) { for ( var o , a = i ( t , null , r , [ ] ) , s = t . length ; s -- ; ) ( o = a [ s ] ) && ( t [ s ] = ! ( e [ s ] = o ) ) } ) : function ( t , r , o ) { return e [ 0 ] = t , i ( e , null , o , n ) , ! n . pop ( ) } } ) , has : r ( function ( t ) { return function ( e ) { return n ( t , e ) . length > 0 } } ) , contains : r ( function ( t ) { return function ( e ) { return ( e . textContent || e . innerText || k ( e ) ) . indexOf ( t ) > - 1 } } ) , lang : r ( function ( t ) { return pt . test ( t || "" ) || n . error ( "unsupported lang: " + t ) , t = t . replace ( wt , St ) . toLowerCase ( ) , function ( e ) { var n ; do { if ( n = O ? e . lang : e . getAttribute ( "xml:lang" ) || e . getAttribute ( "lang" ) ) return ( n = n . toLowerCase ( ) ) === t || 0 === n . indexOf ( t + "-" ) } while ( ( e = e . parentNode ) && 1 === e . nodeType ) ; return ! 1 } } ) , target : function ( e ) { var n = t . location && t . location . hash ; return n && n . slice ( 1 ) === e . id } , root : function ( t ) { return t === E } , focus : function ( t ) { return t === P . activeElement && ( ! P . hasFocus || P . hasFocus ( ) ) && ! ! ( t . type || t . href || ~ t . tabIndex ) } , enabled : function ( t ) { return ! 1 === t . disabled } , disabled : function ( t ) { return ! 0 === t . disabled } , checked : function ( t ) { var e = t . nodeName . toLowerCase ( ) ; return "input" === e && ! ! t . checked || "option" === e && ! ! t . selected } , selected : function ( t ) { return t . parentNode && t . parentNode . selectedIndex , ! 0 === t . selected } , empty : function ( t ) { for ( t = t . firstChild ; t ; t = t . nextSibling ) if ( t . nodeName > "@" || 3 === t . nodeType || 4 === t . nodeType ) return ! 1 ; return ! 0 } , parent : function ( t ) { return ! _ . pseudos . empty ( t ) } , header : function ( t ) { return bt . test ( t . nodeName ) } , input : function ( t ) { return yt . test ( t . nodeName ) } , button : function ( t ) { var e = t . nodeName . toLowerCase ( ) ; return "input" === e && "button" === t . type || "button" === e } , text : function ( t ) { var e ; return "input" === t . nodeName . toLowerCase ( ) && "text" === t . type && ( null == ( e = t . getAttribute ( "type" ) ) || e . toLowerCase ( ) === t . type ) } , first : l ( function ( ) { return [ 0 ] } ) , last : l ( function ( t , e ) { return [ e - 1 ] } ) , eq : l ( function ( t , e , n ) { return [ 0 > n ? n + e : n ] } ) , even : l ( function ( t , e ) { for ( var n = 0 ; e > n ; n += 2 ) t . push ( n ) ; return t } ) , odd : l ( function ( t , e ) { for ( var n = 1 ; e > n ; n += 2 ) t . push ( n ) ; return t } ) , lt : l ( function ( t , e , n ) { for ( var i = 0 > n ? n + e : n ; -- i >= 0 ; ) t . push ( i ) ; return t } ) , gt : l ( function ( t , e , n ) { for ( var i = 0 > n ? n + e : n ; e > ++ i ; ) t . push ( i ) ; return t } ) } } , _ . pseudos . nth = _ . pseudos . eq ; for ( x in { radio : ! 0 , checkbox : ! 0 , file : ! 0 , password : ! 0 , image : ! 0 } ) _ . pseudos [ x ] = function ( t ) { return function ( e ) { return "input" === e . nodeName . toLowerCase ( ) && e . type === t } } ( x ) ; for ( x in { submit : ! 0 , reset : ! 0 } ) _ . pseudos [ x ] = function ( t ) { return function ( e ) { var n = e . nodeName . toLowerCase ( ) ; return ( "input" === n || "button" === n ) && e . type === t } } ( x ) ; u . prototype = _ . filters = _ . pseudos , _ . setFilters = new u , M = n . compile = function ( t , e ) { var n , i = [ ] , r = [ ] , o = $ [ t + " " ] ; if ( ! o ) { for ( e || ( e = c ( t ) ) , n = e . length ; n -- ; ) o = m ( e [ n ] ) , o [ R ] ? i . push ( o ) : r . push ( o ) ; o = $ ( t , v ( r , i ) ) } return o } , w . sortStable = R . split ( "" ) . sort ( U ) . join ( "" ) === R , w . detectDuplicates = q , A ( ) , w . sortDetached = o ( function ( t ) { return 1 & t . compareDocumentPosition ( P . createElement ( "div" ) ) } ) , o ( function ( t ) { return t . innerHTML = "<a href='#'></a>" , "#" === t . firstChild . getAttribute ( "href" ) } ) || a ( "type|href|height|width" , function ( t , n , i ) { return i ? e : t . getAttribute ( n , "type" === n . toLowerCase ( ) ? 1 : 2 ) } ) , w . attributes && o ( function ( t ) { return t . innerHTML = "<input/>" , t . firstChild . setAttribute ( "value" , "" ) , "" === t . firstChild . getAttribute ( "value" ) } ) || a ( "value" , function ( t , n , i ) { return i || "input" !== t . nodeName . toLowerCase ( ) ? e : t . defaultValue } ) , o ( function ( t ) { return null == t . getAttribute ( "disabled" ) } ) || a ( et , function ( t , n , i ) { var r ; return i ? e : ( r = t . getAttributeNode ( n ) ) && r . specified ? r . value : ! 0 === t [ n ] ? n . toLo
return ct . dir ( t , "nextSibling" ) } , prevAll : function ( t ) { return ct . dir ( t , "previousSibling" ) } , nextUntil : function ( t , e , n ) { return ct . dir ( t , "nextSibling" , n ) } , prevUntil : function ( t , e , n ) { return ct . dir ( t , "previousSibling" , n ) } , siblings : function ( t ) { return ct . sibling ( ( t . parentNode || { } ) . firstChild , t ) } , children : function ( t ) { return ct . sibling ( t . firstChild ) } , contents : function ( t ) { return ct . nodeName ( t , "iframe" ) ? t . contentDocument || t . contentWindow . document : ct . merge ( [ ] , t . childNodes ) } } , function ( t , e ) { ct . fn [ t ] = function ( n , i ) { var r = ct . map ( this , e , n ) ; return "Until" !== t . slice ( - 5 ) && ( i = n ) , i && "string" == typeof i && ( r = ct . filter ( i , r ) ) , this . length > 1 && ( Ut [ t ] || ( r = ct . unique ( r ) ) , $t . test ( t ) && ( r = r . reverse ( ) ) ) , this . pushStack ( r ) } } ) , ct . extend ( { filter : function ( t , e , n ) { var i = e [ 0 ] ; return n && ( t = ":not(" + t + ")" ) , 1 === e . length && 1 === i . nodeType ? ct . find . matchesSelector ( i , t ) ? [ i ] : [ ] : ct . find . matches ( t , ct . grep ( e , function ( t ) { return 1 === t . nodeType } ) ) } , dir : function ( t , n , i ) { for ( var r = [ ] , o = t [ n ] ; o && 9 !== o . nodeType && ( i === e || 1 !== o . nodeType || ! ct ( o ) . is ( i ) ) ; ) 1 === o . nodeType && r . push ( o ) , o = o [ n ] ; return r } , sibling : function ( t , e ) { for ( var n = [ ] ; t ; t = t . nextSibling ) 1 === t . nodeType && t !== e && n . push ( t ) ; return n } } ) ; var Yt = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video" , Gt = / jQuery\d+="(?:null|\d+)"/g , Xt = RegExp ( "<(?:" + Yt + ")[\\s/>]" , "i" ) , Vt = /^\s+/ , Zt = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi , Kt = /<([\w:]+)/ , Jt = /<tbody/i , Qt = /<|&#?\w+;/ , te = /<(?:script|style|link)/i , ee = /^(?:checkbox|radio)$/i , ne = /checked\s*(?:[^=]|=\s*.checked.)/i , ie = /^$|\/(?:java|ecma)script/i , re = /^true\/(.*)/ , oe = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g , ae = { option : [ 1 , "<select multiple='multiple'>" , "</select>" ] , legend : [ 1 , "<fieldset>" , "</fieldset>" ] , area : [ 1 , "<map>" , "</map>" ] , param : [ 1 , "<object>" , "</object>" ] , thead : [ 1 , "<table>" , "</table>" ] , tr : [ 2 , "<table><tbody>" , "</tbody></table>" ] , col : [ 2 , "<table><tbody></tbody><colgroup>" , "</colgroup></table>" ] , td : [ 3 , "<table><tbody><tr>" , "</tr></tbody></table>" ] , _default : ct . support . htmlSerialize ? [ 0 , "" , "" ] : [ 1 , "X<div>" , "</div>" ] } , se = f ( Z ) , le = se . appendChild ( Z . createElement ( "div" ) ) ; ae . optgroup = ae . option , ae . tbody = ae . tfoot = ae . colgroup = ae . caption = ae . thead , ae . th = ae . td , ct . fn . extend ( { text : function ( t ) { return ct . access ( this , function ( t ) { return t === e ? ct . text ( this ) : this . empty ( ) . append ( ( this [ 0 ] && this [ 0 ] . ownerDocument || Z ) . createTextNode ( t ) ) } , null , t , arguments . length ) } , append : function ( ) { return this . domManip ( arguments , function ( t ) { if ( 1 === this . nodeType || 11 === this . nodeType || 9 === this . nodeType ) { p ( this , t ) . appendChild ( t ) } } ) } , prepend : function ( ) { return this . domManip ( arguments , function ( t ) { if ( 1 === this . nodeType || 11 === this . nodeType || 9 === this . nodeType ) { var e = p ( this , t ) ; e . insertBefore ( t , e . firstChild ) } } ) } , before : function ( ) { return this . domManip ( arguments , function ( t ) { this . parentNode && this . parentNode . insertBefore ( t , this ) } ) } , after : function ( ) { return this . domManip ( arguments , function ( t ) { this . parentNode && this . parentNode . insertBefore ( t , this . nextSibling ) } ) } , remove : function ( t , e ) { for ( var n , i = t ? ct . filter ( t , this ) : this , r = 0 ; null != ( n = i [ r ] ) ; r ++ ) e || 1 !== n . nodeType || ct . cleanData ( x ( n ) ) , n . parentNode && ( e && ct . contains ( n . ownerDocument , n ) && v ( x ( n , "script" ) ) , n . parentNode . removeChild ( n ) ) ; return this } , empty : function ( ) { for ( var t , e = 0 ; null != ( t = this [ e ] ) ; e ++ ) { for ( 1 === t . nodeType && ct . cleanData ( x ( t , ! 1 ) ) ; t . firstChild ; ) t . removeChild ( t . firstChild ) ; t . options && ct . nodeName ( t , "select" ) && ( t . options . length = 0 ) } return this } , clone : function ( t , e ) { return t = null != t && t , e = null == e ? t : e , this . map ( function ( ) { return ct . clone ( this , t , e ) } ) } , html : function ( t ) { return ct . access ( this , function ( t ) { var n = this [ 0 ] || { } , i = 0 , r = this . length ; if ( t === e ) return 1 === n . nodeType ? n . innerHTML . replace ( Gt , "" ) : e ; if ( ! ( "string" != typeof t || te . test ( t ) || ! ct . support . htmlSerialize && Xt . test ( t ) || ! ct . support . leadingWhitespace && Vt . test ( t ) || ae [ ( Kt . exec ( t ) || [ "" , "" ] ) [ 1 ] . toLowerCase ( ) ] ) ) { t = t . replace ( Zt , "<$1></$2>" ) ; try { for ( ; r > i ; i ++ ) n = this [ i ] || { } , 1 === n . nodeType && ( ct . cleanData ( x ( n , ! 1 ) ) , n . innerHTML = t ) ; n = 0 } catch ( t ) { } } n && this . empty ( ) . append ( t ) } , null , t , arguments . length ) } , replaceWith : function ( ) { var t = ct . map ( this , function ( t ) { return [ t . nextS
t . fn . button . noConflict = function ( ) { return t . fn . button = n , this } , t ( document ) . on ( "click.bs.button.data-api" , "[data-toggle^=button]" , function ( e ) { var n = t ( e . target ) ; n . hasClass ( "btn" ) || ( n = n . closest ( ".btn" ) ) , n . button ( "toggle" ) , e . preventDefault ( ) } ) } ( jQuery ) , function ( t ) { "use strict" ; var e = function ( e , n ) { this . $element = t ( e ) , this . $indicators = this . $element . find ( ".carousel-indicators" ) , this . options = n , this . paused = this . sliding = this . interval = this . $active = this . $items = null , "hover" == this . options . pause && this . $element . on ( "mouseenter" , t . proxy ( this . pause , this ) ) . on ( "mouseleave" , t . proxy ( this . cycle , this ) ) } ; e . DEFAULTS = { interval : 5e3 , pause : "hover" , wrap : ! 0 } , e . prototype . cycle = function ( e ) { return e || ( this . paused = ! 1 ) , this . interval && clearInterval ( this . interval ) , this . options . interval && ! this . paused && ( this . interval = setInterval ( t . proxy ( this . next , this ) , this . options . interval ) ) , this } , e . prototype . getActiveIndex = function ( ) { return this . $active = this . $element . find ( ".item.active" ) , this . $items = this . $active . parent ( ) . children ( ) , this . $items . index ( this . $active ) } , e . prototype . to = function ( e ) { var n = this , i = this . getActiveIndex ( ) ; return e > this . $items . length - 1 || 0 > e ? void 0 : this . sliding ? this . $element . one ( "slid" , function ( ) { n . to ( e ) } ) : i == e ? this . pause ( ) . cycle ( ) : this . slide ( e > i ? "next" : "prev" , t ( this . $items [ e ] ) ) } , e . prototype . pause = function ( e ) { return e || ( this . paused = ! 0 ) , this . $element . find ( ".next, .prev" ) . length && t . support . transition . end && ( this . $element . trigger ( t . support . transition . end ) , this . cycle ( ! 0 ) ) , this . interval = clearInterval ( this . interval ) , this } , e . prototype . next = function ( ) { return this . sliding ? void 0 : this . slide ( "next" ) } , e . prototype . prev = function ( ) { return this . sliding ? void 0 : this . slide ( "prev" ) } , e . prototype . slide = function ( e , n ) { var i = this . $element . find ( ".item.active" ) , r = n || i [ e ] ( ) , o = this . interval , a = "next" == e ? "left" : "right" , s = "next" == e ? "first" : "last" , l = this ; if ( ! r . length ) { if ( ! this . options . wrap ) return ; r = this . $element . find ( ".item" ) [ s ] ( ) } this . sliding = ! 0 , o && this . pause ( ) ; var u = t . Event ( "slide.bs.carousel" , { relatedTarget : r [ 0 ] , direction : a } ) ; if ( ! r . hasClass ( "active" ) ) { if ( this . $indicators . length && ( this . $indicators . find ( ".active" ) . removeClass ( "active" ) , this . $element . one ( "slid" , function ( ) { var e = t ( l . $indicators . children ( ) [ l . getActiveIndex ( ) ] ) ; e && e . addClass ( "active" ) } ) ) , t . support . transition && this . $element . hasClass ( "slide" ) ) { if ( this . $element . trigger ( u ) , u . isDefaultPrevented ( ) ) return ; r . addClass ( e ) , r [ 0 ] . offsetWidth , i . addClass ( a ) , r . addClass ( a ) , i . one ( t . support . transition . end , function ( ) { r . removeClass ( [ e , a ] . join ( " " ) ) . addClass ( "active" ) , i . removeClass ( [ "active" , a ] . join ( " " ) ) , l . sliding = ! 1 , setTimeout ( function ( ) { l . $element . trigger ( "slid" ) } , 0 ) } ) . emulateTransitionEnd ( 600 ) } else { if ( this . $element . trigger ( u ) , u . isDefaultPrevented ( ) ) return ; i . removeClass ( "active" ) , r . addClass ( "active" ) , this . sliding = ! 1 , this . $element . trigger ( "slid" ) } return o && this . cycle ( ) , this } } ; var n = t . fn . carousel ; t . fn . carousel = function ( n ) { return this . each ( function ( ) { var i = t ( this ) , r = i . data ( "bs.carousel" ) , o = t . extend ( { } , e . DEFAULTS , i . data ( ) , "object" == typeof n && n ) , a = "string" == typeof n ? n : o . slide ; r || i . data ( "bs.carousel" , r = new e ( this , o ) ) , "number" == typeof n ? r . to ( n ) : a ? r [ a ] ( ) : o . interval && r . pause ( ) . cycle ( ) } ) } , t . fn . carousel . Constructor = e , t . fn . carousel . noConflict = function ( ) { return t . fn . carousel = n , this } , t ( document ) . on ( "click.bs.carousel.data-api" , "[data-slide], [data-slide-to]" , function ( e ) { var n , i = t ( this ) , r = t ( i . attr ( "data-target" ) || ( n = i . attr ( "href" ) ) && n . replace ( /.*(?=#[^\s]+$)/ , "" ) ) , o = t . extend ( { } , r . data ( ) , i . data ( ) ) , a = i . attr ( "data-slide-to" ) ; a && ( o . interval = ! 1 ) , r . carousel ( o ) , ( a = i . attr ( "data-slide-to" ) ) && r . data ( "bs.carousel" ) . to ( a ) , e . preventDefault ( ) } ) , t ( window ) . on ( "load" , function ( ) { t ( '[data-ride="carousel"]' ) . each ( function ( ) { var e = t ( this ) ; e . carousel ( e . data ( ) ) } ) } ) } ( jQuery ) , function ( t ) { "use strict" ; var e = function ( n , i ) { this . $element = t ( n ) , this . options = t . extend ( { } , e . DEFAULTS , i ) , this . transitioning = null , this . options . parent && ( this . $parent = t ( this . options . parent ) ) , this . options . toggle && this . toggle ( ) } ; e . DEFAULTS = { toggle : ! 0 } , e . prototype . dimension = function ( ) { return this . $element . hasClass ( "width" ) ? "width" : "height" } , e . prototype . show = function ( ) { if ( ! this . transitioning && ! this . $element . hasClass ( "in" ) ) { va
t . _f += fi [ e ] [ 0 ] ; break } i . match ( Zn ) && ( t . _f += "Z" ) , yt ( t ) } else t . _isValid = ! 1 } function tt ( e ) { var n = pi . exec ( e . _i ) ; return null !== n ? void ( e . _d = new Date ( + n [ 1 ] ) ) : ( Q ( e ) , void ( ! 1 === e . _isValid && ( delete e . _isValid , t . createFromInputFallback ( e ) ) ) ) } function et ( t , e , n , i , r , o , a ) { var s = new Date ( t , e , n , i , r , o , a ) ; return 1970 > t && s . setFullYear ( t ) , s } function nt ( t ) { var e = new Date ( Date . UTC . apply ( null , arguments ) ) ; return 1970 > t && e . setUTCFullYear ( t ) , e } function it ( t ) { return rt ( t ) ? 366 : 365 } function rt ( t ) { return t % 4 == 0 && t % 100 != 0 || t % 400 == 0 } function ot ( ) { return rt ( this . year ( ) ) } function at ( t , e , n ) { var i , r = n - e , o = n - t . day ( ) ; return o > r && ( o -= 7 ) , r - 7 > o && ( o += 7 ) , i = Ct ( t ) . add ( o , "d" ) , { week : Math . ceil ( i . dayOfYear ( ) / 7 ) , year : i . year ( ) } } function st ( t ) { return at ( t , this . _week . dow , this . _week . doy ) . week } function lt ( ) { return this . _week . dow } function ut ( ) { return this . _week . doy } function ct ( t ) { var e = this . localeData ( ) . week ( this ) ; return null == t ? e : this . add ( 7 * ( t - e ) , "d" ) } function ht ( t ) { var e = at ( this , 1 , 4 ) . week ; return null == t ? e : this . add ( 7 * ( t - e ) , "d" ) } function dt ( t , e , n , i , r ) { var o , a , s = nt ( t , 0 , 1 ) . getUTCDay ( ) ; return s = 0 === s ? 7 : s , n = null != n ? n : r , o = r - s + ( s > i ? 7 : 0 ) - ( r > s ? 7 : 0 ) , a = 7 * ( e - 1 ) + ( n - r ) + o + 1 , { year : a > 0 ? t : t - 1 , dayOfYear : a > 0 ? a : it ( t - 1 ) + a } } function ft ( t ) { var e = Math . round ( ( this . clone ( ) . startOf ( "day" ) - this . clone ( ) . startOf ( "year" ) ) / 864e5 ) + 1 ; return null == t ? e : this . add ( t - e , "d" ) } function pt ( t , e , n ) { return null != t ? t : null != e ? e : n } function gt ( t ) { var e = new Date ; return t . _useUTC ? [ e . getUTCFullYear ( ) , e . getUTCMonth ( ) , e . getUTCDate ( ) ] : [ e . getFullYear ( ) , e . getMonth ( ) , e . getDate ( ) ] } function mt ( t ) { var e , n , i , r , o = [ ] ; if ( ! t . _d ) { for ( i = gt ( t ) , t . _w && null == t . _a [ ii ] && null == t . _a [ ni ] && vt ( t ) , t . _dayOfYear && ( r = pt ( t . _a [ ei ] , i [ ei ] ) , t . _dayOfYear > it ( r ) && ( l ( t ) . _overflowDayOfYear = ! 0 ) , n = nt ( r , 0 , t . _dayOfYear ) , t . _a [ ni ] = n . getUTCMonth ( ) , t . _a [ ii ] = n . getUTCDate ( ) ) , e = 0 ; 3 > e && null == t . _a [ e ] ; ++ e ) t . _a [ e ] = o [ e ] = i [ e ] ; for ( ; 7 > e ; e ++ ) t . _a [ e ] = o [ e ] = null == t . _a [ e ] ? 2 === e ? 1 : 0 : t . _a [ e ] ; 24 === t . _a [ ri ] && 0 === t . _a [ oi ] && 0 === t . _a [ ai ] && 0 === t . _a [ si ] && ( t . _nextDay = ! 0 , t . _a [ ri ] = 0 ) , t . _d = ( t . _useUTC ? nt : et ) . apply ( null , o ) , null != t . _tzm && t . _d . setUTCMinutes ( t . _d . getUTCMinutes ( ) - t . _tzm ) , t . _nextDay && ( t . _a [ ri ] = 24 ) } } function vt ( t ) { var e , n , i , r , o , a , s ; e = t . _w , null != e . GG || null != e . W || null != e . E ? ( o = 1 , a = 4 , n = pt ( e . GG , t . _a [ ei ] , at ( Ct ( ) , 1 , 4 ) . year ) , i = pt ( e . W , 1 ) , r = pt ( e . E , 1 ) ) : ( o = t . _locale . _week . dow , a = t . _locale . _week . doy , n = pt ( e . gg , t . _a [ ei ] , at ( Ct ( ) , o , a ) . year ) , i = pt ( e . w , 1 ) , null != e . d ? ( r = e . d , o > r && ++ i ) : r = null != e . e ? e . e + o : o ) , s = dt ( n , i , r , a , o ) , t . _a [ ei ] = s . year , t . _dayOfYear = s . dayOfYear } function yt ( e ) { if ( e . _f === t . ISO _8601 ) return void Q ( e ) ; e . _a = [ ] , l ( e ) . empty = ! 0 ; var n , i , r , o , a , s = "" + e . _i , u = s . length , c = 0 ; for ( r = N ( e . _f , e . _locale ) . match ( Nn ) || [ ] , n = 0 ; n < r . length ; n ++ ) o = r [ n ] , i = ( s . match ( R ( o , e ) ) || [ ] ) [ 0 ] , i && ( a = s . substr ( 0 , s . indexOf ( i ) ) , a . length > 0 && l ( e ) . unusedInput . push ( a ) , s = s . slice ( s . indexOf ( i ) + i . length ) , c += i . length ) , jn [ o ] ? ( i ? l ( e ) . empty = ! 1 : l ( e ) . unusedTokens . push ( o ) , B ( o , i , e ) ) : e . _strict && ! i && l ( e ) . unusedTokens . push ( o ) ; l ( e ) . charsLeftOver = u - c , s . length > 0 && l ( e ) . unusedInput . push ( s ) , ! 0 === l ( e ) . bigHour && e . _a [ ri ] <= 12 && e . _a [ ri ] > 0 && ( l ( e ) . bigHour = void 0 ) , e . _a [ ri ] = bt ( e . _locale , e . _a [ ri ] , e . _meridiem ) , mt ( e ) , V ( e ) } function bt ( t , e , n ) { var i ; return null == n ? e : null != t . meridiemHour ? t . meridiemHour ( e , n ) : null != t . isPM ? ( i = t . isPM ( n ) , i && 12 > e && ( e += 12 ) , i || 12 !== e || ( e = 0 ) , e ) : e } function xt ( t ) { var e , n , i , r , a ; if ( 0 === t . _f . length ) return l ( t ) . invalidFormat = ! 0 , void ( t . _d = new Date ( NaN ) ) ; for ( r = 0 ; r < t . _f . length ; r ++ ) a = 0 , e = h ( { } , t ) , null != t . _useUTC && ( e . _useUTC = t . _useUTC ) , e . _f = t . _f [ r ] , yt ( e ) , u ( e ) && ( a += l ( e ) . charsLeftOver , a += 10 * l ( e ) . unusedTokens . length , l ( e ) . score = a , ( null == i || i > a ) && ( i = a , n = e ) ) ; o ( t , n || e ) } function wt ( t ) { if ( ! t . _d ) { var e = C ( t . _i ) ; t . _a = [ e . year , e . month , e . day || e . date , e . hour , e . minute , e . second , e . millisecond ] , mt ( t ) } } function St ( t ) { var i , r = t . _i , o = t . _f ; return t . _locale = t . _locale || S ( t . _l ) , null === r || void 0 === o && "" === r ? c ( { nullInput : ! 0 } ) : ( "string" == typeof r && ( t . _i = r = t . _locale . preparse ( r ) ) , f ( r ) ? new d ( V ( r ) ) : ( e ( o ) ? xt ( t ) : o ? yt ( t ) : n ( r ) ? t . _d = r : _t ( t ) , i = new d ( V ( t ) ) , i . _nextDay && ( i . add ( 1 , "d" ) , i . _nextDay = void 0 ) , i ) ) } function _t ( r ) { var o = r . _i ; void 0 === o ? r . _d = new Date : n ( o ) ? r . _d = new Date ( + o ) : "string" == typeof o ? tt ( r ) : e ( o ) ? ( r . _a = i ( o . slice ( 0 ) , function ( t ) { return parseInt ( t , 10 ) } ) , mt ( r ) ) : "object" == typeof o ? wt ( r ) : "number" == typeof o ? r . _d = new Date ( o )
; for ( var e in t ) i . setRequestHeader ( e , t [ e ] ) } if ( this . _config . chunkSize ) { var n = this . _start + this . _config . chunkSize - 1 ; i . setRequestHeader ( "Range" , "bytes=" + this . _start + "-" + n ) , i . setRequestHeader ( "If-None-Match" , "webkit-no-cache" ) } try { i . send ( ) } catch ( t ) { this . _chunkError ( t . message ) } b && 0 === i . status ? this . _chunkError ( ) : this . _start += this . _config . chunkSize } , this . _chunkLoaded = function ( ) { if ( 4 == i . readyState ) { if ( i . status < 200 || i . status >= 400 ) return void this . _chunkError ( ) ; this . _finished = ! this . _config . chunkSize || this . _start > e ( i ) , this . parseChunk ( i . responseText ) } } , this . _chunkError = function ( t ) { var e = i . statusText || t ; this . _sendError ( e ) } } function r ( t ) { t = t || { } , t . chunkSize || ( t . chunkSize = k . LocalChunkSize ) , n . call ( this , t ) ; var e , i , r = "undefined" != typeof FileReader ; this . stream = function ( t ) { this . _input = t , i = t . slice || t . webkitSlice || t . mozSlice , r ? ( e = new FileReader , e . onload = g ( this . _chunkLoaded , this ) , e . onerror = g ( this . _chunkError , this ) ) : e = new FileReaderSync , this . _nextChunk ( ) } , this . _nextChunk = function ( ) { this . _finished || this . _config . preview && ! ( this . _rowCount < this . _config . preview ) || this . _readChunk ( ) } , this . _readChunk = function ( ) { var t = this . _input ; if ( this . _config . chunkSize ) { var n = Math . min ( this . _start + this . _config . chunkSize , this . _input . size ) ; t = i . call ( t , this . _start , n ) } var o = e . readAsText ( t , this . _config . encoding ) ; r || this . _chunkLoaded ( { target : { result : o } } ) } , this . _chunkLoaded = function ( t ) { this . _start += this . _config . chunkSize , this . _finished = ! this . _config . chunkSize || this . _start >= this . _input . size , this . parseChunk ( t . target . result ) } , this . _chunkError = function ( ) { this . _sendError ( e . error ) } } function o ( t ) { t = t || { } , n . call ( this , t ) ; var e , i ; this . stream = function ( t ) { return e = t , i = t , this . _nextChunk ( ) } , this . _nextChunk = function ( ) { if ( ! this . _finished ) { var t = this . _config . chunkSize , e = t ? i . substr ( 0 , t ) : i ; return i = t ? i . substr ( t ) : "" , this . _finished = ! i , this . parseChunk ( e ) } } } function a ( t ) { t = t || { } , n . call ( this , t ) ; var e = [ ] , i = ! 0 ; this . stream = function ( t ) { this . _input = t , this . _input . on ( "data" , this . _streamData ) , this . _input . on ( "end" , this . _streamEnd ) , this . _input . on ( "error" , this . _streamError ) } , this . _nextChunk = function ( ) { e . length ? this . parseChunk ( e . shift ( ) ) : i = ! 0 } , this . _streamData = g ( function ( t ) { try { e . push ( "string" == typeof t ? t : t . toString ( this . _config . encoding ) ) , i && ( i = ! 1 , this . parseChunk ( e . shift ( ) ) ) } catch ( t ) { this . _streamError ( t ) } } , this ) , this . _streamError = g ( function ( t ) { this . _streamCleanUp ( ) , this . _sendError ( t . message ) } , this ) , this . _streamEnd = g ( function ( ) { this . _streamCleanUp ( ) , this . _finished = ! 0 , this . _streamData ( "" ) } , this ) , this . _streamCleanUp = g ( function ( ) { this . _input . removeListener ( "data" , this . _streamData ) , this . _input . removeListener ( "end" , this . _streamEnd ) , this . _input . removeListener ( "error" , this . _streamError ) } , this ) } function s ( t ) { function e ( ) { if ( _ && g && ( h ( "Delimiter" , "UndetectableDelimiter" , "Unable to auto-detect delimiting character; defaulted to '" + k . DefaultDelimiter + "'" ) , g = ! 1 ) , t . skipEmptyLines ) for ( var e = 0 ; e < _ . data . length ; e ++ ) 1 === _ . data [ e ] . length && "" === _ . data [ e ] [ 0 ] && _ . data . splice ( e -- , 1 ) ; return n ( ) && i ( ) , a ( ) } function n ( ) { return t . header && 0 === S . length } function i ( ) { if ( _ ) { for ( var t = 0 ; n ( ) && t < _ . data . length ; t ++ ) for ( var e = 0 ; e < _ . data [ t ] . length ; e ++ ) S . push ( _ . data [ t ] [ e ] ) ; _ . data . splice ( 0 , 1 ) } } function r ( e ) { return t . dynamicTypingFunction && void 0 === t . dynamicTyping [ e ] && ( t . dynamicTyping [ e ] = t . dynamicTypingFunction ( e ) ) , ! 0 === ( t . dynamicTyping [ e ] || t . dynamicTyping ) } function o ( t , e ) { return r ( t ) ? "true" === e || "TRUE" === e || "false" !== e && "FALSE" !== e && c ( e ) : e } function a ( ) { if ( ! _ || ! t . header && ! t . dynamicTyping ) return _ ; for ( var e = 0 ; e < _ . data . length ; e ++ ) { for ( var n = t . header ? { } : [ ] , i = 0 ; i < _ . data [ e ] . length ; i ++ ) { var r = i , a = _ . data [ e ] [ i ] ; t . header && ( r = i >= S . length ? "__parsed_extra" : S [ i ] ) , a = o ( r , a ) , "__parsed_extra" === r ? ( n [ r ] = n [ r ] || [ ] , n [ r ] . push ( a ) ) : n [ r ] = a } _ . data [ e ] = n , t . header && ( i > S . length ? h ( "FieldMismatch" , "TooManyFields" , "Too many fields: expected " + S . length + " fields but parsed " + i , e ) : i < S . length && h ( "FieldMismatch" , "TooFewFields" , "Too few fields: expected " + S . length + " fields but parsed " + i , e ) ) } return t . header && _ . meta && ( _ . meta . fields = S ) , _ } function s ( e , n , i ) { for ( var r , o , a , s = [ "," , "\t" , "|" , ";" , k . RECORD _SEP , k . UNIT _SEP ] , u = 0 ; u < s . length ; u ++ ) { var c = s [ u ] , h = 0 , d = 0 , f = 0 ; a = void 0 ; for ( var p = new l ( { delimiter : c , new
function _e ( t , e , n ) { ++ Ss , ks += ( t - ks ) / Ss , Cs += ( e - Cs ) / Ss , Ms += ( n - Ms ) / Ss } function ke ( ) { function t ( t , r ) { t *= ja ; var o = Math . cos ( r *= ja ) , a = o * Math . cos ( t ) , s = o * Math . sin ( t ) , l = Math . sin ( r ) , u = Math . atan2 ( Math . sqrt ( ( u = n * l - i * s ) * u + ( u = i * a - e * l ) * u + ( u = e * s - n * a ) * u ) , e * a + n * s + i * l ) ; _s += u , Ts += u * ( e + ( e = a ) ) , Ds += u * ( n + ( n = s ) ) , As += u * ( i + ( i = l ) ) , _e ( e , n , i ) } var e , n , i ; Ls . point = function ( r , o ) { r *= ja ; var a = Math . cos ( o *= ja ) ; e = a * Math . cos ( r ) , n = a * Math . sin ( r ) , i = Math . sin ( o ) , Ls . point = t , _e ( e , n , i ) } } function Ce ( ) { Ls . point = Se } function Me ( ) { function t ( t , e ) { t *= ja ; var n = Math . cos ( e *= ja ) , a = n * Math . cos ( t ) , s = n * Math . sin ( t ) , l = Math . sin ( e ) , u = r * l - o * s , c = o * a - i * l , h = i * s - r * a , d = Math . sqrt ( u * u + c * c + h * h ) , f = i * a + r * s + o * l , p = d && - Q ( f ) / d , g = Math . atan2 ( d , f ) ; Ps += p * u , Es += p * c , Os += p * h , _s += g , Ts += g * ( i + ( i = a ) ) , Ds += g * ( r + ( r = s ) ) , As += g * ( o + ( o = l ) ) , _e ( i , r , o ) } var e , n , i , r , o ; Ls . point = function ( a , s ) { e = a , n = s , Ls . point = t , a *= ja ; var l = Math . cos ( s *= ja ) ; i = l * Math . cos ( a ) , r = l * Math . sin ( a ) , o = Math . sin ( s ) , _e ( i , r , o ) } , Ls . lineEnd = function ( ) { t ( e , n ) , Ls . lineEnd = Ce , Ls . point = Se } } function Te ( t , e ) { function n ( n , i ) { return n = t ( n , i ) , e ( n [ 0 ] , n [ 1 ] ) } return t . invert && e . invert && ( n . invert = function ( n , i ) { return ( n = e . invert ( n , i ) ) && t . invert ( n [ 0 ] , n [ 1 ] ) } ) , n } function De ( ) { return ! 0 } function Ae ( t , e , n , i , r ) { var o = [ ] , a = [ ] ; if ( t . forEach ( function ( t ) { if ( ! ( ( e = t . length - 1 ) <= 0 ) ) { var e , n = t [ 0 ] , i = t [ e ] ; if ( we ( n , i ) ) { r . lineStart ( ) ; for ( var s = 0 ; e > s ; ++ s ) r . point ( ( n = t [ s ] ) [ 0 ] , n [ 1 ] ) ; return void r . lineEnd ( ) } var l = new Ee ( n , t , null , ! 0 ) , u = new Ee ( n , null , l , ! 1 ) ; l . o = u , o . push ( l ) , a . push ( u ) , l = new Ee ( i , t , null , ! 1 ) , u = new Ee ( i , null , l , ! 0 ) , l . o = u , o . push ( l ) , a . push ( u ) } } ) , a . sort ( e ) , Pe ( o ) , Pe ( a ) , o . length ) { for ( var s = 0 , l = n , u = a . length ; u > s ; ++ s ) a [ s ] . e = l = ! l ; for ( var c , h , d = o [ 0 ] ; ; ) { for ( var f = d , p = ! 0 ; f . v ; ) if ( ( f = f . n ) === d ) return ; c = f . z , r . lineStart ( ) ; do { if ( f . v = f . o . v = ! 0 , f . e ) { if ( p ) for ( var s = 0 , u = c . length ; u > s ; ++ s ) r . point ( ( h = c [ s ] ) [ 0 ] , h [ 1 ] ) ; else i ( f . x , f . n . x , 1 , r ) ; f = f . n } else { if ( p ) { c = f . p . z ; for ( var s = c . length - 1 ; s >= 0 ; -- s ) r . point ( ( h = c [ s ] ) [ 0 ] , h [ 1 ] ) } else i ( f . x , f . p . x , - 1 , r ) ; f = f . p } f = f . o , c = f . z , p = ! p } while ( ! f . v ) ; r . lineEnd ( ) } } } function Pe ( t ) { if ( e = t . length ) { for ( var e , n , i = 0 , r = t [ 0 ] ; ++ i < e ; ) r . n = n = t [ i ] , n . p = r , r = n ; r . n = n = t [ 0 ] , n . p = r } } function Ee ( t , e , n , i ) { this . x = t , this . z = e , this . o = n , this . e = i , this . v = ! 1 , this . n = this . p = null } function Oe ( t , e , n , i ) { return function ( r , o ) { function a ( e , n ) { var i = r ( e , n ) ; t ( e = i [ 0 ] , n = i [ 1 ] ) && o . point ( e , n ) } function s ( t , e ) { var n = r ( t , e ) ; m . point ( n [ 0 ] , n [ 1 ] ) } function l ( ) { y . point = s , m . lineStart ( ) } function u ( ) { y . point = a , m . lineEnd ( ) } function c ( t , e ) { g . push ( [ t , e ] ) ; var n = r ( t , e ) ; x . point ( n [ 0 ] , n [ 1 ] ) } function h ( ) { x . lineStart ( ) , g = [ ] } function d ( ) { c ( g [ 0 ] [ 0 ] , g [ 0 ] [ 1 ] ) , x . lineEnd ( ) ; var t , e = x . clean ( ) , n = b . buffer ( ) , i = n . length ; if ( g . pop ( ) , p . push ( g ) , g = null , i ) if ( 1 & e ) { t = n [ 0 ] ; var r , i = t . length - 1 , a = - 1 ; if ( i > 0 ) { for ( w || ( o . polygonStart ( ) , w = ! 0 ) , o . lineStart ( ) ; ++ a < i ; ) o . point ( ( r = t [ a ] ) [ 0 ] , r [ 1 ] ) ; o . lineEnd ( ) } } else i > 1 && 2 & e && n . push ( n . pop ( ) . concat ( n . shift ( ) ) ) , f . push ( n . filter ( Le ) ) } var f , p , g , m = e ( o ) , v = r . invert ( i [ 0 ] , i [ 1 ] ) , y = { point : a , lineStart : l , lineEnd : u , polygonStart : function ( ) { y . point = c , y . lineStart = h , y . lineEnd = d , f = [ ] , p = [ ] } , polygonEnd : function ( ) { y . point = a , y . lineStart = l , y . lineEnd = u , f = na . merge ( f ) ; var t = He ( v , p ) ; f . length ? ( w || ( o . polygonStart ( ) , w = ! 0 ) , Ae ( f , Ne , t , n , o ) ) : t && ( w || ( o . polygonStart ( ) , w = ! 0 ) , o . lineStart ( ) , n ( null , null , 1 , o ) , o . lineEnd ( ) ) , w && ( o . polygonEnd ( ) , w = ! 1 ) , f = p = null } , sphere : function ( ) { o . polygonStart ( ) , o . lineStart ( ) , n ( null , null , 1 , o ) , o . lineEnd ( ) , o . polygonEnd ( ) } } , b = Ie ( ) , x = e ( b ) , w = ! 1 ; return y } } function Le ( t ) { return t . length > 1 } function Ie ( ) { var t , e = [ ] ; return { lineStart : function ( ) { e . push ( t = [ ] ) } , point : function ( e , n ) { t . push ( [ e , n ] ) } , lineEnd : y , buffer : function ( ) { var n = e ; return e = [ ] , t = null , n } , rejoin : function ( ) { e . length > 1 && e . push ( e . pop ( ) . concat ( e . shift ( ) ) ) } } } function Ne ( t , e ) { return ( ( t = t . x ) [ 0 ] < 0 ? t [ 1 ] - Ra - Oa : Ra - t [ 1 ] ) - ( ( e = e . x ) [ 0 ] < 0 ? e [ 1 ] - Ra - Oa : Ra - e [ 1 ] ) } function Fe ( t ) { var e , n = NaN , i = NaN , r = NaN ; return { lineStart : function ( ) { t . lineStart ( ) , e = 1 } , point : function ( o , a ) { var s = o > 0 ? Ia : - Ia , l = pa ( o - n ) ; pa ( l - Ia ) < Oa ? ( t . point ( n , i = ( i + a ) / 2 > 0 ? Ra : - Ra ) , t . point ( r , i ) , t . lineEnd ( ) , t . lineStart ( ) , t . point ( s , i ) , t . point ( o , i ) , e = 0 ) : r !== s && l >= Ia && ( pa ( n - r ) < Oa && ( n -= r * Oa ) , pa ( o - s ) < Oa && ( o -= s * Oa ) , i = Re ( n , i , o , a ) , t . point ( r , i ) , t . lineEnd ( ) , t . lineStart ( ) , t . point ( s , i ) , e = 0 ) , t . point ( n = o , i = a ) , r = s } , lineEnd : function ( ) { t . lineEnd ( ) , n = i = NaN } , clean : function ( ) { return 2 - e } } } function Re ( t , e , n ,
var r = [ ] , o = [ ] , a = 0 , s = Math . min ( t . length , e . length ) - 1 ; for ( t [ s ] < t [ 0 ] && ( t = t . slice ( ) . reverse ( ) , e = e . slice ( ) . reverse ( ) ) ; ++ a <= s ; ) r . push ( n ( t [ a - 1 ] , t [ a ] ) ) , o . push ( i ( e [ a - 1 ] , e [ a ] ) ) ; return function ( e ) { var n = na . bisect ( t , e , 1 , s ) - 1 ; return o [ n ] ( r [ n ] ( e ) ) } } function $r ( t , e , n , i ) { function r ( ) { var r = Math . min ( t . length , e . length ) > 2 ? Wr : Hr , l = i ? $i : Wi ; return a = r ( t , e , l , n ) , s = r ( e , t , l , yi ) , o } function o ( t ) { return a ( t ) } var a , s ; return o . invert = function ( t ) { return s ( t ) } , o . domain = function ( e ) { return arguments . length ? ( t = e . map ( Number ) , r ( ) ) : t } , o . range = function ( t ) { return arguments . length ? ( e = t , r ( ) ) : e } , o . rangeRound = function ( t ) { return o . range ( t ) . interpolate ( Fi ) } , o . clamp = function ( t ) { return arguments . length ? ( i = t , r ( ) ) : i } , o . interpolate = function ( t ) { return arguments . length ? ( n = t , r ( ) ) : n } , o . ticks = function ( e ) { return Gr ( t , e ) } , o . tickFormat = function ( e , n ) { return Xr ( t , e , n ) } , o . nice = function ( e ) { return Ur ( t , e ) , r ( ) } , o . copy = function ( ) { return $r ( t , e , n , i ) } , r ( ) } function qr ( t , e ) { return na . rebind ( t , e , "range" , "rangeRound" , "interpolate" , "clamp" ) } function Ur ( t , e ) { return zr ( t , Br ( Yr ( t , e ) [ 2 ] ) ) } function Yr ( t , e ) { null == e && ( e = 10 ) ; var n = Rr ( t ) , i = n [ 1 ] - n [ 0 ] , r = Math . pow ( 10 , Math . floor ( Math . log ( i / e ) / Math . LN10 ) ) , o = e / i * r ; return . 15 >= o ? r *= 10 : . 35 >= o ? r *= 5 : . 75 >= o && ( r *= 2 ) , n [ 0 ] = Math . ceil ( n [ 0 ] / r ) * r , n [ 1 ] = Math . floor ( n [ 1 ] / r ) * r + . 5 * r , n [ 2 ] = r , n } function Gr ( t , e ) { return na . range . apply ( na , Yr ( t , e ) ) } function Xr ( t , e , n ) { var i = Yr ( t , e ) ; if ( n ) { var r = ss . exec ( n ) ; if ( r . shift ( ) , "s" === r [ 8 ] ) { var o = na . formatPrefix ( Math . max ( pa ( i [ 0 ] ) , pa ( i [ 1 ] ) ) ) ; return r [ 7 ] || ( r [ 7 ] = "." + Vr ( o . scale ( i [ 2 ] ) ) ) , r [ 8 ] = "f" , n = na . format ( r . join ( "" ) ) , function ( t ) { return n ( o . scale ( t ) ) + o . symbol } } r [ 7 ] || ( r [ 7 ] = "." + Zr ( r [ 8 ] , i ) ) , n = r . join ( "" ) } else n = ",." + Vr ( i [ 2 ] ) + "f" ; return na . format ( n ) } function Vr ( t ) { return - Math . floor ( Math . log ( t ) / Math . LN10 + . 01 ) } function Zr ( t , e ) { var n = Vr ( e [ 2 ] ) ; return t in xl ? Math . abs ( n - Vr ( Math . max ( pa ( e [ 0 ] ) , pa ( e [ 1 ] ) ) ) ) + + ( "e" !== t ) : n - 2 * ( "%" === t ) } function Kr ( t , e , n , i ) { function r ( t ) { return ( n ? Math . log ( 0 > t ? 0 : t ) : - Math . log ( t > 0 ? 0 : - t ) ) / Math . log ( e ) } function o ( t ) { return n ? Math . pow ( e , t ) : - Math . pow ( e , - t ) } function a ( e ) { return t ( r ( e ) ) } return a . invert = function ( e ) { return o ( t . invert ( e ) ) } , a . domain = function ( e ) { return arguments . length ? ( n = e [ 0 ] >= 0 , t . domain ( ( i = e . map ( Number ) ) . map ( r ) ) , a ) : i } , a . base = function ( n ) { return arguments . length ? ( e = + n , t . domain ( i . map ( r ) ) , a ) : e } , a . nice = function ( ) { var e = zr ( i . map ( r ) , n ? Math : Sl ) ; return t . domain ( e ) , i = e . map ( o ) , a } , a . ticks = function ( ) { var t = Rr ( i ) , a = [ ] , s = t [ 0 ] , l = t [ 1 ] , u = Math . floor ( r ( s ) ) , c = Math . ceil ( r ( l ) ) , h = e % 1 ? 2 : e ; if ( isFinite ( c - u ) ) { if ( n ) { for ( ; c > u ; u ++ ) for ( var d = 1 ; h > d ; d ++ ) a . push ( o ( u ) * d ) ; a . push ( o ( u ) ) } else for ( a . push ( o ( u ) ) ; u ++ < c ; ) for ( var d = h - 1 ; d > 0 ; d -- ) a . push ( o ( u ) * d ) ; for ( u = 0 ; a [ u ] < s ; u ++ ) ; for ( c = a . length ; a [ c - 1 ] > l ; c -- ) ; a = a . slice ( u , c ) } return a } , a . tickFormat = function ( t , e ) { if ( ! arguments . length ) return wl ; arguments . length < 2 ? e = wl : "function" != typeof e && ( e = na . format ( e ) ) ; var i , s = Math . max ( . 1 , t / a . ticks ( ) . length ) , l = n ? ( i = 1e-12 , Math . ceil ) : ( i = - 1e-12 , Math . floor ) ; return function ( t ) { return t / o ( l ( r ( t ) + i ) ) <= s ? e ( t ) : "" } } , a . copy = function ( ) { return Kr ( t . copy ( ) , e , n , i ) } , qr ( a , t ) } function Jr ( t , e , n ) { function i ( e ) { return t ( r ( e ) ) } var r = Qr ( e ) , o = Qr ( 1 / e ) ; return i . invert = function ( e ) { return o ( t . invert ( e ) ) } , i . domain = function ( e ) { return arguments . length ? ( t . domain ( ( n = e . map ( Number ) ) . map ( r ) ) , i ) : n } , i . ticks = function ( t ) { return Gr ( n , t ) } , i . tickFormat = function ( t , e ) { return Xr ( n , t , e ) } , i . nice = function ( t ) { return i . domain ( Ur ( n , t ) ) } , i . exponent = function ( a ) { return arguments . length ? ( r = Qr ( e = a ) , o = Qr ( 1 / e ) , t . domain ( n . map ( r ) ) , i ) : e } , i . copy = function ( ) { return Jr ( t . copy ( ) , e , n ) } , qr ( i , t ) } function Qr ( t ) { return function ( e ) { return 0 > e ? - Math . pow ( - e , t ) : Math . pow ( e , t ) } } function to ( t , e ) { function n ( n ) { return o [ ( ( r . get ( n ) || ( "range" === e . t ? r . set ( n , t . push ( n ) ) : NaN ) ) - 1 ) % o . length ] } function i ( e , n ) { return na . range ( t . length ) . map ( function ( t ) { return e + n * t } ) } var r , o , a ; return n . domain = function ( i ) { if ( ! arguments . length ) return t ; t = [ ] , r = new s ; for ( var o , a = - 1 , l = i . length ; ++ a < l ; ) r . has ( o = i [ a ] ) || r . set ( o , t . push ( o ) ) ; return n [ e . t ] . apply ( n , e . a ) } , n . range = function ( t ) { return arguments . length ? ( o = t , a = 0 , e = { t : "range" , a : arguments } , n ) : o } , n . rangePoints = function ( r , s ) { arguments . length < 2 && ( s = 0 ) ; var l = r [ 0 ] , u = r [ 1 ] , c = t . length < 2 ? ( l = ( l + u ) / 2 , 0 ) : ( u - l ) / ( t . length - 1 + s ) ; return o = i ( l + c * s / 2 , c ) , a = 0 , e = { t : "rangePoints" , a : arg
var n = M [ 0 ] , i = M [ 1 ] , r = g ? g [ 0 ] : n / 2 , o = g ? g [ 1 ] : i / 2 , a = na . interpolateZoom ( [ ( r - C . x ) / C . k , ( o - C . y ) / C . k , n / C . k ] , [ ( r - e . x ) / e . k , ( o - e . y ) / e . k , n / e . k ] ) ; return function ( e ) { var i = a ( e ) , s = n / i [ 2 ] ; this . _ _chart _ _ = C = { x : r - i [ 0 ] * s , y : o - i [ 1 ] * s , k : s } , l ( t ) } } ) . each ( "interrupt.zoom" , function ( ) { u ( t ) } ) . each ( "end.zoom" , function ( ) { u ( t ) } ) : ( this . _ _chart _ _ = C , s ( t ) , l ( t ) , u ( t ) ) } ) } , t . translate = function ( e ) { return arguments . length ? ( C = { x : + e [ 0 ] , y : + e [ 1 ] , k : C . k } , a ( ) , t ) : [ C . x , C . y ] } , t . scale = function ( e ) { return arguments . length ? ( C = { x : C . x , y : C . y , k : + e } , a ( ) , t ) : C . k } , t . scaleExtent = function ( e ) { return arguments . length ? ( T = null == e ? $a : [ + e [ 0 ] , + e [ 1 ] ] , t ) : T } , t . center = function ( e ) { return arguments . length ? ( m = e && [ + e [ 0 ] , + e [ 1 ] ] , t ) : m } , t . size = function ( e ) { return arguments . length ? ( M = e && [ + e [ 0 ] , + e [ 1 ] ] , t ) : M } , t . duration = function ( e ) { return arguments . length ? ( D = + e , t ) : D } , t . x = function ( e ) { return arguments . length ? ( x = e , b = e . copy ( ) , C = { x : 0 , y : 0 , k : 1 } , t ) : x } , t . y = function ( e ) { return arguments . length ? ( k = e , S = e . copy ( ) , C = { x : 0 , y : 0 , k : 1 } , t ) : k } , na . rebind ( t , I , "on" ) } ; var Wa , $a = [ 0 , 1 / 0 ] , qa = "onwheel" in oa ? ( Wa = function ( ) { return - na . event . deltaY * ( na . event . deltaMode ? 120 : 1 ) } , "wheel" ) : "onmousewheel" in oa ? ( Wa = function ( ) { return na . event . wheelDelta } , "mousewheel" ) : ( Wa = function ( ) { return - na . event . detail } , "MozMousePixelScroll" ) ; na . color = ot , ot . prototype . toString = function ( ) { return this . rgb ( ) + "" } , na . hsl = at ; var Ua = at . prototype = new ot ; Ua . brighter = function ( t ) { return t = Math . pow ( . 7 , arguments . length ? t : 1 ) , new at ( this . h , this . s , this . l / t ) } , Ua . darker = function ( t ) { return t = Math . pow ( . 7 , arguments . length ? t : 1 ) , new at ( this . h , this . s , t * this . l ) } , Ua . rgb = function ( ) { return st ( this . h , this . s , this . l ) } , na . hcl = lt ; var Ya = lt . prototype = new ot ; Ya . brighter = function ( t ) { return new lt ( this . h , this . c , Math . min ( 100 , this . l + Ga * ( arguments . length ? t : 1 ) ) ) } , Ya . darker = function ( t ) { return new lt ( this . h , this . c , Math . max ( 0 , this . l - Ga * ( arguments . length ? t : 1 ) ) ) } , Ya . rgb = function ( ) { return ut ( this . h , this . c , this . l ) . rgb ( ) } , na . lab = ct ; var Ga = 18 , Xa = . 95047 , Va = 1 , Za = 1.08883 , Ka = ct . prototype = new ot ; Ka . brighter = function ( t ) { return new ct ( Math . min ( 100 , this . l + Ga * ( arguments . length ? t : 1 ) ) , this . a , this . b ) } , Ka . darker = function ( t ) { return new ct ( Math . max ( 0 , this . l - Ga * ( arguments . length ? t : 1 ) ) , this . a , this . b ) } , Ka . rgb = function ( ) { return ht ( this . l , this . a , this . b ) } , na . rgb = mt ; var Ja = mt . prototype = new ot ; Ja . brighter = function ( t ) { t = Math . pow ( . 7 , arguments . length ? t : 1 ) ; var e = this . r , n = this . g , i = this . b , r = 30 ; return e || n || i ? ( e && r > e && ( e = r ) , n && r > n && ( n = r ) , i && r > i && ( i = r ) , new mt ( Math . min ( 255 , e / t ) , Math . min ( 255 , n / t ) , Math . min ( 255 , i / t ) ) ) : new mt ( r , r , r ) } , Ja . darker = function ( t ) { return t = Math . pow ( . 7 , arguments . length ? t : 1 ) , new mt ( t * this . r , t * this . g , t * this . b ) } , Ja . hsl = function ( ) { return wt ( this . r , this . g , this . b ) } , Ja . toString = function ( ) { return "#" + bt ( this . r ) + bt ( this . g ) + bt ( this . b ) } ; var Qa = na . map ( { aliceblue : 15792383 , antiquewhite : 16444375 , aqua : 65535 , aquamarine : 8388564 , azure : 15794175 , beige : 16119260 , bisque : 16770244 , black : 0 , blanchedalmond : 16772045 , blue : 255 , blueviolet : 9055202 , brown : 10824234 , burlywood : 14596231 , cadetblue : 6266528 , chartreuse : 8388352 , chocolate : 13789470 , coral : 16744272 , cornflowerblue : 6591981 , cornsilk : 16775388 , crimson : 14423100 , cyan : 65535 , darkblue : 139 , darkcyan : 35723 , darkgoldenrod : 12092939 , darkgray : 11119017 , darkgreen : 25600 , darkgrey : 11119017 , darkkhaki : 12433259 , darkmagenta : 9109643 , darkolivegreen : 5597999 , darkorange : 16747520 , darkorchid : 10040012 , darkred : 9109504 , darksalmon : 15308410 , darkseagreen : 9419919 , darkslateblue : 4734347 , darkslategray : 3100495 , darkslategrey : 3100495 , darkturquoise : 52945 , darkviolet : 9699539 , deeppink : 16716947 , deepskyblue : 49151 , dimgray : 6908265 , dimgrey : 6908265 , dodgerblue : 2003199 , firebrick : 11674146 , floralwhite : 16775920 , forestgreen : 2263842 , fuchsia : 16711935 , gainsboro : 14474460 , ghostwhite : 16316671 , gold : 16766720 , goldenrod : 14329120 , gray : 8421504 , green : 32768 , greenyellow : 11403055 , grey : 8421504 , honeydew : 15794160 , hotpink : 16738740 , indianred : 13458524 , indigo : 4915330 , ivory : 16777200 , khaki : 15787660 , lavender : 15132410 , lavenderblush : 16773365 , lawngreen : 8190976 , lemonchiffon : 16775885 , lightblue : 11393254 , lightcoral : 15761536 , lightcyan : 14745599 , lightgoldenrodyellow : 16448210 , lightgray : 13882323 , lightgreen : 9498256 , lightgrey : 13882323 , lightpink : 16758465 , lightsalmon : 16752762 , lightseagreen : 2142890 , lightskyblue : 8900
s . x += ( b - s . x ) * m , s . y += ( x - s . y ) * m ; if ( f ) for ( Ki ( e = na . geom . quadtree ( v ) , i , a ) , n = - 1 ; ++ n < w ; ) ( s = v [ n ] ) . fixed || e . visit ( t ( s ) ) ; for ( n = - 1 ; ++ n < w ; ) s = v [ n ] , s . fixed ? ( s . x = s . px , s . y = s . py ) : ( s . x -= ( s . px - ( s . px = s . x ) ) * c , s . y -= ( s . py - ( s . py = s . y ) ) * c ) ; l . tick ( { type : "tick" , alpha : i } ) } , s . nodes = function ( t ) { return arguments . length ? ( v = t , s ) : v } , s . links = function ( t ) { return arguments . length ? ( y = t , s ) : y } , s . size = function ( t ) { return arguments . length ? ( u = t , s ) : u } , s . linkDistance = function ( t ) { return arguments . length ? ( h = "function" == typeof t ? t : + t , s ) : h } , s . distance = s . linkDistance , s . linkStrength = function ( t ) { return arguments . length ? ( d = "function" == typeof t ? t : + t , s ) : d } , s . friction = function ( t ) { return arguments . length ? ( c = + t , s ) : c } , s . charge = function ( t ) { return arguments . length ? ( f = "function" == typeof t ? t : + t , s ) : f } , s . chargeDistance = function ( t ) { return arguments . length ? ( p = t * t , s ) : Math . sqrt ( p ) } , s . gravity = function ( t ) { return arguments . length ? ( g = + t , s ) : g } , s . theta = function ( t ) { return arguments . length ? ( m = t * t , s ) : Math . sqrt ( m ) } , s . alpha = function ( t ) { return arguments . length ? ( t = + t , i ? i = t > 0 ? t : 0 : t > 0 && ( l . start ( { type : "start" , alpha : i = t } ) , na . timer ( s . tick ) ) , s ) : i } , s . start = function ( ) { function t ( t , i ) { if ( ! n ) { for ( n = new Array ( l ) , s = 0 ; l > s ; ++ s ) n [ s ] = [ ] ; for ( s = 0 ; u > s ; ++ s ) { var r = y [ s ] ; n [ r . source . index ] . push ( r . target ) , n [ r . target . index ] . push ( r . source ) } } for ( var o , a = n [ e ] , s = - 1 , u = a . length ; ++ s < u ; ) if ( ! isNaN ( o = a [ s ] [ t ] ) ) return o ; return Math . random ( ) * i } var e , n , i , l = v . length , c = y . length , p = u [ 0 ] , g = u [ 1 ] ; for ( e = 0 ; l > e ; ++ e ) ( i = v [ e ] ) . index = e , i . weight = 0 ; for ( e = 0 ; c > e ; ++ e ) i = y [ e ] , "number" == typeof i . source && ( i . source = v [ i . source ] ) , "number" == typeof i . target && ( i . target = v [ i . target ] ) , ++ i . source . weight , ++ i . target . weight ; for ( e = 0 ; l > e ; ++ e ) i = v [ e ] , isNaN ( i . x ) && ( i . x = t ( "x" , p ) ) , isNaN ( i . y ) && ( i . y = t ( "y" , g ) ) , isNaN ( i . px ) && ( i . px = i . x ) , isNaN ( i . py ) && ( i . py = i . y ) ; if ( r = [ ] , "function" == typeof h ) for ( e = 0 ; c > e ; ++ e ) r [ e ] = + h . call ( this , y [ e ] , e ) ; else for ( e = 0 ; c > e ; ++ e ) r [ e ] = h ; if ( o = [ ] , "function" == typeof d ) for ( e = 0 ; c > e ; ++ e ) o [ e ] = + d . call ( this , y [ e ] , e ) ; else for ( e = 0 ; c > e ; ++ e ) o [ e ] = d ; if ( a = [ ] , "function" == typeof f ) for ( e = 0 ; l > e ; ++ e ) a [ e ] = + f . call ( this , v [ e ] , e ) ; else for ( e = 0 ; l > e ; ++ e ) a [ e ] = f ; return s . resume ( ) } , s . resume = function ( ) { return s . alpha ( . 1 ) } , s . stop = function ( ) { return s . alpha ( 0 ) } , s . drag = function ( ) { return n || ( n = na . behavior . drag ( ) . origin ( Mt ) . on ( "dragstart.force" , Gi ) . on ( "drag.force" , e ) . on ( "dragend.force" , Xi ) ) , arguments . length ? void this . on ( "mouseover.force" , Vi ) . on ( "mouseout.force" , Zi ) . call ( n ) : n } , na . rebind ( s , l , "on" ) } ; var fl = 20 , pl = 1 , gl = 1 / 0 ; na . layout . hierarchy = function ( ) { function t ( r ) { var o , a = [ r ] , s = [ ] ; for ( r . depth = 0 ; null != ( o = a . pop ( ) ) ; ) if ( s . push ( o ) , ( u = n . call ( t , o , o . depth ) ) && ( l = u . length ) ) { for ( var l , u , c ; -- l >= 0 ; ) a . push ( c = u [ l ] ) , c . parent = o , c . depth = o . depth + 1 ; i && ( o . value = 0 ) , o . children = u } else i && ( o . value = + i . call ( t , o , o . depth ) || 0 ) , delete o . children ; return tr ( r , function ( t ) { var n , r ; e && ( n = t . children ) && n . sort ( e ) , i && ( r = t . parent ) && ( r . value += t . value ) } ) , s } var e = ir , n = er , i = nr ; return t . sort = function ( n ) { return arguments . length ? ( e = n , t ) : e } , t . children = function ( e ) { return arguments . length ? ( n = e , t ) : n } , t . value = function ( e ) { return arguments . length ? ( i = e , t ) : i } , t . revalue = function ( e ) { return i && ( Qi ( e , function ( t ) { t . children && ( t . value = 0 ) } ) , tr ( e , function ( e ) { var n ; e . children || ( e . value = + i . call ( t , e , e . depth ) || 0 ) , ( n = e . parent ) && ( n . value += e . value ) } ) ) , e } , t } , na . layout . partition = function ( ) { function t ( e , n , i , r ) { var o = e . children ; if ( e . x = n , e . y = e . depth * r , e . dx = i , e . dy = r , o && ( a = o . length ) ) { var a , s , l , u = - 1 ; for ( i = e . value ? i / e . value : 0 ; ++ u < a ; ) t ( s = o [ u ] , n , l = s . value * i , r ) , n += l } } function e ( t ) { var n = t . children , i = 0 ; if ( n && ( r = n . length ) ) for ( var r , o = - 1 ; ++ o < r ; ) i = Math . max ( i , e ( n [ o ] ) ) ; return 1 + i } function n ( n , o ) { var a = i . call ( this , n , o ) ; return t ( a [ 0 ] , 0 , r [ 0 ] , r [ 1 ] / e ( a [ 0 ] ) ) , a } var i = na . layout . hierarchy ( ) , r = [ 1 , 1 ] ; return n . size = function ( t ) { return arguments . length ? ( r = t , n ) : r } , Ji ( n , i ) } , na . layout . pie = function ( ) { function t ( a ) { var s , l = a . length , u = a . map ( function ( n , i ) { return + e . call ( t , n , i ) } ) , c = + ( "function" == typeof i ? i . apply ( this , arguments ) : i ) , h = ( "function" == typeof r ? r . apply ( this , arguments ) : r ) - c , d = Math . min ( Math . abs ( h ) / l , + ( "function" == typeof o ? o . apply ( this , arguments ) : o ) ) , f = d * ( 0 > h ? - 1 : 1 ) , p = ( h - l * f ) / na . sum ( u ) , g = na . range ( l ) , m = [ ] ; return null != n && g . sort ( n === ml ? function ( t , e ) { return u [ e ] - u [ t ] } : function ( t , e ) { return n ( a [ t ] , a [ e ] ) } ) , g . forEach ( functi
us . seconds = us . second . range , us . seconds . utc = us . second . utc . range , us . minute = Ht ( function ( t ) { return new cs ( 6e4 * Math . floor ( t / 6e4 ) ) } , function ( t , e ) { t . setTime ( t . getTime ( ) + 6e4 * Math . floor ( e ) ) } , function ( t ) { return t . getMinutes ( ) } ) , us . minutes = us . minute . range , us . minutes . utc = us . minute . utc . range , us . hour = Ht ( function ( t ) { var e = t . getTimezoneOffset ( ) / 60 ; return new cs ( 36e5 * ( Math . floor ( t / 36e5 - e ) + e ) ) } , function ( t , e ) { t . setTime ( t . getTime ( ) + 36e5 * Math . floor ( e ) ) } , function ( t ) { return t . getHours ( ) } ) , us . hours = us . hour . range , us . hours . utc = us . hour . utc . range , us . month = Ht ( function ( t ) { return t = us . day ( t ) , t . setDate ( 1 ) , t } , function ( t , e ) { t . setMonth ( t . getMonth ( ) + e ) } , function ( t ) { return t . getMonth ( ) } ) , us . months = us . month . range , us . months . utc = us . month . utc . range ; var Gl = [ 1e3 , 5e3 , 15e3 , 3e4 , 6e4 , 3e5 , 9e5 , 18e5 , 36e5 , 108e5 , 216e5 , 432e5 , 864e5 , 1728e5 , 6048e5 , 2592e6 , 7776e6 , 31536e6 ] , Xl = [ [ us . second , 1 ] , [ us . second , 5 ] , [ us . second , 15 ] , [ us . second , 30 ] , [ us . minute , 1 ] , [ us . minute , 5 ] , [ us . minute , 15 ] , [ us . minute , 30 ] , [ us . hour , 1 ] , [ us . hour , 3 ] , [ us . hour , 6 ] , [ us . hour , 12 ] , [ us . day , 1 ] , [ us . day , 2 ] , [ us . week , 1 ] , [ us . month , 1 ] , [ us . month , 3 ] , [ us . year , 1 ] ] , Vl = ql . multi ( [ [ ".%L" , function ( t ) { return t . getMilliseconds ( ) } ] , [ ":%S" , function ( t ) { return t . getSeconds ( ) } ] , [ "%I:%M" , function ( t ) { return t . getMinutes ( ) } ] , [ "%I %p" , function ( t ) { return t . getHours ( ) } ] , [ "%a %d" , function ( t ) { return t . getDay ( ) && 1 != t . getDate ( ) } ] , [ "%b %d" , function ( t ) { return 1 != t . getDate ( ) } ] , [ "%B" , function ( t ) { return t . getMonth ( ) } ] , [ "%Y" , De ] ] ) , Zl = { range : function ( t , e , n ) { return na . range ( Math . ceil ( t / n ) * n , + e , n ) . map ( Qo ) } , floor : Mt , ceil : Mt } ; Xl . year = us . year , us . scale = function ( ) { return Jo ( na . scale . linear ( ) , Xl , Vl ) } ; var Kl = Xl . map ( function ( t ) { return [ t [ 0 ] . utc , t [ 1 ] ] } ) , Jl = Ul . multi ( [ [ ".%L" , function ( t ) { return t . getUTCMilliseconds ( ) } ] , [ ":%S" , function ( t ) { return t . getUTCSeconds ( ) } ] , [ "%I:%M" , function ( t ) { return t . getUTCMinutes ( ) } ] , [ "%I %p" , function ( t ) { return t . getUTCHours ( ) } ] , [ "%a %d" , function ( t ) { return t . getUTCDay ( ) && 1 != t . getUTCDate ( ) } ] , [ "%b %d" , function ( t ) { return 1 != t . getUTCDate ( ) } ] , [ "%B" , function ( t ) { return t . getUTCMonth ( ) } ] , [ "%Y" , De ] ] ) ; Kl . year = us . year . utc , us . scale . utc = function ( ) { return Jo ( na . scale . linear ( ) , Kl , Jl ) } , na . text = Tt ( function ( t ) { return t . responseText } ) , na . json = function ( t , e ) { return Dt ( t , "application/json" , ta , e ) } , na . html = function ( t , e ) { return Dt ( t , "text/html" , ea , e ) } , na . xml = Tt ( function ( t ) { return t . responseXML } ) , "function" == typeof define && define . amd ? define ( na ) : "object" == typeof module && module . exports && ( module . exports = na ) , this . d3 = na } ( ) , function ( ) { function t ( t , e ) { function n ( e ) { var n , i = t . arcs [ 0 > e ? ~ e : e ] , r = i [ 0 ] ; return t . transform ? ( n = [ 0 , 0 ] , i . forEach ( function ( t ) { n [ 0 ] += t [ 0 ] , n [ 1 ] += t [ 1 ] } ) ) : n = i [ i . length - 1 ] , 0 > e ? [ n , r ] : [ r , n ] } function i ( t , e ) { for ( var n in t ) { var i = t [ n ] ; delete e [ i . start ] , delete i . start , delete i . end , i . forEach ( function ( t ) { r [ 0 > t ? ~ t : t ] = 1 } ) , s . push ( i ) } } var r = { } , o = { } , a = { } , s = [ ] , l = - 1 ; return e . forEach ( function ( n , i ) { var r , o = t . arcs [ 0 > n ? ~ n : n ] ; o . length < 3 && ! o [ 1 ] [ 0 ] && ! o [ 1 ] [ 1 ] && ( r = e [ ++ l ] , e [ l ] = n , e [ i ] = r ) } ) , e . forEach ( function ( t ) { var e , i , r = n ( t ) , s = r [ 0 ] , l = r [ 1 ] ; if ( e = a [ s ] ) if ( delete a [ e . end ] , e . push ( t ) , e . end = l , i = o [ l ] ) { delete o [ i . start ] ; var u = i === e ? e : e . concat ( i ) ; o [ u . start = e . start ] = a [ u . end = i . end ] = u } else o [ e . start ] = a [ e . end ] = e ; else if ( e = o [ l ] ) if ( delete o [ e . start ] , e . unshift ( t ) , e . start = s , i = a [ s ] ) { delete a [ i . end ] ; var c = i === e ? e : i . concat ( e ) ; o [ c . start = i . start ] = a [ c . end = e . end ] = c } else o [ e . start ] = a [ e . end ] = e ; else e = [ t ] , o [ e . start = s ] = a [ e . end = l ] = e } ) , i ( a , o ) , i ( o , a ) , e . forEach ( function ( t ) { r [ 0 > t ? ~ t : t ] || s . push ( [ t ] ) } ) , s } function e ( e , n , i ) { function r ( t ) { var e = 0 > t ? ~ t : t ; ( c [ e ] || ( c [ e ] = [ ] ) ) . push ( { i : t , g : u } ) } function o ( t ) { t . forEach ( r ) } function a ( t ) { t . forEach ( o ) } function s ( t ) { "GeometryCollection" === t . type ? t . geometries . forEach ( s ) : t . type in h && ( u = t , h [ t . type ] ( t . arcs ) ) } var l = [ ] ; if ( arguments . length > 1 ) { var u , c = [ ] , h = { LineString : o , MultiLineString : a , Polygon : a , MultiPolygon : function ( t ) { t . forEach ( a ) } } ; s ( n ) , c . forEach ( arguments . length < 3 ? function ( t ) { l . push ( t [ 0 ] . i ) } : function ( t ) { i ( t [ 0 ] . g , t [ t . length - 1 ] . g ) && l . push ( t [ 0 ] . i ) } ) } else for ( var d = 0 , f = e . arcs . length ; f > d ; ++ d ) l . push ( d ) ; return { type : "MultiLineString" , arcs : t ( e , l ) } } function i ( e , i ) { function r ( t ) { t . forEach ( function ( e ) { e . forEach ( function ( e ) { ( s [ e = 0 > e ? ~ e : e ] || ( s [ e ] = [ ] ) ) . push ( t ) } ) } ) , l . push ( t ) } function o ( t ) { return h ( a ( e , { type : " Po
arcs : [ [ - 167 , 489 , - 247 , - 211 , - 106 , - 102 ] ] } , { type : "MultiPolygon" , properties : { name : "Philippines" } , id : "PHL" , arcs : [ [ [ 490 ] ] , [ [ 491 ] ] , [ [ 492 ] ] , [ [ 493 ] ] , [ [ 494 ] ] , [ [ 495 ] ] , [ [ 496 ] ] ] } , { type : "MultiPolygon" , properties : { name : "Papua New Guinea" } , id : "PNG" , arcs : [ [ [ 497 ] ] , [ [ 498 ] ] , [ [ - 345 , 499 ] ] , [ [ 500 ] ] ] } , { type : "Polygon" , properties : { name : "Poland" } , id : "POL" , arcs : [ [ - 224 , 501 , 502 , - 428 , - 97 , 503 , 504 , - 221 ] ] } , { type : "Polygon" , properties : { name : "Puerto Rico" } , id : "PRI" , arcs : [ [ 505 ] ] } , { type : "Polygon" , properties : { name : "North Korea" } , id : "PRK" , arcs : [ [ 506 , 507 , - 405 , 508 , - 169 ] ] } , { type : "Polygon" , properties : { name : "Portugal" } , id : "PRT" , arcs : [ [ - 259 , 509 ] ] } , { type : "Polygon" , properties : { name : "Paraguay" } , id : "PRY" , arcs : [ [ - 104 , - 105 , - 26 ] ] } , { type : "Polygon" , properties : { name : "Qatar" } , id : "QAT" , arcs : [ [ 510 , 511 ] ] } , { type : "Polygon" , properties : { name : "Romania" } , id : "ROU" , arcs : [ [ 512 , - 434 , 513 , 514 , - 81 , 515 , - 333 ] ] } , { type : "MultiPolygon" , properties : { name : "Russia" } , id : "RUS" , arcs : [ [ [ 516 ] ] , [ [ - 503 , 517 , - 425 ] ] , [ [ 518 , 519 ] ] , [ [ 520 ] ] , [ [ 521 ] ] , [ [ 522 ] ] , [ [ 523 ] ] , [ [ 524 ] ] , [ [ 525 ] ] , [ [ 526 , - 507 , - 184 , - 447 , - 182 , - 391 , 527 , - 59 , - 293 , 528 , 529 , - 95 , - 430 , - 261 , 530 , - 269 , - 475 , 531 , - 520 ] ] , [ [ 532 ] ] , [ [ 533 ] ] , [ [ 534 ] ] ] } , { type : "Polygon" , properties : { name : "Rwanda" } , id : "RWA" , arcs : [ [ 535 , - 61 , - 198 , 536 ] ] } , { type : "Polygon" , properties : { name : "Western Sahara" } , id : "ESH" , arcs : [ [ - 241 , - 458 , 537 , - 431 ] ] } , { type : "Polygon" , properties : { name : "Saudi Arabia" } , id : "SAU" , arcs : [ [ 538 , - 382 , - 365 , - 410 , 539 , - 512 , 540 , - 23 , - 484 , 541 ] ] } , { type : "Polygon" , properties : { name : "Sudan" } , id : "SDN" , arcs : [ [ 542 , 543 , - 123 , 544 , - 421 , - 249 , 545 , - 254 , - 268 , 546 ] ] } , { type : "Polygon" , properties : { name : "South Sudan" } , id : "SSD" , arcs : [ [ 547 , - 266 , - 396 , 548 , - 203 , - 125 , 549 , - 543 ] ] } , { type : "Polygon" , properties : { name : "Senegal" } , id : "SEN" , arcs : [ [ 550 , - 456 , - 442 , - 301 , - 306 , 551 , - 304 ] ] } , { type : "MultiPolygon" , properties : { name : "Solomon Islands" } , id : "SLB" , arcs : [ [ [ 552 ] ] , [ [ 553 ] ] , [ [ 554 ] ] , [ [ 555 ] ] , [ [ 556 ] ] ] } , { type : "Polygon" , properties : { name : "Sierra Leone" } , id : "SLE" , arcs : [ [ 557 , - 298 , - 417 ] ] } , { type : "Polygon" , properties : { name : "El Salvador" } , id : "SLV" , arcs : [ [ 558 , - 317 , - 322 ] ] } , { type : "Polygon" , properties : { name : "Somaliland" } , id : "-99" , arcs : [ [ - 263 , - 231 , 559 , 560 ] ] } , { type : "Polygon" , properties : { name : "Somalia" } , id : "SOM" , arcs : [ [ - 397 , - 264 , - 561 , 561 ] ] } , { type : "Polygon" , properties : { name : "Republic of Serbia" } , id : "SRB" , arcs : [ [ - 86 , - 439 , - 407 , - 446 , - 90 , - 325 , - 334 , - 516 ] ] } , { type : "Polygon" , properties : { name : "Suriname" } , id : "SUR" , arcs : [ [ 562 , - 285 , 563 , - 283 , - 110 , - 319 ] ] } , { type : "Polygon" , properties : { name : "Slovakia" } , id : "SVK" , arcs : [ [ - 505 , 564 , - 331 , - 54 , - 222 ] ] } , { type : "Polygon" , properties : { name : "Slovenia" } , id : "SVN" , arcs : [ [ - 49 , - 335 , - 328 , 565 , - 378 ] ] } , { type : "Polygon" , properties : { name : "Sweden" } , id : "SWE" , arcs : [ [ - 476 , - 271 , 566 ] ] } , { type : "Polygon" , properties : { name : "Swaziland" } , id : "SWZ" , arcs : [ [ 567 , - 451 ] ] } , { type : "Polygon" , properties : { name : "Syria" } , id : "SYR" , arcs : [ [ - 381 , - 375 , - 415 , 568 , 569 , - 367 ] ] } , { type : "Polygon" , properties : { name : "Chad" } , id : "TCD" , arcs : [ [ - 469 , - 422 , - 545 , - 122 , - 195 ] ] } , { type : "Polygon" , properties : { name : "Togo" } , id : "TGO" , arcs : [ [ 570 , - 296 , - 76 , - 69 ] ] } , { type : "Polygon" , properties : { name : "Thailand" } , id : "THA" , arcs : [ [ 571 , - 462 , 572 , - 444 , - 411 , - 400 ] ] } , { type : "Polygon" , properties : { name : "Tajikistan" } , id : "TJK" , arcs : [ [ - 398 , - 179 , - 3 , 573 ] ] } , { type : "Polygon" , properties : { name : "Turkmenistan" } , id : "TKM" , arcs : [ [ - 357 , 574 , - 389 , 575 , - 1 ] ] } , { type : "Polygon" , properties : { name : "East Timor" } , id : "TLS" , arcs : [ [ 576 , - 337 ] ] } , { type : "Polygon" , properties : { name : "Trinidad and Tobago" } , id : "TTO" , arcs : [ [ 577 ] ] } , { type : "Polygon" , properties : { name : "Tunisia" } , id : "TUN" , arcs : [ [ - 244 , 578 , - 419 ] ] } , { type : "MultiPolygon" , properties : { name : "Turkey" } , id : "TUR" , arcs : [ [ [ - 294 , - 36 , - 361 , - 368 , - 570 , 579 ] ] , [ [ - 311 , - 83 , 580 ] ] ] } , { type : "Polygon" , properties : { name : "Taiwan" } , id : "TWN" , arcs : [ [ 581 ] ] } , { type : "Polygon" , properties : { name : "United Republic of Tanzania" } , id : "TZA" , arcs : [ [ - 394 , 582 , - 448 , - 460 , 583 , - 199 , - 62 , - 536 , 584 ] ] } , { type : "Polygon" , properties : { name : "Uganda" } , id : "UGA" , arcs : [ [ - 537 , - 197 , - 549 , - 395 , - 585 ] ] } , { type : "Polygon" , properties : { name : "Ukraine" } , id : "UKR" , arcs : [ [ - 530 , 585 , - 514 , - 433 , - 513 , - 332 , - 565 , - 504 , - 96 ] ] } , { type : "Polygon" , properties : { name : "Uruguay" } , id : "URY" , arcs : [ [ - 113 , 586 , - 28 ] ] } , { type : "MultiPolygon" , properties : { name : "United States of America" } , id : "USA" , arcs : [ [ [ 587 ] ] , [ [ 588 ] ] , [ [ 589 ] ] ,
2018-05-25 01:32:08 +00:00
arcs : [ [ [ 6700 , 7164 ] , [ 28 , - 23 ] , [ 21 , 8 ] , [ 6 , 27 ] , [ 22 , 9 ] , [ 15 , 18 ] , [ 6 , 47 ] , [ 23 , 11 ] , [ 5 , 21 ] , [ 13 , - 15 ] , [ 8 , - 2 ] ] , [ [ 6847 , 7265 ] , [ 16 , - 1 ] , [ 20 , - 12 ] ] , [ [ 6883 , 7252 ] , [ 9 , - 7 ] , [ 20 , 19 ] , [ 9 , - 12 ] , [ 9 , 27 ] , [ 17 , - 1 ] , [ 4 , 9 ] , [ 3 , 24 ] , [ 12 , 20 ] , [ 15 , - 13 ] , [ - 3 , - 18 ] , [ 9 , - 3 ] , [ - 3 , - 50 ] , [ 11 , - 19 ] , [ 10 , 12 ] , [ 12 , 6 ] , [ 17 , 27 ] , [ 19 , - 5 ] , [ 29 , 0 ] ] , [ [ 7082 , 7268 ] , [ 5 , - 17 ] ] , [ [ 7087 , 7251 ] , [ - 16 , - 6 ] , [ - 14 , - 11 ] , [ - 32 , - 7 ] , [ - 30 , - 13 ] , [ - 16 , - 25 ] , [ 6 , - 25 ] , [ 4 , - 30 ] , [ - 14 , - 25 ] , [ 1 , - 22 ] , [ - 8 , - 22 ] , [ - 26 , 2 ] , [ 11 , - 39 ] , [ - 18 , - 15 ] , [ - 12 , - 35 ] , [ 2 , - 36 ] , [ - 11 , - 16 ] , [ - 10 , 5 ] , [ - 22 , - 8 ] , [ - 3 , - 16 ] , [ - 20 , 0 ] , [ - 16 , - 34 ] , [ - 1 , - 50 ] , [ - 36 , - 24 ] , [ - 19 , 5 ] , [ - 6 , - 13 ] , [ - 16 , 7 ] , [ - 28 , - 8 ] , [ - 47 , 30 ] ] , [ [ 6690 , 6820 ] , [ 25 , 53 ] , [ - 2 , 38 ] , [ - 21 , 10 ] , [ - 2 , 38 ] , [ - 9 , 47 ] , [ 12 , 32 ] , [ - 12 , 9 ] , [ 7 , 43 ] , [ 12 , 74 ] ] , [ [ 5664 , 4412 ] , [ 3 , - 18 ] , [ - 4 , - 29 ] , [ 5 , - 28 ] , [ - 4 , - 22 ] , [ 3 , - 20 ] , [ - 58 , 1 ] , [ - 2 , - 188 ] , [ 19 , - 49 ] , [ 18 , - 37 ] ] , [ [ 5644 , 4022 ] , [ - 51 , - 24 ] , [ - 67 , 9 ] , [ - 19 , 28 ] , [ - 113 , - 3 ] , [ - 4 , - 4 ] , [ - 17 , 27 ] , [ - 18 , 2 ] , [ - 16 , - 10 ] , [ - 14 , - 12 ] ] , [ [ 5325 , 4035 ] , [ - 2 , 38 ] , [ 4 , 51 ] , [ 9 , 55 ] , [ 2 , 25 ] , [ 9 , 53 ] , [ 6 , 24 ] , [ 16 , 39 ] , [ 9 , 26 ] , [ 3 , 44 ] , [ - 1 , 34 ] , [ - 9 , 21 ] , [ - 7 , 36 ] , [ - 7 , 35 ] , [ 2 , 12 ] , [ 8 , 24 ] , [ - 8 , 57 ] , [ - 6 , 39 ] , [ - 14 , 38 ] , [ 3 , 11 ] ] , [ [ 5342 , 4697 ] , [ 11 , 8 ] , [ 8 , - 1 ] , [ 10 , 7 ] , [ 82 , - 1 ] , [ 7 , - 44 ] , [ 8 , - 35 ] , [ 6 , - 19 ] , [ 11 , - 31 ] , [ 18 , 5 ] , [ 9 , 8 ] , [ 16 , - 8 ] , [ 4 , 14 ] , [ 7 , 35 ] , [ 17 , 2 ] , [ 2 , 10 ] , [ 14 , 1 ] , [ - 3 , - 22 ] , [ 34 , 1 ] , [ 1 , - 37 ] , [ 5 , - 23 ] , [ - 4 , - 36 ] , [ 2 , - 36 ] , [ 9 , - 22 ] , [ - 1 , - 70 ] , [ 7 , 5 ] , [ 12 , - 1 ] , [ 17 , 8 ] , [ 13 , - 3 ] ] , [ [ 5338 , 4715 ] , [ - 8 , 45 ] ] , [ [ 5330 , 4760 ] , [ 12 , 25 ] , [ 8 , 10 ] , [ 10 , - 20 ] ] , [ [ 5360 , 4775 ] , [ - 10 , - 12 ] , [ - 4 , - 16 ] , [ - 1 , - 25 ] , [ - 7 , - 7 ] ] , [ [ 5571 , 7530 ] , [ - 3 , - 20 ] , [ 4 , - 25 ] , [ 11 , - 15 ] ] , [ [ 5583 , 7470 ] , [ 0 , - 15 ] , [ - 9 , - 9 ] , [ - 2 , - 19 ] , [ - 13 , - 29 ] ] , [ [ 5559 , 7398 ] , [ - 5 , 5 ] , [ 0 , 13 ] , [ - 15 , 19 ] , [ - 3 , 29 ] , [ 2 , 40 ] , [ 4 , 18 ] , [ - 4 , 10 ] ] , [ [ 5538 , 7532 ] , [ - 2 , 18 ] , [ 12 , 29 ] , [ 1 , - 11 ] , [ 8 , 6 ] ] , [ [ 5557 , 7574 ] , [ 6 , - 16 ] , [ 7 , - 6 ] , [ 1 , - 22 ] ] , [ [ 6432 , 6490 ] , [ 5 , 3 ] , [ 1 , - 16 ] , [ 22 , 9 ] , [ 23 , - 2 ] , [ 17 , - 1 ] , [ 19 , 39 ] , [ 20 , 38 ] , [ 18 , 37 ] ] , [ [ 6557 , 6597 ] , [ 5 , - 20 ] ] , [ [ 6562 , 6577 ] , [ 4 , - 47 ] ] , [ [ 6566 , 6530 ] , [ - 14 , 0 ] , [ - 3 , - 39 ] , [ 5 , - 8 ] , [ - 12 , - 12 ] , [ 0 , - 24 ] , [ - 8 , - 24 ] , [ - 1 , - 24 ] ] , [ [ 6533 , 6399 ] , [ - 6 , - 12 ] , [ - 83 , 29 ] , [ - 11 , 60 ] , [ - 1 , 14 ] ] , [ [ 3140 , 1814 ] , [ - 17 , 2 ] , [ - 30 , 0 ] , [ 0 , 132 ] ] , [ [ 3093 , 1948 ] , [ 11 , - 27 ] , [ 14 , - 45 ] , [ 36 , - 35 ] , [ 39 , - 15 ] , [ - 13 , - 30 ] , [ - 26 , - 2 ] , [ - 14 , 20 ] ] , [ [ 3258 , 3743 ] , [ 51 , - 96 ] , [ 23 , - 9 ] , [ 34 , - 44 ] , [ 29 , - 23 ] , [ 4 , - 26 ] , [ - 28 , - 90 ] , [ 28 , - 16 ] , [ 32 , - 9 ] , [ 22 , 10 ] , [ 25 , 45 ] , [ 4 , 52 ] ] , [ [ 3482 , 3537 ] , [ 14 , 11 ] , [ 14 , - 34 ] , [ - 1 , - 47 ] , [ - 23 , - 33 ] , [ - 19 , - 24 ] , [ - 31 , - 57 ] , [ - 37 , - 81 ] ] , [ [ 3399 , 3272 ] , [ - 7 , - 47 ] , [ - 7 , - 61 ] , [ 0 , - 58 ] , [ - 6 , - 14 ] , [ - 2 , - 38 ] ] , [ [ 3377 , 3054 ] , [ - 2 , - 31 ] , [ 35 , - 50 ] , [ - 4 , - 41 ] , [ 18 , - 26 ] , [ - 2 , - 29 ] , [ - 26 , - 75 ] , [ - 42 , - 32 ] , [ - 55 , - 12 ] , [ - 31 , 6 ] , [ 6 , - 36 ] , [ - 6 , - 44 ] , [ 5 , - 30 ] , [ - 16 , - 20 ] , [ - 29 , - 8 ] , [ - 26 , 21 ] , [ - 11 , - 15 ] , [ 4 , - 59 ] , [ 18 , - 18 ] , [ 16 , 19 ] , [ 8 , - 31 ] , [ - 26 , - 18 ] , [ - 22 , - 37 ] , [ - 4 , - 59 ] , [ - 7 , - 32 ] , [ - 26 , 0 ] , [ - 22 , - 31 ] , [ - 8 , - 44 ] , [ 28 , - 43 ] , [ 26 , - 12 ] , [ - 9 , - 53 ] , [ - 33 , - 33 ] , [ - 18 , - 70 ] , [ - 25 , - 23 ] , [ - 12 , - 28 ] , [ 9 , - 61 ] , [ 19 , - 34 ] , [ - 12 , 3 ] ] , [ [ 3095 , 1968 ] , [ - 26 , 9 ] , [ - 67 , 8 ] , [ - 11 , 34 ] , [ 0 , 45 ] , [ - 18 , - 4 ] , [ - 10 , 21 ] , [ - 3 , 63 ] , [ 22 , 26 ] , [ 9 , 37 ] , [ - 4 , 30 ] , [ 15 , 51 ] , [ 10 , 78 ] , [ - 3 , 35 ] , [ 12 , 11 ] , [ - 3 , 22 ] , [ - 13 , 12 ] , [ 10 , 25 ] , [ - 13 , 22 ] , [ - 6 , 68 ] , [ 11 , 12 ] , [ - 5 , 72 ] , [ 7 , 61 ] , [ 7 , 52 ] , [ 17 , 22 ] , [ - 9 , 58 ] , [ 0 , 54 ] , [ 21 , 38 ] , [ - 1 , 50 ] , [ 16 , 57 ] , [ 0 , 55 ] , [ - 7 , 11 ] , [ - 13 , 102 ] , [ 17 , 60 ] , [ - 2 , 58 ] , [ 10 , 53 ] , [ 18 , 56 ] , [ 20 , 36 ] , [ - 9 , 24 ] , [ 6 , 19 ] , [ - 1 , 98 ] , [ 30 , 29 ] , [ 10 , 62 ] , [ - 3 , 14 ] ] , [ [ 3136 , 3714 ] , [ 23 , 54 ] , [ 36 , - 15 ] , [ 16 , - 42 ] , [ 11 , 47 ] , [ 32 , - 2 ] , [ 4 , - 13 ] ] , [ [ 6210 , 7485 ] , [ 39 , 9 ] ] , [ [ 6249 , 7494 ] , [ 5 , - 15 ] , [ 11 , - 10 ] , [ - 6 , - 15 ] , [ 15 , - 21 ] , [ - 8 , - 18 ] , [ 12 , - 16 ] , [ 13 , - 10 ] , [ 0 , - 41 ] ] , [ [ 6291 , 7348 ] , [ - 10 , - 2 ] ] , [ [ 6281 , 7346 ] , [ - 11 , 34 ] , [ 0 , 10 ] , [ - 12 , - 1 ] , [ - 9 , 16 ] , [ - 5 , - 1 ] ] , [ [ 6244 , 7404 ] , [ - 11 , 17 ] , [ - 21 , 15 ] , [ 3 , 28 ] , [ - 5 , 21 ] ] , [ [ 3345 , 329 ] , [ - 8 , - 30 ] , [ - 8 , - 27 ] , [ - 59 , 8 ] , [ - 62 , - 3 ] , [ - 34 , 20 ] , [ 0 , 2 ] , [ - 16 , 17 ] , [ 63 , - 2 ] , [ 60 , - 6 ] , [ 20 , 24 ] , [ 15 , 21 ] , [ 29 , - 24 ] ] , [ [ 577 , 361 ] , [ - 53 , - 8 ] , [ - 36 , 21 ] , [ - 17 , 21 ] , [ - 1 , 3 ] , [ - 18 , 16 ] , [ 17 , 22 ] , [ 52 , - 9 ] , [ 28 , - 18 ] , [ 21 , - 21 ] , [ 7 , - 27 ] ] , [ [ 3745 , 447 ] , [ 35 , - 26 ] , [ 12 , - 36 ] , [ 3 , - 25 ] , [ 1 , - 30 ] , [ - 43 , - 19 ] , [ - 45 , - 15 ] , [ - 52 , - 14 ] , [ - 59 , - 11 ] , [ - 65 , 3 ] , [ - 37 , 20 ] , [ 5 , 24 ] , [ 59 , 16 ] , [ 24 , 20 ] , [ 18 , 26 ] , [ 12 , 22 ] , [ 17 , 20 ] , [ 18 , 25 ] , [ 14 , 0 ] , [ 41 , 12 ] , [ 42 , - 12 ] ] , [ [ 1633 , 715 ] , [ 36 , - 9 ] , [ 33 , 10 ] , [ - 16 , - 20 ] , [ - 26 , - 15 ] , [ - 39 , 4 ] , [ - 27 , 21 ] , [ 6 , 20 ] , [ 33 , - 11 ] ] , [ [ 1512 , 716 ] , [ 43 , - 23 ] , [ - 17 , 3 ] , [ - 36 , 5 ] , [ - 38 , 17 ] , [ 20 , 12 ] , [ 28 , - 14 ] ] , [ [ 2250 , 808 ] , [ 31 , - 8 ] , [ 30 , 7 ] , [ 17 , - 34 ] , [ - 22 , 5 ] , [ - 34 , - 2 ] , [ - 34 , 2 ] , [ - 38 , - 4 ] , [ - 28 , 12 ] , [ - 15 , 24 ] , [ 18 , 11 ] , [ 35 , - 8 ] , [ 40 , - 5 ] ] , [ [ 3098 , 866 ] , [ 4 , - 27 ] , [ - 5 , - 23 ] , [ - 8 , - 22 ] , [ - 33 , - 8 ] , [ - 31 , - 12 ] , [ - 36 , 1 ] , [ 14 , 24 ] , [ - 33 , - 9 ] , [ - 31 , - 8 ] , [ - 21 , 18 ] , [ - 2 , 24 ] , [ 30 , 23 ] , [ 20 , 7 ] , [ 32 , - 2 ] , [ 8 , 30 ] , [ 1 , 22 ] , [ 0 , 47 ] , [ 16 , 28 ] , [ 25 , 9 ] , [ 15 , - 22 ] , [ 6 , - 22 ] , [ 12 , - 26 ] , [ 10 , - 26 ] , [ 7 , - 26 ] ] , [ [ 3371 , 1268 ] , [ - 11 , - 13 ] , [ - 21 , 9 ] , [ - 23 , - 6 ] , [ - 19 , - 14 ] , [ - 2
2018-06-13 01:37:09 +00:00
transform : { scale : [ . 036003600360036005 , . 016927109510951093 ] , translate : [ - 180 , - 85.609038 ] } } , d . prototype . usaTopo = "__USA__" , d . prototype . latLngToXY = function ( t , e ) { return this . projection ( [ e , t ] ) } , d . prototype . addLayer = function ( t , e , n ) { var i ; return i = n ? this . svg . insert ( "g" , ":first-child" ) : this . svg . append ( "g" ) , i . attr ( "id" , e || "" ) . attr ( "class" , t || "" ) } , d . prototype . updateChoropleth = function ( t ) { var e = this . svg ; for ( var n in t ) if ( t . hasOwnProperty ( n ) ) { var i , r = t [ n ] ; if ( ! n ) continue ; i = "string" == typeof r ? r : "string" == typeof r . color ? r . color : this . options . fills [ r . fillKey ] , r === Object ( r ) && ( this . options . data [ n ] = h ( r , this . options . data [ n ] || { } ) , this . svg . select ( "." + n ) . attr ( "data-info" , JSON . stringify ( this . options . data [ n ] ) ) ) , e . selectAll ( "." + n ) . transition ( ) . style ( "fill" , i ) } } , d . prototype . updatePopup = function ( t , e , n ) { var i = this ; t . on ( "mousemove" , null ) , t . on ( "mousemove" , function ( ) { var r = f . mouse ( i . options . element ) ; f . select ( i . svg [ 0 ] [ 0 ] . parentNode ) . select ( ".datamaps-hoverover" ) . style ( "top" , r [ 1 ] + 30 + "px" ) . html ( function ( ) { var i = JSON . parse ( t . attr ( "data-info" ) ) ; return n . popupTemplate ( e , i ) } ) . style ( "left" , r [ 0 ] + "px" ) } ) , f . select ( i . svg [ 0 ] [ 0 ] . parentNode ) . select ( ".datamaps-hoverover" ) . style ( "display" , "block" ) } , d . prototype . addPlugin = function ( t , e ) { var n = this ; void 0 === d . prototype [ t ] && ( d . prototype [ t ] = function ( i , r , o , a ) { var s ; void 0 === a && ( a = ! 1 ) , "function" == typeof r && ( o = r , r = void 0 ) , r = h ( r || { } , n . options [ t + "Config" ] ) , ! a && this . options [ t + "Layer" ] ? ( s = this . options [ t + "Layer" ] , r = r || this . options [ t + "Options" ] ) : ( s = this . addLayer ( t ) , this . options [ t + "Layer" ] = s , this . options [ t + "Options" ] = r ) , e . apply ( this , [ s , i , r ] ) , o && o ( s ) } ) } , "function" == typeof define && define . amd ? define ( "datamaps" , function ( t ) { return f = t ( "d3" ) , p = t ( "topojson" ) , d } ) : window . Datamap = window . Datamaps = d , window . jQuery && ( window . jQuery . fn . datamaps = function ( t , e ) { t = t || { } , t . element = this [ 0 ] ; var n = new d ( t ) ; return "function" == typeof e && e ( n , t ) , this } ) } ( ) , function ( t ) { "function" == typeof define && define . amd ? define ( [ "jquery" ] , function ( e ) { return t ( e , window , document ) } ) : "object" == typeof exports ? module . exports = function ( e , n ) { return e || ( e = window ) , n || ( n = "undefined" != typeof window ? require ( "jquery" ) : require ( "jquery" ) ( e ) ) , t ( n , e , e . document ) } : t ( jQuery , window , document ) } ( function ( t , e , n , i ) { function r ( e ) { var n , i , o = { } ; t . each ( e , function ( t ) { ( n = t . match ( /^([^A-Z]+?)([A-Z])/ ) ) && - 1 !== "a aa ai ao as b fn i m o s " . indexOf ( n [ 1 ] + " " ) && ( i = t . replace ( n [ 0 ] , n [ 2 ] . toLowerCase ( ) ) , o [ i ] = t , "o" === n [ 1 ] && r ( e [ t ] ) ) } ) , e . _hungarianMap = o } function o ( e , n , a ) { e . _hungarianMap || r ( e ) ; var s ; t . each ( n , function ( r ) { ( s = e . _hungarianMap [ r ] ) === i || ! a && n [ s ] !== i || ( "o" === s . charAt ( 0 ) ? ( n [ s ] || ( n [ s ] = { } ) , t . extend ( ! 0 , n [ s ] , n [ r ] ) , o ( e [ s ] , n [ s ] , a ) ) : n [ s ] = n [ r ] ) } ) } function a ( t ) { var e = qt . defaults . oLanguage , n = t . sZeroRecords ; ! t . sEmptyTable && n && "No data available in table" === e . sEmptyTable && Lt ( t , t , "sZeroRecords" , "sEmptyTable" ) , ! t . sLoadingRecords && n && "Loading..." === e . sLoadingRecords && Lt ( t , t , "sZeroRecords" , "sLoadingRecords" ) , t . sInfoThousands && ( t . sThousands = t . sInfoThousands ) , ( t = t . sDecimal ) && Wt ( t ) } function s ( t ) { if ( de ( t , "ordering" , "bSort" ) , de ( t , "orderMulti" , "bSortMulti" ) , de ( t , "orderClasses" , "bSortClasses" ) , de ( t , "orderCellsTop" , "bSortCellsTop" ) , de ( t , "order" , "aaSorting" ) , de ( t , "orderFixed" , "aaSortingFixed" ) , de ( t , "paging" , "bPaginate" ) , de ( t , "pagingType" , "sPaginationType" ) , de ( t , "pageLength" , "iDisplayLength" ) , de ( t , "searching" , "bFilter" ) , "boolean" == typeof t . sScrollX && ( t . sScrollX = t . sScrollX ? "100%" : "" ) , "boolean" == typeof t . scrollX && ( t . scrollX = t . scrollX ? "100%" : "" ) , t = t . aoSearchCols ) for ( var e = 0 , n = t . length ; e < n ; e ++ ) t [ e ] && o ( qt . models . oSearch , t [ e ] ) } function l ( e ) { de ( e , "orderable" , "bSortable" ) , de ( e , "orderData" , "aDataSort" ) , de ( e , "orderSequence" , "asSorting" ) , de ( e , "orderDataType" , "sortDataType" ) ; var n = e . aDataSort ; n && ! t . isArray ( n ) && ( e . aDataSort = [ n ] ) } function u ( e ) { if ( ! qt . _ _browser ) { var n = { } ; qt . _ _browser = n ; var i = t ( "<div/>" ) . css ( { position : "fixed" , top : 0 , left : 0 , height : 1 , width : 1 , overflow : "hidden" } ) . append ( t ( "<div/>" ) . css ( { position : "absolute" , top : 1 , left : 1 , width : 100 , overflow : "scroll" } ) . append ( t ( "<div/>" ) . css ( { width : "100%" , height : 10 } ) ) ) . appendTo ( "body" ) , r = i . children ( ) , o = r . children ( ) ; n . barWidth = r [ 0 ] . offsetWidth - r [ 0 ] . clientWidth , n . bScrollOversize = 100 === o [ 0 ] . offsetWidth && 100 !== r [ 0 ] . clientWid
; n && a < n + o ? ( clearTimeout ( r ) , r = setTimeout ( function ( ) { n = i , t . apply ( e , s ) } , o ) ) : ( n = a , t . apply ( e , s ) ) } } function yt ( e , i ) { if ( ! e ) return 0 ; var r = t ( "<div/>" ) . css ( "width" , wt ( e ) ) . appendTo ( i || n . body ) , o = r [ 0 ] . offsetWidth ; return r . remove ( ) , o } function bt ( e , n ) { var i = xt ( e , n ) ; if ( 0 > i ) return null ; var r = e . aoData [ i ] ; return r . nTr ? r . anCells [ n ] : t ( "<td/>" ) . html ( S ( e , i , n , "display" ) ) [ 0 ] } function xt ( t , e ) { for ( var n , i = - 1 , r = - 1 , o = 0 , a = t . aoData . length ; o < a ; o ++ ) n = S ( t , o , e , "display" ) + "" , n = n . replace ( ve , "" ) , n = n . replace ( / /g , " " ) , n . length > i && ( i = n . length , r = o ) ; return r } function wt ( t ) { return null === t ? "0px" : "number" == typeof t ? 0 > t ? "0px" : t + "px" : t . match ( /\d$/ ) ? t + "px" : t } function St ( e ) { var n , r , o , a , s , l , u = [ ] , c = e . aoColumns ; n = e . aaSortingFixed , r = t . isPlainObject ( n ) ; var h = [ ] ; for ( o = function ( e ) { e . length && ! t . isArray ( e [ 0 ] ) ? h . push ( e ) : t . merge ( h , e ) } , t . isArray ( n ) && o ( n ) , r && n . pre && o ( n . pre ) , o ( e . aaSorting ) , r && n . post && o ( n . post ) , e = 0 ; e < h . length ; e ++ ) for ( l = h [ e ] [ 0 ] , o = c [ l ] . aDataSort , n = 0 , r = o . length ; n < r ; n ++ ) a = o [ n ] , s = c [ a ] . sType || "string" , h [ e ] . _idx === i && ( h [ e ] . _idx = t . inArray ( h [ e ] [ 1 ] , c [ a ] . asSorting ) ) , u . push ( { src : l , col : a , dir : h [ e ] [ 1 ] , index : h [ e ] . _idx , type : s , formatter : qt . ext . type . order [ s + "-pre" ] } ) ; return u } function _t ( t ) { var e , n , i , r , o = [ ] , a = qt . ext . type . order , s = t . aoData , l = 0 , u = t . aiDisplayMaster ; for ( y ( t ) , r = St ( t ) , e = 0 , n = r . length ; e < n ; e ++ ) i = r [ e ] , i . formatter && l ++ , Dt ( t , i . col ) ; if ( "ssp" != zt ( t ) && 0 !== r . length ) { for ( e = 0 , n = u . length ; e < n ; e ++ ) o [ u [ e ] ] = e ; l === r . length ? u . sort ( function ( t , e ) { var n , i , a , l , u = r . length , c = s [ t ] . _aSortData , h = s [ e ] . _aSortData ; for ( a = 0 ; a < u ; a ++ ) if ( l = r [ a ] , n = c [ l . col ] , i = h [ l . col ] , 0 !== ( n = n < i ? - 1 : n > i ? 1 : 0 ) ) return "asc" === l . dir ? n : - n ; return n = o [ t ] , i = o [ e ] , n < i ? - 1 : n > i ? 1 : 0 } ) : u . sort ( function ( t , e ) { var n , i , l , u , c = r . length , h = s [ t ] . _aSortData , d = s [ e ] . _aSortData ; for ( l = 0 ; l < c ; l ++ ) if ( u = r [ l ] , n = h [ u . col ] , i = d [ u . col ] , u = a [ u . type + "-" + u . dir ] || a [ "string-" + u . dir ] , 0 !== ( n = u ( n , i ) ) ) return n ; return n = o [ t ] , i = o [ e ] , n < i ? - 1 : n > i ? 1 : 0 } ) } t . bSorted = ! 0 } function kt ( t ) { for ( var e , n , i = t . aoColumns , r = St ( t ) , t = t . oLanguage . oAria , o = 0 , a = i . length ; o < a ; o ++ ) { n = i [ o ] ; var s = n . asSorting ; e = n . sTitle . replace ( /<.*?>/g , "" ) ; var l = n . nTh ; l . removeAttribute ( "aria-sort" ) , n . bSortable && ( 0 < r . length && r [ 0 ] . col == o ? ( l . setAttribute ( "aria-sort" , "asc" == r [ 0 ] . dir ? "ascending" : "descending" ) , n = s [ r [ 0 ] . index + 1 ] || s [ 0 ] ) : n = s [ 0 ] , e += "asc" === n ? t . sSortAscending : t . sSortDescending ) , l . setAttribute ( "aria-label" , e ) } } function Ct ( e , n , r , o ) { var a = e . aaSorting , s = e . aoColumns [ n ] . asSorting , l = function ( e , n ) { var r = e . _idx ; return r === i && ( r = t . inArray ( e [ 1 ] , s ) ) , r + 1 < s . length ? r + 1 : n ? null : 0 } ; "number" == typeof a [ 0 ] && ( a = e . aaSorting = [ a ] ) , r && e . oFeatures . bSortMulti ? ( r = t . inArray ( n , se ( a , "0" ) ) , - 1 !== r ? ( n = l ( a [ r ] , ! 0 ) , null === n && 1 === a . length && ( n = 0 ) , null === n ? a . splice ( r , 1 ) : ( a [ r ] [ 1 ] = s [ n ] , a [ r ] . _idx = n ) ) : ( a . push ( [ n , s [ 0 ] , 0 ] ) , a [ a . length - 1 ] . _idx = 0 ) ) : a . length && a [ 0 ] [ 0 ] == n ? ( n = l ( a [ 0 ] ) , a . length = 1 , a [ 0 ] [ 1 ] = s [ n ] , a [ 0 ] . _idx = n ) : ( a . length = 0 , a . push ( [ n , s [ 0 ] ] ) , a [ 0 ] . _idx = 0 ) , R ( e ) , "function" == typeof o && o ( e ) } function Mt ( t , e , n , i ) { var r = t . aoColumns [ n ] ; Nt ( e , { } , function ( e ) { ! 1 !== r . bSortable && ( t . oFeatures . bProcessing ? ( dt ( t , ! 0 ) , setTimeout ( function ( ) { Ct ( t , n , e . shiftKey , i ) , "ssp" !== zt ( t ) && dt ( t , ! 1 ) } , 0 ) ) : Ct ( t , n , e . shiftKey , i ) ) } ) } function Tt ( e ) { var n , i , r = e . aLastSort , o = e . oClasses . sSortColumn , a = St ( e ) , s = e . oFeatures ; if ( s . bSort && s . bSortClasses ) { for ( s = 0 , n = r . length ; s < n ; s ++ ) i = r [ s ] . src , t ( se ( e . aoData , "anCells" , i ) ) . removeClass ( o + ( 2 > s ? s + 1 : 3 ) ) ; for ( s = 0 , n = a . length ; s < n ; s ++ ) i = a [ s ] . src , t ( se ( e . aoData , "anCells" , i ) ) . addClass ( o + ( 2 > s ? s + 1 : 3 ) ) } e . aLastSort = a } function Dt ( t , e ) { var n , i = t . aoColumns [ e ] , r = qt . ext . order [ i . sSortDataType ] ; r && ( n = r . call ( t . oInstance , t , e , g ( t , e ) ) ) ; for ( var o , a = qt . ext . type . order [ i . sType + "-pre" ] , s = 0 , l = t . aoData . length ; s < l ; s ++ ) i = t . aoData [ s ] , i . _aSortData || ( i . _aSortData = [ ] ) , ( ! i . _aSortData [ e ] || r ) && ( o = r ? n [ s ] : S ( t , s , e , "sort" ) , i . _aSortData [ e ] = a ? a ( o ) : o ) } function At ( e ) { if ( e . oFeatures . bStateSave && ! e . bDestroying ) { var n = { time : + new Date , start : e . _iDisplayStart , length : e . _iDisplayLength , order : t . extend ( ! 0 , [ ] , e . aaSorting ) , search : tt ( e . oPreviousSearch ) , columns : t . map ( e . aoColumns , function ( t , n ) { return { visible : t . bVisible , search : tt ( e . aoPreSearchCols [ n ] ) } } ) } ; Rt ( e , "aoStateSaveParams" , "stateSaveParams" , [ e , n ] ) , e . oSavedState = n , e . fnStateSaveCallback . call ( e . oInstance , e , n ) } } function Pt ( e ) { var n , r , o = e . aoColumns ; if ( e . oFeatures . bStateSave ) { var a =
row : e . _DT _CellIndex . row , column : e . _DT _CellIndex . column } } ) . toArray ( ) , r . length || ! e . nodeName ? r : ( h = t ( e ) . closest ( "*[data-dt-row]" ) , h . length ? [ { row : h . data ( "dt-row" ) , column : h . data ( "dt-column" ) } ] : [ ] ) ) } , n , f ) } ) ; var o , a , s , l , u , c = this . columns ( n , r ) , h = this . rows ( e , r ) , d = this . iterator ( "table" , function ( t , e ) { for ( o = [ ] , a = 0 , s = h [ e ] . length ; a < s ; a ++ ) for ( l = 0 , u = c [ e ] . length ; l < u ; l ++ ) o . push ( { row : h [ e ] [ a ] , column : c [ e ] [ l ] } ) ; return o } , 1 ) ; return t . extend ( d . selector , { cols : n , rows : e , opts : r } ) , d } ) , Xt ( "cells().nodes()" , "cell().node()" , function ( ) { return this . iterator ( "cell" , function ( t , e , n ) { return ( t = t . aoData [ e ] ) && t . anCells ? t . anCells [ n ] : i } , 1 ) } ) , Gt ( "cells().data()" , function ( ) { return this . iterator ( "cell" , function ( t , e , n ) { return S ( t , e , n ) } , 1 ) } ) , Xt ( "cells().cache()" , "cell().cache()" , function ( t ) { return t = "search" === t ? "_aFilterData" : "_aSortData" , this . iterator ( "cell" , function ( e , n , i ) { return e . aoData [ n ] [ t ] [ i ] } , 1 ) } ) , Xt ( "cells().render()" , "cell().render()" , function ( t ) { return this . iterator ( "cell" , function ( e , n , i ) { return S ( e , n , i , t ) } , 1 ) } ) , Xt ( "cells().indexes()" , "cell().index()" , function ( ) { return this . iterator ( "cell" , function ( t , e , n ) { return { row : e , column : n , columnVisible : g ( t , n ) } } , 1 ) } ) , Xt ( "cells().invalidate()" , "cell().invalidate()" , function ( t ) { return this . iterator ( "cell" , function ( e , n , i ) { P ( e , n , t , i ) } ) } ) , Gt ( "cell()" , function ( t , e , n ) { return ke ( this . cells ( t , e , n ) ) } ) , Gt ( "cell().data()" , function ( t ) { var e = this . context , n = this [ 0 ] ; return t === i ? e . length && n . length ? S ( e [ 0 ] , n [ 0 ] . row , n [ 0 ] . column ) : i : ( _ ( e [ 0 ] , n [ 0 ] . row , n [ 0 ] . column , t ) , P ( e [ 0 ] , n [ 0 ] . row , "data" , n [ 0 ] . column ) , this ) } ) , Gt ( "order()" , function ( e , n ) { var r = this . context ; return e === i ? 0 !== r . length ? r [ 0 ] . aaSorting : i : ( "number" == typeof e ? e = [ [ e , n ] ] : t . isArray ( e [ 0 ] ) || ( e = Array . prototype . slice . call ( arguments ) ) , this . iterator ( "table" , function ( t ) { t . aaSorting = e . slice ( ) } ) ) } ) , Gt ( "order.listener()" , function ( t , e , n ) { return this . iterator ( "table" , function ( i ) { Mt ( i , t , e , n ) } ) } ) , Gt ( "order.fixed()" , function ( e ) { if ( ! e ) { var n = this . context , n = n . length ? n [ 0 ] . aaSortingFixed : i ; return t . isArray ( n ) ? { pre : n } : n } return this . iterator ( "table" , function ( n ) { n . aaSortingFixed = t . extend ( ! 0 , { } , e ) } ) } ) , Gt ( [ "columns().order()" , "column().order()" ] , function ( e ) { var n = this ; return this . iterator ( "table" , function ( i , r ) { var o = [ ] ; t . each ( n [ r ] , function ( t , n ) { o . push ( [ n , e ] ) } ) , i . aaSorting = o } ) } ) , Gt ( "search()" , function ( e , n , r , o ) { var a = this . context ; return e === i ? 0 !== a . length ? a [ 0 ] . oPreviousSearch . sSearch : i : this . iterator ( "table" , function ( i ) { i . oFeatures . bFilter && G ( i , t . extend ( { } , i . oPreviousSearch , { sSearch : e + "" , bRegex : null !== n && n , bSmart : null === r || r , bCaseInsensitive : null === o || o } ) , 1 ) } ) } ) , Xt ( "columns().search()" , "column().search()" , function ( e , n , r , o ) { return this . iterator ( "column" , function ( a , s ) { var l = a . aoPreSearchCols ; if ( e === i ) return l [ s ] . sSearch ; a . oFeatures . bFilter && ( t . extend ( l [ s ] , { sSearch : e + "" , bRegex : null !== n && n , bSmart : null === r || r , bCaseInsensitive : null === o || o } ) , G ( a , a . oPreviousSearch , 1 ) ) } ) } ) , Gt ( "state()" , function ( ) { return this . context . length ? this . context [ 0 ] . oSavedState : null } ) , Gt ( "state.clear()" , function ( ) { return this . iterator ( "table" , function ( t ) { t . fnStateSaveCallback . call ( t . oInstance , t , { } ) } ) } ) , Gt ( "state.loaded()" , function ( ) { return this . context . length ? this . context [ 0 ] . oLoadedState : null } ) , Gt ( "state.save()" , function ( ) { return this . iterator ( "table" , function ( t ) { At ( t ) } ) } ) , qt . versionCheck = qt . fnVersionCheck = function ( t ) { for ( var e , n , i = qt . version . split ( "." ) , t = t . split ( "." ) , r = 0 , o = t . length ; r < o ; r ++ ) if ( e = parseInt ( i [ r ] , 10 ) || 0 , n = parseInt ( t [ r ] , 10 ) || 0 , e !== n ) return e > n ; return ! 0 } , qt . isDataTable = qt . fnIsDataTable = function ( e ) { var n = t ( e ) . get ( 0 ) , i = ! 1 ; return t . each ( qt . settings , function ( e , r ) { var o = r . nScrollHead ? t ( "table" , r . nScrollHead ) [ 0 ] : null , a = r . nScrollFoot ? t ( "table" , r . nScrollFoot ) [ 0 ] : null ; r . nTable !== n && o !== n && a !== n || ( i = ! 0 ) } ) , i } , qt . tables = qt . fnTables = function ( e ) { var n = ! 1 ; t . isPlainObject ( e ) && ( n = e . api , e = e . visible ) ; var i = t . map ( qt . settings , function ( n ) { if ( ! e || e && t ( n . nTable ) . is ( ":visible" ) ) return n . nTable } ) ; return n ? new Yt ( i ) : i } , qt . util = { throttle : vt , escapeRegex : J } , qt . camelToHungarian = o , Gt ( "$()" , function ( e , n ) { var i = this . rows ( n ) . nodes ( ) , i = t ( i ) ; return t ( [ ] . concat ( i . filter ( e ) . toArray ( ) , i . find ( e ) . toArray ( ) ) ) } ) , t . each ( [ "on" , "one" , "off" ] , function ( e , n ) { Gt ( n + "()" , function ( ) { var e = Array .
; if ( n . _time && n . progressInterval && r - n . _time < n . progressInterval && e . loaded !== e . total ) return ; n . _time = r , i = Math . floor ( e . loaded / e . total * ( n . chunkSize || n . _progress . total ) ) + ( n . uploadedBytes || 0 ) , this . _progress . loaded += i - n . _progress . loaded , this . _progress . bitrate = this . _bitrateTimer . getBitrate ( r , this . _progress . loaded , n . bitrateInterval ) , n . _progress . loaded = n . loaded = i , n . _progress . bitrate = n . bitrate = n . _bitrateTimer . getBitrate ( r , i , n . bitrateInterval ) , this . _trigger ( "progress" , t . Event ( "progress" , { delegatedEvent : e } ) , n ) , this . _trigger ( "progressall" , t . Event ( "progressall" , { delegatedEvent : e } ) , this . _progress ) } } , _initProgressListener : function ( e ) { var n = this , i = e . xhr ? e . xhr ( ) : t . ajaxSettings . xhr ( ) ; i . upload && ( t ( i . upload ) . bind ( "progress" , function ( t ) { var i = t . originalEvent ; t . lengthComputable = i . lengthComputable , t . loaded = i . loaded , t . total = i . total , n . _onProgress ( t , e ) } ) , e . xhr = function ( ) { return i } ) } , _isInstanceOf : function ( t , e ) { return Object . prototype . toString . call ( e ) === "[object " + t + "]" } , _initXHRData : function ( e ) { var n , i = this , r = e . files [ 0 ] , o = e . multipart || ! t . support . xhrFileUpload , a = "array" === t . type ( e . paramName ) ? e . paramName [ 0 ] : e . paramName ; e . headers = t . extend ( { } , e . headers ) , e . contentRange && ( e . headers [ "Content-Range" ] = e . contentRange ) , o && ! e . blob && this . _isInstanceOf ( "File" , r ) || ( e . headers [ "Content-Disposition" ] = 'attachment; filename="' + encodeURI ( r . name ) + '"' ) , o ? t . support . xhrFormDataFileUpload && ( e . postMessage ? ( n = this . _getFormData ( e ) , e . blob ? n . push ( { name : a , value : e . blob } ) : t . each ( e . files , function ( i , r ) { n . push ( { name : "array" === t . type ( e . paramName ) && e . paramName [ i ] || a , value : r } ) } ) ) : ( i . _isInstanceOf ( "FormData" , e . formData ) ? n = e . formData : ( n = new FormData , t . each ( this . _getFormData ( e ) , function ( t , e ) { n . append ( e . name , e . value ) } ) ) , e . blob ? n . append ( a , e . blob , r . name ) : t . each ( e . files , function ( r , o ) { ( i . _isInstanceOf ( "File" , o ) || i . _isInstanceOf ( "Blob" , o ) ) && n . append ( "array" === t . type ( e . paramName ) && e . paramName [ r ] || a , o , o . uploadName || o . name ) } ) ) , e . data = n ) : ( e . contentType = r . type || "application/octet-stream" , e . data = e . blob || r ) , e . blob = null } , _initIframeSettings : function ( e ) { var n = t ( "<a></a>" ) . prop ( "href" , e . url ) . prop ( "host" ) ; e . dataType = "iframe " + ( e . dataType || "" ) , e . formData = this . _getFormData ( e ) , e . redirect && n && n !== location . host && e . formData . push ( { name : e . redirectParamName || "redirect" , value : e . redirect } ) } , _initDataSettings : function ( t ) { this . _isXHRUpload ( t ) ? ( this . _chunkedUpload ( t , ! 0 ) || ( t . data || this . _initXHRData ( t ) , this . _initProgressListener ( t ) ) , t . postMessage && ( t . dataType = "postmessage " + ( t . dataType || "" ) ) ) : this . _initIframeSettings ( t ) } , _getParamName : function ( e ) { var n = t ( e . fileInput ) , i = e . paramName ; return i ? t . isArray ( i ) || ( i = [ i ] ) : ( i = [ ] , n . each ( function ( ) { for ( var e = t ( this ) , n = e . prop ( "name" ) || "files[]" , r = ( e . prop ( "files" ) || [ 1 ] ) . length ; r ; ) i . push ( n ) , r -= 1 } ) , i . length || ( i = [ n . prop ( "name" ) || "files[]" ] ) ) , i } , _initFormSettings : function ( e ) { e . form && e . form . length || ( e . form = t ( e . fileInput . prop ( "form" ) ) , e . form . length || ( e . form = t ( this . options . fileInput . prop ( "form" ) ) ) ) , e . paramName = this . _getParamName ( e ) , e . url || ( e . url = e . form . prop ( "action" ) || location . href ) , e . type = ( e . type || "string" === t . type ( e . form . prop ( "method" ) ) && e . form . prop ( "method" ) || "" ) . toUpperCase ( ) , "POST" !== e . type && "PUT" !== e . type && "PATCH" !== e . type && ( e . type = "POST" ) , e . formAcceptCharset || ( e . formAcceptCharset = e . form . attr ( "accept-charset" ) ) } , _getAJAXSettings : function ( e ) { var n = t . extend ( { } , this . options , e ) ; return this . _initFormSettings ( n ) , this . _initDataSettings ( n ) , n } , _getDeferredState : function ( t ) { return t . state ? t . state ( ) : t . isResolved ( ) ? "resolved" : t . isRejected ( ) ? "rejected" : "pending" } , _enhancePromise : function ( t ) { return t . success = t . done , t . error = t . fail , t . complete = t . always , t } , _getXHRPromise : function ( e , n , i ) { var r = t . Deferred ( ) , o = r . promise ( ) ; return n = n || this . options . context || o , ! 0 === e ? r . resolveWith ( n , i ) : ! 1 === e && r . rejectWith ( n , i ) , o . abort = r . promise , this . _enhancePromise ( o ) } , _addConvenienceMethods : function ( e , n ) { var i = this , r = function ( e ) { return t . Deferred ( ) . resolveWith ( i , e ) . promise ( ) } ; n . process = function ( e , o ) { return ( e || o ) && ( n . _processQueue = this . _processQueue = ( this . _processQueue || r ( [ this ] ) ) . pipe ( function ( ) { return n . errorThrown ? t . Deferred ( ) . rejectWith ( i , [ n ] ) . promise ( ) : r ( arguments ) } ) . pipe ( e , o ) ) , this . _processQueue || r ( [ this ] ) } , n . submit = functio
o < t . length ? e ( t [ o ] ) . then ( function ( ) { r ( o + 1 , a ) } , function ( t ) { i ( t ) } ) : n ( ) } ( 0 ) } ) } , e . close = e . closeModal = function ( t ) { var e = f ( ) ; x ( e , "show-swal2" ) , b ( e , "hide-swal2" ) , x ( e , "visible" ) ; var n = e . querySelector ( "." + r . icon + "." + o . success ) ; x ( n , "animate" ) , x ( n . querySelector ( ".tip" ) , "animate-success-tip" ) , x ( n . querySelector ( ".long" ) , "animate-success-long" ) ; var i = e . querySelector ( "." + r . icon + "." + o . error ) ; x ( i , "animate-error-icon" ) , x ( i . querySelector ( ".x-mark" ) , "animate-x-mark" ) ; var a = e . querySelector ( "." + r . icon + "." + o . warning ) ; x ( a , "pulse-warning" ) , L ( ) , O && ! v ( e , "no-animation" ) ? e . addEventListener ( O , function t ( ) { e . removeEventListener ( O , t ) , v ( e , "hide-swal2" ) && ( k ( e ) , A ( p ( ) , 0 ) ) } ) : ( k ( e ) , k ( p ( ) ) ) , null !== t && "function" == typeof t && t . call ( this , e ) } , e . clickConfirm = function ( ) { g ( ) . click ( ) } , e . clickCancel = function ( ) { m ( ) . click ( ) } , e . init = function ( ) { if ( "undefined" == typeof document ) return void console . log ( "SweetAlert2 requires document to initialize" ) ; if ( ! document . getElementsByClassName ( r . container ) . length ) { var t = document . createElement ( "div" ) ; t . className = r . container , t . innerHTML = s , document . body . appendChild ( t ) ; var n = f ( ) , i = w ( n , r . input ) , o = w ( n , r . select ) , a = n . querySelector ( "#" + r . checkbox ) , l = w ( n , r . textarea ) ; i . oninput = function ( ) { e . resetValidationError ( ) } , i . onkeyup = function ( t ) { t . stopPropagation ( ) , 13 === t . keyCode && e . clickConfirm ( ) } , o . onchange = function ( ) { e . resetValidationError ( ) } , a . onchange = function ( ) { e . resetValidationError ( ) } , l . onchange = function ( ) { e . resetValidationError ( ) } , window . addEventListener ( "resize" , R , ! 1 ) } } , e . setDefaults = function ( t ) { if ( ! t ) throw new Error ( "userParams is required" ) ; if ( "object" != typeof t ) throw new Error ( "userParams has to be a object" ) ; l ( I , t ) } , e . resetDefaults = function ( ) { I = l ( { } , a ) } , e . version = "4.0.8" , window . sweetAlert = window . swal = e , function ( ) { "complete" === document . readyState || "interactive" === document . readyState && document . body ? e . init ( ) : document . addEventListener ( "DOMContentLoaded" , function t ( ) { document . removeEventListener ( "DOMContentLoaded" , t , ! 1 ) , e . init ( ) } , ! 1 ) } ( ) , "function" == typeof Promise && ( Promise . prototype . done = function ( ) { return this . catch ( function ( ) { } ) } ) , e } ) , function ( t ) { "use strict" ; if ( "function" == typeof define && define . amd ) define ( [ "jquery" , "moment" ] , t ) ; else if ( "object" == typeof exports ) t ( require ( "jquery" ) , require ( "moment" ) ) ; else { if ( "undefined" == typeof jQuery ) throw "bootstrap-datetimepicker requires jQuery to be loaded first" ; if ( "undefined" == typeof moment ) throw "bootstrap-datetimepicker requires Moment.js to be loaded first" ; t ( jQuery , moment ) } } ( function ( t , e ) { "use strict" ; if ( ! e ) throw new Error ( "bootstrap-datetimepicker requires Moment.js to be loaded first" ) ; var n = function ( n , i ) { var r , o , a , s , l , u , c , h = { } , d = ! 0 , f = ! 1 , p = ! 1 , g = 0 , m = [ { clsName : "days" , navFnc : "M" , navStep : 1 } , { clsName : "months" , navFnc : "y" , navStep : 1 } , { clsName : "years" , navFnc : "y" , navStep : 10 } , { clsName : "decades" , navFnc : "y" , navStep : 100 } ] , v = [ "days" , "months" , "years" , "decades" ] , y = [ "top" , "bottom" , "auto" ] , b = [ "left" , "right" , "auto" ] , x = [ "default" , "top" , "bottom" ] , w = { up : 38 , 38 : "up" , down : 40 , 40 : "down" , left : 37 , 37 : "left" , right : 39 , 39 : "right" , tab : 9 , 9 : "tab" , escape : 27 , 27 : "escape" , enter : 13 , 13 : "enter" , pageUp : 33 , 33 : "pageUp" , pageDown : 34 , 34 : "pageDown" , shift : 16 , 16 : "shift" , control : 17 , 17 : "control" , space : 32 , 32 : "space" , t : 84 , 84 : "t" , delete : 46 , 46 : "delete" } , S = { } , _ = function ( t ) { var n , r , o , a , s , l = ! 1 ; return void 0 !== e . tz && void 0 !== i . timeZone && null !== i . timeZone && "" !== i . timeZone && ( l = ! 0 ) , void 0 === t || null === t ? n = l ? e ( ) . tz ( i . timeZone ) . startOf ( "d" ) : e ( ) . startOf ( "d" ) : l ? ( r = e ( ) . tz ( i . timeZone ) . utcOffset ( ) , o = e ( t , u , i . useStrict ) . utcOffset ( ) , o !== r ? ( a = e ( ) . tz ( i . timeZone ) . format ( "Z" ) , s = e ( t , u , i . useStrict ) . format ( "YYYY-MM-DD[T]HH:mm:ss" ) + a , n = e ( s , u , i . useStrict ) . tz ( i . timeZone ) ) : n = e ( t , u , i . useStrict ) . tz ( i . timeZone ) ) : n = e ( t , u , i . useStrict ) , n } , k = function ( t ) { if ( "string" != typeof t || t . length > 1 ) throw new TypeError ( "isEnabled expects a single character string parameter" ) ; switch ( t ) { case "y" : return - 1 !== l . indexOf ( "Y" ) ; case "M" : return - 1 !== l . indexOf ( "M" ) ; case "d" : return - 1 !== l . toLowerCase ( ) . indexOf ( "d" ) ; case "h" : case "H" : return - 1 !== l . toLowerCase ( ) . indexOf ( "h" ) ; case "m" : return - 1 !== l . indexOf ( "m" ) ; case "s" : return - 1 !== l . indexOf ( "s" ) ; default : return ! 1 } } , C = function ( ) { return k ( "h" ) || k ( "m" ) || k ( "s" ) } , M = function ( ) { return k ( "y" ) ||
if ( 0 === arguments . length ) return i . keepOpen ; if ( "boolean" != typeof t ) throw new TypeError ( "keepOpen() expects a boolean parameter" ) ; return i . keepOpen = t , h } , h . focusOnShow = function ( t ) { if ( 0 === arguments . length ) return i . focusOnShow ; if ( "boolean" != typeof t ) throw new TypeError ( "focusOnShow() expects a boolean parameter" ) ; return i . focusOnShow = t , h } , h . inline = function ( t ) { if ( 0 === arguments . length ) return i . inline ; if ( "boolean" != typeof t ) throw new TypeError ( "inline() expects a boolean parameter" ) ; return i . inline = t , h } , h . clear = function ( ) { return tt ( ) , h } , h . keyBinds = function ( t ) { return i . keyBinds = t , h } , h . getMoment = function ( t ) { return _ ( t ) } , h . debug = function ( t ) { if ( "boolean" != typeof t ) throw new TypeError ( "debug() expects a boolean parameter" ) ; return i . debug = t , h } , h . allowInputToggle = function ( t ) { if ( 0 === arguments . length ) return i . allowInputToggle ; if ( "boolean" != typeof t ) throw new TypeError ( "allowInputToggle() expects a boolean parameter" ) ; return i . allowInputToggle = t , h } , h . showClose = function ( t ) { if ( 0 === arguments . length ) return i . showClose ; if ( "boolean" != typeof t ) throw new TypeError ( "showClose() expects a boolean parameter" ) ; return i . showClose = t , h } , h . keepInvalid = function ( t ) { if ( 0 === arguments . length ) return i . keepInvalid ; if ( "boolean" != typeof t ) throw new TypeError ( "keepInvalid() expects a boolean parameter" ) ; return i . keepInvalid = t , h } , h . datepickerInput = function ( t ) { if ( 0 === arguments . length ) return i . datepickerInput ; if ( "string" != typeof t ) throw new TypeError ( "datepickerInput() expects a string parameter" ) ; return i . datepickerInput = t , h } , h . parseInputDate = function ( t ) { if ( 0 === arguments . length ) return i . parseInputDate ; if ( "function" != typeof t ) throw new TypeError ( "parseInputDate() sholud be as function" ) ; return i . parseInputDate = t , h } , h . disabledTimeIntervals = function ( e ) { if ( 0 === arguments . length ) return i . disabledTimeIntervals ? t . extend ( { } , i . disabledTimeIntervals ) : i . disabledTimeIntervals ; if ( ! e ) return i . disabledTimeIntervals = ! 1 , K ( ) , h ; if ( ! ( e instanceof Array ) ) throw new TypeError ( "disabledTimeIntervals() expects an array parameter" ) ; return i . disabledTimeIntervals = e , K ( ) , h } , h . disabledHours = function ( e ) { if ( 0 === arguments . length ) return i . disabledHours ? t . extend ( { } , i . disabledHours ) : i . disabledHours ; if ( ! e ) return i . disabledHours = ! 1 , K ( ) , h ; if ( ! ( e instanceof Array ) ) throw new TypeError ( "disabledHours() expects an array parameter" ) ; if ( i . disabledHours = ht ( e ) , i . enabledHours = ! 1 , i . useCurrent && ! i . keepInvalid ) { for ( var n = 0 ; ! B ( r , "h" ) ; ) { if ( r . add ( 1 , "h" ) , 24 === n ) throw "Tried 24 times to find a valid date" ; n ++ } J ( r ) } return K ( ) , h } , h . enabledHours = function ( e ) { if ( 0 === arguments . length ) return i . enabledHours ? t . extend ( { } , i . enabledHours ) : i . enabledHours ; if ( ! e ) return i . enabledHours = ! 1 , K ( ) , h ; if ( ! ( e instanceof Array ) ) throw new TypeError ( "enabledHours() expects an array parameter" ) ; if ( i . enabledHours = ht ( e ) , i . disabledHours = ! 1 , i . useCurrent && ! i . keepInvalid ) { for ( var n = 0 ; ! B ( r , "h" ) ; ) { if ( r . add ( 1 , "h" ) , 24 === n ) throw "Tried 24 times to find a valid date" ; n ++ } J ( r ) } return K ( ) , h } , h . viewDate = function ( t ) { if ( 0 === arguments . length ) return o . clone ( ) ; if ( ! t ) return o = r . clone ( ) , h ; if ( ! ( "string" == typeof t || e . isMoment ( t ) || t instanceof Date ) ) throw new TypeError ( "viewDate() parameter must be one of [string, moment or Date]" ) ; return o = ot ( t ) , I ( ) , h } , n . is ( "input" ) ) a = n ; else if ( a = n . find ( i . datepickerInput ) , 0 === a . size ( ) ) a = n . find ( "input" ) ; else if ( ! a . is ( "input" ) ) throw new Error ( 'CSS class "' + i . datepickerInput + '" cannot be applied to non input element' ) ; if ( n . hasClass ( "input-group" ) && ( f = 0 === n . find ( ".datepickerbutton" ) . size ( ) ? n . find ( ".input-group-addon" ) : n . find ( ".datepickerbutton" ) ) , ! i . inline && ! a . is ( "input" ) ) throw new Error ( "Could not initialize DateTimePicker without an input element" ) ; return r = _ ( ) , o = r . clone ( ) , t . extend ( ! 0 , i , function ( ) { var e , r = { } ; return e = n . is ( "input" ) || i . inline ? n . data ( ) : n . find ( "input" ) . data ( ) , e . dateOptions && e . dateOptions instanceof Object && ( r = t . extend ( ! 0 , r , e . dateOptions ) ) , t . each ( i , function ( t ) { var n = "date" + t . charAt ( 0 ) . toUpperCase ( ) + t . slice ( 1 ) ; void 0 !== e [ n ] && ( r [ t ] = e [ n ] ) } ) , r } ( ) ) , h . options ( i ) , dt ( ) , function ( ) { a . on ( { change : lt , blur : i . debug ? "" : Q , keydown : at , keyup : st , focus : i . allowInputToggle ? it : "" } ) , n . is ( "input" ) ? a . on ( { focus : it } ) : f && ( f . on ( "click" , rt ) , f . on ( "mousedown" , ! 1 ) ) } ( )
"Ą" : "A" , "Ⱥ" : "A" , "Ɐ" : "A" , "Ꜳ" : "AA" , "Æ" : "AE" , "Ǽ" : "AE" , "Ǣ" : "AE" , "Ꜵ" : "AO" , "Ꜷ" : "AU" , "Ꜹ" : "AV" , "Ꜻ" : "AV" , "Ꜽ" : "AY" , "Ⓑ" : "B" , "B " : "B" , "Ḃ" : "B" , "Ḅ" : "B" , "Ḇ" : "B" , "Ƀ" : "B" , "Ƃ" : "B" , "Ɓ" : "B" , "Ⓒ" : "C" , "C " : "C" , "Ć" : "C" , "Ĉ" : "C" , "Ċ" : "C" , "Č" : "C" , "Ç" : "C" , "Ḉ" : "C" , "Ƈ" : "C" , "Ȼ" : "C" , "Ꜿ" : "C" , "Ⓓ" : "D" , "D " : "D" , "Ḋ" : "D" , "Ď" : "D" , "Ḍ" : "D" , "Ḑ" : "D" , "Ḓ" : "D" , "Ḏ" : "D" , "Đ" : "D" , "Ƌ" : "D" , "Ɗ" : "D" , "Ɖ" : "D" , "Ꝺ" : "D" , "DZ" : "DZ" , "DŽ" : "DZ" , "Dz" : "Dz" , "Dž" : "Dz" , "Ⓔ" : "E" , "E " : "E" , "È" : "E" , "É" : "E" , "Ê" : "E" , "Ề" : "E" , "Ế" : "E" , "Ễ" : "E" , "Ể" : "E" , "Ẽ" : "E" , "Ē" : "E" , "Ḕ" : "E" , "Ḗ" : "E" , "Ĕ" : "E" , "Ė" : "E" , "Ë" : "E" , "Ẻ" : "E" , "Ě" : "E" , "Ȅ" : "E" , "Ȇ" : "E" , "Ẹ" : "E" , "Ệ" : "E" , "Ȩ" : "E" , "Ḝ" : "E" , "Ę" : "E" , "Ḙ" : "E" , "Ḛ" : "E" , "Ɛ" : "E" , "Ǝ" : "E" , "Ⓕ" : "F" , "F " : "F" , "Ḟ" : "F" , "Ƒ" : "F" , "Ꝼ" : "F" , "Ⓖ" : "G" , "G " : "G" , "Ǵ" : "G" , "Ĝ" : "G" , "Ḡ" : "G" , "Ğ" : "G" , "Ġ" : "G" , "Ǧ" : "G" , "Ģ" : "G" , "Ǥ" : "G" , "Ɠ" : "G" , "Ꞡ" : "G" , "Ᵹ" : "G" , "Ꝿ" : "G" , "Ⓗ" : "H" , "H " : "H" , "Ĥ" : "H" , "Ḣ" : "H" , "Ḧ" : "H" , "Ȟ" : "H" , "Ḥ" : "H" , "Ḩ" : "H" , "Ḫ" : "H" , "Ħ" : "H" , "Ⱨ" : "H" , "Ⱶ" : "H" , "Ɥ" : "H" , "Ⓘ" : "I" , "I " : "I" , "Ì" : "I" , "Í" : "I" , "Î" : "I" , "Ĩ" : "I" , "Ī" : "I" , "Ĭ" : "I" , "İ" : "I" , "Ï" : "I" , "Ḯ" : "I" , "Ỉ" : "I" , "Ǐ" : "I" , "Ȉ" : "I" , "Ȋ" : "I" , "Ị" : "I" , "Į" : "I" , "Ḭ" : "I" , "Ɨ" : "I" , "Ⓙ" : "J" , "J " : "J" , "Ĵ" : "J" , "Ɉ" : "J" , "Ⓚ" : "K" , "K " : "K" , "Ḱ" : "K" , "Ǩ" : "K" , "Ḳ" : "K" , "Ķ" : "K" , "Ḵ" : "K" , "Ƙ" : "K" , "Ⱪ" : "K" , "Ꝁ" : "K" , "Ꝃ" : "K" , "Ꝅ" : "K" , "Ꞣ" : "K" , "Ⓛ" : "L" , "L " : "L" , "Ŀ" : "L" , "Ĺ" : "L" , "Ľ" : "L" , "Ḷ" : "L" , "Ḹ" : "L" , "Ļ" : "L" , "Ḽ" : "L" , "Ḻ" : "L" , "Ł" : "L" , "Ƚ" : "L" , "Ɫ" : "L" , "Ⱡ" : "L" , "Ꝉ" : "L" , "Ꝇ" : "L" , "Ꞁ" : "L" , "LJ" : "LJ" , "Lj" : "Lj" , "Ⓜ" : "M" , "M " : "M" , "Ḿ" : "M" , "Ṁ" : "M" , "Ṃ" : "M" , "Ɱ" : "M" , "Ɯ" : "M" , "Ⓝ" : "N" , "N " : "N" , "Ǹ" : "N" , "Ń" : "N" , "Ñ" : "N" , "Ṅ" : "N" , "Ň" : "N" , "Ṇ" : "N" , "Ņ" : "N" , "Ṋ" : "N" , "Ṉ" : "N" , "Ƞ" : "N" , "Ɲ" : "N" , "Ꞑ" : "N" , "Ꞥ" : "N" , "NJ" : "NJ" , "Nj" : "Nj" , "Ⓞ" : "O" , "O " : "O" , "Ò" : "O" , "Ó" : "O" , "Ô" : "O" , "Ồ" : "O" , "Ố" : "O" , "Ỗ" : "O" , "Ổ" : "O" , "Õ" : "O" , "Ṍ" : "O" , "Ȭ" : "O" , "Ṏ" : "O" , "Ō" : "O" , "Ṑ" : "O" , "Ṓ" : "O" , "Ŏ" : "O" , "Ȯ" : "O" , "Ȱ" : "O" , "Ö" : "O" , "Ȫ" : "O" , "Ỏ" : "O" , "Ő" : "O" , "Ǒ" : "O" , "Ȍ" : "O" , "Ȏ" : "O" , "Ơ" : "O" , "Ờ" : "O" , "Ớ" : "O" , "Ỡ" : "O" , "Ở" : "O" , "Ợ" : "O" , "Ọ" : "O" , "Ộ" : "O" , "Ǫ" : "O" , "Ǭ" : "O" , "Ø" : "O" , "Ǿ" : "O" , "Ɔ" : "O" , "Ɵ" : "O" , "Ꝋ" : "O" , "Ꝍ" : "O" , "Ƣ" : "OI" , "Ꝏ" : "OO" , "Ȣ " : "OU" , "Ⓟ" : "P" , "P " : "P" , "Ṕ" : "P" , "Ṗ" : "P" , "Ƥ" : "P" , "Ᵽ" : "P" , "Ꝑ" : "P" , "Ꝓ" : "P" , "Ꝕ" : "P" , "Ⓠ" : "Q" , "Q " : "Q" , "Ꝗ" : "Q" , "Ꝙ" : "Q" , "Ɋ" : "Q" , "Ⓡ" : "R" , "R " : "R" , "Ŕ" : "R" , "Ṙ" : "R" , "Ř" : "R" , "Ȑ" : "R" , "Ȓ" : "R" , "Ṛ" : "R" , "Ṝ" : "R" , "Ŗ" : "R" , "Ṟ" : "R" , "Ɍ" : "R" , "Ɽ" : "R" , "Ꝛ " : "R" , "Ꞧ" : "R" , "Ꞃ" : "R" , "Ⓢ" : "S" , "S " : "S" , "ẞ" : "S" , "Ś" : "S" , "Ṥ" : "S" , "Ŝ" : "S" , "Ṡ" : "S" , "Š" : "S" , "Ṧ" : "S" , "Ṣ" : "S" , "Ṩ" : "S" , "Ș" : "S" , "Ş" : "S" , "Ȿ" : "S" , "Ꞩ" : "S" , "Ꞅ" : "S" , "Ⓣ" : "T" , "T " : "T" , "Ṫ" : "T" , "Ť" : "T" , "Ṭ" : "T" , "Ț" : "T" , "Ţ" : "T" , "Ṱ" : "T" , "Ṯ" : "T" , "Ŧ" : "T" , "Ƭ" : "T" , "Ʈ" : "T" , "Ⱦ" : "T" , "Ꞇ" : "T" , "Ꜩ" : "TZ" , "Ⓤ" : "U" , "U " : "U" , "Ù" : "U" , "Ú" : "U" , "Û" : "U" , "Ũ" : "U" , "Ṹ" : "U" , "Ū" : "U" , "Ṻ" : "U" , "Ŭ" : "U" , "Ü" : "U" , "Ǜ" : "U" , "Ǘ" : "U" , "Ǖ" : "U" , "Ǚ" : "U" , "Ủ" : "U" , "Ů" : "U" , "Ű" : "U" , "Ǔ" : "U" , "Ȕ" : "U" , "Ȗ" : "U" , "Ư" : "U" , "Ừ" : "U" , "Ứ" : "U" , "Ữ" : "U" , "Ử" : "U" , "Ự" : "U" , "Ụ" : "U" , "Ṳ" : "U" , "Ų" : "U" , "Ṷ" : "U" , "Ṵ" : "U" , "Ʉ" : "U" , "Ⓥ" : "V" , "V " : "V" , "Ṽ" : "V" , "Ṿ" : "V" , "Ʋ" : "V" , "Ꝟ" : "V" , "Ʌ" : "V" , "Ꝡ" : "VY" , "Ⓦ" : "W" , "W " : "W" , "Ẁ" : "W" , "Ẃ" : "W" , "Ŵ" : "W" , "Ẇ" : "W" , "Ẅ" : "W" , "Ẉ" : "W" , "Ⱳ" : "W" , "Ⓧ" : "X" , "X " : "X" , "Ẋ" : "X" , "Ẍ" : "X" , "Ⓨ" : "Y" , "Y " : "Y" , "Ỳ" : "Y" , "Ý" : "Y" , "Ŷ" : "Y" , "Ỹ" : "Y" , "Ȳ" : "Y" , "Ẏ" : "Y" , "Ÿ" : "Y" , "Ỷ" : "Y" , "Ỵ" : "Y" , "Ƴ" : "Y" , "Ɏ" : "Y" , "Ỿ" : "Y" , "Ⓩ" : "Z" , "Z " : "Z" , "Ź" : "Z" , "Ẑ" : "Z" , "Ż" : "Z" , "Ž" : "Z" , "Ẓ" : "Z" , "Ẕ" : "Z" , "Ƶ" : "Z" , "Ȥ" : "Z" , "Ɀ" : "Z" , "Ⱬ" : "Z" , "Ꝣ" : "Z" , "ⓐ" : "a" , "a " : "a" , "ẚ" : "a" , "à" : "a" , "á" : "a" , "â" : "a" , "ầ" : "a" , "ấ" : "a" , "ẫ" : "a" , "ẩ" : "a" , "ã" : "a" , "ā" : "a" , "ă" : "a" , "ằ" : "a" , "ắ" : "a" , "ẵ" : "a" , "ẳ" : "a" , "ȧ" : "a" , "ǡ" : "a" , "ä" : "a" , "ǟ" : "a" , "ả" : "a" , "å" : "a" , "ǻ" : "a" , "ǎ" : "a" , "ȁ" : "a" , "ȃ" : "a" , "ạ" : "a" , "ậ" : "a" , "ặ" : "a" , "ḁ" : "a" , "ą" : "a" , "ⱥ" : "a" , "ɐ" : "a" , "ꜳ" : "aa" , "æ" : "ae" , "ǽ" : "ae" , "ǣ" : "ae" , "ꜵ" : "ao" , "ꜷ" : "au" , "ꜹ" : "av" , "ꜻ" : "av" , "ꜽ" : "ay" , "ⓑ" : "b" , "b " : "b" , "ḃ" : "b" , "ḅ" : "b" , "ḇ" : "b" , "ƀ" : "b" , "ƃ" : "b"
this . _registerDropdownEvents ( ) , this . _registerResultsEvents ( ) , this . _registerEvents ( ) , this . dataAdapter . current ( function ( t ) { c . trigger ( "selection:update" , { data : t } ) } ) , t . addClass ( "select2-hidden-accessible" ) , t . attr ( "aria-hidden" , "true" ) , this . _syncAttributes ( ) , t . data ( "select2" , this ) } ; return n . Extend ( r , n . Observable ) , r . prototype . _generateId = function ( t ) { var e = "" ; return e = null != t . attr ( "id" ) ? t . attr ( "id" ) : null != t . attr ( "name" ) ? t . attr ( "name" ) + "-" + n . generateChars ( 2 ) : n . generateChars ( 4 ) , e = e . replace ( /(:|\.|\[|\]|,)/g , "" ) , e = "select2-" + e } , r . prototype . _placeContainer = function ( t ) { t . insertAfter ( this . $element ) ; var e = this . _resolveWidth ( this . $element , this . options . get ( "width" ) ) ; null != e && t . css ( "width" , e ) } , r . prototype . _resolveWidth = function ( t , e ) { var n = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i ; if ( "resolve" == e ) { var i = this . _resolveWidth ( t , "style" ) ; return null != i ? i : this . _resolveWidth ( t , "element" ) } if ( "element" == e ) { var r = t . outerWidth ( ! 1 ) ; return 0 >= r ? "auto" : r + "px" } if ( "style" == e ) { var o = t . attr ( "style" ) ; if ( "string" != typeof o ) return null ; for ( var a = o . split ( ";" ) , s = 0 , l = a . length ; l > s ; s += 1 ) { var u = a [ s ] . replace ( /\s/g , "" ) , c = u . match ( n ) ; if ( null !== c && c . length >= 1 ) return c [ 1 ] } return null } return e } , r . prototype . _bindAdapters = function ( ) { this . dataAdapter . bind ( this , this . $container ) , this . selection . bind ( this , this . $container ) , this . dropdown . bind ( this , this . $container ) , this . results . bind ( this , this . $container ) } , r . prototype . _registerDomEvents = function ( ) { var e = this ; this . $element . on ( "change.select2" , function ( ) { e . dataAdapter . current ( function ( t ) { e . trigger ( "selection:update" , { data : t } ) } ) } ) , this . $element . on ( "focus.select2" , function ( t ) { e . trigger ( "focus" , t ) } ) , this . _syncA = n . bind ( this . _syncAttributes , this ) , this . _syncS = n . bind ( this . _syncSubtree , this ) , this . $element [ 0 ] . attachEvent && this . $element [ 0 ] . attachEvent ( "onpropertychange" , this . _syncA ) ; var i = window . MutationObserver || window . WebKitMutationObserver || window . MozMutationObserver ; null != i ? ( this . _observer = new i ( function ( n ) { t . each ( n , e . _syncA ) , t . each ( n , e . _syncS ) } ) , this . _observer . observe ( this . $element [ 0 ] , { attributes : ! 0 , childList : ! 0 , subtree : ! 1 } ) ) : this . $element [ 0 ] . addEventListener && ( this . $element [ 0 ] . addEventListener ( "DOMAttrModified" , e . _syncA , ! 1 ) , this . $element [ 0 ] . addEventListener ( "DOMNodeInserted" , e . _syncS , ! 1 ) , this . $element [ 0 ] . addEventListener ( "DOMNodeRemoved" , e . _syncS , ! 1 ) ) } , r . prototype . _registerDataEvents = function ( ) { var t = this ; this . dataAdapter . on ( "*" , function ( e , n ) { t . trigger ( e , n ) } ) } , r . prototype . _registerSelectionEvents = function ( ) { var e = this , n = [ "toggle" , "focus" ] ; this . selection . on ( "toggle" , function ( ) { e . toggleDropdown ( ) } ) , this . selection . on ( "focus" , function ( t ) { e . focus ( t ) } ) , this . selection . on ( "*" , function ( i , r ) { - 1 === t . inArray ( i , n ) && e . trigger ( i , r ) } ) } , r . prototype . _registerDropdownEvents = function ( ) { var t = this ; this . dropdown . on ( "*" , function ( e , n ) { t . trigger ( e , n ) } ) } , r . prototype . _registerResultsEvents = function ( ) { var t = this ; this . results . on ( "*" , function ( e , n ) { t . trigger ( e , n ) } ) } , r . prototype . _registerEvents = function ( ) { var t = this ; this . on ( "open" , function ( ) { t . $container . addClass ( "select2-container--open" ) } ) , this . on ( "close" , function ( ) { t . $container . removeClass ( "select2-container--open" ) } ) , this . on ( "enable" , function ( ) { t . $container . removeClass ( "select2-container--disabled" ) } ) , this . on ( "disable" , function ( ) { t . $container . addClass ( "select2-container--disabled" ) } ) , this . on ( "blur" , function ( ) { t . $container . removeClass ( "select2-container--focus" ) } ) , this . on ( "query" , function ( e ) { t . isOpen ( ) || t . trigger ( "open" , { } ) , this . dataAdapter . query ( e , function ( n ) { t . trigger ( "results:all" , { data : n , query : e } ) } ) } ) , this . on ( "query:append" , function ( e ) { this . dataAdapter . query ( e , function ( n ) { t . trigger ( "results:append" , { data : n , query : e } ) } ) } ) , this . on ( "keypress" , function ( e ) { var n = e . which ; t . isOpen ( ) ? n === i . ESC || n === i . TAB || n === i . UP && e . altKey ? ( t . close ( ) , e . preventDefault ( ) ) : n === i . ENTER ? ( t . trigger ( "results:select" , { } ) , e . preventDefault ( ) ) : n === i . SPACE && e . ctrlKey ? ( t . trigger ( "results:toggle" , { } ) , e . preventDefault ( ) ) : n === i . UP ? ( t . trigger ( "results:previous" , { } ) , e . preventDefault ( ) ) : n === i . DOWN && ( t . trigger ( "results:next" , { } ) , e . preventDefault ( ) ) : ( n === i . ENTER || n === i . SPACE || n === i . DOWN && e . altKey ) && ( t . open ( ) , e . preventDefault ( ) ) } ) } , r . pr
var i = n ( 6 ) , r = n ( 110 ) ; i ( i . S + i . F * ( r != Math . expm1 ) , "Math" , { expm1 : r } ) } , function ( t , e ) { var n = Math . expm1 ; t . exports = ! n || n ( 10 ) > 22025.465794806718 || n ( 10 ) < 22025.465794806718 || - 2e-17 != n ( - 2e-17 ) ? function ( t ) { return 0 == ( t = + t ) ? t : t > - 1e-6 && t < 1e-6 ? t + t * t / 2 : Math . exp ( t ) - 1 } : n } , function ( t , e , n ) { var i = n ( 6 ) , r = n ( 106 ) , o = Math . pow , a = o ( 2 , - 52 ) , s = o ( 2 , - 23 ) , l = o ( 2 , 127 ) * ( 2 - s ) , u = o ( 2 , - 126 ) , c = function ( t ) { return t + 1 / a - 1 / a } ; i ( i . S , "Math" , { fround : function ( t ) { var e , n , i = Math . abs ( t ) , o = r ( t ) ; return i < u ? o * c ( i / u / s ) * u * s : ( e = ( 1 + s / a ) * i , n = e - ( e - i ) , n > l || n != n ? o * ( 1 / 0 ) : o * n ) } } ) } , function ( t , e , n ) { var i = n ( 6 ) , r = Math . abs ; i ( i . S , "Math" , { hypot : function ( t , e ) { for ( var n , i , o = 0 , a = 0 , s = arguments . length , l = 0 ; a < s ; ) n = r ( arguments [ a ++ ] ) , l < n ? ( i = l / n , o = o * i * i + 1 , l = n ) : n > 0 ? ( i = n / l , o += i * i ) : o += n ; return l === 1 / 0 ? 1 / 0 : l * Math . sqrt ( o ) } } ) } , function ( t , e , n ) { var i = n ( 6 ) , r = Math . imul ; i ( i . S + i . F * n ( 5 ) ( function ( ) { return - 5 != r ( 4294967295 , 5 ) || 2 != r . length } ) , "Math" , { imul : function ( t , e ) { var n = 65535 , i = + t , r = + e , o = n & i , a = n & r ; return 0 | o * a + ( ( n & i >>> 16 ) * a + o * ( n & r >>> 16 ) << 16 >>> 0 ) } } ) } , function ( t , e , n ) { var i = n ( 6 ) ; i ( i . S , "Math" , { log10 : function ( t ) { return Math . log ( t ) / Math . LN10 } } ) } , function ( t , e , n ) { var i = n ( 6 ) ; i ( i . S , "Math" , { log1p : n ( 102 ) } ) } , function ( t , e , n ) { var i = n ( 6 ) ; i ( i . S , "Math" , { log2 : function ( t ) { return Math . log ( t ) / Math . LN2 } } ) } , function ( t , e , n ) { var i = n ( 6 ) ; i ( i . S , "Math" , { sign : n ( 106 ) } ) } , function ( t , e , n ) { var i = n ( 6 ) , r = n ( 110 ) , o = Math . exp ; i ( i . S + i . F * n ( 5 ) ( function ( ) { return - 2e-17 != ! Math . sinh ( - 2e-17 ) } ) , "Math" , { sinh : function ( t ) { return Math . abs ( t = + t ) < 1 ? ( r ( t ) - r ( - t ) ) / 2 : ( o ( t - 1 ) - o ( - t - 1 ) ) * ( Math . E / 2 ) } } ) } , function ( t , e , n ) { var i = n ( 6 ) , r = n ( 110 ) , o = Math . exp ; i ( i . S , "Math" , { tanh : function ( t ) { var e = r ( t = + t ) , n = r ( - t ) ; return e == 1 / 0 ? 1 : n == 1 / 0 ? - 1 : ( e - n ) / ( o ( t ) + o ( - t ) ) } } ) } , function ( t , e , n ) { var i = n ( 6 ) ; i ( i . S , "Math" , { trunc : function ( t ) { return ( t > 0 ? Math . floor : Math . ceil ) ( t ) } } ) } , function ( t , e , n ) { var i = n ( 6 ) , r = n ( 37 ) , o = String . fromCharCode , a = String . fromCodePoint ; i ( i . S + i . F * ( ! ! a && 1 != a . length ) , "String" , { fromCodePoint : function ( t ) { for ( var e , n = [ ] , i = arguments . length , a = 0 ; i > a ; ) { if ( e = + arguments [ a ++ ] , r ( e , 1114111 ) !== e ) throw RangeError ( e + " is not a valid code point" ) ; n . push ( e < 65536 ? o ( e ) : o ( 55296 + ( ( e -= 65536 ) >> 10 ) , e % 1024 + 56320 ) ) } return n . join ( "" ) } } ) } , function ( t , e , n ) { var i = n ( 6 ) , r = n ( 30 ) , o = n ( 35 ) ; i ( i . S , "String" , { raw : function ( t ) { for ( var e = r ( t . raw ) , n = o ( e . length ) , i = arguments . length , a = [ ] , s = 0 ; n > s ; ) a . push ( String ( e [ s ++ ] ) ) , s < i && a . push ( String ( arguments [ s ] ) ) ; return a . join ( "" ) } } ) } , function ( t , e , n ) { n ( 81 ) ( "trim" , function ( t ) { return function ( ) { return t ( this , 3 ) } } ) } , function ( t , e , n ) { var i = n ( 6 ) , r = n ( 125 ) ( ! 1 ) ; i ( i . P , "String" , { codePointAt : function ( t ) { return r ( this , t ) } } ) } , function ( t , e , i ) { var r = i ( 36 ) , o = i ( 33 ) ; t . exports = function ( t ) { return function ( e , i ) { var a , s , l = String ( o ( e ) ) , u = r ( i ) , c = l . length ; return u < 0 || u >= c ? t ? "" : n : ( a = l . charCodeAt ( u ) , a < 55296 || a > 56319 || u + 1 === c || ( s = l . charCodeAt ( u + 1 ) ) < 56320 || s > 57343 ? t ? l . charAt ( u ) : a : t ? l . slice ( u , u + 2 ) : s - 56320 + ( a - 55296 << 10 ) + 65536 ) } } } , function ( t , e , i ) { var r = i ( 6 ) , o = i ( 35 ) , a = i ( 127 ) , s = "endsWith" , l = "" [ s ] ; r ( r . P + r . F * i ( 129 ) ( s ) , "String" , { endsWith : function ( t ) { var e = a ( this , t , s ) , i = arguments . length > 1 ? arguments [ 1 ] : n , r = o ( e . length ) , u = i === n ? r : Math . min ( o ( i ) , r ) , c = String ( t ) ; return l ? l . call ( e , c , u ) : e . slice ( u - c . length , u ) === c } } ) } , function ( t , e , n ) { var i = n ( 128 ) , r = n ( 33 ) ; t . exports = function ( t , e , n ) { if ( i ( e ) ) throw TypeError ( "String#" + n + " doesn't accept regex!" ) ; return String ( r ( t ) ) } } , function ( t , e , i ) { var r = i ( 11 ) , o = i ( 32 ) , a = i ( 23 ) ( "match" ) ; t . exports = function ( t ) { var e ; return r ( t ) && ( ( e = t [ a ] ) !== n ? ! ! e : "RegExp" == o ( t ) ) } } , function ( t , e , n ) { var i = n ( 23 ) ( "match" ) ; t . exports = function ( t ) { var e = /./ ; try { "/./" [ t ] ( e ) } catch ( n ) { try { return e [ i ] = ! 1 , ! "/./" [ t ] ( e ) } catch ( t ) { } } return ! 0 } } , function ( t , e , i ) { var r = i ( 6 ) , o = i ( 127 ) , a = "includes" ; r ( r . P + r . F * i ( 129 ) ( a ) , "String" , { includes : function ( t ) { return ! ! ~ o ( this , t , a ) . indexOf ( t , arguments . length > 1 ? arguments [ 1 ] : n ) } } ) } , function ( t , e , n ) { var i = n ( 6 ) ; i ( i . P , "String" , { repeat : n ( 85 ) } ) } , function ( t , e , i ) { var r = i ( 6 ) , o = i ( 35 ) , a = i ( 127 ) , s = "startsWith" , l = "" [ s ] ; r ( r . P + r . F * i ( 129 ) ( s ) , "String" , { startsWith : function ( t ) { var e = a ( this , t , s ) , i = o ( Math . min ( arguments . length > 1 ? arguments [ 1 ] : n , e . length ) ) , r = String ( t ) ; return l ? l . call ( e , r , i ) : e . slice ( i , i + r . length ) === r } } ) } , function ( t , e , i ) { var r = i ( 125 ) ( ! 0 ) ; i ( 134 ) ( String , "String" , function ( t ) { this . _t = String ( t ) , this . _i = 0 } , function ( ) { var t , e = this . _t , i = this . _i ; ret
return ! new f ( 2 ) . slice ( 1 , n ) . byteLength } ) , y , { slice : function ( t , e ) { if ( m !== n && e === n ) return m . call ( s ( this ) , t ) ; for ( var i = s ( this ) . byteLength , r = l ( t , i ) , o = l ( e === n ? i : e , i ) , a = new ( d ( this , f ) ) ( u ( o - r ) ) , c = new p ( this ) , h = new p ( a ) , g = 0 ; r < o ; ) h . setUint8 ( g ++ , c . getUint8 ( r ++ ) ) ; return a } } ) , i ( 186 ) ( y ) } , function ( t , e , n ) { for ( var i , r = n ( 2 ) , o = n ( 8 ) , a = n ( 17 ) , s = a ( "typed_array" ) , l = a ( "view" ) , u = ! ( ! r . ArrayBuffer || ! r . DataView ) , c = u , h = 0 , d = "Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array" . split ( "," ) ; h < 9 ; ) ( i = r [ d [ h ++ ] ] ) ? ( o ( i . prototype , s , ! 0 ) , o ( i . prototype , l , ! 0 ) ) : c = ! 1 ; t . exports = { ABV : u , CONSTR : c , TYPED : s , VIEW : l } } , function ( t , e , i ) { var r = i ( 2 ) , o = i ( 4 ) , a = i ( 26 ) , s = i ( 232 ) , l = i ( 8 ) , u = i ( 202 ) , c = i ( 5 ) , h = i ( 197 ) , d = i ( 36 ) , f = i ( 35 ) , p = i ( 48 ) . f , g = i ( 9 ) . f , m = i ( 180 ) , v = i ( 22 ) , y = "ArrayBuffer" , b = "DataView" , x = "prototype" , w = "Wrong length!" , S = "Wrong index!" , _ = r [ y ] , k = r [ b ] , C = r . Math , M = r . RangeError , T = r . Infinity , D = _ , A = C . abs , P = C . pow , E = C . floor , O = C . log , L = C . LN2 , I = "buffer" , N = "byteLength" , F = "byteOffset" , R = o ? "_b" : I , j = o ? "_l" : N , H = o ? "_o" : F , z = function ( t , e , n ) { var i , r , o , a = Array ( n ) , s = 8 * n - e - 1 , l = ( 1 << s ) - 1 , u = l >> 1 , c = 23 === e ? P ( 2 , - 24 ) - P ( 2 , - 77 ) : 0 , h = 0 , d = t < 0 || 0 === t && 1 / t < 0 ? 1 : 0 ; for ( t = A ( t ) , t != t || t === T ? ( r = t != t ? 1 : 0 , i = l ) : ( i = E ( O ( t ) / L ) , t * ( o = P ( 2 , - i ) ) < 1 && ( i -- , o *= 2 ) , t += i + u >= 1 ? c / o : c * P ( 2 , 1 - u ) , t * o >= 2 && ( i ++ , o /= 2 ) , i + u >= l ? ( r = 0 , i = l ) : i + u >= 1 ? ( r = ( t * o - 1 ) * P ( 2 , e ) , i += u ) : ( r = t * P ( 2 , u - 1 ) * P ( 2 , e ) , i = 0 ) ) ; e >= 8 ; a [ h ++ ] = 255 & r , r /= 256 , e -= 8 ) ; for ( i = i << e | r , s += e ; s > 0 ; a [ h ++ ] = 255 & i , i /= 256 , s -= 8 ) ; return a [ -- h ] |= 128 * d , a } , B = function ( t , e , n ) { var i , r = 8 * n - e - 1 , o = ( 1 << r ) - 1 , a = o >> 1 , s = r - 7 , l = n - 1 , u = t [ l -- ] , c = 127 & u ; for ( u >>= 7 ; s > 0 ; c = 256 * c + t [ l ] , l -- , s -= 8 ) ; for ( i = c & ( 1 << - s ) - 1 , c >>= - s , s += e ; s > 0 ; i = 256 * i + t [ l ] , l -- , s -= 8 ) ; if ( 0 === c ) c = 1 - a ; else { if ( c === o ) return i ? NaN : u ? - T : T ; i += P ( 2 , e ) , c -= a } return ( u ? - 1 : 1 ) * i * P ( 2 , c - e ) } , W = function ( t ) { return t [ 3 ] << 24 | t [ 2 ] << 16 | t [ 1 ] << 8 | t [ 0 ] } , $ = function ( t ) { return [ 255 & t ] } , q = function ( t ) { return [ 255 & t , t >> 8 & 255 ] } , U = function ( t ) { return [ 255 & t , t >> 8 & 255 , t >> 16 & 255 , t >> 24 & 255 ] } , Y = function ( t ) { return z ( t , 52 , 8 ) } , G = function ( t ) { return z ( t , 23 , 4 ) } , X = function ( t , e , n ) { g ( t [ x ] , e , { get : function ( ) { return this [ n ] } } ) } , V = function ( t , e , n , i ) { var r = + n , o = d ( r ) ; if ( r != o || o < 0 || o + e > t [ j ] ) throw M ( S ) ; var a = t [ R ] . _b , s = o + t [ H ] , l = a . slice ( s , s + e ) ; return i ? l : l . reverse ( ) } , Z = function ( t , e , n , i , r , o ) { var a = + n , s = d ( a ) ; if ( a != s || s < 0 || s + e > t [ j ] ) throw M ( S ) ; for ( var l = t [ R ] . _b , u = s + t [ H ] , c = i ( + r ) , h = 0 ; h < e ; h ++ ) l [ u + h ] = c [ o ? h : e - h - 1 ] } , K = function ( t , e ) { h ( t , _ , y ) ; var n = + e , i = f ( n ) ; if ( n != i ) throw M ( w ) ; return i } ; if ( s . ABV ) { if ( ! c ( function ( ) { new _ } ) || ! c ( function ( ) { new _ ( . 5 ) } ) ) { _ = function ( t ) { return new D ( K ( this , t ) ) } ; for ( var J , Q = _ [ x ] = D [ x ] , tt = p ( D ) , et = 0 ; tt . length > et ; ) ( J = tt [ et ++ ] ) in _ || l ( _ , J , D [ J ] ) ; a || ( Q . constructor = _ ) } var nt = new k ( new _ ( 2 ) ) , it = k [ x ] . setInt8 ; nt . setInt8 ( 0 , 2147483648 ) , nt . setInt8 ( 1 , 2147483649 ) , ! nt . getInt8 ( 0 ) && nt . getInt8 ( 1 ) || u ( k [ x ] , { setInt8 : function ( t , e ) { it . call ( this , t , e << 24 >> 24 ) } , setUint8 : function ( t , e ) { it . call ( this , t , e << 24 >> 24 ) } } , ! 0 ) } else _ = function ( t ) { var e = K ( this , t ) ; this . _b = m . call ( Array ( e ) , 0 ) , this [ j ] = e } , k = function ( t , e , i ) { h ( this , k , b ) , h ( t , _ , b ) ; var r = t [ j ] , o = d ( e ) ; if ( o < 0 || o > r ) throw M ( "Wrong offset!" ) ; if ( i = i === n ? r - o : f ( i ) , o + i > r ) throw M ( w ) ; this [ R ] = t , this [ H ] = o , this [ j ] = i } , o && ( X ( _ , N , "_l" ) , X ( k , I , "_b" ) , X ( k , N , "_l" ) , X ( k , F , "_o" ) ) , u ( k [ x ] , { getInt8 : function ( t ) { return V ( this , 1 , t ) [ 0 ] << 24 >> 24 } , getUint8 : function ( t ) { return V ( this , 1 , t ) [ 0 ] } , getInt16 : function ( t ) { var e = V ( this , 2 , t , arguments [ 1 ] ) ; return ( e [ 1 ] << 8 | e [ 0 ] ) << 16 >> 16 } , getUint16 : function ( t ) { var e = V ( this , 2 , t , arguments [ 1 ] ) ; return e [ 1 ] << 8 | e [ 0 ] } , getInt32 : function ( t ) { return W ( V ( this , 4 , t , arguments [ 1 ] ) ) } , getUint32 : function ( t ) { return W ( V ( this , 4 , t , arguments [ 1 ] ) ) >>> 0 } , getFloat32 : function ( t ) { return B ( V ( this , 4 , t , arguments [ 1 ] ) , 23 , 4 ) } , getFloat64 : function ( t ) { return B ( V ( this , 8 , t , arguments [ 1 ] ) , 52 , 8 ) } , setInt8 : function ( t , e ) { Z ( this , 1 , t , $ , e ) } , setUint8 : function ( t , e ) { Z ( this , 1 , t , $ , e ) } , setInt16 : function ( t , e ) { Z ( this , 2 , t , q , e , arguments [ 2 ] ) } , setUint16 : function ( t , e ) { Z ( this , 2 , t , q , e , arguments [ 2 ] ) } , setInt32 : function ( t , e ) { Z ( this , 4 , t , U , e , arguments [ 2 ] ) } , setUint32 : function ( t , e ) { Z ( this , 4 , t , U , e , arguments [ 2 ] ) } , setFloat32 : function ( t , e ) { Z ( this , 4 , t , G , e , arguments [ 2 ] ) } , setFloat64 : function ( t , e ) { Z ( this , 8 , t , Y , e , arguments [ 2 ] ) } } ) ; v ( _ , y ) , v ( k , b ) , l ( k [ x ] , s . VIEW , ! 0 ) , e [ y ] = _ , e [ b ] = k } , function ( t , e , n ) { var i = n ( 6 ) ; i ( i . G + i . W + i . F * ! n ( 232 ) . ABV , { DataVi
return 0 == t % 1 } ) : . 1 >= i && ( n = [ 1 / i ] ) ) ) , r = 0 ; r < n . length && ( s = n [ r ] , ! ( o && s * i >= e || ! o && a <= ( n [ r ] + ( n [ r + 1 ] || n [ r ] ) ) / 2 ) ) ; r ++ ) ; return s = t . correctFloat ( s * i , - Math . round ( Math . log ( . 001 ) / Math . LN10 ) ) } , t . stableSort = function ( t , e ) { var n , i , r = t . length ; for ( i = 0 ; i < r ; i ++ ) t [ i ] . safeI = i ; for ( t . sort ( function ( t , i ) { return n = e ( t , i ) , 0 === n ? t . safeI - i . safeI : n } ) , i = 0 ; i < r ; i ++ ) delete t [ i ] . safeI } , t . arrayMin = function ( t ) { for ( var e = t . length , n = t [ 0 ] ; e -- ; ) t [ e ] < n && ( n = t [ e ] ) ; return n } , t . arrayMax = function ( t ) { for ( var e = t . length , n = t [ 0 ] ; e -- ; ) t [ e ] > n && ( n = t [ e ] ) ; return n } , t . destroyObjectProperties = function ( e , n ) { t . objectEach ( e , function ( t , i ) { t && t !== n && t . destroy && t . destroy ( ) , delete e [ i ] } ) } , t . discardElement = function ( e ) { var n = t . garbageBin ; n || ( n = t . createElement ( "div" ) ) , e && n . appendChild ( e ) , n . innerHTML = "" } , t . correctFloat = function ( t , e ) { return parseFloat ( t . toPrecision ( e || 14 ) ) } , t . setAnimation = function ( e , n ) { n . renderer . globalAnimation = t . pick ( e , n . options . chart . animation , ! 0 ) } , t . animObject = function ( e ) { return t . isObject ( e ) ? t . merge ( e ) : { duration : e ? 500 : 0 } } , t . timeUnits = { millisecond : 1 , second : 1e3 , minute : 6e4 , hour : 36e5 , day : 864e5 , week : 6048e5 , month : 24192e5 , year : 314496e5 } , t . numberFormat = function ( e , n , i , r ) { e = + e || 0 , n = + n ; var o , a , s = t . defaultOptions . lang , l = ( e . toString ( ) . split ( "." ) [ 1 ] || "" ) . split ( "e" ) [ 0 ] . length , u = e . toString ( ) . split ( "e" ) ; return - 1 === n ? n = Math . min ( l , 20 ) : t . isNumber ( n ) || ( n = 2 ) , a = ( Math . abs ( u [ 1 ] ? u [ 0 ] : e ) + Math . pow ( 10 , - Math . max ( n , l ) - 1 ) ) . toFixed ( n ) , l = String ( t . pInt ( a ) ) , o = 3 < l . length ? l . length % 3 : 0 , i = t . pick ( i , s . decimalPoint ) , r = t . pick ( r , s . thousandsSep ) , e = ( 0 > e ? "-" : "" ) + ( o ? l . substr ( 0 , o ) + r : "" ) , e += l . substr ( o ) . replace ( /(\d{3})(?=\d)/g , "$1" + r ) , n && ( e += i + a . slice ( - n ) ) , u [ 1 ] && ( e += "e" + u [ 1 ] ) , e } , Math . easeInOutSine = function ( t ) { return - . 5 * ( Math . cos ( Math . PI * t ) - 1 ) } , t . getStyle = function ( e , n , i ) { return "width" === n ? Math . min ( e . offsetWidth , e . scrollWidth ) - t . getStyle ( e , "padding-left" ) - t . getStyle ( e , "padding-right" ) : "height" === n ? Math . min ( e . offsetHeight , e . scrollHeight ) - t . getStyle ( e , "padding-top" ) - t . getStyle ( e , "padding-bottom" ) : ( ( e = r . getComputedStyle ( e , void 0 ) ) && ( e = e . getPropertyValue ( n ) , t . pick ( i , ! 0 ) && ( e = t . pInt ( e ) ) ) , e ) } , t . inArray = function ( t , e ) { return e . indexOf ? e . indexOf ( t ) : [ ] . indexOf . call ( e , t ) } , t . grep = function ( t , e ) { return [ ] . filter . call ( t , e ) } , t . find = function ( t , e ) { return [ ] . find . call ( t , e ) } , t . map = function ( t , e ) { for ( var n = [ ] , i = 0 , r = t . length ; i < r ; i ++ ) n [ i ] = e . call ( t [ i ] , t [ i ] , i , t ) ; return n } , t . offset = function ( t ) { var e = i . documentElement ; return t = t . getBoundingClientRect ( ) , { top : t . top + ( r . pageYOffset || e . scrollTop ) - ( e . clientTop || 0 ) , left : t . left + ( r . pageXOffset || e . scrollLeft ) - ( e . clientLeft || 0 ) } } , t . stop = function ( t , n ) { for ( var i = e . length ; i -- ; ) e [ i ] . elem !== t || n && n !== e [ i ] . prop || ( e [ i ] . stopped = ! 0 ) } , t . each = function ( t , e , n ) { return Array . prototype . forEach . call ( t , e , n ) } , t . objectEach = function ( t , e , n ) { for ( var i in t ) t . hasOwnProperty ( i ) && e . call ( n , t [ i ] , i , t ) } , t . addEvent = function ( e , n , i ) { function o ( t ) { t . target = t . srcElement || r , i . call ( e , t ) } var a = e . hcEvents = e . hcEvents || { } ; return e . addEventListener ? e . addEventListener ( n , i , ! 1 ) : e . attachEvent && ( e . hcEventsIE || ( e . hcEventsIE = { } ) , i . hcGetKey || ( i . hcGetKey = t . uniqueKey ( ) ) , e . hcEventsIE [ i . hcGetKey ] = o , e . attachEvent ( "on" + n , o ) ) , a [ n ] || ( a [ n ] = [ ] ) , a [ n ] . push ( i ) , function ( ) { t . removeEvent ( e , n , i ) } } , t . removeEvent = function ( e , n , i ) { function r ( t , n ) { e . removeEventListener ? e . removeEventListener ( t , n , ! 1 ) : e . attachEvent && ( n = e . hcEventsIE [ n . hcGetKey ] , e . detachEvent ( "on" + t , n ) ) } function o ( ) { var i , o ; e . nodeName && ( n ? ( i = { } , i [ n ] = ! 0 ) : i = l , t . objectEach ( i , function ( t , e ) { if ( l [ e ] ) for ( o = l [ e ] . length ; o -- ; ) r ( e , l [ e ] [ o ] ) } ) ) } var a , s , l = e . hcEvents ; l && ( n ? ( a = l [ n ] || [ ] , i ? ( s = t . inArray ( i , a ) , - 1 < s && ( a . splice ( s , 1 ) , l [ n ] = a ) , r ( n , i ) ) : ( o ( ) , l [ n ] = [ ] ) ) : ( o ( ) , e . hcEvents = { } ) ) } , t . fireEvent = function ( e , n , r , o ) { var a ; a = e . hcEvents ; var s , l ; if ( r = r || { } , i . createEvent && ( e . dispatchEvent || e . fireEvent ) ) a = i . createEvent ( "Events" ) , a . initEvent ( n , ! 0 , ! 0 ) , t . extend ( a , r ) , e . dispatchEvent ? e . dispatchEvent ( a ) : e . fireEvent ( n , a ) ; else if ( a ) for ( a = a [ n ] || [ ] , s = a . length , r . target || t . extend ( r , { preventDefault : function ( ) { r . defaultPrevented = ! 0 } , target : e , type : n } ) , n = 0 ; n < s ; n ++ ) ( l = a [ n ] ) && ! 1 === l . call ( e , r ) && r . preventDefault ( ) ; o && ! r . defaultPrevented && o ( r ) } , t . animate = function ( e , n , i ) { var r , o , a , s , l = "" ; t . isObject ( i ) || ( s = arguments , i = { duration : s [ 2 ] , easing : s [ 3 ] , complete : s [ 4 ] } ) , t . isNumber ( i .
A [ "text-alignSetter" ] = function ( t ) { x = t } , A . paddingSetter = function ( t ) { c ( t ) && t !== L && ( L = A . padding = t , C ( ) ) } , A . paddingLeftSetter = function ( t ) { c ( t ) && t !== I && ( I = t , C ( ) ) } , A . alignSetter = function ( t ) { ( t = { left : 0 , center : . 5 , right : 1 } [ t ] ) !== O && ( O = t , f && A . attr ( { x : y } ) ) } , A . textSetter = function ( t ) { void 0 !== t && P . textSetter ( t ) , k ( ) , C ( ) } , A [ "stroke-widthSetter" ] = function ( t , e ) { t && ( R = ! 0 ) , w = this [ "stroke-width" ] = t , T ( e , t ) } , A . strokeSetter = A . fillSetter = A . rSetter = function ( t , e ) { "r" !== e && ( "fill" === e && t && ( R = ! 0 ) , A [ e ] = t ) , T ( e , t ) } , A . anchorXSetter = function ( t , e ) { a = A . anchorX = t , T ( e , Math . round ( t ) - _ ( ) - y ) } , A . anchorYSetter = function ( t , e ) { s = A . anchorY = t , T ( e , t - b ) } , A . xSetter = function ( t ) { A . x = t , O && ( t -= O * ( ( m || f . width ) + 2 * L ) ) , y = Math . round ( t ) , A . attr ( "translateX" , y ) } , A . ySetter = function ( t ) { b = A . y = Math . round ( t ) , A . attr ( "translateY" , b ) } ; var j = A . css ; return g ( A , { css : function ( t ) { if ( t ) { var e = { } ; t = M ( t ) , p ( A . textProps , function ( n ) { void 0 !== t [ n ] && ( e [ n ] = t [ n ] , delete t [ n ] ) } ) , P . css ( e ) } return j . call ( A , t ) } , getBBox : function ( ) { return { width : f . width + 2 * L , height : f . height + 2 * L , x : f . x - L , y : f . y - L } } , shadow : function ( t ) { return t && ( k ( ) , d && d . shadow ( t ) ) , A } , destroy : function ( ) { E ( A . element , "mouseenter" ) , E ( A . element , "mouseleave" ) , P && ( P = P . destroy ( ) ) , d && ( d = d . destroy ( ) ) , e . prototype . destroy . call ( A ) , A = D = k = C = T = null } } ) } } ) , t . Renderer = n } ( t ) , function ( t ) { var e = t . attr , n = t . createElement , i = t . css , r = t . defined , o = t . each , a = t . extend , s = t . isFirefox , l = t . isMS , u = t . isWebKit , c = t . pInt , h = t . SVGRenderer , d = t . win , f = t . wrap ; a ( t . SVGElement . prototype , { htmlCss : function ( t ) { var e = this . element ; return ( e = t && "SPAN" === e . tagName && t . width ) && ( delete t . width , this . textWidth = e , this . updateTransform ( ) ) , t && "ellipsis" === t . textOverflow && ( t . whiteSpace = "nowrap" , t . overflow = "hidden" ) , this . styles = a ( this . styles , t ) , i ( this . element , t ) , this } , htmlGetBBox : function ( ) { var t = this . element ; return "text" === t . nodeName && ( t . style . position = "absolute" ) , { x : t . offsetLeft , y : t . offsetTop , width : t . offsetWidth , height : t . offsetHeight } } , htmlUpdateTransform : function ( ) { if ( this . added ) { var t = this . renderer , e = this . element , n = this . translateX || 0 , a = this . translateY || 0 , s = this . x || 0 , l = this . y || 0 , h = this . textAlign || "left" , d = { left : 0 , center : . 5 , right : 1 } [ h ] , f = this . styles ; if ( i ( e , { marginLeft : n , marginTop : a } ) , this . shadows && o ( this . shadows , function ( t ) { i ( t , { marginLeft : n + 1 , marginTop : a + 1 } ) } ) , this . inverted && o ( e . childNodes , function ( n ) { t . invertChild ( n , e ) } ) , "SPAN" === e . tagName ) { var p = this . rotation , g = c ( this . textWidth ) , m = f && f . whiteSpace , v = [ p , h , e . innerHTML , this . textWidth , this . textAlign ] . join ( ) ; v !== this . cTT && ( f = t . fontMetrics ( e . style . fontSize ) . b , r ( p ) && this . setSpanRotation ( p , d , f ) , i ( e , { width : "" , whiteSpace : m || "nowrap" } ) , e . offsetWidth > g && /[ \-]/ . test ( e . textContent || e . innerText ) && i ( e , { width : g + "px" , display : "block" , whiteSpace : m || "normal" } ) , this . getSpanCorrection ( e . offsetWidth , f , d , p , h ) ) , i ( e , { left : s + ( this . xCorr || 0 ) + "px" , top : l + ( this . yCorr || 0 ) + "px" } ) , u && ( f = e . offsetHeight ) , this . cTT = v } } else this . alignOnAdd = ! 0 } , setSpanRotation : function ( t , e , n ) { var r = { } , o = l ? "-ms-transform" : u ? "-webkit-transform" : s ? "MozTransform" : d . opera ? "-o-transform" : "" ; r [ o ] = r . transform = "rotate(" + t + "deg)" , r [ o + ( s ? "Origin" : "-origin" ) ] = r . transformOrigin = 100 * e + "% " + n + "px" , i ( this . element , r ) } , getSpanCorrection : function ( t , e , n ) { this . xCorr = - t * n , this . yCorr = - e } } ) , a ( h . prototype , { html : function ( t , i , r ) { var s = this . createElement ( "span" ) , l = s . element , u = s . renderer , c = u . isSVG , h = function ( t , e ) { o ( [ "opacity" , "visibility" ] , function ( n ) { f ( t , n + "Setter" , function ( t , n , i , r ) { t . call ( this , n , i , r ) , e [ i ] = n } ) } ) } ; return s . textSetter = function ( t ) { t !== l . innerHTML && delete this . bBox , l . innerHTML = this . textStr = t , s . htmlUpdateTransform ( ) } , c && h ( s , s . element . style ) , s . xSetter = s . ySetter = s . alignSetter = s . rotationSetter = function ( t , e ) { "align" === e && ( e = "textAlign" ) , s [ e ] = t , s . htmlUpdateTransform ( ) } , s . attr ( { text : t , x : Math . round ( i ) , y : Math . round ( r ) } ) . css ( { fontFamily : this . style . fontFamily , fontSize : this . style . fontSize , position : "absolute" } ) , l . style . whiteSpace = "nowrap" , s . css = s . htmlCss , c && ( s . add = function ( t ) { var i , r = u . box . parentNode , c = [ ] ; if ( this . parentGroup = t ) { if ( ! ( i = t . div ) ) { for ( ; t ; ) c . push ( t ) , t = t . parentGroup ; o ( c . reverse ( ) , function ( t ) { var o , l = e ( t . element , "class" ) ; l && ( l = { className : l } ) , i = t . div = t . div || n ( "div" , l , { position : "absolute" , left : ( t . translateX || 0 ) + "px" , top : ( t . translateY || 0 ) + " px
s . tickInterval = s . min === s . max || void 0 === s . min || void 0 === s . max ? 1 : y && ! _ && C === s . linkedParent . options . tickPixelInterval ? _ = s . linkedParent . tickInterval : k ( _ , this . tickAmount ? ( s . max - s . min ) / Math . max ( this . tickAmount - 1 , 1 ) : void 0 , M ? 1 : ( s . max - s . min ) * C / Math . max ( s . len , C ) ) , v && ! e && h ( s . series , function ( t ) { t . processData ( s . min !== s . oldMin || s . max !== s . oldMax ) } ) , s . setAxisTranslation ( ! 0 ) , s . beforeSetTickPositions && s . beforeSetTickPositions ( ) , s . postProcessTickInterval && ( s . tickInterval = s . postProcessTickInterval ( s . tickInterval ) ) , s . pointRange && ! _ && ( s . tickInterval = Math . max ( s . pointRange , s . tickInterval ) ) , e = k ( c . minTickInterval , s . isDatetimeAxis && s . closestPointRange ) , ! _ && s . tickInterval < e && ( s . tickInterval = e ) , m || d || _ || ( s . tickInterval = S ( s . tickInterval , null , g ( s . tickInterval ) , k ( c . allowDecimals , ! ( . 5 < s . tickInterval && 5 > s . tickInterval && 1e3 < s . max && 9999 > s . max ) ) , ! ! this . tickAmount ) ) , this . tickAmount || ( s . tickInterval = s . unsquish ( ) ) , this . setTickPositions ( ) } , setTickPositions : function ( ) { var t , e = this . options , n = e . tickPositions , i = e . tickPositioner , r = e . startOnTick , o = e . endOnTick ; this . tickmarkOffset = this . categories && "between" === e . tickmarkPlacement && 1 === this . tickInterval ? . 5 : 0 , this . minorTickInterval = "auto" === e . minorTickInterval && this . tickInterval ? this . tickInterval / 5 : e . minorTickInterval , this . single = this . min === this . max && l ( this . min ) && ! this . tickAmount && ( parseInt ( this . min , 10 ) === this . min || ! 1 !== e . allowDecimals ) , this . tickPositions = t = n && n . slice ( ) , ! t && ( t = this . isDatetimeAxis ? this . getTimeTicks ( this . normalizeTimeTickInterval ( this . tickInterval , e . units ) , this . min , this . max , e . startOfWeek , this . ordinalPositions , this . closestPointRange , ! 0 ) : this . isLog ? this . getLogTickPositions ( this . tickInterval , this . min , this . max ) : this . getLinearTickPositions ( this . tickInterval , this . min , this . max ) , t . length > this . len && ( t = [ t [ 0 ] , t . pop ( ) ] ) , this . tickPositions = t , i && ( i = i . apply ( this , [ this . min , this . max ] ) ) ) && ( this . tickPositions = t = i ) , this . paddedTicks = t . slice ( 0 ) , this . trimTicks ( t , r , o ) , this . isLinked || ( this . single && 2 > t . length && ( this . min -= . 5 , this . max += . 5 ) , n || i || this . adjustTickAmount ( ) ) } , trimTicks : function ( t , e , n ) { var i = t [ 0 ] , r = t [ t . length - 1 ] , o = this . minPointOffset || 0 ; if ( ! this . isLinked ) { if ( e && - 1 / 0 !== i ) this . min = i ; else for ( ; this . min - o > t [ 0 ] ; ) t . shift ( ) ; if ( n ) this . max = r ; else for ( ; this . max + o < t [ t . length - 1 ] ; ) t . pop ( ) ; 0 === t . length && l ( i ) && t . push ( ( r + i ) / 2 ) } } , alignToOthers : function ( ) { var t , e = { } , n = this . options ; return ! 1 === this . chart . options . chart . alignTicks || ! 1 === n . alignTicks || this . isLog || h ( this . chart [ this . coll ] , function ( n ) { var i = n . options , i = [ n . horiz ? i . left : i . top , i . width , i . height , i . pane ] . join ( ) ; n . series . length && ( e [ i ] ? t = ! 0 : e [ i ] = 1 ) } ) , t } , getTickAmount : function ( ) { var t = this . options , e = t . tickAmount , n = t . tickPixelInterval ; ! l ( t . tickInterval ) && this . len < n && ! this . isRadial && ! this . isLog && t . startOnTick && t . endOnTick && ( e = 2 ) , ! e && this . alignToOthers ( ) && ( e = Math . ceil ( this . len / n ) + 1 ) , 4 > e && ( this . finalTickAmt = e , e = 5 ) , this . tickAmount = e } , adjustTickAmount : function ( ) { var t = this . tickInterval , e = this . tickPositions , n = this . tickAmount , i = this . finalTickAmt , r = e && e . length ; if ( r < n ) { for ( ; e . length < n ; ) e . push ( a ( e [ e . length - 1 ] + t ) ) ; this . transA *= ( r - 1 ) / ( n - 1 ) , this . max = e [ e . length - 1 ] } else r > n && ( this . tickInterval *= 2 , this . setTickPositions ( ) ) ; if ( l ( i ) ) { for ( t = n = e . length ; t -- ; ) ( 3 === i && 1 == t % 2 || 2 >= i && 0 < t && t < n - 1 ) && e . splice ( t , 1 ) ; this . finalTickAmt = void 0 } } , setScale : function ( ) { var t , e ; this . oldMin = this . min , this . oldMax = this . max , this . oldAxisLength = this . len , this . setAxisSize ( ) , e = this . len !== this . oldAxisLength , h ( this . series , function ( e ) { ( e . isDirtyData || e . isDirty || e . xAxis . isDirty ) && ( t = ! 0 ) } ) , e || t || this . isLinked || this . forceRedraw || this . userMin !== this . oldUserMin || this . userMax !== this . oldUserMax || this . alignToOthers ( ) ? ( this . resetStacks && this . resetStacks ( ) , this . forceRedraw = ! 1 , this . getSeriesExtremes ( ) , this . setTickInterval ( ) , this . oldUserMin = this . userMin , this . oldUserMax = this . userMax , this . isDirty || ( this . isDirty = e || this . min !== this . oldMin || this . max !== this . oldMax ) ) : this . cleanStacks && this . cleanStacks ( ) } , setExtremes : function ( t , e , n , i , r ) { var o = this , a = o . chart ; n = k ( n , ! 0 ) , h ( o . series , function ( t ) { delete t . kdTree } ) , r = d ( r , { min : t , max : e } ) , f ( o , "setExtremes" , r , function ( ) { o . userMin = t , o . userMax = e , o . eventArgs = r , n && a . redraw ( i ) } ) } , zoom : function ( t , e ) { var n = this . dataMin , i = this . data
var e , n = this . chart , i = n . options . chart , o = t . chartX , a = t . chartY , s = this . zoomHor , l = this . zoomVert , u = n . plotLeft , c = n . plotTop , h = n . plotWidth , d = n . plotHeight , f = this . selectionMarker , p = this . mouseDownX , g = this . mouseDownY , m = i . panKey && t [ i . panKey + "Key" ] ; f && f . touch || ( o < u ? o = u : o > u + h && ( o = u + h ) , a < c ? a = c : a > c + d && ( a = c + d ) , this . hasDragged = Math . sqrt ( Math . pow ( p - o , 2 ) + Math . pow ( g - a , 2 ) ) , 10 < this . hasDragged && ( e = n . isInsidePlot ( p - u , g - c ) , n . hasCartesianSeries && ( this . zoomX || this . zoomY ) && e && ! m && ! f && ( this . selectionMarker = f = n . renderer . rect ( u , c , s ? 1 : h , l ? 1 : d , 0 ) . attr ( { fill : i . selectionMarkerFill || r ( "#335cad" ) . setOpacity ( . 25 ) . get ( ) , class : "highcharts-selection-marker" , zIndex : 7 } ) . add ( ) ) , f && s && ( o -= p , f . attr ( { width : Math . abs ( o ) , x : ( 0 < o ? 0 : o ) + p } ) ) , f && l && ( o = a - g , f . attr ( { height : Math . abs ( o ) , y : ( 0 < o ? 0 : o ) + g } ) ) , e && ! f && i . panning && n . pan ( t , i . panning ) ) ) } , drop : function ( t ) { var e = this , n = this . chart , i = this . hasPinched ; if ( this . selectionMarker ) { var r , u = { originalEvent : t , xAxis : [ ] , yAxis : [ ] } , h = this . selectionMarker , d = h . attr ? h . attr ( "x" ) : h . x , f = h . attr ? h . attr ( "y" ) : h . y , p = h . attr ? h . attr ( "width" ) : h . width , g = h . attr ? h . attr ( "height" ) : h . height ; ( this . hasDragged || i ) && ( s ( n . axes , function ( n ) { if ( n . zoomEnabled && a ( n . min ) && ( i || e [ { xAxis : "zoomX" , yAxis : "zoomY" } [ n . coll ] ] ) ) { var o = n . horiz , s = "touchend" === t . type ? n . minPixelPadding : 0 , l = n . toValue ( ( o ? d : f ) + s ) , o = n . toValue ( ( o ? d + p : f + g ) - s ) ; u [ n . coll ] . push ( { axis : n , min : Math . min ( l , o ) , max : Math . max ( l , o ) } ) , r = ! 0 } } ) , r && c ( n , "selection" , u , function ( t ) { n . zoom ( l ( t , i ? { animation : ! 1 } : null ) ) } ) ) , this . selectionMarker = this . selectionMarker . destroy ( ) , i && this . scaleGroups ( ) } n && ( o ( n . container , { cursor : n . _cursor } ) , n . cancelClick = 10 < this . hasDragged , n . mouseIsDown = this . hasDragged = this . hasPinched = ! 1 , this . pinchDown = [ ] ) } , onContainerMouseDown : function ( t ) { t = this . normalize ( t ) , this . zoomOption ( t ) , t . preventDefault && t . preventDefault ( ) , this . dragStart ( t ) } , onDocumentMouseUp : function ( e ) { i [ t . hoverChartIndex ] && i [ t . hoverChartIndex ] . pointer . drop ( e ) } , onDocumentMouseMove : function ( t ) { var e = this . chart , n = this . chartPosition ; t = this . normalize ( t , n ) , ! n || this . inClass ( t . target , "highcharts-tracker" ) || e . isInsidePlot ( t . chartX - e . plotLeft , t . chartY - e . plotTop ) || this . reset ( ) } , onContainerMouseLeave : function ( e ) { var n = i [ t . hoverChartIndex ] ; n && ( e . relatedTarget || e . toElement ) && ( n . pointer . reset ( ) , n . pointer . chartPosition = null ) } , onContainerMouseMove : function ( e ) { var n = this . chart ; a ( t . hoverChartIndex ) && i [ t . hoverChartIndex ] && i [ t . hoverChartIndex ] . mouseIsDown || ( t . hoverChartIndex = n . index ) , e = this . normalize ( e ) , e . returnValue = ! 1 , "mousedown" === n . mouseIsDown && this . drag ( e ) , ! this . inClass ( e . target , "highcharts-tracker" ) && ! n . isInsidePlot ( e . chartX - n . plotLeft , e . chartY - n . plotTop ) || n . openMenu || this . runPointActions ( e ) } , inClass : function ( t , e ) { for ( var i ; t ; ) { if ( i = n ( t , "class" ) ) { if ( - 1 !== i . indexOf ( e ) ) return ! 0 ; if ( - 1 !== i . indexOf ( "highcharts-container" ) ) return ! 1 } t = t . parentNode } } , onTrackerMouseOut : function ( t ) { var e = this . chart . hoverSeries ; t = t . relatedTarget || t . toElement , this . isDirectTouch = ! 1 , ! e || ! t || e . stickyTracking || this . inClass ( t , "highcharts-tooltip" ) || this . inClass ( t , "highcharts-series-" + e . index ) && this . inClass ( t , "highcharts-tracker" ) || e . onMouseOut ( ) } , onContainerClick : function ( t ) { var e = this . chart , n = e . hoverPoint , i = e . plotLeft , r = e . plotTop ; t = this . normalize ( t ) , e . cancelClick || ( n && this . inClass ( t . target , "highcharts-tracker" ) ? ( c ( n . series , "click" , l ( t , { point : n } ) ) , e . hoverPoint && n . firePointEvent ( "click" , t ) ) : ( l ( t , this . getCoordinates ( t ) ) , e . isInsidePlot ( t . chartX - i , t . chartY - r ) && c ( e , "click" , t ) ) ) } , setDOMEvents : function ( ) { var n = this , i = n . chart . container , r = i . ownerDocument ; i . onmousedown = function ( t ) { n . onContainerMouseDown ( t ) } , i . onmousemove = function ( t ) { n . onContainerMouseMove ( t ) } , i . onclick = function ( t ) { n . onContainerClick ( t ) } , e ( i , "mouseleave" , n . onContainerMouseLeave ) , 1 === t . chartCount && e ( r , "mouseup" , n . onDocumentMouseUp ) , t . hasTouch && ( i . ontouchstart = function ( t ) { n . onContainerTouchStart ( t ) } , i . ontouchmove = function ( t ) { n . onContainerTouchMove ( t ) } , 1 === t . chartCount && e ( r , "touchend" , n . onDocumentTouchEnd ) ) } , destroy : function ( ) { var e = this , n = this . chart . container . ownerDocument ; e . unDocMouseMove && e . unDocMouseMove ( ) , p ( e . chart . container , "mouseleave" , e . onContainerMouseLeave ) , t . chartCount || ( p ( n , "mouseup" , e . onDocumentMouseUp ) , t . hasTouch && p ( n , "touchend" , e . onDoc
var e , n = t . each , i = t . extend , r = t . erase , o = t . fireEvent , a = t . format , s = t . isArray , l = t . isNumber , u = t . pick , c = t . removeEvent ; t . Point = e = function ( ) { } , t . Point . prototype = { init : function ( t , e , n ) { return this . series = t , this . color = t . color , this . applyOptions ( e , n ) , t . options . colorByPoint ? ( e = t . options . colors || t . chart . options . colors , this . color = this . color || e [ t . colorCounter ] , e = e . length , n = t . colorCounter , ++ t . colorCounter === e && ( t . colorCounter = 0 ) ) : n = t . colorIndex , this . colorIndex = u ( this . colorIndex , n ) , t . chart . pointCount ++ , this } , applyOptions : function ( t , n ) { var r = this . series , o = r . options . pointValKey || r . pointValKey ; return t = e . prototype . optionsToObject . call ( this , t ) , i ( this , t ) , this . options = this . options ? i ( this . options , t ) : t , t . group && delete this . group , o && ( this . y = this [ o ] ) , this . isNull = u ( this . isValid && ! this . isValid ( ) , null === this . x || ! l ( this . y , ! 0 ) ) , this . selected && ( this . state = "select" ) , "name" in this && void 0 === n && r . xAxis && r . xAxis . hasNames && ( this . x = r . xAxis . nameToX ( this ) ) , void 0 === this . x && r && ( this . x = void 0 === n ? r . autoIncrement ( this ) : n ) , this } , optionsToObject : function ( t ) { var e = { } , n = this . series , i = n . options . keys , r = i || n . pointArrayMap || [ "y" ] , o = r . length , a = 0 , u = 0 ; if ( l ( t ) || null === t ) e [ r [ 0 ] ] = t ; else if ( s ( t ) ) for ( ! i && t . length > o && ( n = typeof t [ 0 ] , "string" === n ? e . name = t [ 0 ] : "number" === n && ( e . x = t [ 0 ] ) , a ++ ) ; u < o ; ) i && void 0 === t [ a ] || ( e [ r [ u ] ] = t [ a ] ) , a ++ , u ++ ; else "object" == typeof t && ( e = t , t . dataLabels && ( n . _hasPointLabels = ! 0 ) , t . marker && ( n . _hasPointMarkers = ! 0 ) ) ; return e } , getClassName : function ( ) { return "highcharts-point" + ( this . selected ? " highcharts-point-select" : "" ) + ( this . negative ? " highcharts-negative" : "" ) + ( this . isNull ? " highcharts-null-point" : "" ) + ( void 0 !== this . colorIndex ? " highcharts-color-" + this . colorIndex : "" ) + ( this . options . className ? " " + this . options . className : "" ) + ( this . zone && this . zone . className ? " " + this . zone . className . replace ( "highcharts-negative" , "" ) : "" ) } , getZone : function ( ) { var t , e = this . series , n = e . zones , e = e . zoneAxis || "y" , i = 0 ; for ( t = n [ i ] ; this [ e ] >= t . value ; ) t = n [ ++ i ] ; return t && t . color && ! this . options . color && ( this . color = t . color ) , t } , destroy : function ( ) { var t , e = this . series . chart , n = e . hoverPoints ; e . pointCount -- , n && ( this . setState ( ) , r ( n , this ) , n . length || ( e . hoverPoints = null ) ) , this === e . hoverPoint && this . onMouseOut ( ) , ( this . graphic || this . dataLabel ) && ( c ( this ) , this . destroyElements ( ) ) , this . legendItem && e . legend . destroyItem ( this ) ; for ( t in this ) this [ t ] = null } , destroyElements : function ( ) { for ( var t , e = [ "graphic" , "dataLabel" , "dataLabelUpper" , "connector" , "shadowGroup" ] , n = 6 ; n -- ; ) t = e [ n ] , this [ t ] && ( this [ t ] = this [ t ] . destroy ( ) ) } , getLabelConfig : function ( ) { return { x : this . category , y : this . y , color : this . color , colorIndex : this . colorIndex , key : this . name || this . category , series : this . series , point : this , percentage : this . percentage , total : this . total || this . stackTotal } } , tooltipFormatter : function ( t ) { var e = this . series , i = e . tooltipOptions , r = u ( i . valueDecimals , "" ) , o = i . valuePrefix || "" , s = i . valueSuffix || "" ; return n ( e . pointArrayMap || [ "y" ] , function ( e ) { e = "{point." + e , ( o || s ) && ( t = t . replace ( e + "}" , o + e + "}" + s ) ) , t = t . replace ( e + "}" , e + ":,." + r + "f}" ) } ) , a ( t , { point : this , series : this . series } ) } , firePointEvent : function ( t , e , n ) { var i = this , r = this . series . options ; ( r . point . events [ t ] || i . options && i . options . events && i . options . events [ t ] ) && this . importEvents ( ) , "click" === t && r . allowPointSelect && ( n = function ( t ) { i . select && i . select ( null , t . ctrlKey || t . metaKey || t . shiftKey ) } ) , o ( this , t , e , n ) } , visible : ! 0 } } ( t ) , function ( t ) { var e = t . addEvent , n = t . animObject , i = t . arrayMax , r = t . arrayMin , o = t . correctFloat , a = t . Date , s = t . defaultOptions , l = t . defaultPlotOptions , u = t . defined , c = t . each , h = t . erase , d = t . extend , f = t . fireEvent , p = t . grep , g = t . isArray , m = t . isNumber , v = t . isString , y = t . merge , b = t . objectEach , x = t . pick , w = t . removeEvent , S = t . splat , _ = t . SVGElement , k = t . syncTimeout , C = t . win ; t . Series = t . seriesType ( "line" , null , { lineWidth : 2 , allowPointSelect : ! 1 , showCheckbox : ! 1 , animation : { duration : 1e3 } , events : { } , marker : { lineWidth : 0 , lineColor : "#ffffff" , radius : 4 , states : { hover : { animation : { duration : 50 } , enabled : ! 0 , radiusPlus : 2 , lineWidthPlus : 1 } , select : { fillColor : "#cccccc" , lineColor : "#000000" , lineWidth : 2 } } } , point : { events : { } } , dataLabels : { align : "center" , formatter : function ( ) { return null === this . y ? "" : t . numberFormat ( this . y , - 1 ) } , style : { fontSize : "11px" , fontWeight : "bold" , color : "contrast" , textOutl
var o , a , s = [ ] , l = [ ] , u = this . xAxis , c = this . yAxis , h = c . stacks [ this . stackKey ] , d = { } , f = this . index , p = c . series , g = p . length , m = r ( c . options . reversedStacks , ! 0 ) ? 1 : - 1 ; if ( e = e || this . points , this . options . stacking ) { for ( a = 0 ; a < e . length ; a ++ ) d [ e [ a ] . x ] = e [ a ] ; t . objectEach ( h , function ( t , e ) { null !== t . total && l . push ( e ) } ) , l . sort ( function ( t , e ) { return t - e } ) , o = i ( p , function ( ) { return this . visible } ) , n ( l , function ( t , e ) { var i , r , p = 0 ; if ( d [ t ] && ! d [ t ] . isNull ) s . push ( d [ t ] ) , n ( [ - 1 , 1 ] , function ( n ) { var s = 1 === n ? "rightNull" : "leftNull" , u = 0 , c = h [ l [ e + n ] ] ; if ( c ) for ( a = f ; 0 <= a && a < g ; ) i = c . points [ a ] , i || ( a === f ? d [ t ] [ s ] = ! 0 : o [ a ] && ( r = h [ t ] . points [ a ] ) && ( u -= r [ 1 ] - r [ 0 ] ) ) , a += m ; d [ t ] [ 1 === n ? "rightCliff" : "leftCliff" ] = u } ) ; else { for ( a = f ; 0 <= a && a < g ; ) { if ( i = h [ t ] . points [ a ] ) { p = i [ 1 ] ; break } a += m } p = c . translate ( p , 0 , 1 , 0 , 1 ) , s . push ( { isNull : ! 0 , plotX : u . translate ( t , 0 , 0 , 0 , 1 ) , x : t , plotY : p , yBottom : p } ) } } ) } return s } , getGraphPath : function ( t ) { var e , n , i , a , s = o . prototype . getGraphPath , l = this . options , u = l . stacking , c = this . yAxis , h = [ ] , d = [ ] , f = this . index , p = c . stacks [ this . stackKey ] , g = l . threshold , m = c . getThreshold ( l . threshold ) , l = l . connectNulls || "percent" === u , v = function ( e , n , r ) { var o = t [ e ] ; e = u && p [ o . x ] . points [ f ] ; var a = o [ r + "Null" ] || 0 ; r = o [ r + "Cliff" ] || 0 ; var s , l , o = ! 0 ; r || a ? ( s = ( a ? e [ 0 ] : e [ 1 ] ) + r , l = e [ 0 ] + r , o = ! ! a ) : ! u && t [ n ] && t [ n ] . isNull && ( s = l = g ) , void 0 !== s && ( d . push ( { plotX : i , plotY : null === s ? m : c . getThreshold ( s ) , isNull : o , isCliff : ! 0 } ) , h . push ( { plotX : i , plotY : null === l ? m : c . getThreshold ( l ) , doCurve : ! 1 } ) ) } ; for ( t = t || this . points , u && ( t = this . getStackPoints ( t ) ) , e = 0 ; e < t . length ; e ++ ) n = t [ e ] . isNull , i = r ( t [ e ] . rectPlotX , t [ e ] . plotX ) , a = r ( t [ e ] . yBottom , m ) , ( ! n || l ) && ( l || v ( e , e - 1 , "left" ) , n && ! u && l || ( d . push ( t [ e ] ) , h . push ( { x : e , plotX : i , plotY : a } ) ) , l || v ( e , e + 1 , "right" ) ) ; return e = s . call ( this , d , ! 0 , ! 0 ) , h . reversed = ! 0 , n = s . call ( this , h , ! 0 , ! 0 ) , n . length && ( n [ 0 ] = "L" ) , n = e . concat ( n ) , s = s . call ( this , d , ! 1 , l ) , n . xMap = e . xMap , this . areaPath = n , s } , drawGraph : function ( ) { this . areaPath = [ ] , o . prototype . drawGraph . apply ( this ) ; var t = this , i = this . areaPath , a = this . options , s = [ [ "area" , "highcharts-area" , this . color , a . fillColor ] ] ; n ( this . zones , function ( e , n ) { s . push ( [ "zone-area-" + n , "highcharts-area highcharts-zone-area-" + n + " " + e . className , e . color || t . color , e . fillColor || a . fillColor ] ) } ) , n ( s , function ( n ) { var o = n [ 0 ] , s = t [ o ] ; s ? ( s . endX = i . xMap , s . animate ( { d : i } ) ) : ( s = t [ o ] = t . chart . renderer . path ( i ) . addClass ( n [ 1 ] ) . attr ( { fill : r ( n [ 3 ] , e ( n [ 2 ] ) . setOpacity ( r ( a . fillOpacity , . 75 ) ) . get ( ) ) , zIndex : 0 } ) . add ( t . group ) , s . isArea = ! 0 ) , s . startX = i . xMap , s . shiftUnit = a . step ? 2 : 1 } ) } , drawLegendSymbol : t . LegendSymbolMixin . drawRectangle } ) } ( t ) , function ( t ) { var e = t . pick ; ( t = t . seriesType ) ( "spline" , "line" , { } , { getPointSpline : function ( t , n , i ) { var r = n . plotX , o = n . plotY , a = t [ i - 1 ] ; i = t [ i + 1 ] ; var s , l , u , c ; if ( a && ! a . isNull && ! 1 !== a . doCurve && ! n . isCliff && i && ! i . isNull && ! 1 !== i . doCurve && ! n . isCliff ) { t = a . plotY , u = i . plotX , i = i . plotY ; var h = 0 ; s = ( 1.5 * r + a . plotX ) / 2.5 , l = ( 1.5 * o + t ) / 2.5 , u = ( 1.5 * r + u ) / 2.5 , c = ( 1.5 * o + i ) / 2.5 , u !== s && ( h = ( c - l ) * ( u - r ) / ( u - s ) + o - c ) , l += h , c += h , l > t && l > o ? ( l = Math . max ( t , o ) , c = 2 * o - l ) : l < t && l < o && ( l = Math . min ( t , o ) , c = 2 * o - l ) , c > i && c > o ? ( c = Math . max ( i , o ) , l = 2 * o - c ) : c < i && c < o && ( c = Math . min ( i , o ) , l = 2 * o - c ) , n . rightContX = u , n . rightContY = c } return n = [ "C" , e ( a . rightContX , a . plotX ) , e ( a . rightContY , a . plotY ) , e ( s , r ) , e ( l , o ) , r , o ] , a . rightContX = a . rightContY = null , n } } ) } ( t ) , function ( t ) { var e = t . seriesTypes . area . prototype ; ( 0 , t . seriesType ) ( "areaspline" , "spline" , t . defaultPlotOptions . area , { getStackPoints : e . getStackPoints , getGraphPath : e . getGraphPath , drawGraph : e . drawGraph , drawLegendSymbol : t . LegendSymbolMixin . drawRectangle } ) } ( t ) , function ( t ) { var e = t . animObject , n = t . color , i = t . each , r = t . extend , o = t . isNumber , a = t . merge , s = t . pick , l = t . Series , u = t . seriesType , c = t . svg ; u ( "column" , "line" , { borderRadius : 0 , crisp : ! 0 , groupPadding : . 2 , marker : null , pointPadding : . 1 , minPointLength : 0 , cropThreshold : 50 , pointRange : null , states : { hover : { halo : ! 1 , brightness : . 1 , shadow : ! 1 } , select : { color : "#cccccc" , borderColor : "#000000" , shadow : ! 1 } } , dataLabels : { align : null , verticalAlign : null , y : null } , softThreshold : ! 1 , startFromThreshold : ! 0 , stickyTracking : ! 1 , tooltip : { distance : 6 } , threshold : 0 , borderColor : "#ffffff" } , { cropShoulder : 0 , directTouch : ! 0 , trackerGroups : [ "group" , "dataLabelsGroup" ] , negStacks : ! 0 , init : function ( ) { l . prototype . init . apply ( this , arguments ) ; var t = this , e = t . chart ; e . hasRendered && i ( e . series , function ( e ) { e . type === t . type && ( e . is
; var a = t . merge . apply ( 0 , t . map ( r , function ( e ) { return t . find ( i . rules , function ( t ) { return t . _id === e } ) . chartOptions } ) ) , r = r . toString ( ) || void 0 ; r !== ( o && o . ruleIds ) && ( o && this . update ( o . undoOptions , e ) , r ? ( this . currentResponsive = { ruleIds : r , mergedOptions : a , undoOptions : this . currentOptions ( a ) } , this . update ( a , e ) ) : this . currentResponsive = void 0 ) } , e . prototype . matchResponsiveRule = function ( t , e ) { var n = t . condition ; ( n . callback || function ( ) { return this . chartWidth <= a ( n . maxWidth , Number . MAX _VALUE ) && this . chartHeight <= a ( n . maxHeight , Number . MAX _VALUE ) && this . chartWidth >= a ( n . minWidth , 0 ) && this . chartHeight >= a ( n . minHeight , 0 ) } ) . call ( this ) && e . push ( t . _id ) } , e . prototype . currentOptions = function ( e ) { function n ( e , a , l , u ) { var c ; t . objectEach ( e , function ( t , h ) { if ( ! u && - 1 < i ( h , [ "series" , "xAxis" , "yAxis" ] ) ) for ( e [ h ] = s ( e [ h ] ) , l [ h ] = [ ] , c = 0 ; c < e [ h ] . length ; c ++ ) a [ h ] [ c ] && ( l [ h ] [ c ] = { } , n ( t [ c ] , a [ h ] [ c ] , l [ h ] [ c ] , u + 1 ) ) ; else o ( t ) ? ( l [ h ] = r ( t ) ? [ ] : { } , n ( t , a [ h ] || { } , l [ h ] , u + 1 ) ) : l [ h ] = a [ h ] || null } ) } var a = { } ; return n ( e , this . options , a , 0 ) , a } } ( t ) , t } ) , function ( t , e ) { "use strict" ; var n = "model" , i = "name" , r = "type" , o = "vendor" , a = "version" , s = "mobile" , l = "tablet" , u = { extend : function ( t , e ) { var n = { } ; for ( var i in t ) e [ i ] && e [ i ] . length % 2 == 0 ? n [ i ] = e [ i ] . concat ( t [ i ] ) : n [ i ] = t [ i ] ; return n } , has : function ( t , e ) { return "string" == typeof t && - 1 !== e . toLowerCase ( ) . indexOf ( t . toLowerCase ( ) ) } , lowerize : function ( t ) { return t . toLowerCase ( ) } , major : function ( t ) { return "string" == typeof t ? t . replace ( /[^\d\.]/g , "" ) . split ( "." ) [ 0 ] : void 0 } , trim : function ( t ) { return t . replace ( /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g , "" ) } } , c = { rgx : function ( t , e ) { for ( var n , i , r , o , a , s , l = 0 ; l < e . length && ! a ; ) { var u = e [ l ] , c = e [ l + 1 ] ; for ( n = i = 0 ; n < u . length && ! a ; ) if ( a = u [ n ++ ] . exec ( t ) ) for ( r = 0 ; r < c . length ; r ++ ) s = a [ ++ i ] , o = c [ r ] , "object" == typeof o && o . length > 0 ? 2 == o . length ? "function" == typeof o [ 1 ] ? this [ o [ 0 ] ] = o [ 1 ] . call ( this , s ) : this [ o [ 0 ] ] = o [ 1 ] : 3 == o . length ? "function" != typeof o [ 1 ] || o [ 1 ] . exec && o [ 1 ] . test ? this [ o [ 0 ] ] = s ? s . replace ( o [ 1 ] , o [ 2 ] ) : void 0 : this [ o [ 0 ] ] = s ? o [ 1 ] . call ( this , s , o [ 2 ] ) : void 0 : 4 == o . length && ( this [ o [ 0 ] ] = s ? o [ 3 ] . call ( this , s . replace ( o [ 1 ] , o [ 2 ] ) ) : void 0 ) : this [ o ] = s || void 0 ; l += 2 } } , str : function ( t , e ) { for ( var n in e ) if ( "object" == typeof e [ n ] && e [ n ] . length > 0 ) { for ( var i = 0 ; i < e [ n ] . length ; i ++ ) if ( u . has ( e [ n ] [ i ] , t ) ) return "?" === n ? void 0 : n } else if ( u . has ( e [ n ] , t ) ) return "?" === n ? void 0 : n ; return t } } , h = { browser : { oldsafari : { version : { "1.0" : "/8" , 1.2 : "/1" , 1.3 : "/3" , "2.0" : "/412" , "2.0.2" : "/416" , "2.0.3" : "/417" , "2.0.4" : "/419" , "?" : "/" } } } , device : { amazon : { model : { "Fire Phone" : [ "SD" , "KF" ] } } , sprint : { model : { "Evo Shift 4G" : "7373KT" } , vendor : { HTC : "APA" , Sprint : "Sprint" } } } , os : { windows : { version : { ME : "4.90" , "NT 3.11" : "NT3.51" , "NT 4.0" : "NT4.0" , 2e3 : "NT 5.0" , XP : [ "NT 5.1" , "NT 5.2" ] , Vista : "NT 6.0" , 7 : "NT 6.1" , 8 : "NT 6.2" , 8.1 : "NT 6.3" , 10 : [ "NT 6.4" , "NT 10.0" ] , RT : "ARM" } } } } , d = { browser : [ [ /(opera\smini)\/([\w\.-]+)/i , /(opera\s[mobiletab]+).+version\/([\w\.-]+)/i , /(opera).+version\/([\w\.]+)/i , /(opera)[\/\s]+([\w\.]+)/i ] , [ i , a ] , [ /(opios)[\/\s]+([\w\.]+)/i ] , [ [ i , "Opera Mini" ] , a ] , [ /\s(opr)\/([\w\.]+)/i ] , [ [ i , "Opera" ] , a ] , [ /(kindle)\/([\w\.]+)/i , /(lunascape|maxthon|netfront|jasmine|blazer)[\/\s]?([\w\.]*)/i , /(avant\s|iemobile|slim|baidu)(?:browser)?[\/\s]?([\w\.]*)/i , /(?:ms|\()(ie)\s([\w\.]+)/i , /(rekonq)\/([\w\.]*)/i , /(chromium|flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark)\/([\w\.-]+)/i ] , [ i , a ] , [ /(trident).+rv[:\s]([\w\.]+).+like\sgecko/i ] , [ [ i , "IE" ] , a ] , [ /(edge|edgios|edgea)\/((\d+)?[\w\.]+)/i ] , [ [ i , "Edge" ] , a ] , [ /(yabrowser)\/([\w\.]+)/i ] , [ [ i , "Yandex" ] , a ] , [ /(puffin)\/([\w\.]+)/i ] , [ [ i , "Puffin" ] , a ] , [ /((?:[\s\/])uc?\s?browser|(?:juc.+)ucweb)[\/\s]?([\w\.]+)/i ] , [ [ i , "UCBrowser" ] , a ] , [ /(comodo_dragon)\/([\w\.]+)/i ] , [ [ i , /_/g , " " ] , a ] , [ /(micromessenger)\/([\w\.]+)/i ] , [ [ i , "WeChat" ] , a ] , [ /(qqbrowserlite)\/([\w\.]+)/i ] , [ i , a ] , [ /(QQ)\/([\d\.]+)/i ] , [ i , a ] , [ /m?(qqbrowser)[\/\s]?([\w\.]+)/i ] , [ i , a ] , [ /(BIDUBrowser)[\/\s]?([\w\.]+)/i ] , [ i , a ] , [ /(2345Explorer)[\/\s]?([\w\.]+)/i ] , [ i , a ] , [ /(MetaSr)[\/\s]?([\w\.]+)/i ] , [ i ] , [ /(LBBROWSER)/i ] , [ i ] , [ /xiaomi\/miuibrowser\/([\w\.]+)/i ] , [ a , [ i , "MIUI Browser" ] ] , [ /;fbav\/([\w\.]+);/i ] , [ a , [ i , "Facebook" ] ] , [ /headlesschrome(?:\/([\w\.]+)|\s)/i ] , [ a , [ i , "Chrome Headless" ] ] , [ /\swv\).+(chrome)\/([\w\.]+)/i ] , [ [ i , /(.+)/ , "$1 WebView" ] , a ] , [