2022-04-09 14:27:46 +00:00

59 lines
38 KiB
Go

//
// Copyright 2020 FoxyUtils ehf. All rights reserved.
//
// This is a commercial product and requires a license to operate.
// A trial license can be obtained at https://unidoc.io
//
// DO NOT EDIT: generated by unitwist Go source code obfuscator.
//
// Use of this source code is governed by the UniDoc End User License Agreement
// terms that can be accessed at https://unidoc.io/eula/
// Package format provides support for parsing and evaluating
// spreadsheetml/Excel number formats.
//
// Internally spreadsheets store numbers and dates values as a text
// representation of a floating point number (e.g. 1.2345). This number is then
// displayed in Excel or another spreadsheet viewer differently depending on the
// number fornat of the cell style applied to the cell.
//
// As an example, the same value of 1.2345 can be displayed as:
// - "1" with format "0"
// - "1.2" with format "0.0"
// - "1.23" with format "0.00"
// - "1.235" with format "0.000"
// - "123%" with format "0%"
// - "1 23/100" with fornat "0 0/100"
// - "1.23E+00" with format "0.00E+00"
// - "29:37:41s" with format `[h]:mm:ss"s"`
package format ;import (_d "bytes";_c "fmt";_de "github.com/unidoc/unioffice/common/logger";_e "io";_f "math";_g "strconv";_bfg "strings";_bf "time";);var _ga =[...]uint8 {0,14,26,41,53,67,81,94,118,135,146,157,172,183};func IsNumber (data string )(_cba bool ){_bgb ,_fd ,_fbb :=0,0,len (data );_egdc :=len (data );_aba ,_ada ,_gccd :=0,0,0;_ =_ada ;_ =_gccd ;_ =_aba ;{_bgb =_fcc ;_aba =0;_ada =0;_gccd =0;};{if _fd ==_fbb {goto _ceg ;};switch _bgb {case 0:goto _ecc ;case 1:goto _fdc ;case 2:goto _dae ;case 3:goto _bfc ;case 4:goto _gge ;case 5:goto _bbd ;case 6:goto _fcg ;case 7:goto _fddf ;};goto _fbg ;_cfdd :_ada =_fd ;_fd --;{_cba =false ;};goto _gaa ;_abcc :_ada =_fd ;_fd --;{_cba =_ada ==len (data );};goto _gaa ;_fcce :_ada =_fd ;_fd --;{_cba =_ada ==len (data );};goto _gaa ;_dfe :switch _gccd {case 2:{_fd =(_ada )-1;_cba =_ada ==len (data );};case 3:{_fd =(_ada )-1;_cba =false ;};};goto _gaa ;_gaa :_aba =0;if _fd ++;_fd ==_fbb {goto _acd ;};_ecc :_aba =_fd ;switch data [_fd ]{case 43:goto _gcb ;case 45:goto _gcb ;};if 48<=data [_fd ]&&data [_fd ]<=57{goto _fdd ;};goto _eba ;_eba :if _fd ++;_fd ==_fbb {goto _fefe ;};_fdc :goto _eba ;_gcb :if _fd ++;_fd ==_fbb {goto _feg ;};_dae :if 48<=data [_fd ]&&data [_fd ]<=57{goto _fdd ;};goto _eba ;_fdd :if _fd ++;_fd ==_fbb {goto _cdd ;};_bfc :if data [_fd ]==46{goto _egg ;};if 48<=data [_fd ]&&data [_fd ]<=57{goto _fdd ;};goto _eba ;_egg :if _fd ++;_fd ==_fbb {goto _adfc ;};_gge :if 48<=data [_fd ]&&data [_fd ]<=57{goto _cbfg ;};goto _eba ;_cbfg :if _fd ++;_fd ==_fbb {goto _eac ;};_bbd :if data [_fd ]==69{goto _dee ;};if 48<=data [_fd ]&&data [_fd ]<=57{goto _cbfg ;};goto _eba ;_dee :if _fd ++;_fd ==_fbb {goto _gad ;};_fcg :switch data [_fd ]{case 43:goto _ead ;case 45:goto _ead ;};goto _eba ;_ead :_ada =_fd +1;_gccd =3;goto _gbd ;_dcgf :_ada =_fd +1;_gccd =2;goto _gbd ;_gbd :if _fd ++;_fd ==_fbb {goto _bbb ;};_fddf :if 48<=data [_fd ]&&data [_fd ]<=57{goto _dcgf ;};goto _eba ;_fbg :_acd :_bgb =0;goto _ceg ;_fefe :_bgb =1;goto _ceg ;_feg :_bgb =2;goto _ceg ;_cdd :_bgb =3;goto _ceg ;_adfc :_bgb =4;goto _ceg ;_eac :_bgb =5;goto _ceg ;_gad :_bgb =6;goto _ceg ;_bbb :_bgb =7;goto _ceg ;_ceg :{};if _fd ==_egdc {switch _bgb {case 1:goto _cfdd ;case 2:goto _cfdd ;case 3:goto _abcc ;case 4:goto _cfdd ;case 5:goto _fcce ;case 6:goto _cfdd ;case 7:goto _dfe ;};};};if _bgb ==_ecf {return false ;};return ;};
// Value formats a value as a number or string depending on if it appears to be
// a number or string.
func Value (v string ,f string )string {if IsNumber (v ){_cg ,_ :=_g .ParseFloat (v ,64);return Number (_cg ,f );};return String (v ,f );};
// Number is used to format a number with a format string. If the format
// string is empty, then General number formatting is used which attempts to mimic
// Excel's general formatting.
func Number (v float64 ,f string )string {if f ==""||f =="\u0047e\u006e\u0065\u0072\u0061\u006c"||f =="\u0040"{return NumberGeneric (v );};_cf :=Parse (f );if len (_cf )==1{return _gac (v ,_cf [0],false );}else if len (_cf )> 1&&v < 0{return _gac (v ,_cf [1],true );}else if len (_cf )> 2&&v ==0{return _gac (v ,_cf [2],false );};return _gac (v ,_cf [0],false );};const _df ="\u0046\u006d\u0074\u0054\u0079\u0070\u0065\u004c\u0069\u0074\u0065\u0072a\u006c\u0046\u006d\u0074\u0054\u0079\u0070\u0065\u0044\u0069\u0067\u0069\u0074\u0046\u006d\u0074\u0054y\u0070\u0065\u0044i\u0067\u0069\u0074\u004f\u0070\u0074\u0046\u006d\u0074\u0054\u0079\u0070\u0065\u0043o\u006d\u006d\u0061\u0046\u006d\u0074\u0054\u0079\u0070\u0065\u0044\u0065\u0063\u0069\u006da\u006c\u0046\u006d\u0074\u0054\u0079\u0070\u0065Pe\u0072\u0063e\u006e\u0074\u0046\u006d\u0074\u0054\u0079\u0070e\u0044\u006f\u006c\u006c\u0061\u0072\u0046\u006d\u0074Ty\u0070\u0065\u0044i\u0067\u0069\u0074\u004f\u0070\u0074\u0054\u0068\u006f\u0075\u0073\u0061n\u0064\u0073\u0046\u006d\u0074\u0054\u0079\u0070\u0065\u0055n\u0064\u0065\u0072\u0073c\u006f\u0072\u0065\u0046\u006d\u0074T\u0079\u0070\u0065\u0044\u0061\u0074\u0065\u0046\u006d\u0074\u0054y\u0070e\u0054\u0069\u006d\u0065\u0046\u006d\u0074\u0054\u0079\u0070\u0065\u0046\u0072\u0061\u0063t\u0069\u006f\u006e\u0046\u006dt\u0054\u0079\u0070\u0065\u0054e\u0078\u0074";const _ecf int =-1;const _cfc int =34;
// Format is a parsed number format.
type Format struct{Whole []Token ;Fractional []Token ;Exponent []Token ;IsExponential bool ;_gaf bool ;_fa bool ;_bd bool ;_a bool ;_ef bool ;_cca bool ;_ba int64 ;_fg int ;};func _fec (_gb ,_adf float64 ,_eff Format )[]byte {if len (_eff .Fractional )==0{return nil ;};_bb :=_g .AppendFloat (nil ,_gb ,'f',-1,64);if len (_bb )> 2{_bb =_bb [2:];}else {_bb =nil ;};_aa :=make ([]byte ,0,len (_bb ));_aa =append (_aa ,'.');_bgf :=0;_ce :for _dcd :=0;_dcd < len (_eff .Fractional );_dcd ++{_cbf :=_dcd ;_fade :=_eff .Fractional [_dcd ];switch _fade .Type {case FmtTypeDigit :if _cbf < len (_bb ){_aa =append (_aa ,_bb [_cbf ]);_bgf ++;}else {_aa =append (_aa ,'0');};case FmtTypeDigitOpt :if _cbf >=0{_aa =append (_aa ,_bb [_cbf ]);_bgf ++;}else {break _ce ;};case FmtTypeLiteral :_aa =append (_aa ,_fade .Literal );default:_de .Log .Debug ("\u0075\u006e\u0073\u0075\u0070\u0070o\u0072\u0074\u0065\u0064\u0020\u0074\u0079\u0070\u0065\u0020\u0069\u006e\u0020f\u0072\u0061\u0063\u0074\u0069\u006f\u006ea\u006c\u0020\u0025\u0076",_fade );};};return _aa ;};type Lexer struct{_eggc Format ;_eacb []Format ;};
// Token is a format token in the Excel format string.
type Token struct{Type FmtType ;Literal byte ;DateTime string ;};const _bed int =34;func _gf (_gcg []byte )[]byte {for _fce :=0;_fce < len (_gcg )/2;_fce ++{_ccg :=len (_gcg )-1-_fce ;_gcg [_fce ],_gcg [_ccg ]=_gcg [_ccg ],_gcg [_fce ];};return _gcg ;};
// AddToken adds a format token to the format.
func (_dg *Format )AddToken (t FmtType ,l []byte ){if _dg ._ef {_dg ._ef =false ;return ;};switch t {case FmtTypeDecimal :_dg ._cca =true ;case FmtTypeUnderscore :_dg ._ef =true ;case FmtTypeText :_dg .Whole =append (_dg .Whole ,Token {Type :t });case FmtTypeDate ,FmtTypeTime :_dg .Whole =append (_dg .Whole ,Token {Type :t ,DateTime :string (l )});case FmtTypePercent :_dg ._fa =true ;t =FmtTypeLiteral ;l =[]byte {'%'};fallthrough;case FmtTypeDigitOpt :fallthrough;case FmtTypeLiteral ,FmtTypeDigit ,FmtTypeDollar ,FmtTypeComma :if l ==nil {l =[]byte {0};};for _ ,_ff :=range l {if _dg .IsExponential {_dg .Exponent =append (_dg .Exponent ,Token {Type :t ,Literal :_ff });}else if !_dg ._cca {_dg .Whole =append (_dg .Whole ,Token {Type :t ,Literal :_ff });}else {_dg .Fractional =append (_dg .Fractional ,Token {Type :t ,Literal :_ff });};};case FmtTypeDigitOptThousands :_dg ._a =true ;case FmtTypeFraction :_deg :=_bfg .Split (string (l ),"\u002f");if len (_deg )==2{_dg ._gaf =true ;_dg ._ba ,_ =_g .ParseInt (_deg [1],10,64);for _ ,_cbg :=range _deg [1]{if _cbg =='?'||_cbg =='0'{_dg ._fg ++;};};};default:_de .Log .Debug ("\u0075\u006e\u0073u\u0070\u0070\u006f\u0072t\u0065\u0064\u0020\u0070\u0068\u0020\u0074y\u0070\u0065\u0020\u0069\u006e\u0020\u0070\u0061\u0072\u0073\u0065\u0020\u0025\u0076",t );};};func _cde (_fgb _bf .Time ,_eaf float64 ,_ae string )[]byte {_egd :=[]byte {};_cad :=0;for _gdb :=0;_gdb < len (_ae );_gdb ++{var _efb string ;if _ae [_gdb ]==':'{_efb =string (_ae [_cad :_gdb ]);_cad =_gdb +1;}else if _gdb ==len (_ae )-1{_efb =string (_ae [_cad :_gdb +1]);}else {continue ;};switch _efb {case "\u0064":_egd =_fgb .AppendFormat (_egd ,"\u0032");case "\u0068":_egd =_fgb .AppendFormat (_egd ,"\u0033");case "\u0068\u0068":_egd =_fgb .AppendFormat (_egd ,"\u0031\u0035");case "\u006d":_egd =_fgb .AppendFormat (_egd ,"\u0034");case "\u006d\u006d":_egd =_fgb .AppendFormat (_egd ,"\u0030\u0034");case "\u0073":_egd =_fgb .Round (_bf .Second ).AppendFormat (_egd ,"\u0035");case "\u0073\u002e\u0030":_egd =_fgb .Round (_bf .Second /10).AppendFormat (_egd ,"\u0035\u002e\u0030");case "\u0073\u002e\u0030\u0030":_egd =_fgb .Round (_bf .Second /100).AppendFormat (_egd ,"\u0035\u002e\u0030\u0030");case "\u0073\u002e\u00300\u0030":_egd =_fgb .Round (_bf .Second /1000).AppendFormat (_egd ,"\u0035\u002e\u00300\u0030");case "\u0073\u0073":_egd =_fgb .Round (_bf .Second ).AppendFormat (_egd ,"\u0030\u0035");case "\u0073\u0073\u002e\u0030":_egd =_fgb .Round (_bf .Second /10).AppendFormat (_egd ,"\u0030\u0035\u002e\u0030");case "\u0073\u0073\u002e0\u0030":_egd =_fgb .Round (_bf .Second /100).AppendFormat (_egd ,"\u0030\u0035\u002e0\u0030");case "\u0073\u0073\u002e\u0030\u0030\u0030":_egd =_fgb .Round (_bf .Second /1000).AppendFormat (_egd ,"\u0030\u0035\u002e\u0030\u0030\u0030");case "\u0041\u004d\u002fP\u004d":_egd =_fgb .AppendFormat (_egd ,"\u0050\u004d");case "\u005b\u0068\u005d":_egd =_g .AppendInt (_egd ,int64 (_eaf *24),10);case "\u005b\u006d\u005d":_egd =_g .AppendInt (_egd ,int64 (_eaf *24*60),10);case "\u005b\u0073\u005d":_egd =_g .AppendInt (_egd ,int64 (_eaf *24*60*60),10);case "":default:_de .Log .Debug ("\u0075\u006e\u0073\u0075\u0070\u0070\u006f\u0072\u0074\u0065\u0064 \u0074\u0069\u006d\u0065\u0020\u0066\u006f\u0072\u006d\u0061t\u0020\u0025\u0073",_efb );};if _ae [_gdb ]==':'{_egd =append (_egd ,':');};};return _egd ;};
// String returns the string formatted according to the type. In format strings
// this is the fourth item, where '@' is used as a placeholder for text.
func String (v string ,f string )string {_fc :=Parse (f );var _cfb Format ;if len (_fc )==1{_cfb =_fc [0];}else if len (_fc )==4{_cfb =_fc [3];};_gd :=false ;for _ ,_cge :=range _cfb .Whole {if _cge .Type ==FmtTypeText {_gd =true ;};};if !_gd {return v ;};_gc :=_d .Buffer {};for _ ,_bae :=range _cfb .Whole {switch _bae .Type {case FmtTypeLiteral :_gc .WriteByte (_bae .Literal );case FmtTypeText :_gc .WriteString (v );};};return _gc .String ();};
// NumberGeneric formats the number with the generic format which attemps to
// mimic Excel's general formatting.
func NumberGeneric (v float64 )string {if _f .Abs (v )>=_bc ||_f .Abs (v )<=_cc &&v !=0{return _bba (v );};_ccc :=make ([]byte ,0,15);_ccc =_g .AppendFloat (_ccc ,v ,'f',-1,64);if len (_ccc )> 11{_caf :=_ccc [11]-'0';if _caf >=5&&_caf <=9{_ccc [10]++;_ccc =_ccc [0:11];_ccc =_fgc (_ccc );};_ccc =_ccc [0:11];}else if len (_ccc )==11{if _ccc [len (_ccc )-1]=='9'{_ccc [len (_ccc )-1]++;_ccc =_fgc (_ccc );};};_ccc =_bgfg (_ccc );return string (_ccc );};func (_abb *Lexer )nextFmt (){_abb ._eacb =append (_abb ._eacb ,_abb ._eggc );_abb ._eggc =Format {}};const _fab int =0;const _cc =1e-10;func Parse (s string )[]Format {_efg :=Lexer {};_efg .Lex (_bfg .NewReader (s ));_efg ._eacb =append (_efg ._eacb ,_efg ._eggc );return _efg ._eacb ;};
// FmtType is the type of a format token.
//go:generate stringer -type=FmtType
type FmtType byte ;func (_adef *Lexer )Lex (r _e .Reader ){_faf ,_bdd ,_aeb :=0,0,0;_ebb :=-1;_badb ,_fde ,_bcff :=0,0,0;_ =_fde ;_ =_bcff ;_ddf :=1;_ =_ddf ;_fag :=make ([]byte ,4096);_ddgf :=false ;for !_ddgf {_acfc :=0;if _badb > 0{_acfc =_bdd -_badb ;};_bdd =0;_gbe ,_deef :=r .Read (_fag [_acfc :]);if _gbe ==0||_deef !=nil {_ddgf =true ;};_aeb =_gbe +_acfc ;if _aeb < len (_fag ){_ebb =_aeb ;};{_faf =_bed ;_badb =0;_fde =0;_bcff =0;};{if _bdd ==_aeb {goto _abce ;};switch _faf {case 34:goto _aab ;case 35:goto _baa ;case 0:goto _eec ;case 36:goto _bda ;case 37:goto _cgfc ;case 1:goto _acdf ;case 2:goto _cddg ;case 38:goto _aff ;case 3:goto _dgf ;case 4:goto _agb ;case 39:goto _aad ;case 5:goto _aebd ;case 6:goto _gca ;case 7:goto _ddgc ;case 8:goto _cdff ;case 40:goto _bbbe ;case 9:goto _eeb ;case 41:goto _abg ;case 10:goto _abgg ;case 42:goto _fdeb ;case 11:goto _fcdf ;case 43:goto _cac ;case 44:goto _fgd ;case 45:goto _gfec ;case 12:goto _eab ;case 46:goto _ffcb ;case 13:goto _dag ;case 14:goto _dcdc ;case 15:goto _ggd ;case 16:goto _gfg ;case 47:goto _cdfe ;case 17:goto _dbcf ;case 48:goto _beb ;case 18:goto _ggb ;case 19:goto _dba ;case 20:goto _fage ;case 49:goto _dcdf ;case 50:goto _aabd ;case 21:goto _fddd ;case 22:goto _gdbd ;case 23:goto _bga ;case 24:goto _fegf ;case 25:goto _fbee ;case 51:goto _fagd ;case 26:goto _efa ;case 52:goto _ffbc ;case 53:goto _bdee ;case 54:goto _ffgb ;case 55:goto _ddgg ;case 56:goto _gfd ;case 57:goto _dgd ;case 27:goto _edf ;case 28:goto _gead ;case 29:goto _bag ;case 30:goto _eaad ;case 31:goto _bafb ;case 58:goto _fge ;case 32:goto _dea ;case 59:goto _bef ;case 33:goto _fbgg ;case 60:goto _bdab ;case 61:goto _fcdb ;case 62:goto _agba ;};goto _cbeb ;_ffc :switch _bcff {case 2:{_bdd =(_fde )-1;_adef ._eggc .AddToken (FmtTypeDigit ,nil );};case 3:{_bdd =(_fde )-1;_adef ._eggc .AddToken (FmtTypeDigitOpt ,nil );};case 5:{_bdd =(_fde )-1;};case 8:{_bdd =(_fde )-1;_adef ._eggc .AddToken (FmtTypePercent ,nil );};case 13:{_bdd =(_fde )-1;_adef ._eggc .AddToken (FmtTypeFraction ,_fag [_badb :_fde ]);};case 14:{_bdd =(_fde )-1;_adef ._eggc .AddToken (FmtTypeDate ,_fag [_badb :_fde ]);};case 15:{_bdd =(_fde )-1;_adef ._eggc .AddToken (FmtTypeTime ,_fag [_badb :_fde ]);};case 16:{_bdd =(_fde )-1;_adef ._eggc .AddToken (FmtTypeTime ,_fag [_badb :_fde ]);};case 18:{_bdd =(_fde )-1;};case 20:{_bdd =(_fde )-1;_adef ._eggc .AddToken (FmtTypeLiteral ,_fag [_badb :_fde ]);};case 21:{_bdd =(_fde )-1;_adef ._eggc .AddToken (FmtTypeLiteral ,_fag [_badb +1:_fde -1]);};};goto _fddb ;_beg :_bdd =(_fde )-1;{_adef ._eggc .AddToken (FmtTypeFraction ,_fag [_badb :_fde ]);};goto _fddb ;_ecfb :_bdd =(_fde )-1;{_adef ._eggc .AddToken (FmtTypeDigitOpt ,nil );};goto _fddb ;_agf :_fde =_bdd +1;{_adef ._eggc .AddToken (FmtTypeDigitOptThousands ,nil );};goto _fddb ;_egda :_bdd =(_fde )-1;{_adef ._eggc .AddToken (FmtTypePercent ,nil );};goto _fddb ;_fced :_bdd =(_fde )-1;{_adef ._eggc .AddToken (FmtTypeDate ,_fag [_badb :_fde ]);};goto _fddb ;_fcag :_bdd =(_fde )-1;{_adef ._eggc .AddToken (FmtTypeDigit ,nil );};goto _fddb ;_ebba :_bdd =(_fde )-1;{_adef ._eggc .AddToken (FmtTypeTime ,_fag [_badb :_fde ]);};goto _fddb ;_bce :_bdd =(_fde )-1;{_adef ._eggc .AddToken (FmtTypeLiteral ,_fag [_badb :_fde ]);};goto _fddb ;_dcdd :_fde =_bdd +1;{_adef ._eggc ._bd =true ;};goto _fddb ;_debe :_fde =_bdd +1;{_adef ._eggc .AddToken (FmtTypeLiteral ,_fag [_badb :_fde ]);};goto _fddb ;_fcd :_fde =_bdd +1;{_adef ._eggc .AddToken (FmtTypeDollar ,nil );};goto _fddb ;_efba :_fde =_bdd +1;{_adef ._eggc .AddToken (FmtTypeComma ,nil );};goto _fddb ;_dbc :_fde =_bdd +1;{_adef ._eggc .AddToken (FmtTypeDecimal ,nil );};goto _fddb ;_add :_fde =_bdd +1;{_adef .nextFmt ();};goto _fddb ;_dfc :_fde =_bdd +1;{_adef ._eggc .AddToken (FmtTypeText ,nil );};goto _fddb ;_agedd :_fde =_bdd +1;{_adef ._eggc .AddToken (FmtTypeUnderscore ,nil );};goto _fddb ;_agg :_fde =_bdd ;_bdd --;{_adef ._eggc .AddToken (FmtTypeLiteral ,_fag [_badb :_fde ]);};goto _fddb ;_abca :_fde =_bdd ;_bdd --;{_adef ._eggc .AddToken (FmtTypeLiteral ,_fag [_badb +1:_fde -1]);};goto _fddb ;_gbb :_fde =_bdd ;_bdd --;{_adef ._eggc .AddToken (FmtTypeDigitOpt ,nil );};goto _fddb ;_aag :_fde =_bdd ;_bdd --;{_adef ._eggc .AddToken (FmtTypeFraction ,_fag [_badb :_fde ]);};goto _fddb ;_adcf :_fde =_bdd ;_bdd --;{_adef ._eggc .AddToken (FmtTypePercent ,nil );};goto _fddb ;_cbb :_fde =_bdd ;_bdd --;{_adef ._eggc .AddToken (FmtTypeDate ,_fag [_badb :_fde ]);};goto _fddb ;_dcc :_fde =_bdd ;_bdd --;{_adef ._eggc .AddToken (FmtTypeDigit ,nil );};goto _fddb ;_fcae :_fde =_bdd ;_bdd --;{_adef ._eggc .AddToken (FmtTypeTime ,_fag [_badb :_fde ]);};goto _fddb ;_eeg :_fde =_bdd ;_bdd --;{};goto _fddb ;_aac :_fde =_bdd +1;{_adef ._eggc .IsExponential =true ;};goto _fddb ;_bfca :_fde =_bdd +1;{_adef ._eggc .AddToken (FmtTypeLiteral ,_fag [_badb +1:_fde ]);};goto _fddb ;_fddb :_badb =0;if _bdd ++;_bdd ==_aeb {goto _ffgg ;};_aab :_badb =_bdd ;switch _fag [_bdd ]{case 34:goto _eadd ;case 35:goto _cdf ;case 36:goto _fcd ;case 37:goto _bee ;case 44:goto _efba ;case 46:goto _dbc ;case 47:goto _bfa ;case 48:goto _dgc ;case 58:goto _adb ;case 59:goto _add ;case 63:goto _ecd ;case 64:goto _dfc ;case 65:goto _affd ;case 69:goto _fcaf ;case 71:goto _ggfb ;case 91:goto _bggd ;case 92:goto _bggdf ;case 95:goto _agedd ;case 100:goto _bfa ;case 104:goto _adb ;case 109:goto _egde ;case 115:goto _eee ;case 121:goto _ffgd ;};if 49<=_fag [_bdd ]&&_fag [_bdd ]<=57{goto _gfeb ;};goto _debe ;_eadd :_fde =_bdd +1;_bcff =20;goto _bbdb ;_bbdb :if _bdd ++;_bdd ==_aeb {goto _aec ;};_baa :if _fag [_bdd ]==34{goto _eaa ;};goto _abde ;_abde :if _bdd ++;_bdd ==_aeb {goto _caea ;};_eec :if _fag [_bdd ]==34{goto _eaa ;};goto _abde ;_eaa :_fde =_bdd +1;_bcff =21;goto _ffe ;_ffe :if _bdd ++;_bdd ==_aeb {goto _ffeb ;};_bda :if _fag [_bdd ]==34{goto _abde ;};goto _abca ;_cdf :_fde =_bdd +1;_bcff =3;goto _aaa ;_aaa :if _bdd ++;_bdd ==_aeb {goto _fgf ;};_cgfc :switch _fag [_bdd ]{case 35:goto _cgfg ;case 37:goto _cgfg ;case 44:goto _fdfe ;case 47:goto _eedd ;case 48:goto _cgfg ;case 63:goto _cgfg ;};goto _gbb ;_cgfg :if _bdd ++;_bdd ==_aeb {goto _ecfa ;};_acdf :switch _fag [_bdd ]{case 35:goto _cgfg ;case 37:goto _cgfg ;case 47:goto _eedd ;case 48:goto _cgfg ;case 63:goto _cgfg ;};goto _ffc ;_eedd :if _bdd ++;_bdd ==_aeb {goto _bgde ;};_cddg :switch _fag [_bdd ]{case 35:goto _cag ;case 37:goto _bde ;case 48:goto _afae ;case 63:goto _cag ;};if 49<=_fag [_bdd ]&&_fag [_bdd ]<=57{goto _aaaf ;};goto _ffc ;_cag :_fde =_bdd +1;goto _fgca ;_fgca :if _bdd ++;_bdd ==_aeb {goto _bcg ;};_aff :switch _fag [_bdd ]{case 35:goto _cag ;case 37:goto _cag ;case 44:goto _cag ;case 46:goto _cag ;case 48:goto _cag ;case 63:goto _cag ;case 65:goto _cgeb ;};goto _aag ;_cgeb :if _bdd ++;_bdd ==_aeb {goto _dca ;};_dgf :switch _fag [_bdd ]{case 47:goto _gbbc ;case 77:goto _gee ;};goto _beg ;_gbbc :if _bdd ++;_bdd ==_aeb {goto _feb ;};_agb :if _fag [_bdd ]==80{goto _fbe ;};goto _beg ;_fbe :_fde =_bdd +1;goto _gea ;_gea :if _bdd ++;_bdd ==_aeb {goto _ddd ;};_aad :if _fag [_bdd ]==65{goto _cgeb ;};goto _aag ;_gee :if _bdd ++;_bdd ==_aeb {goto _bdffe ;};_aebd :if _fag [_bdd ]==47{goto _dcgfd ;};goto _beg ;_dcgfd :if _bdd ++;_bdd ==_aeb {goto _fgee ;};_gca :if _fag [_bdd ]==80{goto _bbc ;};goto _beg ;_bbc :if _bdd ++;_bdd ==_aeb {goto _ecca ;};_ddgc :if _fag [_bdd ]==77{goto _fbe ;};goto _beg ;_bde :if _bdd ++;_bdd ==_aeb {goto _dgce ;};_cdff :switch _fag [_bdd ]{case 35:goto _aeg ;case 37:goto _fcge ;case 63:goto _aeg ;};if 48<=_fag [_bdd ]&&_fag [_bdd ]<=57{goto _dbgc ;};goto _ffc ;_aeg :_fde =_bdd +1;goto _bgc ;_bgc :if _bdd ++;_bdd ==_aeb {goto _cdb ;};_bbbe :switch _fag [_bdd ]{case 35:goto _cag ;case 37:goto _bfe ;case 44:goto _cag ;case 46:goto _cag ;case 48:goto _cag ;case 63:goto _cag ;case 65:goto _cgeb ;};goto _aag ;_bfe :if _bdd ++;_bdd ==_aeb {goto _bbff ;};_eeb :switch _fag [_bdd ]{case 35:goto _cddd ;case 44:goto _cddd ;case 46:goto _cddd ;case 48:goto _cddd ;case 63:goto _cddd ;};goto _beg ;_cddd :_fde =_bdd +1;goto _aagb ;_aagb :if _bdd ++;_bdd ==_aeb {goto _cggf ;};_abg :switch _fag [_bdd ]{case 35:goto _cddd ;case 44:goto _cddd ;case 46:goto _cddd ;case 48:goto _cddd ;case 63:goto _cddd ;case 65:goto _cgeb ;};goto _aag ;_fcge :if _bdd ++;_bdd ==_aeb {goto _egb ;};_abgg :if _fag [_bdd ]==37{goto _fcge ;};if 48<=_fag [_bdd ]&&_fag [_bdd ]<=57{goto _dbgc ;};goto _ffc ;_dbgc :_fde =_bdd +1;_bcff =13;goto _gdg ;_gdg :if _bdd ++;_bdd ==_aeb {goto _bddg ;};_fdeb :switch _fag [_bdd ]{case 35:goto _cag ;case 37:goto _bgd ;case 44:goto _cag ;case 46:goto _cag ;case 48:goto _bcd ;case 63:goto _cag ;case 65:goto _cgeb ;};if 49<=_fag [_bdd ]&&_fag [_bdd ]<=57{goto _dbgc ;};goto _aag ;_bgd :if _bdd ++;_bdd ==_aeb {goto _fbbd ;};_fcdf :switch _fag [_bdd ]{case 35:goto _cddd ;case 37:goto _fcge ;case 44:goto _cddd ;case 46:goto _cddd ;case 63:goto _cddd ;};if 48<=_fag [_bdd ]&&_fag [_bdd ]<=57{goto _dbgc ;};goto _beg ;_bcd :_fde =_bdd +1;goto _daef ;_daef :if _bdd ++;_bdd ==_aeb {goto _gff ;};_cac :switch _fag [_bdd ]{case 35:goto _cag ;case 37:goto _bcd ;case 44:goto _cag ;case 46:goto _cag ;case 48:goto _bcd ;case 63:goto _cag ;case 65:goto _cgeb ;};if 49<=_fag [_bdd ]&&_fag [_bdd ]<=57{goto _dbgc ;};goto _aag ;_afae :_fde =_bdd +1;goto _ebaa ;_ebaa :if _bdd ++;_bdd ==_aeb {goto _gdae ;};_fgd :switch _fag [_bdd ]{case 35:goto _cag ;case 37:goto _bcd ;case 44:goto _cag ;case 46:goto _cag ;case 48:goto _afae ;case 63:goto _cag ;case 65:goto _cgeb ;};if 49<=_fag [_bdd ]&&_fag [_bdd ]<=57{goto _aaaf ;};goto _aag ;_aaaf :_fde =_bdd +1;goto _eae ;_eae :if _bdd ++;_bdd ==_aeb {goto _afg ;};_gfec :switch _fag [_bdd ]{case 35:goto _cag ;case 37:goto _dbgc ;case 44:goto _cag ;case 46:goto _cag ;case 48:goto _afae ;case 63:goto _cag ;case 65:goto _cgeb ;};if 49<=_fag [_bdd ]&&_fag [_bdd ]<=57{goto _aaaf ;};goto _aag ;_fdfe :if _bdd ++;_bdd ==_aeb {goto _cace ;};_eab :if _fag [_bdd ]==35{goto _agf ;};goto _ecfb ;_bee :_fde =_bdd +1;_bcff =8;goto _aabg ;_aabg :if _bdd ++;_bdd ==_aeb {goto _bddb ;};_ffcb :switch _fag [_bdd ]{case 35:goto _baf ;case 37:goto _gdd ;case 48:goto _bbf ;case 63:goto _baf ;};if 49<=_fag [_bdd ]&&_fag [_bdd ]<=57{goto _gag ;};goto _adcf ;_baf :if _bdd ++;_bdd ==_aeb {goto _gegg ;};_dag :switch _fag [_bdd ]{case 35:goto _baf ;case 47:goto _eedd ;case 48:goto _baf ;case 63:goto _baf ;};goto _egda ;_gdd :if _bdd ++;_bdd ==_aeb {goto _aggf ;};_dcdc :if _fag [_bdd ]==37{goto _gdd ;};if 48<=_fag [_bdd ]&&_fag [_bdd ]<=57{goto _gag ;};goto _ffc ;_gag :if _bdd ++;_bdd ==_aeb {goto _eabe ;};_ggd :switch _fag [_bdd ]{case 37:goto _gdd ;case 47:goto _eedd ;};if 48<=_fag [_bdd ]&&_fag [_bdd ]<=57{goto _gag ;};goto _ffc ;_bbf :if _bdd ++;_bdd ==_aeb {goto _ggae ;};_gfg :switch _fag [_bdd ]{case 35:goto _baf ;case 37:goto _gdd ;case 47:goto _eedd ;case 48:goto _bbf ;case 63:goto _baf ;};if 49<=_fag [_bdd ]&&_fag [_bdd ]<=57{goto _gag ;};goto _egda ;_bfa :_fde =_bdd +1;goto _gda ;_gda :if _bdd ++;_bdd ==_aeb {goto _cff ;};_cdfe :switch _fag [_bdd ]{case 47:goto _bfa ;case 100:goto _bfa ;case 109:goto _bfa ;case 121:goto _bgbg ;};goto _cbb ;_bgbg :if _bdd ++;_bdd ==_aeb {goto _dfb ;};_dbcf :if _fag [_bdd ]==121{goto _bfa ;};goto _fced ;_dgc :_fde =_bdd +1;_bcff =2;goto _dedf ;_dedf :if _bdd ++;_bdd ==_aeb {goto _bgda ;};_beb :switch _fag [_bdd ]{case 35:goto _cgfg ;case 37:goto _dce ;case 47:goto _eedd ;case 48:goto _gcad ;case 63:goto _cgfg ;};if 49<=_fag [_bdd ]&&_fag [_bdd ]<=57{goto _fba ;};goto _dcc ;_dce :if _bdd ++;_bdd ==_aeb {goto _bdba ;};_ggb :switch _fag [_bdd ]{case 35:goto _cgfg ;case 37:goto _dce ;case 47:goto _eedd ;case 48:goto _dce ;case 63:goto _cgfg ;};if 49<=_fag [_bdd ]&&_fag [_bdd ]<=57{goto _gag ;};goto _fcag ;_gcad :if _bdd ++;_bdd ==_aeb {goto _dcf ;};_dba :switch _fag [_bdd ]{case 35:goto _cgfg ;case 37:goto _dce ;case 47:goto _eedd ;case 48:goto _gcad ;case 63:goto _cgfg ;};if 49<=_fag [_bdd ]&&_fag [_bdd ]<=57{goto _fba ;};goto _fcag ;_fba :if _bdd ++;_bdd ==_aeb {goto _cffd ;};_fage :switch _fag [_bdd ]{case 37:goto _gag ;case 47:goto _eedd ;};if 48<=_fag [_bdd ]&&_fag [_bdd ]<=57{goto _fba ;};goto _ffc ;_gfeb :_fde =_bdd +1;_bcff =20;goto _ffce ;_ffce :if _bdd ++;_bdd ==_aeb {goto _cdca ;};_dcdf :switch _fag [_bdd ]{case 37:goto _gag ;case 47:goto _eedd ;};if 48<=_fag [_bdd ]&&_fag [_bdd ]<=57{goto _fba ;};goto _agg ;_adb :_fde =_bdd +1;_bcff =15;goto _gdfe ;_gdfe :if _bdd ++;_bdd ==_aeb {goto _fgcd ;};_aabd :switch _fag [_bdd ]{case 58:goto _adb ;case 65:goto _affc ;case 104:goto _adb ;case 109:goto _adb ;case 115:goto _eee ;};goto _fcae ;_affc :if _bdd ++;_bdd ==_aeb {goto _bgfc ;};_fddd :switch _fag [_bdd ]{case 47:goto _gfgc ;case 77:goto _gcd ;};goto _ffc ;_gfgc :if _bdd ++;_bdd ==_aeb {goto _ece ;};_gdbd :if _fag [_bdd ]==80{goto _adb ;};goto _ffc ;_gcd :if _bdd ++;_bdd ==_aeb {goto _bbcf ;};_bga :if _fag [_bdd ]==47{goto _egce ;};goto _ffc ;_egce :if _bdd ++;_bdd ==_aeb {goto _fdde ;};_fegf :if _fag [_bdd ]==80{goto _ccf ;};goto _ffc ;_ccf :if _bdd ++;_bdd ==_aeb {goto _gafg ;};_fbee :if _fag [_bdd ]==77{goto _adb ;};goto _ffc ;_eee :_fde =_bdd +1;_bcff =15;goto _bfag ;_bfag :if _bdd ++;_bdd ==_aeb {goto _ccga ;};_fagd :switch _fag [_bdd ]{case 46:goto _edb ;case 58:goto _adb ;case 65:goto _affc ;case 104:goto _adb ;case 109:goto _adb ;case 115:goto _eee ;};goto _fcae ;_edb :if _bdd ++;_bdd ==_aeb {goto _gdfa ;};_efa :if _fag [_bdd ]==48{goto _dbgg ;};goto _ebba ;_dbgg :_fde =_bdd +1;_bcff =15;goto _aaf ;_aaf :if _bdd ++;_bdd ==_aeb {goto _afdg ;};_ffbc :switch _fag [_bdd ]{case 48:goto _def ;case 58:goto _adb ;case 65:goto _affc ;case 104:goto _adb ;case 109:goto _adb ;case 115:goto _eee ;};goto _fcae ;_def :_fde =_bdd +1;_bcff =15;goto _cae ;_cae :if _bdd ++;_bdd ==_aeb {goto _dde ;};_bdee :switch _fag [_bdd ]{case 48:goto _adb ;case 58:goto _adb ;case 65:goto _affc ;case 104:goto _adb ;case 109:goto _adb ;case 115:goto _eee ;};goto _fcae ;_ecd :_fde =_bdd +1;_bcff =5;goto _cee ;_cee :if _bdd ++;_bdd ==_aeb {goto _bbdc ;};_ffgb :switch _fag [_bdd ]{case 35:goto _cgfg ;case 37:goto _cgfg ;case 47:goto _eedd ;case 48:goto _cgfg ;case 63:goto _cgfg ;};goto _eeg ;_affd :_fde =_bdd +1;_bcff =20;goto _cbfa ;_cbfa :if _bdd ++;_bdd ==_aeb {goto _dcdff ;};_ddgg :switch _fag [_bdd ]{case 47:goto _gfgc ;case 77:goto _gcd ;};goto _agg ;_fcaf :if _bdd ++;_bdd ==_aeb {goto _fgg ;};_gfd :switch _fag [_bdd ]{case 43:goto _aac ;case 45:goto _aac ;};goto _agg ;_ggfb :_fde =_bdd +1;goto _ebeb ;_ebeb :if _bdd ++;_bdd ==_aeb {goto _gcag ;};_dgd :if _fag [_bdd ]==101{goto _dec ;};goto _agg ;_dec :if _bdd ++;_bdd ==_aeb {goto _bfgc ;};_edf :if _fag [_bdd ]==110{goto _ccfa ;};goto _bce ;_ccfa :if _bdd ++;_bdd ==_aeb {goto _eebe ;};_gead :if _fag [_bdd ]==101{goto _cbec ;};goto _bce ;_cbec :if _bdd ++;_bdd ==_aeb {goto _bfea ;};_bag :if _fag [_bdd ]==114{goto _aage ;};goto _bce ;_aage :if _bdd ++;_bdd ==_aeb {goto _cdcb ;};_eaad :if _fag [_bdd ]==97{goto _cagd ;};goto _bce ;_cagd :if _bdd ++;_bdd ==_aeb {goto _ccb ;};_bafb :if _fag [_bdd ]==108{goto _dcdd ;};goto _bce ;_bggd :_fde =_bdd +1;_bcff =20;goto _ebf ;_ebf :if _bdd ++;_bdd ==_aeb {goto _aef ;};_fge :switch _fag [_bdd ]{case 104:goto _bbe ;case 109:goto _bbe ;case 115:goto _bbe ;};goto _cdc ;_cdc :if _bdd ++;_bdd ==_aeb {goto _cbgg ;};_dea :if _fag [_bdd ]==93{goto _bdg ;};goto _cdc ;_bdg :_fde =_bdd +1;_bcff =18;goto _bagc ;_gdbc :_fde =_bdd +1;_bcff =16;goto _bagc ;_bagc :if _bdd ++;_bdd ==_aeb {goto _afaf ;};_bef :if _fag [_bdd ]==93{goto _bdg ;};goto _cdc ;_bbe :if _bdd ++;_bdd ==_aeb {goto _dab ;};_fbgg :if _fag [_bdd ]==93{goto _gdbc ;};goto _cdc ;_bggdf :if _bdd ++;_bdd ==_aeb {goto _debd ;};_bdab :goto _bfca ;_egde :_fde =_bdd +1;_bcff =14;goto _fagc ;_fagc :if _bdd ++;_bdd ==_aeb {goto _effg ;};_fcdb :switch _fag [_bdd ]{case 47:goto _bfa ;case 58:goto _adb ;case 65:goto _affc ;case 100:goto _bfa ;case 104:goto _adb ;case 109:goto _egde ;case 115:goto _eee ;case 121:goto _bgbg ;};goto _cbb ;_ffgd :if _bdd ++;_bdd ==_aeb {goto _dagf ;};_agba :if _fag [_bdd ]==121{goto _bfa ;};goto _agg ;_cbeb :_ffgg :_faf =34;goto _abce ;_aec :_faf =35;goto _abce ;_caea :_faf =0;goto _abce ;_ffeb :_faf =36;goto _abce ;_fgf :_faf =37;goto _abce ;_ecfa :_faf =1;goto _abce ;_bgde :_faf =2;goto _abce ;_bcg :_faf =38;goto _abce ;_dca :_faf =3;goto _abce ;_feb :_faf =4;goto _abce ;_ddd :_faf =39;goto _abce ;_bdffe :_faf =5;goto _abce ;_fgee :_faf =6;goto _abce ;_ecca :_faf =7;goto _abce ;_dgce :_faf =8;goto _abce ;_cdb :_faf =40;goto _abce ;_bbff :_faf =9;goto _abce ;_cggf :_faf =41;goto _abce ;_egb :_faf =10;goto _abce ;_bddg :_faf =42;goto _abce ;_fbbd :_faf =11;goto _abce ;_gff :_faf =43;goto _abce ;_gdae :_faf =44;goto _abce ;_afg :_faf =45;goto _abce ;_cace :_faf =12;goto _abce ;_bddb :_faf =46;goto _abce ;_gegg :_faf =13;goto _abce ;_aggf :_faf =14;goto _abce ;_eabe :_faf =15;goto _abce ;_ggae :_faf =16;goto _abce ;_cff :_faf =47;goto _abce ;_dfb :_faf =17;goto _abce ;_bgda :_faf =48;goto _abce ;_bdba :_faf =18;goto _abce ;_dcf :_faf =19;goto _abce ;_cffd :_faf =20;goto _abce ;_cdca :_faf =49;goto _abce ;_fgcd :_faf =50;goto _abce ;_bgfc :_faf =21;goto _abce ;_ece :_faf =22;goto _abce ;_bbcf :_faf =23;goto _abce ;_fdde :_faf =24;goto _abce ;_gafg :_faf =25;goto _abce ;_ccga :_faf =51;goto _abce ;_gdfa :_faf =26;goto _abce ;_afdg :_faf =52;goto _abce ;_dde :_faf =53;goto _abce ;_bbdc :_faf =54;goto _abce ;_dcdff :_faf =55;goto _abce ;_fgg :_faf =56;goto _abce ;_gcag :_faf =57;goto _abce ;_bfgc :_faf =27;goto _abce ;_eebe :_faf =28;goto _abce ;_bfea :_faf =29;goto _abce ;_cdcb :_faf =30;goto _abce ;_ccb :_faf =31;goto _abce ;_aef :_faf =58;goto _abce ;_cbgg :_faf =32;goto _abce ;_afaf :_faf =59;goto _abce ;_dab :_faf =33;goto _abce ;_debd :_faf =60;goto _abce ;_effg :_faf =61;goto _abce ;_dagf :_faf =62;goto _abce ;_abce :{};if _bdd ==_ebb {switch _faf {case 35:goto _agg ;case 0:goto _ffc ;case 36:goto _abca ;case 37:goto _gbb ;case 1:goto _ffc ;case 2:goto _ffc ;case 38:goto _aag ;case 3:goto _beg ;case 4:goto _beg ;case 39:goto _aag ;case 5:goto _beg ;case 6:goto _beg ;case 7:goto _beg ;case 8:goto _ffc ;case 40:goto _aag ;case 9:goto _beg ;case 41:goto _aag ;case 10:goto _ffc ;case 42:goto _aag ;case 11:goto _beg ;case 43:goto _aag ;case 44:goto _aag ;case 45:goto _aag ;case 12:goto _ecfb ;case 46:goto _adcf ;case 13:goto _egda ;case 14:goto _ffc ;case 15:goto _ffc ;case 16:goto _egda ;case 47:goto _cbb ;case 17:goto _fced ;case 48:goto _dcc ;case 18:goto _fcag ;case 19:goto _fcag ;case 20:goto _ffc ;case 49:goto _agg ;case 50:goto _fcae ;case 21:goto _ffc ;case 22:goto _ffc ;case 23:goto _ffc ;case 24:goto _ffc ;case 25:goto _ffc ;case 51:goto _fcae ;case 26:goto _ebba ;case 52:goto _fcae ;case 53:goto _fcae ;case 54:goto _eeg ;case 55:goto _agg ;case 56:goto _agg ;case 57:goto _agg ;case 27:goto _bce ;case 28:goto _bce ;case 29:goto _bce ;case 30:goto _bce ;case 31:goto _bce ;case 58:goto _agg ;case 32:goto _ffc ;case 59:goto _ffc ;case 33:goto _bce ;case 60:goto _agg ;case 61:goto _cbb ;case 62:goto _agg ;};};};if _badb > 0{copy (_fag [0:],_fag [_badb :]);};};_ =_ebb ;if _faf ==_ecf {_de .Log .Debug ("\u0066o\u0072m\u0061\u0074\u0020\u0070\u0061r\u0073\u0065 \u0065\u0072\u0072\u006f\u0072");};};const _adg int =0;const _fcc int =0;func _cef (_dfg _bf .Time ,_adc string )[]byte {_bgg :=[]byte {};_gaea :=0;for _afb :=0;_afb < len (_adc );_afb ++{var _aged string ;if _adc [_afb ]=='/'{_aged =string (_adc [_gaea :_afb ]);_gaea =_afb +1;}else if _afb ==len (_adc )-1{_aged =string (_adc [_gaea :_afb +1]);}else {continue ;};switch _aged {case "\u0079\u0079":_bgg =_dfg .AppendFormat (_bgg ,"\u0030\u0036");case "\u0079\u0079\u0079\u0079":_bgg =_dfg .AppendFormat (_bgg ,"\u0032\u0030\u0030\u0036");case "\u006d":_bgg =_dfg .AppendFormat (_bgg ,"\u0031");case "\u006d\u006d":_bgg =_dfg .AppendFormat (_bgg ,"\u0030\u0031");case "\u006d\u006d\u006d":_bgg =_dfg .AppendFormat (_bgg ,"\u004a\u0061\u006e");case "\u006d\u006d\u006d\u006d":_bgg =_dfg .AppendFormat (_bgg ,"\u004aa\u006e\u0075\u0061\u0072\u0079");case "\u006d\u006d\u006dm\u006d":switch _dfg .Month (){case _bf .January ,_bf .July ,_bf .June :_bgg =append (_bgg ,'J');case _bf .February :_bgg =append (_bgg ,'M');case _bf .March ,_bf .May :_bgg =append (_bgg ,'M');case _bf .April ,_bf .August :_bgg =append (_bgg ,'A');case _bf .September :_bgg =append (_bgg ,'S');case _bf .October :_bgg =append (_bgg ,'O');case _bf .November :_bgg =append (_bgg ,'N');case _bf .December :_bgg =append (_bgg ,'D');};case "\u0064":_bgg =_dfg .AppendFormat (_bgg ,"\u0032");case "\u0064\u0064":_bgg =_dfg .AppendFormat (_bgg ,"\u0030\u0032");case "\u0064\u0064\u0064":_bgg =_dfg .AppendFormat (_bgg ,"\u004d\u006f\u006e");case "\u0064\u0064\u0064\u0064":_bgg =_dfg .AppendFormat (_bgg ,"\u004d\u006f\u006e\u0064\u0061\u0079");default:_de .Log .Debug ("\u0075\u006e\u0073\u0075\u0070\u0070\u006f\u0072\u0074\u0065\u0064 \u0064\u0061\u0074\u0065\u0020\u0066\u006f\u0072\u006d\u0061t\u0020\u0025\u0073",_aged );};if _adc [_afb ]=='/'{_bgg =append (_bgg ,'/');};};return _bgg ;};const (FmtTypeLiteral FmtType =iota ;FmtTypeDigit ;FmtTypeDigitOpt ;FmtTypeComma ;FmtTypeDecimal ;FmtTypePercent ;FmtTypeDollar ;FmtTypeDigitOptThousands ;FmtTypeUnderscore ;FmtTypeDate ;FmtTypeTime ;FmtTypeFraction ;FmtTypeText ;);func _cfd (_ffb int64 ,_eea Format )[]byte {if !_eea .IsExponential ||len (_eea .Exponent )==0{return nil ;};_bcf :=_g .AppendInt (nil ,_gae (_ffb ),10);_ded :=make ([]byte ,0,len (_bcf )+2);_ded =append (_ded ,'E');if _ffb >=0{_ded =append (_ded ,'+');}else {_ded =append (_ded ,'-');_ffb *=-1;};_cgee :=0;_ca :for _db :=len (_eea .Exponent )-1;_db >=0;_db --{_fef :=len (_bcf )-1-_cgee ;_bea :=_eea .Exponent [_db ];switch _bea .Type {case FmtTypeDigit :if _fef >=0{_ded =append (_ded ,_bcf [_fef ]);_cgee ++;}else {_ded =append (_ded ,'0');};case FmtTypeDigitOpt :if _fef >=0{_ded =append (_ded ,_bcf [_fef ]);_cgee ++;}else {for _gaff :=_db ;_gaff >=0;_gaff --{_bdff :=_eea .Exponent [_gaff ];if _bdff .Type ==FmtTypeLiteral {_ded =append (_ded ,_bdff .Literal );};};break _ca ;};case FmtTypeLiteral :_ded =append (_ded ,_bea .Literal );default:_de .Log .Debug ("\u0075\u006e\u0073\u0075\u0070\u0070\u006f\u0072\u0074\u0065\u0064 \u0074\u0079\u0070\u0065\u0020\u0069\u006e\u0020\u0065\u0078p\u0020\u0025\u0076",_bea );};};if _cgee < len (_bcf ){_ded =append (_ded ,_bcf [len (_bcf )-_cgee -1:_cgee -1]...);};_gf (_ded [2:]);return _ded ;};const _bca int =34;func _gae (_bcc int64 )int64 {if _bcc < 0{return -_bcc ;};return _bcc ;};func _bba (_age float64 )string {_eeac :=_g .FormatFloat (_age ,'E',-1,64);_gga :=_g .FormatFloat (_age ,'E',5,64);if len (_eeac )< len (_gga ){return _g .FormatFloat (_age ,'E',2,64);};return _gga ;};func _eda (_gcc ,_eed float64 ,_cd Format )[]byte {if len (_cd .Whole )==0{return nil ;};_afd :=_bf .Date (1899,12,30,0,0,0,0,_bf .UTC );_ge :=_afd .Add (_bf .Duration (_eed *float64 (24*_bf .Hour )));_ge =_bebg (_ge );_ab :=_g .AppendFloat (nil ,_gcc ,'f',-1,64);_abd :=make ([]byte ,0,len (_ab ));_abc :=0;_fe :=1;_deb :for _gab :=len (_cd .Whole )-1;_gab >=0;_gab --{_dgb :=len (_ab )-1-_abc ;_fca :=_cd .Whole [_gab ];switch _fca .Type {case FmtTypeDigit :if _dgb >=0{_abd =append (_abd ,_ab [_dgb ]);_abc ++;_fe =_gab ;}else {_abd =append (_abd ,'0');};case FmtTypeDigitOpt :if _dgb >=0{_abd =append (_abd ,_ab [_dgb ]);_abc ++;_fe =_gab ;}else {for _bdc :=_gab ;_bdc >=0;_bdc --{_ea :=_cd .Whole [_bdc ];if _ea .Type ==FmtTypeLiteral {_abd =append (_abd ,_ea .Literal );};};break _deb ;};case FmtTypeDollar :for _ddg :=_abc ;_ddg < len (_ab );_ddg ++{_abd =append (_abd ,_ab [len (_ab )-1-_ddg ]);_abc ++;};_abd =append (_abd ,'$');case FmtTypeComma :if !_cd ._a {_abd =append (_abd ,',');};case FmtTypeLiteral :_abd =append (_abd ,_fca .Literal );case FmtTypeDate :_abd =append (_abd ,_gf (_cef (_ge ,_fca .DateTime ))...);case FmtTypeTime :_abd =append (_abd ,_gf (_cde (_ge ,_eed ,_fca .DateTime ))...);default:_de .Log .Debug ("\u0075\u006e\u0073\u0075p\u0070\u006f\u0072\u0074\u0065\u0064\u0020\u0074\u0079\u0070e\u0020i\u006e\u0020\u0077\u0068\u006f\u006c\u0065 \u0025\u0076",_fca );};};_fad :=_gf (_abd );if _abc < len (_ab )&&(_abc !=0||_cd ._cca ){_ebe :=len (_ab )-_abc ;_dc :=make ([]byte ,len (_fad )+_ebe );copy (_dc ,_fad [0:_fe ]);copy (_dc [_fe :],_ab [0:]);copy (_dc [_fe +_ebe :],_fad [_fe :]);_fad =_dc ;};if _cd ._a {_dcg :=_d .Buffer {};_dac :=0;for _ec :=len (_fad )-1;_ec >=0;_ec --{if !(_fad [_ec ]>='0'&&_fad [_ec ]<='9'){_dac ++;}else {break ;};};for _cgf :=0;_cgf < len (_fad );_cgf ++{_ggf :=(len (_fad )-_cgf -_dac );if _ggf %3==0&&_ggf !=0&&_cgf !=0{_dcg .WriteByte (',');};_dcg .WriteByte (_fad [_cgf ]);};_fad =_dcg .Bytes ();};return _fad ;};func _bgfg (_geg []byte )[]byte {_ebc :=len (_geg );_cbe :=false ;_gege :=false ;for _dfd :=len (_geg )-1;_dfd >=0;_dfd --{if _geg [_dfd ]=='0'&&!_gege &&!_cbe {_ebc =_dfd ;}else if _geg [_dfd ]=='.'{_cbe =true ;}else {_gege =true ;};};if _cbe &&_gege {if _geg [_ebc -1]=='.'{_ebc --;};return _geg [0:_ebc ];};return _geg ;};func _fgc (_afa []byte )[]byte {for _dbg :=len (_afa )-1;_dbg > 0;_dbg --{if _afa [_dbg ]=='9'+1{_afa [_dbg ]='0';if _afa [_dbg -1]=='.'{_dbg --;};_afa [_dbg -1]++;};};if _afa [0]=='9'+1{_afa [0]='0';copy (_afa [1:],_afa [0:]);_afa [0]='1';};return _afa ;};func (_eg FmtType )String ()string {if _eg >=FmtType (len (_ga )-1){return _c .Sprintf ("F\u006d\u0074\u0054\u0079\u0070\u0065\u0028\u0025\u0064\u0029",_eg );};return _df [_ga [_eg ]:_ga [_eg +1]];};func _gac (_ffa float64 ,_gfe Format ,_fac bool )string {if _gfe ._bd {return NumberGeneric (_ffa );};_ccad :=make ([]byte ,0,20);_ag :=_f .Signbit (_ffa );_ed :=_f .Abs (_ffa );_gfa :=int64 (0);_fb :=int64 (0);if _gfe .IsExponential {for _ed >=10{_fb ++;_ed /=10;};for _ed < 1{_fb --;_ed *=10;};}else if _gfe ._fa {_ed *=100;}else if _gfe ._gaf {if _gfe ._ba ==0{_bfb :=_f .Pow (10,float64 (_gfe ._fg ));_ac ,_bdf :=1.0,1.0;_ =_ac ;for _ee :=1.0;_ee < _bfb ;_ee ++{_ ,_bg :=_f .Modf (_ed *float64 (_ee ));if _bg < _bdf {_bdf =_bg ;_ac =_ee ;if _bg ==0{break ;};};};_gfe ._ba =int64 (_ac );};_gfa =int64 (_ed *float64 (_gfe ._ba )+0.5);if len (_gfe .Whole )> 0&&_gfa > _gfe ._ba {_gfa =int64 (_ed *float64 (_gfe ._ba ))%_gfe ._ba ;_ed -=float64 (_gfa )/float64 (_gfe ._ba );}else {_ed -=float64 (_gfa )/float64 (_gfe ._ba );if _f .Abs (_ed )< 1{_gdf :=true ;for _ ,_gdc :=range _gfe .Whole {if _gdc .Type ==FmtTypeDigitOpt {continue ;};if _gdc .Type ==FmtTypeLiteral &&_gdc .Literal ==' '{continue ;};_gdf =false ;};if _gdf {_gfe .Whole =nil ;};};};};_cfa :=1;for _ ,_af :=range _gfe .Fractional {if _af .Type ==FmtTypeDigit ||_af .Type ==FmtTypeDigitOpt {_cfa ++;};};_ed +=5*_f .Pow10 (-_cfa );_gg ,_ffg :=_f .Modf (_ed );_ccad =append (_ccad ,_eda (_gg ,_ffa ,_gfe )...);_ccad =append (_ccad ,_fec (_ffg ,_ffa ,_gfe )...);_ccad =append (_ccad ,_cfd (_fb ,_gfe )...);if _gfe ._gaf {_ccad =_g .AppendInt (_ccad ,_gfa ,10);_ccad =append (_ccad ,'/');_ccad =_g .AppendInt (_ccad ,_gfe ._ba ,10);};if !_fac &&_ag {return "\u002d"+string (_ccad );};return string (_ccad );};const _bc =1e11;func _bebg (_ggdf _bf .Time )_bf .Time {_ggdf =_ggdf .UTC ();return _bf .Date (_ggdf .Year (),_ggdf .Month (),_ggdf .Day (),_ggdf .Hour (),_ggdf .Minute (),_ggdf .Second (),_ggdf .Nanosecond (),_bf .Local );};const _fff int =-1;