function BigInteger ( e , t , n ) { null != e && ( "number" == typeof e ? this . fromNumber ( e , t , n ) : null == t && "string" != typeof e ? this . fromString ( e , 256 ) : this . fromString ( e , t ) ) } function nbi ( ) { return new BigInteger ( null ) } function am1 ( e , t , n , i , a , r ) { for ( ; -- r >= 0 ; ) { var o = t * this [ e ++ ] + n [ i ] + a ; a = Math . floor ( o / 67108864 ) , n [ i ++ ] = 67108863 & o } return a } function am2 ( e , t , n , i , a , r ) { for ( var o = 32767 & t , s = t >> 15 ; -- r >= 0 ; ) { var l = 32767 & this [ e ] , c = this [ e ++ ] >> 15 , d = s * l + c * o ; l = o * l + ( ( 32767 & d ) << 15 ) + n [ i ] + ( 1073741823 & a ) , a = ( l >>> 30 ) + ( d >>> 15 ) + s * c + ( a >>> 30 ) , n [ i ++ ] = 1073741823 & l } return a } function am3 ( e , t , n , i , a , r ) { for ( var o = 16383 & t , s = t >> 14 ; -- r >= 0 ; ) { var l = 16383 & this [ e ] , c = this [ e ++ ] >> 14 , d = s * l + c * o ; l = o * l + ( ( 16383 & d ) << 14 ) + n [ i ] + a , a = ( l >> 28 ) + ( d >> 14 ) + s * c , n [ i ++ ] = 268435455 & l } return a } function int2char ( e ) { return BI _RM . charAt ( e ) } function intAt ( e , t ) { var n = BI _RC [ e . charCodeAt ( t ) ] ; return null == n ? - 1 : n } function bnpCopyTo ( e ) { for ( var t = this . t - 1 ; t >= 0 ; -- t ) e [ t ] = this [ t ] ; e . t = this . t , e . s = this . s } function bnpFromInt ( e ) { this . t = 1 , this . s = e < 0 ? - 1 : 0 , e > 0 ? this [ 0 ] = e : e < - 1 ? this [ 0 ] = e + this . DV : this . t = 0 } function nbv ( e ) { var t = nbi ( ) ; return t . fromInt ( e ) , t } function bnpFromString ( e , t , n ) { var i ; if ( 16 == t ) i = 4 ; else if ( 8 == t ) i = 3 ; else if ( 256 == t ) i = 8 ; else if ( 2 == t ) i = 1 ; else if ( 32 == t ) i = 5 ; else { if ( 4 != t ) return void this . fromRadix ( e , t ) ; i = 2 } this . t = 0 , this . s = 0 ; for ( var a = e . length , r = ! 1 , o = 0 ; -- a >= 0 ; ) { var s = 8 == i ? 255 & e [ a ] : intAt ( e , a ) ; s < 0 ? "-" == e . charAt ( a ) && ( r = ! 0 ) : ( r = ! 1 , 0 == o ? this [ this . t ++ ] = s : o + i > this . DB ? ( this [ this . t - 1 ] |= ( s & ( 1 << this . DB - o ) - 1 ) << o , this [ this . t ++ ] = s >> this . DB - o ) : this [ this . t - 1 ] |= s << o , o += i , o >= this . DB && ( o -= this . DB ) ) } 8 == i && 0 != ( 128 & e [ 0 ] ) && n && ( this . s = - 1 , o > 0 && ( this [ this . t - 1 ] |= ( 1 << this . DB - o ) - 1 << o ) ) , this . clamp ( ) , r && BigInteger . ZERO . subTo ( this , this ) } function bnpClamp ( ) { for ( var e = this . s & this . DM ; this . t > 0 && this [ this . t - 1 ] == e ; ) -- this . t } function bnToString ( e ) { if ( this . s < 0 ) return "-" + this . negate ( ) . toString ( e ) ; var t ; if ( 16 == e ) t = 4 ; else if ( 8 == e ) t = 3 ; else if ( 2 == e ) t = 1 ; else if ( 32 == e ) t = 5 ; else { if ( 4 != e ) return this . toRadix ( e ) ; t = 2 } var n , i = ( 1 << t ) - 1 , a = ! 1 , r = "" , o = this . t , s = this . DB - o * this . DB % t ; if ( o -- > 0 ) for ( s < this . DB && ( n = this [ o ] >> s ) > 0 && ( a = ! 0 , r = int2char ( n ) ) ; o >= 0 ; ) s < t ? ( n = ( this [ o ] & ( 1 << s ) - 1 ) << t - s , n |= this [ -- o ] >> ( s += this . DB - t ) ) : ( n = this [ o ] >> ( s -= t ) & i , s <= 0 && ( s += this . DB , -- o ) ) , n > 0 && ( a = ! 0 ) , a && ( r += int2char ( n ) ) ; return a ? r : "0" } function bnNegate ( ) { var e = nbi ( ) ; return BigInteger . ZERO . subTo ( this , e ) , e } function bnAbs ( ) { return this . s < 0 ? this . negate ( ) : this } function bnCompareTo ( e ) { var t = this . s - e . s ; if ( 0 != t ) return t ; var n = this . t ; if ( t = n - e . t , 0 != t ) return this . s < 0 ? - t : t ; for ( ; -- n >= 0 ; ) if ( 0 != ( t = this [ n ] - e [ n ] ) ) return t ; return 0 } function nbits ( e ) { var t , n = 1 ; return 0 != ( t = e >>> 16 ) && ( e = t , n += 16 ) , 0 != ( t = e >> 8 ) && ( e = t , n += 8 ) , 0 != ( t = e >> 4 ) && ( e = t , n += 4 ) , 0 != ( t = e >> 2 ) && ( e = t , n += 2 ) , 0 != ( t = e >> 1 ) && ( e = t , n += 1 ) , n } function bnBitLength ( ) { return this . t <= 0 ? 0 : this . DB * ( this . t - 1 ) + nbits ( this [ this . t - 1 ] ^ this . s & this . DM ) } function bnpDLShiftTo ( e , t ) { var n ; for ( n = this . t - 1 ; n >= 0 ; -- n ) t [ n + e ] = this [ n ] ; for ( n = e - 1 ; n >= 0 ; -- n ) t [ n ] = 0 ; t . t = this . t + e , t . s = this . s } function bnpDRShiftTo ( e , t ) { for ( var n = e ; n < this . t ; ++ n ) t [ n - e ] = this [ n ] ; t . t = Math . max ( this . t - e , 0 ) , t . s = this . s } function bnpLShiftTo ( e , t ) { var n , i = e % this . DB , a = this . DB - i , r = ( 1 << a ) - 1 , o = Math . floor ( e / this . DB ) , s = this . s << i & this . DM ; for ( n = this . t - 1 ; n >= 0 ; -- n ) t [ n + o + 1 ] = this [ n ] >> a | s , s = ( this [ n ] & r ) << i ; for ( n = o - 1 ; n >= 0 ; -- n ) t [ n ] = 0 ; t [ o ] = s , t . t = this . t + o + 1 , t . s = this . s , t . clamp ( ) } function bnpRShiftTo ( e , t ) { t . s = this . s ; var n = Math . floor ( e / this . DB ) ; if ( n >= this . t ) return void ( t . t = 0 ) ; var i = e % this . DB , a = this . DB - i , r = ( 1 << i ) - 1 ; t [ 0 ] = this [ n ] >> i ; for ( var o = n + 1 ; o < this . t ; ++ o ) t [ o - n - 1 ] |= ( this [ o ] & r ) << a , t [ o - n ] = this [ o ] >> i ; i > 0 && ( t [ this . t - n - 1 ] |= ( this . s & r ) << a ) , t . t = this . t - n , t . clamp ( ) } function bnpSubTo ( e , t ) { for ( var n = 0 , i = 0 , a = Math . min ( e . t , this . t ) ; n < a ; ) i += this [ n ] - e [ n ] , t [ n ++ ] = i & this . DM , i >>= this . DB ; if ( e . t < this . t ) { for ( i -= e . s ; n < this . t ; ) i += this [ n ] , t [ n ++ ] = i & this . DM , i >>= this . DB ; i += this . s } else { for ( i += this . s ; n < e . t ; ) i -= e [ n ] , t [ n ++ ] = i & this . DM , i >>= this . DB ; i -= e . s } t . s = i < 0 ? - 1 : 0 , i < - 1 ? t [ n ++ ] = this . DV + i : i > 0 && ( t [ n ++ ] = i ) , t . t = n , t . clamp ( ) } function bnpMultiplyTo ( e , t ) { var n = this . abs ( ) , i = e . abs ( ) , a = n . t ; for ( t . t = a + i . t ; -- a >= 0 ; ) t [ a ] = 0 ; for ( a = 0 ; a < i . t ; ++ a ) t [ a + n . t ] = n . am ( 0 , i [ a ] , t , a , 0 , n . t ) ; t . s = 0 , t . clamp ( ) , this . s != e . s && BigInteger . ZERO . subTo ( t , t ) } function bnpSquareTo ( e ) { for ( var t = this . abs ( ) , n = e . t = 2 * t . t ; -- n >= 0 ; ) e [ n ] = 0 ; for ( n = 0 ; n < t . t - 1 ; ++ n ) { var i = t .
return ! 1 } function cancelEvent ( e ) { return e = e || window . event , e && ( e = e . originalEvent || e , e . stopPropagation && e . stopPropagation ( ) , e . preventDefault && e . preventDefault ( ) , e . returnValue = ! 1 , e . cancelBubble = ! 0 ) , ! 1 } function hasOnclick ( e ) { if ( e . onclick || e . getAttribute ( "ng-click" ) ) return ! 0 ; var t = $ . _data ( e , "events" ) ; return ! ( ! t || ! t . click && ! t . mousedown ) } function getScrollWidth ( ) { var e = $ ( "<div>" ) . css ( { position : "absolute" , width : 100 , height : 100 , overflow : "scroll" , top : - 9999 } ) . appendTo ( $ ( document . body ) ) , t = e [ 0 ] . offsetWidth - e [ 0 ] . clientWidth ; return e . remove ( ) , t } function onCtrlEnter ( e , t ) { $ ( e ) . on ( "keydown" , function ( e ) { if ( 13 == e . keyCode && ( e . ctrlKey || e . metaKey ) ) return t ( ) , cancelEvent ( e ) } ) } function setFieldSelection ( e , t , n ) { e = $ ( e ) [ 0 ] ; try { if ( e . focus ( ) , void 0 !== t && t !== ! 1 || ( t = e . value . length ) , void 0 !== n && n !== ! 1 || ( n = t ) , e . createTextRange ) { var i = e . createTextRange ( ) ; i . collapse ( ! 0 ) , i . moveEnd ( "character" , n ) , i . moveStart ( "character" , t ) , i . select ( ) } else e . setSelectionRange && e . setSelectionRange ( t , n ) } catch ( a ) { } } function getFieldSelection ( e ) { if ( e . selectionStart ) return e . selectionStart ; if ( ! document . selection ) return 0 ; var t = " " , n = document . selection . createRange ( ) , i = n . text , a = n . duplicate ( ) , r = 0 ; try { a . moveToElementText ( e ) } catch ( o ) { return 0 } return n . text = i + t , r = a . text . indexOf ( t ) , n . moveStart ( "character" , - 1 ) , n . text = "" , r } function getRichValue ( e ) { if ( ! e ) return "" ; var t = [ ] , n = [ ] ; getRichElementValue ( e , t , n ) , n . length && t . push ( n . join ( "" ) ) ; var i = t . join ( "\n" ) ; return i = i . replace ( /\u00A0/g , " " ) } function getRichValueWithCaret ( e ) { if ( ! e ) return [ ] ; var t , n , i = [ ] , a = [ ] , r = ! ! window . getSelection && window . getSelection ( ) ; if ( r && r . rangeCount ) { var o = r . getRangeAt ( 0 ) ; o . startContainer && o . startContainer == o . endContainer && o . startOffset == o . endOffset && ( t = o . startContainer , n = o . startOffset ) } getRichElementValue ( e , i , a , t , n ) , a . length && i . push ( a . join ( "" ) ) ; var s = i . join ( "\n" ) , l = s . indexOf ( " " ) ; return l != - 1 && ( s = s . substr ( 0 , l ) + s . substr ( l + 1 ) ) , s = s . replace ( /\u00A0/g , " " ) , [ s , l ] } function getRichElementValue ( e , t , n , i , a ) { if ( 3 != e . nodeType ) { if ( 1 == e . nodeType ) { var r , o = i === e , s = "DIV" == e . tagName || "P" == e . tagName ; s && n . length || "BR" == e . tagName ? ( t . push ( n . join ( "" ) ) , n . splice ( 0 , n . length ) ) : "IMG" == e . tagName && e . alt && n . push ( e . alt ) , o && ! a && n . push ( " " ) ; for ( var r = e . firstChild ; r ; ) getRichElementValue ( r , t , n , i , a ) , r = r . nextSibling ; o && a && n . push ( " " ) , s && n . length && ( t . push ( n . join ( "" ) ) , n . splice ( 0 , n . length ) ) } } else if ( i === e ) { var l = e . nodeValue ; n . push ( l . substr ( 0 , a ) + " " + l . substr ( a ) ) } else n . push ( e . nodeValue ) } function setRichFocus ( e , t , n ) { if ( e . focus ( ) , ! t || t . parentNode != e || t . nextSibling || n || ( e . removeChild ( t ) , t = null ) , window . getSelection && document . createRange ) { var i = document . createRange ( ) ; t ? i . selectNode ( t ) : i . selectNodeContents ( e ) , n || i . collapse ( ! 1 ) ; var a = window . getSelection ( ) ; a . removeAllRanges ( ) , a . addRange ( i ) } else if ( void 0 !== document . body . createTextRange ) { var r = document . body . createTextRange ( ) ; r . moveToElementText ( t || e ) , n || r . collapse ( ! 1 ) , r . select ( ) } } function getSelectedText ( ) { var e = ( window . getSelection && window . getSelection ( ) || document . getSelection && document . getSelection ( ) || document . selection && document . selection . createRange ( ) . text || "" ) . toString ( ) . replace ( /^\s+|\s+$/g , "" ) ; return e } function scrollToNode ( e , t , n ) { var i = t . offsetTop - 15 , a = t . offsetHeight + 30 , r = e . scrollTop , o = e . clientHeight ; r > i ? ( e . scrollTop = i , $ ( n ) . nanoScroller ( { flash : ! 0 } ) ) : r < i + a - o && ( e . scrollTop = i + a - o , $ ( n ) . nanoScroller ( { flash : ! 0 } ) ) } function onContentLoaded ( e ) { e = onAnimationFrameCallback ( e ) , setZeroTimeout ( e ) } function tsNow ( e ) { var t = + new Date + ( window . tsOffset || 0 ) ; return e ? Math . floor ( t / 1e3 ) : t } function safeReplaceObject ( e , t ) { for ( var n in e ) t . hasOwnProperty ( n ) || "$" == n . charAt ( 0 ) || delete e [ n ] ; for ( var n in t ) t . hasOwnProperty ( n ) && ( e [ n ] = t [ n ] ) } function listMergeSorted ( e , t ) { e = e || [ ] , t = t || [ ] ; for ( var n = angular . copy ( e ) , i = e . length ? e [ e . length - 1 ] : 4294967295 , a = 0 ; a < t . length ; a ++ ) t [ a ] < i && n . push ( t [ a ] ) ; return n } function listUniqSorted ( e ) { e = e || [ ] ; for ( var t = [ ] , n = ! 1 , i = 0 ; i < e . length ; i ++ ) e [ i ] !== n && t . push ( e [ i ] ) , n = e [ i ] ; return t } function templateUrl ( e ) { var t = { confirm _modal : "desktop" , error _modal : "desktop" , media _modal _layout : "desktop" , slider : "desktop" , reply _message : "desktop" , full _round : "desktop" , message _body : "desktop" , message _media : "desktop" , message _attach _game : "desktop" , forward
i } , inArray : function ( e , t , n ) { var i ; if ( t ) { if ( Z ) return Z . call ( t , e , n ) ; for ( i = t . length , n = n ? 0 > n ? Math . max ( 0 , i + n ) : n : 0 ; i > n ; n ++ ) if ( n in t && t [ n ] === e ) return n } return - 1 } , merge : function ( e , t ) { for ( var n = + t . length , i = 0 , a = e . length ; n > i ; ) e [ a ++ ] = t [ i ++ ] ; if ( n !== n ) for ( ; void 0 !== t [ i ] ; ) e [ a ++ ] = t [ i ++ ] ; return e . length = a , e } , grep : function ( e , t , n ) { for ( var i , a = [ ] , r = 0 , o = e . length , s = ! n ; o > r ; r ++ ) i = ! t ( e [ r ] , r ) , i !== s && a . push ( e [ r ] ) ; return a } , map : function ( e , t , i ) { var a , r = 0 , o = e . length , s = n ( e ) , l = [ ] ; if ( s ) for ( ; o > r ; r ++ ) a = t ( e [ r ] , r , i ) , null != a && l . push ( a ) ; else for ( r in e ) a = t ( e [ r ] , r , i ) , null != a && l . push ( a ) ; return X . apply ( [ ] , l ) } , guid : 1 , proxy : function ( e , t ) { var n , i , a ; return "string" == typeof t && ( a = e [ t ] , t = e , e = a ) , ae . isFunction ( e ) ? ( n = Y . call ( arguments , 2 ) , i = function ( ) { return e . apply ( t || this , n . concat ( Y . call ( arguments ) ) ) } , i . guid = e . guid = e . guid || ae . guid ++ , i ) : void 0 } , now : function ( ) { return + new Date } , support : ne } ) , ae . each ( "Boolean Number String Function Array Date RegExp Object Error" . split ( " " ) , function ( e , t ) { Q [ "[object " + t + "]" ] = t . toLowerCase ( ) } ) ; var ce = function ( e ) { function t ( e , t , n , i ) { var a , r , o , s , l , c , u , f , m , h ; if ( ( t ? t . ownerDocument || t : B ) !== P && x ( t ) , t = t || P , n = n || [ ] , ! e || "string" != typeof e ) return n ; if ( 1 !== ( s = t . nodeType ) && 9 !== s ) return [ ] ; if ( R && ! i ) { if ( a = ve . exec ( e ) ) if ( o = a [ 1 ] ) { if ( 9 === s ) { if ( r = t . getElementById ( o ) , ! r || ! r . parentNode ) return n ; if ( r . id === o ) return n . push ( r ) , n } else if ( t . ownerDocument && ( r = t . ownerDocument . getElementById ( o ) ) && F ( t , r ) && r . id === o ) return n . push ( r ) , n } else { if ( a [ 2 ] ) return Q . apply ( n , t . getElementsByTagName ( e ) ) , n ; if ( ( o = a [ 3 ] ) && w . getElementsByClassName && t . getElementsByClassName ) return Q . apply ( n , t . getElementsByClassName ( o ) ) , n } if ( w . qsa && ( ! O || ! O . test ( e ) ) ) { if ( f = u = U , m = t , h = 9 === s && e , 1 === s && "object" !== t . nodeName . toLowerCase ( ) ) { for ( c = A ( e ) , ( u = t . getAttribute ( "id" ) ) ? f = u . replace ( be , "\\$&" ) : t . setAttribute ( "id" , f ) , f = "[id='" + f + "'] " , l = c . length ; l -- ; ) c [ l ] = f + p ( c [ l ] ) ; m = ye . test ( e ) && d ( t . parentNode ) || t , h = c . join ( "," ) } if ( h ) try { return Q . apply ( n , m . querySelectorAll ( h ) ) , n } catch ( g ) { } finally { u || t . removeAttribute ( "id" ) } } } return C ( e . replace ( le , "$1" ) , t , n , i ) } function n ( ) { function e ( n , i ) { return t . push ( n + " " ) > k . cacheLength && delete e [ t . shift ( ) ] , e [ n + " " ] = i } var t = [ ] ; return e } function i ( e ) { return e [ U ] = ! 0 , e } function a ( e ) { var t = P . createElement ( "div" ) ; try { return ! ! e ( t ) } catch ( n ) { return ! 1 } finally { t . parentNode && t . parentNode . removeChild ( t ) , t = null } } function r ( e , t ) { for ( var n = e . split ( "|" ) , i = e . length ; i -- ; ) k . attrHandle [ n [ i ] ] = t } function o ( e , t ) { var n = t && e , i = n && 1 === e . nodeType && 1 === t . nodeType && ( ~ t . sourceIndex || K ) - ( ~ e . sourceIndex || K ) ; if ( i ) return i ; if ( n ) for ( ; n = n . nextSibling ; ) if ( n === t ) return - 1 ; return e ? 1 : - 1 } function s ( e ) { return function ( t ) { var n = t . nodeName . toLowerCase ( ) ; return "input" === n && t . type === e } } function l ( e ) { return function ( t ) { var n = t . nodeName . toLowerCase ( ) ; return ( "input" === n || "button" === n ) && t . type === e } } function c ( e ) { return i ( function ( t ) { return t = + t , i ( function ( n , i ) { for ( var a , r = e ( [ ] , n . length , t ) , o = r . length ; o -- ; ) n [ a = r [ o ] ] && ( n [ a ] = ! ( i [ a ] = n [ a ] ) ) } ) } ) } function d ( e ) { return e && typeof e . getElementsByTagName !== G && e } function u ( ) { } function p ( e ) { for ( var t = 0 , n = e . length , i = "" ; n > t ; t ++ ) i += e [ t ] . value ; return i } function f ( e , t , n ) { var i = t . dir , a = n && "parentNode" === i , r = j ++ ; return t . first ? function ( t , n , r ) { for ( ; t = t [ i ] ; ) if ( 1 === t . nodeType || a ) return e ( t , n , r ) } : function ( t , n , o ) { var s , l , c = [ H , r ] ; if ( o ) { for ( ; t = t [ i ] ; ) if ( ( 1 === t . nodeType || a ) && e ( t , n , o ) ) return ! 0 } else for ( ; t = t [ i ] ; ) if ( 1 === t . nodeType || a ) { if ( l = t [ U ] || ( t [ U ] = { } ) , ( s = l [ i ] ) && s [ 0 ] === H && s [ 1 ] === r ) return c [ 2 ] = s [ 2 ] ; if ( l [ i ] = c , c [ 2 ] = e ( t , n , o ) ) return ! 0 } } } function m ( e ) { return e . length > 1 ? function ( t , n , i ) { for ( var a = e . length ; a -- ; ) if ( ! e [ a ] ( t , n , i ) ) return ! 1 ; return ! 0 } : e [ 0 ] } function h ( e , n , i ) { for ( var a = 0 , r = n . length ; r > a ; a ++ ) t ( e , n [ a ] , i ) ; return i } function g ( e , t , n , i , a ) { for ( var r , o = [ ] , s = 0 , l = e . length , c = null != t ; l > s ; s ++ ) ( r = e [ s ] ) && ( ! n || n ( r , i , a ) ) && ( o . push ( r ) , c && t . push ( s ) ) ; return o } function _ ( e , t , n , a , r , o ) { return a && ! a [ U ] && ( a = _ ( a ) ) , r && ! r [ U ] && ( r = _ ( r , o ) ) , i ( function ( i , o , s , l ) { var c , d , u , p = [ ] , f = [ ] , m = o . length , _ = i || h ( t || "*" , s . nodeType ? [ s ] : s , [ ] ) , v = ! e || ! i && t ? _ : g ( _ , p , e , s , l ) , y = n ? r || ( i ? e : m || a ) ? [ ] : o : v ; if ( n && n ( v , y , s , l ) , a ) for ( c = g ( y , f ) , a ( c , [ ] , s , l ) , d = c . length ; d -- ; ) ( u = c [ d ] ) && ( y [ f [ d ] ] = ! ( v [ f [ d ] ] = u ) ) ; if ( i ) { if ( r || e ) { if ( r ) { for ( c = [ ] , d = y . length ; d -- ; ) ( u = y [ d ] ) && c . push ( v [ d ] = u ) ; r ( null , y = [ ] , c , l ) } for ( d = y . l
f = h = r [ 1 ] , m = ( r [ 2 ] || "" ) . split ( "." ) . sort ( ) , f && ( c = ae . event . special [ f ] || { } , f = ( a ? c . delegateType : c . bindType ) || f , c = ae . event . special [ f ] || { } , u = ae . extend ( { type : f , origType : h , data : i , handler : n , guid : n . guid , selector : a , needsContext : a && ae . expr . match . needsContext . test ( a ) , namespace : m . join ( "." ) } , l ) , ( p = o [ f ] ) || ( p = o [ f ] = [ ] , p . delegateCount = 0 , c . setup && c . setup . call ( e , i , m , d ) !== ! 1 || ( e . addEventListener ? e . addEventListener ( f , d , ! 1 ) : e . attachEvent && e . attachEvent ( "on" + f , d ) ) ) , c . add && ( c . add . call ( e , u ) , u . handler . guid || ( u . handler . guid = n . guid ) ) , a ? p . splice ( p . delegateCount ++ , 0 , u ) : p . push ( u ) , ae . event . global [ f ] = ! 0 ) ; e = null } } , remove : function ( e , t , n , i , a ) { var r , o , s , l , c , d , u , p , f , m , h , g = ae . hasData ( e ) && ae . _data ( e ) ; if ( g && ( d = g . events ) ) { for ( t = ( t || "" ) . match ( ye ) || [ "" ] , c = t . length ; c -- ; ) if ( s = Oe . exec ( t [ c ] ) || [ ] , f = h = s [ 1 ] , m = ( s [ 2 ] || "" ) . split ( "." ) . sort ( ) , f ) { for ( u = ae . event . special [ f ] || { } , f = ( i ? u . delegateType : u . bindType ) || f , p = d [ f ] || [ ] , s = s [ 2 ] && new RegExp ( "(^|\\.)" + m . join ( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) , l = r = p . length ; r -- ; ) o = p [ r ] , ! a && h !== o . origType || n && n . guid !== o . guid || s && ! s . test ( o . namespace ) || i && i !== o . selector && ( "**" !== i || ! o . selector ) || ( p . splice ( r , 1 ) , o . selector && p . delegateCount -- , u . remove && u . remove . call ( e , o ) ) ; l && ! p . length && ( u . teardown && u . teardown . call ( e , m , g . handle ) !== ! 1 || ae . removeEvent ( e , f , g . handle ) , delete d [ f ] ) } else for ( f in d ) ae . event . remove ( e , f + t [ c ] , n , i , ! 0 ) ; ae . isEmptyObject ( d ) && ( delete g . handle , ae . _removeData ( e , "events" ) ) } } , trigger : function ( t , n , i , a ) { var r , o , s , l , c , d , u , p = [ i || me ] , f = te . call ( t , "type" ) ? t . type : t , m = te . call ( t , "namespace" ) ? t . namespace . split ( "." ) : [ ] ; if ( s = d = i = i || me , 3 !== i . nodeType && 8 !== i . nodeType && ! Re . test ( f + ae . event . triggered ) && ( f . indexOf ( "." ) >= 0 && ( m = f . split ( "." ) , f = m . shift ( ) , m . sort ( ) ) , o = f . indexOf ( ":" ) < 0 && "on" + f , t = t [ ae . expando ] ? t : new ae . Event ( f , "object" == typeof t && t ) , t . isTrigger = a ? 2 : 3 , t . namespace = m . join ( "." ) , t . namespace _re = t . namespace ? new RegExp ( "(^|\\.)" + m . join ( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : null , t . result = void 0 , t . target || ( t . target = i ) , n = null == n ? [ t ] : ae . makeArray ( n , [ t ] ) , c = ae . event . special [ f ] || { } , a || ! c . trigger || c . trigger . apply ( i , n ) !== ! 1 ) ) { if ( ! a && ! c . noBubble && ! ae . isWindow ( i ) ) { for ( l = c . delegateType || f , Re . test ( l + f ) || ( s = s . parentNode ) ; s ; s = s . parentNode ) p . push ( s ) , d = s ; d === ( i . ownerDocument || me ) && p . push ( d . defaultView || d . parentWindow || e ) } for ( u = 0 ; ( s = p [ u ++ ] ) && ! t . isPropagationStopped ( ) ; ) t . type = u > 1 ? l : c . bindType || f , r = ( ae . _data ( s , "events" ) || { } ) [ t . type ] && ae . _data ( s , "handle" ) , r && r . apply ( s , n ) , r = o && s [ o ] , r && r . apply && ae . acceptData ( s ) && ( t . result = r . apply ( s , n ) , t . result === ! 1 && t . preventDefault ( ) ) ; if ( t . type = f , ! a && ! t . isDefaultPrevented ( ) && ( ! c . _default || c . _default . apply ( p . pop ( ) , n ) === ! 1 ) && ae . acceptData ( i ) && o && i [ f ] && ! ae . isWindow ( i ) ) { d = i [ o ] , d && ( i [ o ] = null ) , ae . event . triggered = f ; try { i [ f ] ( ) } catch ( h ) { } ae . event . triggered = void 0 , d && ( i [ o ] = d ) } return t . result } } , dispatch : function ( e ) { e = ae . event . fix ( e ) ; var t , n , i , a , r , o = [ ] , s = Y . call ( arguments ) , l = ( ae . _data ( this , "events" ) || { } ) [ e . type ] || [ ] , c = ae . event . special [ e . type ] || { } ; if ( s [ 0 ] = e , e . delegateTarget = this , ! c . preDispatch || c . preDispatch . call ( this , e ) !== ! 1 ) { for ( o = ae . event . handlers . call ( this , e , l ) , t = 0 ; ( a = o [ t ++ ] ) && ! e . isPropagationStopped ( ) ; ) for ( e . currentTarget = a . elem , r = 0 ; ( i = a . handlers [ r ++ ] ) && ! e . isImmediatePropagationStopped ( ) ; ) ( ! e . namespace _re || e . namespace _re . test ( i . namespace ) ) && ( e . handleObj = i , e . data = i . data , n = ( ( ae . event . special [ i . origType ] || { } ) . handle || i . handler ) . apply ( a . elem , s ) , void 0 !== n && ( e . result = n ) === ! 1 && ( e . preventDefault ( ) , e . stopPropagation ( ) ) ) ; return c . postDispatch && c . postDispatch . call ( this , e ) , e . result } } , handlers : function ( e , t ) { var n , i , a , r , o = [ ] , s = t . delegateCount , l = e . target ; if ( s && l . nodeType && ( ! e . button || "click" !== e . type ) ) for ( ; l != this ; l = l . parentNode || this ) if ( 1 === l . nodeType && ( l . disabled !== ! 0 || "click" !== e . type ) ) { for ( a = [ ] , r = 0 ; s > r ; r ++ ) i = t [ r ] , n = i . selector + " " , void 0 === a [ n ] && ( a [ n ] = i . needsContext ? ae ( n , this ) . index ( l ) >= 0 : ae . find ( n , this , null , [ l ] ) . length ) , a [ n ] && a . push ( i ) ; a . length && o . push ( { elem : l , handlers : a } ) } return s < t . length && o . push ( { elem : this , handlers : t . slice ( s ) } ) , o } , fix : function ( e ) { if ( e [ ae . expando ] ) return e ; var t , n , i , a = e . type , r = e , o = this . fixHooks [ a ] ; for ( o || ( this . fixHooks [ a ] = o = De . test ( a ) ? this . mouseHooks : Pe . test ( a ) ? this . keyHooks : { } ) , i = o . props ? this . props . concat ( o . props ) : this . props , e = new ae . Event ( r ) , t = i . length ; t -- ; ) n = i [ t
} , set : wt . set } , ae . attrHooks . contenteditable = { set : function ( e , t , n ) { wt . set ( e , "" !== t && t , n ) } } , ae . each ( [ "width" , "height" ] , function ( e , t ) { ae . attrHooks [ t ] = { set : function ( e , n ) { return "" === n ? ( e . setAttribute ( t , "auto" ) , n ) : void 0 } } } ) ) , ne . style || ( ae . attrHooks . style = { get : function ( e ) { return e . style . cssText || void 0 } , set : function ( e , t ) { return e . style . cssText = t + "" } } ) ; var Ct = /^(?:input|select|textarea|button|object)$/i , Et = /^(?:a|area)$/i ; ae . fn . extend ( { prop : function ( e , t ) { return $e ( this , ae . prop , e , t , arguments . length > 1 ) } , removeProp : function ( e ) { return e = ae . propFix [ e ] || e , this . each ( function ( ) { try { this [ e ] = void 0 , delete this [ e ] } catch ( t ) { } } ) } } ) , ae . extend ( { propFix : { "for" : "htmlFor" , "class" : "className" } , prop : function ( e , t , n ) { var i , a , r , o = e . nodeType ; if ( e && 3 !== o && 8 !== o && 2 !== o ) return r = 1 !== o || ! ae . isXMLDoc ( e ) , r && ( t = ae . propFix [ t ] || t , a = ae . propHooks [ t ] ) , void 0 !== n ? a && "set" in a && void 0 !== ( i = a . set ( e , n , t ) ) ? i : e [ t ] = n : a && "get" in a && null !== ( i = a . get ( e , t ) ) ? i : e [ t ] } , propHooks : { tabIndex : { get : function ( e ) { var t = ae . find . attr ( e , "tabindex" ) ; return t ? parseInt ( t , 10 ) : Ct . test ( e . nodeName ) || Et . test ( e . nodeName ) && e . href ? 0 : - 1 } } } } ) , ne . hrefNormalized || ae . each ( [ "href" , "src" ] , function ( e , t ) { ae . propHooks [ t ] = { get : function ( e ) { return e . getAttribute ( t , 4 ) } } } ) , ne . optSelected || ( ae . propHooks . selected = { get : function ( e ) { var t = e . parentNode ; return t && ( t . selectedIndex , t . parentNode && t . parentNode . selectedIndex ) , null } } ) , ae . each ( [ "tabIndex" , "readOnly" , "maxLength" , "cellSpacing" , "cellPadding" , "rowSpan" , "colSpan" , "useMap" , "frameBorder" , "contentEditable" ] , function ( ) { ae . propFix [ this . toLowerCase ( ) ] = this } ) , ne . enctype || ( ae . propFix . enctype = "encoding" ) ; var $t = /[\t\r\n\f]/g ; ae . fn . extend ( { addClass : function ( e ) { var t , n , i , a , r , o , s = 0 , l = this . length , c = "string" == typeof e && e ; if ( ae . isFunction ( e ) ) return this . each ( function ( t ) { ae ( this ) . addClass ( e . call ( this , t , this . className ) ) } ) ; if ( c ) for ( t = ( e || "" ) . match ( ye ) || [ ] ; l > s ; s ++ ) if ( n = this [ s ] , i = 1 === n . nodeType && ( n . className ? ( " " + n . className + " " ) . replace ( $t , " " ) : " " ) ) { for ( r = 0 ; a = t [ r ++ ] ; ) i . indexOf ( " " + a + " " ) < 0 && ( i += a + " " ) ; o = ae . trim ( i ) , n . className !== o && ( n . className = o ) } return this } , removeClass : function ( e ) { var t , n , i , a , r , o , s = 0 , l = this . length , c = 0 === arguments . length || "string" == typeof e && e ; if ( ae . isFunction ( e ) ) return this . each ( function ( t ) { ae ( this ) . removeClass ( e . call ( this , t , this . className ) ) } ) ; if ( c ) for ( t = ( e || "" ) . match ( ye ) || [ ] ; l > s ; s ++ ) if ( n = this [ s ] , i = 1 === n . nodeType && ( n . className ? ( " " + n . className + " " ) . replace ( $t , " " ) : "" ) ) { for ( r = 0 ; a = t [ r ++ ] ; ) for ( ; i . indexOf ( " " + a + " " ) >= 0 ; ) i = i . replace ( " " + a + " " , " " ) ; o = e ? ae . trim ( i ) : "" , n . className !== o && ( n . className = o ) } return this } , toggleClass : function ( e , t ) { var n = typeof e ; return "boolean" == typeof t && "string" === n ? t ? this . addClass ( e ) : this . removeClass ( e ) : this . each ( ae . isFunction ( e ) ? function ( n ) { ae ( this ) . toggleClass ( e . call ( this , n , this . className , t ) , t ) } : function ( ) { if ( "string" === n ) for ( var t , i = 0 , a = ae ( this ) , r = e . match ( ye ) || [ ] ; t = r [ i ++ ] ; ) a . hasClass ( t ) ? a . removeClass ( t ) : a . addClass ( t ) ; else ( n === Me || "boolean" === n ) && ( this . className && ae . _data ( this , "__className__" , this . className ) , this . className = this . className || e === ! 1 ? "" : ae . _data ( this , "__className__" ) || "" ) } ) } , hasClass : function ( e ) { for ( var t = " " + e + " " , n = 0 , i = this . length ; i > n ; n ++ ) if ( 1 === this [ n ] . nodeType && ( " " + this [ n ] . className + " " ) . replace ( $t , " " ) . indexOf ( t ) >= 0 ) return ! 0 ; return ! 1 } } ) , ae . each ( "blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu" . split ( " " ) , function ( e , t ) { ae . fn [ t ] = function ( e , n ) { return arguments . length > 0 ? this . on ( t , null , e , n ) : this . trigger ( t ) } } ) , ae . fn . extend ( { hover : function ( e , t ) { return this . mouseenter ( e ) . mouseleave ( t || e ) } , bind : function ( e , t , n ) { return this . on ( e , null , t , n ) } , unbind : function ( e , t ) { return this . off ( e , null , t ) } , delegate : function ( e , t , n , i ) { return this . on ( t , e , n , i ) } , undelegate : function ( e , t , n ) { return 1 === arguments . length ? this . off ( e , "**" ) : this . off ( t , e || "**" , n ) } } ) ; var It = ae . now ( ) , xt = /\?/ , Pt = /(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g ; ae . parseJSON = function ( t ) { if ( e . JSON && e . JSON . parse ) return e . JSON . parse ( t + "" ) ; var n , i = null , a = ae . trim ( t + "" )
Config . Schema . API = { constructors : [ { id : "-1132882121" , predicate : "boolFalse" , params : [ ] , type : "Bool" } , { id : "-1720552011" , predicate : "boolTrue" , params : [ ] , type : "Bool" } , { id : "1072550713" , predicate : "true" , params : [ ] , type : "True" } , { id : "481674261" , predicate : "vector" , params : [ ] , type : "Vector t" } , { id : "-994444869" , predicate : "error" , params : [ { name : "code" , type : "int" } , { name : "text" , type : "string" } ] , type : "Error" } , { id : "1450380236" , predicate : "null" , params : [ ] , type : "Null" } , { id : "2134579434" , predicate : "inputPeerEmpty" , params : [ ] , type : "InputPeer" } , { id : "2107670217" , predicate : "inputPeerSelf" , params : [ ] , type : "InputPeer" } , { id : "396093539" , predicate : "inputPeerChat" , params : [ { name : "chat_id" , type : "int" } ] , type : "InputPeer" } , { id : "-1182234929" , predicate : "inputUserEmpty" , params : [ ] , type : "InputUser" } , { id : "-138301121" , predicate : "inputUserSelf" , params : [ ] , type : "InputUser" } , { id : "-208488460" , predicate : "inputPhoneContact" , params : [ { name : "client_id" , type : "long" } , { name : "phone" , type : "string" } , { name : "first_name" , type : "string" } , { name : "last_name" , type : "string" } ] , type : "InputContact" } , { id : "-181407105" , predicate : "inputFile" , params : [ { name : "id" , type : "long" } , { name : "parts" , type : "int" } , { name : "name" , type : "string" } , { name : "md5_checksum" , type : "string" } ] , type : "InputFile" } , { id : "-1771768449" , predicate : "inputMediaEmpty" , params : [ ] , type : "InputMedia" } , { id : "1661770481" , predicate : "inputMediaUploadedPhoto" , params : [ { name : "flags" , type : "#" } , { name : "file" , type : "InputFile" } , { name : "caption" , type : "string" } , { name : "stickers" , type : "flags.0?Vector<InputDocument>" } ] , type : "InputMedia" } , { id : "-373312269" , predicate : "inputMediaPhoto" , params : [ { name : "id" , type : "InputPhoto" } , { name : "caption" , type : "string" } ] , type : "InputMedia" } , { id : "-104578748" , predicate : "inputMediaGeoPoint" , params : [ { name : "geo_point" , type : "InputGeoPoint" } ] , type : "InputMedia" } , { id : "-1494984313" , predicate : "inputMediaContact" , params : [ { name : "phone_number" , type : "string" } , { name : "first_name" , type : "string" } , { name : "last_name" , type : "string" } ] , type : "InputMedia" } , { id : "480546647" , predicate : "inputChatPhotoEmpty" , params : [ ] , type : "InputChatPhoto" } , { id : "-1837345356" , predicate : "inputChatUploadedPhoto" , params : [ { name : "file" , type : "InputFile" } ] , type : "InputChatPhoto" } , { id : "-1991004873" , predicate : "inputChatPhoto" , params : [ { name : "id" , type : "InputPhoto" } ] , type : "InputChatPhoto" } , { id : "-457104426" , predicate : "inputGeoPointEmpty" , params : [ ] , type : "InputGeoPoint" } , { id : "-206066487" , predicate : "inputGeoPoint" , params : [ { name : "lat" , type : "double" } , { name : "long" , type : "double" } ] , type : "InputGeoPoint" } , { id : "483901197" , predicate : "inputPhotoEmpty" , params : [ ] , type : "InputPhoto" } , { id : "-74070332" , predicate : "inputPhoto" , params : [ { name : "id" , type : "long" } , { name : "access_hash" , type : "long" } ] , type : "InputPhoto" } , { id : "342061462" , predicate : "inputFileLocation" , params : [ { name : "volume_id" , type : "long" } , { name : "local_id" , type : "int" } , { name : "secret" , type : "long" } ] , type : "InputFileLocation" } , { id : "1996904104" , predicate : "inputAppEvent" , params : [ { name : "time" , type : "double" } , { name : "type" , type : "string" } , { name : "peer" , type : "long" } , { name : "data" , type : "string" } ] , type : "InputAppEvent" } , { id : "-1649296275" , predicate : "peerUser" , params : [ { name : "user_id" , type : "int" } ] , type : "Peer" } , { id : "-1160714821" , predicate : "peerChat" , params : [ { name : "chat_id" , type : "int" } ] , type : "Peer" } , { id : "-1432995067" , predicate : "storage.fileUnknown" , params : [ ] , type : "storage.FileType" } , { id : "1086091090" , predicate : "storage.filePartial" , params : [ ] , type : "storage.FileType" } , { id : "8322574" , predicate : "storage.fileJpeg" , params : [ ] , type : "storage.FileType" } , { id : "-891180321" , predicate : "storage.fileGif" , params : [ ] , type : "storage.FileType" } , { id : "172975040" , predicate : "storage.filePng" , params : [ ] , type : "storage.FileType" } , { id : "-1373745011" , predicate : "storage.filePdf" , params : [ ] , type : "storage.FileType" } , { id : "1384777335" , predicate : "storage.fileMp3" , params : [ ] , type : "storage.FileType" } , { id : "1258941372" , predicate : "storage.fileMov" , params : [ ] , type : "storage.FileType" } , { id : "-1278304028" , predicate : "storage.fileMp4" , params : [ ] , type : "storage.FileType" } , { id : "276907596" , predicate : "storage.fileWebp" , params : [ ] , type : "storage.FileType" } , { id : "2086234950" , predicate : "fileLocationUnavailable" , params : [ { name : "volume_id" , type : "long" } , { name : " local _id
id : "-2131957734" , predicate : "updateUserBlocked" , params : [ { name : "user_id" , type : "int" } , { name : "blocked" , type : "Bool" } ] , type : "Update" } , { id : "-1094555409" , predicate : "updateNotifySettings" , params : [ { name : "peer" , type : "NotifyPeer" } , { name : "notify_settings" , type : "PeerNotifySettings" } ] , type : "Update" } , { id : "381645902" , predicate : "sendMessageTypingAction" , params : [ ] , type : "SendMessageAction" } , { id : "-44119819" , predicate : "sendMessageCancelAction" , params : [ ] , type : "SendMessageAction" } , { id : "-1584933265" , predicate : "sendMessageRecordVideoAction" , params : [ ] , type : "SendMessageAction" } , { id : "-378127636" , predicate : "sendMessageUploadVideoAction" , params : [ { name : "progress" , type : "int" } ] , type : "SendMessageAction" } , { id : "-718310409" , predicate : "sendMessageRecordAudioAction" , params : [ ] , type : "SendMessageAction" } , { id : "-212740181" , predicate : "sendMessageUploadAudioAction" , params : [ { name : "progress" , type : "int" } ] , type : "SendMessageAction" } , { id : "-774682074" , predicate : "sendMessageUploadPhotoAction" , params : [ { name : "progress" , type : "int" } ] , type : "SendMessageAction" } , { id : "-1441998364" , predicate : "sendMessageUploadDocumentAction" , params : [ { name : "progress" , type : "int" } ] , type : "SendMessageAction" } , { id : "393186209" , predicate : "sendMessageGeoLocationAction" , params : [ ] , type : "SendMessageAction" } , { id : "1653390447" , predicate : "sendMessageChooseContactAction" , params : [ ] , type : "SendMessageAction" } , { id : "446822276" , predicate : "contacts.found" , params : [ { name : "results" , type : "Vector<Peer>" } , { name : "chats" , type : "Vector<Chat>" } , { name : "users" , type : "Vector<User>" } ] , type : "contacts.Found" } , { id : "-337352679" , predicate : "updateServiceNotification" , params : [ { name : "flags" , type : "#" } , { name : "popup" , type : "flags.0?true" } , { name : "inbox_date" , type : "flags.1?int" } , { name : "type" , type : "string" } , { name : "message" , type : "string" } , { name : "media" , type : "MessageMedia" } , { name : "entities" , type : "Vector<MessageEntity>" } ] , type : "Update" } , { id : "-496024847" , predicate : "userStatusRecently" , params : [ ] , type : "UserStatus" } , { id : "129960444" , predicate : "userStatusLastWeek" , params : [ ] , type : "UserStatus" } , { id : "2011940674" , predicate : "userStatusLastMonth" , params : [ ] , type : "UserStatus" } , { id : "-298113238" , predicate : "updatePrivacy" , params : [ { name : "key" , type : "PrivacyKey" } , { name : "rules" , type : "Vector<PrivacyRule>" } ] , type : "Update" } , { id : "1335282456" , predicate : "inputPrivacyKeyStatusTimestamp" , params : [ ] , type : "InputPrivacyKey" } , { id : "-1137792208" , predicate : "privacyKeyStatusTimestamp" , params : [ ] , type : "PrivacyKey" } , { id : "218751099" , predicate : "inputPrivacyValueAllowContacts" , params : [ ] , type : "InputPrivacyRule" } , { id : "407582158" , predicate : "inputPrivacyValueAllowAll" , params : [ ] , type : "InputPrivacyRule" } , { id : "320652927" , predicate : "inputPrivacyValueAllowUsers" , params : [ { name : "users" , type : "Vector<InputUser>" } ] , type : "InputPrivacyRule" } , { id : "195371015" , predicate : "inputPrivacyValueDisallowContacts" , params : [ ] , type : "InputPrivacyRule" } , { id : "-697604407" , predicate : "inputPrivacyValueDisallowAll" , params : [ ] , type : "InputPrivacyRule" } , { id : "-1877932953" , predicate : "inputPrivacyValueDisallowUsers" , params : [ { name : "users" , type : "Vector<InputUser>" } ] , type : "InputPrivacyRule" } , { id : "-123988" , predicate : "privacyValueAllowContacts" , params : [ ] , type : "PrivacyRule" } , { id : "1698855810" , predicate : "privacyValueAllowAll" , params : [ ] , type : "PrivacyRule" } , { id : "1297858060" , predicate : "privacyValueAllowUsers" , params : [ { name : "users" , type : "Vector<int>" } ] , type : "PrivacyRule" } , { id : "-125240806" , predicate : "privacyValueDisallowContacts" , params : [ ] , type : "PrivacyRule" } , { id : "-1955338397" , predicate : "privacyValueDisallowAll" , params : [ ] , type : "PrivacyRule" } , { id : "209668535" , predicate : "privacyValueDisallowUsers" , params : [ { name : "users" , type : "Vector<int>" } ] , type : "PrivacyRule" } , { id : "1430961007" , predicate : "account.privacyRules" , params : [ { name : "rules" , type : "Vector<PrivacyRule>" } , { name : "users" , type : "Vector<User>" } ] , type : "account.PrivacyRules" } , { id : "-1194283041" , predicate : "accountDaysTTL" , params : [ { name : "days" , type : "int" } ] , type : "AccountDaysTTL" } , { id : "314130811" , predicate : "updateUserPhone" , params : [ { name : "user_id" , type : "int" } , { name : "phone" , type : "string" } ] , type : "Update" } , { id : "1815593308" , predicate : "documentAttributeImageSize" , params : [ { name : "w" , type : "int" } , { name : "h" , type : "int" } ] , type : " Do
type : "int" } , { name : "peer" , type : "Peer" } , { name : "msg_id" , type : "int" } , { name : "chat_instance" , type : "long" } , { name : "data" , type : "flags.0?bytes" } , { name : "game_short_name" , type : "flags.1?string" } ] , type : "Update" } , { id : "649453030" , predicate : "messages.messageEditData" , params : [ { name : "flags" , type : "#" } , { name : "caption" , type : "flags.0?true" } ] , type : "messages.MessageEditData" } , { id : "-469536605" , predicate : "updateEditMessage" , params : [ { name : "message" , type : "Message" } , { name : "pts" , type : "int" } , { name : "pts_count" , type : "int" } ] , type : "Update" } , { id : "-190472735" , predicate : "inputBotInlineMessageMediaGeo" , params : [ { name : "flags" , type : "#" } , { name : "geo_point" , type : "InputGeoPoint" } , { name : "reply_markup" , type : "flags.2?ReplyMarkup" } ] , type : "InputBotInlineMessage" } , { id : "-1431327288" , predicate : "inputBotInlineMessageMediaVenue" , params : [ { name : "flags" , type : "#" } , { name : "geo_point" , type : "InputGeoPoint" } , { name : "title" , type : "string" } , { name : "address" , type : "string" } , { name : "provider" , type : "string" } , { name : "venue_id" , type : "string" } , { name : "reply_markup" , type : "flags.2?ReplyMarkup" } ] , type : "InputBotInlineMessage" } , { id : "766443943" , predicate : "inputBotInlineMessageMediaContact" , params : [ { name : "flags" , type : "#" } , { name : "phone_number" , type : "string" } , { name : "first_name" , type : "string" } , { name : "last_name" , type : "string" } , { name : "reply_markup" , type : "flags.2?ReplyMarkup" } ] , type : "InputBotInlineMessage" } , { id : "982505656" , predicate : "botInlineMessageMediaGeo" , params : [ { name : "flags" , type : "#" } , { name : "geo" , type : "GeoPoint" } , { name : "reply_markup" , type : "flags.2?ReplyMarkup" } ] , type : "BotInlineMessage" } , { id : "1130767150" , predicate : "botInlineMessageMediaVenue" , params : [ { name : "flags" , type : "#" } , { name : "geo" , type : "GeoPoint" } , { name : "title" , type : "string" } , { name : "address" , type : "string" } , { name : "provider" , type : "string" } , { name : "venue_id" , type : "string" } , { name : "reply_markup" , type : "flags.2?ReplyMarkup" } ] , type : "BotInlineMessage" } , { id : "904770772" , predicate : "botInlineMessageMediaContact" , params : [ { name : "flags" , type : "#" } , { name : "phone_number" , type : "string" } , { name : "first_name" , type : "string" } , { name : "last_name" , type : "string" } , { name : "reply_markup" , type : "flags.2?ReplyMarkup" } ] , type : "BotInlineMessage" } , { id : "-1462213465" , predicate : "inputBotInlineResultPhoto" , params : [ { name : "id" , type : "string" } , { name : "type" , type : "string" } , { name : "photo" , type : "InputPhoto" } , { name : "send_message" , type : "InputBotInlineMessage" } ] , type : "InputBotInlineResult" } , { id : "-459324" , predicate : "inputBotInlineResultDocument" , params : [ { name : "flags" , type : "#" } , { name : "id" , type : "string" } , { name : "type" , type : "string" } , { name : "title" , type : "flags.1?string" } , { name : "description" , type : "flags.2?string" } , { name : "document" , type : "InputDocument" } , { name : "send_message" , type : "InputBotInlineMessage" } ] , type : "InputBotInlineResult" } , { id : "400266251" , predicate : "botInlineMediaResult" , params : [ { name : "flags" , type : "#" } , { name : "id" , type : "string" } , { name : "type" , type : "string" } , { name : "photo" , type : "flags.0?Photo" } , { name : "document" , type : "flags.1?Document" } , { name : "title" , type : "flags.2?string" } , { name : "description" , type : "flags.3?string" } , { name : "send_message" , type : "BotInlineMessage" } ] , type : "BotInlineResult" } , { id : "-1995686519" , predicate : "inputBotInlineMessageID" , params : [ { name : "dc_id" , type : "int" } , { name : "id" , type : "long" } , { name : "access_hash" , type : "long" } ] , type : "InputBotInlineMessageID" } , { id : "-103646630" , predicate : "updateInlineBotCallbackQuery" , params : [ { name : "flags" , type : "#" } , { name : "query_id" , type : "long" } , { name : "user_id" , type : "int" } , { name : "msg_id" , type : "InputBotInlineMessageID" } , { name : "chat_instance" , type : "long" } , { name : "data" , type : "flags.0?bytes" } , { name : "game_short_name" , type : "flags.1?string" } ] , type : "Update" } , { id : "1008755359" , predicate : "inlineBotSwitchPM" , params : [ { name : "text" , type : "string" } , { name : "start_param" , type : "string" } ] , type : "InlineBotSwitchPM" } , { id : "863093588" , predicate : "messages.peerDialogs" , params : [ { name : "dialogs" , type : "Vector<Dialog>" } , { name : "messages" , type : "Vector<Message>" } , { name : "chats" , type : "Vector<Chat>" } , { name : "users" , type : "Vector<User>" } , { name : "state" , type : "updates.State" } ] , type : "messages.PeerDialogs" } , { id : "-305282981" , predicate : "topPeer" , params : [ { name : "peer" , type : "Peer" } , { name : "rating" , type : "double" } ] , type : "TopPeer" } , { id : " - 1
type : "#" } , { name : "exclude_pinned" , type : "flags.0?true" } , { name : "offset_date" , type : "int" } , { name : "offset_id" , type : "int" } , { name : "offset_peer" , type : "InputPeer" } , { name : "limit" , type : "int" } ] , type : "messages.Dialogs" } , { id : "-1347868602" , method : "messages.getHistory" , params : [ { name : "peer" , type : "InputPeer" } , { name : "offset_id" , type : "int" } , { name : "offset_date" , type : "int" } , { name : "add_offset" , type : "int" } , { name : "limit" , type : "int" } , { name : "max_id" , type : "int" } , { name : "min_id" , type : "int" } ] , type : "messages.Messages" } , { id : "-732523960" , method : "messages.search" , params : [ { name : "flags" , type : "#" } , { name : "peer" , type : "InputPeer" } , { name : "q" , type : "string" } , { name : "filter" , type : "MessagesFilter" } , { name : "min_date" , type : "int" } , { name : "max_date" , type : "int" } , { name : "offset" , type : "int" } , { name : "max_id" , type : "int" } , { name : "limit" , type : "int" } ] , type : "messages.Messages" } , { id : "238054714" , method : "messages.readHistory" , params : [ { name : "peer" , type : "InputPeer" } , { name : "max_id" , type : "int" } ] , type : "messages.AffectedMessages" } , { id : "469850889" , method : "messages.deleteHistory" , params : [ { name : "flags" , type : "#" } , { name : "just_clear" , type : "flags.0?true" } , { name : "peer" , type : "InputPeer" } , { name : "max_id" , type : "int" } ] , type : "messages.AffectedHistory" } , { id : "-443640366" , method : "messages.deleteMessages" , params : [ { name : "flags" , type : "#" } , { name : "revoke" , type : "flags.0?true" } , { name : "id" , type : "Vector<int>" } ] , type : "messages.AffectedMessages" } , { id : "94983360" , method : "messages.receivedMessages" , params : [ { name : "max_id" , type : "int" } ] , type : "Vector<ReceivedNotifyMessage>" } , { id : "-1551737264" , method : "messages.setTyping" , params : [ { name : "peer" , type : "InputPeer" } , { name : "action" , type : "SendMessageAction" } ] , type : "Bool" } , { id : "-91733382" , method : "messages.sendMessage" , params : [ { name : "flags" , type : "#" } , { name : "no_webpage" , type : "flags.1?true" } , { name : "silent" , type : "flags.5?true" } , { name : "background" , type : "flags.6?true" } , { name : "clear_draft" , type : "flags.7?true" } , { name : "peer" , type : "InputPeer" } , { name : "reply_to_msg_id" , type : "flags.0?int" } , { name : "message" , type : "string" } , { name : "random_id" , type : "long" } , { name : "reply_markup" , type : "flags.2?ReplyMarkup" } , { name : "entities" , type : "flags.3?Vector<MessageEntity>" } ] , type : "Updates" } , { id : "-923703407" , method : "messages.sendMedia" , params : [ { name : "flags" , type : "#" } , { name : "silent" , type : "flags.5?true" } , { name : "background" , type : "flags.6?true" } , { name : "clear_draft" , type : "flags.7?true" } , { name : "peer" , type : "InputPeer" } , { name : "reply_to_msg_id" , type : "flags.0?int" } , { name : "media" , type : "InputMedia" } , { name : "random_id" , type : "long" } , { name : "reply_markup" , type : "flags.2?ReplyMarkup" } ] , type : "Updates" } , { id : "1888354709" , method : "messages.forwardMessages" , params : [ { name : "flags" , type : "#" } , { name : "silent" , type : "flags.5?true" } , { name : "background" , type : "flags.6?true" } , { name : "with_my_score" , type : "flags.8?true" } , { name : "from_peer" , type : "InputPeer" } , { name : "id" , type : "Vector<int>" } , { name : "random_id" , type : "Vector<long>" } , { name : "to_peer" , type : "InputPeer" } ] , type : "Updates" } , { id : "-820669733" , method : "messages.reportSpam" , params : [ { name : "peer" , type : "InputPeer" } ] , type : "Bool" } , { id : "-1460572005" , method : "messages.hideReportSpam" , params : [ { name : "peer" , type : "InputPeer" } ] , type : "Bool" } , { id : "913498268" , method : "messages.getPeerSettings" , params : [ { name : "peer" , type : "InputPeer" } ] , type : "PeerSettings" } , { id : "1013621127" , method : "messages.getChats" , params : [ { name : "id" , type : "Vector<int>" } ] , type : "messages.Chats" } , { id : "998448230" , method : "messages.getFullChat" , params : [ { name : "chat_id" , type : "int" } ] , type : "messages.ChatFull" } , { id : "-599447467" , method : "messages.editChatTitle" , params : [ { name : "chat_id" , type : "int" } , { name : "title" , type : "string" } ] , type : "Updates" } , { id : "-900957736" , method : "messages.editChatPhoto" , params : [ { name : "chat_id" , type : "int" } , { name : "photo" , type : "InputChatPhoto" } ] , type : "Updates" } , { id : "-106911223" , method : "messages.addChatUser" , params : [ { name : "chat_id" , type : "int" } , { name : "user_id" , type : "InputUser" } , { name : "fwd_limit" , type : "int" } ] , type : "Updates" } , { id : "-530505962" , method : "messages.deleteChatUser" , params : [ { name : "chat_id" , type : "int" } , { name : "user_id" , type : "InputUser" } ] , type : "Updates" } , { id : "164303470" , method : "messages.createChat" , params : [ { name : "users" , type : "Vector<InputUser>" } , { name : "title" , type
"26a1" : [ "⚡" , [ "zap" ] ] , "26aa" : [ "⚪" , [ "white_circle" ] ] , "26ab" : [ "⚫" , [ "black_circle" ] ] , "26bd" : [ "⚽" , [ "soccer" ] ] , "26be" : [ "⚾" , [ "baseball" ] ] , "26c4" : [ "⛄" , [ "snowman" ] ] , "26c5" : [ "⛅" , [ "partly_sunny" ] ] , "26ce" : [ "⛎" , [ "ophiuchus" ] ] , "26d4" : [ "⛔" , [ "no_entry" ] ] , "26ea" : [ "⛪" , [ "church" ] ] , "26f2" : [ "⛲" , [ "fountain" ] ] , "26f3" : [ "⛳" , [ "golf" ] ] , "26f5" : [ "⛵" , [ "boat" , "sailboat" ] ] , "26fa" : [ "⛺" , [ "tent" ] ] , "26fd" : [ "⛽" , [ "fuelpump" ] ] , 2702 : [ "✂" , [ "scissors" ] ] , 2705 : [ "✅" , [ "white_check_mark" ] ] , 2708 : [ "✈" , [ "airplane" ] ] , 2709 : [ "✉" , [ "email" , "envelope" ] ] , "270a" : [ "✊" , [ "fist" ] ] , "270b" : [ "✋" , [ "hand" , "raised_hand" ] ] , "270c" : [ "✌" , [ "v" ] ] , "270f" : [ "✏" , [ "pencil2" ] ] , 2712 : [ "✒" , [ "black_nib" ] ] , 2714 : [ "✔" , [ "heavy_check_mark" ] ] , 2716 : [ "✖" , [ "heavy_multiplication_x" ] ] , 2728 : [ "✨" , [ "sparkles" ] ] , 2733 : [ "✳" , [ "eight_spoked_asterisk" ] ] , 2734 : [ "✴" , [ "eight_pointed_black_star" ] ] , 2744 : [ "❄" , [ "snowflake" ] ] , 2747 : [ "❇" , [ "sparkle" ] ] , "274c" : [ "❌" , [ "x" ] ] , "274e" : [ "❎" , [ "negative_squared_cross_mark" ] ] , 2753 : [ "❓" , [ "question" ] ] , 2754 : [ "❔" , [ "grey_question" ] ] , 2755 : [ "❕" , [ "grey_exclamation" ] ] , 2757 : [ "❗" , [ "exclamation" , "heavy_exclamation_mark" ] ] , 2764 : [ "❤" , [ "heart" ] , "<3" ] , 2795 : [ "➕" , [ "heavy_plus_sign" ] ] , 2796 : [ "➖" , [ "heavy_minus_sign" ] ] , 2797 : [ "➗" , [ "heavy_division_sign" ] ] , "27a1" : [ "➡" , [ "arrow_right" ] ] , "27b0" : [ "➰" , [ "curly_loop" ] ] , "27bf" : [ "➿" , [ "loop" ] ] , 2934 : [ "⤴" , [ "arrow_heading_up" ] ] , 2935 : [ "⤵" , [ "arrow_heading_down" ] ] , "2b05" : [ "⬅" , [ "arrow_left" ] ] , "2b06" : [ "⬆" , [ "arrow_up" ] ] , "2b07" : [ "⬇" , [ "arrow_down" ] ] , "2b1b" : [ "⬛" , [ "black_large_square" ] ] , "2b1c" : [ "⬜" , [ "white_large_square" ] ] , "2b50" : [ "⭐" , [ "star" ] ] , "2b55" : [ "⭕" , [ "o" ] ] , 3030 : [ "〰" , [ "wavy_dash" ] ] , "303d" : [ "〽" , [ "part_alternation_mark" ] ] , 3297 : [ "㊗" , [ "congratulations" ] ] , 3299 : [ "㊙" , [ "secret" ] ] , "1f004" : [ "🀄" , [ "mahjong" ] ] , "1f0cf" : [ "🃏" , [ "black_joker" ] ] , "1f170" : [ "🅰" , [ "a" ] ] , "1f171" : [ "🅱" , [ "b" ] ] , "1f17e" : [ "🅾" , [ "o2" ] ] , "1f17f" : [ "🅿" , [ "parking" ] ] , "1f18e" : [ "🆎" , [ "ab" ] ] , "1f191" : [ "🆑" , [ "cl" ] ] , "1f192" : [ "🆒" , [ "cool" ] ] , "1f193" : [ "🆓" , [ "free" ] ] , "1f194" : [ "🆔" , [ "id" ] ] , "1f195" : [ "🆕" , [ "new" ] ] , "1f196" : [ "🆖" , [ "ng" ] ] , "1f197" : [ "🆗" , [ "ok" ] ] , "1f198" : [ "🆘" , [ "sos" ] ] , "1f199" : [ "🆙" , [ "up" ] ] , "1f19a" : [ "🆚" , [ "vs" ] ] , "1f201" : [ "🈁" , [ "koko" ] ] , "1f202" : [ "🈂" , [ "sa" ] ] , "1f21a" : [ "🈚" , [ "u7121" ] ] , "1f22f" : [ "🈯" , [ "u6307" ] ] , "1f232" : [ "🈲" , [ "u7981" ] ] , "1f233" : [ "🈳" , [ "u7a7a" ] ] , "1f234" : [ "🈴" , [ "u5408" ] ] , "1f235" : [ "🈵" , [ "u6e80" ] ] , "1f236" : [ "🈶" , [ "u6709" ] ] , "1f237" : [ "🈷" , [ "u6708" ] ] , "1f238" : [ "🈸" , [ "u7533" ] ] , "1f239" : [ "🈹" , [ "u5272" ] ] , "1f23a" : [ "🈺" , [ "u55b6" ] ] , "1f250" : [ "🉐" , [ "ideograph_advantage" ] ] , "1f251" : [ "🉑" , [ "accept" ] ] , "1f300" : [ "🌀" , [ "cyclone" ] ] , "1f301" : [ "🌁" , [ "foggy" ] ] , "1f302" : [ "🌂" , [ "closed_umbrella" ] ] , "1f303" : [ "🌃" , [ "night_with_stars" ] ] , "1f304" : [ "🌄" , [ "sunrise_over_mountains" ] ] , "1f305" : [ "🌅" , [ "sunrise" ] ] , "1f306" : [ "🌆" , [ "city_sunset" ] ] , "1f307" : [ "🌇" , [ "city_sunrise" ] ] , "1f308" : [ "🌈" , [ "rainbow" ] ] , "1f309" : [ "🌉" , [ "bridge_at_night" ] ] , "1f30a" : [ "🌊" , [ "ocean" ] ] , "1f30b" : [ "🌋" , [ "volcano" ] ] , "1f30c" : [ "🌌" , [ "milky_way" ] ] , "1f30d" : [ "🌍" , [ "earth_africa" ] ] , "1f30e" : [ "🌎" , [ "earth_americas" ] ] , "1f30f" : [ "🌏" , [ "earth_asia" ] ] , "1f310" : [ "🌐" , [ "globe_with_meridians" ] ] , "1f311" : [ "🌑" , [ "new_moon" ] ] , "1f312" : [ "🌒" , [ "waxing_crescent_moon" ] ] , "1f313" : [ "🌓" , [ "first_quarter_moon" ] ] , "1f314" : [ "🌔" , [ "moon" , "waxing_gibbous_moon" ] ] , "1f315" : [ "🌕" , [ "full_moon" ] ] , "1f316" : [ "🌖" , [ "waning_gibbous_moon" ] ] , "1f317" : [ "🌗" , [ "last_quarter_moon" ] ] , "1f318" : [ "🌘" , [ "waning_crescent_moon" ] ] , "1f319" : [ "🌙" , [ "crescent_moon" ] ] , "1f320" : [ "🌠" , [ "stars" ] ] , "1f31a" : [ "🌚" , [ "new_moon_with_face" ] ] , "1f31b" : [ "🌛" , [ "first_quarter_moon_with_face" ] ] , "1f31c" : [ "🌜" , [ "last_quarter_moon_with_face" ] ] , "1f31d" : [ "🌝" , [ "full_moon_with_face" ] ] , "1f31e" : [ "🌞" , [ "sun_with_face" ] ] , "1f31f" : [ "🌟" , [ "star2" ] ] , "1f330" : [ "🌰" , [ "chestnut" ] ] , "1f331" : [ "🌱" , [ "seedling" ] ] , "1f332" : [ "🌲" , [ "evergreen_tree" ] ] , "1f333" : [ "🌳" , [ "deciduous_tree" ] ] , "1f334" : [ "🌴" , [ "palm_tree" ] ] , "1f335" : [ "🌵" , [ "cactus" ] ] , "1f337" : [ "🌷" , [ "tulip" ] ] , "1f338" : [ "🌸" , [ "cherry_blossom" ] ] , "1f339" : [ "🌹" , [ "rose" ] ] , "1f33a" : [ "🌺" , [ "hibiscus" ] ] , "1f33b"
"Ɯ" : "M" , "Ʌ" : "V" , "Ꜩ" : "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" , "Ꝟ" : "V" , "Ṿ" : "V" , "Ʋ" : "V" , "Ṽ" : "V" , "Ꝡ" : "VY" , "Ẃ" : "W" , "Ŵ" : "W" , "Ẅ" : "W" , "Ẇ" : "W" , "Ẉ" : "W" , "Ẁ" : "W" , "Ⱳ" : "W" , "Ẍ" : "X" , "Ẋ" : "X" , "Ý" : "Y" , "Ŷ" : "Y" , "Ÿ" : "Y" , "Ẏ" : "Y" , "Ỵ" : "Y" , "Ỳ" : "Y" , "Ƴ" : "Y" , "Ỷ" : "Y" , "Ỿ" : "Y" , "Ȳ" : "Y" , "Ɏ" : "Y" , "Ỹ" : "Y" , "Ź" : "Z" , "Ž" : "Z" , "Ẑ" : "Z" , "Ⱬ" : "Z" , "Ż" : "Z" , "Ẓ" : "Z" , "Ȥ" : "Z" , "Ẕ" : "Z" , "Ƶ" : "Z" , "IJ" : "IJ" , "Œ" : "OE" , "ᴀ" : "A" , "ᴁ" : "AE" , "ʙ" : "B" , "ᴃ" : "B" , "ᴄ" : "C" , "ᴅ" : "D" , "ᴇ" : "E" , "ꜰ" : "F" , "ɢ" : "G" , "ʛ" : "G" , "ʜ" : "H" , "ɪ" : "I" , "ʁ" : "R" , "ᴊ" : "J" , "ᴋ" : "K" , "ʟ" : "L" , "ᴌ" : "L" , "ᴍ" : "M" , "ɴ" : "N" , "ᴏ" : "O" , "ɶ" : "OE" , "ᴐ" : "O" , "ᴕ" : "OU" , "ᴘ" : "P" , "ʀ" : "R" , "ᴎ" : "N" , "ᴙ" : "R" , "ꜱ" : "S" , "ᴛ" : "T" , "ⱻ" : "E" , "ᴚ" : "R" , "ᴜ" : "U" , "ᴠ" : "V" , "ᴡ" : "W" , "ʏ" : "Y" , "ᴢ" : "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" , "ꜳ" : "aa" , "æ" : "ae" , "ǽ" : "ae" , "ǣ" : "ae" , "ꜵ" : "ao" , "ꜷ" : "au" , "ꜹ" : "av" , "ꜻ" : "av" , "ꜽ" : "ay" , "ḃ" : "b" , "ḅ" : "b" , "ɓ" : "b" , "ḇ" : "b" , "ᵬ" : "b" , "ᶀ" : "b" , "ƀ" : "b" , "ƃ" : "b" , "ɵ" : "o" , "ć" : "c" , "č" : "c" , "ç" : "c" , "ḉ" : "c" , "ĉ" : "c" , "ɕ" : "c" , "ċ" : "c" , "ƈ" : "c" , "ȼ" : "c" , "ď" : "d" , "ḑ" : "d" , "ḓ" : "d" , "ȡ" : "d" , "ḋ" : "d" , "ḍ" : "d" , "ɗ" : "d" , "ᶑ" : "d" , "ḏ" : "d" , "ᵭ" : "d" , "ᶁ" : "d" , "đ" : "d" , "ɖ" : "d" , "ƌ" : "d" , "ı" : "i" , "ȷ" : "j" , "ɟ" : "j" , "ʄ" : "j" , "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" , "ꝫ" : "et" , "ḟ" : "f" , "ƒ" : "f" , "ᵮ" : "f" , "ᶂ" : "f" , "ǵ" : "g" , "ğ" : "g" , "ǧ" : "g" , "ģ" : "g" , "ĝ" : "g" , "ġ" : "g" , "ɠ" : "g" , "ḡ" : "g" , "ᶃ" : "g" , "ǥ" : "g" , "ḫ" : "h" , "ȟ" : "h" , "ḩ" : "h" , "ĥ" : "h" , "ⱨ" : "h" , "ḧ" : "h" , "ḣ" : "h" , "ḥ" : "h" , "ɦ" : "h" , "ẖ" : "h" , "ħ" : "h" , "ƕ" : "hv" , "í" : "i" , "ĭ" : "i" , "ǐ" : "i" , "î" : "i" , "ï" : "i" , "ḯ" : "i" , "ị" : "i" , "ȉ" : "i" , "ì" : "i" , "ỉ" : "i" , "ȋ" : "i" , "ī" : "i" , "į" : "i" , "ᶖ" : "i" , "ɨ" : "i" , "ĩ" : "i" , "ḭ" : "i" , "ꝺ" : "d" , "ꝼ" : "f" , "ᵹ" : "g" , "ꞃ" : "r" , "ꞅ" : "s" , "ꞇ" : "t" , "ꝭ" : "is" , "ǰ" : "j" , "ĵ" : "j" , "ʝ" : "j" , "ɉ" : "j" , "ḱ" : "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" , "lj" : "lj" , "ſ" : "s" , "ẜ" : "s" , "ẛ" : "s" , "ẝ" : "s" , "ḿ" : "m" , "ṁ" : "m" , "ṃ" : "m" , "ɱ" : "m" , "ᵯ" : "m" , "ᶆ" : "m" , "ń" : "n" , "ň" : "n" , "ņ" : "n" , "ṋ" : "n" , "ȵ" : "n" , "ṅ" : "n" , "ṇ" : "n" , "ǹ" : "n" , "ɲ" : "n" , "ṉ" : "n" , "ƞ" : "n" , "ᵰ" : "n" , "ᶇ" : "n" , "ɳ" : "n" , "ñ" : "n" , "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" , "ƣ" : "oi" , "ꝏ" : "oo" , "ɛ" : "e" , "ᶓ" : "e" , "ɔ" : "o" , "ᶗ" : "o" , "ȣ" : "ou" , "ṕ" : "p" , "ṗ" : "p" , "ꝓ" : "p" , "ƥ" : "p" , "ᵱ" : "p" , "ᶈ" : "p" , "ꝕ" : "p" , "ᵽ" : "p" , "ꝑ" : "p" , "ꝙ" : "q" , "ʠ" : "q" , "ɋ" : "q" , "ꝗ" : "q" , "ŕ" : "r" , "ř" : "r" , "ŗ" : "r" , "ṙ" : "r" , "ṛ" : "r" , "ṝ" : "r" , "ȑ" : "r" , "ɾ" : "r" , "ᵳ" : "r" , "ȓ" : "r" , "ṟ" : "r" , "ɼ" : "r" , "ᵲ" : "r" , "ᶉ" : "r" , "ɍ" : "r" , "ɽ" : "r" , "ↄ" : "c" , "ꜿ" : "c" , "ɘ" : "e" , "ɿ" : "r" , "ś" : "s" , "ṥ" : "s" , "š" : "s" , "ṧ" : "s" , "ş" : "s" , "ŝ" : "s" , "ș" : "s" , "ṡ" : "s" , "ṣ" : "s" , "ṩ" : "s" , "ʂ" : "s" , "ᵴ" : "s" , "ᶊ" : "s" , "ȿ" : "s" , "ɡ" : "g" , "ß" : "ss" , "ᴑ" : "o" , "ᴓ" : "o" , "ᴝ" : "u" , "ť" : "t" , "ţ" : "t" , "ṱ" : "t" , "ț" : "t" , "ȶ" : "t" , "ẗ" : "t" , "ⱦ" : "
var t = + e . slice ( 1 , - 1 ) , n = t + a ; return n < r . length ? ve ( r [ n ] ) : e } ) , s += "\nhttp://errors.angularjs.org/1.5.7/" + ( e ? e + "/" : "" ) + o , i = a , n = "?" ; i < r . length ; i ++ , n = "&" ) s += n + "p" + ( i - a ) + "=" + encodeURIComponent ( ve ( r [ i ] ) ) ; return new t ( s ) } } function n ( e ) { if ( null == e || T ( e ) ) return ! 1 ; if ( Yi ( e ) || w ( e ) || Fi && e instanceof Fi ) return ! 0 ; var t = "length" in Object ( e ) && e . length ; return k ( t ) && ( t >= 0 && ( t - 1 in e || e instanceof Array ) || "function" == typeof e . item ) } function i ( e , t , a ) { var r , o ; if ( e ) if ( S ( e ) ) for ( r in e ) "prototype" == r || "length" == r || "name" == r || e . hasOwnProperty && ! e . hasOwnProperty ( r ) || t . call ( a , e [ r ] , r , e ) ; else if ( Yi ( e ) || n ( e ) ) { var s = "object" != typeof e ; for ( r = 0 , o = e . length ; r < o ; r ++ ) ( s || r in e ) && t . call ( a , e [ r ] , r , e ) } else if ( e . forEach && e . forEach !== i ) e . forEach ( t , a , e ) ; else if ( b ( e ) ) for ( r in e ) t . call ( a , e [ r ] , r , e ) ; else if ( "function" == typeof e . hasOwnProperty ) for ( r in e ) e . hasOwnProperty ( r ) && t . call ( a , e [ r ] , r , e ) ; else for ( r in e ) Pi . call ( e , r ) && t . call ( a , e [ r ] , r , e ) ; return e } function a ( e , t , n ) { for ( var i = Object . keys ( e ) . sort ( ) , a = 0 ; a < i . length ; a ++ ) t . call ( n , e [ i [ a ] ] , i [ a ] ) ; return i } function r ( e ) { return function ( t , n ) { e ( n , t ) } } function o ( ) { return ++ Ki } function s ( e , t ) { t ? e . $$hashKey = t : delete e . $$hashKey } function l ( e , t , n ) { for ( var i = e . $$hashKey , a = 0 , r = t . length ; a < r ; ++ a ) { var o = t [ a ] ; if ( y ( o ) || S ( o ) ) for ( var c = Object . keys ( o ) , d = 0 , u = c . length ; d < u ; d ++ ) { var p = c [ d ] , f = o [ p ] ; n && y ( f ) ? M ( f ) ? e [ p ] = new Date ( f . valueOf ( ) ) : A ( f ) ? e [ p ] = new RegExp ( f ) : f . nodeName ? e [ p ] = f . cloneNode ( ! 0 ) : O ( f ) ? e [ p ] = f . clone ( ) : ( y ( e [ p ] ) || ( e [ p ] = Yi ( f ) ? [ ] : { } ) , l ( e [ p ] , [ f ] , ! 0 ) ) : e [ p ] = f } } return s ( e , i ) , e } function c ( e ) { return l ( e , Hi . call ( arguments , 1 ) , ! 1 ) } function d ( e ) { return l ( e , Hi . call ( arguments , 1 ) , ! 0 ) } function u ( e ) { return parseInt ( e , 10 ) } function p ( e , t ) { return c ( Object . create ( e ) , t ) } function f ( ) { } function m ( e ) { return e } function h ( e ) { return function ( ) { return e } } function g ( e ) { return S ( e . toString ) && e . toString !== qi } function _ ( e ) { return "undefined" == typeof e } function v ( e ) { return "undefined" != typeof e } function y ( e ) { return null !== e && "object" == typeof e } function b ( e ) { return null !== e && "object" == typeof e && ! zi ( e ) } function w ( e ) { return "string" == typeof e } function k ( e ) { return "number" == typeof e } function M ( e ) { return "[object Date]" === qi . call ( e ) } function S ( e ) { return "function" == typeof e } function A ( e ) { return "[object RegExp]" === qi . call ( e ) } function T ( e ) { return e && e . window === e } function C ( e ) { return e && e . $evalAsync && e . $watch } function E ( e ) { return "[object File]" === qi . call ( e ) } function $ ( e ) { return "[object FormData]" === qi . call ( e ) } function I ( e ) { return "[object Blob]" === qi . call ( e ) } function x ( e ) { return "boolean" == typeof e } function P ( e ) { return e && S ( e . then ) } function D ( e ) { return e && k ( e . length ) && Xi . test ( qi . call ( e ) ) } function R ( e ) { return "[object ArrayBuffer]" === qi . call ( e ) } function O ( e ) { return ! ( ! e || ! ( e . nodeName || e . prop && e . attr && e . find ) ) } function N ( e ) { var t , n = { } , i = e . split ( "," ) ; for ( t = 0 ; t < i . length ; t ++ ) n [ i [ t ] ] = ! 0 ; return n } function L ( e ) { return Di ( e . nodeName || e [ 0 ] && e [ 0 ] . nodeName ) } function F ( e , t ) { var n = e . indexOf ( t ) ; return n >= 0 && e . splice ( n , 1 ) , n } function U ( e , t ) { function n ( e , t ) { var n , i = t . $$hashKey ; if ( Yi ( e ) ) for ( var r = 0 , o = e . length ; r < o ; r ++ ) t . push ( a ( e [ r ] ) ) ; else if ( b ( e ) ) for ( n in e ) t [ n ] = a ( e [ n ] ) ; else if ( e && "function" == typeof e . hasOwnProperty ) for ( n in e ) e . hasOwnProperty ( n ) && ( t [ n ] = a ( e [ n ] ) ) ; else for ( n in e ) Pi . call ( e , n ) && ( t [ n ] = a ( e [ n ] ) ) ; return s ( t , i ) , t } function a ( e ) { if ( ! y ( e ) ) return e ; var t = o . indexOf ( e ) ; if ( t !== - 1 ) return l [ t ] ; if ( T ( e ) || C ( e ) ) throw Wi ( "cpws" , "Can't copy! Making copies of Window or Scope instances is not supported." ) ; var i = ! 1 , a = r ( e ) ; return void 0 === a && ( a = Yi ( e ) ? [ ] : Object . create ( zi ( e ) ) , i = ! 0 ) , o . push ( e ) , l . push ( a ) , i ? n ( e , a ) : a } function r ( e ) { switch ( qi . call ( e ) ) { case "[object Int8Array]" : case "[object Int16Array]" : case "[object Int32Array]" : case "[object Float32Array]" : case "[object Float64Array]" : case "[object Uint8Array]" : case "[object Uint8ClampedArray]" : case "[object Uint16Array]" : case "[object Uint32Array]" : return new e . constructor ( a ( e . buffer ) , e . byteOffset , e . length ) ; case "[object ArrayBuffer]" : if ( ! e . slice ) { var t = new ArrayBuffer ( e . byteLength ) ; return new Uint8Array ( t ) . set ( new Uint8Array ( e ) ) , t } return e . slice ( 0 ) ; case "[object Boolean]" : case "[object Number]" : case "[object String]" : case "[object Date]" : return new e . constructor ( e . valueOf ( ) ) ; case " [ object RegE
e . hasAttribute ( n ) && a -- ) , i . push ( e ) , e = e . nextSibling } while ( a > 0 ) } else i . push ( e ) ; return Fi ( i ) } function K ( e , t , n ) { return function ( i , a , r , o , s ) { return a = G ( a [ 0 ] , t , n ) , e ( i , a , r , o , s ) } } function Y ( e , t , n , i , a , r ) { var o ; return e ? U ( t , n , i , a , r ) : function ( ) { return o || ( o = U ( t , n , i , a , r ) , t = n = r = null ) , o . apply ( this , arguments ) } } function J ( e , t , n , r , o , s , l , d , u ) { function p ( e , t , n , i ) { e && ( n && ( e = K ( e , n , i ) ) , e . require = m . require , e . directiveName = h , ( A === m || m . $$isolateScope ) && ( e = he ( e , { isolateScope : ! 0 } ) ) , l . push ( e ) ) , t && ( n && ( t = K ( t , n , i ) ) , t . require = m . require , t . directiveName = h , ( A === m || m . $$isolateScope ) && ( t = he ( t , { isolateScope : ! 0 } ) ) , d . push ( t ) ) } function f ( e , r , o , s , u ) { function p ( e , t , n , i ) { var a ; if ( C ( e ) || ( i = n , n = t , t = e , e = void 0 ) , x && ( a = b ) , n || ( n = x ? E . parent ( ) : E ) , ! i ) return u ( e , t , a , n , F ) ; var r = u . $$slots [ i ] ; if ( r ) return r ( e , t , a , n , F ) ; if ( _ ( r ) ) throw Wa ( "noslot" , 'No parent directive that requires a transclusion with slot name "{0}". Element: {1}' , i , X ( E ) ) } var f , m , h , g , v , b , w , E , $ , I ; t === o ? ( $ = n , E = n . $$element ) : ( E = Fi ( o ) , $ = new R ( E , n ) ) , v = r , A ? g = r . $new ( ! 0 ) : k && ( v = r . $parent ) , u && ( w = p , w . $$boundTransclude = u , w . isSlotFilled = function ( e ) { return ! ! u . $$slots [ e ] } ) , M && ( b = Q ( E , $ , w , M , g , r , A ) ) , A && ( U . $$addScopeInfo ( E , g , ! 0 , ! ( T && ( T === A || T === A . $$originalDirective ) ) ) , U . $$addScopeClass ( E , ! 0 ) , g . $$isolateBindings = A . $$isolateBindings , I = _e ( r , $ , g , g . $$isolateBindings , A ) , I . removeWatches && g . $on ( "$destroy" , I . removeWatches ) ) ; for ( var P in b ) { var D = M [ P ] , O = b [ P ] , N = D . $$bindings . bindToController ; O . identifier && N ? O . bindingInfo = _e ( v , $ , O . instance , N , D ) : O . bindingInfo = { } ; var L = O ( ) ; L !== O . instance && ( O . instance = L , E . data ( "$" + D . name + "Controller" , L ) , O . bindingInfo . removeWatches && O . bindingInfo . removeWatches ( ) , O . bindingInfo = _e ( v , $ , O . instance , N , D ) ) } for ( i ( M , function ( e , t ) { var n = e . require ; e . bindToController && ! Yi ( n ) && y ( n ) && c ( b [ t ] . instance , Z ( t , n , E , b ) ) } ) , i ( b , function ( e ) { var t = e . instance ; if ( S ( t . $onChanges ) ) try { t . $onChanges ( e . bindingInfo . initialChanges ) } catch ( n ) { a ( n ) } if ( S ( t . $onInit ) ) try { t . $onInit ( ) } catch ( n ) { a ( n ) } S ( t . $onDestroy ) && v . $on ( "$destroy" , function ( ) { t . $onDestroy ( ) } ) } ) , f = 0 , m = l . length ; f < m ; f ++ ) h = l [ f ] , ge ( h , h . isolateScope ? g : r , E , $ , h . require && Z ( h . directiveName , h . require , E , b ) , w ) ; var F = r ; for ( A && ( A . template || null === A . templateUrl ) && ( F = g ) , e && e ( F , o . childNodes , void 0 , u ) , f = d . length - 1 ; f >= 0 ; f -- ) h = d [ f ] , ge ( h , h . isolateScope ? g : r , E , $ , h . require && Z ( h . directiveName , h . require , E , b ) , w ) ; i ( b , function ( e ) { var t = e . instance ; S ( t . $postLink ) && t . $postLink ( ) } ) } u = u || { } ; for ( var m , h , g , v , b , w = - Number . MAX _VALUE , k = u . newScopeDirective , M = u . controllerDirectives , A = u . newIsolateScopeDirective , T = u . templateDirective , E = u . nonTlbTranscludeDirective , $ = ! 1 , I = ! 1 , x = u . hasElementTranscludeDirective , P = n . $$element = Fi ( t ) , D = s , O = r , N = ! 1 , F = ! 1 , B = 0 , H = e . length ; B < H ; B ++ ) { m = e [ B ] ; var q = m . $$start , z = m . $$end ; if ( q && ( P = G ( t , q , z ) ) , g = void 0 , w > m . priority ) break ; if ( ( b = m . scope ) && ( m . templateUrl || ( y ( b ) ? ( oe ( "new/isolated scope" , A || k , m , P ) , A = m ) : oe ( "new/isolated scope" , A , m , P ) ) , k = k || m ) , h = m . name , ! N && ( m . replace && ( m . templateUrl || m . template ) || m . transclude && ! m . $$tlb ) ) { for ( var J , te = B + 1 ; J = e [ te ++ ] ; ) if ( J . transclude && ! J . $$tlb || J . replace && ( J . templateUrl || J . template ) ) { F = ! 0 ; break } N = ! 0 } if ( ! m . templateUrl && m . controller && ( b = m . controller , M = M || me ( ) , oe ( "'" + h + "' controller" , M [ h ] , m , P ) , M [ h ] = m ) , b = m . transclude ) if ( $ = ! 0 , m . $$tlb || ( oe ( "transclusion" , E , m , P ) , E = m ) , "element" == b ) x = ! 0 , w = m . priority , g = P , P = n . $$element = Fi ( U . $$createComment ( h , n [ h ] ) ) , t = P [ 0 ] , fe ( o , j ( g ) , t ) , g [ 0 ] . $$parentNode = g [ 0 ] . parentNode , O = Y ( F , g , r , w , D && D . name , { nonTlbTranscludeDirective : E } ) ; else { var ne = me ( ) ; if ( g = Fi ( Ie ( t ) ) . contents ( ) , y ( b ) ) { g = [ ] ; var re = me ( ) , se = me ( ) ; i ( b , function ( e , t ) { var n = "?" === e . charAt ( 0 ) ; e = n ? e . substring ( 1 ) : e , re [ e ] = t , ne [ t ] = null , se [ t ] = n } ) , i ( P . contents ( ) , function ( e ) { var t = re [ gt ( L ( e ) ) ] ; t ? ( se [ t ] = ! 0 , ne [ t ] = ne [ t ] || [ ] , ne [ t ] . push ( e ) ) : g . push ( e ) } ) , i ( se , function ( e , t ) { if ( ! e ) throw Wa ( "reqslot" , "Required transclusion slot `{0}` was not filled." , t ) } ) ; for ( var le in ne ) ne [ le ] && ( ne [ le ] = Y ( F , ne [ le ] , r ) ) } P . empty ( ) , O = Y ( F , g , r , void 0 , void 0 , { needsNewScope : m . $$isolateScope || m . $$newScope } ) , O . $$slots = ne } if ( m . template ) if ( I = ! 0 , oe ( "template" , T , m , P ) , T = m , b = S ( m . template ) ? m . template ( P , n ) : m . template , b = Ae ( b ) , m . replace ) { if ( D = m , g = ke ( b ) ? [ ] : vt ( de ( m . templateNamespace , Ji ( b ) ) ) , t = g [ 0 ] , 1 != g . length || t . nodeType !== ra ) throw Wa ( "tplrt" , " Template for directive '{0}' must h
n = ! 0 , a = [ ] , i ( e . elements , function ( e ) { cn ( e , t ) , n = n && e . constant , e . constant || a . push . apply ( a , e . toWatch ) } ) , e . constant = n , e . toWatch = a ; break ; case _r . ObjectExpression : n = ! 0 , a = [ ] , i ( e . properties , function ( e ) { cn ( e . value , t ) , n = n && e . value . constant && ! e . computed , e . value . constant || a . push . apply ( a , e . value . toWatch ) } ) , e . constant = n , e . toWatch = a ; break ; case _r . ThisExpression : e . constant = ! 1 , e . toWatch = [ ] ; break ; case _r . LocalsExpression : e . constant = ! 1 , e . toWatch = [ ] } } function dn ( e ) { if ( 1 == e . length ) { var t = e [ 0 ] . expression , n = t . toWatch ; return 1 !== n . length ? n : n [ 0 ] !== t ? n : void 0 } } function un ( e ) { return e . type === _r . Identifier || e . type === _r . MemberExpression } function pn ( e ) { if ( 1 === e . body . length && un ( e . body [ 0 ] . expression ) ) return { type : _r . AssignmentExpression , left : e . body [ 0 ] . expression , right : { type : _r . NGValueParameter } , operator : "=" } } function fn ( e ) { return 0 === e . body . length || 1 === e . body . length && ( e . body [ 0 ] . expression . type === _r . Literal || e . body [ 0 ] . expression . type === _r . ArrayExpression || e . body [ 0 ] . expression . type === _r . ObjectExpression ) } function mn ( e ) { return e . constant } function hn ( e , t ) { this . astBuilder = e , this . $filter = t } function gn ( e , t ) { this . astBuilder = e , this . $filter = t } function _n ( e ) { return "constructor" == e } function vn ( e ) { return S ( e . valueOf ) ? e . valueOf ( ) : yr . call ( e ) } function yn ( ) { var e , t , n = me ( ) , a = me ( ) , r = { "true" : ! 0 , "false" : ! 1 , "null" : null , undefined : void 0 } ; this . addLiteral = function ( e , t ) { r [ e ] = t } , this . setIdentifierFns = function ( n , i ) { return e = n , t = i , this } , this . $get = [ "$filter" , function ( o ) { function s ( e , t , i ) { var r , s , c ; switch ( i = i || b , typeof e ) { case "string" : e = e . trim ( ) , c = e ; var g = i ? a : n ; if ( r = g [ c ] , ! r ) { ":" === e . charAt ( 0 ) && ":" === e . charAt ( 1 ) && ( s = ! 0 , e = e . substring ( 2 ) ) ; var v = i ? y : _ , w = new gr ( v ) , k = new vr ( w , o , v ) ; r = k . parse ( e ) , r . constant ? r . $$watchDelegate = m : s ? r . $$watchDelegate = r . literal ? p : u : r . inputs && ( r . $$watchDelegate = d ) , i && ( r = l ( r ) ) , g [ c ] = r } return h ( r , t ) ; case "function" : return h ( e , t ) ; default : return h ( f , t ) } } function l ( e ) { function t ( t , n , i , a ) { var r = b ; b = ! 0 ; try { return e ( t , n , i , a ) } finally { b = r } } if ( ! e ) return e ; t . $$watchDelegate = e . $$watchDelegate , t . assign = l ( e . assign ) , t . constant = e . constant , t . literal = e . literal ; for ( var n = 0 ; e . inputs && n < e . inputs . length ; ++ n ) e . inputs [ n ] = l ( e . inputs [ n ] ) ; return t . inputs = e . inputs , t } function c ( e , t ) { return null == e || null == t ? e === t : ( "object" != typeof e || ( e = vn ( e ) , "object" != typeof e ) ) && ( e === t || e !== e && t !== t ) } function d ( e , t , n , i , a ) { var r , o = i . inputs ; if ( 1 === o . length ) { var s = c ; return o = o [ 0 ] , e . $watch ( function ( e ) { var t = o ( e ) ; return c ( t , s ) || ( r = i ( e , void 0 , void 0 , [ t ] ) , s = t && vn ( t ) ) , r } , t , n , a ) } for ( var l = [ ] , d = [ ] , u = 0 , p = o . length ; u < p ; u ++ ) l [ u ] = c , d [ u ] = null ; return e . $watch ( function ( e ) { for ( var t = ! 1 , n = 0 , a = o . length ; n < a ; n ++ ) { var s = o [ n ] ( e ) ; ( t || ( t = ! c ( s , l [ n ] ) ) ) && ( d [ n ] = s , l [ n ] = s && vn ( s ) ) } return t && ( r = i ( e , void 0 , void 0 , d ) ) , r } , t , n , a ) } function u ( e , t , n , i ) { var a , r ; return a = e . $watch ( function ( e ) { return i ( e ) } , function ( e , n , i ) { r = e , S ( t ) && t . apply ( this , arguments ) , v ( e ) && i . $$postDigest ( function ( ) { v ( r ) && a ( ) } ) } , n ) } function p ( e , t , n , a ) { function r ( e ) { var t = ! 0 ; return i ( e , function ( e ) { v ( e ) || ( t = ! 1 ) } ) , t } var o , s ; return o = e . $watch ( function ( e ) { return a ( e ) } , function ( e , n , i ) { s = e , S ( t ) && t . call ( this , e , n , i ) , r ( e ) && i . $$postDigest ( function ( ) { r ( s ) && o ( ) } ) } , n ) } function m ( e , t , n , i ) { var a ; return a = e . $watch ( function ( e ) { return a ( ) , i ( e ) } , t , n ) } function h ( e , t ) { if ( ! t ) return e ; var n = e . $$watchDelegate , i = ! 1 , a = n !== p && n !== u , r = a ? function ( n , a , r , o ) { var s = i && o ? o [ 0 ] : e ( n , a , r , o ) ; return t ( s , n , a ) } : function ( n , i , a , r ) { var o = e ( n , i , a , r ) , s = t ( o , n , i ) ; return v ( o ) ? s : o } ; return e . $$watchDelegate && e . $$watchDelegate !== d ? r . $$watchDelegate = e . $$watchDelegate : t . $stateful || ( r . $$watchDelegate = d , i = ! e . inputs , r . inputs = e . inputs ? e . inputs : [ e ] ) , r } var g = Qi ( ) . noUnsafeEval , _ = { csp : g , expensiveChecks : ! 1 , literals : U ( r ) , isIdentifierStart : S ( e ) && e , isIdentifierContinue : S ( t ) && t } , y = { csp : g , expensiveChecks : ! 0 , literals : U ( r ) , isIdentifierStart : S ( e ) && e , isIdentifierContinue : S ( t ) && t } , b = ! 1 ; return s . $$runningExpensiveChecks = function ( ) { return b } , s } ] } function bn ( ) { this . $get = [ "$rootScope" , "$exceptionHandler" , function ( e , t ) { return kn ( function ( t ) { e . $evalAsync ( t ) } , t ) } ] } function wn ( ) { this . $get = [ "$browser" , "$exceptionHandler" , function ( e , t ) { return kn ( function ( t ) { e . defer ( t ) } , t ) } ] } function kn ( e , n ) { function a ( ) { this . $$state = { status : 0 } } function r ( e , t ) { return function ( n ) { t . call ( e ,
} ) , i . $formatters . push ( function ( e ) { if ( ! i . $isEmpty ( e ) ) { if ( ! k ( e ) ) throw Co ( "numfmt" , "Expected `{0}` to be a number" , e ) ; e = e . toString ( ) } return e } ) , v ( n . min ) || n . ngMin ) { var o ; i . $validators . min = function ( e ) { return i . $isEmpty ( e ) || _ ( o ) || e >= o } , n . $observe ( "min" , function ( e ) { v ( e ) && ! k ( e ) && ( e = parseFloat ( e , 10 ) ) , o = k ( e ) && ! isNaN ( e ) ? e : void 0 , i . $validate ( ) } ) } if ( v ( n . max ) || n . ngMax ) { var s ; i . $validators . max = function ( e ) { return i . $isEmpty ( e ) || _ ( s ) || e <= s } , n . $observe ( "max" , function ( e ) { v ( e ) && ! k ( e ) && ( e = parseFloat ( e , 10 ) ) , s = k ( e ) && ! isNaN ( e ) ? e : void 0 , i . $validate ( ) } ) } } function wi ( e , t , n , i , a , r ) { hi ( e , t , n , i , a , r ) , fi ( i ) , i . $$parserName = "url" , i . $validators . url = function ( e , t ) { var n = e || t ; return i . $isEmpty ( n ) || Hr . test ( n ) } } function ki ( e , t , n , i , a , r ) { hi ( e , t , n , i , a , r ) , fi ( i ) , i . $$parserName = "email" , i . $validators . email = function ( e , t ) { var n = e || t ; return i . $isEmpty ( n ) || jr . test ( n ) } } function Mi ( e , t , n , i ) { _ ( n . name ) && t . attr ( "name" , o ( ) ) ; var a = function ( e ) { t [ 0 ] . checked && i . $setViewValue ( n . value , e && e . type ) } ; t . on ( "click" , a ) , i . $render = function ( ) { var e = n . value ; t [ 0 ] . checked = e == i . $viewValue } , n . $observe ( "value" , i . $render ) } function Si ( e , t , n , i , a ) { var r ; if ( v ( i ) ) { if ( r = e ( i ) , ! r . constant ) throw Co ( "constexpr" , "Expected constant expression for `{0}`, but saw `{1}`." , n , i ) ; return r ( t ) } return a } function Ai ( e , t , n , i , a , r , o , s ) { var l = Si ( s , e , "ngTrueValue" , n . ngTrueValue , ! 0 ) , c = Si ( s , e , "ngFalseValue" , n . ngFalseValue , ! 1 ) , d = function ( e ) { i . $setViewValue ( t [ 0 ] . checked , e && e . type ) } ; t . on ( "click" , d ) , i . $render = function ( ) { t [ 0 ] . checked = i . $viewValue } , i . $isEmpty = function ( e ) { return e === ! 1 } , i . $formatters . push ( function ( e ) { return B ( e , l ) } ) , i . $parsers . push ( function ( e ) { return e ? l : c } ) } function Ti ( e , t ) { return e = "ngClass" + e , [ "$animate" , function ( n ) { function a ( e , t ) { var n = [ ] ; e : for ( var i = 0 ; i < e . length ; i ++ ) { for ( var a = e [ i ] , r = 0 ; r < t . length ; r ++ ) if ( a == t [ r ] ) continue e ; n . push ( a ) } return n } function r ( e ) { var t = [ ] ; return Yi ( e ) ? ( i ( e , function ( e ) { t = t . concat ( r ( e ) ) } ) , t ) : w ( e ) ? e . split ( " " ) : y ( e ) ? ( i ( e , function ( e , n ) { e && ( t = t . concat ( n . split ( " " ) ) ) } ) , t ) : e } return { restrict : "AC" , link : function ( o , s , l ) { function c ( e ) { var t = u ( e , 1 ) ; l . $addClass ( t ) } function d ( e ) { var t = u ( e , - 1 ) ; l . $removeClass ( t ) } function u ( e , t ) { var n = s . data ( "$classCounts" ) || me ( ) , a = [ ] ; return i ( e , function ( e ) { ( t > 0 || n [ e ] ) && ( n [ e ] = ( n [ e ] || 0 ) + t , n [ e ] === + ( t > 0 ) && a . push ( e ) ) } ) , s . data ( "$classCounts" , n ) , a . join ( " " ) } function p ( e , t ) { var i = a ( t , e ) , r = a ( e , t ) ; i = u ( i , 1 ) , r = u ( r , - 1 ) , i && i . length && n . addClass ( s , i ) , r && r . length && n . removeClass ( s , r ) } function f ( e ) { if ( t === ! 0 || ( 1 & o . $index ) === t ) { var n = r ( e || [ ] ) ; if ( m ) { if ( ! B ( e , m ) ) { var i = r ( m ) ; p ( i , n ) } } else c ( n ) } m = Yi ( e ) ? e . map ( function ( e ) { return ge ( e ) } ) : ge ( e ) } var m ; o . $watch ( l [ e ] , f , ! 0 ) , l . $observe ( "class" , function ( t ) { f ( o . $eval ( l [ e ] ) ) } ) , "ngClass" !== e && o . $watch ( "$index" , function ( n , i ) { var a = 1 & n ; if ( a !== ( 1 & i ) ) { var s = r ( o . $eval ( l [ e ] ) ) ; a === t ? c ( s ) : d ( s ) } } ) } } } ] } function Ci ( e ) { function t ( e , t , s ) { _ ( t ) ? n ( "$pending" , e , s ) : i ( "$pending" , e , s ) , x ( t ) ? t ? ( d ( o . $error , e , s ) , c ( o . $$success , e , s ) ) : ( c ( o . $error , e , s ) , d ( o . $$success , e , s ) ) : ( d ( o . $error , e , s ) , d ( o . $$success , e , s ) ) , o . $pending ? ( a ( So , ! 0 ) , o . $valid = o . $invalid = void 0 , r ( "" , null ) ) : ( a ( So , ! 1 ) , o . $valid = Ei ( o . $error ) , o . $invalid = ! o . $valid , r ( "" , o . $valid ) ) ; var l ; l = o . $pending && o . $pending [ e ] ? void 0 : ! o . $error [ e ] && ( ! ! o . $$success [ e ] || null ) , r ( e , l ) , o . $$parentForm . $setValidity ( e , l , o ) } function n ( e , t , n ) { o [ e ] || ( o [ e ] = { } ) , c ( o [ e ] , t , n ) } function i ( e , t , n ) { o [ e ] && d ( o [ e ] , t , n ) , Ei ( o [ e ] ) && ( o [ e ] = void 0 ) } function a ( e , t ) { t && ! l [ e ] ? ( u . addClass ( s , e ) , l [ e ] = ! 0 ) : ! t && l [ e ] && ( u . removeClass ( s , e ) , l [ e ] = ! 1 ) } function r ( e , t ) { e = e ? "-" + se ( e , "-" ) : "" , a ( vo + e , t === ! 0 ) , a ( yo + e , t === ! 1 ) } var o = e . ctrl , s = e . $element , l = { } , c = e . set , d = e . unset , u = e . $animate ; l [ yo ] = ! ( l [ vo ] = s . hasClass ( vo ) ) , o . $setValidity = t } function Ei ( e ) { if ( e ) for ( var t in e ) if ( e . hasOwnProperty ( t ) ) return ! 1 ; return ! 0 } function $i ( e ) { e [ 0 ] . hasAttribute ( "selected" ) && ( e [ 0 ] . selected = ! 0 ) } var Ii = /^\/(.+)\/([a-z]*)$/ , xi = "validity" , Pi = Object . prototype . hasOwnProperty , Di = function ( e ) { return w ( e ) ? e . toLowerCase ( ) : e } , Ri = function ( e ) { return w ( e ) ? e . toUpperCase ( ) : e } , Oi = function ( e ) { return w ( e ) ? e . replace ( /[A-Z]/g , function ( e ) { return String . fromCharCode ( 32 | e . charCodeAt ( 0 ) ) } ) : e } , Ni = function ( e ) { return w ( e ) ? e . replace ( /[a-z]/g , function ( e ) { return String . fromCharCode ( e . charCodeAt ( 0 ) & - 33 ) } ) : e } ; "i" !== "I" . toLowerCase ( ) && ( Di = Oi , Ri = Ni ) ; var Li , Fi
d = p . nonComputedMember ( s , e . property . name ) , ( p . state . expensiveChecks || _n ( e . property . name ) ) && ( d = p . ensureSafeObject ( d ) ) , p . assign ( t , d ) , n && ( n . computed = ! 1 , n . name = e . property . name ) ) } , function ( ) { p . assign ( t , "undefined" ) } ) , a ( t ) } , ! ! r ) ; break ; case _r . CallExpression : t = t || this . nextId ( ) , e . filter ? ( l = p . filter ( e . callee . name ) , c = [ ] , i ( e . arguments , function ( e ) { var t = p . nextId ( ) ; p . recurse ( e , t ) , c . push ( t ) } ) , d = l + "(" + c . join ( "," ) + ")" , p . assign ( t , d ) , a ( t ) ) : ( l = p . nextId ( ) , s = { } , c = [ ] , p . recurse ( e . callee , l , s , function ( ) { p . if _ ( p . notNull ( l ) , function ( ) { p . addEnsureSafeFunction ( l ) , i ( e . arguments , function ( e ) { p . recurse ( e , p . nextId ( ) , void 0 , function ( e ) { c . push ( p . ensureSafeObject ( e ) ) } ) } ) , s . name ? ( p . state . expensiveChecks || p . addEnsureSafeObject ( s . context ) , d = p . member ( s . context , s . name , s . computed ) + "(" + c . join ( "," ) + ")" ) : d = l + "(" + c . join ( "," ) + ")" , d = p . ensureSafeObject ( d ) , p . assign ( t , d ) } , function ( ) { p . assign ( t , "undefined" ) } ) , a ( t ) } ) ) ; break ; case _r . AssignmentExpression : if ( l = this . nextId ( ) , s = { } , ! un ( e . left ) ) throw dr ( "lval" , "Trying to assign a value to a non l-value" ) ; this . recurse ( e . left , void 0 , s , function ( ) { p . if _ ( p . notNull ( s . context ) , function ( ) { p . recurse ( e . right , l ) , p . addEnsureSafeObject ( p . member ( s . context , s . name , s . computed ) ) , p . addEnsureSafeAssignContext ( s . context ) , d = p . member ( s . context , s . name , s . computed ) + e . operator + l , p . assign ( t , d ) , a ( t || d ) } ) } , 1 ) ; break ; case _r . ArrayExpression : c = [ ] , i ( e . elements , function ( e ) { p . recurse ( e , p . nextId ( ) , void 0 , function ( e ) { c . push ( e ) } ) } ) , d = "[" + c . join ( "," ) + "]" , this . assign ( t , d ) , a ( d ) ; break ; case _r . ObjectExpression : c = [ ] , u = ! 1 , i ( e . properties , function ( e ) { e . computed && ( u = ! 0 ) } ) , u ? ( t = t || this . nextId ( ) , this . assign ( t , "{}" ) , i ( e . properties , function ( e ) { e . computed ? ( s = p . nextId ( ) , p . recurse ( e . key , s ) ) : s = e . key . type === _r . Identifier ? e . key . name : "" + e . key . value , l = p . nextId ( ) , p . recurse ( e . value , l ) , p . assign ( p . member ( t , s , e . computed ) , l ) } ) ) : ( i ( e . properties , function ( t ) { p . recurse ( t . value , e . constant ? void 0 : p . nextId ( ) , void 0 , function ( e ) { c . push ( p . escape ( t . key . type === _r . Identifier ? t . key . name : "" + t . key . value ) + ":" + e ) } ) } ) , d = "{" + c . join ( "," ) + "}" , this . assign ( t , d ) ) , a ( t || d ) ; break ; case _r . ThisExpression : this . assign ( t , "s" ) , a ( "s" ) ; break ; case _r . LocalsExpression : this . assign ( t , "l" ) , a ( "l" ) ; break ; case _r . NGValueParameter : this . assign ( t , "v" ) , a ( "v" ) } } , getHasOwnProperty : function ( e , t ) { var n = e + "." + t , i = this . current ( ) . own ; return i . hasOwnProperty ( n ) || ( i [ n ] = this . nextId ( ! 1 , e + "&&(" + this . escape ( t ) + " in " + e + ")" ) ) , i [ n ] } , assign : function ( e , t ) { if ( e ) return this . current ( ) . body . push ( e , "=" , t , ";" ) , e } , filter : function ( e ) { return this . state . filters . hasOwnProperty ( e ) || ( this . state . filters [ e ] = this . nextId ( ! 0 ) ) , this . state . filters [ e ] } , ifDefined : function ( e , t ) { return "ifDefined(" + e + "," + this . escape ( t ) + ")" } , plus : function ( e , t ) { return "plus(" + e + "," + t + ")" } , return _ : function ( e ) { this . current ( ) . body . push ( "return " , e , ";" ) } , if _ : function ( e , t , n ) { if ( e === ! 0 ) t ( ) ; else { var i = this . current ( ) . body ; i . push ( "if(" , e , "){" ) , t ( ) , i . push ( "}" ) , n && ( i . push ( "else{" ) , n ( ) , i . push ( "}" ) ) } } , not : function ( e ) { return "!(" + e + ")" } , notNull : function ( e ) { return e + "!=null" } , nonComputedMember : function ( e , t ) { var n = /[$_a-zA-Z][$_a-zA-Z0-9]*/ , i = /[^$_a-zA-Z0-9]/g ; return n . test ( t ) ? e + "." + t : e + '["' + t . replace ( i , this . stringEscapeFn ) + '"]' } , computedMember : function ( e , t ) { return e + "[" + t + "]" } , member : function ( e , t , n ) { return n ? this . computedMember ( e , t ) : this . nonComputedMember ( e , t ) } , addEnsureSafeObject : function ( e ) { this . current ( ) . body . push ( this . ensureSafeObject ( e ) , ";" ) } , addEnsureSafeMemberName : function ( e ) { this . current ( ) . body . push ( this . ensureSafeMemberName ( e ) , ";" ) } , addEnsureSafeFunction : function ( e ) { this . current ( ) . body . push ( this . ensureSafeFunction ( e ) , ";" ) } , addEnsureSafeAssignContext : function ( e ) { this . current ( ) . body . push ( this . ensureSafeAssignContext ( e ) , ";" ) } , ensureSafeObject : function ( e ) { return "ensureSafeObject(" + e + ",text)" } , ensureSafeMemberName : function ( e ) { return "ensureSafeMemberName(" + e + ",text)" } , ensureSafeFunction : function ( e ) { return "ensureSafeFunction(" + e + ",text)" } , getStringValue : function ( e ) { this . assign ( e , "getStringValue(" + e + ")" ) } , ensureSafeAssignContext : function ( e ) { return "ensureSafeAssignContext(" + e + ",text)" } , lazyRecurse : function ( e , t , n , i , a , r ) { var o = this ; return function ( ) { o . recurse ( e , t , n , i , a , r ) } } , lazyAssign : function ( e , t ) { var n = this ; return functi
return { restrict : "A" , multiElement : ! 0 , link : function ( t , n , i ) { t . $watch ( i . ngShow , function ( t ) { e [ t ? "removeClass" : "addClass" ] ( n , Fo , { tempClasses : Uo } ) } ) } } } ] , Ho = [ "$animate" , function ( e ) { return { restrict : "A" , multiElement : ! 0 , link : function ( t , n , i ) { t . $watch ( i . ngHide , function ( t ) { e [ t ? "addClass" : "removeClass" ] ( n , Fo , { tempClasses : Uo } ) } ) } } } ] , jo = di ( function ( e , t , n ) { e . $watch ( n . ngStyle , function ( e , n ) { n && e !== n && i ( n , function ( e , n ) { t . css ( n , "" ) } ) , e && t . css ( e ) } , ! 0 ) } ) , Vo = [ "$animate" , "$compile" , function ( e , t ) { return { require : "ngSwitch" , controller : [ "$scope" , function ( ) { this . cases = { } } ] , link : function ( n , a , r , o ) { var s = r . ngSwitch || r . on , l = [ ] , c = [ ] , d = [ ] , u = [ ] , p = function ( e , t ) { return function ( ) { e . splice ( t , 1 ) } } ; n . $watch ( s , function ( n ) { var a , r ; for ( a = 0 , r = d . length ; a < r ; ++ a ) e . cancel ( d [ a ] ) ; for ( d . length = 0 , a = 0 , r = u . length ; a < r ; ++ a ) { var s = fe ( c [ a ] . clone ) ; u [ a ] . $destroy ( ) ; var f = d [ a ] = e . leave ( s ) ; f . then ( p ( d , a ) ) } c . length = 0 , u . length = 0 , ( l = o . cases [ "!" + n ] || o . cases [ "?" ] ) && i ( l , function ( n ) { n . transclude ( function ( i , a ) { u . push ( a ) ; var r = n . element ; i [ i . length ++ ] = t . $$createComment ( "end ngSwitchWhen" ) ; var o = { clone : i } ; c . push ( o ) , e . enter ( i , r . parent ( ) , r ) } ) } ) } ) } } } ] , qo = di ( { transclude : "element" , priority : 1200 , require : "^ngSwitch" , multiElement : ! 0 , link : function ( e , t , n , i , a ) { i . cases [ "!" + n . ngSwitchWhen ] = i . cases [ "!" + n . ngSwitchWhen ] || [ ] , i . cases [ "!" + n . ngSwitchWhen ] . push ( { transclude : a , element : t } ) } } ) , zo = di ( { transclude : "element" , priority : 1200 , require : "^ngSwitch" , multiElement : ! 0 , link : function ( e , t , n , i , a ) { i . cases [ "?" ] = i . cases [ "?" ] || [ ] , i . cases [ "?" ] . push ( { transclude : a , element : t } ) } } ) , Wo = t ( "ngTransclude" ) , Go = di ( { restrict : "EAC" , link : function ( e , t , n , i , a ) { function r ( e ) { e . length && ( t . empty ( ) , t . append ( e ) ) } if ( n . ngTransclude === n . $attr . ngTransclude && ( n . ngTransclude = "" ) , ! a ) throw Wo ( "orphan" , "Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}" , X ( t ) ) ; var o = n . ngTransclude || n . ngTranscludeSlot ; a ( r , null , o ) } } ) , Ko = [ "$templateCache" , function ( e ) { return { restrict : "E" , terminal : ! 0 , compile : function ( t , n ) { if ( "text/ng-template" == n . type ) { var i = n . id , a = t [ 0 ] . text ; e . put ( i , a ) } } } } ] , Yo = { $setViewValue : f , $render : f } , Xo = [ "$element" , "$scope" , function ( t , n ) { var i = this , a = new Ze ; i . ngModelCtrl = Yo , i . unknownOption = Fi ( e . document . createElement ( "option" ) ) , i . renderUnknownOption = function ( e ) { var n = "? " + Je ( e ) + " ?" ; i . unknownOption . val ( n ) , t . prepend ( i . unknownOption ) , t . val ( n ) } , n . $on ( "$destroy" , function ( ) { i . renderUnknownOption = f } ) , i . removeUnknownOption = function ( ) { i . unknownOption . parent ( ) && i . unknownOption . remove ( ) } , i . readValue = function ( ) { return i . removeUnknownOption ( ) , t . val ( ) } , i . writeValue = function ( e ) { i . hasOption ( e ) ? ( i . removeUnknownOption ( ) , t . val ( e ) , "" === e && i . emptyOption . prop ( "selected" , ! 0 ) ) : null == e && i . emptyOption ? ( i . removeUnknownOption ( ) , t . val ( "" ) ) : i . renderUnknownOption ( e ) } , i . addOption = function ( e , t ) { if ( t [ 0 ] . nodeType !== la ) { ue ( e , '"option value"' ) , "" === e && ( i . emptyOption = t ) ; var n = a . get ( e ) || 0 ; a . put ( e , n + 1 ) , i . ngModelCtrl . $render ( ) , $i ( t ) } } , i . removeOption = function ( e ) { var t = a . get ( e ) ; t && ( 1 === t ? ( a . remove ( e ) , "" === e && ( i . emptyOption = void 0 ) ) : a . put ( e , t - 1 ) ) } , i . hasOption = function ( e ) { return ! ! a . get ( e ) } , i . registerOption = function ( e , t , n , a , r ) { if ( a ) { var o ; n . $observe ( "value" , function ( e ) { v ( o ) && i . removeOption ( o ) , o = e , i . addOption ( e , t ) } ) } else r ? e . $watch ( r , function ( e , a ) { n . $set ( "value" , e ) , a !== e && i . removeOption ( a ) , i . addOption ( e , t ) } ) : i . addOption ( n . value , t ) ; t . on ( "$destroy" , function ( ) { i . removeOption ( n . value ) , i . ngModelCtrl . $render ( ) } ) } } ] , Jo = function ( ) { function e ( e , t , n , a ) { var r = a [ 1 ] ; if ( r ) { var o = a [ 0 ] ; if ( o . ngModelCtrl = r , t . on ( "change" , function ( ) { e . $apply ( function ( ) { r . $setViewValue ( o . readValue ( ) ) } ) } ) , n . multiple ) { o . readValue = function ( ) { var e = [ ] ; return i ( t . find ( "option" ) , function ( t ) { t . selected && e . push ( t . value ) } ) , e } , o . writeValue = function ( e ) { var n = new Ze ( e ) ; i ( t . find ( "option" ) , function ( e ) { e . selected = v ( n . get ( e . value ) ) } ) } ; var s , l = NaN ; e . $watch ( function ( ) { l !== r . $viewValue || B ( s , r . $viewValue ) || ( s = ge ( r . $viewValue ) , r . $render ( ) ) , l = r . $viewValue } ) , r . $isEmpty = function ( e ) { return ! e || 0 === e . length } } } } function t ( e , t , n , i ) { var a = i [ 1 ] ; if ( a ) { var r = i [ 0 ] ; a . $render = function ( ) { r . writeValue ( a . $viewValue ) } } } return { restrict : "E" , require : [ "select" , "?ngModel" ] , controller : Xo , priority : 1 , link : { pre : e , post :
S . end ( ) ) , void ( o || R ( e ) ) ; t = ! n . structural && c ( n , ! 0 ) ? "setClass" : n . event , L ( e , m ) ; var s = k ( e , t , n . options ) ; S . setHost ( s ) , i ( S , t , "start" , { } ) , s . done ( function ( n ) { l ( ! n ) ; var a = G . get ( u ) ; a && a . counter === Q && R ( v ( e ) ) , i ( S , t , "close" , { } ) } ) } ) , S } function D ( e ) { var t = v ( e ) , n = t . querySelectorAll ( "[" + Ee + "]" ) ; H ( n , function ( e ) { var t = parseInt ( e . getAttribute ( Ee ) ) , n = G . get ( e ) ; if ( n ) switch ( t ) { case m : n . runner . end ( ) ; case d : G . remove ( e ) } } ) } function R ( e ) { var t = v ( e ) ; t . removeAttribute ( Ee ) , G . remove ( t ) } function O ( e , t ) { return v ( e ) === v ( t ) } function N ( e , t , n ) { var i , a = B ( _ [ 0 ] . body ) , r = O ( e , a ) || "HTML" === e [ 0 ] . nodeName , o = O ( e , h ) , s = ! 1 , l = X . get ( v ( e ) ) , c = B . data ( e [ 0 ] , $e ) ; for ( c && ( t = c ) , t = v ( t ) ; t && ( o || ( o = O ( t , h ) ) , t . nodeType === Y ) ; ) { var d = G . get ( t ) || { } ; if ( ! s ) { var u = X . get ( t ) ; if ( u === ! 0 && l !== ! 1 ) { l = ! 0 ; break } u === ! 1 && ( l = ! 1 ) , s = d . structural } if ( z ( i ) || i === ! 0 ) { var p = B . data ( t , ne ) ; W ( p ) && ( i = p ) } if ( s && i === ! 1 ) break ; if ( r || ( r = O ( t , a ) ) , r && o ) break ; t = o || ! ( c = B . data ( t , $e ) ) ? t . parentNode : v ( c ) } var f = ( ! s || i ) && l !== ! 0 ; return f && o && r } function L ( e , t , n ) { n = n || { } , n . state = t ; var i = v ( e ) ; i . setAttribute ( Ee , t ) ; var a = G . get ( i ) , r = a ? U ( a , n ) : n ; G . put ( i , r ) } var G = new w , X = new w , J = null , Z = r . $watch ( function ( ) { return 0 === S . totalPendingRequests } , function ( e ) { e && ( Z ( ) , r . $$postDigest ( function ( ) { r . $$postDigest ( function ( ) { null === J && ( J = ! 0 ) } ) } ) ) } ) , Q = { } , ee = i . classNameFilter ( ) , te = ee ? function ( e ) { return ee . test ( e ) } : function ( ) { return ! 0 } , ie = u ( A ) , ae = e . Node . prototype . contains || function ( e ) { return this === e || ! ! ( 16 & this . compareDocumentPosition ( e ) ) } , re = { on : function ( e , t , n ) { var i = l ( t ) ; Q [ e ] = Q [ e ] || [ ] , Q [ e ] . push ( { node : i , callback : n } ) , B ( t ) . on ( "$destroy" , function ( ) { var a = G . get ( i ) ; a || re . off ( e , t , n ) } ) } , off : function ( e , n , i ) { if ( 1 !== arguments . length || t . isString ( arguments [ 0 ] ) ) { var a = Q [ e ] ; a && ( Q [ e ] = 1 === arguments . length ? null : I ( a , n , i ) ) } else { n = arguments [ 0 ] ; for ( var r in Q ) Q [ r ] = I ( Q [ r ] , n ) } } , pin : function ( e , t ) { n ( K ( e ) , "element" , "not an element" ) , n ( K ( t ) , "parentElement" , "not an element" ) , e . data ( $e , t ) } , push : function ( e , t , n , i ) { return n = n || { } , n . domOperation = i , P ( e , t , n ) } , enabled : function ( e , t ) { var n = arguments . length ; if ( 0 === n ) t = ! ! J ; else { var i = K ( e ) ; if ( i ) { var a = v ( e ) , r = X . get ( a ) ; 1 === n ? t = ! r : X . put ( a , ! t ) } else t = J = ! ! e } return t } } ; return re } ] } ] , xe = [ "$animateProvider" , function ( e ) { function t ( e , t ) { e . data ( s , t ) } function n ( e ) { e . removeData ( s ) } function a ( e ) { return e . data ( s ) } var r = "ng-animate-ref" , o = this . drivers = [ ] , s = "$$animationRunner" ; this . $get = [ "$$jqLite" , "$rootScope" , "$injector" , "$$AnimateRunner" , "$$HashMap" , "$$rAFScheduler" , function ( e , s , l , c , d , m ) { function h ( e ) { function t ( e ) { if ( e . processed ) return e ; e . processed = ! 0 ; var n = e . domNode , i = n . parentNode ; r . put ( n , e ) ; for ( var o ; i ; ) { if ( o = r . get ( i ) ) { o . processed || ( o = t ( o ) ) ; break } i = i . parentNode } return ( o || a ) . children . push ( e ) , e } function n ( e ) { var t , n = [ ] , i = [ ] ; for ( t = 0 ; t < e . children . length ; t ++ ) i . push ( e . children [ t ] ) ; var a = i . length , r = 0 , o = [ ] ; for ( t = 0 ; t < i . length ; t ++ ) { var s = i [ t ] ; a <= 0 && ( a = r , r = 0 , n . push ( o ) , o = [ ] ) , o . push ( s . fn ) , s . children . forEach ( function ( e ) { r ++ , i . push ( e ) } ) , a -- } return o . length && n . push ( o ) , n } var i , a = { children : [ ] } , r = new d ; for ( i = 0 ; i < e . length ; i ++ ) { var o = e [ i ] ; r . put ( o . domNode , e [ i ] = { domNode : o . domNode , fn : o . fn , children : [ ] } ) } for ( i = 0 ; i < e . length ; i ++ ) t ( e [ i ] ) ; return n ( a ) } var g = [ ] , _ = u ( e ) ; return function ( d , u , y ) { function b ( e ) { var t = "[" + r + "]" , n = e . hasAttribute ( r ) ? [ e ] : e . querySelectorAll ( t ) , i = [ ] ; return H ( n , function ( e ) { var t = e . getAttribute ( r ) ; t && t . length && i . push ( e ) } ) , i } function w ( e ) { var t = [ ] , n = { } ; H ( e , function ( e , i ) { var a = e . element , o = v ( a ) , s = e . event , l = [ "enter" , "move" ] . indexOf ( s ) >= 0 , c = e . structural ? b ( o ) : [ ] ; if ( c . length ) { var d = l ? "to" : "from" ; H ( c , function ( e ) { var t = e . getAttribute ( r ) ; n [ t ] = n [ t ] || { } , n [ t ] [ d ] = { animationID : i , element : B ( e ) } } ) } else t . push ( e ) } ) ; var i = { } , a = { } ; return H ( n , function ( n , r ) { var o = n . from , s = n . to ; if ( ! o || ! s ) { var l = o ? o . animationID : s . animationID , c = l . toString ( ) ; return void ( i [ c ] || ( i [ c ] = ! 0 , t . push ( e [ l ] ) ) ) } var d = e [ o . animationID ] , u = e [ s . animationID ] , p = o . animationID . toString ( ) ; if ( ! a [ p ] ) { var f = a [ p ] = { structural : ! 0 , beforeStart : function ( ) { d . beforeStart ( ) , u . beforeStart ( ) } , close : function ( ) { d . close ( ) , u . close ( ) } , classes : k ( d . classes , u . classes ) , from : d , to : u , anchors : [ ] } ; f . classes . length ? t . push ( f ) : ( t . push ( d ) , t . push ( u ) ) } a [ p ] . anchors . push ( { out : o . element , "in" : s . element } ) } ) , t } function k ( e , t ) { e = e . split ( " " ) , t = t . split ( " " ) ; for ( var n = [ ] , i = 0 ; i < e . len
"boolean" == typeof e && ( t = e , e = void 0 ) , t && ( this . $selective = ! 0 ) , "number" == typeof e && e + 1 !== this . currentTrack ? this . play ( e ) : this . playing ? this . pause ( ) : this . play ( ) } , pause : function ( ) { this . $domEl . pause ( ) } , stop : function ( ) { this . reset ( ) } , toggleMute : function ( ) { this . muted = this . $domEl . muted = ! this . $domEl . muted } , next : function ( e ) { var t = this ; if ( t . currentTrack && t . currentTrack < t . tracks ) { var i = e || t . playing ; t . pause ( ) , n ( function ( ) { t . $clearSourceList ( ) , t . $addSourceList ( t . $playlist [ t . currentTrack ] ) , t . load ( i ) , t . currentTrack ++ } ) } } , prev : function ( e ) { var t = this ; if ( t . currentTrack && t . currentTrack - 1 ) { var i = e || t . playing ; t . pause ( ) , n ( function ( ) { t . $clearSourceList ( ) , t . $addSourceList ( t . $playlist [ t . currentTrack - 2 ] ) , t . load ( i ) , t . currentTrack -- } ) } } , setPlaybackRate : function ( e ) { this . $domEl . playbackRate = e } , setVolume : function ( e ) { this . $domEl . volume = e } , seek : function ( e ) { var t , n = 0 ; return "string" != typeof e ? this . $domEl . currentTime = e : ( t = e . split ( ":" ) , n += parseInt ( t . pop ( ) , 10 ) , t . length && ( n += 60 * parseInt ( t . pop ( ) , 10 ) ) , t . length && ( n += 3600 * parseInt ( t . pop ( ) , 10 ) ) , isNaN ( n ) ? void 0 : this . $domEl . currentTime = n ) } , on : function ( e , t ) { return this . $element . on ( e , t ) } , off : function ( e , t ) { return this . $element . off ( e , t ) } , one : function ( e , t ) { return this . $element . one ( e , t ) } , $addSourceList : function ( e ) { var t = this ; if ( angular . isArray ( e ) ) angular . forEach ( e , function ( e , n ) { var i = document . createElement ( "SOURCE" ) ; [ "src" , "type" , "media" ] . forEach ( function ( t ) { void 0 !== e [ t ] && i . setAttribute ( t , e [ t ] ) } ) , t . $element . append ( i ) } ) ; else if ( angular . isObject ( e ) ) { var n = document . createElement ( "SOURCE" ) ; [ "src" , "type" , "media" ] . forEach ( function ( t ) { void 0 !== e [ t ] && n . setAttribute ( t , e [ t ] ) } ) , t . $element . append ( n ) } } , $clearSourceList : function ( ) { this . $element . contents ( ) . remove ( ) } , $formatTime : function ( e ) { if ( e === 1 / 0 ) return "∞" ; var t , n = parseInt ( e / 3600 , 10 ) % 24 , i = parseInt ( e / 60 , 10 ) % 60 , a = parseInt ( e % 60 , 10 ) , r = ( i < 10 ? "0" + i : i ) + ":" + ( a < 10 ? "0" + a : a ) ; return t = n > 0 ? ( n < 10 ? "0" + n : n ) + ":" + r : r } , $attachPlaylist : function ( e ) { void 0 === e || null === e ? this . playlist = [ ] : this . $playlist = e } } , s = function ( e , t , n ) { var a = function ( e ) { e . currentTime = t . currentTime , e . formatTime = e . $formatTime ( e . currentTime ) } , r = { playing : function ( ) { e . $apply ( function ( e ) { e . playing = ! 0 , e . ended = ! 1 } ) } , pause : function ( ) { e . $apply ( function ( e ) { e . playing = ! 1 } ) } , ended : function ( ) { ! e . $selective && e . currentTrack < e . tracks ? e . next ( ! 0 ) : e . $apply ( function ( e ) { e . ended = ! 0 , e . playing = ! 1 , a ( e ) } ) } , timeupdate : i ( 1e3 , ! 1 , function ( ) { e . $apply ( function ( e ) { a ( e ) } ) } ) , loadedmetadata : function ( ) { e . $apply ( function ( e ) { e . currentTrack || e . currentTrack ++ , e . duration = t . duration , e . formatDuration = e . $formatTime ( e . duration ) , t . buffered . length && ( e . loadPercent = Math . round ( t . buffered . end ( t . buffered . length - 1 ) / e . duration * 100 ) ) , a ( e ) } ) } , progress : function ( ) { e . $domEl . buffered . length && e . $apply ( function ( e ) { e . loadPercent = Math . round ( t . buffered . end ( t . buffered . length - 1 ) / e . duration * 100 ) , e . network = "progress" } ) } , volumechange : function ( ) { e . $apply ( function ( e ) { e . volume = t . volume , e . muted = t . muted } ) } , seeked : function ( ) { e . $apply ( function ( e ) { e . seeking = ! 1 } ) } , seeking : function ( ) { e . $apply ( function ( e ) { e . seeking = ! 0 } ) } , ratechange : function ( ) { e . $apply ( function ( e ) { e . playbackRate = t . playbackRate } ) } , stalled : function ( ) { e . $apply ( function ( e ) { e . network = "stalled" } ) } , suspend : function ( ) { e . $apply ( function ( e ) { e . network = "suspend" } ) } } ; angular . forEach ( r , function ( e , t ) { n . on ( t , e ) } ) } , l = function ( t ) { var n = angular . extend ( e . $new ( ! 0 ) , { $element : t , $domEl : t [ 0 ] , $playlist : void 0 , buffered : t [ 0 ] . buffered , played : t [ 0 ] . played , seekable : t [ 0 ] . seekable } , a , o ) ; return s ( n , t [ 0 ] , t ) , n } ; return { scope : ! 1 , link : function ( e , t , n , i ) { var a = n . playlist , o = n . mediaPlayer || n . playerControl , s = new l ( t ) , c = e [ a ] ; if ( c = void 0 === a ? [ ] : void 0 === e [ a ] ? e [ a ] = [ ] : e [ a ] , void 0 !== o && e . $eval ( o + " = player" , { player : s } ) , "AUDIO" !== t [ 0 ] . tagName && "VIDEO" !== t [ 0 ] . tagName && "OGVJS" !== t [ 0 ] . tagName ) return new Error ( "player directive works only when attached to an <audio>/<video> type tag" ) ; var d = [ ] , u = t . find ( "source" ) ; 1 === u . length ? c . unshift ( { src : u [ 0 ] . src , type : u [ 0 ] . type , media : u [ 0 ] . media } ) : u . length > 1 && ( angular . forEach ( u , function ( e ) { d . push ( { src : e . src , type : e . type , media : e . media } ) } ) , c . unshift ( d ) ) , void 0 === a ? s . $attachPlaylist ( c ) : c . length ? ( r ( s ) ( c , void 0 , e ) , e . $watch ( a , r ( s ) , ! 0 ) ) : e . $watch ( a , r ( s ) , ! 0 ) } } } ] ) , angular . module ( " m
var v , y = [ ] ; for ( v = 0 ; 288 > v ; v ++ ) switch ( ! 0 ) { case 143 >= v : y . push ( [ v + 48 , 8 ] ) ; break ; case 255 >= v : y . push ( [ v - 144 + 400 , 9 ] ) ; break ; case 279 >= v : y . push ( [ v - 256 + 0 , 7 ] ) ; break ; case 287 >= v : y . push ( [ v - 280 + 192 , 8 ] ) ; break ; default : e ( "invalid literal: " + v ) } var b = function ( ) { function t ( t ) { switch ( ! 0 ) { case 3 === t : return [ 257 , t - 3 , 0 ] ; case 4 === t : return [ 258 , t - 4 , 0 ] ; case 5 === t : return [ 259 , t - 5 , 0 ] ; case 6 === t : return [ 260 , t - 6 , 0 ] ; case 7 === t : return [ 261 , t - 7 , 0 ] ; case 8 === t : return [ 262 , t - 8 , 0 ] ; case 9 === t : return [ 263 , t - 9 , 0 ] ; case 10 === t : return [ 264 , t - 10 , 0 ] ; case 12 >= t : return [ 265 , t - 11 , 1 ] ; case 14 >= t : return [ 266 , t - 13 , 1 ] ; case 16 >= t : return [ 267 , t - 15 , 1 ] ; case 18 >= t : return [ 268 , t - 17 , 1 ] ; case 22 >= t : return [ 269 , t - 19 , 2 ] ; case 26 >= t : return [ 270 , t - 23 , 2 ] ; case 30 >= t : return [ 271 , t - 27 , 2 ] ; case 34 >= t : return [ 272 , t - 31 , 2 ] ; case 42 >= t : return [ 273 , t - 35 , 3 ] ; case 50 >= t : return [ 274 , t - 43 , 3 ] ; case 58 >= t : return [ 275 , t - 51 , 3 ] ; case 66 >= t : return [ 276 , t - 59 , 3 ] ; case 82 >= t : return [ 277 , t - 67 , 4 ] ; case 98 >= t : return [ 278 , t - 83 , 4 ] ; case 114 >= t : return [ 279 , t - 99 , 4 ] ; case 130 >= t : return [ 280 , t - 115 , 4 ] ; case 162 >= t : return [ 281 , t - 131 , 5 ] ; case 194 >= t : return [ 282 , t - 163 , 5 ] ; case 226 >= t : return [ 283 , t - 195 , 5 ] ; case 257 >= t : return [ 284 , t - 227 , 5 ] ; case 258 === t : return [ 285 , t - 258 , 0 ] ; default : e ( "invalid length: " + t ) } } var n , i , a = [ ] ; for ( n = 3 ; 258 >= n ; n ++ ) i = t ( n ) , a [ n ] = i [ 2 ] << 24 | i [ 1 ] << 16 | i [ 0 ] ; return a } ( ) ; p && new Uint32Array ( b ) ; var w = 0 , k = 1 ; r . prototype . g = function ( ) { for ( ; ! this . o ; ) { var t = o ( this , 3 ) ; switch ( 1 & t && ( this . o = ! 0 ) , t >>>= 1 ) { case 0 : var n = this . input , i = this . c , a = this . b , r = this . a , s = d , c = d , u = d , f = a . length , m = d ; switch ( this . d = this . f = 0 , s = n [ i ++ ] , s === d && e ( Error ( "invalid uncompressed block header: LEN (first byte)" ) ) , c = s , s = n [ i ++ ] , s === d && e ( Error ( "invalid uncompressed block header: LEN (second byte)" ) ) , c |= s << 8 , s = n [ i ++ ] , s === d && e ( Error ( "invalid uncompressed block header: NLEN (first byte)" ) ) , u = s , s = n [ i ++ ] , s === d && e ( Error ( "invalid uncompressed block header: NLEN (second byte)" ) ) , u |= s << 8 , c === ~ u && e ( Error ( "invalid uncompressed block header: length verify" ) ) , i + c > n . length && e ( Error ( "input buffer is broken" ) ) , this . k ) { case w : for ( ; r + c > a . length ; ) { if ( m = f - r , c -= m , p ) a . set ( n . subarray ( i , i + m ) , r ) , r += m , i += m ; else for ( ; m -- ; ) a [ r ++ ] = n [ i ++ ] ; this . a = r , a = this . e ( ) , r = this . a } break ; case k : for ( ; r + c > a . length ; ) a = this . e ( { t : 2 } ) ; break ; default : e ( Error ( "invalid inflate mode" ) ) } if ( p ) a . set ( n . subarray ( i , i + c ) , r ) , r += c , i += c ; else for ( ; c -- ; ) a [ r ++ ] = n [ i ++ ] ; this . c = i , this . a = r , this . b = a ; break ; case 1 : this . l ( F , B ) ; break ; case 2 : l ( this ) ; break ; default : e ( Error ( "unknown BTYPE: " + t ) ) } } return this . q ( ) } ; var M , S , A = [ 16 , 17 , 18 , 0 , 8 , 7 , 9 , 6 , 10 , 5 , 11 , 4 , 12 , 3 , 13 , 2 , 14 , 1 , 15 ] , T = p ? new Uint16Array ( A ) : A , C = [ 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 13 , 15 , 17 , 19 , 23 , 27 , 31 , 35 , 43 , 51 , 59 , 67 , 83 , 99 , 115 , 131 , 163 , 195 , 227 , 258 , 258 , 258 ] , E = p ? new Uint16Array ( C ) : C , $ = [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 1 , 1 , 1 , 2 , 2 , 2 , 2 , 3 , 3 , 3 , 3 , 4 , 4 , 4 , 4 , 5 , 5 , 5 , 5 , 0 , 0 , 0 ] , I = p ? new Uint8Array ( $ ) : $ , x = [ 1 , 2 , 3 , 4 , 5 , 7 , 9 , 13 , 17 , 25 , 33 , 49 , 65 , 97 , 129 , 193 , 257 , 385 , 513 , 769 , 1025 , 1537 , 2049 , 3073 , 4097 , 6145 , 8193 , 12289 , 16385 , 24577 ] , P = p ? new Uint16Array ( x ) : x , D = [ 0 , 0 , 0 , 0 , 1 , 1 , 2 , 2 , 3 , 3 , 4 , 4 , 5 , 5 , 6 , 6 , 7 , 7 , 8 , 8 , 9 , 9 , 10 , 10 , 11 , 11 , 12 , 12 , 13 , 13 ] , R = p ? new Uint8Array ( D ) : D , O = new ( p ? Uint8Array : Array ) ( 288 ) ; for ( M = 0 , S = O . length ; M < S ; ++ M ) O [ M ] = 143 >= M ? 8 : 255 >= M ? 9 : 279 >= M ? 7 : 8 ; var N , L , F = a ( O ) , U = new ( p ? Uint8Array : Array ) ( 30 ) ; for ( N = 0 , L = U . length ; N < L ; ++ N ) U [ N ] = 5 ; var B = a ( U ) ; r . prototype . l = function ( e , t ) { var n = this . b , i = this . a ; this . r = e ; for ( var a , r , l , c , d = n . length - 258 ; 256 !== ( a = s ( this , e ) ) ; ) if ( 256 > a ) i >= d && ( this . a = i , n = this . e ( ) , i = this . a ) , n [ i ++ ] = a ; else for ( r = a - 257 , c = E [ r ] , 0 < I [ r ] && ( c += o ( this , I [ r ] ) ) , a = s ( this , t ) , l = P [ a ] , 0 < R [ a ] && ( l += o ( this , R [ a ] ) ) , i >= d && ( this . a = i , n = this . e ( ) , i = this . a ) ; c -- ; ) n [ i ] = n [ i ++ - l ] ; for ( ; 8 <= this . d ; ) this . d -= 8 , this . c -- ; this . a = i } , r . prototype . C = function ( e , t ) { var n = this . b , i = this . a ; this . r = e ; for ( var a , r , l , c , d = n . length ; 256 !== ( a = s ( this , e ) ) ; ) if ( 256 > a ) i >= d && ( n = this . e ( ) , d = n . length ) , n [ i ++ ] = a ; else for ( r = a - 257 , c = E [ r ] , 0 < I [ r ] && ( c += o ( this , I [ r ] ) ) , a = s ( this , t ) , l = P [ a ] , 0 < R [ a ] && ( l += o ( this , R [ a ] ) ) , i + c > d && ( n = this . e ( ) , d = n . length ) ; c -- ; ) n [ i ] = n [ i ++ - l ] ; for ( ; 8 <= this . d ; ) this . d -= 8 , this . c -- ; this . a = i } , r . prototype . e = function ( ) { var e , t , n = new ( p ? Uint8Array : Array ) ( this . a - 32768 ) , i = this . a - 32768 , a = this . b ; if ( p ) n . set ( a . subarray ( 32768 , n . length ) ) ; else for ( e = 0 , t = n . length ; e < t ; ++ e ) n [ e ] = a [ e + 32768 ] ; if ( this . i . push ( n ) , this . n += n . length , p ) a . set ( a . subarray ( i , i + 32768 ) ) ; else for ( e = 0 ; 32768 > e ; ++ e ) a [ e
for ( var st = m , st = - 1 ; 16 > st ; ++ st ) ge ( tt , nt + st * fi - 4 , tt , nt + st * fi + 12 ) ; for ( st = - 1 ; 8 > st ; ++ st ) ge ( it , at + st * fi - 4 , it , at + st * fi + 4 ) , ge ( rt , ot + st * fi - 4 , rt , ot + st * fi + 4 ) } else { for ( st = 0 ; 16 > st ; ++ st ) tt [ nt + st * fi - 1 ] = 129 ; for ( st = 0 ; 8 > st ; ++ st ) it [ at + st * fi - 1 ] = 129 , rt [ ot + st * fi - 1 ] = 129 ; 0 < et . d && ( tt [ nt - 1 - fi ] = it [ at - 1 - fi ] = rt [ ot - 1 - fi ] = 129 ) } var lt = et . Xc , ct = 16 * + et . i , dt = et . Sc , ut = 8 * + et . i , pt = et . Vc , ft = 8 * + et . i , mt = et . z , ht = m ; if ( 0 < et . d ) t ( tt , nt - fi , lt , ct , 16 ) , t ( it , at - fi , dt , ut , 8 ) , t ( rt , ot - fi , pt , ft , 8 ) ; else if ( 0 == et . i ) { for ( i = 0 ; 21 > i ; ++ i ) tt [ nt - fi - 1 + i ] = 127 ; for ( i = 0 ; 9 > i ; ++ i ) it [ at - fi - 1 + i ] = 127 ; for ( i = 0 ; 9 > i ; ++ i ) rt [ ot - fi - 1 + i ] = 127 } if ( et . wa ) { var gt = nt - fi + 16 ; 0 < et . d && ( et . i >= et . Ma - 1 ? tt [ gt + 0 ] = tt [ gt + 1 ] = tt [ gt + 2 ] = tt [ gt + 3 ] = lt [ ct + 15 ] : t ( tt , gt + 0 , lt , ct + 16 , 4 ) ) ; for ( var _t = 0 ; 4 > _t ; ++ _t ) tt [ _t + gt + 4 * fi ] = tt [ _t + gt + 4 * fi ] = tt [ _t + gt + 8 * fi ] = tt [ _t + gt + 12 * fi ] = tt [ _t + gt + 0 ] ; for ( ht = 0 ; 16 > ht ; ht ++ ) { var vt = tt , yt = nt + ga [ ht ] ; ca [ et . Eb [ ht ] ] ( vt , yt ) , et . Oa & 1 << ht ? Ui ( mt , 16 * + ht , vt , yt , 0 ) : et . ja & 1 << ht && Hi ( mt , 16 * + ht , vt , yt ) } } else { var bt = he ( et , et . Eb [ 0 ] ) ; if ( da [ bt ] ( tt , nt ) , et . ja ) for ( ht = 0 ; 16 > ht ; ht ++ ) vt = tt , yt = nt + ga [ ht ] , et . Oa & 1 << ht ? Ui ( mt , 16 * + ht , vt , yt , 0 ) : et . ja & 1 << ht && Hi ( mt , 16 * + ht , vt , yt ) } if ( bt = he ( et , et . Tc ) , ua [ bt ] ( it , at ) , ua [ bt ] ( rt , ot ) , 983040 & et . ja ) { var wt = et . z , kt = 256 ; 983040 & et . Oa ? Bi ( wt , kt , it , at ) : ji ( wt , kt , it , at ) } if ( 15728640 & et . ja ) { var Mt = et . z , kt = 320 ; 15728640 & et . Oa ? Bi ( Mt , kt , rt , ot ) : ji ( Mt , kt , rt , ot ) } et . d < et . hb - 1 && ( t ( lt , ct , tt , nt + 15 * fi , 16 ) , t ( dt , ut , it , at + 7 * fi , 8 ) , t ( pt , ft , rt , ot + 7 * fi , 8 ) ) ; var St = e ; if ( 0 < St . A ) { var At = St . M [ 1 + St . i ] , Tt = St . La [ 1 + St . i ] . Nb , Ct = St . Zb [ St . Lb ] ; St . ga . oc && ( Ct += St . ga . Lc [ 0 ] , St . wa && ( Ct += St . ga . Gc [ 0 ] ) ) , Ct = 0 > Ct ? 0 : 63 < Ct ? 63 : Ct , At . zc = Ct , 0 < St . ga . kb && ( Ct = 4 < St . ga . kb ? Ct >> 2 : Ct >> 1 , Ct > 9 - St . ga . kb && ( Ct = 9 - St . ga . kb ) ) , At . yc = 1 > Ct ? 1 : Ct , At . ab = ( ! Tt || St . wa ) + 0 } for ( var Et = m , $t = 8 * St . Ja * St . r , It = St . ca , xt = St . da + 16 * St . i + 16 * St . Ja * St . H , Pt = St . aa , Dt = St . ba + 8 * St . i + $t , Rt = St . ra , Ot = St . sa + 8 * St . i + $t , Et = 0 ; 16 > Et ; ++ Et ) t ( It , xt + Et * St . H , St . Ea , + hi + Et * fi , 16 ) ; for ( Et = 0 ; 8 > Et ; ++ Et ) t ( Pt , Dt + Et * St . r , St . Ea , + gi + Et * fi , 8 ) , t ( Rt , Ot + Et * St . r , St . Ea , + _i + Et * fi , 8 ) } var Nt = e , Lt = o , Ft = 1 , Ut = Nt . oa ; if ( Nt . qb ) { var Bt = Nt . rc , Ft = Ft & WebPWorkerSync ( Bt ) ; if ( p ( Bt . a == OK ) , Ft ) { if ( Ut . N = Lt , Ut . ha = Nt . Ja , Ut . d = Nt . d , Ut . W = Nt . W , Ut . W ) { var Ht = Ut . M ; Ut . M = Nt . M , Nt . M = Ht } WebPWorkerLaunch ( Bt ) , ++ Nt . Ja == Nt . jb && ( Nt . Ja = 0 ) } } else { Ut . d = Nt . d , Ut . W = Nt . W ; t : { var jt = 1 , Vt = Nt . oa , qt = fa [ Nt . A ] , zt = qt * Nt . H , Wt = parseInt ( qt / 2 ) * Nt . r , Gt = 16 * Vt . ha * Nt . H , Kt = 8 * Vt . ha * Nt . r , Yt = Nt . ca , Xt = Nt . da - zt + Gt , Jt = Nt . aa , Zt = Nt . ba - Wt + Kt , Qt = Nt . ra , nn = Nt . sa - Wt + Kt , rn = 0 == Vt . d , on = ( Vt . d >= Nt . hb - 1 ) + 0 , ln = 16 * Vt . d , cn = 16 * ( Vt . d + 1 ) ; if ( Vt . W ) { var dn = Nt , un = g , pn = dn . oa . d ; for ( p ( dn . oa . W ) , un = dn . lb ; un < dn . wb ; ++ un ) { var fn = dn , mn = un , hn = pn , gn = fn . oa , _n = fn . H , vn = gn . M [ 1 + mn ] , yn = fn . ca , bn = fn . da + 16 * gn . ha * _n + 16 * mn , wn = vn . zc , kn = vn . yc , Mn = 2 * wn + kn ; if ( 0 != wn ) if ( 1 == fn . A ) 0 < mn && Zi ( yn , bn , _n , Mn + 4 ) , vn . ab && ea ( yn , bn , _n , Mn ) , 0 < hn && Ji ( yn , bn , _n , Mn + 4 ) , vn . ab && Qi ( yn , bn , _n , Mn ) ; else { var Sn = fn . r , An = fn . aa , Tn = fn . ba + 8 * gn . ha * Sn + 8 * mn , Cn = fn . ra , En = fn . sa + 8 * gn . ha * Sn + 8 * mn , $n = fn . Ac . fb ? 40 <= wn ? 2 : 15 <= wn ? 1 : 0 : 40 <= wn ? 3 : 20 <= wn ? 2 : 15 <= wn ? 1 : 0 ; 0 < mn && ( qi ( yn , bn , _n , Mn + 4 , kn , $n ) , Wi ( An , Tn , Cn , En , Sn , Mn + 4 , kn , $n ) ) , vn . ab && ( Ki ( yn , bn , _n , Mn , kn , $n ) , Xi ( An , Tn , Cn , En , Sn , Mn , kn , $n ) ) , 0 < hn && ( Vi ( yn , bn , _n , Mn + 4 , kn , $n ) , zi ( An , Tn , Cn , En , Sn , Mn + 4 , kn , $n ) ) , vn . ab && ( Gi ( yn , bn , _n , Mn , kn , $n ) , Yi ( An , Tn , Cn , En , Sn , Mn , kn , $n ) ) } } } if ( Lt . put ) { if ( rn ? ( Lt . y = Nt . ca , Lt . D = Nt . da + Gt , Lt . c = Nt . aa , Lt . B = Nt . ba + Kt , Lt . S = Nt . ra , Lt . C = Nt . sa + Kt ) : ( ln -= qt , Lt . y = Yt , Lt . D = Xt , Lt . c = Jt , Lt . B = Zt , Lt . S = Qt , Lt . C = nn ) , on || ( cn -= qt ) , cn > Lt . K && ( cn = Lt . K ) , Nt . Ga != h && ln < cn && ( 0 == ln ? ( Lt . p = F ( Nt , ln , cn - ln ) , Lt . q = 0 ) : Lt . q = F ( Nt , ln , cn - ln ) , Lt . p == h ) ) { Ft = be ( Nt , an , "Could not decode alpha data." ) ; break t } if ( ln < Lt . k ) { var In = Lt . k - ln , ln = Lt . k ; p ( ! ( 1 & In ) ) , Lt . D += Nt . H * In , Lt . B += Nt . r * ( In >> 1 ) , Lt . C += Nt . r * ( In >> 1 ) , Lt . p != h && ( Lt . q += Lt . width * In ) } ln < cn && ( Lt . D += Lt . t , Lt . B += Lt . t >> 1 , Lt . C += Lt . t >> 1 , Lt . p != h && ( Lt . q += Lt . t ) , Lt . w = ln - Lt . k , Lt . m = Lt . Ka - Lt . t , Lt . h = cn - ln , jt = Lt . put ( Lt ) ) } Vt . ha + 1 == Nt . jb && ! on && ( t ( Nt . ca , Nt . da - zt , Yt , Xt + 16 * Nt . H , zt ) , t ( Nt . aa , Nt . ba - Wt , Jt , Zt + 8 * Nt . r , Wt ) , t ( Nt . ra , Nt . sa - Wt , Qt , nn + 8 * Nt . r , Wt ) ) , Ft = jt } } if ( ! Ft ) { l = be ( e , "VP8_STATUS_USER_ABORT" , "Output aborted." ) ; break e } } var xn ; if ( ! ( xn = e . qb && ! WebPWorkerSync ( e . rc ) ) ) { var Pn ; ( Pn = 0 < e . fc ) && ( p ( e ) , p ( 0 < e . fc ) , Pn = ! 1 ) , xn = Pn } l = xn ? 0 : 1 } var Dn = l ; o . Pb && o . Pb ( o ) , l = 1 & Dn } return l ? ( e . za = 0 , l ) : ( Ae ( e ) , 0 ) } function Ae ( e ) { e != h && ( e . ib && ( e . ib = 0 ) , e . ib = h , e . Gb = 0 , e . za = 0 ) } function Te ( e , t ) { return e + ( 1 << t )
this . WebPGetDecoderVersion = this . Ld = function ( ) { return 512 } ; var Ma = [ 0 , 1 , 2 , 3 , 6 , 4 , 5 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6 , 7 , 0 ] , Sa = [ [ 173 , 148 , 140 , 0 ] , [ 176 , 155 , 140 , 135 , 0 ] , [ 180 , 157 , 141 , 134 , 130 , 0 ] , [ 254 , 254 , 243 , 230 , 196 , 177 , 153 , 140 , 133 , 130 , 129 , 0 ] ] , Aa = [ 0 , 1 , 4 , 8 , 5 , 2 , 3 , 6 , 9 , 12 , 13 , 10 , 7 , 11 , 14 , 15 ] , Ta = u ( [ ui , pi ] , "" ) ; c ( 4 , _ ) ; var Ca = [ [ 0 , 0 , 0 , 0 ] , [ 1 , 0 , 0 , 0 ] , [ 0 , 1 , 0 , 0 ] , [ 1 , 1 , 0 , 0 ] , [ 0 , 0 , 1 , 0 ] , [ 1 , 0 , 1 , 0 ] , [ 0 , 1 , 1 , 0 ] , [ 1 , 1 , 1 , 0 ] , [ 0 , 0 , 0 , 1 ] , [ 1 , 0 , 0 , 1 ] , [ 0 , 1 , 0 , 1 ] , [ 1 , 1 , 0 , 1 ] , [ 0 , 0 , 1 , 1 ] , [ 1 , 0 , 1 , 1 ] , [ 0 , 1 , 1 , 1 ] , [ 1 , 1 , 1 , 1 ] ] , Ea = 134480385 , $a = 16 , Ia = - 227 , xa = 482 , Pa = [ Fe , function ( e ) { return e } , function ( e , t , n ) { return t [ n + 0 ] } , function ( e , t , n ) { return t [ n + 1 ] } , function ( e , t , n ) { return t [ n - 1 ] } , function ( e , t , n ) { return Oe ( Oe ( e , t [ n + 1 ] ) , t [ n + 0 ] ) } , function ( e , t , n ) { return Oe ( e , t [ n - 1 ] ) } , function ( e , t , n ) { return Oe ( e , t [ n + 0 ] ) } , function ( e , t , n ) { return Oe ( t [ n - 1 ] , t [ n + 0 ] ) } , function ( e , t , n ) { return Oe ( t [ n + 0 ] , t [ n + 1 ] ) } , function ( e , t , n ) { return Oe ( Oe ( e , t [ n - 1 ] ) , Oe ( t [ n + 0 ] , t [ n + 1 ] ) ) } , function ( e , t , n ) { return 0 >= Math . abs ( ( e >> 24 & 255 ) - ( t [ n - 1 ] >> 24 & 255 ) ) - Math . abs ( ( t [ n + 0 ] >> 24 & 255 ) - ( t [ n - 1 ] >> 24 & 255 ) ) + ( Math . abs ( ( e >> 16 & 255 ) - ( t [ n - 1 ] >> 16 & 255 ) ) - Math . abs ( ( t [ n + 0 ] >> 16 & 255 ) - ( t [ n - 1 ] >> 16 & 255 ) ) ) + ( Math . abs ( ( e >> 8 & 255 ) - ( t [ n - 1 ] >> 8 & 255 ) ) - Math . abs ( ( t [ n + 0 ] >> 8 & 255 ) - ( t [ n - 1 ] >> 8 & 255 ) ) ) + ( Math . abs ( ( 255 & e ) - ( 255 & t [ n - 1 ] ) ) - Math . abs ( ( 255 & t [ n + 0 ] ) - ( 255 & t [ n - 1 ] ) ) ) ? t [ n + 0 ] : e } , function ( e , t , n ) { return ( Ne ( ( e >> 24 & 255 ) + ( t [ n + 0 ] >> 24 & 255 ) - ( t [ n - 1 ] >> 24 & 255 ) ) << 24 | Ne ( ( e >> 16 & 255 ) + ( t [ n + 0 ] >> 16 & 255 ) - ( t [ n - 1 ] >> 16 & 255 ) ) << 16 | Ne ( ( e >> 8 & 255 ) + ( t [ n + 0 ] >> 8 & 255 ) - ( t [ n - 1 ] >> 8 & 255 ) ) << 8 | Ne ( ( 255 & e ) + ( 255 & t [ n + 0 ] ) - ( 255 & t [ n - 1 ] ) ) ) >>> 0 } , function ( e , t , n ) { var i = t [ n - 1 ] ; return e = Oe ( e , t [ n + 0 ] ) , ( Le ( e >> 24 & 255 , i >> 24 & 255 ) << 24 | Le ( e >> 16 & 255 , i >> 16 & 255 ) << 16 | Le ( e >> 8 & 255 , i >> 8 & 255 ) << 8 | Le ( e >> 0 & 255 , i >> 0 & 255 ) ) >>> 0 } , Fe , Fe ] , Da = { Cc : _ , Bc : _ , Kc : _ } , Ra = 16 , Oa = 16 , Na = 16 , La = [ 2 , 3 , 7 ] , Fa = [ 3 , 3 , 11 ] , Ua = 0 , Ba = 1 , Ha = 2 , ja = 3 , Va = 4 , qa = [ En + $n , En , En , En , 40 ] , za = 19 , Wa = [ 17 , 18 , 0 , 1 , 2 , 3 , 4 , 5 , 16 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 ] , Ga = 120 , Ka = [ 24 , 7 , 23 , 25 , 40 , 6 , 39 , 41 , 22 , 26 , 38 , 42 , 56 , 5 , 55 , 57 , 21 , 27 , 54 , 58 , 37 , 43 , 72 , 4 , 71 , 73 , 20 , 28 , 53 , 59 , 70 , 74 , 36 , 44 , 88 , 69 , 75 , 52 , 60 , 3 , 87 , 89 , 19 , 29 , 86 , 90 , 35 , 45 , 68 , 76 , 85 , 91 , 51 , 61 , 104 , 2 , 103 , 105 , 18 , 30 , 102 , 106 , 34 , 46 , 84 , 92 , 67 , 77 , 101 , 107 , 50 , 62 , 120 , 1 , 119 , 121 , 83 , 93 , 17 , 31 , 100 , 108 , 66 , 78 , 118 , 122 , 33 , 47 , 117 , 123 , 49 , 63 , 99 , 109 , 82 , 94 , 0 , 116 , 124 , 65 , 79 , 16 , 32 , 98 , 110 , 48 , 115 , 125 , 81 , 95 , 64 , 114 , 126 , 97 , 111 , 80 , 113 , 127 , 96 , 112 ] , Ya = 1 << $a - 1 , Xa = c ( 256 , 0 ) , Ja = c ( 256 , 0 ) , Za = c ( 256 , v ) , Qa = c ( 256 , v ) , er = c ( xa - Ia , _ ) , tr = c ( xa - Ia , _ ) , nr = 0 , ir = Array ( Zt ) , ar = [ function ( e , t , n , i , a , r , o , s , l , c , d , u , p ) { mt ( e , t , n , i , a , r , o , s , l , c , d , u , p , Ce , 3 ) } , ht , function ( e , t , n , i , a , r , o , s , l , c , d , u , p ) { mt ( e , t , n , i , a , r , o , s , l , c , d , u , p , xe , 3 ) } , gt , _t , vt , function ( e , t , n , i , a , r , o , s , l , c , d , u , p ) { mt ( e , t , n , i , a , r , o , s , l , c , d , u , p , Ee , 2 ) } , ht , gt , _t , vt ] ; this . Hd = function ( e , t , n , i ) { return Ot ( Ut , e , t , n , i ) } , this . Id = function ( e , t , n , i ) { return Ot ( Bt , e , t , n , i ) } , this . Jd = function ( e , t , n , i ) { return Ot ( qt , e , t , n , i ) } , this . Ed = function ( e , t , n , i ) { return Ot ( Vt , e , t , n , i ) } , this . Fd = function ( e , t , n , i ) { return Ot ( Ht , e , t , n , i ) } , this . Gd = function ( e , t , n , i ) { return Ot ( jt , e , t , n , i ) } , this . WebPDecode = this . Dd = function ( t , n , i ) { var a = e ( pn ) , r = "VP8StatusCode" ; return i == h ? nn : ( r = Nt ( t , [ 0 ] , [ n ] , i . input ) , r != en ? r == ln ? an : r : ( a . j = i . j , a . Qa = i . Qa , r = Rt ( t , 0 , [ n ] , a ) ) ) } } } ( ) , function ( e , t ) { "use strict" ; angular . module ( "toaster" , [ ] ) . constant ( "toasterConfig" , { limit : 0 , "tap-to-dismiss" : ! 0 , "close-button" : ! 1 , "close-html" : '<button class="toast-close-button" type="button">×</button>' , "newest-on-top" : ! 0 , "time-out" : 5e3 , "icon-classes" : { error : "toast-error" , info : "toast-info" , wait : "toast-wait" , success : "toast-success" , warning : "toast-warning" } , "body-output-type" : "" , "body-template" : "toasterBodyTmpl.html" , "icon-class" : "toast-info" , "position-class" : "toast-top-right" , "title-class" : "toast-title" , "message-class" : "toast-message" , "prevent-duplicates" : ! 1 , "mouseover-timer-stop" : ! 0 } ) . service ( "toaster" , [ "$rootScope" , "toasterConfig" , function ( e , t ) { function n ( e ) { return function ( t , n , i , a , r , o , s , l , c ) { return angular . isString ( t ) ? this . pop ( e , t , n , i , a , r , o , s , l , c ) : this . pop ( angular . extend ( t , { type : e } ) ) } } var i = function ( ) { var e = { } ; return e . newGuid = function ( ) { return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx" . replace ( /[xy]/g , function ( e ) { var t = 16 * Math . random ( ) | 0 , n = "x" == e ? t : 3 & t | 8 ; return n . toString ( 16 ) } ) } , e } ( ) ; this . pop = function ( t , n , a , r , o , s , l , c , d , u ) { if ( angular . isObject ( t ) ) { var p = t ; this . toast = { type : p . type , title : p
ne . stop ( ) } , 0 ) ; var i = ie ( ) , a = i - _t , r = je - He ; Ye += Math . abs ( r ) , ze += a ; var o = { cpuTime : at , drawingTime : Ge - lt , bufferTime : We - ct , proxyTime : Ke - dt , demuxerTime : 0 , videoTime : 0 , audioTime : 0 , clockTime : je , late : ke || e . dropped , dropped : e . dropped } ; fe && ( o . demuxerTime = fe . demuxerCpuTime - st , o . videoTime += vt - rt , o . audioTime += fe . audioCpuTime - ot ) , o . cpuTime += o . demuxerTime , at = 0 , _t = i , fe ? ( rt = vt , ot = fe . audioCpuTime , st = fe . demuxerCpuTime ) : ( rt = 0 , ot = 0 , st = 0 ) , lt = Ge , ct = We , dt = Ke , n ( "drew frame " + e . frameEndTimestamp + ": clock time " + t ( a ) + " (jitter " + t ( r ) + ") cpu: " + t ( o . cpuTime ) + " (mux: " + t ( o . demuxerTime ) + " buf: " + t ( o . bufferTime ) + " draw: " + t ( o . drawingTime ) + " proxy: " + t ( o . proxyTime ) + ") vid: " + t ( o . videoTime ) + " aud: " + t ( o . audioTime ) ) , f ( "framecallback" , o ) , ( ! yt || i - yt >= bt ) && ( yt = i , f ( "timeupdate" ) ) } function M ( e ) { Error . call ( this , e ) } function S ( e ) { ae . seeking && Te . cancel ( new M ( "cancel for new seek" ) ) , ae . buffering && Ce . cancel ( new M ( "cancel for new seek" ) ) , Ae = ! 1 , $e = ! 1 , Le = ! 1 , ae . seek ( e , Te ) . then ( function ( ) { O ( ) } ) [ "catch" ] ( N ) } function A ( e ) { var t = Math . max ( 0 , ae . length - 65536 ) ; Mt = e , de = new c ( { start : 0 , end : t , process : function ( e , t , n ) { return n != le && ( le = n , ce = ! 1 , fe . flush ( function ( ) { S ( n ) } ) , ! 0 ) } } ) , de . start ( ) } function T ( e , t ) { function i ( n ) { ae && ae . buffering && Ce . cancel ( new M ( "cancel for new seek" ) ) , ae && ae . seeking && Te . cancel ( new M ( "cancel for new seek" ) ) , ge . splice ( 0 , ge . length ) , y ( ) , we = ! 1 , ke = ! 1 , _e && _e . flush ( ) , Y = K . SEEKING , wt = e , se = t , fe ? fe . flush ( n ) : n ( ) } if ( n ( "requested seek to " + e + ", mode " + t ) , ne . readyState == ne . HAVE _NOTHING ) return n ( "not yet loaded; saving seek position for later" ) , void ( Me = e ) ; if ( ae && ! ae . seekable ) throw console . log ( ae ) , new Error ( "Cannot seek a non-seekable stream" ) ; i ( function ( ) { R ( ) || L ( 0 ) } ) , ge . push ( function ( ) { i ( function ( ) { C ( e ) } ) } ) } function C ( e ) { Ae = ! 1 , $e = ! 1 , Le = ! 1 , Y = K . SEEKING , wt = e , kt = - 1 , ce = ! 1 , le = - 1 , nt = [ ] , it = [ ] , Ct = 0 , Et = 0 , ue = ! 1 , fe . seekToKeypoint ( e , function ( t ) { return t ? ( J = X . LINEAR _TO _TARGET , f ( "seeking" ) , ue ? void 0 : void L ( ) ) : void fe . getKeypointOffset ( e , function ( e ) { e > 0 ? ( J = X . LINEAR _TO _TARGET , S ( e ) ) : ( J = X . BISECT _TO _TARGET , A ( wt ) ) , f ( "seeking" ) } ) } ) } function E ( ) { function e ( ) { yt = wt , f ( "timeupdate" ) , f ( "seeked" ) , R ( ) || L ( ) } return J = X . NOT _SEEKING , Y = K . READY , et = fe . frameTimestamp , tt = fe . audioTimestamp , wt = fe . hasAudio ? fe . audioTimestamp : fe . frameTimestamp , be = wt , fe . hasVideo && fe . frameReady ? void fe . decodeFrame ( function ( t ) { t && ( oe && ( ne . removeChild ( oe ) , oe = null ) , ee . drawFrame ( fe . frameBuffer ) ) , e ( ) } ) : void e ( ) } function $ ( ) { var e ; if ( e = fe . hasVideo ? He / 1e3 : 1 / 256 , fe . hasVideo ) { if ( Ct ) return ; if ( ! fe . frameReady ) return void fe . process ( function ( e ) { e ? L ( ) : Ae ? ( n ( "stream ended during linear seeking on video" ) , $e = ! 0 , E ( ) ) : O ( ) } ) ; if ( se === St . FAST && fe . keyframeTimestamp == fe . frameTimestamp ) return void E ( ) ; if ( fe . frameTimestamp + e < wt ) return void fe . decodeFrame ( function ( ) { L ( ) } ) ; if ( ! fe . hasAudio ) return void E ( ) } if ( fe . hasAudio ) { if ( Et ) return ; return fe . audioReady ? fe . audioTimestamp + e < wt ? void fe . decodeAudio ( function ( ) { L ( ) } ) : void E ( ) : void fe . process ( function ( e ) { e ? L ( ) : Ae ? ( n ( "stream ended during linear seeking on audio" ) , $e = ! 0 , E ( ) ) : O ( ) } ) } } function I ( ) { var e , t ; if ( fe . hasVideo ) t = fe . frameTimestamp , e = He / 1e3 ; else { if ( ! fe . hasAudio ) throw new Error ( "Invalid seek state; no audio or video track available" ) ; t = fe . audioTimestamp , e = 1 / 256 } t < 0 ? fe . process ( function ( e ) { if ( e ) L ( ) ; else if ( Ae ) { if ( n ( "stream ended during bisection seek" ) , ! de . right ( ) ) throw n ( "failed going back" ) , new Error ( "not sure what to do" ) } else O ( ) } ) : t - e / 2 > Mt ? de . left ( ) || ( n ( "close enough (left)" ) , wt = t , E ( ) ) : t + e / 2 < Mt ? de . right ( ) || ( n ( "close enough (right)" ) , J = X . LINEAR _TO _TARGET , L ( ) ) : J == X . BISECT _TO _TARGET && fe . hasVideo && fe . keyframeTimestamp < fe . frameTimestamp ? ( n ( "finding the keypoint now" ) , J = X . BISECT _TO _KEYPOINT , A ( fe . keyframeTimestamp ) ) : ( n ( "straight seeking now" ) , J = X . LINEAR _TO _TARGET , L ( ) ) } function x ( ) { He = me . fps > 0 ? 1e3 / me . fps : 16.667 , te . width = me . displayWidth , te . height = me . displayHeight , h . styleManager . appendRule ( "." + H , { width : me . displayWidth + "px" , height : me . displayHeight + "px" } ) , h . updatePositionOnResize ( ) , ee = r . attach ( te , V ) } function P ( ) { if ( ue && ( ue = ! 1 ) , re = null , R ( ) , At > 0 ) throw new Error ( "REENTRANCY FAIL: doProcessing recursing unexpectedly" ) ; var e = 0 ; do { if ( Tt = ! 1 , At ++ , D ( ) , At -- , Tt && R ( ) ) throw new Error ( " REENTRANCY FAIL : waiting on input or codec but asked to keep
n ( ) , c . texParameteri ( c . TEXTURE _2D , c . TEXTURE _WRAP _T , c . CLAMP _TO _EDGE ) , n ( ) , c . texParameteri ( c . TEXTURE _2D , c . TEXTURE _MIN _FILTER , p ) , n ( ) , c . texParameteri ( c . TEXTURE _2D , c . TEXTURE _MAG _FILTER , p ) , n ( ) , c . texImage2D ( c . TEXTURE _2D , 0 , u , d , o , 0 , u , c . UNSIGNED _BYTE , s ) , n ( ) , l } function o ( e , t ) { for ( var n = e * t , i = new Uint32Array ( n ) , a = 0 ; a < n ; a += 4 ) i [ a ] = 255 , i [ a + 1 ] = 65280 , i [ a + 2 ] = 16711680 , i [ a + 3 ] = 4278190080 ; return new Uint8Array ( i . buffer ) } function s ( e ) { if ( u = i ( c . VERTEX _SHADER , a . vertex ) , p = t . stripe ? i ( c . FRAGMENT _SHADER , a . fragmentStripe ) : i ( c . FRAGMENT _SHADER , a . fragment ) , f = c . createProgram ( ) , c . attachShader ( f , u ) , n ( ) , c . attachShader ( f , p ) , n ( ) , c . linkProgram ( f ) , ! c . getProgramParameter ( f , c . LINK _STATUS ) ) { var s = c . getProgramInfoLog ( f ) ; throw c . deleteProgram ( f ) , new Error ( "GL program linking failed: " + s ) } c . useProgram ( f ) , n ( ) , t . stripe && ( r ( "uStripeLuma" , c . TEXTURE3 , 3 , 4 * e . y . stride , e . format . height , o ( e . y . stride , e . format . height ) ) , n ( ) , r ( "uStripeChroma" , c . TEXTURE4 , 4 , 4 * e . u . stride , e . format . chromaHeight , o ( e . u . stride , e . format . chromaHeight ) ) , n ( ) ) } var l = this , c = e . getContext ( "webgl" ) || e . getContext ( "experimental-webgl" ) , d = ! 1 ; if ( null === c ) throw new Error ( "WebGL unavailable" ) ; var u , p , f , m , h , g = new Float32Array ( [ - 1 , - 1 , 1 , - 1 , - 1 , 1 , - 1 , 1 , 1 , - 1 , 1 , 1 ] ) , _ = { } ; return l . drawFrame = function ( t ) { function i ( e , t ) { var i = a . cropLeft / t , r = ( a . cropLeft + a . cropWidth ) / t , o = ( a . cropTop + a . cropHeight ) / a . height , s = a . cropTop / a . height , l = new Float32Array ( [ i , o , r , o , i , s , i , s , r , o , r , s ] ) , d = c . createBuffer ( ) ; c . bindBuffer ( c . ARRAY _BUFFER , d ) , n ( ) , c . bufferData ( c . ARRAY _BUFFER , l , c . STATIC _DRAW ) , n ( ) ; var u = c . getAttribLocation ( f , e ) ; n ( ) , c . enableVertexAttribArray ( u ) , n ( ) , c . vertexAttribPointer ( u , 2 , c . FLOAT , ! 1 , 0 , 0 ) , n ( ) } var a = t . format ; e . width === a . displayWidth && e . height === a . displayHeight || ( e . width = a . displayWidth , e . height = a . displayHeight , l . clear ( ) ) , f || s ( t ) , m = c . createBuffer ( ) , n ( ) , c . bindBuffer ( c . ARRAY _BUFFER , m ) , n ( ) , c . bufferData ( c . ARRAY _BUFFER , g , c . STATIC _DRAW ) , n ( ) ; var o = c . getAttribLocation ( f , "aPosition" ) ; n ( ) , c . enableVertexAttribArray ( o ) , n ( ) , c . vertexAttribPointer ( o , 2 , c . FLOAT , ! 1 , 0 , 0 ) , n ( ) , i ( "aLumaPosition" , t . y . stride ) , i ( "aChromaPosition" , t . u . stride * a . width / a . chromaWidth ) ; r ( "uTextureY" , c . TEXTURE0 , 0 , t . y . stride , a . height , t . y . bytes ) , r ( "uTextureCb" , c . TEXTURE1 , 1 , t . u . stride , a . chromaHeight , t . u . bytes ) , r ( "uTextureCr" , c . TEXTURE2 , 2 , t . v . stride , a . chromaHeight , t . v . bytes ) ; c . drawArrays ( c . TRIANGLES , 0 , g . length / 2 ) , n ( ) } , l . clear = function ( ) { c . viewport ( 0 , 0 , e . width , e . height ) , c . clearColor ( 0 , 0 , 0 , 0 ) , c . clear ( c . COLOR _BUFFER _BIT ) } , l . clear ( ) , l } var i = n ( 13 ) , a = n ( 18 ) ; t . stripe = function ( ) { return navigator . userAgent . indexOf ( "Windows" ) !== - 1 } ( ) , t . isAvailable = function ( ) { var e , n = document . createElement ( "canvas" ) ; n . width = 1 , n . height = 1 ; var i = { } ; try { e = n . getContext ( "webgl" , i ) || n . getContext ( "experimental-webgl" , i ) } catch ( a ) { return ! 1 } if ( e ) { var r = e . TEXTURE0 , o = 4 , s = 4 , l = e . createTexture ( ) , c = new Uint8Array ( o * s ) , d = t . stripe ? o / 4 : o , u = t . stripe ? e . RGBA : e . LUMINANCE , p = t . stripe ? e . NEAREST : e . LINEAR ; e . activeTexture ( r ) , e . bindTexture ( e . TEXTURE _2D , l ) , e . texParameteri ( e . TEXTURE _2D , e . TEXTURE _WRAP _S , e . CLAMP _TO _EDGE ) , e . texParameteri ( e . TEXTURE _2D , e . TEXTURE _WRAP _T , e . CLAMP _TO _EDGE ) , e . texParameteri ( e . TEXTURE _2D , e . TEXTURE _MIN _FILTER , p ) , e . texParameteri ( e . TEXTURE _2D , e . TEXTURE _MAG _FILTER , p ) , e . texImage2D ( e . TEXTURE _2D , 0 , u , d , s , 0 , u , e . UNSIGNED _BYTE , c ) ; var f = e . getError ( ) ; return ! f } return ! 1 } , t . prototype = Object . create ( i . prototype ) , e . exports = t } ( ) } , function ( e , t ) { e . exports = { vertex : "attribute vec2 aPosition;\nattribute vec2 aLumaPosition;\nattribute vec2 aChromaPosition;\nvarying vec2 vLumaPosition;\nvarying vec2 vChromaPosition;\nvoid main() {\n gl_Position = vec4(aPosition, 0, 1);\n vLumaPosition = aLumaPosition;\n vChromaPosition = aChromaPosition;\n}\n" , fragment : " // inspired by https://github.com/mbebenita/Broadway/blob/master/Player/canvas.js\n\nprecision mediump float;\nuniform sampler2D uTextureY;\nuniform sampler2D uTextureCb;\nuniform sampler2D uTextureCr;\nvarying vec2 vLumaPosition;\nvarying vec2 vChromaPosition;\nvoid main() {\n // Y, Cb, and Cr planes are uploaded as LUMINANCE textures.\n float fY = texture2D(uTextureY, vLumaPosition).x;\n float fCb = texture2D(uTextureCb, vChromaPosition).x;\n float fCr = texture2D(uTextureCr, vChromaPosition).x;\n\
r . push ( c ) } return r } , t . prototype . bufferData = function ( e ) { if ( ! this . _backend ) throw "Invalid state: AudioFeeder cannot bufferData before init" ; var t = this . _resample ( e ) ; this . _backend . appendBuffer ( t ) } , t . prototype . getPlaybackState = function ( ) { if ( this . _backend ) return this . _backend . getPlaybackState ( ) ; throw "Invalid state: AudioFeeder cannot getPlaybackState before init" } , t . prototype . waitUntilReady = function ( e ) { if ( ! this . _backend ) throw "Invalid state: AudioFeeder cannot waitUntilReady before init" ; this . _backend . waitUntilReady ( e ) } , t . prototype . start = function ( ) { if ( ! this . _backend ) throw "Invalid state: AudioFeeder cannot start before init" ; this . _backend . start ( ) } , t . prototype . stop = function ( ) { if ( ! this . _backend ) throw "Invalid state: AudioFeeder cannot stop before init" ; this . _backend . stop ( ) } , t . prototype . flush = function ( ) { if ( ! this . _backend ) throw "Invalid state: AudioFeeder cannot flush before init" ; this . _backend . flush ( ) } , t . prototype . close = function ( ) { this . _backend && ( this . _backend . close ( ) , this . _backend = null ) } , t . prototype . onstarved = null , t . prototype . onbufferlow = null , t . isSupported = function ( ) { return ! ! Float32Array && ( i . isSupported ( ) || a . isSupported ( ) ) } , t . initSharedAudioContext = function ( ) { return i . isSupported ( ) ? i . initSharedAudioContext ( ) : null } , e . exports = t } ( ) } , function ( e , t ) { function n ( e , t ) { if ( e < 1 || e !== Math . round ( e ) ) throw "Invalid channel count for BufferQueue" ; this . channels = e , this . bufferSize = t , this . flush ( ) } n . prototype . flush = function ( ) { this . _buffers = [ ] , this . _pendingBuffer = this . createBuffer ( this . bufferSize ) , this . _pendingPos = 0 } , n . prototype . sampleCount = function ( ) { var e = 0 ; return this . _buffers . forEach ( function ( t ) { e += t [ 0 ] . length } ) , e } , n . prototype . createBuffer = function ( e ) { for ( var t = [ ] , n = 0 ; n < this . channels ; n ++ ) t [ n ] = new Float32Array ( e ) ; return t } , n . prototype . validate = function ( e ) { if ( e . length !== this . channels ) return ! 1 ; for ( var t , n = 0 ; n < e . length ; n ++ ) { var i = e [ n ] ; if ( ! ( i instanceof Float32Array ) ) return ! 1 ; if ( 0 == n ) t = i . length ; else if ( i . length !== t ) return ! 1 } return ! 0 } , n . prototype . appendBuffer = function ( e ) { if ( ! this . validate ( e ) ) throw "Invalid audio buffer passed to BufferQueue.appendBuffer" ; for ( var t = e [ 0 ] , n = t . length , i = 0 ; i < n ; i ++ ) { for ( var a = 0 ; a < this . channels ; a ++ ) this . _pendingBuffer [ a ] [ this . _pendingPos ] = e [ a ] [ i ] ; ++ this . _pendingPos == this . bufferSize && ( this . _buffers . push ( this . _pendingBuffer ) , this . _pendingPos = 0 , this . _pendingBuffer = this . createBuffer ( this . bufferSize ) ) } } , n . prototype . prependBuffer = function ( e ) { if ( ! this . validate ( e ) ) throw "Invalid audio buffer passed to BufferQueue.prependBuffer" ; var t = this . _buffers . slice ( 0 ) ; t . push ( this . trimBuffer ( this . _pendingBuffer , 0 , this . _pendingPos ) ) , this . flush ( ) , this . appendBuffer ( e ) ; for ( var n = 0 ; n < t . length ; n ++ ) this . appendBuffer ( t [ n ] ) } , n . prototype . nextBuffer = function ( ) { if ( this . _buffers . length ) return this . _buffers . shift ( ) ; var e = this . trimBuffer ( this . _pendingBuffer , 0 , this . _pendingPos ) ; return this . _pendingBuffer = this . createBuffer ( this . bufferSize ) , this . _pendingPos = 0 , e } , n . prototype . trimBuffer = function ( e , t , n ) { var i = e [ 0 ] . length , a = t + Math . min ( n , i ) ; if ( 0 == t && a >= i ) return e ; for ( var r = [ ] , o = 0 ; o < this . channels ; o ++ ) r [ o ] = e [ o ] . subarray ( t , a ) ; return r } , e . exports = n } , function ( e , t , n ) { ! function ( ) { function t ( e , n , i ) { var r = i . audioContext || t . initSharedAudioContext ( ) ; if ( this . _context = r , this . output = i . output || r . destination , this . rate = r . sampleRate , this . channels = Math . min ( e , 2 ) , i . bufferSize && ( this . bufferSize = 0 | i . bufferSize ) , this . bufferThreshold = 2 * this . bufferSize , this . _bufferQueue = new a ( this . channels , this . bufferSize ) , this . _playbackTimeAtBufferTail = r . currentTime , this . _queuedTime = 0 , this . _delayedTime = 0 , this . _dropped = 0 , this . _liveBuffer = this . _bufferQueue . createBuffer ( this . bufferSize ) , r . createScriptProcessor ) this . _node = r . createScriptProcessor ( this . bufferSize , 0 , this . channels ) ; else { if ( ! r . createJavaScriptNode ) throw new Error ( "Bad version of web audio API?" ) ; this . _node = r . createJavaScriptNode ( this . bufferSize , 0 , this . channels ) } } var i = window . AudioContext || window . webkitAudioContext , a = n ( 1 ) , r = n ( 3 ) ; t . prototype . bufferSize = 4096 , t . prototype . bufferThreshold = 8192 , t . prototype . _volume = 1 , Object . defineProperty ( t . prototype , "volume" , { get : function ( ) { return this . _volume } , set : function ( e ) { this . _volume = + e } } ) , t . prototype . _muted = ! 1 , Object . defineProp
var moduleOverrides = { } ; for ( var key in Module ) Module . hasOwnProperty ( key ) && ( moduleOverrides [ key ] = Module [ key ] ) ; var ENVIRONMENT _IS _WEB = ! 1 , ENVIRONMENT _IS _WORKER = ! 1 , ENVIRONMENT _IS _NODE = ! 1 , ENVIRONMENT _IS _SHELL = ! 1 ; if ( Module . ENVIRONMENT ) if ( "WEB" === Module . ENVIRONMENT ) ENVIRONMENT _IS _WEB = ! 0 ; else if ( "WORKER" === Module . ENVIRONMENT ) ENVIRONMENT _IS _WORKER = ! 0 ; else if ( "NODE" === Module . ENVIRONMENT ) ENVIRONMENT _IS _NODE = ! 0 ; else if ( "SHELL" === Module . ENVIRONMENT ) ENVIRONMENT _IS _SHELL = ! 0 ; else { if ( "PTHREAD" !== Module . ENVIRONMENT ) throw new Error ( "The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL." ) ; ENVIRONMENT _IS _WORKER = ! 0 , ENVIRONMENT _IS _PTHREAD = ! 0 } else ENVIRONMENT _IS _WEB = "object" == typeof window , ENVIRONMENT _IS _WORKER = "function" == typeof importScripts , ENVIRONMENT _IS _NODE = "object" == typeof process && "function" == typeof require && ! ENVIRONMENT _IS _WEB && ! ENVIRONMENT _IS _WORKER , ENVIRONMENT _IS _SHELL = ! ENVIRONMENT _IS _WEB && ! ENVIRONMENT _IS _NODE && ! ENVIRONMENT _IS _WORKER ; if ( ENVIRONMENT _IS _NODE ) { Module . print || ( Module . print = console . log ) , Module . printErr || ( Module . printErr = console . warn ) ; var nodeFS , nodePath ; Module . read = function ( e , t ) { nodeFS || ( nodeFS = require ( "fs" ) ) , nodePath || ( nodePath = require ( "path" ) ) , e = nodePath . normalize ( e ) ; var n = nodeFS . readFileSync ( e ) ; return t ? n : n . toString ( ) } , Module . readBinary = function ( e ) { var t = Module . read ( e , ! 0 ) ; return t . buffer || ( t = new Uint8Array ( t ) ) , assert ( t . buffer ) , t } , Module . load = function ( e ) { globalEval ( read ( e ) ) } , Module . thisProgram || ( process . argv . length > 1 ? Module . thisProgram = process . argv [ 1 ] . replace ( /\\/g , "/" ) : Module . thisProgram = "unknown-program" ) , Module . arguments = process . argv . slice ( 2 ) , "undefined" != typeof module && ( module . exports = Module ) , process . on ( "uncaughtException" , function ( e ) { if ( ! ( e instanceof ExitStatus ) ) throw e } ) , Module . inspect = function ( ) { return "[Emscripten Module object]" } } else if ( ENVIRONMENT _IS _SHELL ) Module . print || ( Module . print = print ) , "undefined" != typeof printErr && ( Module . printErr = printErr ) , "undefined" != typeof read ? Module . read = read : Module . read = function ( ) { throw "no read() available" } , Module . readBinary = function ( e ) { if ( "function" == typeof readbuffer ) return new Uint8Array ( readbuffer ( e ) ) ; var t = read ( e , "binary" ) ; return assert ( "object" == typeof t ) , t } , "undefined" != typeof scriptArgs ? Module . arguments = scriptArgs : "undefined" != typeof arguments && ( Module . arguments = arguments ) , "function" == typeof quit && ( Module . quit = function ( e , t ) { quit ( e ) } ) ; else { if ( ! ENVIRONMENT _IS _WEB && ! ENVIRONMENT _IS _WORKER ) throw "Unknown runtime environment. Where are we?" ; if ( Module . read = function ( e ) { var t = new XMLHttpRequest ; return t . open ( "GET" , e , ! 1 ) , t . send ( null ) , t . responseText } , ENVIRONMENT _IS _WORKER && ( Module . readBinary = function ( e ) { var t = new XMLHttpRequest ; return t . open ( "GET" , e , ! 1 ) , t . responseType = "arraybuffer" , t . send ( null ) , t . response } ) , Module . readAsync = function ( e , t , n ) { var i = new XMLHttpRequest ; i . open ( "GET" , e , ! 0 ) , i . responseType = "arraybuffer" , i . onload = function ( ) { 200 == i . status || 0 == i . status && i . response ? t ( i . response ) : n ( ) } , i . onerror = n , i . send ( null ) } , "undefined" != typeof arguments && ( Module . arguments = arguments ) , "undefined" != typeof console ) Module . print || ( Module . print = function ( e ) { console . log ( e ) } ) , Module . printErr || ( Module . printErr = function ( e ) { console . warn ( e ) } ) ; else { var TRY _USE _DUMP = ! 1 ; Module . print || ( Module . print = TRY _USE _DUMP && "undefined" != typeof dump ? function ( e ) { dump ( e ) } : function ( e ) { } ) } ENVIRONMENT _IS _WORKER && ( Module . load = importScripts ) , "undefined" == typeof Module . setWindowTitle && ( Module . setWindowTitle = function ( e ) { document . title = e } ) } ! Module . load && Module . read && ( Module . load = function ( e ) { globalEval ( Module . read ( e ) ) } ) , Module . print || ( Module . print = function ( ) { } ) , Module . printErr || ( Module . printErr = Module . print ) , Module . arguments || ( Module . arguments = [ ] ) , Module . thisProgram || ( Module . thisProgram = "./this.program" ) , Module . quit || ( Module . quit = function ( e , t ) { throw t } ) , Module . print = Module . print , Module . printErr = Module . printErr , Module . preRun = [ ] , Module . postRun = [ ] ; for ( var key in moduleOverrides ) moduleOverrides . hasOwnProperty ( key ) && ( Module [ key ] = moduleOverrides [ key ] ) ; moduleOverrides = void 0 ; var Runtime = { setTempRet0 : function ( e ) { return tempRet0 = e , e } , getTempRet0 : function ( ) { return tempRet0 } , stackSave : function ( ) { return S
_ogvjs _callback _audio _packet : _ogvjs _callback _audio _packet , _ _ _syscall140 : _ _ _syscall140 , _ _ _syscall146 : _ _ _syscall146 , _ogvjs _callback _video _packet : _ogvjs _callback _video _packet , DYNAMICTOP _PTR : DYNAMICTOP _PTR , tempDoublePtr : tempDoublePtr , ABORT : ABORT , STACKTOP : STACKTOP , STACK _MAX : STACK _MAX , cttz _i8 : cttz _i8 } ; var asm = function ( e , t , n ) { "use asm" ; var i = new e . Int8Array ( n ) ; var a = new e . Int16Array ( n ) ; var r = new e . Int32Array ( n ) ; var o = new e . Uint8Array ( n ) ; var s = new e . Uint16Array ( n ) ; var l = new e . Uint32Array ( n ) ; var c = new e . Float32Array ( n ) ; var d = new e . Float64Array ( n ) ; var u = t . DYNAMICTOP _PTR | 0 ; var p = t . tempDoublePtr | 0 ; var f = t . ABORT | 0 ; var m = t . STACKTOP | 0 ; var h = t . STACK _MAX | 0 ; var g = t . cttz _i8 | 0 ; var _ = 0 ; var v = 0 ; var y = 0 ; var b = 0 ; var w = e . NaN , k = e . Infinity ; var M = 0 , S = 0 , A = 0 , T = 0 , C = 0 , E = 0 , $ = 0 , I = 0 , x = 0 ; var P = 0 ; var D = e . Math . floor ; var R = e . Math . abs ; var O = e . Math . sqrt ; var N = e . Math . pow ; var L = e . Math . cos ; var F = e . Math . sin ; var U = e . Math . tan ; var B = e . Math . acos ; var H = e . Math . asin ; var j = e . Math . atan ; var V = e . Math . atan2 ; var q = e . Math . exp ; var z = e . Math . log ; var W = e . Math . ceil ; var G = e . Math . imul ; var K = e . Math . min ; var Y = e . Math . max ; var X = e . Math . clz32 ; var J = t . abort ; var Z = t . assert ; var Q = t . enlargeMemory ; var ee = t . getTotalMemory ; var te = t . abortOnCannotGrowMemory ; var ne = t . invoke _iiii ; var ie = t . invoke _vi ; var ae = t . invoke _ii ; var re = t . invoke _iiiii ; var oe = t . invoke _iii ; var se = t . invoke _iiiiii ; var le = t . _ogvjs _callback _loaded _metadata ; var ce = t . _ _ _syscall3 ; var de = t . _ _ _lock ; var ue = t . _ _ _syscall6 ; var pe = t . _ _ _setErrNo ; var fe = t . _abort ; var me = t . _ _ _unlock ; var he = t . _emscripten _memcpy _big ; var ge = t . _ _ _syscall54 ; var _e = t . _ogvjs _callback _audio _packet ; var ve = t . _ _ _syscall140 ; var ye = t . _ _ _syscall146 ; var be = t . _ogvjs _callback _video _packet ; var we = 0 ; function ke ( e ) { e = e | 0 ; var t = 0 ; t = m ; m = m + e | 0 ; m = m + 15 & - 16 ; return t | 0 } function Me ( ) { return m | 0 } function Se ( e ) { e = e | 0 ; m = e } function Ae ( e , t ) { e = e | 0 ; t = t | 0 ; m = e ; h = t } function Te ( e , t ) { e = e | 0 ; t = t | 0 ; if ( ! _ ) { _ = e ; v = t } } function Ce ( e ) { e = e | 0 ; P = e } function Ee ( ) { return P | 0 } function $e ( e ) { e = e | 0 ; return i [ ( r [ e >> 2 ] | 0 ) + 5 >> 0 ] & 1 | 0 } function Ie ( e ) { e = e | 0 ; return i [ ( r [ e >> 2 ] | 0 ) + 5 >> 0 ] & 2 | 0 } function xe ( e ) { e = e | 0 ; var t = 0 , n = 0 ; t = r [ e >> 2 ] | 0 ; e = Lr ( o [ t + 13 >> 0 ] | 0 | 0 , 0 , 8 ) | 0 ; n = Lr ( e | ( o [ t + 12 >> 0 ] | 0 ) | 0 , P | 0 , 8 ) | 0 ; e = Lr ( n | ( o [ t + 11 >> 0 ] | 0 ) | 0 , P | 0 , 8 ) | 0 ; n = Lr ( e | ( o [ t + 10 >> 0 ] | 0 ) | 0 , P | 0 , 8 ) | 0 ; e = Lr ( n | ( o [ t + 9 >> 0 ] | 0 ) | 0 , P | 0 , 8 ) | 0 ; n = Lr ( e | ( o [ t + 8 >> 0 ] | 0 ) | 0 , P | 0 , 8 ) | 0 ; e = Lr ( n | ( o [ t + 7 >> 0 ] | 0 ) | 0 , P | 0 , 8 ) | 0 ; return e | ( o [ t + 6 >> 0 ] | 0 ) | 0 } function Pe ( e ) { e = e | 0 ; var t = 0 ; t = r [ e >> 2 ] | 0 ; return ( o [ t + 15 >> 0 ] | 0 ) << 8 | ( o [ t + 14 >> 0 ] | 0 ) | ( o [ t + 16 >> 0 ] | 0 ) << 16 | ( o [ t + 17 >> 0 ] | 0 ) << 24 | 0 } function De ( e , t ) { e = e | 0 ; t = t | 0 ; var n = 0 , i = 0 , a = 0 , o = 0 , s = 0 , l = 0 , c = 0 , d = 0 , u = 0 ; if ( ! e ) { n = - 1 ; return n | 0 } Or ( e + 8 | 0 , 0 , 352 ) | 0 ; r [ e + 4 >> 2 ] = 16384 ; r [ e + 24 >> 2 ] = 1024 ; i = Ar ( 16384 ) | 0 ; r [ e >> 2 ] = i ; a = Ar ( 4096 ) | 0 ; o = e + 16 | 0 ; r [ o >> 2 ] = a ; s = Ar ( 8192 ) | 0 ; l = e + 20 | 0 ; r [ l >> 2 ] = s ; do if ( ! i ) { c = a ; d = a } else { if ( ( s | 0 ) == 0 | ( a | 0 ) == 0 ) { Tr ( i ) ; u = r [ o >> 2 ] | 0 ; c = u ; d = u ; break } r [ e + 336 >> 2 ] = t ; n = 0 ; return n | 0 } while ( 0 ) ; if ( c | 0 ) Tr ( d ) ; d = r [ l >> 2 ] | 0 ; if ( d | 0 ) Tr ( d ) ; Or ( e | 0 , 0 , 360 ) | 0 ; n = - 1 ; return n | 0 } function Re ( e ) { e = e | 0 ; var t = 0 ; if ( ! e ) return 0 ; t = r [ e >> 2 ] | 0 ; if ( t | 0 ) Tr ( t ) ; t = r [ e + 16 >> 2 ] | 0 ; if ( t | 0 ) Tr ( t ) ; t = r [ e + 20 >> 2 ] | 0 ; if ( t | 0 ) Tr ( t ) ; Or ( e | 0 , 0 , 360 ) | 0 ; return 0 } function Oe ( e , t ) { e = e | 0 ; t = t | 0 ; var n = 0 , i = 0 , a = 0 , o = 0 , s = 0 ; n = e + 24 | 0 ; i = r [ n >> 2 ] | 0 ; if ( ( i - t | 0 ) > ( r [ e + 28 >> 2 ] | 0 ) ) { a = 0 ; return a | 0 } if ( ( i | 0 ) > ( 2147483647 - t | 0 ) ) { o = r [ e >> 2 ] | 0 ; if ( o | 0 ) Tr ( o ) ; o = r [ e + 16 >> 2 ] | 0 ; if ( o | 0 ) Tr ( o ) ; o = r [ e + 20 >> 2 ] | 0 ; if ( o | 0 ) Tr ( o ) ; Or ( e | 0 , 0 , 360 ) | 0 ; a = - 1 ; return a | 0 } o = i + t | 0 ; t = ( o | 0 ) < 2147483615 ? o + 32 | 0 : o ; o = e + 16 | 0 ; i = Er ( r [ o >> 2 ] | 0 , t << 2 ) | 0 ; if ( ! i ) { s = r [ e >> 2 ] | 0 ; if ( s | 0 ) Tr ( s ) ; s = r [ o >> 2 ] | 0 ; if ( s | 0 ) Tr ( s ) ; s = r [ e + 20 >> 2 ] | 0 ; if ( s | 0 ) Tr ( s ) ; Or ( e | 0 , 0 , 360 ) | 0 ; a = - 1 ; return a | 0 } r [ o >> 2 ] = i ; i = e + 20 | 0 ; s = Er ( r [ i >> 2 ] | 0 , t << 3 ) | 0 ; if ( s | 0 ) { r [ i >> 2 ] = s ; r [ n >> 2 ] = t ; a = 0 ; return a | 0 } t = r [ e >> 2 ] | 0 ; if ( t | 0 ) Tr ( t ) ; t = r [ o >> 2 ] | 0 ; if ( t | 0 ) Tr ( t ) ; t = r [ i >> 2 ] | 0 ; if ( t | 0 ) Tr ( t ) ; Or ( e | 0 , 0 , 360 ) | 0 ; a = - 1 ; return a | 0 } function Ne ( e ) { e = e | 0 ; if ( ! e ) return 0 ; r [ e >> 2 ] = 0 ; r [ e + 4 >> 2 ] = 0 ; r [ e + 8 >> 2 ] = 0 ; r [ e + 12 >> 2 ] = 0 ; r [ e + 16 >> 2 ] = 0 ; r [ e + 20 >> 2 ] = 0 ; r [ e + 24 >> 2 ] = 0 ; return 0 } function Le ( e ) { e = e | 0 ; var t = 0 ; if ( ! e ) return 0 ; t = r [ e >> 2 ] | 0 ; if ( t | 0 ) Tr ( t ) ; r [ e >> 2 ] = 0 ; r [ e + 4 >> 2 ] = 0 ; r [ e + 8 >> 2 ] = 0 ; r [ e + 12 >> 2 ] = 0 ; r [ e + 16 >> 2 ] = 0 ; r [ e + 20 >> 2 ] = 0 ; r [ e + 24 >> 2 ] = 0 ; return 0 } function Fe ( e , t ) { e = e | 0 ; t = t | 0 ; var n = 0 , i = 0 , a = 0 , o = 0 , s = 0 , l = 0 , c = 0 , d = 0 , u = 0 , p = 0 , f = 0 , m = 0 , h = 0 ; n = e + 4 | 0 ; i = r [ n >> 2 ] | 0 ; if ( ( i | 0 ) <= - 1 ) { a = 0 ; return a | 0 } o = e + 12 | 0 ; s = r [ o >> 2 ] | 0 ; l = e + 8 | 0 ; if ( ! s ) c = i ; else { d
P = b ; m = o ; return _ | 0 } i = It ( r [ d >> 2 ] | 0 ) | 0 ; d = Dr ( s | 0 , f | 0 , i | 0 , P | 0 ) | 0 ; i = p ; r [ i >> 2 ] = d ; r [ i + 4 >> 2 ] = P ; i = p ; d = r [ i + 4 >> 2 ] | 0 ; f = ( r [ u >> 2 ] | 0 ) + 8 | 0 ; s = r [ f + 4 >> 2 ] | 0 ; if ( ( d | 0 ) < ( s | 0 ) | ( ( d | 0 ) == ( s | 0 ) ? ( r [ i >> 2 ] | 0 ) >>> 0 < ( r [ f >> 2 ] | 0 ) >>> 0 : 0 ) ) { f = ( r [ u >> 2 ] | 0 ) + 8 | 0 ; i = r [ f + 4 >> 2 ] | 0 ; s = p ; r [ s >> 2 ] = r [ f >> 2 ] ; r [ s + 4 >> 2 ] = i } i = ( r [ u >> 2 ] | 0 ) + 8 | 0 ; r [ i >> 2 ] = 0 ; r [ i + 4 >> 2 ] = 0 ; h = p ; g = h ; _ = r [ g >> 2 ] | 0 ; v = h + 4 | 0 ; y = v ; b = r [ y >> 2 ] | 0 ; P = b ; m = o ; return _ | 0 } function mt ( e , t , n , i , a ) { e = e | 0 ; t = t | 0 ; n = n | 0 ; i = i | 0 ; a = a | 0 ; var s = 0 , l = 0 , c = 0 , d = 0 , u = 0 , p = 0 , f = 0 , h = 0 , g = 0 , _ = 0 ; s = m ; m = m + 48 | 0 ; l = s + 32 | 0 ; c = s + 28 | 0 ; d = s + 24 | 0 ; u = s + 20 | 0 ; p = s + 16 | 0 ; f = s + 8 | 0 ; h = s + 4 | 0 ; g = s ; r [ c >> 2 ] = e ; r [ d >> 2 ] = t ; r [ u >> 2 ] = n ; r [ p >> 2 ] = i ; r [ s + 12 >> 2 ] = a ; r [ f >> 2 ] = r [ u >> 2 ] ; if ( ( r [ p >> 2 ] | 0 ) < 26 ) { r [ l >> 2 ] = 0 ; _ = r [ l >> 2 ] | 0 ; m = s ; return _ | 0 } if ( ( o [ r [ u >> 2 ] >> 0 ] | 0 | 0 ) != 79 ) { r [ l >> 2 ] = 0 ; _ = r [ l >> 2 ] | 0 ; m = s ; return _ | 0 } if ( Ca ( ( r [ u >> 2 ] | 0 ) + 1 | 0 , 2723 , 4 ) | 0 ) { r [ l >> 2 ] = 0 ; _ = r [ l >> 2 ] | 0 ; m = s ; return _ | 0 } if ( ( o [ ( r [ u >> 2 ] | 0 ) + 5 >> 0 ] | 0 | 0 ) != 1 ) { r [ l >> 2 ] = 0 ; _ = r [ l >> 2 ] | 0 ; m = s ; return _ | 0 } if ( ( o [ ( r [ u >> 2 ] | 0 ) + 6 >> 0 ] | 0 | 0 ) != 1 ) { r [ l >> 2 ] = 0 ; _ = r [ l >> 2 ] | 0 ; m = s ; return _ | 0 } else { r [ h >> 2 ] = gt ( ( r [ f >> 2 ] | 0 ) + 18 | 0 ) | 0 ; r [ g >> 2 ] = gt ( ( r [ f >> 2 ] | 0 ) + 22 | 0 ) | 0 ; f = r [ c >> 2 ] | 0 ; u = r [ d >> 2 ] | 0 ; p = r [ h >> 2 ] | 0 ; h = r [ g >> 2 ] | 0 ; g = Vr ( 1e3 , 0 , h | 0 , ( ( h | 0 ) < 0 ) << 31 >> 31 | 0 ) | 0 ; _t ( f , u , p , ( ( p | 0 ) < 0 ) << 31 >> 31 , g , P ) | 0 ; vt ( r [ c >> 2 ] | 0 , r [ d >> 2 ] | 0 , 32 ) | 0 ; yt ( r [ c >> 2 ] | 0 , r [ d >> 2 ] | 0 , 1 ) | 0 ; r [ l >> 2 ] = 1 ; _ = r [ l >> 2 ] | 0 ; m = s ; return _ | 0 } return 0 } function ht ( e , t , n , i ) { e = e | 0 ; t = t | 0 ; n = n | 0 ; i = i | 0 ; var a = 0 , s = 0 , l = 0 , c = 0 , d = 0 , u = 0 , p = 0 , f = 0 , h = 0 , g = 0 , _ = 0 , v = 0 , y = 0 , b = 0 , w = 0 , k = 0 , M = 0 , S = 0 , A = 0 , T = 0 , C = 0 , E = 0 , $ = 0 ; a = m ; m = m + 80 | 0 ; s = a + 40 | 0 ; l = a + 32 | 0 ; c = a + 68 | 0 ; d = a + 64 | 0 ; u = a + 60 | 0 ; p = a + 56 | 0 ; f = a + 52 | 0 ; h = a + 48 | 0 ; g = a + 24 | 0 ; _ = a + 16 | 0 ; v = a + 8 | 0 ; y = a ; b = l ; r [ b >> 2 ] = e ; r [ b + 4 >> 2 ] = t ; r [ c >> 2 ] = n ; r [ d >> 2 ] = i ; r [ h >> 2 ] = r [ ( r [ c >> 2 ] | 0 ) + 504 >> 2 ] ; if ( ! ( r [ ( r [ c >> 2 ] | 0 ) + 504 >> 2 ] | 0 ) ) { i = Ar ( 8 ) | 0 ; r [ ( r [ c >> 2 ] | 0 ) + 504 >> 2 ] = i ; if ( ! ( r [ ( r [ c >> 2 ] | 0 ) + 504 >> 2 ] | 0 ) ) { i = s ; r [ i >> 2 ] = - 1 ; r [ i + 4 >> 2 ] = - 1 ; w = s ; k = w ; M = r [ k >> 2 ] | 0 ; S = w + 4 | 0 ; A = S ; T = r [ A >> 2 ] | 0 ; P = T ; m = a ; return M | 0 } else { r [ h >> 2 ] = r [ ( r [ c >> 2 ] | 0 ) + 504 >> 2 ] ; r [ ( r [ h >> 2 ] | 0 ) + 4 >> 2 ] = 0 ; r [ r [ h >> 2 ] >> 2 ] = 1 ; i = s ; r [ i >> 2 ] = 0 ; r [ i + 4 >> 2 ] = 0 ; w = s ; k = w ; M = r [ k >> 2 ] | 0 ; S = w + 4 | 0 ; A = S ; T = r [ A >> 2 ] | 0 ; P = T ; m = a ; return M | 0 } } if ( ! ( r [ ( r [ d >> 2 ] | 0 ) + 4 >> 2 ] | 0 ) ) C = 1 ; else C = ( o [ r [ r [ d >> 2 ] >> 2 ] >> 0 ] | 0 | 0 ) == 79 ; r [ u >> 2 ] = C & 1 ; if ( ! ( r [ u >> 2 ] | 0 ) ? ( r [ ( r [ d >> 2 ] | 0 ) + 4 >> 2 ] | 0 ) > 0 : 0 ) E = ( ( o [ r [ r [ d >> 2 ] >> 2 ] >> 0 ] | 0 ) & 1 | 0 ) == 0 ; else E = 0 ; r [ p >> 2 ] = E & 1 ; if ( ! ( r [ u >> 2 ] | 0 ) ? ( r [ ( r [ d >> 2 ] | 0 ) + 4 >> 2 ] | 0 ) > 0 : 0 ) $ = ( ( o [ r [ r [ d >> 2 ] >> 2 ] >> 0 ] | 0 ) >> 4 & 1 | 0 ) != 0 ; else $ = 0 ; r [ f >> 2 ] = $ & 1 ; $ = r [ h >> 2 ] | 0 ; if ( r [ u >> 2 ] | 0 ) r [ $ >> 2 ] = ( r [ $ >> 2 ] | 0 ) + 1 ; else r [ $ + 4 >> 2 ] = 1 ; $ = l ; d = r [ $ + 4 >> 2 ] | 0 ; if ( ( d | 0 ) > - 1 | ( d | 0 ) == - 1 & ( r [ $ >> 2 ] | 0 ) >>> 0 > 4294967295 ) { $ = l ; l = r [ $ + 4 >> 2 ] | 0 ; d = s ; r [ d >> 2 ] = r [ $ >> 2 ] ; r [ d + 4 >> 2 ] = l ; w = s ; k = w ; M = r [ k >> 2 ] | 0 ; S = w + 4 | 0 ; A = S ; T = r [ A >> 2 ] | 0 ; P = T ; m = a ; return M | 0 } if ( ! ( r [ ( r [ h >> 2 ] | 0 ) + 4 >> 2 ] | 0 ) ) { h = s ; r [ h >> 2 ] = 0 ; r [ h + 4 >> 2 ] = 0 ; w = s ; k = w ; M = r [ k >> 2 ] | 0 ; S = w + 4 | 0 ; A = S ; T = r [ A >> 2 ] | 0 ; P = T ; m = a ; return M | 0 } h = ( r [ c >> 2 ] | 0 ) + 488 | 0 ; l = r [ h + 4 >> 2 ] | 0 ; if ( ! ( ( l | 0 ) > 0 | ( l | 0 ) == 0 & ( r [ h >> 2 ] | 0 ) >>> 0 > 0 ) ) { h = s ; r [ h >> 2 ] = - 1 ; r [ h + 4 >> 2 ] = - 1 ; w = s ; k = w ; M = r [ k >> 2 ] | 0 ; S = w + 4 | 0 ; A = S ; T = r [ A >> 2 ] | 0 ; P = T ; m = a ; return M | 0 } h = ( r [ c >> 2 ] | 0 ) + 488 | 0 ; l = r [ h >> 2 ] | 0 ; d = r [ h + 4 >> 2 ] | 0 ; if ( r [ u >> 2 ] | 0 ) { u = s ; r [ u >> 2 ] = l ; r [ u + 4 >> 2 ] = d ; w = s ; k = w ; M = r [ k >> 2 ] | 0 ; S = w + 4 | 0 ; A = S ; T = r [ A >> 2 ] | 0 ; P = T ; m = a ; return M | 0 } u = Pr ( l | 0 , d | 0 , 32 ) | 0 ; d = g ; r [ d >> 2 ] = u ; r [ d + 4 >> 2 ] = P ; d = ( r [ c >> 2 ] | 0 ) + 488 | 0 ; u = Pr ( r [ d >> 2 ] | 0 , r [ d + 4 >> 2 ] | 0 , 30 ) | 0 ; d = _ ; r [ d >> 2 ] = u & 3 ; r [ d + 4 >> 2 ] = 0 ; d = ( r [ c >> 2 ] | 0 ) + 488 | 0 ; c = Pr ( r [ d >> 2 ] | 0 , r [ d + 4 >> 2 ] | 0 , 3 ) | 0 ; d = v ; r [ d >> 2 ] = c & 134217727 ; r [ d + 4 >> 2 ] = 0 ; if ( r [ p >> 2 ] | 0 ) { p = v ; r [ p >> 2 ] = 0 ; r [ p + 4 >> 2 ] = 0 } else { p = v ; d = Rr ( r [ p >> 2 ] | 0 , r [ p + 4 >> 2 ] | 0 , 1 , 0 ) | 0 ; p = v ; r [ p >> 2 ] = d ; r [ p + 4 >> 2 ] = P } do if ( ! ( r [ f >> 2 ] | 0 ) ) { p = _ ; if ( ( r [ p >> 2 ] | 0 ) == 3 & ( r [ p + 4 >> 2 ] | 0 ) == 0 ) { p = _ ; r [ p >> 2 ] = 0 ; r [ p + 4 >> 2 ] = 0 ; break } else { p = _ ; d = Rr ( r [ p >> 2 ] | 0 , r [ p + 4 >> 2 ] | 0 , 1 , 0 ) | 0 ; p = _ ; r [ p >> 2 ] = d ; r [ p + 4 >> 2 ] = P ; break } } else { p = g ; d = Rr ( r [ p >> 2 ] | 0 , r [ p + 4 >> 2 ] | 0 , 1 , 0 ) | 0 ; p = g ; r [ p >> 2 ] = d ; r [ p + 4 >> 2 ] = P ; p = _ ; r [ p >> 2 ] = 3 ; r [ p + 4 >> 2 ] = 0 } while ( 0 ) ; f = r [ g >> 2 ] | 0 ; g = _ ; _ = Lr ( r [ g >> 2 ] | 0 , r [ g + 4 >> 2 ] | 0 , 30 ) | 0 ; g = f | P ; f = v ; v = Lr ( r [ f >> 2 ] | 0 , r [ f + 4 >> 2 ] | 0 , 3 ) | 0 ; f = y ; r [ f >> 2 ] = _ | v ; r [ f + 4 >> 2 ] = g | P ; g = y ; y = r [ g + 4 >> 2 ] | 0 ; f = s ; r [ f >> 2 ] = r [ g >> 2 ] ; r [ f + 4 >> 2 ] = y ; w = s ; k = w ; M = r [ k >> 2 ] | 0 ; S = w + 4 | 0 ; A = S ; T = r [ A >> 2 ] | 0 ; P = T ; m = a ; return M | 0 } function gt ( e ) { e = e | 0 ; var t = 0 , n = 0 ; t = m ; m = m + 16 | 0 ; n = t ; r [ n >> 2 ] = e ; m = t ; return ( o [ r [ n >> 2 ] >> 0 ] | 0 ) << 24 | ( o [ ( r [ n >> 2 ] | 0 ) + 1 >> 0 ] | 0 ) << 16 | ( o [ ( r [ n >> 2 ] | 0 ) + 2 >> 0 ] | 0 ) << 8 | ( o [ ( r [ n >> 2 ] | 0 ) + 3 >> 0 ] | 0 ) | 0 } function _t ( e , t , n , i , a , o ) { e = e | 0 ; t = t | 0 ; n = n | 0 ; i = i | 0 ; a = a | 0 ; o = o | 0 ; var s = 0 , l = 0 , c = 0 , d = 0 , u = 0 , p = 0 , f = 0 , h = 0 ; s = m ; m = m + 32 | 0 ; l = s + 28 | 0 ; c = s + 24 | 0 ; d = s + 20 | 0 ; u = s + 8 | 0 ; p = s ; f = s + 16 | 0 ; r [ c >> 2 ] = e ; r [ d >> 2 ] = t ; t = u ; r [ t >> 2 ] = n ; r [ t + 4 >> 2 ] = i ; i = p ; r [ i >> 2
s = o + 16 | 0 ; l = o + 12 | 0 ; c = o ; d = o + 8 | 0 ; r [ s >> 2 ] = e ; r [ l >> 2 ] = t ; t = c ; r [ t >> 2 ] = n ; r [ t + 4 >> 2 ] = i ; r [ d >> 2 ] = a ; hn ( r [ s >> 2 ] | 0 ) ; a = c ; c = _n ( r [ s >> 2 ] | 0 , r [ l >> 2 ] | 0 , r [ a >> 2 ] | 0 , r [ a + 4 >> 2 ] | 0 , r [ d >> 2 ] | 0 ) | 0 ; m = o ; return c | 0 } function _n ( e , t , n , i , a ) { e = e | 0 ; t = t | 0 ; n = n | 0 ; i = i | 0 ; a = a | 0 ; var o = 0 , s = 0 , l = 0 , c = 0 , d = 0 , u = 0 , p = 0 , f = 0 , h = 0 ; o = m ; m = m + 32 | 0 ; s = o + 28 | 0 ; l = o + 24 | 0 ; c = o + 20 | 0 ; d = o ; u = o + 16 | 0 ; p = o + 12 | 0 ; f = o + 8 | 0 ; r [ l >> 2 ] = e ; r [ c >> 2 ] = t ; t = d ; r [ t >> 2 ] = n ; r [ t + 4 >> 2 ] = i ; r [ u >> 2 ] = a ; r [ p >> 2 ] = ( r [ l >> 2 ] | 0 ) + 112 ; r [ f >> 2 ] = vn ( r [ l >> 2 ] | 0 , r [ c >> 2 ] | 0 , r [ u >> 2 ] | 0 ) | 0 ; if ( ( r [ f >> 2 ] | 0 ) == - 1 ) { r [ s >> 2 ] = - 1 ; h = r [ s >> 2 ] | 0 ; m = o ; return h | 0 } r [ ( r [ l >> 2 ] | 0 ) + 64 >> 2 ] = r [ f >> 2 ] ; l = d ; if ( ( r [ l >> 2 ] | 0 ) != - 1 ? 1 : ( r [ l + 4 >> 2 ] | 0 ) != - 1 ) { l = d ; d = r [ l + 4 >> 2 ] | 0 ; u = ( r [ p >> 2 ] | 0 ) + 416 | 0 ; r [ u >> 2 ] = r [ l >> 2 ] ; r [ u + 4 >> 2 ] = d } r [ s >> 2 ] = r [ f >> 2 ] ; h = r [ s >> 2 ] | 0 ; m = o ; return h | 0 } function vn ( e , t , n ) { e = e | 0 ; t = t | 0 ; n = n | 0 ; var i = 0 , a = 0 , o = 0 , s = 0 , l = 0 , c = 0 , d = 0 , u = 0 ; i = m ; m = m + 32 | 0 ; a = i + 20 | 0 ; o = i + 16 | 0 ; s = i + 12 | 0 ; l = i + 8 | 0 ; c = i + 4 | 0 ; d = i ; r [ o >> 2 ] = e ; r [ s >> 2 ] = t ; r [ l >> 2 ] = n ; r [ c >> 2 ] = ( r [ o >> 2 ] | 0 ) + 112 ; if ( ( yn ( r [ o >> 2 ] | 0 , r [ s >> 2 ] | 0 , r [ l >> 2 ] | 0 ) | 0 ) == - 1 ) { r [ a >> 2 ] = - 1 ; u = r [ a >> 2 ] | 0 ; m = i ; return u | 0 } else { r [ d >> 2 ] = bn ( r [ o >> 2 ] | 0 ) | 0 ; r [ ( r [ o >> 2 ] | 0 ) + 64 >> 2 ] = r [ d >> 2 ] ; je ( r [ c >> 2 ] | 0 ) | 0 ; Zt ( r [ ( r [ o >> 2 ] | 0 ) + 80 >> 2 ] | 0 , 7 ) | 0 ; r [ a >> 2 ] = r [ d >> 2 ] ; u = r [ a >> 2 ] | 0 ; m = i ; return u | 0 } return 0 } function yn ( e , t , n ) { e = e | 0 ; t = t | 0 ; n = n | 0 ; var i = 0 , a = 0 , o = 0 , s = 0 , l = 0 , c = 0 , d = 0 ; i = m ; m = m + 32 | 0 ; a = i + 16 | 0 ; o = i + 12 | 0 ; s = i + 8 | 0 ; l = i + 4 | 0 ; c = i ; r [ o >> 2 ] = e ; r [ s >> 2 ] = t ; r [ l >> 2 ] = n ; n = r [ o >> 2 ] | 0 ; if ( r [ ( r [ o >> 2 ] | 0 ) + 4 >> 2 ] | 0 ) { if ( ( hr ( r [ n + 4 >> 2 ] | 0 , r [ s >> 2 ] | 0 , r [ l >> 2 ] | 0 ) | 0 ) == - 1 ) { ya ( ) | 0 ; r [ a >> 2 ] = - 10 ; d = r [ a >> 2 ] | 0 ; m = i ; return d | 0 } } else { o = r [ n + 8 >> 2 ] | 0 ; r [ c >> 2 ] = o ; if ( ! o ) { r [ a >> 2 ] = - 3 ; d = r [ a >> 2 ] | 0 ; m = i ; return d | 0 } if ( ! ( r [ ( r [ c >> 2 ] | 0 ) + 16 >> 2 ] | 0 ) ) { r [ a >> 2 ] = - 1 ; d = r [ a >> 2 ] | 0 ; m = i ; return d | 0 } if ( ( so [ r [ ( r [ c >> 2 ] | 0 ) + 16 >> 2 ] & 7 ] ( r [ ( r [ c >> 2 ] | 0 ) + 20 >> 2 ] | 0 , r [ s >> 2 ] | 0 , r [ l >> 2 ] | 0 ) | 0 ) == - 1 ) { r [ a >> 2 ] = - 1 ; d = r [ a >> 2 ] | 0 ; m = i ; return d | 0 } } r [ a >> 2 ] = 0 ; d = r [ a >> 2 ] | 0 ; m = i ; return d | 0 } function bn ( e ) { e = e | 0 ; var t = 0 , n = 0 , i = 0 , a = 0 , o = 0 , s = 0 , l = 0 ; t = m ; m = m + 16 | 0 ; n = t + 12 | 0 ; i = t + 8 | 0 ; a = t + 4 | 0 ; o = t ; r [ i >> 2 ] = e ; e = r [ i >> 2 ] | 0 ; do if ( r [ ( r [ i >> 2 ] | 0 ) + 4 >> 2 ] | 0 ) { s = Mr ( r [ e + 4 >> 2 ] | 0 ) | 0 ; r [ o >> 2 ] = s ; if ( ( s | 0 ) == - 1 ) { ya ( ) | 0 ; r [ n >> 2 ] = - 1 } else l = 10 } else { s = r [ e + 8 >> 2 ] | 0 ; r [ a >> 2 ] = s ; if ( ! s ) { r [ n >> 2 ] = - 3 ; break } if ( ! ( r [ ( r [ a >> 2 ] | 0 ) + 24 >> 2 ] | 0 ) ) { r [ n >> 2 ] = - 1 ; break } s = co [ r [ ( r [ a >> 2 ] | 0 ) + 24 >> 2 ] & 15 ] ( r [ ( r [ a >> 2 ] | 0 ) + 28 >> 2 ] | 0 ) | 0 ; r [ o >> 2 ] = s ; if ( ( s | 0 ) == - 1 ) r [ n >> 2 ] = - 1 ; else l = 10 } while ( 0 ) ; if ( ( l | 0 ) == 10 ) r [ n >> 2 ] = r [ o >> 2 ] ; m = t ; return r [ n >> 2 ] | 0 } function wn ( e ) { e = e | 0 ; var t = 0 , n = 0 ; t = m ; m = m + 16 | 0 ; n = t ; r [ n >> 2 ] = e ; e = ( r [ n >> 2 ] | 0 ) + 488 | 0 ; r [ e >> 2 ] = - 1 ; r [ e + 4 >> 2 ] = - 1 ; m = t ; return 0 } function kn ( e ) { e = e | 0 ; var t = 0 , n = 0 , i = 0 ; t = m ; m = m + 16 | 0 ; n = t + 4 | 0 ; i = t ; r [ n >> 2 ] = e ; r [ i >> 2 ] = r [ n >> 2 ] ; if ( ( r [ ( r [ i >> 2 ] | 0 ) + 336 >> 2 ] | 0 ) == - 1 ) { m = t ; return 0 } Ve ( r [ i >> 2 ] | 0 ) | 0 ; m = t ; return 0 } function Mn ( e , t ) { e = e | 0 ; t = t | 0 ; var n = 0 , i = 0 , a = 0 , o = 0 , s = 0 , l = 0 ; n = m ; m = m + 16 | 0 ; i = n + 12 | 0 ; a = n + 8 | 0 ; o = n + 4 | 0 ; s = n ; r [ a >> 2 ] = e ; r [ o >> 2 ] = t ; r [ s >> 2 ] = Ar ( 512 ) | 0 ; if ( ! ( r [ s >> 2 ] | 0 ) ) { r [ i >> 2 ] = 0 ; l = r [ i >> 2 ] | 0 ; m = n ; return l | 0 } De ( r [ s >> 2 ] | 0 , r [ o >> 2 ] | 0 ) | 0 ; o = ( ai ( r [ s >> 2 ] | 0 ) | 0 ) == - 1 ; t = r [ s >> 2 ] | 0 ; if ( o ) { Tr ( t ) ; r [ i >> 2 ] = 0 ; l = r [ i >> 2 ] | 0 ; m = n ; return l | 0 } else { r [ t + 360 >> 2 ] = 15 ; r [ ( r [ s >> 2 ] | 0 ) + 364 >> 2 ] = 3 ; r [ ( r [ s >> 2 ] | 0 ) + 368 >> 2 ] = 0 ; t = ( r [ s >> 2 ] | 0 ) + 376 | 0 ; r [ t >> 2 ] = 1 ; r [ t + 4 >> 2 ] = 0 ; t = ( r [ s >> 2 ] | 0 ) + 384 | 0 ; r [ t >> 2 ] = 1 ; r [ t + 4 >> 2 ] = 0 ; t = ( r [ s >> 2 ] | 0 ) + 392 | 0 ; r [ t >> 2 ] = 0 ; r [ t + 4 >> 2 ] = 0 ; t = ( r [ s >> 2 ] | 0 ) + 400 | 0 ; r [ t >> 2 ] = 0 ; r [ t + 4 >> 2 ] = 0 ; r [ ( r [ s >> 2 ] | 0 ) + 408 >> 2 ] = 0 ; r [ ( r [ s >> 2 ] | 0 ) + 420 >> 2 ] = 0 ; r [ ( r [ s >> 2 ] | 0 ) + 424 >> 2 ] = 1 ; r [ ( r [ s >> 2 ] | 0 ) + 428 >> 2 ] = 0 ; t = ( r [ s >> 2 ] | 0 ) + 432 | 0 ; r [ t >> 2 ] = 0 ; r [ t + 4 >> 2 ] = 0 ; t = ( r [ s >> 2 ] | 0 ) + 440 | 0 ; r [ t >> 2 ] = - 1 ; r [ t + 4 >> 2 ] = - 1 ; r [ ( r [ s >> 2 ] | 0 ) + 448 >> 2 ] = 0 ; r [ ( r [ s >> 2 ] | 0 ) + 452 >> 2 ] = 0 ; r [ ( r [ s >> 2 ] | 0 ) + 456 >> 2 ] = 0 ; r [ ( r [ s >> 2 ] | 0 ) + 460 >> 2 ] = 0 ; r [ ( r [ s >> 2 ] | 0 ) + 464 >> 2 ] = 0 ; r [ ( r [ s >> 2 ] | 0 ) + 468 >> 2 ] = 0 ; r [ ( r [ s >> 2 ] | 0 ) + 472 >> 2 ] = 0 ; r [ ( r [ s >> 2 ] | 0 ) + 476 >> 2 ] = 0 ; r [ ( r [ s >> 2 ] | 0 ) + 480 >> 2 ] = 0 ; r [ ( r [ s >> 2 ] | 0 ) + 504 >> 2 ] = 0 ; Jn ( r [ ( r [ a >> 2 ] | 0 ) + 80 >> 2 ] | 0 , r [ s >> 2 ] | 0 ) | 0 ; r [ i >> 2 ] = r [ s >> 2 ] ; l = r [ i >> 2 ] | 0 ; m = n ; return l | 0 } return 0 } function Sn ( e , t , n , i ) { e = e | 0 ; t = t | 0 ; n = n | 0 ; i = i | 0 ; var a = 0 , o = 0 , s = 0 , l = 0 , c = 0 , d = 0 , u = 0 , p = 0 ; a = m ; m = m + 32 | 0 ; o = a + 20 | 0 ; s = a + 16 | 0 ; l = a + 12 | 0 ; c = a + 8 | 0 ; d = a + 4 | 0 ; u = a ; r [ s >> 2 ] = e ; r [ l >> 2 ] = t ; r [ c >> 2 ] = n ; r [ d >> 2 ] = i ; r [ u >> 2 ] = 0 ; r [ u >> 2 ] = Tt ( r [ s >> 2 ] | 0 , r [ c >> 2 ] | 0 ) | 0 ; if ( ( r [ u >> 2 ] | 0 ) < 0 | ( r [ u >> 2 ] | 0 ) >= 15 ) { r [ o >> 2 ] = 0 ; p = r [ o >> 2 ] | 0 ; m = a ; return p | 0 } if ( ( r [ u >> 2 ] | 0 ) == 6 ? ( r [ ( r [ l >> 2 ] | 0 ) + 8 >> 2 ] | 0 ) == 0 : 0 ) { r [ o >> 2 ] = Ln ( r [ s >> 2 ] | 0 , r [ c >> 2 ] | 0 , r [ r [ l >> 2 ] >> 2 ] | 0 , r [ ( r [ l >> 2 ] | 0 ) + 4 >> 2 ] | 0 , r [ d >> 2 ] | 0 ) | 0 ; p = r [ o >> 2 ] | 0 ; m = a ; return p | 0 } r [ o >> 2 ] = fo [ r [ 1032 + ( ( r [ u >> 2 ] | 0 ) * 24 | 0 ) + 12 >> 2 ] & 31 ] ( r [ s >> 2 ] | 0 , r [ c >> 2 ] | 0 , r [ r [ l >> 2 ] >> 2 ] | 0 , r [ ( r [ l >> 2 ] | 0 ) + 4 >> 2 ] | 0 , r [ d >> 2 ] | 0
var n = 0 , i = 0 , o = 0 , s = 0 , l = 0 , c = 0 ; n = m ; m = m + 16 | 0 ; i = n + 12 | 0 ; o = n + 8 | 0 ; s = n + 4 | 0 ; l = n ; r [ o >> 2 ] = e ; r [ s >> 2 ] = t ; r [ l >> 2 ] = - 1 ; if ( ! ( r [ o >> 2 ] | 0 ) ) { r [ i >> 2 ] = - 2 ; c = r [ i >> 2 ] | 0 ; m = n ; return c | 0 } if ( ! ( r [ s >> 2 ] | 0 ) ) { r [ i >> 2 ] = - 13 ; c = r [ i >> 2 ] | 0 ; m = n ; return c | 0 } if ( r [ ( r [ s >> 2 ] | 0 ) + 12 >> 2 ] | 0 ) { if ( ( r [ ( r [ o >> 2 ] | 0 ) + 120 >> 2 ] | 0 ) != 1 ) { r [ i >> 2 ] = - 1 ; c = r [ i >> 2 ] | 0 ; m = n ; return c | 0 } a [ ( r [ o >> 2 ] | 0 ) + 118 >> 1 ] = 1 ; r [ ( r [ o >> 2 ] | 0 ) + 120 >> 2 ] = 2 ; if ( r [ ( r [ s >> 2 ] | 0 ) + 4 >> 2 ] | 0 ) { r [ i >> 2 ] = - 6 ; c = r [ i >> 2 ] | 0 ; m = n ; return c | 0 } else { r [ i >> 2 ] = 0 ; c = r [ i >> 2 ] | 0 ; m = n ; return c | 0 } } do if ( ! ( Ca ( r [ r [ s >> 2 ] >> 2 ] | 0 , 2779 , 8 ) | 0 ) ) { r [ l >> 2 ] = Si ( r [ o >> 2 ] | 0 , r [ s >> 2 ] | 0 ) | 0 ; if ( r [ l >> 2 ] | 0 ) { if ( r [ ( r [ s >> 2 ] | 0 ) + 8 >> 2 ] | 0 ) { if ( r [ ( r [ o >> 2 ] | 0 ) + 120 >> 2 ] | 0 ) r [ l >> 2 ] = - 14 } else r [ l >> 2 ] = - 12 ; r [ ( r [ o >> 2 ] | 0 ) + 120 >> 2 ] = 1 } } else { if ( ! ( Ca ( r [ r [ s >> 2 ] >> 2 ] | 0 , 2770 , 8 ) | 0 ) ) { r [ l >> 2 ] = Ai ( r [ o >> 2 ] | 0 , r [ s >> 2 ] | 0 ) | 0 ; if ( ! ( r [ l >> 2 ] | 0 ) ) break ; if ( ( r [ ( r [ o >> 2 ] | 0 ) + 120 >> 2 ] | 0 ) == 1 ) break ; r [ l >> 2 ] = - 14 ; break } if ( Ca ( r [ r [ s >> 2 ] >> 2 ] | 0 , 2788 , 6 ) | 0 ) { r [ l >> 2 ] = - 1 ; break } a [ ( r [ o >> 2 ] | 0 ) + 116 >> 1 ] = 1 ; r [ l >> 2 ] = Ti ( r [ o >> 2 ] | 0 , r [ s >> 2 ] | 0 ) | 0 ; if ( r [ l >> 2 ] | 0 ? ( r [ ( r [ o >> 2 ] | 0 ) + 120 >> 2 ] | 0 ) != 1 : 0 ) r [ l >> 2 ] = - 14 } while ( 0 ) ; r [ i >> 2 ] = r [ l >> 2 ] ; c = r [ i >> 2 ] | 0 ; m = n ; return c | 0 } function Si ( e , t ) { e = e | 0 ; t = t | 0 ; var n = 0 , a = 0 , o = 0 , l = 0 , c = 0 , d = 0 , u = 0 ; n = m ; m = m + 32 | 0 ; a = n + 16 | 0 ; o = n + 12 | 0 ; l = n + 8 | 0 ; c = n + 4 | 0 ; d = n ; r [ o >> 2 ] = e ; r [ l >> 2 ] = t ; r [ d >> 2 ] = 0 ; if ( ! ( r [ o >> 2 ] | 0 ) ) { r [ a >> 2 ] = - 2 ; u = r [ a >> 2 ] | 0 ; m = n ; return u | 0 } if ( r [ l >> 2 ] | 0 ? r [ r [ l >> 2 ] >> 2 ] | 0 : 0 ) { r [ d >> 2 ] = ( r [ r [ l >> 2 ] >> 2 ] | 0 ) + 8 ; r [ d >> 2 ] = Pi ( r [ d >> 2 ] | 0 , r [ o >> 2 ] | 0 ) | 0 ; r [ d >> 2 ] = Pi ( r [ d >> 2 ] | 0 , ( r [ o >> 2 ] | 0 ) + 2 | 0 ) | 0 ; r [ c >> 2 ] = ( s [ r [ o >> 2 ] >> 1 ] | 0 ) << 16 | ( s [ ( r [ o >> 2 ] | 0 ) + 2 >> 1 ] | 0 ) ; if ( ( r [ c >> 2 ] | 0 ) >>> 0 > 262144 ) { r [ a >> 2 ] = - 11 ; u = r [ a >> 2 ] | 0 ; m = n ; return u | 0 } if ( ( r [ c >> 2 ] | 0 ) == 262144 ? ( r [ ( r [ l >> 2 ] | 0 ) + 4 >> 2 ] | 0 ) != 80 : 0 ) { r [ a >> 2 ] = - 18 ; u = r [ a >> 2 ] | 0 ; m = n ; return u | 0 } if ( ( s [ r [ o >> 2 ] >> 1 ] | 0 | 0 ) == 3 ) { if ( ( s [ ( r [ o >> 2 ] | 0 ) + 2 >> 1 ] | 0 | 0 ) >= 2 ? ( r [ ( r [ l >> 2 ] | 0 ) + 4 >> 2 ] | 0 ) != 112 : 0 ) { r [ a >> 2 ] = - 18 ; u = r [ a >> 2 ] | 0 ; m = n ; return u | 0 } if ( ( s [ ( r [ o >> 2 ] | 0 ) + 2 >> 1 ] | 0 | 0 ) == 0 ? ( r [ ( r [ l >> 2 ] | 0 ) + 4 >> 2 ] | 0 ) != 64 : 0 ) { r [ a >> 2 ] = - 18 ; u = r [ a >> 2 ] | 0 ; m = n ; return u | 0 } } r [ d >> 2 ] = Ei ( r [ d >> 2 ] | 0 , ( r [ o >> 2 ] | 0 ) + 8 | 0 ) | 0 ; r [ d >> 2 ] = Ei ( r [ d >> 2 ] | 0 , ( r [ o >> 2 ] | 0 ) + 16 | 0 ) | 0 ; r [ d >> 2 ] = Ei ( r [ d >> 2 ] | 0 , ( r [ o >> 2 ] | 0 ) + 24 | 0 ) | 0 ; r [ d >> 2 ] = Ei ( r [ d >> 2 ] | 0 , ( r [ o >> 2 ] | 0 ) + 32 | 0 ) | 0 ; l = ( r [ o >> 2 ] | 0 ) + 40 | 0 ; t = r [ d >> 2 ] | 0 ; e = l + 20 | 0 ; do { i [ l >> 0 ] = i [ t >> 0 ] | 0 ; l = l + 1 | 0 ; t = t + 1 | 0 } while ( ( l | 0 ) < ( e | 0 ) ) ; if ( ( r [ c >> 2 ] | 0 ) >>> 0 >= 196610 ) { r [ d >> 2 ] = ( r [ d >> 2 ] | 0 ) + 20 ; if ( ( s [ r [ o >> 2 ] >> 1 ] | 0 | 0 ) == 3 ) { r [ d >> 2 ] = Ei ( r [ d >> 2 ] | 0 , ( r [ o >> 2 ] | 0 ) + 64 | 0 ) | 0 ; r [ d >> 2 ] = Ei ( r [ d >> 2 ] | 0 , ( r [ o >> 2 ] | 0 ) + 72 | 0 ) | 0 ; r [ d >> 2 ] = Ei ( r [ d >> 2 ] | 0 , ( r [ o >> 2 ] | 0 ) + 80 | 0 ) | 0 ; r [ d >> 2 ] = Ei ( r [ d >> 2 ] | 0 , ( r [ o >> 2 ] | 0 ) + 88 | 0 ) | 0 } r [ d >> 2 ] = Ei ( r [ d >> 2 ] | 0 , ( r [ o >> 2 ] | 0 ) + 96 | 0 ) | 0 ; Ei ( r [ d >> 2 ] | 0 , ( r [ o >> 2 ] | 0 ) + 104 | 0 ) | 0 } r [ a >> 2 ] = 1 ; u = r [ a >> 2 ] | 0 ; m = n ; return u | 0 } r [ a >> 2 ] = - 13 ; u = r [ a >> 2 ] | 0 ; m = n ; return u | 0 } function Ai ( e , t ) { e = e | 0 ; t = t | 0 ; var n = 0 , a = 0 , o = 0 , s = 0 , l = 0 , c = 0 , d = 0 , u = 0 ; n = m ; m = m + 32 | 0 ; a = n + 20 | 0 ; o = n + 16 | 0 ; s = n + 12 | 0 ; l = n + 8 | 0 ; c = n + 4 | 0 ; d = n ; r [ o >> 2 ] = e ; r [ s >> 2 ] = t ; r [ l >> 2 ] = 0 ; r [ c >> 2 ] = - 1 ; r [ d >> 2 ] = 0 ; if ( ! ( r [ o >> 2 ] | 0 ) ) { r [ a >> 2 ] = - 2 ; u = r [ a >> 2 ] | 0 ; m = n ; return u | 0 } if ( r [ s >> 2 ] | 0 ? r [ r [ s >> 2 ] >> 2 ] | 0 : 0 ) { if ( ( r [ ( r [ s >> 2 ] | 0 ) + 4 >> 2 ] | 0 ) < 52 ) { r [ a >> 2 ] = - 7 ; u = r [ a >> 2 ] | 0 ; m = n ; return u | 0 } r [ l >> 2 ] = Cr ( 1 , 56 ) | 0 ; if ( ! ( r [ l >> 2 ] | 0 ) ) { r [ a >> 2 ] = - 4 ; u = r [ a >> 2 ] | 0 ; m = n ; return u | 0 } r [ d >> 2 ] = ( r [ r [ s >> 2 ] >> 2 ] | 0 ) + 8 ; r [ d >> 2 ] = xi ( r [ d >> 2 ] | 0 , r [ l >> 2 ] | 0 ) | 0 ; r [ d >> 2 ] = Ci ( r [ d >> 2 ] | 0 , ( r [ l >> 2 ] | 0 ) + 4 | 0 ) | 0 ; r [ d >> 2 ] = xi ( r [ d >> 2 ] | 0 , ( r [ l >> 2 ] | 0 ) + 8 | 0 ) | 0 ; r [ d >> 2 ] = Ei ( r [ d >> 2 ] | 0 , ( r [ l >> 2 ] | 0 ) + 16 | 0 ) | 0 ; r [ d >> 2 ] = Ei ( r [ d >> 2 ] | 0 , ( r [ l >> 2 ] | 0 ) + 24 | 0 ) | 0 ; r [ d >> 2 ] = Ei ( r [ d >> 2 ] | 0 , ( r [ l >> 2 ] | 0 ) + 32 | 0 ) | 0 ; r [ d >> 2 ] = xi ( r [ d >> 2 ] | 0 , ( r [ l >> 2 ] | 0 ) + 40 | 0 ) | 0 ; i [ ( r [ l >> 2 ] | 0 ) + 44 >> 0 ] = i [ r [ d >> 2 ] >> 0 ] | 0 ; d = Cr ( ( r [ ( r [ s >> 2 ] | 0 ) + 4 >> 2 ] | 0 ) - 52 | 0 , 1 ) | 0 ; r [ ( r [ l >> 2 ] | 0 ) + 48 >> 2 ] = d ; d = r [ l >> 2 ] | 0 ; if ( ! ( r [ ( r [ l >> 2 ] | 0 ) + 48 >> 2 ] | 0 ) ) { Tr ( d ) ; r [ a >> 2 ] = - 4 ; u = r [ a >> 2 ] | 0 ; m = n ; return u | 0 } zr ( r [ d + 48 >> 2 ] | 0 , ( r [ r [ s >> 2 ] >> 2 ] | 0 ) + 52 | 0 , ( r [ ( r [ s >> 2 ] | 0 ) + 4 >> 2 ] | 0 ) - 52 | 0 ) | 0 ; r [ c >> 2 ] = bi ( r [ ( r [ o >> 2 ] | 0 ) + 112 >> 2 ] | 0 , r [ l >> 2 ] | 0 , r [ ( r [ l >> 2 ] | 0 ) + 4 >> 2 ] | 0 ) | 0 ; if ( ( r [ c >> 2 ] | 0 ) < 0 ) Tr ( r [ l >> 2 ] | 0 ) ; r [ a >> 2 ] = r [ c >> 2 ] ; u = r [ a >> 2 ] | 0 ; m = n ; return u | 0 } r [ a >> 2 ] = - 13 ; u = r [ a >> 2 ] | 0 ; m = n ; return u | 0 } function Ti ( e , t ) { e = e | 0 ; t = t | 0 ; var n = 0 , i = 0 , a = 0 , o = 0 , l = 0 , c = 0 , d = 0 , u = 0 , p = 0 , f = 0 , h = 0 , g = 0 , _ = 0 , v = 0 , y = 0 , b = 0 , w = 0 , k = 0 ; n = m ; m = m + 80 | 0 ; i = n + 76 | 0 ; a = n + 72 | 0 ; o = n + 68 | 0 ; l = n + 48 | 0 ; c = n + 40 | 0 ; d = n + 32 | 0 ; u = n + 24 | 0 ; p = n + 64 | 0 ; f = n + 16 | 0 ; h = n + 60 | 0 ; g = n + 56 | 0 ; _ = n + 8 | 0 ; v = n ; r [ a >> 2 ] = e ; r [ o >> 2 ] = t ; t = l ; r [ t >> 2 ] = 0 ; r [ t + 4 >> 2 ] = 0 ; t = c ; r [ t >> 2 ] = 0 ; r [ t + 4 >> 2 ] = 0 ; t = d ; r [ t >> 2 ] = 0 ; r [ t + 4 >> 2 ] = 0 ; t = u ; r [ t >> 2 ] = 1e3 ; r [ t + 4 >> 2 ] = 0 ; r [ p >> 2 ] = 0 ; t = f ; r [ t >> 2 ] = - 1 ; r [ t + 4 >> 2 ] = - 1 ; r [ h >> 2 ] = 0 ; r [ g >> 2 ] = - 1 ; if ( ! ( r [ a >> 2 ] | 0 ) ) { r [ i >> 2 ] = - 2 ; y = r [ i >> 2 ] | 0 ; m = n ; return y | 0 } if ( r [ o >> 2 ] | 0 ? r [ r [ o
R = r [ D >> 2 ] | 0 ; S = r [ D + 4 >> 2 ] | 0 ; D = Oa ( R , S , _ , ce & 32 ) | 0 ; z = ( se & 8 | 0 ) == 0 | ( R | 0 ) == 0 & ( S | 0 ) == 0 ; de = R ; ue = S ; pe = D ; fe = se ; me = le ; he = z ? 0 : 2 ; ge = z ? 3591 : 3591 + ( ce >> 4 ) | 0 ; A = 67 } else if ( ( A | 0 ) == 66 ) { A = 0 ; de = ve ; ue = ye ; pe = La ( ve , ye , _ ) | 0 ; fe = B ; me = ne ; he = be ; ge = we ; A = 67 } else if ( ( A | 0 ) == 71 ) { A = 0 ; z = Ua ( Ee , 0 , ne ) | 0 ; D = ( z | 0 ) == 0 ; ke = Ee ; Me = U ; Se = D ? ne : z - Ee | 0 ; Ae = 0 ; Te = 3591 ; Ce = D ? Ee + ne | 0 : z } else if ( ( A | 0 ) == 75 ) { A = 0 ; z = 0 ; D = 0 ; S = $e ; while ( 1 ) { R = r [ S >> 2 ] | 0 ; if ( ! R ) { Pe = z ; De = D ; break } F = Ha ( h , R ) | 0 ; if ( ( F | 0 ) < 0 | F >>> 0 > ( Ie - z | 0 ) >>> 0 ) { Pe = z ; De = F ; break } R = F + z | 0 ; if ( Ie >>> 0 > R >>> 0 ) { z = R ; D = F ; S = S + 4 | 0 } else { Pe = R ; De = F ; break } } if ( ( De | 0 ) < 0 ) { X = - 1 ; break e } Ba ( e , 32 , ee , Pe , B ) ; if ( ! Pe ) { xe = 0 ; A = 84 } else { S = 0 ; D = $e ; while ( 1 ) { z = r [ D >> 2 ] | 0 ; if ( ! z ) { xe = Pe ; A = 84 ; break t } F = Ha ( h , z ) | 0 ; S = F + S | 0 ; if ( ( S | 0 ) > ( Pe | 0 ) ) { xe = Pe ; A = 84 ; break t } Pa ( e , h , F ) ; if ( S >>> 0 >= Pe >>> 0 ) { xe = Pe ; A = 84 ; break } else D = D + 4 | 0 } } } while ( 0 ) ; if ( ( A | 0 ) == 67 ) { A = 0 ; U = ( de | 0 ) != 0 | ( ue | 0 ) != 0 ; D = ( me | 0 ) != 0 | U ; S = ( ( U ^ 1 ) & 1 ) + ( v - pe ) | 0 ; ke = D ? pe : _ ; Me = ( me | 0 ) > - 1 ? fe & - 65537 : fe ; Se = D ? ( me | 0 ) > ( S | 0 ) ? me : S : me ; Ae = he ; Te = ge ; Ce = _ } else if ( ( A | 0 ) == 84 ) { A = 0 ; Ba ( e , 32 , ee , xe , B ^ 8192 ) ; b = ae ; t = M ; w = ( ee | 0 ) > ( xe | 0 ) ? ee : xe ; k = Q ; continue } S = Ce - ke | 0 ; D = ( Se | 0 ) < ( S | 0 ) ? S : Se ; U = D + Ae | 0 ; F = ( ee | 0 ) < ( U | 0 ) ? U : ee ; Ba ( e , 32 , F , U , Me ) ; Pa ( e , Te , Ae ) ; Ba ( e , 48 , F , U , Me ^ 65536 ) ; Ba ( e , 48 , D , S , 0 ) ; Pa ( e , ke , S ) ; Ba ( e , 32 , F , U , Me ^ 8192 ) ; b = ae ; t = M ; w = F ; k = Q } e : do if ( ( A | 0 ) == 87 ) if ( ! e ) if ( ! k ) X = 0 ; else { Q = 1 ; while ( 1 ) { w = r [ s + ( Q << 2 ) >> 2 ] | 0 ; if ( ! w ) { Re = Q ; break } Ra ( o + ( Q << 3 ) | 0 , w , n ) ; Q = Q + 1 | 0 ; if ( ( Q | 0 ) >= 10 ) { X = 1 ; break e } } while ( 1 ) { if ( r [ s + ( Re << 2 ) >> 2 ] | 0 ) { X = - 1 ; break e } Re = Re + 1 | 0 ; if ( ( Re | 0 ) >= 10 ) { X = 1 ; break } } } else X = M ; while ( 0 ) ; m = l ; return X | 0 } function Ia ( e ) { e = e | 0 ; return 0 } function xa ( e ) { e = e | 0 ; return } function Pa ( e , t , n ) { e = e | 0 ; t = t | 0 ; n = n | 0 ; if ( ! ( r [ e >> 2 ] & 32 ) ) er ( t , n , e ) | 0 ; return } function Da ( e ) { e = e | 0 ; var t = 0 , n = 0 , a = 0 , o = 0 , s = 0 ; t = r [ e >> 2 ] | 0 ; n = ( i [ t >> 0 ] | 0 ) + - 48 | 0 ; if ( n >>> 0 < 10 ) { a = t ; t = 0 ; o = n ; while ( 1 ) { n = o + ( t * 10 | 0 ) | 0 ; a = a + 1 | 0 ; r [ e >> 2 ] = a ; o = ( i [ a >> 0 ] | 0 ) + - 48 | 0 ; if ( o >>> 0 >= 10 ) { s = n ; break } else t = n } } else s = 0 ; return s | 0 } function Ra ( e , t , n ) { e = e | 0 ; t = t | 0 ; n = n | 0 ; var i = 0 , a = 0 , o = 0 , s = 0 , l = 0 ; e : do if ( t >>> 0 <= 20 ) do switch ( t | 0 ) { case 9 : { i = ( r [ n >> 2 ] | 0 ) + ( 4 - 1 ) & ~ ( 4 - 1 ) ; a = r [ i >> 2 ] | 0 ; r [ n >> 2 ] = i + 4 ; r [ e >> 2 ] = a ; break e ; break } case 10 : { a = ( r [ n >> 2 ] | 0 ) + ( 4 - 1 ) & ~ ( 4 - 1 ) ; i = r [ a >> 2 ] | 0 ; r [ n >> 2 ] = a + 4 ; a = e ; r [ a >> 2 ] = i ; r [ a + 4 >> 2 ] = ( ( i | 0 ) < 0 ) << 31 >> 31 ; break e ; break } case 11 : { i = ( r [ n >> 2 ] | 0 ) + ( 4 - 1 ) & ~ ( 4 - 1 ) ; a = r [ i >> 2 ] | 0 ; r [ n >> 2 ] = i + 4 ; i = e ; r [ i >> 2 ] = a ; r [ i + 4 >> 2 ] = 0 ; break e ; break } case 12 : { i = ( r [ n >> 2 ] | 0 ) + ( 8 - 1 ) & ~ ( 8 - 1 ) ; a = i ; o = r [ a >> 2 ] | 0 ; s = r [ a + 4 >> 2 ] | 0 ; r [ n >> 2 ] = i + 8 ; i = e ; r [ i >> 2 ] = o ; r [ i + 4 >> 2 ] = s ; break e ; break } case 13 : { s = ( r [ n >> 2 ] | 0 ) + ( 4 - 1 ) & ~ ( 4 - 1 ) ; i = r [ s >> 2 ] | 0 ; r [ n >> 2 ] = s + 4 ; s = ( i & 65535 ) << 16 >> 16 ; i = e ; r [ i >> 2 ] = s ; r [ i + 4 >> 2 ] = ( ( s | 0 ) < 0 ) << 31 >> 31 ; break e ; break } case 14 : { s = ( r [ n >> 2 ] | 0 ) + ( 4 - 1 ) & ~ ( 4 - 1 ) ; i = r [ s >> 2 ] | 0 ; r [ n >> 2 ] = s + 4 ; s = e ; r [ s >> 2 ] = i & 65535 ; r [ s + 4 >> 2 ] = 0 ; break e ; break } case 15 : { s = ( r [ n >> 2 ] | 0 ) + ( 4 - 1 ) & ~ ( 4 - 1 ) ; i = r [ s >> 2 ] | 0 ; r [ n >> 2 ] = s + 4 ; s = ( i & 255 ) << 24 >> 24 ; i = e ; r [ i >> 2 ] = s ; r [ i + 4 >> 2 ] = ( ( s | 0 ) < 0 ) << 31 >> 31 ; break e ; break } case 16 : { s = ( r [ n >> 2 ] | 0 ) + ( 4 - 1 ) & ~ ( 4 - 1 ) ; i = r [ s >> 2 ] | 0 ; r [ n >> 2 ] = s + 4 ; s = e ; r [ s >> 2 ] = i & 255 ; r [ s + 4 >> 2 ] = 0 ; break e ; break } case 17 : { s = ( r [ n >> 2 ] | 0 ) + ( 8 - 1 ) & ~ ( 8 - 1 ) ; l = + d [ s >> 3 ] ; r [ n >> 2 ] = s + 8 ; d [ e >> 3 ] = l ; break e ; break } case 18 : { s = ( r [ n >> 2 ] | 0 ) + ( 8 - 1 ) & ~ ( 8 - 1 ) ; l = + d [ s >> 3 ] ; r [ n >> 2 ] = s + 8 ; d [ e >> 3 ] = l ; break e ; break } default : break e } while ( 0 ) ; while ( 0 ) ; return } function Oa ( e , t , n , a ) { e = e | 0 ; t = t | 0 ; n = n | 0 ; a = a | 0 ; var r = 0 , s = 0 ; if ( ( e | 0 ) == 0 & ( t | 0 ) == 0 ) r = n ; else { s = e ; e = t ; t = n ; while ( 1 ) { n = t + - 1 | 0 ; i [ n >> 0 ] = o [ 3643 + ( s & 15 ) >> 0 ] | 0 | a ; s = Nr ( s | 0 , e | 0 , 4 ) | 0 ; e = P ; if ( ( s | 0 ) == 0 & ( e | 0 ) == 0 ) { r = n ; break } else t = n } } return r | 0 } function Na ( e , t , n ) { e = e | 0 ; t = t | 0 ; n = n | 0 ; var a = 0 , r = 0 ; if ( ( e | 0 ) == 0 & ( t | 0 ) == 0 ) a = n ; else { r = e ; e = t ; t = n ; while ( 1 ) { n = t + - 1 | 0 ; i [ n >> 0 ] = r & 7 | 48 ; r = Nr ( r | 0 , e | 0 , 3 ) | 0 ; e = P ; if ( ( r | 0 ) == 0 & ( e | 0 ) == 0 ) { a = n ; break } else t = n } } return a | 0 } function La ( e , t , n ) { e = e | 0 ; t = t | 0 ; n = n | 0 ; var a = 0 , r = 0 , o = 0 , s = 0 , l = 0 , c = 0 ; if ( t >>> 0 > 0 | ( t | 0 ) == 0 & e >>> 0 > 4294967295 ) { a = e ; r = t ; t = n ; while ( 1 ) { o = Gr ( a | 0 , r | 0 , 10 , 0 ) | 0 ; t = t + - 1 | 0 ; i [ t >> 0 ] = o & 255 | 48 ; o = a ; a = Hr ( a | 0 , r | 0 , 10 , 0 ) | 0 ; if ( ! ( r >>> 0 > 9 | ( r | 0 ) == 9 & o >>> 0 > 4294967295 ) ) break ; else r = P } s = t ; l = a } else { s = n ; l = e } if ( ! l ) c = s ; else { e = s ; s = l ; while ( 1 ) { l = e + - 1 | 0 ; i [ l >> 0 ] = ( s >>> 0 ) % 10 | 0 | 48 ; if ( s >>> 0 < 10 ) { c = l ; break } else { e = l ; s = ( s >>> 0 ) / 10 | 0 } } } return c | 0 } function Fa ( e ) { e = e | 0 ; return Ya ( e , r [ ( Ka ( ) | 0 ) + 188 >> 2 ] | 0 ) | 0 } function Ua ( e , t , n ) { e = e | 0 ; t = t | 0 ; n = n | 0 ; var a = 0 , o = 0 , s = 0 , l = 0 , c = 0 , d = 0 , u = 0 , p = 0 , f = 0 , m = 0 , h = 0 , g = 0 , _ = 0 , v = 0 , y = 0 , b = 0 , w = 0 , k = 0 , M = 0 , S = 0 ; a = t & 255 ; o = ( n | 0 ) != 0 ; e : do if ( o & ( e & 3 | 0 ) != 0 ) { s = t & 255 ; l = n ; c = e ; while ( 1 ) { if ( ( i [ c >> 0 ] | 0 ) == s << 24 >> 24 ) { d = l ; u = c ; p
Se = n ; Ae = Z } } else { r [ 1421 ] = q | _ ; Se = ee + 8 | 0 ; Ae = ee } r [ Se >> 2 ] = se ; r [ Ae + 12 >> 2 ] = se ; r [ se + 8 >> 2 ] = Ae ; r [ se + 12 >> 2 ] = ee ; break } ee = z >>> 8 ; if ( ee ) if ( z >>> 0 > 16777215 ) Te = 31 ; else { _ = ( ee + 1048320 | 0 ) >>> 16 & 8 ; q = ee << _ ; ee = ( q + 520192 | 0 ) >>> 16 & 4 ; Z = q << ee ; q = ( Z + 245760 | 0 ) >>> 16 & 2 ; n = 14 - ( ee | _ | q ) + ( Z << q >>> 15 ) | 0 ; Te = z >>> ( n + 7 | 0 ) & 1 | n << 1 } else Te = 0 ; n = 5988 + ( Te << 2 ) | 0 ; r [ se + 28 >> 2 ] = Te ; r [ se + 20 >> 2 ] = 0 ; r [ ne >> 2 ] = 0 ; q = r [ 1422 ] | 0 ; Z = 1 << Te ; if ( ! ( q & Z ) ) { r [ 1422 ] = q | Z ; r [ n >> 2 ] = se ; r [ se + 24 >> 2 ] = n ; r [ se + 12 >> 2 ] = se ; r [ se + 8 >> 2 ] = se ; break } Z = z << ( ( Te | 0 ) == 31 ? 0 : 25 - ( Te >>> 1 ) | 0 ) ; q = r [ n >> 2 ] | 0 ; while ( 1 ) { if ( ( r [ q + 4 >> 2 ] & - 8 | 0 ) == ( z | 0 ) ) { N = 292 ; break } Ce = q + 16 + ( Z >>> 31 << 2 ) | 0 ; n = r [ Ce >> 2 ] | 0 ; if ( ! n ) { N = 289 ; break } else { Z = Z << 1 ; q = n } } if ( ( N | 0 ) == 289 ) if ( Ce >>> 0 < ( r [ 1425 ] | 0 ) >>> 0 ) fe ( ) ; else { r [ Ce >> 2 ] = se ; r [ se + 24 >> 2 ] = q ; r [ se + 12 >> 2 ] = se ; r [ se + 8 >> 2 ] = se ; break } else if ( ( N | 0 ) == 292 ) { Z = q + 8 | 0 ; z = r [ Z >> 2 ] | 0 ; ne = r [ 1425 ] | 0 ; if ( z >>> 0 >= ne >>> 0 & q >>> 0 >= ne >>> 0 ) { r [ z + 12 >> 2 ] = se ; r [ Z >> 2 ] = se ; r [ se + 8 >> 2 ] = z ; r [ se + 12 >> 2 ] = q ; r [ se + 24 >> 2 ] = 0 ; break } else fe ( ) } } } else { z = r [ 1425 ] | 0 ; if ( ( z | 0 ) == 0 | ie >>> 0 < z >>> 0 ) r [ 1425 ] = ie ; r [ 1533 ] = ie ; r [ 1534 ] = ae ; r [ 1536 ] = 0 ; r [ 1430 ] = r [ 1539 ] ; r [ 1429 ] = - 1 ; z = 0 ; do { Z = 5724 + ( z << 1 << 2 ) | 0 ; r [ Z + 12 >> 2 ] = Z ; r [ Z + 8 >> 2 ] = Z ; z = z + 1 | 0 } while ( ( z | 0 ) != 32 ) ; z = ie + 8 | 0 ; q = ( z & 7 | 0 ) == 0 ? 0 : 0 - z & 7 ; z = ie + q | 0 ; Z = ae + - 40 - q | 0 ; r [ 1427 ] = z ; r [ 1424 ] = Z ; r [ z + 4 >> 2 ] = Z | 1 ; r [ z + Z + 4 >> 2 ] = 40 ; r [ 1428 ] = r [ 1543 ] } while ( 0 ) ; ae = r [ 1424 ] | 0 ; if ( ae >>> 0 > x >>> 0 ) { ie = ae - x | 0 ; r [ 1424 ] = ie ; ae = r [ 1427 ] | 0 ; se = ae + x | 0 ; r [ 1427 ] = se ; r [ se + 4 >> 2 ] = ie | 1 ; r [ ae + 4 >> 2 ] = x | 3 ; g = ae + 8 | 0 ; m = t ; return g | 0 } } r [ ( ya ( ) | 0 ) >> 2 ] = 12 ; g = 0 ; m = t ; return g | 0 } function Tr ( e ) { e = e | 0 ; var t = 0 , n = 0 , i = 0 , a = 0 , o = 0 , s = 0 , l = 0 , c = 0 , d = 0 , u = 0 , p = 0 , f = 0 , m = 0 , h = 0 , g = 0 , _ = 0 , v = 0 , y = 0 , b = 0 , w = 0 , k = 0 , M = 0 , S = 0 , A = 0 , T = 0 , C = 0 , E = 0 , $ = 0 , I = 0 , x = 0 , P = 0 ; if ( ! e ) return ; t = e + - 8 | 0 ; n = r [ 1425 ] | 0 ; if ( t >>> 0 < n >>> 0 ) fe ( ) ; i = r [ e + - 4 >> 2 ] | 0 ; e = i & 3 ; if ( ( e | 0 ) == 1 ) fe ( ) ; a = i & - 8 ; o = t + a | 0 ; e : do if ( ! ( i & 1 ) ) { s = r [ t >> 2 ] | 0 ; if ( ! e ) return ; l = t + ( 0 - s ) | 0 ; c = s + a | 0 ; if ( l >>> 0 < n >>> 0 ) fe ( ) ; if ( ( l | 0 ) == ( r [ 1426 ] | 0 ) ) { d = o + 4 | 0 ; u = r [ d >> 2 ] | 0 ; if ( ( u & 3 | 0 ) != 3 ) { p = l ; f = l ; m = c ; break } r [ 1423 ] = c ; r [ d >> 2 ] = u & - 2 ; r [ l + 4 >> 2 ] = c | 1 ; r [ l + c >> 2 ] = c ; return } u = s >>> 3 ; if ( s >>> 0 < 256 ) { s = r [ l + 8 >> 2 ] | 0 ; d = r [ l + 12 >> 2 ] | 0 ; h = 5724 + ( u << 1 << 2 ) | 0 ; if ( ( s | 0 ) != ( h | 0 ) ) { if ( s >>> 0 < n >>> 0 ) fe ( ) ; if ( ( r [ s + 12 >> 2 ] | 0 ) != ( l | 0 ) ) fe ( ) } if ( ( d | 0 ) == ( s | 0 ) ) { r [ 1421 ] = r [ 1421 ] & ~ ( 1 << u ) ; p = l ; f = l ; m = c ; break } if ( ( d | 0 ) != ( h | 0 ) ) { if ( d >>> 0 < n >>> 0 ) fe ( ) ; h = d + 8 | 0 ; if ( ( r [ h >> 2 ] | 0 ) == ( l | 0 ) ) g = h ; else fe ( ) } else g = d + 8 | 0 ; r [ s + 12 >> 2 ] = d ; r [ g >> 2 ] = s ; p = l ; f = l ; m = c ; break } s = r [ l + 24 >> 2 ] | 0 ; d = r [ l + 12 >> 2 ] | 0 ; do if ( ( d | 0 ) == ( l | 0 ) ) { h = l + 16 | 0 ; u = h + 4 | 0 ; _ = r [ u >> 2 ] | 0 ; if ( ! _ ) { v = r [ h >> 2 ] | 0 ; if ( ! v ) { y = 0 ; break } else { b = v ; w = h } } else { b = _ ; w = u } while ( 1 ) { u = b + 20 | 0 ; _ = r [ u >> 2 ] | 0 ; if ( _ | 0 ) { b = _ ; w = u ; continue } u = b + 16 | 0 ; _ = r [ u >> 2 ] | 0 ; if ( ! _ ) break ; else { b = _ ; w = u } } if ( w >>> 0 < n >>> 0 ) fe ( ) ; else { r [ w >> 2 ] = 0 ; y = b ; break } } else { u = r [ l + 8 >> 2 ] | 0 ; if ( u >>> 0 < n >>> 0 ) fe ( ) ; _ = u + 12 | 0 ; if ( ( r [ _ >> 2 ] | 0 ) != ( l | 0 ) ) fe ( ) ; h = d + 8 | 0 ; if ( ( r [ h >> 2 ] | 0 ) == ( l | 0 ) ) { r [ _ >> 2 ] = d ; r [ h >> 2 ] = u ; y = d ; break } else fe ( ) } while ( 0 ) ; if ( s ) { d = r [ l + 28 >> 2 ] | 0 ; u = 5988 + ( d << 2 ) | 0 ; do if ( ( l | 0 ) == ( r [ u >> 2 ] | 0 ) ) { r [ u >> 2 ] = y ; if ( ! y ) { r [ 1422 ] = r [ 1422 ] & ~ ( 1 << d ) ; p = l ; f = l ; m = c ; break e } } else if ( s >>> 0 >= ( r [ 1425 ] | 0 ) >>> 0 ) { r [ s + 16 + ( ( ( r [ s + 16 >> 2 ] | 0 ) != ( l | 0 ) & 1 ) << 2 ) >> 2 ] = y ; if ( ! y ) { p = l ; f = l ; m = c ; break e } else break } else fe ( ) ; while ( 0 ) ; d = r [ 1425 ] | 0 ; if ( y >>> 0 < d >>> 0 ) fe ( ) ; r [ y + 24 >> 2 ] = s ; u = l + 16 | 0 ; h = r [ u >> 2 ] | 0 ; do if ( h | 0 ) if ( h >>> 0 < d >>> 0 ) fe ( ) ; else { r [ y + 16 >> 2 ] = h ; r [ h + 24 >> 2 ] = y ; break } while ( 0 ) ; h = r [ u + 4 >> 2 ] | 0 ; if ( h ) if ( h >>> 0 < ( r [ 1425 ] | 0 ) >>> 0 ) fe ( ) ; else { r [ y + 20 >> 2 ] = h ; r [ h + 24 >> 2 ] = y ; p = l ; f = l ; m = c ; break } else { p = l ; f = l ; m = c } } else { p = l ; f = l ; m = c } } else { p = t ; f = t ; m = a } while ( 0 ) ; if ( p >>> 0 >= o >>> 0 ) fe ( ) ; a = o + 4 | 0 ; t = r [ a >> 2 ] | 0 ; if ( ! ( t & 1 ) ) fe ( ) ; if ( ! ( t & 2 ) ) { y = r [ 1426 ] | 0 ; if ( ( o | 0 ) == ( r [ 1427 ] | 0 ) ) { n = ( r [ 1424 ] | 0 ) + m | 0 ; r [ 1424 ] = n ; r [ 1427 ] = f ; r [ f + 4 >> 2 ] = n | 1 ; if ( ( f | 0 ) != ( y | 0 ) ) return ; r [ 1426 ] = 0 ; r [ 1423 ] = 0 ; return } if ( ( o | 0 ) == ( y | 0 ) ) { y = ( r [ 1423 ] | 0 ) + m | 0 ; r [ 1423 ] = y ; r [ 1426 ] = p ; r [ f + 4 >> 2 ] = y | 1 ; r [ p + y >> 2 ] = y ; return } y = ( t & - 8 ) + m | 0 ; n = t >>> 3 ; e : do if ( t >>> 0 >= 256 ) { b = r [ o + 24 >> 2 ] | 0 ; w = r [ o + 12 >> 2 ] | 0 ; do if ( ( w | 0 ) == ( o | 0 ) ) { g = o + 16 | 0 ; e = g + 4 | 0 ; i = r [ e >> 2 ] | 0 ; if ( ! i ) { h = r [ g >> 2 ] | 0 ; if ( ! h ) { k = 0 ; break } else { M = h ; S = g } } else { M = i ; S = e } while ( 1 ) { e = M + 20 | 0 ; i = r [ e >> 2 ] | 0 ; if ( i | 0 ) { M = i ; S = e ; continue } e = M + 16 | 0 ; i = r [ e >> 2 ] | 0 ; if ( ! i ) break ; else { M = i ; S = e } } if ( S >>> 0 < ( r [ 1425 ] | 0 ) >>> 0 ) fe ( ) ; else { r [ S >> 2 ] = 0 ; k = M ; break } } else { e = r [ o + 8 >> 2 ] | 0 ; if ( e >>> 0 < ( r [ 1425 ] | 0 ) >>> 0 ) fe ( ) ; i = e + 12 | 0 ; if ( ( r [ i >> 2 ] | 0 ) != ( o | 0 ) ) fe ( ) ; g = w + 8 | 0 ; if ( ( r [ g >> 2 ] | 0 ) == ( o | 0 ) ) { r [ i >> 2 ] = w ; r [ g >> 2 ] = e ; k = w ; break } else fe ( ) } while ( 0 ) ; if ( b | 0 ) { w = r [ o + 28 >> 2 ] | 0 ; c = 5988 + ( w << 2 ) | 0 ; do if ( ( o | 0 ) == ( r [ c >> 2 ] | 0 ) ) { r [ c >> 2 ] = k ; if ( ! k ) { r [ 1422 ] = r [ 1422 ] & ~
stringToUTF8 ( n , a , i ) ; var r = _malloc ( 4 ) , o = t ( a , 0 , 0 , r ) ; if ( 0 === getValue ( r , "i32" ) && o ) return Pointer _stringify ( o ) } catch ( s ) { } finally { a && _free ( a ) , r && _free ( r ) , o && _free ( o ) } return e } return Runtime . warnOnce ( "warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling" ) , e } function demangleAll ( e ) { var t = /__Z[\w\d_]+/g ; return e . replace ( t , function ( e ) { var t = demangle ( e ) ; return e === t ? e : e + " [" + t + "]" } ) } function jsStackTrace ( ) { var e = new Error ; if ( ! e . stack ) { try { throw new Error ( 0 ) } catch ( t ) { e = t } if ( ! e . stack ) return "(no stack trace available)" } return e . stack . toString ( ) } function stackTrace ( ) { var e = jsStackTrace ( ) ; return Module . extraStackTrace && ( e += "\n" + Module . extraStackTrace ( ) ) , demangleAll ( e ) } function updateGlobalBufferViews ( ) { Module . HEAP8 = HEAP8 = new Int8Array ( buffer ) , Module . HEAP16 = HEAP16 = new Int16Array ( buffer ) , Module . HEAP32 = HEAP32 = new Int32Array ( buffer ) , Module . HEAPU8 = HEAPU8 = new Uint8Array ( buffer ) , Module . HEAPU16 = HEAPU16 = new Uint16Array ( buffer ) , Module . HEAPU32 = HEAPU32 = new Uint32Array ( buffer ) , Module . HEAPF32 = HEAPF32 = new Float32Array ( buffer ) , Module . HEAPF64 = HEAPF64 = new Float64Array ( buffer ) } function abortOnCannotGrowMemory ( ) { abort ( "Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value " + TOTAL _MEMORY + ", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 " ) } function enlargeMemory ( ) { abortOnCannotGrowMemory ( ) } function getTotalMemory ( ) { return TOTAL _MEMORY } function callRuntimeCallbacks ( e ) { for ( ; e . length > 0 ; ) { var t = e . shift ( ) ; if ( "function" != typeof t ) { var n = t . func ; "number" == typeof n ? void 0 === t . arg ? Module . dynCall _v ( n ) : Module . dynCall _vi ( n , t . arg ) : n ( void 0 === t . arg ? null : t . arg ) } else t ( ) } } function preRun ( ) { if ( Module . preRun ) for ( "function" == typeof Module . preRun && ( Module . preRun = [ Module . preRun ] ) ; Module . preRun . length ; ) addOnPreRun ( Module . preRun . shift ( ) ) ; callRuntimeCallbacks ( _ _ATPRERUN _ _ ) } function ensureInitRuntime ( ) { runtimeInitialized || ( runtimeInitialized = ! 0 , callRuntimeCallbacks ( _ _ATINIT _ _ ) ) } function preMain ( ) { callRuntimeCallbacks ( _ _ATMAIN _ _ ) } function exitRuntime ( ) { callRuntimeCallbacks ( _ _ATEXIT _ _ ) , runtimeExited = ! 0 } function postRun ( ) { if ( Module . postRun ) for ( "function" == typeof Module . postRun && ( Module . postRun = [ Module . postRun ] ) ; Module . postRun . length ; ) addOnPostRun ( Module . postRun . shift ( ) ) ; callRuntimeCallbacks ( _ _ATPOSTRUN _ _ ) } function addOnPreRun ( e ) { _ _ATPRERUN _ _ . unshift ( e ) } function addOnInit ( e ) { _ _ATINIT _ _ . unshift ( e ) } function addOnPreMain ( e ) { _ _ATMAIN _ _ . unshift ( e ) } function addOnExit ( e ) { _ _ATEXIT _ _ . unshift ( e ) } function addOnPostRun ( e ) { _ _ATPOSTRUN _ _ . unshift ( e ) } function intArrayFromString ( e , t , n ) { var i = n > 0 ? n : lengthBytesUTF8 ( e ) + 1 , a = new Array ( i ) , r = stringToUTF8Array ( e , a , 0 , a . length ) ; return t && ( a . length = r ) , a } function intArrayToString ( e ) { for ( var t = [ ] , n = 0 ; n < e . length ; n ++ ) { var i = e [ n ] ; i > 255 && ( i &= 255 ) , t . push ( String . fromCharCode ( i ) ) } return t . join ( "" ) } function writeStringToMemory ( e , t , n ) { Runtime . warnOnce ( "writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!" ) ; var i , a ; n && ( a = t + lengthBytesUTF8 ( e ) , i = HEAP8 [ a ] ) , stringToUTF8 ( e , t , 1 / 0 ) , n && ( HEAP8 [ a ] = i ) } function writeArrayToMemory ( e , t ) { HEAP8 . set ( e , t ) } function writeAsciiToMemory ( e , t , n ) { for ( var i = 0 ; i < e . length ; ++ i ) HEAP8 [ t ++ >> 0 ] = e . charCodeAt ( i ) ; n || ( HEAP8 [ t >> 0 ] = 0 ) } function addRunDependency ( e ) { runDependencies ++ , Module . monitorRunDependencies && Module . monitorRunDependencies ( runDependencies ) } function removeRunDependency ( e ) { if ( runDependencies -- , Module . monitorRunDependencies && Module . monitorRunDependencies ( runDependencies ) , 0 == runDependencies && ( null !== runDependencyWatcher && ( clearInterval ( runDependencyWatcher ) , runDependencyWatcher = null ) , dependenciesFulfilled ) ) { var t = dependenciesFulfilled ; dependenciesFulfilled = null , t ( ) } } function _abort ( ) { Module . abort ( ) } function _emscripten _memcpy _big ( e , t , n ) { return HEAPU8 . set ( HEAPU8 . subarray ( t , t + n ) , e ) , e } function _llvm _stackrestore ( e ) { var t = _llvm _stacksave , n = t . LLVM _SAVEDSTACKS [ e ] ; t . LLVM _SAVEDSTACKS . splice ( e , 1 ) , Runti
allocate ( [ 191 , 49 , 127 , 63 , 88 , 14 , 127 , 63 , 37 , 232 , 126 , 63 , 38 , 191 , 126 , 63 , 92 , 147 , 126 , 63 , 200 , 100 , 126 , 63 , 105 , 51 , 126 , 63 , 65 , 255 , 125 , 63 , 79 , 200 , 125 , 63 , 150 , 142 , 125 , 63 , 20 , 82 , 125 , 63 , 203 , 18 , 125 , 63 , 188 , 208 , 124 , 63 , 231 , 139 , 124 , 63 , 77 , 68 , 124 , 63 , 239 , 249 , 123 , 63 , 205 , 172 , 123 , 63 , 233 , 92 , 123 , 63 , 67 , 10 , 123 , 63 , 221 , 180 , 122 , 63 , 182 , 92 , 122 , 63 , 209 , 1 , 122 , 63 , 46 , 164 , 121 , 63 , 206 , 67 , 121 , 63 , 178 , 224 , 120 , 63 , 220 , 122 , 120 , 63 , 76 , 18 , 120 , 63 , 4 , 167 , 119 , 63 , 4 , 57 , 119 , 63 , 79 , 200 , 118 , 63 , 228 , 84 , 118 , 63 , 198 , 222 , 117 , 63 , 246 , 101 , 117 , 63 , 117 , 234 , 116 , 63 , 68 , 108 , 116 , 63 , 101 , 235 , 115 , 63 , 218 , 103 , 115 , 63 , 163 , 225 , 114 , 63 , 194 , 88 , 114 , 63 , 57 , 205 , 113 , 63 , 9 , 63 , 113 , 63 , 52 , 174 , 112 , 63 , 187 , 26 , 112 , 63 , 160 , 132 , 111 , 63 , 228 , 235 , 110 , 63 , 138 , 80 , 110 , 63 , 147 , 178 , 109 , 63 , 1 , 18 , 109 , 63 , 213 , 110 , 108 , 63 , 17 , 201 , 107 , 63 , 183 , 32 , 107 , 63 , 201 , 117 , 106 , 63 , 73 , 200 , 105 , 63 , 57 , 24 , 105 , 63 , 155 , 101 , 104 , 63 , 111 , 176 , 103 , 63 , 186 , 248 , 102 , 63 , 124 , 62 , 102 , 63 , 184 , 129 , 101 , 63 , 111 , 194 , 100 , 63 , 164 , 0 , 100 , 63 , 90 , 60 , 99 , 63 , 145 , 117 , 98 , 63 , 76 , 172 , 97 , 63 , 142 , 224 , 96 , 63 , 89 , 18 , 96 , 63 , 174 , 65 , 95 , 63 , 145 , 110 , 94 , 63 , 3 , 153 , 93 , 63 , 8 , 193 , 92 , 63 , 160 , 230 , 91 , 63 , 207 , 9 , 91 , 63 , 152 , 42 , 90 , 63 , 251 , 72 , 89 , 63 , 253 , 100 , 88 , 63 , 159 , 126 , 87 , 63 , 229 , 149 , 86 , 63 , 208 , 170 , 85 , 63 , 99 , 189 , 84 , 63 , 161 , 205 , 83 , 63 , 140 , 219 , 82 , 63 , 39 , 231 , 81 , 63 , 117 , 240 , 80 , 63 , 121 , 247 , 79 , 63 , 52 , 252 , 78 , 63 , 171 , 254 , 77 , 63 , 223 , 254 , 76 , 63 , 212 , 252 , 75 , 63 , 140 , 248 , 74 , 63 , 10 , 242 , 73 , 63 , 82 , 233 , 72 , 63 , 101 , 222 , 71 , 63 , 71 , 209 , 70 , 63 , 251 , 193 , 69 , 63 , 132 , 176 , 68 , 63 , 229 , 156 , 67 , 63 , 32 , 135 , 66 , 63 , 58 , 111 , 65 , 63 , 52 , 85 , 64 , 63 , 19 , 57 , 63 , 63 , 216 , 26 , 62 , 63 , 136 , 250 , 60 , 63 , 38 , 216 , 59 , 63 , 180 , 179 , 58 , 63 , 54 , 141 , 57 , 63 , 175 , 100 , 56 , 63 , 34 , 58 , 55 , 63 , 147 , 13 , 54 , 63 , 5 , 223 , 52 , 63 , 124 , 174 , 51 , 63 , 249 , 123 , 50 , 63 , 130 , 71 , 49 , 63 , 25 , 17 , 48 , 63 , 194 , 216 , 46 , 63 , 127 , 158 , 45 , 63 , 86 , 98 , 44 , 63 , 72 , 36 , 43 , 63 , 90 , 228 , 41 , 63 , 144 , 162 , 40 , 63 , 235 , 94 , 39 , 63 , 113 , 25 , 38 , 63 , 37 , 210 , 36 , 63 , 9 , 137 , 35 , 63 , 35 , 62 , 34 , 63 , 117 , 241 , 32 , 63 , 4 , 163 , 31 , 63 , 210 , 82 , 30 , 63 , 228 , 0 , 29 , 63 , 61 , 173 , 27 , 63 , 225 , 87 , 26 , 63 , 211 , 0 , 25 , 63 , 25 , 168 , 23 , 63 , 180 , 77 , 22 , 63 , 170 , 241 , 20 , 63 , 253 , 147 , 19 , 63 , 178 , 52 , 18 , 63 , 204 , 211 , 16 , 63 , 80 , 113 , 15 , 63 , 66 , 13 , 14 , 63 , 164 , 167 , 12 , 63 , 124 , 64 , 11 , 63 , 205 , 215 , 9 , 63 , 154 , 109 , 8 , 63 , 233 , 1 , 7 , 63 , 189 , 148 , 5 , 63 , 25 , 38 , 4 , 63 , 3 , 182 , 2 , 63 , 126 , 68 , 1 , 63 , 28 , 163 , 255 , 62 , 110 , 186 , 252 , 62 , 250 , 206 , 249 , 62 , 202 , 224 , 246 , 62 , 228 , 239 , 243 , 62 , 81 , 252 , 240 , 62 , 26 , 6 , 238 , 62 , 71 , 13 , 235 , 62 , 224 , 17 , 232 , 62 , 237 , 19 , 229 , 62 , 119 , 19 , 226 , 62 , 135 , 16 , 223 , 62 , 36 , 11 , 220 , 62 , 88 , 3 , 217 , 62 , 42 , 249 , 213 , 62 , 164 , 236 , 210 , 62 , 205 , 221 , 207 , 62 , 175 , 204 , 204 , 62 , 82 , 185 , 201 , 62 , 191 , 163 , 198 , 62 , 254 , 139 , 195 , 62 , 24 , 114 , 192 , 62 , 22 , 86 , 189 , 62 , 0 , 56 , 186 , 62 , 224 , 23 , 183 , 62 , 189 , 245 , 179 , 62 , 161 , 209 , 176 , 62 , 149 , 171 , 173 , 62 , 162 , 131 , 170 , 62 , 207 , 89 , 167 , 62 , 39 , 46 , 164 , 62 , 178 , 0 , 161 , 62 , 121 , 209 , 157 , 62 , 133 , 160 , 154 , 62 , 223 , 109 , 151 , 62 , 143 , 57 , 148 , 62 , 160 , 3 , 145 , 62 , 26 , 204 , 141 , 62 , 5 , 147 , 138 , 62 , 107 , 88 , 135 , 62 , 86 , 28 , 132 , 62 , 205 , 222 , 128 , 62 , 182 , 63 , 123 , 62 , 16 , 191 , 116 , 62 , 187 , 59 , 110 , 62 , 201 , 181 , 103 , 62 , 77 , 45 , 97 , 62 , 89 , 162 , 90 , 62 , 255 , 20 , 84 , 62 , 81 , 133 , 77 , 62 , 99 , 243 , 70 , 62 , 70 , 95 , 64 , 62 , 13 , 201 , 57 , 62 , 202 , 48 , 51 , 62 , 144 , 150 , 44 , 62 , 114 , 250 , 37 , 62 , 130 , 92 , 31 , 62 , 210 , 188 , 24 , 62 , 118 , 27 , 18 , 62 , 127 , 120 , 11 , 62 , 1 , 212 , 4 , 62 , 29 , 92 , 252 , 61 , 114 , 13 , 239 , 61 , 41 , 188 , 225 , 61 , 102 , 104 , 212 , 61 , 78 , 18 , 199 , 61 , 8 , 186 , 185 , 61 , 184 , 95 , 172 , 61 , 132 , 3 , 159 , 61 , 146 , 165 , 145 , 61 , 7 , 70 , 132 , 61 , 18 , 202 , 109 , 61 , 122 , 5 , 83 , 61 , 145 , 62 , 56 , 61 , 164 , 117 , 29 , 61 , 252 , 170 , 2 , 61 , 202 , 189 , 207 , 60 , 86 , 35 , 154 , 60 , 97 , 14 , 73 , 60 , 197 , 167 , 187 , 59 , 61 , 122 , 86 , 186 , 9 , 70 , 241 , 187 , 18 , 221 , 99 , 188 , 80 , 138 , 167 , 188 , 65 , 36 , 221 , 188 , 227 , 93 , 9 , 189 , 35 , 40 , 36 , 189 , 150 , 240 , 62 , 189 , 242 , 182 , 89 , 189 , 234 , 122 , 116 , 189 , 26 , 158 , 135 , 189 , 66 , 253 , 148 , 189 , 200 , 90 , 162 , 189 , 134 , 182 , 175 , 189 , 87 , 16 , 189 , 189 , 22 , 104 , 202 , 189 , 155 , 189 , 215 , 189 , 195 , 16 , 229 , 189 , 105 , 97 , 242 , 189 , 101 , 175 , 255 , 189 , 74 , 125 , 6 , 190 , 104 , 33 , 13 , 190 , 250 , 195 , 19 , 190 , 237 , 100 , 26 , 190 , 46 , 4 , 33 , 190 , 172 , 161 , 39 , 190 , 83 , 61 , 46 , 190 , 16 , 215 , 52 , 190 , 210 , 110 , 59 , 190 , 134 , 4 , 66 , 190 , 25 , 152 , 72 , 190 , 121 , 41 , 79 , 190 , 148 , 184 , 85 , 190 , 86 , 69 , 92 , 190 , 174 , 207 , 98 , 190 , 137 , 87 , 105 , 190 , 214 , 220 , 111 , 190 , 128 , 95 , 118 , 190 , 120 , 223 , 124 , 190 , 84 , 174 , 129 , 190 , 129 , 235 , 132 , 190 , 56 , 39 , 136 , 190 , 114 , 97 , 139 , 190 , 36 , 154 , 142 , 190 , 69 , 209 , 145 , 190 , 205 , 6 , 149 , 190 , 179 , 58 , 152 , 190 , 238 , 108 , 155 , 190 , 116 , 157 , 158 , 190 , 61 , 204 , 161 , 190 , 64 , 249 , 164 , 190 , 115 , 36 , 168 , 190 , 207 , 77 , 171 , 190 , 73 , 117 , 174 , 190 , 218 , 154 , 177 , 190 , 120 , 190 , 180 , 190 , 27 , 224 , 183 , 190 , 186 , 255 , 186 , 190 , 75 , 29 , 190 , 190 , 199 , 56 , 193 , 190 , 37 , 82 , 196 , 190 , 91 , 105 , 199 , 190 , 97 , 126 , 202 , 190 , 48 , 145 , 205 , 190 , 188 , 161 , 208 , 190 , 0 , 176 , 211 , 190 , 241 , 187 , 2
allocate ( [ 95 , 1 , 191 , 1 , 95 , 0 , 191 , 0 , 31 , 1 , 127 , 1 , 223 , 1 , 184 , 126 , 154 , 121 , 154 , 121 , 102 , 102 , 184 , 126 , 51 , 115 , 210 , 6 , 138 , 58 , 171 , 152 , 198 , 26 , 169 , 100 , 246 , 216 , 0 , 255 , 0 , 255 , 0 , 255 , 0 , 255 , 0 , 255 , 0 , 254 , 1 , 0 , 1 , 255 , 0 , 254 , 0 , 253 , 2 , 0 , 1 , 255 , 0 , 254 , 0 , 253 , 3 , 0 , 1 , 255 , 224 , 112 , 44 , 15 , 3 , 2 , 1 , 0 , 254 , 237 , 192 , 132 , 70 , 23 , 4 , 0 , 255 , 252 , 226 , 155 , 61 , 11 , 2 , 0 , 250 , 245 , 234 , 203 , 71 , 50 , 42 , 38 , 35 , 33 , 31 , 29 , 28 , 27 , 26 , 25 , 24 , 23 , 22 , 21 , 20 , 19 , 18 , 17 , 16 , 15 , 14 , 13 , 12 , 11 , 10 , 9 , 8 , 7 , 6 , 5 , 4 , 3 , 2 , 1 , 0 , 179 , 99 , 0 , 71 , 56 , 43 , 30 , 21 , 12 , 6 , 0 , 199 , 165 , 144 , 124 , 109 , 96 , 84 , 71 , 61 , 51 , 42 , 32 , 23 , 15 , 8 , 0 , 241 , 225 , 211 , 199 , 187 , 175 , 164 , 153 , 142 , 132 , 123 , 114 , 105 , 96 , 88 , 80 , 72 , 64 , 57 , 50 , 44 , 38 , 33 , 29 , 24 , 20 , 16 , 12 , 9 , 5 , 2 , 0 , 4 , 6 , 24 , 7 , 5 , 0 , 0 , 2 , 0 , 0 , 12 , 28 , 41 , 13 , 252 , 247 , 15 , 42 , 25 , 14 , 1 , 254 , 62 , 41 , 247 , 246 , 37 , 65 , 252 , 3 , 250 , 4 , 66 , 7 , 248 , 16 , 14 , 38 , 253 , 33 , 13 , 22 , 39 , 23 , 12 , 255 , 36 , 64 , 27 , 250 , 249 , 10 , 55 , 43 , 17 , 1 , 1 , 8 , 1 , 1 , 6 , 245 , 74 , 53 , 247 , 244 , 55 , 76 , 244 , 8 , 253 , 3 , 93 , 27 , 252 , 26 , 39 , 59 , 3 , 248 , 2 , 0 , 77 , 11 , 9 , 248 , 22 , 44 , 250 , 7 , 40 , 9 , 26 , 3 , 9 , 249 , 20 , 101 , 249 , 4 , 3 , 248 , 42 , 26 , 0 , 241 , 33 , 68 , 2 , 23 , 254 , 55 , 46 , 254 , 15 , 3 , 255 , 21 , 16 , 41 , 250 , 27 , 61 , 39 , 5 , 245 , 42 , 88 , 4 , 1 , 254 , 60 , 65 , 6 , 252 , 255 , 251 , 73 , 56 , 1 , 247 , 19 , 94 , 29 , 247 , 0 , 12 , 99 , 6 , 4 , 8 , 237 , 102 , 46 , 243 , 3 , 2 , 13 , 3 , 2 , 9 , 235 , 84 , 72 , 238 , 245 , 46 , 104 , 234 , 8 , 18 , 38 , 48 , 23 , 0 , 240 , 70 , 83 , 235 , 11 , 5 , 245 , 117 , 22 , 248 , 250 , 23 , 117 , 244 , 3 , 3 , 248 , 95 , 28 , 4 , 246 , 15 , 77 , 60 , 241 , 255 , 4 , 124 , 2 , 252 , 3 , 38 , 84 , 24 , 231 , 2 , 13 , 42 , 13 , 31 , 21 , 252 , 56 , 46 , 255 , 255 , 35 , 79 , 243 , 19 , 249 , 65 , 88 , 247 , 242 , 20 , 4 , 81 , 49 , 227 , 20 , 0 , 75 , 3 , 239 , 5 , 247 , 44 , 92 , 248 , 1 , 253 , 22 , 69 , 31 , 250 , 95 , 41 , 244 , 5 , 39 , 67 , 16 , 252 , 1 , 0 , 250 , 120 , 55 , 220 , 243 , 44 , 122 , 4 , 232 , 81 , 5 , 11 , 3 , 7 , 2 , 0 , 9 , 10 , 88 , 12 , 35 , 60 , 83 , 108 , 132 , 157 , 180 , 206 , 228 , 15 , 32 , 55 , 77 , 101 , 125 , 151 , 175 , 201 , 225 , 19 , 42 , 66 , 89 , 114 , 137 , 162 , 184 , 209 , 230 , 12 , 25 , 50 , 72 , 97 , 120 , 147 , 172 , 200 , 223 , 26 , 44 , 69 , 90 , 114 , 135 , 159 , 180 , 205 , 225 , 13 , 22 , 53 , 80 , 106 , 130 , 156 , 180 , 205 , 228 , 15 , 25 , 44 , 64 , 90 , 115 , 142 , 168 , 196 , 222 , 19 , 24 , 62 , 82 , 100 , 120 , 145 , 168 , 190 , 214 , 22 , 31 , 50 , 79 , 103 , 120 , 151 , 170 , 203 , 227 , 21 , 29 , 45 , 65 , 106 , 124 , 150 , 171 , 196 , 224 , 30 , 49 , 75 , 97 , 121 , 142 , 165 , 186 , 209 , 229 , 19 , 25 , 52 , 70 , 93 , 116 , 143 , 166 , 192 , 219 , 26 , 34 , 62 , 75 , 97 , 118 , 145 , 167 , 194 , 217 , 25 , 33 , 56 , 70 , 91 , 113 , 143 , 165 , 196 , 223 , 21 , 34 , 51 , 72 , 97 , 117 , 145 , 171 , 196 , 222 , 20 , 29 , 50 , 67 , 90 , 117 , 144 , 168 , 197 , 221 , 22 , 31 , 48 , 66 , 95 , 117 , 146 , 168 , 196 , 222 , 24 , 33 , 51 , 77 , 116 , 134 , 158 , 180 , 200 , 224 , 21 , 28 , 70 , 87 , 106 , 124 , 149 , 170 , 194 , 217 , 26 , 33 , 53 , 64 , 83 , 117 , 152 , 173 , 204 , 225 , 27 , 34 , 65 , 95 , 108 , 129 , 155 , 174 , 210 , 225 , 20 , 26 , 72 , 99 , 113 , 131 , 154 , 176 , 200 , 219 , 34 , 43 , 61 , 78 , 93 , 114 , 155 , 177 , 205 , 229 , 23 , 29 , 54 , 97 , 124 , 138 , 163 , 179 , 209 , 229 , 30 , 38 , 56 , 89 , 118 , 129 , 158 , 178 , 200 , 231 , 21 , 29 , 49 , 63 , 85 , 111 , 142 , 163 , 193 , 222 , 27 , 48 , 77 , 103 , 133 , 158 , 179 , 196 , 215 , 232 , 29 , 47 , 74 , 99 , 124 , 151 , 176 , 198 , 220 , 237 , 33 , 42 , 61 , 76 , 93 , 121 , 155 , 174 , 207 , 225 , 29 , 53 , 87 , 112 , 136 , 154 , 170 , 188 , 208 , 227 , 24 , 30 , 52 , 84 , 131 , 150 , 166 , 186 , 203 , 229 , 37 , 48 , 64 , 84 , 104 , 118 , 156 , 177 , 201 , 230 , 212 , 178 , 148 , 129 , 108 , 96 , 85 , 82 , 79 , 77 , 61 , 59 , 57 , 56 , 51 , 49 , 48 , 45 , 42 , 41 , 40 , 38 , 36 , 34 , 31 , 30 , 21 , 12 , 10 , 3 , 1 , 0 , 255 , 245 , 244 , 236 , 233 , 225 , 217 , 203 , 190 , 176 , 175 , 161 , 149 , 136 , 125 , 114 , 102 , 91 , 81 , 71 , 60 , 52 , 43 , 35 , 28 , 20 , 19 , 18 , 12 , 11 , 5 , 0 , 179 , 138 , 140 , 148 , 151 , 149 , 153 , 151 , 163 , 116 , 67 , 82 , 59 , 92 , 72 , 100 , 89 , 92 , 16 , 0 , 0 , 0 , 0 , 99 , 66 , 36 , 36 , 34 , 36 , 34 , 34 , 34 , 34 , 83 , 69 , 36 , 52 , 34 , 116 , 102 , 70 , 68 , 68 , 176 , 102 , 68 , 68 , 34 , 65 , 85 , 68 , 84 , 36 , 116 , 141 , 152 , 139 , 170 , 132 , 187 , 184 , 216 , 137 , 132 , 249 , 168 , 185 , 139 , 104 , 102 , 100 , 68 , 68 , 178 , 218 , 185 , 185 , 170 , 244 , 216 , 187 , 187 , 170 , 244 , 187 , 187 , 219 , 138 , 103 , 155 , 184 , 185 , 137 , 116 , 183 , 155 , 152 , 136 , 132 , 217 , 184 , 184 , 170 , 164 , 217 , 171 , 155 , 139 , 244 , 169 , 184 , 185 , 170 , 164 , 216 , 223 , 218 , 138 , 214 , 143 , 188 , 218 , 168 , 244 , 141 , 136 , 155 , 170 , 168 , 138 , 220 , 219 , 139 , 164 , 219 , 202 , 216 , 137 , 168 , 186 , 246 , 185 , 139 , 116 , 185 , 219 , 185 , 138 , 100 , 100 , 134 , 100 , 102 , 34 , 68 , 68 , 100 , 68 , 168 , 203 , 221 , 218 , 168 , 167 , 154 , 136 , 104 , 70 , 164 , 246 , 171 , 137 , 139 , 137 , 155 , 218 , 219 , 139 , 255 , 254 , 253 , 238 , 14 , 3 , 2 , 1 , 0 , 255 , 254 , 252 , 218 , 35 , 3 , 2 , 1 , 0 , 255 , 254 , 250 , 208 , 59 , 4 , 2 , 1 , 0 , 255 , 254 , 246 , 194 , 71 , 10 , 2 , 1 , 0 , 255 , 252 , 236 , 183 , 82 , 8 , 2 , 1 , 0 , 255 , 252 , 235 , 180 , 90 , 17 , 2 , 1 , 0 , 255 , 248 , 224 , 171 , 97 , 30 , 4 , 1 , 0 , 255 , 254 , 236 , 173 , 95 , 37 , 7 , 1 , 0 , 255 , 255 , 255 , 131 , 6 , 145 , 255 , 255 , 255 , 255 , 255 , 236 , 93 , 15 , 96 , 255 , 255 , 255 , 255 , 255 , 194 , 83 , 25 , 71 , 221 , 255 , 255 , 255 , 255 , 162 , 73 , 34 , 66 , 162 , 255 , 255 , 255 , 210 , 126 , 73 , 43 , 57 , 173 , 255 , 255 , 255 , 201 , 125 , 71 , 48 , 58 , 130 , 255 , 255 , 255 , 166 , 110 , 73 , 57 , 62 , 104 , 210 , 255 , 255 , 251 , 123 , 65 , 55 , 68 , 100 , 171 , 255 , 7 , 23 , 38 , 54 , 69 , 85 , 100 , 116 , 131 , 147 , 162 , 178 , 193 , 208 , 223 , 239 , 13 , 25 , 41 , 55 , 69 , 83 , 98 , 112 , 127 , 142 , 157 , 171 , 187 , 203 , 220 , 236 , 15 , 21 , 34 , 51 , 61 , 78 , 92 , 106 , 1
V = r [ g >> 2 ] | 0 ; m = h ; return V | 0 } if ( ( r [ B >> 2 ] | 0 ) > 0 ) r [ D >> 2 ] = r [ B >> 2 ] ; do if ( ( r [ T >> 2 ] | 0 ) != 0 & ( r [ k >> 2 ] | 0 ) != 0 ) { if ( ( r [ D >> 2 ] | 0 ) == 0 ? ! ( ( r [ $ >> 2 ] & 1 | 0 ) == 0 & ( r [ B >> 2 ] | 0 ) < 0 | ( r [ x >> 2 ] | 0 ) > 1 ) : 0 ) break ; La ( r [ T >> 2 ] | 0 , r [ k >> 2 ] | 0 , ( r [ y >> 2 ] << 2 ) + 0 | 0 ) | 0 ; r [ k >> 2 ] = r [ T >> 2 ] } while ( 0 ) ; r [ F >> 2 ] = 0 ; while ( 1 ) { if ( ( r [ F >> 2 ] | 0 ) >= ( r [ D >> 2 ] | 0 ) ) break ; if ( r [ U >> 2 ] | 0 ) Se ( r [ v >> 2 ] | 0 , r [ y >> 2 ] >> r [ F >> 2 ] , 1 << r [ F >> 2 ] ) ; if ( r [ k >> 2 ] | 0 ) Se ( r [ k >> 2 ] | 0 , r [ y >> 2 ] >> r [ F >> 2 ] , 1 << r [ F >> 2 ] ) ; r [ C >> 2 ] = o [ 23948 + ( r [ C >> 2 ] & 15 ) >> 0 ] | 0 | ( o [ 23948 + ( r [ C >> 2 ] >> 4 ) >> 0 ] | 0 ) << 2 ; r [ F >> 2 ] = ( r [ F >> 2 ] | 0 ) + 1 } r [ w >> 2 ] = r [ w >> 2 ] >> r [ D >> 2 ] ; r [ $ >> 2 ] = r [ $ >> 2 ] << r [ D >> 2 ] ; while ( 1 ) { if ( ! ( ( r [ $ >> 2 ] & 1 | 0 ) == 0 ? ( r [ B >> 2 ] | 0 ) < 0 : 0 ) ) break ; if ( r [ U >> 2 ] | 0 ) Se ( r [ v >> 2 ] | 0 , r [ $ >> 2 ] | 0 , r [ w >> 2 ] | 0 ) ; if ( r [ k >> 2 ] | 0 ) Se ( r [ k >> 2 ] | 0 , r [ $ >> 2 ] | 0 , r [ w >> 2 ] | 0 ) ; r [ C >> 2 ] = r [ C >> 2 ] | r [ C >> 2 ] << r [ w >> 2 ] ; r [ w >> 2 ] = r [ w >> 2 ] << 1 ; r [ $ >> 2 ] = r [ $ >> 2 ] >> 1 ; r [ P >> 2 ] = ( r [ P >> 2 ] | 0 ) + 1 ; r [ B >> 2 ] = ( r [ B >> 2 ] | 0 ) + 1 } r [ x >> 2 ] = r [ w >> 2 ] ; r [ I >> 2 ] = r [ $ >> 2 ] ; if ( ( r [ x >> 2 ] | 0 ) > 1 ) { if ( r [ U >> 2 ] | 0 ) rt ( r [ v >> 2 ] | 0 , r [ $ >> 2 ] >> r [ D >> 2 ] , r [ x >> 2 ] << r [ D >> 2 ] , r [ O >> 2 ] | 0 ) ; if ( r [ k >> 2 ] | 0 ) rt ( r [ k >> 2 ] | 0 , r [ $ >> 2 ] >> r [ D >> 2 ] , r [ x >> 2 ] << r [ D >> 2 ] , r [ O >> 2 ] | 0 ) } r [ N >> 2 ] = ot ( r [ _ >> 2 ] | 0 , r [ v >> 2 ] | 0 , r [ y >> 2 ] | 0 , r [ b >> 2 ] | 0 , r [ w >> 2 ] | 0 , r [ k >> 2 ] | 0 , r [ M >> 2 ] | 0 , + c [ A >> 2 ] , r [ C >> 2 ] | 0 ) | 0 ; if ( r [ L >> 2 ] | 0 ) { if ( ( r [ x >> 2 ] | 0 ) > 1 ) st ( r [ v >> 2 ] | 0 , r [ $ >> 2 ] >> r [ D >> 2 ] , r [ x >> 2 ] << r [ D >> 2 ] , r [ O >> 2 ] | 0 ) ; r [ $ >> 2 ] = r [ I >> 2 ] ; r [ w >> 2 ] = r [ x >> 2 ] ; r [ F >> 2 ] = 0 ; while ( 1 ) { if ( ( r [ F >> 2 ] | 0 ) >= ( r [ P >> 2 ] | 0 ) ) break ; r [ w >> 2 ] = r [ w >> 2 ] >> 1 ; r [ $ >> 2 ] = r [ $ >> 2 ] << 1 ; r [ N >> 2 ] = r [ N >> 2 ] | ( r [ N >> 2 ] | 0 ) >>> ( r [ w >> 2 ] | 0 ) ; Se ( r [ v >> 2 ] | 0 , r [ $ >> 2 ] | 0 , r [ w >> 2 ] | 0 ) ; r [ F >> 2 ] = ( r [ F >> 2 ] | 0 ) + 1 } r [ F >> 2 ] = 0 ; while ( 1 ) { if ( ( r [ F >> 2 ] | 0 ) >= ( r [ D >> 2 ] | 0 ) ) break ; r [ N >> 2 ] = o [ 23964 + ( r [ N >> 2 ] | 0 ) >> 0 ] ; Se ( r [ v >> 2 ] | 0 , r [ E >> 2 ] >> r [ F >> 2 ] , 1 << r [ F >> 2 ] ) ; r [ F >> 2 ] = ( r [ F >> 2 ] | 0 ) + 1 } r [ w >> 2 ] = r [ w >> 2 ] << r [ D >> 2 ] ; e : do if ( r [ S >> 2 ] | 0 ) { c [ j >> 2 ] = + R ( + + ( r [ E >> 2 ] | 0 ) ) ; r [ H >> 2 ] = 0 ; while ( 1 ) { if ( ( r [ H >> 2 ] | 0 ) >= ( r [ E >> 2 ] | 0 ) ) break e ; c [ ( r [ S >> 2 ] | 0 ) + ( r [ H >> 2 ] << 2 ) >> 2 ] = + c [ j >> 2 ] * + c [ ( r [ v >> 2 ] | 0 ) + ( r [ H >> 2 ] << 2 ) >> 2 ] ; r [ H >> 2 ] = ( r [ H >> 2 ] | 0 ) + 1 } } while ( 0 ) ; r [ N >> 2 ] = r [ N >> 2 ] & ( 1 << r [ w >> 2 ] ) - 1 } r [ g >> 2 ] = r [ N >> 2 ] ; V = r [ g >> 2 ] | 0 ; m = h ; return V | 0 } function $e ( e , t , n , i , a , o , s , l , d , u , p ) { e = e | 0 ; t = t | 0 ; n = n | 0 ; i = i | 0 ; a = a | 0 ; o = o | 0 ; s = s | 0 ; l = l | 0 ; d = d | 0 ; u = u | 0 ; p = p | 0 ; var f = 0 , h = 0 , g = 0 , _ = 0 , v = 0 , y = 0 , b = 0 , w = 0 , k = 0 , M = 0 , S = 0 , A = 0 , T = 0 , C = 0 , E = 0 , $ = 0 , I = 0 , x = 0 , P = 0 , D = 0 , R = 0 , O = 0 , N = 0 , L = 0 , F = 0 , U = 0 , B = 0 , H = 0 , j = 0 , V = 0 , q = 0 , z = 0 , W = 0 , G = 0 , K = 0 , Y = 0 , X = 0 , J = 0 , Z = 0 ; f = m ; m = m + 160 | 0 ; h = f + 156 | 0 ; g = f + 152 | 0 ; _ = f + 148 | 0 ; v = f + 144 | 0 ; y = f + 140 | 0 ; b = f + 136 | 0 ; w = f + 132 | 0 ; k = f + 128 | 0 ; M = f + 124 | 0 ; S = f + 120 | 0 ; A = f + 116 | 0 ; T = f + 112 | 0 ; C = f + 108 | 0 ; E = f + 104 | 0 ; $ = f + 100 | 0 ; I = f + 96 | 0 ; x = f + 92 | 0 ; P = f + 88 | 0 ; D = f + 84 | 0 ; R = f + 80 | 0 ; O = f + 76 | 0 ; N = f + 72 | 0 ; L = f + 68 | 0 ; F = f + 64 | 0 ; U = f + 40 | 0 ; B = f + 36 | 0 ; H = f + 32 | 0 ; j = f + 28 | 0 ; V = f + 24 | 0 ; q = f + 20 | 0 ; z = f + 16 | 0 ; W = f + 12 | 0 ; G = f + 8 | 0 ; K = f + 4 | 0 ; Y = f ; r [ g >> 2 ] = e ; r [ _ >> 2 ] = t ; r [ v >> 2 ] = n ; r [ y >> 2 ] = i ; r [ b >> 2 ] = a ; r [ w >> 2 ] = o ; r [ k >> 2 ] = s ; r [ M >> 2 ] = l ; r [ S >> 2 ] = d ; r [ A >> 2 ] = u ; r [ T >> 2 ] = p ; r [ C >> 2 ] = 0 ; r [ E >> 2 ] = 0 ; r [ $ >> 2 ] = 0 ; c [ I >> 2 ] = 0 ; c [ x >> 2 ] = 0 ; r [ P >> 2 ] = 0 ; r [ D >> 2 ] = ( ( r [ r [ g >> 2 ] >> 2 ] | 0 ) != 0 ^ 1 ) & 1 ; r [ H >> 2 ] = r [ r [ g >> 2 ] >> 2 ] ; r [ j >> 2 ] = r [ ( r [ g >> 2 ] | 0 ) + 24 >> 2 ] ; if ( ( r [ y >> 2 ] | 0 ) == 1 ) { r [ h >> 2 ] = Ie ( r [ g >> 2 ] | 0 , r [ _ >> 2 ] | 0 , r [ v >> 2 ] | 0 , r [ b >> 2 ] | 0 , r [ S >> 2 ] | 0 ) | 0 ; X = r [ h >> 2 ] | 0 ; m = f ; return X | 0 } r [ B >> 2 ] = r [ T >> 2 ] ; xe ( r [ g >> 2 ] | 0 , U , r [ _ >> 2 ] | 0 , r [ v >> 2 ] | 0 , r [ y >> 2 ] | 0 , b , r [ w >> 2 ] | 0 , r [ w >> 2 ] | 0 , r [ M >> 2 ] | 0 , 1 , T ) ; r [ $ >> 2 ] = r [ U >> 2 ] ; r [ C >> 2 ] = r [ U + 4 >> 2 ] ; r [ E >> 2 ] = r [ U + 8 >> 2 ] ; r [ N >> 2 ] = r [ U + 12 >> 2 ] ; r [ L >> 2 ] = r [ U + 16 >> 2 ] ; r [ F >> 2 ] = r [ U + 20 >> 2 ] ; c [ I >> 2 ] = + ( r [ C >> 2 ] | 0 ) * 30517578125e-15 ; c [ x >> 2 ] = + ( r [ E >> 2 ] | 0 ) * 30517578125e-15 ; do if ( ( r [ y >> 2 ] | 0 ) == 2 ) { r [ q >> 2 ] = 0 ; r [ R >> 2 ] = r [ b >> 2 ] ; r [ O >> 2 ] = 0 ; r [ O >> 2 ] = ( r [ L >> 2 ] | 0 ) != 0 & ( r [ L >> 2 ] | 0 ) != 16384 ? 8 : 0 ; r [ R >> 2 ] = ( r [ R >> 2 ] | 0 ) - ( r [ O >> 2 ] | 0 ) ; r [ V >> 2 ] = ( r [ L >> 2 ] | 0 ) > 8192 & 1 ; E = ( r [ g >> 2 ] | 0 ) + 28 | 0 ; r [ E >> 2 ] = ( r [ E >> 2 ] | 0 ) - ( ( r [ F >> 2 ] | 0 ) + ( r [ O >> 2 ] | 0 ) ) ; r [ z >> 2 ] = r [ V >> 2 ] | 0 ? r [ v >> 2 ] | 0 : r [ _ >> 2 ] | 0 ; r [ W >> 2 ] = r [ V >> 2 ] | 0 ? r [ _ >> 2 ] | 0 : r [ v >> 2 ] | 0 ; do if ( r [ O >> 2 ] | 0 ) if ( r [ H >> 2 ] | 0 ) { r [ q >> 2 ] = + c [ r [ z >> 2 ] >> 2 ] * + c [ ( r [ W >> 2 ] | 0 ) + 4 >> 2 ] - + c [ ( r [ z >> 2 ] | 0 ) + 4 >> 2 ] * + c [ r [ W >> 2 ] >> 2 ] < 0 & 1 ; Pe ( r [ j >> 2 ] | 0 , r [ q >> 2 ] | 0 , 1 ) ; break } else { r [ q >> 2 ] = De ( r [ j >> 2 ] | 0 , 1 ) | 0 ; break } while ( 0 ) ; r [ q >> 2 ] = 1 - ( r [ q >> 2 ] << 1 ) ; r [ P >> 2 ] = Ee ( r [ g >> 2 ] | 0 , r [ z >> 2 ] | 0 , r [ y >> 2 ] | 0 , r [ R >> 2 ] | 0 , r [ w >> 2 ] | 0 , r [ k >> 2 ] | 0 , r [ M >> 2 ] | 0 , r [ S >> 2 ] | 0 , 1 , r [ A >> 2 ] | 0 , r [ B >> 2 ] | 0 ) | 0 ; c [ r [ W >> 2 ] >> 2 ] = + ( 0 - ( r [ q >> 2 ] | 0 ) | 0 ) * + c [ ( r [ z >> 2 ] | 0 ) + 4 >> 2 ] ; c [ ( r [ W >> 2 ] | 0 ) + 4 >> 2 ] = + ( r [ q >> 2 ] | 0 ) * + c [ r [ z >> 2 ] >> 2 ] ; if ( r [ D >> 2 ] | 0 ) { c [ r [ _ >> 2 ] >> 2 ] = + c [ I >> 2 ] * + c [ r [ _ >> 2 ] >> 2 ] ; c [ ( r [ _ >> 2 ] | 0 ) + 4 >> 2 ] = + c [ I >> 2 ] * + c [ ( r [ _ >> 2 ] | 0 ) + 4 >> 2 ] ; c [ r [ v >> 2 ] >> 2 ] = + c [ x >> 2 ] * + c [ r [ v >> 2 ] >> 2 ] ; c [ ( r [ v >> 2 ] | 0 ) + 4 >> 2 ] = + c [ x >> 2 ] * + c [ ( r [ v >> 2 ] | 0 ) + 4 >> 2 ] ; c [ G >> 2 ] = + c [ r [ _ >> 2 ] >> 2 ] ; c [ r [ _ >> 2 ] >> 2 ] = + c [ G >> 2 ] - + c [ r [ v >> 2 ] >> 2 ] ;
c [ n + ( d + ( r [ u >> 2 ] | 0 ) << 2 ) >> 2 ] = + c [ ( r [ o >> 2 ] | 0 ) + ( g + ( r [ p >> 2 ] | 0 ) << 2 ) >> 2 ] ; r [ p >> 2 ] = ( r [ p >> 2 ] | 0 ) + 1 } r [ u >> 2 ] = ( r [ u >> 2 ] | 0 ) + 1 } _ = r [ o >> 2 ] | 0 ; v = r [ f >> 2 ] | 0 ; y = v << 2 ; b = r [ o >> 2 ] | 0 ; w = b ; k = n ; M = w - k | 0 ; S = ( M | 0 ) / 4 | 0 ; A = 0 ; T = y + A | 0 ; La ( _ | 0 , n | 0 , T | 0 ) | 0 ; C = r [ h >> 2 ] | 0 ; ce ( C | 0 ) ; m = a ; return } } function lt ( e , t , n , i ) { e = e | 0 ; t = t | 0 ; n = n | 0 ; i = i | 0 ; var s = 0 , l = 0 , c = 0 , d = 0 , u = 0 , p = 0 , f = 0 , h = 0 , g = 0 , _ = 0 , v = 0 , y = 0 , b = 0 ; s = m ; m = m + 48 | 0 ; l = s + 36 | 0 ; c = s + 32 | 0 ; d = s + 28 | 0 ; u = s + 24 | 0 ; p = s + 20 | 0 ; f = s + 16 | 0 ; h = s + 12 | 0 ; g = s + 8 | 0 ; _ = s + 4 | 0 ; v = s ; r [ c >> 2 ] = e ; r [ d >> 2 ] = t ; r [ u >> 2 ] = n ; r [ p >> 2 ] = i ; r [ u >> 2 ] = ( r [ u >> 2 ] | 0 ) + 1 ; i = W ( r [ u >> 2 ] | 0 , r [ ( r [ c >> 2 ] | 0 ) + 8 >> 2 ] | 0 ) | 0 ; r [ _ >> 2 ] = ( r [ ( r [ c >> 2 ] | 0 ) + 92 + 8 >> 2 ] | 0 ) + ( a [ ( r [ ( r [ c >> 2 ] | 0 ) + 92 + 4 >> 2 ] | 0 ) + ( i + ( r [ d >> 2 ] | 0 ) << 1 ) >> 1 ] | 0 ) ; r [ h >> 2 ] = 0 ; r [ g >> 2 ] = o [ r [ _ >> 2 ] >> 0 ] ; r [ p >> 2 ] = ( r [ p >> 2 ] | 0 ) + - 1 ; r [ f >> 2 ] = 0 ; while ( 1 ) { if ( ( r [ f >> 2 ] | 0 ) >= 6 ) break ; r [ v >> 2 ] = ( r [ h >> 2 ] | 0 ) + ( r [ g >> 2 ] | 0 ) + 1 >> 1 ; d = r [ v >> 2 ] | 0 ; if ( ( o [ ( r [ _ >> 2 ] | 0 ) + ( r [ v >> 2 ] | 0 ) >> 0 ] | 0 ) >= ( r [ p >> 2 ] | 0 ) ) r [ g >> 2 ] = d ; else r [ h >> 2 ] = d ; r [ f >> 2 ] = ( r [ f >> 2 ] | 0 ) + 1 } if ( ! ( r [ h >> 2 ] | 0 ) ) y = - 1 ; else y = o [ ( r [ _ >> 2 ] | 0 ) + ( r [ h >> 2 ] | 0 ) >> 0 ] | 0 ; if ( ( ( r [ p >> 2 ] | 0 ) - y | 0 ) <= ( ( o [ ( r [ _ >> 2 ] | 0 ) + ( r [ g >> 2 ] | 0 ) >> 0 ] | 0 ) - ( r [ p >> 2 ] | 0 ) | 0 ) ) { r [ l >> 2 ] = r [ h >> 2 ] ; b = r [ l >> 2 ] | 0 ; m = s ; return b | 0 } else { r [ l >> 2 ] = r [ g >> 2 ] ; b = r [ l >> 2 ] | 0 ; m = s ; return b | 0 } return 0 } function ct ( e , t , n , i ) { e = e | 0 ; t = t | 0 ; n = n | 0 ; i = i | 0 ; var s = 0 , l = 0 , c = 0 , d = 0 , u = 0 , p = 0 , f = 0 ; s = m ; m = m + 32 | 0 ; l = s + 16 | 0 ; c = s + 12 | 0 ; d = s + 8 | 0 ; u = s + 4 | 0 ; p = s ; r [ l >> 2 ] = e ; r [ c >> 2 ] = t ; r [ d >> 2 ] = n ; r [ u >> 2 ] = i ; r [ d >> 2 ] = ( r [ d >> 2 ] | 0 ) + 1 ; i = W ( r [ d >> 2 ] | 0 , r [ ( r [ l >> 2 ] | 0 ) + 8 >> 2 ] | 0 ) | 0 ; r [ p >> 2 ] = ( r [ ( r [ l >> 2 ] | 0 ) + 92 + 8 >> 2 ] | 0 ) + ( a [ ( r [ ( r [ l >> 2 ] | 0 ) + 92 + 4 >> 2 ] | 0 ) + ( i + ( r [ c >> 2 ] | 0 ) << 1 ) >> 1 ] | 0 ) ; if ( ! ( r [ u >> 2 ] | 0 ) ) { f = 0 ; m = s ; return f | 0 } f = ( o [ ( r [ p >> 2 ] | 0 ) + ( r [ u >> 2 ] | 0 ) >> 0 ] | 0 ) + 1 | 0 ; m = s ; return f | 0 } function dt ( e ) { e = e | 0 ; var t = 0 , n = 0 , i = 0 ; t = m ; m = m + 16 | 0 ; n = t ; r [ n >> 2 ] = e ; e = r [ n >> 2 ] | 0 ; if ( ( r [ n >> 2 ] | 0 ) < 8 ) { i = e ; m = t ; return i | 0 } i = 8 + ( e & 7 ) << ( r [ n >> 2 ] >> 3 ) - 1 ; m = t ; return i | 0 } function ut ( e , t , n , i , a , o ) { e = e | 0 ; t = t | 0 ; n = n | 0 ; i = i | 0 ; a = a | 0 ; o = o | 0 ; var s = 0 , l = 0 , d = 0 , u = 0 , p = 0 , f = 0 , h = 0 , g = 0 , _ = 0 , v = 0 , y = 0 , b = 0 , w = 0 , k = 0 , M = 0 , S = 0 , A = 0 , T = 0 , C = 0 , E = 0 , $ = 0 , I = 0 , x = 0 ; s = m ; m = m + 96 | 0 ; l = s + 84 | 0 ; d = s + 80 | 0 ; u = s + 76 | 0 ; p = s + 72 | 0 ; f = s + 68 | 0 ; h = s + 64 | 0 ; g = s + 60 | 0 ; _ = s + 56 | 0 ; v = s + 52 | 0 ; y = s + 48 | 0 ; b = s + 44 | 0 ; w = s + 40 | 0 ; k = s + 36 | 0 ; M = s + 32 | 0 ; S = s + 28 | 0 ; A = s + 24 | 0 ; T = s + 20 | 0 ; C = s + 16 | 0 ; E = s + 12 | 0 ; $ = s + 8 | 0 ; I = s + 4 | 0 ; x = s ; r [ l >> 2 ] = e ; r [ d >> 2 ] = t ; r [ u >> 2 ] = n ; r [ p >> 2 ] = i ; r [ f >> 2 ] = a ; r [ h >> 2 ] = o ; o = r [ d >> 2 ] | 0 ; r [ S >> 2 ] = oe ( ) | 0 ; a = m ; m = m + ( ( 1 * ( o << 2 ) | 0 ) + 15 & - 16 ) | 0 ; o = m ; m = m + ( ( 1 * ( r [ d >> 2 ] << 2 ) | 0 ) + 15 & - 16 ) | 0 ; i = m ; m = m + ( ( 1 * ( r [ d >> 2 ] << 2 ) | 0 ) + 15 & - 16 ) | 0 ; ht ( r [ l >> 2 ] | 0 , r [ d >> 2 ] | 0 , 1 , r [ f >> 2 ] | 0 , r [ u >> 2 ] | 0 , r [ p >> 2 ] | 0 ) ; c [ b >> 2 ] = 0 ; r [ _ >> 2 ] = 0 ; do { p = i + ( r [ _ >> 2 ] << 2 ) | 0 ; if ( + c [ ( r [ l >> 2 ] | 0 ) + ( r [ _ >> 2 ] << 2 ) >> 2 ] > 0 ) c [ p >> 2 ] = 1 ; else { c [ p >> 2 ] = - 1 ; c [ ( r [ l >> 2 ] | 0 ) + ( r [ _ >> 2 ] << 2 ) >> 2 ] = - + c [ ( r [ l >> 2 ] | 0 ) + ( r [ _ >> 2 ] << 2 ) >> 2 ] } r [ o + ( r [ _ >> 2 ] << 2 ) >> 2 ] = 0 ; c [ a + ( r [ _ >> 2 ] << 2 ) >> 2 ] = 0 ; p = ( r [ _ >> 2 ] | 0 ) + 1 | 0 ; r [ _ >> 2 ] = p } while ( ( p | 0 ) < ( r [ d >> 2 ] | 0 ) ) ; c [ k >> 2 ] = 0 ; c [ w >> 2 ] = 0 ; r [ y >> 2 ] = r [ u >> 2 ] ; if ( ( r [ u >> 2 ] | 0 ) > ( r [ d >> 2 ] >> 1 | 0 ) ) { r [ _ >> 2 ] = 0 ; do { c [ b >> 2 ] = + c [ b >> 2 ] + + c [ ( r [ l >> 2 ] | 0 ) + ( r [ _ >> 2 ] << 2 ) >> 2 ] ; p = ( r [ _ >> 2 ] | 0 ) + 1 | 0 ; r [ _ >> 2 ] = p } while ( ( p | 0 ) < ( r [ d >> 2 ] | 0 ) ) ; if ( ! ( + c [ b >> 2 ] > 1.0000000036274937 e - 15 & + c [ b >> 2 ] < 64 ) ) { c [ r [ l >> 2 ] >> 2 ] = 1 ; r [ _ >> 2 ] = 1 ; do { c [ ( r [ l >> 2 ] | 0 ) + ( r [ _ >> 2 ] << 2 ) >> 2 ] = 0 ; p = ( r [ _ >> 2 ] | 0 ) + 1 | 0 ; r [ _ >> 2 ] = p } while ( ( p | 0 ) < ( r [ d >> 2 ] | 0 ) ) ; c [ b >> 2 ] = 1 } c [ A >> 2 ] = + ( ( r [ u >> 2 ] | 0 ) - 1 | 0 ) * ( 1 / + c [ b >> 2 ] ) ; r [ _ >> 2 ] = 0 ; do { b = ~ ~ + P ( + ( + c [ A >> 2 ] * + c [ ( r [ l >> 2 ] | 0 ) + ( r [ _ >> 2 ] << 2 ) >> 2 ] ) ) ; r [ o + ( r [ _ >> 2 ] << 2 ) >> 2 ] = b ; c [ a + ( r [ _ >> 2 ] << 2 ) >> 2 ] = + ( r [ o + ( r [ _ >> 2 ] << 2 ) >> 2 ] | 0 ) ; c [ k >> 2 ] = + c [ k >> 2 ] + + c [ a + ( r [ _ >> 2 ] << 2 ) >> 2 ] * + c [ a + ( r [ _ >> 2 ] << 2 ) >> 2 ] ; c [ w >> 2 ] = + c [ w >> 2 ] + + c [ ( r [ l >> 2 ] | 0 ) + ( r [ _ >> 2 ] << 2 ) >> 2 ] * + c [ a + ( r [ _ >> 2 ] << 2 ) >> 2 ] ; b = a + ( r [ _ >> 2 ] << 2 ) | 0 ; c [ b >> 2 ] = + c [ b >> 2 ] * 2 ; r [ y >> 2 ] = ( r [ y >> 2 ] | 0 ) - ( r [ o + ( r [ _ >> 2 ] << 2 ) >> 2 ] | 0 ) ; b = ( r [ _ >> 2 ] | 0 ) + 1 | 0 ; r [ _ >> 2 ] = b } while ( ( b | 0 ) < ( r [ d >> 2 ] | 0 ) ) } if ( ( r [ y >> 2 ] | 0 ) > ( ( r [ d >> 2 ] | 0 ) + 3 | 0 ) ) { c [ T >> 2 ] = + ( r [ y >> 2 ] | 0 ) ; c [ k >> 2 ] = + c [ k >> 2 ] + + c [ T >> 2 ] * + c [ T >> 2 ] ; c [ k >> 2 ] = + c [ k >> 2 ] + + c [ T >> 2 ] * + c [ a >> 2 ] ; r [ o >> 2 ] = ( r [ o >> 2 ] | 0 ) + ( r [ y >> 2 ] | 0 ) ; r [ y >> 2 ] = 0 } c [ v >> 2 ] = 1 ; r [ g >> 2 ] = 0 ; while ( 1 ) { if ( ( r [ g >> 2 ] | 0 ) >= ( r [ y >> 2 ] | 0 ) ) break ; c [ E >> 2 ] = - 999999986991104 ; c [ $ >> 2 ] = 0 ; r [ C >> 2 ] = 0 ; c [ k >> 2 ] = + c [ k >> 2 ] + 1 ; r [ _ >> 2 ] = 0 ; do { c [ I >> 2 ] = + c [ w >> 2 ] + + c [ ( r [ l >> 2 ] | 0 ) + ( r [ _ >> 2 ] << 2 ) >> 2 ] ; c [ x >> 2 ] = + c [ k >> 2 ] + + c [ a + ( r [ _ >> 2 ] << 2 ) >> 2 ] ; c [ I >> 2 ] = + c [ I >> 2 ] * + c [ I >> 2 ] ; if ( + c [ $ >> 2 ] * + c [ I >> 2 ] > + c [ x >> 2 ] * + c [ E >> 2 ] ) { c [ $ >> 2 ] = + c [ x >> 2 ] ; c [ E >> 2 ] = + c [ I >> 2 ] ; r [ C >> 2 ] = r [ _ >> 2 ] } T = ( r [ _ >> 2 ] | 0 ) + 1 | 0 ; r [ _ >> 2 ] = T } while ( ( T | 0 ) < ( r [ d >> 2 ] | 0 ) ) ; c [ w >> 2 ] = + c [ w >> 2 ] + + c [ ( r [ l >> 2 ] | 0 ) + ( r [ C >> 2 ] << 2 ) >> 2 ] ; c [ k >> 2 ] = + c [ k >> 2 ] + + c [ a + ( r [ C >> 2 ] << 2 ) >> 2 ] ; T = a + ( r [ C >> 2 ] << 2 ) | 0 ; c [ T >> 2 ] = + c [ T >> 2 ] + + c [ v >> 2 ] * 2 ; T = o + ( r [ C >> 2 ] << 2 ) | 0 ; r [ T >> 2 ] = ( r [ T >
r [ ae >> 2 ] = ( r [ ae >> 2 ] | 0 ) + 1 } m = E ; return r [ se >> 2 ] | 0 } function $t ( e , t ) { e = e | 0 ; t = t | 0 ; var n = 0 , i = 0 , a = 0 ; n = m ; m = m + 16 | 0 ; i = n + 4 | 0 ; a = n ; r [ i >> 2 ] = e ; r [ a >> 2 ] = t ; m = n ; return ( ( r [ i >> 2 ] | 0 ) >>> 0 ) / ( ( r [ a >> 2 ] | 0 ) >>> 0 ) | 0 | 0 } function It ( e ) { e = e | 0 ; var t = 0 , n = 0 ; t = m ; m = m + 16 | 0 ; n = t ; r [ n >> 2 ] = e ; e = ( r [ ( r [ n >> 2 ] | 0 ) + 20 >> 2 ] | 0 ) - ( 32 - ( Y ( r [ ( r [ n >> 2 ] | 0 ) + 28 >> 2 ] | 0 ) | 0 ) ) | 0 ; m = t ; return e | 0 } function xt ( e , t ) { e = e | 0 ; t = t | 0 ; var n = 0 , i = 0 , a = 0 , o = 0 ; n = m ; m = m + 16 | 0 ; i = n + 8 | 0 ; a = n + 4 | 0 ; o = n ; r [ i >> 2 ] = e ; r [ a >> 2 ] = t ; r [ o >> 2 ] = 32736 - ( r [ i >> 2 ] | 0 ) ; i = ( W ( r [ o >> 2 ] | 0 , 16384 - ( r [ a >> 2 ] | 0 ) | 0 ) | 0 ) >>> 15 ; m = n ; return i | 0 } function Pt ( e , t ) { e = e | 0 ; t = t | 0 ; var n = 0 , i = 0 , o = 0 , s = 0 , l = 0 , c = 0 , d = 0 , u = 0 , p = 0 , f = 0 , h = 0 ; n = m ; m = m + 64 | 0 ; i = n + 60 | 0 ; o = n + 56 | 0 ; s = n + 52 | 0 ; l = n + 48 | 0 ; c = n + 44 | 0 ; d = n + 40 | 0 ; u = n + 8 | 0 ; p = n + 4 | 0 ; f = n ; r [ i >> 2 ] = e ; r [ o >> 2 ] = t ; if ( ( r [ ( r [ i >> 2 ] | 0 ) + 8 >> 2 ] | 0 ) > 0 ) h = r [ ( r [ i >> 2 ] | 0 ) + 8 >> 2 ] | 0 ; else h = 0 ; r [ f >> 2 ] = h ; r [ u >> 2 ] = 1 ; r [ d >> 2 ] = 0 ; do { r [ c >> 2 ] = a [ ( r [ i >> 2 ] | 0 ) + 12 + ( r [ d >> 2 ] << 1 << 1 ) >> 1 ] ; r [ l >> 2 ] = a [ ( r [ i >> 2 ] | 0 ) + 12 + ( ( r [ d >> 2 ] << 1 ) + 1 << 1 ) >> 1 ] ; h = W ( r [ u + ( r [ d >> 2 ] << 2 ) >> 2 ] | 0 , r [ c >> 2 ] | 0 ) | 0 ; r [ u + ( ( r [ d >> 2 ] | 0 ) + 1 << 2 ) >> 2 ] = h ; r [ d >> 2 ] = ( r [ d >> 2 ] | 0 ) + 1 } while ( ( r [ l >> 2 ] | 0 ) != 1 ) ; r [ l >> 2 ] = a [ ( r [ i >> 2 ] | 0 ) + 12 + ( ( r [ d >> 2 ] << 1 ) - 1 << 1 ) >> 1 ] ; r [ p >> 2 ] = ( r [ d >> 2 ] | 0 ) - 1 ; while ( 1 ) { if ( ( r [ p >> 2 ] | 0 ) < 0 ) break ; if ( r [ p >> 2 ] | 0 ) r [ s >> 2 ] = a [ ( r [ i >> 2 ] | 0 ) + 12 + ( ( r [ p >> 2 ] << 1 ) - 1 << 1 ) >> 1 ] ; else r [ s >> 2 ] = 1 ; switch ( a [ ( r [ i >> 2 ] | 0 ) + 12 + ( r [ p >> 2 ] << 1 << 1 ) >> 1 ] | 0 ) { case 2 : { Dt ( r [ o >> 2 ] | 0 , r [ l >> 2 ] | 0 , r [ u + ( r [ p >> 2 ] << 2 ) >> 2 ] | 0 ) ; break } case 4 : { Rt ( r [ o >> 2 ] | 0 , r [ u + ( r [ p >> 2 ] << 2 ) >> 2 ] << r [ f >> 2 ] , r [ i >> 2 ] | 0 , r [ l >> 2 ] | 0 , r [ u + ( r [ p >> 2 ] << 2 ) >> 2 ] | 0 , r [ s >> 2 ] | 0 ) ; break } case 3 : { Ot ( r [ o >> 2 ] | 0 , r [ u + ( r [ p >> 2 ] << 2 ) >> 2 ] << r [ f >> 2 ] , r [ i >> 2 ] | 0 , r [ l >> 2 ] | 0 , r [ u + ( r [ p >> 2 ] << 2 ) >> 2 ] | 0 , r [ s >> 2 ] | 0 ) ; break } case 5 : { Nt ( r [ o >> 2 ] | 0 , r [ u + ( r [ p >> 2 ] << 2 ) >> 2 ] << r [ f >> 2 ] , r [ i >> 2 ] | 0 , r [ l >> 2 ] | 0 , r [ u + ( r [ p >> 2 ] << 2 ) >> 2 ] | 0 , r [ s >> 2 ] | 0 ) ; break } default : { } } r [ l >> 2 ] = r [ s >> 2 ] ; r [ p >> 2 ] = ( r [ p >> 2 ] | 0 ) + - 1 } m = n ; return } function Dt ( e , t , n ) { e = e | 0 ; t = t | 0 ; n = n | 0 ; var i = 0 , a = 0 , o = 0 , s = 0 , l = 0 , d = 0 , u = 0 ; i = m ; m = m + 32 | 0 ; a = i + 28 | 0 ; o = i + 20 | 0 ; s = i + 16 | 0 ; l = i + 12 | 0 ; d = i + 8 | 0 ; u = i ; r [ a >> 2 ] = e ; r [ i + 24 >> 2 ] = t ; r [ o >> 2 ] = n ; c [ d >> 2 ] = . 7071067690849304 ; r [ l >> 2 ] = 0 ; while ( 1 ) { if ( ( r [ l >> 2 ] | 0 ) >= ( r [ o >> 2 ] | 0 ) ) break ; r [ s >> 2 ] = ( r [ a >> 2 ] | 0 ) + 32 ; n = r [ s >> 2 ] | 0 ; r [ u >> 2 ] = r [ n >> 2 ] ; r [ u + 4 >> 2 ] = r [ n + 4 >> 2 ] ; c [ r [ s >> 2 ] >> 2 ] = + c [ r [ a >> 2 ] >> 2 ] - + c [ u >> 2 ] ; c [ ( r [ s >> 2 ] | 0 ) + 4 >> 2 ] = + c [ ( r [ a >> 2 ] | 0 ) + 4 >> 2 ] - + c [ u + 4 >> 2 ] ; n = r [ a >> 2 ] | 0 ; c [ n >> 2 ] = + c [ n >> 2 ] + + c [ u >> 2 ] ; n = ( r [ a >> 2 ] | 0 ) + 4 | 0 ; c [ n >> 2 ] = + c [ n >> 2 ] + + c [ u + 4 >> 2 ] ; c [ u >> 2 ] = ( + c [ ( r [ s >> 2 ] | 0 ) + 8 >> 2 ] + + c [ ( r [ s >> 2 ] | 0 ) + 8 + 4 >> 2 ] ) * + c [ d >> 2 ] ; c [ u + 4 >> 2 ] = ( + c [ ( r [ s >> 2 ] | 0 ) + 8 + 4 >> 2 ] - + c [ ( r [ s >> 2 ] | 0 ) + 8 >> 2 ] ) * + c [ d >> 2 ] ; c [ ( r [ s >> 2 ] | 0 ) + 8 >> 2 ] = + c [ ( r [ a >> 2 ] | 0 ) + 8 >> 2 ] - + c [ u >> 2 ] ; c [ ( r [ s >> 2 ] | 0 ) + 8 + 4 >> 2 ] = + c [ ( r [ a >> 2 ] | 0 ) + 8 + 4 >> 2 ] - + c [ u + 4 >> 2 ] ; n = ( r [ a >> 2 ] | 0 ) + 8 | 0 ; c [ n >> 2 ] = + c [ n >> 2 ] + + c [ u >> 2 ] ; n = ( r [ a >> 2 ] | 0 ) + 8 + 4 | 0 ; c [ n >> 2 ] = + c [ n >> 2 ] + + c [ u + 4 >> 2 ] ; c [ u >> 2 ] = + c [ ( r [ s >> 2 ] | 0 ) + 16 + 4 >> 2 ] ; c [ u + 4 >> 2 ] = - + c [ ( r [ s >> 2 ] | 0 ) + 16 >> 2 ] ; c [ ( r [ s >> 2 ] | 0 ) + 16 >> 2 ] = + c [ ( r [ a >> 2 ] | 0 ) + 16 >> 2 ] - + c [ u >> 2 ] ; c [ ( r [ s >> 2 ] | 0 ) + 16 + 4 >> 2 ] = + c [ ( r [ a >> 2 ] | 0 ) + 16 + 4 >> 2 ] - + c [ u + 4 >> 2 ] ; n = ( r [ a >> 2 ] | 0 ) + 16 | 0 ; c [ n >> 2 ] = + c [ n >> 2 ] + + c [ u >> 2 ] ; n = ( r [ a >> 2 ] | 0 ) + 16 + 4 | 0 ; c [ n >> 2 ] = + c [ n >> 2 ] + + c [ u + 4 >> 2 ] ; c [ u >> 2 ] = ( + c [ ( r [ s >> 2 ] | 0 ) + 24 + 4 >> 2 ] - + c [ ( r [ s >> 2 ] | 0 ) + 24 >> 2 ] ) * + c [ d >> 2 ] ; c [ u + 4 >> 2 ] = ( - + c [ ( r [ s >> 2 ] | 0 ) + 24 + 4 >> 2 ] - + c [ ( r [ s >> 2 ] | 0 ) + 24 >> 2 ] ) * + c [ d >> 2 ] ; c [ ( r [ s >> 2 ] | 0 ) + 24 >> 2 ] = + c [ ( r [ a >> 2 ] | 0 ) + 24 >> 2 ] - + c [ u >> 2 ] ; c [ ( r [ s >> 2 ] | 0 ) + 24 + 4 >> 2 ] = + c [ ( r [ a >> 2 ] | 0 ) + 24 + 4 >> 2 ] - + c [ u + 4 >> 2 ] ; n = ( r [ a >> 2 ] | 0 ) + 24 | 0 ; c [ n >> 2 ] = + c [ n >> 2 ] + + c [ u >> 2 ] ; n = ( r [ a >> 2 ] | 0 ) + 24 + 4 | 0 ; c [ n >> 2 ] = + c [ n >> 2 ] + + c [ u + 4 >> 2 ] ; r [ a >> 2 ] = ( r [ a >> 2 ] | 0 ) + 64 ; r [ l >> 2 ] = ( r [ l >> 2 ] | 0 ) + 1 } m = i ; return } function Rt ( e , t , n , i , a , o ) { e = e | 0 ; t = t | 0 ; n = n | 0 ; i = i | 0 ; a = a | 0 ; o = o | 0 ; var s = 0 , l = 0 , d = 0 , u = 0 , p = 0 , f = 0 , h = 0 , g = 0 , _ = 0 , v = 0 , y = 0 , b = 0 , w = 0 , k = 0 , M = 0 , S = 0 , A = 0 , T = 0 ; s = m ; m = m + 128 | 0 ; l = s + 120 | 0 ; d = s + 116 | 0 ; u = s + 112 | 0 ; p = s + 108 | 0 ; f = s + 104 | 0 ; h = s + 100 | 0 ; g = s + 96 | 0 ; _ = s + 88 | 0 ; v = s + 80 | 0 ; y = s + 72 | 0 ; b = s + 24 | 0 ; w = s + 20 | 0 ; k = s + 16 | 0 ; M = s + 12 | 0 ; S = s + 8 | 0 ; A = s + 4 | 0 ; T = s ; r [ l >> 2 ] = e ; r [ d >> 2 ] = t ; r [ u >> 2 ] = n ; r [ p >> 2 ] = i ; r [ f >> 2 ] = a ; r [ h >> 2 ] = o ; if ( ( r [ p >> 2 ] | 0 ) == 1 ) { r [ g >> 2 ] = 0 ; while ( 1 ) { if ( ( r [ g >> 2 ] | 0 ) >= ( r [ f >> 2 ] | 0 ) ) break ; c [ _ >> 2 ] = + c [ r [ l >> 2 ] >> 2 ] - + c [ ( r [ l >> 2 ] | 0 ) + 16 >> 2 ] ; c [ _ + 4 >> 2 ] = + c [ ( r [ l >> 2 ] | 0 ) + 4 >> 2 ] - + c [ ( r [ l >> 2 ] | 0 ) + 16 + 4 >> 2 ] ; o = r [ l >> 2 ] | 0 ; c [ o >> 2 ] = + c [ o >> 2 ] + + c [ ( r [ l >> 2 ] | 0 ) + 16 >> 2 ] ; o = ( r [ l >> 2 ] | 0 ) + 4 | 0 ; c [ o >> 2 ] = + c [ o >> 2 ] + + c [ ( r [ l >> 2 ] | 0 ) + 16 + 4 >> 2 ] ; c [ v >> 2 ] = + c [ ( r [ l >> 2 ] | 0 ) + 8 >> 2 ] + + c [ ( r [ l >> 2 ] | 0 ) + 24 >> 2 ] ; c [ v + 4 >> 2 ] = + c [ ( r [ l >> 2 ] | 0 ) + 8 + 4 >> 2 ] + + c [ ( r [ l >> 2 ] | 0 ) + 24 + 4 >> 2 ] ; c [ ( r [ l >> 2 ] | 0 ) + 16 >> 2 ] = + c [ r [ l >> 2 ] >> 2 ] - + c [ v >> 2 ] ; c [ ( r [ l >> 2 ] | 0 ) + 16 + 4 >> 2 ] = + c [ ( r [ l >> 2 ] | 0 ) + 4 >> 2 ] - + c [ v + 4 >> 2 ] ; o = r [ l >> 2 ] | 0 ; c [ o >> 2 ] = + c [ o >> 2 ] + + c [ v >> 2 ] ; o = ( r [ l >> 2 ] | 0 ) + 4 | 0 ; c [ o >> 2 ] = + c [ o >> 2 ] +
r [ q >> 2 ] = 0 ; r [ Q >> 2 ] = 0 ; if ( ( r [ U >> 2 ] | 0 ) == 0 ? ( ( r [ J >> 2 ] | 0 ) + 16 | 0 ) <= ( r [ Y >> 2 ] | 0 ) : 0 ) { if ( Ye ( r [ v >> 2 ] | 0 , 1 ) | 0 ) { r [ ue >> 2 ] = qe ( r [ v >> 2 ] | 0 , 6 ) | 0 ; A = 16 << r [ ue >> 2 ] ; r [ q >> 2 ] = A + ( De ( r [ v >> 2 ] | 0 , 4 + ( r [ ue >> 2 ] | 0 ) | 0 ) | 0 ) - 1 ; r [ de >> 2 ] = De ( r [ v >> 2 ] | 0 , 3 ) | 0 ; ue = ( nn ( r [ v >> 2 ] | 0 ) | 0 ) + 2 | 0 ; if ( ( ue | 0 ) <= ( r [ Y >> 2 ] | 0 ) ) r [ Q >> 2 ] = an ( r [ v >> 2 ] | 0 , 25134 , 2 ) | 0 ; c [ z >> 2 ] = + ( ( r [ de >> 2 ] | 0 ) + 1 | 0 ) * . 09375 } r [ J >> 2 ] = nn ( r [ v >> 2 ] | 0 ) | 0 } if ( ( r [ L >> 2 ] | 0 ) > 0 ? ( ( r [ J >> 2 ] | 0 ) + 3 | 0 ) <= ( r [ Y >> 2 ] | 0 ) : 0 ) { r [ R >> 2 ] = Ye ( r [ v >> 2 ] | 0 , 3 ) | 0 ; r [ J >> 2 ] = nn ( r [ v >> 2 ] | 0 ) | 0 } else r [ R >> 2 ] = 0 ; if ( r [ R >> 2 ] | 0 ) r [ D >> 2 ] = r [ F >> 2 ] ; else r [ D >> 2 ] = 0 ; if ( ( ( r [ J >> 2 ] | 0 ) + 3 | 0 ) <= ( r [ Y >> 2 ] | 0 ) ) ke = Ye ( r [ v >> 2 ] | 0 , 3 ) | 0 ; else ke = 0 ; r [ O >> 2 ] = ke ; rn ( r [ ae >> 2 ] | 0 , r [ U >> 2 ] | 0 , r [ B >> 2 ] | 0 , r [ $ >> 2 ] | 0 , r [ O >> 2 ] | 0 , r [ v >> 2 ] | 0 , r [ ie >> 2 ] | 0 , r [ L >> 2 ] | 0 ) ; O = r [ re >> 2 ] | 0 ; r [ pe >> 2 ] = oe ( ) | 0 ; ke = m ; m = m + ( ( 1 * ( O << 2 ) | 0 ) + 15 & - 16 ) | 0 ; on ( r [ U >> 2 ] | 0 , r [ B >> 2 ] | 0 , r [ R >> 2 ] | 0 , ke , r [ L >> 2 ] | 0 , r [ v >> 2 ] | 0 ) ; r [ J >> 2 ] = nn ( r [ v >> 2 ] | 0 ) | 0 ; r [ M >> 2 ] = 2 ; if ( ( ( r [ J >> 2 ] | 0 ) + 4 | 0 ) <= ( r [ Y >> 2 ] | 0 ) ) r [ M >> 2 ] = an ( r [ v >> 2 ] | 0 , 25137 , 5 ) | 0 ; O = m ; m = m + ( ( 1 * ( r [ re >> 2 ] << 2 ) | 0 ) + 15 & - 16 ) | 0 ; At ( r [ ae >> 2 ] | 0 , O , r [ L >> 2 ] | 0 , r [ ie >> 2 ] | 0 ) ; de = m ; m = m + ( ( 1 * ( r [ re >> 2 ] << 2 ) | 0 ) + 15 & - 16 ) | 0 ; r [ Z >> 2 ] = 6 ; r [ Y >> 2 ] = r [ Y >> 2 ] << 3 ; r [ J >> 2 ] = Te ( r [ v >> 2 ] | 0 ) | 0 ; r [ w >> 2 ] = r [ U >> 2 ] ; while ( 1 ) { if ( ( r [ w >> 2 ] | 0 ) >= ( r [ B >> 2 ] | 0 ) ) break ; ue = W ( r [ ie >> 2 ] | 0 , ( a [ ( r [ le >> 2 ] | 0 ) + ( ( r [ w >> 2 ] | 0 ) + 1 << 1 ) >> 1 ] | 0 ) - ( a [ ( r [ le >> 2 ] | 0 ) + ( r [ w >> 2 ] << 1 ) >> 1 ] | 0 ) | 0 ) | 0 ; r [ fe >> 2 ] = ue << r [ L >> 2 ] ; ue = r [ fe >> 2 ] | 0 ; if ( ( r [ fe >> 2 ] << 3 | 0 ) < ( ( 48 > ( r [ fe >> 2 ] | 0 ) ? 48 : r [ fe >> 2 ] | 0 ) | 0 ) ) Me = ue << 3 ; else Me = 48 > ( ue | 0 ) ? 48 : r [ fe >> 2 ] | 0 ; r [ me >> 2 ] = Me ; r [ he >> 2 ] = r [ Z >> 2 ] ; r [ ge >> 2 ] = 0 ; while ( 1 ) { if ( ( ( r [ J >> 2 ] | 0 ) + ( r [ he >> 2 ] << 3 ) | 0 ) >= ( r [ Y >> 2 ] | 0 ) ) break ; if ( ( r [ ge >> 2 ] | 0 ) >= ( r [ O + ( r [ w >> 2 ] << 2 ) >> 2 ] | 0 ) ) break ; r [ _e >> 2 ] = Ye ( r [ v >> 2 ] | 0 , r [ he >> 2 ] | 0 ) | 0 ; r [ J >> 2 ] = Te ( r [ v >> 2 ] | 0 ) | 0 ; if ( ! ( r [ _e >> 2 ] | 0 ) ) break ; r [ ge >> 2 ] = ( r [ ge >> 2 ] | 0 ) + ( r [ me >> 2 ] | 0 ) ; r [ Y >> 2 ] = ( r [ Y >> 2 ] | 0 ) - ( r [ me >> 2 ] | 0 ) ; r [ he >> 2 ] = 1 } r [ de + ( r [ w >> 2 ] << 2 ) >> 2 ] = r [ ge >> 2 ] ; if ( ( r [ ge >> 2 ] | 0 ) > 0 ) r [ Z >> 2 ] = 2 > ( ( r [ Z >> 2 ] | 0 ) - 1 | 0 ) ? 2 : ( r [ Z >> 2 ] | 0 ) - 1 | 0 ; r [ w >> 2 ] = ( r [ w >> 2 ] | 0 ) + 1 } Z = m ; m = m + ( ( 1 * ( r [ re >> 2 ] << 2 ) | 0 ) + 15 & - 16 ) | 0 ; if ( ( ( r [ J >> 2 ] | 0 ) + 48 | 0 ) <= ( r [ Y >> 2 ] | 0 ) ) Se = an ( r [ v >> 2 ] | 0 , 25141 , 7 ) | 0 ; else Se = 5 ; r [ V >> 2 ] = Se ; Se = r [ h >> 2 ] << 3 << 3 ; r [ S >> 2 ] = Se - ( Te ( r [ v >> 2 ] | 0 ) | 0 ) - 1 ; if ( ( r [ R >> 2 ] | 0 ) != 0 & ( r [ L >> 2 ] | 0 ) >= 2 ) Ce = ( r [ S >> 2 ] | 0 ) >= ( ( r [ L >> 2 ] | 0 ) + 2 << 3 | 0 ) ; else Ce = 0 ; r [ ee >> 2 ] = Ce ? 8 : 0 ; r [ S >> 2 ] = ( r [ S >> 2 ] | 0 ) - ( r [ ee >> 2 ] | 0 ) ; Ce = m ; m = m + ( ( 1 * ( r [ re >> 2 ] << 2 ) | 0 ) + 15 & - 16 ) | 0 ; Se = m ; m = m + ( ( 1 * ( r [ re >> 2 ] << 2 ) | 0 ) + 15 & - 16 ) | 0 ; r [ j >> 2 ] = Ct ( r [ ae >> 2 ] | 0 , r [ U >> 2 ] | 0 , r [ B >> 2 ] | 0 , de , O , r [ V >> 2 ] | 0 , G , K , r [ S >> 2 ] | 0 , X , Ce , Z , Se , r [ ie >> 2 ] | 0 , r [ L >> 2 ] | 0 , r [ v >> 2 ] | 0 , 0 , 0 , 0 ) | 0 ; sn ( r [ ae >> 2 ] | 0 , r [ U >> 2 ] | 0 , r [ B >> 2 ] | 0 , r [ $ >> 2 ] | 0 , Z , r [ v >> 2 ] | 0 , r [ ie >> 2 ] | 0 ) ; r [ b >> 2 ] = 0 ; do { Ba ( r [ T + ( r [ b >> 2 ] << 2 ) >> 2 ] | 0 , ( r [ T + ( r [ b >> 2 ] << 2 ) >> 2 ] | 0 ) + ( r [ k >> 2 ] << 2 ) | 0 , ( 2048 - ( r [ k >> 2 ] | 0 ) + ( ( r [ se >> 2 ] | 0 ) / 2 | 0 ) << 2 ) + 0 | 0 ) | 0 ; S = ( r [ b >> 2 ] | 0 ) + 1 | 0 ; r [ b >> 2 ] = S } while ( ( S | 0 ) < ( r [ N >> 2 ] | 0 ) ) ; T = W ( r [ ie >> 2 ] | 0 , r [ re >> 2 ] | 0 ) | 0 ; S = m ; m = m + ( ( 1 * T | 0 ) + 15 & - 16 ) | 0 ; T = ( W ( r [ ie >> 2 ] | 0 , r [ k >> 2 ] | 0 ) | 0 ) << 2 ; V = m ; m = m + ( ( 1 * T | 0 ) + 15 & - 16 ) | 0 ; Ae ( 0 , r [ ae >> 2 ] | 0 , r [ U >> 2 ] | 0 , r [ B >> 2 ] | 0 , V , ( r [ ie >> 2 ] | 0 ) == 2 ? V + ( r [ k >> 2 ] << 2 ) | 0 : 0 , S , 0 , Ce , r [ D >> 2 ] | 0 , r [ M >> 2 ] | 0 , r [ K >> 2 ] | 0 , r [ G >> 2 ] | 0 , ke , ( r [ h >> 2 ] << 6 ) - ( r [ ee >> 2 ] | 0 ) | 0 , r [ X >> 2 ] | 0 , r [ v >> 2 ] | 0 , r [ L >> 2 ] | 0 , r [ j >> 2 ] | 0 , ( r [ p >> 2 ] | 0 ) + 36 | 0 ) ; if ( ( r [ ee >> 2 ] | 0 ) > 0 ) r [ te >> 2 ] = De ( r [ v >> 2 ] | 0 , 1 ) | 0 ; ee = r [ ae >> 2 ] | 0 ; j = r [ U >> 2 ] | 0 ; X = r [ B >> 2 ] | 0 ; ke = r [ $ >> 2 ] | 0 ; G = r [ h >> 2 ] << 3 ; K = G - ( nn ( r [ v >> 2 ] | 0 ) | 0 ) | 0 ; ln ( ee , j , X , ke , Z , Se , K , r [ v >> 2 ] | 0 , r [ ie >> 2 ] | 0 ) ; if ( r [ te >> 2 ] | 0 ) be ( r [ ae >> 2 ] | 0 , V , S , r [ L >> 2 ] | 0 , r [ ie >> 2 ] | 0 , r [ k >> 2 ] | 0 , r [ U >> 2 ] | 0 , r [ B >> 2 ] | 0 , r [ $ >> 2 ] | 0 , r [ I >> 2 ] | 0 , r [ x >> 2 ] | 0 , Ce , r [ ( r [ p >> 2 ] | 0 ) + 36 >> 2 ] | 0 ) ; e : do if ( r [ ne >> 2 ] | 0 ) { r [ w >> 2 ] = 0 ; while ( 1 ) { if ( ( r [ w >> 2 ] | 0 ) >= ( W ( r [ ie >> 2 ] | 0 , r [ re >> 2 ] | 0 ) | 0 ) ) break e ; c [ ( r [ $ >> 2 ] | 0 ) + ( r [ w >> 2 ] << 2 ) >> 2 ] = - 28 ; r [ w >> 2 ] = ( r [ w >> 2 ] | 0 ) + 1 } } while ( 0 ) ; cn ( r [ ae >> 2 ] | 0 , V , C , r [ $ >> 2 ] | 0 , r [ U >> 2 ] | 0 , r [ H >> 2 ] | 0 , r [ ie >> 2 ] | 0 , r [ N >> 2 ] | 0 , r [ R >> 2 ] | 0 , r [ L >> 2 ] | 0 , r [ ( r [ p >> 2 ] | 0 ) + 16 >> 2 ] | 0 , r [ ne >> 2 ] | 0 ) ; r [ b >> 2 ] = 0 ; do { if ( ( r [ ( r [ p >> 2 ] | 0 ) + 52 >> 2 ] | 0 ) > 15 ) Ee = r [ ( r [ p >> 2 ] | 0 ) + 52 >> 2 ] | 0 ; else Ee = 15 ; r [ ( r [ p >> 2 ] | 0 ) + 52 >> 2 ] = Ee ; if ( ( r [ ( r [ p >> 2 ] | 0 ) + 56 >> 2 ] | 0 ) > 15 ) $e = r [ ( r [ p >> 2 ] | 0 ) + 56 >> 2 ] | 0 ; else $e = 15 ; r [ ( r [ p >> 2 ] | 0 ) + 56 >> 2 ] = $e ; Mt ( r [ C + ( r [ b >> 2 ] << 2 ) >> 2 ] | 0 , r [ C + ( r [ b >> 2 ] << 2 ) >> 2 ] | 0 , r [ ( r [ p >> 2 ] | 0 ) + 56 >> 2 ] | 0 , r [ ( r [ p >> 2 ] | 0 ) + 52 >> 2 ] | 0 , r [ ( r [ ae >> 2 ] | 0 ) + 44 >> 2 ] | 0 , + c [ ( r [ p >> 2 ] | 0 ) + 64 >> 2 ] , + c [ ( r [ p >> 2 ] | 0 ) + 60 >> 2 ] , r [ ( r [ p >> 2 ] | 0 ) + 72 >> 2 ] | 0 , r [ ( r [ p >> 2 ] | 0 ) + 68 >> 2 ] | 0 , r [ ( r [ ae >> 2 ] | 0 ) + 60 >> 2 ] | 0 , r [ se >> 2 ] | 0 ) ; if ( r [ L >> 2 ] | 0 ) Mt ( ( r [ C + ( r [ b >> 2 ] << 2 ) >> 2 ] | 0 ) + ( r [ ( r [ ae >> 2 ] | 0 ) + 44 >> 2 ] << 2 ) | 0 , ( r [ C + ( r [ b >> 2 ] << 2 ) >> 2 ] | 0 ) + ( r [ ( r [ ae >> 2 ] | 0 ) + 44 >> 2 ] << 2 ) | 0 , r [ ( r [ p >> 2 ] | 0 ) + 52 >> 2 ] | 0 , r [ q >> 2 ] | 0 , ( r [ k >> 2 ] | 0 ) - ( r [ ( r [ ae >> 2 ] | 0 ) + 44 >> 2 ] | 0 ) | 0 , + c [ ( r [ p
c [ b >> 2 ] = + c [ ( r [ l >> 2 ] | 0 ) + ( r [ g >> 2 ] << 2 ) >> 2 ] ; r [ _ >> 2 ] = 0 ; while ( 1 ) { if ( ( r [ _ >> 2 ] | 0 ) >= ( r [ f >> 2 ] | 0 ) ) break ; c [ b >> 2 ] = + c [ b >> 2 ] - + c [ a + ( r [ _ >> 2 ] << 2 ) >> 2 ] * + c [ o + ( ( r [ g >> 2 ] | 0 ) + ( r [ _ >> 2 ] | 0 ) << 2 ) >> 2 ] ; r [ _ >> 2 ] = ( r [ _ >> 2 ] | 0 ) + 1 } c [ o + ( ( r [ g >> 2 ] | 0 ) + ( r [ f >> 2 ] | 0 ) << 2 ) >> 2 ] = + c [ b >> 2 ] ; c [ ( r [ u >> 2 ] | 0 ) + ( r [ g >> 2 ] << 2 ) >> 2 ] = + c [ b >> 2 ] ; r [ g >> 2 ] = ( r [ g >> 2 ] | 0 ) + 1 } r [ g >> 2 ] = 0 ; while ( 1 ) { if ( ( r [ g >> 2 ] | 0 ) >= ( r [ f >> 2 ] | 0 ) ) break ; c [ ( r [ h >> 2 ] | 0 ) + ( r [ g >> 2 ] << 2 ) >> 2 ] = + c [ ( r [ u >> 2 ] | 0 ) + ( ( r [ p >> 2 ] | 0 ) - ( r [ g >> 2 ] | 0 ) - 1 << 2 ) >> 2 ] ; r [ g >> 2 ] = ( r [ g >> 2 ] | 0 ) + 1 } ce ( r [ v >> 2 ] | 0 ) ; m = s ; return } function _n ( e , t , n , i ) { e = e | 0 ; t = t | 0 ; n = n | 0 ; i = i | 0 ; var a = 0 , o = 0 , s = 0 , l = 0 , d = 0 , u = 0 , p = 0 , f = 0 , h = 0 , g = 0 , _ = 0 , v = 0 , y = 0 , b = 0 ; a = m ; m = m + 64 | 0 ; o = a + 48 | 0 ; s = a + 44 | 0 ; l = a + 40 | 0 ; d = a + 36 | 0 ; u = a + 32 | 0 ; p = a + 28 | 0 ; f = a + 24 | 0 ; h = a + 20 | 0 ; g = a + 16 | 0 ; _ = a + 12 | 0 ; v = a + 8 | 0 ; y = a + 4 | 0 ; b = a ; r [ o >> 2 ] = e ; r [ s >> 2 ] = t ; r [ l >> 2 ] = n ; r [ d >> 2 ] = i ; c [ g >> 2 ] = 0 ; i = r [ s >> 2 ] | 0 ; r [ s >> 2 ] = i + 4 ; c [ p >> 2 ] = + c [ i >> 2 ] ; i = r [ s >> 2 ] | 0 ; r [ s >> 2 ] = i + 4 ; c [ f >> 2 ] = + c [ i >> 2 ] ; i = r [ s >> 2 ] | 0 ; r [ s >> 2 ] = i + 4 ; c [ h >> 2 ] = + c [ i >> 2 ] ; r [ u >> 2 ] = 0 ; while ( 1 ) { if ( ( r [ u >> 2 ] | 0 ) >= ( ( r [ d >> 2 ] | 0 ) - 3 | 0 ) ) break ; i = r [ o >> 2 ] | 0 ; r [ o >> 2 ] = i + 4 ; c [ _ >> 2 ] = + c [ i >> 2 ] ; i = r [ s >> 2 ] | 0 ; r [ s >> 2 ] = i + 4 ; c [ g >> 2 ] = + c [ i >> 2 ] ; c [ r [ l >> 2 ] >> 2 ] = + c [ r [ l >> 2 ] >> 2 ] + + c [ _ >> 2 ] * + c [ p >> 2 ] ; c [ ( r [ l >> 2 ] | 0 ) + 4 >> 2 ] = + c [ ( r [ l >> 2 ] | 0 ) + 4 >> 2 ] + + c [ _ >> 2 ] * + c [ f >> 2 ] ; c [ ( r [ l >> 2 ] | 0 ) + 8 >> 2 ] = + c [ ( r [ l >> 2 ] | 0 ) + 8 >> 2 ] + + c [ _ >> 2 ] * + c [ h >> 2 ] ; c [ ( r [ l >> 2 ] | 0 ) + 12 >> 2 ] = + c [ ( r [ l >> 2 ] | 0 ) + 12 >> 2 ] + + c [ _ >> 2 ] * + c [ g >> 2 ] ; i = r [ o >> 2 ] | 0 ; r [ o >> 2 ] = i + 4 ; c [ _ >> 2 ] = + c [ i >> 2 ] ; i = r [ s >> 2 ] | 0 ; r [ s >> 2 ] = i + 4 ; c [ p >> 2 ] = + c [ i >> 2 ] ; c [ r [ l >> 2 ] >> 2 ] = + c [ r [ l >> 2 ] >> 2 ] + + c [ _ >> 2 ] * + c [ f >> 2 ] ; c [ ( r [ l >> 2 ] | 0 ) + 4 >> 2 ] = + c [ ( r [ l >> 2 ] | 0 ) + 4 >> 2 ] + + c [ _ >> 2 ] * + c [ h >> 2 ] ; c [ ( r [ l >> 2 ] | 0 ) + 8 >> 2 ] = + c [ ( r [ l >> 2 ] | 0 ) + 8 >> 2 ] + + c [ _ >> 2 ] * + c [ g >> 2 ] ; c [ ( r [ l >> 2 ] | 0 ) + 12 >> 2 ] = + c [ ( r [ l >> 2 ] | 0 ) + 12 >> 2 ] + + c [ _ >> 2 ] * + c [ p >> 2 ] ; i = r [ o >> 2 ] | 0 ; r [ o >> 2 ] = i + 4 ; c [ _ >> 2 ] = + c [ i >> 2 ] ; i = r [ s >> 2 ] | 0 ; r [ s >> 2 ] = i + 4 ; c [ f >> 2 ] = + c [ i >> 2 ] ; c [ r [ l >> 2 ] >> 2 ] = + c [ r [ l >> 2 ] >> 2 ] + + c [ _ >> 2 ] * + c [ h >> 2 ] ; c [ ( r [ l >> 2 ] | 0 ) + 4 >> 2 ] = + c [ ( r [ l >> 2 ] | 0 ) + 4 >> 2 ] + + c [ _ >> 2 ] * + c [ g >> 2 ] ; c [ ( r [ l >> 2 ] | 0 ) + 8 >> 2 ] = + c [ ( r [ l >> 2 ] | 0 ) + 8 >> 2 ] + + c [ _ >> 2 ] * + c [ p >> 2 ] ; c [ ( r [ l >> 2 ] | 0 ) + 12 >> 2 ] = + c [ ( r [ l >> 2 ] | 0 ) + 12 >> 2 ] + + c [ _ >> 2 ] * + c [ f >> 2 ] ; i = r [ o >> 2 ] | 0 ; r [ o >> 2 ] = i + 4 ; c [ _ >> 2 ] = + c [ i >> 2 ] ; i = r [ s >> 2 ] | 0 ; r [ s >> 2 ] = i + 4 ; c [ h >> 2 ] = + c [ i >> 2 ] ; c [ r [ l >> 2 ] >> 2 ] = + c [ r [ l >> 2 ] >> 2 ] + + c [ _ >> 2 ] * + c [ g >> 2 ] ; c [ ( r [ l >> 2 ] | 0 ) + 4 >> 2 ] = + c [ ( r [ l >> 2 ] | 0 ) + 4 >> 2 ] + + c [ _ >> 2 ] * + c [ p >> 2 ] ; c [ ( r [ l >> 2 ] | 0 ) + 8 >> 2 ] = + c [ ( r [ l >> 2 ] | 0 ) + 8 >> 2 ] + + c [ _ >> 2 ] * + c [ f >> 2 ] ; c [ ( r [ l >> 2 ] | 0 ) + 12 >> 2 ] = + c [ ( r [ l >> 2 ] | 0 ) + 12 >> 2 ] + + c [ _ >> 2 ] * + c [ h >> 2 ] ; r [ u >> 2 ] = ( r [ u >> 2 ] | 0 ) + 4 } _ = r [ u >> 2 ] | 0 ; r [ u >> 2 ] = _ + 1 ; if ( ( _ | 0 ) < ( r [ d >> 2 ] | 0 ) ) { _ = r [ o >> 2 ] | 0 ; r [ o >> 2 ] = _ + 4 ; c [ v >> 2 ] = + c [ _ >> 2 ] ; _ = r [ s >> 2 ] | 0 ; r [ s >> 2 ] = _ + 4 ; c [ g >> 2 ] = + c [ _ >> 2 ] ; c [ r [ l >> 2 ] >> 2 ] = + c [ r [ l >> 2 ] >> 2 ] + + c [ v >> 2 ] * + c [ p >> 2 ] ; c [ ( r [ l >> 2 ] | 0 ) + 4 >> 2 ] = + c [ ( r [ l >> 2 ] | 0 ) + 4 >> 2 ] + + c [ v >> 2 ] * + c [ f >> 2 ] ; c [ ( r [ l >> 2 ] | 0 ) + 8 >> 2 ] = + c [ ( r [ l >> 2 ] | 0 ) + 8 >> 2 ] + + c [ v >> 2 ] * + c [ h >> 2 ] ; c [ ( r [ l >> 2 ] | 0 ) + 12 >> 2 ] = + c [ ( r [ l >> 2 ] | 0 ) + 12 >> 2 ] + + c [ v >> 2 ] * + c [ g >> 2 ] } v = r [ u >> 2 ] | 0 ; r [ u >> 2 ] = v + 1 ; if ( ( v | 0 ) < ( r [ d >> 2 ] | 0 ) ) { v = r [ o >> 2 ] | 0 ; r [ o >> 2 ] = v + 4 ; c [ y >> 2 ] = + c [ v >> 2 ] ; v = r [ s >> 2 ] | 0 ; r [ s >> 2 ] = v + 4 ; c [ p >> 2 ] = + c [ v >> 2 ] ; c [ r [ l >> 2 ] >> 2 ] = + c [ r [ l >> 2 ] >> 2 ] + + c [ y >> 2 ] * + c [ f >> 2 ] ; c [ ( r [ l >> 2 ] | 0 ) + 4 >> 2 ] = + c [ ( r [ l >> 2 ] | 0 ) + 4 >> 2 ] + + c [ y >> 2 ] * + c [ h >> 2 ] ; c [ ( r [ l >> 2 ] | 0 ) + 8 >> 2 ] = + c [ ( r [ l >> 2 ] | 0 ) + 8 >> 2 ] + + c [ y >> 2 ] * + c [ g >> 2 ] ; c [ ( r [ l >> 2 ] | 0 ) + 12 >> 2 ] = + c [ ( r [ l >> 2 ] | 0 ) + 12 >> 2 ] + + c [ y >> 2 ] * + c [ p >> 2 ] } if ( ( r [ u >> 2 ] | 0 ) >= ( r [ d >> 2 ] | 0 ) ) { m = a ; return } d = r [ o >> 2 ] | 0 ; r [ o >> 2 ] = d + 4 ; c [ b >> 2 ] = + c [ d >> 2 ] ; d = r [ s >> 2 ] | 0 ; r [ s >> 2 ] = d + 4 ; c [ f >> 2 ] = + c [ d >> 2 ] ; c [ r [ l >> 2 ] >> 2 ] = + c [ r [ l >> 2 ] >> 2 ] + + c [ b >> 2 ] * + c [ h >> 2 ] ; c [ ( r [ l >> 2 ] | 0 ) + 4 >> 2 ] = + c [ ( r [ l >> 2 ] | 0 ) + 4 >> 2 ] + + c [ b >> 2 ] * + c [ g >> 2 ] ; c [ ( r [ l >> 2 ] | 0 ) + 8 >> 2 ] = + c [ ( r [ l >> 2 ] | 0 ) + 8 >> 2 ] + + c [ b >> 2 ] * + c [ p >> 2 ] ; c [ ( r [ l >> 2 ] | 0 ) + 12 >> 2 ] = + c [ ( r [ l >> 2 ] | 0 ) + 12 >> 2 ] + + c [ b >> 2 ] * + c [ f >> 2 ] ; m = a ; return } function vn ( e ) { e = e | 0 ; var t = 0 , n = 0 , i = 0 , o = 0 , s = 0 ; t = m ; m = m + 16 | 0 ; n = t + 12 | 0 ; i = t + 8 | 0 ; o = t + 4 | 0 ; s = t ; r [ n >> 2 ] = e ; r [ o >> 2 ] = 32767 / ( ( r [ ( r [ n >> 2 ] | 0 ) + 2340 >> 2 ] | 0 ) + 1 | 0 ) | 0 ; r [ s >> 2 ] = 0 ; r [ i >> 2 ] = 0 ; while ( 1 ) { if ( ( r [ i >> 2 ] | 0 ) >= ( r [ ( r [ n >> 2 ] | 0 ) + 2340 >> 2 ] | 0 ) ) break ; r [ s >> 2 ] = ( r [ s >> 2 ] | 0 ) + ( r [ o >> 2 ] | 0 ) ; a [ ( r [ n >> 2 ] | 0 ) + 2772 + 1280 + ( r [ i >> 2 ] << 1 ) >> 1 ] = r [ s >> 2 ] ; r [ i >> 2 ] = ( r [ i >> 2 ] | 0 ) + 1 } r [ ( r [ n >> 2 ] | 0 ) + 2772 + 1376 >> 2 ] = 0 ; r [ ( r [ n >> 2 ] | 0 ) + 2772 + 1380 >> 2 ] = 3176576 ; m = t ; return } function yn ( e , t , n , i ) { e = e | 0 ; t = t | 0 ; n = n | 0 ; i = i | 0 ; var o = 0 , s = 0 , l = 0 , c = 0 , d = 0 , u = 0 , p = 0 , f = 0 , h = 0 , g = 0 , _ = 0 , v = 0 , y = 0 ; o = m ; m = m + 80 | 0 ; s = o + 36 | 0 ; l = o + 32 | 0 ; c = o + 28 | 0 ; d = o + 24 | 0 ; u = o + 20 | 0 ; p = o + 16 | 0 ; f = o + 12 | 0 ; h = o + 8 | 0 ; g = o + 40 | 0 ; _ = o + 4 | 0 ; v = o ; r [ s >> 2 ] = e ; r [ l >> 2 ] = t ; r [ c >> 2 ] = n ; r [ d >> 2 ] = i ; r [ _ >> 2 ] = ( r [ s >> 2 ] | 0 ) + 2772 ; if ( ( r [ ( r [ s >> 2 ] | 0 ) + 2316 >> 2 ] | 0 ) != ( r [ ( r [ _ >> 2 ] | 0 ) + 1384 >> 2 ] | 0 ) ) { vn ( r [ s >> 2 ] | 0 ) ; r [ ( r [ _ >> 2 ] | 0 ) + 1384 >> 2 ] = r [ ( r [ s >> 2 ] | 0 ) + 2316 >> 2 ] } e : do if ( ( r [
} i = 32 - ( 32 - ( Y ( r [ n >> 2 ] | 0 ) | 0 ) ) | 0 ; m = t ; return i | 0 } function Nn ( e , t , n , a , o , s ) { e = e | 0 ; t = t | 0 ; n = n | 0 ; a = a | 0 ; o = o | 0 ; s = s | 0 ; var l = 0 , c = 0 , d = 0 , u = 0 , p = 0 , f = 0 , h = 0 , g = 0 , _ = 0 , v = 0 , y = 0 , b = 0 , w = 0 ; l = m ; m = m + 192 | 0 ; c = l + 176 | 0 ; d = l + 172 | 0 ; u = l + 168 | 0 ; p = l + 164 | 0 ; f = l + 160 | 0 ; h = l + 156 | 0 ; g = l + 152 | 0 ; _ = l + 148 | 0 ; v = l + 144 | 0 ; y = l + 4 | 0 ; b = l ; r [ c >> 2 ] = e ; r [ d >> 2 ] = t ; r [ u >> 2 ] = n ; r [ p >> 2 ] = a ; r [ f >> 2 ] = o ; r [ h >> 2 ] = s ; r [ v >> 2 ] = 0 ; r [ g >> 2 ] = r [ ( r [ c >> 2 ] | 0 ) + 2328 >> 2 ] ; r [ y + 136 >> 2 ] = 0 ; do if ( ! ( r [ f >> 2 ] | 0 ) ) w = 4 ; else { if ( ( r [ f >> 2 ] | 0 ) == 2 ? ( r [ ( r [ c >> 2 ] | 0 ) + 2420 + ( r [ ( r [ c >> 2 ] | 0 ) + 2388 >> 2 ] << 2 ) >> 2 ] | 0 ) == 1 : 0 ) { w = 4 ; break } Bn ( r [ c >> 2 ] | 0 , y , r [ u >> 2 ] | 0 , 1 ) } while ( 0 ) ; if ( ( w | 0 ) == 4 ) { w = ( r [ g >> 2 ] | 0 ) + 16 - 1 & - 16 ; r [ b >> 2 ] = oe ( ) | 0 ; s = m ; m = m + ( ( 1 * ( w << 1 ) | 0 ) + 15 & - 16 ) | 0 ; Ln ( r [ c >> 2 ] | 0 , r [ d >> 2 ] | 0 , r [ ( r [ c >> 2 ] | 0 ) + 2388 >> 2 ] | 0 , r [ f >> 2 ] | 0 , r [ h >> 2 ] | 0 ) ; Fn ( r [ d >> 2 ] | 0 , s , i [ ( r [ c >> 2 ] | 0 ) + 2736 + 29 >> 0 ] | 0 , i [ ( r [ c >> 2 ] | 0 ) + 2736 + 30 >> 0 ] | 0 , r [ ( r [ c >> 2 ] | 0 ) + 2328 >> 2 ] | 0 ) ; Un ( r [ c >> 2 ] | 0 , y , r [ h >> 2 ] | 0 ) ; xn ( r [ c >> 2 ] | 0 , y , r [ u >> 2 ] | 0 , s ) ; Bn ( r [ c >> 2 ] | 0 , y , r [ u >> 2 ] | 0 , 0 ) ; r [ ( r [ c >> 2 ] | 0 ) + 4160 >> 2 ] = 0 ; r [ ( r [ c >> 2 ] | 0 ) + 4164 >> 2 ] = i [ ( r [ c >> 2 ] | 0 ) + 2736 + 29 >> 0 ] ; r [ ( r [ c >> 2 ] | 0 ) + 2376 >> 2 ] = 0 ; ce ( r [ b >> 2 ] | 0 ) } r [ _ >> 2 ] = ( r [ ( r [ c >> 2 ] | 0 ) + 2336 >> 2 ] | 0 ) - ( r [ ( r [ c >> 2 ] | 0 ) + 2328 >> 2 ] | 0 ) ; Ba ( ( r [ c >> 2 ] | 0 ) + 1348 | 0 , ( r [ c >> 2 ] | 0 ) + 1348 + ( r [ ( r [ c >> 2 ] | 0 ) + 2328 >> 2 ] << 1 ) | 0 , r [ _ >> 2 ] << 1 | 0 ) | 0 ; La ( ( r [ c >> 2 ] | 0 ) + 1348 + ( r [ _ >> 2 ] << 1 ) | 0 , r [ u >> 2 ] | 0 , r [ ( r [ c >> 2 ] | 0 ) + 2328 >> 2 ] << 1 | 0 ) | 0 ; Hn ( r [ c >> 2 ] | 0 , r [ u >> 2 ] | 0 , r [ g >> 2 ] | 0 ) ; yn ( r [ c >> 2 ] | 0 , y , r [ u >> 2 ] | 0 , r [ g >> 2 ] | 0 ) ; r [ ( r [ c >> 2 ] | 0 ) + 2308 >> 2 ] = r [ y + ( ( r [ ( r [ c >> 2 ] | 0 ) + 2324 >> 2 ] | 0 ) - 1 << 2 ) >> 2 ] ; r [ r [ p >> 2 ] >> 2 ] = r [ g >> 2 ] ; m = l ; return r [ v >> 2 ] | 0 } function Ln ( e , t , n , o , s ) { e = e | 0 ; t = t | 0 ; n = n | 0 ; o = o | 0 ; s = s | 0 ; var l = 0 , c = 0 , d = 0 , u = 0 , p = 0 , f = 0 , h = 0 , g = 0 , _ = 0 , v = 0 , y = 0 , b = 0 , w = 0 , k = 0 , M = 0 , S = 0 , A = 0 , T = 0 , C = 0 , E = 0 , $ = 0 , I = 0 , x = 0 , P = 0 , D = 0 , R = 0 , O = 0 , N = 0 , L = 0 , F = 0 , U = 0 ; l = m ; m = m + 96 | 0 ; c = l + 36 | 0 ; d = l + 32 | 0 ; u = l + 28 | 0 ; p = l + 24 | 0 ; f = l + 20 | 0 ; h = l + 16 | 0 ; g = l + 12 | 0 ; _ = l + 8 | 0 ; v = l + 4 | 0 ; y = l ; b = l + 40 | 0 ; w = l + 72 | 0 ; r [ c >> 2 ] = e ; r [ d >> 2 ] = t ; r [ u >> 2 ] = n ; r [ p >> 2 ] = o ; r [ f >> 2 ] = s ; if ( ! ( r [ p >> 2 ] | 0 ) ? ! ( r [ ( r [ c >> 2 ] | 0 ) + 2404 + ( r [ u >> 2 ] << 2 ) >> 2 ] | 0 ) : 0 ) r [ _ >> 2 ] = an ( r [ d >> 2 ] | 0 , 22720 , 8 ) | 0 ; else r [ _ >> 2 ] = ( an ( r [ d >> 2 ] | 0 , 22716 , 8 ) | 0 ) + 2 ; i [ ( r [ c >> 2 ] | 0 ) + 2736 + 29 >> 0 ] = r [ _ >> 2 ] >> 1 ; i [ ( r [ c >> 2 ] | 0 ) + 2736 + 30 >> 0 ] = r [ _ >> 2 ] & 1 ; u = r [ d >> 2 ] | 0 ; if ( ( r [ f >> 2 ] | 0 ) == 2 ) { p = ( an ( u , 20582 , 8 ) | 0 ) & 255 ; i [ ( r [ c >> 2 ] | 0 ) + 2736 >> 0 ] = p } else { p = ( an ( u , 20558 + ( i [ ( r [ c >> 2 ] | 0 ) + 2736 + 29 >> 0 ] << 3 ) | 0 , 8 ) | 0 ) << 3 & 255 ; i [ ( r [ c >> 2 ] | 0 ) + 2736 >> 0 ] = p ; p = ( ( an ( r [ d >> 2 ] | 0 , 22745 , 8 ) | 0 ) & 255 ) << 24 >> 24 ; u = ( r [ c >> 2 ] | 0 ) + 2736 | 0 ; i [ u >> 0 ] = ( i [ u >> 0 ] | 0 ) + p } r [ h >> 2 ] = 1 ; while ( 1 ) { k = r [ d >> 2 ] | 0 ; if ( ( r [ h >> 2 ] | 0 ) >= ( r [ ( r [ c >> 2 ] | 0 ) + 2324 >> 2 ] | 0 ) ) break ; p = ( an ( k , 20582 , 8 ) | 0 ) & 255 ; i [ ( r [ c >> 2 ] | 0 ) + 2736 + ( r [ h >> 2 ] | 0 ) >> 0 ] = p ; r [ h >> 2 ] = ( r [ h >> 2 ] | 0 ) + 1 } p = ( an ( k , ( r [ ( r [ ( r [ c >> 2 ] | 0 ) + 2732 >> 2 ] | 0 ) + 12 >> 2 ] | 0 ) + ( W ( i [ ( r [ c >> 2 ] | 0 ) + 2736 + 29 >> 0 ] >> 1 , a [ r [ ( r [ c >> 2 ] | 0 ) + 2732 >> 2 ] >> 1 ] | 0 ) | 0 ) | 0 , 8 ) | 0 ) & 255 ; i [ ( r [ c >> 2 ] | 0 ) + 2736 + 8 >> 0 ] = p ; oi ( b , w , r [ ( r [ c >> 2 ] | 0 ) + 2732 >> 2 ] | 0 , i [ ( r [ c >> 2 ] | 0 ) + 2736 + 8 >> 0 ] | 0 ) ; r [ h >> 2 ] = 0 ; while ( 1 ) { if ( ( r [ h >> 2 ] | 0 ) >= ( a [ ( r [ ( r [ c >> 2 ] | 0 ) + 2732 >> 2 ] | 0 ) + 2 >> 1 ] | 0 ) ) break ; r [ _ >> 2 ] = an ( r [ d >> 2 ] | 0 , ( r [ ( r [ ( r [ c >> 2 ] | 0 ) + 2732 >> 2 ] | 0 ) + 24 >> 2 ] | 0 ) + ( a [ b + ( r [ h >> 2 ] << 1 ) >> 1 ] | 0 ) | 0 , 8 ) | 0 ; if ( r [ _ >> 2 ] | 0 ) { if ( ( r [ _ >> 2 ] | 0 ) == 8 ) { w = an ( r [ d >> 2 ] | 0 , 22753 , 8 ) | 0 ; r [ _ >> 2 ] = ( r [ _ >> 2 ] | 0 ) + w } } else { w = an ( r [ d >> 2 ] | 0 , 22753 , 8 ) | 0 ; r [ _ >> 2 ] = ( r [ _ >> 2 ] | 0 ) - w } i [ ( r [ c >> 2 ] | 0 ) + 2736 + 8 + ( ( r [ h >> 2 ] | 0 ) + 1 ) >> 0 ] = ( r [ _ >> 2 ] | 0 ) - 4 ; r [ h >> 2 ] = ( r [ h >> 2 ] | 0 ) + 1 } if ( ( r [ ( r [ c >> 2 ] | 0 ) + 2324 >> 2 ] | 0 ) == 4 ) { h = ( an ( r [ d >> 2 ] | 0 , 22722 , 8 ) | 0 ) & 255 ; M = h ; S = r [ c >> 2 ] | 0 } else { M = 4 ; S = r [ c >> 2 ] | 0 } i [ S + 2736 + 31 >> 0 ] = M ; if ( ( i [ ( r [ c >> 2 ] | 0 ) + 2736 + 29 >> 0 ] | 0 ) != 2 ) { A = r [ c >> 2 ] | 0 ; T = A + 2736 | 0 ; C = T + 29 | 0 ; E = i [ C >> 0 ] | 0 ; $ = E << 24 >> 24 ; I = r [ c >> 2 ] | 0 ; x = I + 2396 | 0 ; r [ x >> 2 ] = $ ; P = r [ d >> 2 ] | 0 ; D = an ( P , 22730 , 8 ) | 0 ; R = D & 255 ; O = r [ c >> 2 ] | 0 ; N = O + 2736 | 0 ; L = N + 34 | 0 ; i [ L >> 0 ] = R ; m = l ; return } r [ v >> 2 ] = 1 ; if ( ( ( r [ f >> 2 ] | 0 ) == 2 ? ( r [ ( r [ c >> 2 ] | 0 ) + 2396 >> 2 ] | 0 ) == 2 : 0 ) ? ( r [ y >> 2 ] = ( ( an ( r [ d >> 2 ] | 0 , 22792 , 8 ) | 0 ) & 65535 ) << 16 >> 16 , ( r [ y >> 2 ] | 0 ) > 0 ) : 0 ) { r [ y >> 2 ] = ( r [ y >> 2 ] | 0 ) - 9 ; a [ ( r [ c >> 2 ] | 0 ) + 2736 + 26 >> 1 ] = ( a [ ( r [ c >> 2 ] | 0 ) + 2400 >> 1 ] | 0 ) + ( r [ y >> 2 ] | 0 ) ; r [ v >> 2 ] = 0 } if ( r [ v >> 2 ] | 0 ) { v = ( ( an ( r [ d >> 2 ] | 0 , 22760 , 8 ) | 0 ) & 65535 ) << 16 >> 16 ; y = ( W ( v , r [ ( r [ c >> 2 ] | 0 ) + 2316 >> 2 ] >> 1 ) | 0 ) & 65535 ; a [ ( r [ c >> 2 ] | 0 ) + 2736 + 26 >> 1 ] = y ; y = ( ( an ( r [ d >> 2 ] | 0 , r [ ( r [ c >> 2 ] | 0 ) + 2380 >> 2 ] | 0 , 8 ) | 0 ) & 65535 ) << 16 >> 16 ; v = ( r [ c >> 2 ] | 0 ) + 2736 + 26 | 0 ; a [ v >> 1 ] = ( a [ v >> 1 ] | 0 ) + y } a [ ( r [ c >> 2 ] | 0 ) + 2400 >> 1 ] = a [ ( r [ c >> 2 ] | 0 ) + 2736 + 26 >> 1 ] | 0 ; y = ( an ( r [ d >> 2 ] | 0 , r [ ( r [ c >> 2 ] | 0 ) + 2384 >> 2 ] | 0 , 8 ) | 0 ) & 255 ; i [ ( r [ c >> 2 ] | 0 ) + 2736 + 28 >> 0 ] = y ; y = ( an ( r [ d >> 2 ] | 0 , 20623 , 8 ) | 0 ) & 255 ; i [ ( r [ c >> 2 ] | 0 ) + 2736 + 32 >> 0 ] = y ; r [ g >> 2 ] = 0 ; while ( 1 ) { if ( ( r [ g >> 2 ] | 0 ) >= ( r [ ( r [ c >> 2 ] | 0 ) + 2324 >> 2 ] | 0 ) ) break ; y = ( an ( r [ d >> 2 ] | 0 , r [ 108 + ( i [ ( r [ c >> 2 ] | 0 ) + 2736 + 32 >> 0 ] << 2 ) >> 2 ] | 0 , 8 ) | 0 ) & 255 ; i [ ( r [
i [ ( r [ d >> 2 ] | 0 ) + ( r [ f >> 2 ] | 0 ) >> 0 ] = p ; a [ ( r [ c >> 2 ] | 0 ) + ( ( r [ f >> 2 ] | 0 ) + 1 << 1 ) >> 1 ] = ( ( o [ h >> 0 ] >> 5 & 7 ) << 16 >> 16 ) * 9 ; p = i [ ( r [ ( r [ u >> 2 ] | 0 ) + 16 >> 2 ] | 0 ) + ( ( r [ f >> 2 ] | 0 ) + ( W ( o [ h >> 0 ] >> 4 & 1 , ( a [ ( r [ u >> 2 ] | 0 ) + 2 >> 1 ] | 0 ) - 1 | 0 ) | 0 ) + 1 ) >> 0 ] | 0 ; i [ ( r [ d >> 2 ] | 0 ) + ( ( r [ f >> 2 ] | 0 ) + 1 ) >> 0 ] = p ; r [ f >> 2 ] = ( r [ f >> 2 ] | 0 ) + 2 } m = l ; return } function si ( e , t , n , s , l ) { e = e | 0 ; t = t | 0 ; n = n | 0 ; s = s | 0 ; l = l | 0 ; var c = 0 , d = 0 , u = 0 , p = 0 , f = 0 , h = 0 , g = 0 , _ = 0 , v = 0 ; c = m ; m = m + 32 | 0 ; d = c + 24 | 0 ; u = c + 20 | 0 ; p = c + 16 | 0 ; f = c + 12 | 0 ; h = c + 28 | 0 ; g = c + 8 | 0 ; _ = c + 4 | 0 ; v = c ; r [ d >> 2 ] = e ; r [ u >> 2 ] = t ; r [ p >> 2 ] = n ; r [ f >> 2 ] = s ; a [ h >> 1 ] = l ; r [ _ >> 2 ] = 0 ; r [ g >> 2 ] = ( a [ h >> 1 ] | 0 ) - 1 ; while ( 1 ) { if ( ( r [ g >> 2 ] | 0 ) < 0 ) break ; r [ v >> 2 ] = ( W ( ( r [ _ >> 2 ] & 65535 ) << 16 >> 16 , o [ ( r [ p >> 2 ] | 0 ) + ( r [ g >> 2 ] | 0 ) >> 0 ] | 0 ) | 0 ) >> 8 ; r [ _ >> 2 ] = i [ ( r [ u >> 2 ] | 0 ) + ( r [ g >> 2 ] | 0 ) >> 0 ] << 10 ; h = r [ _ >> 2 ] | 0 ; if ( ( r [ _ >> 2 ] | 0 ) <= 0 ) { if ( ( h | 0 ) < 0 ) r [ _ >> 2 ] = ( r [ _ >> 2 ] | 0 ) + 102 } else r [ _ >> 2 ] = h - 102 ; h = W ( r [ _ >> 2 ] >> 16 , ( r [ f >> 2 ] & 65535 ) << 16 >> 16 ) | 0 ; r [ _ >> 2 ] = ( r [ v >> 2 ] | 0 ) + ( h + ( ( W ( r [ _ >> 2 ] & 65535 , ( r [ f >> 2 ] & 65535 ) << 16 >> 16 ) | 0 ) >> 16 ) ) ; a [ ( r [ d >> 2 ] | 0 ) + ( r [ g >> 2 ] << 1 ) >> 1 ] = r [ _ >> 2 ] ; r [ g >> 2 ] = ( r [ g >> 2 ] | 0 ) + - 1 } m = c ; return } function li ( e , t , n ) { e = e | 0 ; t = t | 0 ; n = n | 0 ; var i = 0 , o = 0 , s = 0 , l = 0 , c = 0 , d = 0 , u = 0 , p = 0 ; i = m ; m = m + 32 | 0 ; o = i + 20 | 0 ; s = i + 16 | 0 ; l = i + 12 | 0 ; c = i + 8 | 0 ; d = i + 4 | 0 ; u = i ; r [ o >> 2 ] = e ; r [ s >> 2 ] = t ; r [ l >> 2 ] = n ; r [ d >> 2 ] = _i ( a [ r [ s >> 2 ] >> 1 ] | 0 , 1 ) | 0 ; r [ d >> 2 ] = 131072 / ( r [ d >> 2 ] | 0 ) | 0 ; r [ u >> 2 ] = _i ( ( a [ ( r [ s >> 2 ] | 0 ) + 2 >> 1 ] | 0 ) - ( a [ r [ s >> 2 ] >> 1 ] | 0 ) | 0 , 1 ) | 0 ; r [ u >> 2 ] = 131072 / ( r [ u >> 2 ] | 0 ) | 0 ; n = ( vi ( ( r [ d >> 2 ] | 0 ) + ( r [ u >> 2 ] | 0 ) | 0 , 32767 ) | 0 ) & 65535 ; a [ r [ o >> 2 ] >> 1 ] = n ; r [ c >> 2 ] = 1 ; while ( 1 ) { p = r [ s >> 2 ] | 0 ; if ( ( r [ c >> 2 ] | 0 ) >= ( ( r [ l >> 2 ] | 0 ) - 1 | 0 ) ) break ; r [ d >> 2 ] = _i ( ( a [ p + ( ( r [ c >> 2 ] | 0 ) + 1 << 1 ) >> 1 ] | 0 ) - ( a [ ( r [ s >> 2 ] | 0 ) + ( r [ c >> 2 ] << 1 ) >> 1 ] | 0 ) | 0 , 1 ) | 0 ; r [ d >> 2 ] = 131072 / ( r [ d >> 2 ] | 0 ) | 0 ; n = ( vi ( ( r [ d >> 2 ] | 0 ) + ( r [ u >> 2 ] | 0 ) | 0 , 32767 ) | 0 ) & 65535 ; a [ ( r [ o >> 2 ] | 0 ) + ( r [ c >> 2 ] << 1 ) >> 1 ] = n ; r [ u >> 2 ] = _i ( ( a [ ( r [ s >> 2 ] | 0 ) + ( ( r [ c >> 2 ] | 0 ) + 2 << 1 ) >> 1 ] | 0 ) - ( a [ ( r [ s >> 2 ] | 0 ) + ( ( r [ c >> 2 ] | 0 ) + 1 << 1 ) >> 1 ] | 0 ) | 0 , 1 ) | 0 ; r [ u >> 2 ] = 131072 / ( r [ u >> 2 ] | 0 ) | 0 ; n = ( vi ( ( r [ d >> 2 ] | 0 ) + ( r [ u >> 2 ] | 0 ) | 0 , 32767 ) | 0 ) & 65535 ; a [ ( r [ o >> 2 ] | 0 ) + ( ( r [ c >> 2 ] | 0 ) + 1 << 1 ) >> 1 ] = n ; r [ c >> 2 ] = ( r [ c >> 2 ] | 0 ) + 2 } r [ d >> 2 ] = _i ( 32768 - ( a [ p + ( ( r [ l >> 2 ] | 0 ) - 1 << 1 ) >> 1 ] | 0 ) | 0 , 1 ) | 0 ; r [ d >> 2 ] = 131072 / ( r [ d >> 2 ] | 0 ) | 0 ; p = ( vi ( ( r [ d >> 2 ] | 0 ) + ( r [ u >> 2 ] | 0 ) | 0 , 32767 ) | 0 ) & 65535 ; a [ ( r [ o >> 2 ] | 0 ) + ( ( r [ l >> 2 ] | 0 ) - 1 << 1 ) >> 1 ] = p ; m = i ; return } function ci ( e ) { e = e | 0 ; var t = 0 , n = 0 , i = 0 , a = 0 , o = 0 , s = 0 , l = 0 ; t = m ; m = m + 32 | 0 ; n = t + 16 | 0 ; i = t + 12 | 0 ; a = t + 8 | 0 ; o = t + 4 | 0 ; s = t ; r [ i >> 2 ] = e ; if ( ( r [ i >> 2 ] | 0 ) <= 0 ) { r [ n >> 2 ] = 0 ; l = r [ n >> 2 ] | 0 ; m = t ; return l | 0 } mi ( r [ i >> 2 ] | 0 , o , s ) ; if ( r [ o >> 2 ] & 1 | 0 ) r [ a >> 2 ] = 32768 ; else r [ a >> 2 ] = 46214 ; r [ a >> 2 ] = r [ a >> 2 ] >> ( r [ o >> 2 ] >> 1 ) ; o = W ( r [ a >> 2 ] >> 16 , ( ( ( r [ s >> 2 ] & 65535 ) << 16 >> 16 ) * 213 & 65535 ) << 16 >> 16 ) | 0 ; r [ a >> 2 ] = ( r [ a >> 2 ] | 0 ) + ( o + ( ( W ( r [ a >> 2 ] & 65535 , ( ( ( r [ s >> 2 ] & 65535 ) << 16 >> 16 ) * 213 & 65535 ) << 16 >> 16 ) | 0 ) >> 16 ) ) ; r [ n >> 2 ] = r [ a >> 2 ] ; l = r [ n >> 2 ] | 0 ; m = t ; return l | 0 } function di ( e , t , n ) { e = e | 0 ; t = t | 0 ; n = n | 0 ; var i = 0 , o = 0 , s = 0 , l = 0 , c = 0 , d = 0 , u = 0 , p = 0 , f = 0 , h = 0 , g = 0 , _ = 0 , v = 0 , y = 0 , b = 0 , w = 0 , k = 0 , M = 0 , S = 0 , A = 0 , T = 0 ; i = m ; m = m + 48 | 0 ; o = i + 40 | 0 ; s = i + 36 | 0 ; l = i + 32 | 0 ; c = i + 28 | 0 ; d = i + 24 | 0 ; u = i + 20 | 0 ; p = i + 16 | 0 ; f = i + 44 | 0 ; h = i + 12 | 0 ; g = i + 8 | 0 ; _ = i + 4 | 0 ; v = i ; r [ o >> 2 ] = e ; r [ s >> 2 ] = t ; r [ l >> 2 ] = n ; r [ d >> 2 ] = 0 ; r [ p >> 2 ] = 0 ; while ( 1 ) { if ( ( r [ p >> 2 ] | 0 ) >= 20 ) break ; r [ g >> 2 ] = ( a [ r [ o >> 2 ] >> 1 ] | 0 ) - ( a [ r [ s >> 2 ] >> 1 ] | 0 ) ; r [ d >> 2 ] = 0 ; r [ c >> 2 ] = 1 ; while ( 1 ) { y = r [ o >> 2 ] | 0 ; if ( ( r [ c >> 2 ] | 0 ) > ( ( r [ l >> 2 ] | 0 ) - 1 | 0 ) ) break ; r [ h >> 2 ] = ( a [ y + ( r [ c >> 2 ] << 1 ) >> 1 ] | 0 ) - ( ( a [ ( r [ o >> 2 ] | 0 ) + ( ( r [ c >> 2 ] | 0 ) - 1 << 1 ) >> 1 ] | 0 ) + ( a [ ( r [ s >> 2 ] | 0 ) + ( r [ c >> 2 ] << 1 ) >> 1 ] | 0 ) ) ; if ( ( r [ h >> 2 ] | 0 ) < ( r [ g >> 2 ] | 0 ) ) { r [ g >> 2 ] = r [ h >> 2 ] ; r [ d >> 2 ] = r [ c >> 2 ] } r [ c >> 2 ] = ( r [ c >> 2 ] | 0 ) + 1 } r [ h >> 2 ] = 32768 - ( ( a [ y + ( ( r [ l >> 2 ] | 0 ) - 1 << 1 ) >> 1 ] | 0 ) + ( a [ ( r [ s >> 2 ] | 0 ) + ( r [ l >> 2 ] << 1 ) >> 1 ] | 0 ) ) ; if ( ( r [ h >> 2 ] | 0 ) < ( r [ g >> 2 ] | 0 ) ) { r [ g >> 2 ] = r [ h >> 2 ] ; r [ d >> 2 ] = r [ l >> 2 ] } if ( ( r [ g >> 2 ] | 0 ) >= 0 ) { b = 42 ; break } if ( ! ( r [ d >> 2 ] | 0 ) ) a [ r [ o >> 2 ] >> 1 ] = a [ r [ s >> 2 ] >> 1 ] | 0 ; else { if ( ( r [ d >> 2 ] | 0 ) == ( r [ l >> 2 ] | 0 ) ) { w = ( r [ o >> 2 ] | 0 ) + ( ( r [ l >> 2 ] | 0 ) - 1 << 1 ) | 0 ; k = 32768 - ( a [ ( r [ s >> 2 ] | 0 ) + ( r [ l >> 2 ] << 1 ) >> 1 ] | 0 ) & 65535 } else { r [ _ >> 2 ] = 0 ; r [ u >> 2 ] = 0 ; while ( 1 ) { M = r [ s >> 2 ] | 0 ; if ( ( r [ u >> 2 ] | 0 ) >= ( r [ d >> 2 ] | 0 ) ) break ; r [ _ >> 2 ] = ( r [ _ >> 2 ] | 0 ) + ( a [ M + ( r [ u >> 2 ] << 1 ) >> 1 ] | 0 ) ; r [ u >> 2 ] = ( r [ u >> 2 ] | 0 ) + 1 } r [ _ >> 2 ] = ( r [ _ >> 2 ] | 0 ) + ( a [ M + ( r [ d >> 2 ] << 1 ) >> 1 ] >> 1 ) ; r [ v >> 2 ] = 32768 ; r [ u >> 2 ] = r [ l >> 2 ] ; while ( 1 ) { S = r [ s >> 2 ] | 0 ; if ( ( r [ u >> 2 ] | 0 ) <= ( r [ d >> 2 ] | 0 ) ) break ; r [ v >> 2 ] = ( r [ v >> 2 ] | 0 ) - ( a [ S + ( r [ u >> 2 ] << 1 ) >> 1 ] | 0 ) ; r [ u >> 2 ] = ( r [ u >> 2 ] | 0 ) + - 1 } r [ v >> 2 ] = ( r [ v >> 2 ] | 0 ) - ( a [ S + ( r [ d >> 2 ] << 1 ) >> 1 ] >> 1 ) ; n = ( ( a [ ( r [ o >> 2 ] | 0 ) + ( ( r [ d >> 2 ] | 0 ) - 1 << 1 ) >> 1 ] | 0 ) + ( a [ ( r [ o >> 2 ] | 0 ) + ( r [ d >> 2 ] << 1 ) >> 1 ] | 0 ) >> 1 ) + ( ( a [ ( r [ o >> 2 ] | 0 ) + ( ( r [ d >> 2 ] | 0 ) - 1 << 1 ) >> 1 ] | 0 ) + ( a [ ( r [ o >> 2 ] | 0 ) + ( r [ d >> 2 ] << 1 ) >> 1 ] | 0 ) & 1 ) | 0 ; do if ( ( r [ _ >> 2 ] | 0 ) > ( r [ v >> 2 ] | 0 ) ) { if ( ( n | 0 ) > ( r [ _ >> 2 ] | 0 ) ) { A = r [ _ >> 2 ] | 0 ; break } if ( ( ( ( a [ ( r [ o >> 2 ] |
} m = s ; return } function Li ( e , t , n , i , o , s , l ) { e = e | 0 ; t = t | 0 ; n = n | 0 ; i = i | 0 ; o = o | 0 ; s = s | 0 ; l = l | 0 ; var c = 0 , d = 0 , u = 0 , p = 0 , f = 0 , h = 0 , g = 0 , _ = 0 , v = 0 , y = 0 , b = 0 , w = 0 , k = 0 , M = 0 , S = 0 , A = 0 , T = 0 ; c = m ; m = m + 48 | 0 ; d = c + 44 | 0 ; u = c + 40 | 0 ; p = c + 36 | 0 ; f = c + 32 | 0 ; h = c + 28 | 0 ; g = c + 24 | 0 ; _ = c + 20 | 0 ; v = c + 16 | 0 ; y = c + 12 | 0 ; b = c + 8 | 0 ; w = c + 4 | 0 ; k = c ; r [ d >> 2 ] = e ; r [ u >> 2 ] = t ; r [ p >> 2 ] = n ; r [ f >> 2 ] = i ; r [ h >> 2 ] = o ; r [ g >> 2 ] = s ; r [ _ >> 2 ] = l ; switch ( r [ f >> 2 ] | 0 ) { case 18 : { r [ v >> 2 ] = 0 ; while ( 1 ) { if ( ( r [ v >> 2 ] | 0 ) >= ( r [ g >> 2 ] | 0 ) ) break ; r [ b >> 2 ] = ( r [ u >> 2 ] | 0 ) + ( r [ v >> 2 ] >> 16 << 2 ) ; f = W ( ( r [ v >> 2 ] & 65535 ) >> 16 , ( r [ h >> 2 ] & 65535 ) << 16 >> 16 ) | 0 ; r [ w >> 2 ] = f + ( ( W ( r [ v >> 2 ] & 65535 , ( r [ h >> 2 ] & 65535 ) << 16 >> 16 ) | 0 ) >> 16 ) ; r [ k >> 2 ] = ( r [ p >> 2 ] | 0 ) + ( ( r [ w >> 2 ] | 0 ) * 9 << 1 ) ; f = W ( r [ r [ b >> 2 ] >> 2 ] >> 16 , a [ r [ k >> 2 ] >> 1 ] | 0 ) | 0 ; r [ y >> 2 ] = f + ( ( W ( r [ r [ b >> 2 ] >> 2 ] & 65535 , a [ r [ k >> 2 ] >> 1 ] | 0 ) | 0 ) >> 16 ) ; f = W ( r [ ( r [ b >> 2 ] | 0 ) + 4 >> 2 ] >> 16 , a [ ( r [ k >> 2 ] | 0 ) + 2 >> 1 ] | 0 ) | 0 ; r [ y >> 2 ] = ( r [ y >> 2 ] | 0 ) + ( f + ( ( W ( r [ ( r [ b >> 2 ] | 0 ) + 4 >> 2 ] & 65535 , a [ ( r [ k >> 2 ] | 0 ) + 2 >> 1 ] | 0 ) | 0 ) >> 16 ) ) ; f = W ( r [ ( r [ b >> 2 ] | 0 ) + 8 >> 2 ] >> 16 , a [ ( r [ k >> 2 ] | 0 ) + 4 >> 1 ] | 0 ) | 0 ; r [ y >> 2 ] = ( r [ y >> 2 ] | 0 ) + ( f + ( ( W ( r [ ( r [ b >> 2 ] | 0 ) + 8 >> 2 ] & 65535 , a [ ( r [ k >> 2 ] | 0 ) + 4 >> 1 ] | 0 ) | 0 ) >> 16 ) ) ; f = W ( r [ ( r [ b >> 2 ] | 0 ) + 12 >> 2 ] >> 16 , a [ ( r [ k >> 2 ] | 0 ) + 6 >> 1 ] | 0 ) | 0 ; r [ y >> 2 ] = ( r [ y >> 2 ] | 0 ) + ( f + ( ( W ( r [ ( r [ b >> 2 ] | 0 ) + 12 >> 2 ] & 65535 , a [ ( r [ k >> 2 ] | 0 ) + 6 >> 1 ] | 0 ) | 0 ) >> 16 ) ) ; f = W ( r [ ( r [ b >> 2 ] | 0 ) + 16 >> 2 ] >> 16 , a [ ( r [ k >> 2 ] | 0 ) + 8 >> 1 ] | 0 ) | 0 ; r [ y >> 2 ] = ( r [ y >> 2 ] | 0 ) + ( f + ( ( W ( r [ ( r [ b >> 2 ] | 0 ) + 16 >> 2 ] & 65535 , a [ ( r [ k >> 2 ] | 0 ) + 8 >> 1 ] | 0 ) | 0 ) >> 16 ) ) ; f = W ( r [ ( r [ b >> 2 ] | 0 ) + 20 >> 2 ] >> 16 , a [ ( r [ k >> 2 ] | 0 ) + 10 >> 1 ] | 0 ) | 0 ; r [ y >> 2 ] = ( r [ y >> 2 ] | 0 ) + ( f + ( ( W ( r [ ( r [ b >> 2 ] | 0 ) + 20 >> 2 ] & 65535 , a [ ( r [ k >> 2 ] | 0 ) + 10 >> 1 ] | 0 ) | 0 ) >> 16 ) ) ; f = W ( r [ ( r [ b >> 2 ] | 0 ) + 24 >> 2 ] >> 16 , a [ ( r [ k >> 2 ] | 0 ) + 12 >> 1 ] | 0 ) | 0 ; r [ y >> 2 ] = ( r [ y >> 2 ] | 0 ) + ( f + ( ( W ( r [ ( r [ b >> 2 ] | 0 ) + 24 >> 2 ] & 65535 , a [ ( r [ k >> 2 ] | 0 ) + 12 >> 1 ] | 0 ) | 0 ) >> 16 ) ) ; f = W ( r [ ( r [ b >> 2 ] | 0 ) + 28 >> 2 ] >> 16 , a [ ( r [ k >> 2 ] | 0 ) + 14 >> 1 ] | 0 ) | 0 ; r [ y >> 2 ] = ( r [ y >> 2 ] | 0 ) + ( f + ( ( W ( r [ ( r [ b >> 2 ] | 0 ) + 28 >> 2 ] & 65535 , a [ ( r [ k >> 2 ] | 0 ) + 14 >> 1 ] | 0 ) | 0 ) >> 16 ) ) ; f = W ( r [ ( r [ b >> 2 ] | 0 ) + 32 >> 2 ] >> 16 , a [ ( r [ k >> 2 ] | 0 ) + 16 >> 1 ] | 0 ) | 0 ; r [ y >> 2 ] = ( r [ y >> 2 ] | 0 ) + ( f + ( ( W ( r [ ( r [ b >> 2 ] | 0 ) + 32 >> 2 ] & 65535 , a [ ( r [ k >> 2 ] | 0 ) + 16 >> 1 ] | 0 ) | 0 ) >> 16 ) ) ; r [ k >> 2 ] = ( r [ p >> 2 ] | 0 ) + ( ( ( r [ h >> 2 ] | 0 ) - 1 - ( r [ w >> 2 ] | 0 ) | 0 ) * 9 << 1 ) ; f = W ( r [ ( r [ b >> 2 ] | 0 ) + 68 >> 2 ] >> 16 , a [ r [ k >> 2 ] >> 1 ] | 0 ) | 0 ; r [ y >> 2 ] = ( r [ y >> 2 ] | 0 ) + ( f + ( ( W ( r [ ( r [ b >> 2 ] | 0 ) + 68 >> 2 ] & 65535 , a [ r [ k >> 2 ] >> 1 ] | 0 ) | 0 ) >> 16 ) ) ; f = W ( r [ ( r [ b >> 2 ] | 0 ) + 64 >> 2 ] >> 16 , a [ ( r [ k >> 2 ] | 0 ) + 2 >> 1 ] | 0 ) | 0 ; r [ y >> 2 ] = ( r [ y >> 2 ] | 0 ) + ( f + ( ( W ( r [ ( r [ b >> 2 ] | 0 ) + 64 >> 2 ] & 65535 , a [ ( r [ k >> 2 ] | 0 ) + 2 >> 1 ] | 0 ) | 0 ) >> 16 ) ) ; f = W ( r [ ( r [ b >> 2 ] | 0 ) + 60 >> 2 ] >> 16 , a [ ( r [ k >> 2 ] | 0 ) + 4 >> 1 ] | 0 ) | 0 ; r [ y >> 2 ] = ( r [ y >> 2 ] | 0 ) + ( f + ( ( W ( r [ ( r [ b >> 2 ] | 0 ) + 60 >> 2 ] & 65535 , a [ ( r [ k >> 2 ] | 0 ) + 4 >> 1 ] | 0 ) | 0 ) >> 16 ) ) ; f = W ( r [ ( r [ b >> 2 ] | 0 ) + 56 >> 2 ] >> 16 , a [ ( r [ k >> 2 ] | 0 ) + 6 >> 1 ] | 0 ) | 0 ; r [ y >> 2 ] = ( r [ y >> 2 ] | 0 ) + ( f + ( ( W ( r [ ( r [ b >> 2 ] | 0 ) + 56 >> 2 ] & 65535 , a [ ( r [ k >> 2 ] | 0 ) + 6 >> 1 ] | 0 ) | 0 ) >> 16 ) ) ; f = W ( r [ ( r [ b >> 2 ] | 0 ) + 52 >> 2 ] >> 16 , a [ ( r [ k >> 2 ] | 0 ) + 8 >> 1 ] | 0 ) | 0 ; r [ y >> 2 ] = ( r [ y >> 2 ] | 0 ) + ( f + ( ( W ( r [ ( r [ b >> 2 ] | 0 ) + 52 >> 2 ] & 65535 , a [ ( r [ k >> 2 ] | 0 ) + 8 >> 1 ] | 0 ) | 0 ) >> 16 ) ) ; f = W ( r [ ( r [ b >> 2 ] | 0 ) + 48 >> 2 ] >> 16 , a [ ( r [ k >> 2 ] | 0 ) + 10 >> 1 ] | 0 ) | 0 ; r [ y >> 2 ] = ( r [ y >> 2 ] | 0 ) + ( f + ( ( W ( r [ ( r [ b >> 2 ] | 0 ) + 48 >> 2 ] & 65535 , a [ ( r [ k >> 2 ] | 0 ) + 10 >> 1 ] | 0 ) | 0 ) >> 16 ) ) ; f = W ( r [ ( r [ b >> 2 ] | 0 ) + 44 >> 2 ] >> 16 , a [ ( r [ k >> 2 ] | 0 ) + 12 >> 1 ] | 0 ) | 0 ; r [ y >> 2 ] = ( r [ y >> 2 ] | 0 ) + ( f + ( ( W ( r [ ( r [ b >> 2 ] | 0 ) + 44 >> 2 ] & 65535 , a [ ( r [ k >> 2 ] | 0 ) + 12 >> 1 ] | 0 ) | 0 ) >> 16 ) ) ; f = W ( r [ ( r [ b >> 2 ] | 0 ) + 40 >> 2 ] >> 16 , a [ ( r [ k >> 2 ] | 0 ) + 14 >> 1 ] | 0 ) | 0 ; r [ y >> 2 ] = ( r [ y >> 2 ] | 0 ) + ( f + ( ( W ( r [ ( r [ b >> 2 ] | 0 ) + 40 >> 2 ] & 65535 , a [ ( r [ k >> 2 ] | 0 ) + 14 >> 1 ] | 0 ) | 0 ) >> 16 ) ) ; f = W ( r [ ( r [ b >> 2 ] | 0 ) + 36 >> 2 ] >> 16 , a [ ( r [ k >> 2 ] | 0 ) + 16 >> 1 ] | 0 ) | 0 ; r [ y >> 2 ] = ( r [ y >> 2 ] | 0 ) + ( f + ( ( W ( r [ ( r [ b >> 2 ] | 0 ) + 36 >> 2 ] & 65535 , a [ ( r [ k >> 2 ] | 0 ) + 16 >> 1 ] | 0 ) | 0 ) >> 16 ) ) ; if ( ( ( r [ y >> 2 ] >> 5 ) + 1 >> 1 | 0 ) <= 32767 ) if ( ( ( r [ y >> 2 ] >> 5 ) + 1 >> 1 | 0 ) < - 32768 ) M = - 32768 ; else M = ( r [ y >> 2 ] >> 5 ) + 1 >> 1 ; else M = 32767 ; f = r [ d >> 2 ] | 0 ; r [ d >> 2 ] = f + 2 ; a [ f >> 1 ] = M ; r [ v >> 2 ] = ( r [ v >> 2 ] | 0 ) + ( r [ _ >> 2 ] | 0 ) } S = r [ d >> 2 ] | 0 ; m = c ; return S | 0 } case 24 : { r [ v >> 2 ] = 0 ; while ( 1 ) { if ( ( r [ v >> 2 ] | 0 ) >= ( r [ g >> 2 ] | 0 ) ) break ; r [ b >> 2 ] = ( r [ u >> 2 ] | 0 ) + ( r [ v >> 2 ] >> 16 << 2 ) ; M = W ( ( r [ r [ b >> 2 ] >> 2 ] | 0 ) + ( r [ ( r [ b >> 2 ] | 0 ) + 92 >> 2 ] | 0 ) >> 16 , a [ r [ p >> 2 ] >> 1 ] | 0 ) | 0 ; r [ y >> 2 ] = M + ( ( W ( ( r [ r [ b >> 2 ] >> 2 ] | 0 ) + ( r [ ( r [ b >> 2 ] | 0 ) + 92 >> 2 ] | 0 ) & 65535 , a [ r [ p >> 2 ] >> 1 ] | 0 ) | 0 ) >> 16 ) ; M = W ( ( r [ ( r [ b >> 2 ] | 0 ) + 4 >> 2 ] | 0 ) + ( r [ ( r [ b >> 2 ] | 0 ) + 88 >> 2 ] | 0 ) >> 16 , a [ ( r [ p >> 2 ] | 0 ) + 2 >> 1 ] | 0 ) | 0 ; r [ y >> 2 ] = ( r [ y >> 2 ] | 0 ) + ( M + ( ( W ( ( r [ ( r [ b >> 2 ] | 0 ) + 4 >> 2 ] | 0 ) + ( r [ ( r [ b >> 2 ] | 0 ) + 88 >> 2 ] | 0 ) & 65535 , a [ ( r [ p >> 2 ] | 0 ) + 2 >> 1 ] | 0 ) | 0 ) >> 16 ) ) ; M = W ( ( r [ ( r [ b >> 2 ] | 0 ) + 8 >> 2 ] | 0 ) + ( r [ ( r [ b >> 2 ] | 0 ) + 84 >> 2 ] | 0 ) >> 16 , a [ ( r [ p >> 2 ] | 0 ) + 4 >> 1 ] | 0 ) | 0 ; r [ y >> 2 ] = ( r [ y >> 2 ] | 0 ) + ( M + ( ( W ( ( r [ ( r [ b >> 2 ] | 0 ) + 8 >> 2 ] | 0 ) + ( r [ ( r [ b >> 2 ] | 0 ) + 84 >> 2 ] | 0 ) & 65535 , a [ ( r [ p >> 2 ] | 0 ) + 4 >> 1 ] | 0 ) | 0 ) >> 16 ) ) ; M = W ( ( r [ ( r [ b >> 2 ] | 0 ) + 12 >> 2 ] | 0 ) + ( r [ ( r [ b >> 2 ] | 0 ) + 80 >> 2 ] | 0 ) >> 16 , a [ ( r [ p >> 2 ] | 0 ) + 6 >> 1 ] | 0 ) | 0 ; r [ y >> 2 ] = ( r [ y >> 2 ] |
if ( ( r [ K >> 2 ] | 0 ) != 0 & ( r [ X >> 2 ] | 0 ) != 0 ? r [ ( r [ S >> 2 ] | 0 ) + 64 >> 2 ] | 0 : 0 ) break ; re = r [ x >> 2 ] | 0 ; r [ g >> 2 ] = 0 ; Jt ( re , 10010 , g ) | 0 ; Zt ( r [ x >> 2 ] | 0 , ge , 2 , r [ C >> 2 ] | 0 , r [ Z >> 2 ] | 0 , 0 , r [ ae >> 2 ] | 0 ) | 0 } } else { r [ he >> 2 ] = ( r [ te >> 2 ] | 0 ) < ( r [ E >> 2 ] | 0 ) ? r [ te >> 2 ] | 0 : r [ E >> 2 ] | 0 ; do if ( ( r [ q >> 2 ] | 0 ) != ( r [ ( r [ S >> 2 ] | 0 ) + 56 >> 2 ] | 0 ) ) { if ( ( r [ ( r [ S >> 2 ] | 0 ) + 56 >> 2 ] | 0 ) <= 0 ) break ; if ( r [ ( r [ S >> 2 ] | 0 ) + 64 >> 2 ] | 0 ) break ; Jt ( r [ x >> 2 ] | 0 , 4028 , _ ) | 0 } while ( 0 ) ; r [ R >> 2 ] = Zt ( r [ x >> 2 ] | 0 , r [ $ >> 2 ] | 0 ? 0 : r [ A >> 2 ] | 0 , r [ T >> 2 ] | 0 , r [ C >> 2 ] | 0 , r [ he >> 2 ] | 0 , O , r [ ae >> 2 ] | 0 ) | 0 } while ( 0 ) ; t : do if ( ! ( ( r [ q >> 2 ] | 0 ) == 1002 | ( r [ ae >> 2 ] | 0 ) != 0 ) ) { r [ P >> 2 ] = 0 ; while ( 1 ) { if ( ( r [ P >> 2 ] | 0 ) >= ( W ( r [ E >> 2 ] | 0 , r [ ( r [ S >> 2 ] | 0 ) + 8 >> 2 ] | 0 ) | 0 ) ) break t ; c [ ( r [ C >> 2 ] | 0 ) + ( r [ P >> 2 ] << 2 ) >> 2 ] = + c [ ( r [ C >> 2 ] | 0 ) + ( r [ P >> 2 ] << 2 ) >> 2 ] + + ( a [ U + ( r [ P >> 2 ] << 1 ) >> 1 ] | 0 ) * 30517578125e-15 ; r [ P >> 2 ] = ( r [ P >> 2 ] | 0 ) + 1 } } while ( 0 ) ; U = r [ x >> 2 ] | 0 ; r [ h >> 2 ] = _e + ( ( ( _e - _e | 0 ) / 4 | 0 ) << 2 ) ; Jt ( U , 10015 , h ) | 0 ; r [ ne >> 2 ] = r [ ( r [ _e >> 2 ] | 0 ) + 60 >> 2 ] ; if ( ! ( ( r [ K >> 2 ] | 0 ) == 0 | ( r [ X >> 2 ] | 0 ) != 0 ) ) { Jt ( r [ x >> 2 ] | 0 , 4028 , f ) | 0 ; U = r [ x >> 2 ] | 0 ; r [ p >> 2 ] = 0 ; Jt ( U , 10010 , p ) | 0 ; Zt ( r [ x >> 2 ] | 0 , ( r [ A >> 2 ] | 0 ) + ( r [ T >> 2 ] | 0 ) | 0 , r [ Y >> 2 ] | 0 , Se , r [ Q >> 2 ] | 0 , 0 , 0 ) | 0 ; U = r [ x >> 2 ] | 0 ; r [ u >> 2 ] = ie + ( ( ( ie - ie | 0 ) / 4 | 0 ) << 2 ) ; Jt ( U , 4031 , u ) | 0 ; U = ( r [ C >> 2 ] | 0 ) + ( ( W ( r [ ( r [ S >> 2 ] | 0 ) + 8 >> 2 ] | 0 , ( r [ E >> 2 ] | 0 ) - ( r [ Z >> 2 ] | 0 ) | 0 ) | 0 ) << 2 ) | 0 ; re = Se + ( ( W ( r [ ( r [ S >> 2 ] | 0 ) + 8 >> 2 ] | 0 , r [ Z >> 2 ] | 0 ) | 0 ) << 2 ) | 0 ; Me = ( r [ C >> 2 ] | 0 ) + ( ( W ( r [ ( r [ S >> 2 ] | 0 ) + 8 >> 2 ] | 0 , ( r [ E >> 2 ] | 0 ) - ( r [ Z >> 2 ] | 0 ) | 0 ) | 0 ) << 2 ) | 0 ; ea ( U , re , Me , r [ Z >> 2 ] | 0 , r [ ( r [ S >> 2 ] | 0 ) + 8 >> 2 ] | 0 , r [ ne >> 2 ] | 0 , r [ ( r [ S >> 2 ] | 0 ) + 12 >> 2 ] | 0 ) } if ( ( r [ K >> 2 ] | 0 ) != 0 & ( r [ X >> 2 ] | 0 ) != 0 ) { r [ J >> 2 ] = 0 ; while ( 1 ) { if ( ( r [ J >> 2 ] | 0 ) >= ( r [ ( r [ S >> 2 ] | 0 ) + 8 >> 2 ] | 0 ) ) break ; r [ P >> 2 ] = 0 ; while ( 1 ) { if ( ( r [ P >> 2 ] | 0 ) >= ( r [ Z >> 2 ] | 0 ) ) break ; Me = W ( r [ ( r [ S >> 2 ] | 0 ) + 8 >> 2 ] | 0 , r [ P >> 2 ] | 0 ) | 0 ; re = W ( r [ ( r [ S >> 2 ] | 0 ) + 8 >> 2 ] | 0 , r [ P >> 2 ] | 0 ) | 0 ; c [ ( r [ C >> 2 ] | 0 ) + ( re + ( r [ J >> 2 ] | 0 ) << 2 ) >> 2 ] = + c [ Se + ( Me + ( r [ J >> 2 ] | 0 ) << 2 ) >> 2 ] ; r [ P >> 2 ] = ( r [ P >> 2 ] | 0 ) + 1 } r [ J >> 2 ] = ( r [ J >> 2 ] | 0 ) + 1 } Me = Se + ( ( W ( r [ ( r [ S >> 2 ] | 0 ) + 8 >> 2 ] | 0 , r [ Z >> 2 ] | 0 ) | 0 ) << 2 ) | 0 ; re = ( r [ C >> 2 ] | 0 ) + ( ( W ( r [ ( r [ S >> 2 ] | 0 ) + 8 >> 2 ] | 0 , r [ Z >> 2 ] | 0 ) | 0 ) << 2 ) | 0 ; U = ( r [ C >> 2 ] | 0 ) + ( ( W ( r [ ( r [ S >> 2 ] | 0 ) + 8 >> 2 ] | 0 , r [ Z >> 2 ] | 0 ) | 0 ) << 2 ) | 0 ; ea ( Me , re , U , r [ Z >> 2 ] | 0 , r [ ( r [ S >> 2 ] | 0 ) + 8 >> 2 ] | 0 , r [ ne >> 2 ] | 0 , r [ ( r [ S >> 2 ] | 0 ) + 12 >> 2 ] | 0 ) } do if ( r [ z >> 2 ] | 0 ) { if ( ( r [ j >> 2 ] | 0 ) < ( r [ Q >> 2 ] | 0 ) ) { ea ( r [ B >> 2 ] | 0 , r [ C >> 2 ] | 0 , r [ C >> 2 ] | 0 , r [ Z >> 2 ] | 0 , r [ ( r [ S >> 2 ] | 0 ) + 8 >> 2 ] | 0 , r [ ne >> 2 ] | 0 , r [ ( r [ S >> 2 ] | 0 ) + 12 >> 2 ] | 0 ) ; break } r [ P >> 2 ] = 0 ; while ( 1 ) { U = ( r [ P >> 2 ] | 0 ) < ( W ( r [ ( r [ S >> 2 ] | 0 ) + 8 >> 2 ] | 0 , r [ Z >> 2 ] | 0 ) | 0 ) ; xe = r [ B >> 2 ] | 0 ; if ( ! U ) break ; c [ ( r [ C >> 2 ] | 0 ) + ( r [ P >> 2 ] << 2 ) >> 2 ] = + c [ xe + ( r [ P >> 2 ] << 2 ) >> 2 ] ; r [ P >> 2 ] = ( r [ P >> 2 ] | 0 ) + 1 } U = xe + ( ( W ( r [ ( r [ S >> 2 ] | 0 ) + 8 >> 2 ] | 0 , r [ Z >> 2 ] | 0 ) | 0 ) << 2 ) | 0 ; re = ( r [ C >> 2 ] | 0 ) + ( ( W ( r [ ( r [ S >> 2 ] | 0 ) + 8 >> 2 ] | 0 , r [ Z >> 2 ] | 0 ) | 0 ) << 2 ) | 0 ; Me = ( r [ C >> 2 ] | 0 ) + ( ( W ( r [ ( r [ S >> 2 ] | 0 ) + 8 >> 2 ] | 0 , r [ Z >> 2 ] | 0 ) | 0 ) << 2 ) | 0 ; ea ( U , re , Me , r [ Z >> 2 ] | 0 , r [ ( r [ S >> 2 ] | 0 ) + 8 >> 2 ] | 0 , r [ ne >> 2 ] | 0 , r [ ( r [ S >> 2 ] | 0 ) + 12 >> 2 ] | 0 ) } while ( 0 ) ; t : do if ( r [ ( r [ S >> 2 ] | 0 ) + 40 >> 2 ] | 0 ) { c [ ve >> 2 ] = + V ( + ( + ( r [ ( r [ S >> 2 ] | 0 ) + 40 >> 2 ] | 0 ) * . 0006488140788860619 * . 6931471805599453 ) ) ; r [ P >> 2 ] = 0 ; while ( 1 ) { if ( ( r [ P >> 2 ] | 0 ) >= ( W ( r [ E >> 2 ] | 0 , r [ ( r [ S >> 2 ] | 0 ) + 8 >> 2 ] | 0 ) | 0 ) ) break t ; c [ ye >> 2 ] = + c [ ( r [ C >> 2 ] | 0 ) + ( r [ P >> 2 ] << 2 ) >> 2 ] * + c [ ve >> 2 ] ; c [ ( r [ C >> 2 ] | 0 ) + ( r [ P >> 2 ] << 2 ) >> 2 ] = + c [ ye >> 2 ] ; r [ P >> 2 ] = ( r [ P >> 2 ] | 0 ) + 1 } } while ( 0 ) ; if ( ( r [ T >> 2 ] | 0 ) <= 1 ) { Pe = r [ S >> 2 ] | 0 ; De = 0 } else { Pe = r [ S >> 2 ] | 0 ; De = r [ O + 28 >> 2 ] ^ r [ ie >> 2 ] } r [ Pe + 80 >> 2 ] = De ; r [ ( r [ S >> 2 ] | 0 ) + 56 >> 2 ] = r [ q >> 2 ] ; if ( r [ K >> 2 ] | 0 ) Re = ( r [ X >> 2 ] | 0 ) != 0 ^ 1 ; else Re = 0 ; r [ ( r [ S >> 2 ] | 0 ) + 64 >> 2 ] = Re & 1 ; if ( ( r [ R >> 2 ] | 0 ) >= 0 ) Yi ( ) | 0 ; r [ M >> 2 ] = ( r [ R >> 2 ] | 0 ) < 0 ? r [ R >> 2 ] | 0 : r [ j >> 2 ] | 0 ; r [ le >> 2 ] = 1 } while ( 0 ) ; ce ( r [ se >> 2 ] | 0 ) ; be = r [ M >> 2 ] | 0 ; m = d ; return be | 0 } function Yi ( ) { return 0 } function Xi ( e ) { e = e | 0 ; var t = 0 , n = 0 , i = 0 ; t = m ; m = m + 16 | 0 ; n = t + 4 | 0 ; i = t ; r [ n >> 2 ] = e ; do if ( ! ( ( o [ r [ n >> 2 ] >> 0 ] | 0 ) & 128 | 0 ) ) if ( ( ( o [ r [ n >> 2 ] >> 0 ] | 0 ) & 96 | 0 ) == 96 ) { r [ i >> 2 ] = 1001 ; break } else { r [ i >> 2 ] = 1e3 ; break } else r [ i >> 2 ] = 1002 ; while ( 0 ) ; m = t ; return r [ i >> 2 ] | 0 } function Ji ( e ) { e = e | 0 ; var t = 0 , n = 0 , i = 0 , a = 0 , s = 0 ; t = m ; m = m + 16 | 0 ; n = t + 4 | 0 ; i = t ; r [ n >> 2 ] = e ; e = o [ r [ n >> 2 ] >> 0 ] | 0 ; if ( ( o [ r [ n >> 2 ] >> 0 ] | 0 ) & 128 | 0 ) { a = 1102 + ( e >> 5 & 3 ) | 0 ; r [ i >> 2 ] = a ; r [ i >> 2 ] = ( r [ i >> 2 ] | 0 ) == 1102 ? 1101 : a ; s = r [ i >> 2 ] | 0 ; m = t ; return s | 0 } a = o [ r [ n >> 2 ] >> 0 ] | 0 ; if ( ( e & 96 | 0 ) == 96 ) { r [ i >> 2 ] = a & 16 | 0 ? 1105 : 1104 ; s = r [ i >> 2 ] | 0 ; m = t ; return s | 0 } else { r [ i >> 2 ] = 1101 + ( a >> 5 & 3 ) ; s = r [ i >> 2 ] | 0 ; m = t ; return s | 0 } return 0 } function Zi ( e ) { e = e | 0 ; var t = 0 , n = 0 ; t = m ; m = m + 16 | 0 ; n = t ; r [ n >> 2 ] = e ; m = t ; return ( ( o [ r [ n >> 2 ] >> 0 ] | 0 ) & 4 | 0 ? 2 : 1 ) | 0 } function Qi ( e ) { e = e | 0 ; var t = 0 , n = 0 ; t = m ; m = m + 16 | 0 ; n = t ; r [ n >> 2 ] = e ; e = ( r [ ( r [ n >> 2 ] | 0 ) + 20 >> 2 ] | 0 ) - ( 32 - ( Y ( r [ ( r [ n >> 2 ] | 0 ) + 28 >> 2 ] | 0 ) | 0 ) ) | 0 ; m = t ; return e | 0 } function ea ( e , t , n , i , a , o , s ) { e = e | 0 ; t = t | 0 ; n = n | 0 ; i = i | 0 ; a = a | 0 ; o = o | 0 ; s = s | 0 ; var l = 0 , d = 0 , u = 0 , p = 0 , f =
r [ de >> 2 ] = ue + re ; oe = le + 8 | 0 ; ne = ( oe & 7 | 0 ) == 0 ? 0 : 0 - oe & 7 ; oe = le + ne | 0 ; ee = ( r [ 6331 ] | 0 ) + ( re - ne ) | 0 ; r [ 6334 ] = oe ; r [ 6331 ] = ee ; r [ oe + 4 >> 2 ] = ee | 1 ; r [ oe + ee + 4 >> 2 ] = 40 ; r [ 6335 ] = r [ 6450 ] ; break } ee = r [ 6332 ] | 0 ; if ( ie >>> 0 < ee >>> 0 ) { r [ 6332 ] = ie ; pe = ie } else pe = ee ; ee = ie + re | 0 ; oe = 25760 ; while ( 1 ) { if ( ( r [ oe >> 2 ] | 0 ) == ( ee | 0 ) ) { N = 198 ; break } ne = r [ oe + 8 >> 2 ] | 0 ; if ( ! ne ) break ; else oe = ne } if ( ( N | 0 ) == 198 ? ( r [ oe + 12 >> 2 ] & 8 | 0 ) == 0 : 0 ) { r [ oe >> 2 ] = ie ; se = oe + 4 | 0 ; r [ se >> 2 ] = ( r [ se >> 2 ] | 0 ) + re ; se = ie + 8 | 0 ; ne = ie + ( ( se & 7 | 0 ) == 0 ? 0 : 0 - se & 7 ) | 0 ; se = ee + 8 | 0 ; n = ee + ( ( se & 7 | 0 ) == 0 ? 0 : 0 - se & 7 ) | 0 ; se = ne + x | 0 ; z = n - ne - x | 0 ; r [ ne + 4 >> 2 ] = x | 3 ; do if ( ( n | 0 ) != ( le | 0 ) ) { if ( ( n | 0 ) == ( r [ 6333 ] | 0 ) ) { te = ( r [ 6330 ] | 0 ) + z | 0 ; r [ 6330 ] = te ; r [ 6333 ] = se ; r [ se + 4 >> 2 ] = te | 1 ; r [ se + te >> 2 ] = te ; break } te = r [ n + 4 >> 2 ] | 0 ; if ( ( te & 3 | 0 ) == 1 ) { Z = te & - 8 ; Q = te >>> 3 ; e : do if ( te >>> 0 >= 256 ) { q = r [ n + 24 >> 2 ] | 0 ; Y = r [ n + 12 >> 2 ] | 0 ; do if ( ( Y | 0 ) == ( n | 0 ) ) { W = n + 16 | 0 ; J = W + 4 | 0 ; _ = r [ J >> 2 ] | 0 ; if ( ! _ ) { y = r [ W >> 2 ] | 0 ; if ( ! y ) { fe = 0 ; break } else { me = y ; he = W } } else { me = _ ; he = J } while ( 1 ) { J = me + 20 | 0 ; _ = r [ J >> 2 ] | 0 ; if ( _ | 0 ) { me = _ ; he = J ; continue } J = me + 16 | 0 ; _ = r [ J >> 2 ] | 0 ; if ( ! _ ) break ; else { me = _ ; he = J } } if ( he >>> 0 < pe >>> 0 ) ae ( ) ; else { r [ he >> 2 ] = 0 ; fe = me ; break } } else { J = r [ n + 8 >> 2 ] | 0 ; if ( J >>> 0 < pe >>> 0 ) ae ( ) ; _ = J + 12 | 0 ; if ( ( r [ _ >> 2 ] | 0 ) != ( n | 0 ) ) ae ( ) ; W = Y + 8 | 0 ; if ( ( r [ W >> 2 ] | 0 ) == ( n | 0 ) ) { r [ _ >> 2 ] = Y ; r [ W >> 2 ] = J ; fe = Y ; break } else ae ( ) } while ( 0 ) ; if ( ! q ) break ; Y = r [ n + 28 >> 2 ] | 0 ; J = 25616 + ( Y << 2 ) | 0 ; do if ( ( n | 0 ) != ( r [ J >> 2 ] | 0 ) ) if ( q >>> 0 >= ( r [ 6332 ] | 0 ) >>> 0 ) { r [ q + 16 + ( ( ( r [ q + 16 >> 2 ] | 0 ) != ( n | 0 ) & 1 ) << 2 ) >> 2 ] = fe ; if ( ! fe ) break e ; else break } else ae ( ) ; else { r [ J >> 2 ] = fe ; if ( fe | 0 ) break ; r [ 6329 ] = r [ 6329 ] & ~ ( 1 << Y ) ; break e } while ( 0 ) ; Y = r [ 6332 ] | 0 ; if ( fe >>> 0 < Y >>> 0 ) ae ( ) ; r [ fe + 24 >> 2 ] = q ; J = n + 16 | 0 ; W = r [ J >> 2 ] | 0 ; do if ( W | 0 ) if ( W >>> 0 < Y >>> 0 ) ae ( ) ; else { r [ fe + 16 >> 2 ] = W ; r [ W + 24 >> 2 ] = fe ; break } while ( 0 ) ; W = r [ J + 4 >> 2 ] | 0 ; if ( ! W ) break ; if ( W >>> 0 < ( r [ 6332 ] | 0 ) >>> 0 ) ae ( ) ; else { r [ fe + 20 >> 2 ] = W ; r [ W + 24 >> 2 ] = fe ; break } } else { W = r [ n + 8 >> 2 ] | 0 ; Y = r [ n + 12 >> 2 ] | 0 ; q = 25352 + ( Q << 1 << 2 ) | 0 ; do if ( ( W | 0 ) != ( q | 0 ) ) { if ( W >>> 0 < pe >>> 0 ) ae ( ) ; if ( ( r [ W + 12 >> 2 ] | 0 ) == ( n | 0 ) ) break ; ae ( ) } while ( 0 ) ; if ( ( Y | 0 ) == ( W | 0 ) ) { r [ 6328 ] = r [ 6328 ] & ~ ( 1 << Q ) ; break } do if ( ( Y | 0 ) == ( q | 0 ) ) ge = Y + 8 | 0 ; else { if ( Y >>> 0 < pe >>> 0 ) ae ( ) ; J = Y + 8 | 0 ; if ( ( r [ J >> 2 ] | 0 ) == ( n | 0 ) ) { ge = J ; break } ae ( ) } while ( 0 ) ; r [ W + 12 >> 2 ] = Y ; r [ ge >> 2 ] = W } while ( 0 ) ; _e = n + Z | 0 ; ve = Z + z | 0 } else { _e = n ; ve = z } Q = _e + 4 | 0 ; r [ Q >> 2 ] = r [ Q >> 2 ] & - 2 ; r [ se + 4 >> 2 ] = ve | 1 ; r [ se + ve >> 2 ] = ve ; Q = ve >>> 3 ; if ( ve >>> 0 < 256 ) { te = 25352 + ( Q << 1 << 2 ) | 0 ; X = r [ 6328 ] | 0 ; q = 1 << Q ; do if ( ! ( X & q ) ) { r [ 6328 ] = X | q ; ye = te + 8 | 0 ; be = te } else { Q = te + 8 | 0 ; J = r [ Q >> 2 ] | 0 ; if ( J >>> 0 >= ( r [ 6332 ] | 0 ) >>> 0 ) { ye = Q ; be = J ; break } ae ( ) } while ( 0 ) ; r [ ye >> 2 ] = se ; r [ be + 12 >> 2 ] = se ; r [ se + 8 >> 2 ] = be ; r [ se + 12 >> 2 ] = te ; break } q = ve >>> 8 ; do if ( ! q ) we = 0 ; else { if ( ve >>> 0 > 16777215 ) { we = 31 ; break } X = ( q + 1048320 | 0 ) >>> 16 & 8 ; Z = q << X ; J = ( Z + 520192 | 0 ) >>> 16 & 4 ; Q = Z << J ; Z = ( Q + 245760 | 0 ) >>> 16 & 2 ; _ = 14 - ( J | X | Z ) + ( Q << Z >>> 15 ) | 0 ; we = ve >>> ( _ + 7 | 0 ) & 1 | _ << 1 } while ( 0 ) ; q = 25616 + ( we << 2 ) | 0 ; r [ se + 28 >> 2 ] = we ; te = se + 16 | 0 ; r [ te + 4 >> 2 ] = 0 ; r [ te >> 2 ] = 0 ; te = r [ 6329 ] | 0 ; _ = 1 << we ; if ( ! ( te & _ ) ) { r [ 6329 ] = te | _ ; r [ q >> 2 ] = se ; r [ se + 24 >> 2 ] = q ; r [ se + 12 >> 2 ] = se ; r [ se + 8 >> 2 ] = se ; break } _ = ve << ( ( we | 0 ) == 31 ? 0 : 25 - ( we >>> 1 ) | 0 ) ; te = r [ q >> 2 ] | 0 ; while ( 1 ) { if ( ( r [ te + 4 >> 2 ] & - 8 | 0 ) == ( ve | 0 ) ) { N = 265 ; break } ke = te + 16 + ( _ >>> 31 << 2 ) | 0 ; q = r [ ke >> 2 ] | 0 ; if ( ! q ) { N = 262 ; break } else { _ = _ << 1 ; te = q } } if ( ( N | 0 ) == 262 ) if ( ke >>> 0 < ( r [ 6332 ] | 0 ) >>> 0 ) ae ( ) ; else { r [ ke >> 2 ] = se ; r [ se + 24 >> 2 ] = te ; r [ se + 12 >> 2 ] = se ; r [ se + 8 >> 2 ] = se ; break } else if ( ( N | 0 ) == 265 ) { _ = te + 8 | 0 ; q = r [ _ >> 2 ] | 0 ; Z = r [ 6332 ] | 0 ; if ( q >>> 0 >= Z >>> 0 & te >>> 0 >= Z >>> 0 ) { r [ q + 12 >> 2 ] = se ; r [ _ >> 2 ] = se ; r [ se + 8 >> 2 ] = q ; r [ se + 12 >> 2 ] = te ; r [ se + 24 >> 2 ] = 0 ; break } else ae ( ) } } else { q = ( r [ 6331 ] | 0 ) + z | 0 ; r [ 6331 ] = q ; r [ 6334 ] = se ; r [ se + 4 >> 2 ] = q | 1 } while ( 0 ) ; g = ne + 8 | 0 ; m = t ; return g | 0 } se = 25760 ; while ( 1 ) { z = r [ se >> 2 ] | 0 ; if ( z >>> 0 <= le >>> 0 ? ( Me = z + ( r [ se + 4 >> 2 ] | 0 ) | 0 , Me >>> 0 > le >>> 0 ) : 0 ) break ; se = r [ se + 8 >> 2 ] | 0 } se = Me + - 47 | 0 ; ne = se + 8 | 0 ; z = se + ( ( ne & 7 | 0 ) == 0 ? 0 : 0 - ne & 7 ) | 0 ; ne = le + 16 | 0 ; se = z >>> 0 < ne >>> 0 ? le : z ; z = se + 8 | 0 ; n = ie + 8 | 0 ; ee = ( n & 7 | 0 ) == 0 ? 0 : 0 - n & 7 ; n = ie + ee | 0 ; oe = re + - 40 - ee | 0 ; r [ 6334 ] = n ; r [ 6331 ] = oe ; r [ n + 4 >> 2 ] = oe | 1 ; r [ n + oe + 4 >> 2 ] = 40 ; r [ 6335 ] = r [ 6450 ] ; oe = se + 4 | 0 ; r [ oe >> 2 ] = 27 ; r [ z >> 2 ] = r [ 6440 ] ; r [ z + 4 >> 2 ] = r [ 6441 ] ; r [ z + 8 >> 2 ] = r [ 6442 ] ; r [ z + 12 >> 2 ] = r [ 6443 ] ; r [ 6440 ] = ie ; r [ 6441 ] = re ; r [ 6443 ] = 0 ; r [ 6442 ] = z ; z = se + 24 | 0 ; do { n = z ; z = z + 4 | 0 ; r [ z >> 2 ] = 7 } while ( ( n + 8 | 0 ) >>> 0 < Me >>> 0 ) ; if ( ( se | 0 ) != ( le | 0 ) ) { z = se - le | 0 ; r [ oe >> 2 ] = r [ oe >> 2 ] & - 2 ; r [ le + 4 >> 2 ] = z | 1 ; r [ se >> 2 ] = z ; n = z >>> 3 ; if ( z >>> 0 < 256 ) { ee = 25352 + ( n << 1 << 2 ) | 0 ; q = r [ 6328 ] | 0 ; _ = 1 << n ; if ( q & _ ) { n = ee + 8 | 0 ; Z = r [ n >> 2 ] | 0 ; if ( Z >>> 0 < ( r [ 6332 ] | 0 ) >>> 0 ) ae ( ) ; else { Se = n ; Ae = Z } } else { r [ 6328 ] = q | _ ; Se = ee + 8 | 0 ; Ae = ee } r [ Se >> 2 ] = le ; r [ Ae + 12 >> 2 ] = le ; r [ le + 8 >> 2 ] = Ae ; r [ le + 12 >> 2 ] = ee ; break }
return t . open ( "GET" , e , ! 1 ) , t . responseType = "arraybuffer" , t . send ( null ) , t . response } ) , Module . readAsync = function ( e , t , n ) { var i = new XMLHttpRequest ; i . open ( "GET" , e , ! 0 ) , i . responseType = "arraybuffer" , i . onload = function ( ) { 200 == i . status || 0 == i . status && i . response ? t ( i . response ) : n ( ) } , i . onerror = n , i . send ( null ) } , "undefined" != typeof arguments && ( Module . arguments = arguments ) , "undefined" != typeof console ) Module . print || ( Module . print = function ( e ) { console . log ( e ) } ) , Module . printErr || ( Module . printErr = function ( e ) { console . warn ( e ) } ) ; else { var TRY _USE _DUMP = ! 1 ; Module . print || ( Module . print = TRY _USE _DUMP && "undefined" != typeof dump ? function ( e ) { dump ( e ) } : function ( e ) { } ) } ENVIRONMENT _IS _WORKER && ( Module . load = importScripts ) , "undefined" == typeof Module . setWindowTitle && ( Module . setWindowTitle = function ( e ) { document . title = e } ) } ! Module . load && Module . read && ( Module . load = function ( e ) { globalEval ( Module . read ( e ) ) } ) , Module . print || ( Module . print = function ( ) { } ) , Module . printErr || ( Module . printErr = Module . print ) , Module . arguments || ( Module . arguments = [ ] ) , Module . thisProgram || ( Module . thisProgram = "./this.program" ) , Module . quit || ( Module . quit = function ( e , t ) { throw t } ) , Module . print = Module . print , Module . printErr = Module . printErr , Module . preRun = [ ] , Module . postRun = [ ] ; for ( var key in moduleOverrides ) moduleOverrides . hasOwnProperty ( key ) && ( Module [ key ] = moduleOverrides [ key ] ) ; moduleOverrides = void 0 ; var Runtime = { setTempRet0 : function ( e ) { return tempRet0 = e , e } , getTempRet0 : function ( ) { return tempRet0 } , stackSave : function ( ) { return STACKTOP } , stackRestore : function ( e ) { STACKTOP = e } , getNativeTypeSize : function ( e ) { switch ( e ) { case "i1" : case "i8" : return 1 ; case "i16" : return 2 ; case "i32" : return 4 ; case "i64" : return 8 ; case "float" : return 4 ; case "double" : return 8 ; default : if ( "*" === e [ e . length - 1 ] ) return Runtime . QUANTUM _SIZE ; if ( "i" === e [ 0 ] ) { var t = parseInt ( e . substr ( 1 ) ) ; return assert ( t % 8 === 0 ) , t / 8 } return 0 } } , getNativeFieldSize : function ( e ) { return Math . max ( Runtime . getNativeTypeSize ( e ) , Runtime . QUANTUM _SIZE ) } , STACK _ALIGN : 16 , prepVararg : function ( e , t ) { return "double" === t || "i64" === t ? 7 & e && ( assert ( 4 === ( 7 & e ) ) , e += 4 ) : assert ( 0 === ( 3 & e ) ) , e } , getAlignSize : function ( e , t , n ) { return n || "i64" != e && "double" != e ? e ? Math . min ( t || ( e ? Runtime . getNativeFieldSize ( e ) : 0 ) , Runtime . QUANTUM _SIZE ) : Math . min ( t , 8 ) : 8 } , dynCall : function ( e , t , n ) { return n && n . length ? Module [ "dynCall_" + e ] . apply ( null , [ t ] . concat ( n ) ) : Module [ "dynCall_" + e ] . call ( null , t ) } , functionPointers : [ ] , addFunction : function ( e ) { for ( var t = 0 ; t < Runtime . functionPointers . length ; t ++ ) if ( ! Runtime . functionPointers [ t ] ) return Runtime . functionPointers [ t ] = e , 2 * ( 1 + t ) ; throw "Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS." } , removeFunction : function ( e ) { Runtime . functionPointers [ ( e - 2 ) / 2 ] = null } , warnOnce : function ( e ) { Runtime . warnOnce . shown || ( Runtime . warnOnce . shown = { } ) , Runtime . warnOnce . shown [ e ] || ( Runtime . warnOnce . shown [ e ] = 1 , Module . printErr ( e ) ) } , funcWrappers : { } , getFuncWrapper : function ( e , t ) { assert ( t ) , Runtime . funcWrappers [ t ] || ( Runtime . funcWrappers [ t ] = { } ) ; var n = Runtime . funcWrappers [ t ] ; return n [ e ] || ( 1 === t . length ? n [ e ] = function ( ) { return Runtime . dynCall ( t , e ) } : 2 === t . length ? n [ e ] = function ( n ) { return Runtime . dynCall ( t , e , [ n ] ) } : n [ e ] = function ( ) { return Runtime . dynCall ( t , e , Array . prototype . slice . call ( arguments ) ) } ) , n [ e ] } , getCompilerSetting : function ( e ) { throw "You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work" } , stackAlloc : function ( e ) { var t = STACKTOP ; return STACKTOP = STACKTOP + e | 0 , STACKTOP = STACKTOP + 15 & - 16 , t } , staticAlloc : function ( e ) { var t = STATICTOP ; return STATICTOP = STATICTOP + e | 0 , STATICTOP = STATICTOP + 15 & - 16 , t } , dynamicAlloc : function ( e ) { var t = HEAP32 [ DYNAMICTOP _PTR >> 2 ] , n = ( t + e + 15 | 0 ) & - 16 ; if ( HEAP32 [ DYNAMICTOP _PTR >> 2 ] = n , n >= TOTAL _MEMORY ) { var i = enlargeMemory ( ) ; if ( ! i ) return HEAP32 [ DYNAMICTOP _PTR >> 2 ] = t , 0 } return t } , alignMemory : function ( e , t ) { var n = e = Math . ceil ( e / ( t ? t : 16 ) ) * ( t ? t : 16 ) ; return n } , makeBigInt : function ( e , t , n ) { var i = n ? + ( e >>> 0 ) + 4294967296 * + ( t >>> 0 ) : + ( e >>> 0 ) + 4294967296 * + ( 0 | t ) ; return i } , GLOBAL _BASE : 8 , QUANTUM _SIZE : 4 , _ _dummy _ _ : 0 } ; Module . Runtime = Runtime ; var ABORT = 0 , EXITSTATUS = 0 , cwrap , ccall ; ! function ( ) { function parseJSFunc ( e ) { var t = e . toString ( ) . match ( sourceRegex ) . slice ( 1 ) ; return { arguments : t [ 0 ] , body : t [ 1 ] , re
allocate ( [ 12 , 72 , 201 , 60 , 205 , 188 , 203 , 60 , 77 , 53 , 206 , 60 , 140 , 177 , 208 , 60 , 137 , 49 , 211 , 60 , 69 , 181 , 213 , 60 , 189 , 60 , 216 , 60 , 243 , 199 , 218 , 60 , 230 , 86 , 221 , 60 , 149 , 233 , 223 , 60 , 0 , 128 , 226 , 60 , 39 , 26 , 229 , 60 , 8 , 184 , 231 , 60 , 164 , 89 , 234 , 60 , 250 , 254 , 236 , 60 , 9 , 168 , 239 , 60 , 210 , 84 , 242 , 60 , 83 , 5 , 245 , 60 , 141 , 185 , 247 , 60 , 126 , 113 , 250 , 60 , 39 , 45 , 253 , 60 , 134 , 236 , 255 , 60 , 206 , 87 , 1 , 61 , 52 , 187 , 2 , 61 , 117 , 32 , 4 , 61 , 144 , 135 , 5 , 61 , 133 , 240 , 6 , 61 , 84 , 91 , 8 , 61 , 253 , 199 , 9 , 61 , 128 , 54 , 11 , 61 , 219 , 166 , 12 , 61 , 16 , 25 , 14 , 61 , 29 , 141 , 15 , 61 , 3 , 3 , 17 , 61 , 193 , 122 , 18 , 61 , 87 , 244 , 19 , 61 , 197 , 111 , 21 , 61 , 10 , 237 , 22 , 61 , 39 , 108 , 24 , 61 , 26 , 237 , 25 , 61 , 228 , 111 , 27 , 61 , 132 , 244 , 28 , 61 , 251 , 122 , 30 , 61 , 71 , 3 , 32 , 61 , 105 , 141 , 33 , 61 , 96 , 25 , 35 , 61 , 45 , 167 , 36 , 61 , 206 , 54 , 38 , 61 , 67 , 200 , 39 , 61 , 141 , 91 , 41 , 61 , 171 , 240 , 42 , 61 , 156 , 135 , 44 , 61 , 96 , 32 , 46 , 61 , 248 , 186 , 47 , 61 , 99 , 87 , 49 , 61 , 160 , 245 , 50 , 61 , 175 , 149 , 52 , 61 , 144 , 55 , 54 , 61 , 67 , 219 , 55 , 61 , 199 , 128 , 57 , 61 , 28 , 40 , 59 , 61 , 65 , 209 , 60 , 61 , 56 , 124 , 62 , 61 , 254 , 40 , 64 , 61 , 148 , 215 , 65 , 61 , 250 , 135 , 67 , 61 , 47 , 58 , 69 , 61 , 51 , 238 , 70 , 61 , 5 , 164 , 72 , 61 , 166 , 91 , 74 , 61 , 20 , 21 , 76 , 61 , 80 , 208 , 77 , 61 , 90 , 141 , 79 , 61 , 49 , 76 , 81 , 61 , 212 , 12 , 83 , 61 , 68 , 207 , 84 , 61 , 128 , 147 , 86 , 61 , 135 , 89 , 88 , 61 , 90 , 33 , 90 , 61 , 248 , 234 , 91 , 61 , 97 , 182 , 93 , 61 , 148 , 131 , 95 , 61 , 145 , 82 , 97 , 61 , 88 , 35 , 99 , 61 , 232 , 245 , 100 , 61 , 65 , 202 , 102 , 61 , 100 , 160 , 104 , 61 , 78 , 120 , 106 , 61 , 1 , 82 , 108 , 61 , 123 , 45 , 110 , 61 , 188 , 10 , 112 , 61 , 197 , 233 , 113 , 61 , 148 , 202 , 115 , 61 , 41 , 173 , 117 , 61 , 133 , 145 , 119 , 61 , 166 , 119 , 121 , 61 , 140 , 95 , 123 , 61 , 55 , 73 , 125 , 61 , 166 , 52 , 127 , 61 , 237 , 144 , 128 , 61 , 105 , 136 , 129 , 61 , 198 , 128 , 130 , 61 , 5 , 122 , 131 , 61 , 37 , 116 , 132 , 61 , 39 , 111 , 133 , 61 , 9 , 107 , 134 , 61 , 204 , 103 , 135 , 61 , 112 , 101 , 136 , 61 , 244 , 99 , 137 , 61 , 88 , 99 , 138 , 61 , 157 , 99 , 139 , 61 , 193 , 100 , 140 , 61 , 196 , 102 , 141 , 61 , 167 , 105 , 142 , 61 , 106 , 109 , 143 , 61 , 11 , 114 , 144 , 61 , 139 , 119 , 145 , 61 , 234 , 125 , 146 , 61 , 40 , 133 , 147 , 61 , 67 , 141 , 148 , 61 , 61 , 150 , 149 , 61 , 20 , 160 , 150 , 61 , 201 , 170 , 151 , 61 , 92 , 182 , 152 , 61 , 203 , 194 , 153 , 61 , 24 , 208 , 154 , 61 , 66 , 222 , 155 , 61 , 72 , 237 , 156 , 61 , 42 , 253 , 157 , 61 , 233 , 13 , 159 , 61 , 132 , 31 , 160 , 61 , 250 , 49 , 161 , 61 , 76 , 69 , 162 , 61 , 122 , 89 , 163 , 61 , 130 , 110 , 164 , 61 , 101 , 132 , 165 , 61 , 35 , 155 , 166 , 61 , 188 , 178 , 167 , 61 , 47 , 203 , 168 , 61 , 124 , 228 , 169 , 61 , 162 , 254 , 170 , 61 , 163 , 25 , 172 , 61 , 124 , 53 , 173 , 61 , 47 , 82 , 174 , 61 , 187 , 111 , 175 , 61 , 31 , 142 , 176 , 61 , 92 , 173 , 177 , 61 , 113 , 205 , 178 , 61 , 94 , 238 , 179 , 61 , 35 , 16 , 181 , 61 , 192 , 50 , 182 , 61 , 52 , 86 , 183 , 61 , 127 , 122 , 184 , 61 , 160 , 159 , 185 , 61 , 153 , 197 , 186 , 61 , 104 , 236 , 187 , 61 , 13 , 20 , 189 , 61 , 136 , 60 , 190 , 61 , 217 , 101 , 191 , 61 , 255 , 143 , 192 , 61 , 250 , 186 , 193 , 61 , 202 , 230 , 194 , 61 , 111 , 19 , 196 , 61 , 233 , 64 , 197 , 61 , 55 , 111 , 198 , 61 , 89 , 158 , 199 , 61 , 78 , 206 , 200 , 61 , 23 , 255 , 201 , 61 , 179 , 48 , 203 , 61 , 35 , 99 , 204 , 61 , 101 , 150 , 205 , 61 , 121 , 202 , 206 , 61 , 96 , 255 , 207 , 61 , 25 , 53 , 209 , 61 , 164 , 107 , 210 , 61 , 0 , 163 , 211 , 61 , 45 , 219 , 212 , 61 , 44 , 20 , 214 , 61 , 251 , 77 , 215 , 61 , 154 , 136 , 216 , 61 , 10 , 196 , 217 , 61 , 74 , 0 , 219 , 61 , 89 , 61 , 220 , 61 , 56 , 123 , 221 , 61 , 230 , 185 , 222 , 61 , 99 , 249 , 223 , 61 , 174 , 57 , 225 , 61 , 200 , 122 , 226 , 61 , 176 , 188 , 227 , 61 , 102 , 255 , 228 , 61 , 233 , 66 , 230 , 61 , 58 , 135 , 231 , 61 , 88 , 204 , 232 , 61 , 66 , 18 , 234 , 61 , 249 , 88 , 235 , 61 , 124 , 160 , 236 , 61 , 203 , 232 , 237 , 61 , 230 , 49 , 239 , 61 , 204 , 123 , 240 , 61 , 125 , 198 , 241 , 61 , 249 , 17 , 243 , 61 , 63 , 94 , 244 , 61 , 79 , 171 , 245 , 61 , 42 , 249 , 246 , 61 , 206 , 71 , 248 , 61 , 60 , 151 , 249 , 61 , 114 , 231 , 250 , 61 , 114 , 56 , 252 , 61 , 58 , 138 , 253 , 61 , 202 , 220 , 254 , 61 , 17 , 24 , 0 , 62 , 33 , 194 , 0 , 62 , 149 , 108 , 1 , 62 , 108 , 23 , 2 , 62 , 166 , 194 , 2 , 62 , 68 , 110 , 3 , 62 , 69 , 26 , 4 , 62 , 168 , 198 , 4 , 62 , 111 , 115 , 5 , 62 , 152 , 32 , 6 , 62 , 35 , 206 , 6 , 62 , 17 , 124 , 7 , 62 , 98 , 42 , 8 , 62 , 20 , 217 , 8 , 62 , 40 , 136 , 9 , 62 , 157 , 55 , 10 , 62 , 117 , 231 , 10 , 62 , 173 , 151 , 11 , 62 , 71 , 72 , 12 , 62 , 66 , 249 , 12 , 62 , 158 , 170 , 13 , 62 , 91 , 92 , 14 , 62 , 120 , 14 , 15 , 62 , 246 , 192 , 15 , 62 , 213 , 115 , 16 , 62 , 19 , 39 , 17 , 62 , 177 , 218 , 17 , 62 , 175 , 142 , 18 , 62 , 13 , 67 , 19 , 62 , 202 , 247 , 19 , 62 , 231 , 172 , 20 , 62 , 99 , 98 , 21 , 62 , 62 , 24 , 22 , 62 , 120 , 206 , 22 , 62 , 16 , 133 , 23 , 62 , 7 , 60 , 24 , 62 , 92 , 243 , 24 , 62 , 16 , 171 , 25 , 62 , 33 , 99 , 26 , 62 , 145 , 27 , 27 , 62 , 94 , 212 , 27 , 62 , 137 , 141 , 28 , 62 , 17 , 71 , 29 , 62 , 246 , 0 , 30 , 62 , 56 , 187 , 30 , 62 , 215 , 117 , 31 , 62 , 211 , 48 , 32 , 62 , 43 , 236 , 32 , 62 , 224 , 167 , 33 , 62 , 241 , 99 , 34 , 62 , 93 , 32 , 35 , 62 , 38 , 221 , 35 , 62 , 74 , 154 , 36 , 62 , 202 , 87 , 37 , 62 , 165 , 21 , 38 , 62 , 219 , 211 , 38 , 62 , 108 , 146 , 39 , 62 , 88 , 81 , 40 , 62 , 159 , 16 , 41 , 62 , 64 , 208 , 41 , 62 , 59 , 144 , 42 , 62 , 144 , 80 , 43 , 62 , 63 , 17 , 44 , 62 , 72 , 210 , 44 , 62 , 170 , 147 , 45 , 62 , 102 , 85 , 46 , 62 , 122 , 23 , 47 , 62 , 232 , 217 , 47 , 62 , 175 , 156 , 48 , 62 , 206 , 95 , 49 , 62 , 69 , 35 , 50 , 62 , 21 , 231 , 50 , 62 , 61 , 171 , 51 , 62 , 189 , 111 , 52 , 62 , 148 , 52 , 53 , 62 , 195 , 249 , 53 , 62 , 73 , 191 , 54 , 62 , 38 , 133 , 55 , 62 , 91 , 75 , 56 , 62 , 230 , 17 , 57 , 62 , 199 , 216 , 57 , 62 , 255 , 159 , 58 , 62 , 141 , 103 , 59 , 62 , 113 , 47 , 60 , 62 , 171 , 247 , 60 , 62 , 59 , 192 , 61 , 62 , 31 , 137 , 62 , 62 , 89 , 82 , 63 , 62 , 232 , 27 , 64 , 62 , 204 , 229 , 64 , 62 , 5 , 176 , 65 , 62 , 146 , 122
allocate ( [ 103 , 185 , 210 , 61 , 21 , 85 , 211 , 61 , 248 , 240 , 211 , 61 , 14 , 141 , 212 , 61 , 89 , 41 , 213 , 61 , 216 , 197 , 213 , 61 , 140 , 98 , 214 , 61 , 115 , 255 , 214 , 61 , 143 , 156 , 215 , 61 , 223 , 57 , 216 , 61 , 99 , 215 , 216 , 61 , 27 , 117 , 217 , 61 , 7 , 19 , 218 , 61 , 38 , 177 , 218 , 61 , 122 , 79 , 219 , 61 , 2 , 238 , 219 , 61 , 189 , 140 , 220 , 61 , 173 , 43 , 221 , 61 , 208 , 202 , 221 , 61 , 39 , 106 , 222 , 61 , 178 , 9 , 223 , 61 , 112 , 169 , 223 , 61 , 98 , 73 , 224 , 61 , 136 , 233 , 224 , 61 , 226 , 137 , 225 , 61 , 111 , 42 , 226 , 61 , 47 , 203 , 226 , 61 , 35 , 108 , 227 , 61 , 74 , 13 , 228 , 61 , 165 , 174 , 228 , 61 , 52 , 80 , 229 , 61 , 245 , 241 , 229 , 61 , 234 , 147 , 230 , 61 , 19 , 54 , 231 , 61 , 110 , 216 , 231 , 61 , 253 , 122 , 232 , 61 , 191 , 29 , 233 , 61 , 180 , 192 , 233 , 61 , 221 , 99 , 234 , 61 , 56 , 7 , 235 , 61 , 199 , 170 , 235 , 61 , 136 , 78 , 236 , 61 , 125 , 242 , 236 , 61 , 164 , 150 , 237 , 61 , 255 , 58 , 238 , 61 , 140 , 223 , 238 , 61 , 76 , 132 , 239 , 61 , 63 , 41 , 240 , 61 , 101 , 206 , 240 , 61 , 189 , 115 , 241 , 61 , 73 , 25 , 242 , 61 , 7 , 191 , 242 , 61 , 247 , 100 , 243 , 61 , 26 , 11 , 244 , 61 , 112 , 177 , 244 , 61 , 248 , 87 , 245 , 61 , 179 , 254 , 245 , 61 , 160 , 165 , 246 , 61 , 192 , 76 , 247 , 61 , 18 , 244 , 247 , 61 , 151 , 155 , 248 , 61 , 77 , 67 , 249 , 61 , 55 , 235 , 249 , 61 , 82 , 147 , 250 , 61 , 159 , 59 , 251 , 61 , 31 , 228 , 251 , 61 , 209 , 140 , 252 , 61 , 181 , 53 , 253 , 61 , 203 , 222 , 253 , 61 , 19 , 136 , 254 , 61 , 141 , 49 , 255 , 61 , 57 , 219 , 255 , 61 , 140 , 66 , 0 , 62 , 148 , 151 , 0 , 62 , 181 , 236 , 0 , 62 , 238 , 65 , 1 , 62 , 65 , 151 , 1 , 62 , 173 , 236 , 1 , 62 , 49 , 66 , 2 , 62 , 206 , 151 , 2 , 62 , 132 , 237 , 2 , 62 , 83 , 67 , 3 , 62 , 59 , 153 , 3 , 62 , 59 , 239 , 3 , 62 , 84 , 69 , 4 , 62 , 134 , 155 , 4 , 62 , 209 , 241 , 4 , 62 , 52 , 72 , 5 , 62 , 176 , 158 , 5 , 62 , 68 , 245 , 5 , 62 , 242 , 75 , 6 , 62 , 183 , 162 , 6 , 62 , 150 , 249 , 6 , 62 , 141 , 80 , 7 , 62 , 156 , 167 , 7 , 62 , 196 , 254 , 7 , 62 , 5 , 86 , 8 , 62 , 94 , 173 , 8 , 62 , 207 , 4 , 9 , 62 , 89 , 92 , 9 , 62 , 252 , 179 , 9 , 62 , 183 , 11 , 10 , 62 , 138 , 99 , 10 , 62 , 118 , 187 , 10 , 62 , 122 , 19 , 11 , 62 , 150 , 107 , 11 , 62 , 203 , 195 , 11 , 62 , 24 , 28 , 12 , 62 , 125 , 116 , 12 , 62 , 250 , 204 , 12 , 62 , 144 , 37 , 13 , 62 , 62 , 126 , 13 , 62 , 4 , 215 , 13 , 62 , 227 , 47 , 14 , 62 , 217 , 136 , 14 , 62 , 232 , 225 , 14 , 62 , 15 , 59 , 15 , 62 , 78 , 148 , 15 , 62 , 165 , 237 , 15 , 62 , 20 , 71 , 16 , 62 , 155 , 160 , 16 , 62 , 58 , 250 , 16 , 62 , 241 , 83 , 17 , 62 , 193 , 173 , 17 , 62 , 168 , 7 , 18 , 62 , 167 , 97 , 18 , 62 , 190 , 187 , 18 , 62 , 237 , 21 , 19 , 62 , 51 , 112 , 19 , 62 , 146 , 202 , 19 , 62 , 9 , 37 , 20 , 62 , 151 , 127 , 20 , 62 , 61 , 218 , 20 , 62 , 251 , 52 , 21 , 62 , 209 , 143 , 21 , 62 , 190 , 234 , 21 , 62 , 195 , 69 , 22 , 62 , 224 , 160 , 22 , 62 , 21 , 252 , 22 , 62 , 97 , 87 , 23 , 62 , 197 , 178 , 23 , 62 , 64 , 14 , 24 , 62 , 211 , 105 , 24 , 62 , 126 , 197 , 24 , 62 , 64 , 33 , 25 , 62 , 26 , 125 , 25 , 62 , 11 , 217 , 25 , 62 , 20 , 53 , 26 , 62 , 52 , 145 , 26 , 62 , 108 , 237 , 26 , 62 , 187 , 73 , 27 , 62 , 34 , 166 , 27 , 62 , 160 , 2 , 28 , 62 , 53 , 95 , 28 , 62 , 226 , 187 , 28 , 62 , 166 , 24 , 29 , 62 , 129 , 117 , 29 , 62 , 116 , 210 , 29 , 62 , 126 , 47 , 30 , 62 , 159 , 140 , 30 , 62 , 215 , 233 , 30 , 62 , 39 , 71 , 31 , 62 , 141 , 164 , 31 , 62 , 11 , 2 , 32 , 62 , 160 , 95 , 32 , 62 , 76 , 189 , 32 , 62 , 16 , 27 , 33 , 62 , 234 , 120 , 33 , 62 , 219 , 214 , 33 , 62 , 228 , 52 , 34 , 62 , 3 , 147 , 34 , 62 , 58 , 241 , 34 , 62 , 135 , 79 , 35 , 62 , 235 , 173 , 35 , 62 , 103 , 12 , 36 , 62 , 249 , 106 , 36 , 62 , 162 , 201 , 36 , 62 , 98 , 40 , 37 , 62 , 56 , 135 , 37 , 62 , 38 , 230 , 37 , 62 , 42 , 69 , 38 , 62 , 69 , 164 , 38 , 62 , 119 , 3 , 39 , 62 , 192 , 98 , 39 , 62 , 31 , 194 , 39 , 62 , 149 , 33 , 40 , 62 , 33 , 129 , 40 , 62 , 197 , 224 , 40 , 62 , 126 , 64 , 41 , 62 , 79 , 160 , 41 , 62 , 54 , 0 , 42 , 62 , 51 , 96 , 42 , 62 , 72 , 192 , 42 , 62 , 114 , 32 , 43 , 62 , 179 , 128 , 43 , 62 , 11 , 225 , 43 , 62 , 121 , 65 , 44 , 62 , 253 , 161 , 44 , 62 , 152 , 2 , 45 , 62 , 73 , 99 , 45 , 62 , 16 , 196 , 45 , 62 , 238 , 36 , 46 , 62 , 226 , 133 , 46 , 62 , 237 , 230 , 46 , 62 , 13 , 72 , 47 , 62 , 68 , 169 , 47 , 62 , 145 , 10 , 48 , 62 , 245 , 107 , 48 , 62 , 110 , 205 , 48 , 62 , 254 , 46 , 49 , 62 , 163 , 144 , 49 , 62 , 95 , 242 , 49 , 62 , 49 , 84 , 50 , 62 , 25 , 182 , 50 , 62 , 23 , 24 , 51 , 62 , 43 , 122 , 51 , 62 , 85 , 220 , 51 , 62 , 148 , 62 , 52 , 62 , 234 , 160 , 52 , 62 , 86 , 3 , 53 , 62 , 216 , 101 , 53 , 62 , 111 , 200 , 53 , 62 , 28 , 43 , 54 , 62 , 223 , 141 , 54 , 62 , 184 , 240 , 54 , 62 , 167 , 83 , 55 , 62 , 171 , 182 , 55 , 62 , 197 , 25 , 56 , 62 , 245 , 124 , 56 , 62 , 59 , 224 , 56 , 62 , 150 , 67 , 57 , 62 , 7 , 167 , 57 , 62 , 141 , 10 , 58 , 62 , 41 , 110 , 58 , 62 , 219 , 209 , 58 , 62 , 162 , 53 , 59 , 62 , 126 , 153 , 59 , 62 , 112 , 253 , 59 , 62 , 120 , 97 , 60 , 62 , 149 , 197 , 60 , 62 , 199 , 41 , 61 , 62 , 15 , 142 , 61 , 62 , 108 , 242 , 61 , 62 , 222 , 86 , 62 , 62 , 102 , 187 , 62 , 62 , 3 , 32 , 63 , 62 , 181 , 132 , 63 , 62 , 125 , 233 , 63 , 62 , 90 , 78 , 64 , 62 , 75 , 179 , 64 , 62 , 83 , 24 , 65 , 62 , 111 , 125 , 65 , 62 , 160 , 226 , 65 , 62 , 231 , 71 , 66 , 62 , 66 , 173 , 66 , 62 , 179 , 18 , 67 , 62 , 57 , 120 , 67 , 62 , 211 , 221 , 67 , 62 , 131 , 67 , 68 , 62 , 71 , 169 , 68 , 62 , 33 , 15 , 69 , 62 , 15 , 117 , 69 , 62 , 18 , 219 , 69 , 62 , 42 , 65 , 70 , 62 , 87 , 167 , 70 , 62 , 153 , 13 , 71 , 62 , 240 , 115 , 71 , 62 , 91 , 218 , 71 , 62 , 219 , 64 , 72 , 62 , 111 , 167 , 72 , 62 , 25 , 14 , 73 , 62 , 215 , 116 , 73 , 62 , 169 , 219 , 73 , 62 , 144 , 66 , 74 , 62 , 140 , 169 , 74 , 62 , 157 , 16 , 75 , 62 , 193 , 119 , 75 , 62 , 251 , 222 , 75 , 62 , 73 , 70 , 76 , 62 , 171 , 173 , 76 , 62 , 34 , 21 , 77 , 62 , 173 , 124 , 77 , 62 , 76 , 228 , 77 , 62 , 0 , 76 , 78 , 62 , 200 , 179 , 78 , 62 , 164 , 27 , 79 , 62 , 149 , 131 , 79 , 62 , 154 , 235 , 79 , 62 , 179 , 83 , 80 , 62 , 225 , 187 , 80 , 62 , 34 , 36 , 81 , 62 , 120 , 140 , 81 , 62 , 225 , 244 , 81 , 62 , 95 , 93 , 82 , 62 , 241 , 197 , 82 , 62 , 151 , 46 , 83 , 62 , 81 , 151 , 83 , 62 , 31 , 0 , 84 , 62 , 1 , 105 , 84 , 62 , 247 , 209 , 84 , 62 , 0 , 59 , 85 , 62 , 30 , 164 , 85 , 62 , 79 , 13 , 86 , 62 , 149 , 118 , 86 , 62 , 238 , 223 , 86 , 62 , 91 , 73 , 87 , 62 , 219 , 178 , 87 , 62 , 112 , 28 , 88 ,
allocate ( [ 150 , 134 , 124 , 63 , 142 , 138 , 124 , 63 , 130 , 142 , 124 , 63 , 116 , 146 , 124 , 63 , 98 , 150 , 124 , 63 , 77 , 154 , 124 , 63 , 52 , 158 , 124 , 63 , 24 , 162 , 124 , 63 , 249 , 165 , 124 , 63 , 215 , 169 , 124 , 63 , 178 , 173 , 124 , 63 , 137 , 177 , 124 , 63 , 94 , 181 , 124 , 63 , 47 , 185 , 124 , 63 , 253 , 188 , 124 , 63 , 199 , 192 , 124 , 63 , 143 , 196 , 124 , 63 , 83 , 200 , 124 , 63 , 20 , 204 , 124 , 63 , 211 , 207 , 124 , 63 , 141 , 211 , 124 , 63 , 69 , 215 , 124 , 63 , 250 , 218 , 124 , 63 , 171 , 222 , 124 , 63 , 90 , 226 , 124 , 63 , 5 , 230 , 124 , 63 , 173 , 233 , 124 , 63 , 82 , 237 , 124 , 63 , 244 , 240 , 124 , 63 , 147 , 244 , 124 , 63 , 46 , 248 , 124 , 63 , 199 , 251 , 124 , 63 , 93 , 255 , 124 , 63 , 239 , 2 , 125 , 63 , 127 , 6 , 125 , 63 , 11 , 10 , 125 , 63 , 148 , 13 , 125 , 63 , 27 , 17 , 125 , 63 , 158 , 20 , 125 , 63 , 30 , 24 , 125 , 63 , 155 , 27 , 125 , 63 , 21 , 31 , 125 , 63 , 140 , 34 , 125 , 63 , 0 , 38 , 125 , 63 , 114 , 41 , 125 , 63 , 224 , 44 , 125 , 63 , 75 , 48 , 125 , 63 , 179 , 51 , 125 , 63 , 24 , 55 , 125 , 63 , 122 , 58 , 125 , 63 , 217 , 61 , 125 , 63 , 54 , 65 , 125 , 63 , 143 , 68 , 125 , 63 , 229 , 71 , 125 , 63 , 56 , 75 , 125 , 63 , 137 , 78 , 125 , 63 , 214 , 81 , 125 , 63 , 33 , 85 , 125 , 63 , 104 , 88 , 125 , 63 , 173 , 91 , 125 , 63 , 239 , 94 , 125 , 63 , 46 , 98 , 125 , 63 , 106 , 101 , 125 , 63 , 163 , 104 , 125 , 63 , 217 , 107 , 125 , 63 , 12 , 111 , 125 , 63 , 61 , 114 , 125 , 63 , 106 , 117 , 125 , 63 , 149 , 120 , 125 , 63 , 189 , 123 , 125 , 63 , 226 , 126 , 125 , 63 , 4 , 130 , 125 , 63 , 36 , 133 , 125 , 63 , 64 , 136 , 125 , 63 , 90 , 139 , 125 , 63 , 112 , 142 , 125 , 63 , 133 , 145 , 125 , 63 , 150 , 148 , 125 , 63 , 164 , 151 , 125 , 63 , 176 , 154 , 125 , 63 , 185 , 157 , 125 , 63 , 191 , 160 , 125 , 63 , 194 , 163 , 125 , 63 , 194 , 166 , 125 , 63 , 192 , 169 , 125 , 63 , 187 , 172 , 125 , 63 , 179 , 175 , 125 , 63 , 168 , 178 , 125 , 63 , 155 , 181 , 125 , 63 , 139 , 184 , 125 , 63 , 120 , 187 , 125 , 63 , 99 , 190 , 125 , 63 , 74 , 193 , 125 , 63 , 48 , 196 , 125 , 63 , 18 , 199 , 125 , 63 , 241 , 201 , 125 , 63 , 206 , 204 , 125 , 63 , 169 , 207 , 125 , 63 , 128 , 210 , 125 , 63 , 85 , 213 , 125 , 63 , 39 , 216 , 125 , 63 , 247 , 218 , 125 , 63 , 196 , 221 , 125 , 63 , 142 , 224 , 125 , 63 , 85 , 227 , 125 , 63 , 26 , 230 , 125 , 63 , 220 , 232 , 125 , 63 , 156 , 235 , 125 , 63 , 89 , 238 , 125 , 63 , 19 , 241 , 125 , 63 , 203 , 243 , 125 , 63 , 128 , 246 , 125 , 63 , 51 , 249 , 125 , 63 , 227 , 251 , 125 , 63 , 144 , 254 , 125 , 63 , 59 , 1 , 126 , 63 , 227 , 3 , 126 , 63 , 137 , 6 , 126 , 63 , 44 , 9 , 126 , 63 , 204 , 11 , 126 , 63 , 106 , 14 , 126 , 63 , 6 , 17 , 126 , 63 , 158 , 19 , 126 , 63 , 53 , 22 , 126 , 63 , 200 , 24 , 126 , 63 , 90 , 27 , 126 , 63 , 232 , 29 , 126 , 63 , 116 , 32 , 126 , 63 , 254 , 34 , 126 , 63 , 133 , 37 , 126 , 63 , 10 , 40 , 126 , 63 , 140 , 42 , 126 , 63 , 12 , 45 , 126 , 63 , 137 , 47 , 126 , 63 , 4 , 50 , 126 , 63 , 124 , 52 , 126 , 63 , 242 , 54 , 126 , 63 , 101 , 57 , 126 , 63 , 214 , 59 , 126 , 63 , 68 , 62 , 126 , 63 , 176 , 64 , 126 , 63 , 26 , 67 , 126 , 63 , 129 , 69 , 126 , 63 , 230 , 71 , 126 , 63 , 72 , 74 , 126 , 63 , 168 , 76 , 126 , 63 , 5 , 79 , 126 , 63 , 96 , 81 , 126 , 63 , 185 , 83 , 126 , 63 , 15 , 86 , 126 , 63 , 99 , 88 , 126 , 63 , 181 , 90 , 126 , 63 , 4 , 93 , 126 , 63 , 81 , 95 , 126 , 63 , 155 , 97 , 126 , 63 , 227 , 99 , 126 , 63 , 41 , 102 , 126 , 63 , 108 , 104 , 126 , 63 , 173 , 106 , 126 , 63 , 236 , 108 , 126 , 63 , 40 , 111 , 126 , 63 , 98 , 113 , 126 , 63 , 154 , 115 , 126 , 63 , 208 , 117 , 126 , 63 , 3 , 120 , 126 , 63 , 51 , 122 , 126 , 63 , 98 , 124 , 126 , 63 , 142 , 126 , 126 , 63 , 184 , 128 , 126 , 63 , 224 , 130 , 126 , 63 , 5 , 133 , 126 , 63 , 40 , 135 , 126 , 63 , 73 , 137 , 126 , 63 , 104 , 139 , 126 , 63 , 132 , 141 , 126 , 63 , 159 , 143 , 126 , 63 , 183 , 145 , 126 , 63 , 204 , 147 , 126 , 63 , 224 , 149 , 126 , 63 , 241 , 151 , 126 , 63 , 0 , 154 , 126 , 63 , 13 , 156 , 126 , 63 , 24 , 158 , 126 , 63 , 32 , 160 , 126 , 63 , 38 , 162 , 126 , 63 , 42 , 164 , 126 , 63 , 44 , 166 , 126 , 63 , 44 , 168 , 126 , 63 , 41 , 170 , 126 , 63 , 37 , 172 , 126 , 63 , 30 , 174 , 126 , 63 , 21 , 176 , 126 , 63 , 10 , 178 , 126 , 63 , 253 , 179 , 126 , 63 , 238 , 181 , 126 , 63 , 220 , 183 , 126 , 63 , 201 , 185 , 126 , 63 , 179 , 187 , 126 , 63 , 155 , 189 , 126 , 63 , 129 , 191 , 126 , 63 , 101 , 193 , 126 , 63 , 71 , 195 , 126 , 63 , 39 , 197 , 126 , 63 , 5 , 199 , 126 , 63 , 224 , 200 , 126 , 63 , 186 , 202 , 126 , 63 , 145 , 204 , 126 , 63 , 103 , 206 , 126 , 63 , 58 , 208 , 126 , 63 , 12 , 210 , 126 , 63 , 219 , 211 , 126 , 63 , 168 , 213 , 126 , 63 , 115 , 215 , 126 , 63 , 61 , 217 , 126 , 63 , 4 , 219 , 126 , 63 , 201 , 220 , 126 , 63 , 140 , 222 , 126 , 63 , 77 , 224 , 126 , 63 , 12 , 226 , 126 , 63 , 202 , 227 , 126 , 63 , 133 , 229 , 126 , 63 , 62 , 231 , 126 , 63 , 245 , 232 , 126 , 63 , 170 , 234 , 126 , 63 , 94 , 236 , 126 , 63 , 15 , 238 , 126 , 63 , 190 , 239 , 126 , 63 , 108 , 241 , 126 , 63 , 23 , 243 , 126 , 63 , 193 , 244 , 126 , 63 , 104 , 246 , 126 , 63 , 14 , 248 , 126 , 63 , 178 , 249 , 126 , 63 , 84 , 251 , 126 , 63 , 243 , 252 , 126 , 63 , 145 , 254 , 126 , 63 , 46 , 0 , 127 , 63 , 200 , 1 , 127 , 63 , 96 , 3 , 127 , 63 , 247 , 4 , 127 , 63 , 139 , 6 , 127 , 63 , 30 , 8 , 127 , 63 , 175 , 9 , 127 , 63 , 62 , 11 , 127 , 63 , 203 , 12 , 127 , 63 , 86 , 14 , 127 , 63 , 223 , 15 , 127 , 63 , 103 , 17 , 127 , 63 , 237 , 18 , 127 , 63 , 112 , 20 , 127 , 63 , 242 , 21 , 127 , 63 , 115 , 23 , 127 , 63 , 241 , 24 , 127 , 63 , 110 , 26 , 127 , 63 , 233 , 27 , 127 , 63 , 98 , 29 , 127 , 63 , 217 , 30 , 127 , 63 , 78 , 32 , 127 , 63 , 194 , 33 , 127 , 63 , 52 , 35 , 127 , 63 , 164 , 36 , 127 , 63 , 18 , 38 , 127 , 63 , 127 , 39 , 127 , 63 , 234 , 40 , 127 , 63 , 83 , 42 , 127 , 63 , 186 , 43 , 127 , 63 , 32 , 45 , 127 , 63 , 131 , 46 , 127 , 63 , 230 , 47 , 127 , 63 , 70 , 49 , 127 , 63 , 165 , 50 , 127 , 63 , 2 , 52 , 127 , 63 , 93 , 53 , 127 , 63 , 182 , 54 , 127 , 63 , 14 , 56 , 127 , 63 , 100 , 57 , 127 , 63 , 185 , 58 , 127 , 63 , 12 , 60 , 127 , 63 , 93 , 61 , 127 , 63 , 172 , 62 , 127 , 63 , 250 , 63 , 127 , 63 , 70 , 65 , 127 , 63 , 145 , 66 , 127 , 63 , 217 , 67 , 127 , 63 , 33 , 69 , 127 , 63 , 102 , 70 , 127 , 63 , 170 , 71 , 127 , 63 , 236 , 72 , 127 , 63 , 45 , 74 , 127 , 63 , 108 , 75 , 127 , 63 , 1
allocate ( [ 0 , 0 , 150 , 194 , 0 , 0 , 156 , 194 , 0 , 0 , 162 , 194 , 0 , 0 , 172 , 194 , 0 , 0 , 190 , 194 , 0 , 0 , 220 , 194 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 0 , 210 , 194 , 0 , 0 , 200 , 194 , 0 , 0 , 190 , 194 , 0 , 0 , 180 , 194 , 0 , 0 , 170 , 194 , 0 , 0 , 160 , 194 , 0 , 0 , 150 , 194 , 0 , 0 , 140 , 194 , 0 , 0 , 130 , 194 , 0 , 0 , 116 , 194 , 0 , 0 , 92 , 194 , 0 , 0 , 68 , 194 , 0 , 0 , 28 , 194 , 0 , 0 , 4 , 194 , 0 , 0 , 32 , 194 , 0 , 0 , 12 , 194 , 0 , 0 , 0 , 194 , 0 , 0 , 24 , 194 , 0 , 0 , 32 , 194 , 0 , 0 , 4 , 194 , 0 , 0 , 12 , 194 , 0 , 0 , 20 , 194 , 0 , 0 , 56 , 194 , 0 , 0 , 36 , 194 , 0 , 0 , 52 , 194 , 0 , 0 , 48 , 194 , 0 , 0 , 56 , 194 , 0 , 0 , 40 , 194 , 0 , 0 , 52 , 194 , 0 , 0 , 56 , 194 , 0 , 0 , 80 , 194 , 0 , 0 , 72 , 194 , 0 , 0 , 72 , 194 , 0 , 0 , 72 , 194 , 0 , 0 , 88 , 194 , 0 , 0 , 88 , 194 , 0 , 0 , 92 , 194 , 0 , 0 , 100 , 194 , 0 , 0 , 120 , 194 , 0 , 0 , 128 , 194 , 0 , 0 , 132 , 194 , 0 , 0 , 136 , 194 , 0 , 0 , 140 , 194 , 0 , 0 , 152 , 194 , 0 , 0 , 162 , 194 , 0 , 0 , 180 , 194 , 0 , 0 , 200 , 194 , 0 , 0 , 220 , 194 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 0 , 210 , 194 , 0 , 0 , 196 , 194 , 0 , 0 , 180 , 194 , 0 , 0 , 170 , 194 , 0 , 0 , 164 , 194 , 0 , 0 , 166 , 194 , 0 , 0 , 160 , 194 , 0 , 0 , 156 , 194 , 0 , 0 , 168 , 194 , 0 , 0 , 158 , 194 , 0 , 0 , 160 , 194 , 0 , 0 , 166 , 194 , 0 , 0 , 174 , 194 , 0 , 0 , 178 , 194 , 0 , 0 , 182 , 194 , 0 , 0 , 186 , 194 , 0 , 0 , 198 , 194 , 0 , 0 , 212 , 194 , 0 , 0 , 234 , 194 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 0 , 210 , 194 , 0 , 0 , 196 , 194 , 0 , 0 , 180 , 194 , 0 , 0 , 170 , 194 , 0 , 0 , 160 , 194 , 0 , 0 , 150 , 194 , 0 , 0 , 140 , 194 , 0 , 0 , 136 , 194 , 0 , 0 , 148 , 194 , 0 , 0 , 144 , 194 , 0 , 0 , 148 , 194 , 0 , 0 , 154 , 194 , 0 , 0 , 160 , 194 , 0 , 0 , 164 , 194 , 0 , 0 , 170 , 194 , 0 , 0 , 174 , 194 , 0 , 0 , 184 , 194 , 0 , 0 , 178 , 194 , 0 , 0 , 182 , 194 , 0 , 0 , 190 , 194 , 0 , 0 , 200 , 194 , 0 , 0 , 212 , 194 , 0 , 0 , 224 , 194 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 0 , 210 , 194 , 0 , 0 , 196 , 194 , 0 , 0 , 180 , 194 , 0 , 0 , 166 , 194 , 0 , 0 , 150 , 194 , 0 , 0 , 142 , 194 , 0 , 0 , 124 , 194 , 0 , 0 , 128 , 194 , 0 , 0 , 134 , 194 , 0 , 0 , 120 , 194 , 0 , 0 , 128 , 194 , 0 , 0 , 134 , 194 , 0 , 0 , 140 , 194 , 0 , 0 , 146 , 194 , 0 , 0 , 154 , 194 , 0 , 0 , 162 , 194 , 0 , 0 , 168 , 194 , 0 , 0 , 166 , 194 , 0 , 0 , 170 , 194 , 0 , 0 , 178 , 194 , 0 , 0 , 180 , 194 , 0 , 0 , 186 , 194 , 0 , 0 , 196 , 194 , 0 , 0 , 208 , 194 , 0 , 0 , 218 , 194 , 0 , 0 , 228 , 194 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 0 , 206 , 194 , 0 , 0 , 192 , 194 , 0 , 0 , 176 , 194 , 0 , 0 , 162 , 194 , 0 , 0 , 150 , 194 , 0 , 0 , 136 , 194 , 0 , 0 , 104 , 194 , 0 , 0 , 88 , 194 , 0 , 0 , 96 , 194 , 0 , 0 , 88 , 194 , 0 , 0 , 96 , 194 , 0 , 0 , 96 , 194 , 0 , 0 , 104 , 194 , 0 , 0 , 112 , 194 , 0 , 0 , 124 , 194 , 0 , 0 , 132 , 194 , 0 , 0 , 148 , 194 , 0 , 0 , 138 , 194 , 0 , 0 , 144 , 194 , 0 , 0 , 144 , 194 , 0 , 0 , 150 , 194 , 0 , 0 , 148 , 194 , 0 , 0 , 154 , 194 , 0 , 0 , 162 , 194 , 0 , 0 , 162 , 194 , 0 , 0 , 164 , 194 , 0 , 0 , 168 , 194 , 0 , 0 , 174 , 194 , 0 , 0 , 186 , 194 , 0 , 0 , 192 , 194 , 0 , 0 , 198 , 194 , 0 , 0 , 208 , 194 , 0 , 0 , 220 , 194 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 0 , 216 , 194 , 0 , 0 , 204 , 194 , 0 , 0 , 192 , 194 , 0 , 0 , 182 , 194 , 0 , 0 , 170 , 194 , 0 , 0 , 160 , 194 , 0 , 0 , 148 , 194 , 0 , 0 , 136 , 194 , 0 , 0 , 112 , 194 , 0 , 0 , 76 , 194 , 0 , 0 , 56 , 194 , 0 , 0 , 64 , 194 , 0 , 0 , 56 , 194 , 0 , 0 , 44 , 194 , 0 , 0 , 52 , 194 , 0 , 0 , 60 , 194 , 0 , 0
allocate ( [ 0 , 0 , 190 , 194 , 0 , 0 , 198 , 194 , 0 , 0 , 206 , 194 , 0 , 0 , 214 , 194 , 0 , 0 , 220 , 194 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 0 , 220 , 194 , 0 , 0 , 190 , 194 , 0 , 0 , 160 , 194 , 0 , 0 , 104 , 194 , 0 , 0 , 92 , 194 , 0 , 0 , 68 , 194 , 0 , 0 , 132 , 194 , 0 , 0 , 136 , 194 , 0 , 0 , 142 , 194 , 0 , 0 , 156 , 194 , 0 , 0 , 156 , 194 , 0 , 0 , 160 , 194 , 0 , 0 , 176 , 194 , 0 , 0 , 170 , 194 , 0 , 0 , 178 , 194 , 0 , 0 , 194 , 194 , 0 , 0 , 200 , 194 , 0 , 0 , 210 , 194 , 0 , 0 , 220 , 194 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 0 , 220 , 194 , 0 , 0 , 190 , 194 , 0 , 0 , 160 , 194 , 0 , 0 , 84 , 194 , 0 , 0 , 80 , 194 , 0 , 0 , 36 , 194 , 0 , 0 , 108 , 194 , 0 , 0 , 108 , 194 , 0 , 0 , 68 , 194 , 0 , 0 , 104 , 194 , 0 , 0 , 96 , 194 , 0 , 0 , 124 , 194 , 0 , 0 , 172 , 194 , 0 , 0 , 158 , 194 , 0 , 0 , 180 , 194 , 0 , 0 , 186 , 194 , 0 , 0 , 196 , 194 , 0 , 0 , 206 , 194 , 0 , 0 , 214 , 194 , 0 , 0 , 224 , 194 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 0 , 220 , 194 , 0 , 0 , 194 , 194 , 0 , 0 , 182 , 194 , 0 , 0 , 146 , 194 , 0 , 0 , 52 , 194 , 0 , 0 , 32 , 194 , 0 , 0 , 4 , 194 , 0 , 0 , 84 , 194 , 0 , 0 , 116 , 194 , 0 , 0 , 68 , 194 , 0 , 0 , 88 , 194 , 0 , 0 , 72 , 194 , 0 , 0 , 72 , 194 , 0 , 0 , 112 , 194 , 0 , 0 , 80 , 194 , 0 , 0 , 134 , 194 , 0 , 0 , 148 , 194 , 0 , 0 , 162 , 194 , 0 , 0 , 184 , 194 , 0 , 0 , 192 , 194 , 0 , 0 , 200 , 194 , 0 , 0 , 210 , 194 , 0 , 0 , 220 , 194 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 0 , 226 , 194 , 0 , 0 , 212 , 194 , 0 , 0 , 198 , 194 , 0 , 0 , 184 , 194 , 0 , 0 , 154 , 194 , 0 , 0 , 160 , 194 , 0 , 0 , 176 , 194 , 0 , 0 , 194 , 194 , 0 , 0 , 212 , 194 , 0 , 0 , 230 , 194 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 0 , 232 , 194 , 0 , 0 , 218 , 194 , 0 , 0 , 204 , 194 , 0 , 0 , 190 , 194 , 0 , 0 , 178 , 194 , 0 , 0 , 148 , 194 , 0 , 0 , 144 , 194 , 0 , 0 , 176 , 194 , 0 , 0 , 174 , 194 , 0 , 0 , 190 , 194 , 0 , 0 , 204 , 194 , 0 , 0 , 218 , 194 , 0 , 0 , 232 , 194 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 196 , 0 , 192 , 121 , 19
} if ( ( g | 0 ) == 29 ) return o | 0 } while ( 0 ) ; if ( ( r [ s >> 2 ] | 0 ) <= 2 ) { o = l ; return o | 0 } g = t + 1032 | 0 ; a = t + 780 | 0 ; t = 2 ; do { i = t + - 2 | 0 ; _ = g + ( i << 2 ) | 0 ; u = r [ _ >> 2 ] | 0 ; f = r [ n + 836 + ( u << 2 ) >> 2 ] | 0 ; v = a + ( i << 2 ) | 0 ; i = r [ v >> 2 ] | 0 ; c = r [ l + ( u << 2 ) >> 2 ] & 32767 ; u = ( r [ l + ( i << 2 ) >> 2 ] & 32767 ) - c | 0 ; m = ( W ( ( u | 0 ) > - 1 ? u : 0 - u | 0 , ( r [ n + 836 + ( t << 2 ) >> 2 ] | 0 ) - f | 0 ) | 0 ) / ( ( r [ n + 836 + ( i << 2 ) >> 2 ] | 0 ) - f | 0 ) | 0 ; f = ( ( u | 0 ) < 0 ? 0 - m | 0 : m ) + c | 0 ; c = ( r [ e >> 2 ] | 0 ) - f | 0 ; m = l + ( t << 2 ) | 0 ; u = r [ m >> 2 ] | 0 ; if ( ! u ) r [ m >> 2 ] = f | 32768 ; else { do if ( ( u | 0 ) < ( ( ( c | 0 ) < ( f | 0 ) ? c : f ) << 1 | 0 ) ) if ( ! ( u & 1 ) ) { w = u >> 1 ; break } else { w = 0 - ( u + 1 >> 1 ) | 0 ; break } else if ( ( c | 0 ) > ( f | 0 ) ) { w = u - f | 0 ; break } else { w = ~ ( u - c ) ; break } while ( 0 ) ; r [ m >> 2 ] = w + f & 32767 ; c = l + ( r [ _ >> 2 ] << 2 ) | 0 ; r [ c >> 2 ] = r [ c >> 2 ] & 32767 ; c = l + ( r [ v >> 2 ] << 2 ) | 0 ; r [ c >> 2 ] = r [ c >> 2 ] & 32767 } t = t + 1 | 0 } while ( ( t | 0 ) < ( r [ s >> 2 ] | 0 ) ) ; o = l ; return o | 0 } function Be ( e , t , n , i ) { e = e | 0 ; t = t | 0 ; n = n | 0 ; i = i | 0 ; var a = 0 , o = 0 , s = 0 , l = 0 , d = 0 , u = 0 , p = 0 , f = 0 , m = 0 , h = 0 , g = 0 , _ = 0 , v = 0 , y = 0 , b = 0 , w = 0 , k = 0 , M = 0 , S = 0 , A = 0 , T = 0 , C = 0 , E = 0 , $ = 0 , I = 0 , x = 0 , P = 0 , D = 0 , R = 0 , O = 0 , N = 0 , L = 0 , F = 0 , U = 0 ; a = r [ t + 1296 >> 2 ] | 0 ; o = ( r [ ( r [ ( r [ ( r [ e + 64 >> 2 ] | 0 ) + 4 >> 2 ] | 0 ) + 28 >> 2 ] | 0 ) + ( r [ e + 28 >> 2 ] << 2 ) >> 2 ] | 0 ) / 2 | 0 ; if ( ! n ) { ai ( i | 0 , 0 , o << 2 | 0 ) | 0 ; s = 0 ; return s | 0 } e = r [ a + 832 >> 2 ] | 0 ; l = W ( e , r [ n >> 2 ] | 0 ) | 0 ; d = ( l | 0 ) < 0 ? 0 : ( l | 0 ) < 255 ? l : 255 ; l = r [ t + 1284 >> 2 ] | 0 ; if ( ( l | 0 ) > 1 ) { u = t + 260 | 0 ; t = 0 ; p = 1 ; f = 0 ; m = d ; while ( 1 ) { h = r [ u + ( p << 2 ) >> 2 ] | 0 ; g = r [ n + ( h << 2 ) >> 2 ] | 0 ; e : do if ( ( g & 32767 | 0 ) == ( g | 0 ) ) { _ = r [ a + 836 + ( h << 2 ) >> 2 ] | 0 ; v = W ( e , g ) | 0 ; y = ( v | 0 ) < 0 ? 0 : ( v | 0 ) < 255 ? v : 255 ; v = y - m | 0 ; b = _ - f | 0 ; w = ( v | 0 ) / ( b | 0 ) | 0 ; k = v >> 31 | 1 ; M = W ( w , b ) | 0 ; S = ( ( v | 0 ) > - 1 ? v : 0 - v | 0 ) - ( ( M | 0 ) > - 1 ? M : 0 - M | 0 ) | 0 ; M = ( o | 0 ) > ( _ | 0 ) ? _ : o ; if ( ( M | 0 ) > ( f | 0 ) ) { A = 0 ; T = f ; C = m ; E = 8 } else { $ = 0 ; I = f ; x = m } while ( 1 ) { if ( ( E | 0 ) == 8 ) { E = 0 ; v = i + ( T << 2 ) | 0 ; c [ v >> 2 ] = + c [ v >> 2 ] * + c [ 476 + ( C << 2 ) >> 2 ] ; $ = A ; I = T ; x = C } v = I + 1 | 0 ; if ( ( v | 0 ) >= ( M | 0 ) ) { P = _ ; D = _ ; R = y ; break e } O = $ + S | 0 ; N = ( O | 0 ) < ( b | 0 ) ; A = O - ( N ? 0 : b ) | 0 ; T = v ; C = x + w + ( N ? 0 : k ) | 0 ; E = 8 } } else { P = t ; D = f ; R = m } while ( 0 ) ; p = p + 1 | 0 ; if ( ( p | 0 ) >= ( l | 0 ) ) { L = P ; F = R ; break } else { t = P ; f = D ; m = R } } } else { L = 0 ; F = d } if ( ( L | 0 ) >= ( o | 0 ) ) { s = 1 ; return s | 0 } U = + c [ 476 + ( F << 2 ) >> 2 ] ; F = L ; do { L = i + ( F << 2 ) | 0 ; c [ L >> 2 ] = + c [ L >> 2 ] * U ; F = F + 1 | 0 } while ( ( F | 0 ) != ( o | 0 ) ) ; s = 1 ; return s | 0 } function He ( e , t ) { e = e | 0 ; t = t | 0 ; var n = 0 , i = 0 , a = 0 , o = 0 , s = 0 , l = 0 , c = 0 , d = 0 , u = 0 , p = 0 , f = 0 ; n = t + 7 & - 8 ; t = e + 72 | 0 ; i = r [ t >> 2 ] | 0 ; a = e + 76 | 0 ; o = e + 68 | 0 ; s = r [ o >> 2 ] | 0 ; if ( ( i + n | 0 ) <= ( r [ a >> 2 ] | 0 ) ) { l = s ; c = i ; d = l + c | 0 ; u = c + n | 0 ; r [ t >> 2 ] = u ; return d | 0 } if ( s | 0 ) { p = Yn ( 8 ) | 0 ; f = e + 80 | 0 ; r [ f >> 2 ] = ( r [ f >> 2 ] | 0 ) + i ; i = e + 84 | 0 ; r [ p + 4 >> 2 ] = r [ i >> 2 ] ; r [ p >> 2 ] = s ; r [ i >> 2 ] = p } r [ a >> 2 ] = n ; a = Yn ( n ) | 0 ; r [ o >> 2 ] = a ; r [ t >> 2 ] = 0 ; l = a ; c = 0 ; d = l + c | 0 ; u = c + n | 0 ; r [ t >> 2 ] = u ; return d | 0 } function je ( e , t ) { e = e | 0 ; t = t | 0 ; var n = 0 , i = 0 ; if ( ( r [ e + 8 >> 2 ] | 0 ) <= 0 ) { n = - 1 ; return n | 0 } i = Ve ( e , t ) | 0 ; if ( ( i | 0 ) <= - 1 ) { n = - 1 ; return n | 0 } n = r [ ( r [ e + 24 >> 2 ] | 0 ) + ( i << 2 ) >> 2 ] | 0 ; return n | 0 } function Ve ( e , t ) { e = e | 0 ; t = t | 0 ; var n = 0 , a = 0 , o = 0 , s = 0 , l = 0 , c = 0 , d = 0 , u = 0 , p = 0 , f = 0 , m = 0 , h = 0 ; n = r [ e + 40 >> 2 ] | 0 ; a = Ie ( t , r [ e + 36 >> 2 ] | 0 ) | 0 ; do if ( ( a | 0 ) > - 1 ) { o = r [ ( r [ e + 32 >> 2 ] | 0 ) + ( a << 2 ) >> 2 ] | 0 ; if ( ( o | 0 ) < 0 ) { s = ( r [ e + 8 >> 2 ] | 0 ) - ( o & 32767 ) | 0 ; l = o >>> 15 & 32767 ; break } c = o + - 1 | 0 ; xe ( t , i [ ( r [ e + 28 >> 2 ] | 0 ) + c >> 0 ] | 0 ) ; d = c ; return d | 0 } else { s = r [ e + 8 >> 2 ] | 0 ; l = 0 } while ( 0 ) ; a = n ; while ( 1 ) { u = Ie ( t , a ) | 0 ; p = ( u | 0 ) < 0 ; if ( ( a | 0 ) > 1 & p ) a = a + - 1 | 0 ; else break } if ( p ) { d = - 1 ; return d | 0 } p = oi ( u | 0 ) | 0 ; u = p >>> 4 & 252645135 | p << 4 & - 252645136 ; p = u >>> 2 & 858993459 | u << 2 & - 858993460 ; u = p >>> 1 & 1431655765 | p << 1 & - 1431655766 ; p = s - l | 0 ; if ( ( p | 0 ) > 1 ) { n = r [ e + 20 >> 2 ] | 0 ; c = s ; s = l ; o = p ; while ( 1 ) { p = o >>> 1 ; f = ( r [ n + ( p + s << 2 ) >> 2 ] | 0 ) >>> 0 > u >>> 0 ; m = ( f ? 0 : p ) + s | 0 ; c = c - ( f ? p : 0 ) | 0 ; o = c - m | 0 ; if ( ( o | 0 ) <= 1 ) { h = m ; break } else s = m } } else h = l ; l = i [ ( r [ e + 28 >> 2 ] | 0 ) + h >> 0 ] | 0 ; if ( ( l | 0 ) > ( a | 0 ) ) { xe ( t , a ) ; d = - 1 ; return d | 0 } else { xe ( t , l ) ; d = h ; return d | 0 } return 0 } function qe ( e , t ) { e = e | 0 ; t = t | 0 ; return ( r [ r [ e >> 2 ] >> 2 ] | 0 ) - ( r [ r [ t >> 2 ] >> 2 ] | 0 ) | 0 } function ze ( e , t ) { e = e | 0 ; t = t | 0 ; var n = 0 , i = 0 , a = 0 , o = 0 , s = 0 , l = 0 , c = 0 , d = 0 , u = 0 , p = 0 , f = 0 , m = 0 ; n = r [ e + 28 >> 2 ] | 0 ; e = Yn ( 96 ) | 0 ; i = Pe ( t , 8 ) | 0 ; r [ e >> 2 ] = i ; a = Pe ( t , 16 ) | 0 ; r [ e + 4 >> 2 ] = a ; o = Pe ( t , 16 ) | 0 ; r [ e + 8 >> 2 ] = o ; r [ e + 12 >> 2 ] = Pe ( t , 6 ) | 0 ; r [ e + 16 >> 2 ] = Pe ( t , 8 ) | 0 ; s = Pe ( t , 4 ) | 0 ; l = e + 20 | 0 ; r [ l >> 2 ] = s + 1 ; e : do if ( ( i | 0 ) < 1 ) { if ( ! e ) { c = 0 ; return c | 0 } } else if ( ( a | 0 ) >= 1 ? ! ( ( s | 0 ) < 0 | ( o | 0 ) < 1 ) : 0 ) { if ( ( s | 0 ) <= - 1 ) { c = e ; return c | 0 } d = e + 24 | 0 ; u = n + 24 | 0 ; p = 0 ; while ( 1 ) { f = Pe ( t , 8 ) | 0 ; r [ d + ( p << 2 ) >> 2 ] = f ; if ( ( f | 0 ) < 0 ) break e ; if ( ( f | 0 ) >= ( r [ u >> 2 ] | 0 ) ) break e ; m = r [ n + 1824 + ( f << 2 ) >> 2 ] | 0 ; if ( ! ( r [ m + 12 >> 2 ] | 0 ) ) break e ; p = p + 1 | 0 ; if ( ( r [ m >> 2 ] | 0 ) < 1 ) break e ; if ( ( p | 0 ) >= ( r [ l >> 2 ] | 0 ) ) { c = e ; break } } return c | 0 } while ( 0 ) ; Xn ( e ) ; c = 0 ; return c | 0 } function We ( e , t ) { e = e | 0 ; t = t | 0 ; e = Jn ( 1 , 32 ) | 0 ; r [ e + 4 >> 2 ] = r [ t >> 2 ] ; r [ e >> 2 ] = r [ t + 8 >> 2 ] ; r [ e + 20 >> 2 ] = t ; r [ e + 8 >> 2 ] = Jn ( 2 , 4 ) | 0 ; return e | 0 } function Ge ( e ) { e = e | 0 ; if ( ! e ) return ; Xn ( e ) ; return } function K
r [ ( r [ V >> 2 ] | 0 ) + 8 >> 2 ] = N ; N = r [ V >> 2 ] | 0 ; O = Dt ( e , r [ ( r [ S >> 2 ] | 0 ) + ( r [ z >> 2 ] << 2 ) >> 2 ] | 0 , r [ N >> 2 ] | 0 , r [ N + 28 >> 2 ] | 0 , 28086 ) | 0 ; r [ ( r [ V >> 2 ] | 0 ) + 12 >> 2 ] = O ; O = r [ V >> 2 ] | 0 ; N = Dt ( e , r [ ( r [ S >> 2 ] | 0 ) + ( r [ z >> 2 ] << 2 ) >> 2 ] | 0 , r [ O >> 2 ] | 0 , r [ O + 28 >> 2 ] | 0 , 37449 ) | 0 ; r [ ( r [ V >> 2 ] | 0 ) + 16 >> 2 ] = N ; N = r [ V >> 2 ] | 0 ; O = Dt ( e , r [ ( r [ S >> 2 ] | 0 ) + ( r [ z >> 2 ] << 2 ) >> 2 ] | 0 , r [ N >> 2 ] | 0 , r [ N + 28 >> 2 ] | 0 , 46811 ) | 0 ; r [ ( r [ V >> 2 ] | 0 ) + 20 >> 2 ] = O ; O = r [ V >> 2 ] | 0 ; N = Dt ( e , r [ ( r [ S >> 2 ] | 0 ) + ( r [ z >> 2 ] << 2 ) >> 2 ] | 0 , r [ O >> 2 ] | 0 , r [ O + 28 >> 2 ] | 0 , 56173 ) | 0 ; r [ ( r [ V >> 2 ] | 0 ) + 24 >> 2 ] = N ; N = r [ V >> 2 ] | 0 ; O = Dt ( e , r [ ( r [ S >> 2 ] | 0 ) + ( r [ z >> 2 ] << 2 ) >> 2 ] | 0 , r [ N + 28 >> 2 ] | 0 , r [ N + 56 >> 2 ] | 0 , 9362 ) | 0 ; r [ ( r [ V >> 2 ] | 0 ) + 32 >> 2 ] = O ; O = r [ V >> 2 ] | 0 ; N = Dt ( e , r [ ( r [ S >> 2 ] | 0 ) + ( r [ z >> 2 ] << 2 ) >> 2 ] | 0 , r [ O + 28 >> 2 ] | 0 , r [ O + 56 >> 2 ] | 0 , 18724 ) | 0 ; r [ ( r [ V >> 2 ] | 0 ) + 36 >> 2 ] = N ; N = r [ V >> 2 ] | 0 ; O = Dt ( e , r [ ( r [ S >> 2 ] | 0 ) + ( r [ z >> 2 ] << 2 ) >> 2 ] | 0 , r [ N + 28 >> 2 ] | 0 , r [ N + 56 >> 2 ] | 0 , 28086 ) | 0 ; r [ ( r [ V >> 2 ] | 0 ) + 40 >> 2 ] = O ; O = r [ V >> 2 ] | 0 ; N = Dt ( e , r [ ( r [ S >> 2 ] | 0 ) + ( r [ z >> 2 ] << 2 ) >> 2 ] | 0 , r [ O + 28 >> 2 ] | 0 , r [ O + 56 >> 2 ] | 0 , 37449 ) | 0 ; r [ ( r [ V >> 2 ] | 0 ) + 44 >> 2 ] = N ; N = r [ V >> 2 ] | 0 ; O = Dt ( e , r [ ( r [ S >> 2 ] | 0 ) + ( r [ z >> 2 ] << 2 ) >> 2 ] | 0 , r [ N + 28 >> 2 ] | 0 , r [ N + 56 >> 2 ] | 0 , 46811 ) | 0 ; r [ ( r [ V >> 2 ] | 0 ) + 48 >> 2 ] = O ; O = r [ V >> 2 ] | 0 ; N = Dt ( e , r [ ( r [ S >> 2 ] | 0 ) + ( r [ z >> 2 ] << 2 ) >> 2 ] | 0 , r [ O + 28 >> 2 ] | 0 , r [ O + 56 >> 2 ] | 0 , 56173 ) | 0 ; r [ ( r [ V >> 2 ] | 0 ) + 52 >> 2 ] = N } x = x + 1 | 0 ; N = r [ l >> 2 ] | 0 ; if ( ( x | 0 ) >= ( N | 0 ) ) { G = N ; K = S ; break e } } m = t ; return W | 0 } else { G = j ; K = o + 48 | 0 } while ( 0 ) ; c [ h >> 2 ] = H ; h = G << 2 ; G = m ; m = m + ( ( 1 * h | 0 ) + 15 & - 16 ) | 0 ; j = m ; m = m + ( ( 1 * h | 0 ) + 15 & - 16 ) | 0 ; h = ( Pt ( e ) | 0 ) != 0 ; _ = o + 44 | 0 ; R = e + 24 | 0 ; v = e + 32 | 0 ; B = a + 2868 | 0 ; M = o + 52 | 0 ; o = h ? 0 : 7 ; while ( 1 ) { h = r [ n + 12 + ( o << 2 ) >> 2 ] | 0 ; Ce ( h , 0 , 1 ) ; Ce ( h , b , r [ _ >> 2 ] | 0 ) ; if ( r [ y >> 2 ] | 0 ) { Ce ( h , r [ R >> 2 ] | 0 , 1 ) ; Ce ( h , r [ v >> 2 ] | 0 , 1 ) } s = r [ l >> 2 ] | 0 ; if ( ( s | 0 ) > 0 ) { S = 0 ; do { r [ d + ( S << 2 ) >> 2 ] = Rt ( h , e , r [ ( r [ K >> 2 ] | 0 ) + ( r [ w + 1028 + ( r [ w + 4 + ( S << 2 ) >> 2 ] << 2 ) >> 2 ] << 2 ) >> 2 ] | 0 , r [ ( r [ f + ( S << 2 ) >> 2 ] | 0 ) + ( o << 2 ) >> 2 ] | 0 , r [ i + ( S << 2 ) >> 2 ] | 0 ) | 0 ; S = S + 1 | 0 ; x = r [ l >> 2 ] | 0 } while ( ( S | 0 ) < ( x | 0 ) ) ; Y = x } else Y = s ; Ot ( o , B , k , w , u , i , d , r [ a + 3240 + ( ( r [ y >> 2 ] | 0 ) * 60 | 0 ) + ( o << 2 ) >> 2 ] | 0 , Y ) ; if ( ( r [ w >> 2 ] | 0 ) > 0 ) { S = 0 ; do { x = r [ w + 1092 + ( S << 2 ) >> 2 ] | 0 ; A = r [ l >> 2 ] | 0 ; if ( ( A | 0 ) > 0 ) { N = A ; A = 0 ; O = 0 ; while ( 1 ) { if ( ( r [ w + 4 + ( O << 2 ) >> 2 ] | 0 ) == ( S | 0 ) ) { r [ j + ( A << 2 ) >> 2 ] = ( r [ d + ( O << 2 ) >> 2 ] | 0 ) != 0 & 1 ; r [ G + ( A << 2 ) >> 2 ] = r [ i + ( O << 2 ) >> 2 ] ; X = r [ l >> 2 ] | 0 ; J = A + 1 | 0 } else { X = N ; J = A } O = O + 1 | 0 ; if ( ( O | 0 ) >= ( X | 0 ) ) { Z = J ; break } else { N = X ; A = J } } } else Z = 0 ; A = a + 1312 + ( x << 2 ) | 0 ; N = Pi [ r [ ( r [ 464 + ( r [ A >> 2 ] << 2 ) >> 2 ] | 0 ) + 20 >> 2 ] & 7 ] ( e , r [ ( r [ M >> 2 ] | 0 ) + ( x << 2 ) >> 2 ] | 0 , G , j , Z ) | 0 ; O = r [ l >> 2 ] | 0 ; if ( ( O | 0 ) > 0 ) { V = 0 ; C = 0 ; while ( 1 ) { if ( ( r [ w + 4 + ( C << 2 ) >> 2 ] | 0 ) == ( S | 0 ) ) { r [ G + ( V << 2 ) >> 2 ] = r [ i + ( C << 2 ) >> 2 ] ; Q = V + 1 | 0 } else Q = V ; C = C + 1 | 0 ; if ( ( C | 0 ) >= ( O | 0 ) ) { ee = Q ; break } else V = Q } } else ee = 0 ; Ii [ r [ ( r [ 464 + ( r [ A >> 2 ] << 2 ) >> 2 ] | 0 ) + 24 >> 2 ] & 3 ] ( h , e , r [ ( r [ M >> 2 ] | 0 ) + ( x << 2 ) >> 2 ] | 0 , G , j , ee , N , S ) | 0 ; S = S + 1 | 0 } while ( ( S | 0 ) < ( r [ w >> 2 ] | 0 ) ) } S = ( Pt ( e ) | 0 ) != 0 ; if ( ( o | 0 ) < ( ( S ? 14 : 7 ) | 0 ) ) o = o + 1 | 0 ; else { W = 0 ; break } } m = t ; return W | 0 } function kt ( e , t ) { e = e | 0 ; t = t | 0 ; var n = 0 , i = 0 , a = 0 , o = 0 , s = 0 , l = 0 , d = 0 , u = 0 , p = 0 , f = 0 , h = 0 , g = 0 , _ = 0 , v = 0 , y = 0 , b = 0 , w = 0 , k = 0 , M = 0 , S = 0 , A = 0 , T = 0 , C = 0 , E = 0 , $ = 0 , I = 0 , x = 0 , P = 0 , D = 0 , R = 0 , O = 0 ; n = m ; i = r [ e + 64 >> 2 ] | 0 ; a = r [ i + 4 >> 2 ] | 0 ; o = r [ a + 28 >> 2 ] | 0 ; s = r [ i + 104 >> 2 ] | 0 ; i = e + 28 | 0 ; l = r [ o + ( r [ i >> 2 ] << 2 ) >> 2 ] | 0 ; r [ e + 36 >> 2 ] = l ; d = a + 4 | 0 ; a = r [ d >> 2 ] | 0 ; u = a << 2 ; p = m ; m = m + ( ( 1 * u | 0 ) + 15 & - 16 ) | 0 ; f = m ; m = m + ( ( 1 * u | 0 ) + 15 & - 16 ) | 0 ; h = m ; m = m + ( ( 1 * u | 0 ) + 15 & - 16 ) | 0 ; g = m ; m = m + ( ( 1 * u | 0 ) + 15 & - 16 ) | 0 ; if ( ( a | 0 ) > 0 ) { u = t + 4 | 0 ; _ = t + 1028 | 0 ; v = s + 48 | 0 ; y = l << 1 & 2147483646 ; b = 0 ; do { w = r [ _ + ( r [ u + ( b << 2 ) >> 2 ] << 2 ) >> 2 ] | 0 ; k = xi [ r [ ( r [ 456 + ( r [ o + 800 + ( w << 2 ) >> 2 ] << 2 ) >> 2 ] | 0 ) + 20 >> 2 ] & 15 ] ( e , r [ ( r [ v >> 2 ] | 0 ) + ( w << 2 ) >> 2 ] | 0 ) | 0 ; r [ g + ( b << 2 ) >> 2 ] = k ; r [ h + ( b << 2 ) >> 2 ] = ( k | 0 ) != 0 & 1 ; ai ( r [ ( r [ e >> 2 ] | 0 ) + ( b << 2 ) >> 2 ] | 0 , 0 , y | 0 ) | 0 ; b = b + 1 | 0 ; k = r [ d >> 2 ] | 0 } while ( ( b | 0 ) < ( k | 0 ) ) ; M = k } else M = a ; a = t + 1156 | 0 ; b = r [ a >> 2 ] | 0 ; if ( ( b | 0 ) > 0 ) { y = t + 1160 | 0 ; v = t + 2184 | 0 ; u = 0 ; do { _ = h + ( r [ y + ( u << 2 ) >> 2 ] << 2 ) | 0 ; k = h + ( r [ v + ( u << 2 ) >> 2 ] << 2 ) | 0 ; if ( ! ( ( r [ _ >> 2 ] | 0 ) == 0 ? ! ( r [ k >> 2 ] | 0 ) : 0 ) ) { r [ _ >> 2 ] = 1 ; r [ k >> 2 ] = 1 } u = u + 1 | 0 } while ( ( u | 0 ) < ( b | 0 ) ) } if ( ( r [ t >> 2 ] | 0 ) > 0 ) { u = t + 1092 | 0 ; v = s + 52 | 0 ; y = t + 4 | 0 ; k = M ; M = 0 ; while ( 1 ) { if ( ( k | 0 ) > 0 ) { _ = k ; w = 0 ; S = 0 ; while ( 1 ) { if ( ( r [ y + ( S << 2 ) >> 2 ] | 0 ) == ( M | 0 ) ) { r [ f + ( w << 2 ) >> 2 ] = ( r [ h + ( S << 2 ) >> 2 ] | 0 ) != 0 & 1 ; r [ p + ( w << 2 ) >> 2 ] = r [ ( r [ e >> 2 ] | 0 ) + ( S << 2 ) >> 2 ] ; A = r [ d >> 2 ] | 0 ; T = w + 1 | 0 } else { A = _ ; T = w } S = S + 1 | 0 ; if ( ( S | 0 ) >= ( A | 0 ) ) { C = T ; break } else { _ = A ; w = T } } } else C = 0 ; w = r [ u + ( M << 2 ) >> 2 ] | 0 ; Pi [ r [ ( r [ 464 + ( r [ o + 1312 + ( w << 2 ) >> 2 ] << 2 ) >> 2 ] | 0 ) + 28 >> 2 ] & 7 ] ( e , r [ ( r [ v >> 2 ] | 0 ) + ( w << 2 ) >> 2 ] | 0 , p , f , C ) | 0 ; w = M + 1 | 0 ; if ( ( w | 0 ) >= ( r [ t >> 2 ] | 0 ) ) break ; k = r [ d >> 2 ] | 0 ; M = w } E = r [ a >> 2 ] | 0 } else E = b ; if ( ( E | 0 ) > 0 ? ( b = r [ e >> 2 ] | 0 , a = t + 1160 | 0 , M = t + 2184 | 0 , k = ( l | 0 ) / 2 | 0 , ( l | 0 ) > 1 ) : 0 ) { l = E ; do { E = l ; l = l + - 1 | 0 ; C = r [ b + ( r [ a + ( l << 2 ) >> 2 ] << 2 ) >> 2 ] | 0 ; f = r [ b + ( r [ M + ( l << 2 ) >> 2 ] << 2 ) >> 2 ] | 0 ; p = 0 ; do { v = C + ( p << 2 ) | 0 ; $ = + c [ v >> 2 ] ; u = f + ( p << 2 ) | 0 ;
O = r [ y + ( P << 2 ) >> 2 ] | 0 ; N = r [ b + ( P << 2 ) >> 2 ] | 0 ; if ( C ) { L = 0 ; do { H = F + ( L + T << 2 ) | 0 ; B = + c [ H >> 2 ] ; j = B * B ; V = O + ( L << 2 ) | 0 ; c [ V >> 2 ] = j ; c [ N + ( L << 2 ) >> 2 ] = j ; if ( + c [ H >> 2 ] < 0 ) c [ V >> 2 ] = - + c [ V >> 2 ] ; V = U + ( L << 2 ) | 0 ; j = + c [ V >> 2 ] ; c [ V >> 2 ] = j * j ; L = L + 1 | 0 } while ( ( L | 0 ) < ( I | 0 ) ) ; q = O ; z = N } else { q = O ; z = N } } else G = 20 } else G = 20 ; if ( ( G | 0 ) == 20 ) { G = 0 ; q = r [ y + ( P << 2 ) >> 2 ] | 0 ; z = r [ b + ( P << 2 ) >> 2 ] | 0 } + Nt ( r [ h >> 2 ] | 0 , _ , q , z , U , 0 , T , I , R ) } P = P + 1 | 0 } while ( ( P | 0 ) != ( u | 0 ) ) } P = r [ S >> 2 ] | 0 ; if ( ( P | 0 ) > 0 ) { C = ( I | 0 ) > 0 ; x = l - T | 0 ; L = _ - T | 0 ; F = P ; V = 0 ; while ( 1 ) { H = r [ i + 1160 + ( V << 2 ) >> 2 ] | 0 ; K = r [ i + 2184 + ( V << 2 ) >> 2 ] | 0 ; Y = ( r [ o + ( H << 2 ) >> 2 ] | 0 ) + ( T << 2 ) | 0 ; X = ( r [ o + ( K << 2 ) >> 2 ] | 0 ) + ( T << 2 ) | 0 ; J = r [ y + ( H << 2 ) >> 2 ] | 0 ; Z = r [ y + ( K << 2 ) >> 2 ] | 0 ; Q = r [ b + ( H << 2 ) >> 2 ] | 0 ; ee = r [ b + ( K << 2 ) >> 2 ] | 0 ; te = r [ w + ( H << 2 ) >> 2 ] | 0 ; ne = r [ w + ( K << 2 ) >> 2 ] | 0 ; ie = r [ k + ( H << 2 ) >> 2 ] | 0 ; ae = r [ k + ( K << 2 ) >> 2 ] | 0 ; re = M + ( H << 2 ) | 0 ; H = M + ( K << 2 ) | 0 ; if ( ( r [ re >> 2 ] | 0 ) == 0 ? ( r [ H >> 2 ] | 0 ) == 0 : 0 ) oe = F ; else { r [ H >> 2 ] = 1 ; r [ re >> 2 ] = 1 ; if ( C ) { re = 0 ; do { do if ( ( re | 0 ) < ( x | 0 ) ) { H = ie + ( re << 2 ) | 0 ; K = Z + ( re << 2 ) | 0 ; j = + c [ K >> 2 ] ; se = J + ( re << 2 ) | 0 ; B = + c [ se >> 2 ] ; le = ae + ( re << 2 ) | 0 ; if ( ( r [ H >> 2 ] | 0 ) == 0 ? ( r [ le >> 2 ] | 0 ) == 0 : 0 ) { ce = B + j ; if ( ( re | 0 ) < ( L | 0 ) ) { c [ se >> 2 ] = ce ; c [ Q + ( re << 2 ) >> 2 ] = + D ( + ce ) } else { de = + D ( + j ) + + D ( + B ) ; c [ Q + ( re << 2 ) >> 2 ] = de ; c [ se >> 2 ] = ce < 0 ? - de : de } c [ ee + ( re << 2 ) >> 2 ] = 0 ; c [ K >> 2 ] = 0 ; r [ le >> 2 ] = 1 ; r [ X + ( re << 2 ) >> 2 ] = 0 ; break } c [ se >> 2 ] = + D ( + j ) + + D ( + B ) ; se = Q + ( re << 2 ) | 0 ; c [ se >> 2 ] = + c [ ee + ( re << 2 ) >> 2 ] + + c [ se >> 2 ] ; r [ le >> 2 ] = 1 ; r [ H >> 2 ] = 1 ; H = Y + ( re << 2 ) | 0 ; le = r [ H >> 2 ] | 0 ; se = X + ( re << 2 ) | 0 ; K = r [ se >> 2 ] | 0 ; if ( ( ( ( le | 0 ) > - 1 ? le : 0 - le | 0 ) | 0 ) > ( ( ( K | 0 ) > - 1 ? K : 0 - K | 0 ) | 0 ) ) { ue = ( le | 0 ) > 0 ? le - K | 0 : K - le | 0 ; pe = se } else { r [ se >> 2 ] = ( K | 0 ) > 0 ? le - K | 0 : K - le | 0 ; ue = K ; pe = H } r [ pe >> 2 ] = ue ; K = r [ se >> 2 ] | 0 ; le = r [ H >> 2 ] | 0 ; if ( ( K | 0 ) >= ( ( ( le | 0 ) > - 1 ? le : 0 - le | 0 ) << 1 | 0 ) ) { r [ se >> 2 ] = 0 - K ; r [ H >> 2 ] = 0 - ( r [ H >> 2 ] | 0 ) } } while ( 0 ) ; H = te + ( re << 2 ) | 0 ; K = ne + ( re << 2 ) | 0 ; B = + c [ K >> 2 ] + + c [ H >> 2 ] ; c [ K >> 2 ] = B ; c [ H >> 2 ] = B ; re = re + 1 | 0 } while ( ( re | 0 ) < ( I | 0 ) ) } + Nt ( r [ h >> 2 ] | 0 , _ , J , Q , te , ie , T , I , Y ) ; oe = r [ S >> 2 ] | 0 } V = V + 1 | 0 ; if ( ( V | 0 ) >= ( oe | 0 ) ) { fe = oe ; break } else F = oe } } else fe = P ; T = T + g | 0 } while ( ( f | 0 ) > ( T | 0 ) ) ; me = fe } else me = E ; if ( ( me | 0 ) > 0 ) { he = me ; ge = 0 } else { m = p ; return } while ( 1 ) { me = s + ( r [ i + 1160 + ( ge << 2 ) >> 2 ] << 2 ) | 0 ; E = i + 2184 + ( ge << 2 ) | 0 ; if ( ( r [ me >> 2 ] | 0 ) == 0 ? ( r [ s + ( r [ E >> 2 ] << 2 ) >> 2 ] | 0 ) == 0 : 0 ) _e = he ; else { r [ me >> 2 ] = 1 ; r [ s + ( r [ E >> 2 ] << 2 ) >> 2 ] = 1 ; _e = r [ S >> 2 ] | 0 } ge = ge + 1 | 0 ; if ( ( ge | 0 ) >= ( _e | 0 ) ) break ; else he = _e } m = p ; return } function Nt ( e , t , n , i , a , o , s , l , u ) { e = e | 0 ; t = t | 0 ; n = n | 0 ; i = i | 0 ; a = a | 0 ; o = o | 0 ; s = s | 0 ; l = l | 0 ; u = u | 0 ; var f = 0 , h = 0 , g = 0 , _ = 0 , v = 0 , y = 0 , b = 0 , w = 0 , k = 0 , M = 0 , S = 0 , A = 0 , T = 0 , C = 0 , E = 0 , $ = 0 , I = 0 , x = 0 , P = 0 , D = 0 , O = 0 ; f = m ; h = m ; m = m + ( ( 1 * ( l << 2 ) | 0 ) + 15 & - 16 ) | 0 ; if ( ! ( r [ e + 500 >> 2 ] | 0 ) ) g = l ; else g = ( r [ e + 504 >> 2 ] | 0 ) - s | 0 ; _ = ( g | 0 ) > ( l | 0 ) ? l : g ; e : do if ( ( _ | 0 ) > 0 ) { if ( ! o ) { g = 0 ; while ( 1 ) { v = + c [ n + ( g << 2 ) >> 2 ] < 0 ; y = + Gn ( + R ( + ( + c [ i + ( g << 2 ) >> 2 ] / + c [ a + ( g << 2 ) >> 2 ] ) ) ) ; r [ u + ( g << 2 ) >> 2 ] = ~ ~ ( v ? - y : y ) ; g = g + 1 | 0 ; if ( ( g | 0 ) >= ( _ | 0 ) ) { b = _ ; break e } } } else w = 0 ; do { if ( ! ( r [ o + ( w << 2 ) >> 2 ] | 0 ) ) { g = + c [ n + ( w << 2 ) >> 2 ] < 0 ; y = + Gn ( + R ( + ( + c [ i + ( w << 2 ) >> 2 ] / + c [ a + ( w << 2 ) >> 2 ] ) ) ) ; r [ u + ( w << 2 ) >> 2 ] = ~ ~ ( g ? - y : y ) } w = w + 1 | 0 } while ( ( w | 0 ) < ( _ | 0 ) ) ; b = _ } else b = 0 ; while ( 0 ) ; if ( ( b | 0 ) >= ( l | 0 ) ) { k = 0 ; m = f ; return + k } _ = t - s | 0 ; if ( ! o ) { y = 0 ; s = 0 ; t = b ; while ( 1 ) { w = i + ( t << 2 ) | 0 ; M = + c [ a + ( t << 2 ) >> 2 ] ; S = + c [ w >> 2 ] / M ; if ( S < . 25 ) { r [ h + ( s << 2 ) >> 2 ] = w ; A = S + y ; T = s + 1 | 0 } else { g = + c [ n + ( t << 2 ) >> 2 ] < 0 ; C = + Gn ( + R ( + S ) ) ; v = ~ ~ ( g ? - C : C ) ; r [ u + ( t << 2 ) >> 2 ] = v ; c [ w >> 2 ] = + ( W ( v , v ) | 0 ) * M ; A = y ; T = s } t = t + 1 | 0 ; if ( ( t | 0 ) == ( l | 0 ) ) { E = A ; $ = T ; break } else { y = A ; s = T } } } else { A = 0 ; T = 0 ; s = b ; while ( 1 ) { do if ( ! ( r [ o + ( s << 2 ) >> 2 ] | 0 ) ) { b = i + ( s << 2 ) | 0 ; y = + c [ a + ( s << 2 ) >> 2 ] ; M = + c [ b >> 2 ] / y ; if ( ! ( M < . 25 ) | ( s | 0 ) < ( _ | 0 ) ) { t = + c [ n + ( s << 2 ) >> 2 ] < 0 ; C = + Gn ( + R ( + M ) ) ; v = ~ ~ ( t ? - C : C ) ; r [ u + ( s << 2 ) >> 2 ] = v ; c [ b >> 2 ] = + ( W ( v , v ) | 0 ) * y ; I = A ; x = T ; break } else { r [ h + ( T << 2 ) >> 2 ] = b ; I = M + A ; x = T + 1 | 0 ; break } } else { I = A ; x = T } while ( 0 ) ; s = s + 1 | 0 ; if ( ( s | 0 ) == ( l | 0 ) ) { E = I ; $ = x ; break } else { A = I ; T = x } } } if ( ! $ ) { k = E ; m = f ; return + k } Ln ( h , $ , 4 , 12 ) ; if ( ( $ | 0 ) <= 0 ) { k = E ; m = f ; return + k } x = i ; I = + d [ e + 512 >> 3 ] ; A = E ; e = 0 ; while ( 1 ) { i = r [ h + ( e << 2 ) >> 2 ] | 0 ; T = i - x >> 2 ; if ( ! ( A >= I ) ) { P = 0 ; D = A ; O = 0 } else { P = + c [ a + ( T << 2 ) >> 2 ] ; D = A + - 1 ; O = ~ ~ ( r [ p >> 2 ] = r [ n + ( T << 2 ) >> 2 ] & - 2147483648 | 1065353216 , + c [ p >> 2 ] ) } r [ u + ( T << 2 ) >> 2 ] = O ; c [ i >> 2 ] = P ; e = e + 1 | 0 ; if ( ( e | 0 ) == ( $ | 0 ) ) { k = D ; break } else A = D } m = f ; return + k } function Lt ( e , t ) { e = e | 0 ; t = t | 0 ; var n = 0 , i = 0 ; n = + c [ r [ e >> 2 ] >> 2 ] ; i = + c [ r [ t >> 2 ] >> 2 ] ; return ( n < i & 1 ) - ( n > i & 1 ) | 0 } function Ft ( e , t , n , i , a ) { e = e | 0 ; t = t | 0 ; n = n | 0 ; i = i | 0 ; a = a | 0 ; var o = 0 , s = 0 , l = 0 , d = 0 , u = 0 , p = 0 , f = 0 , m = 0 , h = 0 , g = 0 , _ = 0 , v = 0 , y = 0 , b = 0 , w = 0 , k = 0 , M = 0 , S = 0 , A = 0 , T = 0 , C = 0 , E = 0 , $ = 0 , I = 0 , x = 0 , P = 0 , D = 0 , R = 0 , O = 0 , N = 0 , L = 0 , F = 0 , U = 0 , B = 0 , H = 0 , j = 0 , V = 0 , q = 0 ; o = r [ e >> 2 ] | 0 ; s = r [ e + ( ( t + - 1 | 0 ) * 56 | 0 ) + 4 >> 2 ] | 0 ; if ( ( t | 0 ) > 0 ) { l = + c [ a + 1108 >> 2 ] ; d = 0 ; a = 0 ; u = 0 ; p = 0 ; f = 0 ; m = 0 ; while ( 1 ) { h = r [ e + ( a * 56 | 0 ) + 52 >> 2
} t = e + 12 | 0 ; n = r [ t >> 2 ] | 0 ; if ( n | 0 ) { Xn ( r [ n >> 2 ] | 0 ) ; Xn ( r [ ( r [ t >> 2 ] | 0 ) + 4 >> 2 ] | 0 ) ; Xn ( r [ ( r [ t >> 2 ] | 0 ) + 8 >> 2 ] | 0 ) ; Xn ( r [ t >> 2 ] | 0 ) } t = e ; e = t + 52 | 0 ; do { r [ t >> 2 ] = 0 ; t = t + 4 | 0 } while ( ( t | 0 ) < ( e | 0 ) ) ; return } function on ( e ) { e = e | 0 ; if ( ! e ) return ; Xn ( e ) ; return } function sn ( e ) { e = e | 0 ; var t = 0 ; t = e ; e = t + 48 | 0 ; do { r [ t >> 2 ] = 0 ; t = t + 4 | 0 } while ( ( t | 0 ) < ( e | 0 ) ) ; return } function ln ( e , t , n ) { e = e | 0 ; t = t | 0 ; n = n | 0 ; var i = 0 , a = 0 , o = 0 , s = 0 , l = 0 , c = 0 , d = 0 , u = 0 , p = 0 , f = 0 , h = 0 , g = 0 , _ = 0 , v = 0 , y = 0 , b = 0 , w = 0 , k = 0 , M = 0 , S = 0 , A = 0 , T = 0 , C = 0 , E = 0 , $ = 0 , I = 0 , x = 0 , P = 0 ; i = m ; m = m + 144 | 0 ; a = i ; o = ( n | 0 ) != 0 ; s = Yn ( ( o ? n : t ) << 2 ) | 0 ; ai ( a | 0 , 0 , 132 ) | 0 ; l = ( t | 0 ) > 0 ; e : do if ( l ) { c = a + 4 | 0 ; d = ( n | 0 ) == 0 & 1 ; u = 0 ; p = 0 ; t : while ( 1 ) { f = r [ e + ( p << 2 ) >> 2 ] | 0 ; n : do if ( ( f | 0 ) > 0 ) { h = r [ a + ( f << 2 ) >> 2 ] | 0 ; if ( ! ( ( f | 0 ) > 31 | ( h >>> f | 0 ) == 0 ) ) break t ; g = u + 1 | 0 ; r [ s + ( u << 2 ) >> 2 ] = h ; _ = a + ( f << 2 ) | 0 ; i : do if ( ! ( h & 1 ) ) { v = h ; y = _ ; b = f ; while ( 1 ) { r [ y >> 2 ] = v + 1 ; w = b + - 1 | 0 ; if ( ( b | 0 ) <= 1 ) break i ; v = r [ a + ( w << 2 ) >> 2 ] | 0 ; k = a + ( w << 2 ) | 0 ; if ( v & 1 | 0 ) { M = k ; S = w ; A = 7 ; break } else { y = k ; b = w } } } else { M = _ ; S = f ; A = 7 } while ( 0 ) ; do if ( ( A | 0 ) == 7 ) { A = 0 ; if ( ( S | 0 ) == 1 ) { r [ c >> 2 ] = ( r [ c >> 2 ] | 0 ) + 1 ; break } else { r [ M >> 2 ] = r [ a + ( S + - 1 << 2 ) >> 2 ] << 1 ; break } } while ( 0 ) ; _ = f + 1 | 0 ; if ( ( _ | 0 ) < 33 ) { b = h ; y = f ; v = _ ; while ( 1 ) { _ = a + ( v << 2 ) | 0 ; w = b ; b = r [ _ >> 2 ] | 0 ; if ( ( b >>> 1 | 0 ) != ( w | 0 ) ) { T = g ; break n } r [ _ >> 2 ] = r [ a + ( y << 2 ) >> 2 ] << 1 ; _ = v + 1 | 0 ; if ( ( _ | 0 ) >= 33 ) { T = g ; break } else { w = v ; v = _ ; y = w } } } else T = g } else T = u + d | 0 ; while ( 0 ) ; p = p + 1 | 0 ; if ( ( p | 0 ) >= ( t | 0 ) ) break e ; else u = T } Xn ( s ) ; C = 0 ; m = i ; return C | 0 } while ( 0 ) ; e : do if ( ( n | 0 ) != 1 ) { T = 1 ; while ( 1 ) { if ( r [ a + ( T << 2 ) >> 2 ] & - 1 >>> ( 32 - T | 0 ) | 0 ) break ; T = T + 1 | 0 ; if ( ( T | 0 ) >= 33 ) break e } Xn ( s ) ; C = 0 ; m = i ; return C | 0 } while ( 0 ) ; if ( ! l ) { C = s ; m = i ; return C | 0 } if ( o ) { E = 0 ; $ = 0 } else { o = 0 ; do { l = r [ e + ( o << 2 ) >> 2 ] | 0 ; a = s + ( o << 2 ) | 0 ; if ( ( l | 0 ) > 0 ) { n = r [ a >> 2 ] | 0 ; T = 0 ; S = 0 ; while ( 1 ) { M = n >>> T & 1 | S << 1 ; T = T + 1 | 0 ; if ( ( T | 0 ) >= ( l | 0 ) ) { I = M ; break } else S = M } } else I = 0 ; o = o + 1 | 0 ; r [ a >> 2 ] = I } while ( ( o | 0 ) != ( t | 0 ) ) ; C = s ; m = i ; return C | 0 } while ( 1 ) { o = r [ e + ( $ << 2 ) >> 2 ] | 0 ; if ( ( o | 0 ) > 0 ) { I = r [ s + ( E << 2 ) >> 2 ] | 0 ; S = 0 ; l = 0 ; while ( 1 ) { T = I >>> S & 1 | l << 1 ; S = S + 1 | 0 ; if ( ( S | 0 ) >= ( o | 0 ) ) { x = T ; break } else l = T } } else x = 0 ; if ( ! o ) P = E ; else { r [ s + ( E << 2 ) >> 2 ] = x ; P = E + 1 | 0 } $ = $ + 1 | 0 ; if ( ( $ | 0 ) == ( t | 0 ) ) { C = s ; break } else E = P } m = i ; return C | 0 } function cn ( e , t ) { e = e | 0 ; t = t | 0 ; var n = 0 ; n = r [ r [ e >> 2 ] >> 2 ] | 0 ; e = r [ r [ t >> 2 ] >> 2 ] | 0 ; return ( n >>> 0 > e >>> 0 & 1 ) - ( n >>> 0 < e >>> 0 & 1 ) | 0 } function dn ( e , t , n ) { e = e | 0 ; t = t | 0 ; n = n | 0 ; var i = 0 , a = 0 , o = 0 , s = 0 , l = 0 , d = 0 , u = 0 , p = 0 , f = 0 , m = 0 , h = 0 , g = 0 , _ = 0 , v = 0 , y = 0 , b = 0 , w = 0 , k = 0 , M = 0 , S = 0 , A = 0 , T = 0 , C = 0 , E = 0 ; i = r [ e + 12 >> 2 ] | 0 ; if ( ( i + - 1 | 0 ) >>> 0 >= 2 ) { a = 0 ; return a | 0 } o = r [ e + 16 >> 2 ] | 0 ; s = + ( o & 2097151 | 0 ) ; l = + Wn ( ( o | 0 ) < 0 ? - s : s , ( o >>> 21 & 1023 ) + - 788 | 0 ) ; o = r [ e + 20 >> 2 ] | 0 ; s = + ( o & 2097151 | 0 ) ; d = + Wn ( ( o | 0 ) < 0 ? - s : s , ( o >>> 21 & 1023 ) + - 788 | 0 ) ; o = r [ e >> 2 ] | 0 ; u = Jn ( W ( o , t ) | 0 , 4 ) | 0 ; switch ( i | 0 ) { case 1 : { i = r [ e + 4 >> 2 ] | 0 ; if ( ( o | 0 ) <= 0 ) while ( 1 ) { } t = ~ ~ + P ( + + O ( + + ( i | 0 ) , + ( 1 / + ( o | 0 ) ) ) ) ; while ( 1 ) { p = t + 1 | 0 ; f = 1 ; m = 1 ; h = 0 ; do { f = W ( f , t ) | 0 ; m = W ( m , p ) | 0 ; h = h + 1 | 0 } while ( ( h | 0 ) != ( o | 0 ) ) ; if ( ( m | 0 ) > ( i | 0 ) & ( f | 0 ) <= ( i | 0 ) ) break ; else t = ( ( f | 0 ) > ( i | 0 ) ? - 1 : 1 ) + t | 0 } if ( ( i | 0 ) <= 0 ) { a = u ; return a | 0 } h = ( n | 0 ) == 0 ; p = e + 8 | 0 ; g = e + 32 | 0 ; s = d ; _ = l ; v = e + 28 | 0 ; y = 0 ; b = 0 ; while ( 1 ) { if ( h ) { w = r [ g >> 2 ] | 0 ; k = W ( y , o ) | 0 ; if ( ! ( r [ v >> 2 ] | 0 ) ) { M = 1 ; S = 0 ; do { c [ u + ( k + S << 2 ) >> 2 ] = _ + + D ( + + ( r [ w + ( ( ( ( b | 0 ) / ( M | 0 ) | 0 | 0 ) % ( t | 0 ) | 0 ) << 2 ) >> 2 ] | 0 ) ) * s ; M = W ( M , t ) | 0 ; S = S + 1 | 0 } while ( ( S | 0 ) < ( o | 0 ) ) ; A = 21 } else { S = 1 ; M = 0 ; T = 0 ; do { T = T + _ + + D ( + + ( r [ w + ( ( ( ( b | 0 ) / ( S | 0 ) | 0 | 0 ) % ( t | 0 ) | 0 ) << 2 ) >> 2 ] | 0 ) ) * s ; c [ u + ( k + M << 2 ) >> 2 ] = T ; S = W ( S , t ) | 0 ; M = M + 1 | 0 } while ( ( M | 0 ) < ( o | 0 ) ) ; A = 21 } } else if ( r [ ( r [ p >> 2 ] | 0 ) + ( b << 2 ) >> 2 ] | 0 ) { M = r [ g >> 2 ] | 0 ; S = W ( r [ n + ( y << 2 ) >> 2 ] | 0 , o ) | 0 ; if ( ! ( r [ v >> 2 ] | 0 ) ) { k = 1 ; w = 0 ; do { c [ u + ( S + w << 2 ) >> 2 ] = _ + + D ( + + ( r [ M + ( ( ( ( b | 0 ) / ( k | 0 ) | 0 | 0 ) % ( t | 0 ) | 0 ) << 2 ) >> 2 ] | 0 ) ) * s ; k = W ( k , t ) | 0 ; w = w + 1 | 0 } while ( ( w | 0 ) < ( o | 0 ) ) ; A = 21 } else { w = 1 ; k = 0 ; T = 0 ; do { T = T + _ + + D ( + + ( r [ M + ( ( ( ( b | 0 ) / ( w | 0 ) | 0 | 0 ) % ( t | 0 ) | 0 ) << 2 ) >> 2 ] | 0 ) ) * s ; c [ u + ( S + k << 2 ) >> 2 ] = T ; w = W ( w , t ) | 0 ; k = k + 1 | 0 } while ( ( k | 0 ) < ( o | 0 ) ) ; A = 21 } } else C = y ; if ( ( A | 0 ) == 21 ) { A = 0 ; C = y + 1 | 0 } b = b + 1 | 0 ; if ( ( b | 0 ) >= ( i | 0 ) ) { a = u ; break } else y = C } return a | 0 } case 2 : { C = r [ e + 4 >> 2 ] | 0 ; if ( ( C | 0 ) <= 0 ) { a = u ; return a | 0 } y = ( n | 0 ) != 0 ; i = e + 8 | 0 ; b = e + 32 | 0 ; s = d ; d = l ; A = e + 28 | 0 ; e = ( o | 0 ) > 0 ; t = 0 ; v = 0 ; while ( 1 ) { if ( y ? ( r [ ( r [ i >> 2 ] | 0 ) + ( v << 2 ) >> 2 ] | 0 ) == 0 : 0 ) E = t ; else { if ( e ) { g = r [ b >> 2 ] | 0 ; p = ( r [ A >> 2 ] | 0 ) == 0 ; if ( y ) { h = W ( o , v ) | 0 ; k = W ( r [ n + ( t << 2 ) >> 2 ] | 0 , o ) | 0 ; if ( p ) { w = 0 ; do { c [ u + ( k + w << 2 ) >> 2 ] = d + + D ( + + ( r [ g + ( h + w << 2 ) >> 2 ] | 0 ) ) * s ; w = w + 1 | 0 } while ( ( w | 0 ) < ( o | 0 ) ) } else { w = 0 ; l = 0 ; do { l = l + d + + D ( + + ( r [ g + ( h + w << 2 ) >> 2 ] | 0 ) ) * s ; c [ u + ( k + w << 2 ) >> 2 ] = l ; w = w + 1 | 0 } while ( ( w | 0 ) < ( o | 0 ) ) } } else { w = W ( o , v ) | 0 ; k = W ( t , o ) | 0 ; if ( p ) { h = 0 ; do { c [ u + ( k + h << 2 ) >> 2 ] = d + + D ( + + ( r [ g + ( w + h << 2 ) >> 2 ] | 0 ) ) * s ; h = h + 1 | 0 } while ( ( h | 0 ) < ( o | 0 ) ) } else { h = 0 ; l = 0 ; do { l = l + d + + D ( + + ( r [ g + ( w + h << 2 ) >> 2 ]
b = l << p ; l = ( b + 245760 | 0 ) >>> 16 & 2 ; s = 14 - ( p | u | l ) + ( b << l >>> 15 ) | 0 ; P = y >>> ( s + 7 | 0 ) & 1 | s << 1 } else P = 0 ; s = r [ 58292 + ( P << 2 ) >> 2 ] | 0 ; e : do if ( ! s ) { D = _ ; R = 0 ; O = 0 ; N = 81 } else { l = _ ; b = 0 ; u = y << ( ( P | 0 ) == 31 ? 0 : 25 - ( P >>> 1 ) | 0 ) ; p = s ; v = 0 ; while ( 1 ) { c = ( r [ p + 4 >> 2 ] & - 8 ) - y | 0 ; if ( c >>> 0 < l >>> 0 ) if ( ! c ) { L = 0 ; F = p ; U = p ; N = 85 ; break e } else { B = c ; H = p } else { B = l ; H = v } c = r [ p + 20 >> 2 ] | 0 ; p = r [ p + 16 + ( u >>> 31 << 2 ) >> 2 ] | 0 ; f = ( c | 0 ) == 0 | ( c | 0 ) == ( p | 0 ) ? b : c ; c = ( p | 0 ) == 0 ; if ( c ) { D = B ; R = f ; O = H ; N = 81 ; break } else { l = B ; b = f ; u = u << ( ( c ^ 1 ) & 1 ) ; v = H } } } while ( 0 ) ; if ( ( N | 0 ) == 81 ) { if ( ( R | 0 ) == 0 & ( O | 0 ) == 0 ) { s = 2 << P ; _ = h & ( s | 0 - s ) ; if ( ! _ ) { x = y ; break } s = ( _ & 0 - _ ) + - 1 | 0 ; _ = s >>> 12 & 16 ; i = s >>> _ ; s = i >>> 5 & 8 ; a = i >>> s ; i = a >>> 2 & 4 ; o = a >>> i ; a = o >>> 1 & 2 ; d = o >>> a ; o = d >>> 1 & 1 ; j = r [ 58292 + ( ( s | _ | i | a | o ) + ( d >>> o ) << 2 ) >> 2 ] | 0 ; V = 0 } else { j = R ; V = O } if ( ! j ) { q = D ; z = V } else { L = D ; F = j ; U = V ; N = 85 } } if ( ( N | 0 ) == 85 ) while ( 1 ) { N = 0 ; o = ( r [ F + 4 >> 2 ] & - 8 ) - y | 0 ; d = o >>> 0 < L >>> 0 ; a = d ? o : L ; o = d ? F : U ; F = r [ F + 16 + ( ( ( r [ F + 16 >> 2 ] | 0 ) == 0 & 1 ) << 2 ) >> 2 ] | 0 ; if ( ! F ) { q = a ; z = o ; break } else { L = a ; U = o ; N = 85 } } if ( ( z | 0 ) != 0 ? q >>> 0 < ( ( r [ 14499 ] | 0 ) - y | 0 ) >>> 0 : 0 ) { o = r [ 14501 ] | 0 ; if ( z >>> 0 < o >>> 0 ) pe ( ) ; a = z + y | 0 ; if ( z >>> 0 >= a >>> 0 ) pe ( ) ; d = r [ z + 24 >> 2 ] | 0 ; i = r [ z + 12 >> 2 ] | 0 ; do if ( ( i | 0 ) == ( z | 0 ) ) { _ = z + 20 | 0 ; s = r [ _ >> 2 ] | 0 ; if ( ! s ) { v = z + 16 | 0 ; u = r [ v >> 2 ] | 0 ; if ( ! u ) { W = 0 ; break } else { G = u ; K = v } } else { G = s ; K = _ } while ( 1 ) { _ = G + 20 | 0 ; s = r [ _ >> 2 ] | 0 ; if ( s | 0 ) { G = s ; K = _ ; continue } _ = G + 16 | 0 ; s = r [ _ >> 2 ] | 0 ; if ( ! s ) break ; else { G = s ; K = _ } } if ( K >>> 0 < o >>> 0 ) pe ( ) ; else { r [ K >> 2 ] = 0 ; W = G ; break } } else { _ = r [ z + 8 >> 2 ] | 0 ; if ( _ >>> 0 < o >>> 0 ) pe ( ) ; s = _ + 12 | 0 ; if ( ( r [ s >> 2 ] | 0 ) != ( z | 0 ) ) pe ( ) ; v = i + 8 | 0 ; if ( ( r [ v >> 2 ] | 0 ) == ( z | 0 ) ) { r [ s >> 2 ] = i ; r [ v >> 2 ] = _ ; W = i ; break } else pe ( ) } while ( 0 ) ; e : do if ( d ) { i = r [ z + 28 >> 2 ] | 0 ; o = 58292 + ( i << 2 ) | 0 ; do if ( ( z | 0 ) == ( r [ o >> 2 ] | 0 ) ) { r [ o >> 2 ] = W ; if ( ! W ) { _ = h & ~ ( 1 << i ) ; r [ 14498 ] = _ ; Y = _ ; break e } } else if ( d >>> 0 >= ( r [ 14501 ] | 0 ) >>> 0 ) { r [ d + 16 + ( ( ( r [ d + 16 >> 2 ] | 0 ) != ( z | 0 ) & 1 ) << 2 ) >> 2 ] = W ; if ( ! W ) { Y = h ; break e } else break } else pe ( ) ; while ( 0 ) ; i = r [ 14501 ] | 0 ; if ( W >>> 0 < i >>> 0 ) pe ( ) ; r [ W + 24 >> 2 ] = d ; o = r [ z + 16 >> 2 ] | 0 ; do if ( o | 0 ) if ( o >>> 0 < i >>> 0 ) pe ( ) ; else { r [ W + 16 >> 2 ] = o ; r [ o + 24 >> 2 ] = W ; break } while ( 0 ) ; o = r [ z + 20 >> 2 ] | 0 ; if ( o ) if ( o >>> 0 < ( r [ 14501 ] | 0 ) >>> 0 ) pe ( ) ; else { r [ W + 20 >> 2 ] = o ; r [ o + 24 >> 2 ] = W ; Y = h ; break } else Y = h } else Y = h ; while ( 0 ) ; do if ( q >>> 0 >= 16 ) { r [ z + 4 >> 2 ] = y | 3 ; r [ a + 4 >> 2 ] = q | 1 ; r [ a + q >> 2 ] = q ; h = q >>> 3 ; if ( q >>> 0 < 256 ) { d = 58028 + ( h << 1 << 2 ) | 0 ; o = r [ 14497 ] | 0 ; i = 1 << h ; if ( o & i ) { h = d + 8 | 0 ; _ = r [ h >> 2 ] | 0 ; if ( _ >>> 0 < ( r [ 14501 ] | 0 ) >>> 0 ) pe ( ) ; else { X = h ; J = _ } } else { r [ 14497 ] = o | i ; X = d + 8 | 0 ; J = d } r [ X >> 2 ] = a ; r [ J + 12 >> 2 ] = a ; r [ a + 8 >> 2 ] = J ; r [ a + 12 >> 2 ] = d ; break } d = q >>> 8 ; if ( d ) if ( q >>> 0 > 16777215 ) Z = 31 ; else { i = ( d + 1048320 | 0 ) >>> 16 & 8 ; o = d << i ; d = ( o + 520192 | 0 ) >>> 16 & 4 ; _ = o << d ; o = ( _ + 245760 | 0 ) >>> 16 & 2 ; h = 14 - ( d | i | o ) + ( _ << o >>> 15 ) | 0 ; Z = q >>> ( h + 7 | 0 ) & 1 | h << 1 } else Z = 0 ; h = 58292 + ( Z << 2 ) | 0 ; r [ a + 28 >> 2 ] = Z ; o = a + 16 | 0 ; r [ o + 4 >> 2 ] = 0 ; r [ o >> 2 ] = 0 ; o = 1 << Z ; if ( ! ( Y & o ) ) { r [ 14498 ] = Y | o ; r [ h >> 2 ] = a ; r [ a + 24 >> 2 ] = h ; r [ a + 12 >> 2 ] = a ; r [ a + 8 >> 2 ] = a ; break } o = q << ( ( Z | 0 ) == 31 ? 0 : 25 - ( Z >>> 1 ) | 0 ) ; _ = r [ h >> 2 ] | 0 ; while ( 1 ) { if ( ( r [ _ + 4 >> 2 ] & - 8 | 0 ) == ( q | 0 ) ) { N = 139 ; break } Q = _ + 16 + ( o >>> 31 << 2 ) | 0 ; h = r [ Q >> 2 ] | 0 ; if ( ! h ) { N = 136 ; break } else { o = o << 1 ; _ = h } } if ( ( N | 0 ) == 136 ) if ( Q >>> 0 < ( r [ 14501 ] | 0 ) >>> 0 ) pe ( ) ; else { r [ Q >> 2 ] = a ; r [ a + 24 >> 2 ] = _ ; r [ a + 12 >> 2 ] = a ; r [ a + 8 >> 2 ] = a ; break } else if ( ( N | 0 ) == 139 ) { o = _ + 8 | 0 ; h = r [ o >> 2 ] | 0 ; i = r [ 14501 ] | 0 ; if ( h >>> 0 >= i >>> 0 & _ >>> 0 >= i >>> 0 ) { r [ h + 12 >> 2 ] = a ; r [ o >> 2 ] = a ; r [ a + 8 >> 2 ] = h ; r [ a + 12 >> 2 ] = _ ; r [ a + 24 >> 2 ] = 0 ; break } else pe ( ) } } else { h = q + y | 0 ; r [ z + 4 >> 2 ] = h | 3 ; o = z + h + 4 | 0 ; r [ o >> 2 ] = r [ o >> 2 ] | 1 } while ( 0 ) ; g = z + 8 | 0 ; m = t ; return g | 0 } else x = y } else x = y } else x = - 1 ; while ( 0 ) ; z = r [ 14499 ] | 0 ; if ( z >>> 0 >= x >>> 0 ) { q = z - x | 0 ; Q = r [ 14502 ] | 0 ; if ( q >>> 0 > 15 ) { Z = Q + x | 0 ; r [ 14502 ] = Z ; r [ 14499 ] = q ; r [ Z + 4 >> 2 ] = q | 1 ; r [ Z + q >> 2 ] = q ; r [ Q + 4 >> 2 ] = x | 3 } else { r [ 14499 ] = 0 ; r [ 14502 ] = 0 ; r [ Q + 4 >> 2 ] = z | 3 ; q = Q + z + 4 | 0 ; r [ q >> 2 ] = r [ q >> 2 ] | 1 } g = Q + 8 | 0 ; m = t ; return g | 0 } Q = r [ 14500 ] | 0 ; if ( Q >>> 0 > x >>> 0 ) { q = Q - x | 0 ; r [ 14500 ] = q ; z = r [ 14503 ] | 0 ; Z = z + x | 0 ; r [ 14503 ] = Z ; r [ Z + 4 >> 2 ] = q | 1 ; r [ z + 4 >> 2 ] = x | 3 ; g = z + 8 | 0 ; m = t ; return g | 0 } if ( ! ( r [ 14615 ] | 0 ) ) { r [ 14617 ] = 4096 ; r [ 14616 ] = 4096 ; r [ 14618 ] = - 1 ; r [ 14619 ] = - 1 ; r [ 14620 ] = 0 ; r [ 14608 ] = 0 ; z = n & - 16 ^ 1431655768 ; r [ n >> 2 ] = z ; r [ 14615 ] = z ; ee = 4096 } else ee = r [ 14617 ] | 0 ; z = x + 48 | 0 ; n = x + 47 | 0 ; q = ee + n | 0 ; Z = 0 - ee | 0 ; ee = q & Z ; if ( ee >>> 0 <= x >>> 0 ) { g = 0 ; m = t ; return g | 0 } Y = r [ 14607 ] | 0 ; if ( Y | 0 ? ( J = r [ 14605 ] | 0 , X = J + ee | 0 , X >>> 0 <= J >>> 0 | X >>> 0 > Y >>> 0 ) : 0 ) { g = 0 ; m = t ; return g | 0 } e : do if ( ! ( r [ 14608 ] & 4 ) ) { Y = r [ 14503 ] | 0 ; t : do if ( Y ) { X = 58436 ; while ( 1 ) { J = r [ X >> 2 ] | 0 ; if ( J >>> 0 <= Y >>> 0 ? ( te = X + 4 | 0 , ( J + ( r [ te >> 2 ] | 0 ) | 0 ) >>> 0 > Y >>> 0 ) : 0 ) break ; J = r [ X + 8 >> 2 ] | 0 ; if ( ! J ) { N = 163 ; break t } else X = J } _ = q - Q & Z ; if ( _ >>> 0 < 2147483647 ) { J = si ( _ | 0 ) | 0 ; if ( ( J | 0 ) == ( ( r [ X >> 2 ] | 0 ) + ( r [ te >> 2 ] | 0 ) | 0 ) ) if ( ( J | 0 ) == ( - 1 | 0 ) ) ne = _ ; else { ie = J ; ae = _ ; N = 180 ; break e } else { re = J ; oe
} } ; e . exports = a } , function ( e , t ) { function n ( ) { function e ( ) { var e = 0 , n = function ( t ) { return e ++ , t < 2 ? t : n ( t - 2 ) + n ( t - 1 ) } , a = t ( ) ; n ( 30 ) ; var r = t ( ) - a ; i = e / r } var t , n = this ; t = window . performance && window . performance . now ? function ( ) { return window . performance . now ( ) } : function ( ) { return Date . now ( ) } ; var i = null ; Object . defineProperty ( n , "speed" , { get : function ( ) { return null === i && e ( ) , i } } ) , Object . defineProperty ( n , "slowCutoff" , { get : function ( ) { return 5e4 } } ) , Object . defineProperty ( n , "tooSlowCutoff" , { get : function ( ) { return 0 } } ) , Object . defineProperty ( n , "slow" , { get : function ( ) { return n . speed < n . slowCutoff } } ) , Object . defineProperty ( n , "tooSlow" , { get : function ( ) { return n . speed < n . tooSlowCutoff } } ) } e . exports = n } ] ) ; var root = "object" == typeof self && self . self === self && self || "object" == typeof global && global . global === global && global || this ; ! function ( e ) { var t = function ( n ) { var i = this ; if ( ! t . isRecordingSupported ( ) ) throw new Error ( "Recording is not supported in this browser" ) ; this . state = "inactive" , this . eventTarget = e . document . createDocumentFragment ( ) , this . audioContext = new e . AudioContext , this . monitorNode = this . audioContext . createGain ( ) , this . config = n = n || { } , this . config . command = "init" , this . config . bufferLength = n . bufferLength || 4096 , this . config . monitorGain = n . monitorGain || 0 , this . config . numberOfChannels = n . numberOfChannels || 1 , this . config . originalSampleRate = this . audioContext . sampleRate , this . config . encoderSampleRate = n . encoderSampleRate || 48e3 , this . config . encoderPath = n . encoderPath || "encoderWorker.min.js" , this . config . streamPages = n . streamPages || ! 1 , this . config . leaveStreamOpen = n . leaveStreamOpen || ! 1 , this . config . maxBuffersPerPage = n . maxBuffersPerPage || 40 , this . config . encoderApplication = n . encoderApplication || 2049 , this . config . encoderFrameSize = n . encoderFrameSize || 20 , this . config . resampleQuality = n . resampleQuality || 3 , this . config . streamOptions = n . streamOptions || { optional : [ ] , mandatory : { googEchoCancellation : ! 1 , googAutoGainControl : ! 1 , googNoiseSuppression : ! 1 , googHighpassFilter : ! 1 } } , this . setMonitorGain ( this . config . monitorGain ) , this . scriptProcessorNode = this . audioContext . createScriptProcessor ( this . config . bufferLength , this . config . numberOfChannels , this . config . numberOfChannels ) , this . scriptProcessorNode . onaudioprocess = function ( e ) { i . encodeBuffers ( e . inputBuffer ) } } ; t . isRecordingSupported = function ( ) { return e . AudioContext && e . navigator && ( e . navigator . getUserMedia || e . navigator . mediaDevices && e . navigator . mediaDevices . getUserMedia ) } , t . prototype . addEventListener = function ( e , t , n ) { this . eventTarget . addEventListener ( e , t , n ) } , t . prototype . clearStream = function ( ) { this . stream && ( this . stream . getTracks ? this . stream . getTracks ( ) . forEach ( function ( e ) { e . stop ( ) } ) : this . stream . stop ( ) , delete this . stream ) } , t . prototype . encodeBuffers = function ( e ) { if ( "recording" === this . state ) { for ( var t = [ ] , n = 0 ; n < e . numberOfChannels ; n ++ ) t [ n ] = e . getChannelData ( n ) ; this . encoder . postMessage ( { command : "encode" , buffers : t } ) } } , t . prototype . initStream = function ( ) { var t = this , n = function ( n ) { return t . stream = n , t . sourceNode = t . audioContext . createMediaStreamSource ( n ) , t . sourceNode . connect ( t . scriptProcessorNode ) , t . sourceNode . connect ( t . monitorNode ) , t . eventTarget . dispatchEvent ( new e . Event ( "streamReady" ) ) , n } , i = function ( n ) { t . eventTarget . dispatchEvent ( new e . ErrorEvent ( "streamError" , { error : n } ) ) } , a = { audio : this . config . streamOptions } ; return this . stream ? ( this . eventTarget . dispatchEvent ( new e . Event ( "streamReady" ) ) , e . Promise . resolve ( this . stream ) ) : e . navigator . mediaDevices && e . navigator . mediaDevices . getUserMedia ? e . navigator . mediaDevices . getUserMedia ( a ) . then ( n , i ) : e . navigator . getUserMedia ? new e . Promise ( function ( t , n ) { e . navigator . getUserMedia ( a , t , n ) } ) . then ( n , i ) : void 0 } , t . prototype . pause = function ( ) { "recording" === this . state && ( this . state = "paused" , this . eventTarget . dispatchEvent ( new e . Event ( "pause" ) ) ) } , t . prototype . removeEventListener = function ( e , t , n ) { this . eventTarget . removeEventListener ( e , t , n ) } , t . prototype . resume = function ( ) { "paused" === this . state && ( this . state = "recording" , this . eventTarget . dispatchEvent ( new e . Event ( "resume" ) ) ) } , t . prototype . setMonitorGain = function ( e ) { this . monitorNode . gain . value = e } , t . prototype . start = function ( ) { if ( "inactive" === this . state && this . stream ) { var t = this ; this . encoder = new e . Worker ( this . config . encoderPath ) , this . config . stre
c = "webkitvisibilitychange" ) ) , { start : i } } ] ) . service ( "GeoLocationManager" , [ "$q" , function ( e ) { function t ( ) { return void 0 !== navigator . geolocation } function n ( n ) { if ( ! n && i ) return e . when ( i ) ; if ( ! t ( ) ) return e . reject ( ) ; var a = e . defer ( ) ; return navigator . geolocation . getCurrentPosition ( function ( e ) { i = { lat : e . coords . latitude , "long" : e . coords . longitude } , a . resolve ( i ) } , function ( e ) { a . reject ( e ) } ) , a . promise } var i = ! 1 ; return { getPosition : n , isAvailable : t } } ] ) . service ( "AppRuntimeManager" , [ "$window" , function ( e ) { return { reload : function ( ) { try { location . reload ( ) } catch ( t ) { } e . chrome && chrome . runtime && chrome . runtime . reload && chrome . runtime . reload ( ) } , close : function ( ) { try { e . close ( ) } catch ( t ) { } } , focus : function ( ) { window . navigator . mozApps && document . hidden ? window . navigator . mozApps . getSelf ( ) . onsuccess = function ( ) { this . result . launch ( ) } : ( window . chrome && chrome . app && chrome . app . window && chrome . app . window . current ( ) . focus ( ) , window . focus ( ) ) } } } ] ) . service ( "RichTextProcessor" , [ "$sce" , "$sanitize" , function ( e , t ) { function n ( e ) { for ( var t , n , i , a , r = 0 ; r < Config . EmojiCategories . length ; r ++ ) if ( a = Config . EmojiCategorySpritesheetDimens [ r ] [ 1 ] , t = Config . EmojiCategories [ r ] . indexOf ( e ) , t > - 1 ) return n = Math . floor ( t / a ) , i = t % a , { category : r , row : n , column : i } ; return console . error ( "emoji not found in spritesheet" , e ) , null } function i ( e , t ) { t = t || { } ; for ( var i , a , r , o , s , l = e , c = [ ] , u = 0 ; i = l . match ( A ) ; ) { if ( s = u + i . index , i [ 3 ] ) c . push ( { _ : "messageEntityMention" , offset : s + i [ 1 ] . length , length : i [ 2 ] . length + i [ 3 ] . length } ) ; else if ( i [ 4 ] ) if ( T . test ( i [ 4 ] ) ) c . push ( { _ : "messageEntityEmail" , offset : s , length : i [ 4 ] . length } ) ; else { var a = ! 1 , p = i [ 5 ] , f = i [ 6 ] , m = "" ; if ( f ) { if ( p || "xn--" !== f . substr ( 0 , 4 ) && Config . TLD . indexOf ( f . toLowerCase ( ) ) === - 1 || ( p = "http://" ) , p ) { var g = d ( i [ 4 ] ) ; g . length !== i [ 4 ] . length && ( m = i [ 4 ] . substring ( g . length ) , i [ 4 ] = g ) , a = ( i [ 5 ] ? "" : p ) + i [ 4 ] } } else a = ( i [ 5 ] ? "" : "http://" ) + i [ 4 ] ; a && c . push ( { _ : "messageEntityUrl" , offset : s , length : i [ 4 ] . length } ) } else i [ 7 ] ? c . push ( { _ : "messageEntityLinebreak" , offset : s , length : 1 } ) : i [ 8 ] ? ( r = EmojiHelper . emojiMap [ i [ 8 ] ] ) && ( o = n ( r ) ) && c . push ( { _ : "messageEntityEmoji" , offset : s , length : i [ 0 ] . length , coords : o , title : h [ r ] [ 1 ] [ 0 ] } ) : i [ 10 ] ? c . push ( { _ : "messageEntityHashtag" , offset : s + i [ 9 ] . length , length : i [ 10 ] . length } ) : i [ 12 ] && c . push ( { _ : "messageEntityBotCommand" , offset : s + i [ 11 ] . length , length : 1 + i [ 12 ] . length + ( i [ 13 ] ? 1 + i [ 13 ] . length : 0 ) } ) ; l = l . substr ( i . index + i [ 0 ] . length ) , u += i . index + i [ 0 ] . length } return c } function a ( e ) { return e . replace ( /:([a-z0-9\-\+\*_]+?):/gi , function ( e , t ) { var n = EmojiHelper . shortcuts [ t ] ; return void 0 !== n ? EmojiHelper . emojis [ n ] [ 0 ] : e } ) } function r ( e , t , n ) { if ( ! C . test ( e ) ) return n ? e : e . trim ( ) ; for ( var i , a , r = e , o = [ ] , s = 0 ; i = r . match ( E ) ; ) { a = s + i . index , o . push ( r . substr ( 0 , i . index ) ) ; var e = i [ 3 ] || i [ 8 ] || i [ 11 ] ; s -= e . length , e = e . replace ( /^\s+|\s+$/g , "" ) , s += e . length , e . match ( /^`*$/ ) ? o . push ( i [ 0 ] ) : i [ 3 ] ? ( "\n" == i [ 5 ] && ( i [ 5 ] = "" , s -= 1 ) , o . push ( i [ 1 ] + e + i [ 5 ] ) , t . push ( { _ : "messageEntityPre" , language : "" , offset : a + i [ 1 ] . length , length : e . length } ) , s -= i [ 2 ] . length + i [ 4 ] . length ) : i [ 7 ] ? ( o . push ( i [ 6 ] + e + i [ 9 ] ) , t . push ( { _ : x [ i [ 7 ] ] , offset : a + i [ 6 ] . length , length : e . length } ) , s -= 2 * i [ 7 ] . length ) : i [ 11 ] && ( o . push ( e ) , t . push ( { _ : "messageEntityMentionName" , user _id : i [ 10 ] , offset : a , length : e . length } ) , s -= i [ 0 ] . length - e . length ) , r = r . substr ( i . index + i [ 0 ] . length ) , s += i . index + i [ 0 ] . length } return o . push ( r ) , o = o . join ( "" ) , o . replace ( /\s+/g , "" ) . length || ( o = e , t . splice ( 0 , t . length ) ) , t . length || n || ( o = o . trim ( ) ) , o } function o ( e , t , n ) { var i , a , r , o , s , l , c , d , u , p = t . slice ( ) , f = e . length , m = t . length , h = 0 ; for ( i = 0 ; i < f ; i ++ ) if ( r = e [ i ] , ! n || "messageEntityLinebreak" == r . _ || "messageEntityEmoji" == r . _ ) { for ( s = r . offset , l = s + r . length , u = ! 1 , a = h ; a < m ; a ++ ) { if ( o = t [ a ] , c = o . offset , d = c + o . length , c <= s && ( h = a ) , s >= c && s < d || l > c && l <= d ) { n && s >= c && l <= d && ( void 0 === o . nested && ( o . nested = [ ] ) , r . offset -= c , o . nested . push ( angular . copy ( r ) ) ) , u = ! 0 ; break } if ( c >= l ) break } u || p . push ( r ) } return p . sort ( function ( e , t ) { return e . offset - t . offset } ) , p } function s ( e , t , n ) { return void 0 === t ? encodeEntities ( e ) : ( n . hasNested = ! 0 , l ( e , { entities : t , nested : ! 0 } ) ) } function l ( n , a ) { if ( ! n || ! n . length ) return "" ; a = a || { } ; var r = a . entities , o = a . contextSite || "Telegram" , l = "Telegram" != o , c = ! 1 ; void 0 === r && ( r = i ( n , a ) ) ; var d , p , m , h , _ = 0 , v = r . length , y = [ ] , b = 0 , w = a . emojiIconSize || g ; for ( _ = 0 ; _ < v ; _ ++ ) { if ( d = r [ _ ] , d . offset > b ) y . push ( encodeEntities ( n . substr ( b , d . offset - b ) ) ) ; else if ( d . offset < b ) con
var n = this ; i . get ( "dc" ) . then ( function ( e ) { t && ( e != n . dcID || n . upload || n . sleepAfter && tsNow ( ) > n . sleepAfter ) || n . sendLongPoll ( ) } ) } , u . prototype . sendLongPoll = function ( ) { var e = 25e3 , t = this ; this . longPollPending = tsNow ( ) + e , this . wrapMtpCall ( "http_wait" , { max _delay : 500 , wait _after : 150 , max _wait : e } , { noResponse : ! 0 , longPoll : ! 0 } ) . then ( function ( ) { delete t . longPollPending , setZeroTimeout ( t . checkLongPoll . bind ( t ) ) } , function ( ) { console . log ( "Long-poll failed" ) } ) } , u . prototype . pushMessage = function ( e , t ) { var n = s . defer ( ) ; return this . sentMessages [ e . msg _id ] = angular . extend ( e , t || { } , { deferred : n } ) , this . pendingMessages [ e . msg _id ] = 0 , t && t . noShedule || this . sheduleRequest ( ) , angular . isObject ( t ) && ( t . messageID = e . msg _id ) , n . promise } , u . prototype . pushResend = function ( e , t ) { var n = t ? tsNow ( ) + t : 0 , i = this . sentMessages [ e ] ; if ( i . container ) for ( var a = 0 ; a < i . inner . length ; a ++ ) this . pendingMessages [ i . inner [ a ] ] = n ; else this . pendingMessages [ e ] = n ; this . sheduleRequest ( t ) } , u . prototype . getMsgKeyIv = function ( e , t ) { var n = this . authKeyUint8 , i = t ? 0 : 8 , r = new Uint8Array ( 48 ) , o = new Uint8Array ( 48 ) , l = new Uint8Array ( 48 ) , c = new Uint8Array ( 48 ) , d = { } ; return r . set ( e , 0 ) , r . set ( n . subarray ( i , i + 32 ) , 16 ) , d . sha1a = a . sha1Hash ( r ) , o . set ( n . subarray ( i + 32 , i + 48 ) , 0 ) , o . set ( e , 16 ) , o . set ( n . subarray ( i + 48 , i + 64 ) , 32 ) , d . sha1b = a . sha1Hash ( o ) , l . set ( n . subarray ( i + 64 , i + 96 ) , 0 ) , l . set ( e , 32 ) , d . sha1c = a . sha1Hash ( l ) , c . set ( e , 0 ) , c . set ( n . subarray ( i + 96 , i + 128 ) , 16 ) , d . sha1d = a . sha1Hash ( c ) , s . all ( d ) . then ( function ( e ) { var t = new Uint8Array ( 32 ) , n = new Uint8Array ( 32 ) ; return sha1a = new Uint8Array ( e . sha1a ) , sha1b = new Uint8Array ( e . sha1b ) , sha1c = new Uint8Array ( e . sha1c ) , sha1d = new Uint8Array ( e . sha1d ) , t . set ( sha1a . subarray ( 0 , 8 ) ) , t . set ( sha1b . subarray ( 8 , 20 ) , 8 ) , t . set ( sha1c . subarray ( 4 , 16 ) , 20 ) , n . set ( sha1a . subarray ( 8 , 20 ) ) , n . set ( sha1b . subarray ( 0 , 8 ) , 12 ) , n . set ( sha1c . subarray ( 16 , 20 ) , 20 ) , n . set ( sha1d . subarray ( 0 , 8 ) , 24 ) , [ t , n ] } ) } , u . prototype . checkConnection = function ( e ) { d . offlineConnecting = ! 0 , console . log ( dT ( ) , "Check connection" , e ) , l . cancel ( this . checkConnectionPromise ) ; var n = new TLSerialization ( { mtproto : ! 0 } ) , i = [ nextRandomInt ( 4294967295 ) , nextRandomInt ( 4294967295 ) ] ; n . storeMethod ( "ping" , { ping _id : i } ) ; var a = { msg _id : t . generateID ( ) , seq _no : this . generateSeqNo ( ! 0 ) , body : n . getBytes ( ) } , r = this ; this . sendEncryptedRequest ( a , { timeout : 15e3 } ) . then ( function ( e ) { delete d . offlineConnecting , r . toggleOffline ( ! 1 ) } , function ( ) { console . log ( dT ( ) , "Delay " , 1e3 * r . checkConnectionPeriod ) , r . checkConnectionPromise = l ( r . checkConnection . bind ( r ) , parseInt ( 1e3 * r . checkConnectionPeriod ) ) , r . checkConnectionPeriod = Math . min ( 60 , 1.5 * r . checkConnectionPeriod ) , l ( function ( ) { delete d . offlineConnecting } , 1e3 ) } ) } , u . prototype . toggleOffline = function ( e ) { return ( void 0 === this . offline || this . offline != e ) && ( this . offline = e , d . offline = e , d . offlineConnecting = ! 1 , void ( this . offline ? ( l . cancel ( this . nextReqPromise ) , delete this . nextReq , this . checkConnectionPeriod < 1.5 && ( this . checkConnectionPeriod = 0 ) , this . checkConnectionPromise = l ( this . checkConnection . bind ( this ) , parseInt ( 1e3 * this . checkConnectionPeriod ) ) , this . checkConnectionPeriod = Math . min ( 30 , 1.5 * ( 1 + this . checkConnectionPeriod ) ) , this . onOnlineCb = this . checkConnection . bind ( this ) , $ ( document . body ) . on ( "online focus" , this . onOnlineCb ) ) : ( delete this . longPollPending , this . checkLongPoll ( ) , this . sheduleRequest ( ) , this . onOnlineCb && $ ( document . body ) . off ( "online focus" , this . onOnlineCb ) , l . cancel ( this . checkConnectionPromise ) ) ) ) } , u . prototype . performSheduledRequest = function ( ) { if ( this . offline || _ ) return console . log ( dT ( ) , "Cancel sheduled" ) , ! 1 ; if ( delete this . nextReq , this . pendingAcks . length ) { for ( var e = [ ] , n = 0 ; n < this . pendingAcks . length ; n ++ ) e . push ( this . pendingAcks [ n ] ) ; this . wrapMtpMessage ( { _ : "msgs_ack" , msg _ids : e } , { notContentRelated : ! 0 , noShedule : ! 0 } ) } if ( this . pendingResends . length ) { for ( var i = [ ] , a = { noShedule : ! 0 , notContentRelated : ! 0 } , n = 0 ; n < this . pendingResends . length ; n ++ ) i . push ( this . pendingResends [ n ] ) ; this . wrapMtpMessage ( { _ : "msg_resend_req" , msg _ids : i } , a ) , this . lastResendReq = { req _msg _id : a . messageID , resend _msg _ids : i } } var r , o = [ ] , s = 0 , l = tsNow ( ) , c = ! 1 , d = ! 1 , u = ! 1 , p = 0 , f = this ; if ( angular . forEach ( this . pendingMessages , function ( e , t ) { if ( ! e || e >= l ) { if ( r = f . sentMessages [ t ] ) { var n = ( r . body . byteLength || r . body . length ) + 32 ; if ( ! r . notContentRelated && u ) return ; if ( ! r . notContentRelated && s && s + n > 655360 ) return vo
var e = { id : s , first _name : ( this . result . givenName || [ ] ) . join ( " " ) , last _name : ( this . result . familyName || [ ] ) . join ( " " ) , phones : [ ] } ; if ( void 0 != this . result . tel ) for ( var t = 0 ; t < this . result . tel . length ; t ++ ) e . phones . push ( this . result . tel [ t ] . value ) ; if ( this . result . photo && this . result . photo [ 0 ] ) try { e . photo = i . getUrl ( this . result . photo [ 0 ] ) } catch ( a ) { } e . photo || ( e . photo = "img/placeholders/UserAvatar" + ( Math . abs ( s ) % 8 + 1 ) + "@2x.png" ) , e . photo = n . trustAsResourceUrl ( e . photo ) , s ++ , o . push ( e ) } return ! this . result || s >= 1e3 ? void r . resolve ( o ) : void this [ "continue" ] ( ) } , t . onerror = function ( e ) { console . log ( "phonebook error" , e , e . type , e . message ) , r . reject ( e ) } , r . promise } return { isAvailable : a , openPhonebookImport : r , getPhonebookContacts : o } } ] ) . service ( "AppChatsManager" , [ "$q" , "$rootScope" , "$modal" , "_" , "MtpApiManager" , "AppUsersManager" , "AppPhotosManager" , "RichTextProcessor" , function ( e , t , n , i , a , r , o , s ) { function l ( e ) { angular . forEach ( e , c ) } function c ( e ) { if ( angular . isObject ( e ) ) { e . rTitle = s . wrapRichText ( e . title , { noLinks : ! 0 , noLinebreaks : ! 0 } ) || i ( "chat_title_deleted" ) ; var n = A [ e . id ] , a = SearchIndexManager . cleanSearchText ( e . title || "" ) . split ( " " ) , r = a . shift ( ) , o = a . pop ( ) ; if ( e . initials = r . charAt ( 0 ) + ( o ? o . charAt ( 0 ) : r . charAt ( 1 ) ) , e . num = Math . abs ( e . id >> 1 ) % 8 + 1 , void 0 === e . pFlags && ( e . pFlags = { } ) , ! e . pFlags . min || void 0 === n ) { if ( e . username ) { var l = SearchIndexManager . cleanUsername ( e . username ) ; T [ l ] = e . id } void 0 === n ? n = A [ e . id ] = e : ( safeReplaceObject ( n , e ) , t . $broadcast ( "chat_update" , e . id ) ) , void 0 !== $ [ e . id ] && safeReplaceObject ( $ [ e . id ] , e && e . photo && e . photo . photo _small || { empty : ! 0 } ) } } } function d ( e ) { return A [ e ] || { id : e , deleted : ! 0 , access _hash : C [ e ] } } function u ( e , t ) { if ( void 0 === A [ e ] ) return ! 1 ; var n = d ( e ) ; if ( "chatForbidden" == n . _ || "channelForbidden" == n . _ || n . pFlags . kicked || n . pFlags . left ) return ! 1 ; if ( n . pFlags . creator ) return ! 0 ; switch ( t ) { case "send" : if ( "channel" == n . _ && ! n . pFlags . megagroup && ! n . pFlags . editor ) return ! 1 ; break ; case "edit_title" : case "edit_photo" : case "invite" : if ( "channel" == n . _ ) { if ( ! n . pFlags . megagroup ) return ! 1 ; if ( ! ( n . pFlags . editor || "invite" == t && n . pFlags . democracy ) ) return ! 1 } else if ( n . pFlags . admins _enabled && ! n . pFlags . admin ) return ! 1 } return ! 0 } function p ( e ) { return T [ e ] || 0 } function f ( e , t ) { C [ e ] = t } function m ( e ) { E [ e ] = ! 0 } function h ( e ) { var t = A [ e ] ; return ! ( ( ! t || "channel" != t . _ && "channelForbidden" != t . _ ) && ! C [ e ] ) } function g ( e ) { if ( E [ e ] ) return ! 0 ; var t = A [ e ] ; return ! ( ! t || "channel" != t . _ || ! t . pFlags . megagroup ) } function _ ( e ) { return h ( e ) && ! g ( e ) } function v ( e ) { return e || 0 } function y ( e ) { return e ? { _ : "inputChannel" , channel _id : e , access _hash : d ( e ) . access _hash || C [ e ] || 0 } : { _ : "inputChannelEmpty" } } function b ( e , t ) { var n = A [ e ] ; return angular . isObject ( n ) && ( t || ! n . pFlags . min ) } function w ( e ) { var t = d ( e ) ; return void 0 === $ [ e ] && ( $ [ e ] = t && t . photo && t . photo . photo _small || { empty : ! 0 } ) , { placeholder : "img/placeholders/GroupAvatar" + Math . ceil ( t . num / 2 ) + "@2x.png" , location : $ [ e ] } } function k ( e ) { var t = d ( e ) ; return h ( e ) ? ( g ( e ) ? "s" : "c" ) + e + "_" + t . access _hash : "g" + e } function M ( e , t ) { var n = angular . copy ( t ) , i = d ( e ) ; if ( n . participants && "chatParticipants" == n . participants . _ && a . getUserID ( ) . then ( function ( e ) { var t = i . pFlags . creator || i . pFlags . admins _enabled && i . pFlags . admin ; angular . forEach ( n . participants . participants , function ( n ) { n . canLeave = e == n . user _id , n . canKick = ! n . canLeave && ( i . pFlags . creator || "chatParticipant" == n . _ && ( t || e == n . inviter _id ) ) , n . user = r . getUser ( n . user _id ) } ) } ) , n . participants && "channelParticipants" == n . participants . _ ) { var o = i . pFlags . creator || i . pFlags . editor || i . pFlags . moderator ; angular . forEach ( n . participants . participants , function ( e ) { e . canLeave = ! i . pFlags . creator && "channelParticipantSelf" == e . _ , e . canKick = o && "channelParticipant" == e . _ , e . user = r . getUser ( e . user _id ) } ) } return n . about && ( n . rAbout = s . wrapRichText ( n . about , { noLinebreaks : ! 0 } ) ) , n . peerString = k ( e ) , n . chat = i , n } function S ( e , i ) { var a = t . $new ( ) ; if ( a . chatID = e , h ( e ) ) { n . open ( { templateUrl : templateUrl ( "channel_modal" ) , controller : "ChannelModalController" , scope : a , windowClass : "chat_modal_window channel_modal_window mobile_modal" } ) } else { n . open ( { templateUrl : templateUrl ( "chat_modal" ) , controller : "ChatModalController" , scope : a , windowClass : "chat_modal_window mobile_modal" } ) } } var A = { } , T = { } , C = { } , E = { } , $ = { } ; return t . $on ( "apiUpdate" , function ( e , n ) { switch ( n . _ ) { case "updateChannel" : var i = n . channel _id ; t . $broadcast
tsNow ( ) - e . time < 36e5 ) ) && e . peer } ) } function A ( e , t , i ) { n . $broadcast ( "history_focus" , { peerString : t , attachment : { _ : "inline_query" , mention : "@" + f . getUser ( e ) . username , query : i } } ) } function T ( e , t ) { var n = s . getMessage ( e ) , i = n . viaBotID || n . fromID ; if ( t . pFlags && t . pFlags . same _peer ) { var a = s . getMessagePeer ( n ) , r = m . getPeerString ( a ) ; return void A ( i , r , t . query ) } return S ( i ) . then ( function ( e ) { return e ? A ( i , e , t . query ) : void g . selectPeer ( { canSend : ! 0 } ) . then ( function ( e ) { return A ( i , e , t . query ) } ) } ) } function C ( e , t ) { var n = s . getMessage ( e ) , i = ( n . fromID , s . getMessagePeer ( n ) ) ; return o . invokeApi ( "messages.getBotCallbackAnswer" , { flags : 1 , peer : m . getInputPeerByID ( i ) , msg _id : l . getMessageLocalID ( e ) , data : t . data } , { timeout : 1 , stopTime : - 1 , noErrorBox : ! 0 } ) . then ( function ( e ) { if ( "string" == typeof e . message && e . message . length ) $ ( e . message , e . pFlags . alert ) ; else if ( "string" == typeof e . url ) { var t = p . wrapUrl ( e . url , ! 0 ) ; h . openUrl ( t ) } } ) } function E ( e ) { var t = s . getMessage ( e ) , n = s . getMessagePeer ( t ) ; return o . invokeApi ( "messages.getBotCallbackAnswer" , { flags : 2 , peer : m . getInputPeerByID ( n ) , msg _id : l . getMessageLocalID ( e ) } , { timeout : 1 , stopTime : - 1 , noErrorBox : ! 0 } ) . then ( function ( n ) { "string" == typeof n . message && n . message . length ? $ ( n . message , n . pFlags . alert ) : "string" == typeof n . url && u . openGame ( t . media . game . id , e , n . url ) } ) } function $ ( e , t ) { if ( "string" == typeof e && e . length ) { var n = p . wrapRichText ( e , { noLinks : ! 0 , noLinebreaks : ! 0 } ) ; t ? r . show ( { title _html : n , alert : ! 0 } ) : i . pop ( { type : "info" , body : n . valueOf ( ) , bodyOutputType : "trustedHtml" , showCloseButton : ! 1 } ) } } function I ( e , t , n ) { var i = P [ t ] ; if ( void 0 === i ) return ! 1 ; y ( i . botID ) ; var a = t . split ( "_" ) , r = a . shift ( ) , o = a . join ( "_" ) ; if ( n = n || { } , n . viaBotID = i . botID , n . queryID = r , n . resultID = o , i . send _message . reply _markup && ( n . reply _markup = i . send _message . reply _markup ) , "botInlineMessageText" == i . send _message . _ ) n . entities = i . send _message . entities , s . sendText ( e , i . send _message . message , n ) ; else { var l = "" , c = ! 1 ; switch ( i . send _message . _ ) { case "botInlineMessageMediaAuto" : if ( l = i . send _message . caption , "botInlineMediaResult" == i . _ ) { var d = i . document , u = i . photo ; c = d ? { _ : "inputMediaDocument" , id : { _ : "inputDocument" , id : d . id , access _hash : d . access _hash } , caption : l } : { _ : "inputMediaPhoto" , id : { _ : "inputPhoto" , id : u . id , access _hash : u . access _hash } , caption : l } } break ; case "botInlineMessageMediaGeo" : c = { _ : "inputMediaGeoPoint" , geo _point : { _ : "inputGeoPoint" , lat : i . send _message . geo . lat , "long" : i . send _message . geo [ "long" ] } } ; break ; case "botInlineMessageMediaVenue" : c = { _ : "inputMediaVenue" , geo _point : { _ : "inputGeoPoint" , lat : i . send _message . geo . lat , "long" : i . send _message . geo [ "long" ] } , title : i . send _message . title , address : i . send _message . address , provider : i . send _message . provider , venue _id : i . send _message . venue _id } ; break ; case "botInlineMessageMediaContact" : c = { _ : "inputMediaContact" , phone _number : i . send _message . phone _number , first _name : i . send _message . first _name , last _name : i . send _message . last _name } } c || ( c = { _ : "messageMediaPending" , type : i . type , file _name : i . title || i . content _url || i . url , size : 0 , progress : { percent : 30 , total : 0 } } ) , s . sendOther ( e , c , n ) } } function x ( e ) { var n = "bot_access_geo" + e ; return a . get ( n ) . then ( function ( e ) { return ! ( ! e || ! e . granted ) || r . confirm ( { type : "BOT_ACCESS_GEO_INLINE" } ) . then ( function ( ) { var e = { } ; return e [ n ] = { granted : ! 0 , time : tsNow ( ) } , a . set ( e ) , ! 0 } , function ( ) { var e = { } ; return e [ n ] = { denied : ! 0 , time : tsNow ( ) } , a . set ( e ) , t . reject ( ) } ) } ) } var P = { } ; return { resolveInlineMention : b , getPopularBots : v , sendInlineResult : I , getInlineResults : w , regroupWrappedResults : k , switchToPM : M , checkSwitchReturn : S , switchInlineButtonClick : T , callbackButtonClick : C , gameButtonClick : E } } ] ) . service ( "ApiUpdatesManager" , [ "$rootScope" , "MtpNetworkerFactory" , "AppUsersManager" , "AppChatsManager" , "AppPeersManager" , "MtpApiManager" , function ( e , t , n , i , a , r ) { function o ( ) { var e = _ . seq + 1 , t = _ . pendingSeqUpdates [ e ] ; if ( ! t ) return ! 1 ; for ( var n , i , a = t . updates , n = 0 , i = a . length ; n < i ; n ++ ) h ( a [ n ] ) ; return _ . seq = t . seq , t . date && _ . date < t . date && ( _ . date = t . date ) , delete _ . pendingSeqUpdates [ e ] , ! o ( ) && _ . syncPending && _ . syncPending . seqAwaiting && _ . seq >= _ . syncPending . seqAwaiting && ( _ . syncPending . ptsAwaiting ? delete _ . syncPending . seqAwaiting : ( clearTimeout ( _ . syncPending . timeout ) , _ . syncPending = ! 1 ) ) , ! 0 } function s ( e ) { var t = e ? f ( e ) : _ ; if ( ! t . pendingPtsUpdates . length ) return ! 1 ; t . pendingPtsUpdates . sort ( function
i . length > r && ! a . indexOf ( i ) && ( r = i . length , o = h ( Config . CountryCodes [ t ] [ 1 ] + "_raw" ) ) ; e . credentials . phone _full = a , e . credentials . phone _country _name = o || h ( "login_controller_unknown_country_raw" ) } function b ( e ) { o . setUserAuth ( S . dcID , { id : e . user . id } ) , i . cancel ( T ) , n . url ( "/im" ) } function w ( t ) { e . credentials . type = t . type , e . nextPending . type = t . next _type || ! 1 , e . nextPending . remaining = t . timeout || ! 1 , delete e . nextPending . progress , k ( ) , onContentLoaded ( function ( ) { e . $broadcast ( "ui_height" ) } ) } function k ( ) { i . cancel ( T ) , e . nextPending . type && e . nextPending . remaining !== ! 1 && -- e . nextPending . remaining > 0 && ( T = i ( k , 1e3 ) ) } function M ( ) { return c . getState ( S ) . then ( function ( t ) { return e . password = t } ) } r . dismissAll ( ) , u . start ( ) , o . getUserID ( ) . then ( function ( e ) { return e ? void n . url ( "/im" ) : "http:" != location . protocol || Config . Modes . http || Config . App . domains . indexOf ( location . hostname ) == - 1 ? ( m . setAuthorized ( ! 1 ) , void f . forceUnsubscribe ( ) ) : void ( location . href = location . href . replace ( /^http:/ , "https:" ) ) } ) ; var S = { dcID : 2 , createNetworker : ! 0 } , A = ! 1 ; e . credentials = { phone _country : "" , phone _country _name : "" , phone _number : "" , phone _full : "" } , e . progress = { } , e . nextPending = { } , e . about = { } , e . chooseCountry = function ( ) { var e = a . open ( { templateUrl : templateUrl ( "country_select_modal" ) , controller : "CountrySelectModalController" , windowClass : "countries_modal_window mobile_modal" , backdrop : "single" } ) ; e . result . then ( v ) } , e . $watch ( "credentials.phone_country" , y ) , e . $watch ( "credentials.phone_number" , y ) , g ( ) ; var T ; e . sendCode = function ( ) { i . cancel ( T ) ; var n = ( e . credentials . phone _country || "" ) + ( e . credentials . phone _number || "" ) , a = ! n . match ( /^[\d\-+\s]+$/ ) ; return a || ( n = n . replace ( /\D/g , "" ) , n . length < 7 && ( a = ! 0 ) ) , a ? ( e . progress . enabled = ! 1 , void ( e . error = { field : "phone" } ) ) : void s . confirm ( { type : "LOGIN_PHONE_CORRECT" , country _code : e . credentials . phone _country , phone _number : e . credentials . phone _number } ) . then ( function ( ) { e . progress . enabled = ! 0 , onContentLoaded ( function ( ) { e . $broadcast ( "ui_height" ) } ) ; var n = tsNow ( ) ; o . invokeApi ( "auth.sendCode" , { flags : 0 , phone _number : e . credentials . phone _full , api _id : Config . App . id , api _hash : Config . App . hash , lang _code : navigator . language || "en" } , S ) . then ( function ( t ) { e . progress . enabled = ! 1 , e . error = { } , e . about = { } , e . credentials . phone _code _hash = t . phone _code _hash , w ( t ) } , function ( t ) { switch ( e . progress . enabled = ! 1 , console . log ( "sendCode error" , t ) , t . type ) { case "PHONE_NUMBER_INVALID" : e . error = { field : "phone" } , t . handled = ! 0 ; break ; case "PHONE_NUMBER_APP_SIGNUP_FORBIDDEN" : e . error = { field : "phone" } } } ) [ "finally" ] ( function ( ) { ( t . idle . isIDLE || tsNow ( ) - n > 6e4 ) && l . notify ( { title : "Telegram" , message : "Your authorization key was successfully generated! Open the app to log in." , tag : "auth_key" } ) } ) } ) } , e . sendNext = function ( ) { ! e . nextPending . type || e . nextPending . remaining > 0 || ( e . nextPending . progress = ! 0 , o . invokeApi ( "auth.resendCode" , { phone _number : e . credentials . phone _full , phone _code _hash : e . credentials . phone _code _hash } , S ) . then ( w ) ) } , e . editPhone = function ( ) { i . cancel ( T ) , e . credentials . phone _full && e . credentials . phone _code _hash && o . invokeApi ( "auth.cancelCode" , { phone _number : e . credentials . phone _full , phone _code _hash : e . credentials . phone _code _hash } , S ) , delete e . credentials . phone _code _hash , delete e . credentials . phone _unoccupied , delete e . credentials . phone _code _valid , delete e . nextPending . remaining } , e . $watch ( "credentials.phone_code" , function ( t ) { t && t . match ( /^\d+$/ ) && e . credentials . type && e . credentials . type . length && t . length == e . credentials . type . length && e . logIn ( ) } ) , e . logIn = function ( t ) { if ( ! e . progress . enabled || e . progress . forceSignUp != t ) { var n = "auth.signIn" , i = { phone _number : e . credentials . phone _full , phone _code _hash : e . credentials . phone _code _hash , phone _code : e . credentials . phone _code } ; t && ( n = "auth.signUp" , angular . extend ( i , { first _name : e . credentials . first _name || "" , last _name : e . credentials . last _name || "" } ) ) , e . progress . forceSignUp = t , e . progress . enabled = ! 0 , o . invokeApi ( n , i , S ) . then ( b , function ( t ) { if ( e . progress . enabled = ! 1 , 400 == t . code && "PHONE_NUMBER_UNOCCUPIED" == t . type ) return t . handled = ! 0 , e . credentials . phone _code _valid = ! 0 , e . credentials . phone _unoccupied = ! 0 , void ( e . about = { } ) ; if ( 400 == t . code && "PHONE_NUMBER_OCCUPIED" == t . type ) return t . handled = ! 0 , e . logIn ( ! 1 ) ; if ( 401 == t . code && "SESSION_PASSWORD_NEEDED" == t . type ) return e . progress . enabled = ! 0 , M ( ) . then ( function ( ) { e .
n . $broadcast ( "ui_message_send" ) } function y ( ) { var e = n . draftMessage . text ; e = g . parseEmojis ( e ) , p . editMessage ( V , e ) . then ( function ( ) { V = ! 1 , k ( ) , n . $broadcast ( "ui_message_send" ) , i ( function ( ) { n . $broadcast ( "ui_peer_reply" ) } ) } ) } function b ( ) { var e = n . curDialog . peerID ; if ( ! e ) return safeReplaceObject ( n . mentions , { } ) , void n . $broadcast ( "mentions_update" ) ; var i , a = [ ] , r = SearchIndexManager . createIndex ( ) , s = f . getPopularBots ( ) . then ( function ( e ) { var t = [ ] ; return angular . forEach ( e , function ( e ) { t . push ( e . id ) } ) , t } ) ; i = e < 0 ? o . getChatFull ( - e ) . then ( function ( e ) { var t = ( e . participants || { } ) . participants || [ ] , n = [ ] ; return angular . forEach ( t , function ( e ) { n . push ( e . user _id ) } ) , n } ) : t . when ( [ ] ) , t . all ( { pop : s , chat : i } ) . then ( function ( e ) { var t = { } , i = e . pop . concat ( e . chat ) ; angular . forEach ( i , function ( e ) { t [ e ] || ( t [ e ] = ! 0 , a . push ( l . getUser ( e ) ) , SearchIndexManager . indexObject ( e , l . getUserSearchText ( e ) , r ) ) } ) , safeReplaceObject ( n . mentions , { users : a , index : r } ) , n . $broadcast ( "mentions_update" ) } ) } function w ( ) { var e = n . curDialog . peerID ; return e ? void o . getPeerBots ( e ) . then ( function ( t ) { if ( ! t . length ) return safeReplaceObject ( n . commands , { } ) , void n . $broadcast ( "mentions_update" ) ; var i = e < 0 , a = [ ] , r = SearchIndexManager . createIndex ( ) ; angular . forEach ( t , function ( e ) { var t = "" ; if ( i ) { var n = l . getUser ( e . id ) ; n && n . username && ( t += "@" + n . username ) } var o = l . getUserSearchText ( e . id ) ; angular . forEach ( e . commands , function ( n , i ) { var s = "/" + i + t ; a . push ( { botID : e . id , value : s , rDescription : g . wrapRichText ( n , { noLinks : ! 0 , noLineBreaks : ! 0 } ) } ) , SearchIndexManager . indexObject ( s , o + " " + i + " " + n , r ) } ) } ) , safeReplaceObject ( n . commands , { list : a , index : r } ) , n . $broadcast ( "mentions_update" ) } ) : ( safeReplaceObject ( n . commands , { } ) , void n . $broadcast ( "mentions_update" ) ) } function k ( e , t ) { var a = t ? c . getPeerID ( t ) : 0 ; if ( e != t && a ) return n . $broadcast ( "ui_message_before_send" ) , void i ( function ( ) { h . syncDraft ( a ) , k ( ) } ) ; if ( V = ! 1 , b ( ) , w ( ) , E ( ) , P ( ) , delete n . draftMessage . inlineProgress , n . $broadcast ( "inline_results" , ! 1 ) , j ) { if ( j == n . curDialog . peer ) return n . draftMessage . isBroadcast = c . isBroadcast ( n . curDialog . peerID ) , void n . $broadcast ( "ui_peer_draft" ) ; j = ! 1 } $ ( ) , M ( ) } function M ( ) { if ( n . curDialog . peerID ) { var e ; e = V ? p . getMessageEditData ( V ) . then ( function ( e ) { return e . replyToMsgID = V , e } , function ( e ) { return console . warn ( e ) , V = ! 1 , M ( ) , t . reject ( ) } ) : h . getDraft ( n . curDialog . peerID ) , e . then ( function ( e ) { if ( n . draftMessage . type = V ? "edit" : "new" , n . draftMessage . text = e ? e . text : "" , n . draftMessage . isBroadcast = c . isBroadcast ( n . curDialog . peerID ) , e . replyToMsgID ) { var t = e . replyToMsgID ; A ( t ) } else E ( ) ; n . $broadcast ( "ui_peer_draft" ) } ) } else n . draftMessage . text = "" , n . $broadcast ( "ui_peer_draft" ) } function S ( e , t ) { if ( console . log ( dT ( ) , "apply draft attach" , t ) , t && t . _ ) if ( "share_url" == t . _ ) { var a = t . url , r = t . text || " " ; j = n . curDialog . peer , i ( function ( ) { n . draftMessage . text = a + "\n" + r , n . $broadcast ( "ui_peer_draft" , { customSelection : [ a + "\n" , r , "" ] } ) } , 1e3 ) } else if ( "fwd_messages" == t . _ ) j = n . curDialog . peer , i ( function ( ) { n . draftMessage . fwdMessages = t . id , n . $broadcast ( "ui_peer_reply" ) } , 100 ) ; else if ( "inline_query" == t . _ ) { var o = t . mention , s = t . query ; j = n . curDialog . peer , i ( function ( ) { n . draftMessage . text = o + " " + s , n . $broadcast ( "ui_peer_draft" , { customSelection : [ o + " " + s , "" , "" ] } ) } , 1e3 ) } } function A ( e , t ) { return V && t ? void E ( ) : ( n . draftMessage . replyToMsgID = e , n . $broadcast ( "ui_peer_reply" ) , H = ! 1 , void ( t && ! V && h . changeDraft ( n . curDialog . peerID , { text : n . draftMessage . text , replyToMsgID : e } ) ) ) } function T ( e ) { V = e , M ( ) } function C ( ) { return ! ( V || ! n . curDialog . peerID ) && void p . getHistory ( n . curDialog . peerID ) . then ( function ( e ) { for ( var t , n = 0 ; n < e . history . length ; n ++ ) if ( t = e . history [ n ] , p . canEditMessage ( t ) ) { T ( t ) ; break } } ) } function E ( e ) { if ( V ) return V = ! 1 , void M ( ) ; var t = n . draftMessage . replyToMsgID ; t && n . historyState . replyKeyboard && n . historyState . replyKeyboard . mid == t && ! n . historyState . replyKeyboard . pFlags . hidden && ( n . historyState . replyKeyboard . pFlags . hidden = ! 0 , n . $broadcast ( "ui_keyboard_update" ) ) , delete n . draftMessage . replyToMsgID , n . $broadcast ( "ui_peer_reply" ) , e && h . changeDraft ( n . curDialog . peerID , { text : n . draftMessage . text } ) } function $ ( ) { n . draftMessage . fwdMessages && n . draftMessage . fwdMessages . length && ( delete n . draftMessage . fwdMessages , n . $broadcast ( "ui_peer_reply" ) , j == n . curDialog . peer && ( j = ! 1 ) ) } function I ( ) { if ( n . draftMessage . fwdMessages && n . draftMessag
t . notify . desktop ? l . remove ( "notify_nodesktop" ) : l . set ( { notify _nodesktop : ! 0 } ) , e . $broadcast ( "settings_changed" ) } , t . togglePush = function ( ) { t . notify . push = ! t . notify . push , t . notify . push ? l . remove ( "notify_nopush" ) : l . set ( { notify _nopush : ! 0 } ) , e . $broadcast ( "settings_changed" ) } , t . togglePreview = function ( ) { t . notify . preview = ! t . notify . preview , t . notify . preview ? l . remove ( "notify_nopreview" ) : l . set ( { notify _nopreview : ! 0 } ) , e . $broadcast ( "settings_changed" ) } , t . toggleVibrate = function ( ) { t . notify . vibrate = ! t . notify . vibrate , t . notify . vibrate ? l . remove ( "notify_novibrate" ) : l . set ( { notify _novibrate : ! 0 } ) , e . $broadcast ( "settings_changed" ) } , t . toggleCtrlEnter = function ( n ) { t . send . enter = n , t . send . enter ? l . remove ( "send_ctrlenter" ) : l . set ( { send _ctrlenter : ! 0 } ) , e . $broadcast ( "settings_changed" ) } } ) , t . openChangelog = function ( ) { f . showChangelog ( ! 1 ) } , t . logOut = function ( ) { _ . confirm ( { type : "LOGOUT" } ) . then ( function ( ) { s . logOut ( ) . then ( function ( ) { location . hash = "/login" , g . reload ( ) } ) } ) } , t . switchBackToDesktop = Config . Mobile && ! Config . Navigator . mobile , t . switchToDesktop = function ( ) { m . switchLayout ( ! 1 ) } } ] ) . controller ( "ChangelogModalController" , [ "$scope" , "$modal" , function ( e , t ) { if ( e . currentVersion = Config . App . version , ! e . lastVersion ) { var n = e . currentVersion . split ( "." ) ; e . lastVersion = n [ 0 ] + "." + n [ 1 ] + "." + Math . max ( 0 , n [ 2 ] - 1 ) } e . changelogHidden = ! 1 , e . changelogShown = ! 1 , e . canShowVersion = function ( t ) { if ( e . changelogShown ) return ! 0 ; var n = versionCompare ( t , e . lastVersion ) >= 0 ; return n || ( e . changelogHidden = ! 0 ) , n } , e . showAllVersions = function ( ) { e . changelogShown = ! 0 , e . changelogHidden = ! 1 , e . $emit ( "ui_height" ) , e . $broadcast ( "ui_height" ) } , e . changeUsername = function ( ) { t . open ( { templateUrl : templateUrl ( "username_edit_modal" ) , controller : "UsernameEditModalController" , windowClass : "md_simple_modal_window mobile_modal" } ) } } ] ) . controller ( "ProfileEditModalController" , [ "$scope" , "$modalInstance" , "AppUsersManager" , "MtpApiManager" , function ( e , t , n , i ) { e . profile = { } , e . error = { } , i . getUserID ( ) . then ( function ( t ) { var i = n . getUser ( t ) ; e . profile = { first _name : i . first _name , last _name : i . last _name } } ) , e . updateProfile = function ( ) { e . profile . updating = ! 0 ; var a = 3 ; i . invokeApi ( "account.updateProfile" , { flags : a , first _name : e . profile . first _name || "" , last _name : e . profile . last _name || "" } ) . then ( function ( i ) { e . error = { } , n . saveApiUser ( i ) , t . close ( ) } , function ( n ) { switch ( n . type ) { case "FIRSTNAME_INVALID" : e . error = { field : "first_name" } , n . handled = ! 0 ; break ; case "LASTNAME_INVALID" : e . error = { field : "last_name" } , n . handled = ! 0 ; break ; case "NAME_NOT_MODIFIED" : n . handled = ! 0 , t . close ( ) } } ) [ "finally" ] ( function ( ) { delete e . profile . updating } ) } } ] ) . controller ( "UsernameEditModalController" , [ "$scope" , "$modalInstance" , "AppUsersManager" , "MtpApiManager" , function ( e , t , n , i ) { e . profile = { } , e . error = { } , i . getUserID ( ) . then ( function ( t ) { var i = n . getUser ( t ) ; e . profile = { username : i . username } } ) , e . updateUsername = function ( ) { e . profile . updating = ! 0 , i . invokeApi ( "account.updateUsername" , { username : e . profile . username || "" } ) . then ( function ( i ) { e . checked = { } , n . saveApiUser ( i ) , t . close ( ) } , function ( e ) { switch ( e . type ) { case "USERNAME_NOT_MODIFIED" : e . handled = ! 0 , t . close ( ) } } ) [ "finally" ] ( function ( ) { delete e . profile . updating } ) } , e . $watch ( "profile.username" , function ( t ) { return t && t . length ? void i . invokeApi ( "account.checkUsername" , { username : t } ) . then ( function ( n ) { e . profile . username === t && ( n ? e . checked = { success : ! 0 } : e . checked = { error : ! 0 } ) } , function ( n ) { if ( e . profile . username === t ) switch ( n . type ) { case "USERNAME_INVALID" : e . checked = { error : ! 0 } , n . handled = ! 0 } } ) : void ( e . checked = { } ) } ) } ] ) . controller ( "SessionsListModalController" , [ "$scope" , "$q" , "$timeout" , "_" , "MtpApiManager" , "ErrorService" , "$modalInstance" , function ( e , t , n , i , a , r , o ) { function s ( ) { n . cancel ( l ) , a . invokeApi ( "account.getAuthorizations" ) . then ( function ( t ) { e . sessionsLoaded = ! 0 , e . authorizations = t . authorizations ; for ( var i , a = 0 , r = e . authorizations . length ; a < r ; a ++ ) i = e . authorizations [ a ] , i . current = 1 == ( 1 & i . flags ) ; e . authorizations . sort ( function ( e , t ) { return e . current ? - 1 : t . current ? 1 : t . date _active - e . date _active } ) , c || ( l = n ( s , 5e3 ) ) } ) } e . slice = { limit : 20 , limitDelta : 20 } ; var l = ! 1 , c = ! 1 ; e . terminateSession = function ( e ) { r . confirm ( { type : "TERMINATE_SESSION" } ) . then ( function ( ) { a . invokeApi ( "account.resetAuthorization" , { hash : e } ) . then ( s ) } ) } , e . terminateAllSessions = function ( ) { r . confirm ( {
return ! ( "message" != e . _ || e . deleted || e . fwd _from || e . via _bot _id || e . media && t . indexOf ( e . media . _ ) == - 1 || e . fromID && s . isBot ( e . fromID ) ) && ( ! e . media || "messageMediaDocument" != e . media . _ || ! e . media . document . sticker ) } function W ( e ) { if ( e <= 0 || ! xe [ e ] ) return ! 1 ; var t = xe [ e ] ; return ! ( ! t || ! t . canBeEdited ) && ( pe ( t ) == s . getSelf ( ) . id || ! ( t . date < tsNow ( ! 0 ) - 172800 || ! t . pFlags . out ) ) } function G ( t ) { if ( ! W ( t ) ) return e . reject ( ) ; var n = q ( t ) ; if ( n . media && "messageMediaEmpty" != n . media . _ && "messageMediaWebPage" != n . media . _ ) return e . when ( { caption : ! 0 , text : "string" == typeof n . media . caption ? n . media . caption : "" } ) ; var i = "string" == typeof n . message ? n . message : "" , a = b . parseEntities ( i ) , r = n . entities || [ ] ; return a = b . mergeEntities ( a , r ) , i = b . wrapDraftText ( i , { entities : a } ) , e . when ( { caption : ! 1 , text : i } ) } function K ( e ) { if ( e <= 0 || ! xe [ e ] ) return ! 1 ; var t = xe [ e ] ; if ( "message" != t . _ || t . deleted ) return ! 1 ; var n = pe ( t ) ; if ( n < 0 && ! l . isChannel ( - n ) ) { var i = l . getChat ( - n ) ; if ( i . pFlags . creator || i . pFlags . admins _enabled && i . pFlags . admin ) return ! 0 } return ! ( ! t . pFlags . out || t . date < tsNow ( ! 0 ) - 172800 ) } function Y ( t , n ) { var i = f . splitMessageIDsByChannels ( t ) , a = [ ] ; return angular . forEach ( i . msgIDs , function ( e , t ) { var r ; if ( t > 0 ) { var s = l . getChat ( t ) ; if ( ! ( s . pFlags . creator || s . pFlags . editor && s . pFlags . megagroup ) ) { var c = [ ] ; if ( ( s . pFlags . editor || s . pFlags . megagroup ) && angular . forEach ( e , function ( e , n ) { var a = q ( i . mids [ t ] [ n ] ) ; a . pFlags . out && c . push ( e ) } ) , ! c . length ) return ; e = c } r = _ . invokeApi ( "channels.deleteMessages" , { channel : l . getChannelInput ( t ) , id : e } ) . then ( function ( n ) { o . processUpdateMessage ( { _ : "updateShort" , update : { _ : "updateDeleteChannelMessages" , channel _id : t , messages : e , pts : n . pts , pts _count : n . pts _count } } ) } ) } else { var d = 0 ; n && ( d |= 1 ) , r = _ . invokeApi ( "messages.deleteMessages" , { flags : d , id : e } ) . then ( function ( t ) { o . processUpdateMessage ( { _ : "updateShort" , update : { _ : "updateDeleteMessages" , messages : e , pts : t . pts , pts _count : t . pts _count } } ) } ) } a . push ( r ) } ) , e . all ( a ) } function X ( t ) { var n = f . getMessageIDInfo ( t ) , i = n [ 0 ] , a = n [ 1 ] ; if ( ! a ) return e . reject ( ) ; var r = q ( t ) , o = l . getChat ( a ) ; return r && r . pFlags && r . pFlags . post && o . username ? _ . invokeApi ( "channels.exportMessageLink" , { channel : l . getChannelInput ( a ) , id : i } ) . then ( function ( e ) { return e . link } ) : e . reject ( ) } function J ( e ) { var n = c . isChannel ( e ) , i = Re [ e ] , a = $ ( e ) [ 0 ] ; if ( ! a || ! a . unread _count ) { if ( ! i || ! i . history . length ) return ! 1 ; var r , s , d = ! 1 ; for ( p = i . history . length ; p >= 0 ; p -- ) if ( r = i . history [ p ] , s = xe [ r ] , s && ! s . pFlags . out && s . pFlags . unread ) { d = ! 0 ; break } if ( ! d ) return ! 1 } if ( i . readPromise ) return i . readPromise ; var u ; if ( u = n ? _ . invokeApi ( "channels.readHistory" , { channel : l . getChannelInput ( - e ) , max _id : 0 } ) : _ . invokeApi ( "messages.readHistory" , { peer : c . getInputPeerByID ( e ) , max _id : 0 } ) . then ( function ( e ) { o . processUpdateMessage ( { _ : "updateShort" , update : { _ : "updatePts" , pts : e . pts , pts _count : e . pts _count } } ) } ) , i . readPromise = u . then ( function ( ) { a && ( a . unread _count = 0 , t . $broadcast ( "dialog_unread" , { peerID : e , count : 0 } ) , t . $broadcast ( "messages_read" ) , i && i . history . length && ( a . read _inbox _max _id = i . history [ 0 ] ) ) } ) [ "finally" ] ( function ( ) { delete i . readPromise } ) , i && i . history . length ) { var r , s , p , e , a ; for ( p = 0 ; p < i . history . length ; p ++ ) r = i . history [ p ] , s = xe [ r ] , s && ! s . pFlags . out && ( s . pFlags . unread = ! 1 , Pe [ r ] && ( Pe [ r ] . pFlags . unread = ! 1 ) , De [ r ] && ( De [ r ] . pFlags . unread = ! 1 ) , w . cancel ( "msg" + r ) ) } return w . soundReset ( c . getPeerString ( e ) ) , i . readPromise } function Z ( e ) { _ . invokeApi ( "messages.readMessageContents" , { id : e } ) . then ( function ( t ) { o . processUpdateMessage ( { _ : "updateShort" , update : { _ : "updateReadMessagesContents" , messages : e , pts : t . pts , pts _count : t . pts _count } } ) } ) } function Q ( e , t ) { var n = 0 ; return t && ( n |= 1 ) , _ . invokeApi ( "messages.deleteHistory" , { flags : n , peer : e , max _id : 0 } ) . then ( function ( n ) { return o . processUpdateMessage ( { _ : "updateShort" , update : { _ : "updatePts" , pts : n . pts , pts _count : n . pts _count } } ) , ! n . offset || Q ( e , t ) } ) } function ee ( e , n ) { return Q ( c . getInputPeerByID ( e ) , n ) . then ( function ( ) { if ( n ) t . $broadcast ( "dialog_flush" , { peerID : e } ) ; else { var i = $ ( e ) ; i [ 0 ] && Oe . dialogs . splice ( i [ 1 ] , 1 ) , delete Re [ e ] , t . $broadcast ( "dialog_drop" , { peerID : e } ) } } ) } function te ( e , t ) { t = t || { } , angular . forEach ( e , function ( e ) { if ( void 0 === e . pFlags && ( e . pFlags = { } ) , e . pFlags . out || ( e . pFlags . out = ! 1 ) , e . pFlags . unread || ( e . pFlags . unread = ! 1 ) , "messageEmpty" != e . _ ) { var n = pe ( e ) , i = "peerChannel" == e . to _id . _ , a = i ? - n : 0 , r = i && l . isBroadcast ( a ) , o = f . getFullMes
ee != ne && ( delete Re [ r ] , t . $broadcast ( "history_forbidden" , r ) ) , Q != Z && ( Z ? $e ( - o ) : p [ 0 ] && ( Oe . dialogs . splice ( p [ 1 ] , 1 ) , t . $broadcast ( "dialog_drop" , { peerID : r } ) ) ) ; break ; case "updateChannelReload" : var o = e . channel _id , r = - o , p = $ ( r ) ; p [ 0 ] && Oe . dialogs . splice ( p [ 1 ] , 1 ) , delete Re [ r ] , $e ( - o ) . then ( function ( ) { t . $broadcast ( "history_reload" , r ) } ) ; break ; case "updateChannelMessageViews" : var ie = e . views , C = f . getFullMessageID ( e . id , e . channel _id ) , d = q ( C ) ; d && d . views && d . views < ie && ( d . views = ie , t . $broadcast ( "message_views" , { mid : C , views : ie } ) ) ; break ; case "updateServiceNotification" : var ae = 777e3 , r = ae , O = He -- , d = { _ : "message" , id : O , from _id : ae , to _id : c . getOutputPeer ( r ) , flags : 0 , pFlags : { unread : ! 0 } , date : ( e . inbox _date || tsNow ( ! 0 ) ) + y . serverTimeOffset , message : e . message , media : e . media , entities : e . entities } ; if ( s . hasUser ( ae ) || s . saveApiUsers ( [ { _ : "user" , id : ae , pFlags : { verified : ! 0 } , access _hash : 0 , first _name : "Telegram" , phone : "42777" } ] ) , te ( [ d ] ) , e . inbox _date && ( Ue [ r ] = O , Ee ( { _ : "updateNewMessage" , message : d } ) ) , e . pFlags . popup && e . message ) { var z = ge ( O ) ; A . show ( { error : { code : 400 , type : "UPDATE_SERVICE_NOTIFICATION" } , historyMessage : z } ) } } } function $e ( e ) { return _ . invokeApi ( "messages.getPeerDialogs" , { peers : [ c . getInputPeerByID ( e ) ] } ) . then ( Ie ) } function Ie ( e ) { s . saveApiUsers ( e . users ) , l . saveApiChats ( e . chats ) , te ( e . messages ) ; var n = { } , i = ! 1 ; angular . forEach ( e . dialogs , function ( e ) { var a = c . getPeerID ( e . peer ) , r = e . top _message , o = Ue [ a ] ; if ( o && ( ! r || q ( o ) . date > q ( r ) . date ) && ( e . top _message = r = o ) , r ) { var s = $ ( a ) . length > 0 ; I ( e ) , s ? ( he ( r ) , t . $broadcast ( "dialog_top" , e ) ) : ( n [ a ] = e , i = ! 0 ) } else { var l = $ ( a ) ; l . length && ( Oe . dialogs . splice ( l [ 1 ] , 1 ) , t . $broadcast ( "dialog_drop" , { peerID : a } ) ) } void 0 !== ft [ a ] && ( angular . forEach ( ft [ a ] , function ( e ) { Ee ( e ) } ) , delete ft [ a ] ) } ) , i && t . $broadcast ( "dialogs_multiupdate" , n ) } var xe = { } , Pe = { } , De = { } , Re = { } , Oe = { count : null , dialogs : [ ] } , Ne = { } , Le = { } , Fe = { } , Ue = { } , Be = e . when ( ) , He = - 1 , je = SearchIndexManager . createIndex ( ) , Ve = { query : ! 1 } , qe = { } , ze = [ ] , We = [ ] , Ge = ! 1 , Ke = { } , Ye = [ ] , Xe = ! 1 , Je = ! 1 ; k . get ( "max_seen_msg" ) . then ( function ( e ) { e && ! f . getMessageIDInfo ( e ) [ 1 ] && ( Je = e ) } ) ; var Ze = i ( "dateOrTime" ) , Qe = C . pluralize ( "conversation_forwarded_X_messages" ) , et = C . pluralize ( "conversation_scored_X" ) ; w . start ( ) ; var tt = ! 1 , nt = 0 , it = 0 , at = 0 , rt = { } , ot = { } , st = ! 1 , lt = { } , ct = ! 1 , dt = { } , ut = ! 1 , pt = { } , ft = { } ; return t . $on ( "apiUpdate" , function ( e , t ) { Ee ( t ) } ) , t . $on ( "webpage_updated" , function ( e , n ) { angular . forEach ( n . msgs , function ( e ) { var i = Pe [ e ] ; i && ( i . media = { _ : "messageMediaWebPage" , webpage : h . wrapForHistory ( n . id ) } , t . $broadcast ( "message_edit" , { peerID : pe ( i ) , id : i . id , mid : e , justMedia : ! 0 } ) ) } ) } ) , t . $on ( "draft_updated" , function ( e , n ) { var i = n . peerID , a = n . draft , r = $ ( i ) [ 0 ] ; if ( r ) { var o ; if ( a && a . date ) o = a . date ; else { var s = c . isChannel ( i ) ? - i : 0 , o = q ( r . top _message ) . date ; if ( s ) { var d = l . getChat ( s ) ; ( ! o || d . date && d . date > o ) && ( o = d . date ) } } r . pFlags . pinned || ( r . index = D ( o ) ) , R ( r ) , t . $broadcast ( "dialog_draft" , { peerID : i , draft : a , index : r . index } ) } } ) , { getConversations : E , getHistory : B , getSearch : V , getMessage : q , getReplyKeyboard : H , readHistory : J , readMessages : Z , flushHistory : ee , deleteMessages : Y , sendText : ne , sendFile : ie , sendOther : ae , forwardMessages : re , startBot : oe , shareGame : se , editMessage : ue , convertMigratedPeer : U , getMessagePeer : pe , getMessageThumb : ke , getMessageShareLink : X , canMessageBeEdited : z , canEditMessage : W , getMessageEditData : G , canRevokeMessage : K , clearDialogCache : he , wrapForDialog : fe , wrapForHistory : ge , wrapReplyMarkup : _e , wrapSingleMessage : me , wrapMessageText : ve , regroupWrappedHistory : we } } ] ) . service ( "AppMessagesIDsManager" , function ( ) { function e ( e , t ) { if ( ! t || e <= 0 ) return e ; e = n ( e ) ; var i = a [ t ] ; return i || ( i = ++ o * s , r [ i ] = t , a [ t ] = i ) , i + e } function t ( e ) { if ( e < s ) return [ e , 0 ] ; var t = e % s , n = r [ e - t ] ; return [ t , n ] } function n ( e ) { return e ? e % s : 0 } function i ( e ) { var n , i , a , r , o = { } , s = { } ; for ( n = 0 ; n < e . length ; n ++ ) i = e [ n ] , a = t ( i ) , r = a [ 1 ] , void 0 === o [ r ] && ( o [ r ] = [ ] , s [ r ] = [ ] ) , o [ r ] . push ( a [ 0 ] ) , s [ r ] . push ( i ) ; return { msgIDs : o , mids : s } } var a = { } , r = { } , o = 0 , s = 4294967296 ; return { getFullMessageID : e , getMessageIDInfo : t , getMessageLocalID : n , splitMessageIDsByChannels : i , fullMsgIDModulus : s } } ) , angular . module ( "myApp.templates" , [ ] ) . run ( [ "$templateCache" , function ( e ) { e . put ( "partials/desktop/audio_player.html" , ' < div class = "audio_player_wrap clearfix" > \ n \ t < a class = "im_message_file_button" ng - click = "togglePlay()" ng - class = " { im _message _file _button _dl _
e . put ( "partials/desktop/contacts_modal.html" , '<div class="contacts_modal_wrap md_modal_wrap" my-modal-position>\n\n <div class="md_modal_head md_modal_head_simple">\n <div class="md_modal_title_wrap">\n <div class="md_modal_actions_wrap clearfix">\n <a class="md_modal_action md_modal_action_close" ng-if="action != \'edit\'" ng-click="$dismiss()" my-i18n="modal_close"></a>\n <a class="md_modal_action" ng-if="action == \'edit\'" class="contacts_modal_edit_link" ng-click="toggleEdit(false)" my-i18n="contacts_modal_edit_cancel"></a>\n <a class="md_modal_action" ng-if="!action" ng-click="toggleEdit(true)" my-i18n="contacts_modal_edit_list"></a>\n </div>\n </div>\n <div class="md_modal_title" ng-switch="action">\n <div ng-switch-when="new_group" ng-switch="selectedCount > 0">\n <span ng-switch-when="true">\n <ng-pluralize count="selectedCount" when="contacts_modal_pluralize_new_group_members">\n </ng-pluralize>\n </span>\n <span ng-switch-default my-i18n="group_create_contacts_modal_title"></span>\n </div>\n <span ng-switch-default my-i18n="contacts_modal_title"></span>\n </div>\n </div>\n\n <div class="md_modal_body">\n\n <div class="contacts_modal_search">\n <input class="form-control contacts_modal_search_field no_outline" my-focused type="search" placeholder="{{\'modal_search\' | i18n}}" ng-model="search.query" autocomplete="off" />\n <a class="im_dialogs_search_clear tg_search_clear" ng-click="search.query = \'\'" ng-show="search.query.length">\n <i class="icon icon-search-clear"></i>\n </a>\n </div>\n\n <div my-contacts-list class="contacts_modal_col">\n\n <div class="contacts_wrap nano" my-infinite-scroller>\n <div class="contacts_scrollable_wrap nano-content" ng-switch="contactsEmpty">\n\n <div ng-switch-when="true" class="contacts_modal_contacts_empty" my-vertical-position="0.2" padding="true" my-i18n="contacts_modal_empty_list">\n <my-i18n-param name="import-link"><a href="" ng-click="importContact()">{0}</a></my-i18n-param>\n </div>\n\n <ul ng-switch-default class="contacts_modal_members_list nav nav-pills nav-stacked">\n\n <li class="contacts_modal_contact_wrap clearfix" ng-repeat="contact in contacts | orderBy:\'user.sortName\' | limitTo: slice.limit track by contact.userID" ng-class="{active: selectedContacts[contact.userID], disabled: disabledContacts[contact.userID]}">\n <a class="contacts_modal_contact" ng-click="contactSelect(contact.userID)">\n\n <div class="md_modal_list_peer_photo pull-left" my-peer-photolink="::contact.userID" img-class="md_modal_list_peer_photo"></div>\n <div class="md_modal_list_peer_name" my-peer-link="contact.userID"></div>\n <div class="md_modal_list_peer_description" ng-switch="contact.found">\n <span ng-switch-when="true" ng-bind="\'@\' + contact . user . username "></span>\n <span ng-switch-default my-user-status=" : : contact . userID "></span>\n </div>\n\n </a>\n </li>\n\n </ul>\n\n </div>\n </div>\n\n </div>\n\n </div>\n\n <div class=" md _modal _footer clearfix " ng-switch=" action ">\n\n <div ng-switch-when=" new _group " class=" pull - right ">\n <button class=" btn btn - md " ng-click=" $dismiss ( ) " my-i18n=" modal _cancel "></button>\n <button class=" btn btn - md btn - md - primary " ng-class=" { disabled : ! selectedCount } " ng-disabled=" ! selectedCount " ng-click=" submitSelected ( ) " type=" submit " my-i18n=" modal _next "></button>\n </div>\n\n <button ng-switch-when=" select " class=" btn btn - md btn - md - primary pull - right " ng-class=" { disabled : ! selectedCount } " ng-disabled=" ! selectedCount " ng-click=" submitSelected ( ) " type=" submit " my-i18n=" modal _next "></button>\n\n <button ng-switch-when=" edit " class=" btn btn - md btn - md - danger pull - right " ng-class=" { disabled : ! selectedCount } " ng-disabled=" ! selectedCount " ng-click=" deleteSelected ( ) ">\n <my-i18n msgid=" contac
e . put ( "partials/desktop/im.html" , '<div my-head></div>\n\n<div class="im_page_wrap clearfix" ng-class="{im_page_peer_not_selected: !curDialog.peer}">\n\n <div class="im_page_split clearfix">\n\n <div class="im_dialogs_col_wrap noselect" ng-controller="AppImDialogsController" my-dialogs ng-class="search.query.length > 0 ? \'im_dialogs_col_search\' : \'\'">\n <div class="im_dialogs_panel">\n <div class="im_dialogs_search">\n <input class="form-control im_dialogs_search_field no_outline" type="search" placeholder="{{\'modal_search\' | i18n}}" ng-model="search.query" autocomplete="off" />\n <a class="im_dialogs_search_clear tg_search_clear" ng-click="searchClear()" ng-show="search.query.length">\n <i class="icon icon-search-clear"></i>\n </a>\n </div>\n </div>\n\n <div my-dialogs-list class="im_dialogs_col">\n <div class="im_dialogs_wrap nano">\n <div class="im_dialogs_scrollable_wrap nano-content">\n\n <div class="im_dialogs_empty_wrap" ng-if="isEmpty.dialogs && isEmpty.contacts">\n <h3 class="im_dialogs_empty_header" my-i18n="im_no_contacts"></h3>\n <p class="im_dialogs_empty_lead" my-i18n="im_get_started_long"></p>\n <button type="button" class="btn btn-primary btn-sm" ng-click="importContact()" my-i18n="im_add_contact"></button>\n <button ng-if="phonebookAvailable" type="button" class="btn btn-primary btn-sm im_dialogs_import_phonebook" ng-click="importPhonebook()" my-i18n="im_import_phonebook"></button>\n </div>\n\n <ul class="nav nav-pills nav-stacked">\n <li class="im_dialog_wrap" ng-if="searchPeer">\n <a class="im_dialog im_dialog_searchpeer disabled" ng-mousedown="setSearchPeer()">\n\n <div class="im_dialog_meta pull-right">\n <div class="im_dialog_clear_searchpeer">\n <!-- <i class="icon icon-clear-searchpeer"></i> -->\n <i class="icon icon-search-clear"></i>\n </div>\n </div>\n\n <div class="im_dialog_photo pull-left" my-peer-photolink="searchPeer" img-class="im_dialog_photo" watch="true"></div>\n\n <div class="im_dialog_message_wrap">\n\n <div class="im_dialog_peer">\n <span my-peer-link="searchPeer"></span>\n </div>\n\n <div class="im_dialog_message">\n <span class="" my-i18n="conversation_search_peer"></span>\n </div>\n\n </div>\n\n </a>\n\n </li>\n <li class="im_dialog_wrap" my-dialog dialog-message="dialogMessage" ng-repeat="dialogMessage in dialogs track by dialogMessage.peerID" ng-class="{active: curDialog.peerID == dialogMessage.peerID}"></li>\n </ul>\n\n <div class="im_dialogs_contacts_wrap" ng-show="contacts.length > 0">\n <h5 my-i18n="im_contacts_title"></h5>\n <ul class="nav nav-pills nav-stacked">\n <li class="im_dialog_wrap" ng-repeat="contact in contacts | orderBy:\'user.sortName\' track by contact . userID " ng-class=" { active : curDialog . peerID == contact . userID } ">\n <a class=" im _dialog " ng-mousedown=" dialogSelect ( contact . peerString ) ">\n <div class=" im _dialog _photo pull - left " my-peer-photolink=" contact . userID " img-class=" im _dialog _photo " watch=" true "></div>\n <div class=" im _dialog _message _wrap ">\n <div class=" im _dialog _peer ">\n <span class=" im _dialog _user " my-peer-link=" contact . userID " verified=" true "></span>\n </div>\n <div class=" im _dialog _message ">\n <span class=" im _dialog _message _text " my-user-status=" : : contact . userID " > < / s p a n > \ n < / d i v > \ n < / d i v > \ n < / a > \ n < / l i > \ n < / u l > \ n
e . put ( "partials/desktop/message.html" , '<div class="im_message_outer_wrap hasselect" ng-click="toggleMessage(historyMessage.mid, $event)">\n\n <div class="im_message_wrap clearfix" ng-switch="::historyMessage._ == \'messageService\'">\n\n <div class="im_service_message_wrap" ng-switch-when="true" ng-switch="historyMessage.action._ == \'messageActionBotIntro\'">\n <div ng-switch-when="true" class="im_bot_intro_message_wrap">\n <div class="im_bot_intro_message_header" my-i18n="message_service_bot_intro_header"></div>\n <div class="im_bot_intro_message" ng-bind-html="::historyMessage.action.rDescription"></div>\n </div>\n <div ng-switch-default class="im_service_message">\n <a class="im_message_author" ng-if="::historyMessage.fromID > 0" my-peer-link="historyMessage.fromID" short="historyMessage.peerID > 0" color="historyMessage.peerID < 0" no-watch="true"></a>\n <span class="im_message_service" my-service-message="historyMessage"></span>\n </div>\n\n <a ng-if="::historyMessage.action._ == \'messageActionChatEditPhoto\' || historyMessage.action._ == \'messageActionChannelEditPhoto\'" class="im_service_message_photo_thumb" href="" ng-click="openPhoto(historyMessage.action.photo.id)">\n <img\n class="im_service_message_photo_thumb"\n my-load-thumb\n thumb="historyMessage.action.photo.thumb"\n />\n </a>\n\n </div>\n\n <div ng-switch-default class="im_content_message_wrap" ng-class="::[historyMessage.pFlags.out ? \'im_message_out\' : \'im_message_in\', historyMessage.fwdFromID ? \'im_message_fwd\' : \'\']">\n <i class="icon icon-select-tick"></i>\n\n <a class="im_message_error_btn" ng-if="::historyMessage.pending || historyMessage.error || false" ng-click="historyMessage.send()">\n <i class="icon-message-status" tooltip="{{\'message_action_retry\' | i18n}}"></i>\n </a>\n <i ng-if="::historyMessage.pFlags.unread && historyMessage.pFlags.out || historyMessage.pending || false" class="icon-message-status" ng-show="!historyMessage.error"></i>\n\n <a class="im_message_from_photo pull-left" my-peer-photolink="::historyMessage.fromID" img-class="im_message_from_photo"></a>\n\n <div class="im_message_meta pull-right text-right noselect">\n <div class="im_message_views_wrap" ng-if="::!historyMessage.fwdFromID && historyMessage.views > 0">\n <div class="im_message_views">\n <i class="icon-message-views"></i><span class="im_message_views_cnt" my-message-views="historyMessage.mid"></span>\n </div>\n </div>\n <span class="im_message_date clickable">\n <span class="im_message_edited" my-message-edited="historyMessage.mid"></span>\n <span class="im_message_date_text nocopy" data-content="{{::historyMessage.date | time}}"></span>\n </span>\n </div>\n\n <div class="im_message_body" ng-class="::{im_message_body_media: historyMessage._ == \'message\' & amp ; & amp ; historyMessage . media ? true : false } ">\n\n <span class=" im _message _author _wrap ">\n <span class=" copyonly ">[<span ng-bind=" : : historyMessage . date | time "></span>] </span><a class=" im _message _author " my-peer-link=" historyMessage . fromID " short=" historyMessage . peerID > 0 " color=" historyMessage . peerID < 0 " no-watch=" true "></a><a ng-if=" : : historyMessage . viaBotID && ! historyMessage . fwdFromID " class=" im _message _author _via " ng-click=" selectInlineBot ( historyMessage . viaBotID , $event ) "><span class=" copyonly "> </span><span my-i18n=" message _via _bot "><my-i18n-param name=" bot "><span class=" im _message _fwd _author " my-peer-link=" historyMessage . viaBotID " username=" true " no-watch=" true "></span></my-i18n-param></span></a><span class=" copyonly ">:</span>\n </span>\n\n\n <a class=" im _message _reply _wrap " my-reply-message=" : : historyMessage . reply _to _mid " ng-if=" : : historyMessage . reply _to _mid "></a>\n\n <div ng-if=" : : historyMessage . fwdFromID || false " class=" im _message _fwd _from ">\n <span class=" copyonly "><span my-i18n=" message _forwarded
e . put ( "partials/desktop/photo_modal.html" , '<div class="modal_prev_wrap" ng-class="{modal_prev_active_wrap: nav.hasPrev}" ng-click="nav.prev($event)">\n <div class="modal_prev"></div>\n</div>\n<div class="modal_next_wrap" ng-class="{modal_next_active_wrap: nav.hasNext}" ng-click="nav.next($event)">\n <div class="modal_next"></div>\n</div>\n<div class="modal_close_wrap modal_close_wrap_wnext" ng-click="$close()">\n <div class="modal_close"></div>\n</div>\n\n<div class="media_modal_bottom_panel_wrap">\n <div class="media_modal_bottom_panel">\n <div class="media_modal_bottom_actions">\n <a class="media_modal_action_btn" ng-click="download()" title="{{\'media_modal_download\' | i18n}}">\n <i class="media_modal_action_btn_download"></i>\n </a>\n <a class="media_modal_action_btn" ng-if="canForward" ng-click="forward()" title="{{\'media_modal_forward\' | i18n}}">\n <i class="media_modal_action_btn_forward"></i>\n </a>\n <a class="media_modal_action_btn" ng-if="canDelete" ng-click="delete()" title="{{\'media_modal_delete\' | i18n}}">\n <i class="media_modal_action_btn_delete"></i>\n </a>\n </div>\n\n <div class="media_modal_info_wrap pull-left" ng-if="!webpageID && photo.user_id">\n <a class="media_modal_author_photo pull-left" my-peer-photolink="photo.user_id" img-class="media_modal_author_photo" watch="true"></a>\n <div class="media_modal_author_name">\n <a class="media_modal_author" my-peer-link="photo.user_id" peer-watch="true"></a>\n </div>\n <div class="media_modal_date" ng-if="photo.date > 0" ng-switch="messageID > 0">\n <a ng-switch-when="true" class="media_modal_date" ng-click="goToMessage()" ng-bind="photo.date | dateOrTime :true"></a>\n <span ng-switch-default ng-bind="photo.date | dateOrTime :true"></span>\n </div>\n </div>\n\n <div class="media_modal_info_wrap pull-left" ng-if="webpageID">\n <div class="media_modal_author_name">\n <a class="media_modal_author" href="{{webpage.url}}" target="_blank" rel="noopener noreferrer" ng-bind-html="webpage.rTitle"></a>\n </div>\n <div class="media_modal_date" ng-bind="webpage.site_name || webpage.display_url"></div>\n </div>\n\n <div class="media_modal_title_wrap" ng-switch="count > 1 && pos > 0">\n <my-i18n ng-switch-when="true" msgid="media_modal_photo_index">\n <my-i18n-param name="pos" ng-bind="pos"></my-i18n-param>\n <my-i18n-param name="count" ng-bind="count"></my-i18n-param>\n </my-i18n>\n <my-i18n ng-switch-default msgid="media_modal_photo">\n </div>\n </div>\n</div>\n\n<div class="modal-dialog" my-modal-nav next="nav.next()" prev="nav.prev()">\n <div class="modal-content">\n <div my-modal-width="{{photo.full.modalWidth}}" class="media_modal_wrap photo_modal_wrap" my-modal-position animation="no">\n\n <div class="modal-body">\n\n <div class="photo_modal_image_wrap" my-load-full-photo full-photo="photo.full" thumb-location="photo.thumb.location" ng-click="nav.next()"></div>\n\n </div>\n\n </div>\n </div>\n</div>\n\n' ) , e . put ( "partials/desktop/pinned_message.html" , '<span ng-switch="pinnedMessage.loading"><span ng-switch-when="true" my-i18n="im_reply_loading"><my-i18n-param name="dots"><span my-loading-dots></span></my-i18n-param></span><span ng-switch-default my-short-message="pinnedMessage"></span></span>' ) , e . put ( "partials/desktop/profile_edit_modal.html" , '<div class="md_simple_modal_wrap" my-modal-position>\n\n <div class="md_simple_modal_body">\n\n <form class="modal_simple_form" ng-submit="updateProfile()">\n\n <h4 my-i18n="profile_edit_modal_title"></h4>\n\n <div class="md-input-group" ng-class="{\'has-error\': error.field == \'first_name\'}" my-labeled-input>\n <label class="md-input-label" my-i18n="profile_edit_first_name"></label>\n <input class="md-input" my-focused type="text" ng-model="profile.first_name" />\n </div>\n\n <div class="md-input-group" ng-class="{\'has-error\': error.field == \'last_name\' } " my - labeled -
e . put ( "partials/desktop/username_edit_modal.html" , '<div class="md_simple_modal_wrap" my-modal-position>\n\n <div class="md_simple_modal_body">\n\n <form class="modal_simple_form" ng-submit="updateUsername()">\n\n <h4 my-i18n="username_edit_modal_title"></h4>\n\n <div class="md-input-group" ng-class="{\'md-input-error\': checked.error}" my-labeled-input>\n <label class="md-input-label" my-i18n="username_edit_placeholder"></label>\n <input class="md-input" my-focused type="text" ng-model="profile.username" name="username" ng-model-options="{updateOn: \'default blur\', debounce: {default: 600, blur: 0}}" />\n </div>\n\n <div class="md_simple_form_description" my-i18n="username_edit_description_md"></div>\n\n </form>\n\n </div>\n\n <div class="md_simple_modal_footer">\n\n <button class="btn btn-md" ng-click="$dismiss()" my-i18n="modal_cancel"></button>\n <button class="btn btn-md btn-md-primary" ng-class="{disabled: profile.updating}" ng-click="updateUsername()" ng-bind="profile.updating ? \'username_edit_submit_active\' : \'username_edit_submit\' | i18n" ng-disabled="profile.updating"></button>\n\n </div>\n\n</div>' ) , e . put ( "partials/desktop/video_modal.html" , '<div class="modal_close_wrap" ng-class="{modal_close_wrap_wnext: nav.hasNext}" ng-click="$close()">\n <div class="modal_close"></div>\n</div>\n\n<div class="media_modal_bottom_panel_wrap">\n <div class="media_modal_bottom_panel">\n <div class="media_modal_bottom_actions pull-right">\n <a class="media_modal_action_btn" ng-click="download()" title="{{\'media_modal_download\' | i18n}}">\n <i class="media_modal_action_btn_download"></i>\n </a>\n <a class="media_modal_action_btn" ng-if="messageID" ng-click="forward()" title="{{\'media_modal_forward\' | i18n}}">\n <i class="media_modal_action_btn_forward"></i>\n </a>\n <a class="media_modal_action_btn" ng-if="messageID" ng-click="delete()" title="{{\'media_modal_delete\' | i18n}}">\n <i class="media_modal_action_btn_delete"></i>\n </a>\n </div>\n\n <div class="media_modal_info_wrap pull-left" ng-if="video.user_id > 0" ng-switch="messageID > 0">\n <a class="media_modal_author_photo pull-left" my-peer-photolink="video.user_id" img-class="media_modal_author_photo" watch="true"></a>\n <div class="media_modal_author_name">\n <a class="media_modal_author" my-peer-link="video.user_id" peer-watch="true"></a>\n </div>\n <div class="media_modal_date" ng-if="video.date > 0">\n <a ng-switch-when="true" class="media_modal_date" ng-click="goToMessage()" ng-bind="video.date | dateOrTime :true"></a>\n <span ng-switch-default ng-bind="video.date | dateOrTime :true"></span>\n </div>\n </div>\n\n <div class="media_modal_title_wrap" my-i18n="media_modal_video"></div>\n </div>\n</div>\n\n<div class="modal-dialog">\n <div class="modal-content">\n <div my-modal-width="{{video.full.width - 32}}" class="media_modal_wrap video_modal_wrap" my-modal-position animation="no">\n\n <div class="modal-body">\n <div class="video_modal_image_wrap" my-load-video video="video"></div>\n\n </div>\n\n </div>\n </div>\n</div>' ) , e . put ( "partials/mobile/audio_player.html" , ' < div class = "audio_player_wrap clearfix" > \ n \ t < a class = "im_message_file_button" ng - click = "togglePlay()" ng - class = "{im_message_file_button_dl_audio: audio.downloaded}" > \ n \ t < i class = "im_message_file_button_icon" ng - class = "{audio_player_btn_icon_pause: mediaPlayer.player.playing}" > < / i > \ n \ t < / a > \ n \ t < d i v c l a s s = " a u d i o _ p l a y e r _ t i t l e _ w r a p " > \ n \ t \ t < d i v c l a s s = " a u d i o _ p l a y e r _ m e t a p u l l - r i g h t " n g - i f = " a u d i o . d o w n l o a d e d & a m p ; & a m p ; ( m e d i a P l a y e r . p l a y e r . d u r a t i o n | | a u d i o . d u r a t i o n ) " n g - s w i t c h = " m e d i a P l a y e r . p l a y e r . p l a y i n g | | m e d i a P l a y e r . p l a y e r . c u r r e n t T i m e > 0 " > \ n \ t \ t \ t < s p a n n g - s w i t c h - w h e n = " t r u e " c l a s s = " a u d i o _ p l a y e r _ d u r a t i o n " n g - b i n d = " m e d i a P l a y e r . p l a y e r . c u r r e n t T i m e | d u r a t i o n R e m a i n s : d u r a t i o n ( ) " > < / s p a n > \ n \ t \ t \ t < s p a n n g - s w i t c h - d e f a u l t c l a s s = " a u d i o _ p l a y e r _ d u r a t i o n " n g - b i n d = " d u r a t i o n ( ) | d u r a t i o n " > < / s p a n > \ n \ t \ t < / d i v > \ n \ t \ t < s p a n c l a s s = " c o p y o
e . put ( "partials/mobile/channel_modal.html" , '<div class="chat_modal_wrap">\n\n <div class="tg_page_head tg_modal_head">\n <div class="navbar navbar-static-top navbar-inverse">\n <div class="container">\n\n <div class="navbar-toggle-wrap dropdown" dropdown ng-if="hasRights(\'edit_title\') || hasRights(\'edit_photo\')">\n <a class="dropdown-toggle navbar-toggle" dropdown-toggle>\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n </a>\n <ul class="dropdown-menu">\n <li ng-if="chatFull.chat.photo.photo_small" ng-if="hasRights(\'edit_photo\')">\n <a ng-click="deletePhoto()" my-i18n="group_modal_menu_delete_photo"></a>\n </li>\n <li ng-if="hasRights(\'edit_title\')">\n <a ng-click="editChannel()" ng-switch="isMegagroup">\n <span ng-switch-when="true" my-i18n="group_modal_menu_edit_group"></span>\n <span ng-switch-default my-i18n="channel_modal_menu_edit"></span>\n </a>\n </li>\n </ul>\n </div>\n\n <div class="navbar-header">\n\n <ul class="nav navbar-nav navbar-quick-nav">\n <li>\n <a ng-click="$close()" class="navbar-quick-media-back">\n <i class="icon icon-back"></i>\n <div class="navbar-quick-back-title" ng-switch="isMegagroup">\n <h4>\n <span ng-switch-when="true" my-i18n="group_modal_info"></span>\n <span ng-switch-default my-i18n="channel_modal_info"></span>\n </h4>\n </div>\n </a>\n </li>\n </ul>\n\n </div>\n\n </div>\n </div>\n </div>\n\n <div class="modal-body mobile_modal_body">\n\n <div class="mobile_user_modal_photo_profile_wrap">\n\n <a ng-click="openPhoto(chatFull.chat_photo.id, {p: -chatFull.chat.id})" class="mobile_user_modal_image_wrap pull-left" my-peer-photolink="::-chatFull.chat.id" img-class="mobile_user_modal_image mobile_chat_modal_image" no-open="true" watch="true" ng-class="{disabled: !chatFull.chat.photo.photo_small}" ng-disabled="!chatFull.chat.photo.photo_small"></a>\n\n <div class="mobile_user_modal_info_wrap clearfix">\n <h4 class="mobile_user_modal_header" my-peer-link="-chatFull.chat.id"></h4>\n <p class="mobile_user_modal_status" ng-if="chatFull.participants_count > 0">\n <ng-pluralize count="chatFull.participants_count"\n when="group_modal_pluralize_participants">\n </ng-pluralize>\n </p>\n </div>\n\n </div>\n\n <div class="mobile_modal_section" ng-if="chatFull.chat.username">\n <h4 class="mobile_modal_section_header" my-i18n="channel_modal_share_link"></h4>\n <div class="mobile_modal_section_value">\n <a class="settings_modal_username_link" ng-click="shareLink($event)" ng-bind="\'https://t.me/\' + chatFull . chat . username " ng-href=" https : //t.me/{{chatFull.chat.username}}" target="_blank"></a>\n </div>\n </div>\n\n <div class="mobile_modal_section" ng-if="!chatFull.chat.username && chatFull.chat.pFlags.creator">\n <h4 class="mobile_modal_section_header" my-i18n="channel_modal_share_link"></h4>\n <div class="mobile_modal_section_value" ng-switch="chatFull.exported_invite._">\n <a ng-switch-when="chatInviteExported" class="settings_modal_username_link" ng-click="shareLink($event)" ng-bind="chatFull.exported_invite.link" ng-href="{{chatFull.exported_invite.link}}" target="_blank"></a>\n <span ng-switch-default my-i18n="channel_modal_share_loading">\n <my-i18n-param name="dots"><span my-loading-dots></span></my-i18n-param>\n </span>\n </div>\n </div>\n\n <div class="mobile_modal_section" ng-if="chatFull.rAbout">\n <h4 class="mobile_modal_section_header" my-i18n="channel_modal_description"></h4>\n <div class="mobile_modal_section_value" ng-bind-html="chatFull.rAbout
e . put ( "partials/mobile/head.html" , '<div class="tg_page_head">\n <div class="navbar navbar-static-top navbar-inverse" role="navigation" ng-class="{navbar_peer_not_selected: !curDialog.peer, navbar_offline: offline, navbar_history_select: historyState.selectActions}">\n <div class="container">\n\n\n <a class="navbar-peer-wrap" my-peer-photolink="historyPeer.id" peer-watch="true"></a>\n\n <div class="navbar-toggle-wrap dropdown" dropdown ng-switch="!curDialog.peer">\n <a class="dropdown-toggle navbar-toggle" dropdown-toggle>\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n </a>\n <ul ng-switch-when="true" class="dropdown-menu">\n <li><a ng-click="openGroup()" my-i18n="head_new_group"></a></li>\n <li><a ng-click="importContact()" my-i18n="head_new_contact"></a></li>\n <li ng-if="!isEmpty.contacts"><a ng-click="openContacts()" my-i18n="head_contacts"></a></li>\n <li><a ng-click="openSettings()" my-i18n="head_settings"></a></li>\n <li><a ng-click="logOut()" my-i18n="head_log_out"></a></li>\n </ul>\n <ul ng-switch-default class="dropdown-menu">\n <li><a ng-click="toggleEdit()" my-i18n="head_select_messages"></a></li>\n <li ng-if="!historyFilter.mediaType" class="divider"></li>\n <li ng-if="!historyFilter.mediaType"><a ng-click="toggleMedia(\'photos\')" my-i18n="head_media_photos"></a></li>\n <li ng-if="!historyFilter.mediaType"><a ng-click="toggleMedia(\'video\')" my-i18n="head_media_video"></a></li>\n <li ng-if="!historyFilter.mediaType"><a ng-click="toggleMedia(\'documents\')" my-i18n="head_media_documents"></a></li>\n <li ng-if="!historyFilter.mediaType"><a ng-click="toggleMedia(\'audio\')" my-i18n="head_media_audio"></a></li>\n <li ng-if="!historyFilter.mediaType"><a ng-click="toggleMedia(\'round\' ) " my-i18n=" head _media _round "></a></li>\n </ul>\n </div>\n\n <a class=" navbar - search - wrap " ng-click=" toggleSearch ( ) ">\n <i class=" icon - search "></i>\n </a>\n\n <div class=" navbar - header ">\n\n <a class=" navbar - brand tg _logo _wrap " href=" # / im "><i class=" icon icon - tg - logo "></i><i class=" icon icon - tg - title "></i></a>\n\n <span class=" tg _head _logo "></span></a>\n\n <div class=" tg _head _peer _menu _wrap " ng-switch=" curDialog . peer & amp ; & amp ; historyFilter . mediaType . length > 0 ">\n <ul ng-switch-when=" true " class=" nav navbar - nav navbar - quick - nav ">\n <li>\n <a ng-click=" toggleMedia ( ) " class=" navbar - quick - media - back ">\n <i class=" icon icon - back "></i>\n <div class=" navbar - quick - back - title " ng-switch=" historyFilter . mediaType ">\n <h4 ng-switch-when=" photos " my-i18n=" head _media _photos "></h4>\n <h4 ng-switch-when=" video " my-i18n=" head _media _video "></h4>\n <h4 ng-switch-when=" documents " my-i18n=" head _media _documents "></h4>\n <h4 ng-switch-when=" audio " my-i18n=" head _media _audio "></h4>\n </div>\n </a>\n </li>\n </ul>\n <div ng-switch-default ng-switch=" historyState . selectActions ">\n <ul ng-switch-when=" selected " class=" nav navbar - navbar navbar - quick - nav navbar - history - edit ">\n <li class=" navbar - quick - right ">\n <a ng-click=" toggleEdit ( ) " my-i18n=" modal _cancel "></a>\n </li>\n <li class=" navbar - quick - left ">\n <a ng-click=" selectedFlush ( ) " my-i18n=" head _clear _all "></a>\n </li>\n <li class=" navbar - quick - title " my-i18n=" head _select "></li>\n </ul>\n <ul ng-switch-default class=" nav navbar - nav navbar - quick - nav " ng-switch=" historyPeer . id > 0 ">\n <li ng-switch-when=" true ">\n <a href=" # / im " class=" navbar - quick - profile - back ">\n <i class=" icon icon - back "></i>\n <div class=" navbar - quick - back - title " > \ n
e . put ( "partials/mobile/message_actions_modal.html" , '<div class="message_actions_modal_wrap" my-modal-position>\n\n <div class="message_actions_wrap">\n <button ng-if="historyState.canReply" class="btn btn-md btn-md-primary btn-block" my-i18n="message_action_reply" ng-click="$close(\'reply\')"></button>\n <button ng-if="historyState.canEdit" class="btn btn-md btn-md-primary btn-block" my-i18n="message_action_edit" ng-click="$close(\'edit\')"></button>\n <button class="btn btn-md btn-md-primary btn-block" my-i18n="message_action_forward" ng-click="$close(\'forward\')"></button>\n <button ng-if="historyState.canDelete" class="btn btn-md btn-md-primary btn-block" my-i18n="message_action_delete" ng-click="$close(\'delete\')"></button>\n <button class="btn btn-md btn-md-primary btn-block" my-i18n="message_action_select" ng-click="$close(\'select\')"></button>\n <button class="btn btn-md btn-block" my-i18n="message_action_cancel" ng-click="$dismiss()"></button>\n </div>\n\n</div>\n' ) , e . put ( "partials/mobile/message_attach_contact.html" , '<div class="im_message_contact">\n <a ng-if="::media.user_id > 0" class="im_message_contact_photo pull-left" my-peer-photolink="media.user_id" img-class="im_message_contact_photo" user-override="media"></a>\n <div class="im_message_contact_name" ng-switch="media.user_id > 0">\n <a ng-switch-when="true" my-peer-link="media.user_id" user-override="media"></a>\n <span ng-switch-default ng-bind-html="::media.rFullName"></span>\n </div>\n <div class="im_message_contact_phone" ng-bind="::media.phone_number | phoneNumber"></div>\n</div>' ) , e . put ( "partials/mobile/message_attach_document.html" , '<div ng-switch="::media.document.type">\n\n <div ng-switch-when="gif" my-load-gif document="media.document"></div>\n \n <div ng-switch-when="round" my-load-round document="media.document"></div>\n\n <div ng-switch-when="sticker" my-load-sticker document="media.document" open="true"></div>\n\n <div ng-switch-when="voice" class="im_message_audio">\n <div my-audio-player audio="media.document"></div>\n </div>\n\n <div ng-switch-when="audio" class="im_message_audio">\n <div my-audio-player audio="media.document"></div>\n </div>\n\n <div ng-switch-when="video" class="im_message_video im_message_document_thumbed">\n <a class="im_message_video_thumb" href="" ng-click="videoOpen()" ng-style="::{width: media.document.thumb.width + \'px\' } ">\n <span class=" im _message _video _duration " ng-bind=" : : media . document . duration | duration "></span>\n <i class=" icon icon - videoplay "></i>\n <img\n class=" im _message _video _thumb im _message _video _thumb _blurred "\n my-load-thumb\n thumb=" media . document . thumb "\n />\n </a>\n </div>\n\n <div ng-switch-default class=" im _message _document clearfix " ng-class=" { im _message _document _thumbed : ! ! media . document . thumb , im _message _document _progress : media . document . progress . enabled } ">\n\n <a ng-if=" : : ! media . document . thumb " class=" im _message _file _button " ng-click=" docOpen ( ) " ng-class=" { im _message _file _button _dl _doc : media . document . downloaded } ">\n <i class=" im _message _file _button _icon "></i>\n </a>\n <a ng-if=" : : media . document . thumb " ng-click=" docOpen ( ) ">\n <div class=" im _message _document _thumb _wrap ">\n <img\n class=" im _message _document _thumb "\n my-load-thumb\n thumb=" media . document . thumb "\n />\n </div>\n </a>\n\n <div class=" im _message _document _info ">\n <div class=" im _message _document _name _wrap ">\n <a href=" " ng-attr-data-name=" { { media _file _name _without _ext } } " ng-attr-data-ext=" { { media _file _ext } } " ng-click=" docOpen ( ) " class=" im _message _document _name "></a>\n <span class=" im _message _document _size " ng-if=" ! media . document . progress . enabled " ng-bind=" : : media . document . size | formatSize "></span>\n <span class=" im _message _document _size " ng-if=" media . document . progress . enabled " ng-bind=" media . document . progress | formatSizeProgress "></span>\n </div>\n <div class=" im _message _document _actions " ng-if=" ! media . document . progress . en
e . put ( "partials/mobile/send_form.html" , '<form class="im_send_form" ng-class="{im_send_form_empty: !draftMessage.text.length && draftMessage.type != \'edit\', composer_progress_enabled: draftMessage.inlineProgress, im_voice_recording: voiceRecorder.recording, im_processing_recording: voiceRecorder.processing}">\n\n <div class="im_send_reply_wrap" ng-if="draftMessage.replyToMsgID > 0">\n <a class="im_send_reply_cancel" ng-mousedown="draftMessage.replyClear(true)"><i class="icon icon-reply-bar"></i><i class="icon icon-reply-bar"></i></a>\n <a class="im_message_reply_wrap" my-reply-message="draftMessage.replyToMsgID" watch="true" edit="{{draftMessage.type == \'edit\'}}"></a>\n </div>\n\n <div class="im_send_reply_wrap im_send_fwds_wrap" ng-if="draftMessage.fwdMessages.length > 0">\n <a class="im_send_reply_cancel" ng-mousedown="draftMessage.fwdsClear()"><i class="icon icon-reply-bar"></i><i class="icon icon-reply-bar"></i></a>\n <div class="im_message_reply_wrap" my-forwarded-messages="draftMessage.fwdMessages"></div>\n </div>\n\n <div class="im_send_field_panel">\n\n <div class="im_voice_recorder_wrap">\n <div class="im_recorder_indicator"><i></i></div>\n <div class="im_recorder_time" ng-bind="voiceRecorder.duration | duration"></div>\n <div class="im_recorder_label" ng-switch="voiceRecorder.processing">\n <span ng-switch-when="true" my-i18n="im_voice_processing_label">\n <my-i18n-param name="dots"></my-i18n-param>\n </span>\n <span ng-switch-default>\n <span class="im_recorder_label_hover" my-i18n="im_voice_recording_label"></span>\n <span class="im_recorder_label_hout" my-i18n="im_voice_recording_cancel_label"></span>\n </span>\n </div>\n </div>\n\n <div class="im_send_field_wrap" ng-class="historyState.replyKeyboard._ == \'replyKeyboardMarkup\' ? \'im_send_field_wrap_2ndbtn\' : \'\'">\n <a class="composer_emoji_insert_btn pull-right"><i class="icon icon-emoji"></i></a>\n <a class="composer_command_btn" ng-show="!historyState.replyKeyboard && commands.list.length > 0 && (!draftMessage.text.length || draftMessage.text[0] == \'/\')" ng-mousedown="draftMessage.toggleSlash($event)" ng-class="draftMessage.text[0] == \'/\' ? \'active\' : \'\'"><i class="icon icon-slash"></i></a>\n <a class="composer_keyboard_btn" ng-show="historyState.replyKeyboard._ == \'replyKeyboardMarkup\'" ng-mousedown="draftMessage.replyKeyboardToggle($event)" ng-class="!historyState.replyKeyboard.pFlags.hidden ? \'active\' : \'\'"><i class="icon icon-keyboard"></i></a>\n\n <div class="composer_progress_icon_wrap">\n <div class="composer_progress_icon" my-arc-progress width="22" stroke="2.5"></div>\n </div>\n\n <div class="im_send_dropbox_wrap" my-i18n="im_photos_drop_text"></div>\n <textarea ng-model="draftMessage.text" class="form-control im_message_field no_outline" dir="auto" ng-trim="false"></textarea>\n </div>\n\n <div class="im_attach pull-left">\n <input type="file" class="im_attach_input" size="28" multiple="true" title="{{\'im_media_attach_title\' | i18n}}" />\n <i class="icon icon-paperclip"></i>\n </div>\n\n <div class="im_record pull-right">\n <i class="icon icon-mic"></i>\n </div>\n\n <button type="submit" class="btn btn-success im_submit"></button>\n </div>\n\n\n <div class="im_send_keyboard_wrap" ng-if="historyState.replyKeyboard._ == \'replyKeyboardMarkup\'" ng-show="!historyState.replyKeyboard.pFlags.hidden">\n <div my-reply-markup="historyState.replyKeyboard"></div>\n </div>\n\n</form>' ) , e . put ( "partials/mobile/sessions_list_modal.html" , ' < div class = "sessions_modal_wrap" > \ n \ n < div class = "tg_page_head tg_modal_head" > \ n < div class = "navbar navbar-static-top navbar-inverse" > \ n < div class = "container" > \ n \ n < div class = "navbar-header" > \ n < ul class = "nav navbar-nav navbar-quick-nav" > \ n < li > \ n < a ng - click = "$dismiss()" class = "navbar-quick-media-back" > \ n < i class = "icon icon-back" > < / i > \ n < d i v c l
delete t . selectCategoryTimeout , a ? ( t . selectCategoryIndex = i , t . selectCategoryTimeout = setTimeout ( function ( ) { delete t . selectCategoryIndex , delete t . selectCategoryTimeout , t . selectCategory ( i ) } , 300 ) ) : delete t . selectCategoryIndex ) } } } ) , this . emojiScroller = new Scroller ( this . emojiContentEl , { classPrefix : "composer_emoji_tooltip" } ) , this . stickersScroller = new Scroller ( this . stickersContentEl , { classPrefix : "composer_emoji_tooltip" } ) , this . stickersScroller . onScroll ( function ( e , n ) { t . onStickersScroll ( e , n ) } ) , this . contentEl . on ( "mousedown" , function ( e ) { e = e . originalEvent || e ; var n , i , a , r = $ ( e . target ) ; return "A" != r [ 0 ] . tagName && ( r = $ ( r [ 0 ] . parentNode ) ) , ( n = r . attr ( "data-code" ) ) && ( t . onEmojiSelected && t . onEmojiSelected ( n ) , EmojiHelper . pushPopularEmoji ( n ) ) , ( i = r . attr ( "data-sticker" ) ) && ( t . onStickerSelected && t . onStickerSelected ( i ) , Config . Mobile && t . hide ( ) ) , ( a = r . attr ( "data-stickerset" ) ) && ( t . onStickersetSelected && t . onStickersetSelected ( a ) , t . hide ( ) ) , cancelEvent ( e ) } ) , Config . Navigator . touch || this . tooltipEl . on ( "mouseenter mouseleave" , function ( e ) { "mouseenter" == e . type ? t . onMouseEnter ( ) : t . onMouseLeave ( ) } ) , this . selectTab ( 0 ) , $ ( window ) . on ( "resize" , this . updatePosition . bind ( this ) ) , ! 0 } , EmojiTooltip . prototype . selectCategory = function ( e , t ) { return ! ( ! this . tab && this . cat === e && ! t ) && ( $ ( ".active" , this . categoriesEl ) . removeClass ( "active" ) , this . cat = e , void ( this . tab ? ( this . activateStickerCategory ( ) , this . updateStickersContents ( t ) ) : ( $ ( this . categoriesEl [ this . tab ] . childNodes [ e ] ) . addClass ( "active" ) , this . updateEmojiContents ( ) ) ) ) } , EmojiTooltip . prototype . selectTab = function ( e , t ) { if ( this . tab === e && ! t ) return ! 1 ; this . tab = e , this . selectCategory ( 0 , ! 0 ) ; var n = this ; setTimeout ( function ( ) { $ ( n . tooltipEl ) . toggleClass ( "composer_emoji_tooltip_tabs_stickers_active" , 1 == e ) } , 0 ) } , EmojiTooltip . prototype . updateEmojiContents = function ( ) { var e = [ ] , t = this , n = 26 , i = function ( ) { t . emojiContentEl . html ( e . join ( "" ) ) , t . emojiScroller . reinit ( ) } ; if ( this . cat > 0 ) { var a , r , o , s , l , c = this . cat - 1 , d = Config . EmojiCategories [ c ] , u = Config . EmojiCategorySpritesheetDimens [ c ] [ 1 ] , p = d . length ; for ( o = 0 ; o < p ; o ++ ) a = d [ o ] , r = Config . Emoji [ a ] , s = n * ( o % u ) , l = n * Math . floor ( o / u ) , e . push ( '<a class="composer_emoji_btn" title=":' + encodeEntities ( r [ 1 ] [ 0 ] ) + ':" data-code="' + encodeEntities ( a ) + '"><i class="emoji emoji-w' + n + " emoji-spritesheet-" + c + '" style="background-position: -' + s + "px -" + l + 'px;"></i></a>' ) ; i ( ) } else EmojiHelper . getPopularEmoji ( function ( t ) { var a , r , o , s , l , c , d , u , p = t . length ; for ( c = 0 ; c < p ; c ++ ) a = t [ c ] . code , ( r = Config . Emoji [ a ] ) && ( o = EmojiHelper . spritesheetPositions [ a ] , l = o [ 0 ] , s = o [ 1 ] , d = n * o [ 3 ] , u = n * o [ 2 ] , e . push ( '<a class="composer_emoji_btn" title=":' + encodeEntities ( r [ 1 ] [ 0 ] ) + ':" data-code="' + encodeEntities ( a ) + '"><i class="emoji emoji-w' + n + " emoji-spritesheet-" + l + '" style="background-position: -' + d + "px -" + u + 'px;"></i></a>' ) ) ; i ( ) } ) } , EmojiTooltip . prototype . updateStickersContents = function ( e ) { var t = [ ] , n = [ ] , i = this , a = function ( ) { var t = i . cat ? i . stickersetPositions [ i . cat ] [ 0 ] : 0 ; i . stickersScroller . scrollTo ( t , e ? 0 : 200 ) } ; if ( ! e && i . stickersetPositions . length ) return void a ( ) ; var r = function ( e ) { var r , o , s , l , c , d ; for ( s = 0 , c = e . length ; s < c ; s ++ ) if ( r = e [ s ] , r . docIDs . length ) { for ( t . push ( '<div class="composer_stickerset_wrap clearfix">' ) , r . title && t . push ( '<a class="composer_stickerset_title' , r . id ? "" : " disabled" , '" data-stickerset="' , encodeEntities ( r . short _name ) , '">' , encodeEntities ( r . title ) , "</a>" ) , r . id ? n . push ( '<a class="composer_sticker_btn" data-sticker="' + r . docIDs [ 0 ] + '" data-category="' + s + '"></a>' ) : n . push ( '<a class="composer_emoji_tooltip_category active" data-category="0"><i class="composer_emoji_tooltip_category_recent"></i></a>' ) , l = 0 , d = r . docIDs . length ; l < d ; l ++ ) o = r . docIDs [ l ] , t . push ( '<a class="composer_sticker_btn" data-sticker="' + o + '"></a>' ) ; t . push ( "</div>" ) } i . stickersContentEl . html ( t . join ( "" ) ) , i . stickersCategoriesEl . html ( n . join ( "" ) ) , i . stickersScroller . reinit ( ) ; var u = [ ] ; $ ( ".composer_stickerset_wrap" , i . stickersContentEl ) . each ( function ( e , t ) { var n = t . offsetHeight , i = t . offsetTop ; u . push ( [ i , n ] ) } ) , i . stickersetPositions = u , a ( ) ; var p = [ ] ; i . contentEl . find ( ".composer_sticker_btn" ) . each ( function ( e , t ) { e < 12 ? i . replaceStickerImage ( t ) : p . push ( [ t . offsetTop , t ] ) } ) , i . stickersPreload = p , i . stickersCategoriesEl . find ( ".composer_sticker_btn" ) . each ( function ( e , t ) { i . re
t . mid == n . messageId && a ( ) } ) , a ( ) } } } ] ) . directive ( "myMessagePending" , function ( ) { function e ( e , t , n ) { if ( e . media . file _name ) { var i = e . media . file _name . split ( "." ) ; i . length > 1 ? ( e . media _file _ext = "." + i . pop ( ) , e . media _file _name _without _ext = i . join ( "." ) , e . media _file _name _without _ext || ( e . media _file _name _without _ext = e . media _file _ext , e . media _file _ext = "" ) ) : ( e . media _file _ext = "" , e . media _file _name _without _ext = i [ 0 ] ) } } return { scope : { media : "=myMessagePending" } , templateUrl : templateUrl ( "message_attach_pending" ) , link : e } } ) . directive ( "myInlineReplyMarkup" , function ( ) { function e ( e , t , n ) { e . buttonClick = function ( t ) { e . $emit ( "reply_inline_button_press" , t ) } } return { templateUrl : templateUrl ( "reply_markup" ) , scope : { replyMarkup : "=myInlineReplyMarkup" } , link : e } } ) . directive ( "myServiceMessage" , [ "ErrorService" , "AppMessagesManager" , function ( e , t ) { function n ( n , i , a ) { n . phoneCallClick = function ( n ) { var i = t . getMessage ( n ) , a = t . getMessagePeer ( i ) ; e . show ( { error : { type : "PHONECALLS_NOT_SUPPORTED" , userID : a } } ) } } return { templateUrl : templateUrl ( "message_service" ) , scope : { historyMessage : "=myServiceMessage" } , link : n } } ] ) . directive ( "myShortMessage" , function ( ) { return { scope : { message : "=myShortMessage" } , templateUrl : templateUrl ( "short_message" ) } } ) . directive ( "myReplyMessage" , [ "AppMessagesManager" , "AppPeersManager" , "$rootScope" , function ( e , t , n ) { function i ( e , t , n ) { if ( n . watch ) e . $parent . $watch ( n . myReplyMessage , function ( i ) { var r = e . $parent . $eval ( n . edit ) ; a ( e , t , i , r ) } ) ; else { var i = e . $parent . $eval ( n . myReplyMessage ) , r = e . $parent . $eval ( n . edit ) ; a ( e , t , i , r ) } } function a ( t , n , i , a ) { var o = t . replyMessage = e . wrapSingleMessage ( i ) ; if ( t . isEdit = a || ! 1 , o . loading ) var s = t . $on ( "messages_downloaded" , function ( a , o ) { o . indexOf ( i ) != - 1 && ( t . replyMessage = e . wrapForDialog ( i ) , r ( t , n ) , s ( ) ) } ) ; else r ( t , n ) } function r ( i , a ) { var r = i . replyMessage ; return r && ! r . deleted && r . to _id ? ( i . thumb = e . getMessageThumb ( r , 42 , 42 ) , "A" == a [ 0 ] . tagName && a . on ( "click" , function ( ) { var i = e . getMessagePeer ( r ) , a = t . getPeerString ( i ) ; n . $broadcast ( "history_focus" , { peerString : a , messageID : r . mid } ) } ) , void onContentLoaded ( function ( ) { i . $emit ( "ui_height" ) } ) ) : void $ ( a ) . remove ( ) } return { templateUrl : templateUrl ( "reply_message" ) , scope : { } , link : i } } ] ) . directive ( "myPinnedMessage" , [ "AppMessagesManager" , "AppPeersManager" , "$rootScope" , function ( e , t , n ) { function i ( t , n , i ) { var r = t . $parent . $eval ( i . myPinnedMessage ) , o = t . pinnedMessage = e . wrapSingleMessage ( r ) ; if ( o . loading ) var s = t . $on ( "messages_downloaded" , function ( i , o ) { o . indexOf ( r ) != - 1 && ( t . pinnedMessage = e . wrapForDialog ( r ) , a ( t , n ) , s ( ) ) } ) ; else a ( t , n ) } function a ( i , a ) { var r = i . pinnedMessage ; return r && ! r . deleted && r . to _id ? ( "A" == a [ 0 ] . tagName && a . on ( "click" , function ( ) { var i = e . getMessagePeer ( r ) , a = t . getPeerString ( i ) ; n . $broadcast ( "history_focus" , { peerString : a , messageID : r . mid } ) } ) , void onContentLoaded ( function ( ) { i . $emit ( "ui_height" ) } ) ) : void $ ( a ) . remove ( ) } return { templateUrl : templateUrl ( "pinned_message" ) , scope : { } , link : i } } ] ) . directive ( "myForwardedMessages" , [ "AppPhotosManager" , "AppMessagesManager" , "AppPeersManager" , "$rootScope" , function ( e , t , n , i ) { function a ( e , t , n ) { n . watch ? e . $watch ( "forwardMessages" , function ( ) { r ( e , t ) } ) : r ( e , t ) } function r ( e , n ) { var i = e . forwardMessages , a = i . length , r = ! 1 , o = 1 == a ; e . thumb = ! 1 , e . singleMessage = ! 1 , angular . forEach ( i , function ( n ) { var i = t . getMessage ( n ) ; r === ! 1 ? r = i . fromID : r !== i . fromID && ( r = t . getMessagePeer ( i ) ) , o && ( e . thumb = t . getMessageThumb ( i , 42 , 42 ) , e . singleMessage = t . wrapForDialog ( n ) ) } ) , e . fromID = r , e . count = a , onContentLoaded ( function ( ) { e . $emit ( "ui_height" ) } ) } return { templateUrl : templateUrl ( "forwarded_messages" ) , scope : { forwardMessages : "=myForwardedMessages" } , link : a } } ] ) . directive ( "myMessageEdited" , [ "_" , "$timeout" , "AppMessagesManager" , function ( e , t , n ) { function i ( e , t , n ) { var i = e . $parent . $eval ( n . myMessageEdited ) ; a ( e , t , i ) && e . $on ( "message_edit" , function ( i , r ) { var o = e . $parent . $eval ( n . myMessageEdited ) ; r . mid == o && a ( e , t , o ) } ) } function a ( e , i , a ) { var o = n . getMessage ( a ) ; return o . canBeEdited ? ! o . edit _date || ( i . html ( r ) . show ( ) , t ( function ( ) { e . $destroy ( ) } ) , ! 1 ) : ( t ( function ( ) { e . $destroy ( ) , i . remove ( ) } ) , ! 1 ) } var r = e ( "message_edited" ) ; return { scope : { } , link : i } } ] ) . directive ( "myDialogs" , [ "$modalStack" , "$transition" , "$window" , "$timeout" , function ( e , t , n , i ) { function a ( t , a , r ) { function o ( n ) { if ( ! p && e . getTop ( ) ) return ! 0 ; var i , a , r ; if ( 36 == n
function t ( e , t , i ) { t . html ( n ( t [ 0 ] ) ? '<div class="loading_dots"><i></i><i></i><i></i></div>' : "..." ) } function n ( e ) { if ( void 0 === i && ( i = void 0 !== e . style . animationName , i === ! 1 ) ) { var t , n = "Webkit Moz O ms Khtml" . split ( " " ) ; for ( t = 0 ; t < n . length ; t ++ ) if ( void 0 !== e . style [ n [ t ] + "AnimationName" ] ) { i = ! 0 ; break } } return i } return { link : t } ; var i } ] ) . directive ( "myFocused" , [ "shouldFocusOnInteraction" , function ( e ) { return { link : function ( t , n , i ) { return ! ! e && void setTimeout ( function ( ) { setFieldSelection ( n [ 0 ] ) } , 100 ) } } } ] ) . directive ( "myFocusOn" , [ "shouldFocusOnInteraction" , function ( e ) { return { link : function ( t , n , i ) { t . $on ( i . myFocusOn , function ( ) { return ! ! e && void onContentLoaded ( function ( ) { setFieldSelection ( n [ 0 ] ) } ) } ) } } } ] ) . directive ( "myFileUpload" , function ( ) { function e ( e , t , n ) { t . on ( "change" , function ( ) { var t = this ; e . $apply ( function ( ) { e . photo . file = t . files [ 0 ] , setTimeout ( function ( ) { try { t . value = "" } catch ( e ) { } } , 1e3 ) } ) } ) } return { link : e } } ) . directive ( "myModalWidth" , function ( ) { function e ( e , t , n ) { n . $observe ( "myModalWidth" , function ( e ) { $ ( t [ 0 ] . parentNode . parentNode ) . css ( { width : parseInt ( e ) + ( Config . Mobile ? 0 : 32 ) } ) } ) } return { link : e } } ) . directive ( "myModalNav" , function ( ) { function e ( e , t , n ) { var i = function ( t ) { var i = t . target ; if ( ! i || "INPUT" != i . tagName && "TEXTAREA" != i . tagName ) switch ( t . keyCode ) { case 39 : case 32 : case 34 : case 40 : e . $eval ( n . next ) ; break ; case 37 : case 33 : case 38 : e . $eval ( n . prev ) } } ; $ ( document ) . on ( "keydown" , i ) , e . $on ( "$destroy" , function ( ) { $ ( document ) . off ( "keydown" , i ) } ) } return { link : e } } ) . directive ( "myCustomBackground" , function ( ) { function e ( e , t , n ) { $ ( "html" ) . css ( { background : n . myCustomBackground } ) , e . $on ( "$destroy" , function ( ) { $ ( "html" ) . css ( { background : "" } ) } ) } return { link : e } } ) . directive ( "myInfiniteScroller" , function ( ) { function e ( e , t , n ) { var i = $ ( ".nano-content" , t ) [ 0 ] , a = ! 1 ; $ ( i ) . on ( "scroll" , function ( n ) { t . is ( ":visible" ) && ! a && i . scrollTop >= i . scrollHeight - i . clientHeight - 300 && ( a = ! 0 , e . $apply ( function ( ) { e . slice . limit += e . slice . limitDelta || 20 } ) , onContentLoaded ( function ( ) { a = ! 1 , $ ( t ) . nanoScroller ( ) } ) ) } ) } return { link : e , scope : ! 0 } } ) . directive ( "myModalPosition" , [ "$window" , "$timeout" , function ( e , t ) { function n ( n , i , a ) { var r = function ( ) { if ( ! Config . Mobile || ! $ ( i [ 0 ] . parentNode . parentNode . parentNode ) . hasClass ( "mobile_modal" ) ) { var e = i [ 0 ] . parentNode . offsetHeight , n = i [ 0 ] . parentNode . parentNode . parentNode , r = $ ( ".media_modal_bottom_panel_wrap" , n ) [ 0 ] , o = n . offsetHeight - ( r && r . offsetHeight || 0 ) ; e < o ? $ ( i [ 0 ] . parentNode ) . css ( "marginTop" , ( o - e ) / 2 ) : $ ( i [ 0 ] . parentNode ) . css ( "marginTop" , "" ) , "no" != a . animation && t ( function ( ) { $ ( i [ 0 ] . parentNode ) . addClass ( "modal-content-animated" ) } , 300 ) } } ; onContentLoaded ( r ) , $ ( e ) . on ( "resize" , r ) , n . $on ( "ui_height" , function ( e , t ) { t ? r ( ) : onContentLoaded ( r ) } ) } return { link : n } } ] ) . directive ( "myVerticalPosition" , [ "$window" , "$timeout" , function ( e , t ) { function n ( t , n , i ) { var a = "true" === i . padding , r = 0 , o = function ( ) { var o = n [ 0 ] . offsetHeight , s = o - ( o && a ? 2 * r : 0 ) , l = i . myVerticalPosition && parseFloat ( i . myVerticalPosition ) || . 5 , c = i . contHeight ? t . $eval ( i . contHeight ) : $ ( e ) . height ( ) , d = s < c ? parseInt ( ( c - s ) * l ) : "" , u = a ? { paddingTop : d , paddingBottom : d } : { marginTop : d , marginBottom : d } ; n . css ( u ) , n . addClass ( "vertical-aligned" ) , r !== d && t . $emit ( "ui_height" ) , r = d } ; $ ( e ) . on ( "resize" , o ) , onContentLoaded ( o ) , t . $on ( "ui_height" , function ( ) { onContentLoaded ( o ) } ) } return { link : n } } ] ) . directive ( "myUserStatus" , [ "$filter" , "$rootScope" , "AppUsersManager" , function ( e , t , n ) { function i ( ) { angular . forEach ( s , function ( e ) { e ( ) } ) } function a ( e , t , i ) { var a , l = o ++ , c = function ( ) { var e = n . getUser ( a ) ; t . html ( r ( e , i . botChatPrivacy ) ) . toggleClass ( "status_online" , e . status && "userStatusOnline" == e . status . _ || ! 1 ) } ; e . $watch ( i . myUserStatus , function ( e ) { a = e , c ( ) } ) , e . $on ( "user_update" , function ( e , t ) { a == t && c ( ) } ) , s [ l ] = c , e . $on ( "$destroy" , function ( ) { delete s [ l ] } ) } var r = e ( "userStatus" ) , o = 0 , s = { } ; return setInterval ( i , 9e4 ) , t . $on ( "stateSynchronized" , function ( ) { setTimeout ( function ( ) { i ( ) } , 100 ) } ) , { link : a } } ] ) . directive ( "myChatStatus" , [ "$rootScope" , "_" , "MtpApiManager" , "AppChatsManager" , "AppUsersManager" , "AppProfileManager" , function ( e , t , n , i , a , r ) { function o ( ) { angular . forEach ( c , function ( e ) { e ( ) } ) } function s ( n , o , s ) { var f , m = l ++ , h = 0 , g = 0 , _ = { } , v = function ( ) { var e = ++ h ; return g = 0 , _ = { } , f ? void r . getChatFull ( f ) . then ( function ( t ) { if ( e == h ) { var n = ( t . participants || { } ) . participants || [ ] ; g = n