2016-11-28 10:42:58 +00:00
/**
* CyberChef - The Cyber Swiss Army Knife
*
* @copyright Crown Copyright 2016
* @license Apache-2.0
*
* Copyright 2016 Crown Copyright
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
"use strict" ; function BigInteger ( a , b , c ){ null != a && ( "number" == typeof a ? this . fromNumber ( a , b , c ) : null == b && "string" != typeof a ? this . fromString ( a , 256 ) : this . fromString ( a , b ))} function nbi (){ return new BigInteger ( null )} function am1 ( a , b , c , d , e , f ){ for (; -- f >= 0 ;){ var g = b * this [ a ++ ] + c [ d ] + e ; e = Math . floor ( g / 67108864 ), c [ d ++ ] = 67108863 & g } return e } function am2 ( a , b , c , d , e , f ){ for ( var g = 32767 & b , h = b >> 15 ; -- f >= 0 ;){ var i = 32767 & this [ a ], j = this [ a ++ ] >> 15 , k = h * i + j * g ; i = g * i + (( 32767 & k ) << 15 ) + c [ d ] + ( 1073741823 & e ), e = ( i >>> 30 ) + ( k >>> 15 ) + h * j + ( e >>> 30 ), c [ d ++ ] = 1073741823 & i } return e } function am3 ( a , b , c , d , e , f ){ for ( var g = 16383 & b , h = b >> 14 ; -- f >= 0 ;){ var i = 16383 & this [ a ], j = this [ a ++ ] >> 14 , k = h * i + j * g ; i = g * i + (( 16383 & k ) << 14 ) + c [ d ] + e , e = ( i >> 28 ) + ( k >> 14 ) + h * j , c [ d ++ ] = 268435455 & i } return e } function int2char ( a ){ return BI_RM . charAt ( a )} function intAt ( a , b ){ var c = BI_RC [ a . charCodeAt ( b )]; return null == c ?- 1 : c } function bnpCopyTo ( a ){ for ( var b = this . t - 1 ; b >= 0 ; -- b ) a [ b ] = this [ b ]; a . t = this . t , a . s = this . s } function bnpFromInt ( a ){ this . t = 1 , this . s = a < 0 ?- 1 : 0 , a > 0 ? this [ 0 ] = a : a <- 1 ? this [ 0 ] = a + this . DV : this . t = 0 } function nbv ( a ){ var b = nbi (); return b . fromInt ( a ), b } function bnpFromString ( a , b ){ var c ; if ( 16 == b ) c = 4 ; else if ( 8 == b ) c = 3 ; else if ( 256 == b ) c = 8 ; else if ( 2 == b ) c = 1 ; else if ( 32 == b ) c = 5 ; else { if ( 4 != b ) return void this . fromRadix ( a , b ); c = 2 } this . t = 0 , this . s = 0 ; for ( var d = a . length , e =! 1 , f = 0 ; -- d >= 0 ;){ var g = 8 == c ? 255 & a [ d ] : intAt ( a , d ); g < 0 ? "-" == a . charAt ( d ) && ( e =! 0 ) : ( e =! 1 , 0 == f ? this [ this . t ++ ] = g : f + c > this . DB ? ( this [ this . t - 1 ] |= ( g & ( 1 << this . DB - f ) - 1 ) << f , this [ this . t ++ ] = g >> this . DB - f ) : this [ this . t - 1 ] |= g << f , f += c , f >= this . DB && ( f -= this . DB ))} 8 == c && 0 != ( 128 & a [ 0 ]) && ( this . s =- 1 , f > 0 && ( this [ this . t - 1 ] |= ( 1 << this . DB - f ) - 1 << f )), this . clamp (), e && BigInteger . ZERO . subTo ( this , this )} function bnpClamp (){ for ( var a = this . s & this . DM ; this . t > 0 && this [ this . t - 1 ] == a ;) -- this . t } function bnToString ( a ){ if ( this . s < 0 ) return "-" + this . negate (). toString ( a ); var b ; if ( 16 == a ) b = 4 ; else if ( 8 == a ) b = 3 ; else if ( 2 == a ) b = 1 ; else if ( 32 == a ) b = 5 ; else { if ( 4 != a ) return this . toRadix ( a ); b = 2 } var c , d = ( 1 << b ) - 1 , e =! 1 , f = "" , g = this . t , h = this . DB - g * this . DB % b ; if ( g -- > 0 ) for ( h < this . DB && ( c = this [ g ] >> h ) > 0 && ( e =! 0 , f = int2char ( c )); g >= 0 ;) h < b ? ( c = ( this [ g ] & ( 1 << h ) - 1 ) << b - h , c |= this [ -- g ] >> ( h += this . DB - b )) : ( c = this [ g ] >> ( h -= b ) & d , h <= 0 && ( h += this . DB , -- g )), c > 0 && ( e =! 0 ), e && ( f += int2char ( c )); return e ? f : "0" } function bnNegate (){ var a = nbi (); return BigInteger . ZERO . subTo ( this , a ), a } function bnAbs (){ return this . s < 0 ? this . negate () : this } function bnCompareTo ( a ){ var b = this . s - a . s ; if ( 0 != b ) return b ; var c = this . t ; if ( b = c - a . t , 0 != b ) return this . s < 0 ?- b : b ; for (; -- c >= 0 ;) if ( 0 != ( b = this [ c ] - a [ c ])) return b ; return 0 } function nbits ( a ){ var b , c = 1 ; return 0 != ( b = a >>> 16 ) && ( a = b , c += 16 ), 0 != ( b = a >> 8 ) && ( a = b , c += 8 ), 0 != ( b = a >> 4 ) && ( a = b , c += 4 ), 0 != ( b = a >> 2 ) && ( a = b , c += 2 ), 0 != ( b = a >> 1 ) && ( a = b , c += 1 ), c } function bnBitLength (){ return this . t <= 0 ? 0 : this . DB * ( this . t - 1 ) + nbits ( this [ this . t - 1 ] ^ this . s & this . DM )} function bnpDLShiftTo ( a , b ){ var c ; for ( c = this . t - 1 ; c >= 0 ; -- c ) b [ c + a ] = this [ c ]; for ( c = a - 1 ; c >= 0 ; -- c ) b [ c ] = 0 ; b . t = this . t + a , b . s = this . s } function bnpDRShiftTo ( a , b ){ for ( var c = a ; c < this . t ; ++ c ) b [ c - a ] = this [ c ]; b . t = Math . max ( this . t - a , 0 ), b . s = this . s } function bnpLShiftTo ( a , b ){ var c , d = a % this . DB , e = this . DB - d , f = ( 1 << e ) - 1 , g = Math . floor ( a / this . DB ), h = this . s << d & this . DM ; for ( c = this . t - 1 ; c >= 0 ; -- c ) b [ c + g + 1 ] = this [ c ] >> e | h , h = ( this [ c ] & f ) << d ; for ( c = g - 1 ; c >= 0 ; -- c ) b [ c ] = 0 ; b [ g ] = h , b . t = this . t + g + 1 , b . s = this . s , b . clamp ()} function bnpRShiftTo ( a , b ){ b . s = this . s ; var c = Math . floor ( a / this . DB ); if ( c >= this . t ) return void ( b . t = 0 ); var d = a % this . DB , e = this . DB - d , f = ( 1 << d ) - 1 ; b [ 0 ] = this [ c ] >> d ; for ( var g = c + 1 ; g < this . t ; ++ g ) b [ g - c - 1 ] |= ( this [ g ] & f ) << e , b [ g - c ] = this [ g ] >> d ; d > 0 && ( b [ this . t - c - 1 ] |= ( this . s & f ) << e ), b . t = this . t - c , b . clamp ()} function bnpSubTo ( a , b ){ for ( var c = 0 , d = 0 , e = Math . min ( a . t , this . t ); c < e ;) d += this [ c ] - a [ c ], b [ c ++ ] = d & this . DM , d >>= this . DB ; if ( a . t < this . t ){ for ( d -= a . s ; c < this . t ;) d += this [ c ], b [ c ++ ] = d & this . DM , d >>= this . DB ; d += this . s } else { for ( d += this . s ; c < a . t ;) d -= a [ c ], b [ c ++ ] = d & this . DM , d >>= this . DB ; d -= a . s } b . s = d < 0 ?- 1 : 0 , d <- 1 ? b [ c ++ ] = this . DV + d : d > 0 && ( b [ c ++ ] = d ), b . t = c , b . clamp ()} function bnpMultiplyTo ( a , b ){ var c = this . abs (), d = a . abs (), e = c . t ; for ( b . t = e + d . t ; -- e >= 0 ;) b [ e ] = 0 ; for ( e = 0 ; e < d . t ; ++ e ) b [ e + c . t ] = c . am ( 0 , d [ e ], b , e , 0 , c . t ); b . s = 0 , b . clamp (), this . s != a . s && BigInteger . ZERO . subTo ( b , b )} function bnpSquareTo ( a ){ for ( var b = this . abs (), c = a . t = 2 * b . t ; -- c >= 0 ;) a [ c ] = 0 ; for ( c = 0 ; c < b . t - 1 ; ++ c ){
========================================================================
The 'jsrsasign' ( RSA - Sign JavaScript Library ) License
Copyright ( c ) 2010 - 2013 Kenji Urushima
Permission is hereby granted , free of charge , to any person obtaining a copy
of this software and associated documentation files ( the "Software" ), to deal
in the Software without restriction , including without limitation the rights
to use , copy , modify , merge , publish , distribute , sublicense , and / or sell
copies of the Software , and to permit persons to whom the Software is
furnished to do so , subject to the following conditions :
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software .
THE SOFTWARE IS PROVIDED "AS IS" , WITHOUT WARRANTY OF ANY KIND , EXPRESS OR
IMPLIED , INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY ,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT . IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM , DAMAGES OR OTHER
LIABILITY , WHETHER IN AN ACTION OF CONTRACT , TORT OR OTHERWISE , ARISING FROM ,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE .
* /
function X509 (){ this . subjectPublicKeyRSA = null , this . subjectPublicKeyRSA_hN = null , this . subjectPublicKeyRSA_hE = null , this . hex = null , this . getSerialNumberHex = function (){ return ASN1HEX . getDecendantHexVByNthList ( this . hex , 0 ,[ 0 , 1 ])}, this . getIssuerHex = function (){ return ASN1HEX . getDecendantHexTLVByNthList ( this . hex , 0 ,[ 0 , 3 ])}, this . getIssuerString = function (){ return X509 . hex2dn ( ASN1HEX . getDecendantHexTLVByNthList ( this . hex , 0 ,[ 0 , 3 ]))}, this . getSubjectHex = function (){ return ASN1HEX . getDecendantHexTLVByNthList ( this . hex , 0 ,[ 0 , 5 ])}, this . getSubjectString = function (){ return X509 . hex2dn ( ASN1HEX . getDecendantHexTLVByNthList ( this . hex , 0 ,[ 0 , 5 ]))}, this . getNotBefore = function (){ var a = ASN1HEX . getDecendantHexVByNthList ( this . hex , 0 ,[ 0 , 4 , 0 ]); return a = a . replace ( /(..)/g , "%$1" ), a = decodeURIComponent ( a )}, this . getNotAfter = function (){ var a = ASN1HEX . getDecendantHexVByNthList ( this . hex , 0 ,[ 0 , 4 , 1 ]); return a = a . replace ( /(..)/g , "%$1" ), a = decodeURIComponent ( a )}, this . readCertPEM = function ( a ){ var b = X509 . pemToHex ( a ), c = X509 . getPublicKeyHexArrayFromCertHex ( b ), d = new RSAKey ; d . setPublic ( c [ 0 ], c [ 1 ]), this . subjectPublicKeyRSA = d , this . subjectPublicKeyRSA_hN = c [ 0 ], this . subjectPublicKeyRSA_hE = c [ 1 ], this . hex = b }, this . readCertPEMWithoutRSAInit = function ( a ){ var b = X509 . pemToHex ( a ), c = X509 . getPublicKeyHexArrayFromCertHex ( b ); this . subjectPublicKeyRSA . setPublic ( c [ 0 ], c [ 1 ]), this . subjectPublicKeyRSA_hN = c [ 0 ], this . subjectPublicKeyRSA_hE = c [ 1 ], this . hex = b }} /** @license
========================================================================
Bootstrap v3.3.6 (http://getbootstrap.com)
Copyright 2011-2016 Twitter, Inc.
Licensed under the MIT license
*/
if ( function ( a , b ){ "object" == typeof module && "object" == typeof module . exports ? module . exports = a . document ? b ( a , ! 0 ) : function ( a ){ if ( ! a . document ) throw new Error ( "jQuery requires a window with a document" ); return b ( a )} : b ( a )}( "undefined" != typeof window ? window : this , function ( a , b ){ function c ( a ){ var b = a . length , c = _ . type ( a ); return "function" !== c &&! _ . isWindow ( a ) && ( ! ( 1 !== a . nodeType ||! b ) || ( "array" === c || 0 === b || "number" == typeof b && b > 0 && b - 1 in a ))} function d ( a , b , c ){ if ( _ . isFunction ( b )) return _ . grep ( a , function ( a , d ){ return !! b . call ( a , d , a ) !== c }); if ( b . nodeType ) return _ . grep ( a , function ( a ){ return a === b !== c }); if ( "string" == typeof b ){ if ( ha . test ( b )) return _ . filter ( b , a , c ); b = _ . filter ( b , a )} return _ . grep ( a , function ( a ){ return U . call ( b , a ) >= 0 !== c })} function e ( a , b ){ for (;( a = a [ b ]) && 1 !== a . nodeType ;); return a } function f ( a ){ var b = oa [ a ] = {}; return _ . each ( a . match ( na ) || [], function ( a , c ){ b [ c ] =! 0 }), b } function g (){ Z . removeEventListener ( "DOMContentLoaded" , g , ! 1 ), a . removeEventListener ( "load" , g , ! 1 ), _ . ready ()} function h (){ Object . defineProperty ( this . cache = {}, 0 ,{ get : function (){ return {}}}), this . expando = _ . expando + Math . random ()} function i ( a , b , c ){ var d ; if ( void 0 === c && 1 === a . nodeType ) if ( d = "data-" + b . replace ( ua , "-$1" ). toLowerCase (), c = a . getAttribute ( d ), "string" == typeof c ){ try { c = "true" === c || "false" !== c && ( "null" === c ? null :+ c + "" === c ?+ c : ta . test ( c ) ? _ . parseJSON ( c ) : c )} catch ( a ){} sa . set ( a , b , c )} else c = void 0 ; return c } function j (){ return ! 0 } function k (){ return ! 1 } function l (){ try { return Z . activeElement } catch ( a ){}} function m ( a , b ){ return _ . nodeName ( a , "table" ) && _ . nodeName ( 11 !== b . nodeType ? b : b . firstChild , "tr" ) ? a . getElementsByTagName ( "tbody" )[ 0 ] || a . appendChild ( a . ownerDocument . createElement ( "tbody" )) : a } function n ( a ){ return a . type = ( null !== a . getAttribute ( "type" )) + "/" + a . type , a } function o ( a ){ var b = Ka . exec ( a . type ); return b ? a . type = b [ 1 ] : a . removeAttribute ( "type" ), a } function p ( a , b ){ for ( var c = 0 , d = a . length ; c < d ; c ++ ) ra . set ( a [ c ], "globalEval" , ! b || ra . get ( b [ c ], "globalEval" ))} function q ( a , b ){ var c , d , e , f , g , h , i , j ; if ( 1 === b . nodeType ){ if ( ra . hasData ( a ) && ( f = ra . access ( a ), g = ra . set ( b , f ), j = f . events )){ delete g . handle , g . events = {}; for ( e in j ) for ( c = 0 , d = j [ e ]. length ; c < d ; c ++ ) _ . event . add ( b , e , j [ e ][ c ])} sa . hasData ( a ) && ( h = sa . access ( a ), i = _ . extend ({}, h ), sa . set ( b , i ))}} function r ( a , b ){ var c = a . getElementsByTagName ? a . getElementsByTagName ( b || "*" ) : a . querySelectorAll ? a . querySelectorAll ( b || "*" ) : []; return void 0 === b || b && _ . nodeName ( a , b ) ? _ . merge ([ a ], c ) : c } function s ( a , b ){ var c = b . nodeName . toLowerCase (); "input" === c && ya . test ( a . type ) ? b . checked = a . checked : "input" !== c && "textarea" !== c || ( b . defaultValue = a . defaultValue )} function t ( b , c ){ var d , e = _ ( c . createElement ( b )). appendTo ( c . body ), f = a . getDefaultComputedStyle && ( d = a . getDefaultComputedStyle ( e [ 0 ])) ? d . display : _ . css ( e [ 0 ], "display" ); return e . detach (), f } function u ( a ){ var b = Z , c = Oa [ a ]; return c || ( c = t ( a , b ), "none" !== c && c || ( Na = ( Na || _ ( "<iframe frameborder='0' width='0' height='0'/>" )). appendTo ( b . documentElement ), b = Na [ 0 ]. contentDocument , b . write (), b . close (), c = t ( a , b ), Na . detach ()), Oa [ a ] = c ), c } function v ( a , b , c ){ var d , e , f , g , h = a . style ; return c = c || Ra ( a ), c && ( g = c . getPropertyValue ( b ) || c [ b ]), c && ( "" !== g || _ . contains ( a . ownerDocument , a ) || ( g = _ . style ( a , b )), Qa . test ( g ) && Pa . test ( b ) && ( d = h . width , e = h . minWidth , f = h . maxWidth , h . minWidth = h . maxWidth = h . width = g , g = c . width , h . width = d , h . minWidth = e , h . maxWidth = f )), void 0 !== g ? g + "" : g } function w ( a , b ){ return { get : function (){ return a () ? void delete this . get : ( this . get = b ). apply ( this , arguments )}}} function x ( a , b ){ if ( b in a ) return b ; for ( var c = b [ 0 ]. toUpperCase () + b . slice ( 1 ), d = b , e = Xa . length ; e -- ;) if ( b = Xa [ e ] + c , b in a ) return b ; return d } function y ( a , b , c ){ var d = Ta . exec ( b ); return d ? Math . max ( 0 , d [ 1 ] - ( c || 0 )) + ( d [ 2 ] || "px" ) : b } function z ( a , b , c , d , e ){ for ( var f = c === ( d ? "border" : "content" ) ? 4 : "width" === b ? 1 : 0 , g = 0 ; f < 4 ; f += 2 ) "margin" === c && ( g += _ . css ( a , c + wa [ f ], ! 0 , e )), d ? ( "content" === c && ( g -= _ . css ( a , "padding" + wa [ f ], ! 0 , e )), "margin" !== c && ( g -= _ . css ( a , "border" + wa [ f ] + "Width" , ! 0 , e ))) : ( g += _ . css ( a , "padding" + wa [ f ], ! 0 , e ), "padding" !== c && ( g += _ . css ( a , "border" + wa [ f ] + "Width" , ! 0 , e ))); return g } function A ( a , b , c ){ var d =! 0 , e = "width" === b ? a . offsetWidth : a . offsetHeight , f = Ra ( a ), g = "border-box" === _ . css ( a , "boxSizing" , ! 1 , f ); if ( e <= 0 || null == e ){ if ( e = v ( a , b , f ),( e < 0 || null == e ) && ( e = a . style [ b ]), Qa . test ( e )) ret
})); for ( b = 0 ; b < c ; b ++ ) _ . find ( a , e [ b ], d ); return d = this . pushStack ( c > 1 ? _ . unique ( d ) : d ), d . selector = this . selector ? this . selector + " " + a : a , d }, filter : function ( a ){ return this . pushStack ( d ( this , a || [], ! 1 ))}, not : function ( a ){ return this . pushStack ( d ( this , a || [], ! 0 ))}, is : function ( a ){ return !! d ( this , "string" == typeof a && fa . test ( a ) ? _ ( a ) : a || [], ! 1 ). length }}); var ia , ja = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/ , ka = _ . fn . init = function ( a , b ){ var c , d ; if ( ! a ) return this ; if ( "string" == typeof a ){ if ( c = "<" === a [ 0 ] && ">" === a [ a . length - 1 ] && a . length >= 3 ? [ null , a , null ] : ja . exec ( a ), ! c ||! c [ 1 ] && b ) return ! b || b . jquery ? ( b || ia ). find ( a ) : this . constructor ( b ). find ( a ); if ( c [ 1 ]){ if ( b = b instanceof _ ? b [ 0 ] : b , _ . merge ( this , _ . parseHTML ( c [ 1 ], b && b . nodeType ? b . ownerDocument || b : Z , ! 0 )), ga . test ( c [ 1 ]) && _ . isPlainObject ( b )) for ( c in b ) _ . isFunction ( this [ c ]) ? this [ c ]( b [ c ]) : this . attr ( c , b [ c ]); return this } return d = Z . getElementById ( c [ 2 ]), d && d . parentNode && ( this . length = 1 , this [ 0 ] = d ), this . context = Z , this . selector = a , this } return a . nodeType ? ( this . context = this [ 0 ] = a , this . length = 1 , this ) : _ . isFunction ( a ) ? "undefined" != typeof ia . ready ? ia . ready ( a ) : a ( _ ) : ( void 0 !== a . selector && ( this . selector = a . selector , this . context = a . context ), _ . makeArray ( a , this ))}; ka . prototype = _ . fn , ia = _ ( Z ); var la = /^(?:parents|prev(?:Until|All))/ , ma = { children :! 0 , contents :! 0 , next :! 0 , prev :! 0 }; _ . extend ({ dir : function ( a , b , c ){ for ( var d = [], e = void 0 !== c ;( a = a [ b ]) && 9 !== a . nodeType ;) if ( 1 === a . nodeType ){ if ( e && _ ( a ). is ( c )) break ; d . push ( a )} return d }, sibling : function ( a , b ){ for ( var c = []; a ; a = a . nextSibling ) 1 === a . nodeType && a !== b && c . push ( a ); return c }}), _ . fn . extend ({ has : function ( a ){ var b = _ ( a , this ), c = b . length ; return this . filter ( function (){ for ( var a = 0 ; a < c ; a ++ ) if ( _ . contains ( this , b [ a ])) return ! 0 })}, closest : function ( a , b ){ for ( var c , d = 0 , e = this . length , f = [], g = fa . test ( a ) || "string" != typeof a ? _ ( a , b || this . context ) : 0 ; d < e ; d ++ ) for ( c = this [ d ]; c && c !== b ; c = c . parentNode ) if ( c . nodeType < 11 && ( g ? g . index ( c ) >- 1 : 1 === c . nodeType && _ . find . matchesSelector ( c , a ))){ f . push ( c ); break } return this . pushStack ( f . length > 1 ? _ . unique ( f ) : f )}, index : function ( a ){ return a ? "string" == typeof a ? U . call ( _ ( a ), this [ 0 ]) : U . call ( this , a . jquery ? a [ 0 ] : a ) : this [ 0 ] && this [ 0 ]. parentNode ? this . first (). prevAll (). length :- 1 }, add : function ( a , b ){ return this . pushStack ( _ . unique ( _ . merge ( this . get (), _ ( a , b ))))}, addBack : function ( a ){ return this . add ( null == a ? this . prevObject : this . prevObject . filter ( a ))}}), _ . each ({ parent : function ( a ){ var b = a . parentNode ; return b && 11 !== b . nodeType ? b : null }, parents : function ( a ){ return _ . dir ( a , "parentNode" )}, parentsUntil : function ( a , b , c ){ return _ . dir ( a , "parentNode" , c )}, next : function ( a ){ return e ( a , "nextSibling" )}, prev : function ( a ){ return e ( a , "previousSibling" )}, nextAll : function ( a ){ return _ . dir ( a , "nextSibling" )}, prevAll : function ( a ){ return _ . dir ( a , "previousSibling" )}, nextUntil : function ( a , b , c ){ return _ . dir ( a , "nextSibling" , c )}, prevUntil : function ( a , b , c ){ return _ . dir ( a , "previousSibling" , c )}, siblings : function ( a ){ return _ . sibling (( a . parentNode || {}). firstChild , a )}, children : function ( a ){ return _ . sibling ( a . firstChild )}, contents : function ( a ){ return a . contentDocument || _ . merge ([], a . childNodes )}}, function ( a , b ){ _ . fn [ a ] = function ( c , d ){ var e = _ . map ( this , b , c ); return "Until" !== a . slice ( - 5 ) && ( d = c ), d && "string" == typeof d && ( e = _ . filter ( d , e )), this . length > 1 && ( ma [ a ] || _ . unique ( e ), la . test ( a ) && e . reverse ()), this . pushStack ( e )}}); var na = /\S+/g , oa = {}; _ . Callbacks = function ( a ){ a = "string" == typeof a ? oa [ a ] || f ( a ) : _ . extend ({}, a ); var b , c , d , e , g , h , i = [], j =! a . once && [], k = function ( f ){ for ( b = a . memory && f , c =! 0 , h = e || 0 , e = 0 , g = i . length , d =! 0 ; i && h < g ; h ++ ) if ( i [ h ]. apply ( f [ 0 ], f [ 1 ]) ===! 1 && a . stopOnFalse ){ b =! 1 ; break } d =! 1 , i && ( j ? j . length && k ( j . shift ()) : b ? i = [] : l . disable ())}, l = { add : function (){ if ( i ){ var c = i . length ; ! function b ( c ){ _ . each ( c , function ( c , d ){ var e = _ . type ( d ); "function" === e ? a . unique && l . has ( d ) || i . push ( d ) : d && d . length && "string" !== e && b ( d )})}( arguments ), d ? g = i . length : b && ( e = c , k ( b ))} return this }, remove : function (){ return i && _ . each ( arguments , function ( a , b ){ for ( var c ;( c = _ . inArray ( b , i , c )) >- 1 ;) i . splice ( c , 1 ), d && ( c <= g && g -- , c <= h && h -- )}), this }, has : function ( a ){ return a ? _ . inArray ( a , i ) >- 1 :! ( ! i ||! i . length )}, empty : function (){ return i = [], g = 0 , this }, disable : function (){ return i = j = b = void 0 , this }, disabled : function (){ return ! i }, lock : function (){ return j = void 0 , b || l
_ . fn [ b ] = function ( a , d , e ){ return null == a || "boolean" == typeof a ? c . apply ( this , arguments ) : this . animate ( E ( b , ! 0 ), a , d , e )}}), _ . each ({ slideDown : E ( "show" ), slideUp : E ( "hide" ), slideToggle : E ( "toggle" ), fadeIn : { opacity : "show" }, fadeOut : { opacity : "hide" }, fadeToggle : { opacity : "toggle" }}, function ( a , b ){ _ . fn [ a ] = function ( a , c , d ){ return this . animate ( b , a , c , d )}}), _ . timers = [], _ . fx . tick = function (){ var a , b = 0 , c = _ . timers ; for ( Ya = _ . now (); b < c . length ; b ++ ) a = c [ b ], a () || c [ b ] !== a || c . splice ( b -- , 1 ); c . length || _ . fx . stop (), Ya = void 0 }, _ . fx . timer = function ( a ){ _ . timers . push ( a ), a () ? _ . fx . start () : _ . timers . pop ()}, _ . fx . interval = 13 , _ . fx . start = function (){ Za || ( Za = setInterval ( _ . fx . tick , _ . fx . interval ))}, _ . fx . stop = function (){ clearInterval ( Za ), Za = null }, _ . fx . speeds = { slow : 600 , fast : 200 , _default : 400 }, _ . fn . delay = function ( a , b ){ return a = _ . fx ? _ . fx . speeds [ a ] || a : a , b = b || "fx" , this . queue ( b , function ( b , c ){ var d = setTimeout ( b , a ); c . stop = function (){ clearTimeout ( d )}})}, function (){ var a = Z . createElement ( "input" ), b = Z . createElement ( "select" ), c = b . appendChild ( Z . createElement ( "option" )); a . type = "checkbox" , Y . checkOn = "" !== a . value , Y . optSelected = c . selected , b . disabled =! 0 , Y . optDisabled =! c . disabled , a = Z . createElement ( "input" ), a . value = "t" , a . type = "radio" , Y . radioValue = "t" === a . value }(); var db , eb , fb = _ . expr . attrHandle ; _ . fn . extend ({ attr : function ( a , b ){ return qa ( this , _ . attr , a , b , arguments . length > 1 )}, removeAttr : function ( a ){ return this . each ( function (){ _ . removeAttr ( this , a )})}}), _ . extend ({ attr : function ( a , b , c ){ var d , e , f = a . nodeType ; if ( a && 3 !== f && 8 !== f && 2 !== f ) return typeof a . getAttribute === za ? _ . prop ( a , b , c ) : ( 1 === f && _ . isXMLDoc ( a ) || ( b = b . toLowerCase (), d = _ . attrHooks [ b ] || ( _ . expr . match . bool . test ( b ) ? eb : db )), void 0 === c ? d && "get" in d && null !== ( e = d . get ( a , b )) ? e : ( e = _ . find . attr ( a , b ), null == e ? void 0 : e ) : null !== c ? d && "set" in d && void 0 !== ( e = d . set ( a , c , b )) ? e : ( a . setAttribute ( b , c + "" ), c ) : void _ . removeAttr ( a , b ))}, removeAttr : function ( a , b ){ var c , d , e = 0 , f = b && b . match ( na ); if ( f && 1 === a . nodeType ) for (; c = f [ e ++ ];) d = _ . propFix [ c ] || c , _ . expr . match . bool . test ( c ) && ( a [ d ] =! 1 ), a . removeAttribute ( c )}, attrHooks : { type : { set : function ( a , b ){ if ( ! Y . radioValue && "radio" === b && _ . nodeName ( a , "input" )){ var c = a . value ; return a . setAttribute ( "type" , b ), c && ( a . value = c ), b }}}}}), eb = { set : function ( a , b , c ){ return b ===! 1 ? _ . removeAttr ( a , c ) : a . setAttribute ( c , c ), c }}, _ . each ( _ . expr . match . bool . source . match ( /\w+/g ), function ( a , b ){ var c = fb [ b ] || _ . find . attr ; fb [ b ] = function ( a , b , d ){ var e , f ; return d || ( f = fb [ b ], fb [ b ] = e , e = null != c ( a , b , d ) ? b . toLowerCase () : null , fb [ b ] = f ), e }}); var gb = /^(?:input|select|textarea|button)$/i ; _ . fn . extend ({ prop : function ( a , b ){ return qa ( this , _ . prop , a , b , arguments . length > 1 )}, removeProp : function ( a ){ return this . each ( function (){ delete this [ _ . propFix [ a ] || a ]})}}), _ . extend ({ propFix : { for : "htmlFor" , class : "className" }, prop : function ( a , b , c ){ var d , e , f , g = a . nodeType ; if ( a && 3 !== g && 8 !== g && 2 !== g ) return f = 1 !== g ||! _ . isXMLDoc ( a ), f && ( b = _ . propFix [ b ] || b , e = _ . propHooks [ b ]), void 0 !== c ? e && "set" in e && void 0 !== ( d = e . set ( a , c , b )) ? d : a [ b ] = c : e && "get" in e && null !== ( d = e . get ( a , b )) ? d : a [ b ]}, propHooks : { tabIndex : { get : function ( a ){ return a . hasAttribute ( "tabindex" ) || gb . test ( a . nodeName ) || a . href ? a . tabIndex :- 1 }}}}), Y . optSelected || ( _ . propHooks . selected = { get : function ( a ){ var b = a . parentNode ; return b && b . parentNode && b . parentNode . selectedIndex , null }}), _ . each ([ "tabIndex" , "readOnly" , "maxLength" , "cellSpacing" , "cellPadding" , "rowSpan" , "colSpan" , "useMap" , "frameBorder" , "contentEditable" ], function (){ _ . propFix [ this . toLowerCase ()] = this }); var hb = /[\t\r\n\f]/g ; _ . fn . extend ({ addClass : function ( a ){ var b , c , d , e , f , g , h = "string" == typeof a && a , i = 0 , j = this . length ; if ( _ . isFunction ( a )) return this . each ( function ( b ){ _ ( this ). addClass ( a . call ( this , b , this . className ))}); if ( h ) for ( b = ( a || "" ). match ( na ) || []; i < j ; i ++ ) if ( c = this [ i ], d = 1 === c . nodeType && ( c . className ? ( " " + c . className + " " ). replace ( hb , " " ) : " " )){ for ( f = 0 ; e = b [ f ++ ];) d . indexOf ( " " + e + " " ) < 0 && ( d += e + " " ); g = _ . trim ( d ), c . className !== g && ( c . className = g )} return this }, removeClass : function ( a ){ var b , c , d , e , f , g , h = 0 === arguments . length || "string" == typeof a && a , i = 0 , j = this . length ; if ( _ . isFunction ( a )) return this . each ( function ( b ){ _ ( this ). removeClass ( a . call ( this , b , this . className ))}); if ( h ) for ( b = ( a || "" ). match ( na ) || []; i < j ; i ++ ) if ( c = this [ i ], d = 1 === c . nodeType && ( c . className ? ( " " + c . className + "
2016-12-20 20:18:16 +00:00
a(b).on(" click . bs . dropdown ",this.toggle)};g.VERSION=" 3.3 . 6 ",g.prototype.toggle=function(d){var e=a(this);if(!e.is(" . disabled , : disabled ")){var f=b(e),g=f.hasClass(" open ");if(c(),!g){" ontouchstart "in document.documentElement&&!f.closest(" . navbar - nav ").length&&a(document.createElement(" div ")).addClass(" dropdown - backdrop ").insertAfter(a(this)).on(" click ",c);var h={relatedTarget:this};if(f.trigger(d=a.Event(" show . bs . dropdown ",h)),d.isDefaultPrevented())return;e.trigger(" focus ").attr(" aria - expanded "," true "),f.toggleClass(" open ").trigger(a.Event(" shown . bs . dropdown ",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(" . disabled , : disabled ")){var e=b(d),g=e.hasClass(" open ");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger(" focus "),d.trigger(" click ");var h=" li : not (. disabled ) : visible a ",i=e.find(" . dropdown - menu "+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger(" focus ")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on(" click . bs . dropdown . data - api ",c).on(" click . bs . dropdown . data - api "," . dropdown form ",function(a){a.stopPropagation()}).on(" click . bs . dropdown . data - api ",f,g.prototype.toggle).on(" keydown . bs . dropdown . data - api ",f,g.prototype.keydown).on(" keydown . bs . dropdown . data - api "," . dropdown - menu ",g.prototype.keydown)}(jQuery),+function(a){function b(b,d){return this.each(function(){var e=a(this),f=e.data(" bs . modal "),g=a.extend({},c.DEFAULTS,e.data()," object "==typeof b&&b);f||e.data(" bs . modal ",f=new c(this,g))," string "==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$dialog=this.$element.find(" . modal - dialog "),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(" . modal - content ").load(this.options.remote,a.proxy(function(){this.$element.trigger(" loaded . bs . modal ")},this))};c.VERSION=" 3.3 . 6 ",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event(" show . bs . modal ",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass(" modal - open "),this.escape(),this.resize(),this.$element.on(" click . dismiss . bs . modal ",'[data-dismiss=" modal "]',a.proxy(this.hide,this)),this.$dialog.on(" mousedown . dismiss . bs . modal ",function(){d.$element.one(" mouseup . dismiss . bs . modal ",function(b){a(b.target).is(d.$element)&&(d.ignoreBackdropClick=!0)})}),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass(" fade ");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass(" in "),d.enforceFocus();var f=a.Event(" shown . bs . modal ",{relatedTarget:b});e?d.$dialog.one(" bsTransitionEnd ",function(){d.$element.trigger(" focus ").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger(" focus ").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event(" hide . bs . modal "),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off(" focusin . bs . modal "),this.$element.removeClass(" in ").off(" click . dismiss . bs . modal ").off(" mouseup . dismiss . bs . modal "),this.$dialog.off(" mousedown . dismiss . bs . modal "),a.support.transition&&this.$element.hasClass(" fade ")?this.$element.one(" bsTransitionEnd ",a.proxy(this.hideModal,this)).emulateTransitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off(" focusin . bs . modal ").on(" focusin . bs . modal ",a.proxy(function(a){document===a.target||this.$element[0
2016-11-28 10:42:58 +00:00
========================================================================
bootstrap-switch - v3.1.0
http://www.bootstrap-switch.org
Copyright 2012-2013 Mattia Larentis
Licensed under the Apache License, Version 2.0 (the " License ");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an " AS IS " BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
function(){var a=[].slice;!function(b,c){var d;return d=function(){function a(a,c){null==c&&(c={}),this.$element=b(a),this.options=b.extend({},b.fn.bootstrapSwitch.defaults,{state:this.$element.is(" : checked "),size:this.$element.data(" size "),animate:this.$element.data(" animate "),disabled:this.$element.is(" : disabled "),readonly:this.$element.is(" [ readonly ] "),indeterminate:this.$element.data(" indeterminate "),inverse:this.$element.data(" inverse "),radioAllOff:this.$element.data(" radio - all - off "),onColor:this.$element.data(" on - color "),offColor:this.$element.data(" off - color "),onText:this.$element.data(" on - text "),offText:this.$element.data(" off - text "),labelText:this.$element.data(" label - text "),baseClass:this.$element.data(" base - class "),wrapperClass:this.$element.data(" wrapper - class ")},c),this.$wrapper=b(" < div > ",{class:function(a){return function(){var b;return b=[""+a.options.baseClass].concat(a._getClasses(a.options.wrapperClass)),b.push(a.options.state?""+a.options.baseClass+" - on ":""+a.options.baseClass+" - off "),null!=a.options.size&&b.push(""+a.options.baseClass+" - "+a.options.size),a.options.animate&&b.push(""+a.options.baseClass+" - animate "),a.options.disabled&&b.push(""+a.options.baseClass+" - disabled "),a.options.readonly&&b.push(""+a.options.baseClass+" - readonly "),a.options.indeterminate&&b.push(""+a.options.baseClass+" - indeterminate "),a.options.inverse&&b.push(""+a.options.baseClass+" - inverse "),a.$element.attr(" id ")&&b.push(""+a.options.baseClass+" - id - "+a.$element.attr(" id ")),b.join(" ")}}(this)()}),this.$container=b(" < div > ",{class:""+this.options.baseClass+" - container "}),this.$on=b(" < span > ",{html:this.options.onText,class:""+this.options.baseClass+" - handle - on "+this.options.baseClass+" - "+this.options.onColor}),this.$off=b(" < span > ",{html:this.options.offText,class:""+this.options.baseClass+" - handle - off "+this.options.baseClass+" - "+this.options.offColor}),this.$label=b(" < label > ",{html:this.options.labelText,class:""+this.options.baseClass+" - label "}),this.options.indeterminate&&this.$element.prop(" indeterminate ",!0),this.$element.on(" init . bootstrapSwitch ",function(b){return function(){return b.options.onInit.apply(a,arguments)}}(this)),this.$element.on(" switchChange . bootstrapSwitch ",function(b){return function(){return b.options.onSwitchChange.apply(a,arguments)}}(this)),this.$container=this.$element.wrap(this.$container).parent(),this.$wrapper=this.$container.wrap(this.$wrapper).parent(),this.$element.before(this.options.inverse?this.$off:this.$on).before(this.$label).before(this.options.inverse?this.$on:this.$off).trigger(" init . bootstrapSwitch "),this._elementHandlers(),this._handleHandlers(),this._labelHandlers(),this._formHandler()}return a.prototype._constructor=a,a.prototype.state=function(a,b){return" undefined "==typeof a?this.options.state:this.options.disabled||this.options.readonly?this.$element:this.options.state&&!this.options.radioAllOff&&this.$element.is(" : radio ")?this.$element:(this.options.indeterminate?(this.indeterminate(!1),a=!0):a=!!a,this.$element.prop(" checked ",a).trigger(" change . bootstrapSwitch ",b),this.$element)},a.prototype.toggleState=function(a){return this.options.disabled||this.options.readonly?this.$element:this.options.indeterminate?(this.indeterminate(!1),this.state(!0)):this.$element.prop(" checked ",!this.options.state).trigger(" change . bootstrapSwitch ",a)},a.prototype.size=function(a){return" undefined "==typeof a?this.options.size:(null!=this.options.size&&this.$wrapper.removeClass(""+this.options.baseClass+" - "+this.options.size),a&&this.$wrapper.addClass(""+this.options.baseClass+" - "+a),this.options.size=a,this.$element)},a.prototype.animate=function(a){return" undefined "==typeof a?this.options.animate:(a=!!a,this.$wrapper[a?" addClass ":" removeClass "](""+this.options.baseClass+" - animate "),this.options.animate=a,this.$element)},a.prototype.toggleAnimate=function(){return this.$wrapper.toggleClass(""+this.options.baseClass+" - animate "),this.options.animate=!this.options.animate,this.$element},a.prototype.disabled=function(a){return" undefined "==typeof a?this.options.disabled:(a=!!a,this.$wrapper[a?" addCl
========================================================================
Copyright ( c ) 2011 , Yahoo ! Inc . All rights reserved .
Code licensed under the BSD License :
http : //developer.yahoo.com/yui/license.html
version : 2.9 . 0
* /
var typeof_yahoo = typeof YAHOO ; if ( "undefined" == typeof_yahoo ||! YAHOO ) var YAHOO = {}; YAHOO . namespace = function (){ var a , b , c , d = arguments , e = null ; for ( a = 0 ; a < d . length ; a += 1 ) for ( c = ( "" + d [ a ]). split ( "." ), e = YAHOO , b = "YAHOO" == c [ 0 ] ? 1 : 0 ; b < c . length ; b += 1 ) e [ c [ b ]] = e [ c [ b ]] || {}, e = e [ c [ b ]]; return e }, YAHOO . log = function ( a , b , c ){ var d = YAHOO . widget . Logger ; return ! ( ! d ||! d . log ) && d . log ( a , b , c )}, YAHOO . register = function ( a , b , c ){ var d , e , f , g , h , i = YAHOO . env . modules ; for ( i [ a ] || ( i [ a ] = { versions : [], builds : []}), d = i [ a ], e = c . version , f = c . build , g = YAHOO . env . listeners , d . name = a , d . version = e , d . build = f , d . versions . push ( e ), d . builds . push ( f ), d . mainClass = b , h = 0 ; h < g . length ; h += 1 ) g [ h ]( d ); b ? ( b . VERSION = e , b . BUILD = f ) : YAHOO . log ( "mainClass is undefined for module " + a , "warn" )}, YAHOO . env = YAHOO . env || { modules : [], listeners : []}, YAHOO . env . getVersion = function ( a ){ return YAHOO . env . modules [ a ] || null }, YAHOO . env . parseUA = function ( a ){ var b , c = function ( a ){ var b = 0 ; return parseFloat ( a . replace ( /\./g , function (){ return 1 == b ++? "" : "." }))}, d = navigator , e = { ie : 0 , opera : 0 , gecko : 0 , webkit : 0 , chrome : 0 , mobile : null , air : 0 , ipad : 0 , iphone : 0 , ipod : 0 , ios : null , android : 0 , webos : 0 , caja : d && d . cajaVersion , secure :! 1 , os : null }, f = a || navigator && navigator . userAgent , g = window && window . location , h = g && g . href ; return e . secure = h && 0 === h . toLowerCase (). indexOf ( "https" ), f && ( /windows|win32/i . test ( f ) ? e . os = "windows" : /macintosh/i . test ( f ) ? e . os = "macintosh" : /rhino/i . test ( f ) && ( e . os = "rhino" ), /KHTML/ . test ( f ) && ( e . webkit = 1 ), b = f . match ( /AppleWebKit\/([^\s]*)/ ), b && b [ 1 ] && ( e . webkit = c ( b [ 1 ]), / Mobile\// . test ( f ) ? ( e . mobile = "Apple" , b = f . match ( /OS ([^\s]*)/ ), b && b [ 1 ] && ( b = c ( b [ 1 ]. replace ( "_" , "." ))), e . ios = b , e . ipad = e . ipod = e . iphone = 0 , b = f . match ( /iPad|iPod|iPhone/ ), b && b [ 0 ] && ( e [ b [ 0 ]. toLowerCase ()] = e . ios )) : ( b = f . match ( /NokiaN[^\/]*|Android \d\.\d|webOS\/\d\.\d/ ), b && ( e . mobile = b [ 0 ]), /webOS/ . test ( f ) && ( e . mobile = "WebOS" , b = f . match ( /webOS\/([^\s]*);/ ), b && b [ 1 ] && ( e . webos = c ( b [ 1 ]))), / Android/ . test ( f ) && ( e . mobile = "Android" , b = f . match ( /Android ([^\s]*);/ ), b && b [ 1 ] && ( e . android = c ( b [ 1 ])))), b = f . match ( /Chrome\/([^\s]*)/ ), b && b [ 1 ] ? e . chrome = c ( b [ 1 ]) : ( b = f . match ( /AdobeAIR\/([^\s]*)/ ), b && ( e . air = b [ 0 ]))), e . webkit || ( b = f . match ( /Opera[\s\/]([^\s]*)/ ), b && b [ 1 ] ? ( e . opera = c ( b [ 1 ]), b = f . match ( /Version\/([^\s]*)/ ), b && b [ 1 ] && ( e . opera = c ( b [ 1 ])), b = f . match ( /Opera Mini[^;]*/ ), b && ( e . mobile = b [ 0 ])) : ( b = f . match ( /MSIE\s([^;]*)/ ), b && b [ 1 ] ? e . ie = c ( b [ 1 ]) : ( b = f . match ( /Gecko\/([^\s]*)/ ), b && ( e . gecko = 1 , b = f . match ( /rv:([^\s\)]*)/ ), b && b [ 1 ] && ( e . gecko = c ( b [ 1 ]))))))), e }, YAHOO . env . ua = YAHOO . env . parseUA (), function (){ if ( YAHOO . namespace ( "util" , "widget" , "example" ), "undefined" != typeof YAHOO_config ){ var a , b = YAHOO_config . listener , c = YAHOO . env . listeners , d =! 0 ; if ( b ){ for ( a = 0 ; a < c . length ; a ++ ) if ( c [ a ] == b ){ d =! 1 ; break } d && c . push ( b )}}}(), YAHOO . lang = YAHOO . lang || {}, function (){ var a = YAHOO . lang , b = Object . prototype , c = "[object Array]" , d = "[object Function]" , e = "[object Object]" , f = [], g = { "&" : "&" , "<" : "<" , ">" : ">" , '"' : """ , "'" : "'" , "/" : "/" , "`" : "`" }, h = [ "toString" , "valueOf" ], i = { isArray : function ( a ){ return b . toString . apply ( a ) === c }, isBoolean : function ( a ){ return "boolean" == typeof a }, isFunction : function ( a ){ return "function" == typeof a || b . toString . apply ( a ) === d }, isNull : function ( a ){ return null === a }, isNumber : function ( a ){ return "number" == typeof a && isFinite ( a )}, isObject : function ( b ){ return b && ( "object" == typeof b || a . isFunction ( b )) ||! 1 }, isString : function ( a ){ return "string" == typeof a }, isUndefined : function ( a ){ return "undefined" == typeof a }, _IEEnumFix : YAHOO . env . ua . ie ? function ( c , d ){ var e , f , g ; for ( e = 0 ; e < h . length ; e += 1 ) f = h [ e ], g = d [ f ], a . isFunction ( g ) && g != b [ f ] && ( c [ f ] = g )} : function (){}, escapeHTML : function ( a ){ return a . replace ( /[&<>"'\/`]/g , function ( a ){ return g [ a ]})}, extend : function ( c , d , e ){ if ( ! d ||! c ) throw new Error ( "extend failed, please check that all dependencies are included." ); var f , g = function (){}; if ( g . prototype = d . prototype , c . prototype = new g , c . prototype . constructor = c , c . superclass = d . prototype , d . prototype . constructor == b . constructor && ( d . prototype . constructor = d ), e ){ for ( f in e ) a . hasOwnProperty ( e , f ) && ( c . prototype [ f ] = e [ f ]); a . _IEEnumFix ( c . prototype , e )}}, augmentObject : function ( b , c ){ if ( ! c ||! b ) throw new Error ( "Absorb failed, verify dependencies." ); var d , e , f = arguments , g = f [ 2 ]; if ( g && g !==! 0 ) for ( d = 2 ; d < f . length ; d += 1 ) b [ f [ d ]] = c [ f [
========================================================================
Snowfall jquery plugin version 1.51 Dec 2 nd 2012
Licensed under the Apache License , Version 2.0 ( the "License" );
you may not use this file except in compliance with the License .
You may obtain a copy of the License at
http : //www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing , software
distributed under the License is distributed on an "AS IS" BASIS ,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND , either express or implied .
See the License for the specific language governing permissions and
limitations under the License .
Developed by Jason Brown for any bugs or questions email me at loktar69 @ hotmail
info on the plugin is located on Somethinghitme . com
* /
Date . now || ( Date . now = function (){ return ( new Date ). getTime ()}), function (){ for ( var a = [ "webkit" , "moz" ], b = 0 ; b < a . length &&! window . requestAnimationFrame ; ++ b ){ var c = a [ b ]; window . requestAnimationFrame = window [ c + "RequestAnimationFrame" ], window . cancelAnimationFrame = window [ c + "CancelAnimationFrame" ] || window [ c + "CancelRequestAnimationFrame" ]} if ( /iP(ad|hone|od).*OS 6/ . test ( window . navigator . userAgent ) ||! window . requestAnimationFrame ||! window . cancelAnimationFrame ){ var d = 0 ; window . requestAnimationFrame = function ( a ){ var b = Date . now (), c = Math . max ( d + 16 , b ); return setTimeout ( function (){ a ( d = c )}, c - b )}, window . cancelAnimationFrame = clearTimeout }}(), function ( a ){ a . snowfall = function ( b , c ){ function d ( d , e , f , g ){ this . x = d , this . y = e , this . size = f , this . speed = g , this . step = 0 , this . stepSize = h ( 1 , 10 ) / 100 , c . collection && ( this . target = o [ h ( 0 , o . length - 1 )]); var i = null ; c . image ? ( i = document . createElement ( "img" ), i . src = c . image ) : ( i = document . createElement ( "div" ), a ( i ). css ({ background : c . flakeColor })), a ( i ). attr ({ class : "snowfall-flakes" }). css ({ width : this . size , height : this . size , position : c . flakePosition , top : this . y , left : this . x , fontSize : 0 , zIndex : c . flakeIndex }), a ( b ). get ( 0 ). tagName === a ( document ). get ( 0 ). tagName ? ( a ( "body" ). append ( a ( i )), b = a ( "body" )) : a ( b ). append ( a ( i )), this . element = i , this . update = function (){ if ( this . y += this . speed , this . y > j - ( this . size + 6 ) && this . reset (), this . element . style . top = this . y + "px" , this . element . style . left = this . x + "px" , this . step += this . stepSize , v ===! 1 ? this . x += Math . cos ( this . step ) : this . x += v + Math . cos ( this . step ), c . collection && this . x > this . target . x && this . x < this . target . width + this . target . x && this . y > this . target . y && this . y < this . target . height + this . target . y ){ var a = this . target . element . getContext ( "2d" ), b = this . x - this . target . x , d = this . y - this . target . y , e = this . target . colData ; if ( void 0 !== e [ parseInt ( b )][ parseInt ( d + this . speed + this . size )] || d + this . speed + this . size > this . target . height ) if ( d + this . speed + this . size > this . target . height ){ for (; d + this . speed + this . size > this . target . height && this . speed > 0 ;) this . speed *= . 5 ; a . fillStyle = "#fff" , a . shadowOffsetX = 1 , a . shadowOffsetY = 1 , a . shadowColor = "#000" , a . shadowBlur = 1 , void 0 == e [ parseInt ( b )][ parseInt ( d + this . speed + this . size )] ? ( e [ parseInt ( b )][ parseInt ( d + this . speed + this . size )] = 1 , a . beginPath (), a . arc ( b , d + this . speed + this . size , this . size / 2 , 0 , 2 * Math . PI , ! 0 ), a . closePath (), a . fill ()) : ( e [ parseInt ( b )][ parseInt ( d + this . speed )] = 1 , a . beginPath (), a . arc ( b , d + this . speed + this . size , this . size , 0 , 2 * Math . PI , ! 0 ), a . closePath (), a . fill ()), this . reset ()} else this . speed = 1 , this . stepSize = 0 , parseInt ( b ) + 1 < this . target . width && void 0 == e [ parseInt ( b ) + 1 ][ parseInt ( d ) + 1 ] ? this . x ++: parseInt ( b ) - 1 > 0 && void 0 == e [ parseInt ( b ) - 1 ][ parseInt ( d ) + 1 ] ? this . x --: ( a . fillStyle = "#fff" , a . shadowOffsetX =- 4 , a . shadowOffsetY =- 4 , a . shadowColor = "#000" , a . shadowBlur = 4 , a . beginPath (), a . arc ( b , d + this . speed + this . size , this . size , 0 , 2 * Math . PI , ! 0 ), a . closePath (), a . fill (), e [ parseInt ( b )][ parseInt ( d )] = 1 , this . reset ())}( this . x + this . size > k - l || this . x < l ) && this . reset ()}, this . reset = function (){ this . y = 0 , this . x = h ( l , k - l ), this . stepSize = h ( 1 , 10 ) / 100 , this . size = h ( 100 * c . minSize , 100 * c . maxSize ) / 100 , this . element . style . width = this . size + "px" , this . element . style . height = this . size + "px" , this . speed = h ( c . minSpeed , c . maxSpeed )}} function e (){ for ( i = 0 ; i < f . length ; i += 1 ) f [ i ]. update (); m = requestAnimationFrame ( function (){ e ()})} var f = [], g = { flakeCount : 35 , flakeColor : "#ffffff" , flakePosition : "absolute" , flakeIndex : 999999 , minSize : 1 , maxSize : 2 , minSpeed : 1 , maxSpeed : 5 , round :! 1 , shadow :! 1 , collection :! 1 , collectionHeight : 40 , deviceorientation :! 1 }, c = a . extend ( g , c ), h = function ( a , b ){ return Math . round ( a + Math . random () * ( b - a ))}; a ( b ). data ( "snowfall" , this ); var i = 0 , j = a ( b ). height (), k = a ( b ). width (), l = 0 , m = 0 ; if ( c . collection !==! 1 ){ var n = document . createElement ( "canvas" ); if ( n . getContext && n . getContext ( "2d" )) for ( var o = [], p = a ( c . collection ), q = c . collectionHeight , i = 0 ; i < p . length ; i ++ ){ var r = p [ i ]. getBoundingClientRect (), s = a ( "<canvas/>" ,{ class : "snowfall-canvas" }), t = []; if ( r . top - q > 0 ){ a ( "body" ). append ( s ), s . css ({ position : c . flakePosition , left : r . left + "px" , top : r . top - q + "px" }). prop ({ width : r . width , height : q }); for ( var u = 0 ; u < r . width ; u ++ ) t [ u ] = []; o . push ({ element : s . get ( 0 ), x : r . left , y : r . top - q , width : r . width , height : q , colData : t })}} else c . collection =! 1 } for ( a ( b ). get ( 0 ). tagName === a ( document ). get ( 0 ). ta
========================================================================
CryptoJS v3 . 1.2
code . google . com / p / crypto - js
( c ) 2009 - 2013 by Jeff Mott . All rights reserved .
code . google . com / p / crypto - js / wiki / License
* /
var CryptoJS = CryptoJS || function ( a , b ){ var c = {}, d = c . lib = {}, e = d . Base = function (){ function a (){} return { extend : function ( b ){ a . prototype = this ; var c = new a ; return b && c . mixIn ( b ), c . hasOwnProperty ( "init" ) || ( c . init = function (){ c . $super . init . apply ( this , arguments )}), c . init . prototype = c , c . $super = this , c }, create : function (){ var a = this . extend (); return a . init . apply ( a , arguments ), a }, init : function (){}, mixIn : function ( a ){ for ( var b in a ) a . hasOwnProperty ( b ) && ( this [ b ] = a [ b ]); a . hasOwnProperty ( "toString" ) && ( this . toString = a . toString )}, clone : function (){ return this . init . prototype . extend ( this )}}}(), f = d . WordArray = e . extend ({ init : function ( a , c ){ a = this . words = a || [], c != b ? this . sigBytes = c : this . sigBytes = 4 * a . length }, toString : function ( a ){ return ( a || h ). stringify ( this )}, concat : function ( a ){ var b = this . words , c = a . words , d = this . sigBytes , e = a . sigBytes ; if ( this . clamp (), d % 4 ) for ( var f = 0 ; f < e ; f ++ ){ var g = c [ f >>> 2 ] >>> 24 - f % 4 * 8 & 255 ; b [ d + f >>> 2 ] |= g << 24 - ( d + f ) % 4 * 8 } else if ( c . length > 65535 ) for ( var f = 0 ; f < e ; f += 4 ) b [ d + f >>> 2 ] = c [ f >>> 2 ]; else b . push . apply ( b , c ); return this . sigBytes += e , this }, clamp : function (){ var b = this . words , c = this . sigBytes ; b [ c >>> 2 ] &= 4294967295 << 32 - c % 4 * 8 , b . length = a . ceil ( c / 4 )}, clone : function (){ var a = e . clone . call ( this ); return a . words = this . words . slice ( 0 ), a }, random : function ( b ){ for ( var c = [], d = 0 ; d < b ; d += 4 ) c . push ( 4294967296 * a . random () | 0 ); return new f . init ( c , b )}}), g = c . enc = {}, h = g . Hex = { stringify : function ( a ){ for ( var b = a . words , c = a . sigBytes , d = [], e = 0 ; e < c ; e ++ ){ var f = b [ e >>> 2 ] >>> 24 - e % 4 * 8 & 255 ; d . push (( f >>> 4 ). toString ( 16 )), d . push (( 15 & f ). toString ( 16 ))} return d . join ( "" )}, parse : function ( a ){ for ( var b = a . length , c = [], d = 0 ; d < b ; d += 2 ) c [ d >>> 3 ] |= parseInt ( a . substr ( d , 2 ), 16 ) << 24 - d % 8 * 4 ; return new f . init ( c , b / 2 )}}, i = g . Latin1 = { stringify : function ( a ){ for ( var b = a . words , c = a . sigBytes , d = [], e = 0 ; e < c ; e ++ ){ var f = b [ e >>> 2 ] >>> 24 - e % 4 * 8 & 255 ; d . push ( String . fromCharCode ( f ))} return d . join ( "" )}, parse : function ( a ){ for ( var b = a . length , c = [], d = 0 ; d < b ; d ++ ) c [ d >>> 2 ] |= ( 255 & a . charCodeAt ( d )) << 24 - d % 4 * 8 ; return new f . init ( c , b )}}, j = g . Utf8 = { stringify : function ( a ){ try { return decodeURIComponent ( escape ( i . stringify ( a )))} catch ( a ){ throw new Error ( "Malformed UTF-8 data" )}}, parse : function ( a ){ return i . parse ( unescape ( encodeURIComponent ( a )))}}, k = d . BufferedBlockAlgorithm = e . extend ({ reset : function (){ this . _data = new f . init , this . _nDataBytes = 0 }, _append : function ( a ){ "string" == typeof a && ( a = j . parse ( a )), this . _data . concat ( a ), this . _nDataBytes += a . sigBytes }, _process : function ( b ){ var c = this . _data , d = c . words , e = c . sigBytes , g = this . blockSize , h = 4 * g , i = e / h ; i = b ? a . ceil ( i ) : a . max (( 0 | i ) - this . _minBufferSize , 0 ); var j = i * g , k = a . min ( 4 * j , e ); if ( j ){ for ( var l = 0 ; l < j ; l += g ) this . _doProcessBlock ( d , l ); var m = d . splice ( 0 , j ); c . sigBytes -= k } return new f . init ( m , k )}, clone : function (){ var a = e . clone . call ( this ); return a . _data = this . _data . clone (), a }, _minBufferSize : 0 }), l = ( d . Hasher = k . extend ({ cfg : e . extend (), init : function ( a ){ this . cfg = this . cfg . extend ( a ), this . reset ()}, reset : function (){ k . reset . call ( this ), this . _doReset ()}, update : function ( a ){ return this . _append ( a ), this . _process (), this }, finalize : function ( a ){ a && this . _append ( a ); var b = this . _doFinalize (); return b }, blockSize : 16 , _createHelper : function ( a ){ return function ( b , c ){ return new a . init ( c ). finalize ( b )}}, _createHmacHelper : function ( a ){ return function ( b , c ){ return new l . HMAC . init ( a , c ). finalize ( b )}}}), c . algo = {}); return c }( Math ); ! function ( a ){ var b = CryptoJS , c = b . lib , d = c . Base , e = c . WordArray , f = b . x64 = {}; f . Word = d . extend ({ init : function ( a , b ){ this . high = a , this . low = b }}), f . WordArray = d . extend ({ init : function ( b , c ){ b = this . words = b || [], c != a ? this . sigBytes = c : this . sigBytes = 8 * b . length }, toX32 : function (){ for ( var a = this . words , b = a . length , c = [], d = 0 ; d < b ; d ++ ){ var f = a [ d ]; c . push ( f . high ), c . push ( f . low )} return e . create ( c , this . sigBytes )}, clone : function (){ for ( var a = d . clone . call ( this ), b = a . words = this . words . slice ( 0 ), c = b . length , e = 0 ; e < c ; e ++ ) b [ e ] = b [ e ]. clone (); return a }})}(), function (){ var a = CryptoJS , b = a . lib , c = b . WordArray , d = a . enc ; d . Base64 = { stringify : function ( a ){ var b = a . words , c = a . sigBytes , d = this . _map ; a . clamp (); for ( var e = [], f = 0 ; f < c ; f += 3 ) for ( var g = b [ f >>> 2 ] >>> 24 - f % 4 * 8 & 255 , h = b [ f + 1 >>> 2 ] >>> 24 - ( f + 1 ) % 4 * 8 & 255 , i = b [ f + 2 >>> 2 ] >>> 24 - ( f + 2 ) % 4 * 8 & 255 , j = g << 16 | h << 8 | i , k = 0 ; k < 4 && f + . 75 * k < c ; k ++ ) e . push ( d . charAt ( j >>> 6 * ( 3 - k ) & 63 )); var l = d . charAt ( 64 ); if ( l ) for (; e . length % 4 ;) e . push ( l ); r
========================================================================
CryptoJS . mode . CTRGladman
Counter block mode compatible with Dr Brian Gladman fileenc . c
derived from CryptoJS . mode . CTR
Jan Hruby jhruby . web @ gmail . com
* /
CryptoJS . mode . CTRGladman = function (){ function a ( a ){ if ( 255 === ( a >> 24 & 255 )){ var b = a >> 16 & 255 , c = a >> 8 & 255 , d = 255 & a ; 255 === b ? ( b = 0 , 255 === c ? ( c = 0 , 255 === d ? d = 0 :++ d ) :++ c ) :++ b , a = 0 , a += b << 16 , a += c << 8 , a += d } else a += 1 << 24 ; return a } function b ( b ){ return 0 === ( b [ 0 ] = a ( b [ 0 ])) && ( b [ 1 ] = a ( b [ 1 ])), b } var c = CryptoJS . lib . BlockCipherMode . extend (), d = c . Encryptor = c . extend ({ processBlock : function ( a , c ){ var d = this . _cipher , e = d . blockSize , f = this . _iv , g = this . _counter ; f && ( g = this . _counter = f . slice ( 0 ), this . _iv = void 0 ), b ( g ); var h = g . slice ( 0 ); d . encryptBlock ( h , 0 ); for ( var i = 0 ; i < e ; i ++ ) a [ c + i ] ^= h [ i ]}}); return c . Decryptor = d , c }(), CryptoJS . mode . CTR = function (){ var a = CryptoJS . lib . BlockCipherMode . extend (), b = a . Encryptor = a . extend ({ processBlock : function ( a , b ){ var c = this . _cipher , d = c . blockSize , e = this . _iv , f = this . _counter ; e && ( f = this . _counter = e . slice ( 0 ), this . _iv = void 0 ); var g = f . slice ( 0 ); c . encryptBlock ( g , 0 ), f [ d - 1 ] = f [ d - 1 ] + 1 | 0 ; for ( var h = 0 ; h < d ; h ++ ) a [ b + h ] ^= g [ h ]}}); return a . Decryptor = b , a }(), CryptoJS . mode . ECB = function (){ var a = CryptoJS . lib . BlockCipherMode . extend (); return a . Encryptor = a . extend ({ processBlock : function ( a , b ){ this . _cipher . encryptBlock ( a , b )}}), a . Decryptor = a . extend ({ processBlock : function ( a , b ){ this . _cipher . decryptBlock ( a , b )}}), a }(), CryptoJS . mode . OFB = function (){ var a = CryptoJS . lib . BlockCipherMode . extend (), b = a . Encryptor = a . extend ({ processBlock : function ( a , b ){ var c = this . _cipher , d = c . blockSize , e = this . _iv , f = this . _keystream ; e && ( f = this . _keystream = e . slice ( 0 ), this . _iv = void 0 ), c . encryptBlock ( f , 0 ); for ( var g = 0 ; g < d ; g ++ ) a [ b + g ] ^= f [ g ]}}); return a . Decryptor = b , a }(), function ( a ){ var b = CryptoJS , c = b . lib , d = c . CipherParams , e = b . enc , f = e . Hex , g = b . format ; g . Hex = { stringify : function ( a ){ return a . ciphertext . toString ( f )}, parse : function ( a ){ var b = f . parse ( a ); return d . create ({ ciphertext : b })}}}(), function (){ if ( "function" == typeof ArrayBuffer ){ var a = CryptoJS , b = a . lib , c = b . WordArray , d = c . init , e = c . init = function ( a ){ if ( a instanceof ArrayBuffer && ( a = new Uint8Array ( a )),( a instanceof Int8Array || a instanceof Uint8ClampedArray || a instanceof Int16Array || a instanceof Uint16Array || a instanceof Int32Array || a instanceof Uint32Array || a instanceof Float32Array || a instanceof Float64Array ) && ( a = new Uint8Array ( a . buffer , a . byteOffset , a . byteLength )), a instanceof Uint8Array ){ for ( var b = a . byteLength , c = [], e = 0 ; e < b ; e ++ ) c [ e >>> 2 ] |= a [ e ] << 24 - e % 4 * 8 ; d . call ( this , c , b )} else d . apply ( this , arguments )}; e . prototype = c }}(), CryptoJS . pad . AnsiX923 = { pad : function ( a , b ){ var c = a . sigBytes , d = 4 * b , e = d - c % d , f = c + e - 1 ; a . clamp (), a . words [ f >>> 2 ] |= e << 24 - f % 4 * 8 , a . sigBytes += e }, unpad : function ( a ){ var b = 255 & a . words [ a . sigBytes - 1 >>> 2 ]; a . sigBytes -= b }}, CryptoJS . pad . Iso10126 = { pad : function ( a , b ){ var c = 4 * b , d = c - a . sigBytes % c ; a . concat ( CryptoJS . lib . WordArray . random ( d - 1 )). concat ( CryptoJS . lib . WordArray . create ([ d << 24 ], 1 ))}, unpad : function ( a ){ var b = 255 & a . words [ a . sigBytes - 1 >>> 2 ]; a . sigBytes -= b }}, CryptoJS . pad . Iso97971 = { pad : function ( a , b ){ a . concat ( CryptoJS . lib . WordArray . create ([ 2147483648 ], 1 )), CryptoJS . pad . ZeroPadding . pad ( a , b )}, unpad : function ( a ){ CryptoJS . pad . ZeroPadding . unpad ( a ), a . sigBytes -- }}, CryptoJS . pad . NoPadding = { pad : function (){}, unpad : function (){}}, CryptoJS . pad . ZeroPadding = { pad : function ( a , b ){ var c = 4 * b ; a . clamp (), a . sigBytes += c - ( a . sigBytes % c || c )}, unpad : function ( a ){ for ( var b = a . words , c = a . sigBytes - 1 ; ! ( b [ c >>> 2 ] >>> 24 - c % 4 * 8 & 255 );) c -- ; a . sigBytes = c + 1 }}, function (){ var a = CryptoJS , b = a . lib , c = b . BlockCipher , d = a . algo , e = [], f = [], g = [], h = [], i = [], j = [], k = [], l = [], m = [], n = []; ! function (){ for ( var a = [], b = 0 ; b < 256 ; b ++ ) b < 128 ? a [ b ] = b << 1 : a [ b ] = b << 1 ^ 283 ; for ( var c = 0 , d = 0 , b = 0 ; b < 256 ; b ++ ){ var o = d ^ d << 1 ^ d << 2 ^ d << 3 ^ d << 4 ; o = o >>> 8 ^ 255 & o ^ 99 , e [ c ] = o , f [ o ] = c ; var p = a [ c ], q = a [ p ], r = a [ q ], s = 257 * a [ o ] ^ 16843008 * o ; g [ c ] = s << 24 | s >>> 8 , h [ c ] = s << 16 | s >>> 16 , i [ c ] = s << 8 | s >>> 24 , j [ c ] = s ; var s = 16843009 * r ^ 65537 * q ^ 257 * p ^ 16843008 * c ; k [ o ] = s << 24 | s >>> 8 , l [ o ] = s << 16 | s >>> 16 , m [ o ] = s << 8 | s >>> 24 , n [ o ] = s , c ? ( c = p ^ a [ a [ a [ r ^ p ]]], d ^= a [ a [ d ]]) : c = d = 1 }}(); var o = [ 0 , 1 , 2 , 4 , 8 , 16 , 32 , 64 , 128 , 27 , 54 ], p = d . AES = c . extend ({ _doReset : function (){ for ( var a = this . _key , b = a . words , c = a . sigBytes / 4 , d = this . _nRounds = c + 6 , f = 4 * ( d + 1 ), g = this . _keySchedule = [], h = 0 ; h < f ; h ++ ) if ( h < c ) g [ h ] = b [ h ]; else { var i = g [ h - 1 ]; h % c ? c > 6 && h % c == 4 && ( i = e [ i >>> 24 ] << 24 | e [ i >>> 16 & 255 ] << 16 | e [ i >>> 8 & 255 ] << 8 | e [ 255 & i ]) : ( i = i << 8 | i >>> 24 , i = e [ i >>> 24 ] << 24 | e [ i >>> 16 & 255 ] << 16 | e [ i >>> 8 & 255 ] << 8 | e [ 255 & i ], i ^= o [ h / c | 0 ] << 24 ), g [ h ]
========================================================================
RIPEMD160
( c ) 2012 by Cédric Mesnil . All rights reserved .
Redistribution and use in source and binary forms , with or without modification , are permitted provided that the following conditions are met :
- Redistributions of source code must retain the above copyright notice , this list of conditions and the following disclaimer .
- Redistributions in binary form must reproduce the above copyright notice , this list of conditions and the following disclaimer in the documentation and / or other materials provided with the distribution .
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES , INCLUDING , BUT NOT LIMITED TO , THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED . IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT , INDIRECT , INCIDENTAL , SPECIAL , EXEMPLARY , OR CONSEQUENTIAL DAMAGES ( INCLUDING , BUT NOT LIMITED TO , PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES ; LOSS OF USE , DATA , OR PROFITS ; OR BUSINESS INTERRUPTION ) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY , WHETHER IN CONTRACT , STRICT LIABILITY , OR TORT ( INCLUDING NEGLIGENCE OR OTHERWISE ) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE , EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE .
* /
2017-01-16 16:40:43 +00:00
function ( a ){ function b ( a , b , c ){ return a ^ b ^ c } function c ( a , b , c ){ return a & b |~ a & c } function d ( a , b , c ){ return ( a |~ b ) ^ c } function e ( a , b , c ){ return a & c | b &~ c } function f ( a , b , c ){ return a ^ ( b |~ c )} function g ( a , b ){ return a << b | a >>> 32 - b } var h = CryptoJS , i = h . lib , j = i . WordArray , k = i . Hasher , l = h . algo , m = j . create ([ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 7 , 4 , 13 , 1 , 10 , 6 , 15 , 3 , 12 , 0 , 9 , 5 , 2 , 14 , 11 , 8 , 3 , 10 , 14 , 4 , 9 , 15 , 8 , 1 , 2 , 7 , 0 , 6 , 13 , 11 , 5 , 12 , 1 , 9 , 11 , 10 , 0 , 8 , 12 , 4 , 13 , 3 , 7 , 15 , 14 , 5 , 6 , 2 , 4 , 0 , 5 , 9 , 7 , 12 , 2 , 10 , 14 , 1 , 3 , 8 , 11 , 6 , 15 , 13 ]), n = j . create ([ 5 , 14 , 7 , 0 , 9 , 2 , 11 , 4 , 13 , 6 , 15 , 8 , 1 , 10 , 3 , 12 , 6 , 11 , 3 , 7 , 0 , 13 , 5 , 10 , 14 , 15 , 8 , 12 , 4 , 9 , 1 , 2 , 15 , 5 , 1 , 3 , 7 , 14 , 6 , 9 , 11 , 8 , 12 , 2 , 10 , 0 , 4 , 13 , 8 , 6 , 4 , 1 , 3 , 11 , 15 , 0 , 5 , 12 , 2 , 13 , 9 , 7 , 10 , 14 , 12 , 15 , 10 , 4 , 1 , 5 , 8 , 7 , 6 , 2 , 13 , 14 , 0 , 3 , 9 , 11 ]), o = j . create ([ 11 , 14 , 15 , 12 , 5 , 8 , 7 , 9 , 11 , 13 , 14 , 15 , 6 , 7 , 9 , 8 , 7 , 6 , 8 , 13 , 11 , 9 , 7 , 15 , 7 , 12 , 15 , 9 , 11 , 7 , 13 , 12 , 11 , 13 , 6 , 7 , 14 , 9 , 13 , 15 , 14 , 8 , 13 , 6 , 5 , 12 , 7 , 5 , 11 , 12 , 14 , 15 , 14 , 15 , 9 , 8 , 9 , 14 , 5 , 6 , 8 , 6 , 5 , 12 , 9 , 15 , 5 , 11 , 6 , 8 , 13 , 12 , 5 , 12 , 13 , 14 , 11 , 8 , 5 , 6 ]), p = j . create ([ 8 , 9 , 9 , 11 , 13 , 15 , 15 , 5 , 7 , 7 , 8 , 11 , 14 , 14 , 12 , 6 , 9 , 13 , 15 , 7 , 12 , 8 , 9 , 11 , 7 , 7 , 12 , 7 , 6 , 15 , 13 , 11 , 9 , 7 , 15 , 11 , 8 , 6 , 6 , 14 , 12 , 13 , 5 , 14 , 13 , 13 , 7 , 5 , 15 , 5 , 8 , 11 , 14 , 14 , 6 , 14 , 6 , 9 , 12 , 9 , 12 , 5 , 15 , 8 , 8 , 5 , 12 , 9 , 12 , 5 , 14 , 6 , 8 , 13 , 6 , 5 , 15 , 13 , 11 , 11 ]), q = j . create ([ 0 , 1518500249 , 1859775393 , 2400959708 , 2840853838 ]), r = j . create ([ 1352829926 , 1548603684 , 1836072691 , 2053994217 , 0 ]), s = l . RIPEMD160 = k . extend ({ _doReset : function (){ this . _hash = j . create ([ 1732584193 , 4023233417 , 2562383102 , 271733878 , 3285377520 ])}, _doProcessBlock : function ( a , h ){ for ( var i = 0 ; i < 16 ; i ++ ){ var j = h + i , k = a [ j ]; a [ j ] = 16711935 & ( k << 8 | k >>> 24 ) | 4278255360 & ( k << 24 | k >>> 8 )} var l , s , t , u , v , w , x , y , z , A , B = this . _hash . words , C = q . words , D = r . words , E = m . words , F = n . words , G = o . words , H = p . words ; w = l = B [ 0 ], x = s = B [ 1 ], y = t = B [ 2 ], z = u = B [ 3 ], A = v = B [ 4 ]; for ( var I , i = 0 ; i < 80 ; i += 1 ) I = l + a [ h + E [ i ]] | 0 , I += i < 16 ? b ( s , t , u ) + C [ 0 ] : i < 32 ? c ( s , t , u ) + C [ 1 ] : i < 48 ? d ( s , t , u ) + C [ 2 ] : i < 64 ? e ( s , t , u ) + C [ 3 ] : f ( s , t , u ) + C [ 4 ], I |= 0 , I = g ( I , G [ i ]), I = I + v | 0 , l = v , v = u , u = g ( t , 10 ), t = s , s = I , I = w + a [ h + F [ i ]] | 0 , I += i < 16 ? f ( x , y , z ) + D [ 0 ] : i < 32 ? e ( x , y , z ) + D [ 1 ] : i < 48 ? d ( x , y , z ) + D [ 2 ] : i < 64 ? c ( x , y , z ) + D [ 3 ] : b ( x , y , z ) + D [ 4 ], I |= 0 , I = g ( I , H [ i ]), I = I + A | 0 , w = A , A = z , z = g ( y , 10 ), y = x , x = I ; I = B [ 1 ] + t + z | 0 , B [ 1 ] = B [ 2 ] + u + A | 0 , B [ 2 ] = B [ 3 ] + v + w | 0 , B [ 3 ] = B [ 4 ] + l + x | 0 , B [ 4 ] = B [ 0 ] + s + y | 0 , B [ 0 ] = I }, _doFinalize : function (){ var a = this . _data , b = a . words , c = 8 * this . _nDataBytes , d = 8 * a . sigBytes ; b [ d >>> 5 ] |= 128 << 24 - d % 32 , b [( d + 64 >>> 9 << 4 ) + 14 ] = 16711935 & ( c << 8 | c >>> 24 ) | 4278255360 & ( c << 24 | c >>> 8 ), a . sigBytes = 4 * ( b . length + 1 ), this . _process (); for ( var e = this . _hash , f = e . words , g = 0 ; g < 5 ; g ++ ){ var h = f [ g ]; f [ g ] = 16711935 & ( h << 8 | h >>> 24 ) | 4278255360 & ( h << 24 | h >>> 8 )} return e }, clone : function (){ var a = k . clone . call ( this ); return a . _hash = this . _hash . clone (), a }}); h . RIPEMD160 = k . _createHelper ( s ), h . HmacRIPEMD160 = k . _createHmacHelper ( s )}( Math ), function (){ var a = CryptoJS , b = a . lib , c = b . WordArray , d = b . Hasher , e = a . algo , f = [], g = e . SHA1 = d . extend ({ _doReset : function (){ this . _hash = new c . init ([ 1732584193 , 4023233417 , 2562383102 , 271733878 , 3285377520 ])}, _doProcessBlock : function ( a , b ){ for ( var c = this . _hash . words , d = c [ 0 ], e = c [ 1 ], g = c [ 2 ], h = c [ 3 ], i = c [ 4 ], j = 0 ; j < 80 ; j ++ ){ if ( j < 16 ) f [ j ] = 0 | a [ b + j ]; else { var k = f [ j - 3 ] ^ f [ j - 8 ] ^ f [ j - 14 ] ^ f [ j - 16 ]; f [ j ] = k << 1 | k >>> 31 } var l = ( d << 5 | d >>> 27 ) + i + f [ j ]; l += j < 20 ? ( e & g |~ e & h ) + 1518500249 : j < 40 ? ( e ^ g ^ h ) + 1859775393 : j < 60 ? ( e & g | e & h | g & h ) - 1894007588 : ( e ^ g ^ h ) - 899497514 , i = h , h = g , g = e << 30 | e >>> 2 , e = d , d = l } c [ 0 ] = c [ 0 ] + d | 0 , c [ 1 ] = c [ 1 ] + e | 0 , c [ 2 ] = c [ 2 ] + g | 0 , c [ 3 ] = c [ 3 ] + h | 0 , c [ 4 ] = c [ 4 ] + i | 0 }, _doFinalize : function (){ var a = this . _data , b = a . words , c = 8 * this . _nDataBytes , d = 8 * a . sigBytes ; return b [ d >>> 5 ] |= 128 << 24 - d % 32 , b [( d + 64 >>> 9 << 4 ) + 14 ] = Math . floor ( c / 4294967296 ), b [( d + 64 >>> 9 << 4 ) + 15 ] = c , a . sigBytes = 4 * b . length , this . _process (), this . _hash }, clone : function (){ var a = d . clone . call ( this ); return a . _hash = this . _hash . clone (), a }}); a . SHA1 = d . _createHelper ( g ), a . HmacSHA1 = d . _createHmacHelper ( g )}(), function ( a ){ var b = CryptoJS , c = b . lib , d = c . WordArray , e = c . Hasher , f = b . algo , g = [], h = []; ! function (){ function b ( b ){ for ( var c = a . sqrt ( b ), d = 2 ; d <= c ; d ++ ) if ( ! ( b % d )) return ! 1 ; return ! 0 } function c ( a ){ return 4294967296 * ( a - ( 0 | a )) | 0 } for ( var d = 2 , e = 0 ; e < 64 ;) b ( d ) && ( e < 8 && ( g [ e ] = c ( a . pow ( d ,. 5 ))), h [ e ] = c ( a . pow ( d , 1 / 3 )), e ++ ), d ++ }(); var i = [], j = f . SHA256 = e . extend ({ _doReset : function (){ this . _hash = new d . init ( g . slice ( 0 ))}, _doProcessBlock : function ( a , b ){ for ( var c = this . _hash . words , d = c [ 0 ], e = c [ 1 ], f = c [ 2 ], g = c [ 3 ], j = c [ 4 ], k = c [ 5 ], l = c [ 6 ], m = c [ 7 ], n = 0 ; n < 64 ; n ++ ){ if ( n < 16 ) i [ n ] = 0 | a [ b + n ]; else { var o = i [ n - 15 ], p = ( o << 25 | o >>> 7
========================================================================
Crypto API for JavaScript - https : //github.com/nf404/crypto-api
The MIT License ( MIT )
Copyright ( c ) 2015 nf404
Permission is hereby granted , free of charge , to any person obtaining a copy of this software and associated documentation files ( the "Software" ), to deal in the Software without restriction , including without limitation the rights to use , copy , modify , merge , publish , distribute , sublicense , and / or sell copies of the Software , and to permit persons to whom the Software is furnished to do so , subject to the following conditions :
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software .
THE SOFTWARE IS PROVIDED "AS IS" , WITHOUT WARRANTY OF ANY KIND , EXPRESS OR IMPLIED , INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY , FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT . IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM , DAMAGES OR OTHER LIABILITY , WHETHER IN AN ACTION OF CONTRACT , TORT OR OTHERWISE , ARISING FROM , OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE .
* /
function ( a ){ var b = function (){ this . Hashers = new l , this . Encodes = new m , this . Macs = new n , this . Tools = new o }, c = function (){}; c . prototype . constructor = function (){}, c . prototype . processBlock = function ( a ){}, c . prototype . update = function ( a ){}, c . prototype . finalize = function (){}; var d = function ( a , b ){}; d . prototype . constructor = function ( a , b ){ this . name = a , this . state = {}, this . state . message = [], this . state . length = 0 , this . state . options = b , this . blockUnits = []}, d . prototype . unitSize = 4 , d . prototype . unitOrder = 0 , d . prototype . blockSize = 16 , d . prototype . getState = function (){ return JSON . parse ( JSON . stringify ( this . state ))}, d . prototype . setState = function ( a ){ return this . state = a , this }, d . prototype . update = function ( a ){ for ( var b = 0 , c = 0 , d = a . length ; c < d ; c ++ ){ var e = a . charCodeAt ( c ); e < 128 ? ( this . state . message . push ( e ), b += 1 ) : e < 2048 ? ( this . state . message . push ( 192 | e >> 6 , 128 | 63 & e ), b += 2 ) : e < 55296 || e >= 57344 ? ( this . state . message . push ( 224 | e >> 12 , 128 | e >> 6 & 63 , 128 | 63 & e ), b += 3 ) : ( c ++ , e = 65536 + (( 1023 & e ) << 10 | 1023 & a . charCodeAt ( c )), this . state . message . push ( 240 | e >> 18 , 128 | e >> 12 & 63 , 128 | e >> 6 & 63 , 128 | 63 & e ), b += 4 )} this . state . length += b , this . process ()}, d . prototype . updateFromArray = function ( a ){ return this . state . length += a . length , this . state . message = this . state . message . concat ( a ), this . process (), this }, d . prototype . process = function (){ for (; this . state . message . length >= this . blockSize * this . unitSize ;){ var a = 0 , b = 0 , c = this . state . message . splice ( 0 , this . blockSize * this . unitSize ); if ( this . unitSize > 1 ){ this . blockUnits = []; for ( var d = 0 , e = 0 ; d < c . length ; d += this . unitSize , e ++ ) if ( 1 === this . unitOrder ) for ( a = this . unitSize - 1 , b = 0 ; a >= 0 ; a -- , b += 8 ) this . blockUnits [ e ] |= c [ d + a ] << b ; else for ( a = 0 , b = 0 ; a < this . unitSize ; a ++ , b += 8 ) this . blockUnits [ e ] |= c [ d + a ] << b ; this . processBlock ( this . blockUnits )} else this . processBlock ( c )}}, b . prototype . BaseHasher = d ; var e = function ( a , b ){ this . constructor ( a , b )}; e . prototype = Object . create ( d . prototype ), e . prototype . unitOrder = 0 , e . prototype . unitSize = 1 , e . prototype . constructor = function ( a , b ){ d . prototype . constructor . call ( this , a , b )}, e . prototype . process = function (){ for (; this . state . message . length >= this . blockSize * this . unitSize ;){ var a = this . state . message . splice ( 0 , this . blockSize * this . unitSize ); this . blockUnits = []; for ( var b = 0 ; b < this . blockSize ; b ++ ) this . blockUnits [ b ] = a [ b ]; this . processBlock ( this . blockUnits )}}, b . prototype . Hasher8 = e ; var f = function ( a , b ){ this . constructor ( a , b )}; f . prototype = Object . create ( d . prototype ), f . prototype . unitOrder = 0 , f . prototype . constructor = function ( a , b ){ d . prototype . constructor . call ( this , a , b )}, f . prototype . process = function (){ for (; this . state . message . length >= this . blockSize * this . unitSize ;){ var a = this . state . message . splice ( 0 , this . blockSize * this . unitSize ); this . blockUnits = []; for ( var b = 0 , c = 0 ; b < this . blockSize ; b ++ , c += 4 ) this . blockUnits [ b ] = a [ c ], this . blockUnits [ b ] |= a [ c + 1 ] << 8 , this . blockUnits [ b ] |= a [ c + 2 ] << 16 , this . blockUnits [ b ] |= a [ c + 3 ] << 24 ; this . processBlock ( this . blockUnits )}}, b . prototype . Hasher32le = f ; var g = function ( a , b ){ this . constructor ( a , b )}; g . prototype = Object . create ( d . prototype ), g . prototype . unitOrder = 1 , g . prototype . constructor = function ( a , b ){ d . prototype . constructor . call ( this , a , b )}, g . prototype . process = function (){ for (; this . state . message . length >= this . blockSize * this . unitSize ;){ var a = this . state . message . splice ( 0 , this . blockSize * this . unitSize ); this . blockUnits = []; for ( var b = 0 , c = 0 ; b < this . blockSize ; b ++ , c += 4 ) this . blockUnits [ b ] = a [ c ] << 24 , this . blockUnits [ b ] |= a [ c + 1 ] << 16 , this . blockUnits [ b ] |= a [ c + 2 ] << 8 , this . blockUnits [ b ] |= a [ c + 3 ]; this . processBlock ( this . blockUnits )}}, b . prototype . Hasher32be = g ; var h = function (){}; h . prototype . constructor = function ( a , b , c ){}, h . prototype . processBlock = function ( a ){}, h . prototype . update = function ( a ){}, h . prototype . finalize = function (){}; var i = function ( a , b , c ){}; i . prototype = Object . create ( d . prototype ), i . prototype . constructor = function ( a , b , c ){ d . prototype . constructor . call ( this , b , c )}, b . prototype . BaseMac = i ; var j = function (){}; j . prototype . constructor = function ( a ){}, j . prototype . stringify = function (){}; var k = function ( a ){}; k . prototype . constructor = function ( a ){ this . hash = a }, b . prototype . BaseEncode = k ; var l = function (){ this . hashers = {}}; l . prototype . add = function ( a , b ){ if ( void 0 === b ) throw Error ( "Error adding hasher: " + a ); this . hashers [ a ] = b }, l . prototype . get = function ( a , b ){ var c = this . hashers [ a ]; if ( void 0 ===
2016-11-28 10:42:58 +00:00
========================================================================
Copyright ( c ) 2005 Tom Wu
All Rights Reserved .
Basic JavaScript BN library - subset useful for RSA encryption .
This software is covered under the following copyright :
Copyright ( c ) 2003 - 2005 Tom Wu
All Rights Reserved .
Permission is hereby granted , free of charge , to any person obtaining
a copy of this software and associated documentation files ( the
"Software" ), to deal in the Software without restriction , including
without limitation the rights to use , copy , modify , merge , publish ,
distribute , sublicense , and / or sell copies of the Software , and to
permit persons to whom the Software is furnished to do so , subject to
the following conditions :
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software .
THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND ,
EXPRESS , IMPLIED OR OTHERWISE , INCLUDING WITHOUT LIMITATION , ANY
WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE .
IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL , INCIDENTAL ,
INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND , OR ANY DAMAGES WHATSOEVER
RESULTING FROM LOSS OF USE , DATA OR PROFITS , WHETHER OR NOT ADVISED OF
THE POSSIBILITY OF DAMAGE , AND ON ANY THEORY OF LIABILITY , ARISING OUT
OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE .
In addition , the following condition applies :
All redistributions must retain an intact copy of this copyright notice
and disclaimer .
Address all questions regarding this license to :
Tom Wu
tjw @ cs . Stanford . EDU
* /
var dbits , canary = 0xdeadbeefcafe , j_lm = 15715070 == ( 16777215 & canary ); j_lm && "Microsoft Internet Explorer" == navigator . appName ? ( BigInteger . prototype . am = am2 , dbits = 30 ) : j_lm && "Netscape" != navigator . appName ? ( BigInteger . prototype . am = am1 , dbits = 26 ) : ( BigInteger . prototype . am = am3 , dbits = 28 ), BigInteger . prototype . DB = dbits , BigInteger . prototype . DM = ( 1 << dbits ) - 1 , BigInteger . prototype . DV = 1 << dbits ; var BI_FP = 52 ; BigInteger . prototype . FV = Math . pow ( 2 , BI_FP ), BigInteger . prototype . F1 = BI_FP - dbits , BigInteger . prototype . F2 = 2 * dbits - BI_FP ; var BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz" , BI_RC = new Array , rr , vv ; for ( rr = "0" . charCodeAt ( 0 ), vv = 0 ; vv <= 9 ; ++ vv ) BI_RC [ rr ++ ] = vv ; for ( rr = "a" . charCodeAt ( 0 ), vv = 10 ; vv < 36 ; ++ vv ) BI_RC [ rr ++ ] = vv ; for ( rr = "A" . charCodeAt ( 0 ), vv = 10 ; vv < 36 ; ++ vv ) BI_RC [ rr ++ ] = vv ; Classic . prototype . convert = cConvert , Classic . prototype . revert = cRevert , Classic . prototype . reduce = cReduce , Classic . prototype . mulTo = cMulTo , Classic . prototype . sqrTo = cSqrTo , Montgomery . prototype . convert = montConvert , Montgomery . prototype . revert = montRevert , Montgomery . prototype . reduce = montReduce , Montgomery . prototype . mulTo = montMulTo , Montgomery . prototype . sqrTo = montSqrTo , BigInteger . prototype . copyTo = bnpCopyTo , BigInteger . prototype . fromInt = bnpFromInt , BigInteger . prototype . fromString = bnpFromString , BigInteger . prototype . clamp = bnpClamp , BigInteger . prototype . dlShiftTo = bnpDLShiftTo , BigInteger . prototype . drShiftTo = bnpDRShiftTo , BigInteger . prototype . lShiftTo = bnpLShiftTo , BigInteger . prototype . rShiftTo = bnpRShiftTo , BigInteger . prototype . subTo = bnpSubTo , BigInteger . prototype . multiplyTo = bnpMultiplyTo , BigInteger . prototype . squareTo = bnpSquareTo , BigInteger . prototype . divRemTo = bnpDivRemTo , BigInteger . prototype . invDigit = bnpInvDigit , BigInteger . prototype . isEven = bnpIsEven , BigInteger . prototype . exp = bnpExp , BigInteger . prototype . toString = bnToString , BigInteger . prototype . negate = bnNegate , BigInteger . prototype . abs = bnAbs , BigInteger . prototype . compareTo = bnCompareTo , BigInteger . prototype . bitLength = bnBitLength , BigInteger . prototype . mod = bnMod , BigInteger . prototype . modPowInt = bnModPowInt , BigInteger . ZERO = nbv ( 0 ), BigInteger . ONE = nbv ( 1 ), NullExp . prototype . convert = nNop , NullExp . prototype . revert = nNop , NullExp . prototype . mulTo = nMulTo , NullExp . prototype . sqrTo = nSqrTo , Barrett . prototype . convert = barrettConvert , Barrett . prototype . revert = barrettRevert , Barrett . prototype . reduce = barrettReduce , Barrett . prototype . mulTo = barrettMulTo , Barrett . prototype . sqrTo = barrettSqrTo ; var lowprimes = [ 2 , 3 , 5 , 7 , 11 , 13 , 17 , 19 , 23 , 29 , 31 , 37 , 41 , 43 , 47 , 53 , 59 , 61 , 67 , 71 , 73 , 79 , 83 , 89 , 97 , 101 , 103 , 107 , 109 , 113 , 127 , 131 , 137 , 139 , 149 , 151 , 157 , 163 , 167 , 173 , 179 , 181 , 191 , 193 , 197 , 199 , 211 , 223 , 227 , 229 , 233 , 239 , 241 , 251 , 257 , 263 , 269 , 271 , 277 , 281 , 283 , 293 , 307 , 311 , 313 , 317 , 331 , 337 , 347 , 349 , 353 , 359 , 367 , 373 , 379 , 383 , 389 , 397 , 401 , 409 , 419 , 421 , 431 , 433 , 439 , 443 , 449 , 457 , 461 , 463 , 467 , 479 , 487 , 491 , 499 , 503 , 509 , 521 , 523 , 541 , 547 , 557 , 563 , 569 , 571 , 577 , 587 , 593 , 599 , 601 , 607 , 613 , 617 , 619 , 631 , 641 , 643 , 647 , 653 , 659 , 661 , 673 , 677 , 683 , 691 , 701 , 709 , 719 , 727 , 733 , 739 , 743 , 751 , 757 , 761 , 769 , 773 , 787 , 797 , 809 , 811 , 821 , 823 , 827 , 829 , 839 , 853 , 857 , 859 , 863 , 877 , 881 , 883 , 887 , 907 , 911 , 919 , 929 , 937 , 941 , 947 , 953 , 967 , 971 , 977 , 983 , 991 , 997 ], lplim = ( 1 << 26 ) / lowprimes [ lowprimes . length - 1 ]; BigInteger . prototype . chunkSize = bnpChunkSize , BigInteger . prototype . toRadix = bnpToRadix , BigInteger . prototype . fromRadix = bnpFromRadix , BigInteger . prototype . fromNumber = bnpFromNumber , BigInteger . prototype . bitwiseTo = bnpBitwiseTo , BigInteger . prototype . changeBit = bnpChangeBit , BigInteger . prototype . addTo = bnpAddTo , BigInteger . prototype . dMultiply = bnpDMultiply , BigInteger . prototype . dAddOffset = bnpDAddOffset , BigInteger . prototype . multiplyLowerTo = bnpMultiplyLowerTo , BigInteger . prototype . multiplyUpperTo = bnpMultiplyUpperTo , BigInteger . prototype . modInt = bnpModInt , BigInteger . prototype . millerRabin = bnpMillerRabin , BigInteger . prototype . clone = bnClone , BigInteger . prototype . intValue = bnIntValue , BigInteger . prototype . byteValue = bnByteValue , BigInteger . prototype . shortValue = bnShortValue , BigInteger . prototype . signum = bnSigNum , BigInteger . prototype . toByteArray = bnToByteArray , BigInteger . prototype . equals = bnEquals , BigInteger . prototype . min = bnMin , BigInteger . prototype . max = bnMax , BigInteger . prototype . and = bnAnd , BigInteger . prototype . or = bnOr , BigInteger . prototype . xor = bnXor , BigInteger . prototype . andNot = b
}); return this . hTLV = d . getEncodedHex (), this . isModified =! 1 , this . hTLV }, this . _initialize ()}, YAHOO . lang . extend ( KJUR . asn1 . x509 . TBSCertificate , KJUR . asn1 . ASN1Object ), KJUR . asn1 . x509 . Extension = function ( a ){ KJUR . asn1 . x509 . Extension . superclass . constructor . call ( this ); this . getEncodedHex = function (){ var a = new KJUR . asn1 . DERObjectIdentifier ({ oid : this . oid }), b = new KJUR . asn1 . DEROctetString ({ hex : this . getExtnValueHex ()}), c = new Array ; c . push ( a ), this . critical && c . push ( new KJUR . asn1 . DERBoolean ), c . push ( b ); var d = new KJUR . asn1 . DERSequence ({ array : c }); return d . getEncodedHex ()}, this . critical =! 1 , "undefined" != typeof a && "undefined" != typeof a . critical && ( this . critical = a . critical )}, YAHOO . lang . extend ( KJUR . asn1 . x509 . Extension , KJUR . asn1 . ASN1Object ), KJUR . asn1 . x509 . KeyUsage = function ( a ){ KJUR . asn1 . x509 . KeyUsage . superclass . constructor . call ( this , a ), this . getExtnValueHex = function (){ return this . asn1ExtnValue . getEncodedHex ()}, this . oid = "2.5.29.15" , "undefined" != typeof a && "undefined" != typeof a . bin && ( this . asn1ExtnValue = new KJUR . asn1 . DERBitString ( a ))}, YAHOO . lang . extend ( KJUR . asn1 . x509 . KeyUsage , KJUR . asn1 . x509 . Extension ), KJUR . asn1 . x509 . BasicConstraints = function ( a ){ KJUR . asn1 . x509 . BasicConstraints . superclass . constructor . call ( this , a ); this . getExtnValueHex = function (){ var a = new Array ; this . cA && a . push ( new KJUR . asn1 . DERBoolean ), this . pathLen >- 1 && a . push ( new KJUR . asn1 . DERInteger ({ int : this . pathLen })); var b = new KJUR . asn1 . DERSequence ({ array : a }); return this . asn1ExtnValue = b , this . asn1ExtnValue . getEncodedHex ()}, this . oid = "2.5.29.19" , this . cA =! 1 , this . pathLen =- 1 , "undefined" != typeof a && ( "undefined" != typeof a . cA && ( this . cA = a . cA ), "undefined" != typeof a . pathLen && ( this . pathLen = a . pathLen ))}, YAHOO . lang . extend ( KJUR . asn1 . x509 . BasicConstraints , KJUR . asn1 . x509 . Extension ), KJUR . asn1 . x509 . CRLDistributionPoints = function ( a ){ KJUR . asn1 . x509 . CRLDistributionPoints . superclass . constructor . call ( this , a ), this . getExtnValueHex = function (){ return this . asn1ExtnValue . getEncodedHex ()}, this . setByDPArray = function ( a ){ this . asn1ExtnValue = new KJUR . asn1 . DERSequence ({ array : a })}, this . setByOneURI = function ( a ){ var b = new KJUR . asn1 . x509 . GeneralNames ([{ uri : a }]), c = new KJUR . asn1 . x509 . DistributionPointName ( b ), d = new KJUR . asn1 . x509 . DistributionPoint ({ dpobj : c }); this . setByDPArray ([ d ])}, this . oid = "2.5.29.31" , "undefined" != typeof a && ( "undefined" != typeof a . array ? this . setByDPArray ( a . array ) : "undefined" != typeof a . uri && this . setByOneURI ( a . uri ))}, YAHOO . lang . extend ( KJUR . asn1 . x509 . CRLDistributionPoints , KJUR . asn1 . x509 . Extension ), KJUR . asn1 . x509 . ExtKeyUsage = function ( a ){ KJUR . asn1 . x509 . ExtKeyUsage . superclass . constructor . call ( this , a ), this . setPurposeArray = function ( a ){ this . asn1ExtnValue = new KJUR . asn1 . DERSequence ; for ( var b = 0 ; b < a . length ; b ++ ){ var c = new KJUR . asn1 . DERObjectIdentifier ( a [ b ]); this . asn1ExtnValue . appendASN1Object ( c )}}, this . getExtnValueHex = function (){ return this . asn1ExtnValue . getEncodedHex ()}, this . oid = "2.5.29.37" , "undefined" != typeof a && "undefined" != typeof a . array && this . setPurposeArray ( a . array )}, YAHOO . lang . extend ( KJUR . asn1 . x509 . ExtKeyUsage , KJUR . asn1 . x509 . Extension ), KJUR . asn1 . x509 . AuthorityKeyIdentifier = function ( a ){ KJUR . asn1 . x509 . AuthorityKeyIdentifier . superclass . constructor . call ( this , a ), this . asn1KID = null , this . asn1CertIssuer = null , this . asn1CertSN = null , this . getExtnValueHex = function (){ var a = new Array ; this . asn1KID && a . push ( new KJUR . asn1 . DERTaggedObject ({ explicit :! 1 , tag : "80" , obj : this . asn1KID })), this . asn1CertIssuer && a . push ( new KJUR . asn1 . DERTaggedObject ({ explicit :! 1 , tag : "a1" , obj : this . asn1CertIssuer })), this . asn1CertSN && a . push ( new KJUR . asn1 . DERTaggedObject ({ explicit :! 1 , tag : "82" , obj : this . asn1CertSN })); var b = new KJUR . asn1 . DERSequence ({ array : a }); return this . asn1ExtnValue = b , this . asn1ExtnValue . getEncodedHex ()}, this . setKIDByParam = function ( a ){ this . asn1KID = new KJUR . asn1 . DEROctetString ( a )}, this . setCertIssuerByParam = function ( a ){ this . asn1CertIssuer = new KJUR . asn1 . x509 . X500Name ( a )}, this . setCertSNByParam = function ( a ){ this . asn1CertSN = new KJUR . asn1 . DERInteger ( a )}, this . oid = "2.5.29.35" , "undefined" != typeof a && ( "undefined" != typeof a . kid && this . setKIDByParam ( a . kid ), "undefined" != typeof a . issuer && this . setCertIssuerByParam ( a . issuer ), "undefined" != typeof a . sn && this . setCertSNByParam ( a . sn ))}, YAHOO . lang . extend ( KJUR .
this . sign ()}, this . verify = function ( a ){ if ( this . sHashHex = this . md . digest (), "undefined" != typeof this . ecpubhex && "undefined" != typeof this . eccurvename ){ var b = new KJUR . crypto . ECDSA ({ curve : this . eccurvename }); return b . verifyHex ( this . sHashHex , a , this . ecpubhex )} if ( this . pubKey instanceof RSAKey && "rsaandmgf1" == this . pubkeyAlgName ) return this . pubKey . verifyWithMessageHashPSS ( this . sHashHex , a , this . mdAlgName , this . pssSaltLen ); if ( this . pubKey instanceof RSAKey && "rsa" == this . pubkeyAlgName ) return this . pubKey . verifyWithMessageHash ( this . sHashHex , a ); if ( this . pubKey instanceof KJUR . crypto . ECDSA ) return this . pubKey . verifyWithMessageHash ( this . sHashHex , a ); if ( this . pubKey instanceof KJUR . crypto . DSA ) return this . pubKey . verifyWithMessageHash ( this . sHashHex , a ); throw "Signature: unsupported public key alg: " + this . pubkeyAlgName }}}, this . init = function ( a , b ){ throw "init(key, pass) not supported for this alg:prov=" + this . algProvName }, this . initVerifyByPublicKey = function ( a ){ throw "initVerifyByPublicKey(rsaPubKeyy) not supported for this alg:prov=" + this . algProvName }, this . initVerifyByCertificatePEM = function ( a ){ throw "initVerifyByCertificatePEM(certPEM) not supported for this alg:prov=" + this . algProvName }, this . initSign = function ( a ){ throw "initSign(prvKey) not supported for this alg:prov=" + this . algProvName }, this . updateString = function ( a ){ throw "updateString(str) not supported for this alg:prov=" + this . algProvName }, this . updateHex = function ( a ){ throw "updateHex(hex) not supported for this alg:prov=" + this . algProvName }, this . sign = function (){ throw "sign() not supported for this alg:prov=" + this . algProvName }, this . signString = function ( a ){ throw "digestString(str) not supported for this alg:prov=" + this . algProvName }, this . signHex = function ( a ){ throw "digestHex(hex) not supported for this alg:prov=" + this . algProvName }, this . verify = function ( a ){ throw "verify(hSigVal) not supported for this alg:prov=" + this . algProvName }, this . initParams = a , void 0 !== a && ( void 0 !== a . alg && ( this . algName = a . alg , void 0 === a . prov ? this . provName = KJUR . crypto . Util . DEFAULTPROVIDER [ this . algName ] : this . provName = a . prov , this . algProvName = this . algName + ":" + this . provName , this . setAlgAndProvider ( this . algName , this . provName ), this . _setAlgNames ()), void 0 !== a . psssaltlen && ( this . pssSaltLen = a . psssaltlen ), void 0 !== a . prvkeypem )){ if ( void 0 !== a . prvkeypas ) throw "both prvkeypem and prvkeypas parameters not supported" ; try { var b = new RSAKey ; b . readPrivateKeyFromPEMString ( a . prvkeypem ), this . initSign ( b )} catch ( a ){ throw "fatal error to load pem private key: " + a }}}, KJUR . crypto . OID = new function (){ this . oidhex2name = { "2a864886f70d010101" : "rsaEncryption" , "2a8648ce3d0201" : "ecPublicKey" , "2a8648ce380401" : "dsa" , "2a8648ce3d030107" : "secp256r1" , "2b8104001f" : "secp192k1" , "2b81040021" : "secp224r1" , "2b8104000a" : "secp256k1" , "2b81040023" : "secp521r1" , "2b81040022" : "secp384r1" , "2a8648ce380403" : "SHA1withDSA" , "608648016503040301" : "SHA224withDSA" , "608648016503040302" : "SHA256withDSA" }}, "undefined" != typeof KJUR && KJUR || ( KJUR = {}), "undefined" != typeof KJUR . crypto && KJUR . crypto || ( KJUR . crypto = {}), KJUR . crypto . DSA = function (){ function a ( a , b , c , e , f , g ){ var h = KJUR . crypto . Util . hashString ( b , a . toLowerCase ()), h = h . substr ( 0 , f . bitLength () / 4 ), i = new BigInteger ( h , 16 ), j = d ( BigInteger . ONE . add ( BigInteger . ONE ), f . subtract ( BigInteger . ONE )), k = c . modPow ( j , e ). mod ( f ), l = j . modInverse ( f ). multiply ( i . add ( g . multiply ( k ))). mod ( f ), m = new Array ; return m [ 0 ] = k , m [ 1 ] = l , m } function b ( a ){ var b = openpgp . config . config . prefer_hash_algorithm ; switch ( Math . round ( a . bitLength () / 8 )){ case 20 : return 2 != b && b > 11 && 10 != b && b < 8 ? 2 : b ; case 28 : return b > 11 && b < 8 ? 11 : b ; case 32 : return b > 10 && b < 8 ? 8 : b ; default : return util . print_debug ( "DSA select hash algorithm: returning null for an unknown length of q" ), null }} function c ( a , b , c , d , e , f , g , h ){ var i = KJUR . crypto . Util . hashString ( d , a . toLowerCase ()), i = i . substr ( 0 , f . bitLength () / 4 ), j = new BigInteger ( i , 16 ); if ( BigInteger . ZERO . compareTo ( b ) > 0 || b . compareTo ( f ) > 0 || BigInteger . ZERO . compareTo ( c ) > 0 || c . compareTo ( f ) > 0 ) return util . print_error ( "invalid DSA Signature" ), null ; var k = c . modInverse ( f ), l = j . multiply ( k ). mod ( f ), m = b . multiply ( k ). mod ( f ), n = g . modPow ( l , e ). multiply ( h . modPow ( m , e )). mod ( e ). mod ( f ); return 0 == n . compareTo ( b )} function d ( a , b ){ if ( ! ( b . compareTo ( a ) <= 0 )){ for ( var c = b . subtr
var k = KEYUTIL . getHexFromPEM ( a , "RSA PRIVATE KEY" ); return KEYUTIL . getKey ( k , null , "pkcs5prv" )} if ( a . indexOf ( "-END DSA PRIVATE KEY-" ) !=- 1 && a . indexOf ( "4,ENCRYPTED" ) ==- 1 ){ var l = this . getHexFromPEM ( a , "DSA PRIVATE KEY" ), m = ASN1HEX . getVbyList ( l , 0 ,[ 1 ], "02" ), n = ASN1HEX . getVbyList ( l , 0 ,[ 2 ], "02" ), o = ASN1HEX . getVbyList ( l , 0 ,[ 3 ], "02" ), p = ASN1HEX . getVbyList ( l , 0 ,[ 4 ], "02" ), q = ASN1HEX . getVbyList ( l , 0 ,[ 5 ], "02" ), d = new KJUR . crypto . DSA ; return d . setPrivate ( new BigInteger ( m , 16 ), new BigInteger ( n , 16 ), new BigInteger ( o , 16 ), new BigInteger ( p , 16 ), new BigInteger ( q , 16 )), d } if ( a . indexOf ( "-END PRIVATE KEY-" ) !=- 1 ) return KEYUTIL . getKeyFromPlainPrivatePKCS8PEM ( a ); if ( a . indexOf ( "-END RSA PRIVATE KEY-" ) !=- 1 && a . indexOf ( "4,ENCRYPTED" ) !=- 1 ) return KEYUTIL . getRSAKeyFromEncryptedPKCS5PEM ( a , b ); if ( a . indexOf ( "-END EC PRIVATE KEY-" ) !=- 1 && a . indexOf ( "4,ENCRYPTED" ) !=- 1 ){ var l = KEYUTIL . getDecryptedKeyHex ( a , b ), d = ASN1HEX . getVbyList ( l , 0 ,[ 1 ], "04" ), r = ASN1HEX . getVbyList ( l , 0 ,[ 2 , 0 ], "06" ), s = ASN1HEX . getVbyList ( l , 0 ,[ 3 , 0 ], "03" ). substr ( 2 ), t = "" ; if ( void 0 === KJUR . crypto . OID . oidhex2name [ r ]) throw "undefined OID(hex) in KJUR.crypto.OID: " + r ; t = KJUR . crypto . OID . oidhex2name [ r ]; var e = new KJUR . crypto . ECDSA ({ name : t }); return e . setPublicKeyHex ( s ), e . setPrivateKeyHex ( d ), e . isPublic =! 1 , e } if ( a . indexOf ( "-END DSA PRIVATE KEY-" ) !=- 1 && a . indexOf ( "4,ENCRYPTED" ) !=- 1 ){ var l = KEYUTIL . getDecryptedKeyHex ( a , b ), m = ASN1HEX . getVbyList ( l , 0 ,[ 1 ], "02" ), n = ASN1HEX . getVbyList ( l , 0 ,[ 2 ], "02" ), o = ASN1HEX . getVbyList ( l , 0 ,[ 3 ], "02" ), p = ASN1HEX . getVbyList ( l , 0 ,[ 4 ], "02" ), q = ASN1HEX . getVbyList ( l , 0 ,[ 5 ], "02" ), d = new KJUR . crypto . DSA ; return d . setPrivate ( new BigInteger ( m , 16 ), new BigInteger ( n , 16 ), new BigInteger ( o , 16 ), new BigInteger ( p , 16 ), new BigInteger ( q , 16 )), d } if ( a . indexOf ( "-END ENCRYPTED PRIVATE KEY-" ) !=- 1 ) return KEYUTIL . getKeyFromEncryptedPKCS8PEM ( a , b ); throw "not supported argument" }, KEYUTIL . generateKeypair = function ( a , b ){ if ( "RSA" == a ){ var c = b , d = new RSAKey ; d . generate ( c , "10001" ), d . isPrivate =! 0 , d . isPublic =! 0 ; var e = new RSAKey , f = d . n . toString ( 16 ), g = d . e . toString ( 16 ); e . setPublic ( f , g ), e . isPrivate =! 1 , e . isPublic =! 0 ; var h = {}; return h . prvKeyObj = d , h . pubKeyObj = e , h } if ( "EC" == a ){ var i = b , j = new KJUR . crypto . ECDSA ({ curve : i }), k = j . generateKeyPairHex (), d = new KJUR . crypto . ECDSA ({ curve : i }); d . setPrivateKeyHex ( k . ecprvhex ), d . isPrivate =! 0 , d . isPublic =! 1 ; var e = new KJUR . crypto . ECDSA ({ curve : i }); e . setPublicKeyHex ( k . ecpubhex ), e . isPrivate =! 1 , e . isPublic =! 0 ; var h = {}; return h . prvKeyObj = d , h . pubKeyObj = e , h } throw "unknown algorithm: " + a }, KEYUTIL . getPEM = function ( a , b , c , d , e ){ function f ( a ){ var b = KJUR . asn1 . ASN1Util . newObject ({ seq : [{ int : 0 },{ int : { bigint : a . n }},{ int : a . e },{ int : { bigint : a . d }},{ int : { bigint : a . p }},{ int : { bigint : a . q }},{ int : { bigint : a . dmp1 }},{ int : { bigint : a . dmq1 }},{ int : { bigint : a . coeff }}]}); return b } function g ( a ){ var b = KJUR . asn1 . ASN1Util . newObject ({ seq : [{ int : 1 },{ octstr : { hex : a . prvKeyHex }},{ tag : [ "a0" , ! 0 ,{ oid : { name : a . curveName }}]},{ tag : [ "a1" , ! 0 ,{ bitstr : { hex : "00" + a . pubKeyHex }}]}]}); return b } function h ( a ){ var b = KJUR . asn1 . ASN1Util . newObject ({ seq : [{ int : 0 },{ int : { bigint : a . p }},{ int : { bigint : a . q }},{ int : { bigint : a . g }},{ int : { bigint : a . y }},{ int : { bigint : a . x }}]}); return b } var i = KJUR . asn1 , j = KJUR . crypto ; if (( "undefined" != typeof RSAKey && a instanceof RSAKey || "undefined" != typeof j . DSA && a instanceof j . DSA || "undefined" != typeof j . ECDSA && a instanceof j . ECDSA ) && 1 == a . isPublic && ( void 0 === b || "PKCS8PUB" == b )){ var k = new KJUR . asn1 . x509 . SubjectPublicKeyInfo ( a ), l = k . getEncodedHex (); return i . ASN1Util . getPEMStringFromHex ( l , "PUBLIC KEY" )} if ( "PKCS1PRV" == b && "undefined" != typeof RSAKey && a instanceof RSAKey && ( void 0 === c || null == c ) && 1 == a . isPrivate ){ var k = f ( a ), l = k . getEncodedHex (); return i . ASN1Util . getPEMStringFromHex ( l , "RSA PRIVATE KEY" )} if ( "PKCS1PRV" == b && "undefined" != typeof RSAKey && a instanceof KJUR . crypto . ECDSA && ( void 0 === c || null == c ) && 1 == a . isPrivate ){ var m = new KJUR . asn1 . DERObjectIdentifier ({ name : a . curveName }), n = m . getEncodedHex (), o = g ( a ), p = o . getEncodedHex (), q = "" ; return q += i . ASN1Util . getPEMStringFromHex ( n , "EC PARAMETERS" ), q += i . ASN1Util . getPEMStringFromHex ( p , "EC PRIVATE KEY" )} if ( "PKCS1PRV" == b && "undefined" != typeof KJUR . crypto . DSA && a instanceof KJUR . crypto . DSA && ( void 0 === c || null == c ) && 1 == a . isPrivate ){ var k = h ( a ), l = k . getEncodedHex (); return i . ASN1Util . getPEMStringFromHex ( l
========================================================================
Blowfish . js from Dojo Toolkit 1.8 . 1
Cut of by Sladex ( xslade @ gmail . com )
Created based on the C # implementation by Marcus Hahn ( http : //www.hotpixel.net/)
Unsigned math based on Paul Johnstone and Peter Wood patches .
2005 - 12 - 08
The Dojo Toolkit ( including this package ) is dual licensed under BSD 3 - Clause and AFL .
The Dojo Toolkit is Copyright ( c ) 2005 - 2016 , The Dojo Foundation . All rights reserved .
* /
function ( a ){ var b = {}; b . cipherModes = { ECB : 0 , CBC : 1 , PCBC : 2 , CFB : 3 , OFB : 4 , CTR : 5 }, b . outputTypes = { Base64 : 0 , Hex : 1 , String : 2 , Raw : 3 }; var c = {}, d = "=" , e = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" ; c . encode = function ( a ){ for ( var b = [], c = a . length , f = c % 3 , g = c - f , h = 0 ; h < g ;){ var i = a [ h ++ ] << 16 | a [ h ++ ] << 8 | a [ h ++ ]; b . push ( e . charAt ( i >>> 18 & 63 )), b . push ( e . charAt ( i >>> 12 & 63 )), b . push ( e . charAt ( i >>> 6 & 63 )), b . push ( e . charAt ( 63 & i ))} switch ( f ){ case 2 : var i = a [ h ++ ] << 16 | a [ h ++ ] << 8 ; b . push ( e . charAt ( i >>> 18 & 63 )), b . push ( e . charAt ( i >>> 12 & 63 )), b . push ( e . charAt ( i >>> 6 & 63 )), b . push ( d ); break ; case 1 : var i = a [ h ++ ] << 16 ; b . push ( e . charAt ( i >>> 18 & 63 )), b . push ( e . charAt ( i >>> 12 & 63 )), b . push ( d ), b . push ( d )} return b . join ( "" )}, c . decode = function ( a ){ for ( var b = a . split ( "" ), c = [], f = b . length ; b [ -- f ] == d ;); for ( var g = 0 ; g < f ;){ var h = e . indexOf ( b [ g ++ ]) << 18 ; g <= f && ( h |= e . indexOf ( b [ g ++ ]) << 12 ), g <= f && ( h |= e . indexOf ( b [ g ++ ]) << 6 ), g <= f && ( h |= e . indexOf ( b [ g ++ ])), c . push ( h >>> 16 & 255 ), c . push ( h >>> 8 & 255 ), c . push ( 255 & h )} for (; 0 == c [ c . length - 1 ];) c . pop (); return c }; var f = {}; f . isString = function ( a ){ return "string" == typeof a || a instanceof String }; var g = {}; g . map = function ( a , b , c , d ){ var e = 0 , f = a && a . length || 0 , g = new ( d || Array )( f ); if ( f && "string" == typeof a && ( a = a . split ( "" )), "string" == typeof b && ( b = cache [ b ] || buildFn ( b )), c ) for (; e < f ; ++ e ) g [ e ] = b . call ( c , a [ e ], e , a ); else for (; e < f ; ++ e ) g [ e ] = b ( a [ e ], e , a ); return g }, b . Blowfish = new function (){ function a ( a , b ){ return ( a >> 16 ^ b >> 16 ) << 16 | 65535 & ( 65535 & a ^ 65535 & b )} function d ( a , b ){ var c = b . s3 [ 255 & a ]; a >>= 8 ; var d = b . s2 [ 255 & a ]; a >>= 8 ; var e = b . s1 [ 255 & a ]; a >>= 8 ; var f = b . s0 [ 255 & a ], g = ( f >> 16 ) + ( e >> 16 ) + (( 65535 & f ) + ( 65535 & e ) >> 16 ) << 16 | ( 65535 & f ) + ( 65535 & e ) & 65535 ; return g = ( g >> 16 ^ d >> 16 ) << 16 | 65535 & ( 65535 & g ^ 65535 & d ),( g >> 16 ) + ( c >> 16 ) + (( 65535 & g ) + ( 65535 & c ) >> 16 ) << 16 | ( 65535 & g ) + ( 65535 & c ) & 65535 } function e ( b , c ){ var e = b . left , f = b . right ; e = a ( e , c . p [ 0 ]), f = a ( f , a ( d ( e , c ), c . p [ 1 ])), e = a ( e , a ( d ( f , c ), c . p [ 2 ])), f = a ( f , a ( d ( e , c ), c . p [ 3 ])), e = a ( e , a ( d ( f , c ), c . p [ 4 ])), f = a ( f , a ( d ( e , c ), c . p [ 5 ])), e = a ( e , a ( d ( f , c ), c . p [ 6 ])), f = a ( f , a ( d ( e , c ), c . p [ 7 ])), e = a ( e , a ( d ( f , c ), c . p [ 8 ])), f = a ( f , a ( d ( e , c ), c . p [ 9 ])), e = a ( e , a ( d ( f , c ), c . p [ 10 ])), f = a ( f , a ( d ( e , c ), c . p [ 11 ])), e = a ( e , a ( d ( f , c ), c . p [ 12 ])), f = a ( f , a ( d ( e , c ), c . p [ 13 ])), e = a ( e , a ( d ( f , c ), c . p [ 14 ])), f = a ( f , a ( d ( e , c ), c . p [ 15 ])), e = a ( e , a ( d ( f , c ), c . p [ 16 ])), b . right = e , b . left = a ( f , c . p [ 17 ])} function h ( b , c ){ var e = b . left , f = b . right ; e = a ( e , c . p [ 17 ]), f = a ( f , a ( d ( e , c ), c . p [ 16 ])), e = a ( e , a ( d ( f , c ), c . p [ 15 ])), f = a ( f , a ( d ( e , c ), c . p [ 14 ])), e = a ( e , a ( d ( f , c ), c . p [ 13 ])), f = a ( f , a ( d ( e , c ), c . p [ 12 ])), e = a ( e , a ( d ( f , c ), c . p [ 11 ])), f = a ( f , a ( d ( e , c ), c . p [ 10 ])), e = a ( e , a ( d ( f , c ), c . p [ 9 ])), f = a ( f , a ( d ( e , c ), c . p [ 8 ])), e = a ( e , a ( d ( f , c ), c . p [ 7 ])), f = a ( f , a ( d ( e , c ), c . p [ 6 ])), e = a ( e , a ( d ( f , c ), c . p [ 5 ])), f = a ( f , a ( d ( e , c ), c . p [ 4 ])), e = a ( e , a ( d ( f , c ), c . p [ 3 ])), f = a ( f , a ( d ( e , c ), c . p [ 2 ])), e = a ( e , a ( d ( f , c ), c . p [ 1 ])), b . right = e , b . left = a ( f , c . p [ 0 ])} function i ( a ){ var b = a ; f . isString ( b ) && ( b = g . map ( b . split ( "" ), function ( a ){ return 255 & a . charCodeAt ( 0 )})); var c , d , h , i = 0 , k = 0 , l = { left : 0 , right : 0 }, m = { p : g . map ( n . p . slice ( 0 ), function ( a ){ var c , d = b . length ; for ( c = 0 ; c < 4 ; c ++ ) k = k * j | b [ i ++% d ]; return ( a >> 16 ^ k >> 16 ) << 16 | 65535 & ( 65535 & a ^ 65535 & k )}), s0 : n . s0 . slice ( 0 ), s1 : n . s1 . slice ( 0 ), s2 : n . s2 . slice ( 0 ), s3 : n . s3 . slice ( 0 )}; for ( c = 0 , h = m . p . length ; c < h ;) e ( l , m ), m . p [ c ++ ] = l . left , m . p [ c ++ ] = l . right ; for ( c = 0 ; c < 4 ; c ++ ) for ( d = 0 , h = m [ "s" + c ]. length ; d < h ;) e ( l , m ), m [ "s" + c ][ d ++ ] = l . left , m [ "s" + c ][ d ++ ] = l . right ; return m } var j = ( Math . pow ( 2 , 2 ), Math . pow ( 2 , 3 ), Math . pow ( 2 , 4 ), Math . pow ( 2 , 8 )), k = Math . pow ( 2 , 16 ), l = Math . pow ( 2 , 24 ), m = null , n = { p : [ 608135816 , 2242054355 , 320440878 , 57701188 , 2752067618 , 698298832 , 137296536 , 3964562569 , 1160258022 , 953160567 , 3193202383 , 887688300 , 3232508343 , 3380367581 , 1065670069 , 3041331479 , 2450970073 , 2306472731 ], s0 : [ 3509652390 , 2564797868 , 805139163 , 3491422135 , 3101798381 , 1780907670 , 3128725573 , 4046225305 , 614570311 , 3012652279 , 134345442 , 2240740374 , 1667834072 , 1901547113 , 2757295779 , 4103290238 , 227898511 , 1921955416 , 1904987480 , 2182433518 , 2069144605 , 3260701109 , 2620446009 , 720527379 , 3318853667 , 677414384 , 3393288472 , 3101374703 , 2390351024 , 1614419982 , 1822297739 , 2954791486 , 3608508353 , 3174124327 , 2024746970 , 1432378464 , 3864339955 , 2857741204 , 1464375394 , 1676153920 , 1439316330 , 715854006 , 3033291828 , 289532110 , 2706671279 , 2087905683 , 3018724369 , 1668267050 , 732546397 , 1947742710 , 3462151702 , 2609353502 , 2950085171 , 1814351708 , 2050118529 , 680887927 , 999245976 , 1800124847 , 330091
k = c . length ); j -- ;) c [ f ] = c [ f ++- i ]; for (; 8 <= this . c ;) this . c -= 8 , this . d -- ; this . a = f }, c . prototype . e = function (){ var a , b , c = new ( h ? Uint8Array : Array )( this . a - 32768 ), d = this . a - 32768 , e = this . b ; if ( h ) c . set ( e . subarray ( 32768 , c . length )); else for ( a = 0 , b = c . length ; a < b ; ++ a ) c [ a ] = e [ a + 32768 ]; if ( this . g . push ( c ), this . k += c . length , h ) e . set ( e . subarray ( d , d + 32768 )); else for ( a = 0 ; 32768 > a ; ++ a ) e [ a ] = e [ d + a ]; return this . a = 32768 , e }, c . prototype . v = function ( a ){ var b , c , d , e , f = this . input . length / this . d + 1 | 0 , g = this . input , i = this . b ; return a && ( "number" == typeof a . o && ( f = a . o ), "number" == typeof a . r && ( f += a . r )), 2 > f ? ( c = ( g . length - this . d ) / this . n [ 2 ], e = 258 * ( c / 2 ) | 0 , d = e < i . length ? i . length + e : i . length << 1 ) : d = i . length * f , h ? ( b = new Uint8Array ( d ), b . set ( i )) : b = i , this . b = b }, c . prototype . m = function (){ var a , b , c , d , e , f = 0 , g = this . b , i = this . g , j = new ( h ? Uint8Array : Array )( this . k + ( this . a - 32768 )); if ( 0 === i . length ) return h ? this . b . subarray ( 32768 , this . a ) : this . b . slice ( 32768 , this . a ); for ( b = 0 , c = i . length ; b < c ; ++ b ) for ( a = i [ b ], d = 0 , e = a . length ; d < e ; ++ d ) j [ f ++ ] = a [ d ]; for ( b = 32768 , c = this . a ; b < c ; ++ b ) j [ f ++ ] = g [ b ]; return this . g = [], this . buffer = j }, c . prototype . s = function (){ var a , b = this . a ; return h ? this . q ? ( a = new Uint8Array ( b ), a . set ( this . b . subarray ( 0 , b ))) : a = this . b . subarray ( 0 , b ) : ( this . b . length > b && ( this . b . length = b ), a = this . b ), this . buffer = a }, a ( "Zlib.RawInflate" , c ), a ( "Zlib.RawInflate.prototype.decompress" , c . prototype . u ); var C , D , E , F , G = { ADAPTIVE : j , BLOCK : i }; if ( Object . keys ) C = Object . keys ( G ); else for ( D in C = [], E = 0 , G ) C [ E ++ ] = D ; for ( E = 0 , F = C . length ; E < F ; ++ E ) D = C [ E ], a ( "Zlib.RawInflate.BufferType." + D , G [ D ])}. call ( this ), function (){ function a ( a , b ){ var c = a . split ( "." ), d = s ; ! ( c [ 0 ] in d ) && d . execScript && d . execScript ( "var " + c [ 0 ]); for ( var e ; c . length && ( e = c . shift ());) c . length || b === q ? d = d [ e ] ? d [ e ] : d [ e ] = {} : d [ e ] = b } function b ( a , b ){ if ( this . index = "number" == typeof b ? b : 0 , this . f = 0 , this . buffer = a instanceof ( t ? Uint8Array : Array ) ? a : new ( t ? Uint8Array : Array )( 32768 ), 2 * this . buffer . length <= this . index ) throw Error ( "invalid index" ); this . buffer . length <= this . index && c ( this )} function c ( a ){ var b , c = a . buffer , d = c . length , e = new ( t ? Uint8Array : Array )( d << 1 ); if ( t ) e . set ( c ); else for ( b = 0 ; b < d ; ++ b ) e [ b ] = c [ b ]; return a . buffer = e } function d ( a ){ var b , c = q , d = "number" == typeof c ? c : c = 0 , e = a . length ; for ( b =- 1 , d = 7 & e ; d -- ; ++ c ) b = b >>> 8 ^ B [ 255 & ( b ^ a [ c ])]; for ( d = e >> 3 ; d -- ; c += 8 ) b = b >>> 8 ^ B [ 255 & ( b ^ a [ c ])], b = b >>> 8 ^ B [ 255 & ( b ^ a [ c + 1 ])], b = b >>> 8 ^ B [ 255 & ( b ^ a [ c + 2 ])], b = b >>> 8 ^ B [ 255 & ( b ^ a [ c + 3 ])], b = b >>> 8 ^ B [ 255 & ( b ^ a [ c + 4 ])], b = b >>> 8 ^ B [ 255 & ( b ^ a [ c + 5 ])], b = b >>> 8 ^ B [ 255 & ( b ^ a [ c + 6 ])], b = b >>> 8 ^ B [ 255 & ( b ^ a [ c + 7 ])]; return ( 4294967295 ^ b ) >>> 0 } function e ( a ){ this . buffer = new ( t ? Uint16Array : Array )( 2 * a ), this . length = 0 } function f ( a , b ){ this . k = D , this . l = 0 , this . input = t && a instanceof Array ? new Uint8Array ( a ) : a , this . e = 0 , b && ( b . lazy && ( this . l = b . lazy ), "number" == typeof b . compressionType && ( this . k = b . compressionType ), b . outputBuffer && ( this . c = t && b . outputBuffer instanceof Array ? new Uint8Array ( b . outputBuffer ) : b . outputBuffer ), "number" == typeof b . outputIndex && ( this . e = b . outputIndex )), this . c || ( this . c = new ( t ? Uint8Array : Array )( 32768 ))} function g ( a , b ){ this . length = a , this . n = b } function h ( a , b ){ function c ( a , b ){ var c , d = a . n , e = [], f = 0 ; c = G [ a . length ], e [ f ++ ] = 65535 & c , e [ f ++ ] = c >> 16 & 255 , e [ f ++ ] = c >> 24 ; var g ; switch ( r ){ case 1 === d : g = [ 0 , d - 1 , 0 ]; break ; case 2 === d : g = [ 1 , d - 2 , 0 ]; break ; case 3 === d : g = [ 2 , d - 3 , 0 ]; break ; case 4 === d : g = [ 3 , d - 4 , 0 ]; break ; case 6 >= d : g = [ 4 , d - 5 , 1 ]; break ; case 8 >= d : g = [ 5 , d - 7 , 1 ]; break ; case 12 >= d : g = [ 6 , d - 9 , 2 ]; break ; case 16 >= d : g = [ 7 , d - 13 , 2 ]; break ; case 24 >= d : g = [ 8 , d - 17 , 3 ]; break ; case 32 >= d : g = [ 9 , d - 25 , 3 ]; break ; case 48 >= d : g = [ 10 , d - 33 , 4 ]; break ; case 64 >= d : g = [ 11 , d - 49 , 4 ]; break ; case 96 >= d : g = [ 12 , d - 65 , 5 ]; break ; case 128 >= d : g = [ 13 , d - 97 , 5 ]; break ; case 192 >= d : g = [ 14 , d - 129 , 6 ]; break ; case 256 >= d : g = [ 15 , d - 193 , 6 ]; break ; case 384 >= d : g = [ 16 , d - 257 , 7 ]; break ; case 512 >= d : g = [ 17 , d - 385 , 7 ]; break ; case 768 >= d : g = [ 18 , d - 513 , 8 ]; break ; case 1024 >= d : g = [ 19 , d - 769 , 8 ]; break ; case 1536 >= d : g = [ 20 , d - 1025 , 9 ]; break ; case 2048 >= d : g = [ 21 , d - 1537 , 9 ]; break ; case 3072 >= d : g = [ 22 , d - 2049 , 10 ]; break ; case 4096 >= d : g = [ 23 , d - 3073 , 10 ]; break ; case 6144 >= d : g = [ 24 , d - 4097 , 11 ]; break ; case 8192 >= d : g = [ 25 , d - 6145 , 11 ]; break ; case 12288 >= d : g = [ 26 , d - 8193 , 12 ]; break ; case 16384 >= d : g = [ 27 , d - 12289 , 12 ]; break ; case 24576 >= d : g = [ 28 , d - 16385 , 13 ]; break ; case 32768 >= d : g = [ 29 , d - 24577 , 13 ]; break ; default : throw "invalid distance" } c = g , e [ f ++ ] = c [ 0 ], e [ f ++ ] = c [ 1 ], e [ f ++ ] = c [ 2 ]
}). r (); break ; default : a ( Error ( "unknown compression type" ))} if ( this . ca ){ var v , x = o , y = "number" == typeof x ? x : x = 0 , z = j . length ; for ( v =- 1 , y = 7 & z ; y -- ; ++ x ) v = v >>> 8 ^ w [ 255 & ( v ^ j [ x ])]; for ( y = z >> 3 ; y -- ; x += 8 ) v = v >>> 8 ^ w [ 255 & ( v ^ j [ x ])], v = v >>> 8 ^ w [ 255 & ( v ^ j [ x + 1 ])], v = v >>> 8 ^ w [ 255 & ( v ^ j [ x + 2 ])], v = v >>> 8 ^ w [ 255 & ( v ^ j [ x + 3 ])], v = v >>> 8 ^ w [ 255 & ( v ^ j [ x + 4 ])], v = v >>> 8 ^ w [ 255 & ( v ^ j [ x + 5 ])], v = v >>> 8 ^ w [ 255 & ( v ^ j [ x + 6 ])], v = v >>> 8 ^ w [ 255 & ( v ^ j [ x + 7 ])]; n = ( 4294967295 ^ v ) >>> 0 , g . p !== n && a ( Error ( "wrong crc: file=0x" + g . p . toString ( 16 ) + ", data=0x" + n . toString ( 16 )))} return j }, n . M = function ( a ){ this . j = a }, n . k = h . prototype . k , n . T = h . prototype . U , n . s = h . prototype . s , b ( "Zlib.Unzip" , i ), b ( "Zlib.Unzip.prototype.decompress" , i . prototype . r ), b ( "Zlib.Unzip.prototype.getFilenames" , i . prototype . Z ), b ( "Zlib.Unzip.prototype.setPassword" , i . prototype . M )}. call ( this ), /** @license
========================================================================
zlib.js 2012 - imaya [ https://github.com/imaya/zlib.js ] The MIT License
*/
function (){ function a ( a ){ throw a } function b ( a , b ){ var c = a . split ( "." ), d = A ; ! ( c [ 0 ] in d ) && d . execScript && d . execScript ( "var " + c [ 0 ]); for ( var e ; c . length && ( e = c . shift ());) c . length || b === y ? d = d [ e ] ? d [ e ] : d [ e ] = {} : d [ e ] = b } function c ( b , c ){ this . index = "number" == typeof c ? c : 0 , this . m = 0 , this . buffer = b instanceof ( B ? Uint8Array : Array ) ? b : new ( B ? Uint8Array : Array )( 32768 ), 2 * this . buffer . length <= this . index && a ( Error ( "invalid index" )), this . buffer . length <= this . index && this . f ()} function d ( a , b , c ){ var d , e = "number" == typeof b ? b : b = 0 , f = "number" == typeof c ? c : a . length ; for ( d =- 1 , e = 7 & f ; e -- ; ++ b ) d = d >>> 8 ^ J [ 255 & ( d ^ a [ b ])]; for ( e = f >> 3 ; e -- ; b += 8 ) d = d >>> 8 ^ J [ 255 & ( d ^ a [ b ])], d = d >>> 8 ^ J [ 255 & ( d ^ a [ b + 1 ])], d = d >>> 8 ^ J [ 255 & ( d ^ a [ b + 2 ])], d = d >>> 8 ^ J [ 255 & ( d ^ a [ b + 3 ])], d = d >>> 8 ^ J [ 255 & ( d ^ a [ b + 4 ])], d = d >>> 8 ^ J [ 255 & ( d ^ a [ b + 5 ])], d = d >>> 8 ^ J [ 255 & ( d ^ a [ b + 6 ])], d = d >>> 8 ^ J [ 255 & ( d ^ a [ b + 7 ])]; return ( 4294967295 ^ d ) >>> 0 } function e (){} function f ( a ){ this . buffer = new ( B ? Uint16Array : Array )( 2 * a ), this . length = 0 } function g ( a ){ var b , c , d , e , f , g , h , i , j , k , l = a . length , m = 0 , n = Number . POSITIVE_INFINITY ; for ( i = 0 ; i < l ; ++ i ) a [ i ] > m && ( m = a [ i ]), a [ i ] < n && ( n = a [ i ]); for ( b = 1 << m , c = new ( B ? Uint32Array : Array )( b ), d = 1 , e = 0 , f = 2 ; d <= m ;){ for ( i = 0 ; i < l ; ++ i ) if ( a [ i ] === d ){ for ( g = 0 , h = e , j = 0 ; j < d ; ++ j ) g = g << 1 | 1 & h , h >>= 1 ; for ( k = d << 16 | i , j = g ; j < b ; j += f ) c [ j ] = k ; ++ e } ++ d , e <<= 1 , f <<= 1 } return [ c , m , n ]} function h ( a , b ){ this . k = L , this . I = 0 , this . input = B && a instanceof Array ? new Uint8Array ( a ) : a , this . b = 0 , b && ( b . lazy && ( this . I = b . lazy ), "number" == typeof b . compressionType && ( this . k = b . compressionType ), b . outputBuffer && ( this . a = B && b . outputBuffer instanceof Array ? new Uint8Array ( b . outputBuffer ) : b . outputBuffer ), "number" == typeof b . outputIndex && ( this . b = b . outputIndex )), this . a || ( this . a = new ( B ? Uint8Array : Array )( 32768 ))} function i ( a , b ){ this . length = a , this . Q = b } function j ( b , c ){ function d ( b , c ){ var d , e = b . Q , f = [], g = 0 ; d = P [ b . length ], f [ g ++ ] = 65535 & d , f [ g ++ ] = d >> 16 & 255 , f [ g ++ ] = d >> 24 ; var h ; switch ( z ){ case 1 === e : h = [ 0 , e - 1 , 0 ]; break ; case 2 === e : h = [ 1 , e - 2 , 0 ]; break ; case 3 === e : h = [ 2 , e - 3 , 0 ]; break ; case 4 === e : h = [ 3 , e - 4 , 0 ]; break ; case 6 >= e : h = [ 4 , e - 5 , 1 ]; break ; case 8 >= e : h = [ 5 , e - 7 , 1 ]; break ; case 12 >= e : h = [ 6 , e - 9 , 2 ]; break ; case 16 >= e : h = [ 7 , e - 13 , 2 ]; break ; case 24 >= e : h = [ 8 , e - 17 , 3 ]; break ; case 32 >= e : h = [ 9 , e - 25 , 3 ]; break ; case 48 >= e : h = [ 10 , e - 33 , 4 ]; break ; case 64 >= e : h = [ 11 , e - 49 , 4 ]; break ; case 96 >= e : h = [ 12 , e - 65 , 5 ]; break ; case 128 >= e : h = [ 13 , e - 97 , 5 ]; break ; case 192 >= e : h = [ 14 , e - 129 , 6 ]; break ; case 256 >= e : h = [ 15 , e - 193 , 6 ]; break ; case 384 >= e : h = [ 16 , e - 257 , 7 ]; break ; case 512 >= e : h = [ 17 , e - 385 , 7 ]; break ; case 768 >= e : h = [ 18 , e - 513 , 8 ]; break ; case 1024 >= e : h = [ 19 , e - 769 , 8 ]; break ; case 1536 >= e : h = [ 20 , e - 1025 , 9 ]; break ; case 2048 >= e : h = [ 21 , e - 1537 , 9 ]; break ; case 3072 >= e : h = [ 22 , e - 2049 , 10 ]; break ; case 4096 >= e : h = [ 23 , e - 3073 , 10 ]; break ; case 6144 >= e : h = [ 24 , e - 4097 , 11 ]; break ; case 8192 >= e : h = [ 25 , e - 6145 , 11 ]; break ; case 12288 >= e : h = [ 26 , e - 8193 , 12 ]; break ; case 16384 >= e : h = [ 27 , e - 12289 , 12 ]; break ; case 24576 >= e : h = [ 28 , e - 16385 , 13 ]; break ; case 32768 >= e : h = [ 29 , e - 24577 , 13 ]; break ; default : a ( "invalid distance" )} d = h , f [ g ++ ] = d [ 0 ], f [ g ++ ] = d [ 1 ], f [ g ++ ] = d [ 2 ]; var i , j ; for ( i = 0 , j = f . length ; i < j ; ++ i ) p [ q ++ ] = f [ i ]; s [ f [ 0 ]] ++ , t [ f [ 3 ]] ++ , r = b . length + c - 1 , m = null } var e , f , g , h , i , j , l , m , n , o = {}, p = B ? new Uint16Array ( 2 * c . length ) : [], q = 0 , r = 0 , s = new ( B ? Uint32Array : Array )( 286 ), t = new ( B ? Uint32Array : Array )( 30 ), u = b . I ; if ( ! B ){ for ( g = 0 ; 285 >= g ;) s [ g ++ ] = 0 ; for ( g = 0 ; 29 >= g ;) t [ g ++ ] = 0 } for ( s [ 256 ] = 1 , e = 0 , f = c . length ; e < f ; ++ e ){ for ( g = i = 0 , h = 3 ; g < h && e + g !== f ; ++ g ) i = i << 8 | c [ e + g ]; if ( o [ i ] === y && ( o [ i ] = []), j = o [ i ], ! ( 0 < r -- )){ for (; 0 < j . length && 32768 < e - j [ 0 ];) j . shift (); if ( e + 3 >= f ){ for ( m && d ( m , - 1 ), g = 0 , h = f - e ; g < h ; ++ g ) n = c [ e + g ], p [ q ++ ] = n , ++ s [ n ]; break } 0 < j . length ? ( l = k ( c , e , j ), m ? m . length < l . length ? ( n = c [ e - 1 ], p [ q ++ ] = n , ++ s [ n ], d ( l , 0 )) : d ( m , - 1 ) : l . length < u ? m = l : d ( l , 0 )) : m ? d ( m , - 1 ) : ( n = c [ e ], p [ q ++ ] = n , ++ s [ n ])} j . push ( e )} return p [ q ++ ] = 256 , s [ 256 ] ++ , b . W = s , b . V = t , B ? p . subarray ( 0 , q ) : p } function k ( a , b , c ){ var d , e , f , g , h , j , k = 0 , l = a . length ; g = 0 , j = c . length ; a : for (; g < j ; g ++ ){ if ( d = c [ j - g - 1 ], f = 3 , 3 < k ){ for ( h = k ; 3 < h ; h -- ) if ( a [ d + h - 1 ] !== a [ b + h - 1 ]) continue a ; f = k } for (; 258 > f && b + f < l && a [ d + f ] === a [ b + f ];) ++ f ; if ( f > k && ( e = d , k = f ), 258 === f ) break } return new i ( k , b - e )} function l ( a , b ){ var c , d , e , g , h , i = a . length , j = new f ( 572 ), k = new ( B ? Uint8Array : Array )( i ); if ( ! B ) for ( g = 0 ; g < i ; g ++ ) k [ g ] = 0 ; for ( g = 0 ; g < i ; ++ g ) 0 < a [ g ] && j . push ( g , a [ g ]); if ( c = Array ( j . length / 2 ), d = new ( B ? Uint32Array : Array )( j . length / 2 ), 1 === c . length ) return k [ j . pop (). index ] = 1 , k ; for ( g = 0 , h =
metadata : { uaFamily : "Jyxobot" , uaName : "Jyxobot" , uaUrl : "" , uaCompany : "Jyxo s.r.o." , uaCompanyUrl : "http://jyxo.cz/" , uaIcon : "bot_Jyxobot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Jyxobot" }}, 9 : { userAgent : "Scooter/3.3" , metadata : { uaFamily : "Scooter" , uaName : "Scooter/3.3" , uaUrl : "" , uaCompany : "AltaVista" , uaCompanyUrl : "http://www.altavista.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Scooter" }}, 14 : { userAgent : "Baiduspider+(+http://www.baidu.com/search/spider.htm)" , metadata : { uaFamily : "Baiduspider" , uaName : "Baiduspider" , uaUrl : "http://www.baidu.com/search/spider.htm" , uaCompany : "Baidu" , uaCompanyUrl : "http://www.baidu.com/" , uaIcon : "bot_baiduspider.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Baiduspider" }}, 20 : { userAgent : "lmspider (lmspider@scansoft.com)" , metadata : { uaFamily : "lmspider" , uaName : "lmspider" , uaUrl : "http://www.nuance.com/" , uaCompany : "Nuance Communications, Inc." , uaCompanyUrl : "http://www.nuance.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=lmspider" }}, 25 : { userAgent : "Googlebot-Image/1.0" , metadata : { uaFamily : "Googlebot" , uaName : "Googlebot-Image/1.0" , uaUrl : "http://support.google.com/webmasters/bin/answer.py?hl=en&answer=1061943" , uaCompany : "Google Inc." , uaCompanyUrl : "http://www.google.com/" , uaIcon : "bot_googlebot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Googlebot" }}, 31 : { userAgent : "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" , metadata : { uaFamily : "Googlebot" , uaName : "Googlebot/2.1" , uaUrl : "http://support.google.com/webmasters/bin/answer.py?hl=en&answer=1061943" , uaCompany : "Google Inc." , uaCompanyUrl : "http://www.google.com/" , uaIcon : "bot_googlebot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Googlebot" }}, 32 : { userAgent : "ConveraMultiMediaCrawler/0.1 (+http://www.authoritativeweb.com/crawl)" , metadata : { uaFamily : "ConveraCrawler" , uaName : "ConveraMultiMediaCrawler/0.1" , uaUrl : "http://www.authoritativeweb.com/crawl" , uaCompany : "Convera Corporation" , uaCompanyUrl : "http://www.authoritativeweb.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=ConveraCrawler" }}, 37 : { userAgent : "Mozilla/2.0 (compatible; Ask Jeeves/Teoma; +http://sp.ask.com/docs/about/tech_crawling.html)" , metadata : { uaFamily : "Ask Jeeves/Teoma" , uaName : "Ask Jeeves/Teoma - b" , uaUrl : "http://about.ask.com/en/docs/about/webmasters.shtml" , uaCompany : "Ask Jeeves Inc." , uaCompanyUrl : "http://about.ask.com/en/docs/about/index.shtml" , uaIcon : "bot_AskJeeves.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Ask Jeeves/Teoma" }}, 38 : { userAgent : "NG/2.0" , metadata : { uaFamily : "NG" , uaName : "NG/2.0" , uaUrl : "" , uaCompany : "Exalead" , uaCompanyUrl : "http://exalead.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=NG" }}, 40 : { userAgent : "TutorGigBot/1.5 ( +http://www.tutorgig.info )" , metadata : { uaFamily : "TutorGigBot" , uaName : "TutorGigBot" , uaUrl : "http://www.tutorgig.com/help.html" , uaCompany : "TutorGig" , uaCompanyUrl : "http://www.tutorgig.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=TutorGigBot" }}, 43 : { userAgent : "ZACATEK_CZ_BOT (www.zacatek.cz)" , metadata : { uaFamily : "ZACATEK_CZ" , uaName : "ZACATEK_CZ_BOT" , uaUrl : "http://www.zacatek.cz/" , uaCompany : "webprovider - Adam Haken" , uaCompanyUrl : "http://www.webprovider.cz/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=ZACATEK_CZ" }}, 45 : { userAgent : "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; Girafabot; girafabot at girafa dot com; http://www.girafa.com)" , metadata : { uaFamily : "Girafabot" , uaName : "Girafabot" , uaUrl : "" , uaCompany : "Girafa Inc." , uaCompanyUrl : "http://www.girafa.com/" , uaIcon : "bot_girafabot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Girafabot" }}, 47 : { userAgent : "FAST MetaWeb Crawler (helpdesk at fastsearch dot com)" , metadata : { uaFamily : "FAST MetaWeb Crawler" , uaName : "FAST MetaWeb Crawler" , uaUrl : "http://www.fast.no/glossary.aspx?m=48&amid=415" , uaCompany : "Fast Search & Transfer" , uaCompanyUrl : "http://www.fastsearch.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=FAST MetaWeb Crawler" }}, 56 : { userAgent : "psbot/0.1 (+http://www.picsearch.com/bot.html)" , metadata : { uaFamily : "psbot" , uaName : "psbot/0.1" , uaUrl : "http://www.picsearch.com/bot.html" , uaCompany : "picsearch.com" , uaCompanyUrl : "http://www.picsearch.com/" , uaIcon : "b
uaFamily:" NimbleCrawler ",uaName:" NimbleCrawler / 1.15 ",uaUrl:"",uaCompany:" Healthline Networks , Inc . ",uaCompanyUrl:" http : //www.healthline.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=NimbleCrawler"}},295:{userAgent:"MetaTagRobot/1.6 (http://www.widexl.com/remote/search-engines/metatag-analyzer.html)",metadata:{uaFamily:"MetaTagRobot",uaName:"MetaTagRobot/1.6",uaUrl:"http://www.widexl.com/remote/search-engines/metatag-analyzer.html",uaCompany:"widexl.com",uaCompanyUrl:"http://www.widexl.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=MetaTagRobot"}},296:{userAgent:"sproose/0.1-alpha (sproose crawler; http://www.sproose.com/bot.html; crawler@sproose.com)",metadata:{uaFamily:"sproose",uaName:"sproose/0.1-alpha",uaUrl:"http://www.sproose.com/bot.html",uaCompany:"Sproose, Inc.",uaCompanyUrl:"http://www.sproose.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=sproose"}},301:{userAgent:"Search Engine World Robots.txt Validator at http://www.searchengineworld.com/cgi-bin/robotcheck.cgi",metadata:{uaFamily:"Search Engine World Robots.txt Validator",uaName:"Search Engine World Robots.txt Validator",uaUrl:"http://www.searchengineworld.com/cgi-bin/robotcheck.cgi",uaCompany:"searchengineworld",uaCompanyUrl:"http://www.searchengineworld.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Search Engine World Robots.txt Validator"}},303:{userAgent:"Gaisbot/3.0+(robot06@gais.cs.ccu.edu.tw;+http://gais.cs.ccu.edu.tw/robot.php)",metadata:{uaFamily:"Gaisbot",uaName:"Gaisbot/3.0 - 06",uaUrl:"http://gais.cs.ccu.edu.tw/robot.php",uaCompany:"National Chung Cheng University",uaCompanyUrl:"http://www.ccu.edu.tw/",uaIcon:"bot_gaisbot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Gaisbot"}},306:{userAgent:"Forschungsportal/0.8-dev (Testinstallation; http://www.forschungsportal.net/; fpcrawler@rrzn.uni-hannover.de)",metadata:{uaFamily:"Forschungsportal",uaName:"Forschungsportal/0.8-dev",uaUrl:"http://www.forschungsportal.net/",uaCompany:"Bundesministerium f\xfcr Bildung und Forschung",uaCompanyUrl:"http://www.bmbf.de/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Forschungsportal"}},307:{userAgent:"HooWWWer/2.2.0 (debugging run) (+http://cosco.hiit.fi/search/hoowwwer/ | mailto:crawler-info<at>hiit.fi)",metadata:{uaFamily:"HooWWWer",uaName:"HooWWWer/2.2.0",uaUrl:"http://cosco.hiit.fi/search/hoowwwer/",uaCompany:"CoSCo",uaCompanyUrl:"http://cosco.hiit.fi/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=HooWWWer"}},308:{userAgent:"OmniExplorer_Bot/6.47 (+http://www.omni-explorer.com) WorldIndexer",metadata:{uaFamily:"OmniExplorer_Bot",uaName:"OmniExplorer_Bot/6.47",uaUrl:"http://www.omni-explorer.com/",uaCompany:"",uaCompanyUrl:"",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=OmniExplorer_Bot"}},310:{userAgent:"Orbiter (+http://www.dailyorbit.com/bot.htm)",metadata:{uaFamily:"Orbiter",uaName:"Orbiter",uaUrl:"http://www.dailyorbit.com/bot.htm",uaCompany:"DailyOrbit.com",uaCompanyUrl:"http://www.dailyorbit.com/",uaIcon:"bot_orbiter.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Orbiter"}},312:{userAgent:"FAST Enterprise Crawler/6.4 (crawler@fast.no)",metadata:{uaFamily:"FAST Enterprise Crawler",uaName:"FAST Enterprise Crawler/6.4",uaUrl:"http://www.fast.no/glossary.aspx?m=48&amid=415",uaCompany:"Fast Search & Transfer",uaCompanyUrl:"http://www.fastsearch.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=FAST Enterprise Crawler"}},317:{userAgent:"csci_b659/0.13",metadata:{uaFamily:"csci_b659",uaName:"csci_b659/0.13",uaUrl:"http://informatics.indiana.edu/fil/Class/b659/",uaCompany:"Indiana University",uaCompanyUrl:"http://www.indiana.edu/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=csci_b659"}},321:{userAgent:"NutchCVS/0.06-dev (Nutch; http://www.nutch.org/docs/en/bot.html; nutch-agent@lists.sourceforge.net)",metadata:{uaFamily:"Nutch",uaName:"NutchCVS/0.06-dev",uaUrl:"http://www.nutch.org/docs/en/bot.html",uaCompany:"lucene",uaCompanyUrl:"http://lucene.apache.org/",uaIcon:"bot_Nutch.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Nutch"}},323:{userAgent:"NutchCVS/0.7.1
metadata : { uaFamily : "EDI" , uaName : "EDI/1.6.5" , uaUrl : "" , uaCompany : "Daum Communications Corp." , uaCompanyUrl : "http://info.daum.net/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=EDI" }}, 560 : { userAgent : "ccubee/9.0" , metadata : { uaFamily : "ccubee" , uaName : "ccubee/9.0" , uaUrl : "http://empyreum.com/technologies/platforms/ccubee/" , uaCompany : "EMPYREUM k. s." , uaCompanyUrl : "http://empyreum.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=ccubee" }}, 562 : { userAgent : "MQBOT/Nutch-0.9-dev (MQBOT Nutch Crawler; http://falcon.cs.uiuc.edu; mqbot@cs.uiuc.edu)" , metadata : { uaFamily : "MQbot" , uaName : "MQBOT/Nutch-0.9-dev" , uaUrl : "http://metaquerier.cs.uiuc.edu/crawler/" , uaCompany : "University of Illinois at Urbana-Champaign" , uaCompanyUrl : "http://www.uiuc.edu/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=MQbot" }}, 563 : { userAgent : "Mozilla/5.0 (compatible; nextthing.org/1.0; +http://www.nextthing.org/bot)" , metadata : { uaFamily : "nextthing.org" , uaName : "nextthing.org/1.0" , uaUrl : "http://www.nextthing.org/bot/" , uaCompany : "Andrew Wooster" , uaCompanyUrl : "http://www.cs.hmc.edu/~awooster/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=nextthing.org" }}, 564 : { userAgent : "crawler43.ejupiter.com" , metadata : { uaFamily : "ejupiter.com" , uaName : "ejupiter.com 43" , uaUrl : "http://robot.ejupiter.com/16/robot_privacy.html" , uaCompany : "eJupiter Inc" , uaCompanyUrl : "http://www.ejupiter.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=ejupiter.com" }}, 565 : { userAgent : "Szukacz/1.5 (robot; www.szukacz.pl/jakdzialarobot.html; info@szukacz.pl)" , metadata : { uaFamily : "Szukacz" , uaName : "Szukacz/1.5 b" , uaUrl : "http://www.szukacz.pl/jakdzialarobot.html" , uaCompany : "24 Godziny Sp. z o.o." , uaCompanyUrl : "http://www.szukacz.pl/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Szukacz" }}, 566 : { userAgent : "Mozilla/5.0 (compatible; BecomeBot/3.0; +http://www.become.com/site_owners.html)" , metadata : { uaFamily : "BecomeBot" , uaName : "BecomeBot/3.0 b" , uaUrl : "http://www.become.com/site_owners.html" , uaCompany : "Become, Inc." , uaCompanyUrl : "http://www.become.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=BecomeBot" }}, 567 : { userAgent : "Steeler/3.2 (http://www.tkl.iis.u-tokyo.ac.jp/~crawler/)" , metadata : { uaFamily : "Steeler" , uaName : "Steeler/3.2" , uaUrl : "http://www.tkl.iis.u-tokyo.ac.jp/~crawler/" , uaCompany : "Kitsuregawa Laboratory, The University of Tokyo" , uaCompanyUrl : "http://www.tkl.iis.u-tokyo.ac.jp/" , uaIcon : "bot_Steeler.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Steeler" }}, 569 : { userAgent : "Mozilla/4.0 (compatible; EDI/1.6.6; Edacious & Intelligent Web Robot; Daum Communications Corp., Korea)" , metadata : { uaFamily : "EDI" , uaName : "EDI/1.6.6" , uaUrl : "" , uaCompany : "Daum Communications Corp." , uaCompanyUrl : "http://info.daum.net/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=EDI" }}, 580 : { userAgent : "Blaiz-Bee/2.00.5655 (+http://www.blaiz.net)" , metadata : { uaFamily : "Blaiz-Bee" , uaName : "Blaiz-Bee/2.00.5655" , uaUrl : "http://www.rawgrunt.com/index.html" , uaCompany : "Blaiz Enterprises" , uaCompanyUrl : "http://www.blaiz.net/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Blaiz-Bee" }}, 581 : { userAgent : "Zeusbot/0.07 (Ulysseek's web-crawling robot; http://www.zeusbot.com; agent@zeusbot.com)" , metadata : { uaFamily : "Zeusbot" , uaName : "Zeusbot/0.07" , uaUrl : "http://www.zeusbot.com/" , uaCompany : "Ulysseek" , uaCompanyUrl : "http://www.ulysseek.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Zeusbot" }}, 587 : { userAgent : "MQBOT/Nutch-0.9-dev (MQBOT Crawler; http://falcon.cs.uiuc.edu; mqbot@cs.uiuc.edu)" , metadata : { uaFamily : "MQbot" , uaName : "MQBOT/Nutch-0.9-dev b" , uaUrl : "http://metaquerier.cs.uiuc.edu/crawler/" , uaCompany : "University of Illinois at Urbana-Champaign" , uaCompanyUrl : "http://www.uiuc.edu/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=MQbot" }}, 588 : { userAgent : "CazoodleBot/Nutch-0.9-dev (CazoodleBot Crawler; http://www.cazoodle.com; mqbot@cazoodle.com)" , metadata : { uaFamily : "CazoodleBot" , uaName : "CazoodleBot d" , uaUrl : "http://www.cazoodle.com/cazoodlebot.php" , uaCompany : "Cazoodle Inc." , uaCompanyUrl : "http://www.cazoodle.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Cazoodle
uaIcon:" bot . png ",uaInfoUrl:" / list - of - ua / bot - detail ? bot = Acorn "}},832:{userAgent:" nestReader / 0.2 ( discovery ; http : //echonest.com/reader.shtml; reader at echonest.com)",metadata:{uaFamily:"nestReader",uaName:"nestReader/0.2",uaUrl:"http://echonest.com/reader.shtml",uaCompany:"The Echo Nest Corporation",uaCompanyUrl:"http://echonest.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=nestReader"}},833:{userAgent:"boitho.com-dc/0.86 ( http://www.boitho.com/dcbot.html )",metadata:{uaFamily:"boitho.com-dc",uaName:"boitho.com-dc/0.86",uaUrl:"http://www.boitho.com/dcbot.html",uaCompany:"Boitho",uaCompanyUrl:"http://www.boitho.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=boitho.com-dc"}},835:{userAgent:"Snappy/1.1 ( http://www.urltrends.com/ )",metadata:{uaFamily:"Snappy",uaName:"Snappy/1.1",uaUrl:"http://www.urltrends.com/",uaCompany:"Xerocity Design Group, LLC.",uaCompanyUrl:"http://www.xerocity.com/",uaIcon:"bot_snappy.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Snappy"}},844:{userAgent:"great-plains-web-spider/gpws (Flatland Industries Web Spider; http://www.flatlandindustries.com/flatlandbot.php; jason@flatlandindustries.com)",metadata:{uaFamily:"flatlandbot",uaName:"flatlandbot c",uaUrl:"http://www.flatlandindustries.com/flatlandbot.php",uaCompany:"Flatland Industries, Inc.",uaCompanyUrl:"http://www.flatlandindustries.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=flatlandbot"}},851:{userAgent:"Mozilla/5.0 (compatible; FunnelBack; http://cyan.funnelback.com/robot.html)",metadata:{uaFamily:"FunnelBack",uaName:"FunnelBack",uaUrl:"http://cyan.funnelback.com/robot.html",uaCompany:"Funnelback Pty Ltd",uaCompanyUrl:"http://www.funnelback.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=FunnelBack"}},856:{userAgent:"RedBot/redbot-1.0 (Rediff.com Crawler; redbot at rediff dot com)",metadata:{uaFamily:"RedBot",uaName:"RedBot1.0",uaUrl:"",uaCompany:"Rediff.com India Limited.",uaCompanyUrl:"http://www.rediff.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=RedBot"}},859:{userAgent:"Mozilla/5.0 (compatible; heritrix/1.12.0 +http://www.accelobot.com)",metadata:{uaFamily:"Accelobot",uaName:"Accelobot",uaUrl:"http://www.accelobot.com/",uaCompany:"NetBase Solutions, Inc.",uaCompanyUrl:"http://www.netbase.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Accelobot"}},861:{userAgent:"wectar/Nutch-0.9 (nectar extracted form the glorious web; http://goosebumps4all.net/wectar; see website)",metadata:{uaFamily:"wectar",uaName:"wectar/Nutch-0.9 b",uaUrl:"http://wectar.com/",uaCompany:"Martin Dudek",uaCompanyUrl:"",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=wectar"}},865:{userAgent:"MQBOT/Nutch-0.9-dev (MQBOT Nutch Crawler; http://vwbot.cs.uiuc.edu; mqbot@cs.uiuc.edu)",metadata:{uaFamily:"MQbot",uaName:"MQBOT/Nutch-0.9-dev c",uaUrl:"http://metaquerier.cs.uiuc.edu/crawler/",uaCompany:"University of Illinois at Urbana-Champaign",uaCompanyUrl:"http://www.uiuc.edu/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=MQbot"}},872:{userAgent:"Willow Internet Crawler by Twotrees V2.1",metadata:{uaFamily:"Willow Internet Crawler",uaName:"Willow Internet Crawler 2.1",uaUrl:"",uaCompany:"Twotrees Technologies, LLC.",uaCompanyUrl:"http://www.twotrees.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Willow Internet Crawler"}},873:{userAgent:"Netintelligence LiveAssessment - www.netintelligence.com",metadata:{uaFamily:"Netintelligence LiveAssessment",uaName:"Netintelligence LiveAssessment",uaUrl:"",uaCompany:"Netintelligence Limited",uaCompanyUrl:"http://www.netintelligence.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Netintelligence LiveAssessment"}},874:{userAgent:"Mozilla/5.0 (compatible; SkreemRBot +http://skreemr.com)",metadata:{uaFamily:"SkreemRBot",uaName:"SkreemRBot",uaUrl:"",uaCompany:"SkreemR",uaCompanyUrl:"http://skreemr.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=SkreemRBot"}},876:{userAgent:"great-plains-web-spider/flatlandbot (Flatland Industries Web Robot; http://www.flatlandindustries.com/flatlandbot.php; jason@f
uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Daumoa" }}, 1468 : { userAgent : "msnbot-media/1.1 (+http://search.msn.com/msnbot.htm)" , metadata : { uaFamily : "MSNBot" , uaName : "msnbot-media/1.1" , uaUrl : "http://search.msn.com/msnbot.htm" , uaCompany : "Microsoft Corporation" , uaCompanyUrl : "http://www.microsoft.com/" , uaIcon : "bot_msnbot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=MSNBot" }}, 1469 : { userAgent : "OOZBOT/0.20 ( -- ; http://www.setooz.com/oozbot.html ; agentname at setooz dot_com )" , metadata : { uaFamily : "Setoozbot" , uaName : "OOZBOT/0.20" , uaUrl : "http://www.setooz.com/oozbot.html" , uaCompany : "SETU Software Systems (P) Ltd." , uaCompanyUrl : "http://www.setusoftware.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Setoozbot" }}, 1470 : { userAgent : "Sogou develop spider/4.0(+http://www.sogou.com/docs/help/webmasters.htm#07)" , metadata : { uaFamily : "sogou spider" , uaName : "Sogou develop spider/4.0" , uaUrl : "http://www.sogou.com/docs/help/webmasters.htm#07" , uaCompany : "SOGOU.COM" , uaCompanyUrl : "http://www.sogou.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=sogou spider" }}, 1471 : { userAgent : "Sogou web spider/4.0(+http://www.sogou.com/docs/help/webmasters.htm#07)" , metadata : { uaFamily : "sogou spider" , uaName : "Sogou web spider/4.0" , uaUrl : "http://www.sogou.com/docs/help/webmasters.htm#07" , uaCompany : "SOGOU.COM" , uaCompanyUrl : "http://www.sogou.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=sogou spider" }}, 1472 : { userAgent : "SpokeSpider/1.0 (http://support.spoke.com/webspider/) Mozilla/5.0 (not really)" , metadata : { uaFamily : "SpokeSpider" , uaName : "SpokeSpider/1.0" , uaUrl : "http://support.spoke.com/webspider/" , uaCompany : "Spoke Software " , uaCompanyUrl : "http://www.spoke.com/company/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=SpokeSpider" }}, 1474 : { userAgent : "Baiduspider+(+http://www.baidu.jp/spider/)" , metadata : { uaFamily : "Baiduspider" , uaName : "Baiduspider japan" , uaUrl : "http://www.baidu.com/search/spider.htm" , uaCompany : "Baidu" , uaCompanyUrl : "http://www.baidu.com/" , uaIcon : "bot_baiduspider.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Baiduspider" }}, 1475 : { userAgent : "linkdexbot/Nutch-1.0-dev (http://www.linkdex.com/; crawl at linkdex dot com)" , metadata : { uaFamily : "linkdexbot" , uaName : "linkdexbot" , uaUrl : "http://www.linkdex.com/about/bots/" , uaCompany : "Linkdex Limited." , uaCompanyUrl : "" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=linkdexbot" }}, 1476 : { userAgent : "Yeti/1.0 (NHN Corp.; http://help.naver.com/robots/)" , metadata : { uaFamily : "NaverBot" , uaName : "Yeti/1.0" , uaUrl : "http://help.naver.com/robots/" , uaCompany : "NHN Corporation" , uaCompanyUrl : "http://www.nhncorp.com/" , uaIcon : "bot_NaverBot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=NaverBot" }}, 1478 : { userAgent : "mozilla/5.0 (compatible; webmastercoffee/0.7; +http://webmastercoffee.com/about)" , metadata : { uaFamily : "webmastercoffee" , uaName : "webmastercoffee/0.7" , uaUrl : "http://webmastercoffee.com/about" , uaCompany : "Martin Schwartz" , uaCompanyUrl : "http://webmastercoffee.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=webmastercoffee" }}, 1479 : { userAgent : "boitho.com-dc/0.82 ( http://www.boitho.com/dcbot.html )" , metadata : { uaFamily : "boitho.com-dc" , uaName : "boitho.com-dc/0.82" , uaUrl : "http://www.boitho.com/dcbot.html" , uaCompany : "Boitho" , uaCompanyUrl : "http://www.boitho.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=boitho.com-dc" }}, 1480 : { userAgent : "Busiversebot/v1.0 (http://www.busiverse.com/bot.php)" , metadata : { uaFamily : "Sirketce/Busiverse" , uaName : "Busiversebot/v1.0" , uaUrl : "http://www.busiverse.com/bot.php" , uaCompany : "BerilTech" , uaCompanyUrl : "http://www.sirketce.com.tr/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Sirketce/Busiverse" }}, 1481 : { userAgent : "CatchBot/1.0; +http://www.catchbot.com" , metadata : { uaFamily : "CatchBot" , uaName : "CatchBot/1.0" , uaUrl : "http://www.catchbot.com/" , uaCompany : "Reed Business Information Pty Limited" , uaCompanyUrl : "http://www.reedbusiness.com/" , uaIcon : "bot_CatchBot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=CatchBot" }}, 1482 : { userAgent : "CazoodleBot/0.0.2 (http://www.cazoodle.com/contact.php; cbot@cazoodle.com)" , metadata : { uaFamily : "CazoodleBot" , uaName : "
uaCompany:" Yahoo ! Inc ",uaCompanyUrl:" http : //www.yahoo.com/",uaIcon:"bot_yahoo!slurp.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Yahoo!"}},1798:{userAgent:"LinkAider (http://linkaider.com/crawler/)",metadata:{uaFamily:"LinkAider",uaName:"LinkAider",uaUrl:"http://linkaider.com/crawler/",uaCompany:"Ivinco",uaCompanyUrl:"http://linkaider.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=LinkAider"}},1805:{userAgent:"WinWebBot/1.0; (Balaena Ltd, UK); http://www.balaena.com/winwebbot.html; winwebbot@balaena.com;)",metadata:{uaFamily:"WinWebBot",uaName:"WinWebBot/1.0",uaUrl:"http://www.balaena.com/winwebbot.html",uaCompany:"Balaena Ltd",uaCompanyUrl:"http://www.balaena.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=WinWebBot"}},1815:{userAgent:"R6_FeedFetcher(www.radian6.com/crawler)",metadata:{uaFamily:"R6 bot",uaName:"R6_FeedFetcher",uaUrl:"http://www.radian6.com/crawler/",uaCompany:"Radian6 Technologies Inc",uaCompanyUrl:"http://www.radian6.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=R6 bot"}},1816:{userAgent:"http://domino.research.ibm.com/comm/research_projects.nsf/pages/sai-crawler.callingcard.html",metadata:{uaFamily:"SAI Crawler",uaName:"SAI Crawler",uaUrl:"http://domino.research.ibm.com/comm/research_projects.nsf/pages/sai-crawler.callingcard.html",uaCompany:"IBM",uaCompanyUrl:"http://www.ibm.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=SAI Crawler"}},1818:{userAgent:"Mozilla/5.0 (compatible;YodaoBot-Image/1.0;http://www.youdao.com/help/webmaster/spider/;)",metadata:{uaFamily:"YodaoBot",uaName:"YodaoBot-Image/1.0",uaUrl:"http://www.youdao.com/help/webmaster/spider/",uaCompany:"youdao",uaCompanyUrl:"http://www.youdao.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=YodaoBot"}},1838:{userAgent:"Mozilla/5.0 (compatible; Topicbot/12.0rc-2; +http://topicbot.awardspace.us/)",metadata:{uaFamily:"Topicbot",uaName:"Topicbot/12.0rc-2",uaUrl:"http://topicbot.awardspace.us/",uaCompany:"Research Group TopicBot",uaCompanyUrl:"http://topicbot.awardspace.us/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Topicbot"}},1849:{userAgent:"http://www.amagit.com/",metadata:{uaFamily:"Amagit.COM",uaName:"Amagit.COM",uaUrl:"",uaCompany:"Joshua Schwarz",uaCompanyUrl:"http://contacts.joshuaschwarz.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Amagit.COM"}},1853:{userAgent:"Sosospider+(+http://help.soso.com/webspider.htm)",metadata:{uaFamily:"Sosospider",uaName:"Sosospider",uaUrl:"http://help.soso.com/webspider.htm",uaCompany:"Tencent, Inc.",uaCompanyUrl:"http://www.tencent.com/",uaIcon:"bot_soso.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Sosospider"}},1856:{userAgent:"findlinks/1.1.5-beta7 (+http://wortschatz.uni-leipzig.de/findlinks/)",metadata:{uaFamily:"findlinks",uaName:"findlinks/1.1.4-beta7",uaUrl:"http://wortschatz.uni-leipzig.de/findlinks/",uaCompany:"Universit\xe4t Leipzig",uaCompanyUrl:"http://www.uni-leipzig.de/",uaIcon:"bot_findlinks.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=findlinks"}},1859:{userAgent:"Mozilla/5.0 (compatible; JadynAveBot; +http://www.jadynave.com/robot)",metadata:{uaFamily:"JadynAveBot",uaName:"JadynAveBot",uaUrl:"http://www.jadynave.com/robot",uaCompany:"Yesup Ecommerce Solutions Inc.",uaCompanyUrl:"http://www.yesup.net/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=JadynAveBot"}},1866:{userAgent:"smart.apnoti.com Robot/v1.34 (http://smart.apnoti.com/en/aboutApnotiWebCrawler.html)",metadata:{uaFamily:"smart.apnoti.com Robot",uaName:"smart.apnoti.com Robot/v1.34",uaUrl:"http://smart.apnoti.com/en/aboutApnotiWebCrawler.html",uaCompany:"apnoti.com GmbH",uaCompanyUrl:"http://www.apnoti.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=smart.apnoti.com Robot"}},1867:{userAgent:"MnoGoSearch/3.3.9",metadata:{uaFamily:"MnoGoSearch",uaName:"MnoGoSearch/3.3.9",uaUrl:"http://www.mnogosearch.org/products.html",uaCompany:"Lavtech.Com",uaCompanyUrl:"http://www.lavtech.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=MnoGoSearch"}},1869:{userAgent:"Yandex/1.01.001 (compatible; Win16; H)",metadata:{uaFam
uaUrl : "http://yacy.net/bot.html" , uaCompany : "Michael Christen" , uaCompanyUrl : "" , uaIcon : "bot_yacybot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=yacybot" }}, 3132 : { userAgent : "SeznamBot/2.0-Test (+http://fulltext.sblog.cz/robot/)" , metadata : { uaFamily : "SeznamBot" , uaName : "SeznamBot/2.0-test" , uaUrl : "http://napoveda.seznam.cz/en/indexing-the-web.html" , uaCompany : "Seznam.cz, a.s." , uaCompanyUrl : "http://www.seznam.cz/" , uaIcon : "seznam.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=SeznamBot" }}, 3142 : { userAgent : "SEOENGBot/1.2 (+http://learn.seoeng.com/seoengbot.htm)" , metadata : { uaFamily : "SEOENGBot" , uaName : "SEOENGBot/1.2 old" , uaUrl : "http://www.seoengine.com/seoengbot.htm" , uaCompany : "SEO Engine" , uaCompanyUrl : "http://www.seoengine.com/" , uaIcon : "bot_SEOENGBot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=SEOENGBot" }}, 3203 : { userAgent : "Mozilla/5.0 (compatible; ScoutJet; http://www.scoutjet.com/)" , metadata : { uaFamily : "ScoutJet" , uaName : "ScoutJet" , uaUrl : "http://www.scoutjet.com/" , uaCompany : "blekko, inc." , uaCompanyUrl : "http://blekko.com/" , uaIcon : "bot_ScoutJet.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=ScoutJet" }}, 3221 : { userAgent : "yacybot (i386 Linux 2.6.31-18-generic; java 1.6.0_0; Europe/en) http://yacy.net/bot.html" , metadata : { uaFamily : "yacybot" , uaName : "yacybot" , uaUrl : "http://yacy.net/bot.html" , uaCompany : "Michael Christen" , uaCompanyUrl : "" , uaIcon : "bot_yacybot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=yacybot" }}, 3235 : { userAgent : "Mozilla/4.0 (compatible; HostTracker.com/1.0;+http://host-tracker.com/)" , metadata : { uaFamily : "HostTracker.com" , uaName : "HostTracker.com/1.0" , uaUrl : "http://host-tracker.com/" , uaCompany : "host-tracker.com " , uaCompanyUrl : "" , uaIcon : "bot_HostTracker.com.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=HostTracker.com" }}, 3236 : { userAgent : "Mozilla/5.0 (compatible; AportWorm/3.2; +http://www.aport.ru/help)" , metadata : { uaFamily : "AportWorm" , uaName : "AportWorm/3.2" , uaUrl : "http://www.aport.ru/help/" , uaCompany : "Golden Telecom" , uaCompanyUrl : "http://goldentelecom.ru/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=AportWorm" }}, 3238 : { userAgent : "yacybot (i386 Linux 2.6.30-2-686; java 1.6.0_0; SystemV/en) http://yacy.net/bot.html" , metadata : { uaFamily : "yacybot" , uaName : "yacybot" , uaUrl : "http://yacy.net/bot.html" , uaCompany : "Michael Christen" , uaCompanyUrl : "" , uaIcon : "bot_yacybot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=yacybot" }}, 3292 : { userAgent : "Karneval-Bot (Version: 1.06, powered by www.karnevalsuchmaschine.de +http://www.karnevalsuchmaschine.de/bot.html)" , metadata : { uaFamily : "Karneval-Bot" , uaName : "Karneval-Bot/1.06" , uaUrl : "http://www.karnevalsuchmaschine.de/zeige/bot.html" , uaCompany : "F\xf6deration Europ\xe4ischer Narren" , uaCompanyUrl : "http://www.fen-sued.de/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Karneval-Bot" }}, 3333 : { userAgent : "Mozilla/5.0 (compatible; dotSemantic/1.0; +http://www.dotsemantic.org)" , metadata : { uaFamily : "dotSemantic" , uaName : "dotSemantic/1.0" , uaUrl : "http://www.dotsemantic.org" , uaCompany : "dotSemantic Projekt" , uaCompanyUrl : "" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=dotSemantic" }}, 3379 : { userAgent : "Mozilla/5.0 (compatible; spbot/1.0; +http://www.seoprofiler.com/bot/ )" , metadata : { uaFamily : "spbot" , uaName : "spbot/1.0" , uaUrl : "http://www.seoprofiler.com/bot/" , uaCompany : "Axandra GmbH" , uaCompanyUrl : "http://www.axandra.com/" , uaIcon : "bot_spbot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=spbot" }}, 3398 : { userAgent : "L.webis/0.44 (http://webalgo.iit.cnr.it/index.php?pg=lwebis)" , metadata : { uaFamily : "L.webis" , uaName : "L.webis/0.44" , uaUrl : "http://webalgo.iit.cnr.it/index.php?pg=lwebis" , uaCompany : "Institute of Informatics and Telematics (IIT)" , uaCompanyUrl : "http://www.iit.cnr.it/" , uaIcon : "bot_L.webis.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=L.webis" }}, 3409 : { userAgent : "Cityreview Robot (+http://www.cityreview.org/crawler/)" , metadata : { uaFamily : "cityreview" , uaName : "cityreview" , uaUrl : "http://www.cityreview.org/crawler/" , uaCompany : "SISTRIX GmbH" , uaCompanyUrl : "http://www.sistrix.com/" , uaIcon : "bot_cityreview.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=cityreview" }}, 3415 : { userAgent : "Ruky-Roboter (Version: 1.06, powered by www.ruky.de +http://w
uaInfoUrl:" / list - of - ua / bot - detail ? bot = findlinks "}},5278:{userAgent:" yacybot ( amd64 Windows 7 6.1 ; java 1.6 . 0_18 ; Europe / de ) http : //yacy.net/bot.html",metadata:{uaFamily:"yacybot",uaName:"yacybot",uaUrl:"http://yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=yacybot"}},5280:{userAgent:"Mozilla/5.0 (compatible; MetamojiCrawler/1.0; +http://www.metamoji.com/jp/crawler.html",metadata:{uaFamily:"MetamojiCrawler",uaName:"MetamojiCrawler/1.0",uaUrl:"http://www.metamoji.com/jp/crawler.html",uaCompany:"MetaMoJi Corporation",uaCompanyUrl:"http://www.metamoji.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=MetamojiCrawler"}},5281:{userAgent:"yacybot (amd64 Windows 7 6.1; java 1.6.0_21; Europe/fr) http://yacy.net/bot.html",metadata:{uaFamily:"yacybot",uaName:"yacybot",uaUrl:"http://yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=yacybot"}},5292:{userAgent:"findlinks/1.1.6-beta4 (+http://wortschatz.uni-leipzig.de/findlinks/)",metadata:{uaFamily:"findlinks",uaName:"findlinks/1.1.6-beta4",uaUrl:"http://wortschatz.uni-leipzig.de/findlinks/",uaCompany:"Universit\xe4t Leipzig",uaCompanyUrl:"http://www.uni-leipzig.de/",uaIcon:"bot_findlinks.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=findlinks"}},5302:{userAgent:"HuaweiSymantecSpider/1.0+DSE-support@huaweisymantec.com+(compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR ; http://www.huaweisymantec.com/en/IRL/spider)",metadata:{uaFamily:"HuaweiSymantecSpider",uaName:"HuaweiSymantecSpider/1.0",uaUrl:"http://www.huaweisymantec.com/en/IRL/spider/",uaCompany:"Huawei Symantec Technologies Co.,Ltd.",uaCompanyUrl:"http://www.huaweisymantec.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=HuaweiSymantecSpider"}},5311:{userAgent:"Mozilla/5.0 (compatible; 008/0.83; http://www.80legs.com/webcrawler.html;) Gecko/2008032620",metadata:{uaFamily:"80legs",uaName:"80legs/0.83 b",uaUrl:"http://www.80legs.com/webcrawler.html",uaCompany:"Computational Crawling, LP",uaCompanyUrl:"http://compucrawl.com/",uaIcon:"bot_80legs.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=80legs"}},5322:{userAgent:"yacybot (amd64 Linux 2.6.31-22-server; java 1.6.0_18; Asia/en) http://yacy.net/bot.html",metadata:{uaFamily:"yacybot",uaName:"yacybot",uaUrl:"http://yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=yacybot"}},5352:{userAgent:"findlinks/1.1.6-beta5 (+http://wortschatz.uni-leipzig.de/findlinks/)",metadata:{uaFamily:"findlinks",uaName:"findlinks/1.1.6-beta5",uaUrl:"http://wortschatz.uni-leipzig.de/findlinks/",uaCompany:"Universit\xe4t Leipzig",uaCompanyUrl:"http://www.uni-leipzig.de/",uaIcon:"bot_findlinks.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=findlinks"}},5357:{userAgent:"Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)",metadata:{uaFamily:"bingbot",uaName:"bingbot/2.0",uaUrl:"http://www.bing.com/webmaster/help/which-crawlers-does-bing-use-8c184ec0",uaCompany:"Microsoft Corporation",uaCompanyUrl:"http://www.microsoft.com/",uaIcon:"bot_msnbot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=bingbot"}},5360:{userAgent:"PostPost/1.0 (+http://postpo.st/crawlers)",metadata:{uaFamily:"PostPost",uaName:"PostPost/1.0",uaUrl:"http://postpost.com/crawlers",uaCompany:"Boathouse group",uaCompanyUrl:"http://www.boathouseinc.com/",uaIcon:"bot_PostPost.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=PostPost"}},5361:{userAgent:"WebWatch/Robot_txtChecker",metadata:{uaFamily:"WebWatch/Robot_txtChecker",uaName:"WebWatch/Robot_txtChecker",uaUrl:"http://www.ukoln.ac.uk/web-focus/webwatch/services/robots-txt/",uaCompany:"UKOLN",uaCompanyUrl:"http://www.ukoln.ac.uk/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=WebWatch/Robot_txtChecker"}},5362:{userAgent:"Robots_Tester_http_www.searchenginepromotionhelp.com",metadata:{uaFamily:"Robots_Tester",uaName:"Robots_Tester",uaUrl:"http://www.searchenginepromotionhelp.com/m
uaIcon : "bot_baiduspider.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Baiduspider" }}, 6404 : { userAgent : "Mozilla/5.0 (compatible; AhrefsBot/1.0; +http://ahrefs.com/robot/)" , metadata : { uaFamily : "AhrefsBot" , uaName : "AhrefsBot/1.0" , uaUrl : "http://ahrefs.com/robot/" , uaCompany : "Ahrefs.com" , uaCompanyUrl : "http://ahrefs.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=AhrefsBot" }}, 6436 : { userAgent : "Mozilla/5.0 (compatible; MojeekBot/0.2; http://www.mojeek.com/bot.html)" , metadata : { uaFamily : "MojeekBot" , uaName : "MojeekBot/0.2" , uaUrl : "http://www.mojeek.com/bot.html" , uaCompany : "Mojeek Ltd." , uaCompanyUrl : "http://www.mojeek.com/" , uaIcon : "bot_MojeekBot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=MojeekBot" }}, 6506 : { userAgent : "SEOENGWorldBot/1.0 (+http://www.seoengine.com/seoengbot.htm)" , metadata : { uaFamily : "SEOENGBot" , uaName : "SEOENGBot/1.0" , uaUrl : "http://www.seoengine.com/seoengbot.htm" , uaCompany : "SEO Engine" , uaCompanyUrl : "http://www.seoengine.com/" , uaIcon : "bot_SEOENGBot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=SEOENGBot" }}, 6514 : { userAgent : "Mozilla/5.0 (compatible; socketcrawler; http://nlp.fi.muni.cz/projects/biwec/)" , metadata : { uaFamily : "biwec" , uaName : "biwec" , uaUrl : "http://nlp.fi.muni.cz/projects/biwec/" , uaCompany : "Centre for Natural Language Processing" , uaCompanyUrl : "http://muni.cz/fi/335300?lang=en" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=biwec" }}, 6515 : { userAgent : "Wotbox/2.0 (bot@wotbox.com; http://www.wotbox.com)" , metadata : { uaFamily : "Wotbox" , uaName : "Wotbox/2.0" , uaUrl : "http://www.wotbox.com/bot/" , uaCompany : "Wotbox Team" , uaCompanyUrl : "http://www.wotbox.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Wotbox" }}, 6578 : { userAgent : "Mozilla/5.0 (compatible; Thumbshots.ru; +http://thumbshots.ru/bot) Firefox/3" , metadata : { uaFamily : "Thumbshots.ru" , uaName : "Thumbshots.ru" , uaUrl : "http://thumbshots.ru/bot" , uaCompany : "Sonorth Technologies" , uaCompanyUrl : "http://www.sonorth.com/tech/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Thumbshots.ru" }}, 6583 : { userAgent : "JikeSpider Mozilla/5.0 (compatible; JikeSpider; +http://shoulu.jike.com/spider.html)" , metadata : { uaFamily : "JikeSpider" , uaName : "JikeSpider" , uaUrl : "http://shoulu.jike.com/spider.html" , uaCompany : "jike.com" , uaCompanyUrl : "http://www.jike.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=JikeSpider" }}, 6592 : { userAgent : "Aboundex/0.2 (http://www.aboundex.com/crawler/)" , metadata : { uaFamily : "Aboundexbot" , uaName : "Aboundexbot/0.2" , uaUrl : "http://www.aboundex.com/crawler/" , uaCompany : "Aboundex.com" , uaCompanyUrl : "http://www.aboundex.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Aboundexbot" }}, 6598 : { userAgent : "Mozilla/5.0 (compatible; SEOkicks-Robot +http://www.seokicks.de/robot.html)" , metadata : { uaFamily : "SEOkicks-Robot" , uaName : "SEOkicks-Robot" , uaUrl : "http://www.seokicks.de/robot.html" , uaCompany : "Torsten R\xfcckert Internetdienstleistungen" , uaCompanyUrl : "" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=SEOkicks-Robot" }}, 6603 : { userAgent : "Y!J-BRW/1.0 crawler (http://help.yahoo.co.jp/help/jp/search/indexing/indexing-15.html)" , metadata : { uaFamily : "Yahoo! JAPAN" , uaName : "Y!J-BRW/1.0" , uaUrl : "http://help.yahoo.co.jp/help/jp/search/indexing/indexing-15.html" , uaCompany : "Yahoo! Inc" , uaCompanyUrl : "http://www.yahoo.com/" , uaIcon : "bot_yahoo!slurp.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Yahoo! JAPAN" }}, 6612 : { userAgent : "The Lemur Web Crawler/Nutch-1.3 (Lemur Web Crawler; http://boston.lti.cs.cmu.edu/crawler_12/; admin@lemurproject.org)" , metadata : { uaFamily : "LemurWebCrawler" , uaName : "LemurWebCrawler" , uaUrl : "http://boston.lti.cs.cmu.edu/crawler_12/" , uaCompany : "Language Technologies Institute" , uaCompanyUrl : "http://www.lti.cs.cmu.edu/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=LemurWebCrawler" }}, 6625 : { userAgent : "LapozzBot/1.5 (+http://robot.lapozz.hu) " , metadata : { uaFamily : "LapozzBot" , uaName : "LapozzBot/1.5" , uaUrl : "http://robot.lapozz.hu/" , uaCompany : "lapozz.hu" , uaCompanyUrl : "http://www.lapozz.hu/" , uaIcon : "bot_lapozzbot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=LapozzBot" }}, 6630 : { userAgent : "CovarioIDS/1.1 (http://www.covario.com/ids; support at covario
metadata:{uaFamily:" heritrix ",uaName:" heritrix / 3.1 . 1 ",uaUrl:" http : //www.archive.org/details/archive.org_bot",uaCompany:"Internet Archive",uaCompanyUrl:"",uaIcon:"bot_heritrix.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=heritrix"}},7230:{userAgent:"AddThis.com robot tech.support@clearspring.com",metadata:{uaFamily:"AddThis.com",uaName:"AddThis.com robot",uaUrl:"",uaCompany:"Clearspring Technologies, Inc.",uaCompanyUrl:"http://www.clearspring.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=AddThis.com"}},7238:{userAgent:"Mozilla/5.0 (compatible; Netseer crawler/2.0; +http://www.netseer.com/crawler.html; crawler@netseer.com)",metadata:{uaFamily:"Netseer",uaName:"Netseer crawler/2.0",uaUrl:"http://www.netseer.com/crawler.html",uaCompany:"NetSeer, Inc.",uaCompanyUrl:"http://www.netseer.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Netseer"}},7243:{userAgent:"Mozilla/5.0 (compatible; EventGuruBot/1.0; +http://www.eventguru.com/spider.html)",metadata:{uaFamily:"EventGuruBot",uaName:"EventGuruBot/1.0",uaUrl:"http://www.eventguru.com/spider.html",uaCompany:"Matt Wells",uaCompanyUrl:"",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=EventGuruBot"}},7252:{userAgent:"yacybot (freeworld/global; amd64 Linux 2.6.26-2-amd64; java 1.6.0_18; Europe/de) http://yacy.net/bot.html",metadata:{uaFamily:"yacybot",uaName:"yacybot",uaUrl:"http://yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=yacybot"}},7253:{userAgent:"yacybot (freeworld/global; amd64 Windows Server 2008 6.0; java 1.7.0_03; Europe/en) http://yacy.net/bot.html",metadata:{uaFamily:"yacybot",uaName:"yacybot",uaUrl:"http://yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=yacybot"}},7258:{userAgent:"SAMSUNG-SGH-E250/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)",metadata:{uaFamily:"Googlebot",uaName:"Googlebot-Mobile/2.1",uaUrl:"http://googlewebmastercentral.blogspot.com/2011/12/introducing-smartphone-googlebot-mobile.html",uaCompany:"Google Inc.",uaCompanyUrl:"http://www.google.com/",uaIcon:"bot_googlebot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Googlebot"}},7259:{userAgent:"DoCoMo/2.0 N905i(c100;TB;W24H16) (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)",metadata:{uaFamily:"Googlebot",uaName:"Googlebot-Mobile/2.1",uaUrl:"http://googlewebmastercentral.blogspot.com/2011/12/introducing-smartphone-googlebot-mobile.html",uaCompany:"Google Inc.",uaCompanyUrl:"http://www.google.com/",uaIcon:"bot_googlebot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Googlebot"}},7260:{userAgent:"Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_1 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8B117 Safari/6531.22.7 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)",metadata:{uaFamily:"Googlebot",uaName:"Googlebot-Mobile/2.1",uaUrl:"http://googlewebmastercentral.blogspot.com/2011/12/introducing-smartphone-googlebot-mobile.html",uaCompany:"Google Inc.",uaCompanyUrl:"http://www.google.com/",uaIcon:"bot_googlebot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Googlebot"}},7263:{userAgent:"yacybot (freeworld/global; amd64 Windows 7 6.1; java 1.6.0_24; Europe/de) http://yacy.net/bot.html",metadata:{uaFamily:"yacybot",uaName:"yacybot",uaUrl:"http://yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=yacybot"}},7265:{userAgent:"Acoon v4.10.5 (www.acoon.de)",metadata:{uaFamily:"AcoonBot",uaName:"Acoon v4.10.5",uaUrl:"http://www.acoon.de/robot.asp",uaCompany:"Acoon GmbH",uaCompanyUrl:"http://www.acoon.de/",uaIcon:"bot_Acoon.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=AcoonBot"}},7267:{userAgent:"SemrushBot/0.92",metadata:{uaFamily:"SemrushBot",uaName:"SemrushBot/0.92",uaUrl:"http://www.semrush.com/bot.html",uaCompany:"SEOQuake Team",uaCompanyUrl:"http://www.seoquaketeam.com/",uaIcon:"bot.png",
}}, 7671 : { userAgent : "Sogou Web Spider" , metadata : { uaFamily : "sogou spider" , uaName : "Sogou web spider" , uaUrl : "http://www.sogou.com/docs/help/webmasters.htm#07" , uaCompany : "SOGOU.COM" , uaCompanyUrl : "http://www.sogou.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=sogou spider" }}, 7675 : { userAgent : "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.0; trendictionbot0.5.0; trendiction search; http://www.trendiction.de/bot; please let us know of any problems; web at trendiction.com) Gecko/20071127 Firefox/3.0.0.11" , metadata : { uaFamily : "trendictionbot " , uaName : "trendictionbot0.5.0" , uaUrl : "http://www.trendiction.de/bot" , uaCompany : "Trendiction S.A." , uaCompanyUrl : "http://www.trendiction.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=trendictionbot " }}, 7676 : { userAgent : "ichiro/3.0 (http://search.goo.ne.jp/option/use/sub4/sub4-1/)" , metadata : { uaFamily : "ichiro" , uaName : "ichiro/3.0" , uaUrl : "http://search.goo.ne.jp/option/use/sub4/sub4-1/" , uaCompany : "NTT-Resonant Inc." , uaCompanyUrl : "http://www.nttr.co.jp/" , uaIcon : "bot_ichiro.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=ichiro" }}, 7696 : { userAgent : "bot-pge.chlooe.com/1.0.0 (+http://www.chlooe.com/)" , metadata : { uaFamily : "bot-pge.chlooe.com" , uaName : "bot-pge.chlooe.com/1.0.0" , uaUrl : "http://bot-pge.chlooe.com/" , uaCompany : "Chlooe.com" , uaCompanyUrl : "http://www.chlooe.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=bot-pge.chlooe.com" }}, 7697 : { userAgent : "Mozilla/5.0(compatible; Sosospider/2.0; +http://help.soso.com/webspider.htm)" , metadata : { uaFamily : "Sosospider" , uaName : "Sosospider/2.0" , uaUrl : "http://help.soso.com/webspider.htm" , uaCompany : "Tencent, Inc." , uaCompanyUrl : "http://www.tencent.com/" , uaIcon : "bot_soso.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Sosospider" }}, 7717 : { userAgent : "Mozilla/5.0 (compatible; GrapeshotCrawler/2.0; +http://www.grapeshot.co.uk/crawler.php)" , metadata : { uaFamily : "GrapeshotCrawler" , uaName : "GrapeshotCrawler/2.0" , uaUrl : "http://www.grapeshot.co.uk/crawler.php" , uaCompany : "Grapeshot Limited" , uaCompanyUrl : "http://www.grapeshot.co.uk/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=GrapeshotCrawler" }}, 7718 : { userAgent : "Mozilla/5.0 (compatible; grapeFX/0.9; crawler@grapeshot.co.uk" , metadata : { uaFamily : "GrapeshotCrawler" , uaName : "grapeFX/0.9" , uaUrl : "http://www.grapeshot.co.uk/crawler.php" , uaCompany : "Grapeshot Limited" , uaCompanyUrl : "http://www.grapeshot.co.uk/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=GrapeshotCrawler" }}, 7726 : { userAgent : "Mozilla/5.0 (compatible; Infohelfer/1.3.0; +http://www.infohelfer.de/crawler.php)" , metadata : { uaFamily : "Infohelfer" , uaName : "Infohelfer/1.3.0" , uaUrl : "http://www.infohelfer.de/crawler.php" , uaCompany : "ITam GmbH" , uaCompanyUrl : "http://www.itam-gmbh.com/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Infohelfer" }}, 7727 : { userAgent : "coccoc/1.0 (http://help.coccoc.vn/)" , metadata : { uaFamily : "coccoc" , uaName : "coccoc/1.0" , uaUrl : "http://help.coccoc.com/" , uaCompany : "Coc Coc" , uaCompanyUrl : "http://coccoc.vn/" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=coccoc" }}, 7729 : { userAgent : "yacybot (freeworld/global; amd64 Windows 7 6.1; java 1.6.0_25; Europe/de) http://yacy.net/bot.html" , metadata : { uaFamily : "yacybot" , uaName : "yacybot" , uaUrl : "http://yacy.net/bot.html" , uaCompany : "Michael Christen" , uaCompanyUrl : "" , uaIcon : "bot_yacybot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=yacybot" }}, 7732 : { userAgent : "Bad-Neighborhood Link Analyzer (http://www.bad-neighborhood.com/)" , metadata : { uaFamily : "Bad-Neighborhood" , uaName : "Bad-Neighborhood Link Analyzer" , uaUrl : "http://www.bad-neighborhood.com/text-link-tool.htm" , uaCompany : "Michael VanDeMar" , uaCompanyUrl : "" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Bad-Neighborhood" }}, 7733 : { userAgent : "Bad Neighborhood Header Detector (http://www.bad-neighborhood.com/header_detector.php)" , metadata : { uaFamily : "Bad-Neighborhood" , uaName : "Bad Neighborhood Header Detector" , uaUrl : "http://www.bad-neighborhood.com/header_detector.php" , uaCompany : "Michael VanDeMar" , uaCompanyUrl : "" , uaIcon : "bot.png" , uaInfoUrl : "/list-of-ua/bot-detail?bot=Bad-Neighborhood" }}, 7747 : { userAgent : "Whoismindbot/1.0 (+htt
uaUrl:" http : //yacy.net/bot.html",uaCompany:"Michael Christen",uaCompanyUrl:"",uaIcon:"bot_yacybot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=yacybot"}},9717:{userAgent:"Sogou web spider/4.0l-2m!",metadata:{uaFamily:"sogou spider",uaName:"Sogou web spider/4.0l-2m!",uaUrl:"http://www.sogou.com/docs/help/webmasters.htm#07",uaCompany:"SOGOU.COM",uaCompanyUrl:"http://www.sogou.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=sogou spider"}},9737:{userAgent:"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.4 (KHTML, like Gecko; Google Web Preview) Chrome/22.0.1229 Safari/537.4",metadata:{uaFamily:"Googlebot",uaName:"Google Web Preview",uaUrl:"http://support.google.com/webmasters/bin/answer.py?hl=en&answer=1062498",uaCompany:"Google Inc.",uaCompanyUrl:"http://www.google.com/",uaIcon:"bot_googlebot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Googlebot"}},9781:{userAgent:"Mozilla/5.0 (compatible; uMBot-FC/1.0; mailto: crawling@ubermetrics-technologies.com)",metadata:{uaFamily:"uMBot",uaName:"uMBot-FC/1.0",uaUrl:"",uaCompany:"uberMetrics Technologies GmbH",uaCompanyUrl:"http://www.ubermetrics-technologies.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=uMBot"}},9784:{userAgent:"Mozilla/5.0 (compatible; coccoc/1.0; +http://help.coccoc.com/)",metadata:{uaFamily:"coccoc",uaName:"coccoc/1.0",uaUrl:"http://help.coccoc.com/",uaCompany:"Coc Coc",uaCompanyUrl:"http://coccoc.vn/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=coccoc"}},9832:{userAgent:"Mozilla/5.0 (compatible; Mozilla; +http://wiki.github.com/bixo/bixo/bixocrawler; bixo-dev@yahoogroups.com)",metadata:{uaFamily:"bixocrawler",uaName:"bixocrawler",uaUrl:"http://wiki.github.com/bixo/bixo/bixocrawler",uaCompany:"Bixo Labs",uaCompanyUrl:"http://openbixo.org/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=bixocrawler"}},9839:{userAgent:"Mozilla/5.0 (compatible; aiHitBot/2.7; +http://www.aihit.com/)",metadata:{uaFamily:"aiHitBot",uaName:"aiHitBot/2.7",uaUrl:"",uaCompany:"aiHit Ltd",uaCompanyUrl:"http://aihit.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=aiHitBot"}},9852:{userAgent:"Mozilla/5.0 (compatible; GigaBot/1.0; +http://www.gigablast.com/ )",metadata:{uaFamily:"Gigabot",uaName:"Gigabot/1.0",uaUrl:"http://www.gigablast.com/spider.html",uaCompany:"Gigablast Inc",uaCompanyUrl:"http://www.gigablast.com/",uaIcon:"bot_gigabot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Gigabot"}},9868:{userAgent:"CirrusExplorer/1.1 (http://www.cireu.com/explorer.php)",metadata:{uaFamily:"CirrusExplorer",uaName:"CirrusExplorer/1.1",uaUrl:"http://www.cireu.com/explorer.php",uaCompany:"cireu.com",uaCompanyUrl:"http://www.cireu.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=CirrusExplorer"}},9874:{userAgent:"Mozilla/5.0 (compatible; uMBot-LN/1.0; mailto: crawling@ubermetrics-technologies.com)",metadata:{uaFamily:"uMBot",uaName:"uMBot-LN/1.0",uaUrl:"",uaCompany:"uberMetrics Technologies GmbH",uaCompanyUrl:"http://www.ubermetrics-technologies.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=uMBot"}},9875:{userAgent:"Crowsnest/0.5 (+http://www.crowsnest.tv/)",metadata:{uaFamily:"Crowsnest",uaName:"Crowsnest/0.5",uaUrl:"",uaCompany:"Gocro, Inc.",uaCompanyUrl:"http://www.gocro.jp/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=Crowsnest"}},9877:{userAgent:"QuerySeekerSpider ( http://queryseeker.com/bot.html )",metadata:{uaFamily:"QuerySeekerSpider",uaName:"QuerySeekerSpider",uaUrl:"http://queryseeker.com/bot.html",uaCompany:"QueryEye Inc.",uaCompanyUrl:"http://queryeye.com/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=QuerySeekerSpider"}},9905:{userAgent:"ownCloud Server Crawler",metadata:{uaFamily:"ownCloud Server Crawler",uaName:"ownCloud Server Crawler",uaUrl:"",uaCompany:"ownCloud comunity",uaCompanyUrl:"http://owncloud.org/",uaIcon:"bot.png",uaInfoUrl:"/list-of-ua/bot-detail?bot=ownCloud Server Crawler"}},9918:{userAgent:"Mozilla/5.0 (compatible; rogerBot/1.0; UrlCrawler; http://www.seomoz.org/dp/rogerbot)",metadata:{uaFamily:"rogerbot",uaName:"rogerbot/1.0",uaUrl:"http://moz.com/help/pro/what-is-roge
}, os : { 1 : { osFamily : "Windows" , osName : "Windows XP" , osUrl : "http://en.wikipedia.org/wiki/Windows_XP" , osCompany : "Microsoft Corporation." , osCompanyUrl : "http://www.microsoft.com/" , osIcon : "windowsxp.png" }, 2 : { osFamily : "Windows" , osName : "Windows 2000" , osUrl : "http://en.wikipedia.org/wiki/Windows_2000" , osCompany : "Microsoft Corporation." , osCompanyUrl : "http://www.microsoft.com/" , osIcon : "windows.png" }, 3 : { osFamily : "Windows" , osName : "Windows 2003 Server" , osUrl : "http://en.wikipedia.org/wiki/Windows_2003" , osCompany : "Microsoft Corporation." , osCompanyUrl : "http://www.microsoft.com/" , osIcon : "windowsxp.png" }, 4 : { osFamily : "Windows" , osName : "Windows 95" , osUrl : "http://en.wikipedia.org/wiki/Windows_95" , osCompany : "Microsoft Corporation." , osCompanyUrl : "http://www.microsoft.com/" , osIcon : "windows.png" }, 5 : { osFamily : "Windows" , osName : "Windows 98" , osUrl : "http://en.wikipedia.org/wiki/Windows_98" , osCompany : "Microsoft Corporation." , osCompanyUrl : "http://www.microsoft.com/" , osIcon : "windows.png" }, 6 : { osFamily : "Windows" , osName : "Windows 3.x" , osUrl : "http://en.wikipedia.org/wiki/Windows_3.x" , osCompany : "Microsoft Corporation." , osCompanyUrl : "http://www.microsoft.com/" , osIcon : "windows.png" }, 7 : { osFamily : "Windows" , osName : "Windows CE" , osUrl : "http://en.wikipedia.org/wiki/Windows_CE" , osCompany : "Microsoft Corporation." , osCompanyUrl : "http://www.microsoft.com/" , osIcon : "windowsce.png" }, 8 : { osFamily : "Windows" , osName : "Windows ME" , osUrl : "http://en.wikipedia.org/wiki/Windows_me" , osCompany : "Microsoft Corporation." , osCompanyUrl : "http://www.microsoft.com/" , osIcon : "windows.png" }, 9 : { osFamily : "Windows" , osName : "Windows Vista" , osUrl : "http://en.wikipedia.org/wiki/Windows_Vista" , osCompany : "Microsoft Corporation." , osCompanyUrl : "http://www.microsoft.com/" , osIcon : "windowsvista.png" }, 10 : { osFamily : "JVM" , osName : "JVM (Platform Micro Edition)" , osUrl : "http://en.wikipedia.org/wiki/Java_Platform,_Micro_Edition" , osCompany : "Sun Microsystems, Inc." , osCompanyUrl : "http://en.wikipedia.org/wiki/Sun_Microsystems" , osIcon : "java.png" }, 11 : { osFamily : "Linux" , osName : "Linux (CentOS)" , osUrl : "http://www.centos.org/" , osCompany : "CentOS Project" , osCompanyUrl : "http://www.centos.org/" , osIcon : "linux_centos.png" }, 12 : { osFamily : "Linux" , osName : "Linux (Ubuntu)" , osUrl : "http://www.ubuntu.com/" , osCompany : "Canonical Ltd." , osCompanyUrl : "http://www.canonical.com/" , osIcon : "linux_ubuntu.png" }, 13 : { osFamily : "Linux" , osName : "Linux (Debian)" , osUrl : "http://www.debian.org/" , osCompany : "Software in the Public Interest, Inc." , osCompanyUrl : "http://www.spi-inc.org/" , osIcon : "linux_debian.png" }, 14 : { osFamily : "Linux" , osName : "Linux (Fedora)" , osUrl : "http://fedoraproject.org/" , osCompany : "Red Hat, Inc." , osCompanyUrl : "http://www.redhat.com/" , osIcon : "linux_fedora.png" }, 15 : { osFamily : "Linux" , osName : "Linux (Gentoo)" , osUrl : "http://www.gentoo.org/" , osCompany : "Gentoo Foundation, Inc." , osCompanyUrl : "http://www.gentoo.org/foundation/en/" , osIcon : "linux_gentoo.png" }, 16 : { osFamily : "Linux" , osName : "Linux (Linspire)" , osUrl : "http://en.wikipedia.org/wiki/Linspire" , osCompany : "Linspire, Inc." , osCompanyUrl : "http://www.linspire.com/" , osIcon : "linux_linspire.png" }, 17 : { osFamily : "Linux" , osName : "Linux (Mandriva)" , osUrl : "http://www.mandriva.com/" , osCompany : "" , osCompanyUrl : "" , osIcon : "linux_mandriva.png" }, 18 : { osFamily : "Linux" , osName : "Linux (RedHat)" , osUrl : "http://en.wikipedia.org/wiki/Red_Hat_Enterprise_Linux" , osCompany : "Red Hat, Inc." , osCompanyUrl : "http://www.redhat.com/" , osIcon : "linux_redhat.png" }, 19 : { osFamily : "Linux" , osName : "Linux" , osUrl : "http://en.wikipedia.org/wiki/Linux" , osCompany : "" , osCompanyUrl : "" , osIcon : "linux.png" }, 20 : { osFamily : "Linux" , osName : "Linux (Slackware)" , osUrl : "http://www.slackware.com/" , osCompany : "Slackware Linux, Inc." , osCompanyUrl : "" , osIcon : "linux_slackware.png" }, 21 : { osFamily : "Linux" , osName : "Linux (Kanotix)" , osUrl : "http://kanotix.com/" , osCompany : "" , osCompanyUrl : "" , osIcon : "linux_kanotix.png" }, 22 : { osFamily : "Linux" , osName : "Linux (SUSE)" , osUrl : "http://www.suse.com/" , osCompany : "Novell, Inc." , osCompanyUrl : "http://www.novell.com/home/" , osIcon : "linux_suse.png" }, 23 : { osFamily : "Linux" , osName : "Linux (Knoppix)" , osUrl : "http://knoppix.net/" , osCompany : "Klaus Knopper" , osCompanyUrl : "http://w
uaCompany:" Fenrir Inc . ",uaCompanyUrl:" http : //www.fenrir-inc.com/",uaIcon:"sleipnir.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Sleipnir"}},61:{typeId:"0",metadata:{uaFamily:"Swiftfox",uaUrl:"http://www.getswiftfox.com/",uaCompany:"Jason Halme",uaCompanyUrl:"",uaIcon:"swiftfox.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Swiftfox"}},62:{typeId:"1",metadata:{uaFamily:"Teleport Pro",uaUrl:"http://www.tenmax.com/teleport/pro/home.htm",uaCompany:"Tennyson Maxwell Information Systems, Inc.",uaCompanyUrl:"http://www.tenmax.com/",uaIcon:"teleportpro.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Teleport Pro"}},71:{typeId:"1",metadata:{uaFamily:"WebCopier",uaUrl:"http://www.maximumsoft.com/products/wc_index.html",uaCompany:"MaximumSoft Corp.",uaCompanyUrl:"http://www.maximumsoft.com/",uaIcon:"webcopier.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=WebCopier"}},74:{typeId:"0",metadata:{uaFamily:"Phaseout",uaUrl:"http://www.phaseout.net/",uaCompany:"PhaseOut.net",uaCompanyUrl:"http://www.phaseout.net/",uaIcon:"phaseout.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Phaseout"}},79:{typeId:"4",metadata:{uaFamily:"Thunderbird",uaUrl:"http://www.mozilla.com/en-US/thunderbird/",uaCompany:"Mozilla Foundation",uaCompanyUrl:"http://www.mozilla.org/",uaIcon:"thunderbird.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Thunderbird"}},81:{typeId:"3",metadata:{uaFamily:"Doris",uaUrl:"http://www.anygraaf.fi/browser/indexe.htm",uaCompany:"Anygraaf",uaCompanyUrl:"http://www.anygraaf.fi/",uaIcon:"doris.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Doris"}},82:{typeId:"0",metadata:{uaFamily:"Enigma browser",uaUrl:"http://www.suttondesigns.com/",uaCompany:"Advanced Search Technologies, Inc.",uaCompanyUrl:"http://www.advancedsearchcorp.com/",uaIcon:"enigmabrowser.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Enigma browser"}},85:{typeId:"5",metadata:{uaFamily:"Jakarta Commons-HttpClient",uaUrl:"http://jakarta.apache.org/commons/httpclient/",uaCompany:"Apache Software Foundation",uaCompanyUrl:"http://www.apache.org/",uaIcon:"jakarta.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Jakarta Commons-HttpClient"}},86:{typeId:"5",metadata:{uaFamily:"cURL",uaUrl:"http://curl.haxx.se/",uaCompany:"team Haxx",uaCompanyUrl:"http://www.haxx.se/",uaIcon:"curl.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=cURL"}},87:{typeId:"0",metadata:{uaFamily:"Amaya",uaUrl:"http://www.w3.org/Amaya/",uaCompany:"World Wide Web Consortium",uaCompanyUrl:"http://www.w3.org/",uaIcon:"amaya.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Amaya"}},88:{typeId:"1",metadata:{uaFamily:"GetRight",uaUrl:"http://www.getright.com/",uaCompany:"Headlight Software, Inc.",uaCompanyUrl:"http://www.headlightinc.com/",uaIcon:"getright.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=GetRight"}},89:{typeId:"0",metadata:{uaFamily:"Off By One",uaUrl:"http://offbyone.com/",uaCompany:"Home Page Software Inc.",uaCompanyUrl:"http://homepagesw.com/",uaIcon:"offbyone.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Off By One"}},90:{typeId:"5",metadata:{uaFamily:"Python-urllib",uaUrl:"http://www.python.org/doc/current/lib/module-urllib.html",uaCompany:"Python Software Foundation",uaCompanyUrl:"http://www.python.org/psf/",uaIcon:"pythonurllib.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Python-urllib"}},91:{typeId:"0",metadata:{uaFamily:"w3m",uaUrl:"http://w3m.sourceforge.net/",uaCompany:"Sakamoto Hironori",uaCompanyUrl:"http://www2u.biglobe.ne.jp/%7Ehsaka/",uaIcon:"w3m.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=w3m"}},93:{typeId:"1",metadata:{uaFamily:"WebZIP",uaUrl:"http://www.spidersoft.com/webzip/",uaCompany:"Spidersoft",uaCompanyUrl:"http://www.spidersoft.com/",uaIcon:"webzip.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=WebZIP"}},94:{typeId:"0",metadata:{uaFamily:"ICE browser",uaUrl:"http://www.icesoft.com/products/icebrowser.html",uaCompany:"ICEsoft Technologies Inc.",uaCompanyUrl:"http://www.icesoft.com/",uaIcon:"icebrowser.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=ICE browser"}},96:{typeId:"0",metadata:{uaFamily:"IceApe
uaIcon : "newsbreak.png" , uaInfoUrl : "/list-of-ua/browser-detail?browser=NewsBreak" }}, 238 : { typeId : "20" , metadata : { uaFamily : "LinkbackPlugin for Laconica" , uaUrl : "http://laconi.ca/" , uaCompany : "Laconica Developer Community" , uaCompanyUrl : "http://laconi.ca/trac/wiki/DeveloperCommunity" , uaIcon : "laconica.png" , uaInfoUrl : "/list-of-ua/browser-detail?browser=LinkbackPlugin for Laconica" }}, 239 : { typeId : "20" , metadata : { uaFamily : "Microsoft WebDAV client" , uaUrl : "" , uaCompany : "Microsoft Corporation." , uaCompanyUrl : "http://www.microsoft.com/" , uaIcon : "webdav.png" , uaInfoUrl : "/list-of-ua/browser-detail?browser=Microsoft WebDAV client" }}, 240 : { typeId : "20" , metadata : { uaFamily : "GnomeVFS" , uaUrl : "http://developer.gnome.org/doc/API/2.0/gnome-vfs-2" , uaCompany : "The GNOME Project" , uaCompanyUrl : "http://www.gnome.org/" , uaIcon : "webdav.png" , uaInfoUrl : "/list-of-ua/browser-detail?browser=GnomeVFS" }}, 241 : { typeId : "0" , metadata : { uaFamily : "Uzbl" , uaUrl : "http://www.uzbl.org/" , uaCompany : "" , uaCompanyUrl : "" , uaIcon : "uzbl.png" , uaInfoUrl : "/list-of-ua/browser-detail?browser=Uzbl" }}, 242 : { typeId : "10" , metadata : { uaFamily : "Cynthia" , uaUrl : "http://www.contentquality.com/" , uaCompany : "HiSoftware Inc." , uaCompanyUrl : "http://www.hisoftware.com/" , uaIcon : "cynthia.png" , uaInfoUrl : "/list-of-ua/browser-detail?browser=Cynthia" }}, 243 : { typeId : "15" , metadata : { uaFamily : "Sage" , uaUrl : "http://sage.mozdev.org" , uaCompany : "Peter Andrews" , uaCompanyUrl : "http://petea.org/" , uaIcon : "sage.png" , uaInfoUrl : "/list-of-ua/browser-detail?browser=Sage" }}, 244 : { typeId : "18" , metadata : { uaFamily : "Banshee" , uaUrl : "http://banshee-project.org/" , uaCompany : "Novell, Inc." , uaCompanyUrl : "http://www.novell.com/" , uaIcon : "banshee.png" , uaInfoUrl : "/list-of-ua/browser-detail?browser=Banshee" }}, 245 : { typeId : "0" , metadata : { uaFamily : "Wyzo" , uaUrl : "http://www.wyzo.com/" , uaCompany : "Radical Software Ltd." , uaCompanyUrl : "http://www.radicalsoft.com/" , uaIcon : "wyzo.png" , uaInfoUrl : "/list-of-ua/browser-detail?browser=Wyzo" }}, 246 : { typeId : "15" , metadata : { uaFamily : "RSSOwl" , uaUrl : "http://www.rssowl.org/" , uaCompany : "Benjamin Pasero" , uaCompanyUrl : "" , uaIcon : "rssowl.png" , uaInfoUrl : "/list-of-ua/browser-detail?browser=RSSOwl" }}, 247 : { typeId : "0" , metadata : { uaFamily : "ABrowse" , uaUrl : "http://en.wikipedia.org/wiki/ABrowse" , uaCompany : "Kurt Skauen" , uaCompanyUrl : "http://www.syllable.org/" , uaIcon : "abrowse.png" , uaInfoUrl : "/list-of-ua/browser-detail?browser=ABrowse" }}, 248 : { typeId : "20" , metadata : { uaFamily : "Funambol Outlook Sync Client" , uaUrl : "https://www.forge.funambol.org/download/" , uaCompany : "Funambol, Inc." , uaCompanyUrl : "http://funambol.com/" , uaIcon : "funambol-outlook.png" , uaInfoUrl : "/list-of-ua/browser-detail?browser=Funambol Outlook Sync Client" }}, 249 : { typeId : "20" , metadata : { uaFamily : "Funambol Mozilla Sync Client" , uaUrl : "https://mozilla-plugin.forge.funambol.org/ " , uaCompany : "Carlo Codega" , uaCompanyUrl : "http://sazilla.blogspot.com" , uaIcon : "funambol-mozilla.png" , uaInfoUrl : "/list-of-ua/browser-detail?browser=Funambol Mozilla Sync Client" }}, 250 : { typeId : "15" , metadata : { uaFamily : "RSS Menu" , uaUrl : "http://www.edot-studios.com/webgroups2/index.php?menu_item=212" , uaCompany : "e dot studios" , uaCompanyUrl : "http://www.edot-studios.com/" , uaIcon : "rss_menu.png" , uaInfoUrl : "/list-of-ua/browser-detail?browser=RSS Menu" }}, 251 : { typeId : "18" , metadata : { uaFamily : "foobar2000" , uaUrl : "http://www.foobar2000.org/" , uaCompany : "Peter Pawlowski" , uaCompanyUrl : "" , uaIcon : "foobar2000.png" , uaInfoUrl : "/list-of-ua/browser-detail?browser=foobar2000" }}, 252 : { typeId : "5" , metadata : { uaFamily : "GStreamer" , uaUrl : "http://gstreamer.freedesktop.org/" , uaCompany : "GStreamer community" , uaCompanyUrl : "http://gstreamer.freedesktop.org/" , uaIcon : "GStreamer.png" , uaInfoUrl : "/list-of-ua/browser-detail?browser=GStreamer" }}, 253 : { typeId : "20" , metadata : { uaFamily : "NetFront Mobile Content Viewer" , uaUrl : "http://www.access-company.com/products/mobile_solutions/netfrontmobile/contentviewer/index.html" , uaCompany : "ACCESS CO., LTD." , uaCompanyUrl : "http://www.access-company.com/" , uaIcon : "netfront.png" , uaInfoUrl : "/list-of-ua/browser-detail?browser=NetFront Mobile Content Viewer" }}, 254 : { typeId : "5" , metadata : { uaFamily : "PHP OpenID library" , uaUrl : "http://openidenabled.
uaInfoUrl:" / list - of - ua / browser - detail ? browser = Powermarks "}},374:{typeId:" 15 ",metadata:{uaFamily:" Safari RSS reader ",uaUrl:" http : //www.apple.com/safari/",uaCompany:"Apple Inc.",uaCompanyUrl:"http://www.apple.com/",uaIcon:"rss.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Safari RSS reader"}},375:{typeId:"20",metadata:{uaFamily:"Google Friend Connect",uaUrl:"http://www.google.com/friendconnect/",uaCompany:"Google Inc.",uaCompanyUrl:"http://www.google.com/",uaIcon:"google_friend_connect.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Google Friend Connect"}},376:{typeId:"15",metadata:{uaFamily:"Feed Viewer",uaUrl:"http://feedviewer.codeplex.com/",uaCompany:"vasek7",uaCompanyUrl:"http://www.codeplex.com/site/users/view/vasek7",uaIcon:"rss.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Feed Viewer"}},377:{typeId:"0",metadata:{uaFamily:"RockMelt",uaUrl:"http://www.rockmelt.com/",uaCompany:"Rockmelt, Inc.",uaCompanyUrl:"http://www.rockmelt.com/",uaIcon:"rockmelt.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=RockMelt"}},378:{typeId:"0",metadata:{uaFamily:"Epic",uaUrl:"http://www.epicbrowser.com/",uaCompany:"Hidden Reflex",uaCompanyUrl:"http://www.hiddenreflex.com/",uaIcon:"epic.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Epic"}},379:{typeId:"0",metadata:{uaFamily:"InternetSurfboard",uaUrl:"http://inetsurfboard.sourceforge.net/",uaCompany:"Philipp Ruppel",uaCompanyUrl:"",uaIcon:"internetSurfboard.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=InternetSurfboard"}},380:{typeId:"0",metadata:{uaFamily:"Vonkeror",uaUrl:"http://zzo38computer.cjb.net/vonkeror/",uaCompany:"zzo38",uaCompanyUrl:"http://zzo38computer.cjb.net/",uaIcon:"conkeror.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Vonkeror"}},381:{typeId:"15",metadata:{uaFamily:"IE RSS reader",uaUrl:"http://en.wikipedia.org/wiki/Windows_RSS_Platform",uaCompany:"Microsoft",uaCompanyUrl:"http://www.microsoft.com/",uaIcon:"rss.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=IE RSS reader"}},382:{typeId:"15",metadata:{uaFamily:"Trileet NewsRoom",uaUrl:"http://feedmonger.blogspot.com/",uaCompany:"Trileet Inc.",uaCompanyUrl:"http://www.trileet.com/",uaIcon:"rss.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Trileet NewsRoom"}},383:{typeId:"10",metadata:{uaFamily:"Validator.nu",uaUrl:"http://validator.nu/",uaCompany:"Henri Sivonen",uaCompanyUrl:"http://hsivonen.iki.fi/author/",uaIcon:"validator_nu.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Validator.nu"}},384:{typeId:"5",metadata:{uaFamily:"Zend_Http_Client",uaUrl:"http://framework.zend.com/manual/en/zend.http.html",uaCompany:"Zend Technologies Ltd.",uaCompanyUrl:"http://www.zend.com/",uaIcon:"zend_http_client.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Zend_Http_Client"}},385:{typeId:"3",metadata:{uaFamily:"Skyfire",uaUrl:"http://www.skyfire.com/",uaCompany:"Skyfire Labs, Inc.",uaCompanyUrl:"http://www.skyfire.com/about",uaIcon:"skyfire.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Skyfire"}},386:{typeId:"3",metadata:{uaFamily:"GO Browser",uaUrl:"http://www.gobrowser.cn/",uaCompany:"GO Dev Team",uaCompanyUrl:"",uaIcon:"go_browser.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=GO Browser"}},387:{typeId:"0",metadata:{uaFamily:"Surf",uaUrl:"http://surf.suckless.org/",uaCompany:"suckless.org",uaCompanyUrl:"http://suckless.org/",uaIcon:"surf.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=Surf"}},388:{typeId:"20",metadata:{uaFamily:"iGooMap",uaUrl:"http://www.pointworks.de/software/igoomap/index.php",uaCompany:"PointWorks.de",uaCompanyUrl:"http://www.pointworks.de/",uaIcon:"igoomap.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=iGooMap"}},389:{typeId:"18",metadata:{uaFamily:"iTunes",uaUrl:"http://www.apple.com/itunes/",uaCompany:"Apple Inc.",uaCompanyUrl:"http://www.apple.com/",uaIcon:"itunes.png",uaInfoUrl:"/list-of-ua/browser-detail?browser=iTunes"}},390:{typeId:"0",metadata:{uaFamily:"BlackHawk",uaUrl:"http://www.netgate.sk/blackhawk/help/welcome-to-blackhawk-web-browser.html",uaCompany:"NETGATE Technologies s.r.o. ",uaCompanyUrl:"http://www.netgate.sk/",uaIcon:"blackha
}, 58 : { regexp : /libwww\-perl\/([0-9a-z\+\-\.]+)[\s\S]*/i , browserId : "51" }, 59 : { regexp : /mozilla[\s\S]*Lunascape\/([0-9a-z\+\-\.]+)[\s\S]*/i , browserId : "52" }, 60 : { regexp : /mozilla[\s\S]*Maxthon ([0-9a-z\+\-\.]+)/i , browserId : "53" }, 61 : { regexp : /mozilla[\s\S]*MSIE [0-9a-z\+\-\.]+[\s\S]*MyIE2/i , browserId : "53" }, 62 : { regexp : /mozilla[\s\S]*(rv:[0-9\.]+)[\s\S]*gecko\/[0-9]+[\s\S]*/i , browserId : "54" }, 63 : { regexp : /mozilla[\s\S]*MultiZilla ([0-9a-z\+\-\.]+)[\s\S]*/i , browserId : "55" }, 64 : { regexp : /mozilla[\s\S]*MSIE [0-9a-z\+\-\.]+[\s\S]*NetCaptor ([0-9a-z\+\-\.]+)/i , browserId : "56" }, 65 : { regexp : /Netgem\/([0-9a-z\+\-\.]+)[\s\S]*/i , browserId : "57" }, 66 : { regexp : /netsurf\/([0-9a-z\+\-\.]+)[\s\S]*/i , browserId : "58" }, 67 : { regexp : /mozilla[\s\S]*MSIE [0-9a-z\+\-\.]+[\s\S]*Sleipnir\/([0-9a-z\+\-\.]+)/i , browserId : "59" }, 69 : { regexp : /mozilla[\s\S]*rv:[0-9\.]+[\s\S]*gecko\/[0-9]+[\s\S]*firefox\/([0-9a-z\+\-\.]+)[\s\S]*swiftfox/i , browserId : "61" }, 70 : { regexp : /Teleport Pro\/([0-9a-z\+\-\.]+)[\s\S]*/i , browserId : "62" }, 77 : { regexp : /sunrise[ \/]([0-9a-z\+\-\.\/]+)/i , browserId : "19" }, 78 : { regexp : /mozilla[\s\S]*galeon\/([0-9a-z\+\-\.]+)[\s\S]*/i , browserId : "6" }, 79 : { regexp : /^Mozilla[\s\S]*AppleWebKit[\s\S]*\(KHTML, like Gecko\)$/i , browserId : "466" }, 80 : { regexp : /Openwave/i , browserId : "32" }, 81 : { regexp : /MSIE ([0-9a-z\+\-\.]+)[\s\S]*windows ce/i , browserId : "157" }, 82 : { regexp : /mozilla[\s\S]*\/[0-9\.]+[\s\S]*gecko[\s\S]*firefox[\s\S]*/i , browserId : "3" }, 83 : { regexp : /mozilla[\s\S]*(rv:[0-9\.]+)[\s\S]*/i , browserId : "54" }, 86 : { regexp : /webcopier[\s\S]*v([0-9a-z\.]+)/i , browserId : "71" }, 89 : { regexp : /MSIE[\s\S]*PhaseOut/i , browserId : "74" }, 94 : { regexp : /^Mozilla[\s\S]*Thunderbird\/([0-9a-zA-Z\.]+)/i , browserId : "79" }, 95 : { regexp : /^DoCoMo\//i , browserId : "33" }, 97 : { regexp : /doris\/([0-9a-z\+\-\.]+)[\s\S]*/i , browserId : "81" }, 98 : { regexp : /^Enigma browser$/i , browserId : "82" }, 100 : { regexp : /lwp\-request\/([0-9a-z\+\-\.]+)[\s\S]*/i , browserId : "51" }, 102 : { regexp : /Jakarta Commons-HttpClient\/([0-9a-zA-Z\.\-]+)/i , browserId : "85" }, 103 : { regexp : /IBrowse/i , browserId : "31" }, 104 : { regexp : /^curl ([0-9a-zA-Z\.\-]+)/i , browserId : "86" }, 105 : { regexp : /Aweb[\s\S]*Amiga/i , browserId : "29" }, 106 : { regexp : /amaya\/([0-9a-zA-Z\.\-+]+)/i , browserId : "87" }, 107 : { regexp : /GetRight\/([0-9a-zA-Z\.\-\+]+)/i , browserId : "88" }, 108 : { regexp : /^Mozilla[\s\S]*OmniWeb\/([1-9a-zA-z\.\-]+)/i , browserId : "18" }, 109 : { regexp : /Mozilla[\s\S]*OffByOne/i , browserId : "89" }, 110 : { regexp : /Python\-urllib\/([0-9a-zA-Z\.\-]+)/i , browserId : "90" }, 111 : { regexp : /w3m\/([0-9a-zA-z\-\+\.]+)/i , browserId : "91" }, 113 : { regexp : /^WebZIP\/([0-9a-zA-Z\.\-]+)/i , browserId : "93" }, 114 : { regexp : /^Mozilla[\s\S]*AppleWebKit[\s\S]*Shiira\/([0-9a-zA-z\.\-]+)/i , browserId : "21" }, 115 : { regexp : /ICEbrowser\/([0-9a-z_\.\-]+)/i , browserId : "94" }, 117 : { regexp : /Blazer ([0-9\.]+)/i , browserId : "43" }, 118 : { regexp : /Iceape\/([0-9a-zA-z\.\-]+)/i , browserId : "96" }, 120 : { regexp : /Jakarta Commons\-HttpClient/i , browserId : "85" }, 122 : { regexp : /HotJava\/([0-9a-zA-Z\.\- ]+)/i , browserId : "99" }, 123 : { regexp : /JoBo\/([0-9a-z\.\-]+)/i , browserId : "100" }, 126 : { regexp : /Sleipnir Version ([0-9a-z\.]+)/i , browserId : "59" }, 130 : { regexp : /poe-component-client-http\/([0-9a-z\.\-]+)/i , browserId : "105" }, 137 : { regexp : /snoopy v([1-9\.]+)/i , browserId : "111" }, 138 : { regexp : /Lynx/i , browserId : "25" }, 139 : { regexp : /libwww\-perl/i , browserId : "51" }, 141 : { regexp : /NetFront([0-9a-z\.]+)[\s\S]*/i , browserId : "33" }, 143 : { regexp : /^opera ([0-9a-z\+\-\.]+)[\s\S]*/i , browserId : "17" }, 147 : { regexp : /NCSA_Mosaic\/([0-9a-z\+\-\.]+)[\s\S]*/i , browserId : "117" }, 149 : { regexp : /mozilla[\s\S]*rv:[0-9\.]+[\s\S]*gecko[\s\S]*kapiko\/([0-9a-z\+\-\.]+)[\s\S]*/i , browserId : "119" }, 150 : { regexp : /mozilla[\s\S]*chrome\/([0-9a-z\+\-\.]+)[\s\S]*/i , browserId : "120" }, 151 : { regexp : /mozilla[\s\S]*applewebkit[\s\S]*AdobeAIR\/([0-9a-z\+\-\.]+)[\s\S]*/i , browserId : "121" }, 152 : { regexp : /^lwp-trivial\/([0-9.]+)$/i , browserId : "122" }, 153 : { regexp : /^WWW-Mechanize\/([0-9a-z\+\-\.]+)/i , browserId : "123" }, 155 : { regexp : /^Xenu Link Sleuth ([0-9a-z\+\-\.]+)$/i , browserId : "124" }, 156 : { regexp : /^SiteSucker\/([0-9a-z\.]+)/i , browserId : "125" }, 157 : { regexp : /mozilla[\s\S]*applewebkit[\s\S]*arora\/([0-9a-z\+\-\.]+)[\s\S]*/i , browserId : "126" }, 160 : { regexp : /mozilla[\s\S]*rv:[0-9\.]+[\s\S]*
browserId : "433" }, 550 : { regexp : /^python-requests\/([0-9\.]+)/i , browserId : "434" }, 551 : { regexp : /^AtomicBrowser\/([0-9\.]+)[\s\S]*CFNetwork/i , browserId : "436" }, 552 : { regexp : /^Reeder\/([0-9\.]+)[\s\S]*CFNetwork/i , browserId : "437" }, 553 : { regexp : /^Mozilla[\s\S]*Mobile[\s\S]*rv[\s\S]*Gecko[\s\S]*Firefox\/([0-9\.]+)/i , browserId : "133" }, 554 : { regexp : /Mozilla[\s\S]*Mac[\s\S]*rv[\s\S]*Gecko[\s\S]*Firefox\/([0-9a-b\.]+)[\s\S]*TenFourFox/i , browserId : "439" }, 555 : { regexp : /^PEAR HTTP_Request class \( http:\/\/pear[\s\S]php[\s\S]net\/ \)/i , browserId : "440" }, 556 : { regexp : /Mozilla[\s\S]*compatible[\s\S]*DPlus ([0-9\.]+)/i , browserId : "441" }, 557 : { regexp : /^WordPress\/[0-9\.]+; http:\/\//i , browserId : "438" }, 558 : { regexp : /Mozilla[\s\S]*Windows[\s\S]*Gecko[\s\S]*Firefox[\s\S]*AvantBrowser\/Tri-Core/i , browserId : "41" }, 559 : { regexp : /Mozilla[\s\S]*AppleWebKit[\s\S]*zBrowser\/SpringSun-([0-9\.]+)/i , browserId : "442" }, 560 : { regexp : /Mozilla[\s\S]*AppleWebKit[\s\S]*zBrowser\/NigtSky-([0-9\.]+)/i , browserId : "442" }, 561 : { regexp : /Mozilla[\s\S]*AppleWebKit[\s\S]*KHTML[\s\S]*SlimBoat\/([0-9\.]+)/i , browserId : "443" }, 562 : { regexp : /Opera[\s\S]*Opera Tablet[\s\S]*Presto[\s\S]*Version\/([0-9\.]+)/i , browserId : "321" }, 563 : { regexp : /^Mozilla[\s\S]*AppleWebKit[\s\S]*Chrome\/([0-9\.]+)[\s\S]*Mobile Safari/i , browserId : "423" }, 564 : { regexp : /^Mozilla[\s\S]*iPhone[\s\S]*AppleWebKit[\s\S]*CriOS\/([0-9\.]+)[\s\S]*Mobile[\s\S]*Safari/i , browserId : "423" }, 565 : { regexp : /^Mechanize\/([0-9\.]+)[\s\S]*Ruby[\s\S]*github[\s\S]com\/tenderlove\/mechanize/i , browserId : "445" }, 566 : { regexp : /^htmlayout ([0-9\.]+)[\s\S]*Win[\s\S]*www\.terrainformatica\.com/i , browserId : "446" }, 567 : { regexp : /^The Bat! Voyager ([0-9\.]+)$/i , browserId : "330" }, 568 : { regexp : /^Mozilla[\s\S]*MSIE[\s\S]*Windows[\s\S]*SaaYaa/i , browserId : "447" }, 569 : { regexp : /^Mozilla[\s\S]*AppleWebKit[\s\S]*Qt\/[0-9\.]+[\s\S]*Ryouko\/([0-9\.]+)[\s\S]*Safari/i , browserId : "448" }, 570 : { regexp : /^Anemone\/([0-9\.]+)$/i , browserId : "449" }, 571 : { regexp : /^Mozilla[\s\S]*OS X[\s\S]*AppleWebKit[\s\S]*KHTML[\s\S]*Sparrow\/([0-9\.]+)/i , browserId : "450" }, 572 : { regexp : /^SubStream\/([0-9\.]+)[\s\S]* CFNetwork/i , browserId : "451" }, 573 : { regexp : /^Mozilla[\s\S]*iPad[\s\S]*AppleWebKit[\s\S]*CriOS\/([0-9\.]+)[\s\S]*Mobile[\s\S]*Safari/i , browserId : "423" }, 574 : { regexp : /^Barca\/([0-9\.]+)/i , browserId : "452" }, 575 : { regexp : /^BarcaPro\/([0-9\.]+)/i , browserId : "452" }, 576 : { regexp : /A1 Sitemap Generator\/([0-9\.]+)[\s\S]*microsystools[\s\S]com/i , browserId : "453" }, 577 : { regexp : /^Mozilla[\s\S]*Playstation Vita[\s\S]*AppleWebKit[\s\S]*Silk\/([0-9\.]+)/i , browserId : "454" }, 578 : { regexp : /^MQQBrowser\/([0-9\.]+)/i , browserId : "455" }, 579 : { regexp : /^MQQBrowser\/(Mini[0-9\.]+)/i , browserId : "455" }, 580 : { regexp : /^Mozilla[\s\S]*AppleWebKit[\s\S]*Chrome[\s\S]*Beamrise\/([0-9\.]+)/i , browserId : "456" }, 581 : { regexp : /^Mozilla[\s\S]*AppleWebKit[\s\S]*Beamrise\/([0-9\.]+)[\s\S]*Chrome/i , browserId : "456" }, 582 : { regexp : /^Mozilla[\s\S]*AppleWebKit[\s\S]*Chrome[\s\S]*YaBrowser\/([0-9\.]+)/i , browserId : "457" }, 583 : { regexp : /^Mozilla[\s\S]*Silk\/([0-9\.\-]+)[\s\S]*safari/i , browserId : "458" }, 584 : { regexp : /^Apache-HttpClient\/([0-9\.]+)/i , browserId : "459" }, 585 : { regexp : /^Mozilla.*Nintendo WiiU.*AppleWebKit.*NX.*NintendoBrowser\/([0-9\.]+)/ , browserId : "460" }, 586 : { regexp : /^DellWebMonitor\/([0-9\.]+)/ , browserId : "461" }, 587 : { regexp : /^FeedDemon\/([0-9\.]+)[\s\S]*(www\.feeddemon\.com|www\.newsgator\.com)/i , browserId : "462" }, 588 : { regexp : /^XMLRPC::Client \(Ruby ([0-9\.]+)\)$/i , browserId : "463" }, 589 : { regexp : /^PocomailPE\/([0-9\.]+)/i , browserId : "356" }, 590 : { regexp : /Pattern\/([0-9\.]+)[\s\S]*[\s\S]clips\.ua\.ac\.be\/pages\/pattern/i , browserId : "464" }, 592 : { regexp : /^Eudora\/?([0-9a-z\.]+)*/i , browserId : "465" }, 593 : { regexp : /^Mozilla[\s\S]*Windows[\s\S]*Gecko[\s\S]*Polarity\/([0-9\.]+)/i , browserId : "467" }, 594 : { regexp : /^Mozilla[\s\S]*AppleWebKit[\s\S]*Superbird\/([0-9\.]+)/i , browserId : "468" }, 595 : { regexp : /^Microsoft Office\/14[\s\S]*Microsoft Outlook 14/i , browserId : "326" }, 596 : { regexp : /mozilla[\s\S]*AppleWebKit[\s\S]*NetFrontLifeBrowser\/([0-9\.]+)/i , browserId : "469" }, 597 : { regexp : /mozilla[\s\S]*applewebkit[\s\S]*\/[0-9a-z\+\-\.]+[\s\S]*version\/([0-9a-z\+\-\.]+)[\s\S]*safari\/[0-9a-z\+\
lineNumber:tb,lineStart:ub,start:e,end:sb}):(b=c.substr(0,2),g===b[1]&&"+-<>&|".indexOf(g)>=0||"=>"===b?(sb+=2,{type:ib.Punctuator,value:b,lineNumber:tb,lineStart:ub,start:e,end:sb}):"<>=!+-*%&|^/ ".indexOf(g)>=0?(++sb,{type:ib.Punctuator,value:g,lineNumber:tb,lineStart:ub,start:e,end:sb}):void S({},ob.UnexpectedToken," ILLEGAL ")))}function x(a){for(var b="";sb<vb&&d(qb[sb]);)b+=qb[sb++];return 0===b.length&&S({},ob.UnexpectedToken," ILLEGAL "),h(qb.charCodeAt(sb))&&S({},ob.UnexpectedToken," ILLEGAL "),{type:ib.NumericLiteral,value:parseInt(" 0 x "+b,16),lineNumber:tb,lineStart:ub,start:a,end:sb}}function y(a){for(var b=" 0 "+qb[sb++];sb<vb&&e(qb[sb]);)b+=qb[sb++];return(h(qb.charCodeAt(sb))||c(qb.charCodeAt(sb)))&&S({},ob.UnexpectedToken," ILLEGAL "),{type:ib.NumericLiteral,value:parseInt(b,8),octal:!0,lineNumber:tb,lineStart:ub,start:a,end:sb}}function z(){var a,d,f;if(f=qb[sb],b(c(f.charCodeAt(0))||" . "===f," Numeric literal must start with a decimal digit or a decimal point "),d=sb,a=""," . "!==f){if(a=qb[sb++],f=qb[sb]," 0 "===a){if(" x "===f||" X "===f)return++sb,x(d);if(e(f))return y(d);f&&c(f.charCodeAt(0))&&S({},ob.UnexpectedToken," ILLEGAL ")}for(;c(qb.charCodeAt(sb));)a+=qb[sb++];f=qb[sb]}if(" . "===f){for(a+=qb[sb++];c(qb.charCodeAt(sb));)a+=qb[sb++];f=qb[sb]}if(" e "===f||" E "===f)if(a+=qb[sb++],f=qb[sb]," + "!==f&&" - "!==f||(a+=qb[sb++]),c(qb.charCodeAt(sb)))for(;c(qb.charCodeAt(sb));)a+=qb[sb++];else S({},ob.UnexpectedToken," ILLEGAL ");return h(qb.charCodeAt(sb))&&S({},ob.UnexpectedToken," ILLEGAL "),{type:ib.NumericLiteral,value:parseFloat(a),lineNumber:tb,lineStart:ub,start:d,end:sb}}function A(){var a,c,d,f,h,i,j,k,l="",m=!1;for(j=tb,k=ub,a=qb[sb],b(" '"===a||' "'===a," String literal must starts with a quote "),c=sb,++sb;sb<vb;){if(d=qb[sb++],d===a){a="";break}if(" \\ "===d)if(d=qb[sb++],d&&g(d.charCodeAt(0)))++tb," \ r "===d&&" \ n "===qb[sb]&&++sb,ub=sb;else switch(d){case" u ":case" x ":" { "===qb[sb]?(++sb,l+=s()):(i=sb,h=r(d),h?l+=h:(sb=i,l+=d));break;case" n ":l+=" \ n ";break;case" r ":l+=" \ r ";break;case" t ":l+=" \ t ";break;case" b ":l+=" \ b ";break;case" f ":l+=" \ f ";break;case" v ":l+=" \ v ";break;default:e(d)?(f=" 01234567 ".indexOf(d),0!==f&&(m=!0),sb<vb&&e(qb[sb])&&(m=!0,f=8*f+" 01234567 ".indexOf(qb[sb++])," 0123 ".indexOf(d)>=0&&sb<vb&&e(qb[sb])&&(f=8*f+" 01234567 ".indexOf(qb[sb++]))),l+=String.fromCharCode(f)):l+=d}else{if(g(d.charCodeAt(0)))break;l+=d}}return""!==a&&S({},ob.UnexpectedToken," ILLEGAL "),{type:ib.StringLiteral,value:l,octal:m,startLineNumber:j,startLineStart:k,lineNumber:tb,lineStart:ub,start:c,end:sb}}function B(a,b){var c;try{c=new RegExp(a,b)}catch(a){S({},ob.InvalidRegExp)}return c}function C(){var a,c,d,e,f;for(a=qb[sb],b(" / "===a," Regular expression literal must start with a slash "),c=qb[sb++],d=!1,e=!1;sb<vb;)if(a=qb[sb++],c+=a," \\ "===a)a=qb[sb++],g(a.charCodeAt(0))&&S({},ob.UnterminatedRegExp),c+=a;else if(g(a.charCodeAt(0)))S({},ob.UnterminatedRegExp);else if(d)" ] "===a&&(d=!1);else{if(" / "===a){e=!0;break}" [ "===a&&(d=!0)}return e||S({},ob.UnterminatedRegExp),f=c.substr(1,c.length-2),{value:f,literal:c}}function D(){var a,b,c,d;for(b="",c="";sb<vb&&(a=qb[sb],i(a.charCodeAt(0)));)if(++sb," \\ "===a&&sb<vb)if(a=qb[sb]," u "===a){if(++sb,d=sb,a=r(" u "))for(c+=a,b+=" \\ u ";d<sb;++d)b+=qb[d];else sb=d,c+=" u ",b+=" \\ u ";T({},ob.UnexpectedToken," ILLEGAL ")}else b+=" \\ ",T({},ob.UnexpectedToken," ILLEGAL ");else c+=a,b+=a;return{value:c,literal:b}}function E(){var a,b,c,d;return wb=null,q(),a=sb,b=C(),c=D(),d=B(b.value,c.value),yb.tokenize?{type:ib.RegularExpression,value:d,lineNumber:tb,lineStart:ub,start:a,end:sb}:{literal:b.literal+c.literal,value:d,start:a,end:sb}}function F(){var a,b,c,d;return q(),a=sb,b={start:{line:tb,column:sb-ub}},c=E(),b.end={line:tb,column:sb-ub},yb.tokenize||(yb.tokens.length>0&&(d=yb.tokens[yb.tokens.length-1],d.range[0]===a&&" Punctuator "===d.type&&(" / "!==d.value&&" /= "!==d.value||yb.tokens.pop())),yb.tokens.push({type:" RegularExpression ",value:c.literal,range:[a,sb],loc:b})),c}function G(a){return a.type===ib.Identifier||a.type===ib.Keyword||a.type===ib.BooleanLiteral||a.type===ib.NullLiteral}function H(){var a,b;if(a=yb.tokens[yb.tokens.
NonAsciiIdentifierPart:new RegExp(" [ \ xaa \ xb5 \ xba \ xc0 - \ xd6 \ xd8 - \ xf6 \ xf8 - \u02c1\u02c6 - \u02d1\u02e0 - \u02e4\u02ec\u02ee\u0300 - \u0374\u0376\u0377\u037a - \u037d\u037f\u0386\u0388 - \u038a\u038c\u038e - \u03a1\u03a3 - \u03f5\u03f7 - \u0481\u0483 - \u0487\u048a - \u052f\u0531 - \u0556\u0559\u0561 - \u0587\u0591 - \u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u05d0 - \u05ea\u05f0 - \u05f2\u0610 - \u061a\u0620 - \u0669\u066e - \u06d3\u06d5 - \u06dc\u06df - \u06e8\u06ea - \u06fc\u06ff\u0710 - \u074a\u074d - \u07b1\u07c0 - \u07f5\u07fa\u0800 - \u082d\u0840 - \u085b\u08a0 - \u08b2\u08e4 - \u0963\u0966 - \u096f\u0971 - \u0983\u0985 - \u098c\u098f\u0990\u0993 - \u09a8\u09aa - \u09b0\u09b2\u09b6 - \u09b9\u09bc - \u09c4\u09c7\u09c8\u09cb - \u09ce\u09d7\u09dc\u09dd\u09df - \u09e3\u09e6 - \u09f1\u0a01 - \u0a03\u0a05 - \u0a0a\u0a0f\u0a10\u0a13 - \u0a28\u0a2a - \u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a3c\u0a3e - \u0a42\u0a47\u0a48\u0a4b - \u0a4d\u0a51\u0a59 - \u0a5c\u0a5e\u0a66 - \u0a75\u0a81 - \u0a83\u0a85 - \u0a8d\u0a8f - \u0a91\u0a93 - \u0aa8\u0aaa - \u0ab0\u0ab2\u0ab3\u0ab5 - \u0ab9\u0abc - \u0ac5\u0ac7 - \u0ac9\u0acb - \u0acd\u0ad0\u0ae0 - \u0ae3\u0ae6 - \u0aef\u0b01 - \u0b03\u0b05 - \u0b0c\u0b0f\u0b10\u0b13 - \u0b28\u0b2a - \u0b30\u0b32\u0b33\u0b35 - \u0b39\u0b3c - \u0b44\u0b47\u0b48\u0b4b - \u0b4d\u0b56\u0b57\u0b5c\u0b5d\u0b5f - \u0b63\u0b66 - \u0b6f\u0b71\u0b82\u0b83\u0b85 - \u0b8a\u0b8e - \u0b90\u0b92 - \u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8 - \u0baa\u0bae - \u0bb9\u0bbe - \u0bc2\u0bc6 - \u0bc8\u0bca - \u0bcd\u0bd0\u0bd7\u0be6 - \u0bef\u0c00 - \u0c03\u0c05 - \u0c0c\u0c0e - \u0c10\u0c12 - \u0c28\u0c2a - \u0c39\u0c3d - \u0c44\u0c46 - \u0c48\u0c4a - \u0c4d\u0c55\u0c56\u0c58\u0c59\u0c60 - \u0c63\u0c66 - \u0c6f\u0c81 - \u0c83\u0c85 - \u0c8c\u0c8e - \u0c90\u0c92 - \u0ca8\u0caa - \u0cb3\u0cb5 - \u0cb9\u0cbc - \u0cc4\u0cc6 - \u0cc8\u0cca - \u0ccd\u0cd5\u0cd6\u0cde\u0ce0 - \u0ce3\u0ce6 - \u0cef\u0cf1\u0cf2\u0d01 - \u0d03\u0d05 - \u0d0c\u0d0e - \u0d10\u0d12 - \u0d3a\u0d3d - \u0d44\u0d46 - \u0d48\u0d4a - \u0d4e\u0d57\u0d60 - \u0d63\u0d66 - \u0d6f\u0d7a - \u0d7f\u0d82\u0d83\u0d85 - \u0d96\u0d9a - \u0db1\u0db3 - \u0dbb\u0dbd\u0dc0 - \u0dc6\u0dca\u0dcf - \u0dd4\u0dd6\u0dd8 - \u0ddf\u0de6 - \u0def\u0df2\u0df3\u0e01 - \u0e3a\u0e40 - \u0e4e\u0e50 - \u0e59\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94 - \u0e97\u0e99 - \u0e9f\u0ea1 - \u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead - \u0eb9\u0ebb - \u0ebd\u0ec0 - \u0ec4\u0ec6\u0ec8 - \u0ecd\u0ed0 - \u0ed9\u0edc - \u0edf\u0f00\u0f18\u0f19\u0f20 - \u0f29\u0f35\u0f37\u0f39\u0f3e - \u0f47\u0f49 - \u0f6c\u0f71 - \u0f84\u0f86 - \u0f97\u0f99 - \u0fbc\u0fc6\u1000 - \u1049\u1050 - \u109d\u10a0 - \u10c5\u10c7\u10cd\u10d0 - \u10fa\u10fc - \u1248\u124a - \u124d\u1250 - \u1256\u1258\u125a - \u125d\u1260 - \u1288\u128a - \u128d\u1290 - \u12b0\u12b2 - \u12b5\u12b8 - \u12be\u12c0\u12c2 - \u12c5\u12c8 - \u12d6\u12d8 - \u1310\u1312 - \u1315\u1318 - \u135a\u135d - \u135f\u1380 - \u138f\u13a0 - \u13f4\u1401 - \u166c\u166f - \u167f\u1681 - \u169a\u16a0 - \u16ea\u16ee - \u16f8\u1700 - \u170c\u170e - \u1714\u1720 - \u1734\u1740 - \u1753\u1760 - \u176c\u176e - \u1770\u1772\u1773\u1780 - \u17d3\u17d7\u17dc\u17dd\u17e0 - \u17e9\u180b - \u180d\u1810 - \u1819\u1820 - \u1877\u1880 - \u18aa\u18b0 - \u18f5\u1900 - \u191e\u1920 - \u192b\u1930 - \u193b\u1946 - \u196d\u1970 - \u1974\u1980 - \u19ab\u19b0 - \u19c9\u19d0 - \u19d9\u1a00 - \u1a1b\u1a20 - \u1a5e\u1a60 - \u1a7c\u1a7f - \u1a89\u1a90 - \u1a99\u1aa7\u1ab0 - \u1abd\u1b00 - \u1b4b\u1b50 - \u1b59\u1b6b - \u1b73\u1b80 - \u1bf3\u1c00 - \u1c37\u1c40 - \u1c49\u1c4d - \u1c7d\u1cd0 - \u1cd2\u1cd4 - \u1cf6\u1cf8\u1cf9\u1d00 - \u1df5\u1dfc - \u1f15\u1f18 - \u1f1d\u1f20 - \u1f45\u1f48 - \u1f4d\u1f50 - \u1f57\u1f59\u1f5b\u1f5d\u1f5f - \u1f7d\u1f80 - \u1fb4\u1fb6 - \u1fbc\u1fbe\u1fc2 - \u1fc4\u1fc6 - \u1fcc\u1fd0 - \u1fd3\u1fd6 - \u1fdb\u1fe0 - \u1fec\u1ff2 - \u1ff4\u1ff6 - \u1ffc\u200c\u200d\u203f\u2040\u2054\u2071\u207f\u2090 - \u209c\u20d0 - \u20dc\u20e1\u20e5 - \u20f0\u2102\u2107\u210a - \u2113\u2115\u2119 - \u211d\u2124\u2126\u2128\u212a - \u212d\u212f - \u2139\u213c - \u213f\u2145 - \u2149\u214e\u2160 - \u2188\u2c00 - \u2c2e\u2c30 - \u2c5e\u2c60 - \u2ce4\u2ceb - \u2cf3\u2d00 - \u2d25\u2d27\u2d2d\u2d30 - \u2d67\u2d6f\u2d7f - \u2d96\u2da0 - \u2da6\u2da8 - \u2dae\u2db0 - \u2db6\u2db8 - \u2dbe\u2dc0 - \u2dc6\u2dc8 - \u2dce\u2dd0 - \u2dd6\u2dd8 - \u2dde\u2de0 - \u2dff\u2e2f\u3005 - \u3007\u3021 - \u302f\u3031 - \u3035\u3038 - \u303c\u3041 - \u3096\u3099\u309a\u309d - \u309f\u30a1 - \u30fa\u30fc - \u30ff\u3105 - \u312d\u3131 - \u318e\u31a0 - \u31ba\u31f0 - \ u3
precedence : N . Sequence , allowIn :! 0 , allowCall :! 0 }), ")" ) : e . push ( ")" )}), e . push ( C ( a . body , "" === l )); break ; case M . ForInStatement : e = [ "for" + aa + "(" ], w ( function (){ a . left . type === M . VariableDeclaration ? w ( function (){ e . push ( a . left . kind + " " , H ( a . left . declarations [ 0 ],{ allowIn :! 1 }))}) : e . push ( G ( a . left ,{ precedence : N . Call , allowIn :! 0 , allowCall :! 0 })), e = u ( e , "in" ), e = [ u ( e , G ( a . right ,{ precedence : N . Sequence , allowIn :! 0 , allowCall :! 0 })), ")" ]}), e . push ( C ( a . body , "" === l )); break ; case M . LabeledStatement : e = [ a . label . name + ":" , C ( a . body , "" === l )]; break ; case M . Program : for ( d = a . body . length , e = [ da && d > 0 ? "\n" : "" ], c = 0 ; c < d ; c += 1 ) k = v ( H ( a . body [ c ],{ semicolonOptional :! da && c === d - 1 , directiveContext :! 0 })), e . push ( k ), c + 1 < d &&! i ( t ( k ). toString ()) && e . push ( _ ); break ; case M . FunctionDeclaration : e = [( a . generator &&! fa . moz . starlessGenerator ? "function* " : "function " ) + a . id . name , F ( a )]; break ; case M . ReturnStatement : e = a . argument ? [ u ( "return" , G ( a . argument ,{ precedence : N . Sequence , allowIn :! 0 , allowCall :! 0 })), l ] : [ "return" + l ]; break ; case M . WhileStatement : w ( function (){ e = [ "while" + aa + "(" , G ( a . test ,{ precedence : N . Sequence , allowIn :! 0 , allowCall :! 0 }), ")" ]}), e . push ( C ( a . body , "" === l )); break ; case M . WithStatement : w ( function (){ e = [ "with" + aa + "(" , G ( a . object ,{ precedence : N . Sequence , allowIn :! 0 , allowCall :! 0 }), ")" ]}), e . push ( C ( a . body , "" === l )); break ; default : throw new Error ( "Unknown statement type: " + a . type )} return fa . comment && ( e = A ( a , e )), k = t ( e ). toString (), a . type !== M . Program || da || "" !== _ || "\n" !== k . charAt ( k . length - 1 ) || ( e = t ( e ). replaceRight ( /\s+$/ , "" )), t ( e , a )} function I ( d , h ){ var i , j , l = b (); switch ( null != h ? ( "string" == typeof h . indent && ( l . format . indent . style = h . indent ), "number" == typeof h . base && ( l . format . indent . base = h . base ), h = k ( l , h ), V = h . format . indent . style , U = "string" == typeof h . base ? h . base : e ( V , h . format . indent . base )) : ( h = l , V = h . format . indent . style , U = e ( V , h . format . indent . base )), W = h . format . json , X = h . format . renumber , Y =! W && h . format . hexadecimal , Z = W ? "double" : h . format . quotes , $ = h . format . escapeless , h . format . compact ? _ = aa = V = U = "" : ( _ = "\n" , aa = " " ), ba = h . format . parentheses , ca = h . format . semicolons , da = h . format . safeConcatenation , ea = h . directive , ga = W ? null : h . parse , ha = h . sourceMap , fa = h , S = ha ? c . browser ? g . sourceMap . SourceNode : a ( "source-map" ). SourceNode : f , d . type ){ case M . BlockStatement : case M . BreakStatement : case M . CatchClause : case M . ContinueStatement : case M . DirectiveStatement : case M . DoWhileStatement : case M . DebuggerStatement : case M . EmptyStatement : case M . ExpressionStatement : case M . ForStatement : case M . ForInStatement : case M . FunctionDeclaration : case M . IfStatement : case M . LabeledStatement : case M . Program : case M . ReturnStatement : case M . SwitchStatement : case M . SwitchCase : case M . ThrowStatement : case M . TryStatement : case M . VariableDeclaration : case M . VariableDeclarator : case M . WhileStatement : case M . WithStatement : i = H ( d ); break ; case M . AssignmentExpression : case M . ArrayExpression : case M . ArrayPattern : case M . BinaryExpression : case M . CallExpression : case M . ConditionalExpression : case M . FunctionExpression : case M . Identifier : case M . Literal : case M . LogicalExpression : case M . MemberExpression : case M . NewExpression : case M . ObjectExpression : case M . ObjectPattern : case M . Property : case M . SequenceExpression : case M . ThisExpression : case M . UnaryExpression : case M . UpdateExpression : case M . YieldExpression : i = G ( d ,{ precedence : N . Sequence , allowIn :! 0 , allowCall :! 0 }); break ; default : throw new Error ( "Unknown node type: " + d . type )} return ha ? ( j = i . toStringWithSourceMap ({ file : h . sourceMap , sourceRoot : h . sourceMapRoot }), h . sourceMapWithCode ? j : j . map . toString ()) : i . toString ()} function J ( a , b ){ var c , d , e , f ; for ( d = a . length , e = 0 ; d ;) c = d >>> 1 , f = e + c , b ( a [ f ]) ? d = c : ( e = f + 1 , d -= c + 1 ); return e } function K ( a , b ){ var c , d ; return c = J ( b , function ( b ){ return b . range [ 0 ] > a . range [ 0 ]}), a . extendedRange = [ a . range [ 0 ], a . range [ 1 ]], c !== b . length && ( a . extendedRange [ 1 ] = b [ c ]. range [ 0 ]), c -= 1 , c >= 0 && ( c < b . length ? a . extendedRange [ 0 ] = b [ c ]. range [ 1 ] : d . length && ( a . extendedRange [ 1 ] = b [ b . length - 1 ]. range [ 0 ])), a } function L ( a , b , c ){ var d , e , f , g = []; if ( ! a . range ) throw new Error ( "attachComments needs range information" ); if ( ! c . length ){ if ( b . length ){ for ( f = 0 , e = b . length ; f < e ; f += 1 ) d = j ( b [ f ]), d . extendedRange = [ 0 , a . range [ 0 ]], g . push ( d ); a . leadingComments = g } return a } for ( f = 0 , e = b . length ; f < e ; f += 1 ) g . push ( K ( j ( b [ f ]), c )); return ia ( a ,{ cursor : 0 , enter : f
NonAsciiIdentifierPart : new RegExp ( "[\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0300-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u0483-\u0487\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u05d0-\u05ea\u05f0-\u05f2\u0610-\u061a\u0620-\u0669\u066e-\u06d3\u06d5-\u06dc\u06df-\u06e8\u06ea-\u06fc\u06ff\u0710-\u074a\u074d-\u07b1\u07c0-\u07f5\u07fa\u0800-\u082d\u0840-\u085b\u08a0\u08a2-\u08ac\u08e4-\u08fe\u0900-\u0963\u0966-\u096f\u0971-\u0977\u0979-\u097f\u0981-\u0983\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7\u09c8\u09cb-\u09ce\u09d7\u09dc\u09dd\u09df-\u09e3\u09e6-\u09f1\u0a01-\u0a03\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a75\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0aef\u0b01-\u0b03\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b5c\u0b5d\u0b5f-\u0b63\u0b66-\u0b6f\u0b71\u0b82\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bef\u0c01-\u0c03\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c58\u0c59\u0c60-\u0c63\u0c66-\u0c6f\u0c82\u0c83\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1\u0cf2\u0d02\u0d03\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d-\u0d44\u0d46-\u0d48\u0d4a-\u0d4e\u0d57\u0d60-\u0d63\u0d66-\u0d6f\u0d7a-\u0d7f\u0d82\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0df2\u0df3\u0e01-\u0e3a\u0e40-\u0e4e\u0e50-\u0e59\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb9\u0ebb-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ecd\u0ed0-\u0ed9\u0edc-\u0edf\u0f00\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e-\u0f47\u0f49-\u0f6c\u0f71-\u0f84\u0f86-\u0f97\u0f99-\u0fbc\u0fc6\u1000-\u1049\u1050-\u109d\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u135f\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772\u1773\u1780-\u17d3\u17d7\u17dc\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u1820-\u1877\u1880-\u18aa\u18b0-\u18f5\u1900-\u191c\u1920-\u192b\u1930-\u193b\u1946-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19d9\u1a00-\u1a1b\u1a20-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa7\u1b00-\u1b4b\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1bf3\u1c00-\u1c37\u1c40-\u1c49\u1c4d-\u1c7d\u1cd0-\u1cd2\u1cd4-\u1cf6\u1d00-\u1de6\u1dfc-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u200c\u200d\u203f\u2040\u2054\u2071\u207f\u2090-\u209c\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2dff\u2e2f\u3005-\u3007\u3021-\u302f\u3031-\u3035\u3038-\u303c\u3041-\u3096\u3099\u309a\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31
a.call(b,this.__data[c],d,this))},c.prototype.keys=function(){var a,b;b=[];for(a in this.__data)this.__data.hasOwnProperty(a)&&b.push(a.substring(1));return b},c.prototype.values=function(){var a,b;b=[];for(a in this.__data)this.__data.hasOwnProperty(a)&&b.push(this.__data[a]);return b},c.prototype.items=function(){var a,b;b=[];for(a in this.__data)this.__data.hasOwnProperty(a)&&b.push([a.substring(1),this.__data[a]]);return b}),b.exports=c}()}),b.define(" / lib / pass / remove - unreachable - branch . js ",function(a,c,d,e){!function(c,d,e,f,g,h){function i(a,b){var c,f,i;if(c=g.booleanCondition(b.test),b.alternate){if(" boolean "==typeof c)return h=!0,f=[],c?(i=e.delegateVariableDeclarations(b.alternate,a),i&&f.push(i),f.push(e.moveLocation(b.test,{type:d.ExpressionStatement,expression:b.test}),b.consequent),{type:d.BlockStatement,body:f}):(i=e.delegateVariableDeclarations(b.consequent,a),i&&f.push(i),f.push(e.moveLocation(b.test,{type:d.ExpressionStatement,expression:b.test}),b.alternate),{type:d.BlockStatement,body:f})}else if(" boolean "==typeof c)return h=!0,f=[],c?(f.push(e.moveLocation(b.test,{type:d.ExpressionStatement,expression:b.test}),b.consequent),{type:d.BlockStatement,body:f}):(i=e.delegateVariableDeclarations(b.consequent,a),i&&f.push(i),f.push(e.moveLocation(b.test,{type:d.ExpressionStatement,expression:b.test})),{type:d.BlockStatement,body:f})}function j(a,b){var c;return c=g.booleanCondition(b.left)," boolean "==typeof c?(h=!0,c?" && "===b.operator?e.moveLocation(b,{type:d.SequenceExpression,expressions:[b.left,b.right]}):b.left:" && "===b.operator?b.left:e.moveLocation(b,{type:d.SequenceExpression,expressions:[b.left,b.right]})):void 0}function k(a,b){var c;return c=g.booleanCondition(b.test)," boolean "==typeof c?(h=!0,c?e.moveLocation(b,{type:d.SequenceExpression,expressions:[b.test,b.consequent]}):e.moveLocation(b,{type:d.SequenceExpression,expressions:[b.test,b.alternate]})):void 0}function l(a,b){var g,l;return g=b.get(" destructive ",{pathName:c})?a:e.deepCopy(a),h=!1,l=[],g=e.replace(g,{enter:function(a){var b;if(f.Scope.isVariableScopeRequired(a))return void l.push(a);switch(b=e.Array.last(l),a.type){case d.IfStatement:return i(b,a);case d.LogicalExpression:return j(b,a);case d.ConditionalExpression:return k(b,a)}},leave:function(a){f.Scope.isVariableScopeRequired(a)&&l.pop()}}),{result:g,modified:h}}c=" remove - unreachable - branch ",f=b(" / node_modules / escope / escope . js ",a),e=b(" / lib / common . js ",a),g=b(" / lib / evaluator . js ",a),d=e.Syntax,l.passName=c,a.exports=l}()}),b.define(" / lib / evaluator . js ",function(a,c,d,e){!function(d,e){function f(a,b){return a.type===d.Literal?" object "!=typeof a.value||null===a.value||b:a.type===d.UnaryExpression?" void "===a.operator||" delete "===a.operator||" ! "===a.operator?f(a.argument,!0):f(a.argument,!1):a.type===d.BinaryExpression?" in "!==a.operator&&" instanceof "!==a.operator&&(f(a.left,!1)&&f(a.right,!1)):a.type===d.LogicalExpression&&(f(a.left,!0)&&f(a.right,!0))}function g(a){return a.type===d.Literal?a.value:a.type===d.UnaryExpression?i(a.operator,g(a.argument)):a.type===d.BinaryExpression?j(a.operator,g(a.left),g(a.right)):a.type===d.LogicalExpression?h(a.operator,g(a.left),g(a.right)):void e.unreachable()}function h(a,b,c){return" || "===a?b||c:" && "===a?b&&c:void e.unreachable()}function i(a,b){switch(a){case" + ":return+b;case" - ":return-b;case" ~ ":return~b;case" ! ":return!b;case" delete ":return!0;case" void ":return;case" typeof ":return typeof b}e.unreachable()}function j(a,b,c){switch(a){case" | ":return b|c;case" ^ ":return b^c;case" & ":return b&c;case" == ":return b==c;case" != ":return b!=c;case" === ":return b===c;case" !== ":return b!==c;case" < ":return b<c;case" > ":return b>c;case" <= ":return b<=c;case" >= ":return b>=c;case" << ":return b<<c;case" >> ":return b>>c;case" >>> ":return b>>>c;case" + ":return b+c;case" - ":return b-c;case" * ":return b*c;case" / ":return b/c;case" % ":return b%c}e.unreachable()}function k(a,b){function c(a){var e,g,h;switch(a.type){case d.AssignmentExpression:return!0;case d.ArrayExpression:for(e=0,g=a.elements.length;e<g;++e)if(c(a.elements[e]))return!0;return!1;case d.BinaryExpression:return!f(a
2016-12-20 20:18:16 +00:00
h.init&&g.push(h.init),1===g.length?h.init=g[0]:h.init={type:d.SequenceExpression,expressions:g},g=[]),j.push(h));g.length&&j.push(b(g,h)),a.body=j}function h(a,b){var h;return f=!1,h=b.get(" destructive ",{pathName:c})?a:e.deepCopy(a),e.traverse(h,{enter:function(a){switch(a.type){case d.BlockStatement:case d.Program:g(a)}}}),{result:h,modified:f}}c=" transform - to - sequence - expression ",e=b(" / lib / common . js ",a),d=e.Syntax,h.passName=c,a.exports=h}()}),b.define(" / lib / pass / transform - to - compound - assignment . js ",function(a,c,d,e){!function(c,d,e,f,g){function h(a,b){return a.type===b.type&&(a.type===d.Identifier&&a.name===b.name)}function i(a){switch(a){case" * ":case" / ":case" % ":case" + ":case" - ":case" << ":case" >> ":case" >>> ":case" & ":case" ^ ":case" | ":return a+" = "}return null}function j(a){switch(a){case" *= ":case" /= ":case" %= ":case" += ":case" -= ":case" <<= ":case" >>= ":case" >>>= ":case" &= ":case" ^= ":case" |= ":return a}return null}function k(a,b){var k,l,m;return k=b.get(" destructive ",{pathName:c})?a:e.deepCopy(a),g=!1,l=null,m=f.analyze(k,{directive:!0}),m.attach(),e.traverse(k,{enter:function(a){var b,c,e,f;l=m.acquire(a)||l,a.type===d.AssignmentExpression&&" = "===a.operator&&(b=a.left,c=a.right,c.type===d.BinaryExpression&&h(c.left,b)?(e=i(c.operator),e&&(g=!0,a.operator=e,a.right=c.right)):c.type===d.AssignmentExpression&&h(c.left,b)&&j(c.operator)&&(f=l.resolve(a.left),f.isStatic()&&(g=!0,a.operator=c.operator,a.right=c.right)))},leave:function(a){l=m.release(a)||l}}),m.detach(),{result:k,modified:g}}c=" transform - to - compound - assignment ",f=b(" / node_modules / escope / escope . js ",a),e=b(" / lib / common . js ",a),d=e.Syntax,k.passName=c,a.exports=k}()}),b.define(" / lib / pass / remove - wasted - blocks . js ",function(a,c,d,e){!function(c,d,e,f){function g(a){var b,c,g,h,i,j,k,l;for(i=[],b=0,c=a.length;b<c;++b)if(j=a[b],j.type===d.BlockStatement){for(l=!0,g=0,h=j.body.length;g<h;++g)k=j.body[g],e.isScopedDeclaration(k)&&(l=!1);l?(f=!0,i=i.concat(j.body)):i.push(j)}else i.push(j);return i}function h(a,b){var h;return h=b.get(" destructive ",{pathName:c})?a:e.deepCopy(a),f=!1,h=e.replace(h,{leave:function(a,b){var c,h,i;if(a.type===d.BlockStatement||a.type===d.Program)for(c=0,h=a.body.length;c<h;++c)if(i=a.body[c],i.type===d.BlockStatement){a.body=g(a.body);break}if(b.type!==d.FunctionDeclaration&&b.type!==d.FunctionExpression&&b.type!==d.TryStatement&&b.type!==d.CatchClause){for(;a.type===d.BlockStatement&&1===a.body.length&&!e.isScopedDeclaration(a.body[0]);)f=!0,a=a.body[0];return a.type===d.BlockStatement&&0===a.body.length?(f=!0,{type:d.EmptyStatement}):a}}}),{result:h,modified:f}}c=" remove - wasted - blocks ",e=b(" / lib / common . js ",a),d=e.Syntax,h.passName=c,a.exports=h}()}),b.define(" / lib / pass / remove - empty - statement . js ",function(a,c,d,e){!function(c,d,e,f){function g(a){var b,c,e,g;for(g=[],b=0,c=a.length;b<c;++b)e=a[b],e.type===d.EmptyStatement?f=!0:g.push(e);return g}function h(a){a.alternate&&(a.alternate.type===d.EmptyStatement?(f=!0,a.alternate=null):a.consequent.type===d.EmptyStatement&&(f=!0,a.consequent=a.alternate,a.alternate=null,a.test=e.moveLocation(a.test,{type:d.UnaryExpression,operator:" ! ",argument:a.test})))}function i(a,b){var i;return f=!1,i=b.get(" destructive ",{pathName:c})?a:e.deepCopy(a),e.traverse(i,{enter:function(a){var b;switch(a.type){case d.BlockStatement:case d.Program:a.body=g(a.body);break;case d.SwitchCase:a.consequent=g(a.consequent);break;case d.IfStatement:h(a);break;case d.SwitchStatement:a.cases.length&&(b=e.Array.last(a.cases),!b.test&&e.Array.empty(b.consequent)&&(f=!0,a.cases.pop()))}}}),{result:i,modified:f}}c=" remove - empty - statement ",e=b(" / lib / common . js ",a),d=e.Syntax,i.passName=c,a.exports=i}()}),b.define(" / lib / pass / remove - unused - label . js ",function(a,c,d,e){!function(c,d,e,f,g,h){function i(a){this.set=new e,this.unused=[],this.upper=a}function j(a,b){var e;return e=b.get(" destructive ",{pathName:c})?a:f.deepCopy(a),g=null,h=!1,e=f.replace(e,{enter:function(a){switch(a.type){case d.Program:case d.FunctionDeclaration:case d.FunctionExpression:g=new i(g);break;case d.LabeledStatement:g.register(a);break;case d.BreakStatement:case d.Co
a?this._monthsShortStrictRegex:this._monthsShortRegex):this._monthsShortStrictRegex&&a?this._monthsShortStrictRegex:this._monthsShortRegex}function ba(a){return this._monthsParseExact?(f(this," _monthsRegex ")||ca.call(this),a?this._monthsStrictRegex:this._monthsRegex):this._monthsStrictRegex&&a?this._monthsStrictRegex:this._monthsRegex}function ca(){function a(a,b){return b.length-a.length}var b,c,d=[],e=[],f=[];for(b=0;b<12;b++)c=h([2e3,b]),d.push(this.monthsShort(c,"")),e.push(this.months(c,"")),f.push(this.months(c,"")),f.push(this.monthsShort(c,""));for(d.sort(a),e.sort(a),f.sort(a),b=0;b<12;b++)d[b]=R(d[b]),e[b]=R(e[b]),f[b]=R(f[b]);this._monthsRegex=new RegExp(" ^ ( "+f.join(" | ")+" ) "," i "),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp(" ^ ( "+e.join(" | ")+" ) $ "," i "),this._monthsShortStrictRegex=new RegExp(" ^ ( "+d.join(" | ")+" ) $ "," i ")}function da(a){var b,c=a._a;return c&&j(a).overflow===-2&&(b=c[wd]<0||c[wd]>11?wd:c[xd]<1||c[xd]>V(c[vd],c[wd])?xd:c[yd]<0||c[yd]>24||24===c[yd]&&(0!==c[zd]||0!==c[Ad]||0!==c[Bd])?yd:c[zd]<0||c[zd]>59?zd:c[Ad]<0||c[Ad]>59?Ad:c[Bd]<0||c[Bd]>999?Bd:-1,j(a)._overflowDayOfYear&&(b<vd||b>xd)&&(b=xd),j(a)._overflowWeeks&&b===-1&&(b=Cd),j(a)._overflowWeekday&&b===-1&&(b=Dd),j(a).overflow=b),a}function ea(b){a.suppressDeprecationWarnings===!1&&" undefined "!=typeof console&&console.warn&&console.warn(" Deprecation warning : "+b)}function fa(a,b){var c=!0;return g(function(){return c&&(ea(a+" \ nArguments : "+Array.prototype.slice.call(arguments).join(" , ")+" \ n "+(new Error).stack),c=!1),b.apply(this,arguments)},b)}function ga(a,b){Jd[a]||(ea(b),Jd[a]=!0)}function ha(a){var b,c,d,e,f,g,h=a._i,i=Kd.exec(h)||Ld.exec(h);if(i){for(j(a).iso=!0,b=0,c=Nd.length;b<c;b++)if(Nd[b][1].exec(i[1])){e=Nd[b][0],d=Nd[b][2]!==!1;break}if(null==e)return void(a._isValid=!1);if(i[3]){for(b=0,c=Od.length;b<c;b++)if(Od[b][1].exec(i[3])){f=(i[2]||" ")+Od[b][0];break}if(null==f)return void(a._isValid=!1)}if(!d&&null!=f)return void(a._isValid=!1);if(i[4]){if(!Md.exec(i[4]))return void(a._isValid=!1);g=" Z "}a._f=e+(f||"")+(g||""),wa(a)}else a._isValid=!1}function ia(b){var c=Pd.exec(b._i);return null!==c?void(b._d=new Date(+c[1])):(ha(b),void(b._isValid===!1&&(delete b._isValid,a.createFromInputFallback(b))))}function ja(a,b,c,d,e,f,g){var h=new Date(a,b,c,d,e,f,g);return a<100&&a>=0&&isFinite(h.getFullYear())&&h.setFullYear(a),h}function ka(a){var b=new Date(Date.UTC.apply(null,arguments));return a<100&&a>=0&&isFinite(b.getUTCFullYear())&&b.setUTCFullYear(a),b}function la(a){return ma(a)?366:365}function ma(a){return a%4===0&&a%100!==0||a%400===0}function na(){return ma(this.year())}function oa(a,b,c){var d=7+b-c,e=(7+ka(a,0,d).getUTCDay()-b)%7;return-e+d-1}function pa(a,b,c,d,e){var f,g,h=(7+c-d)%7,i=oa(a,d,e),j=1+7*(b-1)+h+i;return j<=0?(f=a-1,g=la(f)+j):j>la(a)?(f=a+1,g=j-la(a)):(f=a,g=j),{year:f,dayOfYear:g}}function qa(a,b,c){var d,e,f=oa(a.year(),b,c),g=Math.floor((a.dayOfYear()-f-1)/7)+1;return g<1?(e=a.year()-1,d=g+ra(e,b,c)):g>ra(a.year(),b,c)?(d=g-ra(a.year(),b,c),e=a.year()+1):(e=a.year(),d=g),{week:d,year:e}}function ra(a,b,c){var d=oa(a,b,c),e=oa(a+1,b,c);return(la(a)-d+e)/7}function sa(a,b,c){return null!=a?a:null!=b?b:c}function ta(b){var c=new Date(a.now());return b._useUTC?[c.getUTCFullYear(),c.getUTCMonth(),c.getUTCDate()]:[c.getFullYear(),c.getMonth(),c.getDate()]}function ua(a){var b,c,d,e,f=[];if(!a._d){for(d=ta(a),a._w&&null==a._a[xd]&&null==a._a[wd]&&va(a),a._dayOfYear&&(e=sa(a._a[vd],d[vd]),a._dayOfYear>la(e)&&(j(a)._overflowDayOfYear=!0),c=ka(e,0,a._dayOfYear),a._a[wd]=c.getUTCMonth(),a._a[xd]=c.getUTCDate()),b=0;b<3&&null==a._a[b];++b)a._a[b]=f[b]=d[b];for(;b<7;b++)a._a[b]=f[b]=null==a._a[b]?2===b?1:0:a._a[b];24===a._a[yd]&&0===a._a[zd]&&0===a._a[Ad]&&0===a._a[Bd]&&(a._nextDay=!0,a._a[yd]=0),a._d=(a._useUTC?ka:ja).apply(null,f),null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()-a._tzm),a._nextDay&&(a._a[yd]=24)}}function va(a){var b,c,d,e,f,g,h,i;b=a._w,null!=b.GG||null!=b.W||null!=b.E?(f=1,g=4,c=sa(b.GG,a._a[vd],qa(Ea(),1,4).year),d=sa(b.W,1),e=sa(b.E,1),(e<1||e>7)&&(i=!0)):(f=a.
re.monthsParse=Y,re._monthsRegex=Id,re.monthsRegex=ba,re._monthsShortRegex=Hd,re.monthsShortRegex=aa,re.week=Qb,re._week=$d,re.firstDayOfYear=Sb,re.firstDayOfWeek=Rb,re.weekdays=Wb,re._weekdays=ae,re.weekdaysMin=Yb,re._weekdaysMin=ce,re.weekdaysShort=Xb,re._weekdaysShort=be,re.weekdaysParse=Zb,re.isPM=fc,re._meridiemParse=de,re.meridiem=gc,x(" en ",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(a){var b=a%10,c=1===r(a%100/10)?" th ":1===b?" st ":2===b?" nd ":3===b?" rd ":" th ";return a+c}}),a.lang=fa(" moment . lang is deprecated . Use moment . locale instead . ",x),a.langData=fa(" moment . langData is deprecated . Use moment . localeData instead . ",z);var se=Math.abs,te=Lc(" ms "),ue=Lc(" s "),ve=Lc(" m "),we=Lc(" h "),xe=Lc(" d "),ye=Lc(" w "),ze=Lc(" M "),Ae=Lc(" y "),Be=Nc(" milliseconds "),Ce=Nc(" seconds "),De=Nc(" minutes "),Ee=Nc(" hours "),Fe=Nc(" days "),Ge=Nc(" months "),He=Nc(" years "),Ie=Math.round,Je={s:45,m:45,h:22,d:26,M:11},Ke=Math.abs,Le=Ia.prototype;Le.abs=Bc,Le.add=Dc,Le.subtract=Ec,Le.as=Jc,Le.asMilliseconds=te,Le.asSeconds=ue,Le.asMinutes=ve,Le.asHours=we,Le.asDays=xe,Le.asWeeks=ye,Le.asMonths=ze,Le.asYears=Ae,Le.valueOf=Kc,Le._bubble=Gc,Le.get=Mc,Le.milliseconds=Be,Le.seconds=Ce,Le.minutes=De,Le.hours=Ee,Le.days=Fe,Le.weeks=Oc,Le.months=Ge,Le.years=He,Le.humanize=Sc,Le.toISOString=Tc,Le.toString=Tc,Le.toJSON=Tc,Le.locale=ub,Le.localeData=vb,Le.toIsoString=fa(" toIsoString () is deprecated . Please use toISOString () instead ( notice the capitals ) ",Tc),Le.lang=Zd,J(" X ",0,0," unix "),J(" x ",0,0," valueOf "),O(" x ",od),O(" X ",rd),S(" X ",function(a,b,c){c._d=new Date(1e3*parseFloat(a,10))}),S(" x ",function(a,b,c){c._d=new Date(r(a))}),a.version=" 2.11 . 2 ",b(Ea),a.fn=ke,a.min=Ga,a.max=Ha,a.now=Td,a.utc=h,a.unix=kc,a.months=wc,a.isDate=d,a.locale=x,a.invalid=l,a.duration=Za,a.isMoment=p,a.weekdays=yc,a.parseZone=lc,a.localeData=z,a.isDuration=Ja,a.monthsShort=xc,a.weekdaysMin=Ac,a.defineLocale=y,a.weekdaysShort=zc,a.normalizeUnits=B,a.relativeTimeThreshold=Rc,a.prototype=ke;var Me=a;return Me}),/** @license
2016-11-28 10:42:58 +00:00
========================================================================
moment-timezone.js
version : 0.4.1
authors : Tim Wood
license : MIT
github.com/moment/moment-timezone
*/
function(a,b){" function "==typeof define&&define.amd?define([" moment "],b):" object "==typeof exports?module.exports=b(require(" moment ")):b(a.moment)}(this,function(a){function b(a){return a>96?a-87:a>64?a-29:a-48}function c(a){var c,d=0,e=a.split(" . "),f=e[0],g=e[1]||"",h=1,i=0,j=1;for(45===a.charCodeAt(0)&&(d=1,j=-1),d;d<f.length;d++)c=b(f.charCodeAt(d)),i=60*i+c;for(d=0;d<g.length;d++)h/=60,c=b(g.charCodeAt(d)),i+=c*h;return i*j}function d(a){for(var b=0;b<a.length;b++)a[b]=c(a[b])}function e(a,b){for(var c=0;c<b;c++)a[c]=Math.round((a[c-1]||0)+6e4*a[c]);a[b-1]=1/0}function f(a,b){var c,d=[];for(c=0;c<b.length;c++)d[c]=a[b[c]];return d}function g(a){var b=a.split(" | "),c=b[2].split(" "),g=b[3].split(""),h=b[4].split(" ");return d(c),d(g),d(h),e(h,g.length),{name:b[0],abbrs:f(b[1].split(" "),g),offsets:f(c,g),untils:h}}function h(a){a&&this._set(g(a))}function i(a){return(a||"").toLowerCase().replace(/\//g," _ ")}function j(a){var b,c,d;for(" string "==typeof a&&(a=[a]),b=0;b<a.length;b++)c=a[b].split(" | ")[0],d=i(c),v[d]=a[b],x[d]=c}function k(a,b){a=i(a);var c,d=v[a];return d instanceof h?d:" string "==typeof d?(d=new h(d),v[a]=d,d):w[a]&&b!==k&&(c=k(w[a],k))?(d=v[a]=new h,d._set(c),d.name=x[a],d):null}function l(){var a,b=[];for(a in x)x.hasOwnProperty(a)&&(v[a]||v[w[a]])&&x[a]&&b.push(x[a]);return b.sort()}function m(a){var b,c,d,e;for(" string "==typeof a&&(a=[a]),b=0;b<a.length;b++)c=a[b].split(" | "),d=i(c[0]),e=i(c[1]),w[d]=e,x[d]=c[0],w[e]=d,x[e]=c[1]}function n(a){j(a.zones),m(a.links),r.dataVersion=a.version}function o(a){return o.didShowError||(o.didShowError=!0,q(" moment . tz . zoneExists ( '"+a+"' ) has been deprecated in favor of ! moment . tz . zone ( '"+a+"' ) ")),!!k(a)}function p(a){return!(!a._a||void 0!==a._tzm)}function q(a){" undefined "!=typeof console&&" function "==typeof console.error&&console.error(a)}function r(b){var c=Array.prototype.slice.call(arguments,0,-1),d=arguments[arguments.length-1],e=k(d),f=a.utc.apply(null,c);return e&&!a.isMoment(b)&&p(f)&&f.add(e.parse(f)," minutes "),f.tz(d),f}function s(a){return function(){return this._z?this._z.abbr(this):a.call(this)}}function t(a){return function(){return this._z=null,a.apply(this,arguments)}}if(void 0!==a.tz)return q(" Moment Timezone "+a.tz.version+" was already loaded "+(a.tz.dataVersion?" with data from ":" without any data ")+a.tz.dataVersion),a;var u=" 0.4 . 1 ",v={},w={},x={},y=a.version.split(" . "),z=+y[0],A=+y[1];(z<2||2===z&&A<6)&&q(" Moment Timezone requires Moment . js >= 2.6 . 0. You are using Moment . js "+a.version+" . See momentjs . com "),h.prototype={_set:function(a){this.name=a.name,this.abbrs=a.abbrs,this.untils=a.untils,this.offsets=a.offsets},_index:function(a){var b,c=+a,d=this.untils;for(b=0;b<d.length;b++)if(c<d[b])return b},parse:function(a){var b,c,d,e,f=+a,g=this.offsets,h=this.untils,i=h.length-1;for(e=0;e<i;e++)if(b=g[e],c=g[e+1],d=g[e?e-1:e],b<c&&r.moveAmbiguousForward?b=c:b>d&&r.moveInvalidForward&&(b=d),f<h[e]-6e4*b)return g[e];return g[i]},abbr:function(a){return this.abbrs[this._index(a)]},offset:function(a){return this.offsets[this._index(a)]}},r.version=u,r.dataVersion="",r._zones=v,r._links=w,r._names=x,r.add=j,r.link=m,r.load=n,r.zone=k,r.zoneExists=o,r.names=l,r.Zone=h,r.unpack=g,r.unpackBase60=c,r.needsOffset=p,r.moveInvalidForward=!0,r.moveAmbiguousForward=!1;var B=a.fn;a.tz=r,a.defaultZone=null,a.updateOffset=function(b,c){var d,e=a.defaultZone;void 0===b._z&&(e&&p(b)&&!b._isUTC&&(b._d=a.utc(b._a)._d,b.utc().add(e.parse(b)," minutes ")),b._z=e),b._z&&(d=b._z.offset(b),Math.abs(d)<16&&(d/=60),void 0!==b.utcOffset?b.utcOffset(-d,c):b.zone(d,c))},B.tz=function(b){return b?(this._z=k(b),this._z?a.updateOffset(this):q(" Moment Timezone has no data for "+b+" . See http : //momentjs.com/timezone/docs/#/data-loading/."),this):this._z?this._z.name:void 0},B.zoneName=s(B.zoneName),B.zoneAbbr=s(B.zoneAbbr),B.utc=t(B.utc),a.tz.setDefault=function(b){return(z<2||2===z&&A<9)&&q("Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js "+a.version+"."),a.defaultZone=b?k(b):null,a};var C=a.momentProperties;return"[object Array]"===Object.prototype.
links : [ "Africa/Abidjan|Africa/Bamako" , "Africa/Abidjan|Africa/Banjul" , "Africa/Abidjan|Africa/Conakry" , "Africa/Abidjan|Africa/Dakar" , "Africa/Abidjan|Africa/Freetown" , "Africa/Abidjan|Africa/Lome" , "Africa/Abidjan|Africa/Nouakchott" , "Africa/Abidjan|Africa/Ouagadougou" , "Africa/Abidjan|Africa/Sao_Tome" , "Africa/Abidjan|Africa/Timbuktu" , "Africa/Abidjan|Atlantic/St_Helena" , "Africa/Addis_Ababa|Africa/Asmara" , "Africa/Addis_Ababa|Africa/Asmera" , "Africa/Addis_Ababa|Africa/Dar_es_Salaam" , "Africa/Addis_Ababa|Africa/Djibouti" , "Africa/Addis_Ababa|Africa/Kampala" , "Africa/Addis_Ababa|Africa/Mogadishu" , "Africa/Addis_Ababa|Africa/Nairobi" , "Africa/Addis_Ababa|Indian/Antananarivo" , "Africa/Addis_Ababa|Indian/Comoro" , "Africa/Addis_Ababa|Indian/Mayotte" , "Africa/Bangui|Africa/Brazzaville" , "Africa/Bangui|Africa/Douala" , "Africa/Bangui|Africa/Kinshasa" , "Africa/Bangui|Africa/Lagos" , "Africa/Bangui|Africa/Libreville" , "Africa/Bangui|Africa/Luanda" , "Africa/Bangui|Africa/Malabo" , "Africa/Bangui|Africa/Niamey" , "Africa/Bangui|Africa/Porto-Novo" , "Africa/Blantyre|Africa/Bujumbura" , "Africa/Blantyre|Africa/Gaborone" , "Africa/Blantyre|Africa/Harare" , "Africa/Blantyre|Africa/Kigali" , "Africa/Blantyre|Africa/Lubumbashi" , "Africa/Blantyre|Africa/Lusaka" , "Africa/Blantyre|Africa/Maputo" , "Africa/Cairo|Egypt" , "Africa/Johannesburg|Africa/Maseru" , "Africa/Johannesburg|Africa/Mbabane" , "Africa/Juba|Africa/Khartoum" , "Africa/Tripoli|Libya" , "America/Adak|America/Atka" , "America/Adak|US/Aleutian" , "America/Anchorage|US/Alaska" , "America/Anguilla|America/Antigua" , "America/Anguilla|America/Dominica" , "America/Anguilla|America/Grenada" , "America/Anguilla|America/Guadeloupe" , "America/Anguilla|America/Marigot" , "America/Anguilla|America/Montserrat" , "America/Anguilla|America/Port_of_Spain" , "America/Anguilla|America/St_Barthelemy" , "America/Anguilla|America/St_Kitts" , "America/Anguilla|America/St_Lucia" , "America/Anguilla|America/St_Thomas" , "America/Anguilla|America/St_Vincent" , "America/Anguilla|America/Tortola" , "America/Anguilla|America/Virgin" , "America/Argentina/Buenos_Aires|America/Buenos_Aires" , "America/Argentina/Catamarca|America/Argentina/ComodRivadavia" , "America/Argentina/Catamarca|America/Catamarca" , "America/Argentina/Cordoba|America/Cordoba" , "America/Argentina/Cordoba|America/Rosario" , "America/Argentina/Jujuy|America/Jujuy" , "America/Argentina/Mendoza|America/Mendoza" , "America/Aruba|America/Curacao" , "America/Aruba|America/Kralendijk" , "America/Aruba|America/Lower_Princes" , "America/Atikokan|America/Coral_Harbour" , "America/Chicago|US/Central" , "America/Denver|America/Shiprock" , "America/Denver|Navajo" , "America/Denver|US/Mountain" , "America/Detroit|US/Michigan" , "America/Edmonton|Canada/Mountain" , "America/Ensenada|America/Tijuana" , "America/Ensenada|Mexico/BajaNorte" , "America/Fort_Wayne|America/Indiana/Indianapolis" , "America/Fort_Wayne|America/Indianapolis" , "America/Fort_Wayne|US/East-Indiana" , "America/Halifax|Canada/Atlantic" , "America/Havana|Cuba" , "America/Indiana/Knox|America/Knox_IN" , "America/Indiana/Knox|US/Indiana-Starke" , "America/Jamaica|Jamaica" , "America/Kentucky/Louisville|America/Louisville" , "America/Los_Angeles|US/Pacific" , "America/Los_Angeles|US/Pacific-New" , "America/Manaus|Brazil/West" , "America/Mazatlan|Mexico/BajaSur" , "America/Mexico_City|Mexico/General" , "America/Montreal|America/Toronto" , "America/Montreal|Canada/Eastern" , "America/New_York|US/Eastern" , "America/Noronha|Brazil/DeNoronha" , "America/Phoenix|US/Arizona" , "America/Porto_Acre|America/Rio_Branco" , "America/Porto_Acre|Brazil/Acre" , "America/Regina|Canada/East-Saskatchewan" , "America/Regina|Canada/Saskatchewan" , "America/Santiago|Chile/Continental" , "America/Sao_Paulo|Brazil/East" , "America/St_Johns|Canada/Newfoundland" , "America/Vancouver|Canada/Pacific" , "America/Whitehorse|Canada/Yukon" , "America/Winnipeg|Canada/Central" , "Antarctica/McMurdo|Antarctica/South_Pole" , "Antarctica/McMurdo|NZ" , "Antarctica/McMurdo|Pacific/Auckland" , "Arctic/Longyearbyen|Atlantic/Jan_Mayen" , "Arctic/Longyearbyen|Europe/Oslo" , "Asia/Aden|Asia/Kuwait" , "Asia/Aden|Asia/Riyadh" , "Asia/Ashgabat|Asia/Ashkhabad" , "Asia/Bahrain|Asia/Qatar" , "Asia/Bangkok|Asia/Phnom_Penh" , "Asia/B
========================================================================
Google Code Prettify
Copyright (C) 2006 Google Inc.
Licensed under the Apache License, Version 2.0 (the " License ");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an " AS IS " BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
var IN_GLOBAL_SCOPE=!0;window.PR_SHOULD_USE_CONTINUATION=!0;var prettyPrintOne,prettyPrint;!function(){function a(a){function b(a){var b=a.charCodeAt(0);if(92!==b)return b;var c=a.charAt(1);return b=l[c],b?b:" 0 "<=c&&c<=" 7 "?parseInt(a.substring(1),8):" u "===c||" x "===c?parseInt(a.substring(2),16):a.charCodeAt(1)}function c(a){if(a<32)return(a<16?" \\ x0 ":" \\ x ")+a.toString(16);var b=String.fromCharCode(a);return" \\ "===b||" - "===b||" ] "===b||" ^ "===b?" \\ "+b:b}function d(a){var d=a.substring(1,a.length-1).match(new RegExp(" \\\\ u [ 0 - 9 A - Fa - f ]{ 4 } | \\\\ x [ 0 - 9 A - Fa - f ]{ 2 } | \\\\ [ 0 - 3 ][ 0 - 7 ]{ 0 , 2 } | \\\\ [ 0 - 7 ]{ 1 , 2 } | \\\\ [ \\ s \\ S ] |-| [ ^- \\\\ ] "," g ")),e=[],f=" ^ "===d[0],g=[" [ "];f&&g.push(" ^ ");for(var h=f?1:0,i=d.length;h<i;++h){var j=d[h];if(/\\[bdsw]/i.test(j))g.push(j);else{var k,l=b(j);h+2<i&&" - "===d[h+1]?(k=b(d[h+2]),h+=2):k=l,e.push([l,k]),k<65||l>122||(k<65||l>90||e.push([32|Math.max(65,l),32|Math.min(k,90)]),k<97||l>122||e.push([Math.max(97,l)&-33,Math.min(k,122)&-33]))}}e.sort(function(a,b){return a[0]-b[0]||b[1]-a[1]});for(var m=[],n=[],h=0;h<e.length;++h){var o=e[h];o[0]<=n[1]+1?n[1]=Math.max(n[1],o[1]):m.push(n=o)}for(var h=0;h<m.length;++h){var o=m[h];g.push(c(o[0])),o[1]>o[0]&&(o[1]+1>o[0]&&g.push(" - "),g.push(c(o[1])))}return g.push(" ] "),g.join("")}function e(a){for(var b=a.source.match(new RegExp(" ( ?: \\ [( ?: [ ^ \\ x5C \\ x5D ] | \\\\ [ \\ s \\ S ]) * \\ ] | \\\\ u [ A - Fa - f0 - 9 ]{ 4 } | \\\\ x [ A - Fa - f0 - 9 ]{ 2 } | \\\\ [ 0 - 9 ] +| \\\\ [ ^ ux0 - 9 ] | \\ ( \\ ? [ :!= ] | [ \\ ( \\ ) \\ ^ ] | [ ^ \\ x5B \\ x5C \\ ( \\ ) \\ ^ ] + ) "," g ")),e=b.length,h=[],i=0,j=0;i<e;++i){var k=b[i];if(" ( "===k)++j;else if(" \\ "===k.charAt(0)){var l=+k.substring(1);l&&(l<=j?h[l]=-1:b[i]=c(l))}}for(var i=1;i<h.length;++i)-1===h[i]&&(h[i]=++f);for(var i=0,j=0;i<e;++i){var k=b[i];if(" ( "===k)++j,h[j]||(b[i]=" ( ?: ");else if(" \\ "===k.charAt(0)){var l=+k.substring(1);l&&l<=j&&(b[i]=" \\ "+h[l])}}for(var i=0;i<e;++i)" ^ "===b[i]&&" ^ "!==b[i+1]&&(b[i]="");if(a.ignoreCase&&g)for(var i=0;i<e;++i){var k=b[i],m=k.charAt(0);k.length>=2&&" [ "===m?b[i]=d(k):" \\ "!==m&&(b[i]=k.replace(/[a-zA-Z]/g,function(a){var b=a.charCodeAt(0);return" [ "+String.fromCharCode(b&-33,32|b)+" ] "}))}return b.join("")}for(var f=0,g=!1,h=!1,i=0,j=a.length;i<j;++i){var k=a[i];if(k.ignoreCase)h=!0;else if(/[a-z]/i.test(k.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi,""))){g=!0,h=!1;break}}for(var l={b:8,t:9,n:10,v:11,f:12,r:13},m=[],i=0,j=a.length;i<j;++i){var k=a[i];if(k.global||k.multiline)throw new Error(""+k);m.push(" ( ?: "+e(k)+" ) ")}return new RegExp(m.join(" | "),h?" gi ":" g ")}function b(a,b){function c(a){var i=a.nodeType;if(1==i){if(d.test(a.className))return;for(var j=a.firstChild;j;j=j.nextSibling)c(j);var k=a.nodeName.toLowerCase();" br "!==k&&" li "!==k||(e[h]=" \ n ",g[h<<1]=f++,g[h++<<1|1]=a)}else if(3==i||4==i){var l=a.nodeValue;l.length&&(l=b?l.replace(/\r\n?/g," \ n "):l.replace(/[ \t\r\n]+/g," "),e[h]=l,g[h<<1]=f,f+=l.length,g[h++<<1|1]=a)}}var d=/(?:^|\s)nocode(?:\s|$)/,e=[],f=0,g=[],h=0;return c(a),{sourceCode:e.join("").replace(/\n$/,""),spans:g}}function c(a,b,c,d){if(b){var e={sourceCode:b,basePos:a};c(e),d.push.apply(d,e.decorations)}}function d(a){for(var b=void 0,c=a.firstChild;c;c=c.nextSibling){var d=c.nodeType;b=1===d?b?a:c:3===d&&R.test(c.nodeValue)?a:b}return b===a?void 0:b}function e(b,d){var e,f={};!function(){for(var c=b.concat(d),g=[],h={},i=0,j=c.length;i<j;++i){var k=c[i],l=k[3];if(l)for(var m=l.length;--m>=0;)f[l.charAt(m)]=k;var n=k[1],o=""+n;h.hasOwnProperty(o)||(g.push(n),h[o]=null)}g.push(/[\0-\uffff]/),e=a(g)}();var g=d.length,h=function(a){for(var b=a.sourceCode,i=a.basePos,k=[i,J],l=0,m=b.match(e)||[],n={},o=0,p=m.length;o<p;++o){var q,r=m[o],s=n[r],t=void 0;if(" string "==typeof s)q=!1;else{var u=f[r.charAt(0)];if(u)t=r.match(u[1]),s=u[0];else{for(var v=0;v<g;++v)if(u=d[v],t=r.match(u[1])){s=u[0];break}t||(s=J)}q=s.length>=5&&" lang - "===s.substring(0,5),!q||t&&" string "==typeof t[1]||(q=!1,s=M),q||(n[r]=s)}var w=l;if(l+=r.length,q){var x=t[1],y=r.indexOf(x),z=y+x.length;t[2]&&(z=r.length-t[2].length,y=z-x.length);var A=s.substring(5);c(i+w,r.substring(0,y),h,k),c(i+w+y,x,j(A,x),k),c(i+w+z,r.substring(z),h,k)}else k.push(i+w,s)}a.decorations=k};return h}functi
========================================================================
vkBeautify - javascript plugin to pretty-print or minify text in XML, JSON, CSS and SQL formats.
Version - 0.99.00.beta
Copyright (c) 2012 Vadim Kiryukhin
vkiryukhin @ gmail.com
http://www.eslinstructor.net/vkbeautify/
Dual licensed under the MIT and GPL licenses:
http://www.opensource.org/licenses/mit-license.php
http://www.gnu.org/licenses/gpl.html
*/
function(){function a(a){var b=" ";if(isNaN(parseInt(a)))b=a;else switch(a){case 1:b=" ";break;case 2:b=" ";break;case 3:b=" ";break;case 4:b=" ";break;case 5:b=" ";break;case 6:b=" ";break;case 7:b=" ";break;case 8:b=" ";break;case 9:b=" ";break;case 10:b=" ";break;case 11:b=" ";break;case 12:b=" "}for(var c=[" \ n "],d=0;d<100;d++)c.push(c[d]+b);return c}function b(){this.step=" ",this.shift=a(this.step)}function c(a,b){return b-(a.replace(/\(/g,"").length-a.replace(/\)/g,"").length)}function d(a,b){return a.replace(/\s{1,}/g," ").replace(/ AND /gi," ~::~ "+b+b+" AND ").replace(/ BETWEEN /gi," ~::~ "+b+" BETWEEN ").replace(/ CASE /gi," ~::~ "+b+" CASE ").replace(/ ELSE /gi," ~::~ "+b+" ELSE ").replace(/ END /gi," ~::~ "+b+" END ").replace(/ FROM /gi," ~::~ FROM ").replace(/ GROUP\s{1,}BY/gi," ~::~ GROUP BY ").replace(/ HAVING /gi," ~::~ HAVING ").replace(/ IN /gi," IN ").replace(/ JOIN /gi," ~::~ JOIN ").replace(/ CROSS~::~{1,}JOIN /gi," ~::~ CROSS JOIN ").replace(/ INNER~::~{1,}JOIN /gi," ~::~ INNER JOIN ").replace(/ LEFT~::~{1,}JOIN /gi," ~::~ LEFT JOIN ").replace(/ RIGHT~::~{1,}JOIN /gi," ~::~ RIGHT JOIN ").replace(/ ON /gi," ~::~ "+b+" ON ").replace(/ OR /gi," ~::~ "+b+b+" OR ").replace(/ ORDER\s{1,}BY/gi," ~::~ ORDER BY ").replace(/ OVER /gi," ~::~ "+b+" OVER ").replace(/\(\s{0,}SELECT /gi," ~::~ ( SELECT ").replace(/\)\s{0,}SELECT /gi," ) ~::~ SELECT ").replace(/ THEN /gi," THEN ~::~ "+b).replace(/ UNION /gi," ~::~ UNION ~::~ ").replace(/ USING /gi," ~::~ USING ").replace(/ WHEN /gi," ~::~ "+b+" WHEN ").replace(/ WHERE /gi," ~::~ WHERE ").replace(/ WITH /gi," ~::~ WITH ").replace(/ ALL /gi," ALL ").replace(/ AS /gi," AS ").replace(/ ASC /gi," ASC ").replace(/ DESC /gi," DESC ").replace(/ DISTINCT /gi," DISTINCT ").replace(/ EXISTS /gi," EXISTS ").replace(/ NOT /gi," NOT ").replace(/ NULL /gi," NULL ").replace(/ LIKE /gi," LIKE ").replace(/\s{0,}SELECT /gi," SELECT ").replace(/\s{0,}UPDATE /gi," UPDATE ").replace(/ SET /gi," SET ").replace(/~::~{1,}/g," ~::~ ").split(" ~::~ ")}b.prototype.xml=function(b,c){var d=b.replace(/>\s{0,}</g," >< ").replace(/</g," ~::~< ").replace(/\s*xmlns\:/g," ~::~ xmlns : ").replace(/\s*xmlns\=/g," ~::~ xmlns = ").split(" ~::~ "),e=d.length,f=!1,g=0,h="",i=0,j=c?a(c):this.shift;for(i=0;i<e;i++)d[i].search(/<!/)>-1?(h+=j[g]+d[i],f=!0,(d[i].search(/-->/)>-1||d[i].search(/\]>/)>-1||d[i].search(/!DOCTYPE/)>-1)&&(f=!1)):d[i].search(/-->/)>-1||d[i].search(/\]>/)>-1?(h+=d[i],f=!1):/^<\w/.exec(d[i-1])&&/^<\/\w/.exec(d[i])&&/^<[\w:\-\.\,]+/.exec(d[i-1])==/^<\/[\w:\-\.\,]+/.exec(d[i])[0].replace(" / ","")?(h+=d[i],f||g--):d[i].search(/<\w/)>-1&&d[i].search(/<\//)==-1&&d[i].search(/\/>/)==-1?h=h+=f?d[i]:j[g++]+d[i]:d[i].search(/<\w/)>-1&&d[i].search(/<\//)>-1?h=h+=f?d[i]:j[g]+d[i]:d[i].search(/<\//)>-1?h=h+=f?d[i]:j[--g]+d[i]:d[i].search(/\/>/)>-1?h=h+=f?d[i]:j[g]+d[i]:h+=d[i].search(/<\?/)>-1?j[g]+d[i]:d[i].search(/xmlns\:/)>-1||d[i].search(/xmlns\=/)>-1?j[g]+d[i]:d[i];return" \ n "==h[0]?h.slice(1):h},b.prototype.json=function(a,b){var b=b?b:this.step;return" undefined "==typeof JSON?a:" string "==typeof a?JSON.stringify(JSON.parse(a),null,b):" object "==typeof a?JSON.stringify(a,null,b):a},b.prototype.css=function(b,c){var d=b.replace(/\s{1,}/g," ").replace(/\{/g," { ~::~ ").replace(/\}/g," ~::~ } ~::~ ").replace(/\;/g," ; ~::~ ").replace(/\/\*/g," ~::~ /*").replace(/\*\//g,"*/ ~::~ ").replace(/~::~\s{0,}~::~/g," ~::~ ").split(" ~::~ "),e=d.length,f=0,g="",h=0,i=c?a(c):this.shift;for(h=0;h<e;h++)g+=/\{/.exec(d[h])?i[f++]+d[h]:/\}/.exec(d[h])?i[--f]+d[h]:/\*\\/.exec(d[h])?i[f]+d[h]:i[f]+d[h];return g.replace(/^\n{1,}/,"")},b.prototype.sql=function(b,e){var f=b.replace(/\s{1,}/g," ").replace(/\'/gi," ~::~ '").split("~::~"),g=f.length,h=[],i=0,j=this.step,k=0,l="",m=0,n=e?a(e):this.shift;for(m=0;m<g;m++)h=m%2?h.concat(f[m]):h.concat(d(f[m],j));for(g=h.length,m=0;m<g;m++){k=c(h[m],k),/\s{0,}\s{0,}SELECT\s{0,}/.exec(h[m])&&(h[m]=h[m].replace(/\,/g,",\n"+j+j)),/\s{0,}\s{0,}SET\s{0,}/.exec(h[m])&&(h[m]=h[m].replace(/\,/g,",\n"+j+j)),/\s{0,}\(\s{0,}SELECT\s{0,}/.exec(h[m])?(i++,l+=n[i]+h[m]):/\'/.exec(h[m])?(k<1&&i&&i--,l+=h[m]):(l+=n[i]+h[m],
========================================================================
Sortable
@author RubaXa <trash@rubaxa.org>
@license MIT
*/
2016-12-20 18:49:25 +00:00
function(a){"function"==typeof define&&define.amd?define(a):"undefined"!=typeof module&&"undefined"!=typeof module.exports?module.exports=a():"undefined"!=typeof Package?Sortable=a():window.Sortable=a()}(function(){function a(a,b){if(!a||!a.nodeType||1!==a.nodeType)throw"Sortable: `el` must be HTMLElement, and not "+{}.toString.call(a);this.el=a,this.options=b=s({},b),a[M]=this;var c={group:Math.random(),sort:!0,disabled:!1,store:null,handle:null,scroll:!0,scrollSensitivity:30,scrollSpeed:10,draggable:/[uo]l/i.test(a.nodeName)?"li":">*",ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",ignore:"a, img",filter:null,animation:0,setData:function(a,b){a.setData("Text",b.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1};for(var d in c)!(d in b)&&(b[d]=c[d]);W(b);for(var f in this)"_"===f.charAt(0)&&(this[f]=this[f].bind(this));this.nativeDraggable=!b.forceFallback&&Q,e(a,"mousedown",this._onTapStart),e(a,"touchstart",this._onTapStart),this.nativeDraggable&&(e(a,"dragover",this),e(a,"dragenter",this)),U.push(this._onDragOver),b.store&&this.sort(b.store.get(this))}function b(a){w&&w.state!==a&&(h(w,"display",a?"none":""),!a&&w.state&&x.insertBefore(w,t),w.state=a)}function c(a,b,c){if(a){c=c||O;do if(">*"===b&&a.parentNode===c||q(a,b))return a;while(a!==c&&(a=a.parentNode))}return null}function d(a){a.dataTransfer&&(a.dataTransfer.dropEffect="move"),a.preventDefault()}function e(a,b,c){a.addEventListener(b,c,!1)}function f(a,b,c){a.removeEventListener(b,c,!1)}function g(a,b,c){if(a)if(a.classList)a.classList[c?"add":"remove"](b);else{var d=(" "+a.className+" ").replace(L," ").replace(" "+b+" "," ");a.className=(d+(c?" "+b:"")).replace(L," ")}}function h(a,b,c){var d=a&&a.style;if(d){if(void 0===c)return O.defaultView&&O.defaultView.getComputedStyle?c=O.defaultView.getComputedStyle(a,""):a.currentStyle&&(c=a.currentStyle),void 0===b?c:c[b];b in d||(b="-webkit-"+b),d[b]=c+("string"==typeof c?"":"px")}}function i(a,b,c){if(a){var d=a.getElementsByTagName(b),e=0,f=d.length;if(c)for(;e<f;e++)c(d[e],e);return d}return[]}function j(a,b,c,d,e,f,g){var h=O.createEvent("Event"),i=(a||b[M]).options,j="on"+c.charAt(0).toUpperCase()+c.substr(1);h.initEvent(c,!0,!0),h.to=b,h.from=e||b,h.item=d||b,h.clone=w,h.oldIndex=f,h.newIndex=g,b.dispatchEvent(h),i[j]&&i[j].call(a,h)}function k(a,b,c,d,e,f){var g,h,i=a[M],j=i.options.onMove;return g=O.createEvent("Event"),g.initEvent("move",!0,!0),g.to=b,g.from=a,g.dragged=c,g.draggedRect=d,g.related=e||b,g.relatedRect=f||b.getBoundingClientRect(),a.dispatchEvent(g),j&&(h=j.call(i,g)),h}function l(a){a.draggable=!1}function m(){S=!1}function n(a,b){var c=a.lastElementChild,d=c.getBoundingClientRect();return(b.clientY-(d.top+d.height)>5||b.clientX-(d.right+d.width)>5)&&c}function o(a){for(var b=a.tagName+a.className+a.src+a.href+a.textContent,c=b.length,d=0;c--;)d+=b.charCodeAt(c);return d.toString(36)}function p(a,b){var c=0;if(!a||!a.parentNode)return-1;for(;a&&(a=a.previousElementSibling);)"TEMPLATE"!==a.nodeName.toUpperCase()&&q(a,b)&&c++;return c}function q(a,b){if(a){b=b.split(".");var c=b.shift().toUpperCase(),d=new RegExp("\\s("+b.join("|")+")(?=\\s)","g");return!(""!==c&&a.nodeName.toUpperCase()!=c||b.length&&((" "+a.className+" ").match(d)||[]).length!=b.length)}return!1}function r(a,b){var c,d;return function(){void 0===c&&(c=arguments,d=this,setTimeout(function(){1===c.length?a.call(d,c[0]):a.apply(d,c),c=void 0},b))}}function s(a,b){if(a&&b)for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);return a}if("undefined"==typeof window||"undefined"==typeof window.document)return function(){throw new Error("Sortable.js requires a window with a document")};var t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K={},L=/\s+/g,M="Sortable"+(new Date).getTime(),N=window,O=N.document,P=N.parseInt,Q=!!("draggable"in O.createElement("div")),R=function(a){return a=O.createElement("x"),a.style.cssText="pointer-events:auto","auto"===a.style.pointerEvents}(),S=!1,T=Math.abs,U=([].slice,[]),V=r(function(a,b,c){if(c&&b.scroll){var d
========================================================================
XPath.js - Pure JavaScript implementation of XPath 2.0 parser and evaluator
Copyright (c) 2012 Sergey Ilinsky
Dual licensed under the MIT and GPL licenses.
*/
2016-12-20 20:18:16 +00:00
function(){function a(a){this.code=a,this.message=Vc[a]}function b(b){var c=b.match(/\$?(?:(?![0-9-])(?:\w[\w.-]*|\*):)?(?![0-9-])(?:\w[\w.-]*|\*)|\(:|:\)|\/\/|\.\.|::|\d+(?:\.\d*)?(?:[eE][+-]?\d+)?|\.\d+(?:[eE][+-]?\d+)?|"[^"]*(?:""[^"]*)*"|' [ ^ ']*(?:''[^' ] * ) * '|<<|>>|[!<>]=|(?![0-9-])[\w-]+:\*|\s+|./g);if(c){for(var d=0,e=0,f=c.length;e<f;e++)"(:"==c[e]?d++:":)"==c[e]&&d?d--:d||/^\s/.test(c[e])||(this[this.length++]=c[e]);if(d)throw new a("XPST0003")}}function c(){}function d(a,b,d,e){this.staticContext=a,this.item=b,this.scope=d||{},this.stack={},this.DOMAdapter=e||new c;var f=new Ec,g=f.getTimezoneOffset();this.dateTime=new _a(f.getFullYear(),f.getMonth()+1,f.getDate(),f.getHours(),f.getMinutes(),f.getSeconds()+f.getMilliseconds()/1e3,-g),this.timezone=new Ab(0,Gc.abs(~~(g/60)),Gc.abs(g%60),0,g>0)}function e(){this.dataTypes={},this.documents={},this.functions={},this.collations={},this.collections={}}function f(a,b,c){Xc[a]=c,Yc[a]=b}function g(a,b){Zc[a]=b}function h(c,d){var e=new b(c),f=l(e,d);if(!e.eof())throw new a("XPST0003");if(!f)throw new a("XPST0003");this.internalExpression=f}function i(){}function j(){}function k(){this.items=[]}function l(b,c){var d;if(!b.eof()&&(d=m(b,c))){var e=new k;for(e.items.push(d);","==b.peek();){if(b.next(),b.eof()||!(d=m(b,c)))throw new a("XPST0003");e.items.push(d)}return e}}function m(a,b){if(!a.eof())return s(a,b)||o(a,b)||u(a,b)||K(a,b)}function n(){this.bindings=[],this.returnExpr=null}function o(b,c){if("for"==b.peek()&&"$"==b.peek(1).substr(0,1)){b.next();var d,e=new n;do e.bindings.push(q(b,c));while(","==b.peek()&&b.next());if("return"!=b.peek())throw new a("XPST0003");if(b.next(),b.eof()||!(d=m(b,c)))throw new a("XPST0003");return e.returnExpr=d,e}}function p(a,b,c,d){this.prefix=a,this.localName=b,this.namespaceURI=c,this.inExpr=d}function q(b,c){var d=b.peek().substr(1).match(id);if(!d)throw new a("XPST0003");if("*"==d[1]||"*"==d[2])throw new a("XPST0003");if(b.next(),"in"!=b.peek())throw new a("XPST0003");b.next();var e;if(b.eof()||!(e=m(b,c)))throw new a("XPST0003");return new p(d[1]||null,d[2],d[1]?c.getURIForPrefix(d[1]):null,e)}function r(a,b,c){this.condExpr=a,this.thenExpr=b,this.elseExpr=c}function s(b,c){var d,e,f;if("if"==b.peek()&&"("==b.peek(1)){if(b.next(2),b.eof()||!(d=l(b,c)))throw new a("XPST0003");if(")"!=b.peek())throw new a("XPST0003");if(b.next(),"then"!=b.peek())throw new a("XPST0003");if(b.next(),b.eof()||!(e=m(b,c)))throw new a("XPST0003");if("else"!=b.peek())throw new a("XPST0003");if(b.next(),b.eof()||!(f=m(b,c)))throw new a("XPST0003");return new r(d,e,f)}}function t(a){this.quantifier=a,this.bindings=[],this.satisfiesExpr=null}function u(b,c){var d=b.peek();if(("some"==d||"every"==d)&&"$"==b.peek(1).substr(0,1)){b.next();var e,f=new t(d);do f.bindings.push(w(b,c));while(","==b.peek()&&b.next());if("satisfies"!=b.peek())throw new a("XPST0003");if(b.next(),b.eof()||!(e=m(b,c)))throw new a("XPST0003");return f.satisfiesExpr=e,f}}function v(a,b,c,d){this.prefix=a,this.localName=b,this.namespaceURI=c,this.inExpr=d}function w(b,c){var d=b.peek().substr(1).match(id);if(!d)throw new a("XPST0003");if("*"==d[1]||"*"==d[2])throw new a("XPST0003");if(b.next(),"in"!=b.peek())throw new a("XPST0003");b.next();var e;if(b.eof()||!(e=m(b,c)))throw new a("XPST0003");return new v(d[1]||null,d[2],d[1]?c.getURIForPrefix(d[1]):null,e)}function x(a,b,c){this.left=a,this.right=b,this.operator=c}function y(b,c){var d,e;if(!b.eof()&&(d=ya(b,c))){if(!(b.peek()in cd))return d;var f=b.peek();if(b.next(),b.eof()||!(e=ya(b,c)))throw new a("XPST0003");return new x(d,e,f)}}function z(a,b){var c=vc(a.left.evaluate(b),b);if(!c.length)return new Xa(!1);var d=vc(a.right.evaluate(b),b);if(!d.length)return new Xa(!1);for(var e,f,g=!1,h=0,i=c.length;h<i&&!g;h++)for(var j,k,l=0,m=d.length;l<m&&!g;l++)f=c[h],k=d[l],e=f instanceof xb,j=k instanceof xb,e&&j?(f=ub.cast(f),k=ub.cast(k)):(e?k instanceof Ab?f=Ab.cast(f):k instanceof yb?f=yb.cast(f):k.primitiveKind&&(f=Zc[k.primitiveKind].cast(f)):j&&(f instanceof Ab?k=Ab.cast(k):f instanceof yb?k=yb.cast(k):f.primitiveKind&&(k=Zc[f.primi
if(e)return $c[e].call(d,b,c);throw new a("XPTY0004")},ad.lt=function(b,c,d){var e="";if(Ua(b))Ua(c)&&(e="numeric-less-than");else if(b instanceof Xa)c instanceof Xa&&(e="boolean-less-than");else if(b instanceof ub){if(c instanceof ub)return $c["numeric-less-than"].call(d,Xc.compare.call(d,b,c),new Cb(0))}else b instanceof Ya?c instanceof Ya&&(e="date-less-than"):b instanceof vb?c instanceof vb&&(e="time-less-than"):b instanceof _a?c instanceof _a&&(e="dateTime-less-than"):b instanceof yb?c instanceof yb&&(e="yearMonthDuration-less-than"):b instanceof Ab&&c instanceof Ab&&(e="dayTimeDuration-less-than");if(e)return $c[e].call(d,b,c);throw new a("XPTY0004")},ad.ge=function(b,c,d){var e="";if(Ua(b))Ua(c)&&(e="numeric-less-than");else if(b instanceof Xa)c instanceof Xa&&(e="boolean-less-than");else if(b instanceof ub){if(c instanceof ub)return $c["numeric-greater-than"].call(d,Xc.compare.call(d,b,c),new Cb(-1))}else b instanceof Ya?c instanceof Ya&&(e="date-less-than"):b instanceof vb?c instanceof vb&&(e="time-less-than"):b instanceof _a?c instanceof _a&&(e="dateTime-less-than"):b instanceof yb?c instanceof yb&&(e="yearMonthDuration-less-than"):b instanceof Ab&&c instanceof Ab&&(e="dayTimeDuration-less-than");if(e)return new Xa(!$c[e].call(d,b,c).valueOf());throw new a("XPTY0004")},ad.le=function(b,c,d){var e="";if(Ua(b))Ua(c)&&(e="numeric-greater-than");else if(b instanceof Xa)c instanceof Xa&&(e="boolean-greater-than");else if(b instanceof ub){if(c instanceof ub)return $c["numeric-less-than"].call(d,Xc.compare.call(d,b,c),new Cb(1))}else b instanceof Ya?c instanceof Ya&&(e="date-greater-than"):b instanceof vb?c instanceof vb&&(e="time-greater-than"):b instanceof _a?c instanceof _a&&(e="dateTime-greater-than"):b instanceof yb?c instanceof yb&&(e="yearMonthDuration-greater-than"):b instanceof Ab&&c instanceof Ab&&(e="dayTimeDuration-greater-than");if(e)return new Xa(!$c[e].call(d,b,c).valueOf());throw new a("XPTY0004")};var bd={};bd.is=function(a,b,c){return $c["is-same-node"].call(c,a,b)},bd[">>"]=function(a,b,c){return $c["node-after"].call(c,a,b)},bd["<<"]=function(a,b,c){return $c["node-before"].call(c,a,b)};var cd={"=":z,"!=":z,"<":z,"<=":z,">":z,">=":z,eq:A,ne:A,lt:A,le:A,gt:A,ge:A,is:B,">>":B,"<<":B};C.prototype.left=null,C.prototype.items=null;var dd={};dd["+"]=function(b,c,d){var e="",f=!1;if(Ua(b)?Ua(c)&&(e="numeric-add"):b instanceof Ya?c instanceof yb?e="add-yearMonthDuration-to-date":c instanceof Ab&&(e="add-dayTimeDuration-to-date"):b instanceof yb?c instanceof Ya?(e="add-yearMonthDuration-to-date",f=!0):c instanceof _a?(e="add-yearMonthDuration-to-dateTime",f=!0):c instanceof yb&&(e="add-yearMonthDurations"):b instanceof Ab?c instanceof Ya?(e="add-dayTimeDuration-to-date",f=!0):c instanceof vb?(e="add-dayTimeDuration-to-time",f=!0):c instanceof _a?(e="add-dayTimeDuration-to-dateTime",f=!0):c instanceof Ab&&(e="add-dayTimeDurations"):b instanceof vb?c instanceof Ab&&(e="add-dayTimeDuration-to-time"):b instanceof _a&&(c instanceof yb?e="add-yearMonthDuration-to-dateTime":c instanceof Ab&&(e="add-dayTimeDuration-to-dateTime")),e)return $c[e].call(d,f?c:b,f?b:c);throw new a("XPTY0004")},dd["-"]=function(b,c,d){var e="";if(Ua(b)?Ua(c)&&(e="numeric-subtract"):b instanceof Ya?c instanceof Ya?e="subtract-dates":c instanceof yb?e="subtract-yearMonthDuration-from-date":c instanceof Ab&&(e="subtract-dayTimeDuration-from-date"):b instanceof vb?c instanceof vb?e="subtract-times":c instanceof Ab&&(e="subtract-dayTimeDuration-from-time"):b instanceof _a?c instanceof _a?e="subtract-dateTimes":c instanceof yb?e="subtract-yearMonthDuration-from-dateTime":c instanceof Ab&&(e="subtract-dayTimeDuration-from-dateTime"):b instanceof yb?c instanceof yb&&(e="subtract-yearMonthDurations"):b instanceof Ab&&c instanceof Ab&&(e="subtract-dayTimeDurations"),e)return $c[e].call(d,b,c);throw new a("XPTY0004")},C.prototype.evaluate=function(a){var b=vc(this.left.evaluate(a),a);if(!b.length)return[];ua(a,b,"?");var c=b[0];c instanceof xb&&(c=gb.cast(c));for(var d,e,f=0,g=this.items.length;f<g;f++){if(d=vc(this.items[f][1].evaluate(a),a),!d.l
2017-01-31 18:24:56 +00:00
Ob.cast=function(b){var c;try{c=Cb.cast(b)}catch(a){throw a}if(c.value>=1&&c.value<=255)return new Ob(c.value);throw new a("FORG0001")},g("unsignedByte",Ob),Pb.prototype=new ub,Pb.prototype.builtInKind=j.NORMALIZEDSTRING_DT,Pb.cast=function(a){return new Pb(Ac(a))},g("normalizedString",Pb),Qb.prototype=new Pb,Qb.prototype.builtInKind=j.TOKEN_DT,Qb.cast=function(a){return new Qb(Ac(a))},g("token",Qb),Rb.prototype=new Qb,Rb.prototype.builtInKind=j.NAME_DT,Rb.cast=function(a){return new Rb(Ac(a))},g("Name",Rb),Sb.prototype=new Rb,Sb.prototype.builtInKind=j.NCNAME_DT,Sb.cast=function(a){return new Sb(Ac(a))},g("NCName",Sb),Tb.prototype=new Sb,Tb.prototype.builtInKind=j.ENTITY_DT,Tb.cast=function(a){return new Tb(Ac(a))},g("ENTITY",Tb),Ub.prototype=new Sb,Ub.prototype.builtInKind=j.ID_DT,Ub.cast=function(a){return new Ub(Ac(a))},g("ID",Ub),Vb.prototype=new Sb,Vb.prototype.builtInKind=j.IDREF_DT,Vb.cast=function(a){return new Vb(Ac(a))},g("IDREF",Vb),Wb.prototype=new Qb,Wb.prototype.builtInKind=j.LANGUAGE_DT,Wb.cast=function(a){return new Wb(Ac(a))},g("language",Wb),Xb.prototype=new Qb,Xb.prototype.builtInKind=j.NMTOKEN_DT,Xb.cast=function(a){return new Xb(Ac(a))},g("NMTOKEN",Xb),Zb.prototype=new Yb,$b.prototype=new Zb,_b.prototype=new Zb,ac.prototype=new Zb,bc.prototype=new Zb,cc.prototype=new Zb,dc.prototype=new Zb,$c["hexBinary-equal"]=function(a,b){return new Xa(a.valueOf()==b.valueOf())},$c["base64Binary-equal"]=function(a,b){return new Xa(a.valueOf()==b.valueOf())},$c["boolean-equal"]=function(a,b){return new Xa(a.valueOf()==b.valueOf())},$c["boolean-less-than"]=function(a,b){return new Xa(a.valueOf()<b.valueOf())},$c["boolean-greater-than"]=function(a,b){return new Xa(a.valueOf()>b.valueOf())},$c["yearMonthDuration-less-than"]=function(a,b){return new Xa(lc(a)<lc(b))},$c["yearMonthDuration-greater-than"]=function(a,b){return new Xa(lc(a)>lc(b))},$c["dayTimeDuration-less-than"]=function(a,b){return new Xa(jc(a)<jc(b))},$c["dayTimeDuration-greater-than"]=function(a,b){return new Xa(jc(a)>jc(b))},$c["duration-equal"]=function(a,b){return new Xa(a.negative==b.negative&&lc(a)==lc(b)&&jc(a)==jc(b))},$c["dateTime-equal"]=function(a,b){return gc(a,b,"eq")},$c["dateTime-less-than"]=function(a,b){return gc(a,b,"lt")},$c["dateTime-greater-than"]=function(a,b){return gc(a,b,"gt")},$c["date-equal"]=function(a,b){return fc(a,b,"eq")},$c["date-less-than"]=function(a,b){return fc(a,b,"lt")},$c["date-greater-than"]=function(a,b){return fc(a,b,"gt")},$c["time-equal"]=function(a,b){return ec(a,b,"eq")},$c["time-less-than"]=function(a,b){return ec(a,b,"lt")},$c["time-greater-than"]=function(a,b){return ec(a,b,"gt")},$c["gYearMonth-equal"]=function(a,b){return gc(new _a(a.year,a.month,Za(a.year,a.month),0,0,0,null==a.timezone?this.timezone:a.timezone),new _a(b.year,b.month,Za(b.year,b.month),0,0,0,null==b.timezone?this.timezone:b.timezone),"eq")},$c["gYear-equal"]=function(a,b){return gc(new _a(a.year,1,1,0,0,0,null==a.timezone?this.timezone:a.timezone),new _a(b.year,1,1,0,0,0,null==b.timezone?this.timezone:b.timezone),"eq")},$c["gMonthDay-equal"]=function(a,b){return gc(new _a(1972,a.month,a.day,0,0,0,null==a.timezone?this.timezone:a.timezone),new _a(1972,b.month,b.day,0,0,0,null==b.timezone?this.timezone:b.timezone),"eq")},$c["gMonth-equal"]=function(a,b){return gc(new _a(1972,a.month,Za(1972,b.month),0,0,0,null==a.timezone?this.timezone:a.timezone),new _a(1972,b.month,Za(1972,b.month),0,0,0,null==b.timezone?this.timezone:b.timezone),"eq")},$c["gDay-equal"]=function(a,b){return gc(new _a(1972,12,a.day,0,0,0,null==a.timezone?this.timezone:a.timezone),new _a(1972,12,b.day,0,0,0,null==b.timezone?this.timezone:b.timezone),"eq")},$c["add-yearMonthDurations"]=function(a,b){return mc(lc(a)+lc(b))},$c["subtract-yearMonthDurations"]=function(a,b){return mc(lc(a)-lc(b))},$c["multiply-yearMonthDuration"]=function(a,b){return mc(lc(a)*b)},$c["divide-yearMonthDuration"]=function(a,b){return mc(lc(a)/b)},$c["divide-yearMonthDuration-by-yearMonthDuration"]=function(a,b){return new fb(lc(a)/lc(b))},$c["add-dayTimeDurations"]=function(a,b){return kc(jc(a
2017-02-07 14:37:26 +00:00
},padRight:function(a,b,c){return c=c||" ",a.length<b?Utils.padRight(a+c.slice(0,b-a.length),b,c):a},pad:function(a,b,c){return Utils.padLeft(a,b,c)},truncate:function(a,b,c){return c=c||"...",a.length>b&&(a=a.slice(0,b-c.length)+c),a},hex:function(a,b){return a="string"==typeof a?Utils.ord(a):a,b=b||2,Utils.pad(a.toString(16),b)},bin:function(a,b){return a="string"==typeof a?Utils.ord(a):a,b=b||8,Utils.pad(a.toString(2),b)},printable:function(a,b){window&&window.app&&!window.app.options.treatAsUtf8&&(a=Utils.byteArrayToChars(Utils.strToByteArray(a)));var c=/[\0-\x08\x0B-\x0C\x0E-\x1F\x7F-\x9F\xAD\u0378\u0379\u037F-\u0383\u038B\u038D\u03A2\u0528-\u0530\u0557\u0558\u0560\u0588\u058B-\u058E\u0590\u05C8-\u05CF\u05EB-\u05EF\u05F5-\u0605\u061C\u061D\u06DD\u070E\u070F\u074B\u074C\u07B2-\u07BF\u07FB-\u07FF\u082E\u082F\u083F\u085C\u085D\u085F-\u089F\u08A1\u08AD-\u08E3\u08FF\u0978\u0980\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09FC-\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF2-\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B55\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B78-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BFB-\u0C00\u0C04\u0C0D\u0C11\u0C29\u0C34\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5A-\u0C5F\u0C64\u0C65\u0C70-\u0C77\u0C80\u0C81\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0D01\u0D04\u0D0D\u0D11\u0D3B\u0D3C\u0D45\u0D49\u0D4F-\u0D56\u0D58-\u0D5F\u0D64\u0D65\u0D76-\u0D78\u0D80\u0D81\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DF1\u0DF5-\u0E00\u0E3B-\u0E3E\u0E5C-\u0E80\u0E83\u0E85\u0E86\u0E89\u0E8B\u0E8C\u0E8E-\u0E93\u0E98\u0EA0\u0EA4\u0EA6\u0EA8\u0EA9\u0EAC\u0EBA\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F48\u0F6D-\u0F70\u0F98\u0FBD\u0FCD\u0FDB-\u0FFF\u10C6\u10C8-\u10CC\u10CE\u10CF\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u137D-\u137F\u139A-\u139F\u13F5-\u13FF\u169D-\u169F\u16F1-\u16FF\u170D\u1715-\u171F\u1737-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17DE\u17DF\u17EA-\u17EF\u17FA-\u17FF\u180F\u181A-\u181F\u1878-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191D-\u191F\u192C-\u192F\u193C-\u193F\u1941-\u1943\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DB-\u19DD\u1A1C\u1A1D\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1A9F\u1AAE-\u1AFF\u1B4C-\u1B4F\u1B7D-\u1B7F\u1BF4-\u1BFB\u1C38-\u1C3A\u1C4A-\u1C4C\u1C80-\u1CBF\u1CC8-\u1CCF\u1CF7-\u1CFF\u1DE7-\u1DFB\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FC5\u1FD4\u1FD5\u1FDC\u1FF0\u1FF1\u1FF5\u1FFF\u200B-\u200F\u202A-\u202E\u2060-\u206F\u2072\u2073\u208F\u209D-\u209F\u20BB-\u20CF\u20F1-\u20FF\u218A-\u218F\u23F4-\u23FF\u2427-\u243F\u244B-\u245F\u2700\u2B4D-\u2B4F\u2B5A-\u2BFF\u2C2F\u2C5F\u2CF4-\u2CF8\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D71-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E3C-\u2E7F\u2E9A\u2EF4-\u2EFF\u2FD6-\u2FEF\u2FFC-\u2FFF\u3040\u3097\u3098\u3100-\u3104\u312E-\u3130\u318F\u31BB-\u31BF\u31E4-\u31EF\u321F\u32FF\u4DB6-\u4DBF\u9FCD-\u9FFF\uA48D-\uA48F\uA4C7-\uA4CF\uA62C-\uA63F\uA698-\uA69E\uA6F8-\uA6FF\uA78F\uA794-\uA79F\uA7AB-\uA7F7\uA82C-\uA82F\uA83A-\uA83F\uA878-\uA87F\uA8C5-\uA8CD\uA8DA-\uA8DF\uA8FC-\uA8FF\uA954-\uA95E\uA97D-\uA97F\uA9CE\uA9DA-\uA9DD\uA9E0-\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A\uAA5B\uAA7C-\uAA7F\uAAC3-\uAADA\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F-\uABBF\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\u
2017-02-07 15:04:10 +00:00
c=f.indexOf(e),d=f.indexOf(a[j].toLowerCase()),h+=f[(d+f.length-c)%26].toUpperCase()):(h+=a[j],i++);return h},SUBS_PLAINTEXT:"ABCDEFGHIJKLMNOPQRSTUVWXYZ",SUBS_CIPHERTEXT:"XYZABCDEFGHIJKLMNOPQRSTUVW",runSubstitute:function(a,b){var c=Utils.strToByteArray(Utils.expandAlphRange(b[0]).join()),d=Utils.strToByteArray(Utils.expandAlphRange(b[1]).join()),e=[],f=-1;c.length!==d.length&&(e=Utils.strToByteArray("Warning: Plaintext and Ciphertext lengths differ\n\n"));for(var g=0;g<a.length;g++)f=c.indexOf(a[g]),e.push(f>-1&&f<d.length?d[f]:a[g]);return e}};CryptoJS.kdf.OpenSSL.execute=function(a,b,c,d){void 0!==d&&null!==d||(d=CryptoJS.lib.WordArray.random(8));var e=CryptoJS.algo.EvpKDF.create({keySize:b+c}).compute(a,d),f=CryptoJS.lib.WordArray.create(e.words.slice(b),4*c);return e.sigBytes=4*b,CryptoJS.lib.CipherParams.create({key:e,iv:f,salt:d})};var Code={LANGUAGES:["default-code","default-markup","bash","bsh","c","cc","coffee","cpp","cs","csh","cv","cxx","cyc","htm","html","in.tag","java","javascript","js","json","m","mxml","perl","pl","pm","py","python","rb","rc","rs","ruby","rust","sh","uq.val","xhtml","xml","xsl"],LINE_NUMS:!1,runSyntaxHighlight:function(a,b){var c=b[0],d=b[1];return"<code class=' prettyprint '>"+prettyPrintOne(Utils.escapeHtml(a),c,d)+"</code>"},BEAUTIFY_INDENT:"\\t",runXmlBeautify:function(a,b){var c=b[0];return vkbeautify.xml(a,c)},runJsonBeautify:function(a,b){var c=b[0];return a?vkbeautify.json(a,c):""},runCssBeautify:function(a,b){var c=b[0];return vkbeautify.css(a,c)},runSqlBeautify:function(a,b){var c=b[0];return vkbeautify.sql(a,c)},PRESERVE_COMMENTS:!1,runXmlMinify:function(a,b){var c=b[0];return vkbeautify.xmlmin(a,c)},runJsonMinify:function(a,b){return a?vkbeautify.jsonmin(a):""},runCssMinify:function(a,b){var c=b[0];return vkbeautify.cssmin(a,c)},runSqlMinify:function(a,b){return vkbeautify.sqlmin(a)},runGenericBeautify:function(a,b){function c(a,b,c){return g[c]=b[0],a.substring(0,b.index)+"###preservedToken"+c+"###"+a.substring(b.index+b[0].length)}for(var d,e=a,f=0,g=[],h=/' ([ ^ '\\]|\\.)*' / g ; d = h . exec ( e );) e = c ( e , d , f ++ ), h . lastIndex = d . index ; for ( var i = /"([^"\\]|\\.)*"/g ; d = i . exec ( e );) e = c ( e , d , f ++ ), i . lastIndex = d . index ; for ( var j = /\/\/[^\n\r]*/g ; d = j . exec ( e );) e = c ( e , d , f ++ ), j . lastIndex = d . index ; for ( var k = /\/\*[\s\S]*?\*\//gm ; d = k . exec ( e );) e = c ( e , d , f ++ ), k . lastIndex = d . index ; for ( var l = /(^|\n)#[^\n\r#]+/g ; d = l . exec ( e );) e = c ( e , d , f ++ ), l . lastIndex = d . index ; for ( var m = /\/.*?[^\\]\/[gim]{0,3}/gi ; d = m . exec ( e );) e = c ( e , d , f ++ ), m . lastIndex = d . index ; e = e . replace ( /;/g , ";\n" ), e = e . replace ( /{/g , "{\n" ), e = e . replace ( /}/g , "\n}\n" ), e = e . replace ( /\r/g , "" ), e = e . replace ( /^\s+/g , "" ), e = e . replace ( /\n\s+/g , "\n" ), e = e . replace ( /\s*$/g , "" ), e = e . replace ( /\n{/g , "{" ); for ( var n = 0 , o = 0 ; n < e . length ;){ switch ( e [ n ]){ case "{" : o ++ ; break ; case "\n" : if ( n + 1 >= e . length ) break ; "}" === e [ n + 1 ] && o -- ; var p = o >= 0 ? Array ( 4 * o + 1 ). join ( " " ) : "" ; e = e . substring ( 0 , n + 1 ) + p + e . substring ( n + 1 ), o > 0 && ( n += 4 * o )} n ++ } e = e . replace ( /\s*([!<>=+-\/*]?)=\s*/g , " $1= " ), e = e . replace ( /\s*<([=]?)\s*/g , " <$1 " ), e = e . replace ( /\s*>([=]?)\s*/g , " >$1 " ), e = e . replace ( /([^+])\+([^+=])/g , "$1 + $2" ), e = e . replace ( /([^-])-([^-=])/g , "$1 - $2" ), e = e . replace ( /([^*])\*([^*=])/g , "$1 * $2" ), e = e . replace ( /([^\/])\/([^\/=])/g , "$1 / $2" ), e = e . replace ( /\s*,\s*/g , ", " ), e = e . replace ( /\s*{/g , " {" ), e = e . replace ( /}\n/g , "}\n\n" ), e = e . replace ( /(if|for|while|with|elif|elseif)\s*\(([^\n]*)\)\s*\n([^{])/gim , "$1 ($2)\n $3" ), e = e . replace ( /(if|for|while|with|elif|elseif)\s*\(([^\n]*)\)([^{])/gim , "$1 ($2) $3" ), e = e . replace ( /else\s*\n([^{])/gim , "else\n $1" ), e = e . replace ( /else\s+([^{])/gim , "else $1" ), e = e . replace ( /\s+;/g , ";" ), e = e . replace ( /\{\s+\}/g , "{}" ), e = e . replace ( /\[\s+\]/g , "[]" ), e = e . replace ( /}\s*(else|catch|except|finally|elif|elseif|else if)/gi , "} $1" ); for ( var q = /###preservedToken(\d+)###/g ; d = q . exec ( e );){ var r = parseInt ( d [ 1 ], 10 ); e = e . substring ( 0 , d . index ) + g [ r ] + e . substring ( d . index + d [ 0 ]. length ), q . lastIndex = d . index } return e }, XPATH_INITIAL : "" , XPATH_DELIMITER : "\\n" , runXpath : function ( a , b ){ var c , d = b [ 0 ], e = b [ 1 ]; try { c = $ . parseXML ( a )} catch ( a ){ return "Invalid input XML." } var f ; try { f = xpath . evaluate ( c , d )} catch ( a ){ return "Invalid XPath. Details:\n" + a . message } var g = new XMLSeri
return Extract . _search ( a , g , null , c )}, runAllIdents : function ( a , b ){ var c = "" ; return c += "IP addresses\n" , c += Extract . runIp ( a ,[ ! 0 , ! 0 , ! 1 ]), c += "\nEmail addresses\n" , c += Extract . runEmail ( a ,[]), c += "\nMAC addresses\n" , c += Extract . runMac ( a ,[]), c += "\nURLs\n" , c += Extract . runUrls ( a ,[]), c += "\nDomain names\n" , c += Extract . runDomains ( a ,[]), c += "\nFile paths\n" , c += Extract . runFilePaths ( a ,[ ! 0 , ! 0 ]), c += "\nDates\n" , c += Extract . runDates ( a ,[])}}, FileType = { runDetect : function ( a , b ){ var c = FileType . _magicType ( a ); if ( c ){ var d = "File extension: " + c . ext + "\nMIME type: " + c . mime ; return c . desc && c . desc . length && ( d += "\nDescription: " + c . desc ), d } return "Unknown file type. Have you tried checking the entropy of this data to determine whether it might be encrypted or compressed?" }, IGNORE_COMMON_BYTE_SEQUENCES :! 0 , runScanForEmbeddedFiles : function ( a , b ){ for ( var c , d = "Scanning data for 'magic bytes' which may indicate embedded files. The following results may be false positives and should not be treat as reliable. Any suffiently long file is likely to contain these magic bytes coincidentally.\n" , e = b [ 0 ], f = [ "ico" , "ttf" , "" ], g = 0 , h = 0 , i = 0 ; i < a . length ; i ++ ) if ( c = FileType . _magicType ( a . slice ( i ))){ if ( e && f . indexOf ( c . ext ) >- 1 ){ h ++ ; continue } g ++ , d += "\nOffset " + i + " (0x" + Utils . hex ( i ) + "):\n File extension: " + c . ext + "\n MIME type: " + c . mime + "\n" , c . desc && c . desc . length && ( d += " Description: " + c . desc + "\n" )} return 0 === g && ( d += "\nNo embedded files were found." ), h > 0 && ( d += "\n\n" + h , d += 1 === h ? " file type was detected that has a common byte sequence. This is likely to be a false positive." : " file types were detected that have common byte sequences. These are likely to be false positives." , d += " Run this operation with the 'Ignore common byte sequences' option unchecked to see details." ), d }, _magicType : function ( a ){ return a && a . length > 1 ? 255 === a [ 0 ] && 216 === a [ 1 ] && 255 === a [ 2 ] ? { ext : "jpg" , mime : "image/jpeg" } : 137 === a [ 0 ] && 80 === a [ 1 ] && 78 === a [ 2 ] && 71 === a [ 3 ] ? { ext : "png" , mime : "image/png" } : 71 === a [ 0 ] && 73 === a [ 1 ] && 70 === a [ 2 ] ? { ext : "gif" , mime : "image/gif" } : 87 === a [ 8 ] && 69 === a [ 9 ] && 66 === a [ 10 ] && 80 === a [ 11 ] ? { ext : "webp" , mime : "image/webp" } : ( 73 === a [ 0 ] && 73 === a [ 1 ] && 42 === a [ 2 ] && 0 === a [ 3 ] || 77 === a [ 0 ] && 77 === a [ 1 ] && 0 === a [ 2 ] && 42 === a [ 3 ]) && 67 === a [ 8 ] && 82 === a [ 9 ] ? { ext : "cr2" , mime : "image/x-canon-cr2" } : 73 === a [ 0 ] && 73 === a [ 1 ] && 42 === a [ 2 ] && 0 === a [ 3 ] || 77 === a [ 0 ] && 77 === a [ 1 ] && 0 === a [ 2 ] && 42 === a [ 3 ] ? { ext : "tif" , mime : "image/tiff" } : 66 === a [ 0 ] && 77 === a [ 1 ] ? { ext : "bmp" , mime : "image/bmp" } : 73 === a [ 0 ] && 73 === a [ 1 ] && 188 === a [ 2 ] ? { ext : "jxr" , mime : "image/vnd.ms-photo" } : 56 === a [ 0 ] && 66 === a [ 1 ] && 80 === a [ 2 ] && 83 === a [ 3 ] ? { ext : "psd" , mime : "image/vnd.adobe.photoshop" } : 80 === a [ 0 ] && 75 === a [ 1 ] && 3 === a [ 2 ] && 4 === a [ 3 ] && 109 === a [ 30 ] && 105 === a [ 31 ] && 109 === a [ 32 ] && 101 === a [ 33 ] && 116 === a [ 34 ] && 121 === a [ 35 ] && 112 === a [ 36 ] && 101 === a [ 37 ] && 97 === a [ 38 ] && 112 === a [ 39 ] && 112 === a [ 40 ] && 108 === a [ 41 ] && 105 === a [ 42 ] && 99 === a [ 43 ] && 97 === a [ 44 ] && 116 === a [ 45 ] && 105 === a [ 46 ] && 111 === a [ 47 ] && 110 === a [ 48 ] && 47 === a [ 49 ] && 101 === a [ 50 ] && 112 === a [ 51 ] && 117 === a [ 52 ] && 98 === a [ 53 ] && 43 === a [ 54 ] && 122 === a [ 55 ] && 105 === a [ 56 ] && 112 === a [ 57 ] ? { ext : "epub" , mime : "application/epub+zip" } : 80 !== a [ 0 ] || 75 !== a [ 1 ] || 3 !== a [ 2 ] && 5 !== a [ 2 ] && 7 !== a [ 2 ] || 4 !== a [ 3 ] && 6 !== a [ 3 ] && 8 !== a [ 3 ] ? 117 === a [ 257 ] && 115 === a [ 258 ] && 116 === a [ 259 ] && 97 === a [ 260 ] && 114 === a [ 261 ] ? { ext : "tar" , mime : "application/x-tar" } : 82 !== a [ 0 ] || 97 !== a [ 1 ] || 114 !== a [ 2 ] || 33 !== a [ 3 ] || 26 !== a [ 4 ] || 7 !== a [ 5 ] || 0 !== a [ 6 ] && 1 !== a [ 6 ] ? 31 === a [ 0 ] && 139 === a [ 1 ] && 8 === a [ 2 ] ? { ext : "gz" , mime : "application/gzip" } : 66 === a [ 0 ] && 90 === a [ 1 ] && 104 === a [ 2 ] ? { ext : "bz2" , mime : "application/x-bzip2" } : 55 === a [ 0 ] && 122 === a [ 1 ] && 188 === a [ 2 ] && 175 === a [ 3 ] && 39 === a [ 4 ] && 28 === a [ 5 ] ? { ext : "7z" , mime : "application/x-7z-compressed" } : 120 === a [ 0 ] && 1 === a [ 1 ] ? { ext : "dmg" , mime : "application/x-apple-diskimage" } : 0 === a [ 0 ] && 0 === a [ 1 ] && 0 === a [ 2 ] && ( 24 === a [ 3 ] || 32 === a [ 3 ]) && 102 === a [ 4 ] && 116 === a [ 5 ] && 121 === a [ 6 ] && 112 === a [ 7 ] || 51 === a [ 0 ] && 103 === a [ 1 ] && 112 === a [ 2 ] && 53 === a [ 3 ] || 0 === a [ 0 ] && 0 === a [ 1 ] && 0 === a [ 2 ] && 28 === a [ 3 ] && 102 === a [ 4 ] && 116 === a [ 5 ] && 121 === a [ 6 ] && 112 === a [ 7 ] && 109 === a [ 8 ] && 112 === a [ 9 ] && 52 === a [ 10 ] && 50 === a [ 11 ] && 109 === a [ 16 ] && 112 === a [ 17 ] && 52 === a [ 18 ] && 49 === a [ 19 ] && 109 === a [ 20 ] && 112 === a [ 21 ] && 52 === a [ 22 ] && 50 === a [ 23 ] && 105 === a [ 24 ] && 115 === a [ 25 ] && 111 === a [ 26 ] && 109 === a [ 27 ] ? { ext : "mp4" , mime : "video/mp4" } : 0 === a [ 0 ] && 0 === a [ 1 ] && 0 === a [ 2 ] && 28 === a [ 3 ] && 102 === a [ 4 ] && 116 === a [ 5 ] && 121 =
2017-02-07 14:37:26 +00:00
if ( d < 0 || d > 127 ) return "CIDR must be less than 32 for IPv4 or 128 for IPv6" ; for ( var p = 0 ; p < h . length ; p ++ ) if ( k = IP . IPV4_REGEX . exec ( h [ p ])) m = IP . _strToIpv4 ( k [ 1 ]) >>> 0 , n = m & f , i . hasOwnProperty ( n ) ? i [ n ]. push ( m ) : i [ n ] = [ m ]; else if ( k = IP . IPV6_REGEX . exec ( h [ p ])){ m = IP . _strToIpv6 ( k [ 1 ]), n = [], o = "" ; for ( var q = 0 ; q < 8 ; q ++ ) n . push ( m [ q ] & g [ q ]); o = IP . _ipv6ToStr ( n , ! 0 ), j . hasOwnProperty ( o ) ? j [ o ]. push ( m ) : j [ o ] = [ m ]} for ( n in i ) if ( i [ n ] = i [ n ]. sort (), l += IP . _ipv4ToStr ( n ) + "/" + d + "\n" , ! e ){ for ( p = 0 ; p < i [ n ]. length ; p ++ ) l += " " + IP . _ipv4ToStr ( i [ n ][ p ]) + "\n" ; l += "\n" } for ( o in j ) if ( l += o + "/" + d + "\n" , ! e ){ for ( p = 0 ; p < j [ o ]. length ; p ++ ) l += " " + IP . _ipv6ToStr ( j [ o ][ p ], ! 0 ) + "\n" ; l += "\n" } return l }, _LARGE_RANGE_ERROR : 'The specified range contains more than 65,536 addresses. Running this query could crash your browser. If you want to run it, select the "Allow large queries" option. You are advised to turn off "Auto Bake" whilst editing large ranges.' , _ipv4CidrRange : function ( a , b , c , d ){ var e = "" , f = IP . _strToIpv4 ( a [ 1 ]), g = parseInt ( a [ 2 ], 10 ); if ( g < 0 || g > 31 ) return "IPv4 CIDR must be less than 32" ; var h =~ ( 4294967295 >>> g ), i = f & h , j = i |~ h ; return b && ( e += "Network: " + IP . _ipv4ToStr ( f ) + "\n" , e += "CIDR: " + g + "\n" , e += "Mask: " + IP . _ipv4ToStr ( h ) + "\n" , e += "Range: " + IP . _ipv4ToStr ( i ) + " - " + IP . _ipv4ToStr ( j ) + "\n" , e += "Total addresses in range: " + (( j - i >>> 0 ) + 1 ) + "\n\n" ), c && ( e += g >= 16 || d ? IP . _generateIpv4Range ( i , j ). join ( "\n" ) : IP . _LARGE_RANGE_ERROR ), e }, _ipv6CidrRange : function ( a , b ){ var c = "" , d = IP . _strToIpv6 ( a [ 1 ]), e = parseInt ( a [ a . length - 1 ], 10 ); if ( e < 0 || e > 127 ) return "IPv6 CIDR must be less than 128" ; for ( var f = IP . _genIpv6Mask ( e ), g = new Array ( 8 ), h = new Array ( 8 ), i = "" , j = new Array ( 128 ), k = 0 ; k < 8 ; k ++ ) if ( g [ k ] = d [ k ] & f [ k ], h [ k ] = g [ k ] | 65535 &~ f [ k ], i = ( h [ k ] - g [ k ]). toString ( 2 ), "0" !== i ) for ( var l = 0 ; l < i . length ; l ++ ) j [ 16 * k + 16 - ( i . length - l )] = i [ l ]; return b && ( c += "Network: " + IP . _ipv6ToStr ( d ) + "\n" , c += "Shorthand: " + IP . _ipv6ToStr ( d , ! 0 ) + "\n" , c += "CIDR: " + e + "\n" , c += "Mask: " + IP . _ipv6ToStr ( f ) + "\n" , c += "Range: " + IP . _ipv6ToStr ( g ) + " - " + IP . _ipv6ToStr ( h ) + "\n" , c += "Total addresses in range: " + ( parseInt ( j . join ( "" ), 2 ) + 1 ) + "\n\n" ), c }, _genIpv6Mask : function ( a ){ for ( var b , c = new Array ( 8 ), d = 0 ; d < 8 ; d ++ ) a > 16 * ( d + 1 ) ? c [ d ] = 65535 : ( b = a - 16 * d , b < 0 && ( b = 0 ), c [ d ] =~ ( 65535 >>> b | 4294901760 )); return c }, _ipv4HyphenatedRange : function ( a , b , c , d ){ for ( var e = "" , f = IP . _strToIpv4 ( a [ 1 ]), g = IP . _strToIpv4 ( a [ 2 ]), h = f ^ g , i = 32 , j = 0 ; 0 !== h ;) h >>= 1 , i -- , j = j << 1 | 1 ; j =~ j >>> 0 ; var k = f & j , l = k & j , m = l |~ j ; return b && ( e += "Minimum subnet required to hold this range:\n" , e += "\tNetwork: " + IP . _ipv4ToStr ( k ) + "\n" , e += "\tCIDR: " + i + "\n" , e += "\tMask: " + IP . _ipv4ToStr ( j ) + "\n" , e += "\tSubnet range: " + IP . _ipv4ToStr ( l ) + " - " + IP . _ipv4ToStr ( m ) + "\n" , e += "\tTotal addresses in subnet: " + (( m - l >>> 0 ) + 1 ) + "\n\n" , e += "Range: " + IP . _ipv4ToStr ( f ) + " - " + IP . _ipv4ToStr ( g ) + "\n" , e += "Total addresses in range: " + (( g - f >>> 0 ) + 1 ) + "\n\n" ), c && ( e += g - f >>> 0 <= 65536 || d ? IP . _generateIpv4Range ( f , g ). join ( "\n" ) : IP . _LARGE_RANGE_ERROR ), e }, _ipv6HyphenatedRange : function ( a , b ){ for ( var c = "" , d = IP . _strToIpv6 ( a [ 1 ]), e = IP . _strToIpv6 ( a [ 14 ]), f = "" , g = new Array ( 128 ), h = 0 ; h < 128 ; h ++ ) g [ h ] = "0" ; for ( h = 0 ; h < 8 ; h ++ ) if ( f = ( e [ h ] - d [ h ]). toString ( 2 ), "0" !== f ) for ( var i = 0 ; i < f . length ; i ++ ) g [ 16 * h + 16 - ( f . length - i )] = f [ i ]; return b && ( c += "Range: " + IP . _ipv6ToStr ( d ) + " - " + IP . _ipv6ToStr ( e ) + "\n" , c += "Shorthand range: " + IP . _ipv6ToStr ( d , ! 0 ) + " - " + IP . _ipv6ToStr ( e , ! 0 ) + "\n" , c += "Total addresses in range: " + ( parseInt ( g . join ( "" ), 2 ) + 1 ) + "\n\n" ), c }, _strToIpv4 : function ( a ){ function b ( a ){ if ( 4 !== a . length ) throw "More than 4 blocks." ; for ( var b = [], c = 0 ; c < 4 ; c ++ ) if ( b [ c ] = parseInt ( a [ c ], 10 ), b [ c ] < 0 || b [ c ] > 255 ) throw "Block out of range." ; return b } var c = a . split ( "." ), d = b ( c ), e = 0 ; return e += d [ 0 ] << 24 , e += d [ 1 ] << 16 , e += d [ 2 ] << 8 , e += d [ 3 ]}, _ipv4ToStr : function ( a ){ var b = a >> 24 & 255 , c = a >> 16 & 255 , d = a >> 8 & 255 , e = 255 & a ; return b + "." + c + "." + d + "." + e }, _strToIpv6 : function ( a ){ function b ( a ){ if ( a . length < 3 || a . length > 8 ) throw "Badly formatted IPv6 address." ; for ( var b = [], c = 0 ; c < a . length ; c ++ ) if ( b [ c ] = parseInt ( a [ c ], 16 ), b [ c ] < 0 || b [ c ] > 65535 ) throw "Block out of range." ; return b } for ( var c = a . split ( ":" ), d = b ( c ), e = 0 , f = new Array ( 8 ), g = 0 ; g < 8 ; g ++ ) isNaN ( d [ e ]) ? ( f [ g ] = 0 , g === 8 - d . slice ( e ). length && e ++ ) : ( f [ g ] = d [ e ], e ++ ); return f }, _ipv6ToStr : function ( a , b ){ var c = "" , d = 0 ; if ( b ){ var e =- 1 , f =- 1 , g = 0 , h =- 1 ; for ( d = 0 ; d < 8 ; d ++ ) 0 === a [ d ] && h === d - 1 ? h = d : 0 === a [ d ] && ( g = d , h = d ), h >= 0 && h - g > f - e &&
"060a2b06010401823702010e" : "certExtensions" , "060a2b06010401823702010f" : "spcPelmageData" , "060a2b060104018237020112" : "SPC_RAW_FILE_DATA_OBJID" , "060a2b060104018237020113" : "SPC_STRUCTURED_STORAGE_DATA_OBJID" , "060a2b060104018237020114" : "spcLink" , "060a2b060104018237020115" : "individualCodeSigning" , "060a2b060104018237020116" : "commercialCodeSigning" , "060a2b060104018237020119" : "spcLink" , "060a2b06010401823702011a" : "spcMinimalCriteriaInfo" , "060a2b06010401823702011b" : "spcFinancialCriteriaInfo" , "060a2b06010401823702011c" : "spcLink" , "060a2b06010401823702011d" : "SPC_HASH_INFO_OBJID" , "060a2b06010401823702011e" : "SPC_SIPINFO_OBJID" , "060a2b060104018237020104" : "spcIndirectDataContext" , "060a2b0601040182370202" : "CTL for Software Publishers Trusted CAs" , "060a2b060104018237020201" : "szOID_TRUSTED_CODESIGNING_CA_LIST" , "060a2b060104018237020202" : "szOID_TRUSTED_CLIENT_AUTH_CA_LIST" , "060a2b060104018237020203" : "szOID_TRUSTED_SERVER_AUTH_CA_LIST" , "060a2b06010401823714" : "Microsoft Enrollment Infrastructure" , "060a2b0601040182371401" : "szOID_AUTO_ENROLL_CTL_USAGE" , "060a2b0601040182371402" : "szOID_ENROLL_CERTTYPE_EXTENSION" , "060a2b060104018237140201" : "szOID_ENROLLMENT_AGENT" , "060a2b060104018237140202" : "szOID_KP_SMARTCARD_LOGON" , "060a2b060104018237140203" : "szOID_NT_PRINCIPAL_NAME" , "060a2b0601040182371403" : "szOID_CERT_MANIFOLD" , "06092b06010401823715" : "Microsoft CertSrv Infrastructure" , "06092b0601040182371501" : "szOID_CERTSRV_CA_VERSION" , "06092b0601040182371514" : "Client Information" , "060a2b06010401823719" : "Microsoft Directory Service" , "060a2b0601040182371901" : "szOID_NTDS_REPLICATION" , "060a2b06010401823703" : "Time Stamping" , "060a2b060104018237030201" : "SPC_TIME_STAMP_REQUEST_OBJID" , "060a2b0601040182371e" : "IIS" , "060a2b0601040182371f" : "Windows updates and service packs" , "060a2b0601040182371f01" : "szOID_PRODUCT_UPDATE" , "060a2b06010401823704" : "Permissions" , "060a2b06010401823728" : "Fonts" , "060a2b06010401823729" : "Microsoft Licensing and Registration" , "060a2b0601040182372a" : "Microsoft Corporate PKI (ITG)" , "060a2b06010401823758" : "CAPICOM" , "060a2b0601040182375801" : "szOID_CAPICOM_VERSION" , "060a2b0601040182375802" : "szOID_CAPICOM_ATTRIBUTE" , "060a2b060104018237580201" : "szOID_CAPICOM_DOCUMENT_NAME" , "060a2b060104018237580202" : "szOID_CAPICOM_DOCUMENT_DESCRIPTION" , "060a2b0601040182375803" : "szOID_CAPICOM_ENCRYPTED_DATA" , "060a2b060104018237580301" : "szOID_CAPICOM_ENCRYPTED_CONTENT" , "06032b0601050507" : "pkix" , "06032b060105050701" : "privateExtension" , "06032b06010505070101" : "authorityInfoAccess" , "06032b06010505070c02" : "CMC Data" , "06032b060105050702" : "policyQualifierIds" , "06032b06010505070202" : "unotice" , "06032b060105050703" : "keyPurpose" , "06032b06010505070301" : "serverAuth" , "06032b06010505070302" : "clientAuth" , "06032b06010505070303" : "codeSigning" , "06032b06010505070304" : "emailProtection" , "06032b06010505070305" : "ipsecEndSystem" , "06032b06010505070306" : "ipsecTunnel" , "06032b06010505070307" : "ipsecUser" , "06032b06010505070308" : "timeStamping" , "06032b060105050704" : "cmpInformationTypes" , "06032b06010505070401" : "caProtEncCert" , "06032b06010505070402" : "signKeyPairTypes" , "06032b06010505070403" : "encKeyPairTypes" , "06032b06010505070404" : "preferredSymmAlg" , "06032b06010505070405" : "caKeyUpdateInfo" , "06032b06010505070406" : "currentCRL" , "06032b06010505073001" : "ocsp" , "06032b06010505073002" : "caIssuers" , "06032b06010505080101" : "HMAC-MD5" , "06032b06010505080102" : "HMAC-SHA" , "060360864801650201010a" : "mosaicKeyManagementAlgorithm" , "060360864801650201010b" : "sdnsKMandSigAlgorithm" , "060360864801650201010c" : "mosaicKMandSigAlgorithm" , "060360864801650201010d" : "SuiteASignatureAlgorithm" , "060360864801650201010e" : "SuiteAConfidentialityAlgorithm" , "060360864801650201010f" : "SuiteAIntegrityAlgorithm" , "06036086480186f84201" : "cert-extension" , "06036086480186f842010a" : "EntityLogo" , "06036086480186f842010b" : "UserPicture" , "06036086480186f8420109" : "HomePage-url" , "06036086480186f84202" : "data-type" , "06036086480186f8420201" : "GIF" , "06036086480186f8420202" : "JPEG" , "06036086480186f8420203" : "URL" , "06036086480186f8420204" : "HTML" , "06036086480186f8420205" : "netscape-cert-sequence" , "06036086480186f8420206" : "netscape-cert-url" , "06036086480186f84203" : "directory" , "0
}return c-1},Recipe.prototype.execute=function(a,b){b=b||0;for(var c,d,e,f=0,g=b;g<this.opList.length;g++)if(c=this.opList[g],!c.isDisabled()){if(c.isBreakpoint())return g;try{if(d=a.get(c.inputType),c.isFlowControl()){var h={progress:g,dish:a,opList:this.opList,numJumps:f};h=c.run(h),g=h.progress,f=h.numJumps}else e=c.run(d,c.getIngValues()),a.set(e,c.outputType)}catch(a){var i=" string "==typeof a?{message:a}:a;throw i.progress=g,i.fileName?i.displayStr=c.name+" - "+i.name+" in "+i.fileName+" on line "+i.lineNumber+" . < br >< br > Message : "+(i.displayStr||i.message):i.displayStr=c.name+" - "+(i.displayStr||i.message),i}}return this.opList.length},Recipe.prototype.toString=function(){return JSON.stringify(this.getConfig())},Recipe.prototype.fromString=function(a){var b=JSON.parse(a);this._parseConfig(b)};var Categories=[{name:" Favourites ",ops:[]},{name:" Data format ",ops:[" To Hexdump "," From Hexdump "," To Hex "," From Hex "," To Charcode "," From Charcode "," To Decimal "," From Decimal "," To Binary "," From Binary "," To Base64 "," From Base64 "," Show Base64 offsets "," To Base32 "," From Base32 "," To Base "," From Base "," To HTML Entity "," From HTML Entity "," URL Encode "," URL Decode "," Unescape Unicode Characters "," To Quoted Printable "," From Quoted Printable "," To Punycode "," From Punycode "," To Hex Content "," From Hex Content "," PEM to Hex "," Hex to PEM "," Parse ASN . 1 hex string "," Change IP format "," Text encoding "," Swap endianness "]},{name:" Encryption / Encoding ",ops:[" AES Encrypt "," AES Decrypt "," Blowfish Encrypt "," Blowfish Decrypt "," DES Encrypt "," DES Decrypt "," Triple DES Encrypt "," Triple DES Decrypt "," Rabbit Encrypt "," Rabbit Decrypt "," RC4 "," RC4 Drop "," ROT13 "," ROT47 "," XOR "," XOR Brute Force "," Vigen \ xe8re Encode "," Vigen \ xe8re Decode "," To Morse Code "," From Morse Code "," Substitute "," Derive PBKDF2 key "," Derive EVP key "]},{name:" Public Key ",ops:[" Parse X . 509 certificate "," Parse ASN . 1 hex string "," PEM to Hex "," Hex to PEM "," Hex to Object Identifier "," Object Identifier to Hex "]},{name:" Logical operations ",ops:[" XOR "," XOR Brute Force "," OR "," NOT "," AND "," ADD "," SUB "," Rotate left "," Rotate right "," ROT13 "]},{name:" Networking ",ops:[" Strip HTTP headers "," Parse User Agent "," Parse IP range "," Parse IPv6 address "," Parse URI "," URL Encode "," URL Decode "," Format MAC addresses "," Change IP format "," Group IP addresses "]},{name:" Language ",ops:[" Text encoding "," Unescape Unicode Characters "]},{name:" Utils ",ops:[" Diff "," Remove whitespace "," Remove null bytes "," To Upper case "," To Lower case "," Add line numbers "," Remove line numbers "," Reverse "," Sort "," Unique "," Split "," Filter "," Count occurrences "," Expand alphabet range "," Parse escaped string "," Drop bytes "," Take bytes "," Pad lines "," Find / Replace "," Regular expression "," Offset checker "," Convert distance "," Convert area "," Convert mass "," Convert speed "," Convert data units "," Parse UNIX file permissions "," Swap endianness "," Parse colour code "]},{name:" Date / Time ",ops:[" Parse DateTime "," Translate DateTime Format "," From UNIX Timestamp "," To UNIX Timestamp "," Extract dates "]},{name:" Extractors ",ops:[" Strings "," Extract IP addresses "," Extract email addresses "," Extract MAC addresses "," Extract URLs "," Extract domains "," Extract file paths "," Extract dates "," Regular expression "," XPath expression "," CSS selector "]},{name:" Compression ",ops:[" Raw Deflate "," Raw Inflate "," Zlib Deflate "," Zlib Inflate "," Gzip "," Gunzip "," Zip "," Unzip "," Bzip2 Decompress "]},{name:" Hashing ",ops:[" Analyse hash "," Generate all hashes "," MD2 "," MD4 "," MD5 "," SHA0 "," SHA1 "," SHA224 "," SHA256 "," SHA384 "," SHA512 "," SHA3 "," RIPEMD - 160 "," HMAC "," Fletcher - 8 Checksum "," Fletcher - 16 Checksum "," Fletcher - 32 Checksum "," Fletcher - 64 Checksum "," Adler - 32 Checksum "," CRC - 32 Checksum "," TCP / IP Checksum "]},{name:" Code tidy ",ops:[" Syntax highlighter "," Generic Code Beautify "," JavaScript Parser "," JavaScript Beautify "," JavaScript Minify "," JSON Beautify "," JSON Minify "," XML Beautify "," XML Minify "," SQL Beautify "," SQL Minify "," CSS Beautify "," CSS Minify "," XPath expression "," CSS selector "," Strip HTML tags "," Diff "]},{name:" Other ",ops:[" Entropy "," Frequency distribution "," Detect File Type "," Scan for Embedded Files "," Generate UUID "," Numberwang "]},
2017-02-07 15:04:10 +00:00
run:Cipher.runEvpkdf,inputType:" string ",outputType:" string ",args:[{name:" Key size ",type:" number ",value:Cipher.KDF_KEY_SIZE},{name:" Iterations ",type:" number ",value:Cipher.KDF_ITERATIONS},{name:" Salt ( hex ) ",type:" string ",value:""},{name:" Input format ",type:" option ",value:Cipher.IO_FORMAT2},{name:" Output format ",type:" option ",value:Cipher.IO_FORMAT3}]}," Vigen \ xe8re Encode ":{description:" The Vigenere cipher is a method of encrypting alphabetic text by using a series of different Caesar ciphers based on the letters of a keyword . It is a simple form of polyalphabetic substitution . ",run:Cipher.runVigenereEnc,highlight:!0,highlightReverse:!0,inputType:" string ",outputType:" string ",args:[{name:" Key ",type:" string ",value:""}]}," Vigen \ xe8re Decode ":{description:" The Vigenere cipher is a method of encrypting alphabetic text by using a series of different Caesar ciphers based on the letters of a keyword . It is a simple form of polyalphabetic substitution . ",run:Cipher.runVigenereDec,highlight:!0,highlightReverse:!0,inputType:" string ",outputType:" string ",args:[{name:" Key ",type:" string ",value:""}]}," Rotate right ":{description:" Rotates each byte to the right by the number of bits specified . Currently only supports 8 - bit values . ",run:Rotate.runRotr,highlight:!0,highlightReverse:!0,inputType:" byteArray ",outputType:" byteArray ",args:[{name:" Number of bits ",type:" number ",value:Rotate.ROTATE_AMOUNT},{name:" Rotate as a whole ",type:" boolean ",value:Rotate.ROTATE_WHOLE}]}," Rotate left ":{description:" Rotates each byte to the left by the number of bits specified . Currently only supports 8 - bit values . ",run:Rotate.runRotl,highlight:!0,highlightReverse:!0,inputType:" byteArray ",outputType:" byteArray ",args:[{name:" Number of bits ",type:" number ",value:Rotate.ROTATE_AMOUNT},{name:" Rotate as a whole ",type:" boolean ",value:Rotate.ROTATE_WHOLE}]},ROT13:{description:" A simple caesar substitution cipher which rotates alphabet characters by the specified amount ( default 13 ). ",run:Rotate.runRot13,highlight:!0,highlightReverse:!0,inputType:" byteArray ",outputType:" byteArray ",args:[{name:" Rotate lower case chars ",type:" boolean ",value:Rotate.ROT13_LOWERCASE},{name:" Rotate upper case chars ",type:" boolean ",value:Rotate.ROT13_UPPERCASE},{name:" Amount ",type:" number ",value:Rotate.ROT13_AMOUNT}]},ROT47:{description:" A slightly more complex variation of a caesar cipher , which includes ASCII characters from 33 '!' to 126 '~' . Default rotation : 47. ",run:Rotate.runRot47,highlight:!0,highlightReverse:!0,inputType:" byteArray ",outputType:" byteArray ",args:[{name:" Amount ",type:" number ",value:Rotate.ROT47_AMOUNT}]}," Strip HTTP headers ":{description:" Removes HTTP headers from a request or response by looking for the first instance of a double newline . ",run:HTTP.runStripHeaders,inputType:" string ",outputType:" string ",args:[]}," Parse User Agent ":{description:" Attempts to identify and categorise information contained in a user - agent string . ",run:HTTP.runParseUserAgent,inputType:" string ",outputType:" string ",args:[]}," Format MAC addresses ":{description:" Displays given MAC addresses in multiple different formats . < br >< br > Expects addresses in a list separated by newlines , spaces or commas . < br >< br > WARNING : There are no validity checks . ",run:MAC.runFormat,inputType:" string ",outputType:" string ",args:[{name:" Output case ",type:" option ",value:MAC.OUTPUT_CASE},{name:" No delimiter ",type:" boolean ",value:MAC.NO_DELIM},{name:" Dash delimiter ",type:" boolean ",value:MAC.DASH_DELIM},{name:" Colon delimiter ",type:" boolean ",value:MAC.COLON_DELIM},{name:" Cisco style ",type:" boolean ",value:MAC.CISCO_STYLE}]}," Offset checker ":{description:" Compares multiple inputs ( separated by the specified delimiter ) and highlights matching characters which appear at the same position in all samples . ",run:StrUtils.runOffsetChecker,inputType:" string ",outputType:" html ",args:[{name:" Sample delimiter ",type:" binaryString ",value:StrUtils.OFF_CHK_SAMPLE_DELIMITER}]}," Remove whitespace ":{description:" Optionally removes all spaces , carriage returns , line feeds , tabs and form feeds from the input data . < br >< br > This operation also supports the
2017-02-07 14:20:34 +00:00
outputType : "string" , args : []}, "Parse ASN.1 hex string" : { description : "Abstract Syntax Notation One (ASN.1) is a standard and notation that describes rules and structures for representing, encoding, transmitting, and decoding data in telecommunications and computer networking.<br><br>This operation parses arbitrary ASN.1 data and presents the resulting tree." , run : PublicKey . runParseAsn1HexString , inputType : "string" , outputType : "string" , args : [{ name : "Starting index" , type : "number" , value : 0 },{ name : "Truncate octet strings longer than" , type : "number" , value : PublicKey . ASN1_TRUNCATE_LENGTH }]}, "Detect File Type" : { description : "Attempts to guess the MIME (Multipurpose Internet Mail Extensions) type of the data based on 'magic bytes'.<br><br>Currently supports the following file types: 7z, amr, avi, bmp, bz2, class, cr2, crx, dex, dmg, doc, elf, eot, epub, exe, flac, flv, gif, gz, ico, iso, jpg, jxr, m4a, m4v, mid, mkv, mov, mp3, mp4, mpg, ogg, otf, pdf, png, ppt, ps, psd, rar, rtf, sqlite, swf, tar, tar.z, tif, ttf, utf8, vmdk, wav, webm, webp, wmv, woff, woff2, xls, xz, zip." , run : FileType . runDetect , inputType : "byteArray" , outputType : "string" , args : []}, "Scan for Embedded Files" : { description : "Scans the data for potential embedded files by looking for magic bytes at all offsets. This operation is prone to false positives.<br><br>WARNING: Files over about 100KB in size will take a VERY long time to process." , run : FileType . runScanForEmbeddedFiles , inputType : "byteArray" , outputType : "string" , args : [{ name : "Ignore common byte sequences" , type : "boolean" , value : FileType . IGNORE_COMMON_BYTE_SEQUENCES }]}, "Expand alphabet range" : { description : "Expand an alphabet range string into a list of the characters in that range.<br><br>e.g. <code>a-z</code> becomes <code>abcdefghijklmnopqrstuvwxyz</code>." , run : SeqUtils . runExpandAlphRange , inputType : "string" , outputType : "string" , args : [{ name : "Delimiter" , type : "binaryString" , value : "" }]}, Diff : { description : "Compares two inputs (separated by the specified delimiter) and highlights the differences between them." , run : StrUtils . runDiff , inputType : "string" , outputType : "html" , args : [{ name : "Sample delimiter" , type : "binaryString" , value : StrUtils . DIFF_SAMPLE_DELIMITER },{ name : "Diff by" , type : "option" , value : StrUtils . DIFF_BY },{ name : "Show added" , type : "boolean" , value :! 0 },{ name : "Show removed" , type : "boolean" , value :! 0 },{ name : "Ignore whitespace (relevant for word and line)" , type : "boolean" , value :! 1 }]}, "Parse UNIX file permissions" : { description : "Given a UNIX/Linux file permission string in octal or textual format, this operation explains which permissions are granted to which user groups.<br><br>Input should be in either octal (e.g. <code>755</code>) or textual (e.g. <code>drwxr-xr-x</code>) format." , run : OS . runParseUnixPerms , inputType : "string" , outputType : "string" , args : []}, "Swap endianness" : { description : "Switches the data from big-endian to little-endian or vice-versa. Data can be read in as hexadecimal or raw bytes. It will be returned in the same format as it is entered." , run : Endian . runSwapEndianness , highlight :! 0 , highlightReverse :! 0 , inputType : "string" , outputType : "string" , args : [{ name : "Data format" , type : "option" , value : Endian . DATA_FORMAT },{ name : "Word length (bytes)" , type : "number" , value : Endian . WORD_LENGTH },{ name : "Pad incomplete words" , type : "boolean" , value : Endian . PAD_INCOMPLETE_WORDS }]}, "Syntax highlighter" : { description : "Adds syntax highlighting to a range of source code languages. Note that this will not indent the code. Use one of the 'Beautify' operations for that." , run : Code . runSyntaxHighlight , highlight :! 0 , highlightReverse :! 0 , inputType : "string" , outputType : "html" , args : [{ name : "Language/File extension" , type : "option" , value : Code . LANGUAGES },{ name : "Display line numbers" , type : "boolean" , value : Code . LINE_NUMS }]}, "Parse escaped string" : { description : "Replaces escaped characters with the bytes they represent.<br><br>e.g.<code>Hello\\nWorld</code> becomes <code>Hello<br>World</code>" , run : StrUtils . runParseEscapedString , inputType : "string" , outputType : "string" , args : []}, "TCP/IP Checksum" : { description : "Calculates the checksum for a TCP (Transport Control Protocol) or IP (Interne
var b=a.target,c=b.nextSibling;c.value=b.childNodes[b.selectedIndex].value,this.manager.recipe.ingChange()};var HTMLOperation=function(a,b,c,d){this.app=c,this.manager=d,this.name=a,this.description=b.description,this.manualBake=b.manualBake||!1,this.config=b,this.ingList=[];for(var e=0;e<b.args.length;e++){var f=new HTMLIngredient(b.args[e],this.app,this.manager);this.ingList.push(f)}};HTMLOperation.INFO_ICON=" iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8 / 9 hAAAByElEQVR4XqVTzWoaYRQ9KZJmoVaS1J1QiYTIuOgqi9lEugguQhYhdGs3hTyAi0CWJTvJIks30ZBNsimUtlqkVLoQCuJsphRriyFjabWtEyf / Rv3iWcwwymTlgQuH851z5hu43wRGkEwmXwCIA4hiGAUAmUQikQbhEHwyGCWVSglVVUW73RYmyKnxjB56ncJ6NpsVxHGrI / ZLuniVb3DIqQmCHnrNkgcggNeSJPlisRgyJR2b737j / TcDsQUPwv6H5NR4BnroZcb6Z16N2PvyX6yna9Z8qp6JQ0Uf0ughmGHWBSAuyzJqrQ7eqKewY / dzE363C71e39LoWQq5wUwul4uzIBoIBHD01RgyrkZ8eDbvwUWnj623v2DHx4qB51IAzLIAXq8XP / 7 W0bUVVJtXWIk8wvlN364TA + /1IDMLwmWK/Hq3axmhaBdoGLeklm73ElaBYRgIzkyifHIOO4QQJKM3oJcZq6CgaVp0OTyHw9K/kQI4FiyHfdC0n2CWe5ApFosIPZ7C2tNpXpcDOehGyD/FIbd0euhlhllzFxRzC3fydbG4XRYbB9/tQ41n9m1U7l3lyp9LkfygiZeZCoecmtMqj/+Yxn7Od3v0j50qCO3zAAAAAElFTkSuQmCC",HTMLOperation.REMOVE_ICON="iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABwklEQVR42qRTPU8CQRB9K2CCMRJ6NTQajOUaqfxIbLCRghhjQixosLAgFNBQ3l8wsabxLxBJbCyVUBiMCVQEQkOEKBbCnefM3p4eohWXzM3uvHlv52b2hG3bmOWZw4yPn1/XQkCQ9wFxcgZZ0QLKpifpN8Z1n1L13griBBjHhYK0nMT4b+wom53ClAAFQacZJ/m8rNfrSOZy0vxJjPP6IJ2WzWYTO6mUwiwtILiJJSHUKVSWkchkZK1WQzQaxU2pVGUglkjIbreLUCiEx0qlStlFCpfPiPstYDtVKJH9ZFI2Gw1FGA6H6LTbCAaDeGu1FJl6UuYjpwTGzucokZW1NfnS66kyfT4fXns9RaZmlgNcuhZQU+jowLzuOK/HgwEW3E5ZlhLXVWKk11P3wNYNWw+HZdA0sUgx1zjGmD05nckx0ilGjBJdUq3fr7K5e8bGf43RdL7fOPSQb4lI8SLbrUfkUIuY32VTI1bJn5BqDnh4Dodt9ryPUDzyD7aquWoKQohl2i9sAbubwPkTcHkP3FHsg+yT+7sN7G0AF3Xg6sHB3onbdgWWKBDQg/BcTuVt51dQA/JrnIcyIu6rmPV3/hJgACPc0BMEYTg+AAAAAElFTkSuQmCC",HTMLOperation.prototype.toStubHtml=function(a){var b="<li class='operation'";return this.description&&(b+=" data-container='body' data-toggle='popover' data-placement='auto right' data-content=\""+this.description+"\" data-html='true' data-trigger='hover'"),b+=">"+this.name,a&&(b+="<img src='data:image/png;base64,"+HTMLOperation.REMOVE_ICON+"' class='op-icon remove-icon'>"),this.description&&(b+="<img src='data:image/png;base64,"+HTMLOperation.INFO_ICON+"' class='op-icon'>"),b+="</li>"},HTMLOperation.prototype.toFullHtml=function(){for(var a="<div class='arg-title'>"+this.name+"</div>",b=0;b<this.ingList.length;b++)a+=this.ingList[b].toHtml();return a+="<div class='recip-icons'> <div class='breakpoint' title='Set breakpoint' break='false'></div> <div class='disable-icon recip-icon' title='Disable operation' disabled='false'></div>",a+="</div> <div class='clearfix'> </div>"},HTMLOperation.prototype.highlightSearchString=function(a,b,c){b>=0&&(this.name=this.name.slice(0,b)+"<b><u>"+this.name.slice(b,b+a.length)+"</u></b>"+this.name.slice(b+a.length)),this.description&&c>=0&&(this.description=this.description.slice(0,c)+"<b><u>"+this.description.slice(c,c+a.length)+"</u></b>"+this.description.slice(c+a.length))};var InputWaiter=function(a,b){this.app=a,this.manager=b,this.badKeys=[16,17,18,19,20,27,33,34,35,36,37,38,39,40,44,91,92,93,112,113,114,115,116,117,118,119,120,121,122,123,144,145]};InputWaiter.prototype.get=function(){return document.getElementById("input-text").value},InputWaiter.prototype.set=function(a){document.getElementById("input-text").value=a,window.dispatchEvent(this.manager.statechange)},InputWaiter.prototype.setInputInfo=function(a,b){var c=a.toString().length;c=c<2?2:c;var d=Utils.pad(a.toString(),c," ").replace(/ /g," "),e=Utils.pad(b.toString(),c," ").replace(/ /g," ");document.getElementById("input-info").innerHTML="length: "+d+"<br>lines: "+e},InputWaiter.prototype.inputChange=function(a){this.manager.highlighter.removeHighlights(),this.app.progress=0;var b=this.get(),c=b.count("\n")+1;this.setInputInfo(b.length,c),this.badKeys.indexOf(a.keyCode)<0&&window.dispatchEvent(this.manager.statechange)},InputWaiter.prototype.inputDragover=function(a){return"move"!==a.dataTran
2017-02-07 15:04:10 +00:00
document . querySelector ( "link[rel=icon]" ). setAttribute ( "href" , "data:image/png;base64," + a ), document . querySelector ( "#bake img" ). setAttribute ( "src" , "data:image/png;base64," + b ), document . querySelector ( ".about-img-left" ). setAttribute ( "src" , "data:image/png;base64," + c )}, SeasonalWaiter . prototype . insertSpiderText = function (){ document . title = document . title . replace ( /Cyber/g , "Spider" ), SeasonalWaiter . treeWalk ( document . body , function ( a ){ 3 === a . nodeType && ( a . nodeValue = a . nodeValue . replace ( /Cyber/g , "Spider" ))}, ! 0 ), SeasonalWaiter . treeWalk ( document . getElementById ( "bake-group" ), function ( a ){ 3 === a . nodeType && ( a . nodeValue = a . nodeValue . replace ( /Bake/g , "Spin" ))}, ! 0 ), document . querySelector ( "#recipe .title" ). innerHTML = "Web" }, SeasonalWaiter . prototype . createSnowOption = function (){ var a = document . getElementById ( "options-body" ), b = document . createElement ( "div" ); b . className = "option-item" , b . innerHTML = "<input type='checkbox' option='snow' checked /> Let it snow" , a . appendChild ( b ), this . manager . options . load ()}, SeasonalWaiter . prototype . letItSnow = function (){ if ( $ ( document ). snowfall ( "clear" ), this . app . options . snow ){ var a = {}, b = navigator . userAgent . match ( /Firefox\/(\d\d?)/ ); a = b && parseInt ( b [ 1 ], 10 ) < 30 ? { flakeCount : 10 , flakeColor : "#fff" , flakePosition : "absolute" , minSize : 1 , maxSize : 2 , minSpeed : 1 , maxSpeed : 5 , round :! 1 , shadow :! 1 , collection :! 1 , collectionHeight : 20 , deviceorientation :! 0 } : { flakeCount : 35 , flakeColor : "#fff" , flakePosition : "absolute" , minSize : 5 , maxSize : 8 , minSpeed : 1 , maxSpeed : 5 , round :! 0 , shadow :! 0 , collection : ".btn" , collectionHeight : 20 , deviceorientation :! 0 }, $ ( document ). snowfall ( a )}}, SeasonalWaiter . prototype . shakeOffSnow = function ( a ){ for ( var b = a . target , c = b . getBoundingClientRect (), d = document . querySelectorAll ( "canvas.snowfall-canvas" ), e = null , f = function (){ h . clearRect ( 0 , 0 , e . width , e . height ), $ ( this ). fadeIn ()}, g = 0 ; g < d . length ; g ++ ) if ( e = d [ g ], e . style . left === c . left + "px" && e . style . top === c . top - 20 + "px" ){ var h = e . getContext ( "2d" ); $ ( e ). fadeOut ( "slow" , f ); break }}, SeasonalWaiter . prototype . konamiCodeListener = function ( a ){ this . kkeys . push ( a . keyCode ); for ( var b = [ 38 , 38 , 40 , 40 , 37 , 39 , 37 , 39 , 66 , 65 ], c = 0 ; c < this . kkeys . length ; c ++ ){ if ( this . kkeys [ c ] !== b [ c ]){ this . kkeys = []; break } c === b . length - 1 && ( $ ( "body" ). children (). toggleClass ( "konami" ), this . kkeys = [])}}, SeasonalWaiter . treeWalk = function (){ var a = { SCRIPT :! 0 , IFRAME :! 0 , OBJECT :! 0 , EMBED :! 0 , STYLE :! 0 , LINK :! 0 , META :! 0 }; return function ( b , c , d ){ for ( var e = b . firstChild ; e && e !== b ;){ if (( d || 1 === e . nodeType ) && c ( e ) ===! 1 ) return ! 1 ; if ( 1 !== e . nodeType ||! e . firstChild || e . tagName && a [ e . tagName ]){ if ( e . nextSibling ) e = e . nextSibling ; else for (;( e = e . parentNode ) !== b ;) if ( e . nextSibling ){ e = e . nextSibling ; break }} else e = e . firstChild }}}(); var WindowWaiter = function ( a ){ this . app = a }; WindowWaiter . prototype . windowResize = function (){ clearTimeout ( this . resetLayoutTimeout ), this . resetLayoutTimeout = setTimeout ( this . app . resetLayout . bind ( this . app ), 200 )}, WindowWaiter . prototype . windowBlur = function (){ this . windowBlurTime = ( new Date ). getTime ()}, WindowWaiter . prototype . windowFocus = function (){ var a = ( new Date ). getTime () - this . windowBlurTime ; a > 6e4 && this . app . silentBake ()}; var main = function (){ var a = [ "To Base64" , "From Base64" , "To Hex" , "From Hex" , "To Hexdump" , "From Hexdump" , "URL Decode" , "Regular expression" , "Entropy" , "Fork" ], b = { updateUrl :! 0 , showHighlighter :! 0 , treatAsUtf8 :! 0 , wordWrap :! 0 , showErrors :! 0 , errorTimeout : 4e3 , autoBakeThreshold : 200 , attemptHighlight :! 0 , snow :! 1 }; document . removeEventListener ( "DOMContentLoaded" , main , ! 1 ), window . app = new HTMLApp ( Categories , OperationConfig , a , b ), window . app . setup ()}; window . console = console || { log : function (){}, error : function (){}}, window . compileTime = moment . tz ( "Tue Feb 07 2017 15:00:04" , "ddd MMM D YYYY HH:mm:ss" , "UTC" ). valueOf (), window . compileMessage = "" , document . addEventListener ( "DOMContentLoaded" , main , ! 1 );