2017-03-05 01:44:52 +00:00
/* xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */
! function ( e ) { if ( "object" == typeof exports && "undefined" != typeof module ) module . exports = e ( ) ; else if ( "function" == typeof define && define . amd ) { JSZip = e ( ) ; define ( [ ] , e ) } else { var f ; "undefined" != typeof window ? f = window : "undefined" != typeof global ? f = global : "undefined" != typeof self && ( f = self ) , f . JSZip = e ( ) } } ( function ( ) { var define , module , exports ; return function e ( t , n , r ) { function s ( o , u ) { if ( ! n [ o ] ) { if ( ! t [ o ] ) { var a = typeof require == "function" && require ; if ( ! u && a ) return a ( o , ! 0 ) ; if ( i ) return i ( o , ! 0 ) ; throw new Error ( "Cannot find module '" + o + "'" ) } var f = n [ o ] = { exports : { } } ; t [ o ] [ 0 ] . call ( f . exports , function ( e ) { var n = t [ o ] [ 1 ] [ e ] ; return s ( n ? n : e ) } , f , f . exports , e , t , n , r ) } return n [ o ] . exports } var i = typeof require == "function" && require ; for ( var o = 0 ; o < r . length ; o ++ ) s ( r [ o ] ) ; return s } ( { 1 : [ function ( _dereq _ , module , exports ) { "use strict" ; var _keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" ; exports . encode = function ( input , utf8 ) { var output = "" ; var chr1 , chr2 , chr3 , enc1 , enc2 , enc3 , enc4 ; var i = 0 ; while ( i < input . length ) { chr1 = input . charCodeAt ( i ++ ) ; chr2 = input . charCodeAt ( i ++ ) ; chr3 = input . charCodeAt ( i ++ ) ; enc1 = chr1 >> 2 ; enc2 = ( chr1 & 3 ) << 4 | chr2 >> 4 ; enc3 = ( chr2 & 15 ) << 2 | chr3 >> 6 ; enc4 = chr3 & 63 ; if ( isNaN ( chr2 ) ) { enc3 = enc4 = 64 } else if ( isNaN ( chr3 ) ) { enc4 = 64 } output = output + _keyStr . charAt ( enc1 ) + _keyStr . charAt ( enc2 ) + _keyStr . charAt ( enc3 ) + _keyStr . charAt ( enc4 ) } return output } ; exports . decode = function ( input , utf8 ) { var output = "" ; var chr1 , chr2 , chr3 ; var enc1 , enc2 , enc3 , enc4 ; var i = 0 ; input = input . replace ( /[^A-Za-z0-9\+\/\=]/g , "" ) ; while ( i < input . length ) { enc1 = _keyStr . indexOf ( input . charAt ( i ++ ) ) ; enc2 = _keyStr . indexOf ( input . charAt ( i ++ ) ) ; enc3 = _keyStr . indexOf ( input . charAt ( i ++ ) ) ; enc4 = _keyStr . indexOf ( input . charAt ( i ++ ) ) ; chr1 = enc1 << 2 | enc2 >> 4 ; chr2 = ( enc2 & 15 ) << 4 | enc3 >> 2 ; chr3 = ( enc3 & 3 ) << 6 | enc4 ; output = output + String . fromCharCode ( chr1 ) ; if ( enc3 != 64 ) { output = output + String . fromCharCode ( chr2 ) } if ( enc4 != 64 ) { output = output + String . fromCharCode ( chr3 ) } } return output } } , { } ] , 2 : [ function ( _dereq _ , module , exports ) { "use strict" ; function CompressedObject ( ) { this . compressedSize = 0 ; this . uncompressedSize = 0 ; this . crc32 = 0 ; this . compressionMethod = null ; this . compressedContent = null } CompressedObject . prototype = { getContent : function ( ) { return null } , getCompressedContent : function ( ) { return null } } ; module . exports = CompressedObject } , { } ] , 3 : [ function ( _dereq _ , module , exports ) { "use strict" ; exports . STORE = { magic : "\0\0" , compress : function ( content ) { return content } , uncompress : function ( content ) { return content } , compressInputType : null , uncompressInputType : null } ; exports . DEFLATE = _dereq _ ( "./flate" ) } , { "./flate" : 8 } ] , 4 : [ function ( _dereq _ , module , exports ) { "use strict" ; var utils = _dereq _ ( "./utils" ) ; var table = [ 0 , 1996959894 , 3993919788 , 2567524794 , 124634137 , 1886057615 , 3915621685 , 2657392035 , 249268274 , 2044508324 , 3772115230 , 2547177864 , 162941995 , 2125561021 , 3887607047 , 2428444049 , 498536548 , 1789927666 , 4089016648 , 2227061214 , 450548861 , 1843258603 , 4107580753 , 2211677639 , 325883990 , 1684777152 , 4251122042 , 2321926636 , 335633487 , 1661365465 , 4195302755 , 2366115317 , 997073096 , 1281953886 , 3579855332 , 2724688242 , 1006888145 , 1258607687 , 3524101629 , 2768942443 , 901097722 , 1119000684 , 3686517206 , 2898065728 , 853044451 , 1172266101 , 3705015759 , 2882616665 , 651767980 , 1373503546 , 3369554304 , 3218104598 , 565507253 , 1454621731 , 3485111705 , 3099436303 , 671266974 , 1594198024 , 3322730930 , 2970347812 , 795835527 , 1483230225 , 3244367275 , 3060149565 , 1994146192 , 31158534 , 2563907772 , 4023717930 , 1907459465 , 112637215 , 2680153253 , 3904427059 , 2013776290 , 251722036 , 2517215374 , 3775830040 , 2137656763 , 141376813 , 2439277719 , 3865271297 , 1802195444 , 476864866 , 2238001368 , 4066508878 , 1812370925 , 453092731 , 2181625025 , 4111451223 , 1706088902 , 314042704 , 2344532202 , 4240017532 , 1658658271 , 366619977 , 2362670323 , 4224994405 , 1303535960 , 984961486 , 2747007092 , 3569037538 , 1256170817 , 1037604311 , 2765210733 , 3554079995 , 1131014506 , 879679996 , 2909243462 , 3663771856 , 1141124467 , 855842277 , 2852801631 , 3708648649 , 1342533948 , 654459306 , 3188396048 , 3373015174 , 1466479909 , 544179635 , 3110523913 , 3462522015 , 1591671054 , 702138776 , 2966460450 , 3352799412 , 1504918807 , 783551873 , 3082640443 , 3233442989 , 3988292384 , 2596254646 , 62317068 , 1957810842 , 3939845945 , 2647816111 , 81470997 , 1943803523 , 3814918930 , 2489596804 , 225274430 , 2053790376 , 3826175755 , 2466906013 , 1
} return res } ; exports . findCompression = function ( compressionMethod ) { for ( var method in compressions ) { if ( ! compressions . hasOwnProperty ( method ) ) { continue } if ( compressions [ method ] . magic === compressionMethod ) { return compressions [ method ] } } return null } ; exports . isRegExp = function ( object ) { return Object . prototype . toString . call ( object ) === "[object RegExp]" } } , { "./compressions" : 3 , "./nodeBuffer" : 11 , "./support" : 17 } ] , 22 : [ function ( _dereq _ , module , exports ) { "use strict" ; var StringReader = _dereq _ ( "./stringReader" ) ; var NodeBufferReader = _dereq _ ( "./nodeBufferReader" ) ; var Uint8ArrayReader = _dereq _ ( "./uint8ArrayReader" ) ; var utils = _dereq _ ( "./utils" ) ; var sig = _dereq _ ( "./signature" ) ; var ZipEntry = _dereq _ ( "./zipEntry" ) ; var support = _dereq _ ( "./support" ) ; var jszipProto = _dereq _ ( "./object" ) ; function ZipEntries ( data , loadOptions ) { this . files = [ ] ; this . loadOptions = loadOptions ; if ( data ) { this . load ( data ) } } ZipEntries . prototype = { checkSignature : function ( expectedSignature ) { var signature = this . reader . readString ( 4 ) ; if ( signature !== expectedSignature ) { throw new Error ( "Corrupted zip or bug : unexpected signature " + "(" + utils . pretty ( signature ) + ", expected " + utils . pretty ( expectedSignature ) + ")" ) } } , readBlockEndOfCentral : function ( ) { this . diskNumber = this . reader . readInt ( 2 ) ; this . diskWithCentralDirStart = this . reader . readInt ( 2 ) ; this . centralDirRecordsOnThisDisk = this . reader . readInt ( 2 ) ; this . centralDirRecords = this . reader . readInt ( 2 ) ; this . centralDirSize = this . reader . readInt ( 4 ) ; this . centralDirOffset = this . reader . readInt ( 4 ) ; this . zipCommentLength = this . reader . readInt ( 2 ) ; this . zipComment = this . reader . readString ( this . zipCommentLength ) ; this . zipComment = jszipProto . utf8decode ( this . zipComment ) } , readBlockZip64EndOfCentral : function ( ) { this . zip64EndOfCentralSize = this . reader . readInt ( 8 ) ; this . versionMadeBy = this . reader . readString ( 2 ) ; this . versionNeeded = this . reader . readInt ( 2 ) ; this . diskNumber = this . reader . readInt ( 4 ) ; this . diskWithCentralDirStart = this . reader . readInt ( 4 ) ; this . centralDirRecordsOnThisDisk = this . reader . readInt ( 8 ) ; this . centralDirRecords = this . reader . readInt ( 8 ) ; this . centralDirSize = this . reader . readInt ( 8 ) ; this . centralDirOffset = this . reader . readInt ( 8 ) ; this . zip64ExtensibleData = { } ; var extraDataSize = this . zip64EndOfCentralSize - 44 , index = 0 , extraFieldId , extraFieldLength , extraFieldValue ; while ( index < extraDataSize ) { extraFieldId = this . reader . readInt ( 2 ) ; extraFieldLength = this . reader . readInt ( 4 ) ; extraFieldValue = this . reader . readString ( extraFieldLength ) ; this . zip64ExtensibleData [ extraFieldId ] = { id : extraFieldId , length : extraFieldLength , value : extraFieldValue } } } , readBlockZip64EndOfCentralLocator : function ( ) { this . diskWithZip64CentralDirStart = this . reader . readInt ( 4 ) ; this . relativeOffsetEndOfZip64CentralDir = this . reader . readInt ( 8 ) ; this . disksCount = this . reader . readInt ( 4 ) ; if ( this . disksCount > 1 ) { throw new Error ( "Multi-volumes zip are not supported" ) } } , readLocalFiles : function ( ) { var i , file ; for ( i = 0 ; i < this . files . length ; i ++ ) { file = this . files [ i ] ; this . reader . setIndex ( file . localHeaderOffset ) ; this . checkSignature ( sig . LOCAL _FILE _HEADER ) ; file . readLocalPart ( this . reader ) ; file . handleUTF8 ( ) } } , readCentralDir : function ( ) { var file ; this . reader . setIndex ( this . centralDirOffset ) ; while ( this . reader . readString ( 4 ) === sig . CENTRAL _FILE _HEADER ) { file = new ZipEntry ( { zip64 : this . zip64 } , this . loadOptions ) ; file . readCentralPart ( this . reader ) ; this . files . push ( file ) } } , readEndOfCentral : function ( ) { var offset = this . reader . lastIndexOfSignature ( sig . CENTRAL _DIRECTORY _END ) ; if ( offset === - 1 ) { throw new Error ( "Corrupted zip : can't find end of central directory" ) } this . reader . setIndex ( offset ) ; this . checkSignature ( sig . CENTRAL _DIRECTORY _END ) ; this . readBlockEndOfCentral ( ) ; if ( this . diskNumber === utils . MAX _VALUE _16BITS || this . diskWithCentralDirStart === utils . MAX _VALUE _16BITS || this . centralDirRecordsOnThisDisk === utils . MAX _VALUE _16BITS || this . centralDirRecords === utils . MAX _VALUE _16BITS || this . centralDirSize === utils . MAX _VALUE _32BITS || this . centralDirOffset === utils . MAX _VALUE _32BITS ) { this . zip64 = true ; offset = this . reader . lastIndexOfSignature ( sig . ZIP64 _CENTRAL _DIRECTORY _LOCATOR ) ; if ( offset === - 1 ) { throw new Error ( "Corrupted zip : can't find the ZIP64 end of central directory locator" ) } this . reader . setIndex ( offset ) ; this . checkSignature ( sig . ZIP64 _CENTRAL _D
var bflush ; for ( ; ; ) { if ( s . lookahead === 0 ) { fill _window ( s ) ; if ( s . lookahead === 0 ) { if ( flush === Z _NO _FLUSH ) { return BS _NEED _MORE } break } } s . match _length = 0 ; bflush = trees . _tr _tally ( s , 0 , s . window [ s . strstart ] ) ; s . lookahead -- ; s . strstart ++ ; if ( bflush ) { flush _block _only ( s , false ) ; if ( s . strm . avail _out === 0 ) { return BS _NEED _MORE } } } s . insert = 0 ; if ( flush === Z _FINISH ) { flush _block _only ( s , true ) ; if ( s . strm . avail _out === 0 ) { return BS _FINISH _STARTED } return BS _FINISH _DONE } if ( s . last _lit ) { flush _block _only ( s , false ) ; if ( s . strm . avail _out === 0 ) { return BS _NEED _MORE } } return BS _BLOCK _DONE } var Config = function ( good _length , max _lazy , nice _length , max _chain , func ) { this . good _length = good _length ; this . max _lazy = max _lazy ; this . nice _length = nice _length ; this . max _chain = max _chain ; this . func = func } ; var configuration _table ; configuration _table = [ new Config ( 0 , 0 , 0 , 0 , deflate _stored ) , new Config ( 4 , 4 , 8 , 4 , deflate _fast ) , new Config ( 4 , 5 , 16 , 8 , deflate _fast ) , new Config ( 4 , 6 , 32 , 32 , deflate _fast ) , new Config ( 4 , 4 , 16 , 16 , deflate _slow ) , new Config ( 8 , 16 , 32 , 32 , deflate _slow ) , new Config ( 8 , 16 , 128 , 128 , deflate _slow ) , new Config ( 8 , 32 , 128 , 256 , deflate _slow ) , new Config ( 32 , 128 , 258 , 1024 , deflate _slow ) , new Config ( 32 , 258 , 258 , 4096 , deflate _slow ) ] ; function lm _init ( s ) { s . window _size = 2 * s . w _size ; zero ( s . head ) ; s . max _lazy _match = configuration _table [ s . level ] . max _lazy ; s . good _match = configuration _table [ s . level ] . good _length ; s . nice _match = configuration _table [ s . level ] . nice _length ; s . max _chain _length = configuration _table [ s . level ] . max _chain ; s . strstart = 0 ; s . block _start = 0 ; s . lookahead = 0 ; s . insert = 0 ; s . match _length = s . prev _length = MIN _MATCH - 1 ; s . match _available = 0 ; s . ins _h = 0 } function DeflateState ( ) { this . strm = null ; this . status = 0 ; this . pending _buf = null ; this . pending _buf _size = 0 ; this . pending _out = 0 ; this . pending = 0 ; this . wrap = 0 ; this . gzhead = null ; this . gzindex = 0 ; this . method = Z _DEFLATED ; this . last _flush = - 1 ; this . w _size = 0 ; this . w _bits = 0 ; this . w _mask = 0 ; this . window = null ; this . window _size = 0 ; this . prev = null ; this . head = null ; this . ins _h = 0 ; this . hash _size = 0 ; this . hash _bits = 0 ; this . hash _mask = 0 ; this . hash _shift = 0 ; this . block _start = 0 ; this . match _length = 0 ; this . prev _match = 0 ; this . match _available = 0 ; this . strstart = 0 ; this . match _start = 0 ; this . lookahead = 0 ; this . prev _length = 0 ; this . max _chain _length = 0 ; this . max _lazy _match = 0 ; this . level = 0 ; this . strategy = 0 ; this . good _match = 0 ; this . nice _match = 0 ; this . dyn _ltree = new utils . Buf16 ( HEAP _SIZE * 2 ) ; this . dyn _dtree = new utils . Buf16 ( ( 2 * D _CODES + 1 ) * 2 ) ; this . bl _tree = new utils . Buf16 ( ( 2 * BL _CODES + 1 ) * 2 ) ; zero ( this . dyn _ltree ) ; zero ( this . dyn _dtree ) ; zero ( this . bl _tree ) ; this . l _desc = null ; this . d _desc = null ; this . bl _desc = null ; this . bl _count = new utils . Buf16 ( MAX _BITS + 1 ) ; this . heap = new utils . Buf16 ( 2 * L _CODES + 1 ) ; zero ( this . heap ) ; this . heap _len = 0 ; this . heap _max = 0 ; this . depth = new utils . Buf16 ( 2 * L _CODES + 1 ) ; zero ( this . depth ) ; this . l _buf = 0 ; this . lit _bufsize = 0 ; this . last _lit = 0 ; this . d _buf = 0 ; this . opt _len = 0 ; this . static _len = 0 ; this . matches = 0 ; this . insert = 0 ; this . bi _buf = 0 ; this . bi _valid = 0 } function deflateResetKeep ( strm ) { var s ; if ( ! strm || ! strm . state ) { return err ( strm , Z _STREAM _ERROR ) } strm . total _in = strm . total _out = 0 ; strm . data _type = Z _UNKNOWN ; s = strm . state ; s . pending = 0 ; s . pending _out = 0 ; if ( s . wrap < 0 ) { s . wrap = - s . wrap } s . status = s . wrap ? INIT _STATE : BUSY _STATE ; strm . adler = s . wrap === 2 ? 0 : 1 ; s . last _flush = Z _NO _FLUSH ; trees . _tr _init ( s ) ; return Z _OK } function deflateReset ( strm ) { var ret = deflateResetKeep ( strm ) ; if ( ret === Z _OK ) { lm _init ( strm . state ) } return ret } function deflateSetHeader ( strm , head ) { if ( ! strm || ! strm . state ) { return Z _STREAM _ERROR } if ( strm . state . wrap !== 2 ) { return Z _STREAM _ERROR } strm . state . gzhead = head ; return Z _OK } function deflateInit2 ( strm , level , method , windowBits , memLevel , strategy ) { if ( ! strm ) { return Z _STREAM _ERROR } var wrap = 1 ; if ( level === Z _DEFAULT _COMPRESSION ) { level = 6 } if ( windowBits < 0 ) { wrap = 0 ; windowBits = - windowBits } else if ( windowBits > 15 ) { wrap = 2 ; windowBits -= 16 } if ( memLevel < 1 || memLevel > MAX _MEM _LEVEL || method !== Z _DEFLATED || windowBits < 8 || windowBits > 15 || level < 0 || level > 9 || strategy < 0 || strategy > Z _FIXED ) { return err ( strm , Z _STREAM _ERROR ) } if ( windowBits === 8 ) { windowBits = 9 } var s = new DeflateState ; strm . state = s ; s . strm = strm ; s . wrap = wrap ; s . gzhead = null ; s . w _bits = windowBits ; s . w _size = 1 << s . w _bits ; s . w _mask = s . w _size - 1 ; s . hash _bits = memLevel + 7 ; s . hash _size = 1 << s . hash _bits ; s . hash _mask = s . hash _size - 1 ; s . hash _shift = ~ ~ ( ( s . hash _b
exports . inflateInfo = "pako inflate (from Nodeca project)" } , { "../utils/common" : 27 , "./adler32" : 29 , "./crc32" : 31 , "./inffast" : 34 , "./inftrees" : 36 } ] , 36 : [ function ( _dereq _ , module , exports ) { "use strict" ; var utils = _dereq _ ( "../utils/common" ) ; var MAXBITS = 15 ; var ENOUGH _LENS = 852 ; var ENOUGH _DISTS = 592 ; var CODES = 0 ; var LENS = 1 ; var DISTS = 2 ; var lbase = [ 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 13 , 15 , 17 , 19 , 23 , 27 , 31 , 35 , 43 , 51 , 59 , 67 , 83 , 99 , 115 , 131 , 163 , 195 , 227 , 258 , 0 , 0 ] ; var lext = [ 16 , 16 , 16 , 16 , 16 , 16 , 16 , 16 , 17 , 17 , 17 , 17 , 18 , 18 , 18 , 18 , 19 , 19 , 19 , 19 , 20 , 20 , 20 , 20 , 21 , 21 , 21 , 21 , 16 , 72 , 78 ] ; var dbase = [ 1 , 2 , 3 , 4 , 5 , 7 , 9 , 13 , 17 , 25 , 33 , 49 , 65 , 97 , 129 , 193 , 257 , 385 , 513 , 769 , 1025 , 1537 , 2049 , 3073 , 4097 , 6145 , 8193 , 12289 , 16385 , 24577 , 0 , 0 ] ; var dext = [ 16 , 16 , 16 , 16 , 17 , 17 , 18 , 18 , 19 , 19 , 20 , 20 , 21 , 21 , 22 , 22 , 23 , 23 , 24 , 24 , 25 , 25 , 26 , 26 , 27 , 27 , 28 , 28 , 29 , 29 , 64 , 64 ] ; module . exports = function inflate _table ( type , lens , lens _index , codes , table , table _index , work , opts ) { var bits = opts . bits ; var len = 0 ; var sym = 0 ; var min = 0 , max = 0 ; var root = 0 ; var curr = 0 ; var drop = 0 ; var left = 0 ; var used = 0 ; var huff = 0 ; var incr ; var fill ; var low ; var mask ; var next ; var base = null ; var base _index = 0 ; var end ; var count = new utils . Buf16 ( MAXBITS + 1 ) ; var offs = new utils . Buf16 ( MAXBITS + 1 ) ; var extra = null ; var extra _index = 0 ; var here _bits , here _op , here _val ; for ( len = 0 ; len <= MAXBITS ; len ++ ) { count [ len ] = 0 } for ( sym = 0 ; sym < codes ; sym ++ ) { count [ lens [ lens _index + sym ] ] ++ } root = bits ; for ( max = MAXBITS ; max >= 1 ; max -- ) { if ( count [ max ] !== 0 ) { break } } if ( root > max ) { root = max } if ( max === 0 ) { table [ table _index ++ ] = 1 << 24 | 64 << 16 | 0 ; table [ table _index ++ ] = 1 << 24 | 64 << 16 | 0 ; opts . bits = 1 ; return 0 } for ( min = 1 ; min < max ; min ++ ) { if ( count [ min ] !== 0 ) { break } } if ( root < min ) { root = min } left = 1 ; for ( len = 1 ; len <= MAXBITS ; len ++ ) { left <<= 1 ; left -= count [ len ] ; if ( left < 0 ) { return - 1 } } if ( left > 0 && ( type === CODES || max !== 1 ) ) { return - 1 } offs [ 1 ] = 0 ; for ( len = 1 ; len < MAXBITS ; len ++ ) { offs [ len + 1 ] = offs [ len ] + count [ len ] } for ( sym = 0 ; sym < codes ; sym ++ ) { if ( lens [ lens _index + sym ] !== 0 ) { work [ offs [ lens [ lens _index + sym ] ] ++ ] = sym } } if ( type === CODES ) { base = extra = work ; end = 19 } else if ( type === LENS ) { base = lbase ; base _index -= 257 ; extra = lext ; extra _index -= 257 ; end = 256 } else { base = dbase ; extra = dext ; end = - 1 } huff = 0 ; sym = 0 ; len = min ; next = table _index ; curr = root ; drop = 0 ; low = - 1 ; used = 1 << root ; mask = used - 1 ; if ( type === LENS && used > ENOUGH _LENS || type === DISTS && used > ENOUGH _DISTS ) { return 1 } var i = 0 ; for ( ; ; ) { i ++ ; here _bits = len - drop ; if ( work [ sym ] < end ) { here _op = 0 ; here _val = work [ sym ] } else if ( work [ sym ] > end ) { here _op = extra [ extra _index + work [ sym ] ] ; here _val = base [ base _index + work [ sym ] ] } else { here _op = 32 + 64 ; here _val = 0 } incr = 1 << len - drop ; fill = 1 << curr ; min = fill ; do { fill -= incr ; table [ next + ( huff >> drop ) + fill ] = here _bits << 24 | here _op << 16 | here _val | 0 } while ( fill !== 0 ) ; incr = 1 << len - 1 ; while ( huff & incr ) { incr >>= 1 } if ( incr !== 0 ) { huff &= incr - 1 ; huff += incr } else { huff = 0 } sym ++ ; if ( -- count [ len ] === 0 ) { if ( len === max ) { break } len = lens [ lens _index + work [ sym ] ] } if ( len > root && ( huff & mask ) !== low ) { if ( drop === 0 ) { drop = root } next += min ; curr = len - drop ; left = 1 << curr ; while ( curr + drop < max ) { left -= count [ curr + drop ] ; if ( left <= 0 ) { break } curr ++ ; left <<= 1 } used += 1 << curr ; if ( type === LENS && used > ENOUGH _LENS || type === DISTS && used > ENOUGH _DISTS ) { return 1 } low = huff & mask ; table [ low ] = root << 24 | curr << 16 | next - table _index | 0 } } if ( huff !== 0 ) { table [ next + huff ] = len - drop << 24 | 64 << 16 | 0 } opts . bits = root ; return 0 } } , { "../utils/common" : 27 } ] , 37 : [ function ( _dereq _ , module , exports ) { "use strict" ; module . exports = { 2 : "need dictionary" , 1 : "stream end" , 0 : "" , "-1" : "file error" , "-2" : "stream error" , "-3" : "data error" , "-4" : "insufficient memory" , "-5" : "buffer error" , "-6" : "incompatible version" } } , { } ] , 38 : [ function ( _dereq _ , module , exports ) { "use strict" ; var utils = _dereq _ ( "../utils/common" ) ; var Z _FIXED = 4 ; var Z _BINARY = 0 ; var Z _TEXT = 1 ; var Z _UNKNOWN = 2 ; function zero ( buf ) { var len = buf . length ; while ( -- len >= 0 ) { buf [ len ] = 0 } } var STORED _BLOCK = 0 ; var STATIC _TREES = 1 ; var DYN _TREES = 2 ; var MIN _MATCH = 3 ; var MAX _MATCH = 258 ; var LENGTH _CODES = 29 ; var LITERALS = 256 ; var L _CODES = LITERALS + 1 + LENGTH _CODES ; var D _CODES = 30 ; var BL _CODES = 19 ; var HEAP _SIZE = 2 * L _CODES + 1 ; var MAX _BITS = 15 ; var Buf _size = 16 ; var MAX _BL _BITS = 7 ; var END _BLOCK = 256 ; var REP _3 _6 = 16 ; var REPZ _3 _10 = 17 ; var REPZ _11 _138 = 18 ; var extra _lbits = [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 1 , 1 , 1 , 2 , 2 , 2 , 2 , 3 , 3 , 3 , 3 , 4 , 4 , 4 , 4 , 5 , 5 , 5 , 5 , 0 ] ; var extra _dbits = [ 0 , 0 , 0 , 0 , 1 , 1 , 2 , 2 , 3 , 3 , 4 , 4 , 5 , 5 , 6 , 6 , 7 , 7 , 8 , 8 , 9 , 9 , 10 , 10 , 11 , 11 , 12 , 12 , 13 , 13 ] ; var extra _blbits = [ 0 , 0 , 0
for ( j = 0 ; j != D [ 238 ] . length ; ++ j ) if ( D [ 238 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 238 ] [ j ] ] = 60928 + j ; d [ 60928 + j ] = D [ 238 ] [ j ] } D [ 250 ] = "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ⅰ ⅱⅲⅳⅴ ⅵⅶⅷⅸⅹ Ⅰ ⅡⅢⅣⅤ ⅥⅦⅧⅨⅩ ¬¦' " ㈱№℡∵纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊<E58398> 兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯<E6B687> <E6B5AF> <EFBFBD> " . split ( "" ) ; for ( j = 0 ; j != D [ 250 ] . length ; ++ j ) if ( D [ 250 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 250 ] [ j ] ] = 64e3 + j ; d [ 64e3 + j ] = D [ 250 ] [ j ] } D [ 251 ] = "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神<EFA898> 祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙<E9A98E> <E9AB99> <EFBFBD> " . split ( "" ) ; for ( j = 0 ; j != D [ 251 ] . length ; ++ j ) if ( D [ 251 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 251 ] [ j ] ] = 64256 + j ; d [ 64256 + j ] = D [ 251 ] [ j ] } D [ 252 ] = "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑<E9B899> <E9BB91> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " . split ( "" ) ; for ( j = 0 ; j != D [ 252 ] . length ; ++ j ) if ( D [ 252 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 252 ] [ j ] ] = 64512 + j ; d [ 64512 + j ] = D [ 252 ] [ j ] } return { enc : e , dec : d } } ( ) ; cptable [ 936 ] = function ( ) { var d = [ ] , e = { } , D = [ ] , j ; D [ 0 ] = "\0 \b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ €<7F> <E282AC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " . split ( "" ) ; for ( j = 0 ; j != D [ 0 ] . length ; ++ j ) if ( D [ 0 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 0 ] [ j ] ] = 0 + j ; d [ 0 + j ] = D [ 0 ] [ j ] } D [ 129 ] = " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱丳丵丷丼乀乁乂乄乆乊乑乕乗乚乛乢乣乤乥乧乨乪乫乬乭乮乯乲乴乵乶乷乸乹乺乻乼乽乿亀亁亂亃亄亅亇亊 <EFBFBD> 亐亖亗亙亜亝亞亣亪亯亰亱亴亶亷亸亹亼亽亾仈仌仏仐仒仚仛仜仠仢仦仧仩仭仮仯仱仴仸仹仺仼仾伀伂伃伄伅伆伇伈伋伌伒伓伔伕伖伜伝伡伣伨伩伬伭伮伱伳伵伷
for ( j = 0 ; j != D [ 208 ] . length ; ++ j ) if ( D [ 208 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 208 ] [ j ] ] = 53248 + j ; d [ 53248 + j ] = D [ 208 ] [ j ] } D [ 209 ] = "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 袬袮袯袰袲袳袴袵袶袸袹袺袻袽袾袿裀裃裄裇裈裊裋裌裍裏裐裑裓裖裗裚裛補裝裞裠裡裦裧裩裪裫裬裭裮裯裲裵裶裷裺裻製裿褀褁褃褄褅褆複褈<E8A487> 褉褋褌褍褎褏褑褔褕褖褗褘褜褝褞褟褠褢褣褤褦褧褨褩褬褭褮褯褱褲褳褵褷选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶<E5A696> " . split ( "" ) ; for ( j = 0 ; j != D [ 209 ] . length ; ++ j ) if ( D [ 209 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 209 ] [ j ] ] = 53504 + j ; d [ 53504 + j ] = D [ 209 ] [ j ] } D [ 210 ] = "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 褸褹褺褻褼褽褾褿襀襂襃襅襆襇襈襉襊襋襌襍襎襏襐襑襒襓襔襕襖襗襘襙襚襛襜襝襠襡襢襣襤襥襧襨襩襪襫襬襭襮襯襰襱襲襳襴襵襶襷襸襹襺襼<E8A5BA> 襽襾覀覂覄覅覇覈覉覊見覌覍覎規覐覑覒覓覔覕視覗覘覙覚覛覜覝覞覟覠覡摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐<E5BC95> " . split ( "" ) ; for ( j = 0 ; j != D [ 210 ] . length ; ++ j ) if ( D [ 210 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 210 ] [ j ] ] = 53760 + j ; d [ 53760 + j ] = D [ 210 ] [ j ] } D [ 211 ] = "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 覢覣覤覥覦覧覨覩親覫覬覭覮覯覰覱覲観覴覵覶覷覸覹覺覻覼覽覾覿觀觃觍觓觔觕觗觘觙觛觝觟觠觡觢觤觧觨觩觪觬觭觮觰觱觲觴觵觶觷觸觹觺<E8A7B9> 觻觼觽觾觿訁訂訃訄訅訆計訉訊訋訌訍討訏訐訑訒訓訔訕訖託記訙訚訛訜訝印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉<E882B2> " . split ( "" ) ; for ( j = 0 ; j != D [ 211 ] . length ; ++ j ) if ( D [ 211 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 211 ] [ j ] ] = 54016 + j ; d [ 54016 + j ] = D [ 211 ] [ j ] } D [ 212 ] = "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 訞訟訠訡訢訣訤訥訦訧訨訩訪訫訬設訮訯訰許訲訳訴訵訶訷訸訹診註証訽訿詀詁詂詃詄詅詆詇詉詊詋詌詍詎詏詐詑詒詓詔評詖詗詘詙詚詛詜詝詞<E8A99D> 詟詠詡詢詣詤詥試詧詨詩詪詫詬詭詮詯詰話該詳詴詵詶詷詸詺詻詼詽詾詿誀浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧<E69CAD> " . split ( "" ) ; for ( j = 0 ; j != D [ 212 ] . length ; ++ j ) if ( D [ 212 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 212 ] [ j ] ] = 54272 + j ; d [ 54272 + j ] = D [ 212 ] [ j ] } D [ 213 ] = " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 誁誂誃誄誅誆誇誈誋誌認誎誏誐誑誒誔誕誖誗誘誙誚誛誜誝語誟誠誡誢誣誤誥誦誧誨誩說誫説読誮誯誰誱課誳誴誵誶誷誸誹誺誻誼誽誾調諀諁諂 <EFBFBD> 諃諄諅諆談 <EFBFBD>
for ( j = 0 ; j != D [ 165 ] . length ; ++ j ) if ( D [ 165 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 165 ] [ j ] ] = 42240 + j ; d [ 42240 + j ] = D [ 165 ] [ j ] } D [ 166 ] = "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 쪨쪩쪪쪫쪬쪭쪮쪯쪰쪱쪲쪳쪴쪵쪶쪷쪸쪹쪺쪻쪾쪿쫁쫂쫃쫅<ECAB83> <ECAB85> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 쫆쫇쫈쫉쫊쫋쫎쫐쫒쫔쫕쫖쫗쫚쫛쫜쫝쫞쫟쫡쫢쫣쫤쫥쫦쫧<ECABA6> <ECABA7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 쫨쫩쫪쫫쫭쫮쫯쫰쫱쫲쫳쫵쫶쫷쫸쫹쫺쫻쫼쫽쫾쫿쬀쬁쬂쬃쬄쬅쬆쬇쬉쬊─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂┒┑┚┙┖┕┎┍┞┟┡┢┦┧┩┪┭┮┱┲┵┶┹┺┽┾╀╁╃╄╅╆╇╈╉╊<E29589> <E2958A> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " . split ( "" ) ; for ( j = 0 ; j != D [ 166 ] . length ; ++ j ) if ( D [ 166 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 166 ] [ j ] ] = 42496 + j ; d [ 42496 + j ] = D [ 166 ] [ j ] } D [ 167 ] = "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 쬋쬌쬍쬎쬏쬑쬒쬓쬕쬖쬗쬙쬚쬛쬜쬝쬞쬟쬢쬣쬤쬥쬦쬧쬨쬩<ECACA8> <ECACA9> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 쬪쬫쬬쬭쬮쬯쬰쬱쬲쬳쬴쬵쬶쬷쬸쬹쬺쬻쬼쬽쬾쬿쭀쭂쭃쭄<ECAD83> <ECAD84> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 쭅쭆쭇쭊쭋쭍쭎쭏쭑쭒쭓쭔쭕쭖쭗쭚쭛쭜쭞쭟쭠쭡쭢쭣쭥쭦쭧쭨쭩쭪쭫쭬㎕㎖㎗ℓ ㎘㏄㎣㎤㎥㎦㎙㎚㎛㎜㎝㎞㎟㎠㎡㎢㏊㎍㎎㎏㏏㎈㎉㏈㎧㎨㎰㎱㎲㎳㎴㎵㎶㎷㎸㎹㎀㎁㎂㎃㎄㎺㎻㎼㎽㎾㎿㎐㎑㎒㎓㎔Ω㏀㏁㎊㎋㎌㏖㏅㎭㎮㎯㏛㎩㎪㎫㎬㏝㏐㏓㏃㏉㏜㏆<E38F9C> <E38F86> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " . split ( "" ) ; for ( j = 0 ; j != D [ 167 ] . length ; ++ j ) if ( D [ 167 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 167 ] [ j ] ] = 42752 + j ; d [ 42752 + j ] = D [ 167 ] [ j ] } D [ 168 ] = "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 쭭쭮쭯쭰쭱쭲쭳쭴쭵쭶쭷쭺쭻쭼쭽쭾쭿쮀쮁쮂쮃쮄쮅쮆쮇쮈<ECAE87> <ECAE88> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 쮉쮊쮋쮌쮍쮎쮏쮐쮑쮒쮓쮔쮕쮖쮗쮘쮙쮚쮛쮝쮞쮟쮠쮡쮢쮣<ECAEA2> <ECAEA3> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 쮤쮥쮦쮧쮨쮩쮪쮫쮬쮭쮮쮯쮰쮱쮲쮳쮴쮵쮶쮷쮹쮺쮻쮼쮽쮾쮿쯀쯁쯂쯃쯄ÆЪĦ<C2AA> IJ<EFBFBD> ĿŁØŒºÞŦŊ<C5A6> ㉠㉡㉢㉣㉤㉥㉦㉧㉨㉩㉪㉫㉬㉭㉮㉯㉰㉱㉲㉳㉴㉵㉶㉷㉸㉹㉺㉻ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮½⅓⅔¼¾⅛⅜⅝⅞<E2859D> " . split ( "" ) ; for ( j = 0 ; j != D [ 168 ] . length ; ++ j ) if ( D [ 168 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 168 ] [ j ] ] = 43008 + j ; d [ 43008 + j ] = D [ 168 ] [ j ] } D [ 169 ] = "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 쯅쯆쯇쯈쯉쯊쯋쯌쯍쯎쯏쯐쯑쯒쯓쯕쯖쯗쯘쯙쯚쯛쯜쯝쯞쯟<ECAF9E> <ECAF9F> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 쯠쯡쯢쯣쯥쯦쯨쯪쯫쯬쯭쯮쯯쯰쯱쯲쯳쯴쯵쯶쯷쯸쯹쯺쯻쯼<ECAFBB> <ECAFBC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 쯽쯾쯿찀찁찂찃찄찅찆찇찈찉찊찋찎찏찑찒찓찕찖찗찘찙찚찛찞찟찠찣찤æđðħı ijĸŀłøœßþŧŋʼn㈀㈁㈂㈃㈄㈅㈆㈇㈈㈉㈊㈋㈌㈍㈎㈏㈐㈑㈒㈓㈔㈕㈖㈗㈘㈙㈚㈛⒜⒝⒞⒟⒠⒡⒢⒣⒤⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂¹²³⁴ⁿ₁₂₃₄<E28283> " . split ( "" ) ; for ( j = 0 ; j != D [ 169 ] . length ; ++ j ) if ( D [ 169 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 169 ] [ j ] ] = 43264 + j ; d [ 43264 + j ] = D [ 169 ] [ j ] } D [ 170 ] = " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 찥찦찪찫찭찯찱찲찳찴찵찶찷찺찿챀챁챂챃챆챇챉챊챋챍챎 <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 챏챐챑챒챓챖챚챛챜챝챞챟챡챢챣챥챧챩챪챫챬챭챮챯챱챲 <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 챳챴챶챷챸챹챺챻챼챽챾챿첀첁첂첃
for ( j = 0 ; j != D [ 250 ] . length ; ++ j ) if ( D [ 250 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 250 ] [ j ] ] = 64e3 + j ; d [ 64e3 + j ] = D [ 250 ] [ j ] } D [ 251 ] = "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 形泂滎瀅灐炯熒珩瑩荊螢衡逈邢鎣馨兮彗惠慧暳蕙蹊醯鞋乎互呼壕壺好岵弧戶扈昊晧毫浩淏湖滸澔濠濩灝狐琥瑚瓠皓祜糊縞胡芦葫蒿虎號蝴護豪鎬頀顥惑或酷婚昏混渾琿魂忽惚笏哄弘汞泓洪烘紅虹訌鴻化和嬅樺火畵<E781AB> " . split ( "" ) ; for ( j = 0 ; j != D [ 251 ] . length ; ++ j ) if ( D [ 251 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 251 ] [ j ] ] = 64256 + j ; d [ 64256 + j ] = D [ 251 ] [ j ] } D [ 252 ] = "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 禍禾花華話譁貨靴廓擴攫確碻穫丸喚奐宦幻患換歡晥桓渙煥環紈還驩鰥活滑猾豁闊凰幌徨恍惶愰慌晃晄榥況湟滉潢煌璜皇篁簧荒蝗遑隍黃匯回廻徊恢悔懷晦會檜淮澮灰獪繪膾茴蛔誨賄劃獲宖橫鐄哮嚆孝效斅曉梟涍淆<E6B68D> " . split ( "" ) ; for ( j = 0 ; j != D [ 252 ] . length ; ++ j ) if ( D [ 252 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 252 ] [ j ] ] = 64512 + j ; d [ 64512 + j ] = D [ 252 ] [ j ] } D [ 253 ] = "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 爻肴酵驍侯候厚后吼喉嗅帿後朽煦珝逅勛勳塤壎焄熏燻薰訓暈薨喧暄煊萱卉喙毁彙徽揮暉煇諱輝麾休携烋畦虧恤譎鷸兇凶匈洶胸黑昕欣炘痕吃屹紇訖欠欽歆吸恰洽翕興僖凞喜噫囍姬嬉希憙憘戱晞曦熙熹熺犧禧稀羲詰<E7BEB2> " . split ( "" ) ; for ( j = 0 ; j != D [ 253 ] . length ; ++ j ) if ( D [ 253 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 253 ] [ j ] ] = 64768 + j ; d [ 64768 + j ] = D [ 253 ] [ j ] } return { enc : e , dec : d } } ( ) ; cptable [ 950 ] = function ( ) { var d = [ ] , e = { } , D = [ ] , j ; D [ 0 ] = "\0 \b\t\n\x0B\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ <> <7F> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " . split ( "" ) ; for ( j = 0 ; j != D [ 0 ] . length ; ++ j ) if ( D [ 0 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 0 ] [ j ] ] = 0 + j ; d [ 0 + j ] = D [ 0 ] [ j ] } D [ 161 ] = " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> , 、 。 . ‧ ; : ? ! ︰ … ‥ ﹐ ﹑ ﹒ · ﹔ ﹕ ﹖ ﹗ | – ︱ — ︳ ╴ ︴ ﹏ ( ) ︵ ︶ { } ︷ ︸ 〔 〕 ︹ ︺ 【 】 ︻ ︼ 《 》 ︽ ︾ 〈 〉 ︿ ﹀ 「 」 ﹁ ﹂ 『 』 ﹃ ﹄ ﹙ ﹚ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ﹛ ﹜ ﹝ ﹞ ‘ ’ “ ” 〝 〞 ‵ ′ # & * ※ § 〃 ○ ● △ ▲ ◎ ☆ ★ ◇ ◆ □ ■ ▽ ▼ ㊣ ℅ ¯  ̄ _ ˍ ﹉ ﹊ <EFBFBD>
2017-03-10 00:36:03 +00:00
for ( j = 0 ; j != D [ 242 ] . length ; ++ j ) if ( D [ 242 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 242 ] [ j ] ] = 61952 + j ; d [ 61952 + j ] = D [ 242 ] [ j ] } D [ 243 ] = "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 譑譂譒譗豃豷豶貚贆贇贉趬趪趭趫蹭蹸蹳蹪蹯蹻軂轒轑轏轐轓辴酀鄿醰醭鏞鏇鏏鏂鏚鏐鏹鏬鏌鏙鎩鏦鏊鏔鏮鏣鏕鏄鏎鏀鏒鏧镽闚闛雡霩霫霬霨霦<E99CA8> <E99CA6> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 鞳鞷鞶韝韞韟顜顙顝顗颿颽颻颾饈饇饃馦馧騚騕騥騝騤騛騢騠騧騣騞騜騔髂鬋鬊鬎鬌鬷鯪鯫鯠鯞鯤鯦鯢鯰鯔鯗鯬鯜鯙鯥鯕鯡鯚鵷鶁鶊鶄鶈鵱鶀鵸鶆鶋鶌鵽鵫鵴鵵鵰鵩鶅鵳鵻鶂鵯鵹鵿鶇鵨麔麑黀黼鼭齀齁齍齖齗齘匷嚲<E58CB7> " . split ( "" ) ; for ( j = 0 ; j != D [ 243 ] . length ; ++ j ) if ( D [ 243 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 243 ] [ j ] ] = 62208 + j ; d [ 62208 + j ] = D [ 243 ] [ j ] } D [ 244 ] = "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 嚵嚳壣孅巆巇廮廯忀忁懹攗攖攕攓旟曨曣曤櫳櫰櫪櫨櫹櫱櫮櫯瀼瀵瀯瀷瀴瀱灂瀸瀿瀺瀹灀瀻瀳灁爓爔犨獽獼璺皫皪皾盭矌矎矏矍矲礥礣礧礨礤礩<E7A4A4> <E7A4A9> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 禲穮穬穭竷籉籈籊籇籅糮繻繾纁纀羺翿聹臛臙舋艨艩蘢藿蘁藾蘛蘀藶蘄蘉蘅蘌藽蠙蠐蠑蠗蠓蠖襣襦覹觷譠譪譝譨譣譥譧譭趮躆躈躄轙轖轗轕轘轚邍酃酁醷醵醲醳鐋鐓鏻鐠鐏鐔鏾鐕鐐鐨鐙鐍鏵鐀鏷鐇鐎鐖鐒鏺鐉鏸鐊鏿<E9908A> " . split ( "" ) ; for ( j = 0 ; j != D [ 244 ] . length ; ++ j ) if ( D [ 244 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 244 ] [ j ] ] = 62464 + j ; d [ 62464 + j ] = D [ 244 ] [ j ] } D [ 245 ] = "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 鏼鐌鏶鐑鐆闞闠闟霮霯鞹鞻韽韾顠顢顣顟飁飂饐饎饙饌饋饓騲騴騱騬騪騶騩騮騸騭髇髊髆鬐鬒鬑鰋鰈鯷鰅鰒鯸鱀鰇鰎鰆鰗鰔鰉鶟鶙鶤鶝鶒鶘鶐鶛<E9B690> <E9B69B> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 鶠鶔鶜鶪鶗鶡鶚鶢鶨鶞鶣鶿鶩鶖鶦鶧麙麛麚黥黤黧黦鼰鼮齛齠齞齝齙龑儺儹劘劗囃嚽嚾孈孇巋巏廱懽攛欂櫼欃櫸欀灃灄灊灈灉灅灆爝爚爙獾甗癪矐礭礱礯籔籓糲纊纇纈纋纆纍罍羻耰臝蘘蘪蘦蘟蘣蘜蘙蘧蘮蘡蘠蘩蘞蘥<E8989E> " . split ( "" ) ; for ( j = 0 ; j != D [ 245 ] . length ; ++ j ) if ( D [ 245 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 245 ] [ j ] ] = 62720 + j ; d [ 62720 + j ] = D [ 245 ] [ j ] } D [ 246 ] = "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 蠩蠝蠛蠠蠤蠜蠫衊襭襩襮襫觺譹譸譅譺譻贐贔趯躎躌轞轛轝酆酄酅醹鐿鐻鐶鐩鐽鐼鐰鐹鐪鐷鐬鑀鐱闥闤闣霵霺鞿韡顤飉飆飀饘饖騹騽驆驄驂驁騺<E9A981> <E9A8BA> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 騿髍鬕鬗鬘鬖鬺魒鰫鰝鰜鰬鰣鰨鰩鰤鰡鶷鶶鶼鷁鷇鷊鷏鶾鷅鷃鶻鶵鷎鶹鶺鶬鷈鶱鶭鷌鶳鷍鶲鹺麜黫黮黭鼛鼘鼚鼱齎齥齤龒亹囆囅囋奱孋孌巕巑廲攡攠攦攢欋欈欉氍灕灖灗灒爞爟犩獿瓘瓕瓙瓗癭皭礵禴穰穱籗籜籙籛籚<E7B19B> " . split ( "" ) ; for ( j = 0 ; j != D [ 246 ] . length ; ++ j ) if ( D [ 246 ] [ j ] . charCodeAt ( 0 ) !== 65533 ) { e [ D [ 246 ] [ j ] ] = 62976 + j ; d [ 62976 + j ] = D [ 246 ] [ j ] } D [ 247 ] = " <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 糴糱纑罏羇臞艫蘴蘵蘳蘬蘲蘶蠬蠨蠦蠪蠥襱覿覾觻譾讄讂讆讅譿贕躕躔躚躒躐躖躗轠轢酇鑌鑐鑊鑋鑏鑇鑅鑈鑉鑆霿韣顪顩飋饔饛驎驓驔驌驏驈驊 <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
if ( o . indexOf ( "e" ) === - 1 ) { var fakee = Math . floor ( Math . log ( Math . abs ( val ) ) * Math . LOG10E ) ; if ( o . indexOf ( "." ) === - 1 ) o = o [ 0 ] + "." + o . substr ( 1 ) + "E+" + ( fakee - o . length + ee ) ; else o += "E+" + ( fakee - ee ) ; while ( o . substr ( 0 , 2 ) === "0." ) { o = o [ 0 ] + o . substr ( 2 , period ) + "." + o . substr ( 2 + period ) ; o = o . replace ( /^0+([1-9])/ , "$1" ) . replace ( /^0+\./ , "0." ) } o = o . replace ( /\+-/ , "-" ) } o = o . replace ( /^([+-]?)(\d*)\.(\d*)[Ee]/ , function ( $$ , $1 , $2 , $3 ) { return $1 + $2 + $3 . substr ( 0 , ( period + ee ) % period ) + "." + $3 . substr ( ee ) + "E" } ) } else o = val . toExponential ( idx ) ; if ( fmt . match ( /E\+00$/ ) && o . match ( /e[+-]\d$/ ) ) o = o . substr ( 0 , o . length - 1 ) + "0" + o [ o . length - 1 ] ; if ( fmt . match ( /E\-/ ) && o . match ( /e\+/ ) ) o = o . replace ( /e\+/ , "e" ) ; return o . replace ( "e" , "E" ) } var frac1 = /# (\?+)( ?)\/( ?)(\d+)/ ; function write _num _f1 ( r , aval , sign ) { var den = parseInt ( r [ 4 ] ) , rr = Math . round ( aval * den ) , base = Math . floor ( rr / den ) ; var myn = rr - base * den , myd = den ; return sign + ( base === 0 ? "" : "" + base ) + " " + ( myn === 0 ? fill ( " " , r [ 1 ] . length + 1 + r [ 4 ] . length ) : pad _ ( myn , r [ 1 ] . length ) + r [ 2 ] + "/" + r [ 3 ] + pad0 ( myd , r [ 4 ] . length ) ) } function write _num _f2 ( r , aval , sign ) { return sign + ( aval === 0 ? "" : "" + aval ) + fill ( " " , r [ 1 ] . length + 2 + r [ 4 ] . length ) } var dec1 = /^#*0*\.(0+)/ ; var closeparen = /\).*[0#]/ ; var phone = /\(###\) ###\\?-####/ ; function hashq ( str ) { var o = "" , cc ; for ( var i = 0 ; i != str . length ; ++ i ) switch ( cc = str . charCodeAt ( i ) ) { case 35 : break ; case 63 : o += " " ; break ; case 48 : o += "0" ; break ; default : o += String . fromCharCode ( cc ) } return o } function rnd ( val , d ) { var dd = Math . pow ( 10 , d ) ; return "" + Math . round ( val * dd ) / dd } function dec ( val , d ) { return Math . round ( ( val - Math . floor ( val ) ) * Math . pow ( 10 , d ) ) } function flr ( val ) { if ( val < 2147483647 && val > - 2147483648 ) return "" + ( val >= 0 ? val | 0 : val - 1 | 0 ) ; return "" + Math . floor ( val ) } function write _num _flt ( type , fmt , val ) { if ( type . charCodeAt ( 0 ) === 40 && ! fmt . match ( closeparen ) ) { var ffmt = fmt . replace ( /\( */ , "" ) . replace ( / \)/ , "" ) . replace ( /\)/ , "" ) ; if ( val >= 0 ) return write _num _flt ( "n" , ffmt , val ) ; return "(" + write _num _flt ( "n" , ffmt , - val ) + ")" } if ( fmt . charCodeAt ( fmt . length - 1 ) === 44 ) return write _num _cm ( type , fmt , val ) ; if ( fmt . indexOf ( "%" ) !== - 1 ) return write _num _pct ( type , fmt , val ) ; if ( fmt . indexOf ( "E" ) !== - 1 ) return write _num _exp ( fmt , val ) ; if ( fmt . charCodeAt ( 0 ) === 36 ) return "$" + write _num _flt ( type , fmt . substr ( fmt [ 1 ] == " " ? 2 : 1 ) , val ) ; var o , oo ; var r , ri , ff , aval = Math . abs ( val ) , sign = val < 0 ? "-" : "" ; if ( fmt . match ( /^00+$/ ) ) return sign + pad0r ( aval , fmt . length ) ; if ( fmt . match ( /^[#?]+$/ ) ) { o = pad0r ( val , 0 ) ; if ( o === "0" ) o = "" ; return o . length > fmt . length ? o : hashq ( fmt . substr ( 0 , fmt . length - o . length ) ) + o } if ( ( r = fmt . match ( frac1 ) ) !== null ) return write _num _f1 ( r , aval , sign ) ; if ( fmt . match ( /^#+0+$/ ) !== null ) return sign + pad0r ( aval , fmt . length - fmt . indexOf ( "0" ) ) ; if ( ( r = fmt . match ( dec1 ) ) !== null ) { o = rnd ( val , r [ 1 ] . length ) . replace ( /^([^\.]+)$/ , "$1." + r [ 1 ] ) . replace ( /\.$/ , "." + r [ 1 ] ) . replace ( /\.(\d*)$/ , function ( $$ , $1 ) { return "." + $1 + fill ( "0" , r [ 1 ] . length - $1 . length ) } ) ; return fmt . indexOf ( "0." ) !== - 1 ? o : o . replace ( /^0\./ , "." ) } fmt = fmt . replace ( /^#+([0.])/ , "$1" ) ; if ( ( r = fmt . match ( /^(0*)\.(#*)$/ ) ) !== null ) { return sign + rnd ( aval , r [ 2 ] . length ) . replace ( /\.(\d*[1-9])0*$/ , ".$1" ) . replace ( /^(-?\d*)$/ , "$1." ) . replace ( /^0\./ , r [ 1 ] . length ? "0." : "." ) } if ( ( r = fmt . match ( /^#,##0(\.?)$/ ) ) !== null ) return sign + commaify ( pad0r ( aval , 0 ) ) ; if ( ( r = fmt . match ( /^#,##0\.([#0]*0)$/ ) ) !== null ) { return val < 0 ? "-" + write _num _flt ( type , fmt , - val ) : commaify ( "" + Math . floor ( val ) ) + "." + pad0 ( dec ( val , r [ 1 ] . length ) , r [ 1 ] . length ) } if ( ( r = fmt . match ( /^#,#*,#0/ ) ) !== null ) return write _num _flt ( type , fmt . replace ( /^#,#*,/ , "" ) , val ) ; if ( ( r = fmt . match ( /^([0#]+)(\\?-([0#]+))+$/ ) ) !== null ) { o = _strrev ( write _num _flt ( type , fmt . replace ( /[\\-]/g , "" ) , val ) ) ; ri = 0 ; return _strrev ( _strrev ( fmt . replace ( /\\/g , "" ) ) . replace ( /[0#]/g , function ( x ) { return ri < o . length ? o [ ri ++ ] : x === "0" ? "0" : "" } ) ) } if ( fmt . match ( phone ) !== null ) { o = write _num _flt ( type , "##########" , val ) ; return "(" + o . substr ( 0 , 3 ) + ") " + o . substr ( 3 , 3 ) + "-" + o . substr ( 6 ) } var oa = "" ; if ( ( r = fmt . match ( /^([#0?]+)( ?)\/( ?)([#0?]+)/ ) ) !== null ) { ri = Math . min ( r [ 4 ] . length , 7 ) ; ff = frac ( aval , Math . pow ( 10 , ri ) - 1 , false ) ; o = "" + sign ; oa = write _num ( "n" , r [ 1 ] , ff [ 1 ] ) ; if ( oa [ oa . length - 1 ] == " " ) oa = oa . substr ( 0 , oa . length - 1 ) + "0" ; o += oa + r [ 2 ] + "/" + r [ 3 ] ; oa = rpad _ ( ff [ 2 ] , ri ) ; if ( oa . length < r [ 4 ] . length ) oa = hashq ( r [ 4 ] . substr ( r [ 4 ] . length - oa . length ) ) + oa ; o += oa ; return o } if ( ( r = fmt . match ( /^# ([#0?]+)( ?)\/( ?)([#0?]+)/ ) ) !== null ) { ri = Math . min ( Math . max (
w = ( c & 15 ) * 4096 + ( data . charCodeAt ( i + 1 ) & 63 ) * 64 + ( data . charCodeAt ( i + 2 ) & 63 ) ; j = 3 } else { j = 4 ; w = ( c & 7 ) * 262144 + ( data . charCodeAt ( i + 1 ) & 63 ) * 4096 + ( data . charCodeAt ( i + 2 ) & 63 ) * 64 + ( data . charCodeAt ( i + 3 ) & 63 ) ; w -= 65536 ; ww = 55296 + ( w >>> 10 & 1023 ) ; w = 56320 + ( w & 1023 ) } if ( ww !== 0 ) { out [ k ++ ] = ww & 255 ; out [ k ++ ] = ww >>> 8 ; ww = 0 } out [ k ++ ] = w % 256 ; out [ k ++ ] = w >>> 8 } out . length = k ; return out . toString ( "ucs2" ) } ; var corpus = "foo bar bazâ ð £" ; if ( utf8read ( corpus ) == utf8readb ( corpus ) ) utf8read = utf8readb ; var utf8readc = function utf8readc ( data ) { return Buffer ( data , "binary" ) . toString ( "utf8" ) } ; if ( utf8read ( corpus ) == utf8readc ( corpus ) ) utf8read = utf8readc } var matchtag = function ( ) { var mtcache = { } ; return function matchtag ( f , g ) { var t = f + "|" + ( g || "" ) ; if ( mtcache [ t ] !== undefined ) return mtcache [ t ] ; return mtcache [ t ] = new RegExp ( "<(?:\\w+:)?" + f + '(?: xml:space="preserve")?(?:[^>]*)>([^☃]*)</(?:\\w+:)?' + f + ">" , g || "" ) } } ( ) ; var vtregex = function ( ) { var vt _cache = { } ; return function vt _regex ( bt ) { if ( vt _cache [ bt ] !== undefined ) return vt _cache [ bt ] ; return vt _cache [ bt ] = new RegExp ( "<(?:vt:)?" + bt + ">(.*?)</(?:vt:)?" + bt + ">" , "g" ) } } ( ) ; var vtvregex = /<\/?(:?vt:)?variant>/g , vtmregex = /<(:?vt:)?([^>]*)>(.*)</ ; function parseVector ( data ) { var h = parsexmltag ( data ) ; var matches = data . match ( vtregex ( h . baseType ) ) || [ ] ; if ( matches . length != h . size ) throw new Error ( "unexpected vector length " + matches . length + " != " + h . size ) ; var res = [ ] ; matches . forEach ( function ( x ) { var v = x . replace ( vtvregex , "" ) . match ( vtmregex ) ; res . push ( { v : v [ 2 ] , t : v [ 1 ] } ) } ) ; return res } var wtregex = /(^\s|\s$|\n)/ ; function writetag ( f , g ) { return "<" + f + ( g . match ( wtregex ) ? ' xml:space="preserve"' : "" ) + ">" + g + "</" + f + ">" } function wxt _helper ( h ) { return keys ( h ) . map ( function ( k ) { return " " + k + '="' + h [ k ] + '"' } ) . join ( "" ) } function writextag ( f , g , h ) { return "<" + f + ( isval ( h ) ? wxt _helper ( h ) : "" ) + ( isval ( g ) ? ( g . match ( wtregex ) ? ' xml:space="preserve"' : "" ) + ">" + g + "</" + f : "/" ) + ">" } function write _w3cdtf ( d , t ) { try { return d . toISOString ( ) . replace ( /\.\d*/ , "" ) } catch ( e ) { if ( t ) throw e } return "" } function write _vt ( s ) { switch ( typeof s ) { case "string" : return writextag ( "vt:lpwstr" , s ) ; case "number" : return writextag ( ( s | 0 ) == s ? "vt:i4" : "vt:r8" , String ( s ) ) ; case "boolean" : return writextag ( "vt:bool" , s ? "true" : "false" ) } if ( s instanceof Date ) return writextag ( "vt:filetime" , write _w3cdtf ( s ) ) ; throw new Error ( "Unable to serialize " + s ) } var XML _HEADER = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\r\n' ; var XMLNS = { dc : "http://purl.org/dc/elements/1.1/" , dcterms : "http://purl.org/dc/terms/" , dcmitype : "http://purl.org/dc/dcmitype/" , mx : "http://schemas.microsoft.com/office/mac/excel/2008/main" , r : "http://schemas.openxmlformats.org/officeDocument/2006/relationships" , sjs : "http://schemas.openxmlformats.org/package/2006/sheetjs/core-properties" , vt : "http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes" , xsi : "http://www.w3.org/2001/XMLSchema-instance" , xsd : "http://www.w3.org/2001/XMLSchema" } ; XMLNS . main = [ "http://schemas.openxmlformats.org/spreadsheetml/2006/main" , "http://purl.oclc.org/ooxml/spreadsheetml/main" , "http://schemas.microsoft.com/office/excel/2006/main" , "http://schemas.microsoft.com/office/excel/2006/2" ] ; function read _double _le ( b , idx ) { var s = 1 - 2 * ( b [ idx + 7 ] >>> 7 ) ; var e = ( ( b [ idx + 7 ] & 127 ) << 4 ) + ( b [ idx + 6 ] >>> 4 & 15 ) ; var m = b [ idx + 6 ] & 15 ; for ( var i = 5 ; i >= 0 ; -- i ) m = m * 256 + b [ idx + i ] ; if ( e == 2047 ) return m == 0 ? s * Infinity : NaN ; if ( e == 0 ) e = - 1022 ; else { e -= 1023 ; m += Math . pow ( 2 , 52 ) } return s * Math . pow ( 2 , e - 52 ) * m } function write _double _le ( b , v , idx ) { var bs = ( v < 0 || 1 / v == - Infinity ? 1 : 0 ) << 7 , e = 0 , m = 0 ; var av = bs ? - v : v ; if ( ! isFinite ( av ) ) { e = 2047 ; m = isNaN ( v ) ? 26985 : 0 } else { e = Math . floor ( Math . log ( av ) * Math . LOG2E ) ; m = v * Math . pow ( 2 , 52 - e ) ; if ( e <= - 1023 && ( ! isFinite ( m ) || m < Math . pow ( 2 , 52 ) ) ) { e = - 1022 } else { m -= Math . pow ( 2 , 52 ) ; e += 1023 } } for ( var i = 0 ; i <= 5 ; ++ i , m /= 256 ) b [ idx + i ] = m & 255 ; b [ idx + 6 ] = ( e & 15 ) << 4 | m & 15 ; b [ idx + 7 ] = e >> 4 | bs } var _ _toBuffer , _ _ _toBuffer ; _ _toBuffer = _ _ _toBuffer = function toBuffer _ ( bufs ) { var x = [ ] ; for ( var i = 0 ; i < bufs [ 0 ] . length ; ++ i ) { x . push . apply ( x , bufs [ 0 ] [ i ] ) } return x } ; var _ _utf16le , _ _ _utf16le ; _ _utf16le = _ _ _utf16le = function utf16le _ ( b , s , e ) { var ss = [ ] ; for ( var i = s ; i < e ; i += 2 ) ss . push ( String . fromCharCode ( _ _readUInt16LE ( b , i ) ) ) ; return ss . join ( "" ) } ; var _ _hexlify , _ _ _hexlify ; _ _hexlify = _ _ _hexlify = function hexlify _ ( b , s , l ) { return b . slice ( s , s + l ) . map ( function
var f = CORE _PROPS [ i ] , cur = data . match ( CORE _PROPS _REGEX [ i ] ) ; if ( cur != null && cur . length > 0 ) p [ f [ 1 ] ] = cur [ 1 ] ; if ( f [ 2 ] === "date" && p [ f [ 1 ] ] ) p [ f [ 1 ] ] = new Date ( p [ f [ 1 ] ] ) } return p } var CORE _PROPS _XML _ROOT = writextag ( "cp:coreProperties" , null , { "xmlns:cp" : XMLNS . CORE _PROPS , "xmlns:dc" : XMLNS . dc , "xmlns:dcterms" : XMLNS . dcterms , "xmlns:dcmitype" : XMLNS . dcmitype , "xmlns:xsi" : XMLNS . xsi } ) ; function cp _doit ( f , g , h , o , p ) { if ( p [ f ] != null || g == null || g === "" ) return ; p [ f ] = g ; o [ o . length ] = h ? writextag ( f , g , h ) : writetag ( f , g ) } function write _core _props ( cp , opts ) { var o = [ XML _HEADER , CORE _PROPS _XML _ROOT ] , p = { } ; if ( ! cp ) return o . join ( "" ) ; if ( cp . CreatedDate != null ) cp _doit ( "dcterms:created" , typeof cp . CreatedDate === "string" ? cp . CreatedDate : write _w3cdtf ( cp . CreatedDate , opts . WTF ) , { "xsi:type" : "dcterms:W3CDTF" } , o , p ) ; if ( cp . ModifiedDate != null ) cp _doit ( "dcterms:modified" , typeof cp . ModifiedDate === "string" ? cp . ModifiedDate : write _w3cdtf ( cp . ModifiedDate , opts . WTF ) , { "xsi:type" : "dcterms:W3CDTF" } , o , p ) ; for ( var i = 0 ; i != CORE _PROPS . length ; ++ i ) { var f = CORE _PROPS [ i ] ; cp _doit ( f [ 0 ] , cp [ f [ 1 ] ] , null , o , p ) } if ( o . length > 2 ) { o [ o . length ] = "</cp:coreProperties>" ; o [ 1 ] = o [ 1 ] . replace ( "/>" , ">" ) } return o . join ( "" ) } var EXT _PROPS = [ [ "Application" , "Application" , "string" ] , [ "AppVersion" , "AppVersion" , "string" ] , [ "Company" , "Company" , "string" ] , [ "DocSecurity" , "DocSecurity" , "string" ] , [ "Manager" , "Manager" , "string" ] , [ "HyperlinksChanged" , "HyperlinksChanged" , "bool" ] , [ "SharedDoc" , "SharedDoc" , "bool" ] , [ "LinksUpToDate" , "LinksUpToDate" , "bool" ] , [ "ScaleCrop" , "ScaleCrop" , "bool" ] , [ "HeadingPairs" , "HeadingPairs" , "raw" ] , [ "TitlesOfParts" , "TitlesOfParts" , "raw" ] ] ; XMLNS . EXT _PROPS = "http://schemas.openxmlformats.org/officeDocument/2006/extended-properties" ; RELS . EXT _PROPS = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" ; function parse _ext _props ( data , p ) { var q = { } ; if ( ! p ) p = { } ; EXT _PROPS . forEach ( function ( f ) { switch ( f [ 2 ] ) { case "string" : p [ f [ 1 ] ] = ( data . match ( matchtag ( f [ 0 ] ) ) || [ ] ) [ 1 ] ; break ; case "bool" : p [ f [ 1 ] ] = ( data . match ( matchtag ( f [ 0 ] ) ) || [ ] ) [ 1 ] === "true" ; break ; case "raw" : var cur = data . match ( new RegExp ( "<" + f [ 0 ] + "[^>]*>(.*)</" + f [ 0 ] + ">" ) ) ; if ( cur && cur . length > 0 ) q [ f [ 1 ] ] = cur [ 1 ] ; break } } ) ; if ( q . HeadingPairs && q . TitlesOfParts ) { var v = parseVector ( q . HeadingPairs ) ; var j = 0 , widx = 0 ; for ( var i = 0 ; i !== v . length ; ++ i ) { switch ( v [ i ] . v ) { case "Worksheets" : widx = j ; p . Worksheets = + v [ ++ i ] . v ; break ; case "Named Ranges" : ++ i ; break } } var parts = parseVector ( q . TitlesOfParts ) . map ( function ( x ) { return utf8read ( x . v ) } ) ; p . SheetNames = parts . slice ( widx , widx + p . Worksheets ) } return p } var EXT _PROPS _XML _ROOT = writextag ( "Properties" , null , { xmlns : XMLNS . EXT _PROPS , "xmlns:vt" : XMLNS . vt } ) ; function write _ext _props ( cp , opts ) { var o = [ ] , p = { } , W = writextag ; if ( ! cp ) cp = { } ; cp . Application = "SheetJS" ; o [ o . length ] = XML _HEADER ; o [ o . length ] = EXT _PROPS _XML _ROOT ; EXT _PROPS . forEach ( function ( f ) { if ( cp [ f [ 1 ] ] === undefined ) return ; var v ; switch ( f [ 2 ] ) { case "string" : v = cp [ f [ 1 ] ] ; break ; case "bool" : v = cp [ f [ 1 ] ] ? "true" : "false" ; break } if ( v !== undefined ) o [ o . length ] = W ( f [ 0 ] , v ) } ) ; o [ o . length ] = W ( "HeadingPairs" , W ( "vt:vector" , W ( "vt:variant" , "<vt:lpstr>Worksheets</vt:lpstr>" ) + W ( "vt:variant" , W ( "vt:i4" , String ( cp . Worksheets ) ) ) , { size : 2 , baseType : "variant" } ) ) ; o [ o . length ] = W ( "TitlesOfParts" , W ( "vt:vector" , cp . SheetNames . map ( function ( s ) { return "<vt:lpstr>" + s + "</vt:lpstr>" } ) . join ( "" ) , { size : cp . Worksheets , baseType : "lpstr" } ) ) ; if ( o . length > 2 ) { o [ o . length ] = "</Properties>" ; o [ 1 ] = o [ 1 ] . replace ( "/>" , ">" ) } return o . join ( "" ) } XMLNS . CUST _PROPS = "http://schemas.openxmlformats.org/officeDocument/2006/custom-properties" ; RELS . CUST _PROPS = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties" ; var custregex = /<[^>]+>[^<]*/g ; function parse _cust _props ( data , opts ) { var p = { } , name = "" ; var m = data . match ( custregex ) ; if ( m ) for ( var i = 0 ; i != m . length ; ++ i ) { var x = m [ i ] , y = parsexmltag ( x ) ; switch ( y [ 0 ] ) { case "<?xml" : break ; case "<Properties" : break ; case "<property" : name = y . name ; break ; case "</property>" : name = null ; break ; default : if ( x . indexOf ( "<vt:" ) === 0 ) { var toks = x . split ( ">" ) ; var type = toks [ 0 ] . substring ( 4 ) , text = toks [ 1 ] ; switch ( type ) { case "lpstr" : case "lpwstr" : case "bstr" : case "lpwstr" : p [ name ] = unescapexml ( text ) ; break ; case "bool" : p [ name ] = parsexmlbool ( text , "<vt:bool>" ) ; break ; case "i1" : case "i2" : case "i4" : case "i8" : case "int" : case "uint" : p [ na
var parse _RRDConflict = parsenoop ; var parse _RRDDefName = parsenoop ; var parse _RRDRstEtxp = parsenoop ; var parse _LRng = parsenoop ; var parse _CUsr = parsenoop ; var parse _CbUsr = parsenoop ; var parse _UsrInfo = parsenoop ; var parse _UsrExcl = parsenoop ; var parse _FileLock = parsenoop ; var parse _RRDInfo = parsenoop ; var parse _BCUsrs = parsenoop ; var parse _UsrChk = parsenoop ; var parse _UserBView = parsenoop ; var parse _UserSViewBegin = parsenoop ; var parse _UserSViewEnd = parsenoop ; var parse _RRDUserView = parsenoop ; var parse _Qsi = parsenoop ; var parse _CondFmt = parsenoop ; var parse _CF = parsenoop ; var parse _DVal = parsenoop ; var parse _DConBin = parsenoop ; var parse _Lel = parsenoop ; var parse _XLSCodeName = parse _XLUnicodeString ; var parse _SXFDBType = parsenoop ; var parse _ObNoMacros = parsenoop ; var parse _Dv = parsenoop ; var parse _Index = parsenoop ; var parse _Table = parsenoop ; var parse _BigName = parsenoop ; var parse _ContinueBigName = parsenoop ; var parse _WebPub = parsenoop ; var parse _QsiSXTag = parsenoop ; var parse _DBQueryExt = parsenoop ; var parse _ExtString = parsenoop ; var parse _TxtQry = parsenoop ; var parse _Qsir = parsenoop ; var parse _Qsif = parsenoop ; var parse _RRDTQSIF = parsenoop ; var parse _OleDbConn = parsenoop ; var parse _WOpt = parsenoop ; var parse _SXViewEx = parsenoop ; var parse _SXTH = parsenoop ; var parse _SXPIEx = parsenoop ; var parse _SXVDTEx = parsenoop ; var parse _SXViewEx9 = parsenoop ; var parse _ContinueFrt = parsenoop ; var parse _RealTimeData = parsenoop ; var parse _ChartFrtInfo = parsenoop ; var parse _FrtWrapper = parsenoop ; var parse _StartBlock = parsenoop ; var parse _EndBlock = parsenoop ; var parse _StartObject = parsenoop ; var parse _EndObject = parsenoop ; var parse _CatLab = parsenoop ; var parse _YMult = parsenoop ; var parse _SXViewLink = parsenoop ; var parse _PivotChartBits = parsenoop ; var parse _FrtFontList = parsenoop ; var parse _SheetExt = parsenoop ; var parse _BookExt = parsenoop ; var parse _SXAddl = parsenoop ; var parse _CrErr = parsenoop ; var parse _HFPicture = parsenoop ; var parse _Feat = parsenoop ; var parse _DataLabExt = parsenoop ; var parse _DataLabExtContents = parsenoop ; var parse _CellWatch = parsenoop ; var parse _FeatHdr11 = parsenoop ; var parse _Feature11 = parsenoop ; var parse _DropDownObjIds = parsenoop ; var parse _ContinueFrt11 = parsenoop ; var parse _DConn = parsenoop ; var parse _List12 = parsenoop ; var parse _Feature12 = parsenoop ; var parse _CondFmt12 = parsenoop ; var parse _CF12 = parsenoop ; var parse _CFEx = parsenoop ; var parse _AutoFilter12 = parsenoop ; var parse _ContinueFrt12 = parsenoop ; var parse _MDTInfo = parsenoop ; var parse _MDXStr = parsenoop ; var parse _MDXTuple = parsenoop ; var parse _MDXSet = parsenoop ; var parse _MDXProp = parsenoop ; var parse _MDXKPI = parsenoop ; var parse _MDB = parsenoop ; var parse _PLV = parsenoop ; var parse _DXF = parsenoop ; var parse _TableStyles = parsenoop ; var parse _TableStyle = parsenoop ; var parse _TableStyleElement = parsenoop ; var parse _NamePublish = parsenoop ; var parse _NameCmt = parsenoop ; var parse _SortData = parsenoop ; var parse _GUIDTypeLib = parsenoop ; var parse _FnGrp12 = parsenoop ; var parse _NameFnGrp12 = parsenoop ; var parse _HeaderFooter = parsenoop ; var parse _CrtLayout12 = parsenoop ; var parse _CrtMlFrt = parsenoop ; var parse _CrtMlFrtContinue = parsenoop ; var parse _ShapePropsStream = parsenoop ; var parse _TextPropsStream = parsenoop ; var parse _RichTextStream = parsenoop ; var parse _CrtLayout12A = parsenoop ; var parse _Units = parsenoop ; var parse _Chart = parsenoop ; var parse _Series = parsenoop ; var parse _DataFormat = parsenoop ; var parse _LineFormat = parsenoop ; var parse _MarkerFormat = parsenoop ; var parse _AreaFormat = parsenoop ; var parse _PieFormat = parsenoop ; var parse _AttachedLabel = parsenoop ; var parse _SeriesText = parsenoop ; var parse _ChartFormat = parsenoop ; var parse _Legend = parsenoop ; var parse _SeriesList = parsenoop ; var parse _Bar = parsenoop ; var parse _Line = parsenoop ; var parse _Pie = parsenoop ; var parse _Area = parsenoop ; var parse _Scatter = parsenoop ; var parse _CrtLine = parsenoop ; var parse _Axis = parsenoop ; var parse _Tick = parsenoop ; var parse _ValueRange = parsenoop ; var parse _CatSerRange = parsenoop ; var parse _AxisLine = parsenoop ; var parse _CrtLink = parsenoop ; var parse _DefaultText = parsenoop ; var parse _Text = parsenoop ; var parse _ObjectLink = parsenoop ; var parse _Frame = parsenoop ; var parse _Begin = parsenoop ; var parse _End = parsenoop ; var parse _PlotArea = parsenoop ; var parse _Chart3d = parsenoop ; var parse _PicF = parsenoop ; var parse _DropBar = parsenoop ; var parse
o [ o . length ] = '<a:font script="Viet" typeface="Arial"/>' ; o [ o . length ] = '<a:font script="Uigh" typeface="Microsoft Uighur"/>' ; o [ o . length ] = '<a:font script="Geor" typeface="Sylfaen"/>' ; o [ o . length ] = "</a:minorFont>" ; o [ o . length ] = "</a:fontScheme>" ; o [ o . length ] = '<a:fmtScheme name="Office">' ; o [ o . length ] = "<a:fillStyleLst>" ; o [ o . length ] = '<a:solidFill><a:schemeClr val="phClr"/></a:solidFill>' ; o [ o . length ] = '<a:gradFill rotWithShape="1">' ; o [ o . length ] = "<a:gsLst>" ; o [ o . length ] = '<a:gs pos="0"><a:schemeClr val="phClr"><a:tint val="50000"/><a:satMod val="300000"/></a:schemeClr></a:gs>' ; o [ o . length ] = '<a:gs pos="35000"><a:schemeClr val="phClr"><a:tint val="37000"/><a:satMod val="300000"/></a:schemeClr></a:gs>' ; o [ o . length ] = '<a:gs pos="100000"><a:schemeClr val="phClr"><a:tint val="15000"/><a:satMod val="350000"/></a:schemeClr></a:gs>' ; o [ o . length ] = "</a:gsLst>" ; o [ o . length ] = '<a:lin ang="16200000" scaled="1"/>' ; o [ o . length ] = "</a:gradFill>" ; o [ o . length ] = '<a:gradFill rotWithShape="1">' ; o [ o . length ] = "<a:gsLst>" ; o [ o . length ] = '<a:gs pos="0"><a:schemeClr val="phClr"><a:tint val="100000"/><a:shade val="100000"/><a:satMod val="130000"/></a:schemeClr></a:gs>' ; o [ o . length ] = '<a:gs pos="100000"><a:schemeClr val="phClr"><a:tint val="50000"/><a:shade val="100000"/><a:satMod val="350000"/></a:schemeClr></a:gs>' ; o [ o . length ] = "</a:gsLst>" ; o [ o . length ] = '<a:lin ang="16200000" scaled="0"/>' ; o [ o . length ] = "</a:gradFill>" ; o [ o . length ] = "</a:fillStyleLst>" ; o [ o . length ] = "<a:lnStyleLst>" ; o [ o . length ] = '<a:ln w="9525" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:schemeClr val="phClr"><a:shade val="95000"/><a:satMod val="105000"/></a:schemeClr></a:solidFill><a:prstDash val="solid"/></a:ln>' ; o [ o . length ] = '<a:ln w="25400" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:prstDash val="solid"/></a:ln>' ; o [ o . length ] = '<a:ln w="38100" cap="flat" cmpd="sng" algn="ctr"><a:solidFill><a:schemeClr val="phClr"/></a:solidFill><a:prstDash val="solid"/></a:ln>' ; o [ o . length ] = "</a:lnStyleLst>" ; o [ o . length ] = "<a:effectStyleLst>" ; o [ o . length ] = "<a:effectStyle>" ; o [ o . length ] = "<a:effectLst>" ; o [ o . length ] = '<a:outerShdw blurRad="40000" dist="20000" dir="5400000" rotWithShape="0"><a:srgbClr val="000000"><a:alpha val="38000"/></a:srgbClr></a:outerShdw>' ; o [ o . length ] = "</a:effectLst>" ; o [ o . length ] = "</a:effectStyle>" ; o [ o . length ] = "<a:effectStyle>" ; o [ o . length ] = "<a:effectLst>" ; o [ o . length ] = '<a:outerShdw blurRad="40000" dist="23000" dir="5400000" rotWithShape="0"><a:srgbClr val="000000"><a:alpha val="35000"/></a:srgbClr></a:outerShdw>' ; o [ o . length ] = "</a:effectLst>" ; o [ o . length ] = "</a:effectStyle>" ; o [ o . length ] = "<a:effectStyle>" ; o [ o . length ] = "<a:effectLst>" ; o [ o . length ] = '<a:outerShdw blurRad="40000" dist="23000" dir="5400000" rotWithShape="0"><a:srgbClr val="000000"><a:alpha val="35000"/></a:srgbClr></a:outerShdw>' ; o [ o . length ] = "</a:effectLst>" ; o [ o . length ] = '<a:scene3d><a:camera prst="orthographicFront"><a:rot lat="0" lon="0" rev="0"/></a:camera><a:lightRig rig="threePt" dir="t"><a:rot lat="0" lon="0" rev="1200000"/></a:lightRig></a:scene3d>' ; o [ o . length ] = '<a:sp3d><a:bevelT w="63500" h="25400"/></a:sp3d>' ; o [ o . length ] = "</a:effectStyle>" ; o [ o . length ] = "</a:effectStyleLst>" ; o [ o . length ] = "<a:bgFillStyleLst>" ; o [ o . length ] = '<a:solidFill><a:schemeClr val="phClr"/></a:solidFill>' ; o [ o . length ] = '<a:gradFill rotWithShape="1">' ; o [ o . length ] = "<a:gsLst>" ; o [ o . length ] = '<a:gs pos="0"><a:schemeClr val="phClr"><a:tint val="40000"/><a:satMod val="350000"/></a:schemeClr></a:gs>' ; o [ o . length ] = '<a:gs pos="40000"><a:schemeClr val="phClr"><a:tint val="45000"/><a:shade val="99000"/><a:satMod val="350000"/></a:schemeClr></a:gs>' ; o [ o . length ] = '<a:gs pos="100000"><a:schemeClr val="phClr"><a:shade val="20000"/><a:satMod val="255000"/></a:schemeClr></a:gs>' ; o [ o . length ] = "</a:gsLst>" ; o [ o . length ] = '<a:path path="circle"><a:fillToRect l="50000" t="-80000" r="50000" b="180000"/></a:path>' ; o [ o . length ] = "</a:gradFill>" ; o [ o . length ] = '<a:gradFill rotWithShape="1">' ; o [ o . length ] = "<a:gsLst>" ; o [ o . length ] = '<a:gs pos="0"><a:schemeClr val="phClr"><a:tint val="80000"/><a:satMod val="300000"/></a:schemeClr></a:gs>' ; o [ o . length ] = ' < a : gs pos = "100000" > < a : schemeClr val = "
63 : "FORMULA.GOTO" , 64 : "FORMULA.FIND" , 65 : "SELECT.LAST.CELL" , 66 : "SHOW.ACTIVE.CELL" , 67 : "GALLERY.AREA" , 68 : "GALLERY.BAR" , 69 : "GALLERY.COLUMN" , 70 : "GALLERY.LINE" , 71 : "GALLERY.PIE" , 72 : "GALLERY.SCATTER" , 73 : "COMBINATION" , 74 : "PREFERRED" , 75 : "ADD.OVERLAY" , 76 : "GRIDLINES" , 77 : "SET.PREFERRED" , 78 : "AXES" , 79 : "LEGEND" , 80 : "ATTACH.TEXT" , 81 : "ADD.ARROW" , 82 : "SELECT.CHART" , 83 : "SELECT.PLOT.AREA" , 84 : "PATTERNS" , 85 : "MAIN.CHART" , 86 : "OVERLAY" , 87 : "SCALE" , 88 : "FORMAT.LEGEND" , 89 : "FORMAT.TEXT" , 90 : "EDIT.REPEAT" , 91 : "PARSE" , 92 : "JUSTIFY" , 93 : "HIDE" , 94 : "UNHIDE" , 95 : "WORKSPACE" , 96 : "FORMULA" , 97 : "FORMULA.FILL" , 98 : "FORMULA.ARRAY" , 99 : "DATA.FIND.NEXT" , 100 : "DATA.FIND.PREV" , 101 : "FORMULA.FIND.NEXT" , 102 : "FORMULA.FIND.PREV" , 103 : "ACTIVATE" , 104 : "ACTIVATE.NEXT" , 105 : "ACTIVATE.PREV" , 106 : "UNLOCKED.NEXT" , 107 : "UNLOCKED.PREV" , 108 : "COPY.PICTURE" , 109 : "SELECT" , 110 : "DELETE.NAME" , 111 : "DELETE.FORMAT" , 112 : "VLINE" , 113 : "HLINE" , 114 : "VPAGE" , 115 : "HPAGE" , 116 : "VSCROLL" , 117 : "HSCROLL" , 118 : "ALERT" , 119 : "NEW" , 120 : "CANCEL.COPY" , 121 : "SHOW.CLIPBOARD" , 122 : "MESSAGE" , 124 : "PASTE.LINK" , 125 : "APP.ACTIVATE" , 126 : "DELETE.ARROW" , 127 : "ROW.HEIGHT" , 128 : "FORMAT.MOVE" , 129 : "FORMAT.SIZE" , 130 : "FORMULA.REPLACE" , 131 : "SEND.KEYS" , 132 : "SELECT.SPECIAL" , 133 : "APPLY.NAMES" , 134 : "REPLACE.FONT" , 135 : "FREEZE.PANES" , 136 : "SHOW.INFO" , 137 : "SPLIT" , 138 : "ON.WINDOW" , 139 : "ON.DATA" , 140 : "DISABLE.INPUT" , 142 : "OUTLINE" , 143 : "LIST.NAMES" , 144 : "FILE.CLOSE" , 145 : "SAVE.WORKBOOK" , 146 : "DATA.FORM" , 147 : "COPY.CHART" , 148 : "ON.TIME" , 149 : "WAIT" , 150 : "FORMAT.FONT" , 151 : "FILL.UP" , 152 : "FILL.LEFT" , 153 : "DELETE.OVERLAY" , 155 : "SHORT.MENUS" , 159 : "SET.UPDATE.STATUS" , 161 : "COLOR.PALETTE" , 162 : "DELETE.STYLE" , 163 : "WINDOW.RESTORE" , 164 : "WINDOW.MAXIMIZE" , 166 : "CHANGE.LINK" , 167 : "CALCULATE.DOCUMENT" , 168 : "ON.KEY" , 169 : "APP.RESTORE" , 170 : "APP.MOVE" , 171 : "APP.SIZE" , 172 : "APP.MINIMIZE" , 173 : "APP.MAXIMIZE" , 174 : "BRING.TO.FRONT" , 175 : "SEND.TO.BACK" , 185 : "MAIN.CHART.TYPE" , 186 : "OVERLAY.CHART.TYPE" , 187 : "SELECT.END" , 188 : "OPEN.MAIL" , 189 : "SEND.MAIL" , 190 : "STANDARD.FONT" , 191 : "CONSOLIDATE" , 192 : "SORT.SPECIAL" , 193 : "GALLERY.3D.AREA" , 194 : "GALLERY.3D.COLUMN" , 195 : "GALLERY.3D.LINE" , 196 : "GALLERY.3D.PIE" , 197 : "VIEW.3D" , 198 : "GOAL.SEEK" , 199 : "WORKGROUP" , 200 : "FILL.GROUP" , 201 : "UPDATE.LINK" , 202 : "PROMOTE" , 203 : "DEMOTE" , 204 : "SHOW.DETAIL" , 206 : "UNGROUP" , 207 : "OBJECT.PROPERTIES" , 208 : "SAVE.NEW.OBJECT" , 209 : "SHARE" , 210 : "SHARE.NAME" , 211 : "DUPLICATE" , 212 : "APPLY.STYLE" , 213 : "ASSIGN.TO.OBJECT" , 214 : "OBJECT.PROTECTION" , 215 : "HIDE.OBJECT" , 216 : "SET.EXTRACT" , 217 : "CREATE.PUBLISHER" , 218 : "SUBSCRIBE.TO" , 219 : "ATTRIBUTES" , 220 : "SHOW.TOOLBAR" , 222 : "PRINT.PREVIEW" , 223 : "EDIT.COLOR" , 224 : "SHOW.LEVELS" , 225 : "FORMAT.MAIN" , 226 : "FORMAT.OVERLAY" , 227 : "ON.RECALC" , 228 : "EDIT.SERIES" , 229 : "DEFINE.STYLE" , 240 : "LINE.PRINT" , 243 : "ENTER.DATA" , 249 : "GALLERY.RADAR" , 250 : "MERGE.STYLES" , 251 : "EDITION.OPTIONS" , 252 : "PASTE.PICTURE" , 253 : "PASTE.PICTURE.LINK" , 254 : "SPELLING" , 256 : "ZOOM" , 259 : "INSERT.OBJECT" , 260 : "WINDOW.MINIMIZE" , 265 : "SOUND.NOTE" , 266 : "SOUND.PLAY" , 267 : "FORMAT.SHAPE" , 268 : "EXTEND.POLYGON" , 269 : "FORMAT.AUTO" , 272 : "GALLERY.3D.BAR" , 273 : "GALLERY.3D.SURFACE" , 274 : "FILL.AUTO" , 276 : "CUSTOMIZE.TOOLBAR" , 277 : "ADD.TOOL" , 278 : "EDIT.OBJECT" , 279 : "ON.DOUBLECLICK" , 280 : "ON.ENTRY" , 281 : "WORKBOOK.ADD" , 282 : "WORKBOOK.MOVE" , 283 : "WORKBOOK.COPY" , 284 : "WORKBOOK.OPTIONS" , 285 : "SAVE.WORKSPACE" , 288 : "CHART.WIZARD" , 289 : "DELETE.TOOL" , 290 : "MOVE.TOOL" , 291 : "WORKBOOK.SELECT" , 292 : "WORKBOOK.ACTIVATE" , 293 : "ASSIGN.TO.TOOL" , 295 : "COPY.TOOL" , 296 : "RESET.TOOL" , 297 : "CONSTRAIN.NUMERIC" , 298 : "PASTE.TOOL" , 302 : "WORKBOOK.NEW" , 305 : "SCENARIO.CELLS" , 306 : "SCENARIO.DELETE" , 307 : "SCENARIO.ADD" , 308 : "SCENARIO.EDIT" , 309 : "SCENARIO.SHOW" , 310 : "SCENARIO.SHOW.NEXT" , 311 : "SCENARIO.SUMMARY" , 312 : "PIVOT.TABLE.WIZARD" , 313 : "PIVOT.FIELD.PROPERTIES" , 314 : "PIVOT.FIELD" , 315 : "PIVOT.ITEM" , 316 : "PIVOT.ADD.FIELDS" , 318 : "OPTIONS.CALCULATION" , 319 : "OPTIONS.EDIT" , 320 : "OPTIONS.VIEW" , 321 : "ADDIN.MANAGER" , 322 : "MENU.EDITOR" , 323 : "ATTACH.TOOLBARS" , 324 : "VBAActivate" , 325 : "OPTIONS.CHART" , 328 : "VBA.INSERT.FILE" , 330 : "VBA.PROCEDURE.DEFINITION" , 336 : "ROUTING.SLIP" , 338 : "ROUTE.DOCUMENT" , 339 : "MAIL.LOGON" , 342 : "INSERT.PICTURE" , 343 : "EDIT.TOOL" , 344 : "GALLERY.DOUGHNUT" , 350 : "CHART.TREND" , 352 : "PIVOT.ITEM.PROPERTIES" , 354 : "WORKBOOK.INSERT" , 355 : "OPTIONS.TRANSITION" , 356 : "OPTIONS.GENERAL" , 370 : "FILTER.ADVANCED" , 3
function parse _BrtHLink ( data , length , opts ) { var end = data . l + length ; var rfx = parse _UncheckedRfX ( data , 16 ) ; var relId = parse _XLNullableWideString ( data ) ; var loc = parse _XLWideString ( data ) ; var tooltip = parse _XLWideString ( data ) ; var display = parse _XLWideString ( data ) ; data . l = end ; return { rfx : rfx , relId : relId , loc : loc , tooltip : tooltip , display : display } } function parse _BrtArrFmla ( data , length , opts ) { var end = data . l + length ; var rfx = parse _RfX ( data , 16 ) ; var fAlwaysCalc = data . read _shift ( 1 ) ; var o = [ rfx , null , fAlwaysCalc ] ; if ( opts . cellFormula ) { var formula = parse _XLSBArrayParsedFormula ( data , end - data . l , opts ) ; o [ 1 ] = formula } else data . l = end ; return o } function parse _BrtShrFmla ( data , length , opts ) { var end = data . l + length ; var rfx = parse _UncheckedRfX ( data , 16 ) ; var o = [ rfx , null ] ; if ( opts . cellFormula ) { var formula = parse _XLSBSharedParsedFormula ( data , end - data . l , opts ) ; o [ 1 ] = formula ; data . l = end } else data . l = end ; return o } function parse _ws _bin ( data , opts , rels , wb ) { if ( ! data ) return data ; if ( ! rels ) rels = { "!id" : { } } ; var s = { } ; var ref ; var refguess = { s : { r : 2e6 , c : 2e6 } , e : { r : 0 , c : 0 } } ; var pass = false , end = false ; var row , p , cf , R , C , addr , sstr , rr ; var mergecells = [ ] ; if ( ! opts ) opts = { } ; opts . biff = 12 ; opts [ "!row" ] = 0 ; var ai = 0 , af = false ; var array _formulae = [ ] ; var shared _formulae = { } ; var supbooks = [ [ ] ] ; supbooks . sharedf = shared _formulae ; supbooks . arrayf = array _formulae ; opts . supbooks = supbooks ; for ( var i = 0 ; i < wb . Names [ "!names" ] . length ; ++ i ) supbooks [ 0 ] [ i + 1 ] = wb . Names [ wb . Names [ "!names" ] [ i ] ] ; recordhopper ( data , function ws _parse ( val , Record ) { if ( end ) return ; switch ( Record . n ) { case "BrtWsDim" : ref = val ; break ; case "BrtRowHdr" : row = val ; if ( opts . sheetRows && opts . sheetRows <= row . r ) end = true ; rr = encode _row ( row . r ) ; opts [ "!row" ] = row . r ; break ; case "BrtFmlaBool" : case "BrtFmlaError" : case "BrtFmlaNum" : case "BrtFmlaString" : case "BrtCellBool" : case "BrtCellError" : case "BrtCellIsst" : case "BrtCellReal" : case "BrtCellRk" : case "BrtCellSt" : p = { t : val [ 2 ] } ; switch ( val [ 2 ] ) { case "n" : p . v = val [ 1 ] ; break ; case "s" : sstr = strs [ val [ 1 ] ] ; p . v = sstr . t ; p . r = sstr . r ; break ; case "b" : p . v = val [ 1 ] ? true : false ; break ; case "e" : p . v = val [ 1 ] ; p . w = BErr [ p . v ] ; break ; case "str" : p . t = "s" ; p . v = utf8read ( val [ 1 ] ) ; break } if ( cf = styles . CellXf [ val [ 0 ] . iStyleRef ] ) safe _format ( p , cf . ifmt , null , opts ) ; s [ encode _col ( C = val [ 0 ] . c ) + rr ] = p ; if ( opts . cellFormula ) { af = false ; for ( ai = 0 ; ai < array _formulae . length ; ++ ai ) { var aii = array _formulae [ ai ] ; if ( row . r >= aii [ 0 ] . s . r && row . r <= aii [ 0 ] . e . r ) if ( C >= aii [ 0 ] . s . c && C <= aii [ 0 ] . e . c ) { p . F = encode _range ( aii [ 0 ] ) ; af = true } } if ( ! af && val . length > 3 ) p . f = val [ 3 ] } if ( refguess . s . r > row . r ) refguess . s . r = row . r ; if ( refguess . s . c > C ) refguess . s . c = C ; if ( refguess . e . r < row . r ) refguess . e . r = row . r ; if ( refguess . e . c < C ) refguess . e . c = C ; break ; case "BrtCellBlank" : if ( ! opts . sheetStubs ) break ; p = { t : "s" , v : undefined } ; s [ encode _col ( C = val [ 0 ] . c ) + rr ] = p ; if ( refguess . s . r > row . r ) refguess . s . r = row . r ; if ( refguess . s . c > C ) refguess . s . c = C ; if ( refguess . e . r < row . r ) refguess . e . r = row . r ; if ( refguess . e . c < C ) refguess . e . c = C ; break ; case "BrtBeginMergeCells" : break ; case "BrtEndMergeCells" : break ; case "BrtMergeCell" : mergecells . push ( val ) ; break ; case "BrtHLink" : var rel = rels [ "!id" ] [ val . relId ] ; if ( rel ) { val . Target = rel . Target ; if ( val . loc ) val . Target += "#" + val . loc ; val . Rel = rel } for ( R = val . rfx . s . r ; R <= val . rfx . e . r ; ++ R ) for ( C = val . rfx . s . c ; C <= val . rfx . e . c ; ++ C ) { addr = encode _cell ( { c : C , r : R } ) ; if ( ! s [ addr ] ) s [ addr ] = { t : "s" , v : undefined } ; s [ addr ] . l = val } break ; case "BrtArrFmla" : if ( ! opts . cellFormula ) break ; array _formulae . push ( val ) ; s [ encode _col ( C ) + rr ] . f = stringify _formula ( val [ 1 ] , refguess , { r : row . r , c : C } , supbooks , opts ) ; s [ encode _col ( C ) + rr ] . F = encode _range ( val [ 0 ] ) ; break ; case "BrtShrFmla" : if ( ! opts . cellFormula ) break ; shared _formulae [ encode _cell ( val [ 0 ] . s ) ] = val [ 1 ] ; s [ encode _col ( C ) + rr ] . f = stringify _formula ( val [ 1 ] , refguess , { r : row . r , c : C } , supbooks , opts ) ; break ; case "BrtBeginSheet" : break ; case "BrtWsProp" : break ; case "BrtSheetCalcProp" : break ; case "BrtBeginWsViews" : break ; case "BrtBeginWsView" : break ; case "BrtPane" : break ; case "BrtSel" : break ; case "BrtEndWsView" : break ; case "BrtEndWsViews" : break ; case "BrtACBegin" : break ; case "BrtRwDescent" : break ; case "BrtACEnd" : break ; case "BrtWsFmtInfoEx14" : break ; case "BrtWsFmtInfo" : break ; case "BrtBeginColInfos" : break ; case "BrtColInfo" : break ; case "BrtEndColInfos" : break ; case "BrtBeginSheetData" : break ; case "BrtEndSheetData" : break ; case "BrtSheetProtection" : break ; case "BrtPrintOptions" : break ; case " BrtMargi
break ; case "FileName" : break ; case "Reference" : break ; case "NoColumnGrand" : break ; case "NoRowGrand" : break ; case "BlankLineAfterItems" : break ; case "Hidden" : break ; case "Subtotal" : break ; case "BaseField" : break ; case "MapChildItems" : break ; case "Function" : break ; case "RefreshOnFileOpen" : break ; case "PrintSetTitles" : break ; case "MergeLabels" : break ; case "DefaultVersion" : break ; case "RefreshName" : break ; case "RefreshDate" : break ; case "RefreshDateCopy" : break ; case "VersionLastRefresh" : break ; case "VersionLastUpdate" : break ; case "VersionUpdateableMin" : break ; case "VersionRefreshableMin" : break ; case "Calculation" : break ; default : seen = false } break ; case "PageBreaks" : switch ( Rn [ 3 ] ) { case "ColBreaks" : break ; case "ColBreak" : break ; case "RowBreaks" : break ; case "RowBreak" : break ; case "ColStart" : break ; case "ColEnd" : break ; case "RowEnd" : break ; default : seen = false } break ; case "AutoFilter" : switch ( Rn [ 3 ] ) { case "AutoFilterColumn" : break ; case "AutoFilterCondition" : break ; case "AutoFilterAnd" : break ; case "AutoFilterOr" : break ; default : seen = false } break ; case "QueryTable" : switch ( Rn [ 3 ] ) { case "Id" : break ; case "AutoFormatFont" : break ; case "AutoFormatPattern" : break ; case "QuerySource" : break ; case "QueryType" : break ; case "EnableRedirections" : break ; case "RefreshedInXl9" : break ; case "URLString" : break ; case "HTMLTables" : break ; case "Connection" : break ; case "CommandText" : break ; case "RefreshInfo" : break ; case "NoTitles" : break ; case "NextId" : break ; case "ColumnInfo" : break ; case "OverwriteCells" : break ; case "DoNotPromptForFile" : break ; case "TextWizardSettings" : break ; case "Source" : break ; case "Number" : break ; case "Decimal" : break ; case "ThousandSeparator" : break ; case "TrailingMinusNumbers" : break ; case "FormatSettings" : break ; case "FieldType" : break ; case "Delimiters" : break ; case "Tab" : break ; case "Comma" : break ; case "AutoFormatName" : break ; case "VersionLastEdit" : break ; case "VersionLastRefresh" : break ; default : seen = false } break ; case "Sorting" : case "ConditionalFormatting" : case "DataValidation" : switch ( Rn [ 3 ] ) { case "Range" : break ; case "Type" : break ; case "Min" : break ; case "Max" : break ; case "Sort" : break ; case "Descending" : break ; case "Order" : break ; case "CaseSensitive" : break ; case "Value" : break ; case "ErrorStyle" : break ; case "ErrorMessage" : break ; case "ErrorTitle" : break ; case "CellRangeList" : break ; case "InputMessage" : break ; case "InputTitle" : break ; case "ComboHide" : break ; case "InputHide" : break ; case "Condition" : break ; case "Qualifier" : break ; case "UseBlank" : break ; case "Value1" : break ; case "Value2" : break ; case "Format" : break ; default : seen = false } break ; case "MapInfo" : case "Schema" : case "data" : switch ( Rn [ 3 ] ) { case "Map" : break ; case "Entry" : break ; case "Range" : break ; case "XPath" : break ; case "Field" : break ; case "XSDType" : break ; case "FilterOn" : break ; case "Aggregate" : break ; case "ElementType" : break ; case "AttributeType" : break ; case "schema" : case "element" : case "complexType" : case "datatype" : case "all" : case "attribute" : case "extends" : break ; case "row" : break ; default : seen = false } break ; case "SmartTags" : break ; default : seen = false ; break } if ( seen ) break ; if ( ! state [ state . length - 1 ] [ 1 ] ) throw "Unrecognized tag: " + Rn [ 3 ] + "|" + state . join ( "|" ) ; if ( state [ state . length - 1 ] [ 0 ] === "CustomDocumentProperties" ) { if ( Rn [ 0 ] . slice ( - 2 ) === "/>" ) break ; else if ( Rn [ 1 ] === "/" ) xlml _set _custprop ( Custprops , Rn , cp , str . slice ( pidx , Rn . index ) ) ; else { cp = Rn ; pidx = Rn . index + Rn [ 0 ] . length } break } if ( opts . WTF ) throw "Unrecognized tag: " + Rn [ 3 ] + "|" + state . join ( "|" ) } var out = { } ; if ( ! opts . bookSheets && ! opts . bookProps ) out . Sheets = sheets ; out . SheetNames = sheetnames ; out . SSF = SSF . get _table ( ) ; out . Props = Props ; out . Custprops = Custprops ; return out } function parse _xlml ( data , opts ) { fix _read _opts ( opts = opts || { } ) ; switch ( opts . type || "base64" ) { case "base64" : return parse _xlml _xml ( Base64 . decode ( data ) , opts ) ; case "binary" : case "buffer" : case "file" : return parse _xlml _xml ( data , opts ) ; case "array" : return parse _xlml _xml ( data . map ( _chr ) . join ( "" ) , opts ) } } function write _xlml ( wb , opts ) { var o = [ XML _HEADER ] ; return o . join ( "" ) } function parse _compobj ( obj ) { var v = { } ; var o = obj . content ; var l = 28 , m ; m = _ _lpstr ( o , l ) ; l += 4 + _ _readUInt32LE ( o , l ) ; v . UserType = m ; m = _ _readUInt32LE ( o , l ) ; l += 4 ; switch ( m ) { case 0 : break ; case 4294967295 : case 4294967294 : l += 4 ; break ; default : if ( m > 400 ) throw new Error ( "Unsupported Clipboard: " + m . toString ( 16 ) ) ; l += m } m = _ _lpstr ( o , l ) ; l += m . length === 0 ? 0 : 5 + m . length ; v . Reserved1 = m ; if ( ( m = _ _readUInt32LE ( o , l ) ) !== 1907550708 ) retu
f : parsenoop } , 382 : { n : "BrtBeginPRFItem" , f : parsenoop } , 383 : { n : "BrtEndPRFItem" , f : parsenoop } , 384 : { n : "BrtBeginPivotCacheIDs" , f : parsenoop } , 385 : { n : "BrtEndPivotCacheIDs" , f : parsenoop } , 386 : { n : "BrtBeginPivotCacheID" , f : parsenoop } , 387 : { n : "BrtEndPivotCacheID" , f : parsenoop } , 388 : { n : "BrtBeginISXVIs" , f : parsenoop } , 389 : { n : "BrtEndISXVIs" , f : parsenoop } , 390 : { n : "BrtBeginColInfos" , f : parsenoop } , 391 : { n : "BrtEndColInfos" , f : parsenoop } , 392 : { n : "BrtBeginRwBrk" , f : parsenoop } , 393 : { n : "BrtEndRwBrk" , f : parsenoop } , 394 : { n : "BrtBeginColBrk" , f : parsenoop } , 395 : { n : "BrtEndColBrk" , f : parsenoop } , 396 : { n : "BrtBrk" , f : parsenoop } , 397 : { n : "BrtUserBookView" , f : parsenoop } , 398 : { n : "BrtInfo" , f : parsenoop } , 399 : { n : "BrtCUsr" , f : parsenoop } , 400 : { n : "BrtUsr" , f : parsenoop } , 401 : { n : "BrtBeginUsers" , f : parsenoop } , 403 : { n : "BrtEOF" , f : parsenoop } , 404 : { n : "BrtUCR" , f : parsenoop } , 405 : { n : "BrtRRInsDel" , f : parsenoop } , 406 : { n : "BrtRREndInsDel" , f : parsenoop } , 407 : { n : "BrtRRMove" , f : parsenoop } , 408 : { n : "BrtRREndMove" , f : parsenoop } , 409 : { n : "BrtRRChgCell" , f : parsenoop } , 410 : { n : "BrtRREndChgCell" , f : parsenoop } , 411 : { n : "BrtRRHeader" , f : parsenoop } , 412 : { n : "BrtRRUserView" , f : parsenoop } , 413 : { n : "BrtRRRenSheet" , f : parsenoop } , 414 : { n : "BrtRRInsertSh" , f : parsenoop } , 415 : { n : "BrtRRDefName" , f : parsenoop } , 416 : { n : "BrtRRNote" , f : parsenoop } , 417 : { n : "BrtRRConflict" , f : parsenoop } , 418 : { n : "BrtRRTQSIF" , f : parsenoop } , 419 : { n : "BrtRRFormat" , f : parsenoop } , 420 : { n : "BrtRREndFormat" , f : parsenoop } , 421 : { n : "BrtRRAutoFmt" , f : parsenoop } , 422 : { n : "BrtBeginUserShViews" , f : parsenoop } , 423 : { n : "BrtBeginUserShView" , f : parsenoop } , 424 : { n : "BrtEndUserShView" , f : parsenoop } , 425 : { n : "BrtEndUserShViews" , f : parsenoop } , 426 : { n : "BrtArrFmla" , f : parse _BrtArrFmla } , 427 : { n : "BrtShrFmla" , f : parse _BrtShrFmla } , 428 : { n : "BrtTable" , f : parsenoop } , 429 : { n : "BrtBeginExtConnections" , f : parsenoop } , 430 : { n : "BrtEndExtConnections" , f : parsenoop } , 431 : { n : "BrtBeginPCDCalcMems" , f : parsenoop } , 432 : { n : "BrtEndPCDCalcMems" , f : parsenoop } , 433 : { n : "BrtBeginPCDCalcMem" , f : parsenoop } , 434 : { n : "BrtEndPCDCalcMem" , f : parsenoop } , 435 : { n : "BrtBeginPCDHGLevels" , f : parsenoop } , 436 : { n : "BrtEndPCDHGLevels" , f : parsenoop } , 437 : { n : "BrtBeginPCDHGLevel" , f : parsenoop } , 438 : { n : "BrtEndPCDHGLevel" , f : parsenoop } , 439 : { n : "BrtBeginPCDHGLGroups" , f : parsenoop } , 440 : { n : "BrtEndPCDHGLGroups" , f : parsenoop } , 441 : { n : "BrtBeginPCDHGLGroup" , f : parsenoop } , 442 : { n : "BrtEndPCDHGLGroup" , f : parsenoop } , 443 : { n : "BrtBeginPCDHGLGMembers" , f : parsenoop } , 444 : { n : "BrtEndPCDHGLGMembers" , f : parsenoop } , 445 : { n : "BrtBeginPCDHGLGMember" , f : parsenoop } , 446 : { n : "BrtEndPCDHGLGMember" , f : parsenoop } , 447 : { n : "BrtBeginQSI" , f : parsenoop } , 448 : { n : "BrtEndQSI" , f : parsenoop } , 449 : { n : "BrtBeginQSIR" , f : parsenoop } , 450 : { n : "BrtEndQSIR" , f : parsenoop } , 451 : { n : "BrtBeginDeletedNames" , f : parsenoop } , 452 : { n : "BrtEndDeletedNames" , f : parsenoop } , 453 : { n : "BrtBeginDeletedName" , f : parsenoop } , 454 : { n : "BrtEndDeletedName" , f : parsenoop } , 455 : { n : "BrtBeginQSIFs" , f : parsenoop } , 456 : { n : "BrtEndQSIFs" , f : parsenoop } , 457 : { n : "BrtBeginQSIF" , f : parsenoop } , 458 : { n : "BrtEndQSIF" , f : parsenoop } , 459 : { n : "BrtBeginAutoSortScope" , f : parsenoop } , 460 : { n : "BrtEndAutoSortScope" , f : parsenoop } , 461 : { n : "BrtBeginConditionalFormatting" , f : parsenoop } , 462 : { n : "BrtEndConditionalFormatting" , f : parsenoop } , 463 : { n : "BrtBeginCFRule" , f : parsenoop } , 464 : { n : "BrtEndCFRule" , f : parsenoop } , 465 : { n : "BrtBeginIconSet" , f : parsenoop } , 466 : { n : "BrtEndIconSet" , f : parsenoop } , 467 : { n : "BrtBeginDatabar" , f : parsenoop } , 468 : { n : "BrtEndDatabar" , f : parsenoop } , 469 : { n : "BrtBeginColorScale" , f : parsenoop } , 470 : { n : "BrtEndColorScale" , f : parsenoop } , 471 : { n : "BrtCFVO" , f : parsenoop } , 472 : { n : "BrtExternValueMeta" , f : parsenoop } , 473 : { n : "BrtBeginColorPalette" , f : parsenoop } , 474 : { n : "BrtEndColorPalette" , f : parsenoop } , 475 : { n : "BrtIndexedColor" , f : parsenoop } , 476 : { n : "BrtMargins" , f : parsenoop } , 477 : { n : "BrtPrintOptions" , f : parsenoop } , 478 : { n : "BrtPageSetup" , f : parsenoop } , 479 : { n : "BrtBeginHeaderFooter" , f : parsenoop } , 480 : { n : "BrtEndHeaderFooter" , f : parsenoop } , 481 : { n : "BrtBeginSXCrtFormat" , f : parsenoop } , 482 : { n : "BrtEndSXCrtFormat" , f : parsenoop } , 483 : { n : "BrtBeginSXCrtFormats" , f : parsenoop } , 484 : { n : "BrtEndSXCrtFormats" , f : parsenoop } , 485 : { n : "BrtWsFmtInfo" , f : parsenoop } , 486 : { n : "BrtBeginMgs" , f : parsenoop } , 487 : { n : "BrtEndMGs" , f : parsenoop } , 488 : { n : "BrtBeginMGMaps" , f : parsenoop } , 489 : { n : "BrtEndMGMaps" , f : parsenoop } , 490 : { n : "BrtBeginMG" , f : parsenoo
f : parse _DefaultText } , 4133 : { n : "Text" , f : parse _Text } , 4134 : { n : "FontX" , f : parse _FontX } , 4135 : { n : "ObjectLink" , f : parse _ObjectLink } , 4146 : { n : "Frame" , f : parse _Frame } , 4147 : { n : "Begin" , f : parse _Begin } , 4148 : { n : "End" , f : parse _End } , 4149 : { n : "PlotArea" , f : parse _PlotArea } , 4154 : { n : "Chart3d" , f : parse _Chart3d } , 4156 : { n : "PicF" , f : parse _PicF } , 4157 : { n : "DropBar" , f : parse _DropBar } , 4158 : { n : "Radar" , f : parse _Radar } , 4159 : { n : "Surf" , f : parse _Surf } , 4160 : { n : "RadarArea" , f : parse _RadarArea } , 4161 : { n : "AxisParent" , f : parse _AxisParent } , 4163 : { n : "LegendException" , f : parse _LegendException } , 4164 : { n : "ShtProps" , f : parse _ShtProps } , 4165 : { n : "SerToCrt" , f : parse _SerToCrt } , 4166 : { n : "AxesUsed" , f : parse _AxesUsed } , 4168 : { n : "SBaseRef" , f : parse _SBaseRef } , 4170 : { n : "SerParent" , f : parse _SerParent } , 4171 : { n : "SerAuxTrend" , f : parse _SerAuxTrend } , 4174 : { n : "IFmtRecord" , f : parse _IFmtRecord } , 4175 : { n : "Pos" , f : parse _Pos } , 4176 : { n : "AlRuns" , f : parse _AlRuns } , 4177 : { n : "BRAI" , f : parse _BRAI } , 4187 : { n : "SerAuxErrBar" , f : parse _SerAuxErrBar } , 4188 : { n : "ClrtClient" , f : parse _ClrtClient } , 4189 : { n : "SerFmt" , f : parse _SerFmt } , 4191 : { n : "Chart3DBarShape" , f : parse _Chart3DBarShape } , 4192 : { n : "Fbi" , f : parse _Fbi } , 4193 : { n : "BopPop" , f : parse _BopPop } , 4194 : { n : "AxcExt" , f : parse _AxcExt } , 4195 : { n : "Dat" , f : parse _Dat } , 4196 : { n : "PlotGrowth" , f : parse _PlotGrowth } , 4197 : { n : "SIIndex" , f : parse _SIIndex } , 4198 : { n : "GelFrame" , f : parse _GelFrame } , 4199 : { n : "BopPopCustom" , f : parse _BopPopCustom } , 4200 : { n : "Fbi2" , f : parse _Fbi2 } , 0 : { n : "Dimensions" , f : parse _Dimensions } , 2 : { n : "BIFF2INT" , f : parse _BIFF2INT } , 5 : { n : "BoolErr" , f : parse _BoolErr } , 7 : { n : "String" , f : parse _BIFF2STRING } , 8 : { n : "BIFF2ROW" , f : parsenoop } , 11 : { n : "Index" , f : parse _Index } , 30 : { n : "BIFF2FORMAT" , f : parse _BIFF2Format } , 31 : { n : "BIFF2FMTCNT" , f : parsenoop } , 22 : { n : "ExternCount" , f : parsenoop } , 33 : { n : "Array" , f : parse _Array } , 37 : { n : "DefaultRowHeight" , f : parse _DefaultRowHeight } , 50 : { n : "BIFF2FONTXTRA" , f : parse _BIFF2FONTXTRA } , 62 : { n : "BIFF2WINDOW2" , f : parsenoop } , 69 : { n : "BIFF2FONTCLR" , f : parsenoop } , 86 : { n : "BIFF4FMTCNT" , f : parsenoop } , 126 : { n : "RK" , f : parsenoop } , 127 : { n : "ImData" , f : parsenoop } , 135 : { n : "Addin" , f : parsenoop } , 136 : { n : "Edg" , f : parsenoop } , 137 : { n : "Pub" , f : parsenoop } , 145 : { n : "Sub" , f : parsenoop } , 148 : { n : "LHRecord" , f : parsenoop } , 149 : { n : "LHNGraph" , f : parsenoop } , 150 : { n : "Sound" , f : parsenoop } , 169 : { n : "CoordList" , f : parsenoop } , 171 : { n : "GCW" , f : parsenoop } , 188 : { n : "ShrFmla" , f : parsenoop } , 194 : { n : "AddMenu" , f : parsenoop } , 195 : { n : "DelMenu" , f : parsenoop } , 214 : { n : "RString" , f : parse _RString } , 223 : { n : "UDDesc" , f : parsenoop } , 234 : { n : "TabIdConf" , f : parsenoop } , 354 : { n : "XL5Modify" , f : parsenoop } , 421 : { n : "FileSharing2" , f : parsenoop } , 521 : { n : "BOF" , f : parse _BOF } , 536 : { n : "Lbl" , f : parse _Lbl } , 547 : { n : "ExternName" , f : parse _ExternName } , 561 : { n : "Font" , f : parsenoop } , 1033 : { n : "BOF" , f : parse _BOF } , 2157 : { n : "FeatInfo" , f : parsenoop } , 2163 : { n : "FeatInfo11" , f : parsenoop } , 2177 : { n : "SXAddl12" , f : parsenoop } , 2240 : { n : "AutoWebPub" , f : parsenoop } , 2241 : { n : "ListObj" , f : parsenoop } , 2242 : { n : "ListField" , f : parsenoop } , 2243 : { n : "ListDV" , f : parsenoop } , 2244 : { n : "ListCondFmt" , f : parsenoop } , 2245 : { n : "ListCF" , f : parsenoop } , 2246 : { n : "FMQry" , f : parsenoop } , 2247 : { n : "FMSQry" , f : parsenoop } , 2248 : { n : "PLV" , f : parsenoop } , 2249 : { n : "LnExt" , f : parsenoop } , 2250 : { n : "MkrExt" , f : parsenoop } , 2251 : { n : "CrtCoopt" , f : parsenoop } , 67 : { n : "BIFF2XF" , f : parsenoop } , 579 : { n : "BIFF3XF" , f : parsenoop } , 1091 : { n : "BIFF4XF" , f : parsenoop } , 29282 : { } } ; function write _biff _rec ( ba , t , payload , length ) { var len = length || ( payload || [ ] ) . length ; var o = ba . next ( 4 + len ) ; o . write _shift ( 2 , t ) ; o . write _shift ( 2 , len ) ; if ( len > 0 && is _buf ( payload ) ) ba . push ( payload ) } function write _BOF ( wb , o ) { if ( o . bookType != "biff2" ) throw "unsupported BIFF version" ; var out = new _buf ( 4 ) ; out . write _shift ( 2 , 2 ) ; out . write _shift ( 2 , 16 ) ; return out } function write _BIFF2Cell ( out , r , c ) { if ( ! out ) out = new _buf ( 7 ) ; out . write _shift ( 2 , r ) ; out . write _shift ( 2 , c ) ; out . write _shift ( 1 , 0 ) ; out . write _shift ( 1 , 0 ) ; out . write _shift ( 1 , 0 ) ; return out } function write _BIFF2INT ( r , c , val ) { var out = new _buf ( 9 ) ; write _BIFF2Cell ( out , r , c ) ; out . write _shift ( 2 , val ) ; return out } function write _BIFF2NUMBER ( r , c , val ) { var out = new _buf ( 15 ) ; write _BIFF2Cell ( out , r , c ) ; out . write _shift ( 8 , val , "f" ) ; return out } function write _BIFF2BERR ( r , c , val , t ) { var out = new _buf ( 9 ) ; write _BIFF2Cell ( out , r , c ) ; if ( t == "e" ) { out . write _shift ( 1 , val ) ; out . write _shift ( 1 , 1 ) } else { out . write _shift ( 1 , val ? 1 : 0 ) ; out . wri
o . e . r = o . s . r ; return o } for ( idx = 0 ; i != len ; ++ i ) { if ( ( cc = range . charCodeAt ( i ) - 64 ) < 1 || cc > 26 ) break ; idx = 26 * idx + cc } o . e . c = -- idx ; for ( idx = 0 ; i != len ; ++ i ) { if ( ( cc = range . charCodeAt ( i ) - 48 ) < 0 || cc > 9 ) break ; idx = 10 * idx + cc } o . e . r = -- idx ; return o } function safe _format _cell ( cell , v ) { if ( cell . z !== undefined ) try { return cell . w = SSF . format ( cell . z , v ) } catch ( e ) { } if ( ! cell . XF ) return v ; try { return cell . w = SSF . format ( cell . XF . ifmt || 0 , v ) } catch ( e ) { return "" + v } } function format _cell ( cell , v ) { if ( cell == null || cell . t == null ) return "" ; if ( cell . w !== undefined ) return cell . w ; if ( v === undefined ) return safe _format _cell ( cell , cell . v ) ; return safe _format _cell ( cell , v ) } function sheet _to _json ( sheet , opts ) { var val , row , range , header = 0 , offset = 1 , r , hdr = [ ] , isempty , R , C , v ; var o = opts != null ? opts : { } ; var raw = o . raw ; if ( sheet == null || sheet [ "!ref" ] == null ) return [ ] ; range = o . range !== undefined ? o . range : sheet [ "!ref" ] ; if ( o . header === 1 ) header = 1 ; else if ( o . header === "A" ) header = 2 ; else if ( Array . isArray ( o . header ) ) header = 3 ; switch ( typeof range ) { case "string" : r = safe _decode _range ( range ) ; break ; case "number" : r = safe _decode _range ( sheet [ "!ref" ] ) ; r . s . r = range ; break ; default : r = range } if ( header > 0 ) offset = 0 ; var rr = encode _row ( r . s . r ) ; var cols = new Array ( r . e . c - r . s . c + 1 ) ; var out = new Array ( r . e . r - r . s . r - offset + 1 ) ; var outi = 0 ; for ( C = r . s . c ; C <= r . e . c ; ++ C ) { cols [ C ] = encode _col ( C ) ; val = sheet [ cols [ C ] + rr ] ; switch ( header ) { case 1 : hdr [ C ] = C ; break ; case 2 : hdr [ C ] = cols [ C ] ; break ; case 3 : hdr [ C ] = o . header [ C - r . s . c ] ; break ; default : if ( val === undefined ) continue ; hdr [ C ] = format _cell ( val ) } } for ( R = r . s . r + offset ; R <= r . e . r ; ++ R ) { rr = encode _row ( R ) ; isempty = true ; if ( header === 1 ) row = [ ] ; else { row = { } ; if ( Object . defineProperty ) Object . defineProperty ( row , "__rowNum__" , { value : R , enumerable : false } ) ; else row . _ _rowNum _ _ = R } for ( C = r . s . c ; C <= r . e . c ; ++ C ) { val = sheet [ cols [ C ] + rr ] ; if ( val === undefined || val . t === undefined ) continue ; v = val . v ; switch ( val . t ) { case "e" : continue ; case "s" : break ; case "b" : case "n" : break ; default : throw "unrecognized type " + val . t } if ( v !== undefined ) { row [ hdr [ C ] ] = raw ? v : format _cell ( val , v ) ; isempty = false } } if ( isempty === false || header === 1 ) out [ outi ++ ] = row } out . length = outi ; return out } function sheet _to _row _object _array ( sheet , opts ) { return sheet _to _json ( sheet , opts != null ? opts : { } ) } function sheet _to _csv ( sheet , opts ) { var out = "" , txt = "" , qreg = /"/g ; var o = opts == null ? { } : opts ; if ( sheet == null || sheet [ "!ref" ] == null ) return "" ; var r = safe _decode _range ( sheet [ "!ref" ] ) ; var FS = o . FS !== undefined ? o . FS : "," , fs = FS . charCodeAt ( 0 ) ; var RS = o . RS !== undefined ? o . RS : "\n" , rs = RS . charCodeAt ( 0 ) ; var row = "" , rr = "" , cols = [ ] ; var i = 0 , cc = 0 , val ; var R = 0 , C = 0 ; for ( C = r . s . c ; C <= r . e . c ; ++ C ) cols [ C ] = encode _col ( C ) ; for ( R = r . s . r ; R <= r . e . r ; ++ R ) { row = "" ; rr = encode _row ( R ) ; for ( C = r . s . c ; C <= r . e . c ; ++ C ) { val = sheet [ cols [ C ] + rr ] ; txt = val !== undefined ? "" + format _cell ( val ) : "" ; for ( i = 0 , cc = 0 ; i !== txt . length ; ++ i ) if ( ( cc = txt . charCodeAt ( i ) ) === fs || cc === rs || cc === 34 ) { txt = '"' + txt . replace ( qreg , '""' ) + '"' ; break } row += ( C === r . s . c ? "" : FS ) + txt } out += row + RS } return out } var make _csv = sheet _to _csv ; function sheet _to _formulae ( sheet ) { var y = "" , x , val = "" ; if ( sheet == null || sheet [ "!ref" ] == null ) return [ ] ; var r = safe _decode _range ( sheet [ "!ref" ] ) , rr = "" , cols = [ ] , C ; var cmds = new Array ( ( r . e . r - r . s . r + 1 ) * ( r . e . c - r . s . c + 1 ) ) ; var i = 0 ; for ( C = r . s . c ; C <= r . e . c ; ++ C ) cols [ C ] = encode _col ( C ) ; for ( var R = r . s . r ; R <= r . e . r ; ++ R ) { rr = encode _row ( R ) ; for ( C = r . s . c ; C <= r . e . c ; ++ C ) { y = cols [ C ] + rr ; x = sheet [ y ] ; val = "" ; if ( x === undefined ) continue ; else if ( x . F != null ) { y = x . F ; if ( ! x . f ) continue ; val = x . f ; if ( y . indexOf ( ":" ) == - 1 ) y = y + ":" + y } if ( x . f != null ) val = x . f ; else if ( x . t == "n" && x . v != null ) val = "" + x . v ; else if ( x . t == "b" ) val = x . v ? "TRUE" : "FALSE" ; else if ( x . w !== undefined ) val = "'" + x . w ; else if ( x . v === undefined ) continue ; else if ( x . t == "s" ) val = "'" + x . v ; else val = "" + x . v ; cmds [ i ++ ] = y + "=" + val } } cmds . length = i ; return cmds } var utils = { encode _col : encode _col , encode _row : encode _row , encode _cell : encode _cell , encode _range : encode _range , decode _col : decode _col , decode _row : decode _row , split _cell : split _cell , decode _cell : decode _cell , decode _range : decode _range , format _cell : format _cell , get _formulae : sheet _to _formulae , make _csv : sheet _to _csv , make _json : sheet _to _json , make _formulae : sheet _to _formulae , sheet _to _csv : sheet _to _csv , sheet _to _json : sheet _to _json , sheet _to _formulae : sheet _to _formulae , sheet _to _row _object _array : sheet _to _row _object _array } ; XLSX . parse _xlscfb = parse _xlscfb ; XLSX . parse _ods = parse