2023-12-30 15:24:12 +08:00
var q = null ; window . PR _SHOULD _USE _CONTINUATION = ! 0 ;
( function ( ) { function L ( a ) { function m ( a ) { var f = a . charCodeAt ( 0 ) ; if ( f !== 92 ) return f ; var b = a . charAt ( 1 ) ; return ( f = r [ b ] ) ? f : "0" <= b && b <= "7" ? parseInt ( a . substring ( 1 ) , 8 ) : b === "u" || b === "x" ? parseInt ( a . substring ( 2 ) , 16 ) : a . charCodeAt ( 1 ) } function e ( a ) { if ( a < 32 ) return ( a < 16 ? "\\x0" : "\\x" ) + a . toString ( 16 ) ; a = String . fromCharCode ( a ) ; if ( a === "\\" || a === "-" || a === "[" || a === "]" ) a = "\\" + a ; return a } function h ( a ) { for ( var f = a . substring ( 1 , a . length - 1 ) . match ( /\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g ) , a =
[ ] , b = [ ] , o = f [ 0 ] === "^" , c = o ? 1 : 0 , i = f . length ; c < i ; ++ c ) { var j = f [ c ] ; if ( /\\[bdsw]/i . test ( j ) ) a . push ( j ) ; else { var j = m ( j ) , d ; c + 2 < i && "-" === f [ c + 1 ] ? ( d = m ( f [ c + 2 ] ) , c += 2 ) : d = j ; b . push ( [ j , d ] ) ; d < 65 || j > 122 || ( d < 65 || j > 90 || b . push ( [ Math . max ( 65 , j ) | 32 , Math . min ( d , 90 ) | 32 ] ) , d < 97 || j > 122 || b . push ( [ Math . max ( 97 , j ) & - 33 , Math . min ( d , 122 ) & - 33 ] ) ) } } b . sort ( function ( a , f ) { return a [ 0 ] - f [ 0 ] || f [ 1 ] - a [ 1 ] } ) ; f = [ ] ; j = [ NaN , NaN ] ; for ( c = 0 ; c < b . length ; ++ c ) i = b [ c ] , i [ 0 ] <= j [ 1 ] + 1 ? j [ 1 ] = Math . max ( j [ 1 ] , i [ 1 ] ) : f . push ( j = i ) ; b = [ "[" ] ; o && b . push ( "^" ) ; b . push . apply ( b , a ) ; for ( c = 0 ; c <
f . length ; ++ c ) i = f [ c ] , b . push ( e ( i [ 0 ] ) ) , i [ 1 ] > i [ 0 ] && ( i [ 1 ] + 1 > i [ 0 ] && b . push ( "-" ) , b . push ( e ( i [ 1 ] ) ) ) ; b . push ( "]" ) ; return b . join ( "" ) } function y ( a ) { for ( var f = a . source . match ( /\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g ) , b = f . length , d = [ ] , c = 0 , i = 0 ; c < b ; ++ c ) { var j = f [ c ] ; j === "(" ? ++ i : "\\" === j . charAt ( 0 ) && ( j = + j . substring ( 1 ) ) && j <= i && ( d [ j ] = - 1 ) } for ( c = 1 ; c < d . length ; ++ c ) - 1 === d [ c ] && ( d [ c ] = ++ t ) ; for ( i = c = 0 ; c < b ; ++ c ) j = f [ c ] , j === "(" ? ( ++ i , d [ i ] === void 0 && ( f [ c ] = "(?:" ) ) : "\\" === j . charAt ( 0 ) &&
( j = + j . substring ( 1 ) ) && j <= i && ( f [ c ] = "\\" + d [ i ] ) ; for ( i = c = 0 ; c < b ; ++ c ) "^" === f [ c ] && "^" !== f [ c + 1 ] && ( f [ c ] = "" ) ; if ( a . ignoreCase && s ) for ( c = 0 ; c < b ; ++ c ) j = f [ c ] , a = j . charAt ( 0 ) , j . length >= 2 && a === "[" ? f [ c ] = h ( j ) : a !== "\\" && ( f [ c ] = j . replace ( /[A-Za-z]/g , function ( a ) { a = a . charCodeAt ( 0 ) ; return "[" + String . fromCharCode ( a & - 33 , a | 32 ) + "]" } ) ) ; return f . join ( "" ) } for ( var t = 0 , s = ! 1 , l = ! 1 , p = 0 , d = a . length ; p < d ; ++ p ) { var g = a [ p ] ; if ( g . ignoreCase ) l = ! 0 ; else if ( /[a-z]/i . test ( g . source . replace ( /\\u[\da-f]{4}|\\x[\da-f]{2}|\\[^UXux]/gi , "" ) ) ) { s = ! 0 ; l = ! 1 ; break } } for ( var r =
{ b : 8 , t : 9 , n : 10 , v : 11 , f : 12 , r : 13 } , n = [ ] , p = 0 , d = a . length ; p < d ; ++ p ) { g = a [ p ] ; if ( g . global || g . multiline ) throw Error ( "" + g ) ; n . push ( "(?:" + y ( g ) + ")" ) } return RegExp ( n . join ( "|" ) , l ? "gi" : "g" ) } function M ( a ) { function m ( a ) { switch ( a . nodeType ) { case 1 : if ( e . test ( a . className ) ) break ; for ( var g = a . firstChild ; g ; g = g . nextSibling ) m ( g ) ; g = a . nodeName ; if ( "BR" === g || "LI" === g ) h [ s ] = "\n" , t [ s << 1 ] = y ++ , t [ s ++ << 1 | 1 ] = a ; break ; case 3 : case 4 : g = a . nodeValue , g . length && ( g = p ? g . replace ( /\r\n?/g , "\n" ) : g . replace ( /[\t\n\r ]+/g , " " ) , h [ s ] = g , t [ s << 1 ] = y , y += g . length ,
t [ s ++ << 1 | 1 ] = a ) } } var e = /(?:^|\s)nocode(?:\s|$)/ , h = [ ] , y = 0 , t = [ ] , s = 0 , l ; a . currentStyle ? l = a . currentStyle . whiteSpace : window . getComputedStyle && ( l = document . defaultView . getComputedStyle ( a , q ) . getPropertyValue ( "white-space" ) ) ; var p = l && "pre" === l . substring ( 0 , 3 ) ; m ( a ) ; return { a : h . join ( "" ) . replace ( /\n$/ , "" ) , c : t } } function B ( a , m , e , h ) { m && ( a = { a : m , d : a } , e ( a ) , h . push . apply ( h , a . e ) ) } function x ( a , m ) { function e ( a ) { for ( var l = a . d , p = [ l , "pln" ] , d = 0 , g = a . a . match ( y ) || [ ] , r = { } , n = 0 , z = g . length ; n < z ; ++ n ) { var f = g [ n ] , b = r [ f ] , o = void 0 , c ; if ( typeof b ===
"string" ) c = ! 1 ; else { var i = h [ f . charAt ( 0 ) ] ; if ( i ) o = f . match ( i [ 1 ] ) , b = i [ 0 ] ; else { for ( c = 0 ; c < t ; ++ c ) if ( i = m [ c ] , o = f . match ( i [ 1 ] ) ) { b = i [ 0 ] ; break } o || ( b = "pln" ) } if ( ( c = b . length >= 5 && "lang-" === b . substring ( 0 , 5 ) ) && ! ( o && typeof o [ 1 ] === "string" ) ) c = ! 1 , b = "src" ; c || ( r [ f ] = b ) } i = d ; d += f . length ; if ( c ) { c = o [ 1 ] ; var j = f . indexOf ( c ) , k = j + c . length ; o [ 2 ] && ( k = f . length - o [ 2 ] . length , j = k - c . length ) ; b = b . substring ( 5 ) ; B ( l + i , f . substring ( 0 , j ) , e , p ) ; B ( l + i + j , c , C ( b , c ) , p ) ; B ( l + i + k , f . substring ( k ) , e , p ) } else p . push ( l + i , b ) } a . e = p } var h = { } , y ; ( function ( ) { for ( var e = a . concat ( m ) ,
l = [ ] , p = { } , d = 0 , g = e . length ; d < g ; ++ d ) { var r = e [ d ] , n = r [ 3 ] ; if ( n ) for ( var k = n . length ; -- k >= 0 ; ) h [ n . charAt ( k ) ] = r ; r = r [ 1 ] ; n = "" + r ; p . hasOwnProperty ( n ) || ( l . push ( r ) , p [ n ] = q ) } l . push ( /[\S\s]/ ) ; y = L ( l ) } ) ( ) ; var t = m . length ; return e } function u ( a ) { var m = [ ] , e = [ ] ; a . tripleQuotedStrings ? m . push ( [ "str" , /^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/ , q , "'\"" ] ) : a . multiLineStrings ? m . push ( [ "str" , /^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/ ,
q , "'\"`" ] ) : m . push ( [ "str" , /^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/ , q , "\"'" ] ) ; a . verbatimStrings && e . push ( [ "str" , /^@"(?:[^"]|"")*(?:"|$)/ , q ] ) ; var h = a . hashComments ; h && ( a . cStyleComments ? ( h > 1 ? m . push ( [ "com" , /^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/ , q , "#" ] ) : m . push ( [ "com" , /^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/ , q , "#" ] ) , e . push ( [ "str" , /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/ , q ] ) ) : m . push ( [ "com" , /^#[^\n\r]*/ ,
q , "#" ] ) ) ; a . cStyleComments && ( e . push ( [ "com" , /^\/\/[^\n\r]*/ , q ] ) , e . push ( [ "com" , /^\/\*[\S\s]*?(?:\*\/|$)/ , q ] ) ) ; a . regexLiterals && e . push ( [ "lang-regex" , /^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/ ] ) ; ( h = a . types ) && e . push ( [ "typ" , h ] ) ; a = ( "" + a . keywords ) . replace ( /^ | $/g ,
"" ) ; a . length && e . push ( [ "kwd" , RegExp ( "^(?:" + a . replace ( /[\s,]+/g , "|" ) + ")\\b" ) , q ] ) ; m . push ( [ "pln" , /^\s+/ , q , " \r\n\t\xa0" ] ) ; e . push ( [ "lit" , /^@[$_a-z][\w$@]*/i , q ] , [ "typ" , /^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/ , q ] , [ "pln" , /^[$_a-z][\w$@]*/i , q ] , [ "lit" , /^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i , q , "0123456789" ] , [ "pln" , /^\\[\S\s]?/ , q ] , [ "pun" , /^.[^\s\w"-$'./@\\`]*/ , q ] ) ; return x ( m , e ) } function D ( a , m ) { function e ( a ) { switch ( a . nodeType ) { case 1 : if ( k . test ( a . className ) ) break ; if ( "BR" === a . nodeName ) h ( a ) ,
a . parentNode && a . parentNode . removeChild ( a ) ; else for ( a = a . firstChild ; a ; a = a . nextSibling ) e ( a ) ; break ; case 3 : case 4 : if ( p ) { var b = a . nodeValue , d = b . match ( t ) ; if ( d ) { var c = b . substring ( 0 , d . index ) ; a . nodeValue = c ; ( b = b . substring ( d . index + d [ 0 ] . length ) ) && a . parentNode . insertBefore ( s . createTextNode ( b ) , a . nextSibling ) ; h ( a ) ; c || a . parentNode . removeChild ( a ) } } } } function h ( a ) { function b ( a , d ) { var e = d ? a . cloneNode ( ! 1 ) : a , f = a . parentNode ; if ( f ) { var f = b ( f , 1 ) , g = a . nextSibling ; f . appendChild ( e ) ; for ( var h = g ; h ; h = g ) g = h . nextSibling , f . appendChild ( h ) } return e }
for ( ; ! a . nextSibling ; ) if ( a = a . parentNode , ! a ) return ; for ( var a = b ( a . nextSibling , 0 ) , e ; ( e = a . parentNode ) && e . nodeType === 1 ; ) a = e ; d . push ( a ) } var k = /(?:^|\s)nocode(?:\s|$)/ , t = /\r\n?|\n/ , s = a . ownerDocument , l ; a . currentStyle ? l = a . currentStyle . whiteSpace : window . getComputedStyle && ( l = s . defaultView . getComputedStyle ( a , q ) . getPropertyValue ( "white-space" ) ) ; var p = l && "pre" === l . substring ( 0 , 3 ) ; for ( l = s . createElement ( "LI" ) ; a . firstChild ; ) l . appendChild ( a . firstChild ) ; for ( var d = [ l ] , g = 0 ; g < d . length ; ++ g ) e ( d [ g ] ) ; m === ( m | 0 ) && d [ 0 ] . setAttribute ( "value" ,
m ) ; var r = s . createElement ( "OL" ) ; r . className = "linenums" ; for ( var n = Math . max ( 0 , m - 1 | 0 ) || 0 , g = 0 , z = d . length ; g < z ; ++ g ) l = d [ g ] , l . className = "L" + ( g + n ) % 10 , l . firstChild || l . appendChild ( s . createTextNode ( "\xa0" ) ) , r . appendChild ( l ) ; a . appendChild ( r ) } function k ( a , m ) { for ( var e = m . length ; -- e >= 0 ; ) { var h = m [ e ] ; A . hasOwnProperty ( h ) ? window . console && console . warn ( "cannot override language handler %s" , h ) : A [ h ] = a } } function C ( a , m ) { if ( ! a || ! A . hasOwnProperty ( a ) ) a = /^\s*</ . test ( m ) ? "default-markup" : "default-code" ; return A [ a ] } function E ( a ) { var m =
a . g ; try { var e = M ( a . h ) , h = e . a ; a . a = h ; a . c = e . c ; a . d = 0 ; C ( m , h ) ( a ) ; var k = /\bMSIE\b/ . test ( navigator . userAgent ) , m = /\n/g , t = a . a , s = t . length , e = 0 , l = a . c , p = l . length , h = 0 , d = a . e , g = d . length , a = 0 ; d [ g ] = s ; var r , n ; for ( n = r = 0 ; n < g ; ) d [ n ] !== d [ n + 2 ] ? ( d [ r ++ ] = d [ n ++ ] , d [ r ++ ] = d [ n ++ ] ) : n += 2 ; g = r ; for ( n = r = 0 ; n < g ; ) { for ( var z = d [ n ] , f = d [ n + 1 ] , b = n + 2 ; b + 2 <= g && d [ b + 1 ] === f ; ) b += 2 ; d [ r ++ ] = z ; d [ r ++ ] = f ; n = b } for ( d . length = r ; h < p ; ) { var o = l [ h + 2 ] || s , c = d [ a + 2 ] || s , b = Math . min ( o , c ) , i = l [ h + 1 ] , j ; if ( i . nodeType !== 1 && ( j = t . substring ( e , b ) ) ) { k && ( j = j . replace ( m , "\r" ) ) ; i . nodeValue =
j ; var u = i . ownerDocument , v = u . createElement ( "SPAN" ) ; v . className = d [ a + 1 ] ; var x = i . parentNode ; x . replaceChild ( v , i ) ; v . appendChild ( i ) ; e < o && ( l [ h + 1 ] = i = u . createTextNode ( t . substring ( b , o ) ) , x . insertBefore ( i , v . nextSibling ) ) } e = b ; e >= o && ( h += 2 ) ; e >= c && ( a += 2 ) } } catch ( w ) { "console" in window && console . log ( w && w . stack ? w . stack : w ) } } var v = [ "break,continue,do,else,for,if,return,while" ] , w = [ [ v , "auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile" ] ,
"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof" ] , F = [ w , "alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where" ] , G = [ w , "abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient" ] ,
H = [ G , "as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var" ] , w = [ w , "debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN" ] , I = [ v , "and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None" ] ,
J = [ v , "alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END" ] , v = [ v , "case,done,elif,esac,eval,fi,function,in,local,set,then,until" ] , K = /^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/ , N = /\S/ , O = u ( { keywords : [ F , H , w , "caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END" +
I , J , v ] , hashComments : ! 0 , cStyleComments : ! 0 , multiLineStrings : ! 0 , regexLiterals : ! 0 } ) , A = { } ; k ( O , [ "default-code" ] ) ; k ( x ( [ ] , [ [ "pln" , /^[^<?]+/ ] , [ "dec" , /^<!\w[^>]*(?:>|$)/ ] , [ "com" , /^<\!--[\S\s]*?(?:--\>|$)/ ] , [ "lang-" , /^<\?([\S\s]+?)(?:\?>|$)/ ] , [ "lang-" , /^<%([\S\s]+?)(?:%>|$)/ ] , [ "pun" , /^(?:<[%?]|[%?]>)/ ] , [ "lang-" , /^<xmp\b[^>]*>([\S\s]+?)<\/xmp\b[^>]*>/i ] , [ "lang-js" , /^<script\b[^>]*>([\S\s]*?)(<\/script\b[^>]*>)/i ] , [ "lang-css" , /^<style\b[^>]*>([\S\s]*?)(<\/style\b[^>]*>)/i ] , [ "lang-in.tag" , /^(<\/?[a-z][^<>]*>)/i ] ] ) ,
[ "default-markup" , "htm" , "html" , "mxml" , "xhtml" , "xml" , "xsl" ] ) ; k ( x ( [ [ "pln" , /^\s+/ , q , " \t\r\n" ] , [ "atv" , /^(?:"[^"]*"?|'[^']*'?)/ , q , "\"'" ] ] , [ [ "tag" , /^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i ] , [ "atn" , /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i ] , [ "lang-uq.val" , /^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/ ] , [ "pun" , /^[/<->]+/ ] , [ "lang-js" , /^on\w+\s*=\s*"([^"]+)"/i ] , [ "lang-js" , /^on\w+\s*=\s*'([^']+)'/i ] , [ "lang-js" , /^on\w+\s*=\s*([^\s"'>]+)/i ] , [ "lang-css" , /^style\s*=\s*"([^"]+)"/i ] , [ "lang-css" , /^style\s*=\s*'([^']+)'/i ] , [ "lang-css" ,
/^style\s*=\s*([^\s"'>]+)/i ] ] ) , [ "in.tag" ] ) ; k ( x ( [ ] , [ [ "atv" , /^[\S\s]+/ ] ] ) , [ "uq.val" ] ) ; k ( u ( { keywords : F , hashComments : ! 0 , cStyleComments : ! 0 , types : K } ) , [ "c" , "cc" , "cpp" , "cxx" , "cyc" , "m" ] ) ; k ( u ( { keywords : "null,true,false" } ) , [ "json" ] ) ; k ( u ( { keywords : H , hashComments : ! 0 , cStyleComments : ! 0 , verbatimStrings : ! 0 , types : K } ) , [ "cs" ] ) ; k ( u ( { keywords : G , cStyleComments : ! 0 } ) , [ "java" ] ) ; k ( u ( { keywords : v , hashComments : ! 0 , multiLineStrings : ! 0 } ) , [ "bsh" , "csh" , "sh" ] ) ; k ( u ( { keywords : I , hashComments : ! 0 , multiLineStrings : ! 0 , tripleQuotedStrings : ! 0 } ) ,
[ "cv" , "py" ] ) ; k ( u ( { keywords : "caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END" , hashComments : ! 0 , multiLineStrings : ! 0 , regexLiterals : ! 0 } ) , [ "perl" , "pl" , "pm" ] ) ; k ( u ( { keywords : J , hashComments : ! 0 , multiLineStrings : ! 0 , regexLiterals : ! 0 } ) , [ "rb" ] ) ; k ( u ( { keywords : w , cStyleComments : ! 0 , regexLiterals : ! 0 } ) , [ "js" ] ) ; k ( u ( { keywords : "all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes" ,
hashComments : 3 , cStyleComments : ! 0 , multilineStrings : ! 0 , tripleQuotedStrings : ! 0 , regexLiterals : ! 0 } ) , [ "coffee" ] ) ; k ( x ( [ ] , [ [ "str" , /^[\S\s]+/ ] ] ) , [ "regex" ] ) ; window . prettyPrintOne = function ( a , m , e ) { var h = document . createElement ( "PRE" ) ; h . innerHTML = a ; e && D ( h , e ) ; E ( { g : m , i : e , h : h } ) ; return h . innerHTML } ; window . prettyPrint = function ( a ) { function m ( ) { for ( var e = window . PR _SHOULD _USE _CONTINUATION ? l . now ( ) + 250 : Infinity ; p < h . length && l . now ( ) < e ; p ++ ) { var n = h [ p ] , k = n . className ; if ( k . indexOf ( "prettyprint" ) >= 0 ) { var k = k . match ( g ) , f , b ; if ( b =
! k ) { b = n ; for ( var o = void 0 , c = b . firstChild ; c ; c = c . nextSibling ) var i = c . nodeType , o = i === 1 ? o ? b : c : i === 3 ? N . test ( c . nodeValue ) ? b : o : o ; b = ( f = o === b ? void 0 : o ) && "CODE" === f . tagName } b && ( k = f . className . match ( g ) ) ; k && ( k = k [ 1 ] ) ; b = ! 1 ; for ( o = n . parentNode ; o ; o = o . parentNode ) if ( ( o . tagName === "pre" || o . tagName === "code" || o . tagName === "xmp" ) && o . className && o . className . indexOf ( "prettyprint" ) >= 0 ) { b = ! 0 ; break } b || ( ( b = ( b = n . className . match ( /\blinenums\b(?::(\d+))?/ ) ) ? b [ 1 ] && b [ 1 ] . length ? + b [ 1 ] : ! 0 : ! 1 ) && D ( n , b ) , d = { g : k , h : n , i : b } , E ( d ) ) } } p < h . length ? setTimeout ( m ,
250 ) : a && a ( ) } for ( var e = [ document . getElementsByTagName ( "pre" ) , document . getElementsByTagName ( "code" ) , document . getElementsByTagName ( "xmp" ) ] , h = [ ] , k = 0 ; k < e . length ; ++ k ) for ( var t = 0 , s = e [ k ] . length ; t < s ; ++ t ) h . push ( e [ k ] [ t ] ) ; var e = q , l = Date ; l . now || ( l = { now : function ( ) { return + new Date } } ) ; var p = 0 , d , g = /\blang(?:uage)?-([\w.]+)(?!\S)/ ; m ( ) } ; window . PR = { createSimpleLexer : x , registerLangHandler : k , sourceDecorator : u , PR _ATTRIB _NAME : "atn" , PR _ATTRIB _VALUE : "atv" , PR _COMMENT : "com" , PR _DECLARATION : "dec" , PR _KEYWORD : "kwd" , PR _LITERAL : "lit" ,
PR _NOCODE : "nocode" , PR _PLAIN : "pln" , PR _PUNCTUATION : "pun" , PR _SOURCE : "src" , PR _STRING : "str" , PR _TAG : "tag" , PR _TYPE : "typ" } } ) ( ) ;