2016-12-31 08:20:45 +00:00
/* xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */
2018-03-06 00:34:04 +00:00
var DO _NOT _EXPORT _CODEPAGE = true ; var DO _NOT _EXPORT _JSZIP = true ; var XLSX = { } ; ( function e ( r ) { r . version = "0.12.4" ; var t = 1200 , a = 1252 ; if ( typeof module !== "undefined" && typeof require !== "undefined" ) { if ( typeof cptable === "undefined" ) global . cptable = undefined } var n = [ 874 , 932 , 936 , 949 , 950 ] ; for ( var i = 0 ; i <= 8 ; ++ i ) n . push ( 1250 + i ) ; var s = { 0 : 1252 , 1 : 65001 , 2 : 65001 , 77 : 1e4 , 128 : 932 , 129 : 949 , 130 : 1361 , 134 : 936 , 136 : 950 , 161 : 1253 , 162 : 1254 , 163 : 1258 , 177 : 1255 , 178 : 1256 , 186 : 1257 , 204 : 1251 , 222 : 874 , 238 : 1250 , 255 : 1252 , 69 : 6969 } ; var l = function ( e ) { if ( n . indexOf ( e ) == - 1 ) return ; a = s [ 0 ] = e } ; function f ( ) { l ( 1252 ) } var c = function ( e ) { t = e ; l ( e ) } ; function o ( ) { c ( 1200 ) ; f ( ) } function u ( e ) { var r = [ ] ; for ( var t = 0 , a = e . length ; t < a ; ++ t ) r [ t ] = e . charCodeAt ( t ) ; return r } function h ( e ) { var r = [ ] ; for ( var t = 0 ; t < e . length >> 1 ; ++ t ) r [ t ] = String . fromCharCode ( e . charCodeAt ( 2 * t ) + ( e . charCodeAt ( 2 * t + 1 ) << 8 ) ) ; return r . join ( "" ) } function d ( e ) { var r = [ ] ; for ( var t = 0 ; t < e . length >> 1 ; ++ t ) r [ t ] = String . fromCharCode ( e . charCodeAt ( 2 * t + 1 ) + ( e . charCodeAt ( 2 * t ) << 8 ) ) ; return r . join ( "" ) } var v = function ( e ) { var r = e . charCodeAt ( 0 ) , t = e . charCodeAt ( 1 ) ; if ( r == 255 && t == 254 ) return h ( e . slice ( 2 ) ) ; if ( r == 254 && t == 255 ) return d ( e . slice ( 2 ) ) ; if ( r == 65279 ) return e . slice ( 1 ) ; return e } ; var p = function Em ( e ) { return String . fromCharCode ( e ) } ; if ( typeof cptable !== "undefined" ) { c = function ( e ) { t = e } ; v = function ( e ) { if ( e . charCodeAt ( 0 ) === 255 && e . charCodeAt ( 1 ) === 254 ) { return cptable . utils . decode ( 1200 , u ( e . slice ( 2 ) ) ) } return e } ; p = function Sm ( e ) { if ( t === 1200 ) return String . fromCharCode ( e ) ; return cptable . utils . decode ( t , [ e & 255 , e >> 8 ] ) [ 0 ] } } var m = null ; var b = true ; var g = function km ( ) { var e = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" ; return { encode : function ( r ) { var t = "" ; var a = 0 , n = 0 , i = 0 , s = 0 , l = 0 , f = 0 , c = 0 ; for ( var o = 0 ; o < r . length ; ) { a = r . charCodeAt ( o ++ ) ; s = a >> 2 ; n = r . charCodeAt ( o ++ ) ; l = ( a & 3 ) << 4 | n >> 4 ; i = r . charCodeAt ( o ++ ) ; f = ( n & 15 ) << 2 | i >> 6 ; c = i & 63 ; if ( isNaN ( n ) ) { f = c = 64 } else if ( isNaN ( i ) ) { c = 64 } t += e . charAt ( s ) + e . charAt ( l ) + e . charAt ( f ) + e . charAt ( c ) } return t } , decode : function r ( t ) { var a = "" ; var n = 0 , i = 0 , s = 0 , l = 0 , f = 0 , c = 0 , o = 0 ; t = t . replace ( /[^\w\+\/\=]/g , "" ) ; for ( var u = 0 ; u < t . length ; ) { l = e . indexOf ( t . charAt ( u ++ ) ) ; f = e . indexOf ( t . charAt ( u ++ ) ) ; n = l << 2 | f >> 4 ; a += String . fromCharCode ( n ) ; c = e . indexOf ( t . charAt ( u ++ ) ) ; i = ( f & 15 ) << 4 | c >> 2 ; if ( c !== 64 ) { a += String . fromCharCode ( i ) } o = e . indexOf ( t . charAt ( u ++ ) ) ; s = ( c & 3 ) << 6 | o ; if ( o !== 64 ) { a += String . fromCharCode ( s ) } } return a } } } ( ) ; var E = typeof Buffer !== "undefined" && typeof process !== "undefined" && typeof process . versions !== "undefined" && process . versions . node ; function S ( e ) { return new ( E ? Buffer : Array ) ( e ) } function k ( e ) { if ( E ) return new Buffer ( e , "binary" ) ; return e . split ( "" ) . map ( function ( e ) { return e . charCodeAt ( 0 ) & 255 } ) } function w ( e ) { if ( typeof ArrayBuffer === "undefined" ) return k ( e ) ; var r = new ArrayBuffer ( e . length ) , t = new Uint8Array ( r ) ; for ( var a = 0 ; a != e . length ; ++ a ) t [ a ] = e . charCodeAt ( a ) & 255 ; return r } function B ( e ) { if ( Array . isArray ( e ) ) return e . map ( vv ) . join ( "" ) ; var r = [ ] ; for ( var t = 0 ; t < e . length ; ++ t ) r [ t ] = vv ( e [ t ] ) ; return r . join ( "" ) } function C ( e ) { if ( typeof Uint8Array === "undefined" ) throw new Error ( "Unsupported" ) ; return new Uint8Array ( e ) } function T ( e ) { if ( typeof ArrayBuffer == "undefined" ) throw new Error ( "Unsupported" ) ; if ( e instanceof ArrayBuffer ) return T ( new Uint8Array ( e ) ) ; var r = new Array ( e . length ) ; for ( var t = 0 ; t < e . length ; ++ t ) r [ t ] = e [ t ] ; return r } var I = function ( e ) { return [ ] . concat . apply ( [ ] , e ) } ; var x = /\u0000/g , A = /[\u0001-\u0006]/g ; var R = { } ; var _ = function wm ( e ) { e . version = "0.10.2" ; function r ( e ) { var r = "" , t = e . length - 1 ; while ( t >= 0 ) r += e . charAt ( t -- ) ; return r } function t ( e , r ) { var t = "" ; while ( t . length < r ) t += e ; return t } function a ( e , r ) { var a = "" + e ; return a . length >= r ? a : t ( "0" , r - a . length ) + a } function n ( e , r ) { var a = "" + e ; return a . length >= r ? a : t ( " " , r - a . length ) + a } function i ( e , r ) { var a = "" + e ; return a . length >= r ? a : a + t ( " " , r - a . length ) } function s ( e , r ) { var a = "" + Math . round ( e ) ; return a . length >= r ? a : t ( "0" , r - a . length ) + a } function l ( e , r ) { var a = "" + e ; return a . length >= r ? a : t ( "0" , r - a . length ) + a } var f = Math . pow ( 2 , 32 ) ; function c ( e , r ) { if ( e > f || e < - f ) return s ( e , r ) ; var t = Math . round ( e ) ; return l ( t , r ) } function o ( e , r ) { r = r || 0 ; return e . length >= 7 + r && ( e . charCodeAt ( r ) | 32 ) === 103 && ( e . charCodeAt ( r + 1 ) | 32 ) === 101 && ( e . charCodeAt ( r + 2 ) | 32 ) === 110 && ( e . charCodeAt ( r + 3 ) | 32 ) === 101 && ( e . charCodeAt ( r + 4 ) | 32 ) === 114 && ( e .
n . push ( i ) } h ( yr ( s , a - 4 ) , r - 1 , t , a , n ) } } function d ( e , r , t , a , n ) { var i = [ ] , s = [ ] ; if ( ! n ) n = [ ] ; var l = a - 1 , f = 0 , c = 0 ; for ( f = r ; f >= 0 ; ) { n [ f ] = true ; i [ i . length ] = f ; s . push ( e [ f ] ) ; var o = t [ Math . floor ( f * 4 / a ) ] ; c = f * 4 & l ; if ( a < 4 + c ) throw new Error ( "FAT boundary crossed: " + f + " 4 " + a ) ; if ( ! e [ o ] ) break ; f = yr ( e [ o ] , c ) } return { nodes : i , data : lr ( [ s ] ) } } function v ( e , r , t , a ) { var n = e . length , i = [ ] ; var s = [ ] , l = [ ] , f = [ ] ; var c = a - 1 , o = 0 , u = 0 , h = 0 , d = 0 ; for ( o = 0 ; o < n ; ++ o ) { l = [ ] ; h = o + r ; if ( h >= n ) h -= n ; if ( s [ h ] ) continue ; f = [ ] ; for ( u = h ; u >= 0 ; ) { s [ u ] = true ; l [ l . length ] = u ; f . push ( e [ u ] ) ; var v = t [ Math . floor ( u * 4 / a ) ] ; d = u * 4 & c ; if ( a < 4 + d ) throw new Error ( "FAT boundary crossed: " + u + " 4 " + a ) ; if ( ! e [ v ] ) break ; u = yr ( e [ v ] , d ) } i [ h ] = { nodes : l , data : lr ( [ f ] ) } } return i } function p ( e , r , t , a , n , i , s , l ) { var f = 0 , c = a . length ? 2 : 0 ; var o = r [ e ] . data ; var h = 0 , v = 0 , p ; for ( ; h < o . length ; h += 128 ) { var b = o . slice ( h , h + 128 ) ; Wr ( b , 64 ) ; v = b . _R ( 2 ) ; p = cr ( b , 0 , v - c ) ; a . push ( p ) ; var g = { name : p , type : b . _R ( 1 ) , color : b . _R ( 1 ) , L : b . _R ( 4 , "i" ) , R : b . _R ( 4 , "i" ) , C : b . _R ( 4 , "i" ) , clsid : b . _R ( 16 ) , state : b . _R ( 4 , "i" ) , start : 0 , size : 0 } ; var E = b . _R ( 2 ) + b . _R ( 2 ) + b . _R ( 2 ) + b . _R ( 2 ) ; if ( E !== 0 ) g . ct = m ( b , b . l - 8 ) ; var S = b . _R ( 2 ) + b . _R ( 2 ) + b . _R ( 2 ) + b . _R ( 2 ) ; if ( S !== 0 ) g . mt = m ( b , b . l - 8 ) ; g . start = b . _R ( 4 , "i" ) ; g . size = b . _R ( 4 , "i" ) ; if ( g . size < 0 && g . start < 0 ) { g . size = g . type = 0 ; g . start = _ ; g . name = "" } if ( g . type === 5 ) { f = g . start ; if ( n > 0 && f !== _ ) r [ f ] . name = "!StreamData" } else if ( g . size >= 4096 ) { g . storage = "fat" ; if ( r [ g . start ] === undefined ) r [ g . start ] = d ( t , g . start , r . fat _addrs , r . ssz ) ; r [ g . start ] . name = g . name ; g . content = r [ g . start ] . data . slice ( 0 , g . size ) } else { g . storage = "minifat" ; if ( g . size < 0 ) g . size = 0 ; else if ( f !== _ && g . start !== _ && r [ f ] ) { g . content = u ( g , r [ f ] . data , ( r [ l ] || { } ) . data ) } } if ( g . content ) Wr ( g . content , 0 ) ; i [ p ] = g ; s . push ( g ) } } function m ( e , r ) { return new Date ( ( Fr ( e , r + 4 ) / 1e7 * Math . pow ( 2 , 32 ) + Fr ( e , r ) / 1e7 - 11644473600 ) * 1e3 ) } function b ( e , r ) { i ( ) ; return s ( n . readFileSync ( e ) , r ) } function E ( e , r ) { switch ( r && r . type || "base64" ) { case "file" : return b ( e , r ) ; case "base64" : return s ( k ( g . decode ( e ) ) , r ) ; case "binary" : return s ( k ( e ) , r ) ; } return s ( e , r ) } function S ( e , r ) { var t = r || { } , a = t . root || "Root Entry" ; if ( ! e . FullPaths ) e . FullPaths = [ ] ; if ( ! e . FileIndex ) e . FileIndex = [ ] ; if ( e . FullPaths . length !== e . FileIndex . length ) throw new Error ( "inconsistent CFB structure" ) ; if ( e . FullPaths . length === 0 ) { e . FullPaths [ 0 ] = a + "/" ; e . FileIndex [ 0 ] = { name : a , type : 5 } } if ( t . CLSID ) e . FileIndex [ 0 ] . clsid = t . CLSID ; w ( e ) } function w ( e ) { var r = " Sh33tJ5" ; if ( M . find ( e , "/" + r ) ) return ; var t = Vr ( 4 ) ; t [ 0 ] = 55 ; t [ 1 ] = t [ 3 ] = 50 ; t [ 2 ] = 54 ; e . FileIndex . push ( { name : r , type : 2 , content : t , size : 4 , L : 69 , R : 69 , C : 69 } ) ; e . FullPaths . push ( e . FullPaths [ 0 ] + r ) ; B ( e ) } function B ( e , n ) { S ( e ) ; var i = false , s = false ; for ( var l = e . FullPaths . length - 1 ; l >= 0 ; -- l ) { var f = e . FileIndex [ l ] ; switch ( f . type ) { case 0 : if ( s ) i = true ; else { e . FileIndex . pop ( ) ; e . FullPaths . pop ( ) } break ; case 1 : ; case 2 : ; case 5 : s = true ; if ( isNaN ( f . R * f . L * f . C ) ) i = true ; if ( f . R > - 1 && f . L > - 1 && f . R == f . L ) i = true ; break ; default : i = true ; break ; } } if ( ! i && ! n ) return ; var c = new Date ( 1987 , 1 , 19 ) , o = 0 ; var u = [ ] ; for ( l = 0 ; l < e . FullPaths . length ; ++ l ) { if ( e . FileIndex [ l ] . type === 0 ) continue ; u . push ( [ e . FullPaths [ l ] , e . FileIndex [ l ] ] ) } for ( l = 0 ; l < u . length ; ++ l ) { var h = t ( u [ l ] [ 0 ] ) ; s = false ; for ( o = 0 ; o < u . length ; ++ o ) if ( u [ o ] [ 0 ] === h ) s = true ; if ( ! s ) u . push ( [ h , { name : a ( h ) . replace ( "/" , "" ) , type : 1 , clsid : D , ct : c , mt : c , content : null } ] ) } u . sort ( function ( e , t ) { return r ( e [ 0 ] , t [ 0 ] ) } ) ; e . FullPaths = [ ] ; e . FileIndex = [ ] ; for ( l = 0 ; l < u . length ; ++ l ) { e . FullPaths [ l ] = u [ l ] [ 0 ] ; e . FileIndex [ l ] = u [ l ] [ 1 ] } for ( l = 0 ; l < u . length ; ++ l ) { var d = e . FileIndex [ l ] ; var v = e . FullPaths [ l ] ; d . name = a ( v ) . replace ( "/" , "" ) ; d . L = d . R = d . C = - ( d . color = 1 ) ; d . size = d . content ? d . content . length : 0 ; d . start = 0 ; d . clsid = d . clsid || D ; if ( l === 0 ) { d . C = u . length > 1 ? 1 : - 1 ; d . size = 0 ; d . type = 5 } else if ( v . slice ( - 1 ) == "/" ) { for ( o = l + 1 ; o < u . length ; ++ o ) if ( t ( e . FullPaths [ o ] ) == v ) break ; d . C = o >= u . length ? - 1 : o ; for ( o = l + 1 ; o < u . length ; ++ o ) if ( t ( e . FullPaths [ o ] ) == t ( v ) ) break ; d . R = o >= u . length ? - 1 : o ; d . type = 1 } else { if ( t ( e . FullPaths [ l + 1 ] || "" ) == t ( v ) ) d . R = l + 1 ; d . type = 2 } } } function C ( e , r ) { var t = r || { } ; B ( e ) ; var a = function ( e ) { var r = 0 , t = 0 ; for ( var a = 0 ; a < e . FileIndex . length ; ++ a ) { var n = e . FileIndex [ a ] ; if ( ! n . content ) continue ; var i = n . content . length ; if ( i > 0 ) { if ( i < 4096 ) r += i + 63 >> 6 ; else t += i + 511 >> 9 } } var s = e . FullPaths . length + 3 >> 2 ; var l = r + 7 >> 3 ; var f = r + 127 >> 7 ; var c = l + t + s + f ; var o = c + 127 >> 7 ; var u = o <= 109 ? 0 : Math . ceil ( ( o - 109 ) / 127 ) ; while ( c + o + u + 127 >> 7 > o ) u = ++ o <= 109 ? 0 : Math . ceil ( ( o - 109 ) / 127 ) ; var
for ( a = 0 ; a != r . length ; ++ a ) { n = n + 1 & 255 ; i = ( i + t [ n ] ) % 256 ; s = t [ n ] ; t [ n ] = t [ i ] ; t [ i ] = s ; l [ a ] = r [ a ] ^ t [ t [ n ] + t [ i ] & 255 ] } return l } ; e . md5 = function ( e ) { if ( ! t ) throw new Error ( "Unsupported crypto" ) ; return t . createHash ( "md5" ) . update ( e ) . digest ( "hex" ) } } ; Jr ( Qr , typeof crypto !== "undefined" ? crypto : undefined ) ; function Zr ( e ) { return parseInt ( rt ( e ) , 10 ) - 1 } function qr ( e ) { return "" + ( e + 1 ) } function et ( e ) { return e . replace ( /([A-Z]|^)(\d+)$/ , "$1$$$2" ) } function rt ( e ) { return e . replace ( /\$(\d+)$/ , "$1" ) } function tt ( e ) { var r = it ( e ) , t = 0 , a = 0 ; for ( ; a !== r . length ; ++ a ) t = 26 * t + r . charCodeAt ( a ) - 64 ; return t - 1 } function at ( e ) { var r = "" ; for ( ++ e ; e ; e = Math . floor ( ( e - 1 ) / 26 ) ) r = String . fromCharCode ( ( e - 1 ) % 26 + 65 ) + r ; return r } function nt ( e ) { return e . replace ( /^([A-Z])/ , "$$$1" ) } function it ( e ) { return e . replace ( /^\$([A-Z])/ , "$1" ) } function st ( e ) { return e . replace ( /(\$?[A-Z]*)(\$?\d*)/ , "$1,$2" ) . split ( "," ) } function lt ( e ) { var r = st ( e ) ; return { c : tt ( r [ 0 ] ) , r : Zr ( r [ 1 ] ) } } function ft ( e ) { return at ( e . c ) + qr ( e . r ) } function ct ( e ) { var r = e . split ( ":" ) . map ( lt ) ; return { s : r [ 0 ] , e : r [ r . length - 1 ] } } function ot ( e , r ) { if ( typeof r === "undefined" || typeof r === "number" ) { return ot ( e . s , e . e ) } if ( typeof e !== "string" ) e = ft ( e ) ; if ( typeof r !== "string" ) r = ft ( r ) ; return e == r ? e : e + ":" + r } function ut ( e ) { var r = { s : { c : 0 , r : 0 } , e : { c : 0 , r : 0 } } ; var t = 0 , a = 0 , n = 0 ; var i = e . length ; for ( t = 0 ; a < i ; ++ a ) { if ( ( n = e . charCodeAt ( a ) - 64 ) < 1 || n > 26 ) break ; t = 26 * t + n } r . s . c = -- t ; for ( t = 0 ; a < i ; ++ a ) { if ( ( n = e . charCodeAt ( a ) - 48 ) < 0 || n > 9 ) break ; t = 10 * t + n } r . s . r = -- t ; if ( a === i || e . charCodeAt ( ++ a ) === 58 ) { r . e . c = r . s . c ; r . e . r = r . s . r ; return r } for ( t = 0 ; a != i ; ++ a ) { if ( ( n = e . charCodeAt ( a ) - 64 ) < 1 || n > 26 ) break ; t = 26 * t + n } r . e . c = -- t ; for ( t = 0 ; a != i ; ++ a ) { if ( ( n = e . charCodeAt ( a ) - 48 ) < 0 || n > 9 ) break ; t = 10 * t + n } r . e . r = -- t ; return r } function ht ( e , r ) { var t = e . t == "d" && r instanceof Date ; if ( e . z != null ) try { return e . w = R . format ( e . z , t ? J ( r ) : r ) } catch ( a ) { } try { return e . w = R . format ( ( e . XF || { } ) . numFmtId || ( t ? 14 : 0 ) , t ? J ( r ) : r ) } catch ( a ) { return "" + r } } function dt ( e , r , t ) { if ( e == null || e . t == null || e . t == "z" ) return "" ; if ( e . w !== undefined ) return e . w ; if ( e . t == "d" && ! e . z && t && t . dateNF ) e . z = t . dateNF ; if ( r == undefined ) return ht ( e , e . v ) ; return ht ( e , r ) } function vt ( e , r ) { var t = r && r . sheet ? r . sheet : "Sheet1" ; var a = { } ; a [ t ] = e ; return { SheetNames : [ t ] , Sheets : a } } function pt ( e , r , t ) { var a = t || { } ; var n = e ? Array . isArray ( e ) : a . dense ; if ( m != null && n == null ) n = m ; var i = e || ( n ? [ ] : { } ) ; var s = 0 , l = 0 ; if ( i && a . origin != null ) { if ( typeof a . origin == "number" ) s = a . origin ; else { var f = typeof a . origin == "string" ? lt ( a . origin ) : a . origin ; s = f . r ; l = f . c } } var c = { s : { c : 1e7 , r : 1e7 } , e : { c : 0 , r : 0 } } ; if ( i [ "!ref" ] ) { var o = ut ( i [ "!ref" ] ) ; c . s . c = o . s . c ; c . s . r = o . s . r ; c . e . c = Math . max ( c . e . c , o . e . c ) ; c . e . r = Math . max ( c . e . r , o . e . r ) ; if ( s == - 1 ) c . e . r = s = o . e . r + 1 } for ( var u = 0 ; u != r . length ; ++ u ) { for ( var h = 0 ; h != r [ u ] . length ; ++ h ) { if ( typeof r [ u ] [ h ] === "undefined" ) continue ; var d = { v : r [ u ] [ h ] } ; if ( Array . isArray ( d . v ) ) { d . f = r [ u ] [ h ] [ 1 ] ; d . v = d . v [ 0 ] } var v = s + u , p = l + h ; if ( c . s . r > v ) c . s . r = v ; if ( c . s . c > p ) c . s . c = p ; if ( c . e . r < v ) c . e . r = v ; if ( c . e . c < p ) c . e . c = p ; if ( d . v === null ) { if ( d . f ) d . t = "n" ; else if ( ! a . cellStubs ) continue ; else d . t = "z" } else if ( typeof d . v === "number" ) d . t = "n" ; else if ( typeof d . v === "boolean" ) d . t = "b" ; else if ( d . v instanceof Date ) { d . z = a . dateNF || R . _table [ 14 ] ; if ( a . cellDates ) { d . t = "d" ; d . w = R . format ( d . z , J ( d . v ) ) } else { d . t = "n" ; d . v = J ( d . v ) ; d . w = R . format ( d . z , d . v ) } } else d . t = "s" ; if ( n ) { if ( ! i [ v ] ) i [ v ] = [ ] ; i [ v ] [ p ] = d } else { var b = ft ( { c : p , r : v } ) ; i [ b ] = d } } } if ( c . s . c < 1e7 ) i [ "!ref" ] = ot ( c ) ; return i } function mt ( e , r ) { return pt ( null , e , r ) } function bt ( e , r ) { if ( ! r ) r = Vr ( 4 ) ; r . _W ( 4 , e ) ; return r } function gt ( e ) { var r = e . _R ( 4 ) ; return r === 0 ? "" : e . _R ( r , "dbcs" ) } function Et ( e , r ) { var t = false ; if ( r == null ) { t = true ; r = Vr ( 4 + 2 * e . length ) } r . _W ( 4 , e . length ) ; if ( e . length > 0 ) r . _W ( 0 , e , "dbcs" ) ; return t ? r . slice ( 0 , r . l ) : r } function St ( e ) { return { ich : e . _R ( 2 ) , ifnt : e . _R ( 2 ) } } function kt ( e , r ) { if ( ! r ) r = Vr ( 4 ) ; r . _W ( 2 , e . ich || 0 ) ; r . _W ( 2 , e . ifnt || 0 ) ; return r } function wt ( e , r ) { var t = e . l ; var a = e . _R ( 1 ) ; var n = gt ( e ) ; var i = [ ] ; var s = { t : n , h : n } ; if ( ( a & 1 ) !== 0 ) { var l = e . _R ( 4 ) ; for ( var f = 0 ; f != l ; ++ f ) i . push ( St ( e ) ) ; s . r = i } else s . r = [ { ich : 0 , ifnt : 0 } ] ; e . l = t + r ; return s } function Bt ( e , r ) { var t = false ; if ( r == null ) { t = true ; r = Vr ( 15 + 4 * e . t . length ) } r . _W ( 1 , 0 ) ; Et ( e . t , r ) ; return t ? r . slice ( 0 , r . l ) : r } var Ct = wt ; function Tt ( e , r ) { var t = false ; if ( r == null ) { t = true ; r = Vr ( 23 + 4 * e . t . length ) } r . _W ( 1 , 1 ) ; Et ( e . t , r ) ; r . _W ( 4 , 1 ) ; kt ( { ich : 0 , ifnt : 0 } , r ) ; return t ? r . slice ( 0 , r . l ) : r } functio
case 0 : d [ p . n ] = 1252 ; case 874 : ; case 932 : ; case 936 : ; case 949 : ; case 950 : ; case 1250 : ; case 1251 : ; case 1253 : ; case 1254 : ; case 1255 : ; case 1256 : ; case 1257 : ; case 1258 : ; case 1e4 : ; case 1200 : ; case 1201 : ; case 1252 : ; case 65e3 : ; case - 536 : ; case 65001 : ; case - 535 : c ( l = d [ p . n ] >>> 0 & 65535 ) ; break ; default : throw new Error ( "Unsupported CodePage: " + d [ p . n ] ) ; } } else { if ( i [ s ] [ 0 ] === 1 ) { l = d . CodePage = En ( e , Zt ) ; c ( l ) ; if ( f !== - 1 ) { var m = e . l ; e . l = i [ f ] [ 1 ] ; o = mn ( e , l ) ; e . l = m } } else if ( i [ s ] [ 0 ] === 0 ) { if ( l === 0 ) { f = s ; e . l = i [ s + 1 ] [ 1 ] ; continue } o = mn ( e , l ) } else { var b = o [ i [ s ] [ 0 ] ] ; var g ; switch ( e [ e . l ] ) { case 65 : e . l += 4 ; g = bn ( e ) ; break ; case 30 : e . l += 4 ; g = cn ( e , e [ e . l - 4 ] ) ; break ; case 31 : e . l += 4 ; g = cn ( e , e [ e . l - 4 ] ) ; break ; case 3 : e . l += 4 ; g = e . _R ( 4 , "i" ) ; break ; case 19 : e . l += 4 ; g = e . _R ( 4 ) ; break ; case 5 : e . l += 4 ; g = e . _R ( 8 , "f" ) ; break ; case 11 : e . l += 4 ; g = Tn ( e , 4 ) ; break ; case 64 : e . l += 4 ; g = te ( nn ( e ) ) ; break ; default : throw new Error ( "unparsed value: " + e [ e . l ] ) ; } d [ b ] = g } } } e . l = t + a ; return d } function kn ( e , r , t ) { var a = e . content ; if ( ! a ) return { } ; Wr ( a , 0 ) ; var n , i , s , l , f = 0 ; a . chk ( "feff" , "Byte Order: " ) ; a . _R ( 2 ) ; var c = a . _R ( 4 ) ; var o = a . _R ( 16 ) ; if ( o !== M . utils . consts . HEADER _CLSID && o !== t ) throw new Error ( "Bad PropertySet CLSID " + o ) ; n = a . _R ( 4 ) ; if ( n !== 1 && n !== 2 ) throw new Error ( "Unrecognized #Sets: " + n ) ; i = a . _R ( 16 ) ; l = a . _R ( 4 ) ; if ( n === 1 && l !== a . l ) throw new Error ( "Length mismatch: " + l + " !== " + a . l ) ; else if ( n === 2 ) { s = a . _R ( 16 ) ; f = a . _R ( 4 ) } var u = Sn ( a , r ) ; var h = { SystemIdentifier : c } ; for ( var d in u ) h [ d ] = u [ d ] ; h . FMTID = i ; if ( n === 1 ) return h ; if ( f - a . l == 2 ) a . l += 2 ; if ( a . l !== f ) throw new Error ( "Length mismatch 2: " + a . l + " !== " + f ) ; var v ; try { v = Sn ( a , null ) } catch ( p ) { } for ( d in v ) h [ d ] = v [ d ] ; h . FMTID = [ i , s ] ; return h } function wn ( e , r ) { e . _R ( r ) ; return null } function Bn ( e , r ) { if ( ! r ) r = Vr ( e ) ; for ( var t = 0 ; t < e ; ++ t ) r . _W ( 1 , 0 ) ; return r } function Cn ( e , r , t ) { var a = [ ] , n = e . l + r ; while ( e . l < n ) a . push ( t ( e , n - e . l ) ) ; if ( n !== e . l ) throw new Error ( "Slurp error" ) ; return a } function Tn ( e , r ) { return e . _R ( r ) === 1 } function In ( e , r ) { if ( ! r ) r = Vr ( 2 ) ; r . _W ( 2 , + ! ! e ) ; return r } function xn ( e ) { return e . _R ( 2 , "u" ) } function An ( e , r ) { if ( ! r ) r = Vr ( 2 ) ; r . _W ( 2 , e ) ; return r } function Rn ( e , r ) { return Cn ( e , r , xn ) } function _n ( e ) { var r = e . _R ( 1 ) , t = e . _R ( 1 ) ; return t === 1 ? r : r === 1 } function Fn ( e , r , t ) { if ( ! t ) t = Vr ( 2 ) ; t . _W ( 1 , + e ) ; t . _W ( 1 , r == "e" ? 1 : 0 ) ; return t } function yn ( e , r , a ) { var n = e . _R ( a && a . biff >= 12 ? 2 : 1 ) ; var i = "sbcs-cont" ; var s = t ; if ( a && a . biff >= 8 ) t = 1200 ; if ( ! a || a . biff == 8 ) { var l = e . _R ( 1 ) ; if ( l ) { i = "dbcs-cont" } } else if ( a . biff == 12 ) { i = "wstr" } if ( a . biff >= 2 && a . biff <= 5 ) i = "cpstr" ; var f = n ? e . _R ( n , i ) : "" ; t = s ; return f } function Dn ( e ) { var r = t ; t = 1200 ; var a = e . _R ( 2 ) , n = e . _R ( 1 ) ; var i = n & 4 , s = n & 8 ; var l = 1 + ( n & 1 ) ; var f = 0 , c ; var o = { } ; if ( s ) f = e . _R ( 2 ) ; if ( i ) c = e . _R ( 4 ) ; var u = l == 2 ? "dbcs-cont" : "sbcs-cont" ; var h = a === 0 ? "" : e . _R ( a , u ) ; if ( s ) e . l += 4 * f ; if ( i ) e . l += c ; o . t = h ; if ( ! s ) { o . raw = "<t>" + o . t + "</t>" ; o . r = o . t } t = r ; return o } function On ( e , r , t ) { var a ; if ( t ) { if ( t . biff >= 2 && t . biff <= 5 ) return e . _R ( r , "cpstr" ) ; if ( t . biff >= 12 ) return e . _R ( r , "dbcs-cont" ) } var n = e . _R ( 1 ) ; if ( n === 0 ) { a = e . _R ( r , "sbcs-cont" ) } else { a = e . _R ( r , "dbcs-cont" ) } return a } function Pn ( e , r , t ) { var a = e . _R ( t && t . biff == 2 ? 1 : 2 ) ; if ( a === 0 ) { e . l ++ ; return "" } return On ( e , a , t ) } function Nn ( e , r , t ) { if ( t . biff > 5 ) return Pn ( e , r , t ) ; var a = e . _R ( 1 ) ; if ( a === 0 ) { e . l ++ ; return "" } return e . _R ( a , t . biff <= 4 || ! e . lens ? "cpstr" : "sbcs-cont" ) } function Mn ( e , r , t ) { if ( ! t ) t = Vr ( 3 + 2 * e . length ) ; t . _W ( 2 , e . length ) ; t . _W ( 1 , 1 ) ; t . _W ( 31 , e , "utf16le" ) ; return t } function Ln ( e ) { var r = e . _R ( 1 ) ; e . l ++ ; var t = e . _R ( 2 ) ; e . l += 2 ; return [ r , t ] } function Un ( e ) { var r = e . _R ( 4 ) , t = e . l ; var a = false ; if ( r > 24 ) { e . l += r - 24 ; if ( e . _R ( 16 ) === "795881f43b1d7f48af2c825dc4852763" ) a = true ; e . l = t } var n = e . _R ( ( a ? r - 24 : r ) >> 1 , "utf16le" ) . replace ( x , "" ) ; if ( a ) e . l += 24 ; return n } function Wn ( e ) { e . l += 2 ; var r = e . _R ( 0 , "lpstr-ansi" ) ; e . l += 2 ; if ( e . _R ( 2 ) != 57005 ) throw new Error ( "Bad FileMoniker" ) ; var t = e . _R ( 4 ) ; if ( t === 0 ) return r . replace ( /\\/g , "/" ) ; var a = e . _R ( 4 ) ; if ( e . _R ( 2 ) != 3 ) throw new Error ( "Bad FileMoniker" ) ; var n = e . _R ( a >> 1 , "utf16le" ) . replace ( x , "" ) ; return n } function Hn ( e , r ) { var t = e . _R ( 16 ) ; r -= 16 ; switch ( t ) { case "e0c9ea79f9bace118c8200aa004ba90b" : return Un ( e , r ) ; case "0303000000000000c000000000000046" : return Wn ( e , r ) ; default : throw new Error ( "Unsupported Moniker " + t ) ; } } function Vn ( e ) { var r = e . _R ( 4 ) ; var t = r > 0 ? e . _R ( r , "utf16le" ) . replace ( x , "" ) : "" ; return t } function Xn ( e , r ) { var t = e . l + r ; var a = e . _R ( 4 ) ; if ( a !== 2 ) throw new Error ( " Unrecognized s
continue } switch ( i . t ) { case "n" : var o = b ? i . w : i . v ; if ( ! o && i . v != null ) o = i . v ; if ( o == null ) { if ( b && i . f && ! i . F ) r ( a , 1 , 0 , "=" + i . f ) ; else r ( a , 1 , 0 , "" ) } else r ( a , 0 , o , "V" ) ; break ; case "b" : r ( a , 0 , i . v ? 1 : 0 , i . v ? "TRUE" : "FALSE" ) ; break ; case "s" : r ( a , 1 , 0 , ! b || isNaN ( i . v ) ? i . v : '="' + i . v + '"' ) ; break ; case "d" : if ( ! i . w ) i . w = R . format ( i . z || R . _table [ 14 ] , J ( te ( i . v ) ) ) ; if ( b ) r ( a , 0 , i . w , "V" ) ; else r ( a , 1 , 0 , i . w ) ; break ; default : r ( a , 1 , 0 , "" ) ; } } } r ( a , - 1 , 0 , "EOD" ) ; var u = "\r\n" ; var h = a . join ( u ) ; return h } } ( ) ; return { to _workbook : a , to _sheet : t , from _sheet : n } } ( ) ; var Xs = function ( ) { function e ( e ) { return e . replace ( /\\b/g , "\\" ) . replace ( /\\c/g , ":" ) . replace ( /\\n/g , "\n" ) } function r ( e ) { return e . replace ( /\\/g , "\\b" ) . replace ( /:/g , "\\c" ) . replace ( /\n/g , "\\n" ) } function t ( r ) { var t = r . split ( "\n" ) , a = - 1 , n = - 1 , i = 0 , s = [ ] ; for ( ; i !== t . length ; ++ i ) { var l = t [ i ] . trim ( ) . split ( ":" ) ; if ( l [ 0 ] !== "cell" ) continue ; var f = lt ( l [ 1 ] ) ; if ( s . length <= f . r ) for ( a = s . length ; a <= f . r ; ++ a ) if ( ! s [ a ] ) s [ a ] = [ ] ; a = f . r ; n = f . c ; switch ( l [ 2 ] ) { case "t" : s [ a ] [ n ] = e ( l [ 3 ] ) ; break ; case "v" : s [ a ] [ n ] = + l [ 3 ] ; break ; case "vtf" : var c = l [ l . length - 1 ] ; case "vtc" : switch ( l [ 3 ] ) { case "nl" : s [ a ] [ n ] = + l [ 4 ] ? true : false ; break ; default : s [ a ] [ n ] = + l [ 4 ] ; break ; } if ( l [ 2 ] == "vtf" ) s [ a ] [ n ] = [ s [ a ] [ n ] , c ] ; } } return s } function a ( e , r ) { return mt ( t ( e , r ) , r ) } function n ( e , r ) { return vt ( a ( e , r ) , r ) } var i = [ "socialcalc:version:1.5" , "MIME-Version: 1.0" , "Content-Type: multipart/mixed; boundary=SocialCalcSpreadsheetControlSave" ] . join ( "\n" ) ; var s = [ "--SocialCalcSpreadsheetControlSave" , "Content-type: text/plain; charset=UTF-8" ] . join ( "\n" ) + "\n" ; var l = [ "# SocialCalc Spreadsheet Control Save" , "part:sheet" ] . join ( "\n" ) ; var f = "--SocialCalcSpreadsheetControlSave--" ; function c ( e ) { if ( ! e || ! e [ "!ref" ] ) return "" ; var t = [ ] , a = [ ] , n , i = "" ; var s = ct ( e [ "!ref" ] ) ; var l = Array . isArray ( e ) ; for ( var f = s . s . r ; f <= s . e . r ; ++ f ) { for ( var c = s . s . c ; c <= s . e . c ; ++ c ) { i = ft ( { r : f , c : c } ) ; n = l ? ( e [ f ] || [ ] ) [ c ] : e [ i ] ; if ( ! n || n . v == null || n . t === "z" ) continue ; a = [ "cell" , i , "t" ] ; switch ( n . t ) { case "s" : ; case "str" : a . push ( r ( n . v ) ) ; break ; case "n" : if ( ! n . f ) { a [ 2 ] = "v" ; a [ 3 ] = n . v } else { a [ 2 ] = "vtf" ; a [ 3 ] = "n" ; a [ 4 ] = n . v ; a [ 5 ] = r ( n . f ) } break ; case "b" : a [ 2 ] = "vt" + ( n . f ? "f" : "c" ) ; a [ 3 ] = "nl" ; a [ 4 ] = n . v ? "1" : "0" ; a [ 5 ] = r ( n . f || ( n . v ? "TRUE" : "FALSE" ) ) ; break ; case "d" : var o = J ( te ( n . v ) ) ; a [ 2 ] = "vtc" ; a [ 3 ] = "nd" ; a [ 4 ] = "" + o ; a [ 5 ] = n . w || R . format ( n . z || R . _table [ 14 ] , o ) ; break ; case "e" : continue ; } t . push ( a . join ( ":" ) ) } } t . push ( "sheet:c:" + ( s . e . c - s . s . c + 1 ) + ":r:" + ( s . e . r - s . s . r + 1 ) + ":tvf:1" ) ; t . push ( "valueformat:1:text-wiki" ) ; return t . join ( "\n" ) } function o ( e ) { return [ i , s , l , s , c ( e ) , f ] . join ( "\n" ) } return { to _workbook : n , to _sheet : a , from _sheet : o } } ( ) ; var Gs = function ( ) { function e ( e , r , t , a , n ) { if ( n . raw ) r [ t ] [ a ] = e ; else if ( e === "TRUE" ) r [ t ] [ a ] = true ; else if ( e === "FALSE" ) r [ t ] [ a ] = false ; else if ( e === "" ) { } else if ( ! isNaN ( se ( e ) ) ) r [ t ] [ a ] = se ( e ) ; else if ( ! isNaN ( le ( e ) . getDate ( ) ) ) r [ t ] [ a ] = te ( e ) ; else r [ t ] [ a ] = e } function r ( r , t ) { var a = t || { } ; var n = [ ] ; if ( ! r || r . length === 0 ) return n ; var i = r . split ( /[\r\n]/ ) ; var s = i . length - 1 ; while ( s >= 0 && i [ s ] . length === 0 ) -- s ; var l = 10 , f = 0 ; var c = 0 ; for ( ; c <= s ; ++ c ) { f = i [ c ] . indexOf ( " " ) ; if ( f == - 1 ) f = i [ c ] . length ; else f ++ ; l = Math . max ( l , f ) } for ( c = 0 ; c <= s ; ++ c ) { n [ c ] = [ ] ; var o = 0 ; e ( i [ c ] . slice ( 0 , l ) . trim ( ) , n , c , o , a ) ; for ( o = 1 ; o <= ( i [ c ] . length - l ) / 10 + 1 ; ++ o ) e ( i [ c ] . slice ( l + ( o - 1 ) * 10 , l + o * 10 ) . trim ( ) , n , c , o , a ) } return n } var t = { 44 : "," , 9 : "\t" , 59 : ";" } ; var a = { 44 : 3 , 9 : 2 , 59 : 1 } ; function n ( e ) { var r = { } , n = false , i = 0 , s = 0 ; for ( ; i < e . length ; ++ i ) { if ( ( s = e . charCodeAt ( i ) ) == 34 ) n = ! n ; else if ( ! n && s in t ) r [ s ] = ( r [ s ] || 0 ) + 1 } s = [ ] ; for ( i in r ) if ( r . hasOwnProperty ( i ) ) { s . push ( [ r [ i ] , i ] ) } if ( ! s . length ) { r = a ; for ( i in r ) if ( r . hasOwnProperty ( i ) ) { s . push ( [ r [ i ] , i ] ) } } s . sort ( function ( e , r ) { return e [ 0 ] - r [ 0 ] || a [ e [ 1 ] ] - a [ r [ 1 ] ] } ) ; return t [ s . pop ( ) [ 1 ] ] } function i ( e , r ) { var t = r || { } ; var a = "" ; if ( m != null && t . dense == null ) t . dense = m ; var i = t . dense ? [ ] : { } ; var s = { s : { c : 0 , r : 0 } , e : { c : 0 , r : 0 } } ; if ( e . slice ( 0 , 4 ) == "sep=" && e . charCodeAt ( 5 ) == 10 ) { a = e . charAt ( 4 ) ; e = e . slice ( 6 ) } else a = n ( e . slice ( 0 , 1024 ) ) ; var l = 0 , f = 0 , c = 0 ; var o = 0 , u = 0 , h = a . charCodeAt ( 0 ) , d = false , v = 0 ; e = e . replace ( /\r\n/gm , "\n" ) ; var p = t . dateNF != null ? O ( t . dateNF ) : null ; function b ( ) { var r = e . slice ( o , u ) ; var a = { } ; if ( r . charAt ( 0 ) == '"' && r . charAt ( r . length - 1 ) == '"' ) r = r . slice ( 1 , - 1 ) . replace ( /""/g , '"' ) ; if ( r . length === 0 ) a . t = "z" ; else if ( t . raw ) { a . t = "s" ; a . v = r } else if ( r . trim ( ) . length === 0 ) { a . t = "s" ; a . v = r } else if ( r . charCodeAt ( 0 ) == 61 ) { if ( r . charCodeAt ( 1 ) == 34 && r . charCodeAt ( r . length - 1 ) == 34
t [ t . length ] = '<cellStyleXfs count="1"><xf numFmtId="0" fontId="0" fillId="0" borderId="0"/></cellStyleXfs>' ; if ( a = ff ( r . cellXfs ) ) t [ t . length ] = a ; t [ t . length ] = '<cellStyles count="1"><cellStyle name="Normal" xfId="0" builtinId="0"/></cellStyles>' ; t [ t . length ] = '<dxfs count="0"/>' ; t [ t . length ] = '<tableStyles count="0" defaultTableStyle="TableStyleMedium9" defaultPivotStyle="PivotStyleMedium4"/>' ; if ( t . length > 2 ) { t [ t . length ] = "</styleSheet>" ; t [ 1 ] = t [ 1 ] . replace ( "/>" , ">" ) } return t . join ( "" ) } function hf ( e , r ) { var t = e . _R ( 2 ) ; var a = gt ( e , r - 2 ) ; return [ t , a ] } function df ( e , r , t ) { if ( ! t ) t = Vr ( 6 + 4 * r . length ) ; t . _W ( 2 , e ) ; Et ( r , t ) ; var a = t . length > t . l ? t . slice ( 0 , t . l ) : t ; if ( t . l == null ) t . l = t . length ; return a } function vf ( e , r , t ) { var a = { } ; a . sz = e . _R ( 2 ) / 20 ; var n = Kt ( e , 2 , t ) ; if ( n . fCondense ) a . condense = 1 ; if ( n . fExtend ) a . extend = 1 ; if ( n . fShadow ) a . shadow = 1 ; if ( n . fOutline ) a . outline = 1 ; if ( n . fStrikeout ) a . strike = 1 ; if ( n . fItalic ) a . italic = 1 ; var i = e . _R ( 2 ) ; if ( i === 700 ) a . bold = 1 ; switch ( e . _R ( 2 ) ) { case 1 : a . vertAlign = "superscript" ; break ; case 2 : a . vertAlign = "subscript" ; break ; } var s = e . _R ( 1 ) ; if ( s != 0 ) a . underline = s ; var l = e . _R ( 1 ) ; if ( l > 0 ) a . family = l ; var f = e . _R ( 1 ) ; if ( f > 0 ) a . charset = f ; e . l ++ ; a . color = zt ( e , 8 ) ; switch ( e . _R ( 1 ) ) { case 1 : a . scheme = "major" ; break ; case 2 : a . scheme = "minor" ; break ; } a . name = gt ( e , r - 21 ) ; return a } function pf ( e , r ) { if ( ! r ) r = Vr ( 25 + 4 * 32 ) ; r . _W ( 2 , e . sz * 20 ) ; $t ( e , r ) ; r . _W ( 2 , e . bold ? 700 : 400 ) ; var t = 0 ; if ( e . vertAlign == "superscript" ) t = 1 ; else if ( e . vertAlign == "subscript" ) t = 2 ; r . _W ( 2 , t ) ; r . _W ( 1 , e . underline || 0 ) ; r . _W ( 1 , e . family || 0 ) ; r . _W ( 1 , e . charset || 0 ) ; r . _W ( 1 , 0 ) ; jt ( e . color , r ) ; var a = 0 ; if ( e . scheme == "major" ) a = 1 ; if ( e . scheme == "minor" ) a = 2 ; r . _W ( 1 , a ) ; Et ( e . name , r ) ; return r . length > r . l ? r . slice ( 0 , r . l ) : r } var mf = [ "none" , "solid" , "mediumGray" , "darkGray" , "lightGray" , "darkHorizontal" , "darkVertical" , "darkDown" , "darkUp" , "darkGrid" , "darkTrellis" , "lightHorizontal" , "lightVertical" , "lightDown" , "lightUp" , "lightGrid" , "lightTrellis" , "gray125" , "gray0625" ] ; var bf = z ( mf ) ; var gf = Hr ; function Ef ( e , r ) { if ( ! r ) r = Vr ( 4 * 3 + 8 * 7 + 16 * 1 ) ; var t = bf [ e . patternType ] ; if ( t == null ) t = 40 ; r . _W ( 4 , t ) ; var a = 0 ; if ( t != 40 ) { jt ( { auto : 1 } , r ) ; jt ( { auto : 1 } , r ) ; for ( ; a < 12 ; ++ a ) r . _W ( 4 , 0 ) } else { for ( ; a < 4 ; ++ a ) r . _W ( 4 , 0 ) ; for ( ; a < 12 ; ++ a ) r . _W ( 4 , 0 ) } return r . length > r . l ? r . slice ( 0 , r . l ) : r } function Sf ( e , r ) { var t = e . l + r ; var a = e . _R ( 2 ) ; var n = e . _R ( 2 ) ; e . l = t ; return { ixfe : a , numFmtId : n } } function kf ( e , r , t ) { if ( ! t ) t = Vr ( 16 ) ; t . _W ( 2 , r || 0 ) ; t . _W ( 2 , e . numFmtId || 0 ) ; t . _W ( 2 , 0 ) ; t . _W ( 2 , 0 ) ; t . _W ( 2 , 0 ) ; t . _W ( 1 , 0 ) ; t . _W ( 1 , 0 ) ; t . _W ( 1 , 0 ) ; t . _W ( 1 , 0 ) ; t . _W ( 1 , 0 ) ; t . _W ( 1 , 0 ) ; return t } function wf ( e , r ) { if ( ! r ) r = Vr ( 10 ) ; r . _W ( 1 , 0 ) ; r . _W ( 1 , 0 ) ; r . _W ( 4 , 0 ) ; r . _W ( 4 , 0 ) ; return r } var Bf = Hr ; function Cf ( e , r ) { if ( ! r ) r = Vr ( 51 ) ; r . _W ( 1 , 0 ) ; wf ( null , r ) ; wf ( null , r ) ; wf ( null , r ) ; wf ( null , r ) ; wf ( null , r ) ; return r . length > r . l ? r . slice ( 0 , r . l ) : r } function Tf ( e , r ) { if ( ! r ) r = Vr ( 12 + 4 * 10 ) ; r . _W ( 4 , e . xfId ) ; r . _W ( 2 , 1 ) ; r . _W ( 1 , + e . builtinId ) ; r . _W ( 1 , 0 ) ; Ft ( e . name || "" , r ) ; return r . length > r . l ? r . slice ( 0 , r . l ) : r } function If ( e , r , t ) { var a = Vr ( 4 + 256 * 2 * 4 ) ; a . _W ( 4 , e ) ; Ft ( r , a ) ; Ft ( t , a ) ; return a . length > a . l ? a . slice ( 0 , a . l ) : a } function xf ( e , r , t ) { var a = { } ; a . NumberFmt = [ ] ; for ( var n in R . _table ) a . NumberFmt [ n ] = R . _table [ n ] ; a . CellXf = [ ] ; a . Fonts = [ ] ; var i = [ ] ; var s = false ; Xr ( e , function l ( e , n , f ) { switch ( f ) { case 44 : a . NumberFmt [ e [ 0 ] ] = e [ 1 ] ; R . load ( e [ 1 ] , e [ 0 ] ) ; break ; case 43 : a . Fonts . push ( e ) ; if ( e . color . theme != null && r && r . themeElements && r . themeElements . clrScheme ) { e . color . rgb = Ml ( r . themeElements . clrScheme [ e . color . theme ] . rgb , e . color . tint || 0 ) } break ; case 1025 : break ; case 45 : break ; case 46 : break ; case 47 : if ( i [ i . length - 1 ] == "BrtBeginCellXFs" ) { a . CellXf . push ( e ) } break ; case 48 : ; case 507 : ; case 572 : ; case 475 : break ; case 1171 : ; case 2102 : ; case 1130 : ; case 512 : ; case 2095 : break ; case 35 : s = true ; break ; case 36 : s = false ; break ; case 37 : i . push ( n ) ; break ; case 38 : i . pop ( ) ; break ; default : if ( ( n || "" ) . indexOf ( "Begin" ) > 0 ) i . push ( n ) ; else if ( ( n || "" ) . indexOf ( "End" ) > 0 ) i . pop ( ) ; else if ( ! s || t . WTF ) throw new Error ( "Unexpected record " + f + " " + n ) ; } } ) ; return a } function Af ( e , r ) { if ( ! r ) return ; var t = 0 ; [ [ 5 , 8 ] , [ 23 , 26 ] , [ 41 , 44 ] , [ 50 , 392 ] ] . forEach ( function ( e ) { for ( var a = e [ 0 ] ; a <= e [ 1 ] ; ++ a ) if ( r [ a ] != null ) ++ t } ) ; if ( t == 0 ) return ; zr ( e , "BrtBeginFmts" , bt ( t ) ) ; [ [ 5 , 8 ] , [ 23 , 26 ] , [ 41 , 44 ] , [ 50 , 392 ] ] . forEach ( function ( t ) { for ( var a = t [ 0 ] ; a <= t [ 1 ] ; ++ a ) if ( r [ a ] != null ) zr ( e , "BrtFmt" , df ( a , r [ a ] ) ) } ) ; zr ( e , "BrtEndFmts" ) } function Rf ( e ) { var r = 1 ; if ( r == 0 ) return ; zr (
; } return [ a , 0 , i ] } function Io ( e , r , t ) { if ( t . biff == 5 ) return xo ( e , r , t ) ; var a = e . _R ( 1 ) >>> 5 & 3 ; var n = e . _R ( 2 ) ; var i = e . _R ( 4 ) ; return [ a , n , i ] } function xo ( e ) { var r = e . _R ( 1 ) >>> 5 & 3 ; var t = e . _R ( 2 , "i" ) ; e . l += 8 ; var a = e . _R ( 2 ) ; e . l += 12 ; return [ r , t , a ] } function Ao ( e , r , t ) { var a = e . _R ( 1 ) >>> 5 & 3 ; e . l += t && t . biff == 2 ? 3 : 4 ; var n = e . _R ( t && t . biff == 2 ? 1 : 2 ) ; return [ a , n ] } function Ro ( e , r , t ) { var a = e . _R ( 1 ) >>> 5 & 3 ; var n = e . _R ( t && t . biff == 2 ? 1 : 2 ) ; return [ a , n ] } function _o ( e , r , t ) { var a = e . _R ( 1 ) >>> 5 & 3 ; e . l += 4 ; if ( t . biff < 8 ) e . l -- ; if ( t . biff == 12 ) e . l += 2 ; return [ a ] } function Fo ( e , r , t ) { var a = ( e [ e . l ++ ] & 96 ) >> 5 ; var n = e . _R ( 2 ) ; var i = 4 ; if ( t ) switch ( t . biff ) { case 5 : i = 15 ; break ; case 12 : i = 6 ; break ; } e . l += i ; return [ a , n ] } var yo = Hr ; var Do = Hr ; var Oo = Hr ; function Po ( e , r , t ) { e . l += 2 ; return [ Gc ( e , 4 , t ) ] } function No ( e ) { e . l += 6 ; return [ ] } var Mo = Po ; var Lo = No ; var Uo = No ; var Wo = Po ; function Ho ( e ) { e . l += 2 ; return [ xn ( e ) , e . _R ( 2 ) & 1 ] } var Vo = Po ; var Xo = Ho ; var Go = No ; var zo = Po ; var jo = Po ; var Ko = [ "Data" , "All" , "Headers" , "??" , "?Data2" , "??" , "?DataHeaders" , "??" , "Totals" , "??" , "??" , "??" , "?DataTotals" , "??" , "??" , "??" , "?Current" ] ; function $o ( e ) { e . l += 2 ; var r = e . _R ( 2 ) ; var t = e . _R ( 2 ) ; var a = e . _R ( 4 ) ; var n = e . _R ( 2 ) ; var i = e . _R ( 2 ) ; var s = Ko [ t >> 2 & 31 ] ; return { ixti : r , coltype : t & 3 , rt : s , idx : a , c : n , C : i } } function Yo ( e ) { e . l += 2 ; return [ e . _R ( 4 ) ] } function Qo ( e , r , t ) { e . l += 5 ; e . l += 2 ; e . l += t . biff == 2 ? 1 : 4 ; return [ "PTGSHEET" ] } function Jo ( e , r , t ) { e . l += t . biff == 2 ? 4 : 5 ; return [ "PTGENDSHEET" ] } function Zo ( e ) { var r = e . _R ( 1 ) >>> 5 & 3 ; var t = e . _R ( 2 ) ; return [ r , t ] } function qo ( e ) { var r = e . _R ( 1 ) >>> 5 & 3 ; var t = e . _R ( 2 ) ; return [ r , t ] } function eu ( e ) { e . l += 4 ; return [ 0 , 0 ] } var ru = { 1 : { n : "PtgExp" , f : mo } , 2 : { n : "PtgTbl" , f : Oo } , 3 : { n : "PtgAdd" , f : Mc } , 4 : { n : "PtgSub" , f : Mc } , 5 : { n : "PtgMul" , f : Mc } , 6 : { n : "PtgDiv" , f : Mc } , 7 : { n : "PtgPower" , f : Mc } , 8 : { n : "PtgConcat" , f : Mc } , 9 : { n : "PtgLt" , f : Mc } , 10 : { n : "PtgLe" , f : Mc } , 11 : { n : "PtgEq" , f : Mc } , 12 : { n : "PtgGe" , f : Mc } , 13 : { n : "PtgGt" , f : Mc } , 14 : { n : "PtgNe" , f : Mc } , 15 : { n : "PtgIsect" , f : Mc } , 16 : { n : "PtgUnion" , f : Mc } , 17 : { n : "PtgRange" , f : Mc } , 18 : { n : "PtgUplus" , f : Mc } , 19 : { n : "PtgUminus" , f : Mc } , 20 : { n : "PtgPercent" , f : Mc } , 21 : { n : "PtgParen" , f : Mc } , 22 : { n : "PtgMissArg" , f : Mc } , 23 : { n : "PtgStr" , f : ko } , 26 : { n : "PtgSheet" , f : Qo } , 27 : { n : "PtgEndSheet" , f : Jo } , 28 : { n : "PtgErr" , f : bo } , 29 : { n : "PtgBool" , f : Eo } , 30 : { n : "PtgInt" , f : go } , 31 : { n : "PtgNum" , f : So } , 32 : { n : "PtgArray" , f : Zc } , 33 : { n : "PtgFunc" , f : uo } , 34 : { n : "PtgFuncVar" , f : ho } , 35 : { n : "PtgName" , f : To } , 36 : { n : "PtgRef" , f : fo } , 37 : { n : "PtgArea" , f : Kc } , 38 : { n : "PtgMemArea" , f : Ao } , 39 : { n : "PtgMemErr" , f : yo } , 40 : { n : "PtgMemNoMem" , f : Do } , 41 : { n : "PtgMemFunc" , f : Ro } , 42 : { n : "PtgRefErr" , f : _o } , 43 : { n : "PtgAreaErr" , f : Yc } , 44 : { n : "PtgRefN" , f : co } , 45 : { n : "PtgAreaN" , f : Jc } , 46 : { n : "PtgMemAreaN" , f : Zo } , 47 : { n : "PtgMemNoMemN" , f : qo } , 57 : { n : "PtgNameX" , f : Io } , 58 : { n : "PtgRef3d" , f : oo } , 59 : { n : "PtgArea3d" , f : $c } , 60 : { n : "PtgRefErr3d" , f : Fo } , 61 : { n : "PtgAreaErr3d" , f : Qc } , 255 : { } } ; var tu = { 64 : 32 , 96 : 32 , 65 : 33 , 97 : 33 , 66 : 34 , 98 : 34 , 67 : 35 , 99 : 35 , 68 : 36 , 100 : 36 , 69 : 37 , 101 : 37 , 70 : 38 , 102 : 38 , 71 : 39 , 103 : 39 , 72 : 40 , 104 : 40 , 73 : 41 , 105 : 41 , 74 : 42 , 106 : 42 , 75 : 43 , 107 : 43 , 76 : 44 , 108 : 44 , 77 : 45 , 109 : 45 , 78 : 46 , 110 : 46 , 79 : 47 , 111 : 47 , 88 : 34 , 120 : 34 , 89 : 57 , 121 : 57 , 90 : 58 , 122 : 58 , 91 : 59 , 123 : 59 , 92 : 60 , 124 : 60 , 93 : 61 , 125 : 61 } ; ( function ( ) { for ( var e in tu ) ru [ e ] = ru [ tu [ e ] ] } ) ( ) ; var au = { 1 : { n : "PtgElfLel" , f : Ho } , 2 : { n : "PtgElfRw" , f : zo } , 3 : { n : "PtgElfCol" , f : Mo } , 6 : { n : "PtgElfRwV" , f : jo } , 7 : { n : "PtgElfColV" , f : Wo } , 10 : { n : "PtgElfRadical" , f : Vo } , 11 : { n : "PtgElfRadicalS" , f : Go } , 13 : { n : "PtgElfColS" , f : Lo } , 15 : { n : "PtgElfColSV" , f : Uo } , 16 : { n : "PtgElfRadicalLel" , f : Xo } , 25 : { n : "PtgList" , f : $o } , 29 : { n : "PtgSxName" , f : Yo } , 255 : { } } ; var nu = { 0 : { n : "PtgAttrNoop" , f : eu } , 1 : { n : "PtgAttrSemi" , f : no } , 2 : { n : "PtgAttrIf" , f : to } , 4 : { n : "PtgAttrChoose" , f : eo } , 8 : { n : "PtgAttrGoto" , f : ro } , 16 : { n : "PtgAttrSum" , f : po } , 32 : { n : "PtgAttrBaxcel" , f : qc } , 64 : { n : "PtgAttrSpace" , f : so } , 65 : { n : "PtgAttrSpaceSemi" , f : lo } , 128 : { n : "PtgAttrIfError" , f : ao } , 255 : { } } ; nu [ 33 ] = nu [ 32 ] ; function iu ( e , r , t , a ) { if ( a . biff < 8 ) return Hr ( e , r ) ; var n = e . l + r ; var i = [ ] ; for ( var s = 0 ; s !== t . length ; ++ s ) { switch ( t [ s ] [ 0 ] ) { case "PtgArray" : t [ s ] [ 1 ] = Co ( e , 0 , a ) ; i . push ( t [ s ] [ 1 ] ) ; break ; case "PtgMemArea" : t [ s ] [ 2 ] = Bo ( e , t [ s ] [ 1 ] , a ) ; i . push ( t [ s ] [ 2 ] ) ; break ; case "PtgExp" : if ( a && a . biff == 12 ) { t [ s ] [ 1 ] [ 1 ] = e . _R ( 4 ) ; i . push ( t [ s ] [ 1 ] ) } break ; case "PtgList" : ; case "PtgElfRadicalS" : ; case "PtgElfColS" : ; case "PtgElfColSV" : throw "Unsupported " + t [ s ] [ 0 ] ; default : break ; } } r = n - e . l ; if ( r !== 0 ) i . push ( Hr ( e , r ) ) ; return i } function su ( e , r , t ) { var a = e . l + r ; var
if ( e . right == null ) e . right = t [ 1 ] ; if ( e . top == null ) e . top = t [ 2 ] ; if ( e . bottom == null ) e . bottom = t [ 3 ] ; if ( e . header == null ) e . header = t [ 4 ] ; if ( e . footer == null ) e . footer = t [ 5 ] } function Mu ( e , r , t ) { var a = t . revssf [ r . z != null ? r . z : "General" ] ; var n = 60 , i = e . length ; if ( a == null && t . ssf ) { for ( ; n < 392 ; ++ n ) if ( t . ssf [ n ] == null ) { R . load ( r . z , n ) ; t . ssf [ n ] = r . z ; t . revssf [ r . z ] = a = n ; break } } for ( n = 0 ; n != i ; ++ n ) if ( e [ n ] . numFmtId === a ) return n ; e [ i ] = { numFmtId : a , fontId : 0 , fillId : 0 , borderId : 0 , xfId : 0 , applyNumberFormat : 1 } ; return i } function Lu ( e , r , t , a , n , i ) { if ( e . t === "z" ) return ; if ( e . t === "d" && typeof e . v === "string" ) e . v = te ( e . v ) ; try { if ( a . cellNF ) e . z = R . _table [ r ] } catch ( s ) { if ( a . WTF ) throw s } if ( ! a || a . cellText !== false ) try { if ( R . _table [ r ] == null ) R . load ( y [ r ] || "General" , r ) ; if ( e . t === "e" ) e . w = e . w || Xt [ e . v ] ; else if ( r === 0 ) { if ( e . t === "n" ) { if ( ( e . v | 0 ) === e . v ) e . w = R . _general _int ( e . v ) ; else e . w = R . _general _num ( e . v ) } else if ( e . t === "d" ) { var l = J ( e . v ) ; if ( ( l | 0 ) === l ) e . w = R . _general _int ( l ) ; else e . w = R . _general _num ( l ) } else if ( e . v === undefined ) return "" ; else e . w = R . _general ( e . v , Du ) } else if ( e . t === "d" ) e . w = R . format ( r , J ( e . v ) , Du ) ; else e . w = R . format ( r , e . v , Du ) } catch ( s ) { if ( a . WTF ) throw s } if ( ! a . cellStyles ) return ; if ( t != null ) try { e . s = i . Fills [ t ] ; if ( e . s . fgColor && e . s . fgColor . theme && ! e . s . fgColor . rgb ) { e . s . fgColor . rgb = Ml ( n . themeElements . clrScheme [ e . s . fgColor . theme ] . rgb , e . s . fgColor . tint || 0 ) ; if ( a . WTF ) e . s . fgColor . raw _rgb = n . themeElements . clrScheme [ e . s . fgColor . theme ] . rgb } if ( e . s . bgColor && e . s . bgColor . theme ) { e . s . bgColor . rgb = Ml ( n . themeElements . clrScheme [ e . s . bgColor . theme ] . rgb , e . s . bgColor . tint || 0 ) ; if ( a . WTF ) e . s . bgColor . raw _rgb = n . themeElements . clrScheme [ e . s . bgColor . theme ] . rgb } } catch ( s ) { if ( a . WTF && i . Fills ) throw s } } function Uu ( e , r ) { var t = ut ( r ) ; if ( t . s . r <= t . e . r && t . s . c <= t . e . c && t . s . r >= 0 && t . s . c >= 0 ) e [ "!ref" ] = ot ( t ) } var Wu = /<(?:\w:)?mergeCell ref="[A-Z0-9:]+"\s*[\/]?>/g ; var Hu = /<(?:\w+:)?sheetData>([\s\S]*)<\/(?:\w+:)?sheetData>/ ; var Vu = /<(?:\w:)?hyperlink [^>]*>/gm ; var Xu = /"(\w*:\w*)"/ ; var Gu = /<(?:\w:)?col[^>]*[\/]?>/g ; var zu = /<(?:\w:)?autoFilter[^>]*([\/]|>([\s\S]*)<\/(?:\w:)?autoFilter)>/g ; var ju = /<(?:\w:)?pageMargins[^>]*\/>/g ; var Ku = /<(?:\w:)?sheetPr(?:[^>a-z][^>]*)?\/>/ ; var $u = /<(?:\w:)?sheetViews[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetViews)>/ ; function Yu ( e , r , t , a , n , i , s ) { if ( ! e ) return e ; if ( m != null && r . dense == null ) r . dense = m ; var l = r . dense ? [ ] : { } ; var f = { s : { r : 2e6 , c : 2e6 } , e : { r : 0 , c : 0 } } ; var c = "" , o = "" ; var u = e . match ( Hu ) ; if ( u ) { c = e . slice ( 0 , u . index ) ; o = e . slice ( u . index + u [ 0 ] . length ) } else c = o = e ; var h = c . match ( Ku ) ; if ( h ) Ju ( h [ 0 ] , l , n , t ) ; var d = ( c . match ( /<(?:\w*:)?dimension/ ) || { index : - 1 } ) . index ; if ( d > 0 ) { var v = c . slice ( d , d + 50 ) . match ( Xu ) ; if ( v ) Uu ( l , v [ 1 ] ) } var p = c . match ( $u ) ; if ( p && p [ 1 ] ) lh ( p [ 1 ] , n ) ; var b = [ ] ; if ( r . cellStyles ) { var g = c . match ( Gu ) ; if ( g ) th ( b , g ) } if ( u ) oh ( u [ 1 ] , l , r , f , i , s ) ; var E = o . match ( zu ) ; if ( E ) l [ "!autofilter" ] = nh ( E [ 0 ] ) ; var S = [ ] ; var k = o . match ( Wu ) ; if ( k ) for ( d = 0 ; d != k . length ; ++ d ) S [ d ] = ut ( k [ d ] . slice ( k [ d ] . indexOf ( '"' ) + 1 ) ) ; var w = o . match ( Vu ) ; if ( w ) qu ( l , w , a ) ; var B = o . match ( ju ) ; if ( B ) l [ "!margins" ] = eh ( Te ( B [ 0 ] ) ) ; if ( ! l [ "!ref" ] && f . e . c >= f . s . c && f . e . r >= f . s . r ) l [ "!ref" ] = ot ( f ) ; if ( r . sheetRows > 0 && l [ "!ref" ] ) { var C = ut ( l [ "!ref" ] ) ; if ( r . sheetRows < + C . e . r ) { C . e . r = r . sheetRows - 1 ; if ( C . e . r > f . e . r ) C . e . r = f . e . r ; if ( C . e . r < C . s . r ) C . s . r = C . e . r ; if ( C . e . c > f . e . c ) C . e . c = f . e . c ; if ( C . e . c < C . s . c ) C . s . c = C . e . c ; l [ "!fullref" ] = l [ "!ref" ] ; l [ "!ref" ] = ot ( C ) } } if ( b . length > 0 ) l [ "!cols" ] = b ; if ( S . length > 0 ) l [ "!merges" ] = S ; return l } function Qu ( e ) { if ( e . length === 0 ) return "" ; var r = '<mergeCells count="' + e . length + '">' ; for ( var t = 0 ; t != e . length ; ++ t ) r += '<mergeCell ref="' + ot ( e [ t ] ) + '"/>' ; return r + "</mergeCells>" } function Ju ( e , r , t , a ) { var n = Te ( e ) ; if ( ! t . Sheets [ a ] ) t . Sheets [ a ] = { } ; if ( n . codeName ) t . Sheets [ a ] . CodeName = n . codeName } function Zu ( e ) { var r = { sheet : 1 } ; var t = [ "objects" , "scenarios" , "selectLockedCells" , "selectUnlockedCells" ] ; var a = [ "formatColumns" , "formatRows" , "formatCells" , "insertColumns" , "insertRows" , "insertHyperlinks" , "deleteColumns" , "deleteRows" , "sort" , "autoFilter" , "pivotTables" ] ; t . forEach ( function ( t ) { if ( e [ t ] != null && e [ t ] ) r [ t ] = "1" } ) ; a . forEach ( function ( t ) { if ( e [ t ] != null && ! e [ t ] ) r [ t ] = "0" } ) ; if ( e . password ) r . password = Tl ( e . password ) . toString ( 16 ) . toUpperCase ( ) ; return er ( "sheetProtection" , null , r ) } function qu ( e , r , t ) { var a = Array . isArray ( e ) ; for ( var n = 0 ; n != r . length ; ++ n ) { var i = Te ( We ( r [ n ] ) , true ) ; if ( ! i . ref ) return ;
var a = { codeName : "ThisWorkbook" } ; if ( e . Workbook && e . Workbook . WBProps ) { kd . forEach ( function ( r ) { if ( e . Workbook . WBProps [ r [ 0 ] ] == null ) return ; if ( e . Workbook . WBProps [ r [ 0 ] ] == r [ 1 ] ) return ; a [ r [ 0 ] ] = e . Workbook . WBProps [ r [ 0 ] ] } ) ; if ( e . Workbook . WBProps . CodeName ) { a . codeName = e . Workbook . WBProps . CodeName ; delete a . CodeName } } r [ r . length ] = er ( "workbookPr" , null , a ) ; r [ r . length ] = "<sheets>" ; var n = e . Workbook && e . Workbook . Sheets || [ ] ; for ( var i = 0 ; i != e . SheetNames . length ; ++ i ) { var s = { name : ye ( e . SheetNames [ i ] . slice ( 0 , 31 ) ) } ; s . sheetId = "" + ( i + 1 ) ; s [ "r:id" ] = "rId" + ( i + 1 ) ; if ( n [ i ] ) switch ( n [ i ] . Hidden ) { case 1 : s . state = "hidden" ; break ; case 2 : s . state = "veryHidden" ; break ; } r [ r . length ] = er ( "sheet" , null , s ) } r [ r . length ] = "</sheets>" ; if ( t ) { r [ r . length ] = "<definedNames>" ; if ( e . Workbook && e . Workbook . Names ) e . Workbook . Names . forEach ( function ( e ) { var t = { name : e . Name } ; if ( e . Comment ) t . comment = e . Comment ; if ( e . Sheet != null ) t . localSheetId = "" + e . Sheet ; if ( ! e . Ref ) return ; r [ r . length ] = er ( "definedName" , String ( e . Ref ) , t ) } ) ; r [ r . length ] = "</definedNames>" } if ( r . length > 2 ) { r [ r . length ] = "</workbook>" ; r [ 1 ] = r [ 1 ] . replace ( "/>" , ">" ) } return r . join ( "" ) } function Md ( e , r ) { var t = { } ; t . Hidden = e . _R ( 4 ) ; t . iTabID = e . _R ( 4 ) ; t . strRelID = Dt ( e , r - 8 ) ; t . name = gt ( e ) ; return t } function Ld ( e , r ) { if ( ! r ) r = Vr ( 127 ) ; r . _W ( 4 , e . Hidden ) ; r . _W ( 4 , e . iTabID ) ; Ot ( e . strRelID , r ) ; Et ( e . name . slice ( 0 , 31 ) , r ) ; return r . length > r . l ? r . slice ( 0 , r . l ) : r } function Ud ( e , r ) { var t = { } ; var a = e . _R ( 4 ) ; t . defaultThemeVersion = e . _R ( 4 ) ; var n = r > 8 ? gt ( e ) : "" ; if ( n . length > 0 ) t . CodeName = n ; t . autoCompressPictures = ! ! ( a & 65536 ) ; t . backupFile = ! ! ( a & 64 ) ; t . checkCompatibility = ! ! ( a & 4096 ) ; t . date1904 = ! ! ( a & 1 ) ; t . filterPrivacy = ! ! ( a & 8 ) ; t . hidePivotFieldList = ! ! ( a & 1024 ) ; t . promptedSolutions = ! ! ( a & 16 ) ; t . publishItems = ! ! ( a & 2048 ) ; t . refreshAllConnections = ! ! ( a & 262144 ) ; t . saveExternalLinkValues = ! ! ( a & 128 ) ; t . showBorderUnselectedTables = ! ! ( a & 4 ) ; t . showInkAnnotation = ! ! ( a & 32 ) ; t . showObjects = [ "all" , "placeholders" , "none" ] [ a >> 13 & 3 ] ; t . showPivotChartFilter = ! ! ( a & 32768 ) ; t . updateLinks = [ "userSet" , "never" , "always" ] [ a >> 8 & 3 ] ; return t } function Wd ( e , r ) { if ( ! r ) r = Vr ( 72 ) ; var t = 0 ; if ( e ) { if ( e . filterPrivacy ) t |= 8 } r . _W ( 4 , t ) ; r . _W ( 4 , 0 ) ; Rt ( e && e . CodeName || "ThisWorkbook" , r ) ; return r . slice ( 0 , r . l ) } function Hd ( e , r ) { var t = { } ; e . _R ( 4 ) ; t . ArchID = e . _R ( 4 ) ; e . l += r - 8 ; return t } function Vd ( e , r , t ) { var a = e . l + r ; e . l += 4 ; e . l += 1 ; var n = e . _R ( 4 ) ; var i = yt ( e ) ; var s = wu ( e , 0 , t ) ; var l = _t ( e ) ; e . l = a ; var f = { Name : i , Ptg : s } ; if ( n < 268435455 ) f . Sheet = n ; if ( l ) f . Comment = l ; return f } function Xd ( e , r ) { var t = { AppVersion : { } , WBProps : { } , WBView : [ ] , Sheets : [ ] , CalcPr : { } , xmlns : "" } ; var a = false ; if ( ! r ) r = { } ; r . biff = 12 ; var n = [ ] ; var i = [ [ ] ] ; i . SheetNames = [ ] ; i . XTI = [ ] ; Xr ( e , function s ( e , l , f ) { switch ( f ) { case 156 : i . SheetNames . push ( e . name ) ; t . Sheets . push ( e ) ; break ; case 153 : t . WBProps = e ; break ; case 39 : if ( e . Sheet != null ) r . SID = e . Sheet ; e . Ref = hu ( e . Ptg , null , null , i , r ) ; delete r . SID ; delete e . Ptg ; n . push ( e ) ; break ; case 1036 : break ; case 357 : ; case 358 : ; case 355 : ; case 667 : if ( ! i [ 0 ] . length ) i [ 0 ] = [ f , e ] ; else i . push ( [ f , e ] ) ; i [ i . length - 1 ] . XTI = [ ] ; break ; case 362 : if ( i . length === 0 ) { i [ 0 ] = [ ] ; i [ 0 ] . XTI = [ ] } i [ i . length - 1 ] . XTI = i [ i . length - 1 ] . XTI . concat ( e ) ; i . XTI = i . XTI . concat ( e ) ; break ; case 361 : break ; case 2071 : ; case 534 : ; case 677 : ; case 158 : ; case 157 : ; case 610 : ; case 2050 : ; case 155 : ; case 548 : ; case 676 : ; case 128 : ; case 665 : ; case 2128 : ; case 2125 : ; case 549 : ; case 2053 : ; case 596 : ; case 2076 : ; case 2075 : ; case 2082 : ; case 397 : ; case 154 : ; case 1117 : ; case 553 : ; case 2091 : break ; case 35 : a = true ; break ; case 36 : a = false ; break ; case 37 : break ; case 38 : break ; case 16 : break ; default : if ( ( l || "" ) . indexOf ( "Begin" ) > 0 ) { } else if ( ( l || "" ) . indexOf ( "End" ) > 0 ) { } else if ( ! a || r . WTF ) throw new Error ( "Unexpected record " + f + " " + l ) ; } } , r ) ; xd ( t ) ; t . Names = n ; t . supbooks = i ; return t } function Gd ( e , r ) { zr ( e , "BrtBeginBundleShs" ) ; for ( var t = 0 ; t != r . SheetNames . length ; ++ t ) { var a = r . Workbook && r . Workbook . Sheets && r . Workbook . Sheets [ t ] && r . Workbook . Sheets [ t ] . Hidden || 0 ; var n = { Hidden : a , iTabID : t + 1 , strRelID : "rId" + ( t + 1 ) , name : r . SheetNames [ t ] } ; zr ( e , "BrtBundleSh" , Ld ( n ) ) } zr ( e , "BrtEndBundleShs" ) } function zd ( e , t ) { if ( ! t ) t = Vr ( 127 ) ; for ( var a = 0 ; a != 4 ; ++ a ) t . _W ( 4 , 0 ) ; Et ( "SheetJS" , t ) ; Et ( r . version , t ) ; Et ( r . version , t ) ; Et ( "7262" , t ) ; t . length = t . l ; return t . length > t . l ? t . slice ( 0 , t . l ) : t } function jd ( e , r ) { if ( ! r ) r = Vr ( 29 ) ; r . _W ( - 4 , 0 ) ; r . _W ( - 4 , 460 ) ; r . _W ( 4 , 28800 ) ; r . _W ( 4 , 17600 ) ; r . _W ( 4 , 500 ) ; r . _W ( 4 , e ) ; r . _W ( 4 , e ) ; var
if ( r . f ) r . f = "" + hu ( S [ a ] [ 1 ] , s , e , H , y ) ; break } } if ( t . sheetRows && h . r >= t . sheetRows ) B = false ; else { if ( t . dense ) { if ( ! n [ e . r ] ) n [ e . r ] = [ ] ; n [ e . r ] [ e . c ] = r } else n [ d ] = r } } ; var y = { enc : false , sbcch : 0 , snames : [ ] , sharedf : E , arrayf : S , rrtabid : [ ] , lastuser : "" , biff : 8 , codepage : 0 , winlocked : 0 , cellStyles : ! ! r && ! ! r . cellStyles , WTF : ! ! r && ! ! r . wtf } ; if ( r . password ) y . password = r . password ; var D ; var O = [ ] ; var P = [ ] ; var N = [ ] , M = [ ] ; var L = 0 , U = 0 ; var W = false ; var H = [ ] ; H . SheetNames = y . snames ; H . sharedf = y . sharedf ; H . arrayf = y . arrayf ; H . names = [ ] ; H . XTI = [ ] ; var V = "" ; var G = 0 ; var z = 0 , j = [ ] ; var K = [ ] ; var $ ; y . codepage = 1200 ; c ( 1200 ) ; var Y = false ; while ( e . l < e . length - 1 ) { var Q = e . l ; var J = e . _R ( 2 ) ; if ( J === 0 && V === "EOF" ) break ; var Z = e . l === e . length ? 0 : e . _R ( 2 ) ; var q = Qv [ J ] ; if ( q && q . f ) { if ( r . bookSheets ) { if ( V === "BoundSheet8" && q . n !== "BoundSheet8" ) break } V = q . n ; if ( q . r === 2 || q . r == 12 ) { var ee = e . _R ( 2 ) ; Z -= 2 ; if ( ! y . enc && ee !== J && ( ( ee & 255 ) << 8 | ee >> 8 ) !== J ) throw new Error ( "rt mismatch: " + ee + "!=" + J ) ; if ( q . r == 12 ) { e . l += 10 ; Z -= 10 } } var re ; if ( q . n === "EOF" ) re = q . f ( e , Z , y ) ; else re = Hv ( q , e , Z , y ) ; var te = q . n ; if ( G == 0 && te != "BOF" ) continue ; switch ( te ) { case "Date1904" : t . opts . Date1904 = I . WBProps . date1904 = re ; break ; case "WriteProtect" : t . opts . WriteProtect = true ; break ; case "FilePass" : if ( ! y . enc ) e . l = 0 ; y . enc = re ; if ( ! r . password ) throw new Error ( "File is password-protected" ) ; if ( re . valid == null ) throw new Error ( "Encryption scheme unsupported" ) ; if ( ! re . valid ) throw new Error ( "Password is incorrect" ) ; break ; case "WriteAccess" : y . lastuser = re ; break ; case "FileSharing" : break ; case "CodePage" : switch ( re ) { case 21010 : re = 1200 ; break ; case 32768 : re = 1e4 ; break ; case 32769 : re = 1252 ; break ; } c ( y . codepage = re ) ; Y = true ; break ; case "RRTabId" : y . rrtabid = re ; break ; case "WinProtect" : y . winlocked = re ; break ; case "Template" : break ; case "BookBool" : break ; case "UsesELFs" : break ; case "MTRSettings" : break ; case "RefreshAll" : ; case "CalcCount" : ; case "CalcDelta" : ; case "CalcIter" : ; case "CalcMode" : ; case "CalcPrecision" : ; case "CalcSaveRecalc" : t . opts [ te ] = re ; break ; case "CalcRefMode" : y . CalcRefMode = re ; break ; case "Uncalced" : break ; case "ForceFullCalculation" : t . opts . FullCalc = re ; break ; case "WsBool" : if ( re . fDialog ) n [ "!type" ] = "dialog" ; break ; case "XF" : C . push ( re ) ; break ; case "ExtSST" : break ; case "BookExt" : break ; case "RichTextStream" : break ; case "BkHim" : break ; case "SupBook" : H . push ( [ re ] ) ; H [ H . length - 1 ] . XTI = [ ] ; break ; case "ExternName" : H [ H . length - 1 ] . push ( re ) ; break ; case "Index" : break ; case "Lbl" : $ = { Name : re . Name , Ref : hu ( re . rgce , s , null , H , y ) } ; if ( re . itab > 0 ) $ . Sheet = re . itab - 1 ; H . names . push ( $ ) ; if ( ! H [ 0 ] ) { H [ 0 ] = [ ] ; H [ 0 ] . XTI = [ ] } H [ H . length - 1 ] . push ( re ) ; if ( re . Name == "_xlnm._FilterDatabase" && re . itab > 0 ) if ( re . rgce && re . rgce [ 0 ] && re . rgce [ 0 ] [ 0 ] && re . rgce [ 0 ] [ 0 ] [ 0 ] == "PtgArea3d" ) K [ re . itab - 1 ] = { ref : ot ( re . rgce [ 0 ] [ 0 ] [ 1 ] [ 2 ] ) } ; break ; case "ExternCount" : y . ExternCount = re ; break ; case "ExternSheet" : if ( H . length == 0 ) { H [ 0 ] = [ ] ; H [ 0 ] . XTI = [ ] } H [ H . length - 1 ] . XTI = H [ H . length - 1 ] . XTI . concat ( re ) ; H . XTI = H . XTI . concat ( re ) ; break ; case "NameCmt" : if ( y . biff < 8 ) break ; if ( $ != null ) $ . Comment = re [ 1 ] ; break ; case "Protect" : n [ "!protect" ] = re ; break ; case "Password" : if ( re !== 0 && y . WTF ) console . error ( "Password verifier: " + re ) ; break ; case "Prot4Rev" : ; case "Prot4RevPass" : break ; case "BoundSheet8" : { i [ re . pos ] = re ; y . snames . push ( re . name ) } break ; case "EOF" : { if ( -- G ) break ; if ( s . e ) { if ( s . e . r > 0 && s . e . c > 0 ) { s . e . r -- ; s . e . c -- ; n [ "!ref" ] = ot ( s ) ; s . e . r ++ ; s . e . c ++ } if ( O . length > 0 ) n [ "!merges" ] = O ; if ( P . length > 0 ) n [ "!objects" ] = P ; if ( N . length > 0 ) n [ "!cols" ] = N ; if ( M . length > 0 ) n [ "!rows" ] = M ; I . Sheets . push ( x ) } if ( o === "" ) u = n ; else a [ o ] = n ; n = r . dense ? [ ] : { } } break ; case "BOF" : { if ( y . biff === 8 ) y . biff = { 9 : 2 , 521 : 3 , 1033 : 4 } [ J ] || { 512 : 2 , 768 : 3 , 1024 : 4 , 1280 : 5 , 1536 : 8 , 2 : 2 , 7 : 2 } [ re . BIFFVer ] || 8 ; if ( G ++ ) break ; B = true ; n = r . dense ? [ ] : { } ; if ( y . biff < 8 && ! Y ) { Y = true ; c ( y . codepage = r . codepage || 1252 ) } if ( y . biff < 5 ) { if ( o === "" ) o = "Sheet1" ; s = { s : { r : 0 , c : 0 } , e : { r : 0 , c : 0 } } ; var ae = { pos : e . l - Z , name : o } ; i [ ae . pos ] = ae ; y . snames . push ( o ) } else o = ( i [ Q ] || { name : "" } ) . name ; if ( re . dt == 32 ) n [ "!type" ] = "chart" ; if ( re . dt == 64 ) n [ "!type" ] = "macro" ; O = [ ] ; P = [ ] ; y . arrayf = S = [ ] ; N = [ ] ; M = [ ] ; L = U = 0 ; W = false ; x = { Hidden : ( i [ Q ] || { hs : 0 } ) . hs , name : o } } break ; case "Number" : ; case "BIFF2NUM" : ; case "BIFF2INT" : { if ( n [ "!type" ] == "chart" ) if ( r . dense ? ( n [ re . r ] || [ ] ) [ re . c ] : n [ ft ( { c : re . c , r : re . r } ) ] ) ++ re . c ; k = { ixfe : re . ixfe , XF : C [ re . ixfe ] || { } , v : re . val , t : "n" } ; if ( z > 0 ) k . z = j [ k . ixfe >> 8 & 31 ] ; Vv ( k , r , t . opts . Date1904 ) ; F ( { c : re . c , r : re . r } , k , r ) } break ; case "BoolErr" : { k = { ix
n : "BrtBeginSlicersEx" } , 1080 : { n : "BrtEndSlicersEx" } , 1081 : { n : "BrtBeginSlicerEx" } , 1082 : { n : "BrtEndSlicerEx" } , 1083 : { n : "BrtBeginSlicer" } , 1084 : { n : "BrtEndSlicer" } , 1085 : { n : "BrtSlicerCachePivotTables" } , 1086 : { n : "BrtBeginSlicerCacheOlapImpl" } , 1087 : { n : "BrtEndSlicerCacheOlapImpl" } , 1088 : { n : "BrtBeginSlicerCacheLevelsData" } , 1089 : { n : "BrtEndSlicerCacheLevelsData" } , 1090 : { n : "BrtBeginSlicerCacheLevelData" } , 1091 : { n : "BrtEndSlicerCacheLevelData" } , 1092 : { n : "BrtBeginSlicerCacheSiRanges" } , 1093 : { n : "BrtEndSlicerCacheSiRanges" } , 1094 : { n : "BrtBeginSlicerCacheSiRange" } , 1095 : { n : "BrtEndSlicerCacheSiRange" } , 1096 : { n : "BrtSlicerCacheOlapItem" } , 1097 : { n : "BrtBeginSlicerCacheSelections" } , 1098 : { n : "BrtSlicerCacheSelection" } , 1099 : { n : "BrtEndSlicerCacheSelections" } , 1100 : { n : "BrtBeginSlicerCacheNative" } , 1101 : { n : "BrtEndSlicerCacheNative" } , 1102 : { n : "BrtSlicerCacheNativeItem" } , 1103 : { n : "BrtRangeProtection14" } , 1104 : { n : "BrtRangeProtectionIso14" } , 1105 : { n : "BrtCellIgnoreEC14" } , 1111 : { n : "BrtList14" } , 1112 : { n : "BrtCFIcon" } , 1113 : { n : "BrtBeginSlicerCachesPivotCacheIDs" } , 1114 : { n : "BrtEndSlicerCachesPivotCacheIDs" } , 1115 : { n : "BrtBeginSlicers" } , 1116 : { n : "BrtEndSlicers" } , 1117 : { n : "BrtWbProp14" } , 1118 : { n : "BrtBeginSXEdit" } , 1119 : { n : "BrtEndSXEdit" } , 1120 : { n : "BrtBeginSXEdits" } , 1121 : { n : "BrtEndSXEdits" } , 1122 : { n : "BrtBeginSXChange" } , 1123 : { n : "BrtEndSXChange" } , 1124 : { n : "BrtBeginSXChanges" } , 1125 : { n : "BrtEndSXChanges" } , 1126 : { n : "BrtSXTupleItems" } , 1128 : { n : "BrtBeginSlicerStyle" } , 1129 : { n : "BrtEndSlicerStyle" } , 1130 : { n : "BrtSlicerStyleElement" } , 1131 : { n : "BrtBeginStyleSheetExt14" } , 1132 : { n : "BrtEndStyleSheetExt14" } , 1133 : { n : "BrtBeginSlicerCachesPivotCacheID" } , 1134 : { n : "BrtEndSlicerCachesPivotCacheID" } , 1135 : { n : "BrtBeginConditionalFormattings" } , 1136 : { n : "BrtEndConditionalFormattings" } , 1137 : { n : "BrtBeginPCDCalcMemExt" } , 1138 : { n : "BrtEndPCDCalcMemExt" } , 1139 : { n : "BrtBeginPCDCalcMemsExt" } , 1140 : { n : "BrtEndPCDCalcMemsExt" } , 1141 : { n : "BrtPCDField14" } , 1142 : { n : "BrtBeginSlicerStyles" } , 1143 : { n : "BrtEndSlicerStyles" } , 1144 : { n : "BrtBeginSlicerStyleElements" } , 1145 : { n : "BrtEndSlicerStyleElements" } , 1146 : { n : "BrtCFRuleExt" } , 1147 : { n : "BrtBeginSXCondFmt14" } , 1148 : { n : "BrtEndSXCondFmt14" } , 1149 : { n : "BrtBeginSXCondFmts14" } , 1150 : { n : "BrtEndSXCondFmts14" } , 1152 : { n : "BrtBeginSortCond14" } , 1153 : { n : "BrtEndSortCond14" } , 1154 : { n : "BrtEndDVals14" } , 1155 : { n : "BrtEndIconSet14" } , 1156 : { n : "BrtEndDatabar14" } , 1157 : { n : "BrtBeginColorScale14" } , 1158 : { n : "BrtEndColorScale14" } , 1159 : { n : "BrtBeginSxrules14" } , 1160 : { n : "BrtEndSxrules14" } , 1161 : { n : "BrtBeginPRule14" } , 1162 : { n : "BrtEndPRule14" } , 1163 : { n : "BrtBeginPRFilters14" } , 1164 : { n : "BrtEndPRFilters14" } , 1165 : { n : "BrtBeginPRFilter14" } , 1166 : { n : "BrtEndPRFilter14" } , 1167 : { n : "BrtBeginPRFItem14" } , 1168 : { n : "BrtEndPRFItem14" } , 1169 : { n : "BrtBeginCellIgnoreECs14" } , 1170 : { n : "BrtEndCellIgnoreECs14" } , 1171 : { n : "BrtDxf14" } , 1172 : { n : "BrtBeginDxF14s" } , 1173 : { n : "BrtEndDxf14s" } , 1177 : { n : "BrtFilter14" } , 1178 : { n : "BrtBeginCustomFilters14" } , 1180 : { n : "BrtCustomFilter14" } , 1181 : { n : "BrtIconFilter14" } , 1182 : { n : "BrtPivotCacheConnectionName" } , 2048 : { n : "BrtBeginDecoupledPivotCacheIDs" } , 2049 : { n : "BrtEndDecoupledPivotCacheIDs" } , 2050 : { n : "BrtDecoupledPivotCacheID" } , 2051 : { n : "BrtBeginPivotTableRefs" } , 2052 : { n : "BrtEndPivotTableRefs" } , 2053 : { n : "BrtPivotTableRef" } , 2054 : { n : "BrtSlicerCacheBookPivotTables" } , 2055 : { n : "BrtBeginSxvcells" } , 2056 : { n : "BrtEndSxvcells" } , 2057 : { n : "BrtBeginSxRow" } , 2058 : { n : "BrtEndSxRow" } , 2060 : { n : "BrtPcdCalcMem15" } , 2067 : { n : "BrtQsi15" } , 2068 : { n : "BrtBeginWebExtensions" } , 2069 : { n : "BrtEndWebExtensions" } , 2070 : { n : "BrtWebExtension" } , 2071 : { n : "BrtAbsPath15" } , 2072 : { n : "BrtBeginPivotTableUISettings" } , 2073 : { n : "BrtEndPivotTableUISettings" } , 2075 : { n : "BrtTableSlicerCacheIDs" } , 2076 : { n : "BrtTableSlicerCacheID" } , 2077 : { n : "BrtBeginTableSlicerCache" } , 2078 : { n : "BrtEndTableSlicerCache" } , 2079 : { n : "BrtSxFilter15" } , 2080 : { n : "BrtBeginTimelineCachePivotCacheIDs" } , 2081 : { n : "BrtEndTimelineCachePivotCacheIDs" } , 2082 : { n : "BrtTimelineCachePivotCacheID" } , 2083 : { n : "BrtBeginTimelineCacheIDs" } , 2084 : { n : "BrtEndTimelineCacheIDs" } , 2085 : { n : "BrtBeginTimelineCacheID" } , 2086 : { n : "BrtEndTimelineCacheID" } , 2087 : { n : "BrtBeginTimelinesEx" } , 2088 : { n : "BrtEndTimelinesEx" } , 2089 : { n : "BrtBeginTimelineEx" } , 2090 : { n : "BrtEndTimelineEx" } , 2091 : { n : "BrtWorkBookPr15" } , 2092 : { n : " BrtP
break ; case "event-listener" : break ; case "initial-creator" : ; case "creation-date" : ; case "print-date" : ; case "generator" : ; case "document-statistic" : ; case "user-defined" : ; case "editing-duration" : ; case "editing-cycles" : break ; case "config-item" : break ; case "page-number" : break ; case "page-count" : break ; case "time" : break ; case "cell-range-source" : break ; case "detective" : break ; case "operation" : break ; case "highlighted-range" : break ; case "data-pilot-table" : ; case "source-cell-range" : ; case "source-service" : ; case "data-pilot-field" : ; case "data-pilot-level" : ; case "data-pilot-subtotals" : ; case "data-pilot-subtotal" : ; case "data-pilot-members" : ; case "data-pilot-member" : ; case "data-pilot-display-info" : ; case "data-pilot-sort-info" : ; case "data-pilot-layout-info" : ; case "data-pilot-field-reference" : ; case "data-pilot-groups" : ; case "data-pilot-group" : ; case "data-pilot-group-member" : break ; case "rect" : break ; case "dde-connection-decls" : ; case "dde-connection-decl" : ; case "dde-link" : ; case "dde-source" : break ; case "properties" : break ; case "property" : break ; case "a" : if ( E [ 1 ] !== "/" ) { U = Te ( E [ 0 ] , false ) ; if ( ! U . href ) break ; U . Target = U . href ; delete U . href ; if ( U . Target . charAt ( 0 ) == "#" && U . Target . indexOf ( "." ) > - 1 ) { W = _u ( U . Target . slice ( 1 ) ) ; U . Target = "#" + W [ 0 ] + "!" + W [ 1 ] } } break ; case "table-protection" : break ; case "data-pilot-grand-total" : break ; case "office-document-common-attrs" : break ; default : switch ( E [ 2 ] ) { case "dc:" : ; case "calcext:" : ; case "loext:" : ; case "ooo:" : ; case "chartooo:" : ; case "draw:" : ; case "style:" : ; case "chart:" : ; case "form:" : ; case "uof:" : ; case "表:" : ; case "字:" : break ; default : if ( i . WTF ) throw new Error ( E ) ; } ; } var ee = { Sheets : p , SheetNames : b , Workbook : L } ; if ( i . bookSheets ) delete ee . Sheets ; return ee } } ( ) ; function Ep ( e , r ) { r = r || { } ; var t = ! ! de ( e , "objectdata" ) ; if ( t ) Da ( pe ( e , "META-INF/manifest.xml" ) , r ) ; var a = me ( e , "content.xml" ) ; if ( ! a ) throw new Error ( "Missing content.xml in " + ( t ? "ODS" : "UOF" ) + " file" ) ; var n = gp ( t ? a : We ( a ) , r ) ; if ( de ( e , "meta.xml" ) ) n . Props = Ha ( pe ( e , "meta.xml" ) ) ; return n } function Sp ( e , r ) { return gp ( e , r ) } var kp = function ( ) { var e = "<office:document-styles " + qe ( { "xmlns:office" : "urn:oasis:names:tc:opendocument:xmlns:office:1.0" , "xmlns:table" : "urn:oasis:names:tc:opendocument:xmlns:table:1.0" , "xmlns:style" : "urn:oasis:names:tc:opendocument:xmlns:style:1.0" , "xmlns:text" : "urn:oasis:names:tc:opendocument:xmlns:text:1.0" , "xmlns:draw" : "urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" , "xmlns:fo" : "urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" , "xmlns:xlink" : "http://www.w3.org/1999/xlink" , "xmlns:dc" : "http://purl.org/dc/elements/1.1/" , "xmlns:number" : "urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" , "xmlns:svg" : "urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" , "xmlns:of" : "urn:oasis:names:tc:opendocument:xmlns:of:1.2" , "office:version" : "1.2" } ) + "></office:document-styles>" ; return function r ( ) { return Se + e } } ( ) ; var wp = function ( ) { var e = function ( e ) { return ye ( e ) . replace ( / +/g , function ( e ) { return '<text:s text:c="' + e . length + '"/>' } ) . replace ( /\t/g , "<text:tab/>" ) . replace ( /\n/g , "<text:line-break/>" ) . replace ( /^ / , "<text:s/>" ) . replace ( / $/ , "<text:s/>" ) } ; var r = " <table:table-cell />\n" ; var t = " <table:covered-table-cell/>\n" ; var a = function ( a , n , i ) { var s = [ ] ; s . push ( ' <table:table table:name="' + ye ( n . SheetNames [ i ] ) + '">\n' ) ; var l = 0 , f = 0 , c = ct ( a [ "!ref" ] ) ; var o = a [ "!merges" ] || [ ] , u = 0 ; var h = Array . isArray ( a ) ; for ( l = 0 ; l < c . s . r ; ++ l ) s . push ( " <table:table-row></table:table-row>\n" ) ; for ( ; l <= c . e . r ; ++ l ) { s . push ( " <table:table-row>\n" ) ; for ( f = 0 ; f < c . s . c ; ++ f ) s . push ( r ) ; for ( ; f <= c . e . c ; ++ f ) { var d = false , v = { } , p = "" ; for ( u = 0 ; u != o . length ; ++ u ) { if ( o [ u ] . s . c > f ) continue ; if ( o [ u ] . s . r > l ) continue ; if ( o [ u ] . e . c < f ) continue ; if ( o [ u ] . e . r < l ) continue ; if ( o [ u ] . s . c != f || o [ u ] . s . r != l ) d = true ; v [ "table:number-columns-spanned" ] = o [ u ] . e . c - o [ u ] . s . c + 1 ; v [ "table:number-rows-spanned" ] = o [ u ] . e . r - o [ u ] . s . r + 1 ; break } if ( d ) { s . push ( t ) ; continue } var m = ft ( { r : l , c : f } ) , b = h ? ( a [ l ] || [ ] ) [ f ] : a [ m ] ; if ( b && b . f ) { v [ "table:formula" ] = ye ( Ru ( b . f ) ) ; if ( b . F ) { if ( b . F . slice ( 0 , m . length ) == m ) { var g = ct ( b . F ) ; v [ "table:number-matrix-columns-spanned" ] = g . e . c - g . s . c + 1 ; v [ "table:number-matrix-rows-spanned" ] = g . e . r - g . s . r + 1 } } } if ( ! b ) { s . push ( r ) ; continue } switch ( b . t ) { case "b" : p = b . v ? "TRUE" : "FALSE" ; v [ "office:value-type" ] = "boolean" ; v [ " office : boolea